From 3dd0bf90b3f513e7b236acabe27eabbb9e38763a Mon Sep 17 00:00:00 2001 From: Ling Zhan Date: Fri, 13 Oct 2023 14:44:57 +0800 Subject: [PATCH] change bullet from wasi to wasm (#440) --- emscripten/bullet/bullet.d.ts | 32 +- emscripten/bullet/bullet.debug.asm.js | 123306 ++++++++++++++++++ emscripten/bullet/bullet.debug.wasm.js | 3912 + emscripten/bullet/bullet.debug.wasm.wasm | Bin 0 -> 5730786 bytes emscripten/bullet/bullet.release.asm.js | 37 + emscripten/bullet/bullet.release.wasm.js | 21 + emscripten/bullet/bullet.release.wasm.wasm | Bin 0 -> 468807 bytes 7 files changed, 127304 insertions(+), 4 deletions(-) create mode 100644 emscripten/bullet/bullet.debug.asm.js create mode 100644 emscripten/bullet/bullet.debug.wasm.js create mode 100644 emscripten/bullet/bullet.debug.wasm.wasm create mode 100644 emscripten/bullet/bullet.release.asm.js create mode 100644 emscripten/bullet/bullet.release.wasm.js create mode 100644 emscripten/bullet/bullet.release.wasm.wasm diff --git a/emscripten/bullet/bullet.d.ts b/emscripten/bullet/bullet.d.ts index 01fd1485..a2d0c96e 100644 --- a/emscripten/bullet/bullet.d.ts +++ b/emscripten/bullet/bullet.d.ts @@ -1,11 +1,31 @@ -declare module 'external:emscripten/bullet/bullet.asm.js' { - function factory (env: any, wasmMemory: ArrayBuffer): Bullet.instance; - export default factory; +declare module 'external:emscripten/bullet/bullet.release.asm.js' { + export default Bullet; } +declare module 'external:emscripten/bullet/bullet.release.wasm.js' { + export default Bullet; +} + +// tslint:disable +declare function Bullet (moduleOptions?: any): Promise; + declare namespace Bullet { type ptr = number; interface instance { + HEAP8: Int8Array; + HEAP16: Int16Array; + HEAP32: Int32Array; + HEAPU8: Uint8Array; + HEAPU16: Uint16Array; + HEAPU32: Uint32Array; + HEAPF32: Float32Array; + HEAPF64: Float64Array; + + // class interface + DebugDraw: any; + ControllerHitReport: any; + MotionState: any; + _malloc(bytes: number): ptr; _free(p: ptr): void; _read_f32(p: ptr): void; @@ -34,6 +54,7 @@ declare namespace Bullet { MotionState_getWorldTransform(p: ptr, transform: ptr): void; MotionState_setWorldTransform(p: ptr, transform: ptr): void; ccMotionState_new(id: number, initTrans: ptr): ptr; + ccMotionState_setup(p: ptr, id: number, initTrans: ptr): void; int_array_size(p: ptr): number; int_array_at(p: ptr, index: number): number; @@ -113,7 +134,7 @@ declare namespace Bullet { TerrainShape_new(i: number, j: number, p: ptr, hs: number, min: number, max: number): ptr; TriangleMesh_new(): ptr; - TriangleMesh_addTriangle(p: ptr, v0: ptr, v1: ptr, v2: ptr): void; + TriangleMesh_addTriangle(p: ptr, v0: ptr, v1: ptr, v2: ptr, removeDuplicateVertices: boolean): void; BvhTriangleMeshShape_new(p: ptr, c: boolean, bvh: boolean): ptr; BvhTriangleMeshShape_getOptimizedBvh(p: ptr): ptr; BvhTriangleMeshShape_setOptimizedBvh(p: ptr, p1: ptr, scaleX: number, scaleY: number, scaleZ: number); @@ -144,6 +165,7 @@ declare namespace Bullet { CollisionObject_isKinematicObject(p: ptr): boolean; CollisionObject_isStaticObject(p: ptr): boolean; CollisionObject_isStaticOrKinematicObject(p: ptr): boolean; + CollisionObject_isSleeping(p: ptr): boolean; CollisionObject_getWorldTransform(p: ptr): ptr; CollisionObject_getCollisionFlags(p: ptr): number; CollisionObject_setCollisionFlags(p: ptr, flags: number): void; @@ -180,6 +202,8 @@ declare namespace Bullet { RigidBody_applyTorque(p: ptr, f: ptr): void; RigidBody_applyForce(p: ptr, f: ptr, rp: ptr): void; RigidBody_applyImpulse(p: ptr, f: ptr, rp: ptr): void; + RigidBody_getWorldTransform(p: ptr, transform: ptr): void; + Transform_getRotationAndOrigin(transform: ptr, q: ptr): ptr; // dynamic diff --git a/emscripten/bullet/bullet.debug.asm.js b/emscripten/bullet/bullet.debug.asm.js new file mode 100644 index 00000000..41604fac --- /dev/null +++ b/emscripten/bullet/bullet.debug.asm.js @@ -0,0 +1,123306 @@ + +var Bullet = (() => { + var _scriptDir = typeof document !== 'undefined' && document.currentScript ? document.currentScript.src : undefined; + + return ( +function(Bullet = {}) { + +// include: shell.js +// The Module object: Our interface to the outside world. We import +// and export values on it. There are various ways Module can be used: +// 1. Not defined. We create it here +// 2. A function parameter, function(Module) { ..generated code.. } +// 3. pre-run appended it, var Module = {}; ..generated code.. +// 4. External script tag defines var Module. +// We need to check if Module already exists (e.g. case 3 above). +// Substitution will be replaced with actual code on later stage of the build, +// this way Closure Compiler will not mangle it (e.g. case 4. above). +// Note that if you want to run closure, and also to use Module +// after the generated code, you will need to define var Module = {}; +// before the code. Then that object will be used in the code, and you +// can continue to use Module afterwards as well. +var Module = typeof Bullet != 'undefined' ? Bullet : {}; + +// Set up the promise that indicates the Module is initialized +var readyPromiseResolve, readyPromiseReject; +Module['ready'] = new Promise((resolve, reject) => { + readyPromiseResolve = resolve; + readyPromiseReject = reject; +}); +["_main","__embind_initialize_bindings","_fflush","onRuntimeInitialized"].forEach((prop) => { + if (!Object.getOwnPropertyDescriptor(Module['ready'], prop)) { + Object.defineProperty(Module['ready'], prop, { + get: () => abort('You are getting ' + prop + ' on the Promise object, instead of the instance. Use .then() to get called back with the instance, see the MODULARIZE docs in src/settings.js'), + set: () => abort('You are setting ' + prop + ' on the Promise object, instead of the instance. Use .then() to get called back with the instance, see the MODULARIZE docs in src/settings.js'), + }); + } +}); + +// --pre-jses are emitted after the Module integration code, so that they can +// refer to Module (if they choose; they can also define Module) + + +// Sometimes an existing Module object exists with properties +// meant to overwrite the default module functionality. Here +// we collect those properties and reapply _after_ we configure +// the current environment's defaults to avoid having to be so +// defensive during initialization. +var moduleOverrides = Object.assign({}, Module); + +var arguments_ = []; +var thisProgram = './this.program'; +var quit_ = (status, toThrow) => { + throw toThrow; +}; + +// Determine the runtime environment we are in. You can customize this by +// setting the ENVIRONMENT setting at compile time (see settings.js). + +var ENVIRONMENT_IS_WEB = true; +var ENVIRONMENT_IS_WORKER = false; +var ENVIRONMENT_IS_NODE = false; +var ENVIRONMENT_IS_SHELL = false; + +if (Module['ENVIRONMENT']) { + throw new Error('Module.ENVIRONMENT has been deprecated. To force the environment, use the ENVIRONMENT compile-time option (for example, -sENVIRONMENT=web or -sENVIRONMENT=node)'); +} + +// `/` should be present at the end if `scriptDirectory` is not empty +var scriptDirectory = ''; +function locateFile(path) { + if (Module['locateFile']) { + return Module['locateFile'](path, scriptDirectory); + } + return scriptDirectory + path; +} + +// Hooks that are implemented differently in different runtime environments. +var read_, + readAsync, + readBinary, + setWindowTitle; + +if (ENVIRONMENT_IS_SHELL) { + + if ((typeof process == 'object' && typeof require === 'function') || typeof window == 'object' || typeof importScripts == 'function') throw new Error('not compiled for this environment (did you build to HTML and try to run it not on the web, or set ENVIRONMENT to something - like node - and run it someplace else - like on the web?)'); + + if (typeof read != 'undefined') { + read_ = (f) => { + const data = tryParseAsDataURI(f); + if (data) { + return intArrayToString(data); + } + return read(f); + }; + } + + readBinary = (f) => { + let data; + data = tryParseAsDataURI(f); + if (data) { + return data; + } + if (typeof readbuffer == 'function') { + return new Uint8Array(readbuffer(f)); + } + data = read(f, 'binary'); + assert(typeof data == 'object'); + return data; + }; + + readAsync = (f, onload, onerror) => { + setTimeout(() => onload(readBinary(f)), 0); + }; + + if (typeof clearTimeout == 'undefined') { + globalThis.clearTimeout = (id) => {}; + } + + if (typeof scriptArgs != 'undefined') { + arguments_ = scriptArgs; + } else if (typeof arguments != 'undefined') { + arguments_ = arguments; + } + + if (typeof quit == 'function') { + quit_ = (status, toThrow) => { + // Unlike node which has process.exitCode, d8 has no such mechanism. So we + // have no way to set the exit code and then let the program exit with + // that code when it naturally stops running (say, when all setTimeouts + // have completed). For that reason, we must call `quit` - the only way to + // set the exit code - but quit also halts immediately. To increase + // consistency with node (and the web) we schedule the actual quit call + // using a setTimeout to give the current stack and any exception handlers + // a chance to run. This enables features such as addOnPostRun (which + // expected to be able to run code after main returns). + setTimeout(() => { + if (!(toThrow instanceof ExitStatus)) { + let toLog = toThrow; + if (toThrow && typeof toThrow == 'object' && toThrow.stack) { + toLog = [toThrow, toThrow.stack]; + } + err(`exiting due to exception: ${toLog}`); + } + quit(status); + }); + throw toThrow; + }; + } + + if (typeof print != 'undefined') { + // Prefer to use print/printErr where they exist, as they usually work better. + if (typeof console == 'undefined') console = /** @type{!Console} */({}); + console.log = /** @type{!function(this:Console, ...*): undefined} */ (print); + console.warn = console.error = /** @type{!function(this:Console, ...*): undefined} */ (typeof printErr != 'undefined' ? printErr : print); + } + +} else + +// Note that this includes Node.js workers when relevant (pthreads is enabled). +// Node.js workers are detected as a combination of ENVIRONMENT_IS_WORKER and +// ENVIRONMENT_IS_NODE. +if (ENVIRONMENT_IS_WEB || ENVIRONMENT_IS_WORKER) { + if (ENVIRONMENT_IS_WORKER) { // Check worker, not web, since window could be polyfilled + scriptDirectory = self.location.href; + } else if (typeof document != 'undefined' && document.currentScript) { // web + scriptDirectory = document.currentScript.src; + } + // When MODULARIZE, this JS may be executed later, after document.currentScript + // is gone, so we saved it, and we use it here instead of any other info. + if (_scriptDir) { + scriptDirectory = _scriptDir; + } + // blob urls look like blob:http://site.com/etc/etc and we cannot infer anything from them. + // otherwise, slice off the final part of the url to find the script directory. + // if scriptDirectory does not contain a slash, lastIndexOf will return -1, + // and scriptDirectory will correctly be replaced with an empty string. + // If scriptDirectory contains a query (starting with ?) or a fragment (starting with #), + // they are removed because they could contain a slash. + if (scriptDirectory.indexOf('blob:') !== 0) { + scriptDirectory = scriptDirectory.substr(0, scriptDirectory.replace(/[?#].*/, "").lastIndexOf('/')+1); + } else { + scriptDirectory = ''; + } + + if (!(typeof window == 'object' || typeof importScripts == 'function')) throw new Error('not compiled for this environment (did you build to HTML and try to run it not on the web, or set ENVIRONMENT to something - like node - and run it someplace else - like on the web?)'); + + // Differentiate the Web Worker from the Node Worker case, as reading must + // be done differently. + { +// include: web_or_worker_shell_read.js +read_ = (url) => { + try { + var xhr = new XMLHttpRequest(); + xhr.open('GET', url, false); + xhr.send(null); + return xhr.responseText; + } catch (err) { + var data = tryParseAsDataURI(url); + if (data) { + return intArrayToString(data); + } + throw err; + } + } + + if (ENVIRONMENT_IS_WORKER) { + readBinary = (url) => { + try { + var xhr = new XMLHttpRequest(); + xhr.open('GET', url, false); + xhr.responseType = 'arraybuffer'; + xhr.send(null); + return new Uint8Array(/** @type{!ArrayBuffer} */(xhr.response)); + } catch (err) { + var data = tryParseAsDataURI(url); + if (data) { + return data; + } + throw err; + } + }; + } + + readAsync = (url, onload, onerror) => { + var xhr = new XMLHttpRequest(); + xhr.open('GET', url, true); + xhr.responseType = 'arraybuffer'; + xhr.onload = () => { + if (xhr.status == 200 || (xhr.status == 0 && xhr.response)) { // file URLs can return 0 + onload(xhr.response); + return; + } + var data = tryParseAsDataURI(url); + if (data) { + onload(data.buffer); + return; + } + onerror(); + }; + xhr.onerror = onerror; + xhr.send(null); + } + +// end include: web_or_worker_shell_read.js + } + + setWindowTitle = (title) => document.title = title; +} else +{ + throw new Error('environment detection error'); +} + +var out = Module['print'] || console.log.bind(console); +var err = Module['printErr'] || console.error.bind(console); + +// Merge back in the overrides +Object.assign(Module, moduleOverrides); +// Free the object hierarchy contained in the overrides, this lets the GC +// reclaim data used e.g. in memoryInitializerRequest, which is a large typed array. +moduleOverrides = null; +checkIncomingModuleAPI(); + +// Emit code to handle expected values on the Module object. This applies Module.x +// to the proper local x. This has two benefits: first, we only emit it if it is +// expected to arrive, and second, by using a local everywhere else that can be +// minified. + +if (Module['arguments']) arguments_ = Module['arguments'];legacyModuleProp('arguments', 'arguments_'); + +if (Module['thisProgram']) thisProgram = Module['thisProgram'];legacyModuleProp('thisProgram', 'thisProgram'); + +if (Module['quit']) quit_ = Module['quit'];legacyModuleProp('quit', 'quit_'); + +// perform assertions in shell.js after we set up out() and err(), as otherwise if an assertion fails it cannot print the message +// Assertions on removed incoming Module JS APIs. +assert(typeof Module['memoryInitializerPrefixURL'] == 'undefined', 'Module.memoryInitializerPrefixURL option was removed, use Module.locateFile instead'); +assert(typeof Module['pthreadMainPrefixURL'] == 'undefined', 'Module.pthreadMainPrefixURL option was removed, use Module.locateFile instead'); +assert(typeof Module['cdInitializerPrefixURL'] == 'undefined', 'Module.cdInitializerPrefixURL option was removed, use Module.locateFile instead'); +assert(typeof Module['filePackagePrefixURL'] == 'undefined', 'Module.filePackagePrefixURL option was removed, use Module.locateFile instead'); +assert(typeof Module['read'] == 'undefined', 'Module.read option was removed (modify read_ in JS)'); +assert(typeof Module['readAsync'] == 'undefined', 'Module.readAsync option was removed (modify readAsync in JS)'); +assert(typeof Module['readBinary'] == 'undefined', 'Module.readBinary option was removed (modify readBinary in JS)'); +assert(typeof Module['setWindowTitle'] == 'undefined', 'Module.setWindowTitle option was removed (modify setWindowTitle in JS)'); +assert(typeof Module['TOTAL_MEMORY'] == 'undefined', 'Module.TOTAL_MEMORY has been renamed Module.INITIAL_MEMORY'); +legacyModuleProp('read', 'read_'); +legacyModuleProp('readAsync', 'readAsync'); +legacyModuleProp('readBinary', 'readBinary'); +legacyModuleProp('setWindowTitle', 'setWindowTitle'); +var IDBFS = 'IDBFS is no longer included by default; build with -lidbfs.js'; +var PROXYFS = 'PROXYFS is no longer included by default; build with -lproxyfs.js'; +var WORKERFS = 'WORKERFS is no longer included by default; build with -lworkerfs.js'; +var NODEFS = 'NODEFS is no longer included by default; build with -lnodefs.js'; + +assert(!ENVIRONMENT_IS_WORKER, "worker environment detected but not enabled at build time. Add 'worker' to `-sENVIRONMENT` to enable."); + +assert(!ENVIRONMENT_IS_NODE, "node environment detected but not enabled at build time. Add 'node' to `-sENVIRONMENT` to enable."); + +assert(!ENVIRONMENT_IS_SHELL, "shell environment detected but not enabled at build time. Add 'shell' to `-sENVIRONMENT` to enable."); + + +// end include: shell.js +// include: preamble.js +// === Preamble library stuff === + +// Documentation for the public APIs defined in this file must be updated in: +// site/source/docs/api_reference/preamble.js.rst +// A prebuilt local version of the documentation is available at: +// site/build/text/docs/api_reference/preamble.js.txt +// You can also build docs locally as HTML or other formats in site/ +// An online HTML version (which may be of a different version of Emscripten) +// is up at http://kripken.github.io/emscripten-site/docs/api_reference/preamble.js.html + +var wasmBinary; +if (Module['wasmBinary']) wasmBinary = Module['wasmBinary'];legacyModuleProp('wasmBinary', 'wasmBinary'); +var noExitRuntime = Module['noExitRuntime'] || true;legacyModuleProp('noExitRuntime', 'noExitRuntime'); + +// include: wasm2js.js +// wasm2js.js - enough of a polyfill for the WebAssembly object so that we can load +// wasm2js code that way. + +// Emit "var WebAssembly" if definitely using wasm2js. Otherwise, in MAYBE_WASM2JS +// mode, we can't use a "var" since it would prevent normal wasm from working. +/** @suppress{duplicate, const} */ +var +WebAssembly = { + // Note that we do not use closure quoting (this['buffer'], etc.) on these + // functions, as they are just meant for internal use. In other words, this is + // not a fully general polyfill. + /** @constructor */ + Memory: function(opts) { + this.buffer = new ArrayBuffer(opts['initial'] * 65536); + }, + + Module: function(binary) { + // TODO: use the binary and info somehow - right now the wasm2js output is embedded in + // the main JS + }, + + /** @constructor */ + Instance: function(module, info) { + // TODO: use the module somehow - right now the wasm2js output is embedded in + // the main JS + // This will be replaced by the actual wasm2js code. + this.exports = ( +function instantiate(info) { +function Table(ret) { + // grow method not included; table is not growable + ret.set = function(i, func) { + this[i] = func; + }; + ret.get = function(i) { + return this[i]; + }; + return ret; +} + + var bufferView; + var base64ReverseLookup = new Uint8Array(123/*'z'+1*/); + for (var i = 25; i >= 0; --i) { + base64ReverseLookup[48+i] = 52+i; // '0-9' + base64ReverseLookup[65+i] = i; // 'A-Z' + base64ReverseLookup[97+i] = 26+i; // 'a-z' + } + base64ReverseLookup[43] = 62; // '+' + base64ReverseLookup[47] = 63; // '/' + /** @noinline Inlining this function would mean expanding the base64 string 4x times in the source code, which Closure seems to be happy to do. */ + function base64DecodeToExistingUint8Array(uint8Array, offset, b64) { + var b1, b2, i = 0, j = offset, bLength = b64.length, end = offset + (bLength*3>>2) - (b64[bLength-2] == '=') - (b64[bLength-1] == '='); + for (; i < bLength; i += 4) { + b1 = base64ReverseLookup[b64.charCodeAt(i+1)]; + b2 = base64ReverseLookup[b64.charCodeAt(i+2)]; + uint8Array[j++] = base64ReverseLookup[b64.charCodeAt(i)] << 2 | b1 >> 4; + if (j < end) uint8Array[j++] = b1 << 4 | b2 >> 2; + if (j < end) uint8Array[j++] = b2 << 6 | base64ReverseLookup[b64.charCodeAt(i+3)]; + } + } +function initActiveSegments(imports) { + base64DecodeToExistingUint8Array(bufferView, 65536, "UXVhdF96AFZlYzNfegB2LT5wb2ludC56IDwgdy0+cG9pbnQuegB2MC0+cG9pbnQueiA8IHYxLT5wb2ludC56AGFjdHVhbFRoaXNQcm94eQByZW1vdmVPdmVybGFwcGluZ1BhaXJzQ29udGFpbmluZ1Byb3h5AEVtcHR5AFJpZ2lkQm9keV9zZXRHcmF2aXR5AER5bmFtaWNzV29ybGRfc2V0R3Jhdml0eQBUcmFuc2Zvcm1fc2V0SWRlbnRpdHkAR2VuZXJpYzZEb2ZTcHJpbmcyQ29uc3RyYWludF9zZXRUYXJnZXRWZWxvY2l0eQBIaW5nZUNvbnN0cmFpbnRfc2V0TW90b3JWZWxvY2l0eQBSaWdpZEJvZHlfc2V0QW5ndWxhclZlbG9jaXR5AFJpZ2lkQm9keV9nZXRBbmd1bGFyVmVsb2NpdHkAUmlnaWRCb2R5X3NldExpbmVhclZlbG9jaXR5AFJpZ2lkQm9keV9nZXRMaW5lYXJWZWxvY2l0eQBidEphY29iaWFuRW50cnkAZnJlZU1lbW9yeQBDaGFyYWN0ZXJDb250cm9sbGVyX3NldE92ZXJsYXBSZWNvdmVyeQBIaW5nZUNvbnN0cmFpbnRfc2V0QW5ndWxhck9ubHkAd2Fsa1N0YWNrbGVzc1F1YW50aXplZFRyZWVDYWNoZUZyaWVuZGx5AGJvZHkAZ2V0T3JJbml0U29sdmVyQm9keQB+YnRSaWdpZEJvZHkARHluYW1pY3NXb3JsZF9yZW1vdmVSaWdpZEJvZHkARHluYW1pY3NXb3JsZF9hZGRSaWdpZEJvZHkAVHlwZWRDb25zdHJhaW50X2dldEZpeGVkQm9keQB3YWxrU3RhY2tsZXNzVHJlZUFnYWluc3RSYXkAd2Fsa1N0YWNrbGVzc1F1YW50aXplZFRyZWVBZ2FpbnN0UmF5AFF1YXRfeQBWZWMzX3kAQm94AGdldFZlcnRleAByZW1vdmVWZXJ0ZXgAU2ltcGxleFNoYXBlX2FkZFZlcnRleAByZXBvcnRBYWJiT3ZlcmxhcHBpbmdOb2RleAByZW1vdmVDaGlsZFNoYXBlQnlJbmRleABtX25leHRbcHJldmlvdXNdID09IHBhaXJJbmRleABtX25leHRbcHJldmlvdXNdID09IGxhc3RQYWlySW5kZXgAQ29sbGlzaW9uT2JqZWN0X3NldFVzZXJJbmRleABDb2xsaXNpb25PYmplY3RfZ2V0VXNlckluZGV4AENvbmVTaGFwZV9zZXRDb25lVXBJbmRleABzb3J0QW5kQ2FsY1NwbGl0dGluZ0luZGV4AGdldEVzY2FwZUluZGV4AGdldFRyaWFuZ2xlSW5kZXgAaW50ZXJuYWxQcm9jZXNzVHJpYW5nbGVJbmRleAB3YWxrSXRlcmF0aW9ucyA8IG1fY3VyTm9kZUluZGV4AFF1YXRfeABWZWMzX3gALSsgICAwWDB4AC0wWCswWCAwWC0weCsweCAweABSaWdpZEJvZHlfbmV3AEhpbmdlQ29uc3RyYWludF9uZXcARml4ZWRDb25zdHJhaW50X25ldwBQMlBDb25zdHJhaW50X25ldwBHZW5lcmljNkRvZlNwcmluZzJDb25zdHJhaW50X25ldwBDb2xsaXNpb25PYmplY3RfbmV3AFF1YXRfbmV3AFNlcXVlbnRpYWxJbXB1bHNlQ29uc3RyYWludFNvbHZlcl9uZXcAQm94Q2hhcmFjdGVyQ29udHJvbGxlcl9uZXcAQ2Fwc3VsZUNoYXJhY3RlckNvbnRyb2xsZXJfbmV3AENvbGxpc2lvbkRpc3BhdGNoZXJfbmV3AFRyYW5zZm9ybV9uZXcAY2NNYXRlcmlhbF9uZXcAVHJpYW5nbGVNZXNoX25ldwBEYnZ0QnJvYWRwaGFzZV9uZXcAQm94U2hhcGVfbmV3AFNpbXBsZXhTaGFwZV9uZXcAQ3lsaW5kZXJTaGFwZV9uZXcAVGVycmFpblNoYXBlX25ldwBDb252ZXhUcmlhbmdsZU1lc2hTaGFwZV9uZXcAU2NhbGVkQnZoVHJpYW5nbGVNZXNoU2hhcGVfbmV3AFNwaGVyZVNoYXBlX25ldwBDb25lU2hhcGVfbmV3AFN0YXRpY1BsYW5lU2hhcGVfbmV3AENhcHN1bGVTaGFwZV9uZXcAY2NDb21wb3VuZFNoYXBlX25ldwBjY0Rpc2NyZXRlRHluYW1pY3NXb3JsZF9uZXcAQm94Q2hhcmFjdGVyQ29udHJvbGxlckRlc2NfbmV3AENhcHN1bGVDaGFyYWN0ZXJDb250cm9sbGVyRGVzY19uZXcAVmVjM19uZXcARGVidWdEcmF3AFF1YXRfdwBvblNoYXBlSGl0RXh0AGUtPnRhcmdldC0+cG9pbnQuZG90KG5vcm1hbCkgPT0gZGlzdABDb2xsaXNpb25Xb3JsZF9yYXlUZXN0AENvbGxpc2lvbldvcmxkX2NvbnZleFN3ZWVwVGVzdABwcmVkaWN0aXZlIGNvbnZleFN3ZWVwVGVzdABzb3J0AGNvbnZleEh1bGxTdXBwb3J0AENvbnRyb2xsZXJIaXRSZXBvcnQAdW5zaWduZWQgc2hvcnQAaXNsYW5kVW5pb25GaW5kQW5kUXVpY2tTb3J0AHB0AHNoaWZ0ZWREb3QgPD0gb3JpZ0RvdABQZXJzaXN0ZW50TWFuaWZvbGRfZ2V0Q29udGFjdFBvaW50AHJlbW92ZUNvbnRhY3RQb2ludAByZXBsYWNlQ29udGFjdFBvaW50AGFkZENvbnRhY3RQb2ludABHZW5lcmljNkRvZlNwcmluZzJDb25zdHJhaW50X3NldEVxdWlsaWJyaXVtUG9pbnQAYWRkTWFuaWZvbGRQb2ludABEeW5hbWljc1dvcmxkX3JlbW92ZUNvbnN0cmFpbnQARHluYW1pY3NXb3JsZF9hZGRDb25zdHJhaW50AHVuc2lnbmVkIGludABCb3hDaGFyYWN0ZXJDb250cm9sbGVyX3NldEhhbGZTaWRlRXh0ZW50AEJveENoYXJhY3RlckNvbnRyb2xsZXJfc2V0SGFsZkZvcndhcmRFeHRlbnQAaW1wbGVtZW50AFN0YXRpY1BsYW5lU2hhcGVfc2V0UGxhbmVDb25zdGFudABhZGRTaW5nbGVSZXN1bHQASGluZ2VDb25zdHJhaW50X3NldExpbWl0AEdlbmVyaWM2RG9mU3ByaW5nMkNvbnN0cmFpbnRfc2V0TGltaXQAQ2hhcmFjdGVyQ29udHJvbGxlcl9zZXRTbG9wZUxpbWl0AFJheUNhbGxiYWNrX2hhc0hpdABDb252ZXhDYWxsYmFja19oYXNIaXQAbWluSGVpZ2h0IDw9IG1heEhlaWdodABDYXBzdWxlQ2hhcmFjdGVyQ29udHJvbGxlcl9zZXRIZWlnaHQAQ29uZVNoYXBlX3NldEhlaWdodABCb3hDaGFyYWN0ZXJDb250cm9sbGVyX3NldEhhbGZIZWlnaHQAQ2hhcmFjdGVyQ29udHJvbGxlcl9zZXRDb250YWN0T2Zmc2V0AENoYXJhY3RlckNvbnRyb2xsZXJfc2V0U3RlcE9mZnNldABnZXRJbmZvMkludGVybmFsVXNpbmdGcmFtZU9mZnNldABjY0Nsb3Nlc3RSYXlDYWxsYmFja19yZXNldABjY0FsbFJheUNhbGxiYWNrX3Jlc2V0AGNjQ2xvc2VzdENvbnZleENhbGxiYWNrX3Jlc2V0AGNjQWxsQ29udmV4Q2FsbGJhY2tfcmVzZXQAUXVhdF9zZXQAY2NNYXRlcmlhbF9zZXQAVmVjM19zZXQAZWRnZS0+dGFyZ2V0ICYmIHItPnRhcmdldABwcmV2LT5yZXZlcnNlLT50YXJnZXQgPT0gbmV4dC0+cmV2ZXJzZS0+dGFyZ2V0AHJldmVyc2UtPnRhcmdldCA9PSBuLT5yZXZlcnNlLT50YXJnZXQASGluZ2VDb25zdHJhaW50X3NldE1vdG9yVGFyZ2V0AEdlbmVyaWM2RG9mU3ByaW5nMkNvbnN0cmFpbnRfc2V0U2Vydm9UYXJnZXQAX19kZXN0cnVjdABDaGFyYWN0ZXJDb250cm9sbGVyX2dldEdob3N0T2JqZWN0AH5idEdob3N0T2JqZWN0AG90aGVyT2JqZWN0AGNvbGxpc2lvbk9iamVjdABDb250cm9sbGVyU2hhcGVIaXRfZ2V0SGl0Q29sbGlzaW9uT2JqZWN0AENvbGxpc2lvbldvcmxkX3JlbW92ZUNvbGxpc2lvbk9iamVjdABDb2xsaXNpb25Xb3JsZF9hZGRDb2xsaXNpb25PYmplY3QAQ29sbGlzaW9uT2JqZWN0X2lzU3RhdGljT2JqZWN0AENvbGxpc2lvbk9iamVjdF9pc0tpbmVtYXRpY09iamVjdABDb2xsaXNpb25PYmplY3RfaXNTdGF0aWNPcktpbmVtYXRpY09iamVjdABjYWxjdWxhdGVUaW1lT2ZJbXBhY3QAZmxvYXQAaW50X2FycmF5X2F0AFZlYzNfYXJyYXlfYXQAdWludDY0X3QAY3VycmVudFJvdzx0b3RhbE51bVJvd3MAQ2Fwc3VsZUNoYXJhY3RlckNvbnRyb2xsZXJfc2V0UmFkaXVzAENvbmVTaGFwZV9zZXRSYWRpdXMAQ29sbGlzaW9uT2JqZWN0X3NldENjZFN3ZXB0U3BoZXJlUmFkaXVzAFNwaGVyZVNoYXBlX3NldFVuc2NhbGVkUmFkaXVzAHJlZnJlc2hDb250YWN0UG9pbnRzAGluZGV4IDwgbV9jYWNoZWRQb2ludHMAc29sdmVDb25zdHJhaW50cwBCb3hTaGFwZV9zZXRVbnNjYWxlZEhhbGZFeHRlbnRzAHNldEFuZ3VsYXJMaW1pdHMAUGVyc2lzdGVudE1hbmlmb2xkX2dldE51bUNvbnRhY3RzAGNyZWF0ZVByZWRpY3RpdmVDb250YWN0cwBHZW5lcmljNkRvZlNwcmluZzJDb25zdHJhaW50X3NldFN0aWZmbmVzcwBidENvbXBvdW5kQ29tcG91bmRMZWFmQ2FsbGJhY2s6OlByb2Nlc3MAUmlnaWRCb2R5X3NldE1hc3MAY2NBbGxSYXlDYWxsYmFja19nZXRDb2xsaXNpb25TaGFwZVB0cnMAY2NBbGxDb252ZXhDYWxsYmFja19nZXRDb2xsaXNpb25TaGFwZVB0cnMAZGlzcGF0Y2hBbGxDb2xsaXNpb25QYWlycwBidEhhc2hlZE92ZXJsYXBwaW5nUGFpckNhY2hlOjpwcm9jZXNzQWxsT3ZlcmxhcHBpbmdQYWlycwBjYWxjdWxhdGVPdmVybGFwcGluZ1BhaXJzAHVwZGF0ZVN1YnRyZWVIZWFkZXJzAFJpZ2lkQm9keV9zZXRNYXNzUHJvcHMAQ29udHJvbGxlckhpdF9nZXRIaXRXb3JsZFBvcwB1cGRhdGVBY3Rpb25zAHNvbHZlR3JvdXBDYWNoZUZyaWVuZGx5SXRlcmF0aW9ucwBDb252ZXhJbnRlcm5hbFNoYXBlX2dldEltcGxpY2l0U2hhcGVEaW1lbnNpb25zAGludGVncmF0ZVRyYW5zZm9ybXMAcHJlYWxsb2NhdGVDaGlsZEFsZ29yaXRobXMAVGVzdFNlcEF4aXMAUmlnaWRCb2R5X3NldEZsYWdzAGNjQ2xvc2VzdFJheUNhbGxiYWNrX3NldEZsYWdzAGNjQWxsUmF5Q2FsbGJhY2tfc2V0RmxhZ3MAUmlnaWRCb2R5X2dldEZsYWdzAENvbGxpc2lvbk9iamVjdF9zZXRDb2xsaXNpb25GbGFncwBDb2xsaXNpb25PYmplY3RfZ2V0Q29sbGlzaW9uRmxhZ3MAaW5pdGlhbGl6ZVBvbHloZWRyYWxGZWF0dXJlcwBDb21wb3VuZFNoYXBlX2dldE51bUNoaWxkU2hhcGVzAGNsZWFyTGluZXMAZmx1c2hMaW5lcwBIaW5nZUNvbnN0cmFpbnRfc2V0RnJhbWVzAEZpeGVkQ29uc3RyYWludF9zZXRGcmFtZXMAR2VuZXJpYzZEb2ZTcHJpbmcyQ29uc3RyYWludF9zZXRGcmFtZXMAcHJvY2Vzc0FsbFRyaWFuZ2xlcwBJbnRlcm5hbFByb2Nlc3NBbGxUcmlhbmdsZXMAdjEtPmVkZ2VzLT5uZXh0ID09IHYxLT5lZGdlcwBSaWdpZEJvZHlfY2xlYXJGb3JjZXMAcmVjZWl2ZU5lYXJieUZhY2VzAGZpbmRFZGdlRm9yQ29wbGFuYXJGYWNlcwBwcm9jZXNzSXNsYW5kcwBjYWxjdWxhdGVTaW11bGF0aW9uSXNsYW5kcwBidWlsZElzbGFuZHMAUmlnaWRCb2R5X3NldFNsZWVwaW5nVGhyZXNob2xkcwByZWxlYXNlIHByZWRpY3RpdmUgY29udGFjdCBtYW5pZm9sZHMARGlzcGF0Y2hlcl9nZXROdW1NYW5pZm9sZHMAc3luY1BoeXNpY3NUb0dyYXBoaWNzAHVwZGF0ZUFhYmJzAGNjQ2xvc2VzdFJheUNhbGxiYWNrX2dldENvbGxpc2lvblNoYXBlUHRyAGNjQ2xvc2VzdENvbnZleENhbGxiYWNrX2dldENvbGxpc2lvblNoYXBlUHRyAG1fbWFuaWZvbGRQdHIASGluZ2VDb25zdHJhaW50X2VuYWJsZU1vdG9yAEdlbmVyaWM2RG9mU3ByaW5nMkNvbnN0cmFpbnRfZW5hYmxlTW90b3IAUmlnaWRCb2R5X3NldEFuZ3VsYXJGYWN0b3IAUmlnaWRCb2R5X3NldExpbmVhckZhY3RvcgBEZWJ1Z0RyYXdfc2V0Q29udGFjdFBvaW50Q29sb3IARGVidWdEcmF3X3NldENvbnN0cmFpbnRMaW1pdENvbG9yAERlYnVnRHJhd19zZXRXYW50c0RlYWN0aXZhdGlvbk9iamVjdENvbG9yAERlYnVnRHJhd19zZXREaXNhYmxlZERlYWN0aXZhdGlvbk9iamVjdENvbG9yAERlYnVnRHJhd19zZXREaXNhYmxlZFNpbXVsYXRpb25PYmplY3RDb2xvcgBEZWJ1Z0RyYXdfc2V0RGVhY3RpdmVPYmplY3RDb2xvcgBEZWJ1Z0RyYXdfc2V0QWN0aXZlT2JqZWN0Q29sb3IARGVidWdEcmF3X3NldEFBQkJDb2xvcgBwYWlyAHJlbW92ZU92ZXJsYXBwaW5nUGFpcgBuZXdFZGdlUGFpcgByZW1vdmVFZGdlUGFpcgBmaW5kUGFpcgBpbnRlcm5hbEZpbmRQYWlyAENvbnRyb2xsZXJIaXRfZ2V0SGl0TW90aW9uRGlyAENvbGxpc2lvbldvcmxkX3NldERlYnVnRHJhd2VyAENvbGxpc2lvblNoYXBlX3NldFVzZXJQb2ludGVyAERyYXdXcmFwcGVyAENvbnRyb2xsZXJIaXRSZXBvcnRXcmFwcGVyAE1vdGlvblN0YXRlV3JhcHBlcgBidENvbGxpc2lvbkRpc3BhdGNoZXIAdW5zaWduZWQgY2hhcgBjY01vdGlvblN0YXRlX3NldHVwAHNvbHZlR3JvdXBDYWNoZUZyaWVuZGx5U2V0dXAAc29sdmVHcm91cABDOi9Vc2Vycy9sZWFsei9EZXNrdG9wL3RydW5rL2NvY29zL2J1bGxldC1jb21waWxlL2FtbW8uanMvYnVsbGV0L3NyYy9CdWxsZXRDb2xsaXNpb24vQ29sbGlzaW9uU2hhcGVzL2J0VHJpYW5nbGVJbmRleFZlcnRleEFycmF5LmNwcABDOi9Vc2Vycy9sZWFsei9EZXNrdG9wL3RydW5rL2NvY29zL2J1bGxldC1jb21waWxlL2FtbW8uanMvYnVsbGV0L3NyYy9CdWxsZXRDb2xsaXNpb24vQnJvYWRwaGFzZUNvbGxpc2lvbi9idERidnQuY3BwAEM6L1VzZXJzL2xlYWx6L0Rlc2t0b3AvdHJ1bmsvY29jb3MvYnVsbGV0LWNvbXBpbGUvYW1tby5qcy9idWxsZXQvc3JjL0J1bGxldER5bmFtaWNzL0NvbnN0cmFpbnRTb2x2ZXIvYnRQb2ludDJQb2ludENvbnN0cmFpbnQuY3BwAEM6L1VzZXJzL2xlYWx6L0Rlc2t0b3AvdHJ1bmsvY29jb3MvYnVsbGV0LWNvbXBpbGUvYW1tby5qcy9idWxsZXQvc3JjL0J1bGxldER5bmFtaWNzL0NvbnN0cmFpbnRTb2x2ZXIvYnRIaW5nZUNvbnN0cmFpbnQuY3BwAEM6L1VzZXJzL2xlYWx6L0Rlc2t0b3AvdHJ1bmsvY29jb3MvYnVsbGV0LWNvbXBpbGUvYW1tby5qcy9idWxsZXQvc3JjL0J1bGxldER5bmFtaWNzL0NvbnN0cmFpbnRTb2x2ZXIvYnRHZW5lcmljNkRvZlNwcmluZzJDb25zdHJhaW50LmNwcABDOi9Vc2Vycy9sZWFsei9EZXNrdG9wL3RydW5rL2NvY29zL2J1bGxldC1jb21waWxlL2FtbW8uanMvYnVsbGV0L3NyYy9CdWxsZXRDb2xsaXNpb24vQ29sbGlzaW9uRGlzcGF0Y2gvYnRNYW5pZm9sZFJlc3VsdC5jcHAAQzovVXNlcnMvbGVhbHovRGVza3RvcC90cnVuay9jb2Nvcy9idWxsZXQtY29tcGlsZS9hbW1vLmpzL2J1bGxldC9zcmMvQnVsbGV0Q29sbGlzaW9uL0NvbGxpc2lvbkRpc3BhdGNoL2J0R2hvc3RPYmplY3QuY3BwAEM6L1VzZXJzL2xlYWx6L0Rlc2t0b3AvdHJ1bmsvY29jb3MvYnVsbGV0LWNvbXBpbGUvYW1tby5qcy9idWxsZXQvc3JjL0J1bGxldENvbGxpc2lvbi9Db2xsaXNpb25EaXNwYXRjaC9idEJveEJveERldGVjdG9yLmNwcABDOi9Vc2Vycy9sZWFsei9EZXNrdG9wL3RydW5rL2NvY29zL2J1bGxldC1jb21waWxlL2FtbW8uanMvYnVsbGV0L3NyYy9CdWxsZXRDb2xsaXNpb24vTmFycm93UGhhc2VDb2xsaXNpb24vYnRHamtQYWlyRGV0ZWN0b3IuY3BwAEM6L1VzZXJzL2xlYWx6L0Rlc2t0b3AvdHJ1bmsvY29jb3MvYnVsbGV0LWNvbXBpbGUvYW1tby5qcy9idWxsZXQvc3JjL0J1bGxldENvbGxpc2lvbi9OYXJyb3dQaGFzZUNvbGxpc2lvbi9idFZvcm9ub2lTaW1wbGV4U29sdmVyLmNwcABDOi9Vc2Vycy9sZWFsei9EZXNrdG9wL3RydW5rL2NvY29zL2J1bGxldC1jb21waWxlL2FtbW8uanMvYnVsbGV0L3NyYy9CdWxsZXREeW5hbWljcy9Db25zdHJhaW50U29sdmVyL2J0U2VxdWVudGlhbEltcHVsc2VDb25zdHJhaW50U29sdmVyLmNwcABDOi9Vc2Vycy9sZWFsei9EZXNrdG9wL3RydW5rL2NvY29zL2J1bGxldC1jb21waWxlL2FtbW8uanMvYnVsbGV0L3NyYy9MaW5lYXJNYXRoL2J0Q29udmV4SHVsbENvbXB1dGVyLmNwcABDOi9Vc2Vycy9sZWFsei9EZXNrdG9wL3RydW5rL2NvY29zL2J1bGxldC1jb21waWxlL2FtbW8uanMvYnVsbGV0L3NyYy9CdWxsZXRDb2xsaXNpb24vQ29sbGlzaW9uRGlzcGF0Y2gvYnRDb2xsaXNpb25EaXNwYXRjaGVyLmNwcABDOi9Vc2Vycy9sZWFsei9EZXNrdG9wL3RydW5rL2NvY29zL2J1bGxldC1jb21waWxlL2FtbW8uanMvYnVsbGV0L3NyYy9CdWxsZXRDb2xsaXNpb24vQ29sbGlzaW9uRGlzcGF0Y2gvYnRTaW11bGF0aW9uSXNsYW5kTWFuYWdlci5jcHAAQzovVXNlcnMvbGVhbHovRGVza3RvcC90cnVuay9jb2Nvcy9idWxsZXQtY29tcGlsZS9hbW1vLmpzL2J1bGxldC9zcmMvQnVsbGV0Q29sbGlzaW9uL0NvbGxpc2lvblNoYXBlcy9idENvbnZleFBvbHloZWRyb24uY3BwAEM6L1VzZXJzL2xlYWx6L0Rlc2t0b3AvdHJ1bmsvY29jb3MvYnVsbGV0LWNvbXBpbGUvYW1tby5qcy9idWxsZXQvc3JjL0J1bGxldENvbGxpc2lvbi9Db2xsaXNpb25EaXNwYXRjaC9idENvbnZleENvbnZleEFsZ29yaXRobS5jcHAAQzovVXNlcnMvbGVhbHovRGVza3RvcC90cnVuay9jb2Nvcy9idWxsZXQtY29tcGlsZS9hbW1vLmpzL2J1bGxldC9zcmMvQnVsbGV0Q29sbGlzaW9uL0NvbGxpc2lvbkRpc3BhdGNoL2J0Q29tcG91bmRDb2xsaXNpb25BbGdvcml0aG0uY3BwAEM6L1VzZXJzL2xlYWx6L0Rlc2t0b3AvdHJ1bmsvY29jb3MvYnVsbGV0LWNvbXBpbGUvYW1tby5qcy9idWxsZXQvc3JjL0J1bGxldENvbGxpc2lvbi9Db2xsaXNpb25EaXNwYXRjaC9idENvbXBvdW5kQ29tcG91bmRDb2xsaXNpb25BbGdvcml0aG0uY3BwAEM6L1VzZXJzL2xlYWx6L0Rlc2t0b3AvdHJ1bmsvY29jb3MvYnVsbGV0LWNvbXBpbGUvYW1tby5qcy9idWxsZXQvc3JjL0J1bGxldENvbGxpc2lvbi9Ccm9hZHBoYXNlQ29sbGlzaW9uL2J0UXVhbnRpemVkQnZoLmNwcABDOi9Vc2Vycy9sZWFsei9EZXNrdG9wL3RydW5rL2NvY29zL2J1bGxldC1jb21waWxlL2FtbW8uanMvYnVsbGV0L3NyYy9CdWxsZXRDb2xsaXNpb24vQ29sbGlzaW9uU2hhcGVzL2J0T3B0aW1pemVkQnZoLmNwcABDOi9Vc2Vycy9sZWFsei9EZXNrdG9wL3RydW5rL2NvY29zL2J1bGxldC1jb21waWxlL2FtbW8uanMvYnVsbGV0L3NyYy9CdWxsZXRDb2xsaXNpb24vTmFycm93UGhhc2VDb2xsaXNpb24vYnRQb2x5aGVkcmFsQ29udGFjdENsaXBwaW5nLmNwcABDOi9Vc2Vycy9sZWFsei9EZXNrdG9wL3RydW5rL2NvY29zL2J1bGxldC1jb21waWxlL2FtbW8uanMvYnVsbGV0L3NyYy9CdWxsZXRDb2xsaXNpb24vQnJvYWRwaGFzZUNvbGxpc2lvbi9idERidnRCcm9hZHBoYXNlLmNwcABDOi9Vc2Vycy9sZWFsei9EZXNrdG9wL3RydW5rL2NvY29zL2J1bGxldC1jb21waWxlL2FtbW8uanMvYnVsbGV0L3NyYy9CdWxsZXRDb2xsaXNpb24vQ29sbGlzaW9uU2hhcGVzL2J0RW1wdHlTaGFwZS5jcHAAQzovVXNlcnMvbGVhbHovRGVza3RvcC90cnVuay9jb2Nvcy9idWxsZXQtY29tcGlsZS9hbW1vLmpzL2J1bGxldC9zcmMvQnVsbGV0Q29sbGlzaW9uL0NvbGxpc2lvblNoYXBlcy9idENvbnZleFNoYXBlLmNwcABDOi9Vc2Vycy9sZWFsei9EZXNrdG9wL3RydW5rL2NvY29zL2J1bGxldC1jb21waWxlL2FtbW8uanMvYnVsbGV0L3NyYy9CdWxsZXRDb2xsaXNpb24vQ29sbGlzaW9uU2hhcGVzL2J0UG9seWhlZHJhbENvbnZleFNoYXBlLmNwcABDOi9Vc2Vycy9sZWFsei9EZXNrdG9wL3RydW5rL2NvY29zL2J1bGxldC1jb21waWxlL2FtbW8uanMvYnVsbGV0L3NyYy9CdWxsZXRDb2xsaXNpb24vQ29sbGlzaW9uU2hhcGVzL2J0SGVpZ2h0ZmllbGRUZXJyYWluU2hhcGUuY3BwAEM6L1VzZXJzL2xlYWx6L0Rlc2t0b3AvdHJ1bmsvY29jb3MvYnVsbGV0LWNvbXBpbGUvYW1tby5qcy9idWxsZXQvc3JjL0J1bGxldENvbGxpc2lvbi9Db2xsaXNpb25TaGFwZXMvYnRDb252ZXhUcmlhbmdsZU1lc2hTaGFwZS5jcHAAQzovVXNlcnMvbGVhbHovRGVza3RvcC90cnVuay9jb2Nvcy9idWxsZXQtY29tcGlsZS9hbW1vLmpzL2J1bGxldC9zcmMvQnVsbGV0Q29sbGlzaW9uL0NvbGxpc2lvblNoYXBlcy9idFRyaWFuZ2xlTWVzaFNoYXBlLmNwcABDOi9Vc2Vycy9sZWFsei9EZXNrdG9wL3RydW5rL2NvY29zL2J1bGxldC1jb21waWxlL2FtbW8uanMvYnVsbGV0L3NyYy9CdWxsZXRDb2xsaXNpb24vQ29sbGlzaW9uU2hhcGVzL2J0QnZoVHJpYW5nbGVNZXNoU2hhcGUuY3BwAEM6L1VzZXJzL2xlYWx6L0Rlc2t0b3AvdHJ1bmsvY29jb3MvYnVsbGV0LWNvbXBpbGUvYW1tby5qcy9idWxsZXQvc3JjL0J1bGxldENvbGxpc2lvbi9Db2xsaXNpb25TaGFwZXMvYnRDb25lU2hhcGUuY3BwAEM6L1VzZXJzL2xlYWx6L0Rlc2t0b3AvdHJ1bmsvY29jb3MvYnVsbGV0LWNvbXBpbGUvYW1tby5qcy9idWxsZXQvc3JjL0J1bGxldENvbGxpc2lvbi9Db2xsaXNpb25TaGFwZXMvYnRDb21wb3VuZFNoYXBlLmNwcABDOi9Vc2Vycy9sZWFsei9EZXNrdG9wL3RydW5rL2NvY29zL2J1bGxldC1jb21waWxlL2FtbW8uanMvYnVsbGV0L3NyYy9CdWxsZXRDb2xsaXNpb24vQnJvYWRwaGFzZUNvbGxpc2lvbi9idE92ZXJsYXBwaW5nUGFpckNhY2hlLmNwcABDOi9Vc2Vycy9sZWFsei9EZXNrdG9wL3RydW5rL2NvY29zL2J1bGxldC1jb21waWxlL2FtbW8uanMvYnVsbGV0L3NyYy9CdWxsZXRDb2xsaXNpb24vQ29sbGlzaW9uRGlzcGF0Y2gvYnRIYXNoZWRTaW1wbGVQYWlyQ2FjaGUuY3BwAEM6L1VzZXJzL2xlYWx6L0Rlc2t0b3AvdHJ1bmsvY29jb3MvYnVsbGV0LWNvbXBpbGUvYW1tby5qcy9idWxsZXQvc3JjL0J1bGxldENvbGxpc2lvbi9Db2xsaXNpb25TaGFwZXMvYnRTdHJpZGluZ01lc2hJbnRlcmZhY2UuY3BwAEM6L1VzZXJzL2xlYWx6L0Rlc2t0b3AvdHJ1bmsvY29jb3MvYnVsbGV0LWNvbXBpbGUvYW1tby5qcy9idWxsZXQvc3JjL0J1bGxldER5bmFtaWNzL0R5bmFtaWNzL2J0RGlzY3JldGVEeW5hbWljc1dvcmxkLmNwcABDOi9Vc2Vycy9sZWFsei9EZXNrdG9wL3RydW5rL2NvY29zL2J1bGxldC1jb21waWxlL2FtbW8uanMvYnVsbGV0L3NyYy9CdWxsZXRDb2xsaXNpb24vQ29sbGlzaW9uRGlzcGF0Y2gvYnRDb2xsaXNpb25Xb3JsZC5jcHAAQzovVXNlcnMvbGVhbHovRGVza3RvcC90cnVuay9jb2Nvcy9idWxsZXQtY29tcGlsZS9hbW1vLmpzL2J1bGxldC9zcmMvQnVsbGV0Q29sbGlzaW9uL05hcnJvd1BoYXNlQ29sbGlzaW9uL2J0UGVyc2lzdGVudE1hbmlmb2xkLmNwcABDeWxpbmRlclNoYXBlX3VwZGF0ZVByb3AAQ2Fwc3VsZVNoYXBlX3VwZGF0ZVByb3AAZi0+Y29weSAhPSBzdGFtcABxdWFudGl6ZVdpdGhDbGFtcABjY0Rpc2NyZXRlRHluYW1pY3NXb3JsZF9zZXRBbGxvd1NsZWVwAEdlbmVyaWM2RG9mU3ByaW5nMkNvbnN0cmFpbnRfc2V0U2Vydm8AZnJvbSAmJiB0bwBjb2xBbGdvAHNvbHZlckluZm8AY2FsY3VsYXRlQW5nbGVJbmZvAGFwcGx5IHNwZWN1bGF0aXZlIGNvbnRhY3QgcmVzdGl0dXRpb24AcHJlZGljdFVuY29uc3RyYWludE1vdGlvbgBDaGFyYWN0ZXJDb250cm9sbGVyX2dldFBvc2l0aW9uAG5vdGlmeU9uRGVzdHJ1Y3Rpb24AcGVyZm9ybURpc2NyZXRlQ29sbGlzaW9uRGV0ZWN0aW9uAGdldFByZWZlcnJlZFBlbmV0cmF0aW9uRGlyZWN0aW9uAG1lcmdlUHJvamVjdGlvbgByYXlSZXN1bHQubV9oaXRGcmFjdGlvbiA8PSBtX2Nsb3Nlc3RIaXRGcmFjdGlvbgBjb252ZXhSZXN1bHQubV9oaXRGcmFjdGlvbiA8PSBtX2Nsb3Nlc3RIaXRGcmFjdGlvbgBEeW5hbWljc1dvcmxkX3JlbW92ZUFjdGlvbgBEeW5hbWljc1dvcmxkX2FkZEFjdGlvbgAhbV91c2VRdWFudGl6YXRpb24AZ2V0UGxhbmVFcXVhdGlvbgBUcmFuc2Zvcm1fc2V0Um90YXRpb24AVHJhbnNmb3JtX2dldFJvdGF0aW9uAGdldE9yaWVudGF0aW9uAE92ZXJmbG93IGluIEFBQkIsIG9iamVjdCByZW1vdmVkIGZyb20gc2ltdWxhdGlvbgBEeW5hbWljc1dvcmxkX3N0ZXBTaW11bGF0aW9uAGludGVybmFsU2luZ2xlU3RlcFNpbXVsYXRpb24AQ2hhcmFjdGVyQ29udHJvbGxlcl9zZXRDb2xsaXNpb24AYnRDb252ZXhDb25jYXZlQ29sbGlzaW9uQWxnb3JpdGhtOjpwcm9jZXNzQ29sbGlzaW9uAG5lZWRzQ29sbGlzaW9uAGxvY2FsR2V0U3VwcG9ydGluZ1ZlcnRleFdpdGhvdXRNYXJnaW4AQ29sbGlzaW9uU2hhcGVfc2V0TWFyZ2luAFRyYW5zZm9ybV9nZXRPcmlnaW4AVHJhbnNmb3JtX2dldFJvdGF0aW9uQW5kT3JpZ2luAG5hbgBNb3Rpb25TdGF0ZV9zZXRXb3JsZFRyYW5zZm9ybQBSaWdpZEJvZHlfZ2V0V29ybGRUcmFuc2Zvcm0AQ29sbGlzaW9uT2JqZWN0X2dldFdvcmxkVHJhbnNmb3JtAE1vdGlvblN0YXRlX2dldFdvcmxkVHJhbnNmb3JtAENvbXBvdW5kU2hhcGVfdXBkYXRlQ2hpbGRUcmFuc2Zvcm0AIXBhaXIubV9hbGdvcml0aG0AYnRDb21wb3VuZENvbGxpc2lvbkFsZ29yaXRobQBidENvbXBvdW5kQ29tcG91bmRDb2xsaXNpb25BbGdvcml0aG0Ac2V0UGFyYW0AZ2V0UGFyYW0AYm9vbABwZXJmb3JtRGVmZXJyZWRSZW1vdmFsAGVtc2NyaXB0ZW46OnZhbABnZXRDbG9zZXN0UG9pbnRzTm9uVmlydHVhbABsb2NhbEdldFN1cHBvcnRWZXJ0ZXhXaXRob3V0TWFyZ2luTm9uVmlydHVhbABnZXRJbmZvMk5vblZpcnR1YWwARGlzcGF0Y2hlcl9nZXRNYW5pZm9sZEJ5SW5kZXhJbnRlcm5hbAByZW1vdmVPdmVybGFwcGluZ09iamVjdEludGVybmFsAGFkZE92ZXJsYXBwaW5nT2JqZWN0SW50ZXJuYWwAY29tcHV0ZUludGVybmFsAGdldEluZm8ySW50ZXJuYWwAU3RhdGljUGxhbmVTaGFwZV9nZXRQbGFuZU5vcm1hbABDb250cm9sbGVySGl0X2dldEhpdFdvcmxkTm9ybWFsAENvbGxpc2lvbk9iamVjdF9zZXRNYXRlcmlhbABDb2xsaXNpb25TaGFwZV9zZXRNYXRlcmlhbAAhdW5iYWwAc2hyaW5rAGxpbmsAQ29sbGlzaW9uT2JqZWN0X3NldElnbm9yZUNvbGxpc2lvbkNoZWNrAHBvcF9iYWNrAGNvbE9iai0+Z2V0V29ybGRBcnJheUluZGV4KCkgPT0gaQAhbV9idmgAIW1fb3duc0J2aABCdmhUcmlhbmdsZU1lc2hTaGFwZV9zZXRPcHRpbWl6ZWRCdmgAQnZoVHJpYW5nbGVNZXNoU2hhcGVfZ2V0T3B0aW1pemVkQnZoAENvbnRyb2xsZXJIaXRfZ2V0SGl0TW90aW9uTGVuZ3RoAHk8bV9oZWlnaHRTdGlja0xlbmd0aAB4PG1faGVpZ2h0U3RpY2tXaWR0aABzb2x2ZUdyb3VwQ2FjaGVGcmllbmRseUZpbmlzaABDb252ZXhUcmltZXNoAEM6L1VzZXJzL2xlYWx6L0Rlc2t0b3AvdHJ1bmsvY29jb3MvYnVsbGV0LWNvbXBpbGUvYW1tby5qcy9idWxsZXQvc3JjL0J1bGxldER5bmFtaWNzL0NvbnN0cmFpbnRTb2x2ZXIvYnRKYWNvYmlhbkVudHJ5LmgAQzovVXNlcnMvbGVhbHovRGVza3RvcC90cnVuay9jb2Nvcy9idWxsZXQtY29tcGlsZS9hbW1vLmpzL2J1bGxldC9zcmNcQnVsbGV0RHluYW1pY3MvRHluYW1pY3MvYnRSaWdpZEJvZHkuaABDOi9Vc2Vycy9sZWFsei9EZXNrdG9wL3RydW5rL2NvY29zL2J1bGxldC1jb21waWxlL2FtbW8uanMvYnVsbGV0L3NyY1xMaW5lYXJNYXRoL2J0QWxpZ25lZE9iamVjdEFycmF5LmgAQzovVXNlcnMvbGVhbHovRGVza3RvcC90cnVuay9jb2Nvcy9idWxsZXQtY29tcGlsZS9hbW1vLmpzL2J1bGxldC9zcmMvTGluZWFyTWF0aC9idEFsaWduZWRPYmplY3RBcnJheS5oAEM6L1VzZXJzL2xlYWx6L0Rlc2t0b3AvdHJ1bmsvY29jb3MvYnVsbGV0LWNvbXBpbGUvYW1tby5qcy9idWxsZXQvc3JjXEJ1bGxldENvbGxpc2lvbi9Db2xsaXNpb25EaXNwYXRjaC9idE1hbmlmb2xkUmVzdWx0LmgAQzovVXNlcnMvbGVhbHovRGVza3RvcC90cnVuay9jb2Nvcy9idWxsZXQtY29tcGlsZS9hbW1vLmpzL2J1bGxldC9zcmNcQnVsbGV0Q29sbGlzaW9uL0NvbGxpc2lvbkRpc3BhdGNoL2J0R2hvc3RPYmplY3QuaABDOi9Vc2Vycy9sZWFsei9EZXNrdG9wL3RydW5rL2NvY29zL2J1bGxldC1jb21waWxlL2FtbW8uanMvYnVsbGV0L3NyY1xMaW5lYXJNYXRoL2J0UG9vbEFsbG9jYXRvci5oAEM6L1VzZXJzL2xlYWx6L0Rlc2t0b3AvdHJ1bmsvY29jb3MvYnVsbGV0LWNvbXBpbGUvYW1tby5qcy9idWxsZXQvc3JjXExpbmVhck1hdGgvYnRRdWF0ZXJuaW9uLmgAQzovVXNlcnMvbGVhbHovRGVza3RvcC90cnVuay9jb2Nvcy9idWxsZXQtY29tcGlsZS9hbW1vLmpzL2J1bGxldC9zcmMvQnVsbGV0Q29sbGlzaW9uL0Jyb2FkcGhhc2VDb2xsaXNpb24vYnRRdWFudGl6ZWRCdmguaABDOi9Vc2Vycy9sZWFsei9EZXNrdG9wL3RydW5rL2NvY29zL2J1bGxldC1jb21waWxlL2FtbW8uanMvYnVsbGV0L3NyYy9CdWxsZXRDb2xsaXNpb24vQ29sbGlzaW9uU2hhcGVzL2J0Qm94U2hhcGUuaABDOi9Vc2Vycy9sZWFsei9EZXNrdG9wL3RydW5rL2NvY29zL2J1bGxldC1jb21waWxlL2FtbW8uanMvYnVsbGV0L3NyYy9CdWxsZXRDb2xsaXNpb24vQ29sbGlzaW9uU2hhcGVzL2J0UG9seWhlZHJhbENvbnZleFNoYXBlLmgAQzovVXNlcnMvbGVhbHovRGVza3RvcC90cnVuay9jb2Nvcy9idWxsZXQtY29tcGlsZS9hbW1vLmpzL2J1bGxldC9zcmMvQnVsbGV0Q29sbGlzaW9uL0NvbGxpc2lvblNoYXBlcy9idENvbnZleEludGVybmFsU2hhcGUuaABDOi9Vc2Vycy9sZWFsei9EZXNrdG9wL3RydW5rL2NvY29zL2J1bGxldC1jb21waWxlL2FtbW8uanMvYnVsbGV0L3NyY1xCdWxsZXRDb2xsaXNpb24vQ29sbGlzaW9uU2hhcGVzL2J0VHJpYW5nbGVNZXNoU2hhcGUuaABDOi9Vc2Vycy9sZWFsei9EZXNrdG9wL3RydW5rL2NvY29zL2J1bGxldC1jb21waWxlL2FtbW8uanMvYnVsbGV0L3NyY1xCdWxsZXRDb2xsaXNpb24vQ29sbGlzaW9uU2hhcGVzL2J0VHJpYW5nbGVTaGFwZS5oAEM6L1VzZXJzL2xlYWx6L0Rlc2t0b3AvdHJ1bmsvY29jb3MvYnVsbGV0LWNvbXBpbGUvYW1tby5qcy9idWxsZXQvc3JjL0J1bGxldENvbGxpc2lvbi9Ccm9hZHBoYXNlQ29sbGlzaW9uL2J0T3ZlcmxhcHBpbmdQYWlyQ2FjaGUuaABDOi9Vc2Vycy9sZWFsei9EZXNrdG9wL3RydW5rL2NvY29zL2J1bGxldC1jb21waWxlL2FtbW8uanMvYnVsbGV0L3NyYy9CdWxsZXRDb2xsaXNpb24vQ29sbGlzaW9uRGlzcGF0Y2gvYnRIYXNoZWRTaW1wbGVQYWlyQ2FjaGUuaABDOi9Vc2Vycy9sZWFsei9EZXNrdG9wL3RydW5rL2NvY29zL2J1bGxldC1jb21waWxlL2FtbW8uanMvYnVsbGV0L3NyYy9CdWxsZXRDb2xsaXNpb24vQ29sbGlzaW9uRGlzcGF0Y2gvYnRDb2xsaXNpb25Xb3JsZC5oAEM6L1VzZXJzL2xlYWx6L0Rlc2t0b3AvdHJ1bmsvY29jb3MvYnVsbGV0LWNvbXBpbGUvYW1tby5qcy9idWxsZXQvc3JjXEJ1bGxldENvbGxpc2lvbi9OYXJyb3dQaGFzZUNvbGxpc2lvbi9idFBlcnNpc3RlbnRNYW5pZm9sZC5oAEM6L1VzZXJzL2xlYWx6L0Rlc2t0b3AvdHJ1bmsvY29jb3MvYnVsbGV0LWNvbXBpbGUvYW1tby5qcy9idWxsZXQvc3JjL0J1bGxldENvbGxpc2lvbi9OYXJyb3dQaGFzZUNvbGxpc2lvbi9idFBlcnNpc3RlbnRNYW5pZm9sZC5oAEM6L1VzZXJzL2xlYWx6L0Rlc2t0b3AvdHJ1bmsvY29jb3MvYnVsbGV0LWNvbXBpbGUvYW1tby5qcy9idWxsZXQvc3JjXExpbmVhck1hdGgvYnRNYXRyaXgzeDMuaABDOi9Vc2Vycy9sZWFsei9EZXNrdG9wL3RydW5rL2NvY29zL2J1bGxldC1jb21waWxlL2FtbW8uanMvYnVsbGV0L3NyY1xMaW5lYXJNYXRoL2J0VmVjdG9yMy5oAEM6L1VzZXJzL2xlYWx6L0Rlc2t0b3AvdHJ1bmsvY29jb3MvYnVsbGV0LWNvbXBpbGUvYW1tby5qcy9idWxsZXQvc3JjXExpbmVhck1hdGgvYnRBYWJiVXRpbDIuaAB1bnNpZ25lZCBsb25nAHN0ZDo6d3N0cmluZwBiYXNpY19zdHJpbmcAc3RkOjpzdHJpbmcAc3RkOjp1MTZzdHJpbmcAc3RkOjp1MzJzdHJpbmcAR2VuZXJpYzZEb2ZTcHJpbmcyQ29uc3RyYWludF9lbmFibGVTcHJpbmcAQ0NEIG1vdGlvbiBjbGFtcGluZwBSaWdpZEJvZHlfc2V0RGFtcGluZwBHZW5lcmljNkRvZlNwcmluZzJDb25zdHJhaW50X3NldERhbXBpbmcAUmlnaWRCb2R5X3dhbnRzU2xlZXBpbmcAQ29sbGlzaW9uT2JqZWN0X2lzU2xlZXBpbmcAQ29sbGlzaW9uU2hhcGVfc2V0TG9jYWxTY2FsaW5nAGluZgBkMT49MC4wZgBkMD49MC4wZgBxdWFudGl6ZQBpbnRfYXJyYXlfc2l6ZQBub3JtYWxpemUAaW5pdGlhbGl6ZQBzZXJpYWxpemUAVHlwZWRDb25zdHJhaW50X3NldERiZ0RyYXdTaXplAFR5cGVkQ29uc3RyYWludF9nZXREYmdEcmF3U2l6ZQAhc2l6ZSB8fCBzaXplPD1tX2VsZW1TaXplACh1bnNpZ25lZCBjaGFyKilwdHIgPj0gbV9wb29sICYmICh1bnNpZ25lZCBjaGFyKilwdHIgPCBtX3Bvb2wgKyBtX21heEVsZW1lbnRzICogbV9lbGVtU2l6ZQB3YWxrSXRlcmF0aW9ucyA8IHN1YlRyZWVTaXplAENoYXJhY3RlckNvbnRyb2xsZXJfbW92ZQBDb2xsaXNpb25PYmplY3RfaXNBY3RpdmUAUmlnaWRCb2R5X2FwcGx5VG9ycXVlAGdldFJhd0hlaWdodEZpZWxkVmFsdWUAIW1fdXNlU29sdmVDb25zdHJhaW50T2Jzb2xldGUAX3NhZmVfZGVsZXRlAENvbGxpc2lvbk9iamVjdF9hY3RpdmF0ZQBSaWdpZEJvZHlfY2xlYXJTdGF0ZQBSaWdpZEJvZHlfZ2V0TW90aW9uU3RhdGUAc3luY2hyb25pemVTaW5nbGVNb3Rpb25TdGF0ZQBDb2xsaXNpb25PYmplY3RfZ2V0QWN0aXZhdGlvblN0YXRlAHVwZGF0ZUFjdGl2YXRpb25TdGF0ZQBDb2xsaXNpb25PYmplY3RfZm9yY2VBY3RpdmF0aW9uU3RhdGUAYWxsb2NhdGUAaW52ZXJzZQBlICE9IGludGVyc2VjdGlvbi0+cmV2ZXJzZQBSaWdpZEJvZHlfYXBwbHlJbXB1bHNlAEhpbmdlQ29uc3RyYWludF9zZXRNYXhNb3RvckltcHVsc2UAZmFsc2UAZ2V0TG9ja2VkVmVydGV4SW5kZXhCYXNlAENvbnRyb2xsZXJTaGFwZUhpdF9nZXRIaXRTaGFwZQBDb2xsaXNpb25PYmplY3Rfc2V0Q29sbGlzaW9uU2hhcGUAQ29sbGlzaW9uT2JqZWN0X2dldENvbGxpc2lvblNoYXBlAENoYXJhY3RlckNvbnRyb2xsZXJfZ2V0Q29sbGlzaW9uU2hhcGUAQ2Fwc3VsZVNoYXBlAGJ0Q29tcG91bmRTaGFwZQBDb21wb3VuZFNoYXBlX2dldENoaWxkU2hhcGUAUHJvY2Vzc0NoaWxkU2hhcGUAQ29tcG91bmRTaGFwZV9yZW1vdmVDaGlsZFNoYXBlAENvbXBvdW5kU2hhcGVfYWRkQ2hpbGRTaGFwZQBDb25lAG9uRGVidWdEcmF3TGluZQBnZXRQbGFuZQBidENvbnZleFRyaWFuZ2xlQ2FsbGJhY2s6OnByb2Nlc3NUcmlhbmdsZQBUcmlhbmdsZU1lc2hfYWRkVHJpYW5nbGUAZmluZE1heEFuZ2xlAGRvdWJsZQBtZXJnZQBnZXRFZGdlAF9mcmVlAHdhbGtTdGFja2xlc3NUcmVlAGJ1aWxkVHJlZQB3YWxrU3RhY2tsZXNzUXVhbnRpemVkVHJlZQBtZW09PW1fZHluYW1pY0FhYmJUcmVlAHByb2Nlc3NOb2RlAERlYnVnRHJhd19zZXREZWJ1Z01vZGUARGVidWdEcmF3X2dldERlYnVnTW9kZQBpc0luc2lkZQBSaWdpZEJvZHlfYXBwbHlGb3JjZQBHZW5lcmljNkRvZlNwcmluZzJDb25zdHJhaW50X3NldE1heE1vdG9yRm9yY2UAR2VuZXJpYzZEb2ZTcHJpbmcyQ29uc3RyYWludF9zZXRCb3VuY2UAc2hpZnRGYWNlAENvbGxpc2lvblNoYXBlX2lzQ29tcG91bmQAY29udmV4U3dlZXBDb21wb3VuZABleHRlbmQAQ29sbGlzaW9uV29ybGRfZGVidWdEcmF3V29ybGQAY2NDbG9zZXN0UmF5Q2FsbGJhY2tfZ2V0SGl0UG9pbnRXb3JsZABjY0FsbFJheUNhbGxiYWNrX2dldEhpdFBvaW50V29ybGQAY2NDbG9zZXN0Q29udmV4Q2FsbGJhY2tfZ2V0SGl0UG9pbnRXb3JsZABjY0FsbENvbnZleENhbGxiYWNrX2dldEhpdFBvaW50V29ybGQAY2NDbG9zZXN0UmF5Q2FsbGJhY2tfZ2V0SGl0Tm9ybWFsV29ybGQAY2NBbGxSYXlDYWxsYmFja19nZXRIaXROb3JtYWxXb3JsZABjY0Nsb3Nlc3RDb252ZXhDYWxsYmFja19nZXRIaXROb3JtYWxXb3JsZABjY0FsbENvbnZleENhbGxiYWNrX2dldEhpdE5vcm1hbFdvcmxkAENvbGxpc2lvbk9iamVjdF9zZXRDY2RNb3Rpb25UaHJlc2hvbGQAQ29sbGlzaW9uT2JqZWN0X3NldENvbnRhY3RQcm9jZXNzaW5nVGhyZXNob2xkAFJpZ2lkQm9keV9nZXRMaW5lYXJTbGVlcGluZ1RocmVzaG9sZABUeXBlZENvbnN0cmFpbnRfc2V0TWF4SW1wdWxzZVRocmVzaG9sZABnZXROZXdNYW5pZm9sZAByZWxlYXNlTWFuaWZvbGQAdm9pZABtX2lzTG9jYWxBYWJiVmFsaWQAZ2V0UGFydElkAGYtPm5lYXJieVZlcnRleCA9PSBzcmMAX21hbGxvYwBEZWZhdWx0Q29sbGlzaW9uQ29uZmlndXJhdGlvbl9zdGF0aWMAY2NDbG9zZXN0UmF5Q2FsbGJhY2tfc3RhdGljAGNjQWxsUmF5Q2FsbGJhY2tfc3RhdGljAGNjQ2xvc2VzdENvbnZleENhbGxiYWNrX3N0YXRpYwBjY0FsbENvbnZleENhbGxiYWNrX3N0YXRpYwBFbXB0eVNoYXBlX3N0YXRpYwB3YWxrUmVjdXJzaXZlUXVhbnRpemVkVHJlZUFnYWluc3RRdWVyeUFhYmIAQ29sbGlzaW9uU2hhcGVfZ2V0QWFiYgBidFRyYW5zZm9ybUFhYmIAZ2V0Tm9udmlydHVhbEFhYmIAYnRJbnRJbmRleERhdGEAYnRNZXNoUGFydERhdGEAYnRHZW5lcmljNkRvZlNwcmluZzJDb25zdHJhaW50RGF0YQBidFNob3J0SW50SW5kZXhUcmlwbGV0RGF0YQBidENoYXJJbmRleFRyaXBsZXREYXRhAGJ0UmlnaWRCb2R5RmxvYXREYXRhAGJ0UG9pbnQyUG9pbnRDb25zdHJhaW50RmxvYXREYXRhAGJ0SGluZ2VDb25zdHJhaW50RmxvYXREYXRhAGJ0VHlwZWRDb25zdHJhaW50RmxvYXREYXRhAGJ0Q29sbGlzaW9uT2JqZWN0RmxvYXREYXRhAGJ0UXVhbnRpemVkQnZoRmxvYXREYXRhAGJ0RHluYW1pY3NXb3JsZEZsb2F0RGF0YQBidFZlY3RvcjNGbG9hdERhdGEAYnRCdmhTdWJ0cmVlSW5mb0RhdGEAYnRDeWxpbmRlclNoYXBlRGF0YQBidENvbGxpc2lvblNoYXBlRGF0YQBidENvbnZleEludGVybmFsU2hhcGVEYXRhAGJ0VHJpYW5nbGVNZXNoU2hhcGVEYXRhAGJ0U2NhbGVkVHJpYW5nbGVNZXNoU2hhcGVEYXRhAGJ0Q29uZVNoYXBlRGF0YQBidFN0YXRpY1BsYW5lU2hhcGVEYXRhAGJ0Q2Fwc3VsZVNoYXBlRGF0YQBidENvbXBvdW5kU2hhcGVEYXRhAGJ0VmVjdG9yM0RvdWJsZURhdGEAYnRRdWFudGl6ZWRCdmhOb2RlRGF0YQBidE9wdGltaXplZEJ2aE5vZGVEYXRhAGJ0U3RyaWRpbmdNZXNoSW50ZXJmYWNlRGF0YQBidENvbXBvdW5kU2hhcGVDaGlsZERhdGEAaGVpZ2h0ZmllbGREYXRhAENvbGxpc2lvblNoYXBlX2NhbGN1bGF0ZUxvY2FsSW5lcnRpYQBjb2xsaXNpb25PYmplY3QgPT0gbV9jb2xsaXNpb25PYmplY3RzW2lPYmpdAG1fZG91YmxlRGlzcGF0Y2hDb250YWN0UG9pbnRzW2ldW2pdAG49PXAtPmNoaWxkc1tpXQBvcGVyYXRvcltdAEN5bGluZGVyWQBpbmRpY2VzdHlwZT09UEhZX0lOVEVHRVJ8fGluZGljZXN0eXBlPT1QSFlfU0hPUlQAaGR0ICE9IFBIWV9VQ0hBUiB8fCBoZHQgIT0gUEhZX0ZMT0FUIHx8IGhkdCAhPSBQSFlfU0hPUlQAU0VOU09SAGluZGV4ICE9IEJUX05VTExfUEFJUgBpbmRleCAhPSBCVF9TSU1QTEVfTlVMTF9QQUlSAGluZGljZXN0eXBlPT1QSFlfSU5URUdFUnx8aW5kaWNlc3R5cGU9PVBIWV9TSE9SVHx8aW5kaWNlc3R5cGU9PVBIWV9VQ0hBUgBVUABtX2ZsYWdzICYgQlRfUDJQX0ZMQUdTX0VSUABtX2ZsYWdzICYgQlRfSElOR0VfRkxBR1NfRVJQX1NUT1AAbV9mbGFncyAmIEJUX0hJTkdFX0ZMQUdTX0NGTV9TVE9QAERPV04AZnN1bSA+IFNJTURfRVBTSUxPTgBOQU4AbV9mbGFncyAmIEJUX0hJTkdFX0ZMQUdTX0VSUF9OT1JNAG1fZmxhZ3MgJiBCVF9ISU5HRV9GTEFHU19DRk1fTk9STQBtX2ZsYWdzICYgQlRfUDJQX0ZMQUdTX0NGTQBTQ0FMRURCVkhUUklBTkdMRU1FU0gASU5GAFNQSEVSRQBTVEFUSUNQTEFORQBTSURFAEhFSUdIVEZJRUxEAFAyUENvbnN0cmFpbnRfc2V0UGl2b3RCAE1hbmlmb2xkUG9pbnRfZ2V0X21fbG9jYWxQb2ludEIATWFuaWZvbGRQb2ludF9nZXRfbV9wb3NpdGlvbldvcmxkT25CAE1hbmlmb2xkUG9pbnRfZ2V0X21fbm9ybWFsV29ybGRPbkIAUDJQQ29uc3RyYWludF9zZXRQaXZvdEEATWFuaWZvbGRQb2ludF9nZXRfbV9sb2NhbFBvaW50QQBNYW5pZm9sZFBvaW50X2dldF9tX3Bvc2l0aW9uV29ybGRPbkEAZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8c2hvcnQ+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PHVuc2lnbmVkIHNob3J0PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzxpbnQ+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PHVuc2lnbmVkIGludD4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8ZmxvYXQ+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PHVpbnQ4X3Q+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PGludDhfdD4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8dWludDE2X3Q+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PGludDE2X3Q+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PHVpbnQ2NF90PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzxpbnQ2NF90PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzx1aW50MzJfdD4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8aW50MzJfdD4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8Y2hhcj4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8dW5zaWduZWQgY2hhcj4Ac3RkOjpiYXNpY19zdHJpbmc8dW5zaWduZWQgY2hhcj4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8c2lnbmVkIGNoYXI+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PGxvbmc+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PHVuc2lnbmVkIGxvbmc+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PGRvdWJsZT4Ab3BlcmF0b3IvPQBidEJVX1NpbXBsZXgxdG80AHVwQXhpcyA+PSAwICYmIHVwQXhpcyA8IDMAY3VsbFBvaW50czIAcGFpci0+bV9wUHJveHkxLT5nZXRVaWQoKSA9PSBwcm94eUlkMgBfd3JpdGVfZjMyAF9yZWFkX2YzMgBib2R5MQBQZXJzaXN0ZW50TWFuaWZvbGRfZ2V0Qm9keTEATWFuaWZvbGRQb2ludF9nZXRfbV9pbmRleDEATWFuaWZvbGRQb2ludF9nZXRTaGFwZTEAcGFpci0+bV9wUHJveHkwLT5nZXRVaWQoKSA9PSBwcm94eUlkMQBjb2xsaXNpb25PYmplY3QtPmdldFdvcmxkQXJyYXlJbmRleCgpID09IC0xAGhlaWdodFN0aWNrTGVuZ3RoID4gMQBoZWlnaHRTdGlja1dpZHRoID4gMQBib2R5MABQZXJzaXN0ZW50TWFuaWZvbGRfZ2V0Qm9keTAATWFuaWZvbGRQb2ludF9nZXRfbV9pbmRleDAAKmlyZXQgIT0gaTAATWFuaWZvbGRQb2ludF9nZXRTaGFwZTAAbV9udW1WZXJ0aWNlcz4wAG51bUluZGljZXM+MABtX3NpemU+MAB5Pj0wAGluZGV4Pj0wAHRyaWFuZ2xlSW5kZXg+PTAAbj49MABjaGlsZEluZGV4MT49MABjaGlsZEluZGV4MD49MABlZHB0ci0+bV9mYWNlMD49MABtX3BvaW50Q2FjaGVbaW5zZXJ0SW5kZXhdLm1fdXNlclBlcnNpc3RlbnREYXRhPT0wAG1fcG9pbnRDYWNoZVtsYXN0VXNlZEluZGV4XS5tX3VzZXJQZXJzaXN0ZW50RGF0YT09MABtX3JlbW92ZVBhaXJzLnNpemUoKT09MABtX2NvbnN0cmFpbnRSZWZzLnNpemUoKT09MABlZHB0ci0+bV9mYWNlMTwwAHN0YWNrLnNpemUoKSA+IDAAcHRJbmRleCA+PSAwAHZvbCA+PSAwAGxpZmVUaW1lID49IDAAZG90IDw9IDAAZG90LmNvbXBhcmUob3JpZ0RvdCkgPD0gMABkb3QgIT0gMABkZXQuZ2V0U2lnbigpICE9IDAALgAhc3RhcnQxIHx8IChzdGFydDEtPnRhcmdldC0+cG9pbnQuZG90KG5vcm1hbCkgPT0gZGlzdCkAdmFsaWRDb250YWN0RGlzdGFuY2UobmV3UG9pbnQpAGluZm8yLnJvd3NraXAqc2l6ZW9mKGJ0U2NhbGFyKT09IHNpemVvZihidFNvbHZlckNvbnN0cmFpbnQpAChudWxsKQAoZ2Z4aW5kZXh0eXBlID09IFBIWV9JTlRFR0VSKSB8fCAoZ2Z4aW5kZXh0eXBlID09IFBIWV9TSE9SVCkAcGFydElkIDwgKDE8PE1BWF9OVU1fUEFSVFNfSU5fQklUUykAbm9ybWFsT25CLmxlbmd0aDIoKT49KFNJTURfRVBTSUxPTipTSU1EX0VQU0lMT04pACh0eXBlID09IFBIWV9GTE9BVCkgfHwgKHR5cGUgPT0gUEhZX0RPVUJMRSkAKGluZGV4ID49IDApICYmIChpbmRleCA8IDYpAChjb2xPYmowLT5nZXRJc2xhbmRUYWcoKSA9PSBpc2xhbmRJZCkgfHwgKGNvbE9iajAtPmdldElzbGFuZFRhZygpID09IC0xKQBzID4gYnRTY2FsYXIoMC4wKQBtX0FkaWFnID4gYnRTY2FsYXIoMC4wKQBkZXQgIT0gYnRTY2FsYXIoMC4wKQBzICE9IGJ0U2NhbGFyKDAuMCkAZCAhPSBidFNjYWxhcigwLjApAGNjdyA/ICh0LmRvdChzKSA8IDApIDogKHQuZG90KHMpID4gMCkAKGUxID09IHN0YXJ0MSkgJiYgKGQxLmRvdChub3JtYWwpIDwgMCkAKGUwID09IHN0YXJ0MCkgJiYgKGQwLmRvdChub3JtYWwpIDwgMCkAdHJpYW5nbGVJbmRleCA8ICgxPDwoMzEtTUFYX05VTV9QQVJUU19JTl9CSVRTKSkAbV9mbGFncyAmIChCVF82RE9GX0ZMQUdTX0VSUF9TVE9QMiA8PCAoYXhpcyAqIDQpKQBtX2ZsYWdzICYgKEJUXzZET0ZfRkxBR1NfQ0ZNX1NUT1AyIDw8IChheGlzICogNCkpAG1fZmxhZ3MgJiAoQlRfNkRPRl9GTEFHU19FUlBfTU9UTzIgPDwgKGF4aXMgKiA0KSkAbV9mbGFncyAmIChCVF82RE9GX0ZMQUdTX0NGTV9NT1RPMiA8PCAoYXhpcyAqIDQpKQBzdWJwYXJ0PCBnZXROdW1TdWJQYXJ0cygpAGluZGV4PGNvbXBvdW5kU2hhcGUtPmdldE51bUNoaWxkU2hhcGVzKCkAY2hpbGRJbmRleDE8Y29tcG91bmRTaGFwZTEtPmdldE51bUNoaWxkU2hhcGVzKCkAY2hpbGRJbmRleDA8Y29tcG91bmRTaGFwZTAtPmdldE51bUNoaWxkU2hhcGVzKCkAIWZ1enp5WmVybygpACF0LmlzWmVybygpACFwZXJwLmlzWmVybygpACFtLmlzWmVybygpAG4tPmlzaW50ZXJuYWwoKQBuPHNpemUoKQBpbmRleCA8IG1fb3ZlcmxhcHBpbmdQYWlyQXJyYXkuc2l6ZSgpAHBhaXJJbmRleCA8IG1fb3ZlcmxhcHBpbmdQYWlyQXJyYXkuc2l6ZSgpAG1fY29sbGlzaW9uT2JqZWN0cy5maW5kTGluZWFyU2VhcmNoKGNvbGxpc2lvbk9iamVjdCkgPT0gbV9jb2xsaXNpb25PYmplY3RzLnNpemUoKQAhbV9vdmVybGFwcGluZ09iamVjdHMuc2l6ZSgpAG1fc3VidHJlZUhlYWRlckNvdW50ID09IG1fU3VidHJlZUhlYWRlcnMuc2l6ZSgpAGZpbmRJbmRleCA8IG1fbWFuaWZvbGRzUHRyLnNpemUoKQBjaGlsZFNoYXBlSW5kZXggPj0wICYmIGNoaWxkU2hhcGVJbmRleCA8IG1fY2hpbGRyZW4uc2l6ZSgpAHNvbHZlckJvZHlJZEEgPCBtX3RtcFNvbHZlckJvZHlQb29sLnNpemUoKQAhaXNMZWFmTm9kZSgpAGNvbE9ialdyYXAtPmdldENvbGxpc2lvblNoYXBlKCktPmlzQ29tcG91bmQoKQBjb2wxT2JqV3JhcC0+Z2V0Q29sbGlzaW9uU2hhcGUoKS0+aXNDb21wb3VuZCgpAGNvbDBPYmpXcmFwLT5nZXRDb2xsaXNpb25TaGFwZSgpLT5pc0NvbXBvdW5kKCkAbG9jYWxBYWJiTWluLmdldFooKSA8PSBsb2NhbEFhYmJNYXguZ2V0WigpAHBvaW50LmdldFooKSA8PSBtX2J2aEFhYmJNYXguZ2V0WigpAHBvaW50LmdldFooKSA+PSBtX2J2aEFhYmJNaW4uZ2V0WigpAGxvY2FsQWFiYk1pbi5nZXRZKCkgPD0gbG9jYWxBYWJiTWF4LmdldFkoKQBwb2ludC5nZXRZKCkgPD0gbV9idmhBYWJiTWF4LmdldFkoKQBwb2ludC5nZXRZKCkgPj0gbV9idmhBYWJiTWluLmdldFkoKQBsb2NhbEFhYmJNaW4uZ2V0WCgpIDw9IGxvY2FsQWFiYk1heC5nZXRYKCkAcG9pbnQuZ2V0WCgpIDw9IG1fYnZoQWFiYk1heC5nZXRYKCkAcG9pbnQuZ2V0WCgpID49IG1fYnZoQWFiYk1pbi5nZXRYKCkAJmNvbnN0cmFpbnQtPmdldFJpZ2lkQm9keUEoKSE9JmNvbnN0cmFpbnQtPmdldFJpZ2lkQm9keUIoKQAhIkJhZCBtX2hlaWdodERhdGFUeXBlIgBQdXJlIHZpcnR1YWwgZnVuY3Rpb24gY2FsbGVkIQBsaWJjKythYmk6IABJZiB5b3UgY2FuIHJlcHJvZHVjZSB0aGlzLCBwbGVhc2UgZW1haWwgYnVnc0Bjb250aW51b3VzcGh5c2ljcy5jb20KAHNlcEF4aXM9KCVmLCVmLCVmKSwgc3F1YXJlZERpc3RhbmNlID0gJWYsIHNoYXBlVHlwZUE9JWksc2hhcGVUeXBlQj0laQoAYnRHamtQYWlyRGV0ZWN0b3IgbWF4SXRlciBleGNlZWRlZDolaQoAVGhhbmtzLgoAUGxlYXNlIGluY2x1ZGUgYWJvdmUgaW5mb3JtYXRpb24sIHlvdXIgUGxhdGZvcm0sIHZlcnNpb24gb2YgT1MuCgB3YXJuaW5nIGJ0Q29sbGlzaW9uRGlzcGF0Y2hlcjo6bmVlZHNDb2xsaXNpb246IHN0YXRpYy1zdGF0aWMgY29sbGlzaW9uIQoATjJjYzI2Y2NDbG9zZXN0UmF5UmVzdWx0Q2FsbGJhY2tFAE4xNmJ0Q29sbGlzaW9uV29ybGQyNENsb3Nlc3RSYXlSZXN1bHRDYWxsYmFja0UATjE2YnRDb2xsaXNpb25Xb3JsZDE3UmF5UmVzdWx0Q2FsbGJhY2tFAE4yY2MyNmNjQWxsSGl0c1JheVJlc3VsdENhbGxiYWNrRQBOMTZidENvbGxpc2lvbldvcmxkMjRBbGxIaXRzUmF5UmVzdWx0Q2FsbGJhY2tFAE4yY2MyOWNjQ2xvc2VzdENvbnZleFJlc3VsdENhbGxiYWNrRQBOMTZidENvbGxpc2lvbldvcmxkMjdDbG9zZXN0Q29udmV4UmVzdWx0Q2FsbGJhY2tFAE4xNmJ0Q29sbGlzaW9uV29ybGQyMENvbnZleFJlc3VsdENhbGxiYWNrRQBOMmNjMjljY0FsbEhpdHNDb252ZXhSZXN1bHRDYWxsYmFja0UATjE2YnRDb2xsaXNpb25Xb3JsZDI3QWxsSGl0c0NvbnZleFJlc3VsdENhbGxiYWNrRQBOMmNjMTVjY0NvbXBvdW5kU2hhcGVFADEzYnRNb3Rpb25TdGF0ZQAxMWJ0RGVidWdEcmF3ADEyYnRJRGVidWdEcmF3AFAxMWJ0RGVidWdEcmF3AFBLMTFidERlYnVnRHJhdwBpaQB2AHZpAFAxMmJ0SURlYnVnRHJhdwB2aWkAdmlpaWlpADE4YnREZWJ1Z0RyYXdXcmFwcGVyAE4xMGVtc2NyaXB0ZW43d3JhcHBlckkxMWJ0RGVidWdEcmF3RUUATjEwZW1zY3JpcHRlbjhpbnRlcm5hbDExV3JhcHBlckJhc2VFAFAxOGJ0RGVidWdEcmF3V3JhcHBlcgBQSzE4YnREZWJ1Z0RyYXdXcmFwcGVyAE4xMGVtc2NyaXB0ZW4zdmFsRQBpaWkATlN0M19fMjEyYmFzaWNfc3RyaW5nSWNOU18xMWNoYXJfdHJhaXRzSWNFRU5TXzlhbGxvY2F0b3JJY0VFRUUAaWlpaQAyMWJ0Q29udHJvbGxlckhpdFJlcG9ydAAyNWJ0VXNlckNvbnRyb2xsZXJIaXRSZXBvcnQAUDIxYnRDb250cm9sbGVySGl0UmVwb3J0AFBLMjFidENvbnRyb2xsZXJIaXRSZXBvcnQAdmlpaWkAMjhidENvbnRyb2xsZXJIaXRSZXBvcnRXcmFwcGVyAE4xMGVtc2NyaXB0ZW43d3JhcHBlckkyMWJ0Q29udHJvbGxlckhpdFJlcG9ydEVFAFAyOGJ0Q29udHJvbGxlckhpdFJlcG9ydFdyYXBwZXIAUEsyOGJ0Q29udHJvbGxlckhpdFJlcG9ydFdyYXBwZXIATjJjYzEzY2NNb3Rpb25TdGF0ZUUAUE4yY2MxM2NjTW90aW9uU3RhdGVFAFBLTjJjYzEzY2NNb3Rpb25TdGF0ZUUAdmlpaQAyMGNjTW90aW9uU3RhdGVXcmFwcGVyAE4xMGVtc2NyaXB0ZW43d3JhcHBlcklOMmNjMTNjY01vdGlvblN0YXRlRUVFAFAyMGNj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IAIAACECAAAiAgAAIwIAACQCAAAlAgAAJgIAACcCAAAxNmJ0Q29sbGlzaW9uV29ybGQAABytAQAUZgEAAAAAAGxmAQAoAgAAKQIAACoCAAArAgAALAIAAE4xMmJ0Q29udmV4Q2FzdDEwQ2FzdFJlc3VsdEUAAAAAHK0BAExmAQAAAAAAIGcBAC0CAAAuAgAALwIAADACAABaTjE2YnRDb2xsaXNpb25Xb3JsZDIxcmF5VGVzdFNpbmdsZUludGVybmFsRVJLMTFidFRyYW5zZm9ybVMyX1BLMjRidENvbGxpc2lvbk9iamVjdFdyYXBwZXJSTlNfMTdSYXlSZXN1bHRDYWxsYmFja0VFMjlCcmlkZ2VUcmlhbmdsZVJheWNhc3RDYWxsYmFjawAARK0BAIxmAQD0jQEAAAAAANBnAQAxAgAAMgIAANUBAAAzAgAA0AEAANEBAADSAQAAWk4xNmJ0Q29sbGlzaW9uV29ybGQyMXJheVRlc3RTaW5nbGVJbnRlcm5hbEVSSzExYnRUcmFuc2Zvcm1TMl9QSzI0YnRDb2xsaXNpb25PYmplY3RXcmFwcGVyUk5TXzE3UmF5UmVzdWx0Q2FsbGJhY2tFRTlSYXlUZXN0ZXIAAABErQEAUGcBAOhgAQAAAAAAfGgBADQCAAA1AgAANgIAADcCAABaTjE2YnRDb2xsaXNpb25Xb3JsZDIxcmF5VGVzdFNpbmdsZUludGVybmFsRVJLMTFidFRyYW5zZm9ybVMyX1BLMjRidENvbGxpc2lvbk9iamVjdFdyYXBwZXJSTlNfMTdSYXlSZXN1bHRDYWxsYmFja0VFMTVMb2NhbEluZm9BZGRlcjIAAAAARK0BAPRnAQBIrgEAAAAAAMBoAQA4AgAAOQIAAFABAAAzMGJ0Q29udmV4UGVuZXRyYXRpb25EZXB0aFNvbHZlcgAAAAAcrQEAnGgBAAAAAACQaQEAOgIAADsCAAA8AgAAPQIAAFpOMTZidENvbGxpc2lvbldvcmxkMjVvYmplY3RRdWVyeVNpbmdsZUludGVybmFsRVBLMTNidENvbnZleFNoYXBlUksxMWJ0VHJhbnNmb3JtUzVfUEsyNGJ0Q29sbGlzaW9uT2JqZWN0V3JhcHBlclJOU18yMENvbnZleFJlc3VsdENhbGxiYWNrRWZFMzJCcmlkZ2VUcmlhbmdsZUNvbnZleGNhc3RDYWxsYmFjawAARK0BAOBoAQAgjgEAAAAAAGhqAQA+AgAAPwIAADwCAABAAgAAWk4xNmJ0Q29sbGlzaW9uV29ybGQyNW9iamVjdFF1ZXJ5U2luZ2xlSW50ZXJuYWxFUEsxM2J0Q29udmV4U2hhcGVSSzExYnRUcmFuc2Zvcm1TNV9QSzI0YnRDb2xsaXNpb25PYmplY3RXcmFwcGVyUk5TXzIwQ29udmV4UmVzdWx0Q2FsbGJhY2tFZkUzMkJyaWRnZVRyaWFuZ2xlQ29udmV4Y2FzdENhbGxiYWNrXzAAAAAARK0BALRpAQAgjgEAAAAAAEBrAQBBAgAAQgIAANUBAABDAgAA0AEAANEBAADSAQAAWk4xNmJ0Q29sbGlzaW9uV29ybGQyNW9iamVjdFF1ZXJ5U2luZ2xlSW50ZXJuYWxFUEsxM2J0Q29udmV4U2hhcGVSSzExYnRUcmFuc2Zvcm1TNV9QSzI0YnRDb2xsaXNpb25PYmplY3RXcmFwcGVyUk5TXzIwQ29udmV4UmVzdWx0Q2FsbGJhY2tFZkUyMmJ0Q29tcG91bmRMZWFmQ2FsbGJhY2sAAAAARK0BAJhqAQDoYAEAAAAAAERsAQBEAgAARQIAAEYCAABHAgAAWlpOMTZidENvbGxpc2lvbldvcmxkMjVvYmplY3RRdWVyeVNpbmdsZUludGVybmFsRVBLMTNidENvbnZleFNoYXBlUksxMWJ0VHJhbnNmb3JtUzVfUEsyNGJ0Q29sbGlzaW9uT2JqZWN0V3JhcHBlclJOU18yMENvbnZleFJlc3VsdENhbGxiYWNrRWZFTjIyYnRDb21wb3VuZExlYWZDYWxsYmFjazEyUHJvY2Vzc0NoaWxkRWlTNV9QSzE2YnRDb2xsaXNpb25TaGFwZUUxNExvY2FsSW5mb0FkZGVyAABErQEAZGsBAPiuAQAAAAAAxGwBAEgCAABJAgAASgIAADE5YnRTaW5nbGVSYXlDYWxsYmFjawAyM2J0QnJvYWRwaGFzZVJheUNhbGxiYWNrADI0YnRCcm9hZHBoYXNlQWFiYkNhbGxiYWNrAAAcrQEAlGwBAEStAQB6bAEAsGwBAEStAQBkbAEAuGwBAAAAAAC4bAEASwIAAEwCAABQAQAAAAAAALBsAQBNAgAATgIAAFABAAAAAAAA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tQIAADI2YnRCb3hCb3hDb2xsaXNpb25BbGdvcml0aG0AAAAARK0BAAh0AQAIbgEAAAAAAHR0AQC2AgAAtwIAALgCAAC5AgAAugIAADMxYnRDb252ZXhQbGFuZUNvbGxpc2lvbkFsZ29yaXRobQAAAEStAQBQdAEAAG4BAAAAAADodAEAuwIAALwCAAC9AgAAvgIAAL8CAADAAgAAMzFidERlZmF1bHRDb2xsaXNpb25Db25maWd1cmF0aW9uADI0YnRDb2xsaXNpb25Db25maWd1cmF0aW9uAAAAABytAQDCdAEARK0BAKB0AQDgdAEAAAAAAOB0AQDBAgAAwgIAAFABAABQAQAAUAEAAFABAAAAAAAAhHUBAMMCAADEAgAAxQIAAE4zM2J0Q29udmV4Q29uY2F2ZUNvbGxpc2lvbkFsZ29yaXRobTEwQ3JlYXRlRnVuY0UAMzBidENvbGxpc2lvbkFsZ29yaXRobUNyZWF0ZUZ1bmMAABytAQBadQEARK0BACh1AQB8dQEAAAAAAHx1AQDGAgAAxwIAAMgCAAAAAAAA9HUBAMkCAADKAgAAywIAAE4zM2J0Q29udmV4Q29uY2F2ZUNvbGxpc2lvbkFsZ29yaXRobTE3U3dhcHBlZENyZWF0ZUZ1bmNFAAAAAEStAQC4dQEAfHUBAAAAAABEdgEAzAIAAM0CAADOAgAATjI4YnRDb21wb3VuZENvbGxpc2lvbkFsZ29yaXRobTEwQ3JlYXRlRnVuY0UAAAAARK0BABR2AQB8dQEAAAAAAJx2AQDPAgAA0AIAANECAABOMzZidENvbXBvdW5kQ29tcG91bmRDb2xsaXNpb25BbGdvcml0aG0xMENyZWF0ZUZ1bmNFAAAAAEStAQBkdgEAfHUBAAAAAADwdgEA0gIAANMCAADUAgAATjI4YnRDb21wb3VuZENvbGxpc2lvbkFsZ29yaXRobTE3U3dhcHBlZENyZWF0ZUZ1bmNFAEStAQC8dgEAfHUBAAAAAAA0dwEA1QIAANYCAADXAgAATjE2YnRFbXB0eUFsZ29yaXRobTEwQ3JlYXRlRnVuY0UAAAAARK0BABB3AQB8dQEAAAAAAIh3AQDYAgAA2QIAANoCAABOMzJidFNwaGVyZVNwaGVyZUNvbGxpc2lvbkFsZ29yaXRobTEwQ3JlYXRlRnVuY0UAAAAA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MjhidENhcHN1bGVDaGFyYWN0ZXJDb250cm9sbGVyAABErQEALJcBACCXAQAyNGJ0Qm94Q2hhcmFjdGVyQ29udHJvbGxlcgAARK0BAFiXAQAglwEAAAAAAMiXAQC8BAAAvQQAAF4BAAC+BAAANDNidEtpbmVtYXRpY0Nsb3Nlc3ROb3RNZUNvbnZleFJlc3VsdENhbGxiYWNrAAAARK0BAJiXAQAArwEAAAAAABiXAQC/BAAAwAQAAFABAABQAQAATlN0M19fMjEyYmFzaWNfc3RyaW5nSWhOU18xMWNoYXJfdHJhaXRzSWhFRU5TXzlhbGxvY2F0b3JJaEVFRUUAABytAQDslwEATlN0M19fMjEyYmFzaWNfc3RyaW5nSXdOU18xMWNoYXJfdHJhaXRzSXdFRU5TXzlhbGxvY2F0b3JJd0VFRUUAABytAQA0mAEATlN0M19fMjEyYmFzaWNfc3RyaW5nSURzTlNfMTFjaGFyX3RyYWl0c0lEc0VFTlNfOWFsbG9jYXRvcklEc0VFRUUAAAAcrQEAfJgBAE5TdDNfXzIxMmJhc2ljX3N0cmluZ0lEaU5TXzExY2hhcl90cmFpdHNJRGlFRU5TXzlhbGxvY2F0b3JJRGlFRUVFAAAAHK0BAMiYAQBOMTBlbXNjcmlwdGVuMTFtZW1vcnlfdmlld0ljRUUAABytAQAUmQEATjEwZW1zY3JpcHRlbjExbWVtb3J5X3ZpZXdJYUVFAAAcrQEAPJkBAE4xMGVtc2NyaXB0ZW4xMW1lbW9yeV92aWV3SWhFRQAAHK0BAGSZAQBOMTBlbXNjcmlwdGVuMTFtZW1vcnlfdmlld0lzRUUAABytAQCMmQEATjEwZW1zY3JpcHRlbjExbWVtb3J5X3ZpZXdJdEVFAAAcrQEAtJkBAE4xMGVtc2NyaXB0ZW4xMW1lbW9yeV92aWV3SWlFRQAAHK0BANyZAQBOMTBlbXNjcmlwdGVuMTFtZW1vcnlfdmlld0lqRUUAABytAQAEmgEATjEwZW1zY3JpcHRlbjExbWVtb3J5X3ZpZXdJbEVFAAAcrQEALJoBAE4xMGVtc2NyaXB0ZW4xMW1lbW9yeV92aWV3SW1FRQAAHK0BAFSaAQBOMTBlbXNjcmlwdGVuMTFtZW1vcnlfdmlld0l4RUUAABytAQB8mgEATjEwZW1zY3JpcHRl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"); + base64DecodeToExistingUint8Array(bufferView, 110128, "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"); + base64DecodeToExistingUint8Array(bufferView, 113168, "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"); +} + + var scratchBuffer = new ArrayBuffer(16); + var i32ScratchView = new Int32Array(scratchBuffer); + var f32ScratchView = new Float32Array(scratchBuffer); + var f64ScratchView = new Float64Array(scratchBuffer); + + function wasm2js_scratch_load_i32(index) { + return i32ScratchView[index]; + } + + function wasm2js_scratch_store_i32(index, value) { + i32ScratchView[index] = value; + } + + function wasm2js_scratch_load_f64() { + return f64ScratchView[0]; + } + + function wasm2js_scratch_store_f64(value) { + f64ScratchView[0] = value; + } + function wasm2js_trap() { throw new Error('abort'); } + + function wasm2js_scratch_store_f32(value) { + f32ScratchView[2] = value; + } + + function wasm2js_scratch_load_f32() { + return f32ScratchView[2]; + } + +function asmFunc(imports) { + var env = imports.env; + var memory = env.memory; + var buffer = memory.buffer; + memory.grow = __wasm_memory_grow; + var HEAP8 = new Int8Array(buffer); + var HEAP16 = new Int16Array(buffer); + var HEAP32 = new Int32Array(buffer); + var HEAPU8 = new Uint8Array(buffer); + var HEAPU16 = new Uint16Array(buffer); + var HEAPU32 = new Uint32Array(buffer); + var HEAPF32 = new Float32Array(buffer); + var HEAPF64 = new Float64Array(buffer); + var Math_imul = Math.imul; + var Math_fround = Math.fround; + var Math_abs = Math.abs; + var Math_clz32 = Math.clz32; + var Math_min = Math.min; + var Math_max = Math.max; + var Math_floor = Math.floor; + var Math_ceil = Math.ceil; + var Math_trunc = Math.trunc; + var Math_sqrt = Math.sqrt; + var __assert_fail = env.__assert_fail; + var _embind_register_class = env._embind_register_class; + var _embind_register_class_class_function = env._embind_register_class_class_function; + var _embind_register_function = env._embind_register_function; + var _embind_register_class_function = env._embind_register_class_function; + var _embind_create_inheriting_constructor = env._embind_create_inheriting_constructor; + var _emval_decref = env._emval_decref; + var _emval_call_void_method = env._emval_call_void_method; + var _emval_get_method_caller = env._emval_get_method_caller; + var _emval_incref = env._emval_incref; + var _embind_register_void = env._embind_register_void; + var _embind_register_bool = env._embind_register_bool; + var _embind_register_integer = env._embind_register_integer; + var _embind_register_float = env._embind_register_float; + var _embind_register_std_string = env._embind_register_std_string; + var _embind_register_std_wstring = env._embind_register_std_wstring; + var _embind_register_emval = env._embind_register_emval; + var _embind_register_memory_view = env._embind_register_memory_view; + var emscripten_memcpy_big = env.emscripten_memcpy_big; + var wasi_snapshot_preview1 = imports.wasi_snapshot_preview1; + var __wasi_fd_write = wasi_snapshot_preview1.fd_write; + var emscripten_resize_heap = env.emscripten_resize_heap; + var abort = env.abort; + var __wasi_fd_close = wasi_snapshot_preview1.fd_close; + var legalimport$_embind_register_bigint = env._embind_register_bigint; + var legalimport$__wasi_fd_seek = wasi_snapshot_preview1.fd_seek; + var __stack_pointer = 65536; + var __stack_end = 0; + var __stack_base = 0; + var tempRet0 = 0; + var GOT_data_internal___memory_base = 0; + var GOT_data_internal___table_base = 1; + var GOT_data_internal_vtable_20for_20cc__ccClosestRayResultCallback = 110128; + var GOT_data_internal_vtable_20for_20btCollisionWorld__ClosestRayResultCallback = 110184; + var GOT_data_internal_vtable_20for_20cc__ccAllHitsRayResultCallback = 110232; + var GOT_data_internal_vtable_20for_20btCollisionWorld__AllHitsRayResultCallback = 110280; + var GOT_data_internal_vtable_20for_20cc__ccClosestConvexResultCallback = 110304; + var GOT_data_internal_vtable_20for_20btCollisionWorld__ClosestConvexResultCallback = 110360; + var GOT_data_internal_vtable_20for_20cc__ccAllHitsConvexResultCallback = 110408; + var GOT_data_internal_vtable_20for_20btCollisionWorld__AllHitsConvexResultCallback = 110456; + var GOT_data_internal_vtable_20for_20btSphereShape = 99980; + var GOT_data_internal_vtable_20for_20cc__ccCompoundShape = 110480; + var GOT_data_internal_gDisableDeactivation = 116124; + var GOT_data_internal_vtable_20for_20btMotionState = 110580; + var GOT_data_internal_gDeactivationTime = 112848; + var GOT_func_internal_void_20const__20emscripten__internal__getActualType_btDebugDraw__28btDebugDraw__29 = 9; + var GOT_func_internal_void_20emscripten__internal__raw_destructor_btDebugDraw__28btDebugDraw__29 = 10; + var GOT_func_internal_void_20const__20emscripten__internal__getActualType_btDebugDrawWrapper__28btDebugDrawWrapper__29 = 11; + var GOT_func_internal_void_20emscripten__internal__raw_destructor_btDebugDrawWrapper__28btDebugDrawWrapper__29 = 12; + var GOT_func_internal_btDebugDrawWrapper__20emscripten__internal__wrapped_new_btDebugDrawWrapper__2c_20btDebugDrawWrapper_2c_20emscripten__val__28emscripten__val___29 = 13; + var GOT_func_internal_emscripten__internal__Invoker_btDebugDrawWrapper__2c_20emscripten__val_____invoke_28btDebugDrawWrapper__20_28__29_28emscripten__val___29_2c_20emscripten___EM_VAL__29 = 14; + var GOT_func_internal_emscripten__val_20emscripten__internal__wrapped_extend_btDebugDrawWrapper__28std____2__basic_string_char_2c_20std____2__char_traits_char__2c_20std____2__allocator_char___20const__2c_20emscripten__val_20const__29 = 15; + var GOT_func_internal_emscripten__internal__Invoker_emscripten__val_2c_20std____2__basic_string_char_2c_20std____2__char_traits_char__2c_20std____2__allocator_char___20const__2c_20emscripten__val_20const____invoke_28emscripten__val_20_28__29_28std____2__basic_string_char_2c_20std____2__char_traits_char__2c_20std____2__allocator_char___20const__2c_20emscripten__val_20const__29_2c_20emscripten__internal__BindingType_std____2__basic_string_char_2c_20std____2__char_traits_char__2c_20std____2__allocator_char___2c_20void____unnamed___2c_20emscripten___EM_VAL__29 = 16; + var GOT_func_internal_void_20const__20emscripten__internal__getActualType_btControllerHitReport__28btControllerHitReport__29 = 17; + var GOT_func_internal_void_20emscripten__internal__raw_destructor_btControllerHitReport__28btControllerHitReport__29 = 18; + var GOT_func_internal_void_20const__20emscripten__internal__getActualType_btControllerHitReportWrapper__28btControllerHitReportWrapper__29 = 19; + var GOT_func_internal_void_20emscripten__internal__raw_destructor_btControllerHitReportWrapper__28btControllerHitReportWrapper__29 = 20; + var GOT_func_internal_btControllerHitReportWrapper__20emscripten__internal__wrapped_new_btControllerHitReportWrapper__2c_20btControllerHitReportWrapper_2c_20emscripten__val__28emscripten__val___29 = 21; + var GOT_func_internal_emscripten__internal__Invoker_btControllerHitReportWrapper__2c_20emscripten__val_____invoke_28btControllerHitReportWrapper__20_28__29_28emscripten__val___29_2c_20emscripten___EM_VAL__29 = 22; + var GOT_func_internal_emscripten__val_20emscripten__internal__wrapped_extend_btControllerHitReportWrapper__28std____2__basic_string_char_2c_20std____2__char_traits_char__2c_20std____2__allocator_char___20const__2c_20emscripten__val_20const__29 = 23; + var GOT_func_internal_void_20const__20emscripten__internal__getActualType_cc__ccMotionState__28cc__ccMotionState__29 = 24; + var GOT_func_internal_void_20emscripten__internal__raw_destructor_cc__ccMotionState__28cc__ccMotionState__29 = 25; + var GOT_func_internal_void_20const__20emscripten__internal__getActualType_ccMotionStateWrapper__28ccMotionStateWrapper__29 = 26; + var GOT_func_internal_void_20emscripten__internal__raw_destructor_ccMotionStateWrapper__28ccMotionStateWrapper__29 = 27; + var GOT_func_internal_ccMotionStateWrapper__20emscripten__internal__wrapped_new_ccMotionStateWrapper__2c_20ccMotionStateWrapper_2c_20emscripten__val__28emscripten__val___29 = 28; + var GOT_func_internal_emscripten__internal__Invoker_ccMotionStateWrapper__2c_20emscripten__val_____invoke_28ccMotionStateWrapper__20_28__29_28emscripten__val___29_2c_20emscripten___EM_VAL__29 = 29; + var GOT_func_internal_emscripten__val_20emscripten__internal__wrapped_extend_ccMotionStateWrapper__28std____2__basic_string_char_2c_20std____2__char_traits_char__2c_20std____2__allocator_char___20const__2c_20emscripten__val_20const__29 = 30; + var GOT_func_internal__malloc_28int_29 = 31; + var GOT_func_internal__free_28int_29 = 32; + var GOT_func_internal__read_f32_28int_29 = 33; + var GOT_func_internal__write_f32_28int_2c_20float_29 = 34; + var GOT_func_internal__safe_delete_28int_2c_20int_29 = 35; + var GOT_func_internal_Vec3_new_28float_2c_20float_2c_20float_29 = 36; + var GOT_func_internal_Vec3_x_28int_29 = 37; + var GOT_func_internal_Vec3_y_28int_29 = 38; + var GOT_func_internal_Vec3_z_28int_29 = 39; + var GOT_func_internal_Vec3_set_28int_2c_20float_2c_20float_2c_20float_29 = 40; + var GOT_func_internal_Quat_new_28float_2c_20float_2c_20float_2c_20float_29 = 41; + var GOT_func_internal_Quat_x_28int_29 = 42; + var GOT_func_internal_Quat_y_28int_29 = 43; + var GOT_func_internal_Quat_z_28int_29 = 44; + var GOT_func_internal_Quat_w_28int_29 = 45; + var GOT_func_internal_Quat_set_28int_2c_20float_2c_20float_2c_20float_2c_20float_29 = 46; + var GOT_func_internal_Transform_new_28_29 = 47; + var GOT_func_internal_Transform_setIdentity_28int_29 = 48; + var GOT_func_internal_Transform_setRotation_28int_2c_20int_29 = 49; + var GOT_func_internal_Transform_getOrigin_28int_29 = 50; + var GOT_func_internal_Transform_getRotation_28int_2c_20int_29 = 51; + var GOT_func_internal_Transform_getRotationAndOrigin_28int_2c_20int_29 = 52; + var GOT_func_internal_MotionState_getWorldTransform = 53; + var GOT_func_internal_MotionState_setWorldTransform = 54; + var GOT_func_internal_ccMotionState_setup = 55; + var GOT_func_internal_int_array_size_28int_29 = 56; + var GOT_func_internal_int_array_at_28int_2c_20int_29 = 57; + var GOT_func_internal_Vec3_array_at_28int_2c_20int_29 = 58; + var GOT_func_internal_TypedConstraint_getFixedBody_28_29 = 59; + var GOT_func_internal_TypedConstraint_getDbgDrawSize_28int_29 = 60; + var GOT_func_internal_TypedConstraint_setDbgDrawSize_28int_2c_20float_29 = 61; + var GOT_func_internal_TypedConstraint_setMaxImpulseThreshold_28int_2c_20float_29 = 62; + var GOT_func_internal_HingeConstraint_new_28int_2c_20int_2c_20int_2c_20int_29 = 63; + var GOT_func_internal_HingeConstraint_setFrames_28int_2c_20int_2c_20int_29 = 64; + var GOT_func_internal_HingeConstraint_setLimit_28int_2c_20float_2c_20float_2c_20float_2c_20float_2c_20float_29 = 65; + var GOT_func_internal_HingeConstraint_enableMotor_28int_2c_20bool_29 = 66; + var GOT_func_internal_HingeConstraint_setAngularOnly_28int_2c_20bool_29 = 67; + var GOT_func_internal_HingeConstraint_setMaxMotorImpulse_28int_2c_20float_29 = 68; + var GOT_func_internal_HingeConstraint_setMotorTarget_28int_2c_20float_2c_20float_29 = 69; + var GOT_func_internal_HingeConstraint_setMotorVelocity_28int_2c_20float_29 = 70; + var GOT_func_internal_P2PConstraint_new_28int_2c_20int_2c_20int_2c_20int_29 = 71; + var GOT_func_internal_P2PConstraint_setPivotA_28int_2c_20int_29 = 72; + var GOT_func_internal_P2PConstraint_setPivotB_28int_2c_20int_29 = 73; + var GOT_func_internal_FixedConstraint_new_28int_2c_20int_2c_20int_2c_20int_29 = 74; + var GOT_func_internal_FixedConstraint_setFrames_28int_2c_20int_2c_20int_29 = 75; + var GOT_func_internal_Generic6DofSpring2Constraint_new_28int_2c_20int_2c_20int_2c_20int_2c_20int_29 = 76; + var GOT_func_internal_Generic6DofSpring2Constraint_setFrames_28int_2c_20int_2c_20int_29 = 77; + var GOT_func_internal_Generic6DofSpring2Constraint_setLimit_28int_2c_20int_2c_20float_2c_20float_29 = 78; + var GOT_func_internal_Generic6DofSpring2Constraint_enableSpring_28int_2c_20int_2c_20bool_29 = 79; + var GOT_func_internal_Generic6DofSpring2Constraint_setStiffness_28int_2c_20int_2c_20float_29 = 80; + var GOT_func_internal_Generic6DofSpring2Constraint_setDamping_28int_2c_20int_2c_20float_29 = 81; + var GOT_func_internal_Generic6DofSpring2Constraint_setBounce_28int_2c_20int_2c_20float_29 = 82; + var GOT_func_internal_Generic6DofSpring2Constraint_setEquilibriumPoint_28int_2c_20int_2c_20float_29 = 83; + var GOT_func_internal_Generic6DofSpring2Constraint_enableMotor_28int_2c_20int_2c_20bool_29 = 84; + var GOT_func_internal_Generic6DofSpring2Constraint_setMaxMotorForce_28int_2c_20int_2c_20float_29 = 85; + var GOT_func_internal_Generic6DofSpring2Constraint_setTargetVelocity_28int_2c_20int_2c_20float_29 = 86; + var GOT_func_internal_Generic6DofSpring2Constraint_setServo_28int_2c_20int_2c_20bool_29 = 87; + var GOT_func_internal_Generic6DofSpring2Constraint_setServoTarget_28int_2c_20int_2c_20float_29 = 88; + var GOT_func_internal_CollisionShape_isCompound_28int_29 = 89; + var GOT_func_internal_CollisionShape_setLocalScaling_28int_2c_20int_29 = 90; + var GOT_func_internal_CollisionShape_calculateLocalInertia_28int_2c_20float_2c_20int_29 = 91; + var GOT_func_internal_CollisionShape_getAabb_28int_2c_20int_2c_20int_2c_20int_29 = 92; + var GOT_func_internal_CollisionShape_setMargin_28int_2c_20float_29 = 93; + var GOT_func_internal_CollisionShape_setMaterial_28int_2c_20int_29 = 94; + var GOT_func_internal_CollisionShape_setUserPointer_28int_2c_20int_29 = 95; + var GOT_func_internal_EmptyShape_static_28_29 = 96; + var GOT_func_internal_ConvexInternalShape_getImplicitShapeDimensions_28int_29 = 97; + var GOT_func_internal_BoxShape_new_28int_29 = 98; + var GOT_func_internal_BoxShape_setUnscaledHalfExtents_28int_2c_20int_29 = 99; + var GOT_func_internal_SphereShape_new_28float_29 = 100; + var GOT_func_internal_SphereShape_setUnscaledRadius_28int_2c_20float_29 = 101; + var GOT_func_internal_CylinderShape_new_28int_29 = 102; + var GOT_func_internal_CylinderShape_updateProp_28int_2c_20float_2c_20float_2c_20int_29 = 103; + var GOT_func_internal_CapsuleShape_new_28float_2c_20float_29 = 104; + var GOT_func_internal_CapsuleShape_updateProp_28int_2c_20float_2c_20float_2c_20int_29 = 105; + var GOT_func_internal_ConeShape_new_28float_2c_20float_29 = 106; + var GOT_func_internal_ConeShape_setRadius_28int_2c_20float_29 = 107; + var GOT_func_internal_ConeShape_setHeight_28int_2c_20float_29 = 108; + var GOT_func_internal_ConeShape_setConeUpIndex_28int_2c_20int_29 = 109; + var GOT_func_internal_StaticPlaneShape_new_28int_2c_20float_29 = 110; + var GOT_func_internal_StaticPlaneShape_getPlaneNormal_28int_29 = 111; + var GOT_func_internal_StaticPlaneShape_setPlaneConstant_28int_2c_20float_29 = 112; + var GOT_func_internal_TerrainShape_new_28int_2c_20int_2c_20int_2c_20float_2c_20float_2c_20float_29 = 113; + var GOT_func_internal_TriangleMesh_new_28_29 = 114; + var GOT_func_internal_TriangleMesh_addTriangle_28int_2c_20int_2c_20int_2c_20int_2c_20bool_29 = 115; + var GOT_func_internal_BvhTriangleMeshShape_new_28int_2c_20bool_2c_20bool_29 = 116; + var GOT_func_internal_BvhTriangleMeshShape_getOptimizedBvh_28int_29 = 117; + var GOT_func_internal_BvhTriangleMeshShape_setOptimizedBvh_28int_2c_20int_2c_20float_2c_20float_2c_20float_29 = 118; + var GOT_func_internal_ScaledBvhTriangleMeshShape_new_28int_2c_20float_2c_20float_2c_20float_29 = 119; + var GOT_func_internal_ConvexTriangleMeshShape_new_28int_29 = 120; + var GOT_func_internal_SimplexShape_new_28_29 = 121; + var GOT_func_internal_SimplexShape_addVertex_28int_2c_20int_29 = 122; + var GOT_func_internal_ccCompoundShape_new_28_29 = 123; + var GOT_func_internal_CompoundShape_getNumChildShapes_28int_29 = 124; + var GOT_func_internal_CompoundShape_addChildShape_28int_2c_20int_2c_20int_29 = 125; + var GOT_func_internal_CompoundShape_getChildShape_28int_2c_20int_29 = 126; + var GOT_func_internal_CompoundShape_removeChildShape_28int_2c_20int_29 = 127; + var GOT_func_internal_CompoundShape_updateChildTransform_28int_2c_20int_2c_20int_2c_20bool_29 = 128; + var GOT_func_internal_CollisionObject_new_28_29 = 129; + var GOT_func_internal_CollisionObject_getCollisionShape_28int_29 = 130; + var GOT_func_internal_CollisionObject_setCollisionShape_28int_2c_20int_29 = 131; + var GOT_func_internal_CollisionObject_setContactProcessingThreshold_28int_2c_20int_29 = 132; + var GOT_func_internal_CollisionObject_isSleeping_28int_29 = 133; + var GOT_func_internal_CollisionObject_getActivationState_28int_29 = 134; + var GOT_func_internal_CollisionObject_forceActivationState_28int_2c_20int_29 = 135; + var GOT_func_internal_CollisionObject_activate_28int_2c_20bool_29 = 136; + var GOT_func_internal_CollisionObject_isActive_28int_29 = 137; + var GOT_func_internal_CollisionObject_isKinematicObject_28int_29 = 138; + var GOT_func_internal_CollisionObject_isStaticObject_28int_29 = 139; + var GOT_func_internal_CollisionObject_isStaticOrKinematicObject_28int_29 = 140; + var GOT_func_internal_CollisionObject_getWorldTransform_28int_29 = 141; + var GOT_func_internal_CollisionObject_setCollisionFlags_28int_2c_20int_29 = 142; + var GOT_func_internal_CollisionObject_getCollisionFlags_28int_29 = 143; + var GOT_func_internal_CollisionObject_setCcdMotionThreshold_28int_2c_20float_29 = 144; + var GOT_func_internal_CollisionObject_setCcdSweptSphereRadius_28int_2c_20float_29 = 145; + var GOT_func_internal_CollisionObject_setUserIndex_28int_2c_20int_29 = 146; + var GOT_func_internal_CollisionObject_getUserIndex_28int_29 = 147; + var GOT_func_internal_CollisionObject_setMaterial_28int_2c_20float_2c_20float_2c_20float_2c_20float_29 = 148; + var GOT_func_internal_CollisionObject_setIgnoreCollisionCheck_28int_2c_20int_2c_20bool_29 = 149; + var GOT_func_internal_RigidBody_new_28float_2c_20int_29 = 150; + var GOT_func_internal_RigidBody_getFlags_28int_29 = 151; + var GOT_func_internal_RigidBody_setFlags_28int_2c_20int_29 = 152; + var GOT_func_internal_RigidBody_setGravity_28int_2c_20int_29 = 153; + var GOT_func_internal_RigidBody_setDamping_28int_2c_20float_2c_20float_29 = 154; + var GOT_func_internal_RigidBody_setMass_28int_2c_20float_29 = 155; + var GOT_func_internal_RigidBody_setMassProps_28int_2c_20float_2c_20int_29 = 156; + var GOT_func_internal_RigidBody_setLinearFactor_28int_2c_20int_29 = 157; + var GOT_func_internal_RigidBody_setAngularFactor_28int_2c_20int_29 = 158; + var GOT_func_internal_RigidBody_setLinearVelocity_28int_2c_20int_29 = 159; + var GOT_func_internal_RigidBody_getLinearVelocity_28int_29 = 160; + var GOT_func_internal_RigidBody_setAngularVelocity_28int_2c_20int_29 = 161; + var GOT_func_internal_RigidBody_getAngularVelocity_28int_29 = 162; + var GOT_func_internal_RigidBody_clearState_28int_29 = 163; + var GOT_func_internal_RigidBody_clearForces_28int_29 = 164; + var GOT_func_internal_RigidBody_wantsSleeping_28int_29 = 165; + var GOT_func_internal_RigidBody_setSleepingThresholds_28int_2c_20float_2c_20float_29 = 166; + var GOT_func_internal_RigidBody_getLinearSleepingThreshold_28int_29 = 167; + var GOT_func_internal_RigidBody_getMotionState_28int_29 = 168; + var GOT_func_internal_RigidBody_applyTorque_28int_2c_20int_29 = 169; + var GOT_func_internal_RigidBody_applyForce_28int_2c_20int_2c_20int_29 = 170; + var GOT_func_internal_RigidBody_applyImpulse_28int_2c_20int_2c_20int_29 = 171; + var GOT_func_internal_RigidBody_getWorldTransform_28int_2c_20int_29 = 172; + var GOT_func_internal_DefaultCollisionConfiguration_static_28_29 = 173; + var GOT_func_internal_CollisionDispatcher_new_28_29 = 174; + var GOT_func_internal_Dispatcher_getNumManifolds_28int_29 = 175; + var GOT_func_internal_Dispatcher_getManifoldByIndexInternal_28int_2c_20int_29 = 176; + var GOT_func_internal_ManifoldPoint_getShape0_28int_29 = 177; + var GOT_func_internal_ManifoldPoint_getShape1_28int_29 = 178; + var GOT_func_internal_ManifoldPoint_get_m_index0_28int_29 = 179; + var GOT_func_internal_ManifoldPoint_get_m_index1_28int_29 = 180; + var GOT_func_internal_PersistentManifold_getBody0_28int_29 = 181; + var GOT_func_internal_PersistentManifold_getBody1_28int_29 = 182; + var GOT_func_internal_PersistentManifold_getNumContacts_28int_29 = 183; + var GOT_func_internal_PersistentManifold_getContactPoint_28int_2c_20int_29 = 184; + var GOT_func_internal_ManifoldPoint_get_m_localPointA_28int_29 = 185; + var GOT_func_internal_ManifoldPoint_get_m_localPointB_28int_29 = 186; + var GOT_func_internal_ManifoldPoint_get_m_positionWorldOnA_28int_29 = 187; + var GOT_func_internal_ManifoldPoint_get_m_positionWorldOnB_28int_29 = 188; + var GOT_func_internal_ManifoldPoint_get_m_normalWorldOnB_28int_29 = 189; + var GOT_func_internal_DbvtBroadphase_new_28_29 = 190; + var GOT_func_internal_SequentialImpulseConstraintSolver_new_28_29 = 191; + var GOT_func_internal_CollisionWorld_addCollisionObject_28int_2c_20int_2c_20unsigned_20int_2c_20unsigned_20int_29 = 192; + var GOT_func_internal_CollisionWorld_removeCollisionObject_28int_2c_20int_29 = 193; + var GOT_func_internal_CollisionWorld_rayTest_28int_2c_20int_2c_20int_2c_20int_29 = 194; + var GOT_func_internal_CollisionWorld_convexSweepTest_28int_2c_20int_2c_20int_2c_20int_2c_20int_2c_20float_29 = 195; + var GOT_func_internal_CollisionWorld_setDebugDrawer_28int_2c_20int_29 = 196; + var GOT_func_internal_CollisionWorld_debugDrawWorld_28int_29 = 197; + var GOT_func_internal_ccDiscreteDynamicsWorld_new_28int_2c_20int_2c_20int_29 = 198; + var GOT_func_internal_ccDiscreteDynamicsWorld_setAllowSleep_28int_2c_20bool_29 = 199; + var GOT_func_internal_DynamicsWorld_setGravity_28int_2c_20int_29 = 200; + var GOT_func_internal_DynamicsWorld_stepSimulation_28int_2c_20float_2c_20int_2c_20float_29 = 201; + var GOT_func_internal_DynamicsWorld_addRigidBody_28int_2c_20int_2c_20unsigned_20int_2c_20unsigned_20int_29 = 202; + var GOT_func_internal_DynamicsWorld_removeRigidBody_28int_2c_20int_29 = 203; + var GOT_func_internal_DynamicsWorld_addConstraint_28int_2c_20int_2c_20bool_29 = 204; + var GOT_func_internal_DynamicsWorld_removeConstraint_28int_2c_20int_29 = 205; + var GOT_func_internal_DynamicsWorld_addAction_28int_2c_20int_29 = 206; + var GOT_func_internal_DynamicsWorld_removeAction_28int_2c_20int_29 = 207; + var GOT_func_internal_DebugDraw_setDebugMode_28int_2c_20int_29 = 208; + var GOT_func_internal_DebugDraw_getDebugMode_28int_29 = 209; + var GOT_func_internal_DebugDraw_setActiveObjectColor_28int_2c_20float_2c_20float_2c_20float_29 = 210; + var GOT_func_internal_DebugDraw_setDeactiveObjectColor_28int_2c_20float_2c_20float_2c_20float_29 = 211; + var GOT_func_internal_DebugDraw_setWantsDeactivationObjectColor_28int_2c_20float_2c_20float_2c_20float_29 = 212; + var GOT_func_internal_DebugDraw_setDisabledDeactivationObjectColor_28int_2c_20float_2c_20float_2c_20float_29 = 213; + var GOT_func_internal_DebugDraw_setDisabledSimulationObjectColor_28int_2c_20float_2c_20float_2c_20float_29 = 214; + var GOT_func_internal_DebugDraw_setAABBColor_28int_2c_20float_2c_20float_2c_20float_29 = 215; + var GOT_func_internal_DebugDraw_setContactPointColor_28int_2c_20float_2c_20float_2c_20float_29 = 216; + var GOT_func_internal_DebugDraw_setConstraintLimitColor_28int_2c_20float_2c_20float_2c_20float_29 = 217; + var GOT_func_internal_RayCallback_hasHit_28int_29 = 218; + var GOT_func_internal_ConvexCallback_hasHit_28int_29 = 219; + var GOT_func_internal_ccAllRayCallback_static_28_29 = 220; + var GOT_func_internal_ccAllRayCallback_setFlags_28int_2c_20int_29 = 221; + var GOT_func_internal_ccAllRayCallback_reset_28int_2c_20int_2c_20int_2c_20unsigned_20int_2c_20bool_29 = 222; + var GOT_func_internal_ccAllRayCallback_getHitPointWorld_28int_29 = 223; + var GOT_func_internal_ccAllRayCallback_getHitNormalWorld_28int_29 = 224; + var GOT_func_internal_ccAllRayCallback_getCollisionShapePtrs_28int_29 = 225; + var GOT_func_internal_ccClosestRayCallback_static_28_29 = 226; + var GOT_func_internal_ccClosestRayCallback_setFlags_28int_2c_20int_29 = 227; + var GOT_func_internal_ccClosestRayCallback_reset_28int_2c_20int_2c_20int_2c_20unsigned_20int_2c_20bool_29 = 228; + var GOT_func_internal_ccClosestRayCallback_getHitPointWorld_28int_29 = 229; + var GOT_func_internal_ccClosestRayCallback_getHitNormalWorld_28int_29 = 230; + var GOT_func_internal_ccClosestRayCallback_getCollisionShapePtr_28int_29 = 231; + var GOT_func_internal_ccAllConvexCallback_static_28_29 = 232; + var GOT_func_internal_ccAllConvexCallback_reset_28int_2c_20int_2c_20int_2c_20unsigned_20int_2c_20bool_29 = 233; + var GOT_func_internal_ccAllConvexCallback_getHitPointWorld_28int_29 = 234; + var GOT_func_internal_ccAllConvexCallback_getHitNormalWorld_28int_29 = 235; + var GOT_func_internal_ccAllConvexCallback_getCollisionShapePtrs_28int_29 = 236; + var GOT_func_internal_ccClosestConvexCallback_static_28_29 = 237; + var GOT_func_internal_ccClosestConvexCallback_reset_28int_2c_20int_2c_20int_2c_20unsigned_20int_2c_20bool_29 = 238; + var GOT_func_internal_ccClosestConvexCallback_getHitPointWorld_28int_29 = 239; + var GOT_func_internal_ccClosestConvexCallback_getHitNormalWorld_28int_29 = 240; + var GOT_func_internal_ccClosestConvexCallback_getCollisionShapePtr_28int_29 = 241; + var GOT_func_internal_ccMaterial_new_28_29 = 242; + var GOT_func_internal_ccMaterial_set_28int_2c_20float_2c_20float_2c_20float_2c_20float_29 = 243; + var GOT_func_internal_CharacterController_getGhostObject = 244; + var GOT_func_internal_CharacterController_getCollisionShape = 245; + var GOT_func_internal_ControllerHit_getHitWorldPos = 246; + var GOT_func_internal_ControllerHit_getHitWorldNormal = 247; + var GOT_func_internal_ControllerHit_getHitMotionDir = 248; + var GOT_func_internal_ControllerHit_getHitMotionLength = 249; + var GOT_func_internal_ControllerShapeHit_getHitShape = 250; + var GOT_func_internal_ControllerShapeHit_getHitCollisionObject = 251; + var GOT_func_internal_CharacterController_move = 252; + var GOT_func_internal_CharacterController_getPosition = 253; + var GOT_func_internal_CharacterController_setContactOffset = 254; + var GOT_func_internal_CharacterController_setStepOffset = 255; + var GOT_func_internal_CharacterController_setSlopeLimit = 256; + var GOT_func_internal_CharacterController_setCollision = 257; + var GOT_func_internal_CharacterController_setOverlapRecovery = 258; + var GOT_func_internal_CapsuleCharacterControllerDesc_new = 259; + var GOT_func_internal_CapsuleCharacterController_new = 260; + var GOT_func_internal_CapsuleCharacterController_setRadius = 261; + var GOT_func_internal_CapsuleCharacterController_setHeight = 262; + var GOT_func_internal_BoxCharacterControllerDesc_new = 263; + var GOT_func_internal_BoxCharacterController_new = 264; + var GOT_func_internal_BoxCharacterController_setHalfHeight = 265; + var GOT_func_internal_BoxCharacterController_setHalfSideExtent = 266; + var GOT_func_internal_BoxCharacterController_setHalfForwardExtent = 267; + var GOT_data_internal_vtable_20for_20btCollisionWorld__RayResultCallback = 110208; + var GOT_data_internal_vtable_20for_20btCollisionWorld__ConvexResultCallback = 110384; + var GOT_data_internal_char_20const__20emscripten__internal__getGenericSignature_int_2c_20int__28_29__signature = 89172; + var GOT_data_internal_char_20const__20emscripten__internal__getGenericSignature_void__28_29__signature = 89175; + var GOT_data_internal_char_20const__20emscripten__internal__getGenericSignature_void_2c_20int__28_29__signature = 89177; + var GOT_func_internal_emscripten__internal__MethodInvoker_void_20_28btIDebugDraw____29_28_29_2c_20void_2c_20btIDebugDraw____invoke_28void_20_28btIDebugDraw____20const__29_28_29_2c_20btIDebugDraw__29 = 268; + var GOT_func_internal_emscripten__internal__MethodInvoker_void_20_28btDebugDraw____29_28int_2c_20int_2c_20int_29_2c_20void_2c_20btDebugDraw__2c_20int_2c_20int_2c_20int___invoke_28void_20_28btDebugDraw____20const__29_28int_2c_20int_2c_20int_29_2c_20btDebugDraw__2c_20int_2c_20int_2c_20int_29 = 269; + var GOT_func_internal_btDebugDraw__20emscripten__base_btDebugDraw___convertPointer_btDebugDrawWrapper_2c_20btDebugDraw__28btDebugDrawWrapper__29 = 270; + var GOT_func_internal_btDebugDrawWrapper__20emscripten__base_btDebugDraw___convertPointer_btDebugDraw_2c_20btDebugDrawWrapper__28btDebugDraw__29 = 271; + var GOT_func_internal_emscripten__class__btDebugDraw_2c_20emscripten__internal__NoBaseClass__20const__20emscripten__class__btDebugDraw_2c_20emscripten__internal__NoBaseClass___allow_subclass_btDebugDrawWrapper__28char_20const__2c_20emscripten__constructor___29_20const___lambda__28btDebugDrawWrapper__29____invoke_28btDebugDrawWrapper__29 = 272; + var GOT_func_internal_emscripten__internal__FunctionInvoker_void_20_28__29_28btDebugDrawWrapper__29_2c_20void_2c_20btDebugDrawWrapper____invoke_28void_20_28___29_28btDebugDrawWrapper__29_2c_20btDebugDrawWrapper__29 = 273; + var GOT_data_internal_char_20const__20emscripten__internal__getGenericSignature_int_2c_20int_2c_20int__28_29__signature = 89367; + var GOT_data_internal_char_20const__20emscripten__internal__getGenericSignature_int_2c_20int_2c_20int_2c_20int__28_29__signature = 89434; + var GOT_func_internal_emscripten__internal__MethodInvoker_void_20_28btControllerHitReport____29_28int_2c_20int_29_2c_20void_2c_20btControllerHitReport__2c_20int_2c_20int___invoke_28void_20_28btControllerHitReport____20const__29_28int_2c_20int_29_2c_20btControllerHitReport__2c_20int_2c_20int_29 = 274; + var GOT_func_internal_btControllerHitReport__20emscripten__base_btControllerHitReport___convertPointer_btControllerHitReportWrapper_2c_20btControllerHitReport__28btControllerHitReportWrapper__29 = 275; + var GOT_func_internal_btControllerHitReportWrapper__20emscripten__base_btControllerHitReport___convertPointer_btControllerHitReport_2c_20btControllerHitReportWrapper__28btControllerHitReport__29 = 276; + var GOT_func_internal_emscripten__class__btControllerHitReport_2c_20emscripten__internal__NoBaseClass__20const__20emscripten__class__btControllerHitReport_2c_20emscripten__internal__NoBaseClass___allow_subclass_btControllerHitReportWrapper__28char_20const__2c_20emscripten__constructor___29_20const___lambda__28btControllerHitReportWrapper__29____invoke_28btControllerHitReportWrapper__29 = 277; + var GOT_func_internal_emscripten__internal__FunctionInvoker_void_20_28__29_28btControllerHitReportWrapper__29_2c_20void_2c_20btControllerHitReportWrapper____invoke_28void_20_28___29_28btControllerHitReportWrapper__29_2c_20btControllerHitReportWrapper__29 = 278; + var GOT_func_internal_emscripten__internal__MethodInvoker_void_20_28cc__ccMotionState____29_28int_29_2c_20void_2c_20cc__ccMotionState__2c_20int___invoke_28void_20_28cc__ccMotionState____20const__29_28int_29_2c_20cc__ccMotionState__2c_20int_29 = 279; + var GOT_func_internal_cc__ccMotionState__20emscripten__base_cc__ccMotionState___convertPointer_ccMotionStateWrapper_2c_20cc__ccMotionState__28ccMotionStateWrapper__29 = 280; + var GOT_func_internal_ccMotionStateWrapper__20emscripten__base_cc__ccMotionState___convertPointer_cc__ccMotionState_2c_20ccMotionStateWrapper__28cc__ccMotionState__29 = 281; + var GOT_func_internal_emscripten__class__cc__ccMotionState_2c_20emscripten__internal__NoBaseClass__20const__20emscripten__class__cc__ccMotionState_2c_20emscripten__internal__NoBaseClass___allow_subclass_ccMotionStateWrapper__28char_20const__2c_20emscripten__constructor___29_20const___lambda__28ccMotionStateWrapper__29____invoke_28ccMotionStateWrapper__29 = 282; + var GOT_func_internal_emscripten__internal__FunctionInvoker_void_20_28__29_28ccMotionStateWrapper__29_2c_20void_2c_20ccMotionStateWrapper____invoke_28void_20_28___29_28ccMotionStateWrapper__29_2c_20ccMotionStateWrapper__29 = 283; + var GOT_func_internal_emscripten__internal__Invoker_int_2c_20int___invoke_28int_20_28__29_28int_29_2c_20int_29 = 284; + var GOT_func_internal_emscripten__internal__Invoker_void_2c_20int___invoke_28void_20_28__29_28int_29_2c_20int_29 = 285; + var GOT_func_internal_emscripten__internal__Invoker_float_2c_20int___invoke_28float_20_28__29_28int_29_2c_20int_29 = 286; + var GOT_func_internal_emscripten__internal__Invoker_void_2c_20int_2c_20float___invoke_28void_20_28__29_28int_2c_20float_29_2c_20int_2c_20float_29 = 287; + var GOT_func_internal_emscripten__internal__Invoker_void_2c_20int_2c_20int___invoke_28void_20_28__29_28int_2c_20int_29_2c_20int_2c_20int_29 = 288; + var GOT_func_internal_emscripten__internal__Invoker_int_2c_20float_2c_20float_2c_20float___invoke_28int_20_28__29_28float_2c_20float_2c_20float_29_2c_20float_2c_20float_2c_20float_29 = 289; + var GOT_func_internal_emscripten__internal__Invoker_void_2c_20int_2c_20float_2c_20float_2c_20float___invoke_28void_20_28__29_28int_2c_20float_2c_20float_2c_20float_29_2c_20int_2c_20float_2c_20float_2c_20float_29 = 290; + var GOT_func_internal_emscripten__internal__Invoker_int_2c_20float_2c_20float_2c_20float_2c_20float___invoke_28int_20_28__29_28float_2c_20float_2c_20float_2c_20float_29_2c_20float_2c_20float_2c_20float_2c_20float_29 = 291; + var GOT_func_internal_emscripten__internal__Invoker_void_2c_20int_2c_20float_2c_20float_2c_20float_2c_20float___invoke_28void_20_28__29_28int_2c_20float_2c_20float_2c_20float_2c_20float_29_2c_20int_2c_20float_2c_20float_2c_20float_2c_20float_29 = 292; + var GOT_func_internal_emscripten__internal__Invoker_int___invoke_28int_20_28__29_28_29_29 = 293; + var GOT_func_internal_emscripten__internal__Invoker_int_2c_20int_2c_20int___invoke_28int_20_28__29_28int_2c_20int_29_2c_20int_2c_20int_29 = 294; + var GOT_func_internal_emscripten__internal__Invoker_void_2c_20int_2c_20int_2c_20int___invoke_28void_20_28__29_28int_2c_20int_2c_20int_29_2c_20int_2c_20int_2c_20int_29 = 295; + var GOT_func_internal_emscripten__internal__Invoker_int_2c_20int_2c_20int_2c_20int_2c_20int___invoke_28int_20_28__29_28int_2c_20int_2c_20int_2c_20int_29_2c_20int_2c_20int_2c_20int_2c_20int_29 = 296; + var GOT_func_internal_emscripten__internal__Invoker_void_2c_20int_2c_20float_2c_20float_2c_20float_2c_20float_2c_20float___invoke_28void_20_28__29_28int_2c_20float_2c_20float_2c_20float_2c_20float_2c_20float_29_2c_20int_2c_20float_2c_20float_2c_20float_2c_20float_2c_20float_29 = 297; + var GOT_func_internal_emscripten__internal__Invoker_void_2c_20int_2c_20bool___invoke_28void_20_28__29_28int_2c_20bool_29_2c_20int_2c_20bool_29 = 298; + var GOT_func_internal_emscripten__internal__Invoker_void_2c_20int_2c_20float_2c_20float___invoke_28void_20_28__29_28int_2c_20float_2c_20float_29_2c_20int_2c_20float_2c_20float_29 = 299; + var GOT_func_internal_emscripten__internal__Invoker_int_2c_20int_2c_20int_2c_20int_2c_20int_2c_20int___invoke_28int_20_28__29_28int_2c_20int_2c_20int_2c_20int_2c_20int_29_2c_20int_2c_20int_2c_20int_2c_20int_2c_20int_29 = 300; + var GOT_func_internal_emscripten__internal__Invoker_void_2c_20int_2c_20int_2c_20float_2c_20float___invoke_28void_20_28__29_28int_2c_20int_2c_20float_2c_20float_29_2c_20int_2c_20int_2c_20float_2c_20float_29 = 301; + var GOT_func_internal_emscripten__internal__Invoker_void_2c_20int_2c_20int_2c_20bool___invoke_28void_20_28__29_28int_2c_20int_2c_20bool_29_2c_20int_2c_20int_2c_20bool_29 = 302; + var GOT_func_internal_emscripten__internal__Invoker_void_2c_20int_2c_20int_2c_20float___invoke_28void_20_28__29_28int_2c_20int_2c_20float_29_2c_20int_2c_20int_2c_20float_29 = 303; + var GOT_func_internal_emscripten__internal__Invoker_bool_2c_20int___invoke_28bool_20_28__29_28int_29_2c_20int_29 = 304; + var GOT_func_internal_emscripten__internal__Invoker_void_2c_20int_2c_20float_2c_20int___invoke_28void_20_28__29_28int_2c_20float_2c_20int_29_2c_20int_2c_20float_2c_20int_29 = 305; + var GOT_func_internal_emscripten__internal__Invoker_void_2c_20int_2c_20int_2c_20int_2c_20int___invoke_28void_20_28__29_28int_2c_20int_2c_20int_2c_20int_29_2c_20int_2c_20int_2c_20int_2c_20int_29 = 306; + var GOT_func_internal_emscripten__internal__Invoker_int_2c_20float___invoke_28int_20_28__29_28float_29_2c_20float_29 = 307; + var GOT_func_internal_emscripten__internal__Invoker_void_2c_20int_2c_20float_2c_20float_2c_20int___invoke_28void_20_28__29_28int_2c_20float_2c_20float_2c_20int_29_2c_20int_2c_20float_2c_20float_2c_20int_29 = 308; + var GOT_func_internal_emscripten__internal__Invoker_int_2c_20float_2c_20float___invoke_28int_20_28__29_28float_2c_20float_29_2c_20float_2c_20float_29 = 309; + var GOT_func_internal_emscripten__internal__Invoker_int_2c_20int_2c_20float___invoke_28int_20_28__29_28int_2c_20float_29_2c_20int_2c_20float_29 = 310; + var GOT_func_internal_emscripten__internal__Invoker_int_2c_20int_2c_20int_2c_20int_2c_20float_2c_20float_2c_20float___invoke_28int_20_28__29_28int_2c_20int_2c_20int_2c_20float_2c_20float_2c_20float_29_2c_20int_2c_20int_2c_20int_2c_20float_2c_20float_2c_20float_29 = 311; + var GOT_func_internal_emscripten__internal__Invoker_void_2c_20int_2c_20int_2c_20int_2c_20int_2c_20bool___invoke_28void_20_28__29_28int_2c_20int_2c_20int_2c_20int_2c_20bool_29_2c_20int_2c_20int_2c_20int_2c_20int_2c_20bool_29 = 312; + var GOT_func_internal_emscripten__internal__Invoker_int_2c_20int_2c_20bool_2c_20bool___invoke_28int_20_28__29_28int_2c_20bool_2c_20bool_29_2c_20int_2c_20bool_2c_20bool_29 = 313; + var GOT_func_internal_emscripten__internal__Invoker_void_2c_20int_2c_20int_2c_20float_2c_20float_2c_20float___invoke_28void_20_28__29_28int_2c_20int_2c_20float_2c_20float_2c_20float_29_2c_20int_2c_20int_2c_20float_2c_20float_2c_20float_29 = 314; + var GOT_func_internal_emscripten__internal__Invoker_int_2c_20int_2c_20float_2c_20float_2c_20float___invoke_28int_20_28__29_28int_2c_20float_2c_20float_2c_20float_29_2c_20int_2c_20float_2c_20float_2c_20float_29 = 315; + var GOT_func_internal_emscripten__internal__Invoker_void_2c_20int_2c_20int_2c_20int_2c_20bool___invoke_28void_20_28__29_28int_2c_20int_2c_20int_2c_20bool_29_2c_20int_2c_20int_2c_20int_2c_20bool_29 = 316; + var GOT_func_internal_emscripten__internal__Invoker_int_2c_20float_2c_20int___invoke_28int_20_28__29_28float_2c_20int_29_2c_20float_2c_20int_29 = 317; + var GOT_func_internal_emscripten__internal__Invoker_void_2c_20int_2c_20int_2c_20unsigned_20int_2c_20unsigned_20int___invoke_28void_20_28__29_28int_2c_20int_2c_20unsigned_20int_2c_20unsigned_20int_29_2c_20int_2c_20int_2c_20unsigned_20int_2c_20unsigned_20int_29 = 318; + var GOT_func_internal_emscripten__internal__Invoker_void_2c_20int_2c_20int_2c_20int_2c_20int_2c_20int_2c_20float___invoke_28void_20_28__29_28int_2c_20int_2c_20int_2c_20int_2c_20int_2c_20float_29_2c_20int_2c_20int_2c_20int_2c_20int_2c_20int_2c_20float_29 = 319; + var GOT_func_internal_emscripten__internal__Invoker_int_2c_20int_2c_20int_2c_20int___invoke_28int_20_28__29_28int_2c_20int_2c_20int_29_2c_20int_2c_20int_2c_20int_29 = 320; + var GOT_func_internal_emscripten__internal__Invoker_void_2c_20int_2c_20float_2c_20int_2c_20float___invoke_28void_20_28__29_28int_2c_20float_2c_20int_2c_20float_29_2c_20int_2c_20float_2c_20int_2c_20float_29 = 321; + var GOT_func_internal_emscripten__internal__Invoker_void_2c_20int_2c_20int_2c_20int_2c_20unsigned_20int_2c_20bool___invoke_28void_20_28__29_28int_2c_20int_2c_20int_2c_20unsigned_20int_2c_20bool_29_2c_20int_2c_20int_2c_20int_2c_20unsigned_20int_2c_20bool_29 = 322; + var GOT_func_internal_emscripten__internal__Invoker_int_2c_20int_2c_20int_2c_20float_2c_20float___invoke_28int_20_28__29_28int_2c_20int_2c_20float_2c_20float_29_2c_20int_2c_20int_2c_20float_2c_20float_29 = 323; + var GOT_func_internal_emscripten__internal__Invoker_int_2c_20float_2c_20float_2c_20float_2c_20int_2c_20int_2c_20int_2c_20float_2c_20float___invoke_28int_20_28__29_28float_2c_20float_2c_20float_2c_20int_2c_20int_2c_20int_2c_20float_2c_20float_29_2c_20float_2c_20float_2c_20float_2c_20int_2c_20int_2c_20int_2c_20float_2c_20float_29 = 324; + var GOT_func_internal_emscripten__internal__Invoker_int_2c_20float_2c_20float_2c_20float_2c_20int_2c_20int_2c_20int_2c_20float_2c_20float_2c_20float___invoke_28int_20_28__29_28float_2c_20float_2c_20float_2c_20int_2c_20int_2c_20int_2c_20float_2c_20float_2c_20float_29_2c_20float_2c_20float_2c_20float_2c_20int_2c_20int_2c_20int_2c_20float_2c_20float_2c_20float_29 = 325; + var GOT_data_internal_char_20const__20emscripten__internal__getGenericSignature_void_2c_20int_2c_20int__28_29__signature = 89196; + var GOT_data_internal_char_20const__20emscripten__internal__getGenericSignature_float_2c_20int_2c_20int__28_29__signature = 89880; + var GOT_data_internal_char_20const__20emscripten__internal__getGenericSignature_void_2c_20int_2c_20int_2c_20float__28_29__signature = 89884; + var GOT_data_internal_char_20const__20emscripten__internal__getGenericSignature_void_2c_20int_2c_20int_2c_20int__28_29__signature = 89758; + var GOT_data_internal_char_20const__20emscripten__internal__getGenericSignature_int_2c_20int_2c_20float_2c_20float_2c_20float__28_29__signature = 89889; + var GOT_data_internal_char_20const__20emscripten__internal__getGenericSignature_void_2c_20int_2c_20int_2c_20float_2c_20float_2c_20float__28_29__signature = 89895; + var GOT_data_internal_char_20const__20emscripten__internal__getGenericSignature_int_2c_20int_2c_20float_2c_20float_2c_20float_2c_20float__28_29__signature = 89902; + var GOT_data_internal_char_20const__20emscripten__internal__getGenericSignature_void_2c_20int_2c_20int_2c_20float_2c_20float_2c_20float_2c_20float__28_29__signature = 89909; + var GOT_data_internal_char_20const__20emscripten__internal__getGenericSignature_void_2c_20int_2c_20int_2c_20int_2c_20int__28_29__signature = 89542; + var GOT_data_internal_char_20const__20emscripten__internal__getGenericSignature_int_2c_20int_2c_20int_2c_20int_2c_20int_2c_20int__28_29__signature = 89917; + var GOT_data_internal_char_20const__20emscripten__internal__getGenericSignature_void_2c_20int_2c_20int_2c_20float_2c_20float_2c_20float_2c_20float_2c_20float__28_29__signature = 89924; + var GOT_data_internal_char_20const__20emscripten__internal__getGenericSignature_void_2c_20int_2c_20int_2c_20float_2c_20float__28_29__signature = 89933; + var GOT_data_internal_char_20const__20emscripten__internal__getGenericSignature_int_2c_20int_2c_20int_2c_20int_2c_20int_2c_20int_2c_20int__28_29__signature = 89939; + var GOT_data_internal_char_20const__20emscripten__internal__getGenericSignature_void_2c_20int_2c_20int_2c_20int_2c_20float_2c_20float__28_29__signature = 89947; + var GOT_data_internal_char_20const__20emscripten__internal__getGenericSignature_void_2c_20int_2c_20int_2c_20int_2c_20float__28_29__signature = 89954; + var GOT_data_internal_char_20const__20emscripten__internal__getGenericSignature_void_2c_20int_2c_20int_2c_20float_2c_20int__28_29__signature = 89960; + var GOT_data_internal_char_20const__20emscripten__internal__getGenericSignature_void_2c_20int_2c_20int_2c_20int_2c_20int_2c_20int__28_29__signature = 89200; + var GOT_data_internal_char_20const__20emscripten__internal__getGenericSignature_int_2c_20int_2c_20float__28_29__signature = 89966; + var GOT_data_internal_char_20const__20emscripten__internal__getGenericSignature_void_2c_20int_2c_20int_2c_20float_2c_20float_2c_20int__28_29__signature = 89970; + var GOT_data_internal_char_20const__20emscripten__internal__getGenericSignature_int_2c_20int_2c_20float_2c_20float__28_29__signature = 89977; + var GOT_data_internal_char_20const__20emscripten__internal__getGenericSignature_int_2c_20int_2c_20int_2c_20float__28_29__signature = 89982; + var GOT_data_internal_char_20const__20emscripten__internal__getGenericSignature_int_2c_20int_2c_20int_2c_20int_2c_20int_2c_20float_2c_20float_2c_20float__28_29__signature = 89987; + var GOT_data_internal_char_20const__20emscripten__internal__getGenericSignature_void_2c_20int_2c_20int_2c_20int_2c_20int_2c_20int_2c_20int__28_29__signature = 89996; + var GOT_data_internal_char_20const__20emscripten__internal__getGenericSignature_int_2c_20int_2c_20int_2c_20int_2c_20int__28_29__signature = 90004; + var GOT_data_internal_char_20const__20emscripten__internal__getGenericSignature_void_2c_20int_2c_20int_2c_20int_2c_20float_2c_20float_2c_20float__28_29__signature = 90010; + var GOT_data_internal_char_20const__20emscripten__internal__getGenericSignature_int_2c_20int_2c_20int_2c_20float_2c_20float_2c_20float__28_29__signature = 90018; + var GOT_data_internal_char_20const__20emscripten__internal__getGenericSignature_int_2c_20int_2c_20float_2c_20int__28_29__signature = 90025; + var GOT_data_internal_char_20const__20emscripten__internal__getGenericSignature_void_2c_20int_2c_20int_2c_20int_2c_20int_2c_20int_2c_20int_2c_20float__28_29__signature = 90030; + var GOT_data_internal_char_20const__20emscripten__internal__getGenericSignature_void_2c_20int_2c_20int_2c_20float_2c_20int_2c_20float__28_29__signature = 90039; + var GOT_data_internal_char_20const__20emscripten__internal__getGenericSignature_int_2c_20int_2c_20int_2c_20int_2c_20float_2c_20float__28_29__signature = 90046; + var GOT_data_internal_char_20const__20emscripten__internal__getGenericSignature_int_2c_20int_2c_20float_2c_20float_2c_20float_2c_20int_2c_20int_2c_20int_2c_20float_2c_20float__28_29__signature = 90053; + var GOT_data_internal_char_20const__20emscripten__internal__getGenericSignature_int_2c_20int_2c_20float_2c_20float_2c_20float_2c_20int_2c_20int_2c_20int_2c_20float_2c_20float_2c_20float__28_29__signature = 90064; + var GOT_data_internal_typeinfo_20for_20btDebugDraw = 110612; + var GOT_data_internal_typeinfo_20for_20btDebugDraw_ = 110624; + var GOT_data_internal_typeinfo_20for_20btDebugDraw_20const_ = 110640; + var GOT_data_internal_typeinfo_20for_20btIDebugDraw = 110604; + var GOT_data_internal_emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_void_2c_20emscripten__internal__AllowedRawPointer_btIDebugDraw_____get_28_29__types = 110656; + var GOT_data_internal_emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_void_2c_20emscripten__internal__AllowedRawPointer_btDebugDraw__2c_20int_2c_20int_2c_20int____get_28_29__types = 110688; + var GOT_data_internal_vtable_20for_20btDebugDrawWrapper = 110816; + var GOT_data_internal_typeinfo_20for_20btDebugDrawWrapper = 110748; + var GOT_data_internal_typeinfo_20for_20btDebugDrawWrapper_ = 110760; + var GOT_data_internal_typeinfo_20for_20btDebugDrawWrapper_20const_ = 110776; + var GOT_data_internal_emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_void_2c_20btDebugDrawWrapper_____get_28_29__types = 110792; + var GOT_data_internal_emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_emscripten__internal__AllowedRawPointer_btDebugDrawWrapper__2c_20emscripten__val______get_28_29__types = 110800; + var GOT_data_internal_vtable_20for_20emscripten__wrapper_btDebugDraw_ = 110936; + var GOT_data_internal_vtable_20for_20btDebugDraw = 111056; + var GOT_data_internal_vtable_20for_20btIDebugDraw = 111176; + var GOT_data_internal_guard_20variable_20for_20emscripten__internal__Signature_void___get_method_caller_28_29__mc = 113892; + var GOT_data_internal_emscripten__internal__Signature_void___get_method_caller_28_29__mc = 113888; + var GOT_data_internal_emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_void____get_28_29__types = 111292; + var GOT_data_internal_guard_20variable_20for_20emscripten__internal__Signature_void_2c_20int_20const__2c_20int_20const__2c_20int____get_method_caller_28_29__mc = 113900; + var GOT_data_internal_emscripten__internal__Signature_void_2c_20int_20const__2c_20int_20const__2c_20int____get_method_caller_28_29__mc = 113896; + var GOT_data_internal_emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_void_2c_20int_20const__2c_20int_20const__2c_20int_____get_28_29__types = 111296; + var GOT_data_internal_emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_emscripten__val_2c_20std____2__basic_string_char_2c_20std____2__char_traits_char__2c_20std____2__allocator_char___20const__2c_20emscripten__val_20const_____get_28_29__types = 111312; + var GOT_data_internal_typeinfo_20for_20btControllerHitReport = 111340; + var GOT_data_internal_typeinfo_20for_20btControllerHitReport_ = 111352; + var GOT_data_internal_typeinfo_20for_20btControllerHitReport_20const_ = 111368; + var GOT_data_internal_emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_void_2c_20emscripten__internal__AllowedRawPointer_btControllerHitReport__2c_20int_2c_20int____get_28_29__types = 111392; + var GOT_data_internal_vtable_20for_20btControllerHitReportWrapper = 111500; + var GOT_data_internal_typeinfo_20for_20btControllerHitReportWrapper = 111440; + var GOT_data_internal_typeinfo_20for_20btControllerHitReportWrapper_ = 111452; + var GOT_data_internal_typeinfo_20for_20btControllerHitReportWrapper_20const_ = 111468; + var GOT_data_internal_emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_void_2c_20btControllerHitReportWrapper_____get_28_29__types = 111484; + var GOT_data_internal_emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_emscripten__internal__AllowedRawPointer_btControllerHitReportWrapper__2c_20emscripten__val______get_28_29__types = 111492; + var GOT_data_internal_vtable_20for_20emscripten__wrapper_btControllerHitReport_ = 111528; + var GOT_data_internal_vtable_20for_20btControllerHitReport = 111556; + var GOT_data_internal_vtable_20for_20btUserControllerHitReport = 111584; + var GOT_data_internal_guard_20variable_20for_20emscripten__internal__Signature_void_2c_20int_20const__2c_20int_20const____get_method_caller_28_29__mc = 113908; + var GOT_data_internal_emscripten__internal__Signature_void_2c_20int_20const__2c_20int_20const____get_method_caller_28_29__mc = 113904; + var GOT_data_internal_emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_void_2c_20int_20const__2c_20int_20const_____get_28_29__types = 111608; + var GOT_data_internal_typeinfo_20for_20cc__ccMotionState = 111620; + var GOT_data_internal_typeinfo_20for_20cc__ccMotionState_ = 111632; + var GOT_data_internal_typeinfo_20for_20cc__ccMotionState_20const_ = 111648; + var GOT_data_internal_emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_void_2c_20emscripten__internal__AllowedRawPointer_cc__ccMotionState__2c_20int____get_28_29__types = 111664; + var GOT_data_internal_vtable_20for_20ccMotionStateWrapper = 111768; + var GOT_data_internal_typeinfo_20for_20ccMotionStateWrapper = 111708; + var GOT_data_internal_typeinfo_20for_20ccMotionStateWrapper_ = 111720; + var GOT_data_internal_typeinfo_20for_20ccMotionStateWrapper_20const_ = 111736; + var GOT_data_internal_emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_void_2c_20ccMotionStateWrapper_____get_28_29__types = 111752; + var GOT_data_internal_emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_emscripten__internal__AllowedRawPointer_ccMotionStateWrapper__2c_20emscripten__val______get_28_29__types = 111760; + var GOT_data_internal_vtable_20for_20emscripten__wrapper_cc__ccMotionState_ = 111796; + var GOT_data_internal_vtable_20for_20cc__ccMotionState = 111824; + var GOT_data_internal_guard_20variable_20for_20emscripten__internal__Signature_void_2c_20int_20const____get_method_caller_28_29__mc = 113916; + var GOT_data_internal_emscripten__internal__Signature_void_2c_20int_20const____get_method_caller_28_29__mc = 113912; + var GOT_data_internal_emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_void_2c_20int_20const_____get_28_29__types = 111852; + var GOT_data_internal_emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_int_2c_20int____get_28_29__types = 111860; + var GOT_data_internal_emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_void_2c_20int____get_28_29__types = 111868; + var GOT_data_internal_emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_float_2c_20int____get_28_29__types = 111876; + var GOT_data_internal_emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_void_2c_20int_2c_20float____get_28_29__types = 111884; + var GOT_data_internal_emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_void_2c_20int_2c_20int____get_28_29__types = 111896; + var GOT_data_internal_emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_int_2c_20float_2c_20float_2c_20float____get_28_29__types = 111920; + var GOT_data_internal_emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_void_2c_20int_2c_20float_2c_20float_2c_20float____get_28_29__types = 111936; + var GOT_data_internal_emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_int_2c_20float_2c_20float_2c_20float_2c_20float____get_28_29__types = 111968; + var GOT_data_internal_emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_void_2c_20int_2c_20float_2c_20float_2c_20float_2c_20float____get_28_29__types = 112e3; + var GOT_data_internal_emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_int____get_28_29__types = 112024; + var GOT_data_internal_emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_int_2c_20int_2c_20int____get_28_29__types = 112028; + var GOT_data_internal_emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_void_2c_20int_2c_20int_2c_20int____get_28_29__types = 112048; + var GOT_data_internal_emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_int_2c_20int_2c_20int_2c_20int_2c_20int____get_28_29__types = 112064; + var GOT_data_internal_emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_void_2c_20int_2c_20float_2c_20float_2c_20float_2c_20float_2c_20float____get_28_29__types = 112096; + var GOT_data_internal_emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_void_2c_20int_2c_20bool____get_28_29__types = 112124; + var GOT_data_internal_emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_void_2c_20int_2c_20float_2c_20float____get_28_29__types = 112144; + var GOT_data_internal_emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_int_2c_20int_2c_20int_2c_20int_2c_20int_2c_20int____get_28_29__types = 112160; + var GOT_data_internal_emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_void_2c_20int_2c_20int_2c_20float_2c_20float____get_28_29__types = 112192; + var GOT_data_internal_emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_void_2c_20int_2c_20int_2c_20bool____get_28_29__types = 112224; + var GOT_data_internal_emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_void_2c_20int_2c_20int_2c_20float____get_28_29__types = 112240; + var GOT_data_internal_emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_bool_2c_20int____get_28_29__types = 112256; + var GOT_data_internal_emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_void_2c_20int_2c_20float_2c_20int____get_28_29__types = 112272; + var GOT_data_internal_emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_void_2c_20int_2c_20int_2c_20int_2c_20int____get_28_29__types = 112288; + var GOT_data_internal_emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_int_2c_20float____get_28_29__types = 112308; + var GOT_data_internal_emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_void_2c_20int_2c_20float_2c_20float_2c_20int____get_28_29__types = 112320; + var GOT_data_internal_emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_int_2c_20float_2c_20float____get_28_29__types = 112340; + var GOT_data_internal_emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_int_2c_20int_2c_20float____get_28_29__types = 112352; + var GOT_data_internal_emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_int_2c_20int_2c_20int_2c_20int_2c_20float_2c_20float_2c_20float____get_28_29__types = 112368; + var GOT_data_internal_emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_void_2c_20int_2c_20int_2c_20int_2c_20int_2c_20bool____get_28_29__types = 112400; + var GOT_data_internal_emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_int_2c_20int_2c_20bool_2c_20bool____get_28_29__types = 112432; + var GOT_data_internal_emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_void_2c_20int_2c_20int_2c_20float_2c_20float_2c_20float____get_28_29__types = 112448; + var GOT_data_internal_emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_int_2c_20int_2c_20float_2c_20float_2c_20float____get_28_29__types = 112480; + var GOT_data_internal_emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_void_2c_20int_2c_20int_2c_20int_2c_20bool____get_28_29__types = 112512; + var GOT_data_internal_emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_int_2c_20float_2c_20int____get_28_29__types = 112532; + var GOT_data_internal_emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_void_2c_20int_2c_20int_2c_20unsigned_20int_2c_20unsigned_20int____get_28_29__types = 112544; + var GOT_data_internal_emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_void_2c_20int_2c_20int_2c_20int_2c_20int_2c_20int_2c_20float____get_28_29__types = 112576; + var GOT_data_internal_emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_int_2c_20int_2c_20int_2c_20int____get_28_29__types = 112608; + var GOT_data_internal_emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_void_2c_20int_2c_20float_2c_20int_2c_20float____get_28_29__types = 112624; + var GOT_data_internal_emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_void_2c_20int_2c_20int_2c_20int_2c_20unsigned_20int_2c_20bool____get_28_29__types = 112656; + var GOT_data_internal_emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_int_2c_20int_2c_20int_2c_20float_2c_20float____get_28_29__types = 112688; + var GOT_data_internal_emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_int_2c_20float_2c_20float_2c_20float_2c_20int_2c_20int_2c_20int_2c_20float_2c_20float____get_28_29__types = 112720; + var GOT_data_internal_emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_int_2c_20float_2c_20float_2c_20float_2c_20int_2c_20int_2c_20int_2c_20float_2c_20float_2c_20float____get_28_29__types = 112768; + var __wasm_intrinsics_temp_i64 = 0; + var __wasm_intrinsics_temp_i64$hi = 0; + var i64toi32_i32$HIGH_BITS = 0; + // EMSCRIPTEN_START_FUNCS +; + function __wasm_call_ctors() { + emscripten_stack_init(); + _GLOBAL__sub_I_BulletWebBindings_cpp(); + _GLOBAL__sub_I_btAlignedAllocator_cpp(); + _GLOBAL__sub_I_btDbvt_cpp(); + _GLOBAL__sub_I_btDbvtBroadphase_cpp(); + _GLOBAL__sub_I_btQuickprof_cpp(); + _GLOBAL__sub_I_btOverlappingPairCache_cpp(); + _GLOBAL__sub_I_btDispatcher_cpp(); + _GLOBAL__sub_I_btCollisionDispatcher_cpp(); + _GLOBAL__sub_I_btCollisionObject_cpp(); + _GLOBAL__sub_I_btCollisionWorld_cpp(); + _GLOBAL__sub_I_btCollisionAlgorithm_cpp(); + _GLOBAL__sub_I_btActivatingCollisionAlgorithm_cpp(); + _GLOBAL__sub_I_btConvexConvexAlgorithm_cpp(); + _GLOBAL__sub_I_btConvexConcaveCollisionAlgorithm_cpp(); + _GLOBAL__sub_I_btCompoundCollisionAlgorithm_cpp(); + _GLOBAL__sub_I_btCompoundCompoundCollisionAlgorithm_cpp(); + _GLOBAL__sub_I_btBoxBoxDetector_cpp(); + _GLOBAL__sub_I_btBoxBoxCollisionAlgorithm_cpp(); + _GLOBAL__sub_I_btConvexPlaneCollisionAlgorithm_cpp(); + _GLOBAL__sub_I_btDefaultCollisionConfiguration_cpp(); + _GLOBAL__sub_I_btEmptyCollisionAlgorithm_cpp(); + _GLOBAL__sub_I_btHashedSimplePairCache_cpp(); + _GLOBAL__sub_I_btManifoldResult_cpp(); + _GLOBAL__sub_I_btSphereSphereCollisionAlgorithm_cpp(); + _GLOBAL__sub_I_btSphereTriangleCollisionAlgorithm_cpp(); + _GLOBAL__sub_I_SphereTriangleDetector_cpp(); + _GLOBAL__sub_I_btBoxShape_cpp(); + _GLOBAL__sub_I_btQuantizedBvh_cpp(); + _GLOBAL__sub_I_btBvhTriangleMeshShape_cpp(); + _GLOBAL__sub_I_btCapsuleShape_cpp(); + _GLOBAL__sub_I_btCollisionShape_cpp(); + _GLOBAL__sub_I_btCompoundShape_cpp(); + _GLOBAL__sub_I_btConeShape_cpp(); + _GLOBAL__sub_I_btConvexInternalShape_cpp(); + _GLOBAL__sub_I_btConvexShape_cpp(); + _GLOBAL__sub_I_btConvexTriangleMeshShape_cpp(); + _GLOBAL__sub_I_btCylinderShape_cpp(); + _GLOBAL__sub_I_btConcaveShape_cpp(); + _GLOBAL__sub_I_btEmptyShape_cpp(); + _GLOBAL__sub_I_btHeightfieldTerrainShape_cpp(); + _GLOBAL__sub_I_btOptimizedBvh_cpp(); + _GLOBAL__sub_I_btConvexPolyhedron_cpp(); + _GLOBAL__sub_I_btGeometryUtil_cpp(); + _GLOBAL__sub_I_btConvexHullComputer_cpp(); + _GLOBAL__sub_I_btPolyhedralConvexShape_cpp(); + _GLOBAL__sub_I_btScaledBvhTriangleMeshShape_cpp(); + _GLOBAL__sub_I_btSphereShape_cpp(); + _GLOBAL__sub_I_btStaticPlaneShape_cpp(); + _GLOBAL__sub_I_btTetrahedronShape_cpp(); + _GLOBAL__sub_I_btTriangleCallback_cpp(); + _GLOBAL__sub_I_btStridingMeshInterface_cpp(); + _GLOBAL__sub_I_btTriangleIndexVertexArray_cpp(); + _GLOBAL__sub_I_btTriangleMesh_cpp(); + _GLOBAL__sub_I_btTriangleMeshShape_cpp(); + _GLOBAL__sub_I_btContinuousConvexCollision_cpp(); + _GLOBAL__sub_I_btConvexCast_cpp(); + _GLOBAL__sub_I_btGjkConvexCast_cpp(); + _GLOBAL__sub_I_btGjkEpa2_cpp(); + _GLOBAL__sub_I_btGjkEpaPenetrationDepthSolver_cpp(); + _GLOBAL__sub_I_btGjkPairDetector_cpp(); + _GLOBAL__sub_I_btMinkowskiPenetrationDepthSolver_cpp(); + _GLOBAL__sub_I_btPersistentManifold_cpp(); + _GLOBAL__sub_I_btRaycastCallback_cpp(); + _GLOBAL__sub_I_btSubSimplexConvexCast_cpp(); + _GLOBAL__sub_I_btVoronoiSimplexSolver_cpp(); + _GLOBAL__sub_I_btPolyhedralContactClipping_cpp(); + _GLOBAL__sub_I_btFixedConstraint_cpp(); + _GLOBAL__sub_I_btGeneric6DofSpring2Constraint_cpp(); + _GLOBAL__sub_I_btHingeConstraint_cpp(); + _GLOBAL__sub_I_btPoint2PointConstraint_cpp(); + _GLOBAL__sub_I_btSequentialImpulseConstraintSolver_cpp(); + _GLOBAL__sub_I_btTypedConstraint_cpp(); + _GLOBAL__sub_I_btRigidBody_cpp(); + _GLOBAL__sub_I_btUnionFind_cpp(); + _GLOBAL__sub_I_btSimulationIslandManager_cpp(); + _GLOBAL__sub_I_btConeTwistConstraint_cpp(); + _GLOBAL__sub_I_btGeneric6DofConstraint_cpp(); + _GLOBAL__sub_I_btDiscreteDynamicsWorld_cpp(); + _GLOBAL__sub_I_ccDiscreteDynamicsWorld_cpp(); + _GLOBAL__sub_I_ccCompoundShape_cpp(); + _GLOBAL__sub_I_btGhostObject_cpp(); + _GLOBAL__sub_I_btCharacterController_cpp(); + _GLOBAL__sub_I_bind_cpp(); + init_pthread_self(); + } + + function __cxx_global_var_init() { + btInfMaskConverter__btInfMaskConverter_28int_29(GOT_data_internal___memory_base + 113168 | 0 | 0, 2139095040 | 0) | 0; + return; + } + + function btInfMaskConverter__btInfMaskConverter_28int_29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, $5 = 0; + $4 = __stack_pointer - 16 | 0; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; + HEAP32[$5 >> 2] = HEAP32[($4 + 8 | 0) >> 2] | 0; + return $5 | 0; + } + + function __cxx_global_var_init_1() { + var $1 = 0, $6 = 0, $13 = 0, $20 = 0; + $1 = GOT_data_internal___memory_base; + std____2__basic_string_char_2c_20std____2__char_traits_char__2c_20std____2__allocator_char____basic_string_5babi_v160004_5d_std__nullptr_t__28char_20const__29($1 + 113184 | 0 | 0, $1 + 84159 | 0 | 0) | 0; + $6 = GOT_data_internal___memory_base; + std____2__basic_string_char_2c_20std____2__char_traits_char__2c_20std____2__allocator_char____basic_string_5babi_v160004_5d_std__nullptr_t__28char_20const__29(($6 + 113184 | 0) + 12 | 0 | 0, $6 + 84426 | 0 | 0) | 0; + $13 = GOT_data_internal___memory_base; + std____2__basic_string_char_2c_20std____2__char_traits_char__2c_20std____2__allocator_char____basic_string_5babi_v160004_5d_std__nullptr_t__28char_20const__29(($13 + 113184 | 0) + 24 | 0 | 0, $13 + 84257 | 0 | 0) | 0; + $20 = GOT_data_internal___memory_base; + std____2__basic_string_char_2c_20std____2__char_traits_char__2c_20std____2__allocator_char____basic_string_5babi_v160004_5d_std__nullptr_t__28char_20const__29(($20 + 113184 | 0) + 36 | 0 | 0, $20 + 84028 | 0 | 0) | 0; + __cxa_atexit(GOT_data_internal___table_base + 0 | 0 | 0, 0 | 0, GOT_data_internal___memory_base + 65536 | 0 | 0) | 0; + return; + } + + function std____2__basic_string_char_2c_20std____2__char_traits_char__2c_20std____2__allocator_char____basic_string_5babi_v160004_5d_std__nullptr_t__28char_20const__29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, $5 = 0; + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; + std____2____compressed_pair_std____2__basic_string_char_2c_20std____2__char_traits_char__2c_20std____2__allocator_char______rep_2c_20std____2__allocator_char______compressed_pair_5babi_v160004_5d_std____2____default_init_tag_2c_20std____2____default_init_tag__28std____2____default_init_tag___2c_20std____2____default_init_tag___29($5 | 0, $4 + 7 | 0 | 0, $4 + 6 | 0 | 0) | 0; + std____2__basic_string_char_2c_20std____2__char_traits_char__2c_20std____2__allocator_char______init_28char_20const__2c_20unsigned_20long_29($5 | 0, HEAP32[($4 + 8 | 0) >> 2] | 0 | 0, std____2__char_traits_char___length_28char_20const__29(HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) | 0 | 0); + void_20std____2____debug_db_insert_c_5babi_v160004_5d_std____2__basic_string_char_2c_20std____2__char_traits_char__2c_20std____2__allocator_char____28std____2__basic_string_char_2c_20std____2__char_traits_char__2c_20std____2__allocator_char____29($5 | 0); + __stack_pointer = $4 + 16 | 0; + return $5 | 0; + } + + function __cxx_global_array_dtor($0) { + $0 = $0 | 0; + var $3 = 0, $12 = 0, $9 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $9 = (GOT_data_internal___memory_base + 113184 | 0) + 48 | 0; + label$1 : while (1) { + $12 = $9 + -12 | 0; + std____2__basic_string_char_2c_20std____2__char_traits_char__2c_20std____2__allocator_char_____basic_string_28_29($12 | 0) | 0; + $9 = $12; + if (!(($12 | 0) == (GOT_data_internal___memory_base + 113184 | 0 | 0) & 1 | 0)) { + continue label$1 + } + break label$1; + }; + __stack_pointer = $3 + 16 | 0; + return; + } + + function std____2____compressed_pair_std____2__basic_string_char_2c_20std____2__char_traits_char__2c_20std____2__allocator_char______rep_2c_20std____2__allocator_char______compressed_pair_5babi_v160004_5d_std____2____default_init_tag_2c_20std____2____default_init_tag__28std____2____default_init_tag___2c_20std____2____default_init_tag___29($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $5 = 0, $6 = 0; + $5 = __stack_pointer - 16 | 0; + __stack_pointer = $5; + HEAP32[($5 + 12 | 0) >> 2] = $0; + HEAP32[($5 + 8 | 0) >> 2] = $1; + HEAP32[($5 + 4 | 0) >> 2] = $2; + $6 = HEAP32[($5 + 12 | 0) >> 2] | 0; + std____2____compressed_pair_elem_std____2__basic_string_char_2c_20std____2__char_traits_char__2c_20std____2__allocator_char______rep_2c_200_2c_20false_____compressed_pair_elem_5babi_v160004_5d_28std____2____default_init_tag_29($6 | 0) | 0; + std____2____compressed_pair_elem_std____2__allocator_char__2c_201_2c_20true_____compressed_pair_elem_5babi_v160004_5d_28std____2____default_init_tag_29($6 | 0) | 0; + __stack_pointer = $5 + 16 | 0; + return $6 | 0; + } + + function std____2__char_traits_char___length_28char_20const__29($0) { + $0 = $0 | 0; + var $3 = 0, $5 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $5 = std____2____constexpr_strlen_5babi_v160004_5d_28char_20const__29(HEAP32[($3 + 12 | 0) >> 2] | 0 | 0) | 0; + __stack_pointer = $3 + 16 | 0; + return $5 | 0; + } + + function void_20std____2____debug_db_insert_c_5babi_v160004_5d_std____2__basic_string_char_2c_20std____2__char_traits_char__2c_20std____2__allocator_char____28std____2__basic_string_char_2c_20std____2__char_traits_char__2c_20std____2__allocator_char____29($0) { + $0 = $0 | 0; + HEAP32[((__stack_pointer - 16 | 0) + 12 | 0) >> 2] = $0; + return; + } + + function _safe_delete_28int_2c_20int_29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, $63 = 0, $81 = 0, $99 = 0, $117 = 0, $135 = 0, $153 = 0, $171 = 0, $189 = 0, $207 = 0, $225 = 0, $243 = 0, $261 = 0, $5 = 0, $15 = 0, $31 = 0, $47 = 0; + $4 = __stack_pointer - 80 | 0; + __stack_pointer = $4; + HEAP32[($4 + 76 | 0) >> 2] = $0; + HEAP32[($4 + 72 | 0) >> 2] = $1; + $5 = HEAP32[($4 + 72 | 0) >> 2] | 0; + label$1 : { + label$2 : { + switch ($5 | 0) { + case 0: + HEAP32[($4 + 68 | 0) >> 2] = HEAP32[($4 + 76 | 0) >> 2] | 0; + label$18 : { + if (!((HEAP32[($4 + 68 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$18 + } + $15 = HEAP32[($4 + 68 | 0) >> 2] | 0; + label$19 : { + if (($15 | 0) == (0 | 0) & 1 | 0) { + break label$19 + } + btVector3__operator_20delete_28void__29($15 | 0); + } + HEAP32[($4 + 68 | 0) >> 2] = 0; + } + break label$1; + case 1: + HEAP32[($4 + 64 | 0) >> 2] = HEAP32[($4 + 76 | 0) >> 2] | 0; + label$20 : { + if (!((HEAP32[($4 + 64 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$20 + } + $31 = HEAP32[($4 + 64 | 0) >> 2] | 0; + label$21 : { + if (($31 | 0) == (0 | 0) & 1 | 0) { + break label$21 + } + operator_20delete_28void__29($31 | 0); + } + HEAP32[($4 + 64 | 0) >> 2] = 0; + } + break label$1; + case 2: + HEAP32[($4 + 60 | 0) >> 2] = HEAP32[($4 + 76 | 0) >> 2] | 0; + label$22 : { + if (!((HEAP32[($4 + 60 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$22 + } + $47 = HEAP32[($4 + 60 | 0) >> 2] | 0; + label$23 : { + if (($47 | 0) == (0 | 0) & 1 | 0) { + break label$23 + } + operator_20delete_28void__29($47 | 0); + } + HEAP32[($4 + 60 | 0) >> 2] = 0; + } + break label$1; + case 3: + HEAP32[($4 + 56 | 0) >> 2] = HEAP32[($4 + 76 | 0) >> 2] | 0; + label$24 : { + if (!((HEAP32[($4 + 56 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$24 + } + $63 = HEAP32[($4 + 56 | 0) >> 2] | 0; + label$25 : { + if (($63 | 0) == (0 | 0) & 1 | 0) { + break label$25 + } + FUNCTION_TABLE[HEAP32[((HEAP32[$63 >> 2] | 0) + 4 | 0) >> 2] | 0 | 0]($63); + } + HEAP32[($4 + 56 | 0) >> 2] = 0; + } + break label$1; + case 4: + HEAP32[($4 + 52 | 0) >> 2] = HEAP32[($4 + 76 | 0) >> 2] | 0; + label$26 : { + if (!((HEAP32[($4 + 52 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$26 + } + $81 = HEAP32[($4 + 52 | 0) >> 2] | 0; + label$27 : { + if (($81 | 0) == (0 | 0) & 1 | 0) { + break label$27 + } + FUNCTION_TABLE[HEAP32[((HEAP32[$81 >> 2] | 0) + 4 | 0) >> 2] | 0 | 0]($81); + } + HEAP32[($4 + 52 | 0) >> 2] = 0; + } + break label$1; + case 5: + HEAP32[($4 + 48 | 0) >> 2] = HEAP32[($4 + 76 | 0) >> 2] | 0; + label$28 : { + if (!((HEAP32[($4 + 48 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$28 + } + $99 = HEAP32[($4 + 48 | 0) >> 2] | 0; + label$29 : { + if (($99 | 0) == (0 | 0) & 1 | 0) { + break label$29 + } + FUNCTION_TABLE[HEAP32[((HEAP32[$99 >> 2] | 0) + 4 | 0) >> 2] | 0 | 0]($99); + } + HEAP32[($4 + 48 | 0) >> 2] = 0; + } + break label$1; + case 7: + HEAP32[($4 + 44 | 0) >> 2] = HEAP32[($4 + 76 | 0) >> 2] | 0; + label$30 : { + if (!((HEAP32[($4 + 44 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$30 + } + $117 = HEAP32[($4 + 44 | 0) >> 2] | 0; + label$31 : { + if (($117 | 0) == (0 | 0) & 1 | 0) { + break label$31 + } + FUNCTION_TABLE[HEAP32[((HEAP32[$117 >> 2] | 0) + 4 | 0) >> 2] | 0 | 0]($117); + } + HEAP32[($4 + 44 | 0) >> 2] = 0; + } + break label$1; + case 8: + HEAP32[($4 + 40 | 0) >> 2] = HEAP32[($4 + 76 | 0) >> 2] | 0; + label$32 : { + if (!((HEAP32[($4 + 40 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$32 + } + $135 = HEAP32[($4 + 40 | 0) >> 2] | 0; + label$33 : { + if (($135 | 0) == (0 | 0) & 1 | 0) { + break label$33 + } + FUNCTION_TABLE[HEAP32[((HEAP32[$135 >> 2] | 0) + 4 | 0) >> 2] | 0 | 0]($135); + } + HEAP32[($4 + 40 | 0) >> 2] = 0; + } + break label$1; + case 9: + HEAP32[($4 + 36 | 0) >> 2] = HEAP32[($4 + 76 | 0) >> 2] | 0; + label$34 : { + if (!((HEAP32[($4 + 36 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$34 + } + $153 = HEAP32[($4 + 36 | 0) >> 2] | 0; + label$35 : { + if (($153 | 0) == (0 | 0) & 1 | 0) { + break label$35 + } + FUNCTION_TABLE[HEAP32[((HEAP32[$153 >> 2] | 0) + 4 | 0) >> 2] | 0 | 0]($153); + } + HEAP32[($4 + 36 | 0) >> 2] = 0; + } + break label$1; + case 10: + HEAP32[($4 + 32 | 0) >> 2] = HEAP32[($4 + 76 | 0) >> 2] | 0; + label$36 : { + if (!((HEAP32[($4 + 32 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$36 + } + $171 = HEAP32[($4 + 32 | 0) >> 2] | 0; + label$37 : { + if (($171 | 0) == (0 | 0) & 1 | 0) { + break label$37 + } + FUNCTION_TABLE[HEAP32[((HEAP32[$171 >> 2] | 0) + 4 | 0) >> 2] | 0 | 0]($171); + } + HEAP32[($4 + 32 | 0) >> 2] = 0; + } + break label$1; + case 11: + HEAP32[($4 + 28 | 0) >> 2] = HEAP32[($4 + 76 | 0) >> 2] | 0; + label$38 : { + if (!((HEAP32[($4 + 28 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$38 + } + $189 = HEAP32[($4 + 28 | 0) >> 2] | 0; + label$39 : { + if (($189 | 0) == (0 | 0) & 1 | 0) { + break label$39 + } + FUNCTION_TABLE[HEAP32[((HEAP32[$189 >> 2] | 0) + 4 | 0) >> 2] | 0 | 0]($189); + } + HEAP32[($4 + 28 | 0) >> 2] = 0; + } + break label$1; + case 12: + HEAP32[($4 + 24 | 0) >> 2] = HEAP32[($4 + 76 | 0) >> 2] | 0; + label$40 : { + if (!((HEAP32[($4 + 24 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$40 + } + $207 = HEAP32[($4 + 24 | 0) >> 2] | 0; + label$41 : { + if (($207 | 0) == (0 | 0) & 1 | 0) { + break label$41 + } + FUNCTION_TABLE[HEAP32[((HEAP32[$207 >> 2] | 0) + 4 | 0) >> 2] | 0 | 0]($207); + } + HEAP32[($4 + 24 | 0) >> 2] = 0; + } + break label$1; + case 13: + HEAP32[($4 + 20 | 0) >> 2] = HEAP32[($4 + 76 | 0) >> 2] | 0; + label$42 : { + if (!((HEAP32[($4 + 20 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$42 + } + $225 = HEAP32[($4 + 20 | 0) >> 2] | 0; + label$43 : { + if (($225 | 0) == (0 | 0) & 1 | 0) { + break label$43 + } + FUNCTION_TABLE[HEAP32[((HEAP32[$225 >> 2] | 0) + 4 | 0) >> 2] | 0 | 0]($225); + } + HEAP32[($4 + 20 | 0) >> 2] = 0; + } + break label$1; + case 6: + HEAP32[($4 + 16 | 0) >> 2] = HEAP32[($4 + 76 | 0) >> 2] | 0; + label$44 : { + if (!((HEAP32[($4 + 16 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$44 + } + $243 = HEAP32[($4 + 16 | 0) >> 2] | 0; + label$45 : { + if (($243 | 0) == (0 | 0) & 1 | 0) { + break label$45 + } + FUNCTION_TABLE[HEAP32[((HEAP32[$243 >> 2] | 0) + 4 | 0) >> 2] | 0 | 0]($243); + } + HEAP32[($4 + 16 | 0) >> 2] = 0; + } + break label$1; + case 14: + HEAP32[($4 + 12 | 0) >> 2] = HEAP32[($4 + 76 | 0) >> 2] | 0; + label$46 : { + if (!((HEAP32[($4 + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$46 + } + $261 = HEAP32[($4 + 12 | 0) >> 2] | 0; + label$47 : { + if (($261 | 0) == (0 | 0) & 1 | 0) { + break label$47 + } + FUNCTION_TABLE[HEAP32[((HEAP32[$261 >> 2] | 0) + 4 | 0) >> 2] | 0 | 0]($261); + } + HEAP32[($4 + 12 | 0) >> 2] = 0; + } + break label$1; + default: + break label$2; + }; + } + } + __stack_pointer = $4 + 80 | 0; + return; + } + + function btVector3__operator_20delete_28void__29($0) { + $0 = $0 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + btAlignedFreeInternal_28void__29(HEAP32[($3 + 12 | 0) >> 2] | 0 | 0); + __stack_pointer = $3 + 16 | 0; + return; + } + + function RayCallback_hasHit_28int_29($0) { + $0 = $0 | 0; + var $3 = 0, $8 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + HEAP32[($3 + 8 | 0) >> 2] = HEAP32[($3 + 12 | 0) >> 2] | 0; + $8 = (btCollisionWorld__RayResultCallback__hasHit_28_29_20const(HEAP32[($3 + 8 | 0) >> 2] | 0 | 0) | 0) & 1 | 0; + __stack_pointer = $3 + 16 | 0; + return $8 | 0; + } + + function btCollisionWorld__RayResultCallback__hasHit_28_29_20const($0) { + $0 = $0 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + return (HEAP32[((HEAP32[($3 + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0 | 0; + } + + function ConvexCallback_hasHit_28int_29($0) { + $0 = $0 | 0; + var $3 = 0, $8 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + HEAP32[($3 + 8 | 0) >> 2] = HEAP32[($3 + 12 | 0) >> 2] | 0; + $8 = (btCollisionWorld__ConvexResultCallback__hasHit_28_29_20const(HEAP32[($3 + 8 | 0) >> 2] | 0 | 0) | 0) & 1 | 0; + __stack_pointer = $3 + 16 | 0; + return $8 | 0; + } + + function btCollisionWorld__ConvexResultCallback__hasHit_28_29_20const($0) { + $0 = $0 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + return (HEAP32[((HEAP32[($3 + 12 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0 | 0; + } + + function ccClosestRayCallback_static_28_29() { + var $2 = 0, $18 = 0; + $2 = __stack_pointer - 32 | 0; + __stack_pointer = $2; + label$1 : { + if (!(((HEAPU8[(GOT_data_internal___memory_base + 113324 | 0) >> 0] | 0) & 255 | 0 | 0) == (0 & 255 | 0 | 0) & 1 | 0)) { + break label$1 + } + btVector3__btVector3_28_29($2 + 16 | 0 | 0) | 0; + btVector3__btVector3_28_29($2 | 0) | 0; + $18 = GOT_data_internal___memory_base; + cc__ccClosestRayResultCallback__ccClosestRayResultCallback_28btVector3_20const__2c_20btVector3_20const__29($18 + 113232 | 0 | 0, $2 + 16 | 0 | 0, $2 | 0) | 0; + __cxa_atexit(GOT_data_internal___table_base + 1 | 0 | 0, 0 | 0, $18 + 65536 | 0 | 0) | 0; + HEAP8[($18 + 113324 | 0) >> 0] = 1; + } + __stack_pointer = $2 + 32 | 0; + return GOT_data_internal___memory_base + 113232 | 0 | 0; + } + + function btVector3__btVector3_28_29($0) { + $0 = $0 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + return HEAP32[($3 + 12 | 0) >> 2] | 0 | 0; + } + + function cc__ccClosestRayResultCallback__ccClosestRayResultCallback_28btVector3_20const__2c_20btVector3_20const__29($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $5 = 0, $6 = 0; + $5 = __stack_pointer - 16 | 0; + __stack_pointer = $5; + HEAP32[($5 + 12 | 0) >> 2] = $0; + HEAP32[($5 + 8 | 0) >> 2] = $1; + HEAP32[($5 + 4 | 0) >> 2] = $2; + $6 = HEAP32[($5 + 12 | 0) >> 2] | 0; + btCollisionWorld__ClosestRayResultCallback__ClosestRayResultCallback_28btVector3_20const__2c_20btVector3_20const__29($6 | 0, HEAP32[($5 + 8 | 0) >> 2] | 0 | 0, HEAP32[($5 + 4 | 0) >> 2] | 0 | 0) | 0; + HEAP32[$6 >> 2] = GOT_data_internal_vtable_20for_20cc__ccClosestRayResultCallback + 8 | 0; + HEAP32[($6 + 84 | 0) >> 2] = 0; + HEAP8[($6 + 88 | 0) >> 0] = 1; + HEAP32[($6 + 12 | 0) >> 2] = -1; + __stack_pointer = $5 + 16 | 0; + return $6 | 0; + } + + function __cxx_global_array_dtor_5($0) { + $0 = $0 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + cc__ccClosestRayResultCallback___ccClosestRayResultCallback_28_29(GOT_data_internal___memory_base + 113232 | 0 | 0) | 0; + __stack_pointer = $3 + 16 | 0; + return; + } + + function btCollisionWorld__ClosestRayResultCallback__ClosestRayResultCallback_28btVector3_20const__2c_20btVector3_20const__29($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var i64toi32_i32$2 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $5 = 0, $6 = 0, $11 = 0, $14 = 0, $19 = 0, $22 = 0, $61 = 0, $71 = 0, $80 = 0, $90 = 0; + $5 = __stack_pointer - 16 | 0; + __stack_pointer = $5; + HEAP32[($5 + 12 | 0) >> 2] = $0; + HEAP32[($5 + 8 | 0) >> 2] = $1; + HEAP32[($5 + 4 | 0) >> 2] = $2; + $6 = HEAP32[($5 + 12 | 0) >> 2] | 0; + btCollisionWorld__RayResultCallback__RayResultCallback_28_29($6 | 0) | 0; + HEAP32[$6 >> 2] = GOT_data_internal_vtable_20for_20btCollisionWorld__ClosestRayResultCallback + 8 | 0; + $11 = $6 + 20 | 0; + i64toi32_i32$2 = HEAP32[($5 + 8 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $61 = i64toi32_i32$0; + i64toi32_i32$0 = $11; + HEAP32[i64toi32_i32$0 >> 2] = $61; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $14 = 8; + i64toi32_i32$2 = i64toi32_i32$2 + $14 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $71 = i64toi32_i32$1; + i64toi32_i32$1 = $11 + $14 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $71; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + $19 = $6 + 36 | 0; + i64toi32_i32$2 = HEAP32[($5 + 4 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $80 = i64toi32_i32$0; + i64toi32_i32$0 = $19; + HEAP32[i64toi32_i32$0 >> 2] = $80; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $22 = 8; + i64toi32_i32$2 = i64toi32_i32$2 + $22 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $90 = i64toi32_i32$1; + i64toi32_i32$1 = $19 + $22 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $90; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + btVector3__btVector3_28_29($6 + 52 | 0 | 0) | 0; + btVector3__btVector3_28_29($6 + 68 | 0 | 0) | 0; + __stack_pointer = $5 + 16 | 0; + return $6 | 0; + } + + function cc__ccClosestRayResultCallback___ccClosestRayResultCallback_28_29($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + btCollisionWorld__ClosestRayResultCallback___ClosestRayResultCallback_28_29($4 | 0) | 0; + __stack_pointer = $3 + 16 | 0; + return $4 | 0; + } + + function btCollisionWorld__ClosestRayResultCallback___ClosestRayResultCallback_28_29($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + btCollisionWorld__RayResultCallback___RayResultCallback_28_29($4 | 0) | 0; + __stack_pointer = $3 + 16 | 0; + return $4 | 0; + } + + function ccClosestRayCallback_setFlags_28int_2c_20int_29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0; + $4 = __stack_pointer - 16 | 0; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + HEAP32[($4 + 4 | 0) >> 2] = HEAP32[($4 + 12 | 0) >> 2] | 0; + HEAP32[((HEAP32[($4 + 4 | 0) >> 2] | 0) + 16 | 0) >> 2] = HEAP32[($4 + 8 | 0) >> 2] | 0; + return; + } + + function ccClosestRayCallback_reset_28int_2c_20int_2c_20int_2c_20unsigned_20int_2c_20bool_29($0, $1, $2, $3, $4) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + $4 = $4 | 0; + var $7 = 0, i64toi32_i32$2 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $13 = 0, $15 = 0, $22 = 0, $24 = 0, $65 = 0, $75 = 0, $86 = 0, $96 = 0; + $7 = __stack_pointer - 32 | 0; + __stack_pointer = $7; + HEAP32[($7 + 28 | 0) >> 2] = $0; + HEAP32[($7 + 24 | 0) >> 2] = $1; + HEAP32[($7 + 20 | 0) >> 2] = $2; + HEAP32[($7 + 16 | 0) >> 2] = $3; + HEAP8[($7 + 15 | 0) >> 0] = $4; + HEAP32[($7 + 8 | 0) >> 2] = HEAP32[($7 + 28 | 0) >> 2] | 0; + $13 = (HEAP32[($7 + 8 | 0) >> 2] | 0) + 20 | 0; + i64toi32_i32$2 = HEAP32[($7 + 24 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $65 = i64toi32_i32$0; + i64toi32_i32$0 = $13; + HEAP32[i64toi32_i32$0 >> 2] = $65; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $15 = 8; + i64toi32_i32$2 = i64toi32_i32$2 + $15 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $75 = i64toi32_i32$1; + i64toi32_i32$1 = $13 + $15 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $75; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + $22 = (HEAP32[($7 + 8 | 0) >> 2] | 0) + 36 | 0; + i64toi32_i32$2 = HEAP32[($7 + 20 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $86 = i64toi32_i32$0; + i64toi32_i32$0 = $22; + HEAP32[i64toi32_i32$0 >> 2] = $86; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $24 = 8; + i64toi32_i32$2 = i64toi32_i32$2 + $24 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $96 = i64toi32_i32$1; + i64toi32_i32$1 = $22 + $24 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $96; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + cc__ccClosestRayResultCallback__reset_28int_2c_20bool_29(HEAP32[($7 + 8 | 0) >> 2] | 0 | 0, HEAP32[($7 + 16 | 0) >> 2] | 0 | 0, (HEAPU8[($7 + 15 | 0) >> 0] | 0) & 1 | 0 | 0); + __stack_pointer = $7 + 32 | 0; + return; + } + + function cc__ccClosestRayResultCallback__reset_28int_2c_20bool_29($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $5 = 0, $7 = 0; + $5 = __stack_pointer - 16 | 0; + HEAP32[($5 + 12 | 0) >> 2] = $0; + HEAP32[($5 + 8 | 0) >> 2] = $1; + HEAP8[($5 + 7 | 0) >> 0] = $2; + $7 = HEAP32[($5 + 12 | 0) >> 2] | 0; + HEAP32[($7 + 12 | 0) >> 2] = HEAP32[($5 + 8 | 0) >> 2] | 0; + HEAP8[($7 + 88 | 0) >> 0] = (HEAPU8[($5 + 7 | 0) >> 0] | 0) & 1 | 0; + HEAPF32[($7 + 4 | 0) >> 2] = Math_fround(1.0); + HEAP32[($7 + 8 | 0) >> 2] = 0; + return; + } + + function ccClosestRayCallback_getHitNormalWorld_28int_29($0) { + $0 = $0 | 0; + var $3 = 0, $6 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + HEAP32[($3 + 8 | 0) >> 2] = HEAP32[($3 + 12 | 0) >> 2] | 0; + $6 = cc__ccClosestRayResultCallback__getHitNormalWorld_28_29(HEAP32[($3 + 8 | 0) >> 2] | 0 | 0) | 0; + __stack_pointer = $3 + 16 | 0; + return $6 | 0; + } + + function cc__ccClosestRayResultCallback__getHitNormalWorld_28_29($0) { + $0 = $0 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + return (HEAP32[($3 + 12 | 0) >> 2] | 0) + 52 | 0 | 0; + } + + function ccClosestRayCallback_getHitPointWorld_28int_29($0) { + $0 = $0 | 0; + var $3 = 0, $6 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + HEAP32[($3 + 8 | 0) >> 2] = HEAP32[($3 + 12 | 0) >> 2] | 0; + $6 = cc__ccClosestRayResultCallback__getHitPointWorld_28_29(HEAP32[($3 + 8 | 0) >> 2] | 0 | 0) | 0; + __stack_pointer = $3 + 16 | 0; + return $6 | 0; + } + + function cc__ccClosestRayResultCallback__getHitPointWorld_28_29($0) { + $0 = $0 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + return (HEAP32[($3 + 12 | 0) >> 2] | 0) + 68 | 0 | 0; + } + + function ccClosestRayCallback_getCollisionShapePtr_28int_29($0) { + $0 = $0 | 0; + var $3 = 0, $6 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + HEAP32[($3 + 8 | 0) >> 2] = HEAP32[($3 + 12 | 0) >> 2] | 0; + $6 = cc__ccClosestRayResultCallback__getCollisionShapePtr_28_29_20const(HEAP32[($3 + 8 | 0) >> 2] | 0 | 0) | 0; + __stack_pointer = $3 + 16 | 0; + return $6 | 0; + } + + function cc__ccClosestRayResultCallback__getCollisionShapePtr_28_29_20const($0) { + $0 = $0 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + return HEAP32[((HEAP32[($3 + 12 | 0) >> 2] | 0) + 84 | 0) >> 2] | 0 | 0; + } + + function ccAllRayCallback_static_28_29() { + var $2 = 0, $18 = 0; + $2 = __stack_pointer - 32 | 0; + __stack_pointer = $2; + label$1 : { + if (!(((HEAPU8[(GOT_data_internal___memory_base + 113484 | 0) >> 0] | 0) & 255 | 0 | 0) == (0 & 255 | 0 | 0) & 1 | 0)) { + break label$1 + } + btVector3__btVector3_28_29($2 + 16 | 0 | 0) | 0; + btVector3__btVector3_28_29($2 | 0) | 0; + $18 = GOT_data_internal___memory_base; + cc__ccAllHitsRayResultCallback__ccAllHitsRayResultCallback_28btVector3_20const__2c_20btVector3_20const__29($18 + 113328 | 0 | 0, $2 + 16 | 0 | 0, $2 | 0) | 0; + __cxa_atexit(GOT_data_internal___table_base + 2 | 0 | 0, 0 | 0, $18 + 65536 | 0 | 0) | 0; + HEAP8[($18 + 113484 | 0) >> 0] = 1; + } + __stack_pointer = $2 + 32 | 0; + return GOT_data_internal___memory_base + 113328 | 0 | 0; + } + + function cc__ccAllHitsRayResultCallback__ccAllHitsRayResultCallback_28btVector3_20const__2c_20btVector3_20const__29($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $5 = 0, $6 = 0; + $5 = __stack_pointer - 16 | 0; + __stack_pointer = $5; + HEAP32[($5 + 12 | 0) >> 2] = $0; + HEAP32[($5 + 8 | 0) >> 2] = $1; + HEAP32[($5 + 4 | 0) >> 2] = $2; + $6 = HEAP32[($5 + 12 | 0) >> 2] | 0; + btCollisionWorld__AllHitsRayResultCallback__AllHitsRayResultCallback_28btVector3_20const__2c_20btVector3_20const__29($6 | 0, HEAP32[($5 + 8 | 0) >> 2] | 0 | 0, HEAP32[($5 + 4 | 0) >> 2] | 0 | 0) | 0; + HEAP32[$6 >> 2] = GOT_data_internal_vtable_20for_20cc__ccAllHitsRayResultCallback + 8 | 0; + btAlignedObjectArray_int___btAlignedObjectArray_28_29($6 + 132 | 0 | 0) | 0; + HEAP8[($6 + 152 | 0) >> 0] = 1; + HEAP32[($6 + 12 | 0) >> 2] = -1; + __stack_pointer = $5 + 16 | 0; + return $6 | 0; + } + + function __cxx_global_array_dtor_6($0) { + $0 = $0 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + cc__ccAllHitsRayResultCallback___ccAllHitsRayResultCallback_28_29(GOT_data_internal___memory_base + 113328 | 0 | 0) | 0; + __stack_pointer = $3 + 16 | 0; + return; + } + + function btCollisionWorld__AllHitsRayResultCallback__AllHitsRayResultCallback_28btVector3_20const__2c_20btVector3_20const__29($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var i64toi32_i32$2 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $6 = 0, $5 = 0, $13 = 0, $16 = 0, $21 = 0, $24 = 0, $70 = 0, $80 = 0, $89 = 0, $99 = 0; + $5 = __stack_pointer - 16 | 0; + __stack_pointer = $5; + HEAP32[($5 + 12 | 0) >> 2] = $0; + HEAP32[($5 + 8 | 0) >> 2] = $1; + HEAP32[($5 + 4 | 0) >> 2] = $2; + $6 = HEAP32[($5 + 12 | 0) >> 2] | 0; + btCollisionWorld__RayResultCallback__RayResultCallback_28_29($6 | 0) | 0; + HEAP32[$6 >> 2] = GOT_data_internal_vtable_20for_20btCollisionWorld__AllHitsRayResultCallback + 8 | 0; + btAlignedObjectArray_btCollisionObject_20const____btAlignedObjectArray_28_29($6 + 20 | 0 | 0) | 0; + $13 = $6 + 40 | 0; + i64toi32_i32$2 = HEAP32[($5 + 8 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $70 = i64toi32_i32$0; + i64toi32_i32$0 = $13; + HEAP32[i64toi32_i32$0 >> 2] = $70; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $16 = 8; + i64toi32_i32$2 = i64toi32_i32$2 + $16 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $80 = i64toi32_i32$1; + i64toi32_i32$1 = $13 + $16 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $80; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + $21 = $6 + 56 | 0; + i64toi32_i32$2 = HEAP32[($5 + 4 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $89 = i64toi32_i32$0; + i64toi32_i32$0 = $21; + HEAP32[i64toi32_i32$0 >> 2] = $89; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $24 = 8; + i64toi32_i32$2 = i64toi32_i32$2 + $24 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $99 = i64toi32_i32$1; + i64toi32_i32$1 = $21 + $24 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $99; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + btAlignedObjectArray_btVector3___btAlignedObjectArray_28_29($6 + 72 | 0 | 0) | 0; + btAlignedObjectArray_btVector3___btAlignedObjectArray_28_29($6 + 92 | 0 | 0) | 0; + btAlignedObjectArray_float___btAlignedObjectArray_28_29($6 + 112 | 0 | 0) | 0; + __stack_pointer = $5 + 16 | 0; + return $6 | 0; + } + + function btAlignedObjectArray_int___btAlignedObjectArray_28_29($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + btAlignedAllocator_int_2c_2016u___btAlignedAllocator_28_29($4 | 0) | 0; + btAlignedObjectArray_int___init_28_29($4 | 0); + __stack_pointer = $3 + 16 | 0; + return $4 | 0; + } + + function cc__ccAllHitsRayResultCallback___ccAllHitsRayResultCallback_28_29($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + HEAP32[$4 >> 2] = GOT_data_internal_vtable_20for_20cc__ccAllHitsRayResultCallback + 8 | 0; + btAlignedObjectArray_int____btAlignedObjectArray_28_29($4 + 132 | 0 | 0) | 0; + btCollisionWorld__AllHitsRayResultCallback___AllHitsRayResultCallback_28_29($4 | 0) | 0; + __stack_pointer = $3 + 16 | 0; + return $4 | 0; + } + + function btAlignedObjectArray_int____btAlignedObjectArray_28_29($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + btAlignedObjectArray_int___clear_28_29($4 | 0); + __stack_pointer = $3 + 16 | 0; + return $4 | 0; + } + + function btCollisionWorld__AllHitsRayResultCallback___AllHitsRayResultCallback_28_29($0) { + $0 = $0 | 0; + var $4 = 0, $3 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + HEAP32[$4 >> 2] = GOT_data_internal_vtable_20for_20btCollisionWorld__AllHitsRayResultCallback + 8 | 0; + btAlignedObjectArray_float____btAlignedObjectArray_28_29($4 + 112 | 0 | 0) | 0; + btAlignedObjectArray_btVector3____btAlignedObjectArray_28_29($4 + 92 | 0 | 0) | 0; + btAlignedObjectArray_btVector3____btAlignedObjectArray_28_29($4 + 72 | 0 | 0) | 0; + btAlignedObjectArray_btCollisionObject_20const_____btAlignedObjectArray_28_29($4 + 20 | 0 | 0) | 0; + btCollisionWorld__RayResultCallback___RayResultCallback_28_29($4 | 0) | 0; + __stack_pointer = $3 + 16 | 0; + return $4 | 0; + } + + function ccAllRayCallback_setFlags_28int_2c_20int_29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0; + $4 = __stack_pointer - 16 | 0; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + HEAP32[($4 + 4 | 0) >> 2] = HEAP32[($4 + 12 | 0) >> 2] | 0; + HEAP32[((HEAP32[($4 + 4 | 0) >> 2] | 0) + 16 | 0) >> 2] = HEAP32[($4 + 8 | 0) >> 2] | 0; + return; + } + + function ccAllRayCallback_reset_28int_2c_20int_2c_20int_2c_20unsigned_20int_2c_20bool_29($0, $1, $2, $3, $4) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + $4 = $4 | 0; + var $7 = 0, i64toi32_i32$2 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $13 = 0, $15 = 0, $22 = 0, $24 = 0, $65 = 0, $75 = 0, $86 = 0, $96 = 0; + $7 = __stack_pointer - 32 | 0; + __stack_pointer = $7; + HEAP32[($7 + 28 | 0) >> 2] = $0; + HEAP32[($7 + 24 | 0) >> 2] = $1; + HEAP32[($7 + 20 | 0) >> 2] = $2; + HEAP32[($7 + 16 | 0) >> 2] = $3; + HEAP8[($7 + 15 | 0) >> 0] = $4; + HEAP32[($7 + 8 | 0) >> 2] = HEAP32[($7 + 28 | 0) >> 2] | 0; + $13 = (HEAP32[($7 + 8 | 0) >> 2] | 0) + 40 | 0; + i64toi32_i32$2 = HEAP32[($7 + 24 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $65 = i64toi32_i32$0; + i64toi32_i32$0 = $13; + HEAP32[i64toi32_i32$0 >> 2] = $65; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $15 = 8; + i64toi32_i32$2 = i64toi32_i32$2 + $15 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $75 = i64toi32_i32$1; + i64toi32_i32$1 = $13 + $15 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $75; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + $22 = (HEAP32[($7 + 8 | 0) >> 2] | 0) + 56 | 0; + i64toi32_i32$2 = HEAP32[($7 + 20 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $86 = i64toi32_i32$0; + i64toi32_i32$0 = $22; + HEAP32[i64toi32_i32$0 >> 2] = $86; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $24 = 8; + i64toi32_i32$2 = i64toi32_i32$2 + $24 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $96 = i64toi32_i32$1; + i64toi32_i32$1 = $22 + $24 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $96; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + cc__ccAllHitsRayResultCallback__reset_28unsigned_20int_2c_20bool_29(HEAP32[($7 + 8 | 0) >> 2] | 0 | 0, HEAP32[($7 + 16 | 0) >> 2] | 0 | 0, (HEAPU8[($7 + 15 | 0) >> 0] | 0) & 1 | 0 | 0); + __stack_pointer = $7 + 32 | 0; + return; + } + + function cc__ccAllHitsRayResultCallback__reset_28unsigned_20int_2c_20bool_29($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $5 = 0, $7 = 0; + $5 = __stack_pointer - 64 | 0; + __stack_pointer = $5; + HEAP32[($5 + 60 | 0) >> 2] = $0; + HEAP32[($5 + 56 | 0) >> 2] = $1; + HEAP8[($5 + 55 | 0) >> 0] = $2; + $7 = HEAP32[($5 + 60 | 0) >> 2] | 0; + HEAP32[($7 + 12 | 0) >> 2] = HEAP32[($5 + 56 | 0) >> 2] | 0; + HEAP8[($7 + 152 | 0) >> 0] = (HEAPU8[($5 + 55 | 0) >> 0] | 0) & 1 | 0; + HEAPF32[($7 + 4 | 0) >> 2] = Math_fround(1.0); + HEAP32[($7 + 8 | 0) >> 2] = 0; + HEAP32[($5 + 48 | 0) >> 2] = 0; + btAlignedObjectArray_int___resize_28int_2c_20int_20const__29($7 + 132 | 0 | 0, 0 | 0, $5 + 48 | 0 | 0); + HEAPF32[($5 + 44 | 0) >> 2] = Math_fround(0 | 0); + btAlignedObjectArray_float___resize_28int_2c_20float_20const__29($7 + 112 | 0 | 0, 0 | 0, $5 + 44 | 0 | 0); + HEAP32[($5 + 40 | 0) >> 2] = 0; + btAlignedObjectArray_btCollisionObject_20const____resize_28int_2c_20btCollisionObject_20const__20const__29($7 + 20 | 0 | 0, 0 | 0, $5 + 40 | 0 | 0); + btVector3__btVector3_28_29($5 + 24 | 0 | 0) | 0; + btAlignedObjectArray_btVector3___resize_28int_2c_20btVector3_20const__29($7 + 92 | 0 | 0, 0 | 0, $5 + 24 | 0 | 0); + btVector3__btVector3_28_29($5 + 8 | 0 | 0) | 0; + btAlignedObjectArray_btVector3___resize_28int_2c_20btVector3_20const__29($7 + 72 | 0 | 0, 0 | 0, $5 + 8 | 0 | 0); + __stack_pointer = $5 + 64 | 0; + return; + } + + function btAlignedObjectArray_int___resize_28int_2c_20int_20const__29($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $5 = 0, $6 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5 = __stack_pointer - 32 | 0; + __stack_pointer = $5; + HEAP32[($5 + 28 | 0) >> 2] = $0; + HEAP32[($5 + 24 | 0) >> 2] = $1; + HEAP32[($5 + 20 | 0) >> 2] = $2; + $6 = HEAP32[($5 + 28 | 0) >> 2] | 0; + (wasm2js_i32$0 = $5, wasm2js_i32$1 = btAlignedObjectArray_int___size_28_29_20const($6 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + label$2 : { + if (!((HEAP32[($5 + 24 | 0) >> 2] | 0 | 0) < (HEAP32[($5 + 16 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($5 + 12 | 0) >> 2] = HEAP32[($5 + 24 | 0) >> 2] | 0; + label$3 : { + label$4 : while (1) { + if (!((HEAP32[($5 + 12 | 0) >> 2] | 0 | 0) < (HEAP32[($5 + 16 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$3 + } + HEAP32[($5 + 12 | 0) >> 2] = (HEAP32[($5 + 12 | 0) >> 2] | 0) + 1 | 0; + continue label$4; + }; + } + break label$1; + } + label$5 : { + if (!((HEAP32[($5 + 24 | 0) >> 2] | 0 | 0) > (HEAP32[($5 + 16 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$5 + } + btAlignedObjectArray_int___reserve_28int_29($6 | 0, HEAP32[($5 + 24 | 0) >> 2] | 0 | 0); + } + HEAP32[($5 + 8 | 0) >> 2] = HEAP32[($5 + 16 | 0) >> 2] | 0; + label$6 : { + label$7 : while (1) { + if (!((HEAP32[($5 + 8 | 0) >> 2] | 0 | 0) < (HEAP32[($5 + 24 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$6 + } + HEAP32[((HEAP32[($6 + 12 | 0) >> 2] | 0) + ((HEAP32[($5 + 8 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = HEAP32[(HEAP32[($5 + 20 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($5 + 8 | 0) >> 2] = (HEAP32[($5 + 8 | 0) >> 2] | 0) + 1 | 0; + continue label$7; + }; + } + } + HEAP32[($6 + 4 | 0) >> 2] = HEAP32[($5 + 24 | 0) >> 2] | 0; + __stack_pointer = $5 + 32 | 0; + return; + } + + function btAlignedObjectArray_float___resize_28int_2c_20float_20const__29($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $5 = 0, $6 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5 = __stack_pointer - 32 | 0; + __stack_pointer = $5; + HEAP32[($5 + 28 | 0) >> 2] = $0; + HEAP32[($5 + 24 | 0) >> 2] = $1; + HEAP32[($5 + 20 | 0) >> 2] = $2; + $6 = HEAP32[($5 + 28 | 0) >> 2] | 0; + (wasm2js_i32$0 = $5, wasm2js_i32$1 = btAlignedObjectArray_float___size_28_29_20const($6 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + label$2 : { + if (!((HEAP32[($5 + 24 | 0) >> 2] | 0 | 0) < (HEAP32[($5 + 16 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($5 + 12 | 0) >> 2] = HEAP32[($5 + 24 | 0) >> 2] | 0; + label$3 : { + label$4 : while (1) { + if (!((HEAP32[($5 + 12 | 0) >> 2] | 0 | 0) < (HEAP32[($5 + 16 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$3 + } + HEAP32[($5 + 12 | 0) >> 2] = (HEAP32[($5 + 12 | 0) >> 2] | 0) + 1 | 0; + continue label$4; + }; + } + break label$1; + } + label$5 : { + if (!((HEAP32[($5 + 24 | 0) >> 2] | 0 | 0) > (HEAP32[($5 + 16 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$5 + } + btAlignedObjectArray_float___reserve_28int_29($6 | 0, HEAP32[($5 + 24 | 0) >> 2] | 0 | 0); + } + HEAP32[($5 + 8 | 0) >> 2] = HEAP32[($5 + 16 | 0) >> 2] | 0; + label$6 : { + label$7 : while (1) { + if (!((HEAP32[($5 + 8 | 0) >> 2] | 0 | 0) < (HEAP32[($5 + 24 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$6 + } + HEAPF32[((HEAP32[($6 + 12 | 0) >> 2] | 0) + ((HEAP32[($5 + 8 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = Math_fround(HEAPF32[(HEAP32[($5 + 20 | 0) >> 2] | 0) >> 2]); + HEAP32[($5 + 8 | 0) >> 2] = (HEAP32[($5 + 8 | 0) >> 2] | 0) + 1 | 0; + continue label$7; + }; + } + } + HEAP32[($6 + 4 | 0) >> 2] = HEAP32[($5 + 24 | 0) >> 2] | 0; + __stack_pointer = $5 + 32 | 0; + return; + } + + function btAlignedObjectArray_btCollisionObject_20const____resize_28int_2c_20btCollisionObject_20const__20const__29($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $5 = 0, $6 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5 = __stack_pointer - 32 | 0; + __stack_pointer = $5; + HEAP32[($5 + 28 | 0) >> 2] = $0; + HEAP32[($5 + 24 | 0) >> 2] = $1; + HEAP32[($5 + 20 | 0) >> 2] = $2; + $6 = HEAP32[($5 + 28 | 0) >> 2] | 0; + (wasm2js_i32$0 = $5, wasm2js_i32$1 = btAlignedObjectArray_btCollisionObject_20const____size_28_29_20const($6 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + label$2 : { + if (!((HEAP32[($5 + 24 | 0) >> 2] | 0 | 0) < (HEAP32[($5 + 16 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($5 + 12 | 0) >> 2] = HEAP32[($5 + 24 | 0) >> 2] | 0; + label$3 : { + label$4 : while (1) { + if (!((HEAP32[($5 + 12 | 0) >> 2] | 0 | 0) < (HEAP32[($5 + 16 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$3 + } + HEAP32[($5 + 12 | 0) >> 2] = (HEAP32[($5 + 12 | 0) >> 2] | 0) + 1 | 0; + continue label$4; + }; + } + break label$1; + } + label$5 : { + if (!((HEAP32[($5 + 24 | 0) >> 2] | 0 | 0) > (HEAP32[($5 + 16 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$5 + } + btAlignedObjectArray_btCollisionObject_20const____reserve_28int_29($6 | 0, HEAP32[($5 + 24 | 0) >> 2] | 0 | 0); + } + HEAP32[($5 + 8 | 0) >> 2] = HEAP32[($5 + 16 | 0) >> 2] | 0; + label$6 : { + label$7 : while (1) { + if (!((HEAP32[($5 + 8 | 0) >> 2] | 0 | 0) < (HEAP32[($5 + 24 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$6 + } + HEAP32[((HEAP32[($6 + 12 | 0) >> 2] | 0) + ((HEAP32[($5 + 8 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = HEAP32[(HEAP32[($5 + 20 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($5 + 8 | 0) >> 2] = (HEAP32[($5 + 8 | 0) >> 2] | 0) + 1 | 0; + continue label$7; + }; + } + } + HEAP32[($6 + 4 | 0) >> 2] = HEAP32[($5 + 24 | 0) >> 2] | 0; + __stack_pointer = $5 + 32 | 0; + return; + } + + function btAlignedObjectArray_btVector3___resize_28int_2c_20btVector3_20const__29($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $5 = 0, i64toi32_i32$2 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $6 = 0, $48 = 0, $51 = 0, $171 = 0, $181 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5 = __stack_pointer - 32 | 0; + __stack_pointer = $5; + HEAP32[($5 + 28 | 0) >> 2] = $0; + HEAP32[($5 + 24 | 0) >> 2] = $1; + HEAP32[($5 + 20 | 0) >> 2] = $2; + $6 = HEAP32[($5 + 28 | 0) >> 2] | 0; + (wasm2js_i32$0 = $5, wasm2js_i32$1 = btAlignedObjectArray_btVector3___size_28_29_20const($6 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + label$2 : { + if (!((HEAP32[($5 + 24 | 0) >> 2] | 0 | 0) < (HEAP32[($5 + 16 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($5 + 12 | 0) >> 2] = HEAP32[($5 + 24 | 0) >> 2] | 0; + label$3 : { + label$4 : while (1) { + if (!((HEAP32[($5 + 12 | 0) >> 2] | 0 | 0) < (HEAP32[($5 + 16 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$3 + } + HEAP32[($5 + 12 | 0) >> 2] = (HEAP32[($5 + 12 | 0) >> 2] | 0) + 1 | 0; + continue label$4; + }; + } + break label$1; + } + label$5 : { + if (!((HEAP32[($5 + 24 | 0) >> 2] | 0 | 0) > (HEAP32[($5 + 16 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$5 + } + btAlignedObjectArray_btVector3___reserve_28int_29($6 | 0, HEAP32[($5 + 24 | 0) >> 2] | 0 | 0); + } + HEAP32[($5 + 8 | 0) >> 2] = HEAP32[($5 + 16 | 0) >> 2] | 0; + label$6 : { + label$7 : while (1) { + if (!((HEAP32[($5 + 8 | 0) >> 2] | 0 | 0) < (HEAP32[($5 + 24 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$6 + } + $48 = btVector3__operator_20new_28unsigned_20long_2c_20void__29(16 | 0, (HEAP32[($6 + 12 | 0) >> 2] | 0) + ((HEAP32[($5 + 8 | 0) >> 2] | 0) << 4 | 0) | 0 | 0) | 0; + i64toi32_i32$2 = HEAP32[($5 + 20 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $171 = i64toi32_i32$0; + i64toi32_i32$0 = $48; + HEAP32[i64toi32_i32$0 >> 2] = $171; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $51 = 8; + i64toi32_i32$2 = i64toi32_i32$2 + $51 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $181 = i64toi32_i32$1; + i64toi32_i32$1 = $48 + $51 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $181; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($5 + 8 | 0) >> 2] = (HEAP32[($5 + 8 | 0) >> 2] | 0) + 1 | 0; + continue label$7; + }; + } + } + HEAP32[($6 + 4 | 0) >> 2] = HEAP32[($5 + 24 | 0) >> 2] | 0; + __stack_pointer = $5 + 32 | 0; + return; + } + + function ccAllRayCallback_getHitPointWorld_28int_29($0) { + $0 = $0 | 0; + var $3 = 0, $6 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + HEAP32[($3 + 8 | 0) >> 2] = HEAP32[($3 + 12 | 0) >> 2] | 0; + $6 = cc__ccAllHitsRayResultCallback__getHitPointWorld_28_29(HEAP32[($3 + 8 | 0) >> 2] | 0 | 0) | 0; + __stack_pointer = $3 + 16 | 0; + return $6 | 0; + } + + function cc__ccAllHitsRayResultCallback__getHitPointWorld_28_29($0) { + $0 = $0 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + return (HEAP32[($3 + 12 | 0) >> 2] | 0) + 92 | 0 | 0; + } + + function ccAllRayCallback_getHitNormalWorld_28int_29($0) { + $0 = $0 | 0; + var $3 = 0, $6 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + HEAP32[($3 + 8 | 0) >> 2] = HEAP32[($3 + 12 | 0) >> 2] | 0; + $6 = cc__ccAllHitsRayResultCallback__getHitNormalWorld_28_29(HEAP32[($3 + 8 | 0) >> 2] | 0 | 0) | 0; + __stack_pointer = $3 + 16 | 0; + return $6 | 0; + } + + function cc__ccAllHitsRayResultCallback__getHitNormalWorld_28_29($0) { + $0 = $0 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + return (HEAP32[($3 + 12 | 0) >> 2] | 0) + 72 | 0 | 0; + } + + function ccAllRayCallback_getCollisionShapePtrs_28int_29($0) { + $0 = $0 | 0; + var $3 = 0, $6 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + HEAP32[($3 + 8 | 0) >> 2] = HEAP32[($3 + 12 | 0) >> 2] | 0; + $6 = cc__ccAllHitsRayResultCallback__getCollisionShapePtrs_28_29(HEAP32[($3 + 8 | 0) >> 2] | 0 | 0) | 0; + __stack_pointer = $3 + 16 | 0; + return $6 | 0; + } + + function cc__ccAllHitsRayResultCallback__getCollisionShapePtrs_28_29($0) { + $0 = $0 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + return (HEAP32[($3 + 12 | 0) >> 2] | 0) + 132 | 0 | 0; + } + + function ccClosestConvexCallback_static_28_29() { + var $2 = 0, $18 = 0; + $2 = __stack_pointer - 32 | 0; + __stack_pointer = $2; + label$1 : { + if (!(((HEAPU8[(GOT_data_internal___memory_base + 113580 | 0) >> 0] | 0) & 255 | 0 | 0) == (0 & 255 | 0 | 0) & 1 | 0)) { + break label$1 + } + btVector3__btVector3_28_29($2 + 16 | 0 | 0) | 0; + btVector3__btVector3_28_29($2 | 0) | 0; + $18 = GOT_data_internal___memory_base; + cc__ccClosestConvexResultCallback__ccClosestConvexResultCallback_28btVector3_20const__2c_20btVector3_20const__29($18 + 113488 | 0 | 0, $2 + 16 | 0 | 0, $2 | 0) | 0; + __cxa_atexit(GOT_data_internal___table_base + 3 | 0 | 0, 0 | 0, $18 + 65536 | 0 | 0) | 0; + HEAP8[($18 + 113580 | 0) >> 0] = 1; + } + __stack_pointer = $2 + 32 | 0; + return GOT_data_internal___memory_base + 113488 | 0 | 0; + } + + function cc__ccClosestConvexResultCallback__ccClosestConvexResultCallback_28btVector3_20const__2c_20btVector3_20const__29($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $5 = 0, $6 = 0; + $5 = __stack_pointer - 16 | 0; + __stack_pointer = $5; + HEAP32[($5 + 12 | 0) >> 2] = $0; + HEAP32[($5 + 8 | 0) >> 2] = $1; + HEAP32[($5 + 4 | 0) >> 2] = $2; + $6 = HEAP32[($5 + 12 | 0) >> 2] | 0; + btCollisionWorld__ClosestConvexResultCallback__ClosestConvexResultCallback_28btVector3_20const__2c_20btVector3_20const__29($6 | 0, HEAP32[($5 + 8 | 0) >> 2] | 0 | 0, HEAP32[($5 + 4 | 0) >> 2] | 0 | 0) | 0; + HEAP32[$6 >> 2] = GOT_data_internal_vtable_20for_20cc__ccClosestConvexResultCallback + 8 | 0; + HEAP32[($6 + 84 | 0) >> 2] = 0; + HEAP8[($6 + 88 | 0) >> 0] = 1; + HEAP32[($6 + 8 | 0) >> 2] = -1; + __stack_pointer = $5 + 16 | 0; + return $6 | 0; + } + + function __cxx_global_array_dtor_7($0) { + $0 = $0 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + cc__ccClosestConvexResultCallback___ccClosestConvexResultCallback_28_29(GOT_data_internal___memory_base + 113488 | 0 | 0) | 0; + __stack_pointer = $3 + 16 | 0; + return; + } + + function btCollisionWorld__ClosestConvexResultCallback__ClosestConvexResultCallback_28btVector3_20const__2c_20btVector3_20const__29($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var i64toi32_i32$2 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $5 = 0, $6 = 0, $11 = 0, $14 = 0, $19 = 0, $22 = 0, $61 = 0, $71 = 0, $80 = 0, $90 = 0; + $5 = __stack_pointer - 16 | 0; + __stack_pointer = $5; + HEAP32[($5 + 12 | 0) >> 2] = $0; + HEAP32[($5 + 8 | 0) >> 2] = $1; + HEAP32[($5 + 4 | 0) >> 2] = $2; + $6 = HEAP32[($5 + 12 | 0) >> 2] | 0; + btCollisionWorld__ConvexResultCallback__ConvexResultCallback_28_29($6 | 0) | 0; + HEAP32[$6 >> 2] = GOT_data_internal_vtable_20for_20btCollisionWorld__ClosestConvexResultCallback + 8 | 0; + $11 = $6 + 20 | 0; + i64toi32_i32$2 = HEAP32[($5 + 8 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $61 = i64toi32_i32$0; + i64toi32_i32$0 = $11; + HEAP32[i64toi32_i32$0 >> 2] = $61; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $14 = 8; + i64toi32_i32$2 = i64toi32_i32$2 + $14 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $71 = i64toi32_i32$1; + i64toi32_i32$1 = $11 + $14 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $71; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + $19 = $6 + 36 | 0; + i64toi32_i32$2 = HEAP32[($5 + 4 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $80 = i64toi32_i32$0; + i64toi32_i32$0 = $19; + HEAP32[i64toi32_i32$0 >> 2] = $80; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $22 = 8; + i64toi32_i32$2 = i64toi32_i32$2 + $22 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $90 = i64toi32_i32$1; + i64toi32_i32$1 = $19 + $22 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $90; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + btVector3__btVector3_28_29($6 + 52 | 0 | 0) | 0; + btVector3__btVector3_28_29($6 + 68 | 0 | 0) | 0; + __stack_pointer = $5 + 16 | 0; + return $6 | 0; + } + + function cc__ccClosestConvexResultCallback___ccClosestConvexResultCallback_28_29($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + btCollisionWorld__ClosestConvexResultCallback___ClosestConvexResultCallback_28_29($4 | 0) | 0; + __stack_pointer = $3 + 16 | 0; + return $4 | 0; + } + + function btCollisionWorld__ClosestConvexResultCallback___ClosestConvexResultCallback_28_29($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + btCollisionWorld__ConvexResultCallback___ConvexResultCallback_28_29($4 | 0) | 0; + __stack_pointer = $3 + 16 | 0; + return $4 | 0; + } + + function ccClosestConvexCallback_reset_28int_2c_20int_2c_20int_2c_20unsigned_20int_2c_20bool_29($0, $1, $2, $3, $4) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + $4 = $4 | 0; + var $7 = 0, i64toi32_i32$2 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $13 = 0, $15 = 0, $22 = 0, $24 = 0, $65 = 0, $75 = 0, $86 = 0, $96 = 0; + $7 = __stack_pointer - 32 | 0; + __stack_pointer = $7; + HEAP32[($7 + 28 | 0) >> 2] = $0; + HEAP32[($7 + 24 | 0) >> 2] = $1; + HEAP32[($7 + 20 | 0) >> 2] = $2; + HEAP32[($7 + 16 | 0) >> 2] = $3; + HEAP8[($7 + 15 | 0) >> 0] = $4; + HEAP32[($7 + 8 | 0) >> 2] = HEAP32[($7 + 28 | 0) >> 2] | 0; + $13 = (HEAP32[($7 + 8 | 0) >> 2] | 0) + 20 | 0; + i64toi32_i32$2 = HEAP32[($7 + 24 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $65 = i64toi32_i32$0; + i64toi32_i32$0 = $13; + HEAP32[i64toi32_i32$0 >> 2] = $65; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $15 = 8; + i64toi32_i32$2 = i64toi32_i32$2 + $15 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $75 = i64toi32_i32$1; + i64toi32_i32$1 = $13 + $15 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $75; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + $22 = (HEAP32[($7 + 8 | 0) >> 2] | 0) + 36 | 0; + i64toi32_i32$2 = HEAP32[($7 + 20 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $86 = i64toi32_i32$0; + i64toi32_i32$0 = $22; + HEAP32[i64toi32_i32$0 >> 2] = $86; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $24 = 8; + i64toi32_i32$2 = i64toi32_i32$2 + $24 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $96 = i64toi32_i32$1; + i64toi32_i32$1 = $22 + $24 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $96; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + cc__ccClosestConvexResultCallback__reset_28int_2c_20bool_29(HEAP32[($7 + 8 | 0) >> 2] | 0 | 0, HEAP32[($7 + 16 | 0) >> 2] | 0 | 0, (HEAPU8[($7 + 15 | 0) >> 0] | 0) & 1 | 0 | 0); + __stack_pointer = $7 + 32 | 0; + return; + } + + function cc__ccClosestConvexResultCallback__reset_28int_2c_20bool_29($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $5 = 0, $7 = 0; + $5 = __stack_pointer - 16 | 0; + HEAP32[($5 + 12 | 0) >> 2] = $0; + HEAP32[($5 + 8 | 0) >> 2] = $1; + HEAP8[($5 + 7 | 0) >> 0] = $2; + $7 = HEAP32[($5 + 12 | 0) >> 2] | 0; + HEAP32[($7 + 12 | 0) >> 2] = HEAP32[($5 + 8 | 0) >> 2] | 0; + HEAP8[($7 + 88 | 0) >> 0] = (HEAPU8[($5 + 7 | 0) >> 0] | 0) & 1 | 0; + HEAPF32[($7 + 4 | 0) >> 2] = Math_fround(1.0); + HEAP32[($7 + 16 | 0) >> 2] = 0; + return; + } + + function ccClosestConvexCallback_getHitNormalWorld_28int_29($0) { + $0 = $0 | 0; + var $3 = 0, $6 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + HEAP32[($3 + 8 | 0) >> 2] = HEAP32[($3 + 12 | 0) >> 2] | 0; + $6 = cc__ccClosestConvexResultCallback__getHitNormalWorld_28_29(HEAP32[($3 + 8 | 0) >> 2] | 0 | 0) | 0; + __stack_pointer = $3 + 16 | 0; + return $6 | 0; + } + + function cc__ccClosestConvexResultCallback__getHitNormalWorld_28_29($0) { + $0 = $0 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + return (HEAP32[($3 + 12 | 0) >> 2] | 0) + 52 | 0 | 0; + } + + function ccClosestConvexCallback_getHitPointWorld_28int_29($0) { + $0 = $0 | 0; + var $3 = 0, $6 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + HEAP32[($3 + 8 | 0) >> 2] = HEAP32[($3 + 12 | 0) >> 2] | 0; + $6 = cc__ccClosestConvexResultCallback__getHitPointWorld_28_29(HEAP32[($3 + 8 | 0) >> 2] | 0 | 0) | 0; + __stack_pointer = $3 + 16 | 0; + return $6 | 0; + } + + function cc__ccClosestConvexResultCallback__getHitPointWorld_28_29($0) { + $0 = $0 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + return (HEAP32[($3 + 12 | 0) >> 2] | 0) + 68 | 0 | 0; + } + + function ccClosestConvexCallback_getCollisionShapePtr_28int_29($0) { + $0 = $0 | 0; + var $3 = 0, $6 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + HEAP32[($3 + 8 | 0) >> 2] = HEAP32[($3 + 12 | 0) >> 2] | 0; + $6 = cc__ccClosestConvexResultCallback__getCollisionShapePtr_28_29_20const(HEAP32[($3 + 8 | 0) >> 2] | 0 | 0) | 0; + __stack_pointer = $3 + 16 | 0; + return $6 | 0; + } + + function cc__ccClosestConvexResultCallback__getCollisionShapePtr_28_29_20const($0) { + $0 = $0 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + return HEAP32[((HEAP32[($3 + 12 | 0) >> 2] | 0) + 84 | 0) >> 2] | 0 | 0; + } + + function ccAllConvexCallback_static_28_29() { + var $2 = 0, $18 = 0; + $2 = __stack_pointer - 32 | 0; + __stack_pointer = $2; + label$1 : { + if (!(((HEAPU8[(GOT_data_internal___memory_base + 113740 | 0) >> 0] | 0) & 255 | 0 | 0) == (0 & 255 | 0 | 0) & 1 | 0)) { + break label$1 + } + btVector3__btVector3_28_29($2 + 16 | 0 | 0) | 0; + btVector3__btVector3_28_29($2 | 0) | 0; + $18 = GOT_data_internal___memory_base; + cc__ccAllHitsConvexResultCallback__ccAllHitsConvexResultCallback_28btVector3_20const__2c_20btVector3_20const__29($18 + 113584 | 0 | 0, $2 + 16 | 0 | 0, $2 | 0) | 0; + __cxa_atexit(GOT_data_internal___table_base + 4 | 0 | 0, 0 | 0, $18 + 65536 | 0 | 0) | 0; + HEAP8[($18 + 113740 | 0) >> 0] = 1; + } + __stack_pointer = $2 + 32 | 0; + return GOT_data_internal___memory_base + 113584 | 0 | 0; + } + + function cc__ccAllHitsConvexResultCallback__ccAllHitsConvexResultCallback_28btVector3_20const__2c_20btVector3_20const__29($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $5 = 0, $6 = 0; + $5 = __stack_pointer - 16 | 0; + __stack_pointer = $5; + HEAP32[($5 + 12 | 0) >> 2] = $0; + HEAP32[($5 + 8 | 0) >> 2] = $1; + HEAP32[($5 + 4 | 0) >> 2] = $2; + $6 = HEAP32[($5 + 12 | 0) >> 2] | 0; + btCollisionWorld__AllHitsConvexResultCallback__AllHitsConvexResultCallback_28btVector3_20const__2c_20btVector3_20const__29($6 | 0, HEAP32[($5 + 8 | 0) >> 2] | 0 | 0, HEAP32[($5 + 4 | 0) >> 2] | 0 | 0) | 0; + HEAP32[$6 >> 2] = GOT_data_internal_vtable_20for_20cc__ccAllHitsConvexResultCallback + 8 | 0; + btAlignedObjectArray_int___btAlignedObjectArray_28_29($6 + 132 | 0 | 0) | 0; + HEAP8[($6 + 152 | 0) >> 0] = 1; + HEAP32[($6 + 8 | 0) >> 2] = -1; + __stack_pointer = $5 + 16 | 0; + return $6 | 0; + } + + function __cxx_global_array_dtor_8($0) { + $0 = $0 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + cc__ccAllHitsConvexResultCallback___ccAllHitsConvexResultCallback_28_29(GOT_data_internal___memory_base + 113584 | 0 | 0) | 0; + __stack_pointer = $3 + 16 | 0; + return; + } + + function btCollisionWorld__AllHitsConvexResultCallback__AllHitsConvexResultCallback_28btVector3_20const__2c_20btVector3_20const__29($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var i64toi32_i32$2 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $6 = 0, $5 = 0, $13 = 0, $16 = 0, $21 = 0, $24 = 0, $70 = 0, $80 = 0, $89 = 0, $99 = 0; + $5 = __stack_pointer - 16 | 0; + __stack_pointer = $5; + HEAP32[($5 + 12 | 0) >> 2] = $0; + HEAP32[($5 + 8 | 0) >> 2] = $1; + HEAP32[($5 + 4 | 0) >> 2] = $2; + $6 = HEAP32[($5 + 12 | 0) >> 2] | 0; + btCollisionWorld__ConvexResultCallback__ConvexResultCallback_28_29($6 | 0) | 0; + HEAP32[$6 >> 2] = GOT_data_internal_vtable_20for_20btCollisionWorld__AllHitsConvexResultCallback + 8 | 0; + btAlignedObjectArray_btCollisionObject_20const____btAlignedObjectArray_28_29($6 + 20 | 0 | 0) | 0; + $13 = $6 + 40 | 0; + i64toi32_i32$2 = HEAP32[($5 + 8 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $70 = i64toi32_i32$0; + i64toi32_i32$0 = $13; + HEAP32[i64toi32_i32$0 >> 2] = $70; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $16 = 8; + i64toi32_i32$2 = i64toi32_i32$2 + $16 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $80 = i64toi32_i32$1; + i64toi32_i32$1 = $13 + $16 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $80; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + $21 = $6 + 56 | 0; + i64toi32_i32$2 = HEAP32[($5 + 4 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $89 = i64toi32_i32$0; + i64toi32_i32$0 = $21; + HEAP32[i64toi32_i32$0 >> 2] = $89; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $24 = 8; + i64toi32_i32$2 = i64toi32_i32$2 + $24 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $99 = i64toi32_i32$1; + i64toi32_i32$1 = $21 + $24 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $99; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + btAlignedObjectArray_btVector3___btAlignedObjectArray_28_29($6 + 72 | 0 | 0) | 0; + btAlignedObjectArray_btVector3___btAlignedObjectArray_28_29($6 + 92 | 0 | 0) | 0; + btAlignedObjectArray_float___btAlignedObjectArray_28_29($6 + 112 | 0 | 0) | 0; + __stack_pointer = $5 + 16 | 0; + return $6 | 0; + } + + function cc__ccAllHitsConvexResultCallback___ccAllHitsConvexResultCallback_28_29($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + HEAP32[$4 >> 2] = GOT_data_internal_vtable_20for_20cc__ccAllHitsConvexResultCallback + 8 | 0; + btAlignedObjectArray_int____btAlignedObjectArray_28_29($4 + 132 | 0 | 0) | 0; + btCollisionWorld__AllHitsConvexResultCallback___AllHitsConvexResultCallback_28_29($4 | 0) | 0; + __stack_pointer = $3 + 16 | 0; + return $4 | 0; + } + + function btCollisionWorld__AllHitsConvexResultCallback___AllHitsConvexResultCallback_28_29($0) { + $0 = $0 | 0; + var $4 = 0, $3 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + HEAP32[$4 >> 2] = GOT_data_internal_vtable_20for_20btCollisionWorld__AllHitsConvexResultCallback + 8 | 0; + btAlignedObjectArray_float____btAlignedObjectArray_28_29($4 + 112 | 0 | 0) | 0; + btAlignedObjectArray_btVector3____btAlignedObjectArray_28_29($4 + 92 | 0 | 0) | 0; + btAlignedObjectArray_btVector3____btAlignedObjectArray_28_29($4 + 72 | 0 | 0) | 0; + btAlignedObjectArray_btCollisionObject_20const_____btAlignedObjectArray_28_29($4 + 20 | 0 | 0) | 0; + btCollisionWorld__ConvexResultCallback___ConvexResultCallback_28_29($4 | 0) | 0; + __stack_pointer = $3 + 16 | 0; + return $4 | 0; + } + + function ccAllConvexCallback_reset_28int_2c_20int_2c_20int_2c_20unsigned_20int_2c_20bool_29($0, $1, $2, $3, $4) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + $4 = $4 | 0; + var $7 = 0, i64toi32_i32$2 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $13 = 0, $15 = 0, $22 = 0, $24 = 0, $65 = 0, $75 = 0, $86 = 0, $96 = 0; + $7 = __stack_pointer - 32 | 0; + __stack_pointer = $7; + HEAP32[($7 + 28 | 0) >> 2] = $0; + HEAP32[($7 + 24 | 0) >> 2] = $1; + HEAP32[($7 + 20 | 0) >> 2] = $2; + HEAP32[($7 + 16 | 0) >> 2] = $3; + HEAP8[($7 + 15 | 0) >> 0] = $4; + HEAP32[($7 + 8 | 0) >> 2] = HEAP32[($7 + 28 | 0) >> 2] | 0; + $13 = (HEAP32[($7 + 8 | 0) >> 2] | 0) + 40 | 0; + i64toi32_i32$2 = HEAP32[($7 + 24 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $65 = i64toi32_i32$0; + i64toi32_i32$0 = $13; + HEAP32[i64toi32_i32$0 >> 2] = $65; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $15 = 8; + i64toi32_i32$2 = i64toi32_i32$2 + $15 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $75 = i64toi32_i32$1; + i64toi32_i32$1 = $13 + $15 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $75; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + $22 = (HEAP32[($7 + 8 | 0) >> 2] | 0) + 56 | 0; + i64toi32_i32$2 = HEAP32[($7 + 20 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $86 = i64toi32_i32$0; + i64toi32_i32$0 = $22; + HEAP32[i64toi32_i32$0 >> 2] = $86; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $24 = 8; + i64toi32_i32$2 = i64toi32_i32$2 + $24 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $96 = i64toi32_i32$1; + i64toi32_i32$1 = $22 + $24 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $96; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + cc__ccAllHitsConvexResultCallback__reset_28int_2c_20bool_29(HEAP32[($7 + 8 | 0) >> 2] | 0 | 0, HEAP32[($7 + 16 | 0) >> 2] | 0 | 0, (HEAPU8[($7 + 15 | 0) >> 0] | 0) & 1 | 0 | 0); + __stack_pointer = $7 + 32 | 0; + return; + } + + function cc__ccAllHitsConvexResultCallback__reset_28int_2c_20bool_29($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $5 = 0, $7 = 0; + $5 = __stack_pointer - 64 | 0; + __stack_pointer = $5; + HEAP32[($5 + 60 | 0) >> 2] = $0; + HEAP32[($5 + 56 | 0) >> 2] = $1; + HEAP8[($5 + 55 | 0) >> 0] = $2; + $7 = HEAP32[($5 + 60 | 0) >> 2] | 0; + HEAP32[($7 + 12 | 0) >> 2] = HEAP32[($5 + 56 | 0) >> 2] | 0; + HEAP8[($7 + 152 | 0) >> 0] = (HEAPU8[($5 + 55 | 0) >> 0] | 0) & 1 | 0; + HEAPF32[($7 + 4 | 0) >> 2] = Math_fround(1.0); + HEAP32[($5 + 48 | 0) >> 2] = 0; + btAlignedObjectArray_int___resize_28int_2c_20int_20const__29($7 + 132 | 0 | 0, 0 | 0, $5 + 48 | 0 | 0); + HEAPF32[($5 + 44 | 0) >> 2] = Math_fround(0 | 0); + btAlignedObjectArray_float___resize_28int_2c_20float_20const__29($7 + 112 | 0 | 0, 0 | 0, $5 + 44 | 0 | 0); + HEAP32[($5 + 40 | 0) >> 2] = 0; + btAlignedObjectArray_btCollisionObject_20const____resize_28int_2c_20btCollisionObject_20const__20const__29($7 + 20 | 0 | 0, 0 | 0, $5 + 40 | 0 | 0); + btVector3__btVector3_28_29($5 + 24 | 0 | 0) | 0; + btAlignedObjectArray_btVector3___resize_28int_2c_20btVector3_20const__29($7 + 92 | 0 | 0, 0 | 0, $5 + 24 | 0 | 0); + btVector3__btVector3_28_29($5 + 8 | 0 | 0) | 0; + btAlignedObjectArray_btVector3___resize_28int_2c_20btVector3_20const__29($7 + 72 | 0 | 0, 0 | 0, $5 + 8 | 0 | 0); + __stack_pointer = $5 + 64 | 0; + return; + } + + function ccAllConvexCallback_getHitPointWorld_28int_29($0) { + $0 = $0 | 0; + var $3 = 0, $6 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + HEAP32[($3 + 8 | 0) >> 2] = HEAP32[($3 + 12 | 0) >> 2] | 0; + $6 = cc__ccAllHitsConvexResultCallback__getHitPointWorld_28_29(HEAP32[($3 + 8 | 0) >> 2] | 0 | 0) | 0; + __stack_pointer = $3 + 16 | 0; + return $6 | 0; + } + + function cc__ccAllHitsConvexResultCallback__getHitPointWorld_28_29($0) { + $0 = $0 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + return (HEAP32[($3 + 12 | 0) >> 2] | 0) + 92 | 0 | 0; + } + + function ccAllConvexCallback_getHitNormalWorld_28int_29($0) { + $0 = $0 | 0; + var $3 = 0, $6 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + HEAP32[($3 + 8 | 0) >> 2] = HEAP32[($3 + 12 | 0) >> 2] | 0; + $6 = cc__ccAllHitsConvexResultCallback__getHitNormalWorld_28_29(HEAP32[($3 + 8 | 0) >> 2] | 0 | 0) | 0; + __stack_pointer = $3 + 16 | 0; + return $6 | 0; + } + + function cc__ccAllHitsConvexResultCallback__getHitNormalWorld_28_29($0) { + $0 = $0 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + return (HEAP32[($3 + 12 | 0) >> 2] | 0) + 72 | 0 | 0; + } + + function ccAllConvexCallback_getCollisionShapePtrs_28int_29($0) { + $0 = $0 | 0; + var $3 = 0, $6 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + HEAP32[($3 + 8 | 0) >> 2] = HEAP32[($3 + 12 | 0) >> 2] | 0; + $6 = cc__ccAllHitsConvexResultCallback__getCollisionShapePtrs_28_29(HEAP32[($3 + 8 | 0) >> 2] | 0 | 0) | 0; + __stack_pointer = $3 + 16 | 0; + return $6 | 0; + } + + function cc__ccAllHitsConvexResultCallback__getCollisionShapePtrs_28_29($0) { + $0 = $0 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + return (HEAP32[($3 + 12 | 0) >> 2] | 0) + 132 | 0 | 0; + } + + function ManifoldPoint_get_m_positionWorldOnA_28int_29($0) { + $0 = $0 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + HEAP32[($3 + 8 | 0) >> 2] = HEAP32[($3 + 12 | 0) >> 2] | 0; + return (HEAP32[($3 + 8 | 0) >> 2] | 0) + 48 | 0 | 0; + } + + function ManifoldPoint_get_m_positionWorldOnB_28int_29($0) { + $0 = $0 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + HEAP32[($3 + 8 | 0) >> 2] = HEAP32[($3 + 12 | 0) >> 2] | 0; + return (HEAP32[($3 + 8 | 0) >> 2] | 0) + 32 | 0 | 0; + } + + function ManifoldPoint_get_m_normalWorldOnB_28int_29($0) { + $0 = $0 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + HEAP32[($3 + 8 | 0) >> 2] = HEAP32[($3 + 12 | 0) >> 2] | 0; + return (HEAP32[($3 + 8 | 0) >> 2] | 0) + 64 | 0 | 0; + } + + function ManifoldPoint_get_m_localPointA_28int_29($0) { + $0 = $0 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + HEAP32[($3 + 8 | 0) >> 2] = HEAP32[($3 + 12 | 0) >> 2] | 0; + return HEAP32[($3 + 8 | 0) >> 2] | 0 | 0; + } + + function ManifoldPoint_get_m_localPointB_28int_29($0) { + $0 = $0 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + HEAP32[($3 + 8 | 0) >> 2] = HEAP32[($3 + 12 | 0) >> 2] | 0; + return (HEAP32[($3 + 8 | 0) >> 2] | 0) + 16 | 0 | 0; + } + + function btManifoldPoint__getDistance_28_29_20const($0) { + $0 = $0 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + return Math_fround(Math_fround(HEAPF32[((HEAP32[($3 + 12 | 0) >> 2] | 0) + 80 | 0) >> 2])); + } + + function ManifoldPoint_getShape0_28int_29($0) { + $0 = $0 | 0; + var $3 = 0, $6 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + HEAP32[($3 + 8 | 0) >> 2] = HEAP32[($3 + 12 | 0) >> 2] | 0; + $6 = btManifoldPoint__getShape0_28_29(HEAP32[($3 + 8 | 0) >> 2] | 0 | 0) | 0; + __stack_pointer = $3 + 16 | 0; + return $6 | 0; + } + + function btManifoldPoint__getShape0_28_29($0) { + $0 = $0 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + return HEAP32[((HEAP32[($3 + 12 | 0) >> 2] | 0) + 200 | 0) >> 2] | 0 | 0; + } + + function ManifoldPoint_getShape1_28int_29($0) { + $0 = $0 | 0; + var $3 = 0, $6 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + HEAP32[($3 + 8 | 0) >> 2] = HEAP32[($3 + 12 | 0) >> 2] | 0; + $6 = btManifoldPoint__getShape1_28_29(HEAP32[($3 + 8 | 0) >> 2] | 0 | 0) | 0; + __stack_pointer = $3 + 16 | 0; + return $6 | 0; + } + + function btManifoldPoint__getShape1_28_29($0) { + $0 = $0 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + return HEAP32[((HEAP32[($3 + 12 | 0) >> 2] | 0) + 204 | 0) >> 2] | 0 | 0; + } + + function ManifoldPoint_get_m_index0_28int_29($0) { + $0 = $0 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + HEAP32[($3 + 8 | 0) >> 2] = HEAP32[($3 + 12 | 0) >> 2] | 0; + return HEAP32[((HEAP32[($3 + 8 | 0) >> 2] | 0) + 108 | 0) >> 2] | 0 | 0; + } + + function ManifoldPoint_get_m_index1_28int_29($0) { + $0 = $0 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + HEAP32[($3 + 8 | 0) >> 2] = HEAP32[($3 + 12 | 0) >> 2] | 0; + return HEAP32[((HEAP32[($3 + 8 | 0) >> 2] | 0) + 112 | 0) >> 2] | 0 | 0; + } + + function PersistentManifold_getBody0_28int_29($0) { + $0 = $0 | 0; + var $3 = 0, $6 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + HEAP32[($3 + 8 | 0) >> 2] = HEAP32[($3 + 12 | 0) >> 2] | 0; + $6 = btPersistentManifold__getBody0_28_29_20const(HEAP32[($3 + 8 | 0) >> 2] | 0 | 0) | 0; + __stack_pointer = $3 + 16 | 0; + return $6 | 0; + } + + function btPersistentManifold__getBody0_28_29_20const($0) { + $0 = $0 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + return HEAP32[((HEAP32[($3 + 12 | 0) >> 2] | 0) + 836 | 0) >> 2] | 0 | 0; + } + + function PersistentManifold_getBody1_28int_29($0) { + $0 = $0 | 0; + var $3 = 0, $6 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + HEAP32[($3 + 8 | 0) >> 2] = HEAP32[($3 + 12 | 0) >> 2] | 0; + $6 = btPersistentManifold__getBody1_28_29_20const(HEAP32[($3 + 8 | 0) >> 2] | 0 | 0) | 0; + __stack_pointer = $3 + 16 | 0; + return $6 | 0; + } + + function btPersistentManifold__getBody1_28_29_20const($0) { + $0 = $0 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + return HEAP32[((HEAP32[($3 + 12 | 0) >> 2] | 0) + 840 | 0) >> 2] | 0 | 0; + } + + function PersistentManifold_getNumContacts_28int_29($0) { + $0 = $0 | 0; + var $3 = 0, $6 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + HEAP32[($3 + 8 | 0) >> 2] = HEAP32[($3 + 12 | 0) >> 2] | 0; + $6 = btPersistentManifold__getNumContacts_28_29_20const(HEAP32[($3 + 8 | 0) >> 2] | 0 | 0) | 0; + __stack_pointer = $3 + 16 | 0; + return $6 | 0; + } + + function btPersistentManifold__getNumContacts_28_29_20const($0) { + $0 = $0 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + return HEAP32[((HEAP32[($3 + 12 | 0) >> 2] | 0) + 844 | 0) >> 2] | 0 | 0; + } + + function PersistentManifold_getContactPoint_28int_2c_20int_29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, $8 = 0; + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + HEAP32[($4 + 4 | 0) >> 2] = HEAP32[($4 + 12 | 0) >> 2] | 0; + $8 = btPersistentManifold__getContactPoint_28int_29(HEAP32[($4 + 4 | 0) >> 2] | 0 | 0, HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) | 0; + __stack_pointer = $4 + 16 | 0; + return $8 | 0; + } + + function btPersistentManifold__getContactPoint_28int_29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, $14 = 0, $5 = 0, $26 = 0; + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; + label$1 : { + if ((HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) < (HEAP32[($5 + 844 | 0) >> 2] | 0 | 0) & 1 | 0) { + break label$1 + } + $14 = GOT_data_internal___memory_base; + __assert_fail($14 + 69167 | 0 | 0, $14 + 79943 | 0 | 0, 133 | 0, $14 + 67585 | 0 | 0); + wasm2js_trap(); + } + $26 = ($5 + 4 | 0) + Math_imul(HEAP32[($4 + 8 | 0) >> 2] | 0, 208) | 0; + __stack_pointer = $4 + 16 | 0; + return $26 | 0; + } + + function ControllerHit_getHitWorldPos($0) { + $0 = $0 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + HEAP32[($3 + 8 | 0) >> 2] = HEAP32[($3 + 12 | 0) >> 2] | 0; + return (HEAP32[($3 + 8 | 0) >> 2] | 0) + 4 | 0 | 0; + } + + function ControllerHit_getHitWorldNormal($0) { + $0 = $0 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + HEAP32[($3 + 8 | 0) >> 2] = HEAP32[($3 + 12 | 0) >> 2] | 0; + return (HEAP32[($3 + 8 | 0) >> 2] | 0) + 20 | 0 | 0; + } + + function ControllerHit_getHitMotionDir($0) { + $0 = $0 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + HEAP32[($3 + 8 | 0) >> 2] = HEAP32[($3 + 12 | 0) >> 2] | 0; + return (HEAP32[($3 + 8 | 0) >> 2] | 0) + 36 | 0 | 0; + } + + function ControllerHit_getHitMotionLength($0) { + $0 = $0 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + HEAP32[($3 + 8 | 0) >> 2] = HEAP32[($3 + 12 | 0) >> 2] | 0; + return Math_fround(Math_fround(HEAPF32[((HEAP32[($3 + 8 | 0) >> 2] | 0) + 52 | 0) >> 2])); + } + + function ControllerShapeHit_getHitShape($0) { + $0 = $0 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + HEAP32[($3 + 8 | 0) >> 2] = HEAP32[($3 + 12 | 0) >> 2] | 0; + return HEAP32[((HEAP32[($3 + 8 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0 | 0; + } + + function ControllerShapeHit_getHitCollisionObject($0) { + $0 = $0 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + HEAP32[($3 + 8 | 0) >> 2] = HEAP32[($3 + 12 | 0) >> 2] | 0; + return HEAP32[((HEAP32[($3 + 8 | 0) >> 2] | 0) + 60 | 0) >> 2] | 0 | 0; + } + + function CharacterController_setContactOffset($0, $1) { + $0 = $0 | 0; + $1 = Math_fround($1); + var $4 = 0; + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAPF32[($4 + 8 | 0) >> 2] = $1; + HEAP32[($4 + 4 | 0) >> 2] = HEAP32[($4 + 12 | 0) >> 2] | 0; + btCharacterController__setContactOffset_28float_29(HEAP32[($4 + 4 | 0) >> 2] | 0 | 0, Math_fround(Math_fround(HEAPF32[($4 + 8 | 0) >> 2]))); + __stack_pointer = $4 + 16 | 0; + return; + } + + function btCharacterController__setContactOffset_28float_29($0, $1) { + $0 = $0 | 0; + $1 = Math_fround($1); + var $4 = 0; + $4 = __stack_pointer - 16 | 0; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAPF32[($4 + 8 | 0) >> 2] = $1; + HEAPF32[((HEAP32[($4 + 12 | 0) >> 2] | 0) + 36 | 0) >> 2] = Math_fround(HEAPF32[($4 + 8 | 0) >> 2]); + return; + } + + function CharacterController_setStepOffset($0, $1) { + $0 = $0 | 0; + $1 = Math_fround($1); + var $4 = 0; + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAPF32[($4 + 8 | 0) >> 2] = $1; + HEAP32[($4 + 4 | 0) >> 2] = HEAP32[($4 + 12 | 0) >> 2] | 0; + btCharacterController__setStepHeight_28float_29(HEAP32[($4 + 4 | 0) >> 2] | 0 | 0, Math_fround(Math_fround(HEAPF32[($4 + 8 | 0) >> 2]))); + __stack_pointer = $4 + 16 | 0; + return; + } + + function btCharacterController__setStepHeight_28float_29($0, $1) { + $0 = $0 | 0; + $1 = Math_fround($1); + var $4 = 0; + $4 = __stack_pointer - 16 | 0; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAPF32[($4 + 8 | 0) >> 2] = $1; + HEAPF32[((HEAP32[($4 + 12 | 0) >> 2] | 0) + 32 | 0) >> 2] = Math_fround(HEAPF32[($4 + 8 | 0) >> 2]); + return; + } + + function CharacterController_setSlopeLimit($0, $1) { + $0 = $0 | 0; + $1 = Math_fround($1); + var $4 = 0; + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAPF32[($4 + 8 | 0) >> 2] = $1; + HEAP32[($4 + 4 | 0) >> 2] = HEAP32[($4 + 12 | 0) >> 2] | 0; + btCharacterController__setMaxSlope_28float_29(HEAP32[($4 + 4 | 0) >> 2] | 0 | 0, Math_fround(Math_fround(HEAPF32[($4 + 8 | 0) >> 2]))); + __stack_pointer = $4 + 16 | 0; + return; + } + + function CharacterController_setCollision($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0; + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP8[($4 + 11 | 0) >> 0] = $1; + HEAP32[($4 + 4 | 0) >> 2] = HEAP32[($4 + 12 | 0) >> 2] | 0; + btCharacterController__setCollision_28bool_29(HEAP32[($4 + 4 | 0) >> 2] | 0 | 0, (HEAPU8[($4 + 11 | 0) >> 0] | 0) & 1 | 0 | 0); + __stack_pointer = $4 + 16 | 0; + return; + } + + function btCharacterController__setCollision_28bool_29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0; + $4 = __stack_pointer - 16 | 0; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP8[($4 + 11 | 0) >> 0] = $1; + HEAP8[((HEAP32[($4 + 12 | 0) >> 2] | 0) + 62 | 0) >> 0] = (HEAPU8[($4 + 11 | 0) >> 0] | 0) & 1 | 0; + return; + } + + function CharacterController_setOverlapRecovery($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0; + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP8[($4 + 11 | 0) >> 0] = $1; + HEAP32[($4 + 4 | 0) >> 2] = HEAP32[($4 + 12 | 0) >> 2] | 0; + btCharacterController__setOverlapRecovery_28bool_29(HEAP32[($4 + 4 | 0) >> 2] | 0 | 0, (HEAPU8[($4 + 11 | 0) >> 0] | 0) & 1 | 0 | 0); + __stack_pointer = $4 + 16 | 0; + return; + } + + function btCharacterController__setOverlapRecovery_28bool_29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0; + $4 = __stack_pointer - 16 | 0; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP8[($4 + 11 | 0) >> 0] = $1; + HEAP8[((HEAP32[($4 + 12 | 0) >> 2] | 0) + 63 | 0) >> 0] = (HEAPU8[($4 + 11 | 0) >> 0] | 0) & 1 | 0; + return; + } + + function CharacterController_getGhostObject($0) { + $0 = $0 | 0; + var $3 = 0, $6 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + HEAP32[($3 + 8 | 0) >> 2] = HEAP32[($3 + 12 | 0) >> 2] | 0; + $6 = btCharacterController__getGhostObject_28_29(HEAP32[($3 + 8 | 0) >> 2] | 0 | 0) | 0; + __stack_pointer = $3 + 16 | 0; + return $6 | 0; + } + + function btCharacterController__getGhostObject_28_29($0) { + $0 = $0 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + return HEAP32[((HEAP32[($3 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0; + } + + function CharacterController_getCollisionShape($0) { + $0 = $0 | 0; + var $3 = 0, $6 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + HEAP32[($3 + 8 | 0) >> 2] = HEAP32[($3 + 12 | 0) >> 2] | 0; + $6 = btCharacterController__getCollisionShape_28_29(HEAP32[($3 + 8 | 0) >> 2] | 0 | 0) | 0; + __stack_pointer = $3 + 16 | 0; + return $6 | 0; + } + + function btCharacterController__getCollisionShape_28_29($0) { + $0 = $0 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + return HEAP32[((HEAP32[($3 + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0; + } + + function CharacterController_move($0, $1, $2, $3) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = Math_fround($2); + $3 = Math_fround($3); + var $6 = 0, i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, i64toi32_i32$1 = 0, $8 = 0, $9 = 0, $56 = 0, $60 = 0, $22 = 0; + $6 = __stack_pointer - 48 | 0; + __stack_pointer = $6; + HEAP32[($6 + 44 | 0) >> 2] = $0; + HEAP32[($6 + 40 | 0) >> 2] = $1; + HEAPF32[($6 + 36 | 0) >> 2] = $2; + HEAPF32[($6 + 32 | 0) >> 2] = $3; + HEAP32[($6 + 28 | 0) >> 2] = HEAP32[($6 + 44 | 0) >> 2] | 0; + $8 = HEAP32[($6 + 40 | 0) >> 2] | 0; + $9 = 8; + i64toi32_i32$2 = $8 + $9 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $56 = i64toi32_i32$0; + i64toi32_i32$0 = ($6 + 8 | 0) + $9 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $56; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$2 = $8; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $60 = i64toi32_i32$1; + i64toi32_i32$1 = $6; + HEAP32[($6 + 8 | 0) >> 2] = $60; + HEAP32[($6 + 12 | 0) >> 2] = i64toi32_i32$0; + $22 = btCharacterController__move_28btVector3_20const__2c_20float_2c_20float_29(HEAP32[($6 + 28 | 0) >> 2] | 0 | 0, $6 + 8 | 0 | 0, Math_fround(Math_fround(HEAPF32[($6 + 36 | 0) >> 2])), Math_fround(Math_fround(HEAPF32[($6 + 32 | 0) >> 2]))) | 0; + __stack_pointer = $6 + 48 | 0; + return $22 | 0; + } + + function CharacterController_getPosition($0) { + $0 = $0 | 0; + var $3 = 0, $6 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + HEAP32[($3 + 8 | 0) >> 2] = HEAP32[($3 + 12 | 0) >> 2] | 0; + $6 = btCharacterController__getPosition_28_29(HEAP32[($3 + 8 | 0) >> 2] | 0 | 0) | 0; + __stack_pointer = $3 + 16 | 0; + return $6 | 0; + } + + function CapsuleCharacterControllerDesc_new($0, $1, $2, $3, $4, $5, $6, $7) { + $0 = Math_fround($0); + $1 = Math_fround($1); + $2 = Math_fround($2); + $3 = $3 | 0; + $4 = $4 | 0; + $5 = $5 | 0; + $6 = Math_fround($6); + $7 = Math_fround($7); + var $10 = 0, i64toi32_i32$2 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $12 = 0, $22 = 0, $24 = 0, $31 = 0, $33 = 0, $101 = 0, $111 = 0, $122 = 0, $132 = 0, $43 = 0; + $10 = __stack_pointer - 48 | 0; + __stack_pointer = $10; + HEAPF32[($10 + 44 | 0) >> 2] = $0; + HEAPF32[($10 + 40 | 0) >> 2] = $1; + HEAPF32[($10 + 36 | 0) >> 2] = $2; + HEAP32[($10 + 32 | 0) >> 2] = $3; + HEAP32[($10 + 28 | 0) >> 2] = $4; + HEAP32[($10 + 24 | 0) >> 2] = $5; + HEAPF32[($10 + 20 | 0) >> 2] = $6; + HEAPF32[($10 + 16 | 0) >> 2] = $7; + $12 = operator_20new_28unsigned_20long_29(60 | 0) | 0; + btCapsuleCharacterControllerDesc__btCapsuleCharacterControllerDesc_28_29($12 | 0) | 0; + HEAP32[($10 + 12 | 0) >> 2] = $12; + HEAPF32[(HEAP32[($10 + 12 | 0) >> 2] | 0) >> 2] = Math_fround(HEAPF32[($10 + 44 | 0) >> 2]); + HEAPF32[((HEAP32[($10 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] = Math_fround(HEAPF32[($10 + 40 | 0) >> 2]); + HEAPF32[((HEAP32[($10 + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] = Math_fround(HEAPF32[($10 + 36 | 0) >> 2]); + $22 = (HEAP32[($10 + 12 | 0) >> 2] | 0) + 12 | 0; + i64toi32_i32$2 = HEAP32[($10 + 32 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $101 = i64toi32_i32$0; + i64toi32_i32$0 = $22; + HEAP32[i64toi32_i32$0 >> 2] = $101; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $24 = 8; + i64toi32_i32$2 = i64toi32_i32$2 + $24 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $111 = i64toi32_i32$1; + i64toi32_i32$1 = $22 + $24 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $111; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + $31 = (HEAP32[($10 + 12 | 0) >> 2] | 0) + 28 | 0; + i64toi32_i32$2 = HEAP32[($10 + 28 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $122 = i64toi32_i32$0; + i64toi32_i32$0 = $31; + HEAP32[i64toi32_i32$0 >> 2] = $122; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $33 = 8; + i64toi32_i32$2 = i64toi32_i32$2 + $33 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $132 = i64toi32_i32$1; + i64toi32_i32$1 = $31 + $33 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $132; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + HEAP32[((HEAP32[($10 + 12 | 0) >> 2] | 0) + 48 | 0) >> 2] = HEAP32[($10 + 24 | 0) >> 2] | 0; + HEAPF32[((HEAP32[($10 + 12 | 0) >> 2] | 0) + 52 | 0) >> 2] = Math_fround(HEAPF32[($10 + 20 | 0) >> 2]); + HEAPF32[((HEAP32[($10 + 12 | 0) >> 2] | 0) + 56 | 0) >> 2] = Math_fround(HEAPF32[($10 + 16 | 0) >> 2]); + $43 = HEAP32[($10 + 12 | 0) >> 2] | 0; + __stack_pointer = $10 + 48 | 0; + return $43 | 0; + } + + function btCapsuleCharacterControllerDesc__btCapsuleCharacterControllerDesc_28_29($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + btCharacterControllerDesc__btCharacterControllerDesc_28_29($4 | 0) | 0; + HEAP32[($4 + 44 | 0) >> 2] = 1; + __stack_pointer = $3 + 16 | 0; + return $4 | 0; + } + + function btCharacterControllerDesc__btCharacterControllerDesc_28_29($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + btVector3__btVector3_28_29($4 + 12 | 0 | 0) | 0; + btVector3__btVector3_28_29($4 + 28 | 0 | 0) | 0; + __stack_pointer = $3 + 16 | 0; + return $4 | 0; + } + + function CapsuleCharacterController_new($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $5 = 0, $10 = 0; + $5 = __stack_pointer - 32 | 0; + __stack_pointer = $5; + HEAP32[($5 + 28 | 0) >> 2] = $0; + HEAP32[($5 + 24 | 0) >> 2] = $1; + HEAP32[($5 + 20 | 0) >> 2] = $2; + HEAP32[($5 + 16 | 0) >> 2] = HEAP32[($5 + 28 | 0) >> 2] | 0; + HEAP32[($5 + 12 | 0) >> 2] = HEAP32[($5 + 24 | 0) >> 2] | 0; + HEAP32[($5 + 8 | 0) >> 2] = HEAP32[($5 + 20 | 0) >> 2] | 0; + $10 = operator_20new_28unsigned_20long_29(160 | 0) | 0; + btCapsuleCharacterController__btCapsuleCharacterController_28btCollisionWorld__2c_20btCapsuleCharacterControllerDesc__2c_20void__29($10 | 0, HEAP32[($5 + 16 | 0) >> 2] | 0 | 0, HEAP32[($5 + 12 | 0) >> 2] | 0 | 0, HEAP32[($5 + 8 | 0) >> 2] | 0 | 0) | 0; + __stack_pointer = $5 + 32 | 0; + return $10 | 0; + } + + function CapsuleCharacterController_setRadius($0, $1) { + $0 = $0 | 0; + $1 = Math_fround($1); + var $4 = 0; + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAPF32[($4 + 8 | 0) >> 2] = $1; + HEAP32[($4 + 4 | 0) >> 2] = HEAP32[($4 + 12 | 0) >> 2] | 0; + btCapsuleCharacterController__setRadius_28float_29(HEAP32[($4 + 4 | 0) >> 2] | 0 | 0, Math_fround(Math_fround(HEAPF32[($4 + 8 | 0) >> 2]))); + __stack_pointer = $4 + 16 | 0; + return; + } + + function CapsuleCharacterController_setHeight($0, $1) { + $0 = $0 | 0; + $1 = Math_fround($1); + var $4 = 0; + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAPF32[($4 + 8 | 0) >> 2] = $1; + HEAP32[($4 + 4 | 0) >> 2] = HEAP32[($4 + 12 | 0) >> 2] | 0; + btCapsuleCharacterController__setHeight_28float_29(HEAP32[($4 + 4 | 0) >> 2] | 0 | 0, Math_fround(Math_fround(HEAPF32[($4 + 8 | 0) >> 2]))); + __stack_pointer = $4 + 16 | 0; + return; + } + + function BoxCharacterControllerDesc_new($0, $1, $2, $3, $4, $5, $6, $7, $8) { + $0 = Math_fround($0); + $1 = Math_fround($1); + $2 = Math_fround($2); + $3 = $3 | 0; + $4 = $4 | 0; + $5 = $5 | 0; + $6 = Math_fround($6); + $7 = Math_fround($7); + $8 = Math_fround($8); + var $11 = 0, i64toi32_i32$2 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $13 = 0, $23 = 0, $25 = 0, $32 = 0, $34 = 0, $106 = 0, $116 = 0, $127 = 0, $137 = 0, $46 = 0; + $11 = __stack_pointer - 48 | 0; + __stack_pointer = $11; + HEAPF32[($11 + 44 | 0) >> 2] = $0; + HEAPF32[($11 + 40 | 0) >> 2] = $1; + HEAPF32[($11 + 36 | 0) >> 2] = $2; + HEAP32[($11 + 32 | 0) >> 2] = $3; + HEAP32[($11 + 28 | 0) >> 2] = $4; + HEAP32[($11 + 24 | 0) >> 2] = $5; + HEAPF32[($11 + 20 | 0) >> 2] = $6; + HEAPF32[($11 + 16 | 0) >> 2] = $7; + HEAPF32[($11 + 12 | 0) >> 2] = $8; + $13 = operator_20new_28unsigned_20long_29(64 | 0) | 0; + btBoxCharacterControllerDesc__btBoxCharacterControllerDesc_28_29($13 | 0) | 0; + HEAP32[($11 + 8 | 0) >> 2] = $13; + HEAPF32[(HEAP32[($11 + 8 | 0) >> 2] | 0) >> 2] = Math_fround(HEAPF32[($11 + 44 | 0) >> 2]); + HEAPF32[((HEAP32[($11 + 8 | 0) >> 2] | 0) + 4 | 0) >> 2] = Math_fround(HEAPF32[($11 + 40 | 0) >> 2]); + HEAPF32[((HEAP32[($11 + 8 | 0) >> 2] | 0) + 8 | 0) >> 2] = Math_fround(HEAPF32[($11 + 36 | 0) >> 2]); + $23 = (HEAP32[($11 + 8 | 0) >> 2] | 0) + 12 | 0; + i64toi32_i32$2 = HEAP32[($11 + 32 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $106 = i64toi32_i32$0; + i64toi32_i32$0 = $23; + HEAP32[i64toi32_i32$0 >> 2] = $106; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $25 = 8; + i64toi32_i32$2 = i64toi32_i32$2 + $25 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $116 = i64toi32_i32$1; + i64toi32_i32$1 = $23 + $25 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $116; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + $32 = (HEAP32[($11 + 8 | 0) >> 2] | 0) + 28 | 0; + i64toi32_i32$2 = HEAP32[($11 + 28 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $127 = i64toi32_i32$0; + i64toi32_i32$0 = $32; + HEAP32[i64toi32_i32$0 >> 2] = $127; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $34 = 8; + i64toi32_i32$2 = i64toi32_i32$2 + $34 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $137 = i64toi32_i32$1; + i64toi32_i32$1 = $32 + $34 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $137; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + HEAP32[((HEAP32[($11 + 8 | 0) >> 2] | 0) + 48 | 0) >> 2] = HEAP32[($11 + 24 | 0) >> 2] | 0; + HEAPF32[((HEAP32[($11 + 8 | 0) >> 2] | 0) + 52 | 0) >> 2] = Math_fround(HEAPF32[($11 + 20 | 0) >> 2]); + HEAPF32[((HEAP32[($11 + 8 | 0) >> 2] | 0) + 56 | 0) >> 2] = Math_fround(HEAPF32[($11 + 16 | 0) >> 2]); + HEAPF32[((HEAP32[($11 + 8 | 0) >> 2] | 0) + 60 | 0) >> 2] = Math_fround(HEAPF32[($11 + 12 | 0) >> 2]); + $46 = HEAP32[($11 + 8 | 0) >> 2] | 0; + __stack_pointer = $11 + 48 | 0; + return $46 | 0; + } + + function btBoxCharacterControllerDesc__btBoxCharacterControllerDesc_28_29($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + btCharacterControllerDesc__btCharacterControllerDesc_28_29($4 | 0) | 0; + HEAP32[($4 + 44 | 0) >> 2] = 0; + __stack_pointer = $3 + 16 | 0; + return $4 | 0; + } + + function BoxCharacterController_new($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $5 = 0, $10 = 0; + $5 = __stack_pointer - 32 | 0; + __stack_pointer = $5; + HEAP32[($5 + 28 | 0) >> 2] = $0; + HEAP32[($5 + 24 | 0) >> 2] = $1; + HEAP32[($5 + 20 | 0) >> 2] = $2; + HEAP32[($5 + 16 | 0) >> 2] = HEAP32[($5 + 28 | 0) >> 2] | 0; + HEAP32[($5 + 12 | 0) >> 2] = HEAP32[($5 + 24 | 0) >> 2] | 0; + HEAP32[($5 + 8 | 0) >> 2] = HEAP32[($5 + 20 | 0) >> 2] | 0; + $10 = operator_20new_28unsigned_20long_29(164 | 0) | 0; + btBoxCharacterController__btBoxCharacterController_28btCollisionWorld__2c_20btBoxCharacterControllerDesc__2c_20void__29($10 | 0, HEAP32[($5 + 16 | 0) >> 2] | 0 | 0, HEAP32[($5 + 12 | 0) >> 2] | 0 | 0, HEAP32[($5 + 8 | 0) >> 2] | 0 | 0) | 0; + __stack_pointer = $5 + 32 | 0; + return $10 | 0; + } + + function BoxCharacterController_setHalfHeight($0, $1) { + $0 = $0 | 0; + $1 = Math_fround($1); + var $4 = 0; + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAPF32[($4 + 8 | 0) >> 2] = $1; + HEAP32[($4 + 4 | 0) >> 2] = HEAP32[($4 + 12 | 0) >> 2] | 0; + btBoxCharacterController__setHalfHeight_28float_29(HEAP32[($4 + 4 | 0) >> 2] | 0 | 0, Math_fround(Math_fround(HEAPF32[($4 + 8 | 0) >> 2]))); + __stack_pointer = $4 + 16 | 0; + return; + } + + function BoxCharacterController_setHalfSideExtent($0, $1) { + $0 = $0 | 0; + $1 = Math_fround($1); + var $4 = 0; + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAPF32[($4 + 8 | 0) >> 2] = $1; + HEAP32[($4 + 4 | 0) >> 2] = HEAP32[($4 + 12 | 0) >> 2] | 0; + btBoxCharacterController__setHalfSideExtent_28float_29(HEAP32[($4 + 4 | 0) >> 2] | 0 | 0, Math_fround(Math_fround(HEAPF32[($4 + 8 | 0) >> 2]))); + __stack_pointer = $4 + 16 | 0; + return; + } + + function BoxCharacterController_setHalfForwardExtent($0, $1) { + $0 = $0 | 0; + $1 = Math_fround($1); + var $4 = 0; + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAPF32[($4 + 8 | 0) >> 2] = $1; + HEAP32[($4 + 4 | 0) >> 2] = HEAP32[($4 + 12 | 0) >> 2] | 0; + btBoxCharacterController__setHalfForwardExtent_28float_29(HEAP32[($4 + 4 | 0) >> 2] | 0 | 0, Math_fround(Math_fround(HEAPF32[($4 + 8 | 0) >> 2]))); + __stack_pointer = $4 + 16 | 0; + return; + } + + function CollisionObject_new_28_29() { + var $2 = 0, $4 = 0, $5 = 0; + $2 = __stack_pointer - 16 | 0; + __stack_pointer = $2; + $4 = btCollisionObject__operator_20new_28unsigned_20long_29(324 | 0) | 0; + btCollisionObject__btCollisionObject_28_29($4 | 0) | 0; + HEAP32[($2 + 12 | 0) >> 2] = $4; + $5 = HEAP32[($2 + 12 | 0) >> 2] | 0; + __stack_pointer = $2 + 16 | 0; + return $5 | 0; + } + + function btCollisionObject__operator_20new_28unsigned_20long_29($0) { + $0 = $0 | 0; + var $3 = 0, $6 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $6 = btAlignedAllocInternal_28unsigned_20long_2c_20int_29(HEAP32[($3 + 12 | 0) >> 2] | 0 | 0, 16 | 0) | 0; + __stack_pointer = $3 + 16 | 0; + return $6 | 0; + } + + function CollisionObject_isStaticObject_28int_29($0) { + $0 = $0 | 0; + var $3 = 0, $7 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $7 = (btCollisionObject__isStaticObject_28_29_20const(HEAP32[($3 + 12 | 0) >> 2] | 0 | 0) | 0) & 1 | 0; + __stack_pointer = $3 + 16 | 0; + return $7 | 0; + } + + function btCollisionObject__isStaticObject_28_29_20const($0) { + $0 = $0 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + return ((HEAP32[((HEAP32[($3 + 12 | 0) >> 2] | 0) + 204 | 0) >> 2] | 0) & 1 | 0 | 0) != (0 | 0) & 1 | 0 | 0; + } + + function CollisionObject_isKinematicObject_28int_29($0) { + $0 = $0 | 0; + var $3 = 0, $7 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $7 = (btCollisionObject__isKinematicObject_28_29_20const(HEAP32[($3 + 12 | 0) >> 2] | 0 | 0) | 0) & 1 | 0; + __stack_pointer = $3 + 16 | 0; + return $7 | 0; + } + + function btCollisionObject__isKinematicObject_28_29_20const($0) { + $0 = $0 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + return ((HEAP32[((HEAP32[($3 + 12 | 0) >> 2] | 0) + 204 | 0) >> 2] | 0) & 2 | 0 | 0) != (0 | 0) & 1 | 0 | 0; + } + + function CollisionObject_isStaticOrKinematicObject_28int_29($0) { + $0 = $0 | 0; + var $3 = 0, $7 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $7 = (btCollisionObject__isStaticOrKinematicObject_28_29_20const(HEAP32[($3 + 12 | 0) >> 2] | 0 | 0) | 0) & 1 | 0; + __stack_pointer = $3 + 16 | 0; + return $7 | 0; + } + + function btCollisionObject__isStaticOrKinematicObject_28_29_20const($0) { + $0 = $0 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + return ((HEAP32[((HEAP32[($3 + 12 | 0) >> 2] | 0) + 204 | 0) >> 2] | 0) & 3 | 0 | 0) != (0 | 0) & 1 | 0 | 0; + } + + function CollisionObject_setContactProcessingThreshold_28int_2c_20int_29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0; + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + HEAP32[($4 + 4 | 0) >> 2] = HEAP32[($4 + 12 | 0) >> 2] | 0; + btCollisionObject__setContactProcessingThreshold_28float_29(HEAP32[($4 + 4 | 0) >> 2] | 0 | 0, Math_fround(Math_fround(HEAP32[($4 + 8 | 0) >> 2] | 0 | 0))); + __stack_pointer = $4 + 16 | 0; + return; + } + + function btCollisionObject__setContactProcessingThreshold_28float_29($0, $1) { + $0 = $0 | 0; + $1 = Math_fround($1); + var $4 = 0; + $4 = __stack_pointer - 16 | 0; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAPF32[($4 + 8 | 0) >> 2] = $1; + HEAPF32[((HEAP32[($4 + 12 | 0) >> 2] | 0) + 184 | 0) >> 2] = Math_fround(HEAPF32[($4 + 8 | 0) >> 2]); + return; + } + + function CollisionObject_forceActivationState_28int_2c_20int_29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0; + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + HEAP32[($4 + 4 | 0) >> 2] = HEAP32[($4 + 12 | 0) >> 2] | 0; + btCollisionObject__forceActivationState_28int_29_20const(HEAP32[($4 + 4 | 0) >> 2] | 0 | 0, HEAP32[($4 + 8 | 0) >> 2] | 0 | 0); + __stack_pointer = $4 + 16 | 0; + return; + } + + function CollisionObject_activate_28int_2c_20bool_29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0; + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP8[($4 + 11 | 0) >> 0] = $1; + HEAP32[($4 + 4 | 0) >> 2] = HEAP32[($4 + 12 | 0) >> 2] | 0; + btCollisionObject__activate_28bool_29_20const(HEAP32[($4 + 4 | 0) >> 2] | 0 | 0, (HEAPU8[($4 + 11 | 0) >> 0] | 0) & 1 | 0 | 0); + __stack_pointer = $4 + 16 | 0; + return; + } + + function CollisionObject_isActive_28int_29($0) { + $0 = $0 | 0; + var $3 = 0, $8 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + HEAP32[($3 + 8 | 0) >> 2] = HEAP32[($3 + 12 | 0) >> 2] | 0; + $8 = (btCollisionObject__isActive_28_29_20const(HEAP32[($3 + 8 | 0) >> 2] | 0 | 0) | 0) & 1 | 0; + __stack_pointer = $3 + 16 | 0; + return $8 | 0; + } + + function btCollisionObject__isActive_28_29_20const($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0, $13 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + $13 = 0; + label$1 : { + if (!((btCollisionObject__getActivationState_28_29_20const($4 | 0) | 0 | 0) != (2 | 0) & 1 | 0)) { + break label$1 + } + $13 = (btCollisionObject__getActivationState_28_29_20const($4 | 0) | 0 | 0) != (5 | 0); + } + __stack_pointer = $3 + 16 | 0; + return $13 & 1 | 0 | 0; + } + + function btCollisionObject__getActivationState_28_29_20const($0) { + $0 = $0 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + return HEAP32[((HEAP32[($3 + 12 | 0) >> 2] | 0) + 220 | 0) >> 2] | 0 | 0; + } + + function CollisionObject_setMaterial_28int_2c_20float_2c_20float_2c_20float_2c_20float_29($0, $1, $2, $3, $4) { + $0 = $0 | 0; + $1 = Math_fround($1); + $2 = Math_fround($2); + $3 = Math_fround($3); + $4 = Math_fround($4); + var $7 = 0; + $7 = __stack_pointer - 32 | 0; + __stack_pointer = $7; + HEAP32[($7 + 28 | 0) >> 2] = $0; + HEAPF32[($7 + 24 | 0) >> 2] = $1; + HEAPF32[($7 + 20 | 0) >> 2] = $2; + HEAPF32[($7 + 16 | 0) >> 2] = $3; + HEAPF32[($7 + 12 | 0) >> 2] = $4; + HEAP32[($7 + 8 | 0) >> 2] = HEAP32[($7 + 28 | 0) >> 2] | 0; + btCollisionObject__setRestitution_28float_29(HEAP32[($7 + 8 | 0) >> 2] | 0 | 0, Math_fround(Math_fround(HEAPF32[($7 + 24 | 0) >> 2]))); + btCollisionObject__setFriction_28float_29(HEAP32[($7 + 8 | 0) >> 2] | 0 | 0, Math_fround(Math_fround(HEAPF32[($7 + 20 | 0) >> 2]))); + btCollisionObject__setRollingFriction_28float_29(HEAP32[($7 + 8 | 0) >> 2] | 0 | 0, Math_fround(Math_fround(HEAPF32[($7 + 16 | 0) >> 2]))); + btCollisionObject__setSpinningFriction_28float_29(HEAP32[($7 + 8 | 0) >> 2] | 0 | 0, Math_fround(Math_fround(HEAPF32[($7 + 12 | 0) >> 2]))); + __stack_pointer = $7 + 32 | 0; + return; + } + + function btCollisionObject__setRestitution_28float_29($0, $1) { + $0 = $0 | 0; + $1 = Math_fround($1); + var $4 = 0, $5 = 0; + $4 = __stack_pointer - 16 | 0; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAPF32[($4 + 8 | 0) >> 2] = $1; + $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; + HEAP32[($5 + 304 | 0) >> 2] = (HEAP32[($5 + 304 | 0) >> 2] | 0) + 1 | 0; + HEAPF32[($5 + 232 | 0) >> 2] = Math_fround(HEAPF32[($4 + 8 | 0) >> 2]); + return; + } + + function btCollisionObject__setFriction_28float_29($0, $1) { + $0 = $0 | 0; + $1 = Math_fround($1); + var $4 = 0, $5 = 0; + $4 = __stack_pointer - 16 | 0; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAPF32[($4 + 8 | 0) >> 2] = $1; + $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; + HEAP32[($5 + 304 | 0) >> 2] = (HEAP32[($5 + 304 | 0) >> 2] | 0) + 1 | 0; + HEAPF32[($5 + 228 | 0) >> 2] = Math_fround(HEAPF32[($4 + 8 | 0) >> 2]); + return; + } + + function btCollisionObject__setRollingFriction_28float_29($0, $1) { + $0 = $0 | 0; + $1 = Math_fround($1); + var $4 = 0, $5 = 0; + $4 = __stack_pointer - 16 | 0; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAPF32[($4 + 8 | 0) >> 2] = $1; + $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; + HEAP32[($5 + 304 | 0) >> 2] = (HEAP32[($5 + 304 | 0) >> 2] | 0) + 1 | 0; + HEAPF32[($5 + 236 | 0) >> 2] = Math_fround(HEAPF32[($4 + 8 | 0) >> 2]); + return; + } + + function btCollisionObject__setSpinningFriction_28float_29($0, $1) { + $0 = $0 | 0; + $1 = Math_fround($1); + var $4 = 0, $5 = 0; + $4 = __stack_pointer - 16 | 0; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAPF32[($4 + 8 | 0) >> 2] = $1; + $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; + HEAP32[($5 + 304 | 0) >> 2] = (HEAP32[($5 + 304 | 0) >> 2] | 0) + 1 | 0; + HEAPF32[($5 + 240 | 0) >> 2] = Math_fround(HEAPF32[($4 + 8 | 0) >> 2]); + return; + } + + function CollisionObject_getCollisionFlags_28int_29($0) { + $0 = $0 | 0; + var $3 = 0, $6 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + HEAP32[($3 + 8 | 0) >> 2] = HEAP32[($3 + 12 | 0) >> 2] | 0; + $6 = btCollisionObject__getCollisionFlags_28_29_20const(HEAP32[($3 + 8 | 0) >> 2] | 0 | 0) | 0; + __stack_pointer = $3 + 16 | 0; + return $6 | 0; + } + + function btCollisionObject__getCollisionFlags_28_29_20const($0) { + $0 = $0 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + return HEAP32[((HEAP32[($3 + 12 | 0) >> 2] | 0) + 204 | 0) >> 2] | 0 | 0; + } + + function CollisionObject_setCollisionFlags_28int_2c_20int_29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0; + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + HEAP32[($4 + 4 | 0) >> 2] = HEAP32[($4 + 12 | 0) >> 2] | 0; + btCollisionObject__setCollisionFlags_28int_29(HEAP32[($4 + 4 | 0) >> 2] | 0 | 0, HEAP32[($4 + 8 | 0) >> 2] | 0 | 0); + __stack_pointer = $4 + 16 | 0; + return; + } + + function btCollisionObject__setCollisionFlags_28int_29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0; + $4 = __stack_pointer - 16 | 0; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + HEAP32[((HEAP32[($4 + 12 | 0) >> 2] | 0) + 204 | 0) >> 2] = HEAP32[($4 + 8 | 0) >> 2] | 0; + return; + } + + function CollisionObject_getWorldTransform_28int_29($0) { + $0 = $0 | 0; + var $3 = 0, $6 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + HEAP32[($3 + 8 | 0) >> 2] = HEAP32[($3 + 12 | 0) >> 2] | 0; + $6 = btCollisionObject__getWorldTransform_28_29(HEAP32[($3 + 8 | 0) >> 2] | 0 | 0) | 0; + __stack_pointer = $3 + 16 | 0; + return $6 | 0; + } + + function btCollisionObject__getWorldTransform_28_29($0) { + $0 = $0 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + return (HEAP32[($3 + 12 | 0) >> 2] | 0) + 4 | 0 | 0; + } + + function CollisionObject_setCollisionShape_28int_2c_20int_29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, $6 = 0; + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + HEAP32[($4 + 4 | 0) >> 2] = HEAP32[($4 + 12 | 0) >> 2] | 0; + $6 = HEAP32[($4 + 4 | 0) >> 2] | 0; + FUNCTION_TABLE[HEAP32[((HEAP32[$6 >> 2] | 0) + 8 | 0) >> 2] | 0 | 0]($6, HEAP32[($4 + 8 | 0) >> 2] | 0); + __stack_pointer = $4 + 16 | 0; + return; + } + + function CollisionObject_getCollisionShape_28int_29($0) { + $0 = $0 | 0; + var $3 = 0, $6 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + HEAP32[($3 + 8 | 0) >> 2] = HEAP32[($3 + 12 | 0) >> 2] | 0; + $6 = btCollisionObject__getCollisionShape_28_29(HEAP32[($3 + 8 | 0) >> 2] | 0 | 0) | 0; + __stack_pointer = $3 + 16 | 0; + return $6 | 0; + } + + function btCollisionObject__getCollisionShape_28_29($0) { + $0 = $0 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + return HEAP32[((HEAP32[($3 + 12 | 0) >> 2] | 0) + 192 | 0) >> 2] | 0 | 0; + } + + function CollisionObject_setCcdMotionThreshold_28int_2c_20float_29($0, $1) { + $0 = $0 | 0; + $1 = Math_fround($1); + var $4 = 0; + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAPF32[($4 + 8 | 0) >> 2] = $1; + HEAP32[($4 + 4 | 0) >> 2] = HEAP32[($4 + 12 | 0) >> 2] | 0; + btCollisionObject__setCcdMotionThreshold_28float_29(HEAP32[($4 + 4 | 0) >> 2] | 0 | 0, Math_fround(Math_fround(HEAPF32[($4 + 8 | 0) >> 2]))); + __stack_pointer = $4 + 16 | 0; + return; + } + + function btCollisionObject__setCcdMotionThreshold_28float_29($0, $1) { + $0 = $0 | 0; + $1 = Math_fround($1); + var $4 = 0; + $4 = __stack_pointer - 16 | 0; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAPF32[($4 + 8 | 0) >> 2] = $1; + HEAPF32[((HEAP32[($4 + 12 | 0) >> 2] | 0) + 276 | 0) >> 2] = Math_fround(HEAPF32[($4 + 8 | 0) >> 2]); + return; + } + + function btCollisionObject__getCcdSweptSphereRadius_28_29_20const($0) { + $0 = $0 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + return Math_fround(Math_fround(HEAPF32[((HEAP32[($3 + 12 | 0) >> 2] | 0) + 272 | 0) >> 2])); + } + + function CollisionObject_setCcdSweptSphereRadius_28int_2c_20float_29($0, $1) { + $0 = $0 | 0; + $1 = Math_fround($1); + var $4 = 0; + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAPF32[($4 + 8 | 0) >> 2] = $1; + HEAP32[($4 + 4 | 0) >> 2] = HEAP32[($4 + 12 | 0) >> 2] | 0; + btCollisionObject__setCcdSweptSphereRadius_28float_29(HEAP32[($4 + 4 | 0) >> 2] | 0 | 0, Math_fround(Math_fround(HEAPF32[($4 + 8 | 0) >> 2]))); + __stack_pointer = $4 + 16 | 0; + return; + } + + function btCollisionObject__setCcdSweptSphereRadius_28float_29($0, $1) { + $0 = $0 | 0; + $1 = Math_fround($1); + var $4 = 0; + $4 = __stack_pointer - 16 | 0; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAPF32[($4 + 8 | 0) >> 2] = $1; + HEAPF32[((HEAP32[($4 + 12 | 0) >> 2] | 0) + 272 | 0) >> 2] = Math_fround(HEAPF32[($4 + 8 | 0) >> 2]); + return; + } + + function CollisionObject_getUserIndex_28int_29($0) { + $0 = $0 | 0; + var $3 = 0, $6 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + HEAP32[($3 + 8 | 0) >> 2] = HEAP32[($3 + 12 | 0) >> 2] | 0; + $6 = btCollisionObject__getUserIndex_28_29_20const(HEAP32[($3 + 8 | 0) >> 2] | 0 | 0) | 0; + __stack_pointer = $3 + 16 | 0; + return $6 | 0; + } + + function btCollisionObject__getUserIndex_28_29_20const($0) { + $0 = $0 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + return HEAP32[((HEAP32[($3 + 12 | 0) >> 2] | 0) + 264 | 0) >> 2] | 0 | 0; + } + + function CollisionObject_setUserIndex_28int_2c_20int_29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0; + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + HEAP32[($4 + 4 | 0) >> 2] = HEAP32[($4 + 12 | 0) >> 2] | 0; + btCollisionObject__setUserIndex_28int_29(HEAP32[($4 + 4 | 0) >> 2] | 0 | 0, HEAP32[($4 + 8 | 0) >> 2] | 0 | 0); + __stack_pointer = $4 + 16 | 0; + return; + } + + function btCollisionObject__setUserIndex_28int_29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0; + $4 = __stack_pointer - 16 | 0; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + HEAP32[((HEAP32[($4 + 12 | 0) >> 2] | 0) + 264 | 0) >> 2] = HEAP32[($4 + 8 | 0) >> 2] | 0; + return; + } + + function CollisionObject_isSleeping_28int_29($0) { + $0 = $0 | 0; + var $3 = 0, $12 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + HEAP32[($3 + 8 | 0) >> 2] = HEAP32[($3 + 12 | 0) >> 2] | 0; + $12 = (btCollisionObject__getActivationState_28_29_20const(HEAP32[($3 + 8 | 0) >> 2] | 0 | 0) | 0 | 0) == (2 | 0) & 1 | 0; + __stack_pointer = $3 + 16 | 0; + return $12 | 0; + } + + function CollisionObject_getActivationState_28int_29($0) { + $0 = $0 | 0; + var $3 = 0, $6 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + HEAP32[($3 + 8 | 0) >> 2] = HEAP32[($3 + 12 | 0) >> 2] | 0; + $6 = btCollisionObject__getActivationState_28_29_20const(HEAP32[($3 + 8 | 0) >> 2] | 0 | 0) | 0; + __stack_pointer = $3 + 16 | 0; + return $6 | 0; + } + + function CollisionObject_setIgnoreCollisionCheck_28int_2c_20int_2c_20bool_29($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $5 = 0; + $5 = __stack_pointer - 32 | 0; + __stack_pointer = $5; + HEAP32[($5 + 28 | 0) >> 2] = $0; + HEAP32[($5 + 24 | 0) >> 2] = $1; + HEAP8[($5 + 23 | 0) >> 0] = $2; + HEAP32[($5 + 16 | 0) >> 2] = HEAP32[($5 + 28 | 0) >> 2] | 0; + HEAP32[($5 + 12 | 0) >> 2] = HEAP32[($5 + 24 | 0) >> 2] | 0; + btCollisionObject__setIgnoreCollisionCheck_28btCollisionObject_20const__2c_20bool_29(HEAP32[($5 + 16 | 0) >> 2] | 0 | 0, HEAP32[($5 + 12 | 0) >> 2] | 0 | 0, (HEAPU8[($5 + 23 | 0) >> 0] | 0) & 1 | 0 | 0); + __stack_pointer = $5 + 32 | 0; + return; + } + + function btCollisionObject__setIgnoreCollisionCheck_28btCollisionObject_20const__2c_20bool_29($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $5 = 0, $7 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5 = __stack_pointer - 16 | 0; + __stack_pointer = $5; + HEAP32[($5 + 12 | 0) >> 2] = $0; + HEAP32[($5 + 8 | 0) >> 2] = $1; + HEAP8[($5 + 7 | 0) >> 0] = $2; + $7 = HEAP32[($5 + 12 | 0) >> 2] | 0; + label$1 : { + label$2 : { + if (!((HEAPU8[($5 + 7 | 0) >> 0] | 0) & 1 | 0)) { + break label$2 + } + btAlignedObjectArray_btCollisionObject_20const____push_back_28btCollisionObject_20const__20const__29($7 + 284 | 0 | 0, $5 + 8 | 0 | 0); + break label$1; + } + btAlignedObjectArray_btCollisionObject_20const____remove_28btCollisionObject_20const__20const__29($7 + 284 | 0 | 0, $5 + 8 | 0 | 0); + } + (wasm2js_i32$0 = $7, wasm2js_i32$1 = (btAlignedObjectArray_btCollisionObject_20const____size_28_29_20const($7 + 284 | 0 | 0) | 0 | 0) > (0 | 0) & 1 | 0), HEAP32[(wasm2js_i32$0 + 280 | 0) >> 2] = wasm2js_i32$1; + __stack_pointer = $5 + 16 | 0; + return; + } + + function btAlignedObjectArray_btCollisionObject_20const____push_back_28btCollisionObject_20const__20const__29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $5 = 0, $4 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; + (wasm2js_i32$0 = $4, wasm2js_i32$1 = btAlignedObjectArray_btCollisionObject_20const____size_28_29_20const($5 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + if (!((HEAP32[($4 + 4 | 0) >> 2] | 0 | 0) == (btAlignedObjectArray_btCollisionObject_20const____capacity_28_29_20const($5 | 0) | 0 | 0) & 1 | 0)) { + break label$1 + } + btAlignedObjectArray_btCollisionObject_20const____reserve_28int_29($5 | 0, btAlignedObjectArray_btCollisionObject_20const____allocSize_28int_29($5 | 0, btAlignedObjectArray_btCollisionObject_20const____size_28_29_20const($5 | 0) | 0 | 0) | 0 | 0); + } + HEAP32[((HEAP32[($5 + 12 | 0) >> 2] | 0) + ((HEAP32[($5 + 4 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = HEAP32[(HEAP32[($4 + 8 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($5 + 4 | 0) >> 2] = (HEAP32[($5 + 4 | 0) >> 2] | 0) + 1 | 0; + __stack_pointer = $4 + 16 | 0; + return; + } + + function btAlignedObjectArray_btCollisionObject_20const____remove_28btCollisionObject_20const__20const__29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, $5 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; + (wasm2js_i32$0 = $4, wasm2js_i32$1 = btAlignedObjectArray_btCollisionObject_20const____findLinearSearch_28btCollisionObject_20const__20const__29_20const($5 | 0, HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + btAlignedObjectArray_btCollisionObject_20const____removeAtIndex_28int_29($5 | 0, HEAP32[($4 + 4 | 0) >> 2] | 0 | 0); + __stack_pointer = $4 + 16 | 0; + return; + } + + function btAlignedObjectArray_btCollisionObject_20const____size_28_29_20const($0) { + $0 = $0 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + return HEAP32[((HEAP32[($3 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0; + } + + function CollisionShape_setMaterial_28int_2c_20int_29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0; + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + HEAP32[($4 + 4 | 0) >> 2] = HEAP32[($4 + 12 | 0) >> 2] | 0; + HEAP32[$4 >> 2] = HEAP32[($4 + 8 | 0) >> 2] | 0; + btCollisionShape__setMaterial_28cc__ccMaterial__29(HEAP32[($4 + 4 | 0) >> 2] | 0 | 0, HEAP32[$4 >> 2] | 0 | 0); + __stack_pointer = $4 + 16 | 0; + return; + } + + function btCollisionShape__setMaterial_28cc__ccMaterial__29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0; + $4 = __stack_pointer - 16 | 0; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + HEAP32[((HEAP32[($4 + 12 | 0) >> 2] | 0) + 16 | 0) >> 2] = HEAP32[($4 + 8 | 0) >> 2] | 0; + return; + } + + function btCollisionShape__getMaterial_28_29_20const($0) { + $0 = $0 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + return HEAP32[((HEAP32[($3 + 12 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0; + } + + function CollisionShape_setUserPointer_28int_2c_20int_29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0; + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + HEAP32[($4 + 4 | 0) >> 2] = HEAP32[($4 + 12 | 0) >> 2] | 0; + btCollisionShape__setUserPointerAsInt_28int_29(HEAP32[($4 + 4 | 0) >> 2] | 0 | 0, HEAP32[($4 + 8 | 0) >> 2] | 0 | 0); + __stack_pointer = $4 + 16 | 0; + return; + } + + function btCollisionShape__setUserPointerAsInt_28int_29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0; + $4 = __stack_pointer - 16 | 0; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + HEAP32[((HEAP32[($4 + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] = HEAP32[($4 + 8 | 0) >> 2] | 0; + return; + } + + function btCollisionShape__getUserPointerAsInt_28_29_20const($0) { + $0 = $0 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + return HEAP32[((HEAP32[($3 + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0; + } + + function CollisionShape_setLocalScaling_28int_2c_20int_29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, $6 = 0; + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + HEAP32[($4 + 4 | 0) >> 2] = HEAP32[($4 + 12 | 0) >> 2] | 0; + $6 = HEAP32[($4 + 4 | 0) >> 2] | 0; + FUNCTION_TABLE[HEAP32[((HEAP32[$6 >> 2] | 0) + 24 | 0) >> 2] | 0 | 0]($6, HEAP32[($4 + 8 | 0) >> 2] | 0); + __stack_pointer = $4 + 16 | 0; + return; + } + + function CollisionShape_calculateLocalInertia_28int_2c_20float_2c_20int_29($0, $1, $2) { + $0 = $0 | 0; + $1 = Math_fround($1); + $2 = $2 | 0; + var $5 = 0, $7 = 0; + $5 = __stack_pointer - 16 | 0; + __stack_pointer = $5; + HEAP32[($5 + 12 | 0) >> 2] = $0; + HEAPF32[($5 + 8 | 0) >> 2] = $1; + HEAP32[($5 + 4 | 0) >> 2] = $2; + HEAP32[$5 >> 2] = HEAP32[($5 + 12 | 0) >> 2] | 0; + $7 = HEAP32[$5 >> 2] | 0; + FUNCTION_TABLE[HEAP32[((HEAP32[$7 >> 2] | 0) + 32 | 0) >> 2] | 0 | 0]($7, Math_fround(HEAPF32[($5 + 8 | 0) >> 2]), HEAP32[($5 + 4 | 0) >> 2] | 0); + __stack_pointer = $5 + 16 | 0; + return; + } + + function CollisionShape_isCompound_28int_29($0) { + $0 = $0 | 0; + var $3 = 0, $8 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + HEAP32[($3 + 8 | 0) >> 2] = HEAP32[($3 + 12 | 0) >> 2] | 0; + $8 = (btCollisionShape__isCompound_28_29_20const(HEAP32[($3 + 8 | 0) >> 2] | 0 | 0) | 0) & 1 | 0; + __stack_pointer = $3 + 16 | 0; + return $8 | 0; + } + + function btCollisionShape__isCompound_28_29_20const($0) { + $0 = $0 | 0; + var $3 = 0, $8 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $8 = (btBroadphaseProxy__isCompound_28int_29(btCollisionShape__getShapeType_28_29_20const(HEAP32[($3 + 12 | 0) >> 2] | 0 | 0) | 0 | 0) | 0) & 1 | 0; + __stack_pointer = $3 + 16 | 0; + return $8 | 0; + } + + function btCollisionShape__getShapeType_28_29_20const($0) { + $0 = $0 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + return HEAP32[((HEAP32[($3 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0; + } + + function btBroadphaseProxy__isCompound_28int_29($0) { + $0 = $0 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + return (HEAP32[($3 + 12 | 0) >> 2] | 0 | 0) == (31 | 0) & 1 | 0 | 0; + } + + function CollisionShape_getAabb_28int_2c_20int_2c_20int_2c_20int_29($0, $1, $2, $3) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + var $6 = 0, $8 = 0; + $6 = __stack_pointer - 32 | 0; + __stack_pointer = $6; + HEAP32[($6 + 28 | 0) >> 2] = $0; + HEAP32[($6 + 24 | 0) >> 2] = $1; + HEAP32[($6 + 20 | 0) >> 2] = $2; + HEAP32[($6 + 16 | 0) >> 2] = $3; + HEAP32[($6 + 12 | 0) >> 2] = HEAP32[($6 + 28 | 0) >> 2] | 0; + $8 = HEAP32[($6 + 12 | 0) >> 2] | 0; + FUNCTION_TABLE[HEAP32[((HEAP32[$8 >> 2] | 0) + 8 | 0) >> 2] | 0 | 0]($8, HEAP32[($6 + 24 | 0) >> 2] | 0, HEAP32[($6 + 20 | 0) >> 2] | 0, HEAP32[($6 + 16 | 0) >> 2] | 0); + __stack_pointer = $6 + 32 | 0; + return; + } + + function btTransform__btTransform_28_29($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + btMatrix3x3__btMatrix3x3_28_29($4 | 0) | 0; + btVector3__btVector3_28_29($4 + 48 | 0 | 0) | 0; + __stack_pointer = $3 + 16 | 0; + return $4 | 0; + } + + function btTransform__setIdentity_28_29($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + btMatrix3x3__setIdentity_28_29($4 | 0); + HEAPF32[($3 + 8 | 0) >> 2] = Math_fround(0 | 0); + HEAPF32[($3 + 4 | 0) >> 2] = Math_fround(0 | 0); + HEAPF32[$3 >> 2] = Math_fround(0 | 0); + btVector3__setValue_28float_20const__2c_20float_20const__2c_20float_20const__29($4 + 48 | 0 | 0, $3 + 8 | 0 | 0, $3 + 4 | 0 | 0, $3 | 0); + __stack_pointer = $3 + 16 | 0; + return; + } + + function operator__28btVector3_20const__2c_20btVector3_20const__29($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $5 = 0; + $5 = __stack_pointer - 32 | 0; + __stack_pointer = $5; + HEAP32[($5 + 28 | 0) >> 2] = $1; + HEAP32[($5 + 24 | 0) >> 2] = $2; + HEAPF32[($5 + 20 | 0) >> 2] = Math_fround(Math_fround(HEAPF32[(HEAP32[($5 + 28 | 0) >> 2] | 0) >> 2]) - Math_fround(HEAPF32[(HEAP32[($5 + 24 | 0) >> 2] | 0) >> 2])); + HEAPF32[($5 + 16 | 0) >> 2] = Math_fround(Math_fround(HEAPF32[((HEAP32[($5 + 28 | 0) >> 2] | 0) + 4 | 0) >> 2]) - Math_fround(HEAPF32[((HEAP32[($5 + 24 | 0) >> 2] | 0) + 4 | 0) >> 2])); + HEAPF32[($5 + 12 | 0) >> 2] = Math_fround(Math_fround(HEAPF32[((HEAP32[($5 + 28 | 0) >> 2] | 0) + 8 | 0) >> 2]) - Math_fround(HEAPF32[((HEAP32[($5 + 24 | 0) >> 2] | 0) + 8 | 0) >> 2])); + btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($0 | 0, $5 + 20 | 0 | 0, $5 + 16 | 0 | 0, $5 + 12 | 0 | 0) | 0; + __stack_pointer = $5 + 32 | 0; + return; + } + + function btVector3__length_28_29_20const($0) { + $0 = $0 | 0; + var $3 = 0, $6 = Math_fround(0); + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $6 = Math_fround(btSqrt_28float_29(Math_fround(Math_fround(btVector3__length2_28_29_20const(HEAP32[($3 + 12 | 0) >> 2] | 0 | 0))))); + __stack_pointer = $3 + 16 | 0; + return Math_fround($6); + } + + function CollisionShape_setMargin_28int_2c_20float_29($0, $1) { + $0 = $0 | 0; + $1 = Math_fround($1); + var $4 = 0, $6 = 0; + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAPF32[($4 + 8 | 0) >> 2] = $1; + HEAP32[($4 + 4 | 0) >> 2] = HEAP32[($4 + 12 | 0) >> 2] | 0; + $6 = HEAP32[($4 + 4 | 0) >> 2] | 0; + FUNCTION_TABLE[HEAP32[((HEAP32[$6 >> 2] | 0) + 44 | 0) >> 2] | 0 | 0]($6, Math_fround(HEAPF32[($4 + 8 | 0) >> 2])); + __stack_pointer = $4 + 16 | 0; + return; + } + + function BoxShape_new_28int_29($0) { + $0 = $0 | 0; + var $3 = 0, $5 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $5 = btBoxShape__operator_20new_28unsigned_20long_29(64 | 0) | 0; + btBoxShape__btBoxShape_28btVector3_20const__29($5 | 0, HEAP32[($3 + 12 | 0) >> 2] | 0 | 0) | 0; + __stack_pointer = $3 + 16 | 0; + return $5 | 0; + } + + function btBoxShape__operator_20new_28unsigned_20long_29($0) { + $0 = $0 | 0; + var $3 = 0, $6 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $6 = btAlignedAllocInternal_28unsigned_20long_2c_20int_29(HEAP32[($3 + 12 | 0) >> 2] | 0 | 0, 16 | 0) | 0; + __stack_pointer = $3 + 16 | 0; + return $6 | 0; + } + + function BoxShape_setUnscaledHalfExtents_28int_2c_20int_29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0; + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + HEAP32[($4 + 4 | 0) >> 2] = HEAP32[($4 + 12 | 0) >> 2] | 0; + btBoxShape__setUnscaledHalfExtents_28btVector3_20const__29(HEAP32[($4 + 4 | 0) >> 2] | 0 | 0, HEAP32[($4 + 8 | 0) >> 2] | 0 | 0); + __stack_pointer = $4 + 16 | 0; + return; + } + + function btBoxShape__setUnscaledHalfExtents_28btVector3_20const__29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, $5 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, $43 = 0, $45 = 0, $147 = 0, $160 = 0, wasm2js_i32$0 = 0, wasm2js_f32$0 = Math_fround(0); + $4 = __stack_pointer - 80 | 0; + __stack_pointer = $4; + HEAP32[($4 + 76 | 0) >> 2] = $0; + HEAP32[($4 + 72 | 0) >> 2] = $1; + $5 = HEAP32[($4 + 76 | 0) >> 2] | 0; + (wasm2js_i32$0 = $4, wasm2js_f32$0 = Math_fround(FUNCTION_TABLE[HEAP32[((HEAP32[$5 >> 2] | 0) + 48 | 0) >> 2] | 0 | 0]($5))), HEAPF32[(wasm2js_i32$0 + 52 | 0) >> 2] = wasm2js_f32$0; + (wasm2js_i32$0 = $4, wasm2js_f32$0 = Math_fround(FUNCTION_TABLE[HEAP32[((HEAP32[$5 >> 2] | 0) + 48 | 0) >> 2] | 0 | 0]($5))), HEAPF32[(wasm2js_i32$0 + 48 | 0) >> 2] = wasm2js_f32$0; + (wasm2js_i32$0 = $4, wasm2js_f32$0 = Math_fround(FUNCTION_TABLE[HEAP32[((HEAP32[$5 >> 2] | 0) + 48 | 0) >> 2] | 0 | 0]($5))), HEAPF32[(wasm2js_i32$0 + 44 | 0) >> 2] = wasm2js_f32$0; + btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($4 + 56 | 0 | 0, $4 + 52 | 0 | 0, $4 + 48 | 0 | 0, $4 + 44 | 0 | 0) | 0; + operator__28btVector3_20const__2c_20btVector3_20const__29_1($4 + 12 | 0 | 0, HEAP32[($4 + 72 | 0) >> 2] | 0 | 0, $5 + 20 | 0 | 0); + operator__28btVector3_20const__2c_20btVector3_20const__29($4 + 28 | 0 | 0, $4 + 12 | 0 | 0, $4 + 56 | 0 | 0); + $43 = $5 + 36 | 0; + i64toi32_i32$2 = $4; + i64toi32_i32$0 = HEAP32[($4 + 28 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($4 + 32 | 0) >> 2] | 0; + $147 = i64toi32_i32$0; + i64toi32_i32$0 = $43; + HEAP32[i64toi32_i32$0 >> 2] = $147; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $45 = 8; + i64toi32_i32$2 = ($4 + 28 | 0) + $45 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $160 = i64toi32_i32$1; + i64toi32_i32$1 = $43 + $45 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $160; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + btConvexInternalShape__setSafeMargin_28btVector3_20const__2c_20float_29($5 | 0, HEAP32[($4 + 72 | 0) >> 2] | 0 | 0, Math_fround(Math_fround(.10000000149011612))); + __stack_pointer = $4 + 80 | 0; + return; + } + + function btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($0, $1, $2, $3) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + var $6 = 0, $7 = 0; + $6 = __stack_pointer - 16 | 0; + HEAP32[($6 + 12 | 0) >> 2] = $0; + HEAP32[($6 + 8 | 0) >> 2] = $1; + HEAP32[($6 + 4 | 0) >> 2] = $2; + HEAP32[$6 >> 2] = $3; + $7 = HEAP32[($6 + 12 | 0) >> 2] | 0; + HEAPF32[$7 >> 2] = Math_fround(HEAPF32[(HEAP32[($6 + 8 | 0) >> 2] | 0) >> 2]); + HEAPF32[($7 + 4 | 0) >> 2] = Math_fround(HEAPF32[(HEAP32[($6 + 4 | 0) >> 2] | 0) >> 2]); + HEAPF32[($7 + 8 | 0) >> 2] = Math_fround(HEAPF32[(HEAP32[$6 >> 2] | 0) >> 2]); + HEAPF32[($7 + 12 | 0) >> 2] = Math_fround(0 | 0); + return $7 | 0; + } + + function operator__28btVector3_20const__2c_20btVector3_20const__29_1($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $5 = 0; + $5 = __stack_pointer - 32 | 0; + __stack_pointer = $5; + HEAP32[($5 + 28 | 0) >> 2] = $1; + HEAP32[($5 + 24 | 0) >> 2] = $2; + HEAPF32[($5 + 20 | 0) >> 2] = Math_fround(Math_fround(HEAPF32[(HEAP32[($5 + 28 | 0) >> 2] | 0) >> 2]) * Math_fround(HEAPF32[(HEAP32[($5 + 24 | 0) >> 2] | 0) >> 2])); + HEAPF32[($5 + 16 | 0) >> 2] = Math_fround(Math_fround(HEAPF32[((HEAP32[($5 + 28 | 0) >> 2] | 0) + 4 | 0) >> 2]) * Math_fround(HEAPF32[((HEAP32[($5 + 24 | 0) >> 2] | 0) + 4 | 0) >> 2])); + HEAPF32[($5 + 12 | 0) >> 2] = Math_fround(Math_fround(HEAPF32[((HEAP32[($5 + 28 | 0) >> 2] | 0) + 8 | 0) >> 2]) * Math_fround(HEAPF32[((HEAP32[($5 + 24 | 0) >> 2] | 0) + 8 | 0) >> 2])); + btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($0 | 0, $5 + 20 | 0 | 0, $5 + 16 | 0 | 0, $5 + 12 | 0 | 0) | 0; + __stack_pointer = $5 + 32 | 0; + return; + } + + function btConvexInternalShape__setSafeMargin_28btVector3_20const__2c_20float_29($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = Math_fround($2); + var $5 = 0, $6 = 0, wasm2js_i32$0 = 0, wasm2js_f32$0 = Math_fround(0); + $5 = __stack_pointer - 16 | 0; + __stack_pointer = $5; + HEAP32[($5 + 12 | 0) >> 2] = $0; + HEAP32[($5 + 8 | 0) >> 2] = $1; + HEAPF32[($5 + 4 | 0) >> 2] = $2; + $6 = HEAP32[($5 + 12 | 0) >> 2] | 0; + (wasm2js_i32$0 = $5, wasm2js_f32$0 = Math_fround(HEAPF32[((btVector3__operator_20float_20const__28_29_20const(HEAP32[($5 + 8 | 0) >> 2] | 0 | 0) | 0) + ((btVector3__minAxis_28_29_20const(HEAP32[($5 + 8 | 0) >> 2] | 0 | 0) | 0) << 2 | 0) | 0) >> 2])), HEAPF32[wasm2js_i32$0 >> 2] = wasm2js_f32$0; + btConvexInternalShape__setSafeMargin_28float_2c_20float_29($6 | 0, Math_fround(Math_fround(HEAPF32[$5 >> 2])), Math_fround(Math_fround(HEAPF32[($5 + 4 | 0) >> 2]))); + __stack_pointer = $5 + 16 | 0; + return; + } + + function SphereShape_new_28float_29($0) { + $0 = Math_fround($0); + var $3 = 0, $5 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAPF32[($3 + 12 | 0) >> 2] = $0; + $5 = btSphereShape__operator_20new_28unsigned_20long_29(60 | 0) | 0; + btSphereShape__btSphereShape_28float_29($5 | 0, Math_fround(Math_fround(HEAPF32[($3 + 12 | 0) >> 2]))) | 0; + __stack_pointer = $3 + 16 | 0; + return $5 | 0; + } + + function btSphereShape__operator_20new_28unsigned_20long_29($0) { + $0 = $0 | 0; + var $3 = 0, $6 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $6 = btAlignedAllocInternal_28unsigned_20long_2c_20int_29(HEAP32[($3 + 12 | 0) >> 2] | 0 | 0, 16 | 0) | 0; + __stack_pointer = $3 + 16 | 0; + return $6 | 0; + } + + function btSphereShape__btSphereShape_28float_29($0, $1) { + $0 = $0 | 0; + $1 = Math_fround($1); + var $4 = 0, $5 = 0; + $4 = __stack_pointer - 32 | 0; + __stack_pointer = $4; + HEAP32[($4 + 28 | 0) >> 2] = $0; + HEAPF32[($4 + 24 | 0) >> 2] = $1; + $5 = HEAP32[($4 + 28 | 0) >> 2] | 0; + btConvexInternalShape__btConvexInternalShape_28_29($5 | 0) | 0; + HEAP32[$5 >> 2] = GOT_data_internal_vtable_20for_20btSphereShape + 8 | 0; + HEAP32[($5 + 4 | 0) >> 2] = 8; + HEAPF32[($4 + 20 | 0) >> 2] = Math_fround(1.0); + HEAPF32[($4 + 16 | 0) >> 2] = Math_fround(1.0); + HEAPF32[($4 + 12 | 0) >> 2] = Math_fround(1.0); + btVector3__setValue_28float_20const__2c_20float_20const__2c_20float_20const__29($5 + 20 | 0 | 0, $4 + 20 | 0 | 0, $4 + 16 | 0 | 0, $4 + 12 | 0 | 0); + btVector3__setZero_28_29($5 + 36 | 0 | 0); + btVector3__setX_28float_29($5 + 36 | 0 | 0, Math_fround(Math_fround(HEAPF32[($4 + 24 | 0) >> 2]))); + HEAPF32[($5 + 52 | 0) >> 2] = Math_fround(HEAPF32[($4 + 24 | 0) >> 2]); + HEAPF32[($5 + 56 | 0) >> 2] = Math_fround(0 | 0); + __stack_pointer = $4 + 32 | 0; + return $5 | 0; + } + + function btVector3__setValue_28float_20const__2c_20float_20const__2c_20float_20const__29($0, $1, $2, $3) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + var $6 = 0, $7 = 0; + $6 = __stack_pointer - 16 | 0; + HEAP32[($6 + 12 | 0) >> 2] = $0; + HEAP32[($6 + 8 | 0) >> 2] = $1; + HEAP32[($6 + 4 | 0) >> 2] = $2; + HEAP32[$6 >> 2] = $3; + $7 = HEAP32[($6 + 12 | 0) >> 2] | 0; + HEAPF32[$7 >> 2] = Math_fround(HEAPF32[(HEAP32[($6 + 8 | 0) >> 2] | 0) >> 2]); + HEAPF32[($7 + 4 | 0) >> 2] = Math_fround(HEAPF32[(HEAP32[($6 + 4 | 0) >> 2] | 0) >> 2]); + HEAPF32[($7 + 8 | 0) >> 2] = Math_fround(HEAPF32[(HEAP32[$6 >> 2] | 0) >> 2]); + HEAPF32[($7 + 12 | 0) >> 2] = Math_fround(0 | 0); + return; + } + + function btVector3__setZero_28_29($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + HEAPF32[($3 + 8 | 0) >> 2] = Math_fround(0 | 0); + HEAPF32[($3 + 4 | 0) >> 2] = Math_fround(0 | 0); + HEAPF32[$3 >> 2] = Math_fround(0 | 0); + btVector3__setValue_28float_20const__2c_20float_20const__2c_20float_20const__29($4 | 0, $3 + 8 | 0 | 0, $3 + 4 | 0 | 0, $3 | 0); + __stack_pointer = $3 + 16 | 0; + return; + } + + function btVector3__setX_28float_29($0, $1) { + $0 = $0 | 0; + $1 = Math_fround($1); + var $4 = 0; + $4 = __stack_pointer - 16 | 0; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAPF32[($4 + 8 | 0) >> 2] = $1; + HEAPF32[(HEAP32[($4 + 12 | 0) >> 2] | 0) >> 2] = Math_fround(HEAPF32[($4 + 8 | 0) >> 2]); + return; + } + + function SphereShape_setUnscaledRadius_28int_2c_20float_29($0, $1) { + $0 = $0 | 0; + $1 = Math_fround($1); + var $4 = 0; + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAPF32[($4 + 8 | 0) >> 2] = $1; + HEAP32[($4 + 4 | 0) >> 2] = HEAP32[($4 + 12 | 0) >> 2] | 0; + btSphereShape__setUnscaledRadius_28float_29(HEAP32[($4 + 4 | 0) >> 2] | 0 | 0, Math_fround(Math_fround(HEAPF32[($4 + 8 | 0) >> 2]))); + __stack_pointer = $4 + 16 | 0; + return; + } + + function btSphereShape__setUnscaledRadius_28float_29($0, $1) { + $0 = $0 | 0; + $1 = Math_fround($1); + var $4 = 0, $5 = 0; + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAPF32[($4 + 8 | 0) >> 2] = $1; + $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; + btVector3__setX_28float_29($5 + 36 | 0 | 0, Math_fround(Math_fround(HEAPF32[($4 + 8 | 0) >> 2]))); + btConvexInternalShape__setMargin_28float_29($5 | 0, Math_fround(Math_fround(HEAPF32[($4 + 8 | 0) >> 2]))); + __stack_pointer = $4 + 16 | 0; + return; + } + + function btConvexInternalShape__setMargin_28float_29($0, $1) { + $0 = $0 | 0; + $1 = Math_fround($1); + var $4 = 0; + $4 = __stack_pointer - 16 | 0; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAPF32[($4 + 8 | 0) >> 2] = $1; + HEAPF32[((HEAP32[($4 + 12 | 0) >> 2] | 0) + 52 | 0) >> 2] = Math_fround(HEAPF32[($4 + 8 | 0) >> 2]); + return; + } + + function CapsuleShape_new_28float_2c_20float_29($0, $1) { + $0 = Math_fround($0); + $1 = Math_fround($1); + var $4 = 0, $6 = 0; + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAPF32[($4 + 12 | 0) >> 2] = $0; + HEAPF32[($4 + 8 | 0) >> 2] = $1; + $6 = btCapsuleShape__operator_20new_28unsigned_20long_29(64 | 0) | 0; + btCapsuleShape__btCapsuleShape_28float_2c_20float_29($6 | 0, Math_fround(Math_fround(HEAPF32[($4 + 12 | 0) >> 2])), Math_fround(Math_fround(HEAPF32[($4 + 8 | 0) >> 2]))) | 0; + __stack_pointer = $4 + 16 | 0; + return $6 | 0; + } + + function btCapsuleShape__operator_20new_28unsigned_20long_29($0) { + $0 = $0 | 0; + var $3 = 0, $6 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $6 = btAlignedAllocInternal_28unsigned_20long_2c_20int_29(HEAP32[($3 + 12 | 0) >> 2] | 0 | 0, 16 | 0) | 0; + __stack_pointer = $3 + 16 | 0; + return $6 | 0; + } + + function CapsuleShape_updateProp_28int_2c_20float_2c_20float_2c_20int_29($0, $1, $2, $3) { + $0 = $0 | 0; + $1 = Math_fround($1); + $2 = Math_fround($2); + $3 = $3 | 0; + var $6 = 0; + $6 = __stack_pointer - 32 | 0; + __stack_pointer = $6; + HEAP32[($6 + 28 | 0) >> 2] = $0; + HEAPF32[($6 + 24 | 0) >> 2] = $1; + HEAPF32[($6 + 20 | 0) >> 2] = $2; + HEAP32[($6 + 16 | 0) >> 2] = $3; + HEAP32[($6 + 12 | 0) >> 2] = HEAP32[($6 + 28 | 0) >> 2] | 0; + btCapsuleShape__updateProp_28float_2c_20float_2c_20int_29(HEAP32[($6 + 12 | 0) >> 2] | 0 | 0, Math_fround(Math_fround(HEAPF32[($6 + 24 | 0) >> 2])), Math_fround(Math_fround(HEAPF32[($6 + 20 | 0) >> 2])), HEAP32[($6 + 16 | 0) >> 2] | 0 | 0); + __stack_pointer = $6 + 32 | 0; + return; + } + + function btCapsuleShape__updateProp_28float_2c_20float_2c_20int_29($0, $1, $2, $3) { + $0 = $0 | 0; + $1 = Math_fround($1); + $2 = Math_fround($2); + $3 = $3 | 0; + var $6 = 0, $7 = 0, $34 = 0, $46 = 0, $51 = 0, wasm2js_i32$0 = 0, wasm2js_f32$0 = Math_fround(0); + $6 = __stack_pointer - 32 | 0; + __stack_pointer = $6; + HEAP32[($6 + 28 | 0) >> 2] = $0; + HEAPF32[($6 + 24 | 0) >> 2] = $1; + HEAPF32[($6 + 20 | 0) >> 2] = $2; + HEAP32[($6 + 16 | 0) >> 2] = $3; + $7 = HEAP32[($6 + 28 | 0) >> 2] | 0; + HEAP32[($7 + 60 | 0) >> 2] = HEAP32[($6 + 16 | 0) >> 2] | 0; + HEAPF32[($6 + 12 | 0) >> 2] = Math_fround(1.0); + HEAPF32[($6 + 8 | 0) >> 2] = Math_fround(1.0); + HEAPF32[($6 + 4 | 0) >> 2] = Math_fround(1.0); + btVector3__setValue_28float_20const__2c_20float_20const__2c_20float_20const__29($7 + 20 | 0 | 0, $6 + 12 | 0 | 0, $6 + 8 | 0 | 0, $6 + 4 | 0 | 0); + label$1 : { + label$2 : { + if (!((HEAP32[($7 + 60 | 0) >> 2] | 0 | 0) == (1 | 0) & 1 | 0)) { + break label$2 + } + $34 = $6 + 24 | 0; + btVector3__setValue_28float_20const__2c_20float_20const__2c_20float_20const__29($7 + 36 | 0 | 0, $34 | 0, $6 + 20 | 0 | 0, $34 | 0); + break label$1; + } + label$3 : { + label$4 : { + if (HEAP32[($7 + 60 | 0) >> 2] | 0) { + break label$4 + } + $46 = $6 + 24 | 0; + btVector3__setValue_28float_20const__2c_20float_20const__2c_20float_20const__29($7 + 36 | 0 | 0, $6 + 20 | 0 | 0, $46 | 0, $46 | 0); + break label$3; + } + $51 = $6 + 24 | 0; + btVector3__setValue_28float_20const__2c_20float_20const__2c_20float_20const__29($7 + 36 | 0 | 0, $51 | 0, $51 | 0, $6 + 20 | 0 | 0); + } + } + HEAP32[$6 >> 2] = ((HEAP32[($6 + 16 | 0) >> 2] | 0) + 2 | 0 | 0) % (3 | 0) | 0; + (wasm2js_i32$0 = $7, wasm2js_f32$0 = Math_fround(HEAPF32[((btVector3__operator_20float__28_29($7 + 36 | 0 | 0) | 0) + ((HEAP32[$6 >> 2] | 0) << 2 | 0) | 0) >> 2])), HEAPF32[(wasm2js_i32$0 + 52 | 0) >> 2] = wasm2js_f32$0; + __stack_pointer = $6 + 32 | 0; + return; + } + + function btVector3__operator_20float__28_29($0) { + $0 = $0 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + return HEAP32[($3 + 12 | 0) >> 2] | 0 | 0; + } + + function ConvexInternalShape_getImplicitShapeDimensions_28int_29($0) { + $0 = $0 | 0; + var $3 = 0, $6 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + HEAP32[($3 + 8 | 0) >> 2] = HEAP32[($3 + 12 | 0) >> 2] | 0; + $6 = btConvexInternalShape__getImplicitShapeDimensions_28_29_20const(HEAP32[($3 + 8 | 0) >> 2] | 0 | 0) | 0; + __stack_pointer = $3 + 16 | 0; + return $6 | 0; + } + + function btConvexInternalShape__getImplicitShapeDimensions_28_29_20const($0) { + $0 = $0 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + return (HEAP32[($3 + 12 | 0) >> 2] | 0) + 36 | 0 | 0; + } + + function CylinderShape_new_28int_29($0) { + $0 = $0 | 0; + var $3 = 0, $5 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $5 = btCylinderShape__operator_20new_28unsigned_20long_29(64 | 0) | 0; + btCylinderShape__btCylinderShape_28btVector3_20const__29($5 | 0, HEAP32[($3 + 12 | 0) >> 2] | 0 | 0) | 0; + __stack_pointer = $3 + 16 | 0; + return $5 | 0; + } + + function btCylinderShape__operator_20new_28unsigned_20long_29($0) { + $0 = $0 | 0; + var $3 = 0, $6 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $6 = btAlignedAllocInternal_28unsigned_20long_2c_20int_29(HEAP32[($3 + 12 | 0) >> 2] | 0 | 0, 16 | 0) | 0; + __stack_pointer = $3 + 16 | 0; + return $6 | 0; + } + + function CylinderShape_updateProp_28int_2c_20float_2c_20float_2c_20int_29($0, $1, $2, $3) { + $0 = $0 | 0; + $1 = Math_fround($1); + $2 = Math_fround($2); + $3 = $3 | 0; + var $6 = 0; + $6 = __stack_pointer - 32 | 0; + __stack_pointer = $6; + HEAP32[($6 + 28 | 0) >> 2] = $0; + HEAPF32[($6 + 24 | 0) >> 2] = $1; + HEAPF32[($6 + 20 | 0) >> 2] = $2; + HEAP32[($6 + 16 | 0) >> 2] = $3; + HEAP32[($6 + 12 | 0) >> 2] = HEAP32[($6 + 28 | 0) >> 2] | 0; + btCylinderShape__updateProp_28float_2c_20float_2c_20int_29(HEAP32[($6 + 12 | 0) >> 2] | 0 | 0, Math_fround(Math_fround(HEAPF32[($6 + 24 | 0) >> 2])), Math_fround(Math_fround(HEAPF32[($6 + 20 | 0) >> 2])), HEAP32[($6 + 16 | 0) >> 2] | 0 | 0); + __stack_pointer = $6 + 32 | 0; + return; + } + + function btCylinderShape__updateProp_28float_2c_20float_2c_20int_29($0, $1, $2, $3) { + $0 = $0 | 0; + $1 = Math_fround($1); + $2 = Math_fround($2); + $3 = $3 | 0; + var $6 = 0, $7 = 0, $34 = 0, $46 = 0, $51 = 0, wasm2js_i32$0 = 0, wasm2js_f32$0 = Math_fround(0); + $6 = __stack_pointer - 64 | 0; + __stack_pointer = $6; + HEAP32[($6 + 60 | 0) >> 2] = $0; + HEAPF32[($6 + 56 | 0) >> 2] = $1; + HEAPF32[($6 + 52 | 0) >> 2] = $2; + HEAP32[($6 + 48 | 0) >> 2] = $3; + $7 = HEAP32[($6 + 60 | 0) >> 2] | 0; + HEAP32[($7 + 60 | 0) >> 2] = HEAP32[($6 + 48 | 0) >> 2] | 0; + HEAPF32[($6 + 44 | 0) >> 2] = Math_fround(1.0); + HEAPF32[($6 + 40 | 0) >> 2] = Math_fround(1.0); + HEAPF32[($6 + 36 | 0) >> 2] = Math_fround(1.0); + btVector3__setValue_28float_20const__2c_20float_20const__2c_20float_20const__29($7 + 20 | 0 | 0, $6 + 44 | 0 | 0, $6 + 40 | 0 | 0, $6 + 36 | 0 | 0); + label$1 : { + label$2 : { + if (!((HEAP32[($7 + 60 | 0) >> 2] | 0 | 0) == (1 | 0) & 1 | 0)) { + break label$2 + } + $34 = $6 + 56 | 0; + btVector3__setValue_28float_20const__2c_20float_20const__2c_20float_20const__29($7 + 36 | 0 | 0, $34 | 0, $6 + 52 | 0 | 0, $34 | 0); + break label$1; + } + label$3 : { + label$4 : { + if (HEAP32[($7 + 60 | 0) >> 2] | 0) { + break label$4 + } + $46 = $6 + 56 | 0; + btVector3__setValue_28float_20const__2c_20float_20const__2c_20float_20const__29($7 + 36 | 0 | 0, $6 + 52 | 0 | 0, $46 | 0, $46 | 0); + break label$3; + } + $51 = $6 + 56 | 0; + btVector3__setValue_28float_20const__2c_20float_20const__2c_20float_20const__29($7 + 36 | 0 | 0, $51 | 0, $51 | 0, $6 + 52 | 0 | 0); + } + } + (wasm2js_i32$0 = $6, wasm2js_f32$0 = Math_fround(FUNCTION_TABLE[HEAP32[((HEAP32[$7 >> 2] | 0) + 48 | 0) >> 2] | 0 | 0]($7))), HEAPF32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_f32$0; + (wasm2js_i32$0 = $6, wasm2js_f32$0 = Math_fround(FUNCTION_TABLE[HEAP32[((HEAP32[$7 >> 2] | 0) + 48 | 0) >> 2] | 0 | 0]($7))), HEAPF32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_f32$0; + (wasm2js_i32$0 = $6, wasm2js_f32$0 = Math_fround(FUNCTION_TABLE[HEAP32[((HEAP32[$7 >> 2] | 0) + 48 | 0) >> 2] | 0 | 0]($7))), HEAPF32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_f32$0; + btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($6 + 20 | 0 | 0, $6 + 16 | 0 | 0, $6 + 12 | 0 | 0, $6 + 8 | 0 | 0) | 0; + btVector3__operator___28btVector3_20const__29($7 + 36 | 0 | 0, $6 + 20 | 0 | 0) | 0; + __stack_pointer = $6 + 64 | 0; + return; + } + + function btVector3__operator___28btVector3_20const__29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $5 = 0, $4 = 0; + $4 = __stack_pointer - 16 | 0; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; + HEAPF32[$5 >> 2] = Math_fround(Math_fround(HEAPF32[$5 >> 2]) - Math_fround(HEAPF32[(HEAP32[($4 + 8 | 0) >> 2] | 0) >> 2])); + HEAPF32[($5 + 4 | 0) >> 2] = Math_fround(Math_fround(HEAPF32[($5 + 4 | 0) >> 2]) - Math_fround(HEAPF32[((HEAP32[($4 + 8 | 0) >> 2] | 0) + 4 | 0) >> 2])); + HEAPF32[($5 + 8 | 0) >> 2] = Math_fround(Math_fround(HEAPF32[($5 + 8 | 0) >> 2]) - Math_fround(HEAPF32[((HEAP32[($4 + 8 | 0) >> 2] | 0) + 8 | 0) >> 2])); + return $5 | 0; + } + + function ConeShape_new_28float_2c_20float_29($0, $1) { + $0 = Math_fround($0); + $1 = Math_fround($1); + var $4 = 0, $6 = 0; + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAPF32[($4 + 12 | 0) >> 2] = $0; + HEAPF32[($4 + 8 | 0) >> 2] = $1; + $6 = btConeShape__operator_20new_28unsigned_20long_29(84 | 0) | 0; + btConeShape__btConeShape_28float_2c_20float_29($6 | 0, Math_fround(Math_fround(HEAPF32[($4 + 12 | 0) >> 2])), Math_fround(Math_fround(HEAPF32[($4 + 8 | 0) >> 2]))) | 0; + __stack_pointer = $4 + 16 | 0; + return $6 | 0; + } + + function btConeShape__operator_20new_28unsigned_20long_29($0) { + $0 = $0 | 0; + var $3 = 0, $6 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $6 = btAlignedAllocInternal_28unsigned_20long_2c_20int_29(HEAP32[($3 + 12 | 0) >> 2] | 0 | 0, 16 | 0) | 0; + __stack_pointer = $3 + 16 | 0; + return $6 | 0; + } + + function ConeShape_setRadius_28int_2c_20float_29($0, $1) { + $0 = $0 | 0; + $1 = Math_fround($1); + var $4 = 0; + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAPF32[($4 + 8 | 0) >> 2] = $1; + btConeShape__setRadius_28float_29(HEAP32[($4 + 12 | 0) >> 2] | 0 | 0, Math_fround(Math_fround(HEAPF32[($4 + 8 | 0) >> 2]))); + __stack_pointer = $4 + 16 | 0; + return; + } + + function btConeShape__setRadius_28float_29($0, $1) { + $0 = $0 | 0; + $1 = Math_fround($1); + var $4 = 0; + $4 = __stack_pointer - 16 | 0; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAPF32[($4 + 8 | 0) >> 2] = $1; + HEAPF32[((HEAP32[($4 + 12 | 0) >> 2] | 0) + 64 | 0) >> 2] = Math_fround(HEAPF32[($4 + 8 | 0) >> 2]); + return; + } + + function ConeShape_setHeight_28int_2c_20float_29($0, $1) { + $0 = $0 | 0; + $1 = Math_fround($1); + var $4 = 0; + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAPF32[($4 + 8 | 0) >> 2] = $1; + btConeShape__setHeight_28float_29(HEAP32[($4 + 12 | 0) >> 2] | 0 | 0, Math_fround(Math_fround(HEAPF32[($4 + 8 | 0) >> 2]))); + __stack_pointer = $4 + 16 | 0; + return; + } + + function btConeShape__setHeight_28float_29($0, $1) { + $0 = $0 | 0; + $1 = Math_fround($1); + var $4 = 0; + $4 = __stack_pointer - 16 | 0; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAPF32[($4 + 8 | 0) >> 2] = $1; + HEAPF32[((HEAP32[($4 + 12 | 0) >> 2] | 0) + 68 | 0) >> 2] = Math_fround(HEAPF32[($4 + 8 | 0) >> 2]); + return; + } + + function ConeShape_setConeUpIndex_28int_2c_20int_29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0; + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + btConeShape__setConeUpIndex_28int_29(HEAP32[($4 + 12 | 0) >> 2] | 0 | 0, HEAP32[($4 + 8 | 0) >> 2] | 0 | 0); + __stack_pointer = $4 + 16 | 0; + return; + } + + function StaticPlaneShape_new_28int_2c_20float_29($0, $1) { + $0 = $0 | 0; + $1 = Math_fround($1); + var $4 = 0, $6 = 0; + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAPF32[($4 + 8 | 0) >> 2] = $1; + $6 = btStaticPlaneShape__operator_20new_28unsigned_20long_29(92 | 0) | 0; + btStaticPlaneShape__btStaticPlaneShape_28btVector3_20const__2c_20float_29($6 | 0, HEAP32[($4 + 12 | 0) >> 2] | 0 | 0, Math_fround(Math_fround(HEAPF32[($4 + 8 | 0) >> 2]))) | 0; + __stack_pointer = $4 + 16 | 0; + return $6 | 0; + } + + function btStaticPlaneShape__operator_20new_28unsigned_20long_29($0) { + $0 = $0 | 0; + var $3 = 0, $6 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $6 = btAlignedAllocInternal_28unsigned_20long_2c_20int_29(HEAP32[($3 + 12 | 0) >> 2] | 0 | 0, 16 | 0) | 0; + __stack_pointer = $3 + 16 | 0; + return $6 | 0; + } + + function StaticPlaneShape_setPlaneConstant_28int_2c_20float_29($0, $1) { + $0 = $0 | 0; + $1 = Math_fround($1); + var $4 = 0; + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAPF32[($4 + 8 | 0) >> 2] = $1; + HEAP32[($4 + 4 | 0) >> 2] = HEAP32[($4 + 12 | 0) >> 2] | 0; + btStaticPlaneShape__setPlaneConstant_28float_29(HEAP32[($4 + 4 | 0) >> 2] | 0 | 0, Math_fround(Math_fround(HEAPF32[($4 + 8 | 0) >> 2]))); + __stack_pointer = $4 + 16 | 0; + return; + } + + function btStaticPlaneShape__setPlaneConstant_28float_29($0, $1) { + $0 = $0 | 0; + $1 = Math_fround($1); + var $4 = 0; + $4 = __stack_pointer - 16 | 0; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAPF32[($4 + 8 | 0) >> 2] = $1; + HEAPF32[((HEAP32[($4 + 12 | 0) >> 2] | 0) + 72 | 0) >> 2] = Math_fround(HEAPF32[($4 + 8 | 0) >> 2]); + return; + } + + function StaticPlaneShape_getPlaneNormal_28int_29($0) { + $0 = $0 | 0; + var $3 = 0, $6 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + HEAP32[($3 + 8 | 0) >> 2] = HEAP32[($3 + 12 | 0) >> 2] | 0; + $6 = btStaticPlaneShape__getPlaneNormal_28_29_20const(HEAP32[($3 + 8 | 0) >> 2] | 0 | 0) | 0; + __stack_pointer = $3 + 16 | 0; + return $6 | 0; + } + + function btStaticPlaneShape__getPlaneNormal_28_29_20const($0) { + $0 = $0 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + return (HEAP32[($3 + 12 | 0) >> 2] | 0) + 56 | 0 | 0; + } + + function ccCompoundShape_new_28_29() { + var $1 = 0; + $1 = cc__ccCompoundShape__operator_20new_28unsigned_20long_29(100 | 0) | 0; + __memset($1 | 0, 0 | 0, 100 | 0) | 0; + cc__ccCompoundShape__ccCompoundShape_28_29($1 | 0) | 0; + return $1 | 0; + } + + function cc__ccCompoundShape__operator_20new_28unsigned_20long_29($0) { + $0 = $0 | 0; + var $3 = 0, $6 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $6 = btAlignedAllocInternal_28unsigned_20long_2c_20int_29(HEAP32[($3 + 12 | 0) >> 2] | 0 | 0, 16 | 0) | 0; + __stack_pointer = $3 + 16 | 0; + return $6 | 0; + } + + function cc__ccCompoundShape__ccCompoundShape_28_29($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + btCompoundShape__btCompoundShape_28bool_2c_20int_29($4 | 0, 1 | 0, 0 | 0) | 0; + HEAP32[$4 >> 2] = GOT_data_internal_vtable_20for_20cc__ccCompoundShape + 8 | 0; + __stack_pointer = $3 + 16 | 0; + return $4 | 0; + } + + function CompoundShape_getNumChildShapes_28int_29($0) { + $0 = $0 | 0; + var $3 = 0, $6 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + HEAP32[($3 + 8 | 0) >> 2] = HEAP32[($3 + 12 | 0) >> 2] | 0; + $6 = btCompoundShape__getNumChildShapes_28_29_20const(HEAP32[($3 + 8 | 0) >> 2] | 0 | 0) | 0; + __stack_pointer = $3 + 16 | 0; + return $6 | 0; + } + + function btCompoundShape__getNumChildShapes_28_29_20const($0) { + $0 = $0 | 0; + var $3 = 0, $7 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $7 = btAlignedObjectArray_btCompoundShapeChild___size_28_29_20const((HEAP32[($3 + 12 | 0) >> 2] | 0) + 20 | 0 | 0) | 0; + __stack_pointer = $3 + 16 | 0; + return $7 | 0; + } + + function btAlignedObjectArray_btCompoundShapeChild___size_28_29_20const($0) { + $0 = $0 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + return HEAP32[((HEAP32[($3 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0; + } + + function CompoundShape_addChildShape_28int_2c_20int_2c_20int_29($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $5 = 0; + $5 = __stack_pointer - 16 | 0; + __stack_pointer = $5; + HEAP32[($5 + 12 | 0) >> 2] = $0; + HEAP32[($5 + 8 | 0) >> 2] = $1; + HEAP32[($5 + 4 | 0) >> 2] = $2; + HEAP32[$5 >> 2] = HEAP32[($5 + 12 | 0) >> 2] | 0; + btCompoundShape__addChildShape_28btTransform_20const__2c_20btCollisionShape__29(HEAP32[$5 >> 2] | 0 | 0, HEAP32[($5 + 8 | 0) >> 2] | 0 | 0, HEAP32[($5 + 4 | 0) >> 2] | 0 | 0); + __stack_pointer = $5 + 16 | 0; + return; + } + + function CompoundShape_removeChildShape_28int_2c_20int_29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, $6 = 0; + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + HEAP32[($4 + 4 | 0) >> 2] = HEAP32[($4 + 12 | 0) >> 2] | 0; + $6 = HEAP32[($4 + 4 | 0) >> 2] | 0; + FUNCTION_TABLE[HEAP32[((HEAP32[$6 >> 2] | 0) + 64 | 0) >> 2] | 0 | 0]($6, HEAP32[($4 + 8 | 0) >> 2] | 0); + __stack_pointer = $4 + 16 | 0; + return; + } + + function CompoundShape_getChildShape_28int_2c_20int_29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, $8 = 0; + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + HEAP32[($4 + 4 | 0) >> 2] = HEAP32[($4 + 12 | 0) >> 2] | 0; + $8 = btCompoundShape__getChildShape_28int_29(HEAP32[($4 + 4 | 0) >> 2] | 0 | 0, HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) | 0; + __stack_pointer = $4 + 16 | 0; + return $8 | 0; + } + + function btCompoundShape__getChildShape_28int_29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, $10 = 0; + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + $10 = HEAP32[((btAlignedObjectArray_btCompoundShapeChild___operator_5b_5d_28int_29((HEAP32[($4 + 12 | 0) >> 2] | 0) + 20 | 0 | 0, HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) | 0) + 64 | 0) >> 2] | 0; + __stack_pointer = $4 + 16 | 0; + return $10 | 0; + } + + function btAlignedObjectArray_btCompoundShapeChild___operator_5b_5d_28int_29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, $14 = 0, $29 = 0, $5 = 0, $40 = 0; + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; + label$1 : { + if ((HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0) { + break label$1 + } + $14 = GOT_data_internal___memory_base; + __assert_fail($14 + 85840 | 0 | 0, $14 + 78192 | 0 | 0, 183 | 0, $14 + 83901 | 0 | 0); + wasm2js_trap(); + } + label$2 : { + if ((HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) < (btAlignedObjectArray_btCompoundShapeChild___size_28_29_20const($5 | 0) | 0 | 0) & 1 | 0) { + break label$2 + } + $29 = GOT_data_internal___memory_base; + __assert_fail($29 + 87321 | 0 | 0, $29 + 78192 | 0 | 0, 184 | 0, $29 + 83901 | 0 | 0); + wasm2js_trap(); + } + $40 = (HEAP32[($5 + 12 | 0) >> 2] | 0) + Math_imul(HEAP32[($4 + 8 | 0) >> 2] | 0, 80) | 0; + __stack_pointer = $4 + 16 | 0; + return $40 | 0; + } + + function CompoundShape_updateChildTransform_28int_2c_20int_2c_20int_2c_20bool_29($0, $1, $2, $3) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + var $6 = 0; + $6 = __stack_pointer - 32 | 0; + __stack_pointer = $6; + HEAP32[($6 + 28 | 0) >> 2] = $0; + HEAP32[($6 + 24 | 0) >> 2] = $1; + HEAP32[($6 + 20 | 0) >> 2] = $2; + HEAP8[($6 + 19 | 0) >> 0] = $3; + HEAP32[($6 + 12 | 0) >> 2] = HEAP32[($6 + 28 | 0) >> 2] | 0; + HEAP32[($6 + 8 | 0) >> 2] = HEAP32[($6 + 24 | 0) >> 2] | 0; + cc__ccCompoundShape__updateChildTransform_28btCollisionShape__2c_20btTransform_20const__2c_20bool_29(HEAP32[($6 + 12 | 0) >> 2] | 0 | 0, HEAP32[($6 + 8 | 0) >> 2] | 0 | 0, HEAP32[($6 + 20 | 0) >> 2] | 0 | 0, (HEAPU8[($6 + 19 | 0) >> 0] | 0) & 1 | 0 | 0); + __stack_pointer = $6 + 32 | 0; + return; + } + + function TriangleMesh_new_28_29() { + var $1 = 0, $2 = 0; + $1 = btTriangleIndexVertexArray__operator_20new_28unsigned_20long_29(172 | 0) | 0; + $2 = 1; + btTriangleMesh__btTriangleMesh_28bool_2c_20bool_29($1 | 0, $2 & 1 | 0 | 0, $2 & 1 | 0 | 0) | 0; + return $1 | 0; + } + + function btTriangleIndexVertexArray__operator_20new_28unsigned_20long_29($0) { + $0 = $0 | 0; + var $3 = 0, $6 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $6 = btAlignedAllocInternal_28unsigned_20long_2c_20int_29(HEAP32[($3 + 12 | 0) >> 2] | 0 | 0, 16 | 0) | 0; + __stack_pointer = $3 + 16 | 0; + return $6 | 0; + } + + function TriangleMesh_addTriangle_28int_2c_20int_2c_20int_2c_20int_2c_20bool_29($0, $1, $2, $3, $4) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + $4 = $4 | 0; + var $7 = 0; + $7 = __stack_pointer - 32 | 0; + __stack_pointer = $7; + HEAP32[($7 + 28 | 0) >> 2] = $0; + HEAP32[($7 + 24 | 0) >> 2] = $1; + HEAP32[($7 + 20 | 0) >> 2] = $2; + HEAP32[($7 + 16 | 0) >> 2] = $3; + HEAP8[($7 + 15 | 0) >> 0] = $4; + HEAP32[($7 + 8 | 0) >> 2] = HEAP32[($7 + 28 | 0) >> 2] | 0; + btTriangleMesh__addTriangle_28btVector3_20const__2c_20btVector3_20const__2c_20btVector3_20const__2c_20bool_29(HEAP32[($7 + 8 | 0) >> 2] | 0 | 0, HEAP32[($7 + 24 | 0) >> 2] | 0 | 0, HEAP32[($7 + 20 | 0) >> 2] | 0 | 0, HEAP32[($7 + 16 | 0) >> 2] | 0 | 0, (HEAPU8[($7 + 15 | 0) >> 0] | 0) & 1 | 0 | 0); + __stack_pointer = $7 + 32 | 0; + return; + } + + function BvhTriangleMeshShape_new_28int_2c_20bool_2c_20bool_29($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $5 = 0, $10 = 0; + $5 = __stack_pointer - 16 | 0; + __stack_pointer = $5; + HEAP32[($5 + 12 | 0) >> 2] = $0; + HEAP8[($5 + 11 | 0) >> 0] = $1; + HEAP8[($5 + 10 | 0) >> 0] = $2; + HEAP32[($5 + 4 | 0) >> 2] = HEAP32[($5 + 12 | 0) >> 2] | 0; + $10 = btBvhTriangleMeshShape__operator_20new_28unsigned_20long_29(84 | 0) | 0; + btBvhTriangleMeshShape__btBvhTriangleMeshShape_28btStridingMeshInterface__2c_20bool_2c_20bool_29($10 | 0, HEAP32[($5 + 4 | 0) >> 2] | 0 | 0, (HEAPU8[($5 + 11 | 0) >> 0] | 0) & 1 | 0 | 0, (HEAPU8[($5 + 10 | 0) >> 0] | 0) & 1 | 0 | 0) | 0; + __stack_pointer = $5 + 16 | 0; + return $10 | 0; + } + + function btBvhTriangleMeshShape__operator_20new_28unsigned_20long_29($0) { + $0 = $0 | 0; + var $3 = 0, $6 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $6 = btAlignedAllocInternal_28unsigned_20long_2c_20int_29(HEAP32[($3 + 12 | 0) >> 2] | 0 | 0, 16 | 0) | 0; + __stack_pointer = $3 + 16 | 0; + return $6 | 0; + } + + function BvhTriangleMeshShape_getOptimizedBvh_28int_29($0) { + $0 = $0 | 0; + var $3 = 0, $6 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + HEAP32[($3 + 8 | 0) >> 2] = HEAP32[($3 + 12 | 0) >> 2] | 0; + $6 = btBvhTriangleMeshShape__getOptimizedBvh_28_29(HEAP32[($3 + 8 | 0) >> 2] | 0 | 0) | 0; + __stack_pointer = $3 + 16 | 0; + return $6 | 0; + } + + function btBvhTriangleMeshShape__getOptimizedBvh_28_29($0) { + $0 = $0 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + return HEAP32[((HEAP32[($3 + 12 | 0) >> 2] | 0) + 60 | 0) >> 2] | 0 | 0; + } + + function BvhTriangleMeshShape_setOptimizedBvh_28int_2c_20int_2c_20float_2c_20float_2c_20float_29($0, $1, $2, $3, $4) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = Math_fround($2); + $3 = Math_fround($3); + $4 = Math_fround($4); + var $7 = 0, $10 = 0, $11 = 0; + $7 = __stack_pointer - 48 | 0; + __stack_pointer = $7; + HEAP32[($7 + 44 | 0) >> 2] = $0; + HEAP32[($7 + 40 | 0) >> 2] = $1; + HEAPF32[($7 + 36 | 0) >> 2] = $2; + HEAPF32[($7 + 32 | 0) >> 2] = $3; + HEAPF32[($7 + 28 | 0) >> 2] = $4; + HEAP32[($7 + 24 | 0) >> 2] = HEAP32[($7 + 44 | 0) >> 2] | 0; + HEAP32[($7 + 20 | 0) >> 2] = HEAP32[($7 + 40 | 0) >> 2] | 0; + $10 = HEAP32[($7 + 24 | 0) >> 2] | 0; + $11 = HEAP32[($7 + 20 | 0) >> 2] | 0; + btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($7 + 4 | 0 | 0, $7 + 36 | 0 | 0, $7 + 32 | 0 | 0, $7 + 28 | 0 | 0) | 0; + btBvhTriangleMeshShape__setOptimizedBvh_28btOptimizedBvh__2c_20btVector3_20const__29($10 | 0, $11 | 0, $7 + 4 | 0 | 0); + __stack_pointer = $7 + 48 | 0; + return; + } + + function ScaledBvhTriangleMeshShape_new_28int_2c_20float_2c_20float_2c_20float_29($0, $1, $2, $3) { + $0 = $0 | 0; + $1 = Math_fround($1); + $2 = Math_fround($2); + $3 = Math_fround($3); + var $6 = 0, $9 = 0, $10 = 0; + $6 = __stack_pointer - 48 | 0; + __stack_pointer = $6; + HEAP32[($6 + 44 | 0) >> 2] = $0; + HEAPF32[($6 + 40 | 0) >> 2] = $1; + HEAPF32[($6 + 36 | 0) >> 2] = $2; + HEAPF32[($6 + 32 | 0) >> 2] = $3; + HEAP32[($6 + 28 | 0) >> 2] = HEAP32[($6 + 44 | 0) >> 2] | 0; + $9 = btScaledBvhTriangleMeshShape__operator_20new_28unsigned_20long_29(44 | 0) | 0; + $10 = HEAP32[($6 + 28 | 0) >> 2] | 0; + btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($6 + 12 | 0 | 0, $6 + 40 | 0 | 0, $6 + 36 | 0 | 0, $6 + 32 | 0 | 0) | 0; + btScaledBvhTriangleMeshShape__btScaledBvhTriangleMeshShape_28btBvhTriangleMeshShape__2c_20btVector3_20const__29($9 | 0, $10 | 0, $6 + 12 | 0 | 0) | 0; + __stack_pointer = $6 + 48 | 0; + return $9 | 0; + } + + function btScaledBvhTriangleMeshShape__operator_20new_28unsigned_20long_29($0) { + $0 = $0 | 0; + var $3 = 0, $6 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $6 = btAlignedAllocInternal_28unsigned_20long_2c_20int_29(HEAP32[($3 + 12 | 0) >> 2] | 0 | 0, 16 | 0) | 0; + __stack_pointer = $3 + 16 | 0; + return $6 | 0; + } + + function ConvexTriangleMeshShape_new_28int_29($0) { + $0 = $0 | 0; + var $3 = 0, $6 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + HEAP32[($3 + 8 | 0) >> 2] = HEAP32[($3 + 12 | 0) >> 2] | 0; + $6 = btConvexTriangleMeshShape__operator_20new_28unsigned_20long_29(104 | 0) | 0; + btConvexTriangleMeshShape__btConvexTriangleMeshShape_28btStridingMeshInterface__2c_20bool_29($6 | 0, HEAP32[($3 + 8 | 0) >> 2] | 0 | 0, 1 & 1 | 0 | 0) | 0; + __stack_pointer = $3 + 16 | 0; + return $6 | 0; + } + + function btConvexTriangleMeshShape__operator_20new_28unsigned_20long_29($0) { + $0 = $0 | 0; + var $3 = 0, $6 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $6 = btAlignedAllocInternal_28unsigned_20long_2c_20int_29(HEAP32[($3 + 12 | 0) >> 2] | 0 | 0, 16 | 0) | 0; + __stack_pointer = $3 + 16 | 0; + return $6 | 0; + } + + function EmptyShape_static_28_29() { + var $13 = 0; + label$1 : { + if (!(((HEAPU8[(GOT_data_internal___memory_base + 113784 | 0) >> 0] | 0) & 255 | 0 | 0) == (0 & 255 | 0 | 0) & 1 | 0)) { + break label$1 + } + $13 = GOT_data_internal___memory_base; + btEmptyShape__btEmptyShape_28_29($13 + 113744 | 0 | 0) | 0; + __cxa_atexit(GOT_data_internal___table_base + 5 | 0 | 0, 0 | 0, $13 + 65536 | 0 | 0) | 0; + HEAP8[($13 + 113784 | 0) >> 0] = 1; + } + return GOT_data_internal___memory_base + 113744 | 0 | 0; + } + + function __cxx_global_array_dtor_9($0) { + $0 = $0 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + btEmptyShape___btEmptyShape_28_29(GOT_data_internal___memory_base + 113744 | 0 | 0) | 0; + __stack_pointer = $3 + 16 | 0; + return; + } + + function SimplexShape_new_28_29() { + var $1 = 0; + $1 = btBU_Simplex1to4__operator_20new_28unsigned_20long_29(168 | 0) | 0; + btBU_Simplex1to4__btBU_Simplex1to4_28_29($1 | 0) | 0; + return $1 | 0; + } + + function btBU_Simplex1to4__operator_20new_28unsigned_20long_29($0) { + $0 = $0 | 0; + var $3 = 0, $6 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $6 = btAlignedAllocInternal_28unsigned_20long_2c_20int_29(HEAP32[($3 + 12 | 0) >> 2] | 0 | 0, 16 | 0) | 0; + __stack_pointer = $3 + 16 | 0; + return $6 | 0; + } + + function SimplexShape_addVertex_28int_2c_20int_29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0; + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + HEAP32[($4 + 4 | 0) >> 2] = HEAP32[($4 + 12 | 0) >> 2] | 0; + btBU_Simplex1to4__addVertex_28btVector3_20const__29(HEAP32[($4 + 4 | 0) >> 2] | 0 | 0, HEAP32[($4 + 8 | 0) >> 2] | 0 | 0); + __stack_pointer = $4 + 16 | 0; + return; + } + + function TerrainShape_new_28int_2c_20int_2c_20int_2c_20float_2c_20float_2c_20float_29($0, $1, $2, $3, $4, $5) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = Math_fround($3); + $4 = Math_fround($4); + $5 = Math_fround($5); + var $8 = 0, $10 = 0, $22 = 0; + $8 = __stack_pointer - 32 | 0; + __stack_pointer = $8; + HEAP32[($8 + 28 | 0) >> 2] = $0; + HEAP32[($8 + 24 | 0) >> 2] = $1; + HEAP32[($8 + 20 | 0) >> 2] = $2; + HEAPF32[($8 + 16 | 0) >> 2] = $3; + HEAPF32[($8 + 12 | 0) >> 2] = $4; + HEAPF32[($8 + 8 | 0) >> 2] = $5; + $10 = btHeightfieldTerrainShape__operator_20new_28unsigned_20long_29(132 | 0) | 0; + btHeightfieldTerrainShape__btHeightfieldTerrainShape_28int_2c_20int_2c_20void_20const__2c_20float_2c_20float_2c_20float_2c_20int_2c_20PHY_ScalarType_2c_20bool_29($10 | 0, HEAP32[($8 + 28 | 0) >> 2] | 0 | 0, HEAP32[($8 + 24 | 0) >> 2] | 0 | 0, HEAP32[($8 + 20 | 0) >> 2] | 0 | 0, Math_fround(Math_fround(HEAPF32[($8 + 16 | 0) >> 2])), Math_fround(Math_fround(HEAPF32[($8 + 12 | 0) >> 2])), Math_fround(Math_fround(HEAPF32[($8 + 8 | 0) >> 2])), 1 | 0, 0 | 0, 0 & 1 | 0 | 0) | 0; + HEAP32[($8 + 4 | 0) >> 2] = $10; + $22 = HEAP32[($8 + 4 | 0) >> 2] | 0; + __stack_pointer = $8 + 32 | 0; + return $22 | 0; + } + + function btHeightfieldTerrainShape__operator_20new_28unsigned_20long_29($0) { + $0 = $0 | 0; + var $3 = 0, $6 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $6 = btAlignedAllocInternal_28unsigned_20long_2c_20int_29(HEAP32[($3 + 12 | 0) >> 2] | 0 | 0, 16 | 0) | 0; + __stack_pointer = $3 + 16 | 0; + return $6 | 0; + } + + function DefaultCollisionConfiguration_static_28_29() { + var $2 = 0, $18 = 0; + $2 = __stack_pointer - 32 | 0; + __stack_pointer = $2; + label$1 : { + if (!(((HEAPU8[(GOT_data_internal___memory_base + 113876 | 0) >> 0] | 0) & 255 | 0 | 0) == (0 & 255 | 0 | 0) & 1 | 0)) { + break label$1 + } + btDefaultCollisionConstructionInfo__btDefaultCollisionConstructionInfo_28_29($2 + 8 | 0 | 0) | 0; + $18 = GOT_data_internal___memory_base; + btDefaultCollisionConfiguration__btDefaultCollisionConfiguration_28btDefaultCollisionConstructionInfo_20const__29($18 + 113788 | 0 | 0, $2 + 8 | 0 | 0) | 0; + __cxa_atexit(GOT_data_internal___table_base + 6 | 0 | 0, 0 | 0, $18 + 65536 | 0 | 0) | 0; + HEAP8[($18 + 113876 | 0) >> 0] = 1; + } + __stack_pointer = $2 + 32 | 0; + return GOT_data_internal___memory_base + 113788 | 0 | 0; + } + + function btDefaultCollisionConstructionInfo__btDefaultCollisionConstructionInfo_28_29($0) { + $0 = $0 | 0; + var $4 = 0, $3 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + HEAP32[$4 >> 2] = 0; + HEAP32[($4 + 4 | 0) >> 2] = 0; + HEAP32[($4 + 8 | 0) >> 2] = 4096; + HEAP32[($4 + 12 | 0) >> 2] = 4096; + HEAP32[($4 + 16 | 0) >> 2] = 0; + HEAP32[($4 + 20 | 0) >> 2] = 1; + return $4 | 0; + } + + function __cxx_global_array_dtor_10($0) { + $0 = $0 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + btDefaultCollisionConfiguration___btDefaultCollisionConfiguration_28_29(GOT_data_internal___memory_base + 113788 | 0 | 0) | 0; + __stack_pointer = $3 + 16 | 0; + return; + } + + function Dispatcher_getNumManifolds_28int_29($0) { + $0 = $0 | 0; + var $3 = 0, $5 = 0, $8 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + HEAP32[($3 + 8 | 0) >> 2] = HEAP32[($3 + 12 | 0) >> 2] | 0; + $5 = HEAP32[($3 + 8 | 0) >> 2] | 0; + $8 = FUNCTION_TABLE[HEAP32[((HEAP32[$5 >> 2] | 0) + 36 | 0) >> 2] | 0 | 0]($5) | 0; + __stack_pointer = $3 + 16 | 0; + return $8 | 0; + } + + function Dispatcher_getManifoldByIndexInternal_28int_2c_20int_29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, $6 = 0, $10 = 0; + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + HEAP32[($4 + 4 | 0) >> 2] = HEAP32[($4 + 12 | 0) >> 2] | 0; + $6 = HEAP32[($4 + 4 | 0) >> 2] | 0; + $10 = FUNCTION_TABLE[HEAP32[((HEAP32[$6 >> 2] | 0) + 40 | 0) >> 2] | 0 | 0]($6, HEAP32[($4 + 8 | 0) >> 2] | 0) | 0; + __stack_pointer = $4 + 16 | 0; + return $10 | 0; + } + + function CollisionDispatcher_new_28_29() { + var $1 = 0; + $1 = operator_20new_28unsigned_20long_29(10448 | 0) | 0; + btCollisionDispatcher__btCollisionDispatcher_28btCollisionConfiguration__29($1 | 0, DefaultCollisionConfiguration_static_28_29() | 0 | 0) | 0; + return $1 | 0; + } + + function DbvtBroadphase_new_28_29() { + var $1 = 0; + $1 = operator_20new_28unsigned_20long_29(176 | 0) | 0; + btDbvtBroadphase__btDbvtBroadphase_28btOverlappingPairCache__29($1 | 0, 0 | 0) | 0; + return $1 | 0; + } + + function SequentialImpulseConstraintSolver_new_28_29() { + var $1 = 0; + $1 = btSequentialImpulseConstraintSolver__operator_20new_28unsigned_20long_29(236 | 0) | 0; + btSequentialImpulseConstraintSolver__btSequentialImpulseConstraintSolver_28_29($1 | 0) | 0; + return $1 | 0; + } + + function btSequentialImpulseConstraintSolver__operator_20new_28unsigned_20long_29($0) { + $0 = $0 | 0; + var $3 = 0, $6 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $6 = btAlignedAllocInternal_28unsigned_20long_2c_20int_29(HEAP32[($3 + 12 | 0) >> 2] | 0 | 0, 16 | 0) | 0; + __stack_pointer = $3 + 16 | 0; + return $6 | 0; + } + + function CollisionWorld_rayTest_28int_2c_20int_2c_20int_2c_20int_29($0, $1, $2, $3) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + var $6 = 0, $8 = 0; + $6 = __stack_pointer - 32 | 0; + __stack_pointer = $6; + HEAP32[($6 + 28 | 0) >> 2] = $0; + HEAP32[($6 + 24 | 0) >> 2] = $1; + HEAP32[($6 + 20 | 0) >> 2] = $2; + HEAP32[($6 + 16 | 0) >> 2] = $3; + HEAP32[($6 + 12 | 0) >> 2] = HEAP32[($6 + 28 | 0) >> 2] | 0; + $8 = HEAP32[($6 + 12 | 0) >> 2] | 0; + FUNCTION_TABLE[HEAP32[((HEAP32[$8 >> 2] | 0) + 32 | 0) >> 2] | 0 | 0]($8, HEAP32[($6 + 24 | 0) >> 2] | 0, HEAP32[($6 + 20 | 0) >> 2] | 0, HEAP32[($6 + 16 | 0) >> 2] | 0); + __stack_pointer = $6 + 32 | 0; + return; + } + + function btCollisionWorld__getDispatchInfo_28_29($0) { + $0 = $0 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + return (HEAP32[($3 + 12 | 0) >> 2] | 0) + 28 | 0 | 0; + } + + function CollisionWorld_addCollisionObject_28int_2c_20int_2c_20unsigned_20int_2c_20unsigned_20int_29($0, $1, $2, $3) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + var $6 = 0, $8 = 0; + $6 = __stack_pointer - 32 | 0; + __stack_pointer = $6; + HEAP32[($6 + 28 | 0) >> 2] = $0; + HEAP32[($6 + 24 | 0) >> 2] = $1; + HEAP32[($6 + 20 | 0) >> 2] = $2; + HEAP32[($6 + 16 | 0) >> 2] = $3; + HEAP32[($6 + 12 | 0) >> 2] = HEAP32[($6 + 28 | 0) >> 2] | 0; + $8 = HEAP32[($6 + 12 | 0) >> 2] | 0; + FUNCTION_TABLE[HEAP32[((HEAP32[$8 >> 2] | 0) + 36 | 0) >> 2] | 0 | 0]($8, HEAP32[($6 + 24 | 0) >> 2] | 0, HEAP32[($6 + 20 | 0) >> 2] | 0, HEAP32[($6 + 16 | 0) >> 2] | 0); + __stack_pointer = $6 + 32 | 0; + return; + } + + function CollisionWorld_removeCollisionObject_28int_2c_20int_29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, $6 = 0; + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + HEAP32[($4 + 4 | 0) >> 2] = HEAP32[($4 + 12 | 0) >> 2] | 0; + $6 = HEAP32[($4 + 4 | 0) >> 2] | 0; + FUNCTION_TABLE[HEAP32[((HEAP32[$6 >> 2] | 0) + 40 | 0) >> 2] | 0 | 0]($6, HEAP32[($4 + 8 | 0) >> 2] | 0); + __stack_pointer = $4 + 16 | 0; + return; + } + + function CollisionWorld_convexSweepTest_28int_2c_20int_2c_20int_2c_20int_2c_20int_2c_20float_29($0, $1, $2, $3, $4, $5) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + $4 = $4 | 0; + $5 = Math_fround($5); + var $8 = 0; + $8 = __stack_pointer - 32 | 0; + __stack_pointer = $8; + HEAP32[($8 + 28 | 0) >> 2] = $0; + HEAP32[($8 + 24 | 0) >> 2] = $1; + HEAP32[($8 + 20 | 0) >> 2] = $2; + HEAP32[($8 + 16 | 0) >> 2] = $3; + HEAP32[($8 + 12 | 0) >> 2] = $4; + HEAPF32[($8 + 8 | 0) >> 2] = $5; + HEAP32[($8 + 4 | 0) >> 2] = HEAP32[($8 + 28 | 0) >> 2] | 0; + btCollisionWorld__convexSweepTest_28btConvexShape_20const__2c_20btTransform_20const__2c_20btTransform_20const__2c_20btCollisionWorld__ConvexResultCallback__2c_20float_29_20const(HEAP32[($8 + 4 | 0) >> 2] | 0 | 0, HEAP32[($8 + 24 | 0) >> 2] | 0 | 0, HEAP32[($8 + 20 | 0) >> 2] | 0 | 0, HEAP32[($8 + 16 | 0) >> 2] | 0 | 0, HEAP32[($8 + 12 | 0) >> 2] | 0 | 0, Math_fround(Math_fround(HEAPF32[($8 + 8 | 0) >> 2]))); + __stack_pointer = $8 + 32 | 0; + return; + } + + function CollisionWorld_setDebugDrawer_28int_2c_20int_29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, $6 = 0; + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + HEAP32[($4 + 4 | 0) >> 2] = HEAP32[($4 + 12 | 0) >> 2] | 0; + $6 = HEAP32[($4 + 4 | 0) >> 2] | 0; + FUNCTION_TABLE[HEAP32[((HEAP32[$6 >> 2] | 0) + 16 | 0) >> 2] | 0 | 0]($6, HEAP32[($4 + 8 | 0) >> 2] | 0); + __stack_pointer = $4 + 16 | 0; + return; + } + + function CollisionWorld_debugDrawWorld_28int_29($0) { + $0 = $0 | 0; + var $3 = 0, $5 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + HEAP32[($3 + 8 | 0) >> 2] = HEAP32[($3 + 12 | 0) >> 2] | 0; + $5 = HEAP32[($3 + 8 | 0) >> 2] | 0; + FUNCTION_TABLE[HEAP32[((HEAP32[$5 >> 2] | 0) + 24 | 0) >> 2] | 0 | 0]($5); + __stack_pointer = $3 + 16 | 0; + return; + } + + function DynamicsWorld_addAction_28int_2c_20int_29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, $6 = 0; + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + HEAP32[($4 + 4 | 0) >> 2] = HEAP32[($4 + 12 | 0) >> 2] | 0; + $6 = HEAP32[($4 + 4 | 0) >> 2] | 0; + FUNCTION_TABLE[HEAP32[((HEAP32[$6 >> 2] | 0) + 64 | 0) >> 2] | 0 | 0]($6, HEAP32[($4 + 8 | 0) >> 2] | 0); + __stack_pointer = $4 + 16 | 0; + return; + } + + function DynamicsWorld_removeAction_28int_2c_20int_29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, $6 = 0; + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + HEAP32[($4 + 4 | 0) >> 2] = HEAP32[($4 + 12 | 0) >> 2] | 0; + $6 = HEAP32[($4 + 4 | 0) >> 2] | 0; + FUNCTION_TABLE[HEAP32[((HEAP32[$6 >> 2] | 0) + 68 | 0) >> 2] | 0 | 0]($6, HEAP32[($4 + 8 | 0) >> 2] | 0); + __stack_pointer = $4 + 16 | 0; + return; + } + + function btDynamicsWorld__getSolverInfo_28_29($0) { + $0 = $0 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + return (HEAP32[($3 + 12 | 0) >> 2] | 0) + 92 | 0 | 0; + } + + function ccDiscreteDynamicsWorld_new_28int_2c_20int_2c_20int_29($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $5 = 0, $7 = 0; + $5 = __stack_pointer - 16 | 0; + __stack_pointer = $5; + HEAP32[($5 + 12 | 0) >> 2] = $0; + HEAP32[($5 + 8 | 0) >> 2] = $1; + HEAP32[($5 + 4 | 0) >> 2] = $2; + $7 = cc__ccDiscreteDynamicsWorld__operator_20new_28unsigned_20long_29(348 | 0) | 0; + cc__ccDiscreteDynamicsWorld__ccDiscreteDynamicsWorld_28btDispatcher__2c_20btBroadphaseInterface__2c_20btConstraintSolver__2c_20btCollisionConfiguration__29($7 | 0, HEAP32[($5 + 12 | 0) >> 2] | 0 | 0, HEAP32[($5 + 8 | 0) >> 2] | 0 | 0, HEAP32[($5 + 4 | 0) >> 2] | 0 | 0, DefaultCollisionConfiguration_static_28_29() | 0 | 0) | 0; + __stack_pointer = $5 + 16 | 0; + return $7 | 0; + } + + function cc__ccDiscreteDynamicsWorld__operator_20new_28unsigned_20long_29($0) { + $0 = $0 | 0; + var $3 = 0, $6 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $6 = btAlignedAllocInternal_28unsigned_20long_2c_20int_29(HEAP32[($3 + 12 | 0) >> 2] | 0 | 0, 16 | 0) | 0; + __stack_pointer = $3 + 16 | 0; + return $6 | 0; + } + + function DynamicsWorld_setGravity_28int_2c_20int_29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, $6 = 0; + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + HEAP32[($4 + 4 | 0) >> 2] = HEAP32[($4 + 12 | 0) >> 2] | 0; + $6 = HEAP32[($4 + 4 | 0) >> 2] | 0; + FUNCTION_TABLE[HEAP32[((HEAP32[$6 >> 2] | 0) + 72 | 0) >> 2] | 0 | 0]($6, HEAP32[($4 + 8 | 0) >> 2] | 0); + __stack_pointer = $4 + 16 | 0; + return; + } + + function DynamicsWorld_addRigidBody_28int_2c_20int_2c_20unsigned_20int_2c_20unsigned_20int_29($0, $1, $2, $3) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + var $6 = 0, $8 = 0; + $6 = __stack_pointer - 32 | 0; + __stack_pointer = $6; + HEAP32[($6 + 28 | 0) >> 2] = $0; + HEAP32[($6 + 24 | 0) >> 2] = $1; + HEAP32[($6 + 20 | 0) >> 2] = $2; + HEAP32[($6 + 16 | 0) >> 2] = $3; + HEAP32[($6 + 12 | 0) >> 2] = HEAP32[($6 + 28 | 0) >> 2] | 0; + $8 = HEAP32[($6 + 12 | 0) >> 2] | 0; + FUNCTION_TABLE[HEAP32[((HEAP32[$8 >> 2] | 0) + 88 | 0) >> 2] | 0 | 0]($8, HEAP32[($6 + 24 | 0) >> 2] | 0, HEAP32[($6 + 20 | 0) >> 2] | 0, HEAP32[($6 + 16 | 0) >> 2] | 0); + __stack_pointer = $6 + 32 | 0; + return; + } + + function DynamicsWorld_removeRigidBody_28int_2c_20int_29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, $6 = 0; + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + HEAP32[($4 + 4 | 0) >> 2] = HEAP32[($4 + 12 | 0) >> 2] | 0; + $6 = HEAP32[($4 + 4 | 0) >> 2] | 0; + FUNCTION_TABLE[HEAP32[((HEAP32[$6 >> 2] | 0) + 92 | 0) >> 2] | 0 | 0]($6, HEAP32[($4 + 8 | 0) >> 2] | 0); + __stack_pointer = $4 + 16 | 0; + return; + } + + function DynamicsWorld_addConstraint_28int_2c_20int_2c_20bool_29($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $5 = 0, $8 = 0; + $5 = __stack_pointer - 16 | 0; + __stack_pointer = $5; + HEAP32[($5 + 12 | 0) >> 2] = $0; + HEAP32[($5 + 8 | 0) >> 2] = $1; + HEAP8[($5 + 7 | 0) >> 0] = $2; + HEAP32[$5 >> 2] = HEAP32[($5 + 12 | 0) >> 2] | 0; + $8 = HEAP32[$5 >> 2] | 0; + FUNCTION_TABLE[HEAP32[((HEAP32[$8 >> 2] | 0) + 56 | 0) >> 2] | 0 | 0]($8, HEAP32[($5 + 8 | 0) >> 2] | 0, (HEAPU8[($5 + 7 | 0) >> 0] | 0) & 1 | 0); + __stack_pointer = $5 + 16 | 0; + return; + } + + function DynamicsWorld_removeConstraint_28int_2c_20int_29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, $6 = 0; + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + HEAP32[($4 + 4 | 0) >> 2] = HEAP32[($4 + 12 | 0) >> 2] | 0; + $6 = HEAP32[($4 + 4 | 0) >> 2] | 0; + FUNCTION_TABLE[HEAP32[((HEAP32[$6 >> 2] | 0) + 60 | 0) >> 2] | 0 | 0]($6, HEAP32[($4 + 8 | 0) >> 2] | 0); + __stack_pointer = $4 + 16 | 0; + return; + } + + function DynamicsWorld_stepSimulation_28int_2c_20float_2c_20int_2c_20float_29($0, $1, $2, $3) { + $0 = $0 | 0; + $1 = Math_fround($1); + $2 = $2 | 0; + $3 = Math_fround($3); + var $6 = 0, $8 = 0; + $6 = __stack_pointer - 32 | 0; + __stack_pointer = $6; + HEAP32[($6 + 28 | 0) >> 2] = $0; + HEAPF32[($6 + 24 | 0) >> 2] = $1; + HEAP32[($6 + 20 | 0) >> 2] = $2; + HEAPF32[($6 + 16 | 0) >> 2] = $3; + HEAP32[($6 + 12 | 0) >> 2] = HEAP32[($6 + 28 | 0) >> 2] | 0; + $8 = HEAP32[($6 + 12 | 0) >> 2] | 0; + FUNCTION_TABLE[HEAP32[((HEAP32[$8 >> 2] | 0) + 52 | 0) >> 2] | 0 | 0]($8, Math_fround(HEAPF32[($6 + 24 | 0) >> 2]), HEAP32[($6 + 20 | 0) >> 2] | 0, Math_fround(HEAPF32[($6 + 16 | 0) >> 2])) | 0; + __stack_pointer = $6 + 32 | 0; + return; + } + + function ccDiscreteDynamicsWorld_setAllowSleep_28int_2c_20bool_29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0; + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP8[($4 + 11 | 0) >> 0] = $1; + HEAP32[($4 + 4 | 0) >> 2] = HEAP32[($4 + 12 | 0) >> 2] | 0; + cc__ccDiscreteDynamicsWorld__setAllowSleep_28bool_29(HEAP32[($4 + 4 | 0) >> 2] | 0 | 0, (HEAPU8[($4 + 11 | 0) >> 0] | 0) & 1 | 0 | 0); + __stack_pointer = $4 + 16 | 0; + return; + } + + function cc__ccDiscreteDynamicsWorld__setAllowSleep_28bool_29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, $5 = 0; + $4 = __stack_pointer - 16 | 0; + HEAP32[($4 + 12 | 0) >> 2] = $0; + $5 = 1; + HEAP8[($4 + 11 | 0) >> 0] = $1 & $5 | 0; + HEAP8[GOT_data_internal_gDisableDeactivation >> 0] = ((HEAPU8[($4 + 11 | 0) >> 0] | 0) ^ -1 | 0) & $5 | 0; + return; + } + + function TypedConstraint_getFixedBody_28_29() { + return btTypedConstraint__getFixedBody_28_29() | 0 | 0; + } + + function TypedConstraint_getDbgDrawSize_28int_29($0) { + $0 = $0 | 0; + var $3 = 0, $6 = Math_fround(0); + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + HEAP32[($3 + 8 | 0) >> 2] = HEAP32[($3 + 12 | 0) >> 2] | 0; + $6 = Math_fround(btTypedConstraint__getDbgDrawSize_28_29(HEAP32[($3 + 8 | 0) >> 2] | 0 | 0)); + __stack_pointer = $3 + 16 | 0; + return Math_fround($6); + } + + function btTypedConstraint__getDbgDrawSize_28_29($0) { + $0 = $0 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + return Math_fround(Math_fround(HEAPF32[((HEAP32[($3 + 12 | 0) >> 2] | 0) + 40 | 0) >> 2])); + } + + function TypedConstraint_setDbgDrawSize_28int_2c_20float_29($0, $1) { + $0 = $0 | 0; + $1 = Math_fround($1); + var $4 = 0; + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAPF32[($4 + 8 | 0) >> 2] = $1; + HEAP32[($4 + 4 | 0) >> 2] = HEAP32[($4 + 12 | 0) >> 2] | 0; + btTypedConstraint__setDbgDrawSize_28float_29(HEAP32[($4 + 4 | 0) >> 2] | 0 | 0, Math_fround(Math_fround(HEAPF32[($4 + 8 | 0) >> 2]))); + __stack_pointer = $4 + 16 | 0; + return; + } + + function btTypedConstraint__setDbgDrawSize_28float_29($0, $1) { + $0 = $0 | 0; + $1 = Math_fround($1); + var $4 = 0; + $4 = __stack_pointer - 16 | 0; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAPF32[($4 + 8 | 0) >> 2] = $1; + HEAPF32[((HEAP32[($4 + 12 | 0) >> 2] | 0) + 40 | 0) >> 2] = Math_fround(HEAPF32[($4 + 8 | 0) >> 2]); + return; + } + + function HingeConstraint_new_28int_2c_20int_2c_20int_2c_20int_29($0, $1, $2, $3) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + var $6 = 0, $12 = 0, $20 = 0; + $6 = __stack_pointer - 48 | 0; + __stack_pointer = $6; + HEAP32[($6 + 44 | 0) >> 2] = $0; + HEAP32[($6 + 40 | 0) >> 2] = $1; + HEAP32[($6 + 36 | 0) >> 2] = $2; + HEAP32[($6 + 32 | 0) >> 2] = $3; + HEAP32[($6 + 28 | 0) >> 2] = HEAP32[($6 + 44 | 0) >> 2] | 0; + HEAP32[($6 + 24 | 0) >> 2] = HEAP32[($6 + 40 | 0) >> 2] | 0; + HEAP32[($6 + 20 | 0) >> 2] = HEAP32[($6 + 36 | 0) >> 2] | 0; + HEAP32[($6 + 16 | 0) >> 2] = HEAP32[($6 + 32 | 0) >> 2] | 0; + $12 = btHingeConstraint__operator_20new_28unsigned_20long_29(768 | 0) | 0; + btHingeConstraint__btHingeConstraint_28btRigidBody__2c_20btRigidBody__2c_20btTransform_20const__2c_20btTransform_20const__2c_20bool_29($12 | 0, HEAP32[($6 + 28 | 0) >> 2] | 0 | 0, HEAP32[($6 + 24 | 0) >> 2] | 0 | 0, HEAP32[($6 + 20 | 0) >> 2] | 0 | 0, HEAP32[($6 + 16 | 0) >> 2] | 0 | 0, 0 & 1 | 0 | 0) | 0; + HEAP32[($6 + 12 | 0) >> 2] = $12; + $20 = HEAP32[($6 + 12 | 0) >> 2] | 0; + __stack_pointer = $6 + 48 | 0; + return $20 | 0; + } + + function btHingeConstraint__operator_20new_28unsigned_20long_29($0) { + $0 = $0 | 0; + var $3 = 0, $6 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $6 = btAlignedAllocInternal_28unsigned_20long_2c_20int_29(HEAP32[($3 + 12 | 0) >> 2] | 0 | 0, 16 | 0) | 0; + __stack_pointer = $3 + 16 | 0; + return $6 | 0; + } + + function HingeConstraint_setFrames_28int_2c_20int_2c_20int_29($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $5 = 0; + $5 = __stack_pointer - 32 | 0; + __stack_pointer = $5; + HEAP32[($5 + 28 | 0) >> 2] = $0; + HEAP32[($5 + 24 | 0) >> 2] = $1; + HEAP32[($5 + 20 | 0) >> 2] = $2; + HEAP32[($5 + 16 | 0) >> 2] = HEAP32[($5 + 28 | 0) >> 2] | 0; + HEAP32[($5 + 12 | 0) >> 2] = HEAP32[($5 + 24 | 0) >> 2] | 0; + HEAP32[($5 + 8 | 0) >> 2] = HEAP32[($5 + 20 | 0) >> 2] | 0; + btHingeConstraint__setFrames_28btTransform_20const__2c_20btTransform_20const__29(HEAP32[($5 + 16 | 0) >> 2] | 0 | 0, HEAP32[($5 + 12 | 0) >> 2] | 0 | 0, HEAP32[($5 + 8 | 0) >> 2] | 0 | 0); + __stack_pointer = $5 + 32 | 0; + return; + } + + function HingeConstraint_setLimit_28int_2c_20float_2c_20float_2c_20float_2c_20float_2c_20float_29($0, $1, $2, $3, $4, $5) { + $0 = $0 | 0; + $1 = Math_fround($1); + $2 = Math_fround($2); + $3 = Math_fround($3); + $4 = Math_fround($4); + $5 = Math_fround($5); + var $8 = 0; + $8 = __stack_pointer - 32 | 0; + __stack_pointer = $8; + HEAP32[($8 + 28 | 0) >> 2] = $0; + HEAPF32[($8 + 24 | 0) >> 2] = $1; + HEAPF32[($8 + 20 | 0) >> 2] = $2; + HEAPF32[($8 + 16 | 0) >> 2] = $3; + HEAPF32[($8 + 12 | 0) >> 2] = $4; + HEAPF32[($8 + 8 | 0) >> 2] = $5; + HEAP32[($8 + 4 | 0) >> 2] = HEAP32[($8 + 28 | 0) >> 2] | 0; + btHingeConstraint__setLimit_28float_2c_20float_2c_20float_2c_20float_2c_20float_29(HEAP32[($8 + 4 | 0) >> 2] | 0 | 0, Math_fround(Math_fround(HEAPF32[($8 + 24 | 0) >> 2])), Math_fround(Math_fround(HEAPF32[($8 + 20 | 0) >> 2])), Math_fround(Math_fround(HEAPF32[($8 + 16 | 0) >> 2])), Math_fround(Math_fround(HEAPF32[($8 + 12 | 0) >> 2])), Math_fround(Math_fround(HEAPF32[($8 + 8 | 0) >> 2]))); + __stack_pointer = $8 + 32 | 0; + return; + } + + function btHingeConstraint__setLimit_28float_2c_20float_2c_20float_2c_20float_2c_20float_29($0, $1, $2, $3, $4, $5) { + $0 = $0 | 0; + $1 = Math_fround($1); + $2 = Math_fround($2); + $3 = Math_fround($3); + $4 = Math_fround($4); + $5 = Math_fround($5); + var $8 = 0; + $8 = __stack_pointer - 32 | 0; + __stack_pointer = $8; + HEAP32[($8 + 28 | 0) >> 2] = $0; + HEAPF32[($8 + 24 | 0) >> 2] = $1; + HEAPF32[($8 + 20 | 0) >> 2] = $2; + HEAPF32[($8 + 16 | 0) >> 2] = $3; + HEAPF32[($8 + 12 | 0) >> 2] = $4; + HEAPF32[($8 + 8 | 0) >> 2] = $5; + btAngularLimit__set_28float_2c_20float_2c_20float_2c_20float_2c_20float_29((HEAP32[($8 + 28 | 0) >> 2] | 0) + 688 | 0 | 0, Math_fround(Math_fround(HEAPF32[($8 + 24 | 0) >> 2])), Math_fround(Math_fround(HEAPF32[($8 + 20 | 0) >> 2])), Math_fround(Math_fround(HEAPF32[($8 + 16 | 0) >> 2])), Math_fround(Math_fround(HEAPF32[($8 + 12 | 0) >> 2])), Math_fround(Math_fround(HEAPF32[($8 + 8 | 0) >> 2]))); + __stack_pointer = $8 + 32 | 0; + return; + } + + function HingeConstraint_setAngularOnly_28int_2c_20bool_29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0; + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP8[($4 + 11 | 0) >> 0] = $1; + HEAP32[($4 + 4 | 0) >> 2] = HEAP32[($4 + 12 | 0) >> 2] | 0; + btHingeConstraint__setAngularOnly_28bool_29(HEAP32[($4 + 4 | 0) >> 2] | 0 | 0, (HEAPU8[($4 + 11 | 0) >> 0] | 0) & 1 | 0 | 0); + __stack_pointer = $4 + 16 | 0; + return; + } + + function btHingeConstraint__setAngularOnly_28bool_29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0; + $4 = __stack_pointer - 16 | 0; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP8[($4 + 11 | 0) >> 0] = $1; + HEAP8[((HEAP32[($4 + 12 | 0) >> 2] | 0) + 736 | 0) >> 0] = (HEAPU8[($4 + 11 | 0) >> 0] | 0) & 1 | 0; + return; + } + + function HingeConstraint_enableMotor_28int_2c_20bool_29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0; + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP8[($4 + 11 | 0) >> 0] = $1; + HEAP32[($4 + 4 | 0) >> 2] = HEAP32[($4 + 12 | 0) >> 2] | 0; + btHingeConstraint__enableMotor_28bool_29(HEAP32[($4 + 4 | 0) >> 2] | 0 | 0, (HEAPU8[($4 + 11 | 0) >> 0] | 0) & 1 | 0 | 0); + __stack_pointer = $4 + 16 | 0; + return; + } + + function btHingeConstraint__enableMotor_28bool_29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0; + $4 = __stack_pointer - 16 | 0; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP8[($4 + 11 | 0) >> 0] = $1; + HEAP8[((HEAP32[($4 + 12 | 0) >> 2] | 0) + 737 | 0) >> 0] = (HEAPU8[($4 + 11 | 0) >> 0] | 0) & 1 | 0; + return; + } + + function HingeConstraint_setMotorVelocity_28int_2c_20float_29($0, $1) { + $0 = $0 | 0; + $1 = Math_fround($1); + var $4 = 0; + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAPF32[($4 + 8 | 0) >> 2] = $1; + HEAP32[($4 + 4 | 0) >> 2] = HEAP32[($4 + 12 | 0) >> 2] | 0; + btHingeConstraint__setMotorTargetVelocity_28float_29(HEAP32[($4 + 4 | 0) >> 2] | 0 | 0, Math_fround(Math_fround(HEAPF32[($4 + 8 | 0) >> 2]))); + __stack_pointer = $4 + 16 | 0; + return; + } + + function btHingeConstraint__setMotorTargetVelocity_28float_29($0, $1) { + $0 = $0 | 0; + $1 = Math_fround($1); + var $4 = 0; + $4 = __stack_pointer - 16 | 0; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAPF32[($4 + 8 | 0) >> 2] = $1; + HEAPF32[((HEAP32[($4 + 12 | 0) >> 2] | 0) + 680 | 0) >> 2] = Math_fround(HEAPF32[($4 + 8 | 0) >> 2]); + return; + } + + function HingeConstraint_setMaxMotorImpulse_28int_2c_20float_29($0, $1) { + $0 = $0 | 0; + $1 = Math_fround($1); + var $4 = 0; + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAPF32[($4 + 8 | 0) >> 2] = $1; + HEAP32[($4 + 4 | 0) >> 2] = HEAP32[($4 + 12 | 0) >> 2] | 0; + btHingeConstraint__setMaxMotorImpulse_28float_29(HEAP32[($4 + 4 | 0) >> 2] | 0 | 0, Math_fround(Math_fround(HEAPF32[($4 + 8 | 0) >> 2]))); + __stack_pointer = $4 + 16 | 0; + return; + } + + function btHingeConstraint__setMaxMotorImpulse_28float_29($0, $1) { + $0 = $0 | 0; + $1 = Math_fround($1); + var $4 = 0; + $4 = __stack_pointer - 16 | 0; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAPF32[($4 + 8 | 0) >> 2] = $1; + HEAPF32[((HEAP32[($4 + 12 | 0) >> 2] | 0) + 684 | 0) >> 2] = Math_fround(HEAPF32[($4 + 8 | 0) >> 2]); + return; + } + + function HingeConstraint_setMotorTarget_28int_2c_20float_2c_20float_29($0, $1, $2) { + $0 = $0 | 0; + $1 = Math_fround($1); + $2 = Math_fround($2); + var $5 = 0; + $5 = __stack_pointer - 16 | 0; + __stack_pointer = $5; + HEAP32[($5 + 12 | 0) >> 2] = $0; + HEAPF32[($5 + 8 | 0) >> 2] = $1; + HEAPF32[($5 + 4 | 0) >> 2] = $2; + HEAP32[$5 >> 2] = HEAP32[($5 + 12 | 0) >> 2] | 0; + btHingeConstraint__setMotorTarget_28float_2c_20float_29(HEAP32[$5 >> 2] | 0 | 0, Math_fround(Math_fround(HEAPF32[($5 + 8 | 0) >> 2])), Math_fround(Math_fround(HEAPF32[($5 + 4 | 0) >> 2]))); + __stack_pointer = $5 + 16 | 0; + return; + } + + function P2PConstraint_new_28int_2c_20int_2c_20int_2c_20int_29($0, $1, $2, $3) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + var $6 = 0, $12 = 0, $17 = 0; + $6 = __stack_pointer - 48 | 0; + __stack_pointer = $6; + HEAP32[($6 + 44 | 0) >> 2] = $0; + HEAP32[($6 + 40 | 0) >> 2] = $1; + HEAP32[($6 + 36 | 0) >> 2] = $2; + HEAP32[($6 + 32 | 0) >> 2] = $3; + HEAP32[($6 + 28 | 0) >> 2] = HEAP32[($6 + 44 | 0) >> 2] | 0; + HEAP32[($6 + 24 | 0) >> 2] = HEAP32[($6 + 40 | 0) >> 2] | 0; + HEAP32[($6 + 20 | 0) >> 2] = HEAP32[($6 + 36 | 0) >> 2] | 0; + HEAP32[($6 + 16 | 0) >> 2] = HEAP32[($6 + 32 | 0) >> 2] | 0; + $12 = btPoint2PointConstraint__operator_20new_28unsigned_20long_29(360 | 0) | 0; + btPoint2PointConstraint__btPoint2PointConstraint_28btRigidBody__2c_20btRigidBody__2c_20btVector3_20const__2c_20btVector3_20const__29($12 | 0, HEAP32[($6 + 28 | 0) >> 2] | 0 | 0, HEAP32[($6 + 24 | 0) >> 2] | 0 | 0, HEAP32[($6 + 20 | 0) >> 2] | 0 | 0, HEAP32[($6 + 16 | 0) >> 2] | 0 | 0) | 0; + HEAP32[($6 + 12 | 0) >> 2] = $12; + $17 = HEAP32[($6 + 12 | 0) >> 2] | 0; + __stack_pointer = $6 + 48 | 0; + return $17 | 0; + } + + function btPoint2PointConstraint__operator_20new_28unsigned_20long_29($0) { + $0 = $0 | 0; + var $3 = 0, $6 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $6 = btAlignedAllocInternal_28unsigned_20long_2c_20int_29(HEAP32[($3 + 12 | 0) >> 2] | 0 | 0, 16 | 0) | 0; + __stack_pointer = $3 + 16 | 0; + return $6 | 0; + } + + function P2PConstraint_setPivotA_28int_2c_20int_29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0; + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + HEAP32[($4 + 4 | 0) >> 2] = HEAP32[($4 + 12 | 0) >> 2] | 0; + btPoint2PointConstraint__setPivotA_28btVector3_20const__29(HEAP32[($4 + 4 | 0) >> 2] | 0 | 0, HEAP32[($4 + 8 | 0) >> 2] | 0 | 0); + __stack_pointer = $4 + 16 | 0; + return; + } + + function btPoint2PointConstraint__setPivotA_28btVector3_20const__29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var i64toi32_i32$2 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $4 = 0, $8 = 0, $10 = 0, $32 = 0, $42 = 0; + $4 = __stack_pointer - 16 | 0; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + $8 = (HEAP32[($4 + 12 | 0) >> 2] | 0) + 300 | 0; + i64toi32_i32$2 = HEAP32[($4 + 8 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $32 = i64toi32_i32$0; + i64toi32_i32$0 = $8; + HEAP32[i64toi32_i32$0 >> 2] = $32; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $10 = 8; + i64toi32_i32$2 = i64toi32_i32$2 + $10 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $42 = i64toi32_i32$1; + i64toi32_i32$1 = $8 + $10 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $42; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + return; + } + + function P2PConstraint_setPivotB_28int_2c_20int_29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0; + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + HEAP32[($4 + 4 | 0) >> 2] = HEAP32[($4 + 12 | 0) >> 2] | 0; + btPoint2PointConstraint__setPivotB_28btVector3_20const__29(HEAP32[($4 + 4 | 0) >> 2] | 0 | 0, HEAP32[($4 + 8 | 0) >> 2] | 0 | 0); + __stack_pointer = $4 + 16 | 0; + return; + } + + function btPoint2PointConstraint__setPivotB_28btVector3_20const__29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var i64toi32_i32$2 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $4 = 0, $8 = 0, $10 = 0, $32 = 0, $42 = 0; + $4 = __stack_pointer - 16 | 0; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + $8 = (HEAP32[($4 + 12 | 0) >> 2] | 0) + 316 | 0; + i64toi32_i32$2 = HEAP32[($4 + 8 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $32 = i64toi32_i32$0; + i64toi32_i32$0 = $8; + HEAP32[i64toi32_i32$0 >> 2] = $32; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $10 = 8; + i64toi32_i32$2 = i64toi32_i32$2 + $10 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $42 = i64toi32_i32$1; + i64toi32_i32$1 = $8 + $10 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $42; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + return; + } + + function FixedConstraint_new_28int_2c_20int_2c_20int_2c_20int_29($0, $1, $2, $3) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + var $6 = 0, $12 = 0, $17 = 0; + $6 = __stack_pointer - 48 | 0; + __stack_pointer = $6; + HEAP32[($6 + 44 | 0) >> 2] = $0; + HEAP32[($6 + 40 | 0) >> 2] = $1; + HEAP32[($6 + 36 | 0) >> 2] = $2; + HEAP32[($6 + 32 | 0) >> 2] = $3; + HEAP32[($6 + 28 | 0) >> 2] = HEAP32[($6 + 44 | 0) >> 2] | 0; + HEAP32[($6 + 24 | 0) >> 2] = HEAP32[($6 + 40 | 0) >> 2] | 0; + HEAP32[($6 + 20 | 0) >> 2] = HEAP32[($6 + 36 | 0) >> 2] | 0; + HEAP32[($6 + 16 | 0) >> 2] = HEAP32[($6 + 32 | 0) >> 2] | 0; + $12 = btGeneric6DofSpring2Constraint__operator_20new_28unsigned_20long_29(1460 | 0) | 0; + btFixedConstraint__btFixedConstraint_28btRigidBody__2c_20btRigidBody__2c_20btTransform_20const__2c_20btTransform_20const__29($12 | 0, HEAP32[($6 + 28 | 0) >> 2] | 0 | 0, HEAP32[($6 + 24 | 0) >> 2] | 0 | 0, HEAP32[($6 + 20 | 0) >> 2] | 0 | 0, HEAP32[($6 + 16 | 0) >> 2] | 0 | 0) | 0; + HEAP32[($6 + 12 | 0) >> 2] = $12; + $17 = HEAP32[($6 + 12 | 0) >> 2] | 0; + __stack_pointer = $6 + 48 | 0; + return $17 | 0; + } + + function btGeneric6DofSpring2Constraint__operator_20new_28unsigned_20long_29($0) { + $0 = $0 | 0; + var $3 = 0, $6 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $6 = btAlignedAllocInternal_28unsigned_20long_2c_20int_29(HEAP32[($3 + 12 | 0) >> 2] | 0 | 0, 16 | 0) | 0; + __stack_pointer = $3 + 16 | 0; + return $6 | 0; + } + + function FixedConstraint_setFrames_28int_2c_20int_2c_20int_29($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $5 = 0; + $5 = __stack_pointer - 32 | 0; + __stack_pointer = $5; + HEAP32[($5 + 28 | 0) >> 2] = $0; + HEAP32[($5 + 24 | 0) >> 2] = $1; + HEAP32[($5 + 20 | 0) >> 2] = $2; + HEAP32[($5 + 16 | 0) >> 2] = HEAP32[($5 + 28 | 0) >> 2] | 0; + HEAP32[($5 + 12 | 0) >> 2] = HEAP32[($5 + 24 | 0) >> 2] | 0; + HEAP32[($5 + 8 | 0) >> 2] = HEAP32[($5 + 20 | 0) >> 2] | 0; + btGeneric6DofSpring2Constraint__setFrames_28btTransform_20const__2c_20btTransform_20const__29(HEAP32[($5 + 16 | 0) >> 2] | 0 | 0, HEAP32[($5 + 12 | 0) >> 2] | 0 | 0, HEAP32[($5 + 8 | 0) >> 2] | 0 | 0); + __stack_pointer = $5 + 32 | 0; + return; + } + + function TypedConstraint_setMaxImpulseThreshold_28int_2c_20float_29($0, $1) { + $0 = $0 | 0; + $1 = Math_fround($1); + var $4 = 0; + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAPF32[($4 + 8 | 0) >> 2] = $1; + HEAP32[($4 + 4 | 0) >> 2] = HEAP32[($4 + 12 | 0) >> 2] | 0; + btTypedConstraint__setBreakingImpulseThreshold_28float_29(HEAP32[($4 + 4 | 0) >> 2] | 0 | 0, Math_fround(Math_fround(HEAPF32[($4 + 8 | 0) >> 2]))); + __stack_pointer = $4 + 16 | 0; + return; + } + + function btTypedConstraint__setBreakingImpulseThreshold_28float_29($0, $1) { + $0 = $0 | 0; + $1 = Math_fround($1); + var $4 = 0; + $4 = __stack_pointer - 16 | 0; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAPF32[($4 + 8 | 0) >> 2] = $1; + HEAPF32[((HEAP32[($4 + 12 | 0) >> 2] | 0) + 16 | 0) >> 2] = Math_fround(HEAPF32[($4 + 8 | 0) >> 2]); + return; + } + + function Generic6DofSpring2Constraint_new_28int_2c_20int_2c_20int_2c_20int_2c_20int_29($0, $1, $2, $3, $4) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + $4 = $4 | 0; + var $7 = 0, $13 = 0, $19 = 0; + $7 = __stack_pointer - 48 | 0; + __stack_pointer = $7; + HEAP32[($7 + 44 | 0) >> 2] = $0; + HEAP32[($7 + 40 | 0) >> 2] = $1; + HEAP32[($7 + 36 | 0) >> 2] = $2; + HEAP32[($7 + 32 | 0) >> 2] = $3; + HEAP32[($7 + 28 | 0) >> 2] = $4; + HEAP32[($7 + 24 | 0) >> 2] = HEAP32[($7 + 44 | 0) >> 2] | 0; + HEAP32[($7 + 20 | 0) >> 2] = HEAP32[($7 + 40 | 0) >> 2] | 0; + HEAP32[($7 + 16 | 0) >> 2] = HEAP32[($7 + 36 | 0) >> 2] | 0; + HEAP32[($7 + 12 | 0) >> 2] = HEAP32[($7 + 32 | 0) >> 2] | 0; + $13 = btGeneric6DofSpring2Constraint__operator_20new_28unsigned_20long_29(1460 | 0) | 0; + btGeneric6DofSpring2Constraint__btGeneric6DofSpring2Constraint_28btRigidBody__2c_20btRigidBody__2c_20btTransform_20const__2c_20btTransform_20const__2c_20RotateOrder_29($13 | 0, HEAP32[($7 + 24 | 0) >> 2] | 0 | 0, HEAP32[($7 + 20 | 0) >> 2] | 0 | 0, HEAP32[($7 + 16 | 0) >> 2] | 0 | 0, HEAP32[($7 + 12 | 0) >> 2] | 0 | 0, HEAP32[($7 + 28 | 0) >> 2] | 0 | 0) | 0; + HEAP32[($7 + 8 | 0) >> 2] = $13; + $19 = HEAP32[($7 + 8 | 0) >> 2] | 0; + __stack_pointer = $7 + 48 | 0; + return $19 | 0; + } + + function Generic6DofSpring2Constraint_setFrames_28int_2c_20int_2c_20int_29($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $5 = 0; + $5 = __stack_pointer - 32 | 0; + __stack_pointer = $5; + HEAP32[($5 + 28 | 0) >> 2] = $0; + HEAP32[($5 + 24 | 0) >> 2] = $1; + HEAP32[($5 + 20 | 0) >> 2] = $2; + HEAP32[($5 + 16 | 0) >> 2] = HEAP32[($5 + 28 | 0) >> 2] | 0; + HEAP32[($5 + 12 | 0) >> 2] = HEAP32[($5 + 24 | 0) >> 2] | 0; + HEAP32[($5 + 8 | 0) >> 2] = HEAP32[($5 + 20 | 0) >> 2] | 0; + btGeneric6DofSpring2Constraint__setFrames_28btTransform_20const__2c_20btTransform_20const__29(HEAP32[($5 + 16 | 0) >> 2] | 0 | 0, HEAP32[($5 + 12 | 0) >> 2] | 0 | 0, HEAP32[($5 + 8 | 0) >> 2] | 0 | 0); + __stack_pointer = $5 + 32 | 0; + return; + } + + function Generic6DofSpring2Constraint_setLimit_28int_2c_20int_2c_20float_2c_20float_29($0, $1, $2, $3) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = Math_fround($2); + $3 = Math_fround($3); + var $6 = 0; + $6 = __stack_pointer - 32 | 0; + __stack_pointer = $6; + HEAP32[($6 + 28 | 0) >> 2] = $0; + HEAP32[($6 + 24 | 0) >> 2] = $1; + HEAPF32[($6 + 20 | 0) >> 2] = $2; + HEAPF32[($6 + 16 | 0) >> 2] = $3; + HEAP32[($6 + 12 | 0) >> 2] = HEAP32[($6 + 28 | 0) >> 2] | 0; + btGeneric6DofSpring2Constraint__setLimit_28int_2c_20float_2c_20float_29(HEAP32[($6 + 12 | 0) >> 2] | 0 | 0, HEAP32[($6 + 24 | 0) >> 2] | 0 | 0, Math_fround(Math_fround(HEAPF32[($6 + 20 | 0) >> 2])), Math_fround(Math_fround(HEAPF32[($6 + 16 | 0) >> 2]))); + __stack_pointer = $6 + 32 | 0; + return; + } + + function btGeneric6DofSpring2Constraint__setLimit_28int_2c_20float_2c_20float_29($0, $1, $2, $3) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = Math_fround($2); + $3 = Math_fround($3); + var $6 = 0, $7 = 0, $15 = Math_fround(0), $23 = Math_fround(0), wasm2js_i32$0 = 0, wasm2js_f32$0 = Math_fround(0); + $6 = __stack_pointer - 16 | 0; + __stack_pointer = $6; + HEAP32[($6 + 12 | 0) >> 2] = $0; + HEAP32[($6 + 8 | 0) >> 2] = $1; + HEAPF32[($6 + 4 | 0) >> 2] = $2; + HEAPF32[$6 >> 2] = $3; + $7 = HEAP32[($6 + 12 | 0) >> 2] | 0; + label$1 : { + label$2 : { + if (!((HEAP32[($6 + 8 | 0) >> 2] | 0 | 0) < (3 | 0) & 1 | 0)) { + break label$2 + } + $15 = Math_fround(HEAPF32[($6 + 4 | 0) >> 2]); + (wasm2js_i32$0 = (btVector3__operator_20float__28_29($7 + 680 | 0 | 0) | 0) + ((HEAP32[($6 + 8 | 0) >> 2] | 0) << 2 | 0) | 0, wasm2js_f32$0 = $15), HEAPF32[wasm2js_i32$0 >> 2] = wasm2js_f32$0; + $23 = Math_fround(HEAPF32[$6 >> 2]); + (wasm2js_i32$0 = (btVector3__operator_20float__28_29(($7 + 680 | 0) + 16 | 0 | 0) | 0) + ((HEAP32[($6 + 8 | 0) >> 2] | 0) << 2 | 0) | 0, wasm2js_f32$0 = $23), HEAPF32[wasm2js_i32$0 >> 2] = wasm2js_f32$0; + break label$1; + } + (wasm2js_i32$0 = $6, wasm2js_f32$0 = Math_fround(btNormalizeAngle_28float_29(Math_fround(Math_fround(HEAPF32[($6 + 4 | 0) >> 2]))))), HEAPF32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_f32$0; + (wasm2js_i32$0 = $6, wasm2js_f32$0 = Math_fround(btNormalizeAngle_28float_29(Math_fround(Math_fround(HEAPF32[$6 >> 2]))))), HEAPF32[wasm2js_i32$0 >> 2] = wasm2js_f32$0; + HEAPF32[(($7 + 968 | 0) + Math_imul((HEAP32[($6 + 8 | 0) >> 2] | 0) - 3 | 0, 88) | 0) >> 2] = Math_fround(HEAPF32[($6 + 4 | 0) >> 2]); + HEAPF32[((($7 + 968 | 0) + Math_imul((HEAP32[($6 + 8 | 0) >> 2] | 0) - 3 | 0, 88) | 0) + 4 | 0) >> 2] = Math_fround(HEAPF32[$6 >> 2]); + } + __stack_pointer = $6 + 16 | 0; + return; + } + + function btNormalizeAngle_28float_29($0) { + $0 = Math_fround($0); + var $3 = 0, $24 = Math_fround(0), wasm2js_i32$0 = 0, wasm2js_f32$0 = Math_fround(0); + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAPF32[($3 + 8 | 0) >> 2] = $0; + (wasm2js_i32$0 = $3, wasm2js_f32$0 = Math_fround(btFmod_28float_2c_20float_29(Math_fround(Math_fround(HEAPF32[($3 + 8 | 0) >> 2])), Math_fround(Math_fround(6.2831854820251465))))), HEAPF32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_f32$0; + label$1 : { + label$2 : { + if (!(Math_fround(HEAPF32[($3 + 8 | 0) >> 2]) < Math_fround(-3.1415927410125732) & 1 | 0)) { + break label$2 + } + HEAPF32[($3 + 12 | 0) >> 2] = Math_fround(Math_fround(HEAPF32[($3 + 8 | 0) >> 2]) + Math_fround(6.2831854820251465)); + break label$1; + } + label$3 : { + if (!(Math_fround(HEAPF32[($3 + 8 | 0) >> 2]) > Math_fround(3.1415927410125732) & 1 | 0)) { + break label$3 + } + HEAPF32[($3 + 12 | 0) >> 2] = Math_fround(Math_fround(HEAPF32[($3 + 8 | 0) >> 2]) - Math_fround(6.2831854820251465)); + break label$1; + } + HEAPF32[($3 + 12 | 0) >> 2] = Math_fround(HEAPF32[($3 + 8 | 0) >> 2]); + } + $24 = Math_fround(HEAPF32[($3 + 12 | 0) >> 2]); + __stack_pointer = $3 + 16 | 0; + return Math_fround($24); + } + + function Generic6DofSpring2Constraint_enableMotor_28int_2c_20int_2c_20bool_29($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $5 = 0; + $5 = __stack_pointer - 16 | 0; + __stack_pointer = $5; + HEAP32[($5 + 12 | 0) >> 2] = $0; + HEAP32[($5 + 8 | 0) >> 2] = $1; + HEAP8[($5 + 7 | 0) >> 0] = $2; + HEAP32[$5 >> 2] = HEAP32[($5 + 12 | 0) >> 2] | 0; + btGeneric6DofSpring2Constraint__enableMotor_28int_2c_20bool_29(HEAP32[$5 >> 2] | 0 | 0, HEAP32[($5 + 8 | 0) >> 2] | 0 | 0, (HEAPU8[($5 + 7 | 0) >> 0] | 0) & 1 | 0 | 0); + __stack_pointer = $5 + 16 | 0; + return; + } + + function Generic6DofSpring2Constraint_setMaxMotorForce_28int_2c_20int_2c_20float_29($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = Math_fround($2); + var $5 = 0; + $5 = __stack_pointer - 16 | 0; + __stack_pointer = $5; + HEAP32[($5 + 12 | 0) >> 2] = $0; + HEAP32[($5 + 8 | 0) >> 2] = $1; + HEAPF32[($5 + 4 | 0) >> 2] = $2; + HEAP32[$5 >> 2] = HEAP32[($5 + 12 | 0) >> 2] | 0; + btGeneric6DofSpring2Constraint__setMaxMotorForce_28int_2c_20float_29(HEAP32[$5 >> 2] | 0 | 0, HEAP32[($5 + 8 | 0) >> 2] | 0 | 0, Math_fround(Math_fround(HEAPF32[($5 + 4 | 0) >> 2]))); + __stack_pointer = $5 + 16 | 0; + return; + } + + function Generic6DofSpring2Constraint_setTargetVelocity_28int_2c_20int_2c_20float_29($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = Math_fround($2); + var $5 = 0; + $5 = __stack_pointer - 16 | 0; + __stack_pointer = $5; + HEAP32[($5 + 12 | 0) >> 2] = $0; + HEAP32[($5 + 8 | 0) >> 2] = $1; + HEAPF32[($5 + 4 | 0) >> 2] = $2; + HEAP32[$5 >> 2] = HEAP32[($5 + 12 | 0) >> 2] | 0; + btGeneric6DofSpring2Constraint__setTargetVelocity_28int_2c_20float_29(HEAP32[$5 >> 2] | 0 | 0, HEAP32[($5 + 8 | 0) >> 2] | 0 | 0, Math_fround(Math_fround(HEAPF32[($5 + 4 | 0) >> 2]))); + __stack_pointer = $5 + 16 | 0; + return; + } + + function Generic6DofSpring2Constraint_setServo_28int_2c_20int_2c_20bool_29($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $5 = 0; + $5 = __stack_pointer - 16 | 0; + __stack_pointer = $5; + HEAP32[($5 + 12 | 0) >> 2] = $0; + HEAP32[($5 + 8 | 0) >> 2] = $1; + HEAP8[($5 + 7 | 0) >> 0] = $2; + HEAP32[$5 >> 2] = HEAP32[($5 + 12 | 0) >> 2] | 0; + btGeneric6DofSpring2Constraint__setServo_28int_2c_20bool_29(HEAP32[$5 >> 2] | 0 | 0, HEAP32[($5 + 8 | 0) >> 2] | 0 | 0, (HEAPU8[($5 + 7 | 0) >> 0] | 0) & 1 | 0 | 0); + __stack_pointer = $5 + 16 | 0; + return; + } + + function Generic6DofSpring2Constraint_setServoTarget_28int_2c_20int_2c_20float_29($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = Math_fround($2); + var $5 = 0; + $5 = __stack_pointer - 16 | 0; + __stack_pointer = $5; + HEAP32[($5 + 12 | 0) >> 2] = $0; + HEAP32[($5 + 8 | 0) >> 2] = $1; + HEAPF32[($5 + 4 | 0) >> 2] = $2; + HEAP32[$5 >> 2] = HEAP32[($5 + 12 | 0) >> 2] | 0; + btGeneric6DofSpring2Constraint__setServoTarget_28int_2c_20float_29(HEAP32[$5 >> 2] | 0 | 0, HEAP32[($5 + 8 | 0) >> 2] | 0 | 0, Math_fround(Math_fround(HEAPF32[($5 + 4 | 0) >> 2]))); + __stack_pointer = $5 + 16 | 0; + return; + } + + function Generic6DofSpring2Constraint_enableSpring_28int_2c_20int_2c_20bool_29($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $5 = 0; + $5 = __stack_pointer - 16 | 0; + __stack_pointer = $5; + HEAP32[($5 + 12 | 0) >> 2] = $0; + HEAP32[($5 + 8 | 0) >> 2] = $1; + HEAP8[($5 + 7 | 0) >> 0] = $2; + HEAP32[$5 >> 2] = HEAP32[($5 + 12 | 0) >> 2] | 0; + btGeneric6DofSpring2Constraint__enableSpring_28int_2c_20bool_29(HEAP32[$5 >> 2] | 0 | 0, HEAP32[($5 + 8 | 0) >> 2] | 0 | 0, (HEAPU8[($5 + 7 | 0) >> 0] | 0) & 1 | 0 | 0); + __stack_pointer = $5 + 16 | 0; + return; + } + + function Generic6DofSpring2Constraint_setStiffness_28int_2c_20int_2c_20float_29($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = Math_fround($2); + var $5 = 0; + $5 = __stack_pointer - 16 | 0; + __stack_pointer = $5; + HEAP32[($5 + 12 | 0) >> 2] = $0; + HEAP32[($5 + 8 | 0) >> 2] = $1; + HEAPF32[($5 + 4 | 0) >> 2] = $2; + HEAP32[$5 >> 2] = HEAP32[($5 + 12 | 0) >> 2] | 0; + btGeneric6DofSpring2Constraint__setStiffness_28int_2c_20float_2c_20bool_29(HEAP32[$5 >> 2] | 0 | 0, HEAP32[($5 + 8 | 0) >> 2] | 0 | 0, Math_fround(Math_fround(HEAPF32[($5 + 4 | 0) >> 2])), 1 & 1 | 0 | 0); + __stack_pointer = $5 + 16 | 0; + return; + } + + function Generic6DofSpring2Constraint_setDamping_28int_2c_20int_2c_20float_29($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = Math_fround($2); + var $5 = 0; + $5 = __stack_pointer - 16 | 0; + __stack_pointer = $5; + HEAP32[($5 + 12 | 0) >> 2] = $0; + HEAP32[($5 + 8 | 0) >> 2] = $1; + HEAPF32[($5 + 4 | 0) >> 2] = $2; + HEAP32[$5 >> 2] = HEAP32[($5 + 12 | 0) >> 2] | 0; + btGeneric6DofSpring2Constraint__setDamping_28int_2c_20float_2c_20bool_29(HEAP32[$5 >> 2] | 0 | 0, HEAP32[($5 + 8 | 0) >> 2] | 0 | 0, Math_fround(Math_fround(HEAPF32[($5 + 4 | 0) >> 2])), 1 & 1 | 0 | 0); + __stack_pointer = $5 + 16 | 0; + return; + } + + function Generic6DofSpring2Constraint_setBounce_28int_2c_20int_2c_20float_29($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = Math_fround($2); + var $5 = 0; + $5 = __stack_pointer - 16 | 0; + __stack_pointer = $5; + HEAP32[($5 + 12 | 0) >> 2] = $0; + HEAP32[($5 + 8 | 0) >> 2] = $1; + HEAPF32[($5 + 4 | 0) >> 2] = $2; + HEAP32[$5 >> 2] = HEAP32[($5 + 12 | 0) >> 2] | 0; + btGeneric6DofSpring2Constraint__setBounce_28int_2c_20float_29(HEAP32[$5 >> 2] | 0 | 0, HEAP32[($5 + 8 | 0) >> 2] | 0 | 0, Math_fround(Math_fround(HEAPF32[($5 + 4 | 0) >> 2]))); + __stack_pointer = $5 + 16 | 0; + return; + } + + function Generic6DofSpring2Constraint_setEquilibriumPoint_28int_2c_20int_2c_20float_29($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = Math_fround($2); + var $5 = 0; + $5 = __stack_pointer - 16 | 0; + __stack_pointer = $5; + HEAP32[($5 + 12 | 0) >> 2] = $0; + HEAP32[($5 + 8 | 0) >> 2] = $1; + HEAPF32[($5 + 4 | 0) >> 2] = $2; + HEAP32[$5 >> 2] = HEAP32[($5 + 12 | 0) >> 2] | 0; + btGeneric6DofSpring2Constraint__setEquilibriumPoint_28int_2c_20float_29(HEAP32[$5 >> 2] | 0 | 0, HEAP32[($5 + 8 | 0) >> 2] | 0 | 0, Math_fround(Math_fround(HEAPF32[($5 + 4 | 0) >> 2]))); + __stack_pointer = $5 + 16 | 0; + return; + } + + function DebugDraw_setDebugMode_28int_2c_20int_29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, $6 = 0; + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + HEAP32[($4 + 4 | 0) >> 2] = HEAP32[($4 + 12 | 0) >> 2] | 0; + $6 = HEAP32[($4 + 4 | 0) >> 2] | 0; + FUNCTION_TABLE[HEAP32[((HEAP32[$6 >> 2] | 0) + 52 | 0) >> 2] | 0 | 0]($6, HEAP32[($4 + 8 | 0) >> 2] | 0); + __stack_pointer = $4 + 16 | 0; + return; + } + + function DebugDraw_getDebugMode_28int_29($0) { + $0 = $0 | 0; + var $3 = 0, $5 = 0, $8 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + HEAP32[($3 + 8 | 0) >> 2] = HEAP32[($3 + 12 | 0) >> 2] | 0; + $5 = HEAP32[($3 + 8 | 0) >> 2] | 0; + $8 = FUNCTION_TABLE[HEAP32[((HEAP32[$5 >> 2] | 0) + 56 | 0) >> 2] | 0 | 0]($5) | 0; + __stack_pointer = $3 + 16 | 0; + return $8 | 0; + } + + function DebugDraw_setActiveObjectColor_28int_2c_20float_2c_20float_2c_20float_29($0, $1, $2, $3) { + $0 = $0 | 0; + $1 = Math_fround($1); + $2 = Math_fround($2); + $3 = Math_fround($3); + var $6 = 0, $8 = 0, $26 = 0; + $6 = __stack_pointer - 160 | 0; + __stack_pointer = $6; + HEAP32[($6 + 156 | 0) >> 2] = $0; + HEAPF32[($6 + 152 | 0) >> 2] = $1; + HEAPF32[($6 + 148 | 0) >> 2] = $2; + HEAPF32[($6 + 144 | 0) >> 2] = $3; + HEAP32[($6 + 140 | 0) >> 2] = HEAP32[($6 + 156 | 0) >> 2] | 0; + $8 = HEAP32[($6 + 140 | 0) >> 2] | 0; + FUNCTION_TABLE[HEAP32[((HEAP32[$8 >> 2] | 0) + 8 | 0) >> 2] | 0 | 0]($6 + 12 | 0, $8); + btVector3__setX_28float_29($6 + 12 | 0 | 0, Math_fround(Math_fround(HEAPF32[($6 + 152 | 0) >> 2]))); + btVector3__setY_28float_29($6 + 12 | 0 | 0, Math_fround(Math_fround(HEAPF32[($6 + 148 | 0) >> 2]))); + btVector3__setZ_28float_29($6 + 12 | 0 | 0, Math_fround(Math_fround(HEAPF32[($6 + 144 | 0) >> 2]))); + $26 = HEAP32[($6 + 140 | 0) >> 2] | 0; + FUNCTION_TABLE[HEAP32[((HEAP32[$26 >> 2] | 0) + 12 | 0) >> 2] | 0 | 0]($26, $6 + 12 | 0); + __stack_pointer = $6 + 160 | 0; + return; + } + + function btVector3__setY_28float_29($0, $1) { + $0 = $0 | 0; + $1 = Math_fround($1); + var $4 = 0; + $4 = __stack_pointer - 16 | 0; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAPF32[($4 + 8 | 0) >> 2] = $1; + HEAPF32[((HEAP32[($4 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] = Math_fround(HEAPF32[($4 + 8 | 0) >> 2]); + return; + } + + function btVector3__setZ_28float_29($0, $1) { + $0 = $0 | 0; + $1 = Math_fround($1); + var $4 = 0; + $4 = __stack_pointer - 16 | 0; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAPF32[($4 + 8 | 0) >> 2] = $1; + HEAPF32[((HEAP32[($4 + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] = Math_fround(HEAPF32[($4 + 8 | 0) >> 2]); + return; + } + + function DebugDraw_setDeactiveObjectColor_28int_2c_20float_2c_20float_2c_20float_29($0, $1, $2, $3) { + $0 = $0 | 0; + $1 = Math_fround($1); + $2 = Math_fround($2); + $3 = Math_fround($3); + var $6 = 0, $8 = 0, $32 = 0; + $6 = __stack_pointer - 160 | 0; + __stack_pointer = $6; + HEAP32[($6 + 156 | 0) >> 2] = $0; + HEAPF32[($6 + 152 | 0) >> 2] = $1; + HEAPF32[($6 + 148 | 0) >> 2] = $2; + HEAPF32[($6 + 144 | 0) >> 2] = $3; + HEAP32[($6 + 140 | 0) >> 2] = HEAP32[($6 + 156 | 0) >> 2] | 0; + $8 = HEAP32[($6 + 140 | 0) >> 2] | 0; + FUNCTION_TABLE[HEAP32[((HEAP32[$8 >> 2] | 0) + 8 | 0) >> 2] | 0 | 0]($6 + 12 | 0, $8); + btVector3__setX_28float_29(($6 + 12 | 0) + 16 | 0 | 0, Math_fround(Math_fround(HEAPF32[($6 + 152 | 0) >> 2]))); + btVector3__setY_28float_29(($6 + 12 | 0) + 16 | 0 | 0, Math_fround(Math_fround(HEAPF32[($6 + 148 | 0) >> 2]))); + btVector3__setZ_28float_29(($6 + 12 | 0) + 16 | 0 | 0, Math_fround(Math_fround(HEAPF32[($6 + 144 | 0) >> 2]))); + $32 = HEAP32[($6 + 140 | 0) >> 2] | 0; + FUNCTION_TABLE[HEAP32[((HEAP32[$32 >> 2] | 0) + 12 | 0) >> 2] | 0 | 0]($32, $6 + 12 | 0); + __stack_pointer = $6 + 160 | 0; + return; + } + + function DebugDraw_setWantsDeactivationObjectColor_28int_2c_20float_2c_20float_2c_20float_29($0, $1, $2, $3) { + $0 = $0 | 0; + $1 = Math_fround($1); + $2 = Math_fround($2); + $3 = Math_fround($3); + var $6 = 0, $8 = 0, $32 = 0; + $6 = __stack_pointer - 160 | 0; + __stack_pointer = $6; + HEAP32[($6 + 156 | 0) >> 2] = $0; + HEAPF32[($6 + 152 | 0) >> 2] = $1; + HEAPF32[($6 + 148 | 0) >> 2] = $2; + HEAPF32[($6 + 144 | 0) >> 2] = $3; + HEAP32[($6 + 140 | 0) >> 2] = HEAP32[($6 + 156 | 0) >> 2] | 0; + $8 = HEAP32[($6 + 140 | 0) >> 2] | 0; + FUNCTION_TABLE[HEAP32[((HEAP32[$8 >> 2] | 0) + 8 | 0) >> 2] | 0 | 0]($6 + 12 | 0, $8); + btVector3__setX_28float_29(($6 + 12 | 0) + 32 | 0 | 0, Math_fround(Math_fround(HEAPF32[($6 + 152 | 0) >> 2]))); + btVector3__setY_28float_29(($6 + 12 | 0) + 32 | 0 | 0, Math_fround(Math_fround(HEAPF32[($6 + 148 | 0) >> 2]))); + btVector3__setZ_28float_29(($6 + 12 | 0) + 32 | 0 | 0, Math_fround(Math_fround(HEAPF32[($6 + 144 | 0) >> 2]))); + $32 = HEAP32[($6 + 140 | 0) >> 2] | 0; + FUNCTION_TABLE[HEAP32[((HEAP32[$32 >> 2] | 0) + 12 | 0) >> 2] | 0 | 0]($32, $6 + 12 | 0); + __stack_pointer = $6 + 160 | 0; + return; + } + + function DebugDraw_setDisabledDeactivationObjectColor_28int_2c_20float_2c_20float_2c_20float_29($0, $1, $2, $3) { + $0 = $0 | 0; + $1 = Math_fround($1); + $2 = Math_fround($2); + $3 = Math_fround($3); + var $6 = 0, $8 = 0, $32 = 0; + $6 = __stack_pointer - 160 | 0; + __stack_pointer = $6; + HEAP32[($6 + 156 | 0) >> 2] = $0; + HEAPF32[($6 + 152 | 0) >> 2] = $1; + HEAPF32[($6 + 148 | 0) >> 2] = $2; + HEAPF32[($6 + 144 | 0) >> 2] = $3; + HEAP32[($6 + 140 | 0) >> 2] = HEAP32[($6 + 156 | 0) >> 2] | 0; + $8 = HEAP32[($6 + 140 | 0) >> 2] | 0; + FUNCTION_TABLE[HEAP32[((HEAP32[$8 >> 2] | 0) + 8 | 0) >> 2] | 0 | 0]($6 + 12 | 0, $8); + btVector3__setX_28float_29(($6 + 12 | 0) + 48 | 0 | 0, Math_fround(Math_fround(HEAPF32[($6 + 152 | 0) >> 2]))); + btVector3__setY_28float_29(($6 + 12 | 0) + 48 | 0 | 0, Math_fround(Math_fround(HEAPF32[($6 + 148 | 0) >> 2]))); + btVector3__setZ_28float_29(($6 + 12 | 0) + 48 | 0 | 0, Math_fround(Math_fround(HEAPF32[($6 + 144 | 0) >> 2]))); + $32 = HEAP32[($6 + 140 | 0) >> 2] | 0; + FUNCTION_TABLE[HEAP32[((HEAP32[$32 >> 2] | 0) + 12 | 0) >> 2] | 0 | 0]($32, $6 + 12 | 0); + __stack_pointer = $6 + 160 | 0; + return; + } + + function DebugDraw_setDisabledSimulationObjectColor_28int_2c_20float_2c_20float_2c_20float_29($0, $1, $2, $3) { + $0 = $0 | 0; + $1 = Math_fround($1); + $2 = Math_fround($2); + $3 = Math_fround($3); + var $6 = 0, $8 = 0, $32 = 0; + $6 = __stack_pointer - 160 | 0; + __stack_pointer = $6; + HEAP32[($6 + 156 | 0) >> 2] = $0; + HEAPF32[($6 + 152 | 0) >> 2] = $1; + HEAPF32[($6 + 148 | 0) >> 2] = $2; + HEAPF32[($6 + 144 | 0) >> 2] = $3; + HEAP32[($6 + 140 | 0) >> 2] = HEAP32[($6 + 156 | 0) >> 2] | 0; + $8 = HEAP32[($6 + 140 | 0) >> 2] | 0; + FUNCTION_TABLE[HEAP32[((HEAP32[$8 >> 2] | 0) + 8 | 0) >> 2] | 0 | 0]($6 + 12 | 0, $8); + btVector3__setX_28float_29(($6 + 12 | 0) + 64 | 0 | 0, Math_fround(Math_fround(HEAPF32[($6 + 152 | 0) >> 2]))); + btVector3__setY_28float_29(($6 + 12 | 0) + 64 | 0 | 0, Math_fround(Math_fround(HEAPF32[($6 + 148 | 0) >> 2]))); + btVector3__setZ_28float_29(($6 + 12 | 0) + 64 | 0 | 0, Math_fround(Math_fround(HEAPF32[($6 + 144 | 0) >> 2]))); + $32 = HEAP32[($6 + 140 | 0) >> 2] | 0; + FUNCTION_TABLE[HEAP32[((HEAP32[$32 >> 2] | 0) + 12 | 0) >> 2] | 0 | 0]($32, $6 + 12 | 0); + __stack_pointer = $6 + 160 | 0; + return; + } + + function DebugDraw_setAABBColor_28int_2c_20float_2c_20float_2c_20float_29($0, $1, $2, $3) { + $0 = $0 | 0; + $1 = Math_fround($1); + $2 = Math_fround($2); + $3 = Math_fround($3); + var $6 = 0, $8 = 0, $32 = 0; + $6 = __stack_pointer - 160 | 0; + __stack_pointer = $6; + HEAP32[($6 + 156 | 0) >> 2] = $0; + HEAPF32[($6 + 152 | 0) >> 2] = $1; + HEAPF32[($6 + 148 | 0) >> 2] = $2; + HEAPF32[($6 + 144 | 0) >> 2] = $3; + HEAP32[($6 + 140 | 0) >> 2] = HEAP32[($6 + 156 | 0) >> 2] | 0; + $8 = HEAP32[($6 + 140 | 0) >> 2] | 0; + FUNCTION_TABLE[HEAP32[((HEAP32[$8 >> 2] | 0) + 8 | 0) >> 2] | 0 | 0]($6 + 12 | 0, $8); + btVector3__setX_28float_29(($6 + 12 | 0) + 80 | 0 | 0, Math_fround(Math_fround(HEAPF32[($6 + 152 | 0) >> 2]))); + btVector3__setY_28float_29(($6 + 12 | 0) + 80 | 0 | 0, Math_fround(Math_fround(HEAPF32[($6 + 148 | 0) >> 2]))); + btVector3__setZ_28float_29(($6 + 12 | 0) + 80 | 0 | 0, Math_fround(Math_fround(HEAPF32[($6 + 144 | 0) >> 2]))); + $32 = HEAP32[($6 + 140 | 0) >> 2] | 0; + FUNCTION_TABLE[HEAP32[((HEAP32[$32 >> 2] | 0) + 12 | 0) >> 2] | 0 | 0]($32, $6 + 12 | 0); + __stack_pointer = $6 + 160 | 0; + return; + } + + function DebugDraw_setContactPointColor_28int_2c_20float_2c_20float_2c_20float_29($0, $1, $2, $3) { + $0 = $0 | 0; + $1 = Math_fround($1); + $2 = Math_fround($2); + $3 = Math_fround($3); + var $6 = 0, $8 = 0, $32 = 0; + $6 = __stack_pointer - 160 | 0; + __stack_pointer = $6; + HEAP32[($6 + 156 | 0) >> 2] = $0; + HEAPF32[($6 + 152 | 0) >> 2] = $1; + HEAPF32[($6 + 148 | 0) >> 2] = $2; + HEAPF32[($6 + 144 | 0) >> 2] = $3; + HEAP32[($6 + 140 | 0) >> 2] = HEAP32[($6 + 156 | 0) >> 2] | 0; + $8 = HEAP32[($6 + 140 | 0) >> 2] | 0; + FUNCTION_TABLE[HEAP32[((HEAP32[$8 >> 2] | 0) + 8 | 0) >> 2] | 0 | 0]($6 + 12 | 0, $8); + btVector3__setX_28float_29(($6 + 12 | 0) + 96 | 0 | 0, Math_fround(Math_fround(HEAPF32[($6 + 152 | 0) >> 2]))); + btVector3__setY_28float_29(($6 + 12 | 0) + 96 | 0 | 0, Math_fround(Math_fround(HEAPF32[($6 + 148 | 0) >> 2]))); + btVector3__setZ_28float_29(($6 + 12 | 0) + 96 | 0 | 0, Math_fround(Math_fround(HEAPF32[($6 + 144 | 0) >> 2]))); + $32 = HEAP32[($6 + 140 | 0) >> 2] | 0; + FUNCTION_TABLE[HEAP32[((HEAP32[$32 >> 2] | 0) + 12 | 0) >> 2] | 0 | 0]($32, $6 + 12 | 0); + __stack_pointer = $6 + 160 | 0; + return; + } + + function DebugDraw_setConstraintLimitColor_28int_2c_20float_2c_20float_2c_20float_29($0, $1, $2, $3) { + $0 = $0 | 0; + $1 = Math_fround($1); + $2 = Math_fround($2); + $3 = Math_fround($3); + var $6 = 0, $8 = 0, $32 = 0; + $6 = __stack_pointer - 160 | 0; + __stack_pointer = $6; + HEAP32[($6 + 156 | 0) >> 2] = $0; + HEAPF32[($6 + 152 | 0) >> 2] = $1; + HEAPF32[($6 + 148 | 0) >> 2] = $2; + HEAPF32[($6 + 144 | 0) >> 2] = $3; + HEAP32[($6 + 140 | 0) >> 2] = HEAP32[($6 + 156 | 0) >> 2] | 0; + $8 = HEAP32[($6 + 140 | 0) >> 2] | 0; + FUNCTION_TABLE[HEAP32[((HEAP32[$8 >> 2] | 0) + 8 | 0) >> 2] | 0 | 0]($6 + 12 | 0, $8); + btVector3__setX_28float_29(($6 + 12 | 0) + 112 | 0 | 0, Math_fround(Math_fround(HEAPF32[($6 + 152 | 0) >> 2]))); + btVector3__setY_28float_29(($6 + 12 | 0) + 112 | 0 | 0, Math_fround(Math_fround(HEAPF32[($6 + 148 | 0) >> 2]))); + btVector3__setZ_28float_29(($6 + 12 | 0) + 112 | 0 | 0, Math_fround(Math_fround(HEAPF32[($6 + 144 | 0) >> 2]))); + $32 = HEAP32[($6 + 140 | 0) >> 2] | 0; + FUNCTION_TABLE[HEAP32[((HEAP32[$32 >> 2] | 0) + 12 | 0) >> 2] | 0 | 0]($32, $6 + 12 | 0); + __stack_pointer = $6 + 160 | 0; + return; + } + + function _malloc_28int_29($0) { + $0 = $0 | 0; + var $3 = 0, $5 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $5 = dlmalloc(HEAP32[($3 + 12 | 0) >> 2] | 0 | 0) | 0; + __stack_pointer = $3 + 16 | 0; + return $5 | 0; + } + + function _free_28int_29($0) { + $0 = $0 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + dlfree(HEAP32[($3 + 12 | 0) >> 2] | 0 | 0); + __stack_pointer = $3 + 16 | 0; + return; + } + + function _read_f32_28int_29($0) { + $0 = $0 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + return Math_fround(Math_fround(HEAPF32[(HEAP32[($3 + 12 | 0) >> 2] | 0) >> 2])); + } + + function _write_f32_28int_2c_20float_29($0, $1) { + $0 = $0 | 0; + $1 = Math_fround($1); + var $4 = 0; + $4 = __stack_pointer - 16 | 0; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAPF32[($4 + 8 | 0) >> 2] = $1; + HEAPF32[(HEAP32[($4 + 12 | 0) >> 2] | 0) >> 2] = Math_fround(HEAPF32[($4 + 8 | 0) >> 2]); + return; + } + + function Vec3_new_28float_2c_20float_2c_20float_29($0, $1, $2) { + $0 = Math_fround($0); + $1 = Math_fround($1); + $2 = Math_fround($2); + var $5 = 0, $7 = 0; + $5 = __stack_pointer - 16 | 0; + __stack_pointer = $5; + HEAPF32[($5 + 12 | 0) >> 2] = $0; + HEAPF32[($5 + 8 | 0) >> 2] = $1; + HEAPF32[($5 + 4 | 0) >> 2] = $2; + $7 = btVector3__operator_20new_28unsigned_20long_29(16 | 0) | 0; + btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($7 | 0, $5 + 12 | 0 | 0, $5 + 8 | 0 | 0, $5 + 4 | 0 | 0) | 0; + __stack_pointer = $5 + 16 | 0; + return $7 | 0; + } + + function btVector3__operator_20new_28unsigned_20long_29($0) { + $0 = $0 | 0; + var $3 = 0, $6 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $6 = btAlignedAllocInternal_28unsigned_20long_2c_20int_29(HEAP32[($3 + 12 | 0) >> 2] | 0 | 0, 16 | 0) | 0; + __stack_pointer = $3 + 16 | 0; + return $6 | 0; + } + + function Vec3_set_28int_2c_20float_2c_20float_2c_20float_29($0, $1, $2, $3) { + $0 = $0 | 0; + $1 = Math_fround($1); + $2 = Math_fround($2); + $3 = Math_fround($3); + var $6 = 0; + $6 = __stack_pointer - 32 | 0; + __stack_pointer = $6; + HEAP32[($6 + 28 | 0) >> 2] = $0; + HEAPF32[($6 + 24 | 0) >> 2] = $1; + HEAPF32[($6 + 20 | 0) >> 2] = $2; + HEAPF32[($6 + 16 | 0) >> 2] = $3; + HEAP32[($6 + 12 | 0) >> 2] = HEAP32[($6 + 28 | 0) >> 2] | 0; + btVector3__setValue_28float_20const__2c_20float_20const__2c_20float_20const__29(HEAP32[($6 + 12 | 0) >> 2] | 0 | 0, $6 + 24 | 0 | 0, $6 + 20 | 0 | 0, $6 + 16 | 0 | 0); + __stack_pointer = $6 + 32 | 0; + return; + } + + function Vec3_x_28int_29($0) { + $0 = $0 | 0; + var $3 = 0, $7 = Math_fround(0); + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + HEAP32[($3 + 8 | 0) >> 2] = HEAP32[($3 + 12 | 0) >> 2] | 0; + $7 = Math_fround(HEAPF32[(btVector3__x_28_29_20const(HEAP32[($3 + 8 | 0) >> 2] | 0 | 0) | 0) >> 2]); + __stack_pointer = $3 + 16 | 0; + return Math_fround($7); + } + + function btVector3__x_28_29_20const($0) { + $0 = $0 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + return HEAP32[($3 + 12 | 0) >> 2] | 0 | 0; + } + + function Vec3_y_28int_29($0) { + $0 = $0 | 0; + var $3 = 0, $7 = Math_fround(0); + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + HEAP32[($3 + 8 | 0) >> 2] = HEAP32[($3 + 12 | 0) >> 2] | 0; + $7 = Math_fround(HEAPF32[(btVector3__y_28_29_20const(HEAP32[($3 + 8 | 0) >> 2] | 0 | 0) | 0) >> 2]); + __stack_pointer = $3 + 16 | 0; + return Math_fround($7); + } + + function btVector3__y_28_29_20const($0) { + $0 = $0 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + return (HEAP32[($3 + 12 | 0) >> 2] | 0) + 4 | 0 | 0; + } + + function Vec3_z_28int_29($0) { + $0 = $0 | 0; + var $3 = 0, $7 = Math_fround(0); + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + HEAP32[($3 + 8 | 0) >> 2] = HEAP32[($3 + 12 | 0) >> 2] | 0; + $7 = Math_fround(HEAPF32[(btVector3__z_28_29_20const(HEAP32[($3 + 8 | 0) >> 2] | 0 | 0) | 0) >> 2]); + __stack_pointer = $3 + 16 | 0; + return Math_fround($7); + } + + function btVector3__z_28_29_20const($0) { + $0 = $0 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + return (HEAP32[($3 + 12 | 0) >> 2] | 0) + 8 | 0 | 0; + } + + function Quat_new_28float_2c_20float_2c_20float_2c_20float_29($0, $1, $2, $3) { + $0 = Math_fround($0); + $1 = Math_fround($1); + $2 = Math_fround($2); + $3 = Math_fround($3); + var $6 = 0, $8 = 0; + $6 = __stack_pointer - 16 | 0; + __stack_pointer = $6; + HEAPF32[($6 + 12 | 0) >> 2] = $0; + HEAPF32[($6 + 8 | 0) >> 2] = $1; + HEAPF32[($6 + 4 | 0) >> 2] = $2; + HEAPF32[$6 >> 2] = $3; + $8 = operator_20new_28unsigned_20long_29(16 | 0) | 0; + btQuaternion__btQuaternion_28float_20const__2c_20float_20const__2c_20float_20const__2c_20float_20const__29($8 | 0, $6 + 12 | 0 | 0, $6 + 8 | 0 | 0, $6 + 4 | 0 | 0, $6 | 0) | 0; + __stack_pointer = $6 + 16 | 0; + return $8 | 0; + } + + function btQuaternion__btQuaternion_28float_20const__2c_20float_20const__2c_20float_20const__2c_20float_20const__29($0, $1, $2, $3, $4) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + $4 = $4 | 0; + var $7 = 0, $8 = 0; + $7 = __stack_pointer - 32 | 0; + __stack_pointer = $7; + HEAP32[($7 + 28 | 0) >> 2] = $0; + HEAP32[($7 + 24 | 0) >> 2] = $1; + HEAP32[($7 + 20 | 0) >> 2] = $2; + HEAP32[($7 + 16 | 0) >> 2] = $3; + HEAP32[($7 + 12 | 0) >> 2] = $4; + $8 = HEAP32[($7 + 28 | 0) >> 2] | 0; + btQuadWord__btQuadWord_28float_20const__2c_20float_20const__2c_20float_20const__2c_20float_20const__29($8 | 0, HEAP32[($7 + 24 | 0) >> 2] | 0 | 0, HEAP32[($7 + 20 | 0) >> 2] | 0 | 0, HEAP32[($7 + 16 | 0) >> 2] | 0 | 0, HEAP32[($7 + 12 | 0) >> 2] | 0 | 0) | 0; + __stack_pointer = $7 + 32 | 0; + return $8 | 0; + } + + function btQuadWord__btQuadWord_28float_20const__2c_20float_20const__2c_20float_20const__2c_20float_20const__29($0, $1, $2, $3, $4) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + $4 = $4 | 0; + var $7 = 0, $8 = 0; + $7 = __stack_pointer - 32 | 0; + HEAP32[($7 + 28 | 0) >> 2] = $0; + HEAP32[($7 + 24 | 0) >> 2] = $1; + HEAP32[($7 + 20 | 0) >> 2] = $2; + HEAP32[($7 + 16 | 0) >> 2] = $3; + HEAP32[($7 + 12 | 0) >> 2] = $4; + $8 = HEAP32[($7 + 28 | 0) >> 2] | 0; + HEAPF32[$8 >> 2] = Math_fround(HEAPF32[(HEAP32[($7 + 24 | 0) >> 2] | 0) >> 2]); + HEAPF32[($8 + 4 | 0) >> 2] = Math_fround(HEAPF32[(HEAP32[($7 + 20 | 0) >> 2] | 0) >> 2]); + HEAPF32[($8 + 8 | 0) >> 2] = Math_fround(HEAPF32[(HEAP32[($7 + 16 | 0) >> 2] | 0) >> 2]); + HEAPF32[($8 + 12 | 0) >> 2] = Math_fround(HEAPF32[(HEAP32[($7 + 12 | 0) >> 2] | 0) >> 2]); + return $8 | 0; + } + + function Quat_set_28int_2c_20float_2c_20float_2c_20float_2c_20float_29($0, $1, $2, $3, $4) { + $0 = $0 | 0; + $1 = Math_fround($1); + $2 = Math_fround($2); + $3 = Math_fround($3); + $4 = Math_fround($4); + var $7 = 0; + $7 = __stack_pointer - 32 | 0; + __stack_pointer = $7; + HEAP32[($7 + 28 | 0) >> 2] = $0; + HEAPF32[($7 + 24 | 0) >> 2] = $1; + HEAPF32[($7 + 20 | 0) >> 2] = $2; + HEAPF32[($7 + 16 | 0) >> 2] = $3; + HEAPF32[($7 + 12 | 0) >> 2] = $4; + HEAP32[($7 + 8 | 0) >> 2] = HEAP32[($7 + 28 | 0) >> 2] | 0; + btQuadWord__setValue_28float_20const__2c_20float_20const__2c_20float_20const__2c_20float_20const__29(HEAP32[($7 + 8 | 0) >> 2] | 0 | 0, $7 + 24 | 0 | 0, $7 + 20 | 0 | 0, $7 + 16 | 0 | 0, $7 + 12 | 0 | 0); + __stack_pointer = $7 + 32 | 0; + return; + } + + function btQuadWord__setValue_28float_20const__2c_20float_20const__2c_20float_20const__2c_20float_20const__29($0, $1, $2, $3, $4) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + $4 = $4 | 0; + var $7 = 0, $8 = 0; + $7 = __stack_pointer - 32 | 0; + HEAP32[($7 + 28 | 0) >> 2] = $0; + HEAP32[($7 + 24 | 0) >> 2] = $1; + HEAP32[($7 + 20 | 0) >> 2] = $2; + HEAP32[($7 + 16 | 0) >> 2] = $3; + HEAP32[($7 + 12 | 0) >> 2] = $4; + $8 = HEAP32[($7 + 28 | 0) >> 2] | 0; + HEAPF32[$8 >> 2] = Math_fround(HEAPF32[(HEAP32[($7 + 24 | 0) >> 2] | 0) >> 2]); + HEAPF32[($8 + 4 | 0) >> 2] = Math_fround(HEAPF32[(HEAP32[($7 + 20 | 0) >> 2] | 0) >> 2]); + HEAPF32[($8 + 8 | 0) >> 2] = Math_fround(HEAPF32[(HEAP32[($7 + 16 | 0) >> 2] | 0) >> 2]); + HEAPF32[($8 + 12 | 0) >> 2] = Math_fround(HEAPF32[(HEAP32[($7 + 12 | 0) >> 2] | 0) >> 2]); + return; + } + + function Quat_x_28int_29($0) { + $0 = $0 | 0; + var $3 = 0, $7 = Math_fround(0); + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + HEAP32[($3 + 8 | 0) >> 2] = HEAP32[($3 + 12 | 0) >> 2] | 0; + $7 = Math_fround(HEAPF32[(btQuadWord__x_28_29_20const(HEAP32[($3 + 8 | 0) >> 2] | 0 | 0) | 0) >> 2]); + __stack_pointer = $3 + 16 | 0; + return Math_fround($7); + } + + function btQuadWord__x_28_29_20const($0) { + $0 = $0 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + return HEAP32[($3 + 12 | 0) >> 2] | 0 | 0; + } + + function Quat_y_28int_29($0) { + $0 = $0 | 0; + var $3 = 0, $7 = Math_fround(0); + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + HEAP32[($3 + 8 | 0) >> 2] = HEAP32[($3 + 12 | 0) >> 2] | 0; + $7 = Math_fround(HEAPF32[(btQuadWord__y_28_29_20const(HEAP32[($3 + 8 | 0) >> 2] | 0 | 0) | 0) >> 2]); + __stack_pointer = $3 + 16 | 0; + return Math_fround($7); + } + + function btQuadWord__y_28_29_20const($0) { + $0 = $0 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + return (HEAP32[($3 + 12 | 0) >> 2] | 0) + 4 | 0 | 0; + } + + function Quat_z_28int_29($0) { + $0 = $0 | 0; + var $3 = 0, $7 = Math_fround(0); + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + HEAP32[($3 + 8 | 0) >> 2] = HEAP32[($3 + 12 | 0) >> 2] | 0; + $7 = Math_fround(HEAPF32[(btQuadWord__z_28_29_20const(HEAP32[($3 + 8 | 0) >> 2] | 0 | 0) | 0) >> 2]); + __stack_pointer = $3 + 16 | 0; + return Math_fround($7); + } + + function btQuadWord__z_28_29_20const($0) { + $0 = $0 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + return (HEAP32[($3 + 12 | 0) >> 2] | 0) + 8 | 0 | 0; + } + + function Quat_w_28int_29($0) { + $0 = $0 | 0; + var $3 = 0, $7 = Math_fround(0); + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + HEAP32[($3 + 8 | 0) >> 2] = HEAP32[($3 + 12 | 0) >> 2] | 0; + $7 = Math_fround(HEAPF32[(btQuadWord__w_28_29_20const(HEAP32[($3 + 8 | 0) >> 2] | 0 | 0) | 0) >> 2]); + __stack_pointer = $3 + 16 | 0; + return Math_fround($7); + } + + function btQuadWord__w_28_29_20const($0) { + $0 = $0 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + return (HEAP32[($3 + 12 | 0) >> 2] | 0) + 12 | 0 | 0; + } + + function Transform_new_28_29() { + var $2 = 0, $4 = 0, $6 = 0; + $2 = __stack_pointer - 16 | 0; + __stack_pointer = $2; + $4 = operator_20new_28unsigned_20long_29(64 | 0) | 0; + btTransform__btTransform_28_29($4 | 0) | 0; + HEAP32[($2 + 12 | 0) >> 2] = $4; + btTransform__setIdentity_28_29(HEAP32[($2 + 12 | 0) >> 2] | 0 | 0); + $6 = HEAP32[($2 + 12 | 0) >> 2] | 0; + __stack_pointer = $2 + 16 | 0; + return $6 | 0; + } + + function btMatrix3x3__btMatrix3x3_28_29($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0, $7 = 0, $8 = 0, $10 = 0, $6 = 0, $16 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 8 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 8 | 0) >> 2] | 0; + HEAP32[($3 + 12 | 0) >> 2] = $4; + $6 = $4 + 48 | 0; + $7 = $4; + label$1 : while (1) { + $8 = $7; + btVector3__btVector3_28_29($8 | 0) | 0; + $10 = $8 + 16 | 0; + $7 = $10; + if (!(($10 | 0) == ($6 | 0) & 1 | 0)) { + continue label$1 + } + break label$1; + }; + $16 = HEAP32[($3 + 12 | 0) >> 2] | 0; + __stack_pointer = $3 + 16 | 0; + return $16 | 0; + } + + function btMatrix3x3__setIdentity_28_29($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 48 | 0; + __stack_pointer = $3; + HEAP32[($3 + 44 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 44 | 0) >> 2] | 0; + HEAPF32[($3 + 40 | 0) >> 2] = Math_fround(1.0); + HEAPF32[($3 + 36 | 0) >> 2] = Math_fround(0 | 0); + HEAPF32[($3 + 32 | 0) >> 2] = Math_fround(0 | 0); + HEAPF32[($3 + 28 | 0) >> 2] = Math_fround(0 | 0); + HEAPF32[($3 + 24 | 0) >> 2] = Math_fround(1.0); + HEAPF32[($3 + 20 | 0) >> 2] = Math_fround(0 | 0); + HEAPF32[($3 + 16 | 0) >> 2] = Math_fround(0 | 0); + HEAPF32[($3 + 12 | 0) >> 2] = Math_fround(0 | 0); + HEAPF32[($3 + 8 | 0) >> 2] = Math_fround(1.0); + btMatrix3x3__setValue_28float_20const__2c_20float_20const__2c_20float_20const__2c_20float_20const__2c_20float_20const__2c_20float_20const__2c_20float_20const__2c_20float_20const__2c_20float_20const__29($4 | 0, $3 + 40 | 0 | 0, $3 + 36 | 0 | 0, $3 + 32 | 0 | 0, $3 + 28 | 0 | 0, $3 + 24 | 0 | 0, $3 + 20 | 0 | 0, $3 + 16 | 0 | 0, $3 + 12 | 0 | 0, $3 + 8 | 0 | 0); + __stack_pointer = $3 + 48 | 0; + return; + } + + function Transform_setIdentity_28int_29($0) { + $0 = $0 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + btTransform__setIdentity_28_29(HEAP32[($3 + 12 | 0) >> 2] | 0 | 0); + __stack_pointer = $3 + 16 | 0; + return; + } + + function btTransform__setOrigin_28btVector3_20const__29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var i64toi32_i32$2 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $4 = 0, $8 = 0, $10 = 0, $32 = 0, $42 = 0; + $4 = __stack_pointer - 16 | 0; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + $8 = (HEAP32[($4 + 12 | 0) >> 2] | 0) + 48 | 0; + i64toi32_i32$2 = HEAP32[($4 + 8 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $32 = i64toi32_i32$0; + i64toi32_i32$0 = $8; + HEAP32[i64toi32_i32$0 >> 2] = $32; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $10 = 8; + i64toi32_i32$2 = i64toi32_i32$2 + $10 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $42 = i64toi32_i32$1; + i64toi32_i32$1 = $8 + $10 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $42; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + return; + } + + function Transform_setRotation_28int_2c_20int_29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0; + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + HEAP32[($4 + 4 | 0) >> 2] = HEAP32[($4 + 12 | 0) >> 2] | 0; + btTransform__setRotation_28btQuaternion_20const__29(HEAP32[($4 + 4 | 0) >> 2] | 0 | 0, HEAP32[($4 + 8 | 0) >> 2] | 0 | 0); + __stack_pointer = $4 + 16 | 0; + return; + } + + function btTransform__setRotation_28btQuaternion_20const__29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0; + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + btMatrix3x3__setRotation_28btQuaternion_20const__29(HEAP32[($4 + 12 | 0) >> 2] | 0 | 0, HEAP32[($4 + 8 | 0) >> 2] | 0 | 0); + __stack_pointer = $4 + 16 | 0; + return; + } + + function btMatrix3x3__setRotation_28btQuaternion_20const__29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, $5 = 0, wasm2js_i32$0 = 0, wasm2js_f32$0 = Math_fround(0); + $4 = __stack_pointer - 112 | 0; + __stack_pointer = $4; + HEAP32[($4 + 108 | 0) >> 2] = $0; + HEAP32[($4 + 104 | 0) >> 2] = $1; + $5 = HEAP32[($4 + 108 | 0) >> 2] | 0; + (wasm2js_i32$0 = $4, wasm2js_f32$0 = Math_fround(btQuaternion__length2_28_29_20const(HEAP32[($4 + 104 | 0) >> 2] | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 100 | 0) >> 2] = wasm2js_f32$0; + HEAPF32[($4 + 96 | 0) >> 2] = Math_fround(Math_fround(2.0) / Math_fround(HEAPF32[($4 + 100 | 0) >> 2])); + (wasm2js_i32$0 = $4, wasm2js_f32$0 = Math_fround(Math_fround(HEAPF32[(btQuadWord__x_28_29_20const(HEAP32[($4 + 104 | 0) >> 2] | 0 | 0) | 0) >> 2]) * Math_fround(HEAPF32[($4 + 96 | 0) >> 2]))), HEAPF32[(wasm2js_i32$0 + 92 | 0) >> 2] = wasm2js_f32$0; + (wasm2js_i32$0 = $4, wasm2js_f32$0 = Math_fround(Math_fround(HEAPF32[(btQuadWord__y_28_29_20const(HEAP32[($4 + 104 | 0) >> 2] | 0 | 0) | 0) >> 2]) * Math_fround(HEAPF32[($4 + 96 | 0) >> 2]))), HEAPF32[(wasm2js_i32$0 + 88 | 0) >> 2] = wasm2js_f32$0; + (wasm2js_i32$0 = $4, wasm2js_f32$0 = Math_fround(Math_fround(HEAPF32[(btQuadWord__z_28_29_20const(HEAP32[($4 + 104 | 0) >> 2] | 0 | 0) | 0) >> 2]) * Math_fround(HEAPF32[($4 + 96 | 0) >> 2]))), HEAPF32[(wasm2js_i32$0 + 84 | 0) >> 2] = wasm2js_f32$0; + (wasm2js_i32$0 = $4, wasm2js_f32$0 = Math_fround(Math_fround(HEAPF32[(btQuadWord__w_28_29_20const(HEAP32[($4 + 104 | 0) >> 2] | 0 | 0) | 0) >> 2]) * Math_fround(HEAPF32[($4 + 92 | 0) >> 2]))), HEAPF32[(wasm2js_i32$0 + 80 | 0) >> 2] = wasm2js_f32$0; + (wasm2js_i32$0 = $4, wasm2js_f32$0 = Math_fround(Math_fround(HEAPF32[(btQuadWord__w_28_29_20const(HEAP32[($4 + 104 | 0) >> 2] | 0 | 0) | 0) >> 2]) * Math_fround(HEAPF32[($4 + 88 | 0) >> 2]))), HEAPF32[(wasm2js_i32$0 + 76 | 0) >> 2] = wasm2js_f32$0; + (wasm2js_i32$0 = $4, wasm2js_f32$0 = Math_fround(Math_fround(HEAPF32[(btQuadWord__w_28_29_20const(HEAP32[($4 + 104 | 0) >> 2] | 0 | 0) | 0) >> 2]) * Math_fround(HEAPF32[($4 + 84 | 0) >> 2]))), HEAPF32[(wasm2js_i32$0 + 72 | 0) >> 2] = wasm2js_f32$0; + (wasm2js_i32$0 = $4, wasm2js_f32$0 = Math_fround(Math_fround(HEAPF32[(btQuadWord__x_28_29_20const(HEAP32[($4 + 104 | 0) >> 2] | 0 | 0) | 0) >> 2]) * Math_fround(HEAPF32[($4 + 92 | 0) >> 2]))), HEAPF32[(wasm2js_i32$0 + 68 | 0) >> 2] = wasm2js_f32$0; + (wasm2js_i32$0 = $4, wasm2js_f32$0 = Math_fround(Math_fround(HEAPF32[(btQuadWord__x_28_29_20const(HEAP32[($4 + 104 | 0) >> 2] | 0 | 0) | 0) >> 2]) * Math_fround(HEAPF32[($4 + 88 | 0) >> 2]))), HEAPF32[(wasm2js_i32$0 + 64 | 0) >> 2] = wasm2js_f32$0; + (wasm2js_i32$0 = $4, wasm2js_f32$0 = Math_fround(Math_fround(HEAPF32[(btQuadWord__x_28_29_20const(HEAP32[($4 + 104 | 0) >> 2] | 0 | 0) | 0) >> 2]) * Math_fround(HEAPF32[($4 + 84 | 0) >> 2]))), HEAPF32[(wasm2js_i32$0 + 60 | 0) >> 2] = wasm2js_f32$0; + (wasm2js_i32$0 = $4, wasm2js_f32$0 = Math_fround(Math_fround(HEAPF32[(btQuadWord__y_28_29_20const(HEAP32[($4 + 104 | 0) >> 2] | 0 | 0) | 0) >> 2]) * Math_fround(HEAPF32[($4 + 88 | 0) >> 2]))), HEAPF32[(wasm2js_i32$0 + 56 | 0) >> 2] = wasm2js_f32$0; + (wasm2js_i32$0 = $4, wasm2js_f32$0 = Math_fround(Math_fround(HEAPF32[(btQuadWord__y_28_29_20const(HEAP32[($4 + 104 | 0) >> 2] | 0 | 0) | 0) >> 2]) * Math_fround(HEAPF32[($4 + 84 | 0) >> 2]))), HEAPF32[(wasm2js_i32$0 + 52 | 0) >> 2] = wasm2js_f32$0; + (wasm2js_i32$0 = $4, wasm2js_f32$0 = Math_fround(Math_fround(HEAPF32[(btQuadWord__z_28_29_20const(HEAP32[($4 + 104 | 0) >> 2] | 0 | 0) | 0) >> 2]) * Math_fround(HEAPF32[($4 + 84 | 0) >> 2]))), HEAPF32[(wasm2js_i32$0 + 48 | 0) >> 2] = wasm2js_f32$0; + HEAPF32[($4 + 44 | 0) >> 2] = Math_fround(Math_fround(1.0) - Math_fround(Math_fround(HEAPF32[($4 + 56 | 0) >> 2]) + Math_fround(HEAPF32[($4 + 48 | 0) >> 2]))); + HEAPF32[($4 + 40 | 0) >> 2] = Math_fround(Math_fround(HEAPF32[($4 + 64 | 0) >> 2]) - Math_fround(HEAPF32[($4 + 72 | 0) >> 2])); + HEAPF32[($4 + 36 | 0) >> 2] = Math_fround(Math_fround(HEAPF32[($4 + 60 | 0) >> 2]) + Math_fround(HEAPF32[($4 + 76 | 0) >> 2])); + HEAPF32[($4 + 32 | 0) >> 2] = Math_fround(Math_fround(HEAPF32[($4 + 64 | 0) >> 2]) + Math_fround(HEAPF32[($4 + 72 | 0) >> 2])); + HEAPF32[($4 + 28 | 0) >> 2] = Math_fround(Math_fround(1.0) - Math_fround(Math_fround(HEAPF32[($4 + 68 | 0) >> 2]) + Math_fround(HEAPF32[($4 + 48 | 0) >> 2]))); + HEAPF32[($4 + 24 | 0) >> 2] = Math_fround(Math_fround(HEAPF32[($4 + 52 | 0) >> 2]) - Math_fround(HEAPF32[($4 + 80 | 0) >> 2])); + HEAPF32[($4 + 20 | 0) >> 2] = Math_fround(Math_fround(HEAPF32[($4 + 60 | 0) >> 2]) - Math_fround(HEAPF32[($4 + 76 | 0) >> 2])); + HEAPF32[($4 + 16 | 0) >> 2] = Math_fround(Math_fround(HEAPF32[($4 + 52 | 0) >> 2]) + Math_fround(HEAPF32[($4 + 80 | 0) >> 2])); + HEAPF32[($4 + 12 | 0) >> 2] = Math_fround(Math_fround(1.0) - Math_fround(Math_fround(HEAPF32[($4 + 68 | 0) >> 2]) + Math_fround(HEAPF32[($4 + 56 | 0) >> 2]))); + btMatrix3x3__setValue_28float_20const__2c_20float_20const__2c_20float_20const__2c_20float_20const__2c_20float_20const__2c_20float_20const__2c_20float_20const__2c_20float_20const__2c_20float_20const__29($5 | 0, $4 + 44 | 0 | 0, $4 + 40 | 0 | 0, $4 + 36 | 0 | 0, $4 + 32 | 0 | 0, $4 + 28 | 0 | 0, $4 + 24 | 0 | 0, $4 + 20 | 0 | 0, $4 + 16 | 0 | 0, $4 + 12 | 0 | 0); + __stack_pointer = $4 + 112 | 0; + return; + } + + function Transform_getOrigin_28int_29($0) { + $0 = $0 | 0; + var $3 = 0, $6 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + HEAP32[($3 + 8 | 0) >> 2] = HEAP32[($3 + 12 | 0) >> 2] | 0; + $6 = btTransform__getOrigin_28_29(HEAP32[($3 + 8 | 0) >> 2] | 0 | 0) | 0; + __stack_pointer = $3 + 16 | 0; + return $6 | 0; + } + + function btTransform__getOrigin_28_29($0) { + $0 = $0 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + return (HEAP32[($3 + 12 | 0) >> 2] | 0) + 48 | 0 | 0; + } + + function Transform_getRotation_28int_2c_20int_29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, $10 = 0; + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + HEAP32[($4 + 4 | 0) >> 2] = HEAP32[($4 + 12 | 0) >> 2] | 0; + HEAP32[$4 >> 2] = HEAP32[($4 + 8 | 0) >> 2] | 0; + btMatrix3x3__getRotation_28btQuaternion__29_20const(btTransform__getBasis_28_29(HEAP32[($4 + 4 | 0) >> 2] | 0 | 0) | 0 | 0, HEAP32[$4 >> 2] | 0 | 0); + $10 = HEAP32[($4 + 8 | 0) >> 2] | 0; + __stack_pointer = $4 + 16 | 0; + return $10 | 0; + } + + function btTransform__getBasis_28_29($0) { + $0 = $0 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + return HEAP32[($3 + 12 | 0) >> 2] | 0 | 0; + } + + function btMatrix3x3__getRotation_28btQuaternion__29_20const($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, $5 = 0, $86 = 0, $190 = Math_fround(0), $195 = 0, $220 = Math_fround(0), $225 = 0, wasm2js_i32$0 = 0, wasm2js_f32$0 = Math_fround(0); + $4 = __stack_pointer - 64 | 0; + __stack_pointer = $4; + HEAP32[($4 + 60 | 0) >> 2] = $0; + HEAP32[($4 + 56 | 0) >> 2] = $1; + $5 = HEAP32[($4 + 60 | 0) >> 2] | 0; + (wasm2js_i32$0 = $4, wasm2js_f32$0 = Math_fround(Math_fround(Math_fround(HEAPF32[(btVector3__x_28_29_20const($5 | 0) | 0) >> 2]) + Math_fround(HEAPF32[(btVector3__y_28_29_20const($5 + 16 | 0 | 0) | 0) >> 2])) + Math_fround(HEAPF32[(btVector3__z_28_29_20const($5 + 32 | 0 | 0) | 0) >> 2]))), HEAPF32[(wasm2js_i32$0 + 52 | 0) >> 2] = wasm2js_f32$0; + label$1 : { + label$2 : { + if (!(Math_fround(HEAPF32[($4 + 52 | 0) >> 2]) > Math_fround(0 | 0) & 1 | 0)) { + break label$2 + } + (wasm2js_i32$0 = $4, wasm2js_f32$0 = Math_fround(btSqrt_28float_29(Math_fround(Math_fround(Math_fround(HEAPF32[($4 + 52 | 0) >> 2]) + Math_fround(1.0)))))), HEAPF32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_f32$0; + HEAPF32[($4 + 44 | 0) >> 2] = Math_fround(Math_fround(HEAPF32[($4 + 28 | 0) >> 2]) * Math_fround(.5)); + HEAPF32[($4 + 28 | 0) >> 2] = Math_fround(Math_fround(.5) / Math_fround(HEAPF32[($4 + 28 | 0) >> 2])); + (wasm2js_i32$0 = $4, wasm2js_f32$0 = Math_fround(Math_fround(Math_fround(HEAPF32[(btVector3__y_28_29_20const($5 + 32 | 0 | 0) | 0) >> 2]) - Math_fround(HEAPF32[(btVector3__z_28_29_20const($5 + 16 | 0 | 0) | 0) >> 2])) * Math_fround(HEAPF32[($4 + 28 | 0) >> 2]))), HEAPF32[(wasm2js_i32$0 + 32 | 0) >> 2] = wasm2js_f32$0; + (wasm2js_i32$0 = $4, wasm2js_f32$0 = Math_fround(Math_fround(Math_fround(HEAPF32[(btVector3__z_28_29_20const($5 | 0) | 0) >> 2]) - Math_fround(HEAPF32[(btVector3__x_28_29_20const($5 + 32 | 0 | 0) | 0) >> 2])) * Math_fround(HEAPF32[($4 + 28 | 0) >> 2]))), HEAPF32[(wasm2js_i32$0 + 36 | 0) >> 2] = wasm2js_f32$0; + (wasm2js_i32$0 = $4, wasm2js_f32$0 = Math_fround(Math_fround(Math_fround(HEAPF32[(btVector3__x_28_29_20const($5 + 16 | 0 | 0) | 0) >> 2]) - Math_fround(HEAPF32[(btVector3__y_28_29_20const($5 | 0) | 0) >> 2])) * Math_fround(HEAPF32[($4 + 28 | 0) >> 2]))), HEAPF32[(wasm2js_i32$0 + 40 | 0) >> 2] = wasm2js_f32$0; + break label$1; + } + label$3 : { + label$4 : { + if (!(Math_fround(HEAPF32[(btVector3__x_28_29_20const($5 | 0) | 0) >> 2]) < Math_fround(HEAPF32[(btVector3__y_28_29_20const($5 + 16 | 0 | 0) | 0) >> 2]) & 1 | 0)) { + break label$4 + } + $86 = Math_fround(HEAPF32[(btVector3__y_28_29_20const($5 + 16 | 0 | 0) | 0) >> 2]) < Math_fround(HEAPF32[(btVector3__z_28_29_20const($5 + 32 | 0 | 0) | 0) >> 2]) & 1 | 0 ? 2 : 1; + break label$3; + } + $86 = Math_fround(HEAPF32[(btVector3__x_28_29_20const($5 | 0) | 0) >> 2]) < Math_fround(HEAPF32[(btVector3__z_28_29_20const($5 + 32 | 0 | 0) | 0) >> 2]) & 1 | 0 ? 2 : 0; + } + HEAP32[($4 + 24 | 0) >> 2] = $86; + HEAP32[($4 + 20 | 0) >> 2] = ((HEAP32[($4 + 24 | 0) >> 2] | 0) + 1 | 0 | 0) % (3 | 0) | 0; + HEAP32[($4 + 16 | 0) >> 2] = ((HEAP32[($4 + 24 | 0) >> 2] | 0) + 2 | 0 | 0) % (3 | 0) | 0; + (wasm2js_i32$0 = $4, wasm2js_f32$0 = Math_fround(btSqrt_28float_29(Math_fround(Math_fround(Math_fround(Math_fround(Math_fround(HEAPF32[((btVector3__operator_20float_20const__28_29_20const($5 + ((HEAP32[($4 + 24 | 0) >> 2] | 0) << 4 | 0) | 0 | 0) | 0) + ((HEAP32[($4 + 24 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2]) - Math_fround(HEAPF32[((btVector3__operator_20float_20const__28_29_20const($5 + ((HEAP32[($4 + 20 | 0) >> 2] | 0) << 4 | 0) | 0 | 0) | 0) + ((HEAP32[($4 + 20 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2])) - Math_fround(HEAPF32[((btVector3__operator_20float_20const__28_29_20const($5 + ((HEAP32[($4 + 16 | 0) >> 2] | 0) << 4 | 0) | 0 | 0) | 0) + ((HEAP32[($4 + 16 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2])) + Math_fround(1.0)))))), HEAPF32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_f32$0; + HEAPF32[(($4 + 32 | 0) + ((HEAP32[($4 + 24 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = Math_fround(Math_fround(HEAPF32[($4 + 12 | 0) >> 2]) * Math_fround(.5)); + HEAPF32[($4 + 12 | 0) >> 2] = Math_fround(Math_fround(.5) / Math_fround(HEAPF32[($4 + 12 | 0) >> 2])); + (wasm2js_i32$0 = $4, wasm2js_f32$0 = Math_fround(Math_fround(Math_fround(HEAPF32[((btVector3__operator_20float_20const__28_29_20const($5 + ((HEAP32[($4 + 16 | 0) >> 2] | 0) << 4 | 0) | 0 | 0) | 0) + ((HEAP32[($4 + 20 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2]) - Math_fround(HEAPF32[((btVector3__operator_20float_20const__28_29_20const($5 + ((HEAP32[($4 + 20 | 0) >> 2] | 0) << 4 | 0) | 0 | 0) | 0) + ((HEAP32[($4 + 16 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2])) * Math_fround(HEAPF32[($4 + 12 | 0) >> 2]))), HEAPF32[(wasm2js_i32$0 + 44 | 0) >> 2] = wasm2js_f32$0; + $190 = Math_fround(HEAPF32[((btVector3__operator_20float_20const__28_29_20const($5 + ((HEAP32[($4 + 20 | 0) >> 2] | 0) << 4 | 0) | 0 | 0) | 0) + ((HEAP32[($4 + 24 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2]); + $195 = btVector3__operator_20float_20const__28_29_20const($5 + ((HEAP32[($4 + 24 | 0) >> 2] | 0) << 4 | 0) | 0 | 0) | 0; + HEAPF32[(($4 + 32 | 0) + ((HEAP32[($4 + 20 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = Math_fround(Math_fround($190 + Math_fround(HEAPF32[($195 + ((HEAP32[($4 + 20 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2])) * Math_fround(HEAPF32[($4 + 12 | 0) >> 2])); + $220 = Math_fround(HEAPF32[((btVector3__operator_20float_20const__28_29_20const($5 + ((HEAP32[($4 + 16 | 0) >> 2] | 0) << 4 | 0) | 0 | 0) | 0) + ((HEAP32[($4 + 24 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2]); + $225 = btVector3__operator_20float_20const__28_29_20const($5 + ((HEAP32[($4 + 24 | 0) >> 2] | 0) << 4 | 0) | 0 | 0) | 0; + HEAPF32[(($4 + 32 | 0) + ((HEAP32[($4 + 16 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = Math_fround(Math_fround($220 + Math_fround(HEAPF32[($225 + ((HEAP32[($4 + 16 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2])) * Math_fround(HEAPF32[($4 + 12 | 0) >> 2])); + } + btQuadWord__setValue_28float_20const__2c_20float_20const__2c_20float_20const__2c_20float_20const__29(HEAP32[($4 + 56 | 0) >> 2] | 0 | 0, $4 + 32 | 0 | 0, ($4 + 32 | 0) + 4 | 0 | 0, ($4 + 32 | 0) + 8 | 0 | 0, ($4 + 32 | 0) + 12 | 0 | 0); + __stack_pointer = $4 + 64 | 0; + return; + } + + function btSqrt_28float_29($0) { + $0 = Math_fround($0); + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + HEAPF32[($3 + 12 | 0) >> 2] = $0; + return Math_fround(Math_fround(Math_sqrt(Math_fround(HEAPF32[($3 + 12 | 0) >> 2])))); + } + + function btVector3__operator_20float_20const__28_29_20const($0) { + $0 = $0 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + return HEAP32[($3 + 12 | 0) >> 2] | 0 | 0; + } + + function Transform_getRotationAndOrigin_28int_2c_20int_29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, $12 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4 = __stack_pointer - 32 | 0; + __stack_pointer = $4; + HEAP32[($4 + 28 | 0) >> 2] = $0; + HEAP32[($4 + 24 | 0) >> 2] = $1; + HEAP32[($4 + 20 | 0) >> 2] = HEAP32[($4 + 28 | 0) >> 2] | 0; + HEAP32[($4 + 16 | 0) >> 2] = HEAP32[($4 + 24 | 0) >> 2] | 0; + btMatrix3x3__getRotation_28btQuaternion__29_20const(btTransform__getBasis_28_29(HEAP32[($4 + 20 | 0) >> 2] | 0 | 0) | 0 | 0, HEAP32[($4 + 16 | 0) >> 2] | 0 | 0); + (wasm2js_i32$0 = $4, wasm2js_i32$1 = btTransform__getOrigin_28_29(HEAP32[($4 + 20 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + $12 = HEAP32[($4 + 12 | 0) >> 2] | 0; + __stack_pointer = $4 + 32 | 0; + return $12 | 0; + } + + function Vec3_array_at_28int_2c_20int_29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, $8 = 0; + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + HEAP32[($4 + 4 | 0) >> 2] = HEAP32[($4 + 12 | 0) >> 2] | 0; + $8 = btAlignedObjectArray_btVector3___at_28int_29(HEAP32[($4 + 4 | 0) >> 2] | 0 | 0, HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) | 0; + __stack_pointer = $4 + 16 | 0; + return $8 | 0; + } + + function btAlignedObjectArray_btVector3___at_28int_29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, $14 = 0, $29 = 0, $5 = 0, $40 = 0; + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; + label$1 : { + if ((HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0) { + break label$1 + } + $14 = GOT_data_internal___memory_base; + __assert_fail($14 + 85840 | 0 | 0, $14 + 78192 | 0 | 0, 169 | 0, $14 + 68983 | 0 | 0); + wasm2js_trap(); + } + label$2 : { + if ((HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) < (btAlignedObjectArray_btVector3___size_28_29_20const($5 | 0) | 0 | 0) & 1 | 0) { + break label$2 + } + $29 = GOT_data_internal___memory_base; + __assert_fail($29 + 87321 | 0 | 0, $29 + 78192 | 0 | 0, 170 | 0, $29 + 68983 | 0 | 0); + wasm2js_trap(); + } + $40 = (HEAP32[($5 + 12 | 0) >> 2] | 0) + ((HEAP32[($4 + 8 | 0) >> 2] | 0) << 4 | 0) | 0; + __stack_pointer = $4 + 16 | 0; + return $40 | 0; + } + + function btAlignedObjectArray_btVector3___size_28_29_20const($0) { + $0 = $0 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + return HEAP32[((HEAP32[($3 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0; + } + + function int_array_size_28int_29($0) { + $0 = $0 | 0; + var $3 = 0, $6 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + HEAP32[($3 + 8 | 0) >> 2] = HEAP32[($3 + 12 | 0) >> 2] | 0; + $6 = btAlignedObjectArray_int___size_28_29_20const(HEAP32[($3 + 8 | 0) >> 2] | 0 | 0) | 0; + __stack_pointer = $3 + 16 | 0; + return $6 | 0; + } + + function btAlignedObjectArray_int___size_28_29_20const($0) { + $0 = $0 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + return HEAP32[((HEAP32[($3 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0; + } + + function int_array_at_28int_2c_20int_29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, $9 = 0; + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + HEAP32[($4 + 4 | 0) >> 2] = HEAP32[($4 + 12 | 0) >> 2] | 0; + $9 = HEAP32[(btAlignedObjectArray_int___at_28int_29(HEAP32[($4 + 4 | 0) >> 2] | 0 | 0, HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) | 0) >> 2] | 0; + __stack_pointer = $4 + 16 | 0; + return $9 | 0; + } + + function btAlignedObjectArray_int___at_28int_29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, $14 = 0, $29 = 0, $5 = 0, $40 = 0; + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; + label$1 : { + if ((HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0) { + break label$1 + } + $14 = GOT_data_internal___memory_base; + __assert_fail($14 + 85840 | 0 | 0, $14 + 78192 | 0 | 0, 169 | 0, $14 + 68983 | 0 | 0); + wasm2js_trap(); + } + label$2 : { + if ((HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) < (btAlignedObjectArray_int___size_28_29_20const($5 | 0) | 0 | 0) & 1 | 0) { + break label$2 + } + $29 = GOT_data_internal___memory_base; + __assert_fail($29 + 87321 | 0 | 0, $29 + 78192 | 0 | 0, 170 | 0, $29 + 68983 | 0 | 0); + wasm2js_trap(); + } + $40 = (HEAP32[($5 + 12 | 0) >> 2] | 0) + ((HEAP32[($4 + 8 | 0) >> 2] | 0) << 2 | 0) | 0; + __stack_pointer = $4 + 16 | 0; + return $40 | 0; + } + + function ccMaterial_new_28_29() { + var $2 = Math_fround(0), $1 = 0; + $1 = operator_20new_28unsigned_20long_29(16 | 0) | 0; + $2 = Math_fround(.10000000149011612); + cc__ccMaterial__ccMaterial_28float_2c_20float_2c_20float_2c_20float_29($1 | 0, Math_fround($2), Math_fround(Math_fround(.6000000238418579)), Math_fround($2), Math_fround($2)) | 0; + return $1 | 0; + } + + function cc__ccMaterial__ccMaterial_28float_2c_20float_2c_20float_2c_20float_29($0, $1, $2, $3, $4) { + $0 = $0 | 0; + $1 = Math_fround($1); + $2 = Math_fround($2); + $3 = Math_fround($3); + $4 = Math_fround($4); + var $7 = 0, $8 = 0; + $7 = __stack_pointer - 32 | 0; + HEAP32[($7 + 28 | 0) >> 2] = $0; + HEAPF32[($7 + 24 | 0) >> 2] = $1; + HEAPF32[($7 + 20 | 0) >> 2] = $2; + HEAPF32[($7 + 16 | 0) >> 2] = $3; + HEAPF32[($7 + 12 | 0) >> 2] = $4; + $8 = HEAP32[($7 + 28 | 0) >> 2] | 0; + HEAPF32[$8 >> 2] = Math_fround(HEAPF32[($7 + 24 | 0) >> 2]); + HEAPF32[($8 + 4 | 0) >> 2] = Math_fround(HEAPF32[($7 + 20 | 0) >> 2]); + HEAPF32[($8 + 8 | 0) >> 2] = Math_fround(HEAPF32[($7 + 16 | 0) >> 2]); + HEAPF32[($8 + 12 | 0) >> 2] = Math_fround(HEAPF32[($7 + 12 | 0) >> 2]); + return $8 | 0; + } + + function ccMaterial_set_28int_2c_20float_2c_20float_2c_20float_2c_20float_29($0, $1, $2, $3, $4) { + $0 = $0 | 0; + $1 = Math_fround($1); + $2 = Math_fround($2); + $3 = Math_fround($3); + $4 = Math_fround($4); + var $7 = 0; + $7 = __stack_pointer - 32 | 0; + HEAP32[($7 + 28 | 0) >> 2] = $0; + HEAPF32[($7 + 24 | 0) >> 2] = $1; + HEAPF32[($7 + 20 | 0) >> 2] = $2; + HEAPF32[($7 + 16 | 0) >> 2] = $3; + HEAPF32[($7 + 12 | 0) >> 2] = $4; + HEAP32[($7 + 8 | 0) >> 2] = HEAP32[($7 + 28 | 0) >> 2] | 0; + HEAPF32[(HEAP32[($7 + 8 | 0) >> 2] | 0) >> 2] = Math_fround(HEAPF32[($7 + 24 | 0) >> 2]); + HEAPF32[((HEAP32[($7 + 8 | 0) >> 2] | 0) + 4 | 0) >> 2] = Math_fround(HEAPF32[($7 + 20 | 0) >> 2]); + HEAPF32[((HEAP32[($7 + 8 | 0) >> 2] | 0) + 8 | 0) >> 2] = Math_fround(HEAPF32[($7 + 16 | 0) >> 2]); + HEAPF32[((HEAP32[($7 + 8 | 0) >> 2] | 0) + 12 | 0) >> 2] = Math_fround(HEAPF32[($7 + 12 | 0) >> 2]); + return; + } + + function MotionState_getWorldTransform($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, $7 = 0; + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + HEAP32[($4 + 4 | 0) >> 2] = HEAP32[($4 + 12 | 0) >> 2] | 0; + HEAP32[$4 >> 2] = HEAP32[($4 + 8 | 0) >> 2] | 0; + $7 = HEAP32[($4 + 4 | 0) >> 2] | 0; + FUNCTION_TABLE[HEAP32[((HEAP32[$7 >> 2] | 0) + 8 | 0) >> 2] | 0 | 0]($7, HEAP32[$4 >> 2] | 0); + __stack_pointer = $4 + 16 | 0; + return; + } + + function MotionState_setWorldTransform($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, $7 = 0; + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + HEAP32[($4 + 4 | 0) >> 2] = HEAP32[($4 + 12 | 0) >> 2] | 0; + HEAP32[$4 >> 2] = HEAP32[($4 + 8 | 0) >> 2] | 0; + $7 = HEAP32[($4 + 4 | 0) >> 2] | 0; + FUNCTION_TABLE[HEAP32[((HEAP32[$7 >> 2] | 0) + 12 | 0) >> 2] | 0 | 0]($7, HEAP32[$4 >> 2] | 0); + __stack_pointer = $4 + 16 | 0; + return; + } + + function btTransform__btTransform_28btMatrix3x3_20const__2c_20btVector3_20const__29($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $5 = 0, i64toi32_i32$2 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $6 = 0, $9 = 0, $12 = 0, $44 = 0, $54 = 0; + $5 = __stack_pointer - 16 | 0; + __stack_pointer = $5; + HEAP32[($5 + 12 | 0) >> 2] = $0; + HEAP32[($5 + 8 | 0) >> 2] = $1; + HEAP32[($5 + 4 | 0) >> 2] = $2; + $6 = HEAP32[($5 + 12 | 0) >> 2] | 0; + btMatrix3x3__btMatrix3x3_28btMatrix3x3_20const__29($6 | 0, HEAP32[($5 + 8 | 0) >> 2] | 0 | 0) | 0; + $9 = $6 + 48 | 0; + i64toi32_i32$2 = HEAP32[($5 + 4 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $44 = i64toi32_i32$0; + i64toi32_i32$0 = $9; + HEAP32[i64toi32_i32$0 >> 2] = $44; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $12 = 8; + i64toi32_i32$2 = i64toi32_i32$2 + $12 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $54 = i64toi32_i32$1; + i64toi32_i32$1 = $9 + $12 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $54; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + __stack_pointer = $5 + 16 | 0; + return $6 | 0; + } + + function btMotionState__btMotionState_28_29($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + HEAP32[$4 >> 2] = GOT_data_internal_vtable_20for_20btMotionState + 8 | 0; + return $4 | 0; + } + + function btTransform__btTransform_28btTransform_20const__29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, i64toi32_i32$2 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $5 = 0, $8 = 0, $13 = 0, $46 = 0, $56 = 0; + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; + btMatrix3x3__btMatrix3x3_28btMatrix3x3_20const__29($5 | 0, HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) | 0; + $8 = $5 + 48 | 0; + i64toi32_i32$2 = (HEAP32[($4 + 8 | 0) >> 2] | 0) + 48 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $46 = i64toi32_i32$0; + i64toi32_i32$0 = $8; + HEAP32[i64toi32_i32$0 >> 2] = $46; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $13 = 8; + i64toi32_i32$2 = i64toi32_i32$2 + $13 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $56 = i64toi32_i32$1; + i64toi32_i32$1 = $8 + $13 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $56; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + __stack_pointer = $4 + 16 | 0; + return $5 | 0; + } + + function ccMotionState_setup($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $5 = 0; + $5 = __stack_pointer - 16 | 0; + __stack_pointer = $5; + HEAP32[($5 + 12 | 0) >> 2] = $0; + HEAP32[($5 + 8 | 0) >> 2] = $1; + HEAP32[($5 + 4 | 0) >> 2] = $2; + HEAP32[$5 >> 2] = HEAP32[($5 + 12 | 0) >> 2] | 0; + cc__ccMotionState__setup_28int_2c_20btTransform_20const__29(HEAP32[$5 >> 2] | 0 | 0, HEAP32[($5 + 8 | 0) >> 2] | 0 | 0, HEAP32[($5 + 4 | 0) >> 2] | 0 | 0); + __stack_pointer = $5 + 16 | 0; + return; + } + + function cc__ccMotionState__setup_28int_2c_20btTransform_20const__29($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $5 = 0, $6 = 0; + $5 = __stack_pointer - 16 | 0; + __stack_pointer = $5; + HEAP32[($5 + 12 | 0) >> 2] = $0; + HEAP32[($5 + 8 | 0) >> 2] = $1; + HEAP32[($5 + 4 | 0) >> 2] = $2; + $6 = HEAP32[($5 + 12 | 0) >> 2] | 0; + HEAP32[($6 + 4 | 0) >> 2] = HEAP32[($5 + 8 | 0) >> 2] | 0; + btTransform__operator__28btTransform_20const__29($6 + 8 | 0 | 0, HEAP32[($5 + 4 | 0) >> 2] | 0 | 0) | 0; + __stack_pointer = $5 + 16 | 0; + return; + } + + function btTransform__operator__28btTransform_20const__29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, i64toi32_i32$2 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $5 = 0, $11 = 0, $13 = 0, $46 = 0, $56 = 0; + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; + btMatrix3x3__operator__28btMatrix3x3_20const__29($5 | 0, HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) | 0; + $11 = $5 + 48 | 0; + i64toi32_i32$2 = (HEAP32[($4 + 8 | 0) >> 2] | 0) + 48 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $46 = i64toi32_i32$0; + i64toi32_i32$0 = $11; + HEAP32[i64toi32_i32$0 >> 2] = $46; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $13 = 8; + i64toi32_i32$2 = i64toi32_i32$2 + $13 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $56 = i64toi32_i32$1; + i64toi32_i32$1 = $11 + $13 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $56; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + __stack_pointer = $4 + 16 | 0; + return $5 | 0; + } + + function btRigidBody__btRigidBodyConstructionInfo__btRigidBodyConstructionInfo_28float_2c_20btMotionState__2c_20btCollisionShape__2c_20btVector3_20const__29($0, $1, $2, $3, $4) { + $0 = $0 | 0; + $1 = Math_fround($1); + $2 = $2 | 0; + $3 = $3 | 0; + $4 = $4 | 0; + var $8 = 0, $7 = 0, i64toi32_i32$2 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $15 = 0, $18 = 0, $86 = 0, $96 = 0; + $7 = __stack_pointer - 32 | 0; + __stack_pointer = $7; + HEAP32[($7 + 28 | 0) >> 2] = $0; + HEAPF32[($7 + 24 | 0) >> 2] = $1; + HEAP32[($7 + 20 | 0) >> 2] = $2; + HEAP32[($7 + 16 | 0) >> 2] = $3; + HEAP32[($7 + 12 | 0) >> 2] = $4; + $8 = HEAP32[($7 + 28 | 0) >> 2] | 0; + HEAPF32[$8 >> 2] = Math_fround(HEAPF32[($7 + 24 | 0) >> 2]); + HEAP32[($8 + 4 | 0) >> 2] = HEAP32[($7 + 20 | 0) >> 2] | 0; + btTransform__btTransform_28_29($8 + 8 | 0 | 0) | 0; + HEAP32[($8 + 72 | 0) >> 2] = HEAP32[($7 + 16 | 0) >> 2] | 0; + $15 = $8 + 76 | 0; + i64toi32_i32$2 = HEAP32[($7 + 12 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $86 = i64toi32_i32$0; + i64toi32_i32$0 = $15; + HEAP32[i64toi32_i32$0 >> 2] = $86; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $18 = 8; + i64toi32_i32$2 = i64toi32_i32$2 + $18 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $96 = i64toi32_i32$1; + i64toi32_i32$1 = $15 + $18 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $96; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + HEAPF32[($8 + 92 | 0) >> 2] = Math_fround(0 | 0); + HEAPF32[($8 + 96 | 0) >> 2] = Math_fround(0 | 0); + HEAPF32[($8 + 100 | 0) >> 2] = Math_fround(.5); + HEAPF32[($8 + 104 | 0) >> 2] = Math_fround(0 | 0); + HEAPF32[($8 + 108 | 0) >> 2] = Math_fround(0 | 0); + HEAPF32[($8 + 112 | 0) >> 2] = Math_fround(0 | 0); + HEAPF32[($8 + 116 | 0) >> 2] = Math_fround(.800000011920929); + HEAPF32[($8 + 120 | 0) >> 2] = Math_fround(1.0); + HEAP8[($8 + 124 | 0) >> 0] = 0; + HEAPF32[($8 + 128 | 0) >> 2] = Math_fround(.004999999888241291); + HEAPF32[($8 + 132 | 0) >> 2] = Math_fround(.009999999776482582); + HEAPF32[($8 + 136 | 0) >> 2] = Math_fround(.009999999776482582); + HEAPF32[($8 + 140 | 0) >> 2] = Math_fround(.009999999776482582); + btTransform__setIdentity_28_29($8 + 8 | 0 | 0); + __stack_pointer = $7 + 32 | 0; + return $8 | 0; + } + + function RigidBody_new_28float_2c_20int_29($0, $1) { + $0 = Math_fround($0); + $1 = $1 | 0; + var $4 = 0, $54 = 0, $58 = 0; + $4 = __stack_pointer - 208 | 0; + __stack_pointer = $4; + HEAPF32[($4 + 204 | 0) >> 2] = $0; + HEAP32[($4 + 200 | 0) >> 2] = $1; + HEAPF32[($4 + 180 | 0) >> 2] = Math_fround(1.6666666269302368); + HEAPF32[($4 + 176 | 0) >> 2] = Math_fround(1.6666666269302368); + HEAPF32[($4 + 172 | 0) >> 2] = Math_fround(1.6666666269302368); + btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($4 + 184 | 0 | 0, $4 + 180 | 0 | 0, $4 + 176 | 0 | 0, $4 + 172 | 0 | 0) | 0; + label$1 : { + if (!(Math_fround(HEAPF32[($4 + 204 | 0) >> 2]) == Math_fround(0 | 0) & 1 | 0)) { + break label$1 + } + HEAPF32[($4 + 168 | 0) >> 2] = Math_fround(0 | 0); + HEAPF32[($4 + 164 | 0) >> 2] = Math_fround(0 | 0); + HEAPF32[($4 + 160 | 0) >> 2] = Math_fround(0 | 0); + btVector3__setValue_28float_20const__2c_20float_20const__2c_20float_20const__29($4 + 184 | 0 | 0, $4 + 168 | 0 | 0, $4 + 164 | 0 | 0, $4 + 160 | 0 | 0); + } + btRigidBody__btRigidBodyConstructionInfo__btRigidBodyConstructionInfo_28float_2c_20btMotionState__2c_20btCollisionShape__2c_20btVector3_20const__29($4 + 16 | 0 | 0, Math_fround(Math_fround(HEAPF32[($4 + 204 | 0) >> 2])), HEAP32[($4 + 200 | 0) >> 2] | 0 | 0, EmptyShape_static_28_29() | 0 | 0, $4 + 184 | 0 | 0) | 0; + $54 = btCollisionObject__operator_20new_28unsigned_20long_29(676 | 0) | 0; + btRigidBody__btRigidBody_28btRigidBody__btRigidBodyConstructionInfo_20const__29($54 | 0, $4 + 16 | 0 | 0) | 0; + HEAP32[($4 + 12 | 0) >> 2] = $54; + $58 = HEAP32[($4 + 12 | 0) >> 2] | 0; + __stack_pointer = $4 + 208 | 0; + return $58 | 0; + } + + function RigidBody_setSleepingThresholds_28int_2c_20float_2c_20float_29($0, $1, $2) { + $0 = $0 | 0; + $1 = Math_fround($1); + $2 = Math_fround($2); + var $5 = 0; + $5 = __stack_pointer - 16 | 0; + __stack_pointer = $5; + HEAP32[($5 + 12 | 0) >> 2] = $0; + HEAPF32[($5 + 8 | 0) >> 2] = $1; + HEAPF32[($5 + 4 | 0) >> 2] = $2; + HEAP32[$5 >> 2] = HEAP32[($5 + 12 | 0) >> 2] | 0; + btRigidBody__setSleepingThresholds_28float_2c_20float_29(HEAP32[$5 >> 2] | 0 | 0, Math_fround(Math_fround(HEAPF32[($5 + 8 | 0) >> 2])), Math_fround(Math_fround(HEAPF32[($5 + 4 | 0) >> 2]))); + __stack_pointer = $5 + 16 | 0; + return; + } + + function btRigidBody__setSleepingThresholds_28float_2c_20float_29($0, $1, $2) { + $0 = $0 | 0; + $1 = Math_fround($1); + $2 = Math_fround($2); + var $5 = 0, $6 = 0; + $5 = __stack_pointer - 16 | 0; + HEAP32[($5 + 12 | 0) >> 2] = $0; + HEAPF32[($5 + 8 | 0) >> 2] = $1; + HEAPF32[($5 + 4 | 0) >> 2] = $2; + $6 = HEAP32[($5 + 12 | 0) >> 2] | 0; + HEAPF32[($6 + 532 | 0) >> 2] = Math_fround(HEAPF32[($5 + 8 | 0) >> 2]); + HEAPF32[($6 + 536 | 0) >> 2] = Math_fround(HEAPF32[($5 + 4 | 0) >> 2]); + return; + } + + function RigidBody_getLinearSleepingThreshold_28int_29($0) { + $0 = $0 | 0; + var $3 = 0, $6 = Math_fround(0); + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + HEAP32[($3 + 8 | 0) >> 2] = HEAP32[($3 + 12 | 0) >> 2] | 0; + $6 = Math_fround(btRigidBody__getLinearSleepingThreshold_28_29_20const(HEAP32[($3 + 8 | 0) >> 2] | 0 | 0)); + __stack_pointer = $3 + 16 | 0; + return Math_fround($6); + } + + function btRigidBody__getLinearSleepingThreshold_28_29_20const($0) { + $0 = $0 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + return Math_fround(Math_fround(HEAPF32[((HEAP32[($3 + 12 | 0) >> 2] | 0) + 532 | 0) >> 2])); + } + + function RigidBody_setDamping_28int_2c_20float_2c_20float_29($0, $1, $2) { + $0 = $0 | 0; + $1 = Math_fround($1); + $2 = Math_fround($2); + var $5 = 0; + $5 = __stack_pointer - 16 | 0; + __stack_pointer = $5; + HEAP32[($5 + 12 | 0) >> 2] = $0; + HEAPF32[($5 + 8 | 0) >> 2] = $1; + HEAPF32[($5 + 4 | 0) >> 2] = $2; + HEAP32[$5 >> 2] = HEAP32[($5 + 12 | 0) >> 2] | 0; + btRigidBody__setDamping_28float_2c_20float_29(HEAP32[$5 >> 2] | 0 | 0, Math_fround(Math_fround(HEAPF32[($5 + 8 | 0) >> 2])), Math_fround(Math_fround(HEAPF32[($5 + 4 | 0) >> 2]))); + __stack_pointer = $5 + 16 | 0; + return; + } + + function RigidBody_setMass_28int_2c_20float_29($0, $1) { + $0 = $0 | 0; + $1 = Math_fround($1); + var $4 = 0, $23 = 0, $44 = 0, $51 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4 = __stack_pointer - 48 | 0; + __stack_pointer = $4; + HEAP32[($4 + 44 | 0) >> 2] = $0; + HEAPF32[($4 + 40 | 0) >> 2] = $1; + HEAP32[($4 + 36 | 0) >> 2] = HEAP32[($4 + 44 | 0) >> 2] | 0; + HEAPF32[($4 + 16 | 0) >> 2] = Math_fround(1.6666666269302368); + HEAPF32[($4 + 12 | 0) >> 2] = Math_fround(1.6666666269302368); + HEAPF32[($4 + 8 | 0) >> 2] = Math_fround(1.6666666269302368); + btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($4 + 20 | 0 | 0, $4 + 16 | 0 | 0, $4 + 12 | 0 | 0, $4 + 8 | 0 | 0) | 0; + (wasm2js_i32$0 = $4, wasm2js_i32$1 = btRigidBody__getCollisionShape_28_29(HEAP32[($4 + 36 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + $23 = HEAP32[($4 + 4 | 0) >> 2] | 0; + label$1 : { + if (!(strcmp(FUNCTION_TABLE[HEAP32[((HEAP32[$23 >> 2] | 0) + 36 | 0) >> 2] | 0 | 0]($23) | 0 | 0, GOT_data_internal___memory_base + 65654 | 0 | 0) | 0)) { + break label$1 + } + label$2 : { + label$3 : { + if (!((btCollisionShape__isCompound_28_29_20const(HEAP32[($4 + 4 | 0) >> 2] | 0 | 0) | 0) & 1 | 0)) { + break label$3 + } + HEAP32[$4 >> 2] = HEAP32[($4 + 4 | 0) >> 2] | 0; + label$4 : { + if (!((btCompoundShape__getNumChildShapes_28_29_20const(HEAP32[$4 >> 2] | 0 | 0) | 0 | 0) > (0 | 0) & 1 | 0)) { + break label$4 + } + $44 = HEAP32[$4 >> 2] | 0; + FUNCTION_TABLE[HEAP32[((HEAP32[$44 >> 2] | 0) + 32 | 0) >> 2] | 0 | 0]($44, Math_fround(HEAPF32[($4 + 40 | 0) >> 2]), $4 + 20 | 0); + } + break label$2; + } + $51 = HEAP32[($4 + 4 | 0) >> 2] | 0; + FUNCTION_TABLE[HEAP32[((HEAP32[$51 >> 2] | 0) + 32 | 0) >> 2] | 0 | 0]($51, Math_fround(HEAPF32[($4 + 40 | 0) >> 2]), $4 + 20 | 0); + } + } + btRigidBody__setMassProps_28float_2c_20btVector3_20const__29(HEAP32[($4 + 36 | 0) >> 2] | 0 | 0, Math_fround(Math_fround(HEAPF32[($4 + 40 | 0) >> 2])), $4 + 20 | 0 | 0); + __stack_pointer = $4 + 48 | 0; + return; + } + + function btRigidBody__getCollisionShape_28_29($0) { + $0 = $0 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + return HEAP32[((HEAP32[($3 + 12 | 0) >> 2] | 0) + 192 | 0) >> 2] | 0 | 0; + } + + function RigidBody_setMassProps_28int_2c_20float_2c_20int_29($0, $1, $2) { + $0 = $0 | 0; + $1 = Math_fround($1); + $2 = $2 | 0; + var $5 = 0; + $5 = __stack_pointer - 32 | 0; + __stack_pointer = $5; + HEAP32[($5 + 28 | 0) >> 2] = $0; + HEAPF32[($5 + 24 | 0) >> 2] = $1; + HEAP32[($5 + 20 | 0) >> 2] = $2; + HEAP32[($5 + 16 | 0) >> 2] = HEAP32[($5 + 28 | 0) >> 2] | 0; + HEAP32[($5 + 12 | 0) >> 2] = HEAP32[($5 + 20 | 0) >> 2] | 0; + btRigidBody__setMassProps_28float_2c_20btVector3_20const__29(HEAP32[($5 + 16 | 0) >> 2] | 0 | 0, Math_fround(Math_fround(HEAPF32[($5 + 24 | 0) >> 2])), HEAP32[($5 + 12 | 0) >> 2] | 0 | 0); + __stack_pointer = $5 + 32 | 0; + return; + } + + function RigidBody_setLinearFactor_28int_2c_20int_29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0; + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + HEAP32[($4 + 4 | 0) >> 2] = HEAP32[($4 + 12 | 0) >> 2] | 0; + btRigidBody__setLinearFactor_28btVector3_20const__29(HEAP32[($4 + 4 | 0) >> 2] | 0 | 0, HEAP32[($4 + 8 | 0) >> 2] | 0 | 0); + __stack_pointer = $4 + 16 | 0; + return; + } + + function btRigidBody__setLinearFactor_28btVector3_20const__29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $4 = 0, i64toi32_i32$2 = 0, $5 = 0, $8 = 0, $10 = 0, $22 = 0, $24 = 0, $51 = 0, $61 = 0, $81 = 0, $94 = 0; + $4 = __stack_pointer - 32 | 0; + __stack_pointer = $4; + HEAP32[($4 + 28 | 0) >> 2] = $0; + HEAP32[($4 + 24 | 0) >> 2] = $1; + $5 = HEAP32[($4 + 28 | 0) >> 2] | 0; + $8 = $5 + 408 | 0; + i64toi32_i32$2 = HEAP32[($4 + 24 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $51 = i64toi32_i32$0; + i64toi32_i32$0 = $8; + HEAP32[i64toi32_i32$0 >> 2] = $51; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $10 = 8; + i64toi32_i32$2 = i64toi32_i32$2 + $10 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $61 = i64toi32_i32$1; + i64toi32_i32$1 = $8 + $10 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $61; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + operator__28btVector3_20const__2c_20float_20const__29($4 + 8 | 0 | 0, $5 + 408 | 0 | 0, $5 + 404 | 0 | 0); + $22 = $5 + 620 | 0; + i64toi32_i32$2 = $4; + i64toi32_i32$0 = HEAP32[($4 + 8 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($4 + 12 | 0) >> 2] | 0; + $81 = i64toi32_i32$0; + i64toi32_i32$0 = $22; + HEAP32[i64toi32_i32$0 >> 2] = $81; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $24 = 8; + i64toi32_i32$2 = ($4 + 8 | 0) + $24 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $94 = i64toi32_i32$1; + i64toi32_i32$1 = $22 + $24 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $94; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + __stack_pointer = $4 + 32 | 0; + return; + } + + function operator__28btVector3_20const__2c_20float_20const__29($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $5 = 0; + $5 = __stack_pointer - 32 | 0; + __stack_pointer = $5; + HEAP32[($5 + 28 | 0) >> 2] = $1; + HEAP32[($5 + 24 | 0) >> 2] = $2; + HEAPF32[($5 + 20 | 0) >> 2] = Math_fround(Math_fround(HEAPF32[(HEAP32[($5 + 28 | 0) >> 2] | 0) >> 2]) * Math_fround(HEAPF32[(HEAP32[($5 + 24 | 0) >> 2] | 0) >> 2])); + HEAPF32[($5 + 16 | 0) >> 2] = Math_fround(Math_fround(HEAPF32[((HEAP32[($5 + 28 | 0) >> 2] | 0) + 4 | 0) >> 2]) * Math_fround(HEAPF32[(HEAP32[($5 + 24 | 0) >> 2] | 0) >> 2])); + HEAPF32[($5 + 12 | 0) >> 2] = Math_fround(Math_fround(HEAPF32[((HEAP32[($5 + 28 | 0) >> 2] | 0) + 8 | 0) >> 2]) * Math_fround(HEAPF32[(HEAP32[($5 + 24 | 0) >> 2] | 0) >> 2])); + btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($0 | 0, $5 + 20 | 0 | 0, $5 + 16 | 0 | 0, $5 + 12 | 0 | 0) | 0; + __stack_pointer = $5 + 32 | 0; + return; + } + + function RigidBody_setAngularFactor_28int_2c_20int_29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0; + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + HEAP32[($4 + 4 | 0) >> 2] = HEAP32[($4 + 12 | 0) >> 2] | 0; + btRigidBody__setAngularFactor_28btVector3_20const__29(HEAP32[($4 + 4 | 0) >> 2] | 0 | 0, HEAP32[($4 + 8 | 0) >> 2] | 0 | 0); + __stack_pointer = $4 + 16 | 0; + return; + } + + function btRigidBody__setAngularFactor_28btVector3_20const__29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var i64toi32_i32$2 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $4 = 0, $5 = 0, $11 = 0, $13 = 0, $42 = 0, $52 = 0; + $4 = __stack_pointer - 16 | 0; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; + HEAP32[($5 + 304 | 0) >> 2] = (HEAP32[($5 + 304 | 0) >> 2] | 0) + 1 | 0; + $11 = $5 + 604 | 0; + i64toi32_i32$2 = HEAP32[($4 + 8 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $42 = i64toi32_i32$0; + i64toi32_i32$0 = $11; + HEAP32[i64toi32_i32$0 >> 2] = $42; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $13 = 8; + i64toi32_i32$2 = i64toi32_i32$2 + $13 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $52 = i64toi32_i32$1; + i64toi32_i32$1 = $11 + $13 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $52; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + return; + } + + function RigidBody_getLinearVelocity_28int_29($0) { + $0 = $0 | 0; + var $3 = 0, $6 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + HEAP32[($3 + 8 | 0) >> 2] = HEAP32[($3 + 12 | 0) >> 2] | 0; + $6 = btRigidBody__getLinearVelocity_28_29_20const(HEAP32[($3 + 8 | 0) >> 2] | 0 | 0) | 0; + __stack_pointer = $3 + 16 | 0; + return $6 | 0; + } + + function btRigidBody__getLinearVelocity_28_29_20const($0) { + $0 = $0 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + return (HEAP32[($3 + 12 | 0) >> 2] | 0) + 372 | 0 | 0; + } + + function RigidBody_getAngularVelocity_28int_29($0) { + $0 = $0 | 0; + var $3 = 0, $6 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + HEAP32[($3 + 8 | 0) >> 2] = HEAP32[($3 + 12 | 0) >> 2] | 0; + $6 = btRigidBody__getAngularVelocity_28_29_20const(HEAP32[($3 + 8 | 0) >> 2] | 0 | 0) | 0; + __stack_pointer = $3 + 16 | 0; + return $6 | 0; + } + + function btRigidBody__getAngularVelocity_28_29_20const($0) { + $0 = $0 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + return (HEAP32[($3 + 12 | 0) >> 2] | 0) + 388 | 0 | 0; + } + + function RigidBody_setLinearVelocity_28int_2c_20int_29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0; + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + HEAP32[($4 + 4 | 0) >> 2] = HEAP32[($4 + 12 | 0) >> 2] | 0; + btRigidBody__setLinearVelocity_28btVector3_20const__29(HEAP32[($4 + 4 | 0) >> 2] | 0 | 0, HEAP32[($4 + 8 | 0) >> 2] | 0 | 0); + __stack_pointer = $4 + 16 | 0; + return; + } + + function btRigidBody__setLinearVelocity_28btVector3_20const__29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var i64toi32_i32$2 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $4 = 0, $5 = 0, $11 = 0, $13 = 0, $42 = 0, $52 = 0; + $4 = __stack_pointer - 16 | 0; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; + HEAP32[($5 + 304 | 0) >> 2] = (HEAP32[($5 + 304 | 0) >> 2] | 0) + 1 | 0; + $11 = $5 + 372 | 0; + i64toi32_i32$2 = HEAP32[($4 + 8 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $42 = i64toi32_i32$0; + i64toi32_i32$0 = $11; + HEAP32[i64toi32_i32$0 >> 2] = $42; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $13 = 8; + i64toi32_i32$2 = i64toi32_i32$2 + $13 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $52 = i64toi32_i32$1; + i64toi32_i32$1 = $11 + $13 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $52; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + return; + } + + function RigidBody_setAngularVelocity_28int_2c_20int_29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0; + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + HEAP32[($4 + 4 | 0) >> 2] = HEAP32[($4 + 12 | 0) >> 2] | 0; + btRigidBody__setAngularVelocity_28btVector3_20const__29(HEAP32[($4 + 4 | 0) >> 2] | 0 | 0, HEAP32[($4 + 8 | 0) >> 2] | 0 | 0); + __stack_pointer = $4 + 16 | 0; + return; + } + + function btRigidBody__setAngularVelocity_28btVector3_20const__29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var i64toi32_i32$2 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $4 = 0, $5 = 0, $11 = 0, $13 = 0, $42 = 0, $52 = 0; + $4 = __stack_pointer - 16 | 0; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; + HEAP32[($5 + 304 | 0) >> 2] = (HEAP32[($5 + 304 | 0) >> 2] | 0) + 1 | 0; + $11 = $5 + 388 | 0; + i64toi32_i32$2 = HEAP32[($4 + 8 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $42 = i64toi32_i32$0; + i64toi32_i32$0 = $11; + HEAP32[i64toi32_i32$0 >> 2] = $42; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $13 = 8; + i64toi32_i32$2 = i64toi32_i32$2 + $13 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $52 = i64toi32_i32$1; + i64toi32_i32$1 = $11 + $13 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $52; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + return; + } + + function RigidBody_setGravity_28int_2c_20int_29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0; + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + HEAP32[($4 + 4 | 0) >> 2] = HEAP32[($4 + 12 | 0) >> 2] | 0; + btRigidBody__setGravity_28btVector3_20const__29(HEAP32[($4 + 4 | 0) >> 2] | 0 | 0, HEAP32[($4 + 8 | 0) >> 2] | 0 | 0); + __stack_pointer = $4 + 16 | 0; + return; + } + + function RigidBody_applyTorque_28int_2c_20int_29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0; + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + HEAP32[($4 + 4 | 0) >> 2] = HEAP32[($4 + 12 | 0) >> 2] | 0; + btRigidBody__applyTorque_28btVector3_20const__29(HEAP32[($4 + 4 | 0) >> 2] | 0 | 0, HEAP32[($4 + 8 | 0) >> 2] | 0 | 0); + __stack_pointer = $4 + 16 | 0; + return; + } + + function btRigidBody__applyTorque_28btVector3_20const__29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, $5 = 0; + $4 = __stack_pointer - 32 | 0; + __stack_pointer = $4; + HEAP32[($4 + 28 | 0) >> 2] = $0; + HEAP32[($4 + 24 | 0) >> 2] = $1; + $5 = HEAP32[($4 + 28 | 0) >> 2] | 0; + operator__28btVector3_20const__2c_20btVector3_20const__29_1($4 + 8 | 0 | 0, HEAP32[($4 + 24 | 0) >> 2] | 0 | 0, $5 + 604 | 0 | 0); + btVector3__operator___28btVector3_20const__29_1($5 + 488 | 0 | 0, $4 + 8 | 0 | 0) | 0; + __stack_pointer = $4 + 32 | 0; + return; + } + + function btVector3__operator___28btVector3_20const__29_1($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $5 = 0, $4 = 0; + $4 = __stack_pointer - 16 | 0; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; + HEAPF32[$5 >> 2] = Math_fround(Math_fround(HEAPF32[$5 >> 2]) + Math_fround(HEAPF32[(HEAP32[($4 + 8 | 0) >> 2] | 0) >> 2])); + HEAPF32[($5 + 4 | 0) >> 2] = Math_fround(Math_fround(HEAPF32[($5 + 4 | 0) >> 2]) + Math_fround(HEAPF32[((HEAP32[($4 + 8 | 0) >> 2] | 0) + 4 | 0) >> 2])); + HEAPF32[($5 + 8 | 0) >> 2] = Math_fround(Math_fround(HEAPF32[($5 + 8 | 0) >> 2]) + Math_fround(HEAPF32[((HEAP32[($4 + 8 | 0) >> 2] | 0) + 8 | 0) >> 2])); + return $5 | 0; + } + + function RigidBody_applyForce_28int_2c_20int_2c_20int_29($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $5 = 0; + $5 = __stack_pointer - 16 | 0; + __stack_pointer = $5; + HEAP32[($5 + 12 | 0) >> 2] = $0; + HEAP32[($5 + 8 | 0) >> 2] = $1; + HEAP32[($5 + 4 | 0) >> 2] = $2; + HEAP32[$5 >> 2] = HEAP32[($5 + 12 | 0) >> 2] | 0; + btRigidBody__applyForce_28btVector3_20const__2c_20btVector3_20const__29(HEAP32[$5 >> 2] | 0 | 0, HEAP32[($5 + 8 | 0) >> 2] | 0 | 0, HEAP32[($5 + 4 | 0) >> 2] | 0 | 0); + __stack_pointer = $5 + 16 | 0; + return; + } + + function btRigidBody__applyForce_28btVector3_20const__2c_20btVector3_20const__29($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $5 = 0, $6 = 0, $8 = 0; + $5 = __stack_pointer - 48 | 0; + __stack_pointer = $5; + HEAP32[($5 + 44 | 0) >> 2] = $0; + HEAP32[($5 + 40 | 0) >> 2] = $1; + HEAP32[($5 + 36 | 0) >> 2] = $2; + $6 = HEAP32[($5 + 44 | 0) >> 2] | 0; + btRigidBody__applyCentralForce_28btVector3_20const__29($6 | 0, HEAP32[($5 + 40 | 0) >> 2] | 0 | 0); + $8 = HEAP32[($5 + 36 | 0) >> 2] | 0; + operator__28btVector3_20const__2c_20btVector3_20const__29_1($5 + 4 | 0 | 0, HEAP32[($5 + 40 | 0) >> 2] | 0 | 0, $6 + 408 | 0 | 0); + btVector3__cross_28btVector3_20const__29_20const($5 + 20 | 0 | 0, $8 | 0, $5 + 4 | 0 | 0); + btRigidBody__applyTorque_28btVector3_20const__29($6 | 0, $5 + 20 | 0 | 0); + __stack_pointer = $5 + 48 | 0; + return; + } + + function btRigidBody__applyCentralForce_28btVector3_20const__29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, $5 = 0; + $4 = __stack_pointer - 32 | 0; + __stack_pointer = $4; + HEAP32[($4 + 28 | 0) >> 2] = $0; + HEAP32[($4 + 24 | 0) >> 2] = $1; + $5 = HEAP32[($4 + 28 | 0) >> 2] | 0; + operator__28btVector3_20const__2c_20btVector3_20const__29_1($4 + 8 | 0 | 0, HEAP32[($4 + 24 | 0) >> 2] | 0 | 0, $5 + 408 | 0 | 0); + btVector3__operator___28btVector3_20const__29_1($5 + 472 | 0 | 0, $4 + 8 | 0 | 0) | 0; + __stack_pointer = $4 + 32 | 0; + return; + } + + function btVector3__cross_28btVector3_20const__29_20const($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $5 = 0, $6 = 0; + $5 = __stack_pointer - 32 | 0; + __stack_pointer = $5; + HEAP32[($5 + 28 | 0) >> 2] = $1; + HEAP32[($5 + 24 | 0) >> 2] = $2; + $6 = HEAP32[($5 + 28 | 0) >> 2] | 0; + HEAPF32[($5 + 20 | 0) >> 2] = Math_fround(Math_fround(Math_fround(HEAPF32[($6 + 4 | 0) >> 2]) * Math_fround(HEAPF32[((HEAP32[($5 + 24 | 0) >> 2] | 0) + 8 | 0) >> 2])) + Math_fround(-Math_fround(Math_fround(HEAPF32[($6 + 8 | 0) >> 2]) * Math_fround(HEAPF32[((HEAP32[($5 + 24 | 0) >> 2] | 0) + 4 | 0) >> 2])))); + HEAPF32[($5 + 16 | 0) >> 2] = Math_fround(Math_fround(Math_fround(HEAPF32[($6 + 8 | 0) >> 2]) * Math_fround(HEAPF32[(HEAP32[($5 + 24 | 0) >> 2] | 0) >> 2])) + Math_fround(-Math_fround(Math_fround(HEAPF32[$6 >> 2]) * Math_fround(HEAPF32[((HEAP32[($5 + 24 | 0) >> 2] | 0) + 8 | 0) >> 2])))); + HEAPF32[($5 + 12 | 0) >> 2] = Math_fround(Math_fround(Math_fround(HEAPF32[$6 >> 2]) * Math_fround(HEAPF32[((HEAP32[($5 + 24 | 0) >> 2] | 0) + 4 | 0) >> 2])) + Math_fround(-Math_fround(Math_fround(HEAPF32[($6 + 4 | 0) >> 2]) * Math_fround(HEAPF32[(HEAP32[($5 + 24 | 0) >> 2] | 0) >> 2])))); + btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($0 | 0, $5 + 20 | 0 | 0, $5 + 16 | 0 | 0, $5 + 12 | 0 | 0) | 0; + __stack_pointer = $5 + 32 | 0; + return; + } + + function btRigidBody__applyTorqueImpulse_28btVector3_20const__29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, $5 = 0; + $4 = __stack_pointer - 48 | 0; + __stack_pointer = $4; + HEAP32[($4 + 44 | 0) >> 2] = $0; + HEAP32[($4 + 40 | 0) >> 2] = $1; + $5 = HEAP32[($4 + 44 | 0) >> 2] | 0; + operator__28btMatrix3x3_20const__2c_20btVector3_20const__29($4 + 8 | 0 | 0, $5 + 324 | 0 | 0, HEAP32[($4 + 40 | 0) >> 2] | 0 | 0); + operator__28btVector3_20const__2c_20btVector3_20const__29_1($4 + 24 | 0 | 0, $4 + 8 | 0 | 0, $5 + 604 | 0 | 0); + btVector3__operator___28btVector3_20const__29_1($5 + 388 | 0 | 0, $4 + 24 | 0 | 0) | 0; + __stack_pointer = $4 + 48 | 0; + return; + } + + function operator__28btMatrix3x3_20const__2c_20btVector3_20const__29($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $5 = 0, wasm2js_i32$0 = 0, wasm2js_f32$0 = Math_fround(0); + $5 = __stack_pointer - 32 | 0; + __stack_pointer = $5; + HEAP32[($5 + 28 | 0) >> 2] = $1; + HEAP32[($5 + 24 | 0) >> 2] = $2; + (wasm2js_i32$0 = $5, wasm2js_f32$0 = Math_fround(btVector3__dot_28btVector3_20const__29_20const(btMatrix3x3__operator_5b_5d_28int_29_20const(HEAP32[($5 + 28 | 0) >> 2] | 0 | 0, 0 | 0) | 0 | 0, HEAP32[($5 + 24 | 0) >> 2] | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_f32$0; + (wasm2js_i32$0 = $5, wasm2js_f32$0 = Math_fround(btVector3__dot_28btVector3_20const__29_20const(btMatrix3x3__operator_5b_5d_28int_29_20const(HEAP32[($5 + 28 | 0) >> 2] | 0 | 0, 1 | 0) | 0 | 0, HEAP32[($5 + 24 | 0) >> 2] | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_f32$0; + (wasm2js_i32$0 = $5, wasm2js_f32$0 = Math_fround(btVector3__dot_28btVector3_20const__29_20const(btMatrix3x3__operator_5b_5d_28int_29_20const(HEAP32[($5 + 28 | 0) >> 2] | 0 | 0, 2 | 0) | 0 | 0, HEAP32[($5 + 24 | 0) >> 2] | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_f32$0; + btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($0 | 0, $5 + 20 | 0 | 0, $5 + 16 | 0 | 0, $5 + 12 | 0 | 0) | 0; + __stack_pointer = $5 + 32 | 0; + return; + } + + function RigidBody_applyImpulse_28int_2c_20int_2c_20int_29($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $5 = 0; + $5 = __stack_pointer - 16 | 0; + __stack_pointer = $5; + HEAP32[($5 + 12 | 0) >> 2] = $0; + HEAP32[($5 + 8 | 0) >> 2] = $1; + HEAP32[($5 + 4 | 0) >> 2] = $2; + HEAP32[$5 >> 2] = HEAP32[($5 + 12 | 0) >> 2] | 0; + btRigidBody__applyImpulse_28btVector3_20const__2c_20btVector3_20const__29(HEAP32[$5 >> 2] | 0 | 0, HEAP32[($5 + 8 | 0) >> 2] | 0 | 0, HEAP32[($5 + 4 | 0) >> 2] | 0 | 0); + __stack_pointer = $5 + 16 | 0; + return; + } + + function btRigidBody__applyImpulse_28btVector3_20const__2c_20btVector3_20const__29($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $5 = 0, $6 = 0, $23 = 0; + $5 = __stack_pointer - 48 | 0; + __stack_pointer = $5; + HEAP32[($5 + 44 | 0) >> 2] = $0; + HEAP32[($5 + 40 | 0) >> 2] = $1; + HEAP32[($5 + 36 | 0) >> 2] = $2; + $6 = HEAP32[($5 + 44 | 0) >> 2] | 0; + label$1 : { + if (!(Math_fround(HEAPF32[($6 + 404 | 0) >> 2]) != Math_fround(0 | 0) & 1 | 0)) { + break label$1 + } + btRigidBody__applyCentralImpulse_28btVector3_20const__29($6 | 0, HEAP32[($5 + 40 | 0) >> 2] | 0 | 0); + label$2 : { + if (!((btVector3__operator_20float__28_29($6 + 604 | 0 | 0) | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$2 + } + $23 = HEAP32[($5 + 36 | 0) >> 2] | 0; + operator__28btVector3_20const__2c_20btVector3_20const__29_1($5 + 4 | 0 | 0, HEAP32[($5 + 40 | 0) >> 2] | 0 | 0, $6 + 408 | 0 | 0); + btVector3__cross_28btVector3_20const__29_20const($5 + 20 | 0 | 0, $23 | 0, $5 + 4 | 0 | 0); + btRigidBody__applyTorqueImpulse_28btVector3_20const__29($6 | 0, $5 + 20 | 0 | 0); + } + } + __stack_pointer = $5 + 48 | 0; + return; + } + + function btRigidBody__applyCentralImpulse_28btVector3_20const__29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, $5 = 0; + $4 = __stack_pointer - 48 | 0; + __stack_pointer = $4; + HEAP32[($4 + 44 | 0) >> 2] = $0; + HEAP32[($4 + 40 | 0) >> 2] = $1; + $5 = HEAP32[($4 + 44 | 0) >> 2] | 0; + operator__28btVector3_20const__2c_20btVector3_20const__29_1($4 + 8 | 0 | 0, HEAP32[($4 + 40 | 0) >> 2] | 0 | 0, $5 + 408 | 0 | 0); + operator__28btVector3_20const__2c_20float_20const__29($4 + 24 | 0 | 0, $4 + 8 | 0 | 0, $5 + 404 | 0 | 0); + btVector3__operator___28btVector3_20const__29_1($5 + 372 | 0 | 0, $4 + 24 | 0 | 0) | 0; + __stack_pointer = $4 + 48 | 0; + return; + } + + function btRigidBody__getTotalForce_28_29_20const($0) { + $0 = $0 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + return (HEAP32[($3 + 12 | 0) >> 2] | 0) + 472 | 0 | 0; + } + + function btRigidBody__getTotalTorque_28_29_20const($0) { + $0 = $0 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + return (HEAP32[($3 + 12 | 0) >> 2] | 0) + 488 | 0 | 0; + } + + function RigidBody_getFlags_28int_29($0) { + $0 = $0 | 0; + var $3 = 0, $6 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + HEAP32[($3 + 8 | 0) >> 2] = HEAP32[($3 + 12 | 0) >> 2] | 0; + $6 = btRigidBody__getFlags_28_29_20const(HEAP32[($3 + 8 | 0) >> 2] | 0 | 0) | 0; + __stack_pointer = $3 + 16 | 0; + return $6 | 0; + } + + function btRigidBody__getFlags_28_29_20const($0) { + $0 = $0 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + return HEAP32[((HEAP32[($3 + 12 | 0) >> 2] | 0) + 564 | 0) >> 2] | 0 | 0; + } + + function RigidBody_setFlags_28int_2c_20int_29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0; + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + HEAP32[($4 + 4 | 0) >> 2] = HEAP32[($4 + 12 | 0) >> 2] | 0; + btRigidBody__setFlags_28int_29(HEAP32[($4 + 4 | 0) >> 2] | 0 | 0, HEAP32[($4 + 8 | 0) >> 2] | 0 | 0); + __stack_pointer = $4 + 16 | 0; + return; + } + + function btRigidBody__setFlags_28int_29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0; + $4 = __stack_pointer - 16 | 0; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + HEAP32[((HEAP32[($4 + 12 | 0) >> 2] | 0) + 564 | 0) >> 2] = HEAP32[($4 + 8 | 0) >> 2] | 0; + return; + } + + function RigidBody_clearForces_28int_29($0) { + $0 = $0 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + HEAP32[($3 + 8 | 0) >> 2] = HEAP32[($3 + 12 | 0) >> 2] | 0; + btRigidBody__clearForces_28_29(HEAP32[($3 + 8 | 0) >> 2] | 0 | 0); + __stack_pointer = $3 + 16 | 0; + return; + } + + function btRigidBody__clearForces_28_29($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 32 | 0; + __stack_pointer = $3; + HEAP32[($3 + 28 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 28 | 0) >> 2] | 0; + HEAPF32[($3 + 24 | 0) >> 2] = Math_fround(0 | 0); + HEAPF32[($3 + 20 | 0) >> 2] = Math_fround(0 | 0); + HEAPF32[($3 + 16 | 0) >> 2] = Math_fround(0 | 0); + btVector3__setValue_28float_20const__2c_20float_20const__2c_20float_20const__29($4 + 472 | 0 | 0, $3 + 24 | 0 | 0, $3 + 20 | 0 | 0, $3 + 16 | 0 | 0); + HEAPF32[($3 + 12 | 0) >> 2] = Math_fround(0 | 0); + HEAPF32[($3 + 8 | 0) >> 2] = Math_fround(0 | 0); + HEAPF32[($3 + 4 | 0) >> 2] = Math_fround(0 | 0); + btVector3__setValue_28float_20const__2c_20float_20const__2c_20float_20const__29($4 + 488 | 0 | 0, $3 + 12 | 0 | 0, $3 + 8 | 0 | 0, $3 + 4 | 0 | 0); + __stack_pointer = $3 + 32 | 0; + return; + } + + function RigidBody_wantsSleeping_28int_29($0) { + $0 = $0 | 0; + var $3 = 0, $8 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + HEAP32[($3 + 8 | 0) >> 2] = HEAP32[($3 + 12 | 0) >> 2] | 0; + $8 = (btRigidBody__wantsSleeping_28_29(HEAP32[($3 + 8 | 0) >> 2] | 0 | 0) | 0) & 1 | 0; + __stack_pointer = $3 + 16 | 0; + return $8 | 0; + } + + function btRigidBody__wantsSleeping_28_29($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0, $60 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 8 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 8 | 0) >> 2] | 0; + label$1 : { + label$2 : { + if (!((btCollisionObject__getActivationState_28_29_20const($4 | 0) | 0 | 0) == (4 | 0) & 1 | 0)) { + break label$2 + } + HEAP8[($3 + 15 | 0) >> 0] = 0 & 1 | 0; + break label$1; + } + label$3 : { + label$4 : { + if ((HEAPU8[GOT_data_internal_gDisableDeactivation >> 0] | 0) & 1 | 0) { + break label$4 + } + if (!(Math_fround(HEAPF32[GOT_data_internal_gDeactivationTime >> 2]) == Math_fround(0 | 0) & 1 | 0)) { + break label$3 + } + } + HEAP8[($3 + 15 | 0) >> 0] = 0 & 1 | 0; + break label$1; + } + label$5 : { + label$6 : { + if ((btCollisionObject__getActivationState_28_29_20const($4 | 0) | 0 | 0) == (2 | 0) & 1 | 0) { + break label$6 + } + if (!((btCollisionObject__getActivationState_28_29_20const($4 | 0) | 0 | 0) == (3 | 0) & 1 | 0)) { + break label$5 + } + } + HEAP8[($3 + 15 | 0) >> 0] = 1 & 1 | 0; + break label$1; + } + label$7 : { + if (!(Math_fround(HEAPF32[($4 + 224 | 0) >> 2]) > Math_fround(HEAPF32[GOT_data_internal_gDeactivationTime >> 2]) & 1 | 0)) { + break label$7 + } + HEAP8[($3 + 15 | 0) >> 0] = 1 & 1 | 0; + break label$1; + } + HEAP8[($3 + 15 | 0) >> 0] = 0 & 1 | 0; + } + $60 = (HEAPU8[($3 + 15 | 0) >> 0] | 0) & 1 | 0; + __stack_pointer = $3 + 16 | 0; + return $60 | 0; + } + + function RigidBody_clearState_28int_29($0) { + $0 = $0 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + HEAP32[($3 + 8 | 0) >> 2] = HEAP32[($3 + 12 | 0) >> 2] | 0; + btRigidBody__clearState_28_29(HEAP32[($3 + 8 | 0) >> 2] | 0 | 0); + __stack_pointer = $3 + 16 | 0; + return; + } + + function btRigidBody__clearState_28_29($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 64 | 0; + __stack_pointer = $3; + HEAP32[($3 + 60 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 60 | 0) >> 2] | 0; + HEAPF32[($3 + 56 | 0) >> 2] = Math_fround(0 | 0); + HEAPF32[($3 + 52 | 0) >> 2] = Math_fround(0 | 0); + HEAPF32[($3 + 48 | 0) >> 2] = Math_fround(0 | 0); + btVector3__setValue_28float_20const__2c_20float_20const__2c_20float_20const__29($4 + 372 | 0 | 0, $3 + 56 | 0 | 0, $3 + 52 | 0 | 0, $3 + 48 | 0 | 0); + HEAPF32[($3 + 44 | 0) >> 2] = Math_fround(0 | 0); + HEAPF32[($3 + 40 | 0) >> 2] = Math_fround(0 | 0); + HEAPF32[($3 + 36 | 0) >> 2] = Math_fround(0 | 0); + btVector3__setValue_28float_20const__2c_20float_20const__2c_20float_20const__29($4 + 388 | 0 | 0, $3 + 44 | 0 | 0, $3 + 40 | 0 | 0, $3 + 36 | 0 | 0); + HEAPF32[($3 + 32 | 0) >> 2] = Math_fround(0 | 0); + HEAPF32[($3 + 28 | 0) >> 2] = Math_fround(0 | 0); + HEAPF32[($3 + 24 | 0) >> 2] = Math_fround(0 | 0); + btVector3__setValue_28float_20const__2c_20float_20const__2c_20float_20const__29($4 + 472 | 0 | 0, $3 + 32 | 0 | 0, $3 + 28 | 0 | 0, $3 + 24 | 0 | 0); + HEAPF32[($3 + 20 | 0) >> 2] = Math_fround(0 | 0); + HEAPF32[($3 + 16 | 0) >> 2] = Math_fround(0 | 0); + HEAPF32[($3 + 12 | 0) >> 2] = Math_fround(0 | 0); + btVector3__setValue_28float_20const__2c_20float_20const__2c_20float_20const__29($4 + 488 | 0 | 0, $3 + 20 | 0 | 0, $3 + 16 | 0 | 0, $3 + 12 | 0 | 0); + __stack_pointer = $3 + 64 | 0; + return; + } + + function RigidBody_getMotionState_28int_29($0) { + $0 = $0 | 0; + var $3 = 0, $6 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + HEAP32[($3 + 8 | 0) >> 2] = HEAP32[($3 + 12 | 0) >> 2] | 0; + $6 = btRigidBody__getMotionState_28_29(HEAP32[($3 + 8 | 0) >> 2] | 0 | 0) | 0; + __stack_pointer = $3 + 16 | 0; + return $6 | 0; + } + + function btRigidBody__getMotionState_28_29($0) { + $0 = $0 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + return HEAP32[((HEAP32[($3 + 12 | 0) >> 2] | 0) + 540 | 0) >> 2] | 0 | 0; + } + + function RigidBody_getWorldTransform_28int_2c_20int_29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, $9 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4 = __stack_pointer - 32 | 0; + __stack_pointer = $4; + HEAP32[($4 + 28 | 0) >> 2] = $0; + HEAP32[($4 + 24 | 0) >> 2] = $1; + HEAP32[($4 + 20 | 0) >> 2] = HEAP32[($4 + 28 | 0) >> 2] | 0; + (wasm2js_i32$0 = $4, wasm2js_i32$1 = btRigidBody__getMotionState_28_29(HEAP32[($4 + 20 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($4 + 12 | 0) >> 2] = HEAP32[($4 + 24 | 0) >> 2] | 0; + $9 = HEAP32[($4 + 16 | 0) >> 2] | 0; + FUNCTION_TABLE[HEAP32[((HEAP32[$9 >> 2] | 0) + 8 | 0) >> 2] | 0 | 0]($9, HEAP32[($4 + 12 | 0) >> 2] | 0); + __stack_pointer = $4 + 32 | 0; + return; + } + + function __cxx_global_var_init_12() { + EmBindInit_bullet__EmBindInit_bullet_28_29(GOT_data_internal___memory_base + 113880 | 0 | 0) | 0; + return; + } + + function EmBindInit_bullet__EmBindInit_bullet_28_29($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + emscripten__internal__InitFunc__InitFunc_28void_20_28__29_28_29_29($4 | 0, GOT_data_internal___table_base + 7 | 0 | 0) | 0; + __stack_pointer = $3 + 16 | 0; + return $4 | 0; + } + + function embind_init_bullet_28_29() { + var $2 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $6 = 0, $29 = 0, $125 = 0, $105 = 0, $109 = 0, $127 = 0, $129 = 0, $167 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $17 = 0, $18 = 0, $20 = 0, $21 = 0, $23 = 0, $24 = 0, $25 = 0, $1388 = 0, $32 = 0, $33 = 0, $38 = 0, $39 = 0, $40 = 0, $1422 = 0, $1435 = 0, $47 = 0, $48 = 0, $51 = 0, $52 = 0, $53 = 0, $1466 = 0, $1479 = 0, $60 = 0, $61 = 0, $64 = 0, $65 = 0, $66 = 0, $1510 = 0, $73 = 0, $74 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $86 = 0, $87 = 0, $89 = 0, $90 = 0, $92 = 0, $93 = 0, $94 = 0, $101 = 0, $111 = 0, $113 = 0, $114 = 0, $117 = 0, $120 = 0, $130 = 0, $131 = 0, $134 = 0, $137 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0, $155 = 0, $156 = 0, $158 = 0, $159 = 0, $161 = 0, $162 = 0, $163 = 0, $1782 = 0, $169 = 0, $170 = 0, $175 = 0, $176 = 0, $177 = 0, $1816 = 0, $184 = 0, $185 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $197 = 0, $198 = 0, $200 = 0, $201 = 0, $203 = 0, $204 = 0, $205 = 0, $212 = 0, $218 = 0, $220 = 0, $221 = 0, $224 = 0, $227 = 0, $233 = 0, $234 = 0, $237 = 0, $240 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $258 = 0, $259 = 0, $261 = 0, $262 = 0, $264 = 0, $265 = 0, $266 = 0, $2078 = 0, $271 = 0, $272 = 0, $277 = 0, $278 = 0, $279 = 0, $2112 = 0, $286 = 0, $287 = 0, $294 = 0, $295 = 0, $296 = 0, $297 = 0, $299 = 0, $300 = 0, $302 = 0, $303 = 0, $305 = 0, $306 = 0, $307 = 0, $314 = 0, $320 = 0, $322 = 0, $323 = 0, $326 = 0, $329 = 0, $335 = 0, $336 = 0, $340 = 0, $344 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $2 = __stack_pointer - 960 | 0; + __stack_pointer = $2; + HEAP32[($2 + 356 | 0) >> 2] = $2 + 335 | 0; + $6 = GOT_data_internal___memory_base; + HEAP32[($2 + 352 | 0) >> 2] = $6 + 67306 | 0; + void_20emscripten__internal__NoBaseClass__verify_btDebugDraw__28_29(); + HEAP32[($2 + 348 | 0) >> 2] = GOT_func_internal_void_20const__20emscripten__internal__getActualType_btDebugDraw__28btDebugDraw__29; + (wasm2js_i32$0 = $2, wasm2js_i32$1 = void_20_28_emscripten__internal__NoBaseClass__getUpcaster_btDebugDraw__28_29_29_28_29() | 0), HEAP32[(wasm2js_i32$0 + 344 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $2, wasm2js_i32$1 = void_20_28_emscripten__internal__NoBaseClass__getDowncaster_btDebugDraw__28_29_29_28_29() | 0), HEAP32[(wasm2js_i32$0 + 340 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($2 + 336 | 0) >> 2] = GOT_func_internal_void_20emscripten__internal__raw_destructor_btDebugDraw__28btDebugDraw__29; + $12 = emscripten__internal__TypeID_btDebugDraw_2c_20void___get_28_29() | 0; + $13 = emscripten__internal__TypeID_emscripten__internal__AllowedRawPointer_btDebugDraw__2c_20void___get_28_29() | 0; + $14 = emscripten__internal__TypeID_emscripten__internal__AllowedRawPointer_btDebugDraw_20const__2c_20void___get_28_29() | 0; + $15 = emscripten__internal__NoBaseClass__get_28_29() | 0; + HEAP32[($2 + 612 | 0) >> 2] = HEAP32[($2 + 348 | 0) >> 2] | 0; + $17 = char_20const__20emscripten__internal__getGenericSignature_int_2c_20int__28_29() | 0; + $18 = HEAP32[($2 + 348 | 0) >> 2] | 0; + HEAP32[($2 + 636 | 0) >> 2] = HEAP32[($2 + 344 | 0) >> 2] | 0; + $20 = char_20const__20emscripten__internal__getGenericSignature_void__28_29() | 0; + $21 = HEAP32[($2 + 344 | 0) >> 2] | 0; + HEAP32[($2 + 632 | 0) >> 2] = HEAP32[($2 + 340 | 0) >> 2] | 0; + $23 = char_20const__20emscripten__internal__getGenericSignature_void__28_29() | 0; + $24 = HEAP32[($2 + 340 | 0) >> 2] | 0; + $25 = HEAP32[($2 + 352 | 0) >> 2] | 0; + HEAP32[($2 + 640 | 0) >> 2] = HEAP32[($2 + 336 | 0) >> 2] | 0; + _embind_register_class($12 | 0, $13 | 0, $14 | 0, $15 | 0, $17 | 0, $18 | 0, $20 | 0, $21 | 0, $23 | 0, $24 | 0, $25 | 0, char_20const__20emscripten__internal__getGenericSignature_void_2c_20int__28_29() | 0 | 0, HEAP32[($2 + 336 | 0) >> 2] | 0 | 0); + $29 = 1; + HEAP32[($2 + 328 | 0) >> 2] = $29; + HEAP32[($2 + 324 | 0) >> 2] = 100; + i64toi32_i32$0 = HEAP32[($2 + 324 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($2 + 328 | 0) >> 2] | 0; + $1388 = i64toi32_i32$0; + i64toi32_i32$0 = $2; + HEAP32[($2 + 392 | 0) >> 2] = $1388; + HEAP32[($2 + 396 | 0) >> 2] = i64toi32_i32$1; + $32 = HEAP32[($2 + 392 | 0) >> 2] | 0; + $33 = HEAP32[($2 + 396 | 0) >> 2] | 0; + HEAP32[($2 + 420 | 0) >> 2] = $2 + 335 | 0; + HEAP32[($2 + 416 | 0) >> 2] = $6 + 70055 | 0; + HEAP32[($2 + 412 | 0) >> 2] = $33; + HEAP32[($2 + 408 | 0) >> 2] = $32; + $38 = HEAP32[($2 + 420 | 0) >> 2] | 0; + $39 = HEAP32[($2 + 416 | 0) >> 2] | 0; + $40 = HEAP32[($2 + 408 | 0) >> 2] | 0; + HEAP32[($2 + 404 | 0) >> 2] = HEAP32[($2 + 412 | 0) >> 2] | 0; + HEAP32[($2 + 400 | 0) >> 2] = $40; + i64toi32_i32$1 = HEAP32[($2 + 400 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($2 + 404 | 0) >> 2] | 0; + $1422 = i64toi32_i32$1; + i64toi32_i32$1 = $2; + HEAP32[($2 + 40 | 0) >> 2] = $1422; + HEAP32[($2 + 44 | 0) >> 2] = i64toi32_i32$0; + void_20emscripten__internal__RegisterClassMethod_void_20_28btIDebugDraw____29_28_29___invoke_btDebugDraw__28char_20const__2c_20void_20_28btIDebugDraw____29_28_29_29($39 | 0, $2 + 40 | 0 | 0); + HEAP32[($2 + 320 | 0) >> 2] = $29; + HEAP32[($2 + 316 | 0) >> 2] = 104; + i64toi32_i32$0 = HEAP32[($2 + 316 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($2 + 320 | 0) >> 2] | 0; + $1435 = i64toi32_i32$0; + i64toi32_i32$0 = $2; + HEAP32[($2 + 360 | 0) >> 2] = $1435; + HEAP32[($2 + 364 | 0) >> 2] = i64toi32_i32$1; + $47 = HEAP32[($2 + 360 | 0) >> 2] | 0; + $48 = HEAP32[($2 + 364 | 0) >> 2] | 0; + HEAP32[($2 + 388 | 0) >> 2] = $38; + HEAP32[($2 + 384 | 0) >> 2] = $6 + 70066 | 0; + HEAP32[($2 + 380 | 0) >> 2] = $48; + HEAP32[($2 + 376 | 0) >> 2] = $47; + $51 = HEAP32[($2 + 388 | 0) >> 2] | 0; + $52 = HEAP32[($2 + 384 | 0) >> 2] | 0; + $53 = HEAP32[($2 + 376 | 0) >> 2] | 0; + HEAP32[($2 + 372 | 0) >> 2] = HEAP32[($2 + 380 | 0) >> 2] | 0; + HEAP32[($2 + 368 | 0) >> 2] = $53; + i64toi32_i32$1 = HEAP32[($2 + 368 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($2 + 372 | 0) >> 2] | 0; + $1466 = i64toi32_i32$1; + i64toi32_i32$1 = $2; + HEAP32[($2 + 32 | 0) >> 2] = $1466; + HEAP32[($2 + 36 | 0) >> 2] = i64toi32_i32$0; + void_20emscripten__internal__RegisterClassMethod_void_20_28btIDebugDraw____29_28_29___invoke_btDebugDraw__28char_20const__2c_20void_20_28btIDebugDraw____29_28_29_29($52 | 0, $2 + 32 | 0 | 0); + HEAP32[($2 + 312 | 0) >> 2] = $29; + HEAP32[($2 + 308 | 0) >> 2] = 108; + i64toi32_i32$0 = HEAP32[($2 + 308 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($2 + 312 | 0) >> 2] | 0; + $1479 = i64toi32_i32$0; + i64toi32_i32$0 = $2; + HEAP32[($2 + 424 | 0) >> 2] = $1479; + HEAP32[($2 + 428 | 0) >> 2] = i64toi32_i32$1; + $60 = HEAP32[($2 + 424 | 0) >> 2] | 0; + $61 = HEAP32[($2 + 428 | 0) >> 2] | 0; + HEAP32[($2 + 456 | 0) >> 2] = $51; + HEAP32[($2 + 452 | 0) >> 2] = $6 + 81794 | 0; + HEAP32[($2 + 448 | 0) >> 2] = $61; + HEAP32[($2 + 444 | 0) >> 2] = $60; + $64 = HEAP32[($2 + 456 | 0) >> 2] | 0; + $65 = HEAP32[($2 + 452 | 0) >> 2] | 0; + $66 = HEAP32[($2 + 444 | 0) >> 2] | 0; + HEAP32[($2 + 440 | 0) >> 2] = HEAP32[($2 + 448 | 0) >> 2] | 0; + HEAP32[($2 + 436 | 0) >> 2] = $66; + i64toi32_i32$1 = HEAP32[($2 + 436 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($2 + 440 | 0) >> 2] | 0; + $1510 = i64toi32_i32$1; + i64toi32_i32$1 = $2; + HEAP32[($2 + 24 | 0) >> 2] = $1510; + HEAP32[($2 + 28 | 0) >> 2] = i64toi32_i32$0; + void_20emscripten__internal__RegisterClassMethod_void_20_28btDebugDraw____29_28int_2c_20int_2c_20int_29___invoke_btDebugDraw__28char_20const__2c_20void_20_28btDebugDraw____29_28int_2c_20int_2c_20int_29_29($65 | 0, $2 + 24 | 0 | 0); + HEAP32[($2 + 468 | 0) >> 2] = $64; + HEAP32[($2 + 464 | 0) >> 2] = $6 + 71171 | 0; + $73 = HEAP32[($2 + 468 | 0) >> 2] | 0; + $74 = HEAP32[($2 + 464 | 0) >> 2] | 0; + HEAP32[($2 + 664 | 0) >> 2] = $2 + 463 | 0; + HEAP32[($2 + 660 | 0) >> 2] = $74; + void_20emscripten__base_btDebugDraw___verify_btDebugDrawWrapper__28_29(); + HEAP32[($2 + 656 | 0) >> 2] = GOT_func_internal_void_20const__20emscripten__internal__getActualType_btDebugDrawWrapper__28btDebugDrawWrapper__29; + (wasm2js_i32$0 = $2, wasm2js_i32$1 = btDebugDraw__20_28_emscripten__base_btDebugDraw___getUpcaster_btDebugDrawWrapper__28_29_29_28btDebugDrawWrapper__29() | 0), HEAP32[(wasm2js_i32$0 + 652 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $2, wasm2js_i32$1 = btDebugDrawWrapper__20_28_emscripten__base_btDebugDraw___getDowncaster_btDebugDrawWrapper__28_29_29_28btDebugDraw__29() | 0), HEAP32[(wasm2js_i32$0 + 648 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($2 + 644 | 0) >> 2] = GOT_func_internal_void_20emscripten__internal__raw_destructor_btDebugDrawWrapper__28btDebugDrawWrapper__29; + $81 = emscripten__internal__TypeID_btDebugDrawWrapper_2c_20void___get_28_29() | 0; + $82 = emscripten__internal__TypeID_emscripten__internal__AllowedRawPointer_btDebugDrawWrapper__2c_20void___get_28_29() | 0; + $83 = emscripten__internal__TypeID_emscripten__internal__AllowedRawPointer_btDebugDrawWrapper_20const__2c_20void___get_28_29() | 0; + $84 = emscripten__base_btDebugDraw___get_28_29() | 0; + HEAP32[($2 + 720 | 0) >> 2] = HEAP32[($2 + 656 | 0) >> 2] | 0; + $86 = char_20const__20emscripten__internal__getGenericSignature_int_2c_20int__28_29() | 0; + $87 = HEAP32[($2 + 656 | 0) >> 2] | 0; + HEAP32[($2 + 724 | 0) >> 2] = HEAP32[($2 + 652 | 0) >> 2] | 0; + $89 = char_20const__20emscripten__internal__getGenericSignature_int_2c_20int__28_29() | 0; + $90 = HEAP32[($2 + 652 | 0) >> 2] | 0; + HEAP32[($2 + 728 | 0) >> 2] = HEAP32[($2 + 648 | 0) >> 2] | 0; + $92 = char_20const__20emscripten__internal__getGenericSignature_int_2c_20int__28_29() | 0; + $93 = HEAP32[($2 + 648 | 0) >> 2] | 0; + $94 = HEAP32[($2 + 660 | 0) >> 2] | 0; + HEAP32[($2 + 732 | 0) >> 2] = HEAP32[($2 + 644 | 0) >> 2] | 0; + _embind_register_class($81 | 0, $82 | 0, $83 | 0, $84 | 0, $86 | 0, $87 | 0, $89 | 0, $90 | 0, $92 | 0, $93 | 0, $94 | 0, char_20const__20emscripten__internal__getGenericSignature_void_2c_20int__28_29() | 0 | 0, HEAP32[($2 + 644 | 0) >> 2] | 0 | 0); + $101 = void_20_28_emscripten__select_overload_void_20_28btDebugDrawWrapper__29__28void_20_28__29_28btDebugDrawWrapper__29_29_29_28btDebugDrawWrapper__29(emscripten__class__btDebugDraw_2c_20emscripten__internal__NoBaseClass__20const__20emscripten__class__btDebugDraw_2c_20emscripten__internal__NoBaseClass___allow_subclass_btDebugDrawWrapper__28char_20const__2c_20emscripten__constructor___29_20const___lambda__28btDebugDrawWrapper__29__operator_20void_20_28__29_28btDebugDrawWrapper__29_28_29_20const($2 + 462 | 0 | 0) | 0 | 0) | 0; + HEAP32[($2 + 676 | 0) >> 2] = $2 + 463 | 0; + $105 = $6 + 76334 | 0; + HEAP32[($2 + 672 | 0) >> 2] = $105; + HEAP32[($2 + 668 | 0) >> 2] = $101; + void_20emscripten__internal__RegisterClassMethod_void_20_28__29_28btDebugDrawWrapper__29___invoke_btDebugDrawWrapper__28char_20const__2c_20void_20_28__29_28btDebugDrawWrapper__29_29(HEAP32[($2 + 672 | 0) >> 2] | 0 | 0, HEAP32[($2 + 668 | 0) >> 2] | 0 | 0); + HEAP32[($2 + 696 | 0) >> 2] = $73; + $109 = $6 + 67879 | 0; + HEAP32[($2 + 692 | 0) >> 2] = $109; + HEAP32[($2 + 688 | 0) >> 2] = GOT_func_internal_btDebugDrawWrapper__20emscripten__internal__wrapped_new_btDebugDrawWrapper__2c_20btDebugDrawWrapper_2c_20emscripten__val__28emscripten__val___29; + $111 = HEAP32[($2 + 696 | 0) >> 2] | 0; + HEAP32[($2 + 680 | 0) >> 2] = GOT_func_internal_emscripten__internal__Invoker_btDebugDrawWrapper__2c_20emscripten__val_____invoke_28btDebugDrawWrapper__20_28__29_28emscripten__val___29_2c_20emscripten___EM_VAL__29; + $113 = emscripten__internal__TypeID_btDebugDraw_2c_20void___get_28_29() | 0; + $114 = HEAP32[($2 + 692 | 0) >> 2] | 0; + $117 = emscripten__internal__WithPolicies_emscripten__allow_raw_pointer_emscripten__ret_val____ArgTypeList_btDebugDrawWrapper__2c_20emscripten__val_____getCount_28_29_20const($2 + 687 | 0 | 0) | 0; + $120 = emscripten__internal__WithPolicies_emscripten__allow_raw_pointer_emscripten__ret_val____ArgTypeList_btDebugDrawWrapper__2c_20emscripten__val_____getTypes_28_29_20const($2 + 687 | 0 | 0) | 0; + HEAP32[($2 + 736 | 0) >> 2] = HEAP32[($2 + 680 | 0) >> 2] | 0; + $125 = 0; + _embind_register_class_class_function($113 | 0, $114 | 0, $117 | 0, $120 | 0, char_20const__20emscripten__internal__getGenericSignature_int_2c_20int_2c_20int__28_29() | 0 | 0, HEAP32[($2 + 680 | 0) >> 2] | 0 | 0, HEAP32[($2 + 688 | 0) >> 2] | 0 | 0, $125 | 0); + HEAP32[($2 + 716 | 0) >> 2] = $111; + $127 = $6 + 82233 | 0; + HEAP32[($2 + 712 | 0) >> 2] = $127; + HEAP32[($2 + 708 | 0) >> 2] = GOT_func_internal_emscripten__val_20emscripten__internal__wrapped_extend_btDebugDrawWrapper__28std____2__basic_string_char_2c_20std____2__char_traits_char__2c_20std____2__allocator_char___20const__2c_20emscripten__val_20const__29; + $129 = GOT_func_internal_emscripten__internal__Invoker_emscripten__val_2c_20std____2__basic_string_char_2c_20std____2__char_traits_char__2c_20std____2__allocator_char___20const__2c_20emscripten__val_20const____invoke_28emscripten__val_20_28__29_28std____2__basic_string_char_2c_20std____2__char_traits_char__2c_20std____2__allocator_char___20const__2c_20emscripten__val_20const__29_2c_20emscripten__internal__BindingType_std____2__basic_string_char_2c_20std____2__char_traits_char__2c_20std____2__allocator_char___2c_20void____unnamed___2c_20emscripten___EM_VAL__29; + HEAP32[($2 + 700 | 0) >> 2] = $129; + $130 = emscripten__internal__TypeID_btDebugDraw_2c_20void___get_28_29() | 0; + $131 = HEAP32[($2 + 712 | 0) >> 2] | 0; + $134 = emscripten__internal__WithPolicies____ArgTypeList_emscripten__val_2c_20std____2__basic_string_char_2c_20std____2__char_traits_char__2c_20std____2__allocator_char___20const__2c_20emscripten__val_20const____getCount_28_29_20const($2 + 707 | 0 | 0) | 0; + $137 = emscripten__internal__WithPolicies____ArgTypeList_emscripten__val_2c_20std____2__basic_string_char_2c_20std____2__char_traits_char__2c_20std____2__allocator_char___20const__2c_20emscripten__val_20const____getTypes_28_29_20const($2 + 707 | 0 | 0) | 0; + HEAP32[($2 + 740 | 0) >> 2] = HEAP32[($2 + 700 | 0) >> 2] | 0; + _embind_register_class_class_function($130 | 0, $131 | 0, $134 | 0, $137 | 0, char_20const__20emscripten__internal__getGenericSignature_int_2c_20int_2c_20int_2c_20int__28_29() | 0 | 0, HEAP32[($2 + 700 | 0) >> 2] | 0 | 0, HEAP32[($2 + 708 | 0) >> 2] | 0 | 0, $125 | 0); + HEAP32[($2 + 492 | 0) >> 2] = $2 + 306 | 0; + HEAP32[($2 + 488 | 0) >> 2] = $6 + 67478 | 0; + void_20emscripten__internal__NoBaseClass__verify_btControllerHitReport__28_29(); + HEAP32[($2 + 484 | 0) >> 2] = GOT_func_internal_void_20const__20emscripten__internal__getActualType_btControllerHitReport__28btControllerHitReport__29; + (wasm2js_i32$0 = $2, wasm2js_i32$1 = void_20_28_emscripten__internal__NoBaseClass__getUpcaster_btControllerHitReport__28_29_29_28_29() | 0), HEAP32[(wasm2js_i32$0 + 480 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $2, wasm2js_i32$1 = void_20_28_emscripten__internal__NoBaseClass__getDowncaster_btControllerHitReport__28_29_29_28_29() | 0), HEAP32[(wasm2js_i32$0 + 476 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($2 + 472 | 0) >> 2] = GOT_func_internal_void_20emscripten__internal__raw_destructor_btControllerHitReport__28btControllerHitReport__29; + $150 = emscripten__internal__TypeID_btControllerHitReport_2c_20void___get_28_29() | 0; + $151 = emscripten__internal__TypeID_emscripten__internal__AllowedRawPointer_btControllerHitReport__2c_20void___get_28_29() | 0; + $152 = emscripten__internal__TypeID_emscripten__internal__AllowedRawPointer_btControllerHitReport_20const__2c_20void___get_28_29() | 0; + $153 = emscripten__internal__NoBaseClass__get_28_29() | 0; + HEAP32[($2 + 744 | 0) >> 2] = HEAP32[($2 + 484 | 0) >> 2] | 0; + $155 = char_20const__20emscripten__internal__getGenericSignature_int_2c_20int__28_29() | 0; + $156 = HEAP32[($2 + 484 | 0) >> 2] | 0; + HEAP32[($2 + 628 | 0) >> 2] = HEAP32[($2 + 480 | 0) >> 2] | 0; + $158 = char_20const__20emscripten__internal__getGenericSignature_void__28_29() | 0; + $159 = HEAP32[($2 + 480 | 0) >> 2] | 0; + HEAP32[($2 + 624 | 0) >> 2] = HEAP32[($2 + 476 | 0) >> 2] | 0; + $161 = char_20const__20emscripten__internal__getGenericSignature_void__28_29() | 0; + $162 = HEAP32[($2 + 476 | 0) >> 2] | 0; + $163 = HEAP32[($2 + 488 | 0) >> 2] | 0; + HEAP32[($2 + 748 | 0) >> 2] = HEAP32[($2 + 472 | 0) >> 2] | 0; + _embind_register_class($150 | 0, $151 | 0, $152 | 0, $153 | 0, $155 | 0, $156 | 0, $158 | 0, $159 | 0, $161 | 0, $162 | 0, $163 | 0, char_20const__20emscripten__internal__getGenericSignature_void_2c_20int__28_29() | 0 | 0, HEAP32[($2 + 472 | 0) >> 2] | 0 | 0); + HEAP32[($2 + 300 | 0) >> 2] = $29; + $167 = 16; + HEAP32[($2 + 296 | 0) >> 2] = $167; + i64toi32_i32$0 = HEAP32[($2 + 296 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($2 + 300 | 0) >> 2] | 0; + $1782 = i64toi32_i32$0; + i64toi32_i32$0 = $2; + HEAP32[($2 + 496 | 0) >> 2] = $1782; + HEAP32[($2 + 500 | 0) >> 2] = i64toi32_i32$1; + $169 = HEAP32[($2 + 496 | 0) >> 2] | 0; + $170 = HEAP32[($2 + 500 | 0) >> 2] | 0; + HEAP32[($2 + 528 | 0) >> 2] = $2 + 306 | 0; + HEAP32[($2 + 524 | 0) >> 2] = $6 + 67323 | 0; + HEAP32[($2 + 520 | 0) >> 2] = $170; + HEAP32[($2 + 516 | 0) >> 2] = $169; + $175 = HEAP32[($2 + 528 | 0) >> 2] | 0; + $176 = HEAP32[($2 + 524 | 0) >> 2] | 0; + $177 = HEAP32[($2 + 516 | 0) >> 2] | 0; + HEAP32[($2 + 512 | 0) >> 2] = HEAP32[($2 + 520 | 0) >> 2] | 0; + HEAP32[($2 + 508 | 0) >> 2] = $177; + i64toi32_i32$1 = HEAP32[($2 + 508 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($2 + 512 | 0) >> 2] | 0; + $1816 = i64toi32_i32$1; + i64toi32_i32$1 = $2; + HEAP32[($2 + 16 | 0) >> 2] = $1816; + HEAP32[($2 + 20 | 0) >> 2] = i64toi32_i32$0; + void_20emscripten__internal__RegisterClassMethod_void_20_28btControllerHitReport____29_28int_2c_20int_29___invoke_btControllerHitReport__28char_20const__2c_20void_20_28btControllerHitReport____29_28int_2c_20int_29_29($176 | 0, $2 + 16 | 0 | 0); + HEAP32[($2 + 540 | 0) >> 2] = $175; + HEAP32[($2 + 536 | 0) >> 2] = $6 + 71183 | 0; + $184 = HEAP32[($2 + 540 | 0) >> 2] | 0; + $185 = HEAP32[($2 + 536 | 0) >> 2] | 0; + HEAP32[($2 + 772 | 0) >> 2] = $2 + 535 | 0; + HEAP32[($2 + 768 | 0) >> 2] = $185; + void_20emscripten__base_btControllerHitReport___verify_btControllerHitReportWrapper__28_29(); + HEAP32[($2 + 764 | 0) >> 2] = GOT_func_internal_void_20const__20emscripten__internal__getActualType_btControllerHitReportWrapper__28btControllerHitReportWrapper__29; + (wasm2js_i32$0 = $2, wasm2js_i32$1 = btControllerHitReport__20_28_emscripten__base_btControllerHitReport___getUpcaster_btControllerHitReportWrapper__28_29_29_28btControllerHitReportWrapper__29() | 0), HEAP32[(wasm2js_i32$0 + 760 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $2, wasm2js_i32$1 = btControllerHitReportWrapper__20_28_emscripten__base_btControllerHitReport___getDowncaster_btControllerHitReportWrapper__28_29_29_28btControllerHitReport__29() | 0), HEAP32[(wasm2js_i32$0 + 756 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($2 + 752 | 0) >> 2] = GOT_func_internal_void_20emscripten__internal__raw_destructor_btControllerHitReportWrapper__28btControllerHitReportWrapper__29; + $192 = emscripten__internal__TypeID_btControllerHitReportWrapper_2c_20void___get_28_29() | 0; + $193 = emscripten__internal__TypeID_emscripten__internal__AllowedRawPointer_btControllerHitReportWrapper__2c_20void___get_28_29() | 0; + $194 = emscripten__internal__TypeID_emscripten__internal__AllowedRawPointer_btControllerHitReportWrapper_20const__2c_20void___get_28_29() | 0; + $195 = emscripten__base_btControllerHitReport___get_28_29() | 0; + HEAP32[($2 + 832 | 0) >> 2] = HEAP32[($2 + 764 | 0) >> 2] | 0; + $197 = char_20const__20emscripten__internal__getGenericSignature_int_2c_20int__28_29() | 0; + $198 = HEAP32[($2 + 764 | 0) >> 2] | 0; + HEAP32[($2 + 836 | 0) >> 2] = HEAP32[($2 + 760 | 0) >> 2] | 0; + $200 = char_20const__20emscripten__internal__getGenericSignature_int_2c_20int__28_29() | 0; + $201 = HEAP32[($2 + 760 | 0) >> 2] | 0; + HEAP32[($2 + 840 | 0) >> 2] = HEAP32[($2 + 756 | 0) >> 2] | 0; + $203 = char_20const__20emscripten__internal__getGenericSignature_int_2c_20int__28_29() | 0; + $204 = HEAP32[($2 + 756 | 0) >> 2] | 0; + $205 = HEAP32[($2 + 768 | 0) >> 2] | 0; + HEAP32[($2 + 844 | 0) >> 2] = HEAP32[($2 + 752 | 0) >> 2] | 0; + _embind_register_class($192 | 0, $193 | 0, $194 | 0, $195 | 0, $197 | 0, $198 | 0, $200 | 0, $201 | 0, $203 | 0, $204 | 0, $205 | 0, char_20const__20emscripten__internal__getGenericSignature_void_2c_20int__28_29() | 0 | 0, HEAP32[($2 + 752 | 0) >> 2] | 0 | 0); + $212 = void_20_28_emscripten__select_overload_void_20_28btControllerHitReportWrapper__29__28void_20_28__29_28btControllerHitReportWrapper__29_29_29_28btControllerHitReportWrapper__29(emscripten__class__btControllerHitReport_2c_20emscripten__internal__NoBaseClass__20const__20emscripten__class__btControllerHitReport_2c_20emscripten__internal__NoBaseClass___allow_subclass_btControllerHitReportWrapper__28char_20const__2c_20emscripten__constructor___29_20const___lambda__28btControllerHitReportWrapper__29__operator_20void_20_28__29_28btControllerHitReportWrapper__29_28_29_20const($2 + 534 | 0 | 0) | 0 | 0) | 0; + HEAP32[($2 + 784 | 0) >> 2] = $2 + 535 | 0; + HEAP32[($2 + 780 | 0) >> 2] = $105; + HEAP32[($2 + 776 | 0) >> 2] = $212; + void_20emscripten__internal__RegisterClassMethod_void_20_28__29_28btControllerHitReportWrapper__29___invoke_btControllerHitReportWrapper__28char_20const__2c_20void_20_28__29_28btControllerHitReportWrapper__29_29(HEAP32[($2 + 780 | 0) >> 2] | 0 | 0, HEAP32[($2 + 776 | 0) >> 2] | 0 | 0); + HEAP32[($2 + 804 | 0) >> 2] = $184; + HEAP32[($2 + 800 | 0) >> 2] = $109; + HEAP32[($2 + 796 | 0) >> 2] = GOT_func_internal_btControllerHitReportWrapper__20emscripten__internal__wrapped_new_btControllerHitReportWrapper__2c_20btControllerHitReportWrapper_2c_20emscripten__val__28emscripten__val___29; + $218 = HEAP32[($2 + 804 | 0) >> 2] | 0; + HEAP32[($2 + 788 | 0) >> 2] = GOT_func_internal_emscripten__internal__Invoker_btControllerHitReportWrapper__2c_20emscripten__val_____invoke_28btControllerHitReportWrapper__20_28__29_28emscripten__val___29_2c_20emscripten___EM_VAL__29; + $220 = emscripten__internal__TypeID_btControllerHitReport_2c_20void___get_28_29() | 0; + $221 = HEAP32[($2 + 800 | 0) >> 2] | 0; + $224 = emscripten__internal__WithPolicies_emscripten__allow_raw_pointer_emscripten__ret_val____ArgTypeList_btControllerHitReportWrapper__2c_20emscripten__val_____getCount_28_29_20const($2 + 795 | 0 | 0) | 0; + $227 = emscripten__internal__WithPolicies_emscripten__allow_raw_pointer_emscripten__ret_val____ArgTypeList_btControllerHitReportWrapper__2c_20emscripten__val_____getTypes_28_29_20const($2 + 795 | 0 | 0) | 0; + HEAP32[($2 + 848 | 0) >> 2] = HEAP32[($2 + 788 | 0) >> 2] | 0; + _embind_register_class_class_function($220 | 0, $221 | 0, $224 | 0, $227 | 0, char_20const__20emscripten__internal__getGenericSignature_int_2c_20int_2c_20int__28_29() | 0 | 0, HEAP32[($2 + 788 | 0) >> 2] | 0 | 0, HEAP32[($2 + 796 | 0) >> 2] | 0 | 0, $125 | 0); + HEAP32[($2 + 824 | 0) >> 2] = $218; + HEAP32[($2 + 820 | 0) >> 2] = $127; + HEAP32[($2 + 816 | 0) >> 2] = GOT_func_internal_emscripten__val_20emscripten__internal__wrapped_extend_btControllerHitReportWrapper__28std____2__basic_string_char_2c_20std____2__char_traits_char__2c_20std____2__allocator_char___20const__2c_20emscripten__val_20const__29; + HEAP32[($2 + 808 | 0) >> 2] = $129; + $233 = emscripten__internal__TypeID_btControllerHitReport_2c_20void___get_28_29() | 0; + $234 = HEAP32[($2 + 820 | 0) >> 2] | 0; + $237 = emscripten__internal__WithPolicies____ArgTypeList_emscripten__val_2c_20std____2__basic_string_char_2c_20std____2__char_traits_char__2c_20std____2__allocator_char___20const__2c_20emscripten__val_20const____getCount_28_29_20const($2 + 815 | 0 | 0) | 0; + $240 = emscripten__internal__WithPolicies____ArgTypeList_emscripten__val_2c_20std____2__basic_string_char_2c_20std____2__char_traits_char__2c_20std____2__allocator_char___20const__2c_20emscripten__val_20const____getTypes_28_29_20const($2 + 815 | 0 | 0) | 0; + HEAP32[($2 + 828 | 0) >> 2] = HEAP32[($2 + 808 | 0) >> 2] | 0; + _embind_register_class_class_function($233 | 0, $234 | 0, $237 | 0, $240 | 0, char_20const__20emscripten__internal__getGenericSignature_int_2c_20int_2c_20int_2c_20int__28_29() | 0 | 0, HEAP32[($2 + 808 | 0) >> 2] | 0 | 0, HEAP32[($2 + 816 | 0) >> 2] | 0 | 0, $125 | 0); + HEAP32[($2 + 564 | 0) >> 2] = $2 + 294 | 0; + HEAP32[($2 + 560 | 0) >> 2] = $6 + 81279 | 0; + void_20emscripten__internal__NoBaseClass__verify_cc__ccMotionState__28_29(); + HEAP32[($2 + 556 | 0) >> 2] = GOT_func_internal_void_20const__20emscripten__internal__getActualType_cc__ccMotionState__28cc__ccMotionState__29; + (wasm2js_i32$0 = $2, wasm2js_i32$1 = void_20_28_emscripten__internal__NoBaseClass__getUpcaster_cc__ccMotionState__28_29_29_28_29() | 0), HEAP32[(wasm2js_i32$0 + 552 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $2, wasm2js_i32$1 = void_20_28_emscripten__internal__NoBaseClass__getDowncaster_cc__ccMotionState__28_29_29_28_29() | 0), HEAP32[(wasm2js_i32$0 + 548 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($2 + 544 | 0) >> 2] = GOT_func_internal_void_20emscripten__internal__raw_destructor_cc__ccMotionState__28cc__ccMotionState__29; + $253 = emscripten__internal__TypeID_cc__ccMotionState_2c_20void___get_28_29() | 0; + $254 = emscripten__internal__TypeID_emscripten__internal__AllowedRawPointer_cc__ccMotionState__2c_20void___get_28_29() | 0; + $255 = emscripten__internal__TypeID_emscripten__internal__AllowedRawPointer_cc__ccMotionState_20const__2c_20void___get_28_29() | 0; + $256 = emscripten__internal__NoBaseClass__get_28_29() | 0; + HEAP32[($2 + 852 | 0) >> 2] = HEAP32[($2 + 556 | 0) >> 2] | 0; + $258 = char_20const__20emscripten__internal__getGenericSignature_int_2c_20int__28_29() | 0; + $259 = HEAP32[($2 + 556 | 0) >> 2] | 0; + HEAP32[($2 + 620 | 0) >> 2] = HEAP32[($2 + 552 | 0) >> 2] | 0; + $261 = char_20const__20emscripten__internal__getGenericSignature_void__28_29() | 0; + $262 = HEAP32[($2 + 552 | 0) >> 2] | 0; + HEAP32[($2 + 616 | 0) >> 2] = HEAP32[($2 + 548 | 0) >> 2] | 0; + $264 = char_20const__20emscripten__internal__getGenericSignature_void__28_29() | 0; + $265 = HEAP32[($2 + 548 | 0) >> 2] | 0; + $266 = HEAP32[($2 + 560 | 0) >> 2] | 0; + HEAP32[($2 + 856 | 0) >> 2] = HEAP32[($2 + 544 | 0) >> 2] | 0; + _embind_register_class($253 | 0, $254 | 0, $255 | 0, $256 | 0, $258 | 0, $259 | 0, $261 | 0, $262 | 0, $264 | 0, $265 | 0, $266 | 0, char_20const__20emscripten__internal__getGenericSignature_void_2c_20int__28_29() | 0 | 0, HEAP32[($2 + 544 | 0) >> 2] | 0 | 0); + HEAP32[($2 + 288 | 0) >> 2] = $29; + HEAP32[($2 + 284 | 0) >> 2] = $167; + i64toi32_i32$0 = HEAP32[($2 + 284 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($2 + 288 | 0) >> 2] | 0; + $2078 = i64toi32_i32$0; + i64toi32_i32$0 = $2; + HEAP32[($2 + 568 | 0) >> 2] = $2078; + HEAP32[($2 + 572 | 0) >> 2] = i64toi32_i32$1; + $271 = HEAP32[($2 + 568 | 0) >> 2] | 0; + $272 = HEAP32[($2 + 572 | 0) >> 2] | 0; + HEAP32[($2 + 596 | 0) >> 2] = $2 + 294 | 0; + HEAP32[($2 + 592 | 0) >> 2] = $6 + 70462 | 0; + HEAP32[($2 + 588 | 0) >> 2] = $272; + HEAP32[($2 + 584 | 0) >> 2] = $271; + $277 = HEAP32[($2 + 596 | 0) >> 2] | 0; + $278 = HEAP32[($2 + 592 | 0) >> 2] | 0; + $279 = HEAP32[($2 + 584 | 0) >> 2] | 0; + HEAP32[($2 + 580 | 0) >> 2] = HEAP32[($2 + 588 | 0) >> 2] | 0; + HEAP32[($2 + 576 | 0) >> 2] = $279; + i64toi32_i32$1 = HEAP32[($2 + 576 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($2 + 580 | 0) >> 2] | 0; + $2112 = i64toi32_i32$1; + i64toi32_i32$1 = $2; + HEAP32[($2 + 8 | 0) >> 2] = $2112; + HEAP32[($2 + 12 | 0) >> 2] = i64toi32_i32$0; + void_20emscripten__internal__RegisterClassMethod_void_20_28cc__ccMotionState____29_28int_29___invoke_cc__ccMotionState__28char_20const__2c_20void_20_28cc__ccMotionState____29_28int_29_29($278 | 0, $2 + 8 | 0 | 0); + HEAP32[($2 + 608 | 0) >> 2] = $277; + HEAP32[($2 + 604 | 0) >> 2] = $6 + 71210 | 0; + $286 = HEAP32[($2 + 608 | 0) >> 2] | 0; + $287 = HEAP32[($2 + 604 | 0) >> 2] | 0; + HEAP32[($2 + 880 | 0) >> 2] = $2 + 603 | 0; + HEAP32[($2 + 876 | 0) >> 2] = $287; + void_20emscripten__base_cc__ccMotionState___verify_ccMotionStateWrapper__28_29(); + HEAP32[($2 + 872 | 0) >> 2] = GOT_func_internal_void_20const__20emscripten__internal__getActualType_ccMotionStateWrapper__28ccMotionStateWrapper__29; + (wasm2js_i32$0 = $2, wasm2js_i32$1 = cc__ccMotionState__20_28_emscripten__base_cc__ccMotionState___getUpcaster_ccMotionStateWrapper__28_29_29_28ccMotionStateWrapper__29() | 0), HEAP32[(wasm2js_i32$0 + 868 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $2, wasm2js_i32$1 = ccMotionStateWrapper__20_28_emscripten__base_cc__ccMotionState___getDowncaster_ccMotionStateWrapper__28_29_29_28cc__ccMotionState__29() | 0), HEAP32[(wasm2js_i32$0 + 864 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($2 + 860 | 0) >> 2] = GOT_func_internal_void_20emscripten__internal__raw_destructor_ccMotionStateWrapper__28ccMotionStateWrapper__29; + $294 = emscripten__internal__TypeID_ccMotionStateWrapper_2c_20void___get_28_29() | 0; + $295 = emscripten__internal__TypeID_emscripten__internal__AllowedRawPointer_ccMotionStateWrapper__2c_20void___get_28_29() | 0; + $296 = emscripten__internal__TypeID_emscripten__internal__AllowedRawPointer_ccMotionStateWrapper_20const__2c_20void___get_28_29() | 0; + $297 = emscripten__base_cc__ccMotionState___get_28_29() | 0; + HEAP32[($2 + 940 | 0) >> 2] = HEAP32[($2 + 872 | 0) >> 2] | 0; + $299 = char_20const__20emscripten__internal__getGenericSignature_int_2c_20int__28_29() | 0; + $300 = HEAP32[($2 + 872 | 0) >> 2] | 0; + HEAP32[($2 + 944 | 0) >> 2] = HEAP32[($2 + 868 | 0) >> 2] | 0; + $302 = char_20const__20emscripten__internal__getGenericSignature_int_2c_20int__28_29() | 0; + $303 = HEAP32[($2 + 868 | 0) >> 2] | 0; + HEAP32[($2 + 948 | 0) >> 2] = HEAP32[($2 + 864 | 0) >> 2] | 0; + $305 = char_20const__20emscripten__internal__getGenericSignature_int_2c_20int__28_29() | 0; + $306 = HEAP32[($2 + 864 | 0) >> 2] | 0; + $307 = HEAP32[($2 + 876 | 0) >> 2] | 0; + HEAP32[($2 + 952 | 0) >> 2] = HEAP32[($2 + 860 | 0) >> 2] | 0; + _embind_register_class($294 | 0, $295 | 0, $296 | 0, $297 | 0, $299 | 0, $300 | 0, $302 | 0, $303 | 0, $305 | 0, $306 | 0, $307 | 0, char_20const__20emscripten__internal__getGenericSignature_void_2c_20int__28_29() | 0 | 0, HEAP32[($2 + 860 | 0) >> 2] | 0 | 0); + $314 = void_20_28_emscripten__select_overload_void_20_28ccMotionStateWrapper__29__28void_20_28__29_28ccMotionStateWrapper__29_29_29_28ccMotionStateWrapper__29(emscripten__class__cc__ccMotionState_2c_20emscripten__internal__NoBaseClass__20const__20emscripten__class__cc__ccMotionState_2c_20emscripten__internal__NoBaseClass___allow_subclass_ccMotionStateWrapper__28char_20const__2c_20emscripten__constructor___29_20const___lambda__28ccMotionStateWrapper__29__operator_20void_20_28__29_28ccMotionStateWrapper__29_28_29_20const($2 + 602 | 0 | 0) | 0 | 0) | 0; + HEAP32[($2 + 892 | 0) >> 2] = $2 + 603 | 0; + HEAP32[($2 + 888 | 0) >> 2] = $105; + HEAP32[($2 + 884 | 0) >> 2] = $314; + void_20emscripten__internal__RegisterClassMethod_void_20_28__29_28ccMotionStateWrapper__29___invoke_ccMotionStateWrapper__28char_20const__2c_20void_20_28__29_28ccMotionStateWrapper__29_29(HEAP32[($2 + 888 | 0) >> 2] | 0 | 0, HEAP32[($2 + 884 | 0) >> 2] | 0 | 0); + HEAP32[($2 + 912 | 0) >> 2] = $286; + HEAP32[($2 + 908 | 0) >> 2] = $109; + HEAP32[($2 + 904 | 0) >> 2] = GOT_func_internal_ccMotionStateWrapper__20emscripten__internal__wrapped_new_ccMotionStateWrapper__2c_20ccMotionStateWrapper_2c_20emscripten__val__28emscripten__val___29; + $320 = HEAP32[($2 + 912 | 0) >> 2] | 0; + HEAP32[($2 + 896 | 0) >> 2] = GOT_func_internal_emscripten__internal__Invoker_ccMotionStateWrapper__2c_20emscripten__val_____invoke_28ccMotionStateWrapper__20_28__29_28emscripten__val___29_2c_20emscripten___EM_VAL__29; + $322 = emscripten__internal__TypeID_cc__ccMotionState_2c_20void___get_28_29() | 0; + $323 = HEAP32[($2 + 908 | 0) >> 2] | 0; + $326 = emscripten__internal__WithPolicies_emscripten__allow_raw_pointer_emscripten__ret_val____ArgTypeList_ccMotionStateWrapper__2c_20emscripten__val_____getCount_28_29_20const($2 + 903 | 0 | 0) | 0; + $329 = emscripten__internal__WithPolicies_emscripten__allow_raw_pointer_emscripten__ret_val____ArgTypeList_ccMotionStateWrapper__2c_20emscripten__val_____getTypes_28_29_20const($2 + 903 | 0 | 0) | 0; + HEAP32[($2 + 956 | 0) >> 2] = HEAP32[($2 + 896 | 0) >> 2] | 0; + _embind_register_class_class_function($322 | 0, $323 | 0, $326 | 0, $329 | 0, char_20const__20emscripten__internal__getGenericSignature_int_2c_20int_2c_20int__28_29() | 0 | 0, HEAP32[($2 + 896 | 0) >> 2] | 0 | 0, HEAP32[($2 + 904 | 0) >> 2] | 0 | 0, $125 | 0); + HEAP32[($2 + 932 | 0) >> 2] = $320; + HEAP32[($2 + 928 | 0) >> 2] = $127; + HEAP32[($2 + 924 | 0) >> 2] = GOT_func_internal_emscripten__val_20emscripten__internal__wrapped_extend_ccMotionStateWrapper__28std____2__basic_string_char_2c_20std____2__char_traits_char__2c_20std____2__allocator_char___20const__2c_20emscripten__val_20const__29; + HEAP32[($2 + 916 | 0) >> 2] = $129; + $335 = emscripten__internal__TypeID_cc__ccMotionState_2c_20void___get_28_29() | 0; + $336 = HEAP32[($2 + 928 | 0) >> 2] | 0; + $340 = emscripten__internal__WithPolicies____ArgTypeList_emscripten__val_2c_20std____2__basic_string_char_2c_20std____2__char_traits_char__2c_20std____2__allocator_char___20const__2c_20emscripten__val_20const____getCount_28_29_20const($2 + 923 | 0 | 0) | 0; + $344 = emscripten__internal__WithPolicies____ArgTypeList_emscripten__val_2c_20std____2__basic_string_char_2c_20std____2__char_traits_char__2c_20std____2__allocator_char___20const__2c_20emscripten__val_20const____getTypes_28_29_20const($2 + 923 | 0 | 0) | 0; + HEAP32[($2 + 936 | 0) >> 2] = HEAP32[($2 + 916 | 0) >> 2] | 0; + _embind_register_class_class_function($335 | 0, $336 | 0, $340 | 0, $344 | 0, char_20const__20emscripten__internal__getGenericSignature_int_2c_20int_2c_20int_2c_20int__28_29() | 0 | 0, HEAP32[($2 + 916 | 0) >> 2] | 0 | 0, HEAP32[($2 + 924 | 0) >> 2] | 0 | 0, 0 & 1 | 0 | 0); + void_20emscripten__function_int_2c_20int__28char_20const__2c_20int_20_28__29_28int_29_29(GOT_data_internal___memory_base + 82822 | 0 | 0, GOT_func_internal__malloc_28int_29 | 0); + void_20emscripten__function_void_2c_20int__28char_20const__2c_20void_20_28__29_28int_29_29(GOT_data_internal___memory_base + 81920 | 0 | 0, GOT_func_internal__free_28int_29 | 0); + void_20emscripten__function_float_2c_20int__28char_20const__2c_20float_20_28__29_28int_29_29(GOT_data_internal___memory_base + 85454 | 0 | 0, GOT_func_internal__read_f32_28int_29 | 0); + void_20emscripten__function_void_2c_20int_2c_20float__28char_20const__2c_20void_20_28__29_28int_2c_20float_29_29(GOT_data_internal___memory_base + 85443 | 0 | 0, GOT_func_internal__write_f32_28int_2c_20float_29 | 0); + void_20emscripten__function_void_2c_20int_2c_20int__28char_20const__2c_20void_20_28__29_28int_2c_20int_29_29(GOT_data_internal___memory_base + 81178 | 0 | 0, GOT_func_internal__safe_delete_28int_2c_20int_29 | 0); + void_20emscripten__function_int_2c_20float_2c_20float_2c_20float_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20int_20_28__29_28float_2c_20float_2c_20float_29_2c_20emscripten__allow_raw_pointers_29(GOT_data_internal___memory_base + 67297 | 0 | 0, GOT_func_internal_Vec3_new_28float_2c_20float_2c_20float_29 | 0); + void_20emscripten__function_float_2c_20int_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20float_20_28__29_28int_29_2c_20emscripten__allow_raw_pointers_29(GOT_data_internal___memory_base + 66636 | 0 | 0, GOT_func_internal_Vec3_x_28int_29 | 0); + void_20emscripten__function_float_2c_20int_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20float_20_28__29_28int_29_2c_20emscripten__allow_raw_pointers_29(GOT_data_internal___memory_base + 66255 | 0 | 0, GOT_func_internal_Vec3_y_28int_29 | 0); + void_20emscripten__function_float_2c_20int_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20float_20_28__29_28int_29_2c_20emscripten__allow_raw_pointers_29(GOT_data_internal___memory_base + 65543 | 0 | 0, GOT_func_internal_Vec3_z_28int_29 | 0); + void_20emscripten__function_void_2c_20int_2c_20float_2c_20float_2c_20float_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20void_20_28__29_28int_2c_20float_2c_20float_2c_20float_29_2c_20emscripten__allow_raw_pointers_29(GOT_data_internal___memory_base + 68428 | 0 | 0, GOT_func_internal_Vec3_set_28int_2c_20float_2c_20float_2c_20float_29 | 0); + void_20emscripten__function_int_2c_20float_2c_20float_2c_20float_2c_20float_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20int_20_28__29_28float_2c_20float_2c_20float_2c_20float_29_2c_20emscripten__allow_raw_pointers_29(GOT_data_internal___memory_base + 66797 | 0 | 0, GOT_func_internal_Quat_new_28float_2c_20float_2c_20float_2c_20float_29 | 0); + void_20emscripten__function_float_2c_20int_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20float_20_28__29_28int_29_2c_20emscripten__allow_raw_pointers_29(GOT_data_internal___memory_base + 66629 | 0 | 0, GOT_func_internal_Quat_x_28int_29 | 0); + void_20emscripten__function_float_2c_20int_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20float_20_28__29_28int_29_2c_20emscripten__allow_raw_pointers_29(GOT_data_internal___memory_base + 66248 | 0 | 0, GOT_func_internal_Quat_y_28int_29 | 0); + void_20emscripten__function_float_2c_20int_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20float_20_28__29_28int_29_2c_20emscripten__allow_raw_pointers_29(GOT_data_internal___memory_base + 65536 | 0 | 0, GOT_func_internal_Quat_z_28int_29 | 0); + void_20emscripten__function_float_2c_20int_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20float_20_28__29_28int_29_2c_20emscripten__allow_raw_pointers_29(GOT_data_internal___memory_base + 67316 | 0 | 0, GOT_func_internal_Quat_w_28int_29 | 0); + void_20emscripten__function_void_2c_20int_2c_20float_2c_20float_2c_20float_2c_20float_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20void_20_28__29_28int_2c_20float_2c_20float_2c_20float_2c_20float_29_2c_20emscripten__allow_raw_pointers_29(GOT_data_internal___memory_base + 68404 | 0 | 0, GOT_func_internal_Quat_set_28int_2c_20float_2c_20float_2c_20float_2c_20float_29 | 0); + void_20emscripten__function_int_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20int_20_28__29_28_29_2c_20emscripten__allow_raw_pointers_29(GOT_data_internal___memory_base + 66926 | 0 | 0, GOT_func_internal_Transform_new_28_29 | 0); + void_20emscripten__function_void_2c_20int_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20void_20_28__29_28int_29_2c_20emscripten__allow_raw_pointers_29(GOT_data_internal___memory_base + 65706 | 0 | 0, GOT_func_internal_Transform_setIdentity_28int_29 | 0); + void_20emscripten__function_void_2c_20int_2c_20int_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20void_20_28__29_28int_2c_20int_29_2c_20emscripten__allow_raw_pointers_29(GOT_data_internal___memory_base + 76623 | 0 | 0, GOT_func_internal_Transform_setRotation_28int_2c_20int_29 | 0); + void_20emscripten__function_int_2c_20int_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20int_20_28__29_28int_29_2c_20emscripten__allow_raw_pointers_29(GOT_data_internal___memory_base + 76952 | 0 | 0, GOT_func_internal_Transform_getOrigin_28int_29 | 0); + void_20emscripten__function_int_2c_20int_2c_20int_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20int_20_28__29_28int_2c_20int_29_2c_20emscripten__allow_raw_pointers_29(GOT_data_internal___memory_base + 76645 | 0 | 0, GOT_func_internal_Transform_getRotation_28int_2c_20int_29 | 0); + void_20emscripten__function_int_2c_20int_2c_20int_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20int_20_28__29_28int_2c_20int_29_2c_20emscripten__allow_raw_pointers_29(GOT_data_internal___memory_base + 76972 | 0 | 0, GOT_func_internal_Transform_getRotationAndOrigin_28int_2c_20int_29 | 0); + void_20emscripten__function_void_2c_20int_2c_20int_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20void_20_28__29_28int_2c_20int_29_2c_20emscripten__allow_raw_pointers_29(GOT_data_internal___memory_base + 77099 | 0 | 0, GOT_func_internal_MotionState_getWorldTransform | 0); + void_20emscripten__function_void_2c_20int_2c_20int_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20void_20_28__29_28int_2c_20int_29_2c_20emscripten__allow_raw_pointers_29(GOT_data_internal___memory_base + 77007 | 0 | 0, GOT_func_internal_MotionState_setWorldTransform | 0); + void_20emscripten__function_void_2c_20int_2c_20int_2c_20int_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20void_20_28__29_28int_2c_20int_2c_20int_29_2c_20emscripten__allow_raw_pointers_29(GOT_data_internal___memory_base + 71265 | 0 | 0, GOT_func_internal_ccMotionState_setup | 0); + void_20emscripten__function_int_2c_20int__28char_20const__2c_20int_20_28__29_28int_29_29(GOT_data_internal___memory_base + 80799 | 0 | 0, GOT_func_internal_int_array_size_28int_29 | 0); + void_20emscripten__function_int_2c_20int_2c_20int__28char_20const__2c_20int_20_28__29_28int_2c_20int_29_29(GOT_data_internal___memory_base + 68959 | 0 | 0, GOT_func_internal_int_array_at_28int_2c_20int_29 | 0); + void_20emscripten__function_int_2c_20int_2c_20int__28char_20const__2c_20int_20_28__29_28int_2c_20int_29_29(GOT_data_internal___memory_base + 68972 | 0 | 0, GOT_func_internal_Vec3_array_at_28int_2c_20int_29 | 0); + void_20emscripten__function_int_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20int_20_28__29_28_29_2c_20emscripten__allow_raw_pointers_29(GOT_data_internal___memory_base + 66154 | 0 | 0, GOT_func_internal_TypedConstraint_getFixedBody_28_29 | 0); + void_20emscripten__function_float_2c_20int_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20float_20_28__29_28int_29_2c_20emscripten__allow_raw_pointers_29(GOT_data_internal___memory_base + 80876 | 0 | 0, GOT_func_internal_TypedConstraint_getDbgDrawSize_28int_29 | 0); + void_20emscripten__function_void_2c_20int_2c_20float_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20void_20_28__29_28int_2c_20float_29_2c_20emscripten__allow_raw_pointers_29(GOT_data_internal___memory_base + 80845 | 0 | 0, GOT_func_internal_TypedConstraint_setDbgDrawSize_28int_2c_20float_29 | 0); + void_20emscripten__function_void_2c_20int_2c_20float_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20void_20_28__29_28int_2c_20float_29_2c_20emscripten__allow_raw_pointers_29(GOT_data_internal___memory_base + 82695 | 0 | 0, GOT_func_internal_TypedConstraint_setMaxImpulseThreshold_28int_2c_20float_29 | 0); + void_20emscripten__function_int_2c_20int_2c_20int_2c_20int_2c_20int_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20int_20_28__29_28int_2c_20int_2c_20int_2c_20int_29_2c_20emscripten__allow_raw_pointers_29(GOT_data_internal___memory_base + 66686 | 0 | 0, GOT_func_internal_HingeConstraint_new_28int_2c_20int_2c_20int_2c_20int_29 | 0); + void_20emscripten__function_void_2c_20int_2c_20int_2c_20int_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20void_20_28__29_28int_2c_20int_2c_20int_29_2c_20emscripten__allow_raw_pointers_29(GOT_data_internal___memory_base + 70077 | 0 | 0, GOT_func_internal_HingeConstraint_setFrames_28int_2c_20int_2c_20int_29 | 0); + void_20emscripten__function_void_2c_20int_2c_20float_2c_20float_2c_20float_2c_20float_2c_20float_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20void_20_28__29_28int_2c_20float_2c_20float_2c_20float_2c_20float_2c_20float_29_2c_20emscripten__allow_raw_pointers_29(GOT_data_internal___memory_base + 67939 | 0 | 0, GOT_func_internal_HingeConstraint_setLimit_28int_2c_20float_2c_20float_2c_20float_2c_20float_2c_20float_29 | 0); + void_20emscripten__function_void_2c_20int_2c_20bool_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20void_20_28__29_28int_2c_20bool_29_2c_20emscripten__allow_raw_pointers_29(GOT_data_internal___memory_base + 70597 | 0 | 0, GOT_func_internal_HingeConstraint_enableMotor_28int_2c_20bool_29 | 0); + void_20emscripten__function_void_2c_20int_2c_20bool_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20void_20_28__29_28int_2c_20bool_29_2c_20emscripten__allow_raw_pointers_29(GOT_data_internal___memory_base + 65988 | 0 | 0, GOT_func_internal_HingeConstraint_setAngularOnly_28int_2c_20bool_29 | 0); + void_20emscripten__function_void_2c_20int_2c_20float_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20void_20_28__29_28int_2c_20float_29_2c_20emscripten__allow_raw_pointers_29(GOT_data_internal___memory_base + 81452 | 0 | 0, GOT_func_internal_HingeConstraint_setMaxMotorImpulse_28int_2c_20float_29 | 0); + void_20emscripten__function_void_2c_20int_2c_20float_2c_20float_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20void_20_28__29_28int_2c_20float_2c_20float_29_2c_20emscripten__allow_raw_pointers_29(GOT_data_internal___memory_base + 68548 | 0 | 0, GOT_func_internal_HingeConstraint_setMotorTarget_28int_2c_20float_2c_20float_29 | 0); + void_20emscripten__function_void_2c_20int_2c_20float_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20void_20_28__29_28int_2c_20float_29_2c_20emscripten__allow_raw_pointers_29(GOT_data_internal___memory_base + 65775 | 0 | 0, GOT_func_internal_HingeConstraint_setMotorVelocity_28int_2c_20float_29 | 0); + void_20emscripten__function_int_2c_20int_2c_20int_2c_20int_2c_20int_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20int_20_28__29_28int_2c_20int_2c_20int_2c_20int_29_2c_20emscripten__allow_raw_pointers_29(GOT_data_internal___memory_base + 66726 | 0 | 0, GOT_func_internal_P2PConstraint_new_28int_2c_20int_2c_20int_2c_20int_29 | 0); + void_20emscripten__function_void_2c_20int_2c_20int_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20void_20_28__29_28int_2c_20int_29_2c_20emscripten__allow_raw_pointers_29(GOT_data_internal___memory_base + 84571 | 0 | 0, GOT_func_internal_P2PConstraint_setPivotA_28int_2c_20int_29 | 0); + void_20emscripten__function_void_2c_20int_2c_20int_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20void_20_28__29_28int_2c_20int_29_2c_20emscripten__allow_raw_pointers_29(GOT_data_internal___memory_base + 84443 | 0 | 0, GOT_func_internal_P2PConstraint_setPivotB_28int_2c_20int_29 | 0); + void_20emscripten__function_int_2c_20int_2c_20int_2c_20int_2c_20int_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20int_20_28__29_28int_2c_20int_2c_20int_2c_20int_29_2c_20emscripten__allow_raw_pointers_29(GOT_data_internal___memory_base + 66706 | 0 | 0, GOT_func_internal_FixedConstraint_new_28int_2c_20int_2c_20int_2c_20int_29 | 0); + void_20emscripten__function_void_2c_20int_2c_20int_2c_20int_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20void_20_28__29_28int_2c_20int_2c_20int_29_2c_20emscripten__allow_raw_pointers_29(GOT_data_internal___memory_base + 70103 | 0 | 0, GOT_func_internal_FixedConstraint_setFrames_28int_2c_20int_2c_20int_29 | 0); + void_20emscripten__function_int_2c_20int_2c_20int_2c_20int_2c_20int_2c_20int_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20int_20_28__29_28int_2c_20int_2c_20int_2c_20int_2c_20int_29_2c_20emscripten__allow_raw_pointers_29(GOT_data_internal___memory_base + 66744 | 0 | 0, GOT_func_internal_Generic6DofSpring2Constraint_new_28int_2c_20int_2c_20int_2c_20int_2c_20int_29 | 0); + void_20emscripten__function_void_2c_20int_2c_20int_2c_20int_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20void_20_28__29_28int_2c_20int_2c_20int_29_2c_20emscripten__allow_raw_pointers_29(GOT_data_internal___memory_base + 70129 | 0 | 0, GOT_func_internal_Generic6DofSpring2Constraint_setFrames_28int_2c_20int_2c_20int_29 | 0); + void_20emscripten__function_void_2c_20int_2c_20int_2c_20float_2c_20float_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20void_20_28__29_28int_2c_20int_2c_20float_2c_20float_29_2c_20emscripten__allow_raw_pointers_29(GOT_data_internal___memory_base + 67964 | 0 | 0, GOT_func_internal_Generic6DofSpring2Constraint_setLimit_28int_2c_20int_2c_20float_2c_20float_29 | 0); + void_20emscripten__function_void_2c_20int_2c_20int_2c_20bool_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20void_20_28__29_28int_2c_20int_2c_20bool_29_2c_20emscripten__allow_raw_pointers_29(GOT_data_internal___memory_base + 80563 | 0 | 0, GOT_func_internal_Generic6DofSpring2Constraint_enableSpring_28int_2c_20int_2c_20bool_29 | 0); + void_20emscripten__function_void_2c_20int_2c_20int_2c_20float_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20void_20_28__29_28int_2c_20int_2c_20float_29_2c_20emscripten__allow_raw_pointers_29(GOT_data_internal___memory_base + 69315 | 0 | 0, GOT_func_internal_Generic6DofSpring2Constraint_setStiffness_28int_2c_20int_2c_20float_29 | 0); + void_20emscripten__function_void_2c_20int_2c_20int_2c_20float_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20void_20_28__29_28int_2c_20int_2c_20float_29_2c_20emscripten__allow_raw_pointers_29(GOT_data_internal___memory_base + 80646 | 0 | 0, GOT_func_internal_Generic6DofSpring2Constraint_setDamping_28int_2c_20int_2c_20float_29 | 0); + void_20emscripten__function_void_2c_20int_2c_20int_2c_20float_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20void_20_28__29_28int_2c_20int_2c_20float_29_2c_20emscripten__allow_raw_pointers_29(GOT_data_internal___memory_base + 82138 | 0 | 0, GOT_func_internal_Generic6DofSpring2Constraint_setBounce_28int_2c_20int_2c_20float_29 | 0); + void_20emscripten__function_void_2c_20int_2c_20int_2c_20float_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20void_20_28__29_28int_2c_20int_2c_20float_29_2c_20emscripten__allow_raw_pointers_29(GOT_data_internal___memory_base + 67656 | 0 | 0, GOT_func_internal_Generic6DofSpring2Constraint_setEquilibriumPoint_28int_2c_20int_2c_20float_29 | 0); + void_20emscripten__function_void_2c_20int_2c_20int_2c_20bool_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20void_20_28__29_28int_2c_20int_2c_20bool_29_2c_20emscripten__allow_raw_pointers_29(GOT_data_internal___memory_base + 70625 | 0 | 0, GOT_func_internal_Generic6DofSpring2Constraint_enableMotor_28int_2c_20int_2c_20bool_29 | 0); + void_20emscripten__function_void_2c_20int_2c_20int_2c_20float_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20void_20_28__29_28int_2c_20int_2c_20float_29_2c_20emscripten__allow_raw_pointers_29(GOT_data_internal___memory_base + 82092 | 0 | 0, GOT_func_internal_Generic6DofSpring2Constraint_setMaxMotorForce_28int_2c_20int_2c_20float_29 | 0); + void_20emscripten__function_void_2c_20int_2c_20int_2c_20float_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20void_20_28__29_28int_2c_20int_2c_20float_29_2c_20emscripten__allow_raw_pointers_29(GOT_data_internal___memory_base + 65728 | 0 | 0, GOT_func_internal_Generic6DofSpring2Constraint_setTargetVelocity_28int_2c_20int_2c_20float_29 | 0); + void_20emscripten__function_void_2c_20int_2c_20int_2c_20bool_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20void_20_28__29_28int_2c_20int_2c_20bool_29_2c_20emscripten__allow_raw_pointers_29(GOT_data_internal___memory_base + 76151 | 0 | 0, GOT_func_internal_Generic6DofSpring2Constraint_setServo_28int_2c_20int_2c_20bool_29 | 0); + void_20emscripten__function_void_2c_20int_2c_20int_2c_20float_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20void_20_28__29_28int_2c_20int_2c_20float_29_2c_20emscripten__allow_raw_pointers_29(GOT_data_internal___memory_base + 68579 | 0 | 0, GOT_func_internal_Generic6DofSpring2Constraint_setServoTarget_28int_2c_20int_2c_20float_29 | 0); + void_20emscripten__function_bool_2c_20int_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20bool_20_28__29_28int_29_2c_20emscripten__allow_raw_pointers_29(GOT_data_internal___memory_base + 82187 | 0 | 0, GOT_func_internal_CollisionShape_isCompound_28int_29 | 0); + void_20emscripten__function_void_2c_20int_2c_20int_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20void_20_28__29_28int_2c_20int_29_2c_20emscripten__allow_raw_pointers_29(GOT_data_internal___memory_base + 80737 | 0 | 0, GOT_func_internal_CollisionShape_setLocalScaling_28int_2c_20int_29 | 0); + void_20emscripten__function_void_2c_20int_2c_20float_2c_20int_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20void_20_28__29_28int_2c_20float_2c_20int_29_2c_20emscripten__allow_raw_pointers_29(GOT_data_internal___memory_base + 83768 | 0 | 0, GOT_func_internal_CollisionShape_calculateLocalInertia_28int_2c_20float_2c_20int_29 | 0); + void_20emscripten__function_void_2c_20int_2c_20int_2c_20int_2c_20int_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20void_20_28__29_28int_2c_20int_2c_20int_2c_20int_29_2c_20emscripten__allow_raw_pointers_29(GOT_data_internal___memory_base + 83038 | 0 | 0, GOT_func_internal_CollisionShape_getAabb_28int_2c_20int_2c_20int_2c_20int_29 | 0); + void_20emscripten__function_void_2c_20int_2c_20float_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20void_20_28__29_28int_2c_20float_29_2c_20emscripten__allow_raw_pointers_29(GOT_data_internal___memory_base + 76927 | 0 | 0, GOT_func_internal_CollisionShape_setMargin_28int_2c_20float_29 | 0); + void_20emscripten__function_void_2c_20int_2c_20int_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20void_20_28__29_28int_2c_20int_29_2c_20emscripten__allow_raw_pointers_29(GOT_data_internal___memory_base + 77625 | 0 | 0, GOT_func_internal_CollisionShape_setMaterial_28int_2c_20int_29 | 0); + void_20emscripten__function_void_2c_20int_2c_20int_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20void_20_28__29_28int_2c_20int_29_2c_20emscripten__allow_raw_pointers_29(GOT_data_internal___memory_base + 71141 | 0 | 0, GOT_func_internal_CollisionShape_setUserPointer_28int_2c_20int_29 | 0); + void_20emscripten__function_int_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20int_20_28__29_28_29_2c_20emscripten__allow_raw_pointers_29(GOT_data_internal___memory_base + 82977 | 0 | 0, GOT_func_internal_EmptyShape_static_28_29 | 0); + void_20emscripten__function_int_2c_20int_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20int_20_28__29_28int_29_2c_20emscripten__allow_raw_pointers_29(GOT_data_internal___memory_base + 69726 | 0 | 0, GOT_func_internal_ConvexInternalShape_getImplicitShapeDimensions_28int_29 | 0); + void_20emscripten__function_int_2c_20int_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20int_20_28__29_28int_29_2c_20emscripten__allow_raw_pointers_29(GOT_data_internal___memory_base + 66991 | 0 | 0, GOT_func_internal_BoxShape_new_28int_29 | 0); + void_20emscripten__function_void_2c_20int_2c_20int_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20void_20_28__29_28int_2c_20int_29_2c_20emscripten__allow_raw_pointers_29(GOT_data_internal___memory_base + 69207 | 0 | 0, GOT_func_internal_BoxShape_setUnscaledHalfExtents_28int_2c_20int_29 | 0); + void_20emscripten__function_int_2c_20float_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20int_20_28__29_28float_29_2c_20emscripten__allow_raw_pointers_29(GOT_data_internal___memory_base + 67115 | 0 | 0, GOT_func_internal_SphereShape_new_28float_29 | 0); + void_20emscripten__function_void_2c_20int_2c_20float_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20void_20_28__29_28int_2c_20float_29_2c_20emscripten__allow_raw_pointers_29(GOT_data_internal___memory_base + 69116 | 0 | 0, GOT_func_internal_SphereShape_setUnscaledRadius_28int_2c_20float_29 | 0); + void_20emscripten__function_int_2c_20int_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20int_20_28__29_28int_29_2c_20emscripten__allow_raw_pointers_29(GOT_data_internal___memory_base + 67021 | 0 | 0, GOT_func_internal_CylinderShape_new_28int_29 | 0); + void_20emscripten__function_void_2c_20int_2c_20float_2c_20float_2c_20int_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20void_20_28__29_28int_2c_20float_2c_20float_2c_20int_29_2c_20emscripten__allow_raw_pointers_29(GOT_data_internal___memory_base + 76029 | 0 | 0, GOT_func_internal_CylinderShape_updateProp_28int_2c_20float_2c_20float_2c_20int_29 | 0); + void_20emscripten__function_int_2c_20float_2c_20float_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20int_20_28__29_28float_2c_20float_29_2c_20emscripten__allow_raw_pointers_29(GOT_data_internal___memory_base + 67166 | 0 | 0, GOT_func_internal_CapsuleShape_new_28float_2c_20float_29 | 0); + void_20emscripten__function_void_2c_20int_2c_20float_2c_20float_2c_20int_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20void_20_28__29_28int_2c_20float_2c_20float_2c_20int_29_2c_20emscripten__allow_raw_pointers_29(GOT_data_internal___memory_base + 76054 | 0 | 0, GOT_func_internal_CapsuleShape_updateProp_28int_2c_20float_2c_20float_2c_20int_29 | 0); + void_20emscripten__function_int_2c_20float_2c_20float_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20int_20_28__29_28float_2c_20float_29_2c_20emscripten__allow_raw_pointers_29(GOT_data_internal___memory_base + 67131 | 0 | 0, GOT_func_internal_ConeShape_new_28float_2c_20float_29 | 0); + void_20emscripten__function_void_2c_20int_2c_20float_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20void_20_28__29_28int_2c_20float_29_2c_20emscripten__allow_raw_pointers_29(GOT_data_internal___memory_base + 69056 | 0 | 0, GOT_func_internal_ConeShape_setRadius_28int_2c_20float_29 | 0); + void_20emscripten__function_void_2c_20int_2c_20float_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20void_20_28__29_28int_2c_20float_29_2c_20emscripten__allow_raw_pointers_29(GOT_data_internal___memory_base + 68137 | 0 | 0, GOT_func_internal_ConeShape_setHeight_28int_2c_20float_29 | 0); + void_20emscripten__function_void_2c_20int_2c_20int_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20void_20_28__29_28int_2c_20int_29_2c_20emscripten__allow_raw_pointers_29(GOT_data_internal___memory_base + 66485 | 0 | 0, GOT_func_internal_ConeShape_setConeUpIndex_28int_2c_20int_29 | 0); + void_20emscripten__function_int_2c_20int_2c_20float_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20int_20_28__29_28int_2c_20float_29_2c_20emscripten__allow_raw_pointers_29(GOT_data_internal___memory_base + 67145 | 0 | 0, GOT_func_internal_StaticPlaneShape_new_28int_2c_20float_29 | 0); + void_20emscripten__function_int_2c_20int_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20int_20_28__29_28int_29_2c_20emscripten__allow_raw_pointers_29(GOT_data_internal___memory_base + 77533 | 0 | 0, GOT_func_internal_StaticPlaneShape_getPlaneNormal_28int_29 | 0); + void_20emscripten__function_void_2c_20int_2c_20float_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20void_20_28__29_28int_2c_20float_29_2c_20emscripten__allow_raw_pointers_29(GOT_data_internal___memory_base + 67889 | 0 | 0, GOT_func_internal_StaticPlaneShape_setPlaneConstant_28int_2c_20float_29 | 0); + void_20emscripten__function_int_2c_20int_2c_20int_2c_20int_2c_20float_2c_20float_2c_20float_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20int_20_28__29_28int_2c_20int_2c_20int_2c_20float_2c_20float_2c_20float_29_2c_20emscripten__allow_raw_pointers_29(GOT_data_internal___memory_base + 67039 | 0 | 0, GOT_func_internal_TerrainShape_new_28int_2c_20int_2c_20int_2c_20float_2c_20float_2c_20float_29 | 0); + void_20emscripten__function_int_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20int_20_28__29_28_29_2c_20emscripten__allow_raw_pointers_29(GOT_data_internal___memory_base + 66955 | 0 | 0, GOT_func_internal_TriangleMesh_new_28_29 | 0); + void_20emscripten__function_void_2c_20int_2c_20int_2c_20int_2c_20int_2c_20bool_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20void_20_28__29_28int_2c_20int_2c_20int_2c_20int_2c_20bool_29_2c_20emscripten__allow_raw_pointers_29(GOT_data_internal___memory_base + 81861 | 0 | 0, GOT_func_internal_TriangleMesh_addTriangle_28int_2c_20int_2c_20int_2c_20int_2c_20bool_29 | 0); + void_20emscripten__function_int_2c_20int_2c_20bool_2c_20bool_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20int_20_28__29_28int_2c_20bool_2c_20bool_29_2c_20emscripten__allow_raw_pointers_29(GOT_data_internal___memory_base + 67090 | 0 | 0, GOT_func_internal_BvhTriangleMeshShape_new_28int_2c_20bool_2c_20bool_29 | 0); + void_20emscripten__function_int_2c_20int_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20int_20_28__29_28int_29_2c_20emscripten__allow_raw_pointers_29(GOT_data_internal___memory_base + 77809 | 0 | 0, GOT_func_internal_BvhTriangleMeshShape_getOptimizedBvh_28int_29 | 0); + void_20emscripten__function_void_2c_20int_2c_20int_2c_20float_2c_20float_2c_20float_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20void_20_28__29_28int_2c_20int_2c_20float_2c_20float_2c_20float_29_2c_20emscripten__allow_raw_pointers_29(GOT_data_internal___memory_base + 77772 | 0 | 0, GOT_func_internal_BvhTriangleMeshShape_setOptimizedBvh_28int_2c_20int_2c_20float_2c_20float_2c_20float_29 | 0); + void_20emscripten__function_int_2c_20int_2c_20float_2c_20float_2c_20float_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20int_20_28__29_28int_2c_20float_2c_20float_2c_20float_29_2c_20emscripten__allow_raw_pointers_29(GOT_data_internal___memory_base + 67084 | 0 | 0, GOT_func_internal_ScaledBvhTriangleMeshShape_new_28int_2c_20float_2c_20float_2c_20float_29 | 0); + void_20emscripten__function_int_2c_20int_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20int_20_28__29_28int_29_2c_20emscripten__allow_raw_pointers_29(GOT_data_internal___memory_base + 67056 | 0 | 0, GOT_func_internal_ConvexTriangleMeshShape_new_28int_29 | 0); + void_20emscripten__function_int_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20int_20_28__29_28_29_2c_20emscripten__allow_raw_pointers_29(GOT_data_internal___memory_base + 67004 | 0 | 0, GOT_func_internal_SimplexShape_new_28_29 | 0); + void_20emscripten__function_void_2c_20int_2c_20int_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20void_20_28__29_28int_2c_20int_29_2c_20emscripten__allow_raw_pointers_29(GOT_data_internal___memory_base + 66289 | 0 | 0, GOT_func_internal_SimplexShape_addVertex_28int_2c_20int_29 | 0); + void_20emscripten__function_int_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20int_20_28__29_28_29_2c_20emscripten__allow_raw_pointers_29(GOT_data_internal___memory_base + 67183 | 0 | 0, GOT_func_internal_ccCompoundShape_new_28_29 | 0); + void_20emscripten__function_int_2c_20int_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20int_20_28__29_28int_29_2c_20emscripten__allow_raw_pointers_29(GOT_data_internal___memory_base + 70023 | 0 | 0, GOT_func_internal_CompoundShape_getNumChildShapes_28int_29 | 0); + void_20emscripten__function_void_2c_20int_2c_20int_2c_20int_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20void_20_28__29_28int_2c_20int_2c_20int_29_2c_20emscripten__allow_raw_pointers_29(GOT_data_internal___memory_base + 81761 | 0 | 0, GOT_func_internal_CompoundShape_addChildShape_28int_2c_20int_2c_20int_29 | 0); + void_20emscripten__function_int_2c_20int_2c_20int_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20int_20_28__29_28int_2c_20int_29_2c_20emscripten__allow_raw_pointers_29(GOT_data_internal___memory_base + 81684 | 0 | 0, GOT_func_internal_CompoundShape_getChildShape_28int_2c_20int_29 | 0); + void_20emscripten__function_void_2c_20int_2c_20int_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20void_20_28__29_28int_2c_20int_29_2c_20emscripten__allow_raw_pointers_29(GOT_data_internal___memory_base + 81730 | 0 | 0, GOT_func_internal_CompoundShape_removeChildShape_28int_2c_20int_29 | 0); + void_20emscripten__function_void_2c_20int_2c_20int_2c_20int_2c_20bool_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20void_20_28__29_28int_2c_20int_2c_20int_2c_20bool_29_2c_20emscripten__allow_raw_pointers_29(GOT_data_internal___memory_base + 77129 | 0 | 0, GOT_func_internal_CompoundShape_updateChildTransform_28int_2c_20int_2c_20int_2c_20bool_29 | 0); + void_20emscripten__function_int_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20int_20_28__29_28_29_2c_20emscripten__allow_raw_pointers_29(GOT_data_internal___memory_base + 66777 | 0 | 0, GOT_func_internal_CollisionObject_new_28_29 | 0); + void_20emscripten__function_int_2c_20int_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20int_20_28__29_28int_29_2c_20emscripten__allow_raw_pointers_29(GOT_data_internal___memory_base + 81583 | 0 | 0, GOT_func_internal_CollisionObject_getCollisionShape_28int_29 | 0); + void_20emscripten__function_void_2c_20int_2c_20int_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20void_20_28__29_28int_2c_20int_29_2c_20emscripten__allow_raw_pointers_29(GOT_data_internal___memory_base + 81549 | 0 | 0, GOT_func_internal_CollisionObject_setCollisionShape_28int_2c_20int_29 | 0); + void_20emscripten__function_void_2c_20int_2c_20int_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20void_20_28__29_28int_2c_20int_29_2c_20emscripten__allow_raw_pointers_29(GOT_data_internal___memory_base + 82612 | 0 | 0, GOT_func_internal_CollisionObject_setContactProcessingThreshold_28int_2c_20int_29 | 0); + void_20emscripten__function_int_2c_20int_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20int_20_28__29_28int_29_2c_20emscripten__allow_raw_pointers_29(GOT_data_internal___memory_base + 80710 | 0 | 0, GOT_func_internal_CollisionObject_isSleeping_28int_29 | 0); + void_20emscripten__function_int_2c_20int_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20int_20_28__29_28int_29_2c_20emscripten__allow_raw_pointers_29(GOT_data_internal___memory_base + 81291 | 0 | 0, GOT_func_internal_CollisionObject_getActivationState_28int_29 | 0); + void_20emscripten__function_void_2c_20int_2c_20int_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20void_20_28__29_28int_2c_20int_29_2c_20emscripten__allow_raw_pointers_29(GOT_data_internal___memory_base + 81348 | 0 | 0, GOT_func_internal_CollisionObject_forceActivationState_28int_2c_20int_29 | 0); + void_20emscripten__function_void_2c_20int_2c_20bool_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20void_20_28__29_28int_2c_20bool_29_2c_20emscripten__allow_raw_pointers_29(GOT_data_internal___memory_base + 81191 | 0 | 0, GOT_func_internal_CollisionObject_activate_28int_2c_20bool_29 | 0); + void_20emscripten__function_bool_2c_20int_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20bool_20_28__29_28int_29_2c_20emscripten__allow_raw_pointers_29(GOT_data_internal___memory_base + 81078 | 0 | 0, GOT_func_internal_CollisionObject_isActive_28int_29 | 0); + void_20emscripten__function_bool_2c_20int_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20bool_20_28__29_28int_29_2c_20emscripten__allow_raw_pointers_29(GOT_data_internal___memory_base + 68855 | 0 | 0, GOT_func_internal_CollisionObject_isKinematicObject_28int_29 | 0); + void_20emscripten__function_bool_2c_20int_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20bool_20_28__29_28int_29_2c_20emscripten__allow_raw_pointers_29(GOT_data_internal___memory_base + 68824 | 0 | 0, GOT_func_internal_CollisionObject_isStaticObject_28int_29 | 0); + void_20emscripten__function_bool_2c_20int_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20bool_20_28__29_28int_29_2c_20emscripten__allow_raw_pointers_29(GOT_data_internal___memory_base + 68889 | 0 | 0, GOT_func_internal_CollisionObject_isStaticOrKinematicObject_28int_29 | 0); + void_20emscripten__function_int_2c_20int_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20int_20_28__29_28int_29_2c_20emscripten__allow_raw_pointers_29(GOT_data_internal___memory_base + 77065 | 0 | 0, GOT_func_internal_CollisionObject_getWorldTransform_28int_29 | 0); + void_20emscripten__function_void_2c_20int_2c_20int_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20void_20_28__29_28int_2c_20int_29_2c_20emscripten__allow_raw_pointers_29(GOT_data_internal___memory_base + 69926 | 0 | 0, GOT_func_internal_CollisionObject_setCollisionFlags_28int_2c_20int_29 | 0); + void_20emscripten__function_int_2c_20int_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20int_20_28__29_28int_29_2c_20emscripten__allow_raw_pointers_29(GOT_data_internal___memory_base + 69960 | 0 | 0, GOT_func_internal_CollisionObject_getCollisionFlags_28int_29 | 0); + void_20emscripten__function_void_2c_20int_2c_20float_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20void_20_28__29_28int_2c_20float_29_2c_20emscripten__allow_raw_pointers_29(GOT_data_internal___memory_base + 82574 | 0 | 0, GOT_func_internal_CollisionObject_setCcdMotionThreshold_28int_2c_20float_29 | 0); + void_20emscripten__function_void_2c_20int_2c_20float_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20void_20_28__29_28int_2c_20float_29_2c_20emscripten__allow_raw_pointers_29(GOT_data_internal___memory_base + 69076 | 0 | 0, GOT_func_internal_CollisionObject_setCcdSweptSphereRadius_28int_2c_20float_29 | 0); + void_20emscripten__function_void_2c_20int_2c_20int_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20void_20_28__29_28int_2c_20int_29_2c_20emscripten__allow_raw_pointers_29(GOT_data_internal___memory_base + 66427 | 0 | 0, GOT_func_internal_CollisionObject_setUserIndex_28int_2c_20int_29 | 0); + void_20emscripten__function_int_2c_20int_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20int_20_28__29_28int_29_2c_20emscripten__allow_raw_pointers_29(GOT_data_internal___memory_base + 66456 | 0 | 0, GOT_func_internal_CollisionObject_getUserIndex_28int_29 | 0); + void_20emscripten__function_void_2c_20int_2c_20float_2c_20float_2c_20float_2c_20float_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20void_20_28__29_28int_2c_20float_2c_20float_2c_20float_2c_20float_29_2c_20emscripten__allow_raw_pointers_29(GOT_data_internal___memory_base + 77597 | 0 | 0, GOT_func_internal_CollisionObject_setMaterial_28int_2c_20float_2c_20float_2c_20float_2c_20float_29 | 0); + void_20emscripten__function_void_2c_20int_2c_20int_2c_20bool_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20void_20_28__29_28int_2c_20int_2c_20bool_29_2c_20emscripten__allow_raw_pointers_29(GOT_data_internal___memory_base + 77671 | 0 | 0, GOT_func_internal_CollisionObject_setIgnoreCollisionCheck_28int_2c_20int_2c_20bool_29 | 0); + void_20emscripten__function_int_2c_20float_2c_20int_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20int_20_28__29_28float_2c_20int_29_2c_20emscripten__allow_raw_pointers_29(GOT_data_internal___memory_base + 66672 | 0 | 0, GOT_func_internal_RigidBody_new_28float_2c_20int_29 | 0); + void_20emscripten__function_int_2c_20int_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20int_20_28__29_28int_29_2c_20emscripten__allow_raw_pointers_29(GOT_data_internal___memory_base + 69907 | 0 | 0, GOT_func_internal_RigidBody_getFlags_28int_29 | 0); + void_20emscripten__function_void_2c_20int_2c_20int_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20void_20_28__29_28int_2c_20int_29_2c_20emscripten__allow_raw_pointers_29(GOT_data_internal___memory_base + 69832 | 0 | 0, GOT_func_internal_RigidBody_setFlags_28int_2c_20int_29 | 0); + void_20emscripten__function_void_2c_20int_2c_20int_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20void_20_28__29_28int_2c_20int_29_2c_20emscripten__allow_raw_pointers_29(GOT_data_internal___memory_base + 65660 | 0 | 0, GOT_func_internal_RigidBody_setGravity_28int_2c_20int_29 | 0); + void_20emscripten__function_void_2c_20int_2c_20float_2c_20float_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20void_20_28__29_28int_2c_20float_2c_20float_29_2c_20emscripten__allow_raw_pointers_29(GOT_data_internal___memory_base + 80625 | 0 | 0, GOT_func_internal_RigidBody_setDamping_28int_2c_20float_2c_20float_29 | 0); + void_20emscripten__function_void_2c_20int_2c_20float_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20void_20_28__29_28int_2c_20float_29_2c_20emscripten__allow_raw_pointers_29(GOT_data_internal___memory_base + 69397 | 0 | 0, GOT_func_internal_RigidBody_setMass_28int_2c_20float_29 | 0); + void_20emscripten__function_void_2c_20int_2c_20float_2c_20int_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20void_20_28__29_28int_2c_20float_2c_20int_29_2c_20emscripten__allow_raw_pointers_29(GOT_data_internal___memory_base + 69626 | 0 | 0, GOT_func_internal_RigidBody_setMassProps_28int_2c_20float_2c_20int_29 | 0); + void_20emscripten__function_void_2c_20int_2c_20int_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20void_20_28__29_28int_2c_20int_29_2c_20emscripten__allow_raw_pointers_29(GOT_data_internal___memory_base + 70693 | 0 | 0, GOT_func_internal_RigidBody_setLinearFactor_28int_2c_20int_29 | 0); + void_20emscripten__function_void_2c_20int_2c_20int_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20void_20_28__29_28int_2c_20int_29_2c_20emscripten__allow_raw_pointers_29(GOT_data_internal___memory_base + 70666 | 0 | 0, GOT_func_internal_RigidBody_setAngularFactor_28int_2c_20int_29 | 0); + void_20emscripten__function_void_2c_20int_2c_20int_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20void_20_28__29_28int_2c_20int_29_2c_20emscripten__allow_raw_pointers_29(GOT_data_internal___memory_base + 65866 | 0 | 0, GOT_func_internal_RigidBody_setLinearVelocity_28int_2c_20int_29 | 0); + void_20emscripten__function_int_2c_20int_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20int_20_28__29_28int_29_2c_20emscripten__allow_raw_pointers_29(GOT_data_internal___memory_base + 65894 | 0 | 0, GOT_func_internal_RigidBody_getLinearVelocity_28int_29 | 0); + void_20emscripten__function_void_2c_20int_2c_20int_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20void_20_28__29_28int_2c_20int_29_2c_20emscripten__allow_raw_pointers_29(GOT_data_internal___memory_base + 65808 | 0 | 0, GOT_func_internal_RigidBody_setAngularVelocity_28int_2c_20int_29 | 0); + void_20emscripten__function_int_2c_20int_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20int_20_28__29_28int_29_2c_20emscripten__allow_raw_pointers_29(GOT_data_internal___memory_base + 65837 | 0 | 0, GOT_func_internal_RigidBody_getAngularVelocity_28int_29 | 0); + void_20emscripten__function_void_2c_20int_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20void_20_28__29_28int_29_2c_20emscripten__allow_raw_pointers_29(GOT_data_internal___memory_base + 81216 | 0 | 0, GOT_func_internal_RigidBody_clearState_28int_29 | 0); + void_20emscripten__function_void_2c_20int_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20void_20_28__29_28int_29_2c_20emscripten__allow_raw_pointers_29(GOT_data_internal___memory_base + 70245 | 0 | 0, GOT_func_internal_RigidBody_clearForces_28int_29 | 0); + void_20emscripten__function_bool_2c_20int_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20bool_20_28__29_28int_29_2c_20emscripten__allow_raw_pointers_29(GOT_data_internal___memory_base + 80686 | 0 | 0, GOT_func_internal_RigidBody_wantsSleeping_28int_29 | 0); + void_20emscripten__function_void_2c_20int_2c_20float_2c_20float_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20void_20_28__29_28int_2c_20float_2c_20float_29_2c_20emscripten__allow_raw_pointers_29(GOT_data_internal___memory_base + 70366 | 0 | 0, GOT_func_internal_RigidBody_setSleepingThresholds_28int_2c_20float_2c_20float_29 | 0); + void_20emscripten__function_float_2c_20int_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20float_20_28__29_28int_29_2c_20emscripten__allow_raw_pointers_29(GOT_data_internal___memory_base + 82658 | 0 | 0, GOT_func_internal_RigidBody_getLinearSleepingThreshold_28int_29 | 0); + void_20emscripten__function_int_2c_20int_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20int_20_28__29_28int_29_2c_20emscripten__allow_raw_pointers_29(GOT_data_internal___memory_base + 81237 | 0 | 0, GOT_func_internal_RigidBody_getMotionState_28int_29 | 0); + void_20emscripten__function_void_2c_20int_2c_20int_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20void_20_28__29_28int_2c_20int_29_2c_20emscripten__allow_raw_pointers_29(GOT_data_internal___memory_base + 81103 | 0 | 0, GOT_func_internal_RigidBody_applyTorque_28int_2c_20int_29 | 0); + void_20emscripten__function_void_2c_20int_2c_20int_2c_20int_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20void_20_28__29_28int_2c_20int_2c_20int_29_2c_20emscripten__allow_raw_pointers_29(GOT_data_internal___memory_base + 82071 | 0 | 0, GOT_func_internal_RigidBody_applyForce_28int_2c_20int_2c_20int_29 | 0); + void_20emscripten__function_void_2c_20int_2c_20int_2c_20int_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20void_20_28__29_28int_2c_20int_2c_20int_29_2c_20emscripten__allow_raw_pointers_29(GOT_data_internal___memory_base + 81429 | 0 | 0, GOT_func_internal_RigidBody_applyImpulse_28int_2c_20int_2c_20int_29 | 0); + void_20emscripten__function_void_2c_20int_2c_20int_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20void_20_28__29_28int_2c_20int_29_2c_20emscripten__allow_raw_pointers_29(GOT_data_internal___memory_base + 77037 | 0 | 0, GOT_func_internal_RigidBody_getWorldTransform_28int_2c_20int_29 | 0); + void_20emscripten__function_int_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20int_20_28__29_28_29_2c_20emscripten__allow_raw_pointers_29(GOT_data_internal___memory_base + 82830 | 0 | 0, GOT_func_internal_DefaultCollisionConfiguration_static_28_29 | 0); + void_20emscripten__function_int_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20int_20_28__29_28_29_2c_20emscripten__allow_raw_pointers_29(GOT_data_internal___memory_base + 66902 | 0 | 0, GOT_func_internal_CollisionDispatcher_new_28_29 | 0); + void_20emscripten__function_int_2c_20int_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20int_20_28__29_28int_29_2c_20emscripten__allow_raw_pointers_29(GOT_data_internal___memory_base + 70435 | 0 | 0, GOT_func_internal_Dispatcher_getNumManifolds_28int_29 | 0); + void_20emscripten__function_int_2c_20int_2c_20int_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20int_20_28__29_28int_2c_20int_29_2c_20emscripten__allow_raw_pointers_29(GOT_data_internal___memory_base + 77401 | 0 | 0, GOT_func_internal_Dispatcher_getManifoldByIndexInternal_28int_2c_20int_29 | 0); + void_20emscripten__function_int_2c_20int_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20int_20_28__29_28int_29_2c_20emscripten__allow_raw_pointers_29(GOT_data_internal___memory_base + 85747 | 0 | 0, GOT_func_internal_ManifoldPoint_getShape0_28int_29 | 0); + void_20emscripten__function_int_2c_20int_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20int_20_28__29_28int_29_2c_20emscripten__allow_raw_pointers_29(GOT_data_internal___memory_base + 85525 | 0 | 0, GOT_func_internal_ManifoldPoint_getShape1_28int_29 | 0); + void_20emscripten__function_int_2c_20int_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20int_20_28__29_28int_29_2c_20emscripten__allow_raw_pointers_29(GOT_data_internal___memory_base + 85708 | 0 | 0, GOT_func_internal_ManifoldPoint_get_m_index0_28int_29 | 0); + void_20emscripten__function_int_2c_20int_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20int_20_28__29_28int_29_2c_20emscripten__allow_raw_pointers_29(GOT_data_internal___memory_base + 85498 | 0 | 0, GOT_func_internal_ManifoldPoint_get_m_index1_28int_29 | 0); + void_20emscripten__function_int_2c_20int_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20int_20_28__29_28int_29_2c_20emscripten__allow_raw_pointers_29(GOT_data_internal___memory_base + 85680 | 0 | 0, GOT_func_internal_PersistentManifold_getBody0_28int_29 | 0); + void_20emscripten__function_int_2c_20int_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20int_20_28__29_28int_29_2c_20emscripten__allow_raw_pointers_29(GOT_data_internal___memory_base + 85470 | 0 | 0, GOT_func_internal_PersistentManifold_getBody1_28int_29 | 0); + void_20emscripten__function_int_2c_20int_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20int_20_28__29_28int_29_2c_20emscripten__allow_raw_pointers_29(GOT_data_internal___memory_base + 69256 | 0 | 0, GOT_func_internal_PersistentManifold_getNumContacts_28int_29 | 0); + void_20emscripten__function_int_2c_20int_2c_20int_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20int_20_28__29_28int_2c_20int_29_2c_20emscripten__allow_raw_pointers_29(GOT_data_internal___memory_base + 67566 | 0 | 0, GOT_func_internal_PersistentManifold_getContactPoint_28int_2c_20int_29 | 0); + void_20emscripten__function_int_2c_20int_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20int_20_28__29_28int_29_2c_20emscripten__allow_raw_pointers_29(GOT_data_internal___memory_base + 84595 | 0 | 0, GOT_func_internal_ManifoldPoint_get_m_localPointA_28int_29 | 0); + void_20emscripten__function_int_2c_20int_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20int_20_28__29_28int_29_2c_20emscripten__allow_raw_pointers_29(GOT_data_internal___memory_base + 84467 | 0 | 0, GOT_func_internal_ManifoldPoint_get_m_localPointB_28int_29 | 0); + void_20emscripten__function_int_2c_20int_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20int_20_28__29_28int_29_2c_20emscripten__allow_raw_pointers_29(GOT_data_internal___memory_base + 84627 | 0 | 0, GOT_func_internal_ManifoldPoint_get_m_positionWorldOnA_28int_29 | 0); + void_20emscripten__function_int_2c_20int_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20int_20_28__29_28int_29_2c_20emscripten__allow_raw_pointers_29(GOT_data_internal___memory_base + 84499 | 0 | 0, GOT_func_internal_ManifoldPoint_get_m_positionWorldOnB_28int_29 | 0); + void_20emscripten__function_int_2c_20int_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20int_20_28__29_28int_29_2c_20emscripten__allow_raw_pointers_29(GOT_data_internal___memory_base + 84536 | 0 | 0, GOT_func_internal_ManifoldPoint_get_m_normalWorldOnB_28int_29 | 0); + void_20emscripten__function_int_2c_20int_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20int_20_28__29_28int_29_2c_20emscripten__allow_raw_pointers_29(GOT_data_internal___memory_base + 84499 | 0 | 0, GOT_func_internal_ManifoldPoint_get_m_positionWorldOnB_28int_29 | 0); + void_20emscripten__function_int_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20int_20_28__29_28_29_2c_20emscripten__allow_raw_pointers_29(GOT_data_internal___memory_base + 66972 | 0 | 0, GOT_func_internal_DbvtBroadphase_new_28_29 | 0); + void_20emscripten__function_int_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20int_20_28__29_28_29_2c_20emscripten__allow_raw_pointers_29(GOT_data_internal___memory_base + 66806 | 0 | 0, GOT_func_internal_SequentialImpulseConstraintSolver_new_28_29 | 0); + void_20emscripten__function_void_2c_20int_2c_20int_2c_20unsigned_20int_2c_20unsigned_20int_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20void_20_28__29_28int_2c_20int_2c_20unsigned_20int_2c_20unsigned_20int_29_2c_20emscripten__allow_raw_pointers_29(GOT_data_internal___memory_base + 68790 | 0 | 0, GOT_func_internal_CollisionWorld_addCollisionObject_28int_2c_20int_2c_20unsigned_20int_2c_20unsigned_20int_29 | 0); + void_20emscripten__function_void_2c_20int_2c_20int_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20void_20_28__29_28int_2c_20int_29_2c_20emscripten__allow_raw_pointers_29(GOT_data_internal___memory_base + 68753 | 0 | 0, GOT_func_internal_CollisionWorld_removeCollisionObject_28int_2c_20int_29 | 0); + void_20emscripten__function_void_2c_20int_2c_20int_2c_20int_2c_20int_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20void_20_28__29_28int_2c_20int_2c_20int_2c_20int_29_2c_20emscripten__allow_raw_pointers_29(GOT_data_internal___memory_base + 67374 | 0 | 0, GOT_func_internal_CollisionWorld_rayTest_28int_2c_20int_2c_20int_2c_20int_29 | 0); + void_20emscripten__function_void_2c_20int_2c_20int_2c_20int_2c_20int_2c_20int_2c_20float_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20void_20_28__29_28int_2c_20int_2c_20int_2c_20int_2c_20int_2c_20float_29_2c_20emscripten__allow_raw_pointers_29(GOT_data_internal___memory_base + 67397 | 0 | 0, GOT_func_internal_CollisionWorld_convexSweepTest_28int_2c_20int_2c_20int_2c_20int_2c_20int_2c_20float_29 | 0); + void_20emscripten__function_void_2c_20int_2c_20int_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20void_20_28__29_28int_2c_20int_29_2c_20emscripten__allow_raw_pointers_29(GOT_data_internal___memory_base + 71111 | 0 | 0, GOT_func_internal_CollisionWorld_setDebugDrawer_28int_2c_20int_29 | 0); + void_20emscripten__function_void_2c_20int_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20void_20_28__29_28int_29_2c_20emscripten__allow_raw_pointers_29(GOT_data_internal___memory_base + 82240 | 0 | 0, GOT_func_internal_CollisionWorld_debugDrawWorld_28int_29 | 0); + void_20emscripten__function_int_2c_20int_2c_20int_2c_20int_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20int_20_28__29_28int_2c_20int_2c_20int_29_2c_20emscripten__allow_raw_pointers_29(GOT_data_internal___memory_base + 67203 | 0 | 0, GOT_func_internal_ccDiscreteDynamicsWorld_new_28int_2c_20int_2c_20int_29 | 0); + void_20emscripten__function_void_2c_20int_2c_20bool_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20void_20_28__29_28int_2c_20bool_29_2c_20emscripten__allow_raw_pointers_29(GOT_data_internal___memory_base + 76113 | 0 | 0, GOT_func_internal_ccDiscreteDynamicsWorld_setAllowSleep_28int_2c_20bool_29 | 0); + void_20emscripten__function_void_2c_20int_2c_20int_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20void_20_28__29_28int_2c_20int_29_2c_20emscripten__allow_raw_pointers_29(GOT_data_internal___memory_base + 65681 | 0 | 0, GOT_func_internal_DynamicsWorld_setGravity_28int_2c_20int_29 | 0); + void_20emscripten__function_void_2c_20int_2c_20float_2c_20int_2c_20float_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20void_20_28__29_28int_2c_20float_2c_20int_2c_20float_29_2c_20emscripten__allow_raw_pointers_29(GOT_data_internal___memory_base + 76731 | 0 | 0, GOT_func_internal_DynamicsWorld_stepSimulation_28int_2c_20float_2c_20int_2c_20float_29 | 0); + void_20emscripten__function_void_2c_20int_2c_20int_2c_20unsigned_20int_2c_20unsigned_20int_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20void_20_28__29_28int_2c_20int_2c_20unsigned_20int_2c_20unsigned_20int_29_2c_20emscripten__allow_raw_pointers_29(GOT_data_internal___memory_base + 66127 | 0 | 0, GOT_func_internal_DynamicsWorld_addRigidBody_28int_2c_20int_2c_20unsigned_20int_2c_20unsigned_20int_29 | 0); + void_20emscripten__function_void_2c_20int_2c_20int_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20void_20_28__29_28int_2c_20int_29_2c_20emscripten__allow_raw_pointers_29(GOT_data_internal___memory_base + 66097 | 0 | 0, GOT_func_internal_DynamicsWorld_removeRigidBody_28int_2c_20int_29 | 0); + void_20emscripten__function_void_2c_20int_2c_20int_2c_20bool_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20void_20_28__29_28int_2c_20int_2c_20bool_29_2c_20emscripten__allow_raw_pointers_29(GOT_data_internal___memory_base + 67753 | 0 | 0, GOT_func_internal_DynamicsWorld_addConstraint_28int_2c_20int_2c_20bool_29 | 0); + void_20emscripten__function_void_2c_20int_2c_20int_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20void_20_28__29_28int_2c_20int_29_2c_20emscripten__allow_raw_pointers_29(GOT_data_internal___memory_base + 67722 | 0 | 0, GOT_func_internal_DynamicsWorld_removeConstraint_28int_2c_20int_29 | 0); + void_20emscripten__function_void_2c_20int_2c_20int_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20void_20_28__29_28int_2c_20int_29_2c_20emscripten__allow_raw_pointers_29(GOT_data_internal___memory_base + 76563 | 0 | 0, GOT_func_internal_DynamicsWorld_addAction_28int_2c_20int_29 | 0); + void_20emscripten__function_void_2c_20int_2c_20int_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20void_20_28__29_28int_2c_20int_29_2c_20emscripten__allow_raw_pointers_29(GOT_data_internal___memory_base + 76536 | 0 | 0, GOT_func_internal_DynamicsWorld_removeAction_28int_2c_20int_29 | 0); + void_20emscripten__function_void_2c_20int_2c_20int_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20void_20_28__29_28int_2c_20int_29_2c_20emscripten__allow_raw_pointers_29(GOT_data_internal___memory_base + 82016 | 0 | 0, GOT_func_internal_DebugDraw_setDebugMode_28int_2c_20int_29 | 0); + void_20emscripten__function_int_2c_20int_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20int_20_28__29_28int_29_2c_20emscripten__allow_raw_pointers_29(GOT_data_internal___memory_base + 82039 | 0 | 0, GOT_func_internal_DebugDraw_getDebugMode_28int_29 | 0); + void_20emscripten__function_void_2c_20int_2c_20float_2c_20float_2c_20float_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20void_20_28__29_28int_2c_20float_2c_20float_2c_20float_29_2c_20emscripten__allow_raw_pointers_29(GOT_data_internal___memory_base + 70947 | 0 | 0, GOT_func_internal_DebugDraw_setActiveObjectColor_28int_2c_20float_2c_20float_2c_20float_29 | 0); + void_20emscripten__function_void_2c_20int_2c_20float_2c_20float_2c_20float_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20void_20_28__29_28int_2c_20float_2c_20float_2c_20float_29_2c_20emscripten__allow_raw_pointers_29(GOT_data_internal___memory_base + 70914 | 0 | 0, GOT_func_internal_DebugDraw_setDeactiveObjectColor_28int_2c_20float_2c_20float_2c_20float_29 | 0); + void_20emscripten__function_void_2c_20int_2c_20float_2c_20float_2c_20float_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20void_20_28__29_28int_2c_20float_2c_20float_2c_20float_29_2c_20emscripten__allow_raw_pointers_29(GOT_data_internal___memory_base + 70784 | 0 | 0, GOT_func_internal_DebugDraw_setWantsDeactivationObjectColor_28int_2c_20float_2c_20float_2c_20float_29 | 0); + void_20emscripten__function_void_2c_20int_2c_20float_2c_20float_2c_20float_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20void_20_28__29_28int_2c_20float_2c_20float_2c_20float_29_2c_20emscripten__allow_raw_pointers_29(GOT_data_internal___memory_base + 70826 | 0 | 0, GOT_func_internal_DebugDraw_setDisabledDeactivationObjectColor_28int_2c_20float_2c_20float_2c_20float_29 | 0); + void_20emscripten__function_void_2c_20int_2c_20float_2c_20float_2c_20float_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20void_20_28__29_28int_2c_20float_2c_20float_2c_20float_29_2c_20emscripten__allow_raw_pointers_29(GOT_data_internal___memory_base + 70871 | 0 | 0, GOT_func_internal_DebugDraw_setDisabledSimulationObjectColor_28int_2c_20float_2c_20float_2c_20float_29 | 0); + void_20emscripten__function_void_2c_20int_2c_20float_2c_20float_2c_20float_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20void_20_28__29_28int_2c_20float_2c_20float_2c_20float_29_2c_20emscripten__allow_raw_pointers_29(GOT_data_internal___memory_base + 70978 | 0 | 0, GOT_func_internal_DebugDraw_setAABBColor_28int_2c_20float_2c_20float_2c_20float_29 | 0); + void_20emscripten__function_void_2c_20int_2c_20float_2c_20float_2c_20float_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20void_20_28__29_28int_2c_20float_2c_20float_2c_20float_29_2c_20emscripten__allow_raw_pointers_29(GOT_data_internal___memory_base + 70719 | 0 | 0, GOT_func_internal_DebugDraw_setContactPointColor_28int_2c_20float_2c_20float_2c_20float_29 | 0); + void_20emscripten__function_void_2c_20int_2c_20float_2c_20float_2c_20float_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20void_20_28__29_28int_2c_20float_2c_20float_2c_20float_29_2c_20emscripten__allow_raw_pointers_29(GOT_data_internal___memory_base + 70750 | 0 | 0, GOT_func_internal_DebugDraw_setConstraintLimitColor_28int_2c_20float_2c_20float_2c_20float_29 | 0); + void_20emscripten__function_bool_2c_20int_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20bool_20_28__29_28int_29_2c_20emscripten__allow_raw_pointers_29(GOT_data_internal___memory_base + 68036 | 0 | 0, GOT_func_internal_RayCallback_hasHit_28int_29 | 0); + void_20emscripten__function_bool_2c_20int_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20bool_20_28__29_28int_29_2c_20emscripten__allow_raw_pointers_29(GOT_data_internal___memory_base + 68055 | 0 | 0, GOT_func_internal_ConvexCallback_hasHit_28int_29 | 0); + void_20emscripten__function_int_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20int_20_28__29_28_29_2c_20emscripten__allow_raw_pointers_29(GOT_data_internal___memory_base + 82895 | 0 | 0, GOT_func_internal_ccAllRayCallback_static_28_29 | 0); + void_20emscripten__function_void_2c_20int_2c_20int_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20void_20_28__29_28int_2c_20int_29_2c_20emscripten__allow_raw_pointers_29(GOT_data_internal___memory_base + 69881 | 0 | 0, GOT_func_internal_ccAllRayCallback_setFlags_28int_2c_20int_29 | 0); + void_20emscripten__function_void_2c_20int_2c_20int_2c_20int_2c_20unsigned_20int_2c_20bool_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20void_20_28__29_28int_2c_20int_2c_20int_2c_20unsigned_20int_2c_20bool_29_2c_20emscripten__allow_raw_pointers_29(GOT_data_internal___memory_base + 68325 | 0 | 0, GOT_func_internal_ccAllRayCallback_reset_28int_2c_20int_2c_20int_2c_20unsigned_20int_2c_20bool_29 | 0); + void_20emscripten__function_int_2c_20int_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20int_20_28__29_28int_29_2c_20emscripten__allow_raw_pointers_29(GOT_data_internal___memory_base + 82308 | 0 | 0, GOT_func_internal_ccAllRayCallback_getHitPointWorld_28int_29 | 0); + void_20emscripten__function_int_2c_20int_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20int_20_28__29_28int_29_2c_20emscripten__allow_raw_pointers_29(GOT_data_internal___memory_base + 82459 | 0 | 0, GOT_func_internal_ccAllRayCallback_getHitNormalWorld_28int_29 | 0); + void_20emscripten__function_int_2c_20int_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20int_20_28__29_28int_29_2c_20emscripten__allow_raw_pointers_29(GOT_data_internal___memory_base + 69415 | 0 | 0, GOT_func_internal_ccAllRayCallback_getCollisionShapePtrs_28int_29 | 0); + void_20emscripten__function_int_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20int_20_28__29_28_29_2c_20emscripten__allow_raw_pointers_29(GOT_data_internal___memory_base + 82867 | 0 | 0, GOT_func_internal_ccClosestRayCallback_static_28_29 | 0); + void_20emscripten__function_void_2c_20int_2c_20int_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20void_20_28__29_28int_2c_20int_29_2c_20emscripten__allow_raw_pointers_29(GOT_data_internal___memory_base + 69851 | 0 | 0, GOT_func_internal_ccClosestRayCallback_setFlags_28int_2c_20int_29 | 0); + void_20emscripten__function_void_2c_20int_2c_20int_2c_20int_2c_20unsigned_20int_2c_20bool_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20void_20_28__29_28int_2c_20int_2c_20int_2c_20unsigned_20int_2c_20bool_29_2c_20emscripten__allow_raw_pointers_29(GOT_data_internal___memory_base + 68298 | 0 | 0, GOT_func_internal_ccClosestRayCallback_reset_28int_2c_20int_2c_20int_2c_20unsigned_20int_2c_20bool_29 | 0); + void_20emscripten__function_int_2c_20int_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20int_20_28__29_28int_29_2c_20emscripten__allow_raw_pointers_29(GOT_data_internal___memory_base + 82270 | 0 | 0, GOT_func_internal_ccClosestRayCallback_getHitPointWorld_28int_29 | 0); + void_20emscripten__function_int_2c_20int_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20int_20_28__29_28int_29_2c_20emscripten__allow_raw_pointers_29(GOT_data_internal___memory_base + 82420 | 0 | 0, GOT_func_internal_ccClosestRayCallback_getHitNormalWorld_28int_29 | 0); + void_20emscripten__function_int_2c_20int_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20int_20_28__29_28int_29_2c_20emscripten__allow_raw_pointers_29(GOT_data_internal___memory_base + 70496 | 0 | 0, GOT_func_internal_ccClosestRayCallback_getCollisionShapePtr_28int_29 | 0); + void_20emscripten__function_int_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20int_20_28__29_28_29_2c_20emscripten__allow_raw_pointers_29(GOT_data_internal___memory_base + 82950 | 0 | 0, GOT_func_internal_ccAllConvexCallback_static_28_29 | 0); + void_20emscripten__function_void_2c_20int_2c_20int_2c_20int_2c_20unsigned_20int_2c_20bool_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20void_20_28__29_28int_2c_20int_2c_20int_2c_20unsigned_20int_2c_20bool_29_2c_20emscripten__allow_raw_pointers_29(GOT_data_internal___memory_base + 68378 | 0 | 0, GOT_func_internal_ccAllConvexCallback_reset_28int_2c_20int_2c_20int_2c_20unsigned_20int_2c_20bool_29 | 0); + void_20emscripten__function_int_2c_20int_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20int_20_28__29_28int_29_2c_20emscripten__allow_raw_pointers_29(GOT_data_internal___memory_base + 82383 | 0 | 0, GOT_func_internal_ccAllConvexCallback_getHitPointWorld_28int_29 | 0); + void_20emscripten__function_int_2c_20int_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20int_20_28__29_28int_29_2c_20emscripten__allow_raw_pointers_29(GOT_data_internal___memory_base + 82536 | 0 | 0, GOT_func_internal_ccAllConvexCallback_getHitNormalWorld_28int_29 | 0); + void_20emscripten__function_int_2c_20int_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20int_20_28__29_28int_29_2c_20emscripten__allow_raw_pointers_29(GOT_data_internal___memory_base + 69454 | 0 | 0, GOT_func_internal_ccAllConvexCallback_getCollisionShapePtrs_28int_29 | 0); + void_20emscripten__function_int_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20int_20_28__29_28_29_2c_20emscripten__allow_raw_pointers_29(GOT_data_internal___memory_base + 82919 | 0 | 0, GOT_func_internal_ccClosestConvexCallback_static_28_29 | 0); + void_20emscripten__function_void_2c_20int_2c_20int_2c_20int_2c_20unsigned_20int_2c_20bool_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20void_20_28__29_28int_2c_20int_2c_20int_2c_20unsigned_20int_2c_20bool_29_2c_20emscripten__allow_raw_pointers_29(GOT_data_internal___memory_base + 68348 | 0 | 0, GOT_func_internal_ccClosestConvexCallback_reset_28int_2c_20int_2c_20int_2c_20unsigned_20int_2c_20bool_29 | 0); + void_20emscripten__function_int_2c_20int_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20int_20_28__29_28int_29_2c_20emscripten__allow_raw_pointers_29(GOT_data_internal___memory_base + 82342 | 0 | 0, GOT_func_internal_ccClosestConvexCallback_getHitPointWorld_28int_29 | 0); + void_20emscripten__function_int_2c_20int_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20int_20_28__29_28int_29_2c_20emscripten__allow_raw_pointers_29(GOT_data_internal___memory_base + 82494 | 0 | 0, GOT_func_internal_ccClosestConvexCallback_getHitNormalWorld_28int_29 | 0); + void_20emscripten__function_int_2c_20int_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20int_20_28__29_28int_29_2c_20emscripten__allow_raw_pointers_29(GOT_data_internal___memory_base + 70538 | 0 | 0, GOT_func_internal_ccClosestConvexCallback_getCollisionShapePtr_28int_29 | 0); + void_20emscripten__function_int_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20int_20_28__29_28_29_2c_20emscripten__allow_raw_pointers_29(GOT_data_internal___memory_base + 66940 | 0 | 0, GOT_func_internal_ccMaterial_new_28_29 | 0); + void_20emscripten__function_void_2c_20int_2c_20float_2c_20float_2c_20float_2c_20float_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20void_20_28__29_28int_2c_20float_2c_20float_2c_20float_2c_20float_29_2c_20emscripten__allow_raw_pointers_29(GOT_data_internal___memory_base + 68413 | 0 | 0, GOT_func_internal_ccMaterial_set_28int_2c_20float_2c_20float_2c_20float_2c_20float_29 | 0); + void_20emscripten__function_int_2c_20int_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20int_20_28__29_28int_29_2c_20emscripten__allow_raw_pointers_29(GOT_data_internal___memory_base + 68634 | 0 | 0, GOT_func_internal_CharacterController_getGhostObject | 0); + void_20emscripten__function_int_2c_20int_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20int_20_28__29_28int_29_2c_20emscripten__allow_raw_pointers_29(GOT_data_internal___memory_base + 81617 | 0 | 0, GOT_func_internal_CharacterController_getCollisionShape | 0); + void_20emscripten__function_int_2c_20int_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20int_20_28__29_28int_29_2c_20emscripten__allow_raw_pointers_29(GOT_data_internal___memory_base + 69649 | 0 | 0, GOT_func_internal_ControllerHit_getHitWorldPos | 0); + void_20emscripten__function_int_2c_20int_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20int_20_28__29_28int_29_2c_20emscripten__allow_raw_pointers_29(GOT_data_internal___memory_base + 77565 | 0 | 0, GOT_func_internal_ControllerHit_getHitWorldNormal | 0); + void_20emscripten__function_int_2c_20int_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20int_20_28__29_28int_29_2c_20emscripten__allow_raw_pointers_29(GOT_data_internal___memory_base + 71081 | 0 | 0, GOT_func_internal_ControllerHit_getHitMotionDir | 0); + void_20emscripten__function_float_2c_20int_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20float_20_28__29_28int_29_2c_20emscripten__allow_raw_pointers_29(GOT_data_internal___memory_base + 77846 | 0 | 0, GOT_func_internal_ControllerHit_getHitMotionLength | 0); + void_20emscripten__function_int_2c_20int_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20int_20_28__29_28int_29_2c_20emscripten__allow_raw_pointers_29(GOT_data_internal___memory_base + 81518 | 0 | 0, GOT_func_internal_ControllerShapeHit_getHitShape | 0); + void_20emscripten__function_int_2c_20int_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20int_20_28__29_28int_29_2c_20emscripten__allow_raw_pointers_29(GOT_data_internal___memory_base + 68712 | 0 | 0, GOT_func_internal_ControllerShapeHit_getHitCollisionObject | 0); + void_20emscripten__function_int_2c_20int_2c_20int_2c_20float_2c_20float_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20int_20_28__29_28int_2c_20int_2c_20float_2c_20float_29_2c_20emscripten__allow_raw_pointers_29(GOT_data_internal___memory_base + 81053 | 0 | 0, GOT_func_internal_CharacterController_move | 0); + void_20emscripten__function_int_2c_20int_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20int_20_28__29_28int_29_2c_20emscripten__allow_raw_pointers_29(GOT_data_internal___memory_base + 76302 | 0 | 0, GOT_func_internal_CharacterController_getPosition | 0); + void_20emscripten__function_void_2c_20int_2c_20float_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20void_20_28__29_28int_2c_20float_29_2c_20emscripten__allow_raw_pointers_29(GOT_data_internal___memory_base + 68194 | 0 | 0, GOT_func_internal_CharacterController_setContactOffset | 0); + void_20emscripten__function_void_2c_20int_2c_20float_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20void_20_28__29_28int_2c_20float_29_2c_20emscripten__allow_raw_pointers_29(GOT_data_internal___memory_base + 68231 | 0 | 0, GOT_func_internal_CharacterController_setStepOffset | 0); + void_20emscripten__function_void_2c_20int_2c_20float_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20void_20_28__29_28int_2c_20float_29_2c_20emscripten__allow_raw_pointers_29(GOT_data_internal___memory_base + 68002 | 0 | 0, GOT_func_internal_CharacterController_setSlopeLimit | 0); + void_20emscripten__function_void_2c_20int_2c_20bool_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20void_20_28__29_28int_2c_20bool_29_2c_20emscripten__allow_raw_pointers_29(GOT_data_internal___memory_base + 76789 | 0 | 0, GOT_func_internal_CharacterController_setCollision | 0); + void_20emscripten__function_void_2c_20int_2c_20bool_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20void_20_28__29_28int_2c_20bool_29_2c_20emscripten__allow_raw_pointers_29(GOT_data_internal___memory_base + 65949 | 0 | 0, GOT_func_internal_CharacterController_setOverlapRecovery | 0); + void_20emscripten__function_int_2c_20float_2c_20float_2c_20float_2c_20int_2c_20int_2c_20int_2c_20float_2c_20float_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20int_20_28__29_28float_2c_20float_2c_20float_2c_20int_2c_20int_2c_20int_2c_20float_2c_20float_29_2c_20emscripten__allow_raw_pointers_29(GOT_data_internal___memory_base + 67262 | 0 | 0, GOT_func_internal_CapsuleCharacterControllerDesc_new | 0); + void_20emscripten__function_int_2c_20int_2c_20int_2c_20int_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20int_20_28__29_28int_2c_20int_2c_20int_29_2c_20emscripten__allow_raw_pointers_29(GOT_data_internal___memory_base + 66871 | 0 | 0, GOT_func_internal_CapsuleCharacterController_new | 0); + void_20emscripten__function_void_2c_20int_2c_20float_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20void_20_28__29_28int_2c_20float_29_2c_20emscripten__allow_raw_pointers_29(GOT_data_internal___memory_base + 69019 | 0 | 0, GOT_func_internal_CapsuleCharacterController_setRadius | 0); + void_20emscripten__function_void_2c_20int_2c_20float_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20void_20_28__29_28int_2c_20float_29_2c_20emscripten__allow_raw_pointers_29(GOT_data_internal___memory_base + 68100 | 0 | 0, GOT_func_internal_CapsuleCharacterController_setHeight | 0); + void_20emscripten__function_int_2c_20float_2c_20float_2c_20float_2c_20int_2c_20int_2c_20int_2c_20float_2c_20float_2c_20float_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20int_20_28__29_28float_2c_20float_2c_20float_2c_20int_2c_20int_2c_20int_2c_20float_2c_20float_2c_20float_29_2c_20emscripten__allow_raw_pointers_29(GOT_data_internal___memory_base + 67231 | 0 | 0, GOT_func_internal_BoxCharacterControllerDesc_new | 0); + void_20emscripten__function_int_2c_20int_2c_20int_2c_20int_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20int_20_28__29_28int_2c_20int_2c_20int_29_2c_20emscripten__allow_raw_pointers_29(GOT_data_internal___memory_base + 66844 | 0 | 0, GOT_func_internal_BoxCharacterController_new | 0); + void_20emscripten__function_void_2c_20int_2c_20float_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20void_20_28__29_28int_2c_20float_29_2c_20emscripten__allow_raw_pointers_29(GOT_data_internal___memory_base + 68157 | 0 | 0, GOT_func_internal_BoxCharacterController_setHalfHeight | 0); + void_20emscripten__function_void_2c_20int_2c_20float_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20void_20_28__29_28int_2c_20float_29_2c_20emscripten__allow_raw_pointers_29(GOT_data_internal___memory_base + 67794 | 0 | 0, GOT_func_internal_BoxCharacterController_setHalfSideExtent | 0); + void_20emscripten__function_void_2c_20int_2c_20float_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20void_20_28__29_28int_2c_20float_29_2c_20emscripten__allow_raw_pointers_29(GOT_data_internal___memory_base + 67835 | 0 | 0, GOT_func_internal_BoxCharacterController_setHalfForwardExtent | 0); + __stack_pointer = $2 + 960 | 0; + return; + } + + function emscripten__internal__InitFunc__InitFunc_28void_20_28__29_28_29_29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, $5 = 0; + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; + HEAP32[$5 >> 2] = HEAP32[($4 + 8 | 0) >> 2] | 0; + HEAP32[($5 + 4 | 0) >> 2] = 0; + FUNCTION_TABLE[HEAP32[($4 + 8 | 0) >> 2] | 0 | 0](); + _embind_register_bindings($5 | 0); + __stack_pointer = $4 + 16 | 0; + return $5 | 0; + } + + function btCollisionWorld__RayResultCallback__RayResultCallback_28_29($0) { + $0 = $0 | 0; + var $4 = 0, $3 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + HEAP32[$4 >> 2] = GOT_data_internal_vtable_20for_20btCollisionWorld__RayResultCallback + 8 | 0; + HEAPF32[($4 + 4 | 0) >> 2] = Math_fround(1.0); + HEAP32[($4 + 8 | 0) >> 2] = 0; + HEAP32[($4 + 16 | 0) >> 2] = 0; + return $4 | 0; + } + + function cc__ccClosestRayResultCallback___ccClosestRayResultCallback_28_29_1($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + cc__ccClosestRayResultCallback___ccClosestRayResultCallback_28_29($4 | 0) | 0; + operator_20delete_28void__29($4 | 0); + __stack_pointer = $3 + 16 | 0; + return; + } + + function cc__ccClosestRayResultCallback__needsCollision_28btBroadphaseProxy__29_20const($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, $5 = 0, $35 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[($4 + 8 | 0) >> 2] = $0; + HEAP32[($4 + 4 | 0) >> 2] = $1; + $5 = HEAP32[($4 + 8 | 0) >> 2] | 0; + label$1 : { + label$2 : { + if (!((HEAP32[((HEAP32[($4 + 4 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & (HEAP32[($5 + 12 | 0) >> 2] | 0) | 0)) { + break label$2 + } + label$3 : { + if ((HEAPU8[($5 + 88 | 0) >> 0] | 0) & 1 | 0) { + break label$3 + } + if (!((HEAP32[(HEAP32[($4 + 4 | 0) >> 2] | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$3 + } + HEAP32[$4 >> 2] = HEAP32[(HEAP32[($4 + 4 | 0) >> 2] | 0) >> 2] | 0; + (wasm2js_i32$0 = $4, wasm2js_i32$1 = (btCollisionObject__hasContactResponse_28_29_20const(HEAP32[$4 >> 2] | 0 | 0) | 0) & 1 | 0), HEAP8[(wasm2js_i32$0 + 15 | 0) >> 0] = wasm2js_i32$1; + break label$1; + } + HEAP8[($4 + 15 | 0) >> 0] = 1 & 1 | 0; + break label$1; + } + HEAP8[($4 + 15 | 0) >> 0] = 0 & 1 | 0; + } + $35 = (HEAPU8[($4 + 15 | 0) >> 0] | 0) & 1 | 0; + __stack_pointer = $4 + 16 | 0; + return $35 | 0; + } + + function btCollisionObject__hasContactResponse_28_29_20const($0) { + $0 = $0 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + return ((HEAP32[((HEAP32[($3 + 12 | 0) >> 2] | 0) + 204 | 0) >> 2] | 0) & 4 | 0 | 0) == (0 | 0) & 1 | 0 | 0; + } + + function cc__ccClosestRayResultCallback__addSingleResult_28btCollisionWorld__LocalRayResult__2c_20bool_29($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $5 = 0, $7 = 0, $37 = Math_fround(0), wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5 = __stack_pointer - 32 | 0; + __stack_pointer = $5; + HEAP32[($5 + 28 | 0) >> 2] = $0; + HEAP32[($5 + 24 | 0) >> 2] = $1; + HEAP8[($5 + 23 | 0) >> 0] = $2; + $7 = HEAP32[($5 + 28 | 0) >> 2] | 0; + (wasm2js_i32$0 = $5, wasm2js_i32$1 = btCollisionObject__getCollisionShape_28_29_20const(HEAP32[(HEAP32[($5 + 24 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + label$2 : { + if (!((btCollisionShape__isCompound_28_29_20const(HEAP32[($5 + 16 | 0) >> 2] | 0 | 0) | 0) & 1 | 0)) { + break label$2 + } + if (!((HEAP32[((HEAP32[($5 + 24 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($5 + 12 | 0) >> 2] = HEAP32[($5 + 16 | 0) >> 2] | 0; + HEAP32[($5 + 8 | 0) >> 2] = HEAP32[(HEAP32[((HEAP32[($5 + 24 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) >> 2] | 0; + (wasm2js_i32$0 = $7, wasm2js_i32$1 = btCollisionShape__getUserPointerAsInt_28_29_20const(btCompoundShape__getChildShape_28int_29_20const(HEAP32[($5 + 12 | 0) >> 2] | 0 | 0, HEAP32[($5 + 8 | 0) >> 2] | 0 | 0) | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 84 | 0) >> 2] = wasm2js_i32$1; + break label$1; + } + (wasm2js_i32$0 = $7, wasm2js_i32$1 = btCollisionShape__getUserPointerAsInt_28_29_20const(HEAP32[($5 + 16 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 84 | 0) >> 2] = wasm2js_i32$1; + } + $37 = Math_fround(btCollisionWorld__ClosestRayResultCallback__addSingleResult_28btCollisionWorld__LocalRayResult__2c_20bool_29($7 | 0, HEAP32[($5 + 24 | 0) >> 2] | 0 | 0, (HEAPU8[($5 + 23 | 0) >> 0] | 0) & 1 | 0 | 0)); + __stack_pointer = $5 + 32 | 0; + return Math_fround($37); + } + + function btCollisionObject__getCollisionShape_28_29_20const($0) { + $0 = $0 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + return HEAP32[((HEAP32[($3 + 12 | 0) >> 2] | 0) + 192 | 0) >> 2] | 0 | 0; + } + + function btCompoundShape__getChildShape_28int_29_20const($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, $10 = 0; + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + $10 = HEAP32[((btAlignedObjectArray_btCompoundShapeChild___operator_5b_5d_28int_29_20const((HEAP32[($4 + 12 | 0) >> 2] | 0) + 20 | 0 | 0, HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) | 0) + 64 | 0) >> 2] | 0; + __stack_pointer = $4 + 16 | 0; + return $10 | 0; + } + + function btCollisionWorld__ClosestRayResultCallback__addSingleResult_28btCollisionWorld__LocalRayResult__2c_20bool_29($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $5 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, $7 = 0, $15 = 0, $33 = 0, $35 = 0, $49 = 0, $51 = 0, $140 = 0, $150 = 0, $175 = 0, $188 = 0, $66 = Math_fround(0); + $5 = __stack_pointer - 32 | 0; + __stack_pointer = $5; + HEAP32[($5 + 28 | 0) >> 2] = $0; + HEAP32[($5 + 24 | 0) >> 2] = $1; + HEAP8[($5 + 23 | 0) >> 0] = $2; + $7 = HEAP32[($5 + 28 | 0) >> 2] | 0; + label$1 : { + if (Math_fround(HEAPF32[((HEAP32[($5 + 24 | 0) >> 2] | 0) + 24 | 0) >> 2]) <= Math_fround(HEAPF32[($7 + 4 | 0) >> 2]) & 1 | 0) { + break label$1 + } + $15 = GOT_data_internal___memory_base; + __assert_fail($15 + 76437 | 0 | 0, $15 + 79821 | 0 | 0, 275 | 0, $15 + 67923 | 0 | 0); + wasm2js_trap(); + } + HEAPF32[($7 + 4 | 0) >> 2] = Math_fround(HEAPF32[((HEAP32[($5 + 24 | 0) >> 2] | 0) + 24 | 0) >> 2]); + HEAP32[($7 + 8 | 0) >> 2] = HEAP32[(HEAP32[($5 + 24 | 0) >> 2] | 0) >> 2] | 0; + label$2 : { + label$3 : { + if (!((HEAPU8[($5 + 23 | 0) >> 0] | 0) & 1 | 0)) { + break label$3 + } + $33 = $7 + 52 | 0; + i64toi32_i32$2 = (HEAP32[($5 + 24 | 0) >> 2] | 0) + 8 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $140 = i64toi32_i32$0; + i64toi32_i32$0 = $33; + HEAP32[i64toi32_i32$0 >> 2] = $140; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $35 = 8; + i64toi32_i32$2 = i64toi32_i32$2 + $35 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $150 = i64toi32_i32$1; + i64toi32_i32$1 = $33 + $35 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $150; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + break label$2; + } + operator__28btMatrix3x3_20const__2c_20btVector3_20const__29($5 + 4 | 0 | 0, btTransform__getBasis_28_29_20const(btCollisionObject__getWorldTransform_28_29_20const(HEAP32[($7 + 8 | 0) >> 2] | 0 | 0) | 0 | 0) | 0 | 0, (HEAP32[($5 + 24 | 0) >> 2] | 0) + 8 | 0 | 0); + $49 = $7 + 52 | 0; + i64toi32_i32$2 = $5; + i64toi32_i32$0 = HEAP32[($5 + 4 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($5 + 8 | 0) >> 2] | 0; + $175 = i64toi32_i32$0; + i64toi32_i32$0 = $49; + HEAP32[i64toi32_i32$0 >> 2] = $175; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $51 = 8; + i64toi32_i32$2 = ($5 + 4 | 0) + $51 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $188 = i64toi32_i32$1; + i64toi32_i32$1 = $49 + $51 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $188; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + } + btVector3__setInterpolate3_28btVector3_20const__2c_20btVector3_20const__2c_20float_29($7 + 68 | 0 | 0, $7 + 20 | 0 | 0, $7 + 36 | 0 | 0, Math_fround(Math_fround(HEAPF32[((HEAP32[($5 + 24 | 0) >> 2] | 0) + 24 | 0) >> 2]))); + $66 = Math_fround(HEAPF32[((HEAP32[($5 + 24 | 0) >> 2] | 0) + 24 | 0) >> 2]); + __stack_pointer = $5 + 32 | 0; + return Math_fround($66); + } + + function btCollisionWorld__RayResultCallback___RayResultCallback_28_29($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + HEAP32[$4 >> 2] = GOT_data_internal_vtable_20for_20btCollisionWorld__RayResultCallback + 8 | 0; + return $4 | 0; + } + + function btCollisionWorld__ClosestRayResultCallback___ClosestRayResultCallback_28_29_1($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + btCollisionWorld__ClosestRayResultCallback___ClosestRayResultCallback_28_29($4 | 0) | 0; + operator_20delete_28void__29($4 | 0); + __stack_pointer = $3 + 16 | 0; + return; + } + + function btCollisionWorld__RayResultCallback__needsCollision_28btBroadphaseProxy__29_20const($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, $5 = 0, $20 = 0; + $4 = __stack_pointer - 16 | 0; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; + HEAP8[($4 + 7 | 0) >> 0] = ((HEAP32[((HEAP32[($4 + 8 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & (HEAP32[($5 + 12 | 0) >> 2] | 0) | 0 | 0) != (0 | 0) & 1 | 0; + $20 = 0; + label$1 : { + if (!((HEAPU8[($4 + 7 | 0) >> 0] | 0) & 1 | 0)) { + break label$1 + } + $20 = ((HEAP32[($5 + 12 | 0) >> 2] | 0) & (HEAP32[((HEAP32[($4 + 8 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) | 0 | 0) != (0 | 0); + } + HEAP8[($4 + 7 | 0) >> 0] = $20 & 1 | 0; + return (HEAPU8[($4 + 7 | 0) >> 0] | 0) & 1 | 0 | 0; + } + + function btCollisionObject__getWorldTransform_28_29_20const($0) { + $0 = $0 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + return (HEAP32[($3 + 12 | 0) >> 2] | 0) + 4 | 0 | 0; + } + + function btTransform__getBasis_28_29_20const($0) { + $0 = $0 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + return HEAP32[($3 + 12 | 0) >> 2] | 0 | 0; + } + + function btVector3__setInterpolate3_28btVector3_20const__2c_20btVector3_20const__2c_20float_29($0, $1, $2, $3) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = Math_fround($3); + var $6 = 0, $7 = 0; + $6 = __stack_pointer - 32 | 0; + HEAP32[($6 + 28 | 0) >> 2] = $0; + HEAP32[($6 + 24 | 0) >> 2] = $1; + HEAP32[($6 + 20 | 0) >> 2] = $2; + HEAPF32[($6 + 16 | 0) >> 2] = $3; + $7 = HEAP32[($6 + 28 | 0) >> 2] | 0; + HEAPF32[($6 + 12 | 0) >> 2] = Math_fround(Math_fround(1.0) - Math_fround(HEAPF32[($6 + 16 | 0) >> 2])); + HEAPF32[$7 >> 2] = Math_fround(Math_fround(Math_fround(HEAPF32[($6 + 12 | 0) >> 2]) * Math_fround(HEAPF32[(HEAP32[($6 + 24 | 0) >> 2] | 0) >> 2])) + Math_fround(Math_fround(HEAPF32[($6 + 16 | 0) >> 2]) * Math_fround(HEAPF32[(HEAP32[($6 + 20 | 0) >> 2] | 0) >> 2]))); + HEAPF32[($7 + 4 | 0) >> 2] = Math_fround(Math_fround(Math_fround(HEAPF32[($6 + 12 | 0) >> 2]) * Math_fround(HEAPF32[((HEAP32[($6 + 24 | 0) >> 2] | 0) + 4 | 0) >> 2])) + Math_fround(Math_fround(HEAPF32[($6 + 16 | 0) >> 2]) * Math_fround(HEAPF32[((HEAP32[($6 + 20 | 0) >> 2] | 0) + 4 | 0) >> 2]))); + HEAPF32[($7 + 8 | 0) >> 2] = Math_fround(Math_fround(Math_fround(HEAPF32[($6 + 12 | 0) >> 2]) * Math_fround(HEAPF32[((HEAP32[($6 + 24 | 0) >> 2] | 0) + 8 | 0) >> 2])) + Math_fround(Math_fround(HEAPF32[($6 + 16 | 0) >> 2]) * Math_fround(HEAPF32[((HEAP32[($6 + 20 | 0) >> 2] | 0) + 8 | 0) >> 2]))); + return; + } + + function btCollisionWorld__RayResultCallback___RayResultCallback_28_29_1($0) { + $0 = $0 | 0; + HEAP32[((__stack_pointer - 16 | 0) + 12 | 0) >> 2] = $0; + wasm2js_trap(); + } + + function btMatrix3x3__operator_5b_5d_28int_29_20const($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0; + $4 = __stack_pointer - 16 | 0; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + return (HEAP32[($4 + 12 | 0) >> 2] | 0) + ((HEAP32[($4 + 8 | 0) >> 2] | 0) << 4 | 0) | 0 | 0; + } + + function btVector3__dot_28btVector3_20const__29_20const($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, $5 = 0; + $4 = __stack_pointer - 16 | 0; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; + return Math_fround(Math_fround(Math_fround(Math_fround(HEAPF32[($5 + 8 | 0) >> 2]) * Math_fround(HEAPF32[((HEAP32[($4 + 8 | 0) >> 2] | 0) + 8 | 0) >> 2])) + Math_fround(Math_fround(Math_fround(HEAPF32[$5 >> 2]) * Math_fround(HEAPF32[(HEAP32[($4 + 8 | 0) >> 2] | 0) >> 2])) + Math_fround(Math_fround(HEAPF32[($5 + 4 | 0) >> 2]) * Math_fround(HEAPF32[((HEAP32[($4 + 8 | 0) >> 2] | 0) + 4 | 0) >> 2]))))); + } + + function btAlignedObjectArray_btCompoundShapeChild___operator_5b_5d_28int_29_20const($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, $14 = 0, $29 = 0, $5 = 0, $40 = 0; + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; + label$1 : { + if ((HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0) { + break label$1 + } + $14 = GOT_data_internal___memory_base; + __assert_fail($14 + 85840 | 0 | 0, $14 + 78192 | 0 | 0, 176 | 0, $14 + 83901 | 0 | 0); + wasm2js_trap(); + } + label$2 : { + if ((HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) < (btAlignedObjectArray_btCompoundShapeChild___size_28_29_20const($5 | 0) | 0 | 0) & 1 | 0) { + break label$2 + } + $29 = GOT_data_internal___memory_base; + __assert_fail($29 + 87321 | 0 | 0, $29 + 78192 | 0 | 0, 177 | 0, $29 + 83901 | 0 | 0); + wasm2js_trap(); + } + $40 = (HEAP32[($5 + 12 | 0) >> 2] | 0) + Math_imul(HEAP32[($4 + 8 | 0) >> 2] | 0, 80) | 0; + __stack_pointer = $4 + 16 | 0; + return $40 | 0; + } + + function btAlignedObjectArray_btCollisionObject_20const____btAlignedObjectArray_28_29($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + btAlignedAllocator_btCollisionObject_20const__2c_2016u___btAlignedAllocator_28_29($4 | 0) | 0; + btAlignedObjectArray_btCollisionObject_20const____init_28_29($4 | 0); + __stack_pointer = $3 + 16 | 0; + return $4 | 0; + } + + function btAlignedObjectArray_btVector3___btAlignedObjectArray_28_29($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + btAlignedAllocator_btVector3_2c_2016u___btAlignedAllocator_28_29($4 | 0) | 0; + btAlignedObjectArray_btVector3___init_28_29($4 | 0); + __stack_pointer = $3 + 16 | 0; + return $4 | 0; + } + + function btAlignedObjectArray_float___btAlignedObjectArray_28_29($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + btAlignedAllocator_float_2c_2016u___btAlignedAllocator_28_29($4 | 0) | 0; + btAlignedObjectArray_float___init_28_29($4 | 0); + __stack_pointer = $3 + 16 | 0; + return $4 | 0; + } + + function btAlignedAllocator_int_2c_2016u___btAlignedAllocator_28_29($0) { + $0 = $0 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + return HEAP32[($3 + 12 | 0) >> 2] | 0 | 0; + } + + function btAlignedObjectArray_int___init_28_29($0) { + $0 = $0 | 0; + var $4 = 0, $3 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + HEAP8[($4 + 16 | 0) >> 0] = 1; + HEAP32[($4 + 12 | 0) >> 2] = 0; + HEAP32[($4 + 4 | 0) >> 2] = 0; + HEAP32[($4 + 8 | 0) >> 2] = 0; + return; + } + + function cc__ccAllHitsRayResultCallback___ccAllHitsRayResultCallback_28_29_1($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + cc__ccAllHitsRayResultCallback___ccAllHitsRayResultCallback_28_29($4 | 0) | 0; + operator_20delete_28void__29($4 | 0); + __stack_pointer = $3 + 16 | 0; + return; + } + + function cc__ccAllHitsRayResultCallback__needsCollision_28btBroadphaseProxy__29_20const($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, $5 = 0, $35 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[($4 + 8 | 0) >> 2] = $0; + HEAP32[($4 + 4 | 0) >> 2] = $1; + $5 = HEAP32[($4 + 8 | 0) >> 2] | 0; + label$1 : { + label$2 : { + if (!((HEAP32[((HEAP32[($4 + 4 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & (HEAP32[($5 + 12 | 0) >> 2] | 0) | 0)) { + break label$2 + } + label$3 : { + if ((HEAPU8[($5 + 152 | 0) >> 0] | 0) & 1 | 0) { + break label$3 + } + if (!((HEAP32[(HEAP32[($4 + 4 | 0) >> 2] | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$3 + } + HEAP32[$4 >> 2] = HEAP32[(HEAP32[($4 + 4 | 0) >> 2] | 0) >> 2] | 0; + (wasm2js_i32$0 = $4, wasm2js_i32$1 = (btCollisionObject__hasContactResponse_28_29_20const(HEAP32[$4 >> 2] | 0 | 0) | 0) & 1 | 0), HEAP8[(wasm2js_i32$0 + 15 | 0) >> 0] = wasm2js_i32$1; + break label$1; + } + HEAP8[($4 + 15 | 0) >> 0] = 1 & 1 | 0; + break label$1; + } + HEAP8[($4 + 15 | 0) >> 0] = 0 & 1 | 0; + } + $35 = (HEAPU8[($4 + 15 | 0) >> 0] | 0) & 1 | 0; + __stack_pointer = $4 + 16 | 0; + return $35 | 0; + } + + function cc__ccAllHitsRayResultCallback__addSingleResult_28btCollisionWorld__LocalRayResult__2c_20bool_29($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $5 = 0, $7 = 0, $45 = Math_fround(0), wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5 = __stack_pointer - 32 | 0; + __stack_pointer = $5; + HEAP32[($5 + 28 | 0) >> 2] = $0; + HEAP32[($5 + 24 | 0) >> 2] = $1; + HEAP8[($5 + 23 | 0) >> 0] = $2; + $7 = HEAP32[($5 + 28 | 0) >> 2] | 0; + (wasm2js_i32$0 = $5, wasm2js_i32$1 = btCollisionObject__getCollisionShape_28_29_20const(HEAP32[(HEAP32[($5 + 24 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + label$2 : { + if (!((btCollisionShape__isCompound_28_29_20const(HEAP32[($5 + 16 | 0) >> 2] | 0 | 0) | 0) & 1 | 0)) { + break label$2 + } + if (!((HEAP32[((HEAP32[($5 + 24 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($5 + 12 | 0) >> 2] = HEAP32[($5 + 16 | 0) >> 2] | 0; + HEAP32[($5 + 8 | 0) >> 2] = HEAP32[(HEAP32[((HEAP32[($5 + 24 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) >> 2] | 0; + (wasm2js_i32$0 = $5, wasm2js_i32$1 = btCollisionShape__getUserPointerAsInt_28_29_20const(btCompoundShape__getChildShape_28int_29_20const(HEAP32[($5 + 12 | 0) >> 2] | 0 | 0, HEAP32[($5 + 8 | 0) >> 2] | 0 | 0) | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + btAlignedObjectArray_int___push_back_28int_20const__29($7 + 132 | 0 | 0, $5 + 4 | 0 | 0); + break label$1; + } + (wasm2js_i32$0 = $5, wasm2js_i32$1 = btCollisionShape__getUserPointerAsInt_28_29_20const(HEAP32[($5 + 16 | 0) >> 2] | 0 | 0) | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + btAlignedObjectArray_int___push_back_28int_20const__29($7 + 132 | 0 | 0, $5 | 0); + } + $45 = Math_fround(btCollisionWorld__AllHitsRayResultCallback__addSingleResult_28btCollisionWorld__LocalRayResult__2c_20bool_29($7 | 0, HEAP32[($5 + 24 | 0) >> 2] | 0 | 0, (HEAPU8[($5 + 23 | 0) >> 0] | 0) & 1 | 0 | 0)); + __stack_pointer = $5 + 32 | 0; + return Math_fround($45); + } + + function btAlignedObjectArray_int___push_back_28int_20const__29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $5 = 0, $4 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; + (wasm2js_i32$0 = $4, wasm2js_i32$1 = btAlignedObjectArray_int___size_28_29_20const($5 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + if (!((HEAP32[($4 + 4 | 0) >> 2] | 0 | 0) == (btAlignedObjectArray_int___capacity_28_29_20const($5 | 0) | 0 | 0) & 1 | 0)) { + break label$1 + } + btAlignedObjectArray_int___reserve_28int_29($5 | 0, btAlignedObjectArray_int___allocSize_28int_29($5 | 0, btAlignedObjectArray_int___size_28_29_20const($5 | 0) | 0 | 0) | 0 | 0); + } + HEAP32[((HEAP32[($5 + 12 | 0) >> 2] | 0) + ((HEAP32[($5 + 4 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = HEAP32[(HEAP32[($4 + 8 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($5 + 4 | 0) >> 2] = (HEAP32[($5 + 4 | 0) >> 2] | 0) + 1 | 0; + __stack_pointer = $4 + 16 | 0; + return; + } + + function btCollisionWorld__AllHitsRayResultCallback__addSingleResult_28btCollisionWorld__LocalRayResult__2c_20bool_29($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $5 = 0, i64toi32_i32$0 = 0, $7 = 0, i64toi32_i32$2 = 0, i64toi32_i32$1 = 0, $21 = 0, $22 = 0, $38 = 0, $128 = 0, $132 = 0, $166 = 0, $170 = 0, $68 = Math_fround(0); + $5 = __stack_pointer - 64 | 0; + __stack_pointer = $5; + HEAP32[($5 + 60 | 0) >> 2] = $0; + HEAP32[($5 + 56 | 0) >> 2] = $1; + HEAP8[($5 + 55 | 0) >> 0] = $2; + $7 = HEAP32[($5 + 60 | 0) >> 2] | 0; + HEAP32[($7 + 8 | 0) >> 2] = HEAP32[(HEAP32[($5 + 56 | 0) >> 2] | 0) >> 2] | 0; + btAlignedObjectArray_btCollisionObject_20const____push_back_28btCollisionObject_20const__20const__29($7 + 20 | 0 | 0, HEAP32[($5 + 56 | 0) >> 2] | 0 | 0); + btVector3__btVector3_28_29($5 + 32 | 0 | 0) | 0; + label$1 : { + label$2 : { + if (!((HEAPU8[($5 + 55 | 0) >> 0] | 0) & 1 | 0)) { + break label$2 + } + $21 = (HEAP32[($5 + 56 | 0) >> 2] | 0) + 8 | 0; + $22 = 8; + i64toi32_i32$2 = $21 + $22 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $128 = i64toi32_i32$0; + i64toi32_i32$0 = ($5 + 32 | 0) + $22 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $128; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$2 = $21; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $132 = i64toi32_i32$1; + i64toi32_i32$1 = $5; + HEAP32[($5 + 32 | 0) >> 2] = $132; + HEAP32[($5 + 36 | 0) >> 2] = i64toi32_i32$0; + break label$1; + } + operator__28btMatrix3x3_20const__2c_20btVector3_20const__29($5 + 16 | 0 | 0, btTransform__getBasis_28_29_20const(btCollisionObject__getWorldTransform_28_29_20const(HEAP32[($7 + 8 | 0) >> 2] | 0 | 0) | 0 | 0) | 0 | 0, (HEAP32[($5 + 56 | 0) >> 2] | 0) + 8 | 0 | 0); + $38 = 8; + i64toi32_i32$2 = ($5 + 16 | 0) + $38 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $166 = i64toi32_i32$0; + i64toi32_i32$0 = ($5 + 32 | 0) + $38 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $166; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$2 = $5; + i64toi32_i32$1 = HEAP32[($5 + 16 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($5 + 20 | 0) >> 2] | 0; + $170 = i64toi32_i32$1; + i64toi32_i32$1 = $5; + HEAP32[($5 + 32 | 0) >> 2] = $170; + HEAP32[($5 + 36 | 0) >> 2] = i64toi32_i32$0; + } + btAlignedObjectArray_btVector3___push_back_28btVector3_20const__29($7 + 72 | 0 | 0, $5 + 32 | 0 | 0); + btVector3__btVector3_28_29($5 | 0) | 0; + btVector3__setInterpolate3_28btVector3_20const__2c_20btVector3_20const__2c_20float_29($5 | 0, $7 + 40 | 0 | 0, $7 + 56 | 0 | 0, Math_fround(Math_fround(HEAPF32[((HEAP32[($5 + 56 | 0) >> 2] | 0) + 24 | 0) >> 2]))); + btAlignedObjectArray_btVector3___push_back_28btVector3_20const__29($7 + 92 | 0 | 0, $5 | 0); + btAlignedObjectArray_float___push_back_28float_20const__29($7 + 112 | 0 | 0, (HEAP32[($5 + 56 | 0) >> 2] | 0) + 24 | 0 | 0); + $68 = Math_fround(HEAPF32[($7 + 4 | 0) >> 2]); + __stack_pointer = $5 + 64 | 0; + return Math_fround($68); + } + + function btAlignedAllocator_btCollisionObject_20const__2c_2016u___btAlignedAllocator_28_29($0) { + $0 = $0 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + return HEAP32[($3 + 12 | 0) >> 2] | 0 | 0; + } + + function btAlignedObjectArray_btCollisionObject_20const____init_28_29($0) { + $0 = $0 | 0; + var $4 = 0, $3 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + HEAP8[($4 + 16 | 0) >> 0] = 1; + HEAP32[($4 + 12 | 0) >> 2] = 0; + HEAP32[($4 + 4 | 0) >> 2] = 0; + HEAP32[($4 + 8 | 0) >> 2] = 0; + return; + } + + function btAlignedAllocator_btVector3_2c_2016u___btAlignedAllocator_28_29($0) { + $0 = $0 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + return HEAP32[($3 + 12 | 0) >> 2] | 0 | 0; + } + + function btAlignedObjectArray_btVector3___init_28_29($0) { + $0 = $0 | 0; + var $4 = 0, $3 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + HEAP8[($4 + 16 | 0) >> 0] = 1; + HEAP32[($4 + 12 | 0) >> 2] = 0; + HEAP32[($4 + 4 | 0) >> 2] = 0; + HEAP32[($4 + 8 | 0) >> 2] = 0; + return; + } + + function btAlignedAllocator_float_2c_2016u___btAlignedAllocator_28_29($0) { + $0 = $0 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + return HEAP32[($3 + 12 | 0) >> 2] | 0 | 0; + } + + function btAlignedObjectArray_float___init_28_29($0) { + $0 = $0 | 0; + var $4 = 0, $3 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + HEAP8[($4 + 16 | 0) >> 0] = 1; + HEAP32[($4 + 12 | 0) >> 2] = 0; + HEAP32[($4 + 4 | 0) >> 2] = 0; + HEAP32[($4 + 8 | 0) >> 2] = 0; + return; + } + + function btAlignedObjectArray_float____btAlignedObjectArray_28_29($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + btAlignedObjectArray_float___clear_28_29($4 | 0); + __stack_pointer = $3 + 16 | 0; + return $4 | 0; + } + + function btAlignedObjectArray_btVector3____btAlignedObjectArray_28_29($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + btAlignedObjectArray_btVector3___clear_28_29($4 | 0); + __stack_pointer = $3 + 16 | 0; + return $4 | 0; + } + + function btAlignedObjectArray_btCollisionObject_20const_____btAlignedObjectArray_28_29($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + btAlignedObjectArray_btCollisionObject_20const____clear_28_29($4 | 0); + __stack_pointer = $3 + 16 | 0; + return $4 | 0; + } + + function btCollisionWorld__AllHitsRayResultCallback___AllHitsRayResultCallback_28_29_1($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + btCollisionWorld__AllHitsRayResultCallback___AllHitsRayResultCallback_28_29($4 | 0) | 0; + operator_20delete_28void__29($4 | 0); + __stack_pointer = $3 + 16 | 0; + return; + } + + function btAlignedObjectArray_btVector3___push_back_28btVector3_20const__29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $5 = 0, $4 = 0, i64toi32_i32$2 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $22 = 0, $25 = 0, $88 = 0, $98 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; + (wasm2js_i32$0 = $4, wasm2js_i32$1 = btAlignedObjectArray_btVector3___size_28_29_20const($5 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + if (!((HEAP32[($4 + 4 | 0) >> 2] | 0 | 0) == (btAlignedObjectArray_btVector3___capacity_28_29_20const($5 | 0) | 0 | 0) & 1 | 0)) { + break label$1 + } + btAlignedObjectArray_btVector3___reserve_28int_29($5 | 0, btAlignedObjectArray_btVector3___allocSize_28int_29($5 | 0, btAlignedObjectArray_btVector3___size_28_29_20const($5 | 0) | 0 | 0) | 0 | 0); + } + $22 = btVector3__operator_20new_28unsigned_20long_2c_20void__29(16 | 0, (HEAP32[($5 + 12 | 0) >> 2] | 0) + ((HEAP32[($5 + 4 | 0) >> 2] | 0) << 4 | 0) | 0 | 0) | 0; + i64toi32_i32$2 = HEAP32[($4 + 8 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $88 = i64toi32_i32$0; + i64toi32_i32$0 = $22; + HEAP32[i64toi32_i32$0 >> 2] = $88; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $25 = 8; + i64toi32_i32$2 = i64toi32_i32$2 + $25 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $98 = i64toi32_i32$1; + i64toi32_i32$1 = $22 + $25 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $98; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($5 + 4 | 0) >> 2] = (HEAP32[($5 + 4 | 0) >> 2] | 0) + 1 | 0; + __stack_pointer = $4 + 16 | 0; + return; + } + + function btAlignedObjectArray_float___push_back_28float_20const__29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $5 = 0, $4 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; + (wasm2js_i32$0 = $4, wasm2js_i32$1 = btAlignedObjectArray_float___size_28_29_20const($5 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + if (!((HEAP32[($4 + 4 | 0) >> 2] | 0 | 0) == (btAlignedObjectArray_float___capacity_28_29_20const($5 | 0) | 0 | 0) & 1 | 0)) { + break label$1 + } + btAlignedObjectArray_float___reserve_28int_29($5 | 0, btAlignedObjectArray_float___allocSize_28int_29($5 | 0, btAlignedObjectArray_float___size_28_29_20const($5 | 0) | 0 | 0) | 0 | 0); + } + HEAPF32[((HEAP32[($5 + 12 | 0) >> 2] | 0) + ((HEAP32[($5 + 4 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = Math_fround(HEAPF32[(HEAP32[($4 + 8 | 0) >> 2] | 0) >> 2]); + HEAP32[($5 + 4 | 0) >> 2] = (HEAP32[($5 + 4 | 0) >> 2] | 0) + 1 | 0; + __stack_pointer = $4 + 16 | 0; + return; + } + + function btAlignedObjectArray_float___clear_28_29($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + btAlignedObjectArray_float___destroy_28int_2c_20int_29($4 | 0, 0 | 0, btAlignedObjectArray_float___size_28_29_20const($4 | 0) | 0 | 0); + btAlignedObjectArray_float___deallocate_28_29($4 | 0); + btAlignedObjectArray_float___init_28_29($4 | 0); + __stack_pointer = $3 + 16 | 0; + return; + } + + function btAlignedObjectArray_btVector3___clear_28_29($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + btAlignedObjectArray_btVector3___destroy_28int_2c_20int_29($4 | 0, 0 | 0, btAlignedObjectArray_btVector3___size_28_29_20const($4 | 0) | 0 | 0); + btAlignedObjectArray_btVector3___deallocate_28_29($4 | 0); + btAlignedObjectArray_btVector3___init_28_29($4 | 0); + __stack_pointer = $3 + 16 | 0; + return; + } + + function btAlignedObjectArray_btCollisionObject_20const____clear_28_29($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + btAlignedObjectArray_btCollisionObject_20const____destroy_28int_2c_20int_29($4 | 0, 0 | 0, btAlignedObjectArray_btCollisionObject_20const____size_28_29_20const($4 | 0) | 0 | 0); + btAlignedObjectArray_btCollisionObject_20const____deallocate_28_29($4 | 0); + btAlignedObjectArray_btCollisionObject_20const____init_28_29($4 | 0); + __stack_pointer = $3 + 16 | 0; + return; + } + + function btAlignedObjectArray_float___size_28_29_20const($0) { + $0 = $0 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + return HEAP32[((HEAP32[($3 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0; + } + + function btAlignedObjectArray_float___destroy_28int_2c_20int_29($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $5 = 0; + $5 = __stack_pointer - 16 | 0; + HEAP32[($5 + 12 | 0) >> 2] = $0; + HEAP32[($5 + 8 | 0) >> 2] = $1; + HEAP32[($5 + 4 | 0) >> 2] = $2; + HEAP32[($5 + 12 | 0) >> 2] | 0; + HEAP32[$5 >> 2] = HEAP32[($5 + 8 | 0) >> 2] | 0; + label$1 : { + label$2 : while (1) { + if (!((HEAP32[$5 >> 2] | 0 | 0) < (HEAP32[($5 + 4 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$1 + } + HEAP32[$5 >> 2] = (HEAP32[$5 >> 2] | 0) + 1 | 0; + continue label$2; + }; + } + return; + } + + function btAlignedObjectArray_float___deallocate_28_29($0) { + $0 = $0 | 0; + var $4 = 0, $3 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + label$1 : { + if (!((HEAP32[($4 + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + label$2 : { + if (!((HEAPU8[($4 + 16 | 0) >> 0] | 0) & 1 | 0)) { + break label$2 + } + btAlignedAllocator_float_2c_2016u___deallocate_28float__29($4 | 0, HEAP32[($4 + 12 | 0) >> 2] | 0 | 0); + } + HEAP32[($4 + 12 | 0) >> 2] = 0; + } + __stack_pointer = $3 + 16 | 0; + return; + } + + function btAlignedAllocator_float_2c_2016u___deallocate_28float__29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0; + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + btAlignedFreeInternal_28void__29(HEAP32[($4 + 8 | 0) >> 2] | 0 | 0); + __stack_pointer = $4 + 16 | 0; + return; + } + + function btAlignedObjectArray_btVector3___destroy_28int_2c_20int_29($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $5 = 0; + $5 = __stack_pointer - 16 | 0; + HEAP32[($5 + 12 | 0) >> 2] = $0; + HEAP32[($5 + 8 | 0) >> 2] = $1; + HEAP32[($5 + 4 | 0) >> 2] = $2; + HEAP32[($5 + 12 | 0) >> 2] | 0; + HEAP32[$5 >> 2] = HEAP32[($5 + 8 | 0) >> 2] | 0; + label$1 : { + label$2 : while (1) { + if (!((HEAP32[$5 >> 2] | 0 | 0) < (HEAP32[($5 + 4 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$1 + } + HEAP32[$5 >> 2] = (HEAP32[$5 >> 2] | 0) + 1 | 0; + continue label$2; + }; + } + return; + } + + function btAlignedObjectArray_btVector3___deallocate_28_29($0) { + $0 = $0 | 0; + var $4 = 0, $3 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + label$1 : { + if (!((HEAP32[($4 + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + label$2 : { + if (!((HEAPU8[($4 + 16 | 0) >> 0] | 0) & 1 | 0)) { + break label$2 + } + btAlignedAllocator_btVector3_2c_2016u___deallocate_28btVector3__29($4 | 0, HEAP32[($4 + 12 | 0) >> 2] | 0 | 0); + } + HEAP32[($4 + 12 | 0) >> 2] = 0; + } + __stack_pointer = $3 + 16 | 0; + return; + } + + function btAlignedAllocator_btVector3_2c_2016u___deallocate_28btVector3__29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0; + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + btAlignedFreeInternal_28void__29(HEAP32[($4 + 8 | 0) >> 2] | 0 | 0); + __stack_pointer = $4 + 16 | 0; + return; + } + + function btAlignedObjectArray_btCollisionObject_20const____destroy_28int_2c_20int_29($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $5 = 0; + $5 = __stack_pointer - 16 | 0; + HEAP32[($5 + 12 | 0) >> 2] = $0; + HEAP32[($5 + 8 | 0) >> 2] = $1; + HEAP32[($5 + 4 | 0) >> 2] = $2; + HEAP32[($5 + 12 | 0) >> 2] | 0; + HEAP32[$5 >> 2] = HEAP32[($5 + 8 | 0) >> 2] | 0; + label$1 : { + label$2 : while (1) { + if (!((HEAP32[$5 >> 2] | 0 | 0) < (HEAP32[($5 + 4 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$1 + } + HEAP32[$5 >> 2] = (HEAP32[$5 >> 2] | 0) + 1 | 0; + continue label$2; + }; + } + return; + } + + function btAlignedObjectArray_btCollisionObject_20const____deallocate_28_29($0) { + $0 = $0 | 0; + var $4 = 0, $3 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + label$1 : { + if (!((HEAP32[($4 + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + label$2 : { + if (!((HEAPU8[($4 + 16 | 0) >> 0] | 0) & 1 | 0)) { + break label$2 + } + btAlignedAllocator_btCollisionObject_20const__2c_2016u___deallocate_28btCollisionObject_20const___29($4 | 0, HEAP32[($4 + 12 | 0) >> 2] | 0 | 0); + } + HEAP32[($4 + 12 | 0) >> 2] = 0; + } + __stack_pointer = $3 + 16 | 0; + return; + } + + function btAlignedAllocator_btCollisionObject_20const__2c_2016u___deallocate_28btCollisionObject_20const___29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0; + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + btAlignedFreeInternal_28void__29(HEAP32[($4 + 8 | 0) >> 2] | 0 | 0); + __stack_pointer = $4 + 16 | 0; + return; + } + + function btAlignedObjectArray_btCollisionObject_20const____capacity_28_29_20const($0) { + $0 = $0 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + return HEAP32[((HEAP32[($3 + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0; + } + + function btAlignedObjectArray_btCollisionObject_20const____allocSize_28int_29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, $9 = 0; + $4 = __stack_pointer - 16 | 0; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + label$1 : { + label$2 : { + if (!(HEAP32[($4 + 8 | 0) >> 2] | 0)) { + break label$2 + } + $9 = (HEAP32[($4 + 8 | 0) >> 2] | 0) << 1 | 0; + break label$1; + } + $9 = 1; + } + return $9 | 0; + } + + function btAlignedObjectArray_btCollisionObject_20const____reserve_28int_29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, $5 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; + label$1 : { + if (!((btAlignedObjectArray_btCollisionObject_20const____capacity_28_29_20const($5 | 0) | 0 | 0) < (HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$1 + } + (wasm2js_i32$0 = $4, wasm2js_i32$1 = btAlignedObjectArray_btCollisionObject_20const____allocate_28int_29($5 | 0, HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + btAlignedObjectArray_btCollisionObject_20const____copy_28int_2c_20int_2c_20btCollisionObject_20const___29_20const($5 | 0, 0 | 0, btAlignedObjectArray_btCollisionObject_20const____size_28_29_20const($5 | 0) | 0 | 0, HEAP32[($4 + 4 | 0) >> 2] | 0 | 0); + btAlignedObjectArray_btCollisionObject_20const____destroy_28int_2c_20int_29($5 | 0, 0 | 0, btAlignedObjectArray_btCollisionObject_20const____size_28_29_20const($5 | 0) | 0 | 0); + btAlignedObjectArray_btCollisionObject_20const____deallocate_28_29($5 | 0); + HEAP8[($5 + 16 | 0) >> 0] = 1; + HEAP32[($5 + 12 | 0) >> 2] = HEAP32[($4 + 4 | 0) >> 2] | 0; + HEAP32[($5 + 8 | 0) >> 2] = HEAP32[($4 + 8 | 0) >> 2] | 0; + } + __stack_pointer = $4 + 16 | 0; + return; + } + + function btAlignedObjectArray_btVector3___capacity_28_29_20const($0) { + $0 = $0 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + return HEAP32[((HEAP32[($3 + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0; + } + + function btAlignedObjectArray_btVector3___allocSize_28int_29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, $9 = 0; + $4 = __stack_pointer - 16 | 0; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + label$1 : { + label$2 : { + if (!(HEAP32[($4 + 8 | 0) >> 2] | 0)) { + break label$2 + } + $9 = (HEAP32[($4 + 8 | 0) >> 2] | 0) << 1 | 0; + break label$1; + } + $9 = 1; + } + return $9 | 0; + } + + function btAlignedObjectArray_btVector3___reserve_28int_29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, $5 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; + label$1 : { + if (!((btAlignedObjectArray_btVector3___capacity_28_29_20const($5 | 0) | 0 | 0) < (HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$1 + } + (wasm2js_i32$0 = $4, wasm2js_i32$1 = btAlignedObjectArray_btVector3___allocate_28int_29($5 | 0, HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + btAlignedObjectArray_btVector3___copy_28int_2c_20int_2c_20btVector3__29_20const($5 | 0, 0 | 0, btAlignedObjectArray_btVector3___size_28_29_20const($5 | 0) | 0 | 0, HEAP32[($4 + 4 | 0) >> 2] | 0 | 0); + btAlignedObjectArray_btVector3___destroy_28int_2c_20int_29($5 | 0, 0 | 0, btAlignedObjectArray_btVector3___size_28_29_20const($5 | 0) | 0 | 0); + btAlignedObjectArray_btVector3___deallocate_28_29($5 | 0); + HEAP8[($5 + 16 | 0) >> 0] = 1; + HEAP32[($5 + 12 | 0) >> 2] = HEAP32[($4 + 4 | 0) >> 2] | 0; + HEAP32[($5 + 8 | 0) >> 2] = HEAP32[($4 + 8 | 0) >> 2] | 0; + } + __stack_pointer = $4 + 16 | 0; + return; + } + + function btVector3__operator_20new_28unsigned_20long_2c_20void__29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0; + $4 = __stack_pointer - 16 | 0; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + return HEAP32[($4 + 8 | 0) >> 2] | 0 | 0; + } + + function btAlignedObjectArray_float___capacity_28_29_20const($0) { + $0 = $0 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + return HEAP32[((HEAP32[($3 + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0; + } + + function btAlignedObjectArray_float___allocSize_28int_29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, $9 = 0; + $4 = __stack_pointer - 16 | 0; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + label$1 : { + label$2 : { + if (!(HEAP32[($4 + 8 | 0) >> 2] | 0)) { + break label$2 + } + $9 = (HEAP32[($4 + 8 | 0) >> 2] | 0) << 1 | 0; + break label$1; + } + $9 = 1; + } + return $9 | 0; + } + + function btAlignedObjectArray_float___reserve_28int_29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, $5 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; + label$1 : { + if (!((btAlignedObjectArray_float___capacity_28_29_20const($5 | 0) | 0 | 0) < (HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$1 + } + (wasm2js_i32$0 = $4, wasm2js_i32$1 = btAlignedObjectArray_float___allocate_28int_29($5 | 0, HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + btAlignedObjectArray_float___copy_28int_2c_20int_2c_20float__29_20const($5 | 0, 0 | 0, btAlignedObjectArray_float___size_28_29_20const($5 | 0) | 0 | 0, HEAP32[($4 + 4 | 0) >> 2] | 0 | 0); + btAlignedObjectArray_float___destroy_28int_2c_20int_29($5 | 0, 0 | 0, btAlignedObjectArray_float___size_28_29_20const($5 | 0) | 0 | 0); + btAlignedObjectArray_float___deallocate_28_29($5 | 0); + HEAP8[($5 + 16 | 0) >> 0] = 1; + HEAP32[($5 + 12 | 0) >> 2] = HEAP32[($4 + 4 | 0) >> 2] | 0; + HEAP32[($5 + 8 | 0) >> 2] = HEAP32[($4 + 8 | 0) >> 2] | 0; + } + __stack_pointer = $4 + 16 | 0; + return; + } + + function btAlignedObjectArray_btCollisionObject_20const____allocate_28int_29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, $5 = 0, $11 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[($4 + 8 | 0) >> 2] = $0; + HEAP32[($4 + 4 | 0) >> 2] = $1; + $5 = HEAP32[($4 + 8 | 0) >> 2] | 0; + label$1 : { + label$2 : { + if (!(HEAP32[($4 + 4 | 0) >> 2] | 0)) { + break label$2 + } + (wasm2js_i32$0 = $4, wasm2js_i32$1 = btAlignedAllocator_btCollisionObject_20const__2c_2016u___allocate_28int_2c_20btCollisionObject_20const__20const___29($5 | 0, HEAP32[($4 + 4 | 0) >> 2] | 0 | 0, 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + break label$1; + } + HEAP32[($4 + 12 | 0) >> 2] = 0; + } + $11 = HEAP32[($4 + 12 | 0) >> 2] | 0; + __stack_pointer = $4 + 16 | 0; + return $11 | 0; + } + + function btAlignedObjectArray_btCollisionObject_20const____copy_28int_2c_20int_2c_20btCollisionObject_20const___29_20const($0, $1, $2, $3) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + var $6 = 0, $7 = 0; + $6 = __stack_pointer - 32 | 0; + HEAP32[($6 + 28 | 0) >> 2] = $0; + HEAP32[($6 + 24 | 0) >> 2] = $1; + HEAP32[($6 + 20 | 0) >> 2] = $2; + HEAP32[($6 + 16 | 0) >> 2] = $3; + $7 = HEAP32[($6 + 28 | 0) >> 2] | 0; + HEAP32[($6 + 12 | 0) >> 2] = HEAP32[($6 + 24 | 0) >> 2] | 0; + label$1 : { + label$2 : while (1) { + if (!((HEAP32[($6 + 12 | 0) >> 2] | 0 | 0) < (HEAP32[($6 + 20 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$1 + } + HEAP32[((HEAP32[($6 + 16 | 0) >> 2] | 0) + ((HEAP32[($6 + 12 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = HEAP32[((HEAP32[($7 + 12 | 0) >> 2] | 0) + ((HEAP32[($6 + 12 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; + HEAP32[($6 + 12 | 0) >> 2] = (HEAP32[($6 + 12 | 0) >> 2] | 0) + 1 | 0; + continue label$2; + }; + } + return; + } + + function btAlignedAllocator_btCollisionObject_20const__2c_2016u___allocate_28int_2c_20btCollisionObject_20const__20const___29($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $5 = 0, $10 = 0; + $5 = __stack_pointer - 16 | 0; + __stack_pointer = $5; + HEAP32[($5 + 12 | 0) >> 2] = $0; + HEAP32[($5 + 8 | 0) >> 2] = $1; + HEAP32[($5 + 4 | 0) >> 2] = $2; + $10 = btAlignedAllocInternal_28unsigned_20long_2c_20int_29((HEAP32[($5 + 8 | 0) >> 2] | 0) << 2 | 0 | 0, 16 | 0) | 0; + __stack_pointer = $5 + 16 | 0; + return $10 | 0; + } + + function btAlignedObjectArray_btVector3___allocate_28int_29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, $5 = 0, $11 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[($4 + 8 | 0) >> 2] = $0; + HEAP32[($4 + 4 | 0) >> 2] = $1; + $5 = HEAP32[($4 + 8 | 0) >> 2] | 0; + label$1 : { + label$2 : { + if (!(HEAP32[($4 + 4 | 0) >> 2] | 0)) { + break label$2 + } + (wasm2js_i32$0 = $4, wasm2js_i32$1 = btAlignedAllocator_btVector3_2c_2016u___allocate_28int_2c_20btVector3_20const___29($5 | 0, HEAP32[($4 + 4 | 0) >> 2] | 0 | 0, 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + break label$1; + } + HEAP32[($4 + 12 | 0) >> 2] = 0; + } + $11 = HEAP32[($4 + 12 | 0) >> 2] | 0; + __stack_pointer = $4 + 16 | 0; + return $11 | 0; + } + + function btAlignedObjectArray_btVector3___copy_28int_2c_20int_2c_20btVector3__29_20const($0, $1, $2, $3) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + var $6 = 0, i64toi32_i32$2 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $22 = 0, $29 = 0, $7 = 0, $97 = 0, $107 = 0; + $6 = __stack_pointer - 32 | 0; + __stack_pointer = $6; + HEAP32[($6 + 28 | 0) >> 2] = $0; + HEAP32[($6 + 24 | 0) >> 2] = $1; + HEAP32[($6 + 20 | 0) >> 2] = $2; + HEAP32[($6 + 16 | 0) >> 2] = $3; + $7 = HEAP32[($6 + 28 | 0) >> 2] | 0; + HEAP32[($6 + 12 | 0) >> 2] = HEAP32[($6 + 24 | 0) >> 2] | 0; + label$1 : { + label$2 : while (1) { + if (!((HEAP32[($6 + 12 | 0) >> 2] | 0 | 0) < (HEAP32[($6 + 20 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$1 + } + $22 = btVector3__operator_20new_28unsigned_20long_2c_20void__29(16 | 0, (HEAP32[($6 + 16 | 0) >> 2] | 0) + ((HEAP32[($6 + 12 | 0) >> 2] | 0) << 4 | 0) | 0 | 0) | 0; + i64toi32_i32$2 = (HEAP32[($7 + 12 | 0) >> 2] | 0) + ((HEAP32[($6 + 12 | 0) >> 2] | 0) << 4 | 0) | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $97 = i64toi32_i32$0; + i64toi32_i32$0 = $22; + HEAP32[i64toi32_i32$0 >> 2] = $97; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $29 = 8; + i64toi32_i32$2 = i64toi32_i32$2 + $29 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $107 = i64toi32_i32$1; + i64toi32_i32$1 = $22 + $29 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $107; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($6 + 12 | 0) >> 2] = (HEAP32[($6 + 12 | 0) >> 2] | 0) + 1 | 0; + continue label$2; + }; + } + __stack_pointer = $6 + 32 | 0; + return; + } + + function btAlignedAllocator_btVector3_2c_2016u___allocate_28int_2c_20btVector3_20const___29($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $5 = 0, $10 = 0; + $5 = __stack_pointer - 16 | 0; + __stack_pointer = $5; + HEAP32[($5 + 12 | 0) >> 2] = $0; + HEAP32[($5 + 8 | 0) >> 2] = $1; + HEAP32[($5 + 4 | 0) >> 2] = $2; + $10 = btAlignedAllocInternal_28unsigned_20long_2c_20int_29((HEAP32[($5 + 8 | 0) >> 2] | 0) << 4 | 0 | 0, 16 | 0) | 0; + __stack_pointer = $5 + 16 | 0; + return $10 | 0; + } + + function btAlignedObjectArray_float___allocate_28int_29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, $5 = 0, $11 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[($4 + 8 | 0) >> 2] = $0; + HEAP32[($4 + 4 | 0) >> 2] = $1; + $5 = HEAP32[($4 + 8 | 0) >> 2] | 0; + label$1 : { + label$2 : { + if (!(HEAP32[($4 + 4 | 0) >> 2] | 0)) { + break label$2 + } + (wasm2js_i32$0 = $4, wasm2js_i32$1 = btAlignedAllocator_float_2c_2016u___allocate_28int_2c_20float_20const___29($5 | 0, HEAP32[($4 + 4 | 0) >> 2] | 0 | 0, 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + break label$1; + } + HEAP32[($4 + 12 | 0) >> 2] = 0; + } + $11 = HEAP32[($4 + 12 | 0) >> 2] | 0; + __stack_pointer = $4 + 16 | 0; + return $11 | 0; + } + + function btAlignedObjectArray_float___copy_28int_2c_20int_2c_20float__29_20const($0, $1, $2, $3) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + var $6 = 0, $7 = 0; + $6 = __stack_pointer - 32 | 0; + HEAP32[($6 + 28 | 0) >> 2] = $0; + HEAP32[($6 + 24 | 0) >> 2] = $1; + HEAP32[($6 + 20 | 0) >> 2] = $2; + HEAP32[($6 + 16 | 0) >> 2] = $3; + $7 = HEAP32[($6 + 28 | 0) >> 2] | 0; + HEAP32[($6 + 12 | 0) >> 2] = HEAP32[($6 + 24 | 0) >> 2] | 0; + label$1 : { + label$2 : while (1) { + if (!((HEAP32[($6 + 12 | 0) >> 2] | 0 | 0) < (HEAP32[($6 + 20 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$1 + } + HEAPF32[((HEAP32[($6 + 16 | 0) >> 2] | 0) + ((HEAP32[($6 + 12 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = Math_fround(HEAPF32[((HEAP32[($7 + 12 | 0) >> 2] | 0) + ((HEAP32[($6 + 12 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2]); + HEAP32[($6 + 12 | 0) >> 2] = (HEAP32[($6 + 12 | 0) >> 2] | 0) + 1 | 0; + continue label$2; + }; + } + return; + } + + function btAlignedAllocator_float_2c_2016u___allocate_28int_2c_20float_20const___29($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $5 = 0, $10 = 0; + $5 = __stack_pointer - 16 | 0; + __stack_pointer = $5; + HEAP32[($5 + 12 | 0) >> 2] = $0; + HEAP32[($5 + 8 | 0) >> 2] = $1; + HEAP32[($5 + 4 | 0) >> 2] = $2; + $10 = btAlignedAllocInternal_28unsigned_20long_2c_20int_29((HEAP32[($5 + 8 | 0) >> 2] | 0) << 2 | 0 | 0, 16 | 0) | 0; + __stack_pointer = $5 + 16 | 0; + return $10 | 0; + } + + function btAlignedObjectArray_int___capacity_28_29_20const($0) { + $0 = $0 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + return HEAP32[((HEAP32[($3 + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0; + } + + function btAlignedObjectArray_int___allocSize_28int_29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, $9 = 0; + $4 = __stack_pointer - 16 | 0; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + label$1 : { + label$2 : { + if (!(HEAP32[($4 + 8 | 0) >> 2] | 0)) { + break label$2 + } + $9 = (HEAP32[($4 + 8 | 0) >> 2] | 0) << 1 | 0; + break label$1; + } + $9 = 1; + } + return $9 | 0; + } + + function btAlignedObjectArray_int___reserve_28int_29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, $5 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; + label$1 : { + if (!((btAlignedObjectArray_int___capacity_28_29_20const($5 | 0) | 0 | 0) < (HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$1 + } + (wasm2js_i32$0 = $4, wasm2js_i32$1 = btAlignedObjectArray_int___allocate_28int_29($5 | 0, HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + btAlignedObjectArray_int___copy_28int_2c_20int_2c_20int__29_20const($5 | 0, 0 | 0, btAlignedObjectArray_int___size_28_29_20const($5 | 0) | 0 | 0, HEAP32[($4 + 4 | 0) >> 2] | 0 | 0); + btAlignedObjectArray_int___destroy_28int_2c_20int_29($5 | 0, 0 | 0, btAlignedObjectArray_int___size_28_29_20const($5 | 0) | 0 | 0); + btAlignedObjectArray_int___deallocate_28_29($5 | 0); + HEAP8[($5 + 16 | 0) >> 0] = 1; + HEAP32[($5 + 12 | 0) >> 2] = HEAP32[($4 + 4 | 0) >> 2] | 0; + HEAP32[($5 + 8 | 0) >> 2] = HEAP32[($4 + 8 | 0) >> 2] | 0; + } + __stack_pointer = $4 + 16 | 0; + return; + } + + function btAlignedObjectArray_int___allocate_28int_29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, $5 = 0, $11 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[($4 + 8 | 0) >> 2] = $0; + HEAP32[($4 + 4 | 0) >> 2] = $1; + $5 = HEAP32[($4 + 8 | 0) >> 2] | 0; + label$1 : { + label$2 : { + if (!(HEAP32[($4 + 4 | 0) >> 2] | 0)) { + break label$2 + } + (wasm2js_i32$0 = $4, wasm2js_i32$1 = btAlignedAllocator_int_2c_2016u___allocate_28int_2c_20int_20const___29($5 | 0, HEAP32[($4 + 4 | 0) >> 2] | 0 | 0, 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + break label$1; + } + HEAP32[($4 + 12 | 0) >> 2] = 0; + } + $11 = HEAP32[($4 + 12 | 0) >> 2] | 0; + __stack_pointer = $4 + 16 | 0; + return $11 | 0; + } + + function btAlignedObjectArray_int___copy_28int_2c_20int_2c_20int__29_20const($0, $1, $2, $3) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + var $6 = 0, $7 = 0; + $6 = __stack_pointer - 32 | 0; + HEAP32[($6 + 28 | 0) >> 2] = $0; + HEAP32[($6 + 24 | 0) >> 2] = $1; + HEAP32[($6 + 20 | 0) >> 2] = $2; + HEAP32[($6 + 16 | 0) >> 2] = $3; + $7 = HEAP32[($6 + 28 | 0) >> 2] | 0; + HEAP32[($6 + 12 | 0) >> 2] = HEAP32[($6 + 24 | 0) >> 2] | 0; + label$1 : { + label$2 : while (1) { + if (!((HEAP32[($6 + 12 | 0) >> 2] | 0 | 0) < (HEAP32[($6 + 20 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$1 + } + HEAP32[((HEAP32[($6 + 16 | 0) >> 2] | 0) + ((HEAP32[($6 + 12 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = HEAP32[((HEAP32[($7 + 12 | 0) >> 2] | 0) + ((HEAP32[($6 + 12 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; + HEAP32[($6 + 12 | 0) >> 2] = (HEAP32[($6 + 12 | 0) >> 2] | 0) + 1 | 0; + continue label$2; + }; + } + return; + } + + function btAlignedObjectArray_int___destroy_28int_2c_20int_29($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $5 = 0; + $5 = __stack_pointer - 16 | 0; + HEAP32[($5 + 12 | 0) >> 2] = $0; + HEAP32[($5 + 8 | 0) >> 2] = $1; + HEAP32[($5 + 4 | 0) >> 2] = $2; + HEAP32[($5 + 12 | 0) >> 2] | 0; + HEAP32[$5 >> 2] = HEAP32[($5 + 8 | 0) >> 2] | 0; + label$1 : { + label$2 : while (1) { + if (!((HEAP32[$5 >> 2] | 0 | 0) < (HEAP32[($5 + 4 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$1 + } + HEAP32[$5 >> 2] = (HEAP32[$5 >> 2] | 0) + 1 | 0; + continue label$2; + }; + } + return; + } + + function btAlignedObjectArray_int___deallocate_28_29($0) { + $0 = $0 | 0; + var $4 = 0, $3 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + label$1 : { + if (!((HEAP32[($4 + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + label$2 : { + if (!((HEAPU8[($4 + 16 | 0) >> 0] | 0) & 1 | 0)) { + break label$2 + } + btAlignedAllocator_int_2c_2016u___deallocate_28int__29($4 | 0, HEAP32[($4 + 12 | 0) >> 2] | 0 | 0); + } + HEAP32[($4 + 12 | 0) >> 2] = 0; + } + __stack_pointer = $3 + 16 | 0; + return; + } + + function btAlignedAllocator_int_2c_2016u___allocate_28int_2c_20int_20const___29($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $5 = 0, $10 = 0; + $5 = __stack_pointer - 16 | 0; + __stack_pointer = $5; + HEAP32[($5 + 12 | 0) >> 2] = $0; + HEAP32[($5 + 8 | 0) >> 2] = $1; + HEAP32[($5 + 4 | 0) >> 2] = $2; + $10 = btAlignedAllocInternal_28unsigned_20long_2c_20int_29((HEAP32[($5 + 8 | 0) >> 2] | 0) << 2 | 0 | 0, 16 | 0) | 0; + __stack_pointer = $5 + 16 | 0; + return $10 | 0; + } + + function btAlignedAllocator_int_2c_2016u___deallocate_28int__29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0; + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + btAlignedFreeInternal_28void__29(HEAP32[($4 + 8 | 0) >> 2] | 0 | 0); + __stack_pointer = $4 + 16 | 0; + return; + } + + function btAlignedObjectArray_int___clear_28_29($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + btAlignedObjectArray_int___destroy_28int_2c_20int_29($4 | 0, 0 | 0, btAlignedObjectArray_int___size_28_29_20const($4 | 0) | 0 | 0); + btAlignedObjectArray_int___deallocate_28_29($4 | 0); + btAlignedObjectArray_int___init_28_29($4 | 0); + __stack_pointer = $3 + 16 | 0; + return; + } + + function btCollisionWorld__ConvexResultCallback__ConvexResultCallback_28_29($0) { + $0 = $0 | 0; + var $4 = 0, $3 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + HEAP32[$4 >> 2] = GOT_data_internal_vtable_20for_20btCollisionWorld__ConvexResultCallback + 8 | 0; + HEAPF32[($4 + 4 | 0) >> 2] = Math_fround(1.0); + HEAP32[($4 + 8 | 0) >> 2] = 1; + HEAP32[($4 + 12 | 0) >> 2] = -1; + HEAP32[($4 + 16 | 0) >> 2] = 0; + return $4 | 0; + } + + function cc__ccClosestConvexResultCallback___ccClosestConvexResultCallback_28_29_1($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + cc__ccClosestConvexResultCallback___ccClosestConvexResultCallback_28_29($4 | 0) | 0; + operator_20delete_28void__29($4 | 0); + __stack_pointer = $3 + 16 | 0; + return; + } + + function cc__ccClosestConvexResultCallback__needsCollision_28btBroadphaseProxy__29_20const($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, $5 = 0, $35 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[($4 + 8 | 0) >> 2] = $0; + HEAP32[($4 + 4 | 0) >> 2] = $1; + $5 = HEAP32[($4 + 8 | 0) >> 2] | 0; + label$1 : { + label$2 : { + if (!((HEAP32[((HEAP32[($4 + 4 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & (HEAP32[($5 + 12 | 0) >> 2] | 0) | 0)) { + break label$2 + } + label$3 : { + if ((HEAPU8[($5 + 88 | 0) >> 0] | 0) & 1 | 0) { + break label$3 + } + if (!((HEAP32[(HEAP32[($4 + 4 | 0) >> 2] | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$3 + } + HEAP32[$4 >> 2] = HEAP32[(HEAP32[($4 + 4 | 0) >> 2] | 0) >> 2] | 0; + (wasm2js_i32$0 = $4, wasm2js_i32$1 = (btCollisionObject__hasContactResponse_28_29_20const(HEAP32[$4 >> 2] | 0 | 0) | 0) & 1 | 0), HEAP8[(wasm2js_i32$0 + 15 | 0) >> 0] = wasm2js_i32$1; + break label$1; + } + HEAP8[($4 + 15 | 0) >> 0] = 1 & 1 | 0; + break label$1; + } + HEAP8[($4 + 15 | 0) >> 0] = 0 & 1 | 0; + } + $35 = (HEAPU8[($4 + 15 | 0) >> 0] | 0) & 1 | 0; + __stack_pointer = $4 + 16 | 0; + return $35 | 0; + } + + function cc__ccClosestConvexResultCallback__addSingleResult_28btCollisionWorld__LocalConvexResult__2c_20bool_29($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $5 = 0, $7 = 0, $16 = Math_fround(0), wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5 = __stack_pointer - 16 | 0; + __stack_pointer = $5; + HEAP32[($5 + 12 | 0) >> 2] = $0; + HEAP32[($5 + 8 | 0) >> 2] = $1; + HEAP8[($5 + 7 | 0) >> 0] = $2; + $7 = HEAP32[($5 + 12 | 0) >> 2] | 0; + (wasm2js_i32$0 = $7, wasm2js_i32$1 = btCollisionShape__getUserPointerAsInt_28_29_20const(HEAP32[((HEAP32[((HEAP32[($5 + 8 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 84 | 0) >> 2] = wasm2js_i32$1; + $16 = Math_fround(btCollisionWorld__ClosestConvexResultCallback__addSingleResult_28btCollisionWorld__LocalConvexResult__2c_20bool_29($7 | 0, HEAP32[($5 + 8 | 0) >> 2] | 0 | 0, (HEAPU8[($5 + 7 | 0) >> 0] | 0) & 1 | 0 | 0)); + __stack_pointer = $5 + 16 | 0; + return Math_fround($16); + } + + function btCollisionWorld__ClosestConvexResultCallback__addSingleResult_28btCollisionWorld__LocalConvexResult__2c_20bool_29($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $5 = 0, i64toi32_i32$2 = 0, $7 = 0, $15 = 0, $33 = 0, $35 = 0, $49 = 0, $51 = 0, $61 = 0, $63 = 0, $142 = 0, $152 = 0, $177 = 0, $190 = 0, $202 = 0, $212 = 0, $68 = Math_fround(0); + $5 = __stack_pointer - 32 | 0; + __stack_pointer = $5; + HEAP32[($5 + 28 | 0) >> 2] = $0; + HEAP32[($5 + 24 | 0) >> 2] = $1; + HEAP8[($5 + 23 | 0) >> 0] = $2; + $7 = HEAP32[($5 + 28 | 0) >> 2] | 0; + label$1 : { + if (Math_fround(HEAPF32[((HEAP32[($5 + 24 | 0) >> 2] | 0) + 40 | 0) >> 2]) <= Math_fround(HEAPF32[($7 + 4 | 0) >> 2]) & 1 | 0) { + break label$1 + } + $15 = GOT_data_internal___memory_base; + __assert_fail($15 + 76485 | 0 | 0, $15 + 79821 | 0 | 0, 408 | 0, $15 + 67923 | 0 | 0); + wasm2js_trap(); + } + HEAPF32[($7 + 4 | 0) >> 2] = Math_fround(HEAPF32[((HEAP32[($5 + 24 | 0) >> 2] | 0) + 40 | 0) >> 2]); + HEAP32[($7 + 16 | 0) >> 2] = HEAP32[(HEAP32[($5 + 24 | 0) >> 2] | 0) >> 2] | 0; + label$2 : { + label$3 : { + if (!((HEAPU8[($5 + 23 | 0) >> 0] | 0) & 1 | 0)) { + break label$3 + } + $33 = $7 + 52 | 0; + i64toi32_i32$2 = (HEAP32[($5 + 24 | 0) >> 2] | 0) + 8 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $142 = i64toi32_i32$0; + i64toi32_i32$0 = $33; + HEAP32[i64toi32_i32$0 >> 2] = $142; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $35 = 8; + i64toi32_i32$2 = i64toi32_i32$2 + $35 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $152 = i64toi32_i32$1; + i64toi32_i32$1 = $33 + $35 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $152; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + break label$2; + } + operator__28btMatrix3x3_20const__2c_20btVector3_20const__29($5 + 4 | 0 | 0, btTransform__getBasis_28_29_20const(btCollisionObject__getWorldTransform_28_29_20const(HEAP32[($7 + 16 | 0) >> 2] | 0 | 0) | 0 | 0) | 0 | 0, (HEAP32[($5 + 24 | 0) >> 2] | 0) + 8 | 0 | 0); + $49 = $7 + 52 | 0; + i64toi32_i32$2 = $5; + i64toi32_i32$0 = HEAP32[($5 + 4 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($5 + 8 | 0) >> 2] | 0; + $177 = i64toi32_i32$0; + i64toi32_i32$0 = $49; + HEAP32[i64toi32_i32$0 >> 2] = $177; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $51 = 8; + i64toi32_i32$2 = ($5 + 4 | 0) + $51 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $190 = i64toi32_i32$1; + i64toi32_i32$1 = $49 + $51 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $190; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + } + $61 = $7 + 68 | 0; + i64toi32_i32$2 = (HEAP32[($5 + 24 | 0) >> 2] | 0) + 24 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $202 = i64toi32_i32$0; + i64toi32_i32$0 = $61; + HEAP32[i64toi32_i32$0 >> 2] = $202; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $63 = 8; + i64toi32_i32$2 = i64toi32_i32$2 + $63 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $212 = i64toi32_i32$1; + i64toi32_i32$1 = $61 + $63 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $212; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + $68 = Math_fround(HEAPF32[((HEAP32[($5 + 24 | 0) >> 2] | 0) + 40 | 0) >> 2]); + __stack_pointer = $5 + 32 | 0; + return Math_fround($68); + } + + function btCollisionWorld__ConvexResultCallback___ConvexResultCallback_28_29($0) { + $0 = $0 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + return HEAP32[($3 + 12 | 0) >> 2] | 0 | 0; + } + + function btCollisionWorld__ClosestConvexResultCallback___ClosestConvexResultCallback_28_29_1($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + btCollisionWorld__ClosestConvexResultCallback___ClosestConvexResultCallback_28_29($4 | 0) | 0; + operator_20delete_28void__29($4 | 0); + __stack_pointer = $3 + 16 | 0; + return; + } + + function btCollisionWorld__ConvexResultCallback__needsCollision_28btBroadphaseProxy__29_20const($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, $5 = 0, $20 = 0; + $4 = __stack_pointer - 16 | 0; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; + HEAP8[($4 + 7 | 0) >> 0] = ((HEAP32[((HEAP32[($4 + 8 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & (HEAP32[($5 + 12 | 0) >> 2] | 0) | 0 | 0) != (0 | 0) & 1 | 0; + $20 = 0; + label$1 : { + if (!((HEAPU8[($4 + 7 | 0) >> 0] | 0) & 1 | 0)) { + break label$1 + } + $20 = ((HEAP32[($5 + 8 | 0) >> 2] | 0) & (HEAP32[((HEAP32[($4 + 8 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) | 0 | 0) != (0 | 0); + } + HEAP8[($4 + 7 | 0) >> 0] = $20 & 1 | 0; + return (HEAPU8[($4 + 7 | 0) >> 0] | 0) & 1 | 0 | 0; + } + + function btCollisionWorld__ConvexResultCallback___ConvexResultCallback_28_29_1($0) { + $0 = $0 | 0; + HEAP32[((__stack_pointer - 16 | 0) + 12 | 0) >> 2] = $0; + wasm2js_trap(); + } + + function cc__ccAllHitsConvexResultCallback___ccAllHitsConvexResultCallback_28_29_1($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + cc__ccAllHitsConvexResultCallback___ccAllHitsConvexResultCallback_28_29($4 | 0) | 0; + operator_20delete_28void__29($4 | 0); + __stack_pointer = $3 + 16 | 0; + return; + } + + function cc__ccAllHitsConvexResultCallback__needsCollision_28btBroadphaseProxy__29_20const($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, $5 = 0, $35 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[($4 + 8 | 0) >> 2] = $0; + HEAP32[($4 + 4 | 0) >> 2] = $1; + $5 = HEAP32[($4 + 8 | 0) >> 2] | 0; + label$1 : { + label$2 : { + if (!((HEAP32[((HEAP32[($4 + 4 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & (HEAP32[($5 + 12 | 0) >> 2] | 0) | 0)) { + break label$2 + } + label$3 : { + if ((HEAPU8[($5 + 152 | 0) >> 0] | 0) & 1 | 0) { + break label$3 + } + if (!((HEAP32[(HEAP32[($4 + 4 | 0) >> 2] | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$3 + } + HEAP32[$4 >> 2] = HEAP32[(HEAP32[($4 + 4 | 0) >> 2] | 0) >> 2] | 0; + (wasm2js_i32$0 = $4, wasm2js_i32$1 = (btCollisionObject__hasContactResponse_28_29_20const(HEAP32[$4 >> 2] | 0 | 0) | 0) & 1 | 0), HEAP8[(wasm2js_i32$0 + 15 | 0) >> 0] = wasm2js_i32$1; + break label$1; + } + HEAP8[($4 + 15 | 0) >> 0] = 1 & 1 | 0; + break label$1; + } + HEAP8[($4 + 15 | 0) >> 0] = 0 & 1 | 0; + } + $35 = (HEAPU8[($4 + 15 | 0) >> 0] | 0) & 1 | 0; + __stack_pointer = $4 + 16 | 0; + return $35 | 0; + } + + function cc__ccAllHitsConvexResultCallback__addSingleResult_28btCollisionWorld__LocalConvexResult__2c_20bool_29($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $5 = 0, $7 = 0, $19 = Math_fround(0), wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5 = __stack_pointer - 16 | 0; + __stack_pointer = $5; + HEAP32[($5 + 12 | 0) >> 2] = $0; + HEAP32[($5 + 8 | 0) >> 2] = $1; + HEAP8[($5 + 7 | 0) >> 0] = $2; + $7 = HEAP32[($5 + 12 | 0) >> 2] | 0; + (wasm2js_i32$0 = $5, wasm2js_i32$1 = btCollisionShape__getUserPointerAsInt_28_29_20const(HEAP32[((HEAP32[((HEAP32[($5 + 8 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + btAlignedObjectArray_int___push_back_28int_20const__29($7 + 132 | 0 | 0, $5 | 0); + $19 = Math_fround(btCollisionWorld__AllHitsConvexResultCallback__addSingleResult_28btCollisionWorld__LocalConvexResult__2c_20bool_29($7 | 0, HEAP32[($5 + 8 | 0) >> 2] | 0 | 0, (HEAPU8[($5 + 7 | 0) >> 0] | 0) & 1 | 0 | 0)); + __stack_pointer = $5 + 16 | 0; + return Math_fround($19); + } + + function btCollisionWorld__AllHitsConvexResultCallback__addSingleResult_28btCollisionWorld__LocalConvexResult__2c_20bool_29($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $5 = 0, i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, i64toi32_i32$1 = 0, $7 = 0, $22 = 0, $23 = 0, $37 = 0, $120 = 0, $124 = 0, $152 = 0, $156 = 0, $59 = Math_fround(0); + $5 = __stack_pointer - 48 | 0; + __stack_pointer = $5; + HEAP32[($5 + 44 | 0) >> 2] = $0; + HEAP32[($5 + 40 | 0) >> 2] = $1; + HEAP8[($5 + 39 | 0) >> 0] = $2; + $7 = HEAP32[($5 + 44 | 0) >> 2] | 0; + HEAP32[($7 + 16 | 0) >> 2] = HEAP32[(HEAP32[($5 + 40 | 0) >> 2] | 0) >> 2] | 0; + btAlignedObjectArray_btCollisionObject_20const____push_back_28btCollisionObject_20const__20const__29($7 + 20 | 0 | 0, $7 + 16 | 0 | 0); + btVector3__btVector3_28_29($5 + 16 | 0 | 0) | 0; + label$1 : { + label$2 : { + if (!((HEAPU8[($5 + 39 | 0) >> 0] | 0) & 1 | 0)) { + break label$2 + } + $22 = (HEAP32[($5 + 40 | 0) >> 2] | 0) + 8 | 0; + $23 = 8; + i64toi32_i32$2 = $22 + $23 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $120 = i64toi32_i32$0; + i64toi32_i32$0 = ($5 + 16 | 0) + $23 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $120; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$2 = $22; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $124 = i64toi32_i32$1; + i64toi32_i32$1 = $5; + HEAP32[($5 + 16 | 0) >> 2] = $124; + HEAP32[($5 + 20 | 0) >> 2] = i64toi32_i32$0; + break label$1; + } + operator__28btMatrix3x3_20const__2c_20btVector3_20const__29($5 | 0, btTransform__getBasis_28_29_20const(btCollisionObject__getWorldTransform_28_29_20const(HEAP32[($7 + 16 | 0) >> 2] | 0 | 0) | 0 | 0) | 0 | 0, (HEAP32[($5 + 40 | 0) >> 2] | 0) + 8 | 0 | 0); + $37 = 8; + i64toi32_i32$2 = $5 + $37 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $152 = i64toi32_i32$0; + i64toi32_i32$0 = ($5 + 16 | 0) + $37 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $152; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$2 = $5; + i64toi32_i32$1 = HEAP32[$5 >> 2] | 0; + i64toi32_i32$0 = HEAP32[($5 + 4 | 0) >> 2] | 0; + $156 = i64toi32_i32$1; + i64toi32_i32$1 = $5; + HEAP32[($5 + 16 | 0) >> 2] = $156; + HEAP32[($5 + 20 | 0) >> 2] = i64toi32_i32$0; + } + btAlignedObjectArray_btVector3___push_back_28btVector3_20const__29($7 + 72 | 0 | 0, $5 + 16 | 0 | 0); + btAlignedObjectArray_btVector3___push_back_28btVector3_20const__29($7 + 92 | 0 | 0, (HEAP32[($5 + 40 | 0) >> 2] | 0) + 24 | 0 | 0); + btAlignedObjectArray_float___push_back_28float_20const__29($7 + 112 | 0 | 0, (HEAP32[($5 + 40 | 0) >> 2] | 0) + 40 | 0 | 0); + $59 = Math_fround(HEAPF32[($7 + 4 | 0) >> 2]); + __stack_pointer = $5 + 48 | 0; + return Math_fround($59); + } + + function btCollisionWorld__AllHitsConvexResultCallback___AllHitsConvexResultCallback_28_29_1($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + btCollisionWorld__AllHitsConvexResultCallback___AllHitsConvexResultCallback_28_29($4 | 0) | 0; + operator_20delete_28void__29($4 | 0); + __stack_pointer = $3 + 16 | 0; + return; + } + + function btAlignedObjectArray_btCollisionObject_20const____findLinearSearch_28btCollisionObject_20const__20const__29_20const($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, $5 = 0, $32 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; + (wasm2js_i32$0 = $4, wasm2js_i32$1 = btAlignedObjectArray_btCollisionObject_20const____size_28_29_20const($5 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + HEAP32[$4 >> 2] = 0; + label$1 : { + label$2 : while (1) { + if (!((HEAP32[$4 >> 2] | 0 | 0) < (btAlignedObjectArray_btCollisionObject_20const____size_28_29_20const($5 | 0) | 0 | 0) & 1 | 0)) { + break label$1 + } + label$3 : { + if (!((HEAP32[((HEAP32[($5 + 12 | 0) >> 2] | 0) + ((HEAP32[$4 >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0) == (HEAP32[(HEAP32[($4 + 8 | 0) >> 2] | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$3 + } + HEAP32[($4 + 4 | 0) >> 2] = HEAP32[$4 >> 2] | 0; + break label$1; + } + HEAP32[$4 >> 2] = (HEAP32[$4 >> 2] | 0) + 1 | 0; + continue label$2; + }; + } + $32 = HEAP32[($4 + 4 | 0) >> 2] | 0; + __stack_pointer = $4 + 16 | 0; + return $32 | 0; + } + + function btAlignedObjectArray_btCollisionObject_20const____removeAtIndex_28int_29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, $5 = 0; + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; + label$1 : { + if (!((HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) < (btAlignedObjectArray_btCollisionObject_20const____size_28_29_20const($5 | 0) | 0 | 0) & 1 | 0)) { + break label$1 + } + btAlignedObjectArray_btCollisionObject_20const____swap_28int_2c_20int_29($5 | 0, HEAP32[($4 + 8 | 0) >> 2] | 0 | 0, (btAlignedObjectArray_btCollisionObject_20const____size_28_29_20const($5 | 0) | 0) - 1 | 0 | 0); + btAlignedObjectArray_btCollisionObject_20const____pop_back_28_29($5 | 0); + } + __stack_pointer = $4 + 16 | 0; + return; + } + + function btAlignedObjectArray_btCollisionObject_20const____swap_28int_2c_20int_29($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $5 = 0, $6 = 0; + $5 = __stack_pointer - 16 | 0; + HEAP32[($5 + 12 | 0) >> 2] = $0; + HEAP32[($5 + 8 | 0) >> 2] = $1; + HEAP32[($5 + 4 | 0) >> 2] = $2; + $6 = HEAP32[($5 + 12 | 0) >> 2] | 0; + HEAP32[$5 >> 2] = HEAP32[((HEAP32[($6 + 12 | 0) >> 2] | 0) + ((HEAP32[($5 + 8 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; + HEAP32[((HEAP32[($6 + 12 | 0) >> 2] | 0) + ((HEAP32[($5 + 8 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = HEAP32[((HEAP32[($6 + 12 | 0) >> 2] | 0) + ((HEAP32[($5 + 4 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; + HEAP32[((HEAP32[($6 + 12 | 0) >> 2] | 0) + ((HEAP32[($5 + 4 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = HEAP32[$5 >> 2] | 0; + return; + } + + function btAlignedObjectArray_btCollisionObject_20const____pop_back_28_29($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0, $13 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + label$1 : { + if ((HEAP32[($4 + 4 | 0) >> 2] | 0 | 0) > (0 | 0) & 1 | 0) { + break label$1 + } + $13 = GOT_data_internal___memory_base; + __assert_fail($13 + 85800 | 0 | 0, $13 + 78192 | 0 | 0, 201 | 0, $13 + 77711 | 0 | 0); + wasm2js_trap(); + } + HEAP32[($4 + 4 | 0) >> 2] = (HEAP32[($4 + 4 | 0) >> 2] | 0) + -1 | 0; + __stack_pointer = $3 + 16 | 0; + return; + } + + function btVector3__length2_28_29_20const($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0, $5 = Math_fround(0); + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + $5 = Math_fround(btVector3__dot_28btVector3_20const__29_20const($4 | 0, $4 | 0)); + __stack_pointer = $3 + 16 | 0; + return Math_fround($5); + } + + function btVector3__minAxis_28_29_20const($0) { + $0 = $0 | 0; + var $4 = 0, $3 = 0, $18 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + label$1 : { + label$2 : { + if (!(Math_fround(HEAPF32[$4 >> 2]) < Math_fround(HEAPF32[($4 + 4 | 0) >> 2]) & 1 | 0)) { + break label$2 + } + $18 = Math_fround(HEAPF32[$4 >> 2]) < Math_fround(HEAPF32[($4 + 8 | 0) >> 2]) & 1 | 0 ? 0 : 2; + break label$1; + } + $18 = Math_fround(HEAPF32[($4 + 4 | 0) >> 2]) < Math_fround(HEAPF32[($4 + 8 | 0) >> 2]) & 1 | 0 ? 1 : 2; + } + return $18 | 0; + } + + function btConvexInternalShape__setSafeMargin_28float_2c_20float_29($0, $1, $2) { + $0 = $0 | 0; + $1 = Math_fround($1); + $2 = Math_fround($2); + var $5 = 0, $6 = 0; + $5 = __stack_pointer - 16 | 0; + __stack_pointer = $5; + HEAP32[($5 + 12 | 0) >> 2] = $0; + HEAPF32[($5 + 8 | 0) >> 2] = $1; + HEAPF32[($5 + 4 | 0) >> 2] = $2; + $6 = HEAP32[($5 + 12 | 0) >> 2] | 0; + HEAPF32[$5 >> 2] = Math_fround(Math_fround(HEAPF32[($5 + 4 | 0) >> 2]) * Math_fround(HEAPF32[($5 + 8 | 0) >> 2])); + label$1 : { + if (!(Math_fround(HEAPF32[$5 >> 2]) < Math_fround(FUNCTION_TABLE[HEAP32[((HEAP32[$6 >> 2] | 0) + 48 | 0) >> 2] | 0 | 0]($6)) & 1 | 0)) { + break label$1 + } + FUNCTION_TABLE[HEAP32[((HEAP32[$6 >> 2] | 0) + 44 | 0) >> 2] | 0 | 0]($6, Math_fround(HEAPF32[$5 >> 2])); + } + __stack_pointer = $5 + 16 | 0; + return; + } + + function cc__ccCompoundShape___ccCompoundShape_28_29($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + btCompoundShape___btCompoundShape_28_29($4 | 0) | 0; + __stack_pointer = $3 + 16 | 0; + return $4 | 0; + } + + function cc__ccCompoundShape___ccCompoundShape_28_29_1($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + cc__ccCompoundShape___ccCompoundShape_28_29($4 | 0) | 0; + cc__ccCompoundShape__operator_20delete_28void__29($4 | 0); + __stack_pointer = $3 + 16 | 0; + return; + } + + function cc__ccCompoundShape__operator_20delete_28void__29($0) { + $0 = $0 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + btAlignedFreeInternal_28void__29(HEAP32[($3 + 12 | 0) >> 2] | 0 | 0); + __stack_pointer = $3 + 16 | 0; + return; + } + + function btCompoundShape__getLocalScaling_28_29_20const($0) { + $0 = $0 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + return (HEAP32[($3 + 12 | 0) >> 2] | 0) + 84 | 0 | 0; + } + + function btCompoundShape__getName_28_29_20const($0) { + $0 = $0 | 0; + HEAP32[((__stack_pointer - 16 | 0) + 12 | 0) >> 2] = $0; + return GOT_data_internal___memory_base + 82224 | 0 | 0; + } + + function btCollisionShape__getAnisotropicRollingFrictionDirection_28_29_20const($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0; + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[($4 + 12 | 0) >> 2] = $1; + HEAPF32[($4 + 8 | 0) >> 2] = Math_fround(1.0); + HEAPF32[($4 + 4 | 0) >> 2] = Math_fround(1.0); + HEAPF32[$4 >> 2] = Math_fround(1.0); + btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($0 | 0, $4 + 8 | 0 | 0, $4 + 4 | 0 | 0, $4 | 0) | 0; + __stack_pointer = $4 + 16 | 0; + return; + } + + function btCompoundShape__setMargin_28float_29($0, $1) { + $0 = $0 | 0; + $1 = Math_fround($1); + var $4 = 0; + $4 = __stack_pointer - 16 | 0; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAPF32[($4 + 8 | 0) >> 2] = $1; + HEAPF32[((HEAP32[($4 + 12 | 0) >> 2] | 0) + 80 | 0) >> 2] = Math_fround(HEAPF32[($4 + 8 | 0) >> 2]); + return; + } + + function btCompoundShape__getMargin_28_29_20const($0) { + $0 = $0 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + return Math_fround(Math_fround(HEAPF32[((HEAP32[($3 + 12 | 0) >> 2] | 0) + 80 | 0) >> 2])); + } + + function btCompoundShape__calculateSerializeBufferSize_28_29_20const($0) { + $0 = $0 | 0; + HEAP32[((__stack_pointer - 16 | 0) + 12 | 0) >> 2] = $0; + return 24 | 0; + } + + function btFmod_28float_2c_20float_29($0, $1) { + $0 = Math_fround($0); + $1 = Math_fround($1); + var $4 = 0, $7 = Math_fround(0); + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAPF32[($4 + 12 | 0) >> 2] = $0; + HEAPF32[($4 + 8 | 0) >> 2] = $1; + $7 = Math_fround(fmodf(Math_fround(Math_fround(HEAPF32[($4 + 12 | 0) >> 2])), Math_fround(Math_fround(HEAPF32[($4 + 8 | 0) >> 2])))); + __stack_pointer = $4 + 16 | 0; + return Math_fround($7); + } + + function btMatrix3x3__setValue_28float_20const__2c_20float_20const__2c_20float_20const__2c_20float_20const__2c_20float_20const__2c_20float_20const__2c_20float_20const__2c_20float_20const__2c_20float_20const__29($0, $1, $2, $3, $4, $5, $6, $7, $8, $9) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + $4 = $4 | 0; + $5 = $5 | 0; + $6 = $6 | 0; + $7 = $7 | 0; + $8 = $8 | 0; + $9 = $9 | 0; + var $12 = 0, $13 = 0; + $12 = __stack_pointer - 48 | 0; + __stack_pointer = $12; + HEAP32[($12 + 44 | 0) >> 2] = $0; + HEAP32[($12 + 40 | 0) >> 2] = $1; + HEAP32[($12 + 36 | 0) >> 2] = $2; + HEAP32[($12 + 32 | 0) >> 2] = $3; + HEAP32[($12 + 28 | 0) >> 2] = $4; + HEAP32[($12 + 24 | 0) >> 2] = $5; + HEAP32[($12 + 20 | 0) >> 2] = $6; + HEAP32[($12 + 16 | 0) >> 2] = $7; + HEAP32[($12 + 12 | 0) >> 2] = $8; + HEAP32[($12 + 8 | 0) >> 2] = $9; + $13 = HEAP32[($12 + 44 | 0) >> 2] | 0; + btVector3__setValue_28float_20const__2c_20float_20const__2c_20float_20const__29($13 | 0, HEAP32[($12 + 40 | 0) >> 2] | 0 | 0, HEAP32[($12 + 36 | 0) >> 2] | 0 | 0, HEAP32[($12 + 32 | 0) >> 2] | 0 | 0); + btVector3__setValue_28float_20const__2c_20float_20const__2c_20float_20const__29($13 + 16 | 0 | 0, HEAP32[($12 + 28 | 0) >> 2] | 0 | 0, HEAP32[($12 + 24 | 0) >> 2] | 0 | 0, HEAP32[($12 + 20 | 0) >> 2] | 0 | 0); + btVector3__setValue_28float_20const__2c_20float_20const__2c_20float_20const__29($13 + 32 | 0 | 0, HEAP32[($12 + 16 | 0) >> 2] | 0 | 0, HEAP32[($12 + 12 | 0) >> 2] | 0 | 0, HEAP32[($12 + 8 | 0) >> 2] | 0 | 0); + __stack_pointer = $12 + 48 | 0; + return; + } + + function btQuaternion__length2_28_29_20const($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0, $5 = Math_fround(0); + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + $5 = Math_fround(btQuaternion__dot_28btQuaternion_20const__29_20const($4 | 0, $4 | 0)); + __stack_pointer = $3 + 16 | 0; + return Math_fround($5); + } + + function btQuaternion__dot_28btQuaternion_20const__29_20const($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, $5 = 0, $16 = Math_fround(0), $22 = Math_fround(0), $27 = Math_fround(0); + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; + $16 = Math_fround(Math_fround(Math_fround(HEAPF32[$5 >> 2]) * Math_fround(HEAPF32[(btQuadWord__x_28_29_20const(HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) | 0) >> 2])) + Math_fround(Math_fround(HEAPF32[($5 + 4 | 0) >> 2]) * Math_fround(HEAPF32[(btQuadWord__y_28_29_20const(HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) | 0) >> 2]))); + $22 = Math_fround(Math_fround(Math_fround(HEAPF32[($5 + 8 | 0) >> 2]) * Math_fround(HEAPF32[(btQuadWord__z_28_29_20const(HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) | 0) >> 2])) + $16); + $27 = Math_fround(Math_fround(Math_fround(HEAPF32[($5 + 12 | 0) >> 2]) * Math_fround(HEAPF32[((HEAP32[($4 + 8 | 0) >> 2] | 0) + 12 | 0) >> 2])) + $22); + __stack_pointer = $4 + 16 | 0; + return Math_fround($27); + } + + function btMatrix3x3__btMatrix3x3_28float_20const__2c_20float_20const__2c_20float_20const__2c_20float_20const__2c_20float_20const__2c_20float_20const__2c_20float_20const__2c_20float_20const__2c_20float_20const__29($0, $1, $2, $3, $4, $5, $6, $7, $8, $9) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + $4 = $4 | 0; + $5 = $5 | 0; + $6 = $6 | 0; + $7 = $7 | 0; + $8 = $8 | 0; + $9 = $9 | 0; + var $12 = 0, $13 = 0, $16 = 0, $17 = 0, $19 = 0, $15 = 0, $34 = 0; + $12 = __stack_pointer - 48 | 0; + __stack_pointer = $12; + HEAP32[($12 + 40 | 0) >> 2] = $0; + HEAP32[($12 + 36 | 0) >> 2] = $1; + HEAP32[($12 + 32 | 0) >> 2] = $2; + HEAP32[($12 + 28 | 0) >> 2] = $3; + HEAP32[($12 + 24 | 0) >> 2] = $4; + HEAP32[($12 + 20 | 0) >> 2] = $5; + HEAP32[($12 + 16 | 0) >> 2] = $6; + HEAP32[($12 + 12 | 0) >> 2] = $7; + HEAP32[($12 + 8 | 0) >> 2] = $8; + HEAP32[($12 + 4 | 0) >> 2] = $9; + $13 = HEAP32[($12 + 40 | 0) >> 2] | 0; + HEAP32[($12 + 44 | 0) >> 2] = $13; + $15 = $13 + 48 | 0; + $16 = $13; + label$1 : while (1) { + $17 = $16; + btVector3__btVector3_28_29($17 | 0) | 0; + $19 = $17 + 16 | 0; + $16 = $19; + if (!(($19 | 0) == ($15 | 0) & 1 | 0)) { + continue label$1 + } + break label$1; + }; + btMatrix3x3__setValue_28float_20const__2c_20float_20const__2c_20float_20const__2c_20float_20const__2c_20float_20const__2c_20float_20const__2c_20float_20const__2c_20float_20const__2c_20float_20const__29($13 | 0, HEAP32[($12 + 36 | 0) >> 2] | 0 | 0, HEAP32[($12 + 32 | 0) >> 2] | 0 | 0, HEAP32[($12 + 28 | 0) >> 2] | 0 | 0, HEAP32[($12 + 24 | 0) >> 2] | 0 | 0, HEAP32[($12 + 20 | 0) >> 2] | 0 | 0, HEAP32[($12 + 16 | 0) >> 2] | 0 | 0, HEAP32[($12 + 12 | 0) >> 2] | 0 | 0, HEAP32[($12 + 8 | 0) >> 2] | 0 | 0, HEAP32[($12 + 4 | 0) >> 2] | 0 | 0); + $34 = HEAP32[($12 + 44 | 0) >> 2] | 0; + __stack_pointer = $12 + 48 | 0; + return $34 | 0; + } + + function btMatrix3x3__btMatrix3x3_28btMatrix3x3_20const__29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var i64toi32_i32$2 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $4 = 0, $5 = 0, $8 = 0, $9 = 0, $11 = 0, $19 = 0, $27 = 0, $29 = 0, $37 = 0, $39 = 0, $7 = 0, $85 = 0, $95 = 0, $107 = 0, $117 = 0, $129 = 0, $139 = 0, $43 = 0; + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[($4 + 8 | 0) >> 2] = $0; + HEAP32[($4 + 4 | 0) >> 2] = $1; + $5 = HEAP32[($4 + 8 | 0) >> 2] | 0; + HEAP32[($4 + 12 | 0) >> 2] = $5; + $7 = $5 + 48 | 0; + $8 = $5; + label$1 : while (1) { + $9 = $8; + btVector3__btVector3_28_29($9 | 0) | 0; + $11 = $9 + 16 | 0; + $8 = $11; + if (!(($11 | 0) == ($7 | 0) & 1 | 0)) { + continue label$1 + } + break label$1; + }; + i64toi32_i32$2 = HEAP32[($4 + 4 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $85 = i64toi32_i32$0; + i64toi32_i32$0 = $5; + HEAP32[i64toi32_i32$0 >> 2] = $85; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $19 = 8; + i64toi32_i32$2 = i64toi32_i32$2 + $19 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $95 = i64toi32_i32$1; + i64toi32_i32$1 = $5 + $19 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $95; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + $27 = $5 + 16 | 0; + i64toi32_i32$2 = (HEAP32[($4 + 4 | 0) >> 2] | 0) + 16 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $107 = i64toi32_i32$0; + i64toi32_i32$0 = $27; + HEAP32[i64toi32_i32$0 >> 2] = $107; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $29 = 8; + i64toi32_i32$2 = i64toi32_i32$2 + $29 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $117 = i64toi32_i32$1; + i64toi32_i32$1 = $27 + $29 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $117; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + $37 = $5 + 32 | 0; + i64toi32_i32$2 = (HEAP32[($4 + 4 | 0) >> 2] | 0) + 32 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $129 = i64toi32_i32$0; + i64toi32_i32$0 = $37; + HEAP32[i64toi32_i32$0 >> 2] = $129; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $39 = 8; + i64toi32_i32$2 = i64toi32_i32$2 + $39 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $139 = i64toi32_i32$1; + i64toi32_i32$1 = $37 + $39 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $139; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + $43 = HEAP32[($4 + 12 | 0) >> 2] | 0; + __stack_pointer = $4 + 16 | 0; + return $43 | 0; + } + + function btMotionState___btMotionState_28_29($0) { + $0 = $0 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + return HEAP32[($3 + 12 | 0) >> 2] | 0 | 0; + } + + function btTransform__inverse_28_29_20const($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, $5 = 0; + $4 = __stack_pointer - 96 | 0; + __stack_pointer = $4; + HEAP32[($4 + 92 | 0) >> 2] = $0; + HEAP32[($4 + 88 | 0) >> 2] = $1; + $5 = HEAP32[($4 + 88 | 0) >> 2] | 0; + btMatrix3x3__transpose_28_29_20const($4 + 40 | 0 | 0, $5 | 0); + operator__28btVector3_20const__29($4 + 8 | 0 | 0, $5 + 48 | 0 | 0); + operator__28btMatrix3x3_20const__2c_20btVector3_20const__29($4 + 24 | 0 | 0, $4 + 40 | 0 | 0, $4 + 8 | 0 | 0); + btTransform__btTransform_28btMatrix3x3_20const__2c_20btVector3_20const__29($0 | 0, $4 + 40 | 0 | 0, $4 + 24 | 0 | 0) | 0; + __stack_pointer = $4 + 96 | 0; + return; + } + + function btTransform__operator__28btTransform_20const__29_20const($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $5 = 0, $6 = 0; + $5 = __stack_pointer - 80 | 0; + __stack_pointer = $5; + HEAP32[($5 + 76 | 0) >> 2] = $0; + HEAP32[($5 + 72 | 0) >> 2] = $1; + HEAP32[($5 + 68 | 0) >> 2] = $2; + $6 = HEAP32[($5 + 72 | 0) >> 2] | 0; + operator__28btMatrix3x3_20const__2c_20btMatrix3x3_20const__29($5 + 20 | 0 | 0, $6 | 0, HEAP32[($5 + 68 | 0) >> 2] | 0 | 0); + btTransform__operator_28_29_28btVector3_20const__29_20const($5 + 4 | 0 | 0, $6 | 0, (HEAP32[($5 + 68 | 0) >> 2] | 0) + 48 | 0 | 0); + btTransform__btTransform_28btMatrix3x3_20const__2c_20btVector3_20const__29($0 | 0, $5 + 20 | 0 | 0, $5 + 4 | 0 | 0) | 0; + __stack_pointer = $5 + 80 | 0; + return; + } + + function btMotionState___btMotionState_28_29_1($0) { + $0 = $0 | 0; + HEAP32[((__stack_pointer - 16 | 0) + 12 | 0) >> 2] = $0; + wasm2js_trap(); + } + + function operator__28btMatrix3x3_20const__2c_20btMatrix3x3_20const__29($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $5 = 0, wasm2js_i32$0 = 0, wasm2js_f32$0 = Math_fround(0); + $5 = __stack_pointer - 48 | 0; + __stack_pointer = $5; + HEAP32[($5 + 44 | 0) >> 2] = $0; + HEAP32[($5 + 40 | 0) >> 2] = $1; + HEAP32[($5 + 36 | 0) >> 2] = $2; + (wasm2js_i32$0 = $5, wasm2js_f32$0 = Math_fround(btMatrix3x3__tdotx_28btVector3_20const__29_20const(HEAP32[($5 + 36 | 0) >> 2] | 0 | 0, btMatrix3x3__operator_5b_5d_28int_29_20const(HEAP32[($5 + 40 | 0) >> 2] | 0 | 0, 0 | 0) | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 32 | 0) >> 2] = wasm2js_f32$0; + (wasm2js_i32$0 = $5, wasm2js_f32$0 = Math_fround(btMatrix3x3__tdoty_28btVector3_20const__29_20const(HEAP32[($5 + 36 | 0) >> 2] | 0 | 0, btMatrix3x3__operator_5b_5d_28int_29_20const(HEAP32[($5 + 40 | 0) >> 2] | 0 | 0, 0 | 0) | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_f32$0; + (wasm2js_i32$0 = $5, wasm2js_f32$0 = Math_fround(btMatrix3x3__tdotz_28btVector3_20const__29_20const(HEAP32[($5 + 36 | 0) >> 2] | 0 | 0, btMatrix3x3__operator_5b_5d_28int_29_20const(HEAP32[($5 + 40 | 0) >> 2] | 0 | 0, 0 | 0) | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 24 | 0) >> 2] = wasm2js_f32$0; + (wasm2js_i32$0 = $5, wasm2js_f32$0 = Math_fround(btMatrix3x3__tdotx_28btVector3_20const__29_20const(HEAP32[($5 + 36 | 0) >> 2] | 0 | 0, btMatrix3x3__operator_5b_5d_28int_29_20const(HEAP32[($5 + 40 | 0) >> 2] | 0 | 0, 1 | 0) | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_f32$0; + (wasm2js_i32$0 = $5, wasm2js_f32$0 = Math_fround(btMatrix3x3__tdoty_28btVector3_20const__29_20const(HEAP32[($5 + 36 | 0) >> 2] | 0 | 0, btMatrix3x3__operator_5b_5d_28int_29_20const(HEAP32[($5 + 40 | 0) >> 2] | 0 | 0, 1 | 0) | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_f32$0; + (wasm2js_i32$0 = $5, wasm2js_f32$0 = Math_fround(btMatrix3x3__tdotz_28btVector3_20const__29_20const(HEAP32[($5 + 36 | 0) >> 2] | 0 | 0, btMatrix3x3__operator_5b_5d_28int_29_20const(HEAP32[($5 + 40 | 0) >> 2] | 0 | 0, 1 | 0) | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_f32$0; + (wasm2js_i32$0 = $5, wasm2js_f32$0 = Math_fround(btMatrix3x3__tdotx_28btVector3_20const__29_20const(HEAP32[($5 + 36 | 0) >> 2] | 0 | 0, btMatrix3x3__operator_5b_5d_28int_29_20const(HEAP32[($5 + 40 | 0) >> 2] | 0 | 0, 2 | 0) | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_f32$0; + (wasm2js_i32$0 = $5, wasm2js_f32$0 = Math_fround(btMatrix3x3__tdoty_28btVector3_20const__29_20const(HEAP32[($5 + 36 | 0) >> 2] | 0 | 0, btMatrix3x3__operator_5b_5d_28int_29_20const(HEAP32[($5 + 40 | 0) >> 2] | 0 | 0, 2 | 0) | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_f32$0; + (wasm2js_i32$0 = $5, wasm2js_f32$0 = Math_fround(btMatrix3x3__tdotz_28btVector3_20const__29_20const(HEAP32[($5 + 36 | 0) >> 2] | 0 | 0, btMatrix3x3__operator_5b_5d_28int_29_20const(HEAP32[($5 + 40 | 0) >> 2] | 0 | 0, 2 | 0) | 0 | 0))), HEAPF32[wasm2js_i32$0 >> 2] = wasm2js_f32$0; + btMatrix3x3__btMatrix3x3_28float_20const__2c_20float_20const__2c_20float_20const__2c_20float_20const__2c_20float_20const__2c_20float_20const__2c_20float_20const__2c_20float_20const__2c_20float_20const__29($0 | 0, $5 + 32 | 0 | 0, $5 + 28 | 0 | 0, $5 + 24 | 0 | 0, $5 + 20 | 0 | 0, $5 + 16 | 0 | 0, $5 + 12 | 0 | 0, $5 + 8 | 0 | 0, $5 + 4 | 0 | 0, $5 | 0) | 0; + __stack_pointer = $5 + 48 | 0; + return; + } + + function btTransform__operator_28_29_28btVector3_20const__29_20const($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $5 = 0, $6 = 0; + $5 = __stack_pointer - 32 | 0; + __stack_pointer = $5; + HEAP32[($5 + 28 | 0) >> 2] = $1; + HEAP32[($5 + 24 | 0) >> 2] = $2; + $6 = HEAP32[($5 + 28 | 0) >> 2] | 0; + btVector3__dot3_28btVector3_20const__2c_20btVector3_20const__2c_20btVector3_20const__29_20const($5 + 8 | 0 | 0, HEAP32[($5 + 24 | 0) >> 2] | 0 | 0, btMatrix3x3__operator_5b_5d_28int_29_20const($6 | 0, 0 | 0) | 0 | 0, btMatrix3x3__operator_5b_5d_28int_29_20const($6 | 0, 1 | 0) | 0 | 0, btMatrix3x3__operator_5b_5d_28int_29_20const($6 | 0, 2 | 0) | 0 | 0); + operator__28btVector3_20const__2c_20btVector3_20const__29_2($0 | 0, $5 + 8 | 0 | 0, $6 + 48 | 0 | 0); + __stack_pointer = $5 + 32 | 0; + return; + } + + function btMatrix3x3__transpose_28_29_20const($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $5 = 0, $4 = 0; + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + $5 = HEAP32[($4 + 8 | 0) >> 2] | 0; + btMatrix3x3__btMatrix3x3_28float_20const__2c_20float_20const__2c_20float_20const__2c_20float_20const__2c_20float_20const__2c_20float_20const__2c_20float_20const__2c_20float_20const__2c_20float_20const__29($0 | 0, btVector3__x_28_29_20const($5 | 0) | 0 | 0, btVector3__x_28_29_20const($5 + 16 | 0 | 0) | 0 | 0, btVector3__x_28_29_20const($5 + 32 | 0 | 0) | 0 | 0, btVector3__y_28_29_20const($5 | 0) | 0 | 0, btVector3__y_28_29_20const($5 + 16 | 0 | 0) | 0 | 0, btVector3__y_28_29_20const($5 + 32 | 0 | 0) | 0 | 0, btVector3__z_28_29_20const($5 | 0) | 0 | 0, btVector3__z_28_29_20const($5 + 16 | 0 | 0) | 0 | 0, btVector3__z_28_29_20const($5 + 32 | 0 | 0) | 0 | 0) | 0; + __stack_pointer = $4 + 16 | 0; + return; + } + + function operator__28btVector3_20const__29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0; + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[($4 + 12 | 0) >> 2] = $1; + HEAPF32[($4 + 8 | 0) >> 2] = Math_fround(-Math_fround(HEAPF32[(HEAP32[($4 + 12 | 0) >> 2] | 0) >> 2])); + HEAPF32[($4 + 4 | 0) >> 2] = Math_fround(-Math_fround(HEAPF32[((HEAP32[($4 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2])); + HEAPF32[$4 >> 2] = Math_fround(-Math_fround(HEAPF32[((HEAP32[($4 + 12 | 0) >> 2] | 0) + 8 | 0) >> 2])); + btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($0 | 0, $4 + 8 | 0 | 0, $4 + 4 | 0 | 0, $4 | 0) | 0; + __stack_pointer = $4 + 16 | 0; + return; + } + + function btMatrix3x3__operator__28btMatrix3x3_20const__29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var i64toi32_i32$2 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $4 = 0, $5 = 0, $8 = 0, $16 = 0, $18 = 0, $26 = 0, $28 = 0, $47 = 0, $57 = 0, $69 = 0, $79 = 0, $91 = 0, $101 = 0; + $4 = __stack_pointer - 16 | 0; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($4 + 8 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $47 = i64toi32_i32$0; + i64toi32_i32$0 = $5; + HEAP32[i64toi32_i32$0 >> 2] = $47; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $8 = 8; + i64toi32_i32$2 = i64toi32_i32$2 + $8 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $57 = i64toi32_i32$1; + i64toi32_i32$1 = $5 + $8 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $57; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + $16 = $5 + 16 | 0; + i64toi32_i32$2 = (HEAP32[($4 + 8 | 0) >> 2] | 0) + 16 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $69 = i64toi32_i32$0; + i64toi32_i32$0 = $16; + HEAP32[i64toi32_i32$0 >> 2] = $69; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $18 = 8; + i64toi32_i32$2 = i64toi32_i32$2 + $18 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $79 = i64toi32_i32$1; + i64toi32_i32$1 = $16 + $18 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $79; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + $26 = $5 + 32 | 0; + i64toi32_i32$2 = (HEAP32[($4 + 8 | 0) >> 2] | 0) + 32 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $91 = i64toi32_i32$0; + i64toi32_i32$0 = $26; + HEAP32[i64toi32_i32$0 >> 2] = $91; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $28 = 8; + i64toi32_i32$2 = i64toi32_i32$2 + $28 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $101 = i64toi32_i32$1; + i64toi32_i32$1 = $26 + $28 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $101; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + return $5 | 0; + } + + function btMatrix3x3__tdotx_28btVector3_20const__29_20const($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, $5 = 0, $20 = Math_fround(0), $29 = Math_fround(0); + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; + $20 = Math_fround(Math_fround(Math_fround(HEAPF32[(btVector3__x_28_29_20const($5 | 0) | 0) >> 2]) * Math_fround(HEAPF32[(btVector3__x_28_29_20const(HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) | 0) >> 2])) + Math_fround(Math_fround(HEAPF32[(btVector3__x_28_29_20const($5 + 16 | 0 | 0) | 0) >> 2]) * Math_fround(HEAPF32[(btVector3__y_28_29_20const(HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) | 0) >> 2]))); + $29 = Math_fround(Math_fround(Math_fround(HEAPF32[(btVector3__x_28_29_20const($5 + 32 | 0 | 0) | 0) >> 2]) * Math_fround(HEAPF32[(btVector3__z_28_29_20const(HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) | 0) >> 2])) + $20); + __stack_pointer = $4 + 16 | 0; + return Math_fround($29); + } + + function btMatrix3x3__tdoty_28btVector3_20const__29_20const($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, $5 = 0, $20 = Math_fround(0), $29 = Math_fround(0); + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; + $20 = Math_fround(Math_fround(Math_fround(HEAPF32[(btVector3__y_28_29_20const($5 | 0) | 0) >> 2]) * Math_fround(HEAPF32[(btVector3__x_28_29_20const(HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) | 0) >> 2])) + Math_fround(Math_fround(HEAPF32[(btVector3__y_28_29_20const($5 + 16 | 0 | 0) | 0) >> 2]) * Math_fround(HEAPF32[(btVector3__y_28_29_20const(HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) | 0) >> 2]))); + $29 = Math_fround(Math_fround(Math_fround(HEAPF32[(btVector3__y_28_29_20const($5 + 32 | 0 | 0) | 0) >> 2]) * Math_fround(HEAPF32[(btVector3__z_28_29_20const(HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) | 0) >> 2])) + $20); + __stack_pointer = $4 + 16 | 0; + return Math_fround($29); + } + + function btMatrix3x3__tdotz_28btVector3_20const__29_20const($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, $5 = 0, $20 = Math_fround(0), $29 = Math_fround(0); + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; + $20 = Math_fround(Math_fround(Math_fround(HEAPF32[(btVector3__z_28_29_20const($5 | 0) | 0) >> 2]) * Math_fround(HEAPF32[(btVector3__x_28_29_20const(HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) | 0) >> 2])) + Math_fround(Math_fround(HEAPF32[(btVector3__z_28_29_20const($5 + 16 | 0 | 0) | 0) >> 2]) * Math_fround(HEAPF32[(btVector3__y_28_29_20const(HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) | 0) >> 2]))); + $29 = Math_fround(Math_fround(Math_fround(HEAPF32[(btVector3__z_28_29_20const($5 + 32 | 0 | 0) | 0) >> 2]) * Math_fround(HEAPF32[(btVector3__z_28_29_20const(HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) | 0) >> 2])) + $20); + __stack_pointer = $4 + 16 | 0; + return Math_fround($29); + } + + function btVector3__dot3_28btVector3_20const__2c_20btVector3_20const__2c_20btVector3_20const__29_20const($0, $1, $2, $3, $4) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + $4 = $4 | 0; + var $7 = 0, $8 = 0, wasm2js_i32$0 = 0, wasm2js_f32$0 = Math_fround(0); + $7 = __stack_pointer - 32 | 0; + __stack_pointer = $7; + HEAP32[($7 + 28 | 0) >> 2] = $1; + HEAP32[($7 + 24 | 0) >> 2] = $2; + HEAP32[($7 + 20 | 0) >> 2] = $3; + HEAP32[($7 + 16 | 0) >> 2] = $4; + $8 = HEAP32[($7 + 28 | 0) >> 2] | 0; + (wasm2js_i32$0 = $7, wasm2js_f32$0 = Math_fround(btVector3__dot_28btVector3_20const__29_20const($8 | 0, HEAP32[($7 + 24 | 0) >> 2] | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_f32$0; + (wasm2js_i32$0 = $7, wasm2js_f32$0 = Math_fround(btVector3__dot_28btVector3_20const__29_20const($8 | 0, HEAP32[($7 + 20 | 0) >> 2] | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_f32$0; + (wasm2js_i32$0 = $7, wasm2js_f32$0 = Math_fround(btVector3__dot_28btVector3_20const__29_20const($8 | 0, HEAP32[($7 + 16 | 0) >> 2] | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_f32$0; + btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($0 | 0, $7 + 12 | 0 | 0, $7 + 8 | 0 | 0, $7 + 4 | 0 | 0) | 0; + __stack_pointer = $7 + 32 | 0; + return; + } + + function operator__28btVector3_20const__2c_20btVector3_20const__29_2($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $5 = 0; + $5 = __stack_pointer - 32 | 0; + __stack_pointer = $5; + HEAP32[($5 + 28 | 0) >> 2] = $1; + HEAP32[($5 + 24 | 0) >> 2] = $2; + HEAPF32[($5 + 20 | 0) >> 2] = Math_fround(Math_fround(HEAPF32[(HEAP32[($5 + 28 | 0) >> 2] | 0) >> 2]) + Math_fround(HEAPF32[(HEAP32[($5 + 24 | 0) >> 2] | 0) >> 2])); + HEAPF32[($5 + 16 | 0) >> 2] = Math_fround(Math_fround(HEAPF32[((HEAP32[($5 + 28 | 0) >> 2] | 0) + 4 | 0) >> 2]) + Math_fround(HEAPF32[((HEAP32[($5 + 24 | 0) >> 2] | 0) + 4 | 0) >> 2])); + HEAPF32[($5 + 12 | 0) >> 2] = Math_fround(Math_fround(HEAPF32[((HEAP32[($5 + 28 | 0) >> 2] | 0) + 8 | 0) >> 2]) + Math_fround(HEAPF32[((HEAP32[($5 + 24 | 0) >> 2] | 0) + 8 | 0) >> 2])); + btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($0 | 0, $5 + 20 | 0 | 0, $5 + 16 | 0 | 0, $5 + 12 | 0 | 0) | 0; + __stack_pointer = $5 + 32 | 0; + return; + } + + function void_20emscripten__internal__NoBaseClass__verify_btDebugDraw__28_29() { + + } + + function void_20const__20emscripten__internal__getActualType_btDebugDraw__28btDebugDraw__29($0) { + $0 = $0 | 0; + var $3 = 0, $5 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $5 = void_20const__20emscripten__internal__getLightTypeID_btDebugDraw__28btDebugDraw_20const__29(HEAP32[($3 + 12 | 0) >> 2] | 0 | 0) | 0; + __stack_pointer = $3 + 16 | 0; + return $5 | 0; + } + + function void_20_28_emscripten__internal__NoBaseClass__getUpcaster_btDebugDraw__28_29_29_28_29() { + return 0 | 0; + } + + function void_20_28_emscripten__internal__NoBaseClass__getDowncaster_btDebugDraw__28_29_29_28_29() { + return 0 | 0; + } + + function void_20emscripten__internal__raw_destructor_btDebugDraw__28btDebugDraw__29($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + label$1 : { + if (($4 | 0) == (0 | 0) & 1 | 0) { + break label$1 + } + FUNCTION_TABLE[HEAP32[((HEAP32[$4 >> 2] | 0) + 4 | 0) >> 2] | 0 | 0]($4); + } + __stack_pointer = $3 + 16 | 0; + return; + } + + function emscripten__internal__TypeID_btDebugDraw_2c_20void___get_28_29() { + return emscripten__internal__LightTypeID_btDebugDraw___get_28_29() | 0 | 0; + } + + function emscripten__internal__TypeID_emscripten__internal__AllowedRawPointer_btDebugDraw__2c_20void___get_28_29() { + return emscripten__internal__LightTypeID_btDebugDraw____get_28_29() | 0 | 0; + } + + function emscripten__internal__TypeID_emscripten__internal__AllowedRawPointer_btDebugDraw_20const__2c_20void___get_28_29() { + return emscripten__internal__LightTypeID_btDebugDraw_20const____get_28_29() | 0 | 0; + } + + function emscripten__internal__NoBaseClass__get_28_29() { + return 0 | 0; + } + + function char_20const__20emscripten__internal__getGenericSignature_int_2c_20int__28_29() { + return GOT_data_internal_char_20const__20emscripten__internal__getGenericSignature_int_2c_20int__28_29__signature | 0; + } + + function char_20const__20emscripten__internal__getGenericSignature_void__28_29() { + return GOT_data_internal_char_20const__20emscripten__internal__getGenericSignature_void__28_29__signature | 0; + } + + function char_20const__20emscripten__internal__getGenericSignature_void_2c_20int__28_29() { + return GOT_data_internal_char_20const__20emscripten__internal__getGenericSignature_void_2c_20int__28_29__signature | 0; + } + + function void_20emscripten__internal__RegisterClassMethod_void_20_28btIDebugDraw____29_28_29___invoke_btDebugDraw__28char_20const__2c_20void_20_28btIDebugDraw____29_28_29_29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, $5 = 0, $6 = 0, $8 = 0, $9 = 0, $13 = 0, $17 = 0; + $4 = __stack_pointer - 32 | 0; + __stack_pointer = $4; + $5 = HEAP32[$1 >> 2] | 0; + $6 = HEAP32[($1 + 4 | 0) >> 2] | 0; + HEAP32[($4 + 24 | 0) >> 2] = $0; + HEAP32[($4 + 20 | 0) >> 2] = $6; + HEAP32[($4 + 16 | 0) >> 2] = $5; + HEAP32[($4 + 12 | 0) >> 2] = GOT_func_internal_emscripten__internal__MethodInvoker_void_20_28btIDebugDraw____29_28_29_2c_20void_2c_20btIDebugDraw____invoke_28void_20_28btIDebugDraw____20const__29_28_29_2c_20btIDebugDraw__29; + $8 = emscripten__internal__TypeID_btIDebugDraw_2c_20void___get_28_29() | 0; + $9 = HEAP32[($4 + 24 | 0) >> 2] | 0; + $13 = emscripten__internal__WithPolicies____ArgTypeList_void_2c_20emscripten__internal__AllowedRawPointer_btIDebugDraw____getCount_28_29_20const($4 + 11 | 0 | 0) | 0; + $17 = emscripten__internal__WithPolicies____ArgTypeList_void_2c_20emscripten__internal__AllowedRawPointer_btIDebugDraw____getTypes_28_29_20const($4 + 11 | 0 | 0) | 0; + HEAP32[($4 + 28 | 0) >> 2] = HEAP32[($4 + 12 | 0) >> 2] | 0; + _embind_register_class_function($8 | 0, $9 | 0, $13 | 0, $17 | 0, char_20const__20emscripten__internal__getGenericSignature_void_2c_20int_2c_20int__28_29() | 0 | 0, HEAP32[($4 + 12 | 0) >> 2] | 0 | 0, void_20_28btIDebugDraw____emscripten__internal__getContext_void_20_28btIDebugDraw____29_28_29__28void_20_28btIDebugDraw____20const__29_28_29_29_29_28_29($4 + 16 | 0 | 0) | 0 | 0, 0 | 0, 0 & 1 | 0 | 0); + __stack_pointer = $4 + 32 | 0; + return; + } + + function void_20emscripten__internal__RegisterClassMethod_void_20_28btDebugDraw____29_28int_2c_20int_2c_20int_29___invoke_btDebugDraw__28char_20const__2c_20void_20_28btDebugDraw____29_28int_2c_20int_2c_20int_29_29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, $5 = 0, $6 = 0, $8 = 0, $9 = 0, $13 = 0, $17 = 0; + $4 = __stack_pointer - 32 | 0; + __stack_pointer = $4; + $5 = HEAP32[$1 >> 2] | 0; + $6 = HEAP32[($1 + 4 | 0) >> 2] | 0; + HEAP32[($4 + 24 | 0) >> 2] = $0; + HEAP32[($4 + 20 | 0) >> 2] = $6; + HEAP32[($4 + 16 | 0) >> 2] = $5; + HEAP32[($4 + 12 | 0) >> 2] = GOT_func_internal_emscripten__internal__MethodInvoker_void_20_28btDebugDraw____29_28int_2c_20int_2c_20int_29_2c_20void_2c_20btDebugDraw__2c_20int_2c_20int_2c_20int___invoke_28void_20_28btDebugDraw____20const__29_28int_2c_20int_2c_20int_29_2c_20btDebugDraw__2c_20int_2c_20int_2c_20int_29; + $8 = emscripten__internal__TypeID_btDebugDraw_2c_20void___get_28_29() | 0; + $9 = HEAP32[($4 + 24 | 0) >> 2] | 0; + $13 = emscripten__internal__WithPolicies____ArgTypeList_void_2c_20emscripten__internal__AllowedRawPointer_btDebugDraw__2c_20int_2c_20int_2c_20int___getCount_28_29_20const($4 + 11 | 0 | 0) | 0; + $17 = emscripten__internal__WithPolicies____ArgTypeList_void_2c_20emscripten__internal__AllowedRawPointer_btDebugDraw__2c_20int_2c_20int_2c_20int___getTypes_28_29_20const($4 + 11 | 0 | 0) | 0; + HEAP32[($4 + 28 | 0) >> 2] = HEAP32[($4 + 12 | 0) >> 2] | 0; + _embind_register_class_function($8 | 0, $9 | 0, $13 | 0, $17 | 0, char_20const__20emscripten__internal__getGenericSignature_void_2c_20int_2c_20int_2c_20int_2c_20int_2c_20int__28_29() | 0 | 0, HEAP32[($4 + 12 | 0) >> 2] | 0 | 0, void_20_28btDebugDraw____emscripten__internal__getContext_void_20_28btDebugDraw____29_28int_2c_20int_2c_20int_29__28void_20_28btDebugDraw____20const__29_28int_2c_20int_2c_20int_29_29_29_28int_2c_20int_2c_20int_29($4 + 16 | 0 | 0) | 0 | 0, 0 | 0, 0 & 1 | 0 | 0); + __stack_pointer = $4 + 32 | 0; + return; + } + + function void_20emscripten__base_btDebugDraw___verify_btDebugDrawWrapper__28_29() { + + } + + function void_20const__20emscripten__internal__getActualType_btDebugDrawWrapper__28btDebugDrawWrapper__29($0) { + $0 = $0 | 0; + var $3 = 0, $5 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $5 = void_20const__20emscripten__internal__getLightTypeID_btDebugDrawWrapper__28btDebugDrawWrapper_20const__29(HEAP32[($3 + 12 | 0) >> 2] | 0 | 0) | 0; + __stack_pointer = $3 + 16 | 0; + return $5 | 0; + } + + function btDebugDraw__20_28_emscripten__base_btDebugDraw___getUpcaster_btDebugDrawWrapper__28_29_29_28btDebugDrawWrapper__29() { + return GOT_func_internal_btDebugDraw__20emscripten__base_btDebugDraw___convertPointer_btDebugDrawWrapper_2c_20btDebugDraw__28btDebugDrawWrapper__29 | 0; + } + + function btDebugDrawWrapper__20_28_emscripten__base_btDebugDraw___getDowncaster_btDebugDrawWrapper__28_29_29_28btDebugDraw__29() { + return GOT_func_internal_btDebugDrawWrapper__20emscripten__base_btDebugDraw___convertPointer_btDebugDraw_2c_20btDebugDrawWrapper__28btDebugDraw__29 | 0; + } + + function void_20emscripten__internal__raw_destructor_btDebugDrawWrapper__28btDebugDrawWrapper__29($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + label$1 : { + if (($4 | 0) == (0 | 0) & 1 | 0) { + break label$1 + } + FUNCTION_TABLE[HEAP32[((HEAP32[$4 >> 2] | 0) + 4 | 0) >> 2] | 0 | 0]($4); + } + __stack_pointer = $3 + 16 | 0; + return; + } + + function emscripten__internal__TypeID_btDebugDrawWrapper_2c_20void___get_28_29() { + return emscripten__internal__LightTypeID_btDebugDrawWrapper___get_28_29() | 0 | 0; + } + + function emscripten__internal__TypeID_emscripten__internal__AllowedRawPointer_btDebugDrawWrapper__2c_20void___get_28_29() { + return emscripten__internal__LightTypeID_btDebugDrawWrapper____get_28_29() | 0 | 0; + } + + function emscripten__internal__TypeID_emscripten__internal__AllowedRawPointer_btDebugDrawWrapper_20const__2c_20void___get_28_29() { + return emscripten__internal__LightTypeID_btDebugDrawWrapper_20const____get_28_29() | 0 | 0; + } + + function emscripten__base_btDebugDraw___get_28_29() { + return emscripten__internal__TypeID_btDebugDraw_2c_20void___get_28_29() | 0 | 0; + } + + function emscripten__class__btDebugDraw_2c_20emscripten__internal__NoBaseClass__20const__20emscripten__class__btDebugDraw_2c_20emscripten__internal__NoBaseClass___allow_subclass_btDebugDrawWrapper__28char_20const__2c_20emscripten__constructor___29_20const___lambda__28btDebugDrawWrapper__29__operator_20void_20_28__29_28btDebugDrawWrapper__29_28_29_20const($0) { + $0 = $0 | 0; + HEAP32[((__stack_pointer - 16 | 0) + 12 | 0) >> 2] = $0; + return GOT_func_internal_emscripten__class__btDebugDraw_2c_20emscripten__internal__NoBaseClass__20const__20emscripten__class__btDebugDraw_2c_20emscripten__internal__NoBaseClass___allow_subclass_btDebugDrawWrapper__28char_20const__2c_20emscripten__constructor___29_20const___lambda__28btDebugDrawWrapper__29____invoke_28btDebugDrawWrapper__29 | 0; + } + + function void_20_28_emscripten__select_overload_void_20_28btDebugDrawWrapper__29__28void_20_28__29_28btDebugDrawWrapper__29_29_29_28btDebugDrawWrapper__29($0) { + $0 = $0 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + return HEAP32[($3 + 12 | 0) >> 2] | 0 | 0; + } + + function void_20emscripten__internal__RegisterClassMethod_void_20_28__29_28btDebugDrawWrapper__29___invoke_btDebugDrawWrapper__28char_20const__2c_20void_20_28__29_28btDebugDrawWrapper__29_29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, $6 = 0, $7 = 0, $11 = 0, $15 = 0; + $4 = __stack_pointer - 32 | 0; + __stack_pointer = $4; + HEAP32[($4 + 24 | 0) >> 2] = $0; + HEAP32[($4 + 20 | 0) >> 2] = $1; + HEAP32[($4 + 12 | 0) >> 2] = GOT_func_internal_emscripten__internal__FunctionInvoker_void_20_28__29_28btDebugDrawWrapper__29_2c_20void_2c_20btDebugDrawWrapper____invoke_28void_20_28___29_28btDebugDrawWrapper__29_2c_20btDebugDrawWrapper__29; + $6 = emscripten__internal__TypeID_btDebugDrawWrapper_2c_20void___get_28_29() | 0; + $7 = HEAP32[($4 + 24 | 0) >> 2] | 0; + $11 = emscripten__internal__WithPolicies____ArgTypeList_void_2c_20btDebugDrawWrapper____getCount_28_29_20const($4 + 19 | 0 | 0) | 0; + $15 = emscripten__internal__WithPolicies____ArgTypeList_void_2c_20btDebugDrawWrapper____getTypes_28_29_20const($4 + 19 | 0 | 0) | 0; + HEAP32[($4 + 28 | 0) >> 2] = HEAP32[($4 + 12 | 0) >> 2] | 0; + _embind_register_class_function($6 | 0, $7 | 0, $11 | 0, $15 | 0, char_20const__20emscripten__internal__getGenericSignature_void_2c_20int_2c_20int__28_29() | 0 | 0, HEAP32[($4 + 12 | 0) >> 2] | 0 | 0, void_20_28__emscripten__internal__getContext_void_20_28__29_28btDebugDrawWrapper__29__28void_20_28__20const__29_28btDebugDrawWrapper__29_29_29_28btDebugDrawWrapper__29($4 + 20 | 0 | 0) | 0 | 0, 0 | 0, 0 & 1 | 0 | 0); + __stack_pointer = $4 + 32 | 0; + return; + } + + function btDebugDrawWrapper__20emscripten__internal__wrapped_new_btDebugDrawWrapper__2c_20btDebugDrawWrapper_2c_20emscripten__val__28emscripten__val___29($0) { + $0 = $0 | 0; + var $3 = 0, $5 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $5 = btDebugDraw__operator_20new_28unsigned_20long_29(144 | 0) | 0; + btDebugDrawWrapper__btDebugDrawWrapper___28emscripten__val___29($5 | 0, HEAP32[($3 + 12 | 0) >> 2] | 0 | 0) | 0; + __stack_pointer = $3 + 16 | 0; + return $5 | 0; + } + + function emscripten__internal__Invoker_btDebugDrawWrapper__2c_20emscripten__val_____invoke_28btDebugDrawWrapper__20_28__29_28emscripten__val___29_2c_20emscripten___EM_VAL__29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, $5 = 0, $14 = 0; + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; + emscripten__internal__BindingType_emscripten__val___2c_20void___fromWireType_28emscripten___EM_VAL__29($4 + 4 | 0 | 0, HEAP32[($4 + 8 | 0) >> 2] | 0 | 0); + $14 = emscripten__internal__BindingType_btDebugDrawWrapper__2c_20void___toWireType_28btDebugDrawWrapper__29(FUNCTION_TABLE[$5 | 0]($4 + 4 | 0) | 0 | 0) | 0; + emscripten__val___val_28_29($4 + 4 | 0 | 0) | 0; + __stack_pointer = $4 + 16 | 0; + return $14 | 0; + } + + function emscripten__internal__WithPolicies_emscripten__allow_raw_pointer_emscripten__ret_val____ArgTypeList_btDebugDrawWrapper__2c_20emscripten__val_____getCount_28_29_20const($0) { + $0 = $0 | 0; + HEAP32[((__stack_pointer - 16 | 0) + 12 | 0) >> 2] = $0; + return 2 | 0; + } + + function emscripten__internal__WithPolicies_emscripten__allow_raw_pointer_emscripten__ret_val____ArgTypeList_btDebugDrawWrapper__2c_20emscripten__val_____getTypes_28_29_20const($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_emscripten__internal__AllowedRawPointer_btDebugDrawWrapper__2c_20emscripten__val______get_28_29() | 0; + __stack_pointer = $3 + 16 | 0; + return $4 | 0; + } + + function char_20const__20emscripten__internal__getGenericSignature_int_2c_20int_2c_20int__28_29() { + return GOT_data_internal_char_20const__20emscripten__internal__getGenericSignature_int_2c_20int_2c_20int__28_29__signature | 0; + } + + function emscripten__val_20emscripten__internal__wrapped_extend_btDebugDrawWrapper__28std____2__basic_string_char_2c_20std____2__char_traits_char__2c_20std____2__allocator_char___20const__2c_20emscripten__val_20const__29($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $5 = 0; + $5 = __stack_pointer - 16 | 0; + __stack_pointer = $5; + HEAP32[($5 + 12 | 0) >> 2] = $0; + HEAP32[($5 + 8 | 0) >> 2] = $1; + HEAP32[($5 + 4 | 0) >> 2] = $2; + emscripten__val__take_ownership_28emscripten___EM_VAL__29($0 | 0, _embind_create_inheriting_constructor(std____2__basic_string_char_2c_20std____2__char_traits_char__2c_20std____2__allocator_char____c_str_5babi_v160004_5d_28_29_20const(HEAP32[($5 + 8 | 0) >> 2] | 0 | 0) | 0 | 0, emscripten__internal__TypeID_btDebugDrawWrapper_2c_20void___get_28_29() | 0 | 0, emscripten__val__as_handle_28_29_20const(HEAP32[($5 + 4 | 0) >> 2] | 0 | 0) | 0 | 0) | 0 | 0); + __stack_pointer = $5 + 16 | 0; + return; + } + + function emscripten__internal__Invoker_emscripten__val_2c_20std____2__basic_string_char_2c_20std____2__char_traits_char__2c_20std____2__allocator_char___20const__2c_20emscripten__val_20const____invoke_28emscripten__val_20_28__29_28std____2__basic_string_char_2c_20std____2__char_traits_char__2c_20std____2__allocator_char___20const__2c_20emscripten__val_20const__29_2c_20emscripten__internal__BindingType_std____2__basic_string_char_2c_20std____2__char_traits_char__2c_20std____2__allocator_char___2c_20void____unnamed___2c_20emscripten___EM_VAL__29($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $5 = 0, $6 = 0, $23 = 0; + $5 = __stack_pointer - 32 | 0; + __stack_pointer = $5; + HEAP32[($5 + 28 | 0) >> 2] = $0; + HEAP32[($5 + 24 | 0) >> 2] = $1; + HEAP32[($5 + 20 | 0) >> 2] = $2; + $6 = HEAP32[($5 + 28 | 0) >> 2] | 0; + emscripten__internal__BindingType_std____2__basic_string_char_2c_20std____2__char_traits_char__2c_20std____2__allocator_char___2c_20void___fromWireType_28emscripten__internal__BindingType_std____2__basic_string_char_2c_20std____2__char_traits_char__2c_20std____2__allocator_char___2c_20void____unnamed___29($5 + 4 | 0 | 0, HEAP32[($5 + 24 | 0) >> 2] | 0 | 0); + emscripten__internal__BindingType_emscripten__val_2c_20void___fromWireType_28emscripten___EM_VAL__29($5 | 0, HEAP32[($5 + 20 | 0) >> 2] | 0 | 0); + FUNCTION_TABLE[$6 | 0]($5 + 16 | 0, $5 + 4 | 0, $5); + $23 = emscripten__internal__BindingType_emscripten__val_2c_20void___toWireType_28emscripten__val_20const__29($5 + 16 | 0 | 0) | 0; + emscripten__val___val_28_29($5 + 16 | 0 | 0) | 0; + emscripten__val___val_28_29($5 | 0) | 0; + std____2__basic_string_char_2c_20std____2__char_traits_char__2c_20std____2__allocator_char_____basic_string_28_29($5 + 4 | 0 | 0) | 0; + __stack_pointer = $5 + 32 | 0; + return $23 | 0; + } + + function emscripten__internal__WithPolicies____ArgTypeList_emscripten__val_2c_20std____2__basic_string_char_2c_20std____2__char_traits_char__2c_20std____2__allocator_char___20const__2c_20emscripten__val_20const____getCount_28_29_20const($0) { + $0 = $0 | 0; + HEAP32[((__stack_pointer - 16 | 0) + 12 | 0) >> 2] = $0; + return 3 | 0; + } + + function emscripten__internal__WithPolicies____ArgTypeList_emscripten__val_2c_20std____2__basic_string_char_2c_20std____2__char_traits_char__2c_20std____2__allocator_char___20const__2c_20emscripten__val_20const____getTypes_28_29_20const($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_emscripten__val_2c_20std____2__basic_string_char_2c_20std____2__char_traits_char__2c_20std____2__allocator_char___20const__2c_20emscripten__val_20const_____get_28_29() | 0; + __stack_pointer = $3 + 16 | 0; + return $4 | 0; + } + + function char_20const__20emscripten__internal__getGenericSignature_int_2c_20int_2c_20int_2c_20int__28_29() { + return GOT_data_internal_char_20const__20emscripten__internal__getGenericSignature_int_2c_20int_2c_20int_2c_20int__28_29__signature | 0; + } + + function void_20emscripten__internal__NoBaseClass__verify_btControllerHitReport__28_29() { + + } + + function void_20const__20emscripten__internal__getActualType_btControllerHitReport__28btControllerHitReport__29($0) { + $0 = $0 | 0; + var $3 = 0, $5 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $5 = void_20const__20emscripten__internal__getLightTypeID_btControllerHitReport__28btControllerHitReport_20const__29(HEAP32[($3 + 12 | 0) >> 2] | 0 | 0) | 0; + __stack_pointer = $3 + 16 | 0; + return $5 | 0; + } + + function void_20_28_emscripten__internal__NoBaseClass__getUpcaster_btControllerHitReport__28_29_29_28_29() { + return 0 | 0; + } + + function void_20_28_emscripten__internal__NoBaseClass__getDowncaster_btControllerHitReport__28_29_29_28_29() { + return 0 | 0; + } + + function void_20emscripten__internal__raw_destructor_btControllerHitReport__28btControllerHitReport__29($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + label$1 : { + if (($4 | 0) == (0 | 0) & 1 | 0) { + break label$1 + } + FUNCTION_TABLE[HEAP32[((HEAP32[$4 >> 2] | 0) + 12 | 0) >> 2] | 0 | 0]($4); + } + __stack_pointer = $3 + 16 | 0; + return; + } + + function emscripten__internal__TypeID_btControllerHitReport_2c_20void___get_28_29() { + return emscripten__internal__LightTypeID_btControllerHitReport___get_28_29() | 0 | 0; + } + + function emscripten__internal__TypeID_emscripten__internal__AllowedRawPointer_btControllerHitReport__2c_20void___get_28_29() { + return emscripten__internal__LightTypeID_btControllerHitReport____get_28_29() | 0 | 0; + } + + function emscripten__internal__TypeID_emscripten__internal__AllowedRawPointer_btControllerHitReport_20const__2c_20void___get_28_29() { + return emscripten__internal__LightTypeID_btControllerHitReport_20const____get_28_29() | 0 | 0; + } + + function void_20emscripten__internal__RegisterClassMethod_void_20_28btControllerHitReport____29_28int_2c_20int_29___invoke_btControllerHitReport__28char_20const__2c_20void_20_28btControllerHitReport____29_28int_2c_20int_29_29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, $5 = 0, $6 = 0, $8 = 0, $9 = 0, $13 = 0, $17 = 0; + $4 = __stack_pointer - 32 | 0; + __stack_pointer = $4; + $5 = HEAP32[$1 >> 2] | 0; + $6 = HEAP32[($1 + 4 | 0) >> 2] | 0; + HEAP32[($4 + 24 | 0) >> 2] = $0; + HEAP32[($4 + 20 | 0) >> 2] = $6; + HEAP32[($4 + 16 | 0) >> 2] = $5; + HEAP32[($4 + 12 | 0) >> 2] = GOT_func_internal_emscripten__internal__MethodInvoker_void_20_28btControllerHitReport____29_28int_2c_20int_29_2c_20void_2c_20btControllerHitReport__2c_20int_2c_20int___invoke_28void_20_28btControllerHitReport____20const__29_28int_2c_20int_29_2c_20btControllerHitReport__2c_20int_2c_20int_29; + $8 = emscripten__internal__TypeID_btControllerHitReport_2c_20void___get_28_29() | 0; + $9 = HEAP32[($4 + 24 | 0) >> 2] | 0; + $13 = emscripten__internal__WithPolicies____ArgTypeList_void_2c_20emscripten__internal__AllowedRawPointer_btControllerHitReport__2c_20int_2c_20int___getCount_28_29_20const($4 + 11 | 0 | 0) | 0; + $17 = emscripten__internal__WithPolicies____ArgTypeList_void_2c_20emscripten__internal__AllowedRawPointer_btControllerHitReport__2c_20int_2c_20int___getTypes_28_29_20const($4 + 11 | 0 | 0) | 0; + HEAP32[($4 + 28 | 0) >> 2] = HEAP32[($4 + 12 | 0) >> 2] | 0; + _embind_register_class_function($8 | 0, $9 | 0, $13 | 0, $17 | 0, char_20const__20emscripten__internal__getGenericSignature_void_2c_20int_2c_20int_2c_20int_2c_20int__28_29() | 0 | 0, HEAP32[($4 + 12 | 0) >> 2] | 0 | 0, void_20_28btControllerHitReport____emscripten__internal__getContext_void_20_28btControllerHitReport____29_28int_2c_20int_29__28void_20_28btControllerHitReport____20const__29_28int_2c_20int_29_29_29_28int_2c_20int_29($4 + 16 | 0 | 0) | 0 | 0, 0 | 0, 0 & 1 | 0 | 0); + __stack_pointer = $4 + 32 | 0; + return; + } + + function void_20emscripten__base_btControllerHitReport___verify_btControllerHitReportWrapper__28_29() { + + } + + function void_20const__20emscripten__internal__getActualType_btControllerHitReportWrapper__28btControllerHitReportWrapper__29($0) { + $0 = $0 | 0; + var $3 = 0, $5 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $5 = void_20const__20emscripten__internal__getLightTypeID_btControllerHitReportWrapper__28btControllerHitReportWrapper_20const__29(HEAP32[($3 + 12 | 0) >> 2] | 0 | 0) | 0; + __stack_pointer = $3 + 16 | 0; + return $5 | 0; + } + + function btControllerHitReport__20_28_emscripten__base_btControllerHitReport___getUpcaster_btControllerHitReportWrapper__28_29_29_28btControllerHitReportWrapper__29() { + return GOT_func_internal_btControllerHitReport__20emscripten__base_btControllerHitReport___convertPointer_btControllerHitReportWrapper_2c_20btControllerHitReport__28btControllerHitReportWrapper__29 | 0; + } + + function btControllerHitReportWrapper__20_28_emscripten__base_btControllerHitReport___getDowncaster_btControllerHitReportWrapper__28_29_29_28btControllerHitReport__29() { + return GOT_func_internal_btControllerHitReportWrapper__20emscripten__base_btControllerHitReport___convertPointer_btControllerHitReport_2c_20btControllerHitReportWrapper__28btControllerHitReport__29 | 0; + } + + function void_20emscripten__internal__raw_destructor_btControllerHitReportWrapper__28btControllerHitReportWrapper__29($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + label$1 : { + if (($4 | 0) == (0 | 0) & 1 | 0) { + break label$1 + } + FUNCTION_TABLE[HEAP32[((HEAP32[$4 >> 2] | 0) + 12 | 0) >> 2] | 0 | 0]($4); + } + __stack_pointer = $3 + 16 | 0; + return; + } + + function emscripten__internal__TypeID_btControllerHitReportWrapper_2c_20void___get_28_29() { + return emscripten__internal__LightTypeID_btControllerHitReportWrapper___get_28_29() | 0 | 0; + } + + function emscripten__internal__TypeID_emscripten__internal__AllowedRawPointer_btControllerHitReportWrapper__2c_20void___get_28_29() { + return emscripten__internal__LightTypeID_btControllerHitReportWrapper____get_28_29() | 0 | 0; + } + + function emscripten__internal__TypeID_emscripten__internal__AllowedRawPointer_btControllerHitReportWrapper_20const__2c_20void___get_28_29() { + return emscripten__internal__LightTypeID_btControllerHitReportWrapper_20const____get_28_29() | 0 | 0; + } + + function emscripten__base_btControllerHitReport___get_28_29() { + return emscripten__internal__TypeID_btControllerHitReport_2c_20void___get_28_29() | 0 | 0; + } + + function emscripten__class__btControllerHitReport_2c_20emscripten__internal__NoBaseClass__20const__20emscripten__class__btControllerHitReport_2c_20emscripten__internal__NoBaseClass___allow_subclass_btControllerHitReportWrapper__28char_20const__2c_20emscripten__constructor___29_20const___lambda__28btControllerHitReportWrapper__29__operator_20void_20_28__29_28btControllerHitReportWrapper__29_28_29_20const($0) { + $0 = $0 | 0; + HEAP32[((__stack_pointer - 16 | 0) + 12 | 0) >> 2] = $0; + return GOT_func_internal_emscripten__class__btControllerHitReport_2c_20emscripten__internal__NoBaseClass__20const__20emscripten__class__btControllerHitReport_2c_20emscripten__internal__NoBaseClass___allow_subclass_btControllerHitReportWrapper__28char_20const__2c_20emscripten__constructor___29_20const___lambda__28btControllerHitReportWrapper__29____invoke_28btControllerHitReportWrapper__29 | 0; + } + + function void_20_28_emscripten__select_overload_void_20_28btControllerHitReportWrapper__29__28void_20_28__29_28btControllerHitReportWrapper__29_29_29_28btControllerHitReportWrapper__29($0) { + $0 = $0 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + return HEAP32[($3 + 12 | 0) >> 2] | 0 | 0; + } + + function void_20emscripten__internal__RegisterClassMethod_void_20_28__29_28btControllerHitReportWrapper__29___invoke_btControllerHitReportWrapper__28char_20const__2c_20void_20_28__29_28btControllerHitReportWrapper__29_29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, $6 = 0, $7 = 0, $11 = 0, $15 = 0; + $4 = __stack_pointer - 32 | 0; + __stack_pointer = $4; + HEAP32[($4 + 24 | 0) >> 2] = $0; + HEAP32[($4 + 20 | 0) >> 2] = $1; + HEAP32[($4 + 12 | 0) >> 2] = GOT_func_internal_emscripten__internal__FunctionInvoker_void_20_28__29_28btControllerHitReportWrapper__29_2c_20void_2c_20btControllerHitReportWrapper____invoke_28void_20_28___29_28btControllerHitReportWrapper__29_2c_20btControllerHitReportWrapper__29; + $6 = emscripten__internal__TypeID_btControllerHitReportWrapper_2c_20void___get_28_29() | 0; + $7 = HEAP32[($4 + 24 | 0) >> 2] | 0; + $11 = emscripten__internal__WithPolicies____ArgTypeList_void_2c_20btControllerHitReportWrapper____getCount_28_29_20const($4 + 19 | 0 | 0) | 0; + $15 = emscripten__internal__WithPolicies____ArgTypeList_void_2c_20btControllerHitReportWrapper____getTypes_28_29_20const($4 + 19 | 0 | 0) | 0; + HEAP32[($4 + 28 | 0) >> 2] = HEAP32[($4 + 12 | 0) >> 2] | 0; + _embind_register_class_function($6 | 0, $7 | 0, $11 | 0, $15 | 0, char_20const__20emscripten__internal__getGenericSignature_void_2c_20int_2c_20int__28_29() | 0 | 0, HEAP32[($4 + 12 | 0) >> 2] | 0 | 0, void_20_28__emscripten__internal__getContext_void_20_28__29_28btControllerHitReportWrapper__29__28void_20_28__20const__29_28btControllerHitReportWrapper__29_29_29_28btControllerHitReportWrapper__29($4 + 20 | 0 | 0) | 0 | 0, 0 | 0, 0 & 1 | 0 | 0); + __stack_pointer = $4 + 32 | 0; + return; + } + + function btControllerHitReportWrapper__20emscripten__internal__wrapped_new_btControllerHitReportWrapper__2c_20btControllerHitReportWrapper_2c_20emscripten__val__28emscripten__val___29($0) { + $0 = $0 | 0; + var $3 = 0, $5 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $5 = operator_20new_28unsigned_20long_29(12 | 0) | 0; + btControllerHitReportWrapper__btControllerHitReportWrapper___28emscripten__val___29($5 | 0, HEAP32[($3 + 12 | 0) >> 2] | 0 | 0) | 0; + __stack_pointer = $3 + 16 | 0; + return $5 | 0; + } + + function emscripten__internal__Invoker_btControllerHitReportWrapper__2c_20emscripten__val_____invoke_28btControllerHitReportWrapper__20_28__29_28emscripten__val___29_2c_20emscripten___EM_VAL__29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, $5 = 0, $14 = 0; + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; + emscripten__internal__BindingType_emscripten__val___2c_20void___fromWireType_28emscripten___EM_VAL__29($4 + 4 | 0 | 0, HEAP32[($4 + 8 | 0) >> 2] | 0 | 0); + $14 = emscripten__internal__BindingType_btControllerHitReportWrapper__2c_20void___toWireType_28btControllerHitReportWrapper__29(FUNCTION_TABLE[$5 | 0]($4 + 4 | 0) | 0 | 0) | 0; + emscripten__val___val_28_29($4 + 4 | 0 | 0) | 0; + __stack_pointer = $4 + 16 | 0; + return $14 | 0; + } + + function emscripten__internal__WithPolicies_emscripten__allow_raw_pointer_emscripten__ret_val____ArgTypeList_btControllerHitReportWrapper__2c_20emscripten__val_____getCount_28_29_20const($0) { + $0 = $0 | 0; + HEAP32[((__stack_pointer - 16 | 0) + 12 | 0) >> 2] = $0; + return 2 | 0; + } + + function emscripten__internal__WithPolicies_emscripten__allow_raw_pointer_emscripten__ret_val____ArgTypeList_btControllerHitReportWrapper__2c_20emscripten__val_____getTypes_28_29_20const($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_emscripten__internal__AllowedRawPointer_btControllerHitReportWrapper__2c_20emscripten__val______get_28_29() | 0; + __stack_pointer = $3 + 16 | 0; + return $4 | 0; + } + + function emscripten__val_20emscripten__internal__wrapped_extend_btControllerHitReportWrapper__28std____2__basic_string_char_2c_20std____2__char_traits_char__2c_20std____2__allocator_char___20const__2c_20emscripten__val_20const__29($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $5 = 0; + $5 = __stack_pointer - 16 | 0; + __stack_pointer = $5; + HEAP32[($5 + 12 | 0) >> 2] = $0; + HEAP32[($5 + 8 | 0) >> 2] = $1; + HEAP32[($5 + 4 | 0) >> 2] = $2; + emscripten__val__take_ownership_28emscripten___EM_VAL__29($0 | 0, _embind_create_inheriting_constructor(std____2__basic_string_char_2c_20std____2__char_traits_char__2c_20std____2__allocator_char____c_str_5babi_v160004_5d_28_29_20const(HEAP32[($5 + 8 | 0) >> 2] | 0 | 0) | 0 | 0, emscripten__internal__TypeID_btControllerHitReportWrapper_2c_20void___get_28_29() | 0 | 0, emscripten__val__as_handle_28_29_20const(HEAP32[($5 + 4 | 0) >> 2] | 0 | 0) | 0 | 0) | 0 | 0); + __stack_pointer = $5 + 16 | 0; + return; + } + + function void_20emscripten__internal__NoBaseClass__verify_cc__ccMotionState__28_29() { + + } + + function void_20const__20emscripten__internal__getActualType_cc__ccMotionState__28cc__ccMotionState__29($0) { + $0 = $0 | 0; + var $3 = 0, $5 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $5 = void_20const__20emscripten__internal__getLightTypeID_cc__ccMotionState__28cc__ccMotionState_20const__29(HEAP32[($3 + 12 | 0) >> 2] | 0 | 0) | 0; + __stack_pointer = $3 + 16 | 0; + return $5 | 0; + } + + function void_20_28_emscripten__internal__NoBaseClass__getUpcaster_cc__ccMotionState__28_29_29_28_29() { + return 0 | 0; + } + + function void_20_28_emscripten__internal__NoBaseClass__getDowncaster_cc__ccMotionState__28_29_29_28_29() { + return 0 | 0; + } + + function void_20emscripten__internal__raw_destructor_cc__ccMotionState__28cc__ccMotionState__29($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + label$1 : { + if (($4 | 0) == (0 | 0) & 1 | 0) { + break label$1 + } + FUNCTION_TABLE[HEAP32[((HEAP32[$4 >> 2] | 0) + 4 | 0) >> 2] | 0 | 0]($4); + } + __stack_pointer = $3 + 16 | 0; + return; + } + + function emscripten__internal__TypeID_cc__ccMotionState_2c_20void___get_28_29() { + return emscripten__internal__LightTypeID_cc__ccMotionState___get_28_29() | 0 | 0; + } + + function emscripten__internal__TypeID_emscripten__internal__AllowedRawPointer_cc__ccMotionState__2c_20void___get_28_29() { + return emscripten__internal__LightTypeID_cc__ccMotionState____get_28_29() | 0 | 0; + } + + function emscripten__internal__TypeID_emscripten__internal__AllowedRawPointer_cc__ccMotionState_20const__2c_20void___get_28_29() { + return emscripten__internal__LightTypeID_cc__ccMotionState_20const____get_28_29() | 0 | 0; + } + + function void_20emscripten__internal__RegisterClassMethod_void_20_28cc__ccMotionState____29_28int_29___invoke_cc__ccMotionState__28char_20const__2c_20void_20_28cc__ccMotionState____29_28int_29_29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, $5 = 0, $6 = 0, $8 = 0, $9 = 0, $13 = 0, $17 = 0; + $4 = __stack_pointer - 32 | 0; + __stack_pointer = $4; + $5 = HEAP32[$1 >> 2] | 0; + $6 = HEAP32[($1 + 4 | 0) >> 2] | 0; + HEAP32[($4 + 24 | 0) >> 2] = $0; + HEAP32[($4 + 20 | 0) >> 2] = $6; + HEAP32[($4 + 16 | 0) >> 2] = $5; + HEAP32[($4 + 12 | 0) >> 2] = GOT_func_internal_emscripten__internal__MethodInvoker_void_20_28cc__ccMotionState____29_28int_29_2c_20void_2c_20cc__ccMotionState__2c_20int___invoke_28void_20_28cc__ccMotionState____20const__29_28int_29_2c_20cc__ccMotionState__2c_20int_29; + $8 = emscripten__internal__TypeID_cc__ccMotionState_2c_20void___get_28_29() | 0; + $9 = HEAP32[($4 + 24 | 0) >> 2] | 0; + $13 = emscripten__internal__WithPolicies____ArgTypeList_void_2c_20emscripten__internal__AllowedRawPointer_cc__ccMotionState__2c_20int___getCount_28_29_20const($4 + 11 | 0 | 0) | 0; + $17 = emscripten__internal__WithPolicies____ArgTypeList_void_2c_20emscripten__internal__AllowedRawPointer_cc__ccMotionState__2c_20int___getTypes_28_29_20const($4 + 11 | 0 | 0) | 0; + HEAP32[($4 + 28 | 0) >> 2] = HEAP32[($4 + 12 | 0) >> 2] | 0; + _embind_register_class_function($8 | 0, $9 | 0, $13 | 0, $17 | 0, char_20const__20emscripten__internal__getGenericSignature_void_2c_20int_2c_20int_2c_20int__28_29() | 0 | 0, HEAP32[($4 + 12 | 0) >> 2] | 0 | 0, void_20_28cc__ccMotionState____emscripten__internal__getContext_void_20_28cc__ccMotionState____29_28int_29__28void_20_28cc__ccMotionState____20const__29_28int_29_29_29_28int_29($4 + 16 | 0 | 0) | 0 | 0, 0 | 0, 0 & 1 | 0 | 0); + __stack_pointer = $4 + 32 | 0; + return; + } + + function void_20emscripten__base_cc__ccMotionState___verify_ccMotionStateWrapper__28_29() { + + } + + function void_20const__20emscripten__internal__getActualType_ccMotionStateWrapper__28ccMotionStateWrapper__29($0) { + $0 = $0 | 0; + var $3 = 0, $5 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $5 = void_20const__20emscripten__internal__getLightTypeID_ccMotionStateWrapper__28ccMotionStateWrapper_20const__29(HEAP32[($3 + 12 | 0) >> 2] | 0 | 0) | 0; + __stack_pointer = $3 + 16 | 0; + return $5 | 0; + } + + function cc__ccMotionState__20_28_emscripten__base_cc__ccMotionState___getUpcaster_ccMotionStateWrapper__28_29_29_28ccMotionStateWrapper__29() { + return GOT_func_internal_cc__ccMotionState__20emscripten__base_cc__ccMotionState___convertPointer_ccMotionStateWrapper_2c_20cc__ccMotionState__28ccMotionStateWrapper__29 | 0; + } + + function ccMotionStateWrapper__20_28_emscripten__base_cc__ccMotionState___getDowncaster_ccMotionStateWrapper__28_29_29_28cc__ccMotionState__29() { + return GOT_func_internal_ccMotionStateWrapper__20emscripten__base_cc__ccMotionState___convertPointer_cc__ccMotionState_2c_20ccMotionStateWrapper__28cc__ccMotionState__29 | 0; + } + + function void_20emscripten__internal__raw_destructor_ccMotionStateWrapper__28ccMotionStateWrapper__29($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + label$1 : { + if (($4 | 0) == (0 | 0) & 1 | 0) { + break label$1 + } + FUNCTION_TABLE[HEAP32[((HEAP32[$4 >> 2] | 0) + 4 | 0) >> 2] | 0 | 0]($4); + } + __stack_pointer = $3 + 16 | 0; + return; + } + + function emscripten__internal__TypeID_ccMotionStateWrapper_2c_20void___get_28_29() { + return emscripten__internal__LightTypeID_ccMotionStateWrapper___get_28_29() | 0 | 0; + } + + function emscripten__internal__TypeID_emscripten__internal__AllowedRawPointer_ccMotionStateWrapper__2c_20void___get_28_29() { + return emscripten__internal__LightTypeID_ccMotionStateWrapper____get_28_29() | 0 | 0; + } + + function emscripten__internal__TypeID_emscripten__internal__AllowedRawPointer_ccMotionStateWrapper_20const__2c_20void___get_28_29() { + return emscripten__internal__LightTypeID_ccMotionStateWrapper_20const____get_28_29() | 0 | 0; + } + + function emscripten__base_cc__ccMotionState___get_28_29() { + return emscripten__internal__TypeID_cc__ccMotionState_2c_20void___get_28_29() | 0 | 0; + } + + function emscripten__class__cc__ccMotionState_2c_20emscripten__internal__NoBaseClass__20const__20emscripten__class__cc__ccMotionState_2c_20emscripten__internal__NoBaseClass___allow_subclass_ccMotionStateWrapper__28char_20const__2c_20emscripten__constructor___29_20const___lambda__28ccMotionStateWrapper__29__operator_20void_20_28__29_28ccMotionStateWrapper__29_28_29_20const($0) { + $0 = $0 | 0; + HEAP32[((__stack_pointer - 16 | 0) + 12 | 0) >> 2] = $0; + return GOT_func_internal_emscripten__class__cc__ccMotionState_2c_20emscripten__internal__NoBaseClass__20const__20emscripten__class__cc__ccMotionState_2c_20emscripten__internal__NoBaseClass___allow_subclass_ccMotionStateWrapper__28char_20const__2c_20emscripten__constructor___29_20const___lambda__28ccMotionStateWrapper__29____invoke_28ccMotionStateWrapper__29 | 0; + } + + function void_20_28_emscripten__select_overload_void_20_28ccMotionStateWrapper__29__28void_20_28__29_28ccMotionStateWrapper__29_29_29_28ccMotionStateWrapper__29($0) { + $0 = $0 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + return HEAP32[($3 + 12 | 0) >> 2] | 0 | 0; + } + + function void_20emscripten__internal__RegisterClassMethod_void_20_28__29_28ccMotionStateWrapper__29___invoke_ccMotionStateWrapper__28char_20const__2c_20void_20_28__29_28ccMotionStateWrapper__29_29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, $6 = 0, $7 = 0, $11 = 0, $15 = 0; + $4 = __stack_pointer - 32 | 0; + __stack_pointer = $4; + HEAP32[($4 + 24 | 0) >> 2] = $0; + HEAP32[($4 + 20 | 0) >> 2] = $1; + HEAP32[($4 + 12 | 0) >> 2] = GOT_func_internal_emscripten__internal__FunctionInvoker_void_20_28__29_28ccMotionStateWrapper__29_2c_20void_2c_20ccMotionStateWrapper____invoke_28void_20_28___29_28ccMotionStateWrapper__29_2c_20ccMotionStateWrapper__29; + $6 = emscripten__internal__TypeID_ccMotionStateWrapper_2c_20void___get_28_29() | 0; + $7 = HEAP32[($4 + 24 | 0) >> 2] | 0; + $11 = emscripten__internal__WithPolicies____ArgTypeList_void_2c_20ccMotionStateWrapper____getCount_28_29_20const($4 + 19 | 0 | 0) | 0; + $15 = emscripten__internal__WithPolicies____ArgTypeList_void_2c_20ccMotionStateWrapper____getTypes_28_29_20const($4 + 19 | 0 | 0) | 0; + HEAP32[($4 + 28 | 0) >> 2] = HEAP32[($4 + 12 | 0) >> 2] | 0; + _embind_register_class_function($6 | 0, $7 | 0, $11 | 0, $15 | 0, char_20const__20emscripten__internal__getGenericSignature_void_2c_20int_2c_20int__28_29() | 0 | 0, HEAP32[($4 + 12 | 0) >> 2] | 0 | 0, void_20_28__emscripten__internal__getContext_void_20_28__29_28ccMotionStateWrapper__29__28void_20_28__20const__29_28ccMotionStateWrapper__29_29_29_28ccMotionStateWrapper__29($4 + 20 | 0 | 0) | 0 | 0, 0 | 0, 0 & 1 | 0 | 0); + __stack_pointer = $4 + 32 | 0; + return; + } + + function ccMotionStateWrapper__20emscripten__internal__wrapped_new_ccMotionStateWrapper__2c_20ccMotionStateWrapper_2c_20emscripten__val__28emscripten__val___29($0) { + $0 = $0 | 0; + var $3 = 0, $5 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $5 = operator_20new_28unsigned_20long_29(80 | 0) | 0; + ccMotionStateWrapper__ccMotionStateWrapper___28emscripten__val___29($5 | 0, HEAP32[($3 + 12 | 0) >> 2] | 0 | 0) | 0; + __stack_pointer = $3 + 16 | 0; + return $5 | 0; + } + + function emscripten__internal__Invoker_ccMotionStateWrapper__2c_20emscripten__val_____invoke_28ccMotionStateWrapper__20_28__29_28emscripten__val___29_2c_20emscripten___EM_VAL__29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, $5 = 0, $14 = 0; + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; + emscripten__internal__BindingType_emscripten__val___2c_20void___fromWireType_28emscripten___EM_VAL__29($4 + 4 | 0 | 0, HEAP32[($4 + 8 | 0) >> 2] | 0 | 0); + $14 = emscripten__internal__BindingType_ccMotionStateWrapper__2c_20void___toWireType_28ccMotionStateWrapper__29(FUNCTION_TABLE[$5 | 0]($4 + 4 | 0) | 0 | 0) | 0; + emscripten__val___val_28_29($4 + 4 | 0 | 0) | 0; + __stack_pointer = $4 + 16 | 0; + return $14 | 0; + } + + function emscripten__internal__WithPolicies_emscripten__allow_raw_pointer_emscripten__ret_val____ArgTypeList_ccMotionStateWrapper__2c_20emscripten__val_____getCount_28_29_20const($0) { + $0 = $0 | 0; + HEAP32[((__stack_pointer - 16 | 0) + 12 | 0) >> 2] = $0; + return 2 | 0; + } + + function emscripten__internal__WithPolicies_emscripten__allow_raw_pointer_emscripten__ret_val____ArgTypeList_ccMotionStateWrapper__2c_20emscripten__val_____getTypes_28_29_20const($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_emscripten__internal__AllowedRawPointer_ccMotionStateWrapper__2c_20emscripten__val______get_28_29() | 0; + __stack_pointer = $3 + 16 | 0; + return $4 | 0; + } + + function emscripten__val_20emscripten__internal__wrapped_extend_ccMotionStateWrapper__28std____2__basic_string_char_2c_20std____2__char_traits_char__2c_20std____2__allocator_char___20const__2c_20emscripten__val_20const__29($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $5 = 0; + $5 = __stack_pointer - 16 | 0; + __stack_pointer = $5; + HEAP32[($5 + 12 | 0) >> 2] = $0; + HEAP32[($5 + 8 | 0) >> 2] = $1; + HEAP32[($5 + 4 | 0) >> 2] = $2; + emscripten__val__take_ownership_28emscripten___EM_VAL__29($0 | 0, _embind_create_inheriting_constructor(std____2__basic_string_char_2c_20std____2__char_traits_char__2c_20std____2__allocator_char____c_str_5babi_v160004_5d_28_29_20const(HEAP32[($5 + 8 | 0) >> 2] | 0 | 0) | 0 | 0, emscripten__internal__TypeID_ccMotionStateWrapper_2c_20void___get_28_29() | 0 | 0, emscripten__val__as_handle_28_29_20const(HEAP32[($5 + 4 | 0) >> 2] | 0 | 0) | 0 | 0) | 0 | 0); + __stack_pointer = $5 + 16 | 0; + return; + } + + function void_20emscripten__function_int_2c_20int__28char_20const__2c_20int_20_28__29_28int_29_29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, $6 = 0, $10 = 0, $14 = 0; + $4 = __stack_pointer - 32 | 0; + __stack_pointer = $4; + HEAP32[($4 + 24 | 0) >> 2] = $0; + HEAP32[($4 + 20 | 0) >> 2] = $1; + HEAP32[($4 + 12 | 0) >> 2] = GOT_func_internal_emscripten__internal__Invoker_int_2c_20int___invoke_28int_20_28__29_28int_29_2c_20int_29; + $6 = HEAP32[($4 + 24 | 0) >> 2] | 0; + $10 = emscripten__internal__WithPolicies____ArgTypeList_int_2c_20int___getCount_28_29_20const($4 + 19 | 0 | 0) | 0; + $14 = emscripten__internal__WithPolicies____ArgTypeList_int_2c_20int___getTypes_28_29_20const($4 + 19 | 0 | 0) | 0; + HEAP32[($4 + 28 | 0) >> 2] = HEAP32[($4 + 12 | 0) >> 2] | 0; + _embind_register_function($6 | 0, $10 | 0, $14 | 0, char_20const__20emscripten__internal__getGenericSignature_int_2c_20int_2c_20int__28_29() | 0 | 0, HEAP32[($4 + 12 | 0) >> 2] | 0 | 0, HEAP32[($4 + 20 | 0) >> 2] | 0 | 0, 0 & 1 | 0 | 0); + __stack_pointer = $4 + 32 | 0; + return; + } + + function void_20emscripten__function_void_2c_20int__28char_20const__2c_20void_20_28__29_28int_29_29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, $6 = 0, $10 = 0, $14 = 0; + $4 = __stack_pointer - 32 | 0; + __stack_pointer = $4; + HEAP32[($4 + 24 | 0) >> 2] = $0; + HEAP32[($4 + 20 | 0) >> 2] = $1; + HEAP32[($4 + 12 | 0) >> 2] = GOT_func_internal_emscripten__internal__Invoker_void_2c_20int___invoke_28void_20_28__29_28int_29_2c_20int_29; + $6 = HEAP32[($4 + 24 | 0) >> 2] | 0; + $10 = emscripten__internal__WithPolicies____ArgTypeList_void_2c_20int___getCount_28_29_20const($4 + 19 | 0 | 0) | 0; + $14 = emscripten__internal__WithPolicies____ArgTypeList_void_2c_20int___getTypes_28_29_20const($4 + 19 | 0 | 0) | 0; + HEAP32[($4 + 28 | 0) >> 2] = HEAP32[($4 + 12 | 0) >> 2] | 0; + _embind_register_function($6 | 0, $10 | 0, $14 | 0, char_20const__20emscripten__internal__getGenericSignature_void_2c_20int_2c_20int__28_29() | 0 | 0, HEAP32[($4 + 12 | 0) >> 2] | 0 | 0, HEAP32[($4 + 20 | 0) >> 2] | 0 | 0, 0 & 1 | 0 | 0); + __stack_pointer = $4 + 32 | 0; + return; + } + + function void_20emscripten__function_float_2c_20int__28char_20const__2c_20float_20_28__29_28int_29_29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, $6 = 0, $10 = 0, $14 = 0; + $4 = __stack_pointer - 32 | 0; + __stack_pointer = $4; + HEAP32[($4 + 24 | 0) >> 2] = $0; + HEAP32[($4 + 20 | 0) >> 2] = $1; + HEAP32[($4 + 12 | 0) >> 2] = GOT_func_internal_emscripten__internal__Invoker_float_2c_20int___invoke_28float_20_28__29_28int_29_2c_20int_29; + $6 = HEAP32[($4 + 24 | 0) >> 2] | 0; + $10 = emscripten__internal__WithPolicies____ArgTypeList_float_2c_20int___getCount_28_29_20const($4 + 19 | 0 | 0) | 0; + $14 = emscripten__internal__WithPolicies____ArgTypeList_float_2c_20int___getTypes_28_29_20const($4 + 19 | 0 | 0) | 0; + HEAP32[($4 + 28 | 0) >> 2] = HEAP32[($4 + 12 | 0) >> 2] | 0; + _embind_register_function($6 | 0, $10 | 0, $14 | 0, char_20const__20emscripten__internal__getGenericSignature_float_2c_20int_2c_20int__28_29() | 0 | 0, HEAP32[($4 + 12 | 0) >> 2] | 0 | 0, HEAP32[($4 + 20 | 0) >> 2] | 0 | 0, 0 & 1 | 0 | 0); + __stack_pointer = $4 + 32 | 0; + return; + } + + function void_20emscripten__function_void_2c_20int_2c_20float__28char_20const__2c_20void_20_28__29_28int_2c_20float_29_29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, $6 = 0, $10 = 0, $14 = 0; + $4 = __stack_pointer - 32 | 0; + __stack_pointer = $4; + HEAP32[($4 + 24 | 0) >> 2] = $0; + HEAP32[($4 + 20 | 0) >> 2] = $1; + HEAP32[($4 + 12 | 0) >> 2] = GOT_func_internal_emscripten__internal__Invoker_void_2c_20int_2c_20float___invoke_28void_20_28__29_28int_2c_20float_29_2c_20int_2c_20float_29; + $6 = HEAP32[($4 + 24 | 0) >> 2] | 0; + $10 = emscripten__internal__WithPolicies____ArgTypeList_void_2c_20int_2c_20float___getCount_28_29_20const($4 + 19 | 0 | 0) | 0; + $14 = emscripten__internal__WithPolicies____ArgTypeList_void_2c_20int_2c_20float___getTypes_28_29_20const($4 + 19 | 0 | 0) | 0; + HEAP32[($4 + 28 | 0) >> 2] = HEAP32[($4 + 12 | 0) >> 2] | 0; + _embind_register_function($6 | 0, $10 | 0, $14 | 0, char_20const__20emscripten__internal__getGenericSignature_void_2c_20int_2c_20int_2c_20float__28_29() | 0 | 0, HEAP32[($4 + 12 | 0) >> 2] | 0 | 0, HEAP32[($4 + 20 | 0) >> 2] | 0 | 0, 0 & 1 | 0 | 0); + __stack_pointer = $4 + 32 | 0; + return; + } + + function void_20emscripten__function_void_2c_20int_2c_20int__28char_20const__2c_20void_20_28__29_28int_2c_20int_29_29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, $6 = 0, $10 = 0, $14 = 0; + $4 = __stack_pointer - 32 | 0; + __stack_pointer = $4; + HEAP32[($4 + 24 | 0) >> 2] = $0; + HEAP32[($4 + 20 | 0) >> 2] = $1; + HEAP32[($4 + 12 | 0) >> 2] = GOT_func_internal_emscripten__internal__Invoker_void_2c_20int_2c_20int___invoke_28void_20_28__29_28int_2c_20int_29_2c_20int_2c_20int_29; + $6 = HEAP32[($4 + 24 | 0) >> 2] | 0; + $10 = emscripten__internal__WithPolicies____ArgTypeList_void_2c_20int_2c_20int___getCount_28_29_20const($4 + 19 | 0 | 0) | 0; + $14 = emscripten__internal__WithPolicies____ArgTypeList_void_2c_20int_2c_20int___getTypes_28_29_20const($4 + 19 | 0 | 0) | 0; + HEAP32[($4 + 28 | 0) >> 2] = HEAP32[($4 + 12 | 0) >> 2] | 0; + _embind_register_function($6 | 0, $10 | 0, $14 | 0, char_20const__20emscripten__internal__getGenericSignature_void_2c_20int_2c_20int_2c_20int__28_29() | 0 | 0, HEAP32[($4 + 12 | 0) >> 2] | 0 | 0, HEAP32[($4 + 20 | 0) >> 2] | 0 | 0, 0 & 1 | 0 | 0); + __stack_pointer = $4 + 32 | 0; + return; + } + + function void_20emscripten__function_int_2c_20float_2c_20float_2c_20float_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20int_20_28__29_28float_2c_20float_2c_20float_29_2c_20emscripten__allow_raw_pointers_29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, $6 = 0, $10 = 0, $14 = 0; + $4 = __stack_pointer - 32 | 0; + __stack_pointer = $4; + HEAP32[($4 + 20 | 0) >> 2] = $0; + HEAP32[($4 + 16 | 0) >> 2] = $1; + HEAP32[($4 + 8 | 0) >> 2] = GOT_func_internal_emscripten__internal__Invoker_int_2c_20float_2c_20float_2c_20float___invoke_28int_20_28__29_28float_2c_20float_2c_20float_29_2c_20float_2c_20float_2c_20float_29; + $6 = HEAP32[($4 + 20 | 0) >> 2] | 0; + $10 = emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_int_2c_20float_2c_20float_2c_20float___getCount_28_29_20const($4 + 15 | 0 | 0) | 0; + $14 = emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_int_2c_20float_2c_20float_2c_20float___getTypes_28_29_20const($4 + 15 | 0 | 0) | 0; + HEAP32[($4 + 28 | 0) >> 2] = HEAP32[($4 + 8 | 0) >> 2] | 0; + _embind_register_function($6 | 0, $10 | 0, $14 | 0, char_20const__20emscripten__internal__getGenericSignature_int_2c_20int_2c_20float_2c_20float_2c_20float__28_29() | 0 | 0, HEAP32[($4 + 8 | 0) >> 2] | 0 | 0, HEAP32[($4 + 16 | 0) >> 2] | 0 | 0, 0 & 1 | 0 | 0); + __stack_pointer = $4 + 32 | 0; + return; + } + + function void_20emscripten__function_float_2c_20int_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20float_20_28__29_28int_29_2c_20emscripten__allow_raw_pointers_29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, $6 = 0, $10 = 0, $14 = 0; + $4 = __stack_pointer - 32 | 0; + __stack_pointer = $4; + HEAP32[($4 + 20 | 0) >> 2] = $0; + HEAP32[($4 + 16 | 0) >> 2] = $1; + HEAP32[($4 + 8 | 0) >> 2] = GOT_func_internal_emscripten__internal__Invoker_float_2c_20int___invoke_28float_20_28__29_28int_29_2c_20int_29; + $6 = HEAP32[($4 + 20 | 0) >> 2] | 0; + $10 = emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_float_2c_20int___getCount_28_29_20const($4 + 15 | 0 | 0) | 0; + $14 = emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_float_2c_20int___getTypes_28_29_20const($4 + 15 | 0 | 0) | 0; + HEAP32[($4 + 28 | 0) >> 2] = HEAP32[($4 + 8 | 0) >> 2] | 0; + _embind_register_function($6 | 0, $10 | 0, $14 | 0, char_20const__20emscripten__internal__getGenericSignature_float_2c_20int_2c_20int__28_29() | 0 | 0, HEAP32[($4 + 8 | 0) >> 2] | 0 | 0, HEAP32[($4 + 16 | 0) >> 2] | 0 | 0, 0 & 1 | 0 | 0); + __stack_pointer = $4 + 32 | 0; + return; + } + + function void_20emscripten__function_void_2c_20int_2c_20float_2c_20float_2c_20float_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20void_20_28__29_28int_2c_20float_2c_20float_2c_20float_29_2c_20emscripten__allow_raw_pointers_29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, $6 = 0, $10 = 0, $14 = 0; + $4 = __stack_pointer - 32 | 0; + __stack_pointer = $4; + HEAP32[($4 + 20 | 0) >> 2] = $0; + HEAP32[($4 + 16 | 0) >> 2] = $1; + HEAP32[($4 + 8 | 0) >> 2] = GOT_func_internal_emscripten__internal__Invoker_void_2c_20int_2c_20float_2c_20float_2c_20float___invoke_28void_20_28__29_28int_2c_20float_2c_20float_2c_20float_29_2c_20int_2c_20float_2c_20float_2c_20float_29; + $6 = HEAP32[($4 + 20 | 0) >> 2] | 0; + $10 = emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_void_2c_20int_2c_20float_2c_20float_2c_20float___getCount_28_29_20const($4 + 15 | 0 | 0) | 0; + $14 = emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_void_2c_20int_2c_20float_2c_20float_2c_20float___getTypes_28_29_20const($4 + 15 | 0 | 0) | 0; + HEAP32[($4 + 28 | 0) >> 2] = HEAP32[($4 + 8 | 0) >> 2] | 0; + _embind_register_function($6 | 0, $10 | 0, $14 | 0, char_20const__20emscripten__internal__getGenericSignature_void_2c_20int_2c_20int_2c_20float_2c_20float_2c_20float__28_29() | 0 | 0, HEAP32[($4 + 8 | 0) >> 2] | 0 | 0, HEAP32[($4 + 16 | 0) >> 2] | 0 | 0, 0 & 1 | 0 | 0); + __stack_pointer = $4 + 32 | 0; + return; + } + + function void_20emscripten__function_int_2c_20float_2c_20float_2c_20float_2c_20float_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20int_20_28__29_28float_2c_20float_2c_20float_2c_20float_29_2c_20emscripten__allow_raw_pointers_29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, $6 = 0, $10 = 0, $14 = 0; + $4 = __stack_pointer - 32 | 0; + __stack_pointer = $4; + HEAP32[($4 + 20 | 0) >> 2] = $0; + HEAP32[($4 + 16 | 0) >> 2] = $1; + HEAP32[($4 + 8 | 0) >> 2] = GOT_func_internal_emscripten__internal__Invoker_int_2c_20float_2c_20float_2c_20float_2c_20float___invoke_28int_20_28__29_28float_2c_20float_2c_20float_2c_20float_29_2c_20float_2c_20float_2c_20float_2c_20float_29; + $6 = HEAP32[($4 + 20 | 0) >> 2] | 0; + $10 = emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_int_2c_20float_2c_20float_2c_20float_2c_20float___getCount_28_29_20const($4 + 15 | 0 | 0) | 0; + $14 = emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_int_2c_20float_2c_20float_2c_20float_2c_20float___getTypes_28_29_20const($4 + 15 | 0 | 0) | 0; + HEAP32[($4 + 28 | 0) >> 2] = HEAP32[($4 + 8 | 0) >> 2] | 0; + _embind_register_function($6 | 0, $10 | 0, $14 | 0, char_20const__20emscripten__internal__getGenericSignature_int_2c_20int_2c_20float_2c_20float_2c_20float_2c_20float__28_29() | 0 | 0, HEAP32[($4 + 8 | 0) >> 2] | 0 | 0, HEAP32[($4 + 16 | 0) >> 2] | 0 | 0, 0 & 1 | 0 | 0); + __stack_pointer = $4 + 32 | 0; + return; + } + + function void_20emscripten__function_void_2c_20int_2c_20float_2c_20float_2c_20float_2c_20float_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20void_20_28__29_28int_2c_20float_2c_20float_2c_20float_2c_20float_29_2c_20emscripten__allow_raw_pointers_29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, $6 = 0, $10 = 0, $14 = 0; + $4 = __stack_pointer - 32 | 0; + __stack_pointer = $4; + HEAP32[($4 + 20 | 0) >> 2] = $0; + HEAP32[($4 + 16 | 0) >> 2] = $1; + HEAP32[($4 + 8 | 0) >> 2] = GOT_func_internal_emscripten__internal__Invoker_void_2c_20int_2c_20float_2c_20float_2c_20float_2c_20float___invoke_28void_20_28__29_28int_2c_20float_2c_20float_2c_20float_2c_20float_29_2c_20int_2c_20float_2c_20float_2c_20float_2c_20float_29; + $6 = HEAP32[($4 + 20 | 0) >> 2] | 0; + $10 = emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_void_2c_20int_2c_20float_2c_20float_2c_20float_2c_20float___getCount_28_29_20const($4 + 15 | 0 | 0) | 0; + $14 = emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_void_2c_20int_2c_20float_2c_20float_2c_20float_2c_20float___getTypes_28_29_20const($4 + 15 | 0 | 0) | 0; + HEAP32[($4 + 28 | 0) >> 2] = HEAP32[($4 + 8 | 0) >> 2] | 0; + _embind_register_function($6 | 0, $10 | 0, $14 | 0, char_20const__20emscripten__internal__getGenericSignature_void_2c_20int_2c_20int_2c_20float_2c_20float_2c_20float_2c_20float__28_29() | 0 | 0, HEAP32[($4 + 8 | 0) >> 2] | 0 | 0, HEAP32[($4 + 16 | 0) >> 2] | 0 | 0, 0 & 1 | 0 | 0); + __stack_pointer = $4 + 32 | 0; + return; + } + + function void_20emscripten__function_int_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20int_20_28__29_28_29_2c_20emscripten__allow_raw_pointers_29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, $6 = 0, $10 = 0, $14 = 0; + $4 = __stack_pointer - 32 | 0; + __stack_pointer = $4; + HEAP32[($4 + 20 | 0) >> 2] = $0; + HEAP32[($4 + 16 | 0) >> 2] = $1; + HEAP32[($4 + 8 | 0) >> 2] = GOT_func_internal_emscripten__internal__Invoker_int___invoke_28int_20_28__29_28_29_29; + $6 = HEAP32[($4 + 20 | 0) >> 2] | 0; + $10 = emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_int___getCount_28_29_20const($4 + 15 | 0 | 0) | 0; + $14 = emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_int___getTypes_28_29_20const($4 + 15 | 0 | 0) | 0; + HEAP32[($4 + 28 | 0) >> 2] = HEAP32[($4 + 8 | 0) >> 2] | 0; + _embind_register_function($6 | 0, $10 | 0, $14 | 0, char_20const__20emscripten__internal__getGenericSignature_int_2c_20int__28_29() | 0 | 0, HEAP32[($4 + 8 | 0) >> 2] | 0 | 0, HEAP32[($4 + 16 | 0) >> 2] | 0 | 0, 0 & 1 | 0 | 0); + __stack_pointer = $4 + 32 | 0; + return; + } + + function void_20emscripten__function_void_2c_20int_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20void_20_28__29_28int_29_2c_20emscripten__allow_raw_pointers_29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, $6 = 0, $10 = 0, $14 = 0; + $4 = __stack_pointer - 32 | 0; + __stack_pointer = $4; + HEAP32[($4 + 20 | 0) >> 2] = $0; + HEAP32[($4 + 16 | 0) >> 2] = $1; + HEAP32[($4 + 8 | 0) >> 2] = GOT_func_internal_emscripten__internal__Invoker_void_2c_20int___invoke_28void_20_28__29_28int_29_2c_20int_29; + $6 = HEAP32[($4 + 20 | 0) >> 2] | 0; + $10 = emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_void_2c_20int___getCount_28_29_20const($4 + 15 | 0 | 0) | 0; + $14 = emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_void_2c_20int___getTypes_28_29_20const($4 + 15 | 0 | 0) | 0; + HEAP32[($4 + 28 | 0) >> 2] = HEAP32[($4 + 8 | 0) >> 2] | 0; + _embind_register_function($6 | 0, $10 | 0, $14 | 0, char_20const__20emscripten__internal__getGenericSignature_void_2c_20int_2c_20int__28_29() | 0 | 0, HEAP32[($4 + 8 | 0) >> 2] | 0 | 0, HEAP32[($4 + 16 | 0) >> 2] | 0 | 0, 0 & 1 | 0 | 0); + __stack_pointer = $4 + 32 | 0; + return; + } + + function void_20emscripten__function_void_2c_20int_2c_20int_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20void_20_28__29_28int_2c_20int_29_2c_20emscripten__allow_raw_pointers_29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, $6 = 0, $10 = 0, $14 = 0; + $4 = __stack_pointer - 32 | 0; + __stack_pointer = $4; + HEAP32[($4 + 20 | 0) >> 2] = $0; + HEAP32[($4 + 16 | 0) >> 2] = $1; + HEAP32[($4 + 8 | 0) >> 2] = GOT_func_internal_emscripten__internal__Invoker_void_2c_20int_2c_20int___invoke_28void_20_28__29_28int_2c_20int_29_2c_20int_2c_20int_29; + $6 = HEAP32[($4 + 20 | 0) >> 2] | 0; + $10 = emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_void_2c_20int_2c_20int___getCount_28_29_20const($4 + 15 | 0 | 0) | 0; + $14 = emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_void_2c_20int_2c_20int___getTypes_28_29_20const($4 + 15 | 0 | 0) | 0; + HEAP32[($4 + 28 | 0) >> 2] = HEAP32[($4 + 8 | 0) >> 2] | 0; + _embind_register_function($6 | 0, $10 | 0, $14 | 0, char_20const__20emscripten__internal__getGenericSignature_void_2c_20int_2c_20int_2c_20int__28_29() | 0 | 0, HEAP32[($4 + 8 | 0) >> 2] | 0 | 0, HEAP32[($4 + 16 | 0) >> 2] | 0 | 0, 0 & 1 | 0 | 0); + __stack_pointer = $4 + 32 | 0; + return; + } + + function void_20emscripten__function_int_2c_20int_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20int_20_28__29_28int_29_2c_20emscripten__allow_raw_pointers_29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, $6 = 0, $10 = 0, $14 = 0; + $4 = __stack_pointer - 32 | 0; + __stack_pointer = $4; + HEAP32[($4 + 20 | 0) >> 2] = $0; + HEAP32[($4 + 16 | 0) >> 2] = $1; + HEAP32[($4 + 8 | 0) >> 2] = GOT_func_internal_emscripten__internal__Invoker_int_2c_20int___invoke_28int_20_28__29_28int_29_2c_20int_29; + $6 = HEAP32[($4 + 20 | 0) >> 2] | 0; + $10 = emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_int_2c_20int___getCount_28_29_20const($4 + 15 | 0 | 0) | 0; + $14 = emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_int_2c_20int___getTypes_28_29_20const($4 + 15 | 0 | 0) | 0; + HEAP32[($4 + 28 | 0) >> 2] = HEAP32[($4 + 8 | 0) >> 2] | 0; + _embind_register_function($6 | 0, $10 | 0, $14 | 0, char_20const__20emscripten__internal__getGenericSignature_int_2c_20int_2c_20int__28_29() | 0 | 0, HEAP32[($4 + 8 | 0) >> 2] | 0 | 0, HEAP32[($4 + 16 | 0) >> 2] | 0 | 0, 0 & 1 | 0 | 0); + __stack_pointer = $4 + 32 | 0; + return; + } + + function void_20emscripten__function_int_2c_20int_2c_20int_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20int_20_28__29_28int_2c_20int_29_2c_20emscripten__allow_raw_pointers_29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, $6 = 0, $10 = 0, $14 = 0; + $4 = __stack_pointer - 32 | 0; + __stack_pointer = $4; + HEAP32[($4 + 20 | 0) >> 2] = $0; + HEAP32[($4 + 16 | 0) >> 2] = $1; + HEAP32[($4 + 8 | 0) >> 2] = GOT_func_internal_emscripten__internal__Invoker_int_2c_20int_2c_20int___invoke_28int_20_28__29_28int_2c_20int_29_2c_20int_2c_20int_29; + $6 = HEAP32[($4 + 20 | 0) >> 2] | 0; + $10 = emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_int_2c_20int_2c_20int___getCount_28_29_20const($4 + 15 | 0 | 0) | 0; + $14 = emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_int_2c_20int_2c_20int___getTypes_28_29_20const($4 + 15 | 0 | 0) | 0; + HEAP32[($4 + 28 | 0) >> 2] = HEAP32[($4 + 8 | 0) >> 2] | 0; + _embind_register_function($6 | 0, $10 | 0, $14 | 0, char_20const__20emscripten__internal__getGenericSignature_int_2c_20int_2c_20int_2c_20int__28_29() | 0 | 0, HEAP32[($4 + 8 | 0) >> 2] | 0 | 0, HEAP32[($4 + 16 | 0) >> 2] | 0 | 0, 0 & 1 | 0 | 0); + __stack_pointer = $4 + 32 | 0; + return; + } + + function void_20emscripten__function_void_2c_20int_2c_20int_2c_20int_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20void_20_28__29_28int_2c_20int_2c_20int_29_2c_20emscripten__allow_raw_pointers_29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, $6 = 0, $10 = 0, $14 = 0; + $4 = __stack_pointer - 32 | 0; + __stack_pointer = $4; + HEAP32[($4 + 20 | 0) >> 2] = $0; + HEAP32[($4 + 16 | 0) >> 2] = $1; + HEAP32[($4 + 8 | 0) >> 2] = GOT_func_internal_emscripten__internal__Invoker_void_2c_20int_2c_20int_2c_20int___invoke_28void_20_28__29_28int_2c_20int_2c_20int_29_2c_20int_2c_20int_2c_20int_29; + $6 = HEAP32[($4 + 20 | 0) >> 2] | 0; + $10 = emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_void_2c_20int_2c_20int_2c_20int___getCount_28_29_20const($4 + 15 | 0 | 0) | 0; + $14 = emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_void_2c_20int_2c_20int_2c_20int___getTypes_28_29_20const($4 + 15 | 0 | 0) | 0; + HEAP32[($4 + 28 | 0) >> 2] = HEAP32[($4 + 8 | 0) >> 2] | 0; + _embind_register_function($6 | 0, $10 | 0, $14 | 0, char_20const__20emscripten__internal__getGenericSignature_void_2c_20int_2c_20int_2c_20int_2c_20int__28_29() | 0 | 0, HEAP32[($4 + 8 | 0) >> 2] | 0 | 0, HEAP32[($4 + 16 | 0) >> 2] | 0 | 0, 0 & 1 | 0 | 0); + __stack_pointer = $4 + 32 | 0; + return; + } + + function void_20emscripten__function_int_2c_20int_2c_20int__28char_20const__2c_20int_20_28__29_28int_2c_20int_29_29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, $6 = 0, $10 = 0, $14 = 0; + $4 = __stack_pointer - 32 | 0; + __stack_pointer = $4; + HEAP32[($4 + 24 | 0) >> 2] = $0; + HEAP32[($4 + 20 | 0) >> 2] = $1; + HEAP32[($4 + 12 | 0) >> 2] = GOT_func_internal_emscripten__internal__Invoker_int_2c_20int_2c_20int___invoke_28int_20_28__29_28int_2c_20int_29_2c_20int_2c_20int_29; + $6 = HEAP32[($4 + 24 | 0) >> 2] | 0; + $10 = emscripten__internal__WithPolicies____ArgTypeList_int_2c_20int_2c_20int___getCount_28_29_20const($4 + 19 | 0 | 0) | 0; + $14 = emscripten__internal__WithPolicies____ArgTypeList_int_2c_20int_2c_20int___getTypes_28_29_20const($4 + 19 | 0 | 0) | 0; + HEAP32[($4 + 28 | 0) >> 2] = HEAP32[($4 + 12 | 0) >> 2] | 0; + _embind_register_function($6 | 0, $10 | 0, $14 | 0, char_20const__20emscripten__internal__getGenericSignature_int_2c_20int_2c_20int_2c_20int__28_29() | 0 | 0, HEAP32[($4 + 12 | 0) >> 2] | 0 | 0, HEAP32[($4 + 20 | 0) >> 2] | 0 | 0, 0 & 1 | 0 | 0); + __stack_pointer = $4 + 32 | 0; + return; + } + + function void_20emscripten__function_void_2c_20int_2c_20float_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20void_20_28__29_28int_2c_20float_29_2c_20emscripten__allow_raw_pointers_29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, $6 = 0, $10 = 0, $14 = 0; + $4 = __stack_pointer - 32 | 0; + __stack_pointer = $4; + HEAP32[($4 + 20 | 0) >> 2] = $0; + HEAP32[($4 + 16 | 0) >> 2] = $1; + HEAP32[($4 + 8 | 0) >> 2] = GOT_func_internal_emscripten__internal__Invoker_void_2c_20int_2c_20float___invoke_28void_20_28__29_28int_2c_20float_29_2c_20int_2c_20float_29; + $6 = HEAP32[($4 + 20 | 0) >> 2] | 0; + $10 = emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_void_2c_20int_2c_20float___getCount_28_29_20const($4 + 15 | 0 | 0) | 0; + $14 = emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_void_2c_20int_2c_20float___getTypes_28_29_20const($4 + 15 | 0 | 0) | 0; + HEAP32[($4 + 28 | 0) >> 2] = HEAP32[($4 + 8 | 0) >> 2] | 0; + _embind_register_function($6 | 0, $10 | 0, $14 | 0, char_20const__20emscripten__internal__getGenericSignature_void_2c_20int_2c_20int_2c_20float__28_29() | 0 | 0, HEAP32[($4 + 8 | 0) >> 2] | 0 | 0, HEAP32[($4 + 16 | 0) >> 2] | 0 | 0, 0 & 1 | 0 | 0); + __stack_pointer = $4 + 32 | 0; + return; + } + + function void_20emscripten__function_int_2c_20int_2c_20int_2c_20int_2c_20int_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20int_20_28__29_28int_2c_20int_2c_20int_2c_20int_29_2c_20emscripten__allow_raw_pointers_29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, $6 = 0, $10 = 0, $14 = 0; + $4 = __stack_pointer - 32 | 0; + __stack_pointer = $4; + HEAP32[($4 + 20 | 0) >> 2] = $0; + HEAP32[($4 + 16 | 0) >> 2] = $1; + HEAP32[($4 + 8 | 0) >> 2] = GOT_func_internal_emscripten__internal__Invoker_int_2c_20int_2c_20int_2c_20int_2c_20int___invoke_28int_20_28__29_28int_2c_20int_2c_20int_2c_20int_29_2c_20int_2c_20int_2c_20int_2c_20int_29; + $6 = HEAP32[($4 + 20 | 0) >> 2] | 0; + $10 = emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_int_2c_20int_2c_20int_2c_20int_2c_20int___getCount_28_29_20const($4 + 15 | 0 | 0) | 0; + $14 = emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_int_2c_20int_2c_20int_2c_20int_2c_20int___getTypes_28_29_20const($4 + 15 | 0 | 0) | 0; + HEAP32[($4 + 28 | 0) >> 2] = HEAP32[($4 + 8 | 0) >> 2] | 0; + _embind_register_function($6 | 0, $10 | 0, $14 | 0, char_20const__20emscripten__internal__getGenericSignature_int_2c_20int_2c_20int_2c_20int_2c_20int_2c_20int__28_29() | 0 | 0, HEAP32[($4 + 8 | 0) >> 2] | 0 | 0, HEAP32[($4 + 16 | 0) >> 2] | 0 | 0, 0 & 1 | 0 | 0); + __stack_pointer = $4 + 32 | 0; + return; + } + + function void_20emscripten__function_void_2c_20int_2c_20float_2c_20float_2c_20float_2c_20float_2c_20float_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20void_20_28__29_28int_2c_20float_2c_20float_2c_20float_2c_20float_2c_20float_29_2c_20emscripten__allow_raw_pointers_29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, $6 = 0, $10 = 0, $14 = 0; + $4 = __stack_pointer - 32 | 0; + __stack_pointer = $4; + HEAP32[($4 + 20 | 0) >> 2] = $0; + HEAP32[($4 + 16 | 0) >> 2] = $1; + HEAP32[($4 + 8 | 0) >> 2] = GOT_func_internal_emscripten__internal__Invoker_void_2c_20int_2c_20float_2c_20float_2c_20float_2c_20float_2c_20float___invoke_28void_20_28__29_28int_2c_20float_2c_20float_2c_20float_2c_20float_2c_20float_29_2c_20int_2c_20float_2c_20float_2c_20float_2c_20float_2c_20float_29; + $6 = HEAP32[($4 + 20 | 0) >> 2] | 0; + $10 = emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_void_2c_20int_2c_20float_2c_20float_2c_20float_2c_20float_2c_20float___getCount_28_29_20const($4 + 15 | 0 | 0) | 0; + $14 = emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_void_2c_20int_2c_20float_2c_20float_2c_20float_2c_20float_2c_20float___getTypes_28_29_20const($4 + 15 | 0 | 0) | 0; + HEAP32[($4 + 28 | 0) >> 2] = HEAP32[($4 + 8 | 0) >> 2] | 0; + _embind_register_function($6 | 0, $10 | 0, $14 | 0, char_20const__20emscripten__internal__getGenericSignature_void_2c_20int_2c_20int_2c_20float_2c_20float_2c_20float_2c_20float_2c_20float__28_29() | 0 | 0, HEAP32[($4 + 8 | 0) >> 2] | 0 | 0, HEAP32[($4 + 16 | 0) >> 2] | 0 | 0, 0 & 1 | 0 | 0); + __stack_pointer = $4 + 32 | 0; + return; + } + + function void_20emscripten__function_void_2c_20int_2c_20bool_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20void_20_28__29_28int_2c_20bool_29_2c_20emscripten__allow_raw_pointers_29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, $6 = 0, $10 = 0, $14 = 0; + $4 = __stack_pointer - 32 | 0; + __stack_pointer = $4; + HEAP32[($4 + 20 | 0) >> 2] = $0; + HEAP32[($4 + 16 | 0) >> 2] = $1; + HEAP32[($4 + 8 | 0) >> 2] = GOT_func_internal_emscripten__internal__Invoker_void_2c_20int_2c_20bool___invoke_28void_20_28__29_28int_2c_20bool_29_2c_20int_2c_20bool_29; + $6 = HEAP32[($4 + 20 | 0) >> 2] | 0; + $10 = emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_void_2c_20int_2c_20bool___getCount_28_29_20const($4 + 15 | 0 | 0) | 0; + $14 = emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_void_2c_20int_2c_20bool___getTypes_28_29_20const($4 + 15 | 0 | 0) | 0; + HEAP32[($4 + 28 | 0) >> 2] = HEAP32[($4 + 8 | 0) >> 2] | 0; + _embind_register_function($6 | 0, $10 | 0, $14 | 0, char_20const__20emscripten__internal__getGenericSignature_void_2c_20int_2c_20int_2c_20int__28_29() | 0 | 0, HEAP32[($4 + 8 | 0) >> 2] | 0 | 0, HEAP32[($4 + 16 | 0) >> 2] | 0 | 0, 0 & 1 | 0 | 0); + __stack_pointer = $4 + 32 | 0; + return; + } + + function void_20emscripten__function_void_2c_20int_2c_20float_2c_20float_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20void_20_28__29_28int_2c_20float_2c_20float_29_2c_20emscripten__allow_raw_pointers_29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, $6 = 0, $10 = 0, $14 = 0; + $4 = __stack_pointer - 32 | 0; + __stack_pointer = $4; + HEAP32[($4 + 20 | 0) >> 2] = $0; + HEAP32[($4 + 16 | 0) >> 2] = $1; + HEAP32[($4 + 8 | 0) >> 2] = GOT_func_internal_emscripten__internal__Invoker_void_2c_20int_2c_20float_2c_20float___invoke_28void_20_28__29_28int_2c_20float_2c_20float_29_2c_20int_2c_20float_2c_20float_29; + $6 = HEAP32[($4 + 20 | 0) >> 2] | 0; + $10 = emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_void_2c_20int_2c_20float_2c_20float___getCount_28_29_20const($4 + 15 | 0 | 0) | 0; + $14 = emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_void_2c_20int_2c_20float_2c_20float___getTypes_28_29_20const($4 + 15 | 0 | 0) | 0; + HEAP32[($4 + 28 | 0) >> 2] = HEAP32[($4 + 8 | 0) >> 2] | 0; + _embind_register_function($6 | 0, $10 | 0, $14 | 0, char_20const__20emscripten__internal__getGenericSignature_void_2c_20int_2c_20int_2c_20float_2c_20float__28_29() | 0 | 0, HEAP32[($4 + 8 | 0) >> 2] | 0 | 0, HEAP32[($4 + 16 | 0) >> 2] | 0 | 0, 0 & 1 | 0 | 0); + __stack_pointer = $4 + 32 | 0; + return; + } + + function void_20emscripten__function_int_2c_20int_2c_20int_2c_20int_2c_20int_2c_20int_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20int_20_28__29_28int_2c_20int_2c_20int_2c_20int_2c_20int_29_2c_20emscripten__allow_raw_pointers_29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, $6 = 0, $10 = 0, $14 = 0; + $4 = __stack_pointer - 32 | 0; + __stack_pointer = $4; + HEAP32[($4 + 20 | 0) >> 2] = $0; + HEAP32[($4 + 16 | 0) >> 2] = $1; + HEAP32[($4 + 8 | 0) >> 2] = GOT_func_internal_emscripten__internal__Invoker_int_2c_20int_2c_20int_2c_20int_2c_20int_2c_20int___invoke_28int_20_28__29_28int_2c_20int_2c_20int_2c_20int_2c_20int_29_2c_20int_2c_20int_2c_20int_2c_20int_2c_20int_29; + $6 = HEAP32[($4 + 20 | 0) >> 2] | 0; + $10 = emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_int_2c_20int_2c_20int_2c_20int_2c_20int_2c_20int___getCount_28_29_20const($4 + 15 | 0 | 0) | 0; + $14 = emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_int_2c_20int_2c_20int_2c_20int_2c_20int_2c_20int___getTypes_28_29_20const($4 + 15 | 0 | 0) | 0; + HEAP32[($4 + 28 | 0) >> 2] = HEAP32[($4 + 8 | 0) >> 2] | 0; + _embind_register_function($6 | 0, $10 | 0, $14 | 0, char_20const__20emscripten__internal__getGenericSignature_int_2c_20int_2c_20int_2c_20int_2c_20int_2c_20int_2c_20int__28_29() | 0 | 0, HEAP32[($4 + 8 | 0) >> 2] | 0 | 0, HEAP32[($4 + 16 | 0) >> 2] | 0 | 0, 0 & 1 | 0 | 0); + __stack_pointer = $4 + 32 | 0; + return; + } + + function void_20emscripten__function_void_2c_20int_2c_20int_2c_20float_2c_20float_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20void_20_28__29_28int_2c_20int_2c_20float_2c_20float_29_2c_20emscripten__allow_raw_pointers_29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, $6 = 0, $10 = 0, $14 = 0; + $4 = __stack_pointer - 32 | 0; + __stack_pointer = $4; + HEAP32[($4 + 20 | 0) >> 2] = $0; + HEAP32[($4 + 16 | 0) >> 2] = $1; + HEAP32[($4 + 8 | 0) >> 2] = GOT_func_internal_emscripten__internal__Invoker_void_2c_20int_2c_20int_2c_20float_2c_20float___invoke_28void_20_28__29_28int_2c_20int_2c_20float_2c_20float_29_2c_20int_2c_20int_2c_20float_2c_20float_29; + $6 = HEAP32[($4 + 20 | 0) >> 2] | 0; + $10 = emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_void_2c_20int_2c_20int_2c_20float_2c_20float___getCount_28_29_20const($4 + 15 | 0 | 0) | 0; + $14 = emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_void_2c_20int_2c_20int_2c_20float_2c_20float___getTypes_28_29_20const($4 + 15 | 0 | 0) | 0; + HEAP32[($4 + 28 | 0) >> 2] = HEAP32[($4 + 8 | 0) >> 2] | 0; + _embind_register_function($6 | 0, $10 | 0, $14 | 0, char_20const__20emscripten__internal__getGenericSignature_void_2c_20int_2c_20int_2c_20int_2c_20float_2c_20float__28_29() | 0 | 0, HEAP32[($4 + 8 | 0) >> 2] | 0 | 0, HEAP32[($4 + 16 | 0) >> 2] | 0 | 0, 0 & 1 | 0 | 0); + __stack_pointer = $4 + 32 | 0; + return; + } + + function void_20emscripten__function_void_2c_20int_2c_20int_2c_20bool_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20void_20_28__29_28int_2c_20int_2c_20bool_29_2c_20emscripten__allow_raw_pointers_29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, $6 = 0, $10 = 0, $14 = 0; + $4 = __stack_pointer - 32 | 0; + __stack_pointer = $4; + HEAP32[($4 + 20 | 0) >> 2] = $0; + HEAP32[($4 + 16 | 0) >> 2] = $1; + HEAP32[($4 + 8 | 0) >> 2] = GOT_func_internal_emscripten__internal__Invoker_void_2c_20int_2c_20int_2c_20bool___invoke_28void_20_28__29_28int_2c_20int_2c_20bool_29_2c_20int_2c_20int_2c_20bool_29; + $6 = HEAP32[($4 + 20 | 0) >> 2] | 0; + $10 = emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_void_2c_20int_2c_20int_2c_20bool___getCount_28_29_20const($4 + 15 | 0 | 0) | 0; + $14 = emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_void_2c_20int_2c_20int_2c_20bool___getTypes_28_29_20const($4 + 15 | 0 | 0) | 0; + HEAP32[($4 + 28 | 0) >> 2] = HEAP32[($4 + 8 | 0) >> 2] | 0; + _embind_register_function($6 | 0, $10 | 0, $14 | 0, char_20const__20emscripten__internal__getGenericSignature_void_2c_20int_2c_20int_2c_20int_2c_20int__28_29() | 0 | 0, HEAP32[($4 + 8 | 0) >> 2] | 0 | 0, HEAP32[($4 + 16 | 0) >> 2] | 0 | 0, 0 & 1 | 0 | 0); + __stack_pointer = $4 + 32 | 0; + return; + } + + function void_20emscripten__function_void_2c_20int_2c_20int_2c_20float_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20void_20_28__29_28int_2c_20int_2c_20float_29_2c_20emscripten__allow_raw_pointers_29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, $6 = 0, $10 = 0, $14 = 0; + $4 = __stack_pointer - 32 | 0; + __stack_pointer = $4; + HEAP32[($4 + 20 | 0) >> 2] = $0; + HEAP32[($4 + 16 | 0) >> 2] = $1; + HEAP32[($4 + 8 | 0) >> 2] = GOT_func_internal_emscripten__internal__Invoker_void_2c_20int_2c_20int_2c_20float___invoke_28void_20_28__29_28int_2c_20int_2c_20float_29_2c_20int_2c_20int_2c_20float_29; + $6 = HEAP32[($4 + 20 | 0) >> 2] | 0; + $10 = emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_void_2c_20int_2c_20int_2c_20float___getCount_28_29_20const($4 + 15 | 0 | 0) | 0; + $14 = emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_void_2c_20int_2c_20int_2c_20float___getTypes_28_29_20const($4 + 15 | 0 | 0) | 0; + HEAP32[($4 + 28 | 0) >> 2] = HEAP32[($4 + 8 | 0) >> 2] | 0; + _embind_register_function($6 | 0, $10 | 0, $14 | 0, char_20const__20emscripten__internal__getGenericSignature_void_2c_20int_2c_20int_2c_20int_2c_20float__28_29() | 0 | 0, HEAP32[($4 + 8 | 0) >> 2] | 0 | 0, HEAP32[($4 + 16 | 0) >> 2] | 0 | 0, 0 & 1 | 0 | 0); + __stack_pointer = $4 + 32 | 0; + return; + } + + function void_20emscripten__function_bool_2c_20int_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20bool_20_28__29_28int_29_2c_20emscripten__allow_raw_pointers_29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, $6 = 0, $10 = 0, $14 = 0; + $4 = __stack_pointer - 32 | 0; + __stack_pointer = $4; + HEAP32[($4 + 20 | 0) >> 2] = $0; + HEAP32[($4 + 16 | 0) >> 2] = $1; + HEAP32[($4 + 8 | 0) >> 2] = GOT_func_internal_emscripten__internal__Invoker_bool_2c_20int___invoke_28bool_20_28__29_28int_29_2c_20int_29; + $6 = HEAP32[($4 + 20 | 0) >> 2] | 0; + $10 = emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_bool_2c_20int___getCount_28_29_20const($4 + 15 | 0 | 0) | 0; + $14 = emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_bool_2c_20int___getTypes_28_29_20const($4 + 15 | 0 | 0) | 0; + HEAP32[($4 + 28 | 0) >> 2] = HEAP32[($4 + 8 | 0) >> 2] | 0; + _embind_register_function($6 | 0, $10 | 0, $14 | 0, char_20const__20emscripten__internal__getGenericSignature_int_2c_20int_2c_20int__28_29() | 0 | 0, HEAP32[($4 + 8 | 0) >> 2] | 0 | 0, HEAP32[($4 + 16 | 0) >> 2] | 0 | 0, 0 & 1 | 0 | 0); + __stack_pointer = $4 + 32 | 0; + return; + } + + function void_20emscripten__function_void_2c_20int_2c_20float_2c_20int_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20void_20_28__29_28int_2c_20float_2c_20int_29_2c_20emscripten__allow_raw_pointers_29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, $6 = 0, $10 = 0, $14 = 0; + $4 = __stack_pointer - 32 | 0; + __stack_pointer = $4; + HEAP32[($4 + 20 | 0) >> 2] = $0; + HEAP32[($4 + 16 | 0) >> 2] = $1; + HEAP32[($4 + 8 | 0) >> 2] = GOT_func_internal_emscripten__internal__Invoker_void_2c_20int_2c_20float_2c_20int___invoke_28void_20_28__29_28int_2c_20float_2c_20int_29_2c_20int_2c_20float_2c_20int_29; + $6 = HEAP32[($4 + 20 | 0) >> 2] | 0; + $10 = emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_void_2c_20int_2c_20float_2c_20int___getCount_28_29_20const($4 + 15 | 0 | 0) | 0; + $14 = emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_void_2c_20int_2c_20float_2c_20int___getTypes_28_29_20const($4 + 15 | 0 | 0) | 0; + HEAP32[($4 + 28 | 0) >> 2] = HEAP32[($4 + 8 | 0) >> 2] | 0; + _embind_register_function($6 | 0, $10 | 0, $14 | 0, char_20const__20emscripten__internal__getGenericSignature_void_2c_20int_2c_20int_2c_20float_2c_20int__28_29() | 0 | 0, HEAP32[($4 + 8 | 0) >> 2] | 0 | 0, HEAP32[($4 + 16 | 0) >> 2] | 0 | 0, 0 & 1 | 0 | 0); + __stack_pointer = $4 + 32 | 0; + return; + } + + function void_20emscripten__function_void_2c_20int_2c_20int_2c_20int_2c_20int_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20void_20_28__29_28int_2c_20int_2c_20int_2c_20int_29_2c_20emscripten__allow_raw_pointers_29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, $6 = 0, $10 = 0, $14 = 0; + $4 = __stack_pointer - 32 | 0; + __stack_pointer = $4; + HEAP32[($4 + 20 | 0) >> 2] = $0; + HEAP32[($4 + 16 | 0) >> 2] = $1; + HEAP32[($4 + 8 | 0) >> 2] = GOT_func_internal_emscripten__internal__Invoker_void_2c_20int_2c_20int_2c_20int_2c_20int___invoke_28void_20_28__29_28int_2c_20int_2c_20int_2c_20int_29_2c_20int_2c_20int_2c_20int_2c_20int_29; + $6 = HEAP32[($4 + 20 | 0) >> 2] | 0; + $10 = emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_void_2c_20int_2c_20int_2c_20int_2c_20int___getCount_28_29_20const($4 + 15 | 0 | 0) | 0; + $14 = emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_void_2c_20int_2c_20int_2c_20int_2c_20int___getTypes_28_29_20const($4 + 15 | 0 | 0) | 0; + HEAP32[($4 + 28 | 0) >> 2] = HEAP32[($4 + 8 | 0) >> 2] | 0; + _embind_register_function($6 | 0, $10 | 0, $14 | 0, char_20const__20emscripten__internal__getGenericSignature_void_2c_20int_2c_20int_2c_20int_2c_20int_2c_20int__28_29() | 0 | 0, HEAP32[($4 + 8 | 0) >> 2] | 0 | 0, HEAP32[($4 + 16 | 0) >> 2] | 0 | 0, 0 & 1 | 0 | 0); + __stack_pointer = $4 + 32 | 0; + return; + } + + function void_20emscripten__function_int_2c_20float_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20int_20_28__29_28float_29_2c_20emscripten__allow_raw_pointers_29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, $6 = 0, $10 = 0, $14 = 0; + $4 = __stack_pointer - 32 | 0; + __stack_pointer = $4; + HEAP32[($4 + 20 | 0) >> 2] = $0; + HEAP32[($4 + 16 | 0) >> 2] = $1; + HEAP32[($4 + 8 | 0) >> 2] = GOT_func_internal_emscripten__internal__Invoker_int_2c_20float___invoke_28int_20_28__29_28float_29_2c_20float_29; + $6 = HEAP32[($4 + 20 | 0) >> 2] | 0; + $10 = emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_int_2c_20float___getCount_28_29_20const($4 + 15 | 0 | 0) | 0; + $14 = emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_int_2c_20float___getTypes_28_29_20const($4 + 15 | 0 | 0) | 0; + HEAP32[($4 + 28 | 0) >> 2] = HEAP32[($4 + 8 | 0) >> 2] | 0; + _embind_register_function($6 | 0, $10 | 0, $14 | 0, char_20const__20emscripten__internal__getGenericSignature_int_2c_20int_2c_20float__28_29() | 0 | 0, HEAP32[($4 + 8 | 0) >> 2] | 0 | 0, HEAP32[($4 + 16 | 0) >> 2] | 0 | 0, 0 & 1 | 0 | 0); + __stack_pointer = $4 + 32 | 0; + return; + } + + function void_20emscripten__function_void_2c_20int_2c_20float_2c_20float_2c_20int_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20void_20_28__29_28int_2c_20float_2c_20float_2c_20int_29_2c_20emscripten__allow_raw_pointers_29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, $6 = 0, $10 = 0, $14 = 0; + $4 = __stack_pointer - 32 | 0; + __stack_pointer = $4; + HEAP32[($4 + 20 | 0) >> 2] = $0; + HEAP32[($4 + 16 | 0) >> 2] = $1; + HEAP32[($4 + 8 | 0) >> 2] = GOT_func_internal_emscripten__internal__Invoker_void_2c_20int_2c_20float_2c_20float_2c_20int___invoke_28void_20_28__29_28int_2c_20float_2c_20float_2c_20int_29_2c_20int_2c_20float_2c_20float_2c_20int_29; + $6 = HEAP32[($4 + 20 | 0) >> 2] | 0; + $10 = emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_void_2c_20int_2c_20float_2c_20float_2c_20int___getCount_28_29_20const($4 + 15 | 0 | 0) | 0; + $14 = emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_void_2c_20int_2c_20float_2c_20float_2c_20int___getTypes_28_29_20const($4 + 15 | 0 | 0) | 0; + HEAP32[($4 + 28 | 0) >> 2] = HEAP32[($4 + 8 | 0) >> 2] | 0; + _embind_register_function($6 | 0, $10 | 0, $14 | 0, char_20const__20emscripten__internal__getGenericSignature_void_2c_20int_2c_20int_2c_20float_2c_20float_2c_20int__28_29() | 0 | 0, HEAP32[($4 + 8 | 0) >> 2] | 0 | 0, HEAP32[($4 + 16 | 0) >> 2] | 0 | 0, 0 & 1 | 0 | 0); + __stack_pointer = $4 + 32 | 0; + return; + } + + function void_20emscripten__function_int_2c_20float_2c_20float_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20int_20_28__29_28float_2c_20float_29_2c_20emscripten__allow_raw_pointers_29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, $6 = 0, $10 = 0, $14 = 0; + $4 = __stack_pointer - 32 | 0; + __stack_pointer = $4; + HEAP32[($4 + 20 | 0) >> 2] = $0; + HEAP32[($4 + 16 | 0) >> 2] = $1; + HEAP32[($4 + 8 | 0) >> 2] = GOT_func_internal_emscripten__internal__Invoker_int_2c_20float_2c_20float___invoke_28int_20_28__29_28float_2c_20float_29_2c_20float_2c_20float_29; + $6 = HEAP32[($4 + 20 | 0) >> 2] | 0; + $10 = emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_int_2c_20float_2c_20float___getCount_28_29_20const($4 + 15 | 0 | 0) | 0; + $14 = emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_int_2c_20float_2c_20float___getTypes_28_29_20const($4 + 15 | 0 | 0) | 0; + HEAP32[($4 + 28 | 0) >> 2] = HEAP32[($4 + 8 | 0) >> 2] | 0; + _embind_register_function($6 | 0, $10 | 0, $14 | 0, char_20const__20emscripten__internal__getGenericSignature_int_2c_20int_2c_20float_2c_20float__28_29() | 0 | 0, HEAP32[($4 + 8 | 0) >> 2] | 0 | 0, HEAP32[($4 + 16 | 0) >> 2] | 0 | 0, 0 & 1 | 0 | 0); + __stack_pointer = $4 + 32 | 0; + return; + } + + function void_20emscripten__function_int_2c_20int_2c_20float_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20int_20_28__29_28int_2c_20float_29_2c_20emscripten__allow_raw_pointers_29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, $6 = 0, $10 = 0, $14 = 0; + $4 = __stack_pointer - 32 | 0; + __stack_pointer = $4; + HEAP32[($4 + 20 | 0) >> 2] = $0; + HEAP32[($4 + 16 | 0) >> 2] = $1; + HEAP32[($4 + 8 | 0) >> 2] = GOT_func_internal_emscripten__internal__Invoker_int_2c_20int_2c_20float___invoke_28int_20_28__29_28int_2c_20float_29_2c_20int_2c_20float_29; + $6 = HEAP32[($4 + 20 | 0) >> 2] | 0; + $10 = emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_int_2c_20int_2c_20float___getCount_28_29_20const($4 + 15 | 0 | 0) | 0; + $14 = emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_int_2c_20int_2c_20float___getTypes_28_29_20const($4 + 15 | 0 | 0) | 0; + HEAP32[($4 + 28 | 0) >> 2] = HEAP32[($4 + 8 | 0) >> 2] | 0; + _embind_register_function($6 | 0, $10 | 0, $14 | 0, char_20const__20emscripten__internal__getGenericSignature_int_2c_20int_2c_20int_2c_20float__28_29() | 0 | 0, HEAP32[($4 + 8 | 0) >> 2] | 0 | 0, HEAP32[($4 + 16 | 0) >> 2] | 0 | 0, 0 & 1 | 0 | 0); + __stack_pointer = $4 + 32 | 0; + return; + } + + function void_20emscripten__function_int_2c_20int_2c_20int_2c_20int_2c_20float_2c_20float_2c_20float_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20int_20_28__29_28int_2c_20int_2c_20int_2c_20float_2c_20float_2c_20float_29_2c_20emscripten__allow_raw_pointers_29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, $6 = 0, $10 = 0, $14 = 0; + $4 = __stack_pointer - 32 | 0; + __stack_pointer = $4; + HEAP32[($4 + 20 | 0) >> 2] = $0; + HEAP32[($4 + 16 | 0) >> 2] = $1; + HEAP32[($4 + 8 | 0) >> 2] = GOT_func_internal_emscripten__internal__Invoker_int_2c_20int_2c_20int_2c_20int_2c_20float_2c_20float_2c_20float___invoke_28int_20_28__29_28int_2c_20int_2c_20int_2c_20float_2c_20float_2c_20float_29_2c_20int_2c_20int_2c_20int_2c_20float_2c_20float_2c_20float_29; + $6 = HEAP32[($4 + 20 | 0) >> 2] | 0; + $10 = emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_int_2c_20int_2c_20int_2c_20int_2c_20float_2c_20float_2c_20float___getCount_28_29_20const($4 + 15 | 0 | 0) | 0; + $14 = emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_int_2c_20int_2c_20int_2c_20int_2c_20float_2c_20float_2c_20float___getTypes_28_29_20const($4 + 15 | 0 | 0) | 0; + HEAP32[($4 + 28 | 0) >> 2] = HEAP32[($4 + 8 | 0) >> 2] | 0; + _embind_register_function($6 | 0, $10 | 0, $14 | 0, char_20const__20emscripten__internal__getGenericSignature_int_2c_20int_2c_20int_2c_20int_2c_20int_2c_20float_2c_20float_2c_20float__28_29() | 0 | 0, HEAP32[($4 + 8 | 0) >> 2] | 0 | 0, HEAP32[($4 + 16 | 0) >> 2] | 0 | 0, 0 & 1 | 0 | 0); + __stack_pointer = $4 + 32 | 0; + return; + } + + function void_20emscripten__function_void_2c_20int_2c_20int_2c_20int_2c_20int_2c_20bool_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20void_20_28__29_28int_2c_20int_2c_20int_2c_20int_2c_20bool_29_2c_20emscripten__allow_raw_pointers_29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, $6 = 0, $10 = 0, $14 = 0; + $4 = __stack_pointer - 32 | 0; + __stack_pointer = $4; + HEAP32[($4 + 20 | 0) >> 2] = $0; + HEAP32[($4 + 16 | 0) >> 2] = $1; + HEAP32[($4 + 8 | 0) >> 2] = GOT_func_internal_emscripten__internal__Invoker_void_2c_20int_2c_20int_2c_20int_2c_20int_2c_20bool___invoke_28void_20_28__29_28int_2c_20int_2c_20int_2c_20int_2c_20bool_29_2c_20int_2c_20int_2c_20int_2c_20int_2c_20bool_29; + $6 = HEAP32[($4 + 20 | 0) >> 2] | 0; + $10 = emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_void_2c_20int_2c_20int_2c_20int_2c_20int_2c_20bool___getCount_28_29_20const($4 + 15 | 0 | 0) | 0; + $14 = emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_void_2c_20int_2c_20int_2c_20int_2c_20int_2c_20bool___getTypes_28_29_20const($4 + 15 | 0 | 0) | 0; + HEAP32[($4 + 28 | 0) >> 2] = HEAP32[($4 + 8 | 0) >> 2] | 0; + _embind_register_function($6 | 0, $10 | 0, $14 | 0, char_20const__20emscripten__internal__getGenericSignature_void_2c_20int_2c_20int_2c_20int_2c_20int_2c_20int_2c_20int__28_29() | 0 | 0, HEAP32[($4 + 8 | 0) >> 2] | 0 | 0, HEAP32[($4 + 16 | 0) >> 2] | 0 | 0, 0 & 1 | 0 | 0); + __stack_pointer = $4 + 32 | 0; + return; + } + + function void_20emscripten__function_int_2c_20int_2c_20bool_2c_20bool_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20int_20_28__29_28int_2c_20bool_2c_20bool_29_2c_20emscripten__allow_raw_pointers_29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, $6 = 0, $10 = 0, $14 = 0; + $4 = __stack_pointer - 32 | 0; + __stack_pointer = $4; + HEAP32[($4 + 20 | 0) >> 2] = $0; + HEAP32[($4 + 16 | 0) >> 2] = $1; + HEAP32[($4 + 8 | 0) >> 2] = GOT_func_internal_emscripten__internal__Invoker_int_2c_20int_2c_20bool_2c_20bool___invoke_28int_20_28__29_28int_2c_20bool_2c_20bool_29_2c_20int_2c_20bool_2c_20bool_29; + $6 = HEAP32[($4 + 20 | 0) >> 2] | 0; + $10 = emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_int_2c_20int_2c_20bool_2c_20bool___getCount_28_29_20const($4 + 15 | 0 | 0) | 0; + $14 = emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_int_2c_20int_2c_20bool_2c_20bool___getTypes_28_29_20const($4 + 15 | 0 | 0) | 0; + HEAP32[($4 + 28 | 0) >> 2] = HEAP32[($4 + 8 | 0) >> 2] | 0; + _embind_register_function($6 | 0, $10 | 0, $14 | 0, char_20const__20emscripten__internal__getGenericSignature_int_2c_20int_2c_20int_2c_20int_2c_20int__28_29() | 0 | 0, HEAP32[($4 + 8 | 0) >> 2] | 0 | 0, HEAP32[($4 + 16 | 0) >> 2] | 0 | 0, 0 & 1 | 0 | 0); + __stack_pointer = $4 + 32 | 0; + return; + } + + function void_20emscripten__function_void_2c_20int_2c_20int_2c_20float_2c_20float_2c_20float_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20void_20_28__29_28int_2c_20int_2c_20float_2c_20float_2c_20float_29_2c_20emscripten__allow_raw_pointers_29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, $6 = 0, $10 = 0, $14 = 0; + $4 = __stack_pointer - 32 | 0; + __stack_pointer = $4; + HEAP32[($4 + 20 | 0) >> 2] = $0; + HEAP32[($4 + 16 | 0) >> 2] = $1; + HEAP32[($4 + 8 | 0) >> 2] = GOT_func_internal_emscripten__internal__Invoker_void_2c_20int_2c_20int_2c_20float_2c_20float_2c_20float___invoke_28void_20_28__29_28int_2c_20int_2c_20float_2c_20float_2c_20float_29_2c_20int_2c_20int_2c_20float_2c_20float_2c_20float_29; + $6 = HEAP32[($4 + 20 | 0) >> 2] | 0; + $10 = emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_void_2c_20int_2c_20int_2c_20float_2c_20float_2c_20float___getCount_28_29_20const($4 + 15 | 0 | 0) | 0; + $14 = emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_void_2c_20int_2c_20int_2c_20float_2c_20float_2c_20float___getTypes_28_29_20const($4 + 15 | 0 | 0) | 0; + HEAP32[($4 + 28 | 0) >> 2] = HEAP32[($4 + 8 | 0) >> 2] | 0; + _embind_register_function($6 | 0, $10 | 0, $14 | 0, char_20const__20emscripten__internal__getGenericSignature_void_2c_20int_2c_20int_2c_20int_2c_20float_2c_20float_2c_20float__28_29() | 0 | 0, HEAP32[($4 + 8 | 0) >> 2] | 0 | 0, HEAP32[($4 + 16 | 0) >> 2] | 0 | 0, 0 & 1 | 0 | 0); + __stack_pointer = $4 + 32 | 0; + return; + } + + function void_20emscripten__function_int_2c_20int_2c_20float_2c_20float_2c_20float_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20int_20_28__29_28int_2c_20float_2c_20float_2c_20float_29_2c_20emscripten__allow_raw_pointers_29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, $6 = 0, $10 = 0, $14 = 0; + $4 = __stack_pointer - 32 | 0; + __stack_pointer = $4; + HEAP32[($4 + 20 | 0) >> 2] = $0; + HEAP32[($4 + 16 | 0) >> 2] = $1; + HEAP32[($4 + 8 | 0) >> 2] = GOT_func_internal_emscripten__internal__Invoker_int_2c_20int_2c_20float_2c_20float_2c_20float___invoke_28int_20_28__29_28int_2c_20float_2c_20float_2c_20float_29_2c_20int_2c_20float_2c_20float_2c_20float_29; + $6 = HEAP32[($4 + 20 | 0) >> 2] | 0; + $10 = emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_int_2c_20int_2c_20float_2c_20float_2c_20float___getCount_28_29_20const($4 + 15 | 0 | 0) | 0; + $14 = emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_int_2c_20int_2c_20float_2c_20float_2c_20float___getTypes_28_29_20const($4 + 15 | 0 | 0) | 0; + HEAP32[($4 + 28 | 0) >> 2] = HEAP32[($4 + 8 | 0) >> 2] | 0; + _embind_register_function($6 | 0, $10 | 0, $14 | 0, char_20const__20emscripten__internal__getGenericSignature_int_2c_20int_2c_20int_2c_20float_2c_20float_2c_20float__28_29() | 0 | 0, HEAP32[($4 + 8 | 0) >> 2] | 0 | 0, HEAP32[($4 + 16 | 0) >> 2] | 0 | 0, 0 & 1 | 0 | 0); + __stack_pointer = $4 + 32 | 0; + return; + } + + function void_20emscripten__function_void_2c_20int_2c_20int_2c_20int_2c_20bool_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20void_20_28__29_28int_2c_20int_2c_20int_2c_20bool_29_2c_20emscripten__allow_raw_pointers_29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, $6 = 0, $10 = 0, $14 = 0; + $4 = __stack_pointer - 32 | 0; + __stack_pointer = $4; + HEAP32[($4 + 20 | 0) >> 2] = $0; + HEAP32[($4 + 16 | 0) >> 2] = $1; + HEAP32[($4 + 8 | 0) >> 2] = GOT_func_internal_emscripten__internal__Invoker_void_2c_20int_2c_20int_2c_20int_2c_20bool___invoke_28void_20_28__29_28int_2c_20int_2c_20int_2c_20bool_29_2c_20int_2c_20int_2c_20int_2c_20bool_29; + $6 = HEAP32[($4 + 20 | 0) >> 2] | 0; + $10 = emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_void_2c_20int_2c_20int_2c_20int_2c_20bool___getCount_28_29_20const($4 + 15 | 0 | 0) | 0; + $14 = emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_void_2c_20int_2c_20int_2c_20int_2c_20bool___getTypes_28_29_20const($4 + 15 | 0 | 0) | 0; + HEAP32[($4 + 28 | 0) >> 2] = HEAP32[($4 + 8 | 0) >> 2] | 0; + _embind_register_function($6 | 0, $10 | 0, $14 | 0, char_20const__20emscripten__internal__getGenericSignature_void_2c_20int_2c_20int_2c_20int_2c_20int_2c_20int__28_29() | 0 | 0, HEAP32[($4 + 8 | 0) >> 2] | 0 | 0, HEAP32[($4 + 16 | 0) >> 2] | 0 | 0, 0 & 1 | 0 | 0); + __stack_pointer = $4 + 32 | 0; + return; + } + + function void_20emscripten__function_int_2c_20float_2c_20int_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20int_20_28__29_28float_2c_20int_29_2c_20emscripten__allow_raw_pointers_29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, $6 = 0, $10 = 0, $14 = 0; + $4 = __stack_pointer - 32 | 0; + __stack_pointer = $4; + HEAP32[($4 + 20 | 0) >> 2] = $0; + HEAP32[($4 + 16 | 0) >> 2] = $1; + HEAP32[($4 + 8 | 0) >> 2] = GOT_func_internal_emscripten__internal__Invoker_int_2c_20float_2c_20int___invoke_28int_20_28__29_28float_2c_20int_29_2c_20float_2c_20int_29; + $6 = HEAP32[($4 + 20 | 0) >> 2] | 0; + $10 = emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_int_2c_20float_2c_20int___getCount_28_29_20const($4 + 15 | 0 | 0) | 0; + $14 = emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_int_2c_20float_2c_20int___getTypes_28_29_20const($4 + 15 | 0 | 0) | 0; + HEAP32[($4 + 28 | 0) >> 2] = HEAP32[($4 + 8 | 0) >> 2] | 0; + _embind_register_function($6 | 0, $10 | 0, $14 | 0, char_20const__20emscripten__internal__getGenericSignature_int_2c_20int_2c_20float_2c_20int__28_29() | 0 | 0, HEAP32[($4 + 8 | 0) >> 2] | 0 | 0, HEAP32[($4 + 16 | 0) >> 2] | 0 | 0, 0 & 1 | 0 | 0); + __stack_pointer = $4 + 32 | 0; + return; + } + + function void_20emscripten__function_void_2c_20int_2c_20int_2c_20unsigned_20int_2c_20unsigned_20int_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20void_20_28__29_28int_2c_20int_2c_20unsigned_20int_2c_20unsigned_20int_29_2c_20emscripten__allow_raw_pointers_29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, $6 = 0, $10 = 0, $14 = 0; + $4 = __stack_pointer - 32 | 0; + __stack_pointer = $4; + HEAP32[($4 + 20 | 0) >> 2] = $0; + HEAP32[($4 + 16 | 0) >> 2] = $1; + HEAP32[($4 + 8 | 0) >> 2] = GOT_func_internal_emscripten__internal__Invoker_void_2c_20int_2c_20int_2c_20unsigned_20int_2c_20unsigned_20int___invoke_28void_20_28__29_28int_2c_20int_2c_20unsigned_20int_2c_20unsigned_20int_29_2c_20int_2c_20int_2c_20unsigned_20int_2c_20unsigned_20int_29; + $6 = HEAP32[($4 + 20 | 0) >> 2] | 0; + $10 = emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_void_2c_20int_2c_20int_2c_20unsigned_20int_2c_20unsigned_20int___getCount_28_29_20const($4 + 15 | 0 | 0) | 0; + $14 = emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_void_2c_20int_2c_20int_2c_20unsigned_20int_2c_20unsigned_20int___getTypes_28_29_20const($4 + 15 | 0 | 0) | 0; + HEAP32[($4 + 28 | 0) >> 2] = HEAP32[($4 + 8 | 0) >> 2] | 0; + _embind_register_function($6 | 0, $10 | 0, $14 | 0, char_20const__20emscripten__internal__getGenericSignature_void_2c_20int_2c_20int_2c_20int_2c_20int_2c_20int__28_29() | 0 | 0, HEAP32[($4 + 8 | 0) >> 2] | 0 | 0, HEAP32[($4 + 16 | 0) >> 2] | 0 | 0, 0 & 1 | 0 | 0); + __stack_pointer = $4 + 32 | 0; + return; + } + + function void_20emscripten__function_void_2c_20int_2c_20int_2c_20int_2c_20int_2c_20int_2c_20float_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20void_20_28__29_28int_2c_20int_2c_20int_2c_20int_2c_20int_2c_20float_29_2c_20emscripten__allow_raw_pointers_29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, $6 = 0, $10 = 0, $14 = 0; + $4 = __stack_pointer - 32 | 0; + __stack_pointer = $4; + HEAP32[($4 + 20 | 0) >> 2] = $0; + HEAP32[($4 + 16 | 0) >> 2] = $1; + HEAP32[($4 + 8 | 0) >> 2] = GOT_func_internal_emscripten__internal__Invoker_void_2c_20int_2c_20int_2c_20int_2c_20int_2c_20int_2c_20float___invoke_28void_20_28__29_28int_2c_20int_2c_20int_2c_20int_2c_20int_2c_20float_29_2c_20int_2c_20int_2c_20int_2c_20int_2c_20int_2c_20float_29; + $6 = HEAP32[($4 + 20 | 0) >> 2] | 0; + $10 = emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_void_2c_20int_2c_20int_2c_20int_2c_20int_2c_20int_2c_20float___getCount_28_29_20const($4 + 15 | 0 | 0) | 0; + $14 = emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_void_2c_20int_2c_20int_2c_20int_2c_20int_2c_20int_2c_20float___getTypes_28_29_20const($4 + 15 | 0 | 0) | 0; + HEAP32[($4 + 28 | 0) >> 2] = HEAP32[($4 + 8 | 0) >> 2] | 0; + _embind_register_function($6 | 0, $10 | 0, $14 | 0, char_20const__20emscripten__internal__getGenericSignature_void_2c_20int_2c_20int_2c_20int_2c_20int_2c_20int_2c_20int_2c_20float__28_29() | 0 | 0, HEAP32[($4 + 8 | 0) >> 2] | 0 | 0, HEAP32[($4 + 16 | 0) >> 2] | 0 | 0, 0 & 1 | 0 | 0); + __stack_pointer = $4 + 32 | 0; + return; + } + + function void_20emscripten__function_int_2c_20int_2c_20int_2c_20int_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20int_20_28__29_28int_2c_20int_2c_20int_29_2c_20emscripten__allow_raw_pointers_29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, $6 = 0, $10 = 0, $14 = 0; + $4 = __stack_pointer - 32 | 0; + __stack_pointer = $4; + HEAP32[($4 + 20 | 0) >> 2] = $0; + HEAP32[($4 + 16 | 0) >> 2] = $1; + HEAP32[($4 + 8 | 0) >> 2] = GOT_func_internal_emscripten__internal__Invoker_int_2c_20int_2c_20int_2c_20int___invoke_28int_20_28__29_28int_2c_20int_2c_20int_29_2c_20int_2c_20int_2c_20int_29; + $6 = HEAP32[($4 + 20 | 0) >> 2] | 0; + $10 = emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_int_2c_20int_2c_20int_2c_20int___getCount_28_29_20const($4 + 15 | 0 | 0) | 0; + $14 = emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_int_2c_20int_2c_20int_2c_20int___getTypes_28_29_20const($4 + 15 | 0 | 0) | 0; + HEAP32[($4 + 28 | 0) >> 2] = HEAP32[($4 + 8 | 0) >> 2] | 0; + _embind_register_function($6 | 0, $10 | 0, $14 | 0, char_20const__20emscripten__internal__getGenericSignature_int_2c_20int_2c_20int_2c_20int_2c_20int__28_29() | 0 | 0, HEAP32[($4 + 8 | 0) >> 2] | 0 | 0, HEAP32[($4 + 16 | 0) >> 2] | 0 | 0, 0 & 1 | 0 | 0); + __stack_pointer = $4 + 32 | 0; + return; + } + + function void_20emscripten__function_void_2c_20int_2c_20float_2c_20int_2c_20float_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20void_20_28__29_28int_2c_20float_2c_20int_2c_20float_29_2c_20emscripten__allow_raw_pointers_29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, $6 = 0, $10 = 0, $14 = 0; + $4 = __stack_pointer - 32 | 0; + __stack_pointer = $4; + HEAP32[($4 + 20 | 0) >> 2] = $0; + HEAP32[($4 + 16 | 0) >> 2] = $1; + HEAP32[($4 + 8 | 0) >> 2] = GOT_func_internal_emscripten__internal__Invoker_void_2c_20int_2c_20float_2c_20int_2c_20float___invoke_28void_20_28__29_28int_2c_20float_2c_20int_2c_20float_29_2c_20int_2c_20float_2c_20int_2c_20float_29; + $6 = HEAP32[($4 + 20 | 0) >> 2] | 0; + $10 = emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_void_2c_20int_2c_20float_2c_20int_2c_20float___getCount_28_29_20const($4 + 15 | 0 | 0) | 0; + $14 = emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_void_2c_20int_2c_20float_2c_20int_2c_20float___getTypes_28_29_20const($4 + 15 | 0 | 0) | 0; + HEAP32[($4 + 28 | 0) >> 2] = HEAP32[($4 + 8 | 0) >> 2] | 0; + _embind_register_function($6 | 0, $10 | 0, $14 | 0, char_20const__20emscripten__internal__getGenericSignature_void_2c_20int_2c_20int_2c_20float_2c_20int_2c_20float__28_29() | 0 | 0, HEAP32[($4 + 8 | 0) >> 2] | 0 | 0, HEAP32[($4 + 16 | 0) >> 2] | 0 | 0, 0 & 1 | 0 | 0); + __stack_pointer = $4 + 32 | 0; + return; + } + + function void_20emscripten__function_void_2c_20int_2c_20int_2c_20int_2c_20unsigned_20int_2c_20bool_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20void_20_28__29_28int_2c_20int_2c_20int_2c_20unsigned_20int_2c_20bool_29_2c_20emscripten__allow_raw_pointers_29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, $6 = 0, $10 = 0, $14 = 0; + $4 = __stack_pointer - 32 | 0; + __stack_pointer = $4; + HEAP32[($4 + 20 | 0) >> 2] = $0; + HEAP32[($4 + 16 | 0) >> 2] = $1; + HEAP32[($4 + 8 | 0) >> 2] = GOT_func_internal_emscripten__internal__Invoker_void_2c_20int_2c_20int_2c_20int_2c_20unsigned_20int_2c_20bool___invoke_28void_20_28__29_28int_2c_20int_2c_20int_2c_20unsigned_20int_2c_20bool_29_2c_20int_2c_20int_2c_20int_2c_20unsigned_20int_2c_20bool_29; + $6 = HEAP32[($4 + 20 | 0) >> 2] | 0; + $10 = emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_void_2c_20int_2c_20int_2c_20int_2c_20unsigned_20int_2c_20bool___getCount_28_29_20const($4 + 15 | 0 | 0) | 0; + $14 = emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_void_2c_20int_2c_20int_2c_20int_2c_20unsigned_20int_2c_20bool___getTypes_28_29_20const($4 + 15 | 0 | 0) | 0; + HEAP32[($4 + 28 | 0) >> 2] = HEAP32[($4 + 8 | 0) >> 2] | 0; + _embind_register_function($6 | 0, $10 | 0, $14 | 0, char_20const__20emscripten__internal__getGenericSignature_void_2c_20int_2c_20int_2c_20int_2c_20int_2c_20int_2c_20int__28_29() | 0 | 0, HEAP32[($4 + 8 | 0) >> 2] | 0 | 0, HEAP32[($4 + 16 | 0) >> 2] | 0 | 0, 0 & 1 | 0 | 0); + __stack_pointer = $4 + 32 | 0; + return; + } + + function void_20emscripten__function_int_2c_20int_2c_20int_2c_20float_2c_20float_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20int_20_28__29_28int_2c_20int_2c_20float_2c_20float_29_2c_20emscripten__allow_raw_pointers_29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, $6 = 0, $10 = 0, $14 = 0; + $4 = __stack_pointer - 32 | 0; + __stack_pointer = $4; + HEAP32[($4 + 20 | 0) >> 2] = $0; + HEAP32[($4 + 16 | 0) >> 2] = $1; + HEAP32[($4 + 8 | 0) >> 2] = GOT_func_internal_emscripten__internal__Invoker_int_2c_20int_2c_20int_2c_20float_2c_20float___invoke_28int_20_28__29_28int_2c_20int_2c_20float_2c_20float_29_2c_20int_2c_20int_2c_20float_2c_20float_29; + $6 = HEAP32[($4 + 20 | 0) >> 2] | 0; + $10 = emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_int_2c_20int_2c_20int_2c_20float_2c_20float___getCount_28_29_20const($4 + 15 | 0 | 0) | 0; + $14 = emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_int_2c_20int_2c_20int_2c_20float_2c_20float___getTypes_28_29_20const($4 + 15 | 0 | 0) | 0; + HEAP32[($4 + 28 | 0) >> 2] = HEAP32[($4 + 8 | 0) >> 2] | 0; + _embind_register_function($6 | 0, $10 | 0, $14 | 0, char_20const__20emscripten__internal__getGenericSignature_int_2c_20int_2c_20int_2c_20int_2c_20float_2c_20float__28_29() | 0 | 0, HEAP32[($4 + 8 | 0) >> 2] | 0 | 0, HEAP32[($4 + 16 | 0) >> 2] | 0 | 0, 0 & 1 | 0 | 0); + __stack_pointer = $4 + 32 | 0; + return; + } + + function void_20emscripten__function_int_2c_20float_2c_20float_2c_20float_2c_20int_2c_20int_2c_20int_2c_20float_2c_20float_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20int_20_28__29_28float_2c_20float_2c_20float_2c_20int_2c_20int_2c_20int_2c_20float_2c_20float_29_2c_20emscripten__allow_raw_pointers_29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, $6 = 0, $10 = 0, $14 = 0; + $4 = __stack_pointer - 32 | 0; + __stack_pointer = $4; + HEAP32[($4 + 20 | 0) >> 2] = $0; + HEAP32[($4 + 16 | 0) >> 2] = $1; + HEAP32[($4 + 8 | 0) >> 2] = GOT_func_internal_emscripten__internal__Invoker_int_2c_20float_2c_20float_2c_20float_2c_20int_2c_20int_2c_20int_2c_20float_2c_20float___invoke_28int_20_28__29_28float_2c_20float_2c_20float_2c_20int_2c_20int_2c_20int_2c_20float_2c_20float_29_2c_20float_2c_20float_2c_20float_2c_20int_2c_20int_2c_20int_2c_20float_2c_20float_29; + $6 = HEAP32[($4 + 20 | 0) >> 2] | 0; + $10 = emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_int_2c_20float_2c_20float_2c_20float_2c_20int_2c_20int_2c_20int_2c_20float_2c_20float___getCount_28_29_20const($4 + 15 | 0 | 0) | 0; + $14 = emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_int_2c_20float_2c_20float_2c_20float_2c_20int_2c_20int_2c_20int_2c_20float_2c_20float___getTypes_28_29_20const($4 + 15 | 0 | 0) | 0; + HEAP32[($4 + 28 | 0) >> 2] = HEAP32[($4 + 8 | 0) >> 2] | 0; + _embind_register_function($6 | 0, $10 | 0, $14 | 0, char_20const__20emscripten__internal__getGenericSignature_int_2c_20int_2c_20float_2c_20float_2c_20float_2c_20int_2c_20int_2c_20int_2c_20float_2c_20float__28_29() | 0 | 0, HEAP32[($4 + 8 | 0) >> 2] | 0 | 0, HEAP32[($4 + 16 | 0) >> 2] | 0 | 0, 0 & 1 | 0 | 0); + __stack_pointer = $4 + 32 | 0; + return; + } + + function void_20emscripten__function_int_2c_20float_2c_20float_2c_20float_2c_20int_2c_20int_2c_20int_2c_20float_2c_20float_2c_20float_2c_20emscripten__allow_raw_pointers__28char_20const__2c_20int_20_28__29_28float_2c_20float_2c_20float_2c_20int_2c_20int_2c_20int_2c_20float_2c_20float_2c_20float_29_2c_20emscripten__allow_raw_pointers_29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, $6 = 0, $10 = 0, $14 = 0; + $4 = __stack_pointer - 32 | 0; + __stack_pointer = $4; + HEAP32[($4 + 20 | 0) >> 2] = $0; + HEAP32[($4 + 16 | 0) >> 2] = $1; + HEAP32[($4 + 8 | 0) >> 2] = GOT_func_internal_emscripten__internal__Invoker_int_2c_20float_2c_20float_2c_20float_2c_20int_2c_20int_2c_20int_2c_20float_2c_20float_2c_20float___invoke_28int_20_28__29_28float_2c_20float_2c_20float_2c_20int_2c_20int_2c_20int_2c_20float_2c_20float_2c_20float_29_2c_20float_2c_20float_2c_20float_2c_20int_2c_20int_2c_20int_2c_20float_2c_20float_2c_20float_29; + $6 = HEAP32[($4 + 20 | 0) >> 2] | 0; + $10 = emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_int_2c_20float_2c_20float_2c_20float_2c_20int_2c_20int_2c_20int_2c_20float_2c_20float_2c_20float___getCount_28_29_20const($4 + 15 | 0 | 0) | 0; + $14 = emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_int_2c_20float_2c_20float_2c_20float_2c_20int_2c_20int_2c_20int_2c_20float_2c_20float_2c_20float___getTypes_28_29_20const($4 + 15 | 0 | 0) | 0; + HEAP32[($4 + 28 | 0) >> 2] = HEAP32[($4 + 8 | 0) >> 2] | 0; + _embind_register_function($6 | 0, $10 | 0, $14 | 0, char_20const__20emscripten__internal__getGenericSignature_int_2c_20int_2c_20float_2c_20float_2c_20float_2c_20int_2c_20int_2c_20int_2c_20float_2c_20float_2c_20float__28_29() | 0 | 0, HEAP32[($4 + 8 | 0) >> 2] | 0 | 0, HEAP32[($4 + 16 | 0) >> 2] | 0 | 0, 0 & 1 | 0 | 0); + __stack_pointer = $4 + 32 | 0; + return; + } + + function emscripten__internal__Invoker_int_2c_20int___invoke_28int_20_28__29_28int_29_2c_20int_29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, $5 = 0, $12 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; + (wasm2js_i32$0 = $4, wasm2js_i32$1 = FUNCTION_TABLE[$5 | 0](emscripten__internal__BindingType_int_2c_20void___fromWireType_28int_29(HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + $12 = emscripten__internal__BindingType_int_2c_20void___toWireType_28int_20const__29($4 + 4 | 0 | 0) | 0; + __stack_pointer = $4 + 16 | 0; + return $12 | 0; + } + + function emscripten__internal__WithPolicies____ArgTypeList_int_2c_20int___getCount_28_29_20const($0) { + $0 = $0 | 0; + HEAP32[((__stack_pointer - 16 | 0) + 12 | 0) >> 2] = $0; + return 2 | 0; + } + + function emscripten__internal__WithPolicies____ArgTypeList_int_2c_20int___getTypes_28_29_20const($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_int_2c_20int____get_28_29() | 0; + __stack_pointer = $3 + 16 | 0; + return $4 | 0; + } + + function emscripten__internal__Invoker_void_2c_20int___invoke_28void_20_28__29_28int_29_2c_20int_29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, $5 = 0; + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; + FUNCTION_TABLE[$5 | 0](emscripten__internal__BindingType_int_2c_20void___fromWireType_28int_29(HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) | 0); + __stack_pointer = $4 + 16 | 0; + return; + } + + function emscripten__internal__WithPolicies____ArgTypeList_void_2c_20int___getCount_28_29_20const($0) { + $0 = $0 | 0; + HEAP32[((__stack_pointer - 16 | 0) + 12 | 0) >> 2] = $0; + return 2 | 0; + } + + function emscripten__internal__WithPolicies____ArgTypeList_void_2c_20int___getTypes_28_29_20const($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_void_2c_20int____get_28_29() | 0; + __stack_pointer = $3 + 16 | 0; + return $4 | 0; + } + + function char_20const__20emscripten__internal__getGenericSignature_void_2c_20int_2c_20int__28_29() { + return GOT_data_internal_char_20const__20emscripten__internal__getGenericSignature_void_2c_20int_2c_20int__28_29__signature | 0; + } + + function emscripten__internal__Invoker_float_2c_20int___invoke_28float_20_28__29_28int_29_2c_20int_29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, $5 = 0, $12 = Math_fround(0), wasm2js_i32$0 = 0, wasm2js_f32$0 = Math_fround(0); + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; + (wasm2js_i32$0 = $4, wasm2js_f32$0 = Math_fround(FUNCTION_TABLE[$5 | 0](emscripten__internal__BindingType_int_2c_20void___fromWireType_28int_29(HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) | 0))), HEAPF32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_f32$0; + $12 = Math_fround(emscripten__internal__BindingType_float_2c_20void___toWireType_28float_20const__29($4 + 4 | 0 | 0)); + __stack_pointer = $4 + 16 | 0; + return Math_fround($12); + } + + function emscripten__internal__WithPolicies____ArgTypeList_float_2c_20int___getCount_28_29_20const($0) { + $0 = $0 | 0; + HEAP32[((__stack_pointer - 16 | 0) + 12 | 0) >> 2] = $0; + return 2 | 0; + } + + function emscripten__internal__WithPolicies____ArgTypeList_float_2c_20int___getTypes_28_29_20const($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_float_2c_20int____get_28_29() | 0; + __stack_pointer = $3 + 16 | 0; + return $4 | 0; + } + + function char_20const__20emscripten__internal__getGenericSignature_float_2c_20int_2c_20int__28_29() { + return GOT_data_internal_char_20const__20emscripten__internal__getGenericSignature_float_2c_20int_2c_20int__28_29__signature | 0; + } + + function emscripten__internal__Invoker_void_2c_20int_2c_20float___invoke_28void_20_28__29_28int_2c_20float_29_2c_20int_2c_20float_29($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = Math_fround($2); + var $5 = 0, $6 = 0; + $5 = __stack_pointer - 16 | 0; + __stack_pointer = $5; + HEAP32[($5 + 12 | 0) >> 2] = $0; + HEAP32[($5 + 8 | 0) >> 2] = $1; + HEAPF32[($5 + 4 | 0) >> 2] = $2; + $6 = HEAP32[($5 + 12 | 0) >> 2] | 0; + FUNCTION_TABLE[$6 | 0](emscripten__internal__BindingType_int_2c_20void___fromWireType_28int_29(HEAP32[($5 + 8 | 0) >> 2] | 0 | 0) | 0, Math_fround(emscripten__internal__BindingType_float_2c_20void___fromWireType_28float_29(Math_fround(Math_fround(HEAPF32[($5 + 4 | 0) >> 2]))))); + __stack_pointer = $5 + 16 | 0; + return; + } + + function emscripten__internal__WithPolicies____ArgTypeList_void_2c_20int_2c_20float___getCount_28_29_20const($0) { + $0 = $0 | 0; + HEAP32[((__stack_pointer - 16 | 0) + 12 | 0) >> 2] = $0; + return 3 | 0; + } + + function emscripten__internal__WithPolicies____ArgTypeList_void_2c_20int_2c_20float___getTypes_28_29_20const($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_void_2c_20int_2c_20float____get_28_29() | 0; + __stack_pointer = $3 + 16 | 0; + return $4 | 0; + } + + function char_20const__20emscripten__internal__getGenericSignature_void_2c_20int_2c_20int_2c_20float__28_29() { + return GOT_data_internal_char_20const__20emscripten__internal__getGenericSignature_void_2c_20int_2c_20int_2c_20float__28_29__signature | 0; + } + + function emscripten__internal__Invoker_void_2c_20int_2c_20int___invoke_28void_20_28__29_28int_2c_20int_29_2c_20int_2c_20int_29($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $5 = 0, $6 = 0; + $5 = __stack_pointer - 16 | 0; + __stack_pointer = $5; + HEAP32[($5 + 12 | 0) >> 2] = $0; + HEAP32[($5 + 8 | 0) >> 2] = $1; + HEAP32[($5 + 4 | 0) >> 2] = $2; + $6 = HEAP32[($5 + 12 | 0) >> 2] | 0; + FUNCTION_TABLE[$6 | 0](emscripten__internal__BindingType_int_2c_20void___fromWireType_28int_29(HEAP32[($5 + 8 | 0) >> 2] | 0 | 0) | 0, emscripten__internal__BindingType_int_2c_20void___fromWireType_28int_29(HEAP32[($5 + 4 | 0) >> 2] | 0 | 0) | 0); + __stack_pointer = $5 + 16 | 0; + return; + } + + function emscripten__internal__WithPolicies____ArgTypeList_void_2c_20int_2c_20int___getCount_28_29_20const($0) { + $0 = $0 | 0; + HEAP32[((__stack_pointer - 16 | 0) + 12 | 0) >> 2] = $0; + return 3 | 0; + } + + function emscripten__internal__WithPolicies____ArgTypeList_void_2c_20int_2c_20int___getTypes_28_29_20const($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_void_2c_20int_2c_20int____get_28_29() | 0; + __stack_pointer = $3 + 16 | 0; + return $4 | 0; + } + + function char_20const__20emscripten__internal__getGenericSignature_void_2c_20int_2c_20int_2c_20int__28_29() { + return GOT_data_internal_char_20const__20emscripten__internal__getGenericSignature_void_2c_20int_2c_20int_2c_20int__28_29__signature | 0; + } + + function emscripten__internal__Invoker_int_2c_20float_2c_20float_2c_20float___invoke_28int_20_28__29_28float_2c_20float_2c_20float_29_2c_20float_2c_20float_2c_20float_29($0, $1, $2, $3) { + $0 = $0 | 0; + $1 = Math_fround($1); + $2 = Math_fround($2); + $3 = Math_fround($3); + var $6 = 0, $7 = 0, $18 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $6 = __stack_pointer - 32 | 0; + __stack_pointer = $6; + HEAP32[($6 + 28 | 0) >> 2] = $0; + HEAPF32[($6 + 24 | 0) >> 2] = $1; + HEAPF32[($6 + 20 | 0) >> 2] = $2; + HEAPF32[($6 + 16 | 0) >> 2] = $3; + $7 = HEAP32[($6 + 28 | 0) >> 2] | 0; + (wasm2js_i32$0 = $6, wasm2js_i32$1 = FUNCTION_TABLE[$7 | 0](Math_fround(emscripten__internal__BindingType_float_2c_20void___fromWireType_28float_29(Math_fround(Math_fround(HEAPF32[($6 + 24 | 0) >> 2])))), Math_fround(emscripten__internal__BindingType_float_2c_20void___fromWireType_28float_29(Math_fround(Math_fround(HEAPF32[($6 + 20 | 0) >> 2])))), Math_fround(emscripten__internal__BindingType_float_2c_20void___fromWireType_28float_29(Math_fround(Math_fround(HEAPF32[($6 + 16 | 0) >> 2]))))) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + $18 = emscripten__internal__BindingType_int_2c_20void___toWireType_28int_20const__29($6 + 12 | 0 | 0) | 0; + __stack_pointer = $6 + 32 | 0; + return $18 | 0; + } + + function emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_int_2c_20float_2c_20float_2c_20float___getCount_28_29_20const($0) { + $0 = $0 | 0; + HEAP32[((__stack_pointer - 16 | 0) + 12 | 0) >> 2] = $0; + return 4 | 0; + } + + function emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_int_2c_20float_2c_20float_2c_20float___getTypes_28_29_20const($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_int_2c_20float_2c_20float_2c_20float____get_28_29() | 0; + __stack_pointer = $3 + 16 | 0; + return $4 | 0; + } + + function char_20const__20emscripten__internal__getGenericSignature_int_2c_20int_2c_20float_2c_20float_2c_20float__28_29() { + return GOT_data_internal_char_20const__20emscripten__internal__getGenericSignature_int_2c_20int_2c_20float_2c_20float_2c_20float__28_29__signature | 0; + } + + function emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_float_2c_20int___getCount_28_29_20const($0) { + $0 = $0 | 0; + HEAP32[((__stack_pointer - 16 | 0) + 12 | 0) >> 2] = $0; + return 2 | 0; + } + + function emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_float_2c_20int___getTypes_28_29_20const($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_float_2c_20int____get_28_29() | 0; + __stack_pointer = $3 + 16 | 0; + return $4 | 0; + } + + function emscripten__internal__Invoker_void_2c_20int_2c_20float_2c_20float_2c_20float___invoke_28void_20_28__29_28int_2c_20float_2c_20float_2c_20float_29_2c_20int_2c_20float_2c_20float_2c_20float_29($0, $1, $2, $3, $4) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = Math_fround($2); + $3 = Math_fround($3); + $4 = Math_fround($4); + var $7 = 0, $8 = 0; + $7 = __stack_pointer - 32 | 0; + __stack_pointer = $7; + HEAP32[($7 + 28 | 0) >> 2] = $0; + HEAP32[($7 + 24 | 0) >> 2] = $1; + HEAPF32[($7 + 20 | 0) >> 2] = $2; + HEAPF32[($7 + 16 | 0) >> 2] = $3; + HEAPF32[($7 + 12 | 0) >> 2] = $4; + $8 = HEAP32[($7 + 28 | 0) >> 2] | 0; + FUNCTION_TABLE[$8 | 0](emscripten__internal__BindingType_int_2c_20void___fromWireType_28int_29(HEAP32[($7 + 24 | 0) >> 2] | 0 | 0) | 0, Math_fround(emscripten__internal__BindingType_float_2c_20void___fromWireType_28float_29(Math_fround(Math_fround(HEAPF32[($7 + 20 | 0) >> 2])))), Math_fround(emscripten__internal__BindingType_float_2c_20void___fromWireType_28float_29(Math_fround(Math_fround(HEAPF32[($7 + 16 | 0) >> 2])))), Math_fround(emscripten__internal__BindingType_float_2c_20void___fromWireType_28float_29(Math_fround(Math_fround(HEAPF32[($7 + 12 | 0) >> 2]))))); + __stack_pointer = $7 + 32 | 0; + return; + } + + function emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_void_2c_20int_2c_20float_2c_20float_2c_20float___getCount_28_29_20const($0) { + $0 = $0 | 0; + HEAP32[((__stack_pointer - 16 | 0) + 12 | 0) >> 2] = $0; + return 5 | 0; + } + + function emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_void_2c_20int_2c_20float_2c_20float_2c_20float___getTypes_28_29_20const($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_void_2c_20int_2c_20float_2c_20float_2c_20float____get_28_29() | 0; + __stack_pointer = $3 + 16 | 0; + return $4 | 0; + } + + function char_20const__20emscripten__internal__getGenericSignature_void_2c_20int_2c_20int_2c_20float_2c_20float_2c_20float__28_29() { + return GOT_data_internal_char_20const__20emscripten__internal__getGenericSignature_void_2c_20int_2c_20int_2c_20float_2c_20float_2c_20float__28_29__signature | 0; + } + + function emscripten__internal__Invoker_int_2c_20float_2c_20float_2c_20float_2c_20float___invoke_28int_20_28__29_28float_2c_20float_2c_20float_2c_20float_29_2c_20float_2c_20float_2c_20float_2c_20float_29($0, $1, $2, $3, $4) { + $0 = $0 | 0; + $1 = Math_fround($1); + $2 = Math_fround($2); + $3 = Math_fround($3); + $4 = Math_fround($4); + var $7 = 0, $8 = 0, $21 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $7 = __stack_pointer - 32 | 0; + __stack_pointer = $7; + HEAP32[($7 + 28 | 0) >> 2] = $0; + HEAPF32[($7 + 24 | 0) >> 2] = $1; + HEAPF32[($7 + 20 | 0) >> 2] = $2; + HEAPF32[($7 + 16 | 0) >> 2] = $3; + HEAPF32[($7 + 12 | 0) >> 2] = $4; + $8 = HEAP32[($7 + 28 | 0) >> 2] | 0; + (wasm2js_i32$0 = $7, wasm2js_i32$1 = FUNCTION_TABLE[$8 | 0](Math_fround(emscripten__internal__BindingType_float_2c_20void___fromWireType_28float_29(Math_fround(Math_fround(HEAPF32[($7 + 24 | 0) >> 2])))), Math_fround(emscripten__internal__BindingType_float_2c_20void___fromWireType_28float_29(Math_fround(Math_fround(HEAPF32[($7 + 20 | 0) >> 2])))), Math_fround(emscripten__internal__BindingType_float_2c_20void___fromWireType_28float_29(Math_fround(Math_fround(HEAPF32[($7 + 16 | 0) >> 2])))), Math_fround(emscripten__internal__BindingType_float_2c_20void___fromWireType_28float_29(Math_fround(Math_fround(HEAPF32[($7 + 12 | 0) >> 2]))))) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + $21 = emscripten__internal__BindingType_int_2c_20void___toWireType_28int_20const__29($7 + 8 | 0 | 0) | 0; + __stack_pointer = $7 + 32 | 0; + return $21 | 0; + } + + function emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_int_2c_20float_2c_20float_2c_20float_2c_20float___getCount_28_29_20const($0) { + $0 = $0 | 0; + HEAP32[((__stack_pointer - 16 | 0) + 12 | 0) >> 2] = $0; + return 5 | 0; + } + + function emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_int_2c_20float_2c_20float_2c_20float_2c_20float___getTypes_28_29_20const($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_int_2c_20float_2c_20float_2c_20float_2c_20float____get_28_29() | 0; + __stack_pointer = $3 + 16 | 0; + return $4 | 0; + } + + function char_20const__20emscripten__internal__getGenericSignature_int_2c_20int_2c_20float_2c_20float_2c_20float_2c_20float__28_29() { + return GOT_data_internal_char_20const__20emscripten__internal__getGenericSignature_int_2c_20int_2c_20float_2c_20float_2c_20float_2c_20float__28_29__signature | 0; + } + + function emscripten__internal__Invoker_void_2c_20int_2c_20float_2c_20float_2c_20float_2c_20float___invoke_28void_20_28__29_28int_2c_20float_2c_20float_2c_20float_2c_20float_29_2c_20int_2c_20float_2c_20float_2c_20float_2c_20float_29($0, $1, $2, $3, $4, $5) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = Math_fround($2); + $3 = Math_fround($3); + $4 = Math_fround($4); + $5 = Math_fround($5); + var $8 = 0, $9 = 0; + $8 = __stack_pointer - 32 | 0; + __stack_pointer = $8; + HEAP32[($8 + 28 | 0) >> 2] = $0; + HEAP32[($8 + 24 | 0) >> 2] = $1; + HEAPF32[($8 + 20 | 0) >> 2] = $2; + HEAPF32[($8 + 16 | 0) >> 2] = $3; + HEAPF32[($8 + 12 | 0) >> 2] = $4; + HEAPF32[($8 + 8 | 0) >> 2] = $5; + $9 = HEAP32[($8 + 28 | 0) >> 2] | 0; + FUNCTION_TABLE[$9 | 0](emscripten__internal__BindingType_int_2c_20void___fromWireType_28int_29(HEAP32[($8 + 24 | 0) >> 2] | 0 | 0) | 0, Math_fround(emscripten__internal__BindingType_float_2c_20void___fromWireType_28float_29(Math_fround(Math_fround(HEAPF32[($8 + 20 | 0) >> 2])))), Math_fround(emscripten__internal__BindingType_float_2c_20void___fromWireType_28float_29(Math_fround(Math_fround(HEAPF32[($8 + 16 | 0) >> 2])))), Math_fround(emscripten__internal__BindingType_float_2c_20void___fromWireType_28float_29(Math_fround(Math_fround(HEAPF32[($8 + 12 | 0) >> 2])))), Math_fround(emscripten__internal__BindingType_float_2c_20void___fromWireType_28float_29(Math_fround(Math_fround(HEAPF32[($8 + 8 | 0) >> 2]))))); + __stack_pointer = $8 + 32 | 0; + return; + } + + function emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_void_2c_20int_2c_20float_2c_20float_2c_20float_2c_20float___getCount_28_29_20const($0) { + $0 = $0 | 0; + HEAP32[((__stack_pointer - 16 | 0) + 12 | 0) >> 2] = $0; + return 6 | 0; + } + + function emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_void_2c_20int_2c_20float_2c_20float_2c_20float_2c_20float___getTypes_28_29_20const($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_void_2c_20int_2c_20float_2c_20float_2c_20float_2c_20float____get_28_29() | 0; + __stack_pointer = $3 + 16 | 0; + return $4 | 0; + } + + function char_20const__20emscripten__internal__getGenericSignature_void_2c_20int_2c_20int_2c_20float_2c_20float_2c_20float_2c_20float__28_29() { + return GOT_data_internal_char_20const__20emscripten__internal__getGenericSignature_void_2c_20int_2c_20int_2c_20float_2c_20float_2c_20float_2c_20float__28_29__signature | 0; + } + + function emscripten__internal__Invoker_int___invoke_28int_20_28__29_28_29_29($0) { + $0 = $0 | 0; + var $3 = 0, $9 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + (wasm2js_i32$0 = $3, wasm2js_i32$1 = FUNCTION_TABLE[HEAP32[($3 + 12 | 0) >> 2] | 0 | 0]() | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + $9 = emscripten__internal__BindingType_int_2c_20void___toWireType_28int_20const__29($3 + 8 | 0 | 0) | 0; + __stack_pointer = $3 + 16 | 0; + return $9 | 0; + } + + function emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_int___getCount_28_29_20const($0) { + $0 = $0 | 0; + HEAP32[((__stack_pointer - 16 | 0) + 12 | 0) >> 2] = $0; + return 1 | 0; + } + + function emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_int___getTypes_28_29_20const($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_int____get_28_29() | 0; + __stack_pointer = $3 + 16 | 0; + return $4 | 0; + } + + function emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_void_2c_20int___getCount_28_29_20const($0) { + $0 = $0 | 0; + HEAP32[((__stack_pointer - 16 | 0) + 12 | 0) >> 2] = $0; + return 2 | 0; + } + + function emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_void_2c_20int___getTypes_28_29_20const($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_void_2c_20int____get_28_29() | 0; + __stack_pointer = $3 + 16 | 0; + return $4 | 0; + } + + function emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_void_2c_20int_2c_20int___getCount_28_29_20const($0) { + $0 = $0 | 0; + HEAP32[((__stack_pointer - 16 | 0) + 12 | 0) >> 2] = $0; + return 3 | 0; + } + + function emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_void_2c_20int_2c_20int___getTypes_28_29_20const($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_void_2c_20int_2c_20int____get_28_29() | 0; + __stack_pointer = $3 + 16 | 0; + return $4 | 0; + } + + function emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_int_2c_20int___getCount_28_29_20const($0) { + $0 = $0 | 0; + HEAP32[((__stack_pointer - 16 | 0) + 12 | 0) >> 2] = $0; + return 2 | 0; + } + + function emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_int_2c_20int___getTypes_28_29_20const($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_int_2c_20int____get_28_29() | 0; + __stack_pointer = $3 + 16 | 0; + return $4 | 0; + } + + function emscripten__internal__Invoker_int_2c_20int_2c_20int___invoke_28int_20_28__29_28int_2c_20int_29_2c_20int_2c_20int_29($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $5 = 0, $6 = 0, $13 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5 = __stack_pointer - 16 | 0; + __stack_pointer = $5; + HEAP32[($5 + 12 | 0) >> 2] = $0; + HEAP32[($5 + 8 | 0) >> 2] = $1; + HEAP32[($5 + 4 | 0) >> 2] = $2; + $6 = HEAP32[($5 + 12 | 0) >> 2] | 0; + (wasm2js_i32$0 = $5, wasm2js_i32$1 = FUNCTION_TABLE[$6 | 0](emscripten__internal__BindingType_int_2c_20void___fromWireType_28int_29(HEAP32[($5 + 8 | 0) >> 2] | 0 | 0) | 0, emscripten__internal__BindingType_int_2c_20void___fromWireType_28int_29(HEAP32[($5 + 4 | 0) >> 2] | 0 | 0) | 0) | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + $13 = emscripten__internal__BindingType_int_2c_20void___toWireType_28int_20const__29($5 | 0) | 0; + __stack_pointer = $5 + 16 | 0; + return $13 | 0; + } + + function emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_int_2c_20int_2c_20int___getCount_28_29_20const($0) { + $0 = $0 | 0; + HEAP32[((__stack_pointer - 16 | 0) + 12 | 0) >> 2] = $0; + return 3 | 0; + } + + function emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_int_2c_20int_2c_20int___getTypes_28_29_20const($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_int_2c_20int_2c_20int____get_28_29() | 0; + __stack_pointer = $3 + 16 | 0; + return $4 | 0; + } + + function emscripten__internal__Invoker_void_2c_20int_2c_20int_2c_20int___invoke_28void_20_28__29_28int_2c_20int_2c_20int_29_2c_20int_2c_20int_2c_20int_29($0, $1, $2, $3) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + var $6 = 0, $7 = 0; + $6 = __stack_pointer - 16 | 0; + __stack_pointer = $6; + HEAP32[($6 + 12 | 0) >> 2] = $0; + HEAP32[($6 + 8 | 0) >> 2] = $1; + HEAP32[($6 + 4 | 0) >> 2] = $2; + HEAP32[$6 >> 2] = $3; + $7 = HEAP32[($6 + 12 | 0) >> 2] | 0; + FUNCTION_TABLE[$7 | 0](emscripten__internal__BindingType_int_2c_20void___fromWireType_28int_29(HEAP32[($6 + 8 | 0) >> 2] | 0 | 0) | 0, emscripten__internal__BindingType_int_2c_20void___fromWireType_28int_29(HEAP32[($6 + 4 | 0) >> 2] | 0 | 0) | 0, emscripten__internal__BindingType_int_2c_20void___fromWireType_28int_29(HEAP32[$6 >> 2] | 0 | 0) | 0); + __stack_pointer = $6 + 16 | 0; + return; + } + + function emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_void_2c_20int_2c_20int_2c_20int___getCount_28_29_20const($0) { + $0 = $0 | 0; + HEAP32[((__stack_pointer - 16 | 0) + 12 | 0) >> 2] = $0; + return 4 | 0; + } + + function emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_void_2c_20int_2c_20int_2c_20int___getTypes_28_29_20const($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_void_2c_20int_2c_20int_2c_20int____get_28_29() | 0; + __stack_pointer = $3 + 16 | 0; + return $4 | 0; + } + + function char_20const__20emscripten__internal__getGenericSignature_void_2c_20int_2c_20int_2c_20int_2c_20int__28_29() { + return GOT_data_internal_char_20const__20emscripten__internal__getGenericSignature_void_2c_20int_2c_20int_2c_20int_2c_20int__28_29__signature | 0; + } + + function emscripten__internal__WithPolicies____ArgTypeList_int_2c_20int_2c_20int___getCount_28_29_20const($0) { + $0 = $0 | 0; + HEAP32[((__stack_pointer - 16 | 0) + 12 | 0) >> 2] = $0; + return 3 | 0; + } + + function emscripten__internal__WithPolicies____ArgTypeList_int_2c_20int_2c_20int___getTypes_28_29_20const($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_int_2c_20int_2c_20int____get_28_29() | 0; + __stack_pointer = $3 + 16 | 0; + return $4 | 0; + } + + function emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_void_2c_20int_2c_20float___getCount_28_29_20const($0) { + $0 = $0 | 0; + HEAP32[((__stack_pointer - 16 | 0) + 12 | 0) >> 2] = $0; + return 3 | 0; + } + + function emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_void_2c_20int_2c_20float___getTypes_28_29_20const($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_void_2c_20int_2c_20float____get_28_29() | 0; + __stack_pointer = $3 + 16 | 0; + return $4 | 0; + } + + function emscripten__internal__Invoker_int_2c_20int_2c_20int_2c_20int_2c_20int___invoke_28int_20_28__29_28int_2c_20int_2c_20int_2c_20int_29_2c_20int_2c_20int_2c_20int_2c_20int_29($0, $1, $2, $3, $4) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + $4 = $4 | 0; + var $7 = 0, $8 = 0, $21 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $7 = __stack_pointer - 32 | 0; + __stack_pointer = $7; + HEAP32[($7 + 28 | 0) >> 2] = $0; + HEAP32[($7 + 24 | 0) >> 2] = $1; + HEAP32[($7 + 20 | 0) >> 2] = $2; + HEAP32[($7 + 16 | 0) >> 2] = $3; + HEAP32[($7 + 12 | 0) >> 2] = $4; + $8 = HEAP32[($7 + 28 | 0) >> 2] | 0; + (wasm2js_i32$0 = $7, wasm2js_i32$1 = FUNCTION_TABLE[$8 | 0](emscripten__internal__BindingType_int_2c_20void___fromWireType_28int_29(HEAP32[($7 + 24 | 0) >> 2] | 0 | 0) | 0, emscripten__internal__BindingType_int_2c_20void___fromWireType_28int_29(HEAP32[($7 + 20 | 0) >> 2] | 0 | 0) | 0, emscripten__internal__BindingType_int_2c_20void___fromWireType_28int_29(HEAP32[($7 + 16 | 0) >> 2] | 0 | 0) | 0, emscripten__internal__BindingType_int_2c_20void___fromWireType_28int_29(HEAP32[($7 + 12 | 0) >> 2] | 0 | 0) | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + $21 = emscripten__internal__BindingType_int_2c_20void___toWireType_28int_20const__29($7 + 8 | 0 | 0) | 0; + __stack_pointer = $7 + 32 | 0; + return $21 | 0; + } + + function emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_int_2c_20int_2c_20int_2c_20int_2c_20int___getCount_28_29_20const($0) { + $0 = $0 | 0; + HEAP32[((__stack_pointer - 16 | 0) + 12 | 0) >> 2] = $0; + return 5 | 0; + } + + function emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_int_2c_20int_2c_20int_2c_20int_2c_20int___getTypes_28_29_20const($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_int_2c_20int_2c_20int_2c_20int_2c_20int____get_28_29() | 0; + __stack_pointer = $3 + 16 | 0; + return $4 | 0; + } + + function char_20const__20emscripten__internal__getGenericSignature_int_2c_20int_2c_20int_2c_20int_2c_20int_2c_20int__28_29() { + return GOT_data_internal_char_20const__20emscripten__internal__getGenericSignature_int_2c_20int_2c_20int_2c_20int_2c_20int_2c_20int__28_29__signature | 0; + } + + function emscripten__internal__Invoker_void_2c_20int_2c_20float_2c_20float_2c_20float_2c_20float_2c_20float___invoke_28void_20_28__29_28int_2c_20float_2c_20float_2c_20float_2c_20float_2c_20float_29_2c_20int_2c_20float_2c_20float_2c_20float_2c_20float_2c_20float_29($0, $1, $2, $3, $4, $5, $6) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = Math_fround($2); + $3 = Math_fround($3); + $4 = Math_fround($4); + $5 = Math_fround($5); + $6 = Math_fround($6); + var $9 = 0, $10 = 0; + $9 = __stack_pointer - 32 | 0; + __stack_pointer = $9; + HEAP32[($9 + 28 | 0) >> 2] = $0; + HEAP32[($9 + 24 | 0) >> 2] = $1; + HEAPF32[($9 + 20 | 0) >> 2] = $2; + HEAPF32[($9 + 16 | 0) >> 2] = $3; + HEAPF32[($9 + 12 | 0) >> 2] = $4; + HEAPF32[($9 + 8 | 0) >> 2] = $5; + HEAPF32[($9 + 4 | 0) >> 2] = $6; + $10 = HEAP32[($9 + 28 | 0) >> 2] | 0; + FUNCTION_TABLE[$10 | 0](emscripten__internal__BindingType_int_2c_20void___fromWireType_28int_29(HEAP32[($9 + 24 | 0) >> 2] | 0 | 0) | 0, Math_fround(emscripten__internal__BindingType_float_2c_20void___fromWireType_28float_29(Math_fround(Math_fround(HEAPF32[($9 + 20 | 0) >> 2])))), Math_fround(emscripten__internal__BindingType_float_2c_20void___fromWireType_28float_29(Math_fround(Math_fround(HEAPF32[($9 + 16 | 0) >> 2])))), Math_fround(emscripten__internal__BindingType_float_2c_20void___fromWireType_28float_29(Math_fround(Math_fround(HEAPF32[($9 + 12 | 0) >> 2])))), Math_fround(emscripten__internal__BindingType_float_2c_20void___fromWireType_28float_29(Math_fround(Math_fround(HEAPF32[($9 + 8 | 0) >> 2])))), Math_fround(emscripten__internal__BindingType_float_2c_20void___fromWireType_28float_29(Math_fround(Math_fround(HEAPF32[($9 + 4 | 0) >> 2]))))); + __stack_pointer = $9 + 32 | 0; + return; + } + + function emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_void_2c_20int_2c_20float_2c_20float_2c_20float_2c_20float_2c_20float___getCount_28_29_20const($0) { + $0 = $0 | 0; + HEAP32[((__stack_pointer - 16 | 0) + 12 | 0) >> 2] = $0; + return 7 | 0; + } + + function emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_void_2c_20int_2c_20float_2c_20float_2c_20float_2c_20float_2c_20float___getTypes_28_29_20const($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_void_2c_20int_2c_20float_2c_20float_2c_20float_2c_20float_2c_20float____get_28_29() | 0; + __stack_pointer = $3 + 16 | 0; + return $4 | 0; + } + + function char_20const__20emscripten__internal__getGenericSignature_void_2c_20int_2c_20int_2c_20float_2c_20float_2c_20float_2c_20float_2c_20float__28_29() { + return GOT_data_internal_char_20const__20emscripten__internal__getGenericSignature_void_2c_20int_2c_20int_2c_20float_2c_20float_2c_20float_2c_20float_2c_20float__28_29__signature | 0; + } + + function emscripten__internal__Invoker_void_2c_20int_2c_20bool___invoke_28void_20_28__29_28int_2c_20bool_29_2c_20int_2c_20bool_29($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $5 = 0, $7 = 0; + $5 = __stack_pointer - 16 | 0; + __stack_pointer = $5; + HEAP32[($5 + 12 | 0) >> 2] = $0; + HEAP32[($5 + 8 | 0) >> 2] = $1; + HEAP8[($5 + 7 | 0) >> 0] = $2; + $7 = HEAP32[($5 + 12 | 0) >> 2] | 0; + FUNCTION_TABLE[$7 | 0](emscripten__internal__BindingType_int_2c_20void___fromWireType_28int_29(HEAP32[($5 + 8 | 0) >> 2] | 0 | 0) | 0, (emscripten__internal__BindingType_bool_2c_20void___fromWireType_28bool_29((HEAPU8[($5 + 7 | 0) >> 0] | 0) & 1 | 0 | 0) | 0) & 1 | 0); + __stack_pointer = $5 + 16 | 0; + return; + } + + function emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_void_2c_20int_2c_20bool___getCount_28_29_20const($0) { + $0 = $0 | 0; + HEAP32[((__stack_pointer - 16 | 0) + 12 | 0) >> 2] = $0; + return 3 | 0; + } + + function emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_void_2c_20int_2c_20bool___getTypes_28_29_20const($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_void_2c_20int_2c_20bool____get_28_29() | 0; + __stack_pointer = $3 + 16 | 0; + return $4 | 0; + } + + function emscripten__internal__Invoker_void_2c_20int_2c_20float_2c_20float___invoke_28void_20_28__29_28int_2c_20float_2c_20float_29_2c_20int_2c_20float_2c_20float_29($0, $1, $2, $3) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = Math_fround($2); + $3 = Math_fround($3); + var $6 = 0, $7 = 0; + $6 = __stack_pointer - 16 | 0; + __stack_pointer = $6; + HEAP32[($6 + 12 | 0) >> 2] = $0; + HEAP32[($6 + 8 | 0) >> 2] = $1; + HEAPF32[($6 + 4 | 0) >> 2] = $2; + HEAPF32[$6 >> 2] = $3; + $7 = HEAP32[($6 + 12 | 0) >> 2] | 0; + FUNCTION_TABLE[$7 | 0](emscripten__internal__BindingType_int_2c_20void___fromWireType_28int_29(HEAP32[($6 + 8 | 0) >> 2] | 0 | 0) | 0, Math_fround(emscripten__internal__BindingType_float_2c_20void___fromWireType_28float_29(Math_fround(Math_fround(HEAPF32[($6 + 4 | 0) >> 2])))), Math_fround(emscripten__internal__BindingType_float_2c_20void___fromWireType_28float_29(Math_fround(Math_fround(HEAPF32[$6 >> 2]))))); + __stack_pointer = $6 + 16 | 0; + return; + } + + function emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_void_2c_20int_2c_20float_2c_20float___getCount_28_29_20const($0) { + $0 = $0 | 0; + HEAP32[((__stack_pointer - 16 | 0) + 12 | 0) >> 2] = $0; + return 4 | 0; + } + + function emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_void_2c_20int_2c_20float_2c_20float___getTypes_28_29_20const($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_void_2c_20int_2c_20float_2c_20float____get_28_29() | 0; + __stack_pointer = $3 + 16 | 0; + return $4 | 0; + } + + function char_20const__20emscripten__internal__getGenericSignature_void_2c_20int_2c_20int_2c_20float_2c_20float__28_29() { + return GOT_data_internal_char_20const__20emscripten__internal__getGenericSignature_void_2c_20int_2c_20int_2c_20float_2c_20float__28_29__signature | 0; + } + + function emscripten__internal__Invoker_int_2c_20int_2c_20int_2c_20int_2c_20int_2c_20int___invoke_28int_20_28__29_28int_2c_20int_2c_20int_2c_20int_2c_20int_29_2c_20int_2c_20int_2c_20int_2c_20int_2c_20int_29($0, $1, $2, $3, $4, $5) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + $4 = $4 | 0; + $5 = $5 | 0; + var $8 = 0, $9 = 0, $24 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $8 = __stack_pointer - 32 | 0; + __stack_pointer = $8; + HEAP32[($8 + 28 | 0) >> 2] = $0; + HEAP32[($8 + 24 | 0) >> 2] = $1; + HEAP32[($8 + 20 | 0) >> 2] = $2; + HEAP32[($8 + 16 | 0) >> 2] = $3; + HEAP32[($8 + 12 | 0) >> 2] = $4; + HEAP32[($8 + 8 | 0) >> 2] = $5; + $9 = HEAP32[($8 + 28 | 0) >> 2] | 0; + (wasm2js_i32$0 = $8, wasm2js_i32$1 = FUNCTION_TABLE[$9 | 0](emscripten__internal__BindingType_int_2c_20void___fromWireType_28int_29(HEAP32[($8 + 24 | 0) >> 2] | 0 | 0) | 0, emscripten__internal__BindingType_int_2c_20void___fromWireType_28int_29(HEAP32[($8 + 20 | 0) >> 2] | 0 | 0) | 0, emscripten__internal__BindingType_int_2c_20void___fromWireType_28int_29(HEAP32[($8 + 16 | 0) >> 2] | 0 | 0) | 0, emscripten__internal__BindingType_int_2c_20void___fromWireType_28int_29(HEAP32[($8 + 12 | 0) >> 2] | 0 | 0) | 0, emscripten__internal__BindingType_int_2c_20void___fromWireType_28int_29(HEAP32[($8 + 8 | 0) >> 2] | 0 | 0) | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + $24 = emscripten__internal__BindingType_int_2c_20void___toWireType_28int_20const__29($8 + 4 | 0 | 0) | 0; + __stack_pointer = $8 + 32 | 0; + return $24 | 0; + } + + function emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_int_2c_20int_2c_20int_2c_20int_2c_20int_2c_20int___getCount_28_29_20const($0) { + $0 = $0 | 0; + HEAP32[((__stack_pointer - 16 | 0) + 12 | 0) >> 2] = $0; + return 6 | 0; + } + + function emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_int_2c_20int_2c_20int_2c_20int_2c_20int_2c_20int___getTypes_28_29_20const($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_int_2c_20int_2c_20int_2c_20int_2c_20int_2c_20int____get_28_29() | 0; + __stack_pointer = $3 + 16 | 0; + return $4 | 0; + } + + function char_20const__20emscripten__internal__getGenericSignature_int_2c_20int_2c_20int_2c_20int_2c_20int_2c_20int_2c_20int__28_29() { + return GOT_data_internal_char_20const__20emscripten__internal__getGenericSignature_int_2c_20int_2c_20int_2c_20int_2c_20int_2c_20int_2c_20int__28_29__signature | 0; + } + + function emscripten__internal__Invoker_void_2c_20int_2c_20int_2c_20float_2c_20float___invoke_28void_20_28__29_28int_2c_20int_2c_20float_2c_20float_29_2c_20int_2c_20int_2c_20float_2c_20float_29($0, $1, $2, $3, $4) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = Math_fround($3); + $4 = Math_fround($4); + var $7 = 0, $8 = 0; + $7 = __stack_pointer - 32 | 0; + __stack_pointer = $7; + HEAP32[($7 + 28 | 0) >> 2] = $0; + HEAP32[($7 + 24 | 0) >> 2] = $1; + HEAP32[($7 + 20 | 0) >> 2] = $2; + HEAPF32[($7 + 16 | 0) >> 2] = $3; + HEAPF32[($7 + 12 | 0) >> 2] = $4; + $8 = HEAP32[($7 + 28 | 0) >> 2] | 0; + FUNCTION_TABLE[$8 | 0](emscripten__internal__BindingType_int_2c_20void___fromWireType_28int_29(HEAP32[($7 + 24 | 0) >> 2] | 0 | 0) | 0, emscripten__internal__BindingType_int_2c_20void___fromWireType_28int_29(HEAP32[($7 + 20 | 0) >> 2] | 0 | 0) | 0, Math_fround(emscripten__internal__BindingType_float_2c_20void___fromWireType_28float_29(Math_fround(Math_fround(HEAPF32[($7 + 16 | 0) >> 2])))), Math_fround(emscripten__internal__BindingType_float_2c_20void___fromWireType_28float_29(Math_fround(Math_fround(HEAPF32[($7 + 12 | 0) >> 2]))))); + __stack_pointer = $7 + 32 | 0; + return; + } + + function emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_void_2c_20int_2c_20int_2c_20float_2c_20float___getCount_28_29_20const($0) { + $0 = $0 | 0; + HEAP32[((__stack_pointer - 16 | 0) + 12 | 0) >> 2] = $0; + return 5 | 0; + } + + function emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_void_2c_20int_2c_20int_2c_20float_2c_20float___getTypes_28_29_20const($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_void_2c_20int_2c_20int_2c_20float_2c_20float____get_28_29() | 0; + __stack_pointer = $3 + 16 | 0; + return $4 | 0; + } + + function char_20const__20emscripten__internal__getGenericSignature_void_2c_20int_2c_20int_2c_20int_2c_20float_2c_20float__28_29() { + return GOT_data_internal_char_20const__20emscripten__internal__getGenericSignature_void_2c_20int_2c_20int_2c_20int_2c_20float_2c_20float__28_29__signature | 0; + } + + function emscripten__internal__Invoker_void_2c_20int_2c_20int_2c_20bool___invoke_28void_20_28__29_28int_2c_20int_2c_20bool_29_2c_20int_2c_20int_2c_20bool_29($0, $1, $2, $3) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + var $6 = 0, $8 = 0; + $6 = __stack_pointer - 16 | 0; + __stack_pointer = $6; + HEAP32[($6 + 12 | 0) >> 2] = $0; + HEAP32[($6 + 8 | 0) >> 2] = $1; + HEAP32[($6 + 4 | 0) >> 2] = $2; + HEAP8[($6 + 3 | 0) >> 0] = $3; + $8 = HEAP32[($6 + 12 | 0) >> 2] | 0; + FUNCTION_TABLE[$8 | 0](emscripten__internal__BindingType_int_2c_20void___fromWireType_28int_29(HEAP32[($6 + 8 | 0) >> 2] | 0 | 0) | 0, emscripten__internal__BindingType_int_2c_20void___fromWireType_28int_29(HEAP32[($6 + 4 | 0) >> 2] | 0 | 0) | 0, (emscripten__internal__BindingType_bool_2c_20void___fromWireType_28bool_29((HEAPU8[($6 + 3 | 0) >> 0] | 0) & 1 | 0 | 0) | 0) & 1 | 0); + __stack_pointer = $6 + 16 | 0; + return; + } + + function emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_void_2c_20int_2c_20int_2c_20bool___getCount_28_29_20const($0) { + $0 = $0 | 0; + HEAP32[((__stack_pointer - 16 | 0) + 12 | 0) >> 2] = $0; + return 4 | 0; + } + + function emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_void_2c_20int_2c_20int_2c_20bool___getTypes_28_29_20const($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_void_2c_20int_2c_20int_2c_20bool____get_28_29() | 0; + __stack_pointer = $3 + 16 | 0; + return $4 | 0; + } + + function emscripten__internal__Invoker_void_2c_20int_2c_20int_2c_20float___invoke_28void_20_28__29_28int_2c_20int_2c_20float_29_2c_20int_2c_20int_2c_20float_29($0, $1, $2, $3) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = Math_fround($3); + var $6 = 0, $7 = 0; + $6 = __stack_pointer - 16 | 0; + __stack_pointer = $6; + HEAP32[($6 + 12 | 0) >> 2] = $0; + HEAP32[($6 + 8 | 0) >> 2] = $1; + HEAP32[($6 + 4 | 0) >> 2] = $2; + HEAPF32[$6 >> 2] = $3; + $7 = HEAP32[($6 + 12 | 0) >> 2] | 0; + FUNCTION_TABLE[$7 | 0](emscripten__internal__BindingType_int_2c_20void___fromWireType_28int_29(HEAP32[($6 + 8 | 0) >> 2] | 0 | 0) | 0, emscripten__internal__BindingType_int_2c_20void___fromWireType_28int_29(HEAP32[($6 + 4 | 0) >> 2] | 0 | 0) | 0, Math_fround(emscripten__internal__BindingType_float_2c_20void___fromWireType_28float_29(Math_fround(Math_fround(HEAPF32[$6 >> 2]))))); + __stack_pointer = $6 + 16 | 0; + return; + } + + function emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_void_2c_20int_2c_20int_2c_20float___getCount_28_29_20const($0) { + $0 = $0 | 0; + HEAP32[((__stack_pointer - 16 | 0) + 12 | 0) >> 2] = $0; + return 4 | 0; + } + + function emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_void_2c_20int_2c_20int_2c_20float___getTypes_28_29_20const($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_void_2c_20int_2c_20int_2c_20float____get_28_29() | 0; + __stack_pointer = $3 + 16 | 0; + return $4 | 0; + } + + function char_20const__20emscripten__internal__getGenericSignature_void_2c_20int_2c_20int_2c_20int_2c_20float__28_29() { + return GOT_data_internal_char_20const__20emscripten__internal__getGenericSignature_void_2c_20int_2c_20int_2c_20int_2c_20float__28_29__signature | 0; + } + + function emscripten__internal__Invoker_bool_2c_20int___invoke_28bool_20_28__29_28int_29_2c_20int_29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, $5 = 0, $13 = 0; + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; + $13 = (emscripten__internal__BindingType_bool_2c_20void___toWireType_28bool_29((FUNCTION_TABLE[$5 | 0](emscripten__internal__BindingType_int_2c_20void___fromWireType_28int_29(HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) | 0) | 0) & 1 | 0 | 0) | 0) & 1 | 0; + __stack_pointer = $4 + 16 | 0; + return $13 | 0; + } + + function emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_bool_2c_20int___getCount_28_29_20const($0) { + $0 = $0 | 0; + HEAP32[((__stack_pointer - 16 | 0) + 12 | 0) >> 2] = $0; + return 2 | 0; + } + + function emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_bool_2c_20int___getTypes_28_29_20const($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_bool_2c_20int____get_28_29() | 0; + __stack_pointer = $3 + 16 | 0; + return $4 | 0; + } + + function emscripten__internal__Invoker_void_2c_20int_2c_20float_2c_20int___invoke_28void_20_28__29_28int_2c_20float_2c_20int_29_2c_20int_2c_20float_2c_20int_29($0, $1, $2, $3) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = Math_fround($2); + $3 = $3 | 0; + var $6 = 0, $7 = 0; + $6 = __stack_pointer - 16 | 0; + __stack_pointer = $6; + HEAP32[($6 + 12 | 0) >> 2] = $0; + HEAP32[($6 + 8 | 0) >> 2] = $1; + HEAPF32[($6 + 4 | 0) >> 2] = $2; + HEAP32[$6 >> 2] = $3; + $7 = HEAP32[($6 + 12 | 0) >> 2] | 0; + FUNCTION_TABLE[$7 | 0](emscripten__internal__BindingType_int_2c_20void___fromWireType_28int_29(HEAP32[($6 + 8 | 0) >> 2] | 0 | 0) | 0, Math_fround(emscripten__internal__BindingType_float_2c_20void___fromWireType_28float_29(Math_fround(Math_fround(HEAPF32[($6 + 4 | 0) >> 2])))), emscripten__internal__BindingType_int_2c_20void___fromWireType_28int_29(HEAP32[$6 >> 2] | 0 | 0) | 0); + __stack_pointer = $6 + 16 | 0; + return; + } + + function emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_void_2c_20int_2c_20float_2c_20int___getCount_28_29_20const($0) { + $0 = $0 | 0; + HEAP32[((__stack_pointer - 16 | 0) + 12 | 0) >> 2] = $0; + return 4 | 0; + } + + function emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_void_2c_20int_2c_20float_2c_20int___getTypes_28_29_20const($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_void_2c_20int_2c_20float_2c_20int____get_28_29() | 0; + __stack_pointer = $3 + 16 | 0; + return $4 | 0; + } + + function char_20const__20emscripten__internal__getGenericSignature_void_2c_20int_2c_20int_2c_20float_2c_20int__28_29() { + return GOT_data_internal_char_20const__20emscripten__internal__getGenericSignature_void_2c_20int_2c_20int_2c_20float_2c_20int__28_29__signature | 0; + } + + function emscripten__internal__Invoker_void_2c_20int_2c_20int_2c_20int_2c_20int___invoke_28void_20_28__29_28int_2c_20int_2c_20int_2c_20int_29_2c_20int_2c_20int_2c_20int_2c_20int_29($0, $1, $2, $3, $4) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + $4 = $4 | 0; + var $7 = 0, $8 = 0; + $7 = __stack_pointer - 32 | 0; + __stack_pointer = $7; + HEAP32[($7 + 28 | 0) >> 2] = $0; + HEAP32[($7 + 24 | 0) >> 2] = $1; + HEAP32[($7 + 20 | 0) >> 2] = $2; + HEAP32[($7 + 16 | 0) >> 2] = $3; + HEAP32[($7 + 12 | 0) >> 2] = $4; + $8 = HEAP32[($7 + 28 | 0) >> 2] | 0; + FUNCTION_TABLE[$8 | 0](emscripten__internal__BindingType_int_2c_20void___fromWireType_28int_29(HEAP32[($7 + 24 | 0) >> 2] | 0 | 0) | 0, emscripten__internal__BindingType_int_2c_20void___fromWireType_28int_29(HEAP32[($7 + 20 | 0) >> 2] | 0 | 0) | 0, emscripten__internal__BindingType_int_2c_20void___fromWireType_28int_29(HEAP32[($7 + 16 | 0) >> 2] | 0 | 0) | 0, emscripten__internal__BindingType_int_2c_20void___fromWireType_28int_29(HEAP32[($7 + 12 | 0) >> 2] | 0 | 0) | 0); + __stack_pointer = $7 + 32 | 0; + return; + } + + function emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_void_2c_20int_2c_20int_2c_20int_2c_20int___getCount_28_29_20const($0) { + $0 = $0 | 0; + HEAP32[((__stack_pointer - 16 | 0) + 12 | 0) >> 2] = $0; + return 5 | 0; + } + + function emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_void_2c_20int_2c_20int_2c_20int_2c_20int___getTypes_28_29_20const($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_void_2c_20int_2c_20int_2c_20int_2c_20int____get_28_29() | 0; + __stack_pointer = $3 + 16 | 0; + return $4 | 0; + } + + function char_20const__20emscripten__internal__getGenericSignature_void_2c_20int_2c_20int_2c_20int_2c_20int_2c_20int__28_29() { + return GOT_data_internal_char_20const__20emscripten__internal__getGenericSignature_void_2c_20int_2c_20int_2c_20int_2c_20int_2c_20int__28_29__signature | 0; + } + + function emscripten__internal__Invoker_int_2c_20float___invoke_28int_20_28__29_28float_29_2c_20float_29($0, $1) { + $0 = $0 | 0; + $1 = Math_fround($1); + var $4 = 0, $5 = 0, $12 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAPF32[($4 + 8 | 0) >> 2] = $1; + $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; + (wasm2js_i32$0 = $4, wasm2js_i32$1 = FUNCTION_TABLE[$5 | 0](Math_fround(emscripten__internal__BindingType_float_2c_20void___fromWireType_28float_29(Math_fround(Math_fround(HEAPF32[($4 + 8 | 0) >> 2]))))) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + $12 = emscripten__internal__BindingType_int_2c_20void___toWireType_28int_20const__29($4 + 4 | 0 | 0) | 0; + __stack_pointer = $4 + 16 | 0; + return $12 | 0; + } + + function emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_int_2c_20float___getCount_28_29_20const($0) { + $0 = $0 | 0; + HEAP32[((__stack_pointer - 16 | 0) + 12 | 0) >> 2] = $0; + return 2 | 0; + } + + function emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_int_2c_20float___getTypes_28_29_20const($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_int_2c_20float____get_28_29() | 0; + __stack_pointer = $3 + 16 | 0; + return $4 | 0; + } + + function char_20const__20emscripten__internal__getGenericSignature_int_2c_20int_2c_20float__28_29() { + return GOT_data_internal_char_20const__20emscripten__internal__getGenericSignature_int_2c_20int_2c_20float__28_29__signature | 0; + } + + function emscripten__internal__Invoker_void_2c_20int_2c_20float_2c_20float_2c_20int___invoke_28void_20_28__29_28int_2c_20float_2c_20float_2c_20int_29_2c_20int_2c_20float_2c_20float_2c_20int_29($0, $1, $2, $3, $4) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = Math_fround($2); + $3 = Math_fround($3); + $4 = $4 | 0; + var $7 = 0, $8 = 0; + $7 = __stack_pointer - 32 | 0; + __stack_pointer = $7; + HEAP32[($7 + 28 | 0) >> 2] = $0; + HEAP32[($7 + 24 | 0) >> 2] = $1; + HEAPF32[($7 + 20 | 0) >> 2] = $2; + HEAPF32[($7 + 16 | 0) >> 2] = $3; + HEAP32[($7 + 12 | 0) >> 2] = $4; + $8 = HEAP32[($7 + 28 | 0) >> 2] | 0; + FUNCTION_TABLE[$8 | 0](emscripten__internal__BindingType_int_2c_20void___fromWireType_28int_29(HEAP32[($7 + 24 | 0) >> 2] | 0 | 0) | 0, Math_fround(emscripten__internal__BindingType_float_2c_20void___fromWireType_28float_29(Math_fround(Math_fround(HEAPF32[($7 + 20 | 0) >> 2])))), Math_fround(emscripten__internal__BindingType_float_2c_20void___fromWireType_28float_29(Math_fround(Math_fround(HEAPF32[($7 + 16 | 0) >> 2])))), emscripten__internal__BindingType_int_2c_20void___fromWireType_28int_29(HEAP32[($7 + 12 | 0) >> 2] | 0 | 0) | 0); + __stack_pointer = $7 + 32 | 0; + return; + } + + function emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_void_2c_20int_2c_20float_2c_20float_2c_20int___getCount_28_29_20const($0) { + $0 = $0 | 0; + HEAP32[((__stack_pointer - 16 | 0) + 12 | 0) >> 2] = $0; + return 5 | 0; + } + + function emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_void_2c_20int_2c_20float_2c_20float_2c_20int___getTypes_28_29_20const($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_void_2c_20int_2c_20float_2c_20float_2c_20int____get_28_29() | 0; + __stack_pointer = $3 + 16 | 0; + return $4 | 0; + } + + function char_20const__20emscripten__internal__getGenericSignature_void_2c_20int_2c_20int_2c_20float_2c_20float_2c_20int__28_29() { + return GOT_data_internal_char_20const__20emscripten__internal__getGenericSignature_void_2c_20int_2c_20int_2c_20float_2c_20float_2c_20int__28_29__signature | 0; + } + + function emscripten__internal__Invoker_int_2c_20float_2c_20float___invoke_28int_20_28__29_28float_2c_20float_29_2c_20float_2c_20float_29($0, $1, $2) { + $0 = $0 | 0; + $1 = Math_fround($1); + $2 = Math_fround($2); + var $5 = 0, $6 = 0, $13 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5 = __stack_pointer - 16 | 0; + __stack_pointer = $5; + HEAP32[($5 + 12 | 0) >> 2] = $0; + HEAPF32[($5 + 8 | 0) >> 2] = $1; + HEAPF32[($5 + 4 | 0) >> 2] = $2; + $6 = HEAP32[($5 + 12 | 0) >> 2] | 0; + (wasm2js_i32$0 = $5, wasm2js_i32$1 = FUNCTION_TABLE[$6 | 0](Math_fround(emscripten__internal__BindingType_float_2c_20void___fromWireType_28float_29(Math_fround(Math_fround(HEAPF32[($5 + 8 | 0) >> 2])))), Math_fround(emscripten__internal__BindingType_float_2c_20void___fromWireType_28float_29(Math_fround(Math_fround(HEAPF32[($5 + 4 | 0) >> 2]))))) | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + $13 = emscripten__internal__BindingType_int_2c_20void___toWireType_28int_20const__29($5 | 0) | 0; + __stack_pointer = $5 + 16 | 0; + return $13 | 0; + } + + function emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_int_2c_20float_2c_20float___getCount_28_29_20const($0) { + $0 = $0 | 0; + HEAP32[((__stack_pointer - 16 | 0) + 12 | 0) >> 2] = $0; + return 3 | 0; + } + + function emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_int_2c_20float_2c_20float___getTypes_28_29_20const($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_int_2c_20float_2c_20float____get_28_29() | 0; + __stack_pointer = $3 + 16 | 0; + return $4 | 0; + } + + function char_20const__20emscripten__internal__getGenericSignature_int_2c_20int_2c_20float_2c_20float__28_29() { + return GOT_data_internal_char_20const__20emscripten__internal__getGenericSignature_int_2c_20int_2c_20float_2c_20float__28_29__signature | 0; + } + + function emscripten__internal__Invoker_int_2c_20int_2c_20float___invoke_28int_20_28__29_28int_2c_20float_29_2c_20int_2c_20float_29($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = Math_fround($2); + var $5 = 0, $6 = 0, $13 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5 = __stack_pointer - 16 | 0; + __stack_pointer = $5; + HEAP32[($5 + 12 | 0) >> 2] = $0; + HEAP32[($5 + 8 | 0) >> 2] = $1; + HEAPF32[($5 + 4 | 0) >> 2] = $2; + $6 = HEAP32[($5 + 12 | 0) >> 2] | 0; + (wasm2js_i32$0 = $5, wasm2js_i32$1 = FUNCTION_TABLE[$6 | 0](emscripten__internal__BindingType_int_2c_20void___fromWireType_28int_29(HEAP32[($5 + 8 | 0) >> 2] | 0 | 0) | 0, Math_fround(emscripten__internal__BindingType_float_2c_20void___fromWireType_28float_29(Math_fround(Math_fround(HEAPF32[($5 + 4 | 0) >> 2]))))) | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + $13 = emscripten__internal__BindingType_int_2c_20void___toWireType_28int_20const__29($5 | 0) | 0; + __stack_pointer = $5 + 16 | 0; + return $13 | 0; + } + + function emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_int_2c_20int_2c_20float___getCount_28_29_20const($0) { + $0 = $0 | 0; + HEAP32[((__stack_pointer - 16 | 0) + 12 | 0) >> 2] = $0; + return 3 | 0; + } + + function emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_int_2c_20int_2c_20float___getTypes_28_29_20const($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_int_2c_20int_2c_20float____get_28_29() | 0; + __stack_pointer = $3 + 16 | 0; + return $4 | 0; + } + + function char_20const__20emscripten__internal__getGenericSignature_int_2c_20int_2c_20int_2c_20float__28_29() { + return GOT_data_internal_char_20const__20emscripten__internal__getGenericSignature_int_2c_20int_2c_20int_2c_20float__28_29__signature | 0; + } + + function emscripten__internal__Invoker_int_2c_20int_2c_20int_2c_20int_2c_20float_2c_20float_2c_20float___invoke_28int_20_28__29_28int_2c_20int_2c_20int_2c_20float_2c_20float_2c_20float_29_2c_20int_2c_20int_2c_20int_2c_20float_2c_20float_2c_20float_29($0, $1, $2, $3, $4, $5, $6) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + $4 = Math_fround($4); + $5 = Math_fround($5); + $6 = Math_fround($6); + var $9 = 0, $10 = 0, $25 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $9 = __stack_pointer - 32 | 0; + __stack_pointer = $9; + HEAP32[($9 + 28 | 0) >> 2] = $0; + HEAP32[($9 + 24 | 0) >> 2] = $1; + HEAP32[($9 + 20 | 0) >> 2] = $2; + HEAP32[($9 + 16 | 0) >> 2] = $3; + HEAPF32[($9 + 12 | 0) >> 2] = $4; + HEAPF32[($9 + 8 | 0) >> 2] = $5; + HEAPF32[($9 + 4 | 0) >> 2] = $6; + $10 = HEAP32[($9 + 28 | 0) >> 2] | 0; + (wasm2js_i32$0 = $9, wasm2js_i32$1 = FUNCTION_TABLE[$10 | 0](emscripten__internal__BindingType_int_2c_20void___fromWireType_28int_29(HEAP32[($9 + 24 | 0) >> 2] | 0 | 0) | 0, emscripten__internal__BindingType_int_2c_20void___fromWireType_28int_29(HEAP32[($9 + 20 | 0) >> 2] | 0 | 0) | 0, emscripten__internal__BindingType_int_2c_20void___fromWireType_28int_29(HEAP32[($9 + 16 | 0) >> 2] | 0 | 0) | 0, Math_fround(emscripten__internal__BindingType_float_2c_20void___fromWireType_28float_29(Math_fround(Math_fround(HEAPF32[($9 + 12 | 0) >> 2])))), Math_fround(emscripten__internal__BindingType_float_2c_20void___fromWireType_28float_29(Math_fround(Math_fround(HEAPF32[($9 + 8 | 0) >> 2])))), Math_fround(emscripten__internal__BindingType_float_2c_20void___fromWireType_28float_29(Math_fround(Math_fround(HEAPF32[($9 + 4 | 0) >> 2]))))) | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + $25 = emscripten__internal__BindingType_int_2c_20void___toWireType_28int_20const__29($9 | 0) | 0; + __stack_pointer = $9 + 32 | 0; + return $25 | 0; + } + + function emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_int_2c_20int_2c_20int_2c_20int_2c_20float_2c_20float_2c_20float___getCount_28_29_20const($0) { + $0 = $0 | 0; + HEAP32[((__stack_pointer - 16 | 0) + 12 | 0) >> 2] = $0; + return 7 | 0; + } + + function emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_int_2c_20int_2c_20int_2c_20int_2c_20float_2c_20float_2c_20float___getTypes_28_29_20const($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_int_2c_20int_2c_20int_2c_20int_2c_20float_2c_20float_2c_20float____get_28_29() | 0; + __stack_pointer = $3 + 16 | 0; + return $4 | 0; + } + + function char_20const__20emscripten__internal__getGenericSignature_int_2c_20int_2c_20int_2c_20int_2c_20int_2c_20float_2c_20float_2c_20float__28_29() { + return GOT_data_internal_char_20const__20emscripten__internal__getGenericSignature_int_2c_20int_2c_20int_2c_20int_2c_20int_2c_20float_2c_20float_2c_20float__28_29__signature | 0; + } + + function emscripten__internal__Invoker_void_2c_20int_2c_20int_2c_20int_2c_20int_2c_20bool___invoke_28void_20_28__29_28int_2c_20int_2c_20int_2c_20int_2c_20bool_29_2c_20int_2c_20int_2c_20int_2c_20int_2c_20bool_29($0, $1, $2, $3, $4, $5) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + $4 = $4 | 0; + $5 = $5 | 0; + var $8 = 0, $10 = 0; + $8 = __stack_pointer - 32 | 0; + __stack_pointer = $8; + HEAP32[($8 + 28 | 0) >> 2] = $0; + HEAP32[($8 + 24 | 0) >> 2] = $1; + HEAP32[($8 + 20 | 0) >> 2] = $2; + HEAP32[($8 + 16 | 0) >> 2] = $3; + HEAP32[($8 + 12 | 0) >> 2] = $4; + HEAP8[($8 + 11 | 0) >> 0] = $5; + $10 = HEAP32[($8 + 28 | 0) >> 2] | 0; + FUNCTION_TABLE[$10 | 0](emscripten__internal__BindingType_int_2c_20void___fromWireType_28int_29(HEAP32[($8 + 24 | 0) >> 2] | 0 | 0) | 0, emscripten__internal__BindingType_int_2c_20void___fromWireType_28int_29(HEAP32[($8 + 20 | 0) >> 2] | 0 | 0) | 0, emscripten__internal__BindingType_int_2c_20void___fromWireType_28int_29(HEAP32[($8 + 16 | 0) >> 2] | 0 | 0) | 0, emscripten__internal__BindingType_int_2c_20void___fromWireType_28int_29(HEAP32[($8 + 12 | 0) >> 2] | 0 | 0) | 0, (emscripten__internal__BindingType_bool_2c_20void___fromWireType_28bool_29((HEAPU8[($8 + 11 | 0) >> 0] | 0) & 1 | 0 | 0) | 0) & 1 | 0); + __stack_pointer = $8 + 32 | 0; + return; + } + + function emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_void_2c_20int_2c_20int_2c_20int_2c_20int_2c_20bool___getCount_28_29_20const($0) { + $0 = $0 | 0; + HEAP32[((__stack_pointer - 16 | 0) + 12 | 0) >> 2] = $0; + return 6 | 0; + } + + function emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_void_2c_20int_2c_20int_2c_20int_2c_20int_2c_20bool___getTypes_28_29_20const($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_void_2c_20int_2c_20int_2c_20int_2c_20int_2c_20bool____get_28_29() | 0; + __stack_pointer = $3 + 16 | 0; + return $4 | 0; + } + + function char_20const__20emscripten__internal__getGenericSignature_void_2c_20int_2c_20int_2c_20int_2c_20int_2c_20int_2c_20int__28_29() { + return GOT_data_internal_char_20const__20emscripten__internal__getGenericSignature_void_2c_20int_2c_20int_2c_20int_2c_20int_2c_20int_2c_20int__28_29__signature | 0; + } + + function emscripten__internal__Invoker_int_2c_20int_2c_20bool_2c_20bool___invoke_28int_20_28__29_28int_2c_20bool_2c_20bool_29_2c_20int_2c_20bool_2c_20bool_29($0, $1, $2, $3) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + var $6 = 0, $9 = 0, $26 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $6 = __stack_pointer - 16 | 0; + __stack_pointer = $6; + HEAP32[($6 + 12 | 0) >> 2] = $0; + HEAP32[($6 + 8 | 0) >> 2] = $1; + HEAP8[($6 + 7 | 0) >> 0] = $2; + HEAP8[($6 + 6 | 0) >> 0] = $3; + $9 = HEAP32[($6 + 12 | 0) >> 2] | 0; + (wasm2js_i32$0 = $6, wasm2js_i32$1 = FUNCTION_TABLE[$9 | 0](emscripten__internal__BindingType_int_2c_20void___fromWireType_28int_29(HEAP32[($6 + 8 | 0) >> 2] | 0 | 0) | 0, (emscripten__internal__BindingType_bool_2c_20void___fromWireType_28bool_29((HEAPU8[($6 + 7 | 0) >> 0] | 0) & 1 | 0 | 0) | 0) & 1 | 0, (emscripten__internal__BindingType_bool_2c_20void___fromWireType_28bool_29((HEAPU8[($6 + 6 | 0) >> 0] | 0) & 1 | 0 | 0) | 0) & 1 | 0) | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + $26 = emscripten__internal__BindingType_int_2c_20void___toWireType_28int_20const__29($6 | 0) | 0; + __stack_pointer = $6 + 16 | 0; + return $26 | 0; + } + + function emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_int_2c_20int_2c_20bool_2c_20bool___getCount_28_29_20const($0) { + $0 = $0 | 0; + HEAP32[((__stack_pointer - 16 | 0) + 12 | 0) >> 2] = $0; + return 4 | 0; + } + + function emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_int_2c_20int_2c_20bool_2c_20bool___getTypes_28_29_20const($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_int_2c_20int_2c_20bool_2c_20bool____get_28_29() | 0; + __stack_pointer = $3 + 16 | 0; + return $4 | 0; + } + + function char_20const__20emscripten__internal__getGenericSignature_int_2c_20int_2c_20int_2c_20int_2c_20int__28_29() { + return GOT_data_internal_char_20const__20emscripten__internal__getGenericSignature_int_2c_20int_2c_20int_2c_20int_2c_20int__28_29__signature | 0; + } + + function emscripten__internal__Invoker_void_2c_20int_2c_20int_2c_20float_2c_20float_2c_20float___invoke_28void_20_28__29_28int_2c_20int_2c_20float_2c_20float_2c_20float_29_2c_20int_2c_20int_2c_20float_2c_20float_2c_20float_29($0, $1, $2, $3, $4, $5) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = Math_fround($3); + $4 = Math_fround($4); + $5 = Math_fround($5); + var $8 = 0, $9 = 0; + $8 = __stack_pointer - 32 | 0; + __stack_pointer = $8; + HEAP32[($8 + 28 | 0) >> 2] = $0; + HEAP32[($8 + 24 | 0) >> 2] = $1; + HEAP32[($8 + 20 | 0) >> 2] = $2; + HEAPF32[($8 + 16 | 0) >> 2] = $3; + HEAPF32[($8 + 12 | 0) >> 2] = $4; + HEAPF32[($8 + 8 | 0) >> 2] = $5; + $9 = HEAP32[($8 + 28 | 0) >> 2] | 0; + FUNCTION_TABLE[$9 | 0](emscripten__internal__BindingType_int_2c_20void___fromWireType_28int_29(HEAP32[($8 + 24 | 0) >> 2] | 0 | 0) | 0, emscripten__internal__BindingType_int_2c_20void___fromWireType_28int_29(HEAP32[($8 + 20 | 0) >> 2] | 0 | 0) | 0, Math_fround(emscripten__internal__BindingType_float_2c_20void___fromWireType_28float_29(Math_fround(Math_fround(HEAPF32[($8 + 16 | 0) >> 2])))), Math_fround(emscripten__internal__BindingType_float_2c_20void___fromWireType_28float_29(Math_fround(Math_fround(HEAPF32[($8 + 12 | 0) >> 2])))), Math_fround(emscripten__internal__BindingType_float_2c_20void___fromWireType_28float_29(Math_fround(Math_fround(HEAPF32[($8 + 8 | 0) >> 2]))))); + __stack_pointer = $8 + 32 | 0; + return; + } + + function emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_void_2c_20int_2c_20int_2c_20float_2c_20float_2c_20float___getCount_28_29_20const($0) { + $0 = $0 | 0; + HEAP32[((__stack_pointer - 16 | 0) + 12 | 0) >> 2] = $0; + return 6 | 0; + } + + function emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_void_2c_20int_2c_20int_2c_20float_2c_20float_2c_20float___getTypes_28_29_20const($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_void_2c_20int_2c_20int_2c_20float_2c_20float_2c_20float____get_28_29() | 0; + __stack_pointer = $3 + 16 | 0; + return $4 | 0; + } + + function char_20const__20emscripten__internal__getGenericSignature_void_2c_20int_2c_20int_2c_20int_2c_20float_2c_20float_2c_20float__28_29() { + return GOT_data_internal_char_20const__20emscripten__internal__getGenericSignature_void_2c_20int_2c_20int_2c_20int_2c_20float_2c_20float_2c_20float__28_29__signature | 0; + } + + function emscripten__internal__Invoker_int_2c_20int_2c_20float_2c_20float_2c_20float___invoke_28int_20_28__29_28int_2c_20float_2c_20float_2c_20float_29_2c_20int_2c_20float_2c_20float_2c_20float_29($0, $1, $2, $3, $4) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = Math_fround($2); + $3 = Math_fround($3); + $4 = Math_fround($4); + var $7 = 0, $8 = 0, $21 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $7 = __stack_pointer - 32 | 0; + __stack_pointer = $7; + HEAP32[($7 + 28 | 0) >> 2] = $0; + HEAP32[($7 + 24 | 0) >> 2] = $1; + HEAPF32[($7 + 20 | 0) >> 2] = $2; + HEAPF32[($7 + 16 | 0) >> 2] = $3; + HEAPF32[($7 + 12 | 0) >> 2] = $4; + $8 = HEAP32[($7 + 28 | 0) >> 2] | 0; + (wasm2js_i32$0 = $7, wasm2js_i32$1 = FUNCTION_TABLE[$8 | 0](emscripten__internal__BindingType_int_2c_20void___fromWireType_28int_29(HEAP32[($7 + 24 | 0) >> 2] | 0 | 0) | 0, Math_fround(emscripten__internal__BindingType_float_2c_20void___fromWireType_28float_29(Math_fround(Math_fround(HEAPF32[($7 + 20 | 0) >> 2])))), Math_fround(emscripten__internal__BindingType_float_2c_20void___fromWireType_28float_29(Math_fround(Math_fround(HEAPF32[($7 + 16 | 0) >> 2])))), Math_fround(emscripten__internal__BindingType_float_2c_20void___fromWireType_28float_29(Math_fround(Math_fround(HEAPF32[($7 + 12 | 0) >> 2]))))) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + $21 = emscripten__internal__BindingType_int_2c_20void___toWireType_28int_20const__29($7 + 8 | 0 | 0) | 0; + __stack_pointer = $7 + 32 | 0; + return $21 | 0; + } + + function emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_int_2c_20int_2c_20float_2c_20float_2c_20float___getCount_28_29_20const($0) { + $0 = $0 | 0; + HEAP32[((__stack_pointer - 16 | 0) + 12 | 0) >> 2] = $0; + return 5 | 0; + } + + function emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_int_2c_20int_2c_20float_2c_20float_2c_20float___getTypes_28_29_20const($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_int_2c_20int_2c_20float_2c_20float_2c_20float____get_28_29() | 0; + __stack_pointer = $3 + 16 | 0; + return $4 | 0; + } + + function char_20const__20emscripten__internal__getGenericSignature_int_2c_20int_2c_20int_2c_20float_2c_20float_2c_20float__28_29() { + return GOT_data_internal_char_20const__20emscripten__internal__getGenericSignature_int_2c_20int_2c_20int_2c_20float_2c_20float_2c_20float__28_29__signature | 0; + } + + function emscripten__internal__Invoker_void_2c_20int_2c_20int_2c_20int_2c_20bool___invoke_28void_20_28__29_28int_2c_20int_2c_20int_2c_20bool_29_2c_20int_2c_20int_2c_20int_2c_20bool_29($0, $1, $2, $3, $4) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + $4 = $4 | 0; + var $7 = 0, $9 = 0; + $7 = __stack_pointer - 32 | 0; + __stack_pointer = $7; + HEAP32[($7 + 28 | 0) >> 2] = $0; + HEAP32[($7 + 24 | 0) >> 2] = $1; + HEAP32[($7 + 20 | 0) >> 2] = $2; + HEAP32[($7 + 16 | 0) >> 2] = $3; + HEAP8[($7 + 15 | 0) >> 0] = $4; + $9 = HEAP32[($7 + 28 | 0) >> 2] | 0; + FUNCTION_TABLE[$9 | 0](emscripten__internal__BindingType_int_2c_20void___fromWireType_28int_29(HEAP32[($7 + 24 | 0) >> 2] | 0 | 0) | 0, emscripten__internal__BindingType_int_2c_20void___fromWireType_28int_29(HEAP32[($7 + 20 | 0) >> 2] | 0 | 0) | 0, emscripten__internal__BindingType_int_2c_20void___fromWireType_28int_29(HEAP32[($7 + 16 | 0) >> 2] | 0 | 0) | 0, (emscripten__internal__BindingType_bool_2c_20void___fromWireType_28bool_29((HEAPU8[($7 + 15 | 0) >> 0] | 0) & 1 | 0 | 0) | 0) & 1 | 0); + __stack_pointer = $7 + 32 | 0; + return; + } + + function emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_void_2c_20int_2c_20int_2c_20int_2c_20bool___getCount_28_29_20const($0) { + $0 = $0 | 0; + HEAP32[((__stack_pointer - 16 | 0) + 12 | 0) >> 2] = $0; + return 5 | 0; + } + + function emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_void_2c_20int_2c_20int_2c_20int_2c_20bool___getTypes_28_29_20const($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_void_2c_20int_2c_20int_2c_20int_2c_20bool____get_28_29() | 0; + __stack_pointer = $3 + 16 | 0; + return $4 | 0; + } + + function emscripten__internal__Invoker_int_2c_20float_2c_20int___invoke_28int_20_28__29_28float_2c_20int_29_2c_20float_2c_20int_29($0, $1, $2) { + $0 = $0 | 0; + $1 = Math_fround($1); + $2 = $2 | 0; + var $5 = 0, $6 = 0, $13 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5 = __stack_pointer - 16 | 0; + __stack_pointer = $5; + HEAP32[($5 + 12 | 0) >> 2] = $0; + HEAPF32[($5 + 8 | 0) >> 2] = $1; + HEAP32[($5 + 4 | 0) >> 2] = $2; + $6 = HEAP32[($5 + 12 | 0) >> 2] | 0; + (wasm2js_i32$0 = $5, wasm2js_i32$1 = FUNCTION_TABLE[$6 | 0](Math_fround(emscripten__internal__BindingType_float_2c_20void___fromWireType_28float_29(Math_fround(Math_fround(HEAPF32[($5 + 8 | 0) >> 2])))), emscripten__internal__BindingType_int_2c_20void___fromWireType_28int_29(HEAP32[($5 + 4 | 0) >> 2] | 0 | 0) | 0) | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + $13 = emscripten__internal__BindingType_int_2c_20void___toWireType_28int_20const__29($5 | 0) | 0; + __stack_pointer = $5 + 16 | 0; + return $13 | 0; + } + + function emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_int_2c_20float_2c_20int___getCount_28_29_20const($0) { + $0 = $0 | 0; + HEAP32[((__stack_pointer - 16 | 0) + 12 | 0) >> 2] = $0; + return 3 | 0; + } + + function emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_int_2c_20float_2c_20int___getTypes_28_29_20const($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_int_2c_20float_2c_20int____get_28_29() | 0; + __stack_pointer = $3 + 16 | 0; + return $4 | 0; + } + + function char_20const__20emscripten__internal__getGenericSignature_int_2c_20int_2c_20float_2c_20int__28_29() { + return GOT_data_internal_char_20const__20emscripten__internal__getGenericSignature_int_2c_20int_2c_20float_2c_20int__28_29__signature | 0; + } + + function emscripten__internal__Invoker_void_2c_20int_2c_20int_2c_20unsigned_20int_2c_20unsigned_20int___invoke_28void_20_28__29_28int_2c_20int_2c_20unsigned_20int_2c_20unsigned_20int_29_2c_20int_2c_20int_2c_20unsigned_20int_2c_20unsigned_20int_29($0, $1, $2, $3, $4) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + $4 = $4 | 0; + var $7 = 0, $8 = 0; + $7 = __stack_pointer - 32 | 0; + __stack_pointer = $7; + HEAP32[($7 + 28 | 0) >> 2] = $0; + HEAP32[($7 + 24 | 0) >> 2] = $1; + HEAP32[($7 + 20 | 0) >> 2] = $2; + HEAP32[($7 + 16 | 0) >> 2] = $3; + HEAP32[($7 + 12 | 0) >> 2] = $4; + $8 = HEAP32[($7 + 28 | 0) >> 2] | 0; + FUNCTION_TABLE[$8 | 0](emscripten__internal__BindingType_int_2c_20void___fromWireType_28int_29(HEAP32[($7 + 24 | 0) >> 2] | 0 | 0) | 0, emscripten__internal__BindingType_int_2c_20void___fromWireType_28int_29(HEAP32[($7 + 20 | 0) >> 2] | 0 | 0) | 0, emscripten__internal__BindingType_unsigned_20int_2c_20void___fromWireType_28unsigned_20int_29(HEAP32[($7 + 16 | 0) >> 2] | 0 | 0) | 0, emscripten__internal__BindingType_unsigned_20int_2c_20void___fromWireType_28unsigned_20int_29(HEAP32[($7 + 12 | 0) >> 2] | 0 | 0) | 0); + __stack_pointer = $7 + 32 | 0; + return; + } + + function emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_void_2c_20int_2c_20int_2c_20unsigned_20int_2c_20unsigned_20int___getCount_28_29_20const($0) { + $0 = $0 | 0; + HEAP32[((__stack_pointer - 16 | 0) + 12 | 0) >> 2] = $0; + return 5 | 0; + } + + function emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_void_2c_20int_2c_20int_2c_20unsigned_20int_2c_20unsigned_20int___getTypes_28_29_20const($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_void_2c_20int_2c_20int_2c_20unsigned_20int_2c_20unsigned_20int____get_28_29() | 0; + __stack_pointer = $3 + 16 | 0; + return $4 | 0; + } + + function emscripten__internal__Invoker_void_2c_20int_2c_20int_2c_20int_2c_20int_2c_20int_2c_20float___invoke_28void_20_28__29_28int_2c_20int_2c_20int_2c_20int_2c_20int_2c_20float_29_2c_20int_2c_20int_2c_20int_2c_20int_2c_20int_2c_20float_29($0, $1, $2, $3, $4, $5, $6) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + $4 = $4 | 0; + $5 = $5 | 0; + $6 = Math_fround($6); + var $9 = 0, $10 = 0; + $9 = __stack_pointer - 32 | 0; + __stack_pointer = $9; + HEAP32[($9 + 28 | 0) >> 2] = $0; + HEAP32[($9 + 24 | 0) >> 2] = $1; + HEAP32[($9 + 20 | 0) >> 2] = $2; + HEAP32[($9 + 16 | 0) >> 2] = $3; + HEAP32[($9 + 12 | 0) >> 2] = $4; + HEAP32[($9 + 8 | 0) >> 2] = $5; + HEAPF32[($9 + 4 | 0) >> 2] = $6; + $10 = HEAP32[($9 + 28 | 0) >> 2] | 0; + FUNCTION_TABLE[$10 | 0](emscripten__internal__BindingType_int_2c_20void___fromWireType_28int_29(HEAP32[($9 + 24 | 0) >> 2] | 0 | 0) | 0, emscripten__internal__BindingType_int_2c_20void___fromWireType_28int_29(HEAP32[($9 + 20 | 0) >> 2] | 0 | 0) | 0, emscripten__internal__BindingType_int_2c_20void___fromWireType_28int_29(HEAP32[($9 + 16 | 0) >> 2] | 0 | 0) | 0, emscripten__internal__BindingType_int_2c_20void___fromWireType_28int_29(HEAP32[($9 + 12 | 0) >> 2] | 0 | 0) | 0, emscripten__internal__BindingType_int_2c_20void___fromWireType_28int_29(HEAP32[($9 + 8 | 0) >> 2] | 0 | 0) | 0, Math_fround(emscripten__internal__BindingType_float_2c_20void___fromWireType_28float_29(Math_fround(Math_fround(HEAPF32[($9 + 4 | 0) >> 2]))))); + __stack_pointer = $9 + 32 | 0; + return; + } + + function emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_void_2c_20int_2c_20int_2c_20int_2c_20int_2c_20int_2c_20float___getCount_28_29_20const($0) { + $0 = $0 | 0; + HEAP32[((__stack_pointer - 16 | 0) + 12 | 0) >> 2] = $0; + return 7 | 0; + } + + function emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_void_2c_20int_2c_20int_2c_20int_2c_20int_2c_20int_2c_20float___getTypes_28_29_20const($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_void_2c_20int_2c_20int_2c_20int_2c_20int_2c_20int_2c_20float____get_28_29() | 0; + __stack_pointer = $3 + 16 | 0; + return $4 | 0; + } + + function char_20const__20emscripten__internal__getGenericSignature_void_2c_20int_2c_20int_2c_20int_2c_20int_2c_20int_2c_20int_2c_20float__28_29() { + return GOT_data_internal_char_20const__20emscripten__internal__getGenericSignature_void_2c_20int_2c_20int_2c_20int_2c_20int_2c_20int_2c_20int_2c_20float__28_29__signature | 0; + } + + function emscripten__internal__Invoker_int_2c_20int_2c_20int_2c_20int___invoke_28int_20_28__29_28int_2c_20int_2c_20int_29_2c_20int_2c_20int_2c_20int_29($0, $1, $2, $3) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + var $6 = 0, $7 = 0, $18 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $6 = __stack_pointer - 32 | 0; + __stack_pointer = $6; + HEAP32[($6 + 28 | 0) >> 2] = $0; + HEAP32[($6 + 24 | 0) >> 2] = $1; + HEAP32[($6 + 20 | 0) >> 2] = $2; + HEAP32[($6 + 16 | 0) >> 2] = $3; + $7 = HEAP32[($6 + 28 | 0) >> 2] | 0; + (wasm2js_i32$0 = $6, wasm2js_i32$1 = FUNCTION_TABLE[$7 | 0](emscripten__internal__BindingType_int_2c_20void___fromWireType_28int_29(HEAP32[($6 + 24 | 0) >> 2] | 0 | 0) | 0, emscripten__internal__BindingType_int_2c_20void___fromWireType_28int_29(HEAP32[($6 + 20 | 0) >> 2] | 0 | 0) | 0, emscripten__internal__BindingType_int_2c_20void___fromWireType_28int_29(HEAP32[($6 + 16 | 0) >> 2] | 0 | 0) | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + $18 = emscripten__internal__BindingType_int_2c_20void___toWireType_28int_20const__29($6 + 12 | 0 | 0) | 0; + __stack_pointer = $6 + 32 | 0; + return $18 | 0; + } + + function emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_int_2c_20int_2c_20int_2c_20int___getCount_28_29_20const($0) { + $0 = $0 | 0; + HEAP32[((__stack_pointer - 16 | 0) + 12 | 0) >> 2] = $0; + return 4 | 0; + } + + function emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_int_2c_20int_2c_20int_2c_20int___getTypes_28_29_20const($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_int_2c_20int_2c_20int_2c_20int____get_28_29() | 0; + __stack_pointer = $3 + 16 | 0; + return $4 | 0; + } + + function emscripten__internal__Invoker_void_2c_20int_2c_20float_2c_20int_2c_20float___invoke_28void_20_28__29_28int_2c_20float_2c_20int_2c_20float_29_2c_20int_2c_20float_2c_20int_2c_20float_29($0, $1, $2, $3, $4) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = Math_fround($2); + $3 = $3 | 0; + $4 = Math_fround($4); + var $7 = 0, $8 = 0; + $7 = __stack_pointer - 32 | 0; + __stack_pointer = $7; + HEAP32[($7 + 28 | 0) >> 2] = $0; + HEAP32[($7 + 24 | 0) >> 2] = $1; + HEAPF32[($7 + 20 | 0) >> 2] = $2; + HEAP32[($7 + 16 | 0) >> 2] = $3; + HEAPF32[($7 + 12 | 0) >> 2] = $4; + $8 = HEAP32[($7 + 28 | 0) >> 2] | 0; + FUNCTION_TABLE[$8 | 0](emscripten__internal__BindingType_int_2c_20void___fromWireType_28int_29(HEAP32[($7 + 24 | 0) >> 2] | 0 | 0) | 0, Math_fround(emscripten__internal__BindingType_float_2c_20void___fromWireType_28float_29(Math_fround(Math_fround(HEAPF32[($7 + 20 | 0) >> 2])))), emscripten__internal__BindingType_int_2c_20void___fromWireType_28int_29(HEAP32[($7 + 16 | 0) >> 2] | 0 | 0) | 0, Math_fround(emscripten__internal__BindingType_float_2c_20void___fromWireType_28float_29(Math_fround(Math_fround(HEAPF32[($7 + 12 | 0) >> 2]))))); + __stack_pointer = $7 + 32 | 0; + return; + } + + function emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_void_2c_20int_2c_20float_2c_20int_2c_20float___getCount_28_29_20const($0) { + $0 = $0 | 0; + HEAP32[((__stack_pointer - 16 | 0) + 12 | 0) >> 2] = $0; + return 5 | 0; + } + + function emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_void_2c_20int_2c_20float_2c_20int_2c_20float___getTypes_28_29_20const($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_void_2c_20int_2c_20float_2c_20int_2c_20float____get_28_29() | 0; + __stack_pointer = $3 + 16 | 0; + return $4 | 0; + } + + function char_20const__20emscripten__internal__getGenericSignature_void_2c_20int_2c_20int_2c_20float_2c_20int_2c_20float__28_29() { + return GOT_data_internal_char_20const__20emscripten__internal__getGenericSignature_void_2c_20int_2c_20int_2c_20float_2c_20int_2c_20float__28_29__signature | 0; + } + + function emscripten__internal__Invoker_void_2c_20int_2c_20int_2c_20int_2c_20unsigned_20int_2c_20bool___invoke_28void_20_28__29_28int_2c_20int_2c_20int_2c_20unsigned_20int_2c_20bool_29_2c_20int_2c_20int_2c_20int_2c_20unsigned_20int_2c_20bool_29($0, $1, $2, $3, $4, $5) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + $4 = $4 | 0; + $5 = $5 | 0; + var $8 = 0, $10 = 0; + $8 = __stack_pointer - 32 | 0; + __stack_pointer = $8; + HEAP32[($8 + 28 | 0) >> 2] = $0; + HEAP32[($8 + 24 | 0) >> 2] = $1; + HEAP32[($8 + 20 | 0) >> 2] = $2; + HEAP32[($8 + 16 | 0) >> 2] = $3; + HEAP32[($8 + 12 | 0) >> 2] = $4; + HEAP8[($8 + 11 | 0) >> 0] = $5; + $10 = HEAP32[($8 + 28 | 0) >> 2] | 0; + FUNCTION_TABLE[$10 | 0](emscripten__internal__BindingType_int_2c_20void___fromWireType_28int_29(HEAP32[($8 + 24 | 0) >> 2] | 0 | 0) | 0, emscripten__internal__BindingType_int_2c_20void___fromWireType_28int_29(HEAP32[($8 + 20 | 0) >> 2] | 0 | 0) | 0, emscripten__internal__BindingType_int_2c_20void___fromWireType_28int_29(HEAP32[($8 + 16 | 0) >> 2] | 0 | 0) | 0, emscripten__internal__BindingType_unsigned_20int_2c_20void___fromWireType_28unsigned_20int_29(HEAP32[($8 + 12 | 0) >> 2] | 0 | 0) | 0, (emscripten__internal__BindingType_bool_2c_20void___fromWireType_28bool_29((HEAPU8[($8 + 11 | 0) >> 0] | 0) & 1 | 0 | 0) | 0) & 1 | 0); + __stack_pointer = $8 + 32 | 0; + return; + } + + function emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_void_2c_20int_2c_20int_2c_20int_2c_20unsigned_20int_2c_20bool___getCount_28_29_20const($0) { + $0 = $0 | 0; + HEAP32[((__stack_pointer - 16 | 0) + 12 | 0) >> 2] = $0; + return 6 | 0; + } + + function emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_void_2c_20int_2c_20int_2c_20int_2c_20unsigned_20int_2c_20bool___getTypes_28_29_20const($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_void_2c_20int_2c_20int_2c_20int_2c_20unsigned_20int_2c_20bool____get_28_29() | 0; + __stack_pointer = $3 + 16 | 0; + return $4 | 0; + } + + function emscripten__internal__Invoker_int_2c_20int_2c_20int_2c_20float_2c_20float___invoke_28int_20_28__29_28int_2c_20int_2c_20float_2c_20float_29_2c_20int_2c_20int_2c_20float_2c_20float_29($0, $1, $2, $3, $4) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = Math_fround($3); + $4 = Math_fround($4); + var $7 = 0, $8 = 0, $21 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $7 = __stack_pointer - 32 | 0; + __stack_pointer = $7; + HEAP32[($7 + 28 | 0) >> 2] = $0; + HEAP32[($7 + 24 | 0) >> 2] = $1; + HEAP32[($7 + 20 | 0) >> 2] = $2; + HEAPF32[($7 + 16 | 0) >> 2] = $3; + HEAPF32[($7 + 12 | 0) >> 2] = $4; + $8 = HEAP32[($7 + 28 | 0) >> 2] | 0; + (wasm2js_i32$0 = $7, wasm2js_i32$1 = FUNCTION_TABLE[$8 | 0](emscripten__internal__BindingType_int_2c_20void___fromWireType_28int_29(HEAP32[($7 + 24 | 0) >> 2] | 0 | 0) | 0, emscripten__internal__BindingType_int_2c_20void___fromWireType_28int_29(HEAP32[($7 + 20 | 0) >> 2] | 0 | 0) | 0, Math_fround(emscripten__internal__BindingType_float_2c_20void___fromWireType_28float_29(Math_fround(Math_fround(HEAPF32[($7 + 16 | 0) >> 2])))), Math_fround(emscripten__internal__BindingType_float_2c_20void___fromWireType_28float_29(Math_fround(Math_fround(HEAPF32[($7 + 12 | 0) >> 2]))))) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + $21 = emscripten__internal__BindingType_int_2c_20void___toWireType_28int_20const__29($7 + 8 | 0 | 0) | 0; + __stack_pointer = $7 + 32 | 0; + return $21 | 0; + } + + function emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_int_2c_20int_2c_20int_2c_20float_2c_20float___getCount_28_29_20const($0) { + $0 = $0 | 0; + HEAP32[((__stack_pointer - 16 | 0) + 12 | 0) >> 2] = $0; + return 5 | 0; + } + + function emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_int_2c_20int_2c_20int_2c_20float_2c_20float___getTypes_28_29_20const($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_int_2c_20int_2c_20int_2c_20float_2c_20float____get_28_29() | 0; + __stack_pointer = $3 + 16 | 0; + return $4 | 0; + } + + function char_20const__20emscripten__internal__getGenericSignature_int_2c_20int_2c_20int_2c_20int_2c_20float_2c_20float__28_29() { + return GOT_data_internal_char_20const__20emscripten__internal__getGenericSignature_int_2c_20int_2c_20int_2c_20int_2c_20float_2c_20float__28_29__signature | 0; + } + + function emscripten__internal__Invoker_int_2c_20float_2c_20float_2c_20float_2c_20int_2c_20int_2c_20int_2c_20float_2c_20float___invoke_28int_20_28__29_28float_2c_20float_2c_20float_2c_20int_2c_20int_2c_20int_2c_20float_2c_20float_29_2c_20float_2c_20float_2c_20float_2c_20int_2c_20int_2c_20int_2c_20float_2c_20float_29($0, $1, $2, $3, $4, $5, $6, $7, $8) { + $0 = $0 | 0; + $1 = Math_fround($1); + $2 = Math_fround($2); + $3 = Math_fround($3); + $4 = $4 | 0; + $5 = $5 | 0; + $6 = $6 | 0; + $7 = Math_fround($7); + $8 = Math_fround($8); + var $11 = 0, $12 = 0, $33 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $11 = __stack_pointer - 48 | 0; + __stack_pointer = $11; + HEAP32[($11 + 44 | 0) >> 2] = $0; + HEAPF32[($11 + 40 | 0) >> 2] = $1; + HEAPF32[($11 + 36 | 0) >> 2] = $2; + HEAPF32[($11 + 32 | 0) >> 2] = $3; + HEAP32[($11 + 28 | 0) >> 2] = $4; + HEAP32[($11 + 24 | 0) >> 2] = $5; + HEAP32[($11 + 20 | 0) >> 2] = $6; + HEAPF32[($11 + 16 | 0) >> 2] = $7; + HEAPF32[($11 + 12 | 0) >> 2] = $8; + $12 = HEAP32[($11 + 44 | 0) >> 2] | 0; + (wasm2js_i32$0 = $11, wasm2js_i32$1 = FUNCTION_TABLE[$12 | 0](Math_fround(emscripten__internal__BindingType_float_2c_20void___fromWireType_28float_29(Math_fround(Math_fround(HEAPF32[($11 + 40 | 0) >> 2])))), Math_fround(emscripten__internal__BindingType_float_2c_20void___fromWireType_28float_29(Math_fround(Math_fround(HEAPF32[($11 + 36 | 0) >> 2])))), Math_fround(emscripten__internal__BindingType_float_2c_20void___fromWireType_28float_29(Math_fround(Math_fround(HEAPF32[($11 + 32 | 0) >> 2])))), emscripten__internal__BindingType_int_2c_20void___fromWireType_28int_29(HEAP32[($11 + 28 | 0) >> 2] | 0 | 0) | 0, emscripten__internal__BindingType_int_2c_20void___fromWireType_28int_29(HEAP32[($11 + 24 | 0) >> 2] | 0 | 0) | 0, emscripten__internal__BindingType_int_2c_20void___fromWireType_28int_29(HEAP32[($11 + 20 | 0) >> 2] | 0 | 0) | 0, Math_fround(emscripten__internal__BindingType_float_2c_20void___fromWireType_28float_29(Math_fround(Math_fround(HEAPF32[($11 + 16 | 0) >> 2])))), Math_fround(emscripten__internal__BindingType_float_2c_20void___fromWireType_28float_29(Math_fround(Math_fround(HEAPF32[($11 + 12 | 0) >> 2]))))) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + $33 = emscripten__internal__BindingType_int_2c_20void___toWireType_28int_20const__29($11 + 8 | 0 | 0) | 0; + __stack_pointer = $11 + 48 | 0; + return $33 | 0; + } + + function emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_int_2c_20float_2c_20float_2c_20float_2c_20int_2c_20int_2c_20int_2c_20float_2c_20float___getCount_28_29_20const($0) { + $0 = $0 | 0; + HEAP32[((__stack_pointer - 16 | 0) + 12 | 0) >> 2] = $0; + return 9 | 0; + } + + function emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_int_2c_20float_2c_20float_2c_20float_2c_20int_2c_20int_2c_20int_2c_20float_2c_20float___getTypes_28_29_20const($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_int_2c_20float_2c_20float_2c_20float_2c_20int_2c_20int_2c_20int_2c_20float_2c_20float____get_28_29() | 0; + __stack_pointer = $3 + 16 | 0; + return $4 | 0; + } + + function char_20const__20emscripten__internal__getGenericSignature_int_2c_20int_2c_20float_2c_20float_2c_20float_2c_20int_2c_20int_2c_20int_2c_20float_2c_20float__28_29() { + return GOT_data_internal_char_20const__20emscripten__internal__getGenericSignature_int_2c_20int_2c_20float_2c_20float_2c_20float_2c_20int_2c_20int_2c_20int_2c_20float_2c_20float__28_29__signature | 0; + } + + function emscripten__internal__Invoker_int_2c_20float_2c_20float_2c_20float_2c_20int_2c_20int_2c_20int_2c_20float_2c_20float_2c_20float___invoke_28int_20_28__29_28float_2c_20float_2c_20float_2c_20int_2c_20int_2c_20int_2c_20float_2c_20float_2c_20float_29_2c_20float_2c_20float_2c_20float_2c_20int_2c_20int_2c_20int_2c_20float_2c_20float_2c_20float_29($0, $1, $2, $3, $4, $5, $6, $7, $8, $9) { + $0 = $0 | 0; + $1 = Math_fround($1); + $2 = Math_fround($2); + $3 = Math_fround($3); + $4 = $4 | 0; + $5 = $5 | 0; + $6 = $6 | 0; + $7 = Math_fround($7); + $8 = Math_fround($8); + $9 = Math_fround($9); + var $12 = 0, $13 = 0, $36 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $12 = __stack_pointer - 48 | 0; + __stack_pointer = $12; + HEAP32[($12 + 44 | 0) >> 2] = $0; + HEAPF32[($12 + 40 | 0) >> 2] = $1; + HEAPF32[($12 + 36 | 0) >> 2] = $2; + HEAPF32[($12 + 32 | 0) >> 2] = $3; + HEAP32[($12 + 28 | 0) >> 2] = $4; + HEAP32[($12 + 24 | 0) >> 2] = $5; + HEAP32[($12 + 20 | 0) >> 2] = $6; + HEAPF32[($12 + 16 | 0) >> 2] = $7; + HEAPF32[($12 + 12 | 0) >> 2] = $8; + HEAPF32[($12 + 8 | 0) >> 2] = $9; + $13 = HEAP32[($12 + 44 | 0) >> 2] | 0; + (wasm2js_i32$0 = $12, wasm2js_i32$1 = FUNCTION_TABLE[$13 | 0](Math_fround(emscripten__internal__BindingType_float_2c_20void___fromWireType_28float_29(Math_fround(Math_fround(HEAPF32[($12 + 40 | 0) >> 2])))), Math_fround(emscripten__internal__BindingType_float_2c_20void___fromWireType_28float_29(Math_fround(Math_fround(HEAPF32[($12 + 36 | 0) >> 2])))), Math_fround(emscripten__internal__BindingType_float_2c_20void___fromWireType_28float_29(Math_fround(Math_fround(HEAPF32[($12 + 32 | 0) >> 2])))), emscripten__internal__BindingType_int_2c_20void___fromWireType_28int_29(HEAP32[($12 + 28 | 0) >> 2] | 0 | 0) | 0, emscripten__internal__BindingType_int_2c_20void___fromWireType_28int_29(HEAP32[($12 + 24 | 0) >> 2] | 0 | 0) | 0, emscripten__internal__BindingType_int_2c_20void___fromWireType_28int_29(HEAP32[($12 + 20 | 0) >> 2] | 0 | 0) | 0, Math_fround(emscripten__internal__BindingType_float_2c_20void___fromWireType_28float_29(Math_fround(Math_fround(HEAPF32[($12 + 16 | 0) >> 2])))), Math_fround(emscripten__internal__BindingType_float_2c_20void___fromWireType_28float_29(Math_fround(Math_fround(HEAPF32[($12 + 12 | 0) >> 2])))), Math_fround(emscripten__internal__BindingType_float_2c_20void___fromWireType_28float_29(Math_fround(Math_fround(HEAPF32[($12 + 8 | 0) >> 2]))))) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + $36 = emscripten__internal__BindingType_int_2c_20void___toWireType_28int_20const__29($12 + 4 | 0 | 0) | 0; + __stack_pointer = $12 + 48 | 0; + return $36 | 0; + } + + function emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_int_2c_20float_2c_20float_2c_20float_2c_20int_2c_20int_2c_20int_2c_20float_2c_20float_2c_20float___getCount_28_29_20const($0) { + $0 = $0 | 0; + HEAP32[((__stack_pointer - 16 | 0) + 12 | 0) >> 2] = $0; + return 10 | 0; + } + + function emscripten__internal__WithPolicies_emscripten__allow_raw_pointers___ArgTypeList_int_2c_20float_2c_20float_2c_20float_2c_20int_2c_20int_2c_20int_2c_20float_2c_20float_2c_20float___getTypes_28_29_20const($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_int_2c_20float_2c_20float_2c_20float_2c_20int_2c_20int_2c_20int_2c_20float_2c_20float_2c_20float____get_28_29() | 0; + __stack_pointer = $3 + 16 | 0; + return $4 | 0; + } + + function char_20const__20emscripten__internal__getGenericSignature_int_2c_20int_2c_20float_2c_20float_2c_20float_2c_20int_2c_20int_2c_20int_2c_20float_2c_20float_2c_20float__28_29() { + return GOT_data_internal_char_20const__20emscripten__internal__getGenericSignature_int_2c_20int_2c_20float_2c_20float_2c_20float_2c_20int_2c_20int_2c_20int_2c_20float_2c_20float_2c_20float__28_29__signature | 0; + } + + function void_20const__20emscripten__internal__getLightTypeID_btDebugDraw__28btDebugDraw_20const__29($0) { + $0 = $0 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + return HEAP32[((HEAP32[(HEAP32[($3 + 12 | 0) >> 2] | 0) >> 2] | 0) + -4 | 0) >> 2] | 0 | 0; + } + + function emscripten__internal__LightTypeID_btDebugDraw___get_28_29() { + return GOT_data_internal_typeinfo_20for_20btDebugDraw | 0; + } + + function emscripten__internal__LightTypeID_btDebugDraw____get_28_29() { + return GOT_data_internal_typeinfo_20for_20btDebugDraw_ | 0; + } + + function emscripten__internal__LightTypeID_btDebugDraw_20const____get_28_29() { + return GOT_data_internal_typeinfo_20for_20btDebugDraw_20const_ | 0; + } + + function emscripten__internal__MethodInvoker_void_20_28btIDebugDraw____29_28_29_2c_20void_2c_20btIDebugDraw____invoke_28void_20_28btIDebugDraw____20const__29_28_29_2c_20btIDebugDraw__29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, $7 = 0, $8 = 0, $9 = 0, $12 = 0, $18 = 0, $6 = 0; + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + $6 = emscripten__internal__BindingType_btIDebugDraw__2c_20void___fromWireType_28btIDebugDraw__29(HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) | 0; + $7 = HEAP32[($4 + 12 | 0) >> 2] | 0; + $8 = HEAP32[($7 + 4 | 0) >> 2] | 0; + $9 = HEAP32[$7 >> 2] | 0; + $12 = $6 + ($8 >> 1 | 0) | 0; + label$1 : { + label$2 : { + if (!($8 & 1 | 0)) { + break label$2 + } + $18 = HEAP32[((HEAP32[$12 >> 2] | 0) + $9 | 0) >> 2] | 0; + break label$1; + } + $18 = $9; + } + FUNCTION_TABLE[$18 | 0]($12); + __stack_pointer = $4 + 16 | 0; + return; + } + + function emscripten__internal__TypeID_btIDebugDraw_2c_20void___get_28_29() { + return emscripten__internal__LightTypeID_btIDebugDraw___get_28_29() | 0 | 0; + } + + function emscripten__internal__WithPolicies____ArgTypeList_void_2c_20emscripten__internal__AllowedRawPointer_btIDebugDraw____getCount_28_29_20const($0) { + $0 = $0 | 0; + HEAP32[((__stack_pointer - 16 | 0) + 12 | 0) >> 2] = $0; + return 2 | 0; + } + + function emscripten__internal__WithPolicies____ArgTypeList_void_2c_20emscripten__internal__AllowedRawPointer_btIDebugDraw____getTypes_28_29_20const($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_void_2c_20emscripten__internal__AllowedRawPointer_btIDebugDraw_____get_28_29() | 0; + __stack_pointer = $3 + 16 | 0; + return $4 | 0; + } + + function void_20_28btIDebugDraw____emscripten__internal__getContext_void_20_28btIDebugDraw____29_28_29__28void_20_28btIDebugDraw____20const__29_28_29_29_29_28_29($0) { + $0 = $0 | 0; + var $3 = 0, $5 = 0, $6 = 0, $7 = 0, $9 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $5 = operator_20new_28unsigned_20long_29(8 | 0) | 0; + $6 = HEAP32[($3 + 12 | 0) >> 2] | 0; + $7 = HEAP32[$6 >> 2] | 0; + HEAP32[($5 + 4 | 0) >> 2] = HEAP32[($6 + 4 | 0) >> 2] | 0; + HEAP32[$5 >> 2] = $7; + HEAP32[($3 + 8 | 0) >> 2] = $5; + $9 = HEAP32[($3 + 8 | 0) >> 2] | 0; + __stack_pointer = $3 + 16 | 0; + return $9 | 0; + } + + function emscripten__internal__BindingType_btIDebugDraw__2c_20void___fromWireType_28btIDebugDraw__29($0) { + $0 = $0 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + return HEAP32[($3 + 12 | 0) >> 2] | 0 | 0; + } + + function emscripten__internal__LightTypeID_btIDebugDraw___get_28_29() { + return GOT_data_internal_typeinfo_20for_20btIDebugDraw | 0; + } + + function emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_void_2c_20emscripten__internal__AllowedRawPointer_btIDebugDraw_____get_28_29() { + return GOT_data_internal_emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_void_2c_20emscripten__internal__AllowedRawPointer_btIDebugDraw_____get_28_29__types | 0; + } + + function emscripten__internal__MethodInvoker_void_20_28btDebugDraw____29_28int_2c_20int_2c_20int_29_2c_20void_2c_20btDebugDraw__2c_20int_2c_20int_2c_20int___invoke_28void_20_28btDebugDraw____20const__29_28int_2c_20int_2c_20int_29_2c_20btDebugDraw__2c_20int_2c_20int_2c_20int_29($0, $1, $2, $3, $4) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + $4 = $4 | 0; + var $7 = 0, $10 = 0, $11 = 0, $12 = 0, $15 = 0, $21 = 0, $9 = 0; + $7 = __stack_pointer - 32 | 0; + __stack_pointer = $7; + HEAP32[($7 + 28 | 0) >> 2] = $0; + HEAP32[($7 + 24 | 0) >> 2] = $1; + HEAP32[($7 + 20 | 0) >> 2] = $2; + HEAP32[($7 + 16 | 0) >> 2] = $3; + HEAP32[($7 + 12 | 0) >> 2] = $4; + $9 = emscripten__internal__BindingType_btDebugDraw__2c_20void___fromWireType_28btDebugDraw__29(HEAP32[($7 + 24 | 0) >> 2] | 0 | 0) | 0; + $10 = HEAP32[($7 + 28 | 0) >> 2] | 0; + $11 = HEAP32[($10 + 4 | 0) >> 2] | 0; + $12 = HEAP32[$10 >> 2] | 0; + $15 = $9 + ($11 >> 1 | 0) | 0; + label$1 : { + label$2 : { + if (!($11 & 1 | 0)) { + break label$2 + } + $21 = HEAP32[((HEAP32[$15 >> 2] | 0) + $12 | 0) >> 2] | 0; + break label$1; + } + $21 = $12; + } + FUNCTION_TABLE[$21 | 0]($15, emscripten__internal__BindingType_int_2c_20void___fromWireType_28int_29(HEAP32[($7 + 20 | 0) >> 2] | 0 | 0) | 0, emscripten__internal__BindingType_int_2c_20void___fromWireType_28int_29(HEAP32[($7 + 16 | 0) >> 2] | 0 | 0) | 0, emscripten__internal__BindingType_int_2c_20void___fromWireType_28int_29(HEAP32[($7 + 12 | 0) >> 2] | 0 | 0) | 0); + __stack_pointer = $7 + 32 | 0; + return; + } + + function emscripten__internal__WithPolicies____ArgTypeList_void_2c_20emscripten__internal__AllowedRawPointer_btDebugDraw__2c_20int_2c_20int_2c_20int___getCount_28_29_20const($0) { + $0 = $0 | 0; + HEAP32[((__stack_pointer - 16 | 0) + 12 | 0) >> 2] = $0; + return 5 | 0; + } + + function emscripten__internal__WithPolicies____ArgTypeList_void_2c_20emscripten__internal__AllowedRawPointer_btDebugDraw__2c_20int_2c_20int_2c_20int___getTypes_28_29_20const($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_void_2c_20emscripten__internal__AllowedRawPointer_btDebugDraw__2c_20int_2c_20int_2c_20int____get_28_29() | 0; + __stack_pointer = $3 + 16 | 0; + return $4 | 0; + } + + function void_20_28btDebugDraw____emscripten__internal__getContext_void_20_28btDebugDraw____29_28int_2c_20int_2c_20int_29__28void_20_28btDebugDraw____20const__29_28int_2c_20int_2c_20int_29_29_29_28int_2c_20int_2c_20int_29($0) { + $0 = $0 | 0; + var $3 = 0, $5 = 0, $6 = 0, $7 = 0, $9 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $5 = operator_20new_28unsigned_20long_29(8 | 0) | 0; + $6 = HEAP32[($3 + 12 | 0) >> 2] | 0; + $7 = HEAP32[$6 >> 2] | 0; + HEAP32[($5 + 4 | 0) >> 2] = HEAP32[($6 + 4 | 0) >> 2] | 0; + HEAP32[$5 >> 2] = $7; + HEAP32[($3 + 8 | 0) >> 2] = $5; + $9 = HEAP32[($3 + 8 | 0) >> 2] | 0; + __stack_pointer = $3 + 16 | 0; + return $9 | 0; + } + + function emscripten__internal__BindingType_btDebugDraw__2c_20void___fromWireType_28btDebugDraw__29($0) { + $0 = $0 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + return HEAP32[($3 + 12 | 0) >> 2] | 0 | 0; + } + + function emscripten__internal__BindingType_int_2c_20void___fromWireType_28int_29($0) { + $0 = $0 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + return HEAP32[($3 + 12 | 0) >> 2] | 0 | 0; + } + + function emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_void_2c_20emscripten__internal__AllowedRawPointer_btDebugDraw__2c_20int_2c_20int_2c_20int____get_28_29() { + return GOT_data_internal_emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_void_2c_20emscripten__internal__AllowedRawPointer_btDebugDraw__2c_20int_2c_20int_2c_20int____get_28_29__types | 0; + } + + function emscripten__class__btDebugDraw_2c_20emscripten__internal__NoBaseClass__20const__20emscripten__class__btDebugDraw_2c_20emscripten__internal__NoBaseClass___allow_subclass_btDebugDrawWrapper__28char_20const__2c_20emscripten__constructor___29_20const___lambda__28btDebugDrawWrapper__29____invoke_28btDebugDrawWrapper__29($0) { + $0 = $0 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + emscripten__class__btDebugDraw_2c_20emscripten__internal__NoBaseClass__20const__20emscripten__class__btDebugDraw_2c_20emscripten__internal__NoBaseClass___allow_subclass_btDebugDrawWrapper__28char_20const__2c_20emscripten__constructor___29_20const___lambda__28btDebugDrawWrapper__29__operator_28_29_28btDebugDrawWrapper__29_20const($3 + 11 | 0 | 0, HEAP32[($3 + 12 | 0) >> 2] | 0 | 0); + __stack_pointer = $3 + 16 | 0; + return; + } + + function btDebugDraw__operator_20new_28unsigned_20long_29($0) { + $0 = $0 | 0; + var $3 = 0, $6 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $6 = btAlignedAllocInternal_28unsigned_20long_2c_20int_29(HEAP32[($3 + 12 | 0) >> 2] | 0 | 0, 16 | 0) | 0; + __stack_pointer = $3 + 16 | 0; + return $6 | 0; + } + + function btDebugDrawWrapper__btDebugDrawWrapper___28emscripten__val___29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, $5 = 0; + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; + emscripten__wrapper_btDebugDraw___wrapper___28emscripten__val___29($5 | 0, HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) | 0; + HEAP32[$5 >> 2] = GOT_data_internal_vtable_20for_20btDebugDrawWrapper + 8 | 0; + __stack_pointer = $4 + 16 | 0; + return $5 | 0; + } + + function std____2__basic_string_char_2c_20std____2__char_traits_char__2c_20std____2__allocator_char____c_str_5babi_v160004_5d_28_29_20const($0) { + $0 = $0 | 0; + var $3 = 0, $5 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $5 = std____2__basic_string_char_2c_20std____2__char_traits_char__2c_20std____2__allocator_char____data_5babi_v160004_5d_28_29_20const(HEAP32[($3 + 12 | 0) >> 2] | 0 | 0) | 0; + __stack_pointer = $3 + 16 | 0; + return $5 | 0; + } + + function emscripten__val__as_handle_28_29_20const($0) { + $0 = $0 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + return HEAP32[(HEAP32[($3 + 12 | 0) >> 2] | 0) >> 2] | 0 | 0; + } + + function emscripten__val__take_ownership_28emscripten___EM_VAL__29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0; + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + emscripten__val__val_28emscripten___EM_VAL__29($0 | 0, HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) | 0; + __stack_pointer = $4 + 16 | 0; + return; + } + + function void_20const__20emscripten__internal__getLightTypeID_btDebugDrawWrapper__28btDebugDrawWrapper_20const__29($0) { + $0 = $0 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + return HEAP32[((HEAP32[(HEAP32[($3 + 12 | 0) >> 2] | 0) >> 2] | 0) + -4 | 0) >> 2] | 0 | 0; + } + + function btDebugDraw__20emscripten__base_btDebugDraw___convertPointer_btDebugDrawWrapper_2c_20btDebugDraw__28btDebugDrawWrapper__29($0) { + $0 = $0 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + return HEAP32[($3 + 12 | 0) >> 2] | 0 | 0; + } + + function btDebugDrawWrapper__20emscripten__base_btDebugDraw___convertPointer_btDebugDraw_2c_20btDebugDrawWrapper__28btDebugDraw__29($0) { + $0 = $0 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + return HEAP32[($3 + 12 | 0) >> 2] | 0 | 0; + } + + function emscripten__internal__LightTypeID_btDebugDrawWrapper___get_28_29() { + return GOT_data_internal_typeinfo_20for_20btDebugDrawWrapper | 0; + } + + function emscripten__internal__LightTypeID_btDebugDrawWrapper____get_28_29() { + return GOT_data_internal_typeinfo_20for_20btDebugDrawWrapper_ | 0; + } + + function emscripten__internal__LightTypeID_btDebugDrawWrapper_20const____get_28_29() { + return GOT_data_internal_typeinfo_20for_20btDebugDrawWrapper_20const_ | 0; + } + + function emscripten__internal__FunctionInvoker_void_20_28__29_28btDebugDrawWrapper__29_2c_20void_2c_20btDebugDrawWrapper____invoke_28void_20_28___29_28btDebugDrawWrapper__29_2c_20btDebugDrawWrapper__29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, $6 = 0; + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + $6 = HEAP32[(HEAP32[($4 + 12 | 0) >> 2] | 0) >> 2] | 0; + FUNCTION_TABLE[$6 | 0](emscripten__internal__GenericBindingType_btDebugDrawWrapper___fromWireType_28btDebugDrawWrapper__29(HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) | 0); + __stack_pointer = $4 + 16 | 0; + return; + } + + function emscripten__internal__WithPolicies____ArgTypeList_void_2c_20btDebugDrawWrapper____getCount_28_29_20const($0) { + $0 = $0 | 0; + HEAP32[((__stack_pointer - 16 | 0) + 12 | 0) >> 2] = $0; + return 2 | 0; + } + + function emscripten__internal__WithPolicies____ArgTypeList_void_2c_20btDebugDrawWrapper____getTypes_28_29_20const($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_void_2c_20btDebugDrawWrapper_____get_28_29() | 0; + __stack_pointer = $3 + 16 | 0; + return $4 | 0; + } + + function void_20_28__emscripten__internal__getContext_void_20_28__29_28btDebugDrawWrapper__29__28void_20_28__20const__29_28btDebugDrawWrapper__29_29_29_28btDebugDrawWrapper__29($0) { + $0 = $0 | 0; + var $3 = 0, $5 = 0, $8 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $5 = operator_20new_28unsigned_20long_29(4 | 0) | 0; + HEAP32[$5 >> 2] = HEAP32[(HEAP32[($3 + 12 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($3 + 8 | 0) >> 2] = $5; + $8 = HEAP32[($3 + 8 | 0) >> 2] | 0; + __stack_pointer = $3 + 16 | 0; + return $8 | 0; + } + + function emscripten__internal__GenericBindingType_btDebugDrawWrapper___fromWireType_28btDebugDrawWrapper__29($0) { + $0 = $0 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + return HEAP32[($3 + 12 | 0) >> 2] | 0 | 0; + } + + function emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_void_2c_20btDebugDrawWrapper_____get_28_29() { + return GOT_data_internal_emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_void_2c_20btDebugDrawWrapper_____get_28_29__types | 0; + } + + function emscripten__class__btDebugDraw_2c_20emscripten__internal__NoBaseClass__20const__20emscripten__class__btDebugDraw_2c_20emscripten__internal__NoBaseClass___allow_subclass_btDebugDrawWrapper__28char_20const__2c_20emscripten__constructor___29_20const___lambda__28btDebugDrawWrapper__29__operator_28_29_28btDebugDrawWrapper__29_20const($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0; + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + emscripten__internal__WrapperBase__setNotifyJSOnDestruction_28bool_29((HEAP32[($4 + 8 | 0) >> 2] | 0) + 136 | 0 | 0, 1 & 1 | 0 | 0); + __stack_pointer = $4 + 16 | 0; + return; + } + + function emscripten__internal__WrapperBase__setNotifyJSOnDestruction_28bool_29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0; + $4 = __stack_pointer - 16 | 0; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP8[($4 + 11 | 0) >> 0] = $1; + HEAP8[(HEAP32[($4 + 12 | 0) >> 2] | 0) >> 0] = (HEAPU8[($4 + 11 | 0) >> 0] | 0) & 1 | 0; + return; + } + + function emscripten__internal__BindingType_emscripten__val___2c_20void___fromWireType_28emscripten___EM_VAL__29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0; + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + emscripten__internal__BindingType_emscripten__val_2c_20void___fromWireType_28emscripten___EM_VAL__29($0 | 0, HEAP32[($4 + 8 | 0) >> 2] | 0 | 0); + __stack_pointer = $4 + 16 | 0; + return; + } + + function emscripten__internal__BindingType_btDebugDrawWrapper__2c_20void___toWireType_28btDebugDrawWrapper__29($0) { + $0 = $0 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + return HEAP32[($3 + 12 | 0) >> 2] | 0 | 0; + } + + function emscripten__val___val_28_29($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + _emval_decref(HEAP32[$4 >> 2] | 0 | 0); + __stack_pointer = $3 + 16 | 0; + return $4 | 0; + } + + function emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_emscripten__internal__AllowedRawPointer_btDebugDrawWrapper__2c_20emscripten__val______get_28_29() { + return GOT_data_internal_emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_emscripten__internal__AllowedRawPointer_btDebugDrawWrapper__2c_20emscripten__val______get_28_29__types | 0; + } + + function emscripten__internal__BindingType_emscripten__val_2c_20void___fromWireType_28emscripten___EM_VAL__29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0; + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + emscripten__val__take_ownership_28emscripten___EM_VAL__29($0 | 0, HEAP32[($4 + 8 | 0) >> 2] | 0 | 0); + __stack_pointer = $4 + 16 | 0; + return; + } + + function emscripten__val__val_28emscripten___EM_VAL__29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, $5 = 0; + $4 = __stack_pointer - 16 | 0; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; + HEAP32[$5 >> 2] = HEAP32[($4 + 8 | 0) >> 2] | 0; + return $5 | 0; + } + + function emscripten__wrapper_btDebugDraw___wrapper___28emscripten__val___29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, $5 = 0, $6 = 0; + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; + $6 = 136; + __memset($5 | 0, 0 | 0, $6 | 0) | 0; + btDebugDraw__btDebugDraw_28_29($5 | 0) | 0; + emscripten__internal__WrapperBase__WrapperBase_28_29($5 + $6 | 0 | 0) | 0; + HEAP32[$5 >> 2] = GOT_data_internal_vtable_20for_20emscripten__wrapper_btDebugDraw_ + 8 | 0; + emscripten__val__val_28emscripten__val___29($5 + 140 | 0 | 0, HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) | 0; + __stack_pointer = $4 + 16 | 0; + return $5 | 0; + } + + function btDebugDraw__btDebugDraw_28_29($0) { + $0 = $0 | 0; + var $4 = 0, $3 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + btIDebugDraw__btIDebugDraw_28_29($4 | 0) | 0; + HEAP32[$4 >> 2] = GOT_data_internal_vtable_20for_20btDebugDraw + 8 | 0; + HEAP32[($4 + 4 | 0) >> 2] = 0; + btIDebugDraw__DefaultColors__DefaultColors_28_29($4 + 8 | 0 | 0) | 0; + __stack_pointer = $3 + 16 | 0; + return $4 | 0; + } + + function emscripten__internal__WrapperBase__WrapperBase_28_29($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + HEAP8[$4 >> 0] = 0; + return $4 | 0; + } + + function emscripten__val__val_28emscripten__val___29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, $5 = 0; + $4 = __stack_pointer - 16 | 0; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; + HEAP32[$5 >> 2] = HEAP32[(HEAP32[($4 + 8 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[(HEAP32[($4 + 8 | 0) >> 2] | 0) >> 2] = 0; + return $5 | 0; + } + + function btDebugDrawWrapper___btDebugDrawWrapper_28_29($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + emscripten__wrapper_btDebugDraw____wrapper_28_29($4 | 0) | 0; + __stack_pointer = $3 + 16 | 0; + return $4 | 0; + } + + function emscripten__wrapper_btDebugDraw____wrapper_28_29($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0, $16 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 8 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 8 | 0) >> 2] | 0; + HEAP32[($3 + 12 | 0) >> 2] = $4; + HEAP32[$4 >> 2] = GOT_data_internal_vtable_20for_20emscripten__wrapper_btDebugDraw_ + 8 | 0; + label$1 : { + if (!((HEAPU8[($4 + 136 | 0) >> 0] | 0) & 1 | 0)) { + break label$1 + } + void_20emscripten__wrapper_btDebugDraw___call_void__28char_20const__29_20const($4 | 0, GOT_data_internal___memory_base + 68623 | 0 | 0); + } + emscripten__val___val_28_29($4 + 140 | 0 | 0) | 0; + btDebugDraw___btDebugDraw_28_29($4 | 0) | 0; + $16 = HEAP32[($3 + 12 | 0) >> 2] | 0; + __stack_pointer = $3 + 16 | 0; + return $16 | 0; + } + + function btDebugDrawWrapper___btDebugDrawWrapper_28_29_1($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + btDebugDrawWrapper___btDebugDrawWrapper_28_29($4 | 0) | 0; + btDebugDraw__operator_20delete_28void__29($4 | 0); + __stack_pointer = $3 + 16 | 0; + return; + } + + function btDebugDraw__operator_20delete_28void__29($0) { + $0 = $0 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + btAlignedFreeInternal_28void__29(HEAP32[($3 + 12 | 0) >> 2] | 0 | 0); + __stack_pointer = $3 + 16 | 0; + return; + } + + function btDebugDraw__getDefaultColors_28_29_20const($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0; + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[($4 + 12 | 0) >> 2] = $1; + __memcpy($0 | 0, (HEAP32[($4 + 12 | 0) >> 2] | 0) + 8 | 0 | 0, 128 | 0) | 0; + __stack_pointer = $4 + 16 | 0; + return; + } + + function btDebugDraw__setDefaultColors_28btIDebugDraw__DefaultColors_20const__29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0; + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + __memcpy((HEAP32[($4 + 12 | 0) >> 2] | 0) + 8 | 0 | 0, HEAP32[($4 + 8 | 0) >> 2] | 0 | 0, 128 | 0) | 0; + __stack_pointer = $4 + 16 | 0; + return; + } + + function btDebugDraw__drawLine_28btVector3_20const__2c_20btVector3_20const__2c_20btVector3_20const__29($0, $1, $2, $3) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + var $6 = 0, $7 = 0; + $6 = __stack_pointer - 16 | 0; + __stack_pointer = $6; + HEAP32[($6 + 12 | 0) >> 2] = $0; + HEAP32[($6 + 8 | 0) >> 2] = $1; + HEAP32[($6 + 4 | 0) >> 2] = $2; + HEAP32[$6 >> 2] = $3; + $7 = HEAP32[($6 + 12 | 0) >> 2] | 0; + FUNCTION_TABLE[HEAP32[((HEAP32[$7 >> 2] | 0) + 108 | 0) >> 2] | 0 | 0]($7, HEAP32[($6 + 8 | 0) >> 2] | 0, HEAP32[($6 + 4 | 0) >> 2] | 0, HEAP32[$6 >> 2] | 0); + __stack_pointer = $6 + 16 | 0; + return; + } + + function btIDebugDraw__drawLine_28btVector3_20const__2c_20btVector3_20const__2c_20btVector3_20const__2c_20btVector3_20const__29($0, $1, $2, $3, $4) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + $4 = $4 | 0; + var $7 = 0, $8 = 0; + $7 = __stack_pointer - 32 | 0; + __stack_pointer = $7; + HEAP32[($7 + 28 | 0) >> 2] = $0; + HEAP32[($7 + 24 | 0) >> 2] = $1; + HEAP32[($7 + 20 | 0) >> 2] = $2; + HEAP32[($7 + 16 | 0) >> 2] = $3; + HEAP32[($7 + 12 | 0) >> 2] = $4; + $8 = HEAP32[($7 + 28 | 0) >> 2] | 0; + FUNCTION_TABLE[HEAP32[((HEAP32[$8 >> 2] | 0) + 16 | 0) >> 2] | 0 | 0]($8, HEAP32[($7 + 24 | 0) >> 2] | 0, HEAP32[($7 + 20 | 0) >> 2] | 0, HEAP32[($7 + 16 | 0) >> 2] | 0); + __stack_pointer = $7 + 32 | 0; + return; + } + + function btIDebugDraw__drawSphere_28float_2c_20btTransform_20const__2c_20btVector3_20const__29($0, $1, $2, $3) { + $0 = $0 | 0; + $1 = Math_fround($1); + $2 = $2 | 0; + $3 = $3 | 0; + var $6 = 0, i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, $7 = 0, i64toi32_i32$1 = 0, $9 = 0, $10 = 0, $115 = 0, $119 = 0; + $6 = __stack_pointer - 112 | 0; + __stack_pointer = $6; + HEAP32[($6 + 108 | 0) >> 2] = $0; + HEAPF32[($6 + 104 | 0) >> 2] = $1; + HEAP32[($6 + 100 | 0) >> 2] = $2; + HEAP32[($6 + 96 | 0) >> 2] = $3; + $7 = HEAP32[($6 + 108 | 0) >> 2] | 0; + $9 = btTransform__getOrigin_28_29_20const(HEAP32[($6 + 100 | 0) >> 2] | 0 | 0) | 0; + $10 = 8; + i64toi32_i32$2 = $9 + $10 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $115 = i64toi32_i32$0; + i64toi32_i32$0 = ($6 + 80 | 0) + $10 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $115; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$2 = $9; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $119 = i64toi32_i32$1; + i64toi32_i32$1 = $6; + HEAP32[($6 + 80 | 0) >> 2] = $119; + HEAP32[($6 + 84 | 0) >> 2] = i64toi32_i32$0; + btMatrix3x3__getColumn_28int_29_20const($6 + 64 | 0 | 0, btTransform__getBasis_28_29_20const(HEAP32[($6 + 100 | 0) >> 2] | 0 | 0) | 0 | 0, 1 | 0); + btMatrix3x3__getColumn_28int_29_20const($6 + 48 | 0 | 0, btTransform__getBasis_28_29_20const(HEAP32[($6 + 100 | 0) >> 2] | 0 | 0) | 0 | 0, 0 | 0); + HEAPF32[($6 + 44 | 0) >> 2] = Math_fround(-1.5707963705062866); + HEAPF32[($6 + 40 | 0) >> 2] = Math_fround(1.5707963705062866); + HEAPF32[($6 + 36 | 0) >> 2] = Math_fround(-1.5707963705062866); + HEAPF32[($6 + 32 | 0) >> 2] = Math_fround(1.5707963705062866); + HEAPF32[($6 + 28 | 0) >> 2] = Math_fround(30.0); + FUNCTION_TABLE[HEAP32[((HEAP32[$7 >> 2] | 0) + 72 | 0) >> 2] | 0 | 0]($7, $6 + 80 | 0, $6 + 64 | 0, $6 + 48 | 0, Math_fround(HEAPF32[($6 + 104 | 0) >> 2]), Math_fround(HEAPF32[($6 + 44 | 0) >> 2]), Math_fround(HEAPF32[($6 + 40 | 0) >> 2]), Math_fround(HEAPF32[($6 + 36 | 0) >> 2]), Math_fround(HEAPF32[($6 + 32 | 0) >> 2]), HEAP32[($6 + 96 | 0) >> 2] | 0, Math_fround(HEAPF32[($6 + 28 | 0) >> 2]), 0 & 1 | 0); + operator__28btVector3_20const__29($6 + 12 | 0 | 0, $6 + 48 | 0 | 0); + FUNCTION_TABLE[HEAP32[((HEAP32[$7 >> 2] | 0) + 72 | 0) >> 2] | 0 | 0]($7, $6 + 80 | 0, $6 + 64 | 0, $6 + 12 | 0, Math_fround(HEAPF32[($6 + 104 | 0) >> 2]), Math_fround(HEAPF32[($6 + 44 | 0) >> 2]), Math_fround(HEAPF32[($6 + 40 | 0) >> 2]), Math_fround(HEAPF32[($6 + 36 | 0) >> 2]), Math_fround(HEAPF32[($6 + 32 | 0) >> 2]), HEAP32[($6 + 96 | 0) >> 2] | 0, Math_fround(HEAPF32[($6 + 28 | 0) >> 2]), 0 & 1 | 0); + __stack_pointer = $6 + 112 | 0; + return; + } + + function btTransform__getOrigin_28_29_20const($0) { + $0 = $0 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + return (HEAP32[($3 + 12 | 0) >> 2] | 0) + 48 | 0 | 0; + } + + function btMatrix3x3__getColumn_28int_29_20const($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $5 = 0, $6 = 0; + $5 = __stack_pointer - 16 | 0; + __stack_pointer = $5; + HEAP32[($5 + 12 | 0) >> 2] = $1; + HEAP32[($5 + 8 | 0) >> 2] = $2; + $6 = HEAP32[($5 + 12 | 0) >> 2] | 0; + btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($0 | 0, (btVector3__operator_20float_20const__28_29_20const($6 | 0) | 0) + ((HEAP32[($5 + 8 | 0) >> 2] | 0) << 2 | 0) | 0 | 0, (btVector3__operator_20float_20const__28_29_20const($6 + 16 | 0 | 0) | 0) + ((HEAP32[($5 + 8 | 0) >> 2] | 0) << 2 | 0) | 0 | 0, (btVector3__operator_20float_20const__28_29_20const($6 + 32 | 0 | 0) | 0) + ((HEAP32[($5 + 8 | 0) >> 2] | 0) << 2 | 0) | 0 | 0) | 0; + __stack_pointer = $5 + 16 | 0; + return; + } + + function btIDebugDraw__drawSphere_28btVector3_20const__2c_20float_2c_20btVector3_20const__29($0, $1, $2, $3) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = Math_fround($2); + $3 = $3 | 0; + var $6 = 0, $7 = 0; + $6 = __stack_pointer - 80 | 0; + __stack_pointer = $6; + HEAP32[($6 + 76 | 0) >> 2] = $0; + HEAP32[($6 + 72 | 0) >> 2] = $1; + HEAPF32[($6 + 68 | 0) >> 2] = $2; + HEAP32[($6 + 64 | 0) >> 2] = $3; + $7 = HEAP32[($6 + 76 | 0) >> 2] | 0; + btTransform__btTransform_28_29($6 | 0) | 0; + btTransform__setIdentity_28_29($6 | 0); + btTransform__setOrigin_28btVector3_20const__29($6 | 0, HEAP32[($6 + 72 | 0) >> 2] | 0 | 0); + FUNCTION_TABLE[HEAP32[((HEAP32[$7 >> 2] | 0) + 24 | 0) >> 2] | 0 | 0]($7, Math_fround(HEAPF32[($6 + 68 | 0) >> 2]), $6, HEAP32[($6 + 64 | 0) >> 2] | 0); + __stack_pointer = $6 + 80 | 0; + return; + } + + function btIDebugDraw__drawTriangle_28btVector3_20const__2c_20btVector3_20const__2c_20btVector3_20const__2c_20btVector3_20const__2c_20btVector3_20const__2c_20btVector3_20const__2c_20btVector3_20const__2c_20float_29($0, $1, $2, $3, $4, $5, $6, $7, $8) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + $4 = $4 | 0; + $5 = $5 | 0; + $6 = $6 | 0; + $7 = $7 | 0; + $8 = Math_fround($8); + var $11 = 0, $12 = 0; + $11 = __stack_pointer - 48 | 0; + __stack_pointer = $11; + HEAP32[($11 + 44 | 0) >> 2] = $0; + HEAP32[($11 + 40 | 0) >> 2] = $1; + HEAP32[($11 + 36 | 0) >> 2] = $2; + HEAP32[($11 + 32 | 0) >> 2] = $3; + HEAP32[($11 + 28 | 0) >> 2] = $4; + HEAP32[($11 + 24 | 0) >> 2] = $5; + HEAP32[($11 + 20 | 0) >> 2] = $6; + HEAP32[($11 + 16 | 0) >> 2] = $7; + HEAPF32[($11 + 12 | 0) >> 2] = $8; + $12 = HEAP32[($11 + 44 | 0) >> 2] | 0; + FUNCTION_TABLE[HEAP32[((HEAP32[$12 >> 2] | 0) + 36 | 0) >> 2] | 0 | 0]($12, HEAP32[($11 + 40 | 0) >> 2] | 0, HEAP32[($11 + 36 | 0) >> 2] | 0, HEAP32[($11 + 32 | 0) >> 2] | 0, HEAP32[($11 + 16 | 0) >> 2] | 0, Math_fround(HEAPF32[($11 + 12 | 0) >> 2])); + __stack_pointer = $11 + 48 | 0; + return; + } + + function btIDebugDraw__drawTriangle_28btVector3_20const__2c_20btVector3_20const__2c_20btVector3_20const__2c_20btVector3_20const__2c_20float_29($0, $1, $2, $3, $4, $5) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + $4 = $4 | 0; + $5 = Math_fround($5); + var $8 = 0, $9 = 0; + $8 = __stack_pointer - 32 | 0; + __stack_pointer = $8; + HEAP32[($8 + 28 | 0) >> 2] = $0; + HEAP32[($8 + 24 | 0) >> 2] = $1; + HEAP32[($8 + 20 | 0) >> 2] = $2; + HEAP32[($8 + 16 | 0) >> 2] = $3; + HEAP32[($8 + 12 | 0) >> 2] = $4; + HEAPF32[($8 + 8 | 0) >> 2] = $5; + $9 = HEAP32[($8 + 28 | 0) >> 2] | 0; + FUNCTION_TABLE[HEAP32[((HEAP32[$9 >> 2] | 0) + 16 | 0) >> 2] | 0 | 0]($9, HEAP32[($8 + 24 | 0) >> 2] | 0, HEAP32[($8 + 20 | 0) >> 2] | 0, HEAP32[($8 + 12 | 0) >> 2] | 0); + FUNCTION_TABLE[HEAP32[((HEAP32[$9 >> 2] | 0) + 16 | 0) >> 2] | 0 | 0]($9, HEAP32[($8 + 20 | 0) >> 2] | 0, HEAP32[($8 + 16 | 0) >> 2] | 0, HEAP32[($8 + 12 | 0) >> 2] | 0); + FUNCTION_TABLE[HEAP32[((HEAP32[$9 >> 2] | 0) + 16 | 0) >> 2] | 0 | 0]($9, HEAP32[($8 + 16 | 0) >> 2] | 0, HEAP32[($8 + 24 | 0) >> 2] | 0, HEAP32[($8 + 12 | 0) >> 2] | 0); + __stack_pointer = $8 + 32 | 0; + return; + } + + function btDebugDraw__drawContactPoint_28btVector3_20const__2c_20btVector3_20const__2c_20float_2c_20int_2c_20btVector3_20const__29($0, $1, $2, $3, $4, $5) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = Math_fround($3); + $4 = $4 | 0; + $5 = $5 | 0; + var $8 = 0, $9 = 0, $10 = 0, $11 = 0, $31 = 0, $32 = 0, $33 = 0; + $8 = __stack_pointer - 96 | 0; + __stack_pointer = $8; + HEAP32[($8 + 92 | 0) >> 2] = $0; + HEAP32[($8 + 88 | 0) >> 2] = $1; + HEAP32[($8 + 84 | 0) >> 2] = $2; + HEAPF32[($8 + 80 | 0) >> 2] = $3; + HEAP32[($8 + 76 | 0) >> 2] = $4; + HEAP32[($8 + 72 | 0) >> 2] = $5; + $9 = HEAP32[($8 + 92 | 0) >> 2] | 0; + $10 = HEAP32[($8 + 88 | 0) >> 2] | 0; + $11 = HEAP32[($8 + 88 | 0) >> 2] | 0; + operator__28btVector3_20const__2c_20float_20const__29($8 + 40 | 0 | 0, HEAP32[($8 + 84 | 0) >> 2] | 0 | 0, $8 + 80 | 0 | 0); + operator__28btVector3_20const__2c_20btVector3_20const__29_2($8 + 56 | 0 | 0, $11 | 0, $8 + 40 | 0 | 0); + FUNCTION_TABLE[HEAP32[((HEAP32[$9 >> 2] | 0) + 16 | 0) >> 2] | 0 | 0]($9, $10, $8 + 56 | 0, HEAP32[($8 + 72 | 0) >> 2] | 0); + $31 = HEAP32[($8 + 88 | 0) >> 2] | 0; + $32 = HEAP32[($8 + 88 | 0) >> 2] | 0; + $33 = HEAP32[($8 + 84 | 0) >> 2] | 0; + HEAPF32[($8 + 4 | 0) >> 2] = Math_fround(.009999999776482582); + operator__28btVector3_20const__2c_20float_20const__29($8 + 8 | 0 | 0, $33 | 0, $8 + 4 | 0 | 0); + operator__28btVector3_20const__2c_20btVector3_20const__29_2($8 + 24 | 0 | 0, $32 | 0, $8 + 8 | 0 | 0); + FUNCTION_TABLE[HEAP32[((HEAP32[$9 >> 2] | 0) + 16 | 0) >> 2] | 0 | 0]($9, $31, $8 + 24 | 0, HEAP32[($8 + 72 | 0) >> 2] | 0); + __stack_pointer = $8 + 96 | 0; + return; + } + + function btDebugDraw__reportErrorWarning_28char_20const__29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0; + $4 = __stack_pointer - 16 | 0; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + return; + } + + function btDebugDraw__draw3dText_28btVector3_20const__2c_20char_20const__29($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $5 = 0; + $5 = __stack_pointer - 16 | 0; + HEAP32[($5 + 12 | 0) >> 2] = $0; + HEAP32[($5 + 8 | 0) >> 2] = $1; + HEAP32[($5 + 4 | 0) >> 2] = $2; + return; + } + + function btDebugDraw__setDebugMode_28int_29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0; + $4 = __stack_pointer - 16 | 0; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + HEAP32[((HEAP32[($4 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] = HEAP32[($4 + 8 | 0) >> 2] | 0; + return; + } + + function btDebugDraw__getDebugMode_28_29_20const($0) { + $0 = $0 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + return HEAP32[((HEAP32[($3 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0; + } + + function btIDebugDraw__drawAabb_28btVector3_20const__2c_20btVector3_20const__2c_20btVector3_20const__29($0, $1, $2, $3) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + var $6 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, $7 = 0, $120 = 0, $145 = 0, $194 = 0, $236 = 0, $259 = 0, $505 = 0, $509 = 0, $648 = 0, $652 = 0, $732 = 0, $736 = 0, wasm2js_i32$0 = 0, wasm2js_f32$0 = Math_fround(0); + $6 = __stack_pointer - 256 | 0; + __stack_pointer = $6; + HEAP32[($6 + 252 | 0) >> 2] = $0; + HEAP32[($6 + 248 | 0) >> 2] = $1; + HEAP32[($6 + 244 | 0) >> 2] = $2; + HEAP32[($6 + 240 | 0) >> 2] = $3; + $7 = HEAP32[($6 + 252 | 0) >> 2] | 0; + operator__28btVector3_20const__2c_20btVector3_20const__29($6 + 208 | 0 | 0, HEAP32[($6 + 244 | 0) >> 2] | 0 | 0, HEAP32[($6 + 248 | 0) >> 2] | 0 | 0); + HEAPF32[($6 + 204 | 0) >> 2] = Math_fround(.5); + operator__28btVector3_20const__2c_20float_20const__29($6 + 224 | 0 | 0, $6 + 208 | 0 | 0, $6 + 204 | 0 | 0); + operator__28btVector3_20const__2c_20btVector3_20const__29_2($6 + 172 | 0 | 0, HEAP32[($6 + 244 | 0) >> 2] | 0 | 0, HEAP32[($6 + 248 | 0) >> 2] | 0 | 0); + HEAPF32[($6 + 168 | 0) >> 2] = Math_fround(.5); + operator__28btVector3_20const__2c_20float_20const__29($6 + 188 | 0 | 0, $6 + 172 | 0 | 0, $6 + 168 | 0 | 0); + HEAPF32[($6 + 140 | 0) >> 2] = Math_fround(1.0); + HEAPF32[($6 + 136 | 0) >> 2] = Math_fround(1.0); + HEAPF32[($6 + 132 | 0) >> 2] = Math_fround(1.0); + btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($6 + 144 | 0 | 0, $6 + 140 | 0 | 0, $6 + 136 | 0 | 0, $6 + 132 | 0 | 0) | 0; + btVector3__btVector3_28_29($6 + 112 | 0 | 0) | 0; + btVector3__btVector3_28_29($6 + 96 | 0 | 0) | 0; + HEAP32[($6 + 164 | 0) >> 2] = 0; + label$1 : { + label$2 : while (1) { + if (!((HEAP32[($6 + 164 | 0) >> 2] | 0 | 0) < (4 | 0) & 1 | 0)) { + break label$1 + } + HEAP32[($6 + 160 | 0) >> 2] = 0; + label$3 : { + label$4 : while (1) { + if (!((HEAP32[($6 + 160 | 0) >> 2] | 0 | 0) < (3 | 0) & 1 | 0)) { + break label$3 + } + (wasm2js_i32$0 = $6, wasm2js_f32$0 = Math_fround(Math_fround(HEAPF32[(btVector3__operator_20float__28_29($6 + 144 | 0 | 0) | 0) >> 2]) * Math_fround(HEAPF32[(btVector3__operator_20float__28_29($6 + 224 | 0 | 0) | 0) >> 2]))), HEAPF32[(wasm2js_i32$0 + 76 | 0) >> 2] = wasm2js_f32$0; + (wasm2js_i32$0 = $6, wasm2js_f32$0 = Math_fround(Math_fround(HEAPF32[((btVector3__operator_20float__28_29($6 + 144 | 0 | 0) | 0) + 4 | 0) >> 2]) * Math_fround(HEAPF32[((btVector3__operator_20float__28_29($6 + 224 | 0 | 0) | 0) + 4 | 0) >> 2]))), HEAPF32[(wasm2js_i32$0 + 72 | 0) >> 2] = wasm2js_f32$0; + (wasm2js_i32$0 = $6, wasm2js_f32$0 = Math_fround(Math_fround(HEAPF32[((btVector3__operator_20float__28_29($6 + 144 | 0 | 0) | 0) + 8 | 0) >> 2]) * Math_fround(HEAPF32[((btVector3__operator_20float__28_29($6 + 224 | 0 | 0) | 0) + 8 | 0) >> 2]))), HEAPF32[(wasm2js_i32$0 + 68 | 0) >> 2] = wasm2js_f32$0; + btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($6 + 80 | 0 | 0, $6 + 76 | 0 | 0, $6 + 72 | 0 | 0, $6 + 68 | 0 | 0) | 0; + $120 = 8; + i64toi32_i32$2 = ($6 + 80 | 0) + $120 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $505 = i64toi32_i32$0; + i64toi32_i32$0 = ($6 + 112 | 0) + $120 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $505; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$2 = $6; + i64toi32_i32$1 = HEAP32[($6 + 80 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($6 + 84 | 0) >> 2] | 0; + $509 = i64toi32_i32$1; + i64toi32_i32$1 = $6; + HEAP32[($6 + 112 | 0) >> 2] = $509; + HEAP32[($6 + 116 | 0) >> 2] = i64toi32_i32$0; + btVector3__operator___28btVector3_20const__29_1($6 + 112 | 0 | 0, $6 + 188 | 0 | 0) | 0; + HEAP32[($6 + 64 | 0) >> 2] = (HEAP32[($6 + 160 | 0) >> 2] | 0 | 0) % (3 | 0) | 0; + $145 = (btVector3__operator_20float__28_29($6 + 144 | 0 | 0) | 0) + ((HEAP32[($6 + 64 | 0) >> 2] | 0) << 2 | 0) | 0; + HEAPF32[$145 >> 2] = Math_fround(Math_fround(HEAPF32[$145 >> 2]) * Math_fround(-1.0)); + (wasm2js_i32$0 = $6, wasm2js_f32$0 = Math_fround(Math_fround(HEAPF32[(btVector3__operator_20float__28_29($6 + 144 | 0 | 0) | 0) >> 2]) * Math_fround(HEAPF32[(btVector3__operator_20float__28_29($6 + 224 | 0 | 0) | 0) >> 2]))), HEAPF32[(wasm2js_i32$0 + 44 | 0) >> 2] = wasm2js_f32$0; + (wasm2js_i32$0 = $6, wasm2js_f32$0 = Math_fround(Math_fround(HEAPF32[((btVector3__operator_20float__28_29($6 + 144 | 0 | 0) | 0) + 4 | 0) >> 2]) * Math_fround(HEAPF32[((btVector3__operator_20float__28_29($6 + 224 | 0 | 0) | 0) + 4 | 0) >> 2]))), HEAPF32[(wasm2js_i32$0 + 40 | 0) >> 2] = wasm2js_f32$0; + (wasm2js_i32$0 = $6, wasm2js_f32$0 = Math_fround(Math_fround(HEAPF32[((btVector3__operator_20float__28_29($6 + 144 | 0 | 0) | 0) + 8 | 0) >> 2]) * Math_fround(HEAPF32[((btVector3__operator_20float__28_29($6 + 224 | 0 | 0) | 0) + 8 | 0) >> 2]))), HEAPF32[(wasm2js_i32$0 + 36 | 0) >> 2] = wasm2js_f32$0; + btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($6 + 48 | 0 | 0, $6 + 44 | 0 | 0, $6 + 40 | 0 | 0, $6 + 36 | 0 | 0) | 0; + $194 = 8; + i64toi32_i32$2 = ($6 + 48 | 0) + $194 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $648 = i64toi32_i32$0; + i64toi32_i32$0 = ($6 + 96 | 0) + $194 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $648; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$2 = $6; + i64toi32_i32$1 = HEAP32[($6 + 48 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($6 + 52 | 0) >> 2] | 0; + $652 = i64toi32_i32$1; + i64toi32_i32$1 = $6; + HEAP32[($6 + 96 | 0) >> 2] = $652; + HEAP32[($6 + 100 | 0) >> 2] = i64toi32_i32$0; + btVector3__operator___28btVector3_20const__29_1($6 + 96 | 0 | 0, $6 + 188 | 0 | 0) | 0; + FUNCTION_TABLE[HEAP32[((HEAP32[$7 >> 2] | 0) + 16 | 0) >> 2] | 0 | 0]($7, $6 + 112 | 0, $6 + 96 | 0, HEAP32[($6 + 240 | 0) >> 2] | 0); + HEAP32[($6 + 160 | 0) >> 2] = (HEAP32[($6 + 160 | 0) >> 2] | 0) + 1 | 0; + continue label$4; + }; + } + HEAPF32[($6 + 16 | 0) >> 2] = Math_fround(-1.0); + HEAPF32[($6 + 12 | 0) >> 2] = Math_fround(-1.0); + HEAPF32[($6 + 8 | 0) >> 2] = Math_fround(-1.0); + btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($6 + 20 | 0 | 0, $6 + 16 | 0 | 0, $6 + 12 | 0 | 0, $6 + 8 | 0 | 0) | 0; + $236 = 8; + i64toi32_i32$2 = ($6 + 20 | 0) + $236 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $732 = i64toi32_i32$0; + i64toi32_i32$0 = ($6 + 144 | 0) + $236 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $732; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$2 = $6; + i64toi32_i32$1 = HEAP32[($6 + 20 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($6 + 24 | 0) >> 2] | 0; + $736 = i64toi32_i32$1; + i64toi32_i32$1 = $6; + HEAP32[($6 + 144 | 0) >> 2] = $736; + HEAP32[($6 + 148 | 0) >> 2] = i64toi32_i32$0; + label$5 : { + if (!((HEAP32[($6 + 164 | 0) >> 2] | 0 | 0) < (3 | 0) & 1 | 0)) { + break label$5 + } + $259 = (btVector3__operator_20float__28_29($6 + 144 | 0 | 0) | 0) + ((HEAP32[($6 + 164 | 0) >> 2] | 0) << 2 | 0) | 0; + HEAPF32[$259 >> 2] = Math_fround(Math_fround(HEAPF32[$259 >> 2]) * Math_fround(-1.0)); + } + HEAP32[($6 + 164 | 0) >> 2] = (HEAP32[($6 + 164 | 0) >> 2] | 0) + 1 | 0; + continue label$2; + }; + } + __stack_pointer = $6 + 256 | 0; + return; + } + + function btIDebugDraw__drawTransform_28btTransform_20const__2c_20float_29($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = Math_fround($2); + var $5 = 0, $6 = 0, i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, i64toi32_i32$1 = 0, $8 = 0, $9 = 0, $224 = 0, $228 = 0, $17 = 0, $76 = 0, $135 = 0; + $5 = __stack_pointer - 288 | 0; + __stack_pointer = $5; + HEAP32[($5 + 284 | 0) >> 2] = $0; + HEAP32[($5 + 280 | 0) >> 2] = $1; + HEAPF32[($5 + 276 | 0) >> 2] = $2; + $6 = HEAP32[($5 + 284 | 0) >> 2] | 0; + $8 = btTransform__getOrigin_28_29_20const(HEAP32[($5 + 280 | 0) >> 2] | 0 | 0) | 0; + $9 = 8; + i64toi32_i32$2 = $8 + $9 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $224 = i64toi32_i32$0; + i64toi32_i32$0 = ($5 + 256 | 0) + $9 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $224; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$2 = $8; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $228 = i64toi32_i32$1; + i64toi32_i32$1 = $5; + HEAP32[($5 + 256 | 0) >> 2] = $228; + HEAP32[($5 + 260 | 0) >> 2] = i64toi32_i32$0; + $17 = btTransform__getBasis_28_29_20const(HEAP32[($5 + 280 | 0) >> 2] | 0 | 0) | 0; + HEAPF32[($5 + 204 | 0) >> 2] = Math_fround(0 | 0); + HEAPF32[($5 + 200 | 0) >> 2] = Math_fround(0 | 0); + btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($5 + 208 | 0 | 0, $5 + 276 | 0 | 0, $5 + 204 | 0 | 0, $5 + 200 | 0 | 0) | 0; + operator__28btMatrix3x3_20const__2c_20btVector3_20const__29($5 + 224 | 0 | 0, $17 | 0, $5 + 208 | 0 | 0); + operator__28btVector3_20const__2c_20btVector3_20const__29_2($5 + 240 | 0 | 0, $5 + 256 | 0 | 0, $5 + 224 | 0 | 0); + HEAPF32[($5 + 180 | 0) >> 2] = Math_fround(1.0); + HEAPF32[($5 + 176 | 0) >> 2] = Math_fround(.30000001192092896); + HEAPF32[($5 + 172 | 0) >> 2] = Math_fround(.30000001192092896); + btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($5 + 184 | 0 | 0, $5 + 180 | 0 | 0, $5 + 176 | 0 | 0, $5 + 172 | 0 | 0) | 0; + FUNCTION_TABLE[HEAP32[((HEAP32[$6 >> 2] | 0) + 16 | 0) >> 2] | 0 | 0]($6, $5 + 256 | 0, $5 + 240 | 0, $5 + 184 | 0); + $76 = btTransform__getBasis_28_29_20const(HEAP32[($5 + 280 | 0) >> 2] | 0 | 0) | 0; + HEAPF32[($5 + 120 | 0) >> 2] = Math_fround(0 | 0); + HEAPF32[($5 + 116 | 0) >> 2] = Math_fround(0 | 0); + btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($5 + 124 | 0 | 0, $5 + 120 | 0 | 0, $5 + 276 | 0 | 0, $5 + 116 | 0 | 0) | 0; + operator__28btMatrix3x3_20const__2c_20btVector3_20const__29($5 + 140 | 0 | 0, $76 | 0, $5 + 124 | 0 | 0); + operator__28btVector3_20const__2c_20btVector3_20const__29_2($5 + 156 | 0 | 0, $5 + 256 | 0 | 0, $5 + 140 | 0 | 0); + HEAPF32[($5 + 96 | 0) >> 2] = Math_fround(.30000001192092896); + HEAPF32[($5 + 92 | 0) >> 2] = Math_fround(1.0); + HEAPF32[($5 + 88 | 0) >> 2] = Math_fround(.30000001192092896); + btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($5 + 100 | 0 | 0, $5 + 96 | 0 | 0, $5 + 92 | 0 | 0, $5 + 88 | 0 | 0) | 0; + FUNCTION_TABLE[HEAP32[((HEAP32[$6 >> 2] | 0) + 16 | 0) >> 2] | 0 | 0]($6, $5 + 256 | 0, $5 + 156 | 0, $5 + 100 | 0); + $135 = btTransform__getBasis_28_29_20const(HEAP32[($5 + 280 | 0) >> 2] | 0 | 0) | 0; + HEAPF32[($5 + 36 | 0) >> 2] = Math_fround(0 | 0); + HEAPF32[($5 + 32 | 0) >> 2] = Math_fround(0 | 0); + btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($5 + 40 | 0 | 0, $5 + 36 | 0 | 0, $5 + 32 | 0 | 0, $5 + 276 | 0 | 0) | 0; + operator__28btMatrix3x3_20const__2c_20btVector3_20const__29($5 + 56 | 0 | 0, $135 | 0, $5 + 40 | 0 | 0); + operator__28btVector3_20const__2c_20btVector3_20const__29_2($5 + 72 | 0 | 0, $5 + 256 | 0 | 0, $5 + 56 | 0 | 0); + HEAPF32[($5 + 12 | 0) >> 2] = Math_fround(.30000001192092896); + HEAPF32[($5 + 8 | 0) >> 2] = Math_fround(.30000001192092896); + HEAPF32[($5 + 4 | 0) >> 2] = Math_fround(1.0); + btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($5 + 16 | 0 | 0, $5 + 12 | 0 | 0, $5 + 8 | 0 | 0, $5 + 4 | 0 | 0) | 0; + FUNCTION_TABLE[HEAP32[((HEAP32[$6 >> 2] | 0) + 16 | 0) >> 2] | 0 | 0]($6, $5 + 256 | 0, $5 + 72 | 0, $5 + 16 | 0); + __stack_pointer = $5 + 288 | 0; + return; + } + + function btIDebugDraw__drawArc_28btVector3_20const__2c_20btVector3_20const__2c_20btVector3_20const__2c_20float_2c_20float_2c_20float_2c_20float_2c_20btVector3_20const__2c_20bool_2c_20float_29($0, $1, $2, $3, $4, $5, $6, $7, $8, $9, $10) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + $4 = Math_fround($4); + $5 = Math_fround($5); + $6 = Math_fround($6); + $7 = Math_fround($7); + $8 = $8 | 0; + $9 = $9 | 0; + $10 = Math_fround($10); + var $13 = 0, $15 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, $30 = Math_fround(0), $36 = 0, $185 = 0, $41 = 0, $124 = 0, $590 = 0, $594 = 0, wasm2js_i32$0 = 0, wasm2js_f32$0 = Math_fround(0); + $13 = __stack_pointer - 288 | 0; + __stack_pointer = $13; + HEAP32[($13 + 284 | 0) >> 2] = $0; + HEAP32[($13 + 280 | 0) >> 2] = $1; + HEAP32[($13 + 276 | 0) >> 2] = $2; + HEAP32[($13 + 272 | 0) >> 2] = $3; + HEAPF32[($13 + 268 | 0) >> 2] = $4; + HEAPF32[($13 + 264 | 0) >> 2] = $5; + HEAPF32[($13 + 260 | 0) >> 2] = $6; + HEAPF32[($13 + 256 | 0) >> 2] = $7; + HEAP32[($13 + 252 | 0) >> 2] = $8; + HEAP8[($13 + 251 | 0) >> 0] = $9; + HEAPF32[($13 + 244 | 0) >> 2] = $10; + $15 = HEAP32[($13 + 284 | 0) >> 2] | 0; + HEAP32[($13 + 240 | 0) >> 2] = HEAP32[($13 + 272 | 0) >> 2] | 0; + btVector3__cross_28btVector3_20const__29_20const($13 + 224 | 0 | 0, HEAP32[($13 + 276 | 0) >> 2] | 0 | 0, HEAP32[($13 + 272 | 0) >> 2] | 0 | 0); + HEAPF32[($13 + 220 | 0) >> 2] = Math_fround(Math_fround(HEAPF32[($13 + 244 | 0) >> 2]) * Math_fround(.01745329238474369)); + $30 = Math_fround(btFabs_28float_29(Math_fround(Math_fround(Math_fround(Math_fround(HEAPF32[($13 + 256 | 0) >> 2]) - Math_fround(HEAPF32[($13 + 260 | 0) >> 2])) / Math_fround(HEAPF32[($13 + 220 | 0) >> 2]))))); + label$1 : { + label$2 : { + if (!(Math_fround(Math_abs($30)) < Math_fround(2147483648.0))) { + break label$2 + } + $36 = ~~$30; + break label$1; + } + $36 = -2147483648; + } + HEAP32[($13 + 216 | 0) >> 2] = $36; + label$3 : { + if (HEAP32[($13 + 216 | 0) >> 2] | 0) { + break label$3 + } + HEAP32[($13 + 216 | 0) >> 2] = 1; + } + $41 = HEAP32[($13 + 280 | 0) >> 2] | 0; + operator__28float_20const__2c_20btVector3_20const__29($13 + 152 | 0 | 0, $13 + 268 | 0 | 0, HEAP32[($13 + 240 | 0) >> 2] | 0 | 0); + (wasm2js_i32$0 = $13, wasm2js_f32$0 = Math_fround(btCos_28float_29(Math_fround(Math_fround(HEAPF32[($13 + 260 | 0) >> 2]))))), HEAPF32[(wasm2js_i32$0 + 148 | 0) >> 2] = wasm2js_f32$0; + operator__28btVector3_20const__2c_20float_20const__29($13 + 168 | 0 | 0, $13 + 152 | 0 | 0, $13 + 148 | 0 | 0); + operator__28btVector3_20const__2c_20btVector3_20const__29_2($13 + 184 | 0 | 0, $41 | 0, $13 + 168 | 0 | 0); + operator__28float_20const__2c_20btVector3_20const__29($13 + 116 | 0 | 0, $13 + 264 | 0 | 0, $13 + 224 | 0 | 0); + (wasm2js_i32$0 = $13, wasm2js_f32$0 = Math_fround(btSin_28float_29(Math_fround(Math_fround(HEAPF32[($13 + 260 | 0) >> 2]))))), HEAPF32[(wasm2js_i32$0 + 112 | 0) >> 2] = wasm2js_f32$0; + operator__28btVector3_20const__2c_20float_20const__29($13 + 132 | 0 | 0, $13 + 116 | 0 | 0, $13 + 112 | 0 | 0); + operator__28btVector3_20const__2c_20btVector3_20const__29_2($13 + 200 | 0 | 0, $13 + 184 | 0 | 0, $13 + 132 | 0 | 0); + label$4 : { + if (!((HEAPU8[($13 + 251 | 0) >> 0] | 0) & 1 | 0)) { + break label$4 + } + FUNCTION_TABLE[HEAP32[((HEAP32[$15 >> 2] | 0) + 16 | 0) >> 2] | 0 | 0]($15, HEAP32[($13 + 280 | 0) >> 2] | 0, $13 + 200 | 0, HEAP32[($13 + 252 | 0) >> 2] | 0); + } + HEAP32[($13 + 108 | 0) >> 2] = 1; + label$5 : { + label$6 : while (1) { + if (!((HEAP32[($13 + 108 | 0) >> 2] | 0 | 0) <= (HEAP32[($13 + 216 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$5 + } + HEAPF32[($13 + 104 | 0) >> 2] = Math_fround(Math_fround(HEAPF32[($13 + 260 | 0) >> 2]) + Math_fround(Math_fround(Math_fround(Math_fround(HEAPF32[($13 + 256 | 0) >> 2]) - Math_fround(HEAPF32[($13 + 260 | 0) >> 2])) * Math_fround(HEAP32[($13 + 108 | 0) >> 2] | 0 | 0)) / Math_fround(HEAP32[($13 + 216 | 0) >> 2] | 0 | 0))); + $124 = HEAP32[($13 + 280 | 0) >> 2] | 0; + operator__28float_20const__2c_20btVector3_20const__29($13 + 40 | 0 | 0, $13 + 268 | 0 | 0, HEAP32[($13 + 240 | 0) >> 2] | 0 | 0); + (wasm2js_i32$0 = $13, wasm2js_f32$0 = Math_fround(btCos_28float_29(Math_fround(Math_fround(HEAPF32[($13 + 104 | 0) >> 2]))))), HEAPF32[(wasm2js_i32$0 + 36 | 0) >> 2] = wasm2js_f32$0; + operator__28btVector3_20const__2c_20float_20const__29($13 + 56 | 0 | 0, $13 + 40 | 0 | 0, $13 + 36 | 0 | 0); + operator__28btVector3_20const__2c_20btVector3_20const__29_2($13 + 72 | 0 | 0, $124 | 0, $13 + 56 | 0 | 0); + operator__28float_20const__2c_20btVector3_20const__29($13 + 4 | 0 | 0, $13 + 264 | 0 | 0, $13 + 224 | 0 | 0); + (wasm2js_i32$0 = $13, wasm2js_f32$0 = Math_fround(btSin_28float_29(Math_fround(Math_fround(HEAPF32[($13 + 104 | 0) >> 2]))))), HEAPF32[wasm2js_i32$0 >> 2] = wasm2js_f32$0; + operator__28btVector3_20const__2c_20float_20const__29($13 + 20 | 0 | 0, $13 + 4 | 0 | 0, $13 | 0); + operator__28btVector3_20const__2c_20btVector3_20const__29_2($13 + 88 | 0 | 0, $13 + 72 | 0 | 0, $13 + 20 | 0 | 0); + FUNCTION_TABLE[HEAP32[((HEAP32[$15 >> 2] | 0) + 16 | 0) >> 2] | 0 | 0]($15, $13 + 200 | 0, $13 + 88 | 0, HEAP32[($13 + 252 | 0) >> 2] | 0); + $185 = 8; + i64toi32_i32$2 = ($13 + 88 | 0) + $185 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $590 = i64toi32_i32$0; + i64toi32_i32$0 = ($13 + 200 | 0) + $185 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $590; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$2 = $13; + i64toi32_i32$1 = HEAP32[($13 + 88 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($13 + 92 | 0) >> 2] | 0; + $594 = i64toi32_i32$1; + i64toi32_i32$1 = $13; + HEAP32[($13 + 200 | 0) >> 2] = $594; + HEAP32[($13 + 204 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($13 + 108 | 0) >> 2] = (HEAP32[($13 + 108 | 0) >> 2] | 0) + 1 | 0; + continue label$6; + }; + } + label$7 : { + if (!((HEAPU8[($13 + 251 | 0) >> 0] | 0) & 1 | 0)) { + break label$7 + } + FUNCTION_TABLE[HEAP32[((HEAP32[$15 >> 2] | 0) + 16 | 0) >> 2] | 0 | 0]($15, HEAP32[($13 + 280 | 0) >> 2] | 0, $13 + 200 | 0, HEAP32[($13 + 252 | 0) >> 2] | 0); + } + __stack_pointer = $13 + 288 | 0; + return; + } + + function btFabs_28float_29($0) { + $0 = Math_fround($0); + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + HEAPF32[($3 + 12 | 0) >> 2] = $0; + return Math_fround(Math_fround(Math_abs(Math_fround(HEAPF32[($3 + 12 | 0) >> 2])))); + } + + function operator__28float_20const__2c_20btVector3_20const__29($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $5 = 0; + $5 = __stack_pointer - 16 | 0; + __stack_pointer = $5; + HEAP32[($5 + 12 | 0) >> 2] = $1; + HEAP32[($5 + 8 | 0) >> 2] = $2; + operator__28btVector3_20const__2c_20float_20const__29($0 | 0, HEAP32[($5 + 8 | 0) >> 2] | 0 | 0, HEAP32[($5 + 12 | 0) >> 2] | 0 | 0); + __stack_pointer = $5 + 16 | 0; + return; + } + + function btCos_28float_29($0) { + $0 = Math_fround($0); + var $3 = 0, $5 = Math_fround(0); + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAPF32[($3 + 12 | 0) >> 2] = $0; + $5 = Math_fround(cosf(Math_fround(Math_fround(HEAPF32[($3 + 12 | 0) >> 2])))); + __stack_pointer = $3 + 16 | 0; + return Math_fround($5); + } + + function btSin_28float_29($0) { + $0 = Math_fround($0); + var $3 = 0, $5 = Math_fround(0); + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAPF32[($3 + 12 | 0) >> 2] = $0; + $5 = Math_fround(sinf(Math_fround(Math_fround(HEAPF32[($3 + 12 | 0) >> 2])))); + __stack_pointer = $3 + 16 | 0; + return Math_fround($5); + } + + function btIDebugDraw__drawSpherePatch_28btVector3_20const__2c_20btVector3_20const__2c_20btVector3_20const__2c_20float_2c_20float_2c_20float_2c_20float_2c_20float_2c_20btVector3_20const__2c_20float_2c_20bool_29($0, $1, $2, $3, $4, $5, $6, $7, $8, $9, $10, $11) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + $4 = Math_fround($4); + $5 = Math_fround($5); + $6 = Math_fround($6); + $7 = Math_fround($7); + $8 = Math_fround($8); + $9 = $9 | 0; + $10 = Math_fround($10); + $11 = $11 | 0; + var $14 = 0, i64toi32_i32$0 = 0, $16 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, $19 = 0, $22 = 0, $23 = 0, $25 = 0, $33 = 0, $36 = 0, $37 = 0, $39 = 0, $129 = Math_fround(0), $135 = 0, $180 = Math_fround(0), $186 = 0, $305 = 0, $307 = 0, $361 = 0, $362 = 0, $21 = 0, $35 = 0, $51 = 0, $65 = 0, $247 = 0, $1091 = 0, $1104 = 0, $1232 = 0, $1236 = 0, wasm2js_i32$0 = 0, wasm2js_f32$0 = Math_fround(0); + $14 = __stack_pointer - 2704 | 0; + __stack_pointer = $14; + HEAP32[($14 + 2700 | 0) >> 2] = $0; + HEAP32[($14 + 2696 | 0) >> 2] = $1; + HEAP32[($14 + 2692 | 0) >> 2] = $2; + HEAP32[($14 + 2688 | 0) >> 2] = $3; + HEAPF32[($14 + 2684 | 0) >> 2] = $4; + HEAPF32[($14 + 2680 | 0) >> 2] = $5; + HEAPF32[($14 + 2676 | 0) >> 2] = $6; + HEAPF32[($14 + 2672 | 0) >> 2] = $7; + HEAPF32[($14 + 2668 | 0) >> 2] = $8; + HEAP32[($14 + 2664 | 0) >> 2] = $9; + HEAPF32[($14 + 2660 | 0) >> 2] = $10; + HEAP8[($14 + 2659 | 0) >> 0] = $11; + $16 = HEAP32[($14 + 2700 | 0) >> 2] | 0; + $19 = $14 + 1472 | 0; + $21 = $19 + 1184 | 0; + $22 = $19; + label$1 : while (1) { + $23 = $22; + btVector3__btVector3_28_29($23 | 0) | 0; + $25 = $23 + 16 | 0; + $22 = $25; + if (!(($25 | 0) == ($21 | 0) & 1 | 0)) { + continue label$1 + } + break label$1; + }; + $33 = $14 + 288 | 0; + $35 = $33 + 1184 | 0; + $36 = $33; + label$2 : while (1) { + $37 = $36; + btVector3__btVector3_28_29($37 | 0) | 0; + $39 = $37 + 16 | 0; + $36 = $39; + if (!(($39 | 0) == ($35 | 0) & 1 | 0)) { + continue label$2 + } + break label$2; + }; + HEAP32[($14 + 284 | 0) >> 2] = $14 + 1472 | 0; + HEAP32[($14 + 280 | 0) >> 2] = $14 + 288 | 0; + $51 = HEAP32[($14 + 2696 | 0) >> 2] | 0; + operator__28btVector3_20const__2c_20float_20const__29($14 + 244 | 0 | 0, HEAP32[($14 + 2692 | 0) >> 2] | 0 | 0, $14 + 2684 | 0 | 0); + operator__28btVector3_20const__2c_20btVector3_20const__29_2($14 + 260 | 0 | 0, $51 | 0, $14 + 244 | 0 | 0); + $65 = HEAP32[($14 + 2696 | 0) >> 2] | 0; + operator__28btVector3_20const__2c_20float_20const__29($14 + 212 | 0 | 0, HEAP32[($14 + 2692 | 0) >> 2] | 0 | 0, $14 + 2684 | 0 | 0); + operator__28btVector3_20const__2c_20btVector3_20const__29($14 + 228 | 0 | 0, $65 | 0, $14 + 212 | 0 | 0); + btVector3__btVector3_28_29($14 + 192 | 0 | 0) | 0; + HEAPF32[($14 + 188 | 0) >> 2] = Math_fround(Math_fround(HEAPF32[($14 + 2660 | 0) >> 2]) * Math_fround(.01745329238474369)); + HEAP32[($14 + 184 | 0) >> 2] = HEAP32[($14 + 2692 | 0) >> 2] | 0; + HEAP32[($14 + 180 | 0) >> 2] = HEAP32[($14 + 2688 | 0) >> 2] | 0; + btVector3__cross_28btVector3_20const__29_20const($14 + 164 | 0 | 0, HEAP32[($14 + 184 | 0) >> 2] | 0 | 0, HEAP32[($14 + 180 | 0) >> 2] | 0 | 0); + HEAP8[($14 + 163 | 0) >> 0] = 0; + HEAP8[($14 + 162 | 0) >> 0] = 0; + label$3 : { + if (!(Math_fround(HEAPF32[($14 + 2680 | 0) >> 2]) <= Math_fround(-1.5707963705062866) & 1 | 0)) { + break label$3 + } + HEAPF32[($14 + 2680 | 0) >> 2] = Math_fround(Math_fround(-1.5707963705062866) + Math_fround(HEAPF32[($14 + 188 | 0) >> 2])); + HEAP8[($14 + 163 | 0) >> 0] = 1; + } + label$4 : { + if (!(Math_fround(HEAPF32[($14 + 2676 | 0) >> 2]) >= Math_fround(1.5707963705062866) & 1 | 0)) { + break label$4 + } + HEAPF32[($14 + 2676 | 0) >> 2] = Math_fround(Math_fround(1.5707963705062866) - Math_fround(HEAPF32[($14 + 188 | 0) >> 2])); + HEAP8[($14 + 162 | 0) >> 0] = 1; + } + label$5 : { + if (!(Math_fround(HEAPF32[($14 + 2680 | 0) >> 2]) > Math_fround(HEAPF32[($14 + 2676 | 0) >> 2]) & 1 | 0)) { + break label$5 + } + HEAPF32[($14 + 2680 | 0) >> 2] = Math_fround(Math_fround(-1.5707963705062866) + Math_fround(HEAPF32[($14 + 188 | 0) >> 2])); + HEAPF32[($14 + 2676 | 0) >> 2] = Math_fround(Math_fround(1.5707963705062866) - Math_fround(HEAPF32[($14 + 188 | 0) >> 2])); + HEAP8[($14 + 162 | 0) >> 0] = 1; + HEAP8[($14 + 163 | 0) >> 0] = 1; + } + $129 = Math_fround(Math_fround(Math_fround(HEAPF32[($14 + 2676 | 0) >> 2]) - Math_fround(HEAPF32[($14 + 2680 | 0) >> 2])) / Math_fround(HEAPF32[($14 + 188 | 0) >> 2])); + label$6 : { + label$7 : { + if (!(Math_fround(Math_abs($129)) < Math_fround(2147483648.0))) { + break label$7 + } + $135 = ~~$129; + break label$6; + } + $135 = -2147483648; + } + HEAP32[($14 + 156 | 0) >> 2] = $135 + 1 | 0; + label$8 : { + if (!((HEAP32[($14 + 156 | 0) >> 2] | 0 | 0) < (2 | 0) & 1 | 0)) { + break label$8 + } + HEAP32[($14 + 156 | 0) >> 2] = 2; + } + HEAPF32[($14 + 152 | 0) >> 2] = Math_fround(Math_fround(Math_fround(HEAPF32[($14 + 2676 | 0) >> 2]) - Math_fround(HEAPF32[($14 + 2680 | 0) >> 2])) / Math_fround((HEAP32[($14 + 156 | 0) >> 2] | 0) - 1 | 0 | 0)); + HEAP8[($14 + 151 | 0) >> 0] = 0; + label$9 : { + label$10 : { + if (!(Math_fround(HEAPF32[($14 + 2672 | 0) >> 2]) > Math_fround(HEAPF32[($14 + 2668 | 0) >> 2]) & 1 | 0)) { + break label$10 + } + HEAPF32[($14 + 2672 | 0) >> 2] = Math_fround(Math_fround(-3.1415927410125732) + Math_fround(HEAPF32[($14 + 188 | 0) >> 2])); + HEAPF32[($14 + 2668 | 0) >> 2] = Math_fround(3.1415927410125732); + HEAP8[($14 + 151 | 0) >> 0] = 1; + break label$9; + } + label$11 : { + label$12 : { + if (!(Math_fround(Math_fround(HEAPF32[($14 + 2668 | 0) >> 2]) - Math_fround(HEAPF32[($14 + 2672 | 0) >> 2])) >= Math_fround(6.2831854820251465) & 1 | 0)) { + break label$12 + } + HEAP8[($14 + 151 | 0) >> 0] = 1; + break label$11; + } + HEAP8[($14 + 151 | 0) >> 0] = 0; + } + } + $180 = Math_fround(Math_fround(Math_fround(HEAPF32[($14 + 2668 | 0) >> 2]) - Math_fround(HEAPF32[($14 + 2672 | 0) >> 2])) / Math_fround(HEAPF32[($14 + 188 | 0) >> 2])); + label$13 : { + label$14 : { + if (!(Math_fround(Math_abs($180)) < Math_fround(2147483648.0))) { + break label$14 + } + $186 = ~~$180; + break label$13; + } + $186 = -2147483648; + } + HEAP32[($14 + 144 | 0) >> 2] = $186 + 1 | 0; + label$15 : { + if (!((HEAP32[($14 + 144 | 0) >> 2] | 0 | 0) < (2 | 0) & 1 | 0)) { + break label$15 + } + HEAP32[($14 + 144 | 0) >> 2] = 2; + } + HEAPF32[($14 + 140 | 0) >> 2] = Math_fround(Math_fround(Math_fround(HEAPF32[($14 + 2668 | 0) >> 2]) - Math_fround(HEAPF32[($14 + 2672 | 0) >> 2])) / Math_fround((HEAP32[($14 + 144 | 0) >> 2] | 0) - 1 | 0 | 0)); + HEAP32[($14 + 136 | 0) >> 2] = 0; + label$16 : { + label$17 : while (1) { + if (!((HEAP32[($14 + 136 | 0) >> 2] | 0 | 0) < (HEAP32[($14 + 156 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$16 + } + HEAPF32[($14 + 132 | 0) >> 2] = Math_fround(Math_fround(Math_fround(HEAP32[($14 + 136 | 0) >> 2] | 0 | 0) * Math_fround(HEAPF32[($14 + 152 | 0) >> 2])) + Math_fround(HEAPF32[($14 + 2680 | 0) >> 2])); + (wasm2js_i32$0 = $14, wasm2js_f32$0 = Math_fround(Math_fround(HEAPF32[($14 + 2684 | 0) >> 2]) * Math_fround(btSin_28float_29(Math_fround(Math_fround(HEAPF32[($14 + 132 | 0) >> 2])))))), HEAPF32[(wasm2js_i32$0 + 128 | 0) >> 2] = wasm2js_f32$0; + (wasm2js_i32$0 = $14, wasm2js_f32$0 = Math_fround(Math_fround(HEAPF32[($14 + 2684 | 0) >> 2]) * Math_fround(btCos_28float_29(Math_fround(Math_fround(HEAPF32[($14 + 132 | 0) >> 2])))))), HEAPF32[(wasm2js_i32$0 + 124 | 0) >> 2] = wasm2js_f32$0; + HEAP32[($14 + 120 | 0) >> 2] = 0; + label$18 : { + label$19 : while (1) { + if (!((HEAP32[($14 + 120 | 0) >> 2] | 0 | 0) < (HEAP32[($14 + 144 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$18 + } + HEAPF32[($14 + 116 | 0) >> 2] = Math_fround(Math_fround(Math_fround(HEAP32[($14 + 120 | 0) >> 2] | 0 | 0) * Math_fround(HEAPF32[($14 + 140 | 0) >> 2])) + Math_fround(HEAPF32[($14 + 2672 | 0) >> 2])); + (wasm2js_i32$0 = $14, wasm2js_f32$0 = Math_fround(btSin_28float_29(Math_fround(Math_fround(HEAPF32[($14 + 116 | 0) >> 2]))))), HEAPF32[(wasm2js_i32$0 + 112 | 0) >> 2] = wasm2js_f32$0; + (wasm2js_i32$0 = $14, wasm2js_f32$0 = Math_fround(btCos_28float_29(Math_fround(Math_fround(HEAPF32[($14 + 116 | 0) >> 2]))))), HEAPF32[(wasm2js_i32$0 + 108 | 0) >> 2] = wasm2js_f32$0; + $247 = HEAP32[($14 + 2696 | 0) >> 2] | 0; + HEAPF32[($14 + 40 | 0) >> 2] = Math_fround(Math_fround(HEAPF32[($14 + 124 | 0) >> 2]) * Math_fround(HEAPF32[($14 + 108 | 0) >> 2])); + operator__28float_20const__2c_20btVector3_20const__29($14 + 44 | 0 | 0, $14 + 40 | 0 | 0, HEAP32[($14 + 180 | 0) >> 2] | 0 | 0); + operator__28btVector3_20const__2c_20btVector3_20const__29_2($14 + 60 | 0 | 0, $247 | 0, $14 + 44 | 0 | 0); + HEAPF32[($14 + 20 | 0) >> 2] = Math_fround(Math_fround(HEAPF32[($14 + 124 | 0) >> 2]) * Math_fround(HEAPF32[($14 + 112 | 0) >> 2])); + operator__28float_20const__2c_20btVector3_20const__29($14 + 24 | 0 | 0, $14 + 20 | 0 | 0, $14 + 164 | 0 | 0); + operator__28btVector3_20const__2c_20btVector3_20const__29_2($14 + 76 | 0 | 0, $14 + 60 | 0 | 0, $14 + 24 | 0 | 0); + operator__28float_20const__2c_20btVector3_20const__29($14 + 4 | 0 | 0, $14 + 128 | 0 | 0, HEAP32[($14 + 184 | 0) >> 2] | 0 | 0); + operator__28btVector3_20const__2c_20btVector3_20const__29_2($14 + 92 | 0 | 0, $14 + 76 | 0 | 0, $14 + 4 | 0 | 0); + $305 = (HEAP32[($14 + 280 | 0) >> 2] | 0) + ((HEAP32[($14 + 120 | 0) >> 2] | 0) << 4 | 0) | 0; + i64toi32_i32$2 = $14; + i64toi32_i32$0 = HEAP32[($14 + 92 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($14 + 96 | 0) >> 2] | 0; + $1091 = i64toi32_i32$0; + i64toi32_i32$0 = $305; + HEAP32[i64toi32_i32$0 >> 2] = $1091; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $307 = 8; + i64toi32_i32$2 = ($14 + 92 | 0) + $307 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $1104 = i64toi32_i32$1; + i64toi32_i32$1 = $305 + $307 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $1104; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + label$20 : { + label$21 : { + if (!(HEAP32[($14 + 136 | 0) >> 2] | 0)) { + break label$21 + } + FUNCTION_TABLE[HEAP32[((HEAP32[$16 >> 2] | 0) + 16 | 0) >> 2] | 0 | 0]($16, (HEAP32[($14 + 284 | 0) >> 2] | 0) + ((HEAP32[($14 + 120 | 0) >> 2] | 0) << 4 | 0) | 0, (HEAP32[($14 + 280 | 0) >> 2] | 0) + ((HEAP32[($14 + 120 | 0) >> 2] | 0) << 4 | 0) | 0, HEAP32[($14 + 2664 | 0) >> 2] | 0); + break label$20; + } + label$22 : { + if (!((HEAPU8[($14 + 162 | 0) >> 0] | 0) & 1 | 0)) { + break label$22 + } + FUNCTION_TABLE[HEAP32[((HEAP32[$16 >> 2] | 0) + 16 | 0) >> 2] | 0 | 0]($16, $14 + 228 | 0, (HEAP32[($14 + 280 | 0) >> 2] | 0) + ((HEAP32[($14 + 120 | 0) >> 2] | 0) << 4 | 0) | 0, HEAP32[($14 + 2664 | 0) >> 2] | 0); + } + } + label$23 : { + label$24 : { + if (!(HEAP32[($14 + 120 | 0) >> 2] | 0)) { + break label$24 + } + FUNCTION_TABLE[HEAP32[((HEAP32[$16 >> 2] | 0) + 16 | 0) >> 2] | 0 | 0]($16, (HEAP32[($14 + 280 | 0) >> 2] | 0) + (((HEAP32[($14 + 120 | 0) >> 2] | 0) - 1 | 0) << 4 | 0) | 0, (HEAP32[($14 + 280 | 0) >> 2] | 0) + ((HEAP32[($14 + 120 | 0) >> 2] | 0) << 4 | 0) | 0, HEAP32[($14 + 2664 | 0) >> 2] | 0); + break label$23; + } + $361 = (HEAP32[($14 + 280 | 0) >> 2] | 0) + ((HEAP32[($14 + 120 | 0) >> 2] | 0) << 4 | 0) | 0; + $362 = 8; + i64toi32_i32$2 = $361 + $362 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $1232 = i64toi32_i32$0; + i64toi32_i32$0 = ($14 + 192 | 0) + $362 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $1232; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$2 = $361; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $1236 = i64toi32_i32$1; + i64toi32_i32$1 = $14; + HEAP32[($14 + 192 | 0) >> 2] = $1236; + HEAP32[($14 + 196 | 0) >> 2] = i64toi32_i32$0; + } + label$25 : { + if (!((HEAP32[($14 + 136 | 0) >> 2] | 0 | 0) == ((HEAP32[($14 + 156 | 0) >> 2] | 0) - 1 | 0 | 0) & 1 | 0)) { + break label$25 + } + if (!((HEAPU8[($14 + 163 | 0) >> 0] | 0) & 1 | 0)) { + break label$25 + } + FUNCTION_TABLE[HEAP32[((HEAP32[$16 >> 2] | 0) + 16 | 0) >> 2] | 0 | 0]($16, $14 + 260 | 0, (HEAP32[($14 + 280 | 0) >> 2] | 0) + ((HEAP32[($14 + 120 | 0) >> 2] | 0) << 4 | 0) | 0, HEAP32[($14 + 2664 | 0) >> 2] | 0); + } + label$26 : { + if (!((HEAPU8[($14 + 2659 | 0) >> 0] | 0) & 1 | 0)) { + break label$26 + } + label$27 : { + label$28 : { + if (!((HEAPU8[($14 + 151 | 0) >> 0] | 0) & 1 | 0)) { + break label$28 + } + label$29 : { + if (!((HEAP32[($14 + 120 | 0) >> 2] | 0 | 0) == ((HEAP32[($14 + 144 | 0) >> 2] | 0) - 1 | 0 | 0) & 1 | 0)) { + break label$29 + } + FUNCTION_TABLE[HEAP32[((HEAP32[$16 >> 2] | 0) + 16 | 0) >> 2] | 0 | 0]($16, $14 + 192 | 0, (HEAP32[($14 + 280 | 0) >> 2] | 0) + ((HEAP32[($14 + 120 | 0) >> 2] | 0) << 4 | 0) | 0, HEAP32[($14 + 2664 | 0) >> 2] | 0); + } + break label$27; + } + label$30 : { + label$31 : { + if (!(HEAP32[($14 + 136 | 0) >> 2] | 0)) { + break label$31 + } + if (!((HEAP32[($14 + 136 | 0) >> 2] | 0 | 0) == ((HEAP32[($14 + 156 | 0) >> 2] | 0) - 1 | 0 | 0) & 1 | 0)) { + break label$30 + } + } + label$32 : { + if (!(HEAP32[($14 + 120 | 0) >> 2] | 0)) { + break label$32 + } + if (!((HEAP32[($14 + 120 | 0) >> 2] | 0 | 0) == ((HEAP32[($14 + 144 | 0) >> 2] | 0) - 1 | 0 | 0) & 1 | 0)) { + break label$30 + } + } + FUNCTION_TABLE[HEAP32[((HEAP32[$16 >> 2] | 0) + 16 | 0) >> 2] | 0 | 0]($16, HEAP32[($14 + 2696 | 0) >> 2] | 0, (HEAP32[($14 + 280 | 0) >> 2] | 0) + ((HEAP32[($14 + 120 | 0) >> 2] | 0) << 4 | 0) | 0, HEAP32[($14 + 2664 | 0) >> 2] | 0); + } + } + } + HEAP32[($14 + 120 | 0) >> 2] = (HEAP32[($14 + 120 | 0) >> 2] | 0) + 1 | 0; + continue label$19; + }; + } + HEAP32[($14 + 276 | 0) >> 2] = HEAP32[($14 + 284 | 0) >> 2] | 0; + HEAP32[($14 + 284 | 0) >> 2] = HEAP32[($14 + 280 | 0) >> 2] | 0; + HEAP32[($14 + 280 | 0) >> 2] = HEAP32[($14 + 276 | 0) >> 2] | 0; + HEAP32[($14 + 136 | 0) >> 2] = (HEAP32[($14 + 136 | 0) >> 2] | 0) + 1 | 0; + continue label$17; + }; + } + __stack_pointer = $14 + 2704 | 0; + return; + } + + function btIDebugDraw__drawBox_28btVector3_20const__2c_20btVector3_20const__2c_20btVector3_20const__29($0, $1, $2, $3) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + var $6 = 0, $7 = 0; + $6 = __stack_pointer - 400 | 0; + __stack_pointer = $6; + HEAP32[($6 + 396 | 0) >> 2] = $0; + HEAP32[($6 + 392 | 0) >> 2] = $1; + HEAP32[($6 + 388 | 0) >> 2] = $2; + HEAP32[($6 + 384 | 0) >> 2] = $3; + $7 = HEAP32[($6 + 396 | 0) >> 2] | 0; + btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($6 + 368 | 0 | 0, btVector3__operator_20float_20const__28_29_20const(HEAP32[($6 + 392 | 0) >> 2] | 0 | 0) | 0 | 0, (btVector3__operator_20float_20const__28_29_20const(HEAP32[($6 + 392 | 0) >> 2] | 0 | 0) | 0) + 4 | 0 | 0, (btVector3__operator_20float_20const__28_29_20const(HEAP32[($6 + 392 | 0) >> 2] | 0 | 0) | 0) + 8 | 0 | 0) | 0; + btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($6 + 352 | 0 | 0, btVector3__operator_20float_20const__28_29_20const(HEAP32[($6 + 388 | 0) >> 2] | 0 | 0) | 0 | 0, (btVector3__operator_20float_20const__28_29_20const(HEAP32[($6 + 392 | 0) >> 2] | 0 | 0) | 0) + 4 | 0 | 0, (btVector3__operator_20float_20const__28_29_20const(HEAP32[($6 + 392 | 0) >> 2] | 0 | 0) | 0) + 8 | 0 | 0) | 0; + FUNCTION_TABLE[HEAP32[((HEAP32[$7 >> 2] | 0) + 16 | 0) >> 2] | 0 | 0]($7, $6 + 368 | 0, $6 + 352 | 0, HEAP32[($6 + 384 | 0) >> 2] | 0); + btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($6 + 336 | 0 | 0, btVector3__operator_20float_20const__28_29_20const(HEAP32[($6 + 388 | 0) >> 2] | 0 | 0) | 0 | 0, (btVector3__operator_20float_20const__28_29_20const(HEAP32[($6 + 392 | 0) >> 2] | 0 | 0) | 0) + 4 | 0 | 0, (btVector3__operator_20float_20const__28_29_20const(HEAP32[($6 + 392 | 0) >> 2] | 0 | 0) | 0) + 8 | 0 | 0) | 0; + btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($6 + 320 | 0 | 0, btVector3__operator_20float_20const__28_29_20const(HEAP32[($6 + 388 | 0) >> 2] | 0 | 0) | 0 | 0, (btVector3__operator_20float_20const__28_29_20const(HEAP32[($6 + 388 | 0) >> 2] | 0 | 0) | 0) + 4 | 0 | 0, (btVector3__operator_20float_20const__28_29_20const(HEAP32[($6 + 392 | 0) >> 2] | 0 | 0) | 0) + 8 | 0 | 0) | 0; + FUNCTION_TABLE[HEAP32[((HEAP32[$7 >> 2] | 0) + 16 | 0) >> 2] | 0 | 0]($7, $6 + 336 | 0, $6 + 320 | 0, HEAP32[($6 + 384 | 0) >> 2] | 0); + btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($6 + 304 | 0 | 0, btVector3__operator_20float_20const__28_29_20const(HEAP32[($6 + 388 | 0) >> 2] | 0 | 0) | 0 | 0, (btVector3__operator_20float_20const__28_29_20const(HEAP32[($6 + 388 | 0) >> 2] | 0 | 0) | 0) + 4 | 0 | 0, (btVector3__operator_20float_20const__28_29_20const(HEAP32[($6 + 392 | 0) >> 2] | 0 | 0) | 0) + 8 | 0 | 0) | 0; + btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($6 + 288 | 0 | 0, btVector3__operator_20float_20const__28_29_20const(HEAP32[($6 + 392 | 0) >> 2] | 0 | 0) | 0 | 0, (btVector3__operator_20float_20const__28_29_20const(HEAP32[($6 + 388 | 0) >> 2] | 0 | 0) | 0) + 4 | 0 | 0, (btVector3__operator_20float_20const__28_29_20const(HEAP32[($6 + 392 | 0) >> 2] | 0 | 0) | 0) + 8 | 0 | 0) | 0; + FUNCTION_TABLE[HEAP32[((HEAP32[$7 >> 2] | 0) + 16 | 0) >> 2] | 0 | 0]($7, $6 + 304 | 0, $6 + 288 | 0, HEAP32[($6 + 384 | 0) >> 2] | 0); + btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($6 + 272 | 0 | 0, btVector3__operator_20float_20const__28_29_20const(HEAP32[($6 + 392 | 0) >> 2] | 0 | 0) | 0 | 0, (btVector3__operator_20float_20const__28_29_20const(HEAP32[($6 + 388 | 0) >> 2] | 0 | 0) | 0) + 4 | 0 | 0, (btVector3__operator_20float_20const__28_29_20const(HEAP32[($6 + 392 | 0) >> 2] | 0 | 0) | 0) + 8 | 0 | 0) | 0; + btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($6 + 256 | 0 | 0, btVector3__operator_20float_20const__28_29_20const(HEAP32[($6 + 392 | 0) >> 2] | 0 | 0) | 0 | 0, (btVector3__operator_20float_20const__28_29_20const(HEAP32[($6 + 392 | 0) >> 2] | 0 | 0) | 0) + 4 | 0 | 0, (btVector3__operator_20float_20const__28_29_20const(HEAP32[($6 + 392 | 0) >> 2] | 0 | 0) | 0) + 8 | 0 | 0) | 0; + FUNCTION_TABLE[HEAP32[((HEAP32[$7 >> 2] | 0) + 16 | 0) >> 2] | 0 | 0]($7, $6 + 272 | 0, $6 + 256 | 0, HEAP32[($6 + 384 | 0) >> 2] | 0); + btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($6 + 240 | 0 | 0, btVector3__operator_20float_20const__28_29_20const(HEAP32[($6 + 392 | 0) >> 2] | 0 | 0) | 0 | 0, (btVector3__operator_20float_20const__28_29_20const(HEAP32[($6 + 392 | 0) >> 2] | 0 | 0) | 0) + 4 | 0 | 0, (btVector3__operator_20float_20const__28_29_20const(HEAP32[($6 + 392 | 0) >> 2] | 0 | 0) | 0) + 8 | 0 | 0) | 0; + btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($6 + 224 | 0 | 0, btVector3__operator_20float_20const__28_29_20const(HEAP32[($6 + 392 | 0) >> 2] | 0 | 0) | 0 | 0, (btVector3__operator_20float_20const__28_29_20const(HEAP32[($6 + 392 | 0) >> 2] | 0 | 0) | 0) + 4 | 0 | 0, (btVector3__operator_20float_20const__28_29_20const(HEAP32[($6 + 388 | 0) >> 2] | 0 | 0) | 0) + 8 | 0 | 0) | 0; + FUNCTION_TABLE[HEAP32[((HEAP32[$7 >> 2] | 0) + 16 | 0) >> 2] | 0 | 0]($7, $6 + 240 | 0, $6 + 224 | 0, HEAP32[($6 + 384 | 0) >> 2] | 0); + btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($6 + 208 | 0 | 0, btVector3__operator_20float_20const__28_29_20const(HEAP32[($6 + 388 | 0) >> 2] | 0 | 0) | 0 | 0, (btVector3__operator_20float_20const__28_29_20const(HEAP32[($6 + 392 | 0) >> 2] | 0 | 0) | 0) + 4 | 0 | 0, (btVector3__operator_20float_20const__28_29_20const(HEAP32[($6 + 392 | 0) >> 2] | 0 | 0) | 0) + 8 | 0 | 0) | 0; + btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($6 + 192 | 0 | 0, btVector3__operator_20float_20const__28_29_20const(HEAP32[($6 + 388 | 0) >> 2] | 0 | 0) | 0 | 0, (btVector3__operator_20float_20const__28_29_20const(HEAP32[($6 + 392 | 0) >> 2] | 0 | 0) | 0) + 4 | 0 | 0, (btVector3__operator_20float_20const__28_29_20const(HEAP32[($6 + 388 | 0) >> 2] | 0 | 0) | 0) + 8 | 0 | 0) | 0; + FUNCTION_TABLE[HEAP32[((HEAP32[$7 >> 2] | 0) + 16 | 0) >> 2] | 0 | 0]($7, $6 + 208 | 0, $6 + 192 | 0, HEAP32[($6 + 384 | 0) >> 2] | 0); + btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($6 + 176 | 0 | 0, btVector3__operator_20float_20const__28_29_20const(HEAP32[($6 + 388 | 0) >> 2] | 0 | 0) | 0 | 0, (btVector3__operator_20float_20const__28_29_20const(HEAP32[($6 + 388 | 0) >> 2] | 0 | 0) | 0) + 4 | 0 | 0, (btVector3__operator_20float_20const__28_29_20const(HEAP32[($6 + 392 | 0) >> 2] | 0 | 0) | 0) + 8 | 0 | 0) | 0; + btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($6 + 160 | 0 | 0, btVector3__operator_20float_20const__28_29_20const(HEAP32[($6 + 388 | 0) >> 2] | 0 | 0) | 0 | 0, (btVector3__operator_20float_20const__28_29_20const(HEAP32[($6 + 388 | 0) >> 2] | 0 | 0) | 0) + 4 | 0 | 0, (btVector3__operator_20float_20const__28_29_20const(HEAP32[($6 + 388 | 0) >> 2] | 0 | 0) | 0) + 8 | 0 | 0) | 0; + FUNCTION_TABLE[HEAP32[((HEAP32[$7 >> 2] | 0) + 16 | 0) >> 2] | 0 | 0]($7, $6 + 176 | 0, $6 + 160 | 0, HEAP32[($6 + 384 | 0) >> 2] | 0); + btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($6 + 144 | 0 | 0, btVector3__operator_20float_20const__28_29_20const(HEAP32[($6 + 392 | 0) >> 2] | 0 | 0) | 0 | 0, (btVector3__operator_20float_20const__28_29_20const(HEAP32[($6 + 388 | 0) >> 2] | 0 | 0) | 0) + 4 | 0 | 0, (btVector3__operator_20float_20const__28_29_20const(HEAP32[($6 + 392 | 0) >> 2] | 0 | 0) | 0) + 8 | 0 | 0) | 0; + btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($6 + 128 | 0 | 0, btVector3__operator_20float_20const__28_29_20const(HEAP32[($6 + 392 | 0) >> 2] | 0 | 0) | 0 | 0, (btVector3__operator_20float_20const__28_29_20const(HEAP32[($6 + 388 | 0) >> 2] | 0 | 0) | 0) + 4 | 0 | 0, (btVector3__operator_20float_20const__28_29_20const(HEAP32[($6 + 388 | 0) >> 2] | 0 | 0) | 0) + 8 | 0 | 0) | 0; + FUNCTION_TABLE[HEAP32[((HEAP32[$7 >> 2] | 0) + 16 | 0) >> 2] | 0 | 0]($7, $6 + 144 | 0, $6 + 128 | 0, HEAP32[($6 + 384 | 0) >> 2] | 0); + btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($6 + 112 | 0 | 0, btVector3__operator_20float_20const__28_29_20const(HEAP32[($6 + 392 | 0) >> 2] | 0 | 0) | 0 | 0, (btVector3__operator_20float_20const__28_29_20const(HEAP32[($6 + 392 | 0) >> 2] | 0 | 0) | 0) + 4 | 0 | 0, (btVector3__operator_20float_20const__28_29_20const(HEAP32[($6 + 388 | 0) >> 2] | 0 | 0) | 0) + 8 | 0 | 0) | 0; + btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($6 + 96 | 0 | 0, btVector3__operator_20float_20const__28_29_20const(HEAP32[($6 + 388 | 0) >> 2] | 0 | 0) | 0 | 0, (btVector3__operator_20float_20const__28_29_20const(HEAP32[($6 + 392 | 0) >> 2] | 0 | 0) | 0) + 4 | 0 | 0, (btVector3__operator_20float_20const__28_29_20const(HEAP32[($6 + 388 | 0) >> 2] | 0 | 0) | 0) + 8 | 0 | 0) | 0; + FUNCTION_TABLE[HEAP32[((HEAP32[$7 >> 2] | 0) + 16 | 0) >> 2] | 0 | 0]($7, $6 + 112 | 0, $6 + 96 | 0, HEAP32[($6 + 384 | 0) >> 2] | 0); + btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($6 + 80 | 0 | 0, btVector3__operator_20float_20const__28_29_20const(HEAP32[($6 + 388 | 0) >> 2] | 0 | 0) | 0 | 0, (btVector3__operator_20float_20const__28_29_20const(HEAP32[($6 + 392 | 0) >> 2] | 0 | 0) | 0) + 4 | 0 | 0, (btVector3__operator_20float_20const__28_29_20const(HEAP32[($6 + 388 | 0) >> 2] | 0 | 0) | 0) + 8 | 0 | 0) | 0; + btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($6 + 64 | 0 | 0, btVector3__operator_20float_20const__28_29_20const(HEAP32[($6 + 388 | 0) >> 2] | 0 | 0) | 0 | 0, (btVector3__operator_20float_20const__28_29_20const(HEAP32[($6 + 388 | 0) >> 2] | 0 | 0) | 0) + 4 | 0 | 0, (btVector3__operator_20float_20const__28_29_20const(HEAP32[($6 + 388 | 0) >> 2] | 0 | 0) | 0) + 8 | 0 | 0) | 0; + FUNCTION_TABLE[HEAP32[((HEAP32[$7 >> 2] | 0) + 16 | 0) >> 2] | 0 | 0]($7, $6 + 80 | 0, $6 + 64 | 0, HEAP32[($6 + 384 | 0) >> 2] | 0); + btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($6 + 48 | 0 | 0, btVector3__operator_20float_20const__28_29_20const(HEAP32[($6 + 388 | 0) >> 2] | 0 | 0) | 0 | 0, (btVector3__operator_20float_20const__28_29_20const(HEAP32[($6 + 388 | 0) >> 2] | 0 | 0) | 0) + 4 | 0 | 0, (btVector3__operator_20float_20const__28_29_20const(HEAP32[($6 + 388 | 0) >> 2] | 0 | 0) | 0) + 8 | 0 | 0) | 0; + btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($6 + 32 | 0 | 0, btVector3__operator_20float_20const__28_29_20const(HEAP32[($6 + 392 | 0) >> 2] | 0 | 0) | 0 | 0, (btVector3__operator_20float_20const__28_29_20const(HEAP32[($6 + 388 | 0) >> 2] | 0 | 0) | 0) + 4 | 0 | 0, (btVector3__operator_20float_20const__28_29_20const(HEAP32[($6 + 388 | 0) >> 2] | 0 | 0) | 0) + 8 | 0 | 0) | 0; + FUNCTION_TABLE[HEAP32[((HEAP32[$7 >> 2] | 0) + 16 | 0) >> 2] | 0 | 0]($7, $6 + 48 | 0, $6 + 32 | 0, HEAP32[($6 + 384 | 0) >> 2] | 0); + btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($6 + 16 | 0 | 0, btVector3__operator_20float_20const__28_29_20const(HEAP32[($6 + 392 | 0) >> 2] | 0 | 0) | 0 | 0, (btVector3__operator_20float_20const__28_29_20const(HEAP32[($6 + 388 | 0) >> 2] | 0 | 0) | 0) + 4 | 0 | 0, (btVector3__operator_20float_20const__28_29_20const(HEAP32[($6 + 388 | 0) >> 2] | 0 | 0) | 0) + 8 | 0 | 0) | 0; + btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($6 | 0, btVector3__operator_20float_20const__28_29_20const(HEAP32[($6 + 392 | 0) >> 2] | 0 | 0) | 0 | 0, (btVector3__operator_20float_20const__28_29_20const(HEAP32[($6 + 392 | 0) >> 2] | 0 | 0) | 0) + 4 | 0 | 0, (btVector3__operator_20float_20const__28_29_20const(HEAP32[($6 + 388 | 0) >> 2] | 0 | 0) | 0) + 8 | 0 | 0) | 0; + FUNCTION_TABLE[HEAP32[((HEAP32[$7 >> 2] | 0) + 16 | 0) >> 2] | 0 | 0]($7, $6 + 16 | 0, $6, HEAP32[($6 + 384 | 0) >> 2] | 0); + __stack_pointer = $6 + 400 | 0; + return; + } + + function btIDebugDraw__drawBox_28btVector3_20const__2c_20btVector3_20const__2c_20btTransform_20const__2c_20btVector3_20const__29($0, $1, $2, $3, $4) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + $4 = $4 | 0; + var $7 = 0, $8 = 0, $9 = 0, $29 = 0, $58 = 0, $78 = 0, $107 = 0, $127 = 0, $156 = 0, $176 = 0, $205 = 0, $225 = 0, $254 = 0, $274 = 0, $303 = 0, $323 = 0, $352 = 0, $372 = 0, $401 = 0, $421 = 0, $450 = 0, $470 = 0, $499 = 0, $519 = 0, $548 = 0, $568 = 0; + $7 = __stack_pointer - 800 | 0; + __stack_pointer = $7; + HEAP32[($7 + 796 | 0) >> 2] = $0; + HEAP32[($7 + 792 | 0) >> 2] = $1; + HEAP32[($7 + 788 | 0) >> 2] = $2; + HEAP32[($7 + 784 | 0) >> 2] = $3; + HEAP32[($7 + 780 | 0) >> 2] = $4; + $8 = HEAP32[($7 + 796 | 0) >> 2] | 0; + $9 = HEAP32[($7 + 784 | 0) >> 2] | 0; + btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($7 + 748 | 0 | 0, btVector3__operator_20float_20const__28_29_20const(HEAP32[($7 + 792 | 0) >> 2] | 0 | 0) | 0 | 0, (btVector3__operator_20float_20const__28_29_20const(HEAP32[($7 + 792 | 0) >> 2] | 0 | 0) | 0) + 4 | 0 | 0, (btVector3__operator_20float_20const__28_29_20const(HEAP32[($7 + 792 | 0) >> 2] | 0 | 0) | 0) + 8 | 0 | 0) | 0; + btTransform__operator__28btVector3_20const__29_20const($7 + 764 | 0 | 0, $9 | 0, $7 + 748 | 0 | 0); + $29 = HEAP32[($7 + 784 | 0) >> 2] | 0; + btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($7 + 716 | 0 | 0, btVector3__operator_20float_20const__28_29_20const(HEAP32[($7 + 788 | 0) >> 2] | 0 | 0) | 0 | 0, (btVector3__operator_20float_20const__28_29_20const(HEAP32[($7 + 792 | 0) >> 2] | 0 | 0) | 0) + 4 | 0 | 0, (btVector3__operator_20float_20const__28_29_20const(HEAP32[($7 + 792 | 0) >> 2] | 0 | 0) | 0) + 8 | 0 | 0) | 0; + btTransform__operator__28btVector3_20const__29_20const($7 + 732 | 0 | 0, $29 | 0, $7 + 716 | 0 | 0); + FUNCTION_TABLE[HEAP32[((HEAP32[$8 >> 2] | 0) + 16 | 0) >> 2] | 0 | 0]($8, $7 + 764 | 0, $7 + 732 | 0, HEAP32[($7 + 780 | 0) >> 2] | 0); + $58 = HEAP32[($7 + 784 | 0) >> 2] | 0; + btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($7 + 684 | 0 | 0, btVector3__operator_20float_20const__28_29_20const(HEAP32[($7 + 788 | 0) >> 2] | 0 | 0) | 0 | 0, (btVector3__operator_20float_20const__28_29_20const(HEAP32[($7 + 792 | 0) >> 2] | 0 | 0) | 0) + 4 | 0 | 0, (btVector3__operator_20float_20const__28_29_20const(HEAP32[($7 + 792 | 0) >> 2] | 0 | 0) | 0) + 8 | 0 | 0) | 0; + btTransform__operator__28btVector3_20const__29_20const($7 + 700 | 0 | 0, $58 | 0, $7 + 684 | 0 | 0); + $78 = HEAP32[($7 + 784 | 0) >> 2] | 0; + btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($7 + 652 | 0 | 0, btVector3__operator_20float_20const__28_29_20const(HEAP32[($7 + 788 | 0) >> 2] | 0 | 0) | 0 | 0, (btVector3__operator_20float_20const__28_29_20const(HEAP32[($7 + 788 | 0) >> 2] | 0 | 0) | 0) + 4 | 0 | 0, (btVector3__operator_20float_20const__28_29_20const(HEAP32[($7 + 792 | 0) >> 2] | 0 | 0) | 0) + 8 | 0 | 0) | 0; + btTransform__operator__28btVector3_20const__29_20const($7 + 668 | 0 | 0, $78 | 0, $7 + 652 | 0 | 0); + FUNCTION_TABLE[HEAP32[((HEAP32[$8 >> 2] | 0) + 16 | 0) >> 2] | 0 | 0]($8, $7 + 700 | 0, $7 + 668 | 0, HEAP32[($7 + 780 | 0) >> 2] | 0); + $107 = HEAP32[($7 + 784 | 0) >> 2] | 0; + btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($7 + 620 | 0 | 0, btVector3__operator_20float_20const__28_29_20const(HEAP32[($7 + 788 | 0) >> 2] | 0 | 0) | 0 | 0, (btVector3__operator_20float_20const__28_29_20const(HEAP32[($7 + 788 | 0) >> 2] | 0 | 0) | 0) + 4 | 0 | 0, (btVector3__operator_20float_20const__28_29_20const(HEAP32[($7 + 792 | 0) >> 2] | 0 | 0) | 0) + 8 | 0 | 0) | 0; + btTransform__operator__28btVector3_20const__29_20const($7 + 636 | 0 | 0, $107 | 0, $7 + 620 | 0 | 0); + $127 = HEAP32[($7 + 784 | 0) >> 2] | 0; + btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($7 + 588 | 0 | 0, btVector3__operator_20float_20const__28_29_20const(HEAP32[($7 + 792 | 0) >> 2] | 0 | 0) | 0 | 0, (btVector3__operator_20float_20const__28_29_20const(HEAP32[($7 + 788 | 0) >> 2] | 0 | 0) | 0) + 4 | 0 | 0, (btVector3__operator_20float_20const__28_29_20const(HEAP32[($7 + 792 | 0) >> 2] | 0 | 0) | 0) + 8 | 0 | 0) | 0; + btTransform__operator__28btVector3_20const__29_20const($7 + 604 | 0 | 0, $127 | 0, $7 + 588 | 0 | 0); + FUNCTION_TABLE[HEAP32[((HEAP32[$8 >> 2] | 0) + 16 | 0) >> 2] | 0 | 0]($8, $7 + 636 | 0, $7 + 604 | 0, HEAP32[($7 + 780 | 0) >> 2] | 0); + $156 = HEAP32[($7 + 784 | 0) >> 2] | 0; + btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($7 + 556 | 0 | 0, btVector3__operator_20float_20const__28_29_20const(HEAP32[($7 + 792 | 0) >> 2] | 0 | 0) | 0 | 0, (btVector3__operator_20float_20const__28_29_20const(HEAP32[($7 + 788 | 0) >> 2] | 0 | 0) | 0) + 4 | 0 | 0, (btVector3__operator_20float_20const__28_29_20const(HEAP32[($7 + 792 | 0) >> 2] | 0 | 0) | 0) + 8 | 0 | 0) | 0; + btTransform__operator__28btVector3_20const__29_20const($7 + 572 | 0 | 0, $156 | 0, $7 + 556 | 0 | 0); + $176 = HEAP32[($7 + 784 | 0) >> 2] | 0; + btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($7 + 524 | 0 | 0, btVector3__operator_20float_20const__28_29_20const(HEAP32[($7 + 792 | 0) >> 2] | 0 | 0) | 0 | 0, (btVector3__operator_20float_20const__28_29_20const(HEAP32[($7 + 792 | 0) >> 2] | 0 | 0) | 0) + 4 | 0 | 0, (btVector3__operator_20float_20const__28_29_20const(HEAP32[($7 + 792 | 0) >> 2] | 0 | 0) | 0) + 8 | 0 | 0) | 0; + btTransform__operator__28btVector3_20const__29_20const($7 + 540 | 0 | 0, $176 | 0, $7 + 524 | 0 | 0); + FUNCTION_TABLE[HEAP32[((HEAP32[$8 >> 2] | 0) + 16 | 0) >> 2] | 0 | 0]($8, $7 + 572 | 0, $7 + 540 | 0, HEAP32[($7 + 780 | 0) >> 2] | 0); + $205 = HEAP32[($7 + 784 | 0) >> 2] | 0; + btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($7 + 492 | 0 | 0, btVector3__operator_20float_20const__28_29_20const(HEAP32[($7 + 792 | 0) >> 2] | 0 | 0) | 0 | 0, (btVector3__operator_20float_20const__28_29_20const(HEAP32[($7 + 792 | 0) >> 2] | 0 | 0) | 0) + 4 | 0 | 0, (btVector3__operator_20float_20const__28_29_20const(HEAP32[($7 + 792 | 0) >> 2] | 0 | 0) | 0) + 8 | 0 | 0) | 0; + btTransform__operator__28btVector3_20const__29_20const($7 + 508 | 0 | 0, $205 | 0, $7 + 492 | 0 | 0); + $225 = HEAP32[($7 + 784 | 0) >> 2] | 0; + btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($7 + 460 | 0 | 0, btVector3__operator_20float_20const__28_29_20const(HEAP32[($7 + 792 | 0) >> 2] | 0 | 0) | 0 | 0, (btVector3__operator_20float_20const__28_29_20const(HEAP32[($7 + 792 | 0) >> 2] | 0 | 0) | 0) + 4 | 0 | 0, (btVector3__operator_20float_20const__28_29_20const(HEAP32[($7 + 788 | 0) >> 2] | 0 | 0) | 0) + 8 | 0 | 0) | 0; + btTransform__operator__28btVector3_20const__29_20const($7 + 476 | 0 | 0, $225 | 0, $7 + 460 | 0 | 0); + FUNCTION_TABLE[HEAP32[((HEAP32[$8 >> 2] | 0) + 16 | 0) >> 2] | 0 | 0]($8, $7 + 508 | 0, $7 + 476 | 0, HEAP32[($7 + 780 | 0) >> 2] | 0); + $254 = HEAP32[($7 + 784 | 0) >> 2] | 0; + btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($7 + 428 | 0 | 0, btVector3__operator_20float_20const__28_29_20const(HEAP32[($7 + 788 | 0) >> 2] | 0 | 0) | 0 | 0, (btVector3__operator_20float_20const__28_29_20const(HEAP32[($7 + 792 | 0) >> 2] | 0 | 0) | 0) + 4 | 0 | 0, (btVector3__operator_20float_20const__28_29_20const(HEAP32[($7 + 792 | 0) >> 2] | 0 | 0) | 0) + 8 | 0 | 0) | 0; + btTransform__operator__28btVector3_20const__29_20const($7 + 444 | 0 | 0, $254 | 0, $7 + 428 | 0 | 0); + $274 = HEAP32[($7 + 784 | 0) >> 2] | 0; + btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($7 + 396 | 0 | 0, btVector3__operator_20float_20const__28_29_20const(HEAP32[($7 + 788 | 0) >> 2] | 0 | 0) | 0 | 0, (btVector3__operator_20float_20const__28_29_20const(HEAP32[($7 + 792 | 0) >> 2] | 0 | 0) | 0) + 4 | 0 | 0, (btVector3__operator_20float_20const__28_29_20const(HEAP32[($7 + 788 | 0) >> 2] | 0 | 0) | 0) + 8 | 0 | 0) | 0; + btTransform__operator__28btVector3_20const__29_20const($7 + 412 | 0 | 0, $274 | 0, $7 + 396 | 0 | 0); + FUNCTION_TABLE[HEAP32[((HEAP32[$8 >> 2] | 0) + 16 | 0) >> 2] | 0 | 0]($8, $7 + 444 | 0, $7 + 412 | 0, HEAP32[($7 + 780 | 0) >> 2] | 0); + $303 = HEAP32[($7 + 784 | 0) >> 2] | 0; + btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($7 + 364 | 0 | 0, btVector3__operator_20float_20const__28_29_20const(HEAP32[($7 + 788 | 0) >> 2] | 0 | 0) | 0 | 0, (btVector3__operator_20float_20const__28_29_20const(HEAP32[($7 + 788 | 0) >> 2] | 0 | 0) | 0) + 4 | 0 | 0, (btVector3__operator_20float_20const__28_29_20const(HEAP32[($7 + 792 | 0) >> 2] | 0 | 0) | 0) + 8 | 0 | 0) | 0; + btTransform__operator__28btVector3_20const__29_20const($7 + 380 | 0 | 0, $303 | 0, $7 + 364 | 0 | 0); + $323 = HEAP32[($7 + 784 | 0) >> 2] | 0; + btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($7 + 332 | 0 | 0, btVector3__operator_20float_20const__28_29_20const(HEAP32[($7 + 788 | 0) >> 2] | 0 | 0) | 0 | 0, (btVector3__operator_20float_20const__28_29_20const(HEAP32[($7 + 788 | 0) >> 2] | 0 | 0) | 0) + 4 | 0 | 0, (btVector3__operator_20float_20const__28_29_20const(HEAP32[($7 + 788 | 0) >> 2] | 0 | 0) | 0) + 8 | 0 | 0) | 0; + btTransform__operator__28btVector3_20const__29_20const($7 + 348 | 0 | 0, $323 | 0, $7 + 332 | 0 | 0); + FUNCTION_TABLE[HEAP32[((HEAP32[$8 >> 2] | 0) + 16 | 0) >> 2] | 0 | 0]($8, $7 + 380 | 0, $7 + 348 | 0, HEAP32[($7 + 780 | 0) >> 2] | 0); + $352 = HEAP32[($7 + 784 | 0) >> 2] | 0; + btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($7 + 300 | 0 | 0, btVector3__operator_20float_20const__28_29_20const(HEAP32[($7 + 792 | 0) >> 2] | 0 | 0) | 0 | 0, (btVector3__operator_20float_20const__28_29_20const(HEAP32[($7 + 788 | 0) >> 2] | 0 | 0) | 0) + 4 | 0 | 0, (btVector3__operator_20float_20const__28_29_20const(HEAP32[($7 + 792 | 0) >> 2] | 0 | 0) | 0) + 8 | 0 | 0) | 0; + btTransform__operator__28btVector3_20const__29_20const($7 + 316 | 0 | 0, $352 | 0, $7 + 300 | 0 | 0); + $372 = HEAP32[($7 + 784 | 0) >> 2] | 0; + btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($7 + 268 | 0 | 0, btVector3__operator_20float_20const__28_29_20const(HEAP32[($7 + 792 | 0) >> 2] | 0 | 0) | 0 | 0, (btVector3__operator_20float_20const__28_29_20const(HEAP32[($7 + 788 | 0) >> 2] | 0 | 0) | 0) + 4 | 0 | 0, (btVector3__operator_20float_20const__28_29_20const(HEAP32[($7 + 788 | 0) >> 2] | 0 | 0) | 0) + 8 | 0 | 0) | 0; + btTransform__operator__28btVector3_20const__29_20const($7 + 284 | 0 | 0, $372 | 0, $7 + 268 | 0 | 0); + FUNCTION_TABLE[HEAP32[((HEAP32[$8 >> 2] | 0) + 16 | 0) >> 2] | 0 | 0]($8, $7 + 316 | 0, $7 + 284 | 0, HEAP32[($7 + 780 | 0) >> 2] | 0); + $401 = HEAP32[($7 + 784 | 0) >> 2] | 0; + btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($7 + 236 | 0 | 0, btVector3__operator_20float_20const__28_29_20const(HEAP32[($7 + 792 | 0) >> 2] | 0 | 0) | 0 | 0, (btVector3__operator_20float_20const__28_29_20const(HEAP32[($7 + 792 | 0) >> 2] | 0 | 0) | 0) + 4 | 0 | 0, (btVector3__operator_20float_20const__28_29_20const(HEAP32[($7 + 788 | 0) >> 2] | 0 | 0) | 0) + 8 | 0 | 0) | 0; + btTransform__operator__28btVector3_20const__29_20const($7 + 252 | 0 | 0, $401 | 0, $7 + 236 | 0 | 0); + $421 = HEAP32[($7 + 784 | 0) >> 2] | 0; + btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($7 + 204 | 0 | 0, btVector3__operator_20float_20const__28_29_20const(HEAP32[($7 + 788 | 0) >> 2] | 0 | 0) | 0 | 0, (btVector3__operator_20float_20const__28_29_20const(HEAP32[($7 + 792 | 0) >> 2] | 0 | 0) | 0) + 4 | 0 | 0, (btVector3__operator_20float_20const__28_29_20const(HEAP32[($7 + 788 | 0) >> 2] | 0 | 0) | 0) + 8 | 0 | 0) | 0; + btTransform__operator__28btVector3_20const__29_20const($7 + 220 | 0 | 0, $421 | 0, $7 + 204 | 0 | 0); + FUNCTION_TABLE[HEAP32[((HEAP32[$8 >> 2] | 0) + 16 | 0) >> 2] | 0 | 0]($8, $7 + 252 | 0, $7 + 220 | 0, HEAP32[($7 + 780 | 0) >> 2] | 0); + $450 = HEAP32[($7 + 784 | 0) >> 2] | 0; + btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($7 + 172 | 0 | 0, btVector3__operator_20float_20const__28_29_20const(HEAP32[($7 + 788 | 0) >> 2] | 0 | 0) | 0 | 0, (btVector3__operator_20float_20const__28_29_20const(HEAP32[($7 + 792 | 0) >> 2] | 0 | 0) | 0) + 4 | 0 | 0, (btVector3__operator_20float_20const__28_29_20const(HEAP32[($7 + 788 | 0) >> 2] | 0 | 0) | 0) + 8 | 0 | 0) | 0; + btTransform__operator__28btVector3_20const__29_20const($7 + 188 | 0 | 0, $450 | 0, $7 + 172 | 0 | 0); + $470 = HEAP32[($7 + 784 | 0) >> 2] | 0; + btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($7 + 140 | 0 | 0, btVector3__operator_20float_20const__28_29_20const(HEAP32[($7 + 788 | 0) >> 2] | 0 | 0) | 0 | 0, (btVector3__operator_20float_20const__28_29_20const(HEAP32[($7 + 788 | 0) >> 2] | 0 | 0) | 0) + 4 | 0 | 0, (btVector3__operator_20float_20const__28_29_20const(HEAP32[($7 + 788 | 0) >> 2] | 0 | 0) | 0) + 8 | 0 | 0) | 0; + btTransform__operator__28btVector3_20const__29_20const($7 + 156 | 0 | 0, $470 | 0, $7 + 140 | 0 | 0); + FUNCTION_TABLE[HEAP32[((HEAP32[$8 >> 2] | 0) + 16 | 0) >> 2] | 0 | 0]($8, $7 + 188 | 0, $7 + 156 | 0, HEAP32[($7 + 780 | 0) >> 2] | 0); + $499 = HEAP32[($7 + 784 | 0) >> 2] | 0; + btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($7 + 108 | 0 | 0, btVector3__operator_20float_20const__28_29_20const(HEAP32[($7 + 788 | 0) >> 2] | 0 | 0) | 0 | 0, (btVector3__operator_20float_20const__28_29_20const(HEAP32[($7 + 788 | 0) >> 2] | 0 | 0) | 0) + 4 | 0 | 0, (btVector3__operator_20float_20const__28_29_20const(HEAP32[($7 + 788 | 0) >> 2] | 0 | 0) | 0) + 8 | 0 | 0) | 0; + btTransform__operator__28btVector3_20const__29_20const($7 + 124 | 0 | 0, $499 | 0, $7 + 108 | 0 | 0); + $519 = HEAP32[($7 + 784 | 0) >> 2] | 0; + btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($7 + 76 | 0 | 0, btVector3__operator_20float_20const__28_29_20const(HEAP32[($7 + 792 | 0) >> 2] | 0 | 0) | 0 | 0, (btVector3__operator_20float_20const__28_29_20const(HEAP32[($7 + 788 | 0) >> 2] | 0 | 0) | 0) + 4 | 0 | 0, (btVector3__operator_20float_20const__28_29_20const(HEAP32[($7 + 788 | 0) >> 2] | 0 | 0) | 0) + 8 | 0 | 0) | 0; + btTransform__operator__28btVector3_20const__29_20const($7 + 92 | 0 | 0, $519 | 0, $7 + 76 | 0 | 0); + FUNCTION_TABLE[HEAP32[((HEAP32[$8 >> 2] | 0) + 16 | 0) >> 2] | 0 | 0]($8, $7 + 124 | 0, $7 + 92 | 0, HEAP32[($7 + 780 | 0) >> 2] | 0); + $548 = HEAP32[($7 + 784 | 0) >> 2] | 0; + btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($7 + 44 | 0 | 0, btVector3__operator_20float_20const__28_29_20const(HEAP32[($7 + 792 | 0) >> 2] | 0 | 0) | 0 | 0, (btVector3__operator_20float_20const__28_29_20const(HEAP32[($7 + 788 | 0) >> 2] | 0 | 0) | 0) + 4 | 0 | 0, (btVector3__operator_20float_20const__28_29_20const(HEAP32[($7 + 788 | 0) >> 2] | 0 | 0) | 0) + 8 | 0 | 0) | 0; + btTransform__operator__28btVector3_20const__29_20const($7 + 60 | 0 | 0, $548 | 0, $7 + 44 | 0 | 0); + $568 = HEAP32[($7 + 784 | 0) >> 2] | 0; + btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($7 + 12 | 0 | 0, btVector3__operator_20float_20const__28_29_20const(HEAP32[($7 + 792 | 0) >> 2] | 0 | 0) | 0 | 0, (btVector3__operator_20float_20const__28_29_20const(HEAP32[($7 + 792 | 0) >> 2] | 0 | 0) | 0) + 4 | 0 | 0, (btVector3__operator_20float_20const__28_29_20const(HEAP32[($7 + 788 | 0) >> 2] | 0 | 0) | 0) + 8 | 0 | 0) | 0; + btTransform__operator__28btVector3_20const__29_20const($7 + 28 | 0 | 0, $568 | 0, $7 + 12 | 0 | 0); + FUNCTION_TABLE[HEAP32[((HEAP32[$8 >> 2] | 0) + 16 | 0) >> 2] | 0 | 0]($8, $7 + 60 | 0, $7 + 28 | 0, HEAP32[($7 + 780 | 0) >> 2] | 0); + __stack_pointer = $7 + 800 | 0; + return; + } + + function btTransform__operator__28btVector3_20const__29_20const($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $5 = 0; + $5 = __stack_pointer - 16 | 0; + __stack_pointer = $5; + HEAP32[($5 + 12 | 0) >> 2] = $1; + HEAP32[($5 + 8 | 0) >> 2] = $2; + btTransform__operator_28_29_28btVector3_20const__29_20const($0 | 0, HEAP32[($5 + 12 | 0) >> 2] | 0 | 0, HEAP32[($5 + 8 | 0) >> 2] | 0 | 0); + __stack_pointer = $5 + 16 | 0; + return; + } + + function btIDebugDraw__drawCapsule_28float_2c_20float_2c_20int_2c_20btTransform_20const__2c_20btVector3_20const__29($0, $1, $2, $3, $4, $5) { + $0 = $0 | 0; + $1 = Math_fround($1); + $2 = Math_fround($2); + $3 = $3 | 0; + $4 = $4 | 0; + $5 = $5 | 0; + var $8 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, $9 = 0, $80 = 0, $82 = 0, $91 = 0, $92 = 0, $165 = 0, $167 = 0, $176 = 0, $177 = 0, $231 = 0, $232 = 0, $253 = Math_fround(0), $284 = Math_fround(0), $30 = Math_fround(0), $57 = Math_fround(0), $513 = 0, $526 = 0, $545 = 0, $549 = 0, $683 = 0, $696 = 0, $715 = 0, $719 = 0, $828 = 0, $832 = 0, wasm2js_i32$0 = 0, wasm2js_f32$0 = Math_fround(0); + $8 = __stack_pointer - 480 | 0; + __stack_pointer = $8; + HEAP32[($8 + 476 | 0) >> 2] = $0; + HEAPF32[($8 + 472 | 0) >> 2] = $1; + HEAPF32[($8 + 468 | 0) >> 2] = $2; + HEAP32[($8 + 464 | 0) >> 2] = $3; + HEAP32[($8 + 460 | 0) >> 2] = $4; + HEAP32[($8 + 456 | 0) >> 2] = $5; + $9 = HEAP32[($8 + 476 | 0) >> 2] | 0; + HEAP32[($8 + 452 | 0) >> 2] = 30; + HEAPF32[($8 + 432 | 0) >> 2] = Math_fround(0 | 0); + HEAPF32[($8 + 428 | 0) >> 2] = Math_fround(0 | 0); + HEAPF32[($8 + 424 | 0) >> 2] = Math_fround(0 | 0); + btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($8 + 436 | 0 | 0, $8 + 432 | 0 | 0, $8 + 428 | 0 | 0, $8 + 424 | 0 | 0) | 0; + $30 = Math_fround(-Math_fround(HEAPF32[($8 + 468 | 0) >> 2])); + (wasm2js_i32$0 = (btVector3__operator_20float__28_29($8 + 436 | 0 | 0) | 0) + ((HEAP32[($8 + 464 | 0) >> 2] | 0) << 2 | 0) | 0, wasm2js_f32$0 = $30), HEAPF32[wasm2js_i32$0 >> 2] = wasm2js_f32$0; + HEAPF32[($8 + 404 | 0) >> 2] = Math_fround(0 | 0); + HEAPF32[($8 + 400 | 0) >> 2] = Math_fround(0 | 0); + HEAPF32[($8 + 396 | 0) >> 2] = Math_fround(0 | 0); + btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($8 + 408 | 0 | 0, $8 + 404 | 0 | 0, $8 + 400 | 0 | 0, $8 + 396 | 0 | 0) | 0; + $57 = Math_fround(HEAPF32[($8 + 468 | 0) >> 2]); + (wasm2js_i32$0 = (btVector3__operator_20float__28_29($8 + 408 | 0 | 0) | 0) + ((HEAP32[($8 + 464 | 0) >> 2] | 0) << 2 | 0) | 0, wasm2js_f32$0 = $57), HEAPF32[wasm2js_i32$0 >> 2] = wasm2js_f32$0; + btTransform__btTransform_28btTransform_20const__29($8 + 332 | 0 | 0, HEAP32[($8 + 460 | 0) >> 2] | 0 | 0) | 0; + btTransform__operator__28btVector3_20const__29_20const($8 + 316 | 0 | 0, HEAP32[($8 + 460 | 0) >> 2] | 0 | 0, $8 + 436 | 0 | 0); + $80 = btTransform__getOrigin_28_29($8 + 332 | 0 | 0) | 0; + i64toi32_i32$2 = $8; + i64toi32_i32$0 = HEAP32[($8 + 316 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($8 + 320 | 0) >> 2] | 0; + $513 = i64toi32_i32$0; + i64toi32_i32$0 = $80; + HEAP32[i64toi32_i32$0 >> 2] = $513; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $82 = 8; + i64toi32_i32$2 = ($8 + 316 | 0) + $82 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $526 = i64toi32_i32$1; + i64toi32_i32$1 = $80 + $82 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $526; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + $91 = btTransform__getOrigin_28_29($8 + 332 | 0 | 0) | 0; + $92 = 8; + i64toi32_i32$2 = $91 + $92 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $545 = i64toi32_i32$0; + i64toi32_i32$0 = ($8 + 296 | 0) + $92 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $545; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$2 = $91; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $549 = i64toi32_i32$1; + i64toi32_i32$1 = $8; + HEAP32[($8 + 296 | 0) >> 2] = $549; + HEAP32[($8 + 300 | 0) >> 2] = i64toi32_i32$0; + btMatrix3x3__getColumn_28int_29_20const($8 + 280 | 0 | 0, btTransform__getBasis_28_29($8 + 332 | 0 | 0) | 0 | 0, ((HEAP32[($8 + 464 | 0) >> 2] | 0) + 1 | 0 | 0) % (3 | 0) | 0 | 0); + btMatrix3x3__getColumn_28int_29_20const($8 + 248 | 0 | 0, btTransform__getBasis_28_29($8 + 332 | 0 | 0) | 0 | 0, HEAP32[($8 + 464 | 0) >> 2] | 0 | 0); + operator__28btVector3_20const__29($8 + 264 | 0 | 0, $8 + 248 | 0 | 0); + HEAPF32[($8 + 244 | 0) >> 2] = Math_fround(-1.5707963705062866); + HEAPF32[($8 + 240 | 0) >> 2] = Math_fround(1.5707963705062866); + HEAPF32[($8 + 236 | 0) >> 2] = Math_fround(-1.5707963705062866); + HEAPF32[($8 + 232 | 0) >> 2] = Math_fround(1.5707963705062866); + FUNCTION_TABLE[HEAP32[((HEAP32[$9 >> 2] | 0) + 72 | 0) >> 2] | 0 | 0]($9, $8 + 296 | 0, $8 + 280 | 0, $8 + 264 | 0, Math_fround(HEAPF32[($8 + 472 | 0) >> 2]), Math_fround(HEAPF32[($8 + 244 | 0) >> 2]), Math_fround(HEAPF32[($8 + 240 | 0) >> 2]), Math_fround(HEAPF32[($8 + 236 | 0) >> 2]), Math_fround(HEAPF32[($8 + 232 | 0) >> 2]), HEAP32[($8 + 456 | 0) >> 2] | 0, Math_fround(HEAP32[($8 + 452 | 0) >> 2] | 0 | 0), 0 & 1 | 0); + btTransform__btTransform_28btTransform_20const__29($8 + 168 | 0 | 0, HEAP32[($8 + 460 | 0) >> 2] | 0 | 0) | 0; + btTransform__operator__28btVector3_20const__29_20const($8 + 152 | 0 | 0, HEAP32[($8 + 460 | 0) >> 2] | 0 | 0, $8 + 408 | 0 | 0); + $165 = btTransform__getOrigin_28_29($8 + 168 | 0 | 0) | 0; + i64toi32_i32$2 = $8; + i64toi32_i32$0 = HEAP32[($8 + 152 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($8 + 156 | 0) >> 2] | 0; + $683 = i64toi32_i32$0; + i64toi32_i32$0 = $165; + HEAP32[i64toi32_i32$0 >> 2] = $683; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $167 = 8; + i64toi32_i32$2 = ($8 + 152 | 0) + $167 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $696 = i64toi32_i32$1; + i64toi32_i32$1 = $165 + $167 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $696; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + $176 = btTransform__getOrigin_28_29($8 + 168 | 0 | 0) | 0; + $177 = 8; + i64toi32_i32$2 = $176 + $177 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $715 = i64toi32_i32$0; + i64toi32_i32$0 = ($8 + 136 | 0) + $177 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $715; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$2 = $176; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $719 = i64toi32_i32$1; + i64toi32_i32$1 = $8; + HEAP32[($8 + 136 | 0) >> 2] = $719; + HEAP32[($8 + 140 | 0) >> 2] = i64toi32_i32$0; + btMatrix3x3__getColumn_28int_29_20const($8 + 120 | 0 | 0, btTransform__getBasis_28_29($8 + 168 | 0 | 0) | 0 | 0, ((HEAP32[($8 + 464 | 0) >> 2] | 0) + 1 | 0 | 0) % (3 | 0) | 0 | 0); + btMatrix3x3__getColumn_28int_29_20const($8 + 104 | 0 | 0, btTransform__getBasis_28_29($8 + 168 | 0 | 0) | 0 | 0, HEAP32[($8 + 464 | 0) >> 2] | 0 | 0); + HEAPF32[($8 + 100 | 0) >> 2] = Math_fround(-1.5707963705062866); + HEAPF32[($8 + 96 | 0) >> 2] = Math_fround(1.5707963705062866); + HEAPF32[($8 + 92 | 0) >> 2] = Math_fround(-1.5707963705062866); + HEAPF32[($8 + 88 | 0) >> 2] = Math_fround(1.5707963705062866); + FUNCTION_TABLE[HEAP32[((HEAP32[$9 >> 2] | 0) + 72 | 0) >> 2] | 0 | 0]($9, $8 + 136 | 0, $8 + 120 | 0, $8 + 104 | 0, Math_fround(HEAPF32[($8 + 472 | 0) >> 2]), Math_fround(HEAPF32[($8 + 100 | 0) >> 2]), Math_fround(HEAPF32[($8 + 96 | 0) >> 2]), Math_fround(HEAPF32[($8 + 92 | 0) >> 2]), Math_fround(HEAPF32[($8 + 88 | 0) >> 2]), HEAP32[($8 + 456 | 0) >> 2] | 0, Math_fround(HEAP32[($8 + 452 | 0) >> 2] | 0 | 0), 0 & 1 | 0); + $231 = btTransform__getOrigin_28_29_20const(HEAP32[($8 + 460 | 0) >> 2] | 0 | 0) | 0; + $232 = 8; + i64toi32_i32$2 = $231 + $232 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $828 = i64toi32_i32$0; + i64toi32_i32$0 = ($8 + 72 | 0) + $232 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $828; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$2 = $231; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $832 = i64toi32_i32$1; + i64toi32_i32$1 = $8; + HEAP32[($8 + 72 | 0) >> 2] = $832; + HEAP32[($8 + 76 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($8 + 68 | 0) >> 2] = 0; + label$1 : { + label$2 : while (1) { + if (!((HEAP32[($8 + 68 | 0) >> 2] | 0 | 0) < (360 | 0) & 1 | 0)) { + break label$1 + } + $253 = Math_fround(Math_fround(btSin_28float_29(Math_fround(Math_fround(Math_fround(HEAP32[($8 + 68 | 0) >> 2] | 0 | 0) * Math_fround(.01745329238474369))))) * Math_fround(HEAPF32[($8 + 472 | 0) >> 2])); + (wasm2js_i32$0 = (btVector3__operator_20float__28_29($8 + 436 | 0 | 0) | 0) + ((((HEAP32[($8 + 464 | 0) >> 2] | 0) + 1 | 0 | 0) % (3 | 0) | 0) << 2 | 0) | 0, wasm2js_f32$0 = $253), HEAPF32[wasm2js_i32$0 >> 2] = wasm2js_f32$0; + (wasm2js_i32$0 = (btVector3__operator_20float__28_29($8 + 408 | 0 | 0) | 0) + ((((HEAP32[($8 + 464 | 0) >> 2] | 0) + 1 | 0 | 0) % (3 | 0) | 0) << 2 | 0) | 0, wasm2js_f32$0 = $253), HEAPF32[wasm2js_i32$0 >> 2] = wasm2js_f32$0; + $284 = Math_fround(Math_fround(btCos_28float_29(Math_fround(Math_fround(Math_fround(HEAP32[($8 + 68 | 0) >> 2] | 0 | 0) * Math_fround(.01745329238474369))))) * Math_fround(HEAPF32[($8 + 472 | 0) >> 2])); + (wasm2js_i32$0 = (btVector3__operator_20float__28_29($8 + 436 | 0 | 0) | 0) + ((((HEAP32[($8 + 464 | 0) >> 2] | 0) + 2 | 0 | 0) % (3 | 0) | 0) << 2 | 0) | 0, wasm2js_f32$0 = $284), HEAPF32[wasm2js_i32$0 >> 2] = wasm2js_f32$0; + (wasm2js_i32$0 = (btVector3__operator_20float__28_29($8 + 408 | 0 | 0) | 0) + ((((HEAP32[($8 + 464 | 0) >> 2] | 0) + 2 | 0 | 0) % (3 | 0) | 0) << 2 | 0) | 0, wasm2js_f32$0 = $284), HEAPF32[wasm2js_i32$0 >> 2] = wasm2js_f32$0; + operator__28btMatrix3x3_20const__2c_20btVector3_20const__29($8 + 36 | 0 | 0, btTransform__getBasis_28_29_20const(HEAP32[($8 + 460 | 0) >> 2] | 0 | 0) | 0 | 0, $8 + 436 | 0 | 0); + operator__28btVector3_20const__2c_20btVector3_20const__29_2($8 + 52 | 0 | 0, $8 + 72 | 0 | 0, $8 + 36 | 0 | 0); + operator__28btMatrix3x3_20const__2c_20btVector3_20const__29($8 + 4 | 0 | 0, btTransform__getBasis_28_29_20const(HEAP32[($8 + 460 | 0) >> 2] | 0 | 0) | 0 | 0, $8 + 408 | 0 | 0); + operator__28btVector3_20const__2c_20btVector3_20const__29_2($8 + 20 | 0 | 0, $8 + 72 | 0 | 0, $8 + 4 | 0 | 0); + FUNCTION_TABLE[HEAP32[((HEAP32[$9 >> 2] | 0) + 16 | 0) >> 2] | 0 | 0]($9, $8 + 52 | 0, $8 + 20 | 0, HEAP32[($8 + 456 | 0) >> 2] | 0); + HEAP32[($8 + 68 | 0) >> 2] = (HEAP32[($8 + 68 | 0) >> 2] | 0) + (HEAP32[($8 + 452 | 0) >> 2] | 0) | 0; + continue label$2; + }; + } + __stack_pointer = $8 + 480 | 0; + return; + } + + function btIDebugDraw__drawCylinder_28float_2c_20float_2c_20int_2c_20btTransform_20const__2c_20btVector3_20const__29($0, $1, $2, $3, $4, $5) { + $0 = $0 | 0; + $1 = Math_fround($1); + $2 = Math_fround($2); + $3 = $3 | 0; + $4 = $4 | 0; + $5 = $5 | 0; + var $8 = 0, $9 = 0, i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, i64toi32_i32$1 = 0, $11 = 0, $12 = 0, $116 = Math_fround(0), $147 = Math_fround(0), $421 = 0, $425 = 0, $37 = Math_fround(0), $66 = Math_fround(0), $93 = Math_fround(0), wasm2js_i32$0 = 0, wasm2js_f32$0 = Math_fround(0); + $8 = __stack_pointer - 384 | 0; + __stack_pointer = $8; + HEAP32[($8 + 380 | 0) >> 2] = $0; + HEAPF32[($8 + 376 | 0) >> 2] = $1; + HEAPF32[($8 + 372 | 0) >> 2] = $2; + HEAP32[($8 + 368 | 0) >> 2] = $3; + HEAP32[($8 + 364 | 0) >> 2] = $4; + HEAP32[($8 + 360 | 0) >> 2] = $5; + $9 = HEAP32[($8 + 380 | 0) >> 2] | 0; + $11 = btTransform__getOrigin_28_29_20const(HEAP32[($8 + 364 | 0) >> 2] | 0 | 0) | 0; + $12 = 8; + i64toi32_i32$2 = $11 + $12 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $421 = i64toi32_i32$0; + i64toi32_i32$0 = ($8 + 344 | 0) + $12 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $421; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$2 = $11; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $425 = i64toi32_i32$1; + i64toi32_i32$1 = $8; + HEAP32[($8 + 344 | 0) >> 2] = $425; + HEAP32[($8 + 348 | 0) >> 2] = i64toi32_i32$0; + HEAPF32[($8 + 324 | 0) >> 2] = Math_fround(0 | 0); + HEAPF32[($8 + 320 | 0) >> 2] = Math_fround(0 | 0); + HEAPF32[($8 + 316 | 0) >> 2] = Math_fround(0 | 0); + btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($8 + 328 | 0 | 0, $8 + 324 | 0 | 0, $8 + 320 | 0 | 0, $8 + 316 | 0 | 0) | 0; + $37 = Math_fround(HEAPF32[($8 + 372 | 0) >> 2]); + (wasm2js_i32$0 = (btVector3__operator_20float__28_29($8 + 328 | 0 | 0) | 0) + ((HEAP32[($8 + 368 | 0) >> 2] | 0) << 2 | 0) | 0, wasm2js_f32$0 = $37), HEAPF32[wasm2js_i32$0 >> 2] = wasm2js_f32$0; + HEAP32[($8 + 312 | 0) >> 2] = 30; + HEAPF32[($8 + 292 | 0) >> 2] = Math_fround(0 | 0); + HEAPF32[($8 + 288 | 0) >> 2] = Math_fround(0 | 0); + HEAPF32[($8 + 284 | 0) >> 2] = Math_fround(0 | 0); + btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($8 + 296 | 0 | 0, $8 + 292 | 0 | 0, $8 + 288 | 0 | 0, $8 + 284 | 0 | 0) | 0; + $66 = Math_fround(-Math_fround(HEAPF32[($8 + 372 | 0) >> 2])); + (wasm2js_i32$0 = (btVector3__operator_20float__28_29($8 + 296 | 0 | 0) | 0) + ((HEAP32[($8 + 368 | 0) >> 2] | 0) << 2 | 0) | 0, wasm2js_f32$0 = $66), HEAPF32[wasm2js_i32$0 >> 2] = wasm2js_f32$0; + HEAPF32[($8 + 264 | 0) >> 2] = Math_fround(0 | 0); + HEAPF32[($8 + 260 | 0) >> 2] = Math_fround(0 | 0); + HEAPF32[($8 + 256 | 0) >> 2] = Math_fround(0 | 0); + btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($8 + 268 | 0 | 0, $8 + 264 | 0 | 0, $8 + 260 | 0 | 0, $8 + 256 | 0 | 0) | 0; + $93 = Math_fround(HEAPF32[($8 + 372 | 0) >> 2]); + (wasm2js_i32$0 = (btVector3__operator_20float__28_29($8 + 268 | 0 | 0) | 0) + ((HEAP32[($8 + 368 | 0) >> 2] | 0) << 2 | 0) | 0, wasm2js_f32$0 = $93), HEAPF32[wasm2js_i32$0 >> 2] = wasm2js_f32$0; + HEAP32[($8 + 252 | 0) >> 2] = 0; + label$1 : { + label$2 : while (1) { + if (!((HEAP32[($8 + 252 | 0) >> 2] | 0 | 0) < (360 | 0) & 1 | 0)) { + break label$1 + } + $116 = Math_fround(Math_fround(btSin_28float_29(Math_fround(Math_fround(Math_fround(HEAP32[($8 + 252 | 0) >> 2] | 0 | 0) * Math_fround(.01745329238474369))))) * Math_fround(HEAPF32[($8 + 376 | 0) >> 2])); + (wasm2js_i32$0 = (btVector3__operator_20float__28_29($8 + 296 | 0 | 0) | 0) + ((((HEAP32[($8 + 368 | 0) >> 2] | 0) + 1 | 0 | 0) % (3 | 0) | 0) << 2 | 0) | 0, wasm2js_f32$0 = $116), HEAPF32[wasm2js_i32$0 >> 2] = wasm2js_f32$0; + (wasm2js_i32$0 = (btVector3__operator_20float__28_29($8 + 268 | 0 | 0) | 0) + ((((HEAP32[($8 + 368 | 0) >> 2] | 0) + 1 | 0 | 0) % (3 | 0) | 0) << 2 | 0) | 0, wasm2js_f32$0 = $116), HEAPF32[wasm2js_i32$0 >> 2] = wasm2js_f32$0; + $147 = Math_fround(Math_fround(btCos_28float_29(Math_fround(Math_fround(Math_fround(HEAP32[($8 + 252 | 0) >> 2] | 0 | 0) * Math_fround(.01745329238474369))))) * Math_fround(HEAPF32[($8 + 376 | 0) >> 2])); + (wasm2js_i32$0 = (btVector3__operator_20float__28_29($8 + 296 | 0 | 0) | 0) + ((((HEAP32[($8 + 368 | 0) >> 2] | 0) + 2 | 0 | 0) % (3 | 0) | 0) << 2 | 0) | 0, wasm2js_f32$0 = $147), HEAPF32[wasm2js_i32$0 >> 2] = wasm2js_f32$0; + (wasm2js_i32$0 = (btVector3__operator_20float__28_29($8 + 268 | 0 | 0) | 0) + ((((HEAP32[($8 + 368 | 0) >> 2] | 0) + 2 | 0 | 0) % (3 | 0) | 0) << 2 | 0) | 0, wasm2js_f32$0 = $147), HEAPF32[wasm2js_i32$0 >> 2] = wasm2js_f32$0; + operator__28btMatrix3x3_20const__2c_20btVector3_20const__29($8 + 220 | 0 | 0, btTransform__getBasis_28_29_20const(HEAP32[($8 + 364 | 0) >> 2] | 0 | 0) | 0 | 0, $8 + 296 | 0 | 0); + operator__28btVector3_20const__2c_20btVector3_20const__29_2($8 + 236 | 0 | 0, $8 + 344 | 0 | 0, $8 + 220 | 0 | 0); + operator__28btMatrix3x3_20const__2c_20btVector3_20const__29($8 + 188 | 0 | 0, btTransform__getBasis_28_29_20const(HEAP32[($8 + 364 | 0) >> 2] | 0 | 0) | 0 | 0, $8 + 268 | 0 | 0); + operator__28btVector3_20const__2c_20btVector3_20const__29_2($8 + 204 | 0 | 0, $8 + 344 | 0 | 0, $8 + 188 | 0 | 0); + FUNCTION_TABLE[HEAP32[((HEAP32[$9 >> 2] | 0) + 16 | 0) >> 2] | 0 | 0]($9, $8 + 236 | 0, $8 + 204 | 0, HEAP32[($8 + 360 | 0) >> 2] | 0); + HEAP32[($8 + 252 | 0) >> 2] = (HEAP32[($8 + 252 | 0) >> 2] | 0) + (HEAP32[($8 + 312 | 0) >> 2] | 0) | 0; + continue label$2; + }; + } + HEAPF32[($8 + 168 | 0) >> 2] = Math_fround(0 | 0); + HEAPF32[($8 + 164 | 0) >> 2] = Math_fround(0 | 0); + HEAPF32[($8 + 160 | 0) >> 2] = Math_fround(0 | 0); + btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($8 + 172 | 0 | 0, $8 + 168 | 0 | 0, $8 + 164 | 0 | 0, $8 + 160 | 0 | 0) | 0; + (wasm2js_i32$0 = (btVector3__operator_20float__28_29($8 + 172 | 0 | 0) | 0) + ((HEAP32[($8 + 368 | 0) >> 2] | 0) << 2 | 0) | 0, wasm2js_f32$0 = Math_fround(1.0)), HEAPF32[wasm2js_i32$0 >> 2] = wasm2js_f32$0; + HEAPF32[($8 + 140 | 0) >> 2] = Math_fround(0 | 0); + HEAPF32[($8 + 136 | 0) >> 2] = Math_fround(0 | 0); + HEAPF32[($8 + 132 | 0) >> 2] = Math_fround(0 | 0); + btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($8 + 144 | 0 | 0, $8 + 140 | 0 | 0, $8 + 136 | 0 | 0, $8 + 132 | 0 | 0) | 0; + (wasm2js_i32$0 = (btVector3__operator_20float__28_29($8 + 144 | 0 | 0) | 0) + ((((HEAP32[($8 + 368 | 0) >> 2] | 0) + 1 | 0 | 0) % (3 | 0) | 0) << 2 | 0) | 0, wasm2js_f32$0 = Math_fround(1.0)), HEAPF32[wasm2js_i32$0 >> 2] = wasm2js_f32$0; + operator__28btMatrix3x3_20const__2c_20btVector3_20const__29($8 + 100 | 0 | 0, btTransform__getBasis_28_29_20const(HEAP32[($8 + 364 | 0) >> 2] | 0 | 0) | 0 | 0, $8 + 328 | 0 | 0); + operator__28btVector3_20const__2c_20btVector3_20const__29($8 + 116 | 0 | 0, $8 + 344 | 0 | 0, $8 + 100 | 0 | 0); + operator__28btMatrix3x3_20const__2c_20btVector3_20const__29($8 + 84 | 0 | 0, btTransform__getBasis_28_29_20const(HEAP32[($8 + 364 | 0) >> 2] | 0 | 0) | 0 | 0, $8 + 172 | 0 | 0); + operator__28btMatrix3x3_20const__2c_20btVector3_20const__29($8 + 68 | 0 | 0, btTransform__getBasis_28_29_20const(HEAP32[($8 + 364 | 0) >> 2] | 0 | 0) | 0 | 0, $8 + 144 | 0 | 0); + FUNCTION_TABLE[HEAP32[((HEAP32[$9 >> 2] | 0) + 68 | 0) >> 2] | 0 | 0]($9, $8 + 116 | 0, $8 + 84 | 0, $8 + 68 | 0, Math_fround(HEAPF32[($8 + 376 | 0) >> 2]), Math_fround(HEAPF32[($8 + 376 | 0) >> 2]), Math_fround(0 | 0), Math_fround(6.2831854820251465), HEAP32[($8 + 360 | 0) >> 2] | 0, 0 & 1 | 0, Math_fround(10.0)); + operator__28btMatrix3x3_20const__2c_20btVector3_20const__29($8 + 36 | 0 | 0, btTransform__getBasis_28_29_20const(HEAP32[($8 + 364 | 0) >> 2] | 0 | 0) | 0 | 0, $8 + 328 | 0 | 0); + operator__28btVector3_20const__2c_20btVector3_20const__29_2($8 + 52 | 0 | 0, $8 + 344 | 0 | 0, $8 + 36 | 0 | 0); + operator__28btMatrix3x3_20const__2c_20btVector3_20const__29($8 + 20 | 0 | 0, btTransform__getBasis_28_29_20const(HEAP32[($8 + 364 | 0) >> 2] | 0 | 0) | 0 | 0, $8 + 172 | 0 | 0); + operator__28btMatrix3x3_20const__2c_20btVector3_20const__29($8 + 4 | 0 | 0, btTransform__getBasis_28_29_20const(HEAP32[($8 + 364 | 0) >> 2] | 0 | 0) | 0 | 0, $8 + 144 | 0 | 0); + FUNCTION_TABLE[HEAP32[((HEAP32[$9 >> 2] | 0) + 68 | 0) >> 2] | 0 | 0]($9, $8 + 52 | 0, $8 + 20 | 0, $8 + 4 | 0, Math_fround(HEAPF32[($8 + 376 | 0) >> 2]), Math_fround(HEAPF32[($8 + 376 | 0) >> 2]), Math_fround(0 | 0), Math_fround(6.2831854820251465), HEAP32[($8 + 360 | 0) >> 2] | 0, 0 & 1 | 0, Math_fround(10.0)); + __stack_pointer = $8 + 384 | 0; + return; + } + + function btIDebugDraw__drawCone_28float_2c_20float_2c_20int_2c_20btTransform_20const__2c_20btVector3_20const__29($0, $1, $2, $3, $4, $5) { + $0 = $0 | 0; + $1 = Math_fround($1); + $2 = Math_fround($2); + $3 = $3 | 0; + $4 = $4 | 0; + $5 = $5 | 0; + var $8 = 0, $9 = 0, i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, i64toi32_i32$1 = 0, $12 = 0, $13 = 0, $611 = 0, $615 = 0, $41 = Math_fround(0), $68 = Math_fround(0), $99 = Math_fround(0), $131 = Math_fround(0), $154 = Math_fround(0), $173 = Math_fround(0), $250 = 0, $308 = 0, $366 = 0, $424 = 0, wasm2js_i32$0 = 0, wasm2js_f32$0 = Math_fround(0); + $8 = __stack_pointer - 736 | 0; + __stack_pointer = $8; + HEAP32[($8 + 732 | 0) >> 2] = $0; + HEAPF32[($8 + 728 | 0) >> 2] = $1; + HEAPF32[($8 + 724 | 0) >> 2] = $2; + HEAP32[($8 + 720 | 0) >> 2] = $3; + HEAP32[($8 + 716 | 0) >> 2] = $4; + HEAP32[($8 + 712 | 0) >> 2] = $5; + $9 = HEAP32[($8 + 732 | 0) >> 2] | 0; + HEAP32[($8 + 708 | 0) >> 2] = 30; + $12 = btTransform__getOrigin_28_29_20const(HEAP32[($8 + 716 | 0) >> 2] | 0 | 0) | 0; + $13 = 8; + i64toi32_i32$2 = $12 + $13 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $611 = i64toi32_i32$0; + i64toi32_i32$0 = ($8 + 688 | 0) + $13 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $611; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$2 = $12; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $615 = i64toi32_i32$1; + i64toi32_i32$1 = $8; + HEAP32[($8 + 688 | 0) >> 2] = $615; + HEAP32[($8 + 692 | 0) >> 2] = i64toi32_i32$0; + HEAPF32[($8 + 668 | 0) >> 2] = Math_fround(0 | 0); + HEAPF32[($8 + 664 | 0) >> 2] = Math_fround(0 | 0); + HEAPF32[($8 + 660 | 0) >> 2] = Math_fround(0 | 0); + btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($8 + 672 | 0 | 0, $8 + 668 | 0 | 0, $8 + 664 | 0 | 0, $8 + 660 | 0 | 0) | 0; + HEAPF32[($8 + 656 | 0) >> 2] = Math_fround(Math_fround(HEAPF32[($8 + 724 | 0) >> 2]) * Math_fround(.5)); + $41 = Math_fround(HEAPF32[($8 + 656 | 0) >> 2]); + (wasm2js_i32$0 = (btVector3__operator_20float__28_29($8 + 672 | 0 | 0) | 0) + ((HEAP32[($8 + 720 | 0) >> 2] | 0) << 2 | 0) | 0, wasm2js_f32$0 = $41), HEAPF32[wasm2js_i32$0 >> 2] = wasm2js_f32$0; + HEAPF32[($8 + 636 | 0) >> 2] = Math_fround(0 | 0); + HEAPF32[($8 + 632 | 0) >> 2] = Math_fround(0 | 0); + HEAPF32[($8 + 628 | 0) >> 2] = Math_fround(0 | 0); + btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($8 + 640 | 0 | 0, $8 + 636 | 0 | 0, $8 + 632 | 0 | 0, $8 + 628 | 0 | 0) | 0; + $68 = Math_fround(HEAPF32[($8 + 728 | 0) >> 2]); + (wasm2js_i32$0 = (btVector3__operator_20float__28_29($8 + 640 | 0 | 0) | 0) + ((((HEAP32[($8 + 720 | 0) >> 2] | 0) + 1 | 0 | 0) % (3 | 0) | 0) << 2 | 0) | 0, wasm2js_f32$0 = $68), HEAPF32[wasm2js_i32$0 >> 2] = wasm2js_f32$0; + HEAPF32[($8 + 608 | 0) >> 2] = Math_fround(0 | 0); + HEAPF32[($8 + 604 | 0) >> 2] = Math_fround(0 | 0); + HEAPF32[($8 + 600 | 0) >> 2] = Math_fround(0 | 0); + btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($8 + 612 | 0 | 0, $8 + 608 | 0 | 0, $8 + 604 | 0 | 0, $8 + 600 | 0 | 0) | 0; + $99 = Math_fround(HEAPF32[($8 + 728 | 0) >> 2]); + (wasm2js_i32$0 = (btVector3__operator_20float__28_29($8 + 612 | 0 | 0) | 0) + ((((HEAP32[($8 + 720 | 0) >> 2] | 0) + 2 | 0 | 0) % (3 | 0) | 0) << 2 | 0) | 0, wasm2js_f32$0 = $99), HEAPF32[wasm2js_i32$0 >> 2] = wasm2js_f32$0; + HEAPF32[($8 + 580 | 0) >> 2] = Math_fround(0 | 0); + HEAPF32[($8 + 576 | 0) >> 2] = Math_fround(0 | 0); + HEAPF32[($8 + 572 | 0) >> 2] = Math_fround(0 | 0); + btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($8 + 584 | 0 | 0, $8 + 580 | 0 | 0, $8 + 576 | 0 | 0, $8 + 572 | 0 | 0) | 0; + $131 = Math_fround(-Math_fround(HEAPF32[($8 + 656 | 0) >> 2])); + (wasm2js_i32$0 = (btVector3__operator_20float__28_29($8 + 584 | 0 | 0) | 0) + ((HEAP32[($8 + 720 | 0) >> 2] | 0) << 2 | 0) | 0, wasm2js_f32$0 = $131), HEAPF32[wasm2js_i32$0 >> 2] = wasm2js_f32$0; + HEAP32[($8 + 568 | 0) >> 2] = 0; + label$1 : { + label$2 : while (1) { + if (!((HEAP32[($8 + 568 | 0) >> 2] | 0 | 0) < (360 | 0) & 1 | 0)) { + break label$1 + } + $154 = Math_fround(Math_fround(btSin_28float_29(Math_fround(Math_fround(Math_fround(HEAP32[($8 + 568 | 0) >> 2] | 0 | 0) * Math_fround(.01745329238474369))))) * Math_fround(HEAPF32[($8 + 728 | 0) >> 2])); + (wasm2js_i32$0 = (btVector3__operator_20float__28_29($8 + 584 | 0 | 0) | 0) + ((((HEAP32[($8 + 720 | 0) >> 2] | 0) + 1 | 0 | 0) % (3 | 0) | 0) << 2 | 0) | 0, wasm2js_f32$0 = $154), HEAPF32[wasm2js_i32$0 >> 2] = wasm2js_f32$0; + $173 = Math_fround(Math_fround(btCos_28float_29(Math_fround(Math_fround(Math_fround(HEAP32[($8 + 568 | 0) >> 2] | 0 | 0) * Math_fround(.01745329238474369))))) * Math_fround(HEAPF32[($8 + 728 | 0) >> 2])); + (wasm2js_i32$0 = (btVector3__operator_20float__28_29($8 + 584 | 0 | 0) | 0) + ((((HEAP32[($8 + 720 | 0) >> 2] | 0) + 2 | 0 | 0) % (3 | 0) | 0) << 2 | 0) | 0, wasm2js_f32$0 = $173), HEAPF32[wasm2js_i32$0 >> 2] = wasm2js_f32$0; + operator__28btMatrix3x3_20const__2c_20btVector3_20const__29($8 + 536 | 0 | 0, btTransform__getBasis_28_29_20const(HEAP32[($8 + 716 | 0) >> 2] | 0 | 0) | 0 | 0, $8 + 672 | 0 | 0); + operator__28btVector3_20const__2c_20btVector3_20const__29_2($8 + 552 | 0 | 0, $8 + 688 | 0 | 0, $8 + 536 | 0 | 0); + operator__28btMatrix3x3_20const__2c_20btVector3_20const__29($8 + 504 | 0 | 0, btTransform__getBasis_28_29_20const(HEAP32[($8 + 716 | 0) >> 2] | 0 | 0) | 0 | 0, $8 + 584 | 0 | 0); + operator__28btVector3_20const__2c_20btVector3_20const__29_2($8 + 520 | 0 | 0, $8 + 688 | 0 | 0, $8 + 504 | 0 | 0); + FUNCTION_TABLE[HEAP32[((HEAP32[$9 >> 2] | 0) + 16 | 0) >> 2] | 0 | 0]($9, $8 + 552 | 0, $8 + 520 | 0, HEAP32[($8 + 712 | 0) >> 2] | 0); + HEAP32[($8 + 568 | 0) >> 2] = (HEAP32[($8 + 568 | 0) >> 2] | 0) + (HEAP32[($8 + 708 | 0) >> 2] | 0) | 0; + continue label$2; + }; + } + operator__28btMatrix3x3_20const__2c_20btVector3_20const__29($8 + 472 | 0 | 0, btTransform__getBasis_28_29_20const(HEAP32[($8 + 716 | 0) >> 2] | 0 | 0) | 0 | 0, $8 + 672 | 0 | 0); + operator__28btVector3_20const__2c_20btVector3_20const__29_2($8 + 488 | 0 | 0, $8 + 688 | 0 | 0, $8 + 472 | 0 | 0); + $250 = btTransform__getBasis_28_29_20const(HEAP32[($8 + 716 | 0) >> 2] | 0 | 0) | 0; + operator__28btVector3_20const__29($8 + 408 | 0 | 0, $8 + 672 | 0 | 0); + operator__28btVector3_20const__2c_20btVector3_20const__29_2($8 + 424 | 0 | 0, $8 + 408 | 0 | 0, $8 + 640 | 0 | 0); + operator__28btMatrix3x3_20const__2c_20btVector3_20const__29($8 + 440 | 0 | 0, $250 | 0, $8 + 424 | 0 | 0); + operator__28btVector3_20const__2c_20btVector3_20const__29_2($8 + 456 | 0 | 0, $8 + 688 | 0 | 0, $8 + 440 | 0 | 0); + FUNCTION_TABLE[HEAP32[((HEAP32[$9 >> 2] | 0) + 16 | 0) >> 2] | 0 | 0]($9, $8 + 488 | 0, $8 + 456 | 0, HEAP32[($8 + 712 | 0) >> 2] | 0); + operator__28btMatrix3x3_20const__2c_20btVector3_20const__29($8 + 376 | 0 | 0, btTransform__getBasis_28_29_20const(HEAP32[($8 + 716 | 0) >> 2] | 0 | 0) | 0 | 0, $8 + 672 | 0 | 0); + operator__28btVector3_20const__2c_20btVector3_20const__29_2($8 + 392 | 0 | 0, $8 + 688 | 0 | 0, $8 + 376 | 0 | 0); + $308 = btTransform__getBasis_28_29_20const(HEAP32[($8 + 716 | 0) >> 2] | 0 | 0) | 0; + operator__28btVector3_20const__29($8 + 312 | 0 | 0, $8 + 672 | 0 | 0); + operator__28btVector3_20const__2c_20btVector3_20const__29($8 + 328 | 0 | 0, $8 + 312 | 0 | 0, $8 + 640 | 0 | 0); + operator__28btMatrix3x3_20const__2c_20btVector3_20const__29($8 + 344 | 0 | 0, $308 | 0, $8 + 328 | 0 | 0); + operator__28btVector3_20const__2c_20btVector3_20const__29_2($8 + 360 | 0 | 0, $8 + 688 | 0 | 0, $8 + 344 | 0 | 0); + FUNCTION_TABLE[HEAP32[((HEAP32[$9 >> 2] | 0) + 16 | 0) >> 2] | 0 | 0]($9, $8 + 392 | 0, $8 + 360 | 0, HEAP32[($8 + 712 | 0) >> 2] | 0); + operator__28btMatrix3x3_20const__2c_20btVector3_20const__29($8 + 280 | 0 | 0, btTransform__getBasis_28_29_20const(HEAP32[($8 + 716 | 0) >> 2] | 0 | 0) | 0 | 0, $8 + 672 | 0 | 0); + operator__28btVector3_20const__2c_20btVector3_20const__29_2($8 + 296 | 0 | 0, $8 + 688 | 0 | 0, $8 + 280 | 0 | 0); + $366 = btTransform__getBasis_28_29_20const(HEAP32[($8 + 716 | 0) >> 2] | 0 | 0) | 0; + operator__28btVector3_20const__29($8 + 216 | 0 | 0, $8 + 672 | 0 | 0); + operator__28btVector3_20const__2c_20btVector3_20const__29_2($8 + 232 | 0 | 0, $8 + 216 | 0 | 0, $8 + 612 | 0 | 0); + operator__28btMatrix3x3_20const__2c_20btVector3_20const__29($8 + 248 | 0 | 0, $366 | 0, $8 + 232 | 0 | 0); + operator__28btVector3_20const__2c_20btVector3_20const__29_2($8 + 264 | 0 | 0, $8 + 688 | 0 | 0, $8 + 248 | 0 | 0); + FUNCTION_TABLE[HEAP32[((HEAP32[$9 >> 2] | 0) + 16 | 0) >> 2] | 0 | 0]($9, $8 + 296 | 0, $8 + 264 | 0, HEAP32[($8 + 712 | 0) >> 2] | 0); + operator__28btMatrix3x3_20const__2c_20btVector3_20const__29($8 + 184 | 0 | 0, btTransform__getBasis_28_29_20const(HEAP32[($8 + 716 | 0) >> 2] | 0 | 0) | 0 | 0, $8 + 672 | 0 | 0); + operator__28btVector3_20const__2c_20btVector3_20const__29_2($8 + 200 | 0 | 0, $8 + 688 | 0 | 0, $8 + 184 | 0 | 0); + $424 = btTransform__getBasis_28_29_20const(HEAP32[($8 + 716 | 0) >> 2] | 0 | 0) | 0; + operator__28btVector3_20const__29($8 + 120 | 0 | 0, $8 + 672 | 0 | 0); + operator__28btVector3_20const__2c_20btVector3_20const__29($8 + 136 | 0 | 0, $8 + 120 | 0 | 0, $8 + 612 | 0 | 0); + operator__28btMatrix3x3_20const__2c_20btVector3_20const__29($8 + 152 | 0 | 0, $424 | 0, $8 + 136 | 0 | 0); + operator__28btVector3_20const__2c_20btVector3_20const__29_2($8 + 168 | 0 | 0, $8 + 688 | 0 | 0, $8 + 152 | 0 | 0); + FUNCTION_TABLE[HEAP32[((HEAP32[$9 >> 2] | 0) + 16 | 0) >> 2] | 0 | 0]($9, $8 + 200 | 0, $8 + 168 | 0, HEAP32[($8 + 712 | 0) >> 2] | 0); + HEAPF32[($8 + 100 | 0) >> 2] = Math_fround(0 | 0); + HEAPF32[($8 + 96 | 0) >> 2] = Math_fround(0 | 0); + HEAPF32[($8 + 92 | 0) >> 2] = Math_fround(0 | 0); + btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($8 + 104 | 0 | 0, $8 + 100 | 0 | 0, $8 + 96 | 0 | 0, $8 + 92 | 0 | 0) | 0; + (wasm2js_i32$0 = (btVector3__operator_20float__28_29($8 + 104 | 0 | 0) | 0) + ((HEAP32[($8 + 720 | 0) >> 2] | 0) << 2 | 0) | 0, wasm2js_f32$0 = Math_fround(1.0)), HEAPF32[wasm2js_i32$0 >> 2] = wasm2js_f32$0; + HEAPF32[($8 + 72 | 0) >> 2] = Math_fround(0 | 0); + HEAPF32[($8 + 68 | 0) >> 2] = Math_fround(0 | 0); + HEAPF32[($8 + 64 | 0) >> 2] = Math_fround(0 | 0); + btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($8 + 76 | 0 | 0, $8 + 72 | 0 | 0, $8 + 68 | 0 | 0, $8 + 64 | 0 | 0) | 0; + (wasm2js_i32$0 = (btVector3__operator_20float__28_29($8 + 76 | 0 | 0) | 0) + ((((HEAP32[($8 + 720 | 0) >> 2] | 0) + 1 | 0 | 0) % (3 | 0) | 0) << 2 | 0) | 0, wasm2js_f32$0 = Math_fround(1.0)), HEAPF32[wasm2js_i32$0 >> 2] = wasm2js_f32$0; + operator__28btMatrix3x3_20const__2c_20btVector3_20const__29($8 + 32 | 0 | 0, btTransform__getBasis_28_29_20const(HEAP32[($8 + 716 | 0) >> 2] | 0 | 0) | 0 | 0, $8 + 672 | 0 | 0); + operator__28btVector3_20const__2c_20btVector3_20const__29($8 + 48 | 0 | 0, $8 + 688 | 0 | 0, $8 + 32 | 0 | 0); + operator__28btMatrix3x3_20const__2c_20btVector3_20const__29($8 + 16 | 0 | 0, btTransform__getBasis_28_29_20const(HEAP32[($8 + 716 | 0) >> 2] | 0 | 0) | 0 | 0, $8 + 104 | 0 | 0); + operator__28btMatrix3x3_20const__2c_20btVector3_20const__29($8 | 0, btTransform__getBasis_28_29_20const(HEAP32[($8 + 716 | 0) >> 2] | 0 | 0) | 0 | 0, $8 + 76 | 0 | 0); + FUNCTION_TABLE[HEAP32[((HEAP32[$9 >> 2] | 0) + 68 | 0) >> 2] | 0 | 0]($9, $8 + 48 | 0, $8 + 16 | 0, $8, Math_fround(HEAPF32[($8 + 728 | 0) >> 2]), Math_fround(HEAPF32[($8 + 728 | 0) >> 2]), Math_fround(0 | 0), Math_fround(6.2831854820251465), HEAP32[($8 + 712 | 0) >> 2] | 0, 0 & 1 | 0, Math_fround(10.0)); + __stack_pointer = $8 + 736 | 0; + return; + } + + function btIDebugDraw__drawPlane_28btVector3_20const__2c_20float_2c_20btTransform_20const__2c_20btVector3_20const__29($0, $1, $2, $3, $4) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = Math_fround($2); + $3 = $3 | 0; + $4 = $4 | 0; + var $7 = 0, $8 = 0; + $7 = __stack_pointer - 272 | 0; + __stack_pointer = $7; + HEAP32[($7 + 268 | 0) >> 2] = $0; + HEAP32[($7 + 264 | 0) >> 2] = $1; + HEAPF32[($7 + 260 | 0) >> 2] = $2; + HEAP32[($7 + 256 | 0) >> 2] = $3; + HEAP32[($7 + 252 | 0) >> 2] = $4; + $8 = HEAP32[($7 + 268 | 0) >> 2] | 0; + operator__28btVector3_20const__2c_20float_20const__29($7 + 236 | 0 | 0, HEAP32[($7 + 264 | 0) >> 2] | 0 | 0, $7 + 260 | 0 | 0); + btVector3__btVector3_28_29($7 + 220 | 0 | 0) | 0; + btVector3__btVector3_28_29($7 + 204 | 0 | 0) | 0; + void_20btPlaneSpace1_btVector3__28btVector3_20const__2c_20btVector3__2c_20btVector3__29(HEAP32[($7 + 264 | 0) >> 2] | 0 | 0, $7 + 220 | 0 | 0, $7 + 204 | 0 | 0); + HEAPF32[($7 + 200 | 0) >> 2] = Math_fround(100.0); + operator__28btVector3_20const__2c_20float_20const__29($7 + 168 | 0 | 0, $7 + 220 | 0 | 0, $7 + 200 | 0 | 0); + operator__28btVector3_20const__2c_20btVector3_20const__29_2($7 + 184 | 0 | 0, $7 + 236 | 0 | 0, $7 + 168 | 0 | 0); + operator__28btVector3_20const__2c_20float_20const__29($7 + 136 | 0 | 0, $7 + 220 | 0 | 0, $7 + 200 | 0 | 0); + operator__28btVector3_20const__2c_20btVector3_20const__29($7 + 152 | 0 | 0, $7 + 236 | 0 | 0, $7 + 136 | 0 | 0); + operator__28btVector3_20const__2c_20float_20const__29($7 + 104 | 0 | 0, $7 + 204 | 0 | 0, $7 + 200 | 0 | 0); + operator__28btVector3_20const__2c_20btVector3_20const__29_2($7 + 120 | 0 | 0, $7 + 236 | 0 | 0, $7 + 104 | 0 | 0); + operator__28btVector3_20const__2c_20float_20const__29($7 + 72 | 0 | 0, $7 + 204 | 0 | 0, $7 + 200 | 0 | 0); + operator__28btVector3_20const__2c_20btVector3_20const__29($7 + 88 | 0 | 0, $7 + 236 | 0 | 0, $7 + 72 | 0 | 0); + btTransform__operator__28btVector3_20const__29_20const($7 + 56 | 0 | 0, HEAP32[($7 + 256 | 0) >> 2] | 0 | 0, $7 + 184 | 0 | 0); + btTransform__operator__28btVector3_20const__29_20const($7 + 40 | 0 | 0, HEAP32[($7 + 256 | 0) >> 2] | 0 | 0, $7 + 152 | 0 | 0); + FUNCTION_TABLE[HEAP32[((HEAP32[$8 >> 2] | 0) + 16 | 0) >> 2] | 0 | 0]($8, $7 + 56 | 0, $7 + 40 | 0, HEAP32[($7 + 252 | 0) >> 2] | 0); + btTransform__operator__28btVector3_20const__29_20const($7 + 24 | 0 | 0, HEAP32[($7 + 256 | 0) >> 2] | 0 | 0, $7 + 120 | 0 | 0); + btTransform__operator__28btVector3_20const__29_20const($7 + 8 | 0 | 0, HEAP32[($7 + 256 | 0) >> 2] | 0 | 0, $7 + 88 | 0 | 0); + FUNCTION_TABLE[HEAP32[((HEAP32[$8 >> 2] | 0) + 16 | 0) >> 2] | 0 | 0]($8, $7 + 24 | 0, $7 + 8 | 0, HEAP32[($7 + 252 | 0) >> 2] | 0); + __stack_pointer = $7 + 272 | 0; + return; + } + + function void_20btPlaneSpace1_btVector3__28btVector3_20const__2c_20btVector3__2c_20btVector3__29($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $5 = 0, $42 = Math_fround(0), $49 = Math_fround(0), $54 = Math_fround(0), $64 = Math_fround(0), $73 = Math_fround(0), $100 = Math_fround(0), $107 = Math_fround(0), $121 = Math_fround(0), $130 = Math_fround(0), $135 = Math_fround(0), wasm2js_i32$0 = 0, wasm2js_f32$0 = Math_fround(0); + $5 = __stack_pointer - 32 | 0; + __stack_pointer = $5; + HEAP32[($5 + 28 | 0) >> 2] = $0; + HEAP32[($5 + 24 | 0) >> 2] = $1; + HEAP32[($5 + 20 | 0) >> 2] = $2; + label$1 : { + label$2 : { + if (!(Math_fround(btFabs_28float_29(Math_fround(Math_fround(HEAPF32[((btVector3__operator_20float_20const__28_29_20const(HEAP32[($5 + 28 | 0) >> 2] | 0 | 0) | 0) + 8 | 0) >> 2])))) > Math_fround(.7071067690849304) & 1 | 0)) { + break label$2 + } + (wasm2js_i32$0 = $5, wasm2js_f32$0 = Math_fround(Math_fround(Math_fround(HEAPF32[((btVector3__operator_20float_20const__28_29_20const(HEAP32[($5 + 28 | 0) >> 2] | 0 | 0) | 0) + 4 | 0) >> 2]) * Math_fround(HEAPF32[((btVector3__operator_20float_20const__28_29_20const(HEAP32[($5 + 28 | 0) >> 2] | 0 | 0) | 0) + 4 | 0) >> 2])) + Math_fround(Math_fround(HEAPF32[((btVector3__operator_20float_20const__28_29_20const(HEAP32[($5 + 28 | 0) >> 2] | 0 | 0) | 0) + 8 | 0) >> 2]) * Math_fround(HEAPF32[((btVector3__operator_20float_20const__28_29_20const(HEAP32[($5 + 28 | 0) >> 2] | 0 | 0) | 0) + 8 | 0) >> 2])))), HEAPF32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_f32$0; + (wasm2js_i32$0 = $5, wasm2js_f32$0 = Math_fround(Math_fround(1.0) / Math_fround(btSqrt_28float_29(Math_fround(Math_fround(HEAPF32[($5 + 16 | 0) >> 2])))))), HEAPF32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_f32$0; + (wasm2js_i32$0 = btVector3__operator_20float__28_29(HEAP32[($5 + 24 | 0) >> 2] | 0 | 0) | 0, wasm2js_f32$0 = Math_fround(0 | 0)), HEAPF32[wasm2js_i32$0 >> 2] = wasm2js_f32$0; + $42 = Math_fround(Math_fround(-Math_fround(HEAPF32[((btVector3__operator_20float_20const__28_29_20const(HEAP32[($5 + 28 | 0) >> 2] | 0 | 0) | 0) + 8 | 0) >> 2])) * Math_fround(HEAPF32[($5 + 12 | 0) >> 2])); + (wasm2js_i32$0 = btVector3__operator_20float__28_29(HEAP32[($5 + 24 | 0) >> 2] | 0 | 0) | 0, wasm2js_f32$0 = $42), HEAPF32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_f32$0; + $49 = Math_fround(Math_fround(HEAPF32[((btVector3__operator_20float_20const__28_29_20const(HEAP32[($5 + 28 | 0) >> 2] | 0 | 0) | 0) + 4 | 0) >> 2]) * Math_fround(HEAPF32[($5 + 12 | 0) >> 2])); + (wasm2js_i32$0 = btVector3__operator_20float__28_29(HEAP32[($5 + 24 | 0) >> 2] | 0 | 0) | 0, wasm2js_f32$0 = $49), HEAPF32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_f32$0; + $54 = Math_fround(Math_fround(HEAPF32[($5 + 16 | 0) >> 2]) * Math_fround(HEAPF32[($5 + 12 | 0) >> 2])); + (wasm2js_i32$0 = btVector3__operator_20float__28_29(HEAP32[($5 + 20 | 0) >> 2] | 0 | 0) | 0, wasm2js_f32$0 = $54), HEAPF32[wasm2js_i32$0 >> 2] = wasm2js_f32$0; + $64 = Math_fround(Math_fround(-Math_fround(HEAPF32[(btVector3__operator_20float_20const__28_29_20const(HEAP32[($5 + 28 | 0) >> 2] | 0 | 0) | 0) >> 2])) * Math_fround(HEAPF32[((btVector3__operator_20float__28_29(HEAP32[($5 + 24 | 0) >> 2] | 0 | 0) | 0) + 8 | 0) >> 2])); + (wasm2js_i32$0 = btVector3__operator_20float__28_29(HEAP32[($5 + 20 | 0) >> 2] | 0 | 0) | 0, wasm2js_f32$0 = $64), HEAPF32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_f32$0; + $73 = Math_fround(Math_fround(HEAPF32[(btVector3__operator_20float_20const__28_29_20const(HEAP32[($5 + 28 | 0) >> 2] | 0 | 0) | 0) >> 2]) * Math_fround(HEAPF32[((btVector3__operator_20float__28_29(HEAP32[($5 + 24 | 0) >> 2] | 0 | 0) | 0) + 4 | 0) >> 2])); + (wasm2js_i32$0 = btVector3__operator_20float__28_29(HEAP32[($5 + 20 | 0) >> 2] | 0 | 0) | 0, wasm2js_f32$0 = $73), HEAPF32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_f32$0; + break label$1; + } + (wasm2js_i32$0 = $5, wasm2js_f32$0 = Math_fround(Math_fround(Math_fround(HEAPF32[(btVector3__operator_20float_20const__28_29_20const(HEAP32[($5 + 28 | 0) >> 2] | 0 | 0) | 0) >> 2]) * Math_fround(HEAPF32[(btVector3__operator_20float_20const__28_29_20const(HEAP32[($5 + 28 | 0) >> 2] | 0 | 0) | 0) >> 2])) + Math_fround(Math_fround(HEAPF32[((btVector3__operator_20float_20const__28_29_20const(HEAP32[($5 + 28 | 0) >> 2] | 0 | 0) | 0) + 4 | 0) >> 2]) * Math_fround(HEAPF32[((btVector3__operator_20float_20const__28_29_20const(HEAP32[($5 + 28 | 0) >> 2] | 0 | 0) | 0) + 4 | 0) >> 2])))), HEAPF32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_f32$0; + (wasm2js_i32$0 = $5, wasm2js_f32$0 = Math_fround(Math_fround(1.0) / Math_fround(btSqrt_28float_29(Math_fround(Math_fround(HEAPF32[($5 + 8 | 0) >> 2])))))), HEAPF32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_f32$0; + $100 = Math_fround(Math_fround(-Math_fround(HEAPF32[((btVector3__operator_20float_20const__28_29_20const(HEAP32[($5 + 28 | 0) >> 2] | 0 | 0) | 0) + 4 | 0) >> 2])) * Math_fround(HEAPF32[($5 + 4 | 0) >> 2])); + (wasm2js_i32$0 = btVector3__operator_20float__28_29(HEAP32[($5 + 24 | 0) >> 2] | 0 | 0) | 0, wasm2js_f32$0 = $100), HEAPF32[wasm2js_i32$0 >> 2] = wasm2js_f32$0; + $107 = Math_fround(Math_fround(HEAPF32[(btVector3__operator_20float_20const__28_29_20const(HEAP32[($5 + 28 | 0) >> 2] | 0 | 0) | 0) >> 2]) * Math_fround(HEAPF32[($5 + 4 | 0) >> 2])); + (wasm2js_i32$0 = btVector3__operator_20float__28_29(HEAP32[($5 + 24 | 0) >> 2] | 0 | 0) | 0, wasm2js_f32$0 = $107), HEAPF32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_f32$0; + (wasm2js_i32$0 = btVector3__operator_20float__28_29(HEAP32[($5 + 24 | 0) >> 2] | 0 | 0) | 0, wasm2js_f32$0 = Math_fround(0 | 0)), HEAPF32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_f32$0; + $121 = Math_fround(Math_fround(-Math_fround(HEAPF32[((btVector3__operator_20float_20const__28_29_20const(HEAP32[($5 + 28 | 0) >> 2] | 0 | 0) | 0) + 8 | 0) >> 2])) * Math_fround(HEAPF32[((btVector3__operator_20float__28_29(HEAP32[($5 + 24 | 0) >> 2] | 0 | 0) | 0) + 4 | 0) >> 2])); + (wasm2js_i32$0 = btVector3__operator_20float__28_29(HEAP32[($5 + 20 | 0) >> 2] | 0 | 0) | 0, wasm2js_f32$0 = $121), HEAPF32[wasm2js_i32$0 >> 2] = wasm2js_f32$0; + $130 = Math_fround(Math_fround(HEAPF32[((btVector3__operator_20float_20const__28_29_20const(HEAP32[($5 + 28 | 0) >> 2] | 0 | 0) | 0) + 8 | 0) >> 2]) * Math_fround(HEAPF32[(btVector3__operator_20float__28_29(HEAP32[($5 + 24 | 0) >> 2] | 0 | 0) | 0) >> 2])); + (wasm2js_i32$0 = btVector3__operator_20float__28_29(HEAP32[($5 + 20 | 0) >> 2] | 0 | 0) | 0, wasm2js_f32$0 = $130), HEAPF32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_f32$0; + $135 = Math_fround(Math_fround(HEAPF32[($5 + 8 | 0) >> 2]) * Math_fround(HEAPF32[($5 + 4 | 0) >> 2])); + (wasm2js_i32$0 = btVector3__operator_20float__28_29(HEAP32[($5 + 20 | 0) >> 2] | 0 | 0) | 0, wasm2js_f32$0 = $135), HEAPF32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_f32$0; + } + __stack_pointer = $5 + 32 | 0; + return; + } + + function btDebugDrawWrapper__clearLines_28_29($0) { + $0 = $0 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + void_20emscripten__wrapper_btDebugDraw___call_void__28char_20const__29_20const(HEAP32[($3 + 12 | 0) >> 2] | 0 | 0, GOT_data_internal___memory_base + 70055 | 0 | 0); + __stack_pointer = $3 + 16 | 0; + return; + } + + function void_20emscripten__wrapper_btDebugDraw___call_void__28char_20const__29_20const($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0; + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + void_20emscripten__val__call_void__28char_20const__29_20const((HEAP32[($4 + 12 | 0) >> 2] | 0) + 140 | 0 | 0, HEAP32[($4 + 8 | 0) >> 2] | 0 | 0); + __stack_pointer = $4 + 16 | 0; + return; + } + + function btDebugDrawWrapper__flushLines_28_29($0) { + $0 = $0 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + void_20emscripten__wrapper_btDebugDraw___call_void__28char_20const__29_20const(HEAP32[($3 + 12 | 0) >> 2] | 0 | 0, GOT_data_internal___memory_base + 70066 | 0 | 0); + __stack_pointer = $3 + 16 | 0; + return; + } + + function btDebugDrawWrapper__onDebugDrawLine_28int_2c_20int_2c_20int_29($0, $1, $2, $3) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + var $6 = 0; + $6 = __stack_pointer - 16 | 0; + __stack_pointer = $6; + HEAP32[($6 + 12 | 0) >> 2] = $0; + HEAP32[($6 + 8 | 0) >> 2] = $1; + HEAP32[($6 + 4 | 0) >> 2] = $2; + HEAP32[$6 >> 2] = $3; + void_20emscripten__wrapper_btDebugDraw___call_void_2c_20int_20const__2c_20int_20const__2c_20int___28char_20const__2c_20int_20const__2c_20int_20const__2c_20int__29_20const(HEAP32[($6 + 12 | 0) >> 2] | 0 | 0, GOT_data_internal___memory_base + 81794 | 0 | 0, $6 + 8 | 0 | 0, $6 + 4 | 0 | 0, $6 | 0); + __stack_pointer = $6 + 16 | 0; + return; + } + + function void_20emscripten__wrapper_btDebugDraw___call_void_2c_20int_20const__2c_20int_20const__2c_20int___28char_20const__2c_20int_20const__2c_20int_20const__2c_20int__29_20const($0, $1, $2, $3, $4) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + $4 = $4 | 0; + var $7 = 0; + $7 = __stack_pointer - 32 | 0; + __stack_pointer = $7; + HEAP32[($7 + 28 | 0) >> 2] = $0; + HEAP32[($7 + 24 | 0) >> 2] = $1; + HEAP32[($7 + 20 | 0) >> 2] = $2; + HEAP32[($7 + 16 | 0) >> 2] = $3; + HEAP32[($7 + 12 | 0) >> 2] = $4; + void_20emscripten__val__call_void_2c_20int_20const__2c_20int_20const__2c_20int___28char_20const__2c_20int_20const__2c_20int_20const__2c_20int__29_20const((HEAP32[($7 + 28 | 0) >> 2] | 0) + 140 | 0 | 0, HEAP32[($7 + 24 | 0) >> 2] | 0 | 0, HEAP32[($7 + 20 | 0) >> 2] | 0 | 0, HEAP32[($7 + 16 | 0) >> 2] | 0 | 0, HEAP32[($7 + 12 | 0) >> 2] | 0 | 0); + __stack_pointer = $7 + 32 | 0; + return; + } + + function btIDebugDraw__btIDebugDraw_28_29($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + HEAP32[$4 >> 2] = GOT_data_internal_vtable_20for_20btIDebugDraw + 8 | 0; + return $4 | 0; + } + + function btIDebugDraw__DefaultColors__DefaultColors_28_29($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 112 | 0; + __stack_pointer = $3; + HEAP32[($3 + 108 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 108 | 0) >> 2] | 0; + HEAPF32[($3 + 104 | 0) >> 2] = Math_fround(1.0); + HEAPF32[($3 + 100 | 0) >> 2] = Math_fround(1.0); + HEAPF32[($3 + 96 | 0) >> 2] = Math_fround(1.0); + btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($4 | 0, $3 + 104 | 0 | 0, $3 + 100 | 0 | 0, $3 + 96 | 0 | 0) | 0; + HEAPF32[($3 + 92 | 0) >> 2] = Math_fround(0 | 0); + HEAPF32[($3 + 88 | 0) >> 2] = Math_fround(1.0); + HEAPF32[($3 + 84 | 0) >> 2] = Math_fround(0 | 0); + btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($4 + 16 | 0 | 0, $3 + 92 | 0 | 0, $3 + 88 | 0 | 0, $3 + 84 | 0 | 0) | 0; + HEAPF32[($3 + 80 | 0) >> 2] = Math_fround(0 | 0); + HEAPF32[($3 + 76 | 0) >> 2] = Math_fround(1.0); + HEAPF32[($3 + 72 | 0) >> 2] = Math_fround(1.0); + btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($4 + 32 | 0 | 0, $3 + 80 | 0 | 0, $3 + 76 | 0 | 0, $3 + 72 | 0 | 0) | 0; + HEAPF32[($3 + 68 | 0) >> 2] = Math_fround(1.0); + HEAPF32[($3 + 64 | 0) >> 2] = Math_fround(0 | 0); + HEAPF32[($3 + 60 | 0) >> 2] = Math_fround(0 | 0); + btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($4 + 48 | 0 | 0, $3 + 68 | 0 | 0, $3 + 64 | 0 | 0, $3 + 60 | 0 | 0) | 0; + HEAPF32[($3 + 56 | 0) >> 2] = Math_fround(1.0); + HEAPF32[($3 + 52 | 0) >> 2] = Math_fround(1.0); + HEAPF32[($3 + 48 | 0) >> 2] = Math_fround(0 | 0); + btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($4 + 64 | 0 | 0, $3 + 56 | 0 | 0, $3 + 52 | 0 | 0, $3 + 48 | 0 | 0) | 0; + HEAPF32[($3 + 44 | 0) >> 2] = Math_fround(1.0); + HEAPF32[($3 + 40 | 0) >> 2] = Math_fround(0 | 0); + HEAPF32[($3 + 36 | 0) >> 2] = Math_fround(0 | 0); + btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($4 + 80 | 0 | 0, $3 + 44 | 0 | 0, $3 + 40 | 0 | 0, $3 + 36 | 0 | 0) | 0; + HEAPF32[($3 + 32 | 0) >> 2] = Math_fround(1.0); + HEAPF32[($3 + 28 | 0) >> 2] = Math_fround(1.0); + HEAPF32[($3 + 24 | 0) >> 2] = Math_fround(0 | 0); + btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($4 + 96 | 0 | 0, $3 + 32 | 0 | 0, $3 + 28 | 0 | 0, $3 + 24 | 0 | 0) | 0; + HEAPF32[($3 + 20 | 0) >> 2] = Math_fround(0 | 0); + HEAPF32[($3 + 16 | 0) >> 2] = Math_fround(0 | 0); + HEAPF32[($3 + 12 | 0) >> 2] = Math_fround(0 | 0); + btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($4 + 112 | 0 | 0, $3 + 20 | 0 | 0, $3 + 16 | 0 | 0, $3 + 12 | 0 | 0) | 0; + __stack_pointer = $3 + 112 | 0; + return $4 | 0; + } + + function btDebugDraw___btDebugDraw_28_29($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + btIDebugDraw___btIDebugDraw_28_29($4 | 0) | 0; + __stack_pointer = $3 + 16 | 0; + return $4 | 0; + } + + function emscripten__wrapper_btDebugDraw____wrapper_28_29_1($0) { + $0 = $0 | 0; + HEAP32[((__stack_pointer - 16 | 0) + 12 | 0) >> 2] = $0; + wasm2js_trap(); + } + + function btIDebugDraw__clearLines_28_29($0) { + $0 = $0 | 0; + HEAP32[((__stack_pointer - 16 | 0) + 12 | 0) >> 2] = $0; + return; + } + + function btIDebugDraw__flushLines_28_29($0) { + $0 = $0 | 0; + HEAP32[((__stack_pointer - 16 | 0) + 12 | 0) >> 2] = $0; + return; + } + + function btIDebugDraw___btIDebugDraw_28_29($0) { + $0 = $0 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + return HEAP32[($3 + 12 | 0) >> 2] | 0 | 0; + } + + function btDebugDraw___btDebugDraw_28_29_1($0) { + $0 = $0 | 0; + HEAP32[((__stack_pointer - 16 | 0) + 12 | 0) >> 2] = $0; + wasm2js_trap(); + } + + function btIDebugDraw___btIDebugDraw_28_29_1($0) { + $0 = $0 | 0; + HEAP32[((__stack_pointer - 16 | 0) + 12 | 0) >> 2] = $0; + wasm2js_trap(); + } + + function btIDebugDraw__getDefaultColors_28_29_20const($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0; + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[($4 + 12 | 0) >> 2] = $1; + btIDebugDraw__DefaultColors__DefaultColors_28_29($0 | 0) | 0; + __stack_pointer = $4 + 16 | 0; + return; + } + + function btIDebugDraw__setDefaultColors_28btIDebugDraw__DefaultColors_20const__29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0; + $4 = __stack_pointer - 16 | 0; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + return; + } + + function void_20emscripten__val__call_void__28char_20const__29_20const($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0; + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + emscripten__internal__MethodCaller_void___call_28emscripten___EM_VAL__2c_20char_20const__29(HEAP32[(HEAP32[($4 + 12 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[($4 + 8 | 0) >> 2] | 0 | 0); + __stack_pointer = $4 + 16 | 0; + return; + } + + function emscripten__internal__MethodCaller_void___call_28emscripten___EM_VAL__2c_20char_20const__29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4 = __stack_pointer - 32 | 0; + __stack_pointer = $4; + HEAP32[($4 + 28 | 0) >> 2] = $0; + HEAP32[($4 + 24 | 0) >> 2] = $1; + (wasm2js_i32$0 = $4, wasm2js_i32$1 = emscripten__internal__Signature_void___get_method_caller_28_29() | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + emscripten__internal__WireTypePack____WireTypePack_28_29($4 + 8 | 0 | 0) | 0; + _emval_call_void_method(HEAP32[($4 + 20 | 0) >> 2] | 0 | 0, HEAP32[($4 + 28 | 0) >> 2] | 0 | 0, HEAP32[($4 + 24 | 0) >> 2] | 0 | 0, emscripten__internal__WireTypePack____operator_20void_20const__28_29_20const($4 + 8 | 0 | 0) | 0 | 0); + __stack_pointer = $4 + 32 | 0; + return; + } + + function emscripten__internal__Signature_void___get_method_caller_28_29() { + var $2 = 0, $26 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $2 = __stack_pointer - 16 | 0; + __stack_pointer = $2; + label$1 : { + if (!((((HEAPU8[GOT_data_internal_guard_20variable_20for_20emscripten__internal__Signature_void___get_method_caller_28_29__mc >> 0] | 0) & 1 | 0) & 255 | 0 | 0) == (0 & 255 | 0 | 0) & 1 | 0)) { + break label$1 + } + (wasm2js_i32$0 = GOT_data_internal_emscripten__internal__Signature_void___get_method_caller_28_29__mc, wasm2js_i32$1 = _emval_get_method_caller(emscripten__internal__WithPolicies____ArgTypeList_void___getCount_28_29_20const($2 + 15 | 0 | 0) | 0 | 0, emscripten__internal__WithPolicies____ArgTypeList_void___getTypes_28_29_20const($2 + 15 | 0 | 0) | 0 | 0) | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + HEAP8[GOT_data_internal_guard_20variable_20for_20emscripten__internal__Signature_void___get_method_caller_28_29__mc >> 0] = 1; + } + $26 = HEAP32[GOT_data_internal_emscripten__internal__Signature_void___get_method_caller_28_29__mc >> 2] | 0; + __stack_pointer = $2 + 16 | 0; + return $26 | 0; + } + + function emscripten__internal__WireTypePack____WireTypePack_28_29($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + (wasm2js_i32$0 = $3, wasm2js_i32$1 = std____2__array_emscripten__internal__GenericWireType_2c_200ul___data_5babi_v160004_5d_28_29($4 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + emscripten__internal__writeGenericWireTypes_28emscripten__internal__GenericWireType___29($3 + 8 | 0 | 0); + __stack_pointer = $3 + 16 | 0; + return $4 | 0; + } + + function emscripten__internal__WireTypePack____operator_20void_20const__28_29_20const($0) { + $0 = $0 | 0; + var $3 = 0, $5 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $5 = std____2__array_emscripten__internal__GenericWireType_2c_200ul___data_5babi_v160004_5d_28_29_20const(HEAP32[($3 + 12 | 0) >> 2] | 0 | 0) | 0; + __stack_pointer = $3 + 16 | 0; + return $5 | 0; + } + + function emscripten__internal__WithPolicies____ArgTypeList_void___getCount_28_29_20const($0) { + $0 = $0 | 0; + HEAP32[((__stack_pointer - 16 | 0) + 12 | 0) >> 2] = $0; + return 1 | 0; + } + + function emscripten__internal__WithPolicies____ArgTypeList_void___getTypes_28_29_20const($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_void____get_28_29() | 0; + __stack_pointer = $3 + 16 | 0; + return $4 | 0; + } + + function std____2__array_emscripten__internal__GenericWireType_2c_200ul___data_5babi_v160004_5d_28_29($0) { + $0 = $0 | 0; + HEAP32[((__stack_pointer - 16 | 0) + 12 | 0) >> 2] = $0; + return 0 | 0; + } + + function emscripten__internal__writeGenericWireTypes_28emscripten__internal__GenericWireType___29($0) { + $0 = $0 | 0; + HEAP32[((__stack_pointer - 16 | 0) + 12 | 0) >> 2] = $0; + return; + } + + function std____2__array_emscripten__internal__GenericWireType_2c_200ul___data_5babi_v160004_5d_28_29_20const($0) { + $0 = $0 | 0; + HEAP32[((__stack_pointer - 16 | 0) + 12 | 0) >> 2] = $0; + return 0 | 0; + } + + function emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_void____get_28_29() { + return GOT_data_internal_emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_void____get_28_29__types | 0; + } + + function void_20emscripten__val__call_void_2c_20int_20const__2c_20int_20const__2c_20int___28char_20const__2c_20int_20const__2c_20int_20const__2c_20int__29_20const($0, $1, $2, $3, $4) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + $4 = $4 | 0; + var $7 = 0; + $7 = __stack_pointer - 32 | 0; + __stack_pointer = $7; + HEAP32[($7 + 28 | 0) >> 2] = $0; + HEAP32[($7 + 24 | 0) >> 2] = $1; + HEAP32[($7 + 20 | 0) >> 2] = $2; + HEAP32[($7 + 16 | 0) >> 2] = $3; + HEAP32[($7 + 12 | 0) >> 2] = $4; + emscripten__internal__MethodCaller_void_2c_20int_20const__2c_20int_20const__2c_20int____call_28emscripten___EM_VAL__2c_20char_20const__2c_20int_20const__2c_20int_20const__2c_20int__29(HEAP32[(HEAP32[($7 + 28 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[($7 + 24 | 0) >> 2] | 0 | 0, HEAP32[($7 + 20 | 0) >> 2] | 0 | 0, HEAP32[($7 + 16 | 0) >> 2] | 0 | 0, HEAP32[($7 + 12 | 0) >> 2] | 0 | 0); + __stack_pointer = $7 + 32 | 0; + return; + } + + function emscripten__internal__MethodCaller_void_2c_20int_20const__2c_20int_20const__2c_20int____call_28emscripten___EM_VAL__2c_20char_20const__2c_20int_20const__2c_20int_20const__2c_20int__29($0, $1, $2, $3, $4) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + $4 = $4 | 0; + var $7 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $7 = __stack_pointer - 48 | 0; + __stack_pointer = $7; + HEAP32[($7 + 44 | 0) >> 2] = $0; + HEAP32[($7 + 40 | 0) >> 2] = $1; + HEAP32[($7 + 36 | 0) >> 2] = $2; + HEAP32[($7 + 32 | 0) >> 2] = $3; + HEAP32[($7 + 28 | 0) >> 2] = $4; + (wasm2js_i32$0 = $7, wasm2js_i32$1 = emscripten__internal__Signature_void_2c_20int_20const__2c_20int_20const__2c_20int____get_method_caller_28_29() | 0), HEAP32[(wasm2js_i32$0 + 24 | 0) >> 2] = wasm2js_i32$1; + emscripten__internal__WireTypePack_int_20const__2c_20int_20const__2c_20int____WireTypePack_28int_20const__2c_20int_20const__2c_20int__29($7 | 0, HEAP32[($7 + 36 | 0) >> 2] | 0 | 0, HEAP32[($7 + 32 | 0) >> 2] | 0 | 0, HEAP32[($7 + 28 | 0) >> 2] | 0 | 0) | 0; + _emval_call_void_method(HEAP32[($7 + 24 | 0) >> 2] | 0 | 0, HEAP32[($7 + 44 | 0) >> 2] | 0 | 0, HEAP32[($7 + 40 | 0) >> 2] | 0 | 0, emscripten__internal__WireTypePack_int_20const__2c_20int_20const__2c_20int____operator_20void_20const__28_29_20const($7 | 0) | 0 | 0); + __stack_pointer = $7 + 48 | 0; + return; + } + + function emscripten__internal__Signature_void_2c_20int_20const__2c_20int_20const__2c_20int____get_method_caller_28_29() { + var $2 = 0, $26 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $2 = __stack_pointer - 16 | 0; + __stack_pointer = $2; + label$1 : { + if (!((((HEAPU8[GOT_data_internal_guard_20variable_20for_20emscripten__internal__Signature_void_2c_20int_20const__2c_20int_20const__2c_20int____get_method_caller_28_29__mc >> 0] | 0) & 1 | 0) & 255 | 0 | 0) == (0 & 255 | 0 | 0) & 1 | 0)) { + break label$1 + } + (wasm2js_i32$0 = GOT_data_internal_emscripten__internal__Signature_void_2c_20int_20const__2c_20int_20const__2c_20int____get_method_caller_28_29__mc, wasm2js_i32$1 = _emval_get_method_caller(emscripten__internal__WithPolicies____ArgTypeList_void_2c_20int_20const__2c_20int_20const__2c_20int____getCount_28_29_20const($2 + 15 | 0 | 0) | 0 | 0, emscripten__internal__WithPolicies____ArgTypeList_void_2c_20int_20const__2c_20int_20const__2c_20int____getTypes_28_29_20const($2 + 15 | 0 | 0) | 0 | 0) | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + HEAP8[GOT_data_internal_guard_20variable_20for_20emscripten__internal__Signature_void_2c_20int_20const__2c_20int_20const__2c_20int____get_method_caller_28_29__mc >> 0] = 1; + } + $26 = HEAP32[GOT_data_internal_emscripten__internal__Signature_void_2c_20int_20const__2c_20int_20const__2c_20int____get_method_caller_28_29__mc >> 2] | 0; + __stack_pointer = $2 + 16 | 0; + return $26 | 0; + } + + function emscripten__internal__WireTypePack_int_20const__2c_20int_20const__2c_20int____WireTypePack_28int_20const__2c_20int_20const__2c_20int__29($0, $1, $2, $3) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + var $6 = 0, $7 = 0, $9 = 0, $10 = 0, $11 = 0, $19 = 0, $20 = 0, $25 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $6 = __stack_pointer - 64 | 0; + __stack_pointer = $6; + HEAP32[($6 + 24 | 0) >> 2] = $0; + HEAP32[($6 + 20 | 0) >> 2] = $1; + HEAP32[($6 + 16 | 0) >> 2] = $2; + HEAP32[($6 + 12 | 0) >> 2] = $3; + $7 = HEAP32[($6 + 24 | 0) >> 2] | 0; + (wasm2js_i32$0 = $6, wasm2js_i32$1 = std____2__array_emscripten__internal__GenericWireType_2c_203ul___data_5babi_v160004_5d_28_29($7 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + $9 = HEAP32[($6 + 20 | 0) >> 2] | 0; + $10 = HEAP32[($6 + 16 | 0) >> 2] | 0; + $11 = HEAP32[($6 + 12 | 0) >> 2] | 0; + HEAP32[($6 + 40 | 0) >> 2] = $6 + 8 | 0; + HEAP32[($6 + 36 | 0) >> 2] = $9; + HEAP32[($6 + 32 | 0) >> 2] = $10; + HEAP32[($6 + 28 | 0) >> 2] = $11; + void_20emscripten__internal__writeGenericWireType_int__28emscripten__internal__GenericWireType___2c_20int_29(HEAP32[($6 + 40 | 0) >> 2] | 0 | 0, emscripten__internal__BindingType_int_2c_20void___toWireType_28int_20const__29(HEAP32[($6 + 36 | 0) >> 2] | 0 | 0) | 0 | 0); + $19 = HEAP32[($6 + 32 | 0) >> 2] | 0; + $20 = HEAP32[($6 + 28 | 0) >> 2] | 0; + HEAP32[($6 + 52 | 0) >> 2] = HEAP32[($6 + 40 | 0) >> 2] | 0; + HEAP32[($6 + 48 | 0) >> 2] = $19; + HEAP32[($6 + 44 | 0) >> 2] = $20; + void_20emscripten__internal__writeGenericWireType_int__28emscripten__internal__GenericWireType___2c_20int_29(HEAP32[($6 + 52 | 0) >> 2] | 0 | 0, emscripten__internal__BindingType_int_2c_20void___toWireType_28int_20const__29(HEAP32[($6 + 48 | 0) >> 2] | 0 | 0) | 0 | 0); + $25 = HEAP32[($6 + 44 | 0) >> 2] | 0; + HEAP32[($6 + 60 | 0) >> 2] = HEAP32[($6 + 52 | 0) >> 2] | 0; + HEAP32[($6 + 56 | 0) >> 2] = $25; + void_20emscripten__internal__writeGenericWireType_int__28emscripten__internal__GenericWireType___2c_20int_29(HEAP32[($6 + 60 | 0) >> 2] | 0 | 0, emscripten__internal__BindingType_int_2c_20void___toWireType_28int_20const__29(HEAP32[($6 + 56 | 0) >> 2] | 0 | 0) | 0 | 0); + emscripten__internal__writeGenericWireTypes_28emscripten__internal__GenericWireType___29(HEAP32[($6 + 60 | 0) >> 2] | 0 | 0); + __stack_pointer = $6 + 64 | 0; + return $7 | 0; + } + + function emscripten__internal__WireTypePack_int_20const__2c_20int_20const__2c_20int____operator_20void_20const__28_29_20const($0) { + $0 = $0 | 0; + var $3 = 0, $5 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $5 = std____2__array_emscripten__internal__GenericWireType_2c_203ul___data_5babi_v160004_5d_28_29_20const(HEAP32[($3 + 12 | 0) >> 2] | 0 | 0) | 0; + __stack_pointer = $3 + 16 | 0; + return $5 | 0; + } + + function emscripten__internal__WithPolicies____ArgTypeList_void_2c_20int_20const__2c_20int_20const__2c_20int____getCount_28_29_20const($0) { + $0 = $0 | 0; + HEAP32[((__stack_pointer - 16 | 0) + 12 | 0) >> 2] = $0; + return 4 | 0; + } + + function emscripten__internal__WithPolicies____ArgTypeList_void_2c_20int_20const__2c_20int_20const__2c_20int____getTypes_28_29_20const($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_void_2c_20int_20const__2c_20int_20const__2c_20int_____get_28_29() | 0; + __stack_pointer = $3 + 16 | 0; + return $4 | 0; + } + + function std____2__array_emscripten__internal__GenericWireType_2c_203ul___data_5babi_v160004_5d_28_29($0) { + $0 = $0 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + return HEAP32[($3 + 12 | 0) >> 2] | 0 | 0; + } + + function emscripten__internal__BindingType_int_2c_20void___toWireType_28int_20const__29($0) { + $0 = $0 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + return HEAP32[(HEAP32[($3 + 12 | 0) >> 2] | 0) >> 2] | 0 | 0; + } + + function void_20emscripten__internal__writeGenericWireType_int__28emscripten__internal__GenericWireType___2c_20int_29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, $8 = 0; + $4 = __stack_pointer - 16 | 0; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + HEAP32[(HEAP32[(HEAP32[($4 + 12 | 0) >> 2] | 0) >> 2] | 0) >> 2] = HEAP32[($4 + 8 | 0) >> 2] | 0; + $8 = HEAP32[($4 + 12 | 0) >> 2] | 0; + HEAP32[$8 >> 2] = (HEAP32[$8 >> 2] | 0) + 8 | 0; + return; + } + + function std____2__array_emscripten__internal__GenericWireType_2c_203ul___data_5babi_v160004_5d_28_29_20const($0) { + $0 = $0 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + return HEAP32[($3 + 12 | 0) >> 2] | 0 | 0; + } + + function emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_void_2c_20int_20const__2c_20int_20const__2c_20int_____get_28_29() { + return GOT_data_internal_emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_void_2c_20int_20const__2c_20int_20const__2c_20int_____get_28_29__types | 0; + } + + function emscripten__internal__BindingType_std____2__basic_string_char_2c_20std____2__char_traits_char__2c_20std____2__allocator_char___2c_20void___fromWireType_28emscripten__internal__BindingType_std____2__basic_string_char_2c_20std____2__char_traits_char__2c_20std____2__allocator_char___2c_20void____unnamed___29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0; + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + std____2__basic_string_char_2c_20std____2__char_traits_char__2c_20std____2__allocator_char____basic_string_5babi_v160004_5d_28char_20const__2c_20unsigned_20long_29($0 | 0, (HEAP32[($4 + 8 | 0) >> 2] | 0) + 4 | 0 | 0, HEAP32[(HEAP32[($4 + 8 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0; + __stack_pointer = $4 + 16 | 0; + return; + } + + function emscripten__internal__BindingType_emscripten__val_2c_20void___toWireType_28emscripten__val_20const__29($0) { + $0 = $0 | 0; + var $3 = 0, $7 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + _emval_incref(HEAP32[(HEAP32[($3 + 12 | 0) >> 2] | 0) >> 2] | 0 | 0); + $7 = HEAP32[(HEAP32[($3 + 12 | 0) >> 2] | 0) >> 2] | 0; + __stack_pointer = $3 + 16 | 0; + return $7 | 0; + } + + function emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_emscripten__val_2c_20std____2__basic_string_char_2c_20std____2__char_traits_char__2c_20std____2__allocator_char___20const__2c_20emscripten__val_20const_____get_28_29() { + return GOT_data_internal_emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_emscripten__val_2c_20std____2__basic_string_char_2c_20std____2__char_traits_char__2c_20std____2__allocator_char___20const__2c_20emscripten__val_20const_____get_28_29__types | 0; + } + + function std____2__basic_string_char_2c_20std____2__char_traits_char__2c_20std____2__allocator_char____basic_string_5babi_v160004_5d_28char_20const__2c_20unsigned_20long_29($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $5 = 0, $6 = 0, $15 = 0, $23 = 0; + $5 = __stack_pointer - 32 | 0; + __stack_pointer = $5; + HEAP32[($5 + 24 | 0) >> 2] = $0; + HEAP32[($5 + 20 | 0) >> 2] = $1; + HEAP32[($5 + 16 | 0) >> 2] = $2; + $6 = HEAP32[($5 + 24 | 0) >> 2] | 0; + HEAP32[($5 + 28 | 0) >> 2] = $6; + std____2____compressed_pair_std____2__basic_string_char_2c_20std____2__char_traits_char__2c_20std____2__allocator_char______rep_2c_20std____2__allocator_char______compressed_pair_5babi_v160004_5d_std____2____default_init_tag_2c_20std____2____default_init_tag__28std____2____default_init_tag___2c_20std____2____default_init_tag___29($6 | 0, $5 + 15 | 0 | 0, $5 + 14 | 0 | 0) | 0; + $15 = 1; + label$1 : { + if (!(HEAP32[($5 + 16 | 0) >> 2] | 0)) { + break label$1 + } + $15 = (HEAP32[($5 + 20 | 0) >> 2] | 0 | 0) != (0 | 0); + } + std____2__basic_string_char_2c_20std____2__char_traits_char__2c_20std____2__allocator_char______init_28char_20const__2c_20unsigned_20long_29($6 | 0, HEAP32[($5 + 20 | 0) >> 2] | 0 | 0, HEAP32[($5 + 16 | 0) >> 2] | 0 | 0); + void_20std____2____debug_db_insert_c_5babi_v160004_5d_std____2__basic_string_char_2c_20std____2__char_traits_char__2c_20std____2__allocator_char____28std____2__basic_string_char_2c_20std____2__char_traits_char__2c_20std____2__allocator_char____29($6 | 0); + $23 = HEAP32[($5 + 28 | 0) >> 2] | 0; + __stack_pointer = $5 + 32 | 0; + return $23 | 0; + } + + function std____2____compressed_pair_elem_std____2__basic_string_char_2c_20std____2__char_traits_char__2c_20std____2__allocator_char______rep_2c_200_2c_20false_____compressed_pair_elem_5babi_v160004_5d_28std____2____default_init_tag_29($0) { + $0 = $0 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 8 | 0) >> 2] = $0; + return HEAP32[($3 + 8 | 0) >> 2] | 0 | 0; + } + + function std____2____compressed_pair_elem_std____2__allocator_char__2c_201_2c_20true_____compressed_pair_elem_5babi_v160004_5d_28std____2____default_init_tag_29($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 8 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 8 | 0) >> 2] | 0; + std____2__allocator_char___allocator_5babi_v160004_5d_28_29($4 | 0) | 0; + __stack_pointer = $3 + 16 | 0; + return $4 | 0; + } + + function std____2__allocator_char___allocator_5babi_v160004_5d_28_29($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + std____2____non_trivial_if_true_2c_20std____2__allocator_char______non_trivial_if_5babi_v160004_5d_28_29($4 | 0) | 0; + __stack_pointer = $3 + 16 | 0; + return $4 | 0; + } + + function std____2____non_trivial_if_true_2c_20std____2__allocator_char______non_trivial_if_5babi_v160004_5d_28_29($0) { + $0 = $0 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + return HEAP32[($3 + 12 | 0) >> 2] | 0 | 0; + } + + function std____2__basic_string_char_2c_20std____2__char_traits_char__2c_20std____2__allocator_char____data_5babi_v160004_5d_28_29_20const($0) { + $0 = $0 | 0; + var $3 = 0, $6 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $6 = char_20const__20std____2____to_address_5babi_v160004_5d_char_20const__28char_20const__29(std____2__basic_string_char_2c_20std____2__char_traits_char__2c_20std____2__allocator_char______get_pointer_5babi_v160004_5d_28_29_20const(HEAP32[($3 + 12 | 0) >> 2] | 0 | 0) | 0 | 0) | 0; + __stack_pointer = $3 + 16 | 0; + return $6 | 0; + } + + function std____2__basic_string_char_2c_20std____2__char_traits_char__2c_20std____2__allocator_char______get_pointer_5babi_v160004_5d_28_29_20const($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0, $9 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + label$1 : { + label$2 : { + if (!((std____2__basic_string_char_2c_20std____2__char_traits_char__2c_20std____2__allocator_char______is_long_5babi_v160004_5d_28_29_20const($4 | 0) | 0) & 1 | 0)) { + break label$2 + } + $9 = std____2__basic_string_char_2c_20std____2__char_traits_char__2c_20std____2__allocator_char______get_long_pointer_5babi_v160004_5d_28_29_20const($4 | 0) | 0; + break label$1; + } + $9 = std____2__basic_string_char_2c_20std____2__char_traits_char__2c_20std____2__allocator_char______get_short_pointer_5babi_v160004_5d_28_29_20const($4 | 0) | 0; + } + __stack_pointer = $3 + 16 | 0; + return $9 | 0; + } + + function char_20const__20std____2____to_address_5babi_v160004_5d_char_20const__28char_20const__29($0) { + $0 = $0 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + return HEAP32[($3 + 12 | 0) >> 2] | 0 | 0; + } + + function std____2__basic_string_char_2c_20std____2__char_traits_char__2c_20std____2__allocator_char______is_long_5babi_v160004_5d_28_29_20const($0) { + $0 = $0 | 0; + var $3 = 0, $16 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $16 = (((HEAPU8[((std____2____compressed_pair_std____2__basic_string_char_2c_20std____2__char_traits_char__2c_20std____2__allocator_char______rep_2c_20std____2__allocator_char____first_5babi_v160004_5d_28_29_20const(HEAP32[($3 + 12 | 0) >> 2] | 0 | 0) | 0) + 11 | 0) >> 0] | 0) >>> 7 | 0) & 255 | 0 | 0) != (0 & 255 | 0 | 0) & 1 | 0; + __stack_pointer = $3 + 16 | 0; + return $16 | 0; + } + + function std____2__basic_string_char_2c_20std____2__char_traits_char__2c_20std____2__allocator_char______get_long_pointer_5babi_v160004_5d_28_29_20const($0) { + $0 = $0 | 0; + var $3 = 0, $6 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $6 = HEAP32[(std____2____compressed_pair_std____2__basic_string_char_2c_20std____2__char_traits_char__2c_20std____2__allocator_char______rep_2c_20std____2__allocator_char____first_5babi_v160004_5d_28_29_20const(HEAP32[($3 + 12 | 0) >> 2] | 0 | 0) | 0) >> 2] | 0; + __stack_pointer = $3 + 16 | 0; + return $6 | 0; + } + + function std____2__basic_string_char_2c_20std____2__char_traits_char__2c_20std____2__allocator_char______get_short_pointer_5babi_v160004_5d_28_29_20const($0) { + $0 = $0 | 0; + var $3 = 0, $6 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $6 = std____2__pointer_traits_char_20const____pointer_to_5babi_v160004_5d_28char_20const__29(std____2____compressed_pair_std____2__basic_string_char_2c_20std____2__char_traits_char__2c_20std____2__allocator_char______rep_2c_20std____2__allocator_char____first_5babi_v160004_5d_28_29_20const(HEAP32[($3 + 12 | 0) >> 2] | 0 | 0) | 0 | 0) | 0; + __stack_pointer = $3 + 16 | 0; + return $6 | 0; + } + + function std____2____compressed_pair_std____2__basic_string_char_2c_20std____2__char_traits_char__2c_20std____2__allocator_char______rep_2c_20std____2__allocator_char____first_5babi_v160004_5d_28_29_20const($0) { + $0 = $0 | 0; + var $3 = 0, $5 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $5 = std____2____compressed_pair_elem_std____2__basic_string_char_2c_20std____2__char_traits_char__2c_20std____2__allocator_char______rep_2c_200_2c_20false_____get_5babi_v160004_5d_28_29_20const(HEAP32[($3 + 12 | 0) >> 2] | 0 | 0) | 0; + __stack_pointer = $3 + 16 | 0; + return $5 | 0; + } + + function std____2__pointer_traits_char_20const____pointer_to_5babi_v160004_5d_28char_20const__29($0) { + $0 = $0 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + return HEAP32[($3 + 12 | 0) >> 2] | 0 | 0; + } + + function std____2____compressed_pair_elem_std____2__basic_string_char_2c_20std____2__char_traits_char__2c_20std____2__allocator_char______rep_2c_200_2c_20false_____get_5babi_v160004_5d_28_29_20const($0) { + $0 = $0 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + return HEAP32[($3 + 12 | 0) >> 2] | 0 | 0; + } + + function void_20const__20emscripten__internal__getLightTypeID_btControllerHitReport__28btControllerHitReport_20const__29($0) { + $0 = $0 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + return HEAP32[((HEAP32[(HEAP32[($3 + 12 | 0) >> 2] | 0) >> 2] | 0) + -4 | 0) >> 2] | 0 | 0; + } + + function emscripten__internal__LightTypeID_btControllerHitReport___get_28_29() { + return GOT_data_internal_typeinfo_20for_20btControllerHitReport | 0; + } + + function emscripten__internal__LightTypeID_btControllerHitReport____get_28_29() { + return GOT_data_internal_typeinfo_20for_20btControllerHitReport_ | 0; + } + + function emscripten__internal__LightTypeID_btControllerHitReport_20const____get_28_29() { + return GOT_data_internal_typeinfo_20for_20btControllerHitReport_20const_ | 0; + } + + function emscripten__internal__MethodInvoker_void_20_28btControllerHitReport____29_28int_2c_20int_29_2c_20void_2c_20btControllerHitReport__2c_20int_2c_20int___invoke_28void_20_28btControllerHitReport____20const__29_28int_2c_20int_29_2c_20btControllerHitReport__2c_20int_2c_20int_29($0, $1, $2, $3) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + var $6 = 0, $9 = 0, $10 = 0, $11 = 0, $14 = 0, $20 = 0, $8 = 0; + $6 = __stack_pointer - 16 | 0; + __stack_pointer = $6; + HEAP32[($6 + 12 | 0) >> 2] = $0; + HEAP32[($6 + 8 | 0) >> 2] = $1; + HEAP32[($6 + 4 | 0) >> 2] = $2; + HEAP32[$6 >> 2] = $3; + $8 = emscripten__internal__BindingType_btControllerHitReport__2c_20void___fromWireType_28btControllerHitReport__29(HEAP32[($6 + 8 | 0) >> 2] | 0 | 0) | 0; + $9 = HEAP32[($6 + 12 | 0) >> 2] | 0; + $10 = HEAP32[($9 + 4 | 0) >> 2] | 0; + $11 = HEAP32[$9 >> 2] | 0; + $14 = $8 + ($10 >> 1 | 0) | 0; + label$1 : { + label$2 : { + if (!($10 & 1 | 0)) { + break label$2 + } + $20 = HEAP32[((HEAP32[$14 >> 2] | 0) + $11 | 0) >> 2] | 0; + break label$1; + } + $20 = $11; + } + FUNCTION_TABLE[$20 | 0]($14, emscripten__internal__BindingType_int_2c_20void___fromWireType_28int_29(HEAP32[($6 + 4 | 0) >> 2] | 0 | 0) | 0, emscripten__internal__BindingType_int_2c_20void___fromWireType_28int_29(HEAP32[$6 >> 2] | 0 | 0) | 0); + __stack_pointer = $6 + 16 | 0; + return; + } + + function emscripten__internal__WithPolicies____ArgTypeList_void_2c_20emscripten__internal__AllowedRawPointer_btControllerHitReport__2c_20int_2c_20int___getCount_28_29_20const($0) { + $0 = $0 | 0; + HEAP32[((__stack_pointer - 16 | 0) + 12 | 0) >> 2] = $0; + return 4 | 0; + } + + function emscripten__internal__WithPolicies____ArgTypeList_void_2c_20emscripten__internal__AllowedRawPointer_btControllerHitReport__2c_20int_2c_20int___getTypes_28_29_20const($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_void_2c_20emscripten__internal__AllowedRawPointer_btControllerHitReport__2c_20int_2c_20int____get_28_29() | 0; + __stack_pointer = $3 + 16 | 0; + return $4 | 0; + } + + function void_20_28btControllerHitReport____emscripten__internal__getContext_void_20_28btControllerHitReport____29_28int_2c_20int_29__28void_20_28btControllerHitReport____20const__29_28int_2c_20int_29_29_29_28int_2c_20int_29($0) { + $0 = $0 | 0; + var $3 = 0, $5 = 0, $6 = 0, $7 = 0, $9 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $5 = operator_20new_28unsigned_20long_29(8 | 0) | 0; + $6 = HEAP32[($3 + 12 | 0) >> 2] | 0; + $7 = HEAP32[$6 >> 2] | 0; + HEAP32[($5 + 4 | 0) >> 2] = HEAP32[($6 + 4 | 0) >> 2] | 0; + HEAP32[$5 >> 2] = $7; + HEAP32[($3 + 8 | 0) >> 2] = $5; + $9 = HEAP32[($3 + 8 | 0) >> 2] | 0; + __stack_pointer = $3 + 16 | 0; + return $9 | 0; + } + + function emscripten__internal__BindingType_btControllerHitReport__2c_20void___fromWireType_28btControllerHitReport__29($0) { + $0 = $0 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + return HEAP32[($3 + 12 | 0) >> 2] | 0 | 0; + } + + function emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_void_2c_20emscripten__internal__AllowedRawPointer_btControllerHitReport__2c_20int_2c_20int____get_28_29() { + return GOT_data_internal_emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_void_2c_20emscripten__internal__AllowedRawPointer_btControllerHitReport__2c_20int_2c_20int____get_28_29__types | 0; + } + + function emscripten__class__btControllerHitReport_2c_20emscripten__internal__NoBaseClass__20const__20emscripten__class__btControllerHitReport_2c_20emscripten__internal__NoBaseClass___allow_subclass_btControllerHitReportWrapper__28char_20const__2c_20emscripten__constructor___29_20const___lambda__28btControllerHitReportWrapper__29____invoke_28btControllerHitReportWrapper__29($0) { + $0 = $0 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + emscripten__class__btControllerHitReport_2c_20emscripten__internal__NoBaseClass__20const__20emscripten__class__btControllerHitReport_2c_20emscripten__internal__NoBaseClass___allow_subclass_btControllerHitReportWrapper__28char_20const__2c_20emscripten__constructor___29_20const___lambda__28btControllerHitReportWrapper__29__operator_28_29_28btControllerHitReportWrapper__29_20const($3 + 11 | 0 | 0, HEAP32[($3 + 12 | 0) >> 2] | 0 | 0); + __stack_pointer = $3 + 16 | 0; + return; + } + + function btControllerHitReportWrapper__btControllerHitReportWrapper___28emscripten__val___29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, $5 = 0; + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; + emscripten__wrapper_btControllerHitReport___wrapper___28emscripten__val___29($5 | 0, HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) | 0; + HEAP32[$5 >> 2] = GOT_data_internal_vtable_20for_20btControllerHitReportWrapper + 8 | 0; + __stack_pointer = $4 + 16 | 0; + return $5 | 0; + } + + function void_20const__20emscripten__internal__getLightTypeID_btControllerHitReportWrapper__28btControllerHitReportWrapper_20const__29($0) { + $0 = $0 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + return HEAP32[((HEAP32[(HEAP32[($3 + 12 | 0) >> 2] | 0) >> 2] | 0) + -4 | 0) >> 2] | 0 | 0; + } + + function btControllerHitReport__20emscripten__base_btControllerHitReport___convertPointer_btControllerHitReportWrapper_2c_20btControllerHitReport__28btControllerHitReportWrapper__29($0) { + $0 = $0 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + return HEAP32[($3 + 12 | 0) >> 2] | 0 | 0; + } + + function btControllerHitReportWrapper__20emscripten__base_btControllerHitReport___convertPointer_btControllerHitReport_2c_20btControllerHitReportWrapper__28btControllerHitReport__29($0) { + $0 = $0 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + return HEAP32[($3 + 12 | 0) >> 2] | 0 | 0; + } + + function emscripten__internal__LightTypeID_btControllerHitReportWrapper___get_28_29() { + return GOT_data_internal_typeinfo_20for_20btControllerHitReportWrapper | 0; + } + + function emscripten__internal__LightTypeID_btControllerHitReportWrapper____get_28_29() { + return GOT_data_internal_typeinfo_20for_20btControllerHitReportWrapper_ | 0; + } + + function emscripten__internal__LightTypeID_btControllerHitReportWrapper_20const____get_28_29() { + return GOT_data_internal_typeinfo_20for_20btControllerHitReportWrapper_20const_ | 0; + } + + function emscripten__internal__FunctionInvoker_void_20_28__29_28btControllerHitReportWrapper__29_2c_20void_2c_20btControllerHitReportWrapper____invoke_28void_20_28___29_28btControllerHitReportWrapper__29_2c_20btControllerHitReportWrapper__29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, $6 = 0; + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + $6 = HEAP32[(HEAP32[($4 + 12 | 0) >> 2] | 0) >> 2] | 0; + FUNCTION_TABLE[$6 | 0](emscripten__internal__GenericBindingType_btControllerHitReportWrapper___fromWireType_28btControllerHitReportWrapper__29(HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) | 0); + __stack_pointer = $4 + 16 | 0; + return; + } + + function emscripten__internal__WithPolicies____ArgTypeList_void_2c_20btControllerHitReportWrapper____getCount_28_29_20const($0) { + $0 = $0 | 0; + HEAP32[((__stack_pointer - 16 | 0) + 12 | 0) >> 2] = $0; + return 2 | 0; + } + + function emscripten__internal__WithPolicies____ArgTypeList_void_2c_20btControllerHitReportWrapper____getTypes_28_29_20const($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_void_2c_20btControllerHitReportWrapper_____get_28_29() | 0; + __stack_pointer = $3 + 16 | 0; + return $4 | 0; + } + + function void_20_28__emscripten__internal__getContext_void_20_28__29_28btControllerHitReportWrapper__29__28void_20_28__20const__29_28btControllerHitReportWrapper__29_29_29_28btControllerHitReportWrapper__29($0) { + $0 = $0 | 0; + var $3 = 0, $5 = 0, $8 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $5 = operator_20new_28unsigned_20long_29(4 | 0) | 0; + HEAP32[$5 >> 2] = HEAP32[(HEAP32[($3 + 12 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($3 + 8 | 0) >> 2] = $5; + $8 = HEAP32[($3 + 8 | 0) >> 2] | 0; + __stack_pointer = $3 + 16 | 0; + return $8 | 0; + } + + function emscripten__internal__GenericBindingType_btControllerHitReportWrapper___fromWireType_28btControllerHitReportWrapper__29($0) { + $0 = $0 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + return HEAP32[($3 + 12 | 0) >> 2] | 0 | 0; + } + + function emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_void_2c_20btControllerHitReportWrapper_____get_28_29() { + return GOT_data_internal_emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_void_2c_20btControllerHitReportWrapper_____get_28_29__types | 0; + } + + function emscripten__class__btControllerHitReport_2c_20emscripten__internal__NoBaseClass__20const__20emscripten__class__btControllerHitReport_2c_20emscripten__internal__NoBaseClass___allow_subclass_btControllerHitReportWrapper__28char_20const__2c_20emscripten__constructor___29_20const___lambda__28btControllerHitReportWrapper__29__operator_28_29_28btControllerHitReportWrapper__29_20const($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0; + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + emscripten__internal__WrapperBase__setNotifyJSOnDestruction_28bool_29((HEAP32[($4 + 8 | 0) >> 2] | 0) + 4 | 0 | 0, 1 & 1 | 0 | 0); + __stack_pointer = $4 + 16 | 0; + return; + } + + function emscripten__internal__BindingType_btControllerHitReportWrapper__2c_20void___toWireType_28btControllerHitReportWrapper__29($0) { + $0 = $0 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + return HEAP32[($3 + 12 | 0) >> 2] | 0 | 0; + } + + function emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_emscripten__internal__AllowedRawPointer_btControllerHitReportWrapper__2c_20emscripten__val______get_28_29() { + return GOT_data_internal_emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_emscripten__internal__AllowedRawPointer_btControllerHitReportWrapper__2c_20emscripten__val______get_28_29__types | 0; + } + + function emscripten__wrapper_btControllerHitReport___wrapper___28emscripten__val___29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, $5 = 0; + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; + HEAP32[$5 >> 2] = 0; + btControllerHitReport__btControllerHitReport_28_29($5 | 0) | 0; + emscripten__internal__WrapperBase__WrapperBase_28_29($5 + 4 | 0 | 0) | 0; + HEAP32[$5 >> 2] = GOT_data_internal_vtable_20for_20emscripten__wrapper_btControllerHitReport_ + 8 | 0; + emscripten__val__val_28emscripten__val___29($5 + 8 | 0 | 0, HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) | 0; + __stack_pointer = $4 + 16 | 0; + return $5 | 0; + } + + function btControllerHitReport__btControllerHitReport_28_29($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + btUserControllerHitReport__btUserControllerHitReport_28_29($4 | 0) | 0; + HEAP32[$4 >> 2] = GOT_data_internal_vtable_20for_20btControllerHitReport + 8 | 0; + __stack_pointer = $3 + 16 | 0; + return $4 | 0; + } + + function btControllerHitReport__onShapeHit_28btControllerShapeHit_20const__29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, $5 = 0; + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; + FUNCTION_TABLE[HEAP32[((HEAP32[$5 >> 2] | 0) + 16 | 0) >> 2] | 0 | 0]($5, HEAP32[($4 + 8 | 0) >> 2] | 0, HEAP32[(HEAP32[($4 + 8 | 0) >> 2] | 0) >> 2] | 0); + __stack_pointer = $4 + 16 | 0; + return; + } + + function btControllerHitReport__onControllerHit_28btControllersHit_20const__29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0; + $4 = __stack_pointer - 16 | 0; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + return; + } + + function btControllerHitReportWrapper___btControllerHitReportWrapper_28_29($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + emscripten__wrapper_btControllerHitReport____wrapper_28_29($4 | 0) | 0; + __stack_pointer = $3 + 16 | 0; + return $4 | 0; + } + + function emscripten__wrapper_btControllerHitReport____wrapper_28_29($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0, $16 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 8 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 8 | 0) >> 2] | 0; + HEAP32[($3 + 12 | 0) >> 2] = $4; + HEAP32[$4 >> 2] = GOT_data_internal_vtable_20for_20emscripten__wrapper_btControllerHitReport_ + 8 | 0; + label$1 : { + if (!((HEAPU8[($4 + 4 | 0) >> 0] | 0) & 1 | 0)) { + break label$1 + } + void_20emscripten__wrapper_btControllerHitReport___call_void__28char_20const__29_20const($4 | 0, GOT_data_internal___memory_base + 68623 | 0 | 0); + } + emscripten__val___val_28_29($4 + 8 | 0 | 0) | 0; + btControllerHitReport___btControllerHitReport_28_29($4 | 0) | 0; + $16 = HEAP32[($3 + 12 | 0) >> 2] | 0; + __stack_pointer = $3 + 16 | 0; + return $16 | 0; + } + + function btControllerHitReportWrapper___btControllerHitReportWrapper_28_29_1($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + btControllerHitReportWrapper___btControllerHitReportWrapper_28_29($4 | 0) | 0; + operator_20delete_28void__29($4 | 0); + __stack_pointer = $3 + 16 | 0; + return; + } + + function btControllerHitReportWrapper__onShapeHitExt_28int_2c_20int_29($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $5 = 0; + $5 = __stack_pointer - 16 | 0; + __stack_pointer = $5; + HEAP32[($5 + 12 | 0) >> 2] = $0; + HEAP32[($5 + 8 | 0) >> 2] = $1; + HEAP32[($5 + 4 | 0) >> 2] = $2; + void_20emscripten__wrapper_btControllerHitReport___call_void_2c_20int_20const__2c_20int_20const___28char_20const__2c_20int_20const__2c_20int_20const__29_20const(HEAP32[($5 + 12 | 0) >> 2] | 0 | 0, GOT_data_internal___memory_base + 67323 | 0 | 0, $5 + 8 | 0 | 0, $5 + 4 | 0 | 0); + __stack_pointer = $5 + 16 | 0; + return; + } + + function void_20emscripten__wrapper_btControllerHitReport___call_void_2c_20int_20const__2c_20int_20const___28char_20const__2c_20int_20const__2c_20int_20const__29_20const($0, $1, $2, $3) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + var $6 = 0; + $6 = __stack_pointer - 16 | 0; + __stack_pointer = $6; + HEAP32[($6 + 12 | 0) >> 2] = $0; + HEAP32[($6 + 8 | 0) >> 2] = $1; + HEAP32[($6 + 4 | 0) >> 2] = $2; + HEAP32[$6 >> 2] = $3; + void_20emscripten__val__call_void_2c_20int_20const__2c_20int_20const___28char_20const__2c_20int_20const__2c_20int_20const__29_20const((HEAP32[($6 + 12 | 0) >> 2] | 0) + 8 | 0 | 0, HEAP32[($6 + 8 | 0) >> 2] | 0 | 0, HEAP32[($6 + 4 | 0) >> 2] | 0 | 0, HEAP32[$6 >> 2] | 0 | 0); + __stack_pointer = $6 + 16 | 0; + return; + } + + function btUserControllerHitReport__btUserControllerHitReport_28_29($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + HEAP32[$4 >> 2] = GOT_data_internal_vtable_20for_20btUserControllerHitReport + 8 | 0; + return $4 | 0; + } + + function void_20emscripten__wrapper_btControllerHitReport___call_void__28char_20const__29_20const($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0; + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + void_20emscripten__val__call_void__28char_20const__29_20const((HEAP32[($4 + 12 | 0) >> 2] | 0) + 8 | 0 | 0, HEAP32[($4 + 8 | 0) >> 2] | 0 | 0); + __stack_pointer = $4 + 16 | 0; + return; + } + + function btControllerHitReport___btControllerHitReport_28_29($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + btUserControllerHitReport___btUserControllerHitReport_28_29($4 | 0) | 0; + __stack_pointer = $3 + 16 | 0; + return $4 | 0; + } + + function emscripten__wrapper_btControllerHitReport____wrapper_28_29_1($0) { + $0 = $0 | 0; + HEAP32[((__stack_pointer - 16 | 0) + 12 | 0) >> 2] = $0; + wasm2js_trap(); + } + + function btUserControllerHitReport___btUserControllerHitReport_28_29($0) { + $0 = $0 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + return HEAP32[($3 + 12 | 0) >> 2] | 0 | 0; + } + + function btControllerHitReport___btControllerHitReport_28_29_1($0) { + $0 = $0 | 0; + HEAP32[((__stack_pointer - 16 | 0) + 12 | 0) >> 2] = $0; + wasm2js_trap(); + } + + function btUserControllerHitReport___btUserControllerHitReport_28_29_1($0) { + $0 = $0 | 0; + HEAP32[((__stack_pointer - 16 | 0) + 12 | 0) >> 2] = $0; + wasm2js_trap(); + } + + function void_20emscripten__val__call_void_2c_20int_20const__2c_20int_20const___28char_20const__2c_20int_20const__2c_20int_20const__29_20const($0, $1, $2, $3) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + var $6 = 0; + $6 = __stack_pointer - 16 | 0; + __stack_pointer = $6; + HEAP32[($6 + 12 | 0) >> 2] = $0; + HEAP32[($6 + 8 | 0) >> 2] = $1; + HEAP32[($6 + 4 | 0) >> 2] = $2; + HEAP32[$6 >> 2] = $3; + emscripten__internal__MethodCaller_void_2c_20int_20const__2c_20int_20const____call_28emscripten___EM_VAL__2c_20char_20const__2c_20int_20const__2c_20int_20const__29(HEAP32[(HEAP32[($6 + 12 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[($6 + 8 | 0) >> 2] | 0 | 0, HEAP32[($6 + 4 | 0) >> 2] | 0 | 0, HEAP32[$6 >> 2] | 0 | 0); + __stack_pointer = $6 + 16 | 0; + return; + } + + function emscripten__internal__MethodCaller_void_2c_20int_20const__2c_20int_20const____call_28emscripten___EM_VAL__2c_20char_20const__2c_20int_20const__2c_20int_20const__29($0, $1, $2, $3) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + var $6 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $6 = __stack_pointer - 48 | 0; + __stack_pointer = $6; + HEAP32[($6 + 44 | 0) >> 2] = $0; + HEAP32[($6 + 40 | 0) >> 2] = $1; + HEAP32[($6 + 36 | 0) >> 2] = $2; + HEAP32[($6 + 32 | 0) >> 2] = $3; + (wasm2js_i32$0 = $6, wasm2js_i32$1 = emscripten__internal__Signature_void_2c_20int_20const__2c_20int_20const____get_method_caller_28_29() | 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$1; + emscripten__internal__WireTypePack_int_20const__2c_20int_20const____WireTypePack_28int_20const__2c_20int_20const__29($6 + 8 | 0 | 0, HEAP32[($6 + 36 | 0) >> 2] | 0 | 0, HEAP32[($6 + 32 | 0) >> 2] | 0 | 0) | 0; + _emval_call_void_method(HEAP32[($6 + 28 | 0) >> 2] | 0 | 0, HEAP32[($6 + 44 | 0) >> 2] | 0 | 0, HEAP32[($6 + 40 | 0) >> 2] | 0 | 0, emscripten__internal__WireTypePack_int_20const__2c_20int_20const____operator_20void_20const__28_29_20const($6 + 8 | 0 | 0) | 0 | 0); + __stack_pointer = $6 + 48 | 0; + return; + } + + function emscripten__internal__Signature_void_2c_20int_20const__2c_20int_20const____get_method_caller_28_29() { + var $2 = 0, $26 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $2 = __stack_pointer - 16 | 0; + __stack_pointer = $2; + label$1 : { + if (!((((HEAPU8[GOT_data_internal_guard_20variable_20for_20emscripten__internal__Signature_void_2c_20int_20const__2c_20int_20const____get_method_caller_28_29__mc >> 0] | 0) & 1 | 0) & 255 | 0 | 0) == (0 & 255 | 0 | 0) & 1 | 0)) { + break label$1 + } + (wasm2js_i32$0 = GOT_data_internal_emscripten__internal__Signature_void_2c_20int_20const__2c_20int_20const____get_method_caller_28_29__mc, wasm2js_i32$1 = _emval_get_method_caller(emscripten__internal__WithPolicies____ArgTypeList_void_2c_20int_20const__2c_20int_20const____getCount_28_29_20const($2 + 15 | 0 | 0) | 0 | 0, emscripten__internal__WithPolicies____ArgTypeList_void_2c_20int_20const__2c_20int_20const____getTypes_28_29_20const($2 + 15 | 0 | 0) | 0 | 0) | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + HEAP8[GOT_data_internal_guard_20variable_20for_20emscripten__internal__Signature_void_2c_20int_20const__2c_20int_20const____get_method_caller_28_29__mc >> 0] = 1; + } + $26 = HEAP32[GOT_data_internal_emscripten__internal__Signature_void_2c_20int_20const__2c_20int_20const____get_method_caller_28_29__mc >> 2] | 0; + __stack_pointer = $2 + 16 | 0; + return $26 | 0; + } + + function emscripten__internal__WireTypePack_int_20const__2c_20int_20const____WireTypePack_28int_20const__2c_20int_20const__29($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $5 = 0, $6 = 0, $8 = 0, $9 = 0, $17 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5 = __stack_pointer - 48 | 0; + __stack_pointer = $5; + HEAP32[($5 + 24 | 0) >> 2] = $0; + HEAP32[($5 + 20 | 0) >> 2] = $1; + HEAP32[($5 + 16 | 0) >> 2] = $2; + $6 = HEAP32[($5 + 24 | 0) >> 2] | 0; + (wasm2js_i32$0 = $5, wasm2js_i32$1 = std____2__array_emscripten__internal__GenericWireType_2c_202ul___data_5babi_v160004_5d_28_29($6 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + $8 = HEAP32[($5 + 20 | 0) >> 2] | 0; + $9 = HEAP32[($5 + 16 | 0) >> 2] | 0; + HEAP32[($5 + 36 | 0) >> 2] = $5 + 12 | 0; + HEAP32[($5 + 32 | 0) >> 2] = $8; + HEAP32[($5 + 28 | 0) >> 2] = $9; + void_20emscripten__internal__writeGenericWireType_int__28emscripten__internal__GenericWireType___2c_20int_29(HEAP32[($5 + 36 | 0) >> 2] | 0 | 0, emscripten__internal__BindingType_int_2c_20void___toWireType_28int_20const__29(HEAP32[($5 + 32 | 0) >> 2] | 0 | 0) | 0 | 0); + $17 = HEAP32[($5 + 28 | 0) >> 2] | 0; + HEAP32[($5 + 44 | 0) >> 2] = HEAP32[($5 + 36 | 0) >> 2] | 0; + HEAP32[($5 + 40 | 0) >> 2] = $17; + void_20emscripten__internal__writeGenericWireType_int__28emscripten__internal__GenericWireType___2c_20int_29(HEAP32[($5 + 44 | 0) >> 2] | 0 | 0, emscripten__internal__BindingType_int_2c_20void___toWireType_28int_20const__29(HEAP32[($5 + 40 | 0) >> 2] | 0 | 0) | 0 | 0); + emscripten__internal__writeGenericWireTypes_28emscripten__internal__GenericWireType___29(HEAP32[($5 + 44 | 0) >> 2] | 0 | 0); + __stack_pointer = $5 + 48 | 0; + return $6 | 0; + } + + function emscripten__internal__WireTypePack_int_20const__2c_20int_20const____operator_20void_20const__28_29_20const($0) { + $0 = $0 | 0; + var $3 = 0, $5 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $5 = std____2__array_emscripten__internal__GenericWireType_2c_202ul___data_5babi_v160004_5d_28_29_20const(HEAP32[($3 + 12 | 0) >> 2] | 0 | 0) | 0; + __stack_pointer = $3 + 16 | 0; + return $5 | 0; + } + + function emscripten__internal__WithPolicies____ArgTypeList_void_2c_20int_20const__2c_20int_20const____getCount_28_29_20const($0) { + $0 = $0 | 0; + HEAP32[((__stack_pointer - 16 | 0) + 12 | 0) >> 2] = $0; + return 3 | 0; + } + + function emscripten__internal__WithPolicies____ArgTypeList_void_2c_20int_20const__2c_20int_20const____getTypes_28_29_20const($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_void_2c_20int_20const__2c_20int_20const_____get_28_29() | 0; + __stack_pointer = $3 + 16 | 0; + return $4 | 0; + } + + function std____2__array_emscripten__internal__GenericWireType_2c_202ul___data_5babi_v160004_5d_28_29($0) { + $0 = $0 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + return HEAP32[($3 + 12 | 0) >> 2] | 0 | 0; + } + + function std____2__array_emscripten__internal__GenericWireType_2c_202ul___data_5babi_v160004_5d_28_29_20const($0) { + $0 = $0 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + return HEAP32[($3 + 12 | 0) >> 2] | 0 | 0; + } + + function emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_void_2c_20int_20const__2c_20int_20const_____get_28_29() { + return GOT_data_internal_emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_void_2c_20int_20const__2c_20int_20const_____get_28_29__types | 0; + } + + function void_20const__20emscripten__internal__getLightTypeID_cc__ccMotionState__28cc__ccMotionState_20const__29($0) { + $0 = $0 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + return HEAP32[((HEAP32[(HEAP32[($3 + 12 | 0) >> 2] | 0) >> 2] | 0) + -4 | 0) >> 2] | 0 | 0; + } + + function emscripten__internal__LightTypeID_cc__ccMotionState___get_28_29() { + return GOT_data_internal_typeinfo_20for_20cc__ccMotionState | 0; + } + + function emscripten__internal__LightTypeID_cc__ccMotionState____get_28_29() { + return GOT_data_internal_typeinfo_20for_20cc__ccMotionState_ | 0; + } + + function emscripten__internal__LightTypeID_cc__ccMotionState_20const____get_28_29() { + return GOT_data_internal_typeinfo_20for_20cc__ccMotionState_20const_ | 0; + } + + function emscripten__internal__MethodInvoker_void_20_28cc__ccMotionState____29_28int_29_2c_20void_2c_20cc__ccMotionState__2c_20int___invoke_28void_20_28cc__ccMotionState____20const__29_28int_29_2c_20cc__ccMotionState__2c_20int_29($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $5 = 0, $8 = 0, $9 = 0, $10 = 0, $13 = 0, $19 = 0, $7 = 0; + $5 = __stack_pointer - 16 | 0; + __stack_pointer = $5; + HEAP32[($5 + 12 | 0) >> 2] = $0; + HEAP32[($5 + 8 | 0) >> 2] = $1; + HEAP32[($5 + 4 | 0) >> 2] = $2; + $7 = emscripten__internal__BindingType_cc__ccMotionState__2c_20void___fromWireType_28cc__ccMotionState__29(HEAP32[($5 + 8 | 0) >> 2] | 0 | 0) | 0; + $8 = HEAP32[($5 + 12 | 0) >> 2] | 0; + $9 = HEAP32[($8 + 4 | 0) >> 2] | 0; + $10 = HEAP32[$8 >> 2] | 0; + $13 = $7 + ($9 >> 1 | 0) | 0; + label$1 : { + label$2 : { + if (!($9 & 1 | 0)) { + break label$2 + } + $19 = HEAP32[((HEAP32[$13 >> 2] | 0) + $10 | 0) >> 2] | 0; + break label$1; + } + $19 = $10; + } + FUNCTION_TABLE[$19 | 0]($13, emscripten__internal__BindingType_int_2c_20void___fromWireType_28int_29(HEAP32[($5 + 4 | 0) >> 2] | 0 | 0) | 0); + __stack_pointer = $5 + 16 | 0; + return; + } + + function emscripten__internal__WithPolicies____ArgTypeList_void_2c_20emscripten__internal__AllowedRawPointer_cc__ccMotionState__2c_20int___getCount_28_29_20const($0) { + $0 = $0 | 0; + HEAP32[((__stack_pointer - 16 | 0) + 12 | 0) >> 2] = $0; + return 3 | 0; + } + + function emscripten__internal__WithPolicies____ArgTypeList_void_2c_20emscripten__internal__AllowedRawPointer_cc__ccMotionState__2c_20int___getTypes_28_29_20const($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_void_2c_20emscripten__internal__AllowedRawPointer_cc__ccMotionState__2c_20int____get_28_29() | 0; + __stack_pointer = $3 + 16 | 0; + return $4 | 0; + } + + function void_20_28cc__ccMotionState____emscripten__internal__getContext_void_20_28cc__ccMotionState____29_28int_29__28void_20_28cc__ccMotionState____20const__29_28int_29_29_29_28int_29($0) { + $0 = $0 | 0; + var $3 = 0, $5 = 0, $6 = 0, $7 = 0, $9 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $5 = operator_20new_28unsigned_20long_29(8 | 0) | 0; + $6 = HEAP32[($3 + 12 | 0) >> 2] | 0; + $7 = HEAP32[$6 >> 2] | 0; + HEAP32[($5 + 4 | 0) >> 2] = HEAP32[($6 + 4 | 0) >> 2] | 0; + HEAP32[$5 >> 2] = $7; + HEAP32[($3 + 8 | 0) >> 2] = $5; + $9 = HEAP32[($3 + 8 | 0) >> 2] | 0; + __stack_pointer = $3 + 16 | 0; + return $9 | 0; + } + + function emscripten__internal__BindingType_cc__ccMotionState__2c_20void___fromWireType_28cc__ccMotionState__29($0) { + $0 = $0 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + return HEAP32[($3 + 12 | 0) >> 2] | 0 | 0; + } + + function emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_void_2c_20emscripten__internal__AllowedRawPointer_cc__ccMotionState__2c_20int____get_28_29() { + return GOT_data_internal_emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_void_2c_20emscripten__internal__AllowedRawPointer_cc__ccMotionState__2c_20int____get_28_29__types | 0; + } + + function emscripten__class__cc__ccMotionState_2c_20emscripten__internal__NoBaseClass__20const__20emscripten__class__cc__ccMotionState_2c_20emscripten__internal__NoBaseClass___allow_subclass_ccMotionStateWrapper__28char_20const__2c_20emscripten__constructor___29_20const___lambda__28ccMotionStateWrapper__29____invoke_28ccMotionStateWrapper__29($0) { + $0 = $0 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + emscripten__class__cc__ccMotionState_2c_20emscripten__internal__NoBaseClass__20const__20emscripten__class__cc__ccMotionState_2c_20emscripten__internal__NoBaseClass___allow_subclass_ccMotionStateWrapper__28char_20const__2c_20emscripten__constructor___29_20const___lambda__28ccMotionStateWrapper__29__operator_28_29_28ccMotionStateWrapper__29_20const($3 + 11 | 0 | 0, HEAP32[($3 + 12 | 0) >> 2] | 0 | 0); + __stack_pointer = $3 + 16 | 0; + return; + } + + function ccMotionStateWrapper__ccMotionStateWrapper___28emscripten__val___29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, $5 = 0; + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; + emscripten__wrapper_cc__ccMotionState___wrapper___28emscripten__val___29($5 | 0, HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) | 0; + HEAP32[$5 >> 2] = GOT_data_internal_vtable_20for_20ccMotionStateWrapper + 8 | 0; + __stack_pointer = $4 + 16 | 0; + return $5 | 0; + } + + function void_20const__20emscripten__internal__getLightTypeID_ccMotionStateWrapper__28ccMotionStateWrapper_20const__29($0) { + $0 = $0 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + return HEAP32[((HEAP32[(HEAP32[($3 + 12 | 0) >> 2] | 0) >> 2] | 0) + -4 | 0) >> 2] | 0 | 0; + } + + function cc__ccMotionState__20emscripten__base_cc__ccMotionState___convertPointer_ccMotionStateWrapper_2c_20cc__ccMotionState__28ccMotionStateWrapper__29($0) { + $0 = $0 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + return HEAP32[($3 + 12 | 0) >> 2] | 0 | 0; + } + + function ccMotionStateWrapper__20emscripten__base_cc__ccMotionState___convertPointer_cc__ccMotionState_2c_20ccMotionStateWrapper__28cc__ccMotionState__29($0) { + $0 = $0 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + return HEAP32[($3 + 12 | 0) >> 2] | 0 | 0; + } + + function emscripten__internal__LightTypeID_ccMotionStateWrapper___get_28_29() { + return GOT_data_internal_typeinfo_20for_20ccMotionStateWrapper | 0; + } + + function emscripten__internal__LightTypeID_ccMotionStateWrapper____get_28_29() { + return GOT_data_internal_typeinfo_20for_20ccMotionStateWrapper_ | 0; + } + + function emscripten__internal__LightTypeID_ccMotionStateWrapper_20const____get_28_29() { + return GOT_data_internal_typeinfo_20for_20ccMotionStateWrapper_20const_ | 0; + } + + function emscripten__internal__FunctionInvoker_void_20_28__29_28ccMotionStateWrapper__29_2c_20void_2c_20ccMotionStateWrapper____invoke_28void_20_28___29_28ccMotionStateWrapper__29_2c_20ccMotionStateWrapper__29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, $6 = 0; + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + $6 = HEAP32[(HEAP32[($4 + 12 | 0) >> 2] | 0) >> 2] | 0; + FUNCTION_TABLE[$6 | 0](emscripten__internal__GenericBindingType_ccMotionStateWrapper___fromWireType_28ccMotionStateWrapper__29(HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) | 0); + __stack_pointer = $4 + 16 | 0; + return; + } + + function emscripten__internal__WithPolicies____ArgTypeList_void_2c_20ccMotionStateWrapper____getCount_28_29_20const($0) { + $0 = $0 | 0; + HEAP32[((__stack_pointer - 16 | 0) + 12 | 0) >> 2] = $0; + return 2 | 0; + } + + function emscripten__internal__WithPolicies____ArgTypeList_void_2c_20ccMotionStateWrapper____getTypes_28_29_20const($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_void_2c_20ccMotionStateWrapper_____get_28_29() | 0; + __stack_pointer = $3 + 16 | 0; + return $4 | 0; + } + + function void_20_28__emscripten__internal__getContext_void_20_28__29_28ccMotionStateWrapper__29__28void_20_28__20const__29_28ccMotionStateWrapper__29_29_29_28ccMotionStateWrapper__29($0) { + $0 = $0 | 0; + var $3 = 0, $5 = 0, $8 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $5 = operator_20new_28unsigned_20long_29(4 | 0) | 0; + HEAP32[$5 >> 2] = HEAP32[(HEAP32[($3 + 12 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($3 + 8 | 0) >> 2] = $5; + $8 = HEAP32[($3 + 8 | 0) >> 2] | 0; + __stack_pointer = $3 + 16 | 0; + return $8 | 0; + } + + function emscripten__internal__GenericBindingType_ccMotionStateWrapper___fromWireType_28ccMotionStateWrapper__29($0) { + $0 = $0 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + return HEAP32[($3 + 12 | 0) >> 2] | 0 | 0; + } + + function emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_void_2c_20ccMotionStateWrapper_____get_28_29() { + return GOT_data_internal_emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_void_2c_20ccMotionStateWrapper_____get_28_29__types | 0; + } + + function emscripten__class__cc__ccMotionState_2c_20emscripten__internal__NoBaseClass__20const__20emscripten__class__cc__ccMotionState_2c_20emscripten__internal__NoBaseClass___allow_subclass_ccMotionStateWrapper__28char_20const__2c_20emscripten__constructor___29_20const___lambda__28ccMotionStateWrapper__29__operator_28_29_28ccMotionStateWrapper__29_20const($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0; + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + emscripten__internal__WrapperBase__setNotifyJSOnDestruction_28bool_29((HEAP32[($4 + 8 | 0) >> 2] | 0) + 72 | 0 | 0, 1 & 1 | 0 | 0); + __stack_pointer = $4 + 16 | 0; + return; + } + + function emscripten__internal__BindingType_ccMotionStateWrapper__2c_20void___toWireType_28ccMotionStateWrapper__29($0) { + $0 = $0 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + return HEAP32[($3 + 12 | 0) >> 2] | 0 | 0; + } + + function emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_emscripten__internal__AllowedRawPointer_ccMotionStateWrapper__2c_20emscripten__val______get_28_29() { + return GOT_data_internal_emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_emscripten__internal__AllowedRawPointer_ccMotionStateWrapper__2c_20emscripten__val______get_28_29__types | 0; + } + + function emscripten__wrapper_cc__ccMotionState___wrapper___28emscripten__val___29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, $5 = 0; + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; + cc__ccMotionState__ccMotionState_28_29($5 | 0) | 0; + emscripten__internal__WrapperBase__WrapperBase_28_29($5 + 72 | 0 | 0) | 0; + HEAP32[$5 >> 2] = GOT_data_internal_vtable_20for_20emscripten__wrapper_cc__ccMotionState_ + 8 | 0; + emscripten__val__val_28emscripten__val___29($5 + 76 | 0 | 0, HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) | 0; + __stack_pointer = $4 + 16 | 0; + return $5 | 0; + } + + function cc__ccMotionState__ccMotionState_28_29($0) { + $0 = $0 | 0; + var $4 = 0, $3 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + btMotionState__btMotionState_28_29($4 | 0) | 0; + HEAP32[$4 >> 2] = GOT_data_internal_vtable_20for_20cc__ccMotionState + 8 | 0; + btTransform__btTransform_28_29($4 + 8 | 0 | 0) | 0; + HEAP32[($4 + 4 | 0) >> 2] = -1; + __stack_pointer = $3 + 16 | 0; + return $4 | 0; + } + + function ccMotionStateWrapper___ccMotionStateWrapper_28_29($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + emscripten__wrapper_cc__ccMotionState____wrapper_28_29($4 | 0) | 0; + __stack_pointer = $3 + 16 | 0; + return $4 | 0; + } + + function emscripten__wrapper_cc__ccMotionState____wrapper_28_29($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0, $16 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 8 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 8 | 0) >> 2] | 0; + HEAP32[($3 + 12 | 0) >> 2] = $4; + HEAP32[$4 >> 2] = GOT_data_internal_vtable_20for_20emscripten__wrapper_cc__ccMotionState_ + 8 | 0; + label$1 : { + if (!((HEAPU8[($4 + 72 | 0) >> 0] | 0) & 1 | 0)) { + break label$1 + } + void_20emscripten__wrapper_cc__ccMotionState___call_void__28char_20const__29_20const($4 | 0, GOT_data_internal___memory_base + 68623 | 0 | 0); + } + emscripten__val___val_28_29($4 + 76 | 0 | 0) | 0; + cc__ccMotionState___ccMotionState_28_29($4 | 0) | 0; + $16 = HEAP32[($3 + 12 | 0) >> 2] | 0; + __stack_pointer = $3 + 16 | 0; + return $16 | 0; + } + + function ccMotionStateWrapper___ccMotionStateWrapper_28_29_1($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + ccMotionStateWrapper___ccMotionStateWrapper_28_29($4 | 0) | 0; + operator_20delete_28void__29($4 | 0); + __stack_pointer = $3 + 16 | 0; + return; + } + + function cc__ccMotionState__getWorldTransform_28btTransform__29_20const($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0; + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + btTransform__operator__28btTransform_20const__29(HEAP32[($4 + 8 | 0) >> 2] | 0 | 0, (HEAP32[($4 + 12 | 0) >> 2] | 0) + 8 | 0 | 0) | 0; + __stack_pointer = $4 + 16 | 0; + return; + } + + function cc__ccMotionState__setWorldTransform_28btTransform_20const__29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, $5 = 0; + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; + btTransform__operator__28btTransform_20const__29($5 + 8 | 0 | 0, HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) | 0; + FUNCTION_TABLE[HEAP32[((HEAP32[$5 >> 2] | 0) + 16 | 0) >> 2] | 0 | 0]($5, HEAP32[($5 + 4 | 0) >> 2] | 0); + __stack_pointer = $4 + 16 | 0; + return; + } + + function ccMotionStateWrapper__syncPhysicsToGraphics_28int_29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0; + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + void_20emscripten__wrapper_cc__ccMotionState___call_void_2c_20int_20const___28char_20const__2c_20int_20const__29_20const(HEAP32[($4 + 12 | 0) >> 2] | 0 | 0, GOT_data_internal___memory_base + 70462 | 0 | 0, $4 + 8 | 0 | 0); + __stack_pointer = $4 + 16 | 0; + return; + } + + function void_20emscripten__wrapper_cc__ccMotionState___call_void_2c_20int_20const___28char_20const__2c_20int_20const__29_20const($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $5 = 0; + $5 = __stack_pointer - 16 | 0; + __stack_pointer = $5; + HEAP32[($5 + 12 | 0) >> 2] = $0; + HEAP32[($5 + 8 | 0) >> 2] = $1; + HEAP32[($5 + 4 | 0) >> 2] = $2; + void_20emscripten__val__call_void_2c_20int_20const___28char_20const__2c_20int_20const__29_20const((HEAP32[($5 + 12 | 0) >> 2] | 0) + 76 | 0 | 0, HEAP32[($5 + 8 | 0) >> 2] | 0 | 0, HEAP32[($5 + 4 | 0) >> 2] | 0 | 0); + __stack_pointer = $5 + 16 | 0; + return; + } + + function void_20emscripten__wrapper_cc__ccMotionState___call_void__28char_20const__29_20const($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0; + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + void_20emscripten__val__call_void__28char_20const__29_20const((HEAP32[($4 + 12 | 0) >> 2] | 0) + 76 | 0 | 0, HEAP32[($4 + 8 | 0) >> 2] | 0 | 0); + __stack_pointer = $4 + 16 | 0; + return; + } + + function cc__ccMotionState___ccMotionState_28_29($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + btMotionState___btMotionState_28_29($4 | 0) | 0; + __stack_pointer = $3 + 16 | 0; + return $4 | 0; + } + + function emscripten__wrapper_cc__ccMotionState____wrapper_28_29_1($0) { + $0 = $0 | 0; + HEAP32[((__stack_pointer - 16 | 0) + 12 | 0) >> 2] = $0; + wasm2js_trap(); + } + + function cc__ccMotionState___ccMotionState_28_29_1($0) { + $0 = $0 | 0; + HEAP32[((__stack_pointer - 16 | 0) + 12 | 0) >> 2] = $0; + wasm2js_trap(); + } + + function void_20emscripten__val__call_void_2c_20int_20const___28char_20const__2c_20int_20const__29_20const($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $5 = 0; + $5 = __stack_pointer - 16 | 0; + __stack_pointer = $5; + HEAP32[($5 + 12 | 0) >> 2] = $0; + HEAP32[($5 + 8 | 0) >> 2] = $1; + HEAP32[($5 + 4 | 0) >> 2] = $2; + emscripten__internal__MethodCaller_void_2c_20int_20const____call_28emscripten___EM_VAL__2c_20char_20const__2c_20int_20const__29(HEAP32[(HEAP32[($5 + 12 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[($5 + 8 | 0) >> 2] | 0 | 0, HEAP32[($5 + 4 | 0) >> 2] | 0 | 0); + __stack_pointer = $5 + 16 | 0; + return; + } + + function emscripten__internal__MethodCaller_void_2c_20int_20const____call_28emscripten___EM_VAL__2c_20char_20const__2c_20int_20const__29($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $5 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5 = __stack_pointer - 32 | 0; + __stack_pointer = $5; + HEAP32[($5 + 28 | 0) >> 2] = $0; + HEAP32[($5 + 24 | 0) >> 2] = $1; + HEAP32[($5 + 20 | 0) >> 2] = $2; + (wasm2js_i32$0 = $5, wasm2js_i32$1 = emscripten__internal__Signature_void_2c_20int_20const____get_method_caller_28_29() | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + emscripten__internal__WireTypePack_int_20const____WireTypePack_28int_20const__29($5 + 8 | 0 | 0, HEAP32[($5 + 20 | 0) >> 2] | 0 | 0) | 0; + _emval_call_void_method(HEAP32[($5 + 16 | 0) >> 2] | 0 | 0, HEAP32[($5 + 28 | 0) >> 2] | 0 | 0, HEAP32[($5 + 24 | 0) >> 2] | 0 | 0, emscripten__internal__WireTypePack_int_20const____operator_20void_20const__28_29_20const($5 + 8 | 0 | 0) | 0 | 0); + __stack_pointer = $5 + 32 | 0; + return; + } + + function emscripten__internal__Signature_void_2c_20int_20const____get_method_caller_28_29() { + var $2 = 0, $26 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $2 = __stack_pointer - 16 | 0; + __stack_pointer = $2; + label$1 : { + if (!((((HEAPU8[GOT_data_internal_guard_20variable_20for_20emscripten__internal__Signature_void_2c_20int_20const____get_method_caller_28_29__mc >> 0] | 0) & 1 | 0) & 255 | 0 | 0) == (0 & 255 | 0 | 0) & 1 | 0)) { + break label$1 + } + (wasm2js_i32$0 = GOT_data_internal_emscripten__internal__Signature_void_2c_20int_20const____get_method_caller_28_29__mc, wasm2js_i32$1 = _emval_get_method_caller(emscripten__internal__WithPolicies____ArgTypeList_void_2c_20int_20const____getCount_28_29_20const($2 + 15 | 0 | 0) | 0 | 0, emscripten__internal__WithPolicies____ArgTypeList_void_2c_20int_20const____getTypes_28_29_20const($2 + 15 | 0 | 0) | 0 | 0) | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + HEAP8[GOT_data_internal_guard_20variable_20for_20emscripten__internal__Signature_void_2c_20int_20const____get_method_caller_28_29__mc >> 0] = 1; + } + $26 = HEAP32[GOT_data_internal_emscripten__internal__Signature_void_2c_20int_20const____get_method_caller_28_29__mc >> 2] | 0; + __stack_pointer = $2 + 16 | 0; + return $26 | 0; + } + + function emscripten__internal__WireTypePack_int_20const____WireTypePack_28int_20const__29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, $5 = 0, $7 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4 = __stack_pointer - 32 | 0; + __stack_pointer = $4; + HEAP32[($4 + 20 | 0) >> 2] = $0; + HEAP32[($4 + 16 | 0) >> 2] = $1; + $5 = HEAP32[($4 + 20 | 0) >> 2] | 0; + (wasm2js_i32$0 = $4, wasm2js_i32$1 = std____2__array_emscripten__internal__GenericWireType_2c_201ul___data_5babi_v160004_5d_28_29($5 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + $7 = HEAP32[($4 + 16 | 0) >> 2] | 0; + HEAP32[($4 + 28 | 0) >> 2] = $4 + 12 | 0; + HEAP32[($4 + 24 | 0) >> 2] = $7; + void_20emscripten__internal__writeGenericWireType_int__28emscripten__internal__GenericWireType___2c_20int_29(HEAP32[($4 + 28 | 0) >> 2] | 0 | 0, emscripten__internal__BindingType_int_2c_20void___toWireType_28int_20const__29(HEAP32[($4 + 24 | 0) >> 2] | 0 | 0) | 0 | 0); + emscripten__internal__writeGenericWireTypes_28emscripten__internal__GenericWireType___29(HEAP32[($4 + 28 | 0) >> 2] | 0 | 0); + __stack_pointer = $4 + 32 | 0; + return $5 | 0; + } + + function emscripten__internal__WireTypePack_int_20const____operator_20void_20const__28_29_20const($0) { + $0 = $0 | 0; + var $3 = 0, $5 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $5 = std____2__array_emscripten__internal__GenericWireType_2c_201ul___data_5babi_v160004_5d_28_29_20const(HEAP32[($3 + 12 | 0) >> 2] | 0 | 0) | 0; + __stack_pointer = $3 + 16 | 0; + return $5 | 0; + } + + function emscripten__internal__WithPolicies____ArgTypeList_void_2c_20int_20const____getCount_28_29_20const($0) { + $0 = $0 | 0; + HEAP32[((__stack_pointer - 16 | 0) + 12 | 0) >> 2] = $0; + return 2 | 0; + } + + function emscripten__internal__WithPolicies____ArgTypeList_void_2c_20int_20const____getTypes_28_29_20const($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_void_2c_20int_20const_____get_28_29() | 0; + __stack_pointer = $3 + 16 | 0; + return $4 | 0; + } + + function std____2__array_emscripten__internal__GenericWireType_2c_201ul___data_5babi_v160004_5d_28_29($0) { + $0 = $0 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + return HEAP32[($3 + 12 | 0) >> 2] | 0 | 0; + } + + function std____2__array_emscripten__internal__GenericWireType_2c_201ul___data_5babi_v160004_5d_28_29_20const($0) { + $0 = $0 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + return HEAP32[($3 + 12 | 0) >> 2] | 0 | 0; + } + + function emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_void_2c_20int_20const_____get_28_29() { + return GOT_data_internal_emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_void_2c_20int_20const_____get_28_29__types | 0; + } + + function emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_int_2c_20int____get_28_29() { + return GOT_data_internal_emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_int_2c_20int____get_28_29__types | 0; + } + + function emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_void_2c_20int____get_28_29() { + return GOT_data_internal_emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_void_2c_20int____get_28_29__types | 0; + } + + function emscripten__internal__BindingType_float_2c_20void___toWireType_28float_20const__29($0) { + $0 = $0 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + return Math_fround(Math_fround(HEAPF32[(HEAP32[($3 + 12 | 0) >> 2] | 0) >> 2])); + } + + function emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_float_2c_20int____get_28_29() { + return GOT_data_internal_emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_float_2c_20int____get_28_29__types | 0; + } + + function emscripten__internal__BindingType_float_2c_20void___fromWireType_28float_29($0) { + $0 = Math_fround($0); + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + HEAPF32[($3 + 12 | 0) >> 2] = $0; + return Math_fround(Math_fround(HEAPF32[($3 + 12 | 0) >> 2])); + } + + function emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_void_2c_20int_2c_20float____get_28_29() { + return GOT_data_internal_emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_void_2c_20int_2c_20float____get_28_29__types | 0; + } + + function emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_void_2c_20int_2c_20int____get_28_29() { + return GOT_data_internal_emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_void_2c_20int_2c_20int____get_28_29__types | 0; + } + + function emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_int_2c_20float_2c_20float_2c_20float____get_28_29() { + return GOT_data_internal_emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_int_2c_20float_2c_20float_2c_20float____get_28_29__types | 0; + } + + function emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_void_2c_20int_2c_20float_2c_20float_2c_20float____get_28_29() { + return GOT_data_internal_emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_void_2c_20int_2c_20float_2c_20float_2c_20float____get_28_29__types | 0; + } + + function emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_int_2c_20float_2c_20float_2c_20float_2c_20float____get_28_29() { + return GOT_data_internal_emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_int_2c_20float_2c_20float_2c_20float_2c_20float____get_28_29__types | 0; + } + + function emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_void_2c_20int_2c_20float_2c_20float_2c_20float_2c_20float____get_28_29() { + return GOT_data_internal_emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_void_2c_20int_2c_20float_2c_20float_2c_20float_2c_20float____get_28_29__types | 0; + } + + function emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_int____get_28_29() { + return GOT_data_internal_emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_int____get_28_29__types | 0; + } + + function emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_int_2c_20int_2c_20int____get_28_29() { + return GOT_data_internal_emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_int_2c_20int_2c_20int____get_28_29__types | 0; + } + + function emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_void_2c_20int_2c_20int_2c_20int____get_28_29() { + return GOT_data_internal_emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_void_2c_20int_2c_20int_2c_20int____get_28_29__types | 0; + } + + function emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_int_2c_20int_2c_20int_2c_20int_2c_20int____get_28_29() { + return GOT_data_internal_emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_int_2c_20int_2c_20int_2c_20int_2c_20int____get_28_29__types | 0; + } + + function emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_void_2c_20int_2c_20float_2c_20float_2c_20float_2c_20float_2c_20float____get_28_29() { + return GOT_data_internal_emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_void_2c_20int_2c_20float_2c_20float_2c_20float_2c_20float_2c_20float____get_28_29__types | 0; + } + + function emscripten__internal__BindingType_bool_2c_20void___fromWireType_28bool_29($0) { + $0 = $0 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP8[($3 + 15 | 0) >> 0] = $0; + return (HEAPU8[($3 + 15 | 0) >> 0] | 0) & 1 | 0 | 0; + } + + function emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_void_2c_20int_2c_20bool____get_28_29() { + return GOT_data_internal_emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_void_2c_20int_2c_20bool____get_28_29__types | 0; + } + + function emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_void_2c_20int_2c_20float_2c_20float____get_28_29() { + return GOT_data_internal_emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_void_2c_20int_2c_20float_2c_20float____get_28_29__types | 0; + } + + function emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_int_2c_20int_2c_20int_2c_20int_2c_20int_2c_20int____get_28_29() { + return GOT_data_internal_emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_int_2c_20int_2c_20int_2c_20int_2c_20int_2c_20int____get_28_29__types | 0; + } + + function emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_void_2c_20int_2c_20int_2c_20float_2c_20float____get_28_29() { + return GOT_data_internal_emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_void_2c_20int_2c_20int_2c_20float_2c_20float____get_28_29__types | 0; + } + + function emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_void_2c_20int_2c_20int_2c_20bool____get_28_29() { + return GOT_data_internal_emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_void_2c_20int_2c_20int_2c_20bool____get_28_29__types | 0; + } + + function emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_void_2c_20int_2c_20int_2c_20float____get_28_29() { + return GOT_data_internal_emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_void_2c_20int_2c_20int_2c_20float____get_28_29__types | 0; + } + + function emscripten__internal__BindingType_bool_2c_20void___toWireType_28bool_29($0) { + $0 = $0 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP8[($3 + 15 | 0) >> 0] = $0; + return (HEAPU8[($3 + 15 | 0) >> 0] | 0) & 1 | 0 | 0; + } + + function emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_bool_2c_20int____get_28_29() { + return GOT_data_internal_emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_bool_2c_20int____get_28_29__types | 0; + } + + function emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_void_2c_20int_2c_20float_2c_20int____get_28_29() { + return GOT_data_internal_emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_void_2c_20int_2c_20float_2c_20int____get_28_29__types | 0; + } + + function emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_void_2c_20int_2c_20int_2c_20int_2c_20int____get_28_29() { + return GOT_data_internal_emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_void_2c_20int_2c_20int_2c_20int_2c_20int____get_28_29__types | 0; + } + + function emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_int_2c_20float____get_28_29() { + return GOT_data_internal_emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_int_2c_20float____get_28_29__types | 0; + } + + function emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_void_2c_20int_2c_20float_2c_20float_2c_20int____get_28_29() { + return GOT_data_internal_emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_void_2c_20int_2c_20float_2c_20float_2c_20int____get_28_29__types | 0; + } + + function emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_int_2c_20float_2c_20float____get_28_29() { + return GOT_data_internal_emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_int_2c_20float_2c_20float____get_28_29__types | 0; + } + + function emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_int_2c_20int_2c_20float____get_28_29() { + return GOT_data_internal_emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_int_2c_20int_2c_20float____get_28_29__types | 0; + } + + function emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_int_2c_20int_2c_20int_2c_20int_2c_20float_2c_20float_2c_20float____get_28_29() { + return GOT_data_internal_emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_int_2c_20int_2c_20int_2c_20int_2c_20float_2c_20float_2c_20float____get_28_29__types | 0; + } + + function emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_void_2c_20int_2c_20int_2c_20int_2c_20int_2c_20bool____get_28_29() { + return GOT_data_internal_emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_void_2c_20int_2c_20int_2c_20int_2c_20int_2c_20bool____get_28_29__types | 0; + } + + function emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_int_2c_20int_2c_20bool_2c_20bool____get_28_29() { + return GOT_data_internal_emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_int_2c_20int_2c_20bool_2c_20bool____get_28_29__types | 0; + } + + function emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_void_2c_20int_2c_20int_2c_20float_2c_20float_2c_20float____get_28_29() { + return GOT_data_internal_emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_void_2c_20int_2c_20int_2c_20float_2c_20float_2c_20float____get_28_29__types | 0; + } + + function emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_int_2c_20int_2c_20float_2c_20float_2c_20float____get_28_29() { + return GOT_data_internal_emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_int_2c_20int_2c_20float_2c_20float_2c_20float____get_28_29__types | 0; + } + + function emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_void_2c_20int_2c_20int_2c_20int_2c_20bool____get_28_29() { + return GOT_data_internal_emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_void_2c_20int_2c_20int_2c_20int_2c_20bool____get_28_29__types | 0; + } + + function emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_int_2c_20float_2c_20int____get_28_29() { + return GOT_data_internal_emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_int_2c_20float_2c_20int____get_28_29__types | 0; + } + + function emscripten__internal__BindingType_unsigned_20int_2c_20void___fromWireType_28unsigned_20int_29($0) { + $0 = $0 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + return HEAP32[($3 + 12 | 0) >> 2] | 0 | 0; + } + + function emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_void_2c_20int_2c_20int_2c_20unsigned_20int_2c_20unsigned_20int____get_28_29() { + return GOT_data_internal_emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_void_2c_20int_2c_20int_2c_20unsigned_20int_2c_20unsigned_20int____get_28_29__types | 0; + } + + function emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_void_2c_20int_2c_20int_2c_20int_2c_20int_2c_20int_2c_20float____get_28_29() { + return GOT_data_internal_emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_void_2c_20int_2c_20int_2c_20int_2c_20int_2c_20int_2c_20float____get_28_29__types | 0; + } + + function emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_int_2c_20int_2c_20int_2c_20int____get_28_29() { + return GOT_data_internal_emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_int_2c_20int_2c_20int_2c_20int____get_28_29__types | 0; + } + + function emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_void_2c_20int_2c_20float_2c_20int_2c_20float____get_28_29() { + return GOT_data_internal_emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_void_2c_20int_2c_20float_2c_20int_2c_20float____get_28_29__types | 0; + } + + function emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_void_2c_20int_2c_20int_2c_20int_2c_20unsigned_20int_2c_20bool____get_28_29() { + return GOT_data_internal_emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_void_2c_20int_2c_20int_2c_20int_2c_20unsigned_20int_2c_20bool____get_28_29__types | 0; + } + + function emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_int_2c_20int_2c_20int_2c_20float_2c_20float____get_28_29() { + return GOT_data_internal_emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_int_2c_20int_2c_20int_2c_20float_2c_20float____get_28_29__types | 0; + } + + function emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_int_2c_20float_2c_20float_2c_20float_2c_20int_2c_20int_2c_20int_2c_20float_2c_20float____get_28_29() { + return GOT_data_internal_emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_int_2c_20float_2c_20float_2c_20float_2c_20int_2c_20int_2c_20int_2c_20float_2c_20float____get_28_29__types | 0; + } + + function emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_int_2c_20float_2c_20float_2c_20float_2c_20int_2c_20int_2c_20int_2c_20float_2c_20float_2c_20float____get_28_29() { + return GOT_data_internal_emscripten__internal__ArgArrayGetter_emscripten__internal__TypeList_int_2c_20float_2c_20float_2c_20float_2c_20int_2c_20int_2c_20int_2c_20float_2c_20float_2c_20float____get_28_29__types | 0; + } + + function std____2____constexpr_strlen_5babi_v160004_5d_28char_20const__29($0) { + $0 = $0 | 0; + var $3 = 0, $5 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $5 = strlen(HEAP32[($3 + 12 | 0) >> 2] | 0 | 0) | 0; + __stack_pointer = $3 + 16 | 0; + return $5 | 0; + } + + function _GLOBAL__sub_I_BulletWebBindings_cpp() { + __cxx_global_var_init(); + __cxx_global_var_init_1(); + __cxx_global_var_init_12(); + return; + } + + function __cxx_global_var_init_2() { + btInfMaskConverter__btInfMaskConverter_28int_29(113920 | 0, 2139095040 | 0) | 0; + return; + } + + function btAlignedAllocDefault_28unsigned_20long_2c_20int_29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, $32 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + (wasm2js_i32$0 = $4, wasm2js_i32$1 = FUNCTION_TABLE[HEAP32[(0 + 112816 | 0) >> 2] | 0 | 0](((HEAP32[($4 + 12 | 0) >> 2] | 0) + 4 | 0) + ((HEAP32[($4 + 8 | 0) >> 2] | 0) - 1 | 0) | 0) | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + label$1 : { + label$2 : { + if (!((HEAP32[$4 >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$2 + } + (wasm2js_i32$0 = $4, wasm2js_i32$1 = char__20btAlignPointer_char__28char__2c_20unsigned_20long_29((HEAP32[$4 >> 2] | 0) + 4 | 0 | 0, HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + HEAP32[((HEAP32[($4 + 4 | 0) >> 2] | 0) + -4 | 0) >> 2] = HEAP32[$4 >> 2] | 0; + break label$1; + } + HEAP32[($4 + 4 | 0) >> 2] = HEAP32[$4 >> 2] | 0; + } + $32 = HEAP32[($4 + 4 | 0) >> 2] | 0; + __stack_pointer = $4 + 16 | 0; + return $32 | 0; + } + + function btAlignedFreeDefault_28void__29($0) { + $0 = $0 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + label$1 : { + if (!((HEAP32[($3 + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + HEAP32[($3 + 8 | 0) >> 2] = HEAP32[((HEAP32[($3 + 12 | 0) >> 2] | 0) + -4 | 0) >> 2] | 0; + FUNCTION_TABLE[HEAP32[(0 + 112820 | 0) >> 2] | 0 | 0](HEAP32[($3 + 8 | 0) >> 2] | 0); + } + __stack_pointer = $3 + 16 | 0; + return; + } + + function char__20btAlignPointer_char__28char__2c_20unsigned_20long_29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0; + $4 = __stack_pointer - 16 | 0; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + HEAP32[$4 >> 2] = ((HEAP32[($4 + 8 | 0) >> 2] | 0) - 1 | 0) ^ -1 | 0; + HEAP32[($4 + 4 | 0) >> 2] = HEAP32[($4 + 12 | 0) >> 2] | 0; + HEAP32[($4 + 4 | 0) >> 2] = (HEAP32[($4 + 4 | 0) >> 2] | 0) + ((HEAP32[($4 + 8 | 0) >> 2] | 0) - 1 | 0) | 0; + HEAP32[($4 + 4 | 0) >> 2] = (HEAP32[($4 + 4 | 0) >> 2] | 0) & (HEAP32[$4 >> 2] | 0) | 0; + return HEAP32[($4 + 4 | 0) >> 2] | 0 | 0; + } + + function btAllocDefault_28unsigned_20long_29($0) { + $0 = $0 | 0; + var $3 = 0, $5 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $5 = dlmalloc(HEAP32[($3 + 12 | 0) >> 2] | 0 | 0) | 0; + __stack_pointer = $3 + 16 | 0; + return $5 | 0; + } + + function btFreeDefault_28void__29($0) { + $0 = $0 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + dlfree(HEAP32[($3 + 12 | 0) >> 2] | 0 | 0); + __stack_pointer = $3 + 16 | 0; + return; + } + + function btAlignedAllocInternal_28unsigned_20long_2c_20int_29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, $15 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + HEAP32[(0 + 113924 | 0) >> 2] = (HEAP32[(0 + 113924 | 0) >> 2] | 0) + 1 | 0; + (wasm2js_i32$0 = $4, wasm2js_i32$1 = FUNCTION_TABLE[HEAP32[(0 + 112808 | 0) >> 2] | 0 | 0](HEAP32[($4 + 12 | 0) >> 2] | 0, HEAP32[($4 + 8 | 0) >> 2] | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + $15 = HEAP32[($4 + 4 | 0) >> 2] | 0; + __stack_pointer = $4 + 16 | 0; + return $15 | 0; + } + + function btAlignedFreeInternal_28void__29($0) { + $0 = $0 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + label$1 : { + label$2 : { + if ((HEAP32[($3 + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$2 + } + break label$1; + } + HEAP32[(0 + 113928 | 0) >> 2] = (HEAP32[(0 + 113928 | 0) >> 2] | 0) + 1 | 0; + FUNCTION_TABLE[HEAP32[(0 + 112812 | 0) >> 2] | 0 | 0](HEAP32[($3 + 12 | 0) >> 2] | 0); + } + __stack_pointer = $3 + 16 | 0; + return; + } + + function _GLOBAL__sub_I_btAlignedAllocator_cpp() { + __cxx_global_var_init_2(); + return; + } + + function __cxx_global_var_init_3() { + btInfMaskConverter__btInfMaskConverter_28int_29(113932 | 0, 2139095040 | 0) | 0; + return; + } + + function btDbvt__btDbvt_28_29($0) { + $0 = $0 | 0; + var $4 = 0, $3 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + btAlignedObjectArray_btDbvt__sStkNN___btAlignedObjectArray_28_29($4 + 20 | 0 | 0) | 0; + HEAP32[$4 >> 2] = 0; + HEAP32[($4 + 4 | 0) >> 2] = 0; + HEAP32[($4 + 8 | 0) >> 2] = -1; + HEAP32[($4 + 12 | 0) >> 2] = 0; + HEAP32[($4 + 16 | 0) >> 2] = 0; + __stack_pointer = $3 + 16 | 0; + return $4 | 0; + } + + function btAlignedObjectArray_btDbvt__sStkNN___btAlignedObjectArray_28_29($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + btAlignedAllocator_btDbvt__sStkNN_2c_2016u___btAlignedAllocator_28_29($4 | 0) | 0; + btAlignedObjectArray_btDbvt__sStkNN___init_28_29($4 | 0); + __stack_pointer = $3 + 16 | 0; + return $4 | 0; + } + + function btAlignedAllocator_btDbvt__sStkNN_2c_2016u___btAlignedAllocator_28_29($0) { + $0 = $0 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + return HEAP32[($3 + 12 | 0) >> 2] | 0 | 0; + } + + function btAlignedObjectArray_btDbvt__sStkNN___init_28_29($0) { + $0 = $0 | 0; + var $4 = 0, $3 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + HEAP8[($4 + 16 | 0) >> 0] = 1; + HEAP32[($4 + 12 | 0) >> 2] = 0; + HEAP32[($4 + 4 | 0) >> 2] = 0; + HEAP32[($4 + 8 | 0) >> 2] = 0; + return; + } + + function btDbvt___btDbvt_28_29($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + btDbvt__clear_28_29($4 | 0); + btAlignedObjectArray_btDbvt__sStkNN____btAlignedObjectArray_28_29($4 + 20 | 0 | 0) | 0; + __stack_pointer = $3 + 16 | 0; + return $4 | 0; + } + + function btDbvt__clear_28_29($0) { + $0 = $0 | 0; + var $4 = 0, $3 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + label$1 : { + if (!((HEAP32[$4 >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + recursedeletenode_28btDbvt__2c_20btDbvtNode__29($4 | 0, HEAP32[$4 >> 2] | 0 | 0); + } + btAlignedFreeInternal_28void__29(HEAP32[($4 + 4 | 0) >> 2] | 0 | 0); + HEAP32[($4 + 4 | 0) >> 2] = 0; + HEAP32[($4 + 8 | 0) >> 2] = -1; + btAlignedObjectArray_btDbvt__sStkNN___clear_28_29($4 + 20 | 0 | 0); + HEAP32[($4 + 16 | 0) >> 2] = 0; + __stack_pointer = $3 + 16 | 0; + return; + } + + function btAlignedObjectArray_btDbvt__sStkNN____btAlignedObjectArray_28_29($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + btAlignedObjectArray_btDbvt__sStkNN___clear_28_29($4 | 0); + __stack_pointer = $3 + 16 | 0; + return $4 | 0; + } + + function recursedeletenode_28btDbvt__2c_20btDbvtNode__29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0; + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + label$1 : { + if ((btDbvtNode__isleaf_28_29_20const(HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) | 0) & 1 | 0) { + break label$1 + } + recursedeletenode_28btDbvt__2c_20btDbvtNode__29(HEAP32[($4 + 12 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4 + 8 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0 | 0); + recursedeletenode_28btDbvt__2c_20btDbvtNode__29(HEAP32[($4 + 12 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4 + 8 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0 | 0); + } + label$2 : { + if (!((HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) == (HEAP32[(HEAP32[($4 + 12 | 0) >> 2] | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[(HEAP32[($4 + 12 | 0) >> 2] | 0) >> 2] = 0; + } + deletenode_28btDbvt__2c_20btDbvtNode__29(HEAP32[($4 + 12 | 0) >> 2] | 0 | 0, HEAP32[($4 + 8 | 0) >> 2] | 0 | 0); + __stack_pointer = $4 + 16 | 0; + return; + } + + function btAlignedObjectArray_btDbvt__sStkNN___clear_28_29($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + btAlignedObjectArray_btDbvt__sStkNN___destroy_28int_2c_20int_29($4 | 0, 0 | 0, btAlignedObjectArray_btDbvt__sStkNN___size_28_29_20const($4 | 0) | 0 | 0); + btAlignedObjectArray_btDbvt__sStkNN___deallocate_28_29($4 | 0); + btAlignedObjectArray_btDbvt__sStkNN___init_28_29($4 | 0); + __stack_pointer = $3 + 16 | 0; + return; + } + + function deletenode_28btDbvt__2c_20btDbvtNode__29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0; + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + btAlignedFreeInternal_28void__29(HEAP32[((HEAP32[($4 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0); + HEAP32[((HEAP32[($4 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] = HEAP32[($4 + 8 | 0) >> 2] | 0; + __stack_pointer = $4 + 16 | 0; + return; + } + + function createnode_28btDbvt__2c_20btDbvtNode__2c_20btDbvtAabbMm_20const__2c_20btDbvtAabbMm_20const__2c_20void__29($0, $1, $2, $3, $4) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + $4 = $4 | 0; + var $7 = 0, $15 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $7 = __stack_pointer - 32 | 0; + __stack_pointer = $7; + HEAP32[($7 + 28 | 0) >> 2] = $0; + HEAP32[($7 + 24 | 0) >> 2] = $1; + HEAP32[($7 + 20 | 0) >> 2] = $2; + HEAP32[($7 + 16 | 0) >> 2] = $3; + HEAP32[($7 + 12 | 0) >> 2] = $4; + (wasm2js_i32$0 = $7, wasm2js_i32$1 = createnode_28btDbvt__2c_20btDbvtNode__2c_20void__29(HEAP32[($7 + 28 | 0) >> 2] | 0 | 0, HEAP32[($7 + 24 | 0) >> 2] | 0 | 0, HEAP32[($7 + 12 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + Merge_28btDbvtAabbMm_20const__2c_20btDbvtAabbMm_20const__2c_20btDbvtAabbMm__29(HEAP32[($7 + 20 | 0) >> 2] | 0 | 0, HEAP32[($7 + 16 | 0) >> 2] | 0 | 0, HEAP32[($7 + 8 | 0) >> 2] | 0 | 0); + $15 = HEAP32[($7 + 8 | 0) >> 2] | 0; + __stack_pointer = $7 + 32 | 0; + return $15 | 0; + } + + function btDot_28btVector3_20const__2c_20btVector3_20const__29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, $7 = Math_fround(0); + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + $7 = Math_fround(btVector3__dot_28btVector3_20const__29_20const(HEAP32[($4 + 12 | 0) >> 2] | 0 | 0, HEAP32[($4 + 8 | 0) >> 2] | 0 | 0)); + __stack_pointer = $4 + 16 | 0; + return Math_fround($7); + } + + function createnode_28btDbvt__2c_20btDbvtNode__2c_20btDbvtAabbMm_20const__2c_20void__29($0, $1, $2, $3) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + var $6 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, $12 = 0, $11 = 0, $14 = 0, $18 = 0, $22 = 0, $61 = 0, $71 = 0, $81 = 0, $91 = 0, $26 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $6 = __stack_pointer - 32 | 0; + __stack_pointer = $6; + HEAP32[($6 + 28 | 0) >> 2] = $0; + HEAP32[($6 + 24 | 0) >> 2] = $1; + HEAP32[($6 + 20 | 0) >> 2] = $2; + HEAP32[($6 + 16 | 0) >> 2] = $3; + (wasm2js_i32$0 = $6, wasm2js_i32$1 = createnode_28btDbvt__2c_20btDbvtNode__2c_20void__29(HEAP32[($6 + 28 | 0) >> 2] | 0 | 0, HEAP32[($6 + 24 | 0) >> 2] | 0 | 0, HEAP32[($6 + 16 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + $11 = HEAP32[($6 + 20 | 0) >> 2] | 0; + $12 = HEAP32[($6 + 12 | 0) >> 2] | 0; + i64toi32_i32$2 = $11; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $61 = i64toi32_i32$0; + i64toi32_i32$0 = $12; + HEAP32[i64toi32_i32$0 >> 2] = $61; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $14 = 24; + i64toi32_i32$2 = i64toi32_i32$2 + $14 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $71 = i64toi32_i32$1; + i64toi32_i32$1 = $12 + $14 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $71; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + $18 = 16; + i64toi32_i32$2 = $11 + $18 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $81 = i64toi32_i32$0; + i64toi32_i32$0 = $12 + $18 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $81; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $22 = 8; + i64toi32_i32$2 = $11 + $22 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $91 = i64toi32_i32$1; + i64toi32_i32$1 = $12 + $22 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $91; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + $26 = HEAP32[($6 + 12 | 0) >> 2] | 0; + __stack_pointer = $6 + 32 | 0; + return $26 | 0; + } + + function btDbvt__optimizeIncremental_28int_29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, $5 = 0, $59 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; + label$1 : { + if (!((HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) < (0 | 0) & 1 | 0)) { + break label$1 + } + HEAP32[($4 + 8 | 0) >> 2] = HEAP32[($5 + 12 | 0) >> 2] | 0; + } + label$2 : { + if (!((HEAP32[$5 >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$2 + } + if (!((HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) > (0 | 0) & 1 | 0)) { + break label$2 + } + label$3 : while (1) { + HEAP32[($4 + 4 | 0) >> 2] = HEAP32[$5 >> 2] | 0; + HEAP32[$4 >> 2] = 0; + label$4 : { + label$5 : while (1) { + if (!((btDbvtNode__isinternal_28_29_20const(HEAP32[($4 + 4 | 0) >> 2] | 0 | 0) | 0) & 1 | 0)) { + break label$4 + } + (wasm2js_i32$0 = $4, wasm2js_i32$1 = HEAP32[(((sort_28btDbvtNode__2c_20btDbvtNode___29(HEAP32[($4 + 4 | 0) >> 2] | 0 | 0, $5 | 0) | 0) + 36 | 0) + ((((HEAP32[($5 + 16 | 0) >> 2] | 0) >>> (HEAP32[$4 >> 2] | 0) | 0) & 1 | 0) << 2 | 0) | 0) >> 2] | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + HEAP32[$4 >> 2] = ((HEAP32[$4 >> 2] | 0) + 1 | 0) & 31 | 0; + continue label$5; + }; + } + btDbvt__update_28btDbvtNode__2c_20int_29($5 | 0, HEAP32[($4 + 4 | 0) >> 2] | 0 | 0, -1 | 0); + HEAP32[($5 + 16 | 0) >> 2] = (HEAP32[($5 + 16 | 0) >> 2] | 0) + 1 | 0; + $59 = (HEAP32[($4 + 8 | 0) >> 2] | 0) + -1 | 0; + HEAP32[($4 + 8 | 0) >> 2] = $59; + if ($59) { + continue label$3 + } + break label$3; + }; + } + __stack_pointer = $4 + 16 | 0; + return; + } + + function sort_28btDbvtNode__2c_20btDbvtNode___29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, $62 = 0, $111 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4 = __stack_pointer - 32 | 0; + __stack_pointer = $4; + HEAP32[($4 + 24 | 0) >> 2] = $0; + HEAP32[($4 + 20 | 0) >> 2] = $1; + HEAP32[($4 + 16 | 0) >> 2] = HEAP32[((HEAP32[($4 + 24 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0; + label$1 : { + if ((btDbvtNode__isinternal_28_29_20const(HEAP32[($4 + 24 | 0) >> 2] | 0 | 0) | 0) & 1 | 0) { + break label$1 + } + __assert_fail(87305 | 0, 71457 | 0, 406 | 0, 67455 | 0); + wasm2js_trap(); + } + label$2 : { + label$3 : { + if (!((HEAP32[($4 + 16 | 0) >> 2] | 0) >>> 0 > (HEAP32[($4 + 24 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$3 + } + (wasm2js_i32$0 = $4, wasm2js_i32$1 = indexof_28btDbvtNode_20const__29(HEAP32[($4 + 24 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($4 + 8 | 0) >> 2] = 1 - (HEAP32[($4 + 12 | 0) >> 2] | 0) | 0; + HEAP32[($4 + 4 | 0) >> 2] = HEAP32[(((HEAP32[($4 + 16 | 0) >> 2] | 0) + 36 | 0) + ((HEAP32[($4 + 8 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; + HEAP32[$4 >> 2] = HEAP32[((HEAP32[($4 + 16 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0; + label$4 : { + if ((HEAP32[($4 + 24 | 0) >> 2] | 0 | 0) == (HEAP32[(((HEAP32[($4 + 16 | 0) >> 2] | 0) + 36 | 0) + ((HEAP32[($4 + 12 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0) & 1 | 0) { + break label$4 + } + __assert_fail(83885 | 0, 71457 | 0, 413 | 0, 67455 | 0); + wasm2js_trap(); + } + label$5 : { + label$6 : { + if (!((HEAP32[$4 >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$6 + } + $62 = HEAP32[($4 + 24 | 0) >> 2] | 0; + (wasm2js_i32$0 = ((HEAP32[$4 >> 2] | 0) + 36 | 0) + ((indexof_28btDbvtNode_20const__29(HEAP32[($4 + 16 | 0) >> 2] | 0 | 0) | 0) << 2 | 0) | 0, wasm2js_i32$1 = $62), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + break label$5; + } + HEAP32[(HEAP32[($4 + 20 | 0) >> 2] | 0) >> 2] = HEAP32[($4 + 24 | 0) >> 2] | 0; + } + HEAP32[((HEAP32[($4 + 4 | 0) >> 2] | 0) + 32 | 0) >> 2] = HEAP32[($4 + 24 | 0) >> 2] | 0; + HEAP32[((HEAP32[($4 + 16 | 0) >> 2] | 0) + 32 | 0) >> 2] = HEAP32[($4 + 24 | 0) >> 2] | 0; + HEAP32[((HEAP32[($4 + 24 | 0) >> 2] | 0) + 32 | 0) >> 2] = HEAP32[$4 >> 2] | 0; + HEAP32[((HEAP32[($4 + 16 | 0) >> 2] | 0) + 36 | 0) >> 2] = HEAP32[((HEAP32[($4 + 24 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0; + HEAP32[((HEAP32[($4 + 16 | 0) >> 2] | 0) + 40 | 0) >> 2] = HEAP32[((HEAP32[($4 + 24 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0; + HEAP32[((HEAP32[((HEAP32[($4 + 24 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) + 32 | 0) >> 2] = HEAP32[($4 + 16 | 0) >> 2] | 0; + HEAP32[((HEAP32[((HEAP32[($4 + 24 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0) + 32 | 0) >> 2] = HEAP32[($4 + 16 | 0) >> 2] | 0; + HEAP32[(((HEAP32[($4 + 24 | 0) >> 2] | 0) + 36 | 0) + ((HEAP32[($4 + 12 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = HEAP32[($4 + 16 | 0) >> 2] | 0; + HEAP32[(((HEAP32[($4 + 24 | 0) >> 2] | 0) + 36 | 0) + ((HEAP32[($4 + 8 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = HEAP32[($4 + 4 | 0) >> 2] | 0; + void_20btSwap_btDbvtAabbMm__28btDbvtAabbMm__2c_20btDbvtAabbMm__29(HEAP32[($4 + 16 | 0) >> 2] | 0 | 0, HEAP32[($4 + 24 | 0) >> 2] | 0 | 0); + HEAP32[($4 + 28 | 0) >> 2] = HEAP32[($4 + 16 | 0) >> 2] | 0; + break label$2; + } + HEAP32[($4 + 28 | 0) >> 2] = HEAP32[($4 + 24 | 0) >> 2] | 0; + } + $111 = HEAP32[($4 + 28 | 0) >> 2] | 0; + __stack_pointer = $4 + 32 | 0; + return $111 | 0; + } + + function btDbvt__update_28btDbvtNode__2c_20int_29($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $5 = 0, $6 = 0, $32 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5 = __stack_pointer - 32 | 0; + __stack_pointer = $5; + HEAP32[($5 + 28 | 0) >> 2] = $0; + HEAP32[($5 + 24 | 0) >> 2] = $1; + HEAP32[($5 + 20 | 0) >> 2] = $2; + $6 = HEAP32[($5 + 28 | 0) >> 2] | 0; + (wasm2js_i32$0 = $5, wasm2js_i32$1 = removeleaf_28btDbvt__2c_20btDbvtNode__29($6 | 0, HEAP32[($5 + 24 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + if (!((HEAP32[($5 + 16 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + label$2 : { + label$3 : { + if (!((HEAP32[($5 + 20 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0)) { + break label$3 + } + HEAP32[($5 + 12 | 0) >> 2] = 0; + label$4 : while (1) { + $32 = 0; + label$5 : { + if (!((HEAP32[($5 + 12 | 0) >> 2] | 0 | 0) < (HEAP32[($5 + 20 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$5 + } + $32 = (HEAP32[((HEAP32[($5 + 16 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0 | 0) != (0 | 0); + } + label$6 : { + if (!($32 & 1 | 0)) { + break label$6 + } + HEAP32[($5 + 16 | 0) >> 2] = HEAP32[((HEAP32[($5 + 16 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0; + HEAP32[($5 + 12 | 0) >> 2] = (HEAP32[($5 + 12 | 0) >> 2] | 0) + 1 | 0; + continue label$4; + } + break label$4; + }; + break label$2; + } + HEAP32[($5 + 16 | 0) >> 2] = HEAP32[$6 >> 2] | 0; + } + } + insertleaf_28btDbvt__2c_20btDbvtNode__2c_20btDbvtNode__29($6 | 0, HEAP32[($5 + 16 | 0) >> 2] | 0 | 0, HEAP32[($5 + 24 | 0) >> 2] | 0 | 0); + __stack_pointer = $5 + 32 | 0; + return; + } + + function indexof_28btDbvtNode_20const__29($0) { + $0 = $0 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + return (HEAP32[((HEAP32[((HEAP32[($3 + 12 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0 | 0) == (HEAP32[($3 + 12 | 0) >> 2] | 0 | 0) & 1 | 0 | 0; + } + + function void_20btSwap_btDbvtAabbMm__28btDbvtAabbMm__2c_20btDbvtAabbMm__29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, $4 = 0, $5 = 0, $26 = 0, $40 = 0, $25 = 0, $6 = 0, $12 = 0, $18 = 0, $28 = 0, $32 = 0, $36 = 0, $42 = 0, $48 = 0, $54 = 0, $82 = 0, $95 = 0, $108 = 0, $112 = 0, $120 = 0, $130 = 0, $140 = 0, $150 = 0, $156 = 0, $169 = 0, $182 = 0, $195 = 0; + $4 = __stack_pointer - 48 | 0; + HEAP32[($4 + 44 | 0) >> 2] = $0; + HEAP32[($4 + 40 | 0) >> 2] = $1; + $5 = HEAP32[($4 + 44 | 0) >> 2] | 0; + $6 = 24; + i64toi32_i32$2 = $5 + $6 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $82 = i64toi32_i32$0; + i64toi32_i32$0 = ($4 + 8 | 0) + $6 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $82; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $12 = 16; + i64toi32_i32$2 = $5 + $12 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $95 = i64toi32_i32$1; + i64toi32_i32$1 = ($4 + 8 | 0) + $12 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $95; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + $18 = 8; + i64toi32_i32$2 = $5 + $18 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $108 = i64toi32_i32$0; + i64toi32_i32$0 = ($4 + 8 | 0) + $18 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $108; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$2 = $5; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $112 = i64toi32_i32$1; + i64toi32_i32$1 = $4; + HEAP32[(i64toi32_i32$1 + 8 | 0) >> 2] = $112; + HEAP32[(i64toi32_i32$1 + 12 | 0) >> 2] = i64toi32_i32$0; + $25 = HEAP32[(i64toi32_i32$1 + 40 | 0) >> 2] | 0; + $26 = HEAP32[(i64toi32_i32$1 + 44 | 0) >> 2] | 0; + i64toi32_i32$2 = $25; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $120 = i64toi32_i32$0; + i64toi32_i32$0 = $26; + HEAP32[i64toi32_i32$0 >> 2] = $120; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $28 = 24; + i64toi32_i32$2 = i64toi32_i32$2 + $28 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $130 = i64toi32_i32$1; + i64toi32_i32$1 = $26 + $28 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $130; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + $32 = 16; + i64toi32_i32$2 = $25 + $32 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $140 = i64toi32_i32$0; + i64toi32_i32$0 = $26 + $32 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $140; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $36 = 8; + i64toi32_i32$2 = $25 + $36 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $150 = i64toi32_i32$1; + i64toi32_i32$1 = $26 + $36 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $150; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + $40 = HEAP32[($4 + 40 | 0) >> 2] | 0; + i64toi32_i32$2 = $4; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 8 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 12 | 0) >> 2] | 0; + $156 = i64toi32_i32$0; + i64toi32_i32$0 = $40; + HEAP32[i64toi32_i32$0 >> 2] = $156; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $42 = 24; + i64toi32_i32$2 = (i64toi32_i32$2 + 8 | 0) + $42 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $169 = i64toi32_i32$1; + i64toi32_i32$1 = $40 + $42 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $169; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + $48 = 16; + i64toi32_i32$2 = ($4 + 8 | 0) + $48 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $182 = i64toi32_i32$0; + i64toi32_i32$0 = $40 + $48 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $182; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $54 = 8; + i64toi32_i32$2 = ($4 + 8 | 0) + $54 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $195 = i64toi32_i32$1; + i64toi32_i32$1 = $40 + $54 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $195; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + return; + } + + function removeleaf_28btDbvt__2c_20btDbvtNode__29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, i64toi32_i32$1 = 0, $58 = 0, $59 = 0, $65 = 0, $71 = 0, $100 = 0, $38 = 0, $249 = 0, $262 = 0, $275 = 0, $279 = 0, $112 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4 = __stack_pointer - 64 | 0; + __stack_pointer = $4; + HEAP32[($4 + 56 | 0) >> 2] = $0; + HEAP32[($4 + 52 | 0) >> 2] = $1; + label$1 : { + label$2 : { + if (!((HEAP32[($4 + 52 | 0) >> 2] | 0 | 0) == (HEAP32[(HEAP32[($4 + 56 | 0) >> 2] | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[(HEAP32[($4 + 56 | 0) >> 2] | 0) >> 2] = 0; + HEAP32[($4 + 60 | 0) >> 2] = 0; + break label$1; + } + HEAP32[($4 + 48 | 0) >> 2] = HEAP32[((HEAP32[($4 + 52 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0; + HEAP32[($4 + 44 | 0) >> 2] = HEAP32[((HEAP32[($4 + 48 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0; + (wasm2js_i32$0 = $4, wasm2js_i32$1 = HEAP32[(((HEAP32[($4 + 48 | 0) >> 2] | 0) + 36 | 0) + ((1 - (indexof_28btDbvtNode_20const__29(HEAP32[($4 + 52 | 0) >> 2] | 0 | 0) | 0) | 0) << 2 | 0) | 0) >> 2] | 0), HEAP32[(wasm2js_i32$0 + 40 | 0) >> 2] = wasm2js_i32$1; + label$3 : { + if (!((HEAP32[($4 + 44 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$3 + } + $38 = HEAP32[($4 + 40 | 0) >> 2] | 0; + (wasm2js_i32$0 = ((HEAP32[($4 + 44 | 0) >> 2] | 0) + 36 | 0) + ((indexof_28btDbvtNode_20const__29(HEAP32[($4 + 48 | 0) >> 2] | 0 | 0) | 0) << 2 | 0) | 0, wasm2js_i32$1 = $38), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + HEAP32[((HEAP32[($4 + 40 | 0) >> 2] | 0) + 32 | 0) >> 2] = HEAP32[($4 + 44 | 0) >> 2] | 0; + deletenode_28btDbvt__2c_20btDbvtNode__29(HEAP32[($4 + 56 | 0) >> 2] | 0 | 0, HEAP32[($4 + 48 | 0) >> 2] | 0 | 0); + label$4 : { + label$5 : while (1) { + if (!((HEAP32[($4 + 44 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$4 + } + $58 = HEAP32[($4 + 44 | 0) >> 2] | 0; + $59 = 24; + i64toi32_i32$2 = $58 + $59 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $249 = i64toi32_i32$0; + i64toi32_i32$0 = ($4 + 8 | 0) + $59 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $249; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $65 = 16; + i64toi32_i32$2 = $58 + $65 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $262 = i64toi32_i32$1; + i64toi32_i32$1 = ($4 + 8 | 0) + $65 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $262; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + $71 = 8; + i64toi32_i32$2 = $58 + $71 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $275 = i64toi32_i32$0; + i64toi32_i32$0 = ($4 + 8 | 0) + $71 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $275; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$2 = $58; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $279 = i64toi32_i32$1; + i64toi32_i32$1 = $4; + HEAP32[($4 + 8 | 0) >> 2] = $279; + HEAP32[($4 + 12 | 0) >> 2] = i64toi32_i32$0; + Merge_28btDbvtAabbMm_20const__2c_20btDbvtAabbMm_20const__2c_20btDbvtAabbMm__29(HEAP32[((HEAP32[($4 + 44 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4 + 44 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0 | 0, HEAP32[($4 + 44 | 0) >> 2] | 0 | 0); + label$6 : { + label$7 : { + if (!((NotEqual_28btDbvtAabbMm_20const__2c_20btDbvtAabbMm_20const__29($4 + 8 | 0 | 0, HEAP32[($4 + 44 | 0) >> 2] | 0 | 0) | 0) & 1 | 0)) { + break label$7 + } + HEAP32[($4 + 44 | 0) >> 2] = HEAP32[((HEAP32[($4 + 44 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0; + break label$6; + } + break label$4; + } + continue label$5; + }; + } + label$8 : { + label$9 : { + if (!((HEAP32[($4 + 44 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$9 + } + $100 = HEAP32[($4 + 44 | 0) >> 2] | 0; + break label$8; + } + $100 = HEAP32[(HEAP32[($4 + 56 | 0) >> 2] | 0) >> 2] | 0; + } + HEAP32[($4 + 60 | 0) >> 2] = $100; + break label$1; + } + HEAP32[(HEAP32[($4 + 56 | 0) >> 2] | 0) >> 2] = HEAP32[($4 + 40 | 0) >> 2] | 0; + HEAP32[((HEAP32[($4 + 40 | 0) >> 2] | 0) + 32 | 0) >> 2] = 0; + deletenode_28btDbvt__2c_20btDbvtNode__29(HEAP32[($4 + 56 | 0) >> 2] | 0 | 0, HEAP32[($4 + 48 | 0) >> 2] | 0 | 0); + HEAP32[($4 + 60 | 0) >> 2] = HEAP32[(HEAP32[($4 + 56 | 0) >> 2] | 0) >> 2] | 0; + } + $112 = HEAP32[($4 + 60 | 0) >> 2] | 0; + __stack_pointer = $4 + 64 | 0; + return $112 | 0; + } + + function insertleaf_28btDbvt__2c_20btDbvtNode__2c_20btDbvtNode__29($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $5 = 0, $85 = 0, $56 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5 = __stack_pointer - 32 | 0; + __stack_pointer = $5; + HEAP32[($5 + 28 | 0) >> 2] = $0; + HEAP32[($5 + 24 | 0) >> 2] = $1; + HEAP32[($5 + 20 | 0) >> 2] = $2; + label$1 : { + label$2 : { + if ((HEAP32[(HEAP32[($5 + 28 | 0) >> 2] | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$2 + } + HEAP32[(HEAP32[($5 + 28 | 0) >> 2] | 0) >> 2] = HEAP32[($5 + 20 | 0) >> 2] | 0; + HEAP32[((HEAP32[($5 + 20 | 0) >> 2] | 0) + 32 | 0) >> 2] = 0; + break label$1; + } + label$3 : { + if ((btDbvtNode__isleaf_28_29_20const(HEAP32[($5 + 24 | 0) >> 2] | 0 | 0) | 0) & 1 | 0) { + break label$3 + } + label$4 : while (1) { + (wasm2js_i32$0 = $5, wasm2js_i32$1 = HEAP32[(((HEAP32[($5 + 24 | 0) >> 2] | 0) + 36 | 0) + ((Select_28btDbvtAabbMm_20const__2c_20btDbvtAabbMm_20const__2c_20btDbvtAabbMm_20const__29(HEAP32[($5 + 20 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($5 + 24 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($5 + 24 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0 | 0) | 0) << 2 | 0) | 0) >> 2] | 0), HEAP32[(wasm2js_i32$0 + 24 | 0) >> 2] = wasm2js_i32$1; + if (((btDbvtNode__isleaf_28_29_20const(HEAP32[($5 + 24 | 0) >> 2] | 0 | 0) | 0) ^ -1 | 0) & 1 | 0) { + continue label$4 + } + break label$4; + }; + } + HEAP32[($5 + 16 | 0) >> 2] = HEAP32[((HEAP32[($5 + 24 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0; + (wasm2js_i32$0 = $5, wasm2js_i32$1 = createnode_28btDbvt__2c_20btDbvtNode__2c_20btDbvtAabbMm_20const__2c_20btDbvtAabbMm_20const__2c_20void__29(HEAP32[($5 + 28 | 0) >> 2] | 0 | 0, HEAP32[($5 + 16 | 0) >> 2] | 0 | 0, HEAP32[($5 + 20 | 0) >> 2] | 0 | 0, HEAP32[($5 + 24 | 0) >> 2] | 0 | 0, 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + label$5 : { + label$6 : { + if (!((HEAP32[($5 + 16 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$6 + } + $56 = HEAP32[($5 + 12 | 0) >> 2] | 0; + (wasm2js_i32$0 = ((HEAP32[($5 + 16 | 0) >> 2] | 0) + 36 | 0) + ((indexof_28btDbvtNode_20const__29(HEAP32[($5 + 24 | 0) >> 2] | 0 | 0) | 0) << 2 | 0) | 0, wasm2js_i32$1 = $56), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + HEAP32[((HEAP32[($5 + 12 | 0) >> 2] | 0) + 36 | 0) >> 2] = HEAP32[($5 + 24 | 0) >> 2] | 0; + HEAP32[((HEAP32[($5 + 24 | 0) >> 2] | 0) + 32 | 0) >> 2] = HEAP32[($5 + 12 | 0) >> 2] | 0; + HEAP32[((HEAP32[($5 + 12 | 0) >> 2] | 0) + 40 | 0) >> 2] = HEAP32[($5 + 20 | 0) >> 2] | 0; + HEAP32[((HEAP32[($5 + 20 | 0) >> 2] | 0) + 32 | 0) >> 2] = HEAP32[($5 + 12 | 0) >> 2] | 0; + label$7 : { + label$8 : while (1) { + label$9 : { + label$10 : { + if ((btDbvtAabbMm__Contain_28btDbvtAabbMm_20const__29_20const(HEAP32[($5 + 16 | 0) >> 2] | 0 | 0, HEAP32[($5 + 12 | 0) >> 2] | 0 | 0) | 0) & 1 | 0) { + break label$10 + } + Merge_28btDbvtAabbMm_20const__2c_20btDbvtAabbMm_20const__2c_20btDbvtAabbMm__29(HEAP32[((HEAP32[($5 + 16 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($5 + 16 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0 | 0, HEAP32[($5 + 16 | 0) >> 2] | 0 | 0); + break label$9; + } + break label$7; + } + HEAP32[($5 + 12 | 0) >> 2] = HEAP32[($5 + 16 | 0) >> 2] | 0; + $85 = HEAP32[((HEAP32[($5 + 12 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0; + HEAP32[($5 + 16 | 0) >> 2] = $85; + if ((0 | 0) != ($85 | 0) & 1 | 0) { + continue label$8 + } + break label$8; + }; + } + break label$5; + } + HEAP32[((HEAP32[($5 + 12 | 0) >> 2] | 0) + 36 | 0) >> 2] = HEAP32[($5 + 24 | 0) >> 2] | 0; + HEAP32[((HEAP32[($5 + 24 | 0) >> 2] | 0) + 32 | 0) >> 2] = HEAP32[($5 + 12 | 0) >> 2] | 0; + HEAP32[((HEAP32[($5 + 12 | 0) >> 2] | 0) + 40 | 0) >> 2] = HEAP32[($5 + 20 | 0) >> 2] | 0; + HEAP32[((HEAP32[($5 + 20 | 0) >> 2] | 0) + 32 | 0) >> 2] = HEAP32[($5 + 12 | 0) >> 2] | 0; + HEAP32[(HEAP32[($5 + 28 | 0) >> 2] | 0) >> 2] = HEAP32[($5 + 12 | 0) >> 2] | 0; + } + } + __stack_pointer = $5 + 32 | 0; + return; + } + + function btDbvt__insert_28btDbvtAabbMm_20const__2c_20void__29($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $5 = 0, $6 = 0, $16 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5 = __stack_pointer - 16 | 0; + __stack_pointer = $5; + HEAP32[($5 + 12 | 0) >> 2] = $0; + HEAP32[($5 + 8 | 0) >> 2] = $1; + HEAP32[($5 + 4 | 0) >> 2] = $2; + $6 = HEAP32[($5 + 12 | 0) >> 2] | 0; + (wasm2js_i32$0 = $5, wasm2js_i32$1 = createnode_28btDbvt__2c_20btDbvtNode__2c_20btDbvtAabbMm_20const__2c_20void__29($6 | 0, 0 | 0, HEAP32[($5 + 8 | 0) >> 2] | 0 | 0, HEAP32[($5 + 4 | 0) >> 2] | 0 | 0) | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + insertleaf_28btDbvt__2c_20btDbvtNode__2c_20btDbvtNode__29($6 | 0, HEAP32[$6 >> 2] | 0 | 0, HEAP32[$5 >> 2] | 0 | 0); + HEAP32[($6 + 12 | 0) >> 2] = (HEAP32[($6 + 12 | 0) >> 2] | 0) + 1 | 0; + $16 = HEAP32[$5 >> 2] | 0; + __stack_pointer = $5 + 16 | 0; + return $16 | 0; + } + + function createnode_28btDbvt__2c_20btDbvtNode__2c_20void__29($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $5 = 0, i64toi32_i32$1 = 0, $20 = 0, i64toi32_i32$0 = 0, $21 = 0, $39 = 0; + $5 = __stack_pointer - 16 | 0; + __stack_pointer = $5; + HEAP32[($5 + 12 | 0) >> 2] = $0; + HEAP32[($5 + 8 | 0) >> 2] = $1; + HEAP32[($5 + 4 | 0) >> 2] = $2; + label$1 : { + label$2 : { + if (!((HEAP32[((HEAP32[($5 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[$5 >> 2] = HEAP32[((HEAP32[($5 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + HEAP32[((HEAP32[($5 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] = 0; + break label$1; + } + $20 = btAlignedAllocInternal_28unsigned_20long_2c_20int_29(44 | 0, 16 | 0) | 0; + i64toi32_i32$0 = 0; + $21 = 0; + i64toi32_i32$1 = $20; + HEAP32[i64toi32_i32$1 >> 2] = $21; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + HEAP32[(i64toi32_i32$1 + 40 | 0) >> 2] = 0; + i64toi32_i32$1 = i64toi32_i32$1 + 32 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $21; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $20 + 24 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $21; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $20 + 16 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $21; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $20 + 8 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $21; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + btDbvtNode__btDbvtNode_28_29($20 | 0) | 0; + HEAP32[$5 >> 2] = $20; + } + HEAP32[((HEAP32[$5 >> 2] | 0) + 32 | 0) >> 2] = HEAP32[($5 + 8 | 0) >> 2] | 0; + HEAP32[((HEAP32[$5 >> 2] | 0) + 36 | 0) >> 2] = HEAP32[($5 + 4 | 0) >> 2] | 0; + HEAP32[((HEAP32[$5 >> 2] | 0) + 40 | 0) >> 2] = 0; + $39 = HEAP32[$5 >> 2] | 0; + __stack_pointer = $5 + 16 | 0; + return $39 | 0; + } + + function Select_28btDbvtAabbMm_20const__2c_20btDbvtAabbMm_20const__2c_20btDbvtAabbMm_20const__29($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $5 = 0, $17 = 0; + $5 = __stack_pointer - 16 | 0; + __stack_pointer = $5; + HEAP32[($5 + 12 | 0) >> 2] = $0; + HEAP32[($5 + 8 | 0) >> 2] = $1; + HEAP32[($5 + 4 | 0) >> 2] = $2; + $17 = Math_fround(Proximity_28btDbvtAabbMm_20const__2c_20btDbvtAabbMm_20const__29(HEAP32[($5 + 12 | 0) >> 2] | 0 | 0, HEAP32[($5 + 8 | 0) >> 2] | 0 | 0)) < Math_fround(Proximity_28btDbvtAabbMm_20const__2c_20btDbvtAabbMm_20const__29(HEAP32[($5 + 12 | 0) >> 2] | 0 | 0, HEAP32[($5 + 4 | 0) >> 2] | 0 | 0)) & 1 | 0 ? 0 : 1; + __stack_pointer = $5 + 16 | 0; + return $17 | 0; + } + + function btDbvtAabbMm__Contain_28btDbvtAabbMm_20const__29_20const($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, $5 = 0, $15 = 0; + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; + $15 = 0; + label$1 : { + if (!(Math_fround(HEAPF32[(btVector3__x_28_29_20const($5 | 0) | 0) >> 2]) <= Math_fround(HEAPF32[(btVector3__x_28_29_20const(HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) | 0) >> 2]) & 1 | 0)) { + break label$1 + } + $15 = 0; + if (!(Math_fround(HEAPF32[(btVector3__y_28_29_20const($5 | 0) | 0) >> 2]) <= Math_fround(HEAPF32[(btVector3__y_28_29_20const(HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) | 0) >> 2]) & 1 | 0)) { + break label$1 + } + $15 = 0; + if (!(Math_fround(HEAPF32[(btVector3__z_28_29_20const($5 | 0) | 0) >> 2]) <= Math_fround(HEAPF32[(btVector3__z_28_29_20const(HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) | 0) >> 2]) & 1 | 0)) { + break label$1 + } + $15 = 0; + if (!(Math_fround(HEAPF32[(btVector3__x_28_29_20const($5 + 16 | 0 | 0) | 0) >> 2]) >= Math_fround(HEAPF32[(btVector3__x_28_29_20const((HEAP32[($4 + 8 | 0) >> 2] | 0) + 16 | 0 | 0) | 0) >> 2]) & 1 | 0)) { + break label$1 + } + $15 = 0; + if (!(Math_fround(HEAPF32[(btVector3__y_28_29_20const($5 + 16 | 0 | 0) | 0) >> 2]) >= Math_fround(HEAPF32[(btVector3__y_28_29_20const((HEAP32[($4 + 8 | 0) >> 2] | 0) + 16 | 0 | 0) | 0) >> 2]) & 1 | 0)) { + break label$1 + } + $15 = Math_fround(HEAPF32[(btVector3__z_28_29_20const($5 + 16 | 0 | 0) | 0) >> 2]) >= Math_fround(HEAPF32[(btVector3__z_28_29_20const((HEAP32[($4 + 8 | 0) >> 2] | 0) + 16 | 0 | 0) | 0) >> 2]); + } + __stack_pointer = $4 + 16 | 0; + return $15 & 1 | 0 | 0; + } + + function NotEqual_28btDbvtAabbMm_20const__2c_20btDbvtAabbMm_20const__29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, $15 = 0; + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + $15 = 1; + label$1 : { + if (Math_fround(HEAPF32[(btVector3__x_28_29_20const(HEAP32[($4 + 12 | 0) >> 2] | 0 | 0) | 0) >> 2]) != Math_fround(HEAPF32[(btVector3__x_28_29_20const(HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) | 0) >> 2]) & 1 | 0) { + break label$1 + } + $15 = 1; + if (Math_fround(HEAPF32[(btVector3__y_28_29_20const(HEAP32[($4 + 12 | 0) >> 2] | 0 | 0) | 0) >> 2]) != Math_fround(HEAPF32[(btVector3__y_28_29_20const(HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) | 0) >> 2]) & 1 | 0) { + break label$1 + } + $15 = 1; + if (Math_fround(HEAPF32[(btVector3__z_28_29_20const(HEAP32[($4 + 12 | 0) >> 2] | 0 | 0) | 0) >> 2]) != Math_fround(HEAPF32[(btVector3__z_28_29_20const(HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) | 0) >> 2]) & 1 | 0) { + break label$1 + } + $15 = 1; + if (Math_fround(HEAPF32[(btVector3__x_28_29_20const((HEAP32[($4 + 12 | 0) >> 2] | 0) + 16 | 0 | 0) | 0) >> 2]) != Math_fround(HEAPF32[(btVector3__x_28_29_20const((HEAP32[($4 + 8 | 0) >> 2] | 0) + 16 | 0 | 0) | 0) >> 2]) & 1 | 0) { + break label$1 + } + $15 = 1; + if (Math_fround(HEAPF32[(btVector3__y_28_29_20const((HEAP32[($4 + 12 | 0) >> 2] | 0) + 16 | 0 | 0) | 0) >> 2]) != Math_fround(HEAPF32[(btVector3__y_28_29_20const((HEAP32[($4 + 8 | 0) >> 2] | 0) + 16 | 0 | 0) | 0) >> 2]) & 1 | 0) { + break label$1 + } + $15 = Math_fround(HEAPF32[(btVector3__z_28_29_20const((HEAP32[($4 + 12 | 0) >> 2] | 0) + 16 | 0 | 0) | 0) >> 2]) != Math_fround(HEAPF32[(btVector3__z_28_29_20const((HEAP32[($4 + 8 | 0) >> 2] | 0) + 16 | 0 | 0) | 0) >> 2]); + } + __stack_pointer = $4 + 16 | 0; + return $15 & 1 | 0 | 0; + } + + function btDbvt__update_28btDbvtNode__2c_20btDbvtAabbMm__29($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $5 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, $6 = 0, $49 = 0, $48 = 0, $32 = 0, $51 = 0, $55 = 0, $59 = 0, $168 = 0, $178 = 0, $188 = 0, $198 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5 = __stack_pointer - 32 | 0; + __stack_pointer = $5; + HEAP32[($5 + 28 | 0) >> 2] = $0; + HEAP32[($5 + 24 | 0) >> 2] = $1; + HEAP32[($5 + 20 | 0) >> 2] = $2; + $6 = HEAP32[($5 + 28 | 0) >> 2] | 0; + (wasm2js_i32$0 = $5, wasm2js_i32$1 = removeleaf_28btDbvt__2c_20btDbvtNode__29($6 | 0, HEAP32[($5 + 24 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + if (!((HEAP32[($5 + 16 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + label$2 : { + label$3 : { + if (!((HEAP32[($6 + 8 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0)) { + break label$3 + } + HEAP32[($5 + 12 | 0) >> 2] = 0; + label$4 : while (1) { + $32 = 0; + label$5 : { + if (!((HEAP32[($5 + 12 | 0) >> 2] | 0 | 0) < (HEAP32[($6 + 8 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$5 + } + $32 = (HEAP32[((HEAP32[($5 + 16 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0 | 0) != (0 | 0); + } + label$6 : { + if (!($32 & 1 | 0)) { + break label$6 + } + HEAP32[($5 + 16 | 0) >> 2] = HEAP32[((HEAP32[($5 + 16 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0; + HEAP32[($5 + 12 | 0) >> 2] = (HEAP32[($5 + 12 | 0) >> 2] | 0) + 1 | 0; + continue label$4; + } + break label$4; + }; + break label$2; + } + HEAP32[($5 + 16 | 0) >> 2] = HEAP32[$6 >> 2] | 0; + } + } + $48 = HEAP32[($5 + 20 | 0) >> 2] | 0; + $49 = HEAP32[($5 + 24 | 0) >> 2] | 0; + i64toi32_i32$2 = $48; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $168 = i64toi32_i32$0; + i64toi32_i32$0 = $49; + HEAP32[i64toi32_i32$0 >> 2] = $168; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $51 = 24; + i64toi32_i32$2 = i64toi32_i32$2 + $51 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $178 = i64toi32_i32$1; + i64toi32_i32$1 = $49 + $51 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $178; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + $55 = 16; + i64toi32_i32$2 = $48 + $55 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $188 = i64toi32_i32$0; + i64toi32_i32$0 = $49 + $55 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $188; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $59 = 8; + i64toi32_i32$2 = $48 + $59 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $198 = i64toi32_i32$1; + i64toi32_i32$1 = $49 + $59 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $198; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + insertleaf_28btDbvt__2c_20btDbvtNode__2c_20btDbvtNode__29($6 | 0, HEAP32[($5 + 16 | 0) >> 2] | 0 | 0, HEAP32[($5 + 24 | 0) >> 2] | 0 | 0); + __stack_pointer = $5 + 32 | 0; + return; + } + + function btDbvt__update_28btDbvtNode__2c_20btDbvtAabbMm__2c_20btVector3_20const__2c_20float_29($0, $1, $2, $3, $4) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + $4 = Math_fround($4); + var $7 = 0, $23 = 0, $8 = 0, $17 = 0, $36 = 0; + $7 = __stack_pointer - 48 | 0; + __stack_pointer = $7; + HEAP32[($7 + 40 | 0) >> 2] = $0; + HEAP32[($7 + 36 | 0) >> 2] = $1; + HEAP32[($7 + 32 | 0) >> 2] = $2; + HEAP32[($7 + 28 | 0) >> 2] = $3; + HEAPF32[($7 + 24 | 0) >> 2] = $4; + $8 = HEAP32[($7 + 40 | 0) >> 2] | 0; + label$1 : { + label$2 : { + if (!((btDbvtAabbMm__Contain_28btDbvtAabbMm_20const__29_20const(HEAP32[($7 + 36 | 0) >> 2] | 0 | 0, HEAP32[($7 + 32 | 0) >> 2] | 0 | 0) | 0) & 1 | 0)) { + break label$2 + } + HEAP8[($7 + 47 | 0) >> 0] = 0 & 1 | 0; + break label$1; + } + $17 = HEAP32[($7 + 32 | 0) >> 2] | 0; + $23 = $7 + 24 | 0; + btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($7 + 8 | 0 | 0, $23 | 0, $23 | 0, $23 | 0) | 0; + btDbvtAabbMm__Expand_28btVector3_20const__29($17 | 0, $7 + 8 | 0 | 0); + btDbvtAabbMm__SignedExpand_28btVector3_20const__29(HEAP32[($7 + 32 | 0) >> 2] | 0 | 0, HEAP32[($7 + 28 | 0) >> 2] | 0 | 0); + btDbvt__update_28btDbvtNode__2c_20btDbvtAabbMm__29($8 | 0, HEAP32[($7 + 36 | 0) >> 2] | 0 | 0, HEAP32[($7 + 32 | 0) >> 2] | 0 | 0); + HEAP8[($7 + 47 | 0) >> 0] = 1 & 1 | 0; + } + $36 = (HEAPU8[($7 + 47 | 0) >> 0] | 0) & 1 | 0; + __stack_pointer = $7 + 48 | 0; + return $36 | 0; + } + + function btDbvtAabbMm__Expand_28btVector3_20const__29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, $5 = 0; + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; + btVector3__operator___28btVector3_20const__29($5 | 0, HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) | 0; + btVector3__operator___28btVector3_20const__29_1($5 + 16 | 0 | 0, HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) | 0; + __stack_pointer = $4 + 16 | 0; + return; + } + + function btDbvtAabbMm__SignedExpand_28btVector3_20const__29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, $5 = 0; + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; + label$1 : { + label$2 : { + if (!(Math_fround(HEAPF32[(btVector3__x_28_29_20const(HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) | 0) >> 2]) > Math_fround(0 | 0) & 1 | 0)) { + break label$2 + } + btVector3__setX_28float_29($5 + 16 | 0 | 0, Math_fround(Math_fround(Math_fround(HEAPF32[(btVector3__x_28_29_20const($5 + 16 | 0 | 0) | 0) >> 2]) + Math_fround(HEAPF32[(btVector3__operator_20float_20const__28_29_20const(HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) | 0) >> 2])))); + break label$1; + } + btVector3__setX_28float_29($5 | 0, Math_fround(Math_fround(Math_fround(HEAPF32[(btVector3__x_28_29_20const($5 | 0) | 0) >> 2]) + Math_fround(HEAPF32[(btVector3__operator_20float_20const__28_29_20const(HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) | 0) >> 2])))); + } + label$3 : { + label$4 : { + if (!(Math_fround(HEAPF32[(btVector3__y_28_29_20const(HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) | 0) >> 2]) > Math_fround(0 | 0) & 1 | 0)) { + break label$4 + } + btVector3__setY_28float_29($5 + 16 | 0 | 0, Math_fround(Math_fround(Math_fround(HEAPF32[(btVector3__y_28_29_20const($5 + 16 | 0 | 0) | 0) >> 2]) + Math_fround(HEAPF32[((btVector3__operator_20float_20const__28_29_20const(HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) | 0) + 4 | 0) >> 2])))); + break label$3; + } + btVector3__setY_28float_29($5 | 0, Math_fround(Math_fround(Math_fround(HEAPF32[(btVector3__y_28_29_20const($5 | 0) | 0) >> 2]) + Math_fround(HEAPF32[((btVector3__operator_20float_20const__28_29_20const(HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) | 0) + 4 | 0) >> 2])))); + } + label$5 : { + label$6 : { + if (!(Math_fround(HEAPF32[(btVector3__z_28_29_20const(HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) | 0) >> 2]) > Math_fround(0 | 0) & 1 | 0)) { + break label$6 + } + btVector3__setZ_28float_29($5 + 16 | 0 | 0, Math_fround(Math_fround(Math_fround(HEAPF32[(btVector3__z_28_29_20const($5 + 16 | 0 | 0) | 0) >> 2]) + Math_fround(HEAPF32[((btVector3__operator_20float_20const__28_29_20const(HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) | 0) + 8 | 0) >> 2])))); + break label$5; + } + btVector3__setZ_28float_29($5 | 0, Math_fround(Math_fround(Math_fround(HEAPF32[(btVector3__z_28_29_20const($5 | 0) | 0) >> 2]) + Math_fround(HEAPF32[((btVector3__operator_20float_20const__28_29_20const(HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) | 0) + 8 | 0) >> 2])))); + } + __stack_pointer = $4 + 16 | 0; + return; + } + + function btDbvt__remove_28btDbvtNode__29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, $5 = 0; + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; + removeleaf_28btDbvt__2c_20btDbvtNode__29($5 | 0, HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) | 0; + deletenode_28btDbvt__2c_20btDbvtNode__29($5 | 0, HEAP32[($4 + 8 | 0) >> 2] | 0 | 0); + HEAP32[($5 + 12 | 0) >> 2] = (HEAP32[($5 + 12 | 0) >> 2] | 0) + -1 | 0; + __stack_pointer = $4 + 16 | 0; + return; + } + + function btDbvtNode__btDbvtNode_28_29($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + btDbvtAabbMm__btDbvtAabbMm_28_29($4 | 0) | 0; + __stack_pointer = $3 + 16 | 0; + return $4 | 0; + } + + function Proximity_28btDbvtAabbMm_20const__2c_20btDbvtAabbMm_20const__29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, $47 = Math_fround(0); + $4 = __stack_pointer - 64 | 0; + __stack_pointer = $4; + HEAP32[($4 + 60 | 0) >> 2] = $0; + HEAP32[($4 + 56 | 0) >> 2] = $1; + operator__28btVector3_20const__2c_20btVector3_20const__29_2($4 + 24 | 0 | 0, HEAP32[($4 + 60 | 0) >> 2] | 0 | 0, (HEAP32[($4 + 60 | 0) >> 2] | 0) + 16 | 0 | 0); + operator__28btVector3_20const__2c_20btVector3_20const__29_2($4 + 8 | 0 | 0, HEAP32[($4 + 56 | 0) >> 2] | 0 | 0, (HEAP32[($4 + 56 | 0) >> 2] | 0) + 16 | 0 | 0); + operator__28btVector3_20const__2c_20btVector3_20const__29($4 + 40 | 0 | 0, $4 + 24 | 0 | 0, $4 + 8 | 0 | 0); + $47 = Math_fround(Math_fround(Math_fround(btFabs_28float_29(Math_fround(Math_fround(HEAPF32[(btVector3__x_28_29_20const($4 + 40 | 0 | 0) | 0) >> 2])))) + Math_fround(btFabs_28float_29(Math_fround(Math_fround(HEAPF32[(btVector3__y_28_29_20const($4 + 40 | 0 | 0) | 0) >> 2]))))) + Math_fround(btFabs_28float_29(Math_fround(Math_fround(HEAPF32[(btVector3__z_28_29_20const($4 + 40 | 0 | 0) | 0) >> 2]))))); + __stack_pointer = $4 + 64 | 0; + return Math_fround($47); + } + + function _GLOBAL__sub_I_btDbvt_cpp() { + __cxx_global_var_init_3(); + return; + } + + function __cxx_global_var_init_4() { + btInfMaskConverter__btInfMaskConverter_28int_29(113936 | 0, 2139095040 | 0) | 0; + return; + } + + function btDbvtBroadphase__btDbvtBroadphase_28btOverlappingPairCache__29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $5 = 0, $4 = 0, $66 = 0, $10 = 0, $13 = 0, $14 = 0, $16 = 0, $61 = 0, $64 = 0, $12 = 0, $54 = 0, $98 = 0; + $4 = __stack_pointer - 48 | 0; + __stack_pointer = $4; + HEAP32[($4 + 40 | 0) >> 2] = $0; + HEAP32[($4 + 36 | 0) >> 2] = $1; + $5 = HEAP32[($4 + 40 | 0) >> 2] | 0; + HEAP32[($4 + 44 | 0) >> 2] = $5; + btBroadphaseInterface__btBroadphaseInterface_28_29($5 | 0) | 0; + HEAP32[$5 >> 2] = 90076 + 8 | 0; + $10 = $5 + 4 | 0; + $12 = $10 + 80 | 0; + $13 = $10; + label$1 : while (1) { + $14 = $13; + btDbvt__btDbvt_28_29($14 | 0) | 0; + $16 = $14 + 40 | 0; + $13 = $16; + if (!(($16 | 0) == ($12 | 0) & 1 | 0)) { + continue label$1 + } + break label$1; + }; + btAlignedObjectArray_btAlignedObjectArray_btDbvtNode_20const_____btAlignedObjectArray_28_29($5 + 156 | 0 | 0) | 0; + HEAP8[($5 + 153 | 0) >> 0] = 0; + HEAP8[($5 + 154 | 0) >> 0] = 1; + HEAP8[($5 + 152 | 0) >> 0] = ((HEAP32[($4 + 36 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0 ? 0 : 1) & 1 | 0; + HEAPF32[($5 + 100 | 0) >> 2] = Math_fround(0 | 0); + HEAP32[($5 + 104 | 0) >> 2] = 0; + HEAP32[($5 + 124 | 0) >> 2] = 0; + HEAP32[($5 + 108 | 0) >> 2] = 1; + HEAP32[($5 + 112 | 0) >> 2] = 0; + HEAP32[($5 + 116 | 0) >> 2] = 10; + HEAP32[($5 + 120 | 0) >> 2] = 1; + HEAP32[($5 + 128 | 0) >> 2] = 0; + HEAP32[($5 + 132 | 0) >> 2] = 0; + HEAPF32[($5 + 136 | 0) >> 2] = Math_fround(0 | 0); + $54 = (HEAP32[($4 + 36 | 0) >> 2] | 0 | 0) != (0 | 0); + HEAP8[($4 + 27 | 0) >> 0] = 0 & 1 | 0; + label$2 : { + label$3 : { + if (!($54 & 1 | 0)) { + break label$3 + } + $61 = HEAP32[($4 + 36 | 0) >> 2] | 0; + break label$2; + } + $64 = btAlignedAllocInternal_28unsigned_20long_2c_20int_29(72 | 0, 16 | 0) | 0; + $66 = btHashedOverlappingPairCache__operator_20new_28unsigned_20long_2c_20void__29(72 | 0, $64 | 0) | 0; + HEAP32[($4 + 32 | 0) >> 2] = $66; + HEAP32[($4 + 28 | 0) >> 2] = $64; + HEAP8[($4 + 27 | 0) >> 0] = 1 & 1 | 0; + btHashedOverlappingPairCache__btHashedOverlappingPairCache_28_29($66 | 0) | 0; + $61 = $66; + } + HEAP32[($5 + 96 | 0) >> 2] = $61; + HEAP32[($5 + 148 | 0) >> 2] = 0; + HEAP32[($5 + 140 | 0) >> 2] = 0; + HEAP32[($5 + 144 | 0) >> 2] = 0; + HEAP32[($4 + 20 | 0) >> 2] = 0; + label$4 : { + label$5 : while (1) { + if (!((HEAP32[($4 + 20 | 0) >> 2] | 0 | 0) <= (2 | 0) & 1 | 0)) { + break label$4 + } + HEAP32[(($5 + 84 | 0) + ((HEAP32[($4 + 20 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = 0; + HEAP32[($4 + 20 | 0) >> 2] = (HEAP32[($4 + 20 | 0) >> 2] | 0) + 1 | 0; + continue label$5; + }; + } + btAlignedObjectArray_btDbvtNode_20const____btAlignedObjectArray_28_29($4 | 0) | 0; + btAlignedObjectArray_btAlignedObjectArray_btDbvtNode_20const_____resize_28int_2c_20btAlignedObjectArray_btDbvtNode_20const___20const__29($5 + 156 | 0 | 0, 1 | 0, $4 | 0); + btAlignedObjectArray_btDbvtNode_20const_____btAlignedObjectArray_28_29($4 | 0) | 0; + $98 = HEAP32[($4 + 44 | 0) >> 2] | 0; + __stack_pointer = $4 + 48 | 0; + return $98 | 0; + } + + function btBroadphaseInterface__btBroadphaseInterface_28_29($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + HEAP32[$4 >> 2] = 90204 + 8 | 0; + return $4 | 0; + } + + function btAlignedObjectArray_btAlignedObjectArray_btDbvtNode_20const_____btAlignedObjectArray_28_29($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + btAlignedAllocator_btAlignedObjectArray_btDbvtNode_20const___2c_2016u___btAlignedAllocator_28_29($4 | 0) | 0; + btAlignedObjectArray_btAlignedObjectArray_btDbvtNode_20const_____init_28_29($4 | 0); + __stack_pointer = $3 + 16 | 0; + return $4 | 0; + } + + function btHashedOverlappingPairCache__operator_20new_28unsigned_20long_2c_20void__29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0; + $4 = __stack_pointer - 16 | 0; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + return HEAP32[($4 + 8 | 0) >> 2] | 0 | 0; + } + + function btAlignedObjectArray_btDbvtNode_20const____btAlignedObjectArray_28_29($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + btAlignedAllocator_btDbvtNode_20const__2c_2016u___btAlignedAllocator_28_29($4 | 0) | 0; + btAlignedObjectArray_btDbvtNode_20const____init_28_29($4 | 0); + __stack_pointer = $3 + 16 | 0; + return $4 | 0; + } + + function btAlignedObjectArray_btAlignedObjectArray_btDbvtNode_20const_____resize_28int_2c_20btAlignedObjectArray_btDbvtNode_20const___20const__29($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $5 = 0, $6 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5 = __stack_pointer - 32 | 0; + __stack_pointer = $5; + HEAP32[($5 + 28 | 0) >> 2] = $0; + HEAP32[($5 + 24 | 0) >> 2] = $1; + HEAP32[($5 + 20 | 0) >> 2] = $2; + $6 = HEAP32[($5 + 28 | 0) >> 2] | 0; + (wasm2js_i32$0 = $5, wasm2js_i32$1 = btAlignedObjectArray_btAlignedObjectArray_btDbvtNode_20const_____size_28_29_20const($6 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + label$2 : { + if (!((HEAP32[($5 + 24 | 0) >> 2] | 0 | 0) < (HEAP32[($5 + 16 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($5 + 12 | 0) >> 2] = HEAP32[($5 + 24 | 0) >> 2] | 0; + label$3 : { + label$4 : while (1) { + if (!((HEAP32[($5 + 12 | 0) >> 2] | 0 | 0) < (HEAP32[($5 + 16 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$3 + } + btAlignedObjectArray_btDbvtNode_20const_____btAlignedObjectArray_28_29((HEAP32[($6 + 12 | 0) >> 2] | 0) + Math_imul(HEAP32[($5 + 12 | 0) >> 2] | 0, 20) | 0 | 0) | 0; + HEAP32[($5 + 12 | 0) >> 2] = (HEAP32[($5 + 12 | 0) >> 2] | 0) + 1 | 0; + continue label$4; + }; + } + break label$1; + } + label$5 : { + if (!((HEAP32[($5 + 24 | 0) >> 2] | 0 | 0) > (HEAP32[($5 + 16 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$5 + } + btAlignedObjectArray_btAlignedObjectArray_btDbvtNode_20const_____reserve_28int_29($6 | 0, HEAP32[($5 + 24 | 0) >> 2] | 0 | 0); + } + HEAP32[($5 + 8 | 0) >> 2] = HEAP32[($5 + 16 | 0) >> 2] | 0; + label$6 : { + label$7 : while (1) { + if (!((HEAP32[($5 + 8 | 0) >> 2] | 0 | 0) < (HEAP32[($5 + 24 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$6 + } + btAlignedObjectArray_btDbvtNode_20const____btAlignedObjectArray_28btAlignedObjectArray_btDbvtNode_20const___20const__29((HEAP32[($6 + 12 | 0) >> 2] | 0) + Math_imul(HEAP32[($5 + 8 | 0) >> 2] | 0, 20) | 0 | 0, HEAP32[($5 + 20 | 0) >> 2] | 0 | 0) | 0; + HEAP32[($5 + 8 | 0) >> 2] = (HEAP32[($5 + 8 | 0) >> 2] | 0) + 1 | 0; + continue label$7; + }; + } + } + HEAP32[($6 + 4 | 0) >> 2] = HEAP32[($5 + 24 | 0) >> 2] | 0; + __stack_pointer = $5 + 32 | 0; + return; + } + + function btAlignedObjectArray_btDbvtNode_20const_____btAlignedObjectArray_28_29($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + btAlignedObjectArray_btDbvtNode_20const____clear_28_29($4 | 0); + __stack_pointer = $3 + 16 | 0; + return $4 | 0; + } + + function btAlignedAllocator_btAlignedObjectArray_btDbvtNode_20const___2c_2016u___btAlignedAllocator_28_29($0) { + $0 = $0 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + return HEAP32[($3 + 12 | 0) >> 2] | 0 | 0; + } + + function btAlignedObjectArray_btAlignedObjectArray_btDbvtNode_20const_____init_28_29($0) { + $0 = $0 | 0; + var $4 = 0, $3 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + HEAP8[($4 + 16 | 0) >> 0] = 1; + HEAP32[($4 + 12 | 0) >> 2] = 0; + HEAP32[($4 + 4 | 0) >> 2] = 0; + HEAP32[($4 + 8 | 0) >> 2] = 0; + return; + } + + function btAlignedObjectArray_btAlignedObjectArray_btDbvtNode_20const_____size_28_29_20const($0) { + $0 = $0 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + return HEAP32[((HEAP32[($3 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0; + } + + function btAlignedObjectArray_btAlignedObjectArray_btDbvtNode_20const_____reserve_28int_29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, $5 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; + label$1 : { + if (!((btAlignedObjectArray_btAlignedObjectArray_btDbvtNode_20const_____capacity_28_29_20const($5 | 0) | 0 | 0) < (HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$1 + } + (wasm2js_i32$0 = $4, wasm2js_i32$1 = btAlignedObjectArray_btAlignedObjectArray_btDbvtNode_20const_____allocate_28int_29($5 | 0, HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + btAlignedObjectArray_btAlignedObjectArray_btDbvtNode_20const_____copy_28int_2c_20int_2c_20btAlignedObjectArray_btDbvtNode_20const____29_20const($5 | 0, 0 | 0, btAlignedObjectArray_btAlignedObjectArray_btDbvtNode_20const_____size_28_29_20const($5 | 0) | 0 | 0, HEAP32[($4 + 4 | 0) >> 2] | 0 | 0); + btAlignedObjectArray_btAlignedObjectArray_btDbvtNode_20const_____destroy_28int_2c_20int_29($5 | 0, 0 | 0, btAlignedObjectArray_btAlignedObjectArray_btDbvtNode_20const_____size_28_29_20const($5 | 0) | 0 | 0); + btAlignedObjectArray_btAlignedObjectArray_btDbvtNode_20const_____deallocate_28_29($5 | 0); + HEAP8[($5 + 16 | 0) >> 0] = 1; + HEAP32[($5 + 12 | 0) >> 2] = HEAP32[($4 + 4 | 0) >> 2] | 0; + HEAP32[($5 + 8 | 0) >> 2] = HEAP32[($4 + 8 | 0) >> 2] | 0; + } + __stack_pointer = $4 + 16 | 0; + return; + } + + function btAlignedObjectArray_btDbvtNode_20const____btAlignedObjectArray_28btAlignedObjectArray_btDbvtNode_20const___20const__29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, $5 = 0, $8 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; + btAlignedAllocator_btDbvtNode_20const__2c_2016u___btAlignedAllocator_28_29($5 | 0) | 0; + btAlignedObjectArray_btDbvtNode_20const____init_28_29($5 | 0); + (wasm2js_i32$0 = $4, wasm2js_i32$1 = btAlignedObjectArray_btDbvtNode_20const____size_28_29_20const(HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + $8 = HEAP32[($4 + 4 | 0) >> 2] | 0; + HEAP32[$4 >> 2] = 0; + btAlignedObjectArray_btDbvtNode_20const____resize_28int_2c_20btDbvtNode_20const__20const__29($5 | 0, $8 | 0, $4 | 0); + btAlignedObjectArray_btDbvtNode_20const____copy_28int_2c_20int_2c_20btDbvtNode_20const___29_20const(HEAP32[($4 + 8 | 0) >> 2] | 0 | 0, 0 | 0, HEAP32[($4 + 4 | 0) >> 2] | 0 | 0, HEAP32[($5 + 12 | 0) >> 2] | 0 | 0); + __stack_pointer = $4 + 16 | 0; + return $5 | 0; + } + + function btAlignedAllocator_btDbvtNode_20const__2c_2016u___btAlignedAllocator_28_29($0) { + $0 = $0 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + return HEAP32[($3 + 12 | 0) >> 2] | 0 | 0; + } + + function btAlignedObjectArray_btDbvtNode_20const____init_28_29($0) { + $0 = $0 | 0; + var $4 = 0, $3 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + HEAP8[($4 + 16 | 0) >> 0] = 1; + HEAP32[($4 + 12 | 0) >> 2] = 0; + HEAP32[($4 + 4 | 0) >> 2] = 0; + HEAP32[($4 + 8 | 0) >> 2] = 0; + return; + } + + function btAlignedObjectArray_btDbvtNode_20const____clear_28_29($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + btAlignedObjectArray_btDbvtNode_20const____destroy_28int_2c_20int_29($4 | 0, 0 | 0, btAlignedObjectArray_btDbvtNode_20const____size_28_29_20const($4 | 0) | 0 | 0); + btAlignedObjectArray_btDbvtNode_20const____deallocate_28_29($4 | 0); + btAlignedObjectArray_btDbvtNode_20const____init_28_29($4 | 0); + __stack_pointer = $3 + 16 | 0; + return; + } + + function btDbvtBroadphase___btDbvtBroadphase_28_29($0) { + $0 = $0 | 0; + var $4 = 0, $3 = 0, $24 = 0, $11 = 0, $18 = 0, $21 = 0, $30 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 8 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 8 | 0) >> 2] | 0; + HEAP32[($3 + 12 | 0) >> 2] = $4; + HEAP32[$4 >> 2] = 90076 + 8 | 0; + label$1 : { + if (!((HEAPU8[($4 + 152 | 0) >> 0] | 0) & 1 | 0)) { + break label$1 + } + $11 = HEAP32[($4 + 96 | 0) >> 2] | 0; + FUNCTION_TABLE[HEAP32[(HEAP32[$11 >> 2] | 0) >> 2] | 0 | 0]($11) | 0; + btAlignedFreeInternal_28void__29(HEAP32[($4 + 96 | 0) >> 2] | 0 | 0); + } + btAlignedObjectArray_btAlignedObjectArray_btDbvtNode_20const______btAlignedObjectArray_28_29($4 + 156 | 0 | 0) | 0; + $18 = $4 + 4 | 0; + $21 = $18 + 80 | 0; + label$2 : while (1) { + $24 = $21 + -40 | 0; + btDbvt___btDbvt_28_29($24 | 0) | 0; + $21 = $24; + if (!(($24 | 0) == ($18 | 0) & 1 | 0)) { + continue label$2 + } + break label$2; + }; + btBroadphaseInterface___btBroadphaseInterface_28_29($4 | 0) | 0; + $30 = HEAP32[($3 + 12 | 0) >> 2] | 0; + __stack_pointer = $3 + 16 | 0; + return $30 | 0; + } + + function btAlignedObjectArray_btAlignedObjectArray_btDbvtNode_20const______btAlignedObjectArray_28_29($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + btAlignedObjectArray_btAlignedObjectArray_btDbvtNode_20const_____clear_28_29($4 | 0); + __stack_pointer = $3 + 16 | 0; + return $4 | 0; + } + + function btBroadphaseInterface___btBroadphaseInterface_28_29($0) { + $0 = $0 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + return HEAP32[($3 + 12 | 0) >> 2] | 0 | 0; + } + + function btAlignedObjectArray_btAlignedObjectArray_btDbvtNode_20const_____clear_28_29($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + btAlignedObjectArray_btAlignedObjectArray_btDbvtNode_20const_____destroy_28int_2c_20int_29($4 | 0, 0 | 0, btAlignedObjectArray_btAlignedObjectArray_btDbvtNode_20const_____size_28_29_20const($4 | 0) | 0 | 0); + btAlignedObjectArray_btAlignedObjectArray_btDbvtNode_20const_____deallocate_28_29($4 | 0); + btAlignedObjectArray_btAlignedObjectArray_btDbvtNode_20const_____init_28_29($4 | 0); + __stack_pointer = $3 + 16 | 0; + return; + } + + function btDbvtBroadphase___btDbvtBroadphase_28_29_1($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + FUNCTION_TABLE[443 | 0]($4) | 0; + operator_20delete_28void__29($4 | 0); + __stack_pointer = $3 + 16 | 0; + return; + } + + function btDbvtBroadphase__createProxy_28btVector3_20const__2c_20btVector3_20const__2c_20int_2c_20void__2c_20int_2c_20int_2c_20btDispatcher__29($0, $1, $2, $3, $4, $5, $6, $7) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + $4 = $4 | 0; + $5 = $5 | 0; + $6 = $6 | 0; + $7 = $7 | 0; + var $10 = 0, $11 = 0, $16 = 0, $31 = 0, $39 = 0, $70 = 0; + $10 = __stack_pointer - 80 | 0; + __stack_pointer = $10; + HEAP32[($10 + 76 | 0) >> 2] = $0; + HEAP32[($10 + 72 | 0) >> 2] = $1; + HEAP32[($10 + 68 | 0) >> 2] = $2; + HEAP32[($10 + 64 | 0) >> 2] = $3; + HEAP32[($10 + 60 | 0) >> 2] = $4; + HEAP32[($10 + 56 | 0) >> 2] = $5; + HEAP32[($10 + 52 | 0) >> 2] = $6; + HEAP32[($10 + 48 | 0) >> 2] = $7; + $11 = HEAP32[($10 + 76 | 0) >> 2] | 0; + $16 = btBroadphaseProxy__operator_20new_28unsigned_20long_2c_20void__29(64 | 0, btAlignedAllocInternal_28unsigned_20long_2c_20int_29(64 | 0, 16 | 0) | 0 | 0) | 0; + btDbvtProxy__btDbvtProxy_28btVector3_20const__2c_20btVector3_20const__2c_20void__2c_20int_2c_20int_29($16 | 0, HEAP32[($10 + 72 | 0) >> 2] | 0 | 0, HEAP32[($10 + 68 | 0) >> 2] | 0 | 0, HEAP32[($10 + 60 | 0) >> 2] | 0 | 0, HEAP32[($10 + 56 | 0) >> 2] | 0 | 0, HEAP32[($10 + 52 | 0) >> 2] | 0 | 0) | 0; + HEAP32[($10 + 44 | 0) >> 2] = $16; + btDbvtAabbMm__FromMM_28btVector3_20const__2c_20btVector3_20const__29($10 + 12 | 0 | 0, HEAP32[($10 + 72 | 0) >> 2] | 0 | 0, HEAP32[($10 + 68 | 0) >> 2] | 0 | 0); + HEAP32[((HEAP32[($10 + 44 | 0) >> 2] | 0) + 60 | 0) >> 2] = HEAP32[($11 + 104 | 0) >> 2] | 0; + $31 = (HEAP32[($11 + 148 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($11 + 148 | 0) >> 2] = $31; + HEAP32[((HEAP32[($10 + 44 | 0) >> 2] | 0) + 12 | 0) >> 2] = $31; + $39 = btDbvt__insert_28btDbvtAabbMm_20const__2c_20void__29($11 + 4 | 0 | 0, $10 + 12 | 0 | 0, HEAP32[($10 + 44 | 0) >> 2] | 0 | 0) | 0; + HEAP32[((HEAP32[($10 + 44 | 0) >> 2] | 0) + 48 | 0) >> 2] = $39; + void_20listappend_btDbvtProxy__28btDbvtProxy__2c_20btDbvtProxy___29(HEAP32[($10 + 44 | 0) >> 2] | 0 | 0, ($11 + 84 | 0) + ((HEAP32[($11 + 104 | 0) >> 2] | 0) << 2 | 0) | 0 | 0); + label$1 : { + if ((HEAPU8[($11 + 153 | 0) >> 0] | 0) & 1 | 0) { + break label$1 + } + btDbvtTreeCollider__btDbvtTreeCollider_28btDbvtBroadphase__29($10 | 0, $11 | 0) | 0; + HEAP32[($10 + 8 | 0) >> 2] = HEAP32[($10 + 44 | 0) >> 2] | 0; + btDbvt__collideTV_28btDbvtNode_20const__2c_20btDbvtAabbMm_20const__2c_20btDbvt__ICollide__29_20const($11 + 4 | 0 | 0, HEAP32[($11 + 4 | 0) >> 2] | 0 | 0, $10 + 12 | 0 | 0, $10 | 0); + btDbvt__collideTV_28btDbvtNode_20const__2c_20btDbvtAabbMm_20const__2c_20btDbvt__ICollide__29_20const(($11 + 4 | 0) + 40 | 0 | 0, HEAP32[($11 + 44 | 0) >> 2] | 0 | 0, $10 + 12 | 0 | 0, $10 | 0); + btDbvtTreeCollider___btDbvtTreeCollider_28_29($10 | 0) | 0; + } + $70 = HEAP32[($10 + 44 | 0) >> 2] | 0; + __stack_pointer = $10 + 80 | 0; + return $70 | 0; + } + + function btBroadphaseProxy__operator_20new_28unsigned_20long_2c_20void__29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0; + $4 = __stack_pointer - 16 | 0; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + return HEAP32[($4 + 8 | 0) >> 2] | 0 | 0; + } + + function btDbvtProxy__btDbvtProxy_28btVector3_20const__2c_20btVector3_20const__2c_20void__2c_20int_2c_20int_29($0, $1, $2, $3, $4, $5) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + $4 = $4 | 0; + $5 = $5 | 0; + var $8 = 0, $9 = 0; + $8 = __stack_pointer - 32 | 0; + __stack_pointer = $8; + HEAP32[($8 + 28 | 0) >> 2] = $0; + HEAP32[($8 + 24 | 0) >> 2] = $1; + HEAP32[($8 + 20 | 0) >> 2] = $2; + HEAP32[($8 + 16 | 0) >> 2] = $3; + HEAP32[($8 + 12 | 0) >> 2] = $4; + HEAP32[($8 + 8 | 0) >> 2] = $5; + $9 = HEAP32[($8 + 28 | 0) >> 2] | 0; + btBroadphaseProxy__btBroadphaseProxy_28btVector3_20const__2c_20btVector3_20const__2c_20void__2c_20int_2c_20int_29($9 | 0, HEAP32[($8 + 24 | 0) >> 2] | 0 | 0, HEAP32[($8 + 20 | 0) >> 2] | 0 | 0, HEAP32[($8 + 16 | 0) >> 2] | 0 | 0, HEAP32[($8 + 12 | 0) >> 2] | 0 | 0, HEAP32[($8 + 8 | 0) >> 2] | 0 | 0) | 0; + HEAP32[($9 + 56 | 0) >> 2] = 0; + HEAP32[($9 + 52 | 0) >> 2] = 0; + __stack_pointer = $8 + 32 | 0; + return $9 | 0; + } + + function btDbvtAabbMm__FromMM_28btVector3_20const__2c_20btVector3_20const__29($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var i64toi32_i32$2 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $5 = 0, $8 = 0, $14 = 0, $16 = 0, $38 = 0, $48 = 0, $57 = 0, $67 = 0; + $5 = __stack_pointer - 16 | 0; + __stack_pointer = $5; + HEAP32[($5 + 12 | 0) >> 2] = $1; + HEAP32[($5 + 8 | 0) >> 2] = $2; + btDbvtAabbMm__btDbvtAabbMm_28_29($0 | 0) | 0; + i64toi32_i32$2 = HEAP32[($5 + 12 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $38 = i64toi32_i32$0; + i64toi32_i32$0 = $0; + HEAP32[i64toi32_i32$0 >> 2] = $38; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $8 = 8; + i64toi32_i32$2 = i64toi32_i32$2 + $8 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $48 = i64toi32_i32$1; + i64toi32_i32$1 = $0 + $8 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $48; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + $14 = $0 + 16 | 0; + i64toi32_i32$2 = HEAP32[($5 + 8 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $57 = i64toi32_i32$0; + i64toi32_i32$0 = $14; + HEAP32[i64toi32_i32$0 >> 2] = $57; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $16 = 8; + i64toi32_i32$2 = i64toi32_i32$2 + $16 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $67 = i64toi32_i32$1; + i64toi32_i32$1 = $14 + $16 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $67; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + __stack_pointer = $5 + 16 | 0; + return; + } + + function void_20listappend_btDbvtProxy__28btDbvtProxy__2c_20btDbvtProxy___29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0; + $4 = __stack_pointer - 16 | 0; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + HEAP32[((HEAP32[($4 + 12 | 0) >> 2] | 0) + 52 | 0) >> 2] = 0; + HEAP32[((HEAP32[($4 + 12 | 0) >> 2] | 0) + 56 | 0) >> 2] = HEAP32[(HEAP32[($4 + 8 | 0) >> 2] | 0) >> 2] | 0; + label$1 : { + if (!((HEAP32[(HEAP32[($4 + 8 | 0) >> 2] | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + HEAP32[((HEAP32[(HEAP32[($4 + 8 | 0) >> 2] | 0) >> 2] | 0) + 52 | 0) >> 2] = HEAP32[($4 + 12 | 0) >> 2] | 0; + } + HEAP32[(HEAP32[($4 + 8 | 0) >> 2] | 0) >> 2] = HEAP32[($4 + 12 | 0) >> 2] | 0; + return; + } + + function btDbvtTreeCollider__btDbvtTreeCollider_28btDbvtBroadphase__29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, $5 = 0; + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; + btDbvt__ICollide__ICollide_28_29($5 | 0) | 0; + HEAP32[$5 >> 2] = 90268 + 8 | 0; + HEAP32[($5 + 4 | 0) >> 2] = HEAP32[($4 + 8 | 0) >> 2] | 0; + __stack_pointer = $4 + 16 | 0; + return $5 | 0; + } + + function btDbvt__collideTV_28btDbvtNode_20const__2c_20btDbvtAabbMm_20const__2c_20btDbvt__ICollide__29_20const($0, $1, $2, $3) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + var $6 = 0, i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, i64toi32_i32$1 = 0, $14 = 0, $15 = 0, $21 = 0, $27 = 0, $98 = 0, $156 = 0, $169 = 0, $182 = 0, $186 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $6 = __stack_pointer - 352 | 0; + __stack_pointer = $6; + HEAP32[($6 + 348 | 0) >> 2] = $0; + HEAP32[($6 + 344 | 0) >> 2] = $1; + HEAP32[($6 + 340 | 0) >> 2] = $2; + HEAP32[($6 + 336 | 0) >> 2] = $3; + label$1 : { + if (!((HEAP32[($6 + 344 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + $14 = HEAP32[($6 + 340 | 0) >> 2] | 0; + $15 = 24; + i64toi32_i32$2 = $14 + $15 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $156 = i64toi32_i32$0; + i64toi32_i32$0 = ($6 + 304 | 0) + $15 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $156; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $21 = 16; + i64toi32_i32$2 = $14 + $21 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $169 = i64toi32_i32$1; + i64toi32_i32$1 = ($6 + 304 | 0) + $21 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $169; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + $27 = 8; + i64toi32_i32$2 = $14 + $27 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $182 = i64toi32_i32$0; + i64toi32_i32$0 = ($6 + 304 | 0) + $27 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $182; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$2 = $14; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $186 = i64toi32_i32$1; + i64toi32_i32$1 = $6; + HEAP32[($6 + 304 | 0) >> 2] = $186; + HEAP32[($6 + 308 | 0) >> 2] = i64toi32_i32$0; + btAlignedObjectArray_btDbvtNode_20const____btAlignedObjectArray_28_29($6 + 284 | 0 | 0) | 0; + HEAP32[($6 + 280 | 0) >> 2] = 0; + btAlignedObjectArray_btDbvtNode_20const____resize_28int_2c_20btDbvtNode_20const__20const__29($6 + 284 | 0 | 0, 0 | 0, $6 + 280 | 0 | 0); + btAlignedObjectArray_btDbvtNode_20const____initializeFromBuffer_28void__2c_20int_2c_20int_29($6 + 284 | 0 | 0, $6 + 16 | 0 | 0, 0 | 0, 64 | 0); + btAlignedObjectArray_btDbvtNode_20const____push_back_28btDbvtNode_20const__20const__29($6 + 284 | 0 | 0, $6 + 344 | 0 | 0); + label$2 : while (1) { + (wasm2js_i32$0 = $6, wasm2js_i32$1 = HEAP32[(btAlignedObjectArray_btDbvtNode_20const____operator_5b_5d_28int_29($6 + 284 | 0 | 0, (btAlignedObjectArray_btDbvtNode_20const____size_28_29_20const($6 + 284 | 0 | 0) | 0) - 1 | 0 | 0) | 0) >> 2] | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + btAlignedObjectArray_btDbvtNode_20const____pop_back_28_29($6 + 284 | 0 | 0); + label$3 : { + if (!((Intersect_28btDbvtAabbMm_20const__2c_20btDbvtAabbMm_20const__29(HEAP32[($6 + 12 | 0) >> 2] | 0 | 0, $6 + 304 | 0 | 0) | 0) & 1 | 0)) { + break label$3 + } + label$4 : { + label$5 : { + if (!((btDbvtNode__isinternal_28_29_20const(HEAP32[($6 + 12 | 0) >> 2] | 0 | 0) | 0) & 1 | 0)) { + break label$5 + } + btAlignedObjectArray_btDbvtNode_20const____push_back_28btDbvtNode_20const__20const__29($6 + 284 | 0 | 0, (HEAP32[($6 + 12 | 0) >> 2] | 0) + 36 | 0 | 0); + btAlignedObjectArray_btDbvtNode_20const____push_back_28btDbvtNode_20const__20const__29($6 + 284 | 0 | 0, ((HEAP32[($6 + 12 | 0) >> 2] | 0) + 36 | 0) + 4 | 0 | 0); + break label$4; + } + $98 = HEAP32[($6 + 336 | 0) >> 2] | 0; + FUNCTION_TABLE[HEAP32[((HEAP32[$98 >> 2] | 0) + 12 | 0) >> 2] | 0 | 0]($98, HEAP32[($6 + 12 | 0) >> 2] | 0); + } + } + if ((btAlignedObjectArray_btDbvtNode_20const____size_28_29_20const($6 + 284 | 0 | 0) | 0 | 0) > (0 | 0) & 1 | 0) { + continue label$2 + } + break label$2; + }; + btAlignedObjectArray_btDbvtNode_20const_____btAlignedObjectArray_28_29($6 + 284 | 0 | 0) | 0; + } + __stack_pointer = $6 + 352 | 0; + return; + } + + function btDbvtTreeCollider___btDbvtTreeCollider_28_29($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + btDbvt__ICollide___ICollide_28_29($4 | 0) | 0; + __stack_pointer = $3 + 16 | 0; + return $4 | 0; + } + + function btBroadphaseProxy__btBroadphaseProxy_28btVector3_20const__2c_20btVector3_20const__2c_20void__2c_20int_2c_20int_29($0, $1, $2, $3, $4, $5) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + $4 = $4 | 0; + $5 = $5 | 0; + var i64toi32_i32$2 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $8 = 0, $9 = 0, $14 = 0, $17 = 0, $22 = 0, $25 = 0, $67 = 0, $77 = 0, $86 = 0, $96 = 0; + $8 = __stack_pointer - 32 | 0; + HEAP32[($8 + 28 | 0) >> 2] = $0; + HEAP32[($8 + 24 | 0) >> 2] = $1; + HEAP32[($8 + 20 | 0) >> 2] = $2; + HEAP32[($8 + 16 | 0) >> 2] = $3; + HEAP32[($8 + 12 | 0) >> 2] = $4; + HEAP32[($8 + 8 | 0) >> 2] = $5; + $9 = HEAP32[($8 + 28 | 0) >> 2] | 0; + HEAP32[$9 >> 2] = HEAP32[($8 + 16 | 0) >> 2] | 0; + HEAP32[($9 + 4 | 0) >> 2] = HEAP32[($8 + 12 | 0) >> 2] | 0; + HEAP32[($9 + 8 | 0) >> 2] = HEAP32[($8 + 8 | 0) >> 2] | 0; + $14 = $9 + 16 | 0; + i64toi32_i32$2 = HEAP32[($8 + 24 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $67 = i64toi32_i32$0; + i64toi32_i32$0 = $14; + HEAP32[i64toi32_i32$0 >> 2] = $67; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $17 = 8; + i64toi32_i32$2 = i64toi32_i32$2 + $17 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $77 = i64toi32_i32$1; + i64toi32_i32$1 = $14 + $17 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $77; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + $22 = $9 + 32 | 0; + i64toi32_i32$2 = HEAP32[($8 + 20 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $86 = i64toi32_i32$0; + i64toi32_i32$0 = $22; + HEAP32[i64toi32_i32$0 >> 2] = $86; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $25 = 8; + i64toi32_i32$2 = i64toi32_i32$2 + $25 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $96 = i64toi32_i32$1; + i64toi32_i32$1 = $22 + $25 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $96; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + return $9 | 0; + } + + function btDbvtAabbMm__btDbvtAabbMm_28_29($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + btVector3__btVector3_28_29($4 | 0) | 0; + btVector3__btVector3_28_29($4 + 16 | 0 | 0) | 0; + __stack_pointer = $3 + 16 | 0; + return $4 | 0; + } + + function btDbvt__ICollide__ICollide_28_29($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + HEAP32[$4 >> 2] = 90364 + 8 | 0; + return $4 | 0; + } + + function btAlignedObjectArray_btDbvtNode_20const____resize_28int_2c_20btDbvtNode_20const__20const__29($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $5 = 0, $6 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5 = __stack_pointer - 32 | 0; + __stack_pointer = $5; + HEAP32[($5 + 28 | 0) >> 2] = $0; + HEAP32[($5 + 24 | 0) >> 2] = $1; + HEAP32[($5 + 20 | 0) >> 2] = $2; + $6 = HEAP32[($5 + 28 | 0) >> 2] | 0; + (wasm2js_i32$0 = $5, wasm2js_i32$1 = btAlignedObjectArray_btDbvtNode_20const____size_28_29_20const($6 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + label$2 : { + if (!((HEAP32[($5 + 24 | 0) >> 2] | 0 | 0) < (HEAP32[($5 + 16 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($5 + 12 | 0) >> 2] = HEAP32[($5 + 24 | 0) >> 2] | 0; + label$3 : { + label$4 : while (1) { + if (!((HEAP32[($5 + 12 | 0) >> 2] | 0 | 0) < (HEAP32[($5 + 16 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$3 + } + HEAP32[($5 + 12 | 0) >> 2] = (HEAP32[($5 + 12 | 0) >> 2] | 0) + 1 | 0; + continue label$4; + }; + } + break label$1; + } + label$5 : { + if (!((HEAP32[($5 + 24 | 0) >> 2] | 0 | 0) > (HEAP32[($5 + 16 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$5 + } + btAlignedObjectArray_btDbvtNode_20const____reserve_28int_29($6 | 0, HEAP32[($5 + 24 | 0) >> 2] | 0 | 0); + } + HEAP32[($5 + 8 | 0) >> 2] = HEAP32[($5 + 16 | 0) >> 2] | 0; + label$6 : { + label$7 : while (1) { + if (!((HEAP32[($5 + 8 | 0) >> 2] | 0 | 0) < (HEAP32[($5 + 24 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$6 + } + HEAP32[((HEAP32[($6 + 12 | 0) >> 2] | 0) + ((HEAP32[($5 + 8 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = HEAP32[(HEAP32[($5 + 20 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($5 + 8 | 0) >> 2] = (HEAP32[($5 + 8 | 0) >> 2] | 0) + 1 | 0; + continue label$7; + }; + } + } + HEAP32[($6 + 4 | 0) >> 2] = HEAP32[($5 + 24 | 0) >> 2] | 0; + __stack_pointer = $5 + 32 | 0; + return; + } + + function btAlignedObjectArray_btDbvtNode_20const____initializeFromBuffer_28void__2c_20int_2c_20int_29($0, $1, $2, $3) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + var $6 = 0, $7 = 0; + $6 = __stack_pointer - 16 | 0; + __stack_pointer = $6; + HEAP32[($6 + 12 | 0) >> 2] = $0; + HEAP32[($6 + 8 | 0) >> 2] = $1; + HEAP32[($6 + 4 | 0) >> 2] = $2; + HEAP32[$6 >> 2] = $3; + $7 = HEAP32[($6 + 12 | 0) >> 2] | 0; + btAlignedObjectArray_btDbvtNode_20const____clear_28_29($7 | 0); + HEAP8[($7 + 16 | 0) >> 0] = 0; + HEAP32[($7 + 12 | 0) >> 2] = HEAP32[($6 + 8 | 0) >> 2] | 0; + HEAP32[($7 + 4 | 0) >> 2] = HEAP32[($6 + 4 | 0) >> 2] | 0; + HEAP32[($7 + 8 | 0) >> 2] = HEAP32[$6 >> 2] | 0; + __stack_pointer = $6 + 16 | 0; + return; + } + + function btAlignedObjectArray_btDbvtNode_20const____push_back_28btDbvtNode_20const__20const__29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $5 = 0, $4 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; + (wasm2js_i32$0 = $4, wasm2js_i32$1 = btAlignedObjectArray_btDbvtNode_20const____size_28_29_20const($5 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + if (!((HEAP32[($4 + 4 | 0) >> 2] | 0 | 0) == (btAlignedObjectArray_btDbvtNode_20const____capacity_28_29_20const($5 | 0) | 0 | 0) & 1 | 0)) { + break label$1 + } + btAlignedObjectArray_btDbvtNode_20const____reserve_28int_29($5 | 0, btAlignedObjectArray_btDbvtNode_20const____allocSize_28int_29($5 | 0, btAlignedObjectArray_btDbvtNode_20const____size_28_29_20const($5 | 0) | 0 | 0) | 0 | 0); + } + HEAP32[((HEAP32[($5 + 12 | 0) >> 2] | 0) + ((HEAP32[($5 + 4 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = HEAP32[(HEAP32[($4 + 8 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($5 + 4 | 0) >> 2] = (HEAP32[($5 + 4 | 0) >> 2] | 0) + 1 | 0; + __stack_pointer = $4 + 16 | 0; + return; + } + + function btAlignedObjectArray_btDbvtNode_20const____size_28_29_20const($0) { + $0 = $0 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + return HEAP32[((HEAP32[($3 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0; + } + + function btAlignedObjectArray_btDbvtNode_20const____operator_5b_5d_28int_29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, $5 = 0, $32 = 0; + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; + label$1 : { + if ((HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0) { + break label$1 + } + __assert_fail(85840 | 0, 78192 | 0, 183 | 0, 83901 | 0); + wasm2js_trap(); + } + label$2 : { + if ((HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) < (btAlignedObjectArray_btDbvtNode_20const____size_28_29_20const($5 | 0) | 0 | 0) & 1 | 0) { + break label$2 + } + __assert_fail(87321 | 0, 78192 | 0, 184 | 0, 83901 | 0); + wasm2js_trap(); + } + $32 = (HEAP32[($5 + 12 | 0) >> 2] | 0) + ((HEAP32[($4 + 8 | 0) >> 2] | 0) << 2 | 0) | 0; + __stack_pointer = $4 + 16 | 0; + return $32 | 0; + } + + function btAlignedObjectArray_btDbvtNode_20const____pop_back_28_29($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + label$1 : { + if ((HEAP32[($4 + 4 | 0) >> 2] | 0 | 0) > (0 | 0) & 1 | 0) { + break label$1 + } + __assert_fail(85800 | 0, 78192 | 0, 201 | 0, 77711 | 0); + wasm2js_trap(); + } + HEAP32[($4 + 4 | 0) >> 2] = (HEAP32[($4 + 4 | 0) >> 2] | 0) + -1 | 0; + __stack_pointer = $3 + 16 | 0; + return; + } + + function Intersect_28btDbvtAabbMm_20const__2c_20btDbvtAabbMm_20const__29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, $17 = 0; + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + $17 = 0; + label$1 : { + if (!(Math_fround(HEAPF32[(btVector3__x_28_29_20const(HEAP32[($4 + 12 | 0) >> 2] | 0 | 0) | 0) >> 2]) <= Math_fround(HEAPF32[(btVector3__x_28_29_20const((HEAP32[($4 + 8 | 0) >> 2] | 0) + 16 | 0 | 0) | 0) >> 2]) & 1 | 0)) { + break label$1 + } + $17 = 0; + if (!(Math_fround(HEAPF32[(btVector3__x_28_29_20const((HEAP32[($4 + 12 | 0) >> 2] | 0) + 16 | 0 | 0) | 0) >> 2]) >= Math_fround(HEAPF32[(btVector3__x_28_29_20const(HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) | 0) >> 2]) & 1 | 0)) { + break label$1 + } + $17 = 0; + if (!(Math_fround(HEAPF32[(btVector3__y_28_29_20const(HEAP32[($4 + 12 | 0) >> 2] | 0 | 0) | 0) >> 2]) <= Math_fround(HEAPF32[(btVector3__y_28_29_20const((HEAP32[($4 + 8 | 0) >> 2] | 0) + 16 | 0 | 0) | 0) >> 2]) & 1 | 0)) { + break label$1 + } + $17 = 0; + if (!(Math_fround(HEAPF32[(btVector3__y_28_29_20const((HEAP32[($4 + 12 | 0) >> 2] | 0) + 16 | 0 | 0) | 0) >> 2]) >= Math_fround(HEAPF32[(btVector3__y_28_29_20const(HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) | 0) >> 2]) & 1 | 0)) { + break label$1 + } + $17 = 0; + if (!(Math_fround(HEAPF32[(btVector3__z_28_29_20const(HEAP32[($4 + 12 | 0) >> 2] | 0 | 0) | 0) >> 2]) <= Math_fround(HEAPF32[(btVector3__z_28_29_20const((HEAP32[($4 + 8 | 0) >> 2] | 0) + 16 | 0 | 0) | 0) >> 2]) & 1 | 0)) { + break label$1 + } + $17 = Math_fround(HEAPF32[(btVector3__z_28_29_20const((HEAP32[($4 + 12 | 0) >> 2] | 0) + 16 | 0 | 0) | 0) >> 2]) >= Math_fround(HEAPF32[(btVector3__z_28_29_20const(HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) | 0) >> 2]); + } + __stack_pointer = $4 + 16 | 0; + return $17 & 1 | 0 | 0; + } + + function btDbvtNode__isinternal_28_29_20const($0) { + $0 = $0 | 0; + var $3 = 0, $9 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $9 = ((btDbvtNode__isleaf_28_29_20const(HEAP32[($3 + 12 | 0) >> 2] | 0 | 0) | 0) ^ -1 | 0) & 1 | 0; + __stack_pointer = $3 + 16 | 0; + return $9 | 0; + } + + function btDbvt__ICollide___ICollide_28_29($0) { + $0 = $0 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + return HEAP32[($3 + 12 | 0) >> 2] | 0 | 0; + } + + function btDbvtBroadphase__destroyProxy_28btBroadphaseProxy__2c_20btDispatcher__29($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $5 = 0, $6 = 0, $34 = 0; + $5 = __stack_pointer - 16 | 0; + __stack_pointer = $5; + HEAP32[($5 + 12 | 0) >> 2] = $0; + HEAP32[($5 + 8 | 0) >> 2] = $1; + HEAP32[($5 + 4 | 0) >> 2] = $2; + $6 = HEAP32[($5 + 12 | 0) >> 2] | 0; + HEAP32[$5 >> 2] = HEAP32[($5 + 8 | 0) >> 2] | 0; + label$1 : { + label$2 : { + if (!((HEAP32[((HEAP32[$5 >> 2] | 0) + 60 | 0) >> 2] | 0 | 0) == (2 | 0) & 1 | 0)) { + break label$2 + } + btDbvt__remove_28btDbvtNode__29(($6 + 4 | 0) + 40 | 0 | 0, HEAP32[((HEAP32[$5 >> 2] | 0) + 48 | 0) >> 2] | 0 | 0); + break label$1; + } + btDbvt__remove_28btDbvtNode__29($6 + 4 | 0 | 0, HEAP32[((HEAP32[$5 >> 2] | 0) + 48 | 0) >> 2] | 0 | 0); + } + void_20listremove_btDbvtProxy__28btDbvtProxy__2c_20btDbvtProxy___29(HEAP32[$5 >> 2] | 0 | 0, ($6 + 84 | 0) + ((HEAP32[((HEAP32[$5 >> 2] | 0) + 60 | 0) >> 2] | 0) << 2 | 0) | 0 | 0); + $34 = HEAP32[($6 + 96 | 0) >> 2] | 0; + FUNCTION_TABLE[HEAP32[((HEAP32[$34 >> 2] | 0) + 16 | 0) >> 2] | 0 | 0]($34, HEAP32[$5 >> 2] | 0, HEAP32[($5 + 4 | 0) >> 2] | 0); + btAlignedFreeInternal_28void__29(HEAP32[$5 >> 2] | 0 | 0); + HEAP8[($6 + 154 | 0) >> 0] = 1; + __stack_pointer = $5 + 16 | 0; + return; + } + + function void_20listremove_btDbvtProxy__28btDbvtProxy__2c_20btDbvtProxy___29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0; + $4 = __stack_pointer - 16 | 0; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + label$1 : { + label$2 : { + if (!((HEAP32[((HEAP32[($4 + 12 | 0) >> 2] | 0) + 52 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[((HEAP32[((HEAP32[($4 + 12 | 0) >> 2] | 0) + 52 | 0) >> 2] | 0) + 56 | 0) >> 2] = HEAP32[((HEAP32[($4 + 12 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0; + break label$1; + } + HEAP32[(HEAP32[($4 + 8 | 0) >> 2] | 0) >> 2] = HEAP32[((HEAP32[($4 + 12 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0; + } + label$3 : { + if (!((HEAP32[((HEAP32[($4 + 12 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$3 + } + HEAP32[((HEAP32[((HEAP32[($4 + 12 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0) + 52 | 0) >> 2] = HEAP32[((HEAP32[($4 + 12 | 0) >> 2] | 0) + 52 | 0) >> 2] | 0; + } + return; + } + + function btDbvtBroadphase__getAabb_28btBroadphaseProxy__2c_20btVector3__2c_20btVector3__29_20const($0, $1, $2, $3) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + var i64toi32_i32$2 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $6 = 0, $11 = 0, $13 = 0, $20 = 0, $22 = 0, $52 = 0, $62 = 0, $73 = 0, $83 = 0; + $6 = __stack_pointer - 32 | 0; + HEAP32[($6 + 28 | 0) >> 2] = $0; + HEAP32[($6 + 24 | 0) >> 2] = $1; + HEAP32[($6 + 20 | 0) >> 2] = $2; + HEAP32[($6 + 16 | 0) >> 2] = $3; + HEAP32[($6 + 12 | 0) >> 2] = HEAP32[($6 + 24 | 0) >> 2] | 0; + $11 = HEAP32[($6 + 20 | 0) >> 2] | 0; + i64toi32_i32$2 = (HEAP32[($6 + 12 | 0) >> 2] | 0) + 16 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $52 = i64toi32_i32$0; + i64toi32_i32$0 = $11; + HEAP32[i64toi32_i32$0 >> 2] = $52; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $13 = 8; + i64toi32_i32$2 = i64toi32_i32$2 + $13 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $62 = i64toi32_i32$1; + i64toi32_i32$1 = $11 + $13 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $62; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + $20 = HEAP32[($6 + 16 | 0) >> 2] | 0; + i64toi32_i32$2 = (HEAP32[($6 + 12 | 0) >> 2] | 0) + 32 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $73 = i64toi32_i32$0; + i64toi32_i32$0 = $20; + HEAP32[i64toi32_i32$0 >> 2] = $73; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $22 = 8; + i64toi32_i32$2 = i64toi32_i32$2 + $22 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $83 = i64toi32_i32$1; + i64toi32_i32$1 = $20 + $22 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $83; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + return; + } + + function btDbvtBroadphase__rayTest_28btVector3_20const__2c_20btVector3_20const__2c_20btBroadphaseRayCallback__2c_20btVector3_20const__2c_20btVector3_20const__29($0, $1, $2, $3, $4, $5) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + $4 = $4 | 0; + $5 = $5 | 0; + var $8 = 0, $9 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $8 = __stack_pointer - 48 | 0; + __stack_pointer = $8; + HEAP32[($8 + 44 | 0) >> 2] = $0; + HEAP32[($8 + 40 | 0) >> 2] = $1; + HEAP32[($8 + 36 | 0) >> 2] = $2; + HEAP32[($8 + 32 | 0) >> 2] = $3; + HEAP32[($8 + 28 | 0) >> 2] = $4; + HEAP32[($8 + 24 | 0) >> 2] = $5; + $9 = HEAP32[($8 + 44 | 0) >> 2] | 0; + BroadphaseRayTester__BroadphaseRayTester_28btBroadphaseRayCallback__29($8 + 16 | 0 | 0, HEAP32[($8 + 32 | 0) >> 2] | 0 | 0) | 0; + (wasm2js_i32$0 = $8, wasm2js_i32$1 = btAlignedObjectArray_btAlignedObjectArray_btDbvtNode_20const_____operator_5b_5d_28int_29($9 + 156 | 0 | 0, 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + btDbvt__rayTestInternal_28btDbvtNode_20const__2c_20btVector3_20const__2c_20btVector3_20const__2c_20btVector3_20const__2c_20unsigned_20int__2c_20float_2c_20btVector3_20const__2c_20btVector3_20const__2c_20btAlignedObjectArray_btDbvtNode_20const____2c_20btDbvt__ICollide__29_20const($9 + 4 | 0 | 0, HEAP32[($9 + 4 | 0) >> 2] | 0 | 0, HEAP32[($8 + 40 | 0) >> 2] | 0 | 0, HEAP32[($8 + 36 | 0) >> 2] | 0 | 0, (HEAP32[($8 + 32 | 0) >> 2] | 0) + 4 | 0 | 0, (HEAP32[($8 + 32 | 0) >> 2] | 0) + 20 | 0 | 0, Math_fround(Math_fround(HEAPF32[((HEAP32[($8 + 32 | 0) >> 2] | 0) + 32 | 0) >> 2])), HEAP32[($8 + 28 | 0) >> 2] | 0 | 0, HEAP32[($8 + 24 | 0) >> 2] | 0 | 0, HEAP32[($8 + 12 | 0) >> 2] | 0 | 0, $8 + 16 | 0 | 0); + btDbvt__rayTestInternal_28btDbvtNode_20const__2c_20btVector3_20const__2c_20btVector3_20const__2c_20btVector3_20const__2c_20unsigned_20int__2c_20float_2c_20btVector3_20const__2c_20btVector3_20const__2c_20btAlignedObjectArray_btDbvtNode_20const____2c_20btDbvt__ICollide__29_20const(($9 + 4 | 0) + 40 | 0 | 0, HEAP32[($9 + 44 | 0) >> 2] | 0 | 0, HEAP32[($8 + 40 | 0) >> 2] | 0 | 0, HEAP32[($8 + 36 | 0) >> 2] | 0 | 0, (HEAP32[($8 + 32 | 0) >> 2] | 0) + 4 | 0 | 0, (HEAP32[($8 + 32 | 0) >> 2] | 0) + 20 | 0 | 0, Math_fround(Math_fround(HEAPF32[((HEAP32[($8 + 32 | 0) >> 2] | 0) + 32 | 0) >> 2])), HEAP32[($8 + 28 | 0) >> 2] | 0 | 0, HEAP32[($8 + 24 | 0) >> 2] | 0 | 0, HEAP32[($8 + 12 | 0) >> 2] | 0 | 0, $8 + 16 | 0 | 0); + BroadphaseRayTester___BroadphaseRayTester_28_29($8 + 16 | 0 | 0) | 0; + __stack_pointer = $8 + 48 | 0; + return; + } + + function BroadphaseRayTester__BroadphaseRayTester_28btBroadphaseRayCallback__29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, $5 = 0; + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; + btDbvt__ICollide__ICollide_28_29($5 | 0) | 0; + HEAP32[$5 >> 2] = 90400 + 8 | 0; + HEAP32[($5 + 4 | 0) >> 2] = HEAP32[($4 + 8 | 0) >> 2] | 0; + __stack_pointer = $4 + 16 | 0; + return $5 | 0; + } + + function btAlignedObjectArray_btAlignedObjectArray_btDbvtNode_20const_____operator_5b_5d_28int_29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, $5 = 0, $32 = 0; + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; + label$1 : { + if ((HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0) { + break label$1 + } + __assert_fail(85840 | 0, 78192 | 0, 183 | 0, 83901 | 0); + wasm2js_trap(); + } + label$2 : { + if ((HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) < (btAlignedObjectArray_btAlignedObjectArray_btDbvtNode_20const_____size_28_29_20const($5 | 0) | 0 | 0) & 1 | 0) { + break label$2 + } + __assert_fail(87321 | 0, 78192 | 0, 184 | 0, 83901 | 0); + wasm2js_trap(); + } + $32 = (HEAP32[($5 + 12 | 0) >> 2] | 0) + Math_imul(HEAP32[($4 + 8 | 0) >> 2] | 0, 20) | 0; + __stack_pointer = $4 + 16 | 0; + return $32 | 0; + } + + function btDbvt__rayTestInternal_28btDbvtNode_20const__2c_20btVector3_20const__2c_20btVector3_20const__2c_20btVector3_20const__2c_20unsigned_20int__2c_20float_2c_20btVector3_20const__2c_20btVector3_20const__2c_20btAlignedObjectArray_btDbvtNode_20const____2c_20btDbvt__ICollide__29_20const($0, $1, $2, $3, $4, $5, $6, $7, $8, $9, $10) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + $4 = $4 | 0; + $5 = $5 | 0; + $6 = Math_fround($6); + $7 = $7 | 0; + $8 = $8 | 0; + $9 = $9 | 0; + $10 = $10 | 0; + var $13 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, $38 = 0, $41 = 0, $42 = 0, $44 = 0, $53 = 0, $64 = 0, $66 = 0, $82 = 0, $84 = 0, $136 = 0, $143 = 0, $147 = 0, $26 = 0, $32 = 0, $40 = 0, $50 = 0, $284 = 0, $297 = 0, $321 = 0, $334 = 0, $120 = 0, $124 = 0, $134 = 0, $135 = 0, $141 = 0, $142 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $13 = __stack_pointer - 176 | 0; + __stack_pointer = $13; + HEAP32[($13 + 172 | 0) >> 2] = $0; + HEAP32[($13 + 168 | 0) >> 2] = $1; + HEAP32[($13 + 164 | 0) >> 2] = $2; + HEAP32[($13 + 160 | 0) >> 2] = $3; + HEAP32[($13 + 156 | 0) >> 2] = $4; + HEAP32[($13 + 152 | 0) >> 2] = $5; + HEAPF32[($13 + 148 | 0) >> 2] = $6; + HEAP32[($13 + 144 | 0) >> 2] = $7; + HEAP32[($13 + 140 | 0) >> 2] = $8; + HEAP32[($13 + 136 | 0) >> 2] = $9; + HEAP32[($13 + 132 | 0) >> 2] = $10; + label$1 : { + if (!((HEAP32[($13 + 168 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + btVector3__btVector3_28_29($13 + 116 | 0 | 0) | 0; + HEAP32[($13 + 112 | 0) >> 2] = 1; + HEAP32[($13 + 108 | 0) >> 2] = 126; + $26 = HEAP32[($13 + 136 | 0) >> 2] | 0; + HEAP32[($13 + 104 | 0) >> 2] = 0; + btAlignedObjectArray_btDbvtNode_20const____resize_28int_2c_20btDbvtNode_20const__20const__29($26 | 0, 128 | 0, $13 + 104 | 0 | 0); + $32 = HEAP32[($13 + 168 | 0) >> 2] | 0; + (wasm2js_i32$0 = btAlignedObjectArray_btDbvtNode_20const____operator_5b_5d_28int_29(HEAP32[($13 + 136 | 0) >> 2] | 0 | 0, 0 | 0) | 0, wasm2js_i32$1 = $32), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + $38 = $13 + 64 | 0; + $40 = $38 + 32 | 0; + $41 = $38; + label$2 : while (1) { + $42 = $41; + btVector3__btVector3_28_29($42 | 0) | 0; + $44 = $42 + 16 | 0; + $41 = $44; + if (!(($44 | 0) == ($40 | 0) & 1 | 0)) { + continue label$2 + } + break label$2; + }; + label$3 : while (1) { + $50 = HEAP32[($13 + 136 | 0) >> 2] | 0; + $53 = (HEAP32[($13 + 112 | 0) >> 2] | 0) + -1 | 0; + HEAP32[($13 + 112 | 0) >> 2] = $53; + (wasm2js_i32$0 = $13, wasm2js_i32$1 = HEAP32[(btAlignedObjectArray_btDbvtNode_20const____operator_5b_5d_28int_29($50 | 0, $53 | 0) | 0) >> 2] | 0), HEAP32[(wasm2js_i32$0 + 60 | 0) >> 2] = wasm2js_i32$1; + operator__28btVector3_20const__2c_20btVector3_20const__29($13 + 44 | 0 | 0, btDbvtAabbMm__Mins_28_29_20const(HEAP32[($13 + 60 | 0) >> 2] | 0 | 0) | 0 | 0, HEAP32[($13 + 140 | 0) >> 2] | 0 | 0); + $64 = $13 + 64 | 0; + i64toi32_i32$2 = $13; + i64toi32_i32$0 = HEAP32[($13 + 44 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($13 + 48 | 0) >> 2] | 0; + $284 = i64toi32_i32$0; + i64toi32_i32$0 = $64; + HEAP32[i64toi32_i32$0 >> 2] = $284; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $66 = 8; + i64toi32_i32$2 = ($13 + 44 | 0) + $66 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $297 = i64toi32_i32$1; + i64toi32_i32$1 = $64 + $66 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $297; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + operator__28btVector3_20const__2c_20btVector3_20const__29($13 + 28 | 0 | 0, btDbvtAabbMm__Maxs_28_29_20const(HEAP32[($13 + 60 | 0) >> 2] | 0 | 0) | 0 | 0, HEAP32[($13 + 144 | 0) >> 2] | 0 | 0); + $82 = ($13 + 64 | 0) + 16 | 0; + i64toi32_i32$2 = $13; + i64toi32_i32$0 = HEAP32[($13 + 28 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($13 + 32 | 0) >> 2] | 0; + $321 = i64toi32_i32$0; + i64toi32_i32$0 = $82; + HEAP32[i64toi32_i32$0 >> 2] = $321; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $84 = 8; + i64toi32_i32$2 = ($13 + 28 | 0) + $84 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $334 = i64toi32_i32$1; + i64toi32_i32$1 = $82 + $84 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $334; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + HEAPF32[($13 + 24 | 0) >> 2] = Math_fround(1.0); + HEAPF32[($13 + 20 | 0) >> 2] = Math_fround(0 | 0); + HEAP32[($13 + 16 | 0) >> 2] = 0; + (wasm2js_i32$0 = $13, wasm2js_i32$1 = (btRayAabb2_28btVector3_20const__2c_20btVector3_20const__2c_20unsigned_20int_20const__2c_20btVector3_20const__2c_20float__2c_20float_2c_20float_29(HEAP32[($13 + 164 | 0) >> 2] | 0 | 0, HEAP32[($13 + 156 | 0) >> 2] | 0 | 0, HEAP32[($13 + 152 | 0) >> 2] | 0 | 0, $13 + 64 | 0 | 0, $13 + 24 | 0 | 0, Math_fround(Math_fround(HEAPF32[($13 + 20 | 0) >> 2])), Math_fround(Math_fround(HEAPF32[($13 + 148 | 0) >> 2]))) | 0) & 1 | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + label$4 : { + if (!(HEAP32[($13 + 16 | 0) >> 2] | 0)) { + break label$4 + } + label$5 : { + label$6 : { + if (!((btDbvtNode__isinternal_28_29_20const(HEAP32[($13 + 60 | 0) >> 2] | 0 | 0) | 0) & 1 | 0)) { + break label$6 + } + label$7 : { + if (!((HEAP32[($13 + 112 | 0) >> 2] | 0 | 0) > (HEAP32[($13 + 108 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$7 + } + $120 = HEAP32[($13 + 136 | 0) >> 2] | 0; + $124 = (btAlignedObjectArray_btDbvtNode_20const____size_28_29_20const(HEAP32[($13 + 136 | 0) >> 2] | 0 | 0) | 0) << 1 | 0; + HEAP32[($13 + 12 | 0) >> 2] = 0; + btAlignedObjectArray_btDbvtNode_20const____resize_28int_2c_20btDbvtNode_20const__20const__29($120 | 0, $124 | 0, $13 + 12 | 0 | 0); + (wasm2js_i32$0 = $13, wasm2js_i32$1 = (btAlignedObjectArray_btDbvtNode_20const____size_28_29_20const(HEAP32[($13 + 136 | 0) >> 2] | 0 | 0) | 0) - 2 | 0), HEAP32[(wasm2js_i32$0 + 108 | 0) >> 2] = wasm2js_i32$1; + } + $134 = HEAP32[((HEAP32[($13 + 60 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0; + $135 = HEAP32[($13 + 136 | 0) >> 2] | 0; + $136 = HEAP32[($13 + 112 | 0) >> 2] | 0; + HEAP32[($13 + 112 | 0) >> 2] = $136 + 1 | 0; + (wasm2js_i32$0 = btAlignedObjectArray_btDbvtNode_20const____operator_5b_5d_28int_29($135 | 0, $136 | 0) | 0, wasm2js_i32$1 = $134), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + $141 = HEAP32[((HEAP32[($13 + 60 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0; + $142 = HEAP32[($13 + 136 | 0) >> 2] | 0; + $143 = HEAP32[($13 + 112 | 0) >> 2] | 0; + HEAP32[($13 + 112 | 0) >> 2] = $143 + 1 | 0; + (wasm2js_i32$0 = btAlignedObjectArray_btDbvtNode_20const____operator_5b_5d_28int_29($142 | 0, $143 | 0) | 0, wasm2js_i32$1 = $141), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + break label$5; + } + $147 = HEAP32[($13 + 132 | 0) >> 2] | 0; + FUNCTION_TABLE[HEAP32[((HEAP32[$147 >> 2] | 0) + 12 | 0) >> 2] | 0 | 0]($147, HEAP32[($13 + 60 | 0) >> 2] | 0); + } + } + if (HEAP32[($13 + 112 | 0) >> 2] | 0) { + continue label$3 + } + break label$3; + }; + } + __stack_pointer = $13 + 176 | 0; + return; + } + + function BroadphaseRayTester___BroadphaseRayTester_28_29($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + btDbvt__ICollide___ICollide_28_29($4 | 0) | 0; + __stack_pointer = $3 + 16 | 0; + return $4 | 0; + } + + function btDbvtAabbMm__Mins_28_29_20const($0) { + $0 = $0 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + return HEAP32[($3 + 12 | 0) >> 2] | 0 | 0; + } + + function btDbvtAabbMm__Maxs_28_29_20const($0) { + $0 = $0 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + return (HEAP32[($3 + 12 | 0) >> 2] | 0) + 16 | 0 | 0; + } + + function btRayAabb2_28btVector3_20const__2c_20btVector3_20const__2c_20unsigned_20int_20const__2c_20btVector3_20const__2c_20float__2c_20float_2c_20float_29($0, $1, $2, $3, $4, $5, $6) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + $4 = $4 | 0; + $5 = Math_fround($5); + $6 = Math_fround($6); + var $9 = 0, $176 = 0, $25 = Math_fround(0), $185 = 0, wasm2js_i32$0 = 0, wasm2js_f32$0 = Math_fround(0); + $9 = __stack_pointer - 64 | 0; + __stack_pointer = $9; + HEAP32[($9 + 56 | 0) >> 2] = $0; + HEAP32[($9 + 52 | 0) >> 2] = $1; + HEAP32[($9 + 48 | 0) >> 2] = $2; + HEAP32[($9 + 44 | 0) >> 2] = $3; + HEAP32[($9 + 40 | 0) >> 2] = $4; + HEAPF32[($9 + 36 | 0) >> 2] = $5; + HEAPF32[($9 + 32 | 0) >> 2] = $6; + $25 = Math_fround(Math_fround(Math_fround(HEAPF32[(btVector3__getX_28_29_20const((HEAP32[($9 + 44 | 0) >> 2] | 0) + ((HEAP32[(HEAP32[($9 + 48 | 0) >> 2] | 0) >> 2] | 0) << 4 | 0) | 0 | 0) | 0) >> 2]) - Math_fround(HEAPF32[(btVector3__getX_28_29_20const(HEAP32[($9 + 56 | 0) >> 2] | 0 | 0) | 0) >> 2])) * Math_fround(HEAPF32[(btVector3__getX_28_29_20const(HEAP32[($9 + 52 | 0) >> 2] | 0 | 0) | 0) >> 2])); + HEAPF32[(HEAP32[($9 + 40 | 0) >> 2] | 0) >> 2] = $25; + (wasm2js_i32$0 = $9, wasm2js_f32$0 = Math_fround(Math_fround(Math_fround(HEAPF32[(btVector3__getX_28_29_20const((HEAP32[($9 + 44 | 0) >> 2] | 0) + ((1 - (HEAP32[(HEAP32[($9 + 48 | 0) >> 2] | 0) >> 2] | 0) | 0) << 4 | 0) | 0 | 0) | 0) >> 2]) - Math_fround(HEAPF32[(btVector3__getX_28_29_20const(HEAP32[($9 + 56 | 0) >> 2] | 0 | 0) | 0) >> 2])) * Math_fround(HEAPF32[(btVector3__getX_28_29_20const(HEAP32[($9 + 52 | 0) >> 2] | 0 | 0) | 0) >> 2]))), HEAPF32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_f32$0; + (wasm2js_i32$0 = $9, wasm2js_f32$0 = Math_fround(Math_fround(Math_fround(HEAPF32[(btVector3__getY_28_29_20const((HEAP32[($9 + 44 | 0) >> 2] | 0) + ((HEAP32[((HEAP32[($9 + 48 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) << 4 | 0) | 0 | 0) | 0) >> 2]) - Math_fround(HEAPF32[(btVector3__getY_28_29_20const(HEAP32[($9 + 56 | 0) >> 2] | 0 | 0) | 0) >> 2])) * Math_fround(HEAPF32[(btVector3__getY_28_29_20const(HEAP32[($9 + 52 | 0) >> 2] | 0 | 0) | 0) >> 2]))), HEAPF32[(wasm2js_i32$0 + 24 | 0) >> 2] = wasm2js_f32$0; + (wasm2js_i32$0 = $9, wasm2js_f32$0 = Math_fround(Math_fround(Math_fround(HEAPF32[(btVector3__getY_28_29_20const((HEAP32[($9 + 44 | 0) >> 2] | 0) + ((1 - (HEAP32[((HEAP32[($9 + 48 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) | 0) << 4 | 0) | 0 | 0) | 0) >> 2]) - Math_fround(HEAPF32[(btVector3__getY_28_29_20const(HEAP32[($9 + 56 | 0) >> 2] | 0 | 0) | 0) >> 2])) * Math_fround(HEAPF32[(btVector3__getY_28_29_20const(HEAP32[($9 + 52 | 0) >> 2] | 0 | 0) | 0) >> 2]))), HEAPF32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_f32$0; + label$1 : { + label$2 : { + label$3 : { + if (Math_fround(HEAPF32[(HEAP32[($9 + 40 | 0) >> 2] | 0) >> 2]) > Math_fround(HEAPF32[($9 + 20 | 0) >> 2]) & 1 | 0) { + break label$3 + } + if (!(Math_fround(HEAPF32[($9 + 24 | 0) >> 2]) > Math_fround(HEAPF32[($9 + 28 | 0) >> 2]) & 1 | 0)) { + break label$2 + } + } + HEAP8[($9 + 63 | 0) >> 0] = 0 & 1 | 0; + break label$1; + } + label$4 : { + if (!(Math_fround(HEAPF32[($9 + 24 | 0) >> 2]) > Math_fround(HEAPF32[(HEAP32[($9 + 40 | 0) >> 2] | 0) >> 2]) & 1 | 0)) { + break label$4 + } + HEAPF32[(HEAP32[($9 + 40 | 0) >> 2] | 0) >> 2] = Math_fround(HEAPF32[($9 + 24 | 0) >> 2]); + } + label$5 : { + if (!(Math_fround(HEAPF32[($9 + 20 | 0) >> 2]) < Math_fround(HEAPF32[($9 + 28 | 0) >> 2]) & 1 | 0)) { + break label$5 + } + HEAPF32[($9 + 28 | 0) >> 2] = Math_fround(HEAPF32[($9 + 20 | 0) >> 2]); + } + (wasm2js_i32$0 = $9, wasm2js_f32$0 = Math_fround(Math_fround(Math_fround(HEAPF32[(btVector3__getZ_28_29_20const((HEAP32[($9 + 44 | 0) >> 2] | 0) + ((HEAP32[((HEAP32[($9 + 48 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) << 4 | 0) | 0 | 0) | 0) >> 2]) - Math_fround(HEAPF32[(btVector3__getZ_28_29_20const(HEAP32[($9 + 56 | 0) >> 2] | 0 | 0) | 0) >> 2])) * Math_fround(HEAPF32[(btVector3__getZ_28_29_20const(HEAP32[($9 + 52 | 0) >> 2] | 0 | 0) | 0) >> 2]))), HEAPF32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_f32$0; + (wasm2js_i32$0 = $9, wasm2js_f32$0 = Math_fround(Math_fround(Math_fround(HEAPF32[(btVector3__getZ_28_29_20const((HEAP32[($9 + 44 | 0) >> 2] | 0) + ((1 - (HEAP32[((HEAP32[($9 + 48 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) | 0) << 4 | 0) | 0 | 0) | 0) >> 2]) - Math_fround(HEAPF32[(btVector3__getZ_28_29_20const(HEAP32[($9 + 56 | 0) >> 2] | 0 | 0) | 0) >> 2])) * Math_fround(HEAPF32[(btVector3__getZ_28_29_20const(HEAP32[($9 + 52 | 0) >> 2] | 0 | 0) | 0) >> 2]))), HEAPF32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_f32$0; + label$6 : { + label$7 : { + if (Math_fround(HEAPF32[(HEAP32[($9 + 40 | 0) >> 2] | 0) >> 2]) > Math_fround(HEAPF32[($9 + 12 | 0) >> 2]) & 1 | 0) { + break label$7 + } + if (!(Math_fround(HEAPF32[($9 + 16 | 0) >> 2]) > Math_fround(HEAPF32[($9 + 28 | 0) >> 2]) & 1 | 0)) { + break label$6 + } + } + HEAP8[($9 + 63 | 0) >> 0] = 0 & 1 | 0; + break label$1; + } + label$8 : { + if (!(Math_fround(HEAPF32[($9 + 16 | 0) >> 2]) > Math_fround(HEAPF32[(HEAP32[($9 + 40 | 0) >> 2] | 0) >> 2]) & 1 | 0)) { + break label$8 + } + HEAPF32[(HEAP32[($9 + 40 | 0) >> 2] | 0) >> 2] = Math_fround(HEAPF32[($9 + 16 | 0) >> 2]); + } + label$9 : { + if (!(Math_fround(HEAPF32[($9 + 12 | 0) >> 2]) < Math_fround(HEAPF32[($9 + 28 | 0) >> 2]) & 1 | 0)) { + break label$9 + } + HEAPF32[($9 + 28 | 0) >> 2] = Math_fround(HEAPF32[($9 + 12 | 0) >> 2]); + } + $176 = 0; + label$10 : { + if (!(Math_fround(HEAPF32[(HEAP32[($9 + 40 | 0) >> 2] | 0) >> 2]) < Math_fround(HEAPF32[($9 + 32 | 0) >> 2]) & 1 | 0)) { + break label$10 + } + $176 = Math_fround(HEAPF32[($9 + 28 | 0) >> 2]) > Math_fround(HEAPF32[($9 + 36 | 0) >> 2]); + } + HEAP8[($9 + 63 | 0) >> 0] = $176 & 1 | 0; + } + $185 = (HEAPU8[($9 + 63 | 0) >> 0] | 0) & 1 | 0; + __stack_pointer = $9 + 64 | 0; + return $185 | 0; + } + + function btDbvtBroadphase__aabbTest_28btVector3_20const__2c_20btVector3_20const__2c_20btBroadphaseAabbCallback__29($0, $1, $2, $3) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + var $6 = 0, $7 = 0; + $6 = __stack_pointer - 64 | 0; + __stack_pointer = $6; + HEAP32[($6 + 60 | 0) >> 2] = $0; + HEAP32[($6 + 56 | 0) >> 2] = $1; + HEAP32[($6 + 52 | 0) >> 2] = $2; + HEAP32[($6 + 48 | 0) >> 2] = $3; + $7 = HEAP32[($6 + 60 | 0) >> 2] | 0; + BroadphaseAabbTester__BroadphaseAabbTester_28btBroadphaseAabbCallback__29($6 + 40 | 0 | 0, HEAP32[($6 + 48 | 0) >> 2] | 0 | 0) | 0; + btDbvtAabbMm__FromMM_28btVector3_20const__2c_20btVector3_20const__29($6 + 8 | 0 | 0, HEAP32[($6 + 56 | 0) >> 2] | 0 | 0, HEAP32[($6 + 52 | 0) >> 2] | 0 | 0); + btDbvt__collideTV_28btDbvtNode_20const__2c_20btDbvtAabbMm_20const__2c_20btDbvt__ICollide__29_20const($7 + 4 | 0 | 0, HEAP32[($7 + 4 | 0) >> 2] | 0 | 0, $6 + 8 | 0 | 0, $6 + 40 | 0 | 0); + btDbvt__collideTV_28btDbvtNode_20const__2c_20btDbvtAabbMm_20const__2c_20btDbvt__ICollide__29_20const(($7 + 4 | 0) + 40 | 0 | 0, HEAP32[($7 + 44 | 0) >> 2] | 0 | 0, $6 + 8 | 0 | 0, $6 + 40 | 0 | 0); + BroadphaseAabbTester___BroadphaseAabbTester_28_29($6 + 40 | 0 | 0) | 0; + __stack_pointer = $6 + 64 | 0; + return; + } + + function BroadphaseAabbTester__BroadphaseAabbTester_28btBroadphaseAabbCallback__29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, $5 = 0; + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; + btDbvt__ICollide__ICollide_28_29($5 | 0) | 0; + HEAP32[$5 >> 2] = 90472 + 8 | 0; + HEAP32[($5 + 4 | 0) >> 2] = HEAP32[($4 + 8 | 0) >> 2] | 0; + __stack_pointer = $4 + 16 | 0; + return $5 | 0; + } + + function BroadphaseAabbTester___BroadphaseAabbTester_28_29($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + btDbvt__ICollide___ICollide_28_29($4 | 0) | 0; + __stack_pointer = $3 + 16 | 0; + return $4 | 0; + } + + function btDbvtBroadphase__setAabb_28btBroadphaseProxy__2c_20btVector3_20const__2c_20btVector3_20const__2c_20btDispatcher__29($0, $1, $2, $3, $4) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + $4 = $4 | 0; + var $7 = 0, $8 = 0, i64toi32_i32$2 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $184 = 0, $186 = 0, $193 = 0, $195 = 0, $36 = 0, $99 = Math_fround(0), $119 = Math_fround(0), $139 = Math_fround(0), $598 = 0, $608 = 0, $619 = 0, $629 = 0, wasm2js_i32$0 = 0, wasm2js_f32$0 = Math_fround(0); + $7 = __stack_pointer - 144 | 0; + __stack_pointer = $7; + HEAP32[($7 + 140 | 0) >> 2] = $0; + HEAP32[($7 + 136 | 0) >> 2] = $1; + HEAP32[($7 + 132 | 0) >> 2] = $2; + HEAP32[($7 + 128 | 0) >> 2] = $3; + HEAP32[($7 + 124 | 0) >> 2] = $4; + $8 = HEAP32[($7 + 140 | 0) >> 2] | 0; + HEAP32[($7 + 120 | 0) >> 2] = HEAP32[($7 + 136 | 0) >> 2] | 0; + btDbvtAabbMm__FromMM_28btVector3_20const__2c_20btVector3_20const__29($7 + 88 | 0 | 0, HEAP32[($7 + 132 | 0) >> 2] | 0 | 0, HEAP32[($7 + 128 | 0) >> 2] | 0 | 0); + HEAP8[($7 + 87 | 0) >> 0] = 0; + label$1 : { + label$2 : { + if (!((HEAP32[((HEAP32[($7 + 120 | 0) >> 2] | 0) + 60 | 0) >> 2] | 0 | 0) == (2 | 0) & 1 | 0)) { + break label$2 + } + btDbvt__remove_28btDbvtNode__29(($8 + 4 | 0) + 40 | 0 | 0, HEAP32[((HEAP32[($7 + 120 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0 | 0); + $36 = btDbvt__insert_28btDbvtAabbMm_20const__2c_20void__29($8 + 4 | 0 | 0, $7 + 88 | 0 | 0, HEAP32[($7 + 120 | 0) >> 2] | 0 | 0) | 0; + HEAP32[((HEAP32[($7 + 120 | 0) >> 2] | 0) + 48 | 0) >> 2] = $36; + HEAP8[($7 + 87 | 0) >> 0] = 1; + break label$1; + } + HEAP32[($8 + 128 | 0) >> 2] = (HEAP32[($8 + 128 | 0) >> 2] | 0) + 1 | 0; + label$3 : { + label$4 : { + if (!((Intersect_28btDbvtAabbMm_20const__2c_20btDbvtAabbMm_20const__29(HEAP32[((HEAP32[($7 + 120 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0 | 0, $7 + 88 | 0 | 0) | 0) & 1 | 0)) { + break label$4 + } + operator__28btVector3_20const__2c_20btVector3_20const__29($7 + 68 | 0 | 0, HEAP32[($7 + 132 | 0) >> 2] | 0 | 0, (HEAP32[($7 + 120 | 0) >> 2] | 0) + 16 | 0 | 0); + operator__28btVector3_20const__2c_20btVector3_20const__29($7 + 20 | 0 | 0, (HEAP32[($7 + 120 | 0) >> 2] | 0) + 32 | 0 | 0, (HEAP32[($7 + 120 | 0) >> 2] | 0) + 16 | 0 | 0); + HEAPF32[($7 + 16 | 0) >> 2] = Math_fround(2.0); + operator__28btVector3_20const__2c_20float_20const__29_1($7 + 36 | 0 | 0, $7 + 20 | 0 | 0, $7 + 16 | 0 | 0); + operator__28btVector3_20const__2c_20float_20const__29($7 + 52 | 0 | 0, $7 + 36 | 0 | 0, $8 + 100 | 0 | 0); + label$5 : { + if (!(Math_fround(HEAPF32[(btVector3__operator_20float_20const__28_29_20const($7 + 68 | 0 | 0) | 0) >> 2]) < Math_fround(0 | 0) & 1 | 0)) { + break label$5 + } + $99 = Math_fround(-Math_fround(HEAPF32[(btVector3__operator_20float__28_29($7 + 52 | 0 | 0) | 0) >> 2])); + (wasm2js_i32$0 = btVector3__operator_20float__28_29($7 + 52 | 0 | 0) | 0, wasm2js_f32$0 = $99), HEAPF32[wasm2js_i32$0 >> 2] = wasm2js_f32$0; + } + label$6 : { + if (!(Math_fround(HEAPF32[((btVector3__operator_20float_20const__28_29_20const($7 + 68 | 0 | 0) | 0) + 4 | 0) >> 2]) < Math_fround(0 | 0) & 1 | 0)) { + break label$6 + } + $119 = Math_fround(-Math_fround(HEAPF32[((btVector3__operator_20float__28_29($7 + 52 | 0 | 0) | 0) + 4 | 0) >> 2])); + (wasm2js_i32$0 = btVector3__operator_20float__28_29($7 + 52 | 0 | 0) | 0, wasm2js_f32$0 = $119), HEAPF32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_f32$0; + } + label$7 : { + if (!(Math_fround(HEAPF32[((btVector3__operator_20float_20const__28_29_20const($7 + 68 | 0 | 0) | 0) + 8 | 0) >> 2]) < Math_fround(0 | 0) & 1 | 0)) { + break label$7 + } + $139 = Math_fround(-Math_fround(HEAPF32[((btVector3__operator_20float__28_29($7 + 52 | 0 | 0) | 0) + 8 | 0) >> 2])); + (wasm2js_i32$0 = btVector3__operator_20float__28_29($7 + 52 | 0 | 0) | 0, wasm2js_f32$0 = $139), HEAPF32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_f32$0; + } + label$8 : { + if (!((btDbvt__update_28btDbvtNode__2c_20btDbvtAabbMm__2c_20btVector3_20const__2c_20float_29($8 + 4 | 0 | 0, HEAP32[((HEAP32[($7 + 120 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0 | 0, $7 + 88 | 0 | 0, $7 + 52 | 0 | 0, Math_fround(Math_fround(.05000000074505806))) | 0) & 1 | 0)) { + break label$8 + } + HEAP32[($8 + 132 | 0) >> 2] = (HEAP32[($8 + 132 | 0) >> 2] | 0) + 1 | 0; + HEAP8[($7 + 87 | 0) >> 0] = 1; + } + break label$3; + } + btDbvt__update_28btDbvtNode__2c_20btDbvtAabbMm__29($8 + 4 | 0 | 0, HEAP32[((HEAP32[($7 + 120 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0 | 0, $7 + 88 | 0 | 0); + HEAP32[($8 + 132 | 0) >> 2] = (HEAP32[($8 + 132 | 0) >> 2] | 0) + 1 | 0; + HEAP8[($7 + 87 | 0) >> 0] = 1; + } + } + void_20listremove_btDbvtProxy__28btDbvtProxy__2c_20btDbvtProxy___29(HEAP32[($7 + 120 | 0) >> 2] | 0 | 0, ($8 + 84 | 0) + ((HEAP32[((HEAP32[($7 + 120 | 0) >> 2] | 0) + 60 | 0) >> 2] | 0) << 2 | 0) | 0 | 0); + $184 = (HEAP32[($7 + 120 | 0) >> 2] | 0) + 16 | 0; + i64toi32_i32$2 = HEAP32[($7 + 132 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $598 = i64toi32_i32$0; + i64toi32_i32$0 = $184; + HEAP32[i64toi32_i32$0 >> 2] = $598; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $186 = 8; + i64toi32_i32$2 = i64toi32_i32$2 + $186 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $608 = i64toi32_i32$1; + i64toi32_i32$1 = $184 + $186 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $608; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + $193 = (HEAP32[($7 + 120 | 0) >> 2] | 0) + 32 | 0; + i64toi32_i32$2 = HEAP32[($7 + 128 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $619 = i64toi32_i32$0; + i64toi32_i32$0 = $193; + HEAP32[i64toi32_i32$0 >> 2] = $619; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $195 = 8; + i64toi32_i32$2 = i64toi32_i32$2 + $195 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $629 = i64toi32_i32$1; + i64toi32_i32$1 = $193 + $195 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $629; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + HEAP32[((HEAP32[($7 + 120 | 0) >> 2] | 0) + 60 | 0) >> 2] = HEAP32[($8 + 104 | 0) >> 2] | 0; + void_20listappend_btDbvtProxy__28btDbvtProxy__2c_20btDbvtProxy___29(HEAP32[($7 + 120 | 0) >> 2] | 0 | 0, ($8 + 84 | 0) + ((HEAP32[($8 + 104 | 0) >> 2] | 0) << 2 | 0) | 0 | 0); + label$9 : { + if (!((HEAPU8[($7 + 87 | 0) >> 0] | 0) & 1 | 0)) { + break label$9 + } + HEAP8[($8 + 154 | 0) >> 0] = 1; + label$10 : { + if ((HEAPU8[($8 + 153 | 0) >> 0] | 0) & 1 | 0) { + break label$10 + } + btDbvtTreeCollider__btDbvtTreeCollider_28btDbvtBroadphase__29($7 + 4 | 0 | 0, $8 | 0) | 0; + btDbvt__collideTTpersistentStack_28btDbvtNode_20const__2c_20btDbvtNode_20const__2c_20btDbvt__ICollide__29(($8 + 4 | 0) + 40 | 0 | 0, HEAP32[($8 + 44 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($7 + 120 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0 | 0, $7 + 4 | 0 | 0); + btDbvt__collideTTpersistentStack_28btDbvtNode_20const__2c_20btDbvtNode_20const__2c_20btDbvt__ICollide__29($8 + 4 | 0 | 0, HEAP32[($8 + 4 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($7 + 120 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0 | 0, $7 + 4 | 0 | 0); + btDbvtTreeCollider___btDbvtTreeCollider_28_29($7 + 4 | 0 | 0) | 0; + } + } + __stack_pointer = $7 + 144 | 0; + return; + } + + function operator__28btVector3_20const__2c_20float_20const__29_1($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $5 = 0, $6 = 0; + $5 = __stack_pointer - 16 | 0; + __stack_pointer = $5; + HEAP32[($5 + 12 | 0) >> 2] = $1; + HEAP32[($5 + 8 | 0) >> 2] = $2; + $6 = HEAP32[($5 + 12 | 0) >> 2] | 0; + HEAPF32[($5 + 4 | 0) >> 2] = Math_fround(Math_fround(1.0) / Math_fround(HEAPF32[(HEAP32[($5 + 8 | 0) >> 2] | 0) >> 2])); + operator__28btVector3_20const__2c_20float_20const__29($0 | 0, $6 | 0, $5 + 4 | 0 | 0); + __stack_pointer = $5 + 16 | 0; + return; + } + + function btDbvt__collideTTpersistentStack_28btDbvtNode_20const__2c_20btDbvtNode_20const__2c_20btDbvt__ICollide__29($0, $1, $2, $3) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + var $6 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $7 = 0, i64toi32_i32$2 = 0, $47 = 0, $95 = 0, $109 = 0, $123 = 0, $150 = 0, $164 = 0, $178 = 0, $192 = 0, $205 = 0, $218 = 0, $235 = 0, $246 = 0, $251 = 0, $41 = 0, $339 = 0, $356 = 0, $63 = 0, $98 = 0, $460 = 0, $112 = 0, $493 = 0, $126 = 0, $526 = 0, $153 = 0, $589 = 0, $167 = 0, $622 = 0, $181 = 0, $655 = 0, $195 = 0, $688 = 0, $208 = 0, $719 = 0, $221 = 0, $750 = 0, $238 = 0, $790 = 0, $249 = 0, $818 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $6 = __stack_pointer - 144 | 0; + __stack_pointer = $6; + HEAP32[($6 + 140 | 0) >> 2] = $0; + HEAP32[($6 + 136 | 0) >> 2] = $1; + HEAP32[($6 + 132 | 0) >> 2] = $2; + HEAP32[($6 + 128 | 0) >> 2] = $3; + $7 = HEAP32[($6 + 140 | 0) >> 2] | 0; + label$1 : { + if (!((HEAP32[($6 + 136 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + if (!((HEAP32[($6 + 132 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + HEAP32[($6 + 124 | 0) >> 2] = 1; + HEAP32[($6 + 120 | 0) >> 2] = 124; + btDbvt__sStkNN__sStkNN_28_29($6 + 112 | 0 | 0) | 0; + btAlignedObjectArray_btDbvt__sStkNN___resize_28int_2c_20btDbvt__sStkNN_20const__29($7 + 20 | 0 | 0, 128 | 0, $6 + 112 | 0 | 0); + btDbvt__sStkNN__sStkNN_28btDbvtNode_20const__2c_20btDbvtNode_20const__29($6 + 104 | 0 | 0, HEAP32[($6 + 136 | 0) >> 2] | 0 | 0, HEAP32[($6 + 132 | 0) >> 2] | 0 | 0) | 0; + $41 = btAlignedObjectArray_btDbvt__sStkNN___operator_5b_5d_28int_29($7 + 20 | 0 | 0, 0 | 0) | 0; + i64toi32_i32$2 = $6; + i64toi32_i32$0 = HEAP32[($6 + 104 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($6 + 108 | 0) >> 2] | 0; + $339 = i64toi32_i32$0; + i64toi32_i32$0 = $41; + HEAP32[i64toi32_i32$0 >> 2] = $339; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + label$2 : while (1) { + $47 = (HEAP32[($6 + 124 | 0) >> 2] | 0) + -1 | 0; + HEAP32[($6 + 124 | 0) >> 2] = $47; + i64toi32_i32$2 = btAlignedObjectArray_btDbvt__sStkNN___operator_5b_5d_28int_29($7 + 20 | 0 | 0, $47 | 0) | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $356 = i64toi32_i32$1; + i64toi32_i32$1 = $6; + HEAP32[($6 + 96 | 0) >> 2] = $356; + HEAP32[($6 + 100 | 0) >> 2] = i64toi32_i32$0; + label$3 : { + if (!((HEAP32[($6 + 124 | 0) >> 2] | 0 | 0) > (HEAP32[($6 + 120 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$3 + } + $63 = (btAlignedObjectArray_btDbvt__sStkNN___size_28_29_20const($7 + 20 | 0 | 0) | 0) << 1 | 0; + btDbvt__sStkNN__sStkNN_28_29($6 + 88 | 0 | 0) | 0; + btAlignedObjectArray_btDbvt__sStkNN___resize_28int_2c_20btDbvt__sStkNN_20const__29($7 + 20 | 0 | 0, $63 | 0, $6 + 88 | 0 | 0); + (wasm2js_i32$0 = $6, wasm2js_i32$1 = (btAlignedObjectArray_btDbvt__sStkNN___size_28_29_20const($7 + 20 | 0 | 0) | 0) - 4 | 0), HEAP32[(wasm2js_i32$0 + 120 | 0) >> 2] = wasm2js_i32$1; + } + label$4 : { + label$5 : { + if (!((HEAP32[($6 + 96 | 0) >> 2] | 0 | 0) == (HEAP32[($6 + 100 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$5 + } + label$6 : { + if (!((btDbvtNode__isinternal_28_29_20const(HEAP32[($6 + 96 | 0) >> 2] | 0 | 0) | 0) & 1 | 0)) { + break label$6 + } + btDbvt__sStkNN__sStkNN_28btDbvtNode_20const__2c_20btDbvtNode_20const__29($6 + 80 | 0 | 0, HEAP32[((HEAP32[($6 + 96 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($6 + 96 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0 | 0) | 0; + $95 = HEAP32[($6 + 124 | 0) >> 2] | 0; + HEAP32[($6 + 124 | 0) >> 2] = $95 + 1 | 0; + $98 = btAlignedObjectArray_btDbvt__sStkNN___operator_5b_5d_28int_29($7 + 20 | 0 | 0, $95 | 0) | 0; + i64toi32_i32$2 = $6; + i64toi32_i32$0 = HEAP32[($6 + 80 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($6 + 84 | 0) >> 2] | 0; + $460 = i64toi32_i32$0; + i64toi32_i32$0 = $98; + HEAP32[i64toi32_i32$0 >> 2] = $460; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + btDbvt__sStkNN__sStkNN_28btDbvtNode_20const__2c_20btDbvtNode_20const__29($6 + 72 | 0 | 0, HEAP32[((HEAP32[($6 + 96 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($6 + 96 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0 | 0) | 0; + $109 = HEAP32[($6 + 124 | 0) >> 2] | 0; + HEAP32[($6 + 124 | 0) >> 2] = $109 + 1 | 0; + $112 = btAlignedObjectArray_btDbvt__sStkNN___operator_5b_5d_28int_29($7 + 20 | 0 | 0, $109 | 0) | 0; + i64toi32_i32$2 = $6; + i64toi32_i32$1 = HEAP32[($6 + 72 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($6 + 76 | 0) >> 2] | 0; + $493 = i64toi32_i32$1; + i64toi32_i32$1 = $112; + HEAP32[i64toi32_i32$1 >> 2] = $493; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + btDbvt__sStkNN__sStkNN_28btDbvtNode_20const__2c_20btDbvtNode_20const__29($6 + 64 | 0 | 0, HEAP32[((HEAP32[($6 + 96 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($6 + 96 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0 | 0) | 0; + $123 = HEAP32[($6 + 124 | 0) >> 2] | 0; + HEAP32[($6 + 124 | 0) >> 2] = $123 + 1 | 0; + $126 = btAlignedObjectArray_btDbvt__sStkNN___operator_5b_5d_28int_29($7 + 20 | 0 | 0, $123 | 0) | 0; + i64toi32_i32$2 = $6; + i64toi32_i32$0 = HEAP32[($6 + 64 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($6 + 68 | 0) >> 2] | 0; + $526 = i64toi32_i32$0; + i64toi32_i32$0 = $126; + HEAP32[i64toi32_i32$0 >> 2] = $526; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + } + break label$4; + } + label$7 : { + if (!((Intersect_28btDbvtAabbMm_20const__2c_20btDbvtAabbMm_20const__29(HEAP32[($6 + 96 | 0) >> 2] | 0 | 0, HEAP32[($6 + 100 | 0) >> 2] | 0 | 0) | 0) & 1 | 0)) { + break label$7 + } + label$8 : { + label$9 : { + if (!((btDbvtNode__isinternal_28_29_20const(HEAP32[($6 + 96 | 0) >> 2] | 0 | 0) | 0) & 1 | 0)) { + break label$9 + } + label$10 : { + label$11 : { + if (!((btDbvtNode__isinternal_28_29_20const(HEAP32[($6 + 100 | 0) >> 2] | 0 | 0) | 0) & 1 | 0)) { + break label$11 + } + btDbvt__sStkNN__sStkNN_28btDbvtNode_20const__2c_20btDbvtNode_20const__29($6 + 56 | 0 | 0, HEAP32[((HEAP32[($6 + 96 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($6 + 100 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0 | 0) | 0; + $150 = HEAP32[($6 + 124 | 0) >> 2] | 0; + HEAP32[($6 + 124 | 0) >> 2] = $150 + 1 | 0; + $153 = btAlignedObjectArray_btDbvt__sStkNN___operator_5b_5d_28int_29($7 + 20 | 0 | 0, $150 | 0) | 0; + i64toi32_i32$2 = $6; + i64toi32_i32$1 = HEAP32[($6 + 56 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($6 + 60 | 0) >> 2] | 0; + $589 = i64toi32_i32$1; + i64toi32_i32$1 = $153; + HEAP32[i64toi32_i32$1 >> 2] = $589; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + btDbvt__sStkNN__sStkNN_28btDbvtNode_20const__2c_20btDbvtNode_20const__29($6 + 48 | 0 | 0, HEAP32[((HEAP32[($6 + 96 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($6 + 100 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0 | 0) | 0; + $164 = HEAP32[($6 + 124 | 0) >> 2] | 0; + HEAP32[($6 + 124 | 0) >> 2] = $164 + 1 | 0; + $167 = btAlignedObjectArray_btDbvt__sStkNN___operator_5b_5d_28int_29($7 + 20 | 0 | 0, $164 | 0) | 0; + i64toi32_i32$2 = $6; + i64toi32_i32$0 = HEAP32[($6 + 48 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($6 + 52 | 0) >> 2] | 0; + $622 = i64toi32_i32$0; + i64toi32_i32$0 = $167; + HEAP32[i64toi32_i32$0 >> 2] = $622; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + btDbvt__sStkNN__sStkNN_28btDbvtNode_20const__2c_20btDbvtNode_20const__29($6 + 40 | 0 | 0, HEAP32[((HEAP32[($6 + 96 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($6 + 100 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0 | 0) | 0; + $178 = HEAP32[($6 + 124 | 0) >> 2] | 0; + HEAP32[($6 + 124 | 0) >> 2] = $178 + 1 | 0; + $181 = btAlignedObjectArray_btDbvt__sStkNN___operator_5b_5d_28int_29($7 + 20 | 0 | 0, $178 | 0) | 0; + i64toi32_i32$2 = $6; + i64toi32_i32$1 = HEAP32[($6 + 40 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($6 + 44 | 0) >> 2] | 0; + $655 = i64toi32_i32$1; + i64toi32_i32$1 = $181; + HEAP32[i64toi32_i32$1 >> 2] = $655; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + btDbvt__sStkNN__sStkNN_28btDbvtNode_20const__2c_20btDbvtNode_20const__29($6 + 32 | 0 | 0, HEAP32[((HEAP32[($6 + 96 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($6 + 100 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0 | 0) | 0; + $192 = HEAP32[($6 + 124 | 0) >> 2] | 0; + HEAP32[($6 + 124 | 0) >> 2] = $192 + 1 | 0; + $195 = btAlignedObjectArray_btDbvt__sStkNN___operator_5b_5d_28int_29($7 + 20 | 0 | 0, $192 | 0) | 0; + i64toi32_i32$2 = $6; + i64toi32_i32$0 = HEAP32[($6 + 32 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($6 + 36 | 0) >> 2] | 0; + $688 = i64toi32_i32$0; + i64toi32_i32$0 = $195; + HEAP32[i64toi32_i32$0 >> 2] = $688; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + break label$10; + } + btDbvt__sStkNN__sStkNN_28btDbvtNode_20const__2c_20btDbvtNode_20const__29($6 + 24 | 0 | 0, HEAP32[((HEAP32[($6 + 96 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0 | 0, HEAP32[($6 + 100 | 0) >> 2] | 0 | 0) | 0; + $205 = HEAP32[($6 + 124 | 0) >> 2] | 0; + HEAP32[($6 + 124 | 0) >> 2] = $205 + 1 | 0; + $208 = btAlignedObjectArray_btDbvt__sStkNN___operator_5b_5d_28int_29($7 + 20 | 0 | 0, $205 | 0) | 0; + i64toi32_i32$2 = $6; + i64toi32_i32$1 = HEAP32[($6 + 24 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($6 + 28 | 0) >> 2] | 0; + $719 = i64toi32_i32$1; + i64toi32_i32$1 = $208; + HEAP32[i64toi32_i32$1 >> 2] = $719; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + btDbvt__sStkNN__sStkNN_28btDbvtNode_20const__2c_20btDbvtNode_20const__29($6 + 16 | 0 | 0, HEAP32[((HEAP32[($6 + 96 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0 | 0, HEAP32[($6 + 100 | 0) >> 2] | 0 | 0) | 0; + $218 = HEAP32[($6 + 124 | 0) >> 2] | 0; + HEAP32[($6 + 124 | 0) >> 2] = $218 + 1 | 0; + $221 = btAlignedObjectArray_btDbvt__sStkNN___operator_5b_5d_28int_29($7 + 20 | 0 | 0, $218 | 0) | 0; + i64toi32_i32$2 = $6; + i64toi32_i32$0 = HEAP32[($6 + 16 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($6 + 20 | 0) >> 2] | 0; + $750 = i64toi32_i32$0; + i64toi32_i32$0 = $221; + HEAP32[i64toi32_i32$0 >> 2] = $750; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + } + break label$8; + } + label$12 : { + label$13 : { + if (!((btDbvtNode__isinternal_28_29_20const(HEAP32[($6 + 100 | 0) >> 2] | 0 | 0) | 0) & 1 | 0)) { + break label$13 + } + btDbvt__sStkNN__sStkNN_28btDbvtNode_20const__2c_20btDbvtNode_20const__29($6 + 8 | 0 | 0, HEAP32[($6 + 96 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($6 + 100 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0 | 0) | 0; + $235 = HEAP32[($6 + 124 | 0) >> 2] | 0; + HEAP32[($6 + 124 | 0) >> 2] = $235 + 1 | 0; + $238 = btAlignedObjectArray_btDbvt__sStkNN___operator_5b_5d_28int_29($7 + 20 | 0 | 0, $235 | 0) | 0; + i64toi32_i32$2 = $6; + i64toi32_i32$1 = HEAP32[($6 + 8 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($6 + 12 | 0) >> 2] | 0; + $790 = i64toi32_i32$1; + i64toi32_i32$1 = $238; + HEAP32[i64toi32_i32$1 >> 2] = $790; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + btDbvt__sStkNN__sStkNN_28btDbvtNode_20const__2c_20btDbvtNode_20const__29($6 | 0, HEAP32[($6 + 96 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($6 + 100 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0 | 0) | 0; + $246 = HEAP32[($6 + 124 | 0) >> 2] | 0; + HEAP32[($6 + 124 | 0) >> 2] = $246 + 1 | 0; + $249 = btAlignedObjectArray_btDbvt__sStkNN___operator_5b_5d_28int_29($7 + 20 | 0 | 0, $246 | 0) | 0; + i64toi32_i32$2 = $6; + i64toi32_i32$0 = HEAP32[$6 >> 2] | 0; + i64toi32_i32$1 = HEAP32[($6 + 4 | 0) >> 2] | 0; + $818 = i64toi32_i32$0; + i64toi32_i32$0 = $249; + HEAP32[i64toi32_i32$0 >> 2] = $818; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + break label$12; + } + $251 = HEAP32[($6 + 128 | 0) >> 2] | 0; + FUNCTION_TABLE[HEAP32[((HEAP32[$251 >> 2] | 0) + 8 | 0) >> 2] | 0 | 0]($251, HEAP32[($6 + 96 | 0) >> 2] | 0, HEAP32[($6 + 100 | 0) >> 2] | 0); + } + } + } + } + if (HEAP32[($6 + 124 | 0) >> 2] | 0) { + continue label$2 + } + break label$2; + }; + } + __stack_pointer = $6 + 144 | 0; + return; + } + + function btDbvt__sStkNN__sStkNN_28_29($0) { + $0 = $0 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + return HEAP32[($3 + 12 | 0) >> 2] | 0 | 0; + } + + function btAlignedObjectArray_btDbvt__sStkNN___resize_28int_2c_20btDbvt__sStkNN_20const__29($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $5 = 0, $6 = 0, i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, i64toi32_i32$1 = 0, $162 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5 = __stack_pointer - 32 | 0; + __stack_pointer = $5; + HEAP32[($5 + 28 | 0) >> 2] = $0; + HEAP32[($5 + 24 | 0) >> 2] = $1; + HEAP32[($5 + 20 | 0) >> 2] = $2; + $6 = HEAP32[($5 + 28 | 0) >> 2] | 0; + (wasm2js_i32$0 = $5, wasm2js_i32$1 = btAlignedObjectArray_btDbvt__sStkNN___size_28_29_20const($6 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + label$2 : { + if (!((HEAP32[($5 + 24 | 0) >> 2] | 0 | 0) < (HEAP32[($5 + 16 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($5 + 12 | 0) >> 2] = HEAP32[($5 + 24 | 0) >> 2] | 0; + label$3 : { + label$4 : while (1) { + if (!((HEAP32[($5 + 12 | 0) >> 2] | 0 | 0) < (HEAP32[($5 + 16 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$3 + } + HEAP32[($5 + 12 | 0) >> 2] = (HEAP32[($5 + 12 | 0) >> 2] | 0) + 1 | 0; + continue label$4; + }; + } + break label$1; + } + label$5 : { + if (!((HEAP32[($5 + 24 | 0) >> 2] | 0 | 0) > (HEAP32[($5 + 16 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$5 + } + btAlignedObjectArray_btDbvt__sStkNN___reserve_28int_29($6 | 0, HEAP32[($5 + 24 | 0) >> 2] | 0 | 0); + } + HEAP32[($5 + 8 | 0) >> 2] = HEAP32[($5 + 16 | 0) >> 2] | 0; + label$6 : { + label$7 : while (1) { + if (!((HEAP32[($5 + 8 | 0) >> 2] | 0 | 0) < (HEAP32[($5 + 24 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$6 + } + i64toi32_i32$2 = HEAP32[($5 + 20 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $162 = i64toi32_i32$0; + i64toi32_i32$0 = (HEAP32[($6 + 12 | 0) >> 2] | 0) + ((HEAP32[($5 + 8 | 0) >> 2] | 0) << 3 | 0) | 0; + HEAP32[i64toi32_i32$0 >> 2] = $162; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + HEAP32[($5 + 8 | 0) >> 2] = (HEAP32[($5 + 8 | 0) >> 2] | 0) + 1 | 0; + continue label$7; + }; + } + } + HEAP32[($6 + 4 | 0) >> 2] = HEAP32[($5 + 24 | 0) >> 2] | 0; + __stack_pointer = $5 + 32 | 0; + return; + } + + function btDbvt__sStkNN__sStkNN_28btDbvtNode_20const__2c_20btDbvtNode_20const__29($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $5 = 0, $6 = 0; + $5 = __stack_pointer - 16 | 0; + HEAP32[($5 + 12 | 0) >> 2] = $0; + HEAP32[($5 + 8 | 0) >> 2] = $1; + HEAP32[($5 + 4 | 0) >> 2] = $2; + $6 = HEAP32[($5 + 12 | 0) >> 2] | 0; + HEAP32[$6 >> 2] = HEAP32[($5 + 8 | 0) >> 2] | 0; + HEAP32[($6 + 4 | 0) >> 2] = HEAP32[($5 + 4 | 0) >> 2] | 0; + return $6 | 0; + } + + function btAlignedObjectArray_btDbvt__sStkNN___operator_5b_5d_28int_29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, $5 = 0, $32 = 0; + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; + label$1 : { + if ((HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0) { + break label$1 + } + __assert_fail(85840 | 0, 78192 | 0, 183 | 0, 83901 | 0); + wasm2js_trap(); + } + label$2 : { + if ((HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) < (btAlignedObjectArray_btDbvt__sStkNN___size_28_29_20const($5 | 0) | 0 | 0) & 1 | 0) { + break label$2 + } + __assert_fail(87321 | 0, 78192 | 0, 184 | 0, 83901 | 0); + wasm2js_trap(); + } + $32 = (HEAP32[($5 + 12 | 0) >> 2] | 0) + ((HEAP32[($4 + 8 | 0) >> 2] | 0) << 3 | 0) | 0; + __stack_pointer = $4 + 16 | 0; + return $32 | 0; + } + + function btAlignedObjectArray_btDbvt__sStkNN___size_28_29_20const($0) { + $0 = $0 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + return HEAP32[((HEAP32[($3 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0; + } + + function btDbvtBroadphase__calculateOverlappingPairs_28btDispatcher__29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, $5 = 0; + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; + btDbvtBroadphase__collide_28btDispatcher__29($5 | 0, HEAP32[($4 + 8 | 0) >> 2] | 0 | 0); + btDbvtBroadphase__performDeferredRemoval_28btDispatcher__29($5 | 0, HEAP32[($4 + 8 | 0) >> 2] | 0 | 0); + __stack_pointer = $4 + 16 | 0; + return; + } + + function btDbvtBroadphase__collide_28btDispatcher__29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, $5 = 0, $144 = 0, $202 = 0, $101 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4 = __stack_pointer - 112 | 0; + __stack_pointer = $4; + HEAP32[($4 + 108 | 0) >> 2] = $0; + HEAP32[($4 + 104 | 0) >> 2] = $1; + $5 = HEAP32[($4 + 108 | 0) >> 2] | 0; + btDbvt__optimizeIncremental_28int_29($5 + 4 | 0 | 0, ((Math_imul(HEAP32[($5 + 16 | 0) >> 2] | 0, HEAP32[($5 + 112 | 0) >> 2] | 0) | 0) / (100 | 0) | 0) + 1 | 0 | 0); + label$1 : { + if (!(HEAP32[($5 + 124 | 0) >> 2] | 0)) { + break label$1 + } + HEAP32[($4 + 100 | 0) >> 2] = ((Math_imul(HEAP32[($5 + 56 | 0) >> 2] | 0, HEAP32[($5 + 108 | 0) >> 2] | 0) | 0) / (100 | 0) | 0) + 1 | 0; + btDbvt__optimizeIncremental_28int_29(($5 + 4 | 0) + 40 | 0 | 0, ((Math_imul(HEAP32[($5 + 56 | 0) >> 2] | 0, HEAP32[($5 + 108 | 0) >> 2] | 0) | 0) / (100 | 0) | 0) + 1 | 0 | 0); + HEAP32[($4 + 96 | 0) >> 2] = 0; + HEAP32[($4 + 92 | 0) >> 2] = (HEAP32[($5 + 124 | 0) >> 2] | 0) - (HEAP32[($4 + 100 | 0) >> 2] | 0) | 0; + (wasm2js_i32$0 = $5, wasm2js_i32$1 = HEAP32[(int_20const__20btMax_int__28int_20const__2c_20int_20const__29($4 + 96 | 0 | 0, $4 + 92 | 0 | 0) | 0) >> 2] | 0), HEAP32[(wasm2js_i32$0 + 124 | 0) >> 2] = wasm2js_i32$1; + } + HEAP32[($5 + 104 | 0) >> 2] = ((HEAP32[($5 + 104 | 0) >> 2] | 0) + 1 | 0 | 0) % (2 | 0) | 0; + HEAP32[($4 + 88 | 0) >> 2] = HEAP32[(($5 + 84 | 0) + ((HEAP32[($5 + 104 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; + label$2 : { + if (!((HEAP32[($4 + 88 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$2 + } + label$3 : while (1) { + HEAP32[($4 + 84 | 0) >> 2] = HEAP32[((HEAP32[($4 + 88 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0; + void_20listremove_btDbvtProxy__28btDbvtProxy__2c_20btDbvtProxy___29(HEAP32[($4 + 88 | 0) >> 2] | 0 | 0, ($5 + 84 | 0) + ((HEAP32[((HEAP32[($4 + 88 | 0) >> 2] | 0) + 60 | 0) >> 2] | 0) << 2 | 0) | 0 | 0); + void_20listappend_btDbvtProxy__28btDbvtProxy__2c_20btDbvtProxy___29(HEAP32[($4 + 88 | 0) >> 2] | 0 | 0, ($5 + 84 | 0) + 8 | 0 | 0); + btDbvt__remove_28btDbvtNode__29($5 + 4 | 0 | 0, HEAP32[((HEAP32[($4 + 88 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0 | 0); + btDbvtAabbMm__FromMM_28btVector3_20const__2c_20btVector3_20const__29($4 + 52 | 0 | 0, (HEAP32[($4 + 88 | 0) >> 2] | 0) + 16 | 0 | 0, (HEAP32[($4 + 88 | 0) >> 2] | 0) + 32 | 0 | 0); + $101 = btDbvt__insert_28btDbvtAabbMm_20const__2c_20void__29(($5 + 4 | 0) + 40 | 0 | 0, $4 + 52 | 0 | 0, HEAP32[($4 + 88 | 0) >> 2] | 0 | 0) | 0; + HEAP32[((HEAP32[($4 + 88 | 0) >> 2] | 0) + 48 | 0) >> 2] = $101; + HEAP32[((HEAP32[($4 + 88 | 0) >> 2] | 0) + 60 | 0) >> 2] = 2; + HEAP32[($4 + 88 | 0) >> 2] = HEAP32[($4 + 84 | 0) >> 2] | 0; + if ((HEAP32[($4 + 88 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + continue label$3 + } + break label$3; + }; + HEAP32[($5 + 124 | 0) >> 2] = HEAP32[($5 + 56 | 0) >> 2] | 0; + HEAP8[($5 + 154 | 0) >> 0] = 1; + } + btDbvtTreeCollider__btDbvtTreeCollider_28btDbvtBroadphase__29($4 + 40 | 0 | 0, $5 | 0) | 0; + label$4 : { + if (!((HEAPU8[($5 + 153 | 0) >> 0] | 0) & 1 | 0)) { + break label$4 + } + btDbvt__collideTTpersistentStack_28btDbvtNode_20const__2c_20btDbvtNode_20const__2c_20btDbvt__ICollide__29($5 + 4 | 0 | 0, HEAP32[($5 + 4 | 0) >> 2] | 0 | 0, HEAP32[($5 + 44 | 0) >> 2] | 0 | 0, $4 + 40 | 0 | 0); + } + label$5 : { + if (!((HEAPU8[($5 + 153 | 0) >> 0] | 0) & 1 | 0)) { + break label$5 + } + btDbvt__collideTTpersistentStack_28btDbvtNode_20const__2c_20btDbvtNode_20const__2c_20btDbvt__ICollide__29($5 + 4 | 0 | 0, HEAP32[($5 + 4 | 0) >> 2] | 0 | 0, HEAP32[($5 + 4 | 0) >> 2] | 0 | 0, $4 + 40 | 0 | 0); + } + btDbvtTreeCollider___btDbvtTreeCollider_28_29($4 + 40 | 0 | 0) | 0; + label$6 : { + if (!((HEAPU8[($5 + 154 | 0) >> 0] | 0) & 1 | 0)) { + break label$6 + } + $144 = HEAP32[($5 + 96 | 0) >> 2] | 0; + (wasm2js_i32$0 = $4, wasm2js_i32$1 = FUNCTION_TABLE[HEAP32[((HEAP32[$144 >> 2] | 0) + 28 | 0) >> 2] | 0 | 0]($144) | 0), HEAP32[(wasm2js_i32$0 + 36 | 0) >> 2] = wasm2js_i32$1; + label$7 : { + if (!((btAlignedObjectArray_btBroadphasePair___size_28_29_20const(HEAP32[($4 + 36 | 0) >> 2] | 0 | 0) | 0 | 0) > (0 | 0) & 1 | 0)) { + break label$7 + } + (wasm2js_i32$0 = $4, wasm2js_i32$1 = btAlignedObjectArray_btBroadphasePair___size_28_29_20const(HEAP32[($4 + 36 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $4, wasm2js_i32$1 = (Math_imul(btAlignedObjectArray_btBroadphasePair___size_28_29_20const(HEAP32[($4 + 36 | 0) >> 2] | 0 | 0) | 0, HEAP32[($5 + 116 | 0) >> 2] | 0) | 0) / (100 | 0) | 0), HEAP32[(wasm2js_i32$0 + 24 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $4, wasm2js_i32$1 = HEAP32[(int_20const__20btMin_int__28int_20const__2c_20int_20const__29($4 + 28 | 0 | 0, int_20const__20btMax_int__28int_20const__2c_20int_20const__29($5 + 120 | 0 | 0, $4 + 24 | 0 | 0) | 0 | 0) | 0) >> 2] | 0), HEAP32[(wasm2js_i32$0 + 32 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($4 + 20 | 0) >> 2] = 0; + label$8 : { + label$9 : while (1) { + if (!((HEAP32[($4 + 20 | 0) >> 2] | 0 | 0) < (HEAP32[($4 + 32 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$8 + } + (wasm2js_i32$0 = $4, wasm2js_i32$1 = btAlignedObjectArray_btBroadphasePair___operator_5b_5d_28int_29(HEAP32[($4 + 36 | 0) >> 2] | 0 | 0, ((HEAP32[($5 + 144 | 0) >> 2] | 0) + (HEAP32[($4 + 20 | 0) >> 2] | 0) | 0 | 0) % (btAlignedObjectArray_btBroadphasePair___size_28_29_20const(HEAP32[($4 + 36 | 0) >> 2] | 0 | 0) | 0 | 0) | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($4 + 12 | 0) >> 2] = HEAP32[(HEAP32[($4 + 16 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($4 + 8 | 0) >> 2] = HEAP32[((HEAP32[($4 + 16 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + label$10 : { + if ((Intersect_28btDbvtAabbMm_20const__2c_20btDbvtAabbMm_20const__29(HEAP32[((HEAP32[($4 + 12 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4 + 8 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0 | 0) | 0) & 1 | 0) { + break label$10 + } + $202 = HEAP32[($5 + 96 | 0) >> 2] | 0; + FUNCTION_TABLE[HEAP32[((HEAP32[$202 >> 2] | 0) + 12 | 0) >> 2] | 0 | 0]($202, HEAP32[($4 + 12 | 0) >> 2] | 0, HEAP32[($4 + 8 | 0) >> 2] | 0, HEAP32[($4 + 104 | 0) >> 2] | 0) | 0; + HEAP32[($4 + 32 | 0) >> 2] = (HEAP32[($4 + 32 | 0) >> 2] | 0) + -1 | 0; + HEAP32[($4 + 20 | 0) >> 2] = (HEAP32[($4 + 20 | 0) >> 2] | 0) + -1 | 0; + } + HEAP32[($4 + 20 | 0) >> 2] = (HEAP32[($4 + 20 | 0) >> 2] | 0) + 1 | 0; + continue label$9; + }; + } + label$11 : { + label$12 : { + if (!((btAlignedObjectArray_btBroadphasePair___size_28_29_20const(HEAP32[($4 + 36 | 0) >> 2] | 0 | 0) | 0 | 0) > (0 | 0) & 1 | 0)) { + break label$12 + } + (wasm2js_i32$0 = $5, wasm2js_i32$1 = ((HEAP32[($5 + 144 | 0) >> 2] | 0) + (HEAP32[($4 + 32 | 0) >> 2] | 0) | 0 | 0) % (btAlignedObjectArray_btBroadphasePair___size_28_29_20const(HEAP32[($4 + 36 | 0) >> 2] | 0 | 0) | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 144 | 0) >> 2] = wasm2js_i32$1; + break label$11; + } + HEAP32[($5 + 144 | 0) >> 2] = 0; + } + } + } + HEAP32[($5 + 140 | 0) >> 2] = (HEAP32[($5 + 140 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($5 + 120 | 0) >> 2] = 1; + HEAP8[($5 + 154 | 0) >> 0] = 0; + label$13 : { + label$14 : { + if (!((HEAP32[($5 + 128 | 0) >> 2] | 0) >>> 0 > 0 >>> 0 & 1 | 0)) { + break label$14 + } + HEAPF32[($5 + 136 | 0) >> 2] = Math_fround(Math_fround((HEAP32[($5 + 132 | 0) >> 2] | 0) >>> 0) / Math_fround((HEAP32[($5 + 128 | 0) >> 2] | 0) >>> 0)); + break label$13; + } + HEAPF32[($5 + 136 | 0) >> 2] = Math_fround(0 | 0); + } + HEAP32[($5 + 132 | 0) >> 2] = (HEAP32[($5 + 132 | 0) >> 2] | 0) >>> 1 | 0; + HEAP32[($5 + 128 | 0) >> 2] = (HEAP32[($5 + 128 | 0) >> 2] | 0) >>> 1 | 0; + __stack_pointer = $4 + 112 | 0; + return; + } + + function btDbvtBroadphase__performDeferredRemoval_28btDispatcher__29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, i64toi32_i32$1 = 0, $5 = 0, $6 = 0, $12 = 0, $46 = 0, $47 = 0, $90 = 0, $235 = 0, $239 = 0, $109 = 0, $113 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4 = __stack_pointer - 80 | 0; + __stack_pointer = $4; + HEAP32[($4 + 76 | 0) >> 2] = $0; + HEAP32[($4 + 72 | 0) >> 2] = $1; + $5 = HEAP32[($4 + 76 | 0) >> 2] | 0; + $6 = HEAP32[($5 + 96 | 0) >> 2] | 0; + label$1 : { + if (!((FUNCTION_TABLE[HEAP32[((HEAP32[$6 >> 2] | 0) + 56 | 0) >> 2] | 0 | 0]($6) | 0) & 1 | 0)) { + break label$1 + } + $12 = HEAP32[($5 + 96 | 0) >> 2] | 0; + (wasm2js_i32$0 = $4, wasm2js_i32$1 = FUNCTION_TABLE[HEAP32[((HEAP32[$12 >> 2] | 0) + 28 | 0) >> 2] | 0 | 0]($12) | 0), HEAP32[(wasm2js_i32$0 + 68 | 0) >> 2] = wasm2js_i32$1; + void_20btAlignedObjectArray_btBroadphasePair___quickSort_btBroadphasePairSortPredicate__28btBroadphasePairSortPredicate_20const__29(HEAP32[($4 + 68 | 0) >> 2] | 0 | 0, $4 + 67 | 0 | 0); + HEAP32[($4 + 60 | 0) >> 2] = 0; + btBroadphasePair__btBroadphasePair_28_29($4 + 40 | 0 | 0) | 0; + HEAP32[($4 + 40 | 0) >> 2] = 0; + HEAP32[($4 + 44 | 0) >> 2] = 0; + HEAP32[($4 + 48 | 0) >> 2] = 0; + HEAP32[($4 + 56 | 0) >> 2] = 0; + label$2 : { + label$3 : while (1) { + if (!((HEAP32[($4 + 56 | 0) >> 2] | 0 | 0) < (btAlignedObjectArray_btBroadphasePair___size_28_29_20const(HEAP32[($4 + 68 | 0) >> 2] | 0 | 0) | 0 | 0) & 1 | 0)) { + break label$2 + } + (wasm2js_i32$0 = $4, wasm2js_i32$1 = btAlignedObjectArray_btBroadphasePair___operator_5b_5d_28int_29(HEAP32[($4 + 68 | 0) >> 2] | 0 | 0, HEAP32[($4 + 56 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 36 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $4, wasm2js_i32$1 = (operator___28btBroadphasePair_20const__2c_20btBroadphasePair_20const__29(HEAP32[($4 + 36 | 0) >> 2] | 0 | 0, $4 + 40 | 0 | 0) | 0) & 1 | 0), HEAP8[(wasm2js_i32$0 + 35 | 0) >> 0] = wasm2js_i32$1; + $46 = HEAP32[($4 + 36 | 0) >> 2] | 0; + $47 = 8; + i64toi32_i32$2 = $46 + $47 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $235 = i64toi32_i32$0; + i64toi32_i32$0 = ($4 + 40 | 0) + $47 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $235; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$2 = $46; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $239 = i64toi32_i32$1; + i64toi32_i32$1 = $4; + HEAP32[($4 + 40 | 0) >> 2] = $239; + HEAP32[($4 + 44 | 0) >> 2] = i64toi32_i32$0; + HEAP8[($4 + 34 | 0) >> 0] = 0; + label$4 : { + label$5 : { + if ((HEAPU8[($4 + 35 | 0) >> 0] | 0) & 1 | 0) { + break label$5 + } + HEAP32[($4 + 28 | 0) >> 2] = HEAP32[(HEAP32[($4 + 36 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($4 + 24 | 0) >> 2] = HEAP32[((HEAP32[($4 + 36 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + (wasm2js_i32$0 = $4, wasm2js_i32$1 = (Intersect_28btDbvtAabbMm_20const__2c_20btDbvtAabbMm_20const__29(HEAP32[((HEAP32[($4 + 28 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4 + 24 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0 | 0) | 0) & 1 | 0), HEAP8[(wasm2js_i32$0 + 23 | 0) >> 0] = wasm2js_i32$1; + label$6 : { + label$7 : { + if (!((HEAPU8[($4 + 23 | 0) >> 0] | 0) & 1 | 0)) { + break label$7 + } + HEAP8[($4 + 34 | 0) >> 0] = 0; + break label$6; + } + HEAP8[($4 + 34 | 0) >> 0] = 1; + } + break label$4; + } + HEAP8[($4 + 34 | 0) >> 0] = 1; + label$8 : { + if (!((HEAP32[((HEAP32[($4 + 36 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$8 + } + __assert_fail(77164 | 0, 74016 | 0, 493 | 0, 77271 | 0); + wasm2js_trap(); + } + } + label$9 : { + if (!((HEAPU8[($4 + 34 | 0) >> 0] | 0) & 1 | 0)) { + break label$9 + } + $90 = HEAP32[($5 + 96 | 0) >> 2] | 0; + FUNCTION_TABLE[HEAP32[((HEAP32[$90 >> 2] | 0) + 32 | 0) >> 2] | 0 | 0]($90, HEAP32[($4 + 36 | 0) >> 2] | 0, HEAP32[($4 + 72 | 0) >> 2] | 0); + HEAP32[(HEAP32[($4 + 36 | 0) >> 2] | 0) >> 2] = 0; + HEAP32[((HEAP32[($4 + 36 | 0) >> 2] | 0) + 4 | 0) >> 2] = 0; + HEAP32[($4 + 60 | 0) >> 2] = (HEAP32[($4 + 60 | 0) >> 2] | 0) + 1 | 0; + } + HEAP32[($4 + 56 | 0) >> 2] = (HEAP32[($4 + 56 | 0) >> 2] | 0) + 1 | 0; + continue label$3; + }; + } + void_20btAlignedObjectArray_btBroadphasePair___quickSort_btBroadphasePairSortPredicate__28btBroadphasePairSortPredicate_20const__29(HEAP32[($4 + 68 | 0) >> 2] | 0 | 0, $4 + 22 | 0 | 0); + $109 = HEAP32[($4 + 68 | 0) >> 2] | 0; + $113 = (btAlignedObjectArray_btBroadphasePair___size_28_29_20const(HEAP32[($4 + 68 | 0) >> 2] | 0 | 0) | 0) - (HEAP32[($4 + 60 | 0) >> 2] | 0) | 0; + btBroadphasePair__btBroadphasePair_28_29($4 + 4 | 0 | 0) | 0; + btAlignedObjectArray_btBroadphasePair___resize_28int_2c_20btBroadphasePair_20const__29($109 | 0, $113 | 0, $4 + 4 | 0 | 0); + } + __stack_pointer = $4 + 80 | 0; + return; + } + + function int_20const__20btMax_int__28int_20const__2c_20int_20const__29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, $15 = 0; + $4 = __stack_pointer - 16 | 0; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + label$1 : { + label$2 : { + if (!((HEAP32[(HEAP32[($4 + 12 | 0) >> 2] | 0) >> 2] | 0 | 0) > (HEAP32[(HEAP32[($4 + 8 | 0) >> 2] | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$2 + } + $15 = HEAP32[($4 + 12 | 0) >> 2] | 0; + break label$1; + } + $15 = HEAP32[($4 + 8 | 0) >> 2] | 0; + } + return $15 | 0; + } + + function btAlignedObjectArray_btBroadphasePair___size_28_29_20const($0) { + $0 = $0 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + return HEAP32[((HEAP32[($3 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0; + } + + function int_20const__20btMin_int__28int_20const__2c_20int_20const__29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, $15 = 0; + $4 = __stack_pointer - 16 | 0; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + label$1 : { + label$2 : { + if (!((HEAP32[(HEAP32[($4 + 12 | 0) >> 2] | 0) >> 2] | 0 | 0) < (HEAP32[(HEAP32[($4 + 8 | 0) >> 2] | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$2 + } + $15 = HEAP32[($4 + 12 | 0) >> 2] | 0; + break label$1; + } + $15 = HEAP32[($4 + 8 | 0) >> 2] | 0; + } + return $15 | 0; + } + + function btAlignedObjectArray_btBroadphasePair___operator_5b_5d_28int_29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, $5 = 0, $32 = 0; + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; + label$1 : { + if ((HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0) { + break label$1 + } + __assert_fail(85840 | 0, 78192 | 0, 183 | 0, 83901 | 0); + wasm2js_trap(); + } + label$2 : { + if ((HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) < (btAlignedObjectArray_btBroadphasePair___size_28_29_20const($5 | 0) | 0 | 0) & 1 | 0) { + break label$2 + } + __assert_fail(87321 | 0, 78192 | 0, 184 | 0, 83901 | 0); + wasm2js_trap(); + } + $32 = (HEAP32[($5 + 12 | 0) >> 2] | 0) + ((HEAP32[($4 + 8 | 0) >> 2] | 0) << 4 | 0) | 0; + __stack_pointer = $4 + 16 | 0; + return $32 | 0; + } + + function void_20btAlignedObjectArray_btBroadphasePair___quickSort_btBroadphasePairSortPredicate__28btBroadphasePairSortPredicate_20const__29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, $5 = 0; + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; + label$1 : { + if (!((btAlignedObjectArray_btBroadphasePair___size_28_29_20const($5 | 0) | 0 | 0) > (1 | 0) & 1 | 0)) { + break label$1 + } + void_20btAlignedObjectArray_btBroadphasePair___quickSortInternal_btBroadphasePairSortPredicate__28btBroadphasePairSortPredicate_20const__2c_20int_2c_20int_29($5 | 0, HEAP32[($4 + 8 | 0) >> 2] | 0 | 0, 0 | 0, (btAlignedObjectArray_btBroadphasePair___size_28_29_20const($5 | 0) | 0) - 1 | 0 | 0); + } + __stack_pointer = $4 + 16 | 0; + return; + } + + function btBroadphasePair__btBroadphasePair_28_29($0) { + $0 = $0 | 0; + var $4 = 0, $3 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + HEAP32[$4 >> 2] = 0; + HEAP32[($4 + 4 | 0) >> 2] = 0; + HEAP32[($4 + 8 | 0) >> 2] = 0; + HEAP32[($4 + 12 | 0) >> 2] = 0; + return $4 | 0; + } + + function operator___28btBroadphasePair_20const__2c_20btBroadphasePair_20const__29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, $15 = 0; + $4 = __stack_pointer - 16 | 0; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + $15 = 0; + label$1 : { + if (!((HEAP32[(HEAP32[($4 + 12 | 0) >> 2] | 0) >> 2] | 0 | 0) == (HEAP32[(HEAP32[($4 + 8 | 0) >> 2] | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$1 + } + $15 = (HEAP32[((HEAP32[($4 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) == (HEAP32[((HEAP32[($4 + 8 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0); + } + return $15 & 1 | 0 | 0; + } + + function btAlignedObjectArray_btBroadphasePair___resize_28int_2c_20btBroadphasePair_20const__29($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $5 = 0, $6 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5 = __stack_pointer - 32 | 0; + __stack_pointer = $5; + HEAP32[($5 + 28 | 0) >> 2] = $0; + HEAP32[($5 + 24 | 0) >> 2] = $1; + HEAP32[($5 + 20 | 0) >> 2] = $2; + $6 = HEAP32[($5 + 28 | 0) >> 2] | 0; + (wasm2js_i32$0 = $5, wasm2js_i32$1 = btAlignedObjectArray_btBroadphasePair___size_28_29_20const($6 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + label$2 : { + if (!((HEAP32[($5 + 24 | 0) >> 2] | 0 | 0) < (HEAP32[($5 + 16 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($5 + 12 | 0) >> 2] = HEAP32[($5 + 24 | 0) >> 2] | 0; + label$3 : { + label$4 : while (1) { + if (!((HEAP32[($5 + 12 | 0) >> 2] | 0 | 0) < (HEAP32[($5 + 16 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$3 + } + HEAP32[($5 + 12 | 0) >> 2] = (HEAP32[($5 + 12 | 0) >> 2] | 0) + 1 | 0; + continue label$4; + }; + } + break label$1; + } + label$5 : { + if (!((HEAP32[($5 + 24 | 0) >> 2] | 0 | 0) > (HEAP32[($5 + 16 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$5 + } + btAlignedObjectArray_btBroadphasePair___reserve_28int_29($6 | 0, HEAP32[($5 + 24 | 0) >> 2] | 0 | 0); + } + HEAP32[($5 + 8 | 0) >> 2] = HEAP32[($5 + 16 | 0) >> 2] | 0; + label$6 : { + label$7 : while (1) { + if (!((HEAP32[($5 + 8 | 0) >> 2] | 0 | 0) < (HEAP32[($5 + 24 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$6 + } + btBroadphasePair__btBroadphasePair_28btBroadphasePair_20const__29(btBroadphasePair__operator_20new_28unsigned_20long_2c_20void__29(16 | 0, (HEAP32[($6 + 12 | 0) >> 2] | 0) + ((HEAP32[($5 + 8 | 0) >> 2] | 0) << 4 | 0) | 0 | 0) | 0 | 0, HEAP32[($5 + 20 | 0) >> 2] | 0 | 0) | 0; + HEAP32[($5 + 8 | 0) >> 2] = (HEAP32[($5 + 8 | 0) >> 2] | 0) + 1 | 0; + continue label$7; + }; + } + } + HEAP32[($6 + 4 | 0) >> 2] = HEAP32[($5 + 24 | 0) >> 2] | 0; + __stack_pointer = $5 + 32 | 0; + return; + } + + function void_20btAlignedObjectArray_btBroadphasePair___quickSortInternal_btBroadphasePairSortPredicate__28btBroadphasePairSortPredicate_20const__2c_20int_2c_20int_29($0, $1, $2, $3) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + var $6 = 0, $7 = 0; + $6 = __stack_pointer - 48 | 0; + __stack_pointer = $6; + HEAP32[($6 + 44 | 0) >> 2] = $0; + HEAP32[($6 + 40 | 0) >> 2] = $1; + HEAP32[($6 + 36 | 0) >> 2] = $2; + HEAP32[($6 + 32 | 0) >> 2] = $3; + $7 = HEAP32[($6 + 44 | 0) >> 2] | 0; + HEAP32[($6 + 28 | 0) >> 2] = HEAP32[($6 + 36 | 0) >> 2] | 0; + HEAP32[($6 + 24 | 0) >> 2] = HEAP32[($6 + 32 | 0) >> 2] | 0; + btBroadphasePair__btBroadphasePair_28btBroadphasePair_20const__29($6 + 8 | 0 | 0, (HEAP32[($7 + 12 | 0) >> 2] | 0) + ((((HEAP32[($6 + 36 | 0) >> 2] | 0) + (HEAP32[($6 + 32 | 0) >> 2] | 0) | 0 | 0) / (2 | 0) | 0) << 4 | 0) | 0 | 0) | 0; + label$1 : while (1) { + label$2 : { + label$3 : while (1) { + if (!((btBroadphasePairSortPredicate__operator_28_29_28btBroadphasePair_20const__2c_20btBroadphasePair_20const__29_20const(HEAP32[($6 + 40 | 0) >> 2] | 0 | 0, (HEAP32[($7 + 12 | 0) >> 2] | 0) + ((HEAP32[($6 + 28 | 0) >> 2] | 0) << 4 | 0) | 0 | 0, $6 + 8 | 0 | 0) | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($6 + 28 | 0) >> 2] = (HEAP32[($6 + 28 | 0) >> 2] | 0) + 1 | 0; + continue label$3; + }; + } + label$4 : { + label$5 : while (1) { + if (!((btBroadphasePairSortPredicate__operator_28_29_28btBroadphasePair_20const__2c_20btBroadphasePair_20const__29_20const(HEAP32[($6 + 40 | 0) >> 2] | 0 | 0, $6 + 8 | 0 | 0, (HEAP32[($7 + 12 | 0) >> 2] | 0) + ((HEAP32[($6 + 24 | 0) >> 2] | 0) << 4 | 0) | 0 | 0) | 0) & 1 | 0)) { + break label$4 + } + HEAP32[($6 + 24 | 0) >> 2] = (HEAP32[($6 + 24 | 0) >> 2] | 0) + -1 | 0; + continue label$5; + }; + } + label$6 : { + if (!((HEAP32[($6 + 28 | 0) >> 2] | 0 | 0) <= (HEAP32[($6 + 24 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$6 + } + btAlignedObjectArray_btBroadphasePair___swap_28int_2c_20int_29($7 | 0, HEAP32[($6 + 28 | 0) >> 2] | 0 | 0, HEAP32[($6 + 24 | 0) >> 2] | 0 | 0); + HEAP32[($6 + 28 | 0) >> 2] = (HEAP32[($6 + 28 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($6 + 24 | 0) >> 2] = (HEAP32[($6 + 24 | 0) >> 2] | 0) + -1 | 0; + } + if ((HEAP32[($6 + 28 | 0) >> 2] | 0 | 0) <= (HEAP32[($6 + 24 | 0) >> 2] | 0 | 0) & 1 | 0) { + continue label$1 + } + break label$1; + }; + label$7 : { + if (!((HEAP32[($6 + 36 | 0) >> 2] | 0 | 0) < (HEAP32[($6 + 24 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$7 + } + void_20btAlignedObjectArray_btBroadphasePair___quickSortInternal_btBroadphasePairSortPredicate__28btBroadphasePairSortPredicate_20const__2c_20int_2c_20int_29($7 | 0, HEAP32[($6 + 40 | 0) >> 2] | 0 | 0, HEAP32[($6 + 36 | 0) >> 2] | 0 | 0, HEAP32[($6 + 24 | 0) >> 2] | 0 | 0); + } + label$8 : { + if (!((HEAP32[($6 + 28 | 0) >> 2] | 0 | 0) < (HEAP32[($6 + 32 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$8 + } + void_20btAlignedObjectArray_btBroadphasePair___quickSortInternal_btBroadphasePairSortPredicate__28btBroadphasePairSortPredicate_20const__2c_20int_2c_20int_29($7 | 0, HEAP32[($6 + 40 | 0) >> 2] | 0 | 0, HEAP32[($6 + 28 | 0) >> 2] | 0 | 0, HEAP32[($6 + 32 | 0) >> 2] | 0 | 0); + } + __stack_pointer = $6 + 48 | 0; + return; + } + + function btAlignedObjectArray_btBroadphasePair___reserve_28int_29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, $5 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; + label$1 : { + if (!((btAlignedObjectArray_btBroadphasePair___capacity_28_29_20const($5 | 0) | 0 | 0) < (HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$1 + } + (wasm2js_i32$0 = $4, wasm2js_i32$1 = btAlignedObjectArray_btBroadphasePair___allocate_28int_29($5 | 0, HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + btAlignedObjectArray_btBroadphasePair___copy_28int_2c_20int_2c_20btBroadphasePair__29_20const($5 | 0, 0 | 0, btAlignedObjectArray_btBroadphasePair___size_28_29_20const($5 | 0) | 0 | 0, HEAP32[($4 + 4 | 0) >> 2] | 0 | 0); + btAlignedObjectArray_btBroadphasePair___destroy_28int_2c_20int_29($5 | 0, 0 | 0, btAlignedObjectArray_btBroadphasePair___size_28_29_20const($5 | 0) | 0 | 0); + btAlignedObjectArray_btBroadphasePair___deallocate_28_29($5 | 0); + HEAP8[($5 + 16 | 0) >> 0] = 1; + HEAP32[($5 + 12 | 0) >> 2] = HEAP32[($4 + 4 | 0) >> 2] | 0; + HEAP32[($5 + 8 | 0) >> 2] = HEAP32[($4 + 8 | 0) >> 2] | 0; + } + __stack_pointer = $4 + 16 | 0; + return; + } + + function btBroadphasePair__operator_20new_28unsigned_20long_2c_20void__29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0; + $4 = __stack_pointer - 16 | 0; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + return HEAP32[($4 + 8 | 0) >> 2] | 0 | 0; + } + + function btBroadphasePair__btBroadphasePair_28btBroadphasePair_20const__29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, $5 = 0; + $4 = __stack_pointer - 16 | 0; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; + HEAP32[$5 >> 2] = HEAP32[(HEAP32[($4 + 8 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($5 + 4 | 0) >> 2] = HEAP32[((HEAP32[($4 + 8 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + HEAP32[($5 + 8 | 0) >> 2] = HEAP32[((HEAP32[($4 + 8 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + HEAP32[($5 + 12 | 0) >> 2] = HEAP32[((HEAP32[($4 + 8 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + return $5 | 0; + } + + function btDbvtBroadphase__getOverlappingPairCache_28_29($0) { + $0 = $0 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + return HEAP32[((HEAP32[($3 + 12 | 0) >> 2] | 0) + 96 | 0) >> 2] | 0 | 0; + } + + function btDbvtBroadphase__getOverlappingPairCache_28_29_20const($0) { + $0 = $0 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + return HEAP32[((HEAP32[($3 + 12 | 0) >> 2] | 0) + 96 | 0) >> 2] | 0 | 0; + } + + function btDbvtBroadphase__getBroadphaseAabb_28btVector3__2c_20btVector3__29_20const($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, $5 = 0, $6 = 0, $27 = 0, $54 = 0, $28 = 0, $34 = 0, $40 = 0, $55 = 0, $61 = 0, $67 = 0, $100 = 0, $108 = 0, $116 = 0, $129 = 0, $131 = 0, $139 = 0, $141 = 0, $212 = 0, $225 = 0, $238 = 0, $242 = 0, $269 = 0, $282 = 0, $295 = 0, $299 = 0, $361 = 0, $377 = 0, $393 = 0, $397 = 0, $128 = 0, $409 = 0, $419 = 0, $138 = 0, $431 = 0, $441 = 0; + $5 = __stack_pointer - 112 | 0; + __stack_pointer = $5; + HEAP32[($5 + 108 | 0) >> 2] = $0; + HEAP32[($5 + 104 | 0) >> 2] = $1; + HEAP32[($5 + 100 | 0) >> 2] = $2; + $6 = HEAP32[($5 + 108 | 0) >> 2] | 0; + btDbvtAabbMm__btDbvtAabbMm_28_29($5 + 64 | 0 | 0) | 0; + label$1 : { + label$2 : { + if ((btDbvt__empty_28_29_20const($6 + 4 | 0 | 0) | 0) & 1 | 0) { + break label$2 + } + label$3 : { + label$4 : { + if ((btDbvt__empty_28_29_20const(($6 + 4 | 0) + 40 | 0 | 0) | 0) & 1 | 0) { + break label$4 + } + Merge_28btDbvtAabbMm_20const__2c_20btDbvtAabbMm_20const__2c_20btDbvtAabbMm__29(HEAP32[($6 + 4 | 0) >> 2] | 0 | 0, HEAP32[($6 + 44 | 0) >> 2] | 0 | 0, $5 + 64 | 0 | 0); + break label$3; + } + $27 = HEAP32[($6 + 4 | 0) >> 2] | 0; + $28 = 24; + i64toi32_i32$2 = $27 + $28 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $212 = i64toi32_i32$0; + i64toi32_i32$0 = ($5 + 64 | 0) + $28 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $212; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $34 = 16; + i64toi32_i32$2 = $27 + $34 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $225 = i64toi32_i32$1; + i64toi32_i32$1 = ($5 + 64 | 0) + $34 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $225; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + $40 = 8; + i64toi32_i32$2 = $27 + $40 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $238 = i64toi32_i32$0; + i64toi32_i32$0 = ($5 + 64 | 0) + $40 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $238; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$2 = $27; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $242 = i64toi32_i32$1; + i64toi32_i32$1 = $5; + HEAP32[(i64toi32_i32$1 + 64 | 0) >> 2] = $242; + HEAP32[(i64toi32_i32$1 + 68 | 0) >> 2] = i64toi32_i32$0; + } + break label$1; + } + label$5 : { + label$6 : { + if ((btDbvt__empty_28_29_20const(($6 + 4 | 0) + 40 | 0 | 0) | 0) & 1 | 0) { + break label$6 + } + $54 = HEAP32[($6 + 44 | 0) >> 2] | 0; + $55 = 24; + i64toi32_i32$2 = $54 + $55 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $269 = i64toi32_i32$0; + i64toi32_i32$0 = ($5 + 64 | 0) + $55 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $269; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $61 = 16; + i64toi32_i32$2 = $54 + $61 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $282 = i64toi32_i32$1; + i64toi32_i32$1 = ($5 + 64 | 0) + $61 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $282; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + $67 = 8; + i64toi32_i32$2 = $54 + $67 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $295 = i64toi32_i32$0; + i64toi32_i32$0 = ($5 + 64 | 0) + $67 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $295; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$2 = $54; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $299 = i64toi32_i32$1; + i64toi32_i32$1 = $5; + HEAP32[(i64toi32_i32$1 + 64 | 0) >> 2] = $299; + HEAP32[(i64toi32_i32$1 + 68 | 0) >> 2] = i64toi32_i32$0; + break label$5; + } + HEAPF32[($5 + 12 | 0) >> 2] = Math_fround(0 | 0); + HEAPF32[($5 + 8 | 0) >> 2] = Math_fround(0 | 0); + HEAPF32[($5 + 4 | 0) >> 2] = Math_fround(0 | 0); + btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($5 + 16 | 0 | 0, $5 + 12 | 0 | 0, $5 + 8 | 0 | 0, $5 + 4 | 0 | 0) | 0; + btDbvtAabbMm__FromCR_28btVector3_20const__2c_20float_29($5 + 32 | 0 | 0, $5 + 16 | 0 | 0, Math_fround(Math_fround(0 | 0))); + $100 = 24; + i64toi32_i32$2 = ($5 + 32 | 0) + $100 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $361 = i64toi32_i32$0; + i64toi32_i32$0 = ($5 + 64 | 0) + $100 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $361; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $108 = 16; + i64toi32_i32$2 = ($5 + 32 | 0) + $108 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $377 = i64toi32_i32$1; + i64toi32_i32$1 = ($5 + 64 | 0) + $108 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $377; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + $116 = 8; + i64toi32_i32$2 = ($5 + 32 | 0) + $116 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $393 = i64toi32_i32$0; + i64toi32_i32$0 = ($5 + 64 | 0) + $116 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $393; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$2 = $5; + i64toi32_i32$1 = HEAP32[($5 + 32 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($5 + 36 | 0) >> 2] | 0; + $397 = i64toi32_i32$1; + i64toi32_i32$1 = $5; + HEAP32[(i64toi32_i32$1 + 64 | 0) >> 2] = $397; + HEAP32[(i64toi32_i32$1 + 68 | 0) >> 2] = i64toi32_i32$0; + } + } + $128 = btDbvtAabbMm__Mins_28_29_20const($5 + 64 | 0 | 0) | 0; + $129 = HEAP32[($5 + 104 | 0) >> 2] | 0; + i64toi32_i32$2 = $128; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $409 = i64toi32_i32$0; + i64toi32_i32$0 = $129; + HEAP32[i64toi32_i32$0 >> 2] = $409; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $131 = 8; + i64toi32_i32$2 = i64toi32_i32$2 + $131 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $419 = i64toi32_i32$1; + i64toi32_i32$1 = $129 + $131 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $419; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + $138 = btDbvtAabbMm__Maxs_28_29_20const($5 + 64 | 0 | 0) | 0; + $139 = HEAP32[($5 + 100 | 0) >> 2] | 0; + i64toi32_i32$2 = $138; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $431 = i64toi32_i32$0; + i64toi32_i32$0 = $139; + HEAP32[i64toi32_i32$0 >> 2] = $431; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $141 = 8; + i64toi32_i32$2 = i64toi32_i32$2 + $141 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $441 = i64toi32_i32$1; + i64toi32_i32$1 = $139 + $141 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $441; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + __stack_pointer = $5 + 112 | 0; + return; + } + + function btDbvt__empty_28_29_20const($0) { + $0 = $0 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + return (0 | 0) == (HEAP32[(HEAP32[($3 + 12 | 0) >> 2] | 0) >> 2] | 0 | 0) & 1 | 0 | 0; + } + + function Merge_28btDbvtAabbMm_20const__2c_20btDbvtAabbMm_20const__2c_20btDbvtAabbMm__29($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $5 = 0, $37 = Math_fround(0), $50 = Math_fround(0), $86 = Math_fround(0), $103 = Math_fround(0), wasm2js_i32$0 = 0, wasm2js_f32$0 = Math_fround(0); + $5 = __stack_pointer - 16 | 0; + __stack_pointer = $5; + HEAP32[($5 + 12 | 0) >> 2] = $0; + HEAP32[($5 + 8 | 0) >> 2] = $1; + HEAP32[($5 + 4 | 0) >> 2] = $2; + HEAP32[$5 >> 2] = 0; + label$1 : { + label$2 : while (1) { + if (!((HEAP32[$5 >> 2] | 0 | 0) < (3 | 0) & 1 | 0)) { + break label$1 + } + label$3 : { + label$4 : { + if (!(Math_fround(HEAPF32[((btVector3__operator_20float_20const__28_29_20const(HEAP32[($5 + 12 | 0) >> 2] | 0 | 0) | 0) + ((HEAP32[$5 >> 2] | 0) << 2 | 0) | 0) >> 2]) < Math_fround(HEAPF32[((btVector3__operator_20float_20const__28_29_20const(HEAP32[($5 + 8 | 0) >> 2] | 0 | 0) | 0) + ((HEAP32[$5 >> 2] | 0) << 2 | 0) | 0) >> 2]) & 1 | 0)) { + break label$4 + } + $37 = Math_fround(HEAPF32[((btVector3__operator_20float_20const__28_29_20const(HEAP32[($5 + 12 | 0) >> 2] | 0 | 0) | 0) + ((HEAP32[$5 >> 2] | 0) << 2 | 0) | 0) >> 2]); + (wasm2js_i32$0 = (btVector3__operator_20float__28_29(HEAP32[($5 + 4 | 0) >> 2] | 0 | 0) | 0) + ((HEAP32[$5 >> 2] | 0) << 2 | 0) | 0, wasm2js_f32$0 = $37), HEAPF32[wasm2js_i32$0 >> 2] = wasm2js_f32$0; + break label$3; + } + $50 = Math_fround(HEAPF32[((btVector3__operator_20float_20const__28_29_20const(HEAP32[($5 + 8 | 0) >> 2] | 0 | 0) | 0) + ((HEAP32[$5 >> 2] | 0) << 2 | 0) | 0) >> 2]); + (wasm2js_i32$0 = (btVector3__operator_20float__28_29(HEAP32[($5 + 4 | 0) >> 2] | 0 | 0) | 0) + ((HEAP32[$5 >> 2] | 0) << 2 | 0) | 0, wasm2js_f32$0 = $50), HEAPF32[wasm2js_i32$0 >> 2] = wasm2js_f32$0; + } + label$5 : { + label$6 : { + if (!(Math_fround(HEAPF32[((btVector3__operator_20float_20const__28_29_20const((HEAP32[($5 + 12 | 0) >> 2] | 0) + 16 | 0 | 0) | 0) + ((HEAP32[$5 >> 2] | 0) << 2 | 0) | 0) >> 2]) > Math_fround(HEAPF32[((btVector3__operator_20float_20const__28_29_20const((HEAP32[($5 + 8 | 0) >> 2] | 0) + 16 | 0 | 0) | 0) + ((HEAP32[$5 >> 2] | 0) << 2 | 0) | 0) >> 2]) & 1 | 0)) { + break label$6 + } + $86 = Math_fround(HEAPF32[((btVector3__operator_20float_20const__28_29_20const((HEAP32[($5 + 12 | 0) >> 2] | 0) + 16 | 0 | 0) | 0) + ((HEAP32[$5 >> 2] | 0) << 2 | 0) | 0) >> 2]); + (wasm2js_i32$0 = (btVector3__operator_20float__28_29((HEAP32[($5 + 4 | 0) >> 2] | 0) + 16 | 0 | 0) | 0) + ((HEAP32[$5 >> 2] | 0) << 2 | 0) | 0, wasm2js_f32$0 = $86), HEAPF32[wasm2js_i32$0 >> 2] = wasm2js_f32$0; + break label$5; + } + $103 = Math_fround(HEAPF32[((btVector3__operator_20float_20const__28_29_20const((HEAP32[($5 + 8 | 0) >> 2] | 0) + 16 | 0 | 0) | 0) + ((HEAP32[$5 >> 2] | 0) << 2 | 0) | 0) >> 2]); + (wasm2js_i32$0 = (btVector3__operator_20float__28_29((HEAP32[($5 + 4 | 0) >> 2] | 0) + 16 | 0 | 0) | 0) + ((HEAP32[$5 >> 2] | 0) << 2 | 0) | 0, wasm2js_f32$0 = $103), HEAPF32[wasm2js_i32$0 >> 2] = wasm2js_f32$0; + } + HEAP32[$5 >> 2] = (HEAP32[$5 >> 2] | 0) + 1 | 0; + continue label$2; + }; + } + __stack_pointer = $5 + 16 | 0; + return; + } + + function btDbvtAabbMm__FromCR_28btVector3_20const__2c_20float_29($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = Math_fround($2); + var $5 = 0, $12 = 0, $6 = 0; + $5 = __stack_pointer - 32 | 0; + __stack_pointer = $5; + HEAP32[($5 + 28 | 0) >> 2] = $1; + HEAPF32[($5 + 24 | 0) >> 2] = $2; + $6 = HEAP32[($5 + 28 | 0) >> 2] | 0; + $12 = $5 + 24 | 0; + btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($5 + 8 | 0 | 0, $12 | 0, $12 | 0, $12 | 0) | 0; + btDbvtAabbMm__FromCE_28btVector3_20const__2c_20btVector3_20const__29($0 | 0, $6 | 0, $5 + 8 | 0 | 0); + __stack_pointer = $5 + 32 | 0; + return; + } + + function btDbvtAabbMm__FromCE_28btVector3_20const__2c_20btVector3_20const__29($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $5 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, $12 = 0, $24 = 0, $26 = 0, $59 = 0, $72 = 0, $90 = 0, $103 = 0; + $5 = __stack_pointer - 48 | 0; + __stack_pointer = $5; + HEAP32[($5 + 44 | 0) >> 2] = $1; + HEAP32[($5 + 40 | 0) >> 2] = $2; + btDbvtAabbMm__btDbvtAabbMm_28_29($0 | 0) | 0; + operator__28btVector3_20const__2c_20btVector3_20const__29($5 + 24 | 0 | 0, HEAP32[($5 + 44 | 0) >> 2] | 0 | 0, HEAP32[($5 + 40 | 0) >> 2] | 0 | 0); + i64toi32_i32$2 = $5; + i64toi32_i32$0 = HEAP32[($5 + 24 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($5 + 28 | 0) >> 2] | 0; + $59 = i64toi32_i32$0; + i64toi32_i32$0 = $0; + HEAP32[i64toi32_i32$0 >> 2] = $59; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $12 = 8; + i64toi32_i32$2 = ($5 + 24 | 0) + $12 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $72 = i64toi32_i32$1; + i64toi32_i32$1 = $0 + $12 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $72; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + operator__28btVector3_20const__2c_20btVector3_20const__29_2($5 + 8 | 0 | 0, HEAP32[($5 + 44 | 0) >> 2] | 0 | 0, HEAP32[($5 + 40 | 0) >> 2] | 0 | 0); + $24 = $0 + 16 | 0; + i64toi32_i32$2 = $5; + i64toi32_i32$0 = HEAP32[($5 + 8 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($5 + 12 | 0) >> 2] | 0; + $90 = i64toi32_i32$0; + i64toi32_i32$0 = $24; + HEAP32[i64toi32_i32$0 >> 2] = $90; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $26 = 8; + i64toi32_i32$2 = ($5 + 8 | 0) + $26 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $103 = i64toi32_i32$1; + i64toi32_i32$1 = $24 + $26 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $103; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + __stack_pointer = $5 + 48 | 0; + return; + } + + function btDbvtBroadphase__resetPool_28btDispatcher__29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $5 = 0, $4 = 0; + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; + HEAP32[($4 + 4 | 0) >> 2] = (HEAP32[($5 + 16 | 0) >> 2] | 0) + (HEAP32[($5 + 56 | 0) >> 2] | 0) | 0; + label$1 : { + if (HEAP32[($4 + 4 | 0) >> 2] | 0) { + break label$1 + } + btDbvt__clear_28_29($5 + 4 | 0 | 0); + btDbvt__clear_28_29(($5 + 4 | 0) + 40 | 0 | 0); + HEAP8[($5 + 153 | 0) >> 0] = 0; + HEAP8[($5 + 154 | 0) >> 0] = 1; + HEAP32[($5 + 104 | 0) >> 2] = 0; + HEAP32[($5 + 124 | 0) >> 2] = 0; + HEAP32[($5 + 108 | 0) >> 2] = 1; + HEAP32[($5 + 112 | 0) >> 2] = 0; + HEAP32[($5 + 116 | 0) >> 2] = 10; + HEAP32[($5 + 120 | 0) >> 2] = 1; + HEAP32[($5 + 128 | 0) >> 2] = 0; + HEAP32[($5 + 132 | 0) >> 2] = 0; + HEAPF32[($5 + 136 | 0) >> 2] = Math_fround(0 | 0); + HEAP32[($5 + 148 | 0) >> 2] = 0; + HEAP32[($5 + 140 | 0) >> 2] = 0; + HEAP32[($5 + 144 | 0) >> 2] = 0; + HEAP32[$4 >> 2] = 0; + label$2 : { + label$3 : while (1) { + if (!((HEAP32[$4 >> 2] | 0 | 0) <= (2 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[(($5 + 84 | 0) + ((HEAP32[$4 >> 2] | 0) << 2 | 0) | 0) >> 2] = 0; + HEAP32[$4 >> 2] = (HEAP32[$4 >> 2] | 0) + 1 | 0; + continue label$3; + }; + } + } + __stack_pointer = $4 + 16 | 0; + return; + } + + function btDbvtBroadphase__printStats_28_29($0) { + $0 = $0 | 0; + HEAP32[((__stack_pointer - 16 | 0) + 12 | 0) >> 2] = $0; + return; + } + + function btBroadphaseInterface___btBroadphaseInterface_28_29_1($0) { + $0 = $0 | 0; + HEAP32[((__stack_pointer - 16 | 0) + 12 | 0) >> 2] = $0; + wasm2js_trap(); + } + + function btBroadphaseInterface__resetPool_28btDispatcher__29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0; + $4 = __stack_pointer - 16 | 0; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + return; + } + + function btDbvtTreeCollider___btDbvtTreeCollider_28_29_1($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + btDbvtTreeCollider___btDbvtTreeCollider_28_29($4 | 0) | 0; + operator_20delete_28void__29($4 | 0); + __stack_pointer = $3 + 16 | 0; + return; + } + + function btDbvtTreeCollider__Process_28btDbvtNode_20const__2c_20btDbvtNode_20const__29($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $5 = 0, $6 = 0, $19 = 0, $24 = 0; + $5 = __stack_pointer - 32 | 0; + __stack_pointer = $5; + HEAP32[($5 + 28 | 0) >> 2] = $0; + HEAP32[($5 + 24 | 0) >> 2] = $1; + HEAP32[($5 + 20 | 0) >> 2] = $2; + $6 = HEAP32[($5 + 28 | 0) >> 2] | 0; + label$1 : { + if (!((HEAP32[($5 + 24 | 0) >> 2] | 0 | 0) != (HEAP32[($5 + 20 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$1 + } + HEAP32[($5 + 16 | 0) >> 2] = HEAP32[((HEAP32[($5 + 24 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0; + HEAP32[($5 + 12 | 0) >> 2] = HEAP32[((HEAP32[($5 + 20 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0; + $19 = HEAP32[((HEAP32[($6 + 4 | 0) >> 2] | 0) + 96 | 0) >> 2] | 0; + FUNCTION_TABLE[HEAP32[((HEAP32[$19 >> 2] | 0) + 8 | 0) >> 2] | 0 | 0]($19, HEAP32[($5 + 16 | 0) >> 2] | 0, HEAP32[($5 + 12 | 0) >> 2] | 0) | 0; + $24 = HEAP32[($6 + 4 | 0) >> 2] | 0; + HEAP32[($24 + 120 | 0) >> 2] = (HEAP32[($24 + 120 | 0) >> 2] | 0) + 1 | 0; + } + __stack_pointer = $5 + 32 | 0; + return; + } + + function btDbvtTreeCollider__Process_28btDbvtNode_20const__29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, $5 = 0; + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; + FUNCTION_TABLE[HEAP32[((HEAP32[$5 >> 2] | 0) + 8 | 0) >> 2] | 0 | 0]($5, HEAP32[($4 + 8 | 0) >> 2] | 0, HEAP32[((HEAP32[($5 + 8 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0); + __stack_pointer = $4 + 16 | 0; + return; + } + + function btDbvt__ICollide__Process_28btDbvtNode_20const__2c_20float_29($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = Math_fround($2); + var $5 = 0, $6 = 0; + $5 = __stack_pointer - 16 | 0; + __stack_pointer = $5; + HEAP32[($5 + 12 | 0) >> 2] = $0; + HEAP32[($5 + 8 | 0) >> 2] = $1; + HEAPF32[($5 + 4 | 0) >> 2] = $2; + $6 = HEAP32[($5 + 12 | 0) >> 2] | 0; + FUNCTION_TABLE[HEAP32[((HEAP32[$6 >> 2] | 0) + 12 | 0) >> 2] | 0 | 0]($6, HEAP32[($5 + 8 | 0) >> 2] | 0); + __stack_pointer = $5 + 16 | 0; + return; + } + + function btDbvt__ICollide__Descent_28btDbvtNode_20const__29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0; + $4 = __stack_pointer - 16 | 0; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + return 1 & 1 | 0 | 0; + } + + function btDbvt__ICollide__AllLeaves_28btDbvtNode_20const__29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0; + $4 = __stack_pointer - 16 | 0; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + return 1 & 1 | 0 | 0; + } + + function btDbvt__ICollide___ICollide_28_29_1($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + btDbvt__ICollide___ICollide_28_29($4 | 0) | 0; + operator_20delete_28void__29($4 | 0); + __stack_pointer = $3 + 16 | 0; + return; + } + + function btDbvt__ICollide__Process_28btDbvtNode_20const__2c_20btDbvtNode_20const__29($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $5 = 0; + $5 = __stack_pointer - 16 | 0; + HEAP32[($5 + 12 | 0) >> 2] = $0; + HEAP32[($5 + 8 | 0) >> 2] = $1; + HEAP32[($5 + 4 | 0) >> 2] = $2; + return; + } + + function btDbvt__ICollide__Process_28btDbvtNode_20const__29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0; + $4 = __stack_pointer - 16 | 0; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + return; + } + + function btAlignedObjectArray_btDbvtNode_20const____reserve_28int_29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, $5 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; + label$1 : { + if (!((btAlignedObjectArray_btDbvtNode_20const____capacity_28_29_20const($5 | 0) | 0 | 0) < (HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$1 + } + (wasm2js_i32$0 = $4, wasm2js_i32$1 = btAlignedObjectArray_btDbvtNode_20const____allocate_28int_29($5 | 0, HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + btAlignedObjectArray_btDbvtNode_20const____copy_28int_2c_20int_2c_20btDbvtNode_20const___29_20const($5 | 0, 0 | 0, btAlignedObjectArray_btDbvtNode_20const____size_28_29_20const($5 | 0) | 0 | 0, HEAP32[($4 + 4 | 0) >> 2] | 0 | 0); + btAlignedObjectArray_btDbvtNode_20const____destroy_28int_2c_20int_29($5 | 0, 0 | 0, btAlignedObjectArray_btDbvtNode_20const____size_28_29_20const($5 | 0) | 0 | 0); + btAlignedObjectArray_btDbvtNode_20const____deallocate_28_29($5 | 0); + HEAP8[($5 + 16 | 0) >> 0] = 1; + HEAP32[($5 + 12 | 0) >> 2] = HEAP32[($4 + 4 | 0) >> 2] | 0; + HEAP32[($5 + 8 | 0) >> 2] = HEAP32[($4 + 8 | 0) >> 2] | 0; + } + __stack_pointer = $4 + 16 | 0; + return; + } + + function btAlignedObjectArray_btDbvtNode_20const____capacity_28_29_20const($0) { + $0 = $0 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + return HEAP32[((HEAP32[($3 + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0; + } + + function btAlignedObjectArray_btDbvtNode_20const____allocSize_28int_29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, $9 = 0; + $4 = __stack_pointer - 16 | 0; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + label$1 : { + label$2 : { + if (!(HEAP32[($4 + 8 | 0) >> 2] | 0)) { + break label$2 + } + $9 = (HEAP32[($4 + 8 | 0) >> 2] | 0) << 1 | 0; + break label$1; + } + $9 = 1; + } + return $9 | 0; + } + + function btDbvtNode__isleaf_28_29_20const($0) { + $0 = $0 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + return (HEAP32[((HEAP32[($3 + 12 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0 | 0; + } + + function btAlignedObjectArray_btDbvtNode_20const____allocate_28int_29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, $5 = 0, $11 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[($4 + 8 | 0) >> 2] = $0; + HEAP32[($4 + 4 | 0) >> 2] = $1; + $5 = HEAP32[($4 + 8 | 0) >> 2] | 0; + label$1 : { + label$2 : { + if (!(HEAP32[($4 + 4 | 0) >> 2] | 0)) { + break label$2 + } + (wasm2js_i32$0 = $4, wasm2js_i32$1 = btAlignedAllocator_btDbvtNode_20const__2c_2016u___allocate_28int_2c_20btDbvtNode_20const__20const___29($5 | 0, HEAP32[($4 + 4 | 0) >> 2] | 0 | 0, 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + break label$1; + } + HEAP32[($4 + 12 | 0) >> 2] = 0; + } + $11 = HEAP32[($4 + 12 | 0) >> 2] | 0; + __stack_pointer = $4 + 16 | 0; + return $11 | 0; + } + + function btAlignedObjectArray_btDbvtNode_20const____copy_28int_2c_20int_2c_20btDbvtNode_20const___29_20const($0, $1, $2, $3) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + var $6 = 0, $7 = 0; + $6 = __stack_pointer - 32 | 0; + HEAP32[($6 + 28 | 0) >> 2] = $0; + HEAP32[($6 + 24 | 0) >> 2] = $1; + HEAP32[($6 + 20 | 0) >> 2] = $2; + HEAP32[($6 + 16 | 0) >> 2] = $3; + $7 = HEAP32[($6 + 28 | 0) >> 2] | 0; + HEAP32[($6 + 12 | 0) >> 2] = HEAP32[($6 + 24 | 0) >> 2] | 0; + label$1 : { + label$2 : while (1) { + if (!((HEAP32[($6 + 12 | 0) >> 2] | 0 | 0) < (HEAP32[($6 + 20 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$1 + } + HEAP32[((HEAP32[($6 + 16 | 0) >> 2] | 0) + ((HEAP32[($6 + 12 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = HEAP32[((HEAP32[($7 + 12 | 0) >> 2] | 0) + ((HEAP32[($6 + 12 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; + HEAP32[($6 + 12 | 0) >> 2] = (HEAP32[($6 + 12 | 0) >> 2] | 0) + 1 | 0; + continue label$2; + }; + } + return; + } + + function btAlignedObjectArray_btDbvtNode_20const____destroy_28int_2c_20int_29($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $5 = 0; + $5 = __stack_pointer - 16 | 0; + HEAP32[($5 + 12 | 0) >> 2] = $0; + HEAP32[($5 + 8 | 0) >> 2] = $1; + HEAP32[($5 + 4 | 0) >> 2] = $2; + HEAP32[($5 + 12 | 0) >> 2] | 0; + HEAP32[$5 >> 2] = HEAP32[($5 + 8 | 0) >> 2] | 0; + label$1 : { + label$2 : while (1) { + if (!((HEAP32[$5 >> 2] | 0 | 0) < (HEAP32[($5 + 4 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$1 + } + HEAP32[$5 >> 2] = (HEAP32[$5 >> 2] | 0) + 1 | 0; + continue label$2; + }; + } + return; + } + + function btAlignedObjectArray_btDbvtNode_20const____deallocate_28_29($0) { + $0 = $0 | 0; + var $4 = 0, $3 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + label$1 : { + if (!((HEAP32[($4 + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + label$2 : { + if (!((HEAPU8[($4 + 16 | 0) >> 0] | 0) & 1 | 0)) { + break label$2 + } + btAlignedAllocator_btDbvtNode_20const__2c_2016u___deallocate_28btDbvtNode_20const___29($4 | 0, HEAP32[($4 + 12 | 0) >> 2] | 0 | 0); + } + HEAP32[($4 + 12 | 0) >> 2] = 0; + } + __stack_pointer = $3 + 16 | 0; + return; + } + + function btAlignedAllocator_btDbvtNode_20const__2c_2016u___allocate_28int_2c_20btDbvtNode_20const__20const___29($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $5 = 0, $10 = 0; + $5 = __stack_pointer - 16 | 0; + __stack_pointer = $5; + HEAP32[($5 + 12 | 0) >> 2] = $0; + HEAP32[($5 + 8 | 0) >> 2] = $1; + HEAP32[($5 + 4 | 0) >> 2] = $2; + $10 = btAlignedAllocInternal_28unsigned_20long_2c_20int_29((HEAP32[($5 + 8 | 0) >> 2] | 0) << 2 | 0 | 0, 16 | 0) | 0; + __stack_pointer = $5 + 16 | 0; + return $10 | 0; + } + + function btAlignedAllocator_btDbvtNode_20const__2c_2016u___deallocate_28btDbvtNode_20const___29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0; + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + btAlignedFreeInternal_28void__29(HEAP32[($4 + 8 | 0) >> 2] | 0 | 0); + __stack_pointer = $4 + 16 | 0; + return; + } + + function BroadphaseRayTester___BroadphaseRayTester_28_29_1($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + BroadphaseRayTester___BroadphaseRayTester_28_29($4 | 0) | 0; + operator_20delete_28void__29($4 | 0); + __stack_pointer = $3 + 16 | 0; + return; + } + + function BroadphaseRayTester__Process_28btDbvtNode_20const__29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, $8 = 0, $5 = 0; + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; + HEAP32[($4 + 4 | 0) >> 2] = HEAP32[((HEAP32[($4 + 8 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0; + $8 = HEAP32[($5 + 4 | 0) >> 2] | 0; + FUNCTION_TABLE[HEAP32[((HEAP32[$8 >> 2] | 0) + 8 | 0) >> 2] | 0 | 0]($8, HEAP32[($4 + 4 | 0) >> 2] | 0) | 0; + __stack_pointer = $4 + 16 | 0; + return; + } + + function btVector3__getX_28_29_20const($0) { + $0 = $0 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + return HEAP32[($3 + 12 | 0) >> 2] | 0 | 0; + } + + function btVector3__getY_28_29_20const($0) { + $0 = $0 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + return (HEAP32[($3 + 12 | 0) >> 2] | 0) + 4 | 0 | 0; + } + + function btVector3__getZ_28_29_20const($0) { + $0 = $0 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + return (HEAP32[($3 + 12 | 0) >> 2] | 0) + 8 | 0 | 0; + } + + function BroadphaseAabbTester___BroadphaseAabbTester_28_29_1($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + BroadphaseAabbTester___BroadphaseAabbTester_28_29($4 | 0) | 0; + operator_20delete_28void__29($4 | 0); + __stack_pointer = $3 + 16 | 0; + return; + } + + function BroadphaseAabbTester__Process_28btDbvtNode_20const__29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, $8 = 0, $5 = 0; + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; + HEAP32[($4 + 4 | 0) >> 2] = HEAP32[((HEAP32[($4 + 8 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0; + $8 = HEAP32[($5 + 4 | 0) >> 2] | 0; + FUNCTION_TABLE[HEAP32[((HEAP32[$8 >> 2] | 0) + 8 | 0) >> 2] | 0 | 0]($8, HEAP32[($4 + 4 | 0) >> 2] | 0) | 0; + __stack_pointer = $4 + 16 | 0; + return; + } + + function btAlignedObjectArray_btDbvt__sStkNN___reserve_28int_29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, $5 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; + label$1 : { + if (!((btAlignedObjectArray_btDbvt__sStkNN___capacity_28_29_20const($5 | 0) | 0 | 0) < (HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$1 + } + (wasm2js_i32$0 = $4, wasm2js_i32$1 = btAlignedObjectArray_btDbvt__sStkNN___allocate_28int_29($5 | 0, HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + btAlignedObjectArray_btDbvt__sStkNN___copy_28int_2c_20int_2c_20btDbvt__sStkNN__29_20const($5 | 0, 0 | 0, btAlignedObjectArray_btDbvt__sStkNN___size_28_29_20const($5 | 0) | 0 | 0, HEAP32[($4 + 4 | 0) >> 2] | 0 | 0); + btAlignedObjectArray_btDbvt__sStkNN___destroy_28int_2c_20int_29($5 | 0, 0 | 0, btAlignedObjectArray_btDbvt__sStkNN___size_28_29_20const($5 | 0) | 0 | 0); + btAlignedObjectArray_btDbvt__sStkNN___deallocate_28_29($5 | 0); + HEAP8[($5 + 16 | 0) >> 0] = 1; + HEAP32[($5 + 12 | 0) >> 2] = HEAP32[($4 + 4 | 0) >> 2] | 0; + HEAP32[($5 + 8 | 0) >> 2] = HEAP32[($4 + 8 | 0) >> 2] | 0; + } + __stack_pointer = $4 + 16 | 0; + return; + } + + function btAlignedObjectArray_btDbvt__sStkNN___capacity_28_29_20const($0) { + $0 = $0 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + return HEAP32[((HEAP32[($3 + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0; + } + + function btAlignedObjectArray_btDbvt__sStkNN___allocate_28int_29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, $5 = 0, $11 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[($4 + 8 | 0) >> 2] = $0; + HEAP32[($4 + 4 | 0) >> 2] = $1; + $5 = HEAP32[($4 + 8 | 0) >> 2] | 0; + label$1 : { + label$2 : { + if (!(HEAP32[($4 + 4 | 0) >> 2] | 0)) { + break label$2 + } + (wasm2js_i32$0 = $4, wasm2js_i32$1 = btAlignedAllocator_btDbvt__sStkNN_2c_2016u___allocate_28int_2c_20btDbvt__sStkNN_20const___29($5 | 0, HEAP32[($4 + 4 | 0) >> 2] | 0 | 0, 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + break label$1; + } + HEAP32[($4 + 12 | 0) >> 2] = 0; + } + $11 = HEAP32[($4 + 12 | 0) >> 2] | 0; + __stack_pointer = $4 + 16 | 0; + return $11 | 0; + } + + function btAlignedObjectArray_btDbvt__sStkNN___copy_28int_2c_20int_2c_20btDbvt__sStkNN__29_20const($0, $1, $2, $3) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + var $6 = 0, i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, $7 = 0, i64toi32_i32$1 = 0, $85 = 0; + $6 = __stack_pointer - 32 | 0; + HEAP32[($6 + 28 | 0) >> 2] = $0; + HEAP32[($6 + 24 | 0) >> 2] = $1; + HEAP32[($6 + 20 | 0) >> 2] = $2; + HEAP32[($6 + 16 | 0) >> 2] = $3; + $7 = HEAP32[($6 + 28 | 0) >> 2] | 0; + HEAP32[($6 + 12 | 0) >> 2] = HEAP32[($6 + 24 | 0) >> 2] | 0; + label$1 : { + label$2 : while (1) { + if (!((HEAP32[($6 + 12 | 0) >> 2] | 0 | 0) < (HEAP32[($6 + 20 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$1 + } + i64toi32_i32$2 = (HEAP32[($7 + 12 | 0) >> 2] | 0) + ((HEAP32[($6 + 12 | 0) >> 2] | 0) << 3 | 0) | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $85 = i64toi32_i32$0; + i64toi32_i32$0 = (HEAP32[($6 + 16 | 0) >> 2] | 0) + ((HEAP32[($6 + 12 | 0) >> 2] | 0) << 3 | 0) | 0; + HEAP32[i64toi32_i32$0 >> 2] = $85; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + HEAP32[($6 + 12 | 0) >> 2] = (HEAP32[($6 + 12 | 0) >> 2] | 0) + 1 | 0; + continue label$2; + }; + } + return; + } + + function btAlignedObjectArray_btDbvt__sStkNN___destroy_28int_2c_20int_29($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $5 = 0; + $5 = __stack_pointer - 16 | 0; + HEAP32[($5 + 12 | 0) >> 2] = $0; + HEAP32[($5 + 8 | 0) >> 2] = $1; + HEAP32[($5 + 4 | 0) >> 2] = $2; + HEAP32[($5 + 12 | 0) >> 2] | 0; + HEAP32[$5 >> 2] = HEAP32[($5 + 8 | 0) >> 2] | 0; + label$1 : { + label$2 : while (1) { + if (!((HEAP32[$5 >> 2] | 0 | 0) < (HEAP32[($5 + 4 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$1 + } + HEAP32[$5 >> 2] = (HEAP32[$5 >> 2] | 0) + 1 | 0; + continue label$2; + }; + } + return; + } + + function btAlignedObjectArray_btDbvt__sStkNN___deallocate_28_29($0) { + $0 = $0 | 0; + var $4 = 0, $3 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + label$1 : { + if (!((HEAP32[($4 + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + label$2 : { + if (!((HEAPU8[($4 + 16 | 0) >> 0] | 0) & 1 | 0)) { + break label$2 + } + btAlignedAllocator_btDbvt__sStkNN_2c_2016u___deallocate_28btDbvt__sStkNN__29($4 | 0, HEAP32[($4 + 12 | 0) >> 2] | 0 | 0); + } + HEAP32[($4 + 12 | 0) >> 2] = 0; + } + __stack_pointer = $3 + 16 | 0; + return; + } + + function btAlignedAllocator_btDbvt__sStkNN_2c_2016u___allocate_28int_2c_20btDbvt__sStkNN_20const___29($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $5 = 0, $10 = 0; + $5 = __stack_pointer - 16 | 0; + __stack_pointer = $5; + HEAP32[($5 + 12 | 0) >> 2] = $0; + HEAP32[($5 + 8 | 0) >> 2] = $1; + HEAP32[($5 + 4 | 0) >> 2] = $2; + $10 = btAlignedAllocInternal_28unsigned_20long_2c_20int_29((HEAP32[($5 + 8 | 0) >> 2] | 0) << 3 | 0 | 0, 16 | 0) | 0; + __stack_pointer = $5 + 16 | 0; + return $10 | 0; + } + + function btAlignedAllocator_btDbvt__sStkNN_2c_2016u___deallocate_28btDbvt__sStkNN__29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0; + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + btAlignedFreeInternal_28void__29(HEAP32[($4 + 8 | 0) >> 2] | 0 | 0); + __stack_pointer = $4 + 16 | 0; + return; + } + + function btAlignedObjectArray_btAlignedObjectArray_btDbvtNode_20const_____destroy_28int_2c_20int_29($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $5 = 0, $6 = 0; + $5 = __stack_pointer - 16 | 0; + __stack_pointer = $5; + HEAP32[($5 + 12 | 0) >> 2] = $0; + HEAP32[($5 + 8 | 0) >> 2] = $1; + HEAP32[($5 + 4 | 0) >> 2] = $2; + $6 = HEAP32[($5 + 12 | 0) >> 2] | 0; + HEAP32[$5 >> 2] = HEAP32[($5 + 8 | 0) >> 2] | 0; + label$1 : { + label$2 : while (1) { + if (!((HEAP32[$5 >> 2] | 0 | 0) < (HEAP32[($5 + 4 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$1 + } + btAlignedObjectArray_btDbvtNode_20const_____btAlignedObjectArray_28_29((HEAP32[($6 + 12 | 0) >> 2] | 0) + Math_imul(HEAP32[$5 >> 2] | 0, 20) | 0 | 0) | 0; + HEAP32[$5 >> 2] = (HEAP32[$5 >> 2] | 0) + 1 | 0; + continue label$2; + }; + } + __stack_pointer = $5 + 16 | 0; + return; + } + + function btAlignedObjectArray_btAlignedObjectArray_btDbvtNode_20const_____deallocate_28_29($0) { + $0 = $0 | 0; + var $4 = 0, $3 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + label$1 : { + if (!((HEAP32[($4 + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + label$2 : { + if (!((HEAPU8[($4 + 16 | 0) >> 0] | 0) & 1 | 0)) { + break label$2 + } + btAlignedAllocator_btAlignedObjectArray_btDbvtNode_20const___2c_2016u___deallocate_28btAlignedObjectArray_btDbvtNode_20const____29($4 | 0, HEAP32[($4 + 12 | 0) >> 2] | 0 | 0); + } + HEAP32[($4 + 12 | 0) >> 2] = 0; + } + __stack_pointer = $3 + 16 | 0; + return; + } + + function btAlignedAllocator_btAlignedObjectArray_btDbvtNode_20const___2c_2016u___deallocate_28btAlignedObjectArray_btDbvtNode_20const____29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0; + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + btAlignedFreeInternal_28void__29(HEAP32[($4 + 8 | 0) >> 2] | 0 | 0); + __stack_pointer = $4 + 16 | 0; + return; + } + + function btAlignedObjectArray_btAlignedObjectArray_btDbvtNode_20const_____capacity_28_29_20const($0) { + $0 = $0 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + return HEAP32[((HEAP32[($3 + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0; + } + + function btAlignedObjectArray_btAlignedObjectArray_btDbvtNode_20const_____allocate_28int_29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, $5 = 0, $11 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[($4 + 8 | 0) >> 2] = $0; + HEAP32[($4 + 4 | 0) >> 2] = $1; + $5 = HEAP32[($4 + 8 | 0) >> 2] | 0; + label$1 : { + label$2 : { + if (!(HEAP32[($4 + 4 | 0) >> 2] | 0)) { + break label$2 + } + (wasm2js_i32$0 = $4, wasm2js_i32$1 = btAlignedAllocator_btAlignedObjectArray_btDbvtNode_20const___2c_2016u___allocate_28int_2c_20btAlignedObjectArray_btDbvtNode_20const___20const___29($5 | 0, HEAP32[($4 + 4 | 0) >> 2] | 0 | 0, 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + break label$1; + } + HEAP32[($4 + 12 | 0) >> 2] = 0; + } + $11 = HEAP32[($4 + 12 | 0) >> 2] | 0; + __stack_pointer = $4 + 16 | 0; + return $11 | 0; + } + + function btAlignedObjectArray_btAlignedObjectArray_btDbvtNode_20const_____copy_28int_2c_20int_2c_20btAlignedObjectArray_btDbvtNode_20const____29_20const($0, $1, $2, $3) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + var $6 = 0, $7 = 0; + $6 = __stack_pointer - 32 | 0; + __stack_pointer = $6; + HEAP32[($6 + 28 | 0) >> 2] = $0; + HEAP32[($6 + 24 | 0) >> 2] = $1; + HEAP32[($6 + 20 | 0) >> 2] = $2; + HEAP32[($6 + 16 | 0) >> 2] = $3; + $7 = HEAP32[($6 + 28 | 0) >> 2] | 0; + HEAP32[($6 + 12 | 0) >> 2] = HEAP32[($6 + 24 | 0) >> 2] | 0; + label$1 : { + label$2 : while (1) { + if (!((HEAP32[($6 + 12 | 0) >> 2] | 0 | 0) < (HEAP32[($6 + 20 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$1 + } + btAlignedObjectArray_btDbvtNode_20const____btAlignedObjectArray_28btAlignedObjectArray_btDbvtNode_20const___20const__29((HEAP32[($6 + 16 | 0) >> 2] | 0) + Math_imul(HEAP32[($6 + 12 | 0) >> 2] | 0, 20) | 0 | 0, (HEAP32[($7 + 12 | 0) >> 2] | 0) + Math_imul(HEAP32[($6 + 12 | 0) >> 2] | 0, 20) | 0 | 0) | 0; + HEAP32[($6 + 12 | 0) >> 2] = (HEAP32[($6 + 12 | 0) >> 2] | 0) + 1 | 0; + continue label$2; + }; + } + __stack_pointer = $6 + 32 | 0; + return; + } + + function btAlignedAllocator_btAlignedObjectArray_btDbvtNode_20const___2c_2016u___allocate_28int_2c_20btAlignedObjectArray_btDbvtNode_20const___20const___29($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $5 = 0, $10 = 0; + $5 = __stack_pointer - 16 | 0; + __stack_pointer = $5; + HEAP32[($5 + 12 | 0) >> 2] = $0; + HEAP32[($5 + 8 | 0) >> 2] = $1; + HEAP32[($5 + 4 | 0) >> 2] = $2; + $10 = btAlignedAllocInternal_28unsigned_20long_2c_20int_29(Math_imul(HEAP32[($5 + 8 | 0) >> 2] | 0, 20) | 0, 16 | 0) | 0; + __stack_pointer = $5 + 16 | 0; + return $10 | 0; + } + + function btBroadphasePairSortPredicate__operator_28_29_28btBroadphasePair_20const__2c_20btBroadphasePair_20const__29_20const($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $5 = 0, $70 = 0, $98 = 0, $17 = 0, $31 = 0, $45 = 0, $59 = 0; + $5 = __stack_pointer - 32 | 0; + HEAP32[($5 + 28 | 0) >> 2] = $0; + HEAP32[($5 + 24 | 0) >> 2] = $1; + HEAP32[($5 + 20 | 0) >> 2] = $2; + label$1 : { + label$2 : { + if (!((HEAP32[(HEAP32[($5 + 24 | 0) >> 2] | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$2 + } + $17 = HEAP32[((HEAP32[(HEAP32[($5 + 24 | 0) >> 2] | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + break label$1; + } + $17 = -1; + } + HEAP32[($5 + 16 | 0) >> 2] = $17; + label$3 : { + label$4 : { + if (!((HEAP32[(HEAP32[($5 + 20 | 0) >> 2] | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$4 + } + $31 = HEAP32[((HEAP32[(HEAP32[($5 + 20 | 0) >> 2] | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + break label$3; + } + $31 = -1; + } + HEAP32[($5 + 12 | 0) >> 2] = $31; + label$5 : { + label$6 : { + if (!((HEAP32[((HEAP32[($5 + 24 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$6 + } + $45 = HEAP32[((HEAP32[((HEAP32[($5 + 24 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + break label$5; + } + $45 = -1; + } + HEAP32[($5 + 8 | 0) >> 2] = $45; + label$7 : { + label$8 : { + if (!((HEAP32[((HEAP32[($5 + 20 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$8 + } + $59 = HEAP32[((HEAP32[((HEAP32[($5 + 20 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + break label$7; + } + $59 = -1; + } + HEAP32[($5 + 4 | 0) >> 2] = $59; + $70 = 1; + label$9 : { + if ((HEAP32[($5 + 16 | 0) >> 2] | 0 | 0) > (HEAP32[($5 + 12 | 0) >> 2] | 0 | 0) & 1 | 0) { + break label$9 + } + label$10 : { + if (!((HEAP32[(HEAP32[($5 + 24 | 0) >> 2] | 0) >> 2] | 0 | 0) == (HEAP32[(HEAP32[($5 + 20 | 0) >> 2] | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$10 + } + $70 = 1; + if ((HEAP32[($5 + 8 | 0) >> 2] | 0 | 0) > (HEAP32[($5 + 4 | 0) >> 2] | 0 | 0) & 1 | 0) { + break label$9 + } + } + $98 = 0; + label$11 : { + if (!((HEAP32[(HEAP32[($5 + 24 | 0) >> 2] | 0) >> 2] | 0 | 0) == (HEAP32[(HEAP32[($5 + 20 | 0) >> 2] | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$11 + } + $98 = 0; + if (!((HEAP32[((HEAP32[($5 + 24 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) == (HEAP32[((HEAP32[($5 + 20 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$11 + } + $98 = (HEAP32[((HEAP32[($5 + 24 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) >>> 0 > (HEAP32[((HEAP32[($5 + 20 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) >>> 0; + } + $70 = $98; + } + return $70 & 1 | 0 | 0; + } + + function btAlignedObjectArray_btBroadphasePair___swap_28int_2c_20int_29($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $5 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, $6 = 0, $24 = 0, $26 = 0, $34 = 0, $36 = 0, $97 = 0, $107 = 0, $121 = 0, $134 = 0; + $5 = __stack_pointer - 32 | 0; + __stack_pointer = $5; + HEAP32[($5 + 28 | 0) >> 2] = $0; + HEAP32[($5 + 24 | 0) >> 2] = $1; + HEAP32[($5 + 20 | 0) >> 2] = $2; + $6 = HEAP32[($5 + 28 | 0) >> 2] | 0; + btBroadphasePair__btBroadphasePair_28btBroadphasePair_20const__29($5 + 4 | 0 | 0, (HEAP32[($6 + 12 | 0) >> 2] | 0) + ((HEAP32[($5 + 24 | 0) >> 2] | 0) << 4 | 0) | 0 | 0) | 0; + $24 = (HEAP32[($6 + 12 | 0) >> 2] | 0) + ((HEAP32[($5 + 24 | 0) >> 2] | 0) << 4 | 0) | 0; + i64toi32_i32$2 = (HEAP32[($6 + 12 | 0) >> 2] | 0) + ((HEAP32[($5 + 20 | 0) >> 2] | 0) << 4 | 0) | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $97 = i64toi32_i32$0; + i64toi32_i32$0 = $24; + HEAP32[i64toi32_i32$0 >> 2] = $97; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $26 = 8; + i64toi32_i32$2 = i64toi32_i32$2 + $26 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $107 = i64toi32_i32$1; + i64toi32_i32$1 = $24 + $26 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $107; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + $34 = (HEAP32[($6 + 12 | 0) >> 2] | 0) + ((HEAP32[($5 + 20 | 0) >> 2] | 0) << 4 | 0) | 0; + i64toi32_i32$2 = $5; + i64toi32_i32$0 = HEAP32[($5 + 4 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($5 + 8 | 0) >> 2] | 0; + $121 = i64toi32_i32$0; + i64toi32_i32$0 = $34; + HEAP32[i64toi32_i32$0 >> 2] = $121; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $36 = 8; + i64toi32_i32$2 = ($5 + 4 | 0) + $36 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $134 = i64toi32_i32$1; + i64toi32_i32$1 = $34 + $36 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $134; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + __stack_pointer = $5 + 32 | 0; + return; + } + + function btAlignedObjectArray_btBroadphasePair___capacity_28_29_20const($0) { + $0 = $0 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + return HEAP32[((HEAP32[($3 + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0; + } + + function btAlignedObjectArray_btBroadphasePair___allocate_28int_29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, $5 = 0, $11 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[($4 + 8 | 0) >> 2] = $0; + HEAP32[($4 + 4 | 0) >> 2] = $1; + $5 = HEAP32[($4 + 8 | 0) >> 2] | 0; + label$1 : { + label$2 : { + if (!(HEAP32[($4 + 4 | 0) >> 2] | 0)) { + break label$2 + } + (wasm2js_i32$0 = $4, wasm2js_i32$1 = btAlignedAllocator_btBroadphasePair_2c_2016u___allocate_28int_2c_20btBroadphasePair_20const___29($5 | 0, HEAP32[($4 + 4 | 0) >> 2] | 0 | 0, 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + break label$1; + } + HEAP32[($4 + 12 | 0) >> 2] = 0; + } + $11 = HEAP32[($4 + 12 | 0) >> 2] | 0; + __stack_pointer = $4 + 16 | 0; + return $11 | 0; + } + + function btAlignedObjectArray_btBroadphasePair___copy_28int_2c_20int_2c_20btBroadphasePair__29_20const($0, $1, $2, $3) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + var $6 = 0, $7 = 0; + $6 = __stack_pointer - 32 | 0; + __stack_pointer = $6; + HEAP32[($6 + 28 | 0) >> 2] = $0; + HEAP32[($6 + 24 | 0) >> 2] = $1; + HEAP32[($6 + 20 | 0) >> 2] = $2; + HEAP32[($6 + 16 | 0) >> 2] = $3; + $7 = HEAP32[($6 + 28 | 0) >> 2] | 0; + HEAP32[($6 + 12 | 0) >> 2] = HEAP32[($6 + 24 | 0) >> 2] | 0; + label$1 : { + label$2 : while (1) { + if (!((HEAP32[($6 + 12 | 0) >> 2] | 0 | 0) < (HEAP32[($6 + 20 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$1 + } + btBroadphasePair__btBroadphasePair_28btBroadphasePair_20const__29(btBroadphasePair__operator_20new_28unsigned_20long_2c_20void__29(16 | 0, (HEAP32[($6 + 16 | 0) >> 2] | 0) + ((HEAP32[($6 + 12 | 0) >> 2] | 0) << 4 | 0) | 0 | 0) | 0 | 0, (HEAP32[($7 + 12 | 0) >> 2] | 0) + ((HEAP32[($6 + 12 | 0) >> 2] | 0) << 4 | 0) | 0 | 0) | 0; + HEAP32[($6 + 12 | 0) >> 2] = (HEAP32[($6 + 12 | 0) >> 2] | 0) + 1 | 0; + continue label$2; + }; + } + __stack_pointer = $6 + 32 | 0; + return; + } + + function btAlignedObjectArray_btBroadphasePair___destroy_28int_2c_20int_29($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $5 = 0; + $5 = __stack_pointer - 16 | 0; + HEAP32[($5 + 12 | 0) >> 2] = $0; + HEAP32[($5 + 8 | 0) >> 2] = $1; + HEAP32[($5 + 4 | 0) >> 2] = $2; + HEAP32[($5 + 12 | 0) >> 2] | 0; + HEAP32[$5 >> 2] = HEAP32[($5 + 8 | 0) >> 2] | 0; + label$1 : { + label$2 : while (1) { + if (!((HEAP32[$5 >> 2] | 0 | 0) < (HEAP32[($5 + 4 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$1 + } + HEAP32[$5 >> 2] = (HEAP32[$5 >> 2] | 0) + 1 | 0; + continue label$2; + }; + } + return; + } + + function btAlignedObjectArray_btBroadphasePair___deallocate_28_29($0) { + $0 = $0 | 0; + var $4 = 0, $3 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + label$1 : { + if (!((HEAP32[($4 + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + label$2 : { + if (!((HEAPU8[($4 + 16 | 0) >> 0] | 0) & 1 | 0)) { + break label$2 + } + btAlignedAllocator_btBroadphasePair_2c_2016u___deallocate_28btBroadphasePair__29($4 | 0, HEAP32[($4 + 12 | 0) >> 2] | 0 | 0); + } + HEAP32[($4 + 12 | 0) >> 2] = 0; + } + __stack_pointer = $3 + 16 | 0; + return; + } + + function btAlignedAllocator_btBroadphasePair_2c_2016u___allocate_28int_2c_20btBroadphasePair_20const___29($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $5 = 0, $10 = 0; + $5 = __stack_pointer - 16 | 0; + __stack_pointer = $5; + HEAP32[($5 + 12 | 0) >> 2] = $0; + HEAP32[($5 + 8 | 0) >> 2] = $1; + HEAP32[($5 + 4 | 0) >> 2] = $2; + $10 = btAlignedAllocInternal_28unsigned_20long_2c_20int_29((HEAP32[($5 + 8 | 0) >> 2] | 0) << 4 | 0 | 0, 16 | 0) | 0; + __stack_pointer = $5 + 16 | 0; + return $10 | 0; + } + + function btAlignedAllocator_btBroadphasePair_2c_2016u___deallocate_28btBroadphasePair__29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0; + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + btAlignedFreeInternal_28void__29(HEAP32[($4 + 8 | 0) >> 2] | 0 | 0); + __stack_pointer = $4 + 16 | 0; + return; + } + + function _GLOBAL__sub_I_btDbvtBroadphase_cpp() { + __cxx_global_var_init_4(); + return; + } + + function __cxx_global_var_init_5() { + btInfMaskConverter__btInfMaskConverter_28int_29(113940 | 0, 2139095040 | 0) | 0; + return; + } + + function btEnterProfileZoneDefault_28char_20const__29($0) { + $0 = $0 | 0; + HEAP32[((__stack_pointer - 16 | 0) + 12 | 0) >> 2] = $0; + return; + } + + function btLeaveProfileZoneDefault_28_29() { + + } + + function btEnterProfileZone_28char_20const__29($0) { + $0 = $0 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + FUNCTION_TABLE[HEAP32[(0 + 112824 | 0) >> 2] | 0 | 0](HEAP32[($3 + 12 | 0) >> 2] | 0); + __stack_pointer = $3 + 16 | 0; + return; + } + + function btLeaveProfileZone_28_29() { + FUNCTION_TABLE[HEAP32[(0 + 112828 | 0) >> 2] | 0 | 0](); + return; + } + + function CProfileSample__CProfileSample_28char_20const__29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, $5 = 0; + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; + btEnterProfileZone_28char_20const__29(HEAP32[($4 + 8 | 0) >> 2] | 0 | 0); + __stack_pointer = $4 + 16 | 0; + return $5 | 0; + } + + function CProfileSample___CProfileSample_28_29($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + btLeaveProfileZone_28_29(); + __stack_pointer = $3 + 16 | 0; + return $4 | 0; + } + + function _GLOBAL__sub_I_btQuickprof_cpp() { + __cxx_global_var_init_5(); + return; + } + + function __cxx_global_var_init_6() { + btInfMaskConverter__btInfMaskConverter_28int_29(113944 | 0, 2139095040 | 0) | 0; + return; + } + + function btHashedOverlappingPairCache__btHashedOverlappingPairCache_28_29($0) { + $0 = $0 | 0; + var $4 = 0, $3 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + btOverlappingPairCache__btOverlappingPairCache_28_29($4 | 0) | 0; + HEAP32[$4 >> 2] = 90544 + 8 | 0; + btAlignedObjectArray_btBroadphasePair___btAlignedObjectArray_28_29($4 + 4 | 0 | 0) | 0; + HEAP32[($4 + 24 | 0) >> 2] = 0; + btAlignedObjectArray_int___btAlignedObjectArray_28_29($4 + 28 | 0 | 0) | 0; + btAlignedObjectArray_int___btAlignedObjectArray_28_29($4 + 48 | 0 | 0) | 0; + HEAP32[($4 + 68 | 0) >> 2] = 0; + HEAP32[($3 + 8 | 0) >> 2] = 2; + btAlignedObjectArray_btBroadphasePair___reserve_28int_29($4 + 4 | 0 | 0, HEAP32[($3 + 8 | 0) >> 2] | 0 | 0); + btHashedOverlappingPairCache__growTables_28_29($4 | 0); + __stack_pointer = $3 + 16 | 0; + return $4 | 0; + } + + function btOverlappingPairCache__btOverlappingPairCache_28_29($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + btOverlappingPairCallback__btOverlappingPairCallback_28_29($4 | 0) | 0; + HEAP32[$4 >> 2] = 90736 + 8 | 0; + __stack_pointer = $3 + 16 | 0; + return $4 | 0; + } + + function btAlignedObjectArray_btBroadphasePair___btAlignedObjectArray_28_29($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + btAlignedAllocator_btBroadphasePair_2c_2016u___btAlignedAllocator_28_29($4 | 0) | 0; + btAlignedObjectArray_btBroadphasePair___init_28_29($4 | 0); + __stack_pointer = $3 + 16 | 0; + return $4 | 0; + } + + function btHashedOverlappingPairCache__growTables_28_29($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0, $22 = 0, $29 = 0, $97 = 0, $102 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3 = __stack_pointer - 48 | 0; + __stack_pointer = $3; + HEAP32[($3 + 44 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 44 | 0) >> 2] | 0; + (wasm2js_i32$0 = $3, wasm2js_i32$1 = btAlignedObjectArray_btBroadphasePair___capacity_28_29_20const($4 + 4 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 40 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + if (!((btAlignedObjectArray_int___size_28_29_20const($4 + 28 | 0 | 0) | 0 | 0) < (HEAP32[($3 + 40 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$1 + } + (wasm2js_i32$0 = $3, wasm2js_i32$1 = btAlignedObjectArray_int___size_28_29_20const($4 + 28 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 36 | 0) >> 2] = wasm2js_i32$1; + $22 = HEAP32[($3 + 40 | 0) >> 2] | 0; + HEAP32[($3 + 32 | 0) >> 2] = 0; + btAlignedObjectArray_int___resize_28int_2c_20int_20const__29($4 + 28 | 0 | 0, $22 | 0, $3 + 32 | 0 | 0); + $29 = HEAP32[($3 + 40 | 0) >> 2] | 0; + HEAP32[($3 + 28 | 0) >> 2] = 0; + btAlignedObjectArray_int___resize_28int_2c_20int_20const__29($4 + 48 | 0 | 0, $29 | 0, $3 + 28 | 0 | 0); + HEAP32[($3 + 24 | 0) >> 2] = 0; + label$2 : { + label$3 : while (1) { + if (!((HEAP32[($3 + 24 | 0) >> 2] | 0 | 0) < (HEAP32[($3 + 40 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$2 + } + (wasm2js_i32$0 = btAlignedObjectArray_int___operator_5b_5d_28int_29($4 + 28 | 0 | 0, HEAP32[($3 + 24 | 0) >> 2] | 0 | 0) | 0, wasm2js_i32$1 = -1), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + HEAP32[($3 + 24 | 0) >> 2] = (HEAP32[($3 + 24 | 0) >> 2] | 0) + 1 | 0; + continue label$3; + }; + } + HEAP32[($3 + 24 | 0) >> 2] = 0; + label$4 : { + label$5 : while (1) { + if (!((HEAP32[($3 + 24 | 0) >> 2] | 0 | 0) < (HEAP32[($3 + 40 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$4 + } + (wasm2js_i32$0 = btAlignedObjectArray_int___operator_5b_5d_28int_29($4 + 48 | 0 | 0, HEAP32[($3 + 24 | 0) >> 2] | 0 | 0) | 0, wasm2js_i32$1 = -1), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + HEAP32[($3 + 24 | 0) >> 2] = (HEAP32[($3 + 24 | 0) >> 2] | 0) + 1 | 0; + continue label$5; + }; + } + HEAP32[($3 + 24 | 0) >> 2] = 0; + label$6 : { + label$7 : while (1) { + if (!((HEAP32[($3 + 24 | 0) >> 2] | 0 | 0) < (HEAP32[($3 + 36 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$6 + } + (wasm2js_i32$0 = $3, wasm2js_i32$1 = btAlignedObjectArray_btBroadphasePair___operator_5b_5d_28int_29($4 + 4 | 0 | 0, HEAP32[($3 + 24 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $3, wasm2js_i32$1 = btBroadphaseProxy__getUid_28_29_20const(HEAP32[(HEAP32[($3 + 20 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $3, wasm2js_i32$1 = btBroadphaseProxy__getUid_28_29_20const(HEAP32[((HEAP32[($3 + 20 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $3, wasm2js_i32$1 = (btHashedOverlappingPairCache__getHash_28unsigned_20int_2c_20unsigned_20int_29($4 | 0, HEAP32[($3 + 16 | 0) >> 2] | 0 | 0, HEAP32[($3 + 12 | 0) >> 2] | 0 | 0) | 0) & ((btAlignedObjectArray_btBroadphasePair___capacity_28_29_20const($4 + 4 | 0 | 0) | 0) - 1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + $97 = HEAP32[(btAlignedObjectArray_int___operator_5b_5d_28int_29($4 + 28 | 0 | 0, HEAP32[($3 + 8 | 0) >> 2] | 0 | 0) | 0) >> 2] | 0; + (wasm2js_i32$0 = btAlignedObjectArray_int___operator_5b_5d_28int_29($4 + 48 | 0 | 0, HEAP32[($3 + 24 | 0) >> 2] | 0 | 0) | 0, wasm2js_i32$1 = $97), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + $102 = HEAP32[($3 + 24 | 0) >> 2] | 0; + (wasm2js_i32$0 = btAlignedObjectArray_int___operator_5b_5d_28int_29($4 + 28 | 0 | 0, HEAP32[($3 + 8 | 0) >> 2] | 0 | 0) | 0, wasm2js_i32$1 = $102), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + HEAP32[($3 + 24 | 0) >> 2] = (HEAP32[($3 + 24 | 0) >> 2] | 0) + 1 | 0; + continue label$7; + }; + } + } + __stack_pointer = $3 + 48 | 0; + return; + } + + function btOverlappingPairCallback__btOverlappingPairCallback_28_29($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + HEAP32[$4 >> 2] = 90812 + 8 | 0; + return $4 | 0; + } + + function btAlignedAllocator_btBroadphasePair_2c_2016u___btAlignedAllocator_28_29($0) { + $0 = $0 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + return HEAP32[($3 + 12 | 0) >> 2] | 0 | 0; + } + + function btAlignedObjectArray_btBroadphasePair___init_28_29($0) { + $0 = $0 | 0; + var $4 = 0, $3 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + HEAP8[($4 + 16 | 0) >> 0] = 1; + HEAP32[($4 + 12 | 0) >> 2] = 0; + HEAP32[($4 + 4 | 0) >> 2] = 0; + HEAP32[($4 + 8 | 0) >> 2] = 0; + return; + } + + function btAlignedObjectArray_int___operator_5b_5d_28int_29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, $5 = 0, $32 = 0; + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; + label$1 : { + if ((HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0) { + break label$1 + } + __assert_fail(85840 | 0, 78192 | 0, 183 | 0, 83901 | 0); + wasm2js_trap(); + } + label$2 : { + if ((HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) < (btAlignedObjectArray_int___size_28_29_20const($5 | 0) | 0 | 0) & 1 | 0) { + break label$2 + } + __assert_fail(87321 | 0, 78192 | 0, 184 | 0, 83901 | 0); + wasm2js_trap(); + } + $32 = (HEAP32[($5 + 12 | 0) >> 2] | 0) + ((HEAP32[($4 + 8 | 0) >> 2] | 0) << 2 | 0) | 0; + __stack_pointer = $4 + 16 | 0; + return $32 | 0; + } + + function btBroadphaseProxy__getUid_28_29_20const($0) { + $0 = $0 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + return HEAP32[((HEAP32[($3 + 12 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0; + } + + function btHashedOverlappingPairCache__getHash_28unsigned_20int_2c_20unsigned_20int_29($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $5 = 0; + $5 = __stack_pointer - 16 | 0; + HEAP32[($5 + 12 | 0) >> 2] = $0; + HEAP32[($5 + 8 | 0) >> 2] = $1; + HEAP32[($5 + 4 | 0) >> 2] = $2; + HEAP32[$5 >> 2] = HEAP32[($5 + 8 | 0) >> 2] | 0 | ((HEAP32[($5 + 4 | 0) >> 2] | 0) << 16 | 0) | 0; + HEAP32[$5 >> 2] = (HEAP32[$5 >> 2] | 0) + (((HEAP32[$5 >> 2] | 0) << 15 | 0) ^ -1 | 0) | 0; + HEAP32[$5 >> 2] = (HEAP32[$5 >> 2] | 0) ^ ((HEAP32[$5 >> 2] | 0) >>> 10 | 0) | 0; + HEAP32[$5 >> 2] = (HEAP32[$5 >> 2] | 0) + ((HEAP32[$5 >> 2] | 0) << 3 | 0) | 0; + HEAP32[$5 >> 2] = (HEAP32[$5 >> 2] | 0) ^ ((HEAP32[$5 >> 2] | 0) >>> 6 | 0) | 0; + HEAP32[$5 >> 2] = (HEAP32[$5 >> 2] | 0) + (((HEAP32[$5 >> 2] | 0) << 11 | 0) ^ -1 | 0) | 0; + HEAP32[$5 >> 2] = (HEAP32[$5 >> 2] | 0) ^ ((HEAP32[$5 >> 2] | 0) >>> 16 | 0) | 0; + return HEAP32[$5 >> 2] | 0 | 0; + } + + function btHashedOverlappingPairCache___btHashedOverlappingPairCache_28_29($0) { + $0 = $0 | 0; + var $4 = 0, $3 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + HEAP32[$4 >> 2] = 90544 + 8 | 0; + btAlignedObjectArray_int____btAlignedObjectArray_28_29($4 + 48 | 0 | 0) | 0; + btAlignedObjectArray_int____btAlignedObjectArray_28_29($4 + 28 | 0 | 0) | 0; + btAlignedObjectArray_btBroadphasePair____btAlignedObjectArray_28_29($4 + 4 | 0 | 0) | 0; + btOverlappingPairCache___btOverlappingPairCache_28_29($4 | 0) | 0; + __stack_pointer = $3 + 16 | 0; + return $4 | 0; + } + + function btAlignedObjectArray_btBroadphasePair____btAlignedObjectArray_28_29($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + btAlignedObjectArray_btBroadphasePair___clear_28_29($4 | 0); + __stack_pointer = $3 + 16 | 0; + return $4 | 0; + } + + function btOverlappingPairCache___btOverlappingPairCache_28_29($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + btOverlappingPairCallback___btOverlappingPairCallback_28_29($4 | 0) | 0; + __stack_pointer = $3 + 16 | 0; + return $4 | 0; + } + + function btAlignedObjectArray_btBroadphasePair___clear_28_29($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + btAlignedObjectArray_btBroadphasePair___destroy_28int_2c_20int_29($4 | 0, 0 | 0, btAlignedObjectArray_btBroadphasePair___size_28_29_20const($4 | 0) | 0 | 0); + btAlignedObjectArray_btBroadphasePair___deallocate_28_29($4 | 0); + btAlignedObjectArray_btBroadphasePair___init_28_29($4 | 0); + __stack_pointer = $3 + 16 | 0; + return; + } + + function btHashedOverlappingPairCache___btHashedOverlappingPairCache_28_29_1($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + FUNCTION_TABLE[479 | 0]($4) | 0; + btHashedOverlappingPairCache__operator_20delete_28void__29($4 | 0); + __stack_pointer = $3 + 16 | 0; + return; + } + + function btHashedOverlappingPairCache__operator_20delete_28void__29($0) { + $0 = $0 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + btAlignedFreeInternal_28void__29(HEAP32[($3 + 12 | 0) >> 2] | 0 | 0); + __stack_pointer = $3 + 16 | 0; + return; + } + + function btHashedOverlappingPairCache__cleanOverlappingPair_28btBroadphasePair__2c_20btDispatcher__29($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $5 = 0, $22 = 0, $25 = 0; + $5 = __stack_pointer - 16 | 0; + __stack_pointer = $5; + HEAP32[($5 + 12 | 0) >> 2] = $0; + HEAP32[($5 + 8 | 0) >> 2] = $1; + HEAP32[($5 + 4 | 0) >> 2] = $2; + label$1 : { + if (!((HEAP32[((HEAP32[($5 + 8 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + if (!((HEAP32[($5 + 4 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + $22 = HEAP32[((HEAP32[($5 + 8 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + FUNCTION_TABLE[HEAP32[(HEAP32[$22 >> 2] | 0) >> 2] | 0 | 0]($22) | 0; + $25 = HEAP32[($5 + 4 | 0) >> 2] | 0; + FUNCTION_TABLE[HEAP32[((HEAP32[$25 >> 2] | 0) + 60 | 0) >> 2] | 0 | 0]($25, HEAP32[((HEAP32[($5 + 8 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0); + HEAP32[((HEAP32[($5 + 8 | 0) >> 2] | 0) + 8 | 0) >> 2] = 0; + } + __stack_pointer = $5 + 16 | 0; + return; + } + + function btHashedOverlappingPairCache__cleanProxyFromPairs_28btBroadphaseProxy__2c_20btDispatcher__29($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $5 = 0, $6 = 0; + $5 = __stack_pointer - 32 | 0; + __stack_pointer = $5; + HEAP32[($5 + 28 | 0) >> 2] = $0; + HEAP32[($5 + 24 | 0) >> 2] = $1; + HEAP32[($5 + 20 | 0) >> 2] = $2; + $6 = HEAP32[($5 + 28 | 0) >> 2] | 0; + btHashedOverlappingPairCache__cleanProxyFromPairs_28btBroadphaseProxy__2c_20btDispatcher__29__CleanPairCallback__CleanPairCallback_28btBroadphaseProxy__2c_20btOverlappingPairCache__2c_20btDispatcher__29($5 + 4 | 0 | 0, HEAP32[($5 + 24 | 0) >> 2] | 0 | 0, $6 | 0, HEAP32[($5 + 20 | 0) >> 2] | 0 | 0) | 0; + FUNCTION_TABLE[HEAP32[((HEAP32[$6 >> 2] | 0) + 48 | 0) >> 2] | 0 | 0]($6, $5 + 4 | 0, HEAP32[($5 + 20 | 0) >> 2] | 0); + btHashedOverlappingPairCache__cleanProxyFromPairs_28btBroadphaseProxy__2c_20btDispatcher__29__CleanPairCallback___CleanPairCallback_28_29($5 + 4 | 0 | 0) | 0; + __stack_pointer = $5 + 32 | 0; + return; + } + + function btHashedOverlappingPairCache__cleanProxyFromPairs_28btBroadphaseProxy__2c_20btDispatcher__29__CleanPairCallback__CleanPairCallback_28btBroadphaseProxy__2c_20btOverlappingPairCache__2c_20btDispatcher__29($0, $1, $2, $3) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + var $6 = 0, $7 = 0; + $6 = __stack_pointer - 16 | 0; + __stack_pointer = $6; + HEAP32[($6 + 12 | 0) >> 2] = $0; + HEAP32[($6 + 8 | 0) >> 2] = $1; + HEAP32[($6 + 4 | 0) >> 2] = $2; + HEAP32[$6 >> 2] = $3; + $7 = HEAP32[($6 + 12 | 0) >> 2] | 0; + btOverlapCallback__btOverlapCallback_28_29($7 | 0) | 0; + HEAP32[$7 >> 2] = 90840 + 8 | 0; + HEAP32[($7 + 4 | 0) >> 2] = HEAP32[($6 + 8 | 0) >> 2] | 0; + HEAP32[($7 + 8 | 0) >> 2] = HEAP32[($6 + 4 | 0) >> 2] | 0; + HEAP32[($7 + 12 | 0) >> 2] = HEAP32[$6 >> 2] | 0; + __stack_pointer = $6 + 16 | 0; + return $7 | 0; + } + + function btHashedOverlappingPairCache__cleanProxyFromPairs_28btBroadphaseProxy__2c_20btDispatcher__29__CleanPairCallback___CleanPairCallback_28_29($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + btOverlapCallback___btOverlapCallback_28_29($4 | 0) | 0; + __stack_pointer = $3 + 16 | 0; + return $4 | 0; + } + + function btOverlapCallback__btOverlapCallback_28_29($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + HEAP32[$4 >> 2] = 91012 + 8 | 0; + return $4 | 0; + } + + function btOverlapCallback___btOverlapCallback_28_29($0) { + $0 = $0 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + return HEAP32[($3 + 12 | 0) >> 2] | 0 | 0; + } + + function btHashedOverlappingPairCache__removeOverlappingPairsContainingProxy_28btBroadphaseProxy__2c_20btDispatcher__29($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $5 = 0, $6 = 0; + $5 = __stack_pointer - 32 | 0; + __stack_pointer = $5; + HEAP32[($5 + 28 | 0) >> 2] = $0; + HEAP32[($5 + 24 | 0) >> 2] = $1; + HEAP32[($5 + 20 | 0) >> 2] = $2; + $6 = HEAP32[($5 + 28 | 0) >> 2] | 0; + btHashedOverlappingPairCache__removeOverlappingPairsContainingProxy_28btBroadphaseProxy__2c_20btDispatcher__29__RemovePairCallback__RemovePairCallback_28btBroadphaseProxy__29($5 + 12 | 0 | 0, HEAP32[($5 + 24 | 0) >> 2] | 0 | 0) | 0; + FUNCTION_TABLE[HEAP32[((HEAP32[$6 >> 2] | 0) + 48 | 0) >> 2] | 0 | 0]($6, $5 + 12 | 0, HEAP32[($5 + 20 | 0) >> 2] | 0); + btHashedOverlappingPairCache__removeOverlappingPairsContainingProxy_28btBroadphaseProxy__2c_20btDispatcher__29__RemovePairCallback___RemovePairCallback_28_29($5 + 12 | 0 | 0) | 0; + __stack_pointer = $5 + 32 | 0; + return; + } + + function btHashedOverlappingPairCache__removeOverlappingPairsContainingProxy_28btBroadphaseProxy__2c_20btDispatcher__29__RemovePairCallback__RemovePairCallback_28btBroadphaseProxy__29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, $5 = 0; + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; + btOverlapCallback__btOverlapCallback_28_29($5 | 0) | 0; + HEAP32[$5 >> 2] = 91032 + 8 | 0; + HEAP32[($5 + 4 | 0) >> 2] = HEAP32[($4 + 8 | 0) >> 2] | 0; + __stack_pointer = $4 + 16 | 0; + return $5 | 0; + } + + function btHashedOverlappingPairCache__removeOverlappingPairsContainingProxy_28btBroadphaseProxy__2c_20btDispatcher__29__RemovePairCallback___RemovePairCallback_28_29($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + btOverlapCallback___btOverlapCallback_28_29($4 | 0) | 0; + __stack_pointer = $3 + 16 | 0; + return $4 | 0; + } + + function btHashedOverlappingPairCache__findPair_28btBroadphaseProxy__2c_20btBroadphaseProxy__29($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $5 = 0, $6 = 0, $63 = 0, $110 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5 = __stack_pointer - 32 | 0; + __stack_pointer = $5; + HEAP32[($5 + 24 | 0) >> 2] = $0; + HEAP32[($5 + 20 | 0) >> 2] = $1; + HEAP32[($5 + 16 | 0) >> 2] = $2; + $6 = HEAP32[($5 + 24 | 0) >> 2] | 0; + HEAP32[(0 + 113960 | 0) >> 2] = (HEAP32[(0 + 113960 | 0) >> 2] | 0) + 1 | 0; + label$1 : { + if (!((HEAP32[((HEAP32[($5 + 20 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) > (HEAP32[((HEAP32[($5 + 16 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$1 + } + void_20btSwap_btBroadphaseProxy___28btBroadphaseProxy___2c_20btBroadphaseProxy___29($5 + 20 | 0 | 0, $5 + 16 | 0 | 0); + } + (wasm2js_i32$0 = $5, wasm2js_i32$1 = btBroadphaseProxy__getUid_28_29_20const(HEAP32[($5 + 20 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $5, wasm2js_i32$1 = btBroadphaseProxy__getUid_28_29_20const(HEAP32[($5 + 16 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $5, wasm2js_i32$1 = (btHashedOverlappingPairCache__getHash_28unsigned_20int_2c_20unsigned_20int_29($6 | 0, HEAP32[($5 + 12 | 0) >> 2] | 0 | 0, HEAP32[($5 + 8 | 0) >> 2] | 0 | 0) | 0) & ((btAlignedObjectArray_btBroadphasePair___capacity_28_29_20const($6 + 4 | 0 | 0) | 0) - 1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + label$2 : { + label$3 : { + if (!((HEAP32[($5 + 4 | 0) >> 2] | 0 | 0) >= (btAlignedObjectArray_int___size_28_29_20const($6 + 28 | 0 | 0) | 0 | 0) & 1 | 0)) { + break label$3 + } + HEAP32[($5 + 28 | 0) >> 2] = 0; + break label$2; + } + (wasm2js_i32$0 = $5, wasm2js_i32$1 = HEAP32[(btAlignedObjectArray_int___operator_5b_5d_28int_29($6 + 28 | 0 | 0, HEAP32[($5 + 4 | 0) >> 2] | 0 | 0) | 0) >> 2] | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + label$4 : while (1) { + $63 = 0; + label$5 : { + if (!((HEAP32[$5 >> 2] | 0 | 0) != (-1 | 0) & 1 | 0)) { + break label$5 + } + $63 = ((btHashedOverlappingPairCache__equalsPair_28btBroadphasePair_20const__2c_20int_2c_20int_29($6 | 0, btAlignedObjectArray_btBroadphasePair___operator_5b_5d_28int_29($6 + 4 | 0 | 0, HEAP32[$5 >> 2] | 0 | 0) | 0 | 0, HEAP32[($5 + 12 | 0) >> 2] | 0 | 0, HEAP32[($5 + 8 | 0) >> 2] | 0 | 0) | 0) & 1 | 0 | 0) == (0 | 0); + } + label$6 : { + if (!($63 & 1 | 0)) { + break label$6 + } + (wasm2js_i32$0 = $5, wasm2js_i32$1 = HEAP32[(btAlignedObjectArray_int___operator_5b_5d_28int_29($6 + 48 | 0 | 0, HEAP32[$5 >> 2] | 0 | 0) | 0) >> 2] | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + continue label$4; + } + break label$4; + }; + label$7 : { + if (!((HEAP32[$5 >> 2] | 0 | 0) == (-1 | 0) & 1 | 0)) { + break label$7 + } + HEAP32[($5 + 28 | 0) >> 2] = 0; + break label$2; + } + label$8 : { + if ((HEAP32[$5 >> 2] | 0 | 0) < (btAlignedObjectArray_btBroadphasePair___size_28_29_20const($6 + 4 | 0 | 0) | 0 | 0) & 1 | 0) { + break label$8 + } + __assert_fail(87330 | 0, 75261 | 0, 164 | 0, 71055 | 0); + wasm2js_trap(); + } + (wasm2js_i32$0 = $5, wasm2js_i32$1 = btAlignedObjectArray_btBroadphasePair___operator_5b_5d_28int_29($6 + 4 | 0 | 0, HEAP32[$5 >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$1; + } + $110 = HEAP32[($5 + 28 | 0) >> 2] | 0; + __stack_pointer = $5 + 32 | 0; + return $110 | 0; + } + + function void_20btSwap_btBroadphaseProxy___28btBroadphaseProxy___2c_20btBroadphaseProxy___29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0; + $4 = __stack_pointer - 16 | 0; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + HEAP32[($4 + 4 | 0) >> 2] = HEAP32[(HEAP32[($4 + 12 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[(HEAP32[($4 + 12 | 0) >> 2] | 0) >> 2] = HEAP32[(HEAP32[($4 + 8 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[(HEAP32[($4 + 8 | 0) >> 2] | 0) >> 2] = HEAP32[($4 + 4 | 0) >> 2] | 0; + return; + } + + function btHashedOverlappingPairCache__equalsPair_28btBroadphasePair_20const__2c_20int_2c_20int_29($0, $1, $2, $3) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + var $6 = 0, $17 = 0; + $6 = __stack_pointer - 16 | 0; + __stack_pointer = $6; + HEAP32[($6 + 12 | 0) >> 2] = $0; + HEAP32[($6 + 8 | 0) >> 2] = $1; + HEAP32[($6 + 4 | 0) >> 2] = $2; + HEAP32[$6 >> 2] = $3; + $17 = 0; + label$1 : { + if (!((btBroadphaseProxy__getUid_28_29_20const(HEAP32[(HEAP32[($6 + 8 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0 | 0) == (HEAP32[($6 + 4 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$1 + } + $17 = (btBroadphaseProxy__getUid_28_29_20const(HEAP32[((HEAP32[($6 + 8 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) | 0 | 0) == (HEAP32[$6 >> 2] | 0 | 0); + } + __stack_pointer = $6 + 16 | 0; + return $17 & 1 | 0 | 0; + } + + function btHashedOverlappingPairCache__internalAddPair_28btBroadphaseProxy__2c_20btBroadphaseProxy__29($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $5 = 0, $6 = 0, $63 = 0, $89 = 0, $100 = 0, $105 = 0, $111 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5 = __stack_pointer - 48 | 0; + __stack_pointer = $5; + HEAP32[($5 + 40 | 0) >> 2] = $0; + HEAP32[($5 + 36 | 0) >> 2] = $1; + HEAP32[($5 + 32 | 0) >> 2] = $2; + $6 = HEAP32[($5 + 40 | 0) >> 2] | 0; + label$1 : { + if (!((HEAP32[((HEAP32[($5 + 36 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) > (HEAP32[((HEAP32[($5 + 32 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$1 + } + void_20btSwap_btBroadphaseProxy___28btBroadphaseProxy___2c_20btBroadphaseProxy___29($5 + 36 | 0 | 0, $5 + 32 | 0 | 0); + } + (wasm2js_i32$0 = $5, wasm2js_i32$1 = btBroadphaseProxy__getUid_28_29_20const(HEAP32[($5 + 36 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $5, wasm2js_i32$1 = btBroadphaseProxy__getUid_28_29_20const(HEAP32[($5 + 32 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 24 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $5, wasm2js_i32$1 = (btHashedOverlappingPairCache__getHash_28unsigned_20int_2c_20unsigned_20int_29($6 | 0, HEAP32[($5 + 28 | 0) >> 2] | 0 | 0, HEAP32[($5 + 24 | 0) >> 2] | 0 | 0) | 0) & ((btAlignedObjectArray_btBroadphasePair___capacity_28_29_20const($6 + 4 | 0 | 0) | 0) - 1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $5, wasm2js_i32$1 = btHashedOverlappingPairCache__internalFindPair_28btBroadphaseProxy__2c_20btBroadphaseProxy__2c_20int_29($6 | 0, HEAP32[($5 + 36 | 0) >> 2] | 0 | 0, HEAP32[($5 + 32 | 0) >> 2] | 0 | 0, HEAP32[($5 + 20 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + label$2 : { + label$3 : { + if (!((HEAP32[($5 + 16 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$3 + } + HEAP32[($5 + 44 | 0) >> 2] = HEAP32[($5 + 16 | 0) >> 2] | 0; + break label$2; + } + (wasm2js_i32$0 = $5, wasm2js_i32$1 = btAlignedObjectArray_btBroadphasePair___size_28_29_20const($6 + 4 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $5, wasm2js_i32$1 = btAlignedObjectArray_btBroadphasePair___capacity_28_29_20const($6 + 4 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $5, wasm2js_i32$1 = btAlignedObjectArray_btBroadphasePair___expandNonInitializing_28_29($6 + 4 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + label$4 : { + if (!((HEAP32[($6 + 68 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$4 + } + $63 = HEAP32[($6 + 68 | 0) >> 2] | 0; + FUNCTION_TABLE[HEAP32[((HEAP32[$63 >> 2] | 0) + 8 | 0) >> 2] | 0 | 0]($63, HEAP32[($5 + 36 | 0) >> 2] | 0, HEAP32[($5 + 32 | 0) >> 2] | 0) | 0; + } + (wasm2js_i32$0 = $5, wasm2js_i32$1 = btAlignedObjectArray_btBroadphasePair___capacity_28_29_20const($6 + 4 | 0 | 0) | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + label$5 : { + if (!((HEAP32[($5 + 8 | 0) >> 2] | 0 | 0) < (HEAP32[$5 >> 2] | 0 | 0) & 1 | 0)) { + break label$5 + } + btHashedOverlappingPairCache__growTables_28_29($6 | 0); + (wasm2js_i32$0 = $5, wasm2js_i32$1 = (btHashedOverlappingPairCache__getHash_28unsigned_20int_2c_20unsigned_20int_29($6 | 0, HEAP32[($5 + 28 | 0) >> 2] | 0 | 0, HEAP32[($5 + 24 | 0) >> 2] | 0 | 0) | 0) & ((btAlignedObjectArray_btBroadphasePair___capacity_28_29_20const($6 + 4 | 0 | 0) | 0) - 1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + } + $89 = btBroadphasePair__operator_20new_28unsigned_20long_2c_20void__29(16 | 0, HEAP32[($5 + 4 | 0) >> 2] | 0 | 0) | 0; + btBroadphasePair__btBroadphasePair_28btBroadphaseProxy__2c_20btBroadphaseProxy__29($89 | 0, HEAP32[($5 + 36 | 0) >> 2] | 0 | 0, HEAP32[($5 + 32 | 0) >> 2] | 0 | 0) | 0; + HEAP32[($5 + 16 | 0) >> 2] = $89; + HEAP32[((HEAP32[($5 + 16 | 0) >> 2] | 0) + 8 | 0) >> 2] = 0; + HEAP32[((HEAP32[($5 + 16 | 0) >> 2] | 0) + 12 | 0) >> 2] = 0; + $100 = HEAP32[(btAlignedObjectArray_int___operator_5b_5d_28int_29($6 + 28 | 0 | 0, HEAP32[($5 + 20 | 0) >> 2] | 0 | 0) | 0) >> 2] | 0; + (wasm2js_i32$0 = btAlignedObjectArray_int___operator_5b_5d_28int_29($6 + 48 | 0 | 0, HEAP32[($5 + 12 | 0) >> 2] | 0 | 0) | 0, wasm2js_i32$1 = $100), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + $105 = HEAP32[($5 + 12 | 0) >> 2] | 0; + (wasm2js_i32$0 = btAlignedObjectArray_int___operator_5b_5d_28int_29($6 + 28 | 0 | 0, HEAP32[($5 + 20 | 0) >> 2] | 0 | 0) | 0, wasm2js_i32$1 = $105), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + HEAP32[($5 + 44 | 0) >> 2] = HEAP32[($5 + 16 | 0) >> 2] | 0; + } + $111 = HEAP32[($5 + 44 | 0) >> 2] | 0; + __stack_pointer = $5 + 48 | 0; + return $111 | 0; + } + + function btHashedOverlappingPairCache__internalFindPair_28btBroadphaseProxy__2c_20btBroadphaseProxy__2c_20int_29($0, $1, $2, $3) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + var $6 = 0, $7 = 0, $25 = 0, $72 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $6 = __stack_pointer - 32 | 0; + __stack_pointer = $6; + HEAP32[($6 + 24 | 0) >> 2] = $0; + HEAP32[($6 + 20 | 0) >> 2] = $1; + HEAP32[($6 + 16 | 0) >> 2] = $2; + HEAP32[($6 + 12 | 0) >> 2] = $3; + $7 = HEAP32[($6 + 24 | 0) >> 2] | 0; + (wasm2js_i32$0 = $6, wasm2js_i32$1 = btBroadphaseProxy__getUid_28_29_20const(HEAP32[($6 + 20 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $6, wasm2js_i32$1 = btBroadphaseProxy__getUid_28_29_20const(HEAP32[($6 + 16 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $6, wasm2js_i32$1 = HEAP32[(btAlignedObjectArray_int___operator_5b_5d_28int_29($7 + 28 | 0 | 0, HEAP32[($6 + 12 | 0) >> 2] | 0 | 0) | 0) >> 2] | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + label$1 : while (1) { + $25 = 0; + label$2 : { + if (!((HEAP32[$6 >> 2] | 0 | 0) != (-1 | 0) & 1 | 0)) { + break label$2 + } + $25 = ((btHashedOverlappingPairCache__equalsPair_28btBroadphasePair_20const__2c_20int_2c_20int_29($7 | 0, btAlignedObjectArray_btBroadphasePair___operator_5b_5d_28int_29($7 + 4 | 0 | 0, HEAP32[$6 >> 2] | 0 | 0) | 0 | 0, HEAP32[($6 + 8 | 0) >> 2] | 0 | 0, HEAP32[($6 + 4 | 0) >> 2] | 0 | 0) | 0) & 1 | 0 | 0) == (0 | 0); + } + label$3 : { + if (!($25 & 1 | 0)) { + break label$3 + } + (wasm2js_i32$0 = $6, wasm2js_i32$1 = HEAP32[(btAlignedObjectArray_int___operator_5b_5d_28int_29($7 + 48 | 0 | 0, HEAP32[$6 >> 2] | 0 | 0) | 0) >> 2] | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + continue label$1; + } + break label$1; + }; + label$4 : { + label$5 : { + if (!((HEAP32[$6 >> 2] | 0 | 0) == (-1 | 0) & 1 | 0)) { + break label$5 + } + HEAP32[($6 + 28 | 0) >> 2] = 0; + break label$4; + } + label$6 : { + if ((HEAP32[$6 >> 2] | 0 | 0) < (btAlignedObjectArray_btBroadphasePair___size_28_29_20const($7 + 4 | 0 | 0) | 0 | 0) & 1 | 0) { + break label$6 + } + __assert_fail(87330 | 0, 79562 | 0, 255 | 0, 71064 | 0); + wasm2js_trap(); + } + (wasm2js_i32$0 = $6, wasm2js_i32$1 = btAlignedObjectArray_btBroadphasePair___operator_5b_5d_28int_29($7 + 4 | 0 | 0, HEAP32[$6 >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$1; + } + $72 = HEAP32[($6 + 28 | 0) >> 2] | 0; + __stack_pointer = $6 + 32 | 0; + return $72 | 0; + } + + function btAlignedObjectArray_btBroadphasePair___expandNonInitializing_28_29($0) { + $0 = $0 | 0; + var $4 = 0, $3 = 0, $22 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + (wasm2js_i32$0 = $3, wasm2js_i32$1 = btAlignedObjectArray_btBroadphasePair___size_28_29_20const($4 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + if (!((HEAP32[($3 + 8 | 0) >> 2] | 0 | 0) == (btAlignedObjectArray_btBroadphasePair___capacity_28_29_20const($4 | 0) | 0 | 0) & 1 | 0)) { + break label$1 + } + btAlignedObjectArray_btBroadphasePair___reserve_28int_29($4 | 0, btAlignedObjectArray_btBroadphasePair___allocSize_28int_29($4 | 0, btAlignedObjectArray_btBroadphasePair___size_28_29_20const($4 | 0) | 0 | 0) | 0 | 0); + } + HEAP32[($4 + 4 | 0) >> 2] = (HEAP32[($4 + 4 | 0) >> 2] | 0) + 1 | 0; + $22 = (HEAP32[($4 + 12 | 0) >> 2] | 0) + ((HEAP32[($3 + 8 | 0) >> 2] | 0) << 4 | 0) | 0; + __stack_pointer = $3 + 16 | 0; + return $22 | 0; + } + + function btBroadphasePair__btBroadphasePair_28btBroadphaseProxy__2c_20btBroadphaseProxy__29($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $5 = 0, $6 = 0; + $5 = __stack_pointer - 16 | 0; + HEAP32[($5 + 8 | 0) >> 2] = $0; + HEAP32[($5 + 4 | 0) >> 2] = $1; + HEAP32[$5 >> 2] = $2; + $6 = HEAP32[($5 + 8 | 0) >> 2] | 0; + HEAP32[($5 + 12 | 0) >> 2] = $6; + label$1 : { + label$2 : { + if (!((HEAP32[((HEAP32[($5 + 4 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[$5 >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[$6 >> 2] = HEAP32[($5 + 4 | 0) >> 2] | 0; + HEAP32[($6 + 4 | 0) >> 2] = HEAP32[$5 >> 2] | 0; + break label$1; + } + HEAP32[$6 >> 2] = HEAP32[$5 >> 2] | 0; + HEAP32[($6 + 4 | 0) >> 2] = HEAP32[($5 + 4 | 0) >> 2] | 0; + } + HEAP32[($6 + 8 | 0) >> 2] = 0; + HEAP32[($6 + 12 | 0) >> 2] = 0; + return HEAP32[($5 + 12 | 0) >> 2] | 0 | 0; + } + + function btAlignedObjectArray_btBroadphasePair___allocSize_28int_29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, $9 = 0; + $4 = __stack_pointer - 16 | 0; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + label$1 : { + label$2 : { + if (!(HEAP32[($4 + 8 | 0) >> 2] | 0)) { + break label$2 + } + $9 = (HEAP32[($4 + 8 | 0) >> 2] | 0) << 1 | 0; + break label$1; + } + $9 = 1; + } + return $9 | 0; + } + + function btHashedOverlappingPairCache__removeOverlappingPair_28btBroadphaseProxy__2c_20btBroadphaseProxy__2c_20btDispatcher__29($0, $1, $2, $3) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + var $6 = 0, $7 = 0, i64toi32_i32$2 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $188 = 0, $298 = 0, $300 = 0, $162 = 0, $171 = 0, $277 = 0, $286 = 0, $294 = 0, $922 = 0, $932 = 0, $308 = 0, $313 = 0, $321 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $6 = __stack_pointer - 64 | 0; + __stack_pointer = $6; + HEAP32[($6 + 56 | 0) >> 2] = $0; + HEAP32[($6 + 52 | 0) >> 2] = $1; + HEAP32[($6 + 48 | 0) >> 2] = $2; + HEAP32[($6 + 44 | 0) >> 2] = $3; + $7 = HEAP32[($6 + 56 | 0) >> 2] | 0; + HEAP32[(0 + 113952 | 0) >> 2] = (HEAP32[(0 + 113952 | 0) >> 2] | 0) + 1 | 0; + label$1 : { + if (!((HEAP32[((HEAP32[($6 + 52 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) > (HEAP32[((HEAP32[($6 + 48 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$1 + } + void_20btSwap_btBroadphaseProxy___28btBroadphaseProxy___2c_20btBroadphaseProxy___29($6 + 52 | 0 | 0, $6 + 48 | 0 | 0); + } + (wasm2js_i32$0 = $6, wasm2js_i32$1 = btBroadphaseProxy__getUid_28_29_20const(HEAP32[($6 + 52 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 40 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $6, wasm2js_i32$1 = btBroadphaseProxy__getUid_28_29_20const(HEAP32[($6 + 48 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 36 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $6, wasm2js_i32$1 = (btHashedOverlappingPairCache__getHash_28unsigned_20int_2c_20unsigned_20int_29($7 | 0, HEAP32[($6 + 40 | 0) >> 2] | 0 | 0, HEAP32[($6 + 36 | 0) >> 2] | 0 | 0) | 0) & ((btAlignedObjectArray_btBroadphasePair___capacity_28_29_20const($7 + 4 | 0 | 0) | 0) - 1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 32 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $6, wasm2js_i32$1 = btHashedOverlappingPairCache__internalFindPair_28btBroadphaseProxy__2c_20btBroadphaseProxy__2c_20int_29($7 | 0, HEAP32[($6 + 52 | 0) >> 2] | 0 | 0, HEAP32[($6 + 48 | 0) >> 2] | 0 | 0, HEAP32[($6 + 32 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$1; + label$2 : { + label$3 : { + if (!((HEAP32[($6 + 28 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$3 + } + HEAP32[($6 + 60 | 0) >> 2] = 0; + break label$2; + } + FUNCTION_TABLE[HEAP32[((HEAP32[$7 >> 2] | 0) + 32 | 0) >> 2] | 0 | 0]($7, HEAP32[($6 + 28 | 0) >> 2] | 0, HEAP32[($6 + 44 | 0) >> 2] | 0); + HEAP32[($6 + 24 | 0) >> 2] = HEAP32[((HEAP32[($6 + 28 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + label$4 : { + if ((btBroadphaseProxy__getUid_28_29_20const(HEAP32[(HEAP32[($6 + 28 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0 | 0) == (HEAP32[($6 + 40 | 0) >> 2] | 0 | 0) & 1 | 0) { + break label$4 + } + __assert_fail(85549 | 0, 75261 | 0, 295 | 0, 71006 | 0); + wasm2js_trap(); + } + label$5 : { + if ((btBroadphaseProxy__getUid_28_29_20const(HEAP32[((HEAP32[($6 + 28 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) | 0 | 0) == (HEAP32[($6 + 36 | 0) >> 2] | 0 | 0) & 1 | 0) { + break label$5 + } + __assert_fail(85405 | 0, 75261 | 0, 296 | 0, 71006 | 0); + wasm2js_trap(); + } + (wasm2js_i32$0 = $6, wasm2js_i32$1 = ((HEAP32[($6 + 28 | 0) >> 2] | 0) - (btAlignedObjectArray_btBroadphasePair___operator_5b_5d_28int_29($7 + 4 | 0 | 0, 0 | 0) | 0) | 0) >> 4 | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + label$6 : { + if ((HEAP32[($6 + 20 | 0) >> 2] | 0 | 0) < (btAlignedObjectArray_btBroadphasePair___size_28_29_20const($7 + 4 | 0 | 0) | 0 | 0) & 1 | 0) { + break label$6 + } + __assert_fail(87368 | 0, 75261 | 0, 299 | 0, 71006 | 0); + wasm2js_trap(); + } + (wasm2js_i32$0 = $6, wasm2js_i32$1 = HEAP32[(btAlignedObjectArray_int___operator_5b_5d_28int_29($7 + 28 | 0 | 0, HEAP32[($6 + 32 | 0) >> 2] | 0 | 0) | 0) >> 2] | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + label$7 : { + if ((HEAP32[($6 + 16 | 0) >> 2] | 0 | 0) != (-1 | 0) & 1 | 0) { + break label$7 + } + __assert_fail(84035 | 0, 75261 | 0, 303 | 0, 71006 | 0); + wasm2js_trap(); + } + HEAP32[($6 + 12 | 0) >> 2] = -1; + label$8 : { + label$9 : while (1) { + if (!((HEAP32[($6 + 16 | 0) >> 2] | 0 | 0) != (HEAP32[($6 + 20 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$8 + } + HEAP32[($6 + 12 | 0) >> 2] = HEAP32[($6 + 16 | 0) >> 2] | 0; + (wasm2js_i32$0 = $6, wasm2js_i32$1 = HEAP32[(btAlignedObjectArray_int___operator_5b_5d_28int_29($7 + 48 | 0 | 0, HEAP32[($6 + 16 | 0) >> 2] | 0 | 0) | 0) >> 2] | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + continue label$9; + }; + } + label$10 : { + label$11 : { + if (!((HEAP32[($6 + 12 | 0) >> 2] | 0 | 0) != (-1 | 0) & 1 | 0)) { + break label$11 + } + label$12 : { + if ((HEAP32[(btAlignedObjectArray_int___operator_5b_5d_28int_29($7 + 48 | 0 | 0, HEAP32[($6 + 12 | 0) >> 2] | 0 | 0) | 0) >> 2] | 0 | 0) == (HEAP32[($6 + 20 | 0) >> 2] | 0 | 0) & 1 | 0) { + break label$12 + } + __assert_fail(66363 | 0, 75261 | 0, 314 | 0, 71006 | 0); + wasm2js_trap(); + } + $162 = HEAP32[(btAlignedObjectArray_int___operator_5b_5d_28int_29($7 + 48 | 0 | 0, HEAP32[($6 + 20 | 0) >> 2] | 0 | 0) | 0) >> 2] | 0; + (wasm2js_i32$0 = btAlignedObjectArray_int___operator_5b_5d_28int_29($7 + 48 | 0 | 0, HEAP32[($6 + 12 | 0) >> 2] | 0 | 0) | 0, wasm2js_i32$1 = $162), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + break label$10; + } + $171 = HEAP32[(btAlignedObjectArray_int___operator_5b_5d_28int_29($7 + 48 | 0 | 0, HEAP32[($6 + 20 | 0) >> 2] | 0 | 0) | 0) >> 2] | 0; + (wasm2js_i32$0 = btAlignedObjectArray_int___operator_5b_5d_28int_29($7 + 28 | 0 | 0, HEAP32[($6 + 32 | 0) >> 2] | 0 | 0) | 0, wasm2js_i32$1 = $171), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + } + (wasm2js_i32$0 = $6, wasm2js_i32$1 = (btAlignedObjectArray_btBroadphasePair___size_28_29_20const($7 + 4 | 0 | 0) | 0) - 1 | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + label$13 : { + if (!((HEAP32[($7 + 68 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$13 + } + $188 = HEAP32[($7 + 68 | 0) >> 2] | 0; + FUNCTION_TABLE[HEAP32[((HEAP32[$188 >> 2] | 0) + 12 | 0) >> 2] | 0 | 0]($188, HEAP32[($6 + 52 | 0) >> 2] | 0, HEAP32[($6 + 48 | 0) >> 2] | 0, HEAP32[($6 + 44 | 0) >> 2] | 0) | 0; + } + label$14 : { + if (!((HEAP32[($6 + 8 | 0) >> 2] | 0 | 0) == (HEAP32[($6 + 20 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$14 + } + btAlignedObjectArray_btBroadphasePair___pop_back_28_29($7 + 4 | 0 | 0); + HEAP32[($6 + 60 | 0) >> 2] = HEAP32[($6 + 24 | 0) >> 2] | 0; + break label$2; + } + (wasm2js_i32$0 = $6, wasm2js_i32$1 = btAlignedObjectArray_btBroadphasePair___operator_5b_5d_28int_29($7 + 4 | 0 | 0, HEAP32[($6 + 8 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $6, wasm2js_i32$1 = (btHashedOverlappingPairCache__getHash_28unsigned_20int_2c_20unsigned_20int_29($7 | 0, btBroadphaseProxy__getUid_28_29_20const(HEAP32[(HEAP32[($6 + 4 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0 | 0, btBroadphaseProxy__getUid_28_29_20const(HEAP32[((HEAP32[($6 + 4 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) | 0 | 0) | 0) & ((btAlignedObjectArray_btBroadphasePair___capacity_28_29_20const($7 + 4 | 0 | 0) | 0) - 1 | 0) | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $6, wasm2js_i32$1 = HEAP32[(btAlignedObjectArray_int___operator_5b_5d_28int_29($7 + 28 | 0 | 0, HEAP32[$6 >> 2] | 0 | 0) | 0) >> 2] | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + label$15 : { + if ((HEAP32[($6 + 16 | 0) >> 2] | 0 | 0) != (-1 | 0) & 1 | 0) { + break label$15 + } + __assert_fail(84035 | 0, 75261 | 0, 344 | 0, 71006 | 0); + wasm2js_trap(); + } + HEAP32[($6 + 12 | 0) >> 2] = -1; + label$16 : { + label$17 : while (1) { + if (!((HEAP32[($6 + 16 | 0) >> 2] | 0 | 0) != (HEAP32[($6 + 8 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$16 + } + HEAP32[($6 + 12 | 0) >> 2] = HEAP32[($6 + 16 | 0) >> 2] | 0; + (wasm2js_i32$0 = $6, wasm2js_i32$1 = HEAP32[(btAlignedObjectArray_int___operator_5b_5d_28int_29($7 + 48 | 0 | 0, HEAP32[($6 + 16 | 0) >> 2] | 0 | 0) | 0) >> 2] | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + continue label$17; + }; + } + label$18 : { + label$19 : { + if (!((HEAP32[($6 + 12 | 0) >> 2] | 0 | 0) != (-1 | 0) & 1 | 0)) { + break label$19 + } + label$20 : { + if ((HEAP32[(btAlignedObjectArray_int___operator_5b_5d_28int_29($7 + 48 | 0 | 0, HEAP32[($6 + 12 | 0) >> 2] | 0 | 0) | 0) >> 2] | 0 | 0) == (HEAP32[($6 + 8 | 0) >> 2] | 0 | 0) & 1 | 0) { + break label$20 + } + __assert_fail(66393 | 0, 75261 | 0, 355 | 0, 71006 | 0); + wasm2js_trap(); + } + $277 = HEAP32[(btAlignedObjectArray_int___operator_5b_5d_28int_29($7 + 48 | 0 | 0, HEAP32[($6 + 8 | 0) >> 2] | 0 | 0) | 0) >> 2] | 0; + (wasm2js_i32$0 = btAlignedObjectArray_int___operator_5b_5d_28int_29($7 + 48 | 0 | 0, HEAP32[($6 + 12 | 0) >> 2] | 0 | 0) | 0, wasm2js_i32$1 = $277), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + break label$18; + } + $286 = HEAP32[(btAlignedObjectArray_int___operator_5b_5d_28int_29($7 + 48 | 0 | 0, HEAP32[($6 + 8 | 0) >> 2] | 0 | 0) | 0) >> 2] | 0; + (wasm2js_i32$0 = btAlignedObjectArray_int___operator_5b_5d_28int_29($7 + 28 | 0 | 0, HEAP32[$6 >> 2] | 0 | 0) | 0, wasm2js_i32$1 = $286), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + } + $294 = btAlignedObjectArray_btBroadphasePair___operator_5b_5d_28int_29($7 + 4 | 0 | 0, HEAP32[($6 + 8 | 0) >> 2] | 0 | 0) | 0; + $298 = btAlignedObjectArray_btBroadphasePair___operator_5b_5d_28int_29($7 + 4 | 0 | 0, HEAP32[($6 + 20 | 0) >> 2] | 0 | 0) | 0; + i64toi32_i32$2 = $294; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $922 = i64toi32_i32$0; + i64toi32_i32$0 = $298; + HEAP32[i64toi32_i32$0 >> 2] = $922; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $300 = 8; + i64toi32_i32$2 = i64toi32_i32$2 + $300 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $932 = i64toi32_i32$1; + i64toi32_i32$1 = $298 + $300 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $932; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + $308 = HEAP32[(btAlignedObjectArray_int___operator_5b_5d_28int_29($7 + 28 | 0 | 0, HEAP32[$6 >> 2] | 0 | 0) | 0) >> 2] | 0; + (wasm2js_i32$0 = btAlignedObjectArray_int___operator_5b_5d_28int_29($7 + 48 | 0 | 0, HEAP32[($6 + 20 | 0) >> 2] | 0 | 0) | 0, wasm2js_i32$1 = $308), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + $313 = HEAP32[($6 + 20 | 0) >> 2] | 0; + (wasm2js_i32$0 = btAlignedObjectArray_int___operator_5b_5d_28int_29($7 + 28 | 0 | 0, HEAP32[$6 >> 2] | 0 | 0) | 0, wasm2js_i32$1 = $313), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + btAlignedObjectArray_btBroadphasePair___pop_back_28_29($7 + 4 | 0 | 0); + HEAP32[($6 + 60 | 0) >> 2] = HEAP32[($6 + 24 | 0) >> 2] | 0; + } + $321 = HEAP32[($6 + 60 | 0) >> 2] | 0; + __stack_pointer = $6 + 64 | 0; + return $321 | 0; + } + + function btAlignedObjectArray_btBroadphasePair___pop_back_28_29($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + label$1 : { + if ((HEAP32[($4 + 4 | 0) >> 2] | 0 | 0) > (0 | 0) & 1 | 0) { + break label$1 + } + __assert_fail(85800 | 0, 78192 | 0, 201 | 0, 77711 | 0); + wasm2js_trap(); + } + HEAP32[($4 + 4 | 0) >> 2] = (HEAP32[($4 + 4 | 0) >> 2] | 0) + -1 | 0; + __stack_pointer = $3 + 16 | 0; + return; + } + + function btHashedOverlappingPairCache__processAllOverlappingPairs_28btOverlapCallback__2c_20btDispatcher__29($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $5 = 0, $6 = 0, $25 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5 = __stack_pointer - 32 | 0; + __stack_pointer = $5; + HEAP32[($5 + 28 | 0) >> 2] = $0; + HEAP32[($5 + 24 | 0) >> 2] = $1; + HEAP32[($5 + 20 | 0) >> 2] = $2; + $6 = HEAP32[($5 + 28 | 0) >> 2] | 0; + CProfileSample__CProfileSample_28char_20const__29($5 + 19 | 0 | 0, 69522 | 0) | 0; + HEAP32[($5 + 12 | 0) >> 2] = 0; + label$1 : { + label$2 : while (1) { + if (!((HEAP32[($5 + 12 | 0) >> 2] | 0 | 0) < (btAlignedObjectArray_btBroadphasePair___size_28_29_20const($6 + 4 | 0 | 0) | 0 | 0) & 1 | 0)) { + break label$1 + } + (wasm2js_i32$0 = $5, wasm2js_i32$1 = btAlignedObjectArray_btBroadphasePair___operator_5b_5d_28int_29($6 + 4 | 0 | 0, HEAP32[($5 + 12 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + $25 = HEAP32[($5 + 24 | 0) >> 2] | 0; + label$3 : { + label$4 : { + if (!((FUNCTION_TABLE[HEAP32[((HEAP32[$25 >> 2] | 0) + 8 | 0) >> 2] | 0 | 0]($25, HEAP32[($5 + 8 | 0) >> 2] | 0) | 0) & 1 | 0)) { + break label$4 + } + FUNCTION_TABLE[HEAP32[((HEAP32[$6 >> 2] | 0) + 12 | 0) >> 2] | 0 | 0]($6, HEAP32[(HEAP32[($5 + 8 | 0) >> 2] | 0) >> 2] | 0, HEAP32[((HEAP32[($5 + 8 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0, HEAP32[($5 + 20 | 0) >> 2] | 0) | 0; + HEAP32[(0 + 113948 | 0) >> 2] = (HEAP32[(0 + 113948 | 0) >> 2] | 0) + -1 | 0; + break label$3; + } + HEAP32[($5 + 12 | 0) >> 2] = (HEAP32[($5 + 12 | 0) >> 2] | 0) + 1 | 0; + } + continue label$2; + }; + } + CProfileSample___CProfileSample_28_29($5 + 19 | 0 | 0) | 0; + __stack_pointer = $5 + 32 | 0; + return; + } + + function btHashedOverlappingPairCache__sortOverlappingPairs_28btDispatcher__29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, $5 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0, wasm2js_i32$2 = 0, wasm2js_i32$3 = 0, wasm2js_i32$4 = 0; + $4 = __stack_pointer - 48 | 0; + __stack_pointer = $4; + HEAP32[($4 + 44 | 0) >> 2] = $0; + HEAP32[($4 + 40 | 0) >> 2] = $1; + $5 = HEAP32[($4 + 44 | 0) >> 2] | 0; + btAlignedObjectArray_btBroadphasePair___btAlignedObjectArray_28_29($4 + 20 | 0 | 0) | 0; + HEAP32[($4 + 16 | 0) >> 2] = 0; + label$1 : { + label$2 : while (1) { + if (!((HEAP32[($4 + 16 | 0) >> 2] | 0 | 0) < (btAlignedObjectArray_btBroadphasePair___size_28_29_20const($5 + 4 | 0 | 0) | 0 | 0) & 1 | 0)) { + break label$1 + } + btAlignedObjectArray_btBroadphasePair___push_back_28btBroadphasePair_20const__29($4 + 20 | 0 | 0, btAlignedObjectArray_btBroadphasePair___operator_5b_5d_28int_29($5 + 4 | 0 | 0, HEAP32[($4 + 16 | 0) >> 2] | 0 | 0) | 0 | 0); + HEAP32[($4 + 16 | 0) >> 2] = (HEAP32[($4 + 16 | 0) >> 2] | 0) + 1 | 0; + continue label$2; + }; + } + HEAP32[($4 + 16 | 0) >> 2] = 0; + label$3 : { + label$4 : while (1) { + if (!((HEAP32[($4 + 16 | 0) >> 2] | 0 | 0) < (btAlignedObjectArray_btBroadphasePair___size_28_29_20const($4 + 20 | 0 | 0) | 0 | 0) & 1 | 0)) { + break label$3 + } + ((((wasm2js_i32$1 = $5, wasm2js_i32$2 = HEAP32[(btAlignedObjectArray_btBroadphasePair___operator_5b_5d_28int_29($4 + 20 | 0 | 0, HEAP32[($4 + 16 | 0) >> 2] | 0 | 0) | 0) >> 2] | 0), wasm2js_i32$3 = HEAP32[((btAlignedObjectArray_btBroadphasePair___operator_5b_5d_28int_29($4 + 20 | 0 | 0, HEAP32[($4 + 16 | 0) >> 2] | 0 | 0) | 0) + 4 | 0) >> 2] | 0), wasm2js_i32$4 = HEAP32[($4 + 40 | 0) >> 2] | 0), wasm2js_i32$0 = HEAP32[((HEAP32[$5 >> 2] | 0) + 12 | 0) >> 2] | 0 | 0), FUNCTION_TABLE[wasm2js_i32$0](wasm2js_i32$1 | 0, wasm2js_i32$2 | 0, wasm2js_i32$3 | 0, wasm2js_i32$4 | 0) | 0; + HEAP32[($4 + 16 | 0) >> 2] = (HEAP32[($4 + 16 | 0) >> 2] | 0) + 1 | 0; + continue label$4; + }; + } + HEAP32[($4 + 16 | 0) >> 2] = 0; + label$5 : { + label$6 : while (1) { + if (!((HEAP32[($4 + 16 | 0) >> 2] | 0 | 0) < (btAlignedObjectArray_int___size_28_29_20const($5 + 48 | 0 | 0) | 0 | 0) & 1 | 0)) { + break label$5 + } + (wasm2js_i32$0 = btAlignedObjectArray_int___operator_5b_5d_28int_29($5 + 48 | 0 | 0, HEAP32[($4 + 16 | 0) >> 2] | 0 | 0) | 0, wasm2js_i32$4 = -1), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$4; + HEAP32[($4 + 16 | 0) >> 2] = (HEAP32[($4 + 16 | 0) >> 2] | 0) + 1 | 0; + continue label$6; + }; + } + void_20btAlignedObjectArray_btBroadphasePair___quickSort_btBroadphasePairSortPredicate__28btBroadphasePairSortPredicate_20const__29($4 + 20 | 0 | 0, $4 + 15 | 0 | 0); + HEAP32[($4 + 16 | 0) >> 2] = 0; + label$7 : { + label$8 : while (1) { + if (!((HEAP32[($4 + 16 | 0) >> 2] | 0 | 0) < (btAlignedObjectArray_btBroadphasePair___size_28_29_20const($4 + 20 | 0 | 0) | 0 | 0) & 1 | 0)) { + break label$7 + } + (((wasm2js_i32$4 = $5, wasm2js_i32$3 = HEAP32[(btAlignedObjectArray_btBroadphasePair___operator_5b_5d_28int_29($4 + 20 | 0 | 0, HEAP32[($4 + 16 | 0) >> 2] | 0 | 0) | 0) >> 2] | 0), wasm2js_i32$2 = HEAP32[((btAlignedObjectArray_btBroadphasePair___operator_5b_5d_28int_29($4 + 20 | 0 | 0, HEAP32[($4 + 16 | 0) >> 2] | 0 | 0) | 0) + 4 | 0) >> 2] | 0), wasm2js_i32$0 = HEAP32[((HEAP32[$5 >> 2] | 0) + 8 | 0) >> 2] | 0 | 0), FUNCTION_TABLE[wasm2js_i32$0](wasm2js_i32$4 | 0, wasm2js_i32$3 | 0, wasm2js_i32$2 | 0) | 0; + HEAP32[($4 + 16 | 0) >> 2] = (HEAP32[($4 + 16 | 0) >> 2] | 0) + 1 | 0; + continue label$8; + }; + } + btAlignedObjectArray_btBroadphasePair____btAlignedObjectArray_28_29($4 + 20 | 0 | 0) | 0; + __stack_pointer = $4 + 48 | 0; + return; + } + + function btAlignedObjectArray_btBroadphasePair___push_back_28btBroadphasePair_20const__29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $5 = 0, $4 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; + (wasm2js_i32$0 = $4, wasm2js_i32$1 = btAlignedObjectArray_btBroadphasePair___size_28_29_20const($5 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + if (!((HEAP32[($4 + 4 | 0) >> 2] | 0 | 0) == (btAlignedObjectArray_btBroadphasePair___capacity_28_29_20const($5 | 0) | 0 | 0) & 1 | 0)) { + break label$1 + } + btAlignedObjectArray_btBroadphasePair___reserve_28int_29($5 | 0, btAlignedObjectArray_btBroadphasePair___allocSize_28int_29($5 | 0, btAlignedObjectArray_btBroadphasePair___size_28_29_20const($5 | 0) | 0 | 0) | 0 | 0); + } + btBroadphasePair__btBroadphasePair_28btBroadphasePair_20const__29(btBroadphasePair__operator_20new_28unsigned_20long_2c_20void__29(16 | 0, (HEAP32[($5 + 12 | 0) >> 2] | 0) + ((HEAP32[($5 + 4 | 0) >> 2] | 0) << 4 | 0) | 0 | 0) | 0 | 0, HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) | 0; + HEAP32[($5 + 4 | 0) >> 2] = (HEAP32[($5 + 4 | 0) >> 2] | 0) + 1 | 0; + __stack_pointer = $4 + 16 | 0; + return; + } + + function btHashedOverlappingPairCache__addOverlappingPair_28btBroadphaseProxy__2c_20btBroadphaseProxy__29($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $5 = 0, $6 = 0, $21 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5 = __stack_pointer - 16 | 0; + __stack_pointer = $5; + HEAP32[($5 + 8 | 0) >> 2] = $0; + HEAP32[($5 + 4 | 0) >> 2] = $1; + HEAP32[$5 >> 2] = $2; + $6 = HEAP32[($5 + 8 | 0) >> 2] | 0; + HEAP32[(0 + 113956 | 0) >> 2] = (HEAP32[(0 + 113956 | 0) >> 2] | 0) + 1 | 0; + label$1 : { + label$2 : { + if ((btHashedOverlappingPairCache__needsBroadphaseCollision_28btBroadphaseProxy__2c_20btBroadphaseProxy__29_20const($6 | 0, HEAP32[($5 + 4 | 0) >> 2] | 0 | 0, HEAP32[$5 >> 2] | 0 | 0) | 0) & 1 | 0) { + break label$2 + } + HEAP32[($5 + 12 | 0) >> 2] = 0; + break label$1; + } + (wasm2js_i32$0 = $5, wasm2js_i32$1 = btHashedOverlappingPairCache__internalAddPair_28btBroadphaseProxy__2c_20btBroadphaseProxy__29($6 | 0, HEAP32[($5 + 4 | 0) >> 2] | 0 | 0, HEAP32[$5 >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + } + $21 = HEAP32[($5 + 12 | 0) >> 2] | 0; + __stack_pointer = $5 + 16 | 0; + return $21 | 0; + } + + function btHashedOverlappingPairCache__needsBroadphaseCollision_28btBroadphaseProxy__2c_20btBroadphaseProxy__29_20const($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $5 = 0, $6 = 0, $14 = 0, $37 = 0, $55 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5 = __stack_pointer - 32 | 0; + __stack_pointer = $5; + HEAP32[($5 + 24 | 0) >> 2] = $0; + HEAP32[($5 + 20 | 0) >> 2] = $1; + HEAP32[($5 + 16 | 0) >> 2] = $2; + $6 = HEAP32[($5 + 24 | 0) >> 2] | 0; + label$1 : { + label$2 : { + if (!((HEAP32[($6 + 24 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$2 + } + $14 = HEAP32[($6 + 24 | 0) >> 2] | 0; + (wasm2js_i32$0 = $5, wasm2js_i32$1 = (FUNCTION_TABLE[HEAP32[((HEAP32[$14 >> 2] | 0) + 8 | 0) >> 2] | 0 | 0]($14, HEAP32[($5 + 20 | 0) >> 2] | 0, HEAP32[($5 + 16 | 0) >> 2] | 0) | 0) & 1 | 0), HEAP8[(wasm2js_i32$0 + 31 | 0) >> 0] = wasm2js_i32$1; + break label$1; + } + HEAP8[($5 + 15 | 0) >> 0] = ((HEAP32[((HEAP32[($5 + 20 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & (HEAP32[((HEAP32[($5 + 16 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) | 0 | 0) != (0 | 0) & 1 | 0; + $37 = 0; + label$3 : { + if (!((HEAPU8[($5 + 15 | 0) >> 0] | 0) & 1 | 0)) { + break label$3 + } + $37 = ((HEAP32[((HEAP32[($5 + 16 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & (HEAP32[((HEAP32[($5 + 20 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) | 0 | 0) != (0 | 0); + } + HEAP8[($5 + 15 | 0) >> 0] = $37 & 1 | 0; + HEAP8[($5 + 31 | 0) >> 0] = (HEAPU8[($5 + 15 | 0) >> 0] | 0) & 1 | 0; + } + $55 = (HEAPU8[($5 + 31 | 0) >> 0] | 0) & 1 | 0; + __stack_pointer = $5 + 32 | 0; + return $55 | 0; + } + + function btHashedOverlappingPairCache__getOverlappingPairArrayPtr_28_29($0) { + $0 = $0 | 0; + var $3 = 0, $8 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $8 = btAlignedObjectArray_btBroadphasePair___operator_5b_5d_28int_29((HEAP32[($3 + 12 | 0) >> 2] | 0) + 4 | 0 | 0, 0 | 0) | 0; + __stack_pointer = $3 + 16 | 0; + return $8 | 0; + } + + function btHashedOverlappingPairCache__getOverlappingPairArrayPtr_28_29_20const($0) { + $0 = $0 | 0; + var $3 = 0, $8 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $8 = btAlignedObjectArray_btBroadphasePair___operator_5b_5d_28int_29_20const((HEAP32[($3 + 12 | 0) >> 2] | 0) + 4 | 0 | 0, 0 | 0) | 0; + __stack_pointer = $3 + 16 | 0; + return $8 | 0; + } + + function btAlignedObjectArray_btBroadphasePair___operator_5b_5d_28int_29_20const($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, $5 = 0, $32 = 0; + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; + label$1 : { + if ((HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0) { + break label$1 + } + __assert_fail(85840 | 0, 78192 | 0, 176 | 0, 83901 | 0); + wasm2js_trap(); + } + label$2 : { + if ((HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) < (btAlignedObjectArray_btBroadphasePair___size_28_29_20const($5 | 0) | 0 | 0) & 1 | 0) { + break label$2 + } + __assert_fail(87321 | 0, 78192 | 0, 177 | 0, 83901 | 0); + wasm2js_trap(); + } + $32 = (HEAP32[($5 + 12 | 0) >> 2] | 0) + ((HEAP32[($4 + 8 | 0) >> 2] | 0) << 4 | 0) | 0; + __stack_pointer = $4 + 16 | 0; + return $32 | 0; + } + + function btHashedOverlappingPairCache__getOverlappingPairArray_28_29($0) { + $0 = $0 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + return (HEAP32[($3 + 12 | 0) >> 2] | 0) + 4 | 0 | 0; + } + + function btHashedOverlappingPairCache__getNumOverlappingPairs_28_29_20const($0) { + $0 = $0 | 0; + var $3 = 0, $7 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $7 = btAlignedObjectArray_btBroadphasePair___size_28_29_20const((HEAP32[($3 + 12 | 0) >> 2] | 0) + 4 | 0 | 0) | 0; + __stack_pointer = $3 + 16 | 0; + return $7 | 0; + } + + function btHashedOverlappingPairCache__setOverlapFilterCallback_28btOverlapFilterCallback__29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0; + $4 = __stack_pointer - 16 | 0; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + HEAP32[((HEAP32[($4 + 12 | 0) >> 2] | 0) + 24 | 0) >> 2] = HEAP32[($4 + 8 | 0) >> 2] | 0; + return; + } + + function btHashedOverlappingPairCache__hasDeferredRemoval_28_29($0) { + $0 = $0 | 0; + HEAP32[((__stack_pointer - 16 | 0) + 12 | 0) >> 2] = $0; + return 0 & 1 | 0 | 0; + } + + function btHashedOverlappingPairCache__setInternalGhostPairCallback_28btOverlappingPairCallback__29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0; + $4 = __stack_pointer - 16 | 0; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + HEAP32[((HEAP32[($4 + 12 | 0) >> 2] | 0) + 68 | 0) >> 2] = HEAP32[($4 + 8 | 0) >> 2] | 0; + return; + } + + function btOverlappingPairCallback___btOverlappingPairCallback_28_29($0) { + $0 = $0 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + return HEAP32[($3 + 12 | 0) >> 2] | 0 | 0; + } + + function btOverlappingPairCache___btOverlappingPairCache_28_29_1($0) { + $0 = $0 | 0; + HEAP32[((__stack_pointer - 16 | 0) + 12 | 0) >> 2] = $0; + wasm2js_trap(); + } + + function btOverlappingPairCallback___btOverlappingPairCallback_28_29_1($0) { + $0 = $0 | 0; + HEAP32[((__stack_pointer - 16 | 0) + 12 | 0) >> 2] = $0; + wasm2js_trap(); + } + + function btHashedOverlappingPairCache__cleanProxyFromPairs_28btBroadphaseProxy__2c_20btDispatcher__29__CleanPairCallback___CleanPairCallback_28_29_1($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + btHashedOverlappingPairCache__cleanProxyFromPairs_28btBroadphaseProxy__2c_20btDispatcher__29__CleanPairCallback___CleanPairCallback_28_29($4 | 0) | 0; + operator_20delete_28void__29($4 | 0); + __stack_pointer = $3 + 16 | 0; + return; + } + + function btHashedOverlappingPairCache__cleanProxyFromPairs_28btBroadphaseProxy__2c_20btDispatcher__29__CleanPairCallback__processOverlap_28btBroadphasePair__29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, $5 = 0, $22 = 0; + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; + label$1 : { + label$2 : { + if ((HEAP32[(HEAP32[($4 + 8 | 0) >> 2] | 0) >> 2] | 0 | 0) == (HEAP32[($5 + 4 | 0) >> 2] | 0 | 0) & 1 | 0) { + break label$2 + } + if (!((HEAP32[((HEAP32[($4 + 8 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) == (HEAP32[($5 + 4 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$1 + } + } + $22 = HEAP32[($5 + 8 | 0) >> 2] | 0; + FUNCTION_TABLE[HEAP32[((HEAP32[$22 >> 2] | 0) + 32 | 0) >> 2] | 0 | 0]($22, HEAP32[($4 + 8 | 0) >> 2] | 0, HEAP32[($5 + 12 | 0) >> 2] | 0); + } + __stack_pointer = $4 + 16 | 0; + return 0 & 1 | 0 | 0; + } + + function btOverlapCallback___btOverlapCallback_28_29_1($0) { + $0 = $0 | 0; + HEAP32[((__stack_pointer - 16 | 0) + 12 | 0) >> 2] = $0; + wasm2js_trap(); + } + + function btHashedOverlappingPairCache__removeOverlappingPairsContainingProxy_28btBroadphaseProxy__2c_20btDispatcher__29__RemovePairCallback___RemovePairCallback_28_29_1($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + btHashedOverlappingPairCache__removeOverlappingPairsContainingProxy_28btBroadphaseProxy__2c_20btDispatcher__29__RemovePairCallback___RemovePairCallback_28_29($4 | 0) | 0; + operator_20delete_28void__29($4 | 0); + __stack_pointer = $3 + 16 | 0; + return; + } + + function btHashedOverlappingPairCache__removeOverlappingPairsContainingProxy_28btBroadphaseProxy__2c_20btDispatcher__29__RemovePairCallback__processOverlap_28btBroadphasePair__29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, $5 = 0, $15 = 0; + $4 = __stack_pointer - 16 | 0; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; + $15 = 1; + label$1 : { + if ((HEAP32[(HEAP32[($4 + 8 | 0) >> 2] | 0) >> 2] | 0 | 0) == (HEAP32[($5 + 4 | 0) >> 2] | 0 | 0) & 1 | 0) { + break label$1 + } + $15 = (HEAP32[((HEAP32[($4 + 8 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) == (HEAP32[($5 + 4 | 0) >> 2] | 0 | 0); + } + return $15 & 1 | 0 | 0; + } + + function _GLOBAL__sub_I_btOverlappingPairCache_cpp() { + __cxx_global_var_init_6(); + return; + } + + function __cxx_global_var_init_7() { + btInfMaskConverter__btInfMaskConverter_28int_29(113964 | 0, 2139095040 | 0) | 0; + return; + } + + function btDispatcher___btDispatcher_28_29($0) { + $0 = $0 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + return HEAP32[($3 + 12 | 0) >> 2] | 0 | 0; + } + + function btDispatcher___btDispatcher_28_29_1($0) { + $0 = $0 | 0; + HEAP32[((__stack_pointer - 16 | 0) + 12 | 0) >> 2] = $0; + wasm2js_trap(); + } + + function _GLOBAL__sub_I_btDispatcher_cpp() { + __cxx_global_var_init_7(); + return; + } + + function __cxx_global_var_init_8() { + btInfMaskConverter__btInfMaskConverter_28int_29(113968 | 0, 2139095040 | 0) | 0; + return; + } + + function btCollisionDispatcher__btCollisionDispatcher_28btCollisionConfiguration__29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, $5 = 0, $16 = 0, $20 = 0, $40 = 0, $77 = 0, $45 = 0, $82 = 0, $99 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4 = __stack_pointer - 32 | 0; + __stack_pointer = $4; + HEAP32[($4 + 24 | 0) >> 2] = $0; + HEAP32[($4 + 20 | 0) >> 2] = $1; + $5 = HEAP32[($4 + 24 | 0) >> 2] | 0; + HEAP32[($4 + 28 | 0) >> 2] = $5; + btDispatcher__btDispatcher_28_29($5 | 0) | 0; + HEAP32[$5 >> 2] = 91292 + 8 | 0; + HEAP32[($5 + 4 | 0) >> 2] = 2; + btAlignedObjectArray_btPersistentManifold____btAlignedObjectArray_28_29($5 + 8 | 0 | 0) | 0; + btManifoldResult__btManifoldResult_28_29($5 + 28 | 0 | 0) | 0; + HEAP32[($5 + 10444 | 0) >> 2] = HEAP32[($4 + 20 | 0) >> 2] | 0; + btCollisionDispatcher__setNearCallback_28void_20_28__29_28btBroadphasePair__2c_20btCollisionDispatcher__2c_20btDispatcherInfo_20const__29_29($5 | 0, 510 | 0); + $16 = HEAP32[($4 + 20 | 0) >> 2] | 0; + (wasm2js_i32$0 = $5, wasm2js_i32$1 = FUNCTION_TABLE[HEAP32[((HEAP32[$16 >> 2] | 0) + 12 | 0) >> 2] | 0 | 0]($16) | 0), HEAP32[(wasm2js_i32$0 + 68 | 0) >> 2] = wasm2js_i32$1; + $20 = HEAP32[($4 + 20 | 0) >> 2] | 0; + (wasm2js_i32$0 = $5, wasm2js_i32$1 = FUNCTION_TABLE[HEAP32[((HEAP32[$20 >> 2] | 0) + 8 | 0) >> 2] | 0 | 0]($20) | 0), HEAP32[(wasm2js_i32$0 + 72 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($4 + 16 | 0) >> 2] = 0; + label$1 : { + label$2 : while (1) { + if (!((HEAP32[($4 + 16 | 0) >> 2] | 0 | 0) < (36 | 0) & 1 | 0)) { + break label$1 + } + HEAP32[($4 + 12 | 0) >> 2] = 0; + label$3 : { + label$4 : while (1) { + if (!((HEAP32[($4 + 12 | 0) >> 2] | 0 | 0) < (36 | 0) & 1 | 0)) { + break label$3 + } + $40 = HEAP32[($5 + 10444 | 0) >> 2] | 0; + $45 = FUNCTION_TABLE[HEAP32[((HEAP32[$40 >> 2] | 0) + 16 | 0) >> 2] | 0 | 0]($40, HEAP32[($4 + 16 | 0) >> 2] | 0, HEAP32[($4 + 12 | 0) >> 2] | 0) | 0; + HEAP32[((($5 + 76 | 0) + Math_imul(HEAP32[($4 + 16 | 0) >> 2] | 0, 144) | 0) + ((HEAP32[($4 + 12 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = $45; + label$5 : { + if ((HEAP32[((($5 + 76 | 0) + Math_imul(HEAP32[($4 + 16 | 0) >> 2] | 0, 144) | 0) + ((HEAP32[($4 + 12 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$5 + } + __assert_fail(83849 | 0, 72837 | 0, 54 | 0, 71229 | 0); + wasm2js_trap(); + } + $77 = HEAP32[($5 + 10444 | 0) >> 2] | 0; + $82 = FUNCTION_TABLE[HEAP32[((HEAP32[$77 >> 2] | 0) + 20 | 0) >> 2] | 0 | 0]($77, HEAP32[($4 + 16 | 0) >> 2] | 0, HEAP32[($4 + 12 | 0) >> 2] | 0) | 0; + HEAP32[((($5 + 5260 | 0) + Math_imul(HEAP32[($4 + 16 | 0) >> 2] | 0, 144) | 0) + ((HEAP32[($4 + 12 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = $82; + HEAP32[($4 + 12 | 0) >> 2] = (HEAP32[($4 + 12 | 0) >> 2] | 0) + 1 | 0; + continue label$4; + }; + } + HEAP32[($4 + 16 | 0) >> 2] = (HEAP32[($4 + 16 | 0) >> 2] | 0) + 1 | 0; + continue label$2; + }; + } + $99 = HEAP32[($4 + 28 | 0) >> 2] | 0; + __stack_pointer = $4 + 32 | 0; + return $99 | 0; + } + + function btDispatcher__btDispatcher_28_29($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + HEAP32[$4 >> 2] = 91196 + 8 | 0; + return $4 | 0; + } + + function btAlignedObjectArray_btPersistentManifold____btAlignedObjectArray_28_29($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + btAlignedAllocator_btPersistentManifold__2c_2016u___btAlignedAllocator_28_29($4 | 0) | 0; + btAlignedObjectArray_btPersistentManifold____init_28_29($4 | 0); + __stack_pointer = $3 + 16 | 0; + return $4 | 0; + } + + function btManifoldResult__btManifoldResult_28_29($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + btDiscreteCollisionDetectorInterface__Result__Result_28_29($4 | 0) | 0; + HEAP32[$4 >> 2] = 96512 + 8 | 0; + HEAPF32[($4 + 32 | 0) >> 2] = Math_fround(0 | 0); + __stack_pointer = $3 + 16 | 0; + return $4 | 0; + } + + function btCollisionDispatcher__defaultNearCallback_28btBroadphasePair__2c_20btCollisionDispatcher__2c_20btDispatcherInfo_20const__29($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $5 = 0, $12 = 0, $29 = 0, $39 = 0, $48 = 0, $87 = 0, $101 = 0, $59 = 0, wasm2js_i32$0 = 0, wasm2js_f32$0 = Math_fround(0); + $5 = __stack_pointer - 112 | 0; + __stack_pointer = $5; + HEAP32[($5 + 108 | 0) >> 2] = $0; + HEAP32[($5 + 104 | 0) >> 2] = $1; + HEAP32[($5 + 100 | 0) >> 2] = $2; + HEAP32[($5 + 96 | 0) >> 2] = HEAP32[(HEAP32[(HEAP32[($5 + 108 | 0) >> 2] | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($5 + 92 | 0) >> 2] = HEAP32[(HEAP32[((HEAP32[($5 + 108 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) >> 2] | 0; + $12 = HEAP32[($5 + 104 | 0) >> 2] | 0; + label$1 : { + if (!((FUNCTION_TABLE[HEAP32[((HEAP32[$12 >> 2] | 0) + 24 | 0) >> 2] | 0 | 0]($12, HEAP32[($5 + 96 | 0) >> 2] | 0, HEAP32[($5 + 92 | 0) >> 2] | 0) | 0) & 1 | 0)) { + break label$1 + } + $29 = -1; + btCollisionObjectWrapper__btCollisionObjectWrapper_28btCollisionObjectWrapper_20const__2c_20btCollisionShape_20const__2c_20btCollisionObject_20const__2c_20btTransform_20const__2c_20int_2c_20int_29($5 + 68 | 0 | 0, 0 | 0, btCollisionObject__getCollisionShape_28_29(HEAP32[($5 + 96 | 0) >> 2] | 0 | 0) | 0 | 0, HEAP32[($5 + 96 | 0) >> 2] | 0 | 0, btCollisionObject__getWorldTransform_28_29(HEAP32[($5 + 96 | 0) >> 2] | 0 | 0) | 0 | 0, $29 | 0, $29 | 0) | 0; + $39 = -1; + btCollisionObjectWrapper__btCollisionObjectWrapper_28btCollisionObjectWrapper_20const__2c_20btCollisionShape_20const__2c_20btCollisionObject_20const__2c_20btTransform_20const__2c_20int_2c_20int_29($5 + 44 | 0 | 0, 0 | 0, btCollisionObject__getCollisionShape_28_29(HEAP32[($5 + 92 | 0) >> 2] | 0 | 0) | 0 | 0, HEAP32[($5 + 92 | 0) >> 2] | 0 | 0, btCollisionObject__getWorldTransform_28_29(HEAP32[($5 + 92 | 0) >> 2] | 0 | 0) | 0 | 0, $39 | 0, $39 | 0) | 0; + label$2 : { + if ((HEAP32[((HEAP32[($5 + 108 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$2 + } + $48 = HEAP32[($5 + 104 | 0) >> 2] | 0; + $59 = FUNCTION_TABLE[HEAP32[((HEAP32[$48 >> 2] | 0) + 8 | 0) >> 2] | 0 | 0]($48, $5 + 68 | 0, $5 + 44 | 0, 0, 1) | 0; + HEAP32[((HEAP32[($5 + 108 | 0) >> 2] | 0) + 8 | 0) >> 2] = $59; + } + label$3 : { + if (!((HEAP32[((HEAP32[($5 + 108 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$3 + } + btManifoldResult__btManifoldResult_28btCollisionObjectWrapper_20const__2c_20btCollisionObjectWrapper_20const__29($5 + 8 | 0 | 0, $5 + 68 | 0 | 0, $5 + 44 | 0 | 0) | 0; + label$4 : { + label$5 : { + if (!((HEAP32[((HEAP32[($5 + 100 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) == (1 | 0) & 1 | 0)) { + break label$5 + } + $87 = HEAP32[((HEAP32[($5 + 108 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + FUNCTION_TABLE[HEAP32[((HEAP32[$87 >> 2] | 0) + 8 | 0) >> 2] | 0 | 0]($87, $5 + 68 | 0, $5 + 44 | 0, HEAP32[($5 + 100 | 0) >> 2] | 0, $5 + 8 | 0); + break label$4; + } + $101 = HEAP32[((HEAP32[($5 + 108 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + (wasm2js_i32$0 = $5, wasm2js_f32$0 = Math_fround(FUNCTION_TABLE[HEAP32[((HEAP32[$101 >> 2] | 0) + 12 | 0) >> 2] | 0 | 0]($101, HEAP32[($5 + 96 | 0) >> 2] | 0, HEAP32[($5 + 92 | 0) >> 2] | 0, HEAP32[($5 + 100 | 0) >> 2] | 0, $5 + 8 | 0))), HEAPF32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_f32$0; + label$6 : { + if (!(Math_fround(HEAPF32[((HEAP32[($5 + 100 | 0) >> 2] | 0) + 12 | 0) >> 2]) > Math_fround(HEAPF32[($5 + 4 | 0) >> 2]) & 1 | 0)) { + break label$6 + } + HEAPF32[((HEAP32[($5 + 100 | 0) >> 2] | 0) + 12 | 0) >> 2] = Math_fround(HEAPF32[($5 + 4 | 0) >> 2]); + } + } + btManifoldResult___btManifoldResult_28_29($5 + 8 | 0 | 0) | 0; + } + } + __stack_pointer = $5 + 112 | 0; + return; + } + + function btCollisionDispatcher__setNearCallback_28void_20_28__29_28btBroadphasePair__2c_20btCollisionDispatcher__2c_20btDispatcherInfo_20const__29_29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0; + $4 = __stack_pointer - 16 | 0; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + HEAP32[((HEAP32[($4 + 12 | 0) >> 2] | 0) + 64 | 0) >> 2] = HEAP32[($4 + 8 | 0) >> 2] | 0; + return; + } + + function btAlignedAllocator_btPersistentManifold__2c_2016u___btAlignedAllocator_28_29($0) { + $0 = $0 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + return HEAP32[($3 + 12 | 0) >> 2] | 0 | 0; + } + + function btAlignedObjectArray_btPersistentManifold____init_28_29($0) { + $0 = $0 | 0; + var $4 = 0, $3 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + HEAP8[($4 + 16 | 0) >> 0] = 1; + HEAP32[($4 + 12 | 0) >> 2] = 0; + HEAP32[($4 + 4 | 0) >> 2] = 0; + HEAP32[($4 + 8 | 0) >> 2] = 0; + return; + } + + function btDiscreteCollisionDetectorInterface__Result__Result_28_29($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + HEAP32[$4 >> 2] = 91400 + 8 | 0; + return $4 | 0; + } + + function btCollisionObjectWrapper__btCollisionObjectWrapper_28btCollisionObjectWrapper_20const__2c_20btCollisionShape_20const__2c_20btCollisionObject_20const__2c_20btTransform_20const__2c_20int_2c_20int_29($0, $1, $2, $3, $4, $5, $6) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + $4 = $4 | 0; + $5 = $5 | 0; + $6 = $6 | 0; + var $9 = 0, $10 = 0; + $9 = __stack_pointer - 32 | 0; + HEAP32[($9 + 28 | 0) >> 2] = $0; + HEAP32[($9 + 24 | 0) >> 2] = $1; + HEAP32[($9 + 20 | 0) >> 2] = $2; + HEAP32[($9 + 16 | 0) >> 2] = $3; + HEAP32[($9 + 12 | 0) >> 2] = $4; + HEAP32[($9 + 8 | 0) >> 2] = $5; + HEAP32[($9 + 4 | 0) >> 2] = $6; + $10 = HEAP32[($9 + 28 | 0) >> 2] | 0; + HEAP32[$10 >> 2] = HEAP32[($9 + 24 | 0) >> 2] | 0; + HEAP32[($10 + 4 | 0) >> 2] = HEAP32[($9 + 20 | 0) >> 2] | 0; + HEAP32[($10 + 8 | 0) >> 2] = HEAP32[($9 + 16 | 0) >> 2] | 0; + HEAP32[($10 + 12 | 0) >> 2] = HEAP32[($9 + 12 | 0) >> 2] | 0; + HEAP32[($10 + 16 | 0) >> 2] = HEAP32[($9 + 8 | 0) >> 2] | 0; + HEAP32[($10 + 20 | 0) >> 2] = HEAP32[($9 + 4 | 0) >> 2] | 0; + return $10 | 0; + } + + function btManifoldResult___btManifoldResult_28_29($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + btDiscreteCollisionDetectorInterface__Result___Result_28_29($4 | 0) | 0; + __stack_pointer = $3 + 16 | 0; + return $4 | 0; + } + + function btCollisionDispatcher___btCollisionDispatcher_28_29($0) { + $0 = $0 | 0; + var $4 = 0, $3 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + HEAP32[$4 >> 2] = 91292 + 8 | 0; + btManifoldResult___btManifoldResult_28_29($4 + 28 | 0 | 0) | 0; + btAlignedObjectArray_btPersistentManifold_____btAlignedObjectArray_28_29($4 + 8 | 0 | 0) | 0; + btDispatcher___btDispatcher_28_29($4 | 0) | 0; + __stack_pointer = $3 + 16 | 0; + return $4 | 0; + } + + function btAlignedObjectArray_btPersistentManifold_____btAlignedObjectArray_28_29($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + btAlignedObjectArray_btPersistentManifold____clear_28_29($4 | 0); + __stack_pointer = $3 + 16 | 0; + return $4 | 0; + } + + function btDiscreteCollisionDetectorInterface__Result___Result_28_29($0) { + $0 = $0 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + return HEAP32[($3 + 12 | 0) >> 2] | 0 | 0; + } + + function btAlignedObjectArray_btPersistentManifold____clear_28_29($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + btAlignedObjectArray_btPersistentManifold____destroy_28int_2c_20int_29($4 | 0, 0 | 0, btAlignedObjectArray_btPersistentManifold____size_28_29_20const($4 | 0) | 0 | 0); + btAlignedObjectArray_btPersistentManifold____deallocate_28_29($4 | 0); + btAlignedObjectArray_btPersistentManifold____init_28_29($4 | 0); + __stack_pointer = $3 + 16 | 0; + return; + } + + function btCollisionDispatcher___btCollisionDispatcher_28_29_1($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + FUNCTION_TABLE[511 | 0]($4) | 0; + operator_20delete_28void__29($4 | 0); + __stack_pointer = $3 + 16 | 0; + return; + } + + function btCollisionDispatcher__getNewManifold_28btCollisionObject_20const__2c_20btCollisionObject_20const__29($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $5 = 0, $6 = 0, $16 = 0, $23 = 0, $37 = Math_fround(0), $75 = 0, $83 = 0, $90 = 0, wasm2js_i32$0 = 0, wasm2js_f32$0 = Math_fround(0), wasm2js_i32$1 = 0; + $5 = __stack_pointer - 48 | 0; + __stack_pointer = $5; + HEAP32[($5 + 44 | 0) >> 2] = $0; + HEAP32[($5 + 40 | 0) >> 2] = $1; + HEAP32[($5 + 36 | 0) >> 2] = $2; + $6 = HEAP32[($5 + 44 | 0) >> 2] | 0; + HEAP32[(0 + 113972 | 0) >> 2] = (HEAP32[(0 + 113972 | 0) >> 2] | 0) + 1 | 0; + label$1 : { + label$2 : { + if (!((HEAP32[($6 + 4 | 0) >> 2] | 0) & 2 | 0)) { + break label$2 + } + $16 = btCollisionObject__getCollisionShape_28_29_20const(HEAP32[($5 + 40 | 0) >> 2] | 0 | 0) | 0; + (wasm2js_i32$0 = $5, wasm2js_f32$0 = Math_fround(FUNCTION_TABLE[HEAP32[((HEAP32[$16 >> 2] | 0) + 20 | 0) >> 2] | 0 | 0]($16, Math_fround(HEAPF32[(0 + 112840 | 0) >> 2])))), HEAPF32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_f32$0; + $23 = btCollisionObject__getCollisionShape_28_29_20const(HEAP32[($5 + 36 | 0) >> 2] | 0 | 0) | 0; + (wasm2js_i32$0 = $5, wasm2js_f32$0 = Math_fround(FUNCTION_TABLE[HEAP32[((HEAP32[$23 >> 2] | 0) + 20 | 0) >> 2] | 0 | 0]($23, Math_fround(HEAPF32[(0 + 112840 | 0) >> 2])))), HEAPF32[(wasm2js_i32$0 + 24 | 0) >> 2] = wasm2js_f32$0; + $37 = Math_fround(HEAPF32[(float_20const__20btMin_float__28float_20const__2c_20float_20const__29($5 + 28 | 0 | 0, $5 + 24 | 0 | 0) | 0) >> 2]); + break label$1; + } + $37 = Math_fround(HEAPF32[(0 + 112840 | 0) >> 2]); + } + HEAPF32[($5 + 32 | 0) >> 2] = $37; + (wasm2js_i32$0 = $5, wasm2js_f32$0 = Math_fround(btCollisionObject__getContactProcessingThreshold_28_29_20const(HEAP32[($5 + 40 | 0) >> 2] | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_f32$0; + (wasm2js_i32$0 = $5, wasm2js_f32$0 = Math_fround(btCollisionObject__getContactProcessingThreshold_28_29_20const(HEAP32[($5 + 36 | 0) >> 2] | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_f32$0; + (wasm2js_i32$0 = $5, wasm2js_f32$0 = Math_fround(HEAPF32[(float_20const__20btMin_float__28float_20const__2c_20float_20const__29($5 + 16 | 0 | 0, $5 + 12 | 0 | 0) | 0) >> 2])), HEAPF32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_f32$0; + (wasm2js_i32$0 = $5, wasm2js_i32$1 = btPoolAllocator__allocate_28int_29(HEAP32[($6 + 72 | 0) >> 2] | 0 | 0, 868 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + label$3 : { + if (!((0 | 0) == (HEAP32[($5 + 8 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$3 + } + label$4 : { + label$5 : { + if ((HEAP32[($6 + 4 | 0) >> 2] | 0) & 4 | 0) { + break label$5 + } + (wasm2js_i32$0 = $5, wasm2js_i32$1 = btAlignedAllocInternal_28unsigned_20long_2c_20int_29(868 | 0, 16 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + break label$4; + } + __assert_fail(86177 | 0, 72837 | 0, 103 | 0, 82734 | 0); + wasm2js_trap(); + } + } + $75 = btPersistentManifold__operator_20new_28unsigned_20long_2c_20void__29(868 | 0, HEAP32[($5 + 8 | 0) >> 2] | 0 | 0) | 0; + btPersistentManifold__btPersistentManifold_28btCollisionObject_20const__2c_20btCollisionObject_20const__2c_20int_2c_20float_2c_20float_29($75 | 0, HEAP32[($5 + 40 | 0) >> 2] | 0 | 0, HEAP32[($5 + 36 | 0) >> 2] | 0 | 0, 0 | 0, Math_fround(Math_fround(HEAPF32[($5 + 32 | 0) >> 2])), Math_fround(Math_fround(HEAPF32[($5 + 20 | 0) >> 2]))) | 0; + HEAP32[($5 + 4 | 0) >> 2] = $75; + $83 = btAlignedObjectArray_btPersistentManifold____size_28_29_20const($6 + 8 | 0 | 0) | 0; + HEAP32[((HEAP32[($5 + 4 | 0) >> 2] | 0) + 864 | 0) >> 2] = $83; + btAlignedObjectArray_btPersistentManifold____push_back_28btPersistentManifold__20const__29($6 + 8 | 0 | 0, $5 + 4 | 0 | 0); + $90 = HEAP32[($5 + 4 | 0) >> 2] | 0; + __stack_pointer = $5 + 48 | 0; + return $90 | 0; + } + + function float_20const__20btMin_float__28float_20const__2c_20float_20const__29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, $13 = 0; + $4 = __stack_pointer - 16 | 0; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + label$1 : { + label$2 : { + if (!(Math_fround(HEAPF32[(HEAP32[($4 + 12 | 0) >> 2] | 0) >> 2]) < Math_fround(HEAPF32[(HEAP32[($4 + 8 | 0) >> 2] | 0) >> 2]) & 1 | 0)) { + break label$2 + } + $13 = HEAP32[($4 + 12 | 0) >> 2] | 0; + break label$1; + } + $13 = HEAP32[($4 + 8 | 0) >> 2] | 0; + } + return $13 | 0; + } + + function btCollisionObject__getContactProcessingThreshold_28_29_20const($0) { + $0 = $0 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + return Math_fround(Math_fround(HEAPF32[((HEAP32[($3 + 12 | 0) >> 2] | 0) + 184 | 0) >> 2])); + } + + function btPoolAllocator__allocate_28int_29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, $5 = 0, $35 = 0; + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; + btMutexLock_28btSpinMutex__29($5 + 20 | 0 | 0); + label$1 : { + if (!(HEAP32[($4 + 8 | 0) >> 2] | 0)) { + break label$1 + } + if ((HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) <= (HEAP32[$5 >> 2] | 0 | 0) & 1 | 0) { + break label$1 + } + __assert_fail(80907 | 0, 78639 | 0, 77 | 0, 81385 | 0); + wasm2js_trap(); + } + HEAP32[($4 + 4 | 0) >> 2] = HEAP32[($5 + 12 | 0) >> 2] | 0; + label$2 : { + if (!((0 | 0) != (HEAP32[($5 + 12 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($5 + 12 | 0) >> 2] = HEAP32[(HEAP32[($5 + 12 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($5 + 8 | 0) >> 2] = (HEAP32[($5 + 8 | 0) >> 2] | 0) + -1 | 0; + } + btMutexUnlock_28btSpinMutex__29($5 + 20 | 0 | 0); + $35 = HEAP32[($4 + 4 | 0) >> 2] | 0; + __stack_pointer = $4 + 16 | 0; + return $35 | 0; + } + + function btPersistentManifold__operator_20new_28unsigned_20long_2c_20void__29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0; + $4 = __stack_pointer - 16 | 0; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + return HEAP32[($4 + 8 | 0) >> 2] | 0 | 0; + } + + function btPersistentManifold__btPersistentManifold_28btCollisionObject_20const__2c_20btCollisionObject_20const__2c_20int_2c_20float_2c_20float_29($0, $1, $2, $3, $4, $5) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + $4 = Math_fround($4); + $5 = Math_fround($5); + var $8 = 0, $9 = 0, $12 = 0, $15 = 0, $16 = 0, $18 = 0, $14 = 0, $29 = 0; + $8 = __stack_pointer - 32 | 0; + __stack_pointer = $8; + HEAP32[($8 + 24 | 0) >> 2] = $0; + HEAP32[($8 + 20 | 0) >> 2] = $1; + HEAP32[($8 + 16 | 0) >> 2] = $2; + HEAP32[($8 + 12 | 0) >> 2] = $3; + HEAPF32[($8 + 8 | 0) >> 2] = $4; + HEAPF32[($8 + 4 | 0) >> 2] = $5; + $9 = HEAP32[($8 + 24 | 0) >> 2] | 0; + HEAP32[($8 + 28 | 0) >> 2] = $9; + btTypedObject__btTypedObject_28int_29($9 | 0, 1025 | 0) | 0; + $12 = $9 + 4 | 0; + $14 = $12 + 832 | 0; + $15 = $12; + label$1 : while (1) { + $16 = $15; + btManifoldPoint__btManifoldPoint_28_29($16 | 0) | 0; + $18 = $16 + 208 | 0; + $15 = $18; + if (!(($18 | 0) == ($14 | 0) & 1 | 0)) { + continue label$1 + } + break label$1; + }; + HEAP32[($9 + 836 | 0) >> 2] = HEAP32[($8 + 20 | 0) >> 2] | 0; + HEAP32[($9 + 840 | 0) >> 2] = HEAP32[($8 + 16 | 0) >> 2] | 0; + HEAP32[($9 + 844 | 0) >> 2] = 0; + HEAPF32[($9 + 848 | 0) >> 2] = Math_fround(HEAPF32[($8 + 8 | 0) >> 2]); + HEAPF32[($9 + 852 | 0) >> 2] = Math_fround(HEAPF32[($8 + 4 | 0) >> 2]); + $29 = HEAP32[($8 + 28 | 0) >> 2] | 0; + __stack_pointer = $8 + 32 | 0; + return $29 | 0; + } + + function btAlignedObjectArray_btPersistentManifold____size_28_29_20const($0) { + $0 = $0 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + return HEAP32[((HEAP32[($3 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0; + } + + function btAlignedObjectArray_btPersistentManifold____push_back_28btPersistentManifold__20const__29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $5 = 0, $4 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; + (wasm2js_i32$0 = $4, wasm2js_i32$1 = btAlignedObjectArray_btPersistentManifold____size_28_29_20const($5 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + if (!((HEAP32[($4 + 4 | 0) >> 2] | 0 | 0) == (btAlignedObjectArray_btPersistentManifold____capacity_28_29_20const($5 | 0) | 0 | 0) & 1 | 0)) { + break label$1 + } + btAlignedObjectArray_btPersistentManifold____reserve_28int_29($5 | 0, btAlignedObjectArray_btPersistentManifold____allocSize_28int_29($5 | 0, btAlignedObjectArray_btPersistentManifold____size_28_29_20const($5 | 0) | 0 | 0) | 0 | 0); + } + HEAP32[((HEAP32[($5 + 12 | 0) >> 2] | 0) + ((HEAP32[($5 + 4 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = HEAP32[(HEAP32[($4 + 8 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($5 + 4 | 0) >> 2] = (HEAP32[($5 + 4 | 0) >> 2] | 0) + 1 | 0; + __stack_pointer = $4 + 16 | 0; + return; + } + + function btMutexLock_28btSpinMutex__29($0) { + $0 = $0 | 0; + HEAP32[((__stack_pointer - 16 | 0) + 12 | 0) >> 2] = $0; + return; + } + + function btMutexUnlock_28btSpinMutex__29($0) { + $0 = $0 | 0; + HEAP32[((__stack_pointer - 16 | 0) + 12 | 0) >> 2] = $0; + return; + } + + function btTypedObject__btTypedObject_28int_29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, $5 = 0; + $4 = __stack_pointer - 16 | 0; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; + HEAP32[$5 >> 2] = HEAP32[($4 + 8 | 0) >> 2] | 0; + return $5 | 0; + } + + function btManifoldPoint__btManifoldPoint_28_29($0) { + $0 = $0 | 0; + var $4 = 0, $3 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + btVector3__btVector3_28_29($4 | 0) | 0; + btVector3__btVector3_28_29($4 + 16 | 0 | 0) | 0; + btVector3__btVector3_28_29($4 + 32 | 0 | 0) | 0; + btVector3__btVector3_28_29($4 + 48 | 0 | 0) | 0; + btVector3__btVector3_28_29($4 + 64 | 0 | 0) | 0; + HEAP32[($4 + 116 | 0) >> 2] = 0; + HEAP32[($4 + 120 | 0) >> 2] = 0; + HEAP32[($4 + 124 | 0) >> 2] = 0; + HEAP32[($4 + 128 | 0) >> 2] = 0; + HEAPF32[($4 + 132 | 0) >> 2] = Math_fround(0 | 0); + HEAPF32[($4 + 136 | 0) >> 2] = Math_fround(0 | 0); + HEAPF32[($4 + 140 | 0) >> 2] = Math_fround(0 | 0); + HEAPF32[($4 + 144 | 0) >> 2] = Math_fround(0 | 0); + HEAPF32[($4 + 148 | 0) >> 2] = Math_fround(0 | 0); + HEAPF32[($4 + 152 | 0) >> 2] = Math_fround(0 | 0); + HEAPF32[($4 + 156 | 0) >> 2] = Math_fround(0 | 0); + HEAPF32[($4 + 160 | 0) >> 2] = Math_fround(0 | 0); + HEAP32[($4 + 164 | 0) >> 2] = 0; + btVector3__btVector3_28_29($4 + 168 | 0 | 0) | 0; + btVector3__btVector3_28_29($4 + 184 | 0 | 0) | 0; + __stack_pointer = $3 + 16 | 0; + return $4 | 0; + } + + function btAlignedObjectArray_btPersistentManifold____capacity_28_29_20const($0) { + $0 = $0 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + return HEAP32[((HEAP32[($3 + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0; + } + + function btAlignedObjectArray_btPersistentManifold____allocSize_28int_29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, $9 = 0; + $4 = __stack_pointer - 16 | 0; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + label$1 : { + label$2 : { + if (!(HEAP32[($4 + 8 | 0) >> 2] | 0)) { + break label$2 + } + $9 = (HEAP32[($4 + 8 | 0) >> 2] | 0) << 1 | 0; + break label$1; + } + $9 = 1; + } + return $9 | 0; + } + + function btAlignedObjectArray_btPersistentManifold____reserve_28int_29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, $5 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; + label$1 : { + if (!((btAlignedObjectArray_btPersistentManifold____capacity_28_29_20const($5 | 0) | 0 | 0) < (HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$1 + } + (wasm2js_i32$0 = $4, wasm2js_i32$1 = btAlignedObjectArray_btPersistentManifold____allocate_28int_29($5 | 0, HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + btAlignedObjectArray_btPersistentManifold____copy_28int_2c_20int_2c_20btPersistentManifold___29_20const($5 | 0, 0 | 0, btAlignedObjectArray_btPersistentManifold____size_28_29_20const($5 | 0) | 0 | 0, HEAP32[($4 + 4 | 0) >> 2] | 0 | 0); + btAlignedObjectArray_btPersistentManifold____destroy_28int_2c_20int_29($5 | 0, 0 | 0, btAlignedObjectArray_btPersistentManifold____size_28_29_20const($5 | 0) | 0 | 0); + btAlignedObjectArray_btPersistentManifold____deallocate_28_29($5 | 0); + HEAP8[($5 + 16 | 0) >> 0] = 1; + HEAP32[($5 + 12 | 0) >> 2] = HEAP32[($4 + 4 | 0) >> 2] | 0; + HEAP32[($5 + 8 | 0) >> 2] = HEAP32[($4 + 8 | 0) >> 2] | 0; + } + __stack_pointer = $4 + 16 | 0; + return; + } + + function btCollisionDispatcher__clearManifold_28btPersistentManifold__29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0; + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + btPersistentManifold__clearManifold_28_29(HEAP32[($4 + 8 | 0) >> 2] | 0 | 0); + __stack_pointer = $4 + 16 | 0; + return; + } + + function btPersistentManifold__clearManifold_28_29($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0, $32 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + HEAP32[($3 + 8 | 0) >> 2] = 0; + label$1 : { + label$2 : while (1) { + if (!((HEAP32[($3 + 8 | 0) >> 2] | 0 | 0) < (HEAP32[($4 + 844 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$1 + } + btPersistentManifold__clearUserCache_28btManifoldPoint__29($4 | 0, ($4 + 4 | 0) + Math_imul(HEAP32[($3 + 8 | 0) >> 2] | 0, 208) | 0 | 0); + HEAP32[($3 + 8 | 0) >> 2] = (HEAP32[($3 + 8 | 0) >> 2] | 0) + 1 | 0; + continue label$2; + }; + } + label$3 : { + if (!((HEAP32[(0 + 115364 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$3 + } + if (!(HEAP32[($4 + 844 | 0) >> 2] | 0)) { + break label$3 + } + $32 = HEAP32[(0 + 115364 | 0) >> 2] | 0; + HEAP32[($3 + 4 | 0) >> 2] = $4; + FUNCTION_TABLE[$32 | 0]($3 + 4 | 0); + } + HEAP32[($4 + 844 | 0) >> 2] = 0; + __stack_pointer = $3 + 16 | 0; + return; + } + + function btCollisionDispatcher__releaseManifold_28btPersistentManifold__29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, $5 = 0, $37 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; + HEAP32[(0 + 113972 | 0) >> 2] = (HEAP32[(0 + 113972 | 0) >> 2] | 0) + -1 | 0; + FUNCTION_TABLE[HEAP32[((HEAP32[$5 >> 2] | 0) + 20 | 0) >> 2] | 0 | 0]($5, HEAP32[($4 + 8 | 0) >> 2] | 0); + HEAP32[($4 + 4 | 0) >> 2] = HEAP32[((HEAP32[($4 + 8 | 0) >> 2] | 0) + 864 | 0) >> 2] | 0; + label$1 : { + if ((HEAP32[($4 + 4 | 0) >> 2] | 0 | 0) < (btAlignedObjectArray_btPersistentManifold____size_28_29_20const($5 + 8 | 0 | 0) | 0 | 0) & 1 | 0) { + break label$1 + } + __assert_fail(87569 | 0, 72837 | 0, 130 | 0, 82749 | 0); + wasm2js_trap(); + } + btAlignedObjectArray_btPersistentManifold____swap_28int_2c_20int_29($5 + 8 | 0 | 0, HEAP32[($4 + 4 | 0) >> 2] | 0 | 0, (btAlignedObjectArray_btPersistentManifold____size_28_29_20const($5 + 8 | 0 | 0) | 0) - 1 | 0 | 0); + $37 = HEAP32[($4 + 4 | 0) >> 2] | 0; + (wasm2js_i32$0 = HEAP32[(btAlignedObjectArray_btPersistentManifold____operator_5b_5d_28int_29($5 + 8 | 0 | 0, HEAP32[($4 + 4 | 0) >> 2] | 0 | 0) | 0) >> 2] | 0, wasm2js_i32$1 = $37), HEAP32[(wasm2js_i32$0 + 864 | 0) >> 2] = wasm2js_i32$1; + btAlignedObjectArray_btPersistentManifold____pop_back_28_29($5 + 8 | 0 | 0); + label$2 : { + label$3 : { + if (!((btPoolAllocator__validPtr_28void__29(HEAP32[($5 + 72 | 0) >> 2] | 0 | 0, HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) | 0) & 1 | 0)) { + break label$3 + } + btPoolAllocator__freeMemory_28void__29(HEAP32[($5 + 72 | 0) >> 2] | 0 | 0, HEAP32[($4 + 8 | 0) >> 2] | 0 | 0); + break label$2; + } + btAlignedFreeInternal_28void__29(HEAP32[($4 + 8 | 0) >> 2] | 0 | 0); + } + __stack_pointer = $4 + 16 | 0; + return; + } + + function btAlignedObjectArray_btPersistentManifold____swap_28int_2c_20int_29($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $5 = 0, $6 = 0; + $5 = __stack_pointer - 16 | 0; + HEAP32[($5 + 12 | 0) >> 2] = $0; + HEAP32[($5 + 8 | 0) >> 2] = $1; + HEAP32[($5 + 4 | 0) >> 2] = $2; + $6 = HEAP32[($5 + 12 | 0) >> 2] | 0; + HEAP32[$5 >> 2] = HEAP32[((HEAP32[($6 + 12 | 0) >> 2] | 0) + ((HEAP32[($5 + 8 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; + HEAP32[((HEAP32[($6 + 12 | 0) >> 2] | 0) + ((HEAP32[($5 + 8 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = HEAP32[((HEAP32[($6 + 12 | 0) >> 2] | 0) + ((HEAP32[($5 + 4 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; + HEAP32[((HEAP32[($6 + 12 | 0) >> 2] | 0) + ((HEAP32[($5 + 4 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = HEAP32[$5 >> 2] | 0; + return; + } + + function btAlignedObjectArray_btPersistentManifold____operator_5b_5d_28int_29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, $5 = 0, $32 = 0; + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; + label$1 : { + if ((HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0) { + break label$1 + } + __assert_fail(85840 | 0, 78192 | 0, 183 | 0, 83901 | 0); + wasm2js_trap(); + } + label$2 : { + if ((HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) < (btAlignedObjectArray_btPersistentManifold____size_28_29_20const($5 | 0) | 0 | 0) & 1 | 0) { + break label$2 + } + __assert_fail(87321 | 0, 78192 | 0, 184 | 0, 83901 | 0); + wasm2js_trap(); + } + $32 = (HEAP32[($5 + 12 | 0) >> 2] | 0) + ((HEAP32[($4 + 8 | 0) >> 2] | 0) << 2 | 0) | 0; + __stack_pointer = $4 + 16 | 0; + return $32 | 0; + } + + function btAlignedObjectArray_btPersistentManifold____pop_back_28_29($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + label$1 : { + if ((HEAP32[($4 + 4 | 0) >> 2] | 0 | 0) > (0 | 0) & 1 | 0) { + break label$1 + } + __assert_fail(85800 | 0, 78192 | 0, 201 | 0, 77711 | 0); + wasm2js_trap(); + } + HEAP32[($4 + 4 | 0) >> 2] = (HEAP32[($4 + 4 | 0) >> 2] | 0) + -1 | 0; + __stack_pointer = $3 + 16 | 0; + return; + } + + function btPoolAllocator__validPtr_28void__29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, $5 = 0; + $4 = __stack_pointer - 16 | 0; + HEAP32[($4 + 8 | 0) >> 2] = $0; + HEAP32[($4 + 4 | 0) >> 2] = $1; + $5 = HEAP32[($4 + 8 | 0) >> 2] | 0; + label$1 : { + label$2 : { + if (!((HEAP32[($4 + 4 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$2 + } + label$3 : { + if (!((HEAP32[($4 + 4 | 0) >> 2] | 0) >>> 0 >= (HEAP32[($5 + 16 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$3 + } + if (!((HEAP32[($4 + 4 | 0) >> 2] | 0) >>> 0 < ((HEAP32[($5 + 16 | 0) >> 2] | 0) + Math_imul(HEAP32[($5 + 4 | 0) >> 2] | 0, HEAP32[$5 >> 2] | 0) | 0) >>> 0 & 1 | 0)) { + break label$3 + } + HEAP8[($4 + 15 | 0) >> 0] = 1 & 1 | 0; + break label$1; + } + } + HEAP8[($4 + 15 | 0) >> 0] = 0 & 1 | 0; + } + return (HEAPU8[($4 + 15 | 0) >> 0] | 0) & 1 | 0 | 0; + } + + function btPoolAllocator__freeMemory_28void__29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, $5 = 0; + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; + label$1 : { + if (!((HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + label$2 : { + label$3 : { + if (!((HEAP32[($4 + 8 | 0) >> 2] | 0) >>> 0 >= (HEAP32[($5 + 16 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$3 + } + if ((HEAP32[($4 + 8 | 0) >> 2] | 0) >>> 0 < ((HEAP32[($5 + 16 | 0) >> 2] | 0) + Math_imul(HEAP32[($5 + 4 | 0) >> 2] | 0, HEAP32[$5 >> 2] | 0) | 0) >>> 0 & 1 | 0) { + break label$2 + } + } + __assert_fail(80933 | 0, 78639 | 0, 103 | 0, 65938 | 0); + wasm2js_trap(); + } + btMutexLock_28btSpinMutex__29($5 + 20 | 0 | 0); + HEAP32[(HEAP32[($4 + 8 | 0) >> 2] | 0) >> 2] = HEAP32[($5 + 12 | 0) >> 2] | 0; + HEAP32[($5 + 12 | 0) >> 2] = HEAP32[($4 + 8 | 0) >> 2] | 0; + HEAP32[($5 + 8 | 0) >> 2] = (HEAP32[($5 + 8 | 0) >> 2] | 0) + 1 | 0; + btMutexUnlock_28btSpinMutex__29($5 + 20 | 0 | 0); + } + __stack_pointer = $4 + 16 | 0; + return; + } + + function btCollisionDispatcher__findAlgorithm_28btCollisionObjectWrapper_20const__2c_20btCollisionObjectWrapper_20const__2c_20btPersistentManifold__2c_20ebtDispatcherQueryType_29($0, $1, $2, $3, $4) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + $4 = $4 | 0; + var $7 = 0, $8 = 0, $35 = 0, $58 = 0, $67 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $7 = __stack_pointer - 32 | 0; + __stack_pointer = $7; + HEAP32[($7 + 28 | 0) >> 2] = $0; + HEAP32[($7 + 24 | 0) >> 2] = $1; + HEAP32[($7 + 20 | 0) >> 2] = $2; + HEAP32[($7 + 16 | 0) >> 2] = $3; + HEAP32[($7 + 12 | 0) >> 2] = $4; + $8 = HEAP32[($7 + 28 | 0) >> 2] | 0; + btCollisionAlgorithmConstructionInfo__btCollisionAlgorithmConstructionInfo_28_29($7 + 4 | 0 | 0) | 0; + HEAP32[($7 + 4 | 0) >> 2] = $8; + HEAP32[($7 + 8 | 0) >> 2] = HEAP32[($7 + 16 | 0) >> 2] | 0; + HEAP32[$7 >> 2] = 0; + label$1 : { + label$2 : { + if (!((HEAP32[($7 + 12 | 0) >> 2] | 0 | 0) == (1 | 0) & 1 | 0)) { + break label$2 + } + $35 = HEAP32[((($8 + 76 | 0) + Math_imul(btCollisionShape__getShapeType_28_29_20const(btCollisionObjectWrapper__getCollisionShape_28_29_20const(HEAP32[($7 + 24 | 0) >> 2] | 0 | 0) | 0 | 0) | 0, 144) | 0) + ((btCollisionShape__getShapeType_28_29_20const(btCollisionObjectWrapper__getCollisionShape_28_29_20const(HEAP32[($7 + 20 | 0) >> 2] | 0 | 0) | 0 | 0) | 0) << 2 | 0) | 0) >> 2] | 0; + (wasm2js_i32$0 = $7, wasm2js_i32$1 = FUNCTION_TABLE[HEAP32[((HEAP32[$35 >> 2] | 0) + 8 | 0) >> 2] | 0 | 0]($35, $7 + 4 | 0, HEAP32[($7 + 24 | 0) >> 2] | 0, HEAP32[($7 + 20 | 0) >> 2] | 0) | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + break label$1; + } + $58 = HEAP32[((($8 + 5260 | 0) + Math_imul(btCollisionShape__getShapeType_28_29_20const(btCollisionObjectWrapper__getCollisionShape_28_29_20const(HEAP32[($7 + 24 | 0) >> 2] | 0 | 0) | 0 | 0) | 0, 144) | 0) + ((btCollisionShape__getShapeType_28_29_20const(btCollisionObjectWrapper__getCollisionShape_28_29_20const(HEAP32[($7 + 20 | 0) >> 2] | 0 | 0) | 0 | 0) | 0) << 2 | 0) | 0) >> 2] | 0; + (wasm2js_i32$0 = $7, wasm2js_i32$1 = FUNCTION_TABLE[HEAP32[((HEAP32[$58 >> 2] | 0) + 8 | 0) >> 2] | 0 | 0]($58, $7 + 4 | 0, HEAP32[($7 + 24 | 0) >> 2] | 0, HEAP32[($7 + 20 | 0) >> 2] | 0) | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + } + $67 = HEAP32[$7 >> 2] | 0; + __stack_pointer = $7 + 32 | 0; + return $67 | 0; + } + + function btCollisionAlgorithmConstructionInfo__btCollisionAlgorithmConstructionInfo_28_29($0) { + $0 = $0 | 0; + var $4 = 0, $3 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + HEAP32[$4 >> 2] = 0; + HEAP32[($4 + 4 | 0) >> 2] = 0; + return $4 | 0; + } + + function btCollisionObjectWrapper__getCollisionShape_28_29_20const($0) { + $0 = $0 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + return HEAP32[((HEAP32[($3 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0; + } + + function btCollisionDispatcher__needsResponse_28btCollisionObject_20const__2c_20btCollisionObject_20const__29($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $5 = 0, $11 = 0, $21 = 0, $27 = 0, $38 = 0; + $5 = __stack_pointer - 16 | 0; + __stack_pointer = $5; + HEAP32[($5 + 12 | 0) >> 2] = $0; + HEAP32[($5 + 8 | 0) >> 2] = $1; + HEAP32[($5 + 4 | 0) >> 2] = $2; + $11 = 0; + label$1 : { + if (!((btCollisionObject__hasContactResponse_28_29_20const(HEAP32[($5 + 8 | 0) >> 2] | 0 | 0) | 0) & 1 | 0)) { + break label$1 + } + $11 = btCollisionObject__hasContactResponse_28_29_20const(HEAP32[($5 + 4 | 0) >> 2] | 0 | 0) | 0; + } + HEAP8[($5 + 3 | 0) >> 0] = $11 & 1 | 0; + $21 = 0; + label$2 : { + if (!((HEAPU8[($5 + 3 | 0) >> 0] | 0) & 1 | 0)) { + break label$2 + } + $27 = 1; + label$3 : { + if (!((btCollisionObject__isStaticOrKinematicObject_28_29_20const(HEAP32[($5 + 8 | 0) >> 2] | 0 | 0) | 0) & 1 | 0)) { + break label$3 + } + $27 = (btCollisionObject__isStaticOrKinematicObject_28_29_20const(HEAP32[($5 + 4 | 0) >> 2] | 0 | 0) | 0) ^ -1 | 0; + } + $21 = $27; + } + HEAP8[($5 + 3 | 0) >> 0] = $21 & 1 | 0; + $38 = (HEAPU8[($5 + 3 | 0) >> 0] | 0) & 1 | 0; + __stack_pointer = $5 + 16 | 0; + return $38 | 0; + } + + function btCollisionDispatcher__needsCollision_28btCollisionObject_20const__2c_20btCollisionObject_20const__29($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $5 = 0, $6 = 0, $68 = 0; + $5 = __stack_pointer - 16 | 0; + __stack_pointer = $5; + HEAP32[($5 + 12 | 0) >> 2] = $0; + HEAP32[($5 + 8 | 0) >> 2] = $1; + HEAP32[($5 + 4 | 0) >> 2] = $2; + $6 = HEAP32[($5 + 12 | 0) >> 2] | 0; + label$1 : { + if ((HEAP32[($5 + 8 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$1 + } + __assert_fail(85674 | 0, 72837 | 0, 185 | 0, 76874 | 0); + wasm2js_trap(); + } + label$2 : { + if ((HEAP32[($5 + 4 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$2 + } + __assert_fail(85464 | 0, 72837 | 0, 186 | 0, 76874 | 0); + wasm2js_trap(); + } + HEAP8[($5 + 3 | 0) >> 0] = 1; + label$3 : { + if ((HEAP32[($6 + 4 | 0) >> 2] | 0) & 1 | 0) { + break label$3 + } + label$4 : { + if (!((btCollisionObject__isStaticOrKinematicObject_28_29_20const(HEAP32[($5 + 8 | 0) >> 2] | 0 | 0) | 0) & 1 | 0)) { + break label$4 + } + if (!((btCollisionObject__isStaticOrKinematicObject_28_29_20const(HEAP32[($5 + 4 | 0) >> 2] | 0 | 0) | 0) & 1 | 0)) { + break label$4 + } + HEAP32[($6 + 4 | 0) >> 2] = HEAP32[($6 + 4 | 0) >> 2] | 0 | 1 | 0; + printf(88581 | 0, 0 | 0) | 0; + } + } + label$5 : { + label$6 : { + if ((btCollisionObject__isActive_28_29_20const(HEAP32[($5 + 8 | 0) >> 2] | 0 | 0) | 0) & 1 | 0) { + break label$6 + } + if ((btCollisionObject__isActive_28_29_20const(HEAP32[($5 + 4 | 0) >> 2] | 0 | 0) | 0) & 1 | 0) { + break label$6 + } + HEAP8[($5 + 3 | 0) >> 0] = 0; + break label$5; + } + label$7 : { + label$8 : { + if (!((btCollisionObject__checkCollideWith_28btCollisionObject_20const__29_20const(HEAP32[($5 + 8 | 0) >> 2] | 0 | 0, HEAP32[($5 + 4 | 0) >> 2] | 0 | 0) | 0) & 1 | 0)) { + break label$8 + } + if ((btCollisionObject__checkCollideWith_28btCollisionObject_20const__29_20const(HEAP32[($5 + 4 | 0) >> 2] | 0 | 0, HEAP32[($5 + 8 | 0) >> 2] | 0 | 0) | 0) & 1 | 0) { + break label$7 + } + } + HEAP8[($5 + 3 | 0) >> 0] = 0; + } + } + $68 = (HEAPU8[($5 + 3 | 0) >> 0] | 0) & 1 | 0; + __stack_pointer = $5 + 16 | 0; + return $68 | 0; + } + + function btCollisionObject__checkCollideWith_28btCollisionObject_20const__29_20const($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, $5 = 0, $18 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[($4 + 8 | 0) >> 2] = $0; + HEAP32[($4 + 4 | 0) >> 2] = $1; + $5 = HEAP32[($4 + 8 | 0) >> 2] | 0; + label$1 : { + label$2 : { + if (!(HEAP32[($5 + 280 | 0) >> 2] | 0)) { + break label$2 + } + (wasm2js_i32$0 = $4, wasm2js_i32$1 = (FUNCTION_TABLE[HEAP32[((HEAP32[$5 >> 2] | 0) + 12 | 0) >> 2] | 0 | 0]($5, HEAP32[($4 + 4 | 0) >> 2] | 0) | 0) & 1 | 0), HEAP8[(wasm2js_i32$0 + 15 | 0) >> 0] = wasm2js_i32$1; + break label$1; + } + HEAP8[($4 + 15 | 0) >> 0] = 1 & 1 | 0; + } + $18 = (HEAPU8[($4 + 15 | 0) >> 0] | 0) & 1 | 0; + __stack_pointer = $4 + 16 | 0; + return $18 | 0; + } + + function btCollisionDispatcher__dispatchAllCollisionPairs_28btOverlappingPairCache__2c_20btDispatcherInfo_20const__2c_20btDispatcher__29($0, $1, $2, $3) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + var $6 = 0, $12 = 0; + $6 = __stack_pointer - 32 | 0; + __stack_pointer = $6; + HEAP32[($6 + 28 | 0) >> 2] = $0; + HEAP32[($6 + 24 | 0) >> 2] = $1; + HEAP32[($6 + 20 | 0) >> 2] = $2; + HEAP32[($6 + 16 | 0) >> 2] = $3; + btCollisionPairCallback__btCollisionPairCallback_28btDispatcherInfo_20const__2c_20btCollisionDispatcher__29($6 + 4 | 0 | 0, HEAP32[($6 + 20 | 0) >> 2] | 0 | 0, HEAP32[($6 + 28 | 0) >> 2] | 0 | 0) | 0; + $12 = HEAP32[($6 + 24 | 0) >> 2] | 0; + FUNCTION_TABLE[HEAP32[((HEAP32[$12 >> 2] | 0) + 48 | 0) >> 2] | 0 | 0]($12, $6 + 4 | 0, HEAP32[($6 + 16 | 0) >> 2] | 0); + btCollisionPairCallback___btCollisionPairCallback_28_29($6 + 4 | 0 | 0) | 0; + __stack_pointer = $6 + 32 | 0; + return; + } + + function btCollisionPairCallback__btCollisionPairCallback_28btDispatcherInfo_20const__2c_20btCollisionDispatcher__29($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $5 = 0, $6 = 0; + $5 = __stack_pointer - 16 | 0; + __stack_pointer = $5; + HEAP32[($5 + 12 | 0) >> 2] = $0; + HEAP32[($5 + 8 | 0) >> 2] = $1; + HEAP32[($5 + 4 | 0) >> 2] = $2; + $6 = HEAP32[($5 + 12 | 0) >> 2] | 0; + btOverlapCallback__btOverlapCallback_28_29($6 | 0) | 0; + HEAP32[$6 >> 2] = 91484 + 8 | 0; + HEAP32[($6 + 4 | 0) >> 2] = HEAP32[($5 + 8 | 0) >> 2] | 0; + HEAP32[($6 + 8 | 0) >> 2] = HEAP32[($5 + 4 | 0) >> 2] | 0; + __stack_pointer = $5 + 16 | 0; + return $6 | 0; + } + + function btCollisionPairCallback___btCollisionPairCallback_28_29($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + btOverlapCallback___btOverlapCallback_28_29($4 | 0) | 0; + __stack_pointer = $3 + 16 | 0; + return $4 | 0; + } + + function btCollisionDispatcher__allocateCollisionAlgorithm_28int_29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, $20 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[($4 + 8 | 0) >> 2] = $0; + HEAP32[($4 + 4 | 0) >> 2] = $1; + (wasm2js_i32$0 = $4, wasm2js_i32$1 = btPoolAllocator__allocate_28int_29(HEAP32[((HEAP32[($4 + 8 | 0) >> 2] | 0) + 68 | 0) >> 2] | 0 | 0, HEAP32[($4 + 4 | 0) >> 2] | 0 | 0) | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + label$1 : { + label$2 : { + if (!((0 | 0) == (HEAP32[$4 >> 2] | 0 | 0) & 1 | 0)) { + break label$2 + } + (wasm2js_i32$0 = $4, wasm2js_i32$1 = btAlignedAllocInternal_28unsigned_20long_2c_20int_29(HEAP32[($4 + 4 | 0) >> 2] | 0 | 0, 16 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + break label$1; + } + HEAP32[($4 + 12 | 0) >> 2] = HEAP32[$4 >> 2] | 0; + } + $20 = HEAP32[($4 + 12 | 0) >> 2] | 0; + __stack_pointer = $4 + 16 | 0; + return $20 | 0; + } + + function btCollisionDispatcher__freeCollisionAlgorithm_28void__29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, $5 = 0; + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; + label$1 : { + label$2 : { + if (!((btPoolAllocator__validPtr_28void__29(HEAP32[($5 + 68 | 0) >> 2] | 0 | 0, HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) | 0) & 1 | 0)) { + break label$2 + } + btPoolAllocator__freeMemory_28void__29(HEAP32[($5 + 68 | 0) >> 2] | 0 | 0, HEAP32[($4 + 8 | 0) >> 2] | 0 | 0); + break label$1; + } + btAlignedFreeInternal_28void__29(HEAP32[($4 + 8 | 0) >> 2] | 0 | 0); + } + __stack_pointer = $4 + 16 | 0; + return; + } + + function btCollisionDispatcher__getNumManifolds_28_29_20const($0) { + $0 = $0 | 0; + var $3 = 0, $7 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $7 = btAlignedObjectArray_btPersistentManifold____size_28_29_20const((HEAP32[($3 + 12 | 0) >> 2] | 0) + 8 | 0 | 0) | 0; + __stack_pointer = $3 + 16 | 0; + return $7 | 0; + } + + function btCollisionDispatcher__getManifoldByIndexInternal_28int_29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, $10 = 0; + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + $10 = HEAP32[(btAlignedObjectArray_btPersistentManifold____operator_5b_5d_28int_29((HEAP32[($4 + 12 | 0) >> 2] | 0) + 8 | 0 | 0, HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) | 0) >> 2] | 0; + __stack_pointer = $4 + 16 | 0; + return $10 | 0; + } + + function btCollisionDispatcher__getInternalManifoldPointer_28_29($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0, $12 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + label$1 : { + label$2 : { + if (!(btAlignedObjectArray_btPersistentManifold____size_28_29_20const($4 + 8 | 0 | 0) | 0)) { + break label$2 + } + $12 = btAlignedObjectArray_btPersistentManifold____operator_5b_5d_28int_29($4 + 8 | 0 | 0, 0 | 0) | 0; + break label$1; + } + $12 = 0; + } + __stack_pointer = $3 + 16 | 0; + return $12 | 0; + } + + function btCollisionDispatcher__getInternalManifoldPool_28_29($0) { + $0 = $0 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + return HEAP32[((HEAP32[($3 + 12 | 0) >> 2] | 0) + 72 | 0) >> 2] | 0 | 0; + } + + function btCollisionDispatcher__getInternalManifoldPool_28_29_20const($0) { + $0 = $0 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + return HEAP32[((HEAP32[($3 + 12 | 0) >> 2] | 0) + 72 | 0) >> 2] | 0 | 0; + } + + function btDiscreteCollisionDetectorInterface__Result___Result_28_29_1($0) { + $0 = $0 | 0; + HEAP32[((__stack_pointer - 16 | 0) + 12 | 0) >> 2] = $0; + wasm2js_trap(); + } + + function btCollisionPairCallback___btCollisionPairCallback_28_29_1($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + btCollisionPairCallback___btCollisionPairCallback_28_29($4 | 0) | 0; + operator_20delete_28void__29($4 | 0); + __stack_pointer = $3 + 16 | 0; + return; + } + + function btCollisionPairCallback__processOverlap_28btBroadphasePair__29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, $5 = 0, $7 = 0; + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; + $7 = btCollisionDispatcher__getNearCallback_28_29_20const(HEAP32[($5 + 8 | 0) >> 2] | 0 | 0) | 0; + FUNCTION_TABLE[$7 | 0](HEAP32[($4 + 8 | 0) >> 2] | 0, HEAP32[($5 + 8 | 0) >> 2] | 0, HEAP32[($5 + 4 | 0) >> 2] | 0); + __stack_pointer = $4 + 16 | 0; + return 0 & 1 | 0 | 0; + } + + function btCollisionDispatcher__getNearCallback_28_29_20const($0) { + $0 = $0 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + return HEAP32[((HEAP32[($3 + 12 | 0) >> 2] | 0) + 64 | 0) >> 2] | 0 | 0; + } + + function btAlignedObjectArray_btPersistentManifold____destroy_28int_2c_20int_29($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $5 = 0; + $5 = __stack_pointer - 16 | 0; + HEAP32[($5 + 12 | 0) >> 2] = $0; + HEAP32[($5 + 8 | 0) >> 2] = $1; + HEAP32[($5 + 4 | 0) >> 2] = $2; + HEAP32[($5 + 12 | 0) >> 2] | 0; + HEAP32[$5 >> 2] = HEAP32[($5 + 8 | 0) >> 2] | 0; + label$1 : { + label$2 : while (1) { + if (!((HEAP32[$5 >> 2] | 0 | 0) < (HEAP32[($5 + 4 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$1 + } + HEAP32[$5 >> 2] = (HEAP32[$5 >> 2] | 0) + 1 | 0; + continue label$2; + }; + } + return; + } + + function btAlignedObjectArray_btPersistentManifold____deallocate_28_29($0) { + $0 = $0 | 0; + var $4 = 0, $3 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + label$1 : { + if (!((HEAP32[($4 + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + label$2 : { + if (!((HEAPU8[($4 + 16 | 0) >> 0] | 0) & 1 | 0)) { + break label$2 + } + btAlignedAllocator_btPersistentManifold__2c_2016u___deallocate_28btPersistentManifold___29($4 | 0, HEAP32[($4 + 12 | 0) >> 2] | 0 | 0); + } + HEAP32[($4 + 12 | 0) >> 2] = 0; + } + __stack_pointer = $3 + 16 | 0; + return; + } + + function btAlignedAllocator_btPersistentManifold__2c_2016u___deallocate_28btPersistentManifold___29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0; + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + btAlignedFreeInternal_28void__29(HEAP32[($4 + 8 | 0) >> 2] | 0 | 0); + __stack_pointer = $4 + 16 | 0; + return; + } + + function btAlignedObjectArray_btPersistentManifold____allocate_28int_29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, $5 = 0, $11 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[($4 + 8 | 0) >> 2] = $0; + HEAP32[($4 + 4 | 0) >> 2] = $1; + $5 = HEAP32[($4 + 8 | 0) >> 2] | 0; + label$1 : { + label$2 : { + if (!(HEAP32[($4 + 4 | 0) >> 2] | 0)) { + break label$2 + } + (wasm2js_i32$0 = $4, wasm2js_i32$1 = btAlignedAllocator_btPersistentManifold__2c_2016u___allocate_28int_2c_20btPersistentManifold__20const___29($5 | 0, HEAP32[($4 + 4 | 0) >> 2] | 0 | 0, 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + break label$1; + } + HEAP32[($4 + 12 | 0) >> 2] = 0; + } + $11 = HEAP32[($4 + 12 | 0) >> 2] | 0; + __stack_pointer = $4 + 16 | 0; + return $11 | 0; + } + + function btAlignedObjectArray_btPersistentManifold____copy_28int_2c_20int_2c_20btPersistentManifold___29_20const($0, $1, $2, $3) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + var $6 = 0, $7 = 0; + $6 = __stack_pointer - 32 | 0; + HEAP32[($6 + 28 | 0) >> 2] = $0; + HEAP32[($6 + 24 | 0) >> 2] = $1; + HEAP32[($6 + 20 | 0) >> 2] = $2; + HEAP32[($6 + 16 | 0) >> 2] = $3; + $7 = HEAP32[($6 + 28 | 0) >> 2] | 0; + HEAP32[($6 + 12 | 0) >> 2] = HEAP32[($6 + 24 | 0) >> 2] | 0; + label$1 : { + label$2 : while (1) { + if (!((HEAP32[($6 + 12 | 0) >> 2] | 0 | 0) < (HEAP32[($6 + 20 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$1 + } + HEAP32[((HEAP32[($6 + 16 | 0) >> 2] | 0) + ((HEAP32[($6 + 12 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = HEAP32[((HEAP32[($7 + 12 | 0) >> 2] | 0) + ((HEAP32[($6 + 12 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; + HEAP32[($6 + 12 | 0) >> 2] = (HEAP32[($6 + 12 | 0) >> 2] | 0) + 1 | 0; + continue label$2; + }; + } + return; + } + + function btAlignedAllocator_btPersistentManifold__2c_2016u___allocate_28int_2c_20btPersistentManifold__20const___29($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $5 = 0, $10 = 0; + $5 = __stack_pointer - 16 | 0; + __stack_pointer = $5; + HEAP32[($5 + 12 | 0) >> 2] = $0; + HEAP32[($5 + 8 | 0) >> 2] = $1; + HEAP32[($5 + 4 | 0) >> 2] = $2; + $10 = btAlignedAllocInternal_28unsigned_20long_2c_20int_29((HEAP32[($5 + 8 | 0) >> 2] | 0) << 2 | 0 | 0, 16 | 0) | 0; + __stack_pointer = $5 + 16 | 0; + return $10 | 0; + } + + function _GLOBAL__sub_I_btCollisionDispatcher_cpp() { + __cxx_global_var_init_8(); + return; + } + + function __cxx_global_var_init_9() { + btInfMaskConverter__btInfMaskConverter_28int_29(113976 | 0, 2139095040 | 0) | 0; + return; + } + + function btCollisionObject__btCollisionObject_28_29($0) { + $0 = $0 | 0; + var $4 = 0, $3 = 0; + $3 = __stack_pointer - 48 | 0; + __stack_pointer = $3; + HEAP32[($3 + 44 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 44 | 0) >> 2] | 0; + HEAP32[$4 >> 2] = 91544 + 8 | 0; + btTransform__btTransform_28_29($4 + 4 | 0 | 0) | 0; + btTransform__btTransform_28_29($4 + 68 | 0 | 0) | 0; + HEAPF32[($3 + 40 | 0) >> 2] = Math_fround(0 | 0); + HEAPF32[($3 + 36 | 0) >> 2] = Math_fround(0 | 0); + HEAPF32[($3 + 32 | 0) >> 2] = Math_fround(0 | 0); + btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($4 + 132 | 0 | 0, $3 + 40 | 0 | 0, $3 + 36 | 0 | 0, $3 + 32 | 0 | 0) | 0; + HEAPF32[($3 + 28 | 0) >> 2] = Math_fround(0 | 0); + HEAPF32[($3 + 24 | 0) >> 2] = Math_fround(0 | 0); + HEAPF32[($3 + 20 | 0) >> 2] = Math_fround(0 | 0); + btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($4 + 148 | 0 | 0, $3 + 28 | 0 | 0, $3 + 24 | 0 | 0, $3 + 20 | 0 | 0) | 0; + HEAPF32[($3 + 16 | 0) >> 2] = Math_fround(1.0); + HEAPF32[($3 + 12 | 0) >> 2] = Math_fround(1.0); + HEAPF32[($3 + 8 | 0) >> 2] = Math_fround(1.0); + btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($4 + 164 | 0 | 0, $3 + 16 | 0 | 0, $3 + 12 | 0 | 0, $3 + 8 | 0 | 0) | 0; + HEAP32[($4 + 180 | 0) >> 2] = 0; + HEAPF32[($4 + 184 | 0) >> 2] = Math_fround(999999984306749440.0); + HEAP32[($4 + 188 | 0) >> 2] = 0; + HEAP32[($4 + 192 | 0) >> 2] = 0; + HEAP32[($4 + 196 | 0) >> 2] = 0; + HEAP32[($4 + 200 | 0) >> 2] = 0; + HEAP32[($4 + 204 | 0) >> 2] = 1; + HEAP32[($4 + 208 | 0) >> 2] = -1; + HEAP32[($4 + 212 | 0) >> 2] = -1; + HEAP32[($4 + 216 | 0) >> 2] = -1; + HEAP32[($4 + 220 | 0) >> 2] = 1; + HEAPF32[($4 + 224 | 0) >> 2] = Math_fround(0 | 0); + HEAPF32[($4 + 228 | 0) >> 2] = Math_fround(.5); + HEAPF32[($4 + 232 | 0) >> 2] = Math_fround(0 | 0); + HEAPF32[($4 + 236 | 0) >> 2] = Math_fround(0 | 0); + HEAPF32[($4 + 240 | 0) >> 2] = Math_fround(0 | 0); + HEAPF32[($4 + 244 | 0) >> 2] = Math_fround(.10000000149011612); + HEAPF32[($4 + 248 | 0) >> 2] = Math_fround(1.0e4); + HEAP32[($4 + 252 | 0) >> 2] = 1; + HEAP32[($4 + 256 | 0) >> 2] = 0; + HEAP32[($4 + 260 | 0) >> 2] = -1; + HEAP32[($4 + 264 | 0) >> 2] = -1; + HEAPF32[($4 + 268 | 0) >> 2] = Math_fround(1.0); + HEAPF32[($4 + 272 | 0) >> 2] = Math_fround(0 | 0); + HEAPF32[($4 + 276 | 0) >> 2] = Math_fround(0 | 0); + HEAP32[($4 + 280 | 0) >> 2] = 0; + btAlignedObjectArray_btCollisionObject_20const____btAlignedObjectArray_28_29($4 + 284 | 0 | 0) | 0; + HEAP32[($4 + 304 | 0) >> 2] = 0; + btVector3__btVector3_28_29($4 + 308 | 0 | 0) | 0; + btTransform__setIdentity_28_29($4 + 4 | 0 | 0); + btTransform__setIdentity_28_29($4 + 68 | 0 | 0); + __stack_pointer = $3 + 48 | 0; + return $4 | 0; + } + + function btCollisionObject___btCollisionObject_28_29($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + HEAP32[$4 >> 2] = 91544 + 8 | 0; + btAlignedObjectArray_btCollisionObject_20const_____btAlignedObjectArray_28_29($4 + 284 | 0 | 0) | 0; + __stack_pointer = $3 + 16 | 0; + return $4 | 0; + } + + function btCollisionObject___btCollisionObject_28_29_1($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + FUNCTION_TABLE[532 | 0]($4) | 0; + btCollisionObject__operator_20delete_28void__29($4 | 0); + __stack_pointer = $3 + 16 | 0; + return; + } + + function btCollisionObject__operator_20delete_28void__29($0) { + $0 = $0 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + btAlignedFreeInternal_28void__29(HEAP32[($3 + 12 | 0) >> 2] | 0 | 0); + __stack_pointer = $3 + 16 | 0; + return; + } + + function btCollisionObject__setActivationState_28int_29_20const($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, $5 = 0; + $4 = __stack_pointer - 16 | 0; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; + label$1 : { + if (!((HEAP32[($5 + 220 | 0) >> 2] | 0 | 0) != (4 | 0) & 1 | 0)) { + break label$1 + } + if (!((HEAP32[($5 + 220 | 0) >> 2] | 0 | 0) != (5 | 0) & 1 | 0)) { + break label$1 + } + HEAP32[($5 + 220 | 0) >> 2] = HEAP32[($4 + 8 | 0) >> 2] | 0; + } + return; + } + + function btCollisionObject__forceActivationState_28int_29_20const($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0; + $4 = __stack_pointer - 16 | 0; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + HEAP32[((HEAP32[($4 + 12 | 0) >> 2] | 0) + 220 | 0) >> 2] = HEAP32[($4 + 8 | 0) >> 2] | 0; + return; + } + + function btCollisionObject__activate_28bool_29_20const($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, $6 = 0; + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP8[($4 + 11 | 0) >> 0] = $1; + $6 = HEAP32[($4 + 12 | 0) >> 2] | 0; + label$1 : { + label$2 : { + if ((HEAPU8[($4 + 11 | 0) >> 0] | 0) & 1 | 0) { + break label$2 + } + if ((HEAP32[($6 + 204 | 0) >> 2] | 0) & 3 | 0) { + break label$1 + } + } + btCollisionObject__setActivationState_28int_29_20const($6 | 0, 1 | 0); + HEAPF32[($6 + 224 | 0) >> 2] = Math_fround(0 | 0); + } + __stack_pointer = $4 + 16 | 0; + return; + } + + function btCollisionObject__serialize_28void__2c_20btSerializer__29_20const($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $5 = 0, $6 = 0, $39 = 0, $69 = 0, $73 = 0, $87 = 0, $43 = 0, $77 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5 = __stack_pointer - 32 | 0; + __stack_pointer = $5; + HEAP32[($5 + 28 | 0) >> 2] = $0; + HEAP32[($5 + 24 | 0) >> 2] = $1; + HEAP32[($5 + 20 | 0) >> 2] = $2; + $6 = HEAP32[($5 + 28 | 0) >> 2] | 0; + HEAP32[($5 + 16 | 0) >> 2] = HEAP32[($5 + 24 | 0) >> 2] | 0; + btTransform__serialize_28btTransformFloatData__29_20const($6 + 4 | 0 | 0, (HEAP32[($5 + 16 | 0) >> 2] | 0) + 16 | 0 | 0); + btTransform__serialize_28btTransformFloatData__29_20const($6 + 68 | 0 | 0, (HEAP32[($5 + 16 | 0) >> 2] | 0) + 80 | 0 | 0); + btVector3__serialize_28btVector3FloatData__29_20const($6 + 132 | 0 | 0, (HEAP32[($5 + 16 | 0) >> 2] | 0) + 144 | 0 | 0); + btVector3__serialize_28btVector3FloatData__29_20const($6 + 148 | 0 | 0, (HEAP32[($5 + 16 | 0) >> 2] | 0) + 160 | 0 | 0); + btVector3__serialize_28btVector3FloatData__29_20const($6 + 164 | 0 | 0, (HEAP32[($5 + 16 | 0) >> 2] | 0) + 176 | 0 | 0); + HEAP32[((HEAP32[($5 + 16 | 0) >> 2] | 0) + 232 | 0) >> 2] = HEAP32[($6 + 180 | 0) >> 2] | 0; + HEAPF32[((HEAP32[($5 + 16 | 0) >> 2] | 0) + 192 | 0) >> 2] = Math_fround(HEAPF32[($6 + 184 | 0) >> 2]); + HEAP32[(HEAP32[($5 + 16 | 0) >> 2] | 0) >> 2] = 0; + $39 = HEAP32[($5 + 20 | 0) >> 2] | 0; + $43 = FUNCTION_TABLE[HEAP32[((HEAP32[$39 >> 2] | 0) + 28 | 0) >> 2] | 0 | 0]($39, HEAP32[($6 + 192 | 0) >> 2] | 0) | 0; + HEAP32[((HEAP32[($5 + 16 | 0) >> 2] | 0) + 4 | 0) >> 2] = $43; + HEAP32[((HEAP32[($5 + 16 | 0) >> 2] | 0) + 8 | 0) >> 2] = 0; + HEAP32[((HEAP32[($5 + 16 | 0) >> 2] | 0) + 236 | 0) >> 2] = HEAP32[($6 + 204 | 0) >> 2] | 0; + HEAP32[((HEAP32[($5 + 16 | 0) >> 2] | 0) + 240 | 0) >> 2] = HEAP32[($6 + 208 | 0) >> 2] | 0; + HEAP32[((HEAP32[($5 + 16 | 0) >> 2] | 0) + 244 | 0) >> 2] = HEAP32[($6 + 212 | 0) >> 2] | 0; + HEAP32[((HEAP32[($5 + 16 | 0) >> 2] | 0) + 248 | 0) >> 2] = HEAP32[($6 + 220 | 0) >> 2] | 0; + HEAPF32[((HEAP32[($5 + 16 | 0) >> 2] | 0) + 196 | 0) >> 2] = Math_fround(HEAPF32[($6 + 224 | 0) >> 2]); + HEAPF32[((HEAP32[($5 + 16 | 0) >> 2] | 0) + 200 | 0) >> 2] = Math_fround(HEAPF32[($6 + 228 | 0) >> 2]); + HEAPF32[((HEAP32[($5 + 16 | 0) >> 2] | 0) + 204 | 0) >> 2] = Math_fround(HEAPF32[($6 + 236 | 0) >> 2]); + HEAPF32[((HEAP32[($5 + 16 | 0) >> 2] | 0) + 208 | 0) >> 2] = Math_fround(HEAPF32[($6 + 244 | 0) >> 2]); + HEAPF32[((HEAP32[($5 + 16 | 0) >> 2] | 0) + 212 | 0) >> 2] = Math_fround(HEAPF32[($6 + 248 | 0) >> 2]); + HEAPF32[((HEAP32[($5 + 16 | 0) >> 2] | 0) + 216 | 0) >> 2] = Math_fround(HEAPF32[($6 + 232 | 0) >> 2]); + HEAP32[((HEAP32[($5 + 16 | 0) >> 2] | 0) + 252 | 0) >> 2] = HEAP32[($6 + 252 | 0) >> 2] | 0; + $69 = HEAP32[($5 + 20 | 0) >> 2] | 0; + (wasm2js_i32$0 = $5, wasm2js_i32$1 = FUNCTION_TABLE[HEAP32[((HEAP32[$69 >> 2] | 0) + 40 | 0) >> 2] | 0 | 0]($69, $6) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + $73 = HEAP32[($5 + 20 | 0) >> 2] | 0; + $77 = FUNCTION_TABLE[HEAP32[((HEAP32[$73 >> 2] | 0) + 28 | 0) >> 2] | 0 | 0]($73, HEAP32[($5 + 12 | 0) >> 2] | 0) | 0; + HEAP32[((HEAP32[($5 + 16 | 0) >> 2] | 0) + 12 | 0) >> 2] = $77; + label$1 : { + if (!((HEAP32[((HEAP32[($5 + 16 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + $87 = HEAP32[($5 + 20 | 0) >> 2] | 0; + FUNCTION_TABLE[HEAP32[((HEAP32[$87 >> 2] | 0) + 48 | 0) >> 2] | 0 | 0]($87, HEAP32[($5 + 12 | 0) >> 2] | 0); + } + HEAPF32[((HEAP32[($5 + 16 | 0) >> 2] | 0) + 220 | 0) >> 2] = Math_fround(HEAPF32[($6 + 268 | 0) >> 2]); + HEAPF32[((HEAP32[($5 + 16 | 0) >> 2] | 0) + 224 | 0) >> 2] = Math_fround(HEAPF32[($6 + 272 | 0) >> 2]); + HEAPF32[((HEAP32[($5 + 16 | 0) >> 2] | 0) + 228 | 0) >> 2] = Math_fround(HEAPF32[($6 + 276 | 0) >> 2]); + HEAP32[((HEAP32[($5 + 16 | 0) >> 2] | 0) + 256 | 0) >> 2] = HEAP32[($6 + 280 | 0) >> 2] | 0; + HEAP32[((HEAP32[($5 + 16 | 0) >> 2] | 0) + 260 | 0) >> 2] = 0; + __stack_pointer = $5 + 32 | 0; + return 83318 | 0; + } + + function btTransform__serialize_28btTransformFloatData__29_20const($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, $5 = 0; + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; + btMatrix3x3__serialize_28btMatrix3x3FloatData__29_20const($5 | 0, HEAP32[($4 + 8 | 0) >> 2] | 0 | 0); + btVector3__serialize_28btVector3FloatData__29_20const($5 + 48 | 0 | 0, (HEAP32[($4 + 8 | 0) >> 2] | 0) + 48 | 0 | 0); + __stack_pointer = $4 + 16 | 0; + return; + } + + function btVector3__serialize_28btVector3FloatData__29_20const($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, $5 = 0; + $4 = __stack_pointer - 16 | 0; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; + HEAP32[($4 + 4 | 0) >> 2] = 0; + label$1 : { + label$2 : while (1) { + if (!((HEAP32[($4 + 4 | 0) >> 2] | 0 | 0) < (4 | 0) & 1 | 0)) { + break label$1 + } + HEAPF32[((HEAP32[($4 + 8 | 0) >> 2] | 0) + ((HEAP32[($4 + 4 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = Math_fround(HEAPF32[($5 + ((HEAP32[($4 + 4 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2]); + HEAP32[($4 + 4 | 0) >> 2] = (HEAP32[($4 + 4 | 0) >> 2] | 0) + 1 | 0; + continue label$2; + }; + } + return; + } + + function btMatrix3x3__serialize_28btMatrix3x3FloatData__29_20const($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, $5 = 0; + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; + HEAP32[($4 + 4 | 0) >> 2] = 0; + label$1 : { + label$2 : while (1) { + if (!((HEAP32[($4 + 4 | 0) >> 2] | 0 | 0) < (3 | 0) & 1 | 0)) { + break label$1 + } + btVector3__serialize_28btVector3FloatData__29_20const($5 + ((HEAP32[($4 + 4 | 0) >> 2] | 0) << 4 | 0) | 0 | 0, (HEAP32[($4 + 8 | 0) >> 2] | 0) + ((HEAP32[($4 + 4 | 0) >> 2] | 0) << 4 | 0) | 0 | 0); + HEAP32[($4 + 4 | 0) >> 2] = (HEAP32[($4 + 4 | 0) >> 2] | 0) + 1 | 0; + continue label$2; + }; + } + __stack_pointer = $4 + 16 | 0; + return; + } + + function btCollisionObject__serializeSingleObject_28btSerializer__29_20const($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, $5 = 0, $9 = 0, $21 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4 = __stack_pointer - 32 | 0; + __stack_pointer = $4; + HEAP32[($4 + 28 | 0) >> 2] = $0; + HEAP32[($4 + 24 | 0) >> 2] = $1; + $5 = HEAP32[($4 + 28 | 0) >> 2] | 0; + (wasm2js_i32$0 = $4, wasm2js_i32$1 = FUNCTION_TABLE[HEAP32[((HEAP32[$5 >> 2] | 0) + 16 | 0) >> 2] | 0 | 0]($5) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + $9 = HEAP32[($4 + 24 | 0) >> 2] | 0; + (wasm2js_i32$0 = $4, wasm2js_i32$1 = FUNCTION_TABLE[HEAP32[((HEAP32[$9 >> 2] | 0) + 16 | 0) >> 2] | 0 | 0]($9, HEAP32[($4 + 20 | 0) >> 2] | 0, 1) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $4, wasm2js_i32$1 = FUNCTION_TABLE[HEAP32[((HEAP32[$5 >> 2] | 0) + 20 | 0) >> 2] | 0 | 0]($5, HEAP32[((HEAP32[($4 + 16 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0, HEAP32[($4 + 24 | 0) >> 2] | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + $21 = HEAP32[($4 + 24 | 0) >> 2] | 0; + FUNCTION_TABLE[HEAP32[((HEAP32[$21 >> 2] | 0) + 20 | 0) >> 2] | 0 | 0]($21, HEAP32[($4 + 16 | 0) >> 2] | 0, HEAP32[($4 + 12 | 0) >> 2] | 0, 1245859651, $5); + __stack_pointer = $4 + 32 | 0; + return; + } + + function btCollisionObject__setCollisionShape_28btCollisionShape__29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, $5 = 0; + $4 = __stack_pointer - 16 | 0; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; + HEAP32[($5 + 304 | 0) >> 2] = (HEAP32[($5 + 304 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($5 + 192 | 0) >> 2] = HEAP32[($4 + 8 | 0) >> 2] | 0; + HEAP32[($5 + 200 | 0) >> 2] = HEAP32[($4 + 8 | 0) >> 2] | 0; + return; + } + + function btCollisionObject__checkCollideWithOverride_28btCollisionObject_20const__29_20const($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, $5 = 0, $29 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[($4 + 8 | 0) >> 2] = $0; + HEAP32[($4 + 4 | 0) >> 2] = $1; + $5 = HEAP32[($4 + 8 | 0) >> 2] | 0; + (wasm2js_i32$0 = $4, wasm2js_i32$1 = btAlignedObjectArray_btCollisionObject_20const____findLinearSearch_28btCollisionObject_20const__20const__29_20const($5 + 284 | 0 | 0, $4 + 4 | 0 | 0) | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + label$1 : { + label$2 : { + if (!((HEAP32[$4 >> 2] | 0 | 0) < (btAlignedObjectArray_btCollisionObject_20const____size_28_29_20const($5 + 284 | 0 | 0) | 0 | 0) & 1 | 0)) { + break label$2 + } + HEAP8[($4 + 15 | 0) >> 0] = 0 & 1 | 0; + break label$1; + } + HEAP8[($4 + 15 | 0) >> 0] = 1 & 1 | 0; + } + $29 = (HEAPU8[($4 + 15 | 0) >> 0] | 0) & 1 | 0; + __stack_pointer = $4 + 16 | 0; + return $29 | 0; + } + + function btCollisionObject__calculateSerializeBufferSize_28_29_20const($0) { + $0 = $0 | 0; + HEAP32[((__stack_pointer - 16 | 0) + 12 | 0) >> 2] = $0; + return 264 | 0; + } + + function _GLOBAL__sub_I_btCollisionObject_cpp() { + __cxx_global_var_init_9(); + return; + } + + function __cxx_global_var_init_10() { + btInfMaskConverter__btInfMaskConverter_28int_29(113980 | 0, 2139095040 | 0) | 0; + return; + } + + function btCollisionWorld__btCollisionWorld_28btDispatcher__2c_20btBroadphaseInterface__2c_20btCollisionConfiguration__29($0, $1, $2, $3) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + var $6 = 0, $7 = 0; + $6 = __stack_pointer - 16 | 0; + __stack_pointer = $6; + HEAP32[($6 + 12 | 0) >> 2] = $0; + HEAP32[($6 + 8 | 0) >> 2] = $1; + HEAP32[($6 + 4 | 0) >> 2] = $2; + HEAP32[$6 >> 2] = $3; + $7 = HEAP32[($6 + 12 | 0) >> 2] | 0; + HEAP32[$7 >> 2] = 91608 + 8 | 0; + btAlignedObjectArray_btCollisionObject____btAlignedObjectArray_28_29($7 + 4 | 0 | 0) | 0; + HEAP32[($7 + 24 | 0) >> 2] = HEAP32[($6 + 8 | 0) >> 2] | 0; + btDispatcherInfo__btDispatcherInfo_28_29($7 + 28 | 0 | 0) | 0; + HEAP32[($7 + 68 | 0) >> 2] = HEAP32[($6 + 4 | 0) >> 2] | 0; + HEAP32[($7 + 72 | 0) >> 2] = 0; + HEAP8[($7 + 76 | 0) >> 0] = 1; + __stack_pointer = $6 + 16 | 0; + return $7 | 0; + } + + function btAlignedObjectArray_btCollisionObject____btAlignedObjectArray_28_29($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + btAlignedAllocator_btCollisionObject__2c_2016u___btAlignedAllocator_28_29($4 | 0) | 0; + btAlignedObjectArray_btCollisionObject____init_28_29($4 | 0); + __stack_pointer = $3 + 16 | 0; + return $4 | 0; + } + + function btDispatcherInfo__btDispatcherInfo_28_29($0) { + $0 = $0 | 0; + var $4 = 0, $3 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + HEAPF32[$4 >> 2] = Math_fround(0 | 0); + HEAP32[($4 + 4 | 0) >> 2] = 0; + HEAP32[($4 + 8 | 0) >> 2] = 1; + HEAPF32[($4 + 12 | 0) >> 2] = Math_fround(1.0); + HEAP8[($4 + 16 | 0) >> 0] = 1; + HEAP32[($4 + 20 | 0) >> 2] = 0; + HEAP8[($4 + 24 | 0) >> 0] = 0; + HEAP8[($4 + 25 | 0) >> 0] = 1; + HEAP8[($4 + 26 | 0) >> 0] = 1; + HEAPF32[($4 + 28 | 0) >> 2] = Math_fround(.03999999910593033); + HEAP8[($4 + 32 | 0) >> 0] = 0; + HEAPF32[($4 + 36 | 0) >> 2] = Math_fround(0 | 0); + return $4 | 0; + } + + function btAlignedAllocator_btCollisionObject__2c_2016u___btAlignedAllocator_28_29($0) { + $0 = $0 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + return HEAP32[($3 + 12 | 0) >> 2] | 0 | 0; + } + + function btAlignedObjectArray_btCollisionObject____init_28_29($0) { + $0 = $0 | 0; + var $4 = 0, $3 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + HEAP8[($4 + 16 | 0) >> 0] = 1; + HEAP32[($4 + 12 | 0) >> 2] = 0; + HEAP32[($4 + 4 | 0) >> 2] = 0; + HEAP32[($4 + 8 | 0) >> 2] = 0; + return; + } + + function btCollisionWorld___btCollisionWorld_28_29($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0, $32 = 0, $35 = 0, $40 = 0, $52 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3 = __stack_pointer - 32 | 0; + __stack_pointer = $3; + HEAP32[($3 + 24 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 24 | 0) >> 2] | 0; + HEAP32[($3 + 28 | 0) >> 2] = $4; + HEAP32[$4 >> 2] = 91608 + 8 | 0; + HEAP32[($3 + 20 | 0) >> 2] = 0; + label$1 : { + label$2 : while (1) { + if (!((HEAP32[($3 + 20 | 0) >> 2] | 0 | 0) < (btAlignedObjectArray_btCollisionObject____size_28_29_20const($4 + 4 | 0 | 0) | 0 | 0) & 1 | 0)) { + break label$1 + } + (wasm2js_i32$0 = $3, wasm2js_i32$1 = HEAP32[(btAlignedObjectArray_btCollisionObject____operator_5b_5d_28int_29($4 + 4 | 0 | 0, HEAP32[($3 + 20 | 0) >> 2] | 0 | 0) | 0) >> 2] | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $3, wasm2js_i32$1 = btCollisionObject__getBroadphaseHandle_28_29(HEAP32[($3 + 16 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + label$3 : { + if (!((HEAP32[($3 + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$3 + } + $32 = btCollisionWorld__getBroadphase_28_29($4 | 0) | 0; + $35 = FUNCTION_TABLE[HEAP32[((HEAP32[$32 >> 2] | 0) + 36 | 0) >> 2] | 0 | 0]($32) | 0; + FUNCTION_TABLE[HEAP32[((HEAP32[$35 >> 2] | 0) + 40 | 0) >> 2] | 0 | 0]($35, HEAP32[($3 + 12 | 0) >> 2] | 0, HEAP32[($4 + 24 | 0) >> 2] | 0); + $40 = btCollisionWorld__getBroadphase_28_29($4 | 0) | 0; + FUNCTION_TABLE[HEAP32[((HEAP32[$40 >> 2] | 0) + 12 | 0) >> 2] | 0 | 0]($40, HEAP32[($3 + 12 | 0) >> 2] | 0, HEAP32[($4 + 24 | 0) >> 2] | 0); + btCollisionObject__setBroadphaseHandle_28btBroadphaseProxy__29(HEAP32[($3 + 16 | 0) >> 2] | 0 | 0, 0 | 0); + } + HEAP32[($3 + 20 | 0) >> 2] = (HEAP32[($3 + 20 | 0) >> 2] | 0) + 1 | 0; + continue label$2; + }; + } + btAlignedObjectArray_btCollisionObject_____btAlignedObjectArray_28_29($4 + 4 | 0 | 0) | 0; + $52 = HEAP32[($3 + 28 | 0) >> 2] | 0; + __stack_pointer = $3 + 32 | 0; + return $52 | 0; + } + + function btAlignedObjectArray_btCollisionObject____size_28_29_20const($0) { + $0 = $0 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + return HEAP32[((HEAP32[($3 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0; + } + + function btAlignedObjectArray_btCollisionObject____operator_5b_5d_28int_29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, $5 = 0, $32 = 0; + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; + label$1 : { + if ((HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0) { + break label$1 + } + __assert_fail(85840 | 0, 78192 | 0, 183 | 0, 83901 | 0); + wasm2js_trap(); + } + label$2 : { + if ((HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) < (btAlignedObjectArray_btCollisionObject____size_28_29_20const($5 | 0) | 0 | 0) & 1 | 0) { + break label$2 + } + __assert_fail(87321 | 0, 78192 | 0, 184 | 0, 83901 | 0); + wasm2js_trap(); + } + $32 = (HEAP32[($5 + 12 | 0) >> 2] | 0) + ((HEAP32[($4 + 8 | 0) >> 2] | 0) << 2 | 0) | 0; + __stack_pointer = $4 + 16 | 0; + return $32 | 0; + } + + function btCollisionObject__getBroadphaseHandle_28_29($0) { + $0 = $0 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + return HEAP32[((HEAP32[($3 + 12 | 0) >> 2] | 0) + 188 | 0) >> 2] | 0 | 0; + } + + function btCollisionWorld__getBroadphase_28_29($0) { + $0 = $0 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + return HEAP32[((HEAP32[($3 + 12 | 0) >> 2] | 0) + 68 | 0) >> 2] | 0 | 0; + } + + function btCollisionObject__setBroadphaseHandle_28btBroadphaseProxy__29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0; + $4 = __stack_pointer - 16 | 0; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + HEAP32[((HEAP32[($4 + 12 | 0) >> 2] | 0) + 188 | 0) >> 2] = HEAP32[($4 + 8 | 0) >> 2] | 0; + return; + } + + function btAlignedObjectArray_btCollisionObject_____btAlignedObjectArray_28_29($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + btAlignedObjectArray_btCollisionObject____clear_28_29($4 | 0); + __stack_pointer = $3 + 16 | 0; + return $4 | 0; + } + + function btAlignedObjectArray_btCollisionObject____clear_28_29($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + btAlignedObjectArray_btCollisionObject____destroy_28int_2c_20int_29($4 | 0, 0 | 0, btAlignedObjectArray_btCollisionObject____size_28_29_20const($4 | 0) | 0 | 0); + btAlignedObjectArray_btCollisionObject____deallocate_28_29($4 | 0); + btAlignedObjectArray_btCollisionObject____init_28_29($4 | 0); + __stack_pointer = $3 + 16 | 0; + return; + } + + function btCollisionWorld___btCollisionWorld_28_29_1($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + FUNCTION_TABLE[539 | 0]($4) | 0; + operator_20delete_28void__29($4 | 0); + __stack_pointer = $3 + 16 | 0; + return; + } + + function btCollisionWorld__addCollisionObject_28btCollisionObject__2c_20int_2c_20int_29($0, $1, $2, $3) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + var $6 = 0, $7 = 0, $70 = 0, $86 = 0, $85 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $6 = __stack_pointer - 128 | 0; + __stack_pointer = $6; + HEAP32[($6 + 124 | 0) >> 2] = $0; + HEAP32[($6 + 120 | 0) >> 2] = $1; + HEAP32[($6 + 116 | 0) >> 2] = $2; + HEAP32[($6 + 112 | 0) >> 2] = $3; + $7 = HEAP32[($6 + 124 | 0) >> 2] | 0; + label$1 : { + if ((HEAP32[($6 + 120 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$1 + } + __assert_fail(68696 | 0, 75774 | 0, 114 | 0, 68805 | 0); + wasm2js_trap(); + } + label$2 : { + if ((btAlignedObjectArray_btCollisionObject____findLinearSearch_28btCollisionObject__20const__29_20const($7 + 4 | 0 | 0, $6 + 120 | 0 | 0) | 0 | 0) == (btAlignedObjectArray_btCollisionObject____size_28_29_20const($7 + 4 | 0 | 0) | 0 | 0) & 1 | 0) { + break label$2 + } + __assert_fail(87410 | 0, 75774 | 0, 117 | 0, 68805 | 0); + wasm2js_trap(); + } + label$3 : { + if ((btCollisionObject__getWorldArrayIndex_28_29_20const(HEAP32[($6 + 120 | 0) >> 2] | 0 | 0) | 0 | 0) == (-1 | 0) & 1 | 0) { + break label$3 + } + __assert_fail(85587 | 0, 75774 | 0, 118 | 0, 68805 | 0); + wasm2js_trap(); + } + btCollisionObject__setWorldArrayIndex_28int_29(HEAP32[($6 + 120 | 0) >> 2] | 0 | 0, btAlignedObjectArray_btCollisionObject____size_28_29_20const($7 + 4 | 0 | 0) | 0 | 0); + btAlignedObjectArray_btCollisionObject____push_back_28btCollisionObject__20const__29($7 + 4 | 0 | 0, $6 + 120 | 0 | 0); + btTransform__btTransform_28btTransform_20const__29($6 + 48 | 0 | 0, btCollisionObject__getWorldTransform_28_29(HEAP32[($6 + 120 | 0) >> 2] | 0 | 0) | 0 | 0) | 0; + btVector3__btVector3_28_29($6 + 32 | 0 | 0) | 0; + btVector3__btVector3_28_29($6 + 16 | 0 | 0) | 0; + $70 = btCollisionObject__getCollisionShape_28_29(HEAP32[($6 + 120 | 0) >> 2] | 0 | 0) | 0; + FUNCTION_TABLE[HEAP32[((HEAP32[$70 >> 2] | 0) + 8 | 0) >> 2] | 0 | 0]($70, $6 + 48 | 0, $6 + 32 | 0, $6 + 16 | 0); + (wasm2js_i32$0 = $6, wasm2js_i32$1 = btCollisionShape__getShapeType_28_29_20const(btCollisionObject__getCollisionShape_28_29(HEAP32[($6 + 120 | 0) >> 2] | 0 | 0) | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + $85 = HEAP32[($6 + 120 | 0) >> 2] | 0; + $86 = btCollisionWorld__getBroadphase_28_29($7 | 0) | 0; + btCollisionObject__setBroadphaseHandle_28btBroadphaseProxy__29($85 | 0, FUNCTION_TABLE[HEAP32[((HEAP32[$86 >> 2] | 0) + 8 | 0) >> 2] | 0 | 0]($86, $6 + 32 | 0, $6 + 16 | 0, HEAP32[($6 + 12 | 0) >> 2] | 0, HEAP32[($6 + 120 | 0) >> 2] | 0, HEAP32[($6 + 116 | 0) >> 2] | 0, HEAP32[($6 + 112 | 0) >> 2] | 0, HEAP32[($7 + 24 | 0) >> 2] | 0) | 0 | 0); + __stack_pointer = $6 + 128 | 0; + return; + } + + function btAlignedObjectArray_btCollisionObject____findLinearSearch_28btCollisionObject__20const__29_20const($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, $5 = 0, $32 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; + (wasm2js_i32$0 = $4, wasm2js_i32$1 = btAlignedObjectArray_btCollisionObject____size_28_29_20const($5 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + HEAP32[$4 >> 2] = 0; + label$1 : { + label$2 : while (1) { + if (!((HEAP32[$4 >> 2] | 0 | 0) < (btAlignedObjectArray_btCollisionObject____size_28_29_20const($5 | 0) | 0 | 0) & 1 | 0)) { + break label$1 + } + label$3 : { + if (!((HEAP32[((HEAP32[($5 + 12 | 0) >> 2] | 0) + ((HEAP32[$4 >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0) == (HEAP32[(HEAP32[($4 + 8 | 0) >> 2] | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$3 + } + HEAP32[($4 + 4 | 0) >> 2] = HEAP32[$4 >> 2] | 0; + break label$1; + } + HEAP32[$4 >> 2] = (HEAP32[$4 >> 2] | 0) + 1 | 0; + continue label$2; + }; + } + $32 = HEAP32[($4 + 4 | 0) >> 2] | 0; + __stack_pointer = $4 + 16 | 0; + return $32 | 0; + } + + function btCollisionObject__getWorldArrayIndex_28_29_20const($0) { + $0 = $0 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + return HEAP32[((HEAP32[($3 + 12 | 0) >> 2] | 0) + 216 | 0) >> 2] | 0 | 0; + } + + function btCollisionObject__setWorldArrayIndex_28int_29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0; + $4 = __stack_pointer - 16 | 0; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + HEAP32[((HEAP32[($4 + 12 | 0) >> 2] | 0) + 216 | 0) >> 2] = HEAP32[($4 + 8 | 0) >> 2] | 0; + return; + } + + function btAlignedObjectArray_btCollisionObject____push_back_28btCollisionObject__20const__29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $5 = 0, $4 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; + (wasm2js_i32$0 = $4, wasm2js_i32$1 = btAlignedObjectArray_btCollisionObject____size_28_29_20const($5 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + if (!((HEAP32[($4 + 4 | 0) >> 2] | 0 | 0) == (btAlignedObjectArray_btCollisionObject____capacity_28_29_20const($5 | 0) | 0 | 0) & 1 | 0)) { + break label$1 + } + btAlignedObjectArray_btCollisionObject____reserve_28int_29($5 | 0, btAlignedObjectArray_btCollisionObject____allocSize_28int_29($5 | 0, btAlignedObjectArray_btCollisionObject____size_28_29_20const($5 | 0) | 0 | 0) | 0 | 0); + } + HEAP32[((HEAP32[($5 + 12 | 0) >> 2] | 0) + ((HEAP32[($5 + 4 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = HEAP32[(HEAP32[($4 + 8 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($5 + 4 | 0) >> 2] = (HEAP32[($5 + 4 | 0) >> 2] | 0) + 1 | 0; + __stack_pointer = $4 + 16 | 0; + return; + } + + function btAlignedObjectArray_btCollisionObject____capacity_28_29_20const($0) { + $0 = $0 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + return HEAP32[((HEAP32[($3 + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0; + } + + function btAlignedObjectArray_btCollisionObject____allocSize_28int_29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, $9 = 0; + $4 = __stack_pointer - 16 | 0; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + label$1 : { + label$2 : { + if (!(HEAP32[($4 + 8 | 0) >> 2] | 0)) { + break label$2 + } + $9 = (HEAP32[($4 + 8 | 0) >> 2] | 0) << 1 | 0; + break label$1; + } + $9 = 1; + } + return $9 | 0; + } + + function btAlignedObjectArray_btCollisionObject____reserve_28int_29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, $5 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; + label$1 : { + if (!((btAlignedObjectArray_btCollisionObject____capacity_28_29_20const($5 | 0) | 0 | 0) < (HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$1 + } + (wasm2js_i32$0 = $4, wasm2js_i32$1 = btAlignedObjectArray_btCollisionObject____allocate_28int_29($5 | 0, HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + btAlignedObjectArray_btCollisionObject____copy_28int_2c_20int_2c_20btCollisionObject___29_20const($5 | 0, 0 | 0, btAlignedObjectArray_btCollisionObject____size_28_29_20const($5 | 0) | 0 | 0, HEAP32[($4 + 4 | 0) >> 2] | 0 | 0); + btAlignedObjectArray_btCollisionObject____destroy_28int_2c_20int_29($5 | 0, 0 | 0, btAlignedObjectArray_btCollisionObject____size_28_29_20const($5 | 0) | 0 | 0); + btAlignedObjectArray_btCollisionObject____deallocate_28_29($5 | 0); + HEAP8[($5 + 16 | 0) >> 0] = 1; + HEAP32[($5 + 12 | 0) >> 2] = HEAP32[($4 + 4 | 0) >> 2] | 0; + HEAP32[($5 + 8 | 0) >> 2] = HEAP32[($4 + 8 | 0) >> 2] | 0; + } + __stack_pointer = $4 + 16 | 0; + return; + } + + function btCollisionWorld__updateSingleAabb_28btCollisionObject__29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, $5 = 0, $27 = 0, $13 = 0, $63 = 0, $104 = 0, $123 = 0, $150 = 0, $154 = 0, $158 = 0, $162 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0, wasm2js_i32$2 = 0, wasm2js_i32$3 = 0, wasm2js_i32$4 = 0, wasm2js_i32$5 = 0; + $4 = __stack_pointer - 112 | 0; + __stack_pointer = $4; + HEAP32[($4 + 108 | 0) >> 2] = $0; + HEAP32[($4 + 104 | 0) >> 2] = $1; + $5 = HEAP32[($4 + 108 | 0) >> 2] | 0; + btVector3__btVector3_28_29($4 + 88 | 0 | 0) | 0; + btVector3__btVector3_28_29($4 + 72 | 0 | 0) | 0; + $13 = btCollisionObject__getCollisionShape_28_29(HEAP32[($4 + 104 | 0) >> 2] | 0 | 0) | 0; + ((((wasm2js_i32$1 = $13, wasm2js_i32$2 = btCollisionObject__getWorldTransform_28_29(HEAP32[($4 + 104 | 0) >> 2] | 0 | 0) | 0), wasm2js_i32$3 = $4 + 88 | 0), wasm2js_i32$4 = $4 + 72 | 0), wasm2js_i32$0 = HEAP32[((HEAP32[$13 >> 2] | 0) + 8 | 0) >> 2] | 0 | 0), FUNCTION_TABLE[wasm2js_i32$0](wasm2js_i32$1 | 0, wasm2js_i32$2 | 0, wasm2js_i32$3 | 0, wasm2js_i32$4 | 0); + $27 = 112840; + btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($4 + 56 | 0 | 0, $27 | 0, $27 | 0, $27 | 0) | 0; + btVector3__operator___28btVector3_20const__29($4 + 88 | 0 | 0, $4 + 56 | 0 | 0) | 0; + btVector3__operator___28btVector3_20const__29_1($4 + 72 | 0 | 0, $4 + 56 | 0 | 0) | 0; + label$1 : { + if (!((HEAPU8[((btCollisionWorld__getDispatchInfo_28_29($5 | 0) | 0) + 16 | 0) >> 0] | 0) & 1 | 0)) { + break label$1 + } + if (!((btCollisionObject__getInternalType_28_29_20const(HEAP32[($4 + 104 | 0) >> 2] | 0 | 0) | 0 | 0) == (2 | 0) & 1 | 0)) { + break label$1 + } + if ((btCollisionObject__isStaticOrKinematicObject_28_29_20const(HEAP32[($4 + 104 | 0) >> 2] | 0 | 0) | 0) & 1 | 0) { + break label$1 + } + btVector3__btVector3_28_29($4 + 40 | 0 | 0) | 0; + btVector3__btVector3_28_29($4 + 24 | 0 | 0) | 0; + $63 = btCollisionObject__getCollisionShape_28_29(HEAP32[($4 + 104 | 0) >> 2] | 0 | 0) | 0; + ((((wasm2js_i32$4 = $63, wasm2js_i32$3 = btCollisionObject__getInterpolationWorldTransform_28_29(HEAP32[($4 + 104 | 0) >> 2] | 0 | 0) | 0), wasm2js_i32$2 = $4 + 40 | 0), wasm2js_i32$1 = $4 + 24 | 0), wasm2js_i32$0 = HEAP32[((HEAP32[$63 >> 2] | 0) + 8 | 0) >> 2] | 0 | 0), FUNCTION_TABLE[wasm2js_i32$0](wasm2js_i32$4 | 0, wasm2js_i32$3 | 0, wasm2js_i32$2 | 0, wasm2js_i32$1 | 0); + btVector3__operator___28btVector3_20const__29($4 + 40 | 0 | 0, $4 + 56 | 0 | 0) | 0; + btVector3__operator___28btVector3_20const__29_1($4 + 24 | 0 | 0, $4 + 56 | 0 | 0) | 0; + btVector3__setMin_28btVector3_20const__29($4 + 88 | 0 | 0, $4 + 40 | 0 | 0); + btVector3__setMax_28btVector3_20const__29($4 + 72 | 0 | 0, $4 + 24 | 0 | 0); + } + HEAP32[($4 + 20 | 0) >> 2] = HEAP32[($5 + 68 | 0) >> 2] | 0; + $104 = 1; + label$2 : { + if ((btCollisionObject__isStaticObject_28_29_20const(HEAP32[($4 + 104 | 0) >> 2] | 0 | 0) | 0) & 1 | 0) { + break label$2 + } + operator__28btVector3_20const__2c_20btVector3_20const__29($4 + 4 | 0 | 0, $4 + 72 | 0 | 0, $4 + 88 | 0 | 0); + $104 = Math_fround(btVector3__length2_28_29_20const($4 + 4 | 0 | 0)) < Math_fround(999999995904.0); + } + label$3 : { + label$4 : { + if (!($104 & 1 | 0)) { + break label$4 + } + $123 = HEAP32[($4 + 20 | 0) >> 2] | 0; + (((((wasm2js_i32$1 = $123, wasm2js_i32$2 = btCollisionObject__getBroadphaseHandle_28_29(HEAP32[($4 + 104 | 0) >> 2] | 0 | 0) | 0), wasm2js_i32$3 = $4 + 88 | 0), wasm2js_i32$4 = $4 + 72 | 0), wasm2js_i32$5 = HEAP32[($5 + 24 | 0) >> 2] | 0), wasm2js_i32$0 = HEAP32[((HEAP32[$123 >> 2] | 0) + 16 | 0) >> 2] | 0 | 0), FUNCTION_TABLE[wasm2js_i32$0](wasm2js_i32$1 | 0, wasm2js_i32$2 | 0, wasm2js_i32$3 | 0, wasm2js_i32$4 | 0, wasm2js_i32$5 | 0); + break label$3; + } + btCollisionObject__setActivationState_28int_29_20const(HEAP32[($4 + 104 | 0) >> 2] | 0 | 0, 5 | 0); + label$5 : { + if (!((HEAPU8[(0 + 112832 | 0) >> 0] | 0) & 1 | 0)) { + break label$5 + } + if (!((HEAP32[($5 + 72 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$5 + } + HEAP8[(0 + 112832 | 0) >> 0] = 0; + $150 = HEAP32[($5 + 72 | 0) >> 2] | 0; + FUNCTION_TABLE[HEAP32[((HEAP32[$150 >> 2] | 0) + 44 | 0) >> 2] | 0 | 0]($150, 76682); + $154 = HEAP32[($5 + 72 | 0) >> 2] | 0; + FUNCTION_TABLE[HEAP32[((HEAP32[$154 >> 2] | 0) + 44 | 0) >> 2] | 0 | 0]($154, 88329); + $158 = HEAP32[($5 + 72 | 0) >> 2] | 0; + FUNCTION_TABLE[HEAP32[((HEAP32[$158 >> 2] | 0) + 44 | 0) >> 2] | 0 | 0]($158, 88516); + $162 = HEAP32[($5 + 72 | 0) >> 2] | 0; + FUNCTION_TABLE[HEAP32[((HEAP32[$162 >> 2] | 0) + 44 | 0) >> 2] | 0 | 0]($162, 88507); + } + } + __stack_pointer = $4 + 112 | 0; + return; + } + + function btCollisionObject__getInternalType_28_29_20const($0) { + $0 = $0 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + return HEAP32[((HEAP32[($3 + 12 | 0) >> 2] | 0) + 252 | 0) >> 2] | 0 | 0; + } + + function btCollisionObject__getInterpolationWorldTransform_28_29($0) { + $0 = $0 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + return (HEAP32[($3 + 12 | 0) >> 2] | 0) + 68 | 0 | 0; + } + + function btVector3__setMin_28btVector3_20const__29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, $5 = 0; + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; + void_20btSetMin_float__28float__2c_20float_20const__29($5 | 0, HEAP32[($4 + 8 | 0) >> 2] | 0 | 0); + void_20btSetMin_float__28float__2c_20float_20const__29($5 + 4 | 0 | 0, (HEAP32[($4 + 8 | 0) >> 2] | 0) + 4 | 0 | 0); + void_20btSetMin_float__28float__2c_20float_20const__29($5 + 8 | 0 | 0, (HEAP32[($4 + 8 | 0) >> 2] | 0) + 8 | 0 | 0); + void_20btSetMin_float__28float__2c_20float_20const__29($5 + 12 | 0 | 0, btVector3__w_28_29_20const(HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) | 0 | 0); + __stack_pointer = $4 + 16 | 0; + return; + } + + function btVector3__setMax_28btVector3_20const__29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, $5 = 0; + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; + void_20btSetMax_float__28float__2c_20float_20const__29($5 | 0, HEAP32[($4 + 8 | 0) >> 2] | 0 | 0); + void_20btSetMax_float__28float__2c_20float_20const__29($5 + 4 | 0 | 0, (HEAP32[($4 + 8 | 0) >> 2] | 0) + 4 | 0 | 0); + void_20btSetMax_float__28float__2c_20float_20const__29($5 + 8 | 0 | 0, (HEAP32[($4 + 8 | 0) >> 2] | 0) + 8 | 0 | 0); + void_20btSetMax_float__28float__2c_20float_20const__29($5 + 12 | 0 | 0, btVector3__w_28_29_20const(HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) | 0 | 0); + __stack_pointer = $4 + 16 | 0; + return; + } + + function void_20btSetMin_float__28float__2c_20float_20const__29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0; + $4 = __stack_pointer - 16 | 0; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + label$1 : { + if (!(Math_fround(HEAPF32[(HEAP32[($4 + 8 | 0) >> 2] | 0) >> 2]) < Math_fround(HEAPF32[(HEAP32[($4 + 12 | 0) >> 2] | 0) >> 2]) & 1 | 0)) { + break label$1 + } + HEAPF32[(HEAP32[($4 + 12 | 0) >> 2] | 0) >> 2] = Math_fround(HEAPF32[(HEAP32[($4 + 8 | 0) >> 2] | 0) >> 2]); + } + return; + } + + function btVector3__w_28_29_20const($0) { + $0 = $0 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + return (HEAP32[($3 + 12 | 0) >> 2] | 0) + 12 | 0 | 0; + } + + function void_20btSetMax_float__28float__2c_20float_20const__29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0; + $4 = __stack_pointer - 16 | 0; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + label$1 : { + if (!(Math_fround(HEAPF32[(HEAP32[($4 + 12 | 0) >> 2] | 0) >> 2]) < Math_fround(HEAPF32[(HEAP32[($4 + 8 | 0) >> 2] | 0) >> 2]) & 1 | 0)) { + break label$1 + } + HEAPF32[(HEAP32[($4 + 12 | 0) >> 2] | 0) >> 2] = Math_fround(HEAPF32[(HEAP32[($4 + 8 | 0) >> 2] | 0) >> 2]); + } + return; + } + + function btCollisionWorld__updateAabbs_28_29($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3 = __stack_pointer - 80 | 0; + __stack_pointer = $3; + HEAP32[($3 + 76 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 76 | 0) >> 2] | 0; + CProfileSample__CProfileSample_28char_20const__29($3 + 75 | 0 | 0, 70484 | 0) | 0; + btTransform__btTransform_28_29($3 + 8 | 0 | 0) | 0; + HEAP32[($3 + 4 | 0) >> 2] = 0; + label$1 : { + label$2 : while (1) { + if (!((HEAP32[($3 + 4 | 0) >> 2] | 0 | 0) < (btAlignedObjectArray_btCollisionObject____size_28_29_20const($4 + 4 | 0 | 0) | 0 | 0) & 1 | 0)) { + break label$1 + } + (wasm2js_i32$0 = $3, wasm2js_i32$1 = HEAP32[(btAlignedObjectArray_btCollisionObject____operator_5b_5d_28int_29($4 + 4 | 0 | 0, HEAP32[($3 + 4 | 0) >> 2] | 0 | 0) | 0) >> 2] | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + label$3 : { + if ((btCollisionObject__getWorldArrayIndex_28_29_20const(HEAP32[$3 >> 2] | 0 | 0) | 0 | 0) == (HEAP32[($3 + 4 | 0) >> 2] | 0 | 0) & 1 | 0) { + break label$3 + } + __assert_fail(77720 | 0, 75774 | 0, 199 | 0, 70484 | 0); + wasm2js_trap(); + } + label$4 : { + label$5 : { + if ((HEAPU8[($4 + 76 | 0) >> 0] | 0) & 1 | 0) { + break label$5 + } + if (!((btCollisionObject__isActive_28_29_20const(HEAP32[$3 >> 2] | 0 | 0) | 0) & 1 | 0)) { + break label$4 + } + } + btCollisionWorld__updateSingleAabb_28btCollisionObject__29($4 | 0, HEAP32[$3 >> 2] | 0 | 0); + } + HEAP32[($3 + 4 | 0) >> 2] = (HEAP32[($3 + 4 | 0) >> 2] | 0) + 1 | 0; + continue label$2; + }; + } + CProfileSample___CProfileSample_28_29($3 + 75 | 0 | 0) | 0; + __stack_pointer = $3 + 80 | 0; + return; + } + + function btCollisionWorld__computeOverlappingPairs_28_29($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0, $9 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + CProfileSample__CProfileSample_28char_20const__29($3 + 11 | 0 | 0, 69579 | 0) | 0; + $9 = HEAP32[($4 + 68 | 0) >> 2] | 0; + FUNCTION_TABLE[HEAP32[((HEAP32[$9 >> 2] | 0) + 32 | 0) >> 2] | 0 | 0]($9, HEAP32[($4 + 24 | 0) >> 2] | 0); + CProfileSample___CProfileSample_28_29($3 + 11 | 0 | 0) | 0; + __stack_pointer = $3 + 16 | 0; + return; + } + + function btCollisionWorld__performDiscreteCollisionDetection_28_29($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0, $26 = 0, $27 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0, wasm2js_i32$2 = 0, wasm2js_i32$3 = 0, wasm2js_i32$4 = 0; + $3 = __stack_pointer - 32 | 0; + __stack_pointer = $3; + HEAP32[($3 + 28 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 28 | 0) >> 2] | 0; + CProfileSample__CProfileSample_28char_20const__29($3 + 27 | 0 | 0, 76354 | 0) | 0; + (wasm2js_i32$0 = $3, wasm2js_i32$1 = btCollisionWorld__getDispatchInfo_28_29($4 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + FUNCTION_TABLE[HEAP32[((HEAP32[$4 >> 2] | 0) + 8 | 0) >> 2] | 0 | 0]($4); + FUNCTION_TABLE[HEAP32[((HEAP32[$4 >> 2] | 0) + 12 | 0) >> 2] | 0 | 0]($4); + (wasm2js_i32$0 = $3, wasm2js_i32$1 = btCollisionWorld__getDispatcher_28_29($4 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + CProfileSample__CProfileSample_28char_20const__29($3 + 15 | 0 | 0, 69496 | 0) | 0; + label$1 : { + if (!((HEAP32[($3 + 16 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + $26 = HEAP32[($3 + 16 | 0) >> 2] | 0; + $27 = HEAP32[($4 + 68 | 0) >> 2] | 0; + ((((wasm2js_i32$1 = $26, wasm2js_i32$2 = FUNCTION_TABLE[HEAP32[((HEAP32[$27 >> 2] | 0) + 36 | 0) >> 2] | 0 | 0]($27) | 0), wasm2js_i32$3 = HEAP32[($3 + 20 | 0) >> 2] | 0), wasm2js_i32$4 = HEAP32[($4 + 24 | 0) >> 2] | 0), wasm2js_i32$0 = HEAP32[((HEAP32[$26 >> 2] | 0) + 32 | 0) >> 2] | 0 | 0), FUNCTION_TABLE[wasm2js_i32$0](wasm2js_i32$1 | 0, wasm2js_i32$2 | 0, wasm2js_i32$3 | 0, wasm2js_i32$4 | 0); + } + CProfileSample___CProfileSample_28_29($3 + 15 | 0 | 0) | 0; + CProfileSample___CProfileSample_28_29($3 + 27 | 0 | 0) | 0; + __stack_pointer = $3 + 32 | 0; + return; + } + + function btCollisionWorld__getDispatcher_28_29($0) { + $0 = $0 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + return HEAP32[((HEAP32[($3 + 12 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0 | 0; + } + + function btCollisionWorld__removeCollisionObject_28btCollisionObject__29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, $5 = 0, $15 = 0, $18 = 0, $23 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; + (wasm2js_i32$0 = $4, wasm2js_i32$1 = btCollisionObject__getBroadphaseHandle_28_29(HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + if (!((HEAP32[($4 + 4 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + $15 = btCollisionWorld__getBroadphase_28_29($5 | 0) | 0; + $18 = FUNCTION_TABLE[HEAP32[((HEAP32[$15 >> 2] | 0) + 36 | 0) >> 2] | 0 | 0]($15) | 0; + FUNCTION_TABLE[HEAP32[((HEAP32[$18 >> 2] | 0) + 40 | 0) >> 2] | 0 | 0]($18, HEAP32[($4 + 4 | 0) >> 2] | 0, HEAP32[($5 + 24 | 0) >> 2] | 0); + $23 = btCollisionWorld__getBroadphase_28_29($5 | 0) | 0; + FUNCTION_TABLE[HEAP32[((HEAP32[$23 >> 2] | 0) + 12 | 0) >> 2] | 0 | 0]($23, HEAP32[($4 + 4 | 0) >> 2] | 0, HEAP32[($5 + 24 | 0) >> 2] | 0); + btCollisionObject__setBroadphaseHandle_28btBroadphaseProxy__29(HEAP32[($4 + 8 | 0) >> 2] | 0 | 0, 0 | 0); + } + (wasm2js_i32$0 = $4, wasm2js_i32$1 = btCollisionObject__getWorldArrayIndex_28_29_20const(HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + label$2 : { + label$3 : { + if (!((HEAP32[$4 >> 2] | 0 | 0) >= (0 | 0) & 1 | 0)) { + break label$3 + } + if (!((HEAP32[$4 >> 2] | 0 | 0) < (btAlignedObjectArray_btCollisionObject____size_28_29_20const($5 + 4 | 0 | 0) | 0 | 0) & 1 | 0)) { + break label$3 + } + label$4 : { + if ((HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) == (HEAP32[(btAlignedObjectArray_btCollisionObject____operator_5b_5d_28int_29($5 + 4 | 0 | 0, HEAP32[$4 >> 2] | 0 | 0) | 0) >> 2] | 0 | 0) & 1 | 0) { + break label$4 + } + __assert_fail(83805 | 0, 75774 | 0, 262 | 0, 68768 | 0); + wasm2js_trap(); + } + btAlignedObjectArray_btCollisionObject____swap_28int_2c_20int_29($5 + 4 | 0 | 0, HEAP32[$4 >> 2] | 0 | 0, (btAlignedObjectArray_btCollisionObject____size_28_29_20const($5 + 4 | 0 | 0) | 0) - 1 | 0 | 0); + btAlignedObjectArray_btCollisionObject____pop_back_28_29($5 + 4 | 0 | 0); + label$5 : { + if (!((HEAP32[$4 >> 2] | 0 | 0) < (btAlignedObjectArray_btCollisionObject____size_28_29_20const($5 + 4 | 0 | 0) | 0 | 0) & 1 | 0)) { + break label$5 + } + btCollisionObject__setWorldArrayIndex_28int_29(HEAP32[(btAlignedObjectArray_btCollisionObject____operator_5b_5d_28int_29($5 + 4 | 0 | 0, HEAP32[$4 >> 2] | 0 | 0) | 0) >> 2] | 0 | 0, HEAP32[$4 >> 2] | 0 | 0); + } + break label$2; + } + btAlignedObjectArray_btCollisionObject____remove_28btCollisionObject__20const__29($5 + 4 | 0 | 0, $4 + 8 | 0 | 0); + } + btCollisionObject__setWorldArrayIndex_28int_29(HEAP32[($4 + 8 | 0) >> 2] | 0 | 0, -1 | 0); + __stack_pointer = $4 + 16 | 0; + return; + } + + function btAlignedObjectArray_btCollisionObject____swap_28int_2c_20int_29($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $5 = 0, $6 = 0; + $5 = __stack_pointer - 16 | 0; + HEAP32[($5 + 12 | 0) >> 2] = $0; + HEAP32[($5 + 8 | 0) >> 2] = $1; + HEAP32[($5 + 4 | 0) >> 2] = $2; + $6 = HEAP32[($5 + 12 | 0) >> 2] | 0; + HEAP32[$5 >> 2] = HEAP32[((HEAP32[($6 + 12 | 0) >> 2] | 0) + ((HEAP32[($5 + 8 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; + HEAP32[((HEAP32[($6 + 12 | 0) >> 2] | 0) + ((HEAP32[($5 + 8 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = HEAP32[((HEAP32[($6 + 12 | 0) >> 2] | 0) + ((HEAP32[($5 + 4 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; + HEAP32[((HEAP32[($6 + 12 | 0) >> 2] | 0) + ((HEAP32[($5 + 4 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = HEAP32[$5 >> 2] | 0; + return; + } + + function btAlignedObjectArray_btCollisionObject____pop_back_28_29($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + label$1 : { + if ((HEAP32[($4 + 4 | 0) >> 2] | 0 | 0) > (0 | 0) & 1 | 0) { + break label$1 + } + __assert_fail(85800 | 0, 78192 | 0, 201 | 0, 77711 | 0); + wasm2js_trap(); + } + HEAP32[($4 + 4 | 0) >> 2] = (HEAP32[($4 + 4 | 0) >> 2] | 0) + -1 | 0; + __stack_pointer = $3 + 16 | 0; + return; + } + + function btAlignedObjectArray_btCollisionObject____remove_28btCollisionObject__20const__29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, $5 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; + (wasm2js_i32$0 = $4, wasm2js_i32$1 = btAlignedObjectArray_btCollisionObject____findLinearSearch_28btCollisionObject__20const__29_20const($5 | 0, HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + btAlignedObjectArray_btCollisionObject____removeAtIndex_28int_29($5 | 0, HEAP32[($4 + 4 | 0) >> 2] | 0 | 0); + __stack_pointer = $4 + 16 | 0; + return; + } + + function btAlignedObjectArray_btCollisionObject____removeAtIndex_28int_29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, $5 = 0; + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; + label$1 : { + if (!((HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) < (btAlignedObjectArray_btCollisionObject____size_28_29_20const($5 | 0) | 0 | 0) & 1 | 0)) { + break label$1 + } + btAlignedObjectArray_btCollisionObject____swap_28int_2c_20int_29($5 | 0, HEAP32[($4 + 8 | 0) >> 2] | 0 | 0, (btAlignedObjectArray_btCollisionObject____size_28_29_20const($5 | 0) | 0) - 1 | 0 | 0); + btAlignedObjectArray_btCollisionObject____pop_back_28_29($5 | 0); + } + __stack_pointer = $4 + 16 | 0; + return; + } + + function btCollisionWorld__rayTestSingle_28btTransform_20const__2c_20btTransform_20const__2c_20btCollisionObject__2c_20btCollisionShape_20const__2c_20btTransform_20const__2c_20btCollisionWorld__RayResultCallback__29($0, $1, $2, $3, $4, $5) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + $4 = $4 | 0; + $5 = $5 | 0; + var $8 = 0, $14 = 0; + $8 = __stack_pointer - 48 | 0; + __stack_pointer = $8; + HEAP32[($8 + 44 | 0) >> 2] = $0; + HEAP32[($8 + 40 | 0) >> 2] = $1; + HEAP32[($8 + 36 | 0) >> 2] = $2; + HEAP32[($8 + 32 | 0) >> 2] = $3; + HEAP32[($8 + 28 | 0) >> 2] = $4; + HEAP32[($8 + 24 | 0) >> 2] = $5; + $14 = -1; + btCollisionObjectWrapper__btCollisionObjectWrapper_28btCollisionObjectWrapper_20const__2c_20btCollisionShape_20const__2c_20btCollisionObject_20const__2c_20btTransform_20const__2c_20int_2c_20int_29($8 | 0, 0 | 0, HEAP32[($8 + 32 | 0) >> 2] | 0 | 0, HEAP32[($8 + 36 | 0) >> 2] | 0 | 0, HEAP32[($8 + 28 | 0) >> 2] | 0 | 0, $14 | 0, $14 | 0) | 0; + btCollisionWorld__rayTestSingleInternal_28btTransform_20const__2c_20btTransform_20const__2c_20btCollisionObjectWrapper_20const__2c_20btCollisionWorld__RayResultCallback__29(HEAP32[($8 + 44 | 0) >> 2] | 0 | 0, HEAP32[($8 + 40 | 0) >> 2] | 0 | 0, $8 | 0, HEAP32[($8 + 24 | 0) >> 2] | 0 | 0); + __stack_pointer = $8 + 48 | 0; + return; + } + + function btCollisionWorld__rayTestSingleInternal_28btTransform_20const__2c_20btTransform_20const__2c_20btCollisionObjectWrapper_20const__2c_20btCollisionWorld__RayResultCallback__29($0, $1, $2, $3) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + var $6 = 0, i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, i64toi32_i32$1 = 0, $65 = 0, $112 = 0, $229 = 0, $244 = 0, $259 = 0, $306 = 0, $307 = 0, $322 = 0, $323 = 0, $858 = 0, $862 = 0, $888 = 0, $892 = 0, $1018 = 0, $1022 = 0, $1052 = 0, $1056 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $6 = __stack_pointer - 1392 | 0; + __stack_pointer = $6; + HEAP32[($6 + 1388 | 0) >> 2] = $0; + HEAP32[($6 + 1384 | 0) >> 2] = $1; + HEAP32[($6 + 1380 | 0) >> 2] = $2; + HEAP32[($6 + 1376 | 0) >> 2] = $3; + btSphereShape__btSphereShape_28float_29($6 + 1316 | 0 | 0, Math_fround(Math_fround(0 | 0))) | 0; + btSphereShape__setMargin_28float_29($6 + 1316 | 0 | 0, Math_fround(Math_fround(0 | 0))); + HEAP32[($6 + 1312 | 0) >> 2] = $6 + 1316 | 0; + (wasm2js_i32$0 = $6, wasm2js_i32$1 = btCollisionObjectWrapper__getCollisionShape_28_29_20const(HEAP32[($6 + 1380 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 1308 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $6, wasm2js_i32$1 = btCollisionObjectWrapper__getWorldTransform_28_29_20const(HEAP32[($6 + 1380 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 1304 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + label$2 : { + if (!((btCollisionShape__isConvex_28_29_20const(HEAP32[($6 + 1308 | 0) >> 2] | 0 | 0) | 0) & 1 | 0)) { + break label$2 + } + btConvexCast__CastResult__CastResult_28_29($6 + 1128 | 0 | 0) | 0; + HEAPF32[($6 + 1292 | 0) >> 2] = Math_fround(HEAPF32[((HEAP32[($6 + 1376 | 0) >> 2] | 0) + 4 | 0) >> 2]); + HEAP32[($6 + 1124 | 0) >> 2] = HEAP32[($6 + 1308 | 0) >> 2] | 0; + btVoronoiSimplexSolver__btVoronoiSimplexSolver_28_29($6 + 764 | 0 | 0) | 0; + btSubsimplexConvexCast__btSubsimplexConvexCast_28btConvexShape_20const__2c_20btConvexShape_20const__2c_20btVoronoiSimplexSolver__29($6 + 748 | 0 | 0, HEAP32[($6 + 1312 | 0) >> 2] | 0 | 0, HEAP32[($6 + 1124 | 0) >> 2] | 0 | 0, $6 + 764 | 0 | 0) | 0; + btGjkConvexCast__btGjkConvexCast_28btConvexShape_20const__2c_20btConvexShape_20const__2c_20btVoronoiSimplexSolver__29($6 + 732 | 0 | 0, HEAP32[($6 + 1312 | 0) >> 2] | 0 | 0, HEAP32[($6 + 1124 | 0) >> 2] | 0 | 0, $6 + 764 | 0 | 0) | 0; + HEAP32[($6 + 728 | 0) >> 2] = 0; + label$3 : { + label$4 : { + if (!((HEAP32[((HEAP32[($6 + 1376 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) & 8 | 0)) { + break label$4 + } + HEAP32[($6 + 728 | 0) >> 2] = $6 + 732 | 0; + break label$3; + } + HEAP32[($6 + 728 | 0) >> 2] = $6 + 748 | 0; + } + HEAP32[($6 + 724 | 0) >> 2] = HEAP32[($6 + 728 | 0) >> 2] | 0; + $65 = HEAP32[($6 + 724 | 0) >> 2] | 0; + label$5 : { + if (!((FUNCTION_TABLE[HEAP32[((HEAP32[$65 >> 2] | 0) + 8 | 0) >> 2] | 0 | 0]($65, HEAP32[($6 + 1388 | 0) >> 2] | 0, HEAP32[($6 + 1384 | 0) >> 2] | 0, HEAP32[($6 + 1304 | 0) >> 2] | 0, HEAP32[($6 + 1304 | 0) >> 2] | 0, $6 + 1128 | 0) | 0) & 1 | 0)) { + break label$5 + } + label$6 : { + if (!(Math_fround(btVector3__length2_28_29_20const(($6 + 1128 | 0) + 132 | 0 | 0)) > Math_fround(9.999999747378752e-05) & 1 | 0)) { + break label$6 + } + label$7 : { + if (!(Math_fround(HEAPF32[($6 + 1292 | 0) >> 2]) < Math_fround(HEAPF32[((HEAP32[($6 + 1376 | 0) >> 2] | 0) + 4 | 0) >> 2]) & 1 | 0)) { + break label$7 + } + btVector3__normalize_28_29(($6 + 1128 | 0) + 132 | 0 | 0) | 0; + btCollisionWorld__LocalRayResult__LocalRayResult_28btCollisionObject_20const__2c_20btCollisionWorld__LocalShapeInfo__2c_20btVector3_20const__2c_20float_29($6 + 696 | 0 | 0, btCollisionObjectWrapper__getCollisionObject_28_29_20const(HEAP32[($6 + 1380 | 0) >> 2] | 0 | 0) | 0 | 0, 0 | 0, ($6 + 1128 | 0) + 132 | 0 | 0, Math_fround(Math_fround(HEAPF32[($6 + 1292 | 0) >> 2]))) | 0; + HEAP8[($6 + 695 | 0) >> 0] = 1; + $112 = HEAP32[($6 + 1376 | 0) >> 2] | 0; + Math_fround(FUNCTION_TABLE[HEAP32[((HEAP32[$112 >> 2] | 0) + 12 | 0) >> 2] | 0 | 0]($112, $6 + 696 | 0, (HEAPU8[($6 + 695 | 0) >> 0] | 0) & 1 | 0)); + } + } + } + btGjkConvexCast___btGjkConvexCast_28_29($6 + 732 | 0 | 0) | 0; + btSubsimplexConvexCast___btSubsimplexConvexCast_28_29($6 + 748 | 0 | 0) | 0; + btConvexCast__CastResult___CastResult_28_29($6 + 1128 | 0 | 0) | 0; + break label$1; + } + label$8 : { + label$9 : { + if (!((btCollisionShape__isConcave_28_29_20const(HEAP32[($6 + 1308 | 0) >> 2] | 0 | 0) | 0) & 1 | 0)) { + break label$9 + } + btTransform__inverse_28_29_20const($6 + 628 | 0 | 0, HEAP32[($6 + 1304 | 0) >> 2] | 0 | 0); + btTransform__operator__28btVector3_20const__29_20const($6 + 612 | 0 | 0, $6 + 628 | 0 | 0, btTransform__getOrigin_28_29_20const(HEAP32[($6 + 1388 | 0) >> 2] | 0 | 0) | 0 | 0); + btTransform__operator__28btVector3_20const__29_20const($6 + 596 | 0 | 0, $6 + 628 | 0 | 0, btTransform__getOrigin_28_29_20const(HEAP32[($6 + 1384 | 0) >> 2] | 0 | 0) | 0 | 0); + label$10 : { + label$11 : { + if (!((btCollisionShape__getShapeType_28_29_20const(HEAP32[($6 + 1308 | 0) >> 2] | 0 | 0) | 0 | 0) == (21 | 0) & 1 | 0)) { + break label$11 + } + HEAP32[($6 + 592 | 0) >> 2] = HEAP32[($6 + 1308 | 0) >> 2] | 0; + btCollisionWorld__rayTestSingleInternal_28btTransform_20const__2c_20btTransform_20const__2c_20btCollisionObjectWrapper_20const__2c_20btCollisionWorld__RayResultCallback__29__BridgeTriangleRaycastCallback__BridgeTriangleRaycastCallback_28btVector3_20const__2c_20btVector3_20const__2c_20btCollisionWorld__RayResultCallback__2c_20btCollisionObject_20const__2c_20btConcaveShape_20const__2c_20btTransform_20const__29($6 + 472 | 0 | 0, $6 + 612 | 0 | 0, $6 + 596 | 0 | 0, HEAP32[($6 + 1376 | 0) >> 2] | 0 | 0, btCollisionObjectWrapper__getCollisionObject_28_29_20const(HEAP32[($6 + 1380 | 0) >> 2] | 0 | 0) | 0 | 0, HEAP32[($6 + 592 | 0) >> 2] | 0 | 0, HEAP32[($6 + 1304 | 0) >> 2] | 0 | 0) | 0; + HEAPF32[($6 + 512 | 0) >> 2] = Math_fround(HEAPF32[((HEAP32[($6 + 1376 | 0) >> 2] | 0) + 4 | 0) >> 2]); + btBvhTriangleMeshShape__performRaycast_28btTriangleCallback__2c_20btVector3_20const__2c_20btVector3_20const__29(HEAP32[($6 + 592 | 0) >> 2] | 0 | 0, $6 + 472 | 0 | 0, $6 + 612 | 0 | 0, $6 + 596 | 0 | 0); + btCollisionWorld__rayTestSingleInternal_28btTransform_20const__2c_20btTransform_20const__2c_20btCollisionObjectWrapper_20const__2c_20btCollisionWorld__RayResultCallback__29__BridgeTriangleRaycastCallback___BridgeTriangleRaycastCallback_28_29($6 + 472 | 0 | 0) | 0; + break label$10; + } + HEAP32[($6 + 468 | 0) >> 2] = HEAP32[($6 + 1308 | 0) >> 2] | 0; + btTransform__inverse_28_29_20const($6 + 404 | 0 | 0, HEAP32[($6 + 1304 | 0) >> 2] | 0 | 0); + btTransform__operator__28btVector3_20const__29_20const($6 + 388 | 0 | 0, $6 + 404 | 0 | 0, btTransform__getOrigin_28_29_20const(HEAP32[($6 + 1388 | 0) >> 2] | 0 | 0) | 0 | 0); + btTransform__operator__28btVector3_20const__29_20const($6 + 372 | 0 | 0, $6 + 404 | 0 | 0, btTransform__getOrigin_28_29_20const(HEAP32[($6 + 1384 | 0) >> 2] | 0 | 0) | 0 | 0); + btCollisionWorld__rayTestSingleInternal_28btTransform_20const__2c_20btTransform_20const__2c_20btCollisionObjectWrapper_20const__2c_20btCollisionWorld__RayResultCallback__29__BridgeTriangleRaycastCallback__BridgeTriangleRaycastCallback_28btVector3_20const__2c_20btVector3_20const__2c_20btCollisionWorld__RayResultCallback__2c_20btCollisionObject_20const__2c_20btConcaveShape_20const__2c_20btTransform_20const__29($6 + 252 | 0 | 0, $6 + 388 | 0 | 0, $6 + 372 | 0 | 0, HEAP32[($6 + 1376 | 0) >> 2] | 0 | 0, btCollisionObjectWrapper__getCollisionObject_28_29_20const(HEAP32[($6 + 1380 | 0) >> 2] | 0 | 0) | 0 | 0, HEAP32[($6 + 468 | 0) >> 2] | 0 | 0, HEAP32[($6 + 1304 | 0) >> 2] | 0 | 0) | 0; + HEAPF32[($6 + 292 | 0) >> 2] = Math_fround(HEAPF32[((HEAP32[($6 + 1376 | 0) >> 2] | 0) + 4 | 0) >> 2]); + $229 = 8; + i64toi32_i32$2 = ($6 + 388 | 0) + $229 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $858 = i64toi32_i32$0; + i64toi32_i32$0 = ($6 + 232 | 0) + $229 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $858; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$2 = $6; + i64toi32_i32$1 = HEAP32[($6 + 388 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($6 + 392 | 0) >> 2] | 0; + $862 = i64toi32_i32$1; + i64toi32_i32$1 = $6; + HEAP32[($6 + 232 | 0) >> 2] = $862; + HEAP32[($6 + 236 | 0) >> 2] = i64toi32_i32$0; + btVector3__setMin_28btVector3_20const__29($6 + 232 | 0 | 0, $6 + 372 | 0 | 0); + $244 = 8; + i64toi32_i32$2 = ($6 + 388 | 0) + $244 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $888 = i64toi32_i32$0; + i64toi32_i32$0 = ($6 + 216 | 0) + $244 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $888; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$2 = $6; + i64toi32_i32$1 = HEAP32[($6 + 388 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($6 + 392 | 0) >> 2] | 0; + $892 = i64toi32_i32$1; + i64toi32_i32$1 = $6; + HEAP32[($6 + 216 | 0) >> 2] = $892; + HEAP32[($6 + 220 | 0) >> 2] = i64toi32_i32$0; + btVector3__setMax_28btVector3_20const__29($6 + 216 | 0 | 0, $6 + 372 | 0 | 0); + $259 = HEAP32[($6 + 468 | 0) >> 2] | 0; + FUNCTION_TABLE[HEAP32[((HEAP32[$259 >> 2] | 0) + 64 | 0) >> 2] | 0 | 0]($259, $6 + 252 | 0, $6 + 232 | 0, $6 + 216 | 0); + btCollisionWorld__rayTestSingleInternal_28btTransform_20const__2c_20btTransform_20const__2c_20btCollisionObjectWrapper_20const__2c_20btCollisionWorld__RayResultCallback__29__BridgeTriangleRaycastCallback___BridgeTriangleRaycastCallback_28_29($6 + 252 | 0 | 0) | 0; + } + break label$8; + } + label$12 : { + if (!((btCollisionShape__isCompound_28_29_20const(HEAP32[($6 + 1308 | 0) >> 2] | 0 | 0) | 0) & 1 | 0)) { + break label$12 + } + HEAP32[($6 + 212 | 0) >> 2] = HEAP32[($6 + 1308 | 0) >> 2] | 0; + (wasm2js_i32$0 = $6, wasm2js_i32$1 = btCompoundShape__getDynamicAabbTree_28_29_20const(HEAP32[($6 + 212 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 208 | 0) >> 2] = wasm2js_i32$1; + btCollisionWorld__rayTestSingleInternal_28btTransform_20const__2c_20btTransform_20const__2c_20btCollisionObjectWrapper_20const__2c_20btCollisionWorld__RayResultCallback__29__RayTester__RayTester_28btCollisionObject_20const__2c_20btCompoundShape_20const__2c_20btTransform_20const__2c_20btTransform_20const__2c_20btTransform_20const__2c_20btCollisionWorld__RayResultCallback__29($6 + 180 | 0 | 0, btCollisionObjectWrapper__getCollisionObject_28_29_20const(HEAP32[($6 + 1380 | 0) >> 2] | 0 | 0) | 0 | 0, HEAP32[($6 + 212 | 0) >> 2] | 0 | 0, HEAP32[($6 + 1304 | 0) >> 2] | 0 | 0, HEAP32[($6 + 1388 | 0) >> 2] | 0 | 0, HEAP32[($6 + 1384 | 0) >> 2] | 0 | 0, HEAP32[($6 + 1376 | 0) >> 2] | 0 | 0) | 0; + label$13 : { + label$14 : { + if (!((HEAP32[($6 + 208 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$14 + } + btTransform__inverseTimes_28btTransform_20const__29_20const($6 + 96 | 0 | 0, HEAP32[($6 + 1304 | 0) >> 2] | 0 | 0, HEAP32[($6 + 1388 | 0) >> 2] | 0 | 0); + $306 = btTransform__getOrigin_28_29($6 + 96 | 0 | 0) | 0; + $307 = 8; + i64toi32_i32$2 = $306 + $307 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $1018 = i64toi32_i32$0; + i64toi32_i32$0 = ($6 + 160 | 0) + $307 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $1018; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$2 = $306; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $1022 = i64toi32_i32$1; + i64toi32_i32$1 = $6; + HEAP32[($6 + 160 | 0) >> 2] = $1022; + HEAP32[($6 + 164 | 0) >> 2] = i64toi32_i32$0; + btTransform__inverseTimes_28btTransform_20const__29_20const($6 + 16 | 0 | 0, HEAP32[($6 + 1304 | 0) >> 2] | 0 | 0, HEAP32[($6 + 1384 | 0) >> 2] | 0 | 0); + $322 = btTransform__getOrigin_28_29($6 + 16 | 0 | 0) | 0; + $323 = 8; + i64toi32_i32$2 = $322 + $323 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $1052 = i64toi32_i32$0; + i64toi32_i32$0 = ($6 + 80 | 0) + $323 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $1052; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$2 = $322; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $1056 = i64toi32_i32$1; + i64toi32_i32$1 = $6; + HEAP32[($6 + 80 | 0) >> 2] = $1056; + HEAP32[($6 + 84 | 0) >> 2] = i64toi32_i32$0; + btDbvt__rayTest_28btDbvtNode_20const__2c_20btVector3_20const__2c_20btVector3_20const__2c_20btDbvt__ICollide__29(HEAP32[(HEAP32[($6 + 208 | 0) >> 2] | 0) >> 2] | 0 | 0, $6 + 160 | 0 | 0, $6 + 80 | 0 | 0, $6 + 180 | 0 | 0); + break label$13; + } + HEAP32[($6 + 12 | 0) >> 2] = 0; + (wasm2js_i32$0 = $6, wasm2js_i32$1 = btCompoundShape__getNumChildShapes_28_29_20const(HEAP32[($6 + 212 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + label$15 : { + label$16 : while (1) { + if (!((HEAP32[($6 + 12 | 0) >> 2] | 0 | 0) < (HEAP32[($6 + 8 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$15 + } + btCollisionWorld__rayTestSingleInternal_28btTransform_20const__2c_20btTransform_20const__2c_20btCollisionObjectWrapper_20const__2c_20btCollisionWorld__RayResultCallback__29__RayTester__ProcessLeaf_28int_29($6 + 180 | 0 | 0, HEAP32[($6 + 12 | 0) >> 2] | 0 | 0); + HEAP32[($6 + 12 | 0) >> 2] = (HEAP32[($6 + 12 | 0) >> 2] | 0) + 1 | 0; + continue label$16; + }; + } + } + btCollisionWorld__rayTestSingleInternal_28btTransform_20const__2c_20btTransform_20const__2c_20btCollisionObjectWrapper_20const__2c_20btCollisionWorld__RayResultCallback__29__RayTester___RayTester_28_29($6 + 180 | 0 | 0) | 0; + } + } + } + btSphereShape___btSphereShape_28_29($6 + 1316 | 0 | 0) | 0; + __stack_pointer = $6 + 1392 | 0; + return; + } + + function btSphereShape__setMargin_28float_29($0, $1) { + $0 = $0 | 0; + $1 = Math_fround($1); + var $4 = 0; + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAPF32[($4 + 8 | 0) >> 2] = $1; + btConvexInternalShape__setMargin_28float_29(HEAP32[($4 + 12 | 0) >> 2] | 0 | 0, Math_fround(Math_fround(HEAPF32[($4 + 8 | 0) >> 2]))); + __stack_pointer = $4 + 16 | 0; + return; + } + + function btCollisionObjectWrapper__getWorldTransform_28_29_20const($0) { + $0 = $0 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + return HEAP32[((HEAP32[($3 + 12 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0; + } + + function btCollisionShape__isConvex_28_29_20const($0) { + $0 = $0 | 0; + var $3 = 0, $8 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $8 = (btBroadphaseProxy__isConvex_28int_29(btCollisionShape__getShapeType_28_29_20const(HEAP32[($3 + 12 | 0) >> 2] | 0 | 0) | 0 | 0) | 0) & 1 | 0; + __stack_pointer = $3 + 16 | 0; + return $8 | 0; + } + + function btConvexCast__CastResult__CastResult_28_29($0) { + $0 = $0 | 0; + var $4 = 0, $3 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + HEAP32[$4 >> 2] = 91696 + 8 | 0; + btTransform__btTransform_28_29($4 + 4 | 0 | 0) | 0; + btTransform__btTransform_28_29($4 + 68 | 0 | 0) | 0; + btVector3__btVector3_28_29($4 + 132 | 0 | 0) | 0; + btVector3__btVector3_28_29($4 + 148 | 0 | 0) | 0; + HEAPF32[($4 + 164 | 0) >> 2] = Math_fround(999999984306749440.0); + HEAP32[($4 + 168 | 0) >> 2] = 0; + HEAPF32[($4 + 172 | 0) >> 2] = Math_fround(0 | 0); + __stack_pointer = $3 + 16 | 0; + return $4 | 0; + } + + function btVoronoiSimplexSolver__btVoronoiSimplexSolver_28_29($0) { + $0 = $0 | 0; + var $4 = 0, $3 = 0, $6 = 0, $9 = 0, $10 = 0, $12 = 0, $19 = 0, $22 = 0, $23 = 0, $25 = 0, $32 = 0, $35 = 0, $36 = 0, $38 = 0, $8 = 0, $21 = 0, $34 = 0, $55 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 8 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 8 | 0) >> 2] | 0; + HEAP32[($3 + 12 | 0) >> 2] = $4; + $6 = $4 + 4 | 0; + $8 = $6 + 80 | 0; + $9 = $6; + label$1 : while (1) { + $10 = $9; + btVector3__btVector3_28_29($10 | 0) | 0; + $12 = $10 + 16 | 0; + $9 = $12; + if (!(($12 | 0) == ($8 | 0) & 1 | 0)) { + continue label$1 + } + break label$1; + }; + $19 = $4 + 84 | 0; + $21 = $19 + 80 | 0; + $22 = $19; + label$2 : while (1) { + $23 = $22; + btVector3__btVector3_28_29($23 | 0) | 0; + $25 = $23 + 16 | 0; + $22 = $25; + if (!(($25 | 0) == ($21 | 0) & 1 | 0)) { + continue label$2 + } + break label$2; + }; + $32 = $4 + 164 | 0; + $34 = $32 + 80 | 0; + $35 = $32; + label$3 : while (1) { + $36 = $35; + btVector3__btVector3_28_29($36 | 0) | 0; + $38 = $36 + 16 | 0; + $35 = $38; + if (!(($38 | 0) == ($34 | 0) & 1 | 0)) { + continue label$3 + } + break label$3; + }; + btVector3__btVector3_28_29($4 + 244 | 0 | 0) | 0; + btVector3__btVector3_28_29($4 + 260 | 0 | 0) | 0; + btVector3__btVector3_28_29($4 + 276 | 0 | 0) | 0; + btVector3__btVector3_28_29($4 + 292 | 0 | 0) | 0; + HEAPF32[($4 + 308 | 0) >> 2] = Math_fround(9.999999747378752e-05); + btSubSimplexClosestResult__btSubSimplexClosestResult_28_29($4 + 316 | 0 | 0) | 0; + $55 = HEAP32[($3 + 12 | 0) >> 2] | 0; + __stack_pointer = $3 + 16 | 0; + return $55 | 0; + } + + function btVector3__normalize_28_29($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0, $16 = 0, wasm2js_i32$0 = 0, wasm2js_f32$0 = Math_fround(0); + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + label$1 : { + if (!((btVector3__fuzzyZero_28_29_20const($4 | 0) | 0) & 1 | 0)) { + break label$1 + } + __assert_fail(87253 | 0, 80295 | 0, 312 | 0, 80814 | 0); + wasm2js_trap(); + } + (wasm2js_i32$0 = $3, wasm2js_f32$0 = Math_fround(btVector3__length_28_29_20const($4 | 0))), HEAPF32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_f32$0; + $16 = btVector3__operator___28float_20const__29($4 | 0, $3 + 8 | 0 | 0) | 0; + __stack_pointer = $3 + 16 | 0; + return $16 | 0; + } + + function btCollisionObjectWrapper__getCollisionObject_28_29_20const($0) { + $0 = $0 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + return HEAP32[((HEAP32[($3 + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0; + } + + function btCollisionWorld__LocalRayResult__LocalRayResult_28btCollisionObject_20const__2c_20btCollisionWorld__LocalShapeInfo__2c_20btVector3_20const__2c_20float_29($0, $1, $2, $3, $4) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + $4 = Math_fround($4); + var $7 = 0, i64toi32_i32$2 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $8 = 0, $12 = 0, $15 = 0, $52 = 0, $62 = 0; + $7 = __stack_pointer - 32 | 0; + HEAP32[($7 + 28 | 0) >> 2] = $0; + HEAP32[($7 + 24 | 0) >> 2] = $1; + HEAP32[($7 + 20 | 0) >> 2] = $2; + HEAP32[($7 + 16 | 0) >> 2] = $3; + HEAPF32[($7 + 12 | 0) >> 2] = $4; + $8 = HEAP32[($7 + 28 | 0) >> 2] | 0; + HEAP32[$8 >> 2] = HEAP32[($7 + 24 | 0) >> 2] | 0; + HEAP32[($8 + 4 | 0) >> 2] = HEAP32[($7 + 20 | 0) >> 2] | 0; + $12 = $8 + 8 | 0; + i64toi32_i32$2 = HEAP32[($7 + 16 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $52 = i64toi32_i32$0; + i64toi32_i32$0 = $12; + HEAP32[i64toi32_i32$0 >> 2] = $52; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $15 = 8; + i64toi32_i32$2 = i64toi32_i32$2 + $15 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $62 = i64toi32_i32$1; + i64toi32_i32$1 = $12 + $15 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $62; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + HEAPF32[($8 + 24 | 0) >> 2] = Math_fround(HEAPF32[($7 + 12 | 0) >> 2]); + return $8 | 0; + } + + function btGjkConvexCast___btGjkConvexCast_28_29($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + btConvexCast___btConvexCast_28_29($4 | 0) | 0; + __stack_pointer = $3 + 16 | 0; + return $4 | 0; + } + + function btSubsimplexConvexCast___btSubsimplexConvexCast_28_29($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + btConvexCast___btConvexCast_28_29($4 | 0) | 0; + __stack_pointer = $3 + 16 | 0; + return $4 | 0; + } + + function btConvexCast__CastResult___CastResult_28_29($0) { + $0 = $0 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + return HEAP32[($3 + 12 | 0) >> 2] | 0 | 0; + } + + function btCollisionShape__isConcave_28_29_20const($0) { + $0 = $0 | 0; + var $3 = 0, $8 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $8 = (btBroadphaseProxy__isConcave_28int_29(btCollisionShape__getShapeType_28_29_20const(HEAP32[($3 + 12 | 0) >> 2] | 0 | 0) | 0 | 0) | 0) & 1 | 0; + __stack_pointer = $3 + 16 | 0; + return $8 | 0; + } + + function btCollisionWorld__rayTestSingleInternal_28btTransform_20const__2c_20btTransform_20const__2c_20btCollisionObjectWrapper_20const__2c_20btCollisionWorld__RayResultCallback__29__BridgeTriangleRaycastCallback__BridgeTriangleRaycastCallback_28btVector3_20const__2c_20btVector3_20const__2c_20btCollisionWorld__RayResultCallback__2c_20btCollisionObject_20const__2c_20btConcaveShape_20const__2c_20btTransform_20const__29($0, $1, $2, $3, $4, $5, $6) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + $4 = $4 | 0; + $5 = $5 | 0; + $6 = $6 | 0; + var $9 = 0, $10 = 0; + $9 = __stack_pointer - 32 | 0; + __stack_pointer = $9; + HEAP32[($9 + 28 | 0) >> 2] = $0; + HEAP32[($9 + 24 | 0) >> 2] = $1; + HEAP32[($9 + 20 | 0) >> 2] = $2; + HEAP32[($9 + 16 | 0) >> 2] = $3; + HEAP32[($9 + 12 | 0) >> 2] = $4; + HEAP32[($9 + 8 | 0) >> 2] = $5; + HEAP32[($9 + 4 | 0) >> 2] = $6; + $10 = HEAP32[($9 + 28 | 0) >> 2] | 0; + btTriangleRaycastCallback__btTriangleRaycastCallback_28btVector3_20const__2c_20btVector3_20const__2c_20unsigned_20int_29($10 | 0, HEAP32[($9 + 24 | 0) >> 2] | 0 | 0, HEAP32[($9 + 20 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($9 + 16 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0) | 0; + HEAP32[$10 >> 2] = 91764 + 8 | 0; + HEAP32[($10 + 44 | 0) >> 2] = HEAP32[($9 + 16 | 0) >> 2] | 0; + HEAP32[($10 + 48 | 0) >> 2] = HEAP32[($9 + 12 | 0) >> 2] | 0; + HEAP32[($10 + 52 | 0) >> 2] = HEAP32[($9 + 8 | 0) >> 2] | 0; + btTransform__btTransform_28btTransform_20const__29($10 + 56 | 0 | 0, HEAP32[($9 + 4 | 0) >> 2] | 0 | 0) | 0; + __stack_pointer = $9 + 32 | 0; + return $10 | 0; + } + + function btCollisionWorld__rayTestSingleInternal_28btTransform_20const__2c_20btTransform_20const__2c_20btCollisionObjectWrapper_20const__2c_20btCollisionWorld__RayResultCallback__29__BridgeTriangleRaycastCallback___BridgeTriangleRaycastCallback_28_29($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + btTriangleRaycastCallback___btTriangleRaycastCallback_28_29($4 | 0) | 0; + __stack_pointer = $3 + 16 | 0; + return $4 | 0; + } + + function btCompoundShape__getDynamicAabbTree_28_29_20const($0) { + $0 = $0 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + return HEAP32[((HEAP32[($3 + 12 | 0) >> 2] | 0) + 72 | 0) >> 2] | 0 | 0; + } + + function btCollisionWorld__rayTestSingleInternal_28btTransform_20const__2c_20btTransform_20const__2c_20btCollisionObjectWrapper_20const__2c_20btCollisionWorld__RayResultCallback__29__RayTester__RayTester_28btCollisionObject_20const__2c_20btCompoundShape_20const__2c_20btTransform_20const__2c_20btTransform_20const__2c_20btTransform_20const__2c_20btCollisionWorld__RayResultCallback__29($0, $1, $2, $3, $4, $5, $6) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + $4 = $4 | 0; + $5 = $5 | 0; + $6 = $6 | 0; + var $9 = 0, $10 = 0; + $9 = __stack_pointer - 32 | 0; + __stack_pointer = $9; + HEAP32[($9 + 28 | 0) >> 2] = $0; + HEAP32[($9 + 24 | 0) >> 2] = $1; + HEAP32[($9 + 20 | 0) >> 2] = $2; + HEAP32[($9 + 16 | 0) >> 2] = $3; + HEAP32[($9 + 12 | 0) >> 2] = $4; + HEAP32[($9 + 8 | 0) >> 2] = $5; + HEAP32[($9 + 4 | 0) >> 2] = $6; + $10 = HEAP32[($9 + 28 | 0) >> 2] | 0; + btDbvt__ICollide__ICollide_28_29($10 | 0) | 0; + HEAP32[$10 >> 2] = 91948 + 8 | 0; + HEAP32[($10 + 4 | 0) >> 2] = HEAP32[($9 + 24 | 0) >> 2] | 0; + HEAP32[($10 + 8 | 0) >> 2] = HEAP32[($9 + 20 | 0) >> 2] | 0; + HEAP32[($10 + 12 | 0) >> 2] = HEAP32[($9 + 16 | 0) >> 2] | 0; + HEAP32[($10 + 16 | 0) >> 2] = HEAP32[($9 + 12 | 0) >> 2] | 0; + HEAP32[($10 + 20 | 0) >> 2] = HEAP32[($9 + 8 | 0) >> 2] | 0; + HEAP32[($10 + 24 | 0) >> 2] = HEAP32[($9 + 4 | 0) >> 2] | 0; + __stack_pointer = $9 + 32 | 0; + return $10 | 0; + } + + function btTransform__inverseTimes_28btTransform_20const__29_20const($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $5 = 0, $6 = 0; + $5 = __stack_pointer - 96 | 0; + __stack_pointer = $5; + HEAP32[($5 + 92 | 0) >> 2] = $0; + HEAP32[($5 + 88 | 0) >> 2] = $1; + HEAP32[($5 + 84 | 0) >> 2] = $2; + $6 = HEAP32[($5 + 88 | 0) >> 2] | 0; + operator__28btVector3_20const__2c_20btVector3_20const__29($5 + 68 | 0 | 0, btTransform__getOrigin_28_29_20const(HEAP32[($5 + 84 | 0) >> 2] | 0 | 0) | 0 | 0, $6 + 48 | 0 | 0); + btMatrix3x3__transposeTimes_28btMatrix3x3_20const__29_20const($5 + 20 | 0 | 0, $6 | 0, HEAP32[($5 + 84 | 0) >> 2] | 0 | 0); + operator__28btVector3_20const__2c_20btMatrix3x3_20const__29($5 + 4 | 0 | 0, $5 + 68 | 0 | 0, $6 | 0); + btTransform__btTransform_28btMatrix3x3_20const__2c_20btVector3_20const__29($0 | 0, $5 + 20 | 0 | 0, $5 + 4 | 0 | 0) | 0; + __stack_pointer = $5 + 96 | 0; + return; + } + + function btDbvt__rayTest_28btDbvtNode_20const__2c_20btVector3_20const__2c_20btVector3_20const__2c_20btDbvt__ICollide__29($0, $1, $2, $3) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + var $6 = 0, i64toi32_i32$2 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $36 = Math_fround(0), $60 = Math_fround(0), $84 = Math_fround(0), $101 = 0.0, $145 = 0, $154 = 0, $157 = 0, $158 = 0, $160 = 0, $168 = 0, $178 = 0, $180 = 0, $190 = 0, $192 = 0, $250 = 0, $259 = 0, $266 = 0, $146 = 0, $156 = 0, $607 = 0, $617 = 0, $632 = 0, $642 = 0, $234 = 0, $249 = 0, $258 = 0, wasm2js_i32$0 = 0, wasm2js_f32$0 = Math_fround(0), wasm2js_i32$1 = 0; + $6 = __stack_pointer - 704 | 0; + __stack_pointer = $6; + HEAP32[($6 + 700 | 0) >> 2] = $0; + HEAP32[($6 + 696 | 0) >> 2] = $1; + HEAP32[($6 + 692 | 0) >> 2] = $2; + HEAP32[($6 + 688 | 0) >> 2] = $3; + label$1 : { + if (!((HEAP32[($6 + 700 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + operator__28btVector3_20const__2c_20btVector3_20const__29($6 + 672 | 0 | 0, HEAP32[($6 + 692 | 0) >> 2] | 0 | 0, HEAP32[($6 + 696 | 0) >> 2] | 0 | 0); + btVector3__normalize_28_29($6 + 672 | 0 | 0) | 0; + btVector3__btVector3_28_29($6 + 656 | 0 | 0) | 0; + label$2 : { + label$3 : { + if (!(Math_fround(HEAPF32[(btVector3__operator_20float__28_29($6 + 672 | 0 | 0) | 0) >> 2]) == Math_fround(0 | 0) & 1 | 0)) { + break label$3 + } + $36 = Math_fround(999999984306749440.0); + break label$2; + } + $36 = Math_fround(Math_fround(1.0) / Math_fround(HEAPF32[(btVector3__operator_20float__28_29($6 + 672 | 0 | 0) | 0) >> 2])); + } + (wasm2js_i32$0 = btVector3__operator_20float__28_29($6 + 656 | 0 | 0) | 0, wasm2js_f32$0 = $36), HEAPF32[wasm2js_i32$0 >> 2] = wasm2js_f32$0; + label$4 : { + label$5 : { + if (!(Math_fround(HEAPF32[((btVector3__operator_20float__28_29($6 + 672 | 0 | 0) | 0) + 4 | 0) >> 2]) == Math_fround(0 | 0) & 1 | 0)) { + break label$5 + } + $60 = Math_fround(999999984306749440.0); + break label$4; + } + $60 = Math_fround(Math_fround(1.0) / Math_fround(HEAPF32[((btVector3__operator_20float__28_29($6 + 672 | 0 | 0) | 0) + 4 | 0) >> 2])); + } + (wasm2js_i32$0 = btVector3__operator_20float__28_29($6 + 656 | 0 | 0) | 0, wasm2js_f32$0 = $60), HEAPF32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_f32$0; + label$6 : { + label$7 : { + if (!(Math_fround(HEAPF32[((btVector3__operator_20float__28_29($6 + 672 | 0 | 0) | 0) + 8 | 0) >> 2]) == Math_fround(0 | 0) & 1 | 0)) { + break label$7 + } + $84 = Math_fround(999999984306749440.0); + break label$6; + } + $84 = Math_fround(Math_fround(1.0) / Math_fround(HEAPF32[((btVector3__operator_20float__28_29($6 + 672 | 0 | 0) | 0) + 8 | 0) >> 2])); + } + (wasm2js_i32$0 = btVector3__operator_20float__28_29($6 + 656 | 0 | 0) | 0, wasm2js_f32$0 = $84), HEAPF32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_f32$0; + $101 = 0.0; + (wasm2js_i32$0 = $6, wasm2js_i32$1 = +Math_fround(HEAPF32[(btVector3__operator_20float__28_29($6 + 656 | 0 | 0) | 0) >> 2]) < $101), HEAP32[(wasm2js_i32$0 + 644 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $6, wasm2js_i32$1 = +Math_fround(HEAPF32[((btVector3__operator_20float__28_29($6 + 656 | 0 | 0) | 0) + 4 | 0) >> 2]) < $101), HEAP32[(wasm2js_i32$0 + 648 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $6, wasm2js_i32$1 = +Math_fround(HEAPF32[((btVector3__operator_20float__28_29($6 + 656 | 0 | 0) | 0) + 8 | 0) >> 2]) < +(0 | 0) & 1 | 0), HEAP32[(wasm2js_i32$0 + 652 | 0) >> 2] = wasm2js_i32$1; + operator__28btVector3_20const__2c_20btVector3_20const__29($6 + 624 | 0 | 0, HEAP32[($6 + 692 | 0) >> 2] | 0 | 0, HEAP32[($6 + 696 | 0) >> 2] | 0 | 0); + (wasm2js_i32$0 = $6, wasm2js_f32$0 = Math_fround(btVector3__dot_28btVector3_20const__29_20const($6 + 672 | 0 | 0, $6 + 624 | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 640 | 0) >> 2] = wasm2js_f32$0; + btVector3__btVector3_28_29($6 + 608 | 0 | 0) | 0; + btAlignedObjectArray_btDbvtNode_20const____btAlignedObjectArray_28_29($6 + 588 | 0 | 0) | 0; + HEAP32[($6 + 584 | 0) >> 2] = 1; + HEAP32[($6 + 580 | 0) >> 2] = 126; + $145 = 128; + btAlignedObjectArray_btDbvtNode_20const____initializeFromBuffer_28void__2c_20int_2c_20int_29($6 + 588 | 0 | 0, $6 + 64 | 0 | 0, $145 | 0, $145 | 0); + $146 = HEAP32[($6 + 700 | 0) >> 2] | 0; + (wasm2js_i32$0 = btAlignedObjectArray_btDbvtNode_20const____operator_5b_5d_28int_29($6 + 588 | 0 | 0, 0 | 0) | 0, wasm2js_i32$1 = $146), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + $154 = $6 + 32 | 0; + $156 = $154 + 32 | 0; + $157 = $154; + label$8 : while (1) { + $158 = $157; + btVector3__btVector3_28_29($158 | 0) | 0; + $160 = $158 + 16 | 0; + $157 = $160; + if (!(($160 | 0) == ($156 | 0) & 1 | 0)) { + continue label$8 + } + break label$8; + }; + label$9 : while (1) { + $168 = (HEAP32[($6 + 584 | 0) >> 2] | 0) + -1 | 0; + HEAP32[($6 + 584 | 0) >> 2] = $168; + (wasm2js_i32$0 = $6, wasm2js_i32$1 = HEAP32[(btAlignedObjectArray_btDbvtNode_20const____operator_5b_5d_28int_29($6 + 588 | 0 | 0, $168 | 0) | 0) >> 2] | 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$1; + $178 = $6 + 32 | 0; + i64toi32_i32$2 = btDbvtAabbMm__Mins_28_29_20const(HEAP32[($6 + 28 | 0) >> 2] | 0 | 0) | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $607 = i64toi32_i32$0; + i64toi32_i32$0 = $178; + HEAP32[i64toi32_i32$0 >> 2] = $607; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $180 = 8; + i64toi32_i32$2 = i64toi32_i32$2 + $180 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $617 = i64toi32_i32$1; + i64toi32_i32$1 = $178 + $180 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $617; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + $190 = ($6 + 32 | 0) + 16 | 0; + i64toi32_i32$2 = btDbvtAabbMm__Maxs_28_29_20const(HEAP32[($6 + 28 | 0) >> 2] | 0 | 0) | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $632 = i64toi32_i32$0; + i64toi32_i32$0 = $190; + HEAP32[i64toi32_i32$0 >> 2] = $632; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $192 = 8; + i64toi32_i32$2 = i64toi32_i32$2 + $192 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $642 = i64toi32_i32$1; + i64toi32_i32$1 = $190 + $192 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $642; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + HEAPF32[($6 + 24 | 0) >> 2] = Math_fround(1.0); + HEAPF32[($6 + 20 | 0) >> 2] = Math_fround(0 | 0); + (wasm2js_i32$0 = $6, wasm2js_i32$1 = (btRayAabb2_28btVector3_20const__2c_20btVector3_20const__2c_20unsigned_20int_20const__2c_20btVector3_20const__2c_20float__2c_20float_2c_20float_29(HEAP32[($6 + 696 | 0) >> 2] | 0 | 0, $6 + 656 | 0 | 0, $6 + 644 | 0 | 0, $6 + 32 | 0 | 0, $6 + 24 | 0 | 0, Math_fround(Math_fround(HEAPF32[($6 + 20 | 0) >> 2])), Math_fround(Math_fround(HEAPF32[($6 + 640 | 0) >> 2]))) | 0) & 1 | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + label$10 : { + if (!(HEAP32[($6 + 16 | 0) >> 2] | 0)) { + break label$10 + } + label$11 : { + label$12 : { + if (!((btDbvtNode__isinternal_28_29_20const(HEAP32[($6 + 28 | 0) >> 2] | 0 | 0) | 0) & 1 | 0)) { + break label$12 + } + label$13 : { + if (!((HEAP32[($6 + 584 | 0) >> 2] | 0 | 0) > (HEAP32[($6 + 580 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$13 + } + $234 = (btAlignedObjectArray_btDbvtNode_20const____size_28_29_20const($6 + 588 | 0 | 0) | 0) << 1 | 0; + HEAP32[($6 + 12 | 0) >> 2] = 0; + btAlignedObjectArray_btDbvtNode_20const____resize_28int_2c_20btDbvtNode_20const__20const__29($6 + 588 | 0 | 0, $234 | 0, $6 + 12 | 0 | 0); + (wasm2js_i32$0 = $6, wasm2js_i32$1 = (btAlignedObjectArray_btDbvtNode_20const____size_28_29_20const($6 + 588 | 0 | 0) | 0) - 2 | 0), HEAP32[(wasm2js_i32$0 + 580 | 0) >> 2] = wasm2js_i32$1; + } + $249 = HEAP32[((HEAP32[($6 + 28 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0; + $250 = HEAP32[($6 + 584 | 0) >> 2] | 0; + HEAP32[($6 + 584 | 0) >> 2] = $250 + 1 | 0; + (wasm2js_i32$0 = btAlignedObjectArray_btDbvtNode_20const____operator_5b_5d_28int_29($6 + 588 | 0 | 0, $250 | 0) | 0, wasm2js_i32$1 = $249), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + $258 = HEAP32[((HEAP32[($6 + 28 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0; + $259 = HEAP32[($6 + 584 | 0) >> 2] | 0; + HEAP32[($6 + 584 | 0) >> 2] = $259 + 1 | 0; + (wasm2js_i32$0 = btAlignedObjectArray_btDbvtNode_20const____operator_5b_5d_28int_29($6 + 588 | 0 | 0, $259 | 0) | 0, wasm2js_i32$1 = $258), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + break label$11; + } + $266 = HEAP32[($6 + 688 | 0) >> 2] | 0; + FUNCTION_TABLE[HEAP32[((HEAP32[$266 >> 2] | 0) + 12 | 0) >> 2] | 0 | 0]($266, HEAP32[($6 + 28 | 0) >> 2] | 0); + } + } + if (HEAP32[($6 + 584 | 0) >> 2] | 0) { + continue label$9 + } + break label$9; + }; + btAlignedObjectArray_btDbvtNode_20const_____btAlignedObjectArray_28_29($6 + 588 | 0 | 0) | 0; + } + __stack_pointer = $6 + 704 | 0; + return; + } + + function btCollisionWorld__rayTestSingleInternal_28btTransform_20const__2c_20btTransform_20const__2c_20btCollisionObjectWrapper_20const__2c_20btCollisionWorld__RayResultCallback__29__RayTester__ProcessLeaf_28int_29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, $5 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4 = __stack_pointer - 144 | 0; + __stack_pointer = $4; + HEAP32[($4 + 140 | 0) >> 2] = $0; + HEAP32[($4 + 136 | 0) >> 2] = $1; + $5 = HEAP32[($4 + 140 | 0) >> 2] | 0; + (wasm2js_i32$0 = $4, wasm2js_i32$1 = btCompoundShape__getChildShape_28int_29_20const(HEAP32[($5 + 8 | 0) >> 2] | 0 | 0, HEAP32[($4 + 136 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 132 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $4, wasm2js_i32$1 = btCompoundShape__getChildTransform_28int_29_20const(HEAP32[($5 + 8 | 0) >> 2] | 0 | 0, HEAP32[($4 + 136 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 128 | 0) >> 2] = wasm2js_i32$1; + btTransform__operator__28btTransform_20const__29_20const($4 + 64 | 0 | 0, HEAP32[($5 + 12 | 0) >> 2] | 0 | 0, HEAP32[($4 + 128 | 0) >> 2] | 0 | 0); + btCollisionObjectWrapper__btCollisionObjectWrapper_28btCollisionObjectWrapper_20const__2c_20btCollisionShape_20const__2c_20btCollisionObject_20const__2c_20btTransform_20const__2c_20int_2c_20int_29($4 + 40 | 0 | 0, 0 | 0, HEAP32[($4 + 132 | 0) >> 2] | 0 | 0, HEAP32[($5 + 4 | 0) >> 2] | 0 | 0, $4 + 64 | 0 | 0, -1 | 0, HEAP32[($4 + 136 | 0) >> 2] | 0 | 0) | 0; + btCollisionWorld__rayTestSingleInternal_28btTransform_20const__2c_20btTransform_20const__2c_20btCollisionObjectWrapper_20const__2c_20btCollisionWorld__RayResultCallback__29__LocalInfoAdder2__LocalInfoAdder2_28int_2c_20btCollisionWorld__RayResultCallback__2c_20btCollisionShape_20const__29($4 + 8 | 0 | 0, HEAP32[($4 + 136 | 0) >> 2] | 0 | 0, HEAP32[($5 + 24 | 0) >> 2] | 0 | 0, HEAP32[($4 + 132 | 0) >> 2] | 0 | 0) | 0; + btCollisionWorld__rayTestSingleInternal_28btTransform_20const__2c_20btTransform_20const__2c_20btCollisionObjectWrapper_20const__2c_20btCollisionWorld__RayResultCallback__29(HEAP32[($5 + 16 | 0) >> 2] | 0 | 0, HEAP32[($5 + 20 | 0) >> 2] | 0 | 0, $4 + 40 | 0 | 0, $4 + 8 | 0 | 0); + btCollisionWorld__rayTestSingleInternal_28btTransform_20const__2c_20btTransform_20const__2c_20btCollisionObjectWrapper_20const__2c_20btCollisionWorld__RayResultCallback__29__LocalInfoAdder2___LocalInfoAdder2_28_29($4 + 8 | 0 | 0) | 0; + __stack_pointer = $4 + 144 | 0; + return; + } + + function btCollisionWorld__rayTestSingleInternal_28btTransform_20const__2c_20btTransform_20const__2c_20btCollisionObjectWrapper_20const__2c_20btCollisionWorld__RayResultCallback__29__RayTester___RayTester_28_29($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + btDbvt__ICollide___ICollide_28_29($4 | 0) | 0; + __stack_pointer = $3 + 16 | 0; + return $4 | 0; + } + + function btSphereShape___btSphereShape_28_29($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + btConvexInternalShape___btConvexInternalShape_28_29($4 | 0) | 0; + __stack_pointer = $3 + 16 | 0; + return $4 | 0; + } + + function btBroadphaseProxy__isConvex_28int_29($0) { + $0 = $0 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + return (HEAP32[($3 + 12 | 0) >> 2] | 0 | 0) < (20 | 0) & 1 | 0 | 0; + } + + function btSubSimplexClosestResult__btSubSimplexClosestResult_28_29($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + btVector3__btVector3_28_29($4 | 0) | 0; + btUsageBitfield__btUsageBitfield_28_29($4 + 16 | 0 | 0) | 0; + __stack_pointer = $3 + 16 | 0; + return $4 | 0; + } + + function btVector3__fuzzyZero_28_29_20const($0) { + $0 = $0 | 0; + var $3 = 0, $9 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $9 = Math_fround(btVector3__length2_28_29_20const(HEAP32[($3 + 12 | 0) >> 2] | 0 | 0)) < Math_fround(1.4210854715202004e-14) & 1 | 0; + __stack_pointer = $3 + 16 | 0; + return $9 | 0; + } + + function btVector3__operator___28float_20const__29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, $5 = 0, $13 = 0; + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; + HEAPF32[($4 + 4 | 0) >> 2] = Math_fround(Math_fround(1.0) / Math_fround(HEAPF32[(HEAP32[($4 + 8 | 0) >> 2] | 0) >> 2])); + $13 = btVector3__operator___28float_20const__29_1($5 | 0, $4 + 4 | 0 | 0) | 0; + __stack_pointer = $4 + 16 | 0; + return $13 | 0; + } + + function btBroadphaseProxy__isConcave_28int_29($0) { + $0 = $0 | 0; + var $3 = 0, $12 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $12 = 0; + label$1 : { + if (!((HEAP32[($3 + 12 | 0) >> 2] | 0 | 0) > (20 | 0) & 1 | 0)) { + break label$1 + } + $12 = (HEAP32[($3 + 12 | 0) >> 2] | 0 | 0) < (30 | 0); + } + return $12 & 1 | 0 | 0; + } + + function btTriangleRaycastCallback___btTriangleRaycastCallback_28_29($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + btTriangleCallback___btTriangleCallback_28_29($4 | 0) | 0; + __stack_pointer = $3 + 16 | 0; + return $4 | 0; + } + + function btMatrix3x3__transposeTimes_28btMatrix3x3_20const__29_20const($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $5 = 0, $6 = 0, $25 = Math_fround(0), $55 = Math_fround(0), $85 = Math_fround(0), $115 = Math_fround(0), $145 = Math_fround(0), $175 = Math_fround(0), $205 = Math_fround(0), $235 = Math_fround(0), $265 = Math_fround(0), wasm2js_i32$0 = 0, wasm2js_f32$0 = Math_fround(0); + $5 = __stack_pointer - 48 | 0; + __stack_pointer = $5; + HEAP32[($5 + 44 | 0) >> 2] = $0; + HEAP32[($5 + 40 | 0) >> 2] = $1; + HEAP32[($5 + 36 | 0) >> 2] = $2; + $6 = HEAP32[($5 + 40 | 0) >> 2] | 0; + $25 = Math_fround(Math_fround(Math_fround(HEAPF32[(btVector3__x_28_29_20const($6 | 0) | 0) >> 2]) * Math_fround(HEAPF32[(btVector3__x_28_29_20const(btMatrix3x3__operator_5b_5d_28int_29_20const(HEAP32[($5 + 36 | 0) >> 2] | 0 | 0, 0 | 0) | 0 | 0) | 0) >> 2])) + Math_fround(Math_fround(HEAPF32[(btVector3__x_28_29_20const($6 + 16 | 0 | 0) | 0) >> 2]) * Math_fround(HEAPF32[(btVector3__x_28_29_20const(btMatrix3x3__operator_5b_5d_28int_29_20const(HEAP32[($5 + 36 | 0) >> 2] | 0 | 0, 1 | 0) | 0 | 0) | 0) >> 2]))); + (wasm2js_i32$0 = $5, wasm2js_f32$0 = Math_fround(Math_fround(Math_fround(HEAPF32[(btVector3__x_28_29_20const($6 + 32 | 0 | 0) | 0) >> 2]) * Math_fround(HEAPF32[(btVector3__x_28_29_20const(btMatrix3x3__operator_5b_5d_28int_29_20const(HEAP32[($5 + 36 | 0) >> 2] | 0 | 0, 2 | 0) | 0 | 0) | 0) >> 2])) + $25)), HEAPF32[(wasm2js_i32$0 + 32 | 0) >> 2] = wasm2js_f32$0; + $55 = Math_fround(Math_fround(Math_fround(HEAPF32[(btVector3__x_28_29_20const($6 | 0) | 0) >> 2]) * Math_fround(HEAPF32[(btVector3__y_28_29_20const(btMatrix3x3__operator_5b_5d_28int_29_20const(HEAP32[($5 + 36 | 0) >> 2] | 0 | 0, 0 | 0) | 0 | 0) | 0) >> 2])) + Math_fround(Math_fround(HEAPF32[(btVector3__x_28_29_20const($6 + 16 | 0 | 0) | 0) >> 2]) * Math_fround(HEAPF32[(btVector3__y_28_29_20const(btMatrix3x3__operator_5b_5d_28int_29_20const(HEAP32[($5 + 36 | 0) >> 2] | 0 | 0, 1 | 0) | 0 | 0) | 0) >> 2]))); + (wasm2js_i32$0 = $5, wasm2js_f32$0 = Math_fround(Math_fround(Math_fround(HEAPF32[(btVector3__x_28_29_20const($6 + 32 | 0 | 0) | 0) >> 2]) * Math_fround(HEAPF32[(btVector3__y_28_29_20const(btMatrix3x3__operator_5b_5d_28int_29_20const(HEAP32[($5 + 36 | 0) >> 2] | 0 | 0, 2 | 0) | 0 | 0) | 0) >> 2])) + $55)), HEAPF32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_f32$0; + $85 = Math_fround(Math_fround(Math_fround(HEAPF32[(btVector3__x_28_29_20const($6 | 0) | 0) >> 2]) * Math_fround(HEAPF32[(btVector3__z_28_29_20const(btMatrix3x3__operator_5b_5d_28int_29_20const(HEAP32[($5 + 36 | 0) >> 2] | 0 | 0, 0 | 0) | 0 | 0) | 0) >> 2])) + Math_fround(Math_fround(HEAPF32[(btVector3__x_28_29_20const($6 + 16 | 0 | 0) | 0) >> 2]) * Math_fround(HEAPF32[(btVector3__z_28_29_20const(btMatrix3x3__operator_5b_5d_28int_29_20const(HEAP32[($5 + 36 | 0) >> 2] | 0 | 0, 1 | 0) | 0 | 0) | 0) >> 2]))); + (wasm2js_i32$0 = $5, wasm2js_f32$0 = Math_fround(Math_fround(Math_fround(HEAPF32[(btVector3__x_28_29_20const($6 + 32 | 0 | 0) | 0) >> 2]) * Math_fround(HEAPF32[(btVector3__z_28_29_20const(btMatrix3x3__operator_5b_5d_28int_29_20const(HEAP32[($5 + 36 | 0) >> 2] | 0 | 0, 2 | 0) | 0 | 0) | 0) >> 2])) + $85)), HEAPF32[(wasm2js_i32$0 + 24 | 0) >> 2] = wasm2js_f32$0; + $115 = Math_fround(Math_fround(Math_fround(HEAPF32[(btVector3__y_28_29_20const($6 | 0) | 0) >> 2]) * Math_fround(HEAPF32[(btVector3__x_28_29_20const(btMatrix3x3__operator_5b_5d_28int_29_20const(HEAP32[($5 + 36 | 0) >> 2] | 0 | 0, 0 | 0) | 0 | 0) | 0) >> 2])) + Math_fround(Math_fround(HEAPF32[(btVector3__y_28_29_20const($6 + 16 | 0 | 0) | 0) >> 2]) * Math_fround(HEAPF32[(btVector3__x_28_29_20const(btMatrix3x3__operator_5b_5d_28int_29_20const(HEAP32[($5 + 36 | 0) >> 2] | 0 | 0, 1 | 0) | 0 | 0) | 0) >> 2]))); + (wasm2js_i32$0 = $5, wasm2js_f32$0 = Math_fround(Math_fround(Math_fround(HEAPF32[(btVector3__y_28_29_20const($6 + 32 | 0 | 0) | 0) >> 2]) * Math_fround(HEAPF32[(btVector3__x_28_29_20const(btMatrix3x3__operator_5b_5d_28int_29_20const(HEAP32[($5 + 36 | 0) >> 2] | 0 | 0, 2 | 0) | 0 | 0) | 0) >> 2])) + $115)), HEAPF32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_f32$0; + $145 = Math_fround(Math_fround(Math_fround(HEAPF32[(btVector3__y_28_29_20const($6 | 0) | 0) >> 2]) * Math_fround(HEAPF32[(btVector3__y_28_29_20const(btMatrix3x3__operator_5b_5d_28int_29_20const(HEAP32[($5 + 36 | 0) >> 2] | 0 | 0, 0 | 0) | 0 | 0) | 0) >> 2])) + Math_fround(Math_fround(HEAPF32[(btVector3__y_28_29_20const($6 + 16 | 0 | 0) | 0) >> 2]) * Math_fround(HEAPF32[(btVector3__y_28_29_20const(btMatrix3x3__operator_5b_5d_28int_29_20const(HEAP32[($5 + 36 | 0) >> 2] | 0 | 0, 1 | 0) | 0 | 0) | 0) >> 2]))); + (wasm2js_i32$0 = $5, wasm2js_f32$0 = Math_fround(Math_fround(Math_fround(HEAPF32[(btVector3__y_28_29_20const($6 + 32 | 0 | 0) | 0) >> 2]) * Math_fround(HEAPF32[(btVector3__y_28_29_20const(btMatrix3x3__operator_5b_5d_28int_29_20const(HEAP32[($5 + 36 | 0) >> 2] | 0 | 0, 2 | 0) | 0 | 0) | 0) >> 2])) + $145)), HEAPF32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_f32$0; + $175 = Math_fround(Math_fround(Math_fround(HEAPF32[(btVector3__y_28_29_20const($6 | 0) | 0) >> 2]) * Math_fround(HEAPF32[(btVector3__z_28_29_20const(btMatrix3x3__operator_5b_5d_28int_29_20const(HEAP32[($5 + 36 | 0) >> 2] | 0 | 0, 0 | 0) | 0 | 0) | 0) >> 2])) + Math_fround(Math_fround(HEAPF32[(btVector3__y_28_29_20const($6 + 16 | 0 | 0) | 0) >> 2]) * Math_fround(HEAPF32[(btVector3__z_28_29_20const(btMatrix3x3__operator_5b_5d_28int_29_20const(HEAP32[($5 + 36 | 0) >> 2] | 0 | 0, 1 | 0) | 0 | 0) | 0) >> 2]))); + (wasm2js_i32$0 = $5, wasm2js_f32$0 = Math_fround(Math_fround(Math_fround(HEAPF32[(btVector3__y_28_29_20const($6 + 32 | 0 | 0) | 0) >> 2]) * Math_fround(HEAPF32[(btVector3__z_28_29_20const(btMatrix3x3__operator_5b_5d_28int_29_20const(HEAP32[($5 + 36 | 0) >> 2] | 0 | 0, 2 | 0) | 0 | 0) | 0) >> 2])) + $175)), HEAPF32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_f32$0; + $205 = Math_fround(Math_fround(Math_fround(HEAPF32[(btVector3__z_28_29_20const($6 | 0) | 0) >> 2]) * Math_fround(HEAPF32[(btVector3__x_28_29_20const(btMatrix3x3__operator_5b_5d_28int_29_20const(HEAP32[($5 + 36 | 0) >> 2] | 0 | 0, 0 | 0) | 0 | 0) | 0) >> 2])) + Math_fround(Math_fround(HEAPF32[(btVector3__z_28_29_20const($6 + 16 | 0 | 0) | 0) >> 2]) * Math_fround(HEAPF32[(btVector3__x_28_29_20const(btMatrix3x3__operator_5b_5d_28int_29_20const(HEAP32[($5 + 36 | 0) >> 2] | 0 | 0, 1 | 0) | 0 | 0) | 0) >> 2]))); + (wasm2js_i32$0 = $5, wasm2js_f32$0 = Math_fround(Math_fround(Math_fround(HEAPF32[(btVector3__z_28_29_20const($6 + 32 | 0 | 0) | 0) >> 2]) * Math_fround(HEAPF32[(btVector3__x_28_29_20const(btMatrix3x3__operator_5b_5d_28int_29_20const(HEAP32[($5 + 36 | 0) >> 2] | 0 | 0, 2 | 0) | 0 | 0) | 0) >> 2])) + $205)), HEAPF32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_f32$0; + $235 = Math_fround(Math_fround(Math_fround(HEAPF32[(btVector3__z_28_29_20const($6 | 0) | 0) >> 2]) * Math_fround(HEAPF32[(btVector3__y_28_29_20const(btMatrix3x3__operator_5b_5d_28int_29_20const(HEAP32[($5 + 36 | 0) >> 2] | 0 | 0, 0 | 0) | 0 | 0) | 0) >> 2])) + Math_fround(Math_fround(HEAPF32[(btVector3__z_28_29_20const($6 + 16 | 0 | 0) | 0) >> 2]) * Math_fround(HEAPF32[(btVector3__y_28_29_20const(btMatrix3x3__operator_5b_5d_28int_29_20const(HEAP32[($5 + 36 | 0) >> 2] | 0 | 0, 1 | 0) | 0 | 0) | 0) >> 2]))); + (wasm2js_i32$0 = $5, wasm2js_f32$0 = Math_fround(Math_fround(Math_fround(HEAPF32[(btVector3__z_28_29_20const($6 + 32 | 0 | 0) | 0) >> 2]) * Math_fround(HEAPF32[(btVector3__y_28_29_20const(btMatrix3x3__operator_5b_5d_28int_29_20const(HEAP32[($5 + 36 | 0) >> 2] | 0 | 0, 2 | 0) | 0 | 0) | 0) >> 2])) + $235)), HEAPF32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_f32$0; + $265 = Math_fround(Math_fround(Math_fround(HEAPF32[(btVector3__z_28_29_20const($6 | 0) | 0) >> 2]) * Math_fround(HEAPF32[(btVector3__z_28_29_20const(btMatrix3x3__operator_5b_5d_28int_29_20const(HEAP32[($5 + 36 | 0) >> 2] | 0 | 0, 0 | 0) | 0 | 0) | 0) >> 2])) + Math_fround(Math_fround(HEAPF32[(btVector3__z_28_29_20const($6 + 16 | 0 | 0) | 0) >> 2]) * Math_fround(HEAPF32[(btVector3__z_28_29_20const(btMatrix3x3__operator_5b_5d_28int_29_20const(HEAP32[($5 + 36 | 0) >> 2] | 0 | 0, 1 | 0) | 0 | 0) | 0) >> 2]))); + (wasm2js_i32$0 = $5, wasm2js_f32$0 = Math_fround(Math_fround(Math_fround(HEAPF32[(btVector3__z_28_29_20const($6 + 32 | 0 | 0) | 0) >> 2]) * Math_fround(HEAPF32[(btVector3__z_28_29_20const(btMatrix3x3__operator_5b_5d_28int_29_20const(HEAP32[($5 + 36 | 0) >> 2] | 0 | 0, 2 | 0) | 0 | 0) | 0) >> 2])) + $265)), HEAPF32[wasm2js_i32$0 >> 2] = wasm2js_f32$0; + btMatrix3x3__btMatrix3x3_28float_20const__2c_20float_20const__2c_20float_20const__2c_20float_20const__2c_20float_20const__2c_20float_20const__2c_20float_20const__2c_20float_20const__2c_20float_20const__29($0 | 0, $5 + 32 | 0 | 0, $5 + 28 | 0 | 0, $5 + 24 | 0 | 0, $5 + 20 | 0 | 0, $5 + 16 | 0 | 0, $5 + 12 | 0 | 0, $5 + 8 | 0 | 0, $5 + 4 | 0 | 0, $5 | 0) | 0; + __stack_pointer = $5 + 48 | 0; + return; + } + + function operator__28btVector3_20const__2c_20btMatrix3x3_20const__29($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $5 = 0, wasm2js_i32$0 = 0, wasm2js_f32$0 = Math_fround(0); + $5 = __stack_pointer - 32 | 0; + __stack_pointer = $5; + HEAP32[($5 + 28 | 0) >> 2] = $1; + HEAP32[($5 + 24 | 0) >> 2] = $2; + (wasm2js_i32$0 = $5, wasm2js_f32$0 = Math_fround(btMatrix3x3__tdotx_28btVector3_20const__29_20const(HEAP32[($5 + 24 | 0) >> 2] | 0 | 0, HEAP32[($5 + 28 | 0) >> 2] | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_f32$0; + (wasm2js_i32$0 = $5, wasm2js_f32$0 = Math_fround(btMatrix3x3__tdoty_28btVector3_20const__29_20const(HEAP32[($5 + 24 | 0) >> 2] | 0 | 0, HEAP32[($5 + 28 | 0) >> 2] | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_f32$0; + (wasm2js_i32$0 = $5, wasm2js_f32$0 = Math_fround(btMatrix3x3__tdotz_28btVector3_20const__29_20const(HEAP32[($5 + 24 | 0) >> 2] | 0 | 0, HEAP32[($5 + 28 | 0) >> 2] | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_f32$0; + btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($0 | 0, $5 + 20 | 0 | 0, $5 + 16 | 0 | 0, $5 + 12 | 0 | 0) | 0; + __stack_pointer = $5 + 32 | 0; + return; + } + + function btCompoundShape__getChildTransform_28int_29_20const($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, $9 = 0; + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + $9 = btAlignedObjectArray_btCompoundShapeChild___operator_5b_5d_28int_29_20const((HEAP32[($4 + 12 | 0) >> 2] | 0) + 20 | 0 | 0, HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) | 0; + __stack_pointer = $4 + 16 | 0; + return $9 | 0; + } + + function btCollisionWorld__rayTestSingleInternal_28btTransform_20const__2c_20btTransform_20const__2c_20btCollisionObjectWrapper_20const__2c_20btCollisionWorld__RayResultCallback__29__LocalInfoAdder2__LocalInfoAdder2_28int_2c_20btCollisionWorld__RayResultCallback__2c_20btCollisionShape_20const__29($0, $1, $2, $3) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + var $6 = 0, $7 = 0; + $6 = __stack_pointer - 16 | 0; + __stack_pointer = $6; + HEAP32[($6 + 12 | 0) >> 2] = $0; + HEAP32[($6 + 8 | 0) >> 2] = $1; + HEAP32[($6 + 4 | 0) >> 2] = $2; + HEAP32[$6 >> 2] = $3; + $7 = HEAP32[($6 + 12 | 0) >> 2] | 0; + btCollisionWorld__RayResultCallback__RayResultCallback_28_29($7 | 0) | 0; + HEAP32[$7 >> 2] = 92124 + 8 | 0; + HEAP32[($7 + 20 | 0) >> 2] = HEAP32[$6 >> 2] | 0; + HEAP32[($7 + 24 | 0) >> 2] = HEAP32[($6 + 4 | 0) >> 2] | 0; + HEAP32[($7 + 28 | 0) >> 2] = HEAP32[($6 + 8 | 0) >> 2] | 0; + HEAPF32[($7 + 4 | 0) >> 2] = Math_fround(HEAPF32[((HEAP32[($7 + 24 | 0) >> 2] | 0) + 4 | 0) >> 2]); + HEAP32[($7 + 16 | 0) >> 2] = HEAP32[((HEAP32[($7 + 24 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + __stack_pointer = $6 + 16 | 0; + return $7 | 0; + } + + function btCollisionWorld__rayTestSingleInternal_28btTransform_20const__2c_20btTransform_20const__2c_20btCollisionObjectWrapper_20const__2c_20btCollisionWorld__RayResultCallback__29__LocalInfoAdder2___LocalInfoAdder2_28_29($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + btCollisionWorld__RayResultCallback___RayResultCallback_28_29($4 | 0) | 0; + __stack_pointer = $3 + 16 | 0; + return $4 | 0; + } + + function btConvexInternalShape___btConvexInternalShape_28_29($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + btConvexShape___btConvexShape_28_29($4 | 0) | 0; + __stack_pointer = $3 + 16 | 0; + return $4 | 0; + } + + function btCollisionWorld__objectQuerySingle_28btConvexShape_20const__2c_20btTransform_20const__2c_20btTransform_20const__2c_20btCollisionObject__2c_20btCollisionShape_20const__2c_20btTransform_20const__2c_20btCollisionWorld__ConvexResultCallback__2c_20float_29($0, $1, $2, $3, $4, $5, $6, $7) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + $4 = $4 | 0; + $5 = $5 | 0; + $6 = $6 | 0; + $7 = Math_fround($7); + var $10 = 0, $18 = 0; + $10 = __stack_pointer - 64 | 0; + __stack_pointer = $10; + HEAP32[($10 + 60 | 0) >> 2] = $0; + HEAP32[($10 + 56 | 0) >> 2] = $1; + HEAP32[($10 + 52 | 0) >> 2] = $2; + HEAP32[($10 + 48 | 0) >> 2] = $3; + HEAP32[($10 + 44 | 0) >> 2] = $4; + HEAP32[($10 + 40 | 0) >> 2] = $5; + HEAP32[($10 + 36 | 0) >> 2] = $6; + HEAPF32[($10 + 32 | 0) >> 2] = $7; + $18 = -1; + btCollisionObjectWrapper__btCollisionObjectWrapper_28btCollisionObjectWrapper_20const__2c_20btCollisionShape_20const__2c_20btCollisionObject_20const__2c_20btTransform_20const__2c_20int_2c_20int_29($10 + 8 | 0 | 0, 0 | 0, HEAP32[($10 + 44 | 0) >> 2] | 0 | 0, HEAP32[($10 + 48 | 0) >> 2] | 0 | 0, HEAP32[($10 + 40 | 0) >> 2] | 0 | 0, $18 | 0, $18 | 0) | 0; + btCollisionWorld__objectQuerySingleInternal_28btConvexShape_20const__2c_20btTransform_20const__2c_20btTransform_20const__2c_20btCollisionObjectWrapper_20const__2c_20btCollisionWorld__ConvexResultCallback__2c_20float_29(HEAP32[($10 + 60 | 0) >> 2] | 0 | 0, HEAP32[($10 + 56 | 0) >> 2] | 0 | 0, HEAP32[($10 + 52 | 0) >> 2] | 0 | 0, $10 + 8 | 0 | 0, HEAP32[($10 + 36 | 0) >> 2] | 0 | 0, Math_fround(Math_fround(HEAPF32[($10 + 32 | 0) >> 2]))); + __stack_pointer = $10 + 64 | 0; + return; + } + + function btCollisionWorld__objectQuerySingleInternal_28btConvexShape_20const__2c_20btTransform_20const__2c_20btTransform_20const__2c_20btCollisionObjectWrapper_20const__2c_20btCollisionWorld__ConvexResultCallback__2c_20float_29($0, $1, $2, $3, $4, $5) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + $4 = $4 | 0; + $5 = Math_fround($5); + var $8 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, $44 = 0, $99 = 0, $206 = 0, $260 = 0, $315 = 0, $407 = 0, $419 = 0, $434 = 0, $461 = 0, $497 = 0, $520 = 0, $1506 = 0, $1510 = 0, $1536 = 0, $1540 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $8 = __stack_pointer - 2432 | 0; + __stack_pointer = $8; + HEAP32[($8 + 2428 | 0) >> 2] = $0; + HEAP32[($8 + 2424 | 0) >> 2] = $1; + HEAP32[($8 + 2420 | 0) >> 2] = $2; + HEAP32[($8 + 2416 | 0) >> 2] = $3; + HEAP32[($8 + 2412 | 0) >> 2] = $4; + HEAPF32[($8 + 2408 | 0) >> 2] = $5; + (wasm2js_i32$0 = $8, wasm2js_i32$1 = btCollisionObjectWrapper__getCollisionShape_28_29_20const(HEAP32[($8 + 2416 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 2404 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $8, wasm2js_i32$1 = btCollisionObjectWrapper__getWorldTransform_28_29_20const(HEAP32[($8 + 2416 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 2400 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + label$2 : { + if (!((btCollisionShape__isConvex_28_29_20const(HEAP32[($8 + 2404 | 0) >> 2] | 0 | 0) | 0) & 1 | 0)) { + break label$2 + } + btConvexCast__CastResult__CastResult_28_29($8 + 2224 | 0 | 0) | 0; + HEAPF32[($8 + 2396 | 0) >> 2] = Math_fround(HEAPF32[($8 + 2408 | 0) >> 2]); + HEAPF32[($8 + 2388 | 0) >> 2] = Math_fround(HEAPF32[((HEAP32[($8 + 2412 | 0) >> 2] | 0) + 4 | 0) >> 2]); + HEAP32[($8 + 2220 | 0) >> 2] = HEAP32[($8 + 2404 | 0) >> 2] | 0; + btVoronoiSimplexSolver__btVoronoiSimplexSolver_28_29($8 + 1860 | 0 | 0) | 0; + btGjkEpaPenetrationDepthSolver__btGjkEpaPenetrationDepthSolver_28_29($8 + 1856 | 0 | 0) | 0; + btContinuousConvexCollision__btContinuousConvexCollision_28btConvexShape_20const__2c_20btConvexShape_20const__2c_20btVoronoiSimplexSolver__2c_20btConvexPenetrationDepthSolver__29($8 + 1832 | 0 | 0, HEAP32[($8 + 2428 | 0) >> 2] | 0 | 0, HEAP32[($8 + 2220 | 0) >> 2] | 0 | 0, $8 + 1860 | 0 | 0, $8 + 1856 | 0 | 0) | 0; + HEAP32[($8 + 1828 | 0) >> 2] = $8 + 1832 | 0; + $44 = HEAP32[($8 + 1828 | 0) >> 2] | 0; + label$3 : { + if (!((FUNCTION_TABLE[HEAP32[((HEAP32[$44 >> 2] | 0) + 8 | 0) >> 2] | 0 | 0]($44, HEAP32[($8 + 2424 | 0) >> 2] | 0, HEAP32[($8 + 2420 | 0) >> 2] | 0, HEAP32[($8 + 2400 | 0) >> 2] | 0, HEAP32[($8 + 2400 | 0) >> 2] | 0, $8 + 2224 | 0) | 0) & 1 | 0)) { + break label$3 + } + label$4 : { + if (!(Math_fround(btVector3__length2_28_29_20const(($8 + 2224 | 0) + 132 | 0 | 0)) > Math_fround(9.999999747378752e-05) & 1 | 0)) { + break label$4 + } + label$5 : { + if (!(Math_fround(HEAPF32[($8 + 2388 | 0) >> 2]) < Math_fround(HEAPF32[((HEAP32[($8 + 2412 | 0) >> 2] | 0) + 4 | 0) >> 2]) & 1 | 0)) { + break label$5 + } + btVector3__normalize_28_29(($8 + 2224 | 0) + 132 | 0 | 0) | 0; + HEAP32[($8 + 1824 | 0) >> 2] = HEAP32[($8 + 2404 | 0) >> 2] | 0; + btCollisionWorld__LocalConvexResult__LocalConvexResult_28btCollisionObject_20const__2c_20btCollisionWorld__LocalShapeInfo__2c_20btVector3_20const__2c_20btVector3_20const__2c_20float_29($8 + 1772 | 0 | 0, btCollisionObjectWrapper__getCollisionObject_28_29_20const(HEAP32[($8 + 2416 | 0) >> 2] | 0 | 0) | 0 | 0, $8 + 1816 | 0 | 0, ($8 + 2224 | 0) + 132 | 0 | 0, ($8 + 2224 | 0) + 148 | 0 | 0, Math_fround(Math_fround(HEAPF32[($8 + 2388 | 0) >> 2]))) | 0; + HEAP8[($8 + 1771 | 0) >> 0] = 1; + $99 = HEAP32[($8 + 2412 | 0) >> 2] | 0; + Math_fround(FUNCTION_TABLE[HEAP32[((HEAP32[$99 >> 2] | 0) + 12 | 0) >> 2] | 0 | 0]($99, $8 + 1772 | 0, (HEAPU8[($8 + 1771 | 0) >> 0] | 0) & 1 | 0)); + } + } + } + btContinuousConvexCollision___btContinuousConvexCollision_28_29($8 + 1832 | 0 | 0) | 0; + btGjkEpaPenetrationDepthSolver___btGjkEpaPenetrationDepthSolver_28_29($8 + 1856 | 0 | 0) | 0; + btConvexCast__CastResult___CastResult_28_29($8 + 2224 | 0 | 0) | 0; + break label$1; + } + label$6 : { + label$7 : { + if (!((btCollisionShape__isConcave_28_29_20const(HEAP32[($8 + 2404 | 0) >> 2] | 0 | 0) | 0) & 1 | 0)) { + break label$7 + } + label$8 : { + label$9 : { + if (!((btCollisionShape__getShapeType_28_29_20const(HEAP32[($8 + 2404 | 0) >> 2] | 0 | 0) | 0 | 0) == (21 | 0) & 1 | 0)) { + break label$9 + } + HEAP32[($8 + 1764 | 0) >> 2] = HEAP32[($8 + 2404 | 0) >> 2] | 0; + btTransform__inverse_28_29_20const($8 + 1700 | 0 | 0, HEAP32[($8 + 2400 | 0) >> 2] | 0 | 0); + btTransform__operator__28btVector3_20const__29_20const($8 + 1684 | 0 | 0, $8 + 1700 | 0 | 0, btTransform__getOrigin_28_29_20const(HEAP32[($8 + 2424 | 0) >> 2] | 0 | 0) | 0 | 0); + btTransform__operator__28btVector3_20const__29_20const($8 + 1668 | 0 | 0, $8 + 1700 | 0 | 0, btTransform__getOrigin_28_29_20const(HEAP32[($8 + 2420 | 0) >> 2] | 0 | 0) | 0 | 0); + operator__28btMatrix3x3_20const__2c_20btMatrix3x3_20const__29($8 + 1556 | 0 | 0, btTransform__getBasis_28_29($8 + 1700 | 0 | 0) | 0 | 0, btTransform__getBasis_28_29_20const(HEAP32[($8 + 2420 | 0) >> 2] | 0 | 0) | 0 | 0); + HEAPF32[($8 + 1536 | 0) >> 2] = Math_fround(0 | 0); + HEAPF32[($8 + 1532 | 0) >> 2] = Math_fround(0 | 0); + HEAPF32[($8 + 1528 | 0) >> 2] = Math_fround(0 | 0); + btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($8 + 1540 | 0 | 0, $8 + 1536 | 0 | 0, $8 + 1532 | 0 | 0, $8 + 1528 | 0 | 0) | 0; + btTransform__btTransform_28btMatrix3x3_20const__2c_20btVector3_20const__29($8 + 1604 | 0 | 0, $8 + 1556 | 0 | 0, $8 + 1540 | 0 | 0) | 0; + btCollisionWorld__objectQuerySingleInternal_28btConvexShape_20const__2c_20btTransform_20const__2c_20btTransform_20const__2c_20btCollisionObjectWrapper_20const__2c_20btCollisionWorld__ConvexResultCallback__2c_20float_29__BridgeTriangleConvexcastCallback__BridgeTriangleConvexcastCallback_28btConvexShape_20const__2c_20btTransform_20const__2c_20btTransform_20const__2c_20btCollisionWorld__ConvexResultCallback__2c_20btCollisionObject_20const__2c_20btTriangleMeshShape__2c_20btTransform_20const__29($8 + 1304 | 0 | 0, HEAP32[($8 + 2428 | 0) >> 2] | 0 | 0, HEAP32[($8 + 2424 | 0) >> 2] | 0 | 0, HEAP32[($8 + 2420 | 0) >> 2] | 0 | 0, HEAP32[($8 + 2412 | 0) >> 2] | 0 | 0, btCollisionObjectWrapper__getCollisionObject_28_29_20const(HEAP32[($8 + 2416 | 0) >> 2] | 0 | 0) | 0 | 0, HEAP32[($8 + 1764 | 0) >> 2] | 0 | 0, HEAP32[($8 + 2400 | 0) >> 2] | 0 | 0) | 0; + HEAPF32[($8 + 1504 | 0) >> 2] = Math_fround(HEAPF32[((HEAP32[($8 + 2412 | 0) >> 2] | 0) + 4 | 0) >> 2]); + HEAPF32[($8 + 1512 | 0) >> 2] = Math_fround(HEAPF32[($8 + 2408 | 0) >> 2]); + btVector3__btVector3_28_29($8 + 1288 | 0 | 0) | 0; + btVector3__btVector3_28_29($8 + 1272 | 0 | 0) | 0; + $206 = HEAP32[($8 + 2428 | 0) >> 2] | 0; + FUNCTION_TABLE[HEAP32[((HEAP32[$206 >> 2] | 0) + 8 | 0) >> 2] | 0 | 0]($206, $8 + 1604 | 0, $8 + 1288 | 0, $8 + 1272 | 0); + btBvhTriangleMeshShape__performConvexcast_28btTriangleCallback__2c_20btVector3_20const__2c_20btVector3_20const__2c_20btVector3_20const__2c_20btVector3_20const__29(HEAP32[($8 + 1764 | 0) >> 2] | 0 | 0, $8 + 1304 | 0 | 0, $8 + 1684 | 0 | 0, $8 + 1668 | 0 | 0, $8 + 1288 | 0 | 0, $8 + 1272 | 0 | 0); + btCollisionWorld__objectQuerySingleInternal_28btConvexShape_20const__2c_20btTransform_20const__2c_20btTransform_20const__2c_20btCollisionObjectWrapper_20const__2c_20btCollisionWorld__ConvexResultCallback__2c_20float_29__BridgeTriangleConvexcastCallback___BridgeTriangleConvexcastCallback_28_29($8 + 1304 | 0 | 0) | 0; + break label$8; + } + label$10 : { + label$11 : { + if (!((btCollisionShape__getShapeType_28_29_20const(HEAP32[($8 + 2404 | 0) >> 2] | 0 | 0) | 0 | 0) == (28 | 0) & 1 | 0)) { + break label$11 + } + btConvexCast__CastResult__CastResult_28_29($8 + 1096 | 0 | 0) | 0; + HEAPF32[($8 + 1268 | 0) >> 2] = Math_fround(HEAPF32[($8 + 2408 | 0) >> 2]); + HEAPF32[($8 + 1260 | 0) >> 2] = Math_fround(HEAPF32[((HEAP32[($8 + 2412 | 0) >> 2] | 0) + 4 | 0) >> 2]); + HEAP32[($8 + 1092 | 0) >> 2] = HEAP32[($8 + 2404 | 0) >> 2] | 0; + btContinuousConvexCollision__btContinuousConvexCollision_28btConvexShape_20const__2c_20btStaticPlaneShape_20const__29($8 + 1068 | 0 | 0, HEAP32[($8 + 2428 | 0) >> 2] | 0 | 0, HEAP32[($8 + 1092 | 0) >> 2] | 0 | 0) | 0; + HEAP32[($8 + 1064 | 0) >> 2] = $8 + 1068 | 0; + $260 = HEAP32[($8 + 1064 | 0) >> 2] | 0; + label$12 : { + if (!((FUNCTION_TABLE[HEAP32[((HEAP32[$260 >> 2] | 0) + 8 | 0) >> 2] | 0 | 0]($260, HEAP32[($8 + 2424 | 0) >> 2] | 0, HEAP32[($8 + 2420 | 0) >> 2] | 0, HEAP32[($8 + 2400 | 0) >> 2] | 0, HEAP32[($8 + 2400 | 0) >> 2] | 0, $8 + 1096 | 0) | 0) & 1 | 0)) { + break label$12 + } + label$13 : { + if (!(Math_fround(btVector3__length2_28_29_20const(($8 + 1096 | 0) + 132 | 0 | 0)) > Math_fround(9.999999747378752e-05) & 1 | 0)) { + break label$13 + } + label$14 : { + if (!(Math_fround(HEAPF32[($8 + 1260 | 0) >> 2]) < Math_fround(HEAPF32[((HEAP32[($8 + 2412 | 0) >> 2] | 0) + 4 | 0) >> 2]) & 1 | 0)) { + break label$14 + } + btVector3__normalize_28_29(($8 + 1096 | 0) + 132 | 0 | 0) | 0; + HEAP32[($8 + 1060 | 0) >> 2] = HEAP32[($8 + 2404 | 0) >> 2] | 0; + btCollisionWorld__LocalConvexResult__LocalConvexResult_28btCollisionObject_20const__2c_20btCollisionWorld__LocalShapeInfo__2c_20btVector3_20const__2c_20btVector3_20const__2c_20float_29($8 + 1008 | 0 | 0, btCollisionObjectWrapper__getCollisionObject_28_29_20const(HEAP32[($8 + 2416 | 0) >> 2] | 0 | 0) | 0 | 0, $8 + 1052 | 0 | 0, ($8 + 1096 | 0) + 132 | 0 | 0, ($8 + 1096 | 0) + 148 | 0 | 0, Math_fround(Math_fround(HEAPF32[($8 + 1260 | 0) >> 2]))) | 0; + HEAP8[($8 + 1007 | 0) >> 0] = 1; + $315 = HEAP32[($8 + 2412 | 0) >> 2] | 0; + Math_fround(FUNCTION_TABLE[HEAP32[((HEAP32[$315 >> 2] | 0) + 12 | 0) >> 2] | 0 | 0]($315, $8 + 1008 | 0, (HEAPU8[($8 + 1007 | 0) >> 0] | 0) & 1 | 0)); + } + } + } + btContinuousConvexCollision___btContinuousConvexCollision_28_29($8 + 1068 | 0 | 0) | 0; + btConvexCast__CastResult___CastResult_28_29($8 + 1096 | 0 | 0) | 0; + break label$10; + } + HEAP32[($8 + 1e3 | 0) >> 2] = HEAP32[($8 + 2404 | 0) >> 2] | 0; + btTransform__inverse_28_29_20const($8 + 936 | 0 | 0, HEAP32[($8 + 2400 | 0) >> 2] | 0 | 0); + btTransform__operator__28btVector3_20const__29_20const($8 + 920 | 0 | 0, $8 + 936 | 0 | 0, btTransform__getOrigin_28_29_20const(HEAP32[($8 + 2424 | 0) >> 2] | 0 | 0) | 0 | 0); + btTransform__operator__28btVector3_20const__29_20const($8 + 904 | 0 | 0, $8 + 936 | 0 | 0, btTransform__getOrigin_28_29_20const(HEAP32[($8 + 2420 | 0) >> 2] | 0 | 0) | 0 | 0); + operator__28btMatrix3x3_20const__2c_20btMatrix3x3_20const__29($8 + 792 | 0 | 0, btTransform__getBasis_28_29($8 + 936 | 0 | 0) | 0 | 0, btTransform__getBasis_28_29_20const(HEAP32[($8 + 2420 | 0) >> 2] | 0 | 0) | 0 | 0); + HEAPF32[($8 + 772 | 0) >> 2] = Math_fround(0 | 0); + HEAPF32[($8 + 768 | 0) >> 2] = Math_fround(0 | 0); + HEAPF32[($8 + 764 | 0) >> 2] = Math_fround(0 | 0); + btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($8 + 776 | 0 | 0, $8 + 772 | 0 | 0, $8 + 768 | 0 | 0, $8 + 764 | 0 | 0) | 0; + btTransform__btTransform_28btMatrix3x3_20const__2c_20btVector3_20const__29($8 + 840 | 0 | 0, $8 + 792 | 0 | 0, $8 + 776 | 0 | 0) | 0; + btCollisionWorld__objectQuerySingleInternal_28btConvexShape_20const__2c_20btTransform_20const__2c_20btTransform_20const__2c_20btCollisionObjectWrapper_20const__2c_20btCollisionWorld__ConvexResultCallback__2c_20float_29__BridgeTriangleConvexcastCallback__BridgeTriangleConvexcastCallback_28btConvexShape_20const__2c_20btTransform_20const__2c_20btTransform_20const__2c_20btCollisionWorld__ConvexResultCallback__2c_20btCollisionObject_20const__2c_20btConcaveShape__2c_20btTransform_20const__29($8 + 540 | 0 | 0, HEAP32[($8 + 2428 | 0) >> 2] | 0 | 0, HEAP32[($8 + 2424 | 0) >> 2] | 0 | 0, HEAP32[($8 + 2420 | 0) >> 2] | 0 | 0, HEAP32[($8 + 2412 | 0) >> 2] | 0 | 0, btCollisionObjectWrapper__getCollisionObject_28_29_20const(HEAP32[($8 + 2416 | 0) >> 2] | 0 | 0) | 0 | 0, HEAP32[($8 + 1e3 | 0) >> 2] | 0 | 0, HEAP32[($8 + 2400 | 0) >> 2] | 0 | 0) | 0; + HEAPF32[($8 + 740 | 0) >> 2] = Math_fround(HEAPF32[((HEAP32[($8 + 2412 | 0) >> 2] | 0) + 4 | 0) >> 2]); + HEAPF32[($8 + 748 | 0) >> 2] = Math_fround(HEAPF32[($8 + 2408 | 0) >> 2]); + btVector3__btVector3_28_29($8 + 524 | 0 | 0) | 0; + btVector3__btVector3_28_29($8 + 508 | 0 | 0) | 0; + $407 = HEAP32[($8 + 2428 | 0) >> 2] | 0; + FUNCTION_TABLE[HEAP32[((HEAP32[$407 >> 2] | 0) + 8 | 0) >> 2] | 0 | 0]($407, $8 + 840 | 0, $8 + 524 | 0, $8 + 508 | 0); + $419 = 8; + i64toi32_i32$2 = ($8 + 920 | 0) + $419 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $1506 = i64toi32_i32$0; + i64toi32_i32$0 = ($8 + 488 | 0) + $419 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $1506; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$2 = $8; + i64toi32_i32$1 = HEAP32[($8 + 920 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($8 + 924 | 0) >> 2] | 0; + $1510 = i64toi32_i32$1; + i64toi32_i32$1 = $8; + HEAP32[($8 + 488 | 0) >> 2] = $1510; + HEAP32[($8 + 492 | 0) >> 2] = i64toi32_i32$0; + btVector3__setMin_28btVector3_20const__29($8 + 488 | 0 | 0, $8 + 904 | 0 | 0); + $434 = 8; + i64toi32_i32$2 = ($8 + 920 | 0) + $434 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $1536 = i64toi32_i32$0; + i64toi32_i32$0 = ($8 + 472 | 0) + $434 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $1536; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$2 = $8; + i64toi32_i32$1 = HEAP32[($8 + 920 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($8 + 924 | 0) >> 2] | 0; + $1540 = i64toi32_i32$1; + i64toi32_i32$1 = $8; + HEAP32[($8 + 472 | 0) >> 2] = $1540; + HEAP32[($8 + 476 | 0) >> 2] = i64toi32_i32$0; + btVector3__setMax_28btVector3_20const__29($8 + 472 | 0 | 0, $8 + 904 | 0 | 0); + btVector3__operator___28btVector3_20const__29_1($8 + 488 | 0 | 0, $8 + 524 | 0 | 0) | 0; + btVector3__operator___28btVector3_20const__29_1($8 + 472 | 0 | 0, $8 + 508 | 0 | 0) | 0; + $461 = HEAP32[($8 + 1e3 | 0) >> 2] | 0; + FUNCTION_TABLE[HEAP32[((HEAP32[$461 >> 2] | 0) + 64 | 0) >> 2] | 0 | 0]($461, $8 + 540 | 0, $8 + 488 | 0, $8 + 472 | 0); + btCollisionWorld__objectQuerySingleInternal_28btConvexShape_20const__2c_20btTransform_20const__2c_20btTransform_20const__2c_20btCollisionObjectWrapper_20const__2c_20btCollisionWorld__ConvexResultCallback__2c_20float_29__BridgeTriangleConvexcastCallback___BridgeTriangleConvexcastCallback_28_29_1($8 + 540 | 0 | 0) | 0; + } + } + break label$6; + } + label$15 : { + if (!((btCollisionShape__isCompound_28_29_20const(HEAP32[($8 + 2404 | 0) >> 2] | 0 | 0) | 0) & 1 | 0)) { + break label$15 + } + CProfileSample__CProfileSample_28char_20const__29($8 + 471 | 0 | 0, 82213 | 0) | 0; + HEAP32[($8 + 464 | 0) >> 2] = HEAP32[($8 + 2404 | 0) >> 2] | 0; + btVector3__btVector3_28_29($8 + 448 | 0 | 0) | 0; + btVector3__btVector3_28_29($8 + 432 | 0 | 0) | 0; + btVector3__btVector3_28_29($8 + 416 | 0 | 0) | 0; + btVector3__btVector3_28_29($8 + 400 | 0 | 0) | 0; + $497 = HEAP32[($8 + 2428 | 0) >> 2] | 0; + btTransform__inverse_28_29_20const($8 + 272 | 0 | 0, HEAP32[($8 + 2400 | 0) >> 2] | 0 | 0); + btTransform__operator__28btTransform_20const__29_20const($8 + 336 | 0 | 0, $8 + 272 | 0 | 0, HEAP32[($8 + 2424 | 0) >> 2] | 0 | 0); + FUNCTION_TABLE[HEAP32[((HEAP32[$497 >> 2] | 0) + 8 | 0) >> 2] | 0 | 0]($497, $8 + 336 | 0, $8 + 448 | 0, $8 + 432 | 0); + $520 = HEAP32[($8 + 2428 | 0) >> 2] | 0; + btTransform__inverse_28_29_20const($8 + 144 | 0 | 0, HEAP32[($8 + 2400 | 0) >> 2] | 0 | 0); + btTransform__operator__28btTransform_20const__29_20const($8 + 208 | 0 | 0, $8 + 144 | 0 | 0, HEAP32[($8 + 2420 | 0) >> 2] | 0 | 0); + FUNCTION_TABLE[HEAP32[((HEAP32[$520 >> 2] | 0) + 8 | 0) >> 2] | 0 | 0]($520, $8 + 208 | 0, $8 + 416 | 0, $8 + 400 | 0); + btVector3__setMin_28btVector3_20const__29($8 + 448 | 0 | 0, $8 + 416 | 0 | 0); + btVector3__setMax_28btVector3_20const__29($8 + 432 | 0 | 0, $8 + 400 | 0 | 0); + btCollisionWorld__objectQuerySingleInternal_28btConvexShape_20const__2c_20btTransform_20const__2c_20btTransform_20const__2c_20btCollisionObjectWrapper_20const__2c_20btCollisionWorld__ConvexResultCallback__2c_20float_29__btCompoundLeafCallback__btCompoundLeafCallback_28btCollisionObjectWrapper_20const__2c_20btConvexShape_20const__2c_20btTransform_20const__2c_20btTransform_20const__2c_20float_2c_20btCompoundShape_20const__2c_20btTransform_20const__2c_20btCollisionWorld__ConvexResultCallback__29($8 + 108 | 0 | 0, HEAP32[($8 + 2416 | 0) >> 2] | 0 | 0, HEAP32[($8 + 2428 | 0) >> 2] | 0 | 0, HEAP32[($8 + 2424 | 0) >> 2] | 0 | 0, HEAP32[($8 + 2420 | 0) >> 2] | 0 | 0, Math_fround(Math_fround(HEAPF32[($8 + 2408 | 0) >> 2])), HEAP32[($8 + 464 | 0) >> 2] | 0 | 0, HEAP32[($8 + 2400 | 0) >> 2] | 0 | 0, HEAP32[($8 + 2412 | 0) >> 2] | 0 | 0) | 0; + (wasm2js_i32$0 = $8, wasm2js_i32$1 = btCompoundShape__getDynamicAabbTree_28_29_20const(HEAP32[($8 + 464 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 104 | 0) >> 2] = wasm2js_i32$1; + label$16 : { + label$17 : { + if (!((HEAP32[($8 + 104 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$17 + } + btDbvtAabbMm__FromMM_28btVector3_20const__2c_20btVector3_20const__29($8 + 72 | 0 | 0, $8 + 448 | 0 | 0, $8 + 432 | 0 | 0); + btDbvt__collideTV_28btDbvtNode_20const__2c_20btDbvtAabbMm_20const__2c_20btDbvt__ICollide__29_20const(HEAP32[($8 + 104 | 0) >> 2] | 0 | 0, HEAP32[(HEAP32[($8 + 104 | 0) >> 2] | 0) >> 2] | 0 | 0, $8 + 72 | 0 | 0, $8 + 108 | 0 | 0); + break label$16; + } + HEAP32[($8 + 68 | 0) >> 2] = 0; + label$18 : { + label$19 : while (1) { + if (!((HEAP32[($8 + 68 | 0) >> 2] | 0 | 0) < (btCompoundShape__getNumChildShapes_28_29_20const(HEAP32[($8 + 464 | 0) >> 2] | 0 | 0) | 0 | 0) & 1 | 0)) { + break label$18 + } + (wasm2js_i32$0 = $8, wasm2js_i32$1 = btCompoundShape__getChildShape_28int_29_20const(HEAP32[($8 + 464 | 0) >> 2] | 0 | 0, HEAP32[($8 + 68 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 64 | 0) >> 2] = wasm2js_i32$1; + btTransform__btTransform_28btTransform_20const__29($8 | 0, btCompoundShape__getChildTransform_28int_29_20const(HEAP32[($8 + 464 | 0) >> 2] | 0 | 0, HEAP32[($8 + 68 | 0) >> 2] | 0 | 0) | 0 | 0) | 0; + btCollisionWorld__objectQuerySingleInternal_28btConvexShape_20const__2c_20btTransform_20const__2c_20btTransform_20const__2c_20btCollisionObjectWrapper_20const__2c_20btCollisionWorld__ConvexResultCallback__2c_20float_29__btCompoundLeafCallback__ProcessChild_28int_2c_20btTransform_20const__2c_20btCollisionShape_20const__29($8 + 108 | 0 | 0, HEAP32[($8 + 68 | 0) >> 2] | 0 | 0, $8 | 0, HEAP32[($8 + 64 | 0) >> 2] | 0 | 0); + HEAP32[($8 + 68 | 0) >> 2] = (HEAP32[($8 + 68 | 0) >> 2] | 0) + 1 | 0; + continue label$19; + }; + } + } + btCollisionWorld__objectQuerySingleInternal_28btConvexShape_20const__2c_20btTransform_20const__2c_20btTransform_20const__2c_20btCollisionObjectWrapper_20const__2c_20btCollisionWorld__ConvexResultCallback__2c_20float_29__btCompoundLeafCallback___btCompoundLeafCallback_28_29($8 + 108 | 0 | 0) | 0; + CProfileSample___CProfileSample_28_29($8 + 471 | 0 | 0) | 0; + } + } + } + __stack_pointer = $8 + 2432 | 0; + return; + } + + function btGjkEpaPenetrationDepthSolver__btGjkEpaPenetrationDepthSolver_28_29($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + btConvexPenetrationDepthSolver__btConvexPenetrationDepthSolver_28_29($4 | 0) | 0; + HEAP32[$4 >> 2] = 101400 + 8 | 0; + __stack_pointer = $3 + 16 | 0; + return $4 | 0; + } + + function btCollisionWorld__LocalConvexResult__LocalConvexResult_28btCollisionObject_20const__2c_20btCollisionWorld__LocalShapeInfo__2c_20btVector3_20const__2c_20btVector3_20const__2c_20float_29($0, $1, $2, $3, $4, $5) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + $4 = $4 | 0; + $5 = Math_fround($5); + var i64toi32_i32$2 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $8 = 0, $9 = 0, $13 = 0, $16 = 0, $21 = 0, $24 = 0, $63 = 0, $73 = 0, $82 = 0, $92 = 0; + $8 = __stack_pointer - 32 | 0; + HEAP32[($8 + 28 | 0) >> 2] = $0; + HEAP32[($8 + 24 | 0) >> 2] = $1; + HEAP32[($8 + 20 | 0) >> 2] = $2; + HEAP32[($8 + 16 | 0) >> 2] = $3; + HEAP32[($8 + 12 | 0) >> 2] = $4; + HEAPF32[($8 + 8 | 0) >> 2] = $5; + $9 = HEAP32[($8 + 28 | 0) >> 2] | 0; + HEAP32[$9 >> 2] = HEAP32[($8 + 24 | 0) >> 2] | 0; + HEAP32[($9 + 4 | 0) >> 2] = HEAP32[($8 + 20 | 0) >> 2] | 0; + $13 = $9 + 8 | 0; + i64toi32_i32$2 = HEAP32[($8 + 16 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $63 = i64toi32_i32$0; + i64toi32_i32$0 = $13; + HEAP32[i64toi32_i32$0 >> 2] = $63; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $16 = 8; + i64toi32_i32$2 = i64toi32_i32$2 + $16 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $73 = i64toi32_i32$1; + i64toi32_i32$1 = $13 + $16 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $73; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + $21 = $9 + 24 | 0; + i64toi32_i32$2 = HEAP32[($8 + 12 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $82 = i64toi32_i32$0; + i64toi32_i32$0 = $21; + HEAP32[i64toi32_i32$0 >> 2] = $82; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $24 = 8; + i64toi32_i32$2 = i64toi32_i32$2 + $24 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $92 = i64toi32_i32$1; + i64toi32_i32$1 = $21 + $24 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $92; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + HEAPF32[($9 + 40 | 0) >> 2] = Math_fround(HEAPF32[($8 + 8 | 0) >> 2]); + return $9 | 0; + } + + function btContinuousConvexCollision___btContinuousConvexCollision_28_29($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + btConvexCast___btConvexCast_28_29($4 | 0) | 0; + __stack_pointer = $3 + 16 | 0; + return $4 | 0; + } + + function btGjkEpaPenetrationDepthSolver___btGjkEpaPenetrationDepthSolver_28_29($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + btConvexPenetrationDepthSolver___btConvexPenetrationDepthSolver_28_29($4 | 0) | 0; + __stack_pointer = $3 + 16 | 0; + return $4 | 0; + } + + function btCollisionWorld__objectQuerySingleInternal_28btConvexShape_20const__2c_20btTransform_20const__2c_20btTransform_20const__2c_20btCollisionObjectWrapper_20const__2c_20btCollisionWorld__ConvexResultCallback__2c_20float_29__BridgeTriangleConvexcastCallback__BridgeTriangleConvexcastCallback_28btConvexShape_20const__2c_20btTransform_20const__2c_20btTransform_20const__2c_20btCollisionWorld__ConvexResultCallback__2c_20btCollisionObject_20const__2c_20btTriangleMeshShape__2c_20btTransform_20const__29($0, $1, $2, $3, $4, $5, $6, $7) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + $4 = $4 | 0; + $5 = $5 | 0; + $6 = $6 | 0; + $7 = $7 | 0; + var $10 = 0, $11 = 0, $16 = 0; + $10 = __stack_pointer - 32 | 0; + __stack_pointer = $10; + HEAP32[($10 + 28 | 0) >> 2] = $0; + HEAP32[($10 + 24 | 0) >> 2] = $1; + HEAP32[($10 + 20 | 0) >> 2] = $2; + HEAP32[($10 + 16 | 0) >> 2] = $3; + HEAP32[($10 + 12 | 0) >> 2] = $4; + HEAP32[($10 + 8 | 0) >> 2] = $5; + HEAP32[($10 + 4 | 0) >> 2] = $6; + HEAP32[$10 >> 2] = $7; + $11 = HEAP32[($10 + 28 | 0) >> 2] | 0; + $16 = HEAP32[($10 + 4 | 0) >> 2] | 0; + btTriangleConvexcastCallback__btTriangleConvexcastCallback_28btConvexShape_20const__2c_20btTransform_20const__2c_20btTransform_20const__2c_20btTransform_20const__2c_20float_29($11 | 0, HEAP32[($10 + 24 | 0) >> 2] | 0 | 0, HEAP32[($10 + 20 | 0) >> 2] | 0 | 0, HEAP32[($10 + 16 | 0) >> 2] | 0 | 0, HEAP32[$10 >> 2] | 0 | 0, Math_fround(Math_fround(FUNCTION_TABLE[HEAP32[((HEAP32[$16 >> 2] | 0) + 48 | 0) >> 2] | 0 | 0]($16)))) | 0; + HEAP32[$11 >> 2] = 92360 + 8 | 0; + HEAP32[($11 + 212 | 0) >> 2] = HEAP32[($10 + 12 | 0) >> 2] | 0; + HEAP32[($11 + 216 | 0) >> 2] = HEAP32[($10 + 8 | 0) >> 2] | 0; + HEAP32[($11 + 220 | 0) >> 2] = HEAP32[($10 + 4 | 0) >> 2] | 0; + __stack_pointer = $10 + 32 | 0; + return $11 | 0; + } + + function btCollisionWorld__objectQuerySingleInternal_28btConvexShape_20const__2c_20btTransform_20const__2c_20btTransform_20const__2c_20btCollisionObjectWrapper_20const__2c_20btCollisionWorld__ConvexResultCallback__2c_20float_29__BridgeTriangleConvexcastCallback___BridgeTriangleConvexcastCallback_28_29($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + btTriangleConvexcastCallback___btTriangleConvexcastCallback_28_29($4 | 0) | 0; + __stack_pointer = $3 + 16 | 0; + return $4 | 0; + } + + function btCollisionWorld__objectQuerySingleInternal_28btConvexShape_20const__2c_20btTransform_20const__2c_20btTransform_20const__2c_20btCollisionObjectWrapper_20const__2c_20btCollisionWorld__ConvexResultCallback__2c_20float_29__BridgeTriangleConvexcastCallback__BridgeTriangleConvexcastCallback_28btConvexShape_20const__2c_20btTransform_20const__2c_20btTransform_20const__2c_20btCollisionWorld__ConvexResultCallback__2c_20btCollisionObject_20const__2c_20btConcaveShape__2c_20btTransform_20const__29($0, $1, $2, $3, $4, $5, $6, $7) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + $4 = $4 | 0; + $5 = $5 | 0; + $6 = $6 | 0; + $7 = $7 | 0; + var $10 = 0, $11 = 0, $16 = 0; + $10 = __stack_pointer - 32 | 0; + __stack_pointer = $10; + HEAP32[($10 + 28 | 0) >> 2] = $0; + HEAP32[($10 + 24 | 0) >> 2] = $1; + HEAP32[($10 + 20 | 0) >> 2] = $2; + HEAP32[($10 + 16 | 0) >> 2] = $3; + HEAP32[($10 + 12 | 0) >> 2] = $4; + HEAP32[($10 + 8 | 0) >> 2] = $5; + HEAP32[($10 + 4 | 0) >> 2] = $6; + HEAP32[$10 >> 2] = $7; + $11 = HEAP32[($10 + 28 | 0) >> 2] | 0; + $16 = HEAP32[($10 + 4 | 0) >> 2] | 0; + btTriangleConvexcastCallback__btTriangleConvexcastCallback_28btConvexShape_20const__2c_20btTransform_20const__2c_20btTransform_20const__2c_20btTransform_20const__2c_20float_29($11 | 0, HEAP32[($10 + 24 | 0) >> 2] | 0 | 0, HEAP32[($10 + 20 | 0) >> 2] | 0 | 0, HEAP32[($10 + 16 | 0) >> 2] | 0 | 0, HEAP32[$10 >> 2] | 0 | 0, Math_fround(Math_fround(FUNCTION_TABLE[HEAP32[((HEAP32[$16 >> 2] | 0) + 48 | 0) >> 2] | 0 | 0]($16)))) | 0; + HEAP32[$11 >> 2] = 92572 + 8 | 0; + HEAP32[($11 + 212 | 0) >> 2] = HEAP32[($10 + 12 | 0) >> 2] | 0; + HEAP32[($11 + 216 | 0) >> 2] = HEAP32[($10 + 8 | 0) >> 2] | 0; + HEAP32[($11 + 220 | 0) >> 2] = HEAP32[($10 + 4 | 0) >> 2] | 0; + __stack_pointer = $10 + 32 | 0; + return $11 | 0; + } + + function btCollisionWorld__objectQuerySingleInternal_28btConvexShape_20const__2c_20btTransform_20const__2c_20btTransform_20const__2c_20btCollisionObjectWrapper_20const__2c_20btCollisionWorld__ConvexResultCallback__2c_20float_29__BridgeTriangleConvexcastCallback___BridgeTriangleConvexcastCallback_28_29_1($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + btTriangleConvexcastCallback___btTriangleConvexcastCallback_28_29($4 | 0) | 0; + __stack_pointer = $3 + 16 | 0; + return $4 | 0; + } + + function btCollisionWorld__objectQuerySingleInternal_28btConvexShape_20const__2c_20btTransform_20const__2c_20btTransform_20const__2c_20btCollisionObjectWrapper_20const__2c_20btCollisionWorld__ConvexResultCallback__2c_20float_29__btCompoundLeafCallback__btCompoundLeafCallback_28btCollisionObjectWrapper_20const__2c_20btConvexShape_20const__2c_20btTransform_20const__2c_20btTransform_20const__2c_20float_2c_20btCompoundShape_20const__2c_20btTransform_20const__2c_20btCollisionWorld__ConvexResultCallback__29($0, $1, $2, $3, $4, $5, $6, $7, $8) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + $4 = $4 | 0; + $5 = Math_fround($5); + $6 = $6 | 0; + $7 = $7 | 0; + $8 = $8 | 0; + var $11 = 0, $12 = 0; + $11 = __stack_pointer - 48 | 0; + __stack_pointer = $11; + HEAP32[($11 + 44 | 0) >> 2] = $0; + HEAP32[($11 + 40 | 0) >> 2] = $1; + HEAP32[($11 + 36 | 0) >> 2] = $2; + HEAP32[($11 + 32 | 0) >> 2] = $3; + HEAP32[($11 + 28 | 0) >> 2] = $4; + HEAPF32[($11 + 24 | 0) >> 2] = $5; + HEAP32[($11 + 20 | 0) >> 2] = $6; + HEAP32[($11 + 16 | 0) >> 2] = $7; + HEAP32[($11 + 12 | 0) >> 2] = $8; + $12 = HEAP32[($11 + 44 | 0) >> 2] | 0; + btDbvt__ICollide__ICollide_28_29($12 | 0) | 0; + HEAP32[$12 >> 2] = 92788 + 8 | 0; + HEAP32[($12 + 4 | 0) >> 2] = HEAP32[($11 + 40 | 0) >> 2] | 0; + HEAP32[($12 + 8 | 0) >> 2] = HEAP32[($11 + 36 | 0) >> 2] | 0; + HEAP32[($12 + 12 | 0) >> 2] = HEAP32[($11 + 32 | 0) >> 2] | 0; + HEAP32[($12 + 16 | 0) >> 2] = HEAP32[($11 + 28 | 0) >> 2] | 0; + HEAPF32[($12 + 20 | 0) >> 2] = Math_fround(HEAPF32[($11 + 24 | 0) >> 2]); + HEAP32[($12 + 24 | 0) >> 2] = HEAP32[($11 + 20 | 0) >> 2] | 0; + HEAP32[($12 + 28 | 0) >> 2] = HEAP32[($11 + 16 | 0) >> 2] | 0; + HEAP32[($12 + 32 | 0) >> 2] = HEAP32[($11 + 12 | 0) >> 2] | 0; + __stack_pointer = $11 + 48 | 0; + return $12 | 0; + } + + function btCollisionWorld__objectQuerySingleInternal_28btConvexShape_20const__2c_20btTransform_20const__2c_20btTransform_20const__2c_20btCollisionObjectWrapper_20const__2c_20btCollisionWorld__ConvexResultCallback__2c_20float_29__btCompoundLeafCallback__ProcessChild_28int_2c_20btTransform_20const__2c_20btCollisionShape_20const__29($0, $1, $2, $3) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + var $6 = 0, $7 = 0; + $6 = __stack_pointer - 144 | 0; + __stack_pointer = $6; + HEAP32[($6 + 140 | 0) >> 2] = $0; + HEAP32[($6 + 136 | 0) >> 2] = $1; + HEAP32[($6 + 132 | 0) >> 2] = $2; + HEAP32[($6 + 128 | 0) >> 2] = $3; + $7 = HEAP32[($6 + 140 | 0) >> 2] | 0; + btTransform__operator__28btTransform_20const__29_20const($6 + 64 | 0 | 0, HEAP32[($7 + 28 | 0) >> 2] | 0 | 0, HEAP32[($6 + 132 | 0) >> 2] | 0 | 0); + btCollisionWorld__objectQuerySingleInternal_28btConvexShape_20const__2c_20btTransform_20const__2c_20btTransform_20const__2c_20btCollisionObjectWrapper_20const__2c_20btCollisionWorld__ConvexResultCallback__2c_20float_29__btCompoundLeafCallback__ProcessChild_28int_2c_20btTransform_20const__2c_20btCollisionShape_20const__29__LocalInfoAdder__LocalInfoAdder_28int_2c_20btCollisionWorld__ConvexResultCallback__2c_20btCollisionShape_20const__29($6 + 32 | 0 | 0, HEAP32[($6 + 136 | 0) >> 2] | 0 | 0, HEAP32[($7 + 32 | 0) >> 2] | 0 | 0, HEAP32[($6 + 128 | 0) >> 2] | 0 | 0) | 0; + btCollisionObjectWrapper__btCollisionObjectWrapper_28btCollisionObjectWrapper_20const__2c_20btCollisionShape_20const__2c_20btCollisionObject_20const__2c_20btTransform_20const__2c_20int_2c_20int_29($6 + 8 | 0 | 0, HEAP32[($7 + 4 | 0) >> 2] | 0 | 0, HEAP32[($6 + 128 | 0) >> 2] | 0 | 0, btCollisionObjectWrapper__getCollisionObject_28_29_20const(HEAP32[($7 + 4 | 0) >> 2] | 0 | 0) | 0 | 0, $6 + 64 | 0 | 0, -1 | 0, HEAP32[($6 + 136 | 0) >> 2] | 0 | 0) | 0; + btCollisionWorld__objectQuerySingleInternal_28btConvexShape_20const__2c_20btTransform_20const__2c_20btTransform_20const__2c_20btCollisionObjectWrapper_20const__2c_20btCollisionWorld__ConvexResultCallback__2c_20float_29(HEAP32[($7 + 8 | 0) >> 2] | 0 | 0, HEAP32[($7 + 12 | 0) >> 2] | 0 | 0, HEAP32[($7 + 16 | 0) >> 2] | 0 | 0, $6 + 8 | 0 | 0, $6 + 32 | 0 | 0, Math_fround(Math_fround(HEAPF32[($7 + 20 | 0) >> 2]))); + btCollisionWorld__objectQuerySingleInternal_28btConvexShape_20const__2c_20btTransform_20const__2c_20btTransform_20const__2c_20btCollisionObjectWrapper_20const__2c_20btCollisionWorld__ConvexResultCallback__2c_20float_29__btCompoundLeafCallback__ProcessChild_28int_2c_20btTransform_20const__2c_20btCollisionShape_20const__29__LocalInfoAdder___LocalInfoAdder_28_29($6 + 32 | 0 | 0) | 0; + __stack_pointer = $6 + 144 | 0; + return; + } + + function btCollisionWorld__objectQuerySingleInternal_28btConvexShape_20const__2c_20btTransform_20const__2c_20btTransform_20const__2c_20btCollisionObjectWrapper_20const__2c_20btCollisionWorld__ConvexResultCallback__2c_20float_29__btCompoundLeafCallback___btCompoundLeafCallback_28_29($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + btDbvt__ICollide___ICollide_28_29($4 | 0) | 0; + __stack_pointer = $3 + 16 | 0; + return $4 | 0; + } + + function btConvexPenetrationDepthSolver__btConvexPenetrationDepthSolver_28_29($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + HEAP32[$4 >> 2] = 92296 + 8 | 0; + return $4 | 0; + } + + function btConvexPenetrationDepthSolver___btConvexPenetrationDepthSolver_28_29($0) { + $0 = $0 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + return HEAP32[($3 + 12 | 0) >> 2] | 0 | 0; + } + + function btTriangleConvexcastCallback___btTriangleConvexcastCallback_28_29($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + btTriangleCallback___btTriangleCallback_28_29($4 | 0) | 0; + __stack_pointer = $3 + 16 | 0; + return $4 | 0; + } + + function btCollisionWorld__objectQuerySingleInternal_28btConvexShape_20const__2c_20btTransform_20const__2c_20btTransform_20const__2c_20btCollisionObjectWrapper_20const__2c_20btCollisionWorld__ConvexResultCallback__2c_20float_29__btCompoundLeafCallback__ProcessChild_28int_2c_20btTransform_20const__2c_20btCollisionShape_20const__29__LocalInfoAdder__LocalInfoAdder_28int_2c_20btCollisionWorld__ConvexResultCallback__2c_20btCollisionShape_20const__29($0, $1, $2, $3) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + var $6 = 0, $7 = 0; + $6 = __stack_pointer - 16 | 0; + __stack_pointer = $6; + HEAP32[($6 + 12 | 0) >> 2] = $0; + HEAP32[($6 + 8 | 0) >> 2] = $1; + HEAP32[($6 + 4 | 0) >> 2] = $2; + HEAP32[$6 >> 2] = $3; + $7 = HEAP32[($6 + 12 | 0) >> 2] | 0; + btCollisionWorld__ConvexResultCallback__ConvexResultCallback_28_29($7 | 0) | 0; + HEAP32[$7 >> 2] = 93004 + 8 | 0; + HEAP32[($7 + 20 | 0) >> 2] = HEAP32[$6 >> 2] | 0; + HEAP32[($7 + 24 | 0) >> 2] = HEAP32[($6 + 4 | 0) >> 2] | 0; + HEAP32[($7 + 28 | 0) >> 2] = HEAP32[($6 + 8 | 0) >> 2] | 0; + HEAPF32[($7 + 4 | 0) >> 2] = Math_fround(HEAPF32[((HEAP32[($7 + 24 | 0) >> 2] | 0) + 4 | 0) >> 2]); + __stack_pointer = $6 + 16 | 0; + return $7 | 0; + } + + function btCollisionWorld__objectQuerySingleInternal_28btConvexShape_20const__2c_20btTransform_20const__2c_20btTransform_20const__2c_20btCollisionObjectWrapper_20const__2c_20btCollisionWorld__ConvexResultCallback__2c_20float_29__btCompoundLeafCallback__ProcessChild_28int_2c_20btTransform_20const__2c_20btCollisionShape_20const__29__LocalInfoAdder___LocalInfoAdder_28_29($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + btCollisionWorld__ConvexResultCallback___ConvexResultCallback_28_29($4 | 0) | 0; + __stack_pointer = $3 + 16 | 0; + return $4 | 0; + } + + function btCollisionWorld__rayTest_28btVector3_20const__2c_20btVector3_20const__2c_20btCollisionWorld__RayResultCallback__29_20const($0, $1, $2, $3) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + var $6 = 0, $7 = 0, $14 = 0, $15 = 0, $16 = 0; + $6 = __stack_pointer - 304 | 0; + __stack_pointer = $6; + HEAP32[($6 + 300 | 0) >> 2] = $0; + HEAP32[($6 + 296 | 0) >> 2] = $1; + HEAP32[($6 + 292 | 0) >> 2] = $2; + HEAP32[($6 + 288 | 0) >> 2] = $3; + $7 = HEAP32[($6 + 300 | 0) >> 2] | 0; + btSingleRayCallback__btSingleRayCallback_28btVector3_20const__2c_20btVector3_20const__2c_20btCollisionWorld_20const__2c_20btCollisionWorld__RayResultCallback__29($6 + 68 | 0 | 0, HEAP32[($6 + 296 | 0) >> 2] | 0 | 0, HEAP32[($6 + 292 | 0) >> 2] | 0 | 0, $7 | 0, HEAP32[($6 + 288 | 0) >> 2] | 0 | 0) | 0; + $14 = HEAP32[($7 + 68 | 0) >> 2] | 0; + $15 = HEAP32[($6 + 296 | 0) >> 2] | 0; + $16 = HEAP32[($6 + 292 | 0) >> 2] | 0; + HEAPF32[($6 + 48 | 0) >> 2] = Math_fround(0 | 0); + HEAPF32[($6 + 44 | 0) >> 2] = Math_fround(0 | 0); + HEAPF32[($6 + 40 | 0) >> 2] = Math_fround(0 | 0); + btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($6 + 52 | 0 | 0, $6 + 48 | 0 | 0, $6 + 44 | 0 | 0, $6 + 40 | 0 | 0) | 0; + HEAPF32[($6 + 20 | 0) >> 2] = Math_fround(0 | 0); + HEAPF32[($6 + 16 | 0) >> 2] = Math_fround(0 | 0); + HEAPF32[($6 + 12 | 0) >> 2] = Math_fround(0 | 0); + btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($6 + 24 | 0 | 0, $6 + 20 | 0 | 0, $6 + 16 | 0 | 0, $6 + 12 | 0 | 0) | 0; + FUNCTION_TABLE[HEAP32[((HEAP32[$14 >> 2] | 0) + 24 | 0) >> 2] | 0 | 0]($14, $15, $16, $6 + 68 | 0, $6 + 52 | 0, $6 + 24 | 0); + btSingleRayCallback___btSingleRayCallback_28_29($6 + 68 | 0 | 0) | 0; + __stack_pointer = $6 + 304 | 0; + return; + } + + function btSingleRayCallback__btSingleRayCallback_28btVector3_20const__2c_20btVector3_20const__2c_20btCollisionWorld_20const__2c_20btCollisionWorld__RayResultCallback__29($0, $1, $2, $3, $4) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + $4 = $4 | 0; + var $7 = 0, $8 = 0, i64toi32_i32$2 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $123 = 0, $13 = 0, $16 = 0, $21 = 0, $24 = 0, $67 = Math_fround(0), $90 = Math_fround(0), $113 = Math_fround(0), $128 = 0.0, $195 = 0, $205 = 0, $214 = 0, $224 = 0, $158 = 0, wasm2js_i32$0 = 0, wasm2js_f32$0 = Math_fround(0), wasm2js_i32$1 = 0; + $7 = __stack_pointer - 64 | 0; + __stack_pointer = $7; + HEAP32[($7 + 56 | 0) >> 2] = $0; + HEAP32[($7 + 52 | 0) >> 2] = $1; + HEAP32[($7 + 48 | 0) >> 2] = $2; + HEAP32[($7 + 44 | 0) >> 2] = $3; + HEAP32[($7 + 40 | 0) >> 2] = $4; + $8 = HEAP32[($7 + 56 | 0) >> 2] | 0; + HEAP32[($7 + 60 | 0) >> 2] = $8; + btBroadphaseRayCallback__btBroadphaseRayCallback_28_29($8 | 0) | 0; + HEAP32[$8 >> 2] = 93264 + 8 | 0; + $13 = $8 + 36 | 0; + i64toi32_i32$2 = HEAP32[($7 + 52 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $195 = i64toi32_i32$0; + i64toi32_i32$0 = $13; + HEAP32[i64toi32_i32$0 >> 2] = $195; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $16 = 8; + i64toi32_i32$2 = i64toi32_i32$2 + $16 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $205 = i64toi32_i32$1; + i64toi32_i32$1 = $13 + $16 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $205; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + $21 = $8 + 52 | 0; + i64toi32_i32$2 = HEAP32[($7 + 48 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $214 = i64toi32_i32$0; + i64toi32_i32$0 = $21; + HEAP32[i64toi32_i32$0 >> 2] = $214; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $24 = 8; + i64toi32_i32$2 = i64toi32_i32$2 + $24 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $224 = i64toi32_i32$1; + i64toi32_i32$1 = $21 + $24 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $224; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + btTransform__btTransform_28_29($8 + 68 | 0 | 0) | 0; + btTransform__btTransform_28_29($8 + 132 | 0 | 0) | 0; + btVector3__btVector3_28_29($8 + 196 | 0 | 0) | 0; + HEAP32[($8 + 212 | 0) >> 2] = HEAP32[($7 + 44 | 0) >> 2] | 0; + HEAP32[($8 + 216 | 0) >> 2] = HEAP32[($7 + 40 | 0) >> 2] | 0; + btTransform__setIdentity_28_29($8 + 68 | 0 | 0); + btTransform__setOrigin_28btVector3_20const__29($8 + 68 | 0 | 0, $8 + 36 | 0 | 0); + btTransform__setIdentity_28_29($8 + 132 | 0 | 0); + btTransform__setOrigin_28btVector3_20const__29($8 + 132 | 0 | 0, $8 + 52 | 0 | 0); + operator__28btVector3_20const__2c_20btVector3_20const__29($7 + 24 | 0 | 0, HEAP32[($7 + 48 | 0) >> 2] | 0 | 0, HEAP32[($7 + 52 | 0) >> 2] | 0 | 0); + btVector3__normalize_28_29($7 + 24 | 0 | 0) | 0; + label$1 : { + label$2 : { + if (!(Math_fround(HEAPF32[(btVector3__operator_20float__28_29($7 + 24 | 0 | 0) | 0) >> 2]) == Math_fround(0 | 0) & 1 | 0)) { + break label$2 + } + $67 = Math_fround(999999984306749440.0); + break label$1; + } + $67 = Math_fround(Math_fround(1.0) / Math_fround(HEAPF32[(btVector3__operator_20float__28_29($7 + 24 | 0 | 0) | 0) >> 2])); + } + (wasm2js_i32$0 = btVector3__operator_20float__28_29($8 + 4 | 0 | 0) | 0, wasm2js_f32$0 = $67), HEAPF32[wasm2js_i32$0 >> 2] = wasm2js_f32$0; + label$3 : { + label$4 : { + if (!(Math_fround(HEAPF32[((btVector3__operator_20float__28_29($7 + 24 | 0 | 0) | 0) + 4 | 0) >> 2]) == Math_fround(0 | 0) & 1 | 0)) { + break label$4 + } + $90 = Math_fround(999999984306749440.0); + break label$3; + } + $90 = Math_fround(Math_fround(1.0) / Math_fround(HEAPF32[((btVector3__operator_20float__28_29($7 + 24 | 0 | 0) | 0) + 4 | 0) >> 2])); + } + (wasm2js_i32$0 = btVector3__operator_20float__28_29($8 + 4 | 0 | 0) | 0, wasm2js_f32$0 = $90), HEAPF32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_f32$0; + label$5 : { + label$6 : { + if (!(Math_fround(HEAPF32[((btVector3__operator_20float__28_29($7 + 24 | 0 | 0) | 0) + 8 | 0) >> 2]) == Math_fround(0 | 0) & 1 | 0)) { + break label$6 + } + $113 = Math_fround(999999984306749440.0); + break label$5; + } + $113 = Math_fround(Math_fround(1.0) / Math_fround(HEAPF32[((btVector3__operator_20float__28_29($7 + 24 | 0 | 0) | 0) + 8 | 0) >> 2])); + } + $123 = $8 + 4 | 0; + (wasm2js_i32$0 = btVector3__operator_20float__28_29($123 | 0) | 0, wasm2js_f32$0 = $113), HEAPF32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_f32$0; + $128 = 0.0; + (wasm2js_i32$0 = $8, wasm2js_i32$1 = +Math_fround(HEAPF32[(btVector3__operator_20float__28_29($123 | 0) | 0) >> 2]) < $128), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $8 + 24 | 0, wasm2js_i32$1 = +Math_fround(HEAPF32[((btVector3__operator_20float__28_29($123 | 0) | 0) + 4 | 0) >> 2]) < $128), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $8, wasm2js_i32$1 = +Math_fround(HEAPF32[((btVector3__operator_20float__28_29($123 | 0) | 0) + 8 | 0) >> 2]) < +(0 | 0) & 1 | 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$1; + operator__28btVector3_20const__2c_20btVector3_20const__29($7 + 8 | 0 | 0, $8 + 52 | 0 | 0, $8 + 36 | 0 | 0); + (wasm2js_i32$0 = $8, wasm2js_f32$0 = Math_fround(btVector3__dot_28btVector3_20const__29_20const($7 + 24 | 0 | 0, $7 + 8 | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 32 | 0) >> 2] = wasm2js_f32$0; + $158 = HEAP32[($7 + 60 | 0) >> 2] | 0; + __stack_pointer = $7 + 64 | 0; + return $158 | 0; + } + + function btSingleRayCallback___btSingleRayCallback_28_29($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + btBroadphaseRayCallback___btBroadphaseRayCallback_28_29($4 | 0) | 0; + __stack_pointer = $3 + 16 | 0; + return $4 | 0; + } + + function btBroadphaseRayCallback__btBroadphaseRayCallback_28_29($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + btBroadphaseAabbCallback__btBroadphaseAabbCallback_28_29($4 | 0) | 0; + HEAP32[$4 >> 2] = 93392 + 8 | 0; + btVector3__btVector3_28_29($4 + 4 | 0 | 0) | 0; + __stack_pointer = $3 + 16 | 0; + return $4 | 0; + } + + function btBroadphaseRayCallback___btBroadphaseRayCallback_28_29($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + btBroadphaseAabbCallback___btBroadphaseAabbCallback_28_29($4 | 0) | 0; + __stack_pointer = $3 + 16 | 0; + return $4 | 0; + } + + function btCollisionWorld__convexSweepTest_28btConvexShape_20const__2c_20btTransform_20const__2c_20btTransform_20const__2c_20btCollisionWorld__ConvexResultCallback__2c_20float_29_20const($0, $1, $2, $3, $4, $5) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + $4 = $4 | 0; + $5 = Math_fround($5); + var $8 = 0, $9 = 0, $117 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0, wasm2js_i32$2 = 0, wasm2js_i32$3 = 0, wasm2js_i32$4 = 0, wasm2js_i32$5 = 0, wasm2js_i32$6 = 0; + $8 = __stack_pointer - 528 | 0; + __stack_pointer = $8; + HEAP32[($8 + 524 | 0) >> 2] = $0; + HEAP32[($8 + 520 | 0) >> 2] = $1; + HEAP32[($8 + 516 | 0) >> 2] = $2; + HEAP32[($8 + 512 | 0) >> 2] = $3; + HEAP32[($8 + 508 | 0) >> 2] = $4; + HEAPF32[($8 + 504 | 0) >> 2] = $5; + $9 = HEAP32[($8 + 524 | 0) >> 2] | 0; + CProfileSample__CProfileSample_28char_20const__29($8 + 503 | 0 | 0, 67439 | 0) | 0; + btTransform__btTransform_28_29($8 + 436 | 0 | 0) | 0; + btTransform__btTransform_28_29($8 + 372 | 0 | 0) | 0; + btTransform__operator__28btTransform_20const__29($8 + 436 | 0 | 0, HEAP32[($8 + 516 | 0) >> 2] | 0 | 0) | 0; + btTransform__operator__28btTransform_20const__29($8 + 372 | 0 | 0, HEAP32[($8 + 512 | 0) >> 2] | 0 | 0) | 0; + btVector3__btVector3_28_29($8 + 356 | 0 | 0) | 0; + btVector3__btVector3_28_29($8 + 340 | 0 | 0) | 0; + btVector3__btVector3_28_29($8 + 324 | 0 | 0) | 0; + btVector3__btVector3_28_29($8 + 308 | 0 | 0) | 0; + btTransformUtil__calculateVelocity_28btTransform_20const__2c_20btTransform_20const__2c_20float_2c_20btVector3__2c_20btVector3__29($8 + 436 | 0 | 0, $8 + 372 | 0 | 0, Math_fround(Math_fround(1.0)), $8 + 324 | 0 | 0, $8 + 308 | 0 | 0); + btVector3__btVector3_28_29($8 + 292 | 0 | 0) | 0; + HEAPF32[($8 + 288 | 0) >> 2] = Math_fround(0 | 0); + HEAPF32[($8 + 284 | 0) >> 2] = Math_fround(0 | 0); + HEAPF32[($8 + 280 | 0) >> 2] = Math_fround(0 | 0); + btVector3__setValue_28float_20const__2c_20float_20const__2c_20float_20const__29($8 + 292 | 0 | 0, $8 + 288 | 0 | 0, $8 + 284 | 0 | 0, $8 + 280 | 0 | 0); + btTransform__btTransform_28_29($8 + 216 | 0 | 0) | 0; + btTransform__setIdentity_28_29($8 + 216 | 0 | 0); + btTransform__getRotation_28_29_20const($8 + 200 | 0 | 0, $8 + 436 | 0 | 0); + btTransform__setRotation_28btQuaternion_20const__29($8 + 216 | 0 | 0, $8 + 200 | 0 | 0); + btCollisionShape__calculateTemporalAabb_28btTransform_20const__2c_20btVector3_20const__2c_20btVector3_20const__2c_20float_2c_20btVector3__2c_20btVector3__29_20const(HEAP32[($8 + 520 | 0) >> 2] | 0 | 0, $8 + 216 | 0 | 0, $8 + 292 | 0 | 0, $8 + 308 | 0 | 0, Math_fround(Math_fround(1.0)), $8 + 356 | 0 | 0, $8 + 340 | 0 | 0); + btSingleSweepCallback__btSingleSweepCallback_28btConvexShape_20const__2c_20btTransform_20const__2c_20btTransform_20const__2c_20btCollisionWorld_20const__2c_20btCollisionWorld__ConvexResultCallback__2c_20float_29($8 + 4 | 0 | 0, HEAP32[($8 + 520 | 0) >> 2] | 0 | 0, HEAP32[($8 + 516 | 0) >> 2] | 0 | 0, HEAP32[($8 + 512 | 0) >> 2] | 0 | 0, $9 | 0, HEAP32[($8 + 508 | 0) >> 2] | 0 | 0, Math_fround(Math_fround(HEAPF32[($8 + 504 | 0) >> 2]))) | 0; + $117 = HEAP32[($9 + 68 | 0) >> 2] | 0; + ((((((wasm2js_i32$1 = $117, wasm2js_i32$2 = btTransform__getOrigin_28_29($8 + 436 | 0 | 0) | 0), wasm2js_i32$3 = btTransform__getOrigin_28_29($8 + 372 | 0 | 0) | 0), wasm2js_i32$4 = $8 + 4 | 0), wasm2js_i32$5 = $8 + 356 | 0), wasm2js_i32$6 = $8 + 340 | 0), wasm2js_i32$0 = HEAP32[((HEAP32[$117 >> 2] | 0) + 24 | 0) >> 2] | 0 | 0), FUNCTION_TABLE[wasm2js_i32$0](wasm2js_i32$1 | 0, wasm2js_i32$2 | 0, wasm2js_i32$3 | 0, wasm2js_i32$4 | 0, wasm2js_i32$5 | 0, wasm2js_i32$6 | 0); + btSingleSweepCallback___btSingleSweepCallback_28_29($8 + 4 | 0 | 0) | 0; + CProfileSample___CProfileSample_28_29($8 + 503 | 0 | 0) | 0; + __stack_pointer = $8 + 528 | 0; + return; + } + + function btTransformUtil__calculateVelocity_28btTransform_20const__2c_20btTransform_20const__2c_20float_2c_20btVector3__2c_20btVector3__29($0, $1, $2, $3, $4) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = Math_fround($2); + $3 = $3 | 0; + $4 = $4 | 0; + var $7 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, $24 = 0, $26 = 0, $61 = 0, $63 = 0, $121 = 0, $134 = 0, $192 = 0, $205 = 0; + $7 = __stack_pointer - 112 | 0; + __stack_pointer = $7; + HEAP32[($7 + 108 | 0) >> 2] = $0; + HEAP32[($7 + 104 | 0) >> 2] = $1; + HEAPF32[($7 + 100 | 0) >> 2] = $2; + HEAP32[($7 + 96 | 0) >> 2] = $3; + HEAP32[($7 + 92 | 0) >> 2] = $4; + operator__28btVector3_20const__2c_20btVector3_20const__29($7 + 60 | 0 | 0, btTransform__getOrigin_28_29_20const(HEAP32[($7 + 104 | 0) >> 2] | 0 | 0) | 0 | 0, btTransform__getOrigin_28_29_20const(HEAP32[($7 + 108 | 0) >> 2] | 0 | 0) | 0 | 0); + operator__28btVector3_20const__2c_20float_20const__29_1($7 + 76 | 0 | 0, $7 + 60 | 0 | 0, $7 + 100 | 0 | 0); + $24 = HEAP32[($7 + 96 | 0) >> 2] | 0; + i64toi32_i32$2 = $7; + i64toi32_i32$0 = HEAP32[($7 + 76 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($7 + 80 | 0) >> 2] | 0; + $121 = i64toi32_i32$0; + i64toi32_i32$0 = $24; + HEAP32[i64toi32_i32$0 >> 2] = $121; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $26 = 8; + i64toi32_i32$2 = ($7 + 76 | 0) + $26 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $134 = i64toi32_i32$1; + i64toi32_i32$1 = $24 + $26 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $134; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + btVector3__btVector3_28_29($7 + 44 | 0 | 0) | 0; + btTransformUtil__calculateDiffAxisAngle_28btTransform_20const__2c_20btTransform_20const__2c_20btVector3__2c_20float__29(HEAP32[($7 + 108 | 0) >> 2] | 0 | 0, HEAP32[($7 + 104 | 0) >> 2] | 0 | 0, $7 + 44 | 0 | 0, $7 + 40 | 0 | 0); + operator__28btVector3_20const__2c_20float_20const__29($7 + 8 | 0 | 0, $7 + 44 | 0 | 0, $7 + 40 | 0 | 0); + operator__28btVector3_20const__2c_20float_20const__29_1($7 + 24 | 0 | 0, $7 + 8 | 0 | 0, $7 + 100 | 0 | 0); + $61 = HEAP32[($7 + 92 | 0) >> 2] | 0; + i64toi32_i32$2 = $7; + i64toi32_i32$0 = HEAP32[($7 + 24 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($7 + 28 | 0) >> 2] | 0; + $192 = i64toi32_i32$0; + i64toi32_i32$0 = $61; + HEAP32[i64toi32_i32$0 >> 2] = $192; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $63 = 8; + i64toi32_i32$2 = ($7 + 24 | 0) + $63 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $205 = i64toi32_i32$1; + i64toi32_i32$1 = $61 + $63 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $205; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + __stack_pointer = $7 + 112 | 0; + return; + } + + function btTransform__getRotation_28_29_20const($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, $5 = 0; + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[($4 + 12 | 0) >> 2] = $1; + $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; + btQuaternion__btQuaternion_28_29($0 | 0) | 0; + btMatrix3x3__getRotation_28btQuaternion__29_20const($5 | 0, $0 | 0); + __stack_pointer = $4 + 16 | 0; + return; + } + + function btSingleSweepCallback__btSingleSweepCallback_28btConvexShape_20const__2c_20btTransform_20const__2c_20btTransform_20const__2c_20btCollisionWorld_20const__2c_20btCollisionWorld__ConvexResultCallback__2c_20float_29($0, $1, $2, $3, $4, $5, $6) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + $4 = $4 | 0; + $5 = $5 | 0; + $6 = Math_fround($6); + var $9 = 0, $10 = 0, $94 = 0, $48 = Math_fround(0), $67 = Math_fround(0), $86 = Math_fround(0), $99 = 0.0, $120 = 0, wasm2js_i32$0 = 0, wasm2js_f32$0 = Math_fround(0), wasm2js_i32$1 = 0; + $9 = __stack_pointer - 64 | 0; + __stack_pointer = $9; + HEAP32[($9 + 56 | 0) >> 2] = $0; + HEAP32[($9 + 52 | 0) >> 2] = $1; + HEAP32[($9 + 48 | 0) >> 2] = $2; + HEAP32[($9 + 44 | 0) >> 2] = $3; + HEAP32[($9 + 40 | 0) >> 2] = $4; + HEAP32[($9 + 36 | 0) >> 2] = $5; + HEAPF32[($9 + 32 | 0) >> 2] = $6; + $10 = HEAP32[($9 + 56 | 0) >> 2] | 0; + HEAP32[($9 + 60 | 0) >> 2] = $10; + btBroadphaseRayCallback__btBroadphaseRayCallback_28_29($10 | 0) | 0; + HEAP32[$10 >> 2] = 93432 + 8 | 0; + btTransform__btTransform_28btTransform_20const__29($10 + 36 | 0 | 0, HEAP32[($9 + 48 | 0) >> 2] | 0 | 0) | 0; + btTransform__btTransform_28btTransform_20const__29($10 + 100 | 0 | 0, HEAP32[($9 + 44 | 0) >> 2] | 0 | 0) | 0; + btVector3__btVector3_28_29($10 + 164 | 0 | 0) | 0; + HEAP32[($10 + 180 | 0) >> 2] = HEAP32[($9 + 40 | 0) >> 2] | 0; + HEAP32[($10 + 184 | 0) >> 2] = HEAP32[($9 + 36 | 0) >> 2] | 0; + HEAPF32[($10 + 188 | 0) >> 2] = Math_fround(HEAPF32[($9 + 32 | 0) >> 2]); + HEAP32[($10 + 192 | 0) >> 2] = HEAP32[($9 + 52 | 0) >> 2] | 0; + operator__28btVector3_20const__2c_20btVector3_20const__29($9 + 16 | 0 | 0, btTransform__getOrigin_28_29($10 + 100 | 0 | 0) | 0 | 0, btTransform__getOrigin_28_29($10 + 36 | 0 | 0) | 0 | 0); + btVector3__normalized_28_29_20const($9 | 0, $9 + 16 | 0 | 0); + label$1 : { + label$2 : { + if (!(Math_fround(HEAPF32[(btVector3__operator_20float__28_29($9 | 0) | 0) >> 2]) == Math_fround(0 | 0) & 1 | 0)) { + break label$2 + } + $48 = Math_fround(999999984306749440.0); + break label$1; + } + $48 = Math_fround(Math_fround(1.0) / Math_fround(HEAPF32[(btVector3__operator_20float__28_29($9 | 0) | 0) >> 2])); + } + (wasm2js_i32$0 = btVector3__operator_20float__28_29($10 + 4 | 0 | 0) | 0, wasm2js_f32$0 = $48), HEAPF32[wasm2js_i32$0 >> 2] = wasm2js_f32$0; + label$3 : { + label$4 : { + if (!(Math_fround(HEAPF32[((btVector3__operator_20float__28_29($9 | 0) | 0) + 4 | 0) >> 2]) == Math_fround(0 | 0) & 1 | 0)) { + break label$4 + } + $67 = Math_fround(999999984306749440.0); + break label$3; + } + $67 = Math_fround(Math_fround(1.0) / Math_fround(HEAPF32[((btVector3__operator_20float__28_29($9 | 0) | 0) + 4 | 0) >> 2])); + } + (wasm2js_i32$0 = btVector3__operator_20float__28_29($10 + 4 | 0 | 0) | 0, wasm2js_f32$0 = $67), HEAPF32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_f32$0; + label$5 : { + label$6 : { + if (!(Math_fround(HEAPF32[((btVector3__operator_20float__28_29($9 | 0) | 0) + 8 | 0) >> 2]) == Math_fround(0 | 0) & 1 | 0)) { + break label$6 + } + $86 = Math_fround(999999984306749440.0); + break label$5; + } + $86 = Math_fround(Math_fround(1.0) / Math_fround(HEAPF32[((btVector3__operator_20float__28_29($9 | 0) | 0) + 8 | 0) >> 2])); + } + $94 = $10 + 4 | 0; + (wasm2js_i32$0 = btVector3__operator_20float__28_29($94 | 0) | 0, wasm2js_f32$0 = $86), HEAPF32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_f32$0; + $99 = 0.0; + (wasm2js_i32$0 = $10, wasm2js_i32$1 = +Math_fround(HEAPF32[(btVector3__operator_20float__28_29($94 | 0) | 0) >> 2]) < $99), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $10 + 24 | 0, wasm2js_i32$1 = +Math_fround(HEAPF32[((btVector3__operator_20float__28_29($94 | 0) | 0) + 4 | 0) >> 2]) < $99), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $10, wasm2js_i32$1 = +Math_fround(HEAPF32[((btVector3__operator_20float__28_29($94 | 0) | 0) + 8 | 0) >> 2]) < +(0 | 0) & 1 | 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $10, wasm2js_f32$0 = Math_fround(btVector3__dot_28btVector3_20const__29_20const($9 | 0, $9 + 16 | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 32 | 0) >> 2] = wasm2js_f32$0; + $120 = HEAP32[($9 + 60 | 0) >> 2] | 0; + __stack_pointer = $9 + 64 | 0; + return $120 | 0; + } + + function btSingleSweepCallback___btSingleSweepCallback_28_29($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + btBroadphaseRayCallback___btBroadphaseRayCallback_28_29($4 | 0) | 0; + __stack_pointer = $3 + 16 | 0; + return $4 | 0; + } + + function btTransformUtil__calculateDiffAxisAngle_28btTransform_20const__2c_20btTransform_20const__2c_20btVector3__2c_20float__29($0, $1, $2, $3) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + var $6 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, $52 = 0, $54 = 0, $88 = 0, $90 = 0, $8 = 0, $35 = Math_fround(0), $206 = 0, $219 = 0, $280 = 0, $293 = 0, wasm2js_i32$0 = 0, wasm2js_f32$0 = Math_fround(0); + $6 = __stack_pointer - 192 | 0; + __stack_pointer = $6; + HEAP32[($6 + 188 | 0) >> 2] = $0; + HEAP32[($6 + 184 | 0) >> 2] = $1; + HEAP32[($6 + 180 | 0) >> 2] = $2; + HEAP32[($6 + 176 | 0) >> 2] = $3; + $8 = btTransform__getBasis_28_29_20const(HEAP32[($6 + 184 | 0) >> 2] | 0 | 0) | 0; + btMatrix3x3__inverse_28_29_20const($6 + 80 | 0 | 0, btTransform__getBasis_28_29_20const(HEAP32[($6 + 188 | 0) >> 2] | 0 | 0) | 0 | 0); + operator__28btMatrix3x3_20const__2c_20btMatrix3x3_20const__29($6 + 128 | 0 | 0, $8 | 0, $6 + 80 | 0 | 0); + btQuaternion__btQuaternion_28_29($6 + 64 | 0 | 0) | 0; + btMatrix3x3__getRotation_28btQuaternion__29_20const($6 + 128 | 0 | 0, $6 + 64 | 0 | 0); + btQuaternion__normalize_28_29($6 + 64 | 0 | 0) | 0; + $35 = Math_fround(btQuaternion__getAngle_28_29_20const($6 + 64 | 0 | 0)); + HEAPF32[(HEAP32[($6 + 176 | 0) >> 2] | 0) >> 2] = $35; + btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($6 + 48 | 0 | 0, btQuadWord__x_28_29_20const($6 + 64 | 0 | 0) | 0 | 0, btQuadWord__y_28_29_20const($6 + 64 | 0 | 0) | 0 | 0, btQuadWord__z_28_29_20const($6 + 64 | 0 | 0) | 0 | 0) | 0; + $52 = HEAP32[($6 + 180 | 0) >> 2] | 0; + i64toi32_i32$2 = $6; + i64toi32_i32$0 = HEAP32[($6 + 48 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($6 + 52 | 0) >> 2] | 0; + $206 = i64toi32_i32$0; + i64toi32_i32$0 = $52; + HEAP32[i64toi32_i32$0 >> 2] = $206; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $54 = 8; + i64toi32_i32$2 = ($6 + 48 | 0) + $54 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $219 = i64toi32_i32$1; + i64toi32_i32$1 = $52 + $54 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $219; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + (wasm2js_i32$0 = btVector3__operator_20float__28_29(HEAP32[($6 + 180 | 0) >> 2] | 0 | 0) | 0, wasm2js_f32$0 = Math_fround(0 | 0)), HEAPF32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_f32$0; + (wasm2js_i32$0 = $6, wasm2js_f32$0 = Math_fround(btVector3__length2_28_29_20const(HEAP32[($6 + 180 | 0) >> 2] | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 44 | 0) >> 2] = wasm2js_f32$0; + label$1 : { + label$2 : { + if (!(Math_fround(HEAPF32[($6 + 44 | 0) >> 2]) < Math_fround(1.4210854715202004e-14) & 1 | 0)) { + break label$2 + } + HEAPF32[($6 + 24 | 0) >> 2] = Math_fround(1.0); + HEAPF32[($6 + 20 | 0) >> 2] = Math_fround(0 | 0); + HEAPF32[($6 + 16 | 0) >> 2] = Math_fround(0 | 0); + btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($6 + 28 | 0 | 0, $6 + 24 | 0 | 0, $6 + 20 | 0 | 0, $6 + 16 | 0 | 0) | 0; + $88 = HEAP32[($6 + 180 | 0) >> 2] | 0; + i64toi32_i32$2 = $6; + i64toi32_i32$0 = HEAP32[($6 + 28 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($6 + 32 | 0) >> 2] | 0; + $280 = i64toi32_i32$0; + i64toi32_i32$0 = $88; + HEAP32[i64toi32_i32$0 >> 2] = $280; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $90 = 8; + i64toi32_i32$2 = ($6 + 28 | 0) + $90 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $293 = i64toi32_i32$1; + i64toi32_i32$1 = $88 + $90 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $293; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + break label$1; + } + (wasm2js_i32$0 = $6, wasm2js_f32$0 = Math_fround(btSqrt_28float_29(Math_fround(Math_fround(HEAPF32[($6 + 44 | 0) >> 2]))))), HEAPF32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_f32$0; + btVector3__operator___28float_20const__29(HEAP32[($6 + 180 | 0) >> 2] | 0 | 0, $6 + 12 | 0 | 0) | 0; + } + __stack_pointer = $6 + 192 | 0; + return; + } + + function btQuaternion__btQuaternion_28_29($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + btQuadWord__btQuadWord_28_29($4 | 0) | 0; + __stack_pointer = $3 + 16 | 0; + return $4 | 0; + } + + function btVector3__normalized_28_29_20const($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, $4 = 0, $5 = 0, $6 = 0, $18 = 0, $45 = 0, $49 = 0, $59 = 0, $69 = 0; + $4 = __stack_pointer - 32 | 0; + __stack_pointer = $4; + HEAP32[($4 + 28 | 0) >> 2] = $1; + $5 = HEAP32[($4 + 28 | 0) >> 2] | 0; + $6 = 8; + i64toi32_i32$2 = $5 + $6 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $45 = i64toi32_i32$0; + i64toi32_i32$0 = ($4 + 8 | 0) + $6 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $45; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$2 = $5; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $49 = i64toi32_i32$1; + i64toi32_i32$1 = $4; + HEAP32[(i64toi32_i32$1 + 8 | 0) >> 2] = $49; + HEAP32[(i64toi32_i32$1 + 12 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$2 = btVector3__normalize_28_29(i64toi32_i32$1 + 8 | 0 | 0) | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $59 = i64toi32_i32$0; + i64toi32_i32$0 = $0; + HEAP32[i64toi32_i32$0 >> 2] = $59; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $18 = 8; + i64toi32_i32$2 = i64toi32_i32$2 + $18 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $69 = i64toi32_i32$1; + i64toi32_i32$1 = $0 + $18 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $69; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + __stack_pointer = $4 + 32 | 0; + return; + } + + function btBroadphaseAabbCallback__btBroadphaseAabbCallback_28_29($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + HEAP32[$4 >> 2] = 93412 + 8 | 0; + return $4 | 0; + } + + function btBroadphaseAabbCallback___btBroadphaseAabbCallback_28_29($0) { + $0 = $0 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + return HEAP32[($3 + 12 | 0) >> 2] | 0 | 0; + } + + function btCollisionWorld__debugDrawObject_28btTransform_20const__2c_20btCollisionShape_20const__2c_20btVector3_20const__29($0, $1, $2, $3) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + var $6 = 0, $7 = 0, $19 = 0, $27 = 0, $79 = 0, $88 = 0, $106 = 0, $112 = 0, $144 = 0, $173 = 0, $190 = 0, $201 = 0, $220 = 0, $236 = 0, $335 = 0, $379 = 0, $431 = 0, $471 = 0, $486 = 0, $512 = 0, $568 = 0, $631 = 0, $642 = 0, $147 = Math_fround(0), $439 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0, wasm2js_f32$0 = Math_fround(0); + $6 = __stack_pointer - 976 | 0; + __stack_pointer = $6; + HEAP32[($6 + 972 | 0) >> 2] = $0; + HEAP32[($6 + 968 | 0) >> 2] = $1; + HEAP32[($6 + 964 | 0) >> 2] = $2; + HEAP32[($6 + 960 | 0) >> 2] = $3; + $7 = HEAP32[($6 + 972 | 0) >> 2] | 0; + label$1 : { + if (!((FUNCTION_TABLE[HEAP32[((HEAP32[$7 >> 2] | 0) + 20 | 0) >> 2] | 0 | 0]($7) | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + $19 = FUNCTION_TABLE[HEAP32[((HEAP32[$7 >> 2] | 0) + 20 | 0) >> 2] | 0 | 0]($7) | 0; + if (!((FUNCTION_TABLE[HEAP32[((HEAP32[$19 >> 2] | 0) + 56 | 0) >> 2] | 0 | 0]($19) | 0) & 32768 | 0)) { + break label$1 + } + $27 = FUNCTION_TABLE[HEAP32[((HEAP32[$7 >> 2] | 0) + 20 | 0) >> 2] | 0 | 0]($7) | 0; + FUNCTION_TABLE[HEAP32[((HEAP32[$27 >> 2] | 0) + 64 | 0) >> 2] | 0 | 0]($27, HEAP32[($6 + 968 | 0) >> 2] | 0, Math_fround(.10000000149011612)); + } + label$2 : { + label$3 : { + if (!((btCollisionShape__getShapeType_28_29_20const(HEAP32[($6 + 964 | 0) >> 2] | 0 | 0) | 0 | 0) == (31 | 0) & 1 | 0)) { + break label$3 + } + HEAP32[($6 + 956 | 0) >> 2] = HEAP32[($6 + 964 | 0) >> 2] | 0; + (wasm2js_i32$0 = $6, wasm2js_i32$1 = (btCompoundShape__getNumChildShapes_28_29_20const(HEAP32[($6 + 956 | 0) >> 2] | 0 | 0) | 0) - 1 | 0), HEAP32[(wasm2js_i32$0 + 952 | 0) >> 2] = wasm2js_i32$1; + label$4 : { + label$5 : while (1) { + if (!((HEAP32[($6 + 952 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0)) { + break label$4 + } + btTransform__btTransform_28btTransform_20const__29($6 + 888 | 0 | 0, btCompoundShape__getChildTransform_28int_29_20const(HEAP32[($6 + 956 | 0) >> 2] | 0 | 0, HEAP32[($6 + 952 | 0) >> 2] | 0 | 0) | 0 | 0) | 0; + (wasm2js_i32$0 = $6, wasm2js_i32$1 = btCompoundShape__getChildShape_28int_29_20const(HEAP32[($6 + 956 | 0) >> 2] | 0 | 0, HEAP32[($6 + 952 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 884 | 0) >> 2] = wasm2js_i32$1; + btTransform__operator__28btTransform_20const__29_20const($6 + 820 | 0 | 0, HEAP32[($6 + 968 | 0) >> 2] | 0 | 0, $6 + 888 | 0 | 0); + FUNCTION_TABLE[HEAP32[((HEAP32[$7 >> 2] | 0) + 28 | 0) >> 2] | 0 | 0]($7, $6 + 820 | 0, HEAP32[($6 + 884 | 0) >> 2] | 0, HEAP32[($6 + 960 | 0) >> 2] | 0); + HEAP32[($6 + 952 | 0) >> 2] = (HEAP32[($6 + 952 | 0) >> 2] | 0) + -1 | 0; + continue label$5; + }; + } + break label$2; + } + $79 = btCollisionShape__getShapeType_28_29_20const(HEAP32[($6 + 964 | 0) >> 2] | 0 | 0) | 0; + label$6 : { + label$7 : { + switch ($79 | 0) { + case 0: + HEAP32[($6 + 816 | 0) >> 2] = HEAP32[($6 + 964 | 0) >> 2] | 0; + btBoxShape__getHalfExtentsWithMargin_28_29_20const($6 + 800 | 0 | 0, HEAP32[($6 + 816 | 0) >> 2] | 0 | 0); + $88 = FUNCTION_TABLE[HEAP32[((HEAP32[$7 >> 2] | 0) + 20 | 0) >> 2] | 0 | 0]($7) | 0; + operator__28btVector3_20const__29($6 + 784 | 0 | 0, $6 + 800 | 0 | 0); + FUNCTION_TABLE[HEAP32[((HEAP32[$88 >> 2] | 0) + 80 | 0) >> 2] | 0 | 0]($88, $6 + 784 | 0, $6 + 800 | 0, HEAP32[($6 + 968 | 0) >> 2] | 0, HEAP32[($6 + 960 | 0) >> 2] | 0); + break label$6; + case 8: + HEAP32[($6 + 780 | 0) >> 2] = HEAP32[($6 + 964 | 0) >> 2] | 0; + $106 = HEAP32[($6 + 780 | 0) >> 2] | 0; + (wasm2js_i32$0 = $6, wasm2js_f32$0 = Math_fround(FUNCTION_TABLE[HEAP32[((HEAP32[$106 >> 2] | 0) + 48 | 0) >> 2] | 0 | 0]($106))), HEAPF32[(wasm2js_i32$0 + 776 | 0) >> 2] = wasm2js_f32$0; + $112 = FUNCTION_TABLE[HEAP32[((HEAP32[$7 >> 2] | 0) + 20 | 0) >> 2] | 0 | 0]($7) | 0; + FUNCTION_TABLE[HEAP32[((HEAP32[$112 >> 2] | 0) + 24 | 0) >> 2] | 0 | 0]($112, Math_fround(HEAPF32[($6 + 776 | 0) >> 2]), HEAP32[($6 + 968 | 0) >> 2] | 0, HEAP32[($6 + 960 | 0) >> 2] | 0); + break label$6; + case 9: + HEAP32[($6 + 772 | 0) >> 2] = HEAP32[($6 + 964 | 0) >> 2] | 0; + btTransform__btTransform_28_29($6 + 708 | 0 | 0) | 0; + btTransform__setIdentity_28_29($6 + 708 | 0 | 0); + (wasm2js_i32$0 = $6, wasm2js_i32$1 = (btMultiSphereShape__getSphereCount_28_29_20const(HEAP32[($6 + 772 | 0) >> 2] | 0 | 0) | 0) - 1 | 0), HEAP32[(wasm2js_i32$0 + 704 | 0) >> 2] = wasm2js_i32$1; + label$15 : { + label$16 : while (1) { + if (!((HEAP32[($6 + 704 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0)) { + break label$15 + } + btTransform__setOrigin_28btVector3_20const__29($6 + 708 | 0 | 0, btMultiSphereShape__getSpherePosition_28int_29_20const(HEAP32[($6 + 772 | 0) >> 2] | 0 | 0, HEAP32[($6 + 704 | 0) >> 2] | 0 | 0) | 0 | 0); + $144 = FUNCTION_TABLE[HEAP32[((HEAP32[$7 >> 2] | 0) + 20 | 0) >> 2] | 0 | 0]($7) | 0; + $147 = Math_fround(btMultiSphereShape__getSphereRadius_28int_29_20const(HEAP32[($6 + 772 | 0) >> 2] | 0 | 0, HEAP32[($6 + 704 | 0) >> 2] | 0 | 0)); + btTransform__operator__28btTransform_20const__29_20const($6 + 640 | 0 | 0, HEAP32[($6 + 968 | 0) >> 2] | 0 | 0, $6 + 708 | 0 | 0); + FUNCTION_TABLE[HEAP32[((HEAP32[$144 >> 2] | 0) + 24 | 0) >> 2] | 0 | 0]($144, $147, $6 + 640 | 0, HEAP32[($6 + 960 | 0) >> 2] | 0); + HEAP32[($6 + 704 | 0) >> 2] = (HEAP32[($6 + 704 | 0) >> 2] | 0) + -1 | 0; + continue label$16; + }; + } + break label$6; + case 10: + HEAP32[($6 + 636 | 0) >> 2] = HEAP32[($6 + 964 | 0) >> 2] | 0; + (wasm2js_i32$0 = $6, wasm2js_f32$0 = Math_fround(btCapsuleShape__getRadius_28_29_20const(HEAP32[($6 + 636 | 0) >> 2] | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 632 | 0) >> 2] = wasm2js_f32$0; + (wasm2js_i32$0 = $6, wasm2js_f32$0 = Math_fround(btCapsuleShape__getHalfHeight_28_29_20const(HEAP32[($6 + 636 | 0) >> 2] | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 628 | 0) >> 2] = wasm2js_f32$0; + (wasm2js_i32$0 = $6, wasm2js_i32$1 = btCapsuleShape__getUpAxis_28_29_20const(HEAP32[($6 + 636 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 624 | 0) >> 2] = wasm2js_i32$1; + $173 = FUNCTION_TABLE[HEAP32[((HEAP32[$7 >> 2] | 0) + 20 | 0) >> 2] | 0 | 0]($7) | 0; + FUNCTION_TABLE[HEAP32[((HEAP32[$173 >> 2] | 0) + 84 | 0) >> 2] | 0 | 0]($173, Math_fround(HEAPF32[($6 + 632 | 0) >> 2]), Math_fround(HEAPF32[($6 + 628 | 0) >> 2]), HEAP32[($6 + 624 | 0) >> 2] | 0, HEAP32[($6 + 968 | 0) >> 2] | 0, HEAP32[($6 + 960 | 0) >> 2] | 0); + break label$6; + case 11: + HEAP32[($6 + 620 | 0) >> 2] = HEAP32[($6 + 964 | 0) >> 2] | 0; + (wasm2js_i32$0 = $6, wasm2js_f32$0 = Math_fround(btConeShape__getRadius_28_29_20const(HEAP32[($6 + 620 | 0) >> 2] | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 616 | 0) >> 2] = wasm2js_f32$0; + (wasm2js_i32$0 = $6, wasm2js_f32$0 = Math_fround(btConeShape__getHeight_28_29_20const(HEAP32[($6 + 620 | 0) >> 2] | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 612 | 0) >> 2] = wasm2js_f32$0; + (wasm2js_i32$0 = $6, wasm2js_i32$1 = btConeShape__getConeUpIndex_28_29_20const(HEAP32[($6 + 620 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 608 | 0) >> 2] = wasm2js_i32$1; + $190 = FUNCTION_TABLE[HEAP32[((HEAP32[$7 >> 2] | 0) + 20 | 0) >> 2] | 0 | 0]($7) | 0; + FUNCTION_TABLE[HEAP32[((HEAP32[$190 >> 2] | 0) + 92 | 0) >> 2] | 0 | 0]($190, Math_fround(HEAPF32[($6 + 616 | 0) >> 2]), Math_fround(HEAPF32[($6 + 612 | 0) >> 2]), HEAP32[($6 + 608 | 0) >> 2] | 0, HEAP32[($6 + 968 | 0) >> 2] | 0, HEAP32[($6 + 960 | 0) >> 2] | 0); + break label$6; + case 13: + HEAP32[($6 + 604 | 0) >> 2] = HEAP32[($6 + 964 | 0) >> 2] | 0; + (wasm2js_i32$0 = $6, wasm2js_i32$1 = btCylinderShape__getUpAxis_28_29_20const(HEAP32[($6 + 604 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 600 | 0) >> 2] = wasm2js_i32$1; + $201 = HEAP32[($6 + 604 | 0) >> 2] | 0; + (wasm2js_i32$0 = $6, wasm2js_f32$0 = Math_fround(FUNCTION_TABLE[HEAP32[((HEAP32[$201 >> 2] | 0) + 92 | 0) >> 2] | 0 | 0]($201))), HEAPF32[(wasm2js_i32$0 + 596 | 0) >> 2] = wasm2js_f32$0; + btCylinderShape__getHalfExtentsWithMargin_28_29_20const($6 + 576 | 0 | 0, HEAP32[($6 + 604 | 0) >> 2] | 0 | 0); + (wasm2js_i32$0 = $6, wasm2js_f32$0 = Math_fround(HEAPF32[((btVector3__operator_20float__28_29($6 + 576 | 0 | 0) | 0) + ((HEAP32[($6 + 600 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2])), HEAPF32[(wasm2js_i32$0 + 592 | 0) >> 2] = wasm2js_f32$0; + $220 = FUNCTION_TABLE[HEAP32[((HEAP32[$7 >> 2] | 0) + 20 | 0) >> 2] | 0 | 0]($7) | 0; + FUNCTION_TABLE[HEAP32[((HEAP32[$220 >> 2] | 0) + 88 | 0) >> 2] | 0 | 0]($220, Math_fround(HEAPF32[($6 + 596 | 0) >> 2]), Math_fround(HEAPF32[($6 + 592 | 0) >> 2]), HEAP32[($6 + 600 | 0) >> 2] | 0, HEAP32[($6 + 968 | 0) >> 2] | 0, HEAP32[($6 + 960 | 0) >> 2] | 0); + break label$6; + case 28: + HEAP32[($6 + 572 | 0) >> 2] = HEAP32[($6 + 964 | 0) >> 2] | 0; + (wasm2js_i32$0 = $6, wasm2js_f32$0 = Math_fround(HEAPF32[(btStaticPlaneShape__getPlaneConstant_28_29_20const(HEAP32[($6 + 572 | 0) >> 2] | 0 | 0) | 0) >> 2])), HEAPF32[(wasm2js_i32$0 + 568 | 0) >> 2] = wasm2js_f32$0; + (wasm2js_i32$0 = $6, wasm2js_i32$1 = btStaticPlaneShape__getPlaneNormal_28_29_20const(HEAP32[($6 + 572 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 564 | 0) >> 2] = wasm2js_i32$1; + $236 = FUNCTION_TABLE[HEAP32[((HEAP32[$7 >> 2] | 0) + 20 | 0) >> 2] | 0 | 0]($7) | 0; + FUNCTION_TABLE[HEAP32[((HEAP32[$236 >> 2] | 0) + 96 | 0) >> 2] | 0 | 0]($236, HEAP32[($6 + 564 | 0) >> 2] | 0, Math_fround(HEAPF32[($6 + 568 | 0) >> 2]), HEAP32[($6 + 968 | 0) >> 2] | 0, HEAP32[($6 + 960 | 0) >> 2] | 0); + break label$6; + default: + break label$7; + }; + } + label$17 : { + if (!((btCollisionShape__isPolyhedral_28_29_20const(HEAP32[($6 + 964 | 0) >> 2] | 0 | 0) | 0) & 1 | 0)) { + break label$17 + } + HEAP32[($6 + 560 | 0) >> 2] = HEAP32[($6 + 964 | 0) >> 2] | 0; + label$18 : { + label$19 : { + if (!((btPolyhedralConvexShape__getConvexPolyhedron_28_29_20const(HEAP32[($6 + 560 | 0) >> 2] | 0 | 0) | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$19 + } + (wasm2js_i32$0 = $6, wasm2js_i32$1 = btPolyhedralConvexShape__getConvexPolyhedron_28_29_20const(HEAP32[($6 + 560 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 552 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($6 + 556 | 0) >> 2] = 0; + label$20 : { + label$21 : while (1) { + if (!((HEAP32[($6 + 556 | 0) >> 2] | 0 | 0) < (btAlignedObjectArray_btFace___size_28_29_20const((HEAP32[($6 + 552 | 0) >> 2] | 0) + 24 | 0 | 0) | 0 | 0) & 1 | 0)) { + break label$20 + } + HEAPF32[($6 + 532 | 0) >> 2] = Math_fround(0 | 0); + HEAPF32[($6 + 528 | 0) >> 2] = Math_fround(0 | 0); + HEAPF32[($6 + 524 | 0) >> 2] = Math_fround(0 | 0); + btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($6 + 536 | 0 | 0, $6 + 532 | 0 | 0, $6 + 528 | 0 | 0, $6 + 524 | 0 | 0) | 0; + (wasm2js_i32$0 = $6, wasm2js_i32$1 = btAlignedObjectArray_int___size_28_29_20const(btAlignedObjectArray_btFace___operator_5b_5d_28int_29_20const((HEAP32[($6 + 552 | 0) >> 2] | 0) + 24 | 0 | 0, HEAP32[($6 + 556 | 0) >> 2] | 0 | 0) | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 520 | 0) >> 2] = wasm2js_i32$1; + label$22 : { + if (!(HEAP32[($6 + 520 | 0) >> 2] | 0)) { + break label$22 + } + (wasm2js_i32$0 = $6, wasm2js_i32$1 = HEAP32[(btAlignedObjectArray_int___operator_5b_5d_28int_29_20const(btAlignedObjectArray_btFace___operator_5b_5d_28int_29_20const((HEAP32[($6 + 552 | 0) >> 2] | 0) + 24 | 0 | 0, HEAP32[($6 + 556 | 0) >> 2] | 0 | 0) | 0 | 0, (HEAP32[($6 + 520 | 0) >> 2] | 0) - 1 | 0 | 0) | 0) >> 2] | 0), HEAP32[(wasm2js_i32$0 + 516 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($6 + 512 | 0) >> 2] = 0; + label$23 : { + label$24 : while (1) { + if (!((HEAP32[($6 + 512 | 0) >> 2] | 0 | 0) < (btAlignedObjectArray_int___size_28_29_20const(btAlignedObjectArray_btFace___operator_5b_5d_28int_29_20const((HEAP32[($6 + 552 | 0) >> 2] | 0) + 24 | 0 | 0, HEAP32[($6 + 556 | 0) >> 2] | 0 | 0) | 0 | 0) | 0 | 0) & 1 | 0)) { + break label$23 + } + (wasm2js_i32$0 = $6, wasm2js_i32$1 = HEAP32[(btAlignedObjectArray_int___operator_5b_5d_28int_29_20const(btAlignedObjectArray_btFace___operator_5b_5d_28int_29_20const((HEAP32[($6 + 552 | 0) >> 2] | 0) + 24 | 0 | 0, HEAP32[($6 + 556 | 0) >> 2] | 0 | 0) | 0 | 0, HEAP32[($6 + 512 | 0) >> 2] | 0 | 0) | 0) >> 2] | 0), HEAP32[(wasm2js_i32$0 + 508 | 0) >> 2] = wasm2js_i32$1; + btVector3__operator___28btVector3_20const__29_1($6 + 536 | 0 | 0, btAlignedObjectArray_btVector3___operator_5b_5d_28int_29_20const((HEAP32[($6 + 552 | 0) >> 2] | 0) + 4 | 0 | 0, HEAP32[($6 + 508 | 0) >> 2] | 0 | 0) | 0 | 0) | 0; + $335 = FUNCTION_TABLE[HEAP32[((HEAP32[$7 >> 2] | 0) + 20 | 0) >> 2] | 0 | 0]($7) | 0; + btTransform__operator__28btVector3_20const__29_20const($6 + 492 | 0 | 0, HEAP32[($6 + 968 | 0) >> 2] | 0 | 0, btAlignedObjectArray_btVector3___operator_5b_5d_28int_29_20const((HEAP32[($6 + 552 | 0) >> 2] | 0) + 4 | 0 | 0, HEAP32[($6 + 516 | 0) >> 2] | 0 | 0) | 0 | 0); + btTransform__operator__28btVector3_20const__29_20const($6 + 476 | 0 | 0, HEAP32[($6 + 968 | 0) >> 2] | 0 | 0, btAlignedObjectArray_btVector3___operator_5b_5d_28int_29_20const((HEAP32[($6 + 552 | 0) >> 2] | 0) + 4 | 0 | 0, HEAP32[($6 + 508 | 0) >> 2] | 0 | 0) | 0 | 0); + FUNCTION_TABLE[HEAP32[((HEAP32[$335 >> 2] | 0) + 16 | 0) >> 2] | 0 | 0]($335, $6 + 492 | 0, $6 + 476 | 0, HEAP32[($6 + 960 | 0) >> 2] | 0); + HEAP32[($6 + 516 | 0) >> 2] = HEAP32[($6 + 508 | 0) >> 2] | 0; + HEAP32[($6 + 512 | 0) >> 2] = (HEAP32[($6 + 512 | 0) >> 2] | 0) + 1 | 0; + continue label$24; + }; + } + } + HEAPF32[($6 + 472 | 0) >> 2] = Math_fround(Math_fround(1.0) / Math_fround(HEAP32[($6 + 520 | 0) >> 2] | 0 | 0)); + btVector3__operator___28float_20const__29_1($6 + 536 | 0 | 0, $6 + 472 | 0 | 0) | 0; + $379 = FUNCTION_TABLE[HEAP32[((HEAP32[$7 >> 2] | 0) + 20 | 0) >> 2] | 0 | 0]($7) | 0; + label$25 : { + if (!((FUNCTION_TABLE[HEAP32[((HEAP32[$379 >> 2] | 0) + 56 | 0) >> 2] | 0 | 0]($379) | 0) & 16384 | 0)) { + break label$25 + } + HEAPF32[($6 + 452 | 0) >> 2] = Math_fround(1.0); + HEAPF32[($6 + 448 | 0) >> 2] = Math_fround(1.0); + HEAPF32[($6 + 444 | 0) >> 2] = Math_fround(0 | 0); + btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($6 + 456 | 0 | 0, $6 + 452 | 0 | 0, $6 + 448 | 0 | 0, $6 + 444 | 0 | 0) | 0; + btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($6 + 428 | 0 | 0, (btAlignedObjectArray_btFace___operator_5b_5d_28int_29_20const((HEAP32[($6 + 552 | 0) >> 2] | 0) + 24 | 0 | 0, HEAP32[($6 + 556 | 0) >> 2] | 0 | 0) | 0) + 20 | 0 | 0, ((btAlignedObjectArray_btFace___operator_5b_5d_28int_29_20const((HEAP32[($6 + 552 | 0) >> 2] | 0) + 24 | 0 | 0, HEAP32[($6 + 556 | 0) >> 2] | 0 | 0) | 0) + 20 | 0) + 4 | 0 | 0, ((btAlignedObjectArray_btFace___operator_5b_5d_28int_29_20const((HEAP32[($6 + 552 | 0) >> 2] | 0) + 24 | 0 | 0, HEAP32[($6 + 556 | 0) >> 2] | 0 | 0) | 0) + 20 | 0) + 8 | 0 | 0) | 0; + $431 = FUNCTION_TABLE[HEAP32[((HEAP32[$7 >> 2] | 0) + 20 | 0) >> 2] | 0 | 0]($7) | 0; + btTransform__operator__28btVector3_20const__29_20const($6 + 412 | 0 | 0, HEAP32[($6 + 968 | 0) >> 2] | 0 | 0, $6 + 536 | 0 | 0); + $439 = HEAP32[($6 + 968 | 0) >> 2] | 0; + operator__28btVector3_20const__2c_20btVector3_20const__29_2($6 + 380 | 0 | 0, $6 + 536 | 0 | 0, $6 + 428 | 0 | 0); + btTransform__operator__28btVector3_20const__29_20const($6 + 396 | 0 | 0, $439 | 0, $6 + 380 | 0 | 0); + FUNCTION_TABLE[HEAP32[((HEAP32[$431 >> 2] | 0) + 16 | 0) >> 2] | 0 | 0]($431, $6 + 412 | 0, $6 + 396 | 0, $6 + 456 | 0); + } + HEAP32[($6 + 556 | 0) >> 2] = (HEAP32[($6 + 556 | 0) >> 2] | 0) + 1 | 0; + continue label$21; + }; + } + break label$18; + } + HEAP32[($6 + 556 | 0) >> 2] = 0; + label$26 : { + label$27 : while (1) { + $471 = HEAP32[($6 + 560 | 0) >> 2] | 0; + if (!((HEAP32[($6 + 556 | 0) >> 2] | 0 | 0) < (FUNCTION_TABLE[HEAP32[((HEAP32[$471 >> 2] | 0) + 100 | 0) >> 2] | 0 | 0]($471) | 0 | 0) & 1 | 0)) { + break label$26 + } + btVector3__btVector3_28_29($6 + 364 | 0 | 0) | 0; + btVector3__btVector3_28_29($6 + 348 | 0 | 0) | 0; + $486 = HEAP32[($6 + 560 | 0) >> 2] | 0; + FUNCTION_TABLE[HEAP32[((HEAP32[$486 >> 2] | 0) + 104 | 0) >> 2] | 0 | 0]($486, HEAP32[($6 + 556 | 0) >> 2] | 0, $6 + 364 | 0, $6 + 348 | 0); + btTransform__operator__28btVector3_20const__29_20const($6 + 332 | 0 | 0, HEAP32[($6 + 968 | 0) >> 2] | 0 | 0, $6 + 364 | 0 | 0); + btTransform__operator__28btVector3_20const__29_20const($6 + 316 | 0 | 0, HEAP32[($6 + 968 | 0) >> 2] | 0 | 0, $6 + 348 | 0 | 0); + $512 = FUNCTION_TABLE[HEAP32[((HEAP32[$7 >> 2] | 0) + 20 | 0) >> 2] | 0 | 0]($7) | 0; + FUNCTION_TABLE[HEAP32[((HEAP32[$512 >> 2] | 0) + 16 | 0) >> 2] | 0 | 0]($512, $6 + 332 | 0, $6 + 316 | 0, HEAP32[($6 + 960 | 0) >> 2] | 0); + HEAP32[($6 + 556 | 0) >> 2] = (HEAP32[($6 + 556 | 0) >> 2] | 0) + 1 | 0; + continue label$27; + }; + } + } + } + label$28 : { + if (!((btCollisionShape__isConcave_28_29_20const(HEAP32[($6 + 964 | 0) >> 2] | 0 | 0) | 0) & 1 | 0)) { + break label$28 + } + HEAP32[($6 + 312 | 0) >> 2] = HEAP32[($6 + 964 | 0) >> 2] | 0; + HEAPF32[($6 + 292 | 0) >> 2] = Math_fround(999999984306749440.0); + HEAPF32[($6 + 288 | 0) >> 2] = Math_fround(999999984306749440.0); + HEAPF32[($6 + 284 | 0) >> 2] = Math_fround(999999984306749440.0); + btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($6 + 296 | 0 | 0, $6 + 292 | 0 | 0, $6 + 288 | 0 | 0, $6 + 284 | 0 | 0) | 0; + HEAPF32[($6 + 264 | 0) >> 2] = Math_fround(-999999984306749440.0); + HEAPF32[($6 + 260 | 0) >> 2] = Math_fround(-999999984306749440.0); + HEAPF32[($6 + 256 | 0) >> 2] = Math_fround(-999999984306749440.0); + btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($6 + 268 | 0 | 0, $6 + 264 | 0 | 0, $6 + 260 | 0 | 0, $6 + 256 | 0 | 0) | 0; + DebugDrawcallback__DebugDrawcallback_28btIDebugDraw__2c_20btTransform_20const__2c_20btVector3_20const__29($6 + 164 | 0 | 0, FUNCTION_TABLE[HEAP32[((HEAP32[$7 >> 2] | 0) + 20 | 0) >> 2] | 0 | 0]($7) | 0 | 0, HEAP32[($6 + 968 | 0) >> 2] | 0 | 0, HEAP32[($6 + 960 | 0) >> 2] | 0 | 0) | 0; + $568 = HEAP32[($6 + 312 | 0) >> 2] | 0; + FUNCTION_TABLE[HEAP32[((HEAP32[$568 >> 2] | 0) + 64 | 0) >> 2] | 0 | 0]($568, $6 + 164 | 0, $6 + 268 | 0, $6 + 296 | 0); + DebugDrawcallback___DebugDrawcallback_28_29($6 + 164 | 0 | 0) | 0; + } + label$29 : { + if (!((btCollisionShape__getShapeType_28_29_20const(HEAP32[($6 + 964 | 0) >> 2] | 0 | 0) | 0 | 0) == (3 | 0) & 1 | 0)) { + break label$29 + } + HEAP32[($6 + 160 | 0) >> 2] = HEAP32[($6 + 964 | 0) >> 2] | 0; + HEAPF32[($6 + 140 | 0) >> 2] = Math_fround(999999984306749440.0); + HEAPF32[($6 + 136 | 0) >> 2] = Math_fround(999999984306749440.0); + HEAPF32[($6 + 132 | 0) >> 2] = Math_fround(999999984306749440.0); + btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($6 + 144 | 0 | 0, $6 + 140 | 0 | 0, $6 + 136 | 0 | 0, $6 + 132 | 0 | 0) | 0; + HEAPF32[($6 + 112 | 0) >> 2] = Math_fround(-999999984306749440.0); + HEAPF32[($6 + 108 | 0) >> 2] = Math_fround(-999999984306749440.0); + HEAPF32[($6 + 104 | 0) >> 2] = Math_fround(-999999984306749440.0); + btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($6 + 116 | 0 | 0, $6 + 112 | 0 | 0, $6 + 108 | 0 | 0, $6 + 104 | 0 | 0) | 0; + DebugDrawcallback__DebugDrawcallback_28btIDebugDraw__2c_20btTransform_20const__2c_20btVector3_20const__29($6 + 12 | 0 | 0, FUNCTION_TABLE[HEAP32[((HEAP32[$7 >> 2] | 0) + 20 | 0) >> 2] | 0 | 0]($7) | 0 | 0, HEAP32[($6 + 968 | 0) >> 2] | 0 | 0, HEAP32[($6 + 960 | 0) >> 2] | 0 | 0) | 0; + $631 = btConvexTriangleMeshShape__getMeshInterface_28_29(HEAP32[($6 + 160 | 0) >> 2] | 0 | 0) | 0; + $642 = 0; + label$30 : { + if (($6 + 12 | 0 | 0) == (0 | 0) & 1 | 0) { + break label$30 + } + $642 = ($6 + 12 | 0) + 4 | 0; + } + FUNCTION_TABLE[HEAP32[((HEAP32[$631 >> 2] | 0) + 8 | 0) >> 2] | 0 | 0]($631, $642, $6 + 116 | 0, $6 + 144 | 0); + DebugDrawcallback___DebugDrawcallback_28_29($6 + 12 | 0 | 0) | 0; + } + } + } + __stack_pointer = $6 + 976 | 0; + return; + } + + function btBoxShape__getHalfExtentsWithMargin_28_29_20const($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, $5 = 0, i64toi32_i32$2 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $8 = 0, $50 = 0, $60 = 0, wasm2js_i32$0 = 0, wasm2js_f32$0 = Math_fround(0); + $4 = __stack_pointer - 32 | 0; + __stack_pointer = $4; + HEAP32[($4 + 28 | 0) >> 2] = $1; + $5 = HEAP32[($4 + 28 | 0) >> 2] | 0; + i64toi32_i32$2 = btBoxShape__getHalfExtentsWithoutMargin_28_29_20const($5 | 0) | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $50 = i64toi32_i32$0; + i64toi32_i32$0 = $0; + HEAP32[i64toi32_i32$0 >> 2] = $50; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $8 = 8; + i64toi32_i32$2 = i64toi32_i32$2 + $8 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $60 = i64toi32_i32$1; + i64toi32_i32$1 = $0 + $8 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $60; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + (wasm2js_i32$0 = $4, wasm2js_f32$0 = Math_fround(FUNCTION_TABLE[HEAP32[((HEAP32[$5 >> 2] | 0) + 48 | 0) >> 2] | 0 | 0]($5))), HEAPF32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_f32$0; + (wasm2js_i32$0 = $4, wasm2js_f32$0 = Math_fround(FUNCTION_TABLE[HEAP32[((HEAP32[$5 >> 2] | 0) + 48 | 0) >> 2] | 0 | 0]($5))), HEAPF32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_f32$0; + (wasm2js_i32$0 = $4, wasm2js_f32$0 = Math_fround(FUNCTION_TABLE[HEAP32[((HEAP32[$5 >> 2] | 0) + 48 | 0) >> 2] | 0 | 0]($5))), HEAPF32[wasm2js_i32$0 >> 2] = wasm2js_f32$0; + btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($4 + 12 | 0 | 0, $4 + 8 | 0 | 0, $4 + 4 | 0 | 0, $4 | 0) | 0; + btVector3__operator___28btVector3_20const__29_1($0 | 0, $4 + 12 | 0 | 0) | 0; + __stack_pointer = $4 + 32 | 0; + return; + } + + function btMultiSphereShape__getSphereCount_28_29_20const($0) { + $0 = $0 | 0; + var $3 = 0, $7 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $7 = btAlignedObjectArray_btVector3___size_28_29_20const((HEAP32[($3 + 12 | 0) >> 2] | 0) + 96 | 0 | 0) | 0; + __stack_pointer = $3 + 16 | 0; + return $7 | 0; + } + + function btMultiSphereShape__getSpherePosition_28int_29_20const($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, $9 = 0; + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + $9 = btAlignedObjectArray_btVector3___operator_5b_5d_28int_29_20const((HEAP32[($4 + 12 | 0) >> 2] | 0) + 96 | 0 | 0, HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) | 0; + __stack_pointer = $4 + 16 | 0; + return $9 | 0; + } + + function btMultiSphereShape__getSphereRadius_28int_29_20const($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, $10 = Math_fround(0); + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + $10 = Math_fround(HEAPF32[(btAlignedObjectArray_float___operator_5b_5d_28int_29_20const((HEAP32[($4 + 12 | 0) >> 2] | 0) + 116 | 0 | 0, HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) | 0) >> 2]); + __stack_pointer = $4 + 16 | 0; + return Math_fround($10); + } + + function btCapsuleShape__getRadius_28_29_20const($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0, $17 = Math_fround(0); + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + HEAP32[($3 + 8 | 0) >> 2] = ((HEAP32[($4 + 60 | 0) >> 2] | 0) + 2 | 0 | 0) % (3 | 0) | 0; + $17 = Math_fround(HEAPF32[((btVector3__operator_20float_20const__28_29_20const($4 + 36 | 0 | 0) | 0) + ((HEAP32[($3 + 8 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2]); + __stack_pointer = $3 + 16 | 0; + return Math_fround($17); + } + + function btCapsuleShape__getHalfHeight_28_29_20const($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0, $12 = Math_fround(0); + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + $12 = Math_fround(HEAPF32[((btVector3__operator_20float_20const__28_29_20const($4 + 36 | 0 | 0) | 0) + ((HEAP32[($4 + 60 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2]); + __stack_pointer = $3 + 16 | 0; + return Math_fround($12); + } + + function btCapsuleShape__getUpAxis_28_29_20const($0) { + $0 = $0 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + return HEAP32[((HEAP32[($3 + 12 | 0) >> 2] | 0) + 60 | 0) >> 2] | 0 | 0; + } + + function btConeShape__getRadius_28_29_20const($0) { + $0 = $0 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + return Math_fround(Math_fround(HEAPF32[((HEAP32[($3 + 12 | 0) >> 2] | 0) + 64 | 0) >> 2])); + } + + function btConeShape__getHeight_28_29_20const($0) { + $0 = $0 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + return Math_fround(Math_fround(HEAPF32[((HEAP32[($3 + 12 | 0) >> 2] | 0) + 68 | 0) >> 2])); + } + + function btConeShape__getConeUpIndex_28_29_20const($0) { + $0 = $0 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + return HEAP32[((HEAP32[($3 + 12 | 0) >> 2] | 0) + 76 | 0) >> 2] | 0 | 0; + } + + function btCylinderShape__getUpAxis_28_29_20const($0) { + $0 = $0 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + return HEAP32[((HEAP32[($3 + 12 | 0) >> 2] | 0) + 60 | 0) >> 2] | 0 | 0; + } + + function btCylinderShape__getHalfExtentsWithMargin_28_29_20const($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, $5 = 0, i64toi32_i32$2 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $8 = 0, $50 = 0, $60 = 0, wasm2js_i32$0 = 0, wasm2js_f32$0 = Math_fround(0); + $4 = __stack_pointer - 32 | 0; + __stack_pointer = $4; + HEAP32[($4 + 28 | 0) >> 2] = $1; + $5 = HEAP32[($4 + 28 | 0) >> 2] | 0; + i64toi32_i32$2 = btCylinderShape__getHalfExtentsWithoutMargin_28_29_20const($5 | 0) | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $50 = i64toi32_i32$0; + i64toi32_i32$0 = $0; + HEAP32[i64toi32_i32$0 >> 2] = $50; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $8 = 8; + i64toi32_i32$2 = i64toi32_i32$2 + $8 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $60 = i64toi32_i32$1; + i64toi32_i32$1 = $0 + $8 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $60; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + (wasm2js_i32$0 = $4, wasm2js_f32$0 = Math_fround(FUNCTION_TABLE[HEAP32[((HEAP32[$5 >> 2] | 0) + 48 | 0) >> 2] | 0 | 0]($5))), HEAPF32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_f32$0; + (wasm2js_i32$0 = $4, wasm2js_f32$0 = Math_fround(FUNCTION_TABLE[HEAP32[((HEAP32[$5 >> 2] | 0) + 48 | 0) >> 2] | 0 | 0]($5))), HEAPF32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_f32$0; + (wasm2js_i32$0 = $4, wasm2js_f32$0 = Math_fround(FUNCTION_TABLE[HEAP32[((HEAP32[$5 >> 2] | 0) + 48 | 0) >> 2] | 0 | 0]($5))), HEAPF32[wasm2js_i32$0 >> 2] = wasm2js_f32$0; + btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($4 + 12 | 0 | 0, $4 + 8 | 0 | 0, $4 + 4 | 0 | 0, $4 | 0) | 0; + btVector3__operator___28btVector3_20const__29_1($0 | 0, $4 + 12 | 0 | 0) | 0; + __stack_pointer = $4 + 32 | 0; + return; + } + + function btStaticPlaneShape__getPlaneConstant_28_29_20const($0) { + $0 = $0 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + return (HEAP32[($3 + 12 | 0) >> 2] | 0) + 72 | 0 | 0; + } + + function btCollisionShape__isPolyhedral_28_29_20const($0) { + $0 = $0 | 0; + var $3 = 0, $8 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $8 = (btBroadphaseProxy__isPolyhedral_28int_29(btCollisionShape__getShapeType_28_29_20const(HEAP32[($3 + 12 | 0) >> 2] | 0 | 0) | 0 | 0) | 0) & 1 | 0; + __stack_pointer = $3 + 16 | 0; + return $8 | 0; + } + + function btPolyhedralConvexShape__getConvexPolyhedron_28_29_20const($0) { + $0 = $0 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + return HEAP32[((HEAP32[($3 + 12 | 0) >> 2] | 0) + 60 | 0) >> 2] | 0 | 0; + } + + function btAlignedObjectArray_btFace___size_28_29_20const($0) { + $0 = $0 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + return HEAP32[((HEAP32[($3 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0; + } + + function btAlignedObjectArray_btFace___operator_5b_5d_28int_29_20const($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, $5 = 0, $32 = 0; + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; + label$1 : { + if ((HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0) { + break label$1 + } + __assert_fail(85840 | 0, 78192 | 0, 176 | 0, 83901 | 0); + wasm2js_trap(); + } + label$2 : { + if ((HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) < (btAlignedObjectArray_btFace___size_28_29_20const($5 | 0) | 0 | 0) & 1 | 0) { + break label$2 + } + __assert_fail(87321 | 0, 78192 | 0, 177 | 0, 83901 | 0); + wasm2js_trap(); + } + $32 = (HEAP32[($5 + 12 | 0) >> 2] | 0) + Math_imul(HEAP32[($4 + 8 | 0) >> 2] | 0, 36) | 0; + __stack_pointer = $4 + 16 | 0; + return $32 | 0; + } + + function btAlignedObjectArray_int___operator_5b_5d_28int_29_20const($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, $5 = 0, $32 = 0; + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; + label$1 : { + if ((HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0) { + break label$1 + } + __assert_fail(85840 | 0, 78192 | 0, 176 | 0, 83901 | 0); + wasm2js_trap(); + } + label$2 : { + if ((HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) < (btAlignedObjectArray_int___size_28_29_20const($5 | 0) | 0 | 0) & 1 | 0) { + break label$2 + } + __assert_fail(87321 | 0, 78192 | 0, 177 | 0, 83901 | 0); + wasm2js_trap(); + } + $32 = (HEAP32[($5 + 12 | 0) >> 2] | 0) + ((HEAP32[($4 + 8 | 0) >> 2] | 0) << 2 | 0) | 0; + __stack_pointer = $4 + 16 | 0; + return $32 | 0; + } + + function btAlignedObjectArray_btVector3___operator_5b_5d_28int_29_20const($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, $5 = 0, $32 = 0; + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; + label$1 : { + if ((HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0) { + break label$1 + } + __assert_fail(85840 | 0, 78192 | 0, 176 | 0, 83901 | 0); + wasm2js_trap(); + } + label$2 : { + if ((HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) < (btAlignedObjectArray_btVector3___size_28_29_20const($5 | 0) | 0 | 0) & 1 | 0) { + break label$2 + } + __assert_fail(87321 | 0, 78192 | 0, 177 | 0, 83901 | 0); + wasm2js_trap(); + } + $32 = (HEAP32[($5 + 12 | 0) >> 2] | 0) + ((HEAP32[($4 + 8 | 0) >> 2] | 0) << 4 | 0) | 0; + __stack_pointer = $4 + 16 | 0; + return $32 | 0; + } + + function btVector3__operator___28float_20const__29_1($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $5 = 0, $4 = 0; + $4 = __stack_pointer - 16 | 0; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; + HEAPF32[$5 >> 2] = Math_fround(Math_fround(HEAPF32[$5 >> 2]) * Math_fround(HEAPF32[(HEAP32[($4 + 8 | 0) >> 2] | 0) >> 2])); + HEAPF32[($5 + 4 | 0) >> 2] = Math_fround(Math_fround(HEAPF32[($5 + 4 | 0) >> 2]) * Math_fround(HEAPF32[(HEAP32[($4 + 8 | 0) >> 2] | 0) >> 2])); + HEAPF32[($5 + 8 | 0) >> 2] = Math_fround(Math_fround(HEAPF32[($5 + 8 | 0) >> 2]) * Math_fround(HEAPF32[(HEAP32[($4 + 8 | 0) >> 2] | 0) >> 2])); + return $5 | 0; + } + + function DebugDrawcallback__DebugDrawcallback_28btIDebugDraw__2c_20btTransform_20const__2c_20btVector3_20const__29($0, $1, $2, $3) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + var $6 = 0, $7 = 0, i64toi32_i32$2 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $18 = 0, $21 = 0, $74 = 0, $84 = 0; + $6 = __stack_pointer - 16 | 0; + __stack_pointer = $6; + HEAP32[($6 + 12 | 0) >> 2] = $0; + HEAP32[($6 + 8 | 0) >> 2] = $1; + HEAP32[($6 + 4 | 0) >> 2] = $2; + HEAP32[$6 >> 2] = $3; + $7 = HEAP32[($6 + 12 | 0) >> 2] | 0; + btTriangleCallback__btTriangleCallback_28_29($7 | 0) | 0; + btInternalTriangleIndexCallback__btInternalTriangleIndexCallback_28_29($7 + 4 | 0 | 0) | 0; + HEAP32[$7 >> 2] = 93488 + 8 | 0; + HEAP32[($7 + 4 | 0) >> 2] = 93488 + 32 | 0; + HEAP32[($7 + 8 | 0) >> 2] = HEAP32[($6 + 8 | 0) >> 2] | 0; + $18 = $7 + 12 | 0; + i64toi32_i32$2 = HEAP32[$6 >> 2] | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $74 = i64toi32_i32$0; + i64toi32_i32$0 = $18; + HEAP32[i64toi32_i32$0 >> 2] = $74; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $21 = 8; + i64toi32_i32$2 = i64toi32_i32$2 + $21 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $84 = i64toi32_i32$1; + i64toi32_i32$1 = $18 + $21 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $84; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + btTransform__btTransform_28btTransform_20const__29($7 + 28 | 0 | 0, HEAP32[($6 + 4 | 0) >> 2] | 0 | 0) | 0; + __stack_pointer = $6 + 16 | 0; + return $7 | 0; + } + + function DebugDrawcallback___DebugDrawcallback_28_29($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + btInternalTriangleIndexCallback___btInternalTriangleIndexCallback_28_29($4 + 4 | 0 | 0) | 0; + btTriangleCallback___btTriangleCallback_28_29($4 | 0) | 0; + __stack_pointer = $3 + 16 | 0; + return $4 | 0; + } + + function btConvexTriangleMeshShape__getMeshInterface_28_29($0) { + $0 = $0 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + return HEAP32[((HEAP32[($3 + 12 | 0) >> 2] | 0) + 100 | 0) >> 2] | 0 | 0; + } + + function btBoxShape__getHalfExtentsWithoutMargin_28_29_20const($0) { + $0 = $0 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + return (HEAP32[($3 + 12 | 0) >> 2] | 0) + 36 | 0 | 0; + } + + function btAlignedObjectArray_float___operator_5b_5d_28int_29_20const($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, $5 = 0, $32 = 0; + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; + label$1 : { + if ((HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0) { + break label$1 + } + __assert_fail(85840 | 0, 78192 | 0, 176 | 0, 83901 | 0); + wasm2js_trap(); + } + label$2 : { + if ((HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) < (btAlignedObjectArray_float___size_28_29_20const($5 | 0) | 0 | 0) & 1 | 0) { + break label$2 + } + __assert_fail(87321 | 0, 78192 | 0, 177 | 0, 83901 | 0); + wasm2js_trap(); + } + $32 = (HEAP32[($5 + 12 | 0) >> 2] | 0) + ((HEAP32[($4 + 8 | 0) >> 2] | 0) << 2 | 0) | 0; + __stack_pointer = $4 + 16 | 0; + return $32 | 0; + } + + function btCylinderShape__getHalfExtentsWithoutMargin_28_29_20const($0) { + $0 = $0 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + return (HEAP32[($3 + 12 | 0) >> 2] | 0) + 36 | 0 | 0; + } + + function btBroadphaseProxy__isPolyhedral_28int_29($0) { + $0 = $0 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + return (HEAP32[($3 + 12 | 0) >> 2] | 0 | 0) < (7 | 0) & 1 | 0 | 0; + } + + function btTriangleCallback__btTriangleCallback_28_29($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + HEAP32[$4 >> 2] = 100388 + 8 | 0; + return $4 | 0; + } + + function btInternalTriangleIndexCallback__btInternalTriangleIndexCallback_28_29($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + HEAP32[$4 >> 2] = 100440 + 8 | 0; + return $4 | 0; + } + + function btCollisionWorld__debugDrawWorld_28_29($0) { + $0 = $0 | 0; + var $3 = 0, i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, i64toi32_i32$1 = 0, $4 = 0, $142 = 0, $297 = 0, $16 = 0, $21 = 0, $29 = 0, $42 = 0, $54 = 0, $74 = 0, $100 = 0, $136 = 0, $154 = 0, $158 = 0, $159 = 0, $170 = 0, $171 = 0, $182 = 0, $183 = 0, $194 = 0, $195 = 0, $206 = 0, $207 = 0, $229 = 0, $258 = 0, $274 = 0, $275 = 0, $283 = 0, $331 = 0, $360 = 0, $738 = 0, $742 = 0, $762 = 0, $766 = 0, $786 = 0, $790 = 0, $810 = 0, $814 = 0, $834 = 0, $838 = 0, $881 = 0, $885 = 0, $973 = 0, $977 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0, wasm2js_i32$2 = 0, wasm2js_i32$3 = 0, wasm2js_f32$0 = Math_fround(0), wasm2js_i32$4 = 0, wasm2js_i32$5 = 0; + $3 = __stack_pointer - 320 | 0; + __stack_pointer = $3; + HEAP32[($3 + 316 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 316 | 0) >> 2] | 0; + label$1 : { + if (!((FUNCTION_TABLE[HEAP32[((HEAP32[$4 >> 2] | 0) + 20 | 0) >> 2] | 0 | 0]($4) | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + $16 = FUNCTION_TABLE[HEAP32[((HEAP32[$4 >> 2] | 0) + 20 | 0) >> 2] | 0 | 0]($4) | 0; + FUNCTION_TABLE[HEAP32[((HEAP32[$16 >> 2] | 0) + 100 | 0) >> 2] | 0 | 0]($16); + $21 = FUNCTION_TABLE[HEAP32[((HEAP32[$4 >> 2] | 0) + 20 | 0) >> 2] | 0 | 0]($4) | 0; + FUNCTION_TABLE[HEAP32[((HEAP32[$21 >> 2] | 0) + 8 | 0) >> 2] | 0 | 0]($3 + 188 | 0, $21); + $29 = FUNCTION_TABLE[HEAP32[((HEAP32[$4 >> 2] | 0) + 20 | 0) >> 2] | 0 | 0]($4) | 0; + label$2 : { + if (!((FUNCTION_TABLE[HEAP32[((HEAP32[$29 >> 2] | 0) + 56 | 0) >> 2] | 0 | 0]($29) | 0) & 8 | 0)) { + break label$2 + } + label$3 : { + if (!((btCollisionWorld__getDispatcher_28_29($4 | 0) | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$3 + } + $42 = btCollisionWorld__getDispatcher_28_29($4 | 0) | 0; + (wasm2js_i32$0 = $3, wasm2js_i32$1 = FUNCTION_TABLE[HEAP32[((HEAP32[$42 >> 2] | 0) + 36 | 0) >> 2] | 0 | 0]($42) | 0), HEAP32[(wasm2js_i32$0 + 184 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($3 + 180 | 0) >> 2] = 0; + label$4 : { + label$5 : while (1) { + if (!((HEAP32[($3 + 180 | 0) >> 2] | 0 | 0) < (HEAP32[($3 + 184 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$4 + } + $54 = btCollisionWorld__getDispatcher_28_29($4 | 0) | 0; + (wasm2js_i32$0 = $3, wasm2js_i32$1 = FUNCTION_TABLE[HEAP32[((HEAP32[$54 >> 2] | 0) + 40 | 0) >> 2] | 0 | 0]($54, HEAP32[($3 + 180 | 0) >> 2] | 0) | 0), HEAP32[(wasm2js_i32$0 + 176 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $3, wasm2js_i32$1 = btPersistentManifold__getNumContacts_28_29_20const(HEAP32[($3 + 176 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 172 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($3 + 168 | 0) >> 2] = 0; + label$6 : { + label$7 : while (1) { + if (!((HEAP32[($3 + 168 | 0) >> 2] | 0 | 0) < (HEAP32[($3 + 172 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$6 + } + (wasm2js_i32$0 = $3, wasm2js_i32$1 = btPersistentManifold__getContactPoint_28int_29(HEAP32[($3 + 176 | 0) >> 2] | 0 | 0, HEAP32[($3 + 168 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 164 | 0) >> 2] = wasm2js_i32$1; + $74 = FUNCTION_TABLE[HEAP32[((HEAP32[$4 >> 2] | 0) + 20 | 0) >> 2] | 0 | 0]($4) | 0; + ((((((wasm2js_i32$1 = $74, wasm2js_i32$2 = (HEAP32[($3 + 164 | 0) >> 2] | 0) + 32 | 0), wasm2js_i32$3 = (HEAP32[($3 + 164 | 0) >> 2] | 0) + 64 | 0), wasm2js_f32$0 = Math_fround(btManifoldPoint__getDistance_28_29_20const(HEAP32[($3 + 164 | 0) >> 2] | 0 | 0))), wasm2js_i32$4 = btManifoldPoint__getLifeTime_28_29_20const(HEAP32[($3 + 164 | 0) >> 2] | 0 | 0) | 0), wasm2js_i32$5 = ($3 + 188 | 0) + 96 | 0), wasm2js_i32$0 = HEAP32[((HEAP32[$74 >> 2] | 0) + 40 | 0) >> 2] | 0 | 0), FUNCTION_TABLE[wasm2js_i32$0](wasm2js_i32$1 | 0, wasm2js_i32$2 | 0, wasm2js_i32$3 | 0, Math_fround(wasm2js_f32$0), wasm2js_i32$4 | 0, wasm2js_i32$5 | 0); + HEAP32[($3 + 168 | 0) >> 2] = (HEAP32[($3 + 168 | 0) >> 2] | 0) + 1 | 0; + continue label$7; + }; + } + HEAP32[($3 + 180 | 0) >> 2] = (HEAP32[($3 + 180 | 0) >> 2] | 0) + 1 | 0; + continue label$5; + }; + } + } + } + $100 = FUNCTION_TABLE[HEAP32[((HEAP32[$4 >> 2] | 0) + 20 | 0) >> 2] | 0 | 0]($4) | 0; + label$8 : { + if (!((FUNCTION_TABLE[HEAP32[((HEAP32[$100 >> 2] | 0) + 56 | 0) >> 2] | 0 | 0]($100) | 0) & 3 | 0)) { + break label$8 + } + HEAP32[($3 + 160 | 0) >> 2] = 0; + label$9 : { + label$10 : while (1) { + if (!((HEAP32[($3 + 160 | 0) >> 2] | 0 | 0) < (btAlignedObjectArray_btCollisionObject____size_28_29_20const($4 + 4 | 0 | 0) | 0 | 0) & 1 | 0)) { + break label$9 + } + (wasm2js_i32$0 = $3, wasm2js_i32$5 = HEAP32[(btAlignedObjectArray_btCollisionObject____operator_5b_5d_28int_29($4 + 4 | 0 | 0, HEAP32[($3 + 160 | 0) >> 2] | 0 | 0) | 0) >> 2] | 0), HEAP32[(wasm2js_i32$0 + 156 | 0) >> 2] = wasm2js_i32$5; + label$11 : { + if ((btCollisionObject__getCollisionFlags_28_29_20const(HEAP32[($3 + 156 | 0) >> 2] | 0 | 0) | 0) & 32 | 0) { + break label$11 + } + label$12 : { + if (!((FUNCTION_TABLE[HEAP32[((HEAP32[$4 >> 2] | 0) + 20 | 0) >> 2] | 0 | 0]($4) | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$12 + } + $136 = FUNCTION_TABLE[HEAP32[((HEAP32[$4 >> 2] | 0) + 20 | 0) >> 2] | 0 | 0]($4) | 0; + if (!((FUNCTION_TABLE[HEAP32[((HEAP32[$136 >> 2] | 0) + 56 | 0) >> 2] | 0 | 0]($136) | 0) & 1 | 0)) { + break label$12 + } + $142 = 1053609165; + HEAP32[($3 + 132 | 0) >> 2] = $142; + HEAP32[($3 + 128 | 0) >> 2] = $142; + HEAP32[($3 + 124 | 0) >> 2] = $142; + btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($3 + 136 | 0 | 0, $3 + 132 | 0 | 0, $3 + 128 | 0 | 0, $3 + 124 | 0 | 0) | 0; + $154 = (btCollisionObject__getActivationState_28_29_20const(HEAP32[($3 + 156 | 0) >> 2] | 0 | 0) | 0) + -1 | 0; + label$13 : { + label$14 : { + switch ($154 | 0) { + case 0: + $158 = $3 + 188 | 0; + $159 = 8; + i64toi32_i32$2 = $158 + $159 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $738 = i64toi32_i32$0; + i64toi32_i32$0 = ($3 + 136 | 0) + $159 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $738; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$2 = $158; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $742 = i64toi32_i32$1; + i64toi32_i32$1 = $3; + HEAP32[($3 + 136 | 0) >> 2] = $742; + HEAP32[($3 + 140 | 0) >> 2] = i64toi32_i32$0; + break label$13; + case 1: + $170 = ($3 + 188 | 0) + 16 | 0; + $171 = 8; + i64toi32_i32$2 = $170 + $171 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $762 = i64toi32_i32$0; + i64toi32_i32$0 = ($3 + 136 | 0) + $171 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $762; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$2 = $170; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $766 = i64toi32_i32$1; + i64toi32_i32$1 = $3; + HEAP32[($3 + 136 | 0) >> 2] = $766; + HEAP32[($3 + 140 | 0) >> 2] = i64toi32_i32$0; + break label$13; + case 2: + $182 = ($3 + 188 | 0) + 32 | 0; + $183 = 8; + i64toi32_i32$2 = $182 + $183 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $786 = i64toi32_i32$0; + i64toi32_i32$0 = ($3 + 136 | 0) + $183 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $786; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$2 = $182; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $790 = i64toi32_i32$1; + i64toi32_i32$1 = $3; + HEAP32[($3 + 136 | 0) >> 2] = $790; + HEAP32[($3 + 140 | 0) >> 2] = i64toi32_i32$0; + break label$13; + case 3: + $194 = ($3 + 188 | 0) + 48 | 0; + $195 = 8; + i64toi32_i32$2 = $194 + $195 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $810 = i64toi32_i32$0; + i64toi32_i32$0 = ($3 + 136 | 0) + $195 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $810; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$2 = $194; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $814 = i64toi32_i32$1; + i64toi32_i32$1 = $3; + HEAP32[($3 + 136 | 0) >> 2] = $814; + HEAP32[($3 + 140 | 0) >> 2] = i64toi32_i32$0; + break label$13; + case 4: + $206 = ($3 + 188 | 0) + 64 | 0; + $207 = 8; + i64toi32_i32$2 = $206 + $207 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $834 = i64toi32_i32$0; + i64toi32_i32$0 = ($3 + 136 | 0) + $207 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $834; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$2 = $206; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $838 = i64toi32_i32$1; + i64toi32_i32$1 = $3; + HEAP32[($3 + 136 | 0) >> 2] = $838; + HEAP32[($3 + 140 | 0) >> 2] = i64toi32_i32$0; + break label$13; + default: + break label$14; + }; + } + HEAPF32[($3 + 104 | 0) >> 2] = Math_fround(.30000001192092896); + HEAPF32[($3 + 100 | 0) >> 2] = Math_fround(.30000001192092896); + HEAPF32[($3 + 96 | 0) >> 2] = Math_fround(.30000001192092896); + btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($3 + 108 | 0 | 0, $3 + 104 | 0 | 0, $3 + 100 | 0 | 0, $3 + 96 | 0 | 0) | 0; + $229 = 8; + i64toi32_i32$2 = ($3 + 108 | 0) + $229 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $881 = i64toi32_i32$0; + i64toi32_i32$0 = ($3 + 136 | 0) + $229 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $881; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$2 = $3; + i64toi32_i32$1 = HEAP32[($3 + 108 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($3 + 112 | 0) >> 2] | 0; + $885 = i64toi32_i32$1; + i64toi32_i32$1 = $3; + HEAP32[($3 + 136 | 0) >> 2] = $885; + HEAP32[($3 + 140 | 0) >> 2] = i64toi32_i32$0; + } + btCollisionObject__getCustomDebugColor_28btVector3__29_20const(HEAP32[($3 + 156 | 0) >> 2] | 0 | 0, $3 + 136 | 0 | 0) | 0; + ((((wasm2js_i32$5 = $4, wasm2js_i32$4 = btCollisionObject__getWorldTransform_28_29(HEAP32[($3 + 156 | 0) >> 2] | 0 | 0) | 0), wasm2js_i32$3 = btCollisionObject__getCollisionShape_28_29(HEAP32[($3 + 156 | 0) >> 2] | 0 | 0) | 0), wasm2js_i32$2 = $3 + 136 | 0), wasm2js_i32$0 = HEAP32[((HEAP32[$4 >> 2] | 0) + 28 | 0) >> 2] | 0 | 0), FUNCTION_TABLE[wasm2js_i32$0](wasm2js_i32$5 | 0, wasm2js_i32$4 | 0, wasm2js_i32$3 | 0, wasm2js_i32$2 | 0); + } + label$20 : { + if (!((HEAP32[($4 + 72 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$20 + } + $258 = HEAP32[($4 + 72 | 0) >> 2] | 0; + if (!((FUNCTION_TABLE[HEAP32[((HEAP32[$258 >> 2] | 0) + 56 | 0) >> 2] | 0 | 0]($258) | 0) & 2 | 0)) { + break label$20 + } + btVector3__btVector3_28_29($3 + 80 | 0 | 0) | 0; + btVector3__btVector3_28_29($3 + 64 | 0 | 0) | 0; + $274 = ($3 + 188 | 0) + 80 | 0; + $275 = 8; + i64toi32_i32$2 = $274 + $275 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $973 = i64toi32_i32$0; + i64toi32_i32$0 = ($3 + 48 | 0) + $275 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $973; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$2 = $274; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $977 = i64toi32_i32$1; + i64toi32_i32$1 = $3; + HEAP32[($3 + 48 | 0) >> 2] = $977; + HEAP32[($3 + 52 | 0) >> 2] = i64toi32_i32$0; + $283 = btCollisionObject__getCollisionShape_28_29(HEAP32[($3 + 156 | 0) >> 2] | 0 | 0) | 0; + ((((wasm2js_i32$2 = $283, wasm2js_i32$3 = btCollisionObject__getWorldTransform_28_29(HEAP32[($3 + 156 | 0) >> 2] | 0 | 0) | 0), wasm2js_i32$4 = $3 + 80 | 0), wasm2js_i32$5 = $3 + 64 | 0), wasm2js_i32$0 = HEAP32[((HEAP32[$283 >> 2] | 0) + 8 | 0) >> 2] | 0 | 0), FUNCTION_TABLE[wasm2js_i32$0](wasm2js_i32$2 | 0, wasm2js_i32$3 | 0, wasm2js_i32$4 | 0, wasm2js_i32$5 | 0); + $297 = 112840; + btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($3 + 32 | 0 | 0, $297 | 0, $297 | 0, $297 | 0) | 0; + btVector3__operator___28btVector3_20const__29($3 + 80 | 0 | 0, $3 + 32 | 0 | 0) | 0; + btVector3__operator___28btVector3_20const__29_1($3 + 64 | 0 | 0, $3 + 32 | 0 | 0) | 0; + btVector3__btVector3_28_29($3 + 16 | 0 | 0) | 0; + btVector3__btVector3_28_29($3 | 0) | 0; + label$21 : { + if (!((HEAPU8[((btCollisionWorld__getDispatchInfo_28_29($4 | 0) | 0) + 16 | 0) >> 0] | 0) & 1 | 0)) { + break label$21 + } + if (!((btCollisionObject__getInternalType_28_29_20const(HEAP32[($3 + 156 | 0) >> 2] | 0 | 0) | 0 | 0) == (2 | 0) & 1 | 0)) { + break label$21 + } + if ((btCollisionObject__isStaticOrKinematicObject_28_29_20const(HEAP32[($3 + 156 | 0) >> 2] | 0 | 0) | 0) & 1 | 0) { + break label$21 + } + $331 = btCollisionObject__getCollisionShape_28_29(HEAP32[($3 + 156 | 0) >> 2] | 0 | 0) | 0; + ((((wasm2js_i32$5 = $331, wasm2js_i32$4 = btCollisionObject__getInterpolationWorldTransform_28_29(HEAP32[($3 + 156 | 0) >> 2] | 0 | 0) | 0), wasm2js_i32$3 = $3 + 16 | 0), wasm2js_i32$2 = $3), wasm2js_i32$0 = HEAP32[((HEAP32[$331 >> 2] | 0) + 8 | 0) >> 2] | 0 | 0), FUNCTION_TABLE[wasm2js_i32$0](wasm2js_i32$5 | 0, wasm2js_i32$4 | 0, wasm2js_i32$3 | 0, wasm2js_i32$2 | 0); + btVector3__operator___28btVector3_20const__29($3 + 16 | 0 | 0, $3 + 32 | 0 | 0) | 0; + btVector3__operator___28btVector3_20const__29_1($3 | 0, $3 + 32 | 0 | 0) | 0; + btVector3__setMin_28btVector3_20const__29($3 + 80 | 0 | 0, $3 + 16 | 0 | 0); + btVector3__setMax_28btVector3_20const__29($3 + 64 | 0 | 0, $3 | 0); + } + $360 = HEAP32[($4 + 72 | 0) >> 2] | 0; + FUNCTION_TABLE[HEAP32[((HEAP32[$360 >> 2] | 0) + 60 | 0) >> 2] | 0 | 0]($360, $3 + 80 | 0, $3 + 64 | 0, $3 + 48 | 0); + } + } + HEAP32[($3 + 160 | 0) >> 2] = (HEAP32[($3 + 160 | 0) >> 2] | 0) + 1 | 0; + continue label$10; + }; + } + } + } + __stack_pointer = $3 + 320 | 0; + return; + } + + function btManifoldPoint__getLifeTime_28_29_20const($0) { + $0 = $0 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + return HEAP32[((HEAP32[($3 + 12 | 0) >> 2] | 0) + 164 | 0) >> 2] | 0 | 0; + } + + function btCollisionObject__getCustomDebugColor_28btVector3__29_20const($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, i64toi32_i32$2 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $5 = 0, $20 = 0, $22 = 0, $69 = 0, $79 = 0; + $4 = __stack_pointer - 16 | 0; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; + HEAP8[($4 + 7 | 0) >> 0] = (0 | 0) != ((HEAP32[($5 + 204 | 0) >> 2] | 0) & 256 | 0 | 0) & 1 | 0; + label$1 : { + if (!((HEAPU8[($4 + 7 | 0) >> 0] | 0) & 1 | 0)) { + break label$1 + } + $20 = HEAP32[($4 + 8 | 0) >> 2] | 0; + i64toi32_i32$2 = $5 + 308 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $69 = i64toi32_i32$0; + i64toi32_i32$0 = $20; + HEAP32[i64toi32_i32$0 >> 2] = $69; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $22 = 8; + i64toi32_i32$2 = i64toi32_i32$2 + $22 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $79 = i64toi32_i32$1; + i64toi32_i32$1 = $20 + $22 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $79; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + } + return (HEAPU8[($4 + 7 | 0) >> 0] | 0) & 1 | 0 | 0; + } + + function btCollisionWorld__serializeCollisionObjects_28btSerializer__29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, $5 = 0, $58 = 0, $96 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4 = __stack_pointer - 128 | 0; + __stack_pointer = $4; + HEAP32[($4 + 124 | 0) >> 2] = $0; + HEAP32[($4 + 120 | 0) >> 2] = $1; + $5 = HEAP32[($4 + 124 | 0) >> 2] | 0; + btHashMap_btHashPtr_2c_20btCollisionShape____btHashMap_28_29($4 + 36 | 0 | 0) | 0; + HEAP32[($4 + 116 | 0) >> 2] = 0; + label$1 : { + label$2 : while (1) { + if (!((HEAP32[($4 + 116 | 0) >> 2] | 0 | 0) < (btAlignedObjectArray_btCollisionObject____size_28_29_20const($5 + 4 | 0 | 0) | 0 | 0) & 1 | 0)) { + break label$1 + } + (wasm2js_i32$0 = $4, wasm2js_i32$1 = HEAP32[(btAlignedObjectArray_btCollisionObject____operator_5b_5d_28int_29($5 + 4 | 0 | 0, HEAP32[($4 + 116 | 0) >> 2] | 0 | 0) | 0) >> 2] | 0), HEAP32[(wasm2js_i32$0 + 32 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $4, wasm2js_i32$1 = btCollisionObject__getCollisionShape_28_29(HEAP32[($4 + 32 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$1; + btHashPtr__btHashPtr_28void_20const__29($4 + 20 | 0 | 0, HEAP32[($4 + 28 | 0) >> 2] | 0 | 0) | 0; + label$3 : { + if (!(((btHashMap_btHashPtr_2c_20btCollisionShape____find_28btHashPtr_20const__29($4 + 36 | 0 | 0, $4 + 20 | 0 | 0) | 0 | 0) != (0 | 0) ^ -1 | 0) & 1 | 0)) { + break label$3 + } + btHashPtr__btHashPtr_28void_20const__29($4 + 12 | 0 | 0, HEAP32[($4 + 28 | 0) >> 2] | 0 | 0) | 0; + btHashMap_btHashPtr_2c_20btCollisionShape____insert_28btHashPtr_20const__2c_20btCollisionShape__20const__29($4 + 36 | 0 | 0, $4 + 12 | 0 | 0, $4 + 28 | 0 | 0); + $58 = HEAP32[($4 + 28 | 0) >> 2] | 0; + FUNCTION_TABLE[HEAP32[((HEAP32[$58 >> 2] | 0) + 60 | 0) >> 2] | 0 | 0]($58, HEAP32[($4 + 120 | 0) >> 2] | 0); + } + HEAP32[($4 + 116 | 0) >> 2] = (HEAP32[($4 + 116 | 0) >> 2] | 0) + 1 | 0; + continue label$2; + }; + } + HEAP32[($4 + 116 | 0) >> 2] = 0; + label$4 : { + label$5 : while (1) { + if (!((HEAP32[($4 + 116 | 0) >> 2] | 0 | 0) < (btAlignedObjectArray_btCollisionObject____size_28_29_20const($5 + 4 | 0 | 0) | 0 | 0) & 1 | 0)) { + break label$4 + } + (wasm2js_i32$0 = $4, wasm2js_i32$1 = HEAP32[(btAlignedObjectArray_btCollisionObject____operator_5b_5d_28int_29($5 + 4 | 0 | 0, HEAP32[($4 + 116 | 0) >> 2] | 0 | 0) | 0) >> 2] | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + label$6 : { + label$7 : { + if ((btCollisionObject__getInternalType_28_29_20const(HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) | 0 | 0) == (1 | 0) & 1 | 0) { + break label$7 + } + if (!((btCollisionObject__getInternalType_28_29_20const(HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) | 0 | 0) == (64 | 0) & 1 | 0)) { + break label$6 + } + } + $96 = HEAP32[($4 + 8 | 0) >> 2] | 0; + FUNCTION_TABLE[HEAP32[((HEAP32[$96 >> 2] | 0) + 24 | 0) >> 2] | 0 | 0]($96, HEAP32[($4 + 120 | 0) >> 2] | 0); + } + HEAP32[($4 + 116 | 0) >> 2] = (HEAP32[($4 + 116 | 0) >> 2] | 0) + 1 | 0; + continue label$5; + }; + } + btHashMap_btHashPtr_2c_20btCollisionShape_____btHashMap_28_29($4 + 36 | 0 | 0) | 0; + __stack_pointer = $4 + 128 | 0; + return; + } + + function btHashMap_btHashPtr_2c_20btCollisionShape____btHashMap_28_29($0) { + $0 = $0 | 0; + var $4 = 0, $3 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + btAlignedObjectArray_int___btAlignedObjectArray_28_29($4 | 0) | 0; + btAlignedObjectArray_int___btAlignedObjectArray_28_29($4 + 20 | 0 | 0) | 0; + btAlignedObjectArray_btCollisionShape____btAlignedObjectArray_28_29($4 + 40 | 0 | 0) | 0; + btAlignedObjectArray_btHashPtr___btAlignedObjectArray_28_29($4 + 60 | 0 | 0) | 0; + __stack_pointer = $3 + 16 | 0; + return $4 | 0; + } + + function btHashPtr__btHashPtr_28void_20const__29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, $5 = 0; + $4 = __stack_pointer - 16 | 0; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; + HEAP32[$5 >> 2] = HEAP32[($4 + 8 | 0) >> 2] | 0; + return $5 | 0; + } + + function btHashMap_btHashPtr_2c_20btCollisionShape____find_28btHashPtr_20const__29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, $5 = 0, $20 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[($4 + 8 | 0) >> 2] = $0; + HEAP32[($4 + 4 | 0) >> 2] = $1; + $5 = HEAP32[($4 + 8 | 0) >> 2] | 0; + (wasm2js_i32$0 = $4, wasm2js_i32$1 = btHashMap_btHashPtr_2c_20btCollisionShape____findIndex_28btHashPtr_20const__29_20const($5 | 0, HEAP32[($4 + 4 | 0) >> 2] | 0 | 0) | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + label$1 : { + label$2 : { + if (!((HEAP32[$4 >> 2] | 0 | 0) == (-1 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($4 + 12 | 0) >> 2] = 0; + break label$1; + } + (wasm2js_i32$0 = $4, wasm2js_i32$1 = btAlignedObjectArray_btCollisionShape____operator_5b_5d_28int_29($5 + 40 | 0 | 0, HEAP32[$4 >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + } + $20 = HEAP32[($4 + 12 | 0) >> 2] | 0; + __stack_pointer = $4 + 16 | 0; + return $20 | 0; + } + + function btHashMap_btHashPtr_2c_20btCollisionShape____insert_28btHashPtr_20const__2c_20btCollisionShape__20const__29($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $5 = 0, $6 = 0, $25 = 0, $63 = 0, $68 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5 = __stack_pointer - 32 | 0; + __stack_pointer = $5; + HEAP32[($5 + 28 | 0) >> 2] = $0; + HEAP32[($5 + 24 | 0) >> 2] = $1; + HEAP32[($5 + 20 | 0) >> 2] = $2; + $6 = HEAP32[($5 + 28 | 0) >> 2] | 0; + (wasm2js_i32$0 = $5, wasm2js_i32$1 = (btHashPtr__getHash_28_29_20const(HEAP32[($5 + 24 | 0) >> 2] | 0 | 0) | 0) & ((btAlignedObjectArray_btCollisionShape____capacity_28_29_20const($6 + 40 | 0 | 0) | 0) - 1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $5, wasm2js_i32$1 = btHashMap_btHashPtr_2c_20btCollisionShape____findIndex_28btHashPtr_20const__29_20const($6 | 0, HEAP32[($5 + 24 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + label$2 : { + if (!((HEAP32[($5 + 12 | 0) >> 2] | 0 | 0) != (-1 | 0) & 1 | 0)) { + break label$2 + } + $25 = HEAP32[(HEAP32[($5 + 20 | 0) >> 2] | 0) >> 2] | 0; + (wasm2js_i32$0 = btAlignedObjectArray_btCollisionShape____operator_5b_5d_28int_29($6 + 40 | 0 | 0, HEAP32[($5 + 12 | 0) >> 2] | 0 | 0) | 0, wasm2js_i32$1 = $25), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + break label$1; + } + (wasm2js_i32$0 = $5, wasm2js_i32$1 = btAlignedObjectArray_btCollisionShape____size_28_29_20const($6 + 40 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $5, wasm2js_i32$1 = btAlignedObjectArray_btCollisionShape____capacity_28_29_20const($6 + 40 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + btAlignedObjectArray_btCollisionShape____push_back_28btCollisionShape__20const__29($6 + 40 | 0 | 0, HEAP32[($5 + 20 | 0) >> 2] | 0 | 0); + btAlignedObjectArray_btHashPtr___push_back_28btHashPtr_20const__29($6 + 60 | 0 | 0, HEAP32[($5 + 24 | 0) >> 2] | 0 | 0); + (wasm2js_i32$0 = $5, wasm2js_i32$1 = btAlignedObjectArray_btCollisionShape____capacity_28_29_20const($6 + 40 | 0 | 0) | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + label$3 : { + if (!((HEAP32[($5 + 4 | 0) >> 2] | 0 | 0) < (HEAP32[$5 >> 2] | 0 | 0) & 1 | 0)) { + break label$3 + } + btHashMap_btHashPtr_2c_20btCollisionShape____growTables_28btHashPtr_20const__29($6 | 0, HEAP32[($5 + 24 | 0) >> 2] | 0 | 0); + (wasm2js_i32$0 = $5, wasm2js_i32$1 = (btHashPtr__getHash_28_29_20const(HEAP32[($5 + 24 | 0) >> 2] | 0 | 0) | 0) & ((btAlignedObjectArray_btCollisionShape____capacity_28_29_20const($6 + 40 | 0 | 0) | 0) - 1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + } + $63 = HEAP32[(btAlignedObjectArray_int___operator_5b_5d_28int_29($6 | 0, HEAP32[($5 + 16 | 0) >> 2] | 0 | 0) | 0) >> 2] | 0; + (wasm2js_i32$0 = btAlignedObjectArray_int___operator_5b_5d_28int_29($6 + 20 | 0 | 0, HEAP32[($5 + 8 | 0) >> 2] | 0 | 0) | 0, wasm2js_i32$1 = $63), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + $68 = HEAP32[($5 + 8 | 0) >> 2] | 0; + (wasm2js_i32$0 = btAlignedObjectArray_int___operator_5b_5d_28int_29($6 | 0, HEAP32[($5 + 16 | 0) >> 2] | 0 | 0) | 0, wasm2js_i32$1 = $68), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + } + __stack_pointer = $5 + 32 | 0; + return; + } + + function btHashMap_btHashPtr_2c_20btCollisionShape_____btHashMap_28_29($0) { + $0 = $0 | 0; + var $4 = 0, $3 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + btAlignedObjectArray_btHashPtr____btAlignedObjectArray_28_29($4 + 60 | 0 | 0) | 0; + btAlignedObjectArray_btCollisionShape_____btAlignedObjectArray_28_29($4 + 40 | 0 | 0) | 0; + btAlignedObjectArray_int____btAlignedObjectArray_28_29($4 + 20 | 0 | 0) | 0; + btAlignedObjectArray_int____btAlignedObjectArray_28_29($4 | 0) | 0; + __stack_pointer = $3 + 16 | 0; + return $4 | 0; + } + + function btAlignedObjectArray_btCollisionShape____btAlignedObjectArray_28_29($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + btAlignedAllocator_btCollisionShape__2c_2016u___btAlignedAllocator_28_29($4 | 0) | 0; + btAlignedObjectArray_btCollisionShape____init_28_29($4 | 0); + __stack_pointer = $3 + 16 | 0; + return $4 | 0; + } + + function btAlignedObjectArray_btHashPtr___btAlignedObjectArray_28_29($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + btAlignedAllocator_btHashPtr_2c_2016u___btAlignedAllocator_28_29($4 | 0) | 0; + btAlignedObjectArray_btHashPtr___init_28_29($4 | 0); + __stack_pointer = $3 + 16 | 0; + return $4 | 0; + } + + function btHashMap_btHashPtr_2c_20btCollisionShape____findIndex_28btHashPtr_20const__29_20const($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, $5 = 0, $33 = 0, $55 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4 = __stack_pointer - 32 | 0; + __stack_pointer = $4; + HEAP32[($4 + 24 | 0) >> 2] = $0; + HEAP32[($4 + 20 | 0) >> 2] = $1; + $5 = HEAP32[($4 + 24 | 0) >> 2] | 0; + (wasm2js_i32$0 = $4, wasm2js_i32$1 = (btHashPtr__getHash_28_29_20const(HEAP32[($4 + 20 | 0) >> 2] | 0 | 0) | 0) & ((btAlignedObjectArray_btCollisionShape____capacity_28_29_20const($5 + 40 | 0 | 0) | 0) - 1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + label$2 : { + if (!((HEAP32[($4 + 16 | 0) >> 2] | 0) >>> 0 >= (btAlignedObjectArray_int___size_28_29_20const($5 | 0) | 0) >>> 0 & 1 | 0)) { + break label$2 + } + HEAP32[($4 + 28 | 0) >> 2] = -1; + break label$1; + } + (wasm2js_i32$0 = $4, wasm2js_i32$1 = HEAP32[(btAlignedObjectArray_int___operator_5b_5d_28int_29_20const($5 | 0, HEAP32[($4 + 16 | 0) >> 2] | 0 | 0) | 0) >> 2] | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + label$3 : while (1) { + $33 = 0; + label$4 : { + if (!((HEAP32[($4 + 12 | 0) >> 2] | 0 | 0) != (-1 | 0) & 1 | 0)) { + break label$4 + } + $33 = ((btHashPtr__equals_28btHashPtr_20const__29_20const(HEAP32[($4 + 20 | 0) >> 2] | 0 | 0, btAlignedObjectArray_btHashPtr___operator_5b_5d_28int_29_20const($5 + 60 | 0 | 0, HEAP32[($4 + 12 | 0) >> 2] | 0 | 0) | 0 | 0) | 0) & 1 | 0 | 0) == (0 | 0); + } + label$5 : { + if (!($33 & 1 | 0)) { + break label$5 + } + (wasm2js_i32$0 = $4, wasm2js_i32$1 = HEAP32[(btAlignedObjectArray_int___operator_5b_5d_28int_29_20const($5 + 20 | 0 | 0, HEAP32[($4 + 12 | 0) >> 2] | 0 | 0) | 0) >> 2] | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + continue label$3; + } + break label$3; + }; + HEAP32[($4 + 28 | 0) >> 2] = HEAP32[($4 + 12 | 0) >> 2] | 0; + } + $55 = HEAP32[($4 + 28 | 0) >> 2] | 0; + __stack_pointer = $4 + 32 | 0; + return $55 | 0; + } + + function btAlignedObjectArray_btCollisionShape____operator_5b_5d_28int_29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, $5 = 0, $32 = 0; + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; + label$1 : { + if ((HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0) { + break label$1 + } + __assert_fail(85840 | 0, 78192 | 0, 183 | 0, 83901 | 0); + wasm2js_trap(); + } + label$2 : { + if ((HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) < (btAlignedObjectArray_btCollisionShape____size_28_29_20const($5 | 0) | 0 | 0) & 1 | 0) { + break label$2 + } + __assert_fail(87321 | 0, 78192 | 0, 184 | 0, 83901 | 0); + wasm2js_trap(); + } + $32 = (HEAP32[($5 + 12 | 0) >> 2] | 0) + ((HEAP32[($4 + 8 | 0) >> 2] | 0) << 2 | 0) | 0; + __stack_pointer = $4 + 16 | 0; + return $32 | 0; + } + + function btHashPtr__getHash_28_29_20const($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + HEAP8[($3 + 11 | 0) >> 0] = 0; + HEAP32[($3 + 4 | 0) >> 2] = HEAP32[$4 >> 2] | 0; + HEAP32[($3 + 4 | 0) >> 2] = (HEAP32[($3 + 4 | 0) >> 2] | 0) + (((HEAP32[($3 + 4 | 0) >> 2] | 0) << 15 | 0) ^ -1 | 0) | 0; + HEAP32[($3 + 4 | 0) >> 2] = (HEAP32[($3 + 4 | 0) >> 2] | 0) ^ ((HEAP32[($3 + 4 | 0) >> 2] | 0) >>> 10 | 0) | 0; + HEAP32[($3 + 4 | 0) >> 2] = (HEAP32[($3 + 4 | 0) >> 2] | 0) + ((HEAP32[($3 + 4 | 0) >> 2] | 0) << 3 | 0) | 0; + HEAP32[($3 + 4 | 0) >> 2] = (HEAP32[($3 + 4 | 0) >> 2] | 0) ^ ((HEAP32[($3 + 4 | 0) >> 2] | 0) >>> 6 | 0) | 0; + HEAP32[($3 + 4 | 0) >> 2] = (HEAP32[($3 + 4 | 0) >> 2] | 0) + (((HEAP32[($3 + 4 | 0) >> 2] | 0) << 11 | 0) ^ -1 | 0) | 0; + HEAP32[($3 + 4 | 0) >> 2] = (HEAP32[($3 + 4 | 0) >> 2] | 0) ^ ((HEAP32[($3 + 4 | 0) >> 2] | 0) >>> 16 | 0) | 0; + return HEAP32[($3 + 4 | 0) >> 2] | 0 | 0; + } + + function btAlignedObjectArray_btCollisionShape____capacity_28_29_20const($0) { + $0 = $0 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + return HEAP32[((HEAP32[($3 + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0; + } + + function btAlignedObjectArray_btCollisionShape____size_28_29_20const($0) { + $0 = $0 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + return HEAP32[((HEAP32[($3 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0; + } + + function btAlignedObjectArray_btCollisionShape____push_back_28btCollisionShape__20const__29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $5 = 0, $4 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; + (wasm2js_i32$0 = $4, wasm2js_i32$1 = btAlignedObjectArray_btCollisionShape____size_28_29_20const($5 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + if (!((HEAP32[($4 + 4 | 0) >> 2] | 0 | 0) == (btAlignedObjectArray_btCollisionShape____capacity_28_29_20const($5 | 0) | 0 | 0) & 1 | 0)) { + break label$1 + } + btAlignedObjectArray_btCollisionShape____reserve_28int_29($5 | 0, btAlignedObjectArray_btCollisionShape____allocSize_28int_29($5 | 0, btAlignedObjectArray_btCollisionShape____size_28_29_20const($5 | 0) | 0 | 0) | 0 | 0); + } + HEAP32[((HEAP32[($5 + 12 | 0) >> 2] | 0) + ((HEAP32[($5 + 4 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = HEAP32[(HEAP32[($4 + 8 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($5 + 4 | 0) >> 2] = (HEAP32[($5 + 4 | 0) >> 2] | 0) + 1 | 0; + __stack_pointer = $4 + 16 | 0; + return; + } + + function btAlignedObjectArray_btHashPtr___push_back_28btHashPtr_20const__29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $5 = 0, $4 = 0, i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, i64toi32_i32$1 = 0, $79 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; + (wasm2js_i32$0 = $4, wasm2js_i32$1 = btAlignedObjectArray_btHashPtr___size_28_29_20const($5 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + if (!((HEAP32[($4 + 4 | 0) >> 2] | 0 | 0) == (btAlignedObjectArray_btHashPtr___capacity_28_29_20const($5 | 0) | 0 | 0) & 1 | 0)) { + break label$1 + } + btAlignedObjectArray_btHashPtr___reserve_28int_29($5 | 0, btAlignedObjectArray_btHashPtr___allocSize_28int_29($5 | 0, btAlignedObjectArray_btHashPtr___size_28_29_20const($5 | 0) | 0 | 0) | 0 | 0); + } + i64toi32_i32$2 = HEAP32[($4 + 8 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $79 = i64toi32_i32$0; + i64toi32_i32$0 = (HEAP32[($5 + 12 | 0) >> 2] | 0) + ((HEAP32[($5 + 4 | 0) >> 2] | 0) << 3 | 0) | 0; + HEAP32[i64toi32_i32$0 >> 2] = $79; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + HEAP32[($5 + 4 | 0) >> 2] = (HEAP32[($5 + 4 | 0) >> 2] | 0) + 1 | 0; + __stack_pointer = $4 + 16 | 0; + return; + } + + function btHashMap_btHashPtr_2c_20btCollisionShape____growTables_28btHashPtr_20const__29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, $5 = 0, $17 = 0, $24 = 0, $80 = 0, $85 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4 = __stack_pointer - 32 | 0; + __stack_pointer = $4; + HEAP32[($4 + 28 | 0) >> 2] = $0; + HEAP32[($4 + 24 | 0) >> 2] = $1; + $5 = HEAP32[($4 + 28 | 0) >> 2] | 0; + (wasm2js_i32$0 = $4, wasm2js_i32$1 = btAlignedObjectArray_btCollisionShape____capacity_28_29_20const($5 + 40 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + if (!((btAlignedObjectArray_int___size_28_29_20const($5 | 0) | 0 | 0) < (HEAP32[($4 + 20 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$1 + } + (wasm2js_i32$0 = $4, wasm2js_i32$1 = btAlignedObjectArray_int___size_28_29_20const($5 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + $17 = HEAP32[($4 + 20 | 0) >> 2] | 0; + HEAP32[($4 + 12 | 0) >> 2] = 0; + btAlignedObjectArray_int___resize_28int_2c_20int_20const__29($5 | 0, $17 | 0, $4 + 12 | 0 | 0); + $24 = HEAP32[($4 + 20 | 0) >> 2] | 0; + HEAP32[($4 + 8 | 0) >> 2] = 0; + btAlignedObjectArray_int___resize_28int_2c_20int_20const__29($5 + 20 | 0 | 0, $24 | 0, $4 + 8 | 0 | 0); + HEAP32[($4 + 4 | 0) >> 2] = 0; + label$2 : { + label$3 : while (1) { + if (!((HEAP32[($4 + 4 | 0) >> 2] | 0 | 0) < (HEAP32[($4 + 20 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$2 + } + (wasm2js_i32$0 = btAlignedObjectArray_int___operator_5b_5d_28int_29($5 | 0, HEAP32[($4 + 4 | 0) >> 2] | 0 | 0) | 0, wasm2js_i32$1 = -1), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + HEAP32[($4 + 4 | 0) >> 2] = (HEAP32[($4 + 4 | 0) >> 2] | 0) + 1 | 0; + continue label$3; + }; + } + HEAP32[($4 + 4 | 0) >> 2] = 0; + label$4 : { + label$5 : while (1) { + if (!((HEAP32[($4 + 4 | 0) >> 2] | 0 | 0) < (HEAP32[($4 + 20 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$4 + } + (wasm2js_i32$0 = btAlignedObjectArray_int___operator_5b_5d_28int_29($5 + 20 | 0 | 0, HEAP32[($4 + 4 | 0) >> 2] | 0 | 0) | 0, wasm2js_i32$1 = -1), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + HEAP32[($4 + 4 | 0) >> 2] = (HEAP32[($4 + 4 | 0) >> 2] | 0) + 1 | 0; + continue label$5; + }; + } + HEAP32[($4 + 4 | 0) >> 2] = 0; + label$6 : { + label$7 : while (1) { + if (!((HEAP32[($4 + 4 | 0) >> 2] | 0 | 0) < (HEAP32[($4 + 16 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$6 + } + (wasm2js_i32$0 = $4, wasm2js_i32$1 = (btHashPtr__getHash_28_29_20const(btAlignedObjectArray_btHashPtr___operator_5b_5d_28int_29($5 + 60 | 0 | 0, HEAP32[($4 + 4 | 0) >> 2] | 0 | 0) | 0 | 0) | 0) & ((btAlignedObjectArray_btCollisionShape____capacity_28_29_20const($5 + 40 | 0 | 0) | 0) - 1 | 0) | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + $80 = HEAP32[(btAlignedObjectArray_int___operator_5b_5d_28int_29($5 | 0, HEAP32[$4 >> 2] | 0 | 0) | 0) >> 2] | 0; + (wasm2js_i32$0 = btAlignedObjectArray_int___operator_5b_5d_28int_29($5 + 20 | 0 | 0, HEAP32[($4 + 4 | 0) >> 2] | 0 | 0) | 0, wasm2js_i32$1 = $80), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + $85 = HEAP32[($4 + 4 | 0) >> 2] | 0; + (wasm2js_i32$0 = btAlignedObjectArray_int___operator_5b_5d_28int_29($5 | 0, HEAP32[$4 >> 2] | 0 | 0) | 0, wasm2js_i32$1 = $85), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + HEAP32[($4 + 4 | 0) >> 2] = (HEAP32[($4 + 4 | 0) >> 2] | 0) + 1 | 0; + continue label$7; + }; + } + } + __stack_pointer = $4 + 32 | 0; + return; + } + + function btAlignedObjectArray_btHashPtr____btAlignedObjectArray_28_29($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + btAlignedObjectArray_btHashPtr___clear_28_29($4 | 0); + __stack_pointer = $3 + 16 | 0; + return $4 | 0; + } + + function btAlignedObjectArray_btCollisionShape_____btAlignedObjectArray_28_29($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + btAlignedObjectArray_btCollisionShape____clear_28_29($4 | 0); + __stack_pointer = $3 + 16 | 0; + return $4 | 0; + } + + function btCollisionWorld__serialize_28btSerializer__29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, $6 = 0, $10 = 0, $5 = 0; + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; + $6 = HEAP32[($4 + 8 | 0) >> 2] | 0; + FUNCTION_TABLE[HEAP32[((HEAP32[$6 >> 2] | 0) + 32 | 0) >> 2] | 0 | 0]($6); + btCollisionWorld__serializeCollisionObjects_28btSerializer__29($5 | 0, HEAP32[($4 + 8 | 0) >> 2] | 0 | 0); + $10 = HEAP32[($4 + 8 | 0) >> 2] | 0; + FUNCTION_TABLE[HEAP32[((HEAP32[$10 >> 2] | 0) + 36 | 0) >> 2] | 0 | 0]($10); + __stack_pointer = $4 + 16 | 0; + return; + } + + function btCollisionWorld__setDebugDrawer_28btIDebugDraw__29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0; + $4 = __stack_pointer - 16 | 0; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + HEAP32[((HEAP32[($4 + 12 | 0) >> 2] | 0) + 72 | 0) >> 2] = HEAP32[($4 + 8 | 0) >> 2] | 0; + return; + } + + function btCollisionWorld__getDebugDrawer_28_29($0) { + $0 = $0 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + return HEAP32[((HEAP32[($3 + 12 | 0) >> 2] | 0) + 72 | 0) >> 2] | 0 | 0; + } + + function btConvexCast__CastResult__DebugDraw_28float_29($0, $1) { + $0 = $0 | 0; + $1 = Math_fround($1); + var $4 = 0; + $4 = __stack_pointer - 16 | 0; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAPF32[($4 + 8 | 0) >> 2] = $1; + return; + } + + function btConvexCast__CastResult__drawCoordSystem_28btTransform_20const__29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0; + $4 = __stack_pointer - 16 | 0; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + return; + } + + function btConvexCast__CastResult__reportFailure_28int_2c_20int_29($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $5 = 0; + $5 = __stack_pointer - 16 | 0; + HEAP32[($5 + 12 | 0) >> 2] = $0; + HEAP32[($5 + 8 | 0) >> 2] = $1; + HEAP32[($5 + 4 | 0) >> 2] = $2; + return; + } + + function btConvexCast__CastResult___CastResult_28_29_1($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + btConvexCast__CastResult___CastResult_28_29($4 | 0) | 0; + operator_20delete_28void__29($4 | 0); + __stack_pointer = $3 + 16 | 0; + return; + } + + function btUsageBitfield__btUsageBitfield_28_29($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + btUsageBitfield__reset_28_29($4 | 0); + __stack_pointer = $3 + 16 | 0; + return $4 | 0; + } + + function btUsageBitfield__reset_28_29($0) { + $0 = $0 | 0; + var $4 = 0, $3 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + HEAP8[$4 >> 0] = (HEAPU8[$4 >> 0] | 0) & 254 | 0; + HEAP8[$4 >> 0] = (HEAPU8[$4 >> 0] | 0) & 253 | 0; + HEAP8[$4 >> 0] = (HEAPU8[$4 >> 0] | 0) & 251 | 0; + HEAP8[$4 >> 0] = (HEAPU8[$4 >> 0] | 0) & -9 | 0; + return; + } + + function btCollisionWorld__rayTestSingleInternal_28btTransform_20const__2c_20btTransform_20const__2c_20btCollisionObjectWrapper_20const__2c_20btCollisionWorld__RayResultCallback__29__BridgeTriangleRaycastCallback___BridgeTriangleRaycastCallback_28_29_1($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + btCollisionWorld__rayTestSingleInternal_28btTransform_20const__2c_20btTransform_20const__2c_20btCollisionObjectWrapper_20const__2c_20btCollisionWorld__RayResultCallback__29__BridgeTriangleRaycastCallback___BridgeTriangleRaycastCallback_28_29($4 | 0) | 0; + operator_20delete_28void__29($4 | 0); + __stack_pointer = $3 + 16 | 0; + return; + } + + function btCollisionWorld__rayTestSingleInternal_28btTransform_20const__2c_20btTransform_20const__2c_20btCollisionObjectWrapper_20const__2c_20btCollisionWorld__RayResultCallback__29__BridgeTriangleRaycastCallback__reportHit_28btVector3_20const__2c_20float_2c_20int_2c_20int_29($0, $1, $2, $3, $4) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = Math_fround($2); + $3 = $3 | 0; + $4 = $4 | 0; + var $7 = 0, $8 = 0, $31 = 0, $40 = Math_fround(0); + $7 = __stack_pointer - 80 | 0; + __stack_pointer = $7; + HEAP32[($7 + 76 | 0) >> 2] = $0; + HEAP32[($7 + 72 | 0) >> 2] = $1; + HEAPF32[($7 + 68 | 0) >> 2] = $2; + HEAP32[($7 + 64 | 0) >> 2] = $3; + HEAP32[($7 + 60 | 0) >> 2] = $4; + $8 = HEAP32[($7 + 76 | 0) >> 2] | 0; + HEAP32[($7 + 48 | 0) >> 2] = HEAP32[($7 + 64 | 0) >> 2] | 0; + HEAP32[($7 + 52 | 0) >> 2] = HEAP32[($7 + 60 | 0) >> 2] | 0; + HEAP32[($7 + 56 | 0) >> 2] = HEAP32[($8 + 52 | 0) >> 2] | 0; + operator__28btMatrix3x3_20const__2c_20btVector3_20const__29($7 + 32 | 0 | 0, btTransform__getBasis_28_29($8 + 56 | 0 | 0) | 0 | 0, HEAP32[($7 + 72 | 0) >> 2] | 0 | 0); + btCollisionWorld__LocalRayResult__LocalRayResult_28btCollisionObject_20const__2c_20btCollisionWorld__LocalShapeInfo__2c_20btVector3_20const__2c_20float_29($7 + 4 | 0 | 0, HEAP32[($8 + 48 | 0) >> 2] | 0 | 0, $7 + 48 | 0 | 0, $7 + 32 | 0 | 0, Math_fround(Math_fround(HEAPF32[($7 + 68 | 0) >> 2]))) | 0; + HEAP8[($7 + 3 | 0) >> 0] = 1; + $31 = HEAP32[($8 + 44 | 0) >> 2] | 0; + $40 = Math_fround(FUNCTION_TABLE[HEAP32[((HEAP32[$31 >> 2] | 0) + 12 | 0) >> 2] | 0 | 0]($31, $7 + 4 | 0, (HEAPU8[($7 + 3 | 0) >> 0] | 0) & 1 | 0)); + __stack_pointer = $7 + 80 | 0; + return Math_fround($40); + } + + function btCollisionWorld__rayTestSingleInternal_28btTransform_20const__2c_20btTransform_20const__2c_20btCollisionObjectWrapper_20const__2c_20btCollisionWorld__RayResultCallback__29__RayTester___RayTester_28_29_1($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + btCollisionWorld__rayTestSingleInternal_28btTransform_20const__2c_20btTransform_20const__2c_20btCollisionObjectWrapper_20const__2c_20btCollisionWorld__RayResultCallback__29__RayTester___RayTester_28_29($4 | 0) | 0; + operator_20delete_28void__29($4 | 0); + __stack_pointer = $3 + 16 | 0; + return; + } + + function btCollisionWorld__rayTestSingleInternal_28btTransform_20const__2c_20btTransform_20const__2c_20btCollisionObjectWrapper_20const__2c_20btCollisionWorld__RayResultCallback__29__RayTester__Process_28btDbvtNode_20const__29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0; + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + btCollisionWorld__rayTestSingleInternal_28btTransform_20const__2c_20btTransform_20const__2c_20btCollisionObjectWrapper_20const__2c_20btCollisionWorld__RayResultCallback__29__RayTester__ProcessLeaf_28int_29(HEAP32[($4 + 12 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4 + 8 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0 | 0); + __stack_pointer = $4 + 16 | 0; + return; + } + + function btCollisionWorld__rayTestSingleInternal_28btTransform_20const__2c_20btTransform_20const__2c_20btCollisionObjectWrapper_20const__2c_20btCollisionWorld__RayResultCallback__29__LocalInfoAdder2___LocalInfoAdder2_28_29_1($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + btCollisionWorld__rayTestSingleInternal_28btTransform_20const__2c_20btTransform_20const__2c_20btCollisionObjectWrapper_20const__2c_20btCollisionWorld__RayResultCallback__29__LocalInfoAdder2___LocalInfoAdder2_28_29($4 | 0) | 0; + operator_20delete_28void__29($4 | 0); + __stack_pointer = $3 + 16 | 0; + return; + } + + function btCollisionWorld__rayTestSingleInternal_28btTransform_20const__2c_20btTransform_20const__2c_20btCollisionObjectWrapper_20const__2c_20btCollisionWorld__RayResultCallback__29__LocalInfoAdder2__needsCollision_28btBroadphaseProxy__29_20const($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, $6 = 0, $12 = 0; + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + $6 = HEAP32[((HEAP32[($4 + 12 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0; + $12 = (FUNCTION_TABLE[HEAP32[((HEAP32[$6 >> 2] | 0) + 8 | 0) >> 2] | 0 | 0]($6, HEAP32[($4 + 8 | 0) >> 2] | 0) | 0) & 1 | 0; + __stack_pointer = $4 + 16 | 0; + return $12 | 0; + } + + function btCollisionWorld__rayTestSingleInternal_28btTransform_20const__2c_20btTransform_20const__2c_20btCollisionObjectWrapper_20const__2c_20btCollisionWorld__RayResultCallback__29__LocalInfoAdder2__addSingleResult_28btCollisionWorld__LocalRayResult__2c_20bool_29($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $5 = 0, $7 = 0, $28 = 0, $38 = Math_fround(0), wasm2js_i32$0 = 0, wasm2js_f32$0 = Math_fround(0); + $5 = __stack_pointer - 32 | 0; + __stack_pointer = $5; + HEAP32[($5 + 28 | 0) >> 2] = $0; + HEAP32[($5 + 24 | 0) >> 2] = $1; + HEAP8[($5 + 23 | 0) >> 0] = $2; + $7 = HEAP32[($5 + 28 | 0) >> 2] | 0; + HEAP32[($5 + 8 | 0) >> 2] = HEAP32[($7 + 28 | 0) >> 2] | 0; + HEAP32[($5 + 12 | 0) >> 2] = HEAP32[($7 + 28 | 0) >> 2] | 0; + label$1 : { + label$2 : { + if (!((HEAP32[((HEAP32[($5 + 24 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[((HEAP32[($5 + 24 | 0) >> 2] | 0) + 4 | 0) >> 2] = $5 + 8 | 0; + break label$1; + } + HEAP32[(HEAP32[((HEAP32[($5 + 24 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) >> 2] = HEAP32[($7 + 28 | 0) >> 2] | 0; + HEAP32[((HEAP32[((HEAP32[($5 + 24 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + 4 | 0) >> 2] = HEAP32[($7 + 28 | 0) >> 2] | 0; + } + $28 = HEAP32[($7 + 24 | 0) >> 2] | 0; + (wasm2js_i32$0 = $5, wasm2js_f32$0 = Math_fround(FUNCTION_TABLE[HEAP32[((HEAP32[$28 >> 2] | 0) + 12 | 0) >> 2] | 0 | 0]($28, HEAP32[($5 + 24 | 0) >> 2] | 0, (HEAPU8[($5 + 23 | 0) >> 0] | 0) & 1 | 0))), HEAPF32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_f32$0; + HEAPF32[($7 + 4 | 0) >> 2] = Math_fround(HEAPF32[((HEAP32[($7 + 24 | 0) >> 2] | 0) + 4 | 0) >> 2]); + $38 = Math_fround(HEAPF32[($5 + 4 | 0) >> 2]); + __stack_pointer = $5 + 32 | 0; + return Math_fround($38); + } + + function btConvexPenetrationDepthSolver___btConvexPenetrationDepthSolver_28_29_1($0) { + $0 = $0 | 0; + HEAP32[((__stack_pointer - 16 | 0) + 12 | 0) >> 2] = $0; + wasm2js_trap(); + } + + function btCollisionWorld__objectQuerySingleInternal_28btConvexShape_20const__2c_20btTransform_20const__2c_20btTransform_20const__2c_20btCollisionObjectWrapper_20const__2c_20btCollisionWorld__ConvexResultCallback__2c_20float_29__BridgeTriangleConvexcastCallback___BridgeTriangleConvexcastCallback_28_29_2($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + btCollisionWorld__objectQuerySingleInternal_28btConvexShape_20const__2c_20btTransform_20const__2c_20btTransform_20const__2c_20btCollisionObjectWrapper_20const__2c_20btCollisionWorld__ConvexResultCallback__2c_20float_29__BridgeTriangleConvexcastCallback___BridgeTriangleConvexcastCallback_28_29($4 | 0) | 0; + operator_20delete_28void__29($4 | 0); + __stack_pointer = $3 + 16 | 0; + return; + } + + function btCollisionWorld__objectQuerySingleInternal_28btConvexShape_20const__2c_20btTransform_20const__2c_20btTransform_20const__2c_20btCollisionObjectWrapper_20const__2c_20btCollisionWorld__ConvexResultCallback__2c_20float_29__BridgeTriangleConvexcastCallback__reportHit_28btVector3_20const__2c_20btVector3_20const__2c_20float_2c_20int_2c_20int_29($0, $1, $2, $3, $4, $5) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = Math_fround($3); + $4 = $4 | 0; + $5 = $5 | 0; + var $8 = 0, $9 = 0, $30 = 0, $41 = Math_fround(0), wasm2js_i32$0 = 0, wasm2js_f32$0 = Math_fround(0); + $8 = __stack_pointer - 96 | 0; + __stack_pointer = $8; + HEAP32[($8 + 88 | 0) >> 2] = $0; + HEAP32[($8 + 84 | 0) >> 2] = $1; + HEAP32[($8 + 80 | 0) >> 2] = $2; + HEAPF32[($8 + 76 | 0) >> 2] = $3; + HEAP32[($8 + 72 | 0) >> 2] = $4; + HEAP32[($8 + 68 | 0) >> 2] = $5; + $9 = HEAP32[($8 + 88 | 0) >> 2] | 0; + HEAP32[($8 + 56 | 0) >> 2] = HEAP32[($8 + 72 | 0) >> 2] | 0; + HEAP32[($8 + 60 | 0) >> 2] = HEAP32[($8 + 68 | 0) >> 2] | 0; + HEAP32[($8 + 64 | 0) >> 2] = HEAP32[($9 + 220 | 0) >> 2] | 0; + label$1 : { + label$2 : { + if (!(Math_fround(HEAPF32[($8 + 76 | 0) >> 2]) <= Math_fround(HEAPF32[((HEAP32[($9 + 212 | 0) >> 2] | 0) + 4 | 0) >> 2]) & 1 | 0)) { + break label$2 + } + btCollisionWorld__LocalConvexResult__LocalConvexResult_28btCollisionObject_20const__2c_20btCollisionWorld__LocalShapeInfo__2c_20btVector3_20const__2c_20btVector3_20const__2c_20float_29($8 + 12 | 0 | 0, HEAP32[($9 + 216 | 0) >> 2] | 0 | 0, $8 + 56 | 0 | 0, HEAP32[($8 + 84 | 0) >> 2] | 0 | 0, HEAP32[($8 + 80 | 0) >> 2] | 0 | 0, Math_fround(Math_fround(HEAPF32[($8 + 76 | 0) >> 2]))) | 0; + HEAP8[($8 + 11 | 0) >> 0] = 1; + $30 = HEAP32[($9 + 212 | 0) >> 2] | 0; + (wasm2js_i32$0 = $8, wasm2js_f32$0 = Math_fround(FUNCTION_TABLE[HEAP32[((HEAP32[$30 >> 2] | 0) + 12 | 0) >> 2] | 0 | 0]($30, $8 + 12 | 0, (HEAPU8[($8 + 11 | 0) >> 0] | 0) & 1 | 0))), HEAPF32[(wasm2js_i32$0 + 92 | 0) >> 2] = wasm2js_f32$0; + break label$1; + } + HEAPF32[($8 + 92 | 0) >> 2] = Math_fround(HEAPF32[($8 + 76 | 0) >> 2]); + } + $41 = Math_fround(HEAPF32[($8 + 92 | 0) >> 2]); + __stack_pointer = $8 + 96 | 0; + return Math_fround($41); + } + + function btCollisionWorld__objectQuerySingleInternal_28btConvexShape_20const__2c_20btTransform_20const__2c_20btTransform_20const__2c_20btCollisionObjectWrapper_20const__2c_20btCollisionWorld__ConvexResultCallback__2c_20float_29__BridgeTriangleConvexcastCallback___BridgeTriangleConvexcastCallback_28_29_3($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + btCollisionWorld__objectQuerySingleInternal_28btConvexShape_20const__2c_20btTransform_20const__2c_20btTransform_20const__2c_20btCollisionObjectWrapper_20const__2c_20btCollisionWorld__ConvexResultCallback__2c_20float_29__BridgeTriangleConvexcastCallback___BridgeTriangleConvexcastCallback_28_29_1($4 | 0) | 0; + operator_20delete_28void__29($4 | 0); + __stack_pointer = $3 + 16 | 0; + return; + } + + function btCollisionWorld__objectQuerySingleInternal_28btConvexShape_20const__2c_20btTransform_20const__2c_20btTransform_20const__2c_20btCollisionObjectWrapper_20const__2c_20btCollisionWorld__ConvexResultCallback__2c_20float_29__BridgeTriangleConvexcastCallback__reportHit_28btVector3_20const__2c_20btVector3_20const__2c_20float_2c_20int_2c_20int_29_1($0, $1, $2, $3, $4, $5) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = Math_fround($3); + $4 = $4 | 0; + $5 = $5 | 0; + var $8 = 0, $9 = 0, $30 = 0, $41 = Math_fround(0), wasm2js_i32$0 = 0, wasm2js_f32$0 = Math_fround(0); + $8 = __stack_pointer - 96 | 0; + __stack_pointer = $8; + HEAP32[($8 + 88 | 0) >> 2] = $0; + HEAP32[($8 + 84 | 0) >> 2] = $1; + HEAP32[($8 + 80 | 0) >> 2] = $2; + HEAPF32[($8 + 76 | 0) >> 2] = $3; + HEAP32[($8 + 72 | 0) >> 2] = $4; + HEAP32[($8 + 68 | 0) >> 2] = $5; + $9 = HEAP32[($8 + 88 | 0) >> 2] | 0; + HEAP32[($8 + 56 | 0) >> 2] = HEAP32[($8 + 72 | 0) >> 2] | 0; + HEAP32[($8 + 60 | 0) >> 2] = HEAP32[($8 + 68 | 0) >> 2] | 0; + HEAP32[($8 + 64 | 0) >> 2] = HEAP32[($9 + 220 | 0) >> 2] | 0; + label$1 : { + label$2 : { + if (!(Math_fround(HEAPF32[($8 + 76 | 0) >> 2]) <= Math_fround(HEAPF32[((HEAP32[($9 + 212 | 0) >> 2] | 0) + 4 | 0) >> 2]) & 1 | 0)) { + break label$2 + } + btCollisionWorld__LocalConvexResult__LocalConvexResult_28btCollisionObject_20const__2c_20btCollisionWorld__LocalShapeInfo__2c_20btVector3_20const__2c_20btVector3_20const__2c_20float_29($8 + 12 | 0 | 0, HEAP32[($9 + 216 | 0) >> 2] | 0 | 0, $8 + 56 | 0 | 0, HEAP32[($8 + 84 | 0) >> 2] | 0 | 0, HEAP32[($8 + 80 | 0) >> 2] | 0 | 0, Math_fround(Math_fround(HEAPF32[($8 + 76 | 0) >> 2]))) | 0; + HEAP8[($8 + 11 | 0) >> 0] = 1; + $30 = HEAP32[($9 + 212 | 0) >> 2] | 0; + (wasm2js_i32$0 = $8, wasm2js_f32$0 = Math_fround(FUNCTION_TABLE[HEAP32[((HEAP32[$30 >> 2] | 0) + 12 | 0) >> 2] | 0 | 0]($30, $8 + 12 | 0, (HEAPU8[($8 + 11 | 0) >> 0] | 0) & 1 | 0))), HEAPF32[(wasm2js_i32$0 + 92 | 0) >> 2] = wasm2js_f32$0; + break label$1; + } + HEAPF32[($8 + 92 | 0) >> 2] = Math_fround(HEAPF32[($8 + 76 | 0) >> 2]); + } + $41 = Math_fround(HEAPF32[($8 + 92 | 0) >> 2]); + __stack_pointer = $8 + 96 | 0; + return Math_fround($41); + } + + function btCollisionWorld__objectQuerySingleInternal_28btConvexShape_20const__2c_20btTransform_20const__2c_20btTransform_20const__2c_20btCollisionObjectWrapper_20const__2c_20btCollisionWorld__ConvexResultCallback__2c_20float_29__btCompoundLeafCallback___btCompoundLeafCallback_28_29_1($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + btCollisionWorld__objectQuerySingleInternal_28btConvexShape_20const__2c_20btTransform_20const__2c_20btTransform_20const__2c_20btCollisionObjectWrapper_20const__2c_20btCollisionWorld__ConvexResultCallback__2c_20float_29__btCompoundLeafCallback___btCompoundLeafCallback_28_29($4 | 0) | 0; + operator_20delete_28void__29($4 | 0); + __stack_pointer = $3 + 16 | 0; + return; + } + + function btCollisionWorld__objectQuerySingleInternal_28btConvexShape_20const__2c_20btTransform_20const__2c_20btTransform_20const__2c_20btCollisionObjectWrapper_20const__2c_20btCollisionWorld__ConvexResultCallback__2c_20float_29__btCompoundLeafCallback__Process_28btDbvtNode_20const__29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, $5 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4 = __stack_pointer - 80 | 0; + __stack_pointer = $4; + HEAP32[($4 + 76 | 0) >> 2] = $0; + HEAP32[($4 + 72 | 0) >> 2] = $1; + $5 = HEAP32[($4 + 76 | 0) >> 2] | 0; + HEAP32[($4 + 68 | 0) >> 2] = HEAP32[((HEAP32[($4 + 72 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0; + btTransform__btTransform_28btTransform_20const__29($4 + 4 | 0 | 0, btCompoundShape__getChildTransform_28int_29_20const(HEAP32[($5 + 24 | 0) >> 2] | 0 | 0, HEAP32[($4 + 68 | 0) >> 2] | 0 | 0) | 0 | 0) | 0; + (wasm2js_i32$0 = $4, wasm2js_i32$1 = btCompoundShape__getChildShape_28int_29_20const(HEAP32[($5 + 24 | 0) >> 2] | 0 | 0, HEAP32[($4 + 68 | 0) >> 2] | 0 | 0) | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + btCollisionWorld__objectQuerySingleInternal_28btConvexShape_20const__2c_20btTransform_20const__2c_20btTransform_20const__2c_20btCollisionObjectWrapper_20const__2c_20btCollisionWorld__ConvexResultCallback__2c_20float_29__btCompoundLeafCallback__ProcessChild_28int_2c_20btTransform_20const__2c_20btCollisionShape_20const__29($5 | 0, HEAP32[($4 + 68 | 0) >> 2] | 0 | 0, $4 + 4 | 0 | 0, HEAP32[$4 >> 2] | 0 | 0); + __stack_pointer = $4 + 80 | 0; + return; + } + + function btCollisionWorld__objectQuerySingleInternal_28btConvexShape_20const__2c_20btTransform_20const__2c_20btTransform_20const__2c_20btCollisionObjectWrapper_20const__2c_20btCollisionWorld__ConvexResultCallback__2c_20float_29__btCompoundLeafCallback__ProcessChild_28int_2c_20btTransform_20const__2c_20btCollisionShape_20const__29__LocalInfoAdder___LocalInfoAdder_28_29_1($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + btCollisionWorld__objectQuerySingleInternal_28btConvexShape_20const__2c_20btTransform_20const__2c_20btTransform_20const__2c_20btCollisionObjectWrapper_20const__2c_20btCollisionWorld__ConvexResultCallback__2c_20float_29__btCompoundLeafCallback__ProcessChild_28int_2c_20btTransform_20const__2c_20btCollisionShape_20const__29__LocalInfoAdder___LocalInfoAdder_28_29($4 | 0) | 0; + operator_20delete_28void__29($4 | 0); + __stack_pointer = $3 + 16 | 0; + return; + } + + function btCollisionWorld__objectQuerySingleInternal_28btConvexShape_20const__2c_20btTransform_20const__2c_20btTransform_20const__2c_20btCollisionObjectWrapper_20const__2c_20btCollisionWorld__ConvexResultCallback__2c_20float_29__btCompoundLeafCallback__ProcessChild_28int_2c_20btTransform_20const__2c_20btCollisionShape_20const__29__LocalInfoAdder__needsCollision_28btBroadphaseProxy__29_20const($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, $6 = 0, $12 = 0; + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + $6 = HEAP32[((HEAP32[($4 + 12 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0; + $12 = (FUNCTION_TABLE[HEAP32[((HEAP32[$6 >> 2] | 0) + 8 | 0) >> 2] | 0 | 0]($6, HEAP32[($4 + 8 | 0) >> 2] | 0) | 0) & 1 | 0; + __stack_pointer = $4 + 16 | 0; + return $12 | 0; + } + + function btCollisionWorld__objectQuerySingleInternal_28btConvexShape_20const__2c_20btTransform_20const__2c_20btTransform_20const__2c_20btCollisionObjectWrapper_20const__2c_20btCollisionWorld__ConvexResultCallback__2c_20float_29__btCompoundLeafCallback__ProcessChild_28int_2c_20btTransform_20const__2c_20btCollisionShape_20const__29__LocalInfoAdder__addSingleResult_28btCollisionWorld__LocalConvexResult__2c_20bool_29($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $5 = 0, $7 = 0, $23 = 0, $33 = Math_fround(0), wasm2js_i32$0 = 0, wasm2js_f32$0 = Math_fround(0); + $5 = __stack_pointer - 32 | 0; + __stack_pointer = $5; + HEAP32[($5 + 28 | 0) >> 2] = $0; + HEAP32[($5 + 24 | 0) >> 2] = $1; + HEAP8[($5 + 23 | 0) >> 0] = $2; + $7 = HEAP32[($5 + 28 | 0) >> 2] | 0; + HEAP32[($5 + 8 | 0) >> 2] = -1; + HEAP32[($5 + 12 | 0) >> 2] = HEAP32[($7 + 28 | 0) >> 2] | 0; + HEAP32[($5 + 16 | 0) >> 2] = HEAP32[($7 + 20 | 0) >> 2] | 0; + label$1 : { + if (!((HEAP32[((HEAP32[($5 + 24 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$1 + } + HEAP32[((HEAP32[($5 + 24 | 0) >> 2] | 0) + 4 | 0) >> 2] = $5 + 8 | 0; + } + $23 = HEAP32[($7 + 24 | 0) >> 2] | 0; + (wasm2js_i32$0 = $5, wasm2js_f32$0 = Math_fround(FUNCTION_TABLE[HEAP32[((HEAP32[$23 >> 2] | 0) + 12 | 0) >> 2] | 0 | 0]($23, HEAP32[($5 + 24 | 0) >> 2] | 0, (HEAPU8[($5 + 23 | 0) >> 0] | 0) & 1 | 0))), HEAPF32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_f32$0; + HEAPF32[($7 + 4 | 0) >> 2] = Math_fround(HEAPF32[((HEAP32[($7 + 24 | 0) >> 2] | 0) + 4 | 0) >> 2]); + $33 = Math_fround(HEAPF32[($5 + 4 | 0) >> 2]); + __stack_pointer = $5 + 32 | 0; + return Math_fround($33); + } + + function btSingleRayCallback___btSingleRayCallback_28_29_1($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + btSingleRayCallback___btSingleRayCallback_28_29($4 | 0) | 0; + operator_20delete_28void__29($4 | 0); + __stack_pointer = $3 + 16 | 0; + return; + } + + function btSingleRayCallback__process_28btBroadphaseProxy_20const__29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, $5 = 0, $18 = 0, $41 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0, wasm2js_i32$2 = 0; + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[($4 + 8 | 0) >> 2] = $0; + HEAP32[($4 + 4 | 0) >> 2] = $1; + $5 = HEAP32[($4 + 8 | 0) >> 2] | 0; + label$1 : { + label$2 : { + if (!(Math_fround(HEAPF32[((HEAP32[($5 + 216 | 0) >> 2] | 0) + 4 | 0) >> 2]) == Math_fround(0 | 0) & 1 | 0)) { + break label$2 + } + HEAP8[($4 + 15 | 0) >> 0] = 0 & 1 | 0; + break label$1; + } + HEAP32[$4 >> 2] = HEAP32[(HEAP32[($4 + 4 | 0) >> 2] | 0) >> 2] | 0; + $18 = HEAP32[($5 + 216 | 0) >> 2] | 0; + label$3 : { + if (!((((wasm2js_i32$1 = $18, wasm2js_i32$2 = btCollisionObject__getBroadphaseHandle_28_29(HEAP32[$4 >> 2] | 0 | 0) | 0), wasm2js_i32$0 = HEAP32[((HEAP32[$18 >> 2] | 0) + 8 | 0) >> 2] | 0 | 0), FUNCTION_TABLE[wasm2js_i32$0](wasm2js_i32$1 | 0, wasm2js_i32$2 | 0) | 0) & 1 | 0)) { + break label$3 + } + btCollisionWorld__rayTestSingle_28btTransform_20const__2c_20btTransform_20const__2c_20btCollisionObject__2c_20btCollisionShape_20const__2c_20btTransform_20const__2c_20btCollisionWorld__RayResultCallback__29($5 + 68 | 0 | 0, $5 + 132 | 0 | 0, HEAP32[$4 >> 2] | 0 | 0, btCollisionObject__getCollisionShape_28_29(HEAP32[$4 >> 2] | 0 | 0) | 0 | 0, btCollisionObject__getWorldTransform_28_29(HEAP32[$4 >> 2] | 0 | 0) | 0 | 0, HEAP32[($5 + 216 | 0) >> 2] | 0 | 0); + } + HEAP8[($4 + 15 | 0) >> 0] = 1 & 1 | 0; + } + $41 = (HEAPU8[($4 + 15 | 0) >> 0] | 0) & 1 | 0; + __stack_pointer = $4 + 16 | 0; + return $41 | 0; + } + + function btBroadphaseRayCallback___btBroadphaseRayCallback_28_29_1($0) { + $0 = $0 | 0; + HEAP32[((__stack_pointer - 16 | 0) + 12 | 0) >> 2] = $0; + wasm2js_trap(); + } + + function btBroadphaseAabbCallback___btBroadphaseAabbCallback_28_29_1($0) { + $0 = $0 | 0; + HEAP32[((__stack_pointer - 16 | 0) + 12 | 0) >> 2] = $0; + wasm2js_trap(); + } + + function btMatrix3x3__inverse_28_29_20const($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, $5 = 0, $6 = 0, $7 = 0, $10 = 0, $13 = 0, $56 = 0, $62 = 0, $74 = 0, $75 = 0, $79 = 0, $92 = 0, $98 = 0, $99 = 0, wasm2js_i32$0 = 0, wasm2js_f32$0 = Math_fround(0); + $4 = __stack_pointer - 80 | 0; + __stack_pointer = $4; + HEAP32[($4 + 76 | 0) >> 2] = $0; + HEAP32[($4 + 72 | 0) >> 2] = $1; + $5 = HEAP32[($4 + 72 | 0) >> 2] | 0; + $6 = 1; + $7 = 2; + (wasm2js_i32$0 = $4, wasm2js_f32$0 = Math_fround(btMatrix3x3__cofac_28int_2c_20int_2c_20int_2c_20int_29_20const($5 | 0, $6 | 0, $6 | 0, $7 | 0, $7 | 0))), HEAPF32[(wasm2js_i32$0 + 52 | 0) >> 2] = wasm2js_f32$0; + $10 = 2; + (wasm2js_i32$0 = $4, wasm2js_f32$0 = Math_fround(btMatrix3x3__cofac_28int_2c_20int_2c_20int_2c_20int_29_20const($5 | 0, 1 | 0, $10 | 0, $10 | 0, 0 | 0))), HEAPF32[(wasm2js_i32$0 + 48 | 0) >> 2] = wasm2js_f32$0; + $13 = 1; + (wasm2js_i32$0 = $4, wasm2js_f32$0 = Math_fround(btMatrix3x3__cofac_28int_2c_20int_2c_20int_2c_20int_29_20const($5 | 0, $13 | 0, 0 | 0, 2 | 0, $13 | 0))), HEAPF32[(wasm2js_i32$0 + 44 | 0) >> 2] = wasm2js_f32$0; + btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($4 + 56 | 0 | 0, $4 + 52 | 0 | 0, $4 + 48 | 0 | 0, $4 + 44 | 0 | 0) | 0; + (wasm2js_i32$0 = $4, wasm2js_f32$0 = Math_fround(btVector3__dot_28btVector3_20const__29_20const(btMatrix3x3__operator_5b_5d_28int_29_20const($5 | 0, 0 | 0) | 0 | 0, $4 + 56 | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 40 | 0) >> 2] = wasm2js_f32$0; + label$1 : { + if (Math_fround(HEAPF32[($4 + 40 | 0) >> 2]) != Math_fround(0 | 0) & 1 | 0) { + break label$1 + } + __assert_fail(86667 | 0, 80201 | 0, 1008 | 0, 81394 | 0); + wasm2js_trap(); + } + HEAPF32[($4 + 36 | 0) >> 2] = Math_fround(Math_fround(1.0) / Math_fround(HEAPF32[($4 + 40 | 0) >> 2])); + (wasm2js_i32$0 = $4, wasm2js_f32$0 = Math_fround(Math_fround(HEAPF32[(btVector3__x_28_29_20const($4 + 56 | 0 | 0) | 0) >> 2]) * Math_fround(HEAPF32[($4 + 36 | 0) >> 2]))), HEAPF32[(wasm2js_i32$0 + 32 | 0) >> 2] = wasm2js_f32$0; + $56 = 2; + (wasm2js_i32$0 = $4, wasm2js_f32$0 = Math_fround(Math_fround(btMatrix3x3__cofac_28int_2c_20int_2c_20int_2c_20int_29_20const($5 | 0, 0 | 0, $56 | 0, $56 | 0, 1 | 0)) * Math_fround(HEAPF32[($4 + 36 | 0) >> 2]))), HEAPF32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_f32$0; + $62 = 1; + (wasm2js_i32$0 = $4, wasm2js_f32$0 = Math_fround(Math_fround(btMatrix3x3__cofac_28int_2c_20int_2c_20int_2c_20int_29_20const($5 | 0, 0 | 0, $62 | 0, $62 | 0, 2 | 0)) * Math_fround(HEAPF32[($4 + 36 | 0) >> 2]))), HEAPF32[(wasm2js_i32$0 + 24 | 0) >> 2] = wasm2js_f32$0; + (wasm2js_i32$0 = $4, wasm2js_f32$0 = Math_fround(Math_fround(HEAPF32[(btVector3__y_28_29_20const($4 + 56 | 0 | 0) | 0) >> 2]) * Math_fround(HEAPF32[($4 + 36 | 0) >> 2]))), HEAPF32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_f32$0; + $74 = 0; + $75 = 2; + (wasm2js_i32$0 = $4, wasm2js_f32$0 = Math_fround(Math_fround(btMatrix3x3__cofac_28int_2c_20int_2c_20int_2c_20int_29_20const($5 | 0, $74 | 0, $74 | 0, $75 | 0, $75 | 0)) * Math_fround(HEAPF32[($4 + 36 | 0) >> 2]))), HEAPF32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_f32$0; + $79 = 0; + (wasm2js_i32$0 = $4, wasm2js_f32$0 = Math_fround(Math_fround(btMatrix3x3__cofac_28int_2c_20int_2c_20int_2c_20int_29_20const($5 | 0, $79 | 0, 2 | 0, 1 | 0, $79 | 0)) * Math_fround(HEAPF32[($4 + 36 | 0) >> 2]))), HEAPF32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_f32$0; + (wasm2js_i32$0 = $4, wasm2js_f32$0 = Math_fround(Math_fround(HEAPF32[(btVector3__z_28_29_20const($4 + 56 | 0 | 0) | 0) >> 2]) * Math_fround(HEAPF32[($4 + 36 | 0) >> 2]))), HEAPF32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_f32$0; + $92 = 0; + (wasm2js_i32$0 = $4, wasm2js_f32$0 = Math_fround(Math_fround(btMatrix3x3__cofac_28int_2c_20int_2c_20int_2c_20int_29_20const($5 | 0, $92 | 0, 1 | 0, 2 | 0, $92 | 0)) * Math_fround(HEAPF32[($4 + 36 | 0) >> 2]))), HEAPF32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_f32$0; + $98 = 0; + $99 = 1; + (wasm2js_i32$0 = $4, wasm2js_f32$0 = Math_fround(Math_fround(btMatrix3x3__cofac_28int_2c_20int_2c_20int_2c_20int_29_20const($5 | 0, $98 | 0, $98 | 0, $99 | 0, $99 | 0)) * Math_fround(HEAPF32[($4 + 36 | 0) >> 2]))), HEAPF32[wasm2js_i32$0 >> 2] = wasm2js_f32$0; + btMatrix3x3__btMatrix3x3_28float_20const__2c_20float_20const__2c_20float_20const__2c_20float_20const__2c_20float_20const__2c_20float_20const__2c_20float_20const__2c_20float_20const__2c_20float_20const__29($0 | 0, $4 + 32 | 0 | 0, $4 + 28 | 0 | 0, $4 + 24 | 0 | 0, $4 + 20 | 0 | 0, $4 + 16 | 0 | 0, $4 + 12 | 0 | 0, $4 + 8 | 0 | 0, $4 + 4 | 0 | 0, $4 | 0) | 0; + __stack_pointer = $4 + 80 | 0; + return; + } + + function btQuaternion__normalize_28_29($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0, $9 = 0, wasm2js_i32$0 = 0, wasm2js_f32$0 = Math_fround(0); + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + (wasm2js_i32$0 = $3, wasm2js_f32$0 = Math_fround(btQuaternion__length_28_29_20const($4 | 0))), HEAPF32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_f32$0; + $9 = btQuaternion__operator___28float_20const__29($4 | 0, $3 + 8 | 0 | 0) | 0; + __stack_pointer = $3 + 16 | 0; + return $9 | 0; + } + + function btQuaternion__getAngle_28_29_20const($0) { + $0 = $0 | 0; + var $3 = 0, $9 = Math_fround(0), wasm2js_i32$0 = 0, wasm2js_f32$0 = Math_fround(0); + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + (wasm2js_i32$0 = $3, wasm2js_f32$0 = Math_fround(Math_fround(2.0) * Math_fround(btAcos_28float_29(Math_fround(Math_fround(HEAPF32[((HEAP32[($3 + 12 | 0) >> 2] | 0) + 12 | 0) >> 2])))))), HEAPF32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_f32$0; + $9 = Math_fround(HEAPF32[($3 + 8 | 0) >> 2]); + __stack_pointer = $3 + 16 | 0; + return Math_fround($9); + } + + function btMatrix3x3__cofac_28int_2c_20int_2c_20int_2c_20int_29_20const($0, $1, $2, $3, $4) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + $4 = $4 | 0; + var $7 = 0, $8 = 0, $52 = Math_fround(0); + $7 = __stack_pointer - 32 | 0; + __stack_pointer = $7; + HEAP32[($7 + 28 | 0) >> 2] = $0; + HEAP32[($7 + 24 | 0) >> 2] = $1; + HEAP32[($7 + 20 | 0) >> 2] = $2; + HEAP32[($7 + 16 | 0) >> 2] = $3; + HEAP32[($7 + 12 | 0) >> 2] = $4; + $8 = HEAP32[($7 + 28 | 0) >> 2] | 0; + $52 = Math_fround(Math_fround(Math_fround(HEAPF32[((btVector3__operator_20float_20const__28_29_20const($8 + ((HEAP32[($7 + 24 | 0) >> 2] | 0) << 4 | 0) | 0 | 0) | 0) + ((HEAP32[($7 + 20 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2]) * Math_fround(HEAPF32[((btVector3__operator_20float_20const__28_29_20const($8 + ((HEAP32[($7 + 16 | 0) >> 2] | 0) << 4 | 0) | 0 | 0) | 0) + ((HEAP32[($7 + 12 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2])) + Math_fround(-Math_fround(Math_fround(HEAPF32[((btVector3__operator_20float_20const__28_29_20const($8 + ((HEAP32[($7 + 24 | 0) >> 2] | 0) << 4 | 0) | 0 | 0) | 0) + ((HEAP32[($7 + 12 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2]) * Math_fround(HEAPF32[((btVector3__operator_20float_20const__28_29_20const($8 + ((HEAP32[($7 + 16 | 0) >> 2] | 0) << 4 | 0) | 0 | 0) | 0) + ((HEAP32[($7 + 20 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2])))); + __stack_pointer = $7 + 32 | 0; + return Math_fround($52); + } + + function btQuadWord__btQuadWord_28_29($0) { + $0 = $0 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + return HEAP32[($3 + 12 | 0) >> 2] | 0 | 0; + } + + function btQuaternion__length_28_29_20const($0) { + $0 = $0 | 0; + var $3 = 0, $6 = Math_fround(0); + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $6 = Math_fround(btSqrt_28float_29(Math_fround(Math_fround(btQuaternion__length2_28_29_20const(HEAP32[($3 + 12 | 0) >> 2] | 0 | 0))))); + __stack_pointer = $3 + 16 | 0; + return Math_fround($6); + } + + function btQuaternion__operator___28float_20const__29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, $5 = 0, $24 = 0; + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; + label$1 : { + if (Math_fround(HEAPF32[(HEAP32[($4 + 8 | 0) >> 2] | 0) >> 2]) != Math_fround(0 | 0) & 1 | 0) { + break label$1 + } + __assert_fail(86688 | 0, 78737 | 0, 421 | 0, 85339 | 0); + wasm2js_trap(); + } + HEAPF32[($4 + 4 | 0) >> 2] = Math_fround(Math_fround(1.0) / Math_fround(HEAPF32[(HEAP32[($4 + 8 | 0) >> 2] | 0) >> 2])); + $24 = btQuaternion__operator___28float_20const__29_1($5 | 0, $4 + 4 | 0 | 0) | 0; + __stack_pointer = $4 + 16 | 0; + return $24 | 0; + } + + function btAcos_28float_29($0) { + $0 = Math_fround($0); + var $3 = 0, $17 = Math_fround(0); + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAPF32[($3 + 12 | 0) >> 2] = $0; + label$1 : { + if (!(Math_fround(HEAPF32[($3 + 12 | 0) >> 2]) < Math_fround(-1.0) & 1 | 0)) { + break label$1 + } + HEAPF32[($3 + 12 | 0) >> 2] = Math_fround(-1.0); + } + label$2 : { + if (!(Math_fround(HEAPF32[($3 + 12 | 0) >> 2]) > Math_fround(1.0) & 1 | 0)) { + break label$2 + } + HEAPF32[($3 + 12 | 0) >> 2] = Math_fround(1.0); + } + $17 = Math_fround(acosf(Math_fround(Math_fround(HEAPF32[($3 + 12 | 0) >> 2])))); + __stack_pointer = $3 + 16 | 0; + return Math_fround($17); + } + + function btQuaternion__operator___28float_20const__29_1($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $5 = 0, $4 = 0; + $4 = __stack_pointer - 16 | 0; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; + HEAPF32[$5 >> 2] = Math_fround(Math_fround(HEAPF32[$5 >> 2]) * Math_fround(HEAPF32[(HEAP32[($4 + 8 | 0) >> 2] | 0) >> 2])); + HEAPF32[($5 + 4 | 0) >> 2] = Math_fround(Math_fround(HEAPF32[($5 + 4 | 0) >> 2]) * Math_fround(HEAPF32[(HEAP32[($4 + 8 | 0) >> 2] | 0) >> 2])); + HEAPF32[($5 + 8 | 0) >> 2] = Math_fround(Math_fround(HEAPF32[($5 + 8 | 0) >> 2]) * Math_fround(HEAPF32[(HEAP32[($4 + 8 | 0) >> 2] | 0) >> 2])); + HEAPF32[($5 + 12 | 0) >> 2] = Math_fround(Math_fround(HEAPF32[($5 + 12 | 0) >> 2]) * Math_fround(HEAPF32[(HEAP32[($4 + 8 | 0) >> 2] | 0) >> 2])); + return $5 | 0; + } + + function btSingleSweepCallback___btSingleSweepCallback_28_29_1($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + btSingleSweepCallback___btSingleSweepCallback_28_29($4 | 0) | 0; + operator_20delete_28void__29($4 | 0); + __stack_pointer = $3 + 16 | 0; + return; + } + + function btSingleSweepCallback__process_28btBroadphaseProxy_20const__29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, $5 = 0, $18 = 0, $43 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0, wasm2js_i32$2 = 0; + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[($4 + 8 | 0) >> 2] = $0; + HEAP32[($4 + 4 | 0) >> 2] = $1; + $5 = HEAP32[($4 + 8 | 0) >> 2] | 0; + label$1 : { + label$2 : { + if (!(Math_fround(HEAPF32[((HEAP32[($5 + 184 | 0) >> 2] | 0) + 4 | 0) >> 2]) == Math_fround(0 | 0) & 1 | 0)) { + break label$2 + } + HEAP8[($4 + 15 | 0) >> 0] = 0 & 1 | 0; + break label$1; + } + HEAP32[$4 >> 2] = HEAP32[(HEAP32[($4 + 4 | 0) >> 2] | 0) >> 2] | 0; + $18 = HEAP32[($5 + 184 | 0) >> 2] | 0; + label$3 : { + if (!((((wasm2js_i32$1 = $18, wasm2js_i32$2 = btCollisionObject__getBroadphaseHandle_28_29(HEAP32[$4 >> 2] | 0 | 0) | 0), wasm2js_i32$0 = HEAP32[((HEAP32[$18 >> 2] | 0) + 8 | 0) >> 2] | 0 | 0), FUNCTION_TABLE[wasm2js_i32$0](wasm2js_i32$1 | 0, wasm2js_i32$2 | 0) | 0) & 1 | 0)) { + break label$3 + } + btCollisionWorld__objectQuerySingle_28btConvexShape_20const__2c_20btTransform_20const__2c_20btTransform_20const__2c_20btCollisionObject__2c_20btCollisionShape_20const__2c_20btTransform_20const__2c_20btCollisionWorld__ConvexResultCallback__2c_20float_29(HEAP32[($5 + 192 | 0) >> 2] | 0 | 0, $5 + 36 | 0 | 0, $5 + 100 | 0 | 0, HEAP32[$4 >> 2] | 0 | 0, btCollisionObject__getCollisionShape_28_29(HEAP32[$4 >> 2] | 0 | 0) | 0 | 0, btCollisionObject__getWorldTransform_28_29(HEAP32[$4 >> 2] | 0 | 0) | 0 | 0, HEAP32[($5 + 184 | 0) >> 2] | 0 | 0, Math_fround(Math_fround(HEAPF32[($5 + 188 | 0) >> 2]))); + } + HEAP8[($4 + 15 | 0) >> 0] = 1 & 1 | 0; + } + $43 = (HEAPU8[($4 + 15 | 0) >> 0] | 0) & 1 | 0; + __stack_pointer = $4 + 16 | 0; + return $43 | 0; + } + + function btManifoldResult__setShapeIdentifiersA_28int_2c_20int_29($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $5 = 0, $6 = 0; + $5 = __stack_pointer - 16 | 0; + HEAP32[($5 + 12 | 0) >> 2] = $0; + HEAP32[($5 + 8 | 0) >> 2] = $1; + HEAP32[($5 + 4 | 0) >> 2] = $2; + $6 = HEAP32[($5 + 12 | 0) >> 2] | 0; + HEAP32[($6 + 16 | 0) >> 2] = HEAP32[($5 + 8 | 0) >> 2] | 0; + HEAP32[($6 + 24 | 0) >> 2] = HEAP32[($5 + 4 | 0) >> 2] | 0; + return; + } + + function btManifoldResult__setShapeIdentifiersB_28int_2c_20int_29($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $5 = 0, $6 = 0; + $5 = __stack_pointer - 16 | 0; + HEAP32[($5 + 12 | 0) >> 2] = $0; + HEAP32[($5 + 8 | 0) >> 2] = $1; + HEAP32[($5 + 4 | 0) >> 2] = $2; + $6 = HEAP32[($5 + 12 | 0) >> 2] | 0; + HEAP32[($6 + 20 | 0) >> 2] = HEAP32[($5 + 8 | 0) >> 2] | 0; + HEAP32[($6 + 28 | 0) >> 2] = HEAP32[($5 + 4 | 0) >> 2] | 0; + return; + } + + function btTransform__invXform_28btVector3_20const__29_20const($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $5 = 0, $6 = 0; + $5 = __stack_pointer - 80 | 0; + __stack_pointer = $5; + HEAP32[($5 + 76 | 0) >> 2] = $1; + HEAP32[($5 + 72 | 0) >> 2] = $2; + $6 = HEAP32[($5 + 76 | 0) >> 2] | 0; + operator__28btVector3_20const__2c_20btVector3_20const__29($5 + 56 | 0 | 0, HEAP32[($5 + 72 | 0) >> 2] | 0 | 0, $6 + 48 | 0 | 0); + btMatrix3x3__transpose_28_29_20const($5 + 8 | 0 | 0, $6 | 0); + operator__28btMatrix3x3_20const__2c_20btVector3_20const__29($0 | 0, $5 + 8 | 0 | 0, $5 + 56 | 0 | 0); + __stack_pointer = $5 + 80 | 0; + return; + } + + function btManifoldPoint__btManifoldPoint_28btVector3_20const__2c_20btVector3_20const__2c_20btVector3_20const__2c_20float_29($0, $1, $2, $3, $4) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + $4 = Math_fround($4); + var $8 = 0, i64toi32_i32$2 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, $7 = 0, $11 = 0, $16 = 0, $19 = 0, $28 = 0, $31 = 0, $93 = 0, $103 = 0, $112 = 0, $122 = 0, $141 = 0, $151 = 0; + $7 = __stack_pointer - 32 | 0; + __stack_pointer = $7; + HEAP32[($7 + 28 | 0) >> 2] = $0; + HEAP32[($7 + 24 | 0) >> 2] = $1; + HEAP32[($7 + 20 | 0) >> 2] = $2; + HEAP32[($7 + 16 | 0) >> 2] = $3; + HEAPF32[($7 + 12 | 0) >> 2] = $4; + $8 = HEAP32[($7 + 28 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($7 + 24 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $93 = i64toi32_i32$0; + i64toi32_i32$0 = $8; + HEAP32[$8 >> 2] = $93; + HEAP32[($8 + 4 | 0) >> 2] = i64toi32_i32$1; + $11 = 8; + i64toi32_i32$2 = i64toi32_i32$2 + $11 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $103 = i64toi32_i32$1; + i64toi32_i32$1 = $8 + $11 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $103; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + $16 = $8 + 16 | 0; + i64toi32_i32$2 = HEAP32[($7 + 20 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $112 = i64toi32_i32$0; + i64toi32_i32$0 = $16; + HEAP32[i64toi32_i32$0 >> 2] = $112; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $19 = 8; + i64toi32_i32$2 = i64toi32_i32$2 + $19 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $122 = i64toi32_i32$1; + i64toi32_i32$1 = $16 + $19 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $122; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + btVector3__btVector3_28_29($8 + 32 | 0 | 0) | 0; + btVector3__btVector3_28_29($8 + 48 | 0 | 0) | 0; + $28 = $8 + 64 | 0; + i64toi32_i32$2 = HEAP32[($7 + 16 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $141 = i64toi32_i32$0; + i64toi32_i32$0 = $28; + HEAP32[i64toi32_i32$0 >> 2] = $141; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $31 = 8; + i64toi32_i32$2 = i64toi32_i32$2 + $31 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $151 = i64toi32_i32$1; + i64toi32_i32$1 = $28 + $31 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $151; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + HEAPF32[($8 + 80 | 0) >> 2] = Math_fround(HEAPF32[($7 + 12 | 0) >> 2]); + HEAPF32[($8 + 84 | 0) >> 2] = Math_fround(0 | 0); + HEAPF32[($8 + 88 | 0) >> 2] = Math_fround(0 | 0); + HEAPF32[($8 + 92 | 0) >> 2] = Math_fround(0 | 0); + HEAPF32[($8 + 96 | 0) >> 2] = Math_fround(0 | 0); + HEAP32[($8 + 116 | 0) >> 2] = 0; + HEAP32[($8 + 120 | 0) >> 2] = 0; + HEAP32[($8 + 124 | 0) >> 2] = 0; + HEAP32[($8 + 128 | 0) >> 2] = 0; + HEAPF32[($8 + 132 | 0) >> 2] = Math_fround(0 | 0); + HEAPF32[($8 + 136 | 0) >> 2] = Math_fround(0 | 0); + HEAPF32[($8 + 140 | 0) >> 2] = Math_fround(0 | 0); + HEAPF32[($8 + 144 | 0) >> 2] = Math_fround(0 | 0); + HEAPF32[($8 + 148 | 0) >> 2] = Math_fround(0 | 0); + HEAPF32[($8 + 152 | 0) >> 2] = Math_fround(0 | 0); + HEAPF32[($8 + 156 | 0) >> 2] = Math_fround(0 | 0); + HEAPF32[($8 + 160 | 0) >> 2] = Math_fround(0 | 0); + HEAP32[($8 + 164 | 0) >> 2] = 0; + btVector3__btVector3_28_29($8 + 168 | 0 | 0) | 0; + btVector3__btVector3_28_29($8 + 184 | 0 | 0) | 0; + __stack_pointer = $7 + 32 | 0; + return $8 | 0; + } + + function DebugDrawcallback___DebugDrawcallback_28_29_1($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + DebugDrawcallback___DebugDrawcallback_28_29($4 | 0) | 0; + operator_20delete_28void__29($4 | 0); + __stack_pointer = $3 + 16 | 0; + return; + } + + function DebugDrawcallback__processTriangle_28btVector3__2c_20int_2c_20int_29($0, $1, $2, $3) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + var $6 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $7 = 0, i64toi32_i32$2 = 0, $23 = 0, $40 = 0, $57 = 0, $94 = 0, $146 = 0, $163 = 0, $174 = 0, $185 = 0, $258 = 0, $262 = 0, $293 = 0, $297 = 0, $328 = 0, $332 = 0; + $6 = __stack_pointer - 256 | 0; + __stack_pointer = $6; + HEAP32[($6 + 252 | 0) >> 2] = $0; + HEAP32[($6 + 248 | 0) >> 2] = $1; + HEAP32[($6 + 244 | 0) >> 2] = $2; + HEAP32[($6 + 240 | 0) >> 2] = $3; + $7 = HEAP32[($6 + 252 | 0) >> 2] | 0; + btVector3__btVector3_28_29($6 + 224 | 0 | 0) | 0; + btVector3__btVector3_28_29($6 + 208 | 0 | 0) | 0; + btVector3__btVector3_28_29($6 + 192 | 0 | 0) | 0; + btTransform__operator__28btVector3_20const__29_20const($6 + 176 | 0 | 0, $7 + 28 | 0 | 0, HEAP32[($6 + 248 | 0) >> 2] | 0 | 0); + $23 = 8; + i64toi32_i32$2 = ($6 + 176 | 0) + $23 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $258 = i64toi32_i32$0; + i64toi32_i32$0 = ($6 + 224 | 0) + $23 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $258; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$2 = $6; + i64toi32_i32$1 = HEAP32[($6 + 176 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($6 + 180 | 0) >> 2] | 0; + $262 = i64toi32_i32$1; + i64toi32_i32$1 = $6; + HEAP32[($6 + 224 | 0) >> 2] = $262; + HEAP32[($6 + 228 | 0) >> 2] = i64toi32_i32$0; + btTransform__operator__28btVector3_20const__29_20const($6 + 160 | 0 | 0, $7 + 28 | 0 | 0, (HEAP32[($6 + 248 | 0) >> 2] | 0) + 16 | 0 | 0); + $40 = 8; + i64toi32_i32$2 = ($6 + 160 | 0) + $40 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $293 = i64toi32_i32$0; + i64toi32_i32$0 = ($6 + 208 | 0) + $40 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $293; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$2 = $6; + i64toi32_i32$1 = HEAP32[($6 + 160 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($6 + 164 | 0) >> 2] | 0; + $297 = i64toi32_i32$1; + i64toi32_i32$1 = $6; + HEAP32[($6 + 208 | 0) >> 2] = $297; + HEAP32[($6 + 212 | 0) >> 2] = i64toi32_i32$0; + btTransform__operator__28btVector3_20const__29_20const($6 + 144 | 0 | 0, $7 + 28 | 0 | 0, (HEAP32[($6 + 248 | 0) >> 2] | 0) + 32 | 0 | 0); + $57 = 8; + i64toi32_i32$2 = ($6 + 144 | 0) + $57 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $328 = i64toi32_i32$0; + i64toi32_i32$0 = ($6 + 192 | 0) + $57 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $328; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$2 = $6; + i64toi32_i32$1 = HEAP32[($6 + 144 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($6 + 148 | 0) >> 2] | 0; + $332 = i64toi32_i32$1; + i64toi32_i32$1 = $6; + HEAP32[($6 + 192 | 0) >> 2] = $332; + HEAP32[($6 + 196 | 0) >> 2] = i64toi32_i32$0; + operator__28btVector3_20const__2c_20btVector3_20const__29_2($6 + 96 | 0 | 0, $6 + 224 | 0 | 0, $6 + 208 | 0 | 0); + operator__28btVector3_20const__2c_20btVector3_20const__29_2($6 + 112 | 0 | 0, $6 + 96 | 0 | 0, $6 + 192 | 0 | 0); + HEAPF32[($6 + 92 | 0) >> 2] = Math_fround(.3333333432674408); + operator__28btVector3_20const__2c_20float_20const__29($6 + 128 | 0 | 0, $6 + 112 | 0 | 0, $6 + 92 | 0 | 0); + $94 = HEAP32[($7 + 8 | 0) >> 2] | 0; + label$1 : { + if (!((FUNCTION_TABLE[HEAP32[((HEAP32[$94 >> 2] | 0) + 56 | 0) >> 2] | 0 | 0]($94) | 0) & 16384 | 0)) { + break label$1 + } + operator__28btVector3_20const__2c_20btVector3_20const__29($6 + 60 | 0 | 0, $6 + 208 | 0 | 0, $6 + 224 | 0 | 0); + operator__28btVector3_20const__2c_20btVector3_20const__29($6 + 44 | 0 | 0, $6 + 192 | 0 | 0, $6 + 224 | 0 | 0); + btVector3__cross_28btVector3_20const__29_20const($6 + 76 | 0 | 0, $6 + 60 | 0 | 0, $6 + 44 | 0 | 0); + btVector3__normalize_28_29($6 + 76 | 0 | 0) | 0; + HEAPF32[($6 + 24 | 0) >> 2] = Math_fround(1.0); + HEAPF32[($6 + 20 | 0) >> 2] = Math_fround(1.0); + HEAPF32[($6 + 16 | 0) >> 2] = Math_fround(0 | 0); + btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($6 + 28 | 0 | 0, $6 + 24 | 0 | 0, $6 + 20 | 0 | 0, $6 + 16 | 0 | 0) | 0; + $146 = HEAP32[($7 + 8 | 0) >> 2] | 0; + operator__28btVector3_20const__2c_20btVector3_20const__29_2($6 | 0, $6 + 128 | 0 | 0, $6 + 76 | 0 | 0); + FUNCTION_TABLE[HEAP32[((HEAP32[$146 >> 2] | 0) + 16 | 0) >> 2] | 0 | 0]($146, $6 + 128 | 0, $6, $6 + 28 | 0); + } + $163 = HEAP32[($7 + 8 | 0) >> 2] | 0; + FUNCTION_TABLE[HEAP32[((HEAP32[$163 >> 2] | 0) + 16 | 0) >> 2] | 0 | 0]($163, $6 + 224 | 0, $6 + 208 | 0, $7 + 12 | 0); + $174 = HEAP32[($7 + 8 | 0) >> 2] | 0; + FUNCTION_TABLE[HEAP32[((HEAP32[$174 >> 2] | 0) + 16 | 0) >> 2] | 0 | 0]($174, $6 + 208 | 0, $6 + 192 | 0, $7 + 12 | 0); + $185 = HEAP32[($7 + 8 | 0) >> 2] | 0; + FUNCTION_TABLE[HEAP32[((HEAP32[$185 >> 2] | 0) + 16 | 0) >> 2] | 0 | 0]($185, $6 + 192 | 0, $6 + 224 | 0, $7 + 12 | 0); + __stack_pointer = $6 + 256 | 0; + return; + } + + function DebugDrawcallback__internalProcessTriangleIndex_28btVector3__2c_20int_2c_20int_29($0, $1, $2, $3) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + var $6 = 0, $7 = 0; + $6 = __stack_pointer - 16 | 0; + __stack_pointer = $6; + HEAP32[($6 + 12 | 0) >> 2] = $0; + HEAP32[($6 + 8 | 0) >> 2] = $1; + HEAP32[($6 + 4 | 0) >> 2] = $2; + HEAP32[$6 >> 2] = $3; + $7 = HEAP32[($6 + 12 | 0) >> 2] | 0; + FUNCTION_TABLE[HEAP32[((HEAP32[$7 >> 2] | 0) + 8 | 0) >> 2] | 0 | 0]($7, HEAP32[($6 + 8 | 0) >> 2] | 0, HEAP32[($6 + 4 | 0) >> 2] | 0, HEAP32[$6 >> 2] | 0); + __stack_pointer = $6 + 16 | 0; + return; + } + + function non_virtual_20thunk_20to_20DebugDrawcallback___DebugDrawcallback_28_29($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0, $7 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 8 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 8 | 0) >> 2] | 0; + HEAP32[($3 + 12 | 0) >> 2] = $4; + $7 = DebugDrawcallback___DebugDrawcallback_28_29($4 + -4 | 0 | 0) | 0; + __stack_pointer = $3 + 16 | 0; + return $7 | 0; + } + + function non_virtual_20thunk_20to_20DebugDrawcallback___DebugDrawcallback_28_29_1($0) { + $0 = $0 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + DebugDrawcallback___DebugDrawcallback_28_29_1((HEAP32[($3 + 12 | 0) >> 2] | 0) + -4 | 0 | 0); + __stack_pointer = $3 + 16 | 0; + return; + } + + function non_virtual_20thunk_20to_20DebugDrawcallback__internalProcessTriangleIndex_28btVector3__2c_20int_2c_20int_29($0, $1, $2, $3) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + var $6 = 0; + $6 = __stack_pointer - 16 | 0; + __stack_pointer = $6; + HEAP32[($6 + 12 | 0) >> 2] = $0; + HEAP32[($6 + 8 | 0) >> 2] = $1; + HEAP32[($6 + 4 | 0) >> 2] = $2; + HEAP32[$6 >> 2] = $3; + DebugDrawcallback__internalProcessTriangleIndex_28btVector3__2c_20int_2c_20int_29((HEAP32[($6 + 12 | 0) >> 2] | 0) + -4 | 0 | 0, HEAP32[($6 + 8 | 0) >> 2] | 0 | 0, HEAP32[($6 + 4 | 0) >> 2] | 0 | 0, HEAP32[$6 >> 2] | 0 | 0); + __stack_pointer = $6 + 16 | 0; + return; + } + + function btAlignedAllocator_btCollisionShape__2c_2016u___btAlignedAllocator_28_29($0) { + $0 = $0 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + return HEAP32[($3 + 12 | 0) >> 2] | 0 | 0; + } + + function btAlignedObjectArray_btCollisionShape____init_28_29($0) { + $0 = $0 | 0; + var $4 = 0, $3 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + HEAP8[($4 + 16 | 0) >> 0] = 1; + HEAP32[($4 + 12 | 0) >> 2] = 0; + HEAP32[($4 + 4 | 0) >> 2] = 0; + HEAP32[($4 + 8 | 0) >> 2] = 0; + return; + } + + function btAlignedAllocator_btHashPtr_2c_2016u___btAlignedAllocator_28_29($0) { + $0 = $0 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + return HEAP32[($3 + 12 | 0) >> 2] | 0 | 0; + } + + function btAlignedObjectArray_btHashPtr___init_28_29($0) { + $0 = $0 | 0; + var $4 = 0, $3 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + HEAP8[($4 + 16 | 0) >> 0] = 1; + HEAP32[($4 + 12 | 0) >> 2] = 0; + HEAP32[($4 + 4 | 0) >> 2] = 0; + HEAP32[($4 + 8 | 0) >> 2] = 0; + return; + } + + function btAlignedObjectArray_btHashPtr___clear_28_29($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + btAlignedObjectArray_btHashPtr___destroy_28int_2c_20int_29($4 | 0, 0 | 0, btAlignedObjectArray_btHashPtr___size_28_29_20const($4 | 0) | 0 | 0); + btAlignedObjectArray_btHashPtr___deallocate_28_29($4 | 0); + btAlignedObjectArray_btHashPtr___init_28_29($4 | 0); + __stack_pointer = $3 + 16 | 0; + return; + } + + function btAlignedObjectArray_btCollisionShape____clear_28_29($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + btAlignedObjectArray_btCollisionShape____destroy_28int_2c_20int_29($4 | 0, 0 | 0, btAlignedObjectArray_btCollisionShape____size_28_29_20const($4 | 0) | 0 | 0); + btAlignedObjectArray_btCollisionShape____deallocate_28_29($4 | 0); + btAlignedObjectArray_btCollisionShape____init_28_29($4 | 0); + __stack_pointer = $3 + 16 | 0; + return; + } + + function btAlignedObjectArray_btHashPtr___size_28_29_20const($0) { + $0 = $0 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + return HEAP32[((HEAP32[($3 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0; + } + + function btAlignedObjectArray_btHashPtr___destroy_28int_2c_20int_29($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $5 = 0; + $5 = __stack_pointer - 16 | 0; + HEAP32[($5 + 12 | 0) >> 2] = $0; + HEAP32[($5 + 8 | 0) >> 2] = $1; + HEAP32[($5 + 4 | 0) >> 2] = $2; + HEAP32[($5 + 12 | 0) >> 2] | 0; + HEAP32[$5 >> 2] = HEAP32[($5 + 8 | 0) >> 2] | 0; + label$1 : { + label$2 : while (1) { + if (!((HEAP32[$5 >> 2] | 0 | 0) < (HEAP32[($5 + 4 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$1 + } + HEAP32[$5 >> 2] = (HEAP32[$5 >> 2] | 0) + 1 | 0; + continue label$2; + }; + } + return; + } + + function btAlignedObjectArray_btHashPtr___deallocate_28_29($0) { + $0 = $0 | 0; + var $4 = 0, $3 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + label$1 : { + if (!((HEAP32[($4 + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + label$2 : { + if (!((HEAPU8[($4 + 16 | 0) >> 0] | 0) & 1 | 0)) { + break label$2 + } + btAlignedAllocator_btHashPtr_2c_2016u___deallocate_28btHashPtr__29($4 | 0, HEAP32[($4 + 12 | 0) >> 2] | 0 | 0); + } + HEAP32[($4 + 12 | 0) >> 2] = 0; + } + __stack_pointer = $3 + 16 | 0; + return; + } + + function btAlignedAllocator_btHashPtr_2c_2016u___deallocate_28btHashPtr__29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0; + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + btAlignedFreeInternal_28void__29(HEAP32[($4 + 8 | 0) >> 2] | 0 | 0); + __stack_pointer = $4 + 16 | 0; + return; + } + + function btAlignedObjectArray_btCollisionShape____destroy_28int_2c_20int_29($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $5 = 0; + $5 = __stack_pointer - 16 | 0; + HEAP32[($5 + 12 | 0) >> 2] = $0; + HEAP32[($5 + 8 | 0) >> 2] = $1; + HEAP32[($5 + 4 | 0) >> 2] = $2; + HEAP32[($5 + 12 | 0) >> 2] | 0; + HEAP32[$5 >> 2] = HEAP32[($5 + 8 | 0) >> 2] | 0; + label$1 : { + label$2 : while (1) { + if (!((HEAP32[$5 >> 2] | 0 | 0) < (HEAP32[($5 + 4 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$1 + } + HEAP32[$5 >> 2] = (HEAP32[$5 >> 2] | 0) + 1 | 0; + continue label$2; + }; + } + return; + } + + function btAlignedObjectArray_btCollisionShape____deallocate_28_29($0) { + $0 = $0 | 0; + var $4 = 0, $3 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + label$1 : { + if (!((HEAP32[($4 + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + label$2 : { + if (!((HEAPU8[($4 + 16 | 0) >> 0] | 0) & 1 | 0)) { + break label$2 + } + btAlignedAllocator_btCollisionShape__2c_2016u___deallocate_28btCollisionShape___29($4 | 0, HEAP32[($4 + 12 | 0) >> 2] | 0 | 0); + } + HEAP32[($4 + 12 | 0) >> 2] = 0; + } + __stack_pointer = $3 + 16 | 0; + return; + } + + function btAlignedAllocator_btCollisionShape__2c_2016u___deallocate_28btCollisionShape___29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0; + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + btAlignedFreeInternal_28void__29(HEAP32[($4 + 8 | 0) >> 2] | 0 | 0); + __stack_pointer = $4 + 16 | 0; + return; + } + + function btAlignedObjectArray_btCollisionObject____destroy_28int_2c_20int_29($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $5 = 0; + $5 = __stack_pointer - 16 | 0; + HEAP32[($5 + 12 | 0) >> 2] = $0; + HEAP32[($5 + 8 | 0) >> 2] = $1; + HEAP32[($5 + 4 | 0) >> 2] = $2; + HEAP32[($5 + 12 | 0) >> 2] | 0; + HEAP32[$5 >> 2] = HEAP32[($5 + 8 | 0) >> 2] | 0; + label$1 : { + label$2 : while (1) { + if (!((HEAP32[$5 >> 2] | 0 | 0) < (HEAP32[($5 + 4 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$1 + } + HEAP32[$5 >> 2] = (HEAP32[$5 >> 2] | 0) + 1 | 0; + continue label$2; + }; + } + return; + } + + function btAlignedObjectArray_btCollisionObject____deallocate_28_29($0) { + $0 = $0 | 0; + var $4 = 0, $3 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + label$1 : { + if (!((HEAP32[($4 + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + label$2 : { + if (!((HEAPU8[($4 + 16 | 0) >> 0] | 0) & 1 | 0)) { + break label$2 + } + btAlignedAllocator_btCollisionObject__2c_2016u___deallocate_28btCollisionObject___29($4 | 0, HEAP32[($4 + 12 | 0) >> 2] | 0 | 0); + } + HEAP32[($4 + 12 | 0) >> 2] = 0; + } + __stack_pointer = $3 + 16 | 0; + return; + } + + function btAlignedAllocator_btCollisionObject__2c_2016u___deallocate_28btCollisionObject___29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0; + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + btAlignedFreeInternal_28void__29(HEAP32[($4 + 8 | 0) >> 2] | 0 | 0); + __stack_pointer = $4 + 16 | 0; + return; + } + + function btAlignedObjectArray_btCollisionObject____allocate_28int_29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, $5 = 0, $11 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[($4 + 8 | 0) >> 2] = $0; + HEAP32[($4 + 4 | 0) >> 2] = $1; + $5 = HEAP32[($4 + 8 | 0) >> 2] | 0; + label$1 : { + label$2 : { + if (!(HEAP32[($4 + 4 | 0) >> 2] | 0)) { + break label$2 + } + (wasm2js_i32$0 = $4, wasm2js_i32$1 = btAlignedAllocator_btCollisionObject__2c_2016u___allocate_28int_2c_20btCollisionObject__20const___29($5 | 0, HEAP32[($4 + 4 | 0) >> 2] | 0 | 0, 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + break label$1; + } + HEAP32[($4 + 12 | 0) >> 2] = 0; + } + $11 = HEAP32[($4 + 12 | 0) >> 2] | 0; + __stack_pointer = $4 + 16 | 0; + return $11 | 0; + } + + function btAlignedObjectArray_btCollisionObject____copy_28int_2c_20int_2c_20btCollisionObject___29_20const($0, $1, $2, $3) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + var $6 = 0, $7 = 0; + $6 = __stack_pointer - 32 | 0; + HEAP32[($6 + 28 | 0) >> 2] = $0; + HEAP32[($6 + 24 | 0) >> 2] = $1; + HEAP32[($6 + 20 | 0) >> 2] = $2; + HEAP32[($6 + 16 | 0) >> 2] = $3; + $7 = HEAP32[($6 + 28 | 0) >> 2] | 0; + HEAP32[($6 + 12 | 0) >> 2] = HEAP32[($6 + 24 | 0) >> 2] | 0; + label$1 : { + label$2 : while (1) { + if (!((HEAP32[($6 + 12 | 0) >> 2] | 0 | 0) < (HEAP32[($6 + 20 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$1 + } + HEAP32[((HEAP32[($6 + 16 | 0) >> 2] | 0) + ((HEAP32[($6 + 12 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = HEAP32[((HEAP32[($7 + 12 | 0) >> 2] | 0) + ((HEAP32[($6 + 12 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; + HEAP32[($6 + 12 | 0) >> 2] = (HEAP32[($6 + 12 | 0) >> 2] | 0) + 1 | 0; + continue label$2; + }; + } + return; + } + + function btAlignedAllocator_btCollisionObject__2c_2016u___allocate_28int_2c_20btCollisionObject__20const___29($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $5 = 0, $10 = 0; + $5 = __stack_pointer - 16 | 0; + __stack_pointer = $5; + HEAP32[($5 + 12 | 0) >> 2] = $0; + HEAP32[($5 + 8 | 0) >> 2] = $1; + HEAP32[($5 + 4 | 0) >> 2] = $2; + $10 = btAlignedAllocInternal_28unsigned_20long_2c_20int_29((HEAP32[($5 + 8 | 0) >> 2] | 0) << 2 | 0 | 0, 16 | 0) | 0; + __stack_pointer = $5 + 16 | 0; + return $10 | 0; + } + + function btAlignedObjectArray_btHashPtr___operator_5b_5d_28int_29_20const($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, $5 = 0, $32 = 0; + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; + label$1 : { + if ((HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0) { + break label$1 + } + __assert_fail(85840 | 0, 78192 | 0, 176 | 0, 83901 | 0); + wasm2js_trap(); + } + label$2 : { + if ((HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) < (btAlignedObjectArray_btHashPtr___size_28_29_20const($5 | 0) | 0 | 0) & 1 | 0) { + break label$2 + } + __assert_fail(87321 | 0, 78192 | 0, 177 | 0, 83901 | 0); + wasm2js_trap(); + } + $32 = (HEAP32[($5 + 12 | 0) >> 2] | 0) + ((HEAP32[($4 + 8 | 0) >> 2] | 0) << 3 | 0) | 0; + __stack_pointer = $4 + 16 | 0; + return $32 | 0; + } + + function btHashPtr__equals_28btHashPtr_20const__29_20const($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, $13 = 0; + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + $13 = (btHashPtr__getPointer_28_29_20const(HEAP32[($4 + 12 | 0) >> 2] | 0 | 0) | 0 | 0) == (btHashPtr__getPointer_28_29_20const(HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) | 0 | 0) & 1 | 0; + __stack_pointer = $4 + 16 | 0; + return $13 | 0; + } + + function btHashPtr__getPointer_28_29_20const($0) { + $0 = $0 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + return HEAP32[(HEAP32[($3 + 12 | 0) >> 2] | 0) >> 2] | 0 | 0; + } + + function btAlignedObjectArray_btCollisionShape____allocSize_28int_29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, $9 = 0; + $4 = __stack_pointer - 16 | 0; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + label$1 : { + label$2 : { + if (!(HEAP32[($4 + 8 | 0) >> 2] | 0)) { + break label$2 + } + $9 = (HEAP32[($4 + 8 | 0) >> 2] | 0) << 1 | 0; + break label$1; + } + $9 = 1; + } + return $9 | 0; + } + + function btAlignedObjectArray_btCollisionShape____reserve_28int_29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, $5 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; + label$1 : { + if (!((btAlignedObjectArray_btCollisionShape____capacity_28_29_20const($5 | 0) | 0 | 0) < (HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$1 + } + (wasm2js_i32$0 = $4, wasm2js_i32$1 = btAlignedObjectArray_btCollisionShape____allocate_28int_29($5 | 0, HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + btAlignedObjectArray_btCollisionShape____copy_28int_2c_20int_2c_20btCollisionShape___29_20const($5 | 0, 0 | 0, btAlignedObjectArray_btCollisionShape____size_28_29_20const($5 | 0) | 0 | 0, HEAP32[($4 + 4 | 0) >> 2] | 0 | 0); + btAlignedObjectArray_btCollisionShape____destroy_28int_2c_20int_29($5 | 0, 0 | 0, btAlignedObjectArray_btCollisionShape____size_28_29_20const($5 | 0) | 0 | 0); + btAlignedObjectArray_btCollisionShape____deallocate_28_29($5 | 0); + HEAP8[($5 + 16 | 0) >> 0] = 1; + HEAP32[($5 + 12 | 0) >> 2] = HEAP32[($4 + 4 | 0) >> 2] | 0; + HEAP32[($5 + 8 | 0) >> 2] = HEAP32[($4 + 8 | 0) >> 2] | 0; + } + __stack_pointer = $4 + 16 | 0; + return; + } + + function btAlignedObjectArray_btHashPtr___capacity_28_29_20const($0) { + $0 = $0 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + return HEAP32[((HEAP32[($3 + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0; + } + + function btAlignedObjectArray_btHashPtr___allocSize_28int_29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, $9 = 0; + $4 = __stack_pointer - 16 | 0; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + label$1 : { + label$2 : { + if (!(HEAP32[($4 + 8 | 0) >> 2] | 0)) { + break label$2 + } + $9 = (HEAP32[($4 + 8 | 0) >> 2] | 0) << 1 | 0; + break label$1; + } + $9 = 1; + } + return $9 | 0; + } + + function btAlignedObjectArray_btHashPtr___reserve_28int_29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, $5 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; + label$1 : { + if (!((btAlignedObjectArray_btHashPtr___capacity_28_29_20const($5 | 0) | 0 | 0) < (HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$1 + } + (wasm2js_i32$0 = $4, wasm2js_i32$1 = btAlignedObjectArray_btHashPtr___allocate_28int_29($5 | 0, HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + btAlignedObjectArray_btHashPtr___copy_28int_2c_20int_2c_20btHashPtr__29_20const($5 | 0, 0 | 0, btAlignedObjectArray_btHashPtr___size_28_29_20const($5 | 0) | 0 | 0, HEAP32[($4 + 4 | 0) >> 2] | 0 | 0); + btAlignedObjectArray_btHashPtr___destroy_28int_2c_20int_29($5 | 0, 0 | 0, btAlignedObjectArray_btHashPtr___size_28_29_20const($5 | 0) | 0 | 0); + btAlignedObjectArray_btHashPtr___deallocate_28_29($5 | 0); + HEAP8[($5 + 16 | 0) >> 0] = 1; + HEAP32[($5 + 12 | 0) >> 2] = HEAP32[($4 + 4 | 0) >> 2] | 0; + HEAP32[($5 + 8 | 0) >> 2] = HEAP32[($4 + 8 | 0) >> 2] | 0; + } + __stack_pointer = $4 + 16 | 0; + return; + } + + function btAlignedObjectArray_btHashPtr___operator_5b_5d_28int_29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, $5 = 0, $32 = 0; + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; + label$1 : { + if ((HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0) { + break label$1 + } + __assert_fail(85840 | 0, 78192 | 0, 183 | 0, 83901 | 0); + wasm2js_trap(); + } + label$2 : { + if ((HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) < (btAlignedObjectArray_btHashPtr___size_28_29_20const($5 | 0) | 0 | 0) & 1 | 0) { + break label$2 + } + __assert_fail(87321 | 0, 78192 | 0, 184 | 0, 83901 | 0); + wasm2js_trap(); + } + $32 = (HEAP32[($5 + 12 | 0) >> 2] | 0) + ((HEAP32[($4 + 8 | 0) >> 2] | 0) << 3 | 0) | 0; + __stack_pointer = $4 + 16 | 0; + return $32 | 0; + } + + function btAlignedObjectArray_btCollisionShape____allocate_28int_29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, $5 = 0, $11 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[($4 + 8 | 0) >> 2] = $0; + HEAP32[($4 + 4 | 0) >> 2] = $1; + $5 = HEAP32[($4 + 8 | 0) >> 2] | 0; + label$1 : { + label$2 : { + if (!(HEAP32[($4 + 4 | 0) >> 2] | 0)) { + break label$2 + } + (wasm2js_i32$0 = $4, wasm2js_i32$1 = btAlignedAllocator_btCollisionShape__2c_2016u___allocate_28int_2c_20btCollisionShape__20const___29($5 | 0, HEAP32[($4 + 4 | 0) >> 2] | 0 | 0, 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + break label$1; + } + HEAP32[($4 + 12 | 0) >> 2] = 0; + } + $11 = HEAP32[($4 + 12 | 0) >> 2] | 0; + __stack_pointer = $4 + 16 | 0; + return $11 | 0; + } + + function btAlignedObjectArray_btCollisionShape____copy_28int_2c_20int_2c_20btCollisionShape___29_20const($0, $1, $2, $3) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + var $6 = 0, $7 = 0; + $6 = __stack_pointer - 32 | 0; + HEAP32[($6 + 28 | 0) >> 2] = $0; + HEAP32[($6 + 24 | 0) >> 2] = $1; + HEAP32[($6 + 20 | 0) >> 2] = $2; + HEAP32[($6 + 16 | 0) >> 2] = $3; + $7 = HEAP32[($6 + 28 | 0) >> 2] | 0; + HEAP32[($6 + 12 | 0) >> 2] = HEAP32[($6 + 24 | 0) >> 2] | 0; + label$1 : { + label$2 : while (1) { + if (!((HEAP32[($6 + 12 | 0) >> 2] | 0 | 0) < (HEAP32[($6 + 20 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$1 + } + HEAP32[((HEAP32[($6 + 16 | 0) >> 2] | 0) + ((HEAP32[($6 + 12 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = HEAP32[((HEAP32[($7 + 12 | 0) >> 2] | 0) + ((HEAP32[($6 + 12 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; + HEAP32[($6 + 12 | 0) >> 2] = (HEAP32[($6 + 12 | 0) >> 2] | 0) + 1 | 0; + continue label$2; + }; + } + return; + } + + function btAlignedAllocator_btCollisionShape__2c_2016u___allocate_28int_2c_20btCollisionShape__20const___29($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $5 = 0, $10 = 0; + $5 = __stack_pointer - 16 | 0; + __stack_pointer = $5; + HEAP32[($5 + 12 | 0) >> 2] = $0; + HEAP32[($5 + 8 | 0) >> 2] = $1; + HEAP32[($5 + 4 | 0) >> 2] = $2; + $10 = btAlignedAllocInternal_28unsigned_20long_2c_20int_29((HEAP32[($5 + 8 | 0) >> 2] | 0) << 2 | 0 | 0, 16 | 0) | 0; + __stack_pointer = $5 + 16 | 0; + return $10 | 0; + } + + function btAlignedObjectArray_btHashPtr___allocate_28int_29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, $5 = 0, $11 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[($4 + 8 | 0) >> 2] = $0; + HEAP32[($4 + 4 | 0) >> 2] = $1; + $5 = HEAP32[($4 + 8 | 0) >> 2] | 0; + label$1 : { + label$2 : { + if (!(HEAP32[($4 + 4 | 0) >> 2] | 0)) { + break label$2 + } + (wasm2js_i32$0 = $4, wasm2js_i32$1 = btAlignedAllocator_btHashPtr_2c_2016u___allocate_28int_2c_20btHashPtr_20const___29($5 | 0, HEAP32[($4 + 4 | 0) >> 2] | 0 | 0, 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + break label$1; + } + HEAP32[($4 + 12 | 0) >> 2] = 0; + } + $11 = HEAP32[($4 + 12 | 0) >> 2] | 0; + __stack_pointer = $4 + 16 | 0; + return $11 | 0; + } + + function btAlignedObjectArray_btHashPtr___copy_28int_2c_20int_2c_20btHashPtr__29_20const($0, $1, $2, $3) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + var $6 = 0, i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, $7 = 0, i64toi32_i32$1 = 0, $85 = 0; + $6 = __stack_pointer - 32 | 0; + HEAP32[($6 + 28 | 0) >> 2] = $0; + HEAP32[($6 + 24 | 0) >> 2] = $1; + HEAP32[($6 + 20 | 0) >> 2] = $2; + HEAP32[($6 + 16 | 0) >> 2] = $3; + $7 = HEAP32[($6 + 28 | 0) >> 2] | 0; + HEAP32[($6 + 12 | 0) >> 2] = HEAP32[($6 + 24 | 0) >> 2] | 0; + label$1 : { + label$2 : while (1) { + if (!((HEAP32[($6 + 12 | 0) >> 2] | 0 | 0) < (HEAP32[($6 + 20 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$1 + } + i64toi32_i32$2 = (HEAP32[($7 + 12 | 0) >> 2] | 0) + ((HEAP32[($6 + 12 | 0) >> 2] | 0) << 3 | 0) | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $85 = i64toi32_i32$0; + i64toi32_i32$0 = (HEAP32[($6 + 16 | 0) >> 2] | 0) + ((HEAP32[($6 + 12 | 0) >> 2] | 0) << 3 | 0) | 0; + HEAP32[i64toi32_i32$0 >> 2] = $85; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + HEAP32[($6 + 12 | 0) >> 2] = (HEAP32[($6 + 12 | 0) >> 2] | 0) + 1 | 0; + continue label$2; + }; + } + return; + } + + function btAlignedAllocator_btHashPtr_2c_2016u___allocate_28int_2c_20btHashPtr_20const___29($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $5 = 0, $10 = 0; + $5 = __stack_pointer - 16 | 0; + __stack_pointer = $5; + HEAP32[($5 + 12 | 0) >> 2] = $0; + HEAP32[($5 + 8 | 0) >> 2] = $1; + HEAP32[($5 + 4 | 0) >> 2] = $2; + $10 = btAlignedAllocInternal_28unsigned_20long_2c_20int_29((HEAP32[($5 + 8 | 0) >> 2] | 0) << 3 | 0 | 0, 16 | 0) | 0; + __stack_pointer = $5 + 16 | 0; + return $10 | 0; + } + + function _GLOBAL__sub_I_btCollisionWorld_cpp() { + __cxx_global_var_init_10(); + return; + } + + function __cxx_global_var_init_11() { + btInfMaskConverter__btInfMaskConverter_28int_29(113984 | 0, 2139095040 | 0) | 0; + return; + } + + function btCollisionAlgorithm__btCollisionAlgorithm_28btCollisionAlgorithmConstructionInfo_20const__29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, $5 = 0; + $4 = __stack_pointer - 16 | 0; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; + HEAP32[$5 >> 2] = 93584 + 8 | 0; + HEAP32[($5 + 4 | 0) >> 2] = HEAP32[(HEAP32[($4 + 8 | 0) >> 2] | 0) >> 2] | 0; + return $5 | 0; + } + + function btCollisionAlgorithm___btCollisionAlgorithm_28_29($0) { + $0 = $0 | 0; + HEAP32[((__stack_pointer - 16 | 0) + 12 | 0) >> 2] = $0; + wasm2js_trap(); + } + + function _GLOBAL__sub_I_btCollisionAlgorithm_cpp() { + __cxx_global_var_init_11(); + return; + } + + function __cxx_global_var_init_13() { + btInfMaskConverter__btInfMaskConverter_28int_29(113988 | 0, 2139095040 | 0) | 0; + return; + } + + function btActivatingCollisionAlgorithm__btActivatingCollisionAlgorithm_28btCollisionAlgorithmConstructionInfo_20const__2c_20btCollisionObjectWrapper_20const__2c_20btCollisionObjectWrapper_20const__29($0, $1, $2, $3) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + var $6 = 0, $7 = 0; + $6 = __stack_pointer - 16 | 0; + __stack_pointer = $6; + HEAP32[($6 + 12 | 0) >> 2] = $0; + HEAP32[($6 + 8 | 0) >> 2] = $1; + HEAP32[($6 + 4 | 0) >> 2] = $2; + HEAP32[$6 >> 2] = $3; + $7 = HEAP32[($6 + 12 | 0) >> 2] | 0; + btCollisionAlgorithm__btCollisionAlgorithm_28btCollisionAlgorithmConstructionInfo_20const__29($7 | 0, HEAP32[($6 + 8 | 0) >> 2] | 0 | 0) | 0; + HEAP32[$7 >> 2] = 93612 + 8 | 0; + __stack_pointer = $6 + 16 | 0; + return $7 | 0; + } + + function btActivatingCollisionAlgorithm___btActivatingCollisionAlgorithm_28_29($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + btCollisionAlgorithm___btCollisionAlgorithm_28_29_1($4 | 0) | 0; + __stack_pointer = $3 + 16 | 0; + return $4 | 0; + } + + function btCollisionAlgorithm___btCollisionAlgorithm_28_29_1($0) { + $0 = $0 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + return HEAP32[($3 + 12 | 0) >> 2] | 0 | 0; + } + + function btActivatingCollisionAlgorithm___btActivatingCollisionAlgorithm_28_29_1($0) { + $0 = $0 | 0; + HEAP32[((__stack_pointer - 16 | 0) + 12 | 0) >> 2] = $0; + wasm2js_trap(); + } + + function _GLOBAL__sub_I_btActivatingCollisionAlgorithm_cpp() { + __cxx_global_var_init_13(); + return; + } + + function __cxx_global_var_init_14() { + btInfMaskConverter__btInfMaskConverter_28int_29(113992 | 0, 2139095040 | 0) | 0; + return; + } + + function btConvexConvexAlgorithm__CreateFunc__CreateFunc_28btConvexPenetrationDepthSolver__29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, $5 = 0; + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; + btCollisionAlgorithmCreateFunc__btCollisionAlgorithmCreateFunc_28_29($5 | 0) | 0; + HEAP32[$5 >> 2] = 93716 + 8 | 0; + HEAP32[($5 + 12 | 0) >> 2] = 0; + HEAP32[($5 + 16 | 0) >> 2] = 3; + HEAP32[($5 + 8 | 0) >> 2] = HEAP32[($4 + 8 | 0) >> 2] | 0; + __stack_pointer = $4 + 16 | 0; + return $5 | 0; + } + + function btConvexConvexAlgorithm__CreateFunc___CreateFunc_28_29($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + btCollisionAlgorithmCreateFunc___btCollisionAlgorithmCreateFunc_28_29($4 | 0) | 0; + __stack_pointer = $3 + 16 | 0; + return $4 | 0; + } + + function btConvexConvexAlgorithm__CreateFunc___CreateFunc_28_29_1($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + FUNCTION_TABLE[605 | 0]($4) | 0; + operator_20delete_28void__29($4 | 0); + __stack_pointer = $3 + 16 | 0; + return; + } + + function btConvexConvexAlgorithm__btConvexConvexAlgorithm_28btPersistentManifold__2c_20btCollisionAlgorithmConstructionInfo_20const__2c_20btCollisionObjectWrapper_20const__2c_20btCollisionObjectWrapper_20const__2c_20btConvexPenetrationDepthSolver__2c_20int_2c_20int_29($0, $1, $2, $3, $4, $5, $6, $7) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + $4 = $4 | 0; + $5 = $5 | 0; + $6 = $6 | 0; + $7 = $7 | 0; + var $10 = 0, $11 = 0; + $10 = __stack_pointer - 32 | 0; + __stack_pointer = $10; + HEAP32[($10 + 28 | 0) >> 2] = $0; + HEAP32[($10 + 24 | 0) >> 2] = $1; + HEAP32[($10 + 20 | 0) >> 2] = $2; + HEAP32[($10 + 16 | 0) >> 2] = $3; + HEAP32[($10 + 12 | 0) >> 2] = $4; + HEAP32[($10 + 8 | 0) >> 2] = $5; + HEAP32[($10 + 4 | 0) >> 2] = $6; + HEAP32[$10 >> 2] = $7; + $11 = HEAP32[($10 + 28 | 0) >> 2] | 0; + btActivatingCollisionAlgorithm__btActivatingCollisionAlgorithm_28btCollisionAlgorithmConstructionInfo_20const__2c_20btCollisionObjectWrapper_20const__2c_20btCollisionObjectWrapper_20const__29($11 | 0, HEAP32[($10 + 20 | 0) >> 2] | 0 | 0, HEAP32[($10 + 16 | 0) >> 2] | 0 | 0, HEAP32[($10 + 12 | 0) >> 2] | 0 | 0) | 0; + HEAP32[$11 >> 2] = 93736 + 8 | 0; + HEAP32[($11 + 8 | 0) >> 2] = HEAP32[($10 + 8 | 0) >> 2] | 0; + btAlignedObjectArray_btVector3___btAlignedObjectArray_28_29($11 + 12 | 0 | 0) | 0; + btAlignedObjectArray_btVector3___btAlignedObjectArray_28_29($11 + 32 | 0 | 0) | 0; + HEAP8[($11 + 52 | 0) >> 0] = 0; + HEAP32[($11 + 56 | 0) >> 2] = HEAP32[($10 + 24 | 0) >> 2] | 0; + HEAP8[($11 + 60 | 0) >> 0] = 0; + HEAP32[($11 + 64 | 0) >> 2] = HEAP32[($10 + 4 | 0) >> 2] | 0; + HEAP32[($11 + 68 | 0) >> 2] = HEAP32[$10 >> 2] | 0; + __stack_pointer = $10 + 32 | 0; + return $11 | 0; + } + + function btConvexConvexAlgorithm___btConvexConvexAlgorithm_28_29($0) { + $0 = $0 | 0; + var $4 = 0, $3 = 0, $18 = 0, $26 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 8 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 8 | 0) >> 2] | 0; + HEAP32[($3 + 12 | 0) >> 2] = $4; + HEAP32[$4 >> 2] = 93736 + 8 | 0; + label$1 : { + if (!((HEAPU8[($4 + 52 | 0) >> 0] | 0) & 1 | 0)) { + break label$1 + } + label$2 : { + if (!((HEAP32[($4 + 56 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$2 + } + $18 = HEAP32[($4 + 4 | 0) >> 2] | 0; + FUNCTION_TABLE[HEAP32[((HEAP32[$18 >> 2] | 0) + 16 | 0) >> 2] | 0 | 0]($18, HEAP32[($4 + 56 | 0) >> 2] | 0); + } + } + btAlignedObjectArray_btVector3____btAlignedObjectArray_28_29($4 + 32 | 0 | 0) | 0; + btAlignedObjectArray_btVector3____btAlignedObjectArray_28_29($4 + 12 | 0 | 0) | 0; + btActivatingCollisionAlgorithm___btActivatingCollisionAlgorithm_28_29($4 | 0) | 0; + $26 = HEAP32[($3 + 12 | 0) >> 2] | 0; + __stack_pointer = $3 + 16 | 0; + return $26 | 0; + } + + function btConvexConvexAlgorithm___btConvexConvexAlgorithm_28_29_1($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + FUNCTION_TABLE[606 | 0]($4) | 0; + operator_20delete_28void__29($4 | 0); + __stack_pointer = $3 + 16 | 0; + return; + } + + function btConvexConvexAlgorithm__processCollision_28btCollisionObjectWrapper_20const__2c_20btCollisionObjectWrapper_20const__2c_20btDispatcherInfo_20const__2c_20btManifoldResult__29($0, $1, $2, $3, $4) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + $4 = $4 | 0; + var $7 = 0, $8 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, $16 = 0, $98 = 0, $169 = 0, $240 = 0, $274 = 0, $278 = 0, $319 = Math_fround(0), $320 = 0, $329 = Math_fround(0), $330 = 0, $403 = 0, $404 = 0, $416 = 0, $572 = 0, $585 = 0, $590 = 0, $693 = 0, $713 = 0, $717 = 0, $277 = Math_fround(0), $1814 = 0, $1818 = 0, $562 = 0, $2152 = 0, $2156 = 0, $584 = Math_fround(0), $589 = Math_fround(0), $683 = 0, $2406 = 0, $2410 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0, wasm2js_i32$2 = 0, wasm2js_i32$3 = 0, wasm2js_i32$4 = 0, wasm2js_i32$5 = 0, wasm2js_f32$0 = Math_fround(0); + $7 = __stack_pointer - 1664 | 0; + __stack_pointer = $7; + HEAP32[($7 + 1660 | 0) >> 2] = $0; + HEAP32[($7 + 1656 | 0) >> 2] = $1; + HEAP32[($7 + 1652 | 0) >> 2] = $2; + HEAP32[($7 + 1648 | 0) >> 2] = $3; + HEAP32[($7 + 1644 | 0) >> 2] = $4; + $8 = HEAP32[($7 + 1660 | 0) >> 2] | 0; + label$1 : { + if ((HEAP32[($8 + 56 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$1 + } + $16 = HEAP32[($8 + 4 | 0) >> 2] | 0; + (wasm2js_i32$0 = $8, wasm2js_i32$1 = ((((wasm2js_i32$3 = $16, wasm2js_i32$4 = btCollisionObjectWrapper__getCollisionObject_28_29_20const(HEAP32[($7 + 1656 | 0) >> 2] | 0 | 0) | 0), wasm2js_i32$5 = btCollisionObjectWrapper__getCollisionObject_28_29_20const(HEAP32[($7 + 1652 | 0) >> 2] | 0 | 0) | 0), wasm2js_i32$2 = HEAP32[((HEAP32[$16 >> 2] | 0) + 12 | 0) >> 2] | 0 | 0), FUNCTION_TABLE[wasm2js_i32$2](wasm2js_i32$3 | 0, wasm2js_i32$4 | 0, wasm2js_i32$5 | 0) | 0)), HEAP32[(wasm2js_i32$0 + 56 | 0) >> 2] = wasm2js_i32$1; + HEAP8[($8 + 52 | 0) >> 0] = 1; + } + btManifoldResult__setPersistentManifold_28btPersistentManifold__29(HEAP32[($7 + 1644 | 0) >> 2] | 0 | 0, HEAP32[($8 + 56 | 0) >> 2] | 0 | 0); + (wasm2js_i32$0 = $7, wasm2js_i32$1 = btCollisionObjectWrapper__getCollisionShape_28_29_20const(HEAP32[($7 + 1656 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 1640 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $7, wasm2js_i32$1 = btCollisionObjectWrapper__getCollisionShape_28_29_20const(HEAP32[($7 + 1652 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 1636 | 0) >> 2] = wasm2js_i32$1; + btVector3__btVector3_28_29($7 + 1620 | 0 | 0) | 0; + btVector3__btVector3_28_29($7 + 1604 | 0 | 0) | 0; + label$2 : { + label$3 : { + if (!((btCollisionShape__getShapeType_28_29_20const(HEAP32[($7 + 1640 | 0) >> 2] | 0 | 0) | 0 | 0) == (10 | 0) & 1 | 0)) { + break label$3 + } + if (!((btCollisionShape__getShapeType_28_29_20const(HEAP32[($7 + 1636 | 0) >> 2] | 0 | 0) | 0 | 0) == (10 | 0) & 1 | 0)) { + break label$3 + } + HEAP32[($7 + 1600 | 0) >> 2] = HEAP32[($7 + 1640 | 0) >> 2] | 0; + HEAP32[($7 + 1596 | 0) >> 2] = HEAP32[($7 + 1636 | 0) >> 2] | 0; + (wasm2js_i32$0 = $7, wasm2js_f32$0 = Math_fround(btPersistentManifold__getContactBreakingThreshold_28_29_20const(HEAP32[($8 + 56 | 0) >> 2] | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 1592 | 0) >> 2] = wasm2js_f32$0; + (wasm2js_i32$0 = $7, wasm2js_f32$0 = Math_fround(capsuleCapsuleDistance_28btVector3__2c_20btVector3__2c_20float_2c_20float_2c_20float_2c_20float_2c_20int_2c_20int_2c_20btTransform_20const__2c_20btTransform_20const__2c_20float_29($7 + 1620 | 0 | 0, $7 + 1604 | 0 | 0, Math_fround(Math_fround(btCapsuleShape__getHalfHeight_28_29_20const(HEAP32[($7 + 1600 | 0) >> 2] | 0 | 0))), Math_fround(Math_fround(btCapsuleShape__getRadius_28_29_20const(HEAP32[($7 + 1600 | 0) >> 2] | 0 | 0))), Math_fround(Math_fround(btCapsuleShape__getHalfHeight_28_29_20const(HEAP32[($7 + 1596 | 0) >> 2] | 0 | 0))), Math_fround(Math_fround(btCapsuleShape__getRadius_28_29_20const(HEAP32[($7 + 1596 | 0) >> 2] | 0 | 0))), btCapsuleShape__getUpAxis_28_29_20const(HEAP32[($7 + 1600 | 0) >> 2] | 0 | 0) | 0 | 0, btCapsuleShape__getUpAxis_28_29_20const(HEAP32[($7 + 1596 | 0) >> 2] | 0 | 0) | 0 | 0, btCollisionObjectWrapper__getWorldTransform_28_29_20const(HEAP32[($7 + 1656 | 0) >> 2] | 0 | 0) | 0 | 0, btCollisionObjectWrapper__getWorldTransform_28_29_20const(HEAP32[($7 + 1652 | 0) >> 2] | 0 | 0) | 0 | 0, Math_fround(Math_fround(HEAPF32[($7 + 1592 | 0) >> 2]))))), HEAPF32[(wasm2js_i32$0 + 1588 | 0) >> 2] = wasm2js_f32$0; + label$4 : { + if (!(Math_fround(HEAPF32[($7 + 1588 | 0) >> 2]) < Math_fround(HEAPF32[($7 + 1592 | 0) >> 2]) & 1 | 0)) { + break label$4 + } + label$5 : { + if (Math_fround(btVector3__length2_28_29_20const($7 + 1620 | 0 | 0)) >= Math_fround(1.4210854715202004e-14) & 1 | 0) { + break label$5 + } + __assert_fail(86431 | 0, 73223 | 0, 326 | 0, 76857 | 0); + wasm2js_trap(); + } + $98 = HEAP32[($7 + 1644 | 0) >> 2] | 0; + FUNCTION_TABLE[HEAP32[((HEAP32[$98 >> 2] | 0) + 16 | 0) >> 2] | 0 | 0]($98, $7 + 1620 | 0, $7 + 1604 | 0, Math_fround(HEAPF32[($7 + 1588 | 0) >> 2])); + } + btManifoldResult__refreshContactPoints_28_29(HEAP32[($7 + 1644 | 0) >> 2] | 0 | 0); + break label$2; + } + label$6 : { + if (!((btCollisionShape__getShapeType_28_29_20const(HEAP32[($7 + 1640 | 0) >> 2] | 0 | 0) | 0 | 0) == (10 | 0) & 1 | 0)) { + break label$6 + } + if (!((btCollisionShape__getShapeType_28_29_20const(HEAP32[($7 + 1636 | 0) >> 2] | 0 | 0) | 0 | 0) == (8 | 0) & 1 | 0)) { + break label$6 + } + HEAP32[($7 + 1584 | 0) >> 2] = HEAP32[($7 + 1640 | 0) >> 2] | 0; + HEAP32[($7 + 1580 | 0) >> 2] = HEAP32[($7 + 1636 | 0) >> 2] | 0; + (wasm2js_i32$0 = $7, wasm2js_f32$0 = Math_fround(btPersistentManifold__getContactBreakingThreshold_28_29_20const(HEAP32[($8 + 56 | 0) >> 2] | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 1576 | 0) >> 2] = wasm2js_f32$0; + (wasm2js_i32$0 = $7, wasm2js_f32$0 = Math_fround(capsuleCapsuleDistance_28btVector3__2c_20btVector3__2c_20float_2c_20float_2c_20float_2c_20float_2c_20int_2c_20int_2c_20btTransform_20const__2c_20btTransform_20const__2c_20float_29($7 + 1620 | 0 | 0, $7 + 1604 | 0 | 0, Math_fround(Math_fround(btCapsuleShape__getHalfHeight_28_29_20const(HEAP32[($7 + 1584 | 0) >> 2] | 0 | 0))), Math_fround(Math_fround(btCapsuleShape__getRadius_28_29_20const(HEAP32[($7 + 1584 | 0) >> 2] | 0 | 0))), Math_fround(Math_fround(0 | 0)), Math_fround(Math_fround(btSphereShape__getRadius_28_29_20const(HEAP32[($7 + 1580 | 0) >> 2] | 0 | 0))), btCapsuleShape__getUpAxis_28_29_20const(HEAP32[($7 + 1584 | 0) >> 2] | 0 | 0) | 0 | 0, 1 | 0, btCollisionObjectWrapper__getWorldTransform_28_29_20const(HEAP32[($7 + 1656 | 0) >> 2] | 0 | 0) | 0 | 0, btCollisionObjectWrapper__getWorldTransform_28_29_20const(HEAP32[($7 + 1652 | 0) >> 2] | 0 | 0) | 0 | 0, Math_fround(Math_fround(HEAPF32[($7 + 1576 | 0) >> 2]))))), HEAPF32[(wasm2js_i32$0 + 1572 | 0) >> 2] = wasm2js_f32$0; + label$7 : { + if (!(Math_fround(HEAPF32[($7 + 1572 | 0) >> 2]) < Math_fround(HEAPF32[($7 + 1576 | 0) >> 2]) & 1 | 0)) { + break label$7 + } + label$8 : { + if (Math_fround(btVector3__length2_28_29_20const($7 + 1620 | 0 | 0)) >= Math_fround(1.4210854715202004e-14) & 1 | 0) { + break label$8 + } + __assert_fail(86431 | 0, 73223 | 0, 348 | 0, 76857 | 0); + wasm2js_trap(); + } + $169 = HEAP32[($7 + 1644 | 0) >> 2] | 0; + FUNCTION_TABLE[HEAP32[((HEAP32[$169 >> 2] | 0) + 16 | 0) >> 2] | 0 | 0]($169, $7 + 1620 | 0, $7 + 1604 | 0, Math_fround(HEAPF32[($7 + 1572 | 0) >> 2])); + } + btManifoldResult__refreshContactPoints_28_29(HEAP32[($7 + 1644 | 0) >> 2] | 0 | 0); + break label$2; + } + label$9 : { + if (!((btCollisionShape__getShapeType_28_29_20const(HEAP32[($7 + 1640 | 0) >> 2] | 0 | 0) | 0 | 0) == (8 | 0) & 1 | 0)) { + break label$9 + } + if (!((btCollisionShape__getShapeType_28_29_20const(HEAP32[($7 + 1636 | 0) >> 2] | 0 | 0) | 0 | 0) == (10 | 0) & 1 | 0)) { + break label$9 + } + HEAP32[($7 + 1568 | 0) >> 2] = HEAP32[($7 + 1640 | 0) >> 2] | 0; + HEAP32[($7 + 1564 | 0) >> 2] = HEAP32[($7 + 1636 | 0) >> 2] | 0; + (wasm2js_i32$0 = $7, wasm2js_f32$0 = Math_fround(btPersistentManifold__getContactBreakingThreshold_28_29_20const(HEAP32[($8 + 56 | 0) >> 2] | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 1560 | 0) >> 2] = wasm2js_f32$0; + (wasm2js_i32$0 = $7, wasm2js_f32$0 = Math_fround(capsuleCapsuleDistance_28btVector3__2c_20btVector3__2c_20float_2c_20float_2c_20float_2c_20float_2c_20int_2c_20int_2c_20btTransform_20const__2c_20btTransform_20const__2c_20float_29($7 + 1620 | 0 | 0, $7 + 1604 | 0 | 0, Math_fround(Math_fround(0 | 0)), Math_fround(Math_fround(btSphereShape__getRadius_28_29_20const(HEAP32[($7 + 1568 | 0) >> 2] | 0 | 0))), Math_fround(Math_fround(btCapsuleShape__getHalfHeight_28_29_20const(HEAP32[($7 + 1564 | 0) >> 2] | 0 | 0))), Math_fround(Math_fround(btCapsuleShape__getRadius_28_29_20const(HEAP32[($7 + 1564 | 0) >> 2] | 0 | 0))), 1 | 0, btCapsuleShape__getUpAxis_28_29_20const(HEAP32[($7 + 1564 | 0) >> 2] | 0 | 0) | 0 | 0, btCollisionObjectWrapper__getWorldTransform_28_29_20const(HEAP32[($7 + 1656 | 0) >> 2] | 0 | 0) | 0 | 0, btCollisionObjectWrapper__getWorldTransform_28_29_20const(HEAP32[($7 + 1652 | 0) >> 2] | 0 | 0) | 0 | 0, Math_fround(Math_fround(HEAPF32[($7 + 1560 | 0) >> 2]))))), HEAPF32[(wasm2js_i32$0 + 1556 | 0) >> 2] = wasm2js_f32$0; + label$10 : { + if (!(Math_fround(HEAPF32[($7 + 1556 | 0) >> 2]) < Math_fround(HEAPF32[($7 + 1560 | 0) >> 2]) & 1 | 0)) { + break label$10 + } + label$11 : { + if (Math_fround(btVector3__length2_28_29_20const($7 + 1620 | 0 | 0)) >= Math_fround(1.4210854715202004e-14) & 1 | 0) { + break label$11 + } + __assert_fail(86431 | 0, 73223 | 0, 370 | 0, 76857 | 0); + wasm2js_trap(); + } + $240 = HEAP32[($7 + 1644 | 0) >> 2] | 0; + FUNCTION_TABLE[HEAP32[((HEAP32[$240 >> 2] | 0) + 16 | 0) >> 2] | 0 | 0]($240, $7 + 1620 | 0, $7 + 1604 | 0, Math_fround(HEAPF32[($7 + 1556 | 0) >> 2])); + } + btManifoldResult__refreshContactPoints_28_29(HEAP32[($7 + 1644 | 0) >> 2] | 0 | 0); + break label$2; + } + btDiscreteCollisionDetectorInterface__ClosestPointInput__ClosestPointInput_28_29($7 + 1424 | 0 | 0) | 0; + btVoronoiSimplexSolver__btVoronoiSimplexSolver_28_29($7 + 1064 | 0 | 0) | 0; + btGjkPairDetector__btGjkPairDetector_28btConvexShape_20const__2c_20btConvexShape_20const__2c_20btVoronoiSimplexSolver__2c_20btConvexPenetrationDepthSolver__29($7 + 984 | 0 | 0, HEAP32[($7 + 1640 | 0) >> 2] | 0 | 0, HEAP32[($7 + 1636 | 0) >> 2] | 0 | 0, $7 + 1064 | 0 | 0, HEAP32[($8 + 8 | 0) >> 2] | 0 | 0) | 0; + btGjkPairDetector__setMinkowskiA_28btConvexShape_20const__29($7 + 984 | 0 | 0, HEAP32[($7 + 1640 | 0) >> 2] | 0 | 0); + btGjkPairDetector__setMinkowskiB_28btConvexShape_20const__29($7 + 984 | 0 | 0, HEAP32[($7 + 1636 | 0) >> 2] | 0 | 0); + $274 = HEAP32[($7 + 1640 | 0) >> 2] | 0; + $277 = Math_fround(FUNCTION_TABLE[HEAP32[((HEAP32[$274 >> 2] | 0) + 48 | 0) >> 2] | 0 | 0]($274)); + $278 = HEAP32[($7 + 1636 | 0) >> 2] | 0; + (wasm2js_i32$0 = $7, wasm2js_f32$0 = Math_fround(Math_fround(Math_fround($277 + Math_fround(FUNCTION_TABLE[HEAP32[((HEAP32[$278 >> 2] | 0) + 48 | 0) >> 2] | 0 | 0]($278))) + Math_fround(btPersistentManifold__getContactBreakingThreshold_28_29_20const(HEAP32[($8 + 56 | 0) >> 2] | 0 | 0))) + Math_fround(HEAPF32[((HEAP32[($7 + 1644 | 0) >> 2] | 0) + 32 | 0) >> 2]))), HEAPF32[(wasm2js_i32$0 + 1552 | 0) >> 2] = wasm2js_f32$0; + HEAPF32[($7 + 1552 | 0) >> 2] = Math_fround(Math_fround(HEAPF32[($7 + 1552 | 0) >> 2]) * Math_fround(HEAPF32[($7 + 1552 | 0) >> 2])); + btTransform__operator__28btTransform_20const__29($7 + 1424 | 0 | 0, btCollisionObjectWrapper__getWorldTransform_28_29_20const(HEAP32[($7 + 1656 | 0) >> 2] | 0 | 0) | 0 | 0) | 0; + btTransform__operator__28btTransform_20const__29(($7 + 1424 | 0) + 64 | 0 | 0, btCollisionObjectWrapper__getWorldTransform_28_29_20const(HEAP32[($7 + 1652 | 0) >> 2] | 0 | 0) | 0 | 0) | 0; + label$12 : { + label$13 : { + if (!((btCollisionShape__isPolyhedral_28_29_20const(HEAP32[($7 + 1640 | 0) >> 2] | 0 | 0) | 0) & 1 | 0)) { + break label$13 + } + if (!((btCollisionShape__isPolyhedral_28_29_20const(HEAP32[($7 + 1636 | 0) >> 2] | 0 | 0) | 0) & 1 | 0)) { + break label$13 + } + btConvexConvexAlgorithm__processCollision_28btCollisionObjectWrapper_20const__2c_20btCollisionObjectWrapper_20const__2c_20btDispatcherInfo_20const__2c_20btManifoldResult__29__btDummyResult__btDummyResult_28_29($7 + 980 | 0 | 0) | 0; + label$14 : { + label$15 : { + if (btCollisionShape__getShapeType_28_29_20const(HEAP32[($7 + 1640 | 0) >> 2] | 0 | 0) | 0) { + break label$15 + } + $319 = Math_fround(0 | 0); + break label$14; + } + $320 = HEAP32[($7 + 1640 | 0) >> 2] | 0; + $319 = Math_fround(FUNCTION_TABLE[HEAP32[((HEAP32[$320 >> 2] | 0) + 48 | 0) >> 2] | 0 | 0]($320)); + } + HEAPF32[($7 + 976 | 0) >> 2] = $319; + label$16 : { + label$17 : { + if (btCollisionShape__getShapeType_28_29_20const(HEAP32[($7 + 1636 | 0) >> 2] | 0 | 0) | 0) { + break label$17 + } + $329 = Math_fround(0 | 0); + break label$16; + } + $330 = HEAP32[($7 + 1636 | 0) >> 2] | 0; + $329 = Math_fround(FUNCTION_TABLE[HEAP32[((HEAP32[$330 >> 2] | 0) + 48 | 0) >> 2] | 0 | 0]($330)); + } + HEAPF32[($7 + 972 | 0) >> 2] = $329; + btConvexConvexAlgorithm__processCollision_28btCollisionObjectWrapper_20const__2c_20btCollisionObjectWrapper_20const__2c_20btDispatcherInfo_20const__2c_20btManifoldResult__29__btWithoutMarginResult__btWithoutMarginResult_28btDiscreteCollisionDetectorInterface__Result__2c_20float_2c_20float_29($7 + 932 | 0 | 0, HEAP32[($7 + 1644 | 0) >> 2] | 0 | 0, Math_fround(Math_fround(HEAPF32[($7 + 976 | 0) >> 2])), Math_fround(Math_fround(HEAPF32[($7 + 972 | 0) >> 2]))) | 0; + HEAP32[($7 + 928 | 0) >> 2] = HEAP32[($7 + 1640 | 0) >> 2] | 0; + HEAP32[($7 + 924 | 0) >> 2] = HEAP32[($7 + 1636 | 0) >> 2] | 0; + label$18 : { + label$19 : { + if (!((btPolyhedralConvexShape__getConvexPolyhedron_28_29_20const(HEAP32[($7 + 928 | 0) >> 2] | 0 | 0) | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$19 + } + if (!((btPolyhedralConvexShape__getConvexPolyhedron_28_29_20const(HEAP32[($7 + 924 | 0) >> 2] | 0 | 0) | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$19 + } + (wasm2js_i32$0 = $7, wasm2js_f32$0 = Math_fround(btPersistentManifold__getContactBreakingThreshold_28_29_20const(HEAP32[($8 + 56 | 0) >> 2] | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 920 | 0) >> 2] = wasm2js_f32$0; + HEAPF32[($7 + 916 | 0) >> 2] = Math_fround(-1000000015047466219876688.0e6); + btVector3__btVector3_28_29($7 + 896 | 0 | 0) | 0; + HEAP8[($7 + 895 | 0) >> 0] = 1; + label$20 : { + label$21 : { + if (!((HEAPU8[((HEAP32[($7 + 1648 | 0) >> 2] | 0) + 24 | 0) >> 0] | 0) & 1 | 0)) { + break label$21 + } + (wasm2js_i32$0 = $7, wasm2js_i32$1 = (btPolyhedralContactClipping__findSeparatingAxis_28btConvexPolyhedron_20const__2c_20btConvexPolyhedron_20const__2c_20btTransform_20const__2c_20btTransform_20const__2c_20btVector3__2c_20btDiscreteCollisionDetectorInterface__Result__29(btPolyhedralConvexShape__getConvexPolyhedron_28_29_20const(HEAP32[($7 + 928 | 0) >> 2] | 0 | 0) | 0 | 0, btPolyhedralConvexShape__getConvexPolyhedron_28_29_20const(HEAP32[($7 + 924 | 0) >> 2] | 0 | 0) | 0 | 0, btCollisionObjectWrapper__getWorldTransform_28_29_20const(HEAP32[($7 + 1656 | 0) >> 2] | 0 | 0) | 0 | 0, btCollisionObjectWrapper__getWorldTransform_28_29_20const(HEAP32[($7 + 1652 | 0) >> 2] | 0 | 0) | 0 | 0, $7 + 896 | 0 | 0, HEAP32[($7 + 1644 | 0) >> 2] | 0 | 0) | 0) & 1 | 0), HEAP8[(wasm2js_i32$0 + 895 | 0) >> 0] = wasm2js_i32$1; + break label$20; + } + btGjkPairDetector__getClosestPoints_28btDiscreteCollisionDetectorInterface__ClosestPointInput_20const__2c_20btDiscreteCollisionDetectorInterface__Result__2c_20btIDebugDraw__2c_20bool_29($7 + 984 | 0 | 0, $7 + 1424 | 0 | 0, $7 + 932 | 0 | 0, HEAP32[((HEAP32[($7 + 1648 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0, 0 & 1 | 0 | 0); + $403 = ($7 + 932 | 0) + 8 | 0; + $404 = 8; + i64toi32_i32$2 = $403 + $404 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $1814 = i64toi32_i32$0; + i64toi32_i32$0 = ($7 + 896 | 0) + $404 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $1814; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$2 = $403; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $1818 = i64toi32_i32$1; + i64toi32_i32$1 = $7; + HEAP32[($7 + 896 | 0) >> 2] = $1818; + HEAP32[($7 + 900 | 0) >> 2] = i64toi32_i32$0; + HEAPF32[($7 + 916 | 0) >> 2] = Math_fround(HEAPF32[($7 + 964 | 0) >> 2]); + $416 = 0; + label$22 : { + if (!((HEAPU8[($7 + 968 | 0) >> 0] | 0) & 1 | 0)) { + break label$22 + } + $416 = Math_fround(HEAPF32[($7 + 916 | 0) >> 2]) < Math_fround(0 | 0); + } + HEAP8[($7 + 895 | 0) >> 0] = $416 & 1 | 0; + } + label$23 : { + if (!((HEAPU8[($7 + 895 | 0) >> 0] | 0) & 1 | 0)) { + break label$23 + } + btVector3__btVector3_28_29($7 + 876 | 0 | 0) | 0; + btAlignedObjectArray_btVector3___resize_28int_2c_20btVector3_20const__29($8 + 12 | 0 | 0, 0 | 0, $7 + 876 | 0 | 0); + btPolyhedralContactClipping__clipHullAgainstHull_28btVector3_20const__2c_20btConvexPolyhedron_20const__2c_20btConvexPolyhedron_20const__2c_20btTransform_20const__2c_20btTransform_20const__2c_20float_2c_20float_2c_20btAlignedObjectArray_btVector3___2c_20btAlignedObjectArray_btVector3___2c_20btDiscreteCollisionDetectorInterface__Result__29($7 + 896 | 0 | 0, btPolyhedralConvexShape__getConvexPolyhedron_28_29_20const(HEAP32[($7 + 928 | 0) >> 2] | 0 | 0) | 0 | 0, btPolyhedralConvexShape__getConvexPolyhedron_28_29_20const(HEAP32[($7 + 924 | 0) >> 2] | 0 | 0) | 0 | 0, btCollisionObjectWrapper__getWorldTransform_28_29_20const(HEAP32[($7 + 1656 | 0) >> 2] | 0 | 0) | 0 | 0, btCollisionObjectWrapper__getWorldTransform_28_29_20const(HEAP32[($7 + 1652 | 0) >> 2] | 0 | 0) | 0 | 0, Math_fround(Math_fround(Math_fround(HEAPF32[($7 + 916 | 0) >> 2]) - Math_fround(HEAPF32[($7 + 920 | 0) >> 2]))), Math_fround(Math_fround(HEAPF32[($7 + 920 | 0) >> 2])), $8 + 12 | 0 | 0, $8 + 32 | 0 | 0, HEAP32[($7 + 1644 | 0) >> 2] | 0 | 0); + } + label$24 : { + if (!((HEAPU8[($8 + 52 | 0) >> 0] | 0) & 1 | 0)) { + break label$24 + } + btManifoldResult__refreshContactPoints_28_29(HEAP32[($7 + 1644 | 0) >> 2] | 0 | 0); + } + HEAP32[($7 + 872 | 0) >> 2] = 1; + break label$18; + } + label$25 : { + if (!((btPolyhedralConvexShape__getConvexPolyhedron_28_29_20const(HEAP32[($7 + 928 | 0) >> 2] | 0 | 0) | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$25 + } + if (!((btCollisionShape__getShapeType_28_29_20const(HEAP32[($7 + 924 | 0) >> 2] | 0 | 0) | 0 | 0) == (1 | 0) & 1 | 0)) { + break label$25 + } + btAlignedObjectArray_btVector3___btAlignedObjectArray_28_29($7 + 852 | 0 | 0) | 0; + HEAP32[($7 + 848 | 0) >> 2] = HEAP32[($7 + 924 | 0) >> 2] | 0; + btTransform__operator__28btVector3_20const__29_20const($7 + 832 | 0 | 0, btCollisionObjectWrapper__getWorldTransform_28_29_20const(HEAP32[($7 + 1652 | 0) >> 2] | 0 | 0) | 0 | 0, (HEAP32[($7 + 848 | 0) >> 2] | 0) + 64 | 0 | 0); + btAlignedObjectArray_btVector3___push_back_28btVector3_20const__29($7 + 852 | 0 | 0, $7 + 832 | 0 | 0); + btTransform__operator__28btVector3_20const__29_20const($7 + 816 | 0 | 0, btCollisionObjectWrapper__getWorldTransform_28_29_20const(HEAP32[($7 + 1652 | 0) >> 2] | 0 | 0) | 0 | 0, ((HEAP32[($7 + 848 | 0) >> 2] | 0) + 64 | 0) + 16 | 0 | 0); + btAlignedObjectArray_btVector3___push_back_28btVector3_20const__29($7 + 852 | 0 | 0, $7 + 816 | 0 | 0); + btTransform__operator__28btVector3_20const__29_20const($7 + 800 | 0 | 0, btCollisionObjectWrapper__getWorldTransform_28_29_20const(HEAP32[($7 + 1652 | 0) >> 2] | 0 | 0) | 0 | 0, ((HEAP32[($7 + 848 | 0) >> 2] | 0) + 64 | 0) + 32 | 0 | 0); + btAlignedObjectArray_btVector3___push_back_28btVector3_20const__29($7 + 852 | 0 | 0, $7 + 800 | 0 | 0); + (wasm2js_i32$0 = $7, wasm2js_f32$0 = Math_fround(btPersistentManifold__getContactBreakingThreshold_28_29_20const(HEAP32[($8 + 56 | 0) >> 2] | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 796 | 0) >> 2] = wasm2js_f32$0; + btVector3__btVector3_28_29($7 + 776 | 0 | 0) | 0; + HEAPF32[($7 + 772 | 0) >> 2] = Math_fround(-1000000015047466219876688.0e6); + HEAPF32[($7 + 768 | 0) >> 2] = Math_fround(HEAPF32[($7 + 796 | 0) >> 2]); + HEAP8[($7 + 767 | 0) >> 0] = 0; + btGjkPairDetector__getClosestPoints_28btDiscreteCollisionDetectorInterface__ClosestPointInput_20const__2c_20btDiscreteCollisionDetectorInterface__Result__2c_20btIDebugDraw__2c_20bool_29($7 + 984 | 0 | 0, $7 + 1424 | 0 | 0, $7 + 980 | 0 | 0, HEAP32[((HEAP32[($7 + 1648 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0, 0 & 1 | 0 | 0); + (wasm2js_i32$0 = $7, wasm2js_f32$0 = Math_fround(btVector3__length2_28_29_20const(btGjkPairDetector__getCachedSeparatingAxis_28_29_20const($7 + 984 | 0 | 0) | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 760 | 0) >> 2] = wasm2js_f32$0; + label$26 : { + if (!(Math_fround(HEAPF32[($7 + 760 | 0) >> 2]) > Math_fround(1.1920928955078125e-07) & 1 | 0)) { + break label$26 + } + $562 = btGjkPairDetector__getCachedSeparatingAxis_28_29_20const($7 + 984 | 0 | 0) | 0; + HEAPF32[($7 + 740 | 0) >> 2] = Math_fround(Math_fround(1.0) / Math_fround(HEAPF32[($7 + 760 | 0) >> 2])); + operator__28btVector3_20const__2c_20float_20const__29($7 + 744 | 0 | 0, $562 | 0, $7 + 740 | 0 | 0); + $572 = 8; + i64toi32_i32$2 = ($7 + 744 | 0) + $572 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $2152 = i64toi32_i32$0; + i64toi32_i32$0 = ($7 + 776 | 0) + $572 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $2152; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$2 = $7; + i64toi32_i32$1 = HEAP32[($7 + 744 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($7 + 748 | 0) >> 2] | 0; + $2156 = i64toi32_i32$1; + i64toi32_i32$1 = $7; + HEAP32[($7 + 776 | 0) >> 2] = $2156; + HEAP32[($7 + 780 | 0) >> 2] = i64toi32_i32$0; + $584 = Math_fround(btGjkPairDetector__getCachedSeparatingDistance_28_29_20const($7 + 984 | 0 | 0)); + $585 = HEAP32[($7 + 1640 | 0) >> 2] | 0; + $589 = Math_fround($584 - Math_fround(FUNCTION_TABLE[HEAP32[((HEAP32[$585 >> 2] | 0) + 48 | 0) >> 2] | 0 | 0]($585))); + $590 = HEAP32[($7 + 1636 | 0) >> 2] | 0; + (wasm2js_i32$0 = $7, wasm2js_f32$0 = Math_fround($589 - Math_fround(FUNCTION_TABLE[HEAP32[((HEAP32[$590 >> 2] | 0) + 48 | 0) >> 2] | 0 | 0]($590)))), HEAPF32[(wasm2js_i32$0 + 772 | 0) >> 2] = wasm2js_f32$0; + HEAP8[($7 + 767 | 0) >> 0] = 1; + } + label$27 : { + if (!((HEAPU8[($7 + 767 | 0) >> 0] | 0) & 1 | 0)) { + break label$27 + } + btVector3__btVector3_28_29($7 + 724 | 0 | 0) | 0; + btAlignedObjectArray_btVector3___resize_28int_2c_20btVector3_20const__29($8 + 32 | 0 | 0, 0 | 0, $7 + 724 | 0 | 0); + btPolyhedralContactClipping__clipFaceAgainstHull_28btVector3_20const__2c_20btConvexPolyhedron_20const__2c_20btTransform_20const__2c_20btAlignedObjectArray_btVector3___2c_20btAlignedObjectArray_btVector3___2c_20float_2c_20float_2c_20btDiscreteCollisionDetectorInterface__Result__29($7 + 776 | 0 | 0, btPolyhedralConvexShape__getConvexPolyhedron_28_29_20const(HEAP32[($7 + 928 | 0) >> 2] | 0 | 0) | 0 | 0, btCollisionObjectWrapper__getWorldTransform_28_29_20const(HEAP32[($7 + 1656 | 0) >> 2] | 0 | 0) | 0 | 0, $7 + 852 | 0 | 0, $8 + 32 | 0 | 0, Math_fround(Math_fround(Math_fround(HEAPF32[($7 + 772 | 0) >> 2]) - Math_fround(HEAPF32[($7 + 796 | 0) >> 2]))), Math_fround(Math_fround(HEAPF32[($7 + 768 | 0) >> 2])), HEAP32[($7 + 1644 | 0) >> 2] | 0 | 0); + } + label$28 : { + if (!((HEAPU8[($8 + 52 | 0) >> 0] | 0) & 1 | 0)) { + break label$28 + } + btManifoldResult__refreshContactPoints_28_29(HEAP32[($7 + 1644 | 0) >> 2] | 0 | 0); + } + HEAP32[($7 + 872 | 0) >> 2] = 1; + btAlignedObjectArray_btVector3____btAlignedObjectArray_28_29($7 + 852 | 0 | 0) | 0; + break label$18; + } + HEAP32[($7 + 872 | 0) >> 2] = 0; + } + btConvexConvexAlgorithm__processCollision_28btCollisionObjectWrapper_20const__2c_20btCollisionObjectWrapper_20const__2c_20btDispatcherInfo_20const__2c_20btManifoldResult__29__btWithoutMarginResult___btWithoutMarginResult_28_29($7 + 932 | 0 | 0) | 0; + btConvexConvexAlgorithm__processCollision_28btCollisionObjectWrapper_20const__2c_20btCollisionObjectWrapper_20const__2c_20btDispatcherInfo_20const__2c_20btManifoldResult__29__btDummyResult___btDummyResult_28_29($7 + 980 | 0 | 0) | 0; + if (HEAP32[($7 + 872 | 0) >> 2] | 0) { + break label$12 + } + } + btGjkPairDetector__getClosestPoints_28btDiscreteCollisionDetectorInterface__ClosestPointInput_20const__2c_20btDiscreteCollisionDetectorInterface__Result__2c_20btIDebugDraw__2c_20bool_29($7 + 984 | 0 | 0, $7 + 1424 | 0 | 0, HEAP32[($7 + 1644 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($7 + 1648 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0, 0 & 1 | 0 | 0); + label$29 : { + if (!(HEAP32[($8 + 64 | 0) >> 2] | 0)) { + break label$29 + } + if (!((btPersistentManifold__getNumContacts_28_29_20const(btManifoldResult__getPersistentManifold_28_29(HEAP32[($7 + 1644 | 0) >> 2] | 0 | 0) | 0 | 0) | 0 | 0) < (HEAP32[($8 + 68 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$29 + } + btVector3__btVector3_28_29($7 + 704 | 0 | 0) | 0; + btVector3__btVector3_28_29($7 + 688 | 0 | 0) | 0; + btVector3__btVector3_28_29($7 + 672 | 0 | 0) | 0; + (wasm2js_i32$0 = $7, wasm2js_f32$0 = Math_fround(btVector3__length2_28_29_20const(btGjkPairDetector__getCachedSeparatingAxis_28_29_20const($7 + 984 | 0 | 0) | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 668 | 0) >> 2] = wasm2js_f32$0; + label$30 : { + if (!(Math_fround(HEAPF32[($7 + 668 | 0) >> 2]) > Math_fround(1.1920928955078125e-07) & 1 | 0)) { + break label$30 + } + $683 = btGjkPairDetector__getCachedSeparatingAxis_28_29_20const($7 + 984 | 0 | 0) | 0; + HEAPF32[($7 + 648 | 0) >> 2] = Math_fround(Math_fround(1.0) / Math_fround(HEAPF32[($7 + 668 | 0) >> 2])); + operator__28btVector3_20const__2c_20float_20const__29($7 + 652 | 0 | 0, $683 | 0, $7 + 648 | 0 | 0); + $693 = 8; + i64toi32_i32$2 = ($7 + 652 | 0) + $693 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $2406 = i64toi32_i32$0; + i64toi32_i32$0 = ($7 + 672 | 0) + $693 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $2406; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$2 = $7; + i64toi32_i32$1 = HEAP32[($7 + 652 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($7 + 656 | 0) >> 2] | 0; + $2410 = i64toi32_i32$1; + i64toi32_i32$1 = $7; + HEAP32[($7 + 672 | 0) >> 2] = $2410; + HEAP32[($7 + 676 | 0) >> 2] = i64toi32_i32$0; + void_20btPlaneSpace1_btVector3__28btVector3_20const__2c_20btVector3__2c_20btVector3__29($7 + 672 | 0 | 0, $7 + 704 | 0 | 0, $7 + 688 | 0 | 0); + HEAP8[($7 + 647 | 0) >> 0] = 1; + HEAPF32[($7 + 640 | 0) >> 2] = Math_fround(.39269909262657166); + $713 = HEAP32[($7 + 1640 | 0) >> 2] | 0; + (wasm2js_i32$0 = $7, wasm2js_f32$0 = Math_fround(FUNCTION_TABLE[HEAP32[((HEAP32[$713 >> 2] | 0) + 16 | 0) >> 2] | 0 | 0]($713))), HEAPF32[(wasm2js_i32$0 + 632 | 0) >> 2] = wasm2js_f32$0; + $717 = HEAP32[($7 + 1636 | 0) >> 2] | 0; + (wasm2js_i32$0 = $7, wasm2js_f32$0 = Math_fround(FUNCTION_TABLE[HEAP32[((HEAP32[$717 >> 2] | 0) + 16 | 0) >> 2] | 0 | 0]($717))), HEAPF32[(wasm2js_i32$0 + 628 | 0) >> 2] = wasm2js_f32$0; + label$31 : { + label$32 : { + if (!(Math_fround(HEAPF32[($7 + 632 | 0) >> 2]) < Math_fround(HEAPF32[($7 + 628 | 0) >> 2]) & 1 | 0)) { + break label$32 + } + HEAPF32[($7 + 636 | 0) >> 2] = Math_fround(Math_fround(HEAPF32[(0 + 112840 | 0) >> 2]) / Math_fround(HEAPF32[($7 + 632 | 0) >> 2])); + HEAP8[($7 + 647 | 0) >> 0] = 1; + break label$31; + } + HEAPF32[($7 + 636 | 0) >> 2] = Math_fround(Math_fround(HEAPF32[(0 + 112840 | 0) >> 2]) / Math_fround(HEAPF32[($7 + 628 | 0) >> 2])); + HEAP8[($7 + 647 | 0) >> 0] = 0; + } + label$33 : { + if (!(Math_fround(HEAPF32[($7 + 636 | 0) >> 2]) > Math_fround(.39269909262657166) & 1 | 0)) { + break label$33 + } + HEAPF32[($7 + 636 | 0) >> 2] = Math_fround(.39269909262657166); + } + btTransform__btTransform_28_29($7 + 564 | 0 | 0) | 0; + label$34 : { + label$35 : { + if (!((HEAPU8[($7 + 647 | 0) >> 0] | 0) & 1 | 0)) { + break label$35 + } + btTransform__operator__28btTransform_20const__29($7 + 564 | 0 | 0, $7 + 1424 | 0 | 0) | 0; + break label$34; + } + btTransform__operator__28btTransform_20const__29($7 + 564 | 0 | 0, ($7 + 1424 | 0) + 64 | 0 | 0) | 0; + } + HEAP32[($7 + 720 | 0) >> 2] = 0; + label$36 : { + label$37 : while (1) { + if (!((HEAP32[($7 + 720 | 0) >> 2] | 0 | 0) < (HEAP32[($8 + 64 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$36 + } + label$38 : { + if (!(Math_fround(btVector3__length2_28_29_20const($7 + 704 | 0 | 0)) > Math_fround(1.1920928955078125e-07) & 1 | 0)) { + break label$38 + } + btQuaternion__btQuaternion_28btVector3_20const__2c_20float_20const__29($7 + 548 | 0 | 0, $7 + 704 | 0 | 0, $7 + 636 | 0 | 0) | 0; + HEAPF32[($7 + 544 | 0) >> 2] = Math_fround(Math_fround(HEAP32[($7 + 720 | 0) >> 2] | 0 | 0) * Math_fround(Math_fround(6.2831854820251465) / Math_fround(HEAP32[($8 + 64 | 0) >> 2] | 0 | 0))); + btQuaternion__btQuaternion_28btVector3_20const__2c_20float_20const__29($7 + 528 | 0 | 0, $7 + 672 | 0 | 0, $7 + 544 | 0 | 0) | 0; + label$39 : { + label$40 : { + if (!((HEAPU8[($7 + 647 | 0) >> 0] | 0) & 1 | 0)) { + break label$40 + } + btQuaternion__inverse_28_29_20const($7 + 384 | 0 | 0, $7 + 528 | 0 | 0); + operator__28btQuaternion_20const__2c_20btQuaternion_20const__29($7 + 400 | 0 | 0, $7 + 384 | 0 | 0, $7 + 548 | 0 | 0); + operator__28btQuaternion_20const__2c_20btQuaternion_20const__29($7 + 416 | 0 | 0, $7 + 400 | 0 | 0, $7 + 528 | 0 | 0); + btMatrix3x3__btMatrix3x3_28btQuaternion_20const__29($7 + 432 | 0 | 0, $7 + 416 | 0 | 0) | 0; + operator__28btMatrix3x3_20const__2c_20btMatrix3x3_20const__29($7 + 480 | 0 | 0, $7 + 432 | 0 | 0, btTransform__getBasis_28_29_20const(btCollisionObjectWrapper__getWorldTransform_28_29_20const(HEAP32[($7 + 1656 | 0) >> 2] | 0 | 0) | 0 | 0) | 0 | 0); + btTransform__setBasis_28btMatrix3x3_20const__29($7 + 1424 | 0 | 0, $7 + 480 | 0 | 0); + btTransform__operator__28btTransform_20const__29(($7 + 1424 | 0) + 64 | 0 | 0, btCollisionObjectWrapper__getWorldTransform_28_29_20const(HEAP32[($7 + 1652 | 0) >> 2] | 0 | 0) | 0 | 0) | 0; + break label$39; + } + btTransform__operator__28btTransform_20const__29($7 + 1424 | 0 | 0, btCollisionObjectWrapper__getWorldTransform_28_29_20const(HEAP32[($7 + 1656 | 0) >> 2] | 0 | 0) | 0 | 0) | 0; + btQuaternion__inverse_28_29_20const($7 + 240 | 0 | 0, $7 + 528 | 0 | 0); + operator__28btQuaternion_20const__2c_20btQuaternion_20const__29($7 + 256 | 0 | 0, $7 + 240 | 0 | 0, $7 + 548 | 0 | 0); + operator__28btQuaternion_20const__2c_20btQuaternion_20const__29($7 + 272 | 0 | 0, $7 + 256 | 0 | 0, $7 + 528 | 0 | 0); + btMatrix3x3__btMatrix3x3_28btQuaternion_20const__29($7 + 288 | 0 | 0, $7 + 272 | 0 | 0) | 0; + operator__28btMatrix3x3_20const__2c_20btMatrix3x3_20const__29($7 + 336 | 0 | 0, $7 + 288 | 0 | 0, btTransform__getBasis_28_29_20const(btCollisionObjectWrapper__getWorldTransform_28_29_20const(HEAP32[($7 + 1652 | 0) >> 2] | 0 | 0) | 0 | 0) | 0 | 0); + btTransform__setBasis_28btMatrix3x3_20const__29(($7 + 1424 | 0) + 64 | 0 | 0, $7 + 336 | 0 | 0); + } + btPerturbedContactResult__btPerturbedContactResult_28btManifoldResult__2c_20btTransform_20const__2c_20btTransform_20const__2c_20btTransform_20const__2c_20bool_2c_20btIDebugDraw__29($7 | 0, HEAP32[($7 + 1644 | 0) >> 2] | 0 | 0, $7 + 1424 | 0 | 0, ($7 + 1424 | 0) + 64 | 0 | 0, $7 + 564 | 0 | 0, (HEAPU8[($7 + 647 | 0) >> 0] | 0) & 1 | 0 | 0, HEAP32[((HEAP32[($7 + 1648 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0) | 0; + btGjkPairDetector__getClosestPoints_28btDiscreteCollisionDetectorInterface__ClosestPointInput_20const__2c_20btDiscreteCollisionDetectorInterface__Result__2c_20btIDebugDraw__2c_20bool_29($7 + 984 | 0 | 0, $7 + 1424 | 0 | 0, $7 | 0, HEAP32[((HEAP32[($7 + 1648 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0, 0 & 1 | 0 | 0); + btPerturbedContactResult___btPerturbedContactResult_28_29($7 | 0) | 0; + } + HEAP32[($7 + 720 | 0) >> 2] = (HEAP32[($7 + 720 | 0) >> 2] | 0) + 1 | 0; + continue label$37; + }; + } + } + } + HEAP32[($7 + 872 | 0) >> 2] = 0; + } + btGjkPairDetector___btGjkPairDetector_28_29($7 + 984 | 0 | 0) | 0; + label$41 : { + switch (HEAP32[($7 + 872 | 0) >> 2] | 0 | 0) { + case 1: + break label$2; + default: + break label$41; + }; + } + if (!((HEAPU8[($8 + 52 | 0) >> 0] | 0) & 1 | 0)) { + break label$2 + } + btManifoldResult__refreshContactPoints_28_29(HEAP32[($7 + 1644 | 0) >> 2] | 0 | 0); + } + __stack_pointer = $7 + 1664 | 0; + return; + } + + function btManifoldResult__setPersistentManifold_28btPersistentManifold__29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0; + $4 = __stack_pointer - 16 | 0; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + HEAP32[((HEAP32[($4 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] = HEAP32[($4 + 8 | 0) >> 2] | 0; + return; + } + + function capsuleCapsuleDistance_28btVector3__2c_20btVector3__2c_20float_2c_20float_2c_20float_2c_20float_2c_20int_2c_20int_2c_20btTransform_20const__2c_20btTransform_20const__2c_20float_29($0, $1, $2, $3, $4, $5, $6, $7, $8, $9, $10) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = Math_fround($2); + $3 = Math_fround($3); + $4 = Math_fround($4); + $5 = Math_fround($5); + $6 = $6 | 0; + $7 = $7 | 0; + $8 = $8 | 0; + $9 = $9 | 0; + $10 = Math_fround($10); + var $13 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, $21 = 0, $22 = 0, $36 = 0, $37 = 0, $135 = 0, $137 = 0, $167 = 0, $169 = 0, $235 = 0, $239 = 0, $269 = 0, $273 = 0, $455 = 0, $468 = 0, $517 = 0, $530 = 0, $176 = Math_fround(0), wasm2js_i32$0 = 0, wasm2js_f32$0 = Math_fround(0); + $13 = __stack_pointer - 288 | 0; + __stack_pointer = $13; + HEAP32[($13 + 280 | 0) >> 2] = $0; + HEAP32[($13 + 276 | 0) >> 2] = $1; + HEAPF32[($13 + 272 | 0) >> 2] = $2; + HEAPF32[($13 + 268 | 0) >> 2] = $3; + HEAPF32[($13 + 264 | 0) >> 2] = $4; + HEAPF32[($13 + 260 | 0) >> 2] = $5; + HEAP32[($13 + 256 | 0) >> 2] = $6; + HEAP32[($13 + 252 | 0) >> 2] = $7; + HEAP32[($13 + 248 | 0) >> 2] = $8; + HEAP32[($13 + 244 | 0) >> 2] = $9; + HEAPF32[($13 + 240 | 0) >> 2] = $10; + btMatrix3x3__getColumn_28int_29_20const($13 + 224 | 0 | 0, btTransform__getBasis_28_29_20const(HEAP32[($13 + 248 | 0) >> 2] | 0 | 0) | 0 | 0, HEAP32[($13 + 256 | 0) >> 2] | 0 | 0); + $21 = btTransform__getOrigin_28_29_20const(HEAP32[($13 + 248 | 0) >> 2] | 0 | 0) | 0; + $22 = 8; + i64toi32_i32$2 = $21 + $22 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $235 = i64toi32_i32$0; + i64toi32_i32$0 = ($13 + 208 | 0) + $22 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $235; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$2 = $21; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $239 = i64toi32_i32$1; + i64toi32_i32$1 = $13; + HEAP32[($13 + 208 | 0) >> 2] = $239; + HEAP32[($13 + 212 | 0) >> 2] = i64toi32_i32$0; + btMatrix3x3__getColumn_28int_29_20const($13 + 192 | 0 | 0, btTransform__getBasis_28_29_20const(HEAP32[($13 + 244 | 0) >> 2] | 0 | 0) | 0 | 0, HEAP32[($13 + 252 | 0) >> 2] | 0 | 0); + $36 = btTransform__getOrigin_28_29_20const(HEAP32[($13 + 244 | 0) >> 2] | 0 | 0) | 0; + $37 = 8; + i64toi32_i32$2 = $36 + $37 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $269 = i64toi32_i32$0; + i64toi32_i32$0 = ($13 + 176 | 0) + $37 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $269; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$2 = $36; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $273 = i64toi32_i32$1; + i64toi32_i32$1 = $13; + HEAP32[($13 + 176 | 0) >> 2] = $273; + HEAP32[($13 + 180 | 0) >> 2] = i64toi32_i32$0; + operator__28btVector3_20const__2c_20btVector3_20const__29($13 + 160 | 0 | 0, $13 + 176 | 0 | 0, $13 + 208 | 0 | 0); + btVector3__btVector3_28_29($13 + 144 | 0 | 0) | 0; + btVector3__btVector3_28_29($13 + 128 | 0 | 0) | 0; + btVector3__btVector3_28_29($13 + 112 | 0 | 0) | 0; + segmentsClosestPoints_28btVector3__2c_20btVector3__2c_20btVector3__2c_20float__2c_20float__2c_20btVector3_20const__2c_20btVector3_20const__2c_20float_2c_20btVector3_20const__2c_20float_29($13 + 144 | 0 | 0, $13 + 128 | 0 | 0, $13 + 112 | 0 | 0, $13 + 108 | 0 | 0, $13 + 104 | 0 | 0, $13 + 160 | 0 | 0, $13 + 224 | 0 | 0, Math_fround(Math_fround(HEAPF32[($13 + 272 | 0) >> 2])), $13 + 192 | 0 | 0, Math_fround(Math_fround(HEAPF32[($13 + 264 | 0) >> 2]))); + (wasm2js_i32$0 = $13, wasm2js_f32$0 = Math_fround(Math_fround(Math_fround(btVector3__length_28_29_20const($13 + 144 | 0 | 0)) - Math_fround(HEAPF32[($13 + 268 | 0) >> 2])) - Math_fround(HEAPF32[($13 + 260 | 0) >> 2]))), HEAPF32[(wasm2js_i32$0 + 100 | 0) >> 2] = wasm2js_f32$0; + label$1 : { + label$2 : { + if (!(Math_fround(HEAPF32[($13 + 100 | 0) >> 2]) > Math_fround(HEAPF32[($13 + 240 | 0) >> 2]) & 1 | 0)) { + break label$2 + } + HEAPF32[($13 + 284 | 0) >> 2] = Math_fround(HEAPF32[($13 + 100 | 0) >> 2]); + break label$1; + } + (wasm2js_i32$0 = $13, wasm2js_f32$0 = Math_fround(btVector3__length2_28_29_20const($13 + 144 | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 96 | 0) >> 2] = wasm2js_f32$0; + label$3 : { + label$4 : { + if (!(Math_fround(HEAPF32[($13 + 96 | 0) >> 2]) <= Math_fround(1.4210854715202004e-14) & 1 | 0)) { + break label$4 + } + btVector3__btVector3_28_29($13 + 80 | 0 | 0) | 0; + void_20btPlaneSpace1_btVector3__28btVector3_20const__2c_20btVector3__2c_20btVector3__29($13 + 224 | 0 | 0, HEAP32[($13 + 280 | 0) >> 2] | 0 | 0, $13 + 80 | 0 | 0); + break label$3; + } + (wasm2js_i32$0 = $13, wasm2js_f32$0 = Math_fround(-Math_fround(Math_fround(1.0) / Math_fround(btSqrt_28float_29(Math_fround(Math_fround(HEAPF32[($13 + 96 | 0) >> 2]))))))), HEAPF32[(wasm2js_i32$0 + 60 | 0) >> 2] = wasm2js_f32$0; + operator__28btVector3_20const__2c_20float_20const__29($13 + 64 | 0 | 0, $13 + 144 | 0 | 0, $13 + 60 | 0 | 0); + $135 = HEAP32[($13 + 280 | 0) >> 2] | 0; + i64toi32_i32$2 = $13; + i64toi32_i32$0 = HEAP32[($13 + 64 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($13 + 68 | 0) >> 2] | 0; + $455 = i64toi32_i32$0; + i64toi32_i32$0 = $135; + HEAP32[i64toi32_i32$0 >> 2] = $455; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $137 = 8; + i64toi32_i32$2 = ($13 + 64 | 0) + $137 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $468 = i64toi32_i32$1; + i64toi32_i32$1 = $135 + $137 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $468; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + } + operator__28btVector3_20const__2c_20btVector3_20const__29_2($13 + 28 | 0 | 0, btTransform__getOrigin_28_29_20const(HEAP32[($13 + 244 | 0) >> 2] | 0 | 0) | 0 | 0, $13 + 112 | 0 | 0); + operator__28btVector3_20const__2c_20float_20const__29($13 + 12 | 0 | 0, HEAP32[($13 + 280 | 0) >> 2] | 0 | 0, $13 + 260 | 0 | 0); + operator__28btVector3_20const__2c_20btVector3_20const__29_2($13 + 44 | 0 | 0, $13 + 28 | 0 | 0, $13 + 12 | 0 | 0); + $167 = HEAP32[($13 + 276 | 0) >> 2] | 0; + i64toi32_i32$2 = $13; + i64toi32_i32$0 = HEAP32[($13 + 44 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($13 + 48 | 0) >> 2] | 0; + $517 = i64toi32_i32$0; + i64toi32_i32$0 = $167; + HEAP32[i64toi32_i32$0 >> 2] = $517; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $169 = 8; + i64toi32_i32$2 = ($13 + 44 | 0) + $169 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $530 = i64toi32_i32$1; + i64toi32_i32$1 = $167 + $169 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $530; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + HEAPF32[($13 + 284 | 0) >> 2] = Math_fround(HEAPF32[($13 + 100 | 0) >> 2]); + } + $176 = Math_fround(HEAPF32[($13 + 284 | 0) >> 2]); + __stack_pointer = $13 + 288 | 0; + return Math_fround($176); + } + + function btManifoldResult__refreshContactPoints_28_29($0) { + $0 = $0 | 0; + var $4 = 0, $3 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + label$1 : { + if ((HEAP32[($4 + 4 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$1 + } + __assert_fail(70583 | 0, 78398 | 0, 103 | 0, 69146 | 0); + wasm2js_trap(); + } + label$2 : { + label$3 : { + if (btPersistentManifold__getNumContacts_28_29_20const(HEAP32[($4 + 4 | 0) >> 2] | 0 | 0) | 0) { + break label$3 + } + break label$2; + } + (wasm2js_i32$0 = $3, wasm2js_i32$1 = (btPersistentManifold__getBody0_28_29_20const(HEAP32[($4 + 4 | 0) >> 2] | 0 | 0) | 0 | 0) != (btCollisionObjectWrapper__getCollisionObject_28_29_20const(HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) | 0 | 0) & 1 | 0), HEAP8[(wasm2js_i32$0 + 11 | 0) >> 0] = wasm2js_i32$1; + label$4 : { + if (!((HEAPU8[($3 + 11 | 0) >> 0] | 0) & 1 | 0)) { + break label$4 + } + btPersistentManifold__refreshContactPoints_28btTransform_20const__2c_20btTransform_20const__29(HEAP32[($4 + 4 | 0) >> 2] | 0 | 0, btCollisionObject__getWorldTransform_28_29_20const(btCollisionObjectWrapper__getCollisionObject_28_29_20const(HEAP32[($4 + 12 | 0) >> 2] | 0 | 0) | 0 | 0) | 0 | 0, btCollisionObject__getWorldTransform_28_29_20const(btCollisionObjectWrapper__getCollisionObject_28_29_20const(HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) | 0 | 0) | 0 | 0); + break label$2; + } + btPersistentManifold__refreshContactPoints_28btTransform_20const__2c_20btTransform_20const__29(HEAP32[($4 + 4 | 0) >> 2] | 0 | 0, btCollisionObject__getWorldTransform_28_29_20const(btCollisionObjectWrapper__getCollisionObject_28_29_20const(HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) | 0 | 0) | 0 | 0, btCollisionObject__getWorldTransform_28_29_20const(btCollisionObjectWrapper__getCollisionObject_28_29_20const(HEAP32[($4 + 12 | 0) >> 2] | 0 | 0) | 0 | 0) | 0 | 0); + } + __stack_pointer = $3 + 16 | 0; + return; + } + + function btSphereShape__getRadius_28_29_20const($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0, $13 = Math_fround(0); + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + $13 = Math_fround(Math_fround(HEAPF32[(btVector3__getX_28_29_20const($4 + 36 | 0 | 0) | 0) >> 2]) * Math_fround(HEAPF32[(btVector3__getX_28_29_20const($4 + 20 | 0 | 0) | 0) >> 2])); + __stack_pointer = $3 + 16 | 0; + return Math_fround($13); + } + + function btDiscreteCollisionDetectorInterface__ClosestPointInput__ClosestPointInput_28_29($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + btTransform__btTransform_28_29($4 | 0) | 0; + btTransform__btTransform_28_29($4 + 64 | 0 | 0) | 0; + HEAPF32[($4 + 128 | 0) >> 2] = Math_fround(999999984306749440.0); + __stack_pointer = $3 + 16 | 0; + return $4 | 0; + } + + function btGjkPairDetector__setMinkowskiA_28btConvexShape_20const__29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0; + $4 = __stack_pointer - 16 | 0; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + HEAP32[((HEAP32[($4 + 12 | 0) >> 2] | 0) + 28 | 0) >> 2] = HEAP32[($4 + 8 | 0) >> 2] | 0; + return; + } + + function btGjkPairDetector__setMinkowskiB_28btConvexShape_20const__29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0; + $4 = __stack_pointer - 16 | 0; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + HEAP32[((HEAP32[($4 + 12 | 0) >> 2] | 0) + 32 | 0) >> 2] = HEAP32[($4 + 8 | 0) >> 2] | 0; + return; + } + + function btConvexConvexAlgorithm__processCollision_28btCollisionObjectWrapper_20const__2c_20btCollisionObjectWrapper_20const__2c_20btDispatcherInfo_20const__2c_20btManifoldResult__29__btDummyResult__btDummyResult_28_29($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + btDiscreteCollisionDetectorInterface__Result__Result_28_29($4 | 0) | 0; + HEAP32[$4 >> 2] = 93856 + 8 | 0; + __stack_pointer = $3 + 16 | 0; + return $4 | 0; + } + + function btConvexConvexAlgorithm__processCollision_28btCollisionObjectWrapper_20const__2c_20btCollisionObjectWrapper_20const__2c_20btDispatcherInfo_20const__2c_20btManifoldResult__29__btWithoutMarginResult__btWithoutMarginResult_28btDiscreteCollisionDetectorInterface__Result__2c_20float_2c_20float_29($0, $1, $2, $3) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = Math_fround($2); + $3 = Math_fround($3); + var $6 = 0, $7 = 0; + $6 = __stack_pointer - 16 | 0; + __stack_pointer = $6; + HEAP32[($6 + 12 | 0) >> 2] = $0; + HEAP32[($6 + 8 | 0) >> 2] = $1; + HEAPF32[($6 + 4 | 0) >> 2] = $2; + HEAPF32[$6 >> 2] = $3; + $7 = HEAP32[($6 + 12 | 0) >> 2] | 0; + btDiscreteCollisionDetectorInterface__Result__Result_28_29($7 | 0) | 0; + HEAP32[$7 >> 2] = 94032 + 8 | 0; + HEAP32[($7 + 4 | 0) >> 2] = HEAP32[($6 + 8 | 0) >> 2] | 0; + btVector3__btVector3_28_29($7 + 8 | 0 | 0) | 0; + HEAPF32[($7 + 24 | 0) >> 2] = Math_fround(HEAPF32[($6 + 4 | 0) >> 2]); + HEAPF32[($7 + 28 | 0) >> 2] = Math_fround(HEAPF32[$6 >> 2]); + HEAP8[($7 + 36 | 0) >> 0] = 0; + __stack_pointer = $6 + 16 | 0; + return $7 | 0; + } + + function btGjkPairDetector__getCachedSeparatingAxis_28_29_20const($0) { + $0 = $0 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + return (HEAP32[($3 + 12 | 0) >> 2] | 0) + 4 | 0 | 0; + } + + function btGjkPairDetector__getCachedSeparatingDistance_28_29_20const($0) { + $0 = $0 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + return Math_fround(Math_fround(HEAPF32[((HEAP32[($3 + 12 | 0) >> 2] | 0) + 56 | 0) >> 2])); + } + + function btConvexConvexAlgorithm__processCollision_28btCollisionObjectWrapper_20const__2c_20btCollisionObjectWrapper_20const__2c_20btDispatcherInfo_20const__2c_20btManifoldResult__29__btWithoutMarginResult___btWithoutMarginResult_28_29($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + btDiscreteCollisionDetectorInterface__Result___Result_28_29($4 | 0) | 0; + __stack_pointer = $3 + 16 | 0; + return $4 | 0; + } + + function btConvexConvexAlgorithm__processCollision_28btCollisionObjectWrapper_20const__2c_20btCollisionObjectWrapper_20const__2c_20btDispatcherInfo_20const__2c_20btManifoldResult__29__btDummyResult___btDummyResult_28_29($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + btDiscreteCollisionDetectorInterface__Result___Result_28_29($4 | 0) | 0; + __stack_pointer = $3 + 16 | 0; + return $4 | 0; + } + + function btManifoldResult__getPersistentManifold_28_29($0) { + $0 = $0 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + return HEAP32[((HEAP32[($3 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0; + } + + function btQuaternion__btQuaternion_28btVector3_20const__2c_20float_20const__29($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $5 = 0, $6 = 0; + $5 = __stack_pointer - 16 | 0; + __stack_pointer = $5; + HEAP32[($5 + 12 | 0) >> 2] = $0; + HEAP32[($5 + 8 | 0) >> 2] = $1; + HEAP32[($5 + 4 | 0) >> 2] = $2; + $6 = HEAP32[($5 + 12 | 0) >> 2] | 0; + btQuadWord__btQuadWord_28_29($6 | 0) | 0; + btQuaternion__setRotation_28btVector3_20const__2c_20float_20const__29($6 | 0, HEAP32[($5 + 8 | 0) >> 2] | 0 | 0, HEAP32[($5 + 4 | 0) >> 2] | 0 | 0); + __stack_pointer = $5 + 16 | 0; + return $6 | 0; + } + + function btQuaternion__inverse_28_29_20const($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, $5 = 0; + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[($4 + 12 | 0) >> 2] = $1; + $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; + HEAPF32[($4 + 8 | 0) >> 2] = Math_fround(-Math_fround(HEAPF32[$5 >> 2])); + HEAPF32[($4 + 4 | 0) >> 2] = Math_fround(-Math_fround(HEAPF32[($5 + 4 | 0) >> 2])); + HEAPF32[$4 >> 2] = Math_fround(-Math_fround(HEAPF32[($5 + 8 | 0) >> 2])); + btQuaternion__btQuaternion_28float_20const__2c_20float_20const__2c_20float_20const__2c_20float_20const__29($0 | 0, $4 + 8 | 0 | 0, $4 + 4 | 0 | 0, $4 | 0, $5 + 12 | 0 | 0) | 0; + __stack_pointer = $4 + 16 | 0; + return; + } + + function operator__28btQuaternion_20const__2c_20btQuaternion_20const__29($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $5 = 0, $20 = Math_fround(0), $28 = Math_fround(0), $52 = Math_fround(0), $60 = Math_fround(0), $84 = Math_fround(0), $92 = Math_fround(0), $117 = Math_fround(0), $126 = Math_fround(0), wasm2js_i32$0 = 0, wasm2js_f32$0 = Math_fround(0); + $5 = __stack_pointer - 32 | 0; + __stack_pointer = $5; + HEAP32[($5 + 28 | 0) >> 2] = $1; + HEAP32[($5 + 24 | 0) >> 2] = $2; + $20 = Math_fround(Math_fround(Math_fround(HEAPF32[(btQuadWord__w_28_29_20const(HEAP32[($5 + 28 | 0) >> 2] | 0 | 0) | 0) >> 2]) * Math_fround(HEAPF32[(btQuadWord__x_28_29_20const(HEAP32[($5 + 24 | 0) >> 2] | 0 | 0) | 0) >> 2])) + Math_fround(Math_fround(HEAPF32[(btQuadWord__x_28_29_20const(HEAP32[($5 + 28 | 0) >> 2] | 0 | 0) | 0) >> 2]) * Math_fround(HEAPF32[(btQuadWord__w_28_29_20const(HEAP32[($5 + 24 | 0) >> 2] | 0 | 0) | 0) >> 2]))); + $28 = Math_fround(Math_fround(Math_fround(HEAPF32[(btQuadWord__y_28_29_20const(HEAP32[($5 + 28 | 0) >> 2] | 0 | 0) | 0) >> 2]) * Math_fround(HEAPF32[(btQuadWord__z_28_29_20const(HEAP32[($5 + 24 | 0) >> 2] | 0 | 0) | 0) >> 2])) + $20); + (wasm2js_i32$0 = $5, wasm2js_f32$0 = Math_fround(Math_fround(Math_fround(-Math_fround(HEAPF32[(btQuadWord__z_28_29_20const(HEAP32[($5 + 28 | 0) >> 2] | 0 | 0) | 0) >> 2])) * Math_fround(HEAPF32[(btQuadWord__y_28_29_20const(HEAP32[($5 + 24 | 0) >> 2] | 0 | 0) | 0) >> 2])) + $28)), HEAPF32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_f32$0; + $52 = Math_fround(Math_fround(Math_fround(HEAPF32[(btQuadWord__w_28_29_20const(HEAP32[($5 + 28 | 0) >> 2] | 0 | 0) | 0) >> 2]) * Math_fround(HEAPF32[(btQuadWord__y_28_29_20const(HEAP32[($5 + 24 | 0) >> 2] | 0 | 0) | 0) >> 2])) + Math_fround(Math_fround(HEAPF32[(btQuadWord__y_28_29_20const(HEAP32[($5 + 28 | 0) >> 2] | 0 | 0) | 0) >> 2]) * Math_fround(HEAPF32[(btQuadWord__w_28_29_20const(HEAP32[($5 + 24 | 0) >> 2] | 0 | 0) | 0) >> 2]))); + $60 = Math_fround(Math_fround(Math_fround(HEAPF32[(btQuadWord__z_28_29_20const(HEAP32[($5 + 28 | 0) >> 2] | 0 | 0) | 0) >> 2]) * Math_fround(HEAPF32[(btQuadWord__x_28_29_20const(HEAP32[($5 + 24 | 0) >> 2] | 0 | 0) | 0) >> 2])) + $52); + (wasm2js_i32$0 = $5, wasm2js_f32$0 = Math_fround(Math_fround(Math_fround(-Math_fround(HEAPF32[(btQuadWord__x_28_29_20const(HEAP32[($5 + 28 | 0) >> 2] | 0 | 0) | 0) >> 2])) * Math_fround(HEAPF32[(btQuadWord__z_28_29_20const(HEAP32[($5 + 24 | 0) >> 2] | 0 | 0) | 0) >> 2])) + $60)), HEAPF32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_f32$0; + $84 = Math_fround(Math_fround(Math_fround(HEAPF32[(btQuadWord__w_28_29_20const(HEAP32[($5 + 28 | 0) >> 2] | 0 | 0) | 0) >> 2]) * Math_fround(HEAPF32[(btQuadWord__z_28_29_20const(HEAP32[($5 + 24 | 0) >> 2] | 0 | 0) | 0) >> 2])) + Math_fround(Math_fround(HEAPF32[(btQuadWord__z_28_29_20const(HEAP32[($5 + 28 | 0) >> 2] | 0 | 0) | 0) >> 2]) * Math_fround(HEAPF32[(btQuadWord__w_28_29_20const(HEAP32[($5 + 24 | 0) >> 2] | 0 | 0) | 0) >> 2]))); + $92 = Math_fround(Math_fround(Math_fround(HEAPF32[(btQuadWord__x_28_29_20const(HEAP32[($5 + 28 | 0) >> 2] | 0 | 0) | 0) >> 2]) * Math_fround(HEAPF32[(btQuadWord__y_28_29_20const(HEAP32[($5 + 24 | 0) >> 2] | 0 | 0) | 0) >> 2])) + $84); + (wasm2js_i32$0 = $5, wasm2js_f32$0 = Math_fround(Math_fround(Math_fround(-Math_fround(HEAPF32[(btQuadWord__y_28_29_20const(HEAP32[($5 + 28 | 0) >> 2] | 0 | 0) | 0) >> 2])) * Math_fround(HEAPF32[(btQuadWord__x_28_29_20const(HEAP32[($5 + 24 | 0) >> 2] | 0 | 0) | 0) >> 2])) + $92)), HEAPF32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_f32$0; + $117 = Math_fround(Math_fround(Math_fround(HEAPF32[(btQuadWord__w_28_29_20const(HEAP32[($5 + 28 | 0) >> 2] | 0 | 0) | 0) >> 2]) * Math_fround(HEAPF32[(btQuadWord__w_28_29_20const(HEAP32[($5 + 24 | 0) >> 2] | 0 | 0) | 0) >> 2])) + Math_fround(-Math_fround(Math_fround(HEAPF32[(btQuadWord__x_28_29_20const(HEAP32[($5 + 28 | 0) >> 2] | 0 | 0) | 0) >> 2]) * Math_fround(HEAPF32[(btQuadWord__x_28_29_20const(HEAP32[($5 + 24 | 0) >> 2] | 0 | 0) | 0) >> 2])))); + $126 = Math_fround(Math_fround(Math_fround(-Math_fround(HEAPF32[(btQuadWord__y_28_29_20const(HEAP32[($5 + 28 | 0) >> 2] | 0 | 0) | 0) >> 2])) * Math_fround(HEAPF32[(btQuadWord__y_28_29_20const(HEAP32[($5 + 24 | 0) >> 2] | 0 | 0) | 0) >> 2])) + $117); + (wasm2js_i32$0 = $5, wasm2js_f32$0 = Math_fround(Math_fround(Math_fround(-Math_fround(HEAPF32[(btQuadWord__z_28_29_20const(HEAP32[($5 + 28 | 0) >> 2] | 0 | 0) | 0) >> 2])) * Math_fround(HEAPF32[(btQuadWord__z_28_29_20const(HEAP32[($5 + 24 | 0) >> 2] | 0 | 0) | 0) >> 2])) + $126)), HEAPF32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_f32$0; + btQuaternion__btQuaternion_28float_20const__2c_20float_20const__2c_20float_20const__2c_20float_20const__29($0 | 0, $5 + 20 | 0 | 0, $5 + 16 | 0 | 0, $5 + 12 | 0 | 0, $5 + 8 | 0 | 0) | 0; + __stack_pointer = $5 + 32 | 0; + return; + } + + function btMatrix3x3__btMatrix3x3_28btQuaternion_20const__29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, $5 = 0, $8 = 0, $9 = 0, $11 = 0, $7 = 0, $18 = 0; + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[($4 + 8 | 0) >> 2] = $0; + HEAP32[($4 + 4 | 0) >> 2] = $1; + $5 = HEAP32[($4 + 8 | 0) >> 2] | 0; + HEAP32[($4 + 12 | 0) >> 2] = $5; + $7 = $5 + 48 | 0; + $8 = $5; + label$1 : while (1) { + $9 = $8; + btVector3__btVector3_28_29($9 | 0) | 0; + $11 = $9 + 16 | 0; + $8 = $11; + if (!(($11 | 0) == ($7 | 0) & 1 | 0)) { + continue label$1 + } + break label$1; + }; + btMatrix3x3__setRotation_28btQuaternion_20const__29($5 | 0, HEAP32[($4 + 4 | 0) >> 2] | 0 | 0); + $18 = HEAP32[($4 + 12 | 0) >> 2] | 0; + __stack_pointer = $4 + 16 | 0; + return $18 | 0; + } + + function btTransform__setBasis_28btMatrix3x3_20const__29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0; + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + btMatrix3x3__operator__28btMatrix3x3_20const__29(HEAP32[($4 + 12 | 0) >> 2] | 0 | 0, HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) | 0; + __stack_pointer = $4 + 16 | 0; + return; + } + + function btPerturbedContactResult__btPerturbedContactResult_28btManifoldResult__2c_20btTransform_20const__2c_20btTransform_20const__2c_20btTransform_20const__2c_20bool_2c_20btIDebugDraw__29($0, $1, $2, $3, $4, $5, $6) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + $4 = $4 | 0; + $5 = $5 | 0; + $6 = $6 | 0; + var $9 = 0, $11 = 0; + $9 = __stack_pointer - 32 | 0; + __stack_pointer = $9; + HEAP32[($9 + 28 | 0) >> 2] = $0; + HEAP32[($9 + 24 | 0) >> 2] = $1; + HEAP32[($9 + 20 | 0) >> 2] = $2; + HEAP32[($9 + 16 | 0) >> 2] = $3; + HEAP32[($9 + 12 | 0) >> 2] = $4; + HEAP8[($9 + 11 | 0) >> 0] = $5; + HEAP32[($9 + 4 | 0) >> 2] = $6; + $11 = HEAP32[($9 + 28 | 0) >> 2] | 0; + btManifoldResult__btManifoldResult_28_29($11 | 0) | 0; + HEAP32[$11 >> 2] = 94216 + 8 | 0; + HEAP32[($11 + 36 | 0) >> 2] = HEAP32[($9 + 24 | 0) >> 2] | 0; + btTransform__btTransform_28btTransform_20const__29($11 + 40 | 0 | 0, HEAP32[($9 + 20 | 0) >> 2] | 0 | 0) | 0; + btTransform__btTransform_28btTransform_20const__29($11 + 104 | 0 | 0, HEAP32[($9 + 16 | 0) >> 2] | 0 | 0) | 0; + btTransform__btTransform_28btTransform_20const__29($11 + 168 | 0 | 0, HEAP32[($9 + 12 | 0) >> 2] | 0 | 0) | 0; + HEAP8[($11 + 232 | 0) >> 0] = (HEAPU8[($9 + 11 | 0) >> 0] | 0) & 1 | 0; + HEAP32[($11 + 236 | 0) >> 2] = HEAP32[($9 + 4 | 0) >> 2] | 0; + __stack_pointer = $9 + 32 | 0; + return $11 | 0; + } + + function btPerturbedContactResult___btPerturbedContactResult_28_29($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + btManifoldResult___btManifoldResult_28_29($4 | 0) | 0; + __stack_pointer = $3 + 16 | 0; + return $4 | 0; + } + + function btGjkPairDetector___btGjkPairDetector_28_29($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + btDiscreteCollisionDetectorInterface___btDiscreteCollisionDetectorInterface_28_29($4 | 0) | 0; + __stack_pointer = $3 + 16 | 0; + return $4 | 0; + } + + function segmentsClosestPoints_28btVector3__2c_20btVector3__2c_20btVector3__2c_20float__2c_20float__2c_20btVector3_20const__2c_20btVector3_20const__2c_20float_2c_20btVector3_20const__2c_20float_29($0, $1, $2, $3, $4, $5, $6, $7, $8, $9) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + $4 = $4 | 0; + $5 = $5 | 0; + $6 = $6 | 0; + $7 = Math_fround($7); + $8 = $8 | 0; + $9 = Math_fround($9); + var $12 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, $145 = 0, $147 = 0, $158 = 0, $160 = 0, $178 = 0, $180 = 0, $543 = 0, $556 = 0, $573 = 0, $586 = 0, $616 = 0, $629 = 0, wasm2js_i32$0 = 0, wasm2js_f32$0 = Math_fround(0); + $12 = __stack_pointer - 128 | 0; + __stack_pointer = $12; + HEAP32[($12 + 124 | 0) >> 2] = $0; + HEAP32[($12 + 120 | 0) >> 2] = $1; + HEAP32[($12 + 116 | 0) >> 2] = $2; + HEAP32[($12 + 112 | 0) >> 2] = $3; + HEAP32[($12 + 108 | 0) >> 2] = $4; + HEAP32[($12 + 104 | 0) >> 2] = $5; + HEAP32[($12 + 100 | 0) >> 2] = $6; + HEAPF32[($12 + 96 | 0) >> 2] = $7; + HEAP32[($12 + 92 | 0) >> 2] = $8; + HEAPF32[($12 + 88 | 0) >> 2] = $9; + (wasm2js_i32$0 = $12, wasm2js_f32$0 = Math_fround(btDot_28btVector3_20const__2c_20btVector3_20const__29(HEAP32[($12 + 100 | 0) >> 2] | 0 | 0, HEAP32[($12 + 92 | 0) >> 2] | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 84 | 0) >> 2] = wasm2js_f32$0; + (wasm2js_i32$0 = $12, wasm2js_f32$0 = Math_fround(btDot_28btVector3_20const__2c_20btVector3_20const__29(HEAP32[($12 + 100 | 0) >> 2] | 0 | 0, HEAP32[($12 + 104 | 0) >> 2] | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 80 | 0) >> 2] = wasm2js_f32$0; + (wasm2js_i32$0 = $12, wasm2js_f32$0 = Math_fround(btDot_28btVector3_20const__2c_20btVector3_20const__29(HEAP32[($12 + 92 | 0) >> 2] | 0 | 0, HEAP32[($12 + 104 | 0) >> 2] | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 76 | 0) >> 2] = wasm2js_f32$0; + HEAPF32[($12 + 72 | 0) >> 2] = Math_fround(Math_fround(Math_fround(-Math_fround(HEAPF32[($12 + 84 | 0) >> 2])) * Math_fround(HEAPF32[($12 + 84 | 0) >> 2])) + Math_fround(1.0)); + label$1 : { + label$2 : { + if (!(Math_fround(HEAPF32[($12 + 72 | 0) >> 2]) == Math_fround(0 | 0) & 1 | 0)) { + break label$2 + } + HEAPF32[(HEAP32[($12 + 112 | 0) >> 2] | 0) >> 2] = Math_fround(0 | 0); + break label$1; + } + HEAPF32[(HEAP32[($12 + 112 | 0) >> 2] | 0) >> 2] = Math_fround(Math_fround(Math_fround(Math_fround(-Math_fround(HEAPF32[($12 + 76 | 0) >> 2])) * Math_fround(HEAPF32[($12 + 84 | 0) >> 2])) + Math_fround(HEAPF32[($12 + 80 | 0) >> 2])) / Math_fround(HEAPF32[($12 + 72 | 0) >> 2])); + label$3 : { + label$4 : { + if (!(Math_fround(HEAPF32[(HEAP32[($12 + 112 | 0) >> 2] | 0) >> 2]) < Math_fround(-Math_fround(HEAPF32[($12 + 96 | 0) >> 2])) & 1 | 0)) { + break label$4 + } + HEAPF32[(HEAP32[($12 + 112 | 0) >> 2] | 0) >> 2] = Math_fround(-Math_fround(HEAPF32[($12 + 96 | 0) >> 2])); + break label$3; + } + label$5 : { + if (!(Math_fround(HEAPF32[(HEAP32[($12 + 112 | 0) >> 2] | 0) >> 2]) > Math_fround(HEAPF32[($12 + 96 | 0) >> 2]) & 1 | 0)) { + break label$5 + } + HEAPF32[(HEAP32[($12 + 112 | 0) >> 2] | 0) >> 2] = Math_fround(HEAPF32[($12 + 96 | 0) >> 2]); + } + } + } + HEAPF32[(HEAP32[($12 + 108 | 0) >> 2] | 0) >> 2] = Math_fround(Math_fround(Math_fround(HEAPF32[(HEAP32[($12 + 112 | 0) >> 2] | 0) >> 2]) * Math_fround(HEAPF32[($12 + 84 | 0) >> 2])) + Math_fround(-Math_fround(HEAPF32[($12 + 76 | 0) >> 2]))); + label$6 : { + label$7 : { + if (!(Math_fround(HEAPF32[(HEAP32[($12 + 108 | 0) >> 2] | 0) >> 2]) < Math_fround(-Math_fround(HEAPF32[($12 + 88 | 0) >> 2])) & 1 | 0)) { + break label$7 + } + HEAPF32[(HEAP32[($12 + 108 | 0) >> 2] | 0) >> 2] = Math_fround(-Math_fround(HEAPF32[($12 + 88 | 0) >> 2])); + HEAPF32[(HEAP32[($12 + 112 | 0) >> 2] | 0) >> 2] = Math_fround(Math_fround(Math_fround(HEAPF32[(HEAP32[($12 + 108 | 0) >> 2] | 0) >> 2]) * Math_fround(HEAPF32[($12 + 84 | 0) >> 2])) + Math_fround(HEAPF32[($12 + 80 | 0) >> 2])); + label$8 : { + label$9 : { + if (!(Math_fround(HEAPF32[(HEAP32[($12 + 112 | 0) >> 2] | 0) >> 2]) < Math_fround(-Math_fround(HEAPF32[($12 + 96 | 0) >> 2])) & 1 | 0)) { + break label$9 + } + HEAPF32[(HEAP32[($12 + 112 | 0) >> 2] | 0) >> 2] = Math_fround(-Math_fround(HEAPF32[($12 + 96 | 0) >> 2])); + break label$8; + } + label$10 : { + if (!(Math_fround(HEAPF32[(HEAP32[($12 + 112 | 0) >> 2] | 0) >> 2]) > Math_fround(HEAPF32[($12 + 96 | 0) >> 2]) & 1 | 0)) { + break label$10 + } + HEAPF32[(HEAP32[($12 + 112 | 0) >> 2] | 0) >> 2] = Math_fround(HEAPF32[($12 + 96 | 0) >> 2]); + } + } + break label$6; + } + label$11 : { + if (!(Math_fround(HEAPF32[(HEAP32[($12 + 108 | 0) >> 2] | 0) >> 2]) > Math_fround(HEAPF32[($12 + 88 | 0) >> 2]) & 1 | 0)) { + break label$11 + } + HEAPF32[(HEAP32[($12 + 108 | 0) >> 2] | 0) >> 2] = Math_fround(HEAPF32[($12 + 88 | 0) >> 2]); + HEAPF32[(HEAP32[($12 + 112 | 0) >> 2] | 0) >> 2] = Math_fround(Math_fround(Math_fround(HEAPF32[(HEAP32[($12 + 108 | 0) >> 2] | 0) >> 2]) * Math_fround(HEAPF32[($12 + 84 | 0) >> 2])) + Math_fround(HEAPF32[($12 + 80 | 0) >> 2])); + label$12 : { + label$13 : { + if (!(Math_fround(HEAPF32[(HEAP32[($12 + 112 | 0) >> 2] | 0) >> 2]) < Math_fround(-Math_fround(HEAPF32[($12 + 96 | 0) >> 2])) & 1 | 0)) { + break label$13 + } + HEAPF32[(HEAP32[($12 + 112 | 0) >> 2] | 0) >> 2] = Math_fround(-Math_fround(HEAPF32[($12 + 96 | 0) >> 2])); + break label$12; + } + label$14 : { + if (!(Math_fround(HEAPF32[(HEAP32[($12 + 112 | 0) >> 2] | 0) >> 2]) > Math_fround(HEAPF32[($12 + 96 | 0) >> 2]) & 1 | 0)) { + break label$14 + } + HEAPF32[(HEAP32[($12 + 112 | 0) >> 2] | 0) >> 2] = Math_fround(HEAPF32[($12 + 96 | 0) >> 2]); + } + } + } + } + operator__28btVector3_20const__2c_20float_20const__29($12 + 56 | 0 | 0, HEAP32[($12 + 100 | 0) >> 2] | 0 | 0, HEAP32[($12 + 112 | 0) >> 2] | 0 | 0); + $145 = HEAP32[($12 + 120 | 0) >> 2] | 0; + i64toi32_i32$2 = $12; + i64toi32_i32$0 = HEAP32[($12 + 56 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($12 + 60 | 0) >> 2] | 0; + $543 = i64toi32_i32$0; + i64toi32_i32$0 = $145; + HEAP32[i64toi32_i32$0 >> 2] = $543; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $147 = 8; + i64toi32_i32$2 = ($12 + 56 | 0) + $147 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $556 = i64toi32_i32$1; + i64toi32_i32$1 = $145 + $147 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $556; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + operator__28btVector3_20const__2c_20float_20const__29($12 + 40 | 0 | 0, HEAP32[($12 + 92 | 0) >> 2] | 0 | 0, HEAP32[($12 + 108 | 0) >> 2] | 0 | 0); + $158 = HEAP32[($12 + 116 | 0) >> 2] | 0; + i64toi32_i32$2 = $12; + i64toi32_i32$0 = HEAP32[($12 + 40 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($12 + 44 | 0) >> 2] | 0; + $573 = i64toi32_i32$0; + i64toi32_i32$0 = $158; + HEAP32[i64toi32_i32$0 >> 2] = $573; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $160 = 8; + i64toi32_i32$2 = ($12 + 40 | 0) + $160 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $586 = i64toi32_i32$1; + i64toi32_i32$1 = $158 + $160 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $586; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + operator__28btVector3_20const__2c_20btVector3_20const__29($12 + 8 | 0 | 0, HEAP32[($12 + 104 | 0) >> 2] | 0 | 0, HEAP32[($12 + 120 | 0) >> 2] | 0 | 0); + operator__28btVector3_20const__2c_20btVector3_20const__29_2($12 + 24 | 0 | 0, $12 + 8 | 0 | 0, HEAP32[($12 + 116 | 0) >> 2] | 0 | 0); + $178 = HEAP32[($12 + 124 | 0) >> 2] | 0; + i64toi32_i32$2 = $12; + i64toi32_i32$0 = HEAP32[($12 + 24 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($12 + 28 | 0) >> 2] | 0; + $616 = i64toi32_i32$0; + i64toi32_i32$0 = $178; + HEAP32[i64toi32_i32$0 >> 2] = $616; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $180 = 8; + i64toi32_i32$2 = ($12 + 24 | 0) + $180 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $629 = i64toi32_i32$1; + i64toi32_i32$1 = $178 + $180 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $629; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + __stack_pointer = $12 + 128 | 0; + return; + } + + function btQuaternion__setRotation_28btVector3_20const__2c_20float_20const__29($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $5 = 0, $6 = 0, wasm2js_i32$0 = 0, wasm2js_f32$0 = Math_fround(0); + $5 = __stack_pointer - 48 | 0; + __stack_pointer = $5; + HEAP32[($5 + 44 | 0) >> 2] = $0; + HEAP32[($5 + 40 | 0) >> 2] = $1; + HEAP32[($5 + 36 | 0) >> 2] = $2; + $6 = HEAP32[($5 + 44 | 0) >> 2] | 0; + (wasm2js_i32$0 = $5, wasm2js_f32$0 = Math_fround(btVector3__length_28_29_20const(HEAP32[($5 + 40 | 0) >> 2] | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 32 | 0) >> 2] = wasm2js_f32$0; + label$1 : { + if (Math_fround(HEAPF32[($5 + 32 | 0) >> 2]) != Math_fround(0 | 0) & 1 | 0) { + break label$1 + } + __assert_fail(86707 | 0, 78737 | 0, 115 | 0, 76633 | 0); + wasm2js_trap(); + } + (wasm2js_i32$0 = $5, wasm2js_f32$0 = Math_fround(Math_fround(btSin_28float_29(Math_fround(Math_fround(Math_fround(HEAPF32[(HEAP32[($5 + 36 | 0) >> 2] | 0) >> 2]) * Math_fround(.5))))) / Math_fround(HEAPF32[($5 + 32 | 0) >> 2]))), HEAPF32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_f32$0; + (wasm2js_i32$0 = $5, wasm2js_f32$0 = Math_fround(Math_fround(HEAPF32[(btVector3__x_28_29_20const(HEAP32[($5 + 40 | 0) >> 2] | 0 | 0) | 0) >> 2]) * Math_fround(HEAPF32[($5 + 28 | 0) >> 2]))), HEAPF32[(wasm2js_i32$0 + 24 | 0) >> 2] = wasm2js_f32$0; + (wasm2js_i32$0 = $5, wasm2js_f32$0 = Math_fround(Math_fround(HEAPF32[(btVector3__y_28_29_20const(HEAP32[($5 + 40 | 0) >> 2] | 0 | 0) | 0) >> 2]) * Math_fround(HEAPF32[($5 + 28 | 0) >> 2]))), HEAPF32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_f32$0; + (wasm2js_i32$0 = $5, wasm2js_f32$0 = Math_fround(Math_fround(HEAPF32[(btVector3__z_28_29_20const(HEAP32[($5 + 40 | 0) >> 2] | 0 | 0) | 0) >> 2]) * Math_fround(HEAPF32[($5 + 28 | 0) >> 2]))), HEAPF32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_f32$0; + (wasm2js_i32$0 = $5, wasm2js_f32$0 = Math_fround(btCos_28float_29(Math_fround(Math_fround(Math_fround(HEAPF32[(HEAP32[($5 + 36 | 0) >> 2] | 0) >> 2]) * Math_fround(.5)))))), HEAPF32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_f32$0; + btQuadWord__setValue_28float_20const__2c_20float_20const__2c_20float_20const__2c_20float_20const__29($6 | 0, $5 + 24 | 0 | 0, $5 + 20 | 0 | 0, $5 + 16 | 0 | 0, $5 + 12 | 0 | 0); + __stack_pointer = $5 + 48 | 0; + return; + } + + function btDiscreteCollisionDetectorInterface___btDiscreteCollisionDetectorInterface_28_29($0) { + $0 = $0 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + return HEAP32[($3 + 12 | 0) >> 2] | 0 | 0; + } + + function btConvexConvexAlgorithm__calculateTimeOfImpact_28btCollisionObject__2c_20btCollisionObject__2c_20btDispatcherInfo_20const__2c_20btManifoldResult__29($0, $1, $2, $3, $4) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + $4 = $4 | 0; + var $7 = 0, $196 = Math_fround(0), wasm2js_i32$0 = 0, wasm2js_f32$0 = Math_fround(0), wasm2js_i32$1 = 0; + $7 = __stack_pointer - 1312 | 0; + __stack_pointer = $7; + HEAP32[($7 + 1304 | 0) >> 2] = $0; + HEAP32[($7 + 1300 | 0) >> 2] = $1; + HEAP32[($7 + 1296 | 0) >> 2] = $2; + HEAP32[($7 + 1292 | 0) >> 2] = $3; + HEAP32[($7 + 1288 | 0) >> 2] = $4; + HEAPF32[($7 + 1284 | 0) >> 2] = Math_fround(1.0); + operator__28btVector3_20const__2c_20btVector3_20const__29($7 + 1264 | 0 | 0, btTransform__getOrigin_28_29(btCollisionObject__getInterpolationWorldTransform_28_29(HEAP32[($7 + 1300 | 0) >> 2] | 0 | 0) | 0 | 0) | 0 | 0, btTransform__getOrigin_28_29(btCollisionObject__getWorldTransform_28_29(HEAP32[($7 + 1300 | 0) >> 2] | 0 | 0) | 0 | 0) | 0 | 0); + (wasm2js_i32$0 = $7, wasm2js_f32$0 = Math_fround(btVector3__length2_28_29_20const($7 + 1264 | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 1280 | 0) >> 2] = wasm2js_f32$0; + operator__28btVector3_20const__2c_20btVector3_20const__29($7 + 1244 | 0 | 0, btTransform__getOrigin_28_29(btCollisionObject__getInterpolationWorldTransform_28_29(HEAP32[($7 + 1296 | 0) >> 2] | 0 | 0) | 0 | 0) | 0 | 0, btTransform__getOrigin_28_29(btCollisionObject__getWorldTransform_28_29(HEAP32[($7 + 1296 | 0) >> 2] | 0 | 0) | 0 | 0) | 0 | 0); + (wasm2js_i32$0 = $7, wasm2js_f32$0 = Math_fround(btVector3__length2_28_29_20const($7 + 1244 | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 1260 | 0) >> 2] = wasm2js_f32$0; + label$1 : { + label$2 : { + if (!(Math_fround(HEAPF32[($7 + 1280 | 0) >> 2]) < Math_fround(btCollisionObject__getCcdSquareMotionThreshold_28_29_20const(HEAP32[($7 + 1300 | 0) >> 2] | 0 | 0)) & 1 | 0)) { + break label$2 + } + if (!(Math_fround(HEAPF32[($7 + 1260 | 0) >> 2]) < Math_fround(btCollisionObject__getCcdSquareMotionThreshold_28_29_20const(HEAP32[($7 + 1296 | 0) >> 2] | 0 | 0)) & 1 | 0)) { + break label$2 + } + HEAPF32[($7 + 1308 | 0) >> 2] = Math_fround(HEAPF32[($7 + 1284 | 0) >> 2]); + break label$1; + } + label$3 : { + if (!((HEAPU8[(0 + 113996 | 0) >> 0] | 0) & 1 | 0)) { + break label$3 + } + HEAPF32[($7 + 1308 | 0) >> 2] = Math_fround(1.0); + break label$1; + } + (wasm2js_i32$0 = $7, wasm2js_i32$1 = btCollisionObject__getCollisionShape_28_29(HEAP32[($7 + 1300 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 1240 | 0) >> 2] = wasm2js_i32$1; + btSphereShape__btSphereShape_28float_29($7 + 1180 | 0 | 0, Math_fround(Math_fround(btCollisionObject__getCcdSweptSphereRadius_28_29_20const(HEAP32[($7 + 1296 | 0) >> 2] | 0 | 0)))) | 0; + btConvexCast__CastResult__CastResult_28_29($7 + 1004 | 0 | 0) | 0; + btVoronoiSimplexSolver__btVoronoiSimplexSolver_28_29($7 + 644 | 0 | 0) | 0; + btGjkConvexCast__btGjkConvexCast_28btConvexShape_20const__2c_20btConvexShape_20const__2c_20btVoronoiSimplexSolver__29($7 + 628 | 0 | 0, HEAP32[($7 + 1240 | 0) >> 2] | 0 | 0, $7 + 1180 | 0 | 0, $7 + 644 | 0 | 0) | 0; + label$4 : { + if (!((btGjkConvexCast__calcTimeOfImpact_28btTransform_20const__2c_20btTransform_20const__2c_20btTransform_20const__2c_20btTransform_20const__2c_20btConvexCast__CastResult__29($7 + 628 | 0 | 0, btCollisionObject__getWorldTransform_28_29(HEAP32[($7 + 1300 | 0) >> 2] | 0 | 0) | 0 | 0, btCollisionObject__getInterpolationWorldTransform_28_29(HEAP32[($7 + 1300 | 0) >> 2] | 0 | 0) | 0 | 0, btCollisionObject__getWorldTransform_28_29(HEAP32[($7 + 1296 | 0) >> 2] | 0 | 0) | 0 | 0, btCollisionObject__getInterpolationWorldTransform_28_29(HEAP32[($7 + 1296 | 0) >> 2] | 0 | 0) | 0 | 0, $7 + 1004 | 0 | 0) | 0) & 1 | 0)) { + break label$4 + } + label$5 : { + if (!(Math_fround(btCollisionObject__getHitFraction_28_29_20const(HEAP32[($7 + 1300 | 0) >> 2] | 0 | 0)) > Math_fround(HEAPF32[($7 + 1168 | 0) >> 2]) & 1 | 0)) { + break label$5 + } + btCollisionObject__setHitFraction_28float_29(HEAP32[($7 + 1300 | 0) >> 2] | 0 | 0, Math_fround(Math_fround(HEAPF32[($7 + 1168 | 0) >> 2]))); + } + label$6 : { + if (!(Math_fround(btCollisionObject__getHitFraction_28_29_20const(HEAP32[($7 + 1296 | 0) >> 2] | 0 | 0)) > Math_fround(HEAPF32[($7 + 1168 | 0) >> 2]) & 1 | 0)) { + break label$6 + } + btCollisionObject__setHitFraction_28float_29(HEAP32[($7 + 1296 | 0) >> 2] | 0 | 0, Math_fround(Math_fround(HEAPF32[($7 + 1168 | 0) >> 2]))); + } + label$7 : { + if (!(Math_fround(HEAPF32[($7 + 1284 | 0) >> 2]) > Math_fround(HEAPF32[($7 + 1168 | 0) >> 2]) & 1 | 0)) { + break label$7 + } + HEAPF32[($7 + 1284 | 0) >> 2] = Math_fround(HEAPF32[($7 + 1168 | 0) >> 2]); + } + } + btGjkConvexCast___btGjkConvexCast_28_29($7 + 628 | 0 | 0) | 0; + btConvexCast__CastResult___CastResult_28_29($7 + 1004 | 0 | 0) | 0; + btSphereShape___btSphereShape_28_29($7 + 1180 | 0 | 0) | 0; + (wasm2js_i32$0 = $7, wasm2js_i32$1 = btCollisionObject__getCollisionShape_28_29(HEAP32[($7 + 1296 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 624 | 0) >> 2] = wasm2js_i32$1; + btSphereShape__btSphereShape_28float_29($7 + 564 | 0 | 0, Math_fround(Math_fround(btCollisionObject__getCcdSweptSphereRadius_28_29_20const(HEAP32[($7 + 1300 | 0) >> 2] | 0 | 0)))) | 0; + btConvexCast__CastResult__CastResult_28_29($7 + 388 | 0 | 0) | 0; + btVoronoiSimplexSolver__btVoronoiSimplexSolver_28_29($7 + 28 | 0 | 0) | 0; + btGjkConvexCast__btGjkConvexCast_28btConvexShape_20const__2c_20btConvexShape_20const__2c_20btVoronoiSimplexSolver__29($7 + 12 | 0 | 0, $7 + 564 | 0 | 0, HEAP32[($7 + 624 | 0) >> 2] | 0 | 0, $7 + 28 | 0 | 0) | 0; + label$8 : { + if (!((btGjkConvexCast__calcTimeOfImpact_28btTransform_20const__2c_20btTransform_20const__2c_20btTransform_20const__2c_20btTransform_20const__2c_20btConvexCast__CastResult__29($7 + 12 | 0 | 0, btCollisionObject__getWorldTransform_28_29(HEAP32[($7 + 1300 | 0) >> 2] | 0 | 0) | 0 | 0, btCollisionObject__getInterpolationWorldTransform_28_29(HEAP32[($7 + 1300 | 0) >> 2] | 0 | 0) | 0 | 0, btCollisionObject__getWorldTransform_28_29(HEAP32[($7 + 1296 | 0) >> 2] | 0 | 0) | 0 | 0, btCollisionObject__getInterpolationWorldTransform_28_29(HEAP32[($7 + 1296 | 0) >> 2] | 0 | 0) | 0 | 0, $7 + 388 | 0 | 0) | 0) & 1 | 0)) { + break label$8 + } + label$9 : { + if (!(Math_fround(btCollisionObject__getHitFraction_28_29_20const(HEAP32[($7 + 1300 | 0) >> 2] | 0 | 0)) > Math_fround(HEAPF32[($7 + 552 | 0) >> 2]) & 1 | 0)) { + break label$9 + } + btCollisionObject__setHitFraction_28float_29(HEAP32[($7 + 1300 | 0) >> 2] | 0 | 0, Math_fround(Math_fround(HEAPF32[($7 + 552 | 0) >> 2]))); + } + label$10 : { + if (!(Math_fround(btCollisionObject__getHitFraction_28_29_20const(HEAP32[($7 + 1296 | 0) >> 2] | 0 | 0)) > Math_fround(HEAPF32[($7 + 552 | 0) >> 2]) & 1 | 0)) { + break label$10 + } + btCollisionObject__setHitFraction_28float_29(HEAP32[($7 + 1296 | 0) >> 2] | 0 | 0, Math_fround(Math_fround(HEAPF32[($7 + 552 | 0) >> 2]))); + } + label$11 : { + if (!(Math_fround(HEAPF32[($7 + 1284 | 0) >> 2]) > Math_fround(HEAPF32[($7 + 552 | 0) >> 2]) & 1 | 0)) { + break label$11 + } + HEAPF32[($7 + 1284 | 0) >> 2] = Math_fround(HEAPF32[($7 + 552 | 0) >> 2]); + } + } + btGjkConvexCast___btGjkConvexCast_28_29($7 + 12 | 0 | 0) | 0; + btConvexCast__CastResult___CastResult_28_29($7 + 388 | 0 | 0) | 0; + btSphereShape___btSphereShape_28_29($7 + 564 | 0 | 0) | 0; + HEAPF32[($7 + 1308 | 0) >> 2] = Math_fround(HEAPF32[($7 + 1284 | 0) >> 2]); + } + $196 = Math_fround(HEAPF32[($7 + 1308 | 0) >> 2]); + __stack_pointer = $7 + 1312 | 0; + return Math_fround($196); + } + + function btCollisionObject__getCcdSquareMotionThreshold_28_29_20const($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + return Math_fround(Math_fround(Math_fround(HEAPF32[($4 + 276 | 0) >> 2]) * Math_fround(HEAPF32[($4 + 276 | 0) >> 2]))); + } + + function btCollisionObject__getHitFraction_28_29_20const($0) { + $0 = $0 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + return Math_fround(Math_fround(HEAPF32[((HEAP32[($3 + 12 | 0) >> 2] | 0) + 268 | 0) >> 2])); + } + + function btCollisionObject__setHitFraction_28float_29($0, $1) { + $0 = $0 | 0; + $1 = Math_fround($1); + var $4 = 0; + $4 = __stack_pointer - 16 | 0; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAPF32[($4 + 8 | 0) >> 2] = $1; + HEAPF32[((HEAP32[($4 + 12 | 0) >> 2] | 0) + 268 | 0) >> 2] = Math_fround(HEAPF32[($4 + 8 | 0) >> 2]); + return; + } + + function btConvexConvexAlgorithm__CreateFunc__CreateCollisionAlgorithm_28btCollisionAlgorithmConstructionInfo__2c_20btCollisionObjectWrapper_20const__2c_20btCollisionObjectWrapper_20const__29($0, $1, $2, $3) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + var $6 = 0, $7 = 0, $9 = 0, $14 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $6 = __stack_pointer - 32 | 0; + __stack_pointer = $6; + HEAP32[($6 + 28 | 0) >> 2] = $0; + HEAP32[($6 + 24 | 0) >> 2] = $1; + HEAP32[($6 + 20 | 0) >> 2] = $2; + HEAP32[($6 + 16 | 0) >> 2] = $3; + $7 = HEAP32[($6 + 28 | 0) >> 2] | 0; + $9 = HEAP32[(HEAP32[($6 + 24 | 0) >> 2] | 0) >> 2] | 0; + (wasm2js_i32$0 = $6, wasm2js_i32$1 = FUNCTION_TABLE[HEAP32[((HEAP32[$9 >> 2] | 0) + 56 | 0) >> 2] | 0 | 0]($9, 72) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + $14 = HEAP32[($6 + 12 | 0) >> 2] | 0; + FUNCTION_TABLE[607 | 0]($14, HEAP32[((HEAP32[($6 + 24 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0, HEAP32[($6 + 24 | 0) >> 2] | 0, HEAP32[($6 + 20 | 0) >> 2] | 0, HEAP32[($6 + 16 | 0) >> 2] | 0, HEAP32[($7 + 8 | 0) >> 2] | 0, HEAP32[($7 + 12 | 0) >> 2] | 0, HEAP32[($7 + 16 | 0) >> 2] | 0) | 0; + __stack_pointer = $6 + 32 | 0; + return $14 | 0; + } + + function btConvexConvexAlgorithm__getAllContactManifolds_28btAlignedObjectArray_btPersistentManifold____29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, $5 = 0; + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; + label$1 : { + if (!((HEAP32[($5 + 56 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + if (!((HEAPU8[($5 + 52 | 0) >> 0] | 0) & 1 | 0)) { + break label$1 + } + btAlignedObjectArray_btPersistentManifold____push_back_28btPersistentManifold__20const__29(HEAP32[($4 + 8 | 0) >> 2] | 0 | 0, $5 + 56 | 0 | 0); + } + __stack_pointer = $4 + 16 | 0; + return; + } + + function btConvexConvexAlgorithm__processCollision_28btCollisionObjectWrapper_20const__2c_20btCollisionObjectWrapper_20const__2c_20btDispatcherInfo_20const__2c_20btManifoldResult__29__btDummyResult___btDummyResult_28_29_1($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + btConvexConvexAlgorithm__processCollision_28btCollisionObjectWrapper_20const__2c_20btCollisionObjectWrapper_20const__2c_20btDispatcherInfo_20const__2c_20btManifoldResult__29__btDummyResult___btDummyResult_28_29($4 | 0) | 0; + operator_20delete_28void__29($4 | 0); + __stack_pointer = $3 + 16 | 0; + return; + } + + function btConvexConvexAlgorithm__processCollision_28btCollisionObjectWrapper_20const__2c_20btCollisionObjectWrapper_20const__2c_20btDispatcherInfo_20const__2c_20btManifoldResult__29__btDummyResult__setShapeIdentifiersA_28int_2c_20int_29($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $5 = 0; + $5 = __stack_pointer - 16 | 0; + HEAP32[($5 + 12 | 0) >> 2] = $0; + HEAP32[($5 + 8 | 0) >> 2] = $1; + HEAP32[($5 + 4 | 0) >> 2] = $2; + return; + } + + function btConvexConvexAlgorithm__processCollision_28btCollisionObjectWrapper_20const__2c_20btCollisionObjectWrapper_20const__2c_20btDispatcherInfo_20const__2c_20btManifoldResult__29__btDummyResult__setShapeIdentifiersB_28int_2c_20int_29($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $5 = 0; + $5 = __stack_pointer - 16 | 0; + HEAP32[($5 + 12 | 0) >> 2] = $0; + HEAP32[($5 + 8 | 0) >> 2] = $1; + HEAP32[($5 + 4 | 0) >> 2] = $2; + return; + } + + function btConvexConvexAlgorithm__processCollision_28btCollisionObjectWrapper_20const__2c_20btCollisionObjectWrapper_20const__2c_20btDispatcherInfo_20const__2c_20btManifoldResult__29__btDummyResult__addContactPoint_28btVector3_20const__2c_20btVector3_20const__2c_20float_29($0, $1, $2, $3) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = Math_fround($3); + var $6 = 0; + $6 = __stack_pointer - 16 | 0; + HEAP32[($6 + 12 | 0) >> 2] = $0; + HEAP32[($6 + 8 | 0) >> 2] = $1; + HEAP32[($6 + 4 | 0) >> 2] = $2; + HEAPF32[$6 >> 2] = $3; + return; + } + + function btConvexConvexAlgorithm__processCollision_28btCollisionObjectWrapper_20const__2c_20btCollisionObjectWrapper_20const__2c_20btDispatcherInfo_20const__2c_20btManifoldResult__29__btWithoutMarginResult___btWithoutMarginResult_28_29_1($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + btConvexConvexAlgorithm__processCollision_28btCollisionObjectWrapper_20const__2c_20btCollisionObjectWrapper_20const__2c_20btDispatcherInfo_20const__2c_20btManifoldResult__29__btWithoutMarginResult___btWithoutMarginResult_28_29($4 | 0) | 0; + operator_20delete_28void__29($4 | 0); + __stack_pointer = $3 + 16 | 0; + return; + } + + function btConvexConvexAlgorithm__processCollision_28btCollisionObjectWrapper_20const__2c_20btCollisionObjectWrapper_20const__2c_20btDispatcherInfo_20const__2c_20btManifoldResult__29__btWithoutMarginResult__setShapeIdentifiersA_28int_2c_20int_29($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $5 = 0; + $5 = __stack_pointer - 16 | 0; + HEAP32[($5 + 12 | 0) >> 2] = $0; + HEAP32[($5 + 8 | 0) >> 2] = $1; + HEAP32[($5 + 4 | 0) >> 2] = $2; + return; + } + + function btConvexConvexAlgorithm__processCollision_28btCollisionObjectWrapper_20const__2c_20btCollisionObjectWrapper_20const__2c_20btDispatcherInfo_20const__2c_20btManifoldResult__29__btWithoutMarginResult__setShapeIdentifiersB_28int_2c_20int_29($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $5 = 0; + $5 = __stack_pointer - 16 | 0; + HEAP32[($5 + 12 | 0) >> 2] = $0; + HEAP32[($5 + 8 | 0) >> 2] = $1; + HEAP32[($5 + 4 | 0) >> 2] = $2; + return; + } + + function btConvexConvexAlgorithm__processCollision_28btCollisionObjectWrapper_20const__2c_20btCollisionObjectWrapper_20const__2c_20btDispatcherInfo_20const__2c_20btManifoldResult__29__btWithoutMarginResult__addContactPoint_28btVector3_20const__2c_20btVector3_20const__2c_20float_29($0, $1, $2, $3) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = Math_fround($3); + var $6 = 0, $7 = 0, i64toi32_i32$2 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $11 = 0, $13 = 0, $38 = 0, $75 = 0, $85 = 0, $17 = 0; + $6 = __stack_pointer - 48 | 0; + __stack_pointer = $6; + HEAP32[($6 + 44 | 0) >> 2] = $0; + HEAP32[($6 + 40 | 0) >> 2] = $1; + HEAP32[($6 + 36 | 0) >> 2] = $2; + HEAPF32[($6 + 32 | 0) >> 2] = $3; + $7 = HEAP32[($6 + 44 | 0) >> 2] | 0; + HEAPF32[($7 + 32 | 0) >> 2] = Math_fround(HEAPF32[($6 + 32 | 0) >> 2]); + $11 = $7 + 8 | 0; + i64toi32_i32$2 = HEAP32[($6 + 40 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $75 = i64toi32_i32$0; + i64toi32_i32$0 = $11; + HEAP32[i64toi32_i32$0 >> 2] = $75; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $13 = 8; + i64toi32_i32$2 = i64toi32_i32$2 + $13 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $85 = i64toi32_i32$1; + i64toi32_i32$1 = $11 + $13 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $85; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + $17 = HEAP32[($6 + 36 | 0) >> 2] | 0; + operator__28btVector3_20const__2c_20float_20const__29($6 | 0, HEAP32[($6 + 40 | 0) >> 2] | 0 | 0, $7 + 28 | 0 | 0); + operator__28btVector3_20const__2c_20btVector3_20const__29($6 + 16 | 0 | 0, $17 | 0, $6 | 0); + HEAPF32[($7 + 32 | 0) >> 2] = Math_fround(Math_fround(HEAPF32[($6 + 32 | 0) >> 2]) + Math_fround(Math_fround(HEAPF32[($7 + 24 | 0) >> 2]) + Math_fround(HEAPF32[($7 + 28 | 0) >> 2]))); + label$1 : { + if (!(Math_fround(HEAPF32[($7 + 32 | 0) >> 2]) < Math_fround(0 | 0) & 1 | 0)) { + break label$1 + } + HEAP8[($7 + 36 | 0) >> 0] = 1; + } + $38 = HEAP32[($7 + 4 | 0) >> 2] | 0; + FUNCTION_TABLE[HEAP32[((HEAP32[$38 >> 2] | 0) + 16 | 0) >> 2] | 0 | 0]($38, HEAP32[($6 + 40 | 0) >> 2] | 0, $6 + 16 | 0, Math_fround(HEAPF32[($7 + 32 | 0) >> 2])); + __stack_pointer = $6 + 48 | 0; + return; + } + + function btPerturbedContactResult___btPerturbedContactResult_28_29_1($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + btPerturbedContactResult___btPerturbedContactResult_28_29($4 | 0) | 0; + operator_20delete_28void__29($4 | 0); + __stack_pointer = $3 + 16 | 0; + return; + } + + function btPerturbedContactResult__addContactPoint_28btVector3_20const__2c_20btVector3_20const__2c_20float_29($0, $1, $2, $3) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = Math_fround($3); + var $6 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, $7 = 0, $56 = 0, $93 = 0, $116 = 0, $145 = 0, $168 = 0, $20 = 0, $297 = 0, $301 = 0, $369 = 0, $373 = 0, $102 = 0, $415 = 0, $419 = 0, $471 = 0, $475 = 0, wasm2js_i32$0 = 0, wasm2js_f32$0 = Math_fround(0); + $6 = __stack_pointer - 496 | 0; + __stack_pointer = $6; + HEAP32[($6 + 492 | 0) >> 2] = $0; + HEAP32[($6 + 488 | 0) >> 2] = $1; + HEAP32[($6 + 484 | 0) >> 2] = $2; + HEAPF32[($6 + 480 | 0) >> 2] = $3; + $7 = HEAP32[($6 + 492 | 0) >> 2] | 0; + btVector3__btVector3_28_29($6 + 464 | 0 | 0) | 0; + btVector3__btVector3_28_29($6 + 448 | 0 | 0) | 0; + btVector3__btVector3_28_29($6 + 428 | 0 | 0) | 0; + label$1 : { + label$2 : { + if (!((HEAPU8[($7 + 232 | 0) >> 0] | 0) & 1 | 0)) { + break label$2 + } + $20 = HEAP32[($6 + 484 | 0) >> 2] | 0; + operator__28btVector3_20const__2c_20float_20const__29($6 + 396 | 0 | 0, HEAP32[($6 + 488 | 0) >> 2] | 0 | 0, $6 + 480 | 0 | 0); + operator__28btVector3_20const__2c_20btVector3_20const__29_2($6 + 412 | 0 | 0, $20 | 0, $6 + 396 | 0 | 0); + btTransform__inverse_28_29_20const($6 + 252 | 0 | 0, $7 + 40 | 0 | 0); + btTransform__operator__28btTransform_20const__29_20const($6 + 316 | 0 | 0, $7 + 168 | 0 | 0, $6 + 252 | 0 | 0); + btTransform__operator_28_29_28btVector3_20const__29_20const($6 + 380 | 0 | 0, $6 + 316 | 0 | 0, $6 + 412 | 0 | 0); + $56 = 8; + i64toi32_i32$2 = ($6 + 380 | 0) + $56 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $297 = i64toi32_i32$0; + i64toi32_i32$0 = ($6 + 464 | 0) + $56 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $297; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$2 = $6; + i64toi32_i32$1 = HEAP32[($6 + 380 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($6 + 384 | 0) >> 2] | 0; + $301 = i64toi32_i32$1; + i64toi32_i32$1 = $6; + HEAP32[($6 + 464 | 0) >> 2] = $301; + HEAP32[($6 + 468 | 0) >> 2] = i64toi32_i32$0; + operator__28btVector3_20const__2c_20btVector3_20const__29($6 + 236 | 0 | 0, $6 + 464 | 0 | 0, HEAP32[($6 + 484 | 0) >> 2] | 0 | 0); + (wasm2js_i32$0 = $6, wasm2js_f32$0 = Math_fround(btVector3__dot_28btVector3_20const__29_20const($6 + 236 | 0 | 0, HEAP32[($6 + 488 | 0) >> 2] | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 444 | 0) >> 2] = wasm2js_f32$0; + operator__28btVector3_20const__2c_20float_20const__29($6 + 204 | 0 | 0, HEAP32[($6 + 488 | 0) >> 2] | 0 | 0, $6 + 444 | 0 | 0); + operator__28btVector3_20const__2c_20btVector3_20const__29_2($6 + 220 | 0 | 0, $6 + 464 | 0 | 0, $6 + 204 | 0 | 0); + $93 = 8; + i64toi32_i32$2 = ($6 + 220 | 0) + $93 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $369 = i64toi32_i32$0; + i64toi32_i32$0 = ($6 + 448 | 0) + $93 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $369; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$2 = $6; + i64toi32_i32$1 = HEAP32[($6 + 220 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($6 + 224 | 0) >> 2] | 0; + $373 = i64toi32_i32$1; + i64toi32_i32$1 = $6; + HEAP32[($6 + 448 | 0) >> 2] = $373; + HEAP32[($6 + 452 | 0) >> 2] = i64toi32_i32$0; + break label$1; + } + $102 = HEAP32[($6 + 484 | 0) >> 2] | 0; + operator__28btVector3_20const__2c_20float_20const__29($6 + 172 | 0 | 0, HEAP32[($6 + 488 | 0) >> 2] | 0 | 0, $6 + 480 | 0 | 0); + operator__28btVector3_20const__2c_20btVector3_20const__29_2($6 + 188 | 0 | 0, $102 | 0, $6 + 172 | 0 | 0); + $116 = 8; + i64toi32_i32$2 = ($6 + 188 | 0) + $116 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $415 = i64toi32_i32$0; + i64toi32_i32$0 = ($6 + 464 | 0) + $116 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $415; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$2 = $6; + i64toi32_i32$1 = HEAP32[($6 + 188 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($6 + 192 | 0) >> 2] | 0; + $419 = i64toi32_i32$1; + i64toi32_i32$1 = $6; + HEAP32[($6 + 464 | 0) >> 2] = $419; + HEAP32[($6 + 468 | 0) >> 2] = i64toi32_i32$0; + btTransform__inverse_28_29_20const($6 + 28 | 0 | 0, $7 + 104 | 0 | 0); + btTransform__operator__28btTransform_20const__29_20const($6 + 92 | 0 | 0, $7 + 168 | 0 | 0, $6 + 28 | 0 | 0); + btTransform__operator_28_29_28btVector3_20const__29_20const($6 + 156 | 0 | 0, $6 + 92 | 0 | 0, HEAP32[($6 + 484 | 0) >> 2] | 0 | 0); + $145 = 8; + i64toi32_i32$2 = ($6 + 156 | 0) + $145 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $471 = i64toi32_i32$0; + i64toi32_i32$0 = ($6 + 448 | 0) + $145 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $471; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$2 = $6; + i64toi32_i32$1 = HEAP32[($6 + 156 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($6 + 160 | 0) >> 2] | 0; + $475 = i64toi32_i32$1; + i64toi32_i32$1 = $6; + HEAP32[($6 + 448 | 0) >> 2] = $475; + HEAP32[($6 + 452 | 0) >> 2] = i64toi32_i32$0; + operator__28btVector3_20const__2c_20btVector3_20const__29($6 + 12 | 0 | 0, $6 + 464 | 0 | 0, $6 + 448 | 0 | 0); + (wasm2js_i32$0 = $6, wasm2js_f32$0 = Math_fround(btVector3__dot_28btVector3_20const__29_20const($6 + 12 | 0 | 0, HEAP32[($6 + 488 | 0) >> 2] | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 444 | 0) >> 2] = wasm2js_f32$0; + } + $168 = HEAP32[($7 + 36 | 0) >> 2] | 0; + FUNCTION_TABLE[HEAP32[((HEAP32[$168 >> 2] | 0) + 16 | 0) >> 2] | 0 | 0]($168, HEAP32[($6 + 488 | 0) >> 2] | 0, $6 + 448 | 0, Math_fround(HEAPF32[($6 + 444 | 0) >> 2])); + __stack_pointer = $6 + 496 | 0; + return; + } + + function _GLOBAL__sub_I_btConvexConvexAlgorithm_cpp() { + __cxx_global_var_init_14(); + return; + } + + function __cxx_global_var_init_15() { + btInfMaskConverter__btInfMaskConverter_28int_29(114e3 | 0, 2139095040 | 0) | 0; + return; + } + + function btConvexConcaveCollisionAlgorithm__btConvexConcaveCollisionAlgorithm_28btCollisionAlgorithmConstructionInfo_20const__2c_20btCollisionObjectWrapper_20const__2c_20btCollisionObjectWrapper_20const__2c_20bool_29($0, $1, $2, $3, $4) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + $4 = $4 | 0; + var $7 = 0, $9 = 0; + $7 = __stack_pointer - 32 | 0; + __stack_pointer = $7; + HEAP32[($7 + 28 | 0) >> 2] = $0; + HEAP32[($7 + 24 | 0) >> 2] = $1; + HEAP32[($7 + 20 | 0) >> 2] = $2; + HEAP32[($7 + 16 | 0) >> 2] = $3; + HEAP8[($7 + 15 | 0) >> 0] = $4; + $9 = HEAP32[($7 + 28 | 0) >> 2] | 0; + btActivatingCollisionAlgorithm__btActivatingCollisionAlgorithm_28btCollisionAlgorithmConstructionInfo_20const__2c_20btCollisionObjectWrapper_20const__2c_20btCollisionObjectWrapper_20const__29($9 | 0, HEAP32[($7 + 24 | 0) >> 2] | 0 | 0, HEAP32[($7 + 20 | 0) >> 2] | 0 | 0, HEAP32[($7 + 16 | 0) >> 2] | 0 | 0) | 0; + HEAP32[$9 >> 2] = 94284 + 8 | 0; + FUNCTION_TABLE[629 | 0]($9 + 8 | 0, HEAP32[(HEAP32[($7 + 24 | 0) >> 2] | 0) >> 2] | 0, HEAP32[($7 + 20 | 0) >> 2] | 0, HEAP32[($7 + 16 | 0) >> 2] | 0, (HEAPU8[($7 + 15 | 0) >> 0] | 0) & 1 | 0) | 0; + HEAP8[($9 + 76 | 0) >> 0] = (HEAPU8[($7 + 15 | 0) >> 0] | 0) & 1 | 0; + __stack_pointer = $7 + 32 | 0; + return $9 | 0; + } + + function btConvexConcaveCollisionAlgorithm___btConvexConcaveCollisionAlgorithm_28_29($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + HEAP32[$4 >> 2] = 94284 + 8 | 0; + FUNCTION_TABLE[630 | 0]($4 + 8 | 0) | 0; + btActivatingCollisionAlgorithm___btActivatingCollisionAlgorithm_28_29($4 | 0) | 0; + __stack_pointer = $3 + 16 | 0; + return $4 | 0; + } + + function btConvexConcaveCollisionAlgorithm___btConvexConcaveCollisionAlgorithm_28_29_1($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + FUNCTION_TABLE[631 | 0]($4) | 0; + btConvexConcaveCollisionAlgorithm__operator_20delete_28void__29($4 | 0); + __stack_pointer = $3 + 16 | 0; + return; + } + + function btConvexConcaveCollisionAlgorithm__operator_20delete_28void__29($0) { + $0 = $0 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + btAlignedFreeInternal_28void__29(HEAP32[($3 + 12 | 0) >> 2] | 0 | 0); + __stack_pointer = $3 + 16 | 0; + return; + } + + function btConvexConcaveCollisionAlgorithm__getAllContactManifolds_28btAlignedObjectArray_btPersistentManifold____29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, $5 = 0; + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; + label$1 : { + if (!((HEAP32[($5 + 72 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + btAlignedObjectArray_btPersistentManifold____push_back_28btPersistentManifold__20const__29(HEAP32[($4 + 8 | 0) >> 2] | 0 | 0, ($5 + 8 | 0) + 64 | 0 | 0); + } + __stack_pointer = $4 + 16 | 0; + return; + } + + function btConvexTriangleCallback__btConvexTriangleCallback_28btDispatcher__2c_20btCollisionObjectWrapper_20const__2c_20btCollisionObjectWrapper_20const__2c_20bool_29($0, $1, $2, $3, $4) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + $4 = $4 | 0; + var $7 = 0, $9 = 0, $23 = 0, $30 = 0, $33 = 0, $41 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0, wasm2js_i32$2 = 0, wasm2js_i32$3 = 0, wasm2js_i32$4 = 0, wasm2js_i32$5 = 0; + $7 = __stack_pointer - 32 | 0; + __stack_pointer = $7; + HEAP32[($7 + 24 | 0) >> 2] = $0; + HEAP32[($7 + 20 | 0) >> 2] = $1; + HEAP32[($7 + 16 | 0) >> 2] = $2; + HEAP32[($7 + 12 | 0) >> 2] = $3; + HEAP8[($7 + 11 | 0) >> 0] = $4; + $9 = HEAP32[($7 + 24 | 0) >> 2] | 0; + HEAP32[($7 + 28 | 0) >> 2] = $9; + btTriangleCallback__btTriangleCallback_28_29($9 | 0) | 0; + HEAP32[$9 >> 2] = 94312 + 8 | 0; + btVector3__btVector3_28_29($9 + 4 | 0 | 0) | 0; + btVector3__btVector3_28_29($9 + 20 | 0 | 0) | 0; + HEAP32[($9 + 48 | 0) >> 2] = HEAP32[($7 + 20 | 0) >> 2] | 0; + HEAP32[($9 + 52 | 0) >> 2] = 0; + label$1 : { + label$2 : { + if (!((HEAPU8[($7 + 11 | 0) >> 0] | 0) & 1 | 0)) { + break label$2 + } + $23 = HEAP32[($7 + 12 | 0) >> 2] | 0; + break label$1; + } + $23 = HEAP32[($7 + 16 | 0) >> 2] | 0; + } + HEAP32[($9 + 36 | 0) >> 2] = $23; + label$3 : { + label$4 : { + if (!((HEAPU8[($7 + 11 | 0) >> 0] | 0) & 1 | 0)) { + break label$4 + } + $30 = HEAP32[($7 + 16 | 0) >> 2] | 0; + break label$3; + } + $30 = HEAP32[($7 + 12 | 0) >> 2] | 0; + } + HEAP32[($9 + 40 | 0) >> 2] = $30; + $33 = HEAP32[($9 + 48 | 0) >> 2] | 0; + (wasm2js_i32$0 = $9, wasm2js_i32$1 = ((((wasm2js_i32$3 = $33, wasm2js_i32$4 = btCollisionObjectWrapper__getCollisionObject_28_29_20const(HEAP32[($9 + 36 | 0) >> 2] | 0 | 0) | 0), wasm2js_i32$5 = btCollisionObjectWrapper__getCollisionObject_28_29_20const(HEAP32[($9 + 40 | 0) >> 2] | 0 | 0) | 0), wasm2js_i32$2 = HEAP32[((HEAP32[$33 >> 2] | 0) + 12 | 0) >> 2] | 0 | 0), FUNCTION_TABLE[wasm2js_i32$2](wasm2js_i32$3 | 0, wasm2js_i32$4 | 0, wasm2js_i32$5 | 0) | 0)), HEAP32[(wasm2js_i32$0 + 64 | 0) >> 2] = wasm2js_i32$1; + btConvexTriangleCallback__clearCache_28_29($9 | 0); + $41 = HEAP32[($7 + 28 | 0) >> 2] | 0; + __stack_pointer = $7 + 32 | 0; + return $41 | 0; + } + + function btConvexTriangleCallback__clearCache_28_29($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0, $5 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + $5 = HEAP32[($4 + 48 | 0) >> 2] | 0; + FUNCTION_TABLE[HEAP32[((HEAP32[$5 >> 2] | 0) + 20 | 0) >> 2] | 0 | 0]($5, HEAP32[($4 + 64 | 0) >> 2] | 0); + __stack_pointer = $3 + 16 | 0; + return; + } + + function btConvexTriangleCallback___btConvexTriangleCallback_28_29($0) { + $0 = $0 | 0; + var $4 = 0, $3 = 0, $8 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + HEAP32[$4 >> 2] = 94312 + 8 | 0; + btConvexTriangleCallback__clearCache_28_29($4 | 0); + $8 = HEAP32[($4 + 48 | 0) >> 2] | 0; + FUNCTION_TABLE[HEAP32[((HEAP32[$8 >> 2] | 0) + 16 | 0) >> 2] | 0 | 0]($8, HEAP32[($4 + 64 | 0) >> 2] | 0); + btTriangleCallback___btTriangleCallback_28_29($4 | 0) | 0; + __stack_pointer = $3 + 16 | 0; + return $4 | 0; + } + + function btConvexTriangleCallback___btConvexTriangleCallback_28_29_1($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + FUNCTION_TABLE[630 | 0]($4) | 0; + btConvexTriangleCallback__operator_20delete_28void__29($4 | 0); + __stack_pointer = $3 + 16 | 0; + return; + } + + function btConvexTriangleCallback__operator_20delete_28void__29($0) { + $0 = $0 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + btAlignedFreeInternal_28void__29(HEAP32[($3 + 12 | 0) >> 2] | 0 | 0); + __stack_pointer = $3 + 16 | 0; + return; + } + + function btConvexTriangleCallback__processTriangle_28btVector3__2c_20int_2c_20int_29($0, $1, $2, $3) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + var $6 = 0, $7 = 0, $65 = 0, $75 = 0, $101 = 0, $112 = 0, $117 = 0, $139 = 0, $142 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $6 = __stack_pointer - 176 | 0; + __stack_pointer = $6; + HEAP32[($6 + 172 | 0) >> 2] = $0; + HEAP32[($6 + 168 | 0) >> 2] = $1; + HEAP32[($6 + 164 | 0) >> 2] = $2; + HEAP32[($6 + 160 | 0) >> 2] = $3; + $7 = HEAP32[($6 + 172 | 0) >> 2] | 0; + CProfileSample__CProfileSample_28char_20const__29($6 + 159 | 0 | 0, 81819 | 0) | 0; + label$1 : { + label$2 : { + if ((TestTriangleAgainstAabb2_28btVector3_20const__2c_20btVector3_20const__2c_20btVector3_20const__29(HEAP32[($6 + 168 | 0) >> 2] | 0 | 0, $7 + 4 | 0 | 0, $7 + 20 | 0 | 0) | 0) & 1 | 0) { + break label$2 + } + HEAP32[($6 + 152 | 0) >> 2] = 1; + break label$1; + } + btCollisionAlgorithmConstructionInfo__btCollisionAlgorithmConstructionInfo_28_29($6 + 144 | 0 | 0) | 0; + HEAP32[($6 + 144 | 0) >> 2] = HEAP32[($7 + 48 | 0) >> 2] | 0; + label$3 : { + if (!((btCollisionShape__isConvex_28_29_20const(btCollisionObjectWrapper__getCollisionShape_28_29_20const(HEAP32[($7 + 36 | 0) >> 2] | 0 | 0) | 0 | 0) | 0) & 1 | 0)) { + break label$3 + } + btTriangleShape__btTriangleShape_28btVector3_20const__2c_20btVector3_20const__2c_20btVector3_20const__29($6 + 32 | 0 | 0, HEAP32[($6 + 168 | 0) >> 2] | 0 | 0, (HEAP32[($6 + 168 | 0) >> 2] | 0) + 16 | 0 | 0, (HEAP32[($6 + 168 | 0) >> 2] | 0) + 32 | 0 | 0) | 0; + btConvexInternalShape__setMargin_28float_29($6 + 32 | 0 | 0, Math_fround(Math_fround(HEAPF32[($7 + 56 | 0) >> 2]))); + btCollisionObjectWrapper__btCollisionObjectWrapper_28btCollisionObjectWrapper_20const__2c_20btCollisionShape_20const__2c_20btCollisionObject_20const__2c_20btTransform_20const__2c_20int_2c_20int_29($6 + 8 | 0 | 0, HEAP32[($7 + 40 | 0) >> 2] | 0 | 0, $6 + 32 | 0 | 0, btCollisionObjectWrapper__getCollisionObject_28_29_20const(HEAP32[($7 + 40 | 0) >> 2] | 0 | 0) | 0 | 0, btCollisionObjectWrapper__getWorldTransform_28_29_20const(HEAP32[($7 + 40 | 0) >> 2] | 0 | 0) | 0 | 0, HEAP32[($6 + 164 | 0) >> 2] | 0 | 0, HEAP32[($6 + 160 | 0) >> 2] | 0 | 0) | 0; + HEAP32[($6 + 4 | 0) >> 2] = 0; + label$4 : { + label$5 : { + if (!(Math_fround(HEAPF32[((HEAP32[($7 + 44 | 0) >> 2] | 0) + 32 | 0) >> 2]) > Math_fround(0 | 0) & 1 | 0)) { + break label$5 + } + $65 = HEAP32[($6 + 144 | 0) >> 2] | 0; + (wasm2js_i32$0 = $6, wasm2js_i32$1 = FUNCTION_TABLE[HEAP32[((HEAP32[$65 >> 2] | 0) + 8 | 0) >> 2] | 0 | 0]($65, HEAP32[($7 + 36 | 0) >> 2] | 0, $6 + 8 | 0, 0, 2) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + break label$4; + } + $75 = HEAP32[($6 + 144 | 0) >> 2] | 0; + (wasm2js_i32$0 = $6, wasm2js_i32$1 = FUNCTION_TABLE[HEAP32[((HEAP32[$75 >> 2] | 0) + 8 | 0) >> 2] | 0 | 0]($75, HEAP32[($7 + 36 | 0) >> 2] | 0, $6 + 8 | 0, HEAP32[($7 + 64 | 0) >> 2] | 0, 1) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + } + HEAP32[$6 >> 2] = 0; + label$6 : { + label$7 : { + if (!((btManifoldResult__getBody0Internal_28_29_20const(HEAP32[($7 + 44 | 0) >> 2] | 0 | 0) | 0 | 0) == (btCollisionObjectWrapper__getCollisionObject_28_29_20const(HEAP32[($7 + 40 | 0) >> 2] | 0 | 0) | 0 | 0) & 1 | 0)) { + break label$7 + } + (wasm2js_i32$0 = $6, wasm2js_i32$1 = btManifoldResult__getBody0Wrap_28_29_20const(HEAP32[($7 + 44 | 0) >> 2] | 0 | 0) | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + btManifoldResult__setBody0Wrap_28btCollisionObjectWrapper_20const__29(HEAP32[($7 + 44 | 0) >> 2] | 0 | 0, $6 + 8 | 0 | 0); + $101 = HEAP32[($7 + 44 | 0) >> 2] | 0; + FUNCTION_TABLE[HEAP32[((HEAP32[$101 >> 2] | 0) + 8 | 0) >> 2] | 0 | 0]($101, HEAP32[($6 + 164 | 0) >> 2] | 0, HEAP32[($6 + 160 | 0) >> 2] | 0); + break label$6; + } + (wasm2js_i32$0 = $6, wasm2js_i32$1 = btManifoldResult__getBody1Wrap_28_29_20const(HEAP32[($7 + 44 | 0) >> 2] | 0 | 0) | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + btManifoldResult__setBody1Wrap_28btCollisionObjectWrapper_20const__29(HEAP32[($7 + 44 | 0) >> 2] | 0 | 0, $6 + 8 | 0 | 0); + $112 = HEAP32[($7 + 44 | 0) >> 2] | 0; + FUNCTION_TABLE[HEAP32[((HEAP32[$112 >> 2] | 0) + 12 | 0) >> 2] | 0 | 0]($112, HEAP32[($6 + 164 | 0) >> 2] | 0, HEAP32[($6 + 160 | 0) >> 2] | 0); + } + $117 = HEAP32[($6 + 4 | 0) >> 2] | 0; + FUNCTION_TABLE[HEAP32[((HEAP32[$117 >> 2] | 0) + 8 | 0) >> 2] | 0 | 0]($117, HEAP32[($7 + 36 | 0) >> 2] | 0, $6 + 8 | 0, HEAP32[($7 + 52 | 0) >> 2] | 0, HEAP32[($7 + 44 | 0) >> 2] | 0); + label$8 : { + label$9 : { + if (!((btManifoldResult__getBody0Internal_28_29_20const(HEAP32[($7 + 44 | 0) >> 2] | 0 | 0) | 0 | 0) == (btCollisionObjectWrapper__getCollisionObject_28_29_20const(HEAP32[($7 + 40 | 0) >> 2] | 0 | 0) | 0 | 0) & 1 | 0)) { + break label$9 + } + btManifoldResult__setBody0Wrap_28btCollisionObjectWrapper_20const__29(HEAP32[($7 + 44 | 0) >> 2] | 0 | 0, HEAP32[$6 >> 2] | 0 | 0); + break label$8; + } + btManifoldResult__setBody1Wrap_28btCollisionObjectWrapper_20const__29(HEAP32[($7 + 44 | 0) >> 2] | 0 | 0, HEAP32[$6 >> 2] | 0 | 0); + } + $139 = HEAP32[($6 + 4 | 0) >> 2] | 0; + FUNCTION_TABLE[HEAP32[(HEAP32[$139 >> 2] | 0) >> 2] | 0 | 0]($139) | 0; + $142 = HEAP32[($6 + 144 | 0) >> 2] | 0; + FUNCTION_TABLE[HEAP32[((HEAP32[$142 >> 2] | 0) + 60 | 0) >> 2] | 0 | 0]($142, HEAP32[($6 + 4 | 0) >> 2] | 0); + btTriangleShape___btTriangleShape_28_29($6 + 32 | 0 | 0) | 0; + } + HEAP32[($6 + 152 | 0) >> 2] = 0; + } + CProfileSample___CProfileSample_28_29($6 + 159 | 0 | 0) | 0; + __stack_pointer = $6 + 176 | 0; + return; + } + + function TestTriangleAgainstAabb2_28btVector3_20const__2c_20btVector3_20const__2c_20btVector3_20const__29($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $5 = 0, $150 = 0; + $5 = __stack_pointer - 32 | 0; + __stack_pointer = $5; + HEAP32[($5 + 24 | 0) >> 2] = $0; + HEAP32[($5 + 20 | 0) >> 2] = $1; + HEAP32[($5 + 16 | 0) >> 2] = $2; + HEAP32[($5 + 12 | 0) >> 2] = HEAP32[($5 + 24 | 0) >> 2] | 0; + HEAP32[($5 + 8 | 0) >> 2] = (HEAP32[($5 + 24 | 0) >> 2] | 0) + 16 | 0; + HEAP32[($5 + 4 | 0) >> 2] = (HEAP32[($5 + 24 | 0) >> 2] | 0) + 32 | 0; + label$1 : { + label$2 : { + if (!(Math_fround(HEAPF32[(float_20const__20btMin_float__28float_20const__2c_20float_20const__29(float_20const__20btMin_float__28float_20const__2c_20float_20const__29(btVector3__operator_20float_20const__28_29_20const(HEAP32[($5 + 12 | 0) >> 2] | 0 | 0) | 0 | 0, btVector3__operator_20float_20const__28_29_20const(HEAP32[($5 + 8 | 0) >> 2] | 0 | 0) | 0 | 0) | 0 | 0, btVector3__operator_20float_20const__28_29_20const(HEAP32[($5 + 4 | 0) >> 2] | 0 | 0) | 0 | 0) | 0) >> 2]) > Math_fround(HEAPF32[(btVector3__operator_20float_20const__28_29_20const(HEAP32[($5 + 16 | 0) >> 2] | 0 | 0) | 0) >> 2]) & 1 | 0)) { + break label$2 + } + HEAP8[($5 + 31 | 0) >> 0] = 0 & 1 | 0; + break label$1; + } + label$3 : { + if (!(Math_fround(HEAPF32[(float_20const__20btMax_float__28float_20const__2c_20float_20const__29(float_20const__20btMax_float__28float_20const__2c_20float_20const__29(btVector3__operator_20float_20const__28_29_20const(HEAP32[($5 + 12 | 0) >> 2] | 0 | 0) | 0 | 0, btVector3__operator_20float_20const__28_29_20const(HEAP32[($5 + 8 | 0) >> 2] | 0 | 0) | 0 | 0) | 0 | 0, btVector3__operator_20float_20const__28_29_20const(HEAP32[($5 + 4 | 0) >> 2] | 0 | 0) | 0 | 0) | 0) >> 2]) < Math_fround(HEAPF32[(btVector3__operator_20float_20const__28_29_20const(HEAP32[($5 + 20 | 0) >> 2] | 0 | 0) | 0) >> 2]) & 1 | 0)) { + break label$3 + } + HEAP8[($5 + 31 | 0) >> 0] = 0 & 1 | 0; + break label$1; + } + label$4 : { + if (!(Math_fround(HEAPF32[(float_20const__20btMin_float__28float_20const__2c_20float_20const__29(float_20const__20btMin_float__28float_20const__2c_20float_20const__29((btVector3__operator_20float_20const__28_29_20const(HEAP32[($5 + 12 | 0) >> 2] | 0 | 0) | 0) + 8 | 0 | 0, (btVector3__operator_20float_20const__28_29_20const(HEAP32[($5 + 8 | 0) >> 2] | 0 | 0) | 0) + 8 | 0 | 0) | 0 | 0, (btVector3__operator_20float_20const__28_29_20const(HEAP32[($5 + 4 | 0) >> 2] | 0 | 0) | 0) + 8 | 0 | 0) | 0) >> 2]) > Math_fround(HEAPF32[((btVector3__operator_20float_20const__28_29_20const(HEAP32[($5 + 16 | 0) >> 2] | 0 | 0) | 0) + 8 | 0) >> 2]) & 1 | 0)) { + break label$4 + } + HEAP8[($5 + 31 | 0) >> 0] = 0 & 1 | 0; + break label$1; + } + label$5 : { + if (!(Math_fround(HEAPF32[(float_20const__20btMax_float__28float_20const__2c_20float_20const__29(float_20const__20btMax_float__28float_20const__2c_20float_20const__29((btVector3__operator_20float_20const__28_29_20const(HEAP32[($5 + 12 | 0) >> 2] | 0 | 0) | 0) + 8 | 0 | 0, (btVector3__operator_20float_20const__28_29_20const(HEAP32[($5 + 8 | 0) >> 2] | 0 | 0) | 0) + 8 | 0 | 0) | 0 | 0, (btVector3__operator_20float_20const__28_29_20const(HEAP32[($5 + 4 | 0) >> 2] | 0 | 0) | 0) + 8 | 0 | 0) | 0) >> 2]) < Math_fround(HEAPF32[((btVector3__operator_20float_20const__28_29_20const(HEAP32[($5 + 20 | 0) >> 2] | 0 | 0) | 0) + 8 | 0) >> 2]) & 1 | 0)) { + break label$5 + } + HEAP8[($5 + 31 | 0) >> 0] = 0 & 1 | 0; + break label$1; + } + label$6 : { + if (!(Math_fround(HEAPF32[(float_20const__20btMin_float__28float_20const__2c_20float_20const__29(float_20const__20btMin_float__28float_20const__2c_20float_20const__29((btVector3__operator_20float_20const__28_29_20const(HEAP32[($5 + 12 | 0) >> 2] | 0 | 0) | 0) + 4 | 0 | 0, (btVector3__operator_20float_20const__28_29_20const(HEAP32[($5 + 8 | 0) >> 2] | 0 | 0) | 0) + 4 | 0 | 0) | 0 | 0, (btVector3__operator_20float_20const__28_29_20const(HEAP32[($5 + 4 | 0) >> 2] | 0 | 0) | 0) + 4 | 0 | 0) | 0) >> 2]) > Math_fround(HEAPF32[((btVector3__operator_20float_20const__28_29_20const(HEAP32[($5 + 16 | 0) >> 2] | 0 | 0) | 0) + 4 | 0) >> 2]) & 1 | 0)) { + break label$6 + } + HEAP8[($5 + 31 | 0) >> 0] = 0 & 1 | 0; + break label$1; + } + label$7 : { + if (!(Math_fround(HEAPF32[(float_20const__20btMax_float__28float_20const__2c_20float_20const__29(float_20const__20btMax_float__28float_20const__2c_20float_20const__29((btVector3__operator_20float_20const__28_29_20const(HEAP32[($5 + 12 | 0) >> 2] | 0 | 0) | 0) + 4 | 0 | 0, (btVector3__operator_20float_20const__28_29_20const(HEAP32[($5 + 8 | 0) >> 2] | 0 | 0) | 0) + 4 | 0 | 0) | 0 | 0, (btVector3__operator_20float_20const__28_29_20const(HEAP32[($5 + 4 | 0) >> 2] | 0 | 0) | 0) + 4 | 0 | 0) | 0) >> 2]) < Math_fround(HEAPF32[((btVector3__operator_20float_20const__28_29_20const(HEAP32[($5 + 20 | 0) >> 2] | 0 | 0) | 0) + 4 | 0) >> 2]) & 1 | 0)) { + break label$7 + } + HEAP8[($5 + 31 | 0) >> 0] = 0 & 1 | 0; + break label$1; + } + HEAP8[($5 + 31 | 0) >> 0] = 1 & 1 | 0; + } + $150 = (HEAPU8[($5 + 31 | 0) >> 0] | 0) & 1 | 0; + __stack_pointer = $5 + 32 | 0; + return $150 | 0; + } + + function btTriangleShape__btTriangleShape_28btVector3_20const__2c_20btVector3_20const__2c_20btVector3_20const__29($0, $1, $2, $3) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + var i64toi32_i32$2 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $6 = 0, $7 = 0, $12 = 0, $15 = 0, $16 = 0, $18 = 0, $27 = 0, $29 = 0, $37 = 0, $39 = 0, $47 = 0, $49 = 0, $14 = 0, $114 = 0, $124 = 0, $136 = 0, $146 = 0, $158 = 0, $168 = 0, $53 = 0; + $6 = __stack_pointer - 32 | 0; + __stack_pointer = $6; + HEAP32[($6 + 24 | 0) >> 2] = $0; + HEAP32[($6 + 20 | 0) >> 2] = $1; + HEAP32[($6 + 16 | 0) >> 2] = $2; + HEAP32[($6 + 12 | 0) >> 2] = $3; + $7 = HEAP32[($6 + 24 | 0) >> 2] | 0; + HEAP32[($6 + 28 | 0) >> 2] = $7; + btPolyhedralConvexShape__btPolyhedralConvexShape_28_29($7 | 0) | 0; + HEAP32[$7 >> 2] = 94420 + 8 | 0; + $12 = $7 + 64 | 0; + $14 = $12 + 48 | 0; + $15 = $12; + label$1 : while (1) { + $16 = $15; + btVector3__btVector3_28_29($16 | 0) | 0; + $18 = $16 + 16 | 0; + $15 = $18; + if (!(($18 | 0) == ($14 | 0) & 1 | 0)) { + continue label$1 + } + break label$1; + }; + HEAP32[($7 + 4 | 0) >> 2] = 1; + $27 = $7 + 64 | 0; + i64toi32_i32$2 = HEAP32[($6 + 20 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $114 = i64toi32_i32$0; + i64toi32_i32$0 = $27; + HEAP32[i64toi32_i32$0 >> 2] = $114; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $29 = 8; + i64toi32_i32$2 = i64toi32_i32$2 + $29 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $124 = i64toi32_i32$1; + i64toi32_i32$1 = $27 + $29 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $124; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + $37 = ($7 + 64 | 0) + 16 | 0; + i64toi32_i32$2 = HEAP32[($6 + 16 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $136 = i64toi32_i32$0; + i64toi32_i32$0 = $37; + HEAP32[i64toi32_i32$0 >> 2] = $136; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $39 = 8; + i64toi32_i32$2 = i64toi32_i32$2 + $39 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $146 = i64toi32_i32$1; + i64toi32_i32$1 = $37 + $39 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $146; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + $47 = ($7 + 64 | 0) + 32 | 0; + i64toi32_i32$2 = HEAP32[($6 + 12 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $158 = i64toi32_i32$0; + i64toi32_i32$0 = $47; + HEAP32[i64toi32_i32$0 >> 2] = $158; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $49 = 8; + i64toi32_i32$2 = i64toi32_i32$2 + $49 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $168 = i64toi32_i32$1; + i64toi32_i32$1 = $47 + $49 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $168; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + $53 = HEAP32[($6 + 28 | 0) >> 2] | 0; + __stack_pointer = $6 + 32 | 0; + return $53 | 0; + } + + function btManifoldResult__getBody0Internal_28_29_20const($0) { + $0 = $0 | 0; + var $3 = 0, $6 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $6 = btCollisionObjectWrapper__getCollisionObject_28_29_20const(HEAP32[((HEAP32[($3 + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) | 0; + __stack_pointer = $3 + 16 | 0; + return $6 | 0; + } + + function btManifoldResult__getBody0Wrap_28_29_20const($0) { + $0 = $0 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + return HEAP32[((HEAP32[($3 + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0; + } + + function btManifoldResult__setBody0Wrap_28btCollisionObjectWrapper_20const__29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0; + $4 = __stack_pointer - 16 | 0; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + HEAP32[((HEAP32[($4 + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] = HEAP32[($4 + 8 | 0) >> 2] | 0; + return; + } + + function btManifoldResult__getBody1Wrap_28_29_20const($0) { + $0 = $0 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + return HEAP32[((HEAP32[($3 + 12 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0; + } + + function btManifoldResult__setBody1Wrap_28btCollisionObjectWrapper_20const__29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0; + $4 = __stack_pointer - 16 | 0; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + HEAP32[((HEAP32[($4 + 12 | 0) >> 2] | 0) + 12 | 0) >> 2] = HEAP32[($4 + 8 | 0) >> 2] | 0; + return; + } + + function btTriangleShape___btTriangleShape_28_29($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + btPolyhedralConvexShape___btPolyhedralConvexShape_28_29($4 | 0) | 0; + __stack_pointer = $3 + 16 | 0; + return $4 | 0; + } + + function float_20const__20btMax_float__28float_20const__2c_20float_20const__29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, $13 = 0; + $4 = __stack_pointer - 16 | 0; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + label$1 : { + label$2 : { + if (!(Math_fround(HEAPF32[(HEAP32[($4 + 12 | 0) >> 2] | 0) >> 2]) > Math_fround(HEAPF32[(HEAP32[($4 + 8 | 0) >> 2] | 0) >> 2]) & 1 | 0)) { + break label$2 + } + $13 = HEAP32[($4 + 12 | 0) >> 2] | 0; + break label$1; + } + $13 = HEAP32[($4 + 8 | 0) >> 2] | 0; + } + return $13 | 0; + } + + function btConvexTriangleCallback__setTimeStepAndCounters_28float_2c_20btDispatcherInfo_20const__2c_20btCollisionObjectWrapper_20const__2c_20btCollisionObjectWrapper_20const__2c_20btManifoldResult__29($0, $1, $2, $3, $4, $5) { + $0 = $0 | 0; + $1 = Math_fround($1); + $2 = $2 | 0; + $3 = $3 | 0; + $4 = $4 | 0; + $5 = $5 | 0; + var $8 = 0, $9 = 0, $56 = 0, $39 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $8 = __stack_pointer - 240 | 0; + __stack_pointer = $8; + HEAP32[($8 + 236 | 0) >> 2] = $0; + HEAPF32[($8 + 232 | 0) >> 2] = $1; + HEAP32[($8 + 228 | 0) >> 2] = $2; + HEAP32[($8 + 224 | 0) >> 2] = $3; + HEAP32[($8 + 220 | 0) >> 2] = $4; + HEAP32[($8 + 216 | 0) >> 2] = $5; + $9 = HEAP32[($8 + 236 | 0) >> 2] | 0; + HEAP32[($9 + 36 | 0) >> 2] = HEAP32[($8 + 224 | 0) >> 2] | 0; + HEAP32[($9 + 40 | 0) >> 2] = HEAP32[($8 + 220 | 0) >> 2] | 0; + HEAP32[($9 + 52 | 0) >> 2] = HEAP32[($8 + 228 | 0) >> 2] | 0; + HEAPF32[($9 + 56 | 0) >> 2] = Math_fround(HEAPF32[($8 + 232 | 0) >> 2]); + HEAP32[($9 + 44 | 0) >> 2] = HEAP32[($8 + 216 | 0) >> 2] | 0; + btTransform__btTransform_28_29($8 + 152 | 0 | 0) | 0; + btTransform__inverse_28_29_20const($8 + 24 | 0 | 0, btCollisionObjectWrapper__getWorldTransform_28_29_20const(HEAP32[($9 + 40 | 0) >> 2] | 0 | 0) | 0 | 0); + btTransform__operator__28btTransform_20const__29_20const($8 + 88 | 0 | 0, $8 + 24 | 0 | 0, btCollisionObjectWrapper__getWorldTransform_28_29_20const(HEAP32[($9 + 36 | 0) >> 2] | 0 | 0) | 0 | 0); + btTransform__operator__28btTransform_20const__29($8 + 152 | 0 | 0, $8 + 88 | 0 | 0) | 0; + (wasm2js_i32$0 = $8, wasm2js_i32$1 = btCollisionObjectWrapper__getCollisionShape_28_29_20const(HEAP32[($9 + 36 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + $39 = HEAP32[($8 + 20 | 0) >> 2] | 0; + FUNCTION_TABLE[HEAP32[((HEAP32[$39 >> 2] | 0) + 8 | 0) >> 2] | 0 | 0]($39, $8 + 152 | 0, $9 + 4 | 0, $9 + 20 | 0); + HEAPF32[($8 + 16 | 0) >> 2] = Math_fround(Math_fround(HEAPF32[($8 + 232 | 0) >> 2]) + Math_fround(HEAPF32[((HEAP32[($8 + 216 | 0) >> 2] | 0) + 32 | 0) >> 2])); + $56 = $8 + 16 | 0; + btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($8 | 0, $56 | 0, $56 | 0, $56 | 0) | 0; + btVector3__operator___28btVector3_20const__29_1($9 + 20 | 0 | 0, $8 | 0) | 0; + btVector3__operator___28btVector3_20const__29($9 + 4 | 0 | 0, $8 | 0) | 0; + __stack_pointer = $8 + 240 | 0; + return; + } + + function btConvexConcaveCollisionAlgorithm__processCollision_28btCollisionObjectWrapper_20const__2c_20btCollisionObjectWrapper_20const__2c_20btDispatcherInfo_20const__2c_20btManifoldResult__29($0, $1, $2, $3, $4) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + $4 = $4 | 0; + var $7 = 0, $8 = 0, $17 = 0, $24 = 0, $39 = 0, $57 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0, wasm2js_f32$0 = Math_fround(0), wasm2js_i32$2 = 0, wasm2js_i32$3 = 0, wasm2js_i32$4 = 0; + $7 = __stack_pointer - 48 | 0; + __stack_pointer = $7; + HEAP32[($7 + 44 | 0) >> 2] = $0; + HEAP32[($7 + 40 | 0) >> 2] = $1; + HEAP32[($7 + 36 | 0) >> 2] = $2; + HEAP32[($7 + 32 | 0) >> 2] = $3; + HEAP32[($7 + 28 | 0) >> 2] = $4; + $8 = HEAP32[($7 + 44 | 0) >> 2] | 0; + CProfileSample__CProfileSample_28char_20const__29($7 + 27 | 0 | 0, 76822 | 0) | 0; + label$1 : { + label$2 : { + if (!((HEAPU8[($8 + 76 | 0) >> 0] | 0) & 1 | 0)) { + break label$2 + } + $17 = HEAP32[($7 + 36 | 0) >> 2] | 0; + break label$1; + } + $17 = HEAP32[($7 + 40 | 0) >> 2] | 0; + } + HEAP32[($7 + 20 | 0) >> 2] = $17; + label$3 : { + label$4 : { + if (!((HEAPU8[($8 + 76 | 0) >> 0] | 0) & 1 | 0)) { + break label$4 + } + $24 = HEAP32[($7 + 40 | 0) >> 2] | 0; + break label$3; + } + $24 = HEAP32[($7 + 36 | 0) >> 2] | 0; + } + HEAP32[($7 + 16 | 0) >> 2] = $24; + label$5 : { + if (!((btCollisionShape__isConcave_28_29_20const(btCollisionObjectWrapper__getCollisionShape_28_29_20const(HEAP32[($7 + 16 | 0) >> 2] | 0 | 0) | 0 | 0) | 0) & 1 | 0)) { + break label$5 + } + (wasm2js_i32$0 = $7, wasm2js_i32$1 = btCollisionObjectWrapper__getCollisionShape_28_29_20const(HEAP32[($7 + 16 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + label$6 : { + if (!((btCollisionShape__isConvex_28_29_20const(btCollisionObjectWrapper__getCollisionShape_28_29_20const(HEAP32[($7 + 20 | 0) >> 2] | 0 | 0) | 0 | 0) | 0) & 1 | 0)) { + break label$6 + } + $39 = HEAP32[($7 + 12 | 0) >> 2] | 0; + (wasm2js_i32$0 = $7, wasm2js_f32$0 = Math_fround(FUNCTION_TABLE[HEAP32[((HEAP32[$39 >> 2] | 0) + 48 | 0) >> 2] | 0 | 0]($39))), HEAPF32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_f32$0; + btManifoldResult__setPersistentManifold_28btPersistentManifold__29(HEAP32[($7 + 28 | 0) >> 2] | 0 | 0, HEAP32[($8 + 72 | 0) >> 2] | 0 | 0); + btConvexTriangleCallback__setTimeStepAndCounters_28float_2c_20btDispatcherInfo_20const__2c_20btCollisionObjectWrapper_20const__2c_20btCollisionObjectWrapper_20const__2c_20btManifoldResult__29($8 + 8 | 0 | 0, Math_fround(Math_fround(HEAPF32[($7 + 8 | 0) >> 2])), HEAP32[($7 + 32 | 0) >> 2] | 0 | 0, HEAP32[($7 + 20 | 0) >> 2] | 0 | 0, HEAP32[($7 + 16 | 0) >> 2] | 0 | 0, HEAP32[($7 + 28 | 0) >> 2] | 0 | 0); + btPersistentManifold__setBodies_28btCollisionObject_20const__2c_20btCollisionObject_20const__29(HEAP32[($8 + 72 | 0) >> 2] | 0 | 0, btCollisionObjectWrapper__getCollisionObject_28_29_20const(HEAP32[($7 + 20 | 0) >> 2] | 0 | 0) | 0 | 0, btCollisionObjectWrapper__getCollisionObject_28_29_20const(HEAP32[($7 + 16 | 0) >> 2] | 0 | 0) | 0 | 0); + $57 = HEAP32[($7 + 12 | 0) >> 2] | 0; + ((((wasm2js_i32$1 = $57, wasm2js_i32$2 = $8 + 8 | 0), wasm2js_i32$3 = btConvexTriangleCallback__getAabbMin_28_29_20const($8 + 8 | 0 | 0) | 0), wasm2js_i32$4 = btConvexTriangleCallback__getAabbMax_28_29_20const($8 + 8 | 0 | 0) | 0), wasm2js_i32$0 = HEAP32[((HEAP32[$57 >> 2] | 0) + 64 | 0) >> 2] | 0 | 0), FUNCTION_TABLE[wasm2js_i32$0](wasm2js_i32$1 | 0, wasm2js_i32$2 | 0, wasm2js_i32$3 | 0, wasm2js_i32$4 | 0); + btManifoldResult__refreshContactPoints_28_29(HEAP32[($7 + 28 | 0) >> 2] | 0 | 0); + btConvexTriangleCallback__clearWrapperData_28_29($8 + 8 | 0 | 0); + } + } + CProfileSample___CProfileSample_28_29($7 + 27 | 0 | 0) | 0; + __stack_pointer = $7 + 48 | 0; + return; + } + + function btPersistentManifold__setBodies_28btCollisionObject_20const__2c_20btCollisionObject_20const__29($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $5 = 0, $6 = 0; + $5 = __stack_pointer - 16 | 0; + HEAP32[($5 + 12 | 0) >> 2] = $0; + HEAP32[($5 + 8 | 0) >> 2] = $1; + HEAP32[($5 + 4 | 0) >> 2] = $2; + $6 = HEAP32[($5 + 12 | 0) >> 2] | 0; + HEAP32[($6 + 836 | 0) >> 2] = HEAP32[($5 + 8 | 0) >> 2] | 0; + HEAP32[($6 + 840 | 0) >> 2] = HEAP32[($5 + 4 | 0) >> 2] | 0; + return; + } + + function btConvexTriangleCallback__getAabbMin_28_29_20const($0) { + $0 = $0 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + return (HEAP32[($3 + 12 | 0) >> 2] | 0) + 4 | 0 | 0; + } + + function btConvexTriangleCallback__getAabbMax_28_29_20const($0) { + $0 = $0 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + return (HEAP32[($3 + 12 | 0) >> 2] | 0) + 20 | 0 | 0; + } + + function btConvexTriangleCallback__clearWrapperData_28_29($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + HEAP32[($4 + 36 | 0) >> 2] = 0; + HEAP32[($4 + 40 | 0) >> 2] = 0; + return; + } + + function btConvexConcaveCollisionAlgorithm__calculateTimeOfImpact_28btCollisionObject__2c_20btCollisionObject__2c_20btDispatcherInfo_20const__2c_20btManifoldResult__29($0, $1, $2, $3, $4) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + $4 = $4 | 0; + var $7 = 0, i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, i64toi32_i32$1 = 0, $112 = 0, $124 = 0, $8 = 0, $13 = 0, $20 = 0, $72 = 0, $73 = 0, $90 = 0, $91 = 0, $156 = 0, $347 = 0, $351 = 0, $382 = 0, $386 = 0, $183 = Math_fround(0), wasm2js_i32$0 = 0, wasm2js_f32$0 = Math_fround(0), wasm2js_i32$1 = 0; + $7 = __stack_pointer - 544 | 0; + __stack_pointer = $7; + HEAP32[($7 + 536 | 0) >> 2] = $0; + HEAP32[($7 + 532 | 0) >> 2] = $1; + HEAP32[($7 + 528 | 0) >> 2] = $2; + HEAP32[($7 + 524 | 0) >> 2] = $3; + HEAP32[($7 + 520 | 0) >> 2] = $4; + $8 = HEAP32[($7 + 536 | 0) >> 2] | 0; + label$1 : { + label$2 : { + if (!((HEAPU8[($8 + 76 | 0) >> 0] | 0) & 1 | 0)) { + break label$2 + } + $13 = HEAP32[($7 + 528 | 0) >> 2] | 0; + break label$1; + } + $13 = HEAP32[($7 + 532 | 0) >> 2] | 0; + } + HEAP32[($7 + 516 | 0) >> 2] = $13; + label$3 : { + label$4 : { + if (!((HEAPU8[($8 + 76 | 0) >> 0] | 0) & 1 | 0)) { + break label$4 + } + $20 = HEAP32[($7 + 532 | 0) >> 2] | 0; + break label$3; + } + $20 = HEAP32[($7 + 528 | 0) >> 2] | 0; + } + HEAP32[($7 + 512 | 0) >> 2] = $20; + operator__28btVector3_20const__2c_20btVector3_20const__29($7 + 492 | 0 | 0, btTransform__getOrigin_28_29(btCollisionObject__getInterpolationWorldTransform_28_29(HEAP32[($7 + 516 | 0) >> 2] | 0 | 0) | 0 | 0) | 0 | 0, btTransform__getOrigin_28_29(btCollisionObject__getWorldTransform_28_29(HEAP32[($7 + 516 | 0) >> 2] | 0 | 0) | 0 | 0) | 0 | 0); + (wasm2js_i32$0 = $7, wasm2js_f32$0 = Math_fround(btVector3__length2_28_29_20const($7 + 492 | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 508 | 0) >> 2] = wasm2js_f32$0; + label$5 : { + label$6 : { + if (!(Math_fround(HEAPF32[($7 + 508 | 0) >> 2]) < Math_fround(btCollisionObject__getCcdSquareMotionThreshold_28_29_20const(HEAP32[($7 + 516 | 0) >> 2] | 0 | 0)) & 1 | 0)) { + break label$6 + } + HEAPF32[($7 + 540 | 0) >> 2] = Math_fround(1.0); + break label$5; + } + btTransform__inverse_28_29_20const($7 + 428 | 0 | 0, btCollisionObject__getWorldTransform_28_29(HEAP32[($7 + 512 | 0) >> 2] | 0 | 0) | 0 | 0); + btTransform__operator__28btTransform_20const__29_20const($7 + 364 | 0 | 0, $7 + 428 | 0 | 0, btCollisionObject__getWorldTransform_28_29(HEAP32[($7 + 516 | 0) >> 2] | 0 | 0) | 0 | 0); + btTransform__operator__28btTransform_20const__29_20const($7 + 300 | 0 | 0, $7 + 428 | 0 | 0, btCollisionObject__getInterpolationWorldTransform_28_29(HEAP32[($7 + 516 | 0) >> 2] | 0 | 0) | 0 | 0); + label$7 : { + if (!((btCollisionShape__isConcave_28_29_20const(btCollisionObject__getCollisionShape_28_29(HEAP32[($7 + 512 | 0) >> 2] | 0 | 0) | 0 | 0) | 0) & 1 | 0)) { + break label$7 + } + $72 = btTransform__getOrigin_28_29($7 + 364 | 0 | 0) | 0; + $73 = 8; + i64toi32_i32$2 = $72 + $73 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $347 = i64toi32_i32$0; + i64toi32_i32$0 = ($7 + 280 | 0) + $73 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $347; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$2 = $72; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $351 = i64toi32_i32$1; + i64toi32_i32$1 = $7; + HEAP32[($7 + 280 | 0) >> 2] = $351; + HEAP32[($7 + 284 | 0) >> 2] = i64toi32_i32$0; + btVector3__setMin_28btVector3_20const__29($7 + 280 | 0 | 0, btTransform__getOrigin_28_29($7 + 300 | 0 | 0) | 0 | 0); + $90 = btTransform__getOrigin_28_29($7 + 364 | 0 | 0) | 0; + $91 = 8; + i64toi32_i32$2 = $90 + $91 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $382 = i64toi32_i32$0; + i64toi32_i32$0 = ($7 + 264 | 0) + $91 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $382; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$2 = $90; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $386 = i64toi32_i32$1; + i64toi32_i32$1 = $7; + HEAP32[($7 + 264 | 0) >> 2] = $386; + HEAP32[($7 + 268 | 0) >> 2] = i64toi32_i32$0; + btVector3__setMax_28btVector3_20const__29($7 + 264 | 0 | 0, btTransform__getOrigin_28_29($7 + 300 | 0 | 0) | 0 | 0); + (wasm2js_i32$0 = $7, wasm2js_f32$0 = Math_fround(btCollisionObject__getCcdSweptSphereRadius_28_29_20const(HEAP32[($7 + 516 | 0) >> 2] | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 260 | 0) >> 2] = wasm2js_f32$0; + $112 = $7 + 260 | 0; + btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($7 + 244 | 0 | 0, $112 | 0, $112 | 0, $112 | 0) | 0; + btVector3__operator___28btVector3_20const__29($7 + 280 | 0 | 0, $7 + 244 | 0 | 0) | 0; + $124 = $7 + 260 | 0; + btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($7 + 228 | 0 | 0, $124 | 0, $124 | 0, $124 | 0) | 0; + btVector3__operator___28btVector3_20const__29_1($7 + 264 | 0 | 0, $7 + 228 | 0 | 0) | 0; + HEAPF32[($7 + 224 | 0) >> 2] = Math_fround(1.0); + btConvexConcaveCollisionAlgorithm__calculateTimeOfImpact_28btCollisionObject__2c_20btCollisionObject__2c_20btDispatcherInfo_20const__2c_20btManifoldResult__29__LocalTriangleSphereCastCallback__LocalTriangleSphereCastCallback_28btTransform_20const__2c_20btTransform_20const__2c_20float_2c_20float_29($7 + 20 | 0 | 0, $7 + 364 | 0 | 0, $7 + 300 | 0 | 0, Math_fround(Math_fround(btCollisionObject__getCcdSweptSphereRadius_28_29_20const(HEAP32[($7 + 516 | 0) >> 2] | 0 | 0))), Math_fround(Math_fround(HEAPF32[($7 + 224 | 0) >> 2]))) | 0; + (wasm2js_i32$0 = $7, wasm2js_f32$0 = Math_fround(btCollisionObject__getHitFraction_28_29_20const(HEAP32[($7 + 516 | 0) >> 2] | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 220 | 0) >> 2] = wasm2js_f32$0; + HEAP32[($7 + 16 | 0) >> 2] = HEAP32[($7 + 512 | 0) >> 2] | 0; + (wasm2js_i32$0 = $7, wasm2js_i32$1 = btCollisionObject__getCollisionShape_28_29(HEAP32[($7 + 16 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + label$8 : { + if (!((HEAP32[($7 + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$8 + } + $156 = HEAP32[($7 + 12 | 0) >> 2] | 0; + FUNCTION_TABLE[HEAP32[((HEAP32[$156 >> 2] | 0) + 64 | 0) >> 2] | 0 | 0]($156, $7 + 20 | 0, $7 + 280 | 0, $7 + 264 | 0); + } + label$9 : { + label$10 : { + if (!(Math_fround(HEAPF32[($7 + 220 | 0) >> 2]) < Math_fround(btCollisionObject__getHitFraction_28_29_20const(HEAP32[($7 + 516 | 0) >> 2] | 0 | 0)) & 1 | 0)) { + break label$10 + } + btCollisionObject__setHitFraction_28float_29(HEAP32[($7 + 516 | 0) >> 2] | 0 | 0, Math_fround(Math_fround(HEAPF32[($7 + 220 | 0) >> 2]))); + HEAPF32[($7 + 540 | 0) >> 2] = Math_fround(HEAPF32[($7 + 220 | 0) >> 2]); + HEAP32[($7 + 8 | 0) >> 2] = 1; + break label$9; + } + HEAP32[($7 + 8 | 0) >> 2] = 0; + } + btConvexConcaveCollisionAlgorithm__calculateTimeOfImpact_28btCollisionObject__2c_20btCollisionObject__2c_20btDispatcherInfo_20const__2c_20btManifoldResult__29__LocalTriangleSphereCastCallback___LocalTriangleSphereCastCallback_28_29($7 + 20 | 0 | 0) | 0; + label$11 : { + switch (HEAP32[($7 + 8 | 0) >> 2] | 0 | 0) { + case 1: + break label$5; + default: + break label$11; + }; + } + } + HEAPF32[($7 + 540 | 0) >> 2] = Math_fround(1.0); + } + $183 = Math_fround(HEAPF32[($7 + 540 | 0) >> 2]); + __stack_pointer = $7 + 544 | 0; + return Math_fround($183); + } + + function btConvexConcaveCollisionAlgorithm__calculateTimeOfImpact_28btCollisionObject__2c_20btCollisionObject__2c_20btDispatcherInfo_20const__2c_20btManifoldResult__29__LocalTriangleSphereCastCallback__LocalTriangleSphereCastCallback_28btTransform_20const__2c_20btTransform_20const__2c_20float_2c_20float_29($0, $1, $2, $3, $4) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = Math_fround($3); + $4 = Math_fround($4); + var $7 = 0, $8 = 0; + $7 = __stack_pointer - 32 | 0; + __stack_pointer = $7; + HEAP32[($7 + 28 | 0) >> 2] = $0; + HEAP32[($7 + 24 | 0) >> 2] = $1; + HEAP32[($7 + 20 | 0) >> 2] = $2; + HEAPF32[($7 + 16 | 0) >> 2] = $3; + HEAPF32[($7 + 12 | 0) >> 2] = $4; + $8 = HEAP32[($7 + 28 | 0) >> 2] | 0; + btTriangleCallback__btTriangleCallback_28_29($8 | 0) | 0; + HEAP32[$8 >> 2] = 94588 + 8 | 0; + btTransform__btTransform_28btTransform_20const__29($8 + 4 | 0 | 0, HEAP32[($7 + 24 | 0) >> 2] | 0 | 0) | 0; + btTransform__btTransform_28btTransform_20const__29($8 + 68 | 0 | 0, HEAP32[($7 + 20 | 0) >> 2] | 0 | 0) | 0; + btTransform__btTransform_28_29($8 + 132 | 0 | 0) | 0; + HEAPF32[($8 + 196 | 0) >> 2] = Math_fround(HEAPF32[($7 + 16 | 0) >> 2]); + HEAPF32[($8 + 200 | 0) >> 2] = Math_fround(HEAPF32[($7 + 12 | 0) >> 2]); + __stack_pointer = $7 + 32 | 0; + return $8 | 0; + } + + function btConvexConcaveCollisionAlgorithm__calculateTimeOfImpact_28btCollisionObject__2c_20btCollisionObject__2c_20btDispatcherInfo_20const__2c_20btManifoldResult__29__LocalTriangleSphereCastCallback___LocalTriangleSphereCastCallback_28_29($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + btTriangleCallback___btTriangleCallback_28_29($4 | 0) | 0; + __stack_pointer = $3 + 16 | 0; + return $4 | 0; + } + + function btTriangleShape___btTriangleShape_28_29_1($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + btTriangleShape___btTriangleShape_28_29($4 | 0) | 0; + btTriangleShape__operator_20delete_28void__29($4 | 0); + __stack_pointer = $3 + 16 | 0; + return; + } + + function btTriangleShape__operator_20delete_28void__29($0) { + $0 = $0 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + btAlignedFreeInternal_28void__29(HEAP32[($3 + 12 | 0) >> 2] | 0 | 0); + __stack_pointer = $3 + 16 | 0; + return; + } + + function btTriangleShape__getAabb_28btTransform_20const__2c_20btVector3__2c_20btVector3__29_20const($0, $1, $2, $3) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + var $6 = 0, $7 = 0; + $6 = __stack_pointer - 16 | 0; + __stack_pointer = $6; + HEAP32[($6 + 12 | 0) >> 2] = $0; + HEAP32[($6 + 8 | 0) >> 2] = $1; + HEAP32[($6 + 4 | 0) >> 2] = $2; + HEAP32[$6 >> 2] = $3; + $7 = HEAP32[($6 + 12 | 0) >> 2] | 0; + FUNCTION_TABLE[HEAP32[((HEAP32[$7 >> 2] | 0) + 80 | 0) >> 2] | 0 | 0]($7, HEAP32[($6 + 8 | 0) >> 2] | 0, HEAP32[($6 + 4 | 0) >> 2] | 0, HEAP32[$6 >> 2] | 0); + __stack_pointer = $6 + 16 | 0; + return; + } + + function btConvexInternalShape__getLocalScaling_28_29_20const($0) { + $0 = $0 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + return (HEAP32[($3 + 12 | 0) >> 2] | 0) + 20 | 0 | 0; + } + + function btTriangleShape__calculateLocalInertia_28float_2c_20btVector3__29_20const($0, $1, $2) { + $0 = $0 | 0; + $1 = Math_fround($1); + $2 = $2 | 0; + var $5 = 0; + $5 = __stack_pointer - 16 | 0; + __stack_pointer = $5; + HEAP32[($5 + 12 | 0) >> 2] = $0; + HEAPF32[($5 + 8 | 0) >> 2] = $1; + HEAP32[($5 + 4 | 0) >> 2] = $2; + __assert_fail(86177 | 0, 79443 | 0, 127 | 0, 83783 | 0); + wasm2js_trap(); + } + + function btTriangleShape__getName_28_29_20const($0) { + $0 = $0 | 0; + HEAP32[((__stack_pointer - 16 | 0) + 12 | 0) >> 2] = $0; + return 81877 | 0; + } + + function btConvexInternalShape__getMargin_28_29_20const($0) { + $0 = $0 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + return Math_fround(Math_fround(HEAPF32[((HEAP32[($3 + 12 | 0) >> 2] | 0) + 52 | 0) >> 2])); + } + + function btConvexInternalShape__calculateSerializeBufferSize_28_29_20const($0) { + $0 = $0 | 0; + HEAP32[((__stack_pointer - 16 | 0) + 12 | 0) >> 2] = $0; + return 52 | 0; + } + + function btConvexInternalShape__serialize_28void__2c_20btSerializer__29_20const($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $5 = 0, $6 = 0; + $5 = __stack_pointer - 16 | 0; + __stack_pointer = $5; + HEAP32[($5 + 12 | 0) >> 2] = $0; + HEAP32[($5 + 8 | 0) >> 2] = $1; + HEAP32[($5 + 4 | 0) >> 2] = $2; + $6 = HEAP32[($5 + 12 | 0) >> 2] | 0; + HEAP32[$5 >> 2] = HEAP32[($5 + 8 | 0) >> 2] | 0; + btCollisionShape__serialize_28void__2c_20btSerializer__29_20const($6 | 0, HEAP32[$5 >> 2] | 0 | 0, HEAP32[($5 + 4 | 0) >> 2] | 0 | 0) | 0; + btVector3__serializeFloat_28btVector3FloatData__29_20const($6 + 36 | 0 | 0, (HEAP32[$5 >> 2] | 0) + 28 | 0 | 0); + btVector3__serializeFloat_28btVector3FloatData__29_20const($6 + 20 | 0 | 0, (HEAP32[$5 >> 2] | 0) + 12 | 0 | 0); + HEAPF32[((HEAP32[$5 >> 2] | 0) + 44 | 0) >> 2] = Math_fround(HEAPF32[($6 + 52 | 0) >> 2]); + HEAP32[((HEAP32[$5 >> 2] | 0) + 48 | 0) >> 2] = 0; + __stack_pointer = $5 + 16 | 0; + return 83475 | 0; + } + + function btVector3__serializeFloat_28btVector3FloatData__29_20const($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, $5 = 0; + $4 = __stack_pointer - 16 | 0; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; + HEAP32[($4 + 4 | 0) >> 2] = 0; + label$1 : { + label$2 : while (1) { + if (!((HEAP32[($4 + 4 | 0) >> 2] | 0 | 0) < (4 | 0) & 1 | 0)) { + break label$1 + } + HEAPF32[((HEAP32[($4 + 8 | 0) >> 2] | 0) + ((HEAP32[($4 + 4 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = Math_fround(HEAPF32[($5 + ((HEAP32[($4 + 4 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2]); + HEAP32[($4 + 4 | 0) >> 2] = (HEAP32[($4 + 4 | 0) >> 2] | 0) + 1 | 0; + continue label$2; + }; + } + return; + } + + function btTriangleShape__localGetSupportingVertexWithoutMargin_28btVector3_20const__29_20const($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $5 = 0, i64toi32_i32$2 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $6 = 0, $31 = 0, $92 = 0, $102 = 0; + $5 = __stack_pointer - 32 | 0; + __stack_pointer = $5; + HEAP32[($5 + 28 | 0) >> 2] = $1; + HEAP32[($5 + 24 | 0) >> 2] = $2; + $6 = HEAP32[($5 + 28 | 0) >> 2] | 0; + btVector3__dot3_28btVector3_20const__2c_20btVector3_20const__2c_20btVector3_20const__29_20const($5 + 8 | 0 | 0, HEAP32[($5 + 24 | 0) >> 2] | 0 | 0, $6 + 64 | 0 | 0, ($6 + 64 | 0) + 16 | 0 | 0, ($6 + 64 | 0) + 32 | 0 | 0); + i64toi32_i32$2 = ($6 + 64 | 0) + ((btVector3__maxAxis_28_29_20const($5 + 8 | 0 | 0) | 0) << 4 | 0) | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $92 = i64toi32_i32$0; + i64toi32_i32$0 = $0; + HEAP32[i64toi32_i32$0 >> 2] = $92; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $31 = 8; + i64toi32_i32$2 = i64toi32_i32$2 + $31 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $102 = i64toi32_i32$1; + i64toi32_i32$1 = $0 + $31 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $102; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + __stack_pointer = $5 + 32 | 0; + return; + } + + function btVector3__maxAxis_28_29_20const($0) { + $0 = $0 | 0; + var $4 = 0, $3 = 0, $18 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + label$1 : { + label$2 : { + if (!(Math_fround(HEAPF32[$4 >> 2]) < Math_fround(HEAPF32[($4 + 4 | 0) >> 2]) & 1 | 0)) { + break label$2 + } + $18 = Math_fround(HEAPF32[($4 + 4 | 0) >> 2]) < Math_fround(HEAPF32[($4 + 8 | 0) >> 2]) & 1 | 0 ? 2 : 1; + break label$1; + } + $18 = Math_fround(HEAPF32[$4 >> 2]) < Math_fround(HEAPF32[($4 + 8 | 0) >> 2]) & 1 | 0 ? 2 : 0; + } + return $18 | 0; + } + + function btTriangleShape__batchedUnitVectorGetSupportingVertexWithoutMargin_28btVector3_20const__2c_20btVector3__2c_20int_29_20const($0, $1, $2, $3) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + var $6 = 0, i64toi32_i32$2 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $7 = 0, $48 = 0, $50 = 0, $43 = 0, $156 = 0, $166 = 0; + $6 = __stack_pointer - 48 | 0; + __stack_pointer = $6; + HEAP32[($6 + 44 | 0) >> 2] = $0; + HEAP32[($6 + 40 | 0) >> 2] = $1; + HEAP32[($6 + 36 | 0) >> 2] = $2; + HEAP32[($6 + 32 | 0) >> 2] = $3; + $7 = HEAP32[($6 + 44 | 0) >> 2] | 0; + HEAP32[($6 + 28 | 0) >> 2] = 0; + label$1 : { + label$2 : while (1) { + if (!((HEAP32[($6 + 28 | 0) >> 2] | 0 | 0) < (HEAP32[($6 + 32 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$1 + } + HEAP32[($6 + 24 | 0) >> 2] = (HEAP32[($6 + 40 | 0) >> 2] | 0) + ((HEAP32[($6 + 28 | 0) >> 2] | 0) << 4 | 0) | 0; + btVector3__dot3_28btVector3_20const__2c_20btVector3_20const__2c_20btVector3_20const__29_20const($6 + 8 | 0 | 0, HEAP32[($6 + 24 | 0) >> 2] | 0 | 0, $7 + 64 | 0 | 0, ($7 + 64 | 0) + 16 | 0 | 0, ($7 + 64 | 0) + 32 | 0 | 0); + $43 = ($7 + 64 | 0) + ((btVector3__maxAxis_28_29_20const($6 + 8 | 0 | 0) | 0) << 4 | 0) | 0; + $48 = (HEAP32[($6 + 36 | 0) >> 2] | 0) + ((HEAP32[($6 + 28 | 0) >> 2] | 0) << 4 | 0) | 0; + i64toi32_i32$2 = $43; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $156 = i64toi32_i32$0; + i64toi32_i32$0 = $48; + HEAP32[i64toi32_i32$0 >> 2] = $156; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $50 = 8; + i64toi32_i32$2 = i64toi32_i32$2 + $50 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $166 = i64toi32_i32$1; + i64toi32_i32$1 = $48 + $50 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $166; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($6 + 28 | 0) >> 2] = (HEAP32[($6 + 28 | 0) >> 2] | 0) + 1 | 0; + continue label$2; + }; + } + __stack_pointer = $6 + 48 | 0; + return; + } + + function btTriangleShape__getNumPreferredPenetrationDirections_28_29_20const($0) { + $0 = $0 | 0; + HEAP32[((__stack_pointer - 16 | 0) + 12 | 0) >> 2] = $0; + return 2 | 0; + } + + function btTriangleShape__getPreferredPenetrationDirection_28int_2c_20btVector3__29_20const($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $5 = 0; + $5 = __stack_pointer - 16 | 0; + __stack_pointer = $5; + HEAP32[($5 + 12 | 0) >> 2] = $0; + HEAP32[($5 + 8 | 0) >> 2] = $1; + HEAP32[($5 + 4 | 0) >> 2] = $2; + btTriangleShape__calcNormal_28btVector3__29_20const(HEAP32[($5 + 12 | 0) >> 2] | 0 | 0, HEAP32[($5 + 4 | 0) >> 2] | 0 | 0); + label$1 : { + if (!(HEAP32[($5 + 8 | 0) >> 2] | 0)) { + break label$1 + } + HEAPF32[$5 >> 2] = Math_fround(-1.0); + btVector3__operator___28float_20const__29_1(HEAP32[($5 + 4 | 0) >> 2] | 0 | 0, $5 | 0) | 0; + } + __stack_pointer = $5 + 16 | 0; + return; + } + + function btTriangleShape__calcNormal_28btVector3__29_20const($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $5 = 0, i64toi32_i32$2 = 0, $33 = 0, $35 = 0, $107 = 0, $120 = 0; + $4 = __stack_pointer - 64 | 0; + __stack_pointer = $4; + HEAP32[($4 + 60 | 0) >> 2] = $0; + HEAP32[($4 + 56 | 0) >> 2] = $1; + $5 = HEAP32[($4 + 60 | 0) >> 2] | 0; + operator__28btVector3_20const__2c_20btVector3_20const__29($4 + 24 | 0 | 0, ($5 + 64 | 0) + 16 | 0 | 0, $5 + 64 | 0 | 0); + operator__28btVector3_20const__2c_20btVector3_20const__29($4 + 8 | 0 | 0, ($5 + 64 | 0) + 32 | 0 | 0, $5 + 64 | 0 | 0); + btVector3__cross_28btVector3_20const__29_20const($4 + 40 | 0 | 0, $4 + 24 | 0 | 0, $4 + 8 | 0 | 0); + $33 = HEAP32[($4 + 56 | 0) >> 2] | 0; + i64toi32_i32$2 = $4; + i64toi32_i32$0 = HEAP32[($4 + 40 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($4 + 44 | 0) >> 2] | 0; + $107 = i64toi32_i32$0; + i64toi32_i32$0 = $33; + HEAP32[i64toi32_i32$0 >> 2] = $107; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $35 = 8; + i64toi32_i32$2 = ($4 + 40 | 0) + $35 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $120 = i64toi32_i32$1; + i64toi32_i32$1 = $33 + $35 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $120; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + btVector3__normalize_28_29(HEAP32[($4 + 56 | 0) >> 2] | 0 | 0) | 0; + __stack_pointer = $4 + 64 | 0; + return; + } + + function btTriangleShape__getNumVertices_28_29_20const($0) { + $0 = $0 | 0; + HEAP32[((__stack_pointer - 16 | 0) + 12 | 0) >> 2] = $0; + return 3 | 0; + } + + function btTriangleShape__getNumEdges_28_29_20const($0) { + $0 = $0 | 0; + HEAP32[((__stack_pointer - 16 | 0) + 12 | 0) >> 2] = $0; + return 3 | 0; + } + + function btTriangleShape__getEdge_28int_2c_20btVector3__2c_20btVector3__29_20const($0, $1, $2, $3) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + var $6 = 0, $7 = 0; + $6 = __stack_pointer - 16 | 0; + __stack_pointer = $6; + HEAP32[($6 + 12 | 0) >> 2] = $0; + HEAP32[($6 + 8 | 0) >> 2] = $1; + HEAP32[($6 + 4 | 0) >> 2] = $2; + HEAP32[$6 >> 2] = $3; + $7 = HEAP32[($6 + 12 | 0) >> 2] | 0; + FUNCTION_TABLE[HEAP32[((HEAP32[$7 >> 2] | 0) + 108 | 0) >> 2] | 0 | 0]($7, HEAP32[($6 + 8 | 0) >> 2] | 0, HEAP32[($6 + 4 | 0) >> 2] | 0); + FUNCTION_TABLE[HEAP32[((HEAP32[$7 >> 2] | 0) + 108 | 0) >> 2] | 0 | 0]($7, ((HEAP32[($6 + 8 | 0) >> 2] | 0) + 1 | 0 | 0) % (3 | 0) | 0, HEAP32[$6 >> 2] | 0); + __stack_pointer = $6 + 16 | 0; + return; + } + + function btTriangleShape__getVertex_28int_2c_20btVector3__29_20const($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $5 = 0, i64toi32_i32$2 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $13 = 0, $15 = 0, $47 = 0, $57 = 0; + $5 = __stack_pointer - 16 | 0; + HEAP32[($5 + 12 | 0) >> 2] = $0; + HEAP32[($5 + 8 | 0) >> 2] = $1; + HEAP32[($5 + 4 | 0) >> 2] = $2; + $13 = HEAP32[($5 + 4 | 0) >> 2] | 0; + i64toi32_i32$2 = ((HEAP32[($5 + 12 | 0) >> 2] | 0) + 64 | 0) + ((HEAP32[($5 + 8 | 0) >> 2] | 0) << 4 | 0) | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $47 = i64toi32_i32$0; + i64toi32_i32$0 = $13; + HEAP32[i64toi32_i32$0 >> 2] = $47; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $15 = 8; + i64toi32_i32$2 = i64toi32_i32$2 + $15 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $57 = i64toi32_i32$1; + i64toi32_i32$1 = $13 + $15 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $57; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + return; + } + + function btTriangleShape__getNumPlanes_28_29_20const($0) { + $0 = $0 | 0; + HEAP32[((__stack_pointer - 16 | 0) + 12 | 0) >> 2] = $0; + return 1 | 0; + } + + function btTriangleShape__getPlane_28btVector3__2c_20btVector3__2c_20int_29_20const($0, $1, $2, $3) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + var $6 = 0, $7 = 0; + $6 = __stack_pointer - 16 | 0; + __stack_pointer = $6; + HEAP32[($6 + 12 | 0) >> 2] = $0; + HEAP32[($6 + 8 | 0) >> 2] = $1; + HEAP32[($6 + 4 | 0) >> 2] = $2; + HEAP32[$6 >> 2] = $3; + $7 = HEAP32[($6 + 12 | 0) >> 2] | 0; + FUNCTION_TABLE[HEAP32[((HEAP32[$7 >> 2] | 0) + 124 | 0) >> 2] | 0 | 0]($7, HEAP32[$6 >> 2] | 0, HEAP32[($6 + 8 | 0) >> 2] | 0, HEAP32[($6 + 4 | 0) >> 2] | 0); + __stack_pointer = $6 + 16 | 0; + return; + } + + function btTriangleShape__isInside_28btVector3_20const__2c_20float_29_20const($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = Math_fround($2); + var $5 = 0, $6 = 0, $117 = 0, wasm2js_i32$0 = 0, wasm2js_f32$0 = Math_fround(0); + $5 = __stack_pointer - 128 | 0; + __stack_pointer = $5; + HEAP32[($5 + 120 | 0) >> 2] = $0; + HEAP32[($5 + 116 | 0) >> 2] = $1; + HEAPF32[($5 + 112 | 0) >> 2] = $2; + $6 = HEAP32[($5 + 120 | 0) >> 2] | 0; + btVector3__btVector3_28_29($5 + 96 | 0 | 0) | 0; + btTriangleShape__calcNormal_28btVector3__29_20const($6 | 0, $5 + 96 | 0 | 0); + (wasm2js_i32$0 = $5, wasm2js_f32$0 = Math_fround(btVector3__dot_28btVector3_20const__29_20const(HEAP32[($5 + 116 | 0) >> 2] | 0 | 0, $5 + 96 | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 92 | 0) >> 2] = wasm2js_f32$0; + (wasm2js_i32$0 = $5, wasm2js_f32$0 = Math_fround(btVector3__dot_28btVector3_20const__29_20const($6 + 64 | 0 | 0, $5 + 96 | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 88 | 0) >> 2] = wasm2js_f32$0; + HEAPF32[($5 + 92 | 0) >> 2] = Math_fround(Math_fround(HEAPF32[($5 + 92 | 0) >> 2]) - Math_fround(HEAPF32[($5 + 88 | 0) >> 2])); + label$1 : { + label$2 : { + if (!(Math_fround(HEAPF32[($5 + 92 | 0) >> 2]) >= Math_fround(-Math_fround(HEAPF32[($5 + 112 | 0) >> 2])) & 1 | 0)) { + break label$2 + } + if (!(Math_fround(HEAPF32[($5 + 92 | 0) >> 2]) <= Math_fround(HEAPF32[($5 + 112 | 0) >> 2]) & 1 | 0)) { + break label$2 + } + HEAP32[($5 + 84 | 0) >> 2] = 0; + label$3 : { + label$4 : while (1) { + if (!((HEAP32[($5 + 84 | 0) >> 2] | 0 | 0) < (3 | 0) & 1 | 0)) { + break label$3 + } + btVector3__btVector3_28_29($5 + 68 | 0 | 0) | 0; + btVector3__btVector3_28_29($5 + 52 | 0 | 0) | 0; + FUNCTION_TABLE[HEAP32[((HEAP32[$6 >> 2] | 0) + 104 | 0) >> 2] | 0 | 0]($6, HEAP32[($5 + 84 | 0) >> 2] | 0, $5 + 68 | 0, $5 + 52 | 0); + operator__28btVector3_20const__2c_20btVector3_20const__29($5 + 36 | 0 | 0, $5 + 52 | 0 | 0, $5 + 68 | 0 | 0); + btVector3__cross_28btVector3_20const__29_20const($5 + 20 | 0 | 0, $5 + 36 | 0 | 0, $5 + 96 | 0 | 0); + btVector3__normalize_28_29($5 + 20 | 0 | 0) | 0; + (wasm2js_i32$0 = $5, wasm2js_f32$0 = Math_fround(btVector3__dot_28btVector3_20const__29_20const(HEAP32[($5 + 116 | 0) >> 2] | 0 | 0, $5 + 20 | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_f32$0; + (wasm2js_i32$0 = $5, wasm2js_f32$0 = Math_fround(btVector3__dot_28btVector3_20const__29_20const($5 + 68 | 0 | 0, $5 + 20 | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_f32$0; + HEAPF32[($5 + 16 | 0) >> 2] = Math_fround(Math_fround(HEAPF32[($5 + 16 | 0) >> 2]) - Math_fround(HEAPF32[($5 + 12 | 0) >> 2])); + label$5 : { + if (!(Math_fround(HEAPF32[($5 + 16 | 0) >> 2]) < Math_fround(-Math_fround(HEAPF32[($5 + 112 | 0) >> 2])) & 1 | 0)) { + break label$5 + } + HEAP8[($5 + 127 | 0) >> 0] = 0 & 1 | 0; + break label$1; + } + HEAP32[($5 + 84 | 0) >> 2] = (HEAP32[($5 + 84 | 0) >> 2] | 0) + 1 | 0; + continue label$4; + }; + } + HEAP8[($5 + 127 | 0) >> 0] = 1 & 1 | 0; + break label$1; + } + HEAP8[($5 + 127 | 0) >> 0] = 0 & 1 | 0; + } + $117 = (HEAPU8[($5 + 127 | 0) >> 0] | 0) & 1 | 0; + __stack_pointer = $5 + 128 | 0; + return $117 | 0; + } + + function btTriangleShape__getPlaneEquation_28int_2c_20btVector3__2c_20btVector3__29_20const($0, $1, $2, $3) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + var $6 = 0, i64toi32_i32$2 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $7 = 0, $11 = 0, $13 = 0, $46 = 0, $56 = 0; + $6 = __stack_pointer - 16 | 0; + __stack_pointer = $6; + HEAP32[($6 + 12 | 0) >> 2] = $0; + HEAP32[($6 + 8 | 0) >> 2] = $1; + HEAP32[($6 + 4 | 0) >> 2] = $2; + HEAP32[$6 >> 2] = $3; + $7 = HEAP32[($6 + 12 | 0) >> 2] | 0; + btTriangleShape__calcNormal_28btVector3__29_20const($7 | 0, HEAP32[($6 + 4 | 0) >> 2] | 0 | 0); + $11 = HEAP32[$6 >> 2] | 0; + i64toi32_i32$2 = $7 + 64 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $46 = i64toi32_i32$0; + i64toi32_i32$0 = $11; + HEAP32[i64toi32_i32$0 >> 2] = $46; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $13 = 8; + i64toi32_i32$2 = i64toi32_i32$2 + $13 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $56 = i64toi32_i32$1; + i64toi32_i32$1 = $11 + $13 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $56; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + __stack_pointer = $6 + 16 | 0; + return; + } + + function btConvexConcaveCollisionAlgorithm__calculateTimeOfImpact_28btCollisionObject__2c_20btCollisionObject__2c_20btDispatcherInfo_20const__2c_20btManifoldResult__29__LocalTriangleSphereCastCallback___LocalTriangleSphereCastCallback_28_29_1($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + btConvexConcaveCollisionAlgorithm__calculateTimeOfImpact_28btCollisionObject__2c_20btCollisionObject__2c_20btDispatcherInfo_20const__2c_20btManifoldResult__29__LocalTriangleSphereCastCallback___LocalTriangleSphereCastCallback_28_29($4 | 0) | 0; + operator_20delete_28void__29($4 | 0); + __stack_pointer = $3 + 16 | 0; + return; + } + + function btConvexConcaveCollisionAlgorithm__calculateTimeOfImpact_28btCollisionObject__2c_20btCollisionObject__2c_20btDispatcherInfo_20const__2c_20btManifoldResult__29__LocalTriangleSphereCastCallback__processTriangle_28btVector3__2c_20int_2c_20int_29($0, $1, $2, $3) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + var $6 = 0, $7 = 0, $60 = 0; + $6 = __stack_pointer - 816 | 0; + __stack_pointer = $6; + HEAP32[($6 + 812 | 0) >> 2] = $0; + HEAP32[($6 + 808 | 0) >> 2] = $1; + HEAP32[($6 + 804 | 0) >> 2] = $2; + HEAP32[($6 + 800 | 0) >> 2] = $3; + $7 = HEAP32[($6 + 812 | 0) >> 2] | 0; + CProfileSample__CProfileSample_28char_20const__29($6 + 799 | 0 | 0, 81845 | 0) | 0; + btTransform__btTransform_28_29($6 + 732 | 0 | 0) | 0; + btTransform__setIdentity_28_29($6 + 732 | 0 | 0); + btConvexCast__CastResult__CastResult_28_29($6 + 556 | 0 | 0) | 0; + HEAPF32[($6 + 720 | 0) >> 2] = Math_fround(HEAPF32[($7 + 200 | 0) >> 2]); + btSphereShape__btSphereShape_28float_29($6 + 496 | 0 | 0, Math_fround(Math_fround(HEAPF32[($7 + 196 | 0) >> 2]))) | 0; + btTriangleShape__btTriangleShape_28btVector3_20const__2c_20btVector3_20const__2c_20btVector3_20const__29($6 + 384 | 0 | 0, HEAP32[($6 + 808 | 0) >> 2] | 0 | 0, (HEAP32[($6 + 808 | 0) >> 2] | 0) + 16 | 0 | 0, (HEAP32[($6 + 808 | 0) >> 2] | 0) + 32 | 0 | 0) | 0; + btVoronoiSimplexSolver__btVoronoiSimplexSolver_28_29($6 + 24 | 0 | 0) | 0; + btSubsimplexConvexCast__btSubsimplexConvexCast_28btConvexShape_20const__2c_20btConvexShape_20const__2c_20btVoronoiSimplexSolver__29($6 + 8 | 0 | 0, $6 + 496 | 0 | 0, $6 + 384 | 0 | 0, $6 + 24 | 0 | 0) | 0; + $60 = $6 + 732 | 0; + label$1 : { + if (!((btSubsimplexConvexCast__calcTimeOfImpact_28btTransform_20const__2c_20btTransform_20const__2c_20btTransform_20const__2c_20btTransform_20const__2c_20btConvexCast__CastResult__29($6 + 8 | 0 | 0, $7 + 4 | 0 | 0, $7 + 68 | 0 | 0, $60 | 0, $60 | 0, $6 + 556 | 0 | 0) | 0) & 1 | 0)) { + break label$1 + } + label$2 : { + if (!(Math_fround(HEAPF32[($7 + 200 | 0) >> 2]) > Math_fround(HEAPF32[($6 + 720 | 0) >> 2]) & 1 | 0)) { + break label$2 + } + HEAPF32[($7 + 200 | 0) >> 2] = Math_fround(HEAPF32[($6 + 720 | 0) >> 2]); + } + } + btSubsimplexConvexCast___btSubsimplexConvexCast_28_29($6 + 8 | 0 | 0) | 0; + btTriangleShape___btTriangleShape_28_29($6 + 384 | 0 | 0) | 0; + btSphereShape___btSphereShape_28_29($6 + 496 | 0 | 0) | 0; + btConvexCast__CastResult___CastResult_28_29($6 + 556 | 0 | 0) | 0; + CProfileSample___CProfileSample_28_29($6 + 799 | 0 | 0) | 0; + __stack_pointer = $6 + 816 | 0; + return; + } + + function _GLOBAL__sub_I_btConvexConcaveCollisionAlgorithm_cpp() { + __cxx_global_var_init_15(); + return; + } + + function __cxx_global_var_init_16() { + btInfMaskConverter__btInfMaskConverter_28int_29(114004 | 0, 2139095040 | 0) | 0; + return; + } + + function btCompoundCollisionAlgorithm__btCompoundCollisionAlgorithm_28btCollisionAlgorithmConstructionInfo_20const__2c_20btCollisionObjectWrapper_20const__2c_20btCollisionObjectWrapper_20const__2c_20bool_29($0, $1, $2, $3, $4) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + $4 = $4 | 0; + var $7 = 0, $9 = 0, $32 = 0, $50 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $7 = __stack_pointer - 32 | 0; + __stack_pointer = $7; + HEAP32[($7 + 24 | 0) >> 2] = $0; + HEAP32[($7 + 20 | 0) >> 2] = $1; + HEAP32[($7 + 16 | 0) >> 2] = $2; + HEAP32[($7 + 12 | 0) >> 2] = $3; + HEAP8[($7 + 11 | 0) >> 0] = $4; + $9 = HEAP32[($7 + 24 | 0) >> 2] | 0; + HEAP32[($7 + 28 | 0) >> 2] = $9; + btActivatingCollisionAlgorithm__btActivatingCollisionAlgorithm_28btCollisionAlgorithmConstructionInfo_20const__2c_20btCollisionObjectWrapper_20const__2c_20btCollisionObjectWrapper_20const__29($9 | 0, HEAP32[($7 + 20 | 0) >> 2] | 0 | 0, HEAP32[($7 + 16 | 0) >> 2] | 0 | 0, HEAP32[($7 + 12 | 0) >> 2] | 0 | 0) | 0; + HEAP32[$9 >> 2] = 94780 + 8 | 0; + btAlignedObjectArray_btDbvtNode_20const____btAlignedObjectArray_28_29($9 + 8 | 0 | 0) | 0; + btAlignedObjectArray_btPersistentManifold____btAlignedObjectArray_28_29($9 + 28 | 0 | 0) | 0; + btAlignedObjectArray_btCollisionAlgorithm____btAlignedObjectArray_28_29($9 + 48 | 0 | 0) | 0; + HEAP8[($9 + 68 | 0) >> 0] = (HEAPU8[($7 + 11 | 0) >> 0] | 0) & 1 | 0; + HEAP32[($9 + 72 | 0) >> 2] = HEAP32[((HEAP32[($7 + 20 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + HEAP8[($9 + 76 | 0) >> 0] = 0; + label$1 : { + label$2 : { + if (!((HEAPU8[($9 + 68 | 0) >> 0] | 0) & 1 | 0)) { + break label$2 + } + $32 = HEAP32[($7 + 12 | 0) >> 2] | 0; + break label$1; + } + $32 = HEAP32[($7 + 16 | 0) >> 2] | 0; + } + HEAP32[($7 + 4 | 0) >> 2] = $32; + label$3 : { + if ((btCollisionShape__isCompound_28_29_20const(btCollisionObjectWrapper__getCollisionShape_28_29_20const(HEAP32[($7 + 4 | 0) >> 2] | 0 | 0) | 0 | 0) | 0) & 1 | 0) { + break label$3 + } + __assert_fail(87719 | 0, 73354 | 0, 36 | 0, 77182 | 0); + wasm2js_trap(); + } + (wasm2js_i32$0 = $7, wasm2js_i32$1 = btCollisionObjectWrapper__getCollisionShape_28_29_20const(HEAP32[($7 + 4 | 0) >> 2] | 0 | 0) | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $9, wasm2js_i32$1 = btCompoundShape__getUpdateRevision_28_29_20const(HEAP32[$7 >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 80 | 0) >> 2] = wasm2js_i32$1; + btCompoundCollisionAlgorithm__preallocateChildAlgorithms_28btCollisionObjectWrapper_20const__2c_20btCollisionObjectWrapper_20const__29($9 | 0, HEAP32[($7 + 16 | 0) >> 2] | 0 | 0, HEAP32[($7 + 12 | 0) >> 2] | 0 | 0); + $50 = HEAP32[($7 + 28 | 0) >> 2] | 0; + __stack_pointer = $7 + 32 | 0; + return $50 | 0; + } + + function btAlignedObjectArray_btCollisionAlgorithm____btAlignedObjectArray_28_29($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + btAlignedAllocator_btCollisionAlgorithm__2c_2016u___btAlignedAllocator_28_29($4 | 0) | 0; + btAlignedObjectArray_btCollisionAlgorithm____init_28_29($4 | 0); + __stack_pointer = $3 + 16 | 0; + return $4 | 0; + } + + function btCompoundShape__getUpdateRevision_28_29_20const($0) { + $0 = $0 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + return HEAP32[((HEAP32[($3 + 12 | 0) >> 2] | 0) + 76 | 0) >> 2] | 0 | 0; + } + + function btCompoundCollisionAlgorithm__preallocateChildAlgorithms_28btCollisionObjectWrapper_20const__2c_20btCollisionObjectWrapper_20const__29($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $5 = 0, $6 = 0, $11 = 0, $18 = 0, $76 = 0, $36 = 0, $85 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5 = __stack_pointer - 112 | 0; + __stack_pointer = $5; + HEAP32[($5 + 108 | 0) >> 2] = $0; + HEAP32[($5 + 104 | 0) >> 2] = $1; + HEAP32[($5 + 100 | 0) >> 2] = $2; + $6 = HEAP32[($5 + 108 | 0) >> 2] | 0; + label$1 : { + label$2 : { + if (!((HEAPU8[($6 + 68 | 0) >> 0] | 0) & 1 | 0)) { + break label$2 + } + $11 = HEAP32[($5 + 100 | 0) >> 2] | 0; + break label$1; + } + $11 = HEAP32[($5 + 104 | 0) >> 2] | 0; + } + HEAP32[($5 + 96 | 0) >> 2] = $11; + label$3 : { + label$4 : { + if (!((HEAPU8[($6 + 68 | 0) >> 0] | 0) & 1 | 0)) { + break label$4 + } + $18 = HEAP32[($5 + 104 | 0) >> 2] | 0; + break label$3; + } + $18 = HEAP32[($5 + 100 | 0) >> 2] | 0; + } + HEAP32[($5 + 92 | 0) >> 2] = $18; + label$5 : { + if ((btCollisionShape__isCompound_28_29_20const(btCollisionObjectWrapper__getCollisionShape_28_29_20const(HEAP32[($5 + 96 | 0) >> 2] | 0 | 0) | 0 | 0) | 0) & 1 | 0) { + break label$5 + } + __assert_fail(87719 | 0, 73354 | 0, 49 | 0, 69793 | 0); + wasm2js_trap(); + } + (wasm2js_i32$0 = $5, wasm2js_i32$1 = btCollisionObjectWrapper__getCollisionShape_28_29_20const(HEAP32[($5 + 96 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 88 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $5, wasm2js_i32$1 = btCompoundShape__getNumChildShapes_28_29_20const(HEAP32[($5 + 88 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 84 | 0) >> 2] = wasm2js_i32$1; + $36 = HEAP32[($5 + 84 | 0) >> 2] | 0; + HEAP32[($5 + 76 | 0) >> 2] = 0; + btAlignedObjectArray_btCollisionAlgorithm____resize_28int_2c_20btCollisionAlgorithm__20const__29($6 + 48 | 0 | 0, $36 | 0, $5 + 76 | 0 | 0); + HEAP32[($5 + 80 | 0) >> 2] = 0; + label$6 : { + label$7 : while (1) { + if (!((HEAP32[($5 + 80 | 0) >> 2] | 0 | 0) < (HEAP32[($5 + 84 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$6 + } + label$8 : { + label$9 : { + if (!((btCompoundShape__getDynamicAabbTree_28_29_20const(HEAP32[($5 + 88 | 0) >> 2] | 0 | 0) | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$9 + } + (wasm2js_i32$0 = btAlignedObjectArray_btCollisionAlgorithm____operator_5b_5d_28int_29($6 + 48 | 0 | 0, HEAP32[($5 + 80 | 0) >> 2] | 0 | 0) | 0, wasm2js_i32$1 = 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + break label$8; + } + (wasm2js_i32$0 = $5, wasm2js_i32$1 = btCompoundShape__getChildShape_28int_29_20const(HEAP32[($5 + 88 | 0) >> 2] | 0 | 0, HEAP32[($5 + 80 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 72 | 0) >> 2] = wasm2js_i32$1; + btCollisionObjectWrapper__btCollisionObjectWrapper_28btCollisionObjectWrapper_20const__2c_20btCollisionShape_20const__2c_20btCollisionObject_20const__2c_20btTransform_20const__2c_20int_2c_20int_29($5 + 48 | 0 | 0, HEAP32[($5 + 96 | 0) >> 2] | 0 | 0, HEAP32[($5 + 72 | 0) >> 2] | 0 | 0, btCollisionObjectWrapper__getCollisionObject_28_29_20const(HEAP32[($5 + 96 | 0) >> 2] | 0 | 0) | 0 | 0, btCollisionObjectWrapper__getWorldTransform_28_29_20const(HEAP32[($5 + 96 | 0) >> 2] | 0 | 0) | 0 | 0, -1 | 0, HEAP32[($5 + 80 | 0) >> 2] | 0 | 0) | 0; + $76 = HEAP32[($6 + 4 | 0) >> 2] | 0; + $85 = FUNCTION_TABLE[HEAP32[((HEAP32[$76 >> 2] | 0) + 8 | 0) >> 2] | 0 | 0]($76, $5 + 48 | 0, HEAP32[($5 + 92 | 0) >> 2] | 0, HEAP32[($6 + 72 | 0) >> 2] | 0, 1) | 0; + (wasm2js_i32$0 = btAlignedObjectArray_btCollisionAlgorithm____operator_5b_5d_28int_29($6 + 48 | 0 | 0, HEAP32[($5 + 80 | 0) >> 2] | 0 | 0) | 0, wasm2js_i32$1 = $85), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + btAlignedObjectArray_btCollisionAlgorithm____btAlignedObjectArray_28_29($5 + 28 | 0 | 0) | 0; + btAlignedObjectArray_btCollisionAlgorithm____btAlignedObjectArray_28_29($5 + 8 | 0 | 0) | 0; + btAlignedObjectArray_btCollisionAlgorithm_____btAlignedObjectArray_28_29($5 + 8 | 0 | 0) | 0; + btAlignedObjectArray_btCollisionAlgorithm_____btAlignedObjectArray_28_29($5 + 28 | 0 | 0) | 0; + } + HEAP32[($5 + 80 | 0) >> 2] = (HEAP32[($5 + 80 | 0) >> 2] | 0) + 1 | 0; + continue label$7; + }; + } + __stack_pointer = $5 + 112 | 0; + return; + } + + function btAlignedAllocator_btCollisionAlgorithm__2c_2016u___btAlignedAllocator_28_29($0) { + $0 = $0 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + return HEAP32[($3 + 12 | 0) >> 2] | 0 | 0; + } + + function btAlignedObjectArray_btCollisionAlgorithm____init_28_29($0) { + $0 = $0 | 0; + var $4 = 0, $3 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + HEAP8[($4 + 16 | 0) >> 0] = 1; + HEAP32[($4 + 12 | 0) >> 2] = 0; + HEAP32[($4 + 4 | 0) >> 2] = 0; + HEAP32[($4 + 8 | 0) >> 2] = 0; + return; + } + + function btAlignedObjectArray_btCollisionAlgorithm____resize_28int_2c_20btCollisionAlgorithm__20const__29($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $5 = 0, $6 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5 = __stack_pointer - 32 | 0; + __stack_pointer = $5; + HEAP32[($5 + 28 | 0) >> 2] = $0; + HEAP32[($5 + 24 | 0) >> 2] = $1; + HEAP32[($5 + 20 | 0) >> 2] = $2; + $6 = HEAP32[($5 + 28 | 0) >> 2] | 0; + (wasm2js_i32$0 = $5, wasm2js_i32$1 = btAlignedObjectArray_btCollisionAlgorithm____size_28_29_20const($6 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + label$2 : { + if (!((HEAP32[($5 + 24 | 0) >> 2] | 0 | 0) < (HEAP32[($5 + 16 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($5 + 12 | 0) >> 2] = HEAP32[($5 + 24 | 0) >> 2] | 0; + label$3 : { + label$4 : while (1) { + if (!((HEAP32[($5 + 12 | 0) >> 2] | 0 | 0) < (HEAP32[($5 + 16 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$3 + } + HEAP32[($5 + 12 | 0) >> 2] = (HEAP32[($5 + 12 | 0) >> 2] | 0) + 1 | 0; + continue label$4; + }; + } + break label$1; + } + label$5 : { + if (!((HEAP32[($5 + 24 | 0) >> 2] | 0 | 0) > (HEAP32[($5 + 16 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$5 + } + btAlignedObjectArray_btCollisionAlgorithm____reserve_28int_29($6 | 0, HEAP32[($5 + 24 | 0) >> 2] | 0 | 0); + } + HEAP32[($5 + 8 | 0) >> 2] = HEAP32[($5 + 16 | 0) >> 2] | 0; + label$6 : { + label$7 : while (1) { + if (!((HEAP32[($5 + 8 | 0) >> 2] | 0 | 0) < (HEAP32[($5 + 24 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$6 + } + HEAP32[((HEAP32[($6 + 12 | 0) >> 2] | 0) + ((HEAP32[($5 + 8 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = HEAP32[(HEAP32[($5 + 20 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($5 + 8 | 0) >> 2] = (HEAP32[($5 + 8 | 0) >> 2] | 0) + 1 | 0; + continue label$7; + }; + } + } + HEAP32[($6 + 4 | 0) >> 2] = HEAP32[($5 + 24 | 0) >> 2] | 0; + __stack_pointer = $5 + 32 | 0; + return; + } + + function btAlignedObjectArray_btCollisionAlgorithm____operator_5b_5d_28int_29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, $5 = 0, $32 = 0; + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; + label$1 : { + if ((HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0) { + break label$1 + } + __assert_fail(85840 | 0, 78192 | 0, 183 | 0, 83901 | 0); + wasm2js_trap(); + } + label$2 : { + if ((HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) < (btAlignedObjectArray_btCollisionAlgorithm____size_28_29_20const($5 | 0) | 0 | 0) & 1 | 0) { + break label$2 + } + __assert_fail(87321 | 0, 78192 | 0, 184 | 0, 83901 | 0); + wasm2js_trap(); + } + $32 = (HEAP32[($5 + 12 | 0) >> 2] | 0) + ((HEAP32[($4 + 8 | 0) >> 2] | 0) << 2 | 0) | 0; + __stack_pointer = $4 + 16 | 0; + return $32 | 0; + } + + function btAlignedObjectArray_btCollisionAlgorithm_____btAlignedObjectArray_28_29($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + btAlignedObjectArray_btCollisionAlgorithm____clear_28_29($4 | 0); + __stack_pointer = $3 + 16 | 0; + return $4 | 0; + } + + function btAlignedObjectArray_btCollisionAlgorithm____size_28_29_20const($0) { + $0 = $0 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + return HEAP32[((HEAP32[($3 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0; + } + + function btAlignedObjectArray_btCollisionAlgorithm____reserve_28int_29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, $5 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; + label$1 : { + if (!((btAlignedObjectArray_btCollisionAlgorithm____capacity_28_29_20const($5 | 0) | 0 | 0) < (HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$1 + } + (wasm2js_i32$0 = $4, wasm2js_i32$1 = btAlignedObjectArray_btCollisionAlgorithm____allocate_28int_29($5 | 0, HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + btAlignedObjectArray_btCollisionAlgorithm____copy_28int_2c_20int_2c_20btCollisionAlgorithm___29_20const($5 | 0, 0 | 0, btAlignedObjectArray_btCollisionAlgorithm____size_28_29_20const($5 | 0) | 0 | 0, HEAP32[($4 + 4 | 0) >> 2] | 0 | 0); + btAlignedObjectArray_btCollisionAlgorithm____destroy_28int_2c_20int_29($5 | 0, 0 | 0, btAlignedObjectArray_btCollisionAlgorithm____size_28_29_20const($5 | 0) | 0 | 0); + btAlignedObjectArray_btCollisionAlgorithm____deallocate_28_29($5 | 0); + HEAP8[($5 + 16 | 0) >> 0] = 1; + HEAP32[($5 + 12 | 0) >> 2] = HEAP32[($4 + 4 | 0) >> 2] | 0; + HEAP32[($5 + 8 | 0) >> 2] = HEAP32[($4 + 8 | 0) >> 2] | 0; + } + __stack_pointer = $4 + 16 | 0; + return; + } + + function btAlignedObjectArray_btCollisionAlgorithm____clear_28_29($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + btAlignedObjectArray_btCollisionAlgorithm____destroy_28int_2c_20int_29($4 | 0, 0 | 0, btAlignedObjectArray_btCollisionAlgorithm____size_28_29_20const($4 | 0) | 0 | 0); + btAlignedObjectArray_btCollisionAlgorithm____deallocate_28_29($4 | 0); + btAlignedObjectArray_btCollisionAlgorithm____init_28_29($4 | 0); + __stack_pointer = $3 + 16 | 0; + return; + } + + function btCompoundCollisionAlgorithm__removeChildAlgorithms_28_29($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0, $31 = 0, $34 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0, wasm2js_i32$2 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + (wasm2js_i32$0 = $3, wasm2js_i32$1 = btAlignedObjectArray_btCollisionAlgorithm____size_28_29_20const($4 + 48 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($3 + 4 | 0) >> 2] = 0; + label$1 : { + label$2 : while (1) { + if (!((HEAP32[($3 + 4 | 0) >> 2] | 0 | 0) < (HEAP32[($3 + 8 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$1 + } + label$3 : { + if (!((HEAP32[(btAlignedObjectArray_btCollisionAlgorithm____operator_5b_5d_28int_29($4 + 48 | 0 | 0, HEAP32[($3 + 4 | 0) >> 2] | 0 | 0) | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$3 + } + $31 = HEAP32[(btAlignedObjectArray_btCollisionAlgorithm____operator_5b_5d_28int_29($4 + 48 | 0 | 0, HEAP32[($3 + 4 | 0) >> 2] | 0 | 0) | 0) >> 2] | 0; + FUNCTION_TABLE[HEAP32[(HEAP32[$31 >> 2] | 0) >> 2] | 0 | 0]($31) | 0; + $34 = HEAP32[($4 + 4 | 0) >> 2] | 0; + ((wasm2js_i32$1 = $34, wasm2js_i32$2 = HEAP32[(btAlignedObjectArray_btCollisionAlgorithm____operator_5b_5d_28int_29($4 + 48 | 0 | 0, HEAP32[($3 + 4 | 0) >> 2] | 0 | 0) | 0) >> 2] | 0), wasm2js_i32$0 = HEAP32[((HEAP32[$34 >> 2] | 0) + 60 | 0) >> 2] | 0 | 0), FUNCTION_TABLE[wasm2js_i32$0](wasm2js_i32$1 | 0, wasm2js_i32$2 | 0); + } + HEAP32[($3 + 4 | 0) >> 2] = (HEAP32[($3 + 4 | 0) >> 2] | 0) + 1 | 0; + continue label$2; + }; + } + __stack_pointer = $3 + 16 | 0; + return; + } + + function btCompoundCollisionAlgorithm___btCompoundCollisionAlgorithm_28_29($0) { + $0 = $0 | 0; + var $4 = 0, $3 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + HEAP32[$4 >> 2] = 94780 + 8 | 0; + btCompoundCollisionAlgorithm__removeChildAlgorithms_28_29($4 | 0); + btAlignedObjectArray_btCollisionAlgorithm_____btAlignedObjectArray_28_29($4 + 48 | 0 | 0) | 0; + btAlignedObjectArray_btPersistentManifold_____btAlignedObjectArray_28_29($4 + 28 | 0 | 0) | 0; + btAlignedObjectArray_btDbvtNode_20const_____btAlignedObjectArray_28_29($4 + 8 | 0 | 0) | 0; + btActivatingCollisionAlgorithm___btActivatingCollisionAlgorithm_28_29($4 | 0) | 0; + __stack_pointer = $3 + 16 | 0; + return $4 | 0; + } + + function btCompoundCollisionAlgorithm___btCompoundCollisionAlgorithm_28_29_1($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + FUNCTION_TABLE[668 | 0]($4) | 0; + operator_20delete_28void__29($4 | 0); + __stack_pointer = $3 + 16 | 0; + return; + } + + function btCompoundCollisionAlgorithm__processCollision_28btCollisionObjectWrapper_20const__2c_20btCollisionObjectWrapper_20const__2c_20btDispatcherInfo_20const__2c_20btManifoldResult__29($0, $1, $2, $3, $4) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + $4 = $4 | 0; + var $7 = 0, $8 = 0, $13 = 0, $20 = 0, $96 = 0, $175 = 0, $320 = 0, $333 = 0, $363 = 0, $366 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0, wasm2js_i32$2 = 0, wasm2js_i32$3 = 0, wasm2js_i32$4 = 0; + $7 = __stack_pointer - 640 | 0; + __stack_pointer = $7; + HEAP32[($7 + 636 | 0) >> 2] = $0; + HEAP32[($7 + 632 | 0) >> 2] = $1; + HEAP32[($7 + 628 | 0) >> 2] = $2; + HEAP32[($7 + 624 | 0) >> 2] = $3; + HEAP32[($7 + 620 | 0) >> 2] = $4; + $8 = HEAP32[($7 + 636 | 0) >> 2] | 0; + label$1 : { + label$2 : { + if (!((HEAPU8[($8 + 68 | 0) >> 0] | 0) & 1 | 0)) { + break label$2 + } + $13 = HEAP32[($7 + 628 | 0) >> 2] | 0; + break label$1; + } + $13 = HEAP32[($7 + 632 | 0) >> 2] | 0; + } + HEAP32[($7 + 616 | 0) >> 2] = $13; + label$3 : { + label$4 : { + if (!((HEAPU8[($8 + 68 | 0) >> 0] | 0) & 1 | 0)) { + break label$4 + } + $20 = HEAP32[($7 + 632 | 0) >> 2] | 0; + break label$3; + } + $20 = HEAP32[($7 + 628 | 0) >> 2] | 0; + } + HEAP32[($7 + 612 | 0) >> 2] = $20; + label$5 : { + if ((btCollisionShape__isCompound_28_29_20const(btCollisionObjectWrapper__getCollisionShape_28_29_20const(HEAP32[($7 + 616 | 0) >> 2] | 0 | 0) | 0 | 0) | 0) & 1 | 0) { + break label$5 + } + __assert_fail(87719 | 0, 73354 | 0, 242 | 0, 76857 | 0); + wasm2js_trap(); + } + (wasm2js_i32$0 = $7, wasm2js_i32$1 = btCollisionObjectWrapper__getCollisionShape_28_29_20const(HEAP32[($7 + 616 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 608 | 0) >> 2] = wasm2js_i32$1; + label$6 : { + if (!((btCompoundShape__getUpdateRevision_28_29_20const(HEAP32[($7 + 608 | 0) >> 2] | 0 | 0) | 0 | 0) != (HEAP32[($8 + 80 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$6 + } + btCompoundCollisionAlgorithm__removeChildAlgorithms_28_29($8 | 0); + btCompoundCollisionAlgorithm__preallocateChildAlgorithms_28btCollisionObjectWrapper_20const__2c_20btCollisionObjectWrapper_20const__29($8 | 0, HEAP32[($7 + 632 | 0) >> 2] | 0 | 0, HEAP32[($7 + 628 | 0) >> 2] | 0 | 0); + (wasm2js_i32$0 = $8, wasm2js_i32$1 = btCompoundShape__getUpdateRevision_28_29_20const(HEAP32[($7 + 608 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 80 | 0) >> 2] = wasm2js_i32$1; + } + label$7 : { + label$8 : { + if (btAlignedObjectArray_btCollisionAlgorithm____size_28_29_20const($8 + 48 | 0 | 0) | 0) { + break label$8 + } + break label$7; + } + (wasm2js_i32$0 = $7, wasm2js_i32$1 = btCompoundShape__getDynamicAabbTree_28_29_20const(HEAP32[($7 + 608 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 604 | 0) >> 2] = wasm2js_i32$1; + btCompoundLeafCallback__btCompoundLeafCallback_28btCollisionObjectWrapper_20const__2c_20btCollisionObjectWrapper_20const__2c_20btDispatcher__2c_20btDispatcherInfo_20const__2c_20btManifoldResult__2c_20btCollisionAlgorithm___2c_20btPersistentManifold__29($7 + 572 | 0 | 0, HEAP32[($7 + 616 | 0) >> 2] | 0 | 0, HEAP32[($7 + 612 | 0) >> 2] | 0 | 0, HEAP32[($8 + 4 | 0) >> 2] | 0 | 0, HEAP32[($7 + 624 | 0) >> 2] | 0 | 0, HEAP32[($7 + 620 | 0) >> 2] | 0 | 0, btAlignedObjectArray_btCollisionAlgorithm____operator_5b_5d_28int_29($8 + 48 | 0 | 0, 0 | 0) | 0 | 0, HEAP32[($8 + 72 | 0) >> 2] | 0 | 0) | 0; + HEAP32[($7 + 564 | 0) >> 2] = 0; + btAlignedObjectArray_btPersistentManifold____resize_28int_2c_20btPersistentManifold__20const__29($8 + 28 | 0 | 0, 0 | 0, $7 + 564 | 0 | 0); + HEAP32[($7 + 568 | 0) >> 2] = 0; + label$9 : { + label$10 : while (1) { + if (!((HEAP32[($7 + 568 | 0) >> 2] | 0 | 0) < (btAlignedObjectArray_btCollisionAlgorithm____size_28_29_20const($8 + 48 | 0 | 0) | 0 | 0) & 1 | 0)) { + break label$9 + } + label$11 : { + if (!((HEAP32[(btAlignedObjectArray_btCollisionAlgorithm____operator_5b_5d_28int_29($8 + 48 | 0 | 0, HEAP32[($7 + 568 | 0) >> 2] | 0 | 0) | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$11 + } + $96 = HEAP32[(btAlignedObjectArray_btCollisionAlgorithm____operator_5b_5d_28int_29($8 + 48 | 0 | 0, HEAP32[($7 + 568 | 0) >> 2] | 0 | 0) | 0) >> 2] | 0; + FUNCTION_TABLE[HEAP32[((HEAP32[$96 >> 2] | 0) + 16 | 0) >> 2] | 0 | 0]($96, $8 + 28 | 0); + HEAP32[($7 + 560 | 0) >> 2] = 0; + label$12 : { + label$13 : while (1) { + if (!((HEAP32[($7 + 560 | 0) >> 2] | 0 | 0) < (btAlignedObjectArray_btPersistentManifold____size_28_29_20const($8 + 28 | 0 | 0) | 0 | 0) & 1 | 0)) { + break label$12 + } + label$14 : { + if (!(btPersistentManifold__getNumContacts_28_29_20const(HEAP32[(btAlignedObjectArray_btPersistentManifold____operator_5b_5d_28int_29($8 + 28 | 0 | 0, HEAP32[($7 + 560 | 0) >> 2] | 0 | 0) | 0) >> 2] | 0 | 0) | 0)) { + break label$14 + } + btManifoldResult__setPersistentManifold_28btPersistentManifold__29(HEAP32[($7 + 620 | 0) >> 2] | 0 | 0, HEAP32[(btAlignedObjectArray_btPersistentManifold____operator_5b_5d_28int_29($8 + 28 | 0 | 0, HEAP32[($7 + 560 | 0) >> 2] | 0 | 0) | 0) >> 2] | 0 | 0); + btManifoldResult__refreshContactPoints_28_29(HEAP32[($7 + 620 | 0) >> 2] | 0 | 0); + btManifoldResult__setPersistentManifold_28btPersistentManifold__29(HEAP32[($7 + 620 | 0) >> 2] | 0 | 0, 0 | 0); + } + HEAP32[($7 + 560 | 0) >> 2] = (HEAP32[($7 + 560 | 0) >> 2] | 0) + 1 | 0; + continue label$13; + }; + } + HEAP32[($7 + 556 | 0) >> 2] = 0; + btAlignedObjectArray_btPersistentManifold____resize_28int_2c_20btPersistentManifold__20const__29($8 + 28 | 0 | 0, 0 | 0, $7 + 556 | 0 | 0); + } + HEAP32[($7 + 568 | 0) >> 2] = (HEAP32[($7 + 568 | 0) >> 2] | 0) + 1 | 0; + continue label$10; + }; + } + label$15 : { + label$16 : { + if (!((HEAP32[($7 + 604 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$16 + } + btVector3__btVector3_28_29($7 + 540 | 0 | 0) | 0; + btVector3__btVector3_28_29($7 + 524 | 0 | 0) | 0; + btTransform__btTransform_28_29($7 + 460 | 0 | 0) | 0; + btTransform__inverse_28_29_20const($7 + 332 | 0 | 0, btCollisionObjectWrapper__getWorldTransform_28_29_20const(HEAP32[($7 + 616 | 0) >> 2] | 0 | 0) | 0 | 0); + btTransform__operator__28btTransform_20const__29_20const($7 + 396 | 0 | 0, $7 + 332 | 0 | 0, btCollisionObjectWrapper__getWorldTransform_28_29_20const(HEAP32[($7 + 612 | 0) >> 2] | 0 | 0) | 0 | 0); + btTransform__operator__28btTransform_20const__29($7 + 460 | 0 | 0, $7 + 396 | 0 | 0) | 0; + $175 = btCollisionObjectWrapper__getCollisionShape_28_29_20const(HEAP32[($7 + 612 | 0) >> 2] | 0 | 0) | 0; + FUNCTION_TABLE[HEAP32[((HEAP32[$175 >> 2] | 0) + 8 | 0) >> 2] | 0 | 0]($175, $7 + 460 | 0, $7 + 540 | 0, $7 + 524 | 0); + btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($7 + 316 | 0 | 0, (HEAP32[($7 + 620 | 0) >> 2] | 0) + 32 | 0 | 0, (HEAP32[($7 + 620 | 0) >> 2] | 0) + 32 | 0 | 0, (HEAP32[($7 + 620 | 0) >> 2] | 0) + 32 | 0 | 0) | 0; + btVector3__operator___28btVector3_20const__29($7 + 540 | 0 | 0, $7 + 316 | 0 | 0) | 0; + btVector3__operator___28btVector3_20const__29_1($7 + 524 | 0 | 0, $7 + 316 | 0 | 0) | 0; + btDbvtAabbMm__FromMM_28btVector3_20const__2c_20btVector3_20const__29($7 + 284 | 0 | 0, $7 + 540 | 0 | 0, $7 + 524 | 0 | 0); + btDbvt__collideTVNoStackAlloc_28btDbvtNode_20const__2c_20btDbvtAabbMm_20const__2c_20btAlignedObjectArray_btDbvtNode_20const____2c_20btDbvt__ICollide__29_20const(HEAP32[($7 + 604 | 0) >> 2] | 0 | 0, HEAP32[(HEAP32[($7 + 604 | 0) >> 2] | 0) >> 2] | 0 | 0, $7 + 284 | 0 | 0, $8 + 8 | 0 | 0, $7 + 572 | 0 | 0); + break label$15; + } + (wasm2js_i32$0 = $7, wasm2js_i32$1 = btAlignedObjectArray_btCollisionAlgorithm____size_28_29_20const($8 + 48 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 280 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($7 + 276 | 0) >> 2] = 0; + label$17 : { + label$18 : while (1) { + if (!((HEAP32[($7 + 276 | 0) >> 2] | 0 | 0) < (HEAP32[($7 + 280 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$17 + } + btCompoundLeafCallback__ProcessChildShape_28btCollisionShape_20const__2c_20int_29($7 + 572 | 0 | 0, btCompoundShape__getChildShape_28int_29_20const(HEAP32[($7 + 608 | 0) >> 2] | 0 | 0, HEAP32[($7 + 276 | 0) >> 2] | 0 | 0) | 0 | 0, HEAP32[($7 + 276 | 0) >> 2] | 0 | 0); + HEAP32[($7 + 276 | 0) >> 2] = (HEAP32[($7 + 276 | 0) >> 2] | 0) + 1 | 0; + continue label$18; + }; + } + } + (wasm2js_i32$0 = $7, wasm2js_i32$1 = btAlignedObjectArray_btCollisionAlgorithm____size_28_29_20const($8 + 48 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 272 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($7 + 264 | 0) >> 2] = 0; + btAlignedObjectArray_btPersistentManifold____resize_28int_2c_20btPersistentManifold__20const__29($8 + 28 | 0 | 0, 0 | 0, $7 + 264 | 0 | 0); + HEAP32[($7 + 260 | 0) >> 2] = 0; + btTransform__btTransform_28_29($7 + 196 | 0 | 0) | 0; + btTransform__btTransform_28_29($7 + 132 | 0 | 0) | 0; + btVector3__btVector3_28_29($7 + 116 | 0 | 0) | 0; + btVector3__btVector3_28_29($7 + 100 | 0 | 0) | 0; + btVector3__btVector3_28_29($7 + 84 | 0 | 0) | 0; + btVector3__btVector3_28_29($7 + 68 | 0 | 0) | 0; + HEAP32[($7 + 268 | 0) >> 2] = 0; + label$19 : { + label$20 : while (1) { + if (!((HEAP32[($7 + 268 | 0) >> 2] | 0 | 0) < (HEAP32[($7 + 272 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$19 + } + label$21 : { + if (!((HEAP32[(btAlignedObjectArray_btCollisionAlgorithm____operator_5b_5d_28int_29($8 + 48 | 0 | 0, HEAP32[($7 + 268 | 0) >> 2] | 0 | 0) | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$21 + } + (wasm2js_i32$0 = $7, wasm2js_i32$1 = btCompoundShape__getChildShape_28int_29_20const(HEAP32[($7 + 608 | 0) >> 2] | 0 | 0, HEAP32[($7 + 268 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 260 | 0) >> 2] = wasm2js_i32$1; + btTransform__operator__28btTransform_20const__29($7 + 196 | 0 | 0, btCollisionObjectWrapper__getWorldTransform_28_29_20const(HEAP32[($7 + 616 | 0) >> 2] | 0 | 0) | 0 | 0) | 0; + (wasm2js_i32$0 = $7, wasm2js_i32$1 = btCompoundShape__getChildTransform_28int_29_20const(HEAP32[($7 + 608 | 0) >> 2] | 0 | 0, HEAP32[($7 + 268 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 64 | 0) >> 2] = wasm2js_i32$1; + btTransform__operator__28btTransform_20const__29_20const($7 | 0, $7 + 196 | 0 | 0, HEAP32[($7 + 64 | 0) >> 2] | 0 | 0); + btTransform__operator__28btTransform_20const__29($7 + 132 | 0 | 0, $7 | 0) | 0; + $320 = HEAP32[($7 + 260 | 0) >> 2] | 0; + FUNCTION_TABLE[HEAP32[((HEAP32[$320 >> 2] | 0) + 8 | 0) >> 2] | 0 | 0]($320, $7 + 132 | 0, $7 + 116 | 0, $7 + 100 | 0); + $333 = btCollisionObjectWrapper__getCollisionShape_28_29_20const(HEAP32[($7 + 612 | 0) >> 2] | 0 | 0) | 0; + ((((wasm2js_i32$1 = $333, wasm2js_i32$2 = btCollisionObjectWrapper__getWorldTransform_28_29_20const(HEAP32[($7 + 612 | 0) >> 2] | 0 | 0) | 0), wasm2js_i32$3 = $7 + 84 | 0), wasm2js_i32$4 = $7 + 68 | 0), wasm2js_i32$0 = HEAP32[((HEAP32[$333 >> 2] | 0) + 8 | 0) >> 2] | 0 | 0), FUNCTION_TABLE[wasm2js_i32$0](wasm2js_i32$1 | 0, wasm2js_i32$2 | 0, wasm2js_i32$3 | 0, wasm2js_i32$4 | 0); + label$22 : { + if ((TestAabbAgainstAabb2_28btVector3_20const__2c_20btVector3_20const__2c_20btVector3_20const__2c_20btVector3_20const__29($7 + 116 | 0 | 0, $7 + 100 | 0 | 0, $7 + 84 | 0 | 0, $7 + 68 | 0 | 0) | 0) & 1 | 0) { + break label$22 + } + $363 = HEAP32[(btAlignedObjectArray_btCollisionAlgorithm____operator_5b_5d_28int_29($8 + 48 | 0 | 0, HEAP32[($7 + 268 | 0) >> 2] | 0 | 0) | 0) >> 2] | 0; + FUNCTION_TABLE[HEAP32[(HEAP32[$363 >> 2] | 0) >> 2] | 0 | 0]($363) | 0; + $366 = HEAP32[($8 + 4 | 0) >> 2] | 0; + ((wasm2js_i32$4 = $366, wasm2js_i32$3 = HEAP32[(btAlignedObjectArray_btCollisionAlgorithm____operator_5b_5d_28int_29($8 + 48 | 0 | 0, HEAP32[($7 + 268 | 0) >> 2] | 0 | 0) | 0) >> 2] | 0), wasm2js_i32$0 = HEAP32[((HEAP32[$366 >> 2] | 0) + 60 | 0) >> 2] | 0 | 0), FUNCTION_TABLE[wasm2js_i32$0](wasm2js_i32$4 | 0, wasm2js_i32$3 | 0); + (wasm2js_i32$0 = btAlignedObjectArray_btCollisionAlgorithm____operator_5b_5d_28int_29($8 + 48 | 0 | 0, HEAP32[($7 + 268 | 0) >> 2] | 0 | 0) | 0, wasm2js_i32$3 = 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$3; + } + } + HEAP32[($7 + 268 | 0) >> 2] = (HEAP32[($7 + 268 | 0) >> 2] | 0) + 1 | 0; + continue label$20; + }; + } + btCompoundLeafCallback___btCompoundLeafCallback_28_29($7 + 572 | 0 | 0) | 0; + } + __stack_pointer = $7 + 640 | 0; + return; + } + + function btCompoundLeafCallback__btCompoundLeafCallback_28btCollisionObjectWrapper_20const__2c_20btCollisionObjectWrapper_20const__2c_20btDispatcher__2c_20btDispatcherInfo_20const__2c_20btManifoldResult__2c_20btCollisionAlgorithm___2c_20btPersistentManifold__29($0, $1, $2, $3, $4, $5, $6, $7) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + $4 = $4 | 0; + $5 = $5 | 0; + $6 = $6 | 0; + $7 = $7 | 0; + var $10 = 0, $11 = 0; + $10 = __stack_pointer - 32 | 0; + __stack_pointer = $10; + HEAP32[($10 + 28 | 0) >> 2] = $0; + HEAP32[($10 + 24 | 0) >> 2] = $1; + HEAP32[($10 + 20 | 0) >> 2] = $2; + HEAP32[($10 + 16 | 0) >> 2] = $3; + HEAP32[($10 + 12 | 0) >> 2] = $4; + HEAP32[($10 + 8 | 0) >> 2] = $5; + HEAP32[($10 + 4 | 0) >> 2] = $6; + HEAP32[$10 >> 2] = $7; + $11 = HEAP32[($10 + 28 | 0) >> 2] | 0; + btDbvt__ICollide__ICollide_28_29($11 | 0) | 0; + HEAP32[$11 >> 2] = 94852 + 8 | 0; + HEAP32[($11 + 4 | 0) >> 2] = HEAP32[($10 + 24 | 0) >> 2] | 0; + HEAP32[($11 + 8 | 0) >> 2] = HEAP32[($10 + 20 | 0) >> 2] | 0; + HEAP32[($11 + 12 | 0) >> 2] = HEAP32[($10 + 16 | 0) >> 2] | 0; + HEAP32[($11 + 16 | 0) >> 2] = HEAP32[($10 + 12 | 0) >> 2] | 0; + HEAP32[($11 + 20 | 0) >> 2] = HEAP32[($10 + 8 | 0) >> 2] | 0; + HEAP32[($11 + 24 | 0) >> 2] = HEAP32[($10 + 4 | 0) >> 2] | 0; + HEAP32[($11 + 28 | 0) >> 2] = HEAP32[$10 >> 2] | 0; + __stack_pointer = $10 + 32 | 0; + return $11 | 0; + } + + function btAlignedObjectArray_btPersistentManifold____resize_28int_2c_20btPersistentManifold__20const__29($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $5 = 0, $6 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5 = __stack_pointer - 32 | 0; + __stack_pointer = $5; + HEAP32[($5 + 28 | 0) >> 2] = $0; + HEAP32[($5 + 24 | 0) >> 2] = $1; + HEAP32[($5 + 20 | 0) >> 2] = $2; + $6 = HEAP32[($5 + 28 | 0) >> 2] | 0; + (wasm2js_i32$0 = $5, wasm2js_i32$1 = btAlignedObjectArray_btPersistentManifold____size_28_29_20const($6 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + label$2 : { + if (!((HEAP32[($5 + 24 | 0) >> 2] | 0 | 0) < (HEAP32[($5 + 16 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($5 + 12 | 0) >> 2] = HEAP32[($5 + 24 | 0) >> 2] | 0; + label$3 : { + label$4 : while (1) { + if (!((HEAP32[($5 + 12 | 0) >> 2] | 0 | 0) < (HEAP32[($5 + 16 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$3 + } + HEAP32[($5 + 12 | 0) >> 2] = (HEAP32[($5 + 12 | 0) >> 2] | 0) + 1 | 0; + continue label$4; + }; + } + break label$1; + } + label$5 : { + if (!((HEAP32[($5 + 24 | 0) >> 2] | 0 | 0) > (HEAP32[($5 + 16 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$5 + } + btAlignedObjectArray_btPersistentManifold____reserve_28int_29($6 | 0, HEAP32[($5 + 24 | 0) >> 2] | 0 | 0); + } + HEAP32[($5 + 8 | 0) >> 2] = HEAP32[($5 + 16 | 0) >> 2] | 0; + label$6 : { + label$7 : while (1) { + if (!((HEAP32[($5 + 8 | 0) >> 2] | 0 | 0) < (HEAP32[($5 + 24 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$6 + } + HEAP32[((HEAP32[($6 + 12 | 0) >> 2] | 0) + ((HEAP32[($5 + 8 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = HEAP32[(HEAP32[($5 + 20 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($5 + 8 | 0) >> 2] = (HEAP32[($5 + 8 | 0) >> 2] | 0) + 1 | 0; + continue label$7; + }; + } + } + HEAP32[($6 + 4 | 0) >> 2] = HEAP32[($5 + 24 | 0) >> 2] | 0; + __stack_pointer = $5 + 32 | 0; + return; + } + + function btDbvt__collideTVNoStackAlloc_28btDbvtNode_20const__2c_20btDbvtAabbMm_20const__2c_20btAlignedObjectArray_btDbvtNode_20const____2c_20btDbvt__ICollide__29_20const($0, $1, $2, $3, $4) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + $4 = $4 | 0; + var $7 = 0, i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, i64toi32_i32$1 = 0, $15 = 0, $16 = 0, $22 = 0, $28 = 0, $76 = 0, $131 = 0, $144 = 0, $157 = 0, $161 = 0, $35 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $7 = __stack_pointer - 64 | 0; + __stack_pointer = $7; + HEAP32[($7 + 60 | 0) >> 2] = $0; + HEAP32[($7 + 56 | 0) >> 2] = $1; + HEAP32[($7 + 52 | 0) >> 2] = $2; + HEAP32[($7 + 48 | 0) >> 2] = $3; + HEAP32[($7 + 44 | 0) >> 2] = $4; + label$1 : { + if (!((HEAP32[($7 + 56 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + $15 = HEAP32[($7 + 52 | 0) >> 2] | 0; + $16 = 24; + i64toi32_i32$2 = $15 + $16 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $131 = i64toi32_i32$0; + i64toi32_i32$0 = ($7 + 8 | 0) + $16 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $131; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $22 = 16; + i64toi32_i32$2 = $15 + $22 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $144 = i64toi32_i32$1; + i64toi32_i32$1 = ($7 + 8 | 0) + $22 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $144; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + $28 = 8; + i64toi32_i32$2 = $15 + $28 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $157 = i64toi32_i32$0; + i64toi32_i32$0 = ($7 + 8 | 0) + $28 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $157; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$2 = $15; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $161 = i64toi32_i32$1; + i64toi32_i32$1 = $7; + HEAP32[($7 + 8 | 0) >> 2] = $161; + HEAP32[($7 + 12 | 0) >> 2] = i64toi32_i32$0; + $35 = HEAP32[($7 + 48 | 0) >> 2] | 0; + HEAP32[($7 + 4 | 0) >> 2] = 0; + btAlignedObjectArray_btDbvtNode_20const____resize_28int_2c_20btDbvtNode_20const__20const__29($35 | 0, 0 | 0, $7 + 4 | 0 | 0); + btAlignedObjectArray_btDbvtNode_20const____reserve_28int_29(HEAP32[($7 + 48 | 0) >> 2] | 0 | 0, 64 | 0); + btAlignedObjectArray_btDbvtNode_20const____push_back_28btDbvtNode_20const__20const__29(HEAP32[($7 + 48 | 0) >> 2] | 0 | 0, $7 + 56 | 0 | 0); + label$2 : while (1) { + (wasm2js_i32$0 = $7, wasm2js_i32$1 = HEAP32[(btAlignedObjectArray_btDbvtNode_20const____operator_5b_5d_28int_29(HEAP32[($7 + 48 | 0) >> 2] | 0 | 0, (btAlignedObjectArray_btDbvtNode_20const____size_28_29_20const(HEAP32[($7 + 48 | 0) >> 2] | 0 | 0) | 0) - 1 | 0 | 0) | 0) >> 2] | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + btAlignedObjectArray_btDbvtNode_20const____pop_back_28_29(HEAP32[($7 + 48 | 0) >> 2] | 0 | 0); + label$3 : { + if (!((Intersect_28btDbvtAabbMm_20const__2c_20btDbvtAabbMm_20const__29(HEAP32[$7 >> 2] | 0 | 0, $7 + 8 | 0 | 0) | 0) & 1 | 0)) { + break label$3 + } + label$4 : { + label$5 : { + if (!((btDbvtNode__isinternal_28_29_20const(HEAP32[$7 >> 2] | 0 | 0) | 0) & 1 | 0)) { + break label$5 + } + btAlignedObjectArray_btDbvtNode_20const____push_back_28btDbvtNode_20const__20const__29(HEAP32[($7 + 48 | 0) >> 2] | 0 | 0, (HEAP32[$7 >> 2] | 0) + 36 | 0 | 0); + btAlignedObjectArray_btDbvtNode_20const____push_back_28btDbvtNode_20const__20const__29(HEAP32[($7 + 48 | 0) >> 2] | 0 | 0, ((HEAP32[$7 >> 2] | 0) + 36 | 0) + 4 | 0 | 0); + break label$4; + } + $76 = HEAP32[($7 + 44 | 0) >> 2] | 0; + FUNCTION_TABLE[HEAP32[((HEAP32[$76 >> 2] | 0) + 12 | 0) >> 2] | 0 | 0]($76, HEAP32[$7 >> 2] | 0); + } + } + if ((btAlignedObjectArray_btDbvtNode_20const____size_28_29_20const(HEAP32[($7 + 48 | 0) >> 2] | 0 | 0) | 0 | 0) > (0 | 0) & 1 | 0) { + continue label$2 + } + break label$2; + }; + } + __stack_pointer = $7 + 64 | 0; + return; + } + + function btCompoundLeafCallback__ProcessChildShape_28btCollisionShape_20const__2c_20int_29($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $5 = 0, $6 = 0, $53 = 0, $96 = 0, $158 = 0, $180 = 0, $217 = 0, $228 = 0, $233 = 0, $116 = 0, $189 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0, wasm2js_i32$2 = 0, wasm2js_i32$3 = 0, wasm2js_i32$4 = 0; + $5 = __stack_pointer - 272 | 0; + __stack_pointer = $5; + HEAP32[($5 + 268 | 0) >> 2] = $0; + HEAP32[($5 + 264 | 0) >> 2] = $1; + HEAP32[($5 + 260 | 0) >> 2] = $2; + $6 = HEAP32[($5 + 268 | 0) >> 2] | 0; + label$1 : { + if ((HEAP32[($5 + 260 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0) { + break label$1 + } + __assert_fail(85814 | 0, 73354 | 0, 125 | 0, 81712 | 0); + wasm2js_trap(); + } + (wasm2js_i32$0 = $5, wasm2js_i32$1 = btCollisionObjectWrapper__getCollisionShape_28_29_20const(HEAP32[($6 + 4 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 256 | 0) >> 2] = wasm2js_i32$1; + label$2 : { + if ((HEAP32[($5 + 260 | 0) >> 2] | 0 | 0) < (btCompoundShape__getNumChildShapes_28_29_20const(HEAP32[($5 + 256 | 0) >> 2] | 0 | 0) | 0 | 0) & 1 | 0) { + break label$2 + } + __assert_fail(87116 | 0, 73354 | 0, 127 | 0, 81712 | 0); + wasm2js_trap(); + } + btTransform__btTransform_28btTransform_20const__29($5 + 192 | 0 | 0, btCollisionObjectWrapper__getWorldTransform_28_29_20const(HEAP32[($6 + 4 | 0) >> 2] | 0 | 0) | 0 | 0) | 0; + (wasm2js_i32$0 = $5, wasm2js_i32$1 = btCompoundShape__getChildTransform_28int_29_20const(HEAP32[($5 + 256 | 0) >> 2] | 0 | 0, HEAP32[($5 + 260 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 188 | 0) >> 2] = wasm2js_i32$1; + btTransform__operator__28btTransform_20const__29_20const($5 + 124 | 0 | 0, $5 + 192 | 0 | 0, HEAP32[($5 + 188 | 0) >> 2] | 0 | 0); + btVector3__btVector3_28_29($5 + 108 | 0 | 0) | 0; + btVector3__btVector3_28_29($5 + 92 | 0 | 0) | 0; + $53 = HEAP32[($5 + 264 | 0) >> 2] | 0; + FUNCTION_TABLE[HEAP32[((HEAP32[$53 >> 2] | 0) + 8 | 0) >> 2] | 0 | 0]($53, $5 + 124 | 0, $5 + 108 | 0, $5 + 92 | 0); + btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($5 + 76 | 0 | 0, (HEAP32[($6 + 20 | 0) >> 2] | 0) + 32 | 0 | 0, (HEAP32[($6 + 20 | 0) >> 2] | 0) + 32 | 0 | 0, (HEAP32[($6 + 20 | 0) >> 2] | 0) + 32 | 0 | 0) | 0; + btVector3__operator___28btVector3_20const__29($5 + 108 | 0 | 0, $5 + 76 | 0 | 0) | 0; + btVector3__operator___28btVector3_20const__29_1($5 + 92 | 0 | 0, $5 + 76 | 0 | 0) | 0; + btVector3__btVector3_28_29($5 + 60 | 0 | 0) | 0; + btVector3__btVector3_28_29($5 + 44 | 0 | 0) | 0; + $96 = btCollisionObjectWrapper__getCollisionShape_28_29_20const(HEAP32[($6 + 8 | 0) >> 2] | 0 | 0) | 0; + ((((wasm2js_i32$1 = $96, wasm2js_i32$2 = btCollisionObjectWrapper__getWorldTransform_28_29_20const(HEAP32[($6 + 8 | 0) >> 2] | 0 | 0) | 0), wasm2js_i32$3 = $5 + 60 | 0), wasm2js_i32$4 = $5 + 44 | 0), wasm2js_i32$0 = HEAP32[((HEAP32[$96 >> 2] | 0) + 8 | 0) >> 2] | 0 | 0), FUNCTION_TABLE[wasm2js_i32$0](wasm2js_i32$1 | 0, wasm2js_i32$2 | 0, wasm2js_i32$3 | 0, wasm2js_i32$4 | 0); + label$3 : { + label$4 : { + if (!((HEAP32[(0 + 114008 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$4 + } + $116 = HEAP32[(0 + 114008 | 0) >> 2] | 0; + label$5 : { + if ((FUNCTION_TABLE[$116 | 0](btCollisionObjectWrapper__getCollisionShape_28_29_20const(HEAP32[($6 + 8 | 0) >> 2] | 0 | 0) | 0, HEAP32[($5 + 264 | 0) >> 2] | 0) | 0) & 1 | 0) { + break label$5 + } + break label$3; + } + } + if (!((TestAabbAgainstAabb2_28btVector3_20const__2c_20btVector3_20const__2c_20btVector3_20const__2c_20btVector3_20const__29($5 + 108 | 0 | 0, $5 + 92 | 0 | 0, $5 + 60 | 0 | 0, $5 + 44 | 0 | 0) | 0) & 1 | 0)) { + break label$3 + } + btCollisionObjectWrapper__btCollisionObjectWrapper_28btCollisionObjectWrapper_20const__2c_20btCollisionShape_20const__2c_20btCollisionObject_20const__2c_20btTransform_20const__2c_20int_2c_20int_29($5 + 20 | 0 | 0, HEAP32[($6 + 4 | 0) >> 2] | 0 | 0, HEAP32[($5 + 264 | 0) >> 2] | 0 | 0, btCollisionObjectWrapper__getCollisionObject_28_29_20const(HEAP32[($6 + 4 | 0) >> 2] | 0 | 0) | 0 | 0, $5 + 124 | 0 | 0, -1 | 0, HEAP32[($5 + 260 | 0) >> 2] | 0 | 0) | 0; + HEAP32[($5 + 16 | 0) >> 2] = 0; + label$6 : { + label$7 : { + if (!(Math_fround(HEAPF32[((HEAP32[($6 + 20 | 0) >> 2] | 0) + 32 | 0) >> 2]) > Math_fround(0 | 0) & 1 | 0)) { + break label$7 + } + $158 = HEAP32[($6 + 12 | 0) >> 2] | 0; + (wasm2js_i32$0 = $5, wasm2js_i32$4 = FUNCTION_TABLE[HEAP32[((HEAP32[$158 >> 2] | 0) + 8 | 0) >> 2] | 0 | 0]($158, $5 + 20 | 0, HEAP32[($6 + 8 | 0) >> 2] | 0, 0, 2) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$4; + break label$6; + } + label$8 : { + if ((HEAP32[((HEAP32[($6 + 24 | 0) >> 2] | 0) + ((HEAP32[($5 + 260 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$8 + } + $180 = HEAP32[($6 + 12 | 0) >> 2] | 0; + $189 = FUNCTION_TABLE[HEAP32[((HEAP32[$180 >> 2] | 0) + 8 | 0) >> 2] | 0 | 0]($180, $5 + 20 | 0, HEAP32[($6 + 8 | 0) >> 2] | 0, HEAP32[($6 + 28 | 0) >> 2] | 0, 1) | 0; + HEAP32[((HEAP32[($6 + 24 | 0) >> 2] | 0) + ((HEAP32[($5 + 260 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = $189; + } + HEAP32[($5 + 16 | 0) >> 2] = HEAP32[((HEAP32[($6 + 24 | 0) >> 2] | 0) + ((HEAP32[($5 + 260 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; + } + HEAP32[($5 + 12 | 0) >> 2] = 0; + label$9 : { + label$10 : { + if (!((btManifoldResult__getBody0Internal_28_29_20const(HEAP32[($6 + 20 | 0) >> 2] | 0 | 0) | 0 | 0) == (btCollisionObjectWrapper__getCollisionObject_28_29_20const(HEAP32[($6 + 4 | 0) >> 2] | 0 | 0) | 0 | 0) & 1 | 0)) { + break label$10 + } + (wasm2js_i32$0 = $5, wasm2js_i32$4 = btManifoldResult__getBody0Wrap_28_29_20const(HEAP32[($6 + 20 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$4; + btManifoldResult__setBody0Wrap_28btCollisionObjectWrapper_20const__29(HEAP32[($6 + 20 | 0) >> 2] | 0 | 0, $5 + 20 | 0 | 0); + $217 = HEAP32[($6 + 20 | 0) >> 2] | 0; + FUNCTION_TABLE[HEAP32[((HEAP32[$217 >> 2] | 0) + 8 | 0) >> 2] | 0 | 0]($217, -1, HEAP32[($5 + 260 | 0) >> 2] | 0); + break label$9; + } + (wasm2js_i32$0 = $5, wasm2js_i32$4 = btManifoldResult__getBody1Wrap_28_29_20const(HEAP32[($6 + 20 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$4; + btManifoldResult__setBody1Wrap_28btCollisionObjectWrapper_20const__29(HEAP32[($6 + 20 | 0) >> 2] | 0 | 0, $5 + 20 | 0 | 0); + $228 = HEAP32[($6 + 20 | 0) >> 2] | 0; + FUNCTION_TABLE[HEAP32[((HEAP32[$228 >> 2] | 0) + 12 | 0) >> 2] | 0 | 0]($228, -1, HEAP32[($5 + 260 | 0) >> 2] | 0); + } + $233 = HEAP32[($5 + 16 | 0) >> 2] | 0; + FUNCTION_TABLE[HEAP32[((HEAP32[$233 >> 2] | 0) + 8 | 0) >> 2] | 0 | 0]($233, $5 + 20 | 0, HEAP32[($6 + 8 | 0) >> 2] | 0, HEAP32[($6 + 16 | 0) >> 2] | 0, HEAP32[($6 + 20 | 0) >> 2] | 0); + label$11 : { + label$12 : { + if (!((btManifoldResult__getBody0Internal_28_29_20const(HEAP32[($6 + 20 | 0) >> 2] | 0 | 0) | 0 | 0) == (btCollisionObjectWrapper__getCollisionObject_28_29_20const(HEAP32[($6 + 4 | 0) >> 2] | 0 | 0) | 0 | 0) & 1 | 0)) { + break label$12 + } + btManifoldResult__setBody0Wrap_28btCollisionObjectWrapper_20const__29(HEAP32[($6 + 20 | 0) >> 2] | 0 | 0, HEAP32[($5 + 12 | 0) >> 2] | 0 | 0); + break label$11; + } + btManifoldResult__setBody1Wrap_28btCollisionObjectWrapper_20const__29(HEAP32[($6 + 20 | 0) >> 2] | 0 | 0, HEAP32[($5 + 12 | 0) >> 2] | 0 | 0); + } + } + __stack_pointer = $5 + 272 | 0; + return; + } + + function TestAabbAgainstAabb2_28btVector3_20const__2c_20btVector3_20const__2c_20btVector3_20const__2c_20btVector3_20const__29($0, $1, $2, $3) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + var $6 = 0, $27 = 0, $51 = 0, $75 = 0, $82 = 0; + $6 = __stack_pointer - 32 | 0; + __stack_pointer = $6; + HEAP32[($6 + 28 | 0) >> 2] = $0; + HEAP32[($6 + 24 | 0) >> 2] = $1; + HEAP32[($6 + 20 | 0) >> 2] = $2; + HEAP32[($6 + 16 | 0) >> 2] = $3; + HEAP8[($6 + 15 | 0) >> 0] = 1; + label$1 : { + label$2 : { + label$3 : { + if (Math_fround(HEAPF32[(btVector3__getX_28_29_20const(HEAP32[($6 + 28 | 0) >> 2] | 0 | 0) | 0) >> 2]) > Math_fround(HEAPF32[(btVector3__getX_28_29_20const(HEAP32[($6 + 16 | 0) >> 2] | 0 | 0) | 0) >> 2]) & 1 | 0) { + break label$3 + } + if (!(Math_fround(HEAPF32[(btVector3__getX_28_29_20const(HEAP32[($6 + 24 | 0) >> 2] | 0 | 0) | 0) >> 2]) < Math_fround(HEAPF32[(btVector3__getX_28_29_20const(HEAP32[($6 + 20 | 0) >> 2] | 0 | 0) | 0) >> 2]) & 1 | 0)) { + break label$2 + } + } + $27 = 0; + break label$1; + } + $27 = HEAPU8[($6 + 15 | 0) >> 0] | 0; + } + HEAP8[($6 + 15 | 0) >> 0] = $27 & 1 | 0; + label$4 : { + label$5 : { + label$6 : { + if (Math_fround(HEAPF32[(btVector3__getZ_28_29_20const(HEAP32[($6 + 28 | 0) >> 2] | 0 | 0) | 0) >> 2]) > Math_fround(HEAPF32[(btVector3__getZ_28_29_20const(HEAP32[($6 + 16 | 0) >> 2] | 0 | 0) | 0) >> 2]) & 1 | 0) { + break label$6 + } + if (!(Math_fround(HEAPF32[(btVector3__getZ_28_29_20const(HEAP32[($6 + 24 | 0) >> 2] | 0 | 0) | 0) >> 2]) < Math_fround(HEAPF32[(btVector3__getZ_28_29_20const(HEAP32[($6 + 20 | 0) >> 2] | 0 | 0) | 0) >> 2]) & 1 | 0)) { + break label$5 + } + } + $51 = 0; + break label$4; + } + $51 = HEAPU8[($6 + 15 | 0) >> 0] | 0; + } + HEAP8[($6 + 15 | 0) >> 0] = $51 & 1 | 0; + label$7 : { + label$8 : { + label$9 : { + if (Math_fround(HEAPF32[(btVector3__getY_28_29_20const(HEAP32[($6 + 28 | 0) >> 2] | 0 | 0) | 0) >> 2]) > Math_fround(HEAPF32[(btVector3__getY_28_29_20const(HEAP32[($6 + 16 | 0) >> 2] | 0 | 0) | 0) >> 2]) & 1 | 0) { + break label$9 + } + if (!(Math_fround(HEAPF32[(btVector3__getY_28_29_20const(HEAP32[($6 + 24 | 0) >> 2] | 0 | 0) | 0) >> 2]) < Math_fround(HEAPF32[(btVector3__getY_28_29_20const(HEAP32[($6 + 20 | 0) >> 2] | 0 | 0) | 0) >> 2]) & 1 | 0)) { + break label$8 + } + } + $75 = 0; + break label$7; + } + $75 = HEAPU8[($6 + 15 | 0) >> 0] | 0; + } + HEAP8[($6 + 15 | 0) >> 0] = $75 & 1 | 0; + $82 = (HEAPU8[($6 + 15 | 0) >> 0] | 0) & 1 | 0; + __stack_pointer = $6 + 32 | 0; + return $82 | 0; + } + + function btCompoundLeafCallback___btCompoundLeafCallback_28_29($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + btDbvt__ICollide___ICollide_28_29($4 | 0) | 0; + __stack_pointer = $3 + 16 | 0; + return $4 | 0; + } + + function btCompoundCollisionAlgorithm__calculateTimeOfImpact_28btCollisionObject__2c_20btCollisionObject__2c_20btDispatcherInfo_20const__2c_20btManifoldResult__29($0, $1, $2, $3, $4) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + $4 = $4 | 0; + var $7 = 0; + $7 = __stack_pointer - 112 | 0; + __stack_pointer = $7; + HEAP32[($7 + 108 | 0) >> 2] = $0; + HEAP32[($7 + 104 | 0) >> 2] = $1; + HEAP32[($7 + 100 | 0) >> 2] = $2; + HEAP32[($7 + 96 | 0) >> 2] = $3; + HEAP32[($7 + 92 | 0) >> 2] = $4; + __assert_fail(86177 | 0, 73354 | 0, 353 | 0, 68931 | 0); + wasm2js_trap(); + } + + function btCompoundCollisionAlgorithm__getAllContactManifolds_28btAlignedObjectArray_btPersistentManifold____29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, $5 = 0, $31 = 0; + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; + HEAP32[($4 + 4 | 0) >> 2] = 0; + label$1 : { + label$2 : while (1) { + if (!((HEAP32[($4 + 4 | 0) >> 2] | 0 | 0) < (btAlignedObjectArray_btCollisionAlgorithm____size_28_29_20const($5 + 48 | 0 | 0) | 0 | 0) & 1 | 0)) { + break label$1 + } + label$3 : { + if (!((HEAP32[(btAlignedObjectArray_btCollisionAlgorithm____operator_5b_5d_28int_29($5 + 48 | 0 | 0, HEAP32[($4 + 4 | 0) >> 2] | 0 | 0) | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$3 + } + $31 = HEAP32[(btAlignedObjectArray_btCollisionAlgorithm____operator_5b_5d_28int_29($5 + 48 | 0 | 0, HEAP32[($4 + 4 | 0) >> 2] | 0 | 0) | 0) >> 2] | 0; + FUNCTION_TABLE[HEAP32[((HEAP32[$31 >> 2] | 0) + 16 | 0) >> 2] | 0 | 0]($31, HEAP32[($4 + 8 | 0) >> 2] | 0); + } + HEAP32[($4 + 4 | 0) >> 2] = (HEAP32[($4 + 4 | 0) >> 2] | 0) + 1 | 0; + continue label$2; + }; + } + __stack_pointer = $4 + 16 | 0; + return; + } + + function btCompoundLeafCallback___btCompoundLeafCallback_28_29_1($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + btCompoundLeafCallback___btCompoundLeafCallback_28_29($4 | 0) | 0; + operator_20delete_28void__29($4 | 0); + __stack_pointer = $3 + 16 | 0; + return; + } + + function btCompoundLeafCallback__Process_28btDbvtNode_20const__29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, $5 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4 = __stack_pointer - 32 | 0; + __stack_pointer = $4; + HEAP32[($4 + 28 | 0) >> 2] = $0; + HEAP32[($4 + 24 | 0) >> 2] = $1; + $5 = HEAP32[($4 + 28 | 0) >> 2] | 0; + HEAP32[($4 + 20 | 0) >> 2] = HEAP32[((HEAP32[($4 + 24 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0; + (wasm2js_i32$0 = $4, wasm2js_i32$1 = btCollisionObjectWrapper__getCollisionShape_28_29_20const(HEAP32[($5 + 4 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $4, wasm2js_i32$1 = btCompoundShape__getChildShape_28int_29_20const(HEAP32[($4 + 16 | 0) >> 2] | 0 | 0, HEAP32[($4 + 20 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + btCompoundLeafCallback__ProcessChildShape_28btCollisionShape_20const__2c_20int_29($5 | 0, HEAP32[($4 + 12 | 0) >> 2] | 0 | 0, HEAP32[($4 + 20 | 0) >> 2] | 0 | 0); + __stack_pointer = $4 + 32 | 0; + return; + } + + function btAlignedObjectArray_btCollisionAlgorithm____destroy_28int_2c_20int_29($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $5 = 0; + $5 = __stack_pointer - 16 | 0; + HEAP32[($5 + 12 | 0) >> 2] = $0; + HEAP32[($5 + 8 | 0) >> 2] = $1; + HEAP32[($5 + 4 | 0) >> 2] = $2; + HEAP32[($5 + 12 | 0) >> 2] | 0; + HEAP32[$5 >> 2] = HEAP32[($5 + 8 | 0) >> 2] | 0; + label$1 : { + label$2 : while (1) { + if (!((HEAP32[$5 >> 2] | 0 | 0) < (HEAP32[($5 + 4 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$1 + } + HEAP32[$5 >> 2] = (HEAP32[$5 >> 2] | 0) + 1 | 0; + continue label$2; + }; + } + return; + } + + function btAlignedObjectArray_btCollisionAlgorithm____deallocate_28_29($0) { + $0 = $0 | 0; + var $4 = 0, $3 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + label$1 : { + if (!((HEAP32[($4 + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + label$2 : { + if (!((HEAPU8[($4 + 16 | 0) >> 0] | 0) & 1 | 0)) { + break label$2 + } + btAlignedAllocator_btCollisionAlgorithm__2c_2016u___deallocate_28btCollisionAlgorithm___29($4 | 0, HEAP32[($4 + 12 | 0) >> 2] | 0 | 0); + } + HEAP32[($4 + 12 | 0) >> 2] = 0; + } + __stack_pointer = $3 + 16 | 0; + return; + } + + function btAlignedAllocator_btCollisionAlgorithm__2c_2016u___deallocate_28btCollisionAlgorithm___29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0; + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + btAlignedFreeInternal_28void__29(HEAP32[($4 + 8 | 0) >> 2] | 0 | 0); + __stack_pointer = $4 + 16 | 0; + return; + } + + function btAlignedObjectArray_btCollisionAlgorithm____capacity_28_29_20const($0) { + $0 = $0 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + return HEAP32[((HEAP32[($3 + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0; + } + + function btAlignedObjectArray_btCollisionAlgorithm____allocate_28int_29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, $5 = 0, $11 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[($4 + 8 | 0) >> 2] = $0; + HEAP32[($4 + 4 | 0) >> 2] = $1; + $5 = HEAP32[($4 + 8 | 0) >> 2] | 0; + label$1 : { + label$2 : { + if (!(HEAP32[($4 + 4 | 0) >> 2] | 0)) { + break label$2 + } + (wasm2js_i32$0 = $4, wasm2js_i32$1 = btAlignedAllocator_btCollisionAlgorithm__2c_2016u___allocate_28int_2c_20btCollisionAlgorithm__20const___29($5 | 0, HEAP32[($4 + 4 | 0) >> 2] | 0 | 0, 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + break label$1; + } + HEAP32[($4 + 12 | 0) >> 2] = 0; + } + $11 = HEAP32[($4 + 12 | 0) >> 2] | 0; + __stack_pointer = $4 + 16 | 0; + return $11 | 0; + } + + function btAlignedObjectArray_btCollisionAlgorithm____copy_28int_2c_20int_2c_20btCollisionAlgorithm___29_20const($0, $1, $2, $3) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + var $6 = 0, $7 = 0; + $6 = __stack_pointer - 32 | 0; + HEAP32[($6 + 28 | 0) >> 2] = $0; + HEAP32[($6 + 24 | 0) >> 2] = $1; + HEAP32[($6 + 20 | 0) >> 2] = $2; + HEAP32[($6 + 16 | 0) >> 2] = $3; + $7 = HEAP32[($6 + 28 | 0) >> 2] | 0; + HEAP32[($6 + 12 | 0) >> 2] = HEAP32[($6 + 24 | 0) >> 2] | 0; + label$1 : { + label$2 : while (1) { + if (!((HEAP32[($6 + 12 | 0) >> 2] | 0 | 0) < (HEAP32[($6 + 20 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$1 + } + HEAP32[((HEAP32[($6 + 16 | 0) >> 2] | 0) + ((HEAP32[($6 + 12 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = HEAP32[((HEAP32[($7 + 12 | 0) >> 2] | 0) + ((HEAP32[($6 + 12 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; + HEAP32[($6 + 12 | 0) >> 2] = (HEAP32[($6 + 12 | 0) >> 2] | 0) + 1 | 0; + continue label$2; + }; + } + return; + } + + function btAlignedAllocator_btCollisionAlgorithm__2c_2016u___allocate_28int_2c_20btCollisionAlgorithm__20const___29($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $5 = 0, $10 = 0; + $5 = __stack_pointer - 16 | 0; + __stack_pointer = $5; + HEAP32[($5 + 12 | 0) >> 2] = $0; + HEAP32[($5 + 8 | 0) >> 2] = $1; + HEAP32[($5 + 4 | 0) >> 2] = $2; + $10 = btAlignedAllocInternal_28unsigned_20long_2c_20int_29((HEAP32[($5 + 8 | 0) >> 2] | 0) << 2 | 0 | 0, 16 | 0) | 0; + __stack_pointer = $5 + 16 | 0; + return $10 | 0; + } + + function _GLOBAL__sub_I_btCompoundCollisionAlgorithm_cpp() { + __cxx_global_var_init_16(); + return; + } + + function __cxx_global_var_init_17() { + btInfMaskConverter__btInfMaskConverter_28int_29(114012 | 0, 2139095040 | 0) | 0; + return; + } + + function btCompoundCompoundCollisionAlgorithm__btCompoundCompoundCollisionAlgorithm_28btCollisionAlgorithmConstructionInfo_20const__2c_20btCollisionObjectWrapper_20const__2c_20btCollisionObjectWrapper_20const__2c_20bool_29($0, $1, $2, $3, $4) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + $4 = $4 | 0; + var $7 = 0, $9 = 0, $24 = 0, $53 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $7 = __stack_pointer - 48 | 0; + __stack_pointer = $7; + HEAP32[($7 + 40 | 0) >> 2] = $0; + HEAP32[($7 + 36 | 0) >> 2] = $1; + HEAP32[($7 + 32 | 0) >> 2] = $2; + HEAP32[($7 + 28 | 0) >> 2] = $3; + HEAP8[($7 + 27 | 0) >> 0] = $4; + $9 = HEAP32[($7 + 40 | 0) >> 2] | 0; + HEAP32[($7 + 44 | 0) >> 2] = $9; + btCompoundCollisionAlgorithm__btCompoundCollisionAlgorithm_28btCollisionAlgorithmConstructionInfo_20const__2c_20btCollisionObjectWrapper_20const__2c_20btCollisionObjectWrapper_20const__2c_20bool_29($9 | 0, HEAP32[($7 + 36 | 0) >> 2] | 0 | 0, HEAP32[($7 + 32 | 0) >> 2] | 0 | 0, HEAP32[($7 + 28 | 0) >> 2] | 0 | 0, (HEAPU8[($7 + 27 | 0) >> 0] | 0) & 1 | 0 | 0) | 0; + HEAP32[$9 >> 2] = 94928 + 8 | 0; + btAlignedObjectArray_btSimplePair___btAlignedObjectArray_28_29($9 + 88 | 0 | 0) | 0; + (wasm2js_i32$0 = $7, wasm2js_i32$1 = btAlignedAllocInternal_28unsigned_20long_2c_20int_29(64 | 0, 16 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + $24 = HEAP32[($7 + 20 | 0) >> 2] | 0; + btHashedSimplePairCache__btHashedSimplePairCache_28_29($24 | 0) | 0; + HEAP32[($9 + 84 | 0) >> 2] = $24; + HEAP32[($7 + 16 | 0) >> 2] = HEAP32[($7 + 32 | 0) >> 2] | 0; + label$1 : { + if ((btCollisionShape__isCompound_28_29_20const(btCollisionObjectWrapper__getCollisionShape_28_29_20const(HEAP32[($7 + 16 | 0) >> 2] | 0 | 0) | 0 | 0) | 0) & 1 | 0) { + break label$1 + } + __assert_fail(87812 | 0, 73490 | 0, 40 | 0, 77211 | 0); + wasm2js_trap(); + } + HEAP32[($7 + 12 | 0) >> 2] = HEAP32[($7 + 28 | 0) >> 2] | 0; + label$2 : { + if ((btCollisionShape__isCompound_28_29_20const(btCollisionObjectWrapper__getCollisionShape_28_29_20const(HEAP32[($7 + 12 | 0) >> 2] | 0 | 0) | 0 | 0) | 0) & 1 | 0) { + break label$2 + } + __assert_fail(87765 | 0, 73490 | 0, 43 | 0, 77211 | 0); + wasm2js_trap(); + } + (wasm2js_i32$0 = $7, wasm2js_i32$1 = btCollisionObjectWrapper__getCollisionShape_28_29_20const(HEAP32[($7 + 16 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $9, wasm2js_i32$1 = btCompoundShape__getUpdateRevision_28_29_20const(HEAP32[($7 + 8 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 108 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $7, wasm2js_i32$1 = btCollisionObjectWrapper__getCollisionShape_28_29_20const(HEAP32[($7 + 12 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $9, wasm2js_i32$1 = btCompoundShape__getUpdateRevision_28_29_20const(HEAP32[($7 + 4 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 112 | 0) >> 2] = wasm2js_i32$1; + $53 = HEAP32[($7 + 44 | 0) >> 2] | 0; + __stack_pointer = $7 + 48 | 0; + return $53 | 0; + } + + function btAlignedObjectArray_btSimplePair___btAlignedObjectArray_28_29($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + btAlignedAllocator_btSimplePair_2c_2016u___btAlignedAllocator_28_29($4 | 0) | 0; + btAlignedObjectArray_btSimplePair___init_28_29($4 | 0); + __stack_pointer = $3 + 16 | 0; + return $4 | 0; + } + + function btAlignedAllocator_btSimplePair_2c_2016u___btAlignedAllocator_28_29($0) { + $0 = $0 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + return HEAP32[($3 + 12 | 0) >> 2] | 0 | 0; + } + + function btAlignedObjectArray_btSimplePair___init_28_29($0) { + $0 = $0 | 0; + var $4 = 0, $3 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + HEAP8[($4 + 16 | 0) >> 0] = 1; + HEAP32[($4 + 12 | 0) >> 2] = 0; + HEAP32[($4 + 4 | 0) >> 2] = 0; + HEAP32[($4 + 8 | 0) >> 2] = 0; + return; + } + + function btCompoundCompoundCollisionAlgorithm___btCompoundCompoundCollisionAlgorithm_28_29($0) { + $0 = $0 | 0; + var $4 = 0, $3 = 0, $8 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + HEAP32[$4 >> 2] = 94928 + 8 | 0; + btCompoundCompoundCollisionAlgorithm__removeChildAlgorithms_28_29($4 | 0); + $8 = HEAP32[($4 + 84 | 0) >> 2] | 0; + FUNCTION_TABLE[HEAP32[(HEAP32[$8 >> 2] | 0) >> 2] | 0 | 0]($8) | 0; + btAlignedFreeInternal_28void__29(HEAP32[($4 + 84 | 0) >> 2] | 0 | 0); + btAlignedObjectArray_btSimplePair____btAlignedObjectArray_28_29($4 + 88 | 0 | 0) | 0; + btCompoundCollisionAlgorithm___btCompoundCollisionAlgorithm_28_29($4 | 0) | 0; + __stack_pointer = $3 + 16 | 0; + return $4 | 0; + } + + function btCompoundCompoundCollisionAlgorithm__removeChildAlgorithms_28_29($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0, $31 = 0, $34 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3 = __stack_pointer - 32 | 0; + __stack_pointer = $3; + HEAP32[($3 + 28 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 28 | 0) >> 2] | 0; + (wasm2js_i32$0 = $3, wasm2js_i32$1 = btHashedSimplePairCache__getOverlappingPairArray_28_29(HEAP32[($4 + 84 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 24 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $3, wasm2js_i32$1 = btAlignedObjectArray_btSimplePair___size_28_29_20const(HEAP32[($3 + 24 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($3 + 16 | 0) >> 2] = 0; + label$1 : { + label$2 : while (1) { + if (!((HEAP32[($3 + 16 | 0) >> 2] | 0 | 0) < (HEAP32[($3 + 20 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$1 + } + label$3 : { + if (!((HEAP32[((btAlignedObjectArray_btSimplePair___operator_5b_5d_28int_29(HEAP32[($3 + 24 | 0) >> 2] | 0 | 0, HEAP32[($3 + 16 | 0) >> 2] | 0 | 0) | 0) + 8 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$3 + } + (wasm2js_i32$0 = $3, wasm2js_i32$1 = HEAP32[((btAlignedObjectArray_btSimplePair___operator_5b_5d_28int_29(HEAP32[($3 + 24 | 0) >> 2] | 0 | 0, HEAP32[($3 + 16 | 0) >> 2] | 0 | 0) | 0) + 8 | 0) >> 2] | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + $31 = HEAP32[($3 + 12 | 0) >> 2] | 0; + FUNCTION_TABLE[HEAP32[(HEAP32[$31 >> 2] | 0) >> 2] | 0 | 0]($31) | 0; + $34 = HEAP32[($4 + 4 | 0) >> 2] | 0; + FUNCTION_TABLE[HEAP32[((HEAP32[$34 >> 2] | 0) + 60 | 0) >> 2] | 0 | 0]($34, HEAP32[($3 + 12 | 0) >> 2] | 0); + } + HEAP32[($3 + 16 | 0) >> 2] = (HEAP32[($3 + 16 | 0) >> 2] | 0) + 1 | 0; + continue label$2; + }; + } + btHashedSimplePairCache__removeAllPairs_28_29(HEAP32[($4 + 84 | 0) >> 2] | 0 | 0); + __stack_pointer = $3 + 32 | 0; + return; + } + + function btAlignedObjectArray_btSimplePair____btAlignedObjectArray_28_29($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + btAlignedObjectArray_btSimplePair___clear_28_29($4 | 0); + __stack_pointer = $3 + 16 | 0; + return $4 | 0; + } + + function btHashedSimplePairCache__getOverlappingPairArray_28_29($0) { + $0 = $0 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + return (HEAP32[($3 + 12 | 0) >> 2] | 0) + 4 | 0 | 0; + } + + function btAlignedObjectArray_btSimplePair___size_28_29_20const($0) { + $0 = $0 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + return HEAP32[((HEAP32[($3 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0; + } + + function btAlignedObjectArray_btSimplePair___operator_5b_5d_28int_29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, $5 = 0, $32 = 0; + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; + label$1 : { + if ((HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0) { + break label$1 + } + __assert_fail(85840 | 0, 78192 | 0, 183 | 0, 83901 | 0); + wasm2js_trap(); + } + label$2 : { + if ((HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) < (btAlignedObjectArray_btSimplePair___size_28_29_20const($5 | 0) | 0 | 0) & 1 | 0) { + break label$2 + } + __assert_fail(87321 | 0, 78192 | 0, 184 | 0, 83901 | 0); + wasm2js_trap(); + } + $32 = (HEAP32[($5 + 12 | 0) >> 2] | 0) + Math_imul(HEAP32[($4 + 8 | 0) >> 2] | 0, 12) | 0; + __stack_pointer = $4 + 16 | 0; + return $32 | 0; + } + + function btAlignedObjectArray_btSimplePair___clear_28_29($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + btAlignedObjectArray_btSimplePair___destroy_28int_2c_20int_29($4 | 0, 0 | 0, btAlignedObjectArray_btSimplePair___size_28_29_20const($4 | 0) | 0 | 0); + btAlignedObjectArray_btSimplePair___deallocate_28_29($4 | 0); + btAlignedObjectArray_btSimplePair___init_28_29($4 | 0); + __stack_pointer = $3 + 16 | 0; + return; + } + + function btCompoundCompoundCollisionAlgorithm___btCompoundCompoundCollisionAlgorithm_28_29_1($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + FUNCTION_TABLE[676 | 0]($4) | 0; + operator_20delete_28void__29($4 | 0); + __stack_pointer = $3 + 16 | 0; + return; + } + + function btCompoundCompoundCollisionAlgorithm__getAllContactManifolds_28btAlignedObjectArray_btPersistentManifold____29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, $30 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + (wasm2js_i32$0 = $4, wasm2js_i32$1 = btHashedSimplePairCache__getOverlappingPairArray_28_29(HEAP32[((HEAP32[($4 + 12 | 0) >> 2] | 0) + 84 | 0) >> 2] | 0 | 0) | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + HEAP32[($4 + 4 | 0) >> 2] = 0; + label$1 : { + label$2 : while (1) { + if (!((HEAP32[($4 + 4 | 0) >> 2] | 0 | 0) < (btAlignedObjectArray_btSimplePair___size_28_29_20const(HEAP32[$4 >> 2] | 0 | 0) | 0 | 0) & 1 | 0)) { + break label$1 + } + label$3 : { + if (!((HEAP32[((btAlignedObjectArray_btSimplePair___operator_5b_5d_28int_29(HEAP32[$4 >> 2] | 0 | 0, HEAP32[($4 + 4 | 0) >> 2] | 0 | 0) | 0) + 8 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$3 + } + $30 = HEAP32[((btAlignedObjectArray_btSimplePair___operator_5b_5d_28int_29(HEAP32[$4 >> 2] | 0 | 0, HEAP32[($4 + 4 | 0) >> 2] | 0 | 0) | 0) + 8 | 0) >> 2] | 0; + FUNCTION_TABLE[HEAP32[((HEAP32[$30 >> 2] | 0) + 16 | 0) >> 2] | 0 | 0]($30, HEAP32[($4 + 8 | 0) >> 2] | 0); + } + HEAP32[($4 + 4 | 0) >> 2] = (HEAP32[($4 + 4 | 0) >> 2] | 0) + 1 | 0; + continue label$2; + }; + } + __stack_pointer = $4 + 16 | 0; + return; + } + + function btCompoundCompoundCollisionAlgorithm__processCollision_28btCollisionObjectWrapper_20const__2c_20btCollisionObjectWrapper_20const__2c_20btDispatcherInfo_20const__2c_20btManifoldResult__29($0, $1, $2, $3, $4) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + $4 = $4 | 0; + var $7 = 0, $8 = 0, $80 = 0, $83 = 0, $84 = 0, $86 = 0, $125 = 0, $303 = 0, $384 = 0, $423 = 0, $426 = 0, $459 = 0, $82 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0, wasm2js_i32$2 = 0, wasm2js_i32$3 = 0; + $7 = __stack_pointer - 4400 | 0; + __stack_pointer = $7; + HEAP32[($7 + 4396 | 0) >> 2] = $0; + HEAP32[($7 + 4392 | 0) >> 2] = $1; + HEAP32[($7 + 4388 | 0) >> 2] = $2; + HEAP32[($7 + 4384 | 0) >> 2] = $3; + HEAP32[($7 + 4380 | 0) >> 2] = $4; + $8 = HEAP32[($7 + 4396 | 0) >> 2] | 0; + HEAP32[($7 + 4376 | 0) >> 2] = HEAP32[($7 + 4392 | 0) >> 2] | 0; + HEAP32[($7 + 4372 | 0) >> 2] = HEAP32[($7 + 4388 | 0) >> 2] | 0; + label$1 : { + if ((btCollisionShape__isCompound_28_29_20const(btCollisionObjectWrapper__getCollisionShape_28_29_20const(HEAP32[($7 + 4376 | 0) >> 2] | 0 | 0) | 0 | 0) | 0) & 1 | 0) { + break label$1 + } + __assert_fail(87812 | 0, 73490 | 0, 310 | 0, 76857 | 0); + wasm2js_trap(); + } + label$2 : { + if ((btCollisionShape__isCompound_28_29_20const(btCollisionObjectWrapper__getCollisionShape_28_29_20const(HEAP32[($7 + 4372 | 0) >> 2] | 0 | 0) | 0 | 0) | 0) & 1 | 0) { + break label$2 + } + __assert_fail(87765 | 0, 73490 | 0, 311 | 0, 76857 | 0); + wasm2js_trap(); + } + (wasm2js_i32$0 = $7, wasm2js_i32$1 = btCollisionObjectWrapper__getCollisionShape_28_29_20const(HEAP32[($7 + 4376 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4368 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $7, wasm2js_i32$1 = btCollisionObjectWrapper__getCollisionShape_28_29_20const(HEAP32[($7 + 4372 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4364 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $7, wasm2js_i32$1 = btCompoundShape__getDynamicAabbTree_28_29_20const(HEAP32[($7 + 4368 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4360 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $7, wasm2js_i32$1 = btCompoundShape__getDynamicAabbTree_28_29_20const(HEAP32[($7 + 4364 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4356 | 0) >> 2] = wasm2js_i32$1; + label$3 : { + label$4 : { + label$5 : { + if (!((HEAP32[($7 + 4360 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$5 + } + if ((HEAP32[($7 + 4356 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$4 + } + } + btCompoundCollisionAlgorithm__processCollision_28btCollisionObjectWrapper_20const__2c_20btCollisionObjectWrapper_20const__2c_20btDispatcherInfo_20const__2c_20btManifoldResult__29($8 | 0, HEAP32[($7 + 4392 | 0) >> 2] | 0 | 0, HEAP32[($7 + 4388 | 0) >> 2] | 0 | 0, HEAP32[($7 + 4384 | 0) >> 2] | 0 | 0, HEAP32[($7 + 4380 | 0) >> 2] | 0 | 0); + break label$3; + } + label$6 : { + label$7 : { + if ((btCompoundShape__getUpdateRevision_28_29_20const(HEAP32[($7 + 4368 | 0) >> 2] | 0 | 0) | 0 | 0) != (HEAP32[($8 + 108 | 0) >> 2] | 0 | 0) & 1 | 0) { + break label$7 + } + if (!((btCompoundShape__getUpdateRevision_28_29_20const(HEAP32[($7 + 4364 | 0) >> 2] | 0 | 0) | 0 | 0) != (HEAP32[($8 + 112 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$6 + } + } + btCompoundCompoundCollisionAlgorithm__removeChildAlgorithms_28_29($8 | 0); + (wasm2js_i32$0 = $8, wasm2js_i32$1 = btCompoundShape__getUpdateRevision_28_29_20const(HEAP32[($7 + 4368 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 108 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $8, wasm2js_i32$1 = btCompoundShape__getUpdateRevision_28_29_20const(HEAP32[($7 + 4364 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 112 | 0) >> 2] = wasm2js_i32$1; + } + btAlignedObjectArray_btPersistentManifold____btAlignedObjectArray_28_29($7 + 4332 | 0 | 0) | 0; + $80 = $7 + 848 | 0; + $82 = $80 + 3472 | 0; + $83 = $80; + label$8 : while (1) { + $84 = $83; + btPersistentManifold__btPersistentManifold_28_29($84 | 0) | 0; + $86 = $84 + 868 | 0; + $83 = $86; + if (!(($86 | 0) == ($82 | 0) & 1 | 0)) { + continue label$8 + } + break label$8; + }; + btAlignedObjectArray_btPersistentManifold____initializeFromBuffer_28void__2c_20int_2c_20int_29($7 + 4332 | 0 | 0, $7 + 848 | 0 | 0, 0 | 0, 4 | 0); + (wasm2js_i32$0 = $7, wasm2js_i32$1 = btHashedSimplePairCache__getOverlappingPairArray_28_29(HEAP32[($8 + 84 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 844 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($7 + 4352 | 0) >> 2] = 0; + label$9 : { + label$10 : while (1) { + if (!((HEAP32[($7 + 4352 | 0) >> 2] | 0 | 0) < (btAlignedObjectArray_btSimplePair___size_28_29_20const(HEAP32[($7 + 844 | 0) >> 2] | 0 | 0) | 0 | 0) & 1 | 0)) { + break label$9 + } + label$11 : { + if (!((HEAP32[((btAlignedObjectArray_btSimplePair___operator_5b_5d_28int_29(HEAP32[($7 + 844 | 0) >> 2] | 0 | 0, HEAP32[($7 + 4352 | 0) >> 2] | 0 | 0) | 0) + 8 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$11 + } + (wasm2js_i32$0 = $7, wasm2js_i32$1 = HEAP32[((btAlignedObjectArray_btSimplePair___operator_5b_5d_28int_29(HEAP32[($7 + 844 | 0) >> 2] | 0 | 0, HEAP32[($7 + 4352 | 0) >> 2] | 0 | 0) | 0) + 8 | 0) >> 2] | 0), HEAP32[(wasm2js_i32$0 + 840 | 0) >> 2] = wasm2js_i32$1; + $125 = HEAP32[($7 + 840 | 0) >> 2] | 0; + FUNCTION_TABLE[HEAP32[((HEAP32[$125 >> 2] | 0) + 16 | 0) >> 2] | 0 | 0]($125, $7 + 4332 | 0); + HEAP32[($7 + 836 | 0) >> 2] = 0; + label$12 : { + label$13 : while (1) { + if (!((HEAP32[($7 + 836 | 0) >> 2] | 0 | 0) < (btAlignedObjectArray_btPersistentManifold____size_28_29_20const($7 + 4332 | 0 | 0) | 0 | 0) & 1 | 0)) { + break label$12 + } + label$14 : { + if (!(btPersistentManifold__getNumContacts_28_29_20const(HEAP32[(btAlignedObjectArray_btPersistentManifold____operator_5b_5d_28int_29($7 + 4332 | 0 | 0, HEAP32[($7 + 836 | 0) >> 2] | 0 | 0) | 0) >> 2] | 0 | 0) | 0)) { + break label$14 + } + btManifoldResult__setPersistentManifold_28btPersistentManifold__29(HEAP32[($7 + 4380 | 0) >> 2] | 0 | 0, HEAP32[(btAlignedObjectArray_btPersistentManifold____operator_5b_5d_28int_29($7 + 4332 | 0 | 0, HEAP32[($7 + 836 | 0) >> 2] | 0 | 0) | 0) >> 2] | 0 | 0); + btManifoldResult__refreshContactPoints_28_29(HEAP32[($7 + 4380 | 0) >> 2] | 0 | 0); + btManifoldResult__setPersistentManifold_28btPersistentManifold__29(HEAP32[($7 + 4380 | 0) >> 2] | 0 | 0, 0 | 0); + } + HEAP32[($7 + 836 | 0) >> 2] = (HEAP32[($7 + 836 | 0) >> 2] | 0) + 1 | 0; + continue label$13; + }; + } + HEAP32[($7 + 832 | 0) >> 2] = 0; + btAlignedObjectArray_btPersistentManifold____resize_28int_2c_20btPersistentManifold__20const__29($7 + 4332 | 0 | 0, 0 | 0, $7 + 832 | 0 | 0); + } + HEAP32[($7 + 4352 | 0) >> 2] = (HEAP32[($7 + 4352 | 0) >> 2] | 0) + 1 | 0; + continue label$10; + }; + } + btAlignedObjectArray_btPersistentManifold_____btAlignedObjectArray_28_29($7 + 4332 | 0 | 0) | 0; + btCompoundCompoundLeafCallback__btCompoundCompoundLeafCallback_28btCollisionObjectWrapper_20const__2c_20btCollisionObjectWrapper_20const__2c_20btDispatcher__2c_20btDispatcherInfo_20const__2c_20btManifoldResult__2c_20btHashedSimplePairCache__2c_20btPersistentManifold__29($7 + 796 | 0 | 0, HEAP32[($7 + 4376 | 0) >> 2] | 0 | 0, HEAP32[($7 + 4372 | 0) >> 2] | 0 | 0, HEAP32[($8 + 4 | 0) >> 2] | 0 | 0, HEAP32[($7 + 4384 | 0) >> 2] | 0 | 0, HEAP32[($7 + 4380 | 0) >> 2] | 0 | 0, HEAP32[($8 + 84 | 0) >> 2] | 0 | 0, HEAP32[($8 + 72 | 0) >> 2] | 0 | 0) | 0; + btTransform__inverse_28_29_20const($7 + 668 | 0 | 0, btCollisionObjectWrapper__getWorldTransform_28_29_20const(HEAP32[($7 + 4376 | 0) >> 2] | 0 | 0) | 0 | 0); + btTransform__operator__28btTransform_20const__29_20const($7 + 732 | 0 | 0, $7 + 668 | 0 | 0, btCollisionObjectWrapper__getWorldTransform_28_29_20const(HEAP32[($7 + 4372 | 0) >> 2] | 0 | 0) | 0 | 0); + MycollideTT_28btDbvtNode_20const__2c_20btDbvtNode_20const__2c_20btTransform_20const__2c_20btCompoundCompoundLeafCallback__2c_20float_29(HEAP32[(HEAP32[($7 + 4360 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[(HEAP32[($7 + 4356 | 0) >> 2] | 0) >> 2] | 0 | 0, $7 + 732 | 0 | 0, $7 + 796 | 0 | 0, Math_fround(Math_fround(HEAPF32[((HEAP32[($7 + 4380 | 0) >> 2] | 0) + 32 | 0) >> 2]))); + label$15 : { + if (!(btAlignedObjectArray_btSimplePair___size_28_29_20const($8 + 88 | 0 | 0) | 0)) { + break label$15 + } + __assert_fail(85995 | 0, 73490 | 0, 378 | 0, 76857 | 0); + wasm2js_trap(); + } + (wasm2js_i32$0 = $7, wasm2js_i32$1 = btHashedSimplePairCache__getOverlappingPairArray_28_29(HEAP32[($8 + 84 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 664 | 0) >> 2] = wasm2js_i32$1; + btAlignedObjectArray_btPersistentManifold____btAlignedObjectArray_28_29($7 + 640 | 0 | 0) | 0; + btVector3__btVector3_28_29($7 + 624 | 0 | 0) | 0; + btVector3__btVector3_28_29($7 + 608 | 0 | 0) | 0; + btVector3__btVector3_28_29($7 + 592 | 0 | 0) | 0; + btVector3__btVector3_28_29($7 + 576 | 0 | 0) | 0; + HEAP32[($7 + 660 | 0) >> 2] = 0; + label$16 : { + label$17 : while (1) { + if (!((HEAP32[($7 + 660 | 0) >> 2] | 0 | 0) < (btAlignedObjectArray_btSimplePair___size_28_29_20const(HEAP32[($7 + 664 | 0) >> 2] | 0 | 0) | 0 | 0) & 1 | 0)) { + break label$16 + } + label$18 : { + if (!((HEAP32[((btAlignedObjectArray_btSimplePair___operator_5b_5d_28int_29(HEAP32[($7 + 664 | 0) >> 2] | 0 | 0, HEAP32[($7 + 660 | 0) >> 2] | 0 | 0) | 0) + 8 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$18 + } + (wasm2js_i32$0 = $7, wasm2js_i32$1 = HEAP32[((btAlignedObjectArray_btSimplePair___operator_5b_5d_28int_29(HEAP32[($7 + 664 | 0) >> 2] | 0 | 0, HEAP32[($7 + 660 | 0) >> 2] | 0 | 0) | 0) + 8 | 0) >> 2] | 0), HEAP32[(wasm2js_i32$0 + 572 | 0) >> 2] = wasm2js_i32$1; + btTransform__btTransform_28_29($7 + 508 | 0 | 0) | 0; + HEAP32[($7 + 504 | 0) >> 2] = 0; + btTransform__btTransform_28_29($7 + 440 | 0 | 0) | 0; + btTransform__btTransform_28_29($7 + 376 | 0 | 0) | 0; + (wasm2js_i32$0 = $7, wasm2js_i32$1 = btCompoundShape__getChildShape_28int_29_20const(HEAP32[($7 + 4368 | 0) >> 2] | 0 | 0, HEAP32[(btAlignedObjectArray_btSimplePair___operator_5b_5d_28int_29(HEAP32[($7 + 664 | 0) >> 2] | 0 | 0, HEAP32[($7 + 660 | 0) >> 2] | 0 | 0) | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 504 | 0) >> 2] = wasm2js_i32$1; + btTransform__operator__28btTransform_20const__29($7 + 508 | 0 | 0, btCollisionObjectWrapper__getWorldTransform_28_29_20const(HEAP32[($7 + 4376 | 0) >> 2] | 0 | 0) | 0 | 0) | 0; + btTransform__operator__28btTransform_20const__29($7 + 376 | 0 | 0, btCollisionObjectWrapper__getWorldTransform_28_29_20const(HEAP32[($7 + 4376 | 0) >> 2] | 0 | 0) | 0 | 0) | 0; + (wasm2js_i32$0 = $7, wasm2js_i32$1 = btCompoundShape__getChildTransform_28int_29_20const(HEAP32[($7 + 4368 | 0) >> 2] | 0 | 0, HEAP32[(btAlignedObjectArray_btSimplePair___operator_5b_5d_28int_29(HEAP32[($7 + 664 | 0) >> 2] | 0 | 0, HEAP32[($7 + 660 | 0) >> 2] | 0 | 0) | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 372 | 0) >> 2] = wasm2js_i32$1; + btTransform__operator__28btTransform_20const__29_20const($7 + 308 | 0 | 0, $7 + 508 | 0 | 0, HEAP32[($7 + 372 | 0) >> 2] | 0 | 0); + btTransform__operator__28btTransform_20const__29($7 + 440 | 0 | 0, $7 + 308 | 0 | 0) | 0; + $303 = HEAP32[($7 + 504 | 0) >> 2] | 0; + FUNCTION_TABLE[HEAP32[((HEAP32[$303 >> 2] | 0) + 8 | 0) >> 2] | 0 | 0]($303, $7 + 440 | 0, $7 + 624 | 0, $7 + 608 | 0); + btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($7 + 292 | 0 | 0, (HEAP32[($7 + 4380 | 0) >> 2] | 0) + 32 | 0 | 0, (HEAP32[($7 + 4380 | 0) >> 2] | 0) + 32 | 0 | 0, (HEAP32[($7 + 4380 | 0) >> 2] | 0) + 32 | 0 | 0) | 0; + btVector3__operator___28btVector3_20const__29($7 + 624 | 0 | 0, $7 + 292 | 0 | 0) | 0; + btVector3__operator___28btVector3_20const__29_1($7 + 608 | 0 | 0, $7 + 292 | 0 | 0) | 0; + btTransform__btTransform_28_29($7 + 228 | 0 | 0) | 0; + HEAP32[($7 + 224 | 0) >> 2] = 0; + btTransform__btTransform_28_29($7 + 160 | 0 | 0) | 0; + btTransform__btTransform_28_29($7 + 96 | 0 | 0) | 0; + (wasm2js_i32$0 = $7, wasm2js_i32$1 = btCompoundShape__getChildShape_28int_29_20const(HEAP32[($7 + 4364 | 0) >> 2] | 0 | 0, HEAP32[((btAlignedObjectArray_btSimplePair___operator_5b_5d_28int_29(HEAP32[($7 + 664 | 0) >> 2] | 0 | 0, HEAP32[($7 + 660 | 0) >> 2] | 0 | 0) | 0) + 4 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 224 | 0) >> 2] = wasm2js_i32$1; + btTransform__operator__28btTransform_20const__29($7 + 160 | 0 | 0, btCollisionObjectWrapper__getWorldTransform_28_29_20const(HEAP32[($7 + 4372 | 0) >> 2] | 0 | 0) | 0 | 0) | 0; + btTransform__operator__28btTransform_20const__29($7 + 228 | 0 | 0, btCollisionObjectWrapper__getWorldTransform_28_29_20const(HEAP32[($7 + 4372 | 0) >> 2] | 0 | 0) | 0 | 0) | 0; + (wasm2js_i32$0 = $7, wasm2js_i32$1 = btCompoundShape__getChildTransform_28int_29_20const(HEAP32[($7 + 4364 | 0) >> 2] | 0 | 0, HEAP32[((btAlignedObjectArray_btSimplePair___operator_5b_5d_28int_29(HEAP32[($7 + 664 | 0) >> 2] | 0 | 0, HEAP32[($7 + 660 | 0) >> 2] | 0 | 0) | 0) + 4 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 92 | 0) >> 2] = wasm2js_i32$1; + btTransform__operator__28btTransform_20const__29_20const($7 + 28 | 0 | 0, $7 + 160 | 0 | 0, HEAP32[($7 + 92 | 0) >> 2] | 0 | 0); + btTransform__operator__28btTransform_20const__29($7 + 96 | 0 | 0, $7 + 28 | 0 | 0) | 0; + $384 = HEAP32[($7 + 224 | 0) >> 2] | 0; + FUNCTION_TABLE[HEAP32[((HEAP32[$384 >> 2] | 0) + 8 | 0) >> 2] | 0 | 0]($384, $7 + 96 | 0, $7 + 592 | 0, $7 + 576 | 0); + btVector3__operator___28btVector3_20const__29($7 + 592 | 0 | 0, $7 + 292 | 0 | 0) | 0; + btVector3__operator___28btVector3_20const__29_1($7 + 576 | 0 | 0, $7 + 292 | 0 | 0) | 0; + label$19 : { + if ((TestAabbAgainstAabb2_28btVector3_20const__2c_20btVector3_20const__2c_20btVector3_20const__2c_20btVector3_20const__29($7 + 624 | 0 | 0, $7 + 608 | 0 | 0, $7 + 592 | 0 | 0, $7 + 576 | 0 | 0) | 0) & 1 | 0) { + break label$19 + } + $423 = HEAP32[($7 + 572 | 0) >> 2] | 0; + FUNCTION_TABLE[HEAP32[(HEAP32[$423 >> 2] | 0) >> 2] | 0 | 0]($423) | 0; + $426 = HEAP32[($8 + 4 | 0) >> 2] | 0; + FUNCTION_TABLE[HEAP32[((HEAP32[$426 >> 2] | 0) + 60 | 0) >> 2] | 0 | 0]($426, HEAP32[($7 + 572 | 0) >> 2] | 0); + btSimplePair__btSimplePair_28int_2c_20int_29($7 + 16 | 0 | 0, HEAP32[(btAlignedObjectArray_btSimplePair___operator_5b_5d_28int_29(HEAP32[($7 + 664 | 0) >> 2] | 0 | 0, HEAP32[($7 + 660 | 0) >> 2] | 0 | 0) | 0) >> 2] | 0 | 0, HEAP32[((btAlignedObjectArray_btSimplePair___operator_5b_5d_28int_29(HEAP32[($7 + 664 | 0) >> 2] | 0 | 0, HEAP32[($7 + 660 | 0) >> 2] | 0 | 0) | 0) + 4 | 0) >> 2] | 0 | 0) | 0; + btAlignedObjectArray_btSimplePair___push_back_28btSimplePair_20const__29($8 + 88 | 0 | 0, $7 + 16 | 0 | 0); + } + } + HEAP32[($7 + 660 | 0) >> 2] = (HEAP32[($7 + 660 | 0) >> 2] | 0) + 1 | 0; + continue label$17; + }; + } + HEAP32[($7 + 12 | 0) >> 2] = 0; + label$20 : { + label$21 : while (1) { + if (!((HEAP32[($7 + 12 | 0) >> 2] | 0 | 0) < (btAlignedObjectArray_btSimplePair___size_28_29_20const($8 + 88 | 0 | 0) | 0 | 0) & 1 | 0)) { + break label$20 + } + $459 = HEAP32[($8 + 84 | 0) >> 2] | 0; + (((wasm2js_i32$1 = $459, wasm2js_i32$2 = HEAP32[(btAlignedObjectArray_btSimplePair___operator_5b_5d_28int_29($8 + 88 | 0 | 0, HEAP32[($7 + 12 | 0) >> 2] | 0 | 0) | 0) >> 2] | 0), wasm2js_i32$3 = HEAP32[((btAlignedObjectArray_btSimplePair___operator_5b_5d_28int_29($8 + 88 | 0 | 0, HEAP32[($7 + 12 | 0) >> 2] | 0 | 0) | 0) + 4 | 0) >> 2] | 0), wasm2js_i32$0 = HEAP32[((HEAP32[$459 >> 2] | 0) + 8 | 0) >> 2] | 0 | 0), FUNCTION_TABLE[wasm2js_i32$0](wasm2js_i32$1 | 0, wasm2js_i32$2 | 0, wasm2js_i32$3 | 0) | 0; + HEAP32[($7 + 12 | 0) >> 2] = (HEAP32[($7 + 12 | 0) >> 2] | 0) + 1 | 0; + continue label$21; + }; + } + btAlignedObjectArray_btSimplePair___clear_28_29($8 + 88 | 0 | 0); + btAlignedObjectArray_btPersistentManifold_____btAlignedObjectArray_28_29($7 + 640 | 0 | 0) | 0; + btCompoundCompoundLeafCallback___btCompoundCompoundLeafCallback_28_29($7 + 796 | 0 | 0) | 0; + } + __stack_pointer = $7 + 4400 | 0; + return; + } + + function btAlignedObjectArray_btPersistentManifold____initializeFromBuffer_28void__2c_20int_2c_20int_29($0, $1, $2, $3) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + var $6 = 0, $7 = 0; + $6 = __stack_pointer - 16 | 0; + __stack_pointer = $6; + HEAP32[($6 + 12 | 0) >> 2] = $0; + HEAP32[($6 + 8 | 0) >> 2] = $1; + HEAP32[($6 + 4 | 0) >> 2] = $2; + HEAP32[$6 >> 2] = $3; + $7 = HEAP32[($6 + 12 | 0) >> 2] | 0; + btAlignedObjectArray_btPersistentManifold____clear_28_29($7 | 0); + HEAP8[($7 + 16 | 0) >> 0] = 0; + HEAP32[($7 + 12 | 0) >> 2] = HEAP32[($6 + 8 | 0) >> 2] | 0; + HEAP32[($7 + 4 | 0) >> 2] = HEAP32[($6 + 4 | 0) >> 2] | 0; + HEAP32[($7 + 8 | 0) >> 2] = HEAP32[$6 >> 2] | 0; + __stack_pointer = $6 + 16 | 0; + return; + } + + function btCompoundCompoundLeafCallback__btCompoundCompoundLeafCallback_28btCollisionObjectWrapper_20const__2c_20btCollisionObjectWrapper_20const__2c_20btDispatcher__2c_20btDispatcherInfo_20const__2c_20btManifoldResult__2c_20btHashedSimplePairCache__2c_20btPersistentManifold__29($0, $1, $2, $3, $4, $5, $6, $7) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + $4 = $4 | 0; + $5 = $5 | 0; + $6 = $6 | 0; + $7 = $7 | 0; + var $10 = 0, $11 = 0; + $10 = __stack_pointer - 32 | 0; + __stack_pointer = $10; + HEAP32[($10 + 28 | 0) >> 2] = $0; + HEAP32[($10 + 24 | 0) >> 2] = $1; + HEAP32[($10 + 20 | 0) >> 2] = $2; + HEAP32[($10 + 16 | 0) >> 2] = $3; + HEAP32[($10 + 12 | 0) >> 2] = $4; + HEAP32[($10 + 8 | 0) >> 2] = $5; + HEAP32[($10 + 4 | 0) >> 2] = $6; + HEAP32[$10 >> 2] = $7; + $11 = HEAP32[($10 + 28 | 0) >> 2] | 0; + btDbvt__ICollide__ICollide_28_29($11 | 0) | 0; + HEAP32[$11 >> 2] = 95008 + 8 | 0; + HEAP32[($11 + 4 | 0) >> 2] = 0; + HEAP32[($11 + 8 | 0) >> 2] = HEAP32[($10 + 24 | 0) >> 2] | 0; + HEAP32[($11 + 12 | 0) >> 2] = HEAP32[($10 + 20 | 0) >> 2] | 0; + HEAP32[($11 + 16 | 0) >> 2] = HEAP32[($10 + 16 | 0) >> 2] | 0; + HEAP32[($11 + 20 | 0) >> 2] = HEAP32[($10 + 12 | 0) >> 2] | 0; + HEAP32[($11 + 24 | 0) >> 2] = HEAP32[($10 + 8 | 0) >> 2] | 0; + HEAP32[($11 + 28 | 0) >> 2] = HEAP32[($10 + 4 | 0) >> 2] | 0; + HEAP32[($11 + 32 | 0) >> 2] = HEAP32[$10 >> 2] | 0; + __stack_pointer = $10 + 32 | 0; + return $11 | 0; + } + + function MycollideTT_28btDbvtNode_20const__2c_20btDbvtNode_20const__2c_20btTransform_20const__2c_20btCompoundCompoundLeafCallback__2c_20float_29($0, $1, $2, $3, $4) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + $4 = Math_fround($4); + var $7 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, $29 = 0, $32 = 0, $33 = 0, $35 = 0, $47 = 0, $61 = 0, $117 = 0, $132 = 0, $147 = 0, $162 = 0, $176 = 0, $190 = 0, $208 = 0, $222 = 0, $230 = 0, $31 = 0, $57 = 0, $349 = 0, $367 = 0, $86 = 0, $123 = 0, $488 = 0, $138 = 0, $522 = 0, $153 = 0, $556 = 0, $168 = 0, $590 = 0, $182 = 0, $622 = 0, $196 = 0, $654 = 0, $214 = 0, $695 = 0, $228 = 0, $727 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $7 = __stack_pointer - 1168 | 0; + __stack_pointer = $7; + HEAP32[($7 + 1164 | 0) >> 2] = $0; + HEAP32[($7 + 1160 | 0) >> 2] = $1; + HEAP32[($7 + 1156 | 0) >> 2] = $2; + HEAP32[($7 + 1152 | 0) >> 2] = $3; + HEAPF32[($7 + 1148 | 0) >> 2] = $4; + label$1 : { + if (!((HEAP32[($7 + 1164 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + if (!((HEAP32[($7 + 1160 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + HEAP32[($7 + 1144 | 0) >> 2] = 1; + HEAP32[($7 + 1140 | 0) >> 2] = 124; + btAlignedObjectArray_btDbvt__sStkNN___btAlignedObjectArray_28_29($7 + 1120 | 0 | 0) | 0; + $29 = $7 + 96 | 0; + $31 = $29 + 1024 | 0; + $32 = $29; + label$2 : while (1) { + $33 = $32; + btDbvt__sStkNN__sStkNN_28_29($33 | 0) | 0; + $35 = $33 + 8 | 0; + $32 = $35; + if (!(($35 | 0) == ($31 | 0) & 1 | 0)) { + continue label$2 + } + break label$2; + }; + $47 = 128; + btAlignedObjectArray_btDbvt__sStkNN___initializeFromBuffer_28void__2c_20int_2c_20int_29($7 + 1120 | 0 | 0, $7 + 96 | 0 | 0, $47 | 0, $47 | 0); + btDbvt__sStkNN__sStkNN_28btDbvtNode_20const__2c_20btDbvtNode_20const__29($7 + 88 | 0 | 0, HEAP32[($7 + 1164 | 0) >> 2] | 0 | 0, HEAP32[($7 + 1160 | 0) >> 2] | 0 | 0) | 0; + $57 = btAlignedObjectArray_btDbvt__sStkNN___operator_5b_5d_28int_29($7 + 1120 | 0 | 0, 0 | 0) | 0; + i64toi32_i32$2 = $7; + i64toi32_i32$0 = HEAP32[($7 + 88 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($7 + 92 | 0) >> 2] | 0; + $349 = i64toi32_i32$0; + i64toi32_i32$0 = $57; + HEAP32[i64toi32_i32$0 >> 2] = $349; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + label$3 : while (1) { + $61 = (HEAP32[($7 + 1144 | 0) >> 2] | 0) + -1 | 0; + HEAP32[($7 + 1144 | 0) >> 2] = $61; + i64toi32_i32$2 = btAlignedObjectArray_btDbvt__sStkNN___operator_5b_5d_28int_29($7 + 1120 | 0 | 0, $61 | 0) | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $367 = i64toi32_i32$1; + i64toi32_i32$1 = $7; + HEAP32[($7 + 80 | 0) >> 2] = $367; + HEAP32[($7 + 84 | 0) >> 2] = i64toi32_i32$0; + label$4 : { + if (!((MyIntersect_28btDbvtAabbMm_20const__2c_20btDbvtAabbMm_20const__2c_20btTransform_20const__2c_20float_29(HEAP32[($7 + 80 | 0) >> 2] | 0 | 0, HEAP32[($7 + 84 | 0) >> 2] | 0 | 0, HEAP32[($7 + 1156 | 0) >> 2] | 0 | 0, Math_fround(Math_fround(HEAPF32[($7 + 1148 | 0) >> 2]))) | 0) & 1 | 0)) { + break label$4 + } + label$5 : { + if (!((HEAP32[($7 + 1144 | 0) >> 2] | 0 | 0) > (HEAP32[($7 + 1140 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$5 + } + $86 = (btAlignedObjectArray_btDbvt__sStkNN___size_28_29_20const($7 + 1120 | 0 | 0) | 0) << 1 | 0; + btDbvt__sStkNN__sStkNN_28_29($7 + 72 | 0 | 0) | 0; + btAlignedObjectArray_btDbvt__sStkNN___resize_28int_2c_20btDbvt__sStkNN_20const__29($7 + 1120 | 0 | 0, $86 | 0, $7 + 72 | 0 | 0); + (wasm2js_i32$0 = $7, wasm2js_i32$1 = (btAlignedObjectArray_btDbvt__sStkNN___size_28_29_20const($7 + 1120 | 0 | 0) | 0) - 4 | 0), HEAP32[(wasm2js_i32$0 + 1140 | 0) >> 2] = wasm2js_i32$1; + } + label$6 : { + label$7 : { + if (!((btDbvtNode__isinternal_28_29_20const(HEAP32[($7 + 80 | 0) >> 2] | 0 | 0) | 0) & 1 | 0)) { + break label$7 + } + label$8 : { + label$9 : { + if (!((btDbvtNode__isinternal_28_29_20const(HEAP32[($7 + 84 | 0) >> 2] | 0 | 0) | 0) & 1 | 0)) { + break label$9 + } + btDbvt__sStkNN__sStkNN_28btDbvtNode_20const__2c_20btDbvtNode_20const__29($7 + 64 | 0 | 0, HEAP32[((HEAP32[($7 + 80 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($7 + 84 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0 | 0) | 0; + $117 = HEAP32[($7 + 1144 | 0) >> 2] | 0; + HEAP32[($7 + 1144 | 0) >> 2] = $117 + 1 | 0; + $123 = btAlignedObjectArray_btDbvt__sStkNN___operator_5b_5d_28int_29($7 + 1120 | 0 | 0, $117 | 0) | 0; + i64toi32_i32$2 = $7; + i64toi32_i32$0 = HEAP32[($7 + 64 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($7 + 68 | 0) >> 2] | 0; + $488 = i64toi32_i32$0; + i64toi32_i32$0 = $123; + HEAP32[i64toi32_i32$0 >> 2] = $488; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + btDbvt__sStkNN__sStkNN_28btDbvtNode_20const__2c_20btDbvtNode_20const__29($7 + 56 | 0 | 0, HEAP32[((HEAP32[($7 + 80 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($7 + 84 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0 | 0) | 0; + $132 = HEAP32[($7 + 1144 | 0) >> 2] | 0; + HEAP32[($7 + 1144 | 0) >> 2] = $132 + 1 | 0; + $138 = btAlignedObjectArray_btDbvt__sStkNN___operator_5b_5d_28int_29($7 + 1120 | 0 | 0, $132 | 0) | 0; + i64toi32_i32$2 = $7; + i64toi32_i32$1 = HEAP32[($7 + 56 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($7 + 60 | 0) >> 2] | 0; + $522 = i64toi32_i32$1; + i64toi32_i32$1 = $138; + HEAP32[i64toi32_i32$1 >> 2] = $522; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + btDbvt__sStkNN__sStkNN_28btDbvtNode_20const__2c_20btDbvtNode_20const__29($7 + 48 | 0 | 0, HEAP32[((HEAP32[($7 + 80 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($7 + 84 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0 | 0) | 0; + $147 = HEAP32[($7 + 1144 | 0) >> 2] | 0; + HEAP32[($7 + 1144 | 0) >> 2] = $147 + 1 | 0; + $153 = btAlignedObjectArray_btDbvt__sStkNN___operator_5b_5d_28int_29($7 + 1120 | 0 | 0, $147 | 0) | 0; + i64toi32_i32$2 = $7; + i64toi32_i32$0 = HEAP32[($7 + 48 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($7 + 52 | 0) >> 2] | 0; + $556 = i64toi32_i32$0; + i64toi32_i32$0 = $153; + HEAP32[i64toi32_i32$0 >> 2] = $556; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + btDbvt__sStkNN__sStkNN_28btDbvtNode_20const__2c_20btDbvtNode_20const__29($7 + 40 | 0 | 0, HEAP32[((HEAP32[($7 + 80 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($7 + 84 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0 | 0) | 0; + $162 = HEAP32[($7 + 1144 | 0) >> 2] | 0; + HEAP32[($7 + 1144 | 0) >> 2] = $162 + 1 | 0; + $168 = btAlignedObjectArray_btDbvt__sStkNN___operator_5b_5d_28int_29($7 + 1120 | 0 | 0, $162 | 0) | 0; + i64toi32_i32$2 = $7; + i64toi32_i32$1 = HEAP32[($7 + 40 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($7 + 44 | 0) >> 2] | 0; + $590 = i64toi32_i32$1; + i64toi32_i32$1 = $168; + HEAP32[i64toi32_i32$1 >> 2] = $590; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + break label$8; + } + btDbvt__sStkNN__sStkNN_28btDbvtNode_20const__2c_20btDbvtNode_20const__29($7 + 32 | 0 | 0, HEAP32[((HEAP32[($7 + 80 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0 | 0, HEAP32[($7 + 84 | 0) >> 2] | 0 | 0) | 0; + $176 = HEAP32[($7 + 1144 | 0) >> 2] | 0; + HEAP32[($7 + 1144 | 0) >> 2] = $176 + 1 | 0; + $182 = btAlignedObjectArray_btDbvt__sStkNN___operator_5b_5d_28int_29($7 + 1120 | 0 | 0, $176 | 0) | 0; + i64toi32_i32$2 = $7; + i64toi32_i32$0 = HEAP32[($7 + 32 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($7 + 36 | 0) >> 2] | 0; + $622 = i64toi32_i32$0; + i64toi32_i32$0 = $182; + HEAP32[i64toi32_i32$0 >> 2] = $622; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + btDbvt__sStkNN__sStkNN_28btDbvtNode_20const__2c_20btDbvtNode_20const__29($7 + 24 | 0 | 0, HEAP32[((HEAP32[($7 + 80 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0 | 0, HEAP32[($7 + 84 | 0) >> 2] | 0 | 0) | 0; + $190 = HEAP32[($7 + 1144 | 0) >> 2] | 0; + HEAP32[($7 + 1144 | 0) >> 2] = $190 + 1 | 0; + $196 = btAlignedObjectArray_btDbvt__sStkNN___operator_5b_5d_28int_29($7 + 1120 | 0 | 0, $190 | 0) | 0; + i64toi32_i32$2 = $7; + i64toi32_i32$1 = HEAP32[($7 + 24 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($7 + 28 | 0) >> 2] | 0; + $654 = i64toi32_i32$1; + i64toi32_i32$1 = $196; + HEAP32[i64toi32_i32$1 >> 2] = $654; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + } + break label$6; + } + label$10 : { + label$11 : { + if (!((btDbvtNode__isinternal_28_29_20const(HEAP32[($7 + 84 | 0) >> 2] | 0 | 0) | 0) & 1 | 0)) { + break label$11 + } + btDbvt__sStkNN__sStkNN_28btDbvtNode_20const__2c_20btDbvtNode_20const__29($7 + 16 | 0 | 0, HEAP32[($7 + 80 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($7 + 84 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0 | 0) | 0; + $208 = HEAP32[($7 + 1144 | 0) >> 2] | 0; + HEAP32[($7 + 1144 | 0) >> 2] = $208 + 1 | 0; + $214 = btAlignedObjectArray_btDbvt__sStkNN___operator_5b_5d_28int_29($7 + 1120 | 0 | 0, $208 | 0) | 0; + i64toi32_i32$2 = $7; + i64toi32_i32$0 = HEAP32[($7 + 16 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($7 + 20 | 0) >> 2] | 0; + $695 = i64toi32_i32$0; + i64toi32_i32$0 = $214; + HEAP32[i64toi32_i32$0 >> 2] = $695; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + btDbvt__sStkNN__sStkNN_28btDbvtNode_20const__2c_20btDbvtNode_20const__29($7 + 8 | 0 | 0, HEAP32[($7 + 80 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($7 + 84 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0 | 0) | 0; + $222 = HEAP32[($7 + 1144 | 0) >> 2] | 0; + HEAP32[($7 + 1144 | 0) >> 2] = $222 + 1 | 0; + $228 = btAlignedObjectArray_btDbvt__sStkNN___operator_5b_5d_28int_29($7 + 1120 | 0 | 0, $222 | 0) | 0; + i64toi32_i32$2 = $7; + i64toi32_i32$1 = HEAP32[($7 + 8 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($7 + 12 | 0) >> 2] | 0; + $727 = i64toi32_i32$1; + i64toi32_i32$1 = $228; + HEAP32[i64toi32_i32$1 >> 2] = $727; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + break label$10; + } + $230 = HEAP32[($7 + 1152 | 0) >> 2] | 0; + FUNCTION_TABLE[HEAP32[((HEAP32[$230 >> 2] | 0) + 8 | 0) >> 2] | 0 | 0]($230, HEAP32[($7 + 80 | 0) >> 2] | 0, HEAP32[($7 + 84 | 0) >> 2] | 0); + } + } + } + if (HEAP32[($7 + 1144 | 0) >> 2] | 0) { + continue label$3 + } + break label$3; + }; + btAlignedObjectArray_btDbvt__sStkNN____btAlignedObjectArray_28_29($7 + 1120 | 0 | 0) | 0; + } + __stack_pointer = $7 + 1168 | 0; + return; + } + + function btSimplePair__btSimplePair_28int_2c_20int_29($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $5 = 0, $6 = 0; + $5 = __stack_pointer - 16 | 0; + HEAP32[($5 + 12 | 0) >> 2] = $0; + HEAP32[($5 + 8 | 0) >> 2] = $1; + HEAP32[($5 + 4 | 0) >> 2] = $2; + $6 = HEAP32[($5 + 12 | 0) >> 2] | 0; + HEAP32[$6 >> 2] = HEAP32[($5 + 8 | 0) >> 2] | 0; + HEAP32[($6 + 4 | 0) >> 2] = HEAP32[($5 + 4 | 0) >> 2] | 0; + HEAP32[($6 + 8 | 0) >> 2] = 0; + return $6 | 0; + } + + function btAlignedObjectArray_btSimplePair___push_back_28btSimplePair_20const__29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $5 = 0, $4 = 0, i64toi32_i32$0 = 0, $21 = 0, $23 = 0, i64toi32_i32$1 = 0, $83 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; + (wasm2js_i32$0 = $4, wasm2js_i32$1 = btAlignedObjectArray_btSimplePair___size_28_29_20const($5 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + if (!((HEAP32[($4 + 4 | 0) >> 2] | 0 | 0) == (btAlignedObjectArray_btSimplePair___capacity_28_29_20const($5 | 0) | 0 | 0) & 1 | 0)) { + break label$1 + } + btAlignedObjectArray_btSimplePair___reserve_28int_29($5 | 0, btAlignedObjectArray_btSimplePair___allocSize_28int_29($5 | 0, btAlignedObjectArray_btSimplePair___size_28_29_20const($5 | 0) | 0 | 0) | 0 | 0); + } + $21 = HEAP32[($4 + 8 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[$21 >> 2] | 0; + i64toi32_i32$1 = HEAP32[($21 + 4 | 0) >> 2] | 0; + $83 = i64toi32_i32$0; + i64toi32_i32$0 = (HEAP32[($5 + 12 | 0) >> 2] | 0) + Math_imul(HEAP32[($5 + 4 | 0) >> 2] | 0, 12) | 0; + HEAP32[i64toi32_i32$0 >> 2] = $83; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $23 = 8; + HEAP32[(i64toi32_i32$0 + $23 | 0) >> 2] = HEAP32[($21 + $23 | 0) >> 2] | 0; + HEAP32[($5 + 4 | 0) >> 2] = (HEAP32[($5 + 4 | 0) >> 2] | 0) + 1 | 0; + __stack_pointer = $4 + 16 | 0; + return; + } + + function btCompoundCompoundLeafCallback___btCompoundCompoundLeafCallback_28_29($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + btDbvt__ICollide___ICollide_28_29($4 | 0) | 0; + __stack_pointer = $3 + 16 | 0; + return $4 | 0; + } + + function btAlignedObjectArray_btDbvt__sStkNN___initializeFromBuffer_28void__2c_20int_2c_20int_29($0, $1, $2, $3) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + var $6 = 0, $7 = 0; + $6 = __stack_pointer - 16 | 0; + __stack_pointer = $6; + HEAP32[($6 + 12 | 0) >> 2] = $0; + HEAP32[($6 + 8 | 0) >> 2] = $1; + HEAP32[($6 + 4 | 0) >> 2] = $2; + HEAP32[$6 >> 2] = $3; + $7 = HEAP32[($6 + 12 | 0) >> 2] | 0; + btAlignedObjectArray_btDbvt__sStkNN___clear_28_29($7 | 0); + HEAP8[($7 + 16 | 0) >> 0] = 0; + HEAP32[($7 + 12 | 0) >> 2] = HEAP32[($6 + 8 | 0) >> 2] | 0; + HEAP32[($7 + 4 | 0) >> 2] = HEAP32[($6 + 4 | 0) >> 2] | 0; + HEAP32[($7 + 8 | 0) >> 2] = HEAP32[$6 >> 2] | 0; + __stack_pointer = $6 + 16 | 0; + return; + } + + function MyIntersect_28btDbvtAabbMm_20const__2c_20btDbvtAabbMm_20const__2c_20btTransform_20const__2c_20float_29($0, $1, $2, $3) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = Math_fround($3); + var $6 = 0, $31 = 0, $43 = 0, $61 = 0; + $6 = __stack_pointer - 112 | 0; + __stack_pointer = $6; + HEAP32[($6 + 108 | 0) >> 2] = $0; + HEAP32[($6 + 104 | 0) >> 2] = $1; + HEAP32[($6 + 100 | 0) >> 2] = $2; + HEAPF32[($6 + 96 | 0) >> 2] = $3; + btVector3__btVector3_28_29($6 + 80 | 0 | 0) | 0; + btVector3__btVector3_28_29($6 + 64 | 0 | 0) | 0; + btTransformAabb_28btVector3_20const__2c_20btVector3_20const__2c_20float_2c_20btTransform_20const__2c_20btVector3__2c_20btVector3__29(btDbvtAabbMm__Mins_28_29_20const(HEAP32[($6 + 104 | 0) >> 2] | 0 | 0) | 0 | 0, btDbvtAabbMm__Maxs_28_29_20const(HEAP32[($6 + 104 | 0) >> 2] | 0 | 0) | 0 | 0, Math_fround(Math_fround(0 | 0)), HEAP32[($6 + 100 | 0) >> 2] | 0 | 0, $6 + 80 | 0 | 0, $6 + 64 | 0 | 0); + $31 = $6 + 96 | 0; + btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($6 + 48 | 0 | 0, $31 | 0, $31 | 0, $31 | 0) | 0; + btVector3__operator___28btVector3_20const__29($6 + 80 | 0 | 0, $6 + 48 | 0 | 0) | 0; + $43 = $6 + 96 | 0; + btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($6 + 32 | 0 | 0, $43 | 0, $43 | 0, $43 | 0) | 0; + btVector3__operator___28btVector3_20const__29_1($6 + 64 | 0 | 0, $6 + 32 | 0 | 0) | 0; + btDbvtAabbMm__FromMM_28btVector3_20const__2c_20btVector3_20const__29($6 | 0, $6 + 80 | 0 | 0, $6 + 64 | 0 | 0); + $61 = (Intersect_28btDbvtAabbMm_20const__2c_20btDbvtAabbMm_20const__29(HEAP32[($6 + 108 | 0) >> 2] | 0 | 0, $6 | 0) | 0) & 1 | 0; + __stack_pointer = $6 + 112 | 0; + return $61 | 0; + } + + function btAlignedObjectArray_btSimplePair___capacity_28_29_20const($0) { + $0 = $0 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + return HEAP32[((HEAP32[($3 + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0; + } + + function btAlignedObjectArray_btSimplePair___allocSize_28int_29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, $9 = 0; + $4 = __stack_pointer - 16 | 0; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + label$1 : { + label$2 : { + if (!(HEAP32[($4 + 8 | 0) >> 2] | 0)) { + break label$2 + } + $9 = (HEAP32[($4 + 8 | 0) >> 2] | 0) << 1 | 0; + break label$1; + } + $9 = 1; + } + return $9 | 0; + } + + function btAlignedObjectArray_btSimplePair___reserve_28int_29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, $5 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; + label$1 : { + if (!((btAlignedObjectArray_btSimplePair___capacity_28_29_20const($5 | 0) | 0 | 0) < (HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$1 + } + (wasm2js_i32$0 = $4, wasm2js_i32$1 = btAlignedObjectArray_btSimplePair___allocate_28int_29($5 | 0, HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + btAlignedObjectArray_btSimplePair___copy_28int_2c_20int_2c_20btSimplePair__29_20const($5 | 0, 0 | 0, btAlignedObjectArray_btSimplePair___size_28_29_20const($5 | 0) | 0 | 0, HEAP32[($4 + 4 | 0) >> 2] | 0 | 0); + btAlignedObjectArray_btSimplePair___destroy_28int_2c_20int_29($5 | 0, 0 | 0, btAlignedObjectArray_btSimplePair___size_28_29_20const($5 | 0) | 0 | 0); + btAlignedObjectArray_btSimplePair___deallocate_28_29($5 | 0); + HEAP8[($5 + 16 | 0) >> 0] = 1; + HEAP32[($5 + 12 | 0) >> 2] = HEAP32[($4 + 4 | 0) >> 2] | 0; + HEAP32[($5 + 8 | 0) >> 2] = HEAP32[($4 + 8 | 0) >> 2] | 0; + } + __stack_pointer = $4 + 16 | 0; + return; + } + + function btAlignedObjectArray_btSimplePair___destroy_28int_2c_20int_29($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $5 = 0; + $5 = __stack_pointer - 16 | 0; + HEAP32[($5 + 12 | 0) >> 2] = $0; + HEAP32[($5 + 8 | 0) >> 2] = $1; + HEAP32[($5 + 4 | 0) >> 2] = $2; + HEAP32[($5 + 12 | 0) >> 2] | 0; + HEAP32[$5 >> 2] = HEAP32[($5 + 8 | 0) >> 2] | 0; + label$1 : { + label$2 : while (1) { + if (!((HEAP32[$5 >> 2] | 0 | 0) < (HEAP32[($5 + 4 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$1 + } + HEAP32[$5 >> 2] = (HEAP32[$5 >> 2] | 0) + 1 | 0; + continue label$2; + }; + } + return; + } + + function btAlignedObjectArray_btSimplePair___deallocate_28_29($0) { + $0 = $0 | 0; + var $4 = 0, $3 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + label$1 : { + if (!((HEAP32[($4 + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + label$2 : { + if (!((HEAPU8[($4 + 16 | 0) >> 0] | 0) & 1 | 0)) { + break label$2 + } + btAlignedAllocator_btSimplePair_2c_2016u___deallocate_28btSimplePair__29($4 | 0, HEAP32[($4 + 12 | 0) >> 2] | 0 | 0); + } + HEAP32[($4 + 12 | 0) >> 2] = 0; + } + __stack_pointer = $3 + 16 | 0; + return; + } + + function btCompoundCompoundCollisionAlgorithm__calculateTimeOfImpact_28btCollisionObject__2c_20btCollisionObject__2c_20btDispatcherInfo_20const__2c_20btManifoldResult__29($0, $1, $2, $3, $4) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + $4 = $4 | 0; + var $7 = 0; + $7 = __stack_pointer - 32 | 0; + __stack_pointer = $7; + HEAP32[($7 + 28 | 0) >> 2] = $0; + HEAP32[($7 + 24 | 0) >> 2] = $1; + HEAP32[($7 + 20 | 0) >> 2] = $2; + HEAP32[($7 + 16 | 0) >> 2] = $3; + HEAP32[($7 + 12 | 0) >> 2] = $4; + __assert_fail(86177 | 0, 73490 | 0, 450 | 0, 68931 | 0); + wasm2js_trap(); + } + + function btCompoundCompoundLeafCallback___btCompoundCompoundLeafCallback_28_29_1($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + btCompoundCompoundLeafCallback___btCompoundCompoundLeafCallback_28_29($4 | 0) | 0; + operator_20delete_28void__29($4 | 0); + __stack_pointer = $3 + 16 | 0; + return; + } + + function btCompoundCompoundLeafCallback__Process_28btDbvtNode_20const__2c_20btDbvtNode_20const__29($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $5 = 0, $6 = 0, $116 = 0, $128 = 0, $231 = 0, $252 = 0, $264 = 0, $308 = 0, $313 = 0, $318 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5 = __stack_pointer - 464 | 0; + __stack_pointer = $5; + HEAP32[($5 + 460 | 0) >> 2] = $0; + HEAP32[($5 + 456 | 0) >> 2] = $1; + HEAP32[($5 + 452 | 0) >> 2] = $2; + $6 = HEAP32[($5 + 460 | 0) >> 2] | 0; + CProfileSample__CProfileSample_28char_20const__29($5 + 451 | 0 | 0, 69357 | 0) | 0; + HEAP32[($6 + 4 | 0) >> 2] = (HEAP32[($6 + 4 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($5 + 444 | 0) >> 2] = HEAP32[((HEAP32[($5 + 456 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0; + HEAP32[($5 + 440 | 0) >> 2] = HEAP32[((HEAP32[($5 + 452 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0; + label$1 : { + if ((HEAP32[($5 + 444 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0) { + break label$1 + } + __assert_fail(85860 | 0, 73490 | 0, 138 | 0, 69389 | 0); + wasm2js_trap(); + } + label$2 : { + if ((HEAP32[($5 + 440 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0) { + break label$2 + } + __assert_fail(85845 | 0, 73490 | 0, 139 | 0, 69389 | 0); + wasm2js_trap(); + } + (wasm2js_i32$0 = $5, wasm2js_i32$1 = btCollisionObjectWrapper__getCollisionShape_28_29_20const(HEAP32[($6 + 8 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 436 | 0) >> 2] = wasm2js_i32$1; + label$3 : { + if ((HEAP32[($5 + 444 | 0) >> 2] | 0 | 0) < (btCompoundShape__getNumChildShapes_28_29_20const(HEAP32[($5 + 436 | 0) >> 2] | 0 | 0) | 0 | 0) & 1 | 0) { + break label$3 + } + __assert_fail(87205 | 0, 73490 | 0, 143 | 0, 69389 | 0); + wasm2js_trap(); + } + (wasm2js_i32$0 = $5, wasm2js_i32$1 = btCollisionObjectWrapper__getCollisionShape_28_29_20const(HEAP32[($6 + 12 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 432 | 0) >> 2] = wasm2js_i32$1; + label$4 : { + if ((HEAP32[($5 + 440 | 0) >> 2] | 0 | 0) < (btCompoundShape__getNumChildShapes_28_29_20const(HEAP32[($5 + 432 | 0) >> 2] | 0 | 0) | 0 | 0) & 1 | 0) { + break label$4 + } + __assert_fail(87157 | 0, 73490 | 0, 146 | 0, 69389 | 0); + wasm2js_trap(); + } + (wasm2js_i32$0 = $5, wasm2js_i32$1 = btCompoundShape__getChildShape_28int_29_20const(HEAP32[($5 + 436 | 0) >> 2] | 0 | 0, HEAP32[($5 + 444 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 428 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $5, wasm2js_i32$1 = btCompoundShape__getChildShape_28int_29_20const(HEAP32[($5 + 432 | 0) >> 2] | 0 | 0, HEAP32[($5 + 440 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 424 | 0) >> 2] = wasm2js_i32$1; + btTransform__btTransform_28btTransform_20const__29($5 + 360 | 0 | 0, btCollisionObjectWrapper__getWorldTransform_28_29_20const(HEAP32[($6 + 8 | 0) >> 2] | 0 | 0) | 0 | 0) | 0; + (wasm2js_i32$0 = $5, wasm2js_i32$1 = btCompoundShape__getChildTransform_28int_29_20const(HEAP32[($5 + 436 | 0) >> 2] | 0 | 0, HEAP32[($5 + 444 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 356 | 0) >> 2] = wasm2js_i32$1; + btTransform__operator__28btTransform_20const__29_20const($5 + 292 | 0 | 0, $5 + 360 | 0 | 0, HEAP32[($5 + 356 | 0) >> 2] | 0 | 0); + btTransform__btTransform_28btTransform_20const__29($5 + 228 | 0 | 0, btCollisionObjectWrapper__getWorldTransform_28_29_20const(HEAP32[($6 + 12 | 0) >> 2] | 0 | 0) | 0 | 0) | 0; + (wasm2js_i32$0 = $5, wasm2js_i32$1 = btCompoundShape__getChildTransform_28int_29_20const(HEAP32[($5 + 432 | 0) >> 2] | 0 | 0, HEAP32[($5 + 440 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 224 | 0) >> 2] = wasm2js_i32$1; + btTransform__operator__28btTransform_20const__29_20const($5 + 160 | 0 | 0, $5 + 228 | 0 | 0, HEAP32[($5 + 224 | 0) >> 2] | 0 | 0); + btVector3__btVector3_28_29($5 + 144 | 0 | 0) | 0; + btVector3__btVector3_28_29($5 + 128 | 0 | 0) | 0; + btVector3__btVector3_28_29($5 + 112 | 0 | 0) | 0; + btVector3__btVector3_28_29($5 + 96 | 0 | 0) | 0; + $116 = HEAP32[($5 + 428 | 0) >> 2] | 0; + FUNCTION_TABLE[HEAP32[((HEAP32[$116 >> 2] | 0) + 8 | 0) >> 2] | 0 | 0]($116, $5 + 292 | 0, $5 + 144 | 0, $5 + 128 | 0); + $128 = HEAP32[($5 + 424 | 0) >> 2] | 0; + FUNCTION_TABLE[HEAP32[((HEAP32[$128 >> 2] | 0) + 8 | 0) >> 2] | 0 | 0]($128, $5 + 160 | 0, $5 + 112 | 0, $5 + 96 | 0); + btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($5 + 80 | 0 | 0, (HEAP32[($6 + 24 | 0) >> 2] | 0) + 32 | 0 | 0, (HEAP32[($6 + 24 | 0) >> 2] | 0) + 32 | 0 | 0, (HEAP32[($6 + 24 | 0) >> 2] | 0) + 32 | 0 | 0) | 0; + btVector3__operator___28btVector3_20const__29($5 + 144 | 0 | 0, $5 + 80 | 0 | 0) | 0; + btVector3__operator___28btVector3_20const__29_1($5 + 128 | 0 | 0, $5 + 80 | 0 | 0) | 0; + label$5 : { + label$6 : { + if (!((HEAP32[(0 + 114016 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$6 + } + label$7 : { + if ((FUNCTION_TABLE[HEAP32[(0 + 114016 | 0) >> 2] | 0 | 0](HEAP32[($5 + 428 | 0) >> 2] | 0, HEAP32[($5 + 424 | 0) >> 2] | 0) | 0) & 1 | 0) { + break label$7 + } + HEAP32[($5 + 76 | 0) >> 2] = 1; + break label$5; + } + } + label$8 : { + if (!((TestAabbAgainstAabb2_28btVector3_20const__2c_20btVector3_20const__2c_20btVector3_20const__2c_20btVector3_20const__29($5 + 144 | 0 | 0, $5 + 128 | 0 | 0, $5 + 112 | 0 | 0, $5 + 96 | 0 | 0) | 0) & 1 | 0)) { + break label$8 + } + btCollisionObjectWrapper__btCollisionObjectWrapper_28btCollisionObjectWrapper_20const__2c_20btCollisionShape_20const__2c_20btCollisionObject_20const__2c_20btTransform_20const__2c_20int_2c_20int_29($5 + 52 | 0 | 0, HEAP32[($6 + 8 | 0) >> 2] | 0 | 0, HEAP32[($5 + 428 | 0) >> 2] | 0 | 0, btCollisionObjectWrapper__getCollisionObject_28_29_20const(HEAP32[($6 + 8 | 0) >> 2] | 0 | 0) | 0 | 0, $5 + 292 | 0 | 0, -1 | 0, HEAP32[($5 + 444 | 0) >> 2] | 0 | 0) | 0; + btCollisionObjectWrapper__btCollisionObjectWrapper_28btCollisionObjectWrapper_20const__2c_20btCollisionShape_20const__2c_20btCollisionObject_20const__2c_20btTransform_20const__2c_20int_2c_20int_29($5 + 28 | 0 | 0, HEAP32[($6 + 12 | 0) >> 2] | 0 | 0, HEAP32[($5 + 424 | 0) >> 2] | 0 | 0, btCollisionObjectWrapper__getCollisionObject_28_29_20const(HEAP32[($6 + 12 | 0) >> 2] | 0 | 0) | 0 | 0, $5 + 160 | 0 | 0, -1 | 0, HEAP32[($5 + 440 | 0) >> 2] | 0 | 0) | 0; + (wasm2js_i32$0 = $5, wasm2js_i32$1 = btHashedSimplePairCache__findPair_28int_2c_20int_29(HEAP32[($6 + 28 | 0) >> 2] | 0 | 0, HEAP32[($5 + 444 | 0) >> 2] | 0 | 0, HEAP32[($5 + 440 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 24 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($5 + 20 | 0) >> 2] = 0; + label$9 : { + label$10 : { + if (!(Math_fround(HEAPF32[((HEAP32[($6 + 24 | 0) >> 2] | 0) + 32 | 0) >> 2]) > Math_fround(0 | 0) & 1 | 0)) { + break label$10 + } + $231 = HEAP32[($6 + 16 | 0) >> 2] | 0; + (wasm2js_i32$0 = $5, wasm2js_i32$1 = FUNCTION_TABLE[HEAP32[((HEAP32[$231 >> 2] | 0) + 8 | 0) >> 2] | 0 | 0]($231, $5 + 52 | 0, $5 + 28 | 0, 0, 2) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + break label$9; + } + label$11 : { + label$12 : { + if (!((HEAP32[($5 + 24 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$12 + } + HEAP32[($5 + 20 | 0) >> 2] = HEAP32[((HEAP32[($5 + 24 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + break label$11; + } + $252 = HEAP32[($6 + 16 | 0) >> 2] | 0; + (wasm2js_i32$0 = $5, wasm2js_i32$1 = FUNCTION_TABLE[HEAP32[((HEAP32[$252 >> 2] | 0) + 8 | 0) >> 2] | 0 | 0]($252, $5 + 52 | 0, $5 + 28 | 0, HEAP32[($6 + 32 | 0) >> 2] | 0, 1) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + $264 = HEAP32[($6 + 28 | 0) >> 2] | 0; + (wasm2js_i32$0 = $5, wasm2js_i32$1 = FUNCTION_TABLE[HEAP32[((HEAP32[$264 >> 2] | 0) + 12 | 0) >> 2] | 0 | 0]($264, HEAP32[($5 + 444 | 0) >> 2] | 0, HEAP32[($5 + 440 | 0) >> 2] | 0) | 0), HEAP32[(wasm2js_i32$0 + 24 | 0) >> 2] = wasm2js_i32$1; + label$13 : { + if ((HEAP32[($5 + 24 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$13 + } + __assert_fail(71001 | 0, 73490 | 0, 201 | 0, 69389 | 0); + wasm2js_trap(); + } + HEAP32[((HEAP32[($5 + 24 | 0) >> 2] | 0) + 8 | 0) >> 2] = HEAP32[($5 + 20 | 0) >> 2] | 0; + } + } + label$14 : { + if ((HEAP32[($5 + 20 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$14 + } + __assert_fail(76200 | 0, 73490 | 0, 206 | 0, 69389 | 0); + wasm2js_trap(); + } + HEAP32[($5 + 16 | 0) >> 2] = 0; + HEAP32[($5 + 12 | 0) >> 2] = 0; + (wasm2js_i32$0 = $5, wasm2js_i32$1 = btManifoldResult__getBody0Wrap_28_29_20const(HEAP32[($6 + 24 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $5, wasm2js_i32$1 = btManifoldResult__getBody1Wrap_28_29_20const(HEAP32[($6 + 24 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + btManifoldResult__setBody0Wrap_28btCollisionObjectWrapper_20const__29(HEAP32[($6 + 24 | 0) >> 2] | 0 | 0, $5 + 52 | 0 | 0); + btManifoldResult__setBody1Wrap_28btCollisionObjectWrapper_20const__29(HEAP32[($6 + 24 | 0) >> 2] | 0 | 0, $5 + 28 | 0 | 0); + $308 = HEAP32[($6 + 24 | 0) >> 2] | 0; + FUNCTION_TABLE[HEAP32[((HEAP32[$308 >> 2] | 0) + 8 | 0) >> 2] | 0 | 0]($308, -1, HEAP32[($5 + 444 | 0) >> 2] | 0); + $313 = HEAP32[($6 + 24 | 0) >> 2] | 0; + FUNCTION_TABLE[HEAP32[((HEAP32[$313 >> 2] | 0) + 12 | 0) >> 2] | 0 | 0]($313, -1, HEAP32[($5 + 440 | 0) >> 2] | 0); + $318 = HEAP32[($5 + 20 | 0) >> 2] | 0; + FUNCTION_TABLE[HEAP32[((HEAP32[$318 >> 2] | 0) + 8 | 0) >> 2] | 0 | 0]($318, $5 + 52 | 0, $5 + 28 | 0, HEAP32[($6 + 20 | 0) >> 2] | 0, HEAP32[($6 + 24 | 0) >> 2] | 0); + btManifoldResult__setBody0Wrap_28btCollisionObjectWrapper_20const__29(HEAP32[($6 + 24 | 0) >> 2] | 0 | 0, HEAP32[($5 + 16 | 0) >> 2] | 0 | 0); + btManifoldResult__setBody1Wrap_28btCollisionObjectWrapper_20const__29(HEAP32[($6 + 24 | 0) >> 2] | 0 | 0, HEAP32[($5 + 12 | 0) >> 2] | 0 | 0); + } + HEAP32[($5 + 76 | 0) >> 2] = 0; + } + CProfileSample___CProfileSample_28_29($5 + 451 | 0 | 0) | 0; + __stack_pointer = $5 + 464 | 0; + return; + } + + function btTransformAabb_28btVector3_20const__2c_20btVector3_20const__2c_20float_2c_20btTransform_20const__2c_20btVector3__2c_20btVector3__29($0, $1, $2, $3, $4, $5) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = Math_fround($2); + $3 = $3 | 0; + $4 = $4 | 0; + $5 = $5 | 0; + var $8 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, $68 = 0, $132 = 0, $134 = 0, $147 = 0, $149 = 0, $398 = 0, $411 = 0, $429 = 0, $439 = 0; + $8 = __stack_pointer - 224 | 0; + __stack_pointer = $8; + HEAP32[($8 + 220 | 0) >> 2] = $0; + HEAP32[($8 + 216 | 0) >> 2] = $1; + HEAPF32[($8 + 212 | 0) >> 2] = $2; + HEAP32[($8 + 208 | 0) >> 2] = $3; + HEAP32[($8 + 204 | 0) >> 2] = $4; + HEAP32[($8 + 200 | 0) >> 2] = $5; + label$1 : { + if (Math_fround(HEAPF32[(btVector3__getX_28_29_20const(HEAP32[($8 + 220 | 0) >> 2] | 0 | 0) | 0) >> 2]) <= Math_fround(HEAPF32[(btVector3__getX_28_29_20const(HEAP32[($8 + 216 | 0) >> 2] | 0 | 0) | 0) >> 2]) & 1 | 0) { + break label$1 + } + __assert_fail(88089 | 0, 80387 | 0, 195 | 0, 83061 | 0); + wasm2js_trap(); + } + label$2 : { + if (Math_fround(HEAPF32[(btVector3__getY_28_29_20const(HEAP32[($8 + 220 | 0) >> 2] | 0 | 0) | 0) >> 2]) <= Math_fround(HEAPF32[(btVector3__getY_28_29_20const(HEAP32[($8 + 216 | 0) >> 2] | 0 | 0) | 0) >> 2]) & 1 | 0) { + break label$2 + } + __assert_fail(87974 | 0, 80387 | 0, 196 | 0, 83061 | 0); + wasm2js_trap(); + } + label$3 : { + if (Math_fround(HEAPF32[(btVector3__getZ_28_29_20const(HEAP32[($8 + 220 | 0) >> 2] | 0 | 0) | 0) >> 2]) <= Math_fround(HEAPF32[(btVector3__getZ_28_29_20const(HEAP32[($8 + 216 | 0) >> 2] | 0 | 0) | 0) >> 2]) & 1 | 0) { + break label$3 + } + __assert_fail(87859 | 0, 80387 | 0, 197 | 0, 83061 | 0); + wasm2js_trap(); + } + HEAPF32[($8 + 180 | 0) >> 2] = Math_fround(.5); + operator__28btVector3_20const__2c_20btVector3_20const__29($8 + 164 | 0 | 0, HEAP32[($8 + 216 | 0) >> 2] | 0 | 0, HEAP32[($8 + 220 | 0) >> 2] | 0 | 0); + operator__28float_20const__2c_20btVector3_20const__29($8 + 184 | 0 | 0, $8 + 180 | 0 | 0, $8 + 164 | 0 | 0); + $68 = $8 + 212 | 0; + btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($8 + 148 | 0 | 0, $68 | 0, $68 | 0, $68 | 0) | 0; + btVector3__operator___28btVector3_20const__29_1($8 + 184 | 0 | 0, $8 + 148 | 0 | 0) | 0; + HEAPF32[($8 + 128 | 0) >> 2] = Math_fround(.5); + operator__28btVector3_20const__2c_20btVector3_20const__29_2($8 + 112 | 0 | 0, HEAP32[($8 + 216 | 0) >> 2] | 0 | 0, HEAP32[($8 + 220 | 0) >> 2] | 0 | 0); + operator__28float_20const__2c_20btVector3_20const__29($8 + 132 | 0 | 0, $8 + 128 | 0 | 0, $8 + 112 | 0 | 0); + btMatrix3x3__absolute_28_29_20const($8 + 64 | 0 | 0, btTransform__getBasis_28_29_20const(HEAP32[($8 + 208 | 0) >> 2] | 0 | 0) | 0 | 0); + btTransform__operator_28_29_28btVector3_20const__29_20const($8 + 48 | 0 | 0, HEAP32[($8 + 208 | 0) >> 2] | 0 | 0, $8 + 132 | 0 | 0); + btVector3__dot3_28btVector3_20const__2c_20btVector3_20const__2c_20btVector3_20const__29_20const($8 + 32 | 0 | 0, $8 + 184 | 0 | 0, btMatrix3x3__operator_5b_5d_28int_29($8 + 64 | 0 | 0, 0 | 0) | 0 | 0, btMatrix3x3__operator_5b_5d_28int_29($8 + 64 | 0 | 0, 1 | 0) | 0 | 0, btMatrix3x3__operator_5b_5d_28int_29($8 + 64 | 0 | 0, 2 | 0) | 0 | 0); + operator__28btVector3_20const__2c_20btVector3_20const__29($8 + 16 | 0 | 0, $8 + 48 | 0 | 0, $8 + 32 | 0 | 0); + $132 = HEAP32[($8 + 204 | 0) >> 2] | 0; + i64toi32_i32$2 = $8; + i64toi32_i32$0 = HEAP32[($8 + 16 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($8 + 20 | 0) >> 2] | 0; + $398 = i64toi32_i32$0; + i64toi32_i32$0 = $132; + HEAP32[i64toi32_i32$0 >> 2] = $398; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $134 = 8; + i64toi32_i32$2 = ($8 + 16 | 0) + $134 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $411 = i64toi32_i32$1; + i64toi32_i32$1 = $132 + $134 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $411; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + operator__28btVector3_20const__2c_20btVector3_20const__29_2($8 | 0, $8 + 48 | 0 | 0, $8 + 32 | 0 | 0); + $147 = HEAP32[($8 + 200 | 0) >> 2] | 0; + i64toi32_i32$2 = $8; + i64toi32_i32$0 = HEAP32[$8 >> 2] | 0; + i64toi32_i32$1 = HEAP32[($8 + 4 | 0) >> 2] | 0; + $429 = i64toi32_i32$0; + i64toi32_i32$0 = $147; + HEAP32[i64toi32_i32$0 >> 2] = $429; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $149 = 8; + i64toi32_i32$2 = $8 + $149 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $439 = i64toi32_i32$1; + i64toi32_i32$1 = $147 + $149 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $439; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + __stack_pointer = $8 + 224 | 0; + return; + } + + function btMatrix3x3__absolute_28_29_20const($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, $5 = 0, wasm2js_i32$0 = 0, wasm2js_f32$0 = Math_fround(0); + $4 = __stack_pointer - 48 | 0; + __stack_pointer = $4; + HEAP32[($4 + 44 | 0) >> 2] = $0; + HEAP32[($4 + 40 | 0) >> 2] = $1; + $5 = HEAP32[($4 + 40 | 0) >> 2] | 0; + (wasm2js_i32$0 = $4, wasm2js_f32$0 = Math_fround(btFabs_28float_29(Math_fround(Math_fround(HEAPF32[(btVector3__x_28_29_20const($5 | 0) | 0) >> 2]))))), HEAPF32[(wasm2js_i32$0 + 36 | 0) >> 2] = wasm2js_f32$0; + (wasm2js_i32$0 = $4, wasm2js_f32$0 = Math_fround(btFabs_28float_29(Math_fround(Math_fround(HEAPF32[(btVector3__y_28_29_20const($5 | 0) | 0) >> 2]))))), HEAPF32[(wasm2js_i32$0 + 32 | 0) >> 2] = wasm2js_f32$0; + (wasm2js_i32$0 = $4, wasm2js_f32$0 = Math_fround(btFabs_28float_29(Math_fround(Math_fround(HEAPF32[(btVector3__z_28_29_20const($5 | 0) | 0) >> 2]))))), HEAPF32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_f32$0; + (wasm2js_i32$0 = $4, wasm2js_f32$0 = Math_fround(btFabs_28float_29(Math_fround(Math_fround(HEAPF32[(btVector3__x_28_29_20const($5 + 16 | 0 | 0) | 0) >> 2]))))), HEAPF32[(wasm2js_i32$0 + 24 | 0) >> 2] = wasm2js_f32$0; + (wasm2js_i32$0 = $4, wasm2js_f32$0 = Math_fround(btFabs_28float_29(Math_fround(Math_fround(HEAPF32[(btVector3__y_28_29_20const($5 + 16 | 0 | 0) | 0) >> 2]))))), HEAPF32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_f32$0; + (wasm2js_i32$0 = $4, wasm2js_f32$0 = Math_fround(btFabs_28float_29(Math_fround(Math_fround(HEAPF32[(btVector3__z_28_29_20const($5 + 16 | 0 | 0) | 0) >> 2]))))), HEAPF32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_f32$0; + (wasm2js_i32$0 = $4, wasm2js_f32$0 = Math_fround(btFabs_28float_29(Math_fround(Math_fround(HEAPF32[(btVector3__x_28_29_20const($5 + 32 | 0 | 0) | 0) >> 2]))))), HEAPF32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_f32$0; + (wasm2js_i32$0 = $4, wasm2js_f32$0 = Math_fround(btFabs_28float_29(Math_fround(Math_fround(HEAPF32[(btVector3__y_28_29_20const($5 + 32 | 0 | 0) | 0) >> 2]))))), HEAPF32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_f32$0; + (wasm2js_i32$0 = $4, wasm2js_f32$0 = Math_fround(btFabs_28float_29(Math_fround(Math_fround(HEAPF32[(btVector3__z_28_29_20const($5 + 32 | 0 | 0) | 0) >> 2]))))), HEAPF32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_f32$0; + btMatrix3x3__btMatrix3x3_28float_20const__2c_20float_20const__2c_20float_20const__2c_20float_20const__2c_20float_20const__2c_20float_20const__2c_20float_20const__2c_20float_20const__2c_20float_20const__29($0 | 0, $4 + 36 | 0 | 0, $4 + 32 | 0 | 0, $4 + 28 | 0 | 0, $4 + 24 | 0 | 0, $4 + 20 | 0 | 0, $4 + 16 | 0 | 0, $4 + 12 | 0 | 0, $4 + 8 | 0 | 0, $4 + 4 | 0 | 0) | 0; + __stack_pointer = $4 + 48 | 0; + return; + } + + function btMatrix3x3__operator_5b_5d_28int_29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0; + $4 = __stack_pointer - 16 | 0; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + return (HEAP32[($4 + 12 | 0) >> 2] | 0) + ((HEAP32[($4 + 8 | 0) >> 2] | 0) << 4 | 0) | 0 | 0; + } + + function btAlignedObjectArray_btSimplePair___allocate_28int_29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, $5 = 0, $11 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[($4 + 8 | 0) >> 2] = $0; + HEAP32[($4 + 4 | 0) >> 2] = $1; + $5 = HEAP32[($4 + 8 | 0) >> 2] | 0; + label$1 : { + label$2 : { + if (!(HEAP32[($4 + 4 | 0) >> 2] | 0)) { + break label$2 + } + (wasm2js_i32$0 = $4, wasm2js_i32$1 = btAlignedAllocator_btSimplePair_2c_2016u___allocate_28int_2c_20btSimplePair_20const___29($5 | 0, HEAP32[($4 + 4 | 0) >> 2] | 0 | 0, 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + break label$1; + } + HEAP32[($4 + 12 | 0) >> 2] = 0; + } + $11 = HEAP32[($4 + 12 | 0) >> 2] | 0; + __stack_pointer = $4 + 16 | 0; + return $11 | 0; + } + + function btAlignedObjectArray_btSimplePair___copy_28int_2c_20int_2c_20btSimplePair__29_20const($0, $1, $2, $3) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + var $6 = 0, i64toi32_i32$0 = 0, $25 = 0, $27 = 0, $7 = 0, i64toi32_i32$1 = 0, $89 = 0; + $6 = __stack_pointer - 32 | 0; + HEAP32[($6 + 28 | 0) >> 2] = $0; + HEAP32[($6 + 24 | 0) >> 2] = $1; + HEAP32[($6 + 20 | 0) >> 2] = $2; + HEAP32[($6 + 16 | 0) >> 2] = $3; + $7 = HEAP32[($6 + 28 | 0) >> 2] | 0; + HEAP32[($6 + 12 | 0) >> 2] = HEAP32[($6 + 24 | 0) >> 2] | 0; + label$1 : { + label$2 : while (1) { + if (!((HEAP32[($6 + 12 | 0) >> 2] | 0 | 0) < (HEAP32[($6 + 20 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$1 + } + $25 = (HEAP32[($7 + 12 | 0) >> 2] | 0) + Math_imul(HEAP32[($6 + 12 | 0) >> 2] | 0, 12) | 0; + i64toi32_i32$0 = HEAP32[$25 >> 2] | 0; + i64toi32_i32$1 = HEAP32[($25 + 4 | 0) >> 2] | 0; + $89 = i64toi32_i32$0; + i64toi32_i32$0 = (HEAP32[($6 + 16 | 0) >> 2] | 0) + Math_imul(HEAP32[($6 + 12 | 0) >> 2] | 0, 12) | 0; + HEAP32[i64toi32_i32$0 >> 2] = $89; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $27 = 8; + HEAP32[(i64toi32_i32$0 + $27 | 0) >> 2] = HEAP32[($25 + $27 | 0) >> 2] | 0; + HEAP32[($6 + 12 | 0) >> 2] = (HEAP32[($6 + 12 | 0) >> 2] | 0) + 1 | 0; + continue label$2; + }; + } + return; + } + + function btAlignedAllocator_btSimplePair_2c_2016u___allocate_28int_2c_20btSimplePair_20const___29($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $5 = 0, $10 = 0; + $5 = __stack_pointer - 16 | 0; + __stack_pointer = $5; + HEAP32[($5 + 12 | 0) >> 2] = $0; + HEAP32[($5 + 8 | 0) >> 2] = $1; + HEAP32[($5 + 4 | 0) >> 2] = $2; + $10 = btAlignedAllocInternal_28unsigned_20long_2c_20int_29(Math_imul(HEAP32[($5 + 8 | 0) >> 2] | 0, 12) | 0, 16 | 0) | 0; + __stack_pointer = $5 + 16 | 0; + return $10 | 0; + } + + function btAlignedAllocator_btSimplePair_2c_2016u___deallocate_28btSimplePair__29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0; + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + btAlignedFreeInternal_28void__29(HEAP32[($4 + 8 | 0) >> 2] | 0 | 0); + __stack_pointer = $4 + 16 | 0; + return; + } + + function _GLOBAL__sub_I_btCompoundCompoundCollisionAlgorithm_cpp() { + __cxx_global_var_init_17(); + return; + } + + function __cxx_global_var_init_18() { + btInfMaskConverter__btInfMaskConverter_28int_29(114020 | 0, 2139095040 | 0) | 0; + return; + } + + function btBoxBoxDetector__btBoxBoxDetector_28btBoxShape_20const__2c_20btBoxShape_20const__29($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $5 = 0, $6 = 0; + $5 = __stack_pointer - 16 | 0; + __stack_pointer = $5; + HEAP32[($5 + 12 | 0) >> 2] = $0; + HEAP32[($5 + 8 | 0) >> 2] = $1; + HEAP32[($5 + 4 | 0) >> 2] = $2; + $6 = HEAP32[($5 + 12 | 0) >> 2] | 0; + btDiscreteCollisionDetectorInterface__btDiscreteCollisionDetectorInterface_28_29($6 | 0) | 0; + HEAP32[$6 >> 2] = 95092 + 8 | 0; + HEAP32[($6 + 4 | 0) >> 2] = HEAP32[($5 + 8 | 0) >> 2] | 0; + HEAP32[($6 + 8 | 0) >> 2] = HEAP32[($5 + 4 | 0) >> 2] | 0; + __stack_pointer = $5 + 16 | 0; + return $6 | 0; + } + + function btDiscreteCollisionDetectorInterface__btDiscreteCollisionDetectorInterface_28_29($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + HEAP32[$4 >> 2] = 95192 + 8 | 0; + return $4 | 0; + } + + function dLineClosestApproach_28btVector3_20const__2c_20btVector3_20const__2c_20btVector3_20const__2c_20btVector3_20const__2c_20float__2c_20float__29($0, $1, $2, $3, $4, $5) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + $4 = $4 | 0; + $5 = $5 | 0; + var $8 = 0, $18 = Math_fround(0), $29 = Math_fround(0), $40 = Math_fround(0), wasm2js_i32$0 = 0, wasm2js_f32$0 = Math_fround(0); + $8 = __stack_pointer - 64 | 0; + __stack_pointer = $8; + HEAP32[($8 + 60 | 0) >> 2] = $0; + HEAP32[($8 + 56 | 0) >> 2] = $1; + HEAP32[($8 + 52 | 0) >> 2] = $2; + HEAP32[($8 + 48 | 0) >> 2] = $3; + HEAP32[($8 + 44 | 0) >> 2] = $4; + HEAP32[($8 + 40 | 0) >> 2] = $5; + btVector3__btVector3_28_29($8 + 24 | 0 | 0) | 0; + $18 = Math_fround(Math_fround(HEAPF32[(btVector3__operator_20float_20const__28_29_20const(HEAP32[($8 + 52 | 0) >> 2] | 0 | 0) | 0) >> 2]) - Math_fround(HEAPF32[(btVector3__operator_20float_20const__28_29_20const(HEAP32[($8 + 60 | 0) >> 2] | 0 | 0) | 0) >> 2])); + (wasm2js_i32$0 = btVector3__operator_20float__28_29($8 + 24 | 0 | 0) | 0, wasm2js_f32$0 = $18), HEAPF32[wasm2js_i32$0 >> 2] = wasm2js_f32$0; + $29 = Math_fround(Math_fround(HEAPF32[((btVector3__operator_20float_20const__28_29_20const(HEAP32[($8 + 52 | 0) >> 2] | 0 | 0) | 0) + 4 | 0) >> 2]) - Math_fround(HEAPF32[((btVector3__operator_20float_20const__28_29_20const(HEAP32[($8 + 60 | 0) >> 2] | 0 | 0) | 0) + 4 | 0) >> 2])); + (wasm2js_i32$0 = btVector3__operator_20float__28_29($8 + 24 | 0 | 0) | 0, wasm2js_f32$0 = $29), HEAPF32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_f32$0; + $40 = Math_fround(Math_fround(HEAPF32[((btVector3__operator_20float_20const__28_29_20const(HEAP32[($8 + 52 | 0) >> 2] | 0 | 0) | 0) + 8 | 0) >> 2]) - Math_fround(HEAPF32[((btVector3__operator_20float_20const__28_29_20const(HEAP32[($8 + 60 | 0) >> 2] | 0 | 0) | 0) + 8 | 0) >> 2])); + (wasm2js_i32$0 = btVector3__operator_20float__28_29($8 + 24 | 0 | 0) | 0, wasm2js_f32$0 = $40), HEAPF32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_f32$0; + (wasm2js_i32$0 = $8, wasm2js_f32$0 = Math_fround(dDOT_28float_20const__2c_20float_20const__29(btVector3__operator_20float_20const__28_29_20const(HEAP32[($8 + 56 | 0) >> 2] | 0 | 0) | 0 | 0, btVector3__operator_20float_20const__28_29_20const(HEAP32[($8 + 48 | 0) >> 2] | 0 | 0) | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_f32$0; + (wasm2js_i32$0 = $8, wasm2js_f32$0 = Math_fround(dDOT_28float_20const__2c_20float_20const__29(btVector3__operator_20float_20const__28_29_20const(HEAP32[($8 + 56 | 0) >> 2] | 0 | 0) | 0 | 0, btVector3__operator_20float__28_29($8 + 24 | 0 | 0) | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_f32$0; + (wasm2js_i32$0 = $8, wasm2js_f32$0 = Math_fround(-Math_fround(dDOT_28float_20const__2c_20float_20const__29(btVector3__operator_20float_20const__28_29_20const(HEAP32[($8 + 48 | 0) >> 2] | 0 | 0) | 0 | 0, btVector3__operator_20float__28_29($8 + 24 | 0 | 0) | 0 | 0)))), HEAPF32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_f32$0; + HEAPF32[($8 + 8 | 0) >> 2] = Math_fround(Math_fround(Math_fround(-Math_fround(HEAPF32[($8 + 20 | 0) >> 2])) * Math_fround(HEAPF32[($8 + 20 | 0) >> 2])) + Math_fround(1.0)); + label$1 : { + label$2 : { + if (!(Math_fround(HEAPF32[($8 + 8 | 0) >> 2]) <= Math_fround(9.999999747378752e-05) & 1 | 0)) { + break label$2 + } + HEAPF32[(HEAP32[($8 + 44 | 0) >> 2] | 0) >> 2] = Math_fround(0 | 0); + HEAPF32[(HEAP32[($8 + 40 | 0) >> 2] | 0) >> 2] = Math_fround(0 | 0); + break label$1; + } + HEAPF32[($8 + 8 | 0) >> 2] = Math_fround(Math_fround(1.0) / Math_fround(HEAPF32[($8 + 8 | 0) >> 2])); + HEAPF32[(HEAP32[($8 + 44 | 0) >> 2] | 0) >> 2] = Math_fround(Math_fround(Math_fround(Math_fround(HEAPF32[($8 + 20 | 0) >> 2]) * Math_fround(HEAPF32[($8 + 12 | 0) >> 2])) + Math_fround(HEAPF32[($8 + 16 | 0) >> 2])) * Math_fround(HEAPF32[($8 + 8 | 0) >> 2])); + HEAPF32[(HEAP32[($8 + 40 | 0) >> 2] | 0) >> 2] = Math_fround(Math_fround(Math_fround(Math_fround(HEAPF32[($8 + 20 | 0) >> 2]) * Math_fround(HEAPF32[($8 + 16 | 0) >> 2])) + Math_fround(HEAPF32[($8 + 12 | 0) >> 2])) * Math_fround(HEAPF32[($8 + 8 | 0) >> 2])); + } + __stack_pointer = $8 + 64 | 0; + return; + } + + function dDOT_28float_20const__2c_20float_20const__29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0; + $4 = __stack_pointer - 16 | 0; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + return Math_fround(Math_fround(Math_fround(Math_fround(HEAPF32[((HEAP32[($4 + 12 | 0) >> 2] | 0) + 8 | 0) >> 2]) * Math_fround(HEAPF32[((HEAP32[($4 + 8 | 0) >> 2] | 0) + 8 | 0) >> 2])) + Math_fround(Math_fround(Math_fround(HEAPF32[(HEAP32[($4 + 12 | 0) >> 2] | 0) >> 2]) * Math_fround(HEAPF32[(HEAP32[($4 + 8 | 0) >> 2] | 0) >> 2])) + Math_fround(Math_fround(HEAPF32[((HEAP32[($4 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2]) * Math_fround(HEAPF32[((HEAP32[($4 + 8 | 0) >> 2] | 0) + 4 | 0) >> 2]))))); + } + + function cullPoints2_28int_2c_20float__2c_20int_2c_20int_2c_20int__29($0, $1, $2, $3, $4) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + $4 = $4 | 0; + var $7 = 0, $264 = Math_fround(0), wasm2js_i32$0 = 0, wasm2js_f32$0 = Math_fround(0); + $7 = __stack_pointer - 128 | 0; + __stack_pointer = $7; + HEAP32[($7 + 124 | 0) >> 2] = $0; + HEAP32[($7 + 120 | 0) >> 2] = $1; + HEAP32[($7 + 116 | 0) >> 2] = $2; + HEAP32[($7 + 112 | 0) >> 2] = $3; + HEAP32[($7 + 108 | 0) >> 2] = $4; + label$1 : { + label$2 : { + if (!((HEAP32[($7 + 124 | 0) >> 2] | 0 | 0) == (1 | 0) & 1 | 0)) { + break label$2 + } + HEAPF32[($7 + 92 | 0) >> 2] = Math_fround(HEAPF32[(HEAP32[($7 + 120 | 0) >> 2] | 0) >> 2]); + HEAPF32[($7 + 88 | 0) >> 2] = Math_fround(HEAPF32[((HEAP32[($7 + 120 | 0) >> 2] | 0) + 4 | 0) >> 2]); + break label$1; + } + label$3 : { + label$4 : { + if (!((HEAP32[($7 + 124 | 0) >> 2] | 0 | 0) == (2 | 0) & 1 | 0)) { + break label$4 + } + HEAPF32[($7 + 92 | 0) >> 2] = Math_fround(Math_fround(.5) * Math_fround(Math_fround(HEAPF32[(HEAP32[($7 + 120 | 0) >> 2] | 0) >> 2]) + Math_fround(HEAPF32[((HEAP32[($7 + 120 | 0) >> 2] | 0) + 8 | 0) >> 2]))); + HEAPF32[($7 + 88 | 0) >> 2] = Math_fround(Math_fround(.5) * Math_fround(Math_fround(HEAPF32[((HEAP32[($7 + 120 | 0) >> 2] | 0) + 4 | 0) >> 2]) + Math_fround(HEAPF32[((HEAP32[($7 + 120 | 0) >> 2] | 0) + 12 | 0) >> 2]))); + break label$3; + } + HEAPF32[($7 + 96 | 0) >> 2] = Math_fround(0 | 0); + HEAPF32[($7 + 92 | 0) >> 2] = Math_fround(0 | 0); + HEAPF32[($7 + 88 | 0) >> 2] = Math_fround(0 | 0); + HEAP32[($7 + 104 | 0) >> 2] = 0; + label$5 : { + label$6 : while (1) { + if (!((HEAP32[($7 + 104 | 0) >> 2] | 0 | 0) < ((HEAP32[($7 + 124 | 0) >> 2] | 0) - 1 | 0 | 0) & 1 | 0)) { + break label$5 + } + HEAPF32[($7 + 84 | 0) >> 2] = Math_fround(Math_fround(Math_fround(HEAPF32[((HEAP32[($7 + 120 | 0) >> 2] | 0) + (((HEAP32[($7 + 104 | 0) >> 2] | 0) << 1 | 0) << 2 | 0) | 0) >> 2]) * Math_fround(HEAPF32[((HEAP32[($7 + 120 | 0) >> 2] | 0) + ((((HEAP32[($7 + 104 | 0) >> 2] | 0) << 1 | 0) + 3 | 0) << 2 | 0) | 0) >> 2])) + Math_fround(-Math_fround(Math_fround(HEAPF32[((HEAP32[($7 + 120 | 0) >> 2] | 0) + ((((HEAP32[($7 + 104 | 0) >> 2] | 0) << 1 | 0) + 2 | 0) << 2 | 0) | 0) >> 2]) * Math_fround(HEAPF32[((HEAP32[($7 + 120 | 0) >> 2] | 0) + ((((HEAP32[($7 + 104 | 0) >> 2] | 0) << 1 | 0) + 1 | 0) << 2 | 0) | 0) >> 2])))); + HEAPF32[($7 + 96 | 0) >> 2] = Math_fround(Math_fround(HEAPF32[($7 + 96 | 0) >> 2]) + Math_fround(HEAPF32[($7 + 84 | 0) >> 2])); + HEAPF32[($7 + 92 | 0) >> 2] = Math_fround(Math_fround(Math_fround(HEAPF32[($7 + 84 | 0) >> 2]) * Math_fround(Math_fround(HEAPF32[((HEAP32[($7 + 120 | 0) >> 2] | 0) + (((HEAP32[($7 + 104 | 0) >> 2] | 0) << 1 | 0) << 2 | 0) | 0) >> 2]) + Math_fround(HEAPF32[((HEAP32[($7 + 120 | 0) >> 2] | 0) + ((((HEAP32[($7 + 104 | 0) >> 2] | 0) << 1 | 0) + 2 | 0) << 2 | 0) | 0) >> 2]))) + Math_fround(HEAPF32[($7 + 92 | 0) >> 2])); + HEAPF32[($7 + 88 | 0) >> 2] = Math_fround(Math_fround(Math_fround(HEAPF32[($7 + 84 | 0) >> 2]) * Math_fround(Math_fround(HEAPF32[((HEAP32[($7 + 120 | 0) >> 2] | 0) + ((((HEAP32[($7 + 104 | 0) >> 2] | 0) << 1 | 0) + 1 | 0) << 2 | 0) | 0) >> 2]) + Math_fround(HEAPF32[((HEAP32[($7 + 120 | 0) >> 2] | 0) + ((((HEAP32[($7 + 104 | 0) >> 2] | 0) << 1 | 0) + 3 | 0) << 2 | 0) | 0) >> 2]))) + Math_fround(HEAPF32[($7 + 88 | 0) >> 2])); + HEAP32[($7 + 104 | 0) >> 2] = (HEAP32[($7 + 104 | 0) >> 2] | 0) + 1 | 0; + continue label$6; + }; + } + HEAPF32[($7 + 84 | 0) >> 2] = Math_fround(Math_fround(Math_fround(HEAPF32[((HEAP32[($7 + 120 | 0) >> 2] | 0) + ((((HEAP32[($7 + 124 | 0) >> 2] | 0) << 1 | 0) - 2 | 0) << 2 | 0) | 0) >> 2]) * Math_fround(HEAPF32[((HEAP32[($7 + 120 | 0) >> 2] | 0) + 4 | 0) >> 2])) + Math_fround(-Math_fround(Math_fround(HEAPF32[(HEAP32[($7 + 120 | 0) >> 2] | 0) >> 2]) * Math_fround(HEAPF32[((HEAP32[($7 + 120 | 0) >> 2] | 0) + ((((HEAP32[($7 + 124 | 0) >> 2] | 0) << 1 | 0) - 1 | 0) << 2 | 0) | 0) >> 2])))); + label$7 : { + label$8 : { + if (!(Math_fround(btFabs_28float_29(Math_fround(Math_fround(Math_fround(HEAPF32[($7 + 96 | 0) >> 2]) + Math_fround(HEAPF32[($7 + 84 | 0) >> 2]))))) > Math_fround(1.1920928955078125e-07) & 1 | 0)) { + break label$8 + } + HEAPF32[($7 + 96 | 0) >> 2] = Math_fround(Math_fround(1.0) / Math_fround(Math_fround(3.0) * Math_fround(Math_fround(HEAPF32[($7 + 96 | 0) >> 2]) + Math_fround(HEAPF32[($7 + 84 | 0) >> 2])))); + break label$7; + } + HEAPF32[($7 + 96 | 0) >> 2] = Math_fround(999999984306749440.0); + } + HEAPF32[($7 + 92 | 0) >> 2] = Math_fround(Math_fround(HEAPF32[($7 + 96 | 0) >> 2]) * Math_fround(Math_fround(Math_fround(HEAPF32[($7 + 84 | 0) >> 2]) * Math_fround(Math_fround(HEAPF32[((HEAP32[($7 + 120 | 0) >> 2] | 0) + ((((HEAP32[($7 + 124 | 0) >> 2] | 0) << 1 | 0) - 2 | 0) << 2 | 0) | 0) >> 2]) + Math_fround(HEAPF32[(HEAP32[($7 + 120 | 0) >> 2] | 0) >> 2]))) + Math_fround(HEAPF32[($7 + 92 | 0) >> 2]))); + HEAPF32[($7 + 88 | 0) >> 2] = Math_fround(Math_fround(HEAPF32[($7 + 96 | 0) >> 2]) * Math_fround(Math_fround(Math_fround(HEAPF32[($7 + 84 | 0) >> 2]) * Math_fround(Math_fround(HEAPF32[((HEAP32[($7 + 120 | 0) >> 2] | 0) + ((((HEAP32[($7 + 124 | 0) >> 2] | 0) << 1 | 0) - 1 | 0) << 2 | 0) | 0) >> 2]) + Math_fround(HEAPF32[((HEAP32[($7 + 120 | 0) >> 2] | 0) + 4 | 0) >> 2]))) + Math_fround(HEAPF32[($7 + 88 | 0) >> 2]))); + } + } + HEAP32[($7 + 104 | 0) >> 2] = 0; + label$9 : { + label$10 : while (1) { + if (!((HEAP32[($7 + 104 | 0) >> 2] | 0 | 0) < (HEAP32[($7 + 124 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$9 + } + $264 = Math_fround(btAtan2_28float_2c_20float_29(Math_fround(Math_fround(Math_fround(HEAPF32[((HEAP32[($7 + 120 | 0) >> 2] | 0) + ((((HEAP32[($7 + 104 | 0) >> 2] | 0) << 1 | 0) + 1 | 0) << 2 | 0) | 0) >> 2]) - Math_fround(HEAPF32[($7 + 88 | 0) >> 2]))), Math_fround(Math_fround(Math_fround(HEAPF32[((HEAP32[($7 + 120 | 0) >> 2] | 0) + (((HEAP32[($7 + 104 | 0) >> 2] | 0) << 1 | 0) << 2 | 0) | 0) >> 2]) - Math_fround(HEAPF32[($7 + 92 | 0) >> 2]))))); + HEAPF32[(($7 + 48 | 0) + ((HEAP32[($7 + 104 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = $264; + HEAP32[($7 + 104 | 0) >> 2] = (HEAP32[($7 + 104 | 0) >> 2] | 0) + 1 | 0; + continue label$10; + }; + } + HEAP32[($7 + 104 | 0) >> 2] = 0; + label$11 : { + label$12 : while (1) { + if (!((HEAP32[($7 + 104 | 0) >> 2] | 0 | 0) < (HEAP32[($7 + 124 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$11 + } + HEAP32[(($7 + 16 | 0) + ((HEAP32[($7 + 104 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = 1; + HEAP32[($7 + 104 | 0) >> 2] = (HEAP32[($7 + 104 | 0) >> 2] | 0) + 1 | 0; + continue label$12; + }; + } + HEAP32[(($7 + 16 | 0) + ((HEAP32[($7 + 112 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = 0; + HEAP32[(HEAP32[($7 + 108 | 0) >> 2] | 0) >> 2] = HEAP32[($7 + 112 | 0) >> 2] | 0; + HEAP32[($7 + 108 | 0) >> 2] = (HEAP32[($7 + 108 | 0) >> 2] | 0) + 4 | 0; + HEAP32[($7 + 100 | 0) >> 2] = 1; + label$13 : { + label$14 : while (1) { + if (!((HEAP32[($7 + 100 | 0) >> 2] | 0 | 0) < (HEAP32[($7 + 116 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$13 + } + HEAPF32[($7 + 96 | 0) >> 2] = Math_fround(Math_fround(Math_fround(HEAP32[($7 + 100 | 0) >> 2] | 0 | 0) * Math_fround(Math_fround(6.2831854820251465) / Math_fround(HEAP32[($7 + 116 | 0) >> 2] | 0 | 0))) + Math_fround(HEAPF32[(($7 + 48 | 0) + ((HEAP32[($7 + 112 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2])); + label$15 : { + if (!(Math_fround(HEAPF32[($7 + 96 | 0) >> 2]) > Math_fround(3.1415927410125732) & 1 | 0)) { + break label$15 + } + HEAPF32[($7 + 96 | 0) >> 2] = Math_fround(Math_fround(HEAPF32[($7 + 96 | 0) >> 2]) - Math_fround(6.2831854820251465)); + } + HEAPF32[($7 + 12 | 0) >> 2] = Math_fround(1.0e9); + HEAP32[(HEAP32[($7 + 108 | 0) >> 2] | 0) >> 2] = HEAP32[($7 + 112 | 0) >> 2] | 0; + HEAP32[($7 + 104 | 0) >> 2] = 0; + label$16 : { + label$17 : while (1) { + if (!((HEAP32[($7 + 104 | 0) >> 2] | 0 | 0) < (HEAP32[($7 + 124 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$16 + } + label$18 : { + if (!(HEAP32[(($7 + 16 | 0) + ((HEAP32[($7 + 104 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0)) { + break label$18 + } + (wasm2js_i32$0 = $7, wasm2js_f32$0 = Math_fround(btFabs_28float_29(Math_fround(Math_fround(Math_fround(HEAPF32[(($7 + 48 | 0) + ((HEAP32[($7 + 104 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2]) - Math_fround(HEAPF32[($7 + 96 | 0) >> 2])))))), HEAPF32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_f32$0; + label$19 : { + if (!(Math_fround(HEAPF32[($7 + 8 | 0) >> 2]) > Math_fround(3.1415927410125732) & 1 | 0)) { + break label$19 + } + HEAPF32[($7 + 8 | 0) >> 2] = Math_fround(Math_fround(6.2831854820251465) - Math_fround(HEAPF32[($7 + 8 | 0) >> 2])); + } + label$20 : { + if (!(Math_fround(HEAPF32[($7 + 8 | 0) >> 2]) < Math_fround(HEAPF32[($7 + 12 | 0) >> 2]) & 1 | 0)) { + break label$20 + } + HEAPF32[($7 + 12 | 0) >> 2] = Math_fround(HEAPF32[($7 + 8 | 0) >> 2]); + HEAP32[(HEAP32[($7 + 108 | 0) >> 2] | 0) >> 2] = HEAP32[($7 + 104 | 0) >> 2] | 0; + } + } + HEAP32[($7 + 104 | 0) >> 2] = (HEAP32[($7 + 104 | 0) >> 2] | 0) + 1 | 0; + continue label$17; + }; + } + label$21 : { + if ((HEAP32[(HEAP32[($7 + 108 | 0) >> 2] | 0) >> 2] | 0 | 0) != (HEAP32[($7 + 112 | 0) >> 2] | 0 | 0) & 1 | 0) { + break label$21 + } + __assert_fail(85735 | 0, 72206 | 0, 248 | 0, 85393 | 0); + wasm2js_trap(); + } + HEAP32[(($7 + 16 | 0) + ((HEAP32[(HEAP32[($7 + 108 | 0) >> 2] | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = 0; + HEAP32[($7 + 108 | 0) >> 2] = (HEAP32[($7 + 108 | 0) >> 2] | 0) + 4 | 0; + HEAP32[($7 + 100 | 0) >> 2] = (HEAP32[($7 + 100 | 0) >> 2] | 0) + 1 | 0; + continue label$14; + }; + } + __stack_pointer = $7 + 128 | 0; + return; + } + + function btAtan2_28float_2c_20float_29($0, $1) { + $0 = Math_fround($0); + $1 = Math_fround($1); + var $4 = 0, $7 = Math_fround(0); + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAPF32[($4 + 12 | 0) >> 2] = $0; + HEAPF32[($4 + 8 | 0) >> 2] = $1; + $7 = Math_fround(atan2f(Math_fround(Math_fround(HEAPF32[($4 + 12 | 0) >> 2])), Math_fround(Math_fround(HEAPF32[($4 + 8 | 0) >> 2])))); + __stack_pointer = $4 + 16 | 0; + return Math_fround($7); + } + + function dBoxBox2_28btVector3_20const__2c_20float_20const__2c_20btVector3_20const__2c_20btVector3_20const__2c_20float_20const__2c_20btVector3_20const__2c_20btVector3__2c_20float__2c_20int__2c_20int_2c_20dContactGeom__2c_20int_2c_20btDiscreteCollisionDetectorInterface__Result__29($0, $1, $2, $3, $4, $5, $6, $7, $8, $9, $10, $11, $12) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + $4 = $4 | 0; + $5 = $5 | 0; + $6 = $6 | 0; + $7 = $7 | 0; + $8 = $8 | 0; + $9 = $9 | 0; + $10 = $10 | 0; + $11 = $11 | 0; + $12 = $12 | 0; + var $15 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, $47 = 0, $1698 = 0, $1796 = 0, $1921 = 0, $1953 = 0, $1963 = 0, $2828 = 0, $2920 = 0, $3051 = 0, $3080 = 0, $3248 = 0, $3252 = 0, $61 = Math_fround(0), $73 = Math_fround(0), $85 = Math_fround(0), $583 = Math_fround(0), $591 = Math_fround(0), $598 = Math_fround(0), $696 = Math_fround(0), $704 = Math_fround(0), $711 = Math_fround(0), $809 = Math_fround(0), $817 = Math_fround(0), $824 = Math_fround(0), $921 = Math_fround(0), $929 = Math_fround(0), $937 = Math_fround(0), $1034 = Math_fround(0), $1042 = Math_fround(0), $1050 = Math_fround(0), $1147 = Math_fround(0), $1155 = Math_fround(0), $1163 = Math_fround(0), $1262 = Math_fround(0), $1269 = Math_fround(0), $1277 = Math_fround(0), $1376 = Math_fround(0), $1383 = Math_fround(0), $1391 = Math_fround(0), $1490 = Math_fround(0), $1497 = Math_fround(0), $1505 = Math_fround(0), $1542 = Math_fround(0), $1546 = Math_fround(0), $1550 = Math_fround(0), $1558 = Math_fround(0), $1568 = Math_fround(0), $1578 = Math_fround(0), $1585 = Math_fround(0), $1591 = Math_fround(0), $1597 = Math_fround(0), $1627 = Math_fround(0), $1680 = Math_fround(0), $1690 = Math_fround(0), $1725 = Math_fround(0), $1778 = Math_fround(0), $1788 = Math_fround(0), $1833 = Math_fround(0), $1866 = Math_fround(0), $1912 = Math_fround(0), $1913 = Math_fround(0), $1944 = Math_fround(0), $1945 = Math_fround(0), $2031 = Math_fround(0), $2038 = Math_fround(0), $2045 = Math_fround(0), $2053 = Math_fround(0), $2061 = Math_fround(0), $2069 = Math_fround(0), $2079 = Math_fround(0), $2091 = Math_fround(0), $2103 = Math_fround(0), $2113 = Math_fround(0), $2123 = Math_fround(0), $2133 = Math_fround(0), $2244 = Math_fround(0), $2295 = Math_fround(0), $2606 = 0, $2672 = Math_fround(0), $2816 = Math_fround(0), $2890 = Math_fround(0), $2908 = Math_fround(0), $3032 = Math_fround(0), $3139 = 0, wasm2js_i32$0 = 0, wasm2js_f32$0 = Math_fround(0), wasm2js_i32$1 = 0; + $15 = __stack_pointer - 992 | 0; + __stack_pointer = $15; + HEAP32[($15 + 984 | 0) >> 2] = $0; + HEAP32[($15 + 980 | 0) >> 2] = $1; + HEAP32[($15 + 976 | 0) >> 2] = $2; + HEAP32[($15 + 972 | 0) >> 2] = $3; + HEAP32[($15 + 968 | 0) >> 2] = $4; + HEAP32[($15 + 964 | 0) >> 2] = $5; + HEAP32[($15 + 960 | 0) >> 2] = $6; + HEAP32[($15 + 956 | 0) >> 2] = $7; + HEAP32[($15 + 952 | 0) >> 2] = $8; + HEAP32[($15 + 948 | 0) >> 2] = $9; + HEAP32[($15 + 944 | 0) >> 2] = $10; + HEAP32[($15 + 940 | 0) >> 2] = $11; + HEAP32[($15 + 936 | 0) >> 2] = $12; + HEAPF32[($15 + 932 | 0) >> 2] = Math_fround(1.0499999523162842); + btVector3__btVector3_28_29($15 + 912 | 0 | 0) | 0; + btVector3__btVector3_28_29($15 + 896 | 0 | 0) | 0; + HEAPF32[($15 + 876 | 0) >> 2] = Math_fround(0 | 0); + HEAPF32[($15 + 872 | 0) >> 2] = Math_fround(0 | 0); + HEAPF32[($15 + 868 | 0) >> 2] = Math_fround(0 | 0); + btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($15 + 880 | 0 | 0, $15 + 876 | 0 | 0, $15 + 872 | 0 | 0, $15 + 868 | 0 | 0) | 0; + HEAP32[($15 + 864 | 0) >> 2] = 0; + operator__28btVector3_20const__2c_20btVector3_20const__29($15 + 724 | 0 | 0, HEAP32[($15 + 972 | 0) >> 2] | 0 | 0, HEAP32[($15 + 984 | 0) >> 2] | 0 | 0); + $47 = 8; + i64toi32_i32$2 = ($15 + 724 | 0) + $47 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $3248 = i64toi32_i32$0; + i64toi32_i32$0 = ($15 + 912 | 0) + $47 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $3248; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$2 = $15; + i64toi32_i32$1 = HEAP32[($15 + 724 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($15 + 728 | 0) >> 2] | 0; + $3252 = i64toi32_i32$1; + i64toi32_i32$1 = $15; + HEAP32[($15 + 912 | 0) >> 2] = $3252; + HEAP32[($15 + 916 | 0) >> 2] = i64toi32_i32$0; + $61 = Math_fround(dDOT41_28float_20const__2c_20float_20const__29(HEAP32[($15 + 980 | 0) >> 2] | 0 | 0, btVector3__operator_20float__28_29($15 + 912 | 0 | 0) | 0 | 0)); + (wasm2js_i32$0 = btVector3__operator_20float__28_29($15 + 896 | 0 | 0) | 0, wasm2js_f32$0 = $61), HEAPF32[wasm2js_i32$0 >> 2] = wasm2js_f32$0; + $73 = Math_fround(dDOT41_28float_20const__2c_20float_20const__29((HEAP32[($15 + 980 | 0) >> 2] | 0) + 4 | 0 | 0, btVector3__operator_20float__28_29($15 + 912 | 0 | 0) | 0 | 0)); + (wasm2js_i32$0 = btVector3__operator_20float__28_29($15 + 896 | 0 | 0) | 0, wasm2js_f32$0 = $73), HEAPF32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_f32$0; + $85 = Math_fround(dDOT41_28float_20const__2c_20float_20const__29((HEAP32[($15 + 980 | 0) >> 2] | 0) + 8 | 0 | 0, btVector3__operator_20float__28_29($15 + 912 | 0 | 0) | 0 | 0)); + (wasm2js_i32$0 = btVector3__operator_20float__28_29($15 + 896 | 0 | 0) | 0, wasm2js_f32$0 = $85), HEAPF32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_f32$0; + (wasm2js_i32$0 = $15, wasm2js_f32$0 = Math_fround(Math_fround(HEAPF32[(btVector3__operator_20float_20const__28_29_20const(HEAP32[($15 + 976 | 0) >> 2] | 0 | 0) | 0) >> 2]) * Math_fround(.5))), HEAPF32[(wasm2js_i32$0 + 852 | 0) >> 2] = wasm2js_f32$0; + (wasm2js_i32$0 = $15, wasm2js_f32$0 = Math_fround(Math_fround(HEAPF32[((btVector3__operator_20float_20const__28_29_20const(HEAP32[($15 + 976 | 0) >> 2] | 0 | 0) | 0) + 4 | 0) >> 2]) * Math_fround(.5))), HEAPF32[(wasm2js_i32$0 + 856 | 0) >> 2] = wasm2js_f32$0; + (wasm2js_i32$0 = $15, wasm2js_f32$0 = Math_fround(Math_fround(HEAPF32[((btVector3__operator_20float_20const__28_29_20const(HEAP32[($15 + 976 | 0) >> 2] | 0 | 0) | 0) + 8 | 0) >> 2]) * Math_fround(.5))), HEAPF32[(wasm2js_i32$0 + 860 | 0) >> 2] = wasm2js_f32$0; + (wasm2js_i32$0 = $15, wasm2js_f32$0 = Math_fround(Math_fround(HEAPF32[(btVector3__operator_20float_20const__28_29_20const(HEAP32[($15 + 964 | 0) >> 2] | 0 | 0) | 0) >> 2]) * Math_fround(.5))), HEAPF32[(wasm2js_i32$0 + 840 | 0) >> 2] = wasm2js_f32$0; + (wasm2js_i32$0 = $15, wasm2js_f32$0 = Math_fround(Math_fround(HEAPF32[((btVector3__operator_20float_20const__28_29_20const(HEAP32[($15 + 964 | 0) >> 2] | 0 | 0) | 0) + 4 | 0) >> 2]) * Math_fround(.5))), HEAPF32[(wasm2js_i32$0 + 844 | 0) >> 2] = wasm2js_f32$0; + (wasm2js_i32$0 = $15, wasm2js_f32$0 = Math_fround(Math_fround(HEAPF32[((btVector3__operator_20float_20const__28_29_20const(HEAP32[($15 + 964 | 0) >> 2] | 0 | 0) | 0) + 8 | 0) >> 2]) * Math_fround(.5))), HEAPF32[(wasm2js_i32$0 + 848 | 0) >> 2] = wasm2js_f32$0; + (wasm2js_i32$0 = $15, wasm2js_f32$0 = Math_fround(dDOT44_28float_20const__2c_20float_20const__29(HEAP32[($15 + 980 | 0) >> 2] | 0 | 0, HEAP32[($15 + 968 | 0) >> 2] | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 836 | 0) >> 2] = wasm2js_f32$0; + (wasm2js_i32$0 = $15, wasm2js_f32$0 = Math_fround(dDOT44_28float_20const__2c_20float_20const__29(HEAP32[($15 + 980 | 0) >> 2] | 0 | 0, (HEAP32[($15 + 968 | 0) >> 2] | 0) + 4 | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 832 | 0) >> 2] = wasm2js_f32$0; + (wasm2js_i32$0 = $15, wasm2js_f32$0 = Math_fround(dDOT44_28float_20const__2c_20float_20const__29(HEAP32[($15 + 980 | 0) >> 2] | 0 | 0, (HEAP32[($15 + 968 | 0) >> 2] | 0) + 8 | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 828 | 0) >> 2] = wasm2js_f32$0; + (wasm2js_i32$0 = $15, wasm2js_f32$0 = Math_fround(dDOT44_28float_20const__2c_20float_20const__29((HEAP32[($15 + 980 | 0) >> 2] | 0) + 4 | 0 | 0, HEAP32[($15 + 968 | 0) >> 2] | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 824 | 0) >> 2] = wasm2js_f32$0; + (wasm2js_i32$0 = $15, wasm2js_f32$0 = Math_fround(dDOT44_28float_20const__2c_20float_20const__29((HEAP32[($15 + 980 | 0) >> 2] | 0) + 4 | 0 | 0, (HEAP32[($15 + 968 | 0) >> 2] | 0) + 4 | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 820 | 0) >> 2] = wasm2js_f32$0; + (wasm2js_i32$0 = $15, wasm2js_f32$0 = Math_fround(dDOT44_28float_20const__2c_20float_20const__29((HEAP32[($15 + 980 | 0) >> 2] | 0) + 4 | 0 | 0, (HEAP32[($15 + 968 | 0) >> 2] | 0) + 8 | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 816 | 0) >> 2] = wasm2js_f32$0; + (wasm2js_i32$0 = $15, wasm2js_f32$0 = Math_fround(dDOT44_28float_20const__2c_20float_20const__29((HEAP32[($15 + 980 | 0) >> 2] | 0) + 8 | 0 | 0, HEAP32[($15 + 968 | 0) >> 2] | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 812 | 0) >> 2] = wasm2js_f32$0; + (wasm2js_i32$0 = $15, wasm2js_f32$0 = Math_fround(dDOT44_28float_20const__2c_20float_20const__29((HEAP32[($15 + 980 | 0) >> 2] | 0) + 8 | 0 | 0, (HEAP32[($15 + 968 | 0) >> 2] | 0) + 4 | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 808 | 0) >> 2] = wasm2js_f32$0; + (wasm2js_i32$0 = $15, wasm2js_f32$0 = Math_fround(dDOT44_28float_20const__2c_20float_20const__29((HEAP32[($15 + 980 | 0) >> 2] | 0) + 8 | 0 | 0, (HEAP32[($15 + 968 | 0) >> 2] | 0) + 8 | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 804 | 0) >> 2] = wasm2js_f32$0; + (wasm2js_i32$0 = $15, wasm2js_f32$0 = Math_fround(btFabs_28float_29(Math_fround(Math_fround(HEAPF32[($15 + 836 | 0) >> 2]))))), HEAPF32[(wasm2js_i32$0 + 800 | 0) >> 2] = wasm2js_f32$0; + (wasm2js_i32$0 = $15, wasm2js_f32$0 = Math_fround(btFabs_28float_29(Math_fround(Math_fround(HEAPF32[($15 + 832 | 0) >> 2]))))), HEAPF32[(wasm2js_i32$0 + 796 | 0) >> 2] = wasm2js_f32$0; + (wasm2js_i32$0 = $15, wasm2js_f32$0 = Math_fround(btFabs_28float_29(Math_fround(Math_fround(HEAPF32[($15 + 828 | 0) >> 2]))))), HEAPF32[(wasm2js_i32$0 + 792 | 0) >> 2] = wasm2js_f32$0; + (wasm2js_i32$0 = $15, wasm2js_f32$0 = Math_fround(btFabs_28float_29(Math_fround(Math_fround(HEAPF32[($15 + 824 | 0) >> 2]))))), HEAPF32[(wasm2js_i32$0 + 788 | 0) >> 2] = wasm2js_f32$0; + (wasm2js_i32$0 = $15, wasm2js_f32$0 = Math_fround(btFabs_28float_29(Math_fround(Math_fround(HEAPF32[($15 + 820 | 0) >> 2]))))), HEAPF32[(wasm2js_i32$0 + 784 | 0) >> 2] = wasm2js_f32$0; + (wasm2js_i32$0 = $15, wasm2js_f32$0 = Math_fround(btFabs_28float_29(Math_fround(Math_fround(HEAPF32[($15 + 816 | 0) >> 2]))))), HEAPF32[(wasm2js_i32$0 + 780 | 0) >> 2] = wasm2js_f32$0; + (wasm2js_i32$0 = $15, wasm2js_f32$0 = Math_fround(btFabs_28float_29(Math_fround(Math_fround(HEAPF32[($15 + 812 | 0) >> 2]))))), HEAPF32[(wasm2js_i32$0 + 776 | 0) >> 2] = wasm2js_f32$0; + (wasm2js_i32$0 = $15, wasm2js_f32$0 = Math_fround(btFabs_28float_29(Math_fround(Math_fround(HEAPF32[($15 + 808 | 0) >> 2]))))), HEAPF32[(wasm2js_i32$0 + 772 | 0) >> 2] = wasm2js_f32$0; + (wasm2js_i32$0 = $15, wasm2js_f32$0 = Math_fround(btFabs_28float_29(Math_fround(Math_fround(HEAPF32[($15 + 804 | 0) >> 2]))))), HEAPF32[(wasm2js_i32$0 + 768 | 0) >> 2] = wasm2js_f32$0; + HEAPF32[($15 + 764 | 0) >> 2] = Math_fround(-3402823466385288598117041.0e14); + HEAP32[($15 + 744 | 0) >> 2] = 0; + HEAP32[($15 + 740 | 0) >> 2] = 0; + (wasm2js_i32$0 = $15, wasm2js_f32$0 = Math_fround(Math_fround(btFabs_28float_29(Math_fround(Math_fround(HEAPF32[(btVector3__operator_20float__28_29($15 + 896 | 0 | 0) | 0) >> 2])))) - Math_fround(Math_fround(Math_fround(HEAPF32[($15 + 848 | 0) >> 2]) * Math_fround(HEAPF32[($15 + 792 | 0) >> 2])) + Math_fround(Math_fround(Math_fround(HEAPF32[($15 + 844 | 0) >> 2]) * Math_fround(HEAPF32[($15 + 796 | 0) >> 2])) + Math_fround(Math_fround(Math_fround(HEAPF32[($15 + 840 | 0) >> 2]) * Math_fround(HEAPF32[($15 + 800 | 0) >> 2])) + Math_fround(HEAPF32[($15 + 852 | 0) >> 2])))))), HEAPF32[(wasm2js_i32$0 + 760 | 0) >> 2] = wasm2js_f32$0; + label$1 : { + label$2 : { + if (!(Math_fround(HEAPF32[($15 + 760 | 0) >> 2]) > Math_fround(0 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($15 + 988 | 0) >> 2] = 0; + break label$1; + } + label$3 : { + if (!(Math_fround(HEAPF32[($15 + 760 | 0) >> 2]) > Math_fround(HEAPF32[($15 + 764 | 0) >> 2]) & 1 | 0)) { + break label$3 + } + HEAPF32[($15 + 764 | 0) >> 2] = Math_fround(HEAPF32[($15 + 760 | 0) >> 2]); + HEAP32[($15 + 864 | 0) >> 2] = HEAP32[($15 + 980 | 0) >> 2] | 0; + (wasm2js_i32$0 = $15, wasm2js_i32$1 = Math_fround(HEAPF32[(btVector3__operator_20float__28_29($15 + 896 | 0 | 0) | 0) >> 2]) < Math_fround(0 | 0) & 1 | 0), HEAP32[(wasm2js_i32$0 + 744 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($15 + 740 | 0) >> 2] = 1; + } + (wasm2js_i32$0 = $15, wasm2js_f32$0 = Math_fround(Math_fround(btFabs_28float_29(Math_fround(Math_fround(HEAPF32[((btVector3__operator_20float__28_29($15 + 896 | 0 | 0) | 0) + 4 | 0) >> 2])))) - Math_fround(Math_fround(Math_fround(HEAPF32[($15 + 848 | 0) >> 2]) * Math_fround(HEAPF32[($15 + 780 | 0) >> 2])) + Math_fround(Math_fround(Math_fround(HEAPF32[($15 + 844 | 0) >> 2]) * Math_fround(HEAPF32[($15 + 784 | 0) >> 2])) + Math_fround(Math_fround(Math_fround(HEAPF32[($15 + 840 | 0) >> 2]) * Math_fround(HEAPF32[($15 + 788 | 0) >> 2])) + Math_fround(HEAPF32[($15 + 856 | 0) >> 2])))))), HEAPF32[(wasm2js_i32$0 + 760 | 0) >> 2] = wasm2js_f32$0; + label$4 : { + if (!(Math_fround(HEAPF32[($15 + 760 | 0) >> 2]) > Math_fround(0 | 0) & 1 | 0)) { + break label$4 + } + HEAP32[($15 + 988 | 0) >> 2] = 0; + break label$1; + } + label$5 : { + if (!(Math_fround(HEAPF32[($15 + 760 | 0) >> 2]) > Math_fround(HEAPF32[($15 + 764 | 0) >> 2]) & 1 | 0)) { + break label$5 + } + HEAPF32[($15 + 764 | 0) >> 2] = Math_fround(HEAPF32[($15 + 760 | 0) >> 2]); + HEAP32[($15 + 864 | 0) >> 2] = (HEAP32[($15 + 980 | 0) >> 2] | 0) + 4 | 0; + (wasm2js_i32$0 = $15, wasm2js_i32$1 = Math_fround(HEAPF32[((btVector3__operator_20float__28_29($15 + 896 | 0 | 0) | 0) + 4 | 0) >> 2]) < Math_fround(0 | 0) & 1 | 0), HEAP32[(wasm2js_i32$0 + 744 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($15 + 740 | 0) >> 2] = 2; + } + (wasm2js_i32$0 = $15, wasm2js_f32$0 = Math_fround(Math_fround(btFabs_28float_29(Math_fround(Math_fround(HEAPF32[((btVector3__operator_20float__28_29($15 + 896 | 0 | 0) | 0) + 8 | 0) >> 2])))) - Math_fround(Math_fround(Math_fround(HEAPF32[($15 + 848 | 0) >> 2]) * Math_fround(HEAPF32[($15 + 768 | 0) >> 2])) + Math_fround(Math_fround(Math_fround(HEAPF32[($15 + 844 | 0) >> 2]) * Math_fround(HEAPF32[($15 + 772 | 0) >> 2])) + Math_fround(Math_fround(Math_fround(HEAPF32[($15 + 840 | 0) >> 2]) * Math_fround(HEAPF32[($15 + 776 | 0) >> 2])) + Math_fround(HEAPF32[($15 + 860 | 0) >> 2])))))), HEAPF32[(wasm2js_i32$0 + 760 | 0) >> 2] = wasm2js_f32$0; + label$6 : { + if (!(Math_fround(HEAPF32[($15 + 760 | 0) >> 2]) > Math_fround(0 | 0) & 1 | 0)) { + break label$6 + } + HEAP32[($15 + 988 | 0) >> 2] = 0; + break label$1; + } + label$7 : { + if (!(Math_fround(HEAPF32[($15 + 760 | 0) >> 2]) > Math_fround(HEAPF32[($15 + 764 | 0) >> 2]) & 1 | 0)) { + break label$7 + } + HEAPF32[($15 + 764 | 0) >> 2] = Math_fround(HEAPF32[($15 + 760 | 0) >> 2]); + HEAP32[($15 + 864 | 0) >> 2] = (HEAP32[($15 + 980 | 0) >> 2] | 0) + 8 | 0; + (wasm2js_i32$0 = $15, wasm2js_i32$1 = Math_fround(HEAPF32[((btVector3__operator_20float__28_29($15 + 896 | 0 | 0) | 0) + 8 | 0) >> 2]) < Math_fround(0 | 0) & 1 | 0), HEAP32[(wasm2js_i32$0 + 744 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($15 + 740 | 0) >> 2] = 3; + } + (wasm2js_i32$0 = $15, wasm2js_f32$0 = Math_fround(Math_fround(btFabs_28float_29(Math_fround(Math_fround(dDOT41_28float_20const__2c_20float_20const__29(HEAP32[($15 + 968 | 0) >> 2] | 0 | 0, btVector3__operator_20float__28_29($15 + 912 | 0 | 0) | 0 | 0))))) - Math_fround(Math_fround(Math_fround(Math_fround(HEAPF32[($15 + 860 | 0) >> 2]) * Math_fround(HEAPF32[($15 + 776 | 0) >> 2])) + Math_fround(Math_fround(Math_fround(HEAPF32[($15 + 852 | 0) >> 2]) * Math_fround(HEAPF32[($15 + 800 | 0) >> 2])) + Math_fround(Math_fround(HEAPF32[($15 + 856 | 0) >> 2]) * Math_fround(HEAPF32[($15 + 788 | 0) >> 2])))) + Math_fround(HEAPF32[($15 + 840 | 0) >> 2])))), HEAPF32[(wasm2js_i32$0 + 760 | 0) >> 2] = wasm2js_f32$0; + label$8 : { + if (!(Math_fround(HEAPF32[($15 + 760 | 0) >> 2]) > Math_fround(0 | 0) & 1 | 0)) { + break label$8 + } + HEAP32[($15 + 988 | 0) >> 2] = 0; + break label$1; + } + label$9 : { + if (!(Math_fround(HEAPF32[($15 + 760 | 0) >> 2]) > Math_fround(HEAPF32[($15 + 764 | 0) >> 2]) & 1 | 0)) { + break label$9 + } + HEAPF32[($15 + 764 | 0) >> 2] = Math_fround(HEAPF32[($15 + 760 | 0) >> 2]); + HEAP32[($15 + 864 | 0) >> 2] = HEAP32[($15 + 968 | 0) >> 2] | 0; + (wasm2js_i32$0 = $15, wasm2js_i32$1 = Math_fround(dDOT41_28float_20const__2c_20float_20const__29(HEAP32[($15 + 968 | 0) >> 2] | 0 | 0, btVector3__operator_20float__28_29($15 + 912 | 0 | 0) | 0 | 0)) < Math_fround(0 | 0) & 1 | 0), HEAP32[(wasm2js_i32$0 + 744 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($15 + 740 | 0) >> 2] = 4; + } + (wasm2js_i32$0 = $15, wasm2js_f32$0 = Math_fround(Math_fround(btFabs_28float_29(Math_fround(Math_fround(dDOT41_28float_20const__2c_20float_20const__29((HEAP32[($15 + 968 | 0) >> 2] | 0) + 4 | 0 | 0, btVector3__operator_20float__28_29($15 + 912 | 0 | 0) | 0 | 0))))) - Math_fround(Math_fround(Math_fround(Math_fround(HEAPF32[($15 + 860 | 0) >> 2]) * Math_fround(HEAPF32[($15 + 772 | 0) >> 2])) + Math_fround(Math_fround(Math_fround(HEAPF32[($15 + 852 | 0) >> 2]) * Math_fround(HEAPF32[($15 + 796 | 0) >> 2])) + Math_fround(Math_fround(HEAPF32[($15 + 856 | 0) >> 2]) * Math_fround(HEAPF32[($15 + 784 | 0) >> 2])))) + Math_fround(HEAPF32[($15 + 844 | 0) >> 2])))), HEAPF32[(wasm2js_i32$0 + 760 | 0) >> 2] = wasm2js_f32$0; + label$10 : { + if (!(Math_fround(HEAPF32[($15 + 760 | 0) >> 2]) > Math_fround(0 | 0) & 1 | 0)) { + break label$10 + } + HEAP32[($15 + 988 | 0) >> 2] = 0; + break label$1; + } + label$11 : { + if (!(Math_fround(HEAPF32[($15 + 760 | 0) >> 2]) > Math_fround(HEAPF32[($15 + 764 | 0) >> 2]) & 1 | 0)) { + break label$11 + } + HEAPF32[($15 + 764 | 0) >> 2] = Math_fround(HEAPF32[($15 + 760 | 0) >> 2]); + HEAP32[($15 + 864 | 0) >> 2] = (HEAP32[($15 + 968 | 0) >> 2] | 0) + 4 | 0; + (wasm2js_i32$0 = $15, wasm2js_i32$1 = Math_fround(dDOT41_28float_20const__2c_20float_20const__29((HEAP32[($15 + 968 | 0) >> 2] | 0) + 4 | 0 | 0, btVector3__operator_20float__28_29($15 + 912 | 0 | 0) | 0 | 0)) < Math_fround(0 | 0) & 1 | 0), HEAP32[(wasm2js_i32$0 + 744 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($15 + 740 | 0) >> 2] = 5; + } + (wasm2js_i32$0 = $15, wasm2js_f32$0 = Math_fround(Math_fround(btFabs_28float_29(Math_fround(Math_fround(dDOT41_28float_20const__2c_20float_20const__29((HEAP32[($15 + 968 | 0) >> 2] | 0) + 8 | 0 | 0, btVector3__operator_20float__28_29($15 + 912 | 0 | 0) | 0 | 0))))) - Math_fround(Math_fround(Math_fround(Math_fround(HEAPF32[($15 + 860 | 0) >> 2]) * Math_fround(HEAPF32[($15 + 768 | 0) >> 2])) + Math_fround(Math_fround(Math_fround(HEAPF32[($15 + 852 | 0) >> 2]) * Math_fround(HEAPF32[($15 + 792 | 0) >> 2])) + Math_fround(Math_fround(HEAPF32[($15 + 856 | 0) >> 2]) * Math_fround(HEAPF32[($15 + 780 | 0) >> 2])))) + Math_fround(HEAPF32[($15 + 848 | 0) >> 2])))), HEAPF32[(wasm2js_i32$0 + 760 | 0) >> 2] = wasm2js_f32$0; + label$12 : { + if (!(Math_fround(HEAPF32[($15 + 760 | 0) >> 2]) > Math_fround(0 | 0) & 1 | 0)) { + break label$12 + } + HEAP32[($15 + 988 | 0) >> 2] = 0; + break label$1; + } + label$13 : { + if (!(Math_fround(HEAPF32[($15 + 760 | 0) >> 2]) > Math_fround(HEAPF32[($15 + 764 | 0) >> 2]) & 1 | 0)) { + break label$13 + } + HEAPF32[($15 + 764 | 0) >> 2] = Math_fround(HEAPF32[($15 + 760 | 0) >> 2]); + HEAP32[($15 + 864 | 0) >> 2] = (HEAP32[($15 + 968 | 0) >> 2] | 0) + 8 | 0; + (wasm2js_i32$0 = $15, wasm2js_i32$1 = Math_fround(dDOT41_28float_20const__2c_20float_20const__29((HEAP32[($15 + 968 | 0) >> 2] | 0) + 8 | 0 | 0, btVector3__operator_20float__28_29($15 + 912 | 0 | 0) | 0 | 0)) < Math_fround(0 | 0) & 1 | 0), HEAP32[(wasm2js_i32$0 + 744 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($15 + 740 | 0) >> 2] = 6; + } + HEAPF32[($15 + 720 | 0) >> 2] = Math_fround(9.999999747378752e-06); + HEAPF32[($15 + 800 | 0) >> 2] = Math_fround(Math_fround(HEAPF32[($15 + 800 | 0) >> 2]) + Math_fround(HEAPF32[($15 + 720 | 0) >> 2])); + HEAPF32[($15 + 796 | 0) >> 2] = Math_fround(Math_fround(HEAPF32[($15 + 796 | 0) >> 2]) + Math_fround(HEAPF32[($15 + 720 | 0) >> 2])); + HEAPF32[($15 + 792 | 0) >> 2] = Math_fround(Math_fround(HEAPF32[($15 + 792 | 0) >> 2]) + Math_fround(HEAPF32[($15 + 720 | 0) >> 2])); + HEAPF32[($15 + 788 | 0) >> 2] = Math_fround(Math_fround(HEAPF32[($15 + 788 | 0) >> 2]) + Math_fround(HEAPF32[($15 + 720 | 0) >> 2])); + HEAPF32[($15 + 784 | 0) >> 2] = Math_fround(Math_fround(HEAPF32[($15 + 784 | 0) >> 2]) + Math_fround(HEAPF32[($15 + 720 | 0) >> 2])); + HEAPF32[($15 + 780 | 0) >> 2] = Math_fround(Math_fround(HEAPF32[($15 + 780 | 0) >> 2]) + Math_fround(HEAPF32[($15 + 720 | 0) >> 2])); + HEAPF32[($15 + 776 | 0) >> 2] = Math_fround(Math_fround(HEAPF32[($15 + 776 | 0) >> 2]) + Math_fround(HEAPF32[($15 + 720 | 0) >> 2])); + HEAPF32[($15 + 772 | 0) >> 2] = Math_fround(Math_fround(HEAPF32[($15 + 772 | 0) >> 2]) + Math_fround(HEAPF32[($15 + 720 | 0) >> 2])); + HEAPF32[($15 + 768 | 0) >> 2] = Math_fround(Math_fround(HEAPF32[($15 + 768 | 0) >> 2]) + Math_fround(HEAPF32[($15 + 720 | 0) >> 2])); + (wasm2js_i32$0 = $15, wasm2js_f32$0 = Math_fround(Math_fround(btFabs_28float_29(Math_fround(Math_fround(Math_fround(Math_fround(HEAPF32[((btVector3__operator_20float__28_29($15 + 896 | 0 | 0) | 0) + 8 | 0) >> 2]) * Math_fround(HEAPF32[($15 + 824 | 0) >> 2])) + Math_fround(-Math_fround(Math_fround(HEAPF32[((btVector3__operator_20float__28_29($15 + 896 | 0 | 0) | 0) + 4 | 0) >> 2]) * Math_fround(HEAPF32[($15 + 812 | 0) >> 2]))))))) - Math_fround(Math_fround(Math_fround(HEAPF32[($15 + 848 | 0) >> 2]) * Math_fround(HEAPF32[($15 + 796 | 0) >> 2])) + Math_fround(Math_fround(Math_fround(HEAPF32[($15 + 844 | 0) >> 2]) * Math_fround(HEAPF32[($15 + 792 | 0) >> 2])) + Math_fround(Math_fround(Math_fround(HEAPF32[($15 + 856 | 0) >> 2]) * Math_fround(HEAPF32[($15 + 776 | 0) >> 2])) + Math_fround(Math_fround(HEAPF32[($15 + 860 | 0) >> 2]) * Math_fround(HEAPF32[($15 + 788 | 0) >> 2]))))))), HEAPF32[(wasm2js_i32$0 + 760 | 0) >> 2] = wasm2js_f32$0; + label$14 : { + if (!(Math_fround(HEAPF32[($15 + 760 | 0) >> 2]) > Math_fround(1.1920928955078125e-07) & 1 | 0)) { + break label$14 + } + HEAP32[($15 + 988 | 0) >> 2] = 0; + break label$1; + } + (wasm2js_i32$0 = $15, wasm2js_f32$0 = Math_fround(btSqrt_28float_29(Math_fround(Math_fround(Math_fround(Math_fround(HEAPF32[($15 + 824 | 0) >> 2]) * Math_fround(HEAPF32[($15 + 824 | 0) >> 2])) + Math_fround(Math_fround(Math_fround(-Math_fround(HEAPF32[($15 + 812 | 0) >> 2])) * Math_fround(-Math_fround(HEAPF32[($15 + 812 | 0) >> 2]))) + Math_fround(0.0))))))), HEAPF32[(wasm2js_i32$0 + 756 | 0) >> 2] = wasm2js_f32$0; + label$15 : { + if (!(Math_fround(HEAPF32[($15 + 756 | 0) >> 2]) > Math_fround(1.1920928955078125e-07) & 1 | 0)) { + break label$15 + } + HEAPF32[($15 + 760 | 0) >> 2] = Math_fround(Math_fround(HEAPF32[($15 + 760 | 0) >> 2]) / Math_fround(HEAPF32[($15 + 756 | 0) >> 2])); + label$16 : { + if (!(Math_fround(Math_fround(HEAPF32[($15 + 760 | 0) >> 2]) * Math_fround(1.0499999523162842)) > Math_fround(HEAPF32[($15 + 764 | 0) >> 2]) & 1 | 0)) { + break label$16 + } + HEAPF32[($15 + 764 | 0) >> 2] = Math_fround(HEAPF32[($15 + 760 | 0) >> 2]); + HEAP32[($15 + 864 | 0) >> 2] = 0; + $583 = Math_fround(Math_fround(0 | 0) / Math_fround(HEAPF32[($15 + 756 | 0) >> 2])); + (wasm2js_i32$0 = btVector3__operator_20float__28_29($15 + 880 | 0 | 0) | 0, wasm2js_f32$0 = $583), HEAPF32[wasm2js_i32$0 >> 2] = wasm2js_f32$0; + $591 = Math_fround(Math_fround(-Math_fround(HEAPF32[($15 + 812 | 0) >> 2])) / Math_fround(HEAPF32[($15 + 756 | 0) >> 2])); + (wasm2js_i32$0 = btVector3__operator_20float__28_29($15 + 880 | 0 | 0) | 0, wasm2js_f32$0 = $591), HEAPF32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_f32$0; + $598 = Math_fround(Math_fround(HEAPF32[($15 + 824 | 0) >> 2]) / Math_fround(HEAPF32[($15 + 756 | 0) >> 2])); + (wasm2js_i32$0 = btVector3__operator_20float__28_29($15 + 880 | 0 | 0) | 0, wasm2js_f32$0 = $598), HEAPF32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_f32$0; + (wasm2js_i32$0 = $15, wasm2js_i32$1 = Math_fround(Math_fround(Math_fround(HEAPF32[((btVector3__operator_20float__28_29($15 + 896 | 0 | 0) | 0) + 8 | 0) >> 2]) * Math_fround(HEAPF32[($15 + 824 | 0) >> 2])) + Math_fround(-Math_fround(Math_fround(HEAPF32[((btVector3__operator_20float__28_29($15 + 896 | 0 | 0) | 0) + 4 | 0) >> 2]) * Math_fround(HEAPF32[($15 + 812 | 0) >> 2])))) < Math_fround(0 | 0) & 1 | 0), HEAP32[(wasm2js_i32$0 + 744 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($15 + 740 | 0) >> 2] = 7; + } + } + (wasm2js_i32$0 = $15, wasm2js_f32$0 = Math_fround(Math_fround(btFabs_28float_29(Math_fround(Math_fround(Math_fround(Math_fround(HEAPF32[((btVector3__operator_20float__28_29($15 + 896 | 0 | 0) | 0) + 8 | 0) >> 2]) * Math_fround(HEAPF32[($15 + 820 | 0) >> 2])) + Math_fround(-Math_fround(Math_fround(HEAPF32[((btVector3__operator_20float__28_29($15 + 896 | 0 | 0) | 0) + 4 | 0) >> 2]) * Math_fround(HEAPF32[($15 + 808 | 0) >> 2]))))))) - Math_fround(Math_fround(Math_fround(HEAPF32[($15 + 848 | 0) >> 2]) * Math_fround(HEAPF32[($15 + 800 | 0) >> 2])) + Math_fround(Math_fround(Math_fround(HEAPF32[($15 + 840 | 0) >> 2]) * Math_fround(HEAPF32[($15 + 792 | 0) >> 2])) + Math_fround(Math_fround(Math_fround(HEAPF32[($15 + 856 | 0) >> 2]) * Math_fround(HEAPF32[($15 + 772 | 0) >> 2])) + Math_fround(Math_fround(HEAPF32[($15 + 860 | 0) >> 2]) * Math_fround(HEAPF32[($15 + 784 | 0) >> 2]))))))), HEAPF32[(wasm2js_i32$0 + 760 | 0) >> 2] = wasm2js_f32$0; + label$17 : { + if (!(Math_fround(HEAPF32[($15 + 760 | 0) >> 2]) > Math_fround(1.1920928955078125e-07) & 1 | 0)) { + break label$17 + } + HEAP32[($15 + 988 | 0) >> 2] = 0; + break label$1; + } + (wasm2js_i32$0 = $15, wasm2js_f32$0 = Math_fround(btSqrt_28float_29(Math_fround(Math_fround(Math_fround(Math_fround(HEAPF32[($15 + 820 | 0) >> 2]) * Math_fround(HEAPF32[($15 + 820 | 0) >> 2])) + Math_fround(Math_fround(Math_fround(-Math_fround(HEAPF32[($15 + 808 | 0) >> 2])) * Math_fround(-Math_fround(HEAPF32[($15 + 808 | 0) >> 2]))) + Math_fround(0.0))))))), HEAPF32[(wasm2js_i32$0 + 756 | 0) >> 2] = wasm2js_f32$0; + label$18 : { + if (!(Math_fround(HEAPF32[($15 + 756 | 0) >> 2]) > Math_fround(1.1920928955078125e-07) & 1 | 0)) { + break label$18 + } + HEAPF32[($15 + 760 | 0) >> 2] = Math_fround(Math_fround(HEAPF32[($15 + 760 | 0) >> 2]) / Math_fround(HEAPF32[($15 + 756 | 0) >> 2])); + label$19 : { + if (!(Math_fround(Math_fround(HEAPF32[($15 + 760 | 0) >> 2]) * Math_fround(1.0499999523162842)) > Math_fround(HEAPF32[($15 + 764 | 0) >> 2]) & 1 | 0)) { + break label$19 + } + HEAPF32[($15 + 764 | 0) >> 2] = Math_fround(HEAPF32[($15 + 760 | 0) >> 2]); + HEAP32[($15 + 864 | 0) >> 2] = 0; + $696 = Math_fround(Math_fround(0 | 0) / Math_fround(HEAPF32[($15 + 756 | 0) >> 2])); + (wasm2js_i32$0 = btVector3__operator_20float__28_29($15 + 880 | 0 | 0) | 0, wasm2js_f32$0 = $696), HEAPF32[wasm2js_i32$0 >> 2] = wasm2js_f32$0; + $704 = Math_fround(Math_fround(-Math_fround(HEAPF32[($15 + 808 | 0) >> 2])) / Math_fround(HEAPF32[($15 + 756 | 0) >> 2])); + (wasm2js_i32$0 = btVector3__operator_20float__28_29($15 + 880 | 0 | 0) | 0, wasm2js_f32$0 = $704), HEAPF32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_f32$0; + $711 = Math_fround(Math_fround(HEAPF32[($15 + 820 | 0) >> 2]) / Math_fround(HEAPF32[($15 + 756 | 0) >> 2])); + (wasm2js_i32$0 = btVector3__operator_20float__28_29($15 + 880 | 0 | 0) | 0, wasm2js_f32$0 = $711), HEAPF32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_f32$0; + (wasm2js_i32$0 = $15, wasm2js_i32$1 = Math_fround(Math_fround(Math_fround(HEAPF32[((btVector3__operator_20float__28_29($15 + 896 | 0 | 0) | 0) + 8 | 0) >> 2]) * Math_fround(HEAPF32[($15 + 820 | 0) >> 2])) + Math_fround(-Math_fround(Math_fround(HEAPF32[((btVector3__operator_20float__28_29($15 + 896 | 0 | 0) | 0) + 4 | 0) >> 2]) * Math_fround(HEAPF32[($15 + 808 | 0) >> 2])))) < Math_fround(0 | 0) & 1 | 0), HEAP32[(wasm2js_i32$0 + 744 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($15 + 740 | 0) >> 2] = 8; + } + } + (wasm2js_i32$0 = $15, wasm2js_f32$0 = Math_fround(Math_fround(btFabs_28float_29(Math_fround(Math_fround(Math_fround(Math_fround(HEAPF32[((btVector3__operator_20float__28_29($15 + 896 | 0 | 0) | 0) + 8 | 0) >> 2]) * Math_fround(HEAPF32[($15 + 816 | 0) >> 2])) + Math_fround(-Math_fround(Math_fround(HEAPF32[((btVector3__operator_20float__28_29($15 + 896 | 0 | 0) | 0) + 4 | 0) >> 2]) * Math_fround(HEAPF32[($15 + 804 | 0) >> 2]))))))) - Math_fround(Math_fround(Math_fround(HEAPF32[($15 + 844 | 0) >> 2]) * Math_fround(HEAPF32[($15 + 800 | 0) >> 2])) + Math_fround(Math_fround(Math_fround(HEAPF32[($15 + 840 | 0) >> 2]) * Math_fround(HEAPF32[($15 + 796 | 0) >> 2])) + Math_fround(Math_fround(Math_fround(HEAPF32[($15 + 856 | 0) >> 2]) * Math_fround(HEAPF32[($15 + 768 | 0) >> 2])) + Math_fround(Math_fround(HEAPF32[($15 + 860 | 0) >> 2]) * Math_fround(HEAPF32[($15 + 780 | 0) >> 2]))))))), HEAPF32[(wasm2js_i32$0 + 760 | 0) >> 2] = wasm2js_f32$0; + label$20 : { + if (!(Math_fround(HEAPF32[($15 + 760 | 0) >> 2]) > Math_fround(1.1920928955078125e-07) & 1 | 0)) { + break label$20 + } + HEAP32[($15 + 988 | 0) >> 2] = 0; + break label$1; + } + (wasm2js_i32$0 = $15, wasm2js_f32$0 = Math_fround(btSqrt_28float_29(Math_fround(Math_fround(Math_fround(Math_fround(HEAPF32[($15 + 816 | 0) >> 2]) * Math_fround(HEAPF32[($15 + 816 | 0) >> 2])) + Math_fround(Math_fround(Math_fround(-Math_fround(HEAPF32[($15 + 804 | 0) >> 2])) * Math_fround(-Math_fround(HEAPF32[($15 + 804 | 0) >> 2]))) + Math_fround(0.0))))))), HEAPF32[(wasm2js_i32$0 + 756 | 0) >> 2] = wasm2js_f32$0; + label$21 : { + if (!(Math_fround(HEAPF32[($15 + 756 | 0) >> 2]) > Math_fround(1.1920928955078125e-07) & 1 | 0)) { + break label$21 + } + HEAPF32[($15 + 760 | 0) >> 2] = Math_fround(Math_fround(HEAPF32[($15 + 760 | 0) >> 2]) / Math_fround(HEAPF32[($15 + 756 | 0) >> 2])); + label$22 : { + if (!(Math_fround(Math_fround(HEAPF32[($15 + 760 | 0) >> 2]) * Math_fround(1.0499999523162842)) > Math_fround(HEAPF32[($15 + 764 | 0) >> 2]) & 1 | 0)) { + break label$22 + } + HEAPF32[($15 + 764 | 0) >> 2] = Math_fround(HEAPF32[($15 + 760 | 0) >> 2]); + HEAP32[($15 + 864 | 0) >> 2] = 0; + $809 = Math_fround(Math_fround(0 | 0) / Math_fround(HEAPF32[($15 + 756 | 0) >> 2])); + (wasm2js_i32$0 = btVector3__operator_20float__28_29($15 + 880 | 0 | 0) | 0, wasm2js_f32$0 = $809), HEAPF32[wasm2js_i32$0 >> 2] = wasm2js_f32$0; + $817 = Math_fround(Math_fround(-Math_fround(HEAPF32[($15 + 804 | 0) >> 2])) / Math_fround(HEAPF32[($15 + 756 | 0) >> 2])); + (wasm2js_i32$0 = btVector3__operator_20float__28_29($15 + 880 | 0 | 0) | 0, wasm2js_f32$0 = $817), HEAPF32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_f32$0; + $824 = Math_fround(Math_fround(HEAPF32[($15 + 816 | 0) >> 2]) / Math_fround(HEAPF32[($15 + 756 | 0) >> 2])); + (wasm2js_i32$0 = btVector3__operator_20float__28_29($15 + 880 | 0 | 0) | 0, wasm2js_f32$0 = $824), HEAPF32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_f32$0; + (wasm2js_i32$0 = $15, wasm2js_i32$1 = Math_fround(Math_fround(Math_fround(HEAPF32[((btVector3__operator_20float__28_29($15 + 896 | 0 | 0) | 0) + 8 | 0) >> 2]) * Math_fround(HEAPF32[($15 + 816 | 0) >> 2])) + Math_fround(-Math_fround(Math_fround(HEAPF32[((btVector3__operator_20float__28_29($15 + 896 | 0 | 0) | 0) + 4 | 0) >> 2]) * Math_fround(HEAPF32[($15 + 804 | 0) >> 2])))) < Math_fround(0 | 0) & 1 | 0), HEAP32[(wasm2js_i32$0 + 744 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($15 + 740 | 0) >> 2] = 9; + } + } + (wasm2js_i32$0 = $15, wasm2js_f32$0 = Math_fround(Math_fround(btFabs_28float_29(Math_fround(Math_fround(Math_fround(Math_fround(HEAPF32[(btVector3__operator_20float__28_29($15 + 896 | 0 | 0) | 0) >> 2]) * Math_fround(HEAPF32[($15 + 812 | 0) >> 2])) + Math_fround(-Math_fround(Math_fround(HEAPF32[((btVector3__operator_20float__28_29($15 + 896 | 0 | 0) | 0) + 8 | 0) >> 2]) * Math_fround(HEAPF32[($15 + 836 | 0) >> 2]))))))) - Math_fround(Math_fround(Math_fround(HEAPF32[($15 + 848 | 0) >> 2]) * Math_fround(HEAPF32[($15 + 784 | 0) >> 2])) + Math_fround(Math_fround(Math_fround(HEAPF32[($15 + 844 | 0) >> 2]) * Math_fround(HEAPF32[($15 + 780 | 0) >> 2])) + Math_fround(Math_fround(Math_fround(HEAPF32[($15 + 852 | 0) >> 2]) * Math_fround(HEAPF32[($15 + 776 | 0) >> 2])) + Math_fround(Math_fround(HEAPF32[($15 + 860 | 0) >> 2]) * Math_fround(HEAPF32[($15 + 800 | 0) >> 2]))))))), HEAPF32[(wasm2js_i32$0 + 760 | 0) >> 2] = wasm2js_f32$0; + label$23 : { + if (!(Math_fround(HEAPF32[($15 + 760 | 0) >> 2]) > Math_fround(1.1920928955078125e-07) & 1 | 0)) { + break label$23 + } + HEAP32[($15 + 988 | 0) >> 2] = 0; + break label$1; + } + (wasm2js_i32$0 = $15, wasm2js_f32$0 = Math_fround(btSqrt_28float_29(Math_fround(Math_fround(Math_fround(Math_fround(-Math_fround(HEAPF32[($15 + 836 | 0) >> 2])) * Math_fround(-Math_fround(HEAPF32[($15 + 836 | 0) >> 2]))) + Math_fround(Math_fround(Math_fround(HEAPF32[($15 + 812 | 0) >> 2]) * Math_fround(HEAPF32[($15 + 812 | 0) >> 2])) + Math_fround(0.0))))))), HEAPF32[(wasm2js_i32$0 + 756 | 0) >> 2] = wasm2js_f32$0; + label$24 : { + if (!(Math_fround(HEAPF32[($15 + 756 | 0) >> 2]) > Math_fround(1.1920928955078125e-07) & 1 | 0)) { + break label$24 + } + HEAPF32[($15 + 760 | 0) >> 2] = Math_fround(Math_fround(HEAPF32[($15 + 760 | 0) >> 2]) / Math_fround(HEAPF32[($15 + 756 | 0) >> 2])); + label$25 : { + if (!(Math_fround(Math_fround(HEAPF32[($15 + 760 | 0) >> 2]) * Math_fround(1.0499999523162842)) > Math_fround(HEAPF32[($15 + 764 | 0) >> 2]) & 1 | 0)) { + break label$25 + } + HEAPF32[($15 + 764 | 0) >> 2] = Math_fround(HEAPF32[($15 + 760 | 0) >> 2]); + HEAP32[($15 + 864 | 0) >> 2] = 0; + $921 = Math_fround(Math_fround(HEAPF32[($15 + 812 | 0) >> 2]) / Math_fround(HEAPF32[($15 + 756 | 0) >> 2])); + (wasm2js_i32$0 = btVector3__operator_20float__28_29($15 + 880 | 0 | 0) | 0, wasm2js_f32$0 = $921), HEAPF32[wasm2js_i32$0 >> 2] = wasm2js_f32$0; + $929 = Math_fround(Math_fround(0 | 0) / Math_fround(HEAPF32[($15 + 756 | 0) >> 2])); + (wasm2js_i32$0 = btVector3__operator_20float__28_29($15 + 880 | 0 | 0) | 0, wasm2js_f32$0 = $929), HEAPF32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_f32$0; + $937 = Math_fround(Math_fround(-Math_fround(HEAPF32[($15 + 836 | 0) >> 2])) / Math_fround(HEAPF32[($15 + 756 | 0) >> 2])); + (wasm2js_i32$0 = btVector3__operator_20float__28_29($15 + 880 | 0 | 0) | 0, wasm2js_f32$0 = $937), HEAPF32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_f32$0; + (wasm2js_i32$0 = $15, wasm2js_i32$1 = Math_fround(Math_fround(Math_fround(HEAPF32[(btVector3__operator_20float__28_29($15 + 896 | 0 | 0) | 0) >> 2]) * Math_fround(HEAPF32[($15 + 812 | 0) >> 2])) + Math_fround(-Math_fround(Math_fround(HEAPF32[((btVector3__operator_20float__28_29($15 + 896 | 0 | 0) | 0) + 8 | 0) >> 2]) * Math_fround(HEAPF32[($15 + 836 | 0) >> 2])))) < Math_fround(0 | 0) & 1 | 0), HEAP32[(wasm2js_i32$0 + 744 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($15 + 740 | 0) >> 2] = 10; + } + } + (wasm2js_i32$0 = $15, wasm2js_f32$0 = Math_fround(Math_fround(btFabs_28float_29(Math_fround(Math_fround(Math_fround(Math_fround(HEAPF32[(btVector3__operator_20float__28_29($15 + 896 | 0 | 0) | 0) >> 2]) * Math_fround(HEAPF32[($15 + 808 | 0) >> 2])) + Math_fround(-Math_fround(Math_fround(HEAPF32[((btVector3__operator_20float__28_29($15 + 896 | 0 | 0) | 0) + 8 | 0) >> 2]) * Math_fround(HEAPF32[($15 + 832 | 0) >> 2]))))))) - Math_fround(Math_fround(Math_fround(HEAPF32[($15 + 848 | 0) >> 2]) * Math_fround(HEAPF32[($15 + 788 | 0) >> 2])) + Math_fround(Math_fround(Math_fround(HEAPF32[($15 + 840 | 0) >> 2]) * Math_fround(HEAPF32[($15 + 780 | 0) >> 2])) + Math_fround(Math_fround(Math_fround(HEAPF32[($15 + 852 | 0) >> 2]) * Math_fround(HEAPF32[($15 + 772 | 0) >> 2])) + Math_fround(Math_fround(HEAPF32[($15 + 860 | 0) >> 2]) * Math_fround(HEAPF32[($15 + 796 | 0) >> 2]))))))), HEAPF32[(wasm2js_i32$0 + 760 | 0) >> 2] = wasm2js_f32$0; + label$26 : { + if (!(Math_fround(HEAPF32[($15 + 760 | 0) >> 2]) > Math_fround(1.1920928955078125e-07) & 1 | 0)) { + break label$26 + } + HEAP32[($15 + 988 | 0) >> 2] = 0; + break label$1; + } + (wasm2js_i32$0 = $15, wasm2js_f32$0 = Math_fround(btSqrt_28float_29(Math_fround(Math_fround(Math_fround(Math_fround(-Math_fround(HEAPF32[($15 + 832 | 0) >> 2])) * Math_fround(-Math_fround(HEAPF32[($15 + 832 | 0) >> 2]))) + Math_fround(Math_fround(Math_fround(HEAPF32[($15 + 808 | 0) >> 2]) * Math_fround(HEAPF32[($15 + 808 | 0) >> 2])) + Math_fround(0.0))))))), HEAPF32[(wasm2js_i32$0 + 756 | 0) >> 2] = wasm2js_f32$0; + label$27 : { + if (!(Math_fround(HEAPF32[($15 + 756 | 0) >> 2]) > Math_fround(1.1920928955078125e-07) & 1 | 0)) { + break label$27 + } + HEAPF32[($15 + 760 | 0) >> 2] = Math_fround(Math_fround(HEAPF32[($15 + 760 | 0) >> 2]) / Math_fround(HEAPF32[($15 + 756 | 0) >> 2])); + label$28 : { + if (!(Math_fround(Math_fround(HEAPF32[($15 + 760 | 0) >> 2]) * Math_fround(1.0499999523162842)) > Math_fround(HEAPF32[($15 + 764 | 0) >> 2]) & 1 | 0)) { + break label$28 + } + HEAPF32[($15 + 764 | 0) >> 2] = Math_fround(HEAPF32[($15 + 760 | 0) >> 2]); + HEAP32[($15 + 864 | 0) >> 2] = 0; + $1034 = Math_fround(Math_fround(HEAPF32[($15 + 808 | 0) >> 2]) / Math_fround(HEAPF32[($15 + 756 | 0) >> 2])); + (wasm2js_i32$0 = btVector3__operator_20float__28_29($15 + 880 | 0 | 0) | 0, wasm2js_f32$0 = $1034), HEAPF32[wasm2js_i32$0 >> 2] = wasm2js_f32$0; + $1042 = Math_fround(Math_fround(0 | 0) / Math_fround(HEAPF32[($15 + 756 | 0) >> 2])); + (wasm2js_i32$0 = btVector3__operator_20float__28_29($15 + 880 | 0 | 0) | 0, wasm2js_f32$0 = $1042), HEAPF32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_f32$0; + $1050 = Math_fround(Math_fround(-Math_fround(HEAPF32[($15 + 832 | 0) >> 2])) / Math_fround(HEAPF32[($15 + 756 | 0) >> 2])); + (wasm2js_i32$0 = btVector3__operator_20float__28_29($15 + 880 | 0 | 0) | 0, wasm2js_f32$0 = $1050), HEAPF32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_f32$0; + (wasm2js_i32$0 = $15, wasm2js_i32$1 = Math_fround(Math_fround(Math_fround(HEAPF32[(btVector3__operator_20float__28_29($15 + 896 | 0 | 0) | 0) >> 2]) * Math_fround(HEAPF32[($15 + 808 | 0) >> 2])) + Math_fround(-Math_fround(Math_fround(HEAPF32[((btVector3__operator_20float__28_29($15 + 896 | 0 | 0) | 0) + 8 | 0) >> 2]) * Math_fround(HEAPF32[($15 + 832 | 0) >> 2])))) < Math_fround(0 | 0) & 1 | 0), HEAP32[(wasm2js_i32$0 + 744 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($15 + 740 | 0) >> 2] = 11; + } + } + (wasm2js_i32$0 = $15, wasm2js_f32$0 = Math_fround(Math_fround(btFabs_28float_29(Math_fround(Math_fround(Math_fround(Math_fround(HEAPF32[(btVector3__operator_20float__28_29($15 + 896 | 0 | 0) | 0) >> 2]) * Math_fround(HEAPF32[($15 + 804 | 0) >> 2])) + Math_fround(-Math_fround(Math_fround(HEAPF32[((btVector3__operator_20float__28_29($15 + 896 | 0 | 0) | 0) + 8 | 0) >> 2]) * Math_fround(HEAPF32[($15 + 828 | 0) >> 2]))))))) - Math_fround(Math_fround(Math_fround(HEAPF32[($15 + 844 | 0) >> 2]) * Math_fround(HEAPF32[($15 + 788 | 0) >> 2])) + Math_fround(Math_fround(Math_fround(HEAPF32[($15 + 840 | 0) >> 2]) * Math_fround(HEAPF32[($15 + 784 | 0) >> 2])) + Math_fround(Math_fround(Math_fround(HEAPF32[($15 + 852 | 0) >> 2]) * Math_fround(HEAPF32[($15 + 768 | 0) >> 2])) + Math_fround(Math_fround(HEAPF32[($15 + 860 | 0) >> 2]) * Math_fround(HEAPF32[($15 + 792 | 0) >> 2]))))))), HEAPF32[(wasm2js_i32$0 + 760 | 0) >> 2] = wasm2js_f32$0; + label$29 : { + if (!(Math_fround(HEAPF32[($15 + 760 | 0) >> 2]) > Math_fround(1.1920928955078125e-07) & 1 | 0)) { + break label$29 + } + HEAP32[($15 + 988 | 0) >> 2] = 0; + break label$1; + } + (wasm2js_i32$0 = $15, wasm2js_f32$0 = Math_fround(btSqrt_28float_29(Math_fround(Math_fround(Math_fround(Math_fround(-Math_fround(HEAPF32[($15 + 828 | 0) >> 2])) * Math_fround(-Math_fround(HEAPF32[($15 + 828 | 0) >> 2]))) + Math_fround(Math_fround(Math_fround(HEAPF32[($15 + 804 | 0) >> 2]) * Math_fround(HEAPF32[($15 + 804 | 0) >> 2])) + Math_fround(0.0))))))), HEAPF32[(wasm2js_i32$0 + 756 | 0) >> 2] = wasm2js_f32$0; + label$30 : { + if (!(Math_fround(HEAPF32[($15 + 756 | 0) >> 2]) > Math_fround(1.1920928955078125e-07) & 1 | 0)) { + break label$30 + } + HEAPF32[($15 + 760 | 0) >> 2] = Math_fround(Math_fround(HEAPF32[($15 + 760 | 0) >> 2]) / Math_fround(HEAPF32[($15 + 756 | 0) >> 2])); + label$31 : { + if (!(Math_fround(Math_fround(HEAPF32[($15 + 760 | 0) >> 2]) * Math_fround(1.0499999523162842)) > Math_fround(HEAPF32[($15 + 764 | 0) >> 2]) & 1 | 0)) { + break label$31 + } + HEAPF32[($15 + 764 | 0) >> 2] = Math_fround(HEAPF32[($15 + 760 | 0) >> 2]); + HEAP32[($15 + 864 | 0) >> 2] = 0; + $1147 = Math_fround(Math_fround(HEAPF32[($15 + 804 | 0) >> 2]) / Math_fround(HEAPF32[($15 + 756 | 0) >> 2])); + (wasm2js_i32$0 = btVector3__operator_20float__28_29($15 + 880 | 0 | 0) | 0, wasm2js_f32$0 = $1147), HEAPF32[wasm2js_i32$0 >> 2] = wasm2js_f32$0; + $1155 = Math_fround(Math_fround(0 | 0) / Math_fround(HEAPF32[($15 + 756 | 0) >> 2])); + (wasm2js_i32$0 = btVector3__operator_20float__28_29($15 + 880 | 0 | 0) | 0, wasm2js_f32$0 = $1155), HEAPF32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_f32$0; + $1163 = Math_fround(Math_fround(-Math_fround(HEAPF32[($15 + 828 | 0) >> 2])) / Math_fround(HEAPF32[($15 + 756 | 0) >> 2])); + (wasm2js_i32$0 = btVector3__operator_20float__28_29($15 + 880 | 0 | 0) | 0, wasm2js_f32$0 = $1163), HEAPF32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_f32$0; + (wasm2js_i32$0 = $15, wasm2js_i32$1 = Math_fround(Math_fround(Math_fround(HEAPF32[(btVector3__operator_20float__28_29($15 + 896 | 0 | 0) | 0) >> 2]) * Math_fround(HEAPF32[($15 + 804 | 0) >> 2])) + Math_fround(-Math_fround(Math_fround(HEAPF32[((btVector3__operator_20float__28_29($15 + 896 | 0 | 0) | 0) + 8 | 0) >> 2]) * Math_fround(HEAPF32[($15 + 828 | 0) >> 2])))) < Math_fround(0 | 0) & 1 | 0), HEAP32[(wasm2js_i32$0 + 744 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($15 + 740 | 0) >> 2] = 12; + } + } + (wasm2js_i32$0 = $15, wasm2js_f32$0 = Math_fround(Math_fround(btFabs_28float_29(Math_fround(Math_fround(Math_fround(Math_fround(HEAPF32[((btVector3__operator_20float__28_29($15 + 896 | 0 | 0) | 0) + 4 | 0) >> 2]) * Math_fround(HEAPF32[($15 + 836 | 0) >> 2])) + Math_fround(-Math_fround(Math_fround(HEAPF32[(btVector3__operator_20float__28_29($15 + 896 | 0 | 0) | 0) >> 2]) * Math_fround(HEAPF32[($15 + 824 | 0) >> 2]))))))) - Math_fround(Math_fround(Math_fround(HEAPF32[($15 + 848 | 0) >> 2]) * Math_fround(HEAPF32[($15 + 772 | 0) >> 2])) + Math_fround(Math_fround(Math_fround(HEAPF32[($15 + 844 | 0) >> 2]) * Math_fround(HEAPF32[($15 + 768 | 0) >> 2])) + Math_fround(Math_fround(Math_fround(HEAPF32[($15 + 852 | 0) >> 2]) * Math_fround(HEAPF32[($15 + 788 | 0) >> 2])) + Math_fround(Math_fround(HEAPF32[($15 + 856 | 0) >> 2]) * Math_fround(HEAPF32[($15 + 800 | 0) >> 2]))))))), HEAPF32[(wasm2js_i32$0 + 760 | 0) >> 2] = wasm2js_f32$0; + label$32 : { + if (!(Math_fround(HEAPF32[($15 + 760 | 0) >> 2]) > Math_fround(1.1920928955078125e-07) & 1 | 0)) { + break label$32 + } + HEAP32[($15 + 988 | 0) >> 2] = 0; + break label$1; + } + (wasm2js_i32$0 = $15, wasm2js_f32$0 = Math_fround(btSqrt_28float_29(Math_fround(Math_fround(Math_fround(Math_fround(Math_fround(-Math_fround(HEAPF32[($15 + 824 | 0) >> 2])) * Math_fround(-Math_fround(HEAPF32[($15 + 824 | 0) >> 2]))) + Math_fround(Math_fround(HEAPF32[($15 + 836 | 0) >> 2]) * Math_fround(HEAPF32[($15 + 836 | 0) >> 2]))) + Math_fround(0 | 0)))))), HEAPF32[(wasm2js_i32$0 + 756 | 0) >> 2] = wasm2js_f32$0; + label$33 : { + if (!(Math_fround(HEAPF32[($15 + 756 | 0) >> 2]) > Math_fround(1.1920928955078125e-07) & 1 | 0)) { + break label$33 + } + HEAPF32[($15 + 760 | 0) >> 2] = Math_fround(Math_fround(HEAPF32[($15 + 760 | 0) >> 2]) / Math_fround(HEAPF32[($15 + 756 | 0) >> 2])); + label$34 : { + if (!(Math_fround(Math_fround(HEAPF32[($15 + 760 | 0) >> 2]) * Math_fround(1.0499999523162842)) > Math_fround(HEAPF32[($15 + 764 | 0) >> 2]) & 1 | 0)) { + break label$34 + } + HEAPF32[($15 + 764 | 0) >> 2] = Math_fround(HEAPF32[($15 + 760 | 0) >> 2]); + HEAP32[($15 + 864 | 0) >> 2] = 0; + $1262 = Math_fround(Math_fround(-Math_fround(HEAPF32[($15 + 824 | 0) >> 2])) / Math_fround(HEAPF32[($15 + 756 | 0) >> 2])); + (wasm2js_i32$0 = btVector3__operator_20float__28_29($15 + 880 | 0 | 0) | 0, wasm2js_f32$0 = $1262), HEAPF32[wasm2js_i32$0 >> 2] = wasm2js_f32$0; + $1269 = Math_fround(Math_fround(HEAPF32[($15 + 836 | 0) >> 2]) / Math_fround(HEAPF32[($15 + 756 | 0) >> 2])); + (wasm2js_i32$0 = btVector3__operator_20float__28_29($15 + 880 | 0 | 0) | 0, wasm2js_f32$0 = $1269), HEAPF32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_f32$0; + $1277 = Math_fround(Math_fround(0 | 0) / Math_fround(HEAPF32[($15 + 756 | 0) >> 2])); + (wasm2js_i32$0 = btVector3__operator_20float__28_29($15 + 880 | 0 | 0) | 0, wasm2js_f32$0 = $1277), HEAPF32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_f32$0; + (wasm2js_i32$0 = $15, wasm2js_i32$1 = Math_fround(Math_fround(Math_fround(HEAPF32[((btVector3__operator_20float__28_29($15 + 896 | 0 | 0) | 0) + 4 | 0) >> 2]) * Math_fround(HEAPF32[($15 + 836 | 0) >> 2])) + Math_fround(-Math_fround(Math_fround(HEAPF32[(btVector3__operator_20float__28_29($15 + 896 | 0 | 0) | 0) >> 2]) * Math_fround(HEAPF32[($15 + 824 | 0) >> 2])))) < Math_fround(0 | 0) & 1 | 0), HEAP32[(wasm2js_i32$0 + 744 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($15 + 740 | 0) >> 2] = 13; + } + } + (wasm2js_i32$0 = $15, wasm2js_f32$0 = Math_fround(Math_fround(btFabs_28float_29(Math_fround(Math_fround(Math_fround(Math_fround(HEAPF32[((btVector3__operator_20float__28_29($15 + 896 | 0 | 0) | 0) + 4 | 0) >> 2]) * Math_fround(HEAPF32[($15 + 832 | 0) >> 2])) + Math_fround(-Math_fround(Math_fround(HEAPF32[(btVector3__operator_20float__28_29($15 + 896 | 0 | 0) | 0) >> 2]) * Math_fround(HEAPF32[($15 + 820 | 0) >> 2]))))))) - Math_fround(Math_fround(Math_fround(HEAPF32[($15 + 848 | 0) >> 2]) * Math_fround(HEAPF32[($15 + 776 | 0) >> 2])) + Math_fround(Math_fround(Math_fround(HEAPF32[($15 + 840 | 0) >> 2]) * Math_fround(HEAPF32[($15 + 768 | 0) >> 2])) + Math_fround(Math_fround(Math_fround(HEAPF32[($15 + 852 | 0) >> 2]) * Math_fround(HEAPF32[($15 + 784 | 0) >> 2])) + Math_fround(Math_fround(HEAPF32[($15 + 856 | 0) >> 2]) * Math_fround(HEAPF32[($15 + 796 | 0) >> 2]))))))), HEAPF32[(wasm2js_i32$0 + 760 | 0) >> 2] = wasm2js_f32$0; + label$35 : { + if (!(Math_fround(HEAPF32[($15 + 760 | 0) >> 2]) > Math_fround(1.1920928955078125e-07) & 1 | 0)) { + break label$35 + } + HEAP32[($15 + 988 | 0) >> 2] = 0; + break label$1; + } + (wasm2js_i32$0 = $15, wasm2js_f32$0 = Math_fround(btSqrt_28float_29(Math_fround(Math_fround(Math_fround(Math_fround(Math_fround(-Math_fround(HEAPF32[($15 + 820 | 0) >> 2])) * Math_fround(-Math_fround(HEAPF32[($15 + 820 | 0) >> 2]))) + Math_fround(Math_fround(HEAPF32[($15 + 832 | 0) >> 2]) * Math_fround(HEAPF32[($15 + 832 | 0) >> 2]))) + Math_fround(0 | 0)))))), HEAPF32[(wasm2js_i32$0 + 756 | 0) >> 2] = wasm2js_f32$0; + label$36 : { + if (!(Math_fround(HEAPF32[($15 + 756 | 0) >> 2]) > Math_fround(1.1920928955078125e-07) & 1 | 0)) { + break label$36 + } + HEAPF32[($15 + 760 | 0) >> 2] = Math_fround(Math_fround(HEAPF32[($15 + 760 | 0) >> 2]) / Math_fround(HEAPF32[($15 + 756 | 0) >> 2])); + label$37 : { + if (!(Math_fround(Math_fround(HEAPF32[($15 + 760 | 0) >> 2]) * Math_fround(1.0499999523162842)) > Math_fround(HEAPF32[($15 + 764 | 0) >> 2]) & 1 | 0)) { + break label$37 + } + HEAPF32[($15 + 764 | 0) >> 2] = Math_fround(HEAPF32[($15 + 760 | 0) >> 2]); + HEAP32[($15 + 864 | 0) >> 2] = 0; + $1376 = Math_fround(Math_fround(-Math_fround(HEAPF32[($15 + 820 | 0) >> 2])) / Math_fround(HEAPF32[($15 + 756 | 0) >> 2])); + (wasm2js_i32$0 = btVector3__operator_20float__28_29($15 + 880 | 0 | 0) | 0, wasm2js_f32$0 = $1376), HEAPF32[wasm2js_i32$0 >> 2] = wasm2js_f32$0; + $1383 = Math_fround(Math_fround(HEAPF32[($15 + 832 | 0) >> 2]) / Math_fround(HEAPF32[($15 + 756 | 0) >> 2])); + (wasm2js_i32$0 = btVector3__operator_20float__28_29($15 + 880 | 0 | 0) | 0, wasm2js_f32$0 = $1383), HEAPF32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_f32$0; + $1391 = Math_fround(Math_fround(0 | 0) / Math_fround(HEAPF32[($15 + 756 | 0) >> 2])); + (wasm2js_i32$0 = btVector3__operator_20float__28_29($15 + 880 | 0 | 0) | 0, wasm2js_f32$0 = $1391), HEAPF32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_f32$0; + (wasm2js_i32$0 = $15, wasm2js_i32$1 = Math_fround(Math_fround(Math_fround(HEAPF32[((btVector3__operator_20float__28_29($15 + 896 | 0 | 0) | 0) + 4 | 0) >> 2]) * Math_fround(HEAPF32[($15 + 832 | 0) >> 2])) + Math_fround(-Math_fround(Math_fround(HEAPF32[(btVector3__operator_20float__28_29($15 + 896 | 0 | 0) | 0) >> 2]) * Math_fround(HEAPF32[($15 + 820 | 0) >> 2])))) < Math_fround(0 | 0) & 1 | 0), HEAP32[(wasm2js_i32$0 + 744 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($15 + 740 | 0) >> 2] = 14; + } + } + (wasm2js_i32$0 = $15, wasm2js_f32$0 = Math_fround(Math_fround(btFabs_28float_29(Math_fround(Math_fround(Math_fround(Math_fround(HEAPF32[((btVector3__operator_20float__28_29($15 + 896 | 0 | 0) | 0) + 4 | 0) >> 2]) * Math_fround(HEAPF32[($15 + 828 | 0) >> 2])) + Math_fround(-Math_fround(Math_fround(HEAPF32[(btVector3__operator_20float__28_29($15 + 896 | 0 | 0) | 0) >> 2]) * Math_fround(HEAPF32[($15 + 816 | 0) >> 2]))))))) - Math_fround(Math_fround(Math_fround(HEAPF32[($15 + 844 | 0) >> 2]) * Math_fround(HEAPF32[($15 + 776 | 0) >> 2])) + Math_fround(Math_fround(Math_fround(HEAPF32[($15 + 840 | 0) >> 2]) * Math_fround(HEAPF32[($15 + 772 | 0) >> 2])) + Math_fround(Math_fround(Math_fround(HEAPF32[($15 + 852 | 0) >> 2]) * Math_fround(HEAPF32[($15 + 780 | 0) >> 2])) + Math_fround(Math_fround(HEAPF32[($15 + 856 | 0) >> 2]) * Math_fround(HEAPF32[($15 + 792 | 0) >> 2]))))))), HEAPF32[(wasm2js_i32$0 + 760 | 0) >> 2] = wasm2js_f32$0; + label$38 : { + if (!(Math_fround(HEAPF32[($15 + 760 | 0) >> 2]) > Math_fround(1.1920928955078125e-07) & 1 | 0)) { + break label$38 + } + HEAP32[($15 + 988 | 0) >> 2] = 0; + break label$1; + } + (wasm2js_i32$0 = $15, wasm2js_f32$0 = Math_fround(btSqrt_28float_29(Math_fround(Math_fround(Math_fround(Math_fround(Math_fround(-Math_fround(HEAPF32[($15 + 816 | 0) >> 2])) * Math_fround(-Math_fround(HEAPF32[($15 + 816 | 0) >> 2]))) + Math_fround(Math_fround(HEAPF32[($15 + 828 | 0) >> 2]) * Math_fround(HEAPF32[($15 + 828 | 0) >> 2]))) + Math_fround(0 | 0)))))), HEAPF32[(wasm2js_i32$0 + 756 | 0) >> 2] = wasm2js_f32$0; + label$39 : { + if (!(Math_fround(HEAPF32[($15 + 756 | 0) >> 2]) > Math_fround(1.1920928955078125e-07) & 1 | 0)) { + break label$39 + } + HEAPF32[($15 + 760 | 0) >> 2] = Math_fround(Math_fround(HEAPF32[($15 + 760 | 0) >> 2]) / Math_fround(HEAPF32[($15 + 756 | 0) >> 2])); + label$40 : { + if (!(Math_fround(Math_fround(HEAPF32[($15 + 760 | 0) >> 2]) * Math_fround(1.0499999523162842)) > Math_fround(HEAPF32[($15 + 764 | 0) >> 2]) & 1 | 0)) { + break label$40 + } + HEAPF32[($15 + 764 | 0) >> 2] = Math_fround(HEAPF32[($15 + 760 | 0) >> 2]); + HEAP32[($15 + 864 | 0) >> 2] = 0; + $1490 = Math_fround(Math_fround(-Math_fround(HEAPF32[($15 + 816 | 0) >> 2])) / Math_fround(HEAPF32[($15 + 756 | 0) >> 2])); + (wasm2js_i32$0 = btVector3__operator_20float__28_29($15 + 880 | 0 | 0) | 0, wasm2js_f32$0 = $1490), HEAPF32[wasm2js_i32$0 >> 2] = wasm2js_f32$0; + $1497 = Math_fround(Math_fround(HEAPF32[($15 + 828 | 0) >> 2]) / Math_fround(HEAPF32[($15 + 756 | 0) >> 2])); + (wasm2js_i32$0 = btVector3__operator_20float__28_29($15 + 880 | 0 | 0) | 0, wasm2js_f32$0 = $1497), HEAPF32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_f32$0; + $1505 = Math_fround(Math_fround(0 | 0) / Math_fround(HEAPF32[($15 + 756 | 0) >> 2])); + (wasm2js_i32$0 = btVector3__operator_20float__28_29($15 + 880 | 0 | 0) | 0, wasm2js_f32$0 = $1505), HEAPF32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_f32$0; + (wasm2js_i32$0 = $15, wasm2js_i32$1 = Math_fround(Math_fround(Math_fround(HEAPF32[((btVector3__operator_20float__28_29($15 + 896 | 0 | 0) | 0) + 4 | 0) >> 2]) * Math_fround(HEAPF32[($15 + 828 | 0) >> 2])) + Math_fround(-Math_fround(Math_fround(HEAPF32[(btVector3__operator_20float__28_29($15 + 896 | 0 | 0) | 0) >> 2]) * Math_fround(HEAPF32[($15 + 816 | 0) >> 2])))) < Math_fround(0 | 0) & 1 | 0), HEAP32[(wasm2js_i32$0 + 744 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($15 + 740 | 0) >> 2] = 15; + } + } + label$41 : { + if (HEAP32[($15 + 740 | 0) >> 2] | 0) { + break label$41 + } + HEAP32[($15 + 988 | 0) >> 2] = 0; + break label$1; + } + label$42 : { + label$43 : { + if (!((HEAP32[($15 + 864 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$43 + } + $1542 = Math_fround(HEAPF32[(HEAP32[($15 + 864 | 0) >> 2] | 0) >> 2]); + (wasm2js_i32$0 = btVector3__operator_20float__28_29(HEAP32[($15 + 960 | 0) >> 2] | 0 | 0) | 0, wasm2js_f32$0 = $1542), HEAPF32[wasm2js_i32$0 >> 2] = wasm2js_f32$0; + $1546 = Math_fround(HEAPF32[((HEAP32[($15 + 864 | 0) >> 2] | 0) + 16 | 0) >> 2]); + (wasm2js_i32$0 = btVector3__operator_20float__28_29(HEAP32[($15 + 960 | 0) >> 2] | 0 | 0) | 0, wasm2js_f32$0 = $1546), HEAPF32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_f32$0; + $1550 = Math_fround(HEAPF32[((HEAP32[($15 + 864 | 0) >> 2] | 0) + 32 | 0) >> 2]); + (wasm2js_i32$0 = btVector3__operator_20float__28_29(HEAP32[($15 + 960 | 0) >> 2] | 0 | 0) | 0, wasm2js_f32$0 = $1550), HEAPF32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_f32$0; + break label$42; + } + $1558 = Math_fround(dDOT_28float_20const__2c_20float_20const__29(HEAP32[($15 + 980 | 0) >> 2] | 0 | 0, btVector3__operator_20float__28_29($15 + 880 | 0 | 0) | 0 | 0)); + (wasm2js_i32$0 = btVector3__operator_20float__28_29(HEAP32[($15 + 960 | 0) >> 2] | 0 | 0) | 0, wasm2js_f32$0 = $1558), HEAPF32[wasm2js_i32$0 >> 2] = wasm2js_f32$0; + $1568 = Math_fround(dDOT_28float_20const__2c_20float_20const__29((HEAP32[($15 + 980 | 0) >> 2] | 0) + 16 | 0 | 0, btVector3__operator_20float__28_29($15 + 880 | 0 | 0) | 0 | 0)); + (wasm2js_i32$0 = btVector3__operator_20float__28_29(HEAP32[($15 + 960 | 0) >> 2] | 0 | 0) | 0, wasm2js_f32$0 = $1568), HEAPF32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_f32$0; + $1578 = Math_fround(dDOT_28float_20const__2c_20float_20const__29((HEAP32[($15 + 980 | 0) >> 2] | 0) + 32 | 0 | 0, btVector3__operator_20float__28_29($15 + 880 | 0 | 0) | 0 | 0)); + (wasm2js_i32$0 = btVector3__operator_20float__28_29(HEAP32[($15 + 960 | 0) >> 2] | 0 | 0) | 0, wasm2js_f32$0 = $1578), HEAPF32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_f32$0; + } + label$44 : { + if (!(HEAP32[($15 + 744 | 0) >> 2] | 0)) { + break label$44 + } + $1585 = Math_fround(-Math_fround(HEAPF32[(btVector3__operator_20float__28_29(HEAP32[($15 + 960 | 0) >> 2] | 0 | 0) | 0) >> 2])); + (wasm2js_i32$0 = btVector3__operator_20float__28_29(HEAP32[($15 + 960 | 0) >> 2] | 0 | 0) | 0, wasm2js_f32$0 = $1585), HEAPF32[wasm2js_i32$0 >> 2] = wasm2js_f32$0; + $1591 = Math_fround(-Math_fround(HEAPF32[((btVector3__operator_20float__28_29(HEAP32[($15 + 960 | 0) >> 2] | 0 | 0) | 0) + 4 | 0) >> 2])); + (wasm2js_i32$0 = btVector3__operator_20float__28_29(HEAP32[($15 + 960 | 0) >> 2] | 0 | 0) | 0, wasm2js_f32$0 = $1591), HEAPF32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_f32$0; + $1597 = Math_fround(-Math_fround(HEAPF32[((btVector3__operator_20float__28_29(HEAP32[($15 + 960 | 0) >> 2] | 0 | 0) | 0) + 8 | 0) >> 2])); + (wasm2js_i32$0 = btVector3__operator_20float__28_29(HEAP32[($15 + 960 | 0) >> 2] | 0 | 0) | 0, wasm2js_f32$0 = $1597), HEAPF32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_f32$0; + } + HEAPF32[(HEAP32[($15 + 956 | 0) >> 2] | 0) >> 2] = Math_fround(-Math_fround(HEAPF32[($15 + 764 | 0) >> 2])); + label$45 : { + if (!((HEAP32[($15 + 740 | 0) >> 2] | 0 | 0) > (6 | 0) & 1 | 0)) { + break label$45 + } + btVector3__btVector3_28_29($15 + 704 | 0 | 0) | 0; + HEAP32[($15 + 752 | 0) >> 2] = 0; + label$46 : { + label$47 : while (1) { + if (!((HEAP32[($15 + 752 | 0) >> 2] | 0 | 0) < (3 | 0) & 1 | 0)) { + break label$46 + } + $1627 = Math_fround(HEAPF32[((btVector3__operator_20float_20const__28_29_20const(HEAP32[($15 + 984 | 0) >> 2] | 0 | 0) | 0) + ((HEAP32[($15 + 752 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2]); + (wasm2js_i32$0 = (btVector3__operator_20float__28_29($15 + 704 | 0 | 0) | 0) + ((HEAP32[($15 + 752 | 0) >> 2] | 0) << 2 | 0) | 0, wasm2js_f32$0 = $1627), HEAPF32[wasm2js_i32$0 >> 2] = wasm2js_f32$0; + HEAP32[($15 + 752 | 0) >> 2] = (HEAP32[($15 + 752 | 0) >> 2] | 0) + 1 | 0; + continue label$47; + }; + } + HEAP32[($15 + 748 | 0) >> 2] = 0; + label$48 : { + label$49 : while (1) { + if (!((HEAP32[($15 + 748 | 0) >> 2] | 0 | 0) < (3 | 0) & 1 | 0)) { + break label$48 + } + (wasm2js_i32$0 = $15, wasm2js_f32$0 = Math_fround(dDOT14_28float_20const__2c_20float_20const__29(btVector3__operator_20float__28_29(HEAP32[($15 + 960 | 0) >> 2] | 0 | 0) | 0 | 0, (HEAP32[($15 + 980 | 0) >> 2] | 0) + ((HEAP32[($15 + 748 | 0) >> 2] | 0) << 2 | 0) | 0 | 0)) > Math_fround(0 | 0) & 1 | 0 ? Math_fround(1.0) : Math_fround(-1.0)), HEAPF32[(wasm2js_i32$0 + 700 | 0) >> 2] = wasm2js_f32$0; + HEAP32[($15 + 752 | 0) >> 2] = 0; + label$50 : { + label$51 : while (1) { + if (!((HEAP32[($15 + 752 | 0) >> 2] | 0 | 0) < (3 | 0) & 1 | 0)) { + break label$50 + } + $1680 = Math_fround(Math_fround(HEAPF32[($15 + 700 | 0) >> 2]) * Math_fround(HEAPF32[(($15 + 852 | 0) + ((HEAP32[($15 + 748 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2])); + $1690 = Math_fround(HEAPF32[((HEAP32[($15 + 980 | 0) >> 2] | 0) + ((((HEAP32[($15 + 752 | 0) >> 2] | 0) << 2 | 0) + (HEAP32[($15 + 748 | 0) >> 2] | 0) | 0) << 2 | 0) | 0) >> 2]); + $1698 = (btVector3__operator_20float__28_29($15 + 704 | 0 | 0) | 0) + ((HEAP32[($15 + 752 | 0) >> 2] | 0) << 2 | 0) | 0; + HEAPF32[$1698 >> 2] = Math_fround(Math_fround($1680 * $1690) + Math_fround(HEAPF32[$1698 >> 2])); + HEAP32[($15 + 752 | 0) >> 2] = (HEAP32[($15 + 752 | 0) >> 2] | 0) + 1 | 0; + continue label$51; + }; + } + HEAP32[($15 + 748 | 0) >> 2] = (HEAP32[($15 + 748 | 0) >> 2] | 0) + 1 | 0; + continue label$49; + }; + } + btVector3__btVector3_28_29($15 + 684 | 0 | 0) | 0; + HEAP32[($15 + 752 | 0) >> 2] = 0; + label$52 : { + label$53 : while (1) { + if (!((HEAP32[($15 + 752 | 0) >> 2] | 0 | 0) < (3 | 0) & 1 | 0)) { + break label$52 + } + $1725 = Math_fround(HEAPF32[((btVector3__operator_20float_20const__28_29_20const(HEAP32[($15 + 972 | 0) >> 2] | 0 | 0) | 0) + ((HEAP32[($15 + 752 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2]); + (wasm2js_i32$0 = (btVector3__operator_20float__28_29($15 + 684 | 0 | 0) | 0) + ((HEAP32[($15 + 752 | 0) >> 2] | 0) << 2 | 0) | 0, wasm2js_f32$0 = $1725), HEAPF32[wasm2js_i32$0 >> 2] = wasm2js_f32$0; + HEAP32[($15 + 752 | 0) >> 2] = (HEAP32[($15 + 752 | 0) >> 2] | 0) + 1 | 0; + continue label$53; + }; + } + HEAP32[($15 + 748 | 0) >> 2] = 0; + label$54 : { + label$55 : while (1) { + if (!((HEAP32[($15 + 748 | 0) >> 2] | 0 | 0) < (3 | 0) & 1 | 0)) { + break label$54 + } + (wasm2js_i32$0 = $15, wasm2js_f32$0 = Math_fround(dDOT14_28float_20const__2c_20float_20const__29(btVector3__operator_20float__28_29(HEAP32[($15 + 960 | 0) >> 2] | 0 | 0) | 0 | 0, (HEAP32[($15 + 968 | 0) >> 2] | 0) + ((HEAP32[($15 + 748 | 0) >> 2] | 0) << 2 | 0) | 0 | 0)) > Math_fround(0 | 0) & 1 | 0 ? Math_fround(-1.0) : Math_fround(1.0)), HEAPF32[(wasm2js_i32$0 + 700 | 0) >> 2] = wasm2js_f32$0; + HEAP32[($15 + 752 | 0) >> 2] = 0; + label$56 : { + label$57 : while (1) { + if (!((HEAP32[($15 + 752 | 0) >> 2] | 0 | 0) < (3 | 0) & 1 | 0)) { + break label$56 + } + $1778 = Math_fround(Math_fround(HEAPF32[($15 + 700 | 0) >> 2]) * Math_fround(HEAPF32[(($15 + 840 | 0) + ((HEAP32[($15 + 748 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2])); + $1788 = Math_fround(HEAPF32[((HEAP32[($15 + 968 | 0) >> 2] | 0) + ((((HEAP32[($15 + 752 | 0) >> 2] | 0) << 2 | 0) + (HEAP32[($15 + 748 | 0) >> 2] | 0) | 0) << 2 | 0) | 0) >> 2]); + $1796 = (btVector3__operator_20float__28_29($15 + 684 | 0 | 0) | 0) + ((HEAP32[($15 + 752 | 0) >> 2] | 0) << 2 | 0) | 0; + HEAPF32[$1796 >> 2] = Math_fround(Math_fround($1778 * $1788) + Math_fround(HEAPF32[$1796 >> 2])); + HEAP32[($15 + 752 | 0) >> 2] = (HEAP32[($15 + 752 | 0) >> 2] | 0) + 1 | 0; + continue label$57; + }; + } + HEAP32[($15 + 748 | 0) >> 2] = (HEAP32[($15 + 748 | 0) >> 2] | 0) + 1 | 0; + continue label$55; + }; + } + btVector3__btVector3_28_29($15 + 660 | 0 | 0) | 0; + btVector3__btVector3_28_29($15 + 644 | 0 | 0) | 0; + HEAP32[($15 + 752 | 0) >> 2] = 0; + label$58 : { + label$59 : while (1) { + if (!((HEAP32[($15 + 752 | 0) >> 2] | 0 | 0) < (3 | 0) & 1 | 0)) { + break label$58 + } + $1833 = Math_fround(HEAPF32[((HEAP32[($15 + 980 | 0) >> 2] | 0) + (((((HEAP32[($15 + 740 | 0) >> 2] | 0) - 7 | 0 | 0) / (3 | 0) | 0) + ((HEAP32[($15 + 752 | 0) >> 2] | 0) << 2 | 0) | 0) << 2 | 0) | 0) >> 2]); + (wasm2js_i32$0 = (btVector3__operator_20float__28_29($15 + 660 | 0 | 0) | 0) + ((HEAP32[($15 + 752 | 0) >> 2] | 0) << 2 | 0) | 0, wasm2js_f32$0 = $1833), HEAPF32[wasm2js_i32$0 >> 2] = wasm2js_f32$0; + HEAP32[($15 + 752 | 0) >> 2] = (HEAP32[($15 + 752 | 0) >> 2] | 0) + 1 | 0; + continue label$59; + }; + } + HEAP32[($15 + 752 | 0) >> 2] = 0; + label$60 : { + label$61 : while (1) { + if (!((HEAP32[($15 + 752 | 0) >> 2] | 0 | 0) < (3 | 0) & 1 | 0)) { + break label$60 + } + $1866 = Math_fround(HEAPF32[((HEAP32[($15 + 968 | 0) >> 2] | 0) + (((((HEAP32[($15 + 740 | 0) >> 2] | 0) - 7 | 0 | 0) % (3 | 0) | 0) + ((HEAP32[($15 + 752 | 0) >> 2] | 0) << 2 | 0) | 0) << 2 | 0) | 0) >> 2]); + (wasm2js_i32$0 = (btVector3__operator_20float__28_29($15 + 644 | 0 | 0) | 0) + ((HEAP32[($15 + 752 | 0) >> 2] | 0) << 2 | 0) | 0, wasm2js_f32$0 = $1866), HEAPF32[wasm2js_i32$0 >> 2] = wasm2js_f32$0; + HEAP32[($15 + 752 | 0) >> 2] = (HEAP32[($15 + 752 | 0) >> 2] | 0) + 1 | 0; + continue label$61; + }; + } + dLineClosestApproach_28btVector3_20const__2c_20btVector3_20const__2c_20btVector3_20const__2c_20btVector3_20const__2c_20float__2c_20float__29($15 + 704 | 0 | 0, $15 + 660 | 0 | 0, $15 + 684 | 0 | 0, $15 + 644 | 0 | 0, $15 + 680 | 0 | 0, $15 + 676 | 0 | 0); + HEAP32[($15 + 752 | 0) >> 2] = 0; + label$62 : { + label$63 : while (1) { + if (!((HEAP32[($15 + 752 | 0) >> 2] | 0 | 0) < (3 | 0) & 1 | 0)) { + break label$62 + } + $1912 = Math_fround(HEAPF32[((btVector3__operator_20float__28_29($15 + 660 | 0 | 0) | 0) + ((HEAP32[($15 + 752 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2]); + $1913 = Math_fround(HEAPF32[($15 + 680 | 0) >> 2]); + $1921 = (btVector3__operator_20float__28_29($15 + 704 | 0 | 0) | 0) + ((HEAP32[($15 + 752 | 0) >> 2] | 0) << 2 | 0) | 0; + HEAPF32[$1921 >> 2] = Math_fround(Math_fround($1912 * $1913) + Math_fround(HEAPF32[$1921 >> 2])); + HEAP32[($15 + 752 | 0) >> 2] = (HEAP32[($15 + 752 | 0) >> 2] | 0) + 1 | 0; + continue label$63; + }; + } + HEAP32[($15 + 752 | 0) >> 2] = 0; + label$64 : { + label$65 : while (1) { + if (!((HEAP32[($15 + 752 | 0) >> 2] | 0 | 0) < (3 | 0) & 1 | 0)) { + break label$64 + } + $1944 = Math_fround(HEAPF32[((btVector3__operator_20float__28_29($15 + 644 | 0 | 0) | 0) + ((HEAP32[($15 + 752 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2]); + $1945 = Math_fround(HEAPF32[($15 + 676 | 0) >> 2]); + $1953 = (btVector3__operator_20float__28_29($15 + 684 | 0 | 0) | 0) + ((HEAP32[($15 + 752 | 0) >> 2] | 0) << 2 | 0) | 0; + HEAPF32[$1953 >> 2] = Math_fround(Math_fround($1944 * $1945) + Math_fround(HEAPF32[$1953 >> 2])); + HEAP32[($15 + 752 | 0) >> 2] = (HEAP32[($15 + 752 | 0) >> 2] | 0) + 1 | 0; + continue label$65; + }; + } + btVector3__btVector3_28_29($15 + 628 | 0 | 0) | 0; + $1963 = HEAP32[($15 + 936 | 0) >> 2] | 0; + operator__28btVector3_20const__29($15 + 612 | 0 | 0, HEAP32[($15 + 960 | 0) >> 2] | 0 | 0); + FUNCTION_TABLE[HEAP32[((HEAP32[$1963 >> 2] | 0) + 16 | 0) >> 2] | 0 | 0]($1963, $15 + 612 | 0, $15 + 684 | 0, Math_fround(-Math_fround(HEAPF32[(HEAP32[($15 + 956 | 0) >> 2] | 0) >> 2]))); + HEAP32[(HEAP32[($15 + 952 | 0) >> 2] | 0) >> 2] = HEAP32[($15 + 740 | 0) >> 2] | 0; + HEAP32[($15 + 988 | 0) >> 2] = 1; + break label$1; + } + label$66 : { + label$67 : { + if (!((HEAP32[($15 + 740 | 0) >> 2] | 0 | 0) <= (3 | 0) & 1 | 0)) { + break label$67 + } + HEAP32[($15 + 608 | 0) >> 2] = HEAP32[($15 + 980 | 0) >> 2] | 0; + HEAP32[($15 + 604 | 0) >> 2] = HEAP32[($15 + 968 | 0) >> 2] | 0; + (wasm2js_i32$0 = $15, wasm2js_i32$1 = btVector3__operator_20float_20const__28_29_20const(HEAP32[($15 + 984 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 600 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $15, wasm2js_i32$1 = btVector3__operator_20float_20const__28_29_20const(HEAP32[($15 + 972 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 596 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($15 + 592 | 0) >> 2] = $15 + 852 | 0; + HEAP32[($15 + 588 | 0) >> 2] = $15 + 840 | 0; + break label$66; + } + HEAP32[($15 + 608 | 0) >> 2] = HEAP32[($15 + 968 | 0) >> 2] | 0; + HEAP32[($15 + 604 | 0) >> 2] = HEAP32[($15 + 980 | 0) >> 2] | 0; + (wasm2js_i32$0 = $15, wasm2js_i32$1 = btVector3__operator_20float_20const__28_29_20const(HEAP32[($15 + 972 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 600 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $15, wasm2js_i32$1 = btVector3__operator_20float_20const__28_29_20const(HEAP32[($15 + 984 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 596 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($15 + 592 | 0) >> 2] = $15 + 840 | 0; + HEAP32[($15 + 588 | 0) >> 2] = $15 + 852 | 0; + } + btVector3__btVector3_28_29($15 + 572 | 0 | 0) | 0; + btVector3__btVector3_28_29($15 + 556 | 0 | 0) | 0; + btVector3__btVector3_28_29($15 + 540 | 0 | 0) | 0; + label$68 : { + label$69 : { + if (!((HEAP32[($15 + 740 | 0) >> 2] | 0 | 0) <= (3 | 0) & 1 | 0)) { + break label$69 + } + $2031 = Math_fround(HEAPF32[(btVector3__operator_20float__28_29(HEAP32[($15 + 960 | 0) >> 2] | 0 | 0) | 0) >> 2]); + (wasm2js_i32$0 = btVector3__operator_20float__28_29($15 + 572 | 0 | 0) | 0, wasm2js_f32$0 = $2031), HEAPF32[wasm2js_i32$0 >> 2] = wasm2js_f32$0; + $2038 = Math_fround(HEAPF32[((btVector3__operator_20float__28_29(HEAP32[($15 + 960 | 0) >> 2] | 0 | 0) | 0) + 4 | 0) >> 2]); + (wasm2js_i32$0 = btVector3__operator_20float__28_29($15 + 572 | 0 | 0) | 0, wasm2js_f32$0 = $2038), HEAPF32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_f32$0; + $2045 = Math_fround(HEAPF32[((btVector3__operator_20float__28_29(HEAP32[($15 + 960 | 0) >> 2] | 0 | 0) | 0) + 8 | 0) >> 2]); + (wasm2js_i32$0 = btVector3__operator_20float__28_29($15 + 572 | 0 | 0) | 0, wasm2js_f32$0 = $2045), HEAPF32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_f32$0; + break label$68; + } + $2053 = Math_fround(-Math_fround(HEAPF32[(btVector3__operator_20float__28_29(HEAP32[($15 + 960 | 0) >> 2] | 0 | 0) | 0) >> 2])); + (wasm2js_i32$0 = btVector3__operator_20float__28_29($15 + 572 | 0 | 0) | 0, wasm2js_f32$0 = $2053), HEAPF32[wasm2js_i32$0 >> 2] = wasm2js_f32$0; + $2061 = Math_fround(-Math_fround(HEAPF32[((btVector3__operator_20float__28_29(HEAP32[($15 + 960 | 0) >> 2] | 0 | 0) | 0) + 4 | 0) >> 2])); + (wasm2js_i32$0 = btVector3__operator_20float__28_29($15 + 572 | 0 | 0) | 0, wasm2js_f32$0 = $2061), HEAPF32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_f32$0; + $2069 = Math_fround(-Math_fround(HEAPF32[((btVector3__operator_20float__28_29(HEAP32[($15 + 960 | 0) >> 2] | 0 | 0) | 0) + 8 | 0) >> 2])); + (wasm2js_i32$0 = btVector3__operator_20float__28_29($15 + 572 | 0 | 0) | 0, wasm2js_f32$0 = $2069), HEAPF32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_f32$0; + } + $2079 = Math_fround(dDOT41_28float_20const__2c_20float_20const__29(HEAP32[($15 + 604 | 0) >> 2] | 0 | 0, btVector3__operator_20float__28_29($15 + 572 | 0 | 0) | 0 | 0)); + (wasm2js_i32$0 = btVector3__operator_20float__28_29($15 + 556 | 0 | 0) | 0, wasm2js_f32$0 = $2079), HEAPF32[wasm2js_i32$0 >> 2] = wasm2js_f32$0; + $2091 = Math_fround(dDOT41_28float_20const__2c_20float_20const__29((HEAP32[($15 + 604 | 0) >> 2] | 0) + 4 | 0 | 0, btVector3__operator_20float__28_29($15 + 572 | 0 | 0) | 0 | 0)); + (wasm2js_i32$0 = btVector3__operator_20float__28_29($15 + 556 | 0 | 0) | 0, wasm2js_f32$0 = $2091), HEAPF32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_f32$0; + $2103 = Math_fround(dDOT41_28float_20const__2c_20float_20const__29((HEAP32[($15 + 604 | 0) >> 2] | 0) + 8 | 0 | 0, btVector3__operator_20float__28_29($15 + 572 | 0 | 0) | 0 | 0)); + (wasm2js_i32$0 = btVector3__operator_20float__28_29($15 + 556 | 0 | 0) | 0, wasm2js_f32$0 = $2103), HEAPF32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_f32$0; + $2113 = Math_fround(btFabs_28float_29(Math_fround(Math_fround(HEAPF32[(btVector3__operator_20float__28_29($15 + 556 | 0 | 0) | 0) >> 2])))); + (wasm2js_i32$0 = btVector3__operator_20float__28_29($15 + 540 | 0 | 0) | 0, wasm2js_f32$0 = $2113), HEAPF32[wasm2js_i32$0 >> 2] = wasm2js_f32$0; + $2123 = Math_fround(btFabs_28float_29(Math_fround(Math_fround(HEAPF32[((btVector3__operator_20float__28_29($15 + 556 | 0 | 0) | 0) + 4 | 0) >> 2])))); + (wasm2js_i32$0 = btVector3__operator_20float__28_29($15 + 540 | 0 | 0) | 0, wasm2js_f32$0 = $2123), HEAPF32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_f32$0; + $2133 = Math_fround(btFabs_28float_29(Math_fround(Math_fround(HEAPF32[((btVector3__operator_20float__28_29($15 + 556 | 0 | 0) | 0) + 8 | 0) >> 2])))); + (wasm2js_i32$0 = btVector3__operator_20float__28_29($15 + 540 | 0 | 0) | 0, wasm2js_f32$0 = $2133), HEAPF32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_f32$0; + label$70 : { + label$71 : { + if (!(Math_fround(HEAPF32[((btVector3__operator_20float__28_29($15 + 540 | 0 | 0) | 0) + 4 | 0) >> 2]) > Math_fround(HEAPF32[(btVector3__operator_20float__28_29($15 + 540 | 0 | 0) | 0) >> 2]) & 1 | 0)) { + break label$71 + } + label$72 : { + label$73 : { + if (!(Math_fround(HEAPF32[((btVector3__operator_20float__28_29($15 + 540 | 0 | 0) | 0) + 4 | 0) >> 2]) > Math_fround(HEAPF32[((btVector3__operator_20float__28_29($15 + 540 | 0 | 0) | 0) + 8 | 0) >> 2]) & 1 | 0)) { + break label$73 + } + HEAP32[($15 + 532 | 0) >> 2] = 0; + HEAP32[($15 + 536 | 0) >> 2] = 1; + HEAP32[($15 + 528 | 0) >> 2] = 2; + break label$72; + } + HEAP32[($15 + 532 | 0) >> 2] = 0; + HEAP32[($15 + 528 | 0) >> 2] = 1; + HEAP32[($15 + 536 | 0) >> 2] = 2; + } + break label$70; + } + label$74 : { + label$75 : { + if (!(Math_fround(HEAPF32[(btVector3__operator_20float__28_29($15 + 540 | 0 | 0) | 0) >> 2]) > Math_fround(HEAPF32[((btVector3__operator_20float__28_29($15 + 540 | 0 | 0) | 0) + 8 | 0) >> 2]) & 1 | 0)) { + break label$75 + } + HEAP32[($15 + 536 | 0) >> 2] = 0; + HEAP32[($15 + 532 | 0) >> 2] = 1; + HEAP32[($15 + 528 | 0) >> 2] = 2; + break label$74; + } + HEAP32[($15 + 532 | 0) >> 2] = 0; + HEAP32[($15 + 528 | 0) >> 2] = 1; + HEAP32[($15 + 536 | 0) >> 2] = 2; + } + } + btVector3__btVector3_28_29($15 + 512 | 0 | 0) | 0; + label$76 : { + label$77 : { + if (!(Math_fround(HEAPF32[((btVector3__operator_20float__28_29($15 + 556 | 0 | 0) | 0) + ((HEAP32[($15 + 536 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2]) < Math_fround(0 | 0) & 1 | 0)) { + break label$77 + } + HEAP32[($15 + 752 | 0) >> 2] = 0; + label$78 : { + label$79 : while (1) { + if (!((HEAP32[($15 + 752 | 0) >> 2] | 0 | 0) < (3 | 0) & 1 | 0)) { + break label$78 + } + $2244 = Math_fround(Math_fround(Math_fround(HEAPF32[((HEAP32[($15 + 588 | 0) >> 2] | 0) + ((HEAP32[($15 + 536 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2]) * Math_fround(HEAPF32[((HEAP32[($15 + 604 | 0) >> 2] | 0) + ((((HEAP32[($15 + 752 | 0) >> 2] | 0) << 2 | 0) + (HEAP32[($15 + 536 | 0) >> 2] | 0) | 0) << 2 | 0) | 0) >> 2])) + Math_fround(Math_fround(HEAPF32[((HEAP32[($15 + 596 | 0) >> 2] | 0) + ((HEAP32[($15 + 752 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2]) - Math_fround(HEAPF32[((HEAP32[($15 + 600 | 0) >> 2] | 0) + ((HEAP32[($15 + 752 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2]))); + (wasm2js_i32$0 = (btVector3__operator_20float__28_29($15 + 512 | 0 | 0) | 0) + ((HEAP32[($15 + 752 | 0) >> 2] | 0) << 2 | 0) | 0, wasm2js_f32$0 = $2244), HEAPF32[wasm2js_i32$0 >> 2] = wasm2js_f32$0; + HEAP32[($15 + 752 | 0) >> 2] = (HEAP32[($15 + 752 | 0) >> 2] | 0) + 1 | 0; + continue label$79; + }; + } + break label$76; + } + HEAP32[($15 + 752 | 0) >> 2] = 0; + label$80 : { + label$81 : while (1) { + if (!((HEAP32[($15 + 752 | 0) >> 2] | 0 | 0) < (3 | 0) & 1 | 0)) { + break label$80 + } + $2295 = Math_fround(Math_fround(Math_fround(-Math_fround(HEAPF32[((HEAP32[($15 + 588 | 0) >> 2] | 0) + ((HEAP32[($15 + 536 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2])) * Math_fround(HEAPF32[((HEAP32[($15 + 604 | 0) >> 2] | 0) + ((((HEAP32[($15 + 752 | 0) >> 2] | 0) << 2 | 0) + (HEAP32[($15 + 536 | 0) >> 2] | 0) | 0) << 2 | 0) | 0) >> 2])) + Math_fround(Math_fround(HEAPF32[((HEAP32[($15 + 596 | 0) >> 2] | 0) + ((HEAP32[($15 + 752 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2]) - Math_fround(HEAPF32[((HEAP32[($15 + 600 | 0) >> 2] | 0) + ((HEAP32[($15 + 752 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2]))); + (wasm2js_i32$0 = (btVector3__operator_20float__28_29($15 + 512 | 0 | 0) | 0) + ((HEAP32[($15 + 752 | 0) >> 2] | 0) << 2 | 0) | 0, wasm2js_f32$0 = $2295), HEAPF32[wasm2js_i32$0 >> 2] = wasm2js_f32$0; + HEAP32[($15 + 752 | 0) >> 2] = (HEAP32[($15 + 752 | 0) >> 2] | 0) + 1 | 0; + continue label$81; + }; + } + } + label$82 : { + label$83 : { + if (!((HEAP32[($15 + 740 | 0) >> 2] | 0 | 0) <= (3 | 0) & 1 | 0)) { + break label$83 + } + HEAP32[($15 + 508 | 0) >> 2] = (HEAP32[($15 + 740 | 0) >> 2] | 0) - 1 | 0; + break label$82; + } + HEAP32[($15 + 508 | 0) >> 2] = (HEAP32[($15 + 740 | 0) >> 2] | 0) - 4 | 0; + } + label$84 : { + label$85 : { + if (HEAP32[($15 + 508 | 0) >> 2] | 0) { + break label$85 + } + HEAP32[($15 + 504 | 0) >> 2] = 1; + HEAP32[($15 + 500 | 0) >> 2] = 2; + break label$84; + } + label$86 : { + label$87 : { + if (!((HEAP32[($15 + 508 | 0) >> 2] | 0 | 0) == (1 | 0) & 1 | 0)) { + break label$87 + } + HEAP32[($15 + 504 | 0) >> 2] = 0; + HEAP32[($15 + 500 | 0) >> 2] = 2; + break label$86; + } + HEAP32[($15 + 504 | 0) >> 2] = 0; + HEAP32[($15 + 500 | 0) >> 2] = 1; + } + } + (wasm2js_i32$0 = $15, wasm2js_f32$0 = Math_fround(dDOT14_28float_20const__2c_20float_20const__29(btVector3__operator_20float__28_29($15 + 512 | 0 | 0) | 0 | 0, (HEAP32[($15 + 608 | 0) >> 2] | 0) + ((HEAP32[($15 + 504 | 0) >> 2] | 0) << 2 | 0) | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 460 | 0) >> 2] = wasm2js_f32$0; + (wasm2js_i32$0 = $15, wasm2js_f32$0 = Math_fround(dDOT14_28float_20const__2c_20float_20const__29(btVector3__operator_20float__28_29($15 + 512 | 0 | 0) | 0 | 0, (HEAP32[($15 + 608 | 0) >> 2] | 0) + ((HEAP32[($15 + 500 | 0) >> 2] | 0) << 2 | 0) | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 456 | 0) >> 2] = wasm2js_f32$0; + (wasm2js_i32$0 = $15, wasm2js_f32$0 = Math_fround(dDOT44_28float_20const__2c_20float_20const__29((HEAP32[($15 + 608 | 0) >> 2] | 0) + ((HEAP32[($15 + 504 | 0) >> 2] | 0) << 2 | 0) | 0 | 0, (HEAP32[($15 + 604 | 0) >> 2] | 0) + ((HEAP32[($15 + 532 | 0) >> 2] | 0) << 2 | 0) | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 452 | 0) >> 2] = wasm2js_f32$0; + (wasm2js_i32$0 = $15, wasm2js_f32$0 = Math_fround(dDOT44_28float_20const__2c_20float_20const__29((HEAP32[($15 + 608 | 0) >> 2] | 0) + ((HEAP32[($15 + 504 | 0) >> 2] | 0) << 2 | 0) | 0 | 0, (HEAP32[($15 + 604 | 0) >> 2] | 0) + ((HEAP32[($15 + 528 | 0) >> 2] | 0) << 2 | 0) | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 448 | 0) >> 2] = wasm2js_f32$0; + (wasm2js_i32$0 = $15, wasm2js_f32$0 = Math_fround(dDOT44_28float_20const__2c_20float_20const__29((HEAP32[($15 + 608 | 0) >> 2] | 0) + ((HEAP32[($15 + 500 | 0) >> 2] | 0) << 2 | 0) | 0 | 0, (HEAP32[($15 + 604 | 0) >> 2] | 0) + ((HEAP32[($15 + 532 | 0) >> 2] | 0) << 2 | 0) | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 444 | 0) >> 2] = wasm2js_f32$0; + (wasm2js_i32$0 = $15, wasm2js_f32$0 = Math_fround(dDOT44_28float_20const__2c_20float_20const__29((HEAP32[($15 + 608 | 0) >> 2] | 0) + ((HEAP32[($15 + 500 | 0) >> 2] | 0) << 2 | 0) | 0 | 0, (HEAP32[($15 + 604 | 0) >> 2] | 0) + ((HEAP32[($15 + 528 | 0) >> 2] | 0) << 2 | 0) | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 440 | 0) >> 2] = wasm2js_f32$0; + HEAPF32[($15 + 436 | 0) >> 2] = Math_fround(Math_fround(HEAPF32[($15 + 452 | 0) >> 2]) * Math_fround(HEAPF32[((HEAP32[($15 + 588 | 0) >> 2] | 0) + ((HEAP32[($15 + 532 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2])); + HEAPF32[($15 + 432 | 0) >> 2] = Math_fround(Math_fround(HEAPF32[($15 + 444 | 0) >> 2]) * Math_fround(HEAPF32[((HEAP32[($15 + 588 | 0) >> 2] | 0) + ((HEAP32[($15 + 532 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2])); + HEAPF32[($15 + 428 | 0) >> 2] = Math_fround(Math_fround(HEAPF32[($15 + 448 | 0) >> 2]) * Math_fround(HEAPF32[((HEAP32[($15 + 588 | 0) >> 2] | 0) + ((HEAP32[($15 + 528 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2])); + HEAPF32[($15 + 424 | 0) >> 2] = Math_fround(Math_fround(HEAPF32[($15 + 440 | 0) >> 2]) * Math_fround(HEAPF32[((HEAP32[($15 + 588 | 0) >> 2] | 0) + ((HEAP32[($15 + 528 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2])); + HEAPF32[($15 + 464 | 0) >> 2] = Math_fround(Math_fround(Math_fround(HEAPF32[($15 + 460 | 0) >> 2]) - Math_fround(HEAPF32[($15 + 436 | 0) >> 2])) - Math_fround(HEAPF32[($15 + 428 | 0) >> 2])); + HEAPF32[($15 + 468 | 0) >> 2] = Math_fround(Math_fround(Math_fround(HEAPF32[($15 + 456 | 0) >> 2]) - Math_fround(HEAPF32[($15 + 432 | 0) >> 2])) - Math_fround(HEAPF32[($15 + 424 | 0) >> 2])); + HEAPF32[($15 + 472 | 0) >> 2] = Math_fround(Math_fround(Math_fround(HEAPF32[($15 + 460 | 0) >> 2]) - Math_fround(HEAPF32[($15 + 436 | 0) >> 2])) + Math_fround(HEAPF32[($15 + 428 | 0) >> 2])); + HEAPF32[($15 + 476 | 0) >> 2] = Math_fround(Math_fround(Math_fround(HEAPF32[($15 + 456 | 0) >> 2]) - Math_fround(HEAPF32[($15 + 432 | 0) >> 2])) + Math_fround(HEAPF32[($15 + 424 | 0) >> 2])); + HEAPF32[($15 + 480 | 0) >> 2] = Math_fround(Math_fround(Math_fround(HEAPF32[($15 + 460 | 0) >> 2]) + Math_fround(HEAPF32[($15 + 436 | 0) >> 2])) + Math_fround(HEAPF32[($15 + 428 | 0) >> 2])); + HEAPF32[($15 + 484 | 0) >> 2] = Math_fround(Math_fround(Math_fround(HEAPF32[($15 + 456 | 0) >> 2]) + Math_fround(HEAPF32[($15 + 432 | 0) >> 2])) + Math_fround(HEAPF32[($15 + 424 | 0) >> 2])); + HEAPF32[($15 + 488 | 0) >> 2] = Math_fround(Math_fround(Math_fround(HEAPF32[($15 + 460 | 0) >> 2]) + Math_fround(HEAPF32[($15 + 436 | 0) >> 2])) - Math_fround(HEAPF32[($15 + 428 | 0) >> 2])); + HEAPF32[($15 + 492 | 0) >> 2] = Math_fround(Math_fround(Math_fround(HEAPF32[($15 + 456 | 0) >> 2]) + Math_fround(HEAPF32[($15 + 432 | 0) >> 2])) - Math_fround(HEAPF32[($15 + 424 | 0) >> 2])); + HEAPF32[($15 + 416 | 0) >> 2] = Math_fround(HEAPF32[((HEAP32[($15 + 592 | 0) >> 2] | 0) + ((HEAP32[($15 + 504 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2]); + HEAPF32[($15 + 420 | 0) >> 2] = Math_fround(HEAPF32[((HEAP32[($15 + 592 | 0) >> 2] | 0) + ((HEAP32[($15 + 500 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2]); + (wasm2js_i32$0 = $15, wasm2js_i32$1 = intersectRectQuad2_28float__2c_20float__2c_20float__29($15 + 416 | 0 | 0, $15 + 464 | 0 | 0, $15 + 352 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 348 | 0) >> 2] = wasm2js_i32$1; + label$88 : { + if (!((HEAP32[($15 + 348 | 0) >> 2] | 0 | 0) < (1 | 0) & 1 | 0)) { + break label$88 + } + HEAP32[($15 + 988 | 0) >> 2] = 0; + break label$1; + } + HEAPF32[($15 + 204 | 0) >> 2] = Math_fround(Math_fround(1.0) / Math_fround(Math_fround(Math_fround(HEAPF32[($15 + 452 | 0) >> 2]) * Math_fround(HEAPF32[($15 + 440 | 0) >> 2])) + Math_fround(-Math_fround(Math_fround(HEAPF32[($15 + 448 | 0) >> 2]) * Math_fround(HEAPF32[($15 + 444 | 0) >> 2]))))); + HEAPF32[($15 + 452 | 0) >> 2] = Math_fround(Math_fround(HEAPF32[($15 + 452 | 0) >> 2]) * Math_fround(HEAPF32[($15 + 204 | 0) >> 2])); + HEAPF32[($15 + 448 | 0) >> 2] = Math_fround(Math_fround(HEAPF32[($15 + 448 | 0) >> 2]) * Math_fround(HEAPF32[($15 + 204 | 0) >> 2])); + HEAPF32[($15 + 444 | 0) >> 2] = Math_fround(Math_fround(HEAPF32[($15 + 444 | 0) >> 2]) * Math_fround(HEAPF32[($15 + 204 | 0) >> 2])); + HEAPF32[($15 + 440 | 0) >> 2] = Math_fround(Math_fround(HEAPF32[($15 + 440 | 0) >> 2]) * Math_fround(HEAPF32[($15 + 204 | 0) >> 2])); + HEAP32[($15 + 200 | 0) >> 2] = 0; + HEAP32[($15 + 748 | 0) >> 2] = 0; + label$89 : { + label$90 : while (1) { + if (!((HEAP32[($15 + 748 | 0) >> 2] | 0 | 0) < (HEAP32[($15 + 348 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$89 + } + HEAPF32[($15 + 196 | 0) >> 2] = Math_fround(Math_fround(Math_fround(HEAPF32[($15 + 440 | 0) >> 2]) * Math_fround(Math_fround(HEAPF32[(($15 + 352 | 0) + (((HEAP32[($15 + 748 | 0) >> 2] | 0) << 1 | 0) << 2 | 0) | 0) >> 2]) - Math_fround(HEAPF32[($15 + 460 | 0) >> 2]))) + Math_fround(-Math_fround(Math_fround(HEAPF32[($15 + 448 | 0) >> 2]) * Math_fround(Math_fround(HEAPF32[(($15 + 352 | 0) + ((((HEAP32[($15 + 748 | 0) >> 2] | 0) << 1 | 0) + 1 | 0) << 2 | 0) | 0) >> 2]) - Math_fround(HEAPF32[($15 + 456 | 0) >> 2]))))); + HEAPF32[($15 + 192 | 0) >> 2] = Math_fround(Math_fround(Math_fround(-Math_fround(HEAPF32[($15 + 444 | 0) >> 2])) * Math_fround(Math_fround(HEAPF32[(($15 + 352 | 0) + (((HEAP32[($15 + 748 | 0) >> 2] | 0) << 1 | 0) << 2 | 0) | 0) >> 2]) - Math_fround(HEAPF32[($15 + 460 | 0) >> 2]))) + Math_fround(Math_fround(HEAPF32[($15 + 452 | 0) >> 2]) * Math_fround(Math_fround(HEAPF32[(($15 + 352 | 0) + ((((HEAP32[($15 + 748 | 0) >> 2] | 0) << 1 | 0) + 1 | 0) << 2 | 0) | 0) >> 2]) - Math_fround(HEAPF32[($15 + 456 | 0) >> 2])))); + HEAP32[($15 + 752 | 0) >> 2] = 0; + label$91 : { + label$92 : while (1) { + if (!((HEAP32[($15 + 752 | 0) >> 2] | 0 | 0) < (3 | 0) & 1 | 0)) { + break label$91 + } + $2606 = btVector3__operator_20float__28_29($15 + 512 | 0 | 0) | 0; + HEAPF32[(($15 + 240 | 0) + ((Math_imul(HEAP32[($15 + 200 | 0) >> 2] | 0, 3) + (HEAP32[($15 + 752 | 0) >> 2] | 0) | 0) << 2 | 0) | 0) >> 2] = Math_fround(Math_fround(Math_fround(HEAPF32[($15 + 192 | 0) >> 2]) * Math_fround(HEAPF32[((HEAP32[($15 + 604 | 0) >> 2] | 0) + ((((HEAP32[($15 + 752 | 0) >> 2] | 0) << 2 | 0) + (HEAP32[($15 + 528 | 0) >> 2] | 0) | 0) << 2 | 0) | 0) >> 2])) + Math_fround(Math_fround(Math_fround(HEAPF32[($15 + 196 | 0) >> 2]) * Math_fround(HEAPF32[((HEAP32[($15 + 604 | 0) >> 2] | 0) + ((((HEAP32[($15 + 752 | 0) >> 2] | 0) << 2 | 0) + (HEAP32[($15 + 532 | 0) >> 2] | 0) | 0) << 2 | 0) | 0) >> 2])) + Math_fround(HEAPF32[($2606 + ((HEAP32[($15 + 752 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2]))); + HEAP32[($15 + 752 | 0) >> 2] = (HEAP32[($15 + 752 | 0) >> 2] | 0) + 1 | 0; + continue label$92; + }; + } + $2672 = Math_fround(Math_fround(HEAPF32[((HEAP32[($15 + 592 | 0) >> 2] | 0) + ((HEAP32[($15 + 508 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2]) - Math_fround(dDOT_28float_20const__2c_20float_20const__29(btVector3__operator_20float__28_29($15 + 572 | 0 | 0) | 0 | 0, ($15 + 240 | 0) + (Math_imul(HEAP32[($15 + 200 | 0) >> 2] | 0, 3) << 2 | 0) | 0 | 0))); + HEAPF32[(($15 + 208 | 0) + ((HEAP32[($15 + 200 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = $2672; + label$93 : { + if (!(Math_fround(HEAPF32[(($15 + 208 | 0) + ((HEAP32[($15 + 200 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2]) >= Math_fround(0 | 0) & 1 | 0)) { + break label$93 + } + HEAPF32[(($15 + 352 | 0) + (((HEAP32[($15 + 200 | 0) >> 2] | 0) << 1 | 0) << 2 | 0) | 0) >> 2] = Math_fround(HEAPF32[(($15 + 352 | 0) + (((HEAP32[($15 + 748 | 0) >> 2] | 0) << 1 | 0) << 2 | 0) | 0) >> 2]); + HEAPF32[(($15 + 352 | 0) + ((((HEAP32[($15 + 200 | 0) >> 2] | 0) << 1 | 0) + 1 | 0) << 2 | 0) | 0) >> 2] = Math_fround(HEAPF32[(($15 + 352 | 0) + ((((HEAP32[($15 + 748 | 0) >> 2] | 0) << 1 | 0) + 1 | 0) << 2 | 0) | 0) >> 2]); + HEAP32[($15 + 200 | 0) >> 2] = (HEAP32[($15 + 200 | 0) >> 2] | 0) + 1 | 0; + } + HEAP32[($15 + 748 | 0) >> 2] = (HEAP32[($15 + 748 | 0) >> 2] | 0) + 1 | 0; + continue label$90; + }; + } + label$94 : { + if (!((HEAP32[($15 + 200 | 0) >> 2] | 0 | 0) < (1 | 0) & 1 | 0)) { + break label$94 + } + HEAP32[($15 + 988 | 0) >> 2] = 0; + break label$1; + } + label$95 : { + if (!((HEAP32[($15 + 948 | 0) >> 2] | 0 | 0) > (HEAP32[($15 + 200 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$95 + } + HEAP32[($15 + 948 | 0) >> 2] = HEAP32[($15 + 200 | 0) >> 2] | 0; + } + label$96 : { + if (!((HEAP32[($15 + 948 | 0) >> 2] | 0 | 0) < (1 | 0) & 1 | 0)) { + break label$96 + } + HEAP32[($15 + 948 | 0) >> 2] = 1; + } + label$97 : { + label$98 : { + if (!((HEAP32[($15 + 200 | 0) >> 2] | 0 | 0) <= (HEAP32[($15 + 948 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$98 + } + label$99 : { + label$100 : { + if (!((HEAP32[($15 + 740 | 0) >> 2] | 0 | 0) < (4 | 0) & 1 | 0)) { + break label$100 + } + HEAP32[($15 + 748 | 0) >> 2] = 0; + label$101 : { + label$102 : while (1) { + if (!((HEAP32[($15 + 748 | 0) >> 2] | 0 | 0) < (HEAP32[($15 + 200 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$101 + } + btVector3__btVector3_28_29($15 + 176 | 0 | 0) | 0; + HEAP32[($15 + 752 | 0) >> 2] = 0; + label$103 : { + label$104 : while (1) { + if (!((HEAP32[($15 + 752 | 0) >> 2] | 0 | 0) < (3 | 0) & 1 | 0)) { + break label$103 + } + $2816 = Math_fround(Math_fround(HEAPF32[(($15 + 240 | 0) + ((Math_imul(HEAP32[($15 + 748 | 0) >> 2] | 0, 3) + (HEAP32[($15 + 752 | 0) >> 2] | 0) | 0) << 2 | 0) | 0) >> 2]) + Math_fround(HEAPF32[((HEAP32[($15 + 600 | 0) >> 2] | 0) + ((HEAP32[($15 + 752 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2])); + (wasm2js_i32$0 = (btVector3__operator_20float__28_29($15 + 176 | 0 | 0) | 0) + ((HEAP32[($15 + 752 | 0) >> 2] | 0) << 2 | 0) | 0, wasm2js_f32$0 = $2816), HEAPF32[wasm2js_i32$0 >> 2] = wasm2js_f32$0; + HEAP32[($15 + 752 | 0) >> 2] = (HEAP32[($15 + 752 | 0) >> 2] | 0) + 1 | 0; + continue label$104; + }; + } + $2828 = HEAP32[($15 + 936 | 0) >> 2] | 0; + operator__28btVector3_20const__29($15 + 160 | 0 | 0, HEAP32[($15 + 960 | 0) >> 2] | 0 | 0); + FUNCTION_TABLE[HEAP32[((HEAP32[$2828 >> 2] | 0) + 16 | 0) >> 2] | 0 | 0]($2828, $15 + 160 | 0, $15 + 176 | 0, Math_fround(-Math_fround(HEAPF32[(($15 + 208 | 0) + ((HEAP32[($15 + 748 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2]))); + HEAP32[($15 + 748 | 0) >> 2] = (HEAP32[($15 + 748 | 0) >> 2] | 0) + 1 | 0; + continue label$102; + }; + } + break label$99; + } + HEAP32[($15 + 748 | 0) >> 2] = 0; + label$105 : { + label$106 : while (1) { + if (!((HEAP32[($15 + 748 | 0) >> 2] | 0 | 0) < (HEAP32[($15 + 200 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$105 + } + btVector3__btVector3_28_29($15 + 144 | 0 | 0) | 0; + HEAP32[($15 + 752 | 0) >> 2] = 0; + label$107 : { + label$108 : while (1) { + if (!((HEAP32[($15 + 752 | 0) >> 2] | 0 | 0) < (3 | 0) & 1 | 0)) { + break label$107 + } + $2890 = Math_fround(Math_fround(HEAPF32[(($15 + 240 | 0) + ((Math_imul(HEAP32[($15 + 748 | 0) >> 2] | 0, 3) + (HEAP32[($15 + 752 | 0) >> 2] | 0) | 0) << 2 | 0) | 0) >> 2]) + Math_fround(HEAPF32[((HEAP32[($15 + 600 | 0) >> 2] | 0) + ((HEAP32[($15 + 752 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2])); + $2908 = Math_fround(Math_fround(Math_fround(-Math_fround(HEAPF32[((btVector3__operator_20float__28_29(HEAP32[($15 + 960 | 0) >> 2] | 0 | 0) | 0) + ((HEAP32[($15 + 752 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2])) * Math_fround(HEAPF32[(($15 + 208 | 0) + ((HEAP32[($15 + 748 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2])) + $2890); + (wasm2js_i32$0 = (btVector3__operator_20float__28_29($15 + 144 | 0 | 0) | 0) + ((HEAP32[($15 + 752 | 0) >> 2] | 0) << 2 | 0) | 0, wasm2js_f32$0 = $2908), HEAPF32[wasm2js_i32$0 >> 2] = wasm2js_f32$0; + HEAP32[($15 + 752 | 0) >> 2] = (HEAP32[($15 + 752 | 0) >> 2] | 0) + 1 | 0; + continue label$108; + }; + } + $2920 = HEAP32[($15 + 936 | 0) >> 2] | 0; + operator__28btVector3_20const__29($15 + 128 | 0 | 0, HEAP32[($15 + 960 | 0) >> 2] | 0 | 0); + FUNCTION_TABLE[HEAP32[((HEAP32[$2920 >> 2] | 0) + 16 | 0) >> 2] | 0 | 0]($2920, $15 + 128 | 0, $15 + 144 | 0, Math_fround(-Math_fround(HEAPF32[(($15 + 208 | 0) + ((HEAP32[($15 + 748 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2]))); + HEAP32[($15 + 748 | 0) >> 2] = (HEAP32[($15 + 748 | 0) >> 2] | 0) + 1 | 0; + continue label$106; + }; + } + } + break label$97; + } + HEAP32[($15 + 124 | 0) >> 2] = 0; + HEAPF32[($15 + 120 | 0) >> 2] = Math_fround(HEAPF32[($15 + 208 | 0) >> 2]); + HEAP32[($15 + 752 | 0) >> 2] = 1; + label$109 : { + label$110 : while (1) { + if (!((HEAP32[($15 + 752 | 0) >> 2] | 0 | 0) < (HEAP32[($15 + 200 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$109 + } + label$111 : { + if (!(Math_fround(HEAPF32[(($15 + 208 | 0) + ((HEAP32[($15 + 752 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2]) > Math_fround(HEAPF32[($15 + 120 | 0) >> 2]) & 1 | 0)) { + break label$111 + } + HEAPF32[($15 + 120 | 0) >> 2] = Math_fround(HEAPF32[(($15 + 208 | 0) + ((HEAP32[($15 + 752 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2]); + HEAP32[($15 + 124 | 0) >> 2] = HEAP32[($15 + 752 | 0) >> 2] | 0; + } + HEAP32[($15 + 752 | 0) >> 2] = (HEAP32[($15 + 752 | 0) >> 2] | 0) + 1 | 0; + continue label$110; + }; + } + cullPoints2_28int_2c_20float__2c_20int_2c_20int_2c_20int__29(HEAP32[($15 + 200 | 0) >> 2] | 0 | 0, $15 + 352 | 0 | 0, HEAP32[($15 + 948 | 0) >> 2] | 0 | 0, HEAP32[($15 + 124 | 0) >> 2] | 0 | 0, $15 + 80 | 0 | 0); + HEAP32[($15 + 748 | 0) >> 2] = 0; + label$112 : { + label$113 : while (1) { + if (!((HEAP32[($15 + 748 | 0) >> 2] | 0 | 0) < (HEAP32[($15 + 948 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$112 + } + btVector3__btVector3_28_29($15 + 64 | 0 | 0) | 0; + HEAP32[($15 + 752 | 0) >> 2] = 0; + label$114 : { + label$115 : while (1) { + if (!((HEAP32[($15 + 752 | 0) >> 2] | 0 | 0) < (3 | 0) & 1 | 0)) { + break label$114 + } + $3032 = Math_fround(Math_fround(HEAPF32[(($15 + 240 | 0) + ((Math_imul(HEAP32[(($15 + 80 | 0) + ((HEAP32[($15 + 748 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0, 3) + (HEAP32[($15 + 752 | 0) >> 2] | 0) | 0) << 2 | 0) | 0) >> 2]) + Math_fround(HEAPF32[((HEAP32[($15 + 600 | 0) >> 2] | 0) + ((HEAP32[($15 + 752 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2])); + (wasm2js_i32$0 = (btVector3__operator_20float__28_29($15 + 64 | 0 | 0) | 0) + ((HEAP32[($15 + 752 | 0) >> 2] | 0) << 2 | 0) | 0, wasm2js_f32$0 = $3032), HEAPF32[wasm2js_i32$0 >> 2] = wasm2js_f32$0; + HEAP32[($15 + 752 | 0) >> 2] = (HEAP32[($15 + 752 | 0) >> 2] | 0) + 1 | 0; + continue label$115; + }; + } + label$116 : { + label$117 : { + if (!((HEAP32[($15 + 740 | 0) >> 2] | 0 | 0) < (4 | 0) & 1 | 0)) { + break label$117 + } + $3051 = HEAP32[($15 + 936 | 0) >> 2] | 0; + operator__28btVector3_20const__29($15 + 48 | 0 | 0, HEAP32[($15 + 960 | 0) >> 2] | 0 | 0); + FUNCTION_TABLE[HEAP32[((HEAP32[$3051 >> 2] | 0) + 16 | 0) >> 2] | 0 | 0]($3051, $15 + 48 | 0, $15 + 64 | 0, Math_fround(-Math_fround(HEAPF32[(($15 + 208 | 0) + ((HEAP32[(($15 + 80 | 0) + ((HEAP32[($15 + 748 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0) << 2 | 0) | 0) >> 2]))); + break label$116; + } + $3080 = HEAP32[($15 + 936 | 0) >> 2] | 0; + operator__28btVector3_20const__29($15 + 32 | 0 | 0, HEAP32[($15 + 960 | 0) >> 2] | 0 | 0); + operator__28btVector3_20const__2c_20float_20const__29($15 | 0, HEAP32[($15 + 960 | 0) >> 2] | 0 | 0, ($15 + 208 | 0) + ((HEAP32[(($15 + 80 | 0) + ((HEAP32[($15 + 748 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0) << 2 | 0) | 0 | 0); + operator__28btVector3_20const__2c_20btVector3_20const__29($15 + 16 | 0 | 0, $15 + 64 | 0 | 0, $15 | 0); + FUNCTION_TABLE[HEAP32[((HEAP32[$3080 >> 2] | 0) + 16 | 0) >> 2] | 0 | 0]($3080, $15 + 32 | 0, $15 + 16 | 0, Math_fround(-Math_fround(HEAPF32[(($15 + 208 | 0) + ((HEAP32[(($15 + 80 | 0) + ((HEAP32[($15 + 748 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0) << 2 | 0) | 0) >> 2]))); + } + HEAP32[($15 + 748 | 0) >> 2] = (HEAP32[($15 + 748 | 0) >> 2] | 0) + 1 | 0; + continue label$113; + }; + } + HEAP32[($15 + 200 | 0) >> 2] = HEAP32[($15 + 948 | 0) >> 2] | 0; + } + HEAP32[(HEAP32[($15 + 952 | 0) >> 2] | 0) >> 2] = HEAP32[($15 + 740 | 0) >> 2] | 0; + HEAP32[($15 + 988 | 0) >> 2] = HEAP32[($15 + 200 | 0) >> 2] | 0; + } + $3139 = HEAP32[($15 + 988 | 0) >> 2] | 0; + __stack_pointer = $15 + 992 | 0; + return $3139 | 0; + } + + function dDOT41_28float_20const__2c_20float_20const__29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0; + $4 = __stack_pointer - 16 | 0; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + return Math_fround(Math_fround(Math_fround(Math_fround(HEAPF32[((HEAP32[($4 + 12 | 0) >> 2] | 0) + 32 | 0) >> 2]) * Math_fround(HEAPF32[((HEAP32[($4 + 8 | 0) >> 2] | 0) + 8 | 0) >> 2])) + Math_fround(Math_fround(Math_fround(HEAPF32[(HEAP32[($4 + 12 | 0) >> 2] | 0) >> 2]) * Math_fround(HEAPF32[(HEAP32[($4 + 8 | 0) >> 2] | 0) >> 2])) + Math_fround(Math_fround(HEAPF32[((HEAP32[($4 + 12 | 0) >> 2] | 0) + 16 | 0) >> 2]) * Math_fround(HEAPF32[((HEAP32[($4 + 8 | 0) >> 2] | 0) + 4 | 0) >> 2]))))); + } + + function dDOT44_28float_20const__2c_20float_20const__29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0; + $4 = __stack_pointer - 16 | 0; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + return Math_fround(Math_fround(Math_fround(Math_fround(HEAPF32[((HEAP32[($4 + 12 | 0) >> 2] | 0) + 32 | 0) >> 2]) * Math_fround(HEAPF32[((HEAP32[($4 + 8 | 0) >> 2] | 0) + 32 | 0) >> 2])) + Math_fround(Math_fround(Math_fround(HEAPF32[(HEAP32[($4 + 12 | 0) >> 2] | 0) >> 2]) * Math_fround(HEAPF32[(HEAP32[($4 + 8 | 0) >> 2] | 0) >> 2])) + Math_fround(Math_fround(HEAPF32[((HEAP32[($4 + 12 | 0) >> 2] | 0) + 16 | 0) >> 2]) * Math_fround(HEAPF32[((HEAP32[($4 + 8 | 0) >> 2] | 0) + 16 | 0) >> 2]))))); + } + + function dDOT14_28float_20const__2c_20float_20const__29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0; + $4 = __stack_pointer - 16 | 0; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + return Math_fround(Math_fround(Math_fround(Math_fround(HEAPF32[((HEAP32[($4 + 12 | 0) >> 2] | 0) + 8 | 0) >> 2]) * Math_fround(HEAPF32[((HEAP32[($4 + 8 | 0) >> 2] | 0) + 32 | 0) >> 2])) + Math_fround(Math_fround(Math_fround(HEAPF32[(HEAP32[($4 + 12 | 0) >> 2] | 0) >> 2]) * Math_fround(HEAPF32[(HEAP32[($4 + 8 | 0) >> 2] | 0) >> 2])) + Math_fround(Math_fround(HEAPF32[((HEAP32[($4 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2]) * Math_fround(HEAPF32[((HEAP32[($4 + 8 | 0) >> 2] | 0) + 16 | 0) >> 2]))))); + } + + function intersectRectQuad2_28float__2c_20float__2c_20float__29($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $5 = 0, $81 = 0, $227 = 0, $251 = 0; + $5 = __stack_pointer - 128 | 0; + __stack_pointer = $5; + HEAP32[($5 + 124 | 0) >> 2] = $0; + HEAP32[($5 + 120 | 0) >> 2] = $1; + HEAP32[($5 + 116 | 0) >> 2] = $2; + HEAP32[($5 + 112 | 0) >> 2] = 4; + HEAP32[($5 + 108 | 0) >> 2] = 0; + HEAP32[($5 + 28 | 0) >> 2] = HEAP32[($5 + 120 | 0) >> 2] | 0; + HEAP32[($5 + 24 | 0) >> 2] = HEAP32[($5 + 116 | 0) >> 2] | 0; + HEAP32[($5 + 20 | 0) >> 2] = 0; + label$1 : { + label$2 : { + label$3 : while (1) { + if (!((HEAP32[($5 + 20 | 0) >> 2] | 0 | 0) <= (1 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($5 + 16 | 0) >> 2] = -1; + label$4 : { + label$5 : while (1) { + if (!((HEAP32[($5 + 16 | 0) >> 2] | 0 | 0) <= (1 | 0) & 1 | 0)) { + break label$4 + } + HEAP32[($5 + 12 | 0) >> 2] = HEAP32[($5 + 28 | 0) >> 2] | 0; + HEAP32[($5 + 8 | 0) >> 2] = HEAP32[($5 + 24 | 0) >> 2] | 0; + HEAP32[($5 + 108 | 0) >> 2] = 0; + HEAP32[($5 + 4 | 0) >> 2] = HEAP32[($5 + 112 | 0) >> 2] | 0; + label$6 : { + label$7 : while (1) { + if (!((HEAP32[($5 + 4 | 0) >> 2] | 0 | 0) > (0 | 0) & 1 | 0)) { + break label$6 + } + label$8 : { + if (!(Math_fround(Math_fround(HEAP32[($5 + 16 | 0) >> 2] | 0 | 0) * Math_fround(HEAPF32[((HEAP32[($5 + 12 | 0) >> 2] | 0) + ((HEAP32[($5 + 20 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2])) < Math_fround(HEAPF32[((HEAP32[($5 + 124 | 0) >> 2] | 0) + ((HEAP32[($5 + 20 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2]) & 1 | 0)) { + break label$8 + } + HEAPF32[(HEAP32[($5 + 8 | 0) >> 2] | 0) >> 2] = Math_fround(HEAPF32[(HEAP32[($5 + 12 | 0) >> 2] | 0) >> 2]); + HEAPF32[((HEAP32[($5 + 8 | 0) >> 2] | 0) + 4 | 0) >> 2] = Math_fround(HEAPF32[((HEAP32[($5 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2]); + HEAP32[($5 + 8 | 0) >> 2] = (HEAP32[($5 + 8 | 0) >> 2] | 0) + 8 | 0; + HEAP32[($5 + 108 | 0) >> 2] = (HEAP32[($5 + 108 | 0) >> 2] | 0) + 1 | 0; + label$9 : { + if (!((HEAP32[($5 + 108 | 0) >> 2] | 0) & 8 | 0)) { + break label$9 + } + HEAP32[($5 + 28 | 0) >> 2] = HEAP32[($5 + 24 | 0) >> 2] | 0; + break label$1; + } + } + label$10 : { + label$11 : { + if (!((HEAP32[($5 + 4 | 0) >> 2] | 0 | 0) > (1 | 0) & 1 | 0)) { + break label$11 + } + $81 = (HEAP32[($5 + 12 | 0) >> 2] | 0) + 8 | 0; + break label$10; + } + $81 = HEAP32[($5 + 28 | 0) >> 2] | 0; + } + HEAP32[$5 >> 2] = $81; + label$12 : { + if (!((Math_fround(Math_fround(HEAP32[($5 + 16 | 0) >> 2] | 0 | 0) * Math_fround(HEAPF32[((HEAP32[($5 + 12 | 0) >> 2] | 0) + ((HEAP32[($5 + 20 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2])) < Math_fround(HEAPF32[((HEAP32[($5 + 124 | 0) >> 2] | 0) + ((HEAP32[($5 + 20 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2]) & 1 | 0) ^ (Math_fround(Math_fround(HEAP32[($5 + 16 | 0) >> 2] | 0 | 0) * Math_fround(HEAPF32[((HEAP32[$5 >> 2] | 0) + ((HEAP32[($5 + 20 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2])) < Math_fround(HEAPF32[((HEAP32[($5 + 124 | 0) >> 2] | 0) + ((HEAP32[($5 + 20 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2]) & 1 | 0) | 0)) { + break label$12 + } + HEAPF32[((HEAP32[($5 + 8 | 0) >> 2] | 0) + ((1 - (HEAP32[($5 + 20 | 0) >> 2] | 0) | 0) << 2 | 0) | 0) >> 2] = Math_fround(Math_fround(Math_fround(Math_fround(Math_fround(HEAPF32[((HEAP32[$5 >> 2] | 0) + ((1 - (HEAP32[($5 + 20 | 0) >> 2] | 0) | 0) << 2 | 0) | 0) >> 2]) - Math_fround(HEAPF32[((HEAP32[($5 + 12 | 0) >> 2] | 0) + ((1 - (HEAP32[($5 + 20 | 0) >> 2] | 0) | 0) << 2 | 0) | 0) >> 2])) / Math_fround(Math_fround(HEAPF32[((HEAP32[$5 >> 2] | 0) + ((HEAP32[($5 + 20 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2]) - Math_fround(HEAPF32[((HEAP32[($5 + 12 | 0) >> 2] | 0) + ((HEAP32[($5 + 20 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2]))) * Math_fround(Math_fround(Math_fround(HEAP32[($5 + 16 | 0) >> 2] | 0 | 0) * Math_fround(HEAPF32[((HEAP32[($5 + 124 | 0) >> 2] | 0) + ((HEAP32[($5 + 20 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2])) + Math_fround(-Math_fround(HEAPF32[((HEAP32[($5 + 12 | 0) >> 2] | 0) + ((HEAP32[($5 + 20 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2])))) + Math_fround(HEAPF32[((HEAP32[($5 + 12 | 0) >> 2] | 0) + ((1 - (HEAP32[($5 + 20 | 0) >> 2] | 0) | 0) << 2 | 0) | 0) >> 2])); + HEAPF32[((HEAP32[($5 + 8 | 0) >> 2] | 0) + ((HEAP32[($5 + 20 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = Math_fround(Math_fround(HEAP32[($5 + 16 | 0) >> 2] | 0 | 0) * Math_fround(HEAPF32[((HEAP32[($5 + 124 | 0) >> 2] | 0) + ((HEAP32[($5 + 20 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2])); + HEAP32[($5 + 8 | 0) >> 2] = (HEAP32[($5 + 8 | 0) >> 2] | 0) + 8 | 0; + HEAP32[($5 + 108 | 0) >> 2] = (HEAP32[($5 + 108 | 0) >> 2] | 0) + 1 | 0; + label$13 : { + if (!((HEAP32[($5 + 108 | 0) >> 2] | 0) & 8 | 0)) { + break label$13 + } + HEAP32[($5 + 28 | 0) >> 2] = HEAP32[($5 + 24 | 0) >> 2] | 0; + break label$1; + } + } + HEAP32[($5 + 12 | 0) >> 2] = (HEAP32[($5 + 12 | 0) >> 2] | 0) + 8 | 0; + HEAP32[($5 + 4 | 0) >> 2] = (HEAP32[($5 + 4 | 0) >> 2] | 0) + -1 | 0; + continue label$7; + }; + } + HEAP32[($5 + 28 | 0) >> 2] = HEAP32[($5 + 24 | 0) >> 2] | 0; + label$14 : { + label$15 : { + if (!((HEAP32[($5 + 28 | 0) >> 2] | 0 | 0) == (HEAP32[($5 + 116 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$15 + } + $227 = $5 + 32 | 0; + break label$14; + } + $227 = HEAP32[($5 + 116 | 0) >> 2] | 0; + } + HEAP32[($5 + 24 | 0) >> 2] = $227; + HEAP32[($5 + 112 | 0) >> 2] = HEAP32[($5 + 108 | 0) >> 2] | 0; + HEAP32[($5 + 16 | 0) >> 2] = (HEAP32[($5 + 16 | 0) >> 2] | 0) + 2 | 0; + continue label$5; + }; + } + HEAP32[($5 + 20 | 0) >> 2] = (HEAP32[($5 + 20 | 0) >> 2] | 0) + 1 | 0; + continue label$3; + }; + } + } + label$16 : { + if (!((HEAP32[($5 + 28 | 0) >> 2] | 0 | 0) != (HEAP32[($5 + 116 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$16 + } + __memcpy(HEAP32[($5 + 116 | 0) >> 2] | 0 | 0, HEAP32[($5 + 28 | 0) >> 2] | 0 | 0, ((HEAP32[($5 + 108 | 0) >> 2] | 0) << 1 | 0) << 2 | 0 | 0) | 0; + } + $251 = HEAP32[($5 + 108 | 0) >> 2] | 0; + __stack_pointer = $5 + 128 | 0; + return $251 | 0; + } + + function btBoxBoxDetector__getClosestPoints_28btDiscreteCollisionDetectorInterface__ClosestPointInput_20const__2c_20btDiscreteCollisionDetectorInterface__Result__2c_20btIDebugDraw__2c_20bool_29($0, $1, $2, $3, $4) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + $4 = $4 | 0; + var $7 = 0, $9 = 0, $29 = Math_fround(0), $46 = Math_fround(0), $63 = Math_fround(0), $80 = Math_fround(0), $97 = Math_fround(0), $114 = Math_fround(0), $134 = 0, $153 = 0; + $7 = __stack_pointer - 256 | 0; + __stack_pointer = $7; + HEAP32[($7 + 252 | 0) >> 2] = $0; + HEAP32[($7 + 248 | 0) >> 2] = $1; + HEAP32[($7 + 244 | 0) >> 2] = $2; + HEAP32[($7 + 240 | 0) >> 2] = $3; + HEAP8[($7 + 239 | 0) >> 0] = $4; + $9 = HEAP32[($7 + 252 | 0) >> 2] | 0; + HEAP32[($7 + 232 | 0) >> 2] = HEAP32[($7 + 248 | 0) >> 2] | 0; + HEAP32[($7 + 228 | 0) >> 2] = (HEAP32[($7 + 248 | 0) >> 2] | 0) + 64 | 0; + HEAP32[($7 + 224 | 0) >> 2] = 0; + HEAP32[($7 + 220 | 0) >> 2] = 0; + HEAP32[($7 + 108 | 0) >> 2] = 0; + label$1 : { + label$2 : while (1) { + if (!((HEAP32[($7 + 108 | 0) >> 2] | 0 | 0) < (3 | 0) & 1 | 0)) { + break label$1 + } + $29 = Math_fround(HEAPF32[(btVector3__x_28_29_20const(btMatrix3x3__operator_5b_5d_28int_29_20const(btTransform__getBasis_28_29_20const(HEAP32[($7 + 232 | 0) >> 2] | 0 | 0) | 0 | 0, HEAP32[($7 + 108 | 0) >> 2] | 0 | 0) | 0 | 0) | 0) >> 2]); + HEAPF32[(($7 + 160 | 0) + ((((HEAP32[($7 + 108 | 0) >> 2] | 0) << 2 | 0) + 0 | 0) << 2 | 0) | 0) >> 2] = $29; + $46 = Math_fround(HEAPF32[(btVector3__x_28_29_20const(btMatrix3x3__operator_5b_5d_28int_29_20const(btTransform__getBasis_28_29_20const(HEAP32[($7 + 228 | 0) >> 2] | 0 | 0) | 0 | 0, HEAP32[($7 + 108 | 0) >> 2] | 0 | 0) | 0 | 0) | 0) >> 2]); + HEAPF32[(($7 + 112 | 0) + ((((HEAP32[($7 + 108 | 0) >> 2] | 0) << 2 | 0) + 0 | 0) << 2 | 0) | 0) >> 2] = $46; + $63 = Math_fround(HEAPF32[(btVector3__y_28_29_20const(btMatrix3x3__operator_5b_5d_28int_29_20const(btTransform__getBasis_28_29_20const(HEAP32[($7 + 232 | 0) >> 2] | 0 | 0) | 0 | 0, HEAP32[($7 + 108 | 0) >> 2] | 0 | 0) | 0 | 0) | 0) >> 2]); + HEAPF32[(($7 + 160 | 0) + ((((HEAP32[($7 + 108 | 0) >> 2] | 0) << 2 | 0) + 1 | 0) << 2 | 0) | 0) >> 2] = $63; + $80 = Math_fround(HEAPF32[(btVector3__y_28_29_20const(btMatrix3x3__operator_5b_5d_28int_29_20const(btTransform__getBasis_28_29_20const(HEAP32[($7 + 228 | 0) >> 2] | 0 | 0) | 0 | 0, HEAP32[($7 + 108 | 0) >> 2] | 0 | 0) | 0 | 0) | 0) >> 2]); + HEAPF32[(($7 + 112 | 0) + ((((HEAP32[($7 + 108 | 0) >> 2] | 0) << 2 | 0) + 1 | 0) << 2 | 0) | 0) >> 2] = $80; + $97 = Math_fround(HEAPF32[(btVector3__z_28_29_20const(btMatrix3x3__operator_5b_5d_28int_29_20const(btTransform__getBasis_28_29_20const(HEAP32[($7 + 232 | 0) >> 2] | 0 | 0) | 0 | 0, HEAP32[($7 + 108 | 0) >> 2] | 0 | 0) | 0 | 0) | 0) >> 2]); + HEAPF32[(($7 + 160 | 0) + ((((HEAP32[($7 + 108 | 0) >> 2] | 0) << 2 | 0) + 2 | 0) << 2 | 0) | 0) >> 2] = $97; + $114 = Math_fround(HEAPF32[(btVector3__z_28_29_20const(btMatrix3x3__operator_5b_5d_28int_29_20const(btTransform__getBasis_28_29_20const(HEAP32[($7 + 228 | 0) >> 2] | 0 | 0) | 0 | 0, HEAP32[($7 + 108 | 0) >> 2] | 0 | 0) | 0 | 0) | 0) >> 2]); + HEAPF32[(($7 + 112 | 0) + ((((HEAP32[($7 + 108 | 0) >> 2] | 0) << 2 | 0) + 2 | 0) << 2 | 0) | 0) >> 2] = $114; + HEAP32[($7 + 108 | 0) >> 2] = (HEAP32[($7 + 108 | 0) >> 2] | 0) + 1 | 0; + continue label$2; + }; + } + btVector3__btVector3_28_29($7 + 92 | 0 | 0) | 0; + HEAP32[($7 + 80 | 0) >> 2] = 4; + $134 = btTransform__getOrigin_28_29_20const(HEAP32[($7 + 232 | 0) >> 2] | 0 | 0) | 0; + HEAPF32[($7 + 60 | 0) >> 2] = Math_fround(2.0); + btBoxShape__getHalfExtentsWithMargin_28_29_20const($7 + 44 | 0 | 0, HEAP32[($9 + 4 | 0) >> 2] | 0 | 0); + operator__28float_20const__2c_20btVector3_20const__29($7 + 64 | 0 | 0, $7 + 60 | 0 | 0, $7 + 44 | 0 | 0); + $153 = btTransform__getOrigin_28_29_20const(HEAP32[($7 + 228 | 0) >> 2] | 0 | 0) | 0; + HEAPF32[($7 + 24 | 0) >> 2] = Math_fround(2.0); + btBoxShape__getHalfExtentsWithMargin_28_29_20const($7 + 8 | 0 | 0, HEAP32[($9 + 8 | 0) >> 2] | 0 | 0); + operator__28float_20const__2c_20btVector3_20const__29($7 + 28 | 0 | 0, $7 + 24 | 0 | 0, $7 + 8 | 0 | 0); + dBoxBox2_28btVector3_20const__2c_20float_20const__2c_20btVector3_20const__2c_20btVector3_20const__2c_20float_20const__2c_20btVector3_20const__2c_20btVector3__2c_20float__2c_20int__2c_20int_2c_20dContactGeom__2c_20int_2c_20btDiscreteCollisionDetectorInterface__Result__29($134 | 0, $7 + 160 | 0 | 0, $7 + 64 | 0 | 0, $153 | 0, $7 + 112 | 0 | 0, $7 + 28 | 0 | 0, $7 + 92 | 0 | 0, $7 + 88 | 0 | 0, $7 + 84 | 0 | 0, HEAP32[($7 + 80 | 0) >> 2] | 0 | 0, HEAP32[($7 + 220 | 0) >> 2] | 0 | 0, HEAP32[($7 + 224 | 0) >> 2] | 0 | 0, HEAP32[($7 + 244 | 0) >> 2] | 0 | 0) | 0; + __stack_pointer = $7 + 256 | 0; + return; + } + + function btBoxBoxDetector___btBoxBoxDetector_28_29($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + btBoxBoxDetector___btBoxBoxDetector_28_29_1($4 | 0) | 0; + operator_20delete_28void__29($4 | 0); + __stack_pointer = $3 + 16 | 0; + return; + } + + function btDiscreteCollisionDetectorInterface___btDiscreteCollisionDetectorInterface_28_29_1($0) { + $0 = $0 | 0; + HEAP32[((__stack_pointer - 16 | 0) + 12 | 0) >> 2] = $0; + wasm2js_trap(); + } + + function _GLOBAL__sub_I_btBoxBoxDetector_cpp() { + __cxx_global_var_init_18(); + return; + } + + function __cxx_global_var_init_19() { + btInfMaskConverter__btInfMaskConverter_28int_29(114024 | 0, 2139095040 | 0) | 0; + return; + } + + function btBoxBoxCollisionAlgorithm__btBoxBoxCollisionAlgorithm_28btPersistentManifold__2c_20btCollisionAlgorithmConstructionInfo_20const__2c_20btCollisionObjectWrapper_20const__2c_20btCollisionObjectWrapper_20const__29($0, $1, $2, $3, $4) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + $4 = $4 | 0; + var $7 = 0, $8 = 0, $24 = 0, $34 = 0, $43 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0, wasm2js_i32$2 = 0, wasm2js_i32$3 = 0, wasm2js_i32$4 = 0, wasm2js_i32$5 = 0; + $7 = __stack_pointer - 32 | 0; + __stack_pointer = $7; + HEAP32[($7 + 24 | 0) >> 2] = $0; + HEAP32[($7 + 20 | 0) >> 2] = $1; + HEAP32[($7 + 16 | 0) >> 2] = $2; + HEAP32[($7 + 12 | 0) >> 2] = $3; + HEAP32[($7 + 8 | 0) >> 2] = $4; + $8 = HEAP32[($7 + 24 | 0) >> 2] | 0; + HEAP32[($7 + 28 | 0) >> 2] = $8; + btActivatingCollisionAlgorithm__btActivatingCollisionAlgorithm_28btCollisionAlgorithmConstructionInfo_20const__2c_20btCollisionObjectWrapper_20const__2c_20btCollisionObjectWrapper_20const__29($8 | 0, HEAP32[($7 + 16 | 0) >> 2] | 0 | 0, HEAP32[($7 + 12 | 0) >> 2] | 0 | 0, HEAP32[($7 + 8 | 0) >> 2] | 0 | 0) | 0; + HEAP32[$8 >> 2] = 95212 + 8 | 0; + HEAP8[($8 + 8 | 0) >> 0] = 0; + HEAP32[($8 + 12 | 0) >> 2] = HEAP32[($7 + 20 | 0) >> 2] | 0; + label$1 : { + if ((HEAP32[($8 + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$1 + } + $24 = HEAP32[($8 + 4 | 0) >> 2] | 0; + if (!(((((wasm2js_i32$1 = $24, wasm2js_i32$2 = btCollisionObjectWrapper__getCollisionObject_28_29_20const(HEAP32[($7 + 12 | 0) >> 2] | 0 | 0) | 0), wasm2js_i32$3 = btCollisionObjectWrapper__getCollisionObject_28_29_20const(HEAP32[($7 + 8 | 0) >> 2] | 0 | 0) | 0), wasm2js_i32$0 = HEAP32[((HEAP32[$24 >> 2] | 0) + 24 | 0) >> 2] | 0 | 0), FUNCTION_TABLE[wasm2js_i32$0](wasm2js_i32$1 | 0, wasm2js_i32$2 | 0, wasm2js_i32$3 | 0) | 0) & 1 | 0)) { + break label$1 + } + $34 = HEAP32[($8 + 4 | 0) >> 2] | 0; + (wasm2js_i32$0 = $8, wasm2js_i32$3 = ((((wasm2js_i32$1 = $34, wasm2js_i32$4 = btCollisionObjectWrapper__getCollisionObject_28_29_20const(HEAP32[($7 + 12 | 0) >> 2] | 0 | 0) | 0), wasm2js_i32$5 = btCollisionObjectWrapper__getCollisionObject_28_29_20const(HEAP32[($7 + 8 | 0) >> 2] | 0 | 0) | 0), wasm2js_i32$2 = HEAP32[((HEAP32[$34 >> 2] | 0) + 12 | 0) >> 2] | 0 | 0), FUNCTION_TABLE[wasm2js_i32$2](wasm2js_i32$1 | 0, wasm2js_i32$4 | 0, wasm2js_i32$5 | 0) | 0)), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$3; + HEAP8[($8 + 8 | 0) >> 0] = 1; + } + $43 = HEAP32[($7 + 28 | 0) >> 2] | 0; + __stack_pointer = $7 + 32 | 0; + return $43 | 0; + } + + function btBoxBoxCollisionAlgorithm___btBoxBoxCollisionAlgorithm_28_29($0) { + $0 = $0 | 0; + var $4 = 0, $3 = 0, $18 = 0, $22 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 8 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 8 | 0) >> 2] | 0; + HEAP32[($3 + 12 | 0) >> 2] = $4; + HEAP32[$4 >> 2] = 95212 + 8 | 0; + label$1 : { + if (!((HEAPU8[($4 + 8 | 0) >> 0] | 0) & 1 | 0)) { + break label$1 + } + label$2 : { + if (!((HEAP32[($4 + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$2 + } + $18 = HEAP32[($4 + 4 | 0) >> 2] | 0; + FUNCTION_TABLE[HEAP32[((HEAP32[$18 >> 2] | 0) + 16 | 0) >> 2] | 0 | 0]($18, HEAP32[($4 + 12 | 0) >> 2] | 0); + } + } + btActivatingCollisionAlgorithm___btActivatingCollisionAlgorithm_28_29($4 | 0) | 0; + $22 = HEAP32[($3 + 12 | 0) >> 2] | 0; + __stack_pointer = $3 + 16 | 0; + return $22 | 0; + } + + function btBoxBoxCollisionAlgorithm___btBoxBoxCollisionAlgorithm_28_29_1($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + FUNCTION_TABLE[689 | 0]($4) | 0; + operator_20delete_28void__29($4 | 0); + __stack_pointer = $3 + 16 | 0; + return; + } + + function btBoxBoxCollisionAlgorithm__processCollision_28btCollisionObjectWrapper_20const__2c_20btCollisionObjectWrapper_20const__2c_20btDispatcherInfo_20const__2c_20btManifoldResult__29($0, $1, $2, $3, $4) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + $4 = $4 | 0; + var $7 = 0, $8 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $7 = __stack_pointer - 176 | 0; + __stack_pointer = $7; + HEAP32[($7 + 172 | 0) >> 2] = $0; + HEAP32[($7 + 168 | 0) >> 2] = $1; + HEAP32[($7 + 164 | 0) >> 2] = $2; + HEAP32[($7 + 160 | 0) >> 2] = $3; + HEAP32[($7 + 156 | 0) >> 2] = $4; + $8 = HEAP32[($7 + 172 | 0) >> 2] | 0; + label$1 : { + label$2 : { + if ((HEAP32[($8 + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$2 + } + break label$1; + } + (wasm2js_i32$0 = $7, wasm2js_i32$1 = btCollisionObjectWrapper__getCollisionShape_28_29_20const(HEAP32[($7 + 168 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 152 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $7, wasm2js_i32$1 = btCollisionObjectWrapper__getCollisionShape_28_29_20const(HEAP32[($7 + 164 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 148 | 0) >> 2] = wasm2js_i32$1; + btManifoldResult__setPersistentManifold_28btPersistentManifold__29(HEAP32[($7 + 156 | 0) >> 2] | 0 | 0, HEAP32[($8 + 12 | 0) >> 2] | 0 | 0); + btDiscreteCollisionDetectorInterface__ClosestPointInput__ClosestPointInput_28_29($7 + 16 | 0 | 0) | 0; + HEAPF32[($7 + 144 | 0) >> 2] = Math_fround(999999984306749440.0); + btTransform__operator__28btTransform_20const__29($7 + 16 | 0 | 0, btCollisionObjectWrapper__getWorldTransform_28_29_20const(HEAP32[($7 + 168 | 0) >> 2] | 0 | 0) | 0 | 0) | 0; + btTransform__operator__28btTransform_20const__29(($7 + 16 | 0) + 64 | 0 | 0, btCollisionObjectWrapper__getWorldTransform_28_29_20const(HEAP32[($7 + 164 | 0) >> 2] | 0 | 0) | 0 | 0) | 0; + btBoxBoxDetector__btBoxBoxDetector_28btBoxShape_20const__2c_20btBoxShape_20const__29($7 + 4 | 0 | 0, HEAP32[($7 + 152 | 0) >> 2] | 0 | 0, HEAP32[($7 + 148 | 0) >> 2] | 0 | 0) | 0; + btBoxBoxDetector__getClosestPoints_28btDiscreteCollisionDetectorInterface__ClosestPointInput_20const__2c_20btDiscreteCollisionDetectorInterface__Result__2c_20btIDebugDraw__2c_20bool_29($7 + 4 | 0 | 0, $7 + 16 | 0 | 0, HEAP32[($7 + 156 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($7 + 160 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0, 0 & 1 | 0 | 0); + label$3 : { + if (!((HEAPU8[($8 + 8 | 0) >> 0] | 0) & 1 | 0)) { + break label$3 + } + btManifoldResult__refreshContactPoints_28_29(HEAP32[($7 + 156 | 0) >> 2] | 0 | 0); + } + btBoxBoxDetector___btBoxBoxDetector_28_29_1($7 + 4 | 0 | 0) | 0; + } + __stack_pointer = $7 + 176 | 0; + return; + } + + function btBoxBoxDetector___btBoxBoxDetector_28_29_1($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + btDiscreteCollisionDetectorInterface___btDiscreteCollisionDetectorInterface_28_29($4 | 0) | 0; + __stack_pointer = $3 + 16 | 0; + return $4 | 0; + } + + function btBoxBoxCollisionAlgorithm__calculateTimeOfImpact_28btCollisionObject__2c_20btCollisionObject__2c_20btDispatcherInfo_20const__2c_20btManifoldResult__29($0, $1, $2, $3, $4) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + $4 = $4 | 0; + var $7 = 0; + $7 = __stack_pointer - 32 | 0; + HEAP32[($7 + 28 | 0) >> 2] = $0; + HEAP32[($7 + 24 | 0) >> 2] = $1; + HEAP32[($7 + 20 | 0) >> 2] = $2; + HEAP32[($7 + 16 | 0) >> 2] = $3; + HEAP32[($7 + 12 | 0) >> 2] = $4; + return Math_fround(Math_fround(1.0)); + } + + function btBoxBoxCollisionAlgorithm__getAllContactManifolds_28btAlignedObjectArray_btPersistentManifold____29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, $5 = 0; + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; + label$1 : { + if (!((HEAP32[($5 + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + if (!((HEAPU8[($5 + 8 | 0) >> 0] | 0) & 1 | 0)) { + break label$1 + } + btAlignedObjectArray_btPersistentManifold____push_back_28btPersistentManifold__20const__29(HEAP32[($4 + 8 | 0) >> 2] | 0 | 0, $5 + 12 | 0 | 0); + } + __stack_pointer = $4 + 16 | 0; + return; + } + + function _GLOBAL__sub_I_btBoxBoxCollisionAlgorithm_cpp() { + __cxx_global_var_init_19(); + return; + } + + function __cxx_global_var_init_20() { + btInfMaskConverter__btInfMaskConverter_28int_29(114028 | 0, 2139095040 | 0) | 0; + return; + } + + function btConvexPlaneCollisionAlgorithm__btConvexPlaneCollisionAlgorithm_28btPersistentManifold__2c_20btCollisionAlgorithmConstructionInfo_20const__2c_20btCollisionObjectWrapper_20const__2c_20btCollisionObjectWrapper_20const__2c_20bool_2c_20int_2c_20int_29($0, $1, $2, $3, $4, $5, $6, $7) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + $4 = $4 | 0; + $5 = $5 | 0; + $6 = $6 | 0; + $7 = $7 | 0; + var $10 = 0, $12 = 0, $28 = 0, $35 = 0, $45 = 0, $55 = 0, $64 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0, wasm2js_i32$2 = 0, wasm2js_i32$3 = 0, wasm2js_i32$4 = 0, wasm2js_i32$5 = 0; + $10 = __stack_pointer - 48 | 0; + __stack_pointer = $10; + HEAP32[($10 + 40 | 0) >> 2] = $0; + HEAP32[($10 + 36 | 0) >> 2] = $1; + HEAP32[($10 + 32 | 0) >> 2] = $2; + HEAP32[($10 + 28 | 0) >> 2] = $3; + HEAP32[($10 + 24 | 0) >> 2] = $4; + HEAP8[($10 + 23 | 0) >> 0] = $5; + HEAP32[($10 + 16 | 0) >> 2] = $6; + HEAP32[($10 + 12 | 0) >> 2] = $7; + $12 = HEAP32[($10 + 40 | 0) >> 2] | 0; + HEAP32[($10 + 44 | 0) >> 2] = $12; + btCollisionAlgorithm__btCollisionAlgorithm_28btCollisionAlgorithmConstructionInfo_20const__29($12 | 0, HEAP32[($10 + 32 | 0) >> 2] | 0 | 0) | 0; + HEAP32[$12 >> 2] = 95284 + 8 | 0; + HEAP8[($12 + 8 | 0) >> 0] = 0; + HEAP32[($12 + 12 | 0) >> 2] = HEAP32[($10 + 36 | 0) >> 2] | 0; + HEAP8[($12 + 16 | 0) >> 0] = (HEAPU8[($10 + 23 | 0) >> 0] | 0) & 1 | 0; + HEAP32[($12 + 20 | 0) >> 2] = HEAP32[($10 + 16 | 0) >> 2] | 0; + HEAP32[($12 + 24 | 0) >> 2] = HEAP32[($10 + 12 | 0) >> 2] | 0; + label$1 : { + label$2 : { + if (!((HEAPU8[($12 + 16 | 0) >> 0] | 0) & 1 | 0)) { + break label$2 + } + $28 = HEAP32[($10 + 24 | 0) >> 2] | 0; + break label$1; + } + $28 = HEAP32[($10 + 28 | 0) >> 2] | 0; + } + HEAP32[($10 + 8 | 0) >> 2] = $28; + label$3 : { + label$4 : { + if (!((HEAPU8[($12 + 16 | 0) >> 0] | 0) & 1 | 0)) { + break label$4 + } + $35 = HEAP32[($10 + 28 | 0) >> 2] | 0; + break label$3; + } + $35 = HEAP32[($10 + 24 | 0) >> 2] | 0; + } + HEAP32[($10 + 4 | 0) >> 2] = $35; + label$5 : { + if ((HEAP32[($12 + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$5 + } + $45 = HEAP32[($12 + 4 | 0) >> 2] | 0; + if (!(((((wasm2js_i32$1 = $45, wasm2js_i32$2 = btCollisionObjectWrapper__getCollisionObject_28_29_20const(HEAP32[($10 + 8 | 0) >> 2] | 0 | 0) | 0), wasm2js_i32$3 = btCollisionObjectWrapper__getCollisionObject_28_29_20const(HEAP32[($10 + 4 | 0) >> 2] | 0 | 0) | 0), wasm2js_i32$0 = HEAP32[((HEAP32[$45 >> 2] | 0) + 24 | 0) >> 2] | 0 | 0), FUNCTION_TABLE[wasm2js_i32$0](wasm2js_i32$1 | 0, wasm2js_i32$2 | 0, wasm2js_i32$3 | 0) | 0) & 1 | 0)) { + break label$5 + } + $55 = HEAP32[($12 + 4 | 0) >> 2] | 0; + (wasm2js_i32$0 = $12, wasm2js_i32$3 = ((((wasm2js_i32$1 = $55, wasm2js_i32$4 = btCollisionObjectWrapper__getCollisionObject_28_29_20const(HEAP32[($10 + 8 | 0) >> 2] | 0 | 0) | 0), wasm2js_i32$5 = btCollisionObjectWrapper__getCollisionObject_28_29_20const(HEAP32[($10 + 4 | 0) >> 2] | 0 | 0) | 0), wasm2js_i32$2 = HEAP32[((HEAP32[$55 >> 2] | 0) + 12 | 0) >> 2] | 0 | 0), FUNCTION_TABLE[wasm2js_i32$2](wasm2js_i32$1 | 0, wasm2js_i32$4 | 0, wasm2js_i32$5 | 0) | 0)), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$3; + HEAP8[($12 + 8 | 0) >> 0] = 1; + } + $64 = HEAP32[($10 + 44 | 0) >> 2] | 0; + __stack_pointer = $10 + 48 | 0; + return $64 | 0; + } + + function btConvexPlaneCollisionAlgorithm___btConvexPlaneCollisionAlgorithm_28_29($0) { + $0 = $0 | 0; + var $4 = 0, $3 = 0, $18 = 0, $22 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 8 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 8 | 0) >> 2] | 0; + HEAP32[($3 + 12 | 0) >> 2] = $4; + HEAP32[$4 >> 2] = 95284 + 8 | 0; + label$1 : { + if (!((HEAPU8[($4 + 8 | 0) >> 0] | 0) & 1 | 0)) { + break label$1 + } + label$2 : { + if (!((HEAP32[($4 + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$2 + } + $18 = HEAP32[($4 + 4 | 0) >> 2] | 0; + FUNCTION_TABLE[HEAP32[((HEAP32[$18 >> 2] | 0) + 16 | 0) >> 2] | 0 | 0]($18, HEAP32[($4 + 12 | 0) >> 2] | 0); + } + } + btCollisionAlgorithm___btCollisionAlgorithm_28_29_1($4 | 0) | 0; + $22 = HEAP32[($3 + 12 | 0) >> 2] | 0; + __stack_pointer = $3 + 16 | 0; + return $22 | 0; + } + + function btConvexPlaneCollisionAlgorithm___btConvexPlaneCollisionAlgorithm_28_29_1($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + FUNCTION_TABLE[694 | 0]($4) | 0; + operator_20delete_28void__29($4 | 0); + __stack_pointer = $3 + 16 | 0; + return; + } + + function btConvexPlaneCollisionAlgorithm__collideSingleContact_28btQuaternion_20const__2c_20btCollisionObjectWrapper_20const__2c_20btCollisionObjectWrapper_20const__2c_20btDispatcherInfo_20const__2c_20btManifoldResult__29($0, $1, $2, $3, $4, $5) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + $4 = $4 | 0; + $5 = $5 | 0; + var $8 = 0, i64toi32_i32$0 = 0, $9 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, $14 = 0, $21 = 0, $95 = 0, $177 = 0, $186 = 0, $99 = 0, $568 = 0, $572 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0, wasm2js_f32$0 = Math_fround(0); + $8 = __stack_pointer - 704 | 0; + __stack_pointer = $8; + HEAP32[($8 + 700 | 0) >> 2] = $0; + HEAP32[($8 + 696 | 0) >> 2] = $1; + HEAP32[($8 + 692 | 0) >> 2] = $2; + HEAP32[($8 + 688 | 0) >> 2] = $3; + HEAP32[($8 + 684 | 0) >> 2] = $4; + HEAP32[($8 + 680 | 0) >> 2] = $5; + $9 = HEAP32[($8 + 700 | 0) >> 2] | 0; + label$1 : { + label$2 : { + if (!((HEAPU8[($9 + 16 | 0) >> 0] | 0) & 1 | 0)) { + break label$2 + } + $14 = HEAP32[($8 + 688 | 0) >> 2] | 0; + break label$1; + } + $14 = HEAP32[($8 + 692 | 0) >> 2] | 0; + } + HEAP32[($8 + 676 | 0) >> 2] = $14; + label$3 : { + label$4 : { + if (!((HEAPU8[($9 + 16 | 0) >> 0] | 0) & 1 | 0)) { + break label$4 + } + $21 = HEAP32[($8 + 692 | 0) >> 2] | 0; + break label$3; + } + $21 = HEAP32[($8 + 688 | 0) >> 2] | 0; + } + HEAP32[($8 + 672 | 0) >> 2] = $21; + (wasm2js_i32$0 = $8, wasm2js_i32$1 = btCollisionObjectWrapper__getCollisionShape_28_29_20const(HEAP32[($8 + 676 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 668 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $8, wasm2js_i32$1 = btCollisionObjectWrapper__getCollisionShape_28_29_20const(HEAP32[($8 + 672 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 664 | 0) >> 2] = wasm2js_i32$1; + HEAP8[($8 + 663 | 0) >> 0] = 0; + (wasm2js_i32$0 = $8, wasm2js_i32$1 = btStaticPlaneShape__getPlaneNormal_28_29_20const(HEAP32[($8 + 664 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 656 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $8, wasm2js_i32$1 = btStaticPlaneShape__getPlaneConstant_28_29_20const(HEAP32[($8 + 664 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 652 | 0) >> 2] = wasm2js_i32$1; + btTransform__btTransform_28btTransform_20const__29($8 + 588 | 0 | 0, btCollisionObjectWrapper__getWorldTransform_28_29_20const(HEAP32[($8 + 676 | 0) >> 2] | 0 | 0) | 0 | 0) | 0; + btTransform__btTransform_28_29($8 + 524 | 0 | 0) | 0; + btTransform__inverse_28_29_20const($8 + 396 | 0 | 0, btCollisionObjectWrapper__getWorldTransform_28_29_20const(HEAP32[($8 + 672 | 0) >> 2] | 0 | 0) | 0 | 0); + btTransform__operator__28btTransform_20const__29_20const($8 + 460 | 0 | 0, $8 + 396 | 0 | 0, $8 + 588 | 0 | 0); + btTransform__operator__28btTransform_20const__29($8 + 524 | 0 | 0, $8 + 460 | 0 | 0) | 0; + btMatrix3x3__btMatrix3x3_28btQuaternion_20const__29($8 + 348 | 0 | 0, HEAP32[($8 + 696 | 0) >> 2] | 0 | 0) | 0; + btMatrix3x3__operator___28btMatrix3x3_20const__29(btTransform__getBasis_28_29($8 + 588 | 0 | 0) | 0 | 0, $8 + 348 | 0 | 0) | 0; + btTransform__btTransform_28_29($8 + 284 | 0 | 0) | 0; + btTransform__inverse_28_29_20const($8 + 156 | 0 | 0, $8 + 588 | 0 | 0); + btTransform__operator__28btTransform_20const__29_20const($8 + 220 | 0 | 0, $8 + 156 | 0 | 0, btCollisionObjectWrapper__getWorldTransform_28_29_20const(HEAP32[($8 + 672 | 0) >> 2] | 0 | 0) | 0 | 0); + btTransform__operator__28btTransform_20const__29($8 + 284 | 0 | 0, $8 + 220 | 0 | 0) | 0; + $95 = HEAP32[($8 + 668 | 0) >> 2] | 0; + $99 = btTransform__getBasis_28_29($8 + 284 | 0 | 0) | 0; + operator__28btVector3_20const__29($8 + 108 | 0 | 0, HEAP32[($8 + 656 | 0) >> 2] | 0 | 0); + operator__28btMatrix3x3_20const__2c_20btVector3_20const__29($8 + 124 | 0 | 0, $99 | 0, $8 + 108 | 0 | 0); + FUNCTION_TABLE[HEAP32[((HEAP32[$95 >> 2] | 0) + 64 | 0) >> 2] | 0 | 0]($8 + 140 | 0, $95, $8 + 124 | 0); + btTransform__operator_28_29_28btVector3_20const__29_20const($8 + 92 | 0 | 0, $8 + 524 | 0 | 0, $8 + 140 | 0 | 0); + (wasm2js_i32$0 = $8, wasm2js_f32$0 = Math_fround(Math_fround(btVector3__dot_28btVector3_20const__29_20const(HEAP32[($8 + 656 | 0) >> 2] | 0 | 0, $8 + 92 | 0 | 0)) - Math_fround(HEAPF32[(HEAP32[($8 + 652 | 0) >> 2] | 0) >> 2]))), HEAPF32[(wasm2js_i32$0 + 88 | 0) >> 2] = wasm2js_f32$0; + operator__28float_20const__2c_20btVector3_20const__29($8 + 56 | 0 | 0, $8 + 88 | 0 | 0, HEAP32[($8 + 656 | 0) >> 2] | 0 | 0); + operator__28btVector3_20const__2c_20btVector3_20const__29($8 + 72 | 0 | 0, $8 + 92 | 0 | 0, $8 + 56 | 0 | 0); + btTransform__operator__28btVector3_20const__29_20const($8 + 40 | 0 | 0, btCollisionObjectWrapper__getWorldTransform_28_29_20const(HEAP32[($8 + 672 | 0) >> 2] | 0 | 0) | 0 | 0, $8 + 72 | 0 | 0); + (wasm2js_i32$0 = $8, wasm2js_i32$1 = Math_fround(HEAPF32[($8 + 88 | 0) >> 2]) < Math_fround(btPersistentManifold__getContactBreakingThreshold_28_29_20const(HEAP32[($9 + 12 | 0) >> 2] | 0 | 0)) & 1 | 0), HEAP8[(wasm2js_i32$0 + 663 | 0) >> 0] = wasm2js_i32$1; + btManifoldResult__setPersistentManifold_28btPersistentManifold__29(HEAP32[($8 + 680 | 0) >> 2] | 0 | 0, HEAP32[($9 + 12 | 0) >> 2] | 0 | 0); + label$5 : { + if (!((HEAPU8[($8 + 663 | 0) >> 0] | 0) & 1 | 0)) { + break label$5 + } + operator__28btMatrix3x3_20const__2c_20btVector3_20const__29($8 + 24 | 0 | 0, btTransform__getBasis_28_29_20const(btCollisionObjectWrapper__getWorldTransform_28_29_20const(HEAP32[($8 + 672 | 0) >> 2] | 0 | 0) | 0 | 0) | 0 | 0, HEAP32[($8 + 656 | 0) >> 2] | 0 | 0); + $177 = 8; + i64toi32_i32$2 = ($8 + 40 | 0) + $177 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $568 = i64toi32_i32$0; + i64toi32_i32$0 = ($8 + 8 | 0) + $177 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $568; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$2 = $8; + i64toi32_i32$1 = HEAP32[($8 + 40 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($8 + 44 | 0) >> 2] | 0; + $572 = i64toi32_i32$1; + i64toi32_i32$1 = $8; + HEAP32[($8 + 8 | 0) >> 2] = $572; + HEAP32[($8 + 12 | 0) >> 2] = i64toi32_i32$0; + $186 = HEAP32[($8 + 680 | 0) >> 2] | 0; + FUNCTION_TABLE[HEAP32[((HEAP32[$186 >> 2] | 0) + 16 | 0) >> 2] | 0 | 0]($186, $8 + 24 | 0, $8 + 8 | 0, Math_fround(HEAPF32[($8 + 88 | 0) >> 2])); + } + __stack_pointer = $8 + 704 | 0; + return; + } + + function btMatrix3x3__operator___28btMatrix3x3_20const__29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, $5 = 0, wasm2js_i32$0 = 0, wasm2js_f32$0 = Math_fround(0); + $4 = __stack_pointer - 48 | 0; + __stack_pointer = $4; + HEAP32[($4 + 44 | 0) >> 2] = $0; + HEAP32[($4 + 40 | 0) >> 2] = $1; + $5 = HEAP32[($4 + 44 | 0) >> 2] | 0; + (wasm2js_i32$0 = $4, wasm2js_f32$0 = Math_fround(btMatrix3x3__tdotx_28btVector3_20const__29_20const(HEAP32[($4 + 40 | 0) >> 2] | 0 | 0, $5 | 0))), HEAPF32[(wasm2js_i32$0 + 36 | 0) >> 2] = wasm2js_f32$0; + (wasm2js_i32$0 = $4, wasm2js_f32$0 = Math_fround(btMatrix3x3__tdoty_28btVector3_20const__29_20const(HEAP32[($4 + 40 | 0) >> 2] | 0 | 0, $5 | 0))), HEAPF32[(wasm2js_i32$0 + 32 | 0) >> 2] = wasm2js_f32$0; + (wasm2js_i32$0 = $4, wasm2js_f32$0 = Math_fround(btMatrix3x3__tdotz_28btVector3_20const__29_20const(HEAP32[($4 + 40 | 0) >> 2] | 0 | 0, $5 | 0))), HEAPF32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_f32$0; + (wasm2js_i32$0 = $4, wasm2js_f32$0 = Math_fround(btMatrix3x3__tdotx_28btVector3_20const__29_20const(HEAP32[($4 + 40 | 0) >> 2] | 0 | 0, $5 + 16 | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 24 | 0) >> 2] = wasm2js_f32$0; + (wasm2js_i32$0 = $4, wasm2js_f32$0 = Math_fround(btMatrix3x3__tdoty_28btVector3_20const__29_20const(HEAP32[($4 + 40 | 0) >> 2] | 0 | 0, $5 + 16 | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_f32$0; + (wasm2js_i32$0 = $4, wasm2js_f32$0 = Math_fround(btMatrix3x3__tdotz_28btVector3_20const__29_20const(HEAP32[($4 + 40 | 0) >> 2] | 0 | 0, $5 + 16 | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_f32$0; + (wasm2js_i32$0 = $4, wasm2js_f32$0 = Math_fround(btMatrix3x3__tdotx_28btVector3_20const__29_20const(HEAP32[($4 + 40 | 0) >> 2] | 0 | 0, $5 + 32 | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_f32$0; + (wasm2js_i32$0 = $4, wasm2js_f32$0 = Math_fround(btMatrix3x3__tdoty_28btVector3_20const__29_20const(HEAP32[($4 + 40 | 0) >> 2] | 0 | 0, $5 + 32 | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_f32$0; + (wasm2js_i32$0 = $4, wasm2js_f32$0 = Math_fround(btMatrix3x3__tdotz_28btVector3_20const__29_20const(HEAP32[($4 + 40 | 0) >> 2] | 0 | 0, $5 + 32 | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_f32$0; + btMatrix3x3__setValue_28float_20const__2c_20float_20const__2c_20float_20const__2c_20float_20const__2c_20float_20const__2c_20float_20const__2c_20float_20const__2c_20float_20const__2c_20float_20const__29($5 | 0, $4 + 36 | 0 | 0, $4 + 32 | 0 | 0, $4 + 28 | 0 | 0, $4 + 24 | 0 | 0, $4 + 20 | 0 | 0, $4 + 16 | 0 | 0, $4 + 12 | 0 | 0, $4 + 8 | 0 | 0, $4 + 4 | 0 | 0); + __stack_pointer = $4 + 48 | 0; + return $5 | 0; + } + + function btConvexPlaneCollisionAlgorithm__processCollision_28btCollisionObjectWrapper_20const__2c_20btCollisionObjectWrapper_20const__2c_20btDispatcherInfo_20const__2c_20btManifoldResult__29($0, $1, $2, $3, $4) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + $4 = $4 | 0; + var $7 = 0, $8 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, $20 = 0, $27 = 0, $83 = 0, $165 = 0, $174 = 0, $211 = 0, $87 = 0, $644 = 0, $648 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0, wasm2js_f32$0 = Math_fround(0); + $7 = __stack_pointer - 720 | 0; + __stack_pointer = $7; + HEAP32[($7 + 716 | 0) >> 2] = $0; + HEAP32[($7 + 712 | 0) >> 2] = $1; + HEAP32[($7 + 708 | 0) >> 2] = $2; + HEAP32[($7 + 704 | 0) >> 2] = $3; + HEAP32[($7 + 700 | 0) >> 2] = $4; + $8 = HEAP32[($7 + 716 | 0) >> 2] | 0; + label$1 : { + label$2 : { + if ((HEAP32[($8 + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$2 + } + break label$1; + } + label$3 : { + label$4 : { + if (!((HEAPU8[($8 + 16 | 0) >> 0] | 0) & 1 | 0)) { + break label$4 + } + $20 = HEAP32[($7 + 708 | 0) >> 2] | 0; + break label$3; + } + $20 = HEAP32[($7 + 712 | 0) >> 2] | 0; + } + HEAP32[($7 + 696 | 0) >> 2] = $20; + label$5 : { + label$6 : { + if (!((HEAPU8[($8 + 16 | 0) >> 0] | 0) & 1 | 0)) { + break label$6 + } + $27 = HEAP32[($7 + 712 | 0) >> 2] | 0; + break label$5; + } + $27 = HEAP32[($7 + 708 | 0) >> 2] | 0; + } + HEAP32[($7 + 692 | 0) >> 2] = $27; + (wasm2js_i32$0 = $7, wasm2js_i32$1 = btCollisionObjectWrapper__getCollisionShape_28_29_20const(HEAP32[($7 + 696 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 688 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $7, wasm2js_i32$1 = btCollisionObjectWrapper__getCollisionShape_28_29_20const(HEAP32[($7 + 692 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 684 | 0) >> 2] = wasm2js_i32$1; + HEAP8[($7 + 683 | 0) >> 0] = 0; + (wasm2js_i32$0 = $7, wasm2js_i32$1 = btStaticPlaneShape__getPlaneNormal_28_29_20const(HEAP32[($7 + 684 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 676 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $7, wasm2js_i32$1 = btStaticPlaneShape__getPlaneConstant_28_29_20const(HEAP32[($7 + 684 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 672 | 0) >> 2] = wasm2js_i32$1; + btTransform__btTransform_28_29($7 + 608 | 0 | 0) | 0; + btTransform__inverse_28_29_20const($7 + 480 | 0 | 0, btCollisionObjectWrapper__getWorldTransform_28_29_20const(HEAP32[($7 + 696 | 0) >> 2] | 0 | 0) | 0 | 0); + btTransform__operator__28btTransform_20const__29_20const($7 + 544 | 0 | 0, $7 + 480 | 0 | 0, btCollisionObjectWrapper__getWorldTransform_28_29_20const(HEAP32[($7 + 692 | 0) >> 2] | 0 | 0) | 0 | 0); + btTransform__operator__28btTransform_20const__29($7 + 608 | 0 | 0, $7 + 544 | 0 | 0) | 0; + btTransform__btTransform_28_29($7 + 416 | 0 | 0) | 0; + btTransform__inverse_28_29_20const($7 + 288 | 0 | 0, btCollisionObjectWrapper__getWorldTransform_28_29_20const(HEAP32[($7 + 692 | 0) >> 2] | 0 | 0) | 0 | 0); + btTransform__operator__28btTransform_20const__29_20const($7 + 352 | 0 | 0, $7 + 288 | 0 | 0, btCollisionObjectWrapper__getWorldTransform_28_29_20const(HEAP32[($7 + 696 | 0) >> 2] | 0 | 0) | 0 | 0); + btTransform__operator__28btTransform_20const__29($7 + 416 | 0 | 0, $7 + 352 | 0 | 0) | 0; + $83 = HEAP32[($7 + 688 | 0) >> 2] | 0; + $87 = btTransform__getBasis_28_29($7 + 608 | 0 | 0) | 0; + operator__28btVector3_20const__29($7 + 240 | 0 | 0, HEAP32[($7 + 676 | 0) >> 2] | 0 | 0); + operator__28btMatrix3x3_20const__2c_20btVector3_20const__29($7 + 256 | 0 | 0, $87 | 0, $7 + 240 | 0 | 0); + FUNCTION_TABLE[HEAP32[((HEAP32[$83 >> 2] | 0) + 64 | 0) >> 2] | 0 | 0]($7 + 272 | 0, $83, $7 + 256 | 0); + btTransform__operator_28_29_28btVector3_20const__29_20const($7 + 224 | 0 | 0, $7 + 416 | 0 | 0, $7 + 272 | 0 | 0); + (wasm2js_i32$0 = $7, wasm2js_f32$0 = Math_fround(Math_fround(btVector3__dot_28btVector3_20const__29_20const(HEAP32[($7 + 676 | 0) >> 2] | 0 | 0, $7 + 224 | 0 | 0)) - Math_fround(HEAPF32[(HEAP32[($7 + 672 | 0) >> 2] | 0) >> 2]))), HEAPF32[(wasm2js_i32$0 + 220 | 0) >> 2] = wasm2js_f32$0; + operator__28float_20const__2c_20btVector3_20const__29($7 + 188 | 0 | 0, $7 + 220 | 0 | 0, HEAP32[($7 + 676 | 0) >> 2] | 0 | 0); + operator__28btVector3_20const__2c_20btVector3_20const__29($7 + 204 | 0 | 0, $7 + 224 | 0 | 0, $7 + 188 | 0 | 0); + btTransform__operator__28btVector3_20const__29_20const($7 + 172 | 0 | 0, btCollisionObjectWrapper__getWorldTransform_28_29_20const(HEAP32[($7 + 692 | 0) >> 2] | 0 | 0) | 0 | 0, $7 + 204 | 0 | 0); + (wasm2js_i32$0 = $7, wasm2js_i32$1 = Math_fround(HEAPF32[($7 + 220 | 0) >> 2]) < Math_fround(btPersistentManifold__getContactBreakingThreshold_28_29_20const(HEAP32[($8 + 12 | 0) >> 2] | 0 | 0)) & 1 | 0), HEAP8[(wasm2js_i32$0 + 683 | 0) >> 0] = wasm2js_i32$1; + btManifoldResult__setPersistentManifold_28btPersistentManifold__29(HEAP32[($7 + 700 | 0) >> 2] | 0 | 0, HEAP32[($8 + 12 | 0) >> 2] | 0 | 0); + label$7 : { + if (!((HEAPU8[($7 + 683 | 0) >> 0] | 0) & 1 | 0)) { + break label$7 + } + operator__28btMatrix3x3_20const__2c_20btVector3_20const__29($7 + 156 | 0 | 0, btTransform__getBasis_28_29_20const(btCollisionObjectWrapper__getWorldTransform_28_29_20const(HEAP32[($7 + 692 | 0) >> 2] | 0 | 0) | 0 | 0) | 0 | 0, HEAP32[($7 + 676 | 0) >> 2] | 0 | 0); + $165 = 8; + i64toi32_i32$2 = ($7 + 172 | 0) + $165 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $644 = i64toi32_i32$0; + i64toi32_i32$0 = ($7 + 136 | 0) + $165 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $644; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$2 = $7; + i64toi32_i32$1 = HEAP32[($7 + 172 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($7 + 176 | 0) >> 2] | 0; + $648 = i64toi32_i32$1; + i64toi32_i32$1 = $7; + HEAP32[($7 + 136 | 0) >> 2] = $648; + HEAP32[($7 + 140 | 0) >> 2] = i64toi32_i32$0; + $174 = HEAP32[($7 + 700 | 0) >> 2] | 0; + FUNCTION_TABLE[HEAP32[((HEAP32[$174 >> 2] | 0) + 16 | 0) >> 2] | 0 | 0]($174, $7 + 156 | 0, $7 + 136 | 0, Math_fround(HEAPF32[($7 + 220 | 0) >> 2])); + } + label$8 : { + if (!((btCollisionShape__isPolyhedral_28_29_20const(HEAP32[($7 + 688 | 0) >> 2] | 0 | 0) | 0) & 1 | 0)) { + break label$8 + } + if (!((btPersistentManifold__getNumContacts_28_29_20const(btManifoldResult__getPersistentManifold_28_29(HEAP32[($7 + 700 | 0) >> 2] | 0 | 0) | 0 | 0) | 0 | 0) < (HEAP32[($8 + 24 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$8 + } + btVector3__btVector3_28_29($7 + 120 | 0 | 0) | 0; + btVector3__btVector3_28_29($7 + 104 | 0 | 0) | 0; + void_20btPlaneSpace1_btVector3__28btVector3_20const__2c_20btVector3__2c_20btVector3__29(HEAP32[($7 + 676 | 0) >> 2] | 0 | 0, $7 + 120 | 0 | 0, $7 + 104 | 0 | 0); + HEAPF32[($7 + 100 | 0) >> 2] = Math_fround(.39269909262657166); + $211 = HEAP32[($7 + 688 | 0) >> 2] | 0; + (wasm2js_i32$0 = $7, wasm2js_f32$0 = Math_fround(FUNCTION_TABLE[HEAP32[((HEAP32[$211 >> 2] | 0) + 16 | 0) >> 2] | 0 | 0]($211))), HEAPF32[(wasm2js_i32$0 + 92 | 0) >> 2] = wasm2js_f32$0; + HEAPF32[($7 + 96 | 0) >> 2] = Math_fround(Math_fround(HEAPF32[(0 + 112840 | 0) >> 2]) / Math_fround(HEAPF32[($7 + 92 | 0) >> 2])); + label$9 : { + if (!(Math_fround(HEAPF32[($7 + 96 | 0) >> 2]) > Math_fround(.39269909262657166) & 1 | 0)) { + break label$9 + } + HEAPF32[($7 + 96 | 0) >> 2] = Math_fround(.39269909262657166); + } + btQuaternion__btQuaternion_28btVector3_20const__2c_20float_20const__29($7 + 76 | 0 | 0, $7 + 120 | 0 | 0, $7 + 96 | 0 | 0) | 0; + HEAP32[($7 + 72 | 0) >> 2] = 0; + label$10 : { + label$11 : while (1) { + if (!((HEAP32[($7 + 72 | 0) >> 2] | 0 | 0) < (HEAP32[($8 + 20 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$10 + } + HEAPF32[($7 + 68 | 0) >> 2] = Math_fround(Math_fround(HEAP32[($7 + 72 | 0) >> 2] | 0 | 0) * Math_fround(Math_fround(6.2831854820251465) / Math_fround(HEAP32[($8 + 20 | 0) >> 2] | 0 | 0))); + btQuaternion__btQuaternion_28btVector3_20const__2c_20float_20const__29($7 + 52 | 0 | 0, HEAP32[($7 + 676 | 0) >> 2] | 0 | 0, $7 + 68 | 0 | 0) | 0; + btQuaternion__inverse_28_29_20const($7 + 4 | 0 | 0, $7 + 52 | 0 | 0); + operator__28btQuaternion_20const__2c_20btQuaternion_20const__29($7 + 20 | 0 | 0, $7 + 4 | 0 | 0, $7 + 76 | 0 | 0); + operator__28btQuaternion_20const__2c_20btQuaternion_20const__29($7 + 36 | 0 | 0, $7 + 20 | 0 | 0, $7 + 52 | 0 | 0); + btConvexPlaneCollisionAlgorithm__collideSingleContact_28btQuaternion_20const__2c_20btCollisionObjectWrapper_20const__2c_20btCollisionObjectWrapper_20const__2c_20btDispatcherInfo_20const__2c_20btManifoldResult__29($8 | 0, $7 + 36 | 0 | 0, HEAP32[($7 + 712 | 0) >> 2] | 0 | 0, HEAP32[($7 + 708 | 0) >> 2] | 0 | 0, HEAP32[($7 + 704 | 0) >> 2] | 0 | 0, HEAP32[($7 + 700 | 0) >> 2] | 0 | 0); + HEAP32[($7 + 72 | 0) >> 2] = (HEAP32[($7 + 72 | 0) >> 2] | 0) + 1 | 0; + continue label$11; + }; + } + } + if (!((HEAPU8[($8 + 8 | 0) >> 0] | 0) & 1 | 0)) { + break label$1 + } + label$12 : { + if (!(btPersistentManifold__getNumContacts_28_29_20const(HEAP32[($8 + 12 | 0) >> 2] | 0 | 0) | 0)) { + break label$12 + } + btManifoldResult__refreshContactPoints_28_29(HEAP32[($7 + 700 | 0) >> 2] | 0 | 0); + } + } + __stack_pointer = $7 + 720 | 0; + return; + } + + function btConvexPlaneCollisionAlgorithm__calculateTimeOfImpact_28btCollisionObject__2c_20btCollisionObject__2c_20btDispatcherInfo_20const__2c_20btManifoldResult__29($0, $1, $2, $3, $4) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + $4 = $4 | 0; + var $7 = 0; + $7 = __stack_pointer - 32 | 0; + HEAP32[($7 + 28 | 0) >> 2] = $0; + HEAP32[($7 + 24 | 0) >> 2] = $1; + HEAP32[($7 + 20 | 0) >> 2] = $2; + HEAP32[($7 + 16 | 0) >> 2] = $3; + HEAP32[($7 + 12 | 0) >> 2] = $4; + return Math_fround(Math_fround(1.0)); + } + + function btConvexPlaneCollisionAlgorithm__getAllContactManifolds_28btAlignedObjectArray_btPersistentManifold____29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, $5 = 0; + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; + label$1 : { + if (!((HEAP32[($5 + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + if (!((HEAPU8[($5 + 8 | 0) >> 0] | 0) & 1 | 0)) { + break label$1 + } + btAlignedObjectArray_btPersistentManifold____push_back_28btPersistentManifold__20const__29(HEAP32[($4 + 8 | 0) >> 2] | 0 | 0, $5 + 12 | 0 | 0); + } + __stack_pointer = $4 + 16 | 0; + return; + } + + function _GLOBAL__sub_I_btConvexPlaneCollisionAlgorithm_cpp() { + __cxx_global_var_init_20(); + return; + } + + function __cxx_global_var_init_21() { + btInfMaskConverter__btInfMaskConverter_28int_29(114032 | 0, 2139095040 | 0) | 0; + return; + } + + function btDefaultCollisionConfiguration__btDefaultCollisionConfiguration_28btDefaultCollisionConstructionInfo_20const__29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, $5 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $15 = 0, $19 = 0, $23 = 0, $28 = 0, $32 = 0, $36 = 0, $40 = 0, $44 = 0, $48 = 0, $52 = 0, $56 = 0, $60 = 0, $66 = 0, $67 = 0, $69 = 0, $70 = 0, $72 = 0, $126 = 0, $134$hi = 0, $135$hi = 0, $153 = 0, i64toi32_i32$2 = 0, $157 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4 = __stack_pointer - 48 | 0; + __stack_pointer = $4; + HEAP32[($4 + 40 | 0) >> 2] = $0; + HEAP32[($4 + 36 | 0) >> 2] = $1; + $5 = HEAP32[($4 + 40 | 0) >> 2] | 0; + HEAP32[($4 + 44 | 0) >> 2] = $5; + btCollisionConfiguration__btCollisionConfiguration_28_29($5 | 0) | 0; + HEAP32[$5 >> 2] = 95360 + 8 | 0; + HEAP32[($4 + 32 | 0) >> 2] = 0; + label$1 : { + label$2 : { + if (!(HEAP32[((HEAP32[($4 + 36 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0)) { + break label$2 + } + (wasm2js_i32$0 = $4, wasm2js_i32$1 = btAlignedAllocInternal_28unsigned_20long_2c_20int_29(4 | 0, 16 | 0) | 0), HEAP32[(wasm2js_i32$0 + 32 | 0) >> 2] = wasm2js_i32$1; + $15 = HEAP32[($4 + 32 | 0) >> 2] | 0; + btGjkEpaPenetrationDepthSolver__btGjkEpaPenetrationDepthSolver_28_29($15 | 0) | 0; + HEAP32[($5 + 24 | 0) >> 2] = $15; + break label$1; + } + (wasm2js_i32$0 = $4, wasm2js_i32$1 = btAlignedAllocInternal_28unsigned_20long_2c_20int_29(4 | 0, 16 | 0) | 0), HEAP32[(wasm2js_i32$0 + 32 | 0) >> 2] = wasm2js_i32$1; + $19 = HEAP32[($4 + 32 | 0) >> 2] | 0; + btMinkowskiPenetrationDepthSolver__btMinkowskiPenetrationDepthSolver_28_29($19 | 0) | 0; + HEAP32[($5 + 24 | 0) >> 2] = $19; + } + (wasm2js_i32$0 = $4, wasm2js_i32$1 = btAlignedAllocInternal_28unsigned_20long_2c_20int_29(20 | 0, 16 | 0) | 0), HEAP32[(wasm2js_i32$0 + 32 | 0) >> 2] = wasm2js_i32$1; + $23 = HEAP32[($4 + 32 | 0) >> 2] | 0; + btConvexConvexAlgorithm__CreateFunc__CreateFunc_28btConvexPenetrationDepthSolver__29($23 | 0, HEAP32[($5 + 24 | 0) >> 2] | 0 | 0) | 0; + HEAP32[($5 + 28 | 0) >> 2] = $23; + (wasm2js_i32$0 = $4, wasm2js_i32$1 = btAlignedAllocInternal_28unsigned_20long_2c_20int_29(8 | 0, 16 | 0) | 0), HEAP32[(wasm2js_i32$0 + 32 | 0) >> 2] = wasm2js_i32$1; + $28 = HEAP32[($4 + 32 | 0) >> 2] | 0; + btConvexConcaveCollisionAlgorithm__CreateFunc__CreateFunc_28_29($28 | 0) | 0; + HEAP32[($5 + 32 | 0) >> 2] = $28; + (wasm2js_i32$0 = $4, wasm2js_i32$1 = btAlignedAllocInternal_28unsigned_20long_2c_20int_29(8 | 0, 16 | 0) | 0), HEAP32[(wasm2js_i32$0 + 32 | 0) >> 2] = wasm2js_i32$1; + $32 = HEAP32[($4 + 32 | 0) >> 2] | 0; + btConvexConcaveCollisionAlgorithm__SwappedCreateFunc__SwappedCreateFunc_28_29($32 | 0) | 0; + HEAP32[($5 + 36 | 0) >> 2] = $32; + (wasm2js_i32$0 = $4, wasm2js_i32$1 = btAlignedAllocInternal_28unsigned_20long_2c_20int_29(8 | 0, 16 | 0) | 0), HEAP32[(wasm2js_i32$0 + 32 | 0) >> 2] = wasm2js_i32$1; + $36 = HEAP32[($4 + 32 | 0) >> 2] | 0; + btCompoundCollisionAlgorithm__CreateFunc__CreateFunc_28_29($36 | 0) | 0; + HEAP32[($5 + 40 | 0) >> 2] = $36; + (wasm2js_i32$0 = $4, wasm2js_i32$1 = btAlignedAllocInternal_28unsigned_20long_2c_20int_29(8 | 0, 16 | 0) | 0), HEAP32[(wasm2js_i32$0 + 32 | 0) >> 2] = wasm2js_i32$1; + $40 = HEAP32[($4 + 32 | 0) >> 2] | 0; + btCompoundCompoundCollisionAlgorithm__CreateFunc__CreateFunc_28_29($40 | 0) | 0; + HEAP32[($5 + 44 | 0) >> 2] = $40; + (wasm2js_i32$0 = $4, wasm2js_i32$1 = btAlignedAllocInternal_28unsigned_20long_2c_20int_29(8 | 0, 16 | 0) | 0), HEAP32[(wasm2js_i32$0 + 32 | 0) >> 2] = wasm2js_i32$1; + $44 = HEAP32[($4 + 32 | 0) >> 2] | 0; + btCompoundCollisionAlgorithm__SwappedCreateFunc__SwappedCreateFunc_28_29($44 | 0) | 0; + HEAP32[($5 + 48 | 0) >> 2] = $44; + (wasm2js_i32$0 = $4, wasm2js_i32$1 = btAlignedAllocInternal_28unsigned_20long_2c_20int_29(8 | 0, 16 | 0) | 0), HEAP32[(wasm2js_i32$0 + 32 | 0) >> 2] = wasm2js_i32$1; + $48 = HEAP32[($4 + 32 | 0) >> 2] | 0; + btEmptyAlgorithm__CreateFunc__CreateFunc_28_29($48 | 0) | 0; + HEAP32[($5 + 52 | 0) >> 2] = $48; + (wasm2js_i32$0 = $4, wasm2js_i32$1 = btAlignedAllocInternal_28unsigned_20long_2c_20int_29(8 | 0, 16 | 0) | 0), HEAP32[(wasm2js_i32$0 + 32 | 0) >> 2] = wasm2js_i32$1; + $52 = HEAP32[($4 + 32 | 0) >> 2] | 0; + btSphereSphereCollisionAlgorithm__CreateFunc__CreateFunc_28_29($52 | 0) | 0; + HEAP32[($5 + 56 | 0) >> 2] = $52; + (wasm2js_i32$0 = $4, wasm2js_i32$1 = btAlignedAllocInternal_28unsigned_20long_2c_20int_29(8 | 0, 16 | 0) | 0), HEAP32[(wasm2js_i32$0 + 32 | 0) >> 2] = wasm2js_i32$1; + $56 = HEAP32[($4 + 32 | 0) >> 2] | 0; + btSphereTriangleCollisionAlgorithm__CreateFunc__CreateFunc_28_29($56 | 0) | 0; + HEAP32[($5 + 72 | 0) >> 2] = $56; + (wasm2js_i32$0 = $4, wasm2js_i32$1 = btAlignedAllocInternal_28unsigned_20long_2c_20int_29(8 | 0, 16 | 0) | 0), HEAP32[(wasm2js_i32$0 + 32 | 0) >> 2] = wasm2js_i32$1; + $60 = HEAP32[($4 + 32 | 0) >> 2] | 0; + btSphereTriangleCollisionAlgorithm__CreateFunc__CreateFunc_28_29($60 | 0) | 0; + HEAP32[($5 + 76 | 0) >> 2] = $60; + HEAP8[((HEAP32[($5 + 76 | 0) >> 2] | 0) + 4 | 0) >> 0] = 1; + (wasm2js_i32$0 = $4, wasm2js_i32$1 = btAlignedAllocInternal_28unsigned_20long_2c_20int_29(8 | 0, 16 | 0) | 0), HEAP32[(wasm2js_i32$0 + 32 | 0) >> 2] = wasm2js_i32$1; + $66 = HEAP32[($4 + 32 | 0) >> 2] | 0; + btBoxBoxCollisionAlgorithm__CreateFunc__CreateFunc_28_29($66 | 0) | 0; + HEAP32[($5 + 68 | 0) >> 2] = $66; + $67 = 16; + (wasm2js_i32$0 = $4, wasm2js_i32$1 = btAlignedAllocInternal_28unsigned_20long_2c_20int_29($67 | 0, $67 | 0) | 0), HEAP32[(wasm2js_i32$0 + 32 | 0) >> 2] = wasm2js_i32$1; + $69 = HEAP32[($4 + 32 | 0) >> 2] | 0; + btConvexPlaneCollisionAlgorithm__CreateFunc__CreateFunc_28_29($69 | 0) | 0; + HEAP32[($5 + 84 | 0) >> 2] = $69; + $70 = 16; + (wasm2js_i32$0 = $4, wasm2js_i32$1 = btAlignedAllocInternal_28unsigned_20long_2c_20int_29($70 | 0, $70 | 0) | 0), HEAP32[(wasm2js_i32$0 + 32 | 0) >> 2] = wasm2js_i32$1; + $72 = HEAP32[($4 + 32 | 0) >> 2] | 0; + btConvexPlaneCollisionAlgorithm__CreateFunc__CreateFunc_28_29($72 | 0) | 0; + HEAP32[($5 + 80 | 0) >> 2] = $72; + HEAP8[((HEAP32[($5 + 80 | 0) >> 2] | 0) + 4 | 0) >> 0] = 1; + HEAP32[($4 + 28 | 0) >> 2] = 72; + HEAP32[($4 + 24 | 0) >> 2] = 80; + HEAP32[($4 + 20 | 0) >> 2] = 84; + HEAP32[($4 + 16 | 0) >> 2] = 116; + (wasm2js_i32$0 = $4, wasm2js_i32$1 = HEAP32[(int_20const__20btMax_int__28int_20const__2c_20int_20const__29($4 + 28 | 0 | 0, (HEAP32[($4 + 36 | 0) >> 2] | 0) + 16 | 0 | 0) | 0) >> 2] | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $4, wasm2js_i32$1 = HEAP32[(int_20const__20btMax_int__28int_20const__2c_20int_20const__29($4 + 12 | 0 | 0, $4 + 24 | 0 | 0) | 0) >> 2] | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $4, wasm2js_i32$1 = HEAP32[(int_20const__20btMax_int__28int_20const__2c_20int_20const__29($4 + 12 | 0 | 0, $4 + 20 | 0 | 0) | 0) >> 2] | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $4, wasm2js_i32$1 = HEAP32[(int_20const__20btMax_int__28int_20const__2c_20int_20const__29($4 + 12 | 0 | 0, $4 + 16 | 0 | 0) | 0) >> 2] | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + label$3 : { + label$4 : { + if (!((HEAP32[(HEAP32[($4 + 36 | 0) >> 2] | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$4 + } + HEAP8[($5 + 12 | 0) >> 0] = 0; + HEAP32[($5 + 8 | 0) >> 2] = HEAP32[(HEAP32[($4 + 36 | 0) >> 2] | 0) >> 2] | 0; + break label$3; + } + HEAP8[($5 + 12 | 0) >> 0] = 1; + (wasm2js_i32$0 = $4, wasm2js_i32$1 = btAlignedAllocInternal_28unsigned_20long_2c_20int_29(24 | 0, 16 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + $126 = HEAP32[($4 + 8 | 0) >> 2] | 0; + btPoolAllocator__btPoolAllocator_28int_2c_20int_29($126 | 0, 868 | 0, HEAP32[((HEAP32[($4 + 36 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) | 0; + HEAP32[($5 + 8 | 0) >> 2] = $126; + } + i64toi32_i32$1 = (HEAP32[($4 + 12 | 0) >> 2] | 0) + 16 | 0; + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + $134$hi = i64toi32_i32$0; + i64toi32_i32$0 = 1048575; + $135$hi = i64toi32_i32$0; + i64toi32_i32$0 = $134$hi; + i64toi32_i32$0 = $135$hi; + i64toi32_i32$0 = $134$hi; + i64toi32_i32$2 = i64toi32_i32$1; + i64toi32_i32$1 = $135$hi; + i64toi32_i32$1 = i64toi32_i32$0 & i64toi32_i32$1 | 0; + HEAP32[($4 + 12 | 0) >> 2] = i64toi32_i32$2 & -16 | 0; + label$5 : { + label$6 : { + if (!((HEAP32[((HEAP32[($4 + 36 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$6 + } + HEAP8[($5 + 20 | 0) >> 0] = 0; + HEAP32[($5 + 16 | 0) >> 2] = HEAP32[((HEAP32[($4 + 36 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + break label$5; + } + HEAP8[($5 + 20 | 0) >> 0] = 1; + (wasm2js_i32$0 = $4, wasm2js_i32$1 = btAlignedAllocInternal_28unsigned_20long_2c_20int_29(24 | 0, 16 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + $153 = HEAP32[($4 + 4 | 0) >> 2] | 0; + btPoolAllocator__btPoolAllocator_28int_2c_20int_29($153 | 0, HEAP32[($4 + 12 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($4 + 36 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) | 0; + HEAP32[($5 + 16 | 0) >> 2] = $153; + } + $157 = HEAP32[($4 + 44 | 0) >> 2] | 0; + __stack_pointer = $4 + 48 | 0; + return $157 | 0; + } + + function btCollisionConfiguration__btCollisionConfiguration_28_29($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + HEAP32[$4 >> 2] = 95476 + 8 | 0; + return $4 | 0; + } + + function btMinkowskiPenetrationDepthSolver__btMinkowskiPenetrationDepthSolver_28_29($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + btConvexPenetrationDepthSolver__btConvexPenetrationDepthSolver_28_29($4 | 0) | 0; + HEAP32[$4 >> 2] = 101520 + 8 | 0; + __stack_pointer = $3 + 16 | 0; + return $4 | 0; + } + + function btConvexConcaveCollisionAlgorithm__CreateFunc__CreateFunc_28_29($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + btCollisionAlgorithmCreateFunc__btCollisionAlgorithmCreateFunc_28_29($4 | 0) | 0; + HEAP32[$4 >> 2] = 95508 + 8 | 0; + __stack_pointer = $3 + 16 | 0; + return $4 | 0; + } + + function btConvexConcaveCollisionAlgorithm__SwappedCreateFunc__SwappedCreateFunc_28_29($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + btCollisionAlgorithmCreateFunc__btCollisionAlgorithmCreateFunc_28_29($4 | 0) | 0; + HEAP32[$4 >> 2] = 95652 + 8 | 0; + __stack_pointer = $3 + 16 | 0; + return $4 | 0; + } + + function btCompoundCollisionAlgorithm__CreateFunc__CreateFunc_28_29($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + btCollisionAlgorithmCreateFunc__btCollisionAlgorithmCreateFunc_28_29($4 | 0) | 0; + HEAP32[$4 >> 2] = 95744 + 8 | 0; + __stack_pointer = $3 + 16 | 0; + return $4 | 0; + } + + function btCompoundCompoundCollisionAlgorithm__CreateFunc__CreateFunc_28_29($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + btCollisionAlgorithmCreateFunc__btCollisionAlgorithmCreateFunc_28_29($4 | 0) | 0; + HEAP32[$4 >> 2] = 95824 + 8 | 0; + __stack_pointer = $3 + 16 | 0; + return $4 | 0; + } + + function btCompoundCollisionAlgorithm__SwappedCreateFunc__SwappedCreateFunc_28_29($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + btCollisionAlgorithmCreateFunc__btCollisionAlgorithmCreateFunc_28_29($4 | 0) | 0; + HEAP32[$4 >> 2] = 95912 + 8 | 0; + __stack_pointer = $3 + 16 | 0; + return $4 | 0; + } + + function btEmptyAlgorithm__CreateFunc__CreateFunc_28_29($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + btCollisionAlgorithmCreateFunc__btCollisionAlgorithmCreateFunc_28_29($4 | 0) | 0; + HEAP32[$4 >> 2] = 95996 + 8 | 0; + __stack_pointer = $3 + 16 | 0; + return $4 | 0; + } + + function btSphereSphereCollisionAlgorithm__CreateFunc__CreateFunc_28_29($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + btCollisionAlgorithmCreateFunc__btCollisionAlgorithmCreateFunc_28_29($4 | 0) | 0; + HEAP32[$4 >> 2] = 96064 + 8 | 0; + __stack_pointer = $3 + 16 | 0; + return $4 | 0; + } + + function btSphereTriangleCollisionAlgorithm__CreateFunc__CreateFunc_28_29($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + btCollisionAlgorithmCreateFunc__btCollisionAlgorithmCreateFunc_28_29($4 | 0) | 0; + HEAP32[$4 >> 2] = 96148 + 8 | 0; + __stack_pointer = $3 + 16 | 0; + return $4 | 0; + } + + function btBoxBoxCollisionAlgorithm__CreateFunc__CreateFunc_28_29($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + btCollisionAlgorithmCreateFunc__btCollisionAlgorithmCreateFunc_28_29($4 | 0) | 0; + HEAP32[$4 >> 2] = 96232 + 8 | 0; + __stack_pointer = $3 + 16 | 0; + return $4 | 0; + } + + function btConvexPlaneCollisionAlgorithm__CreateFunc__CreateFunc_28_29($0) { + $0 = $0 | 0; + var $4 = 0, $3 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + btCollisionAlgorithmCreateFunc__btCollisionAlgorithmCreateFunc_28_29($4 | 0) | 0; + HEAP32[$4 >> 2] = 96308 + 8 | 0; + HEAP32[($4 + 8 | 0) >> 2] = 1; + HEAP32[($4 + 12 | 0) >> 2] = 0; + __stack_pointer = $3 + 16 | 0; + return $4 | 0; + } + + function btPoolAllocator__btPoolAllocator_28int_2c_20int_29($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $5 = 0, $6 = 0, $22 = 0, $32 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5 = __stack_pointer - 32 | 0; + __stack_pointer = $5; + HEAP32[($5 + 24 | 0) >> 2] = $0; + HEAP32[($5 + 20 | 0) >> 2] = $1; + HEAP32[($5 + 16 | 0) >> 2] = $2; + $6 = HEAP32[($5 + 24 | 0) >> 2] | 0; + HEAP32[($5 + 28 | 0) >> 2] = $6; + HEAP32[$6 >> 2] = HEAP32[($5 + 20 | 0) >> 2] | 0; + HEAP32[($6 + 4 | 0) >> 2] = HEAP32[($5 + 16 | 0) >> 2] | 0; + btSpinMutex__btSpinMutex_28_29($6 + 20 | 0 | 0) | 0; + (wasm2js_i32$0 = $6, wasm2js_i32$1 = btAlignedAllocInternal_28unsigned_20long_2c_20int_29(Math_imul(HEAP32[$6 >> 2] | 0, HEAP32[($6 + 4 | 0) >> 2] | 0) | 0, 16 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($5 + 12 | 0) >> 2] = HEAP32[($6 + 16 | 0) >> 2] | 0; + HEAP32[($6 + 12 | 0) >> 2] = HEAP32[($5 + 12 | 0) >> 2] | 0; + HEAP32[($6 + 8 | 0) >> 2] = HEAP32[($6 + 4 | 0) >> 2] | 0; + HEAP32[($5 + 8 | 0) >> 2] = HEAP32[($6 + 4 | 0) >> 2] | 0; + label$1 : { + label$2 : while (1) { + $22 = (HEAP32[($5 + 8 | 0) >> 2] | 0) + -1 | 0; + HEAP32[($5 + 8 | 0) >> 2] = $22; + if (!$22) { + break label$1 + } + HEAP32[(HEAP32[($5 + 12 | 0) >> 2] | 0) >> 2] = (HEAP32[($5 + 12 | 0) >> 2] | 0) + (HEAP32[$6 >> 2] | 0) | 0; + HEAP32[($5 + 12 | 0) >> 2] = (HEAP32[($5 + 12 | 0) >> 2] | 0) + (HEAP32[$6 >> 2] | 0) | 0; + continue label$2; + }; + } + HEAP32[(HEAP32[($5 + 12 | 0) >> 2] | 0) >> 2] = 0; + $32 = HEAP32[($5 + 28 | 0) >> 2] | 0; + __stack_pointer = $5 + 32 | 0; + return $32 | 0; + } + + function btCollisionAlgorithmCreateFunc__btCollisionAlgorithmCreateFunc_28_29($0) { + $0 = $0 | 0; + var $4 = 0, $3 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + HEAP32[$4 >> 2] = 95632 + 8 | 0; + HEAP8[($4 + 4 | 0) >> 0] = 0; + return $4 | 0; + } + + function btSpinMutex__btSpinMutex_28_29($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + HEAP32[$4 >> 2] = 0; + return $4 | 0; + } + + function btDefaultCollisionConfiguration___btDefaultCollisionConfiguration_28_29($0) { + $0 = $0 | 0; + var $4 = 0, $3 = 0, $18 = 0, $22 = 0, $26 = 0, $30 = 0, $34 = 0, $38 = 0, $42 = 0, $46 = 0, $50 = 0, $54 = 0, $58 = 0, $62 = 0, $66 = 0, $70 = 0, $74 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 8 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 8 | 0) >> 2] | 0; + HEAP32[($3 + 12 | 0) >> 2] = $4; + HEAP32[$4 >> 2] = 95360 + 8 | 0; + label$1 : { + if (!((HEAPU8[($4 + 20 | 0) >> 0] | 0) & 1 | 0)) { + break label$1 + } + btPoolAllocator___btPoolAllocator_28_29(HEAP32[($4 + 16 | 0) >> 2] | 0 | 0) | 0; + btAlignedFreeInternal_28void__29(HEAP32[($4 + 16 | 0) >> 2] | 0 | 0); + } + label$2 : { + if (!((HEAPU8[($4 + 12 | 0) >> 0] | 0) & 1 | 0)) { + break label$2 + } + btPoolAllocator___btPoolAllocator_28_29(HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) | 0; + btAlignedFreeInternal_28void__29(HEAP32[($4 + 8 | 0) >> 2] | 0 | 0); + } + $18 = HEAP32[($4 + 28 | 0) >> 2] | 0; + FUNCTION_TABLE[HEAP32[(HEAP32[$18 >> 2] | 0) >> 2] | 0 | 0]($18) | 0; + btAlignedFreeInternal_28void__29(HEAP32[($4 + 28 | 0) >> 2] | 0 | 0); + $22 = HEAP32[($4 + 32 | 0) >> 2] | 0; + FUNCTION_TABLE[HEAP32[(HEAP32[$22 >> 2] | 0) >> 2] | 0 | 0]($22) | 0; + btAlignedFreeInternal_28void__29(HEAP32[($4 + 32 | 0) >> 2] | 0 | 0); + $26 = HEAP32[($4 + 36 | 0) >> 2] | 0; + FUNCTION_TABLE[HEAP32[(HEAP32[$26 >> 2] | 0) >> 2] | 0 | 0]($26) | 0; + btAlignedFreeInternal_28void__29(HEAP32[($4 + 36 | 0) >> 2] | 0 | 0); + $30 = HEAP32[($4 + 40 | 0) >> 2] | 0; + FUNCTION_TABLE[HEAP32[(HEAP32[$30 >> 2] | 0) >> 2] | 0 | 0]($30) | 0; + btAlignedFreeInternal_28void__29(HEAP32[($4 + 40 | 0) >> 2] | 0 | 0); + $34 = HEAP32[($4 + 44 | 0) >> 2] | 0; + FUNCTION_TABLE[HEAP32[(HEAP32[$34 >> 2] | 0) >> 2] | 0 | 0]($34) | 0; + btAlignedFreeInternal_28void__29(HEAP32[($4 + 44 | 0) >> 2] | 0 | 0); + $38 = HEAP32[($4 + 48 | 0) >> 2] | 0; + FUNCTION_TABLE[HEAP32[(HEAP32[$38 >> 2] | 0) >> 2] | 0 | 0]($38) | 0; + btAlignedFreeInternal_28void__29(HEAP32[($4 + 48 | 0) >> 2] | 0 | 0); + $42 = HEAP32[($4 + 52 | 0) >> 2] | 0; + FUNCTION_TABLE[HEAP32[(HEAP32[$42 >> 2] | 0) >> 2] | 0 | 0]($42) | 0; + btAlignedFreeInternal_28void__29(HEAP32[($4 + 52 | 0) >> 2] | 0 | 0); + $46 = HEAP32[($4 + 56 | 0) >> 2] | 0; + FUNCTION_TABLE[HEAP32[(HEAP32[$46 >> 2] | 0) >> 2] | 0 | 0]($46) | 0; + btAlignedFreeInternal_28void__29(HEAP32[($4 + 56 | 0) >> 2] | 0 | 0); + $50 = HEAP32[($4 + 72 | 0) >> 2] | 0; + FUNCTION_TABLE[HEAP32[(HEAP32[$50 >> 2] | 0) >> 2] | 0 | 0]($50) | 0; + btAlignedFreeInternal_28void__29(HEAP32[($4 + 72 | 0) >> 2] | 0 | 0); + $54 = HEAP32[($4 + 76 | 0) >> 2] | 0; + FUNCTION_TABLE[HEAP32[(HEAP32[$54 >> 2] | 0) >> 2] | 0 | 0]($54) | 0; + btAlignedFreeInternal_28void__29(HEAP32[($4 + 76 | 0) >> 2] | 0 | 0); + $58 = HEAP32[($4 + 68 | 0) >> 2] | 0; + FUNCTION_TABLE[HEAP32[(HEAP32[$58 >> 2] | 0) >> 2] | 0 | 0]($58) | 0; + btAlignedFreeInternal_28void__29(HEAP32[($4 + 68 | 0) >> 2] | 0 | 0); + $62 = HEAP32[($4 + 84 | 0) >> 2] | 0; + FUNCTION_TABLE[HEAP32[(HEAP32[$62 >> 2] | 0) >> 2] | 0 | 0]($62) | 0; + btAlignedFreeInternal_28void__29(HEAP32[($4 + 84 | 0) >> 2] | 0 | 0); + $66 = HEAP32[($4 + 80 | 0) >> 2] | 0; + FUNCTION_TABLE[HEAP32[(HEAP32[$66 >> 2] | 0) >> 2] | 0 | 0]($66) | 0; + btAlignedFreeInternal_28void__29(HEAP32[($4 + 80 | 0) >> 2] | 0 | 0); + $70 = HEAP32[($4 + 24 | 0) >> 2] | 0; + FUNCTION_TABLE[HEAP32[(HEAP32[$70 >> 2] | 0) >> 2] | 0 | 0]($70) | 0; + btAlignedFreeInternal_28void__29(HEAP32[($4 + 24 | 0) >> 2] | 0 | 0); + btCollisionConfiguration___btCollisionConfiguration_28_29($4 | 0) | 0; + $74 = HEAP32[($3 + 12 | 0) >> 2] | 0; + __stack_pointer = $3 + 16 | 0; + return $74 | 0; + } + + function btPoolAllocator___btPoolAllocator_28_29($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + btAlignedFreeInternal_28void__29(HEAP32[($4 + 16 | 0) >> 2] | 0 | 0); + __stack_pointer = $3 + 16 | 0; + return $4 | 0; + } + + function btCollisionConfiguration___btCollisionConfiguration_28_29($0) { + $0 = $0 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + return HEAP32[($3 + 12 | 0) >> 2] | 0 | 0; + } + + function btDefaultCollisionConfiguration___btDefaultCollisionConfiguration_28_29_1($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + FUNCTION_TABLE[699 | 0]($4) | 0; + operator_20delete_28void__29($4 | 0); + __stack_pointer = $3 + 16 | 0; + return; + } + + function btDefaultCollisionConfiguration__getClosestPointsAlgorithmCreateFunc_28int_2c_20int_29($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $5 = 0, $6 = 0, $123 = 0; + $5 = __stack_pointer - 16 | 0; + __stack_pointer = $5; + HEAP32[($5 + 8 | 0) >> 2] = $0; + HEAP32[($5 + 4 | 0) >> 2] = $1; + HEAP32[$5 >> 2] = $2; + $6 = HEAP32[($5 + 8 | 0) >> 2] | 0; + label$1 : { + label$2 : { + if (!((HEAP32[($5 + 4 | 0) >> 2] | 0 | 0) == (8 | 0) & 1 | 0)) { + break label$2 + } + if (!((HEAP32[$5 >> 2] | 0 | 0) == (8 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($5 + 12 | 0) >> 2] = HEAP32[($6 + 56 | 0) >> 2] | 0; + break label$1; + } + label$3 : { + if (!((HEAP32[($5 + 4 | 0) >> 2] | 0 | 0) == (8 | 0) & 1 | 0)) { + break label$3 + } + if (!((HEAP32[$5 >> 2] | 0 | 0) == (1 | 0) & 1 | 0)) { + break label$3 + } + HEAP32[($5 + 12 | 0) >> 2] = HEAP32[($6 + 72 | 0) >> 2] | 0; + break label$1; + } + label$4 : { + if (!((HEAP32[($5 + 4 | 0) >> 2] | 0 | 0) == (1 | 0) & 1 | 0)) { + break label$4 + } + if (!((HEAP32[$5 >> 2] | 0 | 0) == (8 | 0) & 1 | 0)) { + break label$4 + } + HEAP32[($5 + 12 | 0) >> 2] = HEAP32[($6 + 76 | 0) >> 2] | 0; + break label$1; + } + label$5 : { + if (!((btBroadphaseProxy__isConvex_28int_29(HEAP32[($5 + 4 | 0) >> 2] | 0 | 0) | 0) & 1 | 0)) { + break label$5 + } + if (!((HEAP32[$5 >> 2] | 0 | 0) == (28 | 0) & 1 | 0)) { + break label$5 + } + HEAP32[($5 + 12 | 0) >> 2] = HEAP32[($6 + 84 | 0) >> 2] | 0; + break label$1; + } + label$6 : { + if (!((btBroadphaseProxy__isConvex_28int_29(HEAP32[$5 >> 2] | 0 | 0) | 0) & 1 | 0)) { + break label$6 + } + if (!((HEAP32[($5 + 4 | 0) >> 2] | 0 | 0) == (28 | 0) & 1 | 0)) { + break label$6 + } + HEAP32[($5 + 12 | 0) >> 2] = HEAP32[($6 + 80 | 0) >> 2] | 0; + break label$1; + } + label$7 : { + if (!((btBroadphaseProxy__isConvex_28int_29(HEAP32[($5 + 4 | 0) >> 2] | 0 | 0) | 0) & 1 | 0)) { + break label$7 + } + if (!((btBroadphaseProxy__isConvex_28int_29(HEAP32[$5 >> 2] | 0 | 0) | 0) & 1 | 0)) { + break label$7 + } + HEAP32[($5 + 12 | 0) >> 2] = HEAP32[($6 + 28 | 0) >> 2] | 0; + break label$1; + } + label$8 : { + if (!((btBroadphaseProxy__isConvex_28int_29(HEAP32[($5 + 4 | 0) >> 2] | 0 | 0) | 0) & 1 | 0)) { + break label$8 + } + if (!((btBroadphaseProxy__isConcave_28int_29(HEAP32[$5 >> 2] | 0 | 0) | 0) & 1 | 0)) { + break label$8 + } + HEAP32[($5 + 12 | 0) >> 2] = HEAP32[($6 + 32 | 0) >> 2] | 0; + break label$1; + } + label$9 : { + if (!((btBroadphaseProxy__isConvex_28int_29(HEAP32[$5 >> 2] | 0 | 0) | 0) & 1 | 0)) { + break label$9 + } + if (!((btBroadphaseProxy__isConcave_28int_29(HEAP32[($5 + 4 | 0) >> 2] | 0 | 0) | 0) & 1 | 0)) { + break label$9 + } + HEAP32[($5 + 12 | 0) >> 2] = HEAP32[($6 + 36 | 0) >> 2] | 0; + break label$1; + } + label$10 : { + if (!((btBroadphaseProxy__isCompound_28int_29(HEAP32[($5 + 4 | 0) >> 2] | 0 | 0) | 0) & 1 | 0)) { + break label$10 + } + if (!((btBroadphaseProxy__isCompound_28int_29(HEAP32[$5 >> 2] | 0 | 0) | 0) & 1 | 0)) { + break label$10 + } + HEAP32[($5 + 12 | 0) >> 2] = HEAP32[($6 + 44 | 0) >> 2] | 0; + break label$1; + } + label$11 : { + if (!((btBroadphaseProxy__isCompound_28int_29(HEAP32[($5 + 4 | 0) >> 2] | 0 | 0) | 0) & 1 | 0)) { + break label$11 + } + HEAP32[($5 + 12 | 0) >> 2] = HEAP32[($6 + 40 | 0) >> 2] | 0; + break label$1; + } + label$12 : { + if (!((btBroadphaseProxy__isCompound_28int_29(HEAP32[$5 >> 2] | 0 | 0) | 0) & 1 | 0)) { + break label$12 + } + HEAP32[($5 + 12 | 0) >> 2] = HEAP32[($6 + 48 | 0) >> 2] | 0; + break label$1; + } + HEAP32[($5 + 12 | 0) >> 2] = HEAP32[($6 + 52 | 0) >> 2] | 0; + } + $123 = HEAP32[($5 + 12 | 0) >> 2] | 0; + __stack_pointer = $5 + 16 | 0; + return $123 | 0; + } + + function btDefaultCollisionConfiguration__getCollisionAlgorithmCreateFunc_28int_2c_20int_29($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $5 = 0, $6 = 0, $126 = 0; + $5 = __stack_pointer - 16 | 0; + __stack_pointer = $5; + HEAP32[($5 + 8 | 0) >> 2] = $0; + HEAP32[($5 + 4 | 0) >> 2] = $1; + HEAP32[$5 >> 2] = $2; + $6 = HEAP32[($5 + 8 | 0) >> 2] | 0; + label$1 : { + label$2 : { + if (!((HEAP32[($5 + 4 | 0) >> 2] | 0 | 0) == (8 | 0) & 1 | 0)) { + break label$2 + } + if (!((HEAP32[$5 >> 2] | 0 | 0) == (8 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($5 + 12 | 0) >> 2] = HEAP32[($6 + 56 | 0) >> 2] | 0; + break label$1; + } + label$3 : { + if (!((HEAP32[($5 + 4 | 0) >> 2] | 0 | 0) == (8 | 0) & 1 | 0)) { + break label$3 + } + if (!((HEAP32[$5 >> 2] | 0 | 0) == (1 | 0) & 1 | 0)) { + break label$3 + } + HEAP32[($5 + 12 | 0) >> 2] = HEAP32[($6 + 72 | 0) >> 2] | 0; + break label$1; + } + label$4 : { + if (!((HEAP32[($5 + 4 | 0) >> 2] | 0 | 0) == (1 | 0) & 1 | 0)) { + break label$4 + } + if (!((HEAP32[$5 >> 2] | 0 | 0) == (8 | 0) & 1 | 0)) { + break label$4 + } + HEAP32[($5 + 12 | 0) >> 2] = HEAP32[($6 + 76 | 0) >> 2] | 0; + break label$1; + } + label$5 : { + if (HEAP32[($5 + 4 | 0) >> 2] | 0) { + break label$5 + } + if (HEAP32[$5 >> 2] | 0) { + break label$5 + } + HEAP32[($5 + 12 | 0) >> 2] = HEAP32[($6 + 68 | 0) >> 2] | 0; + break label$1; + } + label$6 : { + if (!((btBroadphaseProxy__isConvex_28int_29(HEAP32[($5 + 4 | 0) >> 2] | 0 | 0) | 0) & 1 | 0)) { + break label$6 + } + if (!((HEAP32[$5 >> 2] | 0 | 0) == (28 | 0) & 1 | 0)) { + break label$6 + } + HEAP32[($5 + 12 | 0) >> 2] = HEAP32[($6 + 84 | 0) >> 2] | 0; + break label$1; + } + label$7 : { + if (!((btBroadphaseProxy__isConvex_28int_29(HEAP32[$5 >> 2] | 0 | 0) | 0) & 1 | 0)) { + break label$7 + } + if (!((HEAP32[($5 + 4 | 0) >> 2] | 0 | 0) == (28 | 0) & 1 | 0)) { + break label$7 + } + HEAP32[($5 + 12 | 0) >> 2] = HEAP32[($6 + 80 | 0) >> 2] | 0; + break label$1; + } + label$8 : { + if (!((btBroadphaseProxy__isConvex_28int_29(HEAP32[($5 + 4 | 0) >> 2] | 0 | 0) | 0) & 1 | 0)) { + break label$8 + } + if (!((btBroadphaseProxy__isConvex_28int_29(HEAP32[$5 >> 2] | 0 | 0) | 0) & 1 | 0)) { + break label$8 + } + HEAP32[($5 + 12 | 0) >> 2] = HEAP32[($6 + 28 | 0) >> 2] | 0; + break label$1; + } + label$9 : { + if (!((btBroadphaseProxy__isConvex_28int_29(HEAP32[($5 + 4 | 0) >> 2] | 0 | 0) | 0) & 1 | 0)) { + break label$9 + } + if (!((btBroadphaseProxy__isConcave_28int_29(HEAP32[$5 >> 2] | 0 | 0) | 0) & 1 | 0)) { + break label$9 + } + HEAP32[($5 + 12 | 0) >> 2] = HEAP32[($6 + 32 | 0) >> 2] | 0; + break label$1; + } + label$10 : { + if (!((btBroadphaseProxy__isConvex_28int_29(HEAP32[$5 >> 2] | 0 | 0) | 0) & 1 | 0)) { + break label$10 + } + if (!((btBroadphaseProxy__isConcave_28int_29(HEAP32[($5 + 4 | 0) >> 2] | 0 | 0) | 0) & 1 | 0)) { + break label$10 + } + HEAP32[($5 + 12 | 0) >> 2] = HEAP32[($6 + 36 | 0) >> 2] | 0; + break label$1; + } + label$11 : { + if (!((btBroadphaseProxy__isCompound_28int_29(HEAP32[($5 + 4 | 0) >> 2] | 0 | 0) | 0) & 1 | 0)) { + break label$11 + } + if (!((btBroadphaseProxy__isCompound_28int_29(HEAP32[$5 >> 2] | 0 | 0) | 0) & 1 | 0)) { + break label$11 + } + HEAP32[($5 + 12 | 0) >> 2] = HEAP32[($6 + 44 | 0) >> 2] | 0; + break label$1; + } + label$12 : { + if (!((btBroadphaseProxy__isCompound_28int_29(HEAP32[($5 + 4 | 0) >> 2] | 0 | 0) | 0) & 1 | 0)) { + break label$12 + } + HEAP32[($5 + 12 | 0) >> 2] = HEAP32[($6 + 40 | 0) >> 2] | 0; + break label$1; + } + label$13 : { + if (!((btBroadphaseProxy__isCompound_28int_29(HEAP32[$5 >> 2] | 0 | 0) | 0) & 1 | 0)) { + break label$13 + } + HEAP32[($5 + 12 | 0) >> 2] = HEAP32[($6 + 48 | 0) >> 2] | 0; + break label$1; + } + HEAP32[($5 + 12 | 0) >> 2] = HEAP32[($6 + 52 | 0) >> 2] | 0; + } + $126 = HEAP32[($5 + 12 | 0) >> 2] | 0; + __stack_pointer = $5 + 16 | 0; + return $126 | 0; + } + + function btDefaultCollisionConfiguration__getPersistentManifoldPool_28_29($0) { + $0 = $0 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + return HEAP32[((HEAP32[($3 + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0; + } + + function btDefaultCollisionConfiguration__getCollisionAlgorithmPool_28_29($0) { + $0 = $0 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + return HEAP32[((HEAP32[($3 + 12 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0; + } + + function btCollisionConfiguration___btCollisionConfiguration_28_29_1($0) { + $0 = $0 | 0; + HEAP32[((__stack_pointer - 16 | 0) + 12 | 0) >> 2] = $0; + wasm2js_trap(); + } + + function btConvexConcaveCollisionAlgorithm__CreateFunc___CreateFunc_28_29($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + btCollisionAlgorithmCreateFunc___btCollisionAlgorithmCreateFunc_28_29($4 | 0) | 0; + __stack_pointer = $3 + 16 | 0; + return $4 | 0; + } + + function btCollisionAlgorithmCreateFunc___btCollisionAlgorithmCreateFunc_28_29($0) { + $0 = $0 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + return HEAP32[($3 + 12 | 0) >> 2] | 0 | 0; + } + + function btConvexConcaveCollisionAlgorithm__CreateFunc___CreateFunc_28_29_1($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + btConvexConcaveCollisionAlgorithm__CreateFunc___CreateFunc_28_29($4 | 0) | 0; + operator_20delete_28void__29($4 | 0); + __stack_pointer = $3 + 16 | 0; + return; + } + + function btConvexConcaveCollisionAlgorithm__CreateFunc__CreateCollisionAlgorithm_28btCollisionAlgorithmConstructionInfo__2c_20btCollisionObjectWrapper_20const__2c_20btCollisionObjectWrapper_20const__29($0, $1, $2, $3) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + var $6 = 0, $8 = 0, $15 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $6 = __stack_pointer - 32 | 0; + __stack_pointer = $6; + HEAP32[($6 + 28 | 0) >> 2] = $0; + HEAP32[($6 + 24 | 0) >> 2] = $1; + HEAP32[($6 + 20 | 0) >> 2] = $2; + HEAP32[($6 + 16 | 0) >> 2] = $3; + $8 = HEAP32[(HEAP32[($6 + 24 | 0) >> 2] | 0) >> 2] | 0; + (wasm2js_i32$0 = $6, wasm2js_i32$1 = FUNCTION_TABLE[HEAP32[((HEAP32[$8 >> 2] | 0) + 56 | 0) >> 2] | 0 | 0]($8, 80) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + $15 = btConvexConcaveCollisionAlgorithm__operator_20new_28unsigned_20long_2c_20void__29(80 | 0, HEAP32[($6 + 12 | 0) >> 2] | 0 | 0) | 0; + btConvexConcaveCollisionAlgorithm__btConvexConcaveCollisionAlgorithm_28btCollisionAlgorithmConstructionInfo_20const__2c_20btCollisionObjectWrapper_20const__2c_20btCollisionObjectWrapper_20const__2c_20bool_29($15 | 0, HEAP32[($6 + 24 | 0) >> 2] | 0 | 0, HEAP32[($6 + 20 | 0) >> 2] | 0 | 0, HEAP32[($6 + 16 | 0) >> 2] | 0 | 0, 0 & 1 | 0 | 0) | 0; + __stack_pointer = $6 + 32 | 0; + return $15 | 0; + } + + function btConvexConcaveCollisionAlgorithm__operator_20new_28unsigned_20long_2c_20void__29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0; + $4 = __stack_pointer - 16 | 0; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + return HEAP32[($4 + 8 | 0) >> 2] | 0 | 0; + } + + function btCollisionAlgorithmCreateFunc___btCollisionAlgorithmCreateFunc_28_29_1($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + btCollisionAlgorithmCreateFunc___btCollisionAlgorithmCreateFunc_28_29($4 | 0) | 0; + operator_20delete_28void__29($4 | 0); + __stack_pointer = $3 + 16 | 0; + return; + } + + function btCollisionAlgorithmCreateFunc__CreateCollisionAlgorithm_28btCollisionAlgorithmConstructionInfo__2c_20btCollisionObjectWrapper_20const__2c_20btCollisionObjectWrapper_20const__29($0, $1, $2, $3) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + var $6 = 0; + $6 = __stack_pointer - 16 | 0; + HEAP32[($6 + 12 | 0) >> 2] = $0; + HEAP32[($6 + 8 | 0) >> 2] = $1; + HEAP32[($6 + 4 | 0) >> 2] = $2; + HEAP32[$6 >> 2] = $3; + return 0 | 0; + } + + function btConvexConcaveCollisionAlgorithm__SwappedCreateFunc___SwappedCreateFunc_28_29($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + btCollisionAlgorithmCreateFunc___btCollisionAlgorithmCreateFunc_28_29($4 | 0) | 0; + __stack_pointer = $3 + 16 | 0; + return $4 | 0; + } + + function btConvexConcaveCollisionAlgorithm__SwappedCreateFunc___SwappedCreateFunc_28_29_1($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + btConvexConcaveCollisionAlgorithm__SwappedCreateFunc___SwappedCreateFunc_28_29($4 | 0) | 0; + operator_20delete_28void__29($4 | 0); + __stack_pointer = $3 + 16 | 0; + return; + } + + function btConvexConcaveCollisionAlgorithm__SwappedCreateFunc__CreateCollisionAlgorithm_28btCollisionAlgorithmConstructionInfo__2c_20btCollisionObjectWrapper_20const__2c_20btCollisionObjectWrapper_20const__29($0, $1, $2, $3) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + var $6 = 0, $8 = 0, $15 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $6 = __stack_pointer - 32 | 0; + __stack_pointer = $6; + HEAP32[($6 + 28 | 0) >> 2] = $0; + HEAP32[($6 + 24 | 0) >> 2] = $1; + HEAP32[($6 + 20 | 0) >> 2] = $2; + HEAP32[($6 + 16 | 0) >> 2] = $3; + $8 = HEAP32[(HEAP32[($6 + 24 | 0) >> 2] | 0) >> 2] | 0; + (wasm2js_i32$0 = $6, wasm2js_i32$1 = FUNCTION_TABLE[HEAP32[((HEAP32[$8 >> 2] | 0) + 56 | 0) >> 2] | 0 | 0]($8, 80) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + $15 = btConvexConcaveCollisionAlgorithm__operator_20new_28unsigned_20long_2c_20void__29(80 | 0, HEAP32[($6 + 12 | 0) >> 2] | 0 | 0) | 0; + btConvexConcaveCollisionAlgorithm__btConvexConcaveCollisionAlgorithm_28btCollisionAlgorithmConstructionInfo_20const__2c_20btCollisionObjectWrapper_20const__2c_20btCollisionObjectWrapper_20const__2c_20bool_29($15 | 0, HEAP32[($6 + 24 | 0) >> 2] | 0 | 0, HEAP32[($6 + 20 | 0) >> 2] | 0 | 0, HEAP32[($6 + 16 | 0) >> 2] | 0 | 0, 1 & 1 | 0 | 0) | 0; + __stack_pointer = $6 + 32 | 0; + return $15 | 0; + } + + function btCompoundCollisionAlgorithm__CreateFunc___CreateFunc_28_29($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + btCollisionAlgorithmCreateFunc___btCollisionAlgorithmCreateFunc_28_29($4 | 0) | 0; + __stack_pointer = $3 + 16 | 0; + return $4 | 0; + } + + function btCompoundCollisionAlgorithm__CreateFunc___CreateFunc_28_29_1($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + btCompoundCollisionAlgorithm__CreateFunc___CreateFunc_28_29($4 | 0) | 0; + operator_20delete_28void__29($4 | 0); + __stack_pointer = $3 + 16 | 0; + return; + } + + function btCompoundCollisionAlgorithm__CreateFunc__CreateCollisionAlgorithm_28btCollisionAlgorithmConstructionInfo__2c_20btCollisionObjectWrapper_20const__2c_20btCollisionObjectWrapper_20const__29($0, $1, $2, $3) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + var $6 = 0, $8 = 0, $13 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $6 = __stack_pointer - 32 | 0; + __stack_pointer = $6; + HEAP32[($6 + 28 | 0) >> 2] = $0; + HEAP32[($6 + 24 | 0) >> 2] = $1; + HEAP32[($6 + 20 | 0) >> 2] = $2; + HEAP32[($6 + 16 | 0) >> 2] = $3; + $8 = HEAP32[(HEAP32[($6 + 24 | 0) >> 2] | 0) >> 2] | 0; + (wasm2js_i32$0 = $6, wasm2js_i32$1 = FUNCTION_TABLE[HEAP32[((HEAP32[$8 >> 2] | 0) + 56 | 0) >> 2] | 0 | 0]($8, 84) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + $13 = HEAP32[($6 + 12 | 0) >> 2] | 0; + btCompoundCollisionAlgorithm__btCompoundCollisionAlgorithm_28btCollisionAlgorithmConstructionInfo_20const__2c_20btCollisionObjectWrapper_20const__2c_20btCollisionObjectWrapper_20const__2c_20bool_29($13 | 0, HEAP32[($6 + 24 | 0) >> 2] | 0 | 0, HEAP32[($6 + 20 | 0) >> 2] | 0 | 0, HEAP32[($6 + 16 | 0) >> 2] | 0 | 0, 0 & 1 | 0 | 0) | 0; + __stack_pointer = $6 + 32 | 0; + return $13 | 0; + } + + function btCompoundCompoundCollisionAlgorithm__CreateFunc___CreateFunc_28_29($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + btCollisionAlgorithmCreateFunc___btCollisionAlgorithmCreateFunc_28_29($4 | 0) | 0; + __stack_pointer = $3 + 16 | 0; + return $4 | 0; + } + + function btCompoundCompoundCollisionAlgorithm__CreateFunc___CreateFunc_28_29_1($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + btCompoundCompoundCollisionAlgorithm__CreateFunc___CreateFunc_28_29($4 | 0) | 0; + operator_20delete_28void__29($4 | 0); + __stack_pointer = $3 + 16 | 0; + return; + } + + function btCompoundCompoundCollisionAlgorithm__CreateFunc__CreateCollisionAlgorithm_28btCollisionAlgorithmConstructionInfo__2c_20btCollisionObjectWrapper_20const__2c_20btCollisionObjectWrapper_20const__29($0, $1, $2, $3) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + var $6 = 0, $8 = 0, $13 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $6 = __stack_pointer - 32 | 0; + __stack_pointer = $6; + HEAP32[($6 + 28 | 0) >> 2] = $0; + HEAP32[($6 + 24 | 0) >> 2] = $1; + HEAP32[($6 + 20 | 0) >> 2] = $2; + HEAP32[($6 + 16 | 0) >> 2] = $3; + $8 = HEAP32[(HEAP32[($6 + 24 | 0) >> 2] | 0) >> 2] | 0; + (wasm2js_i32$0 = $6, wasm2js_i32$1 = FUNCTION_TABLE[HEAP32[((HEAP32[$8 >> 2] | 0) + 56 | 0) >> 2] | 0 | 0]($8, 116) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + $13 = HEAP32[($6 + 12 | 0) >> 2] | 0; + btCompoundCompoundCollisionAlgorithm__btCompoundCompoundCollisionAlgorithm_28btCollisionAlgorithmConstructionInfo_20const__2c_20btCollisionObjectWrapper_20const__2c_20btCollisionObjectWrapper_20const__2c_20bool_29($13 | 0, HEAP32[($6 + 24 | 0) >> 2] | 0 | 0, HEAP32[($6 + 20 | 0) >> 2] | 0 | 0, HEAP32[($6 + 16 | 0) >> 2] | 0 | 0, 0 & 1 | 0 | 0) | 0; + __stack_pointer = $6 + 32 | 0; + return $13 | 0; + } + + function btCompoundCollisionAlgorithm__SwappedCreateFunc___SwappedCreateFunc_28_29($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + btCollisionAlgorithmCreateFunc___btCollisionAlgorithmCreateFunc_28_29($4 | 0) | 0; + __stack_pointer = $3 + 16 | 0; + return $4 | 0; + } + + function btCompoundCollisionAlgorithm__SwappedCreateFunc___SwappedCreateFunc_28_29_1($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + btCompoundCollisionAlgorithm__SwappedCreateFunc___SwappedCreateFunc_28_29($4 | 0) | 0; + operator_20delete_28void__29($4 | 0); + __stack_pointer = $3 + 16 | 0; + return; + } + + function btCompoundCollisionAlgorithm__SwappedCreateFunc__CreateCollisionAlgorithm_28btCollisionAlgorithmConstructionInfo__2c_20btCollisionObjectWrapper_20const__2c_20btCollisionObjectWrapper_20const__29($0, $1, $2, $3) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + var $6 = 0, $8 = 0, $13 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $6 = __stack_pointer - 32 | 0; + __stack_pointer = $6; + HEAP32[($6 + 28 | 0) >> 2] = $0; + HEAP32[($6 + 24 | 0) >> 2] = $1; + HEAP32[($6 + 20 | 0) >> 2] = $2; + HEAP32[($6 + 16 | 0) >> 2] = $3; + $8 = HEAP32[(HEAP32[($6 + 24 | 0) >> 2] | 0) >> 2] | 0; + (wasm2js_i32$0 = $6, wasm2js_i32$1 = FUNCTION_TABLE[HEAP32[((HEAP32[$8 >> 2] | 0) + 56 | 0) >> 2] | 0 | 0]($8, 84) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + $13 = HEAP32[($6 + 12 | 0) >> 2] | 0; + btCompoundCollisionAlgorithm__btCompoundCollisionAlgorithm_28btCollisionAlgorithmConstructionInfo_20const__2c_20btCollisionObjectWrapper_20const__2c_20btCollisionObjectWrapper_20const__2c_20bool_29($13 | 0, HEAP32[($6 + 24 | 0) >> 2] | 0 | 0, HEAP32[($6 + 20 | 0) >> 2] | 0 | 0, HEAP32[($6 + 16 | 0) >> 2] | 0 | 0, 1 & 1 | 0 | 0) | 0; + __stack_pointer = $6 + 32 | 0; + return $13 | 0; + } + + function btEmptyAlgorithm__CreateFunc___CreateFunc_28_29($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + btCollisionAlgorithmCreateFunc___btCollisionAlgorithmCreateFunc_28_29($4 | 0) | 0; + __stack_pointer = $3 + 16 | 0; + return $4 | 0; + } + + function btEmptyAlgorithm__CreateFunc___CreateFunc_28_29_1($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + btEmptyAlgorithm__CreateFunc___CreateFunc_28_29($4 | 0) | 0; + operator_20delete_28void__29($4 | 0); + __stack_pointer = $3 + 16 | 0; + return; + } + + function btEmptyAlgorithm__CreateFunc__CreateCollisionAlgorithm_28btCollisionAlgorithmConstructionInfo__2c_20btCollisionObjectWrapper_20const__2c_20btCollisionObjectWrapper_20const__29($0, $1, $2, $3) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + var $6 = 0, $8 = 0, $13 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $6 = __stack_pointer - 32 | 0; + __stack_pointer = $6; + HEAP32[($6 + 28 | 0) >> 2] = $0; + HEAP32[($6 + 24 | 0) >> 2] = $1; + HEAP32[($6 + 20 | 0) >> 2] = $2; + HEAP32[($6 + 16 | 0) >> 2] = $3; + $8 = HEAP32[(HEAP32[($6 + 24 | 0) >> 2] | 0) >> 2] | 0; + (wasm2js_i32$0 = $6, wasm2js_i32$1 = FUNCTION_TABLE[HEAP32[((HEAP32[$8 >> 2] | 0) + 56 | 0) >> 2] | 0 | 0]($8, 8) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + $13 = HEAP32[($6 + 12 | 0) >> 2] | 0; + btEmptyAlgorithm__btEmptyAlgorithm_28btCollisionAlgorithmConstructionInfo_20const__29($13 | 0, HEAP32[($6 + 24 | 0) >> 2] | 0 | 0) | 0; + __stack_pointer = $6 + 32 | 0; + return $13 | 0; + } + + function btSphereSphereCollisionAlgorithm__CreateFunc___CreateFunc_28_29($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + btCollisionAlgorithmCreateFunc___btCollisionAlgorithmCreateFunc_28_29($4 | 0) | 0; + __stack_pointer = $3 + 16 | 0; + return $4 | 0; + } + + function btSphereSphereCollisionAlgorithm__CreateFunc___CreateFunc_28_29_1($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + btSphereSphereCollisionAlgorithm__CreateFunc___CreateFunc_28_29($4 | 0) | 0; + operator_20delete_28void__29($4 | 0); + __stack_pointer = $3 + 16 | 0; + return; + } + + function btSphereSphereCollisionAlgorithm__CreateFunc__CreateCollisionAlgorithm_28btCollisionAlgorithmConstructionInfo__2c_20btCollisionObjectWrapper_20const__2c_20btCollisionObjectWrapper_20const__29($0, $1, $2, $3) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + var $6 = 0, $8 = 0, $13 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $6 = __stack_pointer - 32 | 0; + __stack_pointer = $6; + HEAP32[($6 + 28 | 0) >> 2] = $0; + HEAP32[($6 + 24 | 0) >> 2] = $1; + HEAP32[($6 + 20 | 0) >> 2] = $2; + HEAP32[($6 + 16 | 0) >> 2] = $3; + $8 = HEAP32[(HEAP32[($6 + 24 | 0) >> 2] | 0) >> 2] | 0; + (wasm2js_i32$0 = $6, wasm2js_i32$1 = FUNCTION_TABLE[HEAP32[((HEAP32[$8 >> 2] | 0) + 56 | 0) >> 2] | 0 | 0]($8, 16) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + $13 = HEAP32[($6 + 12 | 0) >> 2] | 0; + btSphereSphereCollisionAlgorithm__btSphereSphereCollisionAlgorithm_28btPersistentManifold__2c_20btCollisionAlgorithmConstructionInfo_20const__2c_20btCollisionObjectWrapper_20const__2c_20btCollisionObjectWrapper_20const__29($13 | 0, 0 | 0, HEAP32[($6 + 24 | 0) >> 2] | 0 | 0, HEAP32[($6 + 20 | 0) >> 2] | 0 | 0, HEAP32[($6 + 16 | 0) >> 2] | 0 | 0) | 0; + __stack_pointer = $6 + 32 | 0; + return $13 | 0; + } + + function btSphereTriangleCollisionAlgorithm__CreateFunc___CreateFunc_28_29($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + btCollisionAlgorithmCreateFunc___btCollisionAlgorithmCreateFunc_28_29($4 | 0) | 0; + __stack_pointer = $3 + 16 | 0; + return $4 | 0; + } + + function btSphereTriangleCollisionAlgorithm__CreateFunc___CreateFunc_28_29_1($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + btSphereTriangleCollisionAlgorithm__CreateFunc___CreateFunc_28_29($4 | 0) | 0; + operator_20delete_28void__29($4 | 0); + __stack_pointer = $3 + 16 | 0; + return; + } + + function btSphereTriangleCollisionAlgorithm__CreateFunc__CreateCollisionAlgorithm_28btCollisionAlgorithmConstructionInfo__2c_20btCollisionObjectWrapper_20const__2c_20btCollisionObjectWrapper_20const__29($0, $1, $2, $3) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + var $6 = 0, $9 = 0, $14 = 0, $7 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $6 = __stack_pointer - 32 | 0; + __stack_pointer = $6; + HEAP32[($6 + 28 | 0) >> 2] = $0; + HEAP32[($6 + 24 | 0) >> 2] = $1; + HEAP32[($6 + 20 | 0) >> 2] = $2; + HEAP32[($6 + 16 | 0) >> 2] = $3; + $7 = HEAP32[($6 + 28 | 0) >> 2] | 0; + $9 = HEAP32[(HEAP32[($6 + 24 | 0) >> 2] | 0) >> 2] | 0; + (wasm2js_i32$0 = $6, wasm2js_i32$1 = FUNCTION_TABLE[HEAP32[((HEAP32[$9 >> 2] | 0) + 56 | 0) >> 2] | 0 | 0]($9, 20) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + $14 = HEAP32[($6 + 12 | 0) >> 2] | 0; + btSphereTriangleCollisionAlgorithm__btSphereTriangleCollisionAlgorithm_28btPersistentManifold__2c_20btCollisionAlgorithmConstructionInfo_20const__2c_20btCollisionObjectWrapper_20const__2c_20btCollisionObjectWrapper_20const__2c_20bool_29($14 | 0, HEAP32[((HEAP32[($6 + 24 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0, HEAP32[($6 + 24 | 0) >> 2] | 0 | 0, HEAP32[($6 + 20 | 0) >> 2] | 0 | 0, HEAP32[($6 + 16 | 0) >> 2] | 0 | 0, (HEAPU8[($7 + 4 | 0) >> 0] | 0) & 1 | 0 | 0) | 0; + __stack_pointer = $6 + 32 | 0; + return $14 | 0; + } + + function btBoxBoxCollisionAlgorithm__CreateFunc___CreateFunc_28_29($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + btCollisionAlgorithmCreateFunc___btCollisionAlgorithmCreateFunc_28_29($4 | 0) | 0; + __stack_pointer = $3 + 16 | 0; + return $4 | 0; + } + + function btBoxBoxCollisionAlgorithm__CreateFunc___CreateFunc_28_29_1($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + btBoxBoxCollisionAlgorithm__CreateFunc___CreateFunc_28_29($4 | 0) | 0; + operator_20delete_28void__29($4 | 0); + __stack_pointer = $3 + 16 | 0; + return; + } + + function btBoxBoxCollisionAlgorithm__CreateFunc__CreateCollisionAlgorithm_28btCollisionAlgorithmConstructionInfo__2c_20btCollisionObjectWrapper_20const__2c_20btCollisionObjectWrapper_20const__29($0, $1, $2, $3) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + var $6 = 0, $9 = 0, $14 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $6 = __stack_pointer - 32 | 0; + __stack_pointer = $6; + HEAP32[($6 + 28 | 0) >> 2] = $0; + HEAP32[($6 + 24 | 0) >> 2] = $1; + HEAP32[($6 + 20 | 0) >> 2] = $2; + HEAP32[($6 + 16 | 0) >> 2] = $3; + HEAP32[($6 + 12 | 0) >> 2] = 16; + $9 = HEAP32[(HEAP32[($6 + 24 | 0) >> 2] | 0) >> 2] | 0; + (wasm2js_i32$0 = $6, wasm2js_i32$1 = FUNCTION_TABLE[HEAP32[((HEAP32[$9 >> 2] | 0) + 56 | 0) >> 2] | 0 | 0]($9, HEAP32[($6 + 12 | 0) >> 2] | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + $14 = HEAP32[($6 + 8 | 0) >> 2] | 0; + btBoxBoxCollisionAlgorithm__btBoxBoxCollisionAlgorithm_28btPersistentManifold__2c_20btCollisionAlgorithmConstructionInfo_20const__2c_20btCollisionObjectWrapper_20const__2c_20btCollisionObjectWrapper_20const__29($14 | 0, 0 | 0, HEAP32[($6 + 24 | 0) >> 2] | 0 | 0, HEAP32[($6 + 20 | 0) >> 2] | 0 | 0, HEAP32[($6 + 16 | 0) >> 2] | 0 | 0) | 0; + __stack_pointer = $6 + 32 | 0; + return $14 | 0; + } + + function btConvexPlaneCollisionAlgorithm__CreateFunc___CreateFunc_28_29($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + btCollisionAlgorithmCreateFunc___btCollisionAlgorithmCreateFunc_28_29($4 | 0) | 0; + __stack_pointer = $3 + 16 | 0; + return $4 | 0; + } + + function btConvexPlaneCollisionAlgorithm__CreateFunc___CreateFunc_28_29_1($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + btConvexPlaneCollisionAlgorithm__CreateFunc___CreateFunc_28_29($4 | 0) | 0; + operator_20delete_28void__29($4 | 0); + __stack_pointer = $3 + 16 | 0; + return; + } + + function btConvexPlaneCollisionAlgorithm__CreateFunc__CreateCollisionAlgorithm_28btCollisionAlgorithmConstructionInfo__2c_20btCollisionObjectWrapper_20const__2c_20btCollisionObjectWrapper_20const__29($0, $1, $2, $3) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + var $6 = 0, $7 = 0, $9 = 0, $17 = 0, $27 = 0, $37 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $6 = __stack_pointer - 32 | 0; + __stack_pointer = $6; + HEAP32[($6 + 24 | 0) >> 2] = $0; + HEAP32[($6 + 20 | 0) >> 2] = $1; + HEAP32[($6 + 16 | 0) >> 2] = $2; + HEAP32[($6 + 12 | 0) >> 2] = $3; + $7 = HEAP32[($6 + 24 | 0) >> 2] | 0; + $9 = HEAP32[(HEAP32[($6 + 20 | 0) >> 2] | 0) >> 2] | 0; + (wasm2js_i32$0 = $6, wasm2js_i32$1 = FUNCTION_TABLE[HEAP32[((HEAP32[$9 >> 2] | 0) + 56 | 0) >> 2] | 0 | 0]($9, 28) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + label$2 : { + if ((HEAPU8[($7 + 4 | 0) >> 0] | 0) & 1 | 0) { + break label$2 + } + $17 = HEAP32[($6 + 8 | 0) >> 2] | 0; + btConvexPlaneCollisionAlgorithm__btConvexPlaneCollisionAlgorithm_28btPersistentManifold__2c_20btCollisionAlgorithmConstructionInfo_20const__2c_20btCollisionObjectWrapper_20const__2c_20btCollisionObjectWrapper_20const__2c_20bool_2c_20int_2c_20int_29($17 | 0, 0 | 0, HEAP32[($6 + 20 | 0) >> 2] | 0 | 0, HEAP32[($6 + 16 | 0) >> 2] | 0 | 0, HEAP32[($6 + 12 | 0) >> 2] | 0 | 0, 0 & 1 | 0 | 0, HEAP32[($7 + 8 | 0) >> 2] | 0 | 0, HEAP32[($7 + 12 | 0) >> 2] | 0 | 0) | 0; + HEAP32[($6 + 28 | 0) >> 2] = $17; + break label$1; + } + $27 = HEAP32[($6 + 8 | 0) >> 2] | 0; + btConvexPlaneCollisionAlgorithm__btConvexPlaneCollisionAlgorithm_28btPersistentManifold__2c_20btCollisionAlgorithmConstructionInfo_20const__2c_20btCollisionObjectWrapper_20const__2c_20btCollisionObjectWrapper_20const__2c_20bool_2c_20int_2c_20int_29($27 | 0, 0 | 0, HEAP32[($6 + 20 | 0) >> 2] | 0 | 0, HEAP32[($6 + 16 | 0) >> 2] | 0 | 0, HEAP32[($6 + 12 | 0) >> 2] | 0 | 0, 1 & 1 | 0 | 0, HEAP32[($7 + 8 | 0) >> 2] | 0 | 0, HEAP32[($7 + 12 | 0) >> 2] | 0 | 0) | 0; + HEAP32[($6 + 28 | 0) >> 2] = $27; + } + $37 = HEAP32[($6 + 28 | 0) >> 2] | 0; + __stack_pointer = $6 + 32 | 0; + return $37 | 0; + } + + function _GLOBAL__sub_I_btDefaultCollisionConfiguration_cpp() { + __cxx_global_var_init_21(); + return; + } + + function __cxx_global_var_init_22() { + btInfMaskConverter__btInfMaskConverter_28int_29(114036 | 0, 2139095040 | 0) | 0; + return; + } + + function btEmptyAlgorithm__btEmptyAlgorithm_28btCollisionAlgorithmConstructionInfo_20const__29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, $5 = 0; + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; + btCollisionAlgorithm__btCollisionAlgorithm_28btCollisionAlgorithmConstructionInfo_20const__29($5 | 0, HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) | 0; + HEAP32[$5 >> 2] = 96388 + 8 | 0; + __stack_pointer = $4 + 16 | 0; + return $5 | 0; + } + + function btEmptyAlgorithm__processCollision_28btCollisionObjectWrapper_20const__2c_20btCollisionObjectWrapper_20const__2c_20btDispatcherInfo_20const__2c_20btManifoldResult__29($0, $1, $2, $3, $4) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + $4 = $4 | 0; + var $7 = 0; + $7 = __stack_pointer - 32 | 0; + HEAP32[($7 + 28 | 0) >> 2] = $0; + HEAP32[($7 + 24 | 0) >> 2] = $1; + HEAP32[($7 + 20 | 0) >> 2] = $2; + HEAP32[($7 + 16 | 0) >> 2] = $3; + HEAP32[($7 + 12 | 0) >> 2] = $4; + return; + } + + function btEmptyAlgorithm__calculateTimeOfImpact_28btCollisionObject__2c_20btCollisionObject__2c_20btDispatcherInfo_20const__2c_20btManifoldResult__29($0, $1, $2, $3, $4) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + $4 = $4 | 0; + var $7 = 0; + $7 = __stack_pointer - 32 | 0; + HEAP32[($7 + 28 | 0) >> 2] = $0; + HEAP32[($7 + 24 | 0) >> 2] = $1; + HEAP32[($7 + 20 | 0) >> 2] = $2; + HEAP32[($7 + 16 | 0) >> 2] = $3; + HEAP32[($7 + 12 | 0) >> 2] = $4; + return Math_fround(Math_fround(1.0)); + } + + function btEmptyAlgorithm___btEmptyAlgorithm_28_29($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + btCollisionAlgorithm___btCollisionAlgorithm_28_29_1($4 | 0) | 0; + __stack_pointer = $3 + 16 | 0; + return $4 | 0; + } + + function btEmptyAlgorithm___btEmptyAlgorithm_28_29_1($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + btEmptyAlgorithm___btEmptyAlgorithm_28_29($4 | 0) | 0; + operator_20delete_28void__29($4 | 0); + __stack_pointer = $3 + 16 | 0; + return; + } + + function btEmptyAlgorithm__getAllContactManifolds_28btAlignedObjectArray_btPersistentManifold____29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0; + $4 = __stack_pointer - 16 | 0; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + return; + } + + function _GLOBAL__sub_I_btEmptyCollisionAlgorithm_cpp() { + __cxx_global_var_init_22(); + return; + } + + function __cxx_global_var_init_23() { + btInfMaskConverter__btInfMaskConverter_28int_29(114040 | 0, 2139095040 | 0) | 0; + return; + } + + function btHashedSimplePairCache__btHashedSimplePairCache_28_29($0) { + $0 = $0 | 0; + var $4 = 0, $3 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + HEAP32[$4 >> 2] = 96448 + 8 | 0; + btAlignedObjectArray_btSimplePair___btAlignedObjectArray_28_29($4 + 4 | 0 | 0) | 0; + btAlignedObjectArray_int___btAlignedObjectArray_28_29($4 + 24 | 0 | 0) | 0; + btAlignedObjectArray_int___btAlignedObjectArray_28_29($4 + 44 | 0 | 0) | 0; + HEAP32[($3 + 8 | 0) >> 2] = 2; + btAlignedObjectArray_btSimplePair___reserve_28int_29($4 + 4 | 0 | 0, HEAP32[($3 + 8 | 0) >> 2] | 0 | 0); + btHashedSimplePairCache__growTables_28_29($4 | 0); + __stack_pointer = $3 + 16 | 0; + return $4 | 0; + } + + function btHashedSimplePairCache__growTables_28_29($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0, $22 = 0, $29 = 0, $95 = 0, $100 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3 = __stack_pointer - 48 | 0; + __stack_pointer = $3; + HEAP32[($3 + 44 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 44 | 0) >> 2] | 0; + (wasm2js_i32$0 = $3, wasm2js_i32$1 = btAlignedObjectArray_btSimplePair___capacity_28_29_20const($4 + 4 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 40 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + if (!((btAlignedObjectArray_int___size_28_29_20const($4 + 24 | 0 | 0) | 0 | 0) < (HEAP32[($3 + 40 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$1 + } + (wasm2js_i32$0 = $3, wasm2js_i32$1 = btAlignedObjectArray_int___size_28_29_20const($4 + 24 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 36 | 0) >> 2] = wasm2js_i32$1; + $22 = HEAP32[($3 + 40 | 0) >> 2] | 0; + HEAP32[($3 + 32 | 0) >> 2] = 0; + btAlignedObjectArray_int___resize_28int_2c_20int_20const__29($4 + 24 | 0 | 0, $22 | 0, $3 + 32 | 0 | 0); + $29 = HEAP32[($3 + 40 | 0) >> 2] | 0; + HEAP32[($3 + 28 | 0) >> 2] = 0; + btAlignedObjectArray_int___resize_28int_2c_20int_20const__29($4 + 44 | 0 | 0, $29 | 0, $3 + 28 | 0 | 0); + HEAP32[($3 + 24 | 0) >> 2] = 0; + label$2 : { + label$3 : while (1) { + if (!((HEAP32[($3 + 24 | 0) >> 2] | 0 | 0) < (HEAP32[($3 + 40 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$2 + } + (wasm2js_i32$0 = btAlignedObjectArray_int___operator_5b_5d_28int_29($4 + 24 | 0 | 0, HEAP32[($3 + 24 | 0) >> 2] | 0 | 0) | 0, wasm2js_i32$1 = -1), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + HEAP32[($3 + 24 | 0) >> 2] = (HEAP32[($3 + 24 | 0) >> 2] | 0) + 1 | 0; + continue label$3; + }; + } + HEAP32[($3 + 24 | 0) >> 2] = 0; + label$4 : { + label$5 : while (1) { + if (!((HEAP32[($3 + 24 | 0) >> 2] | 0 | 0) < (HEAP32[($3 + 40 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$4 + } + (wasm2js_i32$0 = btAlignedObjectArray_int___operator_5b_5d_28int_29($4 + 44 | 0 | 0, HEAP32[($3 + 24 | 0) >> 2] | 0 | 0) | 0, wasm2js_i32$1 = -1), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + HEAP32[($3 + 24 | 0) >> 2] = (HEAP32[($3 + 24 | 0) >> 2] | 0) + 1 | 0; + continue label$5; + }; + } + HEAP32[($3 + 24 | 0) >> 2] = 0; + label$6 : { + label$7 : while (1) { + if (!((HEAP32[($3 + 24 | 0) >> 2] | 0 | 0) < (HEAP32[($3 + 36 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$6 + } + (wasm2js_i32$0 = $3, wasm2js_i32$1 = btAlignedObjectArray_btSimplePair___operator_5b_5d_28int_29($4 + 4 | 0 | 0, HEAP32[($3 + 24 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($3 + 16 | 0) >> 2] = HEAP32[(HEAP32[($3 + 20 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($3 + 12 | 0) >> 2] = HEAP32[((HEAP32[($3 + 20 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + (wasm2js_i32$0 = $3, wasm2js_i32$1 = (btHashedSimplePairCache__getHash_28unsigned_20int_2c_20unsigned_20int_29($4 | 0, HEAP32[($3 + 16 | 0) >> 2] | 0 | 0, HEAP32[($3 + 12 | 0) >> 2] | 0 | 0) | 0) & ((btAlignedObjectArray_btSimplePair___capacity_28_29_20const($4 + 4 | 0 | 0) | 0) - 1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + $95 = HEAP32[(btAlignedObjectArray_int___operator_5b_5d_28int_29($4 + 24 | 0 | 0, HEAP32[($3 + 8 | 0) >> 2] | 0 | 0) | 0) >> 2] | 0; + (wasm2js_i32$0 = btAlignedObjectArray_int___operator_5b_5d_28int_29($4 + 44 | 0 | 0, HEAP32[($3 + 24 | 0) >> 2] | 0 | 0) | 0, wasm2js_i32$1 = $95), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + $100 = HEAP32[($3 + 24 | 0) >> 2] | 0; + (wasm2js_i32$0 = btAlignedObjectArray_int___operator_5b_5d_28int_29($4 + 24 | 0 | 0, HEAP32[($3 + 8 | 0) >> 2] | 0 | 0) | 0, wasm2js_i32$1 = $100), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + HEAP32[($3 + 24 | 0) >> 2] = (HEAP32[($3 + 24 | 0) >> 2] | 0) + 1 | 0; + continue label$7; + }; + } + } + __stack_pointer = $3 + 48 | 0; + return; + } + + function btHashedSimplePairCache__getHash_28unsigned_20int_2c_20unsigned_20int_29($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $5 = 0; + $5 = __stack_pointer - 16 | 0; + HEAP32[($5 + 12 | 0) >> 2] = $0; + HEAP32[($5 + 8 | 0) >> 2] = $1; + HEAP32[($5 + 4 | 0) >> 2] = $2; + HEAP32[$5 >> 2] = HEAP32[($5 + 8 | 0) >> 2] | 0 | ((HEAP32[($5 + 4 | 0) >> 2] | 0) << 16 | 0) | 0; + HEAP32[$5 >> 2] = (HEAP32[$5 >> 2] | 0) + (((HEAP32[$5 >> 2] | 0) << 15 | 0) ^ -1 | 0) | 0; + HEAP32[$5 >> 2] = (HEAP32[$5 >> 2] | 0) ^ ((HEAP32[$5 >> 2] | 0) >>> 10 | 0) | 0; + HEAP32[$5 >> 2] = (HEAP32[$5 >> 2] | 0) + ((HEAP32[$5 >> 2] | 0) << 3 | 0) | 0; + HEAP32[$5 >> 2] = (HEAP32[$5 >> 2] | 0) ^ ((HEAP32[$5 >> 2] | 0) >>> 6 | 0) | 0; + HEAP32[$5 >> 2] = (HEAP32[$5 >> 2] | 0) + (((HEAP32[$5 >> 2] | 0) << 11 | 0) ^ -1 | 0) | 0; + HEAP32[$5 >> 2] = (HEAP32[$5 >> 2] | 0) ^ ((HEAP32[$5 >> 2] | 0) >>> 16 | 0) | 0; + return HEAP32[$5 >> 2] | 0 | 0; + } + + function btHashedSimplePairCache___btHashedSimplePairCache_28_29($0) { + $0 = $0 | 0; + var $4 = 0, $3 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + HEAP32[$4 >> 2] = 96448 + 8 | 0; + btAlignedObjectArray_int____btAlignedObjectArray_28_29($4 + 44 | 0 | 0) | 0; + btAlignedObjectArray_int____btAlignedObjectArray_28_29($4 + 24 | 0 | 0) | 0; + btAlignedObjectArray_btSimplePair____btAlignedObjectArray_28_29($4 + 4 | 0 | 0) | 0; + __stack_pointer = $3 + 16 | 0; + return $4 | 0; + } + + function btHashedSimplePairCache___btHashedSimplePairCache_28_29_1($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + FUNCTION_TABLE[745 | 0]($4) | 0; + operator_20delete_28void__29($4 | 0); + __stack_pointer = $3 + 16 | 0; + return; + } + + function btHashedSimplePairCache__removeAllPairs_28_29($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + btAlignedObjectArray_btSimplePair___clear_28_29($4 + 4 | 0 | 0); + btAlignedObjectArray_int___clear_28_29($4 + 24 | 0 | 0); + btAlignedObjectArray_int___clear_28_29($4 + 44 | 0 | 0); + HEAP32[($3 + 8 | 0) >> 2] = 2; + btAlignedObjectArray_btSimplePair___reserve_28int_29($4 + 4 | 0 | 0, HEAP32[($3 + 8 | 0) >> 2] | 0 | 0); + btHashedSimplePairCache__growTables_28_29($4 | 0); + __stack_pointer = $3 + 16 | 0; + return; + } + + function btHashedSimplePairCache__findPair_28int_2c_20int_29($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $5 = 0, $6 = 0, $44 = 0, $91 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5 = __stack_pointer - 32 | 0; + __stack_pointer = $5; + HEAP32[($5 + 24 | 0) >> 2] = $0; + HEAP32[($5 + 20 | 0) >> 2] = $1; + HEAP32[($5 + 16 | 0) >> 2] = $2; + $6 = HEAP32[($5 + 24 | 0) >> 2] | 0; + HEAP32[(0 + 114052 | 0) >> 2] = (HEAP32[(0 + 114052 | 0) >> 2] | 0) + 1 | 0; + (wasm2js_i32$0 = $5, wasm2js_i32$1 = (btHashedSimplePairCache__getHash_28unsigned_20int_2c_20unsigned_20int_29($6 | 0, HEAP32[($5 + 20 | 0) >> 2] | 0 | 0, HEAP32[($5 + 16 | 0) >> 2] | 0 | 0) | 0) & ((btAlignedObjectArray_btSimplePair___capacity_28_29_20const($6 + 4 | 0 | 0) | 0) - 1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + label$2 : { + if (!((HEAP32[($5 + 12 | 0) >> 2] | 0 | 0) >= (btAlignedObjectArray_int___size_28_29_20const($6 + 24 | 0 | 0) | 0 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($5 + 28 | 0) >> 2] = 0; + break label$1; + } + (wasm2js_i32$0 = $5, wasm2js_i32$1 = HEAP32[(btAlignedObjectArray_int___operator_5b_5d_28int_29($6 + 24 | 0 | 0, HEAP32[($5 + 12 | 0) >> 2] | 0 | 0) | 0) >> 2] | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + label$3 : while (1) { + $44 = 0; + label$4 : { + if (!((HEAP32[($5 + 8 | 0) >> 2] | 0 | 0) != (-1 | 0) & 1 | 0)) { + break label$4 + } + $44 = ((btHashedSimplePairCache__equalsPair_28btSimplePair_20const__2c_20int_2c_20int_29($6 | 0, btAlignedObjectArray_btSimplePair___operator_5b_5d_28int_29($6 + 4 | 0 | 0, HEAP32[($5 + 8 | 0) >> 2] | 0 | 0) | 0 | 0, HEAP32[($5 + 20 | 0) >> 2] | 0 | 0, HEAP32[($5 + 16 | 0) >> 2] | 0 | 0) | 0) & 1 | 0 | 0) == (0 | 0); + } + label$5 : { + if (!($44 & 1 | 0)) { + break label$5 + } + (wasm2js_i32$0 = $5, wasm2js_i32$1 = HEAP32[(btAlignedObjectArray_int___operator_5b_5d_28int_29($6 + 44 | 0 | 0, HEAP32[($5 + 8 | 0) >> 2] | 0 | 0) | 0) >> 2] | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + continue label$3; + } + break label$3; + }; + label$6 : { + if (!((HEAP32[($5 + 8 | 0) >> 2] | 0 | 0) == (-1 | 0) & 1 | 0)) { + break label$6 + } + HEAP32[($5 + 28 | 0) >> 2] = 0; + break label$1; + } + label$7 : { + if ((HEAP32[($5 + 8 | 0) >> 2] | 0 | 0) < (btAlignedObjectArray_btSimplePair___size_28_29_20const($6 + 4 | 0 | 0) | 0 | 0) & 1 | 0) { + break label$7 + } + __assert_fail(87330 | 0, 75393 | 0, 88 | 0, 71055 | 0); + wasm2js_trap(); + } + (wasm2js_i32$0 = $5, wasm2js_i32$1 = btAlignedObjectArray_btSimplePair___operator_5b_5d_28int_29($6 + 4 | 0 | 0, HEAP32[($5 + 8 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$1; + } + $91 = HEAP32[($5 + 28 | 0) >> 2] | 0; + __stack_pointer = $5 + 32 | 0; + return $91 | 0; + } + + function btHashedSimplePairCache__equalsPair_28btSimplePair_20const__2c_20int_2c_20int_29($0, $1, $2, $3) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + var $6 = 0, $16 = 0; + $6 = __stack_pointer - 16 | 0; + HEAP32[($6 + 12 | 0) >> 2] = $0; + HEAP32[($6 + 8 | 0) >> 2] = $1; + HEAP32[($6 + 4 | 0) >> 2] = $2; + HEAP32[$6 >> 2] = $3; + $16 = 0; + label$1 : { + if (!((HEAP32[(HEAP32[($6 + 8 | 0) >> 2] | 0) >> 2] | 0 | 0) == (HEAP32[($6 + 4 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$1 + } + $16 = (HEAP32[((HEAP32[($6 + 8 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) == (HEAP32[$6 >> 2] | 0 | 0); + } + return $16 & 1 | 0 | 0; + } + + function btHashedSimplePairCache__internalAddPair_28int_2c_20int_29($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $5 = 0, $6 = 0, $56 = 0, $65 = 0, $70 = 0, $76 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5 = __stack_pointer - 48 | 0; + __stack_pointer = $5; + HEAP32[($5 + 40 | 0) >> 2] = $0; + HEAP32[($5 + 36 | 0) >> 2] = $1; + HEAP32[($5 + 32 | 0) >> 2] = $2; + $6 = HEAP32[($5 + 40 | 0) >> 2] | 0; + (wasm2js_i32$0 = $5, wasm2js_i32$1 = (btHashedSimplePairCache__getHash_28unsigned_20int_2c_20unsigned_20int_29($6 | 0, HEAP32[($5 + 36 | 0) >> 2] | 0 | 0, HEAP32[($5 + 32 | 0) >> 2] | 0 | 0) | 0) & ((btAlignedObjectArray_btSimplePair___capacity_28_29_20const($6 + 4 | 0 | 0) | 0) - 1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $5, wasm2js_i32$1 = btHashedSimplePairCache__internalFindPair_28int_2c_20int_2c_20int_29($6 | 0, HEAP32[($5 + 36 | 0) >> 2] | 0 | 0, HEAP32[($5 + 32 | 0) >> 2] | 0 | 0, HEAP32[($5 + 28 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 24 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + label$2 : { + if (!((HEAP32[($5 + 24 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($5 + 44 | 0) >> 2] = HEAP32[($5 + 24 | 0) >> 2] | 0; + break label$1; + } + (wasm2js_i32$0 = $5, wasm2js_i32$1 = btAlignedObjectArray_btSimplePair___size_28_29_20const($6 + 4 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $5, wasm2js_i32$1 = btAlignedObjectArray_btSimplePair___capacity_28_29_20const($6 + 4 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $5, wasm2js_i32$1 = btAlignedObjectArray_btSimplePair___expandNonInitializing_28_29($6 + 4 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $5, wasm2js_i32$1 = btAlignedObjectArray_btSimplePair___capacity_28_29_20const($6 + 4 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + label$3 : { + if (!((HEAP32[($5 + 16 | 0) >> 2] | 0 | 0) < (HEAP32[($5 + 8 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$3 + } + btHashedSimplePairCache__growTables_28_29($6 | 0); + (wasm2js_i32$0 = $5, wasm2js_i32$1 = (btHashedSimplePairCache__getHash_28unsigned_20int_2c_20unsigned_20int_29($6 | 0, HEAP32[($5 + 36 | 0) >> 2] | 0 | 0, HEAP32[($5 + 32 | 0) >> 2] | 0 | 0) | 0) & ((btAlignedObjectArray_btSimplePair___capacity_28_29_20const($6 + 4 | 0 | 0) | 0) - 1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$1; + } + $56 = HEAP32[($5 + 12 | 0) >> 2] | 0; + btSimplePair__btSimplePair_28int_2c_20int_29($56 | 0, HEAP32[($5 + 36 | 0) >> 2] | 0 | 0, HEAP32[($5 + 32 | 0) >> 2] | 0 | 0) | 0; + HEAP32[($5 + 24 | 0) >> 2] = $56; + HEAP32[((HEAP32[($5 + 24 | 0) >> 2] | 0) + 8 | 0) >> 2] = 0; + $65 = HEAP32[(btAlignedObjectArray_int___operator_5b_5d_28int_29($6 + 24 | 0 | 0, HEAP32[($5 + 28 | 0) >> 2] | 0 | 0) | 0) >> 2] | 0; + (wasm2js_i32$0 = btAlignedObjectArray_int___operator_5b_5d_28int_29($6 + 44 | 0 | 0, HEAP32[($5 + 20 | 0) >> 2] | 0 | 0) | 0, wasm2js_i32$1 = $65), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + $70 = HEAP32[($5 + 20 | 0) >> 2] | 0; + (wasm2js_i32$0 = btAlignedObjectArray_int___operator_5b_5d_28int_29($6 + 24 | 0 | 0, HEAP32[($5 + 28 | 0) >> 2] | 0 | 0) | 0, wasm2js_i32$1 = $70), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + HEAP32[($5 + 44 | 0) >> 2] = HEAP32[($5 + 24 | 0) >> 2] | 0; + } + $76 = HEAP32[($5 + 44 | 0) >> 2] | 0; + __stack_pointer = $5 + 48 | 0; + return $76 | 0; + } + + function btHashedSimplePairCache__internalFindPair_28int_2c_20int_2c_20int_29($0, $1, $2, $3) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + var $6 = 0, $7 = 0, $21 = 0, $68 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $6 = __stack_pointer - 32 | 0; + __stack_pointer = $6; + HEAP32[($6 + 24 | 0) >> 2] = $0; + HEAP32[($6 + 20 | 0) >> 2] = $1; + HEAP32[($6 + 16 | 0) >> 2] = $2; + HEAP32[($6 + 12 | 0) >> 2] = $3; + $7 = HEAP32[($6 + 24 | 0) >> 2] | 0; + (wasm2js_i32$0 = $6, wasm2js_i32$1 = HEAP32[(btAlignedObjectArray_int___operator_5b_5d_28int_29($7 + 24 | 0 | 0, HEAP32[($6 + 12 | 0) >> 2] | 0 | 0) | 0) >> 2] | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + label$1 : while (1) { + $21 = 0; + label$2 : { + if (!((HEAP32[($6 + 8 | 0) >> 2] | 0 | 0) != (-1 | 0) & 1 | 0)) { + break label$2 + } + $21 = ((btHashedSimplePairCache__equalsPair_28btSimplePair_20const__2c_20int_2c_20int_29($7 | 0, btAlignedObjectArray_btSimplePair___operator_5b_5d_28int_29($7 + 4 | 0 | 0, HEAP32[($6 + 8 | 0) >> 2] | 0 | 0) | 0 | 0, HEAP32[($6 + 20 | 0) >> 2] | 0 | 0, HEAP32[($6 + 16 | 0) >> 2] | 0 | 0) | 0) & 1 | 0 | 0) == (0 | 0); + } + label$3 : { + if (!($21 & 1 | 0)) { + break label$3 + } + (wasm2js_i32$0 = $6, wasm2js_i32$1 = HEAP32[(btAlignedObjectArray_int___operator_5b_5d_28int_29($7 + 44 | 0 | 0, HEAP32[($6 + 8 | 0) >> 2] | 0 | 0) | 0) >> 2] | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + continue label$1; + } + break label$1; + }; + label$4 : { + label$5 : { + if (!((HEAP32[($6 + 8 | 0) >> 2] | 0 | 0) == (-1 | 0) & 1 | 0)) { + break label$5 + } + HEAP32[($6 + 28 | 0) >> 2] = 0; + break label$4; + } + label$6 : { + if ((HEAP32[($6 + 8 | 0) >> 2] | 0 | 0) < (btAlignedObjectArray_btSimplePair___size_28_29_20const($7 + 4 | 0 | 0) | 0 | 0) & 1 | 0) { + break label$6 + } + __assert_fail(87330 | 0, 79692 | 0, 159 | 0, 71064 | 0); + wasm2js_trap(); + } + (wasm2js_i32$0 = $6, wasm2js_i32$1 = btAlignedObjectArray_btSimplePair___operator_5b_5d_28int_29($7 + 4 | 0 | 0, HEAP32[($6 + 8 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$1; + } + $68 = HEAP32[($6 + 28 | 0) >> 2] | 0; + __stack_pointer = $6 + 32 | 0; + return $68 | 0; + } + + function btAlignedObjectArray_btSimplePair___expandNonInitializing_28_29($0) { + $0 = $0 | 0; + var $4 = 0, $3 = 0, $22 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + (wasm2js_i32$0 = $3, wasm2js_i32$1 = btAlignedObjectArray_btSimplePair___size_28_29_20const($4 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + if (!((HEAP32[($3 + 8 | 0) >> 2] | 0 | 0) == (btAlignedObjectArray_btSimplePair___capacity_28_29_20const($4 | 0) | 0 | 0) & 1 | 0)) { + break label$1 + } + btAlignedObjectArray_btSimplePair___reserve_28int_29($4 | 0, btAlignedObjectArray_btSimplePair___allocSize_28int_29($4 | 0, btAlignedObjectArray_btSimplePair___size_28_29_20const($4 | 0) | 0 | 0) | 0 | 0); + } + HEAP32[($4 + 4 | 0) >> 2] = (HEAP32[($4 + 4 | 0) >> 2] | 0) + 1 | 0; + $22 = (HEAP32[($4 + 12 | 0) >> 2] | 0) + Math_imul(HEAP32[($3 + 8 | 0) >> 2] | 0, 12) | 0; + __stack_pointer = $3 + 16 | 0; + return $22 | 0; + } + + function btHashedSimplePairCache__removeOverlappingPair_28int_2c_20int_29($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $5 = 0, $6 = 0, i64toi32_i32$0 = 0, $229 = 0, $235 = 0, $112 = 0, $121 = 0, $212 = 0, $221 = 0, $233 = 0, i64toi32_i32$1 = 0, $727 = 0, $243 = 0, $248 = 0, $256 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5 = __stack_pointer - 64 | 0; + __stack_pointer = $5; + HEAP32[($5 + 56 | 0) >> 2] = $0; + HEAP32[($5 + 52 | 0) >> 2] = $1; + HEAP32[($5 + 48 | 0) >> 2] = $2; + $6 = HEAP32[($5 + 56 | 0) >> 2] | 0; + HEAP32[(0 + 114044 | 0) >> 2] = (HEAP32[(0 + 114044 | 0) >> 2] | 0) + 1 | 0; + (wasm2js_i32$0 = $5, wasm2js_i32$1 = (btHashedSimplePairCache__getHash_28unsigned_20int_2c_20unsigned_20int_29($6 | 0, HEAP32[($5 + 52 | 0) >> 2] | 0 | 0, HEAP32[($5 + 48 | 0) >> 2] | 0 | 0) | 0) & ((btAlignedObjectArray_btSimplePair___capacity_28_29_20const($6 + 4 | 0 | 0) | 0) - 1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 44 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $5, wasm2js_i32$1 = btHashedSimplePairCache__internalFindPair_28int_2c_20int_2c_20int_29($6 | 0, HEAP32[($5 + 52 | 0) >> 2] | 0 | 0, HEAP32[($5 + 48 | 0) >> 2] | 0 | 0, HEAP32[($5 + 44 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 40 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + label$2 : { + if (!((HEAP32[($5 + 40 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($5 + 60 | 0) >> 2] = 0; + break label$1; + } + HEAP32[($5 + 36 | 0) >> 2] = HEAP32[((HEAP32[($5 + 40 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + (wasm2js_i32$0 = $5, wasm2js_i32$1 = ((HEAP32[($5 + 40 | 0) >> 2] | 0) - (btAlignedObjectArray_btSimplePair___operator_5b_5d_28int_29($6 + 4 | 0 | 0, 0 | 0) | 0) | 0 | 0) / (12 | 0) | 0), HEAP32[(wasm2js_i32$0 + 32 | 0) >> 2] = wasm2js_i32$1; + label$3 : { + if ((HEAP32[($5 + 32 | 0) >> 2] | 0 | 0) < (btAlignedObjectArray_btSimplePair___size_28_29_20const($6 + 4 | 0 | 0) | 0 | 0) & 1 | 0) { + break label$3 + } + __assert_fail(87368 | 0, 75393 | 0, 194 | 0, 71006 | 0); + wasm2js_trap(); + } + (wasm2js_i32$0 = $5, wasm2js_i32$1 = HEAP32[(btAlignedObjectArray_int___operator_5b_5d_28int_29($6 + 24 | 0 | 0, HEAP32[($5 + 44 | 0) >> 2] | 0 | 0) | 0) >> 2] | 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$1; + label$4 : { + if ((HEAP32[($5 + 28 | 0) >> 2] | 0 | 0) != (-1 | 0) & 1 | 0) { + break label$4 + } + __assert_fail(84057 | 0, 75393 | 0, 198 | 0, 71006 | 0); + wasm2js_trap(); + } + HEAP32[($5 + 24 | 0) >> 2] = -1; + label$5 : { + label$6 : while (1) { + if (!((HEAP32[($5 + 28 | 0) >> 2] | 0 | 0) != (HEAP32[($5 + 32 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$5 + } + HEAP32[($5 + 24 | 0) >> 2] = HEAP32[($5 + 28 | 0) >> 2] | 0; + (wasm2js_i32$0 = $5, wasm2js_i32$1 = HEAP32[(btAlignedObjectArray_int___operator_5b_5d_28int_29($6 + 44 | 0 | 0, HEAP32[($5 + 28 | 0) >> 2] | 0 | 0) | 0) >> 2] | 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$1; + continue label$6; + }; + } + label$7 : { + label$8 : { + if (!((HEAP32[($5 + 24 | 0) >> 2] | 0 | 0) != (-1 | 0) & 1 | 0)) { + break label$8 + } + label$9 : { + if ((HEAP32[(btAlignedObjectArray_int___operator_5b_5d_28int_29($6 + 44 | 0 | 0, HEAP32[($5 + 24 | 0) >> 2] | 0 | 0) | 0) >> 2] | 0 | 0) == (HEAP32[($5 + 32 | 0) >> 2] | 0 | 0) & 1 | 0) { + break label$9 + } + __assert_fail(66363 | 0, 75393 | 0, 209 | 0, 71006 | 0); + wasm2js_trap(); + } + $112 = HEAP32[(btAlignedObjectArray_int___operator_5b_5d_28int_29($6 + 44 | 0 | 0, HEAP32[($5 + 32 | 0) >> 2] | 0 | 0) | 0) >> 2] | 0; + (wasm2js_i32$0 = btAlignedObjectArray_int___operator_5b_5d_28int_29($6 + 44 | 0 | 0, HEAP32[($5 + 24 | 0) >> 2] | 0 | 0) | 0, wasm2js_i32$1 = $112), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + break label$7; + } + $121 = HEAP32[(btAlignedObjectArray_int___operator_5b_5d_28int_29($6 + 44 | 0 | 0, HEAP32[($5 + 32 | 0) >> 2] | 0 | 0) | 0) >> 2] | 0; + (wasm2js_i32$0 = btAlignedObjectArray_int___operator_5b_5d_28int_29($6 + 24 | 0 | 0, HEAP32[($5 + 44 | 0) >> 2] | 0 | 0) | 0, wasm2js_i32$1 = $121), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + } + (wasm2js_i32$0 = $5, wasm2js_i32$1 = (btAlignedObjectArray_btSimplePair___size_28_29_20const($6 + 4 | 0 | 0) | 0) - 1 | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + label$10 : { + if (!((HEAP32[($5 + 20 | 0) >> 2] | 0 | 0) == (HEAP32[($5 + 32 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$10 + } + btAlignedObjectArray_btSimplePair___pop_back_28_29($6 + 4 | 0 | 0); + HEAP32[($5 + 60 | 0) >> 2] = HEAP32[($5 + 36 | 0) >> 2] | 0; + break label$1; + } + (wasm2js_i32$0 = $5, wasm2js_i32$1 = btAlignedObjectArray_btSimplePair___operator_5b_5d_28int_29($6 + 4 | 0 | 0, HEAP32[($5 + 20 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $5, wasm2js_i32$1 = (btHashedSimplePairCache__getHash_28unsigned_20int_2c_20unsigned_20int_29($6 | 0, HEAP32[(HEAP32[($5 + 16 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($5 + 16 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) | 0) & ((btAlignedObjectArray_btSimplePair___capacity_28_29_20const($6 + 4 | 0 | 0) | 0) - 1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $5, wasm2js_i32$1 = HEAP32[(btAlignedObjectArray_int___operator_5b_5d_28int_29($6 + 24 | 0 | 0, HEAP32[($5 + 12 | 0) >> 2] | 0 | 0) | 0) >> 2] | 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$1; + label$11 : { + if ((HEAP32[($5 + 28 | 0) >> 2] | 0 | 0) != (-1 | 0) & 1 | 0) { + break label$11 + } + __assert_fail(84057 | 0, 75393 | 0, 236 | 0, 71006 | 0); + wasm2js_trap(); + } + HEAP32[($5 + 24 | 0) >> 2] = -1; + label$12 : { + label$13 : while (1) { + if (!((HEAP32[($5 + 28 | 0) >> 2] | 0 | 0) != (HEAP32[($5 + 20 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$12 + } + HEAP32[($5 + 24 | 0) >> 2] = HEAP32[($5 + 28 | 0) >> 2] | 0; + (wasm2js_i32$0 = $5, wasm2js_i32$1 = HEAP32[(btAlignedObjectArray_int___operator_5b_5d_28int_29($6 + 44 | 0 | 0, HEAP32[($5 + 28 | 0) >> 2] | 0 | 0) | 0) >> 2] | 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$1; + continue label$13; + }; + } + label$14 : { + label$15 : { + if (!((HEAP32[($5 + 24 | 0) >> 2] | 0 | 0) != (-1 | 0) & 1 | 0)) { + break label$15 + } + label$16 : { + if ((HEAP32[(btAlignedObjectArray_int___operator_5b_5d_28int_29($6 + 44 | 0 | 0, HEAP32[($5 + 24 | 0) >> 2] | 0 | 0) | 0) >> 2] | 0 | 0) == (HEAP32[($5 + 20 | 0) >> 2] | 0 | 0) & 1 | 0) { + break label$16 + } + __assert_fail(66393 | 0, 75393 | 0, 247 | 0, 71006 | 0); + wasm2js_trap(); + } + $212 = HEAP32[(btAlignedObjectArray_int___operator_5b_5d_28int_29($6 + 44 | 0 | 0, HEAP32[($5 + 20 | 0) >> 2] | 0 | 0) | 0) >> 2] | 0; + (wasm2js_i32$0 = btAlignedObjectArray_int___operator_5b_5d_28int_29($6 + 44 | 0 | 0, HEAP32[($5 + 24 | 0) >> 2] | 0 | 0) | 0, wasm2js_i32$1 = $212), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + break label$14; + } + $221 = HEAP32[(btAlignedObjectArray_int___operator_5b_5d_28int_29($6 + 44 | 0 | 0, HEAP32[($5 + 20 | 0) >> 2] | 0 | 0) | 0) >> 2] | 0; + (wasm2js_i32$0 = btAlignedObjectArray_int___operator_5b_5d_28int_29($6 + 24 | 0 | 0, HEAP32[($5 + 12 | 0) >> 2] | 0 | 0) | 0, wasm2js_i32$1 = $221), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + } + $229 = btAlignedObjectArray_btSimplePair___operator_5b_5d_28int_29($6 + 4 | 0 | 0, HEAP32[($5 + 20 | 0) >> 2] | 0 | 0) | 0; + $233 = btAlignedObjectArray_btSimplePair___operator_5b_5d_28int_29($6 + 4 | 0 | 0, HEAP32[($5 + 32 | 0) >> 2] | 0 | 0) | 0; + i64toi32_i32$0 = HEAP32[$229 >> 2] | 0; + i64toi32_i32$1 = HEAP32[($229 + 4 | 0) >> 2] | 0; + $727 = i64toi32_i32$0; + i64toi32_i32$0 = $233; + HEAP32[i64toi32_i32$0 >> 2] = $727; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $235 = 8; + HEAP32[(i64toi32_i32$0 + $235 | 0) >> 2] = HEAP32[($229 + $235 | 0) >> 2] | 0; + $243 = HEAP32[(btAlignedObjectArray_int___operator_5b_5d_28int_29($6 + 24 | 0 | 0, HEAP32[($5 + 12 | 0) >> 2] | 0 | 0) | 0) >> 2] | 0; + (wasm2js_i32$0 = btAlignedObjectArray_int___operator_5b_5d_28int_29($6 + 44 | 0 | 0, HEAP32[($5 + 32 | 0) >> 2] | 0 | 0) | 0, wasm2js_i32$1 = $243), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + $248 = HEAP32[($5 + 32 | 0) >> 2] | 0; + (wasm2js_i32$0 = btAlignedObjectArray_int___operator_5b_5d_28int_29($6 + 24 | 0 | 0, HEAP32[($5 + 12 | 0) >> 2] | 0 | 0) | 0, wasm2js_i32$1 = $248), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + btAlignedObjectArray_btSimplePair___pop_back_28_29($6 + 4 | 0 | 0); + HEAP32[($5 + 60 | 0) >> 2] = HEAP32[($5 + 36 | 0) >> 2] | 0; + } + $256 = HEAP32[($5 + 60 | 0) >> 2] | 0; + __stack_pointer = $5 + 64 | 0; + return $256 | 0; + } + + function btAlignedObjectArray_btSimplePair___pop_back_28_29($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + label$1 : { + if ((HEAP32[($4 + 4 | 0) >> 2] | 0 | 0) > (0 | 0) & 1 | 0) { + break label$1 + } + __assert_fail(85800 | 0, 78192 | 0, 201 | 0, 77711 | 0); + wasm2js_trap(); + } + HEAP32[($4 + 4 | 0) >> 2] = (HEAP32[($4 + 4 | 0) >> 2] | 0) + -1 | 0; + __stack_pointer = $3 + 16 | 0; + return; + } + + function btHashedSimplePairCache__addOverlappingPair_28int_2c_20int_29($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $5 = 0, $6 = 0, $14 = 0; + $5 = __stack_pointer - 16 | 0; + __stack_pointer = $5; + HEAP32[($5 + 12 | 0) >> 2] = $0; + HEAP32[($5 + 8 | 0) >> 2] = $1; + HEAP32[($5 + 4 | 0) >> 2] = $2; + $6 = HEAP32[($5 + 12 | 0) >> 2] | 0; + HEAP32[(0 + 114048 | 0) >> 2] = (HEAP32[(0 + 114048 | 0) >> 2] | 0) + 1 | 0; + $14 = btHashedSimplePairCache__internalAddPair_28int_2c_20int_29($6 | 0, HEAP32[($5 + 8 | 0) >> 2] | 0 | 0, HEAP32[($5 + 4 | 0) >> 2] | 0 | 0) | 0; + __stack_pointer = $5 + 16 | 0; + return $14 | 0; + } + + function btHashedSimplePairCache__getOverlappingPairArrayPtr_28_29($0) { + $0 = $0 | 0; + var $3 = 0, $8 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $8 = btAlignedObjectArray_btSimplePair___operator_5b_5d_28int_29((HEAP32[($3 + 12 | 0) >> 2] | 0) + 4 | 0 | 0, 0 | 0) | 0; + __stack_pointer = $3 + 16 | 0; + return $8 | 0; + } + + function _GLOBAL__sub_I_btHashedSimplePairCache_cpp() { + __cxx_global_var_init_23(); + return; + } + + function __cxx_global_var_init_24() { + btInfMaskConverter__btInfMaskConverter_28int_29(114056 | 0, 2139095040 | 0) | 0; + return; + } + + function btManifoldResult__calculateCombinedRollingFriction_28btCollisionObject_20const__2c_20btCollisionObject_20const__29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, $29 = Math_fround(0), wasm2js_i32$0 = 0, wasm2js_f32$0 = Math_fround(0); + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + (wasm2js_i32$0 = $4, wasm2js_f32$0 = Math_fround(Math_fround(Math_fround(btCollisionObject__getRollingFriction_28_29_20const(HEAP32[($4 + 12 | 0) >> 2] | 0 | 0)) * Math_fround(btCollisionObject__getFriction_28_29_20const(HEAP32[($4 + 8 | 0) >> 2] | 0 | 0))) + Math_fround(Math_fround(btCollisionObject__getRollingFriction_28_29_20const(HEAP32[($4 + 8 | 0) >> 2] | 0 | 0)) * Math_fround(btCollisionObject__getFriction_28_29_20const(HEAP32[($4 + 12 | 0) >> 2] | 0 | 0))))), HEAPF32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_f32$0; + HEAPF32[$4 >> 2] = Math_fround(10.0); + label$1 : { + if (!(Math_fround(HEAPF32[($4 + 4 | 0) >> 2]) < Math_fround(-10.0) & 1 | 0)) { + break label$1 + } + HEAPF32[($4 + 4 | 0) >> 2] = Math_fround(-10.0); + } + label$2 : { + if (!(Math_fround(HEAPF32[($4 + 4 | 0) >> 2]) > Math_fround(10.0) & 1 | 0)) { + break label$2 + } + HEAPF32[($4 + 4 | 0) >> 2] = Math_fround(10.0); + } + $29 = Math_fround(HEAPF32[($4 + 4 | 0) >> 2]); + __stack_pointer = $4 + 16 | 0; + return Math_fround($29); + } + + function btCollisionObject__getRollingFriction_28_29_20const($0) { + $0 = $0 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + return Math_fround(Math_fround(HEAPF32[((HEAP32[($3 + 12 | 0) >> 2] | 0) + 236 | 0) >> 2])); + } + + function btCollisionObject__getFriction_28_29_20const($0) { + $0 = $0 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + return Math_fround(Math_fround(HEAPF32[((HEAP32[($3 + 12 | 0) >> 2] | 0) + 228 | 0) >> 2])); + } + + function btManifoldResult__calculateCombinedSpinningFriction_28btCollisionObject_20const__2c_20btCollisionObject_20const__29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, $29 = Math_fround(0), wasm2js_i32$0 = 0, wasm2js_f32$0 = Math_fround(0); + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + (wasm2js_i32$0 = $4, wasm2js_f32$0 = Math_fround(Math_fround(Math_fround(btCollisionObject__getSpinningFriction_28_29_20const(HEAP32[($4 + 12 | 0) >> 2] | 0 | 0)) * Math_fround(btCollisionObject__getFriction_28_29_20const(HEAP32[($4 + 8 | 0) >> 2] | 0 | 0))) + Math_fround(Math_fround(btCollisionObject__getSpinningFriction_28_29_20const(HEAP32[($4 + 8 | 0) >> 2] | 0 | 0)) * Math_fround(btCollisionObject__getFriction_28_29_20const(HEAP32[($4 + 12 | 0) >> 2] | 0 | 0))))), HEAPF32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_f32$0; + HEAPF32[$4 >> 2] = Math_fround(10.0); + label$1 : { + if (!(Math_fround(HEAPF32[($4 + 4 | 0) >> 2]) < Math_fround(-10.0) & 1 | 0)) { + break label$1 + } + HEAPF32[($4 + 4 | 0) >> 2] = Math_fround(-10.0); + } + label$2 : { + if (!(Math_fround(HEAPF32[($4 + 4 | 0) >> 2]) > Math_fround(10.0) & 1 | 0)) { + break label$2 + } + HEAPF32[($4 + 4 | 0) >> 2] = Math_fround(10.0); + } + $29 = Math_fround(HEAPF32[($4 + 4 | 0) >> 2]); + __stack_pointer = $4 + 16 | 0; + return Math_fround($29); + } + + function btCollisionObject__getSpinningFriction_28_29_20const($0) { + $0 = $0 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + return Math_fround(Math_fround(HEAPF32[((HEAP32[($3 + 12 | 0) >> 2] | 0) + 240 | 0) >> 2])); + } + + function btManifoldResult__calculateCombinedFriction_28btCollisionObject_20const__2c_20btCollisionObject_20const__29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, $23 = Math_fround(0), wasm2js_i32$0 = 0, wasm2js_f32$0 = Math_fround(0); + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + (wasm2js_i32$0 = $4, wasm2js_f32$0 = Math_fround(Math_fround(btCollisionObject__getFriction_28_29_20const(HEAP32[($4 + 12 | 0) >> 2] | 0 | 0)) * Math_fround(btCollisionObject__getFriction_28_29_20const(HEAP32[($4 + 8 | 0) >> 2] | 0 | 0)))), HEAPF32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_f32$0; + HEAPF32[$4 >> 2] = Math_fround(10.0); + label$1 : { + if (!(Math_fround(HEAPF32[($4 + 4 | 0) >> 2]) < Math_fround(-10.0) & 1 | 0)) { + break label$1 + } + HEAPF32[($4 + 4 | 0) >> 2] = Math_fround(-10.0); + } + label$2 : { + if (!(Math_fround(HEAPF32[($4 + 4 | 0) >> 2]) > Math_fround(10.0) & 1 | 0)) { + break label$2 + } + HEAPF32[($4 + 4 | 0) >> 2] = Math_fround(10.0); + } + $23 = Math_fround(HEAPF32[($4 + 4 | 0) >> 2]); + __stack_pointer = $4 + 16 | 0; + return Math_fround($23); + } + + function btManifoldResult__calculateCombinedRestitution_28btCollisionObject_20const__2c_20btCollisionObject_20const__29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, $9 = Math_fround(0); + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + $9 = Math_fround(Math_fround(btCollisionObject__getRestitution_28_29_20const(HEAP32[($4 + 12 | 0) >> 2] | 0 | 0)) * Math_fround(btCollisionObject__getRestitution_28_29_20const(HEAP32[($4 + 8 | 0) >> 2] | 0 | 0))); + __stack_pointer = $4 + 16 | 0; + return Math_fround($9); + } + + function btCollisionObject__getRestitution_28_29_20const($0) { + $0 = $0 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + return Math_fround(Math_fround(HEAPF32[((HEAP32[($3 + 12 | 0) >> 2] | 0) + 232 | 0) >> 2])); + } + + function btManifoldResult__btManifoldResult_28btCollisionObjectWrapper_20const__2c_20btCollisionObjectWrapper_20const__29($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $5 = 0, $6 = 0; + $5 = __stack_pointer - 16 | 0; + __stack_pointer = $5; + HEAP32[($5 + 12 | 0) >> 2] = $0; + HEAP32[($5 + 8 | 0) >> 2] = $1; + HEAP32[($5 + 4 | 0) >> 2] = $2; + $6 = HEAP32[($5 + 12 | 0) >> 2] | 0; + btDiscreteCollisionDetectorInterface__Result__Result_28_29($6 | 0) | 0; + HEAP32[$6 >> 2] = 96512 + 8 | 0; + HEAP32[($6 + 4 | 0) >> 2] = 0; + HEAP32[($6 + 8 | 0) >> 2] = HEAP32[($5 + 8 | 0) >> 2] | 0; + HEAP32[($6 + 12 | 0) >> 2] = HEAP32[($5 + 4 | 0) >> 2] | 0; + HEAPF32[($6 + 32 | 0) >> 2] = Math_fround(0 | 0); + __stack_pointer = $5 + 16 | 0; + return $6 | 0; + } + + function btManifoldResult__addContactPoint_28btVector3_20const__2c_20btVector3_20const__2c_20float_29($0, $1, $2, $3) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = Math_fround($3); + var $6 = 0, $7 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, $74 = 0, $90 = 0, $108 = 0, $124 = 0, $148 = 0, $150 = 0, $161 = 0, $163 = 0, $189 = 0, $204 = 0, $227 = 0, $242 = 0, $255 = 0, $263 = 0, $382 = 0, $389 = 0, $42 = 0, $573 = 0, $577 = 0, $608 = 0, $612 = 0, $645 = 0, $649 = 0, $680 = 0, $684 = 0, $717 = 0, $730 = 0, $743 = 0, $753 = 0, $393 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0, wasm2js_f32$0 = Math_fround(0); + $6 = __stack_pointer - 432 | 0; + __stack_pointer = $6; + HEAP32[($6 + 428 | 0) >> 2] = $0; + HEAP32[($6 + 424 | 0) >> 2] = $1; + HEAP32[($6 + 420 | 0) >> 2] = $2; + HEAPF32[($6 + 416 | 0) >> 2] = $3; + $7 = HEAP32[($6 + 428 | 0) >> 2] | 0; + label$1 : { + if ((HEAP32[($7 + 4 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$1 + } + __assert_fail(70583 | 0, 71961 | 0, 109 | 0, 67640 | 0); + wasm2js_trap(); + } + label$2 : { + label$3 : { + if (!(Math_fround(HEAPF32[($6 + 416 | 0) >> 2]) > Math_fround(btPersistentManifold__getContactBreakingThreshold_28_29_20const(HEAP32[($7 + 4 | 0) >> 2] | 0 | 0)) & 1 | 0)) { + break label$3 + } + break label$2; + } + (wasm2js_i32$0 = $6, wasm2js_i32$1 = (btPersistentManifold__getBody0_28_29_20const(HEAP32[($7 + 4 | 0) >> 2] | 0 | 0) | 0 | 0) != (btCollisionObjectWrapper__getCollisionObject_28_29_20const(HEAP32[($7 + 8 | 0) >> 2] | 0 | 0) | 0 | 0) & 1 | 0), HEAP8[(wasm2js_i32$0 + 415 | 0) >> 0] = wasm2js_i32$1; + (wasm2js_i32$0 = $6, wasm2js_i32$1 = (btPersistentManifold__getNumContacts_28_29_20const(HEAP32[($7 + 4 | 0) >> 2] | 0 | 0) | 0 | 0) == (0 | 0) & 1 | 0), HEAP8[(wasm2js_i32$0 + 414 | 0) >> 0] = wasm2js_i32$1; + $42 = HEAP32[($6 + 420 | 0) >> 2] | 0; + operator__28btVector3_20const__2c_20float_20const__29($6 + 380 | 0 | 0, HEAP32[($6 + 424 | 0) >> 2] | 0 | 0, $6 + 416 | 0 | 0); + operator__28btVector3_20const__2c_20btVector3_20const__29_2($6 + 396 | 0 | 0, $42 | 0, $6 + 380 | 0 | 0); + btVector3__btVector3_28_29($6 + 360 | 0 | 0) | 0; + btVector3__btVector3_28_29($6 + 344 | 0 | 0) | 0; + label$4 : { + label$5 : { + if (!((HEAPU8[($6 + 415 | 0) >> 0] | 0) & 1 | 0)) { + break label$5 + } + btTransform__invXform_28btVector3_20const__29_20const($6 + 328 | 0 | 0, btCollisionObject__getWorldTransform_28_29_20const(btCollisionObjectWrapper__getCollisionObject_28_29_20const(HEAP32[($7 + 12 | 0) >> 2] | 0 | 0) | 0 | 0) | 0 | 0, $6 + 396 | 0 | 0); + $74 = 8; + i64toi32_i32$2 = ($6 + 328 | 0) + $74 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $573 = i64toi32_i32$0; + i64toi32_i32$0 = ($6 + 360 | 0) + $74 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $573; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$2 = $6; + i64toi32_i32$1 = HEAP32[($6 + 328 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($6 + 332 | 0) >> 2] | 0; + $577 = i64toi32_i32$1; + i64toi32_i32$1 = $6; + HEAP32[($6 + 360 | 0) >> 2] = $577; + HEAP32[($6 + 364 | 0) >> 2] = i64toi32_i32$0; + btTransform__invXform_28btVector3_20const__29_20const($6 + 312 | 0 | 0, btCollisionObject__getWorldTransform_28_29_20const(btCollisionObjectWrapper__getCollisionObject_28_29_20const(HEAP32[($7 + 8 | 0) >> 2] | 0 | 0) | 0 | 0) | 0 | 0, HEAP32[($6 + 420 | 0) >> 2] | 0 | 0); + $90 = 8; + i64toi32_i32$2 = ($6 + 312 | 0) + $90 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $608 = i64toi32_i32$0; + i64toi32_i32$0 = ($6 + 344 | 0) + $90 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $608; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$2 = $6; + i64toi32_i32$1 = HEAP32[($6 + 312 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($6 + 316 | 0) >> 2] | 0; + $612 = i64toi32_i32$1; + i64toi32_i32$1 = $6; + HEAP32[($6 + 344 | 0) >> 2] = $612; + HEAP32[($6 + 348 | 0) >> 2] = i64toi32_i32$0; + break label$4; + } + btTransform__invXform_28btVector3_20const__29_20const($6 + 296 | 0 | 0, btCollisionObject__getWorldTransform_28_29_20const(btCollisionObjectWrapper__getCollisionObject_28_29_20const(HEAP32[($7 + 8 | 0) >> 2] | 0 | 0) | 0 | 0) | 0 | 0, $6 + 396 | 0 | 0); + $108 = 8; + i64toi32_i32$2 = ($6 + 296 | 0) + $108 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $645 = i64toi32_i32$0; + i64toi32_i32$0 = ($6 + 360 | 0) + $108 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $645; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$2 = $6; + i64toi32_i32$1 = HEAP32[($6 + 296 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($6 + 300 | 0) >> 2] | 0; + $649 = i64toi32_i32$1; + i64toi32_i32$1 = $6; + HEAP32[($6 + 360 | 0) >> 2] = $649; + HEAP32[($6 + 364 | 0) >> 2] = i64toi32_i32$0; + btTransform__invXform_28btVector3_20const__29_20const($6 + 280 | 0 | 0, btCollisionObject__getWorldTransform_28_29_20const(btCollisionObjectWrapper__getCollisionObject_28_29_20const(HEAP32[($7 + 12 | 0) >> 2] | 0 | 0) | 0 | 0) | 0 | 0, HEAP32[($6 + 420 | 0) >> 2] | 0 | 0); + $124 = 8; + i64toi32_i32$2 = ($6 + 280 | 0) + $124 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $680 = i64toi32_i32$0; + i64toi32_i32$0 = ($6 + 344 | 0) + $124 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $680; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$2 = $6; + i64toi32_i32$1 = HEAP32[($6 + 280 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($6 + 284 | 0) >> 2] | 0; + $684 = i64toi32_i32$1; + i64toi32_i32$1 = $6; + HEAP32[($6 + 344 | 0) >> 2] = $684; + HEAP32[($6 + 348 | 0) >> 2] = i64toi32_i32$0; + } + btManifoldPoint__btManifoldPoint_28btVector3_20const__2c_20btVector3_20const__2c_20btVector3_20const__2c_20float_29($6 + 72 | 0 | 0, $6 + 360 | 0 | 0, $6 + 344 | 0 | 0, HEAP32[($6 + 424 | 0) >> 2] | 0 | 0, Math_fround(Math_fround(HEAPF32[($6 + 416 | 0) >> 2]))) | 0; + $148 = ($6 + 72 | 0) + 48 | 0; + i64toi32_i32$2 = $6; + i64toi32_i32$0 = HEAP32[($6 + 396 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($6 + 400 | 0) >> 2] | 0; + $717 = i64toi32_i32$0; + i64toi32_i32$0 = $148; + HEAP32[i64toi32_i32$0 >> 2] = $717; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $150 = 8; + i64toi32_i32$2 = ($6 + 396 | 0) + $150 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $730 = i64toi32_i32$1; + i64toi32_i32$1 = $148 + $150 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $730; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + $161 = ($6 + 72 | 0) + 32 | 0; + i64toi32_i32$2 = HEAP32[($6 + 420 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $743 = i64toi32_i32$0; + i64toi32_i32$0 = $161; + HEAP32[i64toi32_i32$0 >> 2] = $743; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $163 = 8; + i64toi32_i32$2 = i64toi32_i32$2 + $163 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $753 = i64toi32_i32$1; + i64toi32_i32$1 = $161 + $163 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $753; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + (wasm2js_i32$0 = $6, wasm2js_i32$1 = btCollisionObjectWrapper__getCollisionObject_28_29_20const(HEAP32[($7 + 8 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 68 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $6, wasm2js_i32$1 = btCollisionObjectWrapper__getCollisionObject_28_29_20const(HEAP32[($7 + 12 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 64 | 0) >> 2] = wasm2js_i32$1; + label$6 : { + label$7 : { + if (!((HEAPU8[($6 + 415 | 0) >> 0] | 0) & 1 | 0)) { + break label$7 + } + HEAP32[($6 + 172 | 0) >> 2] = HEAP32[($7 + 20 | 0) >> 2] | 0; + HEAP32[($6 + 176 | 0) >> 2] = HEAP32[($7 + 16 | 0) >> 2] | 0; + HEAP32[($6 + 180 | 0) >> 2] = HEAP32[($7 + 28 | 0) >> 2] | 0; + HEAP32[($6 + 184 | 0) >> 2] = HEAP32[($7 + 24 | 0) >> 2] | 0; + label$8 : { + label$9 : { + if (!((HEAP32[(HEAP32[($7 + 12 | 0) >> 2] | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$9 + } + $189 = HEAP32[((HEAP32[(HEAP32[($7 + 12 | 0) >> 2] | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + break label$8; + } + $189 = HEAP32[((HEAP32[($7 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + } + HEAP32[($6 + 272 | 0) >> 2] = $189; + label$10 : { + label$11 : { + if (!((HEAP32[(HEAP32[($7 + 8 | 0) >> 2] | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$11 + } + $204 = HEAP32[((HEAP32[(HEAP32[($7 + 8 | 0) >> 2] | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + break label$10; + } + $204 = HEAP32[((HEAP32[($7 + 8 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + } + HEAP32[($6 + 276 | 0) >> 2] = $204; + (wasm2js_i32$0 = $6, wasm2js_i32$1 = btCollisionObjectWrapper__getCollisionObject_28_29_20const(HEAP32[($7 + 12 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 68 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $6, wasm2js_i32$1 = btCollisionObjectWrapper__getCollisionObject_28_29_20const(HEAP32[($7 + 8 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 64 | 0) >> 2] = wasm2js_i32$1; + break label$6; + } + HEAP32[($6 + 172 | 0) >> 2] = HEAP32[($7 + 16 | 0) >> 2] | 0; + HEAP32[($6 + 176 | 0) >> 2] = HEAP32[($7 + 20 | 0) >> 2] | 0; + HEAP32[($6 + 180 | 0) >> 2] = HEAP32[($7 + 24 | 0) >> 2] | 0; + HEAP32[($6 + 184 | 0) >> 2] = HEAP32[($7 + 28 | 0) >> 2] | 0; + label$12 : { + label$13 : { + if (!((HEAP32[(HEAP32[($7 + 12 | 0) >> 2] | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$13 + } + $227 = HEAP32[((HEAP32[(HEAP32[($7 + 12 | 0) >> 2] | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + break label$12; + } + $227 = HEAP32[((HEAP32[($7 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + } + HEAP32[($6 + 276 | 0) >> 2] = $227; + label$14 : { + label$15 : { + if (!((HEAP32[(HEAP32[($7 + 8 | 0) >> 2] | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$15 + } + $242 = HEAP32[((HEAP32[(HEAP32[($7 + 8 | 0) >> 2] | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + break label$14; + } + $242 = HEAP32[((HEAP32[($7 + 8 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + } + HEAP32[($6 + 272 | 0) >> 2] = $242; + } + HEAP32[($6 + 60 | 0) >> 2] = HEAP32[($6 + 272 | 0) >> 2] | 0; + HEAP32[($6 + 56 | 0) >> 2] = HEAP32[($6 + 276 | 0) >> 2] | 0; + label$16 : { + if (!((btCollisionShape__isCompound_28_29_20const(HEAP32[($6 + 60 | 0) >> 2] | 0 | 0) | 0) & 1 | 0)) { + break label$16 + } + HEAP32[($6 + 52 | 0) >> 2] = HEAP32[($6 + 60 | 0) >> 2] | 0; + $255 = btCompoundShape__getChildShape_28int_29_20const(HEAP32[($6 + 52 | 0) >> 2] | 0 | 0, HEAP32[($6 + 180 | 0) >> 2] | 0 | 0) | 0; + HEAP32[($6 + 272 | 0) >> 2] = $255; + HEAP32[($6 + 60 | 0) >> 2] = $255; + } + label$17 : { + if (!((btCollisionShape__isCompound_28_29_20const(HEAP32[($6 + 56 | 0) >> 2] | 0 | 0) | 0) & 1 | 0)) { + break label$17 + } + HEAP32[($6 + 48 | 0) >> 2] = HEAP32[($6 + 56 | 0) >> 2] | 0; + $263 = btCompoundShape__getChildShape_28int_29_20const(HEAP32[($6 + 48 | 0) >> 2] | 0 | 0, HEAP32[($6 + 184 | 0) >> 2] | 0 | 0) | 0; + HEAP32[($6 + 276 | 0) >> 2] = $263; + HEAP32[($6 + 56 | 0) >> 2] = $263; + } + label$18 : { + label$19 : { + if (!((btCollisionShape__getMaterial_28_29_20const(HEAP32[($6 + 60 | 0) >> 2] | 0 | 0) | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$19 + } + if (!((btCollisionShape__getMaterial_28_29_20const(HEAP32[($6 + 56 | 0) >> 2] | 0 | 0) | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$19 + } + (wasm2js_i32$0 = $6, wasm2js_i32$1 = btCollisionShape__getMaterial_28_29_20const(HEAP32[($6 + 60 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 44 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $6, wasm2js_i32$1 = btCollisionShape__getMaterial_28_29_20const(HEAP32[($6 + 56 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 40 | 0) >> 2] = wasm2js_i32$1; + cc__ccMaterial__combined_28cc__ccMaterial_20const__29_20const($6 + 20 | 0 | 0, HEAP32[($6 + 44 | 0) >> 2] | 0 | 0, HEAP32[($6 + 40 | 0) >> 2] | 0 | 0); + HEAP32[($6 + 36 | 0) >> 2] = $6 + 20 | 0; + HEAPF32[($6 + 168 | 0) >> 2] = Math_fround(HEAPF32[(HEAP32[($6 + 36 | 0) >> 2] | 0) >> 2]); + HEAPF32[($6 + 156 | 0) >> 2] = Math_fround(HEAPF32[((HEAP32[($6 + 36 | 0) >> 2] | 0) + 4 | 0) >> 2]); + HEAPF32[($6 + 160 | 0) >> 2] = Math_fround(HEAPF32[((HEAP32[($6 + 36 | 0) >> 2] | 0) + 8 | 0) >> 2]); + HEAPF32[($6 + 164 | 0) >> 2] = Math_fround(HEAPF32[((HEAP32[($6 + 36 | 0) >> 2] | 0) + 12 | 0) >> 2]); + break label$18; + } + (wasm2js_i32$0 = $6, wasm2js_f32$0 = Math_fround(btManifoldResult__calculateCombinedFriction_28btCollisionObject_20const__2c_20btCollisionObject_20const__29(btCollisionObjectWrapper__getCollisionObject_28_29_20const(HEAP32[($7 + 8 | 0) >> 2] | 0 | 0) | 0 | 0, btCollisionObjectWrapper__getCollisionObject_28_29_20const(HEAP32[($7 + 12 | 0) >> 2] | 0 | 0) | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 156 | 0) >> 2] = wasm2js_f32$0; + (wasm2js_i32$0 = $6, wasm2js_f32$0 = Math_fround(btManifoldResult__calculateCombinedRestitution_28btCollisionObject_20const__2c_20btCollisionObject_20const__29(btCollisionObjectWrapper__getCollisionObject_28_29_20const(HEAP32[($7 + 8 | 0) >> 2] | 0 | 0) | 0 | 0, btCollisionObjectWrapper__getCollisionObject_28_29_20const(HEAP32[($7 + 12 | 0) >> 2] | 0 | 0) | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 168 | 0) >> 2] = wasm2js_f32$0; + (wasm2js_i32$0 = $6, wasm2js_f32$0 = Math_fround(btManifoldResult__calculateCombinedRollingFriction_28btCollisionObject_20const__2c_20btCollisionObject_20const__29(btCollisionObjectWrapper__getCollisionObject_28_29_20const(HEAP32[($7 + 8 | 0) >> 2] | 0 | 0) | 0 | 0, btCollisionObjectWrapper__getCollisionObject_28_29_20const(HEAP32[($7 + 12 | 0) >> 2] | 0 | 0) | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 160 | 0) >> 2] = wasm2js_f32$0; + (wasm2js_i32$0 = $6, wasm2js_f32$0 = Math_fround(btManifoldResult__calculateCombinedSpinningFriction_28btCollisionObject_20const__2c_20btCollisionObject_20const__29(btCollisionObjectWrapper__getCollisionObject_28_29_20const(HEAP32[($7 + 8 | 0) >> 2] | 0 | 0) | 0 | 0, btCollisionObjectWrapper__getCollisionObject_28_29_20const(HEAP32[($7 + 12 | 0) >> 2] | 0 | 0) | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 164 | 0) >> 2] = wasm2js_f32$0; + } + void_20btPlaneSpace1_btVector3__28btVector3_20const__2c_20btVector3__2c_20btVector3__29(($6 + 72 | 0) + 64 | 0 | 0, ($6 + 72 | 0) + 168 | 0 | 0, ($6 + 72 | 0) + 184 | 0 | 0); + (wasm2js_i32$0 = $6, wasm2js_i32$1 = btPersistentManifold__getCacheEntry_28btManifoldPoint_20const__29_20const(HEAP32[($7 + 4 | 0) >> 2] | 0 | 0, $6 + 72 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + label$20 : { + label$21 : { + if (!((HEAP32[($6 + 16 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0)) { + break label$21 + } + btPersistentManifold__replaceContactPoint_28btManifoldPoint_20const__2c_20int_29(HEAP32[($7 + 4 | 0) >> 2] | 0 | 0, $6 + 72 | 0 | 0, HEAP32[($6 + 16 | 0) >> 2] | 0 | 0); + break label$20; + } + (wasm2js_i32$0 = $6, wasm2js_i32$1 = btPersistentManifold__addManifoldPoint_28btManifoldPoint_20const__2c_20bool_29(HEAP32[($7 + 4 | 0) >> 2] | 0 | 0, $6 + 72 | 0 | 0, 0 & 1 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + } + label$22 : { + if (!((HEAP32[(0 + 114060 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$22 + } + label$23 : { + if ((btCollisionObject__getCollisionFlags_28_29_20const(btCollisionObjectWrapper__getCollisionObject_28_29_20const(HEAP32[($7 + 8 | 0) >> 2] | 0 | 0) | 0 | 0) | 0) & 8 | 0) { + break label$23 + } + if (!((btCollisionObject__getCollisionFlags_28_29_20const(btCollisionObjectWrapper__getCollisionObject_28_29_20const(HEAP32[($7 + 12 | 0) >> 2] | 0 | 0) | 0 | 0) | 0) & 8 | 0)) { + break label$22 + } + } + label$24 : { + label$25 : { + if (!((HEAPU8[($6 + 415 | 0) >> 0] | 0) & 1 | 0)) { + break label$25 + } + $382 = HEAP32[($7 + 12 | 0) >> 2] | 0; + break label$24; + } + $382 = HEAP32[($7 + 8 | 0) >> 2] | 0; + } + HEAP32[($6 + 12 | 0) >> 2] = $382; + label$26 : { + label$27 : { + if (!((HEAPU8[($6 + 415 | 0) >> 0] | 0) & 1 | 0)) { + break label$27 + } + $389 = HEAP32[($7 + 8 | 0) >> 2] | 0; + break label$26; + } + $389 = HEAP32[($7 + 12 | 0) >> 2] | 0; + } + HEAP32[($6 + 8 | 0) >> 2] = $389; + $393 = HEAP32[(0 + 114060 | 0) >> 2] | 0; + FUNCTION_TABLE[$393 | 0](btPersistentManifold__getContactPoint_28int_29(HEAP32[($7 + 4 | 0) >> 2] | 0 | 0, HEAP32[($6 + 16 | 0) >> 2] | 0 | 0) | 0, HEAP32[($6 + 12 | 0) >> 2] | 0, HEAP32[($6 + 172 | 0) >> 2] | 0, HEAP32[($6 + 180 | 0) >> 2] | 0, HEAP32[($6 + 8 | 0) >> 2] | 0, HEAP32[($6 + 176 | 0) >> 2] | 0, HEAP32[($6 + 184 | 0) >> 2] | 0) | 0; + } + if (!((HEAP32[(0 + 115360 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$2 + } + if (!((HEAPU8[($6 + 414 | 0) >> 0] | 0) & 1 | 0)) { + break label$2 + } + FUNCTION_TABLE[HEAP32[(0 + 115360 | 0) >> 2] | 0 | 0]($7 + 4 | 0); + } + __stack_pointer = $6 + 432 | 0; + return; + } + + function cc__ccMaterial__combined_28cc__ccMaterial_20const__29_20const($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $5 = 0, $6 = 0; + $5 = __stack_pointer - 32 | 0; + __stack_pointer = $5; + HEAP32[($5 + 28 | 0) >> 2] = $1; + HEAP32[($5 + 24 | 0) >> 2] = $2; + $6 = HEAP32[($5 + 28 | 0) >> 2] | 0; + HEAPF32[($5 + 20 | 0) >> 2] = Math_fround(Math_fround(HEAPF32[$6 >> 2]) * Math_fround(HEAPF32[(HEAP32[($5 + 24 | 0) >> 2] | 0) >> 2])); + HEAPF32[($5 + 16 | 0) >> 2] = Math_fround(Math_fround(HEAPF32[($6 + 4 | 0) >> 2]) * Math_fround(HEAPF32[((HEAP32[($5 + 24 | 0) >> 2] | 0) + 4 | 0) >> 2])); + HEAPF32[($5 + 12 | 0) >> 2] = Math_fround(Math_fround(Math_fround(HEAPF32[($6 + 8 | 0) >> 2]) * Math_fround(HEAPF32[((HEAP32[($5 + 24 | 0) >> 2] | 0) + 4 | 0) >> 2])) + Math_fround(Math_fround(HEAPF32[((HEAP32[($5 + 24 | 0) >> 2] | 0) + 8 | 0) >> 2]) * Math_fround(HEAPF32[($6 + 4 | 0) >> 2]))); + HEAPF32[($5 + 8 | 0) >> 2] = Math_fround(Math_fround(Math_fround(HEAPF32[($6 + 12 | 0) >> 2]) * Math_fround(HEAPF32[((HEAP32[($5 + 24 | 0) >> 2] | 0) + 4 | 0) >> 2])) + Math_fround(Math_fround(HEAPF32[((HEAP32[($5 + 24 | 0) >> 2] | 0) + 12 | 0) >> 2]) * Math_fround(HEAPF32[($6 + 4 | 0) >> 2]))); + HEAPF32[($5 + 4 | 0) >> 2] = Math_fround(10.0); + label$1 : { + if (!(Math_fround(HEAPF32[($5 + 16 | 0) >> 2]) < Math_fround(-10.0) & 1 | 0)) { + break label$1 + } + HEAPF32[($5 + 16 | 0) >> 2] = Math_fround(-10.0); + } + label$2 : { + if (!(Math_fround(HEAPF32[($5 + 16 | 0) >> 2]) > Math_fround(10.0) & 1 | 0)) { + break label$2 + } + HEAPF32[($5 + 16 | 0) >> 2] = Math_fround(10.0); + } + label$3 : { + if (!(Math_fround(HEAPF32[($5 + 12 | 0) >> 2]) < Math_fround(-10.0) & 1 | 0)) { + break label$3 + } + HEAPF32[($5 + 12 | 0) >> 2] = Math_fround(-10.0); + } + label$4 : { + if (!(Math_fround(HEAPF32[($5 + 12 | 0) >> 2]) > Math_fround(10.0) & 1 | 0)) { + break label$4 + } + HEAPF32[($5 + 12 | 0) >> 2] = Math_fround(10.0); + } + label$5 : { + if (!(Math_fround(HEAPF32[($5 + 8 | 0) >> 2]) < Math_fround(-10.0) & 1 | 0)) { + break label$5 + } + HEAPF32[($5 + 8 | 0) >> 2] = Math_fround(-10.0); + } + label$6 : { + if (!(Math_fround(HEAPF32[($5 + 8 | 0) >> 2]) > Math_fround(10.0) & 1 | 0)) { + break label$6 + } + HEAPF32[($5 + 8 | 0) >> 2] = Math_fround(10.0); + } + cc__ccMaterial__ccMaterial_28float_2c_20float_2c_20float_2c_20float_29($0 | 0, Math_fround(Math_fround(HEAPF32[($5 + 20 | 0) >> 2])), Math_fround(Math_fround(HEAPF32[($5 + 16 | 0) >> 2])), Math_fround(Math_fround(HEAPF32[($5 + 12 | 0) >> 2])), Math_fround(Math_fround(HEAPF32[($5 + 8 | 0) >> 2]))) | 0; + __stack_pointer = $5 + 32 | 0; + return; + } + + function btPersistentManifold__replaceContactPoint_28btManifoldPoint_20const__2c_20int_29($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $5 = 0, $6 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5 = __stack_pointer - 64 | 0; + __stack_pointer = $5; + HEAP32[($5 + 60 | 0) >> 2] = $0; + HEAP32[($5 + 56 | 0) >> 2] = $1; + HEAP32[($5 + 52 | 0) >> 2] = $2; + $6 = HEAP32[($5 + 60 | 0) >> 2] | 0; + label$1 : { + if ((btPersistentManifold__validContactDistance_28btManifoldPoint_20const__29_20const($6 | 0, HEAP32[($5 + 56 | 0) >> 2] | 0 | 0) | 0) & 1 | 0) { + break label$1 + } + __assert_fail(86236 | 0, 79943 | 0, 190 | 0, 67620 | 0); + wasm2js_trap(); + } + (wasm2js_i32$0 = $5, wasm2js_i32$1 = btManifoldPoint__getLifeTime_28_29_20const(($6 + 4 | 0) + Math_imul(HEAP32[($5 + 52 | 0) >> 2] | 0, 208) | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 48 | 0) >> 2] = wasm2js_i32$1; + HEAPF32[($5 + 44 | 0) >> 2] = Math_fround(HEAPF32[((($6 + 4 | 0) + Math_imul(HEAP32[($5 + 52 | 0) >> 2] | 0, 208) | 0) + 132 | 0) >> 2]); + HEAPF32[($5 + 40 | 0) >> 2] = Math_fround(HEAPF32[((($6 + 4 | 0) + Math_imul(HEAP32[($5 + 52 | 0) >> 2] | 0, 208) | 0) + 136 | 0) >> 2]); + HEAPF32[($5 + 36 | 0) >> 2] = Math_fround(HEAPF32[((($6 + 4 | 0) + Math_imul(HEAP32[($5 + 52 | 0) >> 2] | 0, 208) | 0) + 140 | 0) >> 2]); + HEAP8[($5 + 35 | 0) >> 0] = 1; + label$2 : { + if (!((HEAP32[((HEAP32[($5 + 56 | 0) >> 2] | 0) + 128 | 0) >> 2] | 0) & 16 | 0)) { + break label$2 + } + HEAPF32[($5 + 28 | 0) >> 2] = Math_fround(HEAPF32[((($6 + 4 | 0) + Math_imul(HEAP32[($5 + 52 | 0) >> 2] | 0, 208) | 0) + 84 | 0) >> 2]); + HEAPF32[($5 + 24 | 0) >> 2] = Math_fround(0 | 0); + HEAPF32[($5 + 20 | 0) >> 2] = Math_fround(Math_fround(Math_fround(HEAPF32[($5 + 40 | 0) >> 2]) * Math_fround(HEAPF32[($5 + 40 | 0) >> 2])) + Math_fround(Math_fround(HEAPF32[($5 + 36 | 0) >> 2]) * Math_fround(HEAPF32[($5 + 36 | 0) >> 2]))); + HEAPF32[($5 + 16 | 0) >> 2] = Math_fround(Math_fround(Math_fround(HEAPF32[($5 + 28 | 0) >> 2]) * Math_fround(HEAPF32[($5 + 44 | 0) >> 2])) + Math_fround(HEAPF32[($5 + 24 | 0) >> 2])); + HEAPF32[($5 + 16 | 0) >> 2] = Math_fround(Math_fround(HEAPF32[($5 + 16 | 0) >> 2]) * Math_fround(HEAPF32[($5 + 16 | 0) >> 2])); + HEAP8[($5 + 35 | 0) >> 0] = Math_fround(HEAPF32[($5 + 20 | 0) >> 2]) > Math_fround(HEAPF32[($5 + 16 | 0) >> 2]) & 1 | 0; + } + label$3 : { + if (!((HEAPU8[($5 + 35 | 0) >> 0] | 0) & 1 | 0)) { + break label$3 + } + label$4 : { + if ((HEAP32[($5 + 48 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0) { + break label$4 + } + __assert_fail(86102 | 0, 79943 | 0, 218 | 0, 67620 | 0); + wasm2js_trap(); + } + HEAP32[($5 + 12 | 0) >> 2] = HEAP32[((($6 + 4 | 0) + Math_imul(HEAP32[($5 + 52 | 0) >> 2] | 0, 208) | 0) + 116 | 0) >> 2] | 0; + __memcpy(($6 + 4 | 0) + Math_imul(HEAP32[($5 + 52 | 0) >> 2] | 0, 208) | 0 | 0, HEAP32[($5 + 56 | 0) >> 2] | 0 | 0, 208 | 0) | 0; + HEAP32[((($6 + 4 | 0) + Math_imul(HEAP32[($5 + 52 | 0) >> 2] | 0, 208) | 0) + 116 | 0) >> 2] = HEAP32[($5 + 12 | 0) >> 2] | 0; + HEAPF32[((($6 + 4 | 0) + Math_imul(HEAP32[($5 + 52 | 0) >> 2] | 0, 208) | 0) + 132 | 0) >> 2] = Math_fround(HEAPF32[($5 + 44 | 0) >> 2]); + HEAPF32[((($6 + 4 | 0) + Math_imul(HEAP32[($5 + 52 | 0) >> 2] | 0, 208) | 0) + 136 | 0) >> 2] = Math_fround(HEAPF32[($5 + 40 | 0) >> 2]); + HEAPF32[((($6 + 4 | 0) + Math_imul(HEAP32[($5 + 52 | 0) >> 2] | 0, 208) | 0) + 140 | 0) >> 2] = Math_fround(HEAPF32[($5 + 36 | 0) >> 2]); + } + HEAP32[((($6 + 4 | 0) + Math_imul(HEAP32[($5 + 52 | 0) >> 2] | 0, 208) | 0) + 164 | 0) >> 2] = HEAP32[($5 + 48 | 0) >> 2] | 0; + __stack_pointer = $5 + 64 | 0; + return; + } + + function btPersistentManifold__validContactDistance_28btManifoldPoint_20const__29_20const($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, $11 = 0; + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + $11 = Math_fround(HEAPF32[((HEAP32[($4 + 8 | 0) >> 2] | 0) + 80 | 0) >> 2]) <= Math_fround(btPersistentManifold__getContactBreakingThreshold_28_29_20const(HEAP32[($4 + 12 | 0) >> 2] | 0 | 0)) & 1 | 0; + __stack_pointer = $4 + 16 | 0; + return $11 | 0; + } + + function btManifoldResult___btManifoldResult_28_29_1($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + btManifoldResult___btManifoldResult_28_29($4 | 0) | 0; + operator_20delete_28void__29($4 | 0); + __stack_pointer = $3 + 16 | 0; + return; + } + + function _GLOBAL__sub_I_btManifoldResult_cpp() { + __cxx_global_var_init_24(); + return; + } + + function __cxx_global_var_init_25() { + btInfMaskConverter__btInfMaskConverter_28int_29(114064 | 0, 2139095040 | 0) | 0; + return; + } + + function btSphereSphereCollisionAlgorithm__btSphereSphereCollisionAlgorithm_28btPersistentManifold__2c_20btCollisionAlgorithmConstructionInfo_20const__2c_20btCollisionObjectWrapper_20const__2c_20btCollisionObjectWrapper_20const__29($0, $1, $2, $3, $4) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + $4 = $4 | 0; + var $7 = 0, $8 = 0, $24 = 0, $33 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0, wasm2js_i32$2 = 0, wasm2js_i32$3 = 0, wasm2js_i32$4 = 0, wasm2js_i32$5 = 0; + $7 = __stack_pointer - 32 | 0; + __stack_pointer = $7; + HEAP32[($7 + 24 | 0) >> 2] = $0; + HEAP32[($7 + 20 | 0) >> 2] = $1; + HEAP32[($7 + 16 | 0) >> 2] = $2; + HEAP32[($7 + 12 | 0) >> 2] = $3; + HEAP32[($7 + 8 | 0) >> 2] = $4; + $8 = HEAP32[($7 + 24 | 0) >> 2] | 0; + HEAP32[($7 + 28 | 0) >> 2] = $8; + btActivatingCollisionAlgorithm__btActivatingCollisionAlgorithm_28btCollisionAlgorithmConstructionInfo_20const__2c_20btCollisionObjectWrapper_20const__2c_20btCollisionObjectWrapper_20const__29($8 | 0, HEAP32[($7 + 16 | 0) >> 2] | 0 | 0, HEAP32[($7 + 12 | 0) >> 2] | 0 | 0, HEAP32[($7 + 8 | 0) >> 2] | 0 | 0) | 0; + HEAP32[$8 >> 2] = 96572 + 8 | 0; + HEAP8[($8 + 8 | 0) >> 0] = 0; + HEAP32[($8 + 12 | 0) >> 2] = HEAP32[($7 + 20 | 0) >> 2] | 0; + label$1 : { + if ((HEAP32[($8 + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$1 + } + $24 = HEAP32[($8 + 4 | 0) >> 2] | 0; + (wasm2js_i32$0 = $8, wasm2js_i32$1 = ((((wasm2js_i32$3 = $24, wasm2js_i32$4 = btCollisionObjectWrapper__getCollisionObject_28_29_20const(HEAP32[($7 + 12 | 0) >> 2] | 0 | 0) | 0), wasm2js_i32$5 = btCollisionObjectWrapper__getCollisionObject_28_29_20const(HEAP32[($7 + 8 | 0) >> 2] | 0 | 0) | 0), wasm2js_i32$2 = HEAP32[((HEAP32[$24 >> 2] | 0) + 12 | 0) >> 2] | 0 | 0), FUNCTION_TABLE[wasm2js_i32$2](wasm2js_i32$3 | 0, wasm2js_i32$4 | 0, wasm2js_i32$5 | 0) | 0)), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + HEAP8[($8 + 8 | 0) >> 0] = 1; + } + $33 = HEAP32[($7 + 28 | 0) >> 2] | 0; + __stack_pointer = $7 + 32 | 0; + return $33 | 0; + } + + function btSphereSphereCollisionAlgorithm___btSphereSphereCollisionAlgorithm_28_29($0) { + $0 = $0 | 0; + var $4 = 0, $3 = 0, $18 = 0, $22 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 8 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 8 | 0) >> 2] | 0; + HEAP32[($3 + 12 | 0) >> 2] = $4; + HEAP32[$4 >> 2] = 96572 + 8 | 0; + label$1 : { + if (!((HEAPU8[($4 + 8 | 0) >> 0] | 0) & 1 | 0)) { + break label$1 + } + label$2 : { + if (!((HEAP32[($4 + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$2 + } + $18 = HEAP32[($4 + 4 | 0) >> 2] | 0; + FUNCTION_TABLE[HEAP32[((HEAP32[$18 >> 2] | 0) + 16 | 0) >> 2] | 0 | 0]($18, HEAP32[($4 + 12 | 0) >> 2] | 0); + } + } + btActivatingCollisionAlgorithm___btActivatingCollisionAlgorithm_28_29($4 | 0) | 0; + $22 = HEAP32[($3 + 12 | 0) >> 2] | 0; + __stack_pointer = $3 + 16 | 0; + return $22 | 0; + } + + function btSphereSphereCollisionAlgorithm___btSphereSphereCollisionAlgorithm_28_29_1($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + FUNCTION_TABLE[753 | 0]($4) | 0; + operator_20delete_28void__29($4 | 0); + __stack_pointer = $3 + 16 | 0; + return; + } + + function btSphereSphereCollisionAlgorithm__processCollision_28btCollisionObjectWrapper_20const__2c_20btCollisionObjectWrapper_20const__2c_20btDispatcherInfo_20const__2c_20btManifoldResult__29($0, $1, $2, $3, $4) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + $4 = $4 | 0; + var $7 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $8 = 0, i64toi32_i32$2 = 0, $86 = 0, $113 = 0, $322 = 0, $326 = 0, $97 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0, wasm2js_f32$0 = Math_fround(0); + $7 = __stack_pointer - 144 | 0; + __stack_pointer = $7; + HEAP32[($7 + 140 | 0) >> 2] = $0; + HEAP32[($7 + 136 | 0) >> 2] = $1; + HEAP32[($7 + 132 | 0) >> 2] = $2; + HEAP32[($7 + 128 | 0) >> 2] = $3; + HEAP32[($7 + 124 | 0) >> 2] = $4; + $8 = HEAP32[($7 + 140 | 0) >> 2] | 0; + label$1 : { + label$2 : { + if ((HEAP32[($8 + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$2 + } + break label$1; + } + btManifoldResult__setPersistentManifold_28btPersistentManifold__29(HEAP32[($7 + 124 | 0) >> 2] | 0 | 0, HEAP32[($8 + 12 | 0) >> 2] | 0 | 0); + (wasm2js_i32$0 = $7, wasm2js_i32$1 = btCollisionObjectWrapper__getCollisionShape_28_29_20const(HEAP32[($7 + 136 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 120 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $7, wasm2js_i32$1 = btCollisionObjectWrapper__getCollisionShape_28_29_20const(HEAP32[($7 + 132 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 116 | 0) >> 2] = wasm2js_i32$1; + operator__28btVector3_20const__2c_20btVector3_20const__29($7 + 100 | 0 | 0, btTransform__getOrigin_28_29_20const(btCollisionObjectWrapper__getWorldTransform_28_29_20const(HEAP32[($7 + 136 | 0) >> 2] | 0 | 0) | 0 | 0) | 0 | 0, btTransform__getOrigin_28_29_20const(btCollisionObjectWrapper__getWorldTransform_28_29_20const(HEAP32[($7 + 132 | 0) >> 2] | 0 | 0) | 0 | 0) | 0 | 0); + (wasm2js_i32$0 = $7, wasm2js_f32$0 = Math_fround(btVector3__length_28_29_20const($7 + 100 | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 96 | 0) >> 2] = wasm2js_f32$0; + (wasm2js_i32$0 = $7, wasm2js_f32$0 = Math_fround(btSphereShape__getRadius_28_29_20const(HEAP32[($7 + 120 | 0) >> 2] | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 92 | 0) >> 2] = wasm2js_f32$0; + (wasm2js_i32$0 = $7, wasm2js_f32$0 = Math_fround(btSphereShape__getRadius_28_29_20const(HEAP32[($7 + 116 | 0) >> 2] | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 88 | 0) >> 2] = wasm2js_f32$0; + btPersistentManifold__clearManifold_28_29(HEAP32[($8 + 12 | 0) >> 2] | 0 | 0); + label$3 : { + if (!(Math_fround(HEAPF32[($7 + 96 | 0) >> 2]) > Math_fround(Math_fround(Math_fround(HEAPF32[($7 + 92 | 0) >> 2]) + Math_fround(HEAPF32[($7 + 88 | 0) >> 2])) + Math_fround(HEAPF32[((HEAP32[($7 + 124 | 0) >> 2] | 0) + 32 | 0) >> 2])) & 1 | 0)) { + break label$3 + } + break label$1; + } + HEAPF32[($7 + 84 | 0) >> 2] = Math_fround(Math_fround(HEAPF32[($7 + 96 | 0) >> 2]) - Math_fround(Math_fround(HEAPF32[($7 + 92 | 0) >> 2]) + Math_fround(HEAPF32[($7 + 88 | 0) >> 2]))); + HEAPF32[($7 + 60 | 0) >> 2] = Math_fround(1.0); + HEAPF32[($7 + 56 | 0) >> 2] = Math_fround(0 | 0); + HEAPF32[($7 + 52 | 0) >> 2] = Math_fround(0 | 0); + btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($7 + 64 | 0 | 0, $7 + 60 | 0 | 0, $7 + 56 | 0 | 0, $7 + 52 | 0 | 0) | 0; + label$4 : { + if (!(Math_fround(HEAPF32[($7 + 96 | 0) >> 2]) > Math_fround(1.1920928955078125e-07) & 1 | 0)) { + break label$4 + } + operator__28btVector3_20const__2c_20float_20const__29_1($7 + 36 | 0 | 0, $7 + 100 | 0 | 0, $7 + 96 | 0 | 0); + $86 = 8; + i64toi32_i32$2 = ($7 + 36 | 0) + $86 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $322 = i64toi32_i32$0; + i64toi32_i32$0 = ($7 + 64 | 0) + $86 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $322; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$2 = $7; + i64toi32_i32$1 = HEAP32[($7 + 36 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($7 + 40 | 0) >> 2] | 0; + $326 = i64toi32_i32$1; + i64toi32_i32$1 = $7; + HEAP32[($7 + 64 | 0) >> 2] = $326; + HEAP32[($7 + 68 | 0) >> 2] = i64toi32_i32$0; + } + $97 = btTransform__getOrigin_28_29_20const(btCollisionObjectWrapper__getWorldTransform_28_29_20const(HEAP32[($7 + 132 | 0) >> 2] | 0 | 0) | 0 | 0) | 0; + operator__28float_20const__2c_20btVector3_20const__29($7 + 4 | 0 | 0, $7 + 88 | 0 | 0, $7 + 64 | 0 | 0); + operator__28btVector3_20const__2c_20btVector3_20const__29_2($7 + 20 | 0 | 0, $97 | 0, $7 + 4 | 0 | 0); + $113 = HEAP32[($7 + 124 | 0) >> 2] | 0; + FUNCTION_TABLE[HEAP32[((HEAP32[$113 >> 2] | 0) + 16 | 0) >> 2] | 0 | 0]($113, $7 + 64 | 0, $7 + 20 | 0, Math_fround(HEAPF32[($7 + 84 | 0) >> 2])); + } + __stack_pointer = $7 + 144 | 0; + return; + } + + function btSphereSphereCollisionAlgorithm__calculateTimeOfImpact_28btCollisionObject__2c_20btCollisionObject__2c_20btDispatcherInfo_20const__2c_20btManifoldResult__29($0, $1, $2, $3, $4) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + $4 = $4 | 0; + var $7 = 0; + $7 = __stack_pointer - 32 | 0; + HEAP32[($7 + 28 | 0) >> 2] = $0; + HEAP32[($7 + 24 | 0) >> 2] = $1; + HEAP32[($7 + 20 | 0) >> 2] = $2; + HEAP32[($7 + 16 | 0) >> 2] = $3; + HEAP32[($7 + 12 | 0) >> 2] = $4; + return Math_fround(Math_fround(1.0)); + } + + function btSphereSphereCollisionAlgorithm__getAllContactManifolds_28btAlignedObjectArray_btPersistentManifold____29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, $5 = 0; + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; + label$1 : { + if (!((HEAP32[($5 + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + if (!((HEAPU8[($5 + 8 | 0) >> 0] | 0) & 1 | 0)) { + break label$1 + } + btAlignedObjectArray_btPersistentManifold____push_back_28btPersistentManifold__20const__29(HEAP32[($4 + 8 | 0) >> 2] | 0 | 0, $5 + 12 | 0 | 0); + } + __stack_pointer = $4 + 16 | 0; + return; + } + + function _GLOBAL__sub_I_btSphereSphereCollisionAlgorithm_cpp() { + __cxx_global_var_init_25(); + return; + } + + function __cxx_global_var_init_26() { + btInfMaskConverter__btInfMaskConverter_28int_29(114068 | 0, 2139095040 | 0) | 0; + return; + } + + function btSphereTriangleCollisionAlgorithm__btSphereTriangleCollisionAlgorithm_28btPersistentManifold__2c_20btCollisionAlgorithmConstructionInfo_20const__2c_20btCollisionObjectWrapper_20const__2c_20btCollisionObjectWrapper_20const__2c_20bool_29($0, $1, $2, $3, $4, $5) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + $4 = $4 | 0; + $5 = $5 | 0; + var $8 = 0, $10 = 0, $29 = 0, $38 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0, wasm2js_i32$2 = 0, wasm2js_i32$3 = 0, wasm2js_i32$4 = 0, wasm2js_i32$5 = 0; + $8 = __stack_pointer - 32 | 0; + __stack_pointer = $8; + HEAP32[($8 + 24 | 0) >> 2] = $0; + HEAP32[($8 + 20 | 0) >> 2] = $1; + HEAP32[($8 + 16 | 0) >> 2] = $2; + HEAP32[($8 + 12 | 0) >> 2] = $3; + HEAP32[($8 + 8 | 0) >> 2] = $4; + HEAP8[($8 + 7 | 0) >> 0] = $5; + $10 = HEAP32[($8 + 24 | 0) >> 2] | 0; + HEAP32[($8 + 28 | 0) >> 2] = $10; + btActivatingCollisionAlgorithm__btActivatingCollisionAlgorithm_28btCollisionAlgorithmConstructionInfo_20const__2c_20btCollisionObjectWrapper_20const__2c_20btCollisionObjectWrapper_20const__29($10 | 0, HEAP32[($8 + 16 | 0) >> 2] | 0 | 0, HEAP32[($8 + 12 | 0) >> 2] | 0 | 0, HEAP32[($8 + 8 | 0) >> 2] | 0 | 0) | 0; + HEAP32[$10 >> 2] = 96648 + 8 | 0; + HEAP8[($10 + 8 | 0) >> 0] = 0; + HEAP32[($10 + 12 | 0) >> 2] = HEAP32[($8 + 20 | 0) >> 2] | 0; + HEAP8[($10 + 16 | 0) >> 0] = (HEAPU8[($8 + 7 | 0) >> 0] | 0) & 1 | 0; + label$1 : { + if ((HEAP32[($10 + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$1 + } + $29 = HEAP32[($10 + 4 | 0) >> 2] | 0; + (wasm2js_i32$0 = $10, wasm2js_i32$1 = ((((wasm2js_i32$3 = $29, wasm2js_i32$4 = btCollisionObjectWrapper__getCollisionObject_28_29_20const(HEAP32[($8 + 12 | 0) >> 2] | 0 | 0) | 0), wasm2js_i32$5 = btCollisionObjectWrapper__getCollisionObject_28_29_20const(HEAP32[($8 + 8 | 0) >> 2] | 0 | 0) | 0), wasm2js_i32$2 = HEAP32[((HEAP32[$29 >> 2] | 0) + 12 | 0) >> 2] | 0 | 0), FUNCTION_TABLE[wasm2js_i32$2](wasm2js_i32$3 | 0, wasm2js_i32$4 | 0, wasm2js_i32$5 | 0) | 0)), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + HEAP8[($10 + 8 | 0) >> 0] = 1; + } + $38 = HEAP32[($8 + 28 | 0) >> 2] | 0; + __stack_pointer = $8 + 32 | 0; + return $38 | 0; + } + + function btSphereTriangleCollisionAlgorithm___btSphereTriangleCollisionAlgorithm_28_29($0) { + $0 = $0 | 0; + var $4 = 0, $3 = 0, $18 = 0, $22 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 8 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 8 | 0) >> 2] | 0; + HEAP32[($3 + 12 | 0) >> 2] = $4; + HEAP32[$4 >> 2] = 96648 + 8 | 0; + label$1 : { + if (!((HEAPU8[($4 + 8 | 0) >> 0] | 0) & 1 | 0)) { + break label$1 + } + label$2 : { + if (!((HEAP32[($4 + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$2 + } + $18 = HEAP32[($4 + 4 | 0) >> 2] | 0; + FUNCTION_TABLE[HEAP32[((HEAP32[$18 >> 2] | 0) + 16 | 0) >> 2] | 0 | 0]($18, HEAP32[($4 + 12 | 0) >> 2] | 0); + } + } + btActivatingCollisionAlgorithm___btActivatingCollisionAlgorithm_28_29($4 | 0) | 0; + $22 = HEAP32[($3 + 12 | 0) >> 2] | 0; + __stack_pointer = $3 + 16 | 0; + return $22 | 0; + } + + function btSphereTriangleCollisionAlgorithm___btSphereTriangleCollisionAlgorithm_28_29_1($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + FUNCTION_TABLE[758 | 0]($4) | 0; + operator_20delete_28void__29($4 | 0); + __stack_pointer = $3 + 16 | 0; + return; + } + + function btSphereTriangleCollisionAlgorithm__processCollision_28btCollisionObjectWrapper_20const__2c_20btCollisionObjectWrapper_20const__2c_20btDispatcherInfo_20const__2c_20btManifoldResult__29($0, $1, $2, $3, $4) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + $4 = $4 | 0; + var $7 = 0, $8 = 0, $20 = 0, $27 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $7 = __stack_pointer - 192 | 0; + __stack_pointer = $7; + HEAP32[($7 + 188 | 0) >> 2] = $0; + HEAP32[($7 + 184 | 0) >> 2] = $1; + HEAP32[($7 + 180 | 0) >> 2] = $2; + HEAP32[($7 + 176 | 0) >> 2] = $3; + HEAP32[($7 + 172 | 0) >> 2] = $4; + $8 = HEAP32[($7 + 188 | 0) >> 2] | 0; + label$1 : { + label$2 : { + if ((HEAP32[($8 + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$2 + } + break label$1; + } + label$3 : { + label$4 : { + if (!((HEAPU8[($8 + 16 | 0) >> 0] | 0) & 1 | 0)) { + break label$4 + } + $20 = HEAP32[($7 + 180 | 0) >> 2] | 0; + break label$3; + } + $20 = HEAP32[($7 + 184 | 0) >> 2] | 0; + } + HEAP32[($7 + 168 | 0) >> 2] = $20; + label$5 : { + label$6 : { + if (!((HEAPU8[($8 + 16 | 0) >> 0] | 0) & 1 | 0)) { + break label$6 + } + $27 = HEAP32[($7 + 184 | 0) >> 2] | 0; + break label$5; + } + $27 = HEAP32[($7 + 180 | 0) >> 2] | 0; + } + HEAP32[($7 + 164 | 0) >> 2] = $27; + (wasm2js_i32$0 = $7, wasm2js_i32$1 = btCollisionObjectWrapper__getCollisionShape_28_29_20const(HEAP32[($7 + 168 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 160 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $7, wasm2js_i32$1 = btCollisionObjectWrapper__getCollisionShape_28_29_20const(HEAP32[($7 + 164 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 156 | 0) >> 2] = wasm2js_i32$1; + btManifoldResult__setPersistentManifold_28btPersistentManifold__29(HEAP32[($7 + 172 | 0) >> 2] | 0 | 0, HEAP32[($8 + 12 | 0) >> 2] | 0 | 0); + SphereTriangleDetector__SphereTriangleDetector_28btSphereShape__2c_20btTriangleShape__2c_20float_29($7 + 140 | 0 | 0, HEAP32[($7 + 160 | 0) >> 2] | 0 | 0, HEAP32[($7 + 156 | 0) >> 2] | 0 | 0, Math_fround(Math_fround(Math_fround(btPersistentManifold__getContactBreakingThreshold_28_29_20const(HEAP32[($8 + 12 | 0) >> 2] | 0 | 0)) + Math_fround(HEAPF32[((HEAP32[($7 + 172 | 0) >> 2] | 0) + 32 | 0) >> 2])))) | 0; + btDiscreteCollisionDetectorInterface__ClosestPointInput__ClosestPointInput_28_29($7 + 8 | 0 | 0) | 0; + HEAPF32[($7 + 136 | 0) >> 2] = Math_fround(999999984306749440.0); + btTransform__operator__28btTransform_20const__29($7 + 8 | 0 | 0, btCollisionObjectWrapper__getWorldTransform_28_29_20const(HEAP32[($7 + 168 | 0) >> 2] | 0 | 0) | 0 | 0) | 0; + btTransform__operator__28btTransform_20const__29(($7 + 8 | 0) + 64 | 0 | 0, btCollisionObjectWrapper__getWorldTransform_28_29_20const(HEAP32[($7 + 164 | 0) >> 2] | 0 | 0) | 0 | 0) | 0; + HEAP8[($7 + 7 | 0) >> 0] = (HEAPU8[($8 + 16 | 0) >> 0] | 0) & 1 | 0; + SphereTriangleDetector__getClosestPoints_28btDiscreteCollisionDetectorInterface__ClosestPointInput_20const__2c_20btDiscreteCollisionDetectorInterface__Result__2c_20btIDebugDraw__2c_20bool_29($7 + 140 | 0 | 0, $7 + 8 | 0 | 0, HEAP32[($7 + 172 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($7 + 176 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0, (HEAPU8[($7 + 7 | 0) >> 0] | 0) & 1 | 0 | 0); + label$7 : { + if (!((HEAPU8[($8 + 8 | 0) >> 0] | 0) & 1 | 0)) { + break label$7 + } + btManifoldResult__refreshContactPoints_28_29(HEAP32[($7 + 172 | 0) >> 2] | 0 | 0); + } + SphereTriangleDetector___SphereTriangleDetector_28_29($7 + 140 | 0 | 0) | 0; + } + __stack_pointer = $7 + 192 | 0; + return; + } + + function SphereTriangleDetector___SphereTriangleDetector_28_29($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + btDiscreteCollisionDetectorInterface___btDiscreteCollisionDetectorInterface_28_29($4 | 0) | 0; + __stack_pointer = $3 + 16 | 0; + return $4 | 0; + } + + function btSphereTriangleCollisionAlgorithm__calculateTimeOfImpact_28btCollisionObject__2c_20btCollisionObject__2c_20btDispatcherInfo_20const__2c_20btManifoldResult__29($0, $1, $2, $3, $4) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + $4 = $4 | 0; + var $7 = 0; + $7 = __stack_pointer - 32 | 0; + HEAP32[($7 + 28 | 0) >> 2] = $0; + HEAP32[($7 + 24 | 0) >> 2] = $1; + HEAP32[($7 + 20 | 0) >> 2] = $2; + HEAP32[($7 + 16 | 0) >> 2] = $3; + HEAP32[($7 + 12 | 0) >> 2] = $4; + return Math_fround(Math_fround(1.0)); + } + + function btSphereTriangleCollisionAlgorithm__getAllContactManifolds_28btAlignedObjectArray_btPersistentManifold____29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, $5 = 0; + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; + label$1 : { + if (!((HEAP32[($5 + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + if (!((HEAPU8[($5 + 8 | 0) >> 0] | 0) & 1 | 0)) { + break label$1 + } + btAlignedObjectArray_btPersistentManifold____push_back_28btPersistentManifold__20const__29(HEAP32[($4 + 8 | 0) >> 2] | 0 | 0, $5 + 12 | 0 | 0); + } + __stack_pointer = $4 + 16 | 0; + return; + } + + function _GLOBAL__sub_I_btSphereTriangleCollisionAlgorithm_cpp() { + __cxx_global_var_init_26(); + return; + } + + function __cxx_global_var_init_27() { + btInfMaskConverter__btInfMaskConverter_28int_29(114072 | 0, 2139095040 | 0) | 0; + return; + } + + function SphereTriangleDetector__SphereTriangleDetector_28btSphereShape__2c_20btTriangleShape__2c_20float_29($0, $1, $2, $3) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = Math_fround($3); + var $6 = 0, $7 = 0; + $6 = __stack_pointer - 16 | 0; + __stack_pointer = $6; + HEAP32[($6 + 12 | 0) >> 2] = $0; + HEAP32[($6 + 8 | 0) >> 2] = $1; + HEAP32[($6 + 4 | 0) >> 2] = $2; + HEAPF32[$6 >> 2] = $3; + $7 = HEAP32[($6 + 12 | 0) >> 2] | 0; + btDiscreteCollisionDetectorInterface__btDiscreteCollisionDetectorInterface_28_29($7 | 0) | 0; + HEAP32[$7 >> 2] = 96728 + 8 | 0; + HEAP32[($7 + 4 | 0) >> 2] = HEAP32[($6 + 8 | 0) >> 2] | 0; + HEAP32[($7 + 8 | 0) >> 2] = HEAP32[($6 + 4 | 0) >> 2] | 0; + HEAPF32[($7 + 12 | 0) >> 2] = Math_fround(HEAPF32[$6 >> 2]); + __stack_pointer = $6 + 16 | 0; + return $7 | 0; + } + + function SphereTriangleDetector__getClosestPoints_28btDiscreteCollisionDetectorInterface__ClosestPointInput_20const__2c_20btDiscreteCollisionDetectorInterface__Result__2c_20btIDebugDraw__2c_20bool_29($0, $1, $2, $3, $4) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + $4 = $4 | 0; + var $7 = 0, $9 = 0, $90 = 0, $100 = 0; + $7 = __stack_pointer - 256 | 0; + __stack_pointer = $7; + HEAP32[($7 + 252 | 0) >> 2] = $0; + HEAP32[($7 + 248 | 0) >> 2] = $1; + HEAP32[($7 + 244 | 0) >> 2] = $2; + HEAP32[($7 + 240 | 0) >> 2] = $3; + HEAP8[($7 + 239 | 0) >> 0] = $4; + $9 = HEAP32[($7 + 252 | 0) >> 2] | 0; + HEAP32[($7 + 232 | 0) >> 2] = HEAP32[($7 + 248 | 0) >> 2] | 0; + HEAP32[($7 + 228 | 0) >> 2] = (HEAP32[($7 + 248 | 0) >> 2] | 0) + 64 | 0; + btVector3__btVector3_28_29($7 + 212 | 0 | 0) | 0; + btVector3__btVector3_28_29($7 + 196 | 0 | 0) | 0; + HEAPF32[($7 + 192 | 0) >> 2] = Math_fround(1.0); + HEAPF32[($7 + 188 | 0) >> 2] = Math_fround(0 | 0); + btTransform__inverseTimes_28btTransform_20const__29_20const($7 + 124 | 0 | 0, HEAP32[($7 + 228 | 0) >> 2] | 0 | 0, HEAP32[($7 + 232 | 0) >> 2] | 0 | 0); + label$1 : { + if (!((SphereTriangleDetector__collide_28btVector3_20const__2c_20btVector3__2c_20btVector3__2c_20float__2c_20float__2c_20float_29($9 | 0, btTransform__getOrigin_28_29($7 + 124 | 0 | 0) | 0 | 0, $7 + 212 | 0 | 0, $7 + 196 | 0 | 0, $7 + 188 | 0 | 0, $7 + 192 | 0 | 0, Math_fround(Math_fround(HEAPF32[($9 + 12 | 0) >> 2]))) | 0) & 1 | 0)) { + break label$1 + } + label$2 : { + label$3 : { + if (!((HEAPU8[($7 + 239 | 0) >> 0] | 0) & 1 | 0)) { + break label$3 + } + operator__28btMatrix3x3_20const__2c_20btVector3_20const__29($7 + 108 | 0 | 0, btTransform__getBasis_28_29_20const(HEAP32[($7 + 228 | 0) >> 2] | 0 | 0) | 0 | 0, $7 + 196 | 0 | 0); + operator__28btVector3_20const__29($7 + 92 | 0 | 0, $7 + 108 | 0 | 0); + btTransform__operator__28btVector3_20const__29_20const($7 + 60 | 0 | 0, HEAP32[($7 + 228 | 0) >> 2] | 0 | 0, $7 + 212 | 0 | 0); + operator__28btVector3_20const__2c_20float_20const__29($7 + 44 | 0 | 0, $7 + 108 | 0 | 0, $7 + 188 | 0 | 0); + operator__28btVector3_20const__2c_20btVector3_20const__29_2($7 + 76 | 0 | 0, $7 + 60 | 0 | 0, $7 + 44 | 0 | 0); + $90 = HEAP32[($7 + 244 | 0) >> 2] | 0; + FUNCTION_TABLE[HEAP32[((HEAP32[$90 >> 2] | 0) + 16 | 0) >> 2] | 0 | 0]($90, $7 + 92 | 0, $7 + 76 | 0, Math_fround(HEAPF32[($7 + 188 | 0) >> 2])); + break label$2; + } + $100 = HEAP32[($7 + 244 | 0) >> 2] | 0; + operator__28btMatrix3x3_20const__2c_20btVector3_20const__29($7 + 28 | 0 | 0, btTransform__getBasis_28_29_20const(HEAP32[($7 + 228 | 0) >> 2] | 0 | 0) | 0 | 0, $7 + 196 | 0 | 0); + btTransform__operator__28btVector3_20const__29_20const($7 + 12 | 0 | 0, HEAP32[($7 + 228 | 0) >> 2] | 0 | 0, $7 + 212 | 0 | 0); + FUNCTION_TABLE[HEAP32[((HEAP32[$100 >> 2] | 0) + 16 | 0) >> 2] | 0 | 0]($100, $7 + 28 | 0, $7 + 12 | 0, Math_fround(HEAPF32[($7 + 188 | 0) >> 2])); + } + } + __stack_pointer = $7 + 256 | 0; + return; + } + + function SphereTriangleDetector__collide_28btVector3_20const__2c_20btVector3__2c_20btVector3__2c_20float__2c_20float__2c_20float_29($0, $1, $2, $3, $4, $5, $6) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + $4 = $4 | 0; + $5 = $5 | 0; + $6 = Math_fround($6); + var $9 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, $10 = 0, $124 = 0, $141 = 0, $156 = 0, $183 = 0, $223 = 0, $225 = 0, $232 = 0, $234 = 0, $245 = 0, $247 = 0, $253 = 0, $255 = 0, $108 = 0, $542 = 0, $546 = 0, $668 = 0, $672 = 0, $746 = 0, $759 = 0, $769 = 0, $782 = 0, $801 = 0, $814 = 0, $820 = 0, $833 = 0, $272 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0, wasm2js_f32$0 = Math_fround(0); + $9 = __stack_pointer - 272 | 0; + __stack_pointer = $9; + HEAP32[($9 + 264 | 0) >> 2] = $0; + HEAP32[($9 + 260 | 0) >> 2] = $1; + HEAP32[($9 + 256 | 0) >> 2] = $2; + HEAP32[($9 + 252 | 0) >> 2] = $3; + HEAP32[($9 + 248 | 0) >> 2] = $4; + HEAP32[($9 + 244 | 0) >> 2] = $5; + HEAPF32[($9 + 240 | 0) >> 2] = $6; + $10 = HEAP32[($9 + 264 | 0) >> 2] | 0; + (wasm2js_i32$0 = $9, wasm2js_i32$1 = btTriangleShape__getVertexPtr_28int_29(HEAP32[($10 + 8 | 0) >> 2] | 0 | 0, 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 236 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $9, wasm2js_f32$0 = Math_fround(btSphereShape__getRadius_28_29_20const(HEAP32[($10 + 4 | 0) >> 2] | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 232 | 0) >> 2] = wasm2js_f32$0; + HEAPF32[($9 + 228 | 0) >> 2] = Math_fround(Math_fround(HEAPF32[($9 + 232 | 0) >> 2]) + Math_fround(HEAPF32[($9 + 240 | 0) >> 2])); + operator__28btVector3_20const__2c_20btVector3_20const__29($9 + 196 | 0 | 0, (HEAP32[($9 + 236 | 0) >> 2] | 0) + 16 | 0 | 0, HEAP32[($9 + 236 | 0) >> 2] | 0 | 0); + operator__28btVector3_20const__2c_20btVector3_20const__29($9 + 180 | 0 | 0, (HEAP32[($9 + 236 | 0) >> 2] | 0) + 32 | 0 | 0, HEAP32[($9 + 236 | 0) >> 2] | 0 | 0); + btVector3__cross_28btVector3_20const__29_20const($9 + 212 | 0 | 0, $9 + 196 | 0 | 0, $9 + 180 | 0 | 0); + (wasm2js_i32$0 = $9, wasm2js_f32$0 = Math_fround(btVector3__length2_28_29_20const($9 + 212 | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 176 | 0) >> 2] = wasm2js_f32$0; + HEAP8[($9 + 175 | 0) >> 0] = 0; + btVector3__btVector3_28_29($9 + 152 | 0 | 0) | 0; + label$1 : { + if (!(Math_fround(HEAPF32[($9 + 176 | 0) >> 2]) >= Math_fround(1.4210854715202004e-14) & 1 | 0)) { + break label$1 + } + (wasm2js_i32$0 = $9, wasm2js_f32$0 = Math_fround(btSqrt_28float_29(Math_fround(Math_fround(HEAPF32[($9 + 176 | 0) >> 2]))))), HEAPF32[(wasm2js_i32$0 + 148 | 0) >> 2] = wasm2js_f32$0; + btVector3__operator___28float_20const__29($9 + 212 | 0 | 0, $9 + 148 | 0 | 0) | 0; + operator__28btVector3_20const__2c_20btVector3_20const__29($9 + 132 | 0 | 0, HEAP32[($9 + 260 | 0) >> 2] | 0 | 0, HEAP32[($9 + 236 | 0) >> 2] | 0 | 0); + (wasm2js_i32$0 = $9, wasm2js_f32$0 = Math_fround(btVector3__dot_28btVector3_20const__29_20const($9 + 132 | 0 | 0, $9 + 212 | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 128 | 0) >> 2] = wasm2js_f32$0; + label$2 : { + if (!(Math_fround(HEAPF32[($9 + 128 | 0) >> 2]) < Math_fround(0 | 0) & 1 | 0)) { + break label$2 + } + HEAPF32[($9 + 128 | 0) >> 2] = Math_fround(Math_fround(HEAPF32[($9 + 128 | 0) >> 2]) * Math_fround(-1.0)); + HEAPF32[($9 + 124 | 0) >> 2] = Math_fround(-1.0); + btVector3__operator___28float_20const__29_1($9 + 212 | 0 | 0, $9 + 124 | 0 | 0) | 0; + } + HEAP8[($9 + 123 | 0) >> 0] = Math_fround(HEAPF32[($9 + 128 | 0) >> 2]) < Math_fround(HEAPF32[($9 + 228 | 0) >> 2]) & 1 | 0; + label$3 : { + if (!((HEAPU8[($9 + 123 | 0) >> 0] | 0) & 1 | 0)) { + break label$3 + } + label$4 : { + label$5 : { + if (!((SphereTriangleDetector__facecontains_28btVector3_20const__2c_20btVector3_20const__2c_20btVector3__29($10 | 0, HEAP32[($9 + 260 | 0) >> 2] | 0 | 0, HEAP32[($9 + 236 | 0) >> 2] | 0 | 0, $9 + 212 | 0 | 0) | 0) & 1 | 0)) { + break label$5 + } + HEAP8[($9 + 175 | 0) >> 0] = 1; + $108 = HEAP32[($9 + 260 | 0) >> 2] | 0; + operator__28btVector3_20const__2c_20float_20const__29($9 + 88 | 0 | 0, $9 + 212 | 0 | 0, $9 + 128 | 0 | 0); + operator__28btVector3_20const__2c_20btVector3_20const__29($9 + 104 | 0 | 0, $108 | 0, $9 + 88 | 0 | 0); + $124 = 8; + i64toi32_i32$2 = ($9 + 104 | 0) + $124 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $542 = i64toi32_i32$0; + i64toi32_i32$0 = ($9 + 152 | 0) + $124 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $542; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$2 = $9; + i64toi32_i32$1 = HEAP32[($9 + 104 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($9 + 108 | 0) >> 2] | 0; + $546 = i64toi32_i32$1; + i64toi32_i32$1 = $9; + HEAP32[($9 + 152 | 0) >> 2] = $546; + HEAP32[($9 + 156 | 0) >> 2] = i64toi32_i32$0; + break label$4; + } + HEAPF32[($9 + 84 | 0) >> 2] = Math_fround(Math_fround(HEAPF32[($9 + 228 | 0) >> 2]) * Math_fround(HEAPF32[($9 + 228 | 0) >> 2])); + btVector3__btVector3_28_29($9 + 68 | 0 | 0) | 0; + HEAP32[($9 + 64 | 0) >> 2] = 0; + label$6 : { + label$7 : while (1) { + $141 = HEAP32[($10 + 8 | 0) >> 2] | 0; + if (!((HEAP32[($9 + 64 | 0) >> 2] | 0 | 0) < (FUNCTION_TABLE[HEAP32[((HEAP32[$141 >> 2] | 0) + 100 | 0) >> 2] | 0 | 0]($141) | 0 | 0) & 1 | 0)) { + break label$6 + } + btVector3__btVector3_28_29($9 + 48 | 0 | 0) | 0; + btVector3__btVector3_28_29($9 + 32 | 0 | 0) | 0; + $156 = HEAP32[($10 + 8 | 0) >> 2] | 0; + FUNCTION_TABLE[HEAP32[((HEAP32[$156 >> 2] | 0) + 104 | 0) >> 2] | 0 | 0]($156, HEAP32[($9 + 64 | 0) >> 2] | 0, $9 + 48 | 0, $9 + 32 | 0); + (wasm2js_i32$0 = $9, wasm2js_f32$0 = Math_fround(SegmentSqrDistance_28btVector3_20const__2c_20btVector3_20const__2c_20btVector3_20const__2c_20btVector3__29($9 + 48 | 0 | 0, $9 + 32 | 0 | 0, HEAP32[($9 + 260 | 0) >> 2] | 0 | 0, $9 + 68 | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_f32$0; + label$8 : { + if (!(Math_fround(HEAPF32[($9 + 28 | 0) >> 2]) < Math_fround(HEAPF32[($9 + 84 | 0) >> 2]) & 1 | 0)) { + break label$8 + } + HEAP8[($9 + 175 | 0) >> 0] = 1; + $183 = 8; + i64toi32_i32$2 = ($9 + 68 | 0) + $183 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $668 = i64toi32_i32$0; + i64toi32_i32$0 = ($9 + 152 | 0) + $183 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $668; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$2 = $9; + i64toi32_i32$1 = HEAP32[($9 + 68 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($9 + 72 | 0) >> 2] | 0; + $672 = i64toi32_i32$1; + i64toi32_i32$1 = $9; + HEAP32[($9 + 152 | 0) >> 2] = $672; + HEAP32[($9 + 156 | 0) >> 2] = i64toi32_i32$0; + } + HEAP32[($9 + 64 | 0) >> 2] = (HEAP32[($9 + 64 | 0) >> 2] | 0) + 1 | 0; + continue label$7; + }; + } + } + } + } + label$9 : { + label$10 : { + if (!((HEAPU8[($9 + 175 | 0) >> 0] | 0) & 1 | 0)) { + break label$10 + } + operator__28btVector3_20const__2c_20btVector3_20const__29($9 + 12 | 0 | 0, HEAP32[($9 + 260 | 0) >> 2] | 0 | 0, $9 + 152 | 0 | 0); + (wasm2js_i32$0 = $9, wasm2js_f32$0 = Math_fround(btVector3__length2_28_29_20const($9 + 12 | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_f32$0; + label$11 : { + if (!(Math_fround(HEAPF32[($9 + 8 | 0) >> 2]) < Math_fround(Math_fround(HEAPF32[($9 + 228 | 0) >> 2]) * Math_fround(HEAPF32[($9 + 228 | 0) >> 2])) & 1 | 0)) { + break label$11 + } + label$12 : { + label$13 : { + if (!(Math_fround(HEAPF32[($9 + 8 | 0) >> 2]) > Math_fround(1.1920928955078125e-07) & 1 | 0)) { + break label$13 + } + (wasm2js_i32$0 = $9, wasm2js_f32$0 = Math_fround(btSqrt_28float_29(Math_fround(Math_fround(HEAPF32[($9 + 8 | 0) >> 2]))))), HEAPF32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_f32$0; + $223 = HEAP32[($9 + 252 | 0) >> 2] | 0; + i64toi32_i32$2 = $9; + i64toi32_i32$0 = HEAP32[($9 + 12 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($9 + 16 | 0) >> 2] | 0; + $746 = i64toi32_i32$0; + i64toi32_i32$0 = $223; + HEAP32[i64toi32_i32$0 >> 2] = $746; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $225 = 8; + i64toi32_i32$2 = ($9 + 12 | 0) + $225 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $759 = i64toi32_i32$1; + i64toi32_i32$1 = $223 + $225 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $759; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + btVector3__normalize_28_29(HEAP32[($9 + 252 | 0) >> 2] | 0 | 0) | 0; + $232 = HEAP32[($9 + 256 | 0) >> 2] | 0; + i64toi32_i32$2 = $9; + i64toi32_i32$0 = HEAP32[($9 + 152 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($9 + 156 | 0) >> 2] | 0; + $769 = i64toi32_i32$0; + i64toi32_i32$0 = $232; + HEAP32[i64toi32_i32$0 >> 2] = $769; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $234 = 8; + i64toi32_i32$2 = ($9 + 152 | 0) + $234 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $782 = i64toi32_i32$1; + i64toi32_i32$1 = $232 + $234 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $782; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + HEAPF32[(HEAP32[($9 + 248 | 0) >> 2] | 0) >> 2] = Math_fround(-Math_fround(Math_fround(HEAPF32[($9 + 232 | 0) >> 2]) - Math_fround(HEAPF32[($9 + 4 | 0) >> 2]))); + break label$12; + } + $245 = HEAP32[($9 + 252 | 0) >> 2] | 0; + i64toi32_i32$2 = $9; + i64toi32_i32$0 = HEAP32[($9 + 212 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($9 + 216 | 0) >> 2] | 0; + $801 = i64toi32_i32$0; + i64toi32_i32$0 = $245; + HEAP32[i64toi32_i32$0 >> 2] = $801; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $247 = 8; + i64toi32_i32$2 = ($9 + 212 | 0) + $247 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $814 = i64toi32_i32$1; + i64toi32_i32$1 = $245 + $247 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $814; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + $253 = HEAP32[($9 + 256 | 0) >> 2] | 0; + i64toi32_i32$2 = $9; + i64toi32_i32$0 = HEAP32[($9 + 152 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($9 + 156 | 0) >> 2] | 0; + $820 = i64toi32_i32$0; + i64toi32_i32$0 = $253; + HEAP32[i64toi32_i32$0 >> 2] = $820; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $255 = 8; + i64toi32_i32$2 = ($9 + 152 | 0) + $255 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $833 = i64toi32_i32$1; + i64toi32_i32$1 = $253 + $255 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $833; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + HEAPF32[(HEAP32[($9 + 248 | 0) >> 2] | 0) >> 2] = Math_fround(-Math_fround(HEAPF32[($9 + 232 | 0) >> 2])); + } + HEAP8[($9 + 271 | 0) >> 0] = 1 & 1 | 0; + break label$9; + } + } + HEAP8[($9 + 271 | 0) >> 0] = 0 & 1 | 0; + } + $272 = (HEAPU8[($9 + 271 | 0) >> 0] | 0) & 1 | 0; + __stack_pointer = $9 + 272 | 0; + return $272 | 0; + } + + function btTriangleShape__getVertexPtr_28int_29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0; + $4 = __stack_pointer - 16 | 0; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + return ((HEAP32[($4 + 12 | 0) >> 2] | 0) + 64 | 0) + ((HEAP32[($4 + 8 | 0) >> 2] | 0) << 4 | 0) | 0 | 0; + } + + function SphereTriangleDetector__facecontains_28btVector3_20const__2c_20btVector3_20const__2c_20btVector3__29($0, $1, $2, $3) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + var $6 = 0, i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, i64toi32_i32$1 = 0, $8 = 0, $9 = 0, $16 = 0, $17 = 0, $7 = 0, $61 = 0, $65 = 0, $77 = 0, $81 = 0, $29 = 0; + $6 = __stack_pointer - 48 | 0; + __stack_pointer = $6; + HEAP32[($6 + 44 | 0) >> 2] = $0; + HEAP32[($6 + 40 | 0) >> 2] = $1; + HEAP32[($6 + 36 | 0) >> 2] = $2; + HEAP32[($6 + 32 | 0) >> 2] = $3; + $7 = HEAP32[($6 + 44 | 0) >> 2] | 0; + $8 = HEAP32[($6 + 40 | 0) >> 2] | 0; + $9 = 8; + i64toi32_i32$2 = $8 + $9 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $61 = i64toi32_i32$0; + i64toi32_i32$0 = ($6 + 16 | 0) + $9 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $61; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$2 = $8; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $65 = i64toi32_i32$1; + i64toi32_i32$1 = $6; + HEAP32[($6 + 16 | 0) >> 2] = $65; + HEAP32[($6 + 20 | 0) >> 2] = i64toi32_i32$0; + $16 = HEAP32[($6 + 32 | 0) >> 2] | 0; + $17 = 8; + i64toi32_i32$2 = $16 + $17 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $77 = i64toi32_i32$0; + i64toi32_i32$0 = $6 + $17 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $77; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$2 = $16; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $81 = i64toi32_i32$1; + i64toi32_i32$1 = $6; + HEAP32[$6 >> 2] = $81; + HEAP32[($6 + 4 | 0) >> 2] = i64toi32_i32$0; + $29 = (SphereTriangleDetector__pointInTriangle_28btVector3_20const__2c_20btVector3_20const__2c_20btVector3__29($7 | 0, HEAP32[($6 + 36 | 0) >> 2] | 0 | 0, $6 | 0, $6 + 16 | 0 | 0) | 0) & 1 | 0; + __stack_pointer = $6 + 48 | 0; + return $29 | 0; + } + + function SegmentSqrDistance_28btVector3_20const__2c_20btVector3_20const__2c_20btVector3_20const__2c_20btVector3__29($0, $1, $2, $3) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + var $6 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, $32 = 0, $82 = 0, $84 = 0, $92 = 0, $66 = 0, $262 = 0, $275 = 0, $93 = Math_fround(0), wasm2js_i32$0 = 0, wasm2js_f32$0 = Math_fround(0); + $6 = __stack_pointer - 112 | 0; + __stack_pointer = $6; + HEAP32[($6 + 108 | 0) >> 2] = $0; + HEAP32[($6 + 104 | 0) >> 2] = $1; + HEAP32[($6 + 100 | 0) >> 2] = $2; + HEAP32[($6 + 96 | 0) >> 2] = $3; + operator__28btVector3_20const__2c_20btVector3_20const__29($6 + 80 | 0 | 0, HEAP32[($6 + 100 | 0) >> 2] | 0 | 0, HEAP32[($6 + 108 | 0) >> 2] | 0 | 0); + operator__28btVector3_20const__2c_20btVector3_20const__29($6 + 64 | 0 | 0, HEAP32[($6 + 104 | 0) >> 2] | 0 | 0, HEAP32[($6 + 108 | 0) >> 2] | 0 | 0); + (wasm2js_i32$0 = $6, wasm2js_f32$0 = Math_fround(btVector3__dot_28btVector3_20const__29_20const($6 + 64 | 0 | 0, $6 + 80 | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 60 | 0) >> 2] = wasm2js_f32$0; + label$1 : { + label$2 : { + if (!(Math_fround(HEAPF32[($6 + 60 | 0) >> 2]) > Math_fround(0 | 0) & 1 | 0)) { + break label$2 + } + $32 = $6 + 64 | 0; + (wasm2js_i32$0 = $6, wasm2js_f32$0 = Math_fround(btVector3__dot_28btVector3_20const__29_20const($32 | 0, $32 | 0))), HEAPF32[(wasm2js_i32$0 + 56 | 0) >> 2] = wasm2js_f32$0; + label$3 : { + label$4 : { + if (!(Math_fround(HEAPF32[($6 + 60 | 0) >> 2]) < Math_fround(HEAPF32[($6 + 56 | 0) >> 2]) & 1 | 0)) { + break label$4 + } + HEAPF32[($6 + 60 | 0) >> 2] = Math_fround(Math_fround(HEAPF32[($6 + 60 | 0) >> 2]) / Math_fround(HEAPF32[($6 + 56 | 0) >> 2])); + operator__28float_20const__2c_20btVector3_20const__29($6 + 40 | 0 | 0, $6 + 60 | 0 | 0, $6 + 64 | 0 | 0); + btVector3__operator___28btVector3_20const__29($6 + 80 | 0 | 0, $6 + 40 | 0 | 0) | 0; + break label$3; + } + HEAPF32[($6 + 60 | 0) >> 2] = Math_fround(1.0); + btVector3__operator___28btVector3_20const__29($6 + 80 | 0 | 0, $6 + 64 | 0 | 0) | 0; + } + break label$1; + } + HEAPF32[($6 + 60 | 0) >> 2] = Math_fround(0 | 0); + } + $66 = HEAP32[($6 + 108 | 0) >> 2] | 0; + operator__28float_20const__2c_20btVector3_20const__29($6 + 8 | 0 | 0, $6 + 60 | 0 | 0, $6 + 64 | 0 | 0); + operator__28btVector3_20const__2c_20btVector3_20const__29_2($6 + 24 | 0 | 0, $66 | 0, $6 + 8 | 0 | 0); + $82 = HEAP32[($6 + 96 | 0) >> 2] | 0; + i64toi32_i32$2 = $6; + i64toi32_i32$0 = HEAP32[($6 + 24 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($6 + 28 | 0) >> 2] | 0; + $262 = i64toi32_i32$0; + i64toi32_i32$0 = $82; + HEAP32[i64toi32_i32$0 >> 2] = $262; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $84 = 8; + i64toi32_i32$2 = ($6 + 24 | 0) + $84 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $275 = i64toi32_i32$1; + i64toi32_i32$1 = $82 + $84 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $275; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + $92 = $6 + 80 | 0; + $93 = Math_fround(btVector3__dot_28btVector3_20const__29_20const($92 | 0, $92 | 0)); + __stack_pointer = $6 + 112 | 0; + return Math_fround($93); + } + + function SphereTriangleDetector__pointInTriangle_28btVector3_20const__2c_20btVector3_20const__2c_20btVector3__29($0, $1, $2, $3) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + var $6 = 0, $130 = 0, wasm2js_i32$0 = 0, wasm2js_f32$0 = Math_fround(0); + $6 = __stack_pointer - 192 | 0; + __stack_pointer = $6; + HEAP32[($6 + 184 | 0) >> 2] = $0; + HEAP32[($6 + 180 | 0) >> 2] = $1; + HEAP32[($6 + 176 | 0) >> 2] = $2; + HEAP32[($6 + 172 | 0) >> 2] = $3; + HEAP32[($6 + 168 | 0) >> 2] = HEAP32[($6 + 180 | 0) >> 2] | 0; + HEAP32[($6 + 164 | 0) >> 2] = (HEAP32[($6 + 180 | 0) >> 2] | 0) + 16 | 0; + HEAP32[($6 + 160 | 0) >> 2] = (HEAP32[($6 + 180 | 0) >> 2] | 0) + 32 | 0; + operator__28btVector3_20const__2c_20btVector3_20const__29($6 + 144 | 0 | 0, HEAP32[($6 + 164 | 0) >> 2] | 0 | 0, HEAP32[($6 + 168 | 0) >> 2] | 0 | 0); + operator__28btVector3_20const__2c_20btVector3_20const__29($6 + 128 | 0 | 0, HEAP32[($6 + 160 | 0) >> 2] | 0 | 0, HEAP32[($6 + 164 | 0) >> 2] | 0 | 0); + operator__28btVector3_20const__2c_20btVector3_20const__29($6 + 112 | 0 | 0, HEAP32[($6 + 168 | 0) >> 2] | 0 | 0, HEAP32[($6 + 160 | 0) >> 2] | 0 | 0); + operator__28btVector3_20const__2c_20btVector3_20const__29($6 + 96 | 0 | 0, HEAP32[($6 + 172 | 0) >> 2] | 0 | 0, HEAP32[($6 + 168 | 0) >> 2] | 0 | 0); + operator__28btVector3_20const__2c_20btVector3_20const__29($6 + 80 | 0 | 0, HEAP32[($6 + 172 | 0) >> 2] | 0 | 0, HEAP32[($6 + 164 | 0) >> 2] | 0 | 0); + operator__28btVector3_20const__2c_20btVector3_20const__29($6 + 64 | 0 | 0, HEAP32[($6 + 172 | 0) >> 2] | 0 | 0, HEAP32[($6 + 160 | 0) >> 2] | 0 | 0); + btVector3__cross_28btVector3_20const__29_20const($6 + 48 | 0 | 0, $6 + 144 | 0 | 0, HEAP32[($6 + 176 | 0) >> 2] | 0 | 0); + btVector3__cross_28btVector3_20const__29_20const($6 + 32 | 0 | 0, $6 + 128 | 0 | 0, HEAP32[($6 + 176 | 0) >> 2] | 0 | 0); + btVector3__cross_28btVector3_20const__29_20const($6 + 16 | 0 | 0, $6 + 112 | 0 | 0, HEAP32[($6 + 176 | 0) >> 2] | 0 | 0); + (wasm2js_i32$0 = $6, wasm2js_f32$0 = Math_fround(btVector3__dot_28btVector3_20const__29_20const($6 + 48 | 0 | 0, $6 + 96 | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_f32$0; + (wasm2js_i32$0 = $6, wasm2js_f32$0 = Math_fround(btVector3__dot_28btVector3_20const__29_20const($6 + 32 | 0 | 0, $6 + 80 | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_f32$0; + (wasm2js_i32$0 = $6, wasm2js_f32$0 = Math_fround(btVector3__dot_28btVector3_20const__29_20const($6 + 16 | 0 | 0, $6 + 64 | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_f32$0; + label$1 : { + label$2 : { + label$3 : { + label$4 : { + if (!(Math_fround(HEAPF32[($6 + 12 | 0) >> 2]) > Math_fround(0 | 0) & 1 | 0)) { + break label$4 + } + if (!(Math_fround(HEAPF32[($6 + 8 | 0) >> 2]) > Math_fround(0 | 0) & 1 | 0)) { + break label$4 + } + if (Math_fround(HEAPF32[($6 + 4 | 0) >> 2]) > Math_fround(0 | 0) & 1 | 0) { + break label$3 + } + } + if (!(Math_fround(HEAPF32[($6 + 12 | 0) >> 2]) <= Math_fround(0 | 0) & 1 | 0)) { + break label$2 + } + if (!(Math_fround(HEAPF32[($6 + 8 | 0) >> 2]) <= Math_fround(0 | 0) & 1 | 0)) { + break label$2 + } + if (!(Math_fround(HEAPF32[($6 + 4 | 0) >> 2]) <= Math_fround(0 | 0) & 1 | 0)) { + break label$2 + } + } + HEAP8[($6 + 191 | 0) >> 0] = 1 & 1 | 0; + break label$1; + } + HEAP8[($6 + 191 | 0) >> 0] = 0 & 1 | 0; + } + $130 = (HEAPU8[($6 + 191 | 0) >> 0] | 0) & 1 | 0; + __stack_pointer = $6 + 192 | 0; + return $130 | 0; + } + + function SphereTriangleDetector___SphereTriangleDetector_28_29_1($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + SphereTriangleDetector___SphereTriangleDetector_28_29($4 | 0) | 0; + operator_20delete_28void__29($4 | 0); + __stack_pointer = $3 + 16 | 0; + return; + } + + function _GLOBAL__sub_I_SphereTriangleDetector_cpp() { + __cxx_global_var_init_27(); + return; + } + + function __cxx_global_var_init_28() { + btInfMaskConverter__btInfMaskConverter_28int_29(114076 | 0, 2139095040 | 0) | 0; + return; + } + + function btBoxShape__btBoxShape_28btVector3_20const__29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, $5 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, $47 = 0, $49 = 0, $160 = 0, $173 = 0, wasm2js_i32$0 = 0, wasm2js_f32$0 = Math_fround(0); + $4 = __stack_pointer - 80 | 0; + __stack_pointer = $4; + HEAP32[($4 + 76 | 0) >> 2] = $0; + HEAP32[($4 + 72 | 0) >> 2] = $1; + $5 = HEAP32[($4 + 76 | 0) >> 2] | 0; + btPolyhedralConvexShape__btPolyhedralConvexShape_28_29($5 | 0) | 0; + HEAP32[$5 >> 2] = 96788 + 8 | 0; + HEAP32[($5 + 4 | 0) >> 2] = 0; + (wasm2js_i32$0 = $4, wasm2js_f32$0 = Math_fround(FUNCTION_TABLE[HEAP32[((HEAP32[$5 >> 2] | 0) + 48 | 0) >> 2] | 0 | 0]($5))), HEAPF32[(wasm2js_i32$0 + 52 | 0) >> 2] = wasm2js_f32$0; + (wasm2js_i32$0 = $4, wasm2js_f32$0 = Math_fround(FUNCTION_TABLE[HEAP32[((HEAP32[$5 >> 2] | 0) + 48 | 0) >> 2] | 0 | 0]($5))), HEAPF32[(wasm2js_i32$0 + 48 | 0) >> 2] = wasm2js_f32$0; + (wasm2js_i32$0 = $4, wasm2js_f32$0 = Math_fround(FUNCTION_TABLE[HEAP32[((HEAP32[$5 >> 2] | 0) + 48 | 0) >> 2] | 0 | 0]($5))), HEAPF32[(wasm2js_i32$0 + 44 | 0) >> 2] = wasm2js_f32$0; + btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($4 + 56 | 0 | 0, $4 + 52 | 0 | 0, $4 + 48 | 0 | 0, $4 + 44 | 0 | 0) | 0; + operator__28btVector3_20const__2c_20btVector3_20const__29_1($4 + 12 | 0 | 0, HEAP32[($4 + 72 | 0) >> 2] | 0 | 0, $5 + 20 | 0 | 0); + operator__28btVector3_20const__2c_20btVector3_20const__29($4 + 28 | 0 | 0, $4 + 12 | 0 | 0, $4 + 56 | 0 | 0); + $47 = $5 + 36 | 0; + i64toi32_i32$2 = $4; + i64toi32_i32$0 = HEAP32[($4 + 28 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($4 + 32 | 0) >> 2] | 0; + $160 = i64toi32_i32$0; + i64toi32_i32$0 = $47; + HEAP32[i64toi32_i32$0 >> 2] = $160; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $49 = 8; + i64toi32_i32$2 = ($4 + 28 | 0) + $49 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $173 = i64toi32_i32$1; + i64toi32_i32$1 = $47 + $49 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $173; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + btConvexInternalShape__setSafeMargin_28btVector3_20const__2c_20float_29($5 | 0, HEAP32[($4 + 72 | 0) >> 2] | 0 | 0, Math_fround(Math_fround(.10000000149011612))); + __stack_pointer = $4 + 80 | 0; + return $5 | 0; + } + + function btBoxShape__getAabb_28btTransform_20const__2c_20btVector3__2c_20btVector3__29_20const($0, $1, $2, $3) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + var $6 = 0, $7 = 0; + $6 = __stack_pointer - 16 | 0; + __stack_pointer = $6; + HEAP32[($6 + 12 | 0) >> 2] = $0; + HEAP32[($6 + 8 | 0) >> 2] = $1; + HEAP32[($6 + 4 | 0) >> 2] = $2; + HEAP32[$6 >> 2] = $3; + $7 = HEAP32[($6 + 12 | 0) >> 2] | 0; + btTransformAabb_28btVector3_20const__2c_20float_2c_20btTransform_20const__2c_20btVector3__2c_20btVector3__29(btBoxShape__getHalfExtentsWithoutMargin_28_29_20const($7 | 0) | 0 | 0, Math_fround(Math_fround(FUNCTION_TABLE[HEAP32[((HEAP32[$7 >> 2] | 0) + 48 | 0) >> 2] | 0 | 0]($7))), HEAP32[($6 + 8 | 0) >> 2] | 0 | 0, HEAP32[($6 + 4 | 0) >> 2] | 0 | 0, HEAP32[$6 >> 2] | 0 | 0); + __stack_pointer = $6 + 16 | 0; + return; + } + + function btTransformAabb_28btVector3_20const__2c_20float_2c_20btTransform_20const__2c_20btVector3__2c_20btVector3__29($0, $1, $2, $3, $4) { + $0 = $0 | 0; + $1 = Math_fround($1); + $2 = $2 | 0; + $3 = $3 | 0; + $4 = $4 | 0; + var $7 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, $14 = 0, $27 = 0, $28 = 0, $65 = 0, $67 = 0, $82 = 0, $84 = 0, $8 = 0, $159 = 0, $163 = 0, $218 = 0, $231 = 0, $252 = 0, $265 = 0; + $7 = __stack_pointer - 176 | 0; + __stack_pointer = $7; + HEAP32[($7 + 172 | 0) >> 2] = $0; + HEAPF32[($7 + 168 | 0) >> 2] = $1; + HEAP32[($7 + 164 | 0) >> 2] = $2; + HEAP32[($7 + 160 | 0) >> 2] = $3; + HEAP32[($7 + 156 | 0) >> 2] = $4; + $8 = HEAP32[($7 + 172 | 0) >> 2] | 0; + $14 = $7 + 168 | 0; + btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($7 + 124 | 0 | 0, $14 | 0, $14 | 0, $14 | 0) | 0; + operator__28btVector3_20const__2c_20btVector3_20const__29_2($7 + 140 | 0 | 0, $8 | 0, $7 + 124 | 0 | 0); + btMatrix3x3__absolute_28_29_20const($7 + 76 | 0 | 0, btTransform__getBasis_28_29_20const(HEAP32[($7 + 164 | 0) >> 2] | 0 | 0) | 0 | 0); + $27 = btTransform__getOrigin_28_29_20const(HEAP32[($7 + 164 | 0) >> 2] | 0 | 0) | 0; + $28 = 8; + i64toi32_i32$2 = $27 + $28 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $159 = i64toi32_i32$0; + i64toi32_i32$0 = ($7 + 56 | 0) + $28 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $159; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$2 = $27; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $163 = i64toi32_i32$1; + i64toi32_i32$1 = $7; + HEAP32[($7 + 56 | 0) >> 2] = $163; + HEAP32[($7 + 60 | 0) >> 2] = i64toi32_i32$0; + btVector3__dot3_28btVector3_20const__2c_20btVector3_20const__2c_20btVector3_20const__29_20const($7 + 40 | 0 | 0, $7 + 140 | 0 | 0, btMatrix3x3__operator_5b_5d_28int_29($7 + 76 | 0 | 0, 0 | 0) | 0 | 0, btMatrix3x3__operator_5b_5d_28int_29($7 + 76 | 0 | 0, 1 | 0) | 0 | 0, btMatrix3x3__operator_5b_5d_28int_29($7 + 76 | 0 | 0, 2 | 0) | 0 | 0); + operator__28btVector3_20const__2c_20btVector3_20const__29($7 + 24 | 0 | 0, $7 + 56 | 0 | 0, $7 + 40 | 0 | 0); + $65 = HEAP32[($7 + 160 | 0) >> 2] | 0; + i64toi32_i32$2 = $7; + i64toi32_i32$0 = HEAP32[($7 + 24 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($7 + 28 | 0) >> 2] | 0; + $218 = i64toi32_i32$0; + i64toi32_i32$0 = $65; + HEAP32[i64toi32_i32$0 >> 2] = $218; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $67 = 8; + i64toi32_i32$2 = ($7 + 24 | 0) + $67 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $231 = i64toi32_i32$1; + i64toi32_i32$1 = $65 + $67 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $231; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + operator__28btVector3_20const__2c_20btVector3_20const__29_2($7 + 8 | 0 | 0, $7 + 56 | 0 | 0, $7 + 40 | 0 | 0); + $82 = HEAP32[($7 + 156 | 0) >> 2] | 0; + i64toi32_i32$2 = $7; + i64toi32_i32$0 = HEAP32[($7 + 8 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($7 + 12 | 0) >> 2] | 0; + $252 = i64toi32_i32$0; + i64toi32_i32$0 = $82; + HEAP32[i64toi32_i32$0 >> 2] = $252; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $84 = 8; + i64toi32_i32$2 = ($7 + 8 | 0) + $84 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $265 = i64toi32_i32$1; + i64toi32_i32$1 = $82 + $84 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $265; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + __stack_pointer = $7 + 176 | 0; + return; + } + + function btBoxShape__calculateLocalInertia_28float_2c_20btVector3__29_20const($0, $1, $2) { + $0 = $0 | 0; + $1 = Math_fround($1); + $2 = $2 | 0; + var $5 = 0, $31 = 0, wasm2js_i32$0 = 0, wasm2js_f32$0 = Math_fround(0); + $5 = __stack_pointer - 64 | 0; + __stack_pointer = $5; + HEAP32[($5 + 60 | 0) >> 2] = $0; + HEAPF32[($5 + 56 | 0) >> 2] = $1; + HEAP32[($5 + 52 | 0) >> 2] = $2; + btBoxShape__getHalfExtentsWithMargin_28_29_20const($5 + 36 | 0 | 0, HEAP32[($5 + 60 | 0) >> 2] | 0 | 0); + (wasm2js_i32$0 = $5, wasm2js_f32$0 = Math_fround(Math_fround(2.0) * Math_fround(HEAPF32[(btVector3__x_28_29_20const($5 + 36 | 0 | 0) | 0) >> 2]))), HEAPF32[(wasm2js_i32$0 + 32 | 0) >> 2] = wasm2js_f32$0; + (wasm2js_i32$0 = $5, wasm2js_f32$0 = Math_fround(Math_fround(2.0) * Math_fround(HEAPF32[(btVector3__y_28_29_20const($5 + 36 | 0 | 0) | 0) >> 2]))), HEAPF32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_f32$0; + (wasm2js_i32$0 = $5, wasm2js_f32$0 = Math_fround(Math_fround(2.0) * Math_fround(HEAPF32[(btVector3__z_28_29_20const($5 + 36 | 0 | 0) | 0) >> 2]))), HEAPF32[(wasm2js_i32$0 + 24 | 0) >> 2] = wasm2js_f32$0; + $31 = HEAP32[($5 + 52 | 0) >> 2] | 0; + HEAPF32[($5 + 20 | 0) >> 2] = Math_fround(Math_fround(Math_fround(HEAPF32[($5 + 56 | 0) >> 2]) / Math_fround(12.0)) * Math_fround(Math_fround(Math_fround(HEAPF32[($5 + 28 | 0) >> 2]) * Math_fround(HEAPF32[($5 + 28 | 0) >> 2])) + Math_fround(Math_fround(HEAPF32[($5 + 24 | 0) >> 2]) * Math_fround(HEAPF32[($5 + 24 | 0) >> 2])))); + HEAPF32[($5 + 16 | 0) >> 2] = Math_fround(Math_fround(Math_fround(HEAPF32[($5 + 56 | 0) >> 2]) / Math_fround(12.0)) * Math_fround(Math_fround(Math_fround(HEAPF32[($5 + 32 | 0) >> 2]) * Math_fround(HEAPF32[($5 + 32 | 0) >> 2])) + Math_fround(Math_fround(HEAPF32[($5 + 24 | 0) >> 2]) * Math_fround(HEAPF32[($5 + 24 | 0) >> 2])))); + HEAPF32[($5 + 12 | 0) >> 2] = Math_fround(Math_fround(Math_fround(HEAPF32[($5 + 56 | 0) >> 2]) / Math_fround(12.0)) * Math_fround(Math_fround(Math_fround(HEAPF32[($5 + 32 | 0) >> 2]) * Math_fround(HEAPF32[($5 + 32 | 0) >> 2])) + Math_fround(Math_fround(HEAPF32[($5 + 28 | 0) >> 2]) * Math_fround(HEAPF32[($5 + 28 | 0) >> 2])))); + btVector3__setValue_28float_20const__2c_20float_20const__2c_20float_20const__29($31 | 0, $5 + 20 | 0 | 0, $5 + 16 | 0 | 0, $5 + 12 | 0 | 0); + __stack_pointer = $5 + 64 | 0; + return; + } + + function btBoxShape___btBoxShape_28_29($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + btPolyhedralConvexShape___btPolyhedralConvexShape_28_29($4 | 0) | 0; + __stack_pointer = $3 + 16 | 0; + return $4 | 0; + } + + function btBoxShape___btBoxShape_28_29_1($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + btBoxShape___btBoxShape_28_29($4 | 0) | 0; + btBoxShape__operator_20delete_28void__29($4 | 0); + __stack_pointer = $3 + 16 | 0; + return; + } + + function btBoxShape__operator_20delete_28void__29($0) { + $0 = $0 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + btAlignedFreeInternal_28void__29(HEAP32[($3 + 12 | 0) >> 2] | 0 | 0); + __stack_pointer = $3 + 16 | 0; + return; + } + + function btBoxShape__setLocalScaling_28btVector3_20const__29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, $5 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, $62 = 0, $64 = 0, $198 = 0, $211 = 0, wasm2js_i32$0 = 0, wasm2js_f32$0 = Math_fround(0); + $4 = __stack_pointer - 112 | 0; + __stack_pointer = $4; + HEAP32[($4 + 108 | 0) >> 2] = $0; + HEAP32[($4 + 104 | 0) >> 2] = $1; + $5 = HEAP32[($4 + 108 | 0) >> 2] | 0; + (wasm2js_i32$0 = $4, wasm2js_f32$0 = Math_fround(FUNCTION_TABLE[HEAP32[((HEAP32[$5 >> 2] | 0) + 48 | 0) >> 2] | 0 | 0]($5))), HEAPF32[(wasm2js_i32$0 + 84 | 0) >> 2] = wasm2js_f32$0; + (wasm2js_i32$0 = $4, wasm2js_f32$0 = Math_fround(FUNCTION_TABLE[HEAP32[((HEAP32[$5 >> 2] | 0) + 48 | 0) >> 2] | 0 | 0]($5))), HEAPF32[(wasm2js_i32$0 + 80 | 0) >> 2] = wasm2js_f32$0; + (wasm2js_i32$0 = $4, wasm2js_f32$0 = Math_fround(FUNCTION_TABLE[HEAP32[((HEAP32[$5 >> 2] | 0) + 48 | 0) >> 2] | 0 | 0]($5))), HEAPF32[(wasm2js_i32$0 + 76 | 0) >> 2] = wasm2js_f32$0; + btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($4 + 88 | 0 | 0, $4 + 84 | 0 | 0, $4 + 80 | 0 | 0, $4 + 76 | 0 | 0) | 0; + operator__28btVector3_20const__2c_20btVector3_20const__29_2($4 + 60 | 0 | 0, $5 + 36 | 0 | 0, $4 + 88 | 0 | 0); + operator__28btVector3_20const__2c_20btVector3_20const__29_3($4 + 44 | 0 | 0, $4 + 60 | 0 | 0, $5 + 20 | 0 | 0); + btConvexInternalShape__setLocalScaling_28btVector3_20const__29($5 | 0, HEAP32[($4 + 104 | 0) >> 2] | 0 | 0); + operator__28btVector3_20const__2c_20btVector3_20const__29_1($4 + 12 | 0 | 0, $4 + 44 | 0 | 0, $5 + 20 | 0 | 0); + operator__28btVector3_20const__2c_20btVector3_20const__29($4 + 28 | 0 | 0, $4 + 12 | 0 | 0, $4 + 88 | 0 | 0); + $62 = $5 + 36 | 0; + i64toi32_i32$2 = $4; + i64toi32_i32$0 = HEAP32[($4 + 28 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($4 + 32 | 0) >> 2] | 0; + $198 = i64toi32_i32$0; + i64toi32_i32$0 = $62; + HEAP32[i64toi32_i32$0 >> 2] = $198; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $64 = 8; + i64toi32_i32$2 = ($4 + 28 | 0) + $64 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $211 = i64toi32_i32$1; + i64toi32_i32$1 = $62 + $64 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $211; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + __stack_pointer = $4 + 112 | 0; + return; + } + + function operator__28btVector3_20const__2c_20btVector3_20const__29_3($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $5 = 0; + $5 = __stack_pointer - 32 | 0; + __stack_pointer = $5; + HEAP32[($5 + 28 | 0) >> 2] = $1; + HEAP32[($5 + 24 | 0) >> 2] = $2; + HEAPF32[($5 + 20 | 0) >> 2] = Math_fround(Math_fround(HEAPF32[(HEAP32[($5 + 28 | 0) >> 2] | 0) >> 2]) / Math_fround(HEAPF32[(HEAP32[($5 + 24 | 0) >> 2] | 0) >> 2])); + HEAPF32[($5 + 16 | 0) >> 2] = Math_fround(Math_fround(HEAPF32[((HEAP32[($5 + 28 | 0) >> 2] | 0) + 4 | 0) >> 2]) / Math_fround(HEAPF32[((HEAP32[($5 + 24 | 0) >> 2] | 0) + 4 | 0) >> 2])); + HEAPF32[($5 + 12 | 0) >> 2] = Math_fround(Math_fround(HEAPF32[((HEAP32[($5 + 28 | 0) >> 2] | 0) + 8 | 0) >> 2]) / Math_fround(HEAPF32[((HEAP32[($5 + 24 | 0) >> 2] | 0) + 8 | 0) >> 2])); + btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($0 | 0, $5 + 20 | 0 | 0, $5 + 16 | 0 | 0, $5 + 12 | 0 | 0) | 0; + __stack_pointer = $5 + 32 | 0; + return; + } + + function btBoxShape__getName_28_29_20const($0) { + $0 = $0 | 0; + HEAP32[((__stack_pointer - 16 | 0) + 12 | 0) >> 2] = $0; + return 66262 | 0; + } + + function btBoxShape__setMargin_28float_29($0, $1) { + $0 = $0 | 0; + $1 = Math_fround($1); + var $4 = 0, $5 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, $65 = 0, $67 = 0, $216 = 0, $226 = 0, wasm2js_i32$0 = 0, wasm2js_f32$0 = Math_fround(0); + $4 = __stack_pointer - 96 | 0; + __stack_pointer = $4; + HEAP32[($4 + 92 | 0) >> 2] = $0; + HEAPF32[($4 + 88 | 0) >> 2] = $1; + $5 = HEAP32[($4 + 92 | 0) >> 2] | 0; + (wasm2js_i32$0 = $4, wasm2js_f32$0 = Math_fround(FUNCTION_TABLE[HEAP32[((HEAP32[$5 >> 2] | 0) + 48 | 0) >> 2] | 0 | 0]($5))), HEAPF32[(wasm2js_i32$0 + 68 | 0) >> 2] = wasm2js_f32$0; + (wasm2js_i32$0 = $4, wasm2js_f32$0 = Math_fround(FUNCTION_TABLE[HEAP32[((HEAP32[$5 >> 2] | 0) + 48 | 0) >> 2] | 0 | 0]($5))), HEAPF32[(wasm2js_i32$0 + 64 | 0) >> 2] = wasm2js_f32$0; + (wasm2js_i32$0 = $4, wasm2js_f32$0 = Math_fround(FUNCTION_TABLE[HEAP32[((HEAP32[$5 >> 2] | 0) + 48 | 0) >> 2] | 0 | 0]($5))), HEAPF32[(wasm2js_i32$0 + 60 | 0) >> 2] = wasm2js_f32$0; + btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($4 + 72 | 0 | 0, $4 + 68 | 0 | 0, $4 + 64 | 0 | 0, $4 + 60 | 0 | 0) | 0; + operator__28btVector3_20const__2c_20btVector3_20const__29_2($4 + 44 | 0 | 0, $5 + 36 | 0 | 0, $4 + 72 | 0 | 0); + btConvexInternalShape__setMargin_28float_29($5 | 0, Math_fround(Math_fround(HEAPF32[($4 + 88 | 0) >> 2]))); + (wasm2js_i32$0 = $4, wasm2js_f32$0 = Math_fround(FUNCTION_TABLE[HEAP32[((HEAP32[$5 >> 2] | 0) + 48 | 0) >> 2] | 0 | 0]($5))), HEAPF32[(wasm2js_i32$0 + 24 | 0) >> 2] = wasm2js_f32$0; + (wasm2js_i32$0 = $4, wasm2js_f32$0 = Math_fround(FUNCTION_TABLE[HEAP32[((HEAP32[$5 >> 2] | 0) + 48 | 0) >> 2] | 0 | 0]($5))), HEAPF32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_f32$0; + (wasm2js_i32$0 = $4, wasm2js_f32$0 = Math_fround(FUNCTION_TABLE[HEAP32[((HEAP32[$5 >> 2] | 0) + 48 | 0) >> 2] | 0 | 0]($5))), HEAPF32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_f32$0; + btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($4 + 28 | 0 | 0, $4 + 24 | 0 | 0, $4 + 20 | 0 | 0, $4 + 16 | 0 | 0) | 0; + operator__28btVector3_20const__2c_20btVector3_20const__29($4 | 0, $4 + 44 | 0 | 0, $4 + 28 | 0 | 0); + $65 = $5 + 36 | 0; + i64toi32_i32$2 = $4; + i64toi32_i32$0 = HEAP32[$4 >> 2] | 0; + i64toi32_i32$1 = HEAP32[($4 + 4 | 0) >> 2] | 0; + $216 = i64toi32_i32$0; + i64toi32_i32$0 = $65; + HEAP32[i64toi32_i32$0 >> 2] = $216; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $67 = 8; + i64toi32_i32$2 = $4 + $67 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $226 = i64toi32_i32$1; + i64toi32_i32$1 = $65 + $67 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $226; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + __stack_pointer = $4 + 96 | 0; + return; + } + + function btBoxShape__localGetSupportingVertex_28btVector3_20const__29_20const($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $5 = 0, $6 = 0, i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, i64toi32_i32$1 = 0, $7 = 0, $8 = 0, $121 = 0, $125 = 0, wasm2js_i32$0 = 0, wasm2js_f32$0 = Math_fround(0); + $5 = __stack_pointer - 64 | 0; + __stack_pointer = $5; + HEAP32[($5 + 60 | 0) >> 2] = $1; + HEAP32[($5 + 56 | 0) >> 2] = $2; + $6 = HEAP32[($5 + 60 | 0) >> 2] | 0; + $7 = btBoxShape__getHalfExtentsWithoutMargin_28_29_20const($6 | 0) | 0; + $8 = 8; + i64toi32_i32$2 = $7 + $8 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $121 = i64toi32_i32$0; + i64toi32_i32$0 = ($5 + 40 | 0) + $8 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $121; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$2 = $7; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $125 = i64toi32_i32$1; + i64toi32_i32$1 = $5; + HEAP32[($5 + 40 | 0) >> 2] = $125; + HEAP32[($5 + 44 | 0) >> 2] = i64toi32_i32$0; + (wasm2js_i32$0 = $5, wasm2js_f32$0 = Math_fround(FUNCTION_TABLE[HEAP32[((HEAP32[$6 >> 2] | 0) + 48 | 0) >> 2] | 0 | 0]($6))), HEAPF32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_f32$0; + (wasm2js_i32$0 = $5, wasm2js_f32$0 = Math_fround(FUNCTION_TABLE[HEAP32[((HEAP32[$6 >> 2] | 0) + 48 | 0) >> 2] | 0 | 0]($6))), HEAPF32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_f32$0; + (wasm2js_i32$0 = $5, wasm2js_f32$0 = Math_fround(FUNCTION_TABLE[HEAP32[((HEAP32[$6 >> 2] | 0) + 48 | 0) >> 2] | 0 | 0]($6))), HEAPF32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_f32$0; + btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($5 + 24 | 0 | 0, $5 + 20 | 0 | 0, $5 + 16 | 0 | 0, $5 + 12 | 0 | 0) | 0; + btVector3__operator___28btVector3_20const__29_1($5 + 40 | 0 | 0, $5 + 24 | 0 | 0) | 0; + (wasm2js_i32$0 = $5, wasm2js_f32$0 = Math_fround(btFsel_28float_2c_20float_2c_20float_29(Math_fround(Math_fround(HEAPF32[(btVector3__x_28_29_20const(HEAP32[($5 + 56 | 0) >> 2] | 0 | 0) | 0) >> 2])), Math_fround(Math_fround(HEAPF32[(btVector3__x_28_29_20const($5 + 40 | 0 | 0) | 0) >> 2])), Math_fround(Math_fround(-Math_fround(HEAPF32[(btVector3__x_28_29_20const($5 + 40 | 0 | 0) | 0) >> 2])))))), HEAPF32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_f32$0; + (wasm2js_i32$0 = $5, wasm2js_f32$0 = Math_fround(btFsel_28float_2c_20float_2c_20float_29(Math_fround(Math_fround(HEAPF32[(btVector3__y_28_29_20const(HEAP32[($5 + 56 | 0) >> 2] | 0 | 0) | 0) >> 2])), Math_fround(Math_fround(HEAPF32[(btVector3__y_28_29_20const($5 + 40 | 0 | 0) | 0) >> 2])), Math_fround(Math_fround(-Math_fround(HEAPF32[(btVector3__y_28_29_20const($5 + 40 | 0 | 0) | 0) >> 2])))))), HEAPF32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_f32$0; + (wasm2js_i32$0 = $5, wasm2js_f32$0 = Math_fround(btFsel_28float_2c_20float_2c_20float_29(Math_fround(Math_fround(HEAPF32[(btVector3__z_28_29_20const(HEAP32[($5 + 56 | 0) >> 2] | 0 | 0) | 0) >> 2])), Math_fround(Math_fround(HEAPF32[(btVector3__z_28_29_20const($5 + 40 | 0 | 0) | 0) >> 2])), Math_fround(Math_fround(-Math_fround(HEAPF32[(btVector3__z_28_29_20const($5 + 40 | 0 | 0) | 0) >> 2])))))), HEAPF32[wasm2js_i32$0 >> 2] = wasm2js_f32$0; + btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($0 | 0, $5 + 8 | 0 | 0, $5 + 4 | 0 | 0, $5 | 0) | 0; + __stack_pointer = $5 + 64 | 0; + return; + } + + function btFsel_28float_2c_20float_2c_20float_29($0, $1, $2) { + $0 = Math_fround($0); + $1 = Math_fround($1); + $2 = Math_fround($2); + var $5 = 0, $13 = Math_fround(0); + $5 = __stack_pointer - 16 | 0; + HEAPF32[($5 + 12 | 0) >> 2] = $0; + HEAPF32[($5 + 8 | 0) >> 2] = $1; + HEAPF32[($5 + 4 | 0) >> 2] = $2; + label$1 : { + label$2 : { + if (!(Math_fround(HEAPF32[($5 + 12 | 0) >> 2]) >= Math_fround(0 | 0) & 1 | 0)) { + break label$2 + } + $13 = Math_fround(HEAPF32[($5 + 8 | 0) >> 2]); + break label$1; + } + $13 = Math_fround(HEAPF32[($5 + 4 | 0) >> 2]); + } + return Math_fround($13); + } + + function btBoxShape__localGetSupportingVertexWithoutMargin_28btVector3_20const__29_20const($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $5 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0, wasm2js_f32$0 = Math_fround(0); + $5 = __stack_pointer - 32 | 0; + __stack_pointer = $5; + HEAP32[($5 + 28 | 0) >> 2] = $1; + HEAP32[($5 + 24 | 0) >> 2] = $2; + (wasm2js_i32$0 = $5, wasm2js_i32$1 = btBoxShape__getHalfExtentsWithoutMargin_28_29_20const(HEAP32[($5 + 28 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $5, wasm2js_f32$0 = Math_fround(btFsel_28float_2c_20float_2c_20float_29(Math_fround(Math_fround(HEAPF32[(btVector3__x_28_29_20const(HEAP32[($5 + 24 | 0) >> 2] | 0 | 0) | 0) >> 2])), Math_fround(Math_fround(HEAPF32[(btVector3__x_28_29_20const(HEAP32[($5 + 20 | 0) >> 2] | 0 | 0) | 0) >> 2])), Math_fround(Math_fround(-Math_fround(HEAPF32[(btVector3__x_28_29_20const(HEAP32[($5 + 20 | 0) >> 2] | 0 | 0) | 0) >> 2])))))), HEAPF32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_f32$0; + (wasm2js_i32$0 = $5, wasm2js_f32$0 = Math_fround(btFsel_28float_2c_20float_2c_20float_29(Math_fround(Math_fround(HEAPF32[(btVector3__y_28_29_20const(HEAP32[($5 + 24 | 0) >> 2] | 0 | 0) | 0) >> 2])), Math_fround(Math_fround(HEAPF32[(btVector3__y_28_29_20const(HEAP32[($5 + 20 | 0) >> 2] | 0 | 0) | 0) >> 2])), Math_fround(Math_fround(-Math_fround(HEAPF32[(btVector3__y_28_29_20const(HEAP32[($5 + 20 | 0) >> 2] | 0 | 0) | 0) >> 2])))))), HEAPF32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_f32$0; + (wasm2js_i32$0 = $5, wasm2js_f32$0 = Math_fround(btFsel_28float_2c_20float_2c_20float_29(Math_fround(Math_fround(HEAPF32[(btVector3__z_28_29_20const(HEAP32[($5 + 24 | 0) >> 2] | 0 | 0) | 0) >> 2])), Math_fround(Math_fround(HEAPF32[(btVector3__z_28_29_20const(HEAP32[($5 + 20 | 0) >> 2] | 0 | 0) | 0) >> 2])), Math_fround(Math_fround(-Math_fround(HEAPF32[(btVector3__z_28_29_20const(HEAP32[($5 + 20 | 0) >> 2] | 0 | 0) | 0) >> 2])))))), HEAPF32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_f32$0; + btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($0 | 0, $5 + 16 | 0 | 0, $5 + 12 | 0 | 0, $5 + 8 | 0 | 0) | 0; + __stack_pointer = $5 + 32 | 0; + return; + } + + function btBoxShape__batchedUnitVectorGetSupportingVertexWithoutMargin_28btVector3_20const__2c_20btVector3__2c_20int_29_20const($0, $1, $2, $3) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + var $6 = 0, $26 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0, wasm2js_f32$0 = Math_fround(0); + $6 = __stack_pointer - 48 | 0; + __stack_pointer = $6; + HEAP32[($6 + 44 | 0) >> 2] = $0; + HEAP32[($6 + 40 | 0) >> 2] = $1; + HEAP32[($6 + 36 | 0) >> 2] = $2; + HEAP32[($6 + 32 | 0) >> 2] = $3; + (wasm2js_i32$0 = $6, wasm2js_i32$1 = btBoxShape__getHalfExtentsWithoutMargin_28_29_20const(HEAP32[($6 + 44 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($6 + 24 | 0) >> 2] = 0; + label$1 : { + label$2 : while (1) { + if (!((HEAP32[($6 + 24 | 0) >> 2] | 0 | 0) < (HEAP32[($6 + 32 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$1 + } + HEAP32[($6 + 20 | 0) >> 2] = (HEAP32[($6 + 40 | 0) >> 2] | 0) + ((HEAP32[($6 + 24 | 0) >> 2] | 0) << 4 | 0) | 0; + $26 = (HEAP32[($6 + 36 | 0) >> 2] | 0) + ((HEAP32[($6 + 24 | 0) >> 2] | 0) << 4 | 0) | 0; + (wasm2js_i32$0 = $6, wasm2js_f32$0 = Math_fround(btFsel_28float_2c_20float_2c_20float_29(Math_fround(Math_fround(HEAPF32[(btVector3__x_28_29_20const(HEAP32[($6 + 20 | 0) >> 2] | 0 | 0) | 0) >> 2])), Math_fround(Math_fround(HEAPF32[(btVector3__x_28_29_20const(HEAP32[($6 + 28 | 0) >> 2] | 0 | 0) | 0) >> 2])), Math_fround(Math_fround(-Math_fround(HEAPF32[(btVector3__x_28_29_20const(HEAP32[($6 + 28 | 0) >> 2] | 0 | 0) | 0) >> 2])))))), HEAPF32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_f32$0; + (wasm2js_i32$0 = $6, wasm2js_f32$0 = Math_fround(btFsel_28float_2c_20float_2c_20float_29(Math_fround(Math_fround(HEAPF32[(btVector3__y_28_29_20const(HEAP32[($6 + 20 | 0) >> 2] | 0 | 0) | 0) >> 2])), Math_fround(Math_fround(HEAPF32[(btVector3__y_28_29_20const(HEAP32[($6 + 28 | 0) >> 2] | 0 | 0) | 0) >> 2])), Math_fround(Math_fround(-Math_fround(HEAPF32[(btVector3__y_28_29_20const(HEAP32[($6 + 28 | 0) >> 2] | 0 | 0) | 0) >> 2])))))), HEAPF32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_f32$0; + (wasm2js_i32$0 = $6, wasm2js_f32$0 = Math_fround(btFsel_28float_2c_20float_2c_20float_29(Math_fround(Math_fround(HEAPF32[(btVector3__z_28_29_20const(HEAP32[($6 + 20 | 0) >> 2] | 0 | 0) | 0) >> 2])), Math_fround(Math_fround(HEAPF32[(btVector3__z_28_29_20const(HEAP32[($6 + 28 | 0) >> 2] | 0 | 0) | 0) >> 2])), Math_fround(Math_fround(-Math_fround(HEAPF32[(btVector3__z_28_29_20const(HEAP32[($6 + 28 | 0) >> 2] | 0 | 0) | 0) >> 2])))))), HEAPF32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_f32$0; + btVector3__setValue_28float_20const__2c_20float_20const__2c_20float_20const__29($26 | 0, $6 + 16 | 0 | 0, $6 + 12 | 0 | 0, $6 + 8 | 0 | 0); + HEAP32[($6 + 24 | 0) >> 2] = (HEAP32[($6 + 24 | 0) >> 2] | 0) + 1 | 0; + continue label$2; + }; + } + __stack_pointer = $6 + 48 | 0; + return; + } + + function btBoxShape__getNumPreferredPenetrationDirections_28_29_20const($0) { + $0 = $0 | 0; + HEAP32[((__stack_pointer - 16 | 0) + 12 | 0) >> 2] = $0; + return 6 | 0; + } + + function btBoxShape__getPreferredPenetrationDirection_28int_2c_20btVector3__29_20const($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $5 = 0, $6 = 0, $8 = 0, $23 = 0, $38 = 0, $53 = 0, $68 = 0, $83 = 0; + $5 = __stack_pointer - 96 | 0; + __stack_pointer = $5; + HEAP32[($5 + 92 | 0) >> 2] = $0; + HEAP32[($5 + 88 | 0) >> 2] = $1; + HEAP32[($5 + 84 | 0) >> 2] = $2; + $6 = HEAP32[($5 + 88 | 0) >> 2] | 0; + label$1 : { + label$2 : { + switch ($6 | 0) { + case 0: + $8 = HEAP32[($5 + 84 | 0) >> 2] | 0; + HEAPF32[($5 + 80 | 0) >> 2] = Math_fround(1.0); + HEAPF32[($5 + 76 | 0) >> 2] = Math_fround(0 | 0); + HEAPF32[($5 + 72 | 0) >> 2] = Math_fround(0 | 0); + btVector3__setValue_28float_20const__2c_20float_20const__2c_20float_20const__29($8 | 0, $5 + 80 | 0 | 0, $5 + 76 | 0 | 0, $5 + 72 | 0 | 0); + break label$1; + case 1: + $23 = HEAP32[($5 + 84 | 0) >> 2] | 0; + HEAPF32[($5 + 68 | 0) >> 2] = Math_fround(-1.0); + HEAPF32[($5 + 64 | 0) >> 2] = Math_fround(0 | 0); + HEAPF32[($5 + 60 | 0) >> 2] = Math_fround(0 | 0); + btVector3__setValue_28float_20const__2c_20float_20const__2c_20float_20const__29($23 | 0, $5 + 68 | 0 | 0, $5 + 64 | 0 | 0, $5 + 60 | 0 | 0); + break label$1; + case 2: + $38 = HEAP32[($5 + 84 | 0) >> 2] | 0; + HEAPF32[($5 + 56 | 0) >> 2] = Math_fround(0 | 0); + HEAPF32[($5 + 52 | 0) >> 2] = Math_fround(1.0); + HEAPF32[($5 + 48 | 0) >> 2] = Math_fround(0 | 0); + btVector3__setValue_28float_20const__2c_20float_20const__2c_20float_20const__29($38 | 0, $5 + 56 | 0 | 0, $5 + 52 | 0 | 0, $5 + 48 | 0 | 0); + break label$1; + case 3: + $53 = HEAP32[($5 + 84 | 0) >> 2] | 0; + HEAPF32[($5 + 44 | 0) >> 2] = Math_fround(0 | 0); + HEAPF32[($5 + 40 | 0) >> 2] = Math_fround(-1.0); + HEAPF32[($5 + 36 | 0) >> 2] = Math_fround(0 | 0); + btVector3__setValue_28float_20const__2c_20float_20const__2c_20float_20const__29($53 | 0, $5 + 44 | 0 | 0, $5 + 40 | 0 | 0, $5 + 36 | 0 | 0); + break label$1; + case 4: + $68 = HEAP32[($5 + 84 | 0) >> 2] | 0; + HEAPF32[($5 + 32 | 0) >> 2] = Math_fround(0 | 0); + HEAPF32[($5 + 28 | 0) >> 2] = Math_fround(0 | 0); + HEAPF32[($5 + 24 | 0) >> 2] = Math_fround(1.0); + btVector3__setValue_28float_20const__2c_20float_20const__2c_20float_20const__29($68 | 0, $5 + 32 | 0 | 0, $5 + 28 | 0 | 0, $5 + 24 | 0 | 0); + break label$1; + case 5: + $83 = HEAP32[($5 + 84 | 0) >> 2] | 0; + HEAPF32[($5 + 20 | 0) >> 2] = Math_fround(0 | 0); + HEAPF32[($5 + 16 | 0) >> 2] = Math_fround(0 | 0); + HEAPF32[($5 + 12 | 0) >> 2] = Math_fround(-1.0); + btVector3__setValue_28float_20const__2c_20float_20const__2c_20float_20const__29($83 | 0, $5 + 20 | 0 | 0, $5 + 16 | 0 | 0, $5 + 12 | 0 | 0); + break label$1; + default: + break label$2; + }; + } + __assert_fail(86177 | 0, 78954 | 0, 305 | 0, 76388 | 0); + wasm2js_trap(); + } + __stack_pointer = $5 + 96 | 0; + return; + } + + function btBoxShape__getNumVertices_28_29_20const($0) { + $0 = $0 | 0; + HEAP32[((__stack_pointer - 16 | 0) + 12 | 0) >> 2] = $0; + return 8 | 0; + } + + function btBoxShape__getNumEdges_28_29_20const($0) { + $0 = $0 | 0; + HEAP32[((__stack_pointer - 16 | 0) + 12 | 0) >> 2] = $0; + return 12 | 0; + } + + function btBoxShape__getEdge_28int_2c_20btVector3__2c_20btVector3__29_20const($0, $1, $2, $3) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + var $6 = 0, $7 = 0, $8 = 0, $9 = 0; + $6 = __stack_pointer - 32 | 0; + __stack_pointer = $6; + HEAP32[($6 + 28 | 0) >> 2] = $0; + HEAP32[($6 + 24 | 0) >> 2] = $1; + HEAP32[($6 + 20 | 0) >> 2] = $2; + HEAP32[($6 + 16 | 0) >> 2] = $3; + $7 = HEAP32[($6 + 28 | 0) >> 2] | 0; + $8 = 0; + HEAP32[($6 + 12 | 0) >> 2] = $8; + HEAP32[($6 + 8 | 0) >> 2] = $8; + $9 = HEAP32[($6 + 24 | 0) >> 2] | 0; + label$1 : { + label$2 : { + switch ($9 | 0) { + case 0: + HEAP32[($6 + 12 | 0) >> 2] = 0; + HEAP32[($6 + 8 | 0) >> 2] = 1; + break label$1; + case 1: + HEAP32[($6 + 12 | 0) >> 2] = 0; + HEAP32[($6 + 8 | 0) >> 2] = 2; + break label$1; + case 2: + HEAP32[($6 + 12 | 0) >> 2] = 1; + HEAP32[($6 + 8 | 0) >> 2] = 3; + break label$1; + case 3: + HEAP32[($6 + 12 | 0) >> 2] = 2; + HEAP32[($6 + 8 | 0) >> 2] = 3; + break label$1; + case 4: + HEAP32[($6 + 12 | 0) >> 2] = 0; + HEAP32[($6 + 8 | 0) >> 2] = 4; + break label$1; + case 5: + HEAP32[($6 + 12 | 0) >> 2] = 1; + HEAP32[($6 + 8 | 0) >> 2] = 5; + break label$1; + case 6: + HEAP32[($6 + 12 | 0) >> 2] = 2; + HEAP32[($6 + 8 | 0) >> 2] = 6; + break label$1; + case 7: + HEAP32[($6 + 12 | 0) >> 2] = 3; + HEAP32[($6 + 8 | 0) >> 2] = 7; + break label$1; + case 8: + HEAP32[($6 + 12 | 0) >> 2] = 4; + HEAP32[($6 + 8 | 0) >> 2] = 5; + break label$1; + case 9: + HEAP32[($6 + 12 | 0) >> 2] = 4; + HEAP32[($6 + 8 | 0) >> 2] = 6; + break label$1; + case 10: + HEAP32[($6 + 12 | 0) >> 2] = 5; + HEAP32[($6 + 8 | 0) >> 2] = 7; + break label$1; + case 11: + HEAP32[($6 + 12 | 0) >> 2] = 6; + HEAP32[($6 + 8 | 0) >> 2] = 7; + break label$1; + default: + break label$2; + }; + } + __assert_fail(86177 | 0, 78954 | 0, 242 | 0, 81912 | 0); + wasm2js_trap(); + } + FUNCTION_TABLE[HEAP32[((HEAP32[$7 >> 2] | 0) + 108 | 0) >> 2] | 0 | 0]($7, HEAP32[($6 + 12 | 0) >> 2] | 0, HEAP32[($6 + 20 | 0) >> 2] | 0); + FUNCTION_TABLE[HEAP32[((HEAP32[$7 >> 2] | 0) + 108 | 0) >> 2] | 0 | 0]($7, HEAP32[($6 + 8 | 0) >> 2] | 0, HEAP32[($6 + 16 | 0) >> 2] | 0); + __stack_pointer = $6 + 32 | 0; + return; + } + + function btBoxShape__getVertex_28int_2c_20btVector3__29_20const($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $5 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, $102 = 0, $104 = 0, $307 = 0, $320 = 0, wasm2js_i32$0 = 0, wasm2js_f32$0 = Math_fround(0); + $5 = __stack_pointer - 64 | 0; + __stack_pointer = $5; + HEAP32[($5 + 60 | 0) >> 2] = $0; + HEAP32[($5 + 56 | 0) >> 2] = $1; + HEAP32[($5 + 52 | 0) >> 2] = $2; + btBoxShape__getHalfExtentsWithMargin_28_29_20const($5 + 36 | 0 | 0, HEAP32[($5 + 60 | 0) >> 2] | 0 | 0); + (wasm2js_i32$0 = $5, wasm2js_f32$0 = Math_fround(Math_fround(Math_fround(HEAPF32[(btVector3__x_28_29_20const($5 + 36 | 0 | 0) | 0) >> 2]) * Math_fround(1 - ((HEAP32[($5 + 56 | 0) >> 2] | 0) & 1 | 0) | 0 | 0)) + Math_fround(-Math_fround(Math_fround(HEAPF32[(btVector3__x_28_29_20const($5 + 36 | 0 | 0) | 0) >> 2]) * Math_fround((HEAP32[($5 + 56 | 0) >> 2] | 0) & 1 | 0 | 0))))), HEAPF32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_f32$0; + (wasm2js_i32$0 = $5, wasm2js_f32$0 = Math_fround(Math_fround(Math_fround(HEAPF32[(btVector3__y_28_29_20const($5 + 36 | 0 | 0) | 0) >> 2]) * Math_fround(1 - (((HEAP32[($5 + 56 | 0) >> 2] | 0) & 2 | 0) >> 1 | 0) | 0 | 0)) + Math_fround(-Math_fround(Math_fround(HEAPF32[(btVector3__y_28_29_20const($5 + 36 | 0 | 0) | 0) >> 2]) * Math_fround(((HEAP32[($5 + 56 | 0) >> 2] | 0) & 2 | 0) >> 1 | 0 | 0))))), HEAPF32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_f32$0; + (wasm2js_i32$0 = $5, wasm2js_f32$0 = Math_fround(Math_fround(Math_fround(HEAPF32[(btVector3__z_28_29_20const($5 + 36 | 0 | 0) | 0) >> 2]) * Math_fround(1 - (((HEAP32[($5 + 56 | 0) >> 2] | 0) & 4 | 0) >> 2 | 0) | 0 | 0)) + Math_fround(-Math_fround(Math_fround(HEAPF32[(btVector3__z_28_29_20const($5 + 36 | 0 | 0) | 0) >> 2]) * Math_fround(((HEAP32[($5 + 56 | 0) >> 2] | 0) & 4 | 0) >> 2 | 0 | 0))))), HEAPF32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_f32$0; + btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($5 + 20 | 0 | 0, $5 + 16 | 0 | 0, $5 + 12 | 0 | 0, $5 + 8 | 0 | 0) | 0; + $102 = HEAP32[($5 + 52 | 0) >> 2] | 0; + i64toi32_i32$2 = $5; + i64toi32_i32$0 = HEAP32[($5 + 20 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($5 + 24 | 0) >> 2] | 0; + $307 = i64toi32_i32$0; + i64toi32_i32$0 = $102; + HEAP32[i64toi32_i32$0 >> 2] = $307; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $104 = 8; + i64toi32_i32$2 = ($5 + 20 | 0) + $104 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $320 = i64toi32_i32$1; + i64toi32_i32$1 = $102 + $104 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $320; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + __stack_pointer = $5 + 64 | 0; + return; + } + + function btBoxShape__getNumPlanes_28_29_20const($0) { + $0 = $0 | 0; + HEAP32[((__stack_pointer - 16 | 0) + 12 | 0) >> 2] = $0; + return 6 | 0; + } + + function btBoxShape__getPlane_28btVector3__2c_20btVector3__2c_20int_29_20const($0, $1, $2, $3) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + var $6 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, $7 = 0, $32 = 0, $34 = 0, $48 = 0, $50 = 0, $125 = 0, $138 = 0, $162 = 0, $175 = 0; + $6 = __stack_pointer - 80 | 0; + __stack_pointer = $6; + HEAP32[($6 + 76 | 0) >> 2] = $0; + HEAP32[($6 + 72 | 0) >> 2] = $1; + HEAP32[($6 + 68 | 0) >> 2] = $2; + HEAP32[($6 + 64 | 0) >> 2] = $3; + $7 = HEAP32[($6 + 76 | 0) >> 2] | 0; + btVector4__btVector4_28_29($6 + 48 | 0 | 0) | 0; + FUNCTION_TABLE[HEAP32[((HEAP32[$7 >> 2] | 0) + 124 | 0) >> 2] | 0 | 0]($7, $6 + 48 | 0, HEAP32[($6 + 64 | 0) >> 2] | 0); + btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($6 + 32 | 0 | 0, btVector3__getX_28_29_20const($6 + 48 | 0 | 0) | 0 | 0, btVector3__getY_28_29_20const($6 + 48 | 0 | 0) | 0 | 0, btVector3__getZ_28_29_20const($6 + 48 | 0 | 0) | 0 | 0) | 0; + $32 = HEAP32[($6 + 72 | 0) >> 2] | 0; + i64toi32_i32$2 = $6; + i64toi32_i32$0 = HEAP32[($6 + 32 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($6 + 36 | 0) >> 2] | 0; + $125 = i64toi32_i32$0; + i64toi32_i32$0 = $32; + HEAP32[i64toi32_i32$0 >> 2] = $125; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $34 = 8; + i64toi32_i32$2 = ($6 + 32 | 0) + $34 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $138 = i64toi32_i32$1; + i64toi32_i32$1 = $32 + $34 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $138; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + operator__28btVector3_20const__29($6 | 0, HEAP32[($6 + 72 | 0) >> 2] | 0 | 0); + FUNCTION_TABLE[HEAP32[((HEAP32[$7 >> 2] | 0) + 64 | 0) >> 2] | 0 | 0]($6 + 16 | 0, $7, $6); + $48 = HEAP32[($6 + 68 | 0) >> 2] | 0; + i64toi32_i32$2 = $6; + i64toi32_i32$0 = HEAP32[($6 + 16 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($6 + 20 | 0) >> 2] | 0; + $162 = i64toi32_i32$0; + i64toi32_i32$0 = $48; + HEAP32[i64toi32_i32$0 >> 2] = $162; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $50 = 8; + i64toi32_i32$2 = ($6 + 16 | 0) + $50 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $175 = i64toi32_i32$1; + i64toi32_i32$1 = $48 + $50 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $175; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + __stack_pointer = $6 + 80 | 0; + return; + } + + function btVector4__btVector4_28_29($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + btVector3__btVector3_28_29($4 | 0) | 0; + __stack_pointer = $3 + 16 | 0; + return $4 | 0; + } + + function btBoxShape__isInside_28btVector3_20const__2c_20float_29_20const($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = Math_fround($2); + var $5 = 0, i64toi32_i32$0 = 0, $29 = 0, i64toi32_i32$2 = 0, i64toi32_i32$1 = 0, $7 = 0, $8 = 0, $135 = 0, $139 = 0, $105 = 0; + $5 = __stack_pointer - 48 | 0; + __stack_pointer = $5; + HEAP32[($5 + 44 | 0) >> 2] = $0; + HEAP32[($5 + 40 | 0) >> 2] = $1; + HEAPF32[($5 + 36 | 0) >> 2] = $2; + $7 = btBoxShape__getHalfExtentsWithoutMargin_28_29_20const(HEAP32[($5 + 44 | 0) >> 2] | 0 | 0) | 0; + $8 = 8; + i64toi32_i32$2 = $7 + $8 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $135 = i64toi32_i32$0; + i64toi32_i32$0 = ($5 + 16 | 0) + $8 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $135; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$2 = $7; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $139 = i64toi32_i32$1; + i64toi32_i32$1 = $5; + HEAP32[($5 + 16 | 0) >> 2] = $139; + HEAP32[($5 + 20 | 0) >> 2] = i64toi32_i32$0; + $29 = 0; + label$1 : { + if (!(Math_fround(HEAPF32[(btVector3__x_28_29_20const(HEAP32[($5 + 40 | 0) >> 2] | 0 | 0) | 0) >> 2]) <= Math_fround(Math_fround(HEAPF32[(btVector3__x_28_29_20const($5 + 16 | 0 | 0) | 0) >> 2]) + Math_fround(HEAPF32[($5 + 36 | 0) >> 2])) & 1 | 0)) { + break label$1 + } + $29 = 0; + if (!(Math_fround(HEAPF32[(btVector3__x_28_29_20const(HEAP32[($5 + 40 | 0) >> 2] | 0 | 0) | 0) >> 2]) >= Math_fround(Math_fround(-Math_fround(HEAPF32[(btVector3__x_28_29_20const($5 + 16 | 0 | 0) | 0) >> 2])) - Math_fround(HEAPF32[($5 + 36 | 0) >> 2])) & 1 | 0)) { + break label$1 + } + $29 = 0; + if (!(Math_fround(HEAPF32[(btVector3__y_28_29_20const(HEAP32[($5 + 40 | 0) >> 2] | 0 | 0) | 0) >> 2]) <= Math_fround(Math_fround(HEAPF32[(btVector3__y_28_29_20const($5 + 16 | 0 | 0) | 0) >> 2]) + Math_fround(HEAPF32[($5 + 36 | 0) >> 2])) & 1 | 0)) { + break label$1 + } + $29 = 0; + if (!(Math_fround(HEAPF32[(btVector3__y_28_29_20const(HEAP32[($5 + 40 | 0) >> 2] | 0 | 0) | 0) >> 2]) >= Math_fround(Math_fround(-Math_fround(HEAPF32[(btVector3__y_28_29_20const($5 + 16 | 0 | 0) | 0) >> 2])) - Math_fround(HEAPF32[($5 + 36 | 0) >> 2])) & 1 | 0)) { + break label$1 + } + $29 = 0; + if (!(Math_fround(HEAPF32[(btVector3__z_28_29_20const(HEAP32[($5 + 40 | 0) >> 2] | 0 | 0) | 0) >> 2]) <= Math_fround(Math_fround(HEAPF32[(btVector3__z_28_29_20const($5 + 16 | 0 | 0) | 0) >> 2]) + Math_fround(HEAPF32[($5 + 36 | 0) >> 2])) & 1 | 0)) { + break label$1 + } + $29 = Math_fround(HEAPF32[(btVector3__z_28_29_20const(HEAP32[($5 + 40 | 0) >> 2] | 0 | 0) | 0) >> 2]) >= Math_fround(Math_fround(-Math_fround(HEAPF32[(btVector3__z_28_29_20const($5 + 16 | 0 | 0) | 0) >> 2])) - Math_fround(HEAPF32[($5 + 36 | 0) >> 2])); + } + HEAP8[($5 + 15 | 0) >> 0] = $29 & 1 | 0; + $105 = (HEAPU8[($5 + 15 | 0) >> 0] | 0) & 1 | 0; + __stack_pointer = $5 + 48 | 0; + return $105 | 0; + } + + function btBoxShape__getPlaneEquation_28btVector4__2c_20int_29_20const($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $5 = 0, i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, i64toi32_i32$1 = 0, $7 = 0, $8 = 0, $15 = 0, $192 = 0, $196 = 0, $17 = 0, $41 = 0, $65 = 0, $89 = 0, $113 = 0, $137 = 0, wasm2js_i32$0 = 0, wasm2js_f32$0 = Math_fround(0); + $5 = __stack_pointer - 128 | 0; + __stack_pointer = $5; + HEAP32[($5 + 124 | 0) >> 2] = $0; + HEAP32[($5 + 120 | 0) >> 2] = $1; + HEAP32[($5 + 116 | 0) >> 2] = $2; + $7 = btBoxShape__getHalfExtentsWithoutMargin_28_29_20const(HEAP32[($5 + 124 | 0) >> 2] | 0 | 0) | 0; + $8 = 8; + i64toi32_i32$2 = $7 + $8 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $192 = i64toi32_i32$0; + i64toi32_i32$0 = ($5 + 96 | 0) + $8 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $192; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$2 = $7; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $196 = i64toi32_i32$1; + i64toi32_i32$1 = $5; + HEAP32[($5 + 96 | 0) >> 2] = $196; + HEAP32[($5 + 100 | 0) >> 2] = i64toi32_i32$0; + $15 = HEAP32[($5 + 116 | 0) >> 2] | 0; + label$1 : { + label$2 : { + switch ($15 | 0) { + case 0: + $17 = HEAP32[($5 + 120 | 0) >> 2] | 0; + HEAPF32[($5 + 92 | 0) >> 2] = Math_fround(1.0); + HEAPF32[($5 + 88 | 0) >> 2] = Math_fround(0 | 0); + HEAPF32[($5 + 84 | 0) >> 2] = Math_fround(0 | 0); + (wasm2js_i32$0 = $5, wasm2js_f32$0 = Math_fround(-Math_fround(HEAPF32[(btVector3__x_28_29_20const($5 + 96 | 0 | 0) | 0) >> 2]))), HEAPF32[(wasm2js_i32$0 + 80 | 0) >> 2] = wasm2js_f32$0; + btVector4__setValue_28float_20const__2c_20float_20const__2c_20float_20const__2c_20float_20const__29($17 | 0, $5 + 92 | 0 | 0, $5 + 88 | 0 | 0, $5 + 84 | 0 | 0, $5 + 80 | 0 | 0); + break label$1; + case 1: + $41 = HEAP32[($5 + 120 | 0) >> 2] | 0; + HEAPF32[($5 + 76 | 0) >> 2] = Math_fround(-1.0); + HEAPF32[($5 + 72 | 0) >> 2] = Math_fround(0 | 0); + HEAPF32[($5 + 68 | 0) >> 2] = Math_fround(0 | 0); + (wasm2js_i32$0 = $5, wasm2js_f32$0 = Math_fround(-Math_fround(HEAPF32[(btVector3__x_28_29_20const($5 + 96 | 0 | 0) | 0) >> 2]))), HEAPF32[(wasm2js_i32$0 + 64 | 0) >> 2] = wasm2js_f32$0; + btVector4__setValue_28float_20const__2c_20float_20const__2c_20float_20const__2c_20float_20const__29($41 | 0, $5 + 76 | 0 | 0, $5 + 72 | 0 | 0, $5 + 68 | 0 | 0, $5 + 64 | 0 | 0); + break label$1; + case 2: + $65 = HEAP32[($5 + 120 | 0) >> 2] | 0; + HEAPF32[($5 + 60 | 0) >> 2] = Math_fround(0 | 0); + HEAPF32[($5 + 56 | 0) >> 2] = Math_fround(1.0); + HEAPF32[($5 + 52 | 0) >> 2] = Math_fround(0 | 0); + (wasm2js_i32$0 = $5, wasm2js_f32$0 = Math_fround(-Math_fround(HEAPF32[(btVector3__y_28_29_20const($5 + 96 | 0 | 0) | 0) >> 2]))), HEAPF32[(wasm2js_i32$0 + 48 | 0) >> 2] = wasm2js_f32$0; + btVector4__setValue_28float_20const__2c_20float_20const__2c_20float_20const__2c_20float_20const__29($65 | 0, $5 + 60 | 0 | 0, $5 + 56 | 0 | 0, $5 + 52 | 0 | 0, $5 + 48 | 0 | 0); + break label$1; + case 3: + $89 = HEAP32[($5 + 120 | 0) >> 2] | 0; + HEAPF32[($5 + 44 | 0) >> 2] = Math_fround(0 | 0); + HEAPF32[($5 + 40 | 0) >> 2] = Math_fround(-1.0); + HEAPF32[($5 + 36 | 0) >> 2] = Math_fround(0 | 0); + (wasm2js_i32$0 = $5, wasm2js_f32$0 = Math_fround(-Math_fround(HEAPF32[(btVector3__y_28_29_20const($5 + 96 | 0 | 0) | 0) >> 2]))), HEAPF32[(wasm2js_i32$0 + 32 | 0) >> 2] = wasm2js_f32$0; + btVector4__setValue_28float_20const__2c_20float_20const__2c_20float_20const__2c_20float_20const__29($89 | 0, $5 + 44 | 0 | 0, $5 + 40 | 0 | 0, $5 + 36 | 0 | 0, $5 + 32 | 0 | 0); + break label$1; + case 4: + $113 = HEAP32[($5 + 120 | 0) >> 2] | 0; + HEAPF32[($5 + 28 | 0) >> 2] = Math_fround(0 | 0); + HEAPF32[($5 + 24 | 0) >> 2] = Math_fround(0 | 0); + HEAPF32[($5 + 20 | 0) >> 2] = Math_fround(1.0); + (wasm2js_i32$0 = $5, wasm2js_f32$0 = Math_fround(-Math_fround(HEAPF32[(btVector3__z_28_29_20const($5 + 96 | 0 | 0) | 0) >> 2]))), HEAPF32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_f32$0; + btVector4__setValue_28float_20const__2c_20float_20const__2c_20float_20const__2c_20float_20const__29($113 | 0, $5 + 28 | 0 | 0, $5 + 24 | 0 | 0, $5 + 20 | 0 | 0, $5 + 16 | 0 | 0); + break label$1; + case 5: + $137 = HEAP32[($5 + 120 | 0) >> 2] | 0; + HEAPF32[($5 + 12 | 0) >> 2] = Math_fround(0 | 0); + HEAPF32[($5 + 8 | 0) >> 2] = Math_fround(0 | 0); + HEAPF32[($5 + 4 | 0) >> 2] = Math_fround(-1.0); + (wasm2js_i32$0 = $5, wasm2js_f32$0 = Math_fround(-Math_fround(HEAPF32[(btVector3__z_28_29_20const($5 + 96 | 0 | 0) | 0) >> 2]))), HEAPF32[wasm2js_i32$0 >> 2] = wasm2js_f32$0; + btVector4__setValue_28float_20const__2c_20float_20const__2c_20float_20const__2c_20float_20const__29($137 | 0, $5 + 12 | 0 | 0, $5 + 8 | 0 | 0, $5 + 4 | 0 | 0, $5 | 0); + break label$1; + default: + break label$2; + }; + } + __assert_fail(86177 | 0, 78954 | 0, 178 | 0, 76606 | 0); + wasm2js_trap(); + } + __stack_pointer = $5 + 128 | 0; + return; + } + + function btVector4__setValue_28float_20const__2c_20float_20const__2c_20float_20const__2c_20float_20const__29($0, $1, $2, $3, $4) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + $4 = $4 | 0; + var $7 = 0, $8 = 0; + $7 = __stack_pointer - 32 | 0; + HEAP32[($7 + 28 | 0) >> 2] = $0; + HEAP32[($7 + 24 | 0) >> 2] = $1; + HEAP32[($7 + 20 | 0) >> 2] = $2; + HEAP32[($7 + 16 | 0) >> 2] = $3; + HEAP32[($7 + 12 | 0) >> 2] = $4; + $8 = HEAP32[($7 + 28 | 0) >> 2] | 0; + HEAPF32[$8 >> 2] = Math_fround(HEAPF32[(HEAP32[($7 + 24 | 0) >> 2] | 0) >> 2]); + HEAPF32[($8 + 4 | 0) >> 2] = Math_fround(HEAPF32[(HEAP32[($7 + 20 | 0) >> 2] | 0) >> 2]); + HEAPF32[($8 + 8 | 0) >> 2] = Math_fround(HEAPF32[(HEAP32[($7 + 16 | 0) >> 2] | 0) >> 2]); + HEAPF32[($8 + 12 | 0) >> 2] = Math_fround(HEAPF32[(HEAP32[($7 + 12 | 0) >> 2] | 0) >> 2]); + return; + } + + function _GLOBAL__sub_I_btBoxShape_cpp() { + __cxx_global_var_init_28(); + return; + } + + function __cxx_global_var_init_29() { + btInfMaskConverter__btInfMaskConverter_28int_29(114080 | 0, 2139095040 | 0) | 0; + return; + } + + function btQuantizedBvh__btQuantizedBvh_28_29($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 32 | 0; + __stack_pointer = $3; + HEAP32[($3 + 28 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 28 | 0) >> 2] | 0; + HEAP32[$4 >> 2] = 96952 + 8 | 0; + btVector3__btVector3_28_29($4 + 4 | 0 | 0) | 0; + btVector3__btVector3_28_29($4 + 20 | 0 | 0) | 0; + btVector3__btVector3_28_29($4 + 36 | 0 | 0) | 0; + HEAP32[($4 + 52 | 0) >> 2] = 287; + HEAP8[($4 + 60 | 0) >> 0] = 0; + btAlignedObjectArray_btOptimizedBvhNode___btAlignedObjectArray_28_29($4 + 64 | 0 | 0) | 0; + btAlignedObjectArray_btOptimizedBvhNode___btAlignedObjectArray_28_29($4 + 84 | 0 | 0) | 0; + btAlignedObjectArray_btQuantizedBvhNode___btAlignedObjectArray_28_29($4 + 104 | 0 | 0) | 0; + btAlignedObjectArray_btQuantizedBvhNode___btAlignedObjectArray_28_29($4 + 124 | 0 | 0) | 0; + HEAP32[($4 + 144 | 0) >> 2] = 0; + btAlignedObjectArray_btBvhSubtreeInfo___btAlignedObjectArray_28_29($4 + 148 | 0 | 0) | 0; + HEAP32[($4 + 168 | 0) >> 2] = 0; + HEAPF32[($3 + 24 | 0) >> 2] = Math_fround(-3402823466385288598117041.0e14); + HEAPF32[($3 + 20 | 0) >> 2] = Math_fround(-3402823466385288598117041.0e14); + HEAPF32[($3 + 16 | 0) >> 2] = Math_fround(-3402823466385288598117041.0e14); + btVector3__setValue_28float_20const__2c_20float_20const__2c_20float_20const__29($4 + 4 | 0 | 0, $3 + 24 | 0 | 0, $3 + 20 | 0 | 0, $3 + 16 | 0 | 0); + HEAPF32[($3 + 12 | 0) >> 2] = Math_fround(3402823466385288598117041.0e14); + HEAPF32[($3 + 8 | 0) >> 2] = Math_fround(3402823466385288598117041.0e14); + HEAPF32[($3 + 4 | 0) >> 2] = Math_fround(3402823466385288598117041.0e14); + btVector3__setValue_28float_20const__2c_20float_20const__2c_20float_20const__29($4 + 20 | 0 | 0, $3 + 12 | 0 | 0, $3 + 8 | 0 | 0, $3 + 4 | 0 | 0); + __stack_pointer = $3 + 32 | 0; + return $4 | 0; + } + + function btAlignedObjectArray_btOptimizedBvhNode___btAlignedObjectArray_28_29($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + btAlignedAllocator_btOptimizedBvhNode_2c_2016u___btAlignedAllocator_28_29($4 | 0) | 0; + btAlignedObjectArray_btOptimizedBvhNode___init_28_29($4 | 0); + __stack_pointer = $3 + 16 | 0; + return $4 | 0; + } + + function btAlignedObjectArray_btQuantizedBvhNode___btAlignedObjectArray_28_29($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + btAlignedAllocator_btQuantizedBvhNode_2c_2016u___btAlignedAllocator_28_29($4 | 0) | 0; + btAlignedObjectArray_btQuantizedBvhNode___init_28_29($4 | 0); + __stack_pointer = $3 + 16 | 0; + return $4 | 0; + } + + function btAlignedObjectArray_btBvhSubtreeInfo___btAlignedObjectArray_28_29($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + btAlignedAllocator_btBvhSubtreeInfo_2c_2016u___btAlignedAllocator_28_29($4 | 0) | 0; + btAlignedObjectArray_btBvhSubtreeInfo___init_28_29($4 | 0); + __stack_pointer = $3 + 16 | 0; + return $4 | 0; + } + + function btAlignedAllocator_btOptimizedBvhNode_2c_2016u___btAlignedAllocator_28_29($0) { + $0 = $0 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + return HEAP32[($3 + 12 | 0) >> 2] | 0 | 0; + } + + function btAlignedObjectArray_btOptimizedBvhNode___init_28_29($0) { + $0 = $0 | 0; + var $4 = 0, $3 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + HEAP8[($4 + 16 | 0) >> 0] = 1; + HEAP32[($4 + 12 | 0) >> 2] = 0; + HEAP32[($4 + 4 | 0) >> 2] = 0; + HEAP32[($4 + 8 | 0) >> 2] = 0; + return; + } + + function btAlignedAllocator_btQuantizedBvhNode_2c_2016u___btAlignedAllocator_28_29($0) { + $0 = $0 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + return HEAP32[($3 + 12 | 0) >> 2] | 0 | 0; + } + + function btAlignedObjectArray_btQuantizedBvhNode___init_28_29($0) { + $0 = $0 | 0; + var $4 = 0, $3 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + HEAP8[($4 + 16 | 0) >> 0] = 1; + HEAP32[($4 + 12 | 0) >> 2] = 0; + HEAP32[($4 + 4 | 0) >> 2] = 0; + HEAP32[($4 + 8 | 0) >> 2] = 0; + return; + } + + function btAlignedAllocator_btBvhSubtreeInfo_2c_2016u___btAlignedAllocator_28_29($0) { + $0 = $0 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + return HEAP32[($3 + 12 | 0) >> 2] | 0 | 0; + } + + function btAlignedObjectArray_btBvhSubtreeInfo___init_28_29($0) { + $0 = $0 | 0; + var $4 = 0, $3 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + HEAP8[($4 + 16 | 0) >> 0] = 1; + HEAP32[($4 + 12 | 0) >> 2] = 0; + HEAP32[($4 + 4 | 0) >> 2] = 0; + HEAP32[($4 + 8 | 0) >> 2] = 0; + return; + } + + function btAlignedObjectArray_btQuantizedBvhNode___size_28_29_20const($0) { + $0 = $0 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + return HEAP32[((HEAP32[($3 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0; + } + + function btAlignedObjectArray_btQuantizedBvhNode___resize_28int_2c_20btQuantizedBvhNode_20const__29($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $5 = 0, i64toi32_i32$2 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $6 = 0, $48 = 0, $51 = 0, $171 = 0, $181 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5 = __stack_pointer - 32 | 0; + __stack_pointer = $5; + HEAP32[($5 + 28 | 0) >> 2] = $0; + HEAP32[($5 + 24 | 0) >> 2] = $1; + HEAP32[($5 + 20 | 0) >> 2] = $2; + $6 = HEAP32[($5 + 28 | 0) >> 2] | 0; + (wasm2js_i32$0 = $5, wasm2js_i32$1 = btAlignedObjectArray_btQuantizedBvhNode___size_28_29_20const($6 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + label$2 : { + if (!((HEAP32[($5 + 24 | 0) >> 2] | 0 | 0) < (HEAP32[($5 + 16 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($5 + 12 | 0) >> 2] = HEAP32[($5 + 24 | 0) >> 2] | 0; + label$3 : { + label$4 : while (1) { + if (!((HEAP32[($5 + 12 | 0) >> 2] | 0 | 0) < (HEAP32[($5 + 16 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$3 + } + HEAP32[($5 + 12 | 0) >> 2] = (HEAP32[($5 + 12 | 0) >> 2] | 0) + 1 | 0; + continue label$4; + }; + } + break label$1; + } + label$5 : { + if (!((HEAP32[($5 + 24 | 0) >> 2] | 0 | 0) > (HEAP32[($5 + 16 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$5 + } + btAlignedObjectArray_btQuantizedBvhNode___reserve_28int_29($6 | 0, HEAP32[($5 + 24 | 0) >> 2] | 0 | 0); + } + HEAP32[($5 + 8 | 0) >> 2] = HEAP32[($5 + 16 | 0) >> 2] | 0; + label$6 : { + label$7 : while (1) { + if (!((HEAP32[($5 + 8 | 0) >> 2] | 0 | 0) < (HEAP32[($5 + 24 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$6 + } + $48 = btQuantizedBvhNode__operator_20new_28unsigned_20long_2c_20void__29(16 | 0, (HEAP32[($6 + 12 | 0) >> 2] | 0) + ((HEAP32[($5 + 8 | 0) >> 2] | 0) << 4 | 0) | 0 | 0) | 0; + i64toi32_i32$2 = HEAP32[($5 + 20 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $171 = i64toi32_i32$0; + i64toi32_i32$0 = $48; + HEAP32[i64toi32_i32$0 >> 2] = $171; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $51 = 8; + i64toi32_i32$2 = i64toi32_i32$2 + $51 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $181 = i64toi32_i32$1; + i64toi32_i32$1 = $48 + $51 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $181; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($5 + 8 | 0) >> 2] = (HEAP32[($5 + 8 | 0) >> 2] | 0) + 1 | 0; + continue label$7; + }; + } + } + HEAP32[($6 + 4 | 0) >> 2] = HEAP32[($5 + 24 | 0) >> 2] | 0; + __stack_pointer = $5 + 32 | 0; + return; + } + + function btQuantizedBvh__buildTree_28int_2c_20int_29($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $5 = 0, $6 = 0, $56 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5 = __stack_pointer - 96 | 0; + __stack_pointer = $5; + HEAP32[($5 + 92 | 0) >> 2] = $0; + HEAP32[($5 + 88 | 0) >> 2] = $1; + HEAP32[($5 + 84 | 0) >> 2] = $2; + $6 = HEAP32[($5 + 92 | 0) >> 2] | 0; + HEAP32[($5 + 68 | 0) >> 2] = (HEAP32[($5 + 84 | 0) >> 2] | 0) - (HEAP32[($5 + 88 | 0) >> 2] | 0) | 0; + HEAP32[($5 + 64 | 0) >> 2] = HEAP32[($6 + 56 | 0) >> 2] | 0; + label$1 : { + if ((HEAP32[($5 + 68 | 0) >> 2] | 0 | 0) > (0 | 0) & 1 | 0) { + break label$1 + } + __assert_fail(85787 | 0, 73634 | 0, 147 | 0, 81944 | 0); + wasm2js_trap(); + } + label$2 : { + label$3 : { + if (!((HEAP32[($5 + 68 | 0) >> 2] | 0 | 0) == (1 | 0) & 1 | 0)) { + break label$3 + } + btQuantizedBvh__assignInternalNodeFromLeafNode_28int_2c_20int_29($6 | 0, HEAP32[($6 + 56 | 0) >> 2] | 0 | 0, HEAP32[($5 + 88 | 0) >> 2] | 0 | 0); + HEAP32[($6 + 56 | 0) >> 2] = (HEAP32[($6 + 56 | 0) >> 2] | 0) + 1 | 0; + break label$2; + } + (wasm2js_i32$0 = $5, wasm2js_i32$1 = btQuantizedBvh__calcSplittingAxis_28int_2c_20int_29($6 | 0, HEAP32[($5 + 88 | 0) >> 2] | 0 | 0, HEAP32[($5 + 84 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 80 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $5, wasm2js_i32$1 = btQuantizedBvh__sortAndCalcSplittingIndex_28int_2c_20int_2c_20int_29($6 | 0, HEAP32[($5 + 88 | 0) >> 2] | 0 | 0, HEAP32[($5 + 84 | 0) >> 2] | 0 | 0, HEAP32[($5 + 80 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 76 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($5 + 60 | 0) >> 2] = HEAP32[($6 + 56 | 0) >> 2] | 0; + btQuantizedBvh__setInternalNodeAabbMin_28int_2c_20btVector3_20const__29($6 | 0, HEAP32[($6 + 56 | 0) >> 2] | 0 | 0, $6 + 20 | 0 | 0); + btQuantizedBvh__setInternalNodeAabbMax_28int_2c_20btVector3_20const__29($6 | 0, HEAP32[($6 + 56 | 0) >> 2] | 0 | 0, $6 + 4 | 0 | 0); + HEAP32[($5 + 72 | 0) >> 2] = HEAP32[($5 + 88 | 0) >> 2] | 0; + label$4 : { + label$5 : while (1) { + if (!((HEAP32[($5 + 72 | 0) >> 2] | 0 | 0) < (HEAP32[($5 + 84 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$4 + } + $56 = HEAP32[($6 + 56 | 0) >> 2] | 0; + btQuantizedBvh__getAabbMin_28int_29_20const($5 + 44 | 0 | 0, $6 | 0, HEAP32[($5 + 72 | 0) >> 2] | 0 | 0); + btQuantizedBvh__getAabbMax_28int_29_20const($5 + 28 | 0 | 0, $6 | 0, HEAP32[($5 + 72 | 0) >> 2] | 0 | 0); + btQuantizedBvh__mergeInternalNodeAabb_28int_2c_20btVector3_20const__2c_20btVector3_20const__29($6 | 0, $56 | 0, $5 + 44 | 0 | 0, $5 + 28 | 0 | 0); + HEAP32[($5 + 72 | 0) >> 2] = (HEAP32[($5 + 72 | 0) >> 2] | 0) + 1 | 0; + continue label$5; + }; + } + HEAP32[($6 + 56 | 0) >> 2] = (HEAP32[($6 + 56 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($5 + 24 | 0) >> 2] = HEAP32[($6 + 56 | 0) >> 2] | 0; + btQuantizedBvh__buildTree_28int_2c_20int_29($6 | 0, HEAP32[($5 + 88 | 0) >> 2] | 0 | 0, HEAP32[($5 + 76 | 0) >> 2] | 0 | 0); + HEAP32[($5 + 20 | 0) >> 2] = HEAP32[($6 + 56 | 0) >> 2] | 0; + btQuantizedBvh__buildTree_28int_2c_20int_29($6 | 0, HEAP32[($5 + 76 | 0) >> 2] | 0 | 0, HEAP32[($5 + 84 | 0) >> 2] | 0 | 0); + HEAP32[($5 + 16 | 0) >> 2] = (HEAP32[($6 + 56 | 0) >> 2] | 0) - (HEAP32[($5 + 64 | 0) >> 2] | 0) | 0; + label$6 : { + label$7 : { + if (!((HEAPU8[($6 + 60 | 0) >> 0] | 0) & 1 | 0)) { + break label$7 + } + HEAP32[($5 + 12 | 0) >> 2] = 16; + HEAP32[($5 + 8 | 0) >> 2] = (HEAP32[($5 + 16 | 0) >> 2] | 0) << 4 | 0; + label$8 : { + if (!((HEAP32[($5 + 8 | 0) >> 2] | 0 | 0) > (2048 | 0) & 1 | 0)) { + break label$8 + } + btQuantizedBvh__updateSubtreeHeaders_28int_2c_20int_29($6 | 0, HEAP32[($5 + 24 | 0) >> 2] | 0 | 0, HEAP32[($5 + 20 | 0) >> 2] | 0 | 0); + } + break label$6; + } + } + btQuantizedBvh__setInternalNodeEscapeIndex_28int_2c_20int_29($6 | 0, HEAP32[($5 + 60 | 0) >> 2] | 0 | 0, HEAP32[($5 + 16 | 0) >> 2] | 0 | 0); + } + __stack_pointer = $5 + 96 | 0; + return; + } + + function btAlignedObjectArray_btBvhSubtreeInfo___size_28_29_20const($0) { + $0 = $0 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + return HEAP32[((HEAP32[($3 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0; + } + + function btBvhSubtreeInfo__btBvhSubtreeInfo_28_29($0) { + $0 = $0 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + return HEAP32[($3 + 12 | 0) >> 2] | 0 | 0; + } + + function btAlignedObjectArray_btBvhSubtreeInfo___expand_28btBvhSubtreeInfo_20const__29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, $4 = 0, $5 = 0, $25 = 0, $26 = 0, $28 = 0, $32 = 0, $36 = 0, $108 = 0, $118 = 0, $128 = 0, $138 = 0, $44 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; + (wasm2js_i32$0 = $4, wasm2js_i32$1 = btAlignedObjectArray_btBvhSubtreeInfo___size_28_29_20const($5 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + if (!((HEAP32[($4 + 4 | 0) >> 2] | 0 | 0) == (btAlignedObjectArray_btBvhSubtreeInfo___capacity_28_29_20const($5 | 0) | 0 | 0) & 1 | 0)) { + break label$1 + } + btAlignedObjectArray_btBvhSubtreeInfo___reserve_28int_29($5 | 0, btAlignedObjectArray_btBvhSubtreeInfo___allocSize_28int_29($5 | 0, btAlignedObjectArray_btBvhSubtreeInfo___size_28_29_20const($5 | 0) | 0 | 0) | 0 | 0); + } + HEAP32[($5 + 4 | 0) >> 2] = (HEAP32[($5 + 4 | 0) >> 2] | 0) + 1 | 0; + $25 = btBvhSubtreeInfo__operator_20new_28unsigned_20long_2c_20void__29(32 | 0, (HEAP32[($5 + 12 | 0) >> 2] | 0) + ((HEAP32[($4 + 4 | 0) >> 2] | 0) << 5 | 0) | 0 | 0) | 0; + $26 = HEAP32[($4 + 8 | 0) >> 2] | 0; + i64toi32_i32$2 = $26; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $108 = i64toi32_i32$0; + i64toi32_i32$0 = $25; + HEAP32[i64toi32_i32$0 >> 2] = $108; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $28 = 24; + i64toi32_i32$2 = i64toi32_i32$2 + $28 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $118 = i64toi32_i32$1; + i64toi32_i32$1 = $25 + $28 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $118; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + $32 = 16; + i64toi32_i32$2 = $26 + $32 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $128 = i64toi32_i32$0; + i64toi32_i32$0 = $25 + $32 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $128; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $36 = 8; + i64toi32_i32$2 = $26 + $36 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $138 = i64toi32_i32$1; + i64toi32_i32$1 = $25 + $36 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $138; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + $44 = (HEAP32[($5 + 12 | 0) >> 2] | 0) + ((HEAP32[($4 + 4 | 0) >> 2] | 0) << 5 | 0) | 0; + __stack_pointer = $4 + 16 | 0; + return $44 | 0; + } + + function btAlignedObjectArray_btQuantizedBvhNode___operator_5b_5d_28int_29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, $5 = 0, $32 = 0; + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; + label$1 : { + if ((HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0) { + break label$1 + } + __assert_fail(85840 | 0, 78192 | 0, 183 | 0, 83901 | 0); + wasm2js_trap(); + } + label$2 : { + if ((HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) < (btAlignedObjectArray_btQuantizedBvhNode___size_28_29_20const($5 | 0) | 0 | 0) & 1 | 0) { + break label$2 + } + __assert_fail(87321 | 0, 78192 | 0, 184 | 0, 83901 | 0); + wasm2js_trap(); + } + $32 = (HEAP32[($5 + 12 | 0) >> 2] | 0) + ((HEAP32[($4 + 8 | 0) >> 2] | 0) << 4 | 0) | 0; + __stack_pointer = $4 + 16 | 0; + return $32 | 0; + } + + function btBvhSubtreeInfo__setAabbFromQuantizeNode_28btQuantizedBvhNode_20const__29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, $5 = 0; + $4 = __stack_pointer - 16 | 0; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; + HEAP16[$5 >> 1] = HEAPU16[(HEAP32[($4 + 8 | 0) >> 2] | 0) >> 1] | 0; + HEAP16[($5 + 2 | 0) >> 1] = HEAPU16[((HEAP32[($4 + 8 | 0) >> 2] | 0) + 2 | 0) >> 1] | 0; + HEAP16[($5 + 4 | 0) >> 1] = HEAPU16[((HEAP32[($4 + 8 | 0) >> 2] | 0) + 4 | 0) >> 1] | 0; + HEAP16[($5 + 6 | 0) >> 1] = HEAPU16[((HEAP32[($4 + 8 | 0) >> 2] | 0) + 6 | 0) >> 1] | 0; + HEAP16[($5 + 8 | 0) >> 1] = HEAPU16[((HEAP32[($4 + 8 | 0) >> 2] | 0) + 8 | 0) >> 1] | 0; + HEAP16[($5 + 10 | 0) >> 1] = HEAPU16[((HEAP32[($4 + 8 | 0) >> 2] | 0) + 10 | 0) >> 1] | 0; + return; + } + + function btQuantizedBvhNode__isLeafNode_28_29_20const($0) { + $0 = $0 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + return (HEAP32[((HEAP32[($3 + 12 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0 | 0; + } + + function btQuantizedBvhNode__getEscapeIndex_28_29_20const($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0, $14 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + label$1 : { + if (!((btQuantizedBvhNode__isLeafNode_28_29_20const($4 | 0) | 0) & 1 | 0)) { + break label$1 + } + __assert_fail(87705 | 0, 78832 | 0, 75 | 0, 66536 | 0); + wasm2js_trap(); + } + $14 = 0 - (HEAP32[($4 + 12 | 0) >> 2] | 0) | 0; + __stack_pointer = $3 + 16 | 0; + return $14 | 0; + } + + function btAlignedObjectArray_btQuantizedBvhNode___clear_28_29($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + btAlignedObjectArray_btQuantizedBvhNode___destroy_28int_2c_20int_29($4 | 0, 0 | 0, btAlignedObjectArray_btQuantizedBvhNode___size_28_29_20const($4 | 0) | 0 | 0); + btAlignedObjectArray_btQuantizedBvhNode___deallocate_28_29($4 | 0); + btAlignedObjectArray_btQuantizedBvhNode___init_28_29($4 | 0); + __stack_pointer = $3 + 16 | 0; + return; + } + + function btAlignedObjectArray_btOptimizedBvhNode___clear_28_29($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + btAlignedObjectArray_btOptimizedBvhNode___destroy_28int_2c_20int_29($4 | 0, 0 | 0, btAlignedObjectArray_btOptimizedBvhNode___size_28_29_20const($4 | 0) | 0 | 0); + btAlignedObjectArray_btOptimizedBvhNode___deallocate_28_29($4 | 0); + btAlignedObjectArray_btOptimizedBvhNode___init_28_29($4 | 0); + __stack_pointer = $3 + 16 | 0; + return; + } + + function btAlignedObjectArray_btQuantizedBvhNode___reserve_28int_29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, $5 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; + label$1 : { + if (!((btAlignedObjectArray_btQuantizedBvhNode___capacity_28_29_20const($5 | 0) | 0 | 0) < (HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$1 + } + (wasm2js_i32$0 = $4, wasm2js_i32$1 = btAlignedObjectArray_btQuantizedBvhNode___allocate_28int_29($5 | 0, HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + btAlignedObjectArray_btQuantizedBvhNode___copy_28int_2c_20int_2c_20btQuantizedBvhNode__29_20const($5 | 0, 0 | 0, btAlignedObjectArray_btQuantizedBvhNode___size_28_29_20const($5 | 0) | 0 | 0, HEAP32[($4 + 4 | 0) >> 2] | 0 | 0); + btAlignedObjectArray_btQuantizedBvhNode___destroy_28int_2c_20int_29($5 | 0, 0 | 0, btAlignedObjectArray_btQuantizedBvhNode___size_28_29_20const($5 | 0) | 0 | 0); + btAlignedObjectArray_btQuantizedBvhNode___deallocate_28_29($5 | 0); + HEAP8[($5 + 16 | 0) >> 0] = 1; + HEAP32[($5 + 12 | 0) >> 2] = HEAP32[($4 + 4 | 0) >> 2] | 0; + HEAP32[($5 + 8 | 0) >> 2] = HEAP32[($4 + 8 | 0) >> 2] | 0; + } + __stack_pointer = $4 + 16 | 0; + return; + } + + function btQuantizedBvhNode__operator_20new_28unsigned_20long_2c_20void__29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0; + $4 = __stack_pointer - 16 | 0; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + return HEAP32[($4 + 8 | 0) >> 2] | 0 | 0; + } + + function btQuantizedBvh__assignInternalNodeFromLeafNode_28int_2c_20int_29($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, $5 = 0, $30 = 0, $26 = 0, $6 = 0, $17 = 0, $19 = 0, $32 = 0, $36 = 0, $40 = 0, $44 = 0, $48 = 0, $52 = 0, $56 = 0, $13 = 0, $101 = 0, $111 = 0, $131 = 0, $141 = 0, $151 = 0, $161 = 0, $171 = 0, $181 = 0, $191 = 0, $201 = 0; + $5 = __stack_pointer - 16 | 0; + __stack_pointer = $5; + HEAP32[($5 + 12 | 0) >> 2] = $0; + HEAP32[($5 + 8 | 0) >> 2] = $1; + HEAP32[($5 + 4 | 0) >> 2] = $2; + $6 = HEAP32[($5 + 12 | 0) >> 2] | 0; + label$1 : { + label$2 : { + if (!((HEAPU8[($6 + 60 | 0) >> 0] | 0) & 1 | 0)) { + break label$2 + } + $13 = btAlignedObjectArray_btQuantizedBvhNode___operator_5b_5d_28int_29($6 + 104 | 0 | 0, HEAP32[($5 + 4 | 0) >> 2] | 0 | 0) | 0; + $17 = btAlignedObjectArray_btQuantizedBvhNode___operator_5b_5d_28int_29($6 + 124 | 0 | 0, HEAP32[($5 + 8 | 0) >> 2] | 0 | 0) | 0; + i64toi32_i32$2 = $13; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $101 = i64toi32_i32$0; + i64toi32_i32$0 = $17; + HEAP32[i64toi32_i32$0 >> 2] = $101; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $19 = 8; + i64toi32_i32$2 = i64toi32_i32$2 + $19 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $111 = i64toi32_i32$1; + i64toi32_i32$1 = $17 + $19 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $111; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + break label$1; + } + $26 = btAlignedObjectArray_btOptimizedBvhNode___operator_5b_5d_28int_29($6 + 64 | 0 | 0, HEAP32[($5 + 4 | 0) >> 2] | 0 | 0) | 0; + $30 = btAlignedObjectArray_btOptimizedBvhNode___operator_5b_5d_28int_29($6 + 84 | 0 | 0, HEAP32[($5 + 8 | 0) >> 2] | 0 | 0) | 0; + i64toi32_i32$2 = $26; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $131 = i64toi32_i32$0; + i64toi32_i32$0 = $30; + HEAP32[i64toi32_i32$0 >> 2] = $131; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $32 = 56; + i64toi32_i32$2 = i64toi32_i32$2 + $32 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $141 = i64toi32_i32$1; + i64toi32_i32$1 = $30 + $32 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $141; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + $36 = 48; + i64toi32_i32$2 = $26 + $36 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $151 = i64toi32_i32$0; + i64toi32_i32$0 = $30 + $36 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $151; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $40 = 40; + i64toi32_i32$2 = $26 + $40 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $161 = i64toi32_i32$1; + i64toi32_i32$1 = $30 + $40 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $161; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + $44 = 32; + i64toi32_i32$2 = $26 + $44 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $171 = i64toi32_i32$0; + i64toi32_i32$0 = $30 + $44 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $171; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $48 = 24; + i64toi32_i32$2 = $26 + $48 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $181 = i64toi32_i32$1; + i64toi32_i32$1 = $30 + $48 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $181; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + $52 = 16; + i64toi32_i32$2 = $26 + $52 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $191 = i64toi32_i32$0; + i64toi32_i32$0 = $30 + $52 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $191; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $56 = 8; + i64toi32_i32$2 = $26 + $56 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $201 = i64toi32_i32$1; + i64toi32_i32$1 = $30 + $56 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $201; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + } + __stack_pointer = $5 + 16 | 0; + return; + } + + function btQuantizedBvh__calcSplittingAxis_28int_2c_20int_29($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $5 = 0, i64toi32_i32$0 = 0, $6 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, $149 = 0, $150 = 0, $489 = 0, $493 = 0, $183 = 0; + $5 = __stack_pointer - 256 | 0; + __stack_pointer = $5; + HEAP32[($5 + 252 | 0) >> 2] = $0; + HEAP32[($5 + 248 | 0) >> 2] = $1; + HEAP32[($5 + 244 | 0) >> 2] = $2; + $6 = HEAP32[($5 + 252 | 0) >> 2] | 0; + HEAPF32[($5 + 220 | 0) >> 2] = Math_fround(0 | 0); + HEAPF32[($5 + 216 | 0) >> 2] = Math_fround(0 | 0); + HEAPF32[($5 + 212 | 0) >> 2] = Math_fround(0 | 0); + btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($5 + 224 | 0 | 0, $5 + 220 | 0 | 0, $5 + 216 | 0 | 0, $5 + 212 | 0 | 0) | 0; + HEAPF32[($5 + 192 | 0) >> 2] = Math_fround(0 | 0); + HEAPF32[($5 + 188 | 0) >> 2] = Math_fround(0 | 0); + HEAPF32[($5 + 184 | 0) >> 2] = Math_fround(0 | 0); + btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($5 + 196 | 0 | 0, $5 + 192 | 0 | 0, $5 + 188 | 0 | 0, $5 + 184 | 0 | 0) | 0; + HEAP32[($5 + 180 | 0) >> 2] = (HEAP32[($5 + 244 | 0) >> 2] | 0) - (HEAP32[($5 + 248 | 0) >> 2] | 0) | 0; + HEAP32[($5 + 240 | 0) >> 2] = HEAP32[($5 + 248 | 0) >> 2] | 0; + label$1 : { + label$2 : while (1) { + if (!((HEAP32[($5 + 240 | 0) >> 2] | 0 | 0) < (HEAP32[($5 + 244 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$1 + } + HEAPF32[($5 + 160 | 0) >> 2] = Math_fround(.5); + btQuantizedBvh__getAabbMax_28int_29_20const($5 + 128 | 0 | 0, $6 | 0, HEAP32[($5 + 240 | 0) >> 2] | 0 | 0); + btQuantizedBvh__getAabbMin_28int_29_20const($5 + 112 | 0 | 0, $6 | 0, HEAP32[($5 + 240 | 0) >> 2] | 0 | 0); + operator__28btVector3_20const__2c_20btVector3_20const__29_2($5 + 144 | 0 | 0, $5 + 128 | 0 | 0, $5 + 112 | 0 | 0); + operator__28float_20const__2c_20btVector3_20const__29($5 + 164 | 0 | 0, $5 + 160 | 0 | 0, $5 + 144 | 0 | 0); + btVector3__operator___28btVector3_20const__29_1($5 + 224 | 0 | 0, $5 + 164 | 0 | 0) | 0; + HEAP32[($5 + 240 | 0) >> 2] = (HEAP32[($5 + 240 | 0) >> 2] | 0) + 1 | 0; + continue label$2; + }; + } + HEAPF32[($5 + 108 | 0) >> 2] = Math_fround(Math_fround(1.0) / Math_fround(HEAP32[($5 + 180 | 0) >> 2] | 0 | 0)); + btVector3__operator___28float_20const__29_1($5 + 224 | 0 | 0, $5 + 108 | 0 | 0) | 0; + HEAP32[($5 + 240 | 0) >> 2] = HEAP32[($5 + 248 | 0) >> 2] | 0; + label$3 : { + label$4 : while (1) { + if (!((HEAP32[($5 + 240 | 0) >> 2] | 0 | 0) < (HEAP32[($5 + 244 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$3 + } + HEAPF32[($5 + 88 | 0) >> 2] = Math_fround(.5); + btQuantizedBvh__getAabbMax_28int_29_20const($5 + 56 | 0 | 0, $6 | 0, HEAP32[($5 + 240 | 0) >> 2] | 0 | 0); + btQuantizedBvh__getAabbMin_28int_29_20const($5 + 40 | 0 | 0, $6 | 0, HEAP32[($5 + 240 | 0) >> 2] | 0 | 0); + operator__28btVector3_20const__2c_20btVector3_20const__29_2($5 + 72 | 0 | 0, $5 + 56 | 0 | 0, $5 + 40 | 0 | 0); + operator__28float_20const__2c_20btVector3_20const__29($5 + 92 | 0 | 0, $5 + 88 | 0 | 0, $5 + 72 | 0 | 0); + operator__28btVector3_20const__2c_20btVector3_20const__29($5 + 24 | 0 | 0, $5 + 92 | 0 | 0, $5 + 224 | 0 | 0); + $149 = $5 + 24 | 0; + operator__28btVector3_20const__2c_20btVector3_20const__29_1($5 + 8 | 0 | 0, $149 | 0, $149 | 0); + $150 = 8; + i64toi32_i32$2 = ($5 + 8 | 0) + $150 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $489 = i64toi32_i32$0; + i64toi32_i32$0 = ($5 + 24 | 0) + $150 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $489; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$2 = $5; + i64toi32_i32$1 = HEAP32[($5 + 8 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($5 + 12 | 0) >> 2] | 0; + $493 = i64toi32_i32$1; + i64toi32_i32$1 = $5; + HEAP32[($5 + 24 | 0) >> 2] = $493; + HEAP32[($5 + 28 | 0) >> 2] = i64toi32_i32$0; + btVector3__operator___28btVector3_20const__29_1($5 + 196 | 0 | 0, $5 + 24 | 0 | 0) | 0; + HEAP32[($5 + 240 | 0) >> 2] = (HEAP32[($5 + 240 | 0) >> 2] | 0) + 1 | 0; + continue label$4; + }; + } + HEAPF32[($5 + 4 | 0) >> 2] = Math_fround(Math_fround(1.0) / Math_fround(Math_fround(HEAP32[($5 + 180 | 0) >> 2] | 0 | 0) - Math_fround(1.0))); + btVector3__operator___28float_20const__29_1($5 + 196 | 0 | 0, $5 + 4 | 0 | 0) | 0; + $183 = btVector3__maxAxis_28_29_20const($5 + 196 | 0 | 0) | 0; + __stack_pointer = $5 + 256 | 0; + return $183 | 0; + } + + function btQuantizedBvh__sortAndCalcSplittingIndex_28int_2c_20int_2c_20int_29($0, $1, $2, $3) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + var $6 = 0, $7 = 0, $162 = 0, $191 = 0, $207 = 0, wasm2js_i32$0 = 0, wasm2js_f32$0 = Math_fround(0); + $6 = __stack_pointer - 208 | 0; + __stack_pointer = $6; + HEAP32[($6 + 204 | 0) >> 2] = $0; + HEAP32[($6 + 200 | 0) >> 2] = $1; + HEAP32[($6 + 196 | 0) >> 2] = $2; + HEAP32[($6 + 192 | 0) >> 2] = $3; + $7 = HEAP32[($6 + 204 | 0) >> 2] | 0; + HEAP32[($6 + 184 | 0) >> 2] = HEAP32[($6 + 200 | 0) >> 2] | 0; + HEAP32[($6 + 180 | 0) >> 2] = (HEAP32[($6 + 196 | 0) >> 2] | 0) - (HEAP32[($6 + 200 | 0) >> 2] | 0) | 0; + HEAPF32[($6 + 156 | 0) >> 2] = Math_fround(0 | 0); + HEAPF32[($6 + 152 | 0) >> 2] = Math_fround(0 | 0); + HEAPF32[($6 + 148 | 0) >> 2] = Math_fround(0 | 0); + btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($6 + 160 | 0 | 0, $6 + 156 | 0 | 0, $6 + 152 | 0 | 0, $6 + 148 | 0 | 0) | 0; + HEAP32[($6 + 188 | 0) >> 2] = HEAP32[($6 + 200 | 0) >> 2] | 0; + label$1 : { + label$2 : while (1) { + if (!((HEAP32[($6 + 188 | 0) >> 2] | 0 | 0) < (HEAP32[($6 + 196 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$1 + } + HEAPF32[($6 + 128 | 0) >> 2] = Math_fround(.5); + btQuantizedBvh__getAabbMax_28int_29_20const($6 + 96 | 0 | 0, $7 | 0, HEAP32[($6 + 188 | 0) >> 2] | 0 | 0); + btQuantizedBvh__getAabbMin_28int_29_20const($6 + 80 | 0 | 0, $7 | 0, HEAP32[($6 + 188 | 0) >> 2] | 0 | 0); + operator__28btVector3_20const__2c_20btVector3_20const__29_2($6 + 112 | 0 | 0, $6 + 96 | 0 | 0, $6 + 80 | 0 | 0); + operator__28float_20const__2c_20btVector3_20const__29($6 + 132 | 0 | 0, $6 + 128 | 0 | 0, $6 + 112 | 0 | 0); + btVector3__operator___28btVector3_20const__29_1($6 + 160 | 0 | 0, $6 + 132 | 0 | 0) | 0; + HEAP32[($6 + 188 | 0) >> 2] = (HEAP32[($6 + 188 | 0) >> 2] | 0) + 1 | 0; + continue label$2; + }; + } + HEAPF32[($6 + 76 | 0) >> 2] = Math_fround(Math_fround(1.0) / Math_fround(HEAP32[($6 + 180 | 0) >> 2] | 0 | 0)); + btVector3__operator___28float_20const__29_1($6 + 160 | 0 | 0, $6 + 76 | 0 | 0) | 0; + (wasm2js_i32$0 = $6, wasm2js_f32$0 = Math_fround(HEAPF32[((btVector3__operator_20float__28_29($6 + 160 | 0 | 0) | 0) + ((HEAP32[($6 + 192 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2])), HEAPF32[(wasm2js_i32$0 + 176 | 0) >> 2] = wasm2js_f32$0; + HEAP32[($6 + 188 | 0) >> 2] = HEAP32[($6 + 200 | 0) >> 2] | 0; + label$3 : { + label$4 : while (1) { + if (!((HEAP32[($6 + 188 | 0) >> 2] | 0 | 0) < (HEAP32[($6 + 196 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$3 + } + HEAPF32[($6 + 56 | 0) >> 2] = Math_fround(.5); + btQuantizedBvh__getAabbMax_28int_29_20const($6 + 24 | 0 | 0, $7 | 0, HEAP32[($6 + 188 | 0) >> 2] | 0 | 0); + btQuantizedBvh__getAabbMin_28int_29_20const($6 + 8 | 0 | 0, $7 | 0, HEAP32[($6 + 188 | 0) >> 2] | 0 | 0); + operator__28btVector3_20const__2c_20btVector3_20const__29_2($6 + 40 | 0 | 0, $6 + 24 | 0 | 0, $6 + 8 | 0 | 0); + operator__28float_20const__2c_20btVector3_20const__29($6 + 60 | 0 | 0, $6 + 56 | 0 | 0, $6 + 40 | 0 | 0); + label$5 : { + if (!(Math_fround(HEAPF32[((btVector3__operator_20float__28_29($6 + 60 | 0 | 0) | 0) + ((HEAP32[($6 + 192 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2]) > Math_fround(HEAPF32[($6 + 176 | 0) >> 2]) & 1 | 0)) { + break label$5 + } + btQuantizedBvh__swapLeafNodes_28int_2c_20int_29($7 | 0, HEAP32[($6 + 188 | 0) >> 2] | 0 | 0, HEAP32[($6 + 184 | 0) >> 2] | 0 | 0); + HEAP32[($6 + 184 | 0) >> 2] = (HEAP32[($6 + 184 | 0) >> 2] | 0) + 1 | 0; + } + HEAP32[($6 + 188 | 0) >> 2] = (HEAP32[($6 + 188 | 0) >> 2] | 0) + 1 | 0; + continue label$4; + }; + } + HEAP32[($6 + 4 | 0) >> 2] = (HEAP32[($6 + 180 | 0) >> 2] | 0 | 0) / (3 | 0) | 0; + $162 = 1; + label$6 : { + if ((HEAP32[($6 + 184 | 0) >> 2] | 0 | 0) <= ((HEAP32[($6 + 200 | 0) >> 2] | 0) + (HEAP32[($6 + 4 | 0) >> 2] | 0) | 0 | 0) & 1 | 0) { + break label$6 + } + $162 = (HEAP32[($6 + 184 | 0) >> 2] | 0 | 0) >= (((HEAP32[($6 + 196 | 0) >> 2] | 0) - 1 | 0) - (HEAP32[($6 + 4 | 0) >> 2] | 0) | 0 | 0); + } + HEAP8[($6 + 3 | 0) >> 0] = $162 & 1 | 0; + label$7 : { + if (!((HEAPU8[($6 + 3 | 0) >> 0] | 0) & 1 | 0)) { + break label$7 + } + HEAP32[($6 + 184 | 0) >> 2] = (HEAP32[($6 + 200 | 0) >> 2] | 0) + ((HEAP32[($6 + 180 | 0) >> 2] | 0) >> 1 | 0) | 0; + } + $191 = 1; + label$8 : { + if ((HEAP32[($6 + 184 | 0) >> 2] | 0 | 0) == (HEAP32[($6 + 200 | 0) >> 2] | 0 | 0) & 1 | 0) { + break label$8 + } + $191 = (HEAP32[($6 + 184 | 0) >> 2] | 0 | 0) == (HEAP32[($6 + 196 | 0) >> 2] | 0 | 0); + } + HEAP8[($6 + 2 | 0) >> 0] = $191 & 1 | 0; + label$9 : { + if (!((HEAPU8[($6 + 2 | 0) >> 0] | 0) & 1 | 0)) { + break label$9 + } + __assert_fail(77652 | 0, 73634 | 0, 298 | 0, 66510 | 0); + wasm2js_trap(); + } + $207 = HEAP32[($6 + 184 | 0) >> 2] | 0; + __stack_pointer = $6 + 208 | 0; + return $207 | 0; + } + + function btQuantizedBvh__setInternalNodeAabbMin_28int_2c_20btVector3_20const__29($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $5 = 0, i64toi32_i32$2 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $6 = 0, $20 = 0, $22 = 0, $16 = 0, $75 = 0, $85 = 0; + $5 = __stack_pointer - 16 | 0; + __stack_pointer = $5; + HEAP32[($5 + 12 | 0) >> 2] = $0; + HEAP32[($5 + 8 | 0) >> 2] = $1; + HEAP32[($5 + 4 | 0) >> 2] = $2; + $6 = HEAP32[($5 + 12 | 0) >> 2] | 0; + label$1 : { + label$2 : { + if (!((HEAPU8[($6 + 60 | 0) >> 0] | 0) & 1 | 0)) { + break label$2 + } + btQuantizedBvh__quantize_28unsigned_20short__2c_20btVector3_20const__2c_20int_29_20const($6 | 0, btAlignedObjectArray_btQuantizedBvhNode___operator_5b_5d_28int_29($6 + 124 | 0 | 0, HEAP32[($5 + 8 | 0) >> 2] | 0 | 0) | 0 | 0, HEAP32[($5 + 4 | 0) >> 2] | 0 | 0, 0 | 0); + break label$1; + } + $16 = HEAP32[($5 + 4 | 0) >> 2] | 0; + $20 = btAlignedObjectArray_btOptimizedBvhNode___operator_5b_5d_28int_29($6 + 84 | 0 | 0, HEAP32[($5 + 8 | 0) >> 2] | 0 | 0) | 0; + i64toi32_i32$2 = $16; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $75 = i64toi32_i32$0; + i64toi32_i32$0 = $20; + HEAP32[i64toi32_i32$0 >> 2] = $75; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $22 = 8; + i64toi32_i32$2 = i64toi32_i32$2 + $22 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $85 = i64toi32_i32$1; + i64toi32_i32$1 = $20 + $22 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $85; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + } + __stack_pointer = $5 + 16 | 0; + return; + } + + function btQuantizedBvh__setInternalNodeAabbMax_28int_2c_20btVector3_20const__29($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $5 = 0, i64toi32_i32$2 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $6 = 0, $24 = 0, $26 = 0, $18 = 0, $85 = 0, $95 = 0; + $5 = __stack_pointer - 16 | 0; + __stack_pointer = $5; + HEAP32[($5 + 12 | 0) >> 2] = $0; + HEAP32[($5 + 8 | 0) >> 2] = $1; + HEAP32[($5 + 4 | 0) >> 2] = $2; + $6 = HEAP32[($5 + 12 | 0) >> 2] | 0; + label$1 : { + label$2 : { + if (!((HEAPU8[($6 + 60 | 0) >> 0] | 0) & 1 | 0)) { + break label$2 + } + btQuantizedBvh__quantize_28unsigned_20short__2c_20btVector3_20const__2c_20int_29_20const($6 | 0, (btAlignedObjectArray_btQuantizedBvhNode___operator_5b_5d_28int_29($6 + 124 | 0 | 0, HEAP32[($5 + 8 | 0) >> 2] | 0 | 0) | 0) + 6 | 0 | 0, HEAP32[($5 + 4 | 0) >> 2] | 0 | 0, 1 | 0); + break label$1; + } + $18 = HEAP32[($5 + 4 | 0) >> 2] | 0; + $24 = (btAlignedObjectArray_btOptimizedBvhNode___operator_5b_5d_28int_29($6 + 84 | 0 | 0, HEAP32[($5 + 8 | 0) >> 2] | 0 | 0) | 0) + 16 | 0; + i64toi32_i32$2 = $18; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $85 = i64toi32_i32$0; + i64toi32_i32$0 = $24; + HEAP32[i64toi32_i32$0 >> 2] = $85; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $26 = 8; + i64toi32_i32$2 = i64toi32_i32$2 + $26 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $95 = i64toi32_i32$1; + i64toi32_i32$1 = $24 + $26 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $95; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + } + __stack_pointer = $5 + 16 | 0; + return; + } + + function btQuantizedBvh__getAabbMin_28int_29_20const($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $5 = 0, i64toi32_i32$2 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $6 = 0, $19 = 0, $65 = 0, $75 = 0; + $5 = __stack_pointer - 16 | 0; + __stack_pointer = $5; + HEAP32[($5 + 12 | 0) >> 2] = $1; + HEAP32[($5 + 8 | 0) >> 2] = $2; + $6 = HEAP32[($5 + 12 | 0) >> 2] | 0; + label$1 : { + label$2 : { + if (!((HEAPU8[($6 + 60 | 0) >> 0] | 0) & 1 | 0)) { + break label$2 + } + btQuantizedBvh__unQuantize_28unsigned_20short_20const__29_20const($0 | 0, $6 | 0, btAlignedObjectArray_btQuantizedBvhNode___operator_5b_5d_28int_29_20const($6 + 104 | 0 | 0, HEAP32[($5 + 8 | 0) >> 2] | 0 | 0) | 0 | 0); + break label$1; + } + i64toi32_i32$2 = btAlignedObjectArray_btOptimizedBvhNode___operator_5b_5d_28int_29_20const($6 + 64 | 0 | 0, HEAP32[($5 + 8 | 0) >> 2] | 0 | 0) | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $65 = i64toi32_i32$0; + i64toi32_i32$0 = $0; + HEAP32[i64toi32_i32$0 >> 2] = $65; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $19 = 8; + i64toi32_i32$2 = i64toi32_i32$2 + $19 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $75 = i64toi32_i32$1; + i64toi32_i32$1 = $0 + $19 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $75; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + } + __stack_pointer = $5 + 16 | 0; + return; + } + + function btQuantizedBvh__getAabbMax_28int_29_20const($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $5 = 0, i64toi32_i32$2 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $6 = 0, $23 = 0, $75 = 0, $85 = 0; + $5 = __stack_pointer - 16 | 0; + __stack_pointer = $5; + HEAP32[($5 + 12 | 0) >> 2] = $1; + HEAP32[($5 + 8 | 0) >> 2] = $2; + $6 = HEAP32[($5 + 12 | 0) >> 2] | 0; + label$1 : { + label$2 : { + if (!((HEAPU8[($6 + 60 | 0) >> 0] | 0) & 1 | 0)) { + break label$2 + } + btQuantizedBvh__unQuantize_28unsigned_20short_20const__29_20const($0 | 0, $6 | 0, (btAlignedObjectArray_btQuantizedBvhNode___operator_5b_5d_28int_29_20const($6 + 104 | 0 | 0, HEAP32[($5 + 8 | 0) >> 2] | 0 | 0) | 0) + 6 | 0 | 0); + break label$1; + } + i64toi32_i32$2 = (btAlignedObjectArray_btOptimizedBvhNode___operator_5b_5d_28int_29_20const($6 + 64 | 0 | 0, HEAP32[($5 + 8 | 0) >> 2] | 0 | 0) | 0) + 16 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $75 = i64toi32_i32$0; + i64toi32_i32$0 = $0; + HEAP32[i64toi32_i32$0 >> 2] = $75; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $23 = 8; + i64toi32_i32$2 = i64toi32_i32$2 + $23 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $85 = i64toi32_i32$1; + i64toi32_i32$1 = $0 + $23 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $85; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + } + __stack_pointer = $5 + 16 | 0; + return; + } + + function btQuantizedBvh__mergeInternalNodeAabb_28int_2c_20btVector3_20const__2c_20btVector3_20const__29($0, $1, $2, $3) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + var $6 = 0, $7 = 0, $62 = 0, $106 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $6 = __stack_pointer - 32 | 0; + __stack_pointer = $6; + HEAP32[($6 + 28 | 0) >> 2] = $0; + HEAP32[($6 + 24 | 0) >> 2] = $1; + HEAP32[($6 + 20 | 0) >> 2] = $2; + HEAP32[($6 + 16 | 0) >> 2] = $3; + $7 = HEAP32[($6 + 28 | 0) >> 2] | 0; + label$1 : { + label$2 : { + if (!((HEAPU8[($7 + 60 | 0) >> 0] | 0) & 1 | 0)) { + break label$2 + } + btQuantizedBvh__quantize_28unsigned_20short__2c_20btVector3_20const__2c_20int_29_20const($7 | 0, $6 + 10 | 0 | 0, HEAP32[($6 + 20 | 0) >> 2] | 0 | 0, 0 | 0); + btQuantizedBvh__quantize_28unsigned_20short__2c_20btVector3_20const__2c_20int_29_20const($7 | 0, $6 + 4 | 0 | 0, HEAP32[($6 + 16 | 0) >> 2] | 0 | 0, 1 | 0); + HEAP32[$6 >> 2] = 0; + label$3 : { + label$4 : while (1) { + if (!((HEAP32[$6 >> 2] | 0 | 0) < (3 | 0) & 1 | 0)) { + break label$3 + } + label$5 : { + if (!(((HEAPU16[((btAlignedObjectArray_btQuantizedBvhNode___operator_5b_5d_28int_29($7 + 124 | 0 | 0, HEAP32[($6 + 24 | 0) >> 2] | 0 | 0) | 0) + ((HEAP32[$6 >> 2] | 0) << 1 | 0) | 0) >> 1] | 0) & 65535 | 0 | 0) > ((HEAPU16[(($6 + 10 | 0) + ((HEAP32[$6 >> 2] | 0) << 1 | 0) | 0) >> 1] | 0) & 65535 | 0 | 0) & 1 | 0)) { + break label$5 + } + $62 = HEAPU16[(($6 + 10 | 0) + ((HEAP32[$6 >> 2] | 0) << 1 | 0) | 0) >> 1] | 0; + (wasm2js_i32$0 = (btAlignedObjectArray_btQuantizedBvhNode___operator_5b_5d_28int_29($7 + 124 | 0 | 0, HEAP32[($6 + 24 | 0) >> 2] | 0 | 0) | 0) + ((HEAP32[$6 >> 2] | 0) << 1 | 0) | 0, wasm2js_i32$1 = $62), HEAP16[wasm2js_i32$0 >> 1] = wasm2js_i32$1; + } + label$6 : { + if (!(((HEAPU16[(((btAlignedObjectArray_btQuantizedBvhNode___operator_5b_5d_28int_29($7 + 124 | 0 | 0, HEAP32[($6 + 24 | 0) >> 2] | 0 | 0) | 0) + 6 | 0) + ((HEAP32[$6 >> 2] | 0) << 1 | 0) | 0) >> 1] | 0) & 65535 | 0 | 0) < ((HEAPU16[(($6 + 4 | 0) + ((HEAP32[$6 >> 2] | 0) << 1 | 0) | 0) >> 1] | 0) & 65535 | 0 | 0) & 1 | 0)) { + break label$6 + } + $106 = HEAPU16[(($6 + 4 | 0) + ((HEAP32[$6 >> 2] | 0) << 1 | 0) | 0) >> 1] | 0; + (wasm2js_i32$0 = ((btAlignedObjectArray_btQuantizedBvhNode___operator_5b_5d_28int_29($7 + 124 | 0 | 0, HEAP32[($6 + 24 | 0) >> 2] | 0 | 0) | 0) + 6 | 0) + ((HEAP32[$6 >> 2] | 0) << 1 | 0) | 0, wasm2js_i32$1 = $106), HEAP16[wasm2js_i32$0 >> 1] = wasm2js_i32$1; + } + HEAP32[$6 >> 2] = (HEAP32[$6 >> 2] | 0) + 1 | 0; + continue label$4; + }; + } + break label$1; + } + btVector3__setMin_28btVector3_20const__29(btAlignedObjectArray_btOptimizedBvhNode___operator_5b_5d_28int_29($7 + 84 | 0 | 0, HEAP32[($6 + 24 | 0) >> 2] | 0 | 0) | 0 | 0, HEAP32[($6 + 20 | 0) >> 2] | 0 | 0); + btVector3__setMax_28btVector3_20const__29((btAlignedObjectArray_btOptimizedBvhNode___operator_5b_5d_28int_29($7 + 84 | 0 | 0, HEAP32[($6 + 24 | 0) >> 2] | 0 | 0) | 0) + 16 | 0 | 0, HEAP32[($6 + 16 | 0) >> 2] | 0 | 0); + } + __stack_pointer = $6 + 32 | 0; + return; + } + + function btQuantizedBvh__updateSubtreeHeaders_28int_2c_20int_29($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $5 = 0, $6 = 0, $23 = 0, $39 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5 = __stack_pointer - 112 | 0; + __stack_pointer = $5; + HEAP32[($5 + 108 | 0) >> 2] = $0; + HEAP32[($5 + 104 | 0) >> 2] = $1; + HEAP32[($5 + 100 | 0) >> 2] = $2; + $6 = HEAP32[($5 + 108 | 0) >> 2] | 0; + label$1 : { + if ((HEAPU8[($6 + 60 | 0) >> 0] | 0) & 1 | 0) { + break label$1 + } + __assert_fail(76588 | 0, 73634 | 0, 219 | 0, 69605 | 0); + wasm2js_trap(); + } + (wasm2js_i32$0 = $5, wasm2js_i32$1 = btAlignedObjectArray_btQuantizedBvhNode___operator_5b_5d_28int_29($6 + 124 | 0 | 0, HEAP32[($5 + 104 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 96 | 0) >> 2] = wasm2js_i32$1; + label$2 : { + label$3 : { + if (!((btQuantizedBvhNode__isLeafNode_28_29_20const(HEAP32[($5 + 96 | 0) >> 2] | 0 | 0) | 0) & 1 | 0)) { + break label$3 + } + $23 = 1; + break label$2; + } + $23 = btQuantizedBvhNode__getEscapeIndex_28_29_20const(HEAP32[($5 + 96 | 0) >> 2] | 0 | 0) | 0; + } + HEAP32[($5 + 92 | 0) >> 2] = $23; + HEAP32[($5 + 88 | 0) >> 2] = (HEAP32[($5 + 92 | 0) >> 2] | 0) << 4 | 0; + (wasm2js_i32$0 = $5, wasm2js_i32$1 = btAlignedObjectArray_btQuantizedBvhNode___operator_5b_5d_28int_29($6 + 124 | 0 | 0, HEAP32[($5 + 100 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 84 | 0) >> 2] = wasm2js_i32$1; + label$4 : { + label$5 : { + if (!((btQuantizedBvhNode__isLeafNode_28_29_20const(HEAP32[($5 + 84 | 0) >> 2] | 0 | 0) | 0) & 1 | 0)) { + break label$5 + } + $39 = 1; + break label$4; + } + $39 = btQuantizedBvhNode__getEscapeIndex_28_29_20const(HEAP32[($5 + 84 | 0) >> 2] | 0 | 0) | 0; + } + HEAP32[($5 + 80 | 0) >> 2] = $39; + HEAP32[($5 + 76 | 0) >> 2] = (HEAP32[($5 + 80 | 0) >> 2] | 0) << 4 | 0; + label$6 : { + if (!((HEAP32[($5 + 88 | 0) >> 2] | 0 | 0) <= (2048 | 0) & 1 | 0)) { + break label$6 + } + btBvhSubtreeInfo__btBvhSubtreeInfo_28_29($5 + 40 | 0 | 0) | 0; + (wasm2js_i32$0 = $5, wasm2js_i32$1 = btAlignedObjectArray_btBvhSubtreeInfo___expand_28btBvhSubtreeInfo_20const__29($6 + 148 | 0 | 0, $5 + 40 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 72 | 0) >> 2] = wasm2js_i32$1; + btBvhSubtreeInfo__setAabbFromQuantizeNode_28btQuantizedBvhNode_20const__29(HEAP32[($5 + 72 | 0) >> 2] | 0 | 0, HEAP32[($5 + 96 | 0) >> 2] | 0 | 0); + HEAP32[((HEAP32[($5 + 72 | 0) >> 2] | 0) + 12 | 0) >> 2] = HEAP32[($5 + 104 | 0) >> 2] | 0; + HEAP32[((HEAP32[($5 + 72 | 0) >> 2] | 0) + 16 | 0) >> 2] = HEAP32[($5 + 92 | 0) >> 2] | 0; + } + label$7 : { + if (!((HEAP32[($5 + 76 | 0) >> 2] | 0 | 0) <= (2048 | 0) & 1 | 0)) { + break label$7 + } + btBvhSubtreeInfo__btBvhSubtreeInfo_28_29($5 + 4 | 0 | 0) | 0; + (wasm2js_i32$0 = $5, wasm2js_i32$1 = btAlignedObjectArray_btBvhSubtreeInfo___expand_28btBvhSubtreeInfo_20const__29($6 + 148 | 0 | 0, $5 + 4 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 36 | 0) >> 2] = wasm2js_i32$1; + btBvhSubtreeInfo__setAabbFromQuantizeNode_28btQuantizedBvhNode_20const__29(HEAP32[($5 + 36 | 0) >> 2] | 0 | 0, HEAP32[($5 + 84 | 0) >> 2] | 0 | 0); + HEAP32[((HEAP32[($5 + 36 | 0) >> 2] | 0) + 12 | 0) >> 2] = HEAP32[($5 + 100 | 0) >> 2] | 0; + HEAP32[((HEAP32[($5 + 36 | 0) >> 2] | 0) + 16 | 0) >> 2] = HEAP32[($5 + 80 | 0) >> 2] | 0; + } + (wasm2js_i32$0 = $6, wasm2js_i32$1 = btAlignedObjectArray_btBvhSubtreeInfo___size_28_29_20const($6 + 148 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 168 | 0) >> 2] = wasm2js_i32$1; + __stack_pointer = $5 + 112 | 0; + return; + } + + function btQuantizedBvh__setInternalNodeEscapeIndex_28int_2c_20int_29($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $5 = 0, $6 = 0, $12 = 0, $17 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5 = __stack_pointer - 16 | 0; + __stack_pointer = $5; + HEAP32[($5 + 12 | 0) >> 2] = $0; + HEAP32[($5 + 8 | 0) >> 2] = $1; + HEAP32[($5 + 4 | 0) >> 2] = $2; + $6 = HEAP32[($5 + 12 | 0) >> 2] | 0; + label$1 : { + label$2 : { + if (!((HEAPU8[($6 + 60 | 0) >> 0] | 0) & 1 | 0)) { + break label$2 + } + $12 = 0 - (HEAP32[($5 + 4 | 0) >> 2] | 0) | 0; + (wasm2js_i32$0 = btAlignedObjectArray_btQuantizedBvhNode___operator_5b_5d_28int_29($6 + 124 | 0 | 0, HEAP32[($5 + 8 | 0) >> 2] | 0 | 0) | 0, wasm2js_i32$1 = $12), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + break label$1; + } + $17 = HEAP32[($5 + 4 | 0) >> 2] | 0; + (wasm2js_i32$0 = btAlignedObjectArray_btOptimizedBvhNode___operator_5b_5d_28int_29($6 + 84 | 0 | 0, HEAP32[($5 + 8 | 0) >> 2] | 0 | 0) | 0, wasm2js_i32$1 = $17), HEAP32[(wasm2js_i32$0 + 32 | 0) >> 2] = wasm2js_i32$1; + } + __stack_pointer = $5 + 16 | 0; + return; + } + + function btAlignedObjectArray_btBvhSubtreeInfo___capacity_28_29_20const($0) { + $0 = $0 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + return HEAP32[((HEAP32[($3 + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0; + } + + function btAlignedObjectArray_btBvhSubtreeInfo___allocSize_28int_29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, $9 = 0; + $4 = __stack_pointer - 16 | 0; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + label$1 : { + label$2 : { + if (!(HEAP32[($4 + 8 | 0) >> 2] | 0)) { + break label$2 + } + $9 = (HEAP32[($4 + 8 | 0) >> 2] | 0) << 1 | 0; + break label$1; + } + $9 = 1; + } + return $9 | 0; + } + + function btAlignedObjectArray_btBvhSubtreeInfo___reserve_28int_29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, $5 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; + label$1 : { + if (!((btAlignedObjectArray_btBvhSubtreeInfo___capacity_28_29_20const($5 | 0) | 0 | 0) < (HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$1 + } + (wasm2js_i32$0 = $4, wasm2js_i32$1 = btAlignedObjectArray_btBvhSubtreeInfo___allocate_28int_29($5 | 0, HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + btAlignedObjectArray_btBvhSubtreeInfo___copy_28int_2c_20int_2c_20btBvhSubtreeInfo__29_20const($5 | 0, 0 | 0, btAlignedObjectArray_btBvhSubtreeInfo___size_28_29_20const($5 | 0) | 0 | 0, HEAP32[($4 + 4 | 0) >> 2] | 0 | 0); + btAlignedObjectArray_btBvhSubtreeInfo___destroy_28int_2c_20int_29($5 | 0, 0 | 0, btAlignedObjectArray_btBvhSubtreeInfo___size_28_29_20const($5 | 0) | 0 | 0); + btAlignedObjectArray_btBvhSubtreeInfo___deallocate_28_29($5 | 0); + HEAP8[($5 + 16 | 0) >> 0] = 1; + HEAP32[($5 + 12 | 0) >> 2] = HEAP32[($4 + 4 | 0) >> 2] | 0; + HEAP32[($5 + 8 | 0) >> 2] = HEAP32[($4 + 8 | 0) >> 2] | 0; + } + __stack_pointer = $4 + 16 | 0; + return; + } + + function btBvhSubtreeInfo__operator_20new_28unsigned_20long_2c_20void__29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0; + $4 = __stack_pointer - 16 | 0; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + return HEAP32[($4 + 8 | 0) >> 2] | 0 | 0; + } + + function btAlignedObjectArray_btQuantizedBvhNode___destroy_28int_2c_20int_29($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $5 = 0; + $5 = __stack_pointer - 16 | 0; + HEAP32[($5 + 12 | 0) >> 2] = $0; + HEAP32[($5 + 8 | 0) >> 2] = $1; + HEAP32[($5 + 4 | 0) >> 2] = $2; + HEAP32[($5 + 12 | 0) >> 2] | 0; + HEAP32[$5 >> 2] = HEAP32[($5 + 8 | 0) >> 2] | 0; + label$1 : { + label$2 : while (1) { + if (!((HEAP32[$5 >> 2] | 0 | 0) < (HEAP32[($5 + 4 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$1 + } + HEAP32[$5 >> 2] = (HEAP32[$5 >> 2] | 0) + 1 | 0; + continue label$2; + }; + } + return; + } + + function btAlignedObjectArray_btQuantizedBvhNode___deallocate_28_29($0) { + $0 = $0 | 0; + var $4 = 0, $3 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + label$1 : { + if (!((HEAP32[($4 + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + label$2 : { + if (!((HEAPU8[($4 + 16 | 0) >> 0] | 0) & 1 | 0)) { + break label$2 + } + btAlignedAllocator_btQuantizedBvhNode_2c_2016u___deallocate_28btQuantizedBvhNode__29($4 | 0, HEAP32[($4 + 12 | 0) >> 2] | 0 | 0); + } + HEAP32[($4 + 12 | 0) >> 2] = 0; + } + __stack_pointer = $3 + 16 | 0; + return; + } + + function btAlignedObjectArray_btOptimizedBvhNode___size_28_29_20const($0) { + $0 = $0 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + return HEAP32[((HEAP32[($3 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0; + } + + function btAlignedObjectArray_btOptimizedBvhNode___destroy_28int_2c_20int_29($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $5 = 0; + $5 = __stack_pointer - 16 | 0; + HEAP32[($5 + 12 | 0) >> 2] = $0; + HEAP32[($5 + 8 | 0) >> 2] = $1; + HEAP32[($5 + 4 | 0) >> 2] = $2; + HEAP32[($5 + 12 | 0) >> 2] | 0; + HEAP32[$5 >> 2] = HEAP32[($5 + 8 | 0) >> 2] | 0; + label$1 : { + label$2 : while (1) { + if (!((HEAP32[$5 >> 2] | 0 | 0) < (HEAP32[($5 + 4 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$1 + } + HEAP32[$5 >> 2] = (HEAP32[$5 >> 2] | 0) + 1 | 0; + continue label$2; + }; + } + return; + } + + function btAlignedObjectArray_btOptimizedBvhNode___deallocate_28_29($0) { + $0 = $0 | 0; + var $4 = 0, $3 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + label$1 : { + if (!((HEAP32[($4 + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + label$2 : { + if (!((HEAPU8[($4 + 16 | 0) >> 0] | 0) & 1 | 0)) { + break label$2 + } + btAlignedAllocator_btOptimizedBvhNode_2c_2016u___deallocate_28btOptimizedBvhNode__29($4 | 0, HEAP32[($4 + 12 | 0) >> 2] | 0 | 0); + } + HEAP32[($4 + 12 | 0) >> 2] = 0; + } + __stack_pointer = $3 + 16 | 0; + return; + } + + function btQuantizedBvh__setQuantizationValues_28btVector3_20const__2c_20btVector3_20const__2c_20float_29($0, $1, $2, $3) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = Math_fround($3); + var $6 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, $7 = 0, $13 = 0, $22 = 0, $24 = 0, $38 = 0, $40 = 0, $78 = 0, $80 = 0, $102 = 0, $132 = 0, $166 = 0, $168 = 0, $186 = 0, $216 = 0, $248 = 0, $250 = 0, $305 = 0, $318 = 0, $338 = 0, $351 = 0, $413 = 0, $426 = 0, $472 = 0, $476 = 0, $529 = 0, $533 = 0, $582 = 0, $595 = 0, $633 = 0, $637 = 0, $690 = 0, $694 = 0, $740 = 0, $753 = 0; + $6 = __stack_pointer - 336 | 0; + __stack_pointer = $6; + HEAP32[($6 + 332 | 0) >> 2] = $0; + HEAP32[($6 + 328 | 0) >> 2] = $1; + HEAP32[($6 + 324 | 0) >> 2] = $2; + HEAPF32[($6 + 320 | 0) >> 2] = $3; + $7 = HEAP32[($6 + 332 | 0) >> 2] | 0; + $13 = $6 + 320 | 0; + btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($6 + 304 | 0 | 0, $13 | 0, $13 | 0, $13 | 0) | 0; + operator__28btVector3_20const__2c_20btVector3_20const__29($6 + 288 | 0 | 0, HEAP32[($6 + 328 | 0) >> 2] | 0 | 0, $6 + 304 | 0 | 0); + $22 = $7 + 4 | 0; + i64toi32_i32$2 = $6; + i64toi32_i32$0 = HEAP32[($6 + 288 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($6 + 292 | 0) >> 2] | 0; + $305 = i64toi32_i32$0; + i64toi32_i32$0 = $22; + HEAP32[i64toi32_i32$0 >> 2] = $305; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $24 = 8; + i64toi32_i32$2 = ($6 + 288 | 0) + $24 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $318 = i64toi32_i32$1; + i64toi32_i32$1 = $22 + $24 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $318; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + operator__28btVector3_20const__2c_20btVector3_20const__29_2($6 + 272 | 0 | 0, HEAP32[($6 + 324 | 0) >> 2] | 0 | 0, $6 + 304 | 0 | 0); + $38 = $7 + 20 | 0; + i64toi32_i32$2 = $6; + i64toi32_i32$0 = HEAP32[($6 + 272 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($6 + 276 | 0) >> 2] | 0; + $338 = i64toi32_i32$0; + i64toi32_i32$0 = $38; + HEAP32[i64toi32_i32$0 >> 2] = $338; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $40 = 8; + i64toi32_i32$2 = ($6 + 272 | 0) + $40 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $351 = i64toi32_i32$1; + i64toi32_i32$1 = $38 + $40 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $351; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + operator__28btVector3_20const__2c_20btVector3_20const__29($6 + 256 | 0 | 0, $7 + 20 | 0 | 0, $7 + 4 | 0 | 0); + HEAPF32[($6 + 220 | 0) >> 2] = Math_fround(65533.0); + HEAPF32[($6 + 216 | 0) >> 2] = Math_fround(65533.0); + HEAPF32[($6 + 212 | 0) >> 2] = Math_fround(65533.0); + btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($6 + 224 | 0 | 0, $6 + 220 | 0 | 0, $6 + 216 | 0 | 0, $6 + 212 | 0 | 0) | 0; + operator__28btVector3_20const__2c_20btVector3_20const__29_3($6 + 240 | 0 | 0, $6 + 224 | 0 | 0, $6 + 256 | 0 | 0); + $78 = $7 + 36 | 0; + i64toi32_i32$2 = $6; + i64toi32_i32$0 = HEAP32[($6 + 240 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($6 + 244 | 0) >> 2] | 0; + $413 = i64toi32_i32$0; + i64toi32_i32$0 = $78; + HEAP32[i64toi32_i32$0 >> 2] = $413; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $80 = 8; + i64toi32_i32$2 = ($6 + 240 | 0) + $80 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $426 = i64toi32_i32$1; + i64toi32_i32$1 = $78 + $80 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $426; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + HEAP8[($7 + 60 | 0) >> 0] = 1; + btVector3__btVector3_28_29($6 + 184 | 0 | 0) | 0; + btQuantizedBvh__quantize_28unsigned_20short__2c_20btVector3_20const__2c_20int_29_20const($7 | 0, $6 + 206 | 0 | 0, $7 + 4 | 0 | 0, 0 | 0); + btQuantizedBvh__unQuantize_28unsigned_20short_20const__29_20const($6 + 168 | 0 | 0, $7 | 0, $6 + 206 | 0 | 0); + $102 = 8; + i64toi32_i32$2 = ($6 + 168 | 0) + $102 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $472 = i64toi32_i32$0; + i64toi32_i32$0 = ($6 + 184 | 0) + $102 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $472; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$2 = $6; + i64toi32_i32$1 = HEAP32[($6 + 168 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($6 + 172 | 0) >> 2] | 0; + $476 = i64toi32_i32$1; + i64toi32_i32$1 = $6; + HEAP32[($6 + 184 | 0) >> 2] = $476; + HEAP32[($6 + 188 | 0) >> 2] = i64toi32_i32$0; + operator__28btVector3_20const__2c_20btVector3_20const__29($6 + 152 | 0 | 0, $6 + 184 | 0 | 0, $6 + 304 | 0 | 0); + btVector3__setMin_28btVector3_20const__29($7 + 4 | 0 | 0, $6 + 152 | 0 | 0); + operator__28btVector3_20const__2c_20btVector3_20const__29($6 + 136 | 0 | 0, $7 + 20 | 0 | 0, $7 + 4 | 0 | 0); + $132 = 8; + i64toi32_i32$2 = ($6 + 136 | 0) + $132 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $529 = i64toi32_i32$0; + i64toi32_i32$0 = ($6 + 256 | 0) + $132 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $529; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$2 = $6; + i64toi32_i32$1 = HEAP32[($6 + 136 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($6 + 140 | 0) >> 2] | 0; + $533 = i64toi32_i32$1; + i64toi32_i32$1 = $6; + HEAP32[($6 + 256 | 0) >> 2] = $533; + HEAP32[($6 + 260 | 0) >> 2] = i64toi32_i32$0; + HEAPF32[($6 + 100 | 0) >> 2] = Math_fround(65533.0); + HEAPF32[($6 + 96 | 0) >> 2] = Math_fround(65533.0); + HEAPF32[($6 + 92 | 0) >> 2] = Math_fround(65533.0); + btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($6 + 104 | 0 | 0, $6 + 100 | 0 | 0, $6 + 96 | 0 | 0, $6 + 92 | 0 | 0) | 0; + operator__28btVector3_20const__2c_20btVector3_20const__29_3($6 + 120 | 0 | 0, $6 + 104 | 0 | 0, $6 + 256 | 0 | 0); + $166 = $7 + 36 | 0; + i64toi32_i32$2 = $6; + i64toi32_i32$0 = HEAP32[($6 + 120 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($6 + 124 | 0) >> 2] | 0; + $582 = i64toi32_i32$0; + i64toi32_i32$0 = $166; + HEAP32[i64toi32_i32$0 >> 2] = $582; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $168 = 8; + i64toi32_i32$2 = ($6 + 120 | 0) + $168 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $595 = i64toi32_i32$1; + i64toi32_i32$1 = $166 + $168 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $595; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + btQuantizedBvh__quantize_28unsigned_20short__2c_20btVector3_20const__2c_20int_29_20const($7 | 0, $6 + 206 | 0 | 0, $7 + 20 | 0 | 0, 1 | 0); + btQuantizedBvh__unQuantize_28unsigned_20short_20const__29_20const($6 + 76 | 0 | 0, $7 | 0, $6 + 206 | 0 | 0); + $186 = 8; + i64toi32_i32$2 = ($6 + 76 | 0) + $186 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $633 = i64toi32_i32$0; + i64toi32_i32$0 = ($6 + 184 | 0) + $186 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $633; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$2 = $6; + i64toi32_i32$1 = HEAP32[($6 + 76 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($6 + 80 | 0) >> 2] | 0; + $637 = i64toi32_i32$1; + i64toi32_i32$1 = $6; + HEAP32[($6 + 184 | 0) >> 2] = $637; + HEAP32[($6 + 188 | 0) >> 2] = i64toi32_i32$0; + operator__28btVector3_20const__2c_20btVector3_20const__29_2($6 + 60 | 0 | 0, $6 + 184 | 0 | 0, $6 + 304 | 0 | 0); + btVector3__setMax_28btVector3_20const__29($7 + 20 | 0 | 0, $6 + 60 | 0 | 0); + operator__28btVector3_20const__2c_20btVector3_20const__29($6 + 44 | 0 | 0, $7 + 20 | 0 | 0, $7 + 4 | 0 | 0); + $216 = 8; + i64toi32_i32$2 = ($6 + 44 | 0) + $216 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $690 = i64toi32_i32$0; + i64toi32_i32$0 = ($6 + 256 | 0) + $216 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $690; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$2 = $6; + i64toi32_i32$1 = HEAP32[($6 + 44 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($6 + 48 | 0) >> 2] | 0; + $694 = i64toi32_i32$1; + i64toi32_i32$1 = $6; + HEAP32[($6 + 256 | 0) >> 2] = $694; + HEAP32[($6 + 260 | 0) >> 2] = i64toi32_i32$0; + HEAPF32[($6 + 8 | 0) >> 2] = Math_fround(65533.0); + HEAPF32[($6 + 4 | 0) >> 2] = Math_fround(65533.0); + HEAPF32[$6 >> 2] = Math_fround(65533.0); + btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($6 + 12 | 0 | 0, $6 + 8 | 0 | 0, $6 + 4 | 0 | 0, $6 | 0) | 0; + operator__28btVector3_20const__2c_20btVector3_20const__29_3($6 + 28 | 0 | 0, $6 + 12 | 0 | 0, $6 + 256 | 0 | 0); + $248 = $7 + 36 | 0; + i64toi32_i32$2 = $6; + i64toi32_i32$0 = HEAP32[($6 + 28 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($6 + 32 | 0) >> 2] | 0; + $740 = i64toi32_i32$0; + i64toi32_i32$0 = $248; + HEAP32[i64toi32_i32$0 >> 2] = $740; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $250 = 8; + i64toi32_i32$2 = ($6 + 28 | 0) + $250 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $753 = i64toi32_i32$1; + i64toi32_i32$1 = $248 + $250 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $753; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + __stack_pointer = $6 + 336 | 0; + return; + } + + function btQuantizedBvh__quantize_28unsigned_20short__2c_20btVector3_20const__2c_20int_29_20const($0, $1, $2, $3) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + var $6 = 0, $7 = 0, $114 = Math_fround(0), $115 = Math_fround(0), $133 = Math_fround(0), $150 = Math_fround(0), $169 = Math_fround(0), $186 = Math_fround(0), $202 = Math_fround(0), $123 = 0, $126 = 0, $141 = 0, $158 = 0, $177 = 0, $180 = 0, $194 = 0, $210 = 0; + $6 = __stack_pointer - 48 | 0; + __stack_pointer = $6; + HEAP32[($6 + 44 | 0) >> 2] = $0; + HEAP32[($6 + 40 | 0) >> 2] = $1; + HEAP32[($6 + 36 | 0) >> 2] = $2; + HEAP32[($6 + 32 | 0) >> 2] = $3; + $7 = HEAP32[($6 + 44 | 0) >> 2] | 0; + label$1 : { + if ((HEAPU8[($7 + 60 | 0) >> 0] | 0) & 1 | 0) { + break label$1 + } + __assert_fail(76588 | 0, 78832 | 0, 355 | 0, 80790 | 0); + wasm2js_trap(); + } + label$2 : { + if (Math_fround(HEAPF32[(btVector3__getX_28_29_20const(HEAP32[($6 + 36 | 0) >> 2] | 0 | 0) | 0) >> 2]) <= Math_fround(HEAPF32[(btVector3__getX_28_29_20const($7 + 20 | 0 | 0) | 0) >> 2]) & 1 | 0) { + break label$2 + } + __assert_fail(88132 | 0, 78832 | 0, 357 | 0, 80790 | 0); + wasm2js_trap(); + } + label$3 : { + if (Math_fround(HEAPF32[(btVector3__getY_28_29_20const(HEAP32[($6 + 36 | 0) >> 2] | 0 | 0) | 0) >> 2]) <= Math_fround(HEAPF32[(btVector3__getY_28_29_20const($7 + 20 | 0 | 0) | 0) >> 2]) & 1 | 0) { + break label$3 + } + __assert_fail(88017 | 0, 78832 | 0, 358 | 0, 80790 | 0); + wasm2js_trap(); + } + label$4 : { + if (Math_fround(HEAPF32[(btVector3__getZ_28_29_20const(HEAP32[($6 + 36 | 0) >> 2] | 0 | 0) | 0) >> 2]) <= Math_fround(HEAPF32[(btVector3__getZ_28_29_20const($7 + 20 | 0 | 0) | 0) >> 2]) & 1 | 0) { + break label$4 + } + __assert_fail(87902 | 0, 78832 | 0, 359 | 0, 80790 | 0); + wasm2js_trap(); + } + label$5 : { + if (Math_fround(HEAPF32[(btVector3__getX_28_29_20const(HEAP32[($6 + 36 | 0) >> 2] | 0 | 0) | 0) >> 2]) >= Math_fround(HEAPF32[(btVector3__getX_28_29_20const($7 + 4 | 0 | 0) | 0) >> 2]) & 1 | 0) { + break label$5 + } + __assert_fail(88168 | 0, 78832 | 0, 361 | 0, 80790 | 0); + wasm2js_trap(); + } + label$6 : { + if (Math_fround(HEAPF32[(btVector3__getY_28_29_20const(HEAP32[($6 + 36 | 0) >> 2] | 0 | 0) | 0) >> 2]) >= Math_fround(HEAPF32[(btVector3__getY_28_29_20const($7 + 4 | 0 | 0) | 0) >> 2]) & 1 | 0) { + break label$6 + } + __assert_fail(88053 | 0, 78832 | 0, 362 | 0, 80790 | 0); + wasm2js_trap(); + } + label$7 : { + if (Math_fround(HEAPF32[(btVector3__getZ_28_29_20const(HEAP32[($6 + 36 | 0) >> 2] | 0 | 0) | 0) >> 2]) >= Math_fround(HEAPF32[(btVector3__getZ_28_29_20const($7 + 4 | 0 | 0) | 0) >> 2]) & 1 | 0) { + break label$7 + } + __assert_fail(87938 | 0, 78832 | 0, 363 | 0, 80790 | 0); + wasm2js_trap(); + } + operator__28btVector3_20const__2c_20btVector3_20const__29($6 | 0, HEAP32[($6 + 36 | 0) >> 2] | 0 | 0, $7 + 4 | 0 | 0); + operator__28btVector3_20const__2c_20btVector3_20const__29_1($6 + 16 | 0 | 0, $6 | 0, $7 + 36 | 0 | 0); + label$8 : { + label$9 : { + if (!(HEAP32[($6 + 32 | 0) >> 2] | 0)) { + break label$9 + } + $114 = Math_fround(1.0); + $115 = Math_fround(Math_fround(HEAPF32[(btVector3__getX_28_29_20const($6 + 16 | 0 | 0) | 0) >> 2]) + $114); + label$10 : { + label$11 : { + if (!($115 < Math_fround(4294967296.0) & $115 >= Math_fround(0.0) | 0)) { + break label$11 + } + $123 = ~~$115 >>> 0; + break label$10; + } + $123 = 0; + } + $126 = 1; + HEAP16[(HEAP32[($6 + 40 | 0) >> 2] | 0) >> 1] = $123 | $126 | 0; + $133 = Math_fround(Math_fround(HEAPF32[(btVector3__getY_28_29_20const($6 + 16 | 0 | 0) | 0) >> 2]) + $114); + label$12 : { + label$13 : { + if (!($133 < Math_fround(4294967296.0) & $133 >= Math_fround(0.0) | 0)) { + break label$13 + } + $141 = ~~$133 >>> 0; + break label$12; + } + $141 = 0; + } + HEAP16[((HEAP32[($6 + 40 | 0) >> 2] | 0) + 2 | 0) >> 1] = $141 | $126 | 0; + $150 = Math_fround(Math_fround(HEAPF32[(btVector3__getZ_28_29_20const($6 + 16 | 0 | 0) | 0) >> 2]) + $114); + label$14 : { + label$15 : { + if (!($150 < Math_fround(4294967296.0) & $150 >= Math_fround(0.0) | 0)) { + break label$15 + } + $158 = ~~$150 >>> 0; + break label$14; + } + $158 = 0; + } + HEAP16[((HEAP32[($6 + 40 | 0) >> 2] | 0) + 4 | 0) >> 1] = $158 & 65535 | 0 | 1 | 0; + break label$8; + } + $169 = Math_fround(HEAPF32[(btVector3__getX_28_29_20const($6 + 16 | 0 | 0) | 0) >> 2]); + label$16 : { + label$17 : { + if (!($169 < Math_fround(4294967296.0) & $169 >= Math_fround(0.0) | 0)) { + break label$17 + } + $177 = ~~$169 >>> 0; + break label$16; + } + $177 = 0; + } + $180 = 65534; + HEAP16[(HEAP32[($6 + 40 | 0) >> 2] | 0) >> 1] = $177 & $180 | 0; + $186 = Math_fround(HEAPF32[(btVector3__getY_28_29_20const($6 + 16 | 0 | 0) | 0) >> 2]); + label$18 : { + label$19 : { + if (!($186 < Math_fround(4294967296.0) & $186 >= Math_fround(0.0) | 0)) { + break label$19 + } + $194 = ~~$186 >>> 0; + break label$18; + } + $194 = 0; + } + HEAP16[((HEAP32[($6 + 40 | 0) >> 2] | 0) + 2 | 0) >> 1] = $194 & $180 | 0; + $202 = Math_fround(HEAPF32[(btVector3__getZ_28_29_20const($6 + 16 | 0 | 0) | 0) >> 2]); + label$20 : { + label$21 : { + if (!($202 < Math_fround(4294967296.0) & $202 >= Math_fround(0.0) | 0)) { + break label$21 + } + $210 = ~~$202 >>> 0; + break label$20; + } + $210 = 0; + } + HEAP16[((HEAP32[($6 + 40 | 0) >> 2] | 0) + 4 | 0) >> 1] = ($210 & 65535 | 0) & 65534 | 0; + } + __stack_pointer = $6 + 48 | 0; + return; + } + + function btQuantizedBvh__unQuantize_28unsigned_20short_20const__29_20const($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $5 = 0, $6 = 0, $11 = 0, wasm2js_i32$0 = 0, wasm2js_f32$0 = Math_fround(0); + $5 = __stack_pointer - 32 | 0; + __stack_pointer = $5; + HEAP32[($5 + 28 | 0) >> 2] = $1; + HEAP32[($5 + 24 | 0) >> 2] = $2; + $6 = HEAP32[($5 + 28 | 0) >> 2] | 0; + btVector3__btVector3_28_29($0 | 0) | 0; + $11 = $6 + 36 | 0; + (wasm2js_i32$0 = $5, wasm2js_f32$0 = Math_fround(Math_fround((HEAPU16[(HEAP32[($5 + 24 | 0) >> 2] | 0) >> 1] | 0) >>> 0) / Math_fround(HEAPF32[(btVector3__getX_28_29_20const($11 | 0) | 0) >> 2]))), HEAPF32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_f32$0; + (wasm2js_i32$0 = $5, wasm2js_f32$0 = Math_fround(Math_fround((HEAPU16[((HEAP32[($5 + 24 | 0) >> 2] | 0) + 2 | 0) >> 1] | 0) >>> 0) / Math_fround(HEAPF32[(btVector3__getY_28_29_20const($11 | 0) | 0) >> 2]))), HEAPF32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_f32$0; + (wasm2js_i32$0 = $5, wasm2js_f32$0 = Math_fround(Math_fround((HEAPU16[((HEAP32[($5 + 24 | 0) >> 2] | 0) + 4 | 0) >> 1] | 0) >>> 0) / Math_fround(HEAPF32[(btVector3__getZ_28_29_20const($6 + 36 | 0 | 0) | 0) >> 2]))), HEAPF32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_f32$0; + btVector3__setValue_28float_20const__2c_20float_20const__2c_20float_20const__29($0 | 0, $5 + 20 | 0 | 0, $5 + 16 | 0 | 0, $5 + 12 | 0 | 0); + btVector3__operator___28btVector3_20const__29_1($0 | 0, $6 + 4 | 0 | 0) | 0; + __stack_pointer = $5 + 32 | 0; + return; + } + + function btQuantizedBvh___btQuantizedBvh_28_29($0) { + $0 = $0 | 0; + var $4 = 0, $3 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + HEAP32[$4 >> 2] = 96952 + 8 | 0; + btAlignedObjectArray_btBvhSubtreeInfo____btAlignedObjectArray_28_29($4 + 148 | 0 | 0) | 0; + btAlignedObjectArray_btQuantizedBvhNode____btAlignedObjectArray_28_29($4 + 124 | 0 | 0) | 0; + btAlignedObjectArray_btQuantizedBvhNode____btAlignedObjectArray_28_29($4 + 104 | 0 | 0) | 0; + btAlignedObjectArray_btOptimizedBvhNode____btAlignedObjectArray_28_29($4 + 84 | 0 | 0) | 0; + btAlignedObjectArray_btOptimizedBvhNode____btAlignedObjectArray_28_29($4 + 64 | 0 | 0) | 0; + __stack_pointer = $3 + 16 | 0; + return $4 | 0; + } + + function btAlignedObjectArray_btBvhSubtreeInfo____btAlignedObjectArray_28_29($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + btAlignedObjectArray_btBvhSubtreeInfo___clear_28_29($4 | 0); + __stack_pointer = $3 + 16 | 0; + return $4 | 0; + } + + function btAlignedObjectArray_btQuantizedBvhNode____btAlignedObjectArray_28_29($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + btAlignedObjectArray_btQuantizedBvhNode___clear_28_29($4 | 0); + __stack_pointer = $3 + 16 | 0; + return $4 | 0; + } + + function btAlignedObjectArray_btOptimizedBvhNode____btAlignedObjectArray_28_29($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + btAlignedObjectArray_btOptimizedBvhNode___clear_28_29($4 | 0); + __stack_pointer = $3 + 16 | 0; + return $4 | 0; + } + + function btAlignedObjectArray_btBvhSubtreeInfo___clear_28_29($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + btAlignedObjectArray_btBvhSubtreeInfo___destroy_28int_2c_20int_29($4 | 0, 0 | 0, btAlignedObjectArray_btBvhSubtreeInfo___size_28_29_20const($4 | 0) | 0 | 0); + btAlignedObjectArray_btBvhSubtreeInfo___deallocate_28_29($4 | 0); + btAlignedObjectArray_btBvhSubtreeInfo___init_28_29($4 | 0); + __stack_pointer = $3 + 16 | 0; + return; + } + + function btQuantizedBvh___btQuantizedBvh_28_29_1($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + FUNCTION_TABLE[786 | 0]($4) | 0; + btQuantizedBvh__operator_20delete_28void__29($4 | 0); + __stack_pointer = $3 + 16 | 0; + return; + } + + function btQuantizedBvh__operator_20delete_28void__29($0) { + $0 = $0 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + btAlignedFreeInternal_28void__29(HEAP32[($3 + 12 | 0) >> 2] | 0 | 0); + __stack_pointer = $3 + 16 | 0; + return; + } + + function btAlignedObjectArray_btOptimizedBvhNode___operator_5b_5d_28int_29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, $5 = 0, $32 = 0; + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; + label$1 : { + if ((HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0) { + break label$1 + } + __assert_fail(85840 | 0, 78192 | 0, 183 | 0, 83901 | 0); + wasm2js_trap(); + } + label$2 : { + if ((HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) < (btAlignedObjectArray_btOptimizedBvhNode___size_28_29_20const($5 | 0) | 0 | 0) & 1 | 0) { + break label$2 + } + __assert_fail(87321 | 0, 78192 | 0, 184 | 0, 83901 | 0); + wasm2js_trap(); + } + $32 = (HEAP32[($5 + 12 | 0) >> 2] | 0) + ((HEAP32[($4 + 8 | 0) >> 2] | 0) << 6 | 0) | 0; + __stack_pointer = $4 + 16 | 0; + return $32 | 0; + } + + function btQuantizedBvh__swapLeafNodes_28int_2c_20int_29($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, $5 = 0, $6 = 0, $48 = 0, $85 = 0, $118 = 0, $81 = 0, $13 = 0, $14 = 0, $28 = 0, $30 = 0, $37 = 0, $39 = 0, $49 = 0, $53 = 0, $57 = 0, $61 = 0, $65 = 0, $69 = 0, $73 = 0, $87 = 0, $91 = 0, $95 = 0, $99 = 0, $103 = 0, $107 = 0, $111 = 0, $120 = 0, $124 = 0, $128 = 0, $132 = 0, $136 = 0, $140 = 0, $144 = 0, $190 = 0, $194 = 0, $24 = 0, $214 = 0, $224 = 0, $236 = 0, $249 = 0, $267 = 0, $277 = 0, $287 = 0, $297 = 0, $307 = 0, $317 = 0, $327 = 0, $331 = 0, $351 = 0, $361 = 0, $371 = 0, $381 = 0, $391 = 0, $401 = 0, $411 = 0, $421 = 0, $433 = 0, $443 = 0, $453 = 0, $463 = 0, $473 = 0, $483 = 0, $493 = 0, $503 = 0; + $5 = __stack_pointer - 96 | 0; + __stack_pointer = $5; + HEAP32[($5 + 92 | 0) >> 2] = $0; + HEAP32[($5 + 88 | 0) >> 2] = $1; + HEAP32[($5 + 84 | 0) >> 2] = $2; + $6 = HEAP32[($5 + 92 | 0) >> 2] | 0; + label$1 : { + label$2 : { + if (!((HEAPU8[($6 + 60 | 0) >> 0] | 0) & 1 | 0)) { + break label$2 + } + $13 = btAlignedObjectArray_btQuantizedBvhNode___operator_5b_5d_28int_29($6 + 104 | 0 | 0, HEAP32[($5 + 88 | 0) >> 2] | 0 | 0) | 0; + $14 = 8; + i64toi32_i32$2 = $13 + $14 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $190 = i64toi32_i32$0; + i64toi32_i32$0 = ($5 + 64 | 0) + $14 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $190; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$2 = $13; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $194 = i64toi32_i32$1; + i64toi32_i32$1 = $5; + HEAP32[(i64toi32_i32$1 + 64 | 0) >> 2] = $194; + HEAP32[(i64toi32_i32$1 + 68 | 0) >> 2] = i64toi32_i32$0; + $24 = btAlignedObjectArray_btQuantizedBvhNode___operator_5b_5d_28int_29($6 + 104 | 0 | 0, HEAP32[(i64toi32_i32$1 + 84 | 0) >> 2] | 0 | 0) | 0; + $28 = btAlignedObjectArray_btQuantizedBvhNode___operator_5b_5d_28int_29($6 + 104 | 0 | 0, HEAP32[(i64toi32_i32$1 + 88 | 0) >> 2] | 0 | 0) | 0; + i64toi32_i32$2 = $24; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $214 = i64toi32_i32$0; + i64toi32_i32$0 = $28; + HEAP32[i64toi32_i32$0 >> 2] = $214; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $30 = 8; + i64toi32_i32$2 = i64toi32_i32$2 + $30 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $224 = i64toi32_i32$1; + i64toi32_i32$1 = $28 + $30 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $224; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + $37 = btAlignedObjectArray_btQuantizedBvhNode___operator_5b_5d_28int_29($6 + 104 | 0 | 0, HEAP32[($5 + 84 | 0) >> 2] | 0 | 0) | 0; + i64toi32_i32$2 = $5; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 64 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 68 | 0) >> 2] | 0; + $236 = i64toi32_i32$0; + i64toi32_i32$0 = $37; + HEAP32[i64toi32_i32$0 >> 2] = $236; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $39 = 8; + i64toi32_i32$2 = (i64toi32_i32$2 + 64 | 0) + $39 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $249 = i64toi32_i32$1; + i64toi32_i32$1 = $37 + $39 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $249; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + break label$1; + } + $48 = btAlignedObjectArray_btOptimizedBvhNode___operator_5b_5d_28int_29($6 + 64 | 0 | 0, HEAP32[($5 + 88 | 0) >> 2] | 0 | 0) | 0; + $49 = 56; + i64toi32_i32$2 = $48 + $49 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $267 = i64toi32_i32$0; + i64toi32_i32$0 = $5 + $49 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $267; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $53 = 48; + i64toi32_i32$2 = $48 + $53 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $277 = i64toi32_i32$1; + i64toi32_i32$1 = $5 + $53 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $277; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + $57 = 40; + i64toi32_i32$2 = $48 + $57 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $287 = i64toi32_i32$0; + i64toi32_i32$0 = $5 + $57 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $287; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $61 = 32; + i64toi32_i32$2 = $48 + $61 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $297 = i64toi32_i32$1; + i64toi32_i32$1 = $5 + $61 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $297; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + $65 = 24; + i64toi32_i32$2 = $48 + $65 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $307 = i64toi32_i32$0; + i64toi32_i32$0 = $5 + $65 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $307; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $69 = 16; + i64toi32_i32$2 = $48 + $69 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $317 = i64toi32_i32$1; + i64toi32_i32$1 = $5 + $69 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $317; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + $73 = 8; + i64toi32_i32$2 = $48 + $73 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $327 = i64toi32_i32$0; + i64toi32_i32$0 = $5 + $73 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $327; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$2 = $48; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $331 = i64toi32_i32$1; + i64toi32_i32$1 = $5; + HEAP32[i64toi32_i32$1 >> 2] = $331; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + $81 = btAlignedObjectArray_btOptimizedBvhNode___operator_5b_5d_28int_29($6 + 64 | 0 | 0, HEAP32[(i64toi32_i32$1 + 84 | 0) >> 2] | 0 | 0) | 0; + $85 = btAlignedObjectArray_btOptimizedBvhNode___operator_5b_5d_28int_29($6 + 64 | 0 | 0, HEAP32[(i64toi32_i32$1 + 88 | 0) >> 2] | 0 | 0) | 0; + i64toi32_i32$2 = $81; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $351 = i64toi32_i32$0; + i64toi32_i32$0 = $85; + HEAP32[i64toi32_i32$0 >> 2] = $351; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $87 = 56; + i64toi32_i32$2 = i64toi32_i32$2 + $87 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $361 = i64toi32_i32$1; + i64toi32_i32$1 = $85 + $87 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $361; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + $91 = 48; + i64toi32_i32$2 = $81 + $91 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $371 = i64toi32_i32$0; + i64toi32_i32$0 = $85 + $91 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $371; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $95 = 40; + i64toi32_i32$2 = $81 + $95 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $381 = i64toi32_i32$1; + i64toi32_i32$1 = $85 + $95 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $381; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + $99 = 32; + i64toi32_i32$2 = $81 + $99 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $391 = i64toi32_i32$0; + i64toi32_i32$0 = $85 + $99 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $391; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $103 = 24; + i64toi32_i32$2 = $81 + $103 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $401 = i64toi32_i32$1; + i64toi32_i32$1 = $85 + $103 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $401; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + $107 = 16; + i64toi32_i32$2 = $81 + $107 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $411 = i64toi32_i32$0; + i64toi32_i32$0 = $85 + $107 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $411; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $111 = 8; + i64toi32_i32$2 = $81 + $111 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $421 = i64toi32_i32$1; + i64toi32_i32$1 = $85 + $111 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $421; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + $118 = btAlignedObjectArray_btOptimizedBvhNode___operator_5b_5d_28int_29($6 + 64 | 0 | 0, HEAP32[($5 + 84 | 0) >> 2] | 0 | 0) | 0; + i64toi32_i32$2 = $5; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $433 = i64toi32_i32$0; + i64toi32_i32$0 = $118; + HEAP32[i64toi32_i32$0 >> 2] = $433; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $120 = 56; + i64toi32_i32$2 = i64toi32_i32$2 + $120 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $443 = i64toi32_i32$1; + i64toi32_i32$1 = $118 + $120 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $443; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + $124 = 48; + i64toi32_i32$2 = $5 + $124 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $453 = i64toi32_i32$0; + i64toi32_i32$0 = $118 + $124 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $453; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $128 = 40; + i64toi32_i32$2 = $5 + $128 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $463 = i64toi32_i32$1; + i64toi32_i32$1 = $118 + $128 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $463; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + $132 = 32; + i64toi32_i32$2 = $5 + $132 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $473 = i64toi32_i32$0; + i64toi32_i32$0 = $118 + $132 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $473; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $136 = 24; + i64toi32_i32$2 = $5 + $136 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $483 = i64toi32_i32$1; + i64toi32_i32$1 = $118 + $136 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $483; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + $140 = 16; + i64toi32_i32$2 = $5 + $140 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $493 = i64toi32_i32$0; + i64toi32_i32$0 = $118 + $140 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $493; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $144 = 8; + i64toi32_i32$2 = $5 + $144 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $503 = i64toi32_i32$1; + i64toi32_i32$1 = $118 + $144 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $503; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + } + __stack_pointer = $5 + 96 | 0; + return; + } + + function btAlignedObjectArray_btQuantizedBvhNode___operator_5b_5d_28int_29_20const($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, $5 = 0, $32 = 0; + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; + label$1 : { + if ((HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0) { + break label$1 + } + __assert_fail(85840 | 0, 78192 | 0, 176 | 0, 83901 | 0); + wasm2js_trap(); + } + label$2 : { + if ((HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) < (btAlignedObjectArray_btQuantizedBvhNode___size_28_29_20const($5 | 0) | 0 | 0) & 1 | 0) { + break label$2 + } + __assert_fail(87321 | 0, 78192 | 0, 177 | 0, 83901 | 0); + wasm2js_trap(); + } + $32 = (HEAP32[($5 + 12 | 0) >> 2] | 0) + ((HEAP32[($4 + 8 | 0) >> 2] | 0) << 4 | 0) | 0; + __stack_pointer = $4 + 16 | 0; + return $32 | 0; + } + + function btAlignedObjectArray_btOptimizedBvhNode___operator_5b_5d_28int_29_20const($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, $5 = 0, $32 = 0; + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; + label$1 : { + if ((HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0) { + break label$1 + } + __assert_fail(85840 | 0, 78192 | 0, 176 | 0, 83901 | 0); + wasm2js_trap(); + } + label$2 : { + if ((HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) < (btAlignedObjectArray_btOptimizedBvhNode___size_28_29_20const($5 | 0) | 0 | 0) & 1 | 0) { + break label$2 + } + __assert_fail(87321 | 0, 78192 | 0, 177 | 0, 83901 | 0); + wasm2js_trap(); + } + $32 = (HEAP32[($5 + 12 | 0) >> 2] | 0) + ((HEAP32[($4 + 8 | 0) >> 2] | 0) << 6 | 0) | 0; + __stack_pointer = $4 + 16 | 0; + return $32 | 0; + } + + function btQuantizedBvh__reportAabbOverlappingNodex_28btNodeOverlapCallback__2c_20btVector3_20const__2c_20btVector3_20const__29_20const($0, $1, $2, $3) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + var $6 = 0, $7 = 0, $19 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $6 = __stack_pointer - 32 | 0; + __stack_pointer = $6; + HEAP32[($6 + 28 | 0) >> 2] = $0; + HEAP32[($6 + 24 | 0) >> 2] = $1; + HEAP32[($6 + 20 | 0) >> 2] = $2; + HEAP32[($6 + 16 | 0) >> 2] = $3; + $7 = HEAP32[($6 + 28 | 0) >> 2] | 0; + label$1 : { + label$2 : { + if (!((HEAPU8[($7 + 60 | 0) >> 0] | 0) & 1 | 0)) { + break label$2 + } + btQuantizedBvh__quantizeWithClamp_28unsigned_20short__2c_20btVector3_20const__2c_20int_29_20const($7 | 0, $6 + 10 | 0 | 0, HEAP32[($6 + 20 | 0) >> 2] | 0 | 0, 0 | 0); + btQuantizedBvh__quantizeWithClamp_28unsigned_20short__2c_20btVector3_20const__2c_20int_29_20const($7 | 0, $6 + 4 | 0 | 0, HEAP32[($6 + 16 | 0) >> 2] | 0 | 0, 1 | 0); + $19 = HEAP32[($7 + 144 | 0) >> 2] | 0; + label$3 : { + label$4 : { + switch ($19 | 0) { + case 0: + btQuantizedBvh__walkStacklessQuantizedTree_28btNodeOverlapCallback__2c_20unsigned_20short__2c_20unsigned_20short__2c_20int_2c_20int_29_20const($7 | 0, HEAP32[($6 + 24 | 0) >> 2] | 0 | 0, $6 + 10 | 0 | 0, $6 + 4 | 0 | 0, 0 | 0, HEAP32[($7 + 56 | 0) >> 2] | 0 | 0); + break label$3; + case 1: + btQuantizedBvh__walkStacklessQuantizedTreeCacheFriendly_28btNodeOverlapCallback__2c_20unsigned_20short__2c_20unsigned_20short__29_20const($7 | 0, HEAP32[($6 + 24 | 0) >> 2] | 0 | 0, $6 + 10 | 0 | 0, $6 + 4 | 0 | 0); + break label$3; + case 2: + (wasm2js_i32$0 = $6, wasm2js_i32$1 = btAlignedObjectArray_btQuantizedBvhNode___operator_5b_5d_28int_29_20const($7 + 124 | 0 | 0, 0 | 0) | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + btQuantizedBvh__walkRecursiveQuantizedTreeAgainstQueryAabb_28btQuantizedBvhNode_20const__2c_20btNodeOverlapCallback__2c_20unsigned_20short__2c_20unsigned_20short__29_20const($7 | 0, HEAP32[$6 >> 2] | 0 | 0, HEAP32[($6 + 24 | 0) >> 2] | 0 | 0, $6 + 10 | 0 | 0, $6 + 4 | 0 | 0); + break label$3; + default: + break label$4; + }; + } + __assert_fail(86177 | 0, 73634 | 0, 361 | 0, 66312 | 0); + wasm2js_trap(); + } + break label$1; + } + btQuantizedBvh__walkStacklessTree_28btNodeOverlapCallback__2c_20btVector3_20const__2c_20btVector3_20const__29_20const($7 | 0, HEAP32[($6 + 24 | 0) >> 2] | 0 | 0, HEAP32[($6 + 20 | 0) >> 2] | 0 | 0, HEAP32[($6 + 16 | 0) >> 2] | 0 | 0); + } + __stack_pointer = $6 + 32 | 0; + return; + } + + function btQuantizedBvh__quantizeWithClamp_28unsigned_20short__2c_20btVector3_20const__2c_20int_29_20const($0, $1, $2, $3) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + var $6 = 0, i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, $7 = 0, i64toi32_i32$1 = 0, $15 = 0, $16 = 0, $68 = 0, $72 = 0; + $6 = __stack_pointer - 32 | 0; + __stack_pointer = $6; + HEAP32[($6 + 28 | 0) >> 2] = $0; + HEAP32[($6 + 24 | 0) >> 2] = $1; + HEAP32[($6 + 20 | 0) >> 2] = $2; + HEAP32[($6 + 16 | 0) >> 2] = $3; + $7 = HEAP32[($6 + 28 | 0) >> 2] | 0; + label$1 : { + if ((HEAPU8[($7 + 60 | 0) >> 0] | 0) & 1 | 0) { + break label$1 + } + __assert_fail(76588 | 0, 78832 | 0, 422 | 0, 76095 | 0); + wasm2js_trap(); + } + $15 = HEAP32[($6 + 20 | 0) >> 2] | 0; + $16 = 8; + i64toi32_i32$2 = $15 + $16 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $68 = i64toi32_i32$0; + i64toi32_i32$0 = $6 + $16 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $68; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$2 = $15; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $72 = i64toi32_i32$1; + i64toi32_i32$1 = $6; + HEAP32[$6 >> 2] = $72; + HEAP32[($6 + 4 | 0) >> 2] = i64toi32_i32$0; + btVector3__setMax_28btVector3_20const__29($6 | 0, $7 + 4 | 0 | 0); + btVector3__setMin_28btVector3_20const__29($6 | 0, $7 + 20 | 0 | 0); + btQuantizedBvh__quantize_28unsigned_20short__2c_20btVector3_20const__2c_20int_29_20const($7 | 0, HEAP32[($6 + 24 | 0) >> 2] | 0 | 0, $6 | 0, HEAP32[($6 + 16 | 0) >> 2] | 0 | 0); + __stack_pointer = $6 + 32 | 0; + return; + } + + function btQuantizedBvh__walkStacklessQuantizedTree_28btNodeOverlapCallback__2c_20unsigned_20short__2c_20unsigned_20short__2c_20int_2c_20int_29_20const($0, $1, $2, $3, $4, $5) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + $4 = $4 | 0; + $5 = $5 | 0; + var $8 = 0, $9 = 0, $62 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0, wasm2js_i32$2 = 0, wasm2js_i32$3 = 0; + $8 = __stack_pointer - 64 | 0; + __stack_pointer = $8; + HEAP32[($8 + 60 | 0) >> 2] = $0; + HEAP32[($8 + 56 | 0) >> 2] = $1; + HEAP32[($8 + 52 | 0) >> 2] = $2; + HEAP32[($8 + 48 | 0) >> 2] = $3; + HEAP32[($8 + 44 | 0) >> 2] = $4; + HEAP32[($8 + 40 | 0) >> 2] = $5; + $9 = HEAP32[($8 + 60 | 0) >> 2] | 0; + label$1 : { + if ((HEAPU8[($9 + 60 | 0) >> 0] | 0) & 1 | 0) { + break label$1 + } + __assert_fail(76588 | 0, 73634 | 0, 689 | 0, 81954 | 0); + wasm2js_trap(); + } + HEAP32[($8 + 36 | 0) >> 2] = HEAP32[($8 + 44 | 0) >> 2] | 0; + HEAP32[($8 + 32 | 0) >> 2] = 0; + HEAP32[($8 + 28 | 0) >> 2] = (HEAP32[($8 + 40 | 0) >> 2] | 0) - (HEAP32[($8 + 44 | 0) >> 2] | 0) | 0; + (wasm2js_i32$0 = $8, wasm2js_i32$1 = btAlignedObjectArray_btQuantizedBvhNode___operator_5b_5d_28int_29_20const($9 + 124 | 0 | 0, HEAP32[($8 + 44 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 24 | 0) >> 2] = wasm2js_i32$1; + label$2 : { + label$3 : while (1) { + if (!((HEAP32[($8 + 36 | 0) >> 2] | 0 | 0) < (HEAP32[($8 + 40 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$2 + } + label$4 : { + if ((HEAP32[($8 + 32 | 0) >> 2] | 0 | 0) < (HEAP32[($8 + 28 | 0) >> 2] | 0 | 0) & 1 | 0) { + break label$4 + } + __assert_fail(81024 | 0, 73634 | 0, 723 | 0, 81954 | 0); + wasm2js_trap(); + } + HEAP32[($8 + 32 | 0) >> 2] = (HEAP32[($8 + 32 | 0) >> 2] | 0) + 1 | 0; + (wasm2js_i32$0 = $8, wasm2js_i32$1 = testQuantizedAabbAgainstQuantizedAabb_28unsigned_20short_20const__2c_20unsigned_20short_20const__2c_20unsigned_20short_20const__2c_20unsigned_20short_20const__29(HEAP32[($8 + 52 | 0) >> 2] | 0 | 0, HEAP32[($8 + 48 | 0) >> 2] | 0 | 0, HEAP32[($8 + 24 | 0) >> 2] | 0 | 0, (HEAP32[($8 + 24 | 0) >> 2] | 0) + 6 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $8, wasm2js_i32$1 = (btQuantizedBvhNode__isLeafNode_28_29_20const(HEAP32[($8 + 24 | 0) >> 2] | 0 | 0) | 0) & 1 | 0), HEAP8[(wasm2js_i32$0 + 19 | 0) >> 0] = wasm2js_i32$1; + label$5 : { + if (!((HEAPU8[($8 + 19 | 0) >> 0] | 0) & 1 | 0)) { + break label$5 + } + if (!(HEAP32[($8 + 12 | 0) >> 2] | 0)) { + break label$5 + } + $62 = HEAP32[($8 + 56 | 0) >> 2] | 0; + (((wasm2js_i32$1 = $62, wasm2js_i32$2 = btQuantizedBvhNode__getPartId_28_29_20const(HEAP32[($8 + 24 | 0) >> 2] | 0 | 0) | 0), wasm2js_i32$3 = btQuantizedBvhNode__getTriangleIndex_28_29_20const(HEAP32[($8 + 24 | 0) >> 2] | 0 | 0) | 0), wasm2js_i32$0 = HEAP32[((HEAP32[$62 >> 2] | 0) + 8 | 0) >> 2] | 0 | 0), FUNCTION_TABLE[wasm2js_i32$0](wasm2js_i32$1 | 0, wasm2js_i32$2 | 0, wasm2js_i32$3 | 0); + } + label$6 : { + label$7 : { + label$8 : { + if (HEAP32[($8 + 12 | 0) >> 2] | 0) { + break label$8 + } + if (!((HEAPU8[($8 + 19 | 0) >> 0] | 0) & 1 | 0)) { + break label$7 + } + } + HEAP32[($8 + 24 | 0) >> 2] = (HEAP32[($8 + 24 | 0) >> 2] | 0) + 16 | 0; + HEAP32[($8 + 36 | 0) >> 2] = (HEAP32[($8 + 36 | 0) >> 2] | 0) + 1 | 0; + break label$6; + } + (wasm2js_i32$0 = $8, wasm2js_i32$3 = btQuantizedBvhNode__getEscapeIndex_28_29_20const(HEAP32[($8 + 24 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$3; + HEAP32[($8 + 24 | 0) >> 2] = (HEAP32[($8 + 24 | 0) >> 2] | 0) + ((HEAP32[($8 + 20 | 0) >> 2] | 0) << 4 | 0) | 0; + HEAP32[($8 + 36 | 0) >> 2] = (HEAP32[($8 + 36 | 0) >> 2] | 0) + (HEAP32[($8 + 20 | 0) >> 2] | 0) | 0; + } + continue label$3; + }; + } + label$9 : { + if (!((HEAP32[(0 + 114084 | 0) >> 2] | 0 | 0) < (HEAP32[($8 + 32 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$9 + } + HEAP32[(0 + 114084 | 0) >> 2] = HEAP32[($8 + 32 | 0) >> 2] | 0; + } + __stack_pointer = $8 + 64 | 0; + return; + } + + function btQuantizedBvh__walkStacklessQuantizedTreeCacheFriendly_28btNodeOverlapCallback__2c_20unsigned_20short__2c_20unsigned_20short__29_20const($0, $1, $2, $3) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + var $6 = 0, $7 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $6 = __stack_pointer - 32 | 0; + __stack_pointer = $6; + HEAP32[($6 + 28 | 0) >> 2] = $0; + HEAP32[($6 + 24 | 0) >> 2] = $1; + HEAP32[($6 + 20 | 0) >> 2] = $2; + HEAP32[($6 + 16 | 0) >> 2] = $3; + $7 = HEAP32[($6 + 28 | 0) >> 2] | 0; + label$1 : { + if ((HEAPU8[($7 + 60 | 0) >> 0] | 0) & 1 | 0) { + break label$1 + } + __assert_fail(76588 | 0, 73634 | 0, 755 | 0, 66019 | 0); + wasm2js_trap(); + } + HEAP32[($6 + 12 | 0) >> 2] = 0; + label$2 : { + label$3 : while (1) { + if (!((HEAP32[($6 + 12 | 0) >> 2] | 0 | 0) < (btAlignedObjectArray_btBvhSubtreeInfo___size_28_29_20const($7 + 148 | 0 | 0) | 0 | 0) & 1 | 0)) { + break label$2 + } + (wasm2js_i32$0 = $6, wasm2js_i32$1 = btAlignedObjectArray_btBvhSubtreeInfo___operator_5b_5d_28int_29_20const($7 + 148 | 0 | 0, HEAP32[($6 + 12 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $6, wasm2js_i32$1 = testQuantizedAabbAgainstQuantizedAabb_28unsigned_20short_20const__2c_20unsigned_20short_20const__2c_20unsigned_20short_20const__2c_20unsigned_20short_20const__29(HEAP32[($6 + 20 | 0) >> 2] | 0 | 0, HEAP32[($6 + 16 | 0) >> 2] | 0 | 0, HEAP32[($6 + 8 | 0) >> 2] | 0 | 0, (HEAP32[($6 + 8 | 0) >> 2] | 0) + 6 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + label$4 : { + if (!(HEAP32[($6 + 4 | 0) >> 2] | 0)) { + break label$4 + } + btQuantizedBvh__walkStacklessQuantizedTree_28btNodeOverlapCallback__2c_20unsigned_20short__2c_20unsigned_20short__2c_20int_2c_20int_29_20const($7 | 0, HEAP32[($6 + 24 | 0) >> 2] | 0 | 0, HEAP32[($6 + 20 | 0) >> 2] | 0 | 0, HEAP32[($6 + 16 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($6 + 8 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0, (HEAP32[((HEAP32[($6 + 8 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + (HEAP32[((HEAP32[($6 + 8 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) | 0 | 0); + } + HEAP32[($6 + 12 | 0) >> 2] = (HEAP32[($6 + 12 | 0) >> 2] | 0) + 1 | 0; + continue label$3; + }; + } + __stack_pointer = $6 + 32 | 0; + return; + } + + function btQuantizedBvh__walkRecursiveQuantizedTreeAgainstQueryAabb_28btQuantizedBvhNode_20const__2c_20btNodeOverlapCallback__2c_20unsigned_20short__2c_20unsigned_20short__29_20const($0, $1, $2, $3, $4) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + $4 = $4 | 0; + var $7 = 0, $8 = 0, $31 = 0, $52 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0, wasm2js_i32$2 = 0, wasm2js_i32$3 = 0; + $7 = __stack_pointer - 48 | 0; + __stack_pointer = $7; + HEAP32[($7 + 44 | 0) >> 2] = $0; + HEAP32[($7 + 40 | 0) >> 2] = $1; + HEAP32[($7 + 36 | 0) >> 2] = $2; + HEAP32[($7 + 32 | 0) >> 2] = $3; + HEAP32[($7 + 28 | 0) >> 2] = $4; + $8 = HEAP32[($7 + 44 | 0) >> 2] | 0; + label$1 : { + if ((HEAPU8[($8 + 60 | 0) >> 0] | 0) & 1 | 0) { + break label$1 + } + __assert_fail(76588 | 0, 73634 | 0, 439 | 0, 82995 | 0); + wasm2js_trap(); + } + (wasm2js_i32$0 = $7, wasm2js_i32$1 = testQuantizedAabbAgainstQuantizedAabb_28unsigned_20short_20const__2c_20unsigned_20short_20const__2c_20unsigned_20short_20const__2c_20unsigned_20short_20const__29(HEAP32[($7 + 32 | 0) >> 2] | 0 | 0, HEAP32[($7 + 28 | 0) >> 2] | 0 | 0, HEAP32[($7 + 40 | 0) >> 2] | 0 | 0, (HEAP32[($7 + 40 | 0) >> 2] | 0) + 6 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $7, wasm2js_i32$1 = (btQuantizedBvhNode__isLeafNode_28_29_20const(HEAP32[($7 + 40 | 0) >> 2] | 0 | 0) | 0) & 1 | 0), HEAP8[(wasm2js_i32$0 + 27 | 0) >> 0] = wasm2js_i32$1; + label$2 : { + if (!(HEAP32[($7 + 20 | 0) >> 2] | 0)) { + break label$2 + } + label$3 : { + label$4 : { + if (!((HEAPU8[($7 + 27 | 0) >> 0] | 0) & 1 | 0)) { + break label$4 + } + $31 = HEAP32[($7 + 36 | 0) >> 2] | 0; + (((wasm2js_i32$1 = $31, wasm2js_i32$2 = btQuantizedBvhNode__getPartId_28_29_20const(HEAP32[($7 + 40 | 0) >> 2] | 0 | 0) | 0), wasm2js_i32$3 = btQuantizedBvhNode__getTriangleIndex_28_29_20const(HEAP32[($7 + 40 | 0) >> 2] | 0 | 0) | 0), wasm2js_i32$0 = HEAP32[((HEAP32[$31 >> 2] | 0) + 8 | 0) >> 2] | 0 | 0), FUNCTION_TABLE[wasm2js_i32$0](wasm2js_i32$1 | 0, wasm2js_i32$2 | 0, wasm2js_i32$3 | 0); + break label$3; + } + HEAP32[($7 + 16 | 0) >> 2] = (HEAP32[($7 + 40 | 0) >> 2] | 0) + 16 | 0; + btQuantizedBvh__walkRecursiveQuantizedTreeAgainstQueryAabb_28btQuantizedBvhNode_20const__2c_20btNodeOverlapCallback__2c_20unsigned_20short__2c_20unsigned_20short__29_20const($8 | 0, HEAP32[($7 + 16 | 0) >> 2] | 0 | 0, HEAP32[($7 + 36 | 0) >> 2] | 0 | 0, HEAP32[($7 + 32 | 0) >> 2] | 0 | 0, HEAP32[($7 + 28 | 0) >> 2] | 0 | 0); + label$5 : { + label$6 : { + if (!((btQuantizedBvhNode__isLeafNode_28_29_20const(HEAP32[($7 + 16 | 0) >> 2] | 0 | 0) | 0) & 1 | 0)) { + break label$6 + } + $52 = (HEAP32[($7 + 16 | 0) >> 2] | 0) + 16 | 0; + break label$5; + } + $52 = (HEAP32[($7 + 16 | 0) >> 2] | 0) + ((btQuantizedBvhNode__getEscapeIndex_28_29_20const(HEAP32[($7 + 16 | 0) >> 2] | 0 | 0) | 0) << 4 | 0) | 0; + } + HEAP32[($7 + 12 | 0) >> 2] = $52; + btQuantizedBvh__walkRecursiveQuantizedTreeAgainstQueryAabb_28btQuantizedBvhNode_20const__2c_20btNodeOverlapCallback__2c_20unsigned_20short__2c_20unsigned_20short__29_20const($8 | 0, HEAP32[($7 + 12 | 0) >> 2] | 0 | 0, HEAP32[($7 + 36 | 0) >> 2] | 0 | 0, HEAP32[($7 + 32 | 0) >> 2] | 0 | 0, HEAP32[($7 + 28 | 0) >> 2] | 0 | 0); + } + } + __stack_pointer = $7 + 48 | 0; + return; + } + + function btQuantizedBvh__walkStacklessTree_28btNodeOverlapCallback__2c_20btVector3_20const__2c_20btVector3_20const__29_20const($0, $1, $2, $3) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + var $6 = 0, $7 = 0, $63 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $6 = __stack_pointer - 48 | 0; + __stack_pointer = $6; + HEAP32[($6 + 44 | 0) >> 2] = $0; + HEAP32[($6 + 40 | 0) >> 2] = $1; + HEAP32[($6 + 36 | 0) >> 2] = $2; + HEAP32[($6 + 32 | 0) >> 2] = $3; + $7 = HEAP32[($6 + 44 | 0) >> 2] | 0; + label$1 : { + if (!((HEAPU8[($7 + 60 | 0) >> 0] | 0) & 1 | 0)) { + break label$1 + } + __assert_fail(76587 | 0, 73634 | 0, 375 | 0, 81926 | 0); + wasm2js_trap(); + } + (wasm2js_i32$0 = $6, wasm2js_i32$1 = btAlignedObjectArray_btOptimizedBvhNode___operator_5b_5d_28int_29_20const($7 + 84 | 0 | 0, 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($6 + 20 | 0) >> 2] = 0; + HEAP32[($6 + 16 | 0) >> 2] = 0; + label$2 : { + label$3 : while (1) { + if (!((HEAP32[($6 + 20 | 0) >> 2] | 0 | 0) < (HEAP32[($7 + 56 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$2 + } + label$4 : { + if ((HEAP32[($6 + 16 | 0) >> 2] | 0 | 0) < (HEAP32[($7 + 56 | 0) >> 2] | 0 | 0) & 1 | 0) { + break label$4 + } + __assert_fail(66597 | 0, 73634 | 0, 387 | 0, 81926 | 0); + wasm2js_trap(); + } + HEAP32[($6 + 16 | 0) >> 2] = (HEAP32[($6 + 16 | 0) >> 2] | 0) + 1 | 0; + (wasm2js_i32$0 = $6, wasm2js_i32$1 = (TestAabbAgainstAabb2_28btVector3_20const__2c_20btVector3_20const__2c_20btVector3_20const__2c_20btVector3_20const__29(HEAP32[($6 + 36 | 0) >> 2] | 0 | 0, HEAP32[($6 + 32 | 0) >> 2] | 0 | 0, HEAP32[($6 + 28 | 0) >> 2] | 0 | 0, (HEAP32[($6 + 28 | 0) >> 2] | 0) + 16 | 0 | 0) | 0) & 1 | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + HEAP8[($6 + 15 | 0) >> 0] = (HEAP32[((HEAP32[($6 + 28 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0 | 0) == (-1 | 0) & 1 | 0; + label$5 : { + if (!((HEAPU8[($6 + 15 | 0) >> 0] | 0) & 1 | 0)) { + break label$5 + } + if (!(HEAP32[($6 + 8 | 0) >> 2] | 0)) { + break label$5 + } + $63 = HEAP32[($6 + 40 | 0) >> 2] | 0; + FUNCTION_TABLE[HEAP32[((HEAP32[$63 >> 2] | 0) + 8 | 0) >> 2] | 0 | 0]($63, HEAP32[((HEAP32[($6 + 28 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0, HEAP32[((HEAP32[($6 + 28 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0); + } + label$6 : { + label$7 : { + label$8 : { + if (HEAP32[($6 + 8 | 0) >> 2] | 0) { + break label$8 + } + if (!((HEAPU8[($6 + 15 | 0) >> 0] | 0) & 1 | 0)) { + break label$7 + } + } + HEAP32[($6 + 28 | 0) >> 2] = (HEAP32[($6 + 28 | 0) >> 2] | 0) + 64 | 0; + HEAP32[($6 + 20 | 0) >> 2] = (HEAP32[($6 + 20 | 0) >> 2] | 0) + 1 | 0; + break label$6; + } + HEAP32[($6 + 24 | 0) >> 2] = HEAP32[((HEAP32[($6 + 28 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0; + HEAP32[($6 + 28 | 0) >> 2] = (HEAP32[($6 + 28 | 0) >> 2] | 0) + ((HEAP32[($6 + 24 | 0) >> 2] | 0) << 6 | 0) | 0; + HEAP32[($6 + 20 | 0) >> 2] = (HEAP32[($6 + 20 | 0) >> 2] | 0) + (HEAP32[($6 + 24 | 0) >> 2] | 0) | 0; + } + continue label$3; + }; + } + label$9 : { + if (!((HEAP32[(0 + 114084 | 0) >> 2] | 0 | 0) < (HEAP32[($6 + 16 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$9 + } + HEAP32[(0 + 114084 | 0) >> 2] = HEAP32[($6 + 16 | 0) >> 2] | 0; + } + __stack_pointer = $6 + 48 | 0; + return; + } + + function testQuantizedAabbAgainstQuantizedAabb_28unsigned_20short_20const__2c_20unsigned_20short_20const__2c_20unsigned_20short_20const__2c_20unsigned_20short_20const__29($0, $1, $2, $3) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + var $6 = 0, $92 = 0; + $6 = __stack_pointer - 16 | 0; + __stack_pointer = $6; + HEAP32[($6 + 12 | 0) >> 2] = $0; + HEAP32[($6 + 8 | 0) >> 2] = $1; + HEAP32[($6 + 4 | 0) >> 2] = $2; + HEAP32[$6 >> 2] = $3; + $92 = btSelect_28unsigned_20int_2c_20int_2c_20int_29((((((((HEAPU16[(HEAP32[($6 + 12 | 0) >> 2] | 0) >> 1] | 0) & 65535 | 0 | 0) <= ((HEAPU16[(HEAP32[$6 >> 2] | 0) >> 1] | 0) & 65535 | 0 | 0) & 1 | 0) & (((HEAPU16[(HEAP32[($6 + 8 | 0) >> 2] | 0) >> 1] | 0) & 65535 | 0 | 0) >= ((HEAPU16[(HEAP32[($6 + 4 | 0) >> 2] | 0) >> 1] | 0) & 65535 | 0 | 0) & 1 | 0) | 0) & (((HEAPU16[((HEAP32[($6 + 12 | 0) >> 2] | 0) + 4 | 0) >> 1] | 0) & 65535 | 0 | 0) <= ((HEAPU16[((HEAP32[$6 >> 2] | 0) + 4 | 0) >> 1] | 0) & 65535 | 0 | 0) & 1 | 0) | 0) & (((HEAPU16[((HEAP32[($6 + 8 | 0) >> 2] | 0) + 4 | 0) >> 1] | 0) & 65535 | 0 | 0) >= ((HEAPU16[((HEAP32[($6 + 4 | 0) >> 2] | 0) + 4 | 0) >> 1] | 0) & 65535 | 0 | 0) & 1 | 0) | 0) & (((HEAPU16[((HEAP32[($6 + 12 | 0) >> 2] | 0) + 2 | 0) >> 1] | 0) & 65535 | 0 | 0) <= ((HEAPU16[((HEAP32[$6 >> 2] | 0) + 2 | 0) >> 1] | 0) & 65535 | 0 | 0) & 1 | 0) | 0) & (((HEAPU16[((HEAP32[($6 + 8 | 0) >> 2] | 0) + 2 | 0) >> 1] | 0) & 65535 | 0 | 0) >= ((HEAPU16[((HEAP32[($6 + 4 | 0) >> 2] | 0) + 2 | 0) >> 1] | 0) & 65535 | 0 | 0) & 1 | 0) | 0 | 0, 1 | 0, 0 | 0) | 0; + __stack_pointer = $6 + 16 | 0; + return $92 | 0; + } + + function btQuantizedBvhNode__getPartId_28_29_20const($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0, $14 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + label$1 : { + if ((btQuantizedBvhNode__isLeafNode_28_29_20const($4 | 0) | 0) & 1 | 0) { + break label$1 + } + __assert_fail(87706 | 0, 78832 | 0, 88 | 0, 82789 | 0); + wasm2js_trap(); + } + $14 = (HEAP32[($4 + 12 | 0) >> 2] | 0) >> 21 | 0; + __stack_pointer = $3 + 16 | 0; + return $14 | 0; + } + + function btQuantizedBvhNode__getTriangleIndex_28_29_20const($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0, $24 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + label$1 : { + if ((btQuantizedBvhNode__isLeafNode_28_29_20const($4 | 0) | 0) & 1 | 0) { + break label$1 + } + __assert_fail(87706 | 0, 78832 | 0, 80 | 0, 66551 | 0); + wasm2js_trap(); + } + HEAP32[($3 + 8 | 0) >> 2] = 0; + HEAP32[($3 + 4 | 0) >> 2] = (((HEAP32[($3 + 8 | 0) >> 2] | 0) & 0 | 0) ^ -1 | 0) << 21 | 0; + $24 = (HEAP32[($4 + 12 | 0) >> 2] | 0) & ((HEAP32[($3 + 4 | 0) >> 2] | 0) ^ -1 | 0) | 0; + __stack_pointer = $3 + 16 | 0; + return $24 | 0; + } + + function btAlignedObjectArray_btBvhSubtreeInfo___operator_5b_5d_28int_29_20const($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, $5 = 0, $32 = 0; + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; + label$1 : { + if ((HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0) { + break label$1 + } + __assert_fail(85840 | 0, 78192 | 0, 176 | 0, 83901 | 0); + wasm2js_trap(); + } + label$2 : { + if ((HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) < (btAlignedObjectArray_btBvhSubtreeInfo___size_28_29_20const($5 | 0) | 0 | 0) & 1 | 0) { + break label$2 + } + __assert_fail(87321 | 0, 78192 | 0, 177 | 0, 83901 | 0); + wasm2js_trap(); + } + $32 = (HEAP32[($5 + 12 | 0) >> 2] | 0) + ((HEAP32[($4 + 8 | 0) >> 2] | 0) << 5 | 0) | 0; + __stack_pointer = $4 + 16 | 0; + return $32 | 0; + } + + function btSelect_28unsigned_20int_2c_20int_2c_20int_29($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $5 = 0; + $5 = __stack_pointer - 32 | 0; + HEAP32[($5 + 28 | 0) >> 2] = $0; + HEAP32[($5 + 24 | 0) >> 2] = $1; + HEAP32[($5 + 20 | 0) >> 2] = $2; + HEAP32[($5 + 16 | 0) >> 2] = (HEAP32[($5 + 28 | 0) >> 2] | 0 | (0 - (HEAP32[($5 + 28 | 0) >> 2] | 0) | 0) | 0) >> 31 | 0; + HEAP32[($5 + 12 | 0) >> 2] = (HEAP32[($5 + 16 | 0) >> 2] | 0) ^ -1 | 0; + return (HEAP32[($5 + 24 | 0) >> 2] | 0) & (HEAP32[($5 + 16 | 0) >> 2] | 0) | 0 | ((HEAP32[($5 + 20 | 0) >> 2] | 0) & (HEAP32[($5 + 12 | 0) >> 2] | 0) | 0) | 0 | 0; + } + + function btQuantizedBvh__walkStacklessTreeAgainstRay_28btNodeOverlapCallback__2c_20btVector3_20const__2c_20btVector3_20const__2c_20btVector3_20const__2c_20btVector3_20const__2c_20int_2c_20int_29_20const($0, $1, $2, $3, $4, $5, $6, $7) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + $4 = $4 | 0; + $5 = $5 | 0; + $6 = $6 | 0; + $7 = $7 | 0; + var $10 = 0, i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, i64toi32_i32$1 = 0, $11 = 0, $28 = 0, $29 = 0, $36 = 0, $37 = 0, $94 = Math_fround(0), $118 = Math_fround(0), $142 = Math_fround(0), $159 = 0.0, $179 = 0, $182 = 0, $183 = 0, $185 = 0, $216 = 0, $218 = 0, $229 = 0, $231 = 0, $276 = 0, $293 = 0, $398 = 0, $402 = 0, $417 = 0, $421 = 0, $181 = 0, $743 = 0, $753 = 0, $769 = 0, $779 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0, wasm2js_f32$0 = Math_fround(0); + $10 = __stack_pointer - 208 | 0; + __stack_pointer = $10; + HEAP32[($10 + 204 | 0) >> 2] = $0; + HEAP32[($10 + 200 | 0) >> 2] = $1; + HEAP32[($10 + 196 | 0) >> 2] = $2; + HEAP32[($10 + 192 | 0) >> 2] = $3; + HEAP32[($10 + 188 | 0) >> 2] = $4; + HEAP32[($10 + 184 | 0) >> 2] = $5; + HEAP32[($10 + 180 | 0) >> 2] = $6; + HEAP32[($10 + 176 | 0) >> 2] = $7; + $11 = HEAP32[($10 + 204 | 0) >> 2] | 0; + label$1 : { + if (!((HEAPU8[($11 + 60 | 0) >> 0] | 0) & 1 | 0)) { + break label$1 + } + __assert_fail(76587 | 0, 73634 | 0, 471 | 0, 66183 | 0); + wasm2js_trap(); + } + (wasm2js_i32$0 = $10, wasm2js_i32$1 = btAlignedObjectArray_btOptimizedBvhNode___operator_5b_5d_28int_29_20const($11 + 84 | 0 | 0, 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 172 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($10 + 164 | 0) >> 2] = 0; + HEAP32[($10 + 160 | 0) >> 2] = 0; + HEAP32[($10 + 152 | 0) >> 2] = 0; + HEAP32[($10 + 148 | 0) >> 2] = 0; + HEAPF32[($10 + 144 | 0) >> 2] = Math_fround(1.0); + $28 = HEAP32[($10 + 196 | 0) >> 2] | 0; + $29 = 8; + i64toi32_i32$2 = $28 + $29 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $398 = i64toi32_i32$0; + i64toi32_i32$0 = ($10 + 128 | 0) + $29 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $398; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$2 = $28; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $402 = i64toi32_i32$1; + i64toi32_i32$1 = $10; + HEAP32[($10 + 128 | 0) >> 2] = $402; + HEAP32[($10 + 132 | 0) >> 2] = i64toi32_i32$0; + $36 = HEAP32[($10 + 196 | 0) >> 2] | 0; + $37 = 8; + i64toi32_i32$2 = $36 + $37 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $417 = i64toi32_i32$0; + i64toi32_i32$0 = ($10 + 112 | 0) + $37 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $417; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$2 = $36; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $421 = i64toi32_i32$1; + i64toi32_i32$1 = $10; + HEAP32[($10 + 112 | 0) >> 2] = $421; + HEAP32[($10 + 116 | 0) >> 2] = i64toi32_i32$0; + btVector3__setMin_28btVector3_20const__29($10 + 128 | 0 | 0, HEAP32[($10 + 192 | 0) >> 2] | 0 | 0); + btVector3__setMax_28btVector3_20const__29($10 + 112 | 0 | 0, HEAP32[($10 + 192 | 0) >> 2] | 0 | 0); + btVector3__operator___28btVector3_20const__29_1($10 + 128 | 0 | 0, HEAP32[($10 + 188 | 0) >> 2] | 0 | 0) | 0; + btVector3__operator___28btVector3_20const__29_1($10 + 112 | 0 | 0, HEAP32[($10 + 184 | 0) >> 2] | 0 | 0) | 0; + operator__28btVector3_20const__2c_20btVector3_20const__29($10 + 96 | 0 | 0, HEAP32[($10 + 192 | 0) >> 2] | 0 | 0, HEAP32[($10 + 196 | 0) >> 2] | 0 | 0); + btVector3__normalize_28_29($10 + 96 | 0 | 0) | 0; + operator__28btVector3_20const__2c_20btVector3_20const__29($10 + 80 | 0 | 0, HEAP32[($10 + 192 | 0) >> 2] | 0 | 0, HEAP32[($10 + 196 | 0) >> 2] | 0 | 0); + (wasm2js_i32$0 = $10, wasm2js_f32$0 = Math_fround(btVector3__dot_28btVector3_20const__29_20const($10 + 96 | 0 | 0, $10 + 80 | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 144 | 0) >> 2] = wasm2js_f32$0; + btVector3__btVector3_28_29($10 + 64 | 0 | 0) | 0; + label$2 : { + label$3 : { + if (!(Math_fround(HEAPF32[(btVector3__operator_20float__28_29($10 + 96 | 0 | 0) | 0) >> 2]) == Math_fround(0 | 0) & 1 | 0)) { + break label$3 + } + $94 = Math_fround(999999984306749440.0); + break label$2; + } + $94 = Math_fround(Math_fround(1.0) / Math_fround(HEAPF32[(btVector3__operator_20float__28_29($10 + 96 | 0 | 0) | 0) >> 2])); + } + (wasm2js_i32$0 = btVector3__operator_20float__28_29($10 + 64 | 0 | 0) | 0, wasm2js_f32$0 = $94), HEAPF32[wasm2js_i32$0 >> 2] = wasm2js_f32$0; + label$4 : { + label$5 : { + if (!(Math_fround(HEAPF32[((btVector3__operator_20float__28_29($10 + 96 | 0 | 0) | 0) + 4 | 0) >> 2]) == Math_fround(0 | 0) & 1 | 0)) { + break label$5 + } + $118 = Math_fround(999999984306749440.0); + break label$4; + } + $118 = Math_fround(Math_fround(1.0) / Math_fround(HEAPF32[((btVector3__operator_20float__28_29($10 + 96 | 0 | 0) | 0) + 4 | 0) >> 2])); + } + (wasm2js_i32$0 = btVector3__operator_20float__28_29($10 + 64 | 0 | 0) | 0, wasm2js_f32$0 = $118), HEAPF32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_f32$0; + label$6 : { + label$7 : { + if (!(Math_fround(HEAPF32[((btVector3__operator_20float__28_29($10 + 96 | 0 | 0) | 0) + 8 | 0) >> 2]) == Math_fround(0 | 0) & 1 | 0)) { + break label$7 + } + $142 = Math_fround(999999984306749440.0); + break label$6; + } + $142 = Math_fround(Math_fround(1.0) / Math_fround(HEAPF32[((btVector3__operator_20float__28_29($10 + 96 | 0 | 0) | 0) + 8 | 0) >> 2])); + } + (wasm2js_i32$0 = btVector3__operator_20float__28_29($10 + 64 | 0 | 0) | 0, wasm2js_f32$0 = $142), HEAPF32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_f32$0; + $159 = 0.0; + (wasm2js_i32$0 = $10, wasm2js_i32$1 = +Math_fround(HEAPF32[(btVector3__operator_20float__28_29($10 + 64 | 0 | 0) | 0) >> 2]) < $159), HEAP32[(wasm2js_i32$0 + 52 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $10, wasm2js_i32$1 = +Math_fround(HEAPF32[((btVector3__operator_20float__28_29($10 + 64 | 0 | 0) | 0) + 4 | 0) >> 2]) < $159), HEAP32[(wasm2js_i32$0 + 56 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $10, wasm2js_i32$1 = +Math_fround(HEAPF32[((btVector3__operator_20float__28_29($10 + 64 | 0 | 0) | 0) + 8 | 0) >> 2]) < +(0 | 0) & 1 | 0), HEAP32[(wasm2js_i32$0 + 60 | 0) >> 2] = wasm2js_i32$1; + $179 = $10 + 16 | 0; + $181 = $179 + 32 | 0; + $182 = $179; + label$8 : while (1) { + $183 = $182; + btVector3__btVector3_28_29($183 | 0) | 0; + $185 = $183 + 16 | 0; + $182 = $185; + if (!(($185 | 0) == ($181 | 0) & 1 | 0)) { + continue label$8 + } + break label$8; + }; + label$9 : { + label$10 : while (1) { + if (!((HEAP32[($10 + 164 | 0) >> 2] | 0 | 0) < (HEAP32[($11 + 56 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$9 + } + HEAPF32[($10 + 12 | 0) >> 2] = Math_fround(1.0); + label$11 : { + if ((HEAP32[($10 + 160 | 0) >> 2] | 0 | 0) < (HEAP32[($11 + 56 | 0) >> 2] | 0 | 0) & 1 | 0) { + break label$11 + } + __assert_fail(66597 | 0, 73634 | 0, 510 | 0, 66183 | 0); + wasm2js_trap(); + } + HEAP32[($10 + 160 | 0) >> 2] = (HEAP32[($10 + 160 | 0) >> 2] | 0) + 1 | 0; + $216 = $10 + 16 | 0; + i64toi32_i32$2 = HEAP32[($10 + 172 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $743 = i64toi32_i32$0; + i64toi32_i32$0 = $216; + HEAP32[i64toi32_i32$0 >> 2] = $743; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $218 = 8; + i64toi32_i32$2 = i64toi32_i32$2 + $218 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $753 = i64toi32_i32$1; + i64toi32_i32$1 = $216 + $218 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $753; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + $229 = ($10 + 16 | 0) + 16 | 0; + i64toi32_i32$2 = (HEAP32[($10 + 172 | 0) >> 2] | 0) + 16 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $769 = i64toi32_i32$0; + i64toi32_i32$0 = $229; + HEAP32[i64toi32_i32$0 >> 2] = $769; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $231 = 8; + i64toi32_i32$2 = i64toi32_i32$2 + $231 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $779 = i64toi32_i32$1; + i64toi32_i32$1 = $229 + $231 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $779; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + btVector3__operator___28btVector3_20const__29($10 + 16 | 0 | 0, HEAP32[($10 + 184 | 0) >> 2] | 0 | 0) | 0; + btVector3__operator___28btVector3_20const__29(($10 + 16 | 0) + 16 | 0 | 0, HEAP32[($10 + 188 | 0) >> 2] | 0 | 0) | 0; + (wasm2js_i32$0 = $10, wasm2js_i32$1 = (TestAabbAgainstAabb2_28btVector3_20const__2c_20btVector3_20const__2c_20btVector3_20const__2c_20btVector3_20const__29($10 + 128 | 0 | 0, $10 + 112 | 0 | 0, HEAP32[($10 + 172 | 0) >> 2] | 0 | 0, (HEAP32[($10 + 172 | 0) >> 2] | 0) + 16 | 0 | 0) | 0) & 1 | 0), HEAP32[(wasm2js_i32$0 + 152 | 0) >> 2] = wasm2js_i32$1; + label$12 : { + label$13 : { + if (!(HEAP32[($10 + 152 | 0) >> 2] | 0)) { + break label$13 + } + $276 = btRayAabb2_28btVector3_20const__2c_20btVector3_20const__2c_20unsigned_20int_20const__2c_20btVector3_20const__2c_20float__2c_20float_2c_20float_29(HEAP32[($10 + 196 | 0) >> 2] | 0 | 0, $10 + 64 | 0 | 0, $10 + 52 | 0 | 0, $10 + 16 | 0 | 0, $10 + 12 | 0 | 0, Math_fround(Math_fround(0 | 0)), Math_fround(Math_fround(HEAPF32[($10 + 144 | 0) >> 2]))) | 0; + break label$12; + } + $276 = 0; + } + HEAP32[($10 + 148 | 0) >> 2] = $276 & 1 | 0; + HEAP8[($10 + 159 | 0) >> 0] = (HEAP32[((HEAP32[($10 + 172 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0 | 0) == (-1 | 0) & 1 | 0; + label$14 : { + if (!((HEAPU8[($10 + 159 | 0) >> 0] | 0) & 1 | 0)) { + break label$14 + } + if (!(HEAP32[($10 + 148 | 0) >> 2] | 0)) { + break label$14 + } + $293 = HEAP32[($10 + 200 | 0) >> 2] | 0; + FUNCTION_TABLE[HEAP32[((HEAP32[$293 >> 2] | 0) + 8 | 0) >> 2] | 0 | 0]($293, HEAP32[((HEAP32[($10 + 172 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0, HEAP32[((HEAP32[($10 + 172 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0); + } + label$15 : { + label$16 : { + label$17 : { + if (HEAP32[($10 + 148 | 0) >> 2] | 0) { + break label$17 + } + if (!((HEAPU8[($10 + 159 | 0) >> 0] | 0) & 1 | 0)) { + break label$16 + } + } + HEAP32[($10 + 172 | 0) >> 2] = (HEAP32[($10 + 172 | 0) >> 2] | 0) + 64 | 0; + HEAP32[($10 + 164 | 0) >> 2] = (HEAP32[($10 + 164 | 0) >> 2] | 0) + 1 | 0; + break label$15; + } + HEAP32[($10 + 168 | 0) >> 2] = HEAP32[((HEAP32[($10 + 172 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0; + HEAP32[($10 + 172 | 0) >> 2] = (HEAP32[($10 + 172 | 0) >> 2] | 0) + ((HEAP32[($10 + 168 | 0) >> 2] | 0) << 6 | 0) | 0; + HEAP32[($10 + 164 | 0) >> 2] = (HEAP32[($10 + 164 | 0) >> 2] | 0) + (HEAP32[($10 + 168 | 0) >> 2] | 0) | 0; + } + continue label$10; + }; + } + label$18 : { + if (!((HEAP32[(0 + 114084 | 0) >> 2] | 0 | 0) < (HEAP32[($10 + 160 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$18 + } + HEAP32[(0 + 114084 | 0) >> 2] = HEAP32[($10 + 160 | 0) >> 2] | 0; + } + __stack_pointer = $10 + 208 | 0; + return; + } + + function btQuantizedBvh__walkStacklessQuantizedTreeAgainstRay_28btNodeOverlapCallback__2c_20btVector3_20const__2c_20btVector3_20const__2c_20btVector3_20const__2c_20btVector3_20const__2c_20int_2c_20int_29_20const($0, $1, $2, $3, $4, $5, $6, $7) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + $4 = $4 | 0; + $5 = $5 | 0; + $6 = $6 | 0; + $7 = $7 | 0; + var $10 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, $11 = 0, $62 = Math_fround(0), $86 = Math_fround(0), $110 = Math_fround(0), $127 = 0.0, $145 = 0, $146 = 0, $153 = 0, $154 = 0, $232 = 0, $235 = 0, $236 = 0, $238 = 0, $250 = 0, $252 = 0, $268 = 0, $270 = 0, $310 = 0, $634 = 0, $638 = 0, $653 = 0, $657 = 0, $234 = 0, $834 = 0, $847 = 0, $870 = 0, $883 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0, wasm2js_f32$0 = Math_fround(0), wasm2js_i32$2 = 0, wasm2js_i32$3 = 0; + $10 = __stack_pointer - 240 | 0; + __stack_pointer = $10; + HEAP32[($10 + 236 | 0) >> 2] = $0; + HEAP32[($10 + 232 | 0) >> 2] = $1; + HEAP32[($10 + 228 | 0) >> 2] = $2; + HEAP32[($10 + 224 | 0) >> 2] = $3; + HEAP32[($10 + 220 | 0) >> 2] = $4; + HEAP32[($10 + 216 | 0) >> 2] = $5; + HEAP32[($10 + 212 | 0) >> 2] = $6; + HEAP32[($10 + 208 | 0) >> 2] = $7; + $11 = HEAP32[($10 + 236 | 0) >> 2] | 0; + label$1 : { + if ((HEAPU8[($11 + 60 | 0) >> 0] | 0) & 1 | 0) { + break label$1 + } + __assert_fail(76588 | 0, 73634 | 0, 563 | 0, 66211 | 0); + wasm2js_trap(); + } + HEAP32[($10 + 204 | 0) >> 2] = HEAP32[($10 + 212 | 0) >> 2] | 0; + HEAP32[($10 + 200 | 0) >> 2] = 0; + HEAP32[($10 + 196 | 0) >> 2] = (HEAP32[($10 + 208 | 0) >> 2] | 0) - (HEAP32[($10 + 212 | 0) >> 2] | 0) | 0; + (wasm2js_i32$0 = $10, wasm2js_i32$1 = btAlignedObjectArray_btQuantizedBvhNode___operator_5b_5d_28int_29_20const($11 + 124 | 0 | 0, HEAP32[($10 + 212 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 192 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($10 + 180 | 0) >> 2] = 0; + HEAP32[($10 + 176 | 0) >> 2] = 0; + HEAPF32[($10 + 172 | 0) >> 2] = Math_fround(1.0); + operator__28btVector3_20const__2c_20btVector3_20const__29($10 + 156 | 0 | 0, HEAP32[($10 + 224 | 0) >> 2] | 0 | 0, HEAP32[($10 + 228 | 0) >> 2] | 0 | 0); + btVector3__normalize_28_29($10 + 156 | 0 | 0) | 0; + operator__28btVector3_20const__2c_20btVector3_20const__29($10 + 140 | 0 | 0, HEAP32[($10 + 224 | 0) >> 2] | 0 | 0, HEAP32[($10 + 228 | 0) >> 2] | 0 | 0); + (wasm2js_i32$0 = $10, wasm2js_f32$0 = Math_fround(btVector3__dot_28btVector3_20const__29_20const($10 + 156 | 0 | 0, $10 + 140 | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 172 | 0) >> 2] = wasm2js_f32$0; + label$2 : { + label$3 : { + if (!(Math_fround(HEAPF32[(btVector3__operator_20float__28_29($10 + 156 | 0 | 0) | 0) >> 2]) == Math_fround(0 | 0) & 1 | 0)) { + break label$3 + } + $62 = Math_fround(999999984306749440.0); + break label$2; + } + $62 = Math_fround(Math_fround(1.0) / Math_fround(HEAPF32[(btVector3__operator_20float__28_29($10 + 156 | 0 | 0) | 0) >> 2])); + } + (wasm2js_i32$0 = btVector3__operator_20float__28_29($10 + 156 | 0 | 0) | 0, wasm2js_f32$0 = $62), HEAPF32[wasm2js_i32$0 >> 2] = wasm2js_f32$0; + label$4 : { + label$5 : { + if (!(Math_fround(HEAPF32[((btVector3__operator_20float__28_29($10 + 156 | 0 | 0) | 0) + 4 | 0) >> 2]) == Math_fround(0 | 0) & 1 | 0)) { + break label$5 + } + $86 = Math_fround(999999984306749440.0); + break label$4; + } + $86 = Math_fround(Math_fround(1.0) / Math_fround(HEAPF32[((btVector3__operator_20float__28_29($10 + 156 | 0 | 0) | 0) + 4 | 0) >> 2])); + } + (wasm2js_i32$0 = btVector3__operator_20float__28_29($10 + 156 | 0 | 0) | 0, wasm2js_f32$0 = $86), HEAPF32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_f32$0; + label$6 : { + label$7 : { + if (!(Math_fround(HEAPF32[((btVector3__operator_20float__28_29($10 + 156 | 0 | 0) | 0) + 8 | 0) >> 2]) == Math_fround(0 | 0) & 1 | 0)) { + break label$7 + } + $110 = Math_fround(999999984306749440.0); + break label$6; + } + $110 = Math_fround(Math_fround(1.0) / Math_fround(HEAPF32[((btVector3__operator_20float__28_29($10 + 156 | 0 | 0) | 0) + 8 | 0) >> 2])); + } + (wasm2js_i32$0 = btVector3__operator_20float__28_29($10 + 156 | 0 | 0) | 0, wasm2js_f32$0 = $110), HEAPF32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_f32$0; + $127 = 0.0; + (wasm2js_i32$0 = $10, wasm2js_i32$1 = +Math_fround(HEAPF32[(btVector3__operator_20float__28_29($10 + 156 | 0 | 0) | 0) >> 2]) < $127), HEAP32[(wasm2js_i32$0 + 128 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $10, wasm2js_i32$1 = +Math_fround(HEAPF32[((btVector3__operator_20float__28_29($10 + 156 | 0 | 0) | 0) + 4 | 0) >> 2]) < $127), HEAP32[(wasm2js_i32$0 + 132 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $10, wasm2js_i32$1 = +Math_fround(HEAPF32[((btVector3__operator_20float__28_29($10 + 156 | 0 | 0) | 0) + 8 | 0) >> 2]) < +(0 | 0) & 1 | 0), HEAP32[(wasm2js_i32$0 + 136 | 0) >> 2] = wasm2js_i32$1; + $145 = HEAP32[($10 + 228 | 0) >> 2] | 0; + $146 = 8; + i64toi32_i32$2 = $145 + $146 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $634 = i64toi32_i32$0; + i64toi32_i32$0 = ($10 + 112 | 0) + $146 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $634; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$2 = $145; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $638 = i64toi32_i32$1; + i64toi32_i32$1 = $10; + HEAP32[($10 + 112 | 0) >> 2] = $638; + HEAP32[($10 + 116 | 0) >> 2] = i64toi32_i32$0; + $153 = HEAP32[($10 + 228 | 0) >> 2] | 0; + $154 = 8; + i64toi32_i32$2 = $153 + $154 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $653 = i64toi32_i32$0; + i64toi32_i32$0 = ($10 + 96 | 0) + $154 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $653; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$2 = $153; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $657 = i64toi32_i32$1; + i64toi32_i32$1 = $10; + HEAP32[($10 + 96 | 0) >> 2] = $657; + HEAP32[($10 + 100 | 0) >> 2] = i64toi32_i32$0; + btVector3__setMin_28btVector3_20const__29($10 + 112 | 0 | 0, HEAP32[($10 + 224 | 0) >> 2] | 0 | 0); + btVector3__setMax_28btVector3_20const__29($10 + 96 | 0 | 0, HEAP32[($10 + 224 | 0) >> 2] | 0 | 0); + btVector3__operator___28btVector3_20const__29_1($10 + 112 | 0 | 0, HEAP32[($10 + 220 | 0) >> 2] | 0 | 0) | 0; + btVector3__operator___28btVector3_20const__29_1($10 + 96 | 0 | 0, HEAP32[($10 + 216 | 0) >> 2] | 0 | 0) | 0; + btQuantizedBvh__quantizeWithClamp_28unsigned_20short__2c_20btVector3_20const__2c_20int_29_20const($11 | 0, $10 + 90 | 0 | 0, $10 + 112 | 0 | 0, 0 | 0); + btQuantizedBvh__quantizeWithClamp_28unsigned_20short__2c_20btVector3_20const__2c_20int_29_20const($11 | 0, $10 + 84 | 0 | 0, $10 + 96 | 0 | 0, 1 | 0); + label$8 : { + label$9 : while (1) { + if (!((HEAP32[($10 + 204 | 0) >> 2] | 0 | 0) < (HEAP32[($10 + 208 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$8 + } + label$10 : { + if ((HEAP32[($10 + 200 | 0) >> 2] | 0 | 0) < (HEAP32[($10 + 196 | 0) >> 2] | 0 | 0) & 1 | 0) { + break label$10 + } + __assert_fail(81024 | 0, 73634 | 0, 626 | 0, 66211 | 0); + wasm2js_trap(); + } + HEAP32[($10 + 200 | 0) >> 2] = (HEAP32[($10 + 200 | 0) >> 2] | 0) + 1 | 0; + HEAPF32[($10 + 80 | 0) >> 2] = Math_fround(1.0); + HEAP32[($10 + 176 | 0) >> 2] = 0; + (wasm2js_i32$0 = $10, wasm2js_i32$1 = testQuantizedAabbAgainstQuantizedAabb_28unsigned_20short_20const__2c_20unsigned_20short_20const__2c_20unsigned_20short_20const__2c_20unsigned_20short_20const__29($10 + 90 | 0 | 0, $10 + 84 | 0 | 0, HEAP32[($10 + 192 | 0) >> 2] | 0 | 0, (HEAP32[($10 + 192 | 0) >> 2] | 0) + 6 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 180 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $10, wasm2js_i32$1 = (btQuantizedBvhNode__isLeafNode_28_29_20const(HEAP32[($10 + 192 | 0) >> 2] | 0 | 0) | 0) & 1 | 0), HEAP8[(wasm2js_i32$0 + 187 | 0) >> 0] = wasm2js_i32$1; + label$11 : { + if (!(HEAP32[($10 + 180 | 0) >> 2] | 0)) { + break label$11 + } + $232 = $10 + 48 | 0; + $234 = $232 + 32 | 0; + $235 = $232; + label$12 : while (1) { + $236 = $235; + btVector3__btVector3_28_29($236 | 0) | 0; + $238 = $236 + 16 | 0; + $235 = $238; + if (!(($238 | 0) == ($234 | 0) & 1 | 0)) { + continue label$12 + } + break label$12; + }; + btQuantizedBvh__unQuantize_28unsigned_20short_20const__29_20const($10 + 32 | 0 | 0, $11 | 0, HEAP32[($10 + 192 | 0) >> 2] | 0 | 0); + $250 = $10 + 48 | 0; + i64toi32_i32$2 = $10; + i64toi32_i32$0 = HEAP32[($10 + 32 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($10 + 36 | 0) >> 2] | 0; + $834 = i64toi32_i32$0; + i64toi32_i32$0 = $250; + HEAP32[i64toi32_i32$0 >> 2] = $834; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $252 = 8; + i64toi32_i32$2 = ($10 + 32 | 0) + $252 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $847 = i64toi32_i32$1; + i64toi32_i32$1 = $250 + $252 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $847; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + btQuantizedBvh__unQuantize_28unsigned_20short_20const__29_20const($10 + 16 | 0 | 0, $11 | 0, (HEAP32[($10 + 192 | 0) >> 2] | 0) + 6 | 0 | 0); + $268 = ($10 + 48 | 0) + 16 | 0; + i64toi32_i32$2 = $10; + i64toi32_i32$0 = HEAP32[($10 + 16 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($10 + 20 | 0) >> 2] | 0; + $870 = i64toi32_i32$0; + i64toi32_i32$0 = $268; + HEAP32[i64toi32_i32$0 >> 2] = $870; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $270 = 8; + i64toi32_i32$2 = ($10 + 16 | 0) + $270 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $883 = i64toi32_i32$1; + i64toi32_i32$1 = $268 + $270 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $883; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + btVector3__operator___28btVector3_20const__29($10 + 48 | 0 | 0, HEAP32[($10 + 216 | 0) >> 2] | 0 | 0) | 0; + btVector3__operator___28btVector3_20const__29(($10 + 48 | 0) + 16 | 0 | 0, HEAP32[($10 + 220 | 0) >> 2] | 0 | 0) | 0; + btVector3__btVector3_28_29($10 | 0) | 0; + (wasm2js_i32$0 = $10, wasm2js_i32$1 = (btRayAabb2_28btVector3_20const__2c_20btVector3_20const__2c_20unsigned_20int_20const__2c_20btVector3_20const__2c_20float__2c_20float_2c_20float_29(HEAP32[($10 + 228 | 0) >> 2] | 0 | 0, $10 + 156 | 0 | 0, $10 + 128 | 0 | 0, $10 + 48 | 0 | 0, $10 + 80 | 0 | 0, Math_fround(Math_fround(0 | 0)), Math_fround(Math_fround(HEAPF32[($10 + 172 | 0) >> 2]))) | 0) & 1 | 0), HEAP32[(wasm2js_i32$0 + 176 | 0) >> 2] = wasm2js_i32$1; + } + label$13 : { + if (!((HEAPU8[($10 + 187 | 0) >> 0] | 0) & 1 | 0)) { + break label$13 + } + if (!(HEAP32[($10 + 176 | 0) >> 2] | 0)) { + break label$13 + } + $310 = HEAP32[($10 + 232 | 0) >> 2] | 0; + (((wasm2js_i32$1 = $310, wasm2js_i32$2 = btQuantizedBvhNode__getPartId_28_29_20const(HEAP32[($10 + 192 | 0) >> 2] | 0 | 0) | 0), wasm2js_i32$3 = btQuantizedBvhNode__getTriangleIndex_28_29_20const(HEAP32[($10 + 192 | 0) >> 2] | 0 | 0) | 0), wasm2js_i32$0 = HEAP32[((HEAP32[$310 >> 2] | 0) + 8 | 0) >> 2] | 0 | 0), FUNCTION_TABLE[wasm2js_i32$0](wasm2js_i32$1 | 0, wasm2js_i32$2 | 0, wasm2js_i32$3 | 0); + } + label$14 : { + label$15 : { + label$16 : { + if (HEAP32[($10 + 176 | 0) >> 2] | 0) { + break label$16 + } + if (!((HEAPU8[($10 + 187 | 0) >> 0] | 0) & 1 | 0)) { + break label$15 + } + } + HEAP32[($10 + 192 | 0) >> 2] = (HEAP32[($10 + 192 | 0) >> 2] | 0) + 16 | 0; + HEAP32[($10 + 204 | 0) >> 2] = (HEAP32[($10 + 204 | 0) >> 2] | 0) + 1 | 0; + break label$14; + } + (wasm2js_i32$0 = $10, wasm2js_i32$3 = btQuantizedBvhNode__getEscapeIndex_28_29_20const(HEAP32[($10 + 192 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 188 | 0) >> 2] = wasm2js_i32$3; + HEAP32[($10 + 192 | 0) >> 2] = (HEAP32[($10 + 192 | 0) >> 2] | 0) + ((HEAP32[($10 + 188 | 0) >> 2] | 0) << 4 | 0) | 0; + HEAP32[($10 + 204 | 0) >> 2] = (HEAP32[($10 + 204 | 0) >> 2] | 0) + (HEAP32[($10 + 188 | 0) >> 2] | 0) | 0; + } + continue label$9; + }; + } + label$17 : { + if (!((HEAP32[(0 + 114084 | 0) >> 2] | 0 | 0) < (HEAP32[($10 + 200 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$17 + } + HEAP32[(0 + 114084 | 0) >> 2] = HEAP32[($10 + 200 | 0) >> 2] | 0; + } + __stack_pointer = $10 + 240 | 0; + return; + } + + function btQuantizedBvh__reportRayOverlappingNodex_28btNodeOverlapCallback__2c_20btVector3_20const__2c_20btVector3_20const__29_20const($0, $1, $2, $3) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + var $6 = 0, $7 = 0, $8 = 0, $9 = 0, $10 = 0; + $6 = __stack_pointer - 80 | 0; + __stack_pointer = $6; + HEAP32[($6 + 76 | 0) >> 2] = $0; + HEAP32[($6 + 72 | 0) >> 2] = $1; + HEAP32[($6 + 68 | 0) >> 2] = $2; + HEAP32[($6 + 64 | 0) >> 2] = $3; + $7 = HEAP32[($6 + 76 | 0) >> 2] | 0; + $8 = HEAP32[($6 + 72 | 0) >> 2] | 0; + $9 = HEAP32[($6 + 68 | 0) >> 2] | 0; + $10 = HEAP32[($6 + 64 | 0) >> 2] | 0; + HEAPF32[($6 + 44 | 0) >> 2] = Math_fround(0 | 0); + HEAPF32[($6 + 40 | 0) >> 2] = Math_fround(0 | 0); + HEAPF32[($6 + 36 | 0) >> 2] = Math_fround(0 | 0); + btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($6 + 48 | 0 | 0, $6 + 44 | 0 | 0, $6 + 40 | 0 | 0, $6 + 36 | 0 | 0) | 0; + HEAPF32[($6 + 16 | 0) >> 2] = Math_fround(0 | 0); + HEAPF32[($6 + 12 | 0) >> 2] = Math_fround(0 | 0); + HEAPF32[($6 + 8 | 0) >> 2] = Math_fround(0 | 0); + btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($6 + 20 | 0 | 0, $6 + 16 | 0 | 0, $6 + 12 | 0 | 0, $6 + 8 | 0 | 0) | 0; + btQuantizedBvh__reportBoxCastOverlappingNodex_28btNodeOverlapCallback__2c_20btVector3_20const__2c_20btVector3_20const__2c_20btVector3_20const__2c_20btVector3_20const__29_20const($7 | 0, $8 | 0, $9 | 0, $10 | 0, $6 + 48 | 0 | 0, $6 + 20 | 0 | 0); + __stack_pointer = $6 + 80 | 0; + return; + } + + function btQuantizedBvh__reportBoxCastOverlappingNodex_28btNodeOverlapCallback__2c_20btVector3_20const__2c_20btVector3_20const__2c_20btVector3_20const__2c_20btVector3_20const__29_20const($0, $1, $2, $3, $4, $5) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + $4 = $4 | 0; + $5 = $5 | 0; + var $8 = 0, $9 = 0; + $8 = __stack_pointer - 32 | 0; + __stack_pointer = $8; + HEAP32[($8 + 28 | 0) >> 2] = $0; + HEAP32[($8 + 24 | 0) >> 2] = $1; + HEAP32[($8 + 20 | 0) >> 2] = $2; + HEAP32[($8 + 16 | 0) >> 2] = $3; + HEAP32[($8 + 12 | 0) >> 2] = $4; + HEAP32[($8 + 8 | 0) >> 2] = $5; + $9 = HEAP32[($8 + 28 | 0) >> 2] | 0; + label$1 : { + label$2 : { + if (!((HEAPU8[($9 + 60 | 0) >> 0] | 0) & 1 | 0)) { + break label$2 + } + btQuantizedBvh__walkStacklessQuantizedTreeAgainstRay_28btNodeOverlapCallback__2c_20btVector3_20const__2c_20btVector3_20const__2c_20btVector3_20const__2c_20btVector3_20const__2c_20int_2c_20int_29_20const($9 | 0, HEAP32[($8 + 24 | 0) >> 2] | 0 | 0, HEAP32[($8 + 20 | 0) >> 2] | 0 | 0, HEAP32[($8 + 16 | 0) >> 2] | 0 | 0, HEAP32[($8 + 12 | 0) >> 2] | 0 | 0, HEAP32[($8 + 8 | 0) >> 2] | 0 | 0, 0 | 0, HEAP32[($9 + 56 | 0) >> 2] | 0 | 0); + break label$1; + } + btQuantizedBvh__walkStacklessTreeAgainstRay_28btNodeOverlapCallback__2c_20btVector3_20const__2c_20btVector3_20const__2c_20btVector3_20const__2c_20btVector3_20const__2c_20int_2c_20int_29_20const($9 | 0, HEAP32[($8 + 24 | 0) >> 2] | 0 | 0, HEAP32[($8 + 20 | 0) >> 2] | 0 | 0, HEAP32[($8 + 16 | 0) >> 2] | 0 | 0, HEAP32[($8 + 12 | 0) >> 2] | 0 | 0, HEAP32[($8 + 8 | 0) >> 2] | 0 | 0, 0 | 0, HEAP32[($9 + 56 | 0) >> 2] | 0 | 0); + } + __stack_pointer = $8 + 32 | 0; + return; + } + + function btQuantizedBvh__serialize_28void__2c_20unsigned_20int_2c_20bool_29_20const($0, $1, $2, $3) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + var $6 = 0, $8 = 0, i64toi32_i32$2 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $307 = 0, $464 = 0, $706 = 0, $63 = 0, $65 = 0, $73 = 0, $75 = 0, $83 = 0, $85 = 0, $399 = 0, $401 = 0, $417 = 0, $419 = 0, $34 = 0, $52 = 0, $55 = 0, $847 = 0, $857 = 0, $869 = 0, $879 = 0, $891 = 0, $901 = 0, $133 = 0, $146 = 0, $159 = 0, $172 = 0, $185 = 0, $198 = 0, $209 = 0, $230 = 0, $240 = 0, $250 = 0, $260 = 0, $270 = 0, $280 = 0, $290 = 0, $352 = 0, $363 = 0, $374 = 0, $394 = 0, $1585 = 0, $1595 = 0, $410 = 0, $1623 = 0, $1633 = 0, $427 = 0, $437 = 0, $447 = 0, $493 = 0, $506 = 0, $519 = 0, $532 = 0, $545 = 0, $558 = 0, $569 = 0, $580 = 0, $601 = 0, $611 = 0, $621 = 0, $631 = 0, $641 = 0, $651 = 0, $661 = 0, $671 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $6 = __stack_pointer - 64 | 0; + __stack_pointer = $6; + HEAP32[($6 + 60 | 0) >> 2] = $0; + HEAP32[($6 + 56 | 0) >> 2] = $1; + HEAP32[($6 + 52 | 0) >> 2] = $2; + HEAP8[($6 + 51 | 0) >> 0] = $3; + $8 = HEAP32[($6 + 60 | 0) >> 2] | 0; + label$1 : { + if ((HEAP32[($8 + 168 | 0) >> 2] | 0 | 0) == (btAlignedObjectArray_btBvhSubtreeInfo___size_28_29_20const($8 + 148 | 0 | 0) | 0 | 0) & 1 | 0) { + break label$1 + } + __assert_fail(87521 | 0, 73634 | 0, 867 | 0, 80835 | 0); + wasm2js_trap(); + } + (wasm2js_i32$0 = $8, wasm2js_i32$1 = btAlignedObjectArray_btBvhSubtreeInfo___size_28_29_20const($8 + 148 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 168 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($6 + 44 | 0) >> 2] = HEAP32[($6 + 56 | 0) >> 2] | 0; + FUNCTION_TABLE[787 | 0](btQuantizedBvh__operator_20new_28unsigned_20long_2c_20void__29(172 | 0, HEAP32[($6 + 44 | 0) >> 2] | 0 | 0) | 0) | 0; + label$2 : { + label$3 : { + if (!((HEAPU8[($6 + 51 | 0) >> 0] | 0) & 1 | 0)) { + break label$3 + } + $34 = btSwapEndian_28int_29(HEAP32[($8 + 56 | 0) >> 2] | 0 | 0) | 0; + HEAP32[((HEAP32[($6 + 44 | 0) >> 2] | 0) + 56 | 0) >> 2] = $34; + btSwapVector3Endian_28btVector3_20const__2c_20btVector3__29($8 + 4 | 0 | 0, (HEAP32[($6 + 44 | 0) >> 2] | 0) + 4 | 0 | 0); + btSwapVector3Endian_28btVector3_20const__2c_20btVector3__29($8 + 20 | 0 | 0, (HEAP32[($6 + 44 | 0) >> 2] | 0) + 20 | 0 | 0); + btSwapVector3Endian_28btVector3_20const__2c_20btVector3__29($8 + 36 | 0 | 0, (HEAP32[($6 + 44 | 0) >> 2] | 0) + 36 | 0 | 0); + $52 = btSwapEndian_28int_29(HEAP32[($8 + 144 | 0) >> 2] | 0 | 0) | 0; + HEAP32[((HEAP32[($6 + 44 | 0) >> 2] | 0) + 144 | 0) >> 2] = $52; + $55 = btSwapEndian_28int_29(HEAP32[($8 + 168 | 0) >> 2] | 0 | 0) | 0; + HEAP32[((HEAP32[($6 + 44 | 0) >> 2] | 0) + 168 | 0) >> 2] = $55; + break label$2; + } + HEAP32[((HEAP32[($6 + 44 | 0) >> 2] | 0) + 56 | 0) >> 2] = HEAP32[($8 + 56 | 0) >> 2] | 0; + $63 = (HEAP32[($6 + 44 | 0) >> 2] | 0) + 4 | 0; + i64toi32_i32$2 = $8 + 4 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $847 = i64toi32_i32$0; + i64toi32_i32$0 = $63; + HEAP32[i64toi32_i32$0 >> 2] = $847; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $65 = 8; + i64toi32_i32$2 = i64toi32_i32$2 + $65 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $857 = i64toi32_i32$1; + i64toi32_i32$1 = $63 + $65 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $857; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + $73 = (HEAP32[($6 + 44 | 0) >> 2] | 0) + 20 | 0; + i64toi32_i32$2 = $8 + 20 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $869 = i64toi32_i32$0; + i64toi32_i32$0 = $73; + HEAP32[i64toi32_i32$0 >> 2] = $869; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $75 = 8; + i64toi32_i32$2 = i64toi32_i32$2 + $75 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $879 = i64toi32_i32$1; + i64toi32_i32$1 = $73 + $75 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $879; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + $83 = (HEAP32[($6 + 44 | 0) >> 2] | 0) + 36 | 0; + i64toi32_i32$2 = $8 + 36 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $891 = i64toi32_i32$0; + i64toi32_i32$0 = $83; + HEAP32[i64toi32_i32$0 >> 2] = $891; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $85 = 8; + i64toi32_i32$2 = i64toi32_i32$2 + $85 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $901 = i64toi32_i32$1; + i64toi32_i32$1 = $83 + $85 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $901; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + HEAP32[((HEAP32[($6 + 44 | 0) >> 2] | 0) + 144 | 0) >> 2] = HEAP32[($8 + 144 | 0) >> 2] | 0; + HEAP32[((HEAP32[($6 + 44 | 0) >> 2] | 0) + 168 | 0) >> 2] = HEAP32[($8 + 168 | 0) >> 2] | 0; + } + HEAP8[((HEAP32[($6 + 44 | 0) >> 2] | 0) + 60 | 0) >> 0] = (HEAPU8[($8 + 60 | 0) >> 0] | 0) & 1 | 0; + HEAP32[($6 + 40 | 0) >> 2] = HEAP32[($6 + 44 | 0) >> 2] | 0; + HEAP32[($6 + 40 | 0) >> 2] = (HEAP32[($6 + 40 | 0) >> 2] | 0) + 172 | 0; + HEAP32[($6 + 36 | 0) >> 2] = 0; + HEAP32[($6 + 40 | 0) >> 2] = (HEAP32[($6 + 40 | 0) >> 2] | 0) + (HEAP32[($6 + 36 | 0) >> 2] | 0) | 0; + HEAP32[($6 + 32 | 0) >> 2] = HEAP32[($8 + 56 | 0) >> 2] | 0; + label$4 : { + label$5 : { + if (!((HEAPU8[($8 + 60 | 0) >> 0] | 0) & 1 | 0)) { + break label$5 + } + btAlignedObjectArray_btQuantizedBvhNode___initializeFromBuffer_28void__2c_20int_2c_20int_29((HEAP32[($6 + 44 | 0) >> 2] | 0) + 124 | 0 | 0, HEAP32[($6 + 40 | 0) >> 2] | 0 | 0, HEAP32[($6 + 32 | 0) >> 2] | 0 | 0, HEAP32[($6 + 32 | 0) >> 2] | 0 | 0); + label$6 : { + label$7 : { + if (!((HEAPU8[($6 + 51 | 0) >> 0] | 0) & 1 | 0)) { + break label$7 + } + HEAP32[($6 + 28 | 0) >> 2] = 0; + label$8 : { + label$9 : while (1) { + if (!((HEAP32[($6 + 28 | 0) >> 2] | 0 | 0) < (HEAP32[($6 + 32 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$8 + } + $133 = btSwapEndian_28unsigned_20short_29((HEAPU16[(btAlignedObjectArray_btQuantizedBvhNode___operator_5b_5d_28int_29_20const($8 + 124 | 0 | 0, HEAP32[($6 + 28 | 0) >> 2] | 0 | 0) | 0) >> 1] | 0) & 65535 | 0 | 0) | 0; + (wasm2js_i32$0 = btAlignedObjectArray_btQuantizedBvhNode___operator_5b_5d_28int_29((HEAP32[($6 + 44 | 0) >> 2] | 0) + 124 | 0 | 0, HEAP32[($6 + 28 | 0) >> 2] | 0 | 0) | 0, wasm2js_i32$1 = $133), HEAP16[wasm2js_i32$0 >> 1] = wasm2js_i32$1; + $146 = btSwapEndian_28unsigned_20short_29((HEAPU16[((btAlignedObjectArray_btQuantizedBvhNode___operator_5b_5d_28int_29_20const($8 + 124 | 0 | 0, HEAP32[($6 + 28 | 0) >> 2] | 0 | 0) | 0) + 2 | 0) >> 1] | 0) & 65535 | 0 | 0) | 0; + (wasm2js_i32$0 = btAlignedObjectArray_btQuantizedBvhNode___operator_5b_5d_28int_29((HEAP32[($6 + 44 | 0) >> 2] | 0) + 124 | 0 | 0, HEAP32[($6 + 28 | 0) >> 2] | 0 | 0) | 0, wasm2js_i32$1 = $146), HEAP16[(wasm2js_i32$0 + 2 | 0) >> 1] = wasm2js_i32$1; + $159 = btSwapEndian_28unsigned_20short_29((HEAPU16[((btAlignedObjectArray_btQuantizedBvhNode___operator_5b_5d_28int_29_20const($8 + 124 | 0 | 0, HEAP32[($6 + 28 | 0) >> 2] | 0 | 0) | 0) + 4 | 0) >> 1] | 0) & 65535 | 0 | 0) | 0; + (wasm2js_i32$0 = btAlignedObjectArray_btQuantizedBvhNode___operator_5b_5d_28int_29((HEAP32[($6 + 44 | 0) >> 2] | 0) + 124 | 0 | 0, HEAP32[($6 + 28 | 0) >> 2] | 0 | 0) | 0, wasm2js_i32$1 = $159), HEAP16[(wasm2js_i32$0 + 4 | 0) >> 1] = wasm2js_i32$1; + $172 = btSwapEndian_28unsigned_20short_29((HEAPU16[((btAlignedObjectArray_btQuantizedBvhNode___operator_5b_5d_28int_29_20const($8 + 124 | 0 | 0, HEAP32[($6 + 28 | 0) >> 2] | 0 | 0) | 0) + 6 | 0) >> 1] | 0) & 65535 | 0 | 0) | 0; + (wasm2js_i32$0 = btAlignedObjectArray_btQuantizedBvhNode___operator_5b_5d_28int_29((HEAP32[($6 + 44 | 0) >> 2] | 0) + 124 | 0 | 0, HEAP32[($6 + 28 | 0) >> 2] | 0 | 0) | 0, wasm2js_i32$1 = $172), HEAP16[(wasm2js_i32$0 + 6 | 0) >> 1] = wasm2js_i32$1; + $185 = btSwapEndian_28unsigned_20short_29((HEAPU16[((btAlignedObjectArray_btQuantizedBvhNode___operator_5b_5d_28int_29_20const($8 + 124 | 0 | 0, HEAP32[($6 + 28 | 0) >> 2] | 0 | 0) | 0) + 8 | 0) >> 1] | 0) & 65535 | 0 | 0) | 0; + (wasm2js_i32$0 = btAlignedObjectArray_btQuantizedBvhNode___operator_5b_5d_28int_29((HEAP32[($6 + 44 | 0) >> 2] | 0) + 124 | 0 | 0, HEAP32[($6 + 28 | 0) >> 2] | 0 | 0) | 0, wasm2js_i32$1 = $185), HEAP16[(wasm2js_i32$0 + 8 | 0) >> 1] = wasm2js_i32$1; + $198 = btSwapEndian_28unsigned_20short_29((HEAPU16[((btAlignedObjectArray_btQuantizedBvhNode___operator_5b_5d_28int_29_20const($8 + 124 | 0 | 0, HEAP32[($6 + 28 | 0) >> 2] | 0 | 0) | 0) + 10 | 0) >> 1] | 0) & 65535 | 0 | 0) | 0; + (wasm2js_i32$0 = btAlignedObjectArray_btQuantizedBvhNode___operator_5b_5d_28int_29((HEAP32[($6 + 44 | 0) >> 2] | 0) + 124 | 0 | 0, HEAP32[($6 + 28 | 0) >> 2] | 0 | 0) | 0, wasm2js_i32$1 = $198), HEAP16[(wasm2js_i32$0 + 10 | 0) >> 1] = wasm2js_i32$1; + $209 = btSwapEndian_28int_29(HEAP32[((btAlignedObjectArray_btQuantizedBvhNode___operator_5b_5d_28int_29_20const($8 + 124 | 0 | 0, HEAP32[($6 + 28 | 0) >> 2] | 0 | 0) | 0) + 12 | 0) >> 2] | 0 | 0) | 0; + (wasm2js_i32$0 = btAlignedObjectArray_btQuantizedBvhNode___operator_5b_5d_28int_29((HEAP32[($6 + 44 | 0) >> 2] | 0) + 124 | 0 | 0, HEAP32[($6 + 28 | 0) >> 2] | 0 | 0) | 0, wasm2js_i32$1 = $209), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($6 + 28 | 0) >> 2] = (HEAP32[($6 + 28 | 0) >> 2] | 0) + 1 | 0; + continue label$9; + }; + } + break label$6; + } + HEAP32[($6 + 24 | 0) >> 2] = 0; + label$10 : { + label$11 : while (1) { + if (!((HEAP32[($6 + 24 | 0) >> 2] | 0 | 0) < (HEAP32[($6 + 32 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$10 + } + $230 = HEAPU16[(btAlignedObjectArray_btQuantizedBvhNode___operator_5b_5d_28int_29_20const($8 + 124 | 0 | 0, HEAP32[($6 + 24 | 0) >> 2] | 0 | 0) | 0) >> 1] | 0; + (wasm2js_i32$0 = btAlignedObjectArray_btQuantizedBvhNode___operator_5b_5d_28int_29((HEAP32[($6 + 44 | 0) >> 2] | 0) + 124 | 0 | 0, HEAP32[($6 + 24 | 0) >> 2] | 0 | 0) | 0, wasm2js_i32$1 = $230), HEAP16[wasm2js_i32$0 >> 1] = wasm2js_i32$1; + $240 = HEAPU16[((btAlignedObjectArray_btQuantizedBvhNode___operator_5b_5d_28int_29_20const($8 + 124 | 0 | 0, HEAP32[($6 + 24 | 0) >> 2] | 0 | 0) | 0) + 2 | 0) >> 1] | 0; + (wasm2js_i32$0 = btAlignedObjectArray_btQuantizedBvhNode___operator_5b_5d_28int_29((HEAP32[($6 + 44 | 0) >> 2] | 0) + 124 | 0 | 0, HEAP32[($6 + 24 | 0) >> 2] | 0 | 0) | 0, wasm2js_i32$1 = $240), HEAP16[(wasm2js_i32$0 + 2 | 0) >> 1] = wasm2js_i32$1; + $250 = HEAPU16[((btAlignedObjectArray_btQuantizedBvhNode___operator_5b_5d_28int_29_20const($8 + 124 | 0 | 0, HEAP32[($6 + 24 | 0) >> 2] | 0 | 0) | 0) + 4 | 0) >> 1] | 0; + (wasm2js_i32$0 = btAlignedObjectArray_btQuantizedBvhNode___operator_5b_5d_28int_29((HEAP32[($6 + 44 | 0) >> 2] | 0) + 124 | 0 | 0, HEAP32[($6 + 24 | 0) >> 2] | 0 | 0) | 0, wasm2js_i32$1 = $250), HEAP16[(wasm2js_i32$0 + 4 | 0) >> 1] = wasm2js_i32$1; + $260 = HEAPU16[((btAlignedObjectArray_btQuantizedBvhNode___operator_5b_5d_28int_29_20const($8 + 124 | 0 | 0, HEAP32[($6 + 24 | 0) >> 2] | 0 | 0) | 0) + 6 | 0) >> 1] | 0; + (wasm2js_i32$0 = btAlignedObjectArray_btQuantizedBvhNode___operator_5b_5d_28int_29((HEAP32[($6 + 44 | 0) >> 2] | 0) + 124 | 0 | 0, HEAP32[($6 + 24 | 0) >> 2] | 0 | 0) | 0, wasm2js_i32$1 = $260), HEAP16[(wasm2js_i32$0 + 6 | 0) >> 1] = wasm2js_i32$1; + $270 = HEAPU16[((btAlignedObjectArray_btQuantizedBvhNode___operator_5b_5d_28int_29_20const($8 + 124 | 0 | 0, HEAP32[($6 + 24 | 0) >> 2] | 0 | 0) | 0) + 8 | 0) >> 1] | 0; + (wasm2js_i32$0 = btAlignedObjectArray_btQuantizedBvhNode___operator_5b_5d_28int_29((HEAP32[($6 + 44 | 0) >> 2] | 0) + 124 | 0 | 0, HEAP32[($6 + 24 | 0) >> 2] | 0 | 0) | 0, wasm2js_i32$1 = $270), HEAP16[(wasm2js_i32$0 + 8 | 0) >> 1] = wasm2js_i32$1; + $280 = HEAPU16[((btAlignedObjectArray_btQuantizedBvhNode___operator_5b_5d_28int_29_20const($8 + 124 | 0 | 0, HEAP32[($6 + 24 | 0) >> 2] | 0 | 0) | 0) + 10 | 0) >> 1] | 0; + (wasm2js_i32$0 = btAlignedObjectArray_btQuantizedBvhNode___operator_5b_5d_28int_29((HEAP32[($6 + 44 | 0) >> 2] | 0) + 124 | 0 | 0, HEAP32[($6 + 24 | 0) >> 2] | 0 | 0) | 0, wasm2js_i32$1 = $280), HEAP16[(wasm2js_i32$0 + 10 | 0) >> 1] = wasm2js_i32$1; + $290 = HEAP32[((btAlignedObjectArray_btQuantizedBvhNode___operator_5b_5d_28int_29_20const($8 + 124 | 0 | 0, HEAP32[($6 + 24 | 0) >> 2] | 0 | 0) | 0) + 12 | 0) >> 2] | 0; + (wasm2js_i32$0 = btAlignedObjectArray_btQuantizedBvhNode___operator_5b_5d_28int_29((HEAP32[($6 + 44 | 0) >> 2] | 0) + 124 | 0 | 0, HEAP32[($6 + 24 | 0) >> 2] | 0 | 0) | 0, wasm2js_i32$1 = $290), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($6 + 24 | 0) >> 2] = (HEAP32[($6 + 24 | 0) >> 2] | 0) + 1 | 0; + continue label$11; + }; + } + } + HEAP32[($6 + 40 | 0) >> 2] = (HEAP32[($6 + 40 | 0) >> 2] | 0) + ((HEAP32[($6 + 32 | 0) >> 2] | 0) << 4 | 0) | 0; + $307 = 0; + btAlignedObjectArray_btQuantizedBvhNode___initializeFromBuffer_28void__2c_20int_2c_20int_29((HEAP32[($6 + 44 | 0) >> 2] | 0) + 124 | 0 | 0, $307 | 0, $307 | 0, $307 | 0); + break label$4; + } + btAlignedObjectArray_btOptimizedBvhNode___initializeFromBuffer_28void__2c_20int_2c_20int_29((HEAP32[($6 + 44 | 0) >> 2] | 0) + 84 | 0 | 0, HEAP32[($6 + 40 | 0) >> 2] | 0 | 0, HEAP32[($6 + 32 | 0) >> 2] | 0 | 0, HEAP32[($6 + 32 | 0) >> 2] | 0 | 0); + label$12 : { + label$13 : { + if (!((HEAPU8[($6 + 51 | 0) >> 0] | 0) & 1 | 0)) { + break label$13 + } + HEAP32[($6 + 20 | 0) >> 2] = 0; + label$14 : { + label$15 : while (1) { + if (!((HEAP32[($6 + 20 | 0) >> 2] | 0 | 0) < (HEAP32[($6 + 32 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$14 + } + btSwapVector3Endian_28btVector3_20const__2c_20btVector3__29(btAlignedObjectArray_btOptimizedBvhNode___operator_5b_5d_28int_29_20const($8 + 84 | 0 | 0, HEAP32[($6 + 20 | 0) >> 2] | 0 | 0) | 0 | 0, btAlignedObjectArray_btOptimizedBvhNode___operator_5b_5d_28int_29((HEAP32[($6 + 44 | 0) >> 2] | 0) + 84 | 0 | 0, HEAP32[($6 + 20 | 0) >> 2] | 0 | 0) | 0 | 0); + btSwapVector3Endian_28btVector3_20const__2c_20btVector3__29((btAlignedObjectArray_btOptimizedBvhNode___operator_5b_5d_28int_29_20const($8 + 84 | 0 | 0, HEAP32[($6 + 20 | 0) >> 2] | 0 | 0) | 0) + 16 | 0 | 0, (btAlignedObjectArray_btOptimizedBvhNode___operator_5b_5d_28int_29((HEAP32[($6 + 44 | 0) >> 2] | 0) + 84 | 0 | 0, HEAP32[($6 + 20 | 0) >> 2] | 0 | 0) | 0) + 16 | 0 | 0); + $352 = btSwapEndian_28int_29(HEAP32[((btAlignedObjectArray_btOptimizedBvhNode___operator_5b_5d_28int_29_20const($8 + 84 | 0 | 0, HEAP32[($6 + 20 | 0) >> 2] | 0 | 0) | 0) + 32 | 0) >> 2] | 0 | 0) | 0; + (wasm2js_i32$0 = btAlignedObjectArray_btOptimizedBvhNode___operator_5b_5d_28int_29((HEAP32[($6 + 44 | 0) >> 2] | 0) + 84 | 0 | 0, HEAP32[($6 + 20 | 0) >> 2] | 0 | 0) | 0, wasm2js_i32$1 = $352), HEAP32[(wasm2js_i32$0 + 32 | 0) >> 2] = wasm2js_i32$1; + $363 = btSwapEndian_28int_29(HEAP32[((btAlignedObjectArray_btOptimizedBvhNode___operator_5b_5d_28int_29_20const($8 + 84 | 0 | 0, HEAP32[($6 + 20 | 0) >> 2] | 0 | 0) | 0) + 36 | 0) >> 2] | 0 | 0) | 0; + (wasm2js_i32$0 = btAlignedObjectArray_btOptimizedBvhNode___operator_5b_5d_28int_29((HEAP32[($6 + 44 | 0) >> 2] | 0) + 84 | 0 | 0, HEAP32[($6 + 20 | 0) >> 2] | 0 | 0) | 0, wasm2js_i32$1 = $363), HEAP32[(wasm2js_i32$0 + 36 | 0) >> 2] = wasm2js_i32$1; + $374 = btSwapEndian_28int_29(HEAP32[((btAlignedObjectArray_btOptimizedBvhNode___operator_5b_5d_28int_29_20const($8 + 84 | 0 | 0, HEAP32[($6 + 20 | 0) >> 2] | 0 | 0) | 0) + 40 | 0) >> 2] | 0 | 0) | 0; + (wasm2js_i32$0 = btAlignedObjectArray_btOptimizedBvhNode___operator_5b_5d_28int_29((HEAP32[($6 + 44 | 0) >> 2] | 0) + 84 | 0 | 0, HEAP32[($6 + 20 | 0) >> 2] | 0 | 0) | 0, wasm2js_i32$1 = $374), HEAP32[(wasm2js_i32$0 + 40 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($6 + 20 | 0) >> 2] = (HEAP32[($6 + 20 | 0) >> 2] | 0) + 1 | 0; + continue label$15; + }; + } + break label$12; + } + HEAP32[($6 + 16 | 0) >> 2] = 0; + label$16 : { + label$17 : while (1) { + if (!((HEAP32[($6 + 16 | 0) >> 2] | 0 | 0) < (HEAP32[($6 + 32 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$16 + } + $394 = btAlignedObjectArray_btOptimizedBvhNode___operator_5b_5d_28int_29_20const($8 + 84 | 0 | 0, HEAP32[($6 + 16 | 0) >> 2] | 0 | 0) | 0; + $399 = btAlignedObjectArray_btOptimizedBvhNode___operator_5b_5d_28int_29((HEAP32[($6 + 44 | 0) >> 2] | 0) + 84 | 0 | 0, HEAP32[($6 + 16 | 0) >> 2] | 0 | 0) | 0; + i64toi32_i32$2 = $394; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $1585 = i64toi32_i32$0; + i64toi32_i32$0 = $399; + HEAP32[i64toi32_i32$0 >> 2] = $1585; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $401 = 8; + i64toi32_i32$2 = i64toi32_i32$2 + $401 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $1595 = i64toi32_i32$1; + i64toi32_i32$1 = $399 + $401 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $1595; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + $410 = (btAlignedObjectArray_btOptimizedBvhNode___operator_5b_5d_28int_29_20const($8 + 84 | 0 | 0, HEAP32[($6 + 16 | 0) >> 2] | 0 | 0) | 0) + 16 | 0; + $417 = (btAlignedObjectArray_btOptimizedBvhNode___operator_5b_5d_28int_29((HEAP32[($6 + 44 | 0) >> 2] | 0) + 84 | 0 | 0, HEAP32[($6 + 16 | 0) >> 2] | 0 | 0) | 0) + 16 | 0; + i64toi32_i32$2 = $410; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $1623 = i64toi32_i32$0; + i64toi32_i32$0 = $417; + HEAP32[i64toi32_i32$0 >> 2] = $1623; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $419 = 8; + i64toi32_i32$2 = i64toi32_i32$2 + $419 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $1633 = i64toi32_i32$1; + i64toi32_i32$1 = $417 + $419 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $1633; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + $427 = HEAP32[((btAlignedObjectArray_btOptimizedBvhNode___operator_5b_5d_28int_29_20const($8 + 84 | 0 | 0, HEAP32[($6 + 16 | 0) >> 2] | 0 | 0) | 0) + 32 | 0) >> 2] | 0; + (wasm2js_i32$0 = btAlignedObjectArray_btOptimizedBvhNode___operator_5b_5d_28int_29((HEAP32[($6 + 44 | 0) >> 2] | 0) + 84 | 0 | 0, HEAP32[($6 + 16 | 0) >> 2] | 0 | 0) | 0, wasm2js_i32$1 = $427), HEAP32[(wasm2js_i32$0 + 32 | 0) >> 2] = wasm2js_i32$1; + $437 = HEAP32[((btAlignedObjectArray_btOptimizedBvhNode___operator_5b_5d_28int_29_20const($8 + 84 | 0 | 0, HEAP32[($6 + 16 | 0) >> 2] | 0 | 0) | 0) + 36 | 0) >> 2] | 0; + (wasm2js_i32$0 = btAlignedObjectArray_btOptimizedBvhNode___operator_5b_5d_28int_29((HEAP32[($6 + 44 | 0) >> 2] | 0) + 84 | 0 | 0, HEAP32[($6 + 16 | 0) >> 2] | 0 | 0) | 0, wasm2js_i32$1 = $437), HEAP32[(wasm2js_i32$0 + 36 | 0) >> 2] = wasm2js_i32$1; + $447 = HEAP32[((btAlignedObjectArray_btOptimizedBvhNode___operator_5b_5d_28int_29_20const($8 + 84 | 0 | 0, HEAP32[($6 + 16 | 0) >> 2] | 0 | 0) | 0) + 40 | 0) >> 2] | 0; + (wasm2js_i32$0 = btAlignedObjectArray_btOptimizedBvhNode___operator_5b_5d_28int_29((HEAP32[($6 + 44 | 0) >> 2] | 0) + 84 | 0 | 0, HEAP32[($6 + 16 | 0) >> 2] | 0 | 0) | 0, wasm2js_i32$1 = $447), HEAP32[(wasm2js_i32$0 + 40 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($6 + 16 | 0) >> 2] = (HEAP32[($6 + 16 | 0) >> 2] | 0) + 1 | 0; + continue label$17; + }; + } + } + HEAP32[($6 + 40 | 0) >> 2] = (HEAP32[($6 + 40 | 0) >> 2] | 0) + ((HEAP32[($6 + 32 | 0) >> 2] | 0) << 6 | 0) | 0; + $464 = 0; + btAlignedObjectArray_btOptimizedBvhNode___initializeFromBuffer_28void__2c_20int_2c_20int_29((HEAP32[($6 + 44 | 0) >> 2] | 0) + 84 | 0 | 0, $464 | 0, $464 | 0, $464 | 0); + } + HEAP32[($6 + 36 | 0) >> 2] = 0; + HEAP32[($6 + 40 | 0) >> 2] = (HEAP32[($6 + 40 | 0) >> 2] | 0) + (HEAP32[($6 + 36 | 0) >> 2] | 0) | 0; + btAlignedObjectArray_btBvhSubtreeInfo___initializeFromBuffer_28void__2c_20int_2c_20int_29((HEAP32[($6 + 44 | 0) >> 2] | 0) + 148 | 0 | 0, HEAP32[($6 + 40 | 0) >> 2] | 0 | 0, HEAP32[($8 + 168 | 0) >> 2] | 0 | 0, HEAP32[($8 + 168 | 0) >> 2] | 0 | 0); + label$18 : { + label$19 : { + if (!((HEAPU8[($6 + 51 | 0) >> 0] | 0) & 1 | 0)) { + break label$19 + } + HEAP32[($6 + 12 | 0) >> 2] = 0; + label$20 : { + label$21 : while (1) { + if (!((HEAP32[($6 + 12 | 0) >> 2] | 0 | 0) < (HEAP32[($8 + 168 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$20 + } + $493 = btSwapEndian_28unsigned_20short_29((HEAPU16[(btAlignedObjectArray_btBvhSubtreeInfo___operator_5b_5d_28int_29_20const($8 + 148 | 0 | 0, HEAP32[($6 + 12 | 0) >> 2] | 0 | 0) | 0) >> 1] | 0) & 65535 | 0 | 0) | 0; + (wasm2js_i32$0 = btAlignedObjectArray_btBvhSubtreeInfo___operator_5b_5d_28int_29((HEAP32[($6 + 44 | 0) >> 2] | 0) + 148 | 0 | 0, HEAP32[($6 + 12 | 0) >> 2] | 0 | 0) | 0, wasm2js_i32$1 = $493), HEAP16[wasm2js_i32$0 >> 1] = wasm2js_i32$1; + $506 = btSwapEndian_28unsigned_20short_29((HEAPU16[((btAlignedObjectArray_btBvhSubtreeInfo___operator_5b_5d_28int_29_20const($8 + 148 | 0 | 0, HEAP32[($6 + 12 | 0) >> 2] | 0 | 0) | 0) + 2 | 0) >> 1] | 0) & 65535 | 0 | 0) | 0; + (wasm2js_i32$0 = btAlignedObjectArray_btBvhSubtreeInfo___operator_5b_5d_28int_29((HEAP32[($6 + 44 | 0) >> 2] | 0) + 148 | 0 | 0, HEAP32[($6 + 12 | 0) >> 2] | 0 | 0) | 0, wasm2js_i32$1 = $506), HEAP16[(wasm2js_i32$0 + 2 | 0) >> 1] = wasm2js_i32$1; + $519 = btSwapEndian_28unsigned_20short_29((HEAPU16[((btAlignedObjectArray_btBvhSubtreeInfo___operator_5b_5d_28int_29_20const($8 + 148 | 0 | 0, HEAP32[($6 + 12 | 0) >> 2] | 0 | 0) | 0) + 4 | 0) >> 1] | 0) & 65535 | 0 | 0) | 0; + (wasm2js_i32$0 = btAlignedObjectArray_btBvhSubtreeInfo___operator_5b_5d_28int_29((HEAP32[($6 + 44 | 0) >> 2] | 0) + 148 | 0 | 0, HEAP32[($6 + 12 | 0) >> 2] | 0 | 0) | 0, wasm2js_i32$1 = $519), HEAP16[(wasm2js_i32$0 + 4 | 0) >> 1] = wasm2js_i32$1; + $532 = btSwapEndian_28unsigned_20short_29((HEAPU16[((btAlignedObjectArray_btBvhSubtreeInfo___operator_5b_5d_28int_29_20const($8 + 148 | 0 | 0, HEAP32[($6 + 12 | 0) >> 2] | 0 | 0) | 0) + 6 | 0) >> 1] | 0) & 65535 | 0 | 0) | 0; + (wasm2js_i32$0 = btAlignedObjectArray_btBvhSubtreeInfo___operator_5b_5d_28int_29((HEAP32[($6 + 44 | 0) >> 2] | 0) + 148 | 0 | 0, HEAP32[($6 + 12 | 0) >> 2] | 0 | 0) | 0, wasm2js_i32$1 = $532), HEAP16[(wasm2js_i32$0 + 6 | 0) >> 1] = wasm2js_i32$1; + $545 = btSwapEndian_28unsigned_20short_29((HEAPU16[((btAlignedObjectArray_btBvhSubtreeInfo___operator_5b_5d_28int_29_20const($8 + 148 | 0 | 0, HEAP32[($6 + 12 | 0) >> 2] | 0 | 0) | 0) + 8 | 0) >> 1] | 0) & 65535 | 0 | 0) | 0; + (wasm2js_i32$0 = btAlignedObjectArray_btBvhSubtreeInfo___operator_5b_5d_28int_29((HEAP32[($6 + 44 | 0) >> 2] | 0) + 148 | 0 | 0, HEAP32[($6 + 12 | 0) >> 2] | 0 | 0) | 0, wasm2js_i32$1 = $545), HEAP16[(wasm2js_i32$0 + 8 | 0) >> 1] = wasm2js_i32$1; + $558 = btSwapEndian_28unsigned_20short_29((HEAPU16[((btAlignedObjectArray_btBvhSubtreeInfo___operator_5b_5d_28int_29_20const($8 + 148 | 0 | 0, HEAP32[($6 + 12 | 0) >> 2] | 0 | 0) | 0) + 10 | 0) >> 1] | 0) & 65535 | 0 | 0) | 0; + (wasm2js_i32$0 = btAlignedObjectArray_btBvhSubtreeInfo___operator_5b_5d_28int_29((HEAP32[($6 + 44 | 0) >> 2] | 0) + 148 | 0 | 0, HEAP32[($6 + 12 | 0) >> 2] | 0 | 0) | 0, wasm2js_i32$1 = $558), HEAP16[(wasm2js_i32$0 + 10 | 0) >> 1] = wasm2js_i32$1; + $569 = btSwapEndian_28int_29(HEAP32[((btAlignedObjectArray_btBvhSubtreeInfo___operator_5b_5d_28int_29_20const($8 + 148 | 0 | 0, HEAP32[($6 + 12 | 0) >> 2] | 0 | 0) | 0) + 12 | 0) >> 2] | 0 | 0) | 0; + (wasm2js_i32$0 = btAlignedObjectArray_btBvhSubtreeInfo___operator_5b_5d_28int_29((HEAP32[($6 + 44 | 0) >> 2] | 0) + 148 | 0 | 0, HEAP32[($6 + 12 | 0) >> 2] | 0 | 0) | 0, wasm2js_i32$1 = $569), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + $580 = btSwapEndian_28int_29(HEAP32[((btAlignedObjectArray_btBvhSubtreeInfo___operator_5b_5d_28int_29_20const($8 + 148 | 0 | 0, HEAP32[($6 + 12 | 0) >> 2] | 0 | 0) | 0) + 16 | 0) >> 2] | 0 | 0) | 0; + (wasm2js_i32$0 = btAlignedObjectArray_btBvhSubtreeInfo___operator_5b_5d_28int_29((HEAP32[($6 + 44 | 0) >> 2] | 0) + 148 | 0 | 0, HEAP32[($6 + 12 | 0) >> 2] | 0 | 0) | 0, wasm2js_i32$1 = $580), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($6 + 12 | 0) >> 2] = (HEAP32[($6 + 12 | 0) >> 2] | 0) + 1 | 0; + continue label$21; + }; + } + break label$18; + } + HEAP32[($6 + 8 | 0) >> 2] = 0; + label$22 : { + label$23 : while (1) { + if (!((HEAP32[($6 + 8 | 0) >> 2] | 0 | 0) < (HEAP32[($8 + 168 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$22 + } + $601 = HEAPU16[(btAlignedObjectArray_btBvhSubtreeInfo___operator_5b_5d_28int_29_20const($8 + 148 | 0 | 0, HEAP32[($6 + 8 | 0) >> 2] | 0 | 0) | 0) >> 1] | 0; + (wasm2js_i32$0 = btAlignedObjectArray_btBvhSubtreeInfo___operator_5b_5d_28int_29((HEAP32[($6 + 44 | 0) >> 2] | 0) + 148 | 0 | 0, HEAP32[($6 + 8 | 0) >> 2] | 0 | 0) | 0, wasm2js_i32$1 = $601), HEAP16[wasm2js_i32$0 >> 1] = wasm2js_i32$1; + $611 = HEAPU16[((btAlignedObjectArray_btBvhSubtreeInfo___operator_5b_5d_28int_29_20const($8 + 148 | 0 | 0, HEAP32[($6 + 8 | 0) >> 2] | 0 | 0) | 0) + 2 | 0) >> 1] | 0; + (wasm2js_i32$0 = btAlignedObjectArray_btBvhSubtreeInfo___operator_5b_5d_28int_29((HEAP32[($6 + 44 | 0) >> 2] | 0) + 148 | 0 | 0, HEAP32[($6 + 8 | 0) >> 2] | 0 | 0) | 0, wasm2js_i32$1 = $611), HEAP16[(wasm2js_i32$0 + 2 | 0) >> 1] = wasm2js_i32$1; + $621 = HEAPU16[((btAlignedObjectArray_btBvhSubtreeInfo___operator_5b_5d_28int_29_20const($8 + 148 | 0 | 0, HEAP32[($6 + 8 | 0) >> 2] | 0 | 0) | 0) + 4 | 0) >> 1] | 0; + (wasm2js_i32$0 = btAlignedObjectArray_btBvhSubtreeInfo___operator_5b_5d_28int_29((HEAP32[($6 + 44 | 0) >> 2] | 0) + 148 | 0 | 0, HEAP32[($6 + 8 | 0) >> 2] | 0 | 0) | 0, wasm2js_i32$1 = $621), HEAP16[(wasm2js_i32$0 + 4 | 0) >> 1] = wasm2js_i32$1; + $631 = HEAPU16[((btAlignedObjectArray_btBvhSubtreeInfo___operator_5b_5d_28int_29_20const($8 + 148 | 0 | 0, HEAP32[($6 + 8 | 0) >> 2] | 0 | 0) | 0) + 6 | 0) >> 1] | 0; + (wasm2js_i32$0 = btAlignedObjectArray_btBvhSubtreeInfo___operator_5b_5d_28int_29((HEAP32[($6 + 44 | 0) >> 2] | 0) + 148 | 0 | 0, HEAP32[($6 + 8 | 0) >> 2] | 0 | 0) | 0, wasm2js_i32$1 = $631), HEAP16[(wasm2js_i32$0 + 6 | 0) >> 1] = wasm2js_i32$1; + $641 = HEAPU16[((btAlignedObjectArray_btBvhSubtreeInfo___operator_5b_5d_28int_29_20const($8 + 148 | 0 | 0, HEAP32[($6 + 8 | 0) >> 2] | 0 | 0) | 0) + 8 | 0) >> 1] | 0; + (wasm2js_i32$0 = btAlignedObjectArray_btBvhSubtreeInfo___operator_5b_5d_28int_29((HEAP32[($6 + 44 | 0) >> 2] | 0) + 148 | 0 | 0, HEAP32[($6 + 8 | 0) >> 2] | 0 | 0) | 0, wasm2js_i32$1 = $641), HEAP16[(wasm2js_i32$0 + 8 | 0) >> 1] = wasm2js_i32$1; + $651 = HEAPU16[((btAlignedObjectArray_btBvhSubtreeInfo___operator_5b_5d_28int_29_20const($8 + 148 | 0 | 0, HEAP32[($6 + 8 | 0) >> 2] | 0 | 0) | 0) + 10 | 0) >> 1] | 0; + (wasm2js_i32$0 = btAlignedObjectArray_btBvhSubtreeInfo___operator_5b_5d_28int_29((HEAP32[($6 + 44 | 0) >> 2] | 0) + 148 | 0 | 0, HEAP32[($6 + 8 | 0) >> 2] | 0 | 0) | 0, wasm2js_i32$1 = $651), HEAP16[(wasm2js_i32$0 + 10 | 0) >> 1] = wasm2js_i32$1; + $661 = HEAP32[((btAlignedObjectArray_btBvhSubtreeInfo___operator_5b_5d_28int_29_20const($8 + 148 | 0 | 0, HEAP32[($6 + 8 | 0) >> 2] | 0 | 0) | 0) + 12 | 0) >> 2] | 0; + (wasm2js_i32$0 = btAlignedObjectArray_btBvhSubtreeInfo___operator_5b_5d_28int_29((HEAP32[($6 + 44 | 0) >> 2] | 0) + 148 | 0 | 0, HEAP32[($6 + 8 | 0) >> 2] | 0 | 0) | 0, wasm2js_i32$1 = $661), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + $671 = HEAP32[((btAlignedObjectArray_btBvhSubtreeInfo___operator_5b_5d_28int_29_20const($8 + 148 | 0 | 0, HEAP32[($6 + 8 | 0) >> 2] | 0 | 0) | 0) + 16 | 0) >> 2] | 0; + (wasm2js_i32$0 = btAlignedObjectArray_btBvhSubtreeInfo___operator_5b_5d_28int_29((HEAP32[($6 + 44 | 0) >> 2] | 0) + 148 | 0 | 0, HEAP32[($6 + 8 | 0) >> 2] | 0 | 0) | 0, wasm2js_i32$1 = $671), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = btAlignedObjectArray_btBvhSubtreeInfo___operator_5b_5d_28int_29((HEAP32[($6 + 44 | 0) >> 2] | 0) + 148 | 0 | 0, HEAP32[($6 + 8 | 0) >> 2] | 0 | 0) | 0, wasm2js_i32$1 = 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = btAlignedObjectArray_btBvhSubtreeInfo___operator_5b_5d_28int_29((HEAP32[($6 + 44 | 0) >> 2] | 0) + 148 | 0 | 0, HEAP32[($6 + 8 | 0) >> 2] | 0 | 0) | 0, wasm2js_i32$1 = 0), HEAP32[(wasm2js_i32$0 + 24 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = btAlignedObjectArray_btBvhSubtreeInfo___operator_5b_5d_28int_29((HEAP32[($6 + 44 | 0) >> 2] | 0) + 148 | 0 | 0, HEAP32[($6 + 8 | 0) >> 2] | 0 | 0) | 0, wasm2js_i32$1 = 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($6 + 8 | 0) >> 2] = (HEAP32[($6 + 8 | 0) >> 2] | 0) + 1 | 0; + continue label$23; + }; + } + } + HEAP32[($6 + 40 | 0) >> 2] = (HEAP32[($6 + 40 | 0) >> 2] | 0) + ((HEAP32[($8 + 168 | 0) >> 2] | 0) << 5 | 0) | 0; + $706 = 0; + btAlignedObjectArray_btBvhSubtreeInfo___initializeFromBuffer_28void__2c_20int_2c_20int_29((HEAP32[($6 + 44 | 0) >> 2] | 0) + 148 | 0 | 0, $706 | 0, $706 | 0, $706 | 0); + HEAP32[(HEAP32[($6 + 56 | 0) >> 2] | 0) >> 2] = 0; + __stack_pointer = $6 + 64 | 0; + return 1 & 1 | 0 | 0; + } + + function btQuantizedBvh__operator_20new_28unsigned_20long_2c_20void__29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0; + $4 = __stack_pointer - 16 | 0; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + return HEAP32[($4 + 8 | 0) >> 2] | 0 | 0; + } + + function btSwapEndian_28int_29($0) { + $0 = $0 | 0; + var $3 = 0, $5 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $5 = btSwapEndian_28unsigned_20int_29(HEAP32[($3 + 12 | 0) >> 2] | 0 | 0) | 0; + __stack_pointer = $3 + 16 | 0; + return $5 | 0; + } + + function btSwapVector3Endian_28btVector3_20const__2c_20btVector3__29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0; + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + HEAP32[($4 + 4 | 0) >> 2] = 0; + label$1 : { + label$2 : while (1) { + if (!((HEAP32[($4 + 4 | 0) >> 2] | 0 | 0) < (4 | 0) & 1 | 0)) { + break label$1 + } + btSwapScalarEndian_28float_20const__2c_20float__29((btVector3__operator_20float_20const__28_29_20const(HEAP32[($4 + 12 | 0) >> 2] | 0 | 0) | 0) + ((HEAP32[($4 + 4 | 0) >> 2] | 0) << 2 | 0) | 0 | 0, (btVector3__operator_20float__28_29(HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) | 0) + ((HEAP32[($4 + 4 | 0) >> 2] | 0) << 2 | 0) | 0 | 0); + HEAP32[($4 + 4 | 0) >> 2] = (HEAP32[($4 + 4 | 0) >> 2] | 0) + 1 | 0; + continue label$2; + }; + } + __stack_pointer = $4 + 16 | 0; + return; + } + + function btAlignedObjectArray_btQuantizedBvhNode___initializeFromBuffer_28void__2c_20int_2c_20int_29($0, $1, $2, $3) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + var $6 = 0, $7 = 0; + $6 = __stack_pointer - 16 | 0; + __stack_pointer = $6; + HEAP32[($6 + 12 | 0) >> 2] = $0; + HEAP32[($6 + 8 | 0) >> 2] = $1; + HEAP32[($6 + 4 | 0) >> 2] = $2; + HEAP32[$6 >> 2] = $3; + $7 = HEAP32[($6 + 12 | 0) >> 2] | 0; + btAlignedObjectArray_btQuantizedBvhNode___clear_28_29($7 | 0); + HEAP8[($7 + 16 | 0) >> 0] = 0; + HEAP32[($7 + 12 | 0) >> 2] = HEAP32[($6 + 8 | 0) >> 2] | 0; + HEAP32[($7 + 4 | 0) >> 2] = HEAP32[($6 + 4 | 0) >> 2] | 0; + HEAP32[($7 + 8 | 0) >> 2] = HEAP32[$6 >> 2] | 0; + __stack_pointer = $6 + 16 | 0; + return; + } + + function btSwapEndian_28unsigned_20short_29($0) { + $0 = $0 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP16[($3 + 14 | 0) >> 1] = $0; + return ((((HEAPU16[($3 + 14 | 0) >> 1] | 0) & 65535 | 0) & 65280 | 0) >> 8 | 0 | ((((HEAPU16[($3 + 14 | 0) >> 1] | 0) & 65535 | 0) & 255 | 0) << 8 | 0) | 0) & 65535 | 0 | 0; + } + + function btAlignedObjectArray_btOptimizedBvhNode___initializeFromBuffer_28void__2c_20int_2c_20int_29($0, $1, $2, $3) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + var $6 = 0, $7 = 0; + $6 = __stack_pointer - 16 | 0; + __stack_pointer = $6; + HEAP32[($6 + 12 | 0) >> 2] = $0; + HEAP32[($6 + 8 | 0) >> 2] = $1; + HEAP32[($6 + 4 | 0) >> 2] = $2; + HEAP32[$6 >> 2] = $3; + $7 = HEAP32[($6 + 12 | 0) >> 2] | 0; + btAlignedObjectArray_btOptimizedBvhNode___clear_28_29($7 | 0); + HEAP8[($7 + 16 | 0) >> 0] = 0; + HEAP32[($7 + 12 | 0) >> 2] = HEAP32[($6 + 8 | 0) >> 2] | 0; + HEAP32[($7 + 4 | 0) >> 2] = HEAP32[($6 + 4 | 0) >> 2] | 0; + HEAP32[($7 + 8 | 0) >> 2] = HEAP32[$6 >> 2] | 0; + __stack_pointer = $6 + 16 | 0; + return; + } + + function btAlignedObjectArray_btBvhSubtreeInfo___initializeFromBuffer_28void__2c_20int_2c_20int_29($0, $1, $2, $3) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + var $6 = 0, $7 = 0; + $6 = __stack_pointer - 16 | 0; + __stack_pointer = $6; + HEAP32[($6 + 12 | 0) >> 2] = $0; + HEAP32[($6 + 8 | 0) >> 2] = $1; + HEAP32[($6 + 4 | 0) >> 2] = $2; + HEAP32[$6 >> 2] = $3; + $7 = HEAP32[($6 + 12 | 0) >> 2] | 0; + btAlignedObjectArray_btBvhSubtreeInfo___clear_28_29($7 | 0); + HEAP8[($7 + 16 | 0) >> 0] = 0; + HEAP32[($7 + 12 | 0) >> 2] = HEAP32[($6 + 8 | 0) >> 2] | 0; + HEAP32[($7 + 4 | 0) >> 2] = HEAP32[($6 + 4 | 0) >> 2] | 0; + HEAP32[($7 + 8 | 0) >> 2] = HEAP32[$6 >> 2] | 0; + __stack_pointer = $6 + 16 | 0; + return; + } + + function btAlignedObjectArray_btBvhSubtreeInfo___operator_5b_5d_28int_29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, $5 = 0, $32 = 0; + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; + label$1 : { + if ((HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0) { + break label$1 + } + __assert_fail(85840 | 0, 78192 | 0, 183 | 0, 83901 | 0); + wasm2js_trap(); + } + label$2 : { + if ((HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) < (btAlignedObjectArray_btBvhSubtreeInfo___size_28_29_20const($5 | 0) | 0 | 0) & 1 | 0) { + break label$2 + } + __assert_fail(87321 | 0, 78192 | 0, 184 | 0, 83901 | 0); + wasm2js_trap(); + } + $32 = (HEAP32[($5 + 12 | 0) >> 2] | 0) + ((HEAP32[($4 + 8 | 0) >> 2] | 0) << 5 | 0) | 0; + __stack_pointer = $4 + 16 | 0; + return $32 | 0; + } + + function btSwapEndian_28unsigned_20int_29($0) { + $0 = $0 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + return ((HEAP32[($3 + 12 | 0) >> 2] | 0) & -16777216 | 0) >>> 24 | 0 | (((HEAP32[($3 + 12 | 0) >> 2] | 0) & 16711680 | 0) >>> 8 | 0) | 0 | (((HEAP32[($3 + 12 | 0) >> 2] | 0) & 65280 | 0) << 8 | 0) | 0 | (((HEAP32[($3 + 12 | 0) >> 2] | 0) & 255 | 0) << 24 | 0) | 0 | 0; + } + + function btSwapScalarEndian_28float_20const__2c_20float__29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0; + $4 = __stack_pointer - 16 | 0; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + HEAP32[($4 + 4 | 0) >> 2] = HEAP32[($4 + 8 | 0) >> 2] | 0; + HEAP32[$4 >> 2] = HEAP32[($4 + 12 | 0) >> 2] | 0; + HEAP8[(HEAP32[($4 + 4 | 0) >> 2] | 0) >> 0] = HEAPU8[((HEAP32[$4 >> 2] | 0) + 3 | 0) >> 0] | 0; + HEAP8[((HEAP32[($4 + 4 | 0) >> 2] | 0) + 1 | 0) >> 0] = HEAPU8[((HEAP32[$4 >> 2] | 0) + 2 | 0) >> 0] | 0; + HEAP8[((HEAP32[($4 + 4 | 0) >> 2] | 0) + 2 | 0) >> 0] = HEAPU8[((HEAP32[$4 >> 2] | 0) + 1 | 0) >> 0] | 0; + HEAP8[((HEAP32[($4 + 4 | 0) >> 2] | 0) + 3 | 0) >> 0] = HEAPU8[(HEAP32[$4 >> 2] | 0) >> 0] | 0; + return; + } + + function btQuantizedBvh__deSerializeFloat_28btQuantizedBvhFloatData__29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, $5 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, $36 = 0, $111 = 0, $33 = 0, $81 = 0, $87 = 0, $93 = 0, $108 = 0, $127 = 0, $133 = 0, $139 = 0, $145 = 0, $151 = 0, $157 = 0, $163 = 0, $180 = 0, $199 = 0, $205 = 0, $211 = 0, $217 = 0, $223 = 0, $229 = 0, $235 = 0, $241 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4 = __stack_pointer - 176 | 0; + __stack_pointer = $4; + HEAP32[($4 + 172 | 0) >> 2] = $0; + HEAP32[($4 + 168 | 0) >> 2] = $1; + $5 = HEAP32[($4 + 172 | 0) >> 2] | 0; + btVector3__deSerializeFloat_28btVector3FloatData_20const__29($5 + 20 | 0 | 0, (HEAP32[($4 + 168 | 0) >> 2] | 0) + 16 | 0 | 0); + btVector3__deSerializeFloat_28btVector3FloatData_20const__29($5 + 4 | 0 | 0, HEAP32[($4 + 168 | 0) >> 2] | 0 | 0); + btVector3__deSerializeFloat_28btVector3FloatData_20const__29($5 + 36 | 0 | 0, (HEAP32[($4 + 168 | 0) >> 2] | 0) + 32 | 0 | 0); + HEAP32[($5 + 56 | 0) >> 2] = HEAP32[((HEAP32[($4 + 168 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0; + HEAP8[($5 + 60 | 0) >> 0] = (HEAP32[((HEAP32[($4 + 168 | 0) >> 2] | 0) + 52 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0; + HEAP32[($4 + 164 | 0) >> 2] = HEAP32[((HEAP32[($4 + 168 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0; + $33 = HEAP32[($4 + 164 | 0) >> 2] | 0; + i64toi32_i32$0 = 0; + $36 = 0; + i64toi32_i32$1 = $4 + 152 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $36; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $4 + 144 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $36; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $4 + 136 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $36; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $4 + 128 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $36; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $4 + 120 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $36; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $4 + 112 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $36; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $4 + 104 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $36; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $4; + HEAP32[($4 + 96 | 0) >> 2] = $36; + HEAP32[($4 + 100 | 0) >> 2] = i64toi32_i32$0; + btOptimizedBvhNode__btOptimizedBvhNode_28_29($4 + 96 | 0 | 0) | 0; + btAlignedObjectArray_btOptimizedBvhNode___resize_28int_2c_20btOptimizedBvhNode_20const__29($5 + 84 | 0 | 0, $33 | 0, $4 + 96 | 0 | 0); + label$1 : { + if (!(HEAP32[($4 + 164 | 0) >> 2] | 0)) { + break label$1 + } + HEAP32[($4 + 92 | 0) >> 2] = HEAP32[((HEAP32[($4 + 168 | 0) >> 2] | 0) + 64 | 0) >> 2] | 0; + HEAP32[($4 + 88 | 0) >> 2] = 0; + label$2 : { + label$3 : while (1) { + if (!((HEAP32[($4 + 88 | 0) >> 2] | 0 | 0) < (HEAP32[($4 + 164 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$2 + } + btVector3__deSerializeFloat_28btVector3FloatData_20const__29((btAlignedObjectArray_btOptimizedBvhNode___operator_5b_5d_28int_29($5 + 84 | 0 | 0, HEAP32[($4 + 88 | 0) >> 2] | 0 | 0) | 0) + 16 | 0 | 0, (HEAP32[($4 + 92 | 0) >> 2] | 0) + 16 | 0 | 0); + btVector3__deSerializeFloat_28btVector3FloatData_20const__29(btAlignedObjectArray_btOptimizedBvhNode___operator_5b_5d_28int_29($5 + 84 | 0 | 0, HEAP32[($4 + 88 | 0) >> 2] | 0 | 0) | 0 | 0, HEAP32[($4 + 92 | 0) >> 2] | 0 | 0); + $81 = HEAP32[((HEAP32[($4 + 92 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0; + (wasm2js_i32$0 = btAlignedObjectArray_btOptimizedBvhNode___operator_5b_5d_28int_29($5 + 84 | 0 | 0, HEAP32[($4 + 88 | 0) >> 2] | 0 | 0) | 0, wasm2js_i32$1 = $81), HEAP32[(wasm2js_i32$0 + 32 | 0) >> 2] = wasm2js_i32$1; + $87 = HEAP32[((HEAP32[($4 + 92 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0; + (wasm2js_i32$0 = btAlignedObjectArray_btOptimizedBvhNode___operator_5b_5d_28int_29($5 + 84 | 0 | 0, HEAP32[($4 + 88 | 0) >> 2] | 0 | 0) | 0, wasm2js_i32$1 = $87), HEAP32[(wasm2js_i32$0 + 36 | 0) >> 2] = wasm2js_i32$1; + $93 = HEAP32[((HEAP32[($4 + 92 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0; + (wasm2js_i32$0 = btAlignedObjectArray_btOptimizedBvhNode___operator_5b_5d_28int_29($5 + 84 | 0 | 0, HEAP32[($4 + 88 | 0) >> 2] | 0 | 0) | 0, wasm2js_i32$1 = $93), HEAP32[(wasm2js_i32$0 + 40 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($4 + 88 | 0) >> 2] = (HEAP32[($4 + 88 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($4 + 92 | 0) >> 2] = (HEAP32[($4 + 92 | 0) >> 2] | 0) + 48 | 0; + continue label$3; + }; + } + } + HEAP32[($4 + 84 | 0) >> 2] = HEAP32[((HEAP32[($4 + 168 | 0) >> 2] | 0) + 60 | 0) >> 2] | 0; + $108 = HEAP32[($4 + 84 | 0) >> 2] | 0; + i64toi32_i32$0 = 0; + $111 = 0; + i64toi32_i32$1 = $4 + 72 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $111; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $4; + HEAP32[($4 + 64 | 0) >> 2] = $111; + HEAP32[($4 + 68 | 0) >> 2] = i64toi32_i32$0; + btAlignedObjectArray_btQuantizedBvhNode___resize_28int_2c_20btQuantizedBvhNode_20const__29($5 + 124 | 0 | 0, $108 | 0, $4 + 64 | 0 | 0); + label$4 : { + if (!(HEAP32[($4 + 84 | 0) >> 2] | 0)) { + break label$4 + } + HEAP32[($4 + 60 | 0) >> 2] = HEAP32[((HEAP32[($4 + 168 | 0) >> 2] | 0) + 68 | 0) >> 2] | 0; + HEAP32[($4 + 56 | 0) >> 2] = 0; + label$5 : { + label$6 : while (1) { + if (!((HEAP32[($4 + 56 | 0) >> 2] | 0 | 0) < (HEAP32[($4 + 84 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$5 + } + $127 = HEAP32[((HEAP32[($4 + 60 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + (wasm2js_i32$0 = btAlignedObjectArray_btQuantizedBvhNode___operator_5b_5d_28int_29($5 + 124 | 0 | 0, HEAP32[($4 + 56 | 0) >> 2] | 0 | 0) | 0, wasm2js_i32$1 = $127), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + $133 = HEAPU16[((HEAP32[($4 + 60 | 0) >> 2] | 0) + 6 | 0) >> 1] | 0; + (wasm2js_i32$0 = btAlignedObjectArray_btQuantizedBvhNode___operator_5b_5d_28int_29($5 + 124 | 0 | 0, HEAP32[($4 + 56 | 0) >> 2] | 0 | 0) | 0, wasm2js_i32$1 = $133), HEAP16[(wasm2js_i32$0 + 6 | 0) >> 1] = wasm2js_i32$1; + $139 = HEAPU16[((HEAP32[($4 + 60 | 0) >> 2] | 0) + 8 | 0) >> 1] | 0; + (wasm2js_i32$0 = btAlignedObjectArray_btQuantizedBvhNode___operator_5b_5d_28int_29($5 + 124 | 0 | 0, HEAP32[($4 + 56 | 0) >> 2] | 0 | 0) | 0, wasm2js_i32$1 = $139), HEAP16[(wasm2js_i32$0 + 8 | 0) >> 1] = wasm2js_i32$1; + $145 = HEAPU16[((HEAP32[($4 + 60 | 0) >> 2] | 0) + 10 | 0) >> 1] | 0; + (wasm2js_i32$0 = btAlignedObjectArray_btQuantizedBvhNode___operator_5b_5d_28int_29($5 + 124 | 0 | 0, HEAP32[($4 + 56 | 0) >> 2] | 0 | 0) | 0, wasm2js_i32$1 = $145), HEAP16[(wasm2js_i32$0 + 10 | 0) >> 1] = wasm2js_i32$1; + $151 = HEAPU16[(HEAP32[($4 + 60 | 0) >> 2] | 0) >> 1] | 0; + (wasm2js_i32$0 = btAlignedObjectArray_btQuantizedBvhNode___operator_5b_5d_28int_29($5 + 124 | 0 | 0, HEAP32[($4 + 56 | 0) >> 2] | 0 | 0) | 0, wasm2js_i32$1 = $151), HEAP16[wasm2js_i32$0 >> 1] = wasm2js_i32$1; + $157 = HEAPU16[((HEAP32[($4 + 60 | 0) >> 2] | 0) + 2 | 0) >> 1] | 0; + (wasm2js_i32$0 = btAlignedObjectArray_btQuantizedBvhNode___operator_5b_5d_28int_29($5 + 124 | 0 | 0, HEAP32[($4 + 56 | 0) >> 2] | 0 | 0) | 0, wasm2js_i32$1 = $157), HEAP16[(wasm2js_i32$0 + 2 | 0) >> 1] = wasm2js_i32$1; + $163 = HEAPU16[((HEAP32[($4 + 60 | 0) >> 2] | 0) + 4 | 0) >> 1] | 0; + (wasm2js_i32$0 = btAlignedObjectArray_btQuantizedBvhNode___operator_5b_5d_28int_29($5 + 124 | 0 | 0, HEAP32[($4 + 56 | 0) >> 2] | 0 | 0) | 0, wasm2js_i32$1 = $163), HEAP16[(wasm2js_i32$0 + 4 | 0) >> 1] = wasm2js_i32$1; + HEAP32[($4 + 56 | 0) >> 2] = (HEAP32[($4 + 56 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($4 + 60 | 0) >> 2] = (HEAP32[($4 + 60 | 0) >> 2] | 0) + 16 | 0; + continue label$6; + }; + } + } + HEAP32[($5 + 144 | 0) >> 2] = HEAP32[((HEAP32[($4 + 168 | 0) >> 2] | 0) + 76 | 0) >> 2] | 0; + HEAP32[($4 + 52 | 0) >> 2] = HEAP32[((HEAP32[($4 + 168 | 0) >> 2] | 0) + 80 | 0) >> 2] | 0; + $180 = HEAP32[($4 + 52 | 0) >> 2] | 0; + btBvhSubtreeInfo__btBvhSubtreeInfo_28_29($4 + 20 | 0 | 0) | 0; + btAlignedObjectArray_btBvhSubtreeInfo___resize_28int_2c_20btBvhSubtreeInfo_20const__29($5 + 148 | 0 | 0, $180 | 0, $4 + 20 | 0 | 0); + label$7 : { + if (!(HEAP32[($4 + 52 | 0) >> 2] | 0)) { + break label$7 + } + HEAP32[($4 + 16 | 0) >> 2] = HEAP32[((HEAP32[($4 + 168 | 0) >> 2] | 0) + 72 | 0) >> 2] | 0; + HEAP32[($4 + 12 | 0) >> 2] = 0; + label$8 : { + label$9 : while (1) { + if (!((HEAP32[($4 + 12 | 0) >> 2] | 0 | 0) < (HEAP32[($4 + 52 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$8 + } + $199 = HEAPU16[((HEAP32[($4 + 16 | 0) >> 2] | 0) + 14 | 0) >> 1] | 0; + (wasm2js_i32$0 = btAlignedObjectArray_btBvhSubtreeInfo___operator_5b_5d_28int_29($5 + 148 | 0 | 0, HEAP32[($4 + 12 | 0) >> 2] | 0 | 0) | 0, wasm2js_i32$1 = $199), HEAP16[(wasm2js_i32$0 + 6 | 0) >> 1] = wasm2js_i32$1; + $205 = HEAPU16[((HEAP32[($4 + 16 | 0) >> 2] | 0) + 16 | 0) >> 1] | 0; + (wasm2js_i32$0 = btAlignedObjectArray_btBvhSubtreeInfo___operator_5b_5d_28int_29($5 + 148 | 0 | 0, HEAP32[($4 + 12 | 0) >> 2] | 0 | 0) | 0, wasm2js_i32$1 = $205), HEAP16[(wasm2js_i32$0 + 8 | 0) >> 1] = wasm2js_i32$1; + $211 = HEAPU16[((HEAP32[($4 + 16 | 0) >> 2] | 0) + 18 | 0) >> 1] | 0; + (wasm2js_i32$0 = btAlignedObjectArray_btBvhSubtreeInfo___operator_5b_5d_28int_29($5 + 148 | 0 | 0, HEAP32[($4 + 12 | 0) >> 2] | 0 | 0) | 0, wasm2js_i32$1 = $211), HEAP16[(wasm2js_i32$0 + 10 | 0) >> 1] = wasm2js_i32$1; + $217 = HEAPU16[((HEAP32[($4 + 16 | 0) >> 2] | 0) + 8 | 0) >> 1] | 0; + (wasm2js_i32$0 = btAlignedObjectArray_btBvhSubtreeInfo___operator_5b_5d_28int_29($5 + 148 | 0 | 0, HEAP32[($4 + 12 | 0) >> 2] | 0 | 0) | 0, wasm2js_i32$1 = $217), HEAP16[wasm2js_i32$0 >> 1] = wasm2js_i32$1; + $223 = HEAPU16[((HEAP32[($4 + 16 | 0) >> 2] | 0) + 10 | 0) >> 1] | 0; + (wasm2js_i32$0 = btAlignedObjectArray_btBvhSubtreeInfo___operator_5b_5d_28int_29($5 + 148 | 0 | 0, HEAP32[($4 + 12 | 0) >> 2] | 0 | 0) | 0, wasm2js_i32$1 = $223), HEAP16[(wasm2js_i32$0 + 2 | 0) >> 1] = wasm2js_i32$1; + $229 = HEAPU16[((HEAP32[($4 + 16 | 0) >> 2] | 0) + 12 | 0) >> 1] | 0; + (wasm2js_i32$0 = btAlignedObjectArray_btBvhSubtreeInfo___operator_5b_5d_28int_29($5 + 148 | 0 | 0, HEAP32[($4 + 12 | 0) >> 2] | 0 | 0) | 0, wasm2js_i32$1 = $229), HEAP16[(wasm2js_i32$0 + 4 | 0) >> 1] = wasm2js_i32$1; + $235 = HEAP32[(HEAP32[($4 + 16 | 0) >> 2] | 0) >> 2] | 0; + (wasm2js_i32$0 = btAlignedObjectArray_btBvhSubtreeInfo___operator_5b_5d_28int_29($5 + 148 | 0 | 0, HEAP32[($4 + 12 | 0) >> 2] | 0 | 0) | 0, wasm2js_i32$1 = $235), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + $241 = HEAP32[((HEAP32[($4 + 16 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + (wasm2js_i32$0 = btAlignedObjectArray_btBvhSubtreeInfo___operator_5b_5d_28int_29($5 + 148 | 0 | 0, HEAP32[($4 + 12 | 0) >> 2] | 0 | 0) | 0, wasm2js_i32$1 = $241), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($4 + 12 | 0) >> 2] = (HEAP32[($4 + 12 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($4 + 16 | 0) >> 2] = (HEAP32[($4 + 16 | 0) >> 2] | 0) + 20 | 0; + continue label$9; + }; + } + } + __stack_pointer = $4 + 176 | 0; + return; + } + + function btVector3__deSerializeFloat_28btVector3FloatData_20const__29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, $5 = 0; + $4 = __stack_pointer - 16 | 0; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; + HEAP32[($4 + 4 | 0) >> 2] = 0; + label$1 : { + label$2 : while (1) { + if (!((HEAP32[($4 + 4 | 0) >> 2] | 0 | 0) < (4 | 0) & 1 | 0)) { + break label$1 + } + HEAPF32[($5 + ((HEAP32[($4 + 4 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = Math_fround(HEAPF32[((HEAP32[($4 + 8 | 0) >> 2] | 0) + ((HEAP32[($4 + 4 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2]); + HEAP32[($4 + 4 | 0) >> 2] = (HEAP32[($4 + 4 | 0) >> 2] | 0) + 1 | 0; + continue label$2; + }; + } + return; + } + + function btOptimizedBvhNode__btOptimizedBvhNode_28_29($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + btVector3__btVector3_28_29($4 | 0) | 0; + btVector3__btVector3_28_29($4 + 16 | 0 | 0) | 0; + __stack_pointer = $3 + 16 | 0; + return $4 | 0; + } + + function btAlignedObjectArray_btOptimizedBvhNode___resize_28int_2c_20btOptimizedBvhNode_20const__29($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $5 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, $48 = 0, $49 = 0, $6 = 0, $51 = 0, $55 = 0, $59 = 0, $63 = 0, $67 = 0, $71 = 0, $75 = 0, $195 = 0, $205 = 0, $215 = 0, $225 = 0, $235 = 0, $245 = 0, $255 = 0, $265 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5 = __stack_pointer - 32 | 0; + __stack_pointer = $5; + HEAP32[($5 + 28 | 0) >> 2] = $0; + HEAP32[($5 + 24 | 0) >> 2] = $1; + HEAP32[($5 + 20 | 0) >> 2] = $2; + $6 = HEAP32[($5 + 28 | 0) >> 2] | 0; + (wasm2js_i32$0 = $5, wasm2js_i32$1 = btAlignedObjectArray_btOptimizedBvhNode___size_28_29_20const($6 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + label$2 : { + if (!((HEAP32[($5 + 24 | 0) >> 2] | 0 | 0) < (HEAP32[($5 + 16 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($5 + 12 | 0) >> 2] = HEAP32[($5 + 24 | 0) >> 2] | 0; + label$3 : { + label$4 : while (1) { + if (!((HEAP32[($5 + 12 | 0) >> 2] | 0 | 0) < (HEAP32[($5 + 16 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$3 + } + HEAP32[($5 + 12 | 0) >> 2] = (HEAP32[($5 + 12 | 0) >> 2] | 0) + 1 | 0; + continue label$4; + }; + } + break label$1; + } + label$5 : { + if (!((HEAP32[($5 + 24 | 0) >> 2] | 0 | 0) > (HEAP32[($5 + 16 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$5 + } + btAlignedObjectArray_btOptimizedBvhNode___reserve_28int_29($6 | 0, HEAP32[($5 + 24 | 0) >> 2] | 0 | 0); + } + HEAP32[($5 + 8 | 0) >> 2] = HEAP32[($5 + 16 | 0) >> 2] | 0; + label$6 : { + label$7 : while (1) { + if (!((HEAP32[($5 + 8 | 0) >> 2] | 0 | 0) < (HEAP32[($5 + 24 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$6 + } + $48 = btOptimizedBvhNode__operator_20new_28unsigned_20long_2c_20void__29(64 | 0, (HEAP32[($6 + 12 | 0) >> 2] | 0) + ((HEAP32[($5 + 8 | 0) >> 2] | 0) << 6 | 0) | 0 | 0) | 0; + $49 = HEAP32[($5 + 20 | 0) >> 2] | 0; + i64toi32_i32$2 = $49; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $195 = i64toi32_i32$0; + i64toi32_i32$0 = $48; + HEAP32[i64toi32_i32$0 >> 2] = $195; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $51 = 56; + i64toi32_i32$2 = i64toi32_i32$2 + $51 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $205 = i64toi32_i32$1; + i64toi32_i32$1 = $48 + $51 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $205; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + $55 = 48; + i64toi32_i32$2 = $49 + $55 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $215 = i64toi32_i32$0; + i64toi32_i32$0 = $48 + $55 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $215; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $59 = 40; + i64toi32_i32$2 = $49 + $59 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $225 = i64toi32_i32$1; + i64toi32_i32$1 = $48 + $59 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $225; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + $63 = 32; + i64toi32_i32$2 = $49 + $63 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $235 = i64toi32_i32$0; + i64toi32_i32$0 = $48 + $63 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $235; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $67 = 24; + i64toi32_i32$2 = $49 + $67 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $245 = i64toi32_i32$1; + i64toi32_i32$1 = $48 + $67 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $245; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + $71 = 16; + i64toi32_i32$2 = $49 + $71 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $255 = i64toi32_i32$0; + i64toi32_i32$0 = $48 + $71 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $255; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $75 = 8; + i64toi32_i32$2 = $49 + $75 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $265 = i64toi32_i32$1; + i64toi32_i32$1 = $48 + $75 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $265; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($5 + 8 | 0) >> 2] = (HEAP32[($5 + 8 | 0) >> 2] | 0) + 1 | 0; + continue label$7; + }; + } + } + HEAP32[($6 + 4 | 0) >> 2] = HEAP32[($5 + 24 | 0) >> 2] | 0; + __stack_pointer = $5 + 32 | 0; + return; + } + + function btAlignedObjectArray_btBvhSubtreeInfo___resize_28int_2c_20btBvhSubtreeInfo_20const__29($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $5 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, $6 = 0, $48 = 0, $49 = 0, $51 = 0, $55 = 0, $59 = 0, $179 = 0, $189 = 0, $199 = 0, $209 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5 = __stack_pointer - 32 | 0; + __stack_pointer = $5; + HEAP32[($5 + 28 | 0) >> 2] = $0; + HEAP32[($5 + 24 | 0) >> 2] = $1; + HEAP32[($5 + 20 | 0) >> 2] = $2; + $6 = HEAP32[($5 + 28 | 0) >> 2] | 0; + (wasm2js_i32$0 = $5, wasm2js_i32$1 = btAlignedObjectArray_btBvhSubtreeInfo___size_28_29_20const($6 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + label$2 : { + if (!((HEAP32[($5 + 24 | 0) >> 2] | 0 | 0) < (HEAP32[($5 + 16 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($5 + 12 | 0) >> 2] = HEAP32[($5 + 24 | 0) >> 2] | 0; + label$3 : { + label$4 : while (1) { + if (!((HEAP32[($5 + 12 | 0) >> 2] | 0 | 0) < (HEAP32[($5 + 16 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$3 + } + HEAP32[($5 + 12 | 0) >> 2] = (HEAP32[($5 + 12 | 0) >> 2] | 0) + 1 | 0; + continue label$4; + }; + } + break label$1; + } + label$5 : { + if (!((HEAP32[($5 + 24 | 0) >> 2] | 0 | 0) > (HEAP32[($5 + 16 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$5 + } + btAlignedObjectArray_btBvhSubtreeInfo___reserve_28int_29($6 | 0, HEAP32[($5 + 24 | 0) >> 2] | 0 | 0); + } + HEAP32[($5 + 8 | 0) >> 2] = HEAP32[($5 + 16 | 0) >> 2] | 0; + label$6 : { + label$7 : while (1) { + if (!((HEAP32[($5 + 8 | 0) >> 2] | 0 | 0) < (HEAP32[($5 + 24 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$6 + } + $48 = btBvhSubtreeInfo__operator_20new_28unsigned_20long_2c_20void__29(32 | 0, (HEAP32[($6 + 12 | 0) >> 2] | 0) + ((HEAP32[($5 + 8 | 0) >> 2] | 0) << 5 | 0) | 0 | 0) | 0; + $49 = HEAP32[($5 + 20 | 0) >> 2] | 0; + i64toi32_i32$2 = $49; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $179 = i64toi32_i32$0; + i64toi32_i32$0 = $48; + HEAP32[i64toi32_i32$0 >> 2] = $179; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $51 = 24; + i64toi32_i32$2 = i64toi32_i32$2 + $51 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $189 = i64toi32_i32$1; + i64toi32_i32$1 = $48 + $51 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $189; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + $55 = 16; + i64toi32_i32$2 = $49 + $55 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $199 = i64toi32_i32$0; + i64toi32_i32$0 = $48 + $55 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $199; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $59 = 8; + i64toi32_i32$2 = $49 + $59 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $209 = i64toi32_i32$1; + i64toi32_i32$1 = $48 + $59 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $209; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($5 + 8 | 0) >> 2] = (HEAP32[($5 + 8 | 0) >> 2] | 0) + 1 | 0; + continue label$7; + }; + } + } + HEAP32[($6 + 4 | 0) >> 2] = HEAP32[($5 + 24 | 0) >> 2] | 0; + __stack_pointer = $5 + 32 | 0; + return; + } + + function btAlignedObjectArray_btOptimizedBvhNode___reserve_28int_29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, $5 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; + label$1 : { + if (!((btAlignedObjectArray_btOptimizedBvhNode___capacity_28_29_20const($5 | 0) | 0 | 0) < (HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$1 + } + (wasm2js_i32$0 = $4, wasm2js_i32$1 = btAlignedObjectArray_btOptimizedBvhNode___allocate_28int_29($5 | 0, HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + btAlignedObjectArray_btOptimizedBvhNode___copy_28int_2c_20int_2c_20btOptimizedBvhNode__29_20const($5 | 0, 0 | 0, btAlignedObjectArray_btOptimizedBvhNode___size_28_29_20const($5 | 0) | 0 | 0, HEAP32[($4 + 4 | 0) >> 2] | 0 | 0); + btAlignedObjectArray_btOptimizedBvhNode___destroy_28int_2c_20int_29($5 | 0, 0 | 0, btAlignedObjectArray_btOptimizedBvhNode___size_28_29_20const($5 | 0) | 0 | 0); + btAlignedObjectArray_btOptimizedBvhNode___deallocate_28_29($5 | 0); + HEAP8[($5 + 16 | 0) >> 0] = 1; + HEAP32[($5 + 12 | 0) >> 2] = HEAP32[($4 + 4 | 0) >> 2] | 0; + HEAP32[($5 + 8 | 0) >> 2] = HEAP32[($4 + 8 | 0) >> 2] | 0; + } + __stack_pointer = $4 + 16 | 0; + return; + } + + function btOptimizedBvhNode__operator_20new_28unsigned_20long_2c_20void__29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0; + $4 = __stack_pointer - 16 | 0; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + return HEAP32[($4 + 8 | 0) >> 2] | 0 | 0; + } + + function btQuantizedBvh__deSerializeDouble_28btQuantizedBvhDoubleData__29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, $5 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, $36 = 0, $111 = 0, $33 = 0, $81 = 0, $87 = 0, $93 = 0, $108 = 0, $127 = 0, $133 = 0, $139 = 0, $145 = 0, $151 = 0, $157 = 0, $163 = 0, $180 = 0, $199 = 0, $205 = 0, $211 = 0, $217 = 0, $223 = 0, $229 = 0, $235 = 0, $241 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4 = __stack_pointer - 176 | 0; + __stack_pointer = $4; + HEAP32[($4 + 172 | 0) >> 2] = $0; + HEAP32[($4 + 168 | 0) >> 2] = $1; + $5 = HEAP32[($4 + 172 | 0) >> 2] | 0; + btVector3__deSerializeDouble_28btVector3DoubleData_20const__29($5 + 20 | 0 | 0, (HEAP32[($4 + 168 | 0) >> 2] | 0) + 32 | 0 | 0); + btVector3__deSerializeDouble_28btVector3DoubleData_20const__29($5 + 4 | 0 | 0, HEAP32[($4 + 168 | 0) >> 2] | 0 | 0); + btVector3__deSerializeDouble_28btVector3DoubleData_20const__29($5 + 36 | 0 | 0, (HEAP32[($4 + 168 | 0) >> 2] | 0) + 64 | 0 | 0); + HEAP32[($5 + 56 | 0) >> 2] = HEAP32[((HEAP32[($4 + 168 | 0) >> 2] | 0) + 96 | 0) >> 2] | 0; + HEAP8[($5 + 60 | 0) >> 0] = (HEAP32[((HEAP32[($4 + 168 | 0) >> 2] | 0) + 100 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0; + HEAP32[($4 + 164 | 0) >> 2] = HEAP32[((HEAP32[($4 + 168 | 0) >> 2] | 0) + 104 | 0) >> 2] | 0; + $33 = HEAP32[($4 + 164 | 0) >> 2] | 0; + i64toi32_i32$0 = 0; + $36 = 0; + i64toi32_i32$1 = $4 + 152 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $36; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $4 + 144 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $36; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $4 + 136 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $36; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $4 + 128 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $36; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $4 + 120 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $36; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $4 + 112 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $36; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $4 + 104 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $36; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $4; + HEAP32[($4 + 96 | 0) >> 2] = $36; + HEAP32[($4 + 100 | 0) >> 2] = i64toi32_i32$0; + btOptimizedBvhNode__btOptimizedBvhNode_28_29($4 + 96 | 0 | 0) | 0; + btAlignedObjectArray_btOptimizedBvhNode___resize_28int_2c_20btOptimizedBvhNode_20const__29($5 + 84 | 0 | 0, $33 | 0, $4 + 96 | 0 | 0); + label$1 : { + if (!(HEAP32[($4 + 164 | 0) >> 2] | 0)) { + break label$1 + } + HEAP32[($4 + 92 | 0) >> 2] = HEAP32[((HEAP32[($4 + 168 | 0) >> 2] | 0) + 112 | 0) >> 2] | 0; + HEAP32[($4 + 88 | 0) >> 2] = 0; + label$2 : { + label$3 : while (1) { + if (!((HEAP32[($4 + 88 | 0) >> 2] | 0 | 0) < (HEAP32[($4 + 164 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$2 + } + btVector3__deSerializeDouble_28btVector3DoubleData_20const__29((btAlignedObjectArray_btOptimizedBvhNode___operator_5b_5d_28int_29($5 + 84 | 0 | 0, HEAP32[($4 + 88 | 0) >> 2] | 0 | 0) | 0) + 16 | 0 | 0, (HEAP32[($4 + 92 | 0) >> 2] | 0) + 32 | 0 | 0); + btVector3__deSerializeDouble_28btVector3DoubleData_20const__29(btAlignedObjectArray_btOptimizedBvhNode___operator_5b_5d_28int_29($5 + 84 | 0 | 0, HEAP32[($4 + 88 | 0) >> 2] | 0 | 0) | 0 | 0, HEAP32[($4 + 92 | 0) >> 2] | 0 | 0); + $81 = HEAP32[((HEAP32[($4 + 92 | 0) >> 2] | 0) + 64 | 0) >> 2] | 0; + (wasm2js_i32$0 = btAlignedObjectArray_btOptimizedBvhNode___operator_5b_5d_28int_29($5 + 84 | 0 | 0, HEAP32[($4 + 88 | 0) >> 2] | 0 | 0) | 0, wasm2js_i32$1 = $81), HEAP32[(wasm2js_i32$0 + 32 | 0) >> 2] = wasm2js_i32$1; + $87 = HEAP32[((HEAP32[($4 + 92 | 0) >> 2] | 0) + 68 | 0) >> 2] | 0; + (wasm2js_i32$0 = btAlignedObjectArray_btOptimizedBvhNode___operator_5b_5d_28int_29($5 + 84 | 0 | 0, HEAP32[($4 + 88 | 0) >> 2] | 0 | 0) | 0, wasm2js_i32$1 = $87), HEAP32[(wasm2js_i32$0 + 36 | 0) >> 2] = wasm2js_i32$1; + $93 = HEAP32[((HEAP32[($4 + 92 | 0) >> 2] | 0) + 72 | 0) >> 2] | 0; + (wasm2js_i32$0 = btAlignedObjectArray_btOptimizedBvhNode___operator_5b_5d_28int_29($5 + 84 | 0 | 0, HEAP32[($4 + 88 | 0) >> 2] | 0 | 0) | 0, wasm2js_i32$1 = $93), HEAP32[(wasm2js_i32$0 + 40 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($4 + 88 | 0) >> 2] = (HEAP32[($4 + 88 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($4 + 92 | 0) >> 2] = (HEAP32[($4 + 92 | 0) >> 2] | 0) + 80 | 0; + continue label$3; + }; + } + } + HEAP32[($4 + 84 | 0) >> 2] = HEAP32[((HEAP32[($4 + 168 | 0) >> 2] | 0) + 108 | 0) >> 2] | 0; + $108 = HEAP32[($4 + 84 | 0) >> 2] | 0; + i64toi32_i32$0 = 0; + $111 = 0; + i64toi32_i32$1 = $4 + 72 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $111; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $4; + HEAP32[($4 + 64 | 0) >> 2] = $111; + HEAP32[($4 + 68 | 0) >> 2] = i64toi32_i32$0; + btAlignedObjectArray_btQuantizedBvhNode___resize_28int_2c_20btQuantizedBvhNode_20const__29($5 + 124 | 0 | 0, $108 | 0, $4 + 64 | 0 | 0); + label$4 : { + if (!(HEAP32[($4 + 84 | 0) >> 2] | 0)) { + break label$4 + } + HEAP32[($4 + 60 | 0) >> 2] = HEAP32[((HEAP32[($4 + 168 | 0) >> 2] | 0) + 116 | 0) >> 2] | 0; + HEAP32[($4 + 56 | 0) >> 2] = 0; + label$5 : { + label$6 : while (1) { + if (!((HEAP32[($4 + 56 | 0) >> 2] | 0 | 0) < (HEAP32[($4 + 84 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$5 + } + $127 = HEAP32[((HEAP32[($4 + 60 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + (wasm2js_i32$0 = btAlignedObjectArray_btQuantizedBvhNode___operator_5b_5d_28int_29($5 + 124 | 0 | 0, HEAP32[($4 + 56 | 0) >> 2] | 0 | 0) | 0, wasm2js_i32$1 = $127), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + $133 = HEAPU16[((HEAP32[($4 + 60 | 0) >> 2] | 0) + 6 | 0) >> 1] | 0; + (wasm2js_i32$0 = btAlignedObjectArray_btQuantizedBvhNode___operator_5b_5d_28int_29($5 + 124 | 0 | 0, HEAP32[($4 + 56 | 0) >> 2] | 0 | 0) | 0, wasm2js_i32$1 = $133), HEAP16[(wasm2js_i32$0 + 6 | 0) >> 1] = wasm2js_i32$1; + $139 = HEAPU16[((HEAP32[($4 + 60 | 0) >> 2] | 0) + 8 | 0) >> 1] | 0; + (wasm2js_i32$0 = btAlignedObjectArray_btQuantizedBvhNode___operator_5b_5d_28int_29($5 + 124 | 0 | 0, HEAP32[($4 + 56 | 0) >> 2] | 0 | 0) | 0, wasm2js_i32$1 = $139), HEAP16[(wasm2js_i32$0 + 8 | 0) >> 1] = wasm2js_i32$1; + $145 = HEAPU16[((HEAP32[($4 + 60 | 0) >> 2] | 0) + 10 | 0) >> 1] | 0; + (wasm2js_i32$0 = btAlignedObjectArray_btQuantizedBvhNode___operator_5b_5d_28int_29($5 + 124 | 0 | 0, HEAP32[($4 + 56 | 0) >> 2] | 0 | 0) | 0, wasm2js_i32$1 = $145), HEAP16[(wasm2js_i32$0 + 10 | 0) >> 1] = wasm2js_i32$1; + $151 = HEAPU16[(HEAP32[($4 + 60 | 0) >> 2] | 0) >> 1] | 0; + (wasm2js_i32$0 = btAlignedObjectArray_btQuantizedBvhNode___operator_5b_5d_28int_29($5 + 124 | 0 | 0, HEAP32[($4 + 56 | 0) >> 2] | 0 | 0) | 0, wasm2js_i32$1 = $151), HEAP16[wasm2js_i32$0 >> 1] = wasm2js_i32$1; + $157 = HEAPU16[((HEAP32[($4 + 60 | 0) >> 2] | 0) + 2 | 0) >> 1] | 0; + (wasm2js_i32$0 = btAlignedObjectArray_btQuantizedBvhNode___operator_5b_5d_28int_29($5 + 124 | 0 | 0, HEAP32[($4 + 56 | 0) >> 2] | 0 | 0) | 0, wasm2js_i32$1 = $157), HEAP16[(wasm2js_i32$0 + 2 | 0) >> 1] = wasm2js_i32$1; + $163 = HEAPU16[((HEAP32[($4 + 60 | 0) >> 2] | 0) + 4 | 0) >> 1] | 0; + (wasm2js_i32$0 = btAlignedObjectArray_btQuantizedBvhNode___operator_5b_5d_28int_29($5 + 124 | 0 | 0, HEAP32[($4 + 56 | 0) >> 2] | 0 | 0) | 0, wasm2js_i32$1 = $163), HEAP16[(wasm2js_i32$0 + 4 | 0) >> 1] = wasm2js_i32$1; + HEAP32[($4 + 56 | 0) >> 2] = (HEAP32[($4 + 56 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($4 + 60 | 0) >> 2] = (HEAP32[($4 + 60 | 0) >> 2] | 0) + 16 | 0; + continue label$6; + }; + } + } + HEAP32[($5 + 144 | 0) >> 2] = HEAP32[((HEAP32[($4 + 168 | 0) >> 2] | 0) + 120 | 0) >> 2] | 0; + HEAP32[($4 + 52 | 0) >> 2] = HEAP32[((HEAP32[($4 + 168 | 0) >> 2] | 0) + 124 | 0) >> 2] | 0; + $180 = HEAP32[($4 + 52 | 0) >> 2] | 0; + btBvhSubtreeInfo__btBvhSubtreeInfo_28_29($4 + 20 | 0 | 0) | 0; + btAlignedObjectArray_btBvhSubtreeInfo___resize_28int_2c_20btBvhSubtreeInfo_20const__29($5 + 148 | 0 | 0, $180 | 0, $4 + 20 | 0 | 0); + label$7 : { + if (!(HEAP32[($4 + 52 | 0) >> 2] | 0)) { + break label$7 + } + HEAP32[($4 + 16 | 0) >> 2] = HEAP32[((HEAP32[($4 + 168 | 0) >> 2] | 0) + 128 | 0) >> 2] | 0; + HEAP32[($4 + 12 | 0) >> 2] = 0; + label$8 : { + label$9 : while (1) { + if (!((HEAP32[($4 + 12 | 0) >> 2] | 0 | 0) < (HEAP32[($4 + 52 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$8 + } + $199 = HEAPU16[((HEAP32[($4 + 16 | 0) >> 2] | 0) + 14 | 0) >> 1] | 0; + (wasm2js_i32$0 = btAlignedObjectArray_btBvhSubtreeInfo___operator_5b_5d_28int_29($5 + 148 | 0 | 0, HEAP32[($4 + 12 | 0) >> 2] | 0 | 0) | 0, wasm2js_i32$1 = $199), HEAP16[(wasm2js_i32$0 + 6 | 0) >> 1] = wasm2js_i32$1; + $205 = HEAPU16[((HEAP32[($4 + 16 | 0) >> 2] | 0) + 16 | 0) >> 1] | 0; + (wasm2js_i32$0 = btAlignedObjectArray_btBvhSubtreeInfo___operator_5b_5d_28int_29($5 + 148 | 0 | 0, HEAP32[($4 + 12 | 0) >> 2] | 0 | 0) | 0, wasm2js_i32$1 = $205), HEAP16[(wasm2js_i32$0 + 8 | 0) >> 1] = wasm2js_i32$1; + $211 = HEAPU16[((HEAP32[($4 + 16 | 0) >> 2] | 0) + 18 | 0) >> 1] | 0; + (wasm2js_i32$0 = btAlignedObjectArray_btBvhSubtreeInfo___operator_5b_5d_28int_29($5 + 148 | 0 | 0, HEAP32[($4 + 12 | 0) >> 2] | 0 | 0) | 0, wasm2js_i32$1 = $211), HEAP16[(wasm2js_i32$0 + 10 | 0) >> 1] = wasm2js_i32$1; + $217 = HEAPU16[((HEAP32[($4 + 16 | 0) >> 2] | 0) + 8 | 0) >> 1] | 0; + (wasm2js_i32$0 = btAlignedObjectArray_btBvhSubtreeInfo___operator_5b_5d_28int_29($5 + 148 | 0 | 0, HEAP32[($4 + 12 | 0) >> 2] | 0 | 0) | 0, wasm2js_i32$1 = $217), HEAP16[wasm2js_i32$0 >> 1] = wasm2js_i32$1; + $223 = HEAPU16[((HEAP32[($4 + 16 | 0) >> 2] | 0) + 10 | 0) >> 1] | 0; + (wasm2js_i32$0 = btAlignedObjectArray_btBvhSubtreeInfo___operator_5b_5d_28int_29($5 + 148 | 0 | 0, HEAP32[($4 + 12 | 0) >> 2] | 0 | 0) | 0, wasm2js_i32$1 = $223), HEAP16[(wasm2js_i32$0 + 2 | 0) >> 1] = wasm2js_i32$1; + $229 = HEAPU16[((HEAP32[($4 + 16 | 0) >> 2] | 0) + 12 | 0) >> 1] | 0; + (wasm2js_i32$0 = btAlignedObjectArray_btBvhSubtreeInfo___operator_5b_5d_28int_29($5 + 148 | 0 | 0, HEAP32[($4 + 12 | 0) >> 2] | 0 | 0) | 0, wasm2js_i32$1 = $229), HEAP16[(wasm2js_i32$0 + 4 | 0) >> 1] = wasm2js_i32$1; + $235 = HEAP32[(HEAP32[($4 + 16 | 0) >> 2] | 0) >> 2] | 0; + (wasm2js_i32$0 = btAlignedObjectArray_btBvhSubtreeInfo___operator_5b_5d_28int_29($5 + 148 | 0 | 0, HEAP32[($4 + 12 | 0) >> 2] | 0 | 0) | 0, wasm2js_i32$1 = $235), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + $241 = HEAP32[((HEAP32[($4 + 16 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + (wasm2js_i32$0 = btAlignedObjectArray_btBvhSubtreeInfo___operator_5b_5d_28int_29($5 + 148 | 0 | 0, HEAP32[($4 + 12 | 0) >> 2] | 0 | 0) | 0, wasm2js_i32$1 = $241), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($4 + 12 | 0) >> 2] = (HEAP32[($4 + 12 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($4 + 16 | 0) >> 2] = (HEAP32[($4 + 16 | 0) >> 2] | 0) + 20 | 0; + continue label$9; + }; + } + } + __stack_pointer = $4 + 176 | 0; + return; + } + + function btVector3__deSerializeDouble_28btVector3DoubleData_20const__29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, $5 = 0; + $4 = __stack_pointer - 16 | 0; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; + HEAP32[($4 + 4 | 0) >> 2] = 0; + label$1 : { + label$2 : while (1) { + if (!((HEAP32[($4 + 4 | 0) >> 2] | 0 | 0) < (4 | 0) & 1 | 0)) { + break label$1 + } + HEAPF32[($5 + ((HEAP32[($4 + 4 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = Math_fround(+HEAPF64[((HEAP32[($4 + 8 | 0) >> 2] | 0) + ((HEAP32[($4 + 4 | 0) >> 2] | 0) << 3 | 0) | 0) >> 3]); + HEAP32[($4 + 4 | 0) >> 2] = (HEAP32[($4 + 4 | 0) >> 2] | 0) + 1 | 0; + continue label$2; + }; + } + return; + } + + function btQuantizedBvh__serialize_28void__2c_20btSerializer__29_20const($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $5 = 0, $6 = 0, $34 = 0, $42 = 0, $58 = 0, $116 = 0, $133 = 0, $141 = 0, $157 = 0, $221 = 0, $240 = 0, $248 = 0, $264 = 0, $334 = 0, $29 = 0, $92 = 0, $98 = 0, $104 = 0, $128 = 0, $177 = 0, $183 = 0, $189 = 0, $195 = 0, $201 = 0, $207 = 0, $213 = 0, $235 = 0, $284 = 0, $290 = 0, $296 = 0, $302 = 0, $308 = 0, $314 = 0, $320 = 0, $326 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0, wasm2js_i32$2 = 0, wasm2js_i32$3 = 0, wasm2js_i32$4 = 0, wasm2js_i32$5 = 0; + $5 = __stack_pointer - 80 | 0; + __stack_pointer = $5; + HEAP32[($5 + 76 | 0) >> 2] = $0; + HEAP32[($5 + 72 | 0) >> 2] = $1; + HEAP32[($5 + 68 | 0) >> 2] = $2; + $6 = HEAP32[($5 + 76 | 0) >> 2] | 0; + HEAP32[($5 + 64 | 0) >> 2] = HEAP32[($5 + 72 | 0) >> 2] | 0; + btVector3__serialize_28btVector3FloatData__29_20const($6 + 20 | 0 | 0, (HEAP32[($5 + 64 | 0) >> 2] | 0) + 16 | 0 | 0); + btVector3__serialize_28btVector3FloatData__29_20const($6 + 4 | 0 | 0, HEAP32[($5 + 64 | 0) >> 2] | 0 | 0); + btVector3__serialize_28btVector3FloatData__29_20const($6 + 36 | 0 | 0, (HEAP32[($5 + 64 | 0) >> 2] | 0) + 32 | 0 | 0); + HEAP32[((HEAP32[($5 + 64 | 0) >> 2] | 0) + 48 | 0) >> 2] = HEAP32[($6 + 56 | 0) >> 2] | 0; + HEAP32[((HEAP32[($5 + 64 | 0) >> 2] | 0) + 52 | 0) >> 2] = (HEAPU8[($6 + 60 | 0) >> 0] | 0) & 1 | 0; + $29 = btAlignedObjectArray_btOptimizedBvhNode___size_28_29_20const($6 + 84 | 0 | 0) | 0; + HEAP32[((HEAP32[($5 + 64 | 0) >> 2] | 0) + 56 | 0) >> 2] = $29; + label$1 : { + label$2 : { + if (!(btAlignedObjectArray_btOptimizedBvhNode___size_28_29_20const($6 + 84 | 0 | 0) | 0)) { + break label$2 + } + $34 = HEAP32[($5 + 68 | 0) >> 2] | 0; + $42 = (((wasm2js_i32$1 = $34, wasm2js_i32$2 = btAlignedObjectArray_btOptimizedBvhNode___operator_5b_5d_28int_29_20const($6 + 84 | 0 | 0, 0 | 0) | 0), wasm2js_i32$0 = HEAP32[((HEAP32[$34 >> 2] | 0) + 28 | 0) >> 2] | 0 | 0), FUNCTION_TABLE[wasm2js_i32$0](wasm2js_i32$1 | 0, wasm2js_i32$2 | 0) | 0); + break label$1; + } + $42 = 0; + } + HEAP32[((HEAP32[($5 + 64 | 0) >> 2] | 0) + 64 | 0) >> 2] = $42; + label$3 : { + if (!((HEAP32[((HEAP32[($5 + 64 | 0) >> 2] | 0) + 64 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$3 + } + HEAP32[($5 + 60 | 0) >> 2] = 48; + (wasm2js_i32$0 = $5, wasm2js_i32$2 = btAlignedObjectArray_btOptimizedBvhNode___size_28_29_20const($6 + 84 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 56 | 0) >> 2] = wasm2js_i32$2; + $58 = HEAP32[($5 + 68 | 0) >> 2] | 0; + (wasm2js_i32$0 = $5, wasm2js_i32$2 = FUNCTION_TABLE[HEAP32[((HEAP32[$58 >> 2] | 0) + 16 | 0) >> 2] | 0 | 0]($58, HEAP32[($5 + 60 | 0) >> 2] | 0, HEAP32[($5 + 56 | 0) >> 2] | 0) | 0), HEAP32[(wasm2js_i32$0 + 52 | 0) >> 2] = wasm2js_i32$2; + HEAP32[($5 + 48 | 0) >> 2] = HEAP32[((HEAP32[($5 + 52 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + HEAP32[($5 + 44 | 0) >> 2] = 0; + label$4 : { + label$5 : while (1) { + if (!((HEAP32[($5 + 44 | 0) >> 2] | 0 | 0) < (HEAP32[($5 + 56 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$4 + } + btVector3__serialize_28btVector3FloatData__29_20const((btAlignedObjectArray_btOptimizedBvhNode___operator_5b_5d_28int_29_20const($6 + 84 | 0 | 0, HEAP32[($5 + 44 | 0) >> 2] | 0 | 0) | 0) + 16 | 0 | 0, (HEAP32[($5 + 48 | 0) >> 2] | 0) + 16 | 0 | 0); + btVector3__serialize_28btVector3FloatData__29_20const(btAlignedObjectArray_btOptimizedBvhNode___operator_5b_5d_28int_29_20const($6 + 84 | 0 | 0, HEAP32[($5 + 44 | 0) >> 2] | 0 | 0) | 0 | 0, HEAP32[($5 + 48 | 0) >> 2] | 0 | 0); + $92 = HEAP32[((btAlignedObjectArray_btOptimizedBvhNode___operator_5b_5d_28int_29_20const($6 + 84 | 0 | 0, HEAP32[($5 + 44 | 0) >> 2] | 0 | 0) | 0) + 32 | 0) >> 2] | 0; + HEAP32[((HEAP32[($5 + 48 | 0) >> 2] | 0) + 32 | 0) >> 2] = $92; + $98 = HEAP32[((btAlignedObjectArray_btOptimizedBvhNode___operator_5b_5d_28int_29_20const($6 + 84 | 0 | 0, HEAP32[($5 + 44 | 0) >> 2] | 0 | 0) | 0) + 36 | 0) >> 2] | 0; + HEAP32[((HEAP32[($5 + 48 | 0) >> 2] | 0) + 36 | 0) >> 2] = $98; + $104 = HEAP32[((btAlignedObjectArray_btOptimizedBvhNode___operator_5b_5d_28int_29_20const($6 + 84 | 0 | 0, HEAP32[($5 + 44 | 0) >> 2] | 0 | 0) | 0) + 40 | 0) >> 2] | 0; + HEAP32[((HEAP32[($5 + 48 | 0) >> 2] | 0) + 40 | 0) >> 2] = $104; + HEAP32[((HEAP32[($5 + 48 | 0) >> 2] | 0) + 44 | 0) >> 2] = 0; + HEAP32[($5 + 44 | 0) >> 2] = (HEAP32[($5 + 44 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($5 + 48 | 0) >> 2] = (HEAP32[($5 + 48 | 0) >> 2] | 0) + 48 | 0; + continue label$5; + }; + } + $116 = HEAP32[($5 + 68 | 0) >> 2] | 0; + (((((wasm2js_i32$2 = $116, wasm2js_i32$1 = HEAP32[($5 + 52 | 0) >> 2] | 0), wasm2js_i32$3 = 83676), wasm2js_i32$4 = 1497453121), wasm2js_i32$5 = btAlignedObjectArray_btOptimizedBvhNode___operator_5b_5d_28int_29_20const($6 + 84 | 0 | 0, 0 | 0) | 0), wasm2js_i32$0 = HEAP32[((HEAP32[$116 >> 2] | 0) + 20 | 0) >> 2] | 0 | 0), FUNCTION_TABLE[wasm2js_i32$0](wasm2js_i32$2 | 0, wasm2js_i32$1 | 0, wasm2js_i32$3 | 0, wasm2js_i32$4 | 0, wasm2js_i32$5 | 0); + } + $128 = btAlignedObjectArray_btQuantizedBvhNode___size_28_29_20const($6 + 124 | 0 | 0) | 0; + HEAP32[((HEAP32[($5 + 64 | 0) >> 2] | 0) + 60 | 0) >> 2] = $128; + label$6 : { + label$7 : { + if (!(btAlignedObjectArray_btQuantizedBvhNode___size_28_29_20const($6 + 124 | 0 | 0) | 0)) { + break label$7 + } + $133 = HEAP32[($5 + 68 | 0) >> 2] | 0; + $141 = (((wasm2js_i32$5 = $133, wasm2js_i32$4 = btAlignedObjectArray_btQuantizedBvhNode___operator_5b_5d_28int_29_20const($6 + 124 | 0 | 0, 0 | 0) | 0), wasm2js_i32$0 = HEAP32[((HEAP32[$133 >> 2] | 0) + 28 | 0) >> 2] | 0 | 0), FUNCTION_TABLE[wasm2js_i32$0](wasm2js_i32$5 | 0, wasm2js_i32$4 | 0) | 0); + break label$6; + } + $141 = 0; + } + HEAP32[((HEAP32[($5 + 64 | 0) >> 2] | 0) + 68 | 0) >> 2] = $141; + label$8 : { + if (!((HEAP32[((HEAP32[($5 + 64 | 0) >> 2] | 0) + 68 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$8 + } + HEAP32[($5 + 40 | 0) >> 2] = 16; + (wasm2js_i32$0 = $5, wasm2js_i32$4 = btAlignedObjectArray_btQuantizedBvhNode___size_28_29_20const($6 + 124 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 36 | 0) >> 2] = wasm2js_i32$4; + $157 = HEAP32[($5 + 68 | 0) >> 2] | 0; + (wasm2js_i32$0 = $5, wasm2js_i32$4 = FUNCTION_TABLE[HEAP32[((HEAP32[$157 >> 2] | 0) + 16 | 0) >> 2] | 0 | 0]($157, HEAP32[($5 + 40 | 0) >> 2] | 0, HEAP32[($5 + 36 | 0) >> 2] | 0) | 0), HEAP32[(wasm2js_i32$0 + 32 | 0) >> 2] = wasm2js_i32$4; + HEAP32[($5 + 28 | 0) >> 2] = HEAP32[((HEAP32[($5 + 32 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + HEAP32[($5 + 24 | 0) >> 2] = 0; + label$9 : { + label$10 : while (1) { + if (!((HEAP32[($5 + 24 | 0) >> 2] | 0 | 0) < (HEAP32[($5 + 36 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$9 + } + $177 = HEAP32[((btAlignedObjectArray_btQuantizedBvhNode___operator_5b_5d_28int_29_20const($6 + 124 | 0 | 0, HEAP32[($5 + 24 | 0) >> 2] | 0 | 0) | 0) + 12 | 0) >> 2] | 0; + HEAP32[((HEAP32[($5 + 28 | 0) >> 2] | 0) + 12 | 0) >> 2] = $177; + $183 = HEAPU16[((btAlignedObjectArray_btQuantizedBvhNode___operator_5b_5d_28int_29_20const($6 + 124 | 0 | 0, HEAP32[($5 + 24 | 0) >> 2] | 0 | 0) | 0) + 6 | 0) >> 1] | 0; + HEAP16[((HEAP32[($5 + 28 | 0) >> 2] | 0) + 6 | 0) >> 1] = $183; + $189 = HEAPU16[((btAlignedObjectArray_btQuantizedBvhNode___operator_5b_5d_28int_29_20const($6 + 124 | 0 | 0, HEAP32[($5 + 24 | 0) >> 2] | 0 | 0) | 0) + 8 | 0) >> 1] | 0; + HEAP16[((HEAP32[($5 + 28 | 0) >> 2] | 0) + 8 | 0) >> 1] = $189; + $195 = HEAPU16[((btAlignedObjectArray_btQuantizedBvhNode___operator_5b_5d_28int_29_20const($6 + 124 | 0 | 0, HEAP32[($5 + 24 | 0) >> 2] | 0 | 0) | 0) + 10 | 0) >> 1] | 0; + HEAP16[((HEAP32[($5 + 28 | 0) >> 2] | 0) + 10 | 0) >> 1] = $195; + $201 = HEAPU16[(btAlignedObjectArray_btQuantizedBvhNode___operator_5b_5d_28int_29_20const($6 + 124 | 0 | 0, HEAP32[($5 + 24 | 0) >> 2] | 0 | 0) | 0) >> 1] | 0; + HEAP16[(HEAP32[($5 + 28 | 0) >> 2] | 0) >> 1] = $201; + $207 = HEAPU16[((btAlignedObjectArray_btQuantizedBvhNode___operator_5b_5d_28int_29_20const($6 + 124 | 0 | 0, HEAP32[($5 + 24 | 0) >> 2] | 0 | 0) | 0) + 2 | 0) >> 1] | 0; + HEAP16[((HEAP32[($5 + 28 | 0) >> 2] | 0) + 2 | 0) >> 1] = $207; + $213 = HEAPU16[((btAlignedObjectArray_btQuantizedBvhNode___operator_5b_5d_28int_29_20const($6 + 124 | 0 | 0, HEAP32[($5 + 24 | 0) >> 2] | 0 | 0) | 0) + 4 | 0) >> 1] | 0; + HEAP16[((HEAP32[($5 + 28 | 0) >> 2] | 0) + 4 | 0) >> 1] = $213; + HEAP32[($5 + 24 | 0) >> 2] = (HEAP32[($5 + 24 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($5 + 28 | 0) >> 2] = (HEAP32[($5 + 28 | 0) >> 2] | 0) + 16 | 0; + continue label$10; + }; + } + $221 = HEAP32[($5 + 68 | 0) >> 2] | 0; + (((((wasm2js_i32$4 = $221, wasm2js_i32$5 = HEAP32[($5 + 32 | 0) >> 2] | 0), wasm2js_i32$3 = 83653), wasm2js_i32$1 = 1497453121), wasm2js_i32$2 = btAlignedObjectArray_btQuantizedBvhNode___operator_5b_5d_28int_29_20const($6 + 124 | 0 | 0, 0 | 0) | 0), wasm2js_i32$0 = HEAP32[((HEAP32[$221 >> 2] | 0) + 20 | 0) >> 2] | 0 | 0), FUNCTION_TABLE[wasm2js_i32$0](wasm2js_i32$4 | 0, wasm2js_i32$5 | 0, wasm2js_i32$3 | 0, wasm2js_i32$1 | 0, wasm2js_i32$2 | 0); + } + HEAP32[((HEAP32[($5 + 64 | 0) >> 2] | 0) + 76 | 0) >> 2] = HEAP32[($6 + 144 | 0) >> 2] | 0; + $235 = btAlignedObjectArray_btBvhSubtreeInfo___size_28_29_20const($6 + 148 | 0 | 0) | 0; + HEAP32[((HEAP32[($5 + 64 | 0) >> 2] | 0) + 80 | 0) >> 2] = $235; + label$11 : { + label$12 : { + if (!(btAlignedObjectArray_btBvhSubtreeInfo___size_28_29_20const($6 + 148 | 0 | 0) | 0)) { + break label$12 + } + $240 = HEAP32[($5 + 68 | 0) >> 2] | 0; + $248 = (((wasm2js_i32$2 = $240, wasm2js_i32$1 = btAlignedObjectArray_btBvhSubtreeInfo___operator_5b_5d_28int_29_20const($6 + 148 | 0 | 0, 0 | 0) | 0), wasm2js_i32$0 = HEAP32[((HEAP32[$240 >> 2] | 0) + 28 | 0) >> 2] | 0 | 0), FUNCTION_TABLE[wasm2js_i32$0](wasm2js_i32$2 | 0, wasm2js_i32$1 | 0) | 0); + break label$11; + } + $248 = 0; + } + HEAP32[((HEAP32[($5 + 64 | 0) >> 2] | 0) + 72 | 0) >> 2] = $248; + label$13 : { + if (!((HEAP32[((HEAP32[($5 + 64 | 0) >> 2] | 0) + 72 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$13 + } + HEAP32[($5 + 20 | 0) >> 2] = 20; + (wasm2js_i32$0 = $5, wasm2js_i32$1 = btAlignedObjectArray_btBvhSubtreeInfo___size_28_29_20const($6 + 148 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + $264 = HEAP32[($5 + 68 | 0) >> 2] | 0; + (wasm2js_i32$0 = $5, wasm2js_i32$1 = FUNCTION_TABLE[HEAP32[((HEAP32[$264 >> 2] | 0) + 16 | 0) >> 2] | 0 | 0]($264, HEAP32[($5 + 20 | 0) >> 2] | 0, HEAP32[($5 + 16 | 0) >> 2] | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($5 + 8 | 0) >> 2] = HEAP32[((HEAP32[($5 + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + HEAP32[($5 + 4 | 0) >> 2] = 0; + label$14 : { + label$15 : while (1) { + if (!((HEAP32[($5 + 4 | 0) >> 2] | 0 | 0) < (HEAP32[($5 + 16 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$14 + } + $284 = HEAPU16[((btAlignedObjectArray_btBvhSubtreeInfo___operator_5b_5d_28int_29_20const($6 + 148 | 0 | 0, HEAP32[($5 + 4 | 0) >> 2] | 0 | 0) | 0) + 6 | 0) >> 1] | 0; + HEAP16[((HEAP32[($5 + 8 | 0) >> 2] | 0) + 14 | 0) >> 1] = $284; + $290 = HEAPU16[((btAlignedObjectArray_btBvhSubtreeInfo___operator_5b_5d_28int_29_20const($6 + 148 | 0 | 0, HEAP32[($5 + 4 | 0) >> 2] | 0 | 0) | 0) + 8 | 0) >> 1] | 0; + HEAP16[((HEAP32[($5 + 8 | 0) >> 2] | 0) + 16 | 0) >> 1] = $290; + $296 = HEAPU16[((btAlignedObjectArray_btBvhSubtreeInfo___operator_5b_5d_28int_29_20const($6 + 148 | 0 | 0, HEAP32[($5 + 4 | 0) >> 2] | 0 | 0) | 0) + 10 | 0) >> 1] | 0; + HEAP16[((HEAP32[($5 + 8 | 0) >> 2] | 0) + 18 | 0) >> 1] = $296; + $302 = HEAPU16[(btAlignedObjectArray_btBvhSubtreeInfo___operator_5b_5d_28int_29_20const($6 + 148 | 0 | 0, HEAP32[($5 + 4 | 0) >> 2] | 0 | 0) | 0) >> 1] | 0; + HEAP16[((HEAP32[($5 + 8 | 0) >> 2] | 0) + 8 | 0) >> 1] = $302; + $308 = HEAPU16[((btAlignedObjectArray_btBvhSubtreeInfo___operator_5b_5d_28int_29_20const($6 + 148 | 0 | 0, HEAP32[($5 + 4 | 0) >> 2] | 0 | 0) | 0) + 2 | 0) >> 1] | 0; + HEAP16[((HEAP32[($5 + 8 | 0) >> 2] | 0) + 10 | 0) >> 1] = $308; + $314 = HEAPU16[((btAlignedObjectArray_btBvhSubtreeInfo___operator_5b_5d_28int_29_20const($6 + 148 | 0 | 0, HEAP32[($5 + 4 | 0) >> 2] | 0 | 0) | 0) + 4 | 0) >> 1] | 0; + HEAP16[((HEAP32[($5 + 8 | 0) >> 2] | 0) + 12 | 0) >> 1] = $314; + $320 = HEAP32[((btAlignedObjectArray_btBvhSubtreeInfo___operator_5b_5d_28int_29_20const($6 + 148 | 0 | 0, HEAP32[($5 + 4 | 0) >> 2] | 0 | 0) | 0) + 12 | 0) >> 2] | 0; + HEAP32[(HEAP32[($5 + 8 | 0) >> 2] | 0) >> 2] = $320; + $326 = HEAP32[((btAlignedObjectArray_btBvhSubtreeInfo___operator_5b_5d_28int_29_20const($6 + 148 | 0 | 0, HEAP32[($5 + 4 | 0) >> 2] | 0 | 0) | 0) + 16 | 0) >> 2] | 0; + HEAP32[((HEAP32[($5 + 8 | 0) >> 2] | 0) + 4 | 0) >> 2] = $326; + HEAP32[($5 + 4 | 0) >> 2] = (HEAP32[($5 + 4 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($5 + 8 | 0) >> 2] = (HEAP32[($5 + 8 | 0) >> 2] | 0) + 20 | 0; + continue label$15; + }; + } + $334 = HEAP32[($5 + 68 | 0) >> 2] | 0; + (((((wasm2js_i32$1 = $334, wasm2js_i32$2 = HEAP32[($5 + 12 | 0) >> 2] | 0), wasm2js_i32$3 = 83413), wasm2js_i32$5 = 1497453121), wasm2js_i32$4 = btAlignedObjectArray_btBvhSubtreeInfo___operator_5b_5d_28int_29_20const($6 + 148 | 0 | 0, 0 | 0) | 0), wasm2js_i32$0 = HEAP32[((HEAP32[$334 >> 2] | 0) + 20 | 0) >> 2] | 0 | 0), FUNCTION_TABLE[wasm2js_i32$0](wasm2js_i32$1 | 0, wasm2js_i32$2 | 0, wasm2js_i32$3 | 0, wasm2js_i32$5 | 0, wasm2js_i32$4 | 0); + } + __stack_pointer = $5 + 80 | 0; + return 83345 | 0; + } + + function btQuantizedBvh__calculateSerializeBufferSizeNew_28_29_20const($0) { + $0 = $0 | 0; + HEAP32[((__stack_pointer - 16 | 0) + 12 | 0) >> 2] = $0; + return 84 | 0; + } + + function btAlignedObjectArray_btBvhSubtreeInfo___destroy_28int_2c_20int_29($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $5 = 0; + $5 = __stack_pointer - 16 | 0; + HEAP32[($5 + 12 | 0) >> 2] = $0; + HEAP32[($5 + 8 | 0) >> 2] = $1; + HEAP32[($5 + 4 | 0) >> 2] = $2; + HEAP32[($5 + 12 | 0) >> 2] | 0; + HEAP32[$5 >> 2] = HEAP32[($5 + 8 | 0) >> 2] | 0; + label$1 : { + label$2 : while (1) { + if (!((HEAP32[$5 >> 2] | 0 | 0) < (HEAP32[($5 + 4 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$1 + } + HEAP32[$5 >> 2] = (HEAP32[$5 >> 2] | 0) + 1 | 0; + continue label$2; + }; + } + return; + } + + function btAlignedObjectArray_btBvhSubtreeInfo___deallocate_28_29($0) { + $0 = $0 | 0; + var $4 = 0, $3 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + label$1 : { + if (!((HEAP32[($4 + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + label$2 : { + if (!((HEAPU8[($4 + 16 | 0) >> 0] | 0) & 1 | 0)) { + break label$2 + } + btAlignedAllocator_btBvhSubtreeInfo_2c_2016u___deallocate_28btBvhSubtreeInfo__29($4 | 0, HEAP32[($4 + 12 | 0) >> 2] | 0 | 0); + } + HEAP32[($4 + 12 | 0) >> 2] = 0; + } + __stack_pointer = $3 + 16 | 0; + return; + } + + function btAlignedAllocator_btBvhSubtreeInfo_2c_2016u___deallocate_28btBvhSubtreeInfo__29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0; + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + btAlignedFreeInternal_28void__29(HEAP32[($4 + 8 | 0) >> 2] | 0 | 0); + __stack_pointer = $4 + 16 | 0; + return; + } + + function btAlignedObjectArray_btQuantizedBvhNode___capacity_28_29_20const($0) { + $0 = $0 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + return HEAP32[((HEAP32[($3 + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0; + } + + function btAlignedObjectArray_btQuantizedBvhNode___allocate_28int_29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, $5 = 0, $11 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[($4 + 8 | 0) >> 2] = $0; + HEAP32[($4 + 4 | 0) >> 2] = $1; + $5 = HEAP32[($4 + 8 | 0) >> 2] | 0; + label$1 : { + label$2 : { + if (!(HEAP32[($4 + 4 | 0) >> 2] | 0)) { + break label$2 + } + (wasm2js_i32$0 = $4, wasm2js_i32$1 = btAlignedAllocator_btQuantizedBvhNode_2c_2016u___allocate_28int_2c_20btQuantizedBvhNode_20const___29($5 | 0, HEAP32[($4 + 4 | 0) >> 2] | 0 | 0, 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + break label$1; + } + HEAP32[($4 + 12 | 0) >> 2] = 0; + } + $11 = HEAP32[($4 + 12 | 0) >> 2] | 0; + __stack_pointer = $4 + 16 | 0; + return $11 | 0; + } + + function btAlignedObjectArray_btQuantizedBvhNode___copy_28int_2c_20int_2c_20btQuantizedBvhNode__29_20const($0, $1, $2, $3) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + var $6 = 0, i64toi32_i32$2 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $22 = 0, $29 = 0, $7 = 0, $97 = 0, $107 = 0; + $6 = __stack_pointer - 32 | 0; + __stack_pointer = $6; + HEAP32[($6 + 28 | 0) >> 2] = $0; + HEAP32[($6 + 24 | 0) >> 2] = $1; + HEAP32[($6 + 20 | 0) >> 2] = $2; + HEAP32[($6 + 16 | 0) >> 2] = $3; + $7 = HEAP32[($6 + 28 | 0) >> 2] | 0; + HEAP32[($6 + 12 | 0) >> 2] = HEAP32[($6 + 24 | 0) >> 2] | 0; + label$1 : { + label$2 : while (1) { + if (!((HEAP32[($6 + 12 | 0) >> 2] | 0 | 0) < (HEAP32[($6 + 20 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$1 + } + $22 = btQuantizedBvhNode__operator_20new_28unsigned_20long_2c_20void__29(16 | 0, (HEAP32[($6 + 16 | 0) >> 2] | 0) + ((HEAP32[($6 + 12 | 0) >> 2] | 0) << 4 | 0) | 0 | 0) | 0; + i64toi32_i32$2 = (HEAP32[($7 + 12 | 0) >> 2] | 0) + ((HEAP32[($6 + 12 | 0) >> 2] | 0) << 4 | 0) | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $97 = i64toi32_i32$0; + i64toi32_i32$0 = $22; + HEAP32[i64toi32_i32$0 >> 2] = $97; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $29 = 8; + i64toi32_i32$2 = i64toi32_i32$2 + $29 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $107 = i64toi32_i32$1; + i64toi32_i32$1 = $22 + $29 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $107; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($6 + 12 | 0) >> 2] = (HEAP32[($6 + 12 | 0) >> 2] | 0) + 1 | 0; + continue label$2; + }; + } + __stack_pointer = $6 + 32 | 0; + return; + } + + function btAlignedAllocator_btQuantizedBvhNode_2c_2016u___allocate_28int_2c_20btQuantizedBvhNode_20const___29($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $5 = 0, $10 = 0; + $5 = __stack_pointer - 16 | 0; + __stack_pointer = $5; + HEAP32[($5 + 12 | 0) >> 2] = $0; + HEAP32[($5 + 8 | 0) >> 2] = $1; + HEAP32[($5 + 4 | 0) >> 2] = $2; + $10 = btAlignedAllocInternal_28unsigned_20long_2c_20int_29((HEAP32[($5 + 8 | 0) >> 2] | 0) << 4 | 0 | 0, 16 | 0) | 0; + __stack_pointer = $5 + 16 | 0; + return $10 | 0; + } + + function btAlignedAllocator_btQuantizedBvhNode_2c_2016u___deallocate_28btQuantizedBvhNode__29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0; + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + btAlignedFreeInternal_28void__29(HEAP32[($4 + 8 | 0) >> 2] | 0 | 0); + __stack_pointer = $4 + 16 | 0; + return; + } + + function btAlignedObjectArray_btBvhSubtreeInfo___allocate_28int_29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, $5 = 0, $11 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[($4 + 8 | 0) >> 2] = $0; + HEAP32[($4 + 4 | 0) >> 2] = $1; + $5 = HEAP32[($4 + 8 | 0) >> 2] | 0; + label$1 : { + label$2 : { + if (!(HEAP32[($4 + 4 | 0) >> 2] | 0)) { + break label$2 + } + (wasm2js_i32$0 = $4, wasm2js_i32$1 = btAlignedAllocator_btBvhSubtreeInfo_2c_2016u___allocate_28int_2c_20btBvhSubtreeInfo_20const___29($5 | 0, HEAP32[($4 + 4 | 0) >> 2] | 0 | 0, 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + break label$1; + } + HEAP32[($4 + 12 | 0) >> 2] = 0; + } + $11 = HEAP32[($4 + 12 | 0) >> 2] | 0; + __stack_pointer = $4 + 16 | 0; + return $11 | 0; + } + + function btAlignedObjectArray_btBvhSubtreeInfo___copy_28int_2c_20int_2c_20btBvhSubtreeInfo__29_20const($0, $1, $2, $3) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + var $6 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, $22 = 0, $27 = 0, $29 = 0, $33 = 0, $37 = 0, $7 = 0, $105 = 0, $115 = 0, $125 = 0, $135 = 0; + $6 = __stack_pointer - 32 | 0; + __stack_pointer = $6; + HEAP32[($6 + 28 | 0) >> 2] = $0; + HEAP32[($6 + 24 | 0) >> 2] = $1; + HEAP32[($6 + 20 | 0) >> 2] = $2; + HEAP32[($6 + 16 | 0) >> 2] = $3; + $7 = HEAP32[($6 + 28 | 0) >> 2] | 0; + HEAP32[($6 + 12 | 0) >> 2] = HEAP32[($6 + 24 | 0) >> 2] | 0; + label$1 : { + label$2 : while (1) { + if (!((HEAP32[($6 + 12 | 0) >> 2] | 0 | 0) < (HEAP32[($6 + 20 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$1 + } + $22 = btBvhSubtreeInfo__operator_20new_28unsigned_20long_2c_20void__29(32 | 0, (HEAP32[($6 + 16 | 0) >> 2] | 0) + ((HEAP32[($6 + 12 | 0) >> 2] | 0) << 5 | 0) | 0 | 0) | 0; + $27 = (HEAP32[($7 + 12 | 0) >> 2] | 0) + ((HEAP32[($6 + 12 | 0) >> 2] | 0) << 5 | 0) | 0; + i64toi32_i32$2 = $27; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $105 = i64toi32_i32$0; + i64toi32_i32$0 = $22; + HEAP32[i64toi32_i32$0 >> 2] = $105; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $29 = 24; + i64toi32_i32$2 = i64toi32_i32$2 + $29 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $115 = i64toi32_i32$1; + i64toi32_i32$1 = $22 + $29 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $115; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + $33 = 16; + i64toi32_i32$2 = $27 + $33 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $125 = i64toi32_i32$0; + i64toi32_i32$0 = $22 + $33 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $125; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $37 = 8; + i64toi32_i32$2 = $27 + $37 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $135 = i64toi32_i32$1; + i64toi32_i32$1 = $22 + $37 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $135; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($6 + 12 | 0) >> 2] = (HEAP32[($6 + 12 | 0) >> 2] | 0) + 1 | 0; + continue label$2; + }; + } + __stack_pointer = $6 + 32 | 0; + return; + } + + function btAlignedAllocator_btBvhSubtreeInfo_2c_2016u___allocate_28int_2c_20btBvhSubtreeInfo_20const___29($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $5 = 0, $10 = 0; + $5 = __stack_pointer - 16 | 0; + __stack_pointer = $5; + HEAP32[($5 + 12 | 0) >> 2] = $0; + HEAP32[($5 + 8 | 0) >> 2] = $1; + HEAP32[($5 + 4 | 0) >> 2] = $2; + $10 = btAlignedAllocInternal_28unsigned_20long_2c_20int_29((HEAP32[($5 + 8 | 0) >> 2] | 0) << 5 | 0 | 0, 16 | 0) | 0; + __stack_pointer = $5 + 16 | 0; + return $10 | 0; + } + + function btAlignedAllocator_btOptimizedBvhNode_2c_2016u___deallocate_28btOptimizedBvhNode__29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0; + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + btAlignedFreeInternal_28void__29(HEAP32[($4 + 8 | 0) >> 2] | 0 | 0); + __stack_pointer = $4 + 16 | 0; + return; + } + + function btAlignedObjectArray_btOptimizedBvhNode___capacity_28_29_20const($0) { + $0 = $0 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + return HEAP32[((HEAP32[($3 + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0; + } + + function btAlignedObjectArray_btOptimizedBvhNode___allocate_28int_29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, $5 = 0, $11 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[($4 + 8 | 0) >> 2] = $0; + HEAP32[($4 + 4 | 0) >> 2] = $1; + $5 = HEAP32[($4 + 8 | 0) >> 2] | 0; + label$1 : { + label$2 : { + if (!(HEAP32[($4 + 4 | 0) >> 2] | 0)) { + break label$2 + } + (wasm2js_i32$0 = $4, wasm2js_i32$1 = btAlignedAllocator_btOptimizedBvhNode_2c_2016u___allocate_28int_2c_20btOptimizedBvhNode_20const___29($5 | 0, HEAP32[($4 + 4 | 0) >> 2] | 0 | 0, 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + break label$1; + } + HEAP32[($4 + 12 | 0) >> 2] = 0; + } + $11 = HEAP32[($4 + 12 | 0) >> 2] | 0; + __stack_pointer = $4 + 16 | 0; + return $11 | 0; + } + + function btAlignedObjectArray_btOptimizedBvhNode___copy_28int_2c_20int_2c_20btOptimizedBvhNode__29_20const($0, $1, $2, $3) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + var i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, $6 = 0, $22 = 0, $27 = 0, $29 = 0, $33 = 0, $37 = 0, $41 = 0, $45 = 0, $49 = 0, $53 = 0, $7 = 0, $121 = 0, $131 = 0, $141 = 0, $151 = 0, $161 = 0, $171 = 0, $181 = 0, $191 = 0; + $6 = __stack_pointer - 32 | 0; + __stack_pointer = $6; + HEAP32[($6 + 28 | 0) >> 2] = $0; + HEAP32[($6 + 24 | 0) >> 2] = $1; + HEAP32[($6 + 20 | 0) >> 2] = $2; + HEAP32[($6 + 16 | 0) >> 2] = $3; + $7 = HEAP32[($6 + 28 | 0) >> 2] | 0; + HEAP32[($6 + 12 | 0) >> 2] = HEAP32[($6 + 24 | 0) >> 2] | 0; + label$1 : { + label$2 : while (1) { + if (!((HEAP32[($6 + 12 | 0) >> 2] | 0 | 0) < (HEAP32[($6 + 20 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$1 + } + $22 = btOptimizedBvhNode__operator_20new_28unsigned_20long_2c_20void__29(64 | 0, (HEAP32[($6 + 16 | 0) >> 2] | 0) + ((HEAP32[($6 + 12 | 0) >> 2] | 0) << 6 | 0) | 0 | 0) | 0; + $27 = (HEAP32[($7 + 12 | 0) >> 2] | 0) + ((HEAP32[($6 + 12 | 0) >> 2] | 0) << 6 | 0) | 0; + i64toi32_i32$2 = $27; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $121 = i64toi32_i32$0; + i64toi32_i32$0 = $22; + HEAP32[i64toi32_i32$0 >> 2] = $121; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $29 = 56; + i64toi32_i32$2 = i64toi32_i32$2 + $29 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $131 = i64toi32_i32$1; + i64toi32_i32$1 = $22 + $29 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $131; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + $33 = 48; + i64toi32_i32$2 = $27 + $33 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $141 = i64toi32_i32$0; + i64toi32_i32$0 = $22 + $33 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $141; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $37 = 40; + i64toi32_i32$2 = $27 + $37 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $151 = i64toi32_i32$1; + i64toi32_i32$1 = $22 + $37 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $151; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + $41 = 32; + i64toi32_i32$2 = $27 + $41 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $161 = i64toi32_i32$0; + i64toi32_i32$0 = $22 + $41 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $161; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $45 = 24; + i64toi32_i32$2 = $27 + $45 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $171 = i64toi32_i32$1; + i64toi32_i32$1 = $22 + $45 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $171; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + $49 = 16; + i64toi32_i32$2 = $27 + $49 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $181 = i64toi32_i32$0; + i64toi32_i32$0 = $22 + $49 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $181; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $53 = 8; + i64toi32_i32$2 = $27 + $53 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $191 = i64toi32_i32$1; + i64toi32_i32$1 = $22 + $53 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $191; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($6 + 12 | 0) >> 2] = (HEAP32[($6 + 12 | 0) >> 2] | 0) + 1 | 0; + continue label$2; + }; + } + __stack_pointer = $6 + 32 | 0; + return; + } + + function btAlignedAllocator_btOptimizedBvhNode_2c_2016u___allocate_28int_2c_20btOptimizedBvhNode_20const___29($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $5 = 0, $10 = 0; + $5 = __stack_pointer - 16 | 0; + __stack_pointer = $5; + HEAP32[($5 + 12 | 0) >> 2] = $0; + HEAP32[($5 + 8 | 0) >> 2] = $1; + HEAP32[($5 + 4 | 0) >> 2] = $2; + $10 = btAlignedAllocInternal_28unsigned_20long_2c_20int_29((HEAP32[($5 + 8 | 0) >> 2] | 0) << 6 | 0 | 0, 16 | 0) | 0; + __stack_pointer = $5 + 16 | 0; + return $10 | 0; + } + + function _GLOBAL__sub_I_btQuantizedBvh_cpp() { + __cxx_global_var_init_29(); + return; + } + + function __cxx_global_var_init_30() { + btInfMaskConverter__btInfMaskConverter_28int_29(114088 | 0, 2139095040 | 0) | 0; + return; + } + + function btBvhTriangleMeshShape__btBvhTriangleMeshShape_28btStridingMeshInterface__2c_20bool_2c_20bool_29($0, $1, $2, $3) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + var $6 = 0, $9 = 0, $24 = 0; + $6 = __stack_pointer - 16 | 0; + __stack_pointer = $6; + HEAP32[($6 + 8 | 0) >> 2] = $0; + HEAP32[($6 + 4 | 0) >> 2] = $1; + HEAP8[($6 + 3 | 0) >> 0] = $2; + HEAP8[($6 + 2 | 0) >> 0] = $3; + $9 = HEAP32[($6 + 8 | 0) >> 2] | 0; + HEAP32[($6 + 12 | 0) >> 2] = $9; + btTriangleMeshShape__btTriangleMeshShape_28btStridingMeshInterface__29($9 | 0, HEAP32[($6 + 4 | 0) >> 2] | 0 | 0) | 0; + HEAP32[$9 >> 2] = 97016 + 8 | 0; + HEAP32[($9 + 60 | 0) >> 2] = 0; + HEAP32[($9 + 64 | 0) >> 2] = 0; + HEAP8[($9 + 68 | 0) >> 0] = (HEAPU8[($6 + 3 | 0) >> 0] | 0) & 1 | 0; + HEAP8[($9 + 69 | 0) >> 0] = 0; + HEAP32[($9 + 4 | 0) >> 2] = 21; + label$1 : { + if (!((HEAPU8[($6 + 2 | 0) >> 0] | 0) & 1 | 0)) { + break label$1 + } + btBvhTriangleMeshShape__buildOptimizedBvh_28_29($9 | 0); + } + $24 = HEAP32[($6 + 12 | 0) >> 2] | 0; + __stack_pointer = $6 + 16 | 0; + return $24 | 0; + } + + function btBvhTriangleMeshShape__buildOptimizedBvh_28_29($0) { + $0 = $0 | 0; + var $4 = 0, $3 = 0, $8 = 0, $17 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + label$1 : { + if (!((HEAPU8[($4 + 69 | 0) >> 0] | 0) & 1 | 0)) { + break label$1 + } + $8 = HEAP32[($4 + 60 | 0) >> 2] | 0; + FUNCTION_TABLE[HEAP32[(HEAP32[$8 >> 2] | 0) >> 2] | 0 | 0]($8) | 0; + btAlignedFreeInternal_28void__29(HEAP32[($4 + 60 | 0) >> 2] | 0 | 0); + } + (wasm2js_i32$0 = $3, wasm2js_i32$1 = btAlignedAllocInternal_28unsigned_20long_2c_20int_29(172 | 0, 16 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + $17 = btOptimizedBvh__operator_20new_28unsigned_20long_2c_20void__29(172 | 0, HEAP32[($3 + 8 | 0) >> 2] | 0 | 0) | 0; + btOptimizedBvh__btOptimizedBvh_28_29($17 | 0) | 0; + HEAP32[($4 + 60 | 0) >> 2] = $17; + btOptimizedBvh__build_28btStridingMeshInterface__2c_20bool_2c_20btVector3_20const__2c_20btVector3_20const__29(HEAP32[($4 + 60 | 0) >> 2] | 0 | 0, HEAP32[($4 + 56 | 0) >> 2] | 0 | 0, (HEAPU8[($4 + 68 | 0) >> 0] | 0) & 1 | 0 | 0, $4 + 24 | 0 | 0, $4 + 40 | 0 | 0); + HEAP8[($4 + 69 | 0) >> 0] = 1; + __stack_pointer = $3 + 16 | 0; + return; + } + + function btOptimizedBvh__operator_20new_28unsigned_20long_2c_20void__29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0; + $4 = __stack_pointer - 16 | 0; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + return HEAP32[($4 + 8 | 0) >> 2] | 0 | 0; + } + + function btBvhTriangleMeshShape___btBvhTriangleMeshShape_28_29($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0, $11 = 0, $15 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 8 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 8 | 0) >> 2] | 0; + HEAP32[($3 + 12 | 0) >> 2] = $4; + HEAP32[$4 >> 2] = 97016 + 8 | 0; + label$1 : { + if (!((HEAPU8[($4 + 69 | 0) >> 0] | 0) & 1 | 0)) { + break label$1 + } + $11 = HEAP32[($4 + 60 | 0) >> 2] | 0; + FUNCTION_TABLE[HEAP32[(HEAP32[$11 >> 2] | 0) >> 2] | 0 | 0]($11) | 0; + btAlignedFreeInternal_28void__29(HEAP32[($4 + 60 | 0) >> 2] | 0 | 0); + } + btTriangleMeshShape___btTriangleMeshShape_28_29($4 | 0) | 0; + $15 = HEAP32[($3 + 12 | 0) >> 2] | 0; + __stack_pointer = $3 + 16 | 0; + return $15 | 0; + } + + function btBvhTriangleMeshShape___btBvhTriangleMeshShape_28_29_1($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + FUNCTION_TABLE[794 | 0]($4) | 0; + btBvhTriangleMeshShape__operator_20delete_28void__29($4 | 0); + __stack_pointer = $3 + 16 | 0; + return; + } + + function btBvhTriangleMeshShape__operator_20delete_28void__29($0) { + $0 = $0 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + btAlignedFreeInternal_28void__29(HEAP32[($3 + 12 | 0) >> 2] | 0 | 0); + __stack_pointer = $3 + 16 | 0; + return; + } + + function btBvhTriangleMeshShape__performRaycast_28btTriangleCallback__2c_20btVector3_20const__2c_20btVector3_20const__29($0, $1, $2, $3) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + var $6 = 0, $7 = 0; + $6 = __stack_pointer - 32 | 0; + __stack_pointer = $6; + HEAP32[($6 + 28 | 0) >> 2] = $0; + HEAP32[($6 + 24 | 0) >> 2] = $1; + HEAP32[($6 + 20 | 0) >> 2] = $2; + HEAP32[($6 + 16 | 0) >> 2] = $3; + $7 = HEAP32[($6 + 28 | 0) >> 2] | 0; + btBvhTriangleMeshShape__performRaycast_28btTriangleCallback__2c_20btVector3_20const__2c_20btVector3_20const__29__MyNodeOverlapCallback__MyNodeOverlapCallback_28btTriangleCallback__2c_20btStridingMeshInterface__29($6 + 4 | 0 | 0, HEAP32[($6 + 24 | 0) >> 2] | 0 | 0, HEAP32[($7 + 56 | 0) >> 2] | 0 | 0) | 0; + btQuantizedBvh__reportRayOverlappingNodex_28btNodeOverlapCallback__2c_20btVector3_20const__2c_20btVector3_20const__29_20const(HEAP32[($7 + 60 | 0) >> 2] | 0 | 0, $6 + 4 | 0 | 0, HEAP32[($6 + 20 | 0) >> 2] | 0 | 0, HEAP32[($6 + 16 | 0) >> 2] | 0 | 0); + btBvhTriangleMeshShape__performRaycast_28btTriangleCallback__2c_20btVector3_20const__2c_20btVector3_20const__29__MyNodeOverlapCallback___MyNodeOverlapCallback_28_29($6 + 4 | 0 | 0) | 0; + __stack_pointer = $6 + 32 | 0; + return; + } + + function btBvhTriangleMeshShape__performRaycast_28btTriangleCallback__2c_20btVector3_20const__2c_20btVector3_20const__29__MyNodeOverlapCallback__MyNodeOverlapCallback_28btTriangleCallback__2c_20btStridingMeshInterface__29($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $5 = 0, $6 = 0; + $5 = __stack_pointer - 16 | 0; + __stack_pointer = $5; + HEAP32[($5 + 12 | 0) >> 2] = $0; + HEAP32[($5 + 8 | 0) >> 2] = $1; + HEAP32[($5 + 4 | 0) >> 2] = $2; + $6 = HEAP32[($5 + 12 | 0) >> 2] | 0; + btNodeOverlapCallback__btNodeOverlapCallback_28_29($6 | 0) | 0; + HEAP32[$6 >> 2] = 97148 + 8 | 0; + HEAP32[($6 + 4 | 0) >> 2] = HEAP32[($5 + 4 | 0) >> 2] | 0; + HEAP32[($6 + 8 | 0) >> 2] = HEAP32[($5 + 8 | 0) >> 2] | 0; + __stack_pointer = $5 + 16 | 0; + return $6 | 0; + } + + function btBvhTriangleMeshShape__performRaycast_28btTriangleCallback__2c_20btVector3_20const__2c_20btVector3_20const__29__MyNodeOverlapCallback___MyNodeOverlapCallback_28_29($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + btNodeOverlapCallback___btNodeOverlapCallback_28_29($4 | 0) | 0; + __stack_pointer = $3 + 16 | 0; + return $4 | 0; + } + + function btNodeOverlapCallback__btNodeOverlapCallback_28_29($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + HEAP32[$4 >> 2] = 97316 + 8 | 0; + return $4 | 0; + } + + function btNodeOverlapCallback___btNodeOverlapCallback_28_29($0) { + $0 = $0 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + return HEAP32[($3 + 12 | 0) >> 2] | 0 | 0; + } + + function btBvhTriangleMeshShape__performConvexcast_28btTriangleCallback__2c_20btVector3_20const__2c_20btVector3_20const__2c_20btVector3_20const__2c_20btVector3_20const__29($0, $1, $2, $3, $4, $5) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + $4 = $4 | 0; + $5 = $5 | 0; + var $8 = 0, $9 = 0; + $8 = __stack_pointer - 48 | 0; + __stack_pointer = $8; + HEAP32[($8 + 44 | 0) >> 2] = $0; + HEAP32[($8 + 40 | 0) >> 2] = $1; + HEAP32[($8 + 36 | 0) >> 2] = $2; + HEAP32[($8 + 32 | 0) >> 2] = $3; + HEAP32[($8 + 28 | 0) >> 2] = $4; + HEAP32[($8 + 24 | 0) >> 2] = $5; + $9 = HEAP32[($8 + 44 | 0) >> 2] | 0; + btBvhTriangleMeshShape__performConvexcast_28btTriangleCallback__2c_20btVector3_20const__2c_20btVector3_20const__2c_20btVector3_20const__2c_20btVector3_20const__29__MyNodeOverlapCallback__MyNodeOverlapCallback_28btTriangleCallback__2c_20btStridingMeshInterface__29($8 + 12 | 0 | 0, HEAP32[($8 + 40 | 0) >> 2] | 0 | 0, HEAP32[($9 + 56 | 0) >> 2] | 0 | 0) | 0; + btQuantizedBvh__reportBoxCastOverlappingNodex_28btNodeOverlapCallback__2c_20btVector3_20const__2c_20btVector3_20const__2c_20btVector3_20const__2c_20btVector3_20const__29_20const(HEAP32[($9 + 60 | 0) >> 2] | 0 | 0, $8 + 12 | 0 | 0, HEAP32[($8 + 36 | 0) >> 2] | 0 | 0, HEAP32[($8 + 32 | 0) >> 2] | 0 | 0, HEAP32[($8 + 28 | 0) >> 2] | 0 | 0, HEAP32[($8 + 24 | 0) >> 2] | 0 | 0); + btBvhTriangleMeshShape__performConvexcast_28btTriangleCallback__2c_20btVector3_20const__2c_20btVector3_20const__2c_20btVector3_20const__2c_20btVector3_20const__29__MyNodeOverlapCallback___MyNodeOverlapCallback_28_29($8 + 12 | 0 | 0) | 0; + __stack_pointer = $8 + 48 | 0; + return; + } + + function btBvhTriangleMeshShape__performConvexcast_28btTriangleCallback__2c_20btVector3_20const__2c_20btVector3_20const__2c_20btVector3_20const__2c_20btVector3_20const__29__MyNodeOverlapCallback__MyNodeOverlapCallback_28btTriangleCallback__2c_20btStridingMeshInterface__29($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $5 = 0, $6 = 0; + $5 = __stack_pointer - 16 | 0; + __stack_pointer = $5; + HEAP32[($5 + 12 | 0) >> 2] = $0; + HEAP32[($5 + 8 | 0) >> 2] = $1; + HEAP32[($5 + 4 | 0) >> 2] = $2; + $6 = HEAP32[($5 + 12 | 0) >> 2] | 0; + btNodeOverlapCallback__btNodeOverlapCallback_28_29($6 | 0) | 0; + HEAP32[$6 >> 2] = 97336 + 8 | 0; + HEAP32[($6 + 4 | 0) >> 2] = HEAP32[($5 + 4 | 0) >> 2] | 0; + HEAP32[($6 + 8 | 0) >> 2] = HEAP32[($5 + 8 | 0) >> 2] | 0; + __stack_pointer = $5 + 16 | 0; + return $6 | 0; + } + + function btBvhTriangleMeshShape__performConvexcast_28btTriangleCallback__2c_20btVector3_20const__2c_20btVector3_20const__2c_20btVector3_20const__2c_20btVector3_20const__29__MyNodeOverlapCallback___MyNodeOverlapCallback_28_29($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + btNodeOverlapCallback___btNodeOverlapCallback_28_29($4 | 0) | 0; + __stack_pointer = $3 + 16 | 0; + return $4 | 0; + } + + function btBvhTriangleMeshShape__processAllTriangles_28btTriangleCallback__2c_20btVector3_20const__2c_20btVector3_20const__29_20const($0, $1, $2, $3) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + var $6 = 0, $7 = 0; + $6 = __stack_pointer - 80 | 0; + __stack_pointer = $6; + HEAP32[($6 + 76 | 0) >> 2] = $0; + HEAP32[($6 + 72 | 0) >> 2] = $1; + HEAP32[($6 + 68 | 0) >> 2] = $2; + HEAP32[($6 + 64 | 0) >> 2] = $3; + $7 = HEAP32[($6 + 76 | 0) >> 2] | 0; + btBvhTriangleMeshShape__processAllTriangles_28btTriangleCallback__2c_20btVector3_20const__2c_20btVector3_20const__29_20const__MyNodeOverlapCallback__MyNodeOverlapCallback_28btTriangleCallback__2c_20btStridingMeshInterface__29($6 | 0, HEAP32[($6 + 72 | 0) >> 2] | 0 | 0, HEAP32[($7 + 56 | 0) >> 2] | 0 | 0) | 0; + btQuantizedBvh__reportAabbOverlappingNodex_28btNodeOverlapCallback__2c_20btVector3_20const__2c_20btVector3_20const__29_20const(HEAP32[($7 + 60 | 0) >> 2] | 0 | 0, $6 | 0, HEAP32[($6 + 68 | 0) >> 2] | 0 | 0, HEAP32[($6 + 64 | 0) >> 2] | 0 | 0); + btBvhTriangleMeshShape__processAllTriangles_28btTriangleCallback__2c_20btVector3_20const__2c_20btVector3_20const__29_20const__MyNodeOverlapCallback___MyNodeOverlapCallback_28_29($6 | 0) | 0; + __stack_pointer = $6 + 80 | 0; + return; + } + + function btBvhTriangleMeshShape__processAllTriangles_28btTriangleCallback__2c_20btVector3_20const__2c_20btVector3_20const__29_20const__MyNodeOverlapCallback__MyNodeOverlapCallback_28btTriangleCallback__2c_20btStridingMeshInterface__29($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $5 = 0, $6 = 0, $13 = 0, $16 = 0, $17 = 0, $19 = 0, $15 = 0, $26 = 0; + $5 = __stack_pointer - 16 | 0; + __stack_pointer = $5; + HEAP32[($5 + 8 | 0) >> 2] = $0; + HEAP32[($5 + 4 | 0) >> 2] = $1; + HEAP32[$5 >> 2] = $2; + $6 = HEAP32[($5 + 8 | 0) >> 2] | 0; + HEAP32[($5 + 12 | 0) >> 2] = $6; + btNodeOverlapCallback__btNodeOverlapCallback_28_29($6 | 0) | 0; + HEAP32[$6 >> 2] = 97484 + 8 | 0; + HEAP32[($6 + 4 | 0) >> 2] = HEAP32[$5 >> 2] | 0; + HEAP32[($6 + 8 | 0) >> 2] = HEAP32[($5 + 4 | 0) >> 2] | 0; + $13 = $6 + 12 | 0; + $15 = $13 + 48 | 0; + $16 = $13; + label$1 : while (1) { + $17 = $16; + btVector3__btVector3_28_29($17 | 0) | 0; + $19 = $17 + 16 | 0; + $16 = $19; + if (!(($19 | 0) == ($15 | 0) & 1 | 0)) { + continue label$1 + } + break label$1; + }; + HEAP32[($6 + 60 | 0) >> 2] = 0; + $26 = HEAP32[($5 + 12 | 0) >> 2] | 0; + __stack_pointer = $5 + 16 | 0; + return $26 | 0; + } + + function btBvhTriangleMeshShape__processAllTriangles_28btTriangleCallback__2c_20btVector3_20const__2c_20btVector3_20const__29_20const__MyNodeOverlapCallback___MyNodeOverlapCallback_28_29($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + btNodeOverlapCallback___btNodeOverlapCallback_28_29($4 | 0) | 0; + __stack_pointer = $3 + 16 | 0; + return $4 | 0; + } + + function btBvhTriangleMeshShape__setLocalScaling_28btVector3_20const__29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, $5 = 0; + $4 = __stack_pointer - 32 | 0; + __stack_pointer = $4; + HEAP32[($4 + 28 | 0) >> 2] = $0; + HEAP32[($4 + 24 | 0) >> 2] = $1; + $5 = HEAP32[($4 + 28 | 0) >> 2] | 0; + operator__28btVector3_20const__2c_20btVector3_20const__29($4 + 8 | 0 | 0, FUNCTION_TABLE[HEAP32[((HEAP32[$5 >> 2] | 0) + 28 | 0) >> 2] | 0 | 0]($5) | 0 | 0, HEAP32[($4 + 24 | 0) >> 2] | 0 | 0); + label$1 : { + if (!(Math_fround(btVector3__length2_28_29_20const($4 + 8 | 0 | 0)) > Math_fround(1.1920928955078125e-07) & 1 | 0)) { + break label$1 + } + btTriangleMeshShape__setLocalScaling_28btVector3_20const__29($5 | 0, HEAP32[($4 + 24 | 0) >> 2] | 0 | 0); + btBvhTriangleMeshShape__buildOptimizedBvh_28_29($5 | 0); + } + __stack_pointer = $4 + 32 | 0; + return; + } + + function btBvhTriangleMeshShape__setOptimizedBvh_28btOptimizedBvh__2c_20btVector3_20const__29($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $5 = 0, $6 = 0; + $5 = __stack_pointer - 32 | 0; + __stack_pointer = $5; + HEAP32[($5 + 28 | 0) >> 2] = $0; + HEAP32[($5 + 24 | 0) >> 2] = $1; + HEAP32[($5 + 20 | 0) >> 2] = $2; + $6 = HEAP32[($5 + 28 | 0) >> 2] | 0; + label$1 : { + if (!((HEAP32[($6 + 60 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + __assert_fail(77754 | 0, 74895 | 0, 358 | 0, 77793 | 0); + wasm2js_trap(); + } + label$2 : { + if (!((HEAPU8[($6 + 69 | 0) >> 0] | 0) & 1 | 0)) { + break label$2 + } + __assert_fail(77761 | 0, 74895 | 0, 359 | 0, 77793 | 0); + wasm2js_trap(); + } + HEAP32[($6 + 60 | 0) >> 2] = HEAP32[($5 + 24 | 0) >> 2] | 0; + HEAP8[($6 + 69 | 0) >> 0] = 0; + operator__28btVector3_20const__2c_20btVector3_20const__29($5 + 4 | 0 | 0, FUNCTION_TABLE[HEAP32[((HEAP32[$6 >> 2] | 0) + 28 | 0) >> 2] | 0 | 0]($6) | 0 | 0, HEAP32[($5 + 20 | 0) >> 2] | 0 | 0); + label$3 : { + if (!(Math_fround(btVector3__length2_28_29_20const($5 + 4 | 0 | 0)) > Math_fround(1.1920928955078125e-07) & 1 | 0)) { + break label$3 + } + btTriangleMeshShape__setLocalScaling_28btVector3_20const__29($6 | 0, HEAP32[($5 + 20 | 0) >> 2] | 0 | 0); + } + __stack_pointer = $5 + 32 | 0; + return; + } + + function btBvhTriangleMeshShape__serialize_28void__2c_20btSerializer__29_20const($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $5 = 0, $6 = 0, $10 = 0, $26 = 0, $32 = 0, $48 = 0, $56 = 0, $60 = 0, $66 = 0, $73 = 0, $91 = 0, $97 = 0, $111 = 0, $117 = 0, $121 = 0, $127 = 0, $134 = 0, $52 = 0, $115 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5 = __stack_pointer - 48 | 0; + __stack_pointer = $5; + HEAP32[($5 + 44 | 0) >> 2] = $0; + HEAP32[($5 + 40 | 0) >> 2] = $1; + HEAP32[($5 + 36 | 0) >> 2] = $2; + $6 = HEAP32[($5 + 44 | 0) >> 2] | 0; + HEAP32[($5 + 32 | 0) >> 2] = HEAP32[($5 + 40 | 0) >> 2] | 0; + btCollisionShape__serialize_28void__2c_20btSerializer__29_20const($6 | 0, HEAP32[($5 + 32 | 0) >> 2] | 0 | 0, HEAP32[($5 + 36 | 0) >> 2] | 0 | 0) | 0; + $10 = HEAP32[($6 + 56 | 0) >> 2] | 0; + FUNCTION_TABLE[HEAP32[((HEAP32[$10 >> 2] | 0) + 56 | 0) >> 2] | 0 | 0]($10, (HEAP32[($5 + 32 | 0) >> 2] | 0) + 12 | 0, HEAP32[($5 + 36 | 0) >> 2] | 0) | 0; + HEAPF32[((HEAP32[($5 + 32 | 0) >> 2] | 0) + 52 | 0) >> 2] = Math_fround(HEAPF32[($6 + 20 | 0) >> 2]); + label$1 : { + label$2 : { + if (!((HEAP32[($6 + 60 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$2 + } + $26 = HEAP32[($5 + 36 | 0) >> 2] | 0; + if ((FUNCTION_TABLE[HEAP32[((HEAP32[$26 >> 2] | 0) + 52 | 0) >> 2] | 0 | 0]($26) | 0) & 1 | 0) { + break label$2 + } + $32 = HEAP32[($5 + 36 | 0) >> 2] | 0; + (wasm2js_i32$0 = $5, wasm2js_i32$1 = FUNCTION_TABLE[HEAP32[((HEAP32[$32 >> 2] | 0) + 24 | 0) >> 2] | 0 | 0]($32, HEAP32[($6 + 60 | 0) >> 2] | 0) | 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$1; + label$3 : { + label$4 : { + if (!((HEAP32[($5 + 28 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$4 + } + HEAP32[((HEAP32[($5 + 32 | 0) >> 2] | 0) + 40 | 0) >> 2] = HEAP32[($5 + 28 | 0) >> 2] | 0; + HEAP32[((HEAP32[($5 + 32 | 0) >> 2] | 0) + 44 | 0) >> 2] = 0; + break label$3; + } + $48 = HEAP32[($5 + 36 | 0) >> 2] | 0; + $52 = FUNCTION_TABLE[HEAP32[((HEAP32[$48 >> 2] | 0) + 28 | 0) >> 2] | 0 | 0]($48, HEAP32[($6 + 60 | 0) >> 2] | 0) | 0; + HEAP32[((HEAP32[($5 + 32 | 0) >> 2] | 0) + 40 | 0) >> 2] = $52; + HEAP32[((HEAP32[($5 + 32 | 0) >> 2] | 0) + 44 | 0) >> 2] = 0; + $56 = HEAP32[($6 + 60 | 0) >> 2] | 0; + (wasm2js_i32$0 = $5, wasm2js_i32$1 = FUNCTION_TABLE[HEAP32[((HEAP32[$56 >> 2] | 0) + 12 | 0) >> 2] | 0 | 0]($56) | 0), HEAP32[(wasm2js_i32$0 + 24 | 0) >> 2] = wasm2js_i32$1; + $60 = HEAP32[($5 + 36 | 0) >> 2] | 0; + (wasm2js_i32$0 = $5, wasm2js_i32$1 = FUNCTION_TABLE[HEAP32[((HEAP32[$60 >> 2] | 0) + 16 | 0) >> 2] | 0 | 0]($60, HEAP32[($5 + 24 | 0) >> 2] | 0, 1) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + $66 = HEAP32[($6 + 60 | 0) >> 2] | 0; + (wasm2js_i32$0 = $5, wasm2js_i32$1 = FUNCTION_TABLE[HEAP32[((HEAP32[$66 >> 2] | 0) + 16 | 0) >> 2] | 0 | 0]($66, HEAP32[((HEAP32[($5 + 20 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0, HEAP32[($5 + 36 | 0) >> 2] | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + $73 = HEAP32[($5 + 36 | 0) >> 2] | 0; + FUNCTION_TABLE[HEAP32[((HEAP32[$73 >> 2] | 0) + 20 | 0) >> 2] | 0 | 0]($73, HEAP32[($5 + 20 | 0) >> 2] | 0, HEAP32[($5 + 16 | 0) >> 2] | 0, 1213612625, HEAP32[($6 + 60 | 0) >> 2] | 0); + } + break label$1; + } + HEAP32[((HEAP32[($5 + 32 | 0) >> 2] | 0) + 40 | 0) >> 2] = 0; + HEAP32[((HEAP32[($5 + 32 | 0) >> 2] | 0) + 44 | 0) >> 2] = 0; + } + label$5 : { + label$6 : { + if (!((HEAP32[($6 + 64 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$6 + } + $91 = HEAP32[($5 + 36 | 0) >> 2] | 0; + if ((FUNCTION_TABLE[HEAP32[((HEAP32[$91 >> 2] | 0) + 52 | 0) >> 2] | 0 | 0]($91) | 0) & 2 | 0) { + break label$6 + } + $97 = HEAP32[($5 + 36 | 0) >> 2] | 0; + (wasm2js_i32$0 = $5, wasm2js_i32$1 = FUNCTION_TABLE[HEAP32[((HEAP32[$97 >> 2] | 0) + 24 | 0) >> 2] | 0 | 0]($97, HEAP32[($6 + 64 | 0) >> 2] | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + label$7 : { + label$8 : { + if (!((HEAP32[($5 + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$8 + } + HEAP32[((HEAP32[($5 + 32 | 0) >> 2] | 0) + 48 | 0) >> 2] = HEAP32[($5 + 12 | 0) >> 2] | 0; + break label$7; + } + $111 = HEAP32[($5 + 36 | 0) >> 2] | 0; + $115 = FUNCTION_TABLE[HEAP32[((HEAP32[$111 >> 2] | 0) + 28 | 0) >> 2] | 0 | 0]($111, HEAP32[($6 + 64 | 0) >> 2] | 0) | 0; + HEAP32[((HEAP32[($5 + 32 | 0) >> 2] | 0) + 48 | 0) >> 2] = $115; + $117 = HEAP32[($6 + 64 | 0) >> 2] | 0; + (wasm2js_i32$0 = $5, wasm2js_i32$1 = FUNCTION_TABLE[HEAP32[((HEAP32[$117 >> 2] | 0) + 8 | 0) >> 2] | 0 | 0]($117) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + $121 = HEAP32[($5 + 36 | 0) >> 2] | 0; + (wasm2js_i32$0 = $5, wasm2js_i32$1 = FUNCTION_TABLE[HEAP32[((HEAP32[$121 >> 2] | 0) + 16 | 0) >> 2] | 0 | 0]($121, HEAP32[($5 + 8 | 0) >> 2] | 0, 1) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + $127 = HEAP32[($6 + 64 | 0) >> 2] | 0; + (wasm2js_i32$0 = $5, wasm2js_i32$1 = FUNCTION_TABLE[HEAP32[((HEAP32[$127 >> 2] | 0) + 12 | 0) >> 2] | 0 | 0]($127, HEAP32[((HEAP32[($5 + 4 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0, HEAP32[($5 + 36 | 0) >> 2] | 0) | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + $134 = HEAP32[($5 + 36 | 0) >> 2] | 0; + FUNCTION_TABLE[HEAP32[((HEAP32[$134 >> 2] | 0) + 20 | 0) >> 2] | 0 | 0]($134, HEAP32[($5 + 4 | 0) >> 2] | 0, HEAP32[$5 >> 2] | 0, 1346456916, HEAP32[($6 + 64 | 0) >> 2] | 0); + } + break label$5; + } + HEAP32[((HEAP32[($5 + 32 | 0) >> 2] | 0) + 48 | 0) >> 2] = 0; + } + HEAP32[((HEAP32[($5 + 32 | 0) >> 2] | 0) + 56 | 0) >> 2] = 0; + __stack_pointer = $5 + 48 | 0; + return 83501 | 0; + } + + function btBvhTriangleMeshShape__serializeSingleBvh_28btSerializer__29_20const($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, $5 = 0, $13 = 0, $17 = 0, $23 = 0, $30 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4 = __stack_pointer - 32 | 0; + __stack_pointer = $4; + HEAP32[($4 + 28 | 0) >> 2] = $0; + HEAP32[($4 + 24 | 0) >> 2] = $1; + $5 = HEAP32[($4 + 28 | 0) >> 2] | 0; + label$1 : { + if (!((HEAP32[($5 + 60 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + $13 = HEAP32[($5 + 60 | 0) >> 2] | 0; + (wasm2js_i32$0 = $4, wasm2js_i32$1 = FUNCTION_TABLE[HEAP32[((HEAP32[$13 >> 2] | 0) + 12 | 0) >> 2] | 0 | 0]($13) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + $17 = HEAP32[($4 + 24 | 0) >> 2] | 0; + (wasm2js_i32$0 = $4, wasm2js_i32$1 = FUNCTION_TABLE[HEAP32[((HEAP32[$17 >> 2] | 0) + 16 | 0) >> 2] | 0 | 0]($17, HEAP32[($4 + 20 | 0) >> 2] | 0, 1) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + $23 = HEAP32[($5 + 60 | 0) >> 2] | 0; + (wasm2js_i32$0 = $4, wasm2js_i32$1 = FUNCTION_TABLE[HEAP32[((HEAP32[$23 >> 2] | 0) + 16 | 0) >> 2] | 0 | 0]($23, HEAP32[((HEAP32[($4 + 16 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0, HEAP32[($4 + 24 | 0) >> 2] | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + $30 = HEAP32[($4 + 24 | 0) >> 2] | 0; + FUNCTION_TABLE[HEAP32[((HEAP32[$30 >> 2] | 0) + 20 | 0) >> 2] | 0 | 0]($30, HEAP32[($4 + 16 | 0) >> 2] | 0, HEAP32[($4 + 12 | 0) >> 2] | 0, 1213612625, HEAP32[($5 + 60 | 0) >> 2] | 0); + } + __stack_pointer = $4 + 32 | 0; + return; + } + + function btBvhTriangleMeshShape__serializeSingleTriangleInfoMap_28btSerializer__29_20const($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, $5 = 0, $13 = 0, $17 = 0, $23 = 0, $30 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4 = __stack_pointer - 32 | 0; + __stack_pointer = $4; + HEAP32[($4 + 28 | 0) >> 2] = $0; + HEAP32[($4 + 24 | 0) >> 2] = $1; + $5 = HEAP32[($4 + 28 | 0) >> 2] | 0; + label$1 : { + if (!((HEAP32[($5 + 64 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + $13 = HEAP32[($5 + 64 | 0) >> 2] | 0; + (wasm2js_i32$0 = $4, wasm2js_i32$1 = FUNCTION_TABLE[HEAP32[((HEAP32[$13 >> 2] | 0) + 8 | 0) >> 2] | 0 | 0]($13) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + $17 = HEAP32[($4 + 24 | 0) >> 2] | 0; + (wasm2js_i32$0 = $4, wasm2js_i32$1 = FUNCTION_TABLE[HEAP32[((HEAP32[$17 >> 2] | 0) + 16 | 0) >> 2] | 0 | 0]($17, HEAP32[($4 + 20 | 0) >> 2] | 0, 1) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + $23 = HEAP32[($5 + 64 | 0) >> 2] | 0; + (wasm2js_i32$0 = $4, wasm2js_i32$1 = FUNCTION_TABLE[HEAP32[((HEAP32[$23 >> 2] | 0) + 12 | 0) >> 2] | 0 | 0]($23, HEAP32[((HEAP32[($4 + 16 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0, HEAP32[($4 + 24 | 0) >> 2] | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + $30 = HEAP32[($4 + 24 | 0) >> 2] | 0; + FUNCTION_TABLE[HEAP32[((HEAP32[$30 >> 2] | 0) + 20 | 0) >> 2] | 0 | 0]($30, HEAP32[($4 + 16 | 0) >> 2] | 0, HEAP32[($4 + 12 | 0) >> 2] | 0, 1346456916, HEAP32[($5 + 64 | 0) >> 2] | 0); + } + __stack_pointer = $4 + 32 | 0; + return; + } + + function btBvhTriangleMeshShape__getName_28_29_20const($0) { + $0 = $0 | 0; + HEAP32[((__stack_pointer - 16 | 0) + 12 | 0) >> 2] = $0; + return 84387 | 0; + } + + function btConcaveShape__setMargin_28float_29($0, $1) { + $0 = $0 | 0; + $1 = Math_fround($1); + var $4 = 0; + $4 = __stack_pointer - 16 | 0; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAPF32[($4 + 8 | 0) >> 2] = $1; + HEAPF32[((HEAP32[($4 + 12 | 0) >> 2] | 0) + 20 | 0) >> 2] = Math_fround(HEAPF32[($4 + 8 | 0) >> 2]); + return; + } + + function btConcaveShape__getMargin_28_29_20const($0) { + $0 = $0 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + return Math_fround(Math_fround(HEAPF32[((HEAP32[($3 + 12 | 0) >> 2] | 0) + 20 | 0) >> 2])); + } + + function btBvhTriangleMeshShape__calculateSerializeBufferSize_28_29_20const($0) { + $0 = $0 | 0; + HEAP32[((__stack_pointer - 16 | 0) + 12 | 0) >> 2] = $0; + return 60 | 0; + } + + function btTriangleMeshShape__localGetSupportingVertexWithoutMargin_28btVector3_20const__29_20const($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $5 = 0; + $5 = __stack_pointer - 16 | 0; + __stack_pointer = $5; + HEAP32[($5 + 12 | 0) >> 2] = $1; + HEAP32[($5 + 8 | 0) >> 2] = $2; + __assert_fail(86177 | 0, 79320 | 0, 44 | 0, 76889 | 0); + wasm2js_trap(); + } + + function btBvhTriangleMeshShape__performRaycast_28btTriangleCallback__2c_20btVector3_20const__2c_20btVector3_20const__29__MyNodeOverlapCallback___MyNodeOverlapCallback_28_29_1($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + btBvhTriangleMeshShape__performRaycast_28btTriangleCallback__2c_20btVector3_20const__2c_20btVector3_20const__29__MyNodeOverlapCallback___MyNodeOverlapCallback_28_29($4 | 0) | 0; + operator_20delete_28void__29($4 | 0); + __stack_pointer = $3 + 16 | 0; + return; + } + + function btBvhTriangleMeshShape__performRaycast_28btTriangleCallback__2c_20btVector3_20const__2c_20btVector3_20const__29__MyNodeOverlapCallback__processNode_28int_2c_20int_29($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $5 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, $6 = 0, $9 = 0, $12 = 0, $13 = 0, $15 = 0, $21 = 0, $97 = 0, $147 = 0, $149 = 0, $197 = 0, $199 = 0, $208 = 0, $216 = 0, $11 = 0, $513 = 0, $526 = 0, $625 = 0, $638 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0, wasm2js_f32$0 = Math_fround(0); + $5 = __stack_pointer - 176 | 0; + __stack_pointer = $5; + HEAP32[($5 + 172 | 0) >> 2] = $0; + HEAP32[($5 + 168 | 0) >> 2] = $1; + HEAP32[($5 + 164 | 0) >> 2] = $2; + $6 = HEAP32[($5 + 172 | 0) >> 2] | 0; + $9 = $5 + 112 | 0; + $11 = $9 + 48 | 0; + $12 = $9; + label$1 : while (1) { + $13 = $12; + btVector3__btVector3_28_29($13 | 0) | 0; + $15 = $13 + 16 | 0; + $12 = $15; + if (!(($15 | 0) == ($11 | 0) & 1 | 0)) { + continue label$1 + } + break label$1; + }; + $21 = HEAP32[($6 + 4 | 0) >> 2] | 0; + FUNCTION_TABLE[HEAP32[((HEAP32[$21 >> 2] | 0) + 16 | 0) >> 2] | 0 | 0]($21, $5 + 108 | 0, $5 + 104 | 0, $5 + 100 | 0, $5 + 96 | 0, $5 + 92 | 0, $5 + 88 | 0, $5 + 84 | 0, $5 + 80 | 0, HEAP32[($5 + 168 | 0) >> 2] | 0); + HEAP32[($5 + 76 | 0) >> 2] = (HEAP32[($5 + 92 | 0) >> 2] | 0) + Math_imul(HEAP32[($5 + 164 | 0) >> 2] | 0, HEAP32[($5 + 88 | 0) >> 2] | 0) | 0; + label$2 : { + if ((HEAP32[($5 + 80 | 0) >> 2] | 0 | 0) == (2 | 0) & 1 | 0) { + break label$2 + } + if ((HEAP32[($5 + 80 | 0) >> 2] | 0 | 0) == (3 | 0) & 1 | 0) { + break label$2 + } + __assert_fail(83922 | 0, 74895 | 0, 130 | 0, 82004 | 0); + wasm2js_trap(); + } + (wasm2js_i32$0 = $5, wasm2js_i32$1 = btStridingMeshInterface__getScaling_28_29_20const(HEAP32[($6 + 4 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 72 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($5 + 68 | 0) >> 2] = 2; + label$3 : { + label$4 : while (1) { + if (!((HEAP32[($5 + 68 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0)) { + break label$3 + } + label$5 : { + label$6 : { + if (!((HEAP32[($5 + 80 | 0) >> 2] | 0 | 0) == (3 | 0) & 1 | 0)) { + break label$6 + } + $97 = (HEAPU16[((HEAP32[($5 + 76 | 0) >> 2] | 0) + ((HEAP32[($5 + 68 | 0) >> 2] | 0) << 1 | 0) | 0) >> 1] | 0) & 65535 | 0; + break label$5; + } + $97 = HEAP32[((HEAP32[($5 + 76 | 0) >> 2] | 0) + ((HEAP32[($5 + 68 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; + } + HEAP32[($5 + 64 | 0) >> 2] = $97; + label$7 : { + label$8 : { + if (HEAP32[($5 + 100 | 0) >> 2] | 0) { + break label$8 + } + HEAP32[($5 + 60 | 0) >> 2] = (HEAP32[($5 + 108 | 0) >> 2] | 0) + Math_imul(HEAP32[($5 + 64 | 0) >> 2] | 0, HEAP32[($5 + 96 | 0) >> 2] | 0) | 0; + (wasm2js_i32$0 = $5, wasm2js_f32$0 = Math_fround(Math_fround(HEAPF32[(HEAP32[($5 + 60 | 0) >> 2] | 0) >> 2]) * Math_fround(HEAPF32[(btVector3__getX_28_29_20const(HEAP32[($5 + 72 | 0) >> 2] | 0 | 0) | 0) >> 2]))), HEAPF32[(wasm2js_i32$0 + 40 | 0) >> 2] = wasm2js_f32$0; + (wasm2js_i32$0 = $5, wasm2js_f32$0 = Math_fround(Math_fround(HEAPF32[((HEAP32[($5 + 60 | 0) >> 2] | 0) + 4 | 0) >> 2]) * Math_fround(HEAPF32[(btVector3__getY_28_29_20const(HEAP32[($5 + 72 | 0) >> 2] | 0 | 0) | 0) >> 2]))), HEAPF32[(wasm2js_i32$0 + 36 | 0) >> 2] = wasm2js_f32$0; + (wasm2js_i32$0 = $5, wasm2js_f32$0 = Math_fround(Math_fround(HEAPF32[((HEAP32[($5 + 60 | 0) >> 2] | 0) + 8 | 0) >> 2]) * Math_fround(HEAPF32[(btVector3__getZ_28_29_20const(HEAP32[($5 + 72 | 0) >> 2] | 0 | 0) | 0) >> 2]))), HEAPF32[(wasm2js_i32$0 + 32 | 0) >> 2] = wasm2js_f32$0; + btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($5 + 44 | 0 | 0, $5 + 40 | 0 | 0, $5 + 36 | 0 | 0, $5 + 32 | 0 | 0) | 0; + $147 = ($5 + 112 | 0) + ((HEAP32[($5 + 68 | 0) >> 2] | 0) << 4 | 0) | 0; + i64toi32_i32$2 = $5; + i64toi32_i32$0 = HEAP32[($5 + 44 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($5 + 48 | 0) >> 2] | 0; + $513 = i64toi32_i32$0; + i64toi32_i32$0 = $147; + HEAP32[i64toi32_i32$0 >> 2] = $513; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $149 = 8; + i64toi32_i32$2 = ($5 + 44 | 0) + $149 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $526 = i64toi32_i32$1; + i64toi32_i32$1 = $147 + $149 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $526; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + break label$7; + } + HEAP32[($5 + 28 | 0) >> 2] = (HEAP32[($5 + 108 | 0) >> 2] | 0) + Math_imul(HEAP32[($5 + 64 | 0) >> 2] | 0, HEAP32[($5 + 96 | 0) >> 2] | 0) | 0; + (wasm2js_i32$0 = $5, wasm2js_f32$0 = Math_fround(Math_fround(+HEAPF64[(HEAP32[($5 + 28 | 0) >> 2] | 0) >> 3]) * Math_fround(HEAPF32[(btVector3__getX_28_29_20const(HEAP32[($5 + 72 | 0) >> 2] | 0 | 0) | 0) >> 2]))), HEAPF32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_f32$0; + (wasm2js_i32$0 = $5, wasm2js_f32$0 = Math_fround(Math_fround(+HEAPF64[((HEAP32[($5 + 28 | 0) >> 2] | 0) + 8 | 0) >> 3]) * Math_fround(HEAPF32[(btVector3__getY_28_29_20const(HEAP32[($5 + 72 | 0) >> 2] | 0 | 0) | 0) >> 2]))), HEAPF32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_f32$0; + (wasm2js_i32$0 = $5, wasm2js_f32$0 = Math_fround(Math_fround(+HEAPF64[((HEAP32[($5 + 28 | 0) >> 2] | 0) + 16 | 0) >> 3]) * Math_fround(HEAPF32[(btVector3__getZ_28_29_20const(HEAP32[($5 + 72 | 0) >> 2] | 0 | 0) | 0) >> 2]))), HEAPF32[wasm2js_i32$0 >> 2] = wasm2js_f32$0; + btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($5 + 12 | 0 | 0, $5 + 8 | 0 | 0, $5 + 4 | 0 | 0, $5 | 0) | 0; + $197 = ($5 + 112 | 0) + ((HEAP32[($5 + 68 | 0) >> 2] | 0) << 4 | 0) | 0; + i64toi32_i32$2 = $5; + i64toi32_i32$0 = HEAP32[($5 + 12 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($5 + 16 | 0) >> 2] | 0; + $625 = i64toi32_i32$0; + i64toi32_i32$0 = $197; + HEAP32[i64toi32_i32$0 >> 2] = $625; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $199 = 8; + i64toi32_i32$2 = ($5 + 12 | 0) + $199 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $638 = i64toi32_i32$1; + i64toi32_i32$1 = $197 + $199 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $638; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + } + HEAP32[($5 + 68 | 0) >> 2] = (HEAP32[($5 + 68 | 0) >> 2] | 0) + -1 | 0; + continue label$4; + }; + } + $208 = HEAP32[($6 + 8 | 0) >> 2] | 0; + FUNCTION_TABLE[HEAP32[((HEAP32[$208 >> 2] | 0) + 8 | 0) >> 2] | 0 | 0]($208, $5 + 112 | 0, HEAP32[($5 + 168 | 0) >> 2] | 0, HEAP32[($5 + 164 | 0) >> 2] | 0); + $216 = HEAP32[($6 + 4 | 0) >> 2] | 0; + FUNCTION_TABLE[HEAP32[((HEAP32[$216 >> 2] | 0) + 24 | 0) >> 2] | 0 | 0]($216, HEAP32[($5 + 168 | 0) >> 2] | 0); + __stack_pointer = $5 + 176 | 0; + return; + } + + function btStridingMeshInterface__getScaling_28_29_20const($0) { + $0 = $0 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + return (HEAP32[($3 + 12 | 0) >> 2] | 0) + 4 | 0 | 0; + } + + function btNodeOverlapCallback___btNodeOverlapCallback_28_29_1($0) { + $0 = $0 | 0; + HEAP32[((__stack_pointer - 16 | 0) + 12 | 0) >> 2] = $0; + wasm2js_trap(); + } + + function btBvhTriangleMeshShape__performConvexcast_28btTriangleCallback__2c_20btVector3_20const__2c_20btVector3_20const__2c_20btVector3_20const__2c_20btVector3_20const__29__MyNodeOverlapCallback___MyNodeOverlapCallback_28_29_1($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + btBvhTriangleMeshShape__performConvexcast_28btTriangleCallback__2c_20btVector3_20const__2c_20btVector3_20const__2c_20btVector3_20const__2c_20btVector3_20const__29__MyNodeOverlapCallback___MyNodeOverlapCallback_28_29($4 | 0) | 0; + operator_20delete_28void__29($4 | 0); + __stack_pointer = $3 + 16 | 0; + return; + } + + function btBvhTriangleMeshShape__performConvexcast_28btTriangleCallback__2c_20btVector3_20const__2c_20btVector3_20const__2c_20btVector3_20const__2c_20btVector3_20const__29__MyNodeOverlapCallback__processNode_28int_2c_20int_29($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $5 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, $6 = 0, $9 = 0, $12 = 0, $13 = 0, $15 = 0, $21 = 0, $97 = 0, $147 = 0, $149 = 0, $197 = 0, $199 = 0, $208 = 0, $216 = 0, $11 = 0, $513 = 0, $526 = 0, $625 = 0, $638 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0, wasm2js_f32$0 = Math_fround(0); + $5 = __stack_pointer - 176 | 0; + __stack_pointer = $5; + HEAP32[($5 + 172 | 0) >> 2] = $0; + HEAP32[($5 + 168 | 0) >> 2] = $1; + HEAP32[($5 + 164 | 0) >> 2] = $2; + $6 = HEAP32[($5 + 172 | 0) >> 2] | 0; + $9 = $5 + 112 | 0; + $11 = $9 + 48 | 0; + $12 = $9; + label$1 : while (1) { + $13 = $12; + btVector3__btVector3_28_29($13 | 0) | 0; + $15 = $13 + 16 | 0; + $12 = $15; + if (!(($15 | 0) == ($11 | 0) & 1 | 0)) { + continue label$1 + } + break label$1; + }; + $21 = HEAP32[($6 + 4 | 0) >> 2] | 0; + FUNCTION_TABLE[HEAP32[((HEAP32[$21 >> 2] | 0) + 16 | 0) >> 2] | 0 | 0]($21, $5 + 108 | 0, $5 + 104 | 0, $5 + 100 | 0, $5 + 96 | 0, $5 + 92 | 0, $5 + 88 | 0, $5 + 84 | 0, $5 + 80 | 0, HEAP32[($5 + 168 | 0) >> 2] | 0); + HEAP32[($5 + 76 | 0) >> 2] = (HEAP32[($5 + 92 | 0) >> 2] | 0) + Math_imul(HEAP32[($5 + 164 | 0) >> 2] | 0, HEAP32[($5 + 88 | 0) >> 2] | 0) | 0; + label$2 : { + if ((HEAP32[($5 + 80 | 0) >> 2] | 0 | 0) == (2 | 0) & 1 | 0) { + break label$2 + } + if ((HEAP32[($5 + 80 | 0) >> 2] | 0 | 0) == (3 | 0) & 1 | 0) { + break label$2 + } + __assert_fail(83922 | 0, 74895 | 0, 199 | 0, 82004 | 0); + wasm2js_trap(); + } + (wasm2js_i32$0 = $5, wasm2js_i32$1 = btStridingMeshInterface__getScaling_28_29_20const(HEAP32[($6 + 4 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 72 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($5 + 68 | 0) >> 2] = 2; + label$3 : { + label$4 : while (1) { + if (!((HEAP32[($5 + 68 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0)) { + break label$3 + } + label$5 : { + label$6 : { + if (!((HEAP32[($5 + 80 | 0) >> 2] | 0 | 0) == (3 | 0) & 1 | 0)) { + break label$6 + } + $97 = (HEAPU16[((HEAP32[($5 + 76 | 0) >> 2] | 0) + ((HEAP32[($5 + 68 | 0) >> 2] | 0) << 1 | 0) | 0) >> 1] | 0) & 65535 | 0; + break label$5; + } + $97 = HEAP32[((HEAP32[($5 + 76 | 0) >> 2] | 0) + ((HEAP32[($5 + 68 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; + } + HEAP32[($5 + 64 | 0) >> 2] = $97; + label$7 : { + label$8 : { + if (HEAP32[($5 + 100 | 0) >> 2] | 0) { + break label$8 + } + HEAP32[($5 + 60 | 0) >> 2] = (HEAP32[($5 + 108 | 0) >> 2] | 0) + Math_imul(HEAP32[($5 + 64 | 0) >> 2] | 0, HEAP32[($5 + 96 | 0) >> 2] | 0) | 0; + (wasm2js_i32$0 = $5, wasm2js_f32$0 = Math_fround(Math_fround(HEAPF32[(HEAP32[($5 + 60 | 0) >> 2] | 0) >> 2]) * Math_fround(HEAPF32[(btVector3__getX_28_29_20const(HEAP32[($5 + 72 | 0) >> 2] | 0 | 0) | 0) >> 2]))), HEAPF32[(wasm2js_i32$0 + 40 | 0) >> 2] = wasm2js_f32$0; + (wasm2js_i32$0 = $5, wasm2js_f32$0 = Math_fround(Math_fround(HEAPF32[((HEAP32[($5 + 60 | 0) >> 2] | 0) + 4 | 0) >> 2]) * Math_fround(HEAPF32[(btVector3__getY_28_29_20const(HEAP32[($5 + 72 | 0) >> 2] | 0 | 0) | 0) >> 2]))), HEAPF32[(wasm2js_i32$0 + 36 | 0) >> 2] = wasm2js_f32$0; + (wasm2js_i32$0 = $5, wasm2js_f32$0 = Math_fround(Math_fround(HEAPF32[((HEAP32[($5 + 60 | 0) >> 2] | 0) + 8 | 0) >> 2]) * Math_fround(HEAPF32[(btVector3__getZ_28_29_20const(HEAP32[($5 + 72 | 0) >> 2] | 0 | 0) | 0) >> 2]))), HEAPF32[(wasm2js_i32$0 + 32 | 0) >> 2] = wasm2js_f32$0; + btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($5 + 44 | 0 | 0, $5 + 40 | 0 | 0, $5 + 36 | 0 | 0, $5 + 32 | 0 | 0) | 0; + $147 = ($5 + 112 | 0) + ((HEAP32[($5 + 68 | 0) >> 2] | 0) << 4 | 0) | 0; + i64toi32_i32$2 = $5; + i64toi32_i32$0 = HEAP32[($5 + 44 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($5 + 48 | 0) >> 2] | 0; + $513 = i64toi32_i32$0; + i64toi32_i32$0 = $147; + HEAP32[i64toi32_i32$0 >> 2] = $513; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $149 = 8; + i64toi32_i32$2 = ($5 + 44 | 0) + $149 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $526 = i64toi32_i32$1; + i64toi32_i32$1 = $147 + $149 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $526; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + break label$7; + } + HEAP32[($5 + 28 | 0) >> 2] = (HEAP32[($5 + 108 | 0) >> 2] | 0) + Math_imul(HEAP32[($5 + 64 | 0) >> 2] | 0, HEAP32[($5 + 96 | 0) >> 2] | 0) | 0; + (wasm2js_i32$0 = $5, wasm2js_f32$0 = Math_fround(Math_fround(+HEAPF64[(HEAP32[($5 + 28 | 0) >> 2] | 0) >> 3]) * Math_fround(HEAPF32[(btVector3__getX_28_29_20const(HEAP32[($5 + 72 | 0) >> 2] | 0 | 0) | 0) >> 2]))), HEAPF32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_f32$0; + (wasm2js_i32$0 = $5, wasm2js_f32$0 = Math_fround(Math_fround(+HEAPF64[((HEAP32[($5 + 28 | 0) >> 2] | 0) + 8 | 0) >> 3]) * Math_fround(HEAPF32[(btVector3__getY_28_29_20const(HEAP32[($5 + 72 | 0) >> 2] | 0 | 0) | 0) >> 2]))), HEAPF32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_f32$0; + (wasm2js_i32$0 = $5, wasm2js_f32$0 = Math_fround(Math_fround(+HEAPF64[((HEAP32[($5 + 28 | 0) >> 2] | 0) + 16 | 0) >> 3]) * Math_fround(HEAPF32[(btVector3__getZ_28_29_20const(HEAP32[($5 + 72 | 0) >> 2] | 0 | 0) | 0) >> 2]))), HEAPF32[wasm2js_i32$0 >> 2] = wasm2js_f32$0; + btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($5 + 12 | 0 | 0, $5 + 8 | 0 | 0, $5 + 4 | 0 | 0, $5 | 0) | 0; + $197 = ($5 + 112 | 0) + ((HEAP32[($5 + 68 | 0) >> 2] | 0) << 4 | 0) | 0; + i64toi32_i32$2 = $5; + i64toi32_i32$0 = HEAP32[($5 + 12 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($5 + 16 | 0) >> 2] | 0; + $625 = i64toi32_i32$0; + i64toi32_i32$0 = $197; + HEAP32[i64toi32_i32$0 >> 2] = $625; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $199 = 8; + i64toi32_i32$2 = ($5 + 12 | 0) + $199 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $638 = i64toi32_i32$1; + i64toi32_i32$1 = $197 + $199 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $638; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + } + HEAP32[($5 + 68 | 0) >> 2] = (HEAP32[($5 + 68 | 0) >> 2] | 0) + -1 | 0; + continue label$4; + }; + } + $208 = HEAP32[($6 + 8 | 0) >> 2] | 0; + FUNCTION_TABLE[HEAP32[((HEAP32[$208 >> 2] | 0) + 8 | 0) >> 2] | 0 | 0]($208, $5 + 112 | 0, HEAP32[($5 + 168 | 0) >> 2] | 0, HEAP32[($5 + 164 | 0) >> 2] | 0); + $216 = HEAP32[($6 + 4 | 0) >> 2] | 0; + FUNCTION_TABLE[HEAP32[((HEAP32[$216 >> 2] | 0) + 24 | 0) >> 2] | 0 | 0]($216, HEAP32[($5 + 168 | 0) >> 2] | 0); + __stack_pointer = $5 + 176 | 0; + return; + } + + function btBvhTriangleMeshShape__processAllTriangles_28btTriangleCallback__2c_20btVector3_20const__2c_20btVector3_20const__29_20const__MyNodeOverlapCallback___MyNodeOverlapCallback_28_29_1($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + btBvhTriangleMeshShape__processAllTriangles_28btTriangleCallback__2c_20btVector3_20const__2c_20btVector3_20const__29_20const__MyNodeOverlapCallback___MyNodeOverlapCallback_28_29($4 | 0) | 0; + operator_20delete_28void__29($4 | 0); + __stack_pointer = $3 + 16 | 0; + return; + } + + function btBvhTriangleMeshShape__processAllTriangles_28btTriangleCallback__2c_20btVector3_20const__2c_20btVector3_20const__29_20const__MyNodeOverlapCallback__processNode_28int_2c_20int_29($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $5 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $6 = 0, i64toi32_i32$2 = 0, $10 = 0, $93 = 0, $107 = 0, $157 = 0, $159 = 0, $208 = 0, $210 = 0, $219 = 0, $226 = 0, $542 = 0, $555 = 0, $656 = 0, $669 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0, wasm2js_f32$0 = Math_fround(0); + $5 = __stack_pointer - 128 | 0; + __stack_pointer = $5; + HEAP32[($5 + 124 | 0) >> 2] = $0; + HEAP32[($5 + 120 | 0) >> 2] = $1; + HEAP32[($5 + 116 | 0) >> 2] = $2; + $6 = HEAP32[($5 + 124 | 0) >> 2] | 0; + HEAP32[($6 + 60 | 0) >> 2] = (HEAP32[($6 + 60 | 0) >> 2] | 0) + 1 | 0; + $10 = HEAP32[($6 + 4 | 0) >> 2] | 0; + FUNCTION_TABLE[HEAP32[((HEAP32[$10 >> 2] | 0) + 16 | 0) >> 2] | 0 | 0]($10, $5 + 112 | 0, $5 + 108 | 0, $5 + 104 | 0, $5 + 100 | 0, $5 + 96 | 0, $5 + 92 | 0, $5 + 88 | 0, $5 + 84 | 0, HEAP32[($5 + 120 | 0) >> 2] | 0); + HEAP32[($5 + 80 | 0) >> 2] = (HEAP32[($5 + 96 | 0) >> 2] | 0) + Math_imul(HEAP32[($5 + 116 | 0) >> 2] | 0, HEAP32[($5 + 92 | 0) >> 2] | 0) | 0; + label$1 : { + if ((HEAP32[($5 + 84 | 0) >> 2] | 0 | 0) == (2 | 0) & 1 | 0) { + break label$1 + } + if ((HEAP32[($5 + 84 | 0) >> 2] | 0 | 0) == (3 | 0) & 1 | 0) { + break label$1 + } + if ((HEAP32[($5 + 84 | 0) >> 2] | 0 | 0) == (5 | 0) & 1 | 0) { + break label$1 + } + __assert_fail(84086 | 0, 74895 | 0, 282 | 0, 82004 | 0); + wasm2js_trap(); + } + (wasm2js_i32$0 = $5, wasm2js_i32$1 = btStridingMeshInterface__getScaling_28_29_20const(HEAP32[($6 + 4 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 76 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($5 + 72 | 0) >> 2] = 2; + label$2 : { + label$3 : while (1) { + if (!((HEAP32[($5 + 72 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0)) { + break label$2 + } + label$4 : { + label$5 : { + if (!((HEAP32[($5 + 84 | 0) >> 2] | 0 | 0) == (3 | 0) & 1 | 0)) { + break label$5 + } + $93 = (HEAPU16[((HEAP32[($5 + 80 | 0) >> 2] | 0) + ((HEAP32[($5 + 72 | 0) >> 2] | 0) << 1 | 0) | 0) >> 1] | 0) & 65535 | 0; + break label$4; + } + label$6 : { + label$7 : { + if (!((HEAP32[($5 + 84 | 0) >> 2] | 0 | 0) == (2 | 0) & 1 | 0)) { + break label$7 + } + $107 = HEAP32[((HEAP32[($5 + 80 | 0) >> 2] | 0) + ((HEAP32[($5 + 72 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; + break label$6; + } + $107 = (HEAPU8[((HEAP32[($5 + 80 | 0) >> 2] | 0) + (HEAP32[($5 + 72 | 0) >> 2] | 0) | 0) >> 0] | 0) & 255 | 0; + } + $93 = $107; + } + HEAP32[($5 + 68 | 0) >> 2] = $93; + label$8 : { + label$9 : { + if (HEAP32[($5 + 104 | 0) >> 2] | 0) { + break label$9 + } + HEAP32[($5 + 64 | 0) >> 2] = (HEAP32[($5 + 112 | 0) >> 2] | 0) + Math_imul(HEAP32[($5 + 68 | 0) >> 2] | 0, HEAP32[($5 + 100 | 0) >> 2] | 0) | 0; + (wasm2js_i32$0 = $5, wasm2js_f32$0 = Math_fround(Math_fround(HEAPF32[(HEAP32[($5 + 64 | 0) >> 2] | 0) >> 2]) * Math_fround(HEAPF32[(btVector3__getX_28_29_20const(HEAP32[($5 + 76 | 0) >> 2] | 0 | 0) | 0) >> 2]))), HEAPF32[(wasm2js_i32$0 + 44 | 0) >> 2] = wasm2js_f32$0; + (wasm2js_i32$0 = $5, wasm2js_f32$0 = Math_fround(Math_fround(HEAPF32[((HEAP32[($5 + 64 | 0) >> 2] | 0) + 4 | 0) >> 2]) * Math_fround(HEAPF32[(btVector3__getY_28_29_20const(HEAP32[($5 + 76 | 0) >> 2] | 0 | 0) | 0) >> 2]))), HEAPF32[(wasm2js_i32$0 + 40 | 0) >> 2] = wasm2js_f32$0; + (wasm2js_i32$0 = $5, wasm2js_f32$0 = Math_fround(Math_fround(HEAPF32[((HEAP32[($5 + 64 | 0) >> 2] | 0) + 8 | 0) >> 2]) * Math_fround(HEAPF32[(btVector3__getZ_28_29_20const(HEAP32[($5 + 76 | 0) >> 2] | 0 | 0) | 0) >> 2]))), HEAPF32[(wasm2js_i32$0 + 36 | 0) >> 2] = wasm2js_f32$0; + btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($5 + 48 | 0 | 0, $5 + 44 | 0 | 0, $5 + 40 | 0 | 0, $5 + 36 | 0 | 0) | 0; + $157 = ($6 + 12 | 0) + ((HEAP32[($5 + 72 | 0) >> 2] | 0) << 4 | 0) | 0; + i64toi32_i32$2 = $5; + i64toi32_i32$0 = HEAP32[($5 + 48 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($5 + 52 | 0) >> 2] | 0; + $542 = i64toi32_i32$0; + i64toi32_i32$0 = $157; + HEAP32[i64toi32_i32$0 >> 2] = $542; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $159 = 8; + i64toi32_i32$2 = ($5 + 48 | 0) + $159 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $555 = i64toi32_i32$1; + i64toi32_i32$1 = $157 + $159 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $555; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + break label$8; + } + HEAP32[($5 + 32 | 0) >> 2] = (HEAP32[($5 + 112 | 0) >> 2] | 0) + Math_imul(HEAP32[($5 + 68 | 0) >> 2] | 0, HEAP32[($5 + 100 | 0) >> 2] | 0) | 0; + (wasm2js_i32$0 = $5, wasm2js_f32$0 = Math_fround(Math_fround(+HEAPF64[(HEAP32[($5 + 32 | 0) >> 2] | 0) >> 3]) * Math_fround(HEAPF32[(btVector3__getX_28_29_20const(HEAP32[($5 + 76 | 0) >> 2] | 0 | 0) | 0) >> 2]))), HEAPF32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_f32$0; + (wasm2js_i32$0 = $5, wasm2js_f32$0 = Math_fround(Math_fround(+HEAPF64[((HEAP32[($5 + 32 | 0) >> 2] | 0) + 8 | 0) >> 3]) * Math_fround(HEAPF32[(btVector3__getY_28_29_20const(HEAP32[($5 + 76 | 0) >> 2] | 0 | 0) | 0) >> 2]))), HEAPF32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_f32$0; + (wasm2js_i32$0 = $5, wasm2js_f32$0 = Math_fround(Math_fround(+HEAPF64[((HEAP32[($5 + 32 | 0) >> 2] | 0) + 16 | 0) >> 3]) * Math_fround(HEAPF32[(btVector3__getZ_28_29_20const(HEAP32[($5 + 76 | 0) >> 2] | 0 | 0) | 0) >> 2]))), HEAPF32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_f32$0; + btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($5 + 16 | 0 | 0, $5 + 12 | 0 | 0, $5 + 8 | 0 | 0, $5 + 4 | 0 | 0) | 0; + $208 = ($6 + 12 | 0) + ((HEAP32[($5 + 72 | 0) >> 2] | 0) << 4 | 0) | 0; + i64toi32_i32$2 = $5; + i64toi32_i32$0 = HEAP32[($5 + 16 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($5 + 20 | 0) >> 2] | 0; + $656 = i64toi32_i32$0; + i64toi32_i32$0 = $208; + HEAP32[i64toi32_i32$0 >> 2] = $656; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $210 = 8; + i64toi32_i32$2 = ($5 + 16 | 0) + $210 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $669 = i64toi32_i32$1; + i64toi32_i32$1 = $208 + $210 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $669; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + } + HEAP32[($5 + 72 | 0) >> 2] = (HEAP32[($5 + 72 | 0) >> 2] | 0) + -1 | 0; + continue label$3; + }; + } + $219 = HEAP32[($6 + 8 | 0) >> 2] | 0; + FUNCTION_TABLE[HEAP32[((HEAP32[$219 >> 2] | 0) + 8 | 0) >> 2] | 0 | 0]($219, $6 + 12 | 0, HEAP32[($5 + 120 | 0) >> 2] | 0, HEAP32[($5 + 116 | 0) >> 2] | 0); + $226 = HEAP32[($6 + 4 | 0) >> 2] | 0; + FUNCTION_TABLE[HEAP32[((HEAP32[$226 >> 2] | 0) + 24 | 0) >> 2] | 0 | 0]($226, HEAP32[($5 + 120 | 0) >> 2] | 0); + __stack_pointer = $5 + 128 | 0; + return; + } + + function _GLOBAL__sub_I_btBvhTriangleMeshShape_cpp() { + __cxx_global_var_init_30(); + return; + } + + function __cxx_global_var_init_31() { + btInfMaskConverter__btInfMaskConverter_28int_29(114092 | 0, 2139095040 | 0) | 0; + return; + } + + function btCapsuleShape__btCapsuleShape_28float_2c_20float_29($0, $1, $2) { + $0 = $0 | 0; + $1 = Math_fround($1); + $2 = Math_fround($2); + var $5 = 0, $6 = 0, $20 = 0; + $5 = __stack_pointer - 16 | 0; + __stack_pointer = $5; + HEAP32[($5 + 12 | 0) >> 2] = $0; + HEAPF32[($5 + 8 | 0) >> 2] = $1; + HEAPF32[($5 + 4 | 0) >> 2] = $2; + $6 = HEAP32[($5 + 12 | 0) >> 2] | 0; + btConvexInternalShape__btConvexInternalShape_28_29($6 | 0) | 0; + HEAP32[$6 >> 2] = 97628 + 8 | 0; + HEAPF32[($6 + 52 | 0) >> 2] = Math_fround(HEAPF32[($5 + 8 | 0) >> 2]); + HEAP32[($6 + 4 | 0) >> 2] = 10; + HEAP32[($6 + 60 | 0) >> 2] = 1; + HEAPF32[$5 >> 2] = Math_fround(Math_fround(.5) * Math_fround(HEAPF32[($5 + 4 | 0) >> 2])); + $20 = $5 + 8 | 0; + btVector3__setValue_28float_20const__2c_20float_20const__2c_20float_20const__29($6 + 36 | 0 | 0, $20 | 0, $5 | 0, $20 | 0); + __stack_pointer = $5 + 16 | 0; + return $6 | 0; + } + + function btCapsuleShape__localGetSupportingVertexWithoutMargin_28btVector3_20const__29_20const($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $5 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, $6 = 0, $23 = 0, $24 = 0, $97 = 0, $120 = 0, $154 = 0, $177 = 0, $241 = 0, $245 = 0, $88 = Math_fround(0), $386 = 0, $390 = 0, $423 = 0, $436 = 0, $145 = Math_fround(0), $505 = 0, $509 = 0, $542 = 0, $555 = 0, wasm2js_i32$0 = 0, wasm2js_f32$0 = Math_fround(0); + $5 = __stack_pointer - 144 | 0; + __stack_pointer = $5; + HEAP32[($5 + 140 | 0) >> 2] = $1; + HEAP32[($5 + 136 | 0) >> 2] = $2; + $6 = HEAP32[($5 + 140 | 0) >> 2] | 0; + HEAPF32[($5 + 132 | 0) >> 2] = Math_fround(0 | 0); + HEAPF32[($5 + 128 | 0) >> 2] = Math_fround(0 | 0); + HEAPF32[($5 + 124 | 0) >> 2] = Math_fround(0 | 0); + btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($0 | 0, $5 + 132 | 0 | 0, $5 + 128 | 0 | 0, $5 + 124 | 0 | 0) | 0; + HEAPF32[($5 + 120 | 0) >> 2] = Math_fround(-999999984306749440.0); + $23 = HEAP32[($5 + 136 | 0) >> 2] | 0; + $24 = 8; + i64toi32_i32$2 = $23 + $24 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $241 = i64toi32_i32$0; + i64toi32_i32$0 = ($5 + 104 | 0) + $24 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $241; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$2 = $23; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $245 = i64toi32_i32$1; + i64toi32_i32$1 = $5; + HEAP32[($5 + 104 | 0) >> 2] = $245; + HEAP32[($5 + 108 | 0) >> 2] = i64toi32_i32$0; + (wasm2js_i32$0 = $5, wasm2js_f32$0 = Math_fround(btVector3__length2_28_29_20const($5 + 104 | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 100 | 0) >> 2] = wasm2js_f32$0; + label$1 : { + label$2 : { + if (!(Math_fround(HEAPF32[($5 + 100 | 0) >> 2]) < Math_fround(9.999999747378752e-05) & 1 | 0)) { + break label$2 + } + HEAPF32[($5 + 96 | 0) >> 2] = Math_fround(1.0); + HEAPF32[($5 + 92 | 0) >> 2] = Math_fround(0 | 0); + HEAPF32[($5 + 88 | 0) >> 2] = Math_fround(0 | 0); + btVector3__setValue_28float_20const__2c_20float_20const__2c_20float_20const__29($5 + 104 | 0 | 0, $5 + 96 | 0 | 0, $5 + 92 | 0 | 0, $5 + 88 | 0 | 0); + break label$1; + } + (wasm2js_i32$0 = $5, wasm2js_f32$0 = Math_fround(Math_fround(1.0) / Math_fround(btSqrt_28float_29(Math_fround(Math_fround(HEAPF32[($5 + 100 | 0) >> 2])))))), HEAPF32[(wasm2js_i32$0 + 84 | 0) >> 2] = wasm2js_f32$0; + btVector3__operator___28float_20const__29_1($5 + 104 | 0 | 0, $5 + 84 | 0 | 0) | 0; + } + btVector3__btVector3_28_29($5 + 64 | 0 | 0) | 0; + HEAPF32[($5 + 40 | 0) >> 2] = Math_fround(0 | 0); + HEAPF32[($5 + 36 | 0) >> 2] = Math_fround(0 | 0); + HEAPF32[($5 + 32 | 0) >> 2] = Math_fround(0 | 0); + btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($5 + 44 | 0 | 0, $5 + 40 | 0 | 0, $5 + 36 | 0 | 0, $5 + 32 | 0 | 0) | 0; + $88 = Math_fround(btCapsuleShape__getHalfHeight_28_29_20const($6 | 0)); + (wasm2js_i32$0 = (btVector3__operator_20float__28_29($5 + 44 | 0 | 0) | 0) + ((btCapsuleShape__getUpAxis_28_29_20const($6 | 0) | 0) << 2 | 0) | 0, wasm2js_f32$0 = $88), HEAPF32[wasm2js_i32$0 >> 2] = wasm2js_f32$0; + $97 = 8; + i64toi32_i32$2 = ($5 + 44 | 0) + $97 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $386 = i64toi32_i32$0; + i64toi32_i32$0 = ($5 + 64 | 0) + $97 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $386; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$2 = $5; + i64toi32_i32$1 = HEAP32[($5 + 44 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($5 + 48 | 0) >> 2] | 0; + $390 = i64toi32_i32$1; + i64toi32_i32$1 = $5; + HEAP32[($5 + 64 | 0) >> 2] = $390; + HEAP32[($5 + 68 | 0) >> 2] = i64toi32_i32$0; + (wasm2js_i32$0 = $5, wasm2js_f32$0 = Math_fround(btVector3__dot_28btVector3_20const__29_20const($5 + 104 | 0 | 0, $5 + 64 | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 60 | 0) >> 2] = wasm2js_f32$0; + label$3 : { + if (!(Math_fround(HEAPF32[($5 + 60 | 0) >> 2]) > Math_fround(HEAPF32[($5 + 120 | 0) >> 2]) & 1 | 0)) { + break label$3 + } + HEAPF32[($5 + 120 | 0) >> 2] = Math_fround(HEAPF32[($5 + 60 | 0) >> 2]); + i64toi32_i32$2 = $5; + i64toi32_i32$0 = HEAP32[($5 + 64 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($5 + 68 | 0) >> 2] | 0; + $423 = i64toi32_i32$0; + i64toi32_i32$0 = $0; + HEAP32[i64toi32_i32$0 >> 2] = $423; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $120 = 8; + i64toi32_i32$2 = ($5 + 64 | 0) + $120 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $436 = i64toi32_i32$1; + i64toi32_i32$1 = $0 + $120 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $436; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + } + HEAPF32[($5 + 12 | 0) >> 2] = Math_fround(0 | 0); + HEAPF32[($5 + 8 | 0) >> 2] = Math_fround(0 | 0); + HEAPF32[($5 + 4 | 0) >> 2] = Math_fround(0 | 0); + btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($5 + 16 | 0 | 0, $5 + 12 | 0 | 0, $5 + 8 | 0 | 0, $5 + 4 | 0 | 0) | 0; + $145 = Math_fround(-Math_fround(btCapsuleShape__getHalfHeight_28_29_20const($6 | 0))); + (wasm2js_i32$0 = (btVector3__operator_20float__28_29($5 + 16 | 0 | 0) | 0) + ((btCapsuleShape__getUpAxis_28_29_20const($6 | 0) | 0) << 2 | 0) | 0, wasm2js_f32$0 = $145), HEAPF32[wasm2js_i32$0 >> 2] = wasm2js_f32$0; + $154 = 8; + i64toi32_i32$2 = ($5 + 16 | 0) + $154 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $505 = i64toi32_i32$0; + i64toi32_i32$0 = ($5 + 64 | 0) + $154 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $505; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$2 = $5; + i64toi32_i32$1 = HEAP32[($5 + 16 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($5 + 20 | 0) >> 2] | 0; + $509 = i64toi32_i32$1; + i64toi32_i32$1 = $5; + HEAP32[($5 + 64 | 0) >> 2] = $509; + HEAP32[($5 + 68 | 0) >> 2] = i64toi32_i32$0; + (wasm2js_i32$0 = $5, wasm2js_f32$0 = Math_fround(btVector3__dot_28btVector3_20const__29_20const($5 + 104 | 0 | 0, $5 + 64 | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 60 | 0) >> 2] = wasm2js_f32$0; + label$4 : { + if (!(Math_fround(HEAPF32[($5 + 60 | 0) >> 2]) > Math_fround(HEAPF32[($5 + 120 | 0) >> 2]) & 1 | 0)) { + break label$4 + } + HEAPF32[($5 + 120 | 0) >> 2] = Math_fround(HEAPF32[($5 + 60 | 0) >> 2]); + i64toi32_i32$2 = $5; + i64toi32_i32$0 = HEAP32[($5 + 64 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($5 + 68 | 0) >> 2] | 0; + $542 = i64toi32_i32$0; + i64toi32_i32$0 = $0; + HEAP32[i64toi32_i32$0 >> 2] = $542; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $177 = 8; + i64toi32_i32$2 = ($5 + 64 | 0) + $177 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $555 = i64toi32_i32$1; + i64toi32_i32$1 = $0 + $177 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $555; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + } + __stack_pointer = $5 + 144 | 0; + return; + } + + function btCapsuleShape__batchedUnitVectorGetSupportingVertexWithoutMargin_28btVector3_20const__2c_20btVector3__2c_20int_29_20const($0, $1, $2, $3) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + var $6 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, $7 = 0, $52 = 0, $76 = 0, $78 = 0, $112 = 0, $136 = 0, $138 = 0, $43 = Math_fround(0), $266 = 0, $270 = 0, $311 = 0, $324 = 0, $103 = Math_fround(0), $393 = 0, $397 = 0, $438 = 0, $451 = 0, wasm2js_i32$0 = 0, wasm2js_f32$0 = Math_fround(0); + $6 = __stack_pointer - 112 | 0; + __stack_pointer = $6; + HEAP32[($6 + 108 | 0) >> 2] = $0; + HEAP32[($6 + 104 | 0) >> 2] = $1; + HEAP32[($6 + 100 | 0) >> 2] = $2; + HEAP32[($6 + 96 | 0) >> 2] = $3; + $7 = HEAP32[($6 + 108 | 0) >> 2] | 0; + HEAP32[($6 + 92 | 0) >> 2] = 0; + label$1 : { + label$2 : while (1) { + if (!((HEAP32[($6 + 92 | 0) >> 2] | 0 | 0) < (HEAP32[($6 + 96 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$1 + } + HEAPF32[($6 + 88 | 0) >> 2] = Math_fround(-999999984306749440.0); + HEAP32[($6 + 84 | 0) >> 2] = (HEAP32[($6 + 104 | 0) >> 2] | 0) + ((HEAP32[($6 + 92 | 0) >> 2] | 0) << 4 | 0) | 0; + btVector3__btVector3_28_29($6 + 64 | 0 | 0) | 0; + HEAPF32[($6 + 40 | 0) >> 2] = Math_fround(0 | 0); + HEAPF32[($6 + 36 | 0) >> 2] = Math_fround(0 | 0); + HEAPF32[($6 + 32 | 0) >> 2] = Math_fround(0 | 0); + btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($6 + 44 | 0 | 0, $6 + 40 | 0 | 0, $6 + 36 | 0 | 0, $6 + 32 | 0 | 0) | 0; + $43 = Math_fround(btCapsuleShape__getHalfHeight_28_29_20const($7 | 0)); + (wasm2js_i32$0 = (btVector3__operator_20float__28_29($6 + 44 | 0 | 0) | 0) + ((btCapsuleShape__getUpAxis_28_29_20const($7 | 0) | 0) << 2 | 0) | 0, wasm2js_f32$0 = $43), HEAPF32[wasm2js_i32$0 >> 2] = wasm2js_f32$0; + $52 = 8; + i64toi32_i32$2 = ($6 + 44 | 0) + $52 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $266 = i64toi32_i32$0; + i64toi32_i32$0 = ($6 + 64 | 0) + $52 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $266; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$2 = $6; + i64toi32_i32$1 = HEAP32[($6 + 44 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($6 + 48 | 0) >> 2] | 0; + $270 = i64toi32_i32$1; + i64toi32_i32$1 = $6; + HEAP32[($6 + 64 | 0) >> 2] = $270; + HEAP32[($6 + 68 | 0) >> 2] = i64toi32_i32$0; + (wasm2js_i32$0 = $6, wasm2js_f32$0 = Math_fround(btVector3__dot_28btVector3_20const__29_20const(HEAP32[($6 + 84 | 0) >> 2] | 0 | 0, $6 + 64 | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 60 | 0) >> 2] = wasm2js_f32$0; + label$3 : { + if (!(Math_fround(HEAPF32[($6 + 60 | 0) >> 2]) > Math_fround(HEAPF32[($6 + 88 | 0) >> 2]) & 1 | 0)) { + break label$3 + } + HEAPF32[($6 + 88 | 0) >> 2] = Math_fround(HEAPF32[($6 + 60 | 0) >> 2]); + $76 = (HEAP32[($6 + 100 | 0) >> 2] | 0) + ((HEAP32[($6 + 92 | 0) >> 2] | 0) << 4 | 0) | 0; + i64toi32_i32$2 = $6; + i64toi32_i32$0 = HEAP32[($6 + 64 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($6 + 68 | 0) >> 2] | 0; + $311 = i64toi32_i32$0; + i64toi32_i32$0 = $76; + HEAP32[i64toi32_i32$0 >> 2] = $311; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $78 = 8; + i64toi32_i32$2 = ($6 + 64 | 0) + $78 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $324 = i64toi32_i32$1; + i64toi32_i32$1 = $76 + $78 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $324; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + } + HEAPF32[($6 + 12 | 0) >> 2] = Math_fround(0 | 0); + HEAPF32[($6 + 8 | 0) >> 2] = Math_fround(0 | 0); + HEAPF32[($6 + 4 | 0) >> 2] = Math_fround(0 | 0); + btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($6 + 16 | 0 | 0, $6 + 12 | 0 | 0, $6 + 8 | 0 | 0, $6 + 4 | 0 | 0) | 0; + $103 = Math_fround(-Math_fround(btCapsuleShape__getHalfHeight_28_29_20const($7 | 0))); + (wasm2js_i32$0 = (btVector3__operator_20float__28_29($6 + 16 | 0 | 0) | 0) + ((btCapsuleShape__getUpAxis_28_29_20const($7 | 0) | 0) << 2 | 0) | 0, wasm2js_f32$0 = $103), HEAPF32[wasm2js_i32$0 >> 2] = wasm2js_f32$0; + $112 = 8; + i64toi32_i32$2 = ($6 + 16 | 0) + $112 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $393 = i64toi32_i32$0; + i64toi32_i32$0 = ($6 + 64 | 0) + $112 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $393; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$2 = $6; + i64toi32_i32$1 = HEAP32[($6 + 16 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($6 + 20 | 0) >> 2] | 0; + $397 = i64toi32_i32$1; + i64toi32_i32$1 = $6; + HEAP32[($6 + 64 | 0) >> 2] = $397; + HEAP32[($6 + 68 | 0) >> 2] = i64toi32_i32$0; + (wasm2js_i32$0 = $6, wasm2js_f32$0 = Math_fround(btVector3__dot_28btVector3_20const__29_20const(HEAP32[($6 + 84 | 0) >> 2] | 0 | 0, $6 + 64 | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 60 | 0) >> 2] = wasm2js_f32$0; + label$4 : { + if (!(Math_fround(HEAPF32[($6 + 60 | 0) >> 2]) > Math_fround(HEAPF32[($6 + 88 | 0) >> 2]) & 1 | 0)) { + break label$4 + } + HEAPF32[($6 + 88 | 0) >> 2] = Math_fround(HEAPF32[($6 + 60 | 0) >> 2]); + $136 = (HEAP32[($6 + 100 | 0) >> 2] | 0) + ((HEAP32[($6 + 92 | 0) >> 2] | 0) << 4 | 0) | 0; + i64toi32_i32$2 = $6; + i64toi32_i32$0 = HEAP32[($6 + 64 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($6 + 68 | 0) >> 2] | 0; + $438 = i64toi32_i32$0; + i64toi32_i32$0 = $136; + HEAP32[i64toi32_i32$0 >> 2] = $438; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $138 = 8; + i64toi32_i32$2 = ($6 + 64 | 0) + $138 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $451 = i64toi32_i32$1; + i64toi32_i32$1 = $136 + $138 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $451; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + } + HEAP32[($6 + 92 | 0) >> 2] = (HEAP32[($6 + 92 | 0) >> 2] | 0) + 1 | 0; + continue label$2; + }; + } + __stack_pointer = $6 + 112 | 0; + return; + } + + function btCapsuleShape__calculateLocalInertia_28float_2c_20btVector3__29_20const($0, $1, $2) { + $0 = $0 | 0; + $1 = Math_fround($1); + $2 = $2 | 0; + var $5 = 0, $6 = 0, $19 = 0, $28 = 0, $20 = Math_fround(0), $68 = Math_fround(0), $75 = Math_fround(0), $82 = Math_fround(0), wasm2js_i32$0 = 0, wasm2js_f32$0 = Math_fround(0); + $5 = __stack_pointer - 128 | 0; + __stack_pointer = $5; + HEAP32[($5 + 124 | 0) >> 2] = $0; + HEAPF32[($5 + 120 | 0) >> 2] = $1; + HEAP32[($5 + 116 | 0) >> 2] = $2; + $6 = HEAP32[($5 + 124 | 0) >> 2] | 0; + btTransform__btTransform_28_29($5 + 52 | 0 | 0) | 0; + btTransform__setIdentity_28_29($5 + 52 | 0 | 0); + (wasm2js_i32$0 = $5, wasm2js_f32$0 = Math_fround(btCapsuleShape__getRadius_28_29_20const($6 | 0))), HEAPF32[(wasm2js_i32$0 + 48 | 0) >> 2] = wasm2js_f32$0; + $19 = $5 + 48 | 0; + btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($5 + 32 | 0 | 0, $19 | 0, $19 | 0, $19 | 0) | 0; + $20 = Math_fround(btCapsuleShape__getHalfHeight_28_29_20const($6 | 0)); + $28 = (btVector3__operator_20float__28_29($5 + 32 | 0 | 0) | 0) + ((btCapsuleShape__getUpAxis_28_29_20const($6 | 0) | 0) << 2 | 0) | 0; + HEAPF32[$28 >> 2] = Math_fround(Math_fround(HEAPF32[$28 >> 2]) + $20); + (wasm2js_i32$0 = $5, wasm2js_f32$0 = Math_fround(Math_fround(2.0) * Math_fround(HEAPF32[(btVector3__operator_20float__28_29($5 + 32 | 0 | 0) | 0) >> 2]))), HEAPF32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_f32$0; + (wasm2js_i32$0 = $5, wasm2js_f32$0 = Math_fround(Math_fround(2.0) * Math_fround(HEAPF32[((btVector3__operator_20float__28_29($5 + 32 | 0 | 0) | 0) + 4 | 0) >> 2]))), HEAPF32[(wasm2js_i32$0 + 24 | 0) >> 2] = wasm2js_f32$0; + (wasm2js_i32$0 = $5, wasm2js_f32$0 = Math_fround(Math_fround(2.0) * Math_fround(HEAPF32[((btVector3__operator_20float__28_29($5 + 32 | 0 | 0) | 0) + 8 | 0) >> 2]))), HEAPF32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_f32$0; + HEAPF32[($5 + 16 | 0) >> 2] = Math_fround(Math_fround(HEAPF32[($5 + 28 | 0) >> 2]) * Math_fround(HEAPF32[($5 + 28 | 0) >> 2])); + HEAPF32[($5 + 12 | 0) >> 2] = Math_fround(Math_fround(HEAPF32[($5 + 24 | 0) >> 2]) * Math_fround(HEAPF32[($5 + 24 | 0) >> 2])); + HEAPF32[($5 + 8 | 0) >> 2] = Math_fround(Math_fround(HEAPF32[($5 + 20 | 0) >> 2]) * Math_fround(HEAPF32[($5 + 20 | 0) >> 2])); + HEAPF32[($5 + 4 | 0) >> 2] = Math_fround(Math_fround(HEAPF32[($5 + 120 | 0) >> 2]) * Math_fround(.0833333283662796)); + $68 = Math_fround(Math_fround(HEAPF32[($5 + 4 | 0) >> 2]) * Math_fround(Math_fround(HEAPF32[($5 + 12 | 0) >> 2]) + Math_fround(HEAPF32[($5 + 8 | 0) >> 2]))); + (wasm2js_i32$0 = btVector3__operator_20float__28_29(HEAP32[($5 + 116 | 0) >> 2] | 0 | 0) | 0, wasm2js_f32$0 = $68), HEAPF32[wasm2js_i32$0 >> 2] = wasm2js_f32$0; + $75 = Math_fround(Math_fround(HEAPF32[($5 + 4 | 0) >> 2]) * Math_fround(Math_fround(HEAPF32[($5 + 16 | 0) >> 2]) + Math_fround(HEAPF32[($5 + 8 | 0) >> 2]))); + (wasm2js_i32$0 = btVector3__operator_20float__28_29(HEAP32[($5 + 116 | 0) >> 2] | 0 | 0) | 0, wasm2js_f32$0 = $75), HEAPF32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_f32$0; + $82 = Math_fround(Math_fround(HEAPF32[($5 + 4 | 0) >> 2]) * Math_fround(Math_fround(HEAPF32[($5 + 16 | 0) >> 2]) + Math_fround(HEAPF32[($5 + 12 | 0) >> 2]))); + (wasm2js_i32$0 = btVector3__operator_20float__28_29(HEAP32[($5 + 116 | 0) >> 2] | 0 | 0) | 0, wasm2js_f32$0 = $82), HEAPF32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_f32$0; + __stack_pointer = $5 + 128 | 0; + return; + } + + function btCapsuleShape___btCapsuleShape_28_29($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + btConvexInternalShape___btConvexInternalShape_28_29($4 | 0) | 0; + __stack_pointer = $3 + 16 | 0; + return $4 | 0; + } + + function btCapsuleShape___btCapsuleShape_28_29_1($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + btCapsuleShape___btCapsuleShape_28_29($4 | 0) | 0; + btCapsuleShape__operator_20delete_28void__29($4 | 0); + __stack_pointer = $3 + 16 | 0; + return; + } + + function btCapsuleShape__operator_20delete_28void__29($0) { + $0 = $0 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + btAlignedFreeInternal_28void__29(HEAP32[($3 + 12 | 0) >> 2] | 0 | 0); + __stack_pointer = $3 + 16 | 0; + return; + } + + function btCapsuleShape__getAabb_28btTransform_20const__2c_20btVector3__2c_20btVector3__29_20const($0, $1, $2, $3) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + var $6 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, $7 = 0, $40 = 0, $41 = 0, $78 = 0, $80 = 0, $93 = 0, $95 = 0, $25 = Math_fround(0), $198 = 0, $202 = 0, $257 = 0, $270 = 0, $288 = 0, $298 = 0, wasm2js_i32$0 = 0, wasm2js_f32$0 = Math_fround(0); + $6 = __stack_pointer - 160 | 0; + __stack_pointer = $6; + HEAP32[($6 + 156 | 0) >> 2] = $0; + HEAP32[($6 + 152 | 0) >> 2] = $1; + HEAP32[($6 + 148 | 0) >> 2] = $2; + HEAP32[($6 + 144 | 0) >> 2] = $3; + $7 = HEAP32[($6 + 156 | 0) >> 2] | 0; + (wasm2js_i32$0 = $6, wasm2js_f32$0 = Math_fround(btCapsuleShape__getRadius_28_29_20const($7 | 0))), HEAPF32[(wasm2js_i32$0 + 124 | 0) >> 2] = wasm2js_f32$0; + (wasm2js_i32$0 = $6, wasm2js_f32$0 = Math_fround(btCapsuleShape__getRadius_28_29_20const($7 | 0))), HEAPF32[(wasm2js_i32$0 + 120 | 0) >> 2] = wasm2js_f32$0; + (wasm2js_i32$0 = $6, wasm2js_f32$0 = Math_fround(btCapsuleShape__getRadius_28_29_20const($7 | 0))), HEAPF32[(wasm2js_i32$0 + 116 | 0) >> 2] = wasm2js_f32$0; + btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($6 + 128 | 0 | 0, $6 + 124 | 0 | 0, $6 + 120 | 0 | 0, $6 + 116 | 0 | 0) | 0; + $25 = Math_fround(Math_fround(btCapsuleShape__getRadius_28_29_20const($7 | 0)) + Math_fround(btCapsuleShape__getHalfHeight_28_29_20const($7 | 0))); + (wasm2js_i32$0 = (btVector3__operator_20float__28_29($6 + 128 | 0 | 0) | 0) + ((HEAP32[($7 + 60 | 0) >> 2] | 0) << 2 | 0) | 0, wasm2js_f32$0 = $25), HEAPF32[wasm2js_i32$0 >> 2] = wasm2js_f32$0; + btMatrix3x3__absolute_28_29_20const($6 + 68 | 0 | 0, btTransform__getBasis_28_29_20const(HEAP32[($6 + 152 | 0) >> 2] | 0 | 0) | 0 | 0); + $40 = btTransform__getOrigin_28_29_20const(HEAP32[($6 + 152 | 0) >> 2] | 0 | 0) | 0; + $41 = 8; + i64toi32_i32$2 = $40 + $41 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $198 = i64toi32_i32$0; + i64toi32_i32$0 = ($6 + 48 | 0) + $41 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $198; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$2 = $40; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $202 = i64toi32_i32$1; + i64toi32_i32$1 = $6; + HEAP32[($6 + 48 | 0) >> 2] = $202; + HEAP32[($6 + 52 | 0) >> 2] = i64toi32_i32$0; + btVector3__dot3_28btVector3_20const__2c_20btVector3_20const__2c_20btVector3_20const__29_20const($6 + 32 | 0 | 0, $6 + 128 | 0 | 0, btMatrix3x3__operator_5b_5d_28int_29($6 + 68 | 0 | 0, 0 | 0) | 0 | 0, btMatrix3x3__operator_5b_5d_28int_29($6 + 68 | 0 | 0, 1 | 0) | 0 | 0, btMatrix3x3__operator_5b_5d_28int_29($6 + 68 | 0 | 0, 2 | 0) | 0 | 0); + operator__28btVector3_20const__2c_20btVector3_20const__29($6 + 16 | 0 | 0, $6 + 48 | 0 | 0, $6 + 32 | 0 | 0); + $78 = HEAP32[($6 + 148 | 0) >> 2] | 0; + i64toi32_i32$2 = $6; + i64toi32_i32$0 = HEAP32[($6 + 16 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($6 + 20 | 0) >> 2] | 0; + $257 = i64toi32_i32$0; + i64toi32_i32$0 = $78; + HEAP32[i64toi32_i32$0 >> 2] = $257; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $80 = 8; + i64toi32_i32$2 = ($6 + 16 | 0) + $80 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $270 = i64toi32_i32$1; + i64toi32_i32$1 = $78 + $80 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $270; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + operator__28btVector3_20const__2c_20btVector3_20const__29_2($6 | 0, $6 + 48 | 0 | 0, $6 + 32 | 0 | 0); + $93 = HEAP32[($6 + 144 | 0) >> 2] | 0; + i64toi32_i32$2 = $6; + i64toi32_i32$0 = HEAP32[$6 >> 2] | 0; + i64toi32_i32$1 = HEAP32[($6 + 4 | 0) >> 2] | 0; + $288 = i64toi32_i32$0; + i64toi32_i32$0 = $93; + HEAP32[i64toi32_i32$0 >> 2] = $288; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $95 = 8; + i64toi32_i32$2 = $6 + $95 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $298 = i64toi32_i32$1; + i64toi32_i32$1 = $93 + $95 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $298; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + __stack_pointer = $6 + 160 | 0; + return; + } + + function btCapsuleShape__setLocalScaling_28btVector3_20const__29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, $5 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, $22 = 0, $24 = 0, $92 = 0, $105 = 0, wasm2js_i32$0 = 0, wasm2js_f32$0 = Math_fround(0); + $4 = __stack_pointer - 48 | 0; + __stack_pointer = $4; + HEAP32[($4 + 44 | 0) >> 2] = $0; + HEAP32[($4 + 40 | 0) >> 2] = $1; + $5 = HEAP32[($4 + 44 | 0) >> 2] | 0; + operator__28btVector3_20const__2c_20btVector3_20const__29_3($4 + 24 | 0 | 0, $5 + 36 | 0 | 0, $5 + 20 | 0 | 0); + btConvexInternalShape__setLocalScaling_28btVector3_20const__29($5 | 0, HEAP32[($4 + 40 | 0) >> 2] | 0 | 0); + operator__28btVector3_20const__2c_20btVector3_20const__29_1($4 + 8 | 0 | 0, $4 + 24 | 0 | 0, HEAP32[($4 + 40 | 0) >> 2] | 0 | 0); + $22 = $5 + 36 | 0; + i64toi32_i32$2 = $4; + i64toi32_i32$0 = HEAP32[($4 + 8 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($4 + 12 | 0) >> 2] | 0; + $92 = i64toi32_i32$0; + i64toi32_i32$0 = $22; + HEAP32[i64toi32_i32$0 >> 2] = $92; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $24 = 8; + i64toi32_i32$2 = ($4 + 8 | 0) + $24 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $105 = i64toi32_i32$1; + i64toi32_i32$1 = $22 + $24 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $105; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($4 + 4 | 0) >> 2] = ((HEAP32[($5 + 60 | 0) >> 2] | 0) + 2 | 0 | 0) % (3 | 0) | 0; + (wasm2js_i32$0 = $5, wasm2js_f32$0 = Math_fround(HEAPF32[((btVector3__operator_20float__28_29($5 + 36 | 0 | 0) | 0) + ((HEAP32[($4 + 4 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2])), HEAPF32[(wasm2js_i32$0 + 52 | 0) >> 2] = wasm2js_f32$0; + __stack_pointer = $4 + 48 | 0; + return; + } + + function btCapsuleShape__getName_28_29_20const($0) { + $0 = $0 | 0; + HEAP32[((__stack_pointer - 16 | 0) + 12 | 0) >> 2] = $0; + return 81655 | 0; + } + + function btCapsuleShape__getAnisotropicRollingFrictionDirection_28_29_20const($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, $5 = 0, wasm2js_i32$0 = 0, wasm2js_f32$0 = Math_fround(0); + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[($4 + 12 | 0) >> 2] = $1; + $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; + HEAPF32[($4 + 8 | 0) >> 2] = Math_fround(0 | 0); + HEAPF32[($4 + 4 | 0) >> 2] = Math_fround(0 | 0); + HEAPF32[$4 >> 2] = Math_fround(0 | 0); + btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($0 | 0, $4 + 8 | 0 | 0, $4 + 4 | 0 | 0, $4 | 0) | 0; + (wasm2js_i32$0 = (btVector3__operator_20float__28_29($0 | 0) | 0) + ((btCapsuleShape__getUpAxis_28_29_20const($5 | 0) | 0) << 2 | 0) | 0, wasm2js_f32$0 = Math_fround(1.0)), HEAPF32[wasm2js_i32$0 >> 2] = wasm2js_f32$0; + __stack_pointer = $4 + 16 | 0; + return; + } + + function btCapsuleShape__setMargin_28float_29($0, $1) { + $0 = $0 | 0; + $1 = Math_fround($1); + var $4 = 0; + $4 = __stack_pointer - 16 | 0; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAPF32[($4 + 8 | 0) >> 2] = $1; + return; + } + + function btCapsuleShape__calculateSerializeBufferSize_28_29_20const($0) { + $0 = $0 | 0; + HEAP32[((__stack_pointer - 16 | 0) + 12 | 0) >> 2] = $0; + return 60 | 0; + } + + function btCapsuleShape__serialize_28void__2c_20btSerializer__29_20const($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $5 = 0, $6 = 0; + $5 = __stack_pointer - 16 | 0; + __stack_pointer = $5; + HEAP32[($5 + 12 | 0) >> 2] = $0; + HEAP32[($5 + 8 | 0) >> 2] = $1; + HEAP32[($5 + 4 | 0) >> 2] = $2; + $6 = HEAP32[($5 + 12 | 0) >> 2] | 0; + HEAP32[$5 >> 2] = HEAP32[($5 + 8 | 0) >> 2] | 0; + btConvexInternalShape__serialize_28void__2c_20btSerializer__29_20const($6 | 0, HEAP32[$5 >> 2] | 0 | 0, HEAP32[($5 + 4 | 0) >> 2] | 0 | 0) | 0; + HEAP32[((HEAP32[$5 >> 2] | 0) + 52 | 0) >> 2] = HEAP32[($6 + 60 | 0) >> 2] | 0; + HEAP8[((HEAP32[$5 >> 2] | 0) + 56 | 0) >> 0] = 0; + HEAP8[((HEAP32[$5 >> 2] | 0) + 57 | 0) >> 0] = 0; + HEAP8[((HEAP32[$5 >> 2] | 0) + 58 | 0) >> 0] = 0; + HEAP8[((HEAP32[$5 >> 2] | 0) + 59 | 0) >> 0] = 0; + __stack_pointer = $5 + 16 | 0; + return 83594 | 0; + } + + function btConvexInternalShape__getNumPreferredPenetrationDirections_28_29_20const($0) { + $0 = $0 | 0; + HEAP32[((__stack_pointer - 16 | 0) + 12 | 0) >> 2] = $0; + return 0 | 0; + } + + function btConvexInternalShape__getPreferredPenetrationDirection_28int_2c_20btVector3__29_20const($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $5 = 0; + $5 = __stack_pointer - 16 | 0; + __stack_pointer = $5; + HEAP32[($5 + 12 | 0) >> 2] = $0; + HEAP32[($5 + 8 | 0) >> 2] = $1; + HEAP32[($5 + 4 | 0) >> 2] = $2; + __assert_fail(86177 | 0, 79195 | 0, 132 | 0, 76388 | 0); + wasm2js_trap(); + } + + function _GLOBAL__sub_I_btCapsuleShape_cpp() { + __cxx_global_var_init_31(); + return; + } + + function __cxx_global_var_init_32() { + btInfMaskConverter__btInfMaskConverter_28int_29(114096 | 0, 2139095040 | 0) | 0; + return; + } + + function btCollisionShape__getBoundingSphere_28btVector3__2c_20float__29_20const($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $5 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, $6 = 0, $63 = 0, $65 = 0, $44 = Math_fround(0), $192 = 0, $205 = 0; + $5 = __stack_pointer - 160 | 0; + __stack_pointer = $5; + HEAP32[($5 + 156 | 0) >> 2] = $0; + HEAP32[($5 + 152 | 0) >> 2] = $1; + HEAP32[($5 + 148 | 0) >> 2] = $2; + $6 = HEAP32[($5 + 156 | 0) >> 2] | 0; + btTransform__btTransform_28_29($5 + 84 | 0 | 0) | 0; + btTransform__setIdentity_28_29($5 + 84 | 0 | 0); + btVector3__btVector3_28_29($5 + 68 | 0 | 0) | 0; + btVector3__btVector3_28_29($5 + 52 | 0 | 0) | 0; + FUNCTION_TABLE[HEAP32[((HEAP32[$6 >> 2] | 0) + 8 | 0) >> 2] | 0 | 0]($6, $5 + 84 | 0, $5 + 68 | 0, $5 + 52 | 0); + operator__28btVector3_20const__2c_20btVector3_20const__29($5 + 36 | 0 | 0, $5 + 52 | 0 | 0, $5 + 68 | 0 | 0); + $44 = Math_fround(Math_fround(btVector3__length_28_29_20const($5 + 36 | 0 | 0)) * Math_fround(.5)); + HEAPF32[(HEAP32[($5 + 148 | 0) >> 2] | 0) >> 2] = $44; + operator__28btVector3_20const__2c_20btVector3_20const__29_2($5 + 4 | 0 | 0, $5 + 68 | 0 | 0, $5 + 52 | 0 | 0); + HEAPF32[$5 >> 2] = Math_fround(.5); + operator__28btVector3_20const__2c_20float_20const__29($5 + 20 | 0 | 0, $5 + 4 | 0 | 0, $5 | 0); + $63 = HEAP32[($5 + 152 | 0) >> 2] | 0; + i64toi32_i32$2 = $5; + i64toi32_i32$0 = HEAP32[($5 + 20 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($5 + 24 | 0) >> 2] | 0; + $192 = i64toi32_i32$0; + i64toi32_i32$0 = $63; + HEAP32[i64toi32_i32$0 >> 2] = $192; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $65 = 8; + i64toi32_i32$2 = ($5 + 20 | 0) + $65 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $205 = i64toi32_i32$1; + i64toi32_i32$1 = $63 + $65 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $205; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + __stack_pointer = $5 + 160 | 0; + return; + } + + function btCollisionShape__getContactBreakingThreshold_28float_29_20const($0, $1) { + $0 = $0 | 0; + $1 = Math_fround($1); + var $4 = 0, $5 = 0, $10 = Math_fround(0); + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAPF32[($4 + 8 | 0) >> 2] = $1; + $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; + $10 = Math_fround(Math_fround(FUNCTION_TABLE[HEAP32[((HEAP32[$5 >> 2] | 0) + 16 | 0) >> 2] | 0 | 0]($5)) * Math_fround(HEAPF32[($4 + 8 | 0) >> 2])); + __stack_pointer = $4 + 16 | 0; + return Math_fround($10); + } + + function btCollisionShape__getAngularMotionDisc_28_29_20const($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0, $19 = Math_fround(0), $22 = Math_fround(0); + $3 = __stack_pointer - 32 | 0; + __stack_pointer = $3; + HEAP32[($3 + 28 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 28 | 0) >> 2] | 0; + btVector3__btVector3_28_29($3 + 12 | 0 | 0) | 0; + FUNCTION_TABLE[HEAP32[((HEAP32[$4 >> 2] | 0) + 12 | 0) >> 2] | 0 | 0]($4, $3 + 12 | 0, $3 + 8 | 0); + $19 = Math_fround(btVector3__length_28_29_20const($3 + 12 | 0 | 0)); + HEAPF32[($3 + 8 | 0) >> 2] = Math_fround(Math_fround(HEAPF32[($3 + 8 | 0) >> 2]) + $19); + $22 = Math_fround(HEAPF32[($3 + 8 | 0) >> 2]); + __stack_pointer = $3 + 32 | 0; + return Math_fround($22); + } + + function btCollisionShape__calculateTemporalAabb_28btTransform_20const__2c_20btVector3_20const__2c_20btVector3_20const__2c_20float_2c_20btVector3__2c_20btVector3__29_20const($0, $1, $2, $3, $4, $5, $6) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + $4 = Math_fround($4); + $5 = $5 | 0; + $6 = $6 | 0; + var $9 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, $10 = 0, $126 = 0, $139 = 0, $141 = 0, $159 = 0, $161 = 0, $55 = Math_fround(0), $62 = Math_fround(0), $79 = Math_fround(0), $86 = Math_fround(0), $103 = Math_fround(0), $110 = Math_fround(0), $478 = 0, $491 = 0, $518 = 0, $531 = 0, wasm2js_i32$0 = 0, wasm2js_f32$0 = Math_fround(0); + $9 = __stack_pointer - 128 | 0; + __stack_pointer = $9; + HEAP32[($9 + 124 | 0) >> 2] = $0; + HEAP32[($9 + 120 | 0) >> 2] = $1; + HEAP32[($9 + 116 | 0) >> 2] = $2; + HEAP32[($9 + 112 | 0) >> 2] = $3; + HEAPF32[($9 + 108 | 0) >> 2] = $4; + HEAP32[($9 + 104 | 0) >> 2] = $5; + HEAP32[($9 + 100 | 0) >> 2] = $6; + $10 = HEAP32[($9 + 124 | 0) >> 2] | 0; + FUNCTION_TABLE[HEAP32[((HEAP32[$10 >> 2] | 0) + 8 | 0) >> 2] | 0 | 0]($10, HEAP32[($9 + 120 | 0) >> 2] | 0, HEAP32[($9 + 104 | 0) >> 2] | 0, HEAP32[($9 + 100 | 0) >> 2] | 0); + (wasm2js_i32$0 = $9, wasm2js_f32$0 = Math_fround(HEAPF32[(btVector3__getX_28_29_20const(HEAP32[($9 + 100 | 0) >> 2] | 0 | 0) | 0) >> 2])), HEAPF32[(wasm2js_i32$0 + 96 | 0) >> 2] = wasm2js_f32$0; + (wasm2js_i32$0 = $9, wasm2js_f32$0 = Math_fround(HEAPF32[(btVector3__getY_28_29_20const(HEAP32[($9 + 100 | 0) >> 2] | 0 | 0) | 0) >> 2])), HEAPF32[(wasm2js_i32$0 + 92 | 0) >> 2] = wasm2js_f32$0; + (wasm2js_i32$0 = $9, wasm2js_f32$0 = Math_fround(HEAPF32[(btVector3__getZ_28_29_20const(HEAP32[($9 + 100 | 0) >> 2] | 0 | 0) | 0) >> 2])), HEAPF32[(wasm2js_i32$0 + 88 | 0) >> 2] = wasm2js_f32$0; + (wasm2js_i32$0 = $9, wasm2js_f32$0 = Math_fround(HEAPF32[(btVector3__getX_28_29_20const(HEAP32[($9 + 104 | 0) >> 2] | 0 | 0) | 0) >> 2])), HEAPF32[(wasm2js_i32$0 + 84 | 0) >> 2] = wasm2js_f32$0; + (wasm2js_i32$0 = $9, wasm2js_f32$0 = Math_fround(HEAPF32[(btVector3__getY_28_29_20const(HEAP32[($9 + 104 | 0) >> 2] | 0 | 0) | 0) >> 2])), HEAPF32[(wasm2js_i32$0 + 80 | 0) >> 2] = wasm2js_f32$0; + (wasm2js_i32$0 = $9, wasm2js_f32$0 = Math_fround(HEAPF32[(btVector3__getZ_28_29_20const(HEAP32[($9 + 104 | 0) >> 2] | 0 | 0) | 0) >> 2])), HEAPF32[(wasm2js_i32$0 + 76 | 0) >> 2] = wasm2js_f32$0; + operator__28btVector3_20const__2c_20float_20const__29($9 + 60 | 0 | 0, HEAP32[($9 + 116 | 0) >> 2] | 0 | 0, $9 + 108 | 0 | 0); + label$1 : { + label$2 : { + if (!(Math_fround(HEAPF32[(btVector3__x_28_29_20const($9 + 60 | 0 | 0) | 0) >> 2]) > Math_fround(0 | 0) & 1 | 0)) { + break label$2 + } + $55 = Math_fround(HEAPF32[(btVector3__x_28_29_20const($9 + 60 | 0 | 0) | 0) >> 2]); + HEAPF32[($9 + 96 | 0) >> 2] = Math_fround(Math_fround(HEAPF32[($9 + 96 | 0) >> 2]) + $55); + break label$1; + } + $62 = Math_fround(HEAPF32[(btVector3__x_28_29_20const($9 + 60 | 0 | 0) | 0) >> 2]); + HEAPF32[($9 + 84 | 0) >> 2] = Math_fround(Math_fround(HEAPF32[($9 + 84 | 0) >> 2]) + $62); + } + label$3 : { + label$4 : { + if (!(Math_fround(HEAPF32[(btVector3__y_28_29_20const($9 + 60 | 0 | 0) | 0) >> 2]) > Math_fround(0 | 0) & 1 | 0)) { + break label$4 + } + $79 = Math_fround(HEAPF32[(btVector3__y_28_29_20const($9 + 60 | 0 | 0) | 0) >> 2]); + HEAPF32[($9 + 92 | 0) >> 2] = Math_fround(Math_fround(HEAPF32[($9 + 92 | 0) >> 2]) + $79); + break label$3; + } + $86 = Math_fround(HEAPF32[(btVector3__y_28_29_20const($9 + 60 | 0 | 0) | 0) >> 2]); + HEAPF32[($9 + 80 | 0) >> 2] = Math_fround(Math_fround(HEAPF32[($9 + 80 | 0) >> 2]) + $86); + } + label$5 : { + label$6 : { + if (!(Math_fround(HEAPF32[(btVector3__z_28_29_20const($9 + 60 | 0 | 0) | 0) >> 2]) > Math_fround(0 | 0) & 1 | 0)) { + break label$6 + } + $103 = Math_fround(HEAPF32[(btVector3__z_28_29_20const($9 + 60 | 0 | 0) | 0) >> 2]); + HEAPF32[($9 + 88 | 0) >> 2] = Math_fround(Math_fround(HEAPF32[($9 + 88 | 0) >> 2]) + $103); + break label$5; + } + $110 = Math_fround(HEAPF32[(btVector3__z_28_29_20const($9 + 60 | 0 | 0) | 0) >> 2]); + HEAPF32[($9 + 76 | 0) >> 2] = Math_fround(Math_fround(HEAPF32[($9 + 76 | 0) >> 2]) + $110); + } + (wasm2js_i32$0 = $9, wasm2js_f32$0 = Math_fround(Math_fround(Math_fround(btVector3__length_28_29_20const(HEAP32[($9 + 112 | 0) >> 2] | 0 | 0)) * Math_fround(FUNCTION_TABLE[HEAP32[((HEAP32[$10 >> 2] | 0) + 16 | 0) >> 2] | 0 | 0]($10))) * Math_fround(HEAPF32[($9 + 108 | 0) >> 2]))), HEAPF32[(wasm2js_i32$0 + 56 | 0) >> 2] = wasm2js_f32$0; + $126 = $9 + 56 | 0; + btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($9 + 40 | 0 | 0, $126 | 0, $126 | 0, $126 | 0) | 0; + btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($9 + 24 | 0 | 0, $9 + 84 | 0 | 0, $9 + 80 | 0 | 0, $9 + 76 | 0 | 0) | 0; + $139 = HEAP32[($9 + 104 | 0) >> 2] | 0; + i64toi32_i32$2 = $9; + i64toi32_i32$0 = HEAP32[($9 + 24 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($9 + 28 | 0) >> 2] | 0; + $478 = i64toi32_i32$0; + i64toi32_i32$0 = $139; + HEAP32[i64toi32_i32$0 >> 2] = $478; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $141 = 8; + i64toi32_i32$2 = ($9 + 24 | 0) + $141 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $491 = i64toi32_i32$1; + i64toi32_i32$1 = $139 + $141 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $491; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($9 + 8 | 0 | 0, $9 + 96 | 0 | 0, $9 + 92 | 0 | 0, $9 + 88 | 0 | 0) | 0; + $159 = HEAP32[($9 + 100 | 0) >> 2] | 0; + i64toi32_i32$2 = $9; + i64toi32_i32$0 = HEAP32[($9 + 8 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($9 + 12 | 0) >> 2] | 0; + $518 = i64toi32_i32$0; + i64toi32_i32$0 = $159; + HEAP32[i64toi32_i32$0 >> 2] = $518; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $161 = 8; + i64toi32_i32$2 = ($9 + 8 | 0) + $161 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $531 = i64toi32_i32$1; + i64toi32_i32$1 = $159 + $161 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $531; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + btVector3__operator___28btVector3_20const__29(HEAP32[($9 + 104 | 0) >> 2] | 0 | 0, $9 + 40 | 0 | 0) | 0; + btVector3__operator___28btVector3_20const__29_1(HEAP32[($9 + 100 | 0) >> 2] | 0 | 0, $9 + 40 | 0 | 0) | 0; + __stack_pointer = $9 + 128 | 0; + return; + } + + function btCollisionShape__serialize_28void__2c_20btSerializer__29_20const($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $5 = 0, $6 = 0, $8 = 0, $12 = 0, $26 = 0, $16 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5 = __stack_pointer - 32 | 0; + __stack_pointer = $5; + HEAP32[($5 + 28 | 0) >> 2] = $0; + HEAP32[($5 + 24 | 0) >> 2] = $1; + HEAP32[($5 + 20 | 0) >> 2] = $2; + $6 = HEAP32[($5 + 28 | 0) >> 2] | 0; + HEAP32[($5 + 16 | 0) >> 2] = HEAP32[($5 + 24 | 0) >> 2] | 0; + $8 = HEAP32[($5 + 20 | 0) >> 2] | 0; + (wasm2js_i32$0 = $5, wasm2js_i32$1 = FUNCTION_TABLE[HEAP32[((HEAP32[$8 >> 2] | 0) + 40 | 0) >> 2] | 0 | 0]($8, $6) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + $12 = HEAP32[($5 + 20 | 0) >> 2] | 0; + $16 = FUNCTION_TABLE[HEAP32[((HEAP32[$12 >> 2] | 0) + 28 | 0) >> 2] | 0 | 0]($12, HEAP32[($5 + 12 | 0) >> 2] | 0) | 0; + HEAP32[(HEAP32[($5 + 16 | 0) >> 2] | 0) >> 2] = $16; + label$1 : { + if (!((HEAP32[(HEAP32[($5 + 16 | 0) >> 2] | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + $26 = HEAP32[($5 + 20 | 0) >> 2] | 0; + FUNCTION_TABLE[HEAP32[((HEAP32[$26 >> 2] | 0) + 48 | 0) >> 2] | 0 | 0]($26, HEAP32[($5 + 12 | 0) >> 2] | 0); + } + HEAP32[((HEAP32[($5 + 16 | 0) >> 2] | 0) + 4 | 0) >> 2] = HEAP32[($6 + 4 | 0) >> 2] | 0; + HEAP32[((HEAP32[($5 + 16 | 0) >> 2] | 0) + 8 | 0) >> 2] = 0; + __stack_pointer = $5 + 32 | 0; + return 83454 | 0; + } + + function btCollisionShape__serializeSingleShape_28btSerializer__29_20const($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, $5 = 0, $9 = 0, $21 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4 = __stack_pointer - 32 | 0; + __stack_pointer = $4; + HEAP32[($4 + 28 | 0) >> 2] = $0; + HEAP32[($4 + 24 | 0) >> 2] = $1; + $5 = HEAP32[($4 + 28 | 0) >> 2] | 0; + (wasm2js_i32$0 = $4, wasm2js_i32$1 = FUNCTION_TABLE[HEAP32[((HEAP32[$5 >> 2] | 0) + 52 | 0) >> 2] | 0 | 0]($5) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + $9 = HEAP32[($4 + 24 | 0) >> 2] | 0; + (wasm2js_i32$0 = $4, wasm2js_i32$1 = FUNCTION_TABLE[HEAP32[((HEAP32[$9 >> 2] | 0) + 16 | 0) >> 2] | 0 | 0]($9, HEAP32[($4 + 20 | 0) >> 2] | 0, 1) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $4, wasm2js_i32$1 = FUNCTION_TABLE[HEAP32[((HEAP32[$5 >> 2] | 0) + 56 | 0) >> 2] | 0 | 0]($5, HEAP32[((HEAP32[($4 + 16 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0, HEAP32[($4 + 24 | 0) >> 2] | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + $21 = HEAP32[($4 + 24 | 0) >> 2] | 0; + FUNCTION_TABLE[HEAP32[((HEAP32[$21 >> 2] | 0) + 20 | 0) >> 2] | 0 | 0]($21, HEAP32[($4 + 16 | 0) >> 2] | 0, HEAP32[($4 + 12 | 0) >> 2] | 0, 1346455635, $5); + __stack_pointer = $4 + 32 | 0; + return; + } + + function btCollisionShape___btCollisionShape_28_29($0) { + $0 = $0 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + return HEAP32[($3 + 12 | 0) >> 2] | 0 | 0; + } + + function btCollisionShape___btCollisionShape_28_29_1($0) { + $0 = $0 | 0; + HEAP32[((__stack_pointer - 16 | 0) + 12 | 0) >> 2] = $0; + wasm2js_trap(); + } + + function btCollisionShape__calculateSerializeBufferSize_28_29_20const($0) { + $0 = $0 | 0; + HEAP32[((__stack_pointer - 16 | 0) + 12 | 0) >> 2] = $0; + return 12 | 0; + } + + function _GLOBAL__sub_I_btCollisionShape_cpp() { + __cxx_global_var_init_32(); + return; + } + + function __cxx_global_var_init_33() { + btInfMaskConverter__btInfMaskConverter_28int_29(114100 | 0, 2139095040 | 0) | 0; + return; + } + + function btCompoundShape__btCompoundShape_28bool_2c_20int_29($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $5 = 0, $7 = 0, $66 = 0, $81 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5 = __stack_pointer - 64 | 0; + __stack_pointer = $5; + HEAP32[($5 + 56 | 0) >> 2] = $0; + HEAP8[($5 + 55 | 0) >> 0] = $1; + HEAP32[($5 + 48 | 0) >> 2] = $2; + $7 = HEAP32[($5 + 56 | 0) >> 2] | 0; + HEAP32[($5 + 60 | 0) >> 2] = $7; + btCollisionShape__btCollisionShape_28_29($7 | 0) | 0; + HEAP32[$7 >> 2] = 97860 + 8 | 0; + btAlignedObjectArray_btCompoundShapeChild___btAlignedObjectArray_28_29($7 + 20 | 0 | 0) | 0; + HEAPF32[($5 + 44 | 0) >> 2] = Math_fround(999999984306749440.0); + HEAPF32[($5 + 40 | 0) >> 2] = Math_fround(999999984306749440.0); + HEAPF32[($5 + 36 | 0) >> 2] = Math_fround(999999984306749440.0); + btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($7 + 40 | 0 | 0, $5 + 44 | 0 | 0, $5 + 40 | 0 | 0, $5 + 36 | 0 | 0) | 0; + HEAPF32[($5 + 32 | 0) >> 2] = Math_fround(-999999984306749440.0); + HEAPF32[($5 + 28 | 0) >> 2] = Math_fround(-999999984306749440.0); + HEAPF32[($5 + 24 | 0) >> 2] = Math_fround(-999999984306749440.0); + btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($7 + 56 | 0 | 0, $5 + 32 | 0 | 0, $5 + 28 | 0 | 0, $5 + 24 | 0 | 0) | 0; + HEAP32[($7 + 72 | 0) >> 2] = 0; + HEAP32[($7 + 76 | 0) >> 2] = 1; + HEAPF32[($7 + 80 | 0) >> 2] = Math_fround(0 | 0); + HEAPF32[($5 + 20 | 0) >> 2] = Math_fround(1.0); + HEAPF32[($5 + 16 | 0) >> 2] = Math_fround(1.0); + HEAPF32[($5 + 12 | 0) >> 2] = Math_fround(1.0); + btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($7 + 84 | 0 | 0, $5 + 20 | 0 | 0, $5 + 16 | 0 | 0, $5 + 12 | 0 | 0) | 0; + HEAP32[($7 + 4 | 0) >> 2] = 31; + label$1 : { + if (!((HEAPU8[($5 + 55 | 0) >> 0] | 0) & 1 | 0)) { + break label$1 + } + (wasm2js_i32$0 = $5, wasm2js_i32$1 = btAlignedAllocInternal_28unsigned_20long_2c_20int_29(40 | 0, 16 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + $66 = HEAP32[($5 + 8 | 0) >> 2] | 0; + btDbvt__btDbvt_28_29($66 | 0) | 0; + HEAP32[($7 + 72 | 0) >> 2] = $66; + label$2 : { + if ((HEAP32[($5 + 8 | 0) >> 2] | 0 | 0) == (HEAP32[($7 + 72 | 0) >> 2] | 0 | 0) & 1 | 0) { + break label$2 + } + __assert_fail(81981 | 0, 75140 | 0, 35 | 0, 81668 | 0); + wasm2js_trap(); + } + } + btAlignedObjectArray_btCompoundShapeChild___reserve_28int_29($7 + 20 | 0 | 0, HEAP32[($5 + 48 | 0) >> 2] | 0 | 0); + $81 = HEAP32[($5 + 60 | 0) >> 2] | 0; + __stack_pointer = $5 + 64 | 0; + return $81 | 0; + } + + function btCollisionShape__btCollisionShape_28_29($0) { + $0 = $0 | 0; + var $4 = 0, $3 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + HEAP32[$4 >> 2] = 97760 + 8 | 0; + HEAP32[($4 + 4 | 0) >> 2] = 35; + HEAP32[($4 + 8 | 0) >> 2] = 0; + HEAP32[($4 + 12 | 0) >> 2] = 0; + HEAP32[($4 + 16 | 0) >> 2] = 0; + return $4 | 0; + } + + function btAlignedObjectArray_btCompoundShapeChild___btAlignedObjectArray_28_29($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + btAlignedAllocator_btCompoundShapeChild_2c_2016u___btAlignedAllocator_28_29($4 | 0) | 0; + btAlignedObjectArray_btCompoundShapeChild___init_28_29($4 | 0); + __stack_pointer = $3 + 16 | 0; + return $4 | 0; + } + + function btAlignedObjectArray_btCompoundShapeChild___reserve_28int_29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, $5 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; + label$1 : { + if (!((btAlignedObjectArray_btCompoundShapeChild___capacity_28_29_20const($5 | 0) | 0 | 0) < (HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$1 + } + (wasm2js_i32$0 = $4, wasm2js_i32$1 = btAlignedObjectArray_btCompoundShapeChild___allocate_28int_29($5 | 0, HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + btAlignedObjectArray_btCompoundShapeChild___copy_28int_2c_20int_2c_20btCompoundShapeChild__29_20const($5 | 0, 0 | 0, btAlignedObjectArray_btCompoundShapeChild___size_28_29_20const($5 | 0) | 0 | 0, HEAP32[($4 + 4 | 0) >> 2] | 0 | 0); + btAlignedObjectArray_btCompoundShapeChild___destroy_28int_2c_20int_29($5 | 0, 0 | 0, btAlignedObjectArray_btCompoundShapeChild___size_28_29_20const($5 | 0) | 0 | 0); + btAlignedObjectArray_btCompoundShapeChild___deallocate_28_29($5 | 0); + HEAP8[($5 + 16 | 0) >> 0] = 1; + HEAP32[($5 + 12 | 0) >> 2] = HEAP32[($4 + 4 | 0) >> 2] | 0; + HEAP32[($5 + 8 | 0) >> 2] = HEAP32[($4 + 8 | 0) >> 2] | 0; + } + __stack_pointer = $4 + 16 | 0; + return; + } + + function btAlignedAllocator_btCompoundShapeChild_2c_2016u___btAlignedAllocator_28_29($0) { + $0 = $0 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + return HEAP32[($3 + 12 | 0) >> 2] | 0 | 0; + } + + function btAlignedObjectArray_btCompoundShapeChild___init_28_29($0) { + $0 = $0 | 0; + var $4 = 0, $3 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + HEAP8[($4 + 16 | 0) >> 0] = 1; + HEAP32[($4 + 12 | 0) >> 2] = 0; + HEAP32[($4 + 4 | 0) >> 2] = 0; + HEAP32[($4 + 8 | 0) >> 2] = 0; + return; + } + + function btAlignedObjectArray_btCompoundShapeChild___capacity_28_29_20const($0) { + $0 = $0 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + return HEAP32[((HEAP32[($3 + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0; + } + + function btAlignedObjectArray_btCompoundShapeChild___allocate_28int_29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, $5 = 0, $11 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[($4 + 8 | 0) >> 2] = $0; + HEAP32[($4 + 4 | 0) >> 2] = $1; + $5 = HEAP32[($4 + 8 | 0) >> 2] | 0; + label$1 : { + label$2 : { + if (!(HEAP32[($4 + 4 | 0) >> 2] | 0)) { + break label$2 + } + (wasm2js_i32$0 = $4, wasm2js_i32$1 = btAlignedAllocator_btCompoundShapeChild_2c_2016u___allocate_28int_2c_20btCompoundShapeChild_20const___29($5 | 0, HEAP32[($4 + 4 | 0) >> 2] | 0 | 0, 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + break label$1; + } + HEAP32[($4 + 12 | 0) >> 2] = 0; + } + $11 = HEAP32[($4 + 12 | 0) >> 2] | 0; + __stack_pointer = $4 + 16 | 0; + return $11 | 0; + } + + function btAlignedObjectArray_btCompoundShapeChild___copy_28int_2c_20int_2c_20btCompoundShapeChild__29_20const($0, $1, $2, $3) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + var $6 = 0, $7 = 0; + $6 = __stack_pointer - 32 | 0; + __stack_pointer = $6; + HEAP32[($6 + 28 | 0) >> 2] = $0; + HEAP32[($6 + 24 | 0) >> 2] = $1; + HEAP32[($6 + 20 | 0) >> 2] = $2; + HEAP32[($6 + 16 | 0) >> 2] = $3; + $7 = HEAP32[($6 + 28 | 0) >> 2] | 0; + HEAP32[($6 + 12 | 0) >> 2] = HEAP32[($6 + 24 | 0) >> 2] | 0; + label$1 : { + label$2 : while (1) { + if (!((HEAP32[($6 + 12 | 0) >> 2] | 0 | 0) < (HEAP32[($6 + 20 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$1 + } + btCompoundShapeChild__btCompoundShapeChild_28btCompoundShapeChild_20const__29(btCompoundShapeChild__operator_20new_28unsigned_20long_2c_20void__29(80 | 0, (HEAP32[($6 + 16 | 0) >> 2] | 0) + Math_imul(HEAP32[($6 + 12 | 0) >> 2] | 0, 80) | 0 | 0) | 0 | 0, (HEAP32[($7 + 12 | 0) >> 2] | 0) + Math_imul(HEAP32[($6 + 12 | 0) >> 2] | 0, 80) | 0 | 0) | 0; + HEAP32[($6 + 12 | 0) >> 2] = (HEAP32[($6 + 12 | 0) >> 2] | 0) + 1 | 0; + continue label$2; + }; + } + __stack_pointer = $6 + 32 | 0; + return; + } + + function btAlignedObjectArray_btCompoundShapeChild___destroy_28int_2c_20int_29($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $5 = 0; + $5 = __stack_pointer - 16 | 0; + HEAP32[($5 + 12 | 0) >> 2] = $0; + HEAP32[($5 + 8 | 0) >> 2] = $1; + HEAP32[($5 + 4 | 0) >> 2] = $2; + HEAP32[($5 + 12 | 0) >> 2] | 0; + HEAP32[$5 >> 2] = HEAP32[($5 + 8 | 0) >> 2] | 0; + label$1 : { + label$2 : while (1) { + if (!((HEAP32[$5 >> 2] | 0 | 0) < (HEAP32[($5 + 4 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$1 + } + HEAP32[$5 >> 2] = (HEAP32[$5 >> 2] | 0) + 1 | 0; + continue label$2; + }; + } + return; + } + + function btAlignedObjectArray_btCompoundShapeChild___deallocate_28_29($0) { + $0 = $0 | 0; + var $4 = 0, $3 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + label$1 : { + if (!((HEAP32[($4 + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + label$2 : { + if (!((HEAPU8[($4 + 16 | 0) >> 0] | 0) & 1 | 0)) { + break label$2 + } + btAlignedAllocator_btCompoundShapeChild_2c_2016u___deallocate_28btCompoundShapeChild__29($4 | 0, HEAP32[($4 + 12 | 0) >> 2] | 0 | 0); + } + HEAP32[($4 + 12 | 0) >> 2] = 0; + } + __stack_pointer = $3 + 16 | 0; + return; + } + + function btCompoundShape___btCompoundShape_28_29($0) { + $0 = $0 | 0; + var $4 = 0, $3 = 0, $19 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 8 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 8 | 0) >> 2] | 0; + HEAP32[($3 + 12 | 0) >> 2] = $4; + HEAP32[$4 >> 2] = 97860 + 8 | 0; + label$1 : { + if (!((HEAP32[($4 + 72 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + btDbvt___btDbvt_28_29(HEAP32[($4 + 72 | 0) >> 2] | 0 | 0) | 0; + btAlignedFreeInternal_28void__29(HEAP32[($4 + 72 | 0) >> 2] | 0 | 0); + } + btAlignedObjectArray_btCompoundShapeChild____btAlignedObjectArray_28_29($4 + 20 | 0 | 0) | 0; + btCollisionShape___btCollisionShape_28_29($4 | 0) | 0; + $19 = HEAP32[($3 + 12 | 0) >> 2] | 0; + __stack_pointer = $3 + 16 | 0; + return $19 | 0; + } + + function btAlignedObjectArray_btCompoundShapeChild____btAlignedObjectArray_28_29($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + btAlignedObjectArray_btCompoundShapeChild___clear_28_29($4 | 0); + __stack_pointer = $3 + 16 | 0; + return $4 | 0; + } + + function btAlignedObjectArray_btCompoundShapeChild___clear_28_29($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + btAlignedObjectArray_btCompoundShapeChild___destroy_28int_2c_20int_29($4 | 0, 0 | 0, btAlignedObjectArray_btCompoundShapeChild___size_28_29_20const($4 | 0) | 0 | 0); + btAlignedObjectArray_btCompoundShapeChild___deallocate_28_29($4 | 0); + btAlignedObjectArray_btCompoundShapeChild___init_28_29($4 | 0); + __stack_pointer = $3 + 16 | 0; + return; + } + + function btCompoundShape___btCompoundShape_28_29_1($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + FUNCTION_TABLE[839 | 0]($4) | 0; + btCompoundShape__operator_20delete_28void__29($4 | 0); + __stack_pointer = $3 + 16 | 0; + return; + } + + function btCompoundShape__operator_20delete_28void__29($0) { + $0 = $0 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + btAlignedFreeInternal_28void__29(HEAP32[($3 + 12 | 0) >> 2] | 0 | 0); + __stack_pointer = $3 + 16 | 0; + return; + } + + function btCompoundShape__addChildShape_28btTransform_20const__2c_20btCollisionShape__29($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $5 = 0, $6 = 0, $21 = 0, $31 = 0, $77 = Math_fround(0), $113 = Math_fround(0), wasm2js_i32$0 = 0, wasm2js_i32$1 = 0, wasm2js_f32$0 = Math_fround(0); + $5 = __stack_pointer - 176 | 0; + __stack_pointer = $5; + HEAP32[($5 + 172 | 0) >> 2] = $0; + HEAP32[($5 + 168 | 0) >> 2] = $1; + HEAP32[($5 + 164 | 0) >> 2] = $2; + $6 = HEAP32[($5 + 172 | 0) >> 2] | 0; + HEAP32[($6 + 76 | 0) >> 2] = (HEAP32[($6 + 76 | 0) >> 2] | 0) + 1 | 0; + btCompoundShapeChild__btCompoundShapeChild_28_29($5 + 84 | 0 | 0) | 0; + HEAP32[($5 + 160 | 0) >> 2] = 0; + btTransform__operator__28btTransform_20const__29($5 + 84 | 0 | 0, HEAP32[($5 + 168 | 0) >> 2] | 0 | 0) | 0; + HEAP32[($5 + 148 | 0) >> 2] = HEAP32[($5 + 164 | 0) >> 2] | 0; + (wasm2js_i32$0 = $5, wasm2js_i32$1 = btCollisionShape__getShapeType_28_29_20const(HEAP32[($5 + 164 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 152 | 0) >> 2] = wasm2js_i32$1; + $21 = HEAP32[($5 + 164 | 0) >> 2] | 0; + (wasm2js_i32$0 = $5, wasm2js_f32$0 = Math_fround(FUNCTION_TABLE[HEAP32[((HEAP32[$21 >> 2] | 0) + 48 | 0) >> 2] | 0 | 0]($21))), HEAPF32[(wasm2js_i32$0 + 156 | 0) >> 2] = wasm2js_f32$0; + btVector3__btVector3_28_29($5 + 68 | 0 | 0) | 0; + btVector3__btVector3_28_29($5 + 52 | 0 | 0) | 0; + $31 = HEAP32[($5 + 164 | 0) >> 2] | 0; + FUNCTION_TABLE[HEAP32[((HEAP32[$31 >> 2] | 0) + 8 | 0) >> 2] | 0 | 0]($31, HEAP32[($5 + 168 | 0) >> 2] | 0, $5 + 68 | 0, $5 + 52 | 0); + HEAP32[($5 + 48 | 0) >> 2] = 0; + label$1 : { + label$2 : while (1) { + if (!((HEAP32[($5 + 48 | 0) >> 2] | 0 | 0) < (3 | 0) & 1 | 0)) { + break label$1 + } + label$3 : { + if (!(Math_fround(HEAPF32[((btVector3__operator_20float__28_29($6 + 40 | 0 | 0) | 0) + ((HEAP32[($5 + 48 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2]) > Math_fround(HEAPF32[((btVector3__operator_20float__28_29($5 + 68 | 0 | 0) | 0) + ((HEAP32[($5 + 48 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2]) & 1 | 0)) { + break label$3 + } + $77 = Math_fround(HEAPF32[((btVector3__operator_20float__28_29($5 + 68 | 0 | 0) | 0) + ((HEAP32[($5 + 48 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2]); + (wasm2js_i32$0 = (btVector3__operator_20float__28_29($6 + 40 | 0 | 0) | 0) + ((HEAP32[($5 + 48 | 0) >> 2] | 0) << 2 | 0) | 0, wasm2js_f32$0 = $77), HEAPF32[wasm2js_i32$0 >> 2] = wasm2js_f32$0; + } + label$4 : { + if (!(Math_fround(HEAPF32[((btVector3__operator_20float__28_29($6 + 56 | 0 | 0) | 0) + ((HEAP32[($5 + 48 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2]) < Math_fround(HEAPF32[((btVector3__operator_20float__28_29($5 + 52 | 0 | 0) | 0) + ((HEAP32[($5 + 48 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2]) & 1 | 0)) { + break label$4 + } + $113 = Math_fround(HEAPF32[((btVector3__operator_20float__28_29($5 + 52 | 0 | 0) | 0) + ((HEAP32[($5 + 48 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2]); + (wasm2js_i32$0 = (btVector3__operator_20float__28_29($6 + 56 | 0 | 0) | 0) + ((HEAP32[($5 + 48 | 0) >> 2] | 0) << 2 | 0) | 0, wasm2js_f32$0 = $113), HEAPF32[wasm2js_i32$0 >> 2] = wasm2js_f32$0; + } + HEAP32[($5 + 48 | 0) >> 2] = (HEAP32[($5 + 48 | 0) >> 2] | 0) + 1 | 0; + continue label$2; + }; + } + label$5 : { + if (!((HEAP32[($6 + 72 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$5 + } + btDbvtAabbMm__FromMM_28btVector3_20const__2c_20btVector3_20const__29($5 + 16 | 0 | 0, $5 + 68 | 0 | 0, $5 + 52 | 0 | 0); + (wasm2js_i32$0 = $5, wasm2js_i32$1 = btAlignedObjectArray_btCompoundShapeChild___size_28_29_20const($6 + 20 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $5, wasm2js_i32$1 = btDbvt__insert_28btDbvtAabbMm_20const__2c_20void__29(HEAP32[($6 + 72 | 0) >> 2] | 0 | 0, $5 + 16 | 0 | 0, HEAP32[($5 + 12 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 160 | 0) >> 2] = wasm2js_i32$1; + } + btAlignedObjectArray_btCompoundShapeChild___push_back_28btCompoundShapeChild_20const__29($6 + 20 | 0 | 0, $5 + 84 | 0 | 0); + __stack_pointer = $5 + 176 | 0; + return; + } + + function btCompoundShapeChild__btCompoundShapeChild_28_29($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + btTransform__btTransform_28_29($4 | 0) | 0; + __stack_pointer = $3 + 16 | 0; + return $4 | 0; + } + + function btAlignedObjectArray_btCompoundShapeChild___push_back_28btCompoundShapeChild_20const__29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $5 = 0, $4 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; + (wasm2js_i32$0 = $4, wasm2js_i32$1 = btAlignedObjectArray_btCompoundShapeChild___size_28_29_20const($5 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + if (!((HEAP32[($4 + 4 | 0) >> 2] | 0 | 0) == (btAlignedObjectArray_btCompoundShapeChild___capacity_28_29_20const($5 | 0) | 0 | 0) & 1 | 0)) { + break label$1 + } + btAlignedObjectArray_btCompoundShapeChild___reserve_28int_29($5 | 0, btAlignedObjectArray_btCompoundShapeChild___allocSize_28int_29($5 | 0, btAlignedObjectArray_btCompoundShapeChild___size_28_29_20const($5 | 0) | 0 | 0) | 0 | 0); + } + btCompoundShapeChild__btCompoundShapeChild_28btCompoundShapeChild_20const__29(btCompoundShapeChild__operator_20new_28unsigned_20long_2c_20void__29(80 | 0, (HEAP32[($5 + 12 | 0) >> 2] | 0) + Math_imul(HEAP32[($5 + 4 | 0) >> 2] | 0, 80) | 0 | 0) | 0 | 0, HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) | 0; + HEAP32[($5 + 4 | 0) >> 2] = (HEAP32[($5 + 4 | 0) >> 2] | 0) + 1 | 0; + __stack_pointer = $4 + 16 | 0; + return; + } + + function btAlignedObjectArray_btCompoundShapeChild___allocSize_28int_29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, $9 = 0; + $4 = __stack_pointer - 16 | 0; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + label$1 : { + label$2 : { + if (!(HEAP32[($4 + 8 | 0) >> 2] | 0)) { + break label$2 + } + $9 = (HEAP32[($4 + 8 | 0) >> 2] | 0) << 1 | 0; + break label$1; + } + $9 = 1; + } + return $9 | 0; + } + + function btCompoundShapeChild__operator_20new_28unsigned_20long_2c_20void__29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0; + $4 = __stack_pointer - 16 | 0; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + return HEAP32[($4 + 8 | 0) >> 2] | 0 | 0; + } + + function btCompoundShapeChild__btCompoundShapeChild_28btCompoundShapeChild_20const__29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, i64toi32_i32$2 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $5 = 0, $8 = 0, $13 = 0, $46 = 0, $56 = 0; + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; + btTransform__btTransform_28btTransform_20const__29($5 | 0, HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) | 0; + $8 = $5 + 64 | 0; + i64toi32_i32$2 = (HEAP32[($4 + 8 | 0) >> 2] | 0) + 64 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $46 = i64toi32_i32$0; + i64toi32_i32$0 = $8; + HEAP32[i64toi32_i32$0 >> 2] = $46; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $13 = 8; + i64toi32_i32$2 = i64toi32_i32$2 + $13 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $56 = i64toi32_i32$1; + i64toi32_i32$1 = $8 + $13 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $56; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + __stack_pointer = $4 + 16 | 0; + return $5 | 0; + } + + function btCompoundShape__updateChildTransform_28int_2c_20btTransform_20const__2c_20bool_29($0, $1, $2, $3) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + var $6 = 0, $8 = 0, $31 = 0, $9 = 0; + $6 = __stack_pointer - 80 | 0; + __stack_pointer = $6; + HEAP32[($6 + 76 | 0) >> 2] = $0; + HEAP32[($6 + 72 | 0) >> 2] = $1; + HEAP32[($6 + 68 | 0) >> 2] = $2; + HEAP8[($6 + 67 | 0) >> 0] = $3; + $8 = HEAP32[($6 + 76 | 0) >> 2] | 0; + $9 = HEAP32[($6 + 68 | 0) >> 2] | 0; + btTransform__operator__28btTransform_20const__29(btAlignedObjectArray_btCompoundShapeChild___operator_5b_5d_28int_29($8 + 20 | 0 | 0, HEAP32[($6 + 72 | 0) >> 2] | 0 | 0) | 0 | 0, $9 | 0) | 0; + label$1 : { + if (!((HEAP32[($8 + 72 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + btVector3__btVector3_28_29($6 + 48 | 0 | 0) | 0; + btVector3__btVector3_28_29($6 + 32 | 0 | 0) | 0; + $31 = HEAP32[((btAlignedObjectArray_btCompoundShapeChild___operator_5b_5d_28int_29($8 + 20 | 0 | 0, HEAP32[($6 + 72 | 0) >> 2] | 0 | 0) | 0) + 64 | 0) >> 2] | 0; + FUNCTION_TABLE[HEAP32[((HEAP32[$31 >> 2] | 0) + 8 | 0) >> 2] | 0 | 0]($31, HEAP32[($6 + 68 | 0) >> 2] | 0, $6 + 48 | 0, $6 + 32 | 0); + btDbvtAabbMm__FromMM_28btVector3_20const__2c_20btVector3_20const__29($6 | 0, $6 + 48 | 0 | 0, $6 + 32 | 0 | 0); + btDbvt__update_28btDbvtNode__2c_20btDbvtAabbMm__29(HEAP32[($8 + 72 | 0) >> 2] | 0 | 0, HEAP32[((btAlignedObjectArray_btCompoundShapeChild___operator_5b_5d_28int_29($8 + 20 | 0 | 0, HEAP32[($6 + 72 | 0) >> 2] | 0 | 0) | 0) + 76 | 0) >> 2] | 0 | 0, $6 | 0); + } + label$2 : { + if (!((HEAPU8[($6 + 67 | 0) >> 0] | 0) & 1 | 0)) { + break label$2 + } + FUNCTION_TABLE[HEAP32[((HEAP32[$8 >> 2] | 0) + 68 | 0) >> 2] | 0 | 0]($8); + } + __stack_pointer = $6 + 80 | 0; + return; + } + + function btCompoundShape__removeChildShapeByIndex_28int_29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, $5 = 0, $57 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; + HEAP32[($5 + 76 | 0) >> 2] = (HEAP32[($5 + 76 | 0) >> 2] | 0) + 1 | 0; + label$1 : { + label$2 : { + if (!((HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0)) { + break label$2 + } + if ((HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) < (btAlignedObjectArray_btCompoundShapeChild___size_28_29_20const($5 + 20 | 0 | 0) | 0 | 0) & 1 | 0) { + break label$1 + } + } + __assert_fail(87603 | 0, 75140 | 0, 112 | 0, 66339 | 0); + wasm2js_trap(); + } + label$3 : { + if (!((HEAP32[($5 + 72 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$3 + } + btDbvt__remove_28btDbvtNode__29(HEAP32[($5 + 72 | 0) >> 2] | 0 | 0, HEAP32[((btAlignedObjectArray_btCompoundShapeChild___operator_5b_5d_28int_29($5 + 20 | 0 | 0, HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) | 0) + 76 | 0) >> 2] | 0 | 0); + } + btAlignedObjectArray_btCompoundShapeChild___swap_28int_2c_20int_29($5 + 20 | 0 | 0, HEAP32[($4 + 8 | 0) >> 2] | 0 | 0, (btAlignedObjectArray_btCompoundShapeChild___size_28_29_20const($5 + 20 | 0 | 0) | 0) - 1 | 0 | 0); + label$4 : { + if (!((HEAP32[($5 + 72 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$4 + } + $57 = HEAP32[($4 + 8 | 0) >> 2] | 0; + (wasm2js_i32$0 = HEAP32[((btAlignedObjectArray_btCompoundShapeChild___operator_5b_5d_28int_29($5 + 20 | 0 | 0, HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) | 0) + 76 | 0) >> 2] | 0, wasm2js_i32$1 = $57), HEAP32[(wasm2js_i32$0 + 36 | 0) >> 2] = wasm2js_i32$1; + } + btAlignedObjectArray_btCompoundShapeChild___pop_back_28_29($5 + 20 | 0 | 0); + __stack_pointer = $4 + 16 | 0; + return; + } + + function btAlignedObjectArray_btCompoundShapeChild___swap_28int_2c_20int_29($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $5 = 0, $6 = 0; + $5 = __stack_pointer - 96 | 0; + __stack_pointer = $5; + HEAP32[($5 + 92 | 0) >> 2] = $0; + HEAP32[($5 + 88 | 0) >> 2] = $1; + HEAP32[($5 + 84 | 0) >> 2] = $2; + $6 = HEAP32[($5 + 92 | 0) >> 2] | 0; + btCompoundShapeChild__btCompoundShapeChild_28btCompoundShapeChild_20const__29($5 + 4 | 0 | 0, (HEAP32[($6 + 12 | 0) >> 2] | 0) + Math_imul(HEAP32[($5 + 88 | 0) >> 2] | 0, 80) | 0 | 0) | 0; + btCompoundShapeChild__operator__28btCompoundShapeChild_20const__29((HEAP32[($6 + 12 | 0) >> 2] | 0) + Math_imul(HEAP32[($5 + 88 | 0) >> 2] | 0, 80) | 0 | 0, (HEAP32[($6 + 12 | 0) >> 2] | 0) + Math_imul(HEAP32[($5 + 84 | 0) >> 2] | 0, 80) | 0 | 0) | 0; + btCompoundShapeChild__operator__28btCompoundShapeChild_20const__29((HEAP32[($6 + 12 | 0) >> 2] | 0) + Math_imul(HEAP32[($5 + 84 | 0) >> 2] | 0, 80) | 0 | 0, $5 + 4 | 0 | 0) | 0; + __stack_pointer = $5 + 96 | 0; + return; + } + + function btAlignedObjectArray_btCompoundShapeChild___pop_back_28_29($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + label$1 : { + if ((HEAP32[($4 + 4 | 0) >> 2] | 0 | 0) > (0 | 0) & 1 | 0) { + break label$1 + } + __assert_fail(85800 | 0, 78192 | 0, 201 | 0, 77711 | 0); + wasm2js_trap(); + } + HEAP32[($4 + 4 | 0) >> 2] = (HEAP32[($4 + 4 | 0) >> 2] | 0) + -1 | 0; + __stack_pointer = $3 + 16 | 0; + return; + } + + function btCompoundShapeChild__operator__28btCompoundShapeChild_20const__29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, i64toi32_i32$2 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $5 = 0, $8 = 0, $13 = 0, $46 = 0, $56 = 0; + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; + btTransform__operator__28btTransform_20const__29($5 | 0, HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) | 0; + $8 = $5 + 64 | 0; + i64toi32_i32$2 = (HEAP32[($4 + 8 | 0) >> 2] | 0) + 64 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $46 = i64toi32_i32$0; + i64toi32_i32$0 = $8; + HEAP32[i64toi32_i32$0 >> 2] = $46; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $13 = 8; + i64toi32_i32$2 = i64toi32_i32$2 + $13 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $56 = i64toi32_i32$1; + i64toi32_i32$1 = $8 + $13 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $56; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + __stack_pointer = $4 + 16 | 0; + return $5 | 0; + } + + function btCompoundShape__removeChildShape_28btCollisionShape__29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, $5 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; + HEAP32[($5 + 76 | 0) >> 2] = (HEAP32[($5 + 76 | 0) >> 2] | 0) + 1 | 0; + (wasm2js_i32$0 = $4, wasm2js_i32$1 = (btAlignedObjectArray_btCompoundShapeChild___size_28_29_20const($5 + 20 | 0 | 0) | 0) - 1 | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + label$2 : while (1) { + if (!((HEAP32[($4 + 4 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0)) { + break label$1 + } + label$3 : { + if (!((HEAP32[((btAlignedObjectArray_btCompoundShapeChild___operator_5b_5d_28int_29($5 + 20 | 0 | 0, HEAP32[($4 + 4 | 0) >> 2] | 0 | 0) | 0) + 64 | 0) >> 2] | 0 | 0) == (HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$3 + } + btCompoundShape__removeChildShapeByIndex_28int_29($5 | 0, HEAP32[($4 + 4 | 0) >> 2] | 0 | 0); + } + HEAP32[($4 + 4 | 0) >> 2] = (HEAP32[($4 + 4 | 0) >> 2] | 0) + -1 | 0; + continue label$2; + }; + } + FUNCTION_TABLE[HEAP32[((HEAP32[$5 >> 2] | 0) + 68 | 0) >> 2] | 0 | 0]($5); + __stack_pointer = $4 + 16 | 0; + return; + } + + function btCompoundShape__recalculateLocalAabb_28_29($0) { + $0 = $0 | 0; + var $3 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $4 = 0, i64toi32_i32$2 = 0, $21 = 0, $23 = 0, $45 = 0, $47 = 0, $73 = 0, $216 = 0, $229 = 0, $263 = 0, $276 = 0, $122 = Math_fround(0), $158 = Math_fround(0), wasm2js_i32$0 = 0, wasm2js_i32$1 = 0, wasm2js_i32$2 = 0, wasm2js_i32$3 = 0, wasm2js_i32$4 = 0, wasm2js_f32$0 = Math_fround(0); + $3 = __stack_pointer - 112 | 0; + __stack_pointer = $3; + HEAP32[($3 + 108 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 108 | 0) >> 2] | 0; + HEAPF32[($3 + 88 | 0) >> 2] = Math_fround(999999984306749440.0); + HEAPF32[($3 + 84 | 0) >> 2] = Math_fround(999999984306749440.0); + HEAPF32[($3 + 80 | 0) >> 2] = Math_fround(999999984306749440.0); + btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($3 + 92 | 0 | 0, $3 + 88 | 0 | 0, $3 + 84 | 0 | 0, $3 + 80 | 0 | 0) | 0; + $21 = $4 + 40 | 0; + i64toi32_i32$2 = $3; + i64toi32_i32$0 = HEAP32[($3 + 92 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($3 + 96 | 0) >> 2] | 0; + $216 = i64toi32_i32$0; + i64toi32_i32$0 = $21; + HEAP32[i64toi32_i32$0 >> 2] = $216; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $23 = 8; + i64toi32_i32$2 = ($3 + 92 | 0) + $23 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $229 = i64toi32_i32$1; + i64toi32_i32$1 = $21 + $23 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $229; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + HEAPF32[($3 + 60 | 0) >> 2] = Math_fround(-999999984306749440.0); + HEAPF32[($3 + 56 | 0) >> 2] = Math_fround(-999999984306749440.0); + HEAPF32[($3 + 52 | 0) >> 2] = Math_fround(-999999984306749440.0); + btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($3 + 64 | 0 | 0, $3 + 60 | 0 | 0, $3 + 56 | 0 | 0, $3 + 52 | 0 | 0) | 0; + $45 = $4 + 56 | 0; + i64toi32_i32$2 = $3; + i64toi32_i32$0 = HEAP32[($3 + 64 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($3 + 68 | 0) >> 2] | 0; + $263 = i64toi32_i32$0; + i64toi32_i32$0 = $45; + HEAP32[i64toi32_i32$0 >> 2] = $263; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $47 = 8; + i64toi32_i32$2 = ($3 + 64 | 0) + $47 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $276 = i64toi32_i32$1; + i64toi32_i32$1 = $45 + $47 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $276; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($3 + 48 | 0) >> 2] = 0; + label$1 : { + label$2 : while (1) { + if (!((HEAP32[($3 + 48 | 0) >> 2] | 0 | 0) < (btAlignedObjectArray_btCompoundShapeChild___size_28_29_20const($4 + 20 | 0 | 0) | 0 | 0) & 1 | 0)) { + break label$1 + } + btVector3__btVector3_28_29($3 + 32 | 0 | 0) | 0; + btVector3__btVector3_28_29($3 + 16 | 0 | 0) | 0; + $73 = HEAP32[((btAlignedObjectArray_btCompoundShapeChild___operator_5b_5d_28int_29($4 + 20 | 0 | 0, HEAP32[($3 + 48 | 0) >> 2] | 0 | 0) | 0) + 64 | 0) >> 2] | 0; + ((((wasm2js_i32$1 = $73, wasm2js_i32$2 = btAlignedObjectArray_btCompoundShapeChild___operator_5b_5d_28int_29($4 + 20 | 0 | 0, HEAP32[($3 + 48 | 0) >> 2] | 0 | 0) | 0), wasm2js_i32$3 = $3 + 32 | 0), wasm2js_i32$4 = $3 + 16 | 0), wasm2js_i32$0 = HEAP32[((HEAP32[$73 >> 2] | 0) + 8 | 0) >> 2] | 0 | 0), FUNCTION_TABLE[wasm2js_i32$0](wasm2js_i32$1 | 0, wasm2js_i32$2 | 0, wasm2js_i32$3 | 0, wasm2js_i32$4 | 0); + HEAP32[($3 + 12 | 0) >> 2] = 0; + label$3 : { + label$4 : while (1) { + if (!((HEAP32[($3 + 12 | 0) >> 2] | 0 | 0) < (3 | 0) & 1 | 0)) { + break label$3 + } + label$5 : { + if (!(Math_fround(HEAPF32[((btVector3__operator_20float__28_29($4 + 40 | 0 | 0) | 0) + ((HEAP32[($3 + 12 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2]) > Math_fround(HEAPF32[((btVector3__operator_20float__28_29($3 + 32 | 0 | 0) | 0) + ((HEAP32[($3 + 12 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2]) & 1 | 0)) { + break label$5 + } + $122 = Math_fround(HEAPF32[((btVector3__operator_20float__28_29($3 + 32 | 0 | 0) | 0) + ((HEAP32[($3 + 12 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2]); + (wasm2js_i32$0 = (btVector3__operator_20float__28_29($4 + 40 | 0 | 0) | 0) + ((HEAP32[($3 + 12 | 0) >> 2] | 0) << 2 | 0) | 0, wasm2js_f32$0 = $122), HEAPF32[wasm2js_i32$0 >> 2] = wasm2js_f32$0; + } + label$6 : { + if (!(Math_fround(HEAPF32[((btVector3__operator_20float__28_29($4 + 56 | 0 | 0) | 0) + ((HEAP32[($3 + 12 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2]) < Math_fround(HEAPF32[((btVector3__operator_20float__28_29($3 + 16 | 0 | 0) | 0) + ((HEAP32[($3 + 12 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2]) & 1 | 0)) { + break label$6 + } + $158 = Math_fround(HEAPF32[((btVector3__operator_20float__28_29($3 + 16 | 0 | 0) | 0) + ((HEAP32[($3 + 12 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2]); + (wasm2js_i32$0 = (btVector3__operator_20float__28_29($4 + 56 | 0 | 0) | 0) + ((HEAP32[($3 + 12 | 0) >> 2] | 0) << 2 | 0) | 0, wasm2js_f32$0 = $158), HEAPF32[wasm2js_i32$0 >> 2] = wasm2js_f32$0; + } + HEAP32[($3 + 12 | 0) >> 2] = (HEAP32[($3 + 12 | 0) >> 2] | 0) + 1 | 0; + continue label$4; + }; + } + HEAP32[($3 + 48 | 0) >> 2] = (HEAP32[($3 + 48 | 0) >> 2] | 0) + 1 | 0; + continue label$2; + }; + } + __stack_pointer = $3 + 112 | 0; + return; + } + + function btCompoundShape__getAabb_28btTransform_20const__2c_20btVector3__2c_20btVector3__29_20const($0, $1, $2, $3) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + var $6 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $7 = 0, i64toi32_i32$2 = 0, $150 = 0, $152 = 0, $167 = 0, $169 = 0, $458 = 0, $471 = 0, $492 = 0, $505 = 0, wasm2js_i32$0 = 0, wasm2js_f32$0 = Math_fround(0); + $6 = __stack_pointer - 256 | 0; + __stack_pointer = $6; + HEAP32[($6 + 252 | 0) >> 2] = $0; + HEAP32[($6 + 248 | 0) >> 2] = $1; + HEAP32[($6 + 244 | 0) >> 2] = $2; + HEAP32[($6 + 240 | 0) >> 2] = $3; + $7 = HEAP32[($6 + 252 | 0) >> 2] | 0; + HEAPF32[($6 + 220 | 0) >> 2] = Math_fround(.5); + operator__28btVector3_20const__2c_20btVector3_20const__29($6 + 204 | 0 | 0, $7 + 56 | 0 | 0, $7 + 40 | 0 | 0); + operator__28float_20const__2c_20btVector3_20const__29($6 + 224 | 0 | 0, $6 + 220 | 0 | 0, $6 + 204 | 0 | 0); + HEAPF32[($6 + 184 | 0) >> 2] = Math_fround(.5); + operator__28btVector3_20const__2c_20btVector3_20const__29_2($6 + 168 | 0 | 0, $7 + 56 | 0 | 0, $7 + 40 | 0 | 0); + operator__28float_20const__2c_20btVector3_20const__29($6 + 188 | 0 | 0, $6 + 184 | 0 | 0, $6 + 168 | 0 | 0); + label$1 : { + if (btAlignedObjectArray_btCompoundShapeChild___size_28_29_20const($7 + 20 | 0 | 0) | 0) { + break label$1 + } + HEAPF32[($6 + 164 | 0) >> 2] = Math_fround(0 | 0); + HEAPF32[($6 + 160 | 0) >> 2] = Math_fround(0 | 0); + HEAPF32[($6 + 156 | 0) >> 2] = Math_fround(0 | 0); + btVector3__setValue_28float_20const__2c_20float_20const__2c_20float_20const__29($6 + 224 | 0 | 0, $6 + 164 | 0 | 0, $6 + 160 | 0 | 0, $6 + 156 | 0 | 0); + HEAPF32[($6 + 152 | 0) >> 2] = Math_fround(0 | 0); + HEAPF32[($6 + 148 | 0) >> 2] = Math_fround(0 | 0); + HEAPF32[($6 + 144 | 0) >> 2] = Math_fround(0 | 0); + btVector3__setValue_28float_20const__2c_20float_20const__2c_20float_20const__29($6 + 188 | 0 | 0, $6 + 152 | 0 | 0, $6 + 148 | 0 | 0, $6 + 144 | 0 | 0); + } + (wasm2js_i32$0 = $6, wasm2js_f32$0 = Math_fround(FUNCTION_TABLE[HEAP32[((HEAP32[$7 >> 2] | 0) + 48 | 0) >> 2] | 0 | 0]($7))), HEAPF32[(wasm2js_i32$0 + 124 | 0) >> 2] = wasm2js_f32$0; + (wasm2js_i32$0 = $6, wasm2js_f32$0 = Math_fround(FUNCTION_TABLE[HEAP32[((HEAP32[$7 >> 2] | 0) + 48 | 0) >> 2] | 0 | 0]($7))), HEAPF32[(wasm2js_i32$0 + 120 | 0) >> 2] = wasm2js_f32$0; + (wasm2js_i32$0 = $6, wasm2js_f32$0 = Math_fround(FUNCTION_TABLE[HEAP32[((HEAP32[$7 >> 2] | 0) + 48 | 0) >> 2] | 0 | 0]($7))), HEAPF32[(wasm2js_i32$0 + 116 | 0) >> 2] = wasm2js_f32$0; + btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($6 + 128 | 0 | 0, $6 + 124 | 0 | 0, $6 + 120 | 0 | 0, $6 + 116 | 0 | 0) | 0; + btVector3__operator___28btVector3_20const__29_1($6 + 224 | 0 | 0, $6 + 128 | 0 | 0) | 0; + btMatrix3x3__absolute_28_29_20const($6 + 68 | 0 | 0, btTransform__getBasis_28_29_20const(HEAP32[($6 + 248 | 0) >> 2] | 0 | 0) | 0 | 0); + btTransform__operator_28_29_28btVector3_20const__29_20const($6 + 52 | 0 | 0, HEAP32[($6 + 248 | 0) >> 2] | 0 | 0, $6 + 188 | 0 | 0); + btVector3__dot3_28btVector3_20const__2c_20btVector3_20const__2c_20btVector3_20const__29_20const($6 + 36 | 0 | 0, $6 + 224 | 0 | 0, btMatrix3x3__operator_5b_5d_28int_29($6 + 68 | 0 | 0, 0 | 0) | 0 | 0, btMatrix3x3__operator_5b_5d_28int_29($6 + 68 | 0 | 0, 1 | 0) | 0 | 0, btMatrix3x3__operator_5b_5d_28int_29($6 + 68 | 0 | 0, 2 | 0) | 0 | 0); + operator__28btVector3_20const__2c_20btVector3_20const__29($6 + 20 | 0 | 0, $6 + 52 | 0 | 0, $6 + 36 | 0 | 0); + $150 = HEAP32[($6 + 244 | 0) >> 2] | 0; + i64toi32_i32$2 = $6; + i64toi32_i32$0 = HEAP32[($6 + 20 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($6 + 24 | 0) >> 2] | 0; + $458 = i64toi32_i32$0; + i64toi32_i32$0 = $150; + HEAP32[i64toi32_i32$0 >> 2] = $458; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $152 = 8; + i64toi32_i32$2 = ($6 + 20 | 0) + $152 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $471 = i64toi32_i32$1; + i64toi32_i32$1 = $150 + $152 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $471; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + operator__28btVector3_20const__2c_20btVector3_20const__29_2($6 + 4 | 0 | 0, $6 + 52 | 0 | 0, $6 + 36 | 0 | 0); + $167 = HEAP32[($6 + 240 | 0) >> 2] | 0; + i64toi32_i32$2 = $6; + i64toi32_i32$0 = HEAP32[($6 + 4 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($6 + 8 | 0) >> 2] | 0; + $492 = i64toi32_i32$0; + i64toi32_i32$0 = $167; + HEAP32[i64toi32_i32$0 >> 2] = $492; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $169 = 8; + i64toi32_i32$2 = ($6 + 4 | 0) + $169 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $505 = i64toi32_i32$1; + i64toi32_i32$1 = $167 + $169 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $505; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + __stack_pointer = $6 + 256 | 0; + return; + } + + function btCompoundShape__calculateLocalInertia_28float_2c_20btVector3__29_20const($0, $1, $2) { + $0 = $0 | 0; + $1 = Math_fround($1); + $2 = $2 | 0; + var $5 = 0, $6 = 0, $80 = Math_fround(0), $93 = Math_fround(0), $106 = Math_fround(0), wasm2js_i32$0 = 0, wasm2js_f32$0 = Math_fround(0); + $5 = __stack_pointer - 160 | 0; + __stack_pointer = $5; + HEAP32[($5 + 156 | 0) >> 2] = $0; + HEAPF32[($5 + 152 | 0) >> 2] = $1; + HEAP32[($5 + 148 | 0) >> 2] = $2; + $6 = HEAP32[($5 + 156 | 0) >> 2] | 0; + btTransform__btTransform_28_29($5 + 84 | 0 | 0) | 0; + btTransform__setIdentity_28_29($5 + 84 | 0 | 0); + btVector3__btVector3_28_29($5 + 68 | 0 | 0) | 0; + btVector3__btVector3_28_29($5 + 52 | 0 | 0) | 0; + FUNCTION_TABLE[HEAP32[((HEAP32[$6 >> 2] | 0) + 8 | 0) >> 2] | 0 | 0]($6, $5 + 84 | 0, $5 + 68 | 0, $5 + 52 | 0); + operator__28btVector3_20const__2c_20btVector3_20const__29($5 + 20 | 0 | 0, $5 + 52 | 0 | 0, $5 + 68 | 0 | 0); + HEAPF32[($5 + 16 | 0) >> 2] = Math_fround(.5); + operator__28btVector3_20const__2c_20float_20const__29($5 + 36 | 0 | 0, $5 + 20 | 0 | 0, $5 + 16 | 0 | 0); + (wasm2js_i32$0 = $5, wasm2js_f32$0 = Math_fround(Math_fround(2.0) * Math_fround(HEAPF32[(btVector3__x_28_29_20const($5 + 36 | 0 | 0) | 0) >> 2]))), HEAPF32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_f32$0; + (wasm2js_i32$0 = $5, wasm2js_f32$0 = Math_fround(Math_fround(2.0) * Math_fround(HEAPF32[(btVector3__y_28_29_20const($5 + 36 | 0 | 0) | 0) >> 2]))), HEAPF32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_f32$0; + (wasm2js_i32$0 = $5, wasm2js_f32$0 = Math_fround(Math_fround(2.0) * Math_fround(HEAPF32[(btVector3__z_28_29_20const($5 + 36 | 0 | 0) | 0) >> 2]))), HEAPF32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_f32$0; + $80 = Math_fround(Math_fround(Math_fround(HEAPF32[($5 + 152 | 0) >> 2]) / Math_fround(12.0)) * Math_fround(Math_fround(Math_fround(HEAPF32[($5 + 8 | 0) >> 2]) * Math_fround(HEAPF32[($5 + 8 | 0) >> 2])) + Math_fround(Math_fround(HEAPF32[($5 + 4 | 0) >> 2]) * Math_fround(HEAPF32[($5 + 4 | 0) >> 2])))); + (wasm2js_i32$0 = btVector3__operator_20float__28_29(HEAP32[($5 + 148 | 0) >> 2] | 0 | 0) | 0, wasm2js_f32$0 = $80), HEAPF32[wasm2js_i32$0 >> 2] = wasm2js_f32$0; + $93 = Math_fround(Math_fround(Math_fround(HEAPF32[($5 + 152 | 0) >> 2]) / Math_fround(12.0)) * Math_fround(Math_fround(Math_fround(HEAPF32[($5 + 12 | 0) >> 2]) * Math_fround(HEAPF32[($5 + 12 | 0) >> 2])) + Math_fround(Math_fround(HEAPF32[($5 + 4 | 0) >> 2]) * Math_fround(HEAPF32[($5 + 4 | 0) >> 2])))); + (wasm2js_i32$0 = btVector3__operator_20float__28_29(HEAP32[($5 + 148 | 0) >> 2] | 0 | 0) | 0, wasm2js_f32$0 = $93), HEAPF32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_f32$0; + $106 = Math_fround(Math_fround(Math_fround(HEAPF32[($5 + 152 | 0) >> 2]) / Math_fround(12.0)) * Math_fround(Math_fround(Math_fround(HEAPF32[($5 + 12 | 0) >> 2]) * Math_fround(HEAPF32[($5 + 12 | 0) >> 2])) + Math_fround(Math_fround(HEAPF32[($5 + 8 | 0) >> 2]) * Math_fround(HEAPF32[($5 + 8 | 0) >> 2])))); + (wasm2js_i32$0 = btVector3__operator_20float__28_29(HEAP32[($5 + 148 | 0) >> 2] | 0 | 0) | 0, wasm2js_f32$0 = $106), HEAPF32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_f32$0; + __stack_pointer = $5 + 160 | 0; + return; + } + + function btQuaternion__getIdentity_28_29() { + var $2 = 0; + $2 = __stack_pointer - 16 | 0; + __stack_pointer = $2; + label$1 : { + if (!((((HEAPU8[(0 + 114120 | 0) >> 0] | 0) & 1 | 0) & 255 | 0 | 0) == (0 & 255 | 0 | 0) & 1 | 0)) { + break label$1 + } + HEAPF32[($2 + 12 | 0) >> 2] = Math_fround(0 | 0); + HEAPF32[($2 + 8 | 0) >> 2] = Math_fround(0 | 0); + HEAPF32[($2 + 4 | 0) >> 2] = Math_fround(0 | 0); + HEAPF32[$2 >> 2] = Math_fround(1.0); + btQuaternion__btQuaternion_28float_20const__2c_20float_20const__2c_20float_20const__2c_20float_20const__29(114104 | 0, $2 + 12 | 0 | 0, $2 + 8 | 0 | 0, $2 + 4 | 0 | 0, $2 | 0) | 0; + HEAP8[(0 + 114120 | 0) >> 0] = 1; + } + __stack_pointer = $2 + 16 | 0; + return 114104 | 0; + } + + function btCompoundShape__setLocalScaling_28btVector3_20const__29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, i64toi32_i32$1 = 0, $5 = 0, $25 = 0, $28 = 0, $29 = 0, $51 = 0, $64 = 0, $100 = 0, $102 = 0, $181 = 0, $185 = 0, $228 = 0, $232 = 0, $315 = 0, $325 = 0; + $4 = __stack_pointer - 160 | 0; + __stack_pointer = $4; + HEAP32[($4 + 156 | 0) >> 2] = $0; + HEAP32[($4 + 152 | 0) >> 2] = $1; + $5 = HEAP32[($4 + 156 | 0) >> 2] | 0; + HEAP32[($4 + 148 | 0) >> 2] = 0; + label$1 : { + label$2 : while (1) { + if (!((HEAP32[($4 + 148 | 0) >> 2] | 0 | 0) < (btAlignedObjectArray_btCompoundShapeChild___size_28_29_20const($5 + 20 | 0 | 0) | 0 | 0) & 1 | 0)) { + break label$1 + } + btTransform__btTransform_28btTransform_20const__29($4 + 84 | 0 | 0, btCompoundShape__getChildTransform_28int_29($5 | 0, HEAP32[($4 + 148 | 0) >> 2] | 0 | 0) | 0 | 0) | 0; + $25 = HEAP32[((btAlignedObjectArray_btCompoundShapeChild___operator_5b_5d_28int_29($5 + 20 | 0 | 0, HEAP32[($4 + 148 | 0) >> 2] | 0 | 0) | 0) + 64 | 0) >> 2] | 0; + $28 = FUNCTION_TABLE[HEAP32[((HEAP32[$25 >> 2] | 0) + 28 | 0) >> 2] | 0 | 0]($25) | 0; + $29 = 8; + i64toi32_i32$2 = $28 + $29 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $181 = i64toi32_i32$0; + i64toi32_i32$0 = ($4 + 64 | 0) + $29 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $181; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$2 = $28; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $185 = i64toi32_i32$1; + i64toi32_i32$1 = $4; + HEAP32[($4 + 64 | 0) >> 2] = $185; + HEAP32[($4 + 68 | 0) >> 2] = i64toi32_i32$0; + operator__28btVector3_20const__2c_20btVector3_20const__29_1($4 + 32 | 0 | 0, $4 + 64 | 0 | 0, HEAP32[($4 + 152 | 0) >> 2] | 0 | 0); + operator__28btVector3_20const__2c_20btVector3_20const__29_3($4 + 48 | 0 | 0, $4 + 32 | 0 | 0, $5 + 84 | 0 | 0); + $51 = 8; + i64toi32_i32$2 = ($4 + 48 | 0) + $51 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $228 = i64toi32_i32$0; + i64toi32_i32$0 = ($4 + 64 | 0) + $51 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $228; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$2 = $4; + i64toi32_i32$1 = HEAP32[($4 + 48 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($4 + 52 | 0) >> 2] | 0; + $232 = i64toi32_i32$1; + i64toi32_i32$1 = $4; + HEAP32[($4 + 64 | 0) >> 2] = $232; + HEAP32[($4 + 68 | 0) >> 2] = i64toi32_i32$0; + $64 = HEAP32[((btAlignedObjectArray_btCompoundShapeChild___operator_5b_5d_28int_29($5 + 20 | 0 | 0, HEAP32[($4 + 148 | 0) >> 2] | 0 | 0) | 0) + 64 | 0) >> 2] | 0; + FUNCTION_TABLE[HEAP32[((HEAP32[$64 >> 2] | 0) + 24 | 0) >> 2] | 0 | 0]($64, $4 + 64 | 0); + operator__28btVector3_20const__2c_20btVector3_20const__29_1($4 | 0, btTransform__getOrigin_28_29($4 + 84 | 0 | 0) | 0 | 0, HEAP32[($4 + 152 | 0) >> 2] | 0 | 0); + operator__28btVector3_20const__2c_20btVector3_20const__29_3($4 + 16 | 0 | 0, $4 | 0, $5 + 84 | 0 | 0); + btTransform__setOrigin_28btVector3_20const__29($4 + 84 | 0 | 0, $4 + 16 | 0 | 0); + btCompoundShape__updateChildTransform_28int_2c_20btTransform_20const__2c_20bool_29($5 | 0, HEAP32[($4 + 148 | 0) >> 2] | 0 | 0, $4 + 84 | 0 | 0, 0 & 1 | 0 | 0); + HEAP32[($4 + 148 | 0) >> 2] = (HEAP32[($4 + 148 | 0) >> 2] | 0) + 1 | 0; + continue label$2; + }; + } + $100 = $5 + 84 | 0; + i64toi32_i32$2 = HEAP32[($4 + 152 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $315 = i64toi32_i32$0; + i64toi32_i32$0 = $100; + HEAP32[i64toi32_i32$0 >> 2] = $315; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $102 = 8; + i64toi32_i32$2 = i64toi32_i32$2 + $102 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $325 = i64toi32_i32$1; + i64toi32_i32$1 = $100 + $102 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $325; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + FUNCTION_TABLE[HEAP32[((HEAP32[$5 >> 2] | 0) + 68 | 0) >> 2] | 0 | 0]($5); + __stack_pointer = $4 + 160 | 0; + return; + } + + function btCompoundShape__getChildTransform_28int_29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, $9 = 0; + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + $9 = btAlignedObjectArray_btCompoundShapeChild___operator_5b_5d_28int_29((HEAP32[($4 + 12 | 0) >> 2] | 0) + 20 | 0 | 0, HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) | 0; + __stack_pointer = $4 + 16 | 0; + return $9 | 0; + } + + function btCompoundShape__serialize_28void__2c_20btSerializer__29_20const($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $5 = 0, $6 = 0, $20 = 0, $29 = 0, $50 = 0, $60 = 0, $75 = 0, $80 = 0, $92 = 0, $99 = 0, $127 = 0, $14 = 0, $33 = 0, $48 = Math_fround(0), $58 = 0, $114 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0, wasm2js_i32$2 = 0, wasm2js_i32$3 = 0, wasm2js_i32$4 = 0, wasm2js_i32$5 = 0; + $5 = __stack_pointer - 48 | 0; + __stack_pointer = $5; + HEAP32[($5 + 44 | 0) >> 2] = $0; + HEAP32[($5 + 40 | 0) >> 2] = $1; + HEAP32[($5 + 36 | 0) >> 2] = $2; + $6 = HEAP32[($5 + 44 | 0) >> 2] | 0; + HEAP32[($5 + 32 | 0) >> 2] = HEAP32[($5 + 40 | 0) >> 2] | 0; + btCollisionShape__serialize_28void__2c_20btSerializer__29_20const($6 | 0, HEAP32[($5 + 32 | 0) >> 2] | 0 | 0, HEAP32[($5 + 36 | 0) >> 2] | 0 | 0) | 0; + HEAPF32[((HEAP32[($5 + 32 | 0) >> 2] | 0) + 20 | 0) >> 2] = Math_fround(HEAPF32[($6 + 80 | 0) >> 2]); + $14 = btAlignedObjectArray_btCompoundShapeChild___size_28_29_20const($6 + 20 | 0 | 0) | 0; + HEAP32[((HEAP32[($5 + 32 | 0) >> 2] | 0) + 16 | 0) >> 2] = $14; + HEAP32[((HEAP32[($5 + 32 | 0) >> 2] | 0) + 12 | 0) >> 2] = 0; + label$1 : { + if (!(HEAP32[((HEAP32[($5 + 32 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0)) { + break label$1 + } + $20 = HEAP32[($5 + 36 | 0) >> 2] | 0; + (wasm2js_i32$0 = $5, wasm2js_i32$1 = FUNCTION_TABLE[HEAP32[((HEAP32[$20 >> 2] | 0) + 16 | 0) >> 2] | 0 | 0]($20, 76, HEAP32[((HEAP32[($5 + 32 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) | 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($5 + 24 | 0) >> 2] = HEAP32[((HEAP32[($5 + 28 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + $29 = HEAP32[($5 + 36 | 0) >> 2] | 0; + $33 = FUNCTION_TABLE[HEAP32[((HEAP32[$29 >> 2] | 0) + 28 | 0) >> 2] | 0 | 0]($29, HEAP32[($5 + 24 | 0) >> 2] | 0) | 0; + HEAP32[((HEAP32[($5 + 32 | 0) >> 2] | 0) + 12 | 0) >> 2] = $33; + HEAP32[($5 + 20 | 0) >> 2] = 0; + label$2 : { + label$3 : while (1) { + if (!((HEAP32[($5 + 20 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($5 + 32 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$2 + } + $48 = Math_fround(HEAPF32[((btAlignedObjectArray_btCompoundShapeChild___operator_5b_5d_28int_29_20const($6 + 20 | 0 | 0, HEAP32[($5 + 20 | 0) >> 2] | 0 | 0) | 0) + 72 | 0) >> 2]); + HEAPF32[((HEAP32[($5 + 24 | 0) >> 2] | 0) + 72 | 0) >> 2] = $48; + $50 = HEAP32[($5 + 36 | 0) >> 2] | 0; + $58 = (((wasm2js_i32$1 = $50, wasm2js_i32$2 = HEAP32[((btAlignedObjectArray_btCompoundShapeChild___operator_5b_5d_28int_29_20const($6 + 20 | 0 | 0, HEAP32[($5 + 20 | 0) >> 2] | 0 | 0) | 0) + 64 | 0) >> 2] | 0), wasm2js_i32$0 = HEAP32[((HEAP32[$50 >> 2] | 0) + 28 | 0) >> 2] | 0 | 0), FUNCTION_TABLE[wasm2js_i32$0](wasm2js_i32$1 | 0, wasm2js_i32$2 | 0) | 0); + HEAP32[((HEAP32[($5 + 24 | 0) >> 2] | 0) + 64 | 0) >> 2] = $58; + $60 = HEAP32[($5 + 36 | 0) >> 2] | 0; + label$4 : { + if (((((wasm2js_i32$2 = $60, wasm2js_i32$1 = HEAP32[((btAlignedObjectArray_btCompoundShapeChild___operator_5b_5d_28int_29_20const($6 + 20 | 0 | 0, HEAP32[($5 + 20 | 0) >> 2] | 0 | 0) | 0) + 64 | 0) >> 2] | 0), wasm2js_i32$0 = HEAP32[((HEAP32[$60 >> 2] | 0) + 24 | 0) >> 2] | 0 | 0), FUNCTION_TABLE[wasm2js_i32$0](wasm2js_i32$2 | 0, wasm2js_i32$1 | 0) | 0) | 0) != (0 | 0) & 1 | 0) { + break label$4 + } + $75 = HEAP32[($5 + 36 | 0) >> 2] | 0; + $80 = HEAP32[((btAlignedObjectArray_btCompoundShapeChild___operator_5b_5d_28int_29_20const($6 + 20 | 0 | 0, HEAP32[($5 + 20 | 0) >> 2] | 0 | 0) | 0) + 64 | 0) >> 2] | 0; + (wasm2js_i32$0 = $5, wasm2js_i32$1 = ((((wasm2js_i32$3 = $75, wasm2js_i32$4 = FUNCTION_TABLE[HEAP32[((HEAP32[$80 >> 2] | 0) + 52 | 0) >> 2] | 0 | 0]($80) | 0), wasm2js_i32$5 = 1), wasm2js_i32$2 = HEAP32[((HEAP32[$75 >> 2] | 0) + 16 | 0) >> 2] | 0 | 0), FUNCTION_TABLE[wasm2js_i32$2](wasm2js_i32$3 | 0, wasm2js_i32$4 | 0, wasm2js_i32$5 | 0) | 0)), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + $92 = HEAP32[((btAlignedObjectArray_btCompoundShapeChild___operator_5b_5d_28int_29_20const($6 + 20 | 0 | 0, HEAP32[($5 + 20 | 0) >> 2] | 0 | 0) | 0) + 64 | 0) >> 2] | 0; + (wasm2js_i32$0 = $5, wasm2js_i32$1 = FUNCTION_TABLE[HEAP32[((HEAP32[$92 >> 2] | 0) + 56 | 0) >> 2] | 0 | 0]($92, HEAP32[((HEAP32[($5 + 16 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0, HEAP32[($5 + 36 | 0) >> 2] | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + $99 = HEAP32[($5 + 36 | 0) >> 2] | 0; + (((((wasm2js_i32$1 = $99, wasm2js_i32$2 = HEAP32[($5 + 16 | 0) >> 2] | 0), wasm2js_i32$5 = HEAP32[($5 + 12 | 0) >> 2] | 0), wasm2js_i32$4 = 1346455635), wasm2js_i32$3 = HEAP32[((btAlignedObjectArray_btCompoundShapeChild___operator_5b_5d_28int_29_20const($6 + 20 | 0 | 0, HEAP32[($5 + 20 | 0) >> 2] | 0 | 0) | 0) + 64 | 0) >> 2] | 0), wasm2js_i32$0 = HEAP32[((HEAP32[$99 >> 2] | 0) + 20 | 0) >> 2] | 0 | 0), FUNCTION_TABLE[wasm2js_i32$0](wasm2js_i32$1 | 0, wasm2js_i32$2 | 0, wasm2js_i32$5 | 0, wasm2js_i32$4 | 0, wasm2js_i32$3 | 0); + } + $114 = HEAP32[((btAlignedObjectArray_btCompoundShapeChild___operator_5b_5d_28int_29_20const($6 + 20 | 0 | 0, HEAP32[($5 + 20 | 0) >> 2] | 0 | 0) | 0) + 68 | 0) >> 2] | 0; + HEAP32[((HEAP32[($5 + 24 | 0) >> 2] | 0) + 68 | 0) >> 2] = $114; + btTransform__serializeFloat_28btTransformFloatData__29_20const(btAlignedObjectArray_btCompoundShapeChild___operator_5b_5d_28int_29_20const($6 + 20 | 0 | 0, HEAP32[($5 + 20 | 0) >> 2] | 0 | 0) | 0 | 0, HEAP32[($5 + 24 | 0) >> 2] | 0 | 0); + HEAP32[($5 + 20 | 0) >> 2] = (HEAP32[($5 + 20 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($5 + 24 | 0) >> 2] = (HEAP32[($5 + 24 | 0) >> 2] | 0) + 76 | 0; + continue label$3; + }; + } + $127 = HEAP32[($5 + 36 | 0) >> 2] | 0; + FUNCTION_TABLE[HEAP32[((HEAP32[$127 >> 2] | 0) + 20 | 0) >> 2] | 0 | 0]($127, HEAP32[($5 + 28 | 0) >> 2] | 0, 83727, 1497453121, HEAP32[((HEAP32[($5 + 28 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0); + } + __stack_pointer = $5 + 48 | 0; + return 83613 | 0; + } + + function btTransform__serializeFloat_28btTransformFloatData__29_20const($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, $5 = 0; + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; + btMatrix3x3__serializeFloat_28btMatrix3x3FloatData__29_20const($5 | 0, HEAP32[($4 + 8 | 0) >> 2] | 0 | 0); + btVector3__serializeFloat_28btVector3FloatData__29_20const($5 + 48 | 0 | 0, (HEAP32[($4 + 8 | 0) >> 2] | 0) + 48 | 0 | 0); + __stack_pointer = $4 + 16 | 0; + return; + } + + function btMatrix3x3__serializeFloat_28btMatrix3x3FloatData__29_20const($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, $5 = 0; + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; + HEAP32[($4 + 4 | 0) >> 2] = 0; + label$1 : { + label$2 : while (1) { + if (!((HEAP32[($4 + 4 | 0) >> 2] | 0 | 0) < (3 | 0) & 1 | 0)) { + break label$1 + } + btVector3__serializeFloat_28btVector3FloatData__29_20const($5 + ((HEAP32[($4 + 4 | 0) >> 2] | 0) << 4 | 0) | 0 | 0, (HEAP32[($4 + 8 | 0) >> 2] | 0) + ((HEAP32[($4 + 4 | 0) >> 2] | 0) << 4 | 0) | 0 | 0); + HEAP32[($4 + 4 | 0) >> 2] = (HEAP32[($4 + 4 | 0) >> 2] | 0) + 1 | 0; + continue label$2; + }; + } + __stack_pointer = $4 + 16 | 0; + return; + } + + function btAlignedAllocator_btCompoundShapeChild_2c_2016u___deallocate_28btCompoundShapeChild__29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0; + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + btAlignedFreeInternal_28void__29(HEAP32[($4 + 8 | 0) >> 2] | 0 | 0); + __stack_pointer = $4 + 16 | 0; + return; + } + + function btAlignedAllocator_btCompoundShapeChild_2c_2016u___allocate_28int_2c_20btCompoundShapeChild_20const___29($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $5 = 0, $10 = 0; + $5 = __stack_pointer - 16 | 0; + __stack_pointer = $5; + HEAP32[($5 + 12 | 0) >> 2] = $0; + HEAP32[($5 + 8 | 0) >> 2] = $1; + HEAP32[($5 + 4 | 0) >> 2] = $2; + $10 = btAlignedAllocInternal_28unsigned_20long_2c_20int_29(Math_imul(HEAP32[($5 + 8 | 0) >> 2] | 0, 80) | 0, 16 | 0) | 0; + __stack_pointer = $5 + 16 | 0; + return $10 | 0; + } + + function _GLOBAL__sub_I_btCompoundShape_cpp() { + __cxx_global_var_init_33(); + return; + } + + function __cxx_global_var_init_34() { + btInfMaskConverter__btInfMaskConverter_28int_29(114124 | 0, 2139095040 | 0) | 0; + return; + } + + function btConeShape__btConeShape_28float_2c_20float_29($0, $1, $2) { + $0 = $0 | 0; + $1 = Math_fround($1); + $2 = Math_fround($2); + var $6 = 0, $5 = 0, wasm2js_i32$0 = 0, wasm2js_f32$0 = Math_fround(0); + $5 = __stack_pointer - 32 | 0; + __stack_pointer = $5; + HEAP32[($5 + 28 | 0) >> 2] = $0; + HEAPF32[($5 + 24 | 0) >> 2] = $1; + HEAPF32[($5 + 20 | 0) >> 2] = $2; + $6 = HEAP32[($5 + 28 | 0) >> 2] | 0; + btConvexInternalShape__btConvexInternalShape_28_29($6 | 0) | 0; + HEAP32[$6 >> 2] = 97972 + 8 | 0; + HEAPF32[($6 + 64 | 0) >> 2] = Math_fround(HEAPF32[($5 + 24 | 0) >> 2]); + HEAPF32[($6 + 68 | 0) >> 2] = Math_fround(HEAPF32[($5 + 20 | 0) >> 2]); + HEAP32[($6 + 4 | 0) >> 2] = 11; + btConeShape__setConeUpIndex_28int_29($6 | 0, 1 | 0); + btVector3__btVector3_28_29($5 + 4 | 0 | 0) | 0; + (wasm2js_i32$0 = $6, wasm2js_f32$0 = Math_fround(Math_fround(HEAPF32[($6 + 64 | 0) >> 2]) / Math_fround(btSqrt_28float_29(Math_fround(Math_fround(Math_fround(Math_fround(HEAPF32[($6 + 64 | 0) >> 2]) * Math_fround(HEAPF32[($6 + 64 | 0) >> 2])) + Math_fround(Math_fround(HEAPF32[($6 + 68 | 0) >> 2]) * Math_fround(HEAPF32[($6 + 68 | 0) >> 2])))))))), HEAPF32[(wasm2js_i32$0 + 60 | 0) >> 2] = wasm2js_f32$0; + __stack_pointer = $5 + 32 | 0; + return $6 | 0; + } + + function btConeShape__setConeUpIndex_28int_29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $5 = 0, $4 = 0, $6 = 0, $21 = Math_fround(0), $29 = Math_fround(0), $37 = Math_fround(0), wasm2js_i32$0 = 0, wasm2js_f32$0 = Math_fround(0); + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; + $6 = HEAP32[($4 + 8 | 0) >> 2] | 0; + label$1 : { + label$2 : { + switch ($6 | 0) { + case 0: + HEAP32[($5 + 72 | 0) >> 2] = 1; + HEAP32[($5 + 76 | 0) >> 2] = 0; + HEAP32[($5 + 80 | 0) >> 2] = 2; + break label$1; + case 1: + HEAP32[($5 + 72 | 0) >> 2] = 0; + HEAP32[($5 + 76 | 0) >> 2] = 1; + HEAP32[($5 + 80 | 0) >> 2] = 2; + break label$1; + case 2: + HEAP32[($5 + 72 | 0) >> 2] = 0; + HEAP32[($5 + 76 | 0) >> 2] = 2; + HEAP32[($5 + 80 | 0) >> 2] = 1; + break label$1; + default: + break label$2; + }; + } + __assert_fail(86177 | 0, 75023 | 0, 63 | 0, 66495 | 0); + wasm2js_trap(); + } + $21 = Math_fround(HEAPF32[($5 + 64 | 0) >> 2]); + (wasm2js_i32$0 = (btVector3__operator_20float__28_29($5 + 36 | 0 | 0) | 0) + ((HEAP32[($5 + 72 | 0) >> 2] | 0) << 2 | 0) | 0, wasm2js_f32$0 = $21), HEAPF32[wasm2js_i32$0 >> 2] = wasm2js_f32$0; + $29 = Math_fround(HEAPF32[($5 + 68 | 0) >> 2]); + (wasm2js_i32$0 = (btVector3__operator_20float__28_29($5 + 36 | 0 | 0) | 0) + ((HEAP32[($5 + 76 | 0) >> 2] | 0) << 2 | 0) | 0, wasm2js_f32$0 = $29), HEAPF32[wasm2js_i32$0 >> 2] = wasm2js_f32$0; + $37 = Math_fround(HEAPF32[($5 + 64 | 0) >> 2]); + (wasm2js_i32$0 = (btVector3__operator_20float__28_29($5 + 36 | 0 | 0) | 0) + ((HEAP32[($5 + 80 | 0) >> 2] | 0) << 2 | 0) | 0, wasm2js_f32$0 = $37), HEAPF32[wasm2js_i32$0 >> 2] = wasm2js_f32$0; + __stack_pointer = $4 + 16 | 0; + return; + } + + function btConeShape__coneLocalSupport_28btVector3_20const__29_20const($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $5 = 0, $6 = 0, $31 = Math_fround(0), $92 = Math_fround(0), $99 = Math_fround(0), $113 = Math_fround(0), $127 = Math_fround(0), wasm2js_i32$0 = 0, wasm2js_f32$0 = Math_fround(0); + $5 = __stack_pointer - 32 | 0; + __stack_pointer = $5; + HEAP32[($5 + 28 | 0) >> 2] = $1; + HEAP32[($5 + 24 | 0) >> 2] = $2; + $6 = HEAP32[($5 + 28 | 0) >> 2] | 0; + HEAPF32[($5 + 20 | 0) >> 2] = Math_fround(Math_fround(HEAPF32[($6 + 68 | 0) >> 2]) * Math_fround(.5)); + label$1 : { + label$2 : { + if (!(Math_fround(HEAPF32[((btVector3__operator_20float_20const__28_29_20const(HEAP32[($5 + 24 | 0) >> 2] | 0 | 0) | 0) + ((HEAP32[($6 + 76 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2]) > Math_fround(Math_fround(btVector3__length_28_29_20const(HEAP32[($5 + 24 | 0) >> 2] | 0 | 0)) * Math_fround(HEAPF32[($6 + 60 | 0) >> 2])) & 1 | 0)) { + break label$2 + } + btVector3__btVector3_28_29($0 | 0) | 0; + (wasm2js_i32$0 = (btVector3__operator_20float__28_29($0 | 0) | 0) + ((HEAP32[($6 + 72 | 0) >> 2] | 0) << 2 | 0) | 0, wasm2js_f32$0 = Math_fround(0 | 0)), HEAPF32[wasm2js_i32$0 >> 2] = wasm2js_f32$0; + $31 = Math_fround(HEAPF32[($5 + 20 | 0) >> 2]); + (wasm2js_i32$0 = (btVector3__operator_20float__28_29($0 | 0) | 0) + ((HEAP32[($6 + 76 | 0) >> 2] | 0) << 2 | 0) | 0, wasm2js_f32$0 = $31), HEAPF32[wasm2js_i32$0 >> 2] = wasm2js_f32$0; + (wasm2js_i32$0 = (btVector3__operator_20float__28_29($0 | 0) | 0) + ((HEAP32[($6 + 80 | 0) >> 2] | 0) << 2 | 0) | 0, wasm2js_f32$0 = Math_fround(0 | 0)), HEAPF32[wasm2js_i32$0 >> 2] = wasm2js_f32$0; + break label$1; + } + (wasm2js_i32$0 = $5, wasm2js_f32$0 = Math_fround(btSqrt_28float_29(Math_fround(Math_fround(Math_fround(Math_fround(HEAPF32[((btVector3__operator_20float_20const__28_29_20const(HEAP32[($5 + 24 | 0) >> 2] | 0 | 0) | 0) + ((HEAP32[($6 + 72 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2]) * Math_fround(HEAPF32[((btVector3__operator_20float_20const__28_29_20const(HEAP32[($5 + 24 | 0) >> 2] | 0 | 0) | 0) + ((HEAP32[($6 + 72 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2])) + Math_fround(Math_fround(HEAPF32[((btVector3__operator_20float_20const__28_29_20const(HEAP32[($5 + 24 | 0) >> 2] | 0 | 0) | 0) + ((HEAP32[($6 + 80 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2]) * Math_fround(HEAPF32[((btVector3__operator_20float_20const__28_29_20const(HEAP32[($5 + 24 | 0) >> 2] | 0 | 0) | 0) + ((HEAP32[($6 + 80 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2]))))))), HEAPF32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_f32$0; + label$3 : { + if (!(Math_fround(HEAPF32[($5 + 16 | 0) >> 2]) > Math_fround(1.1920928955078125e-07) & 1 | 0)) { + break label$3 + } + HEAPF32[($5 + 12 | 0) >> 2] = Math_fround(Math_fround(HEAPF32[($6 + 64 | 0) >> 2]) / Math_fround(HEAPF32[($5 + 16 | 0) >> 2])); + btVector3__btVector3_28_29($0 | 0) | 0; + $92 = Math_fround(Math_fround(HEAPF32[((btVector3__operator_20float_20const__28_29_20const(HEAP32[($5 + 24 | 0) >> 2] | 0 | 0) | 0) + ((HEAP32[($6 + 72 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2]) * Math_fround(HEAPF32[($5 + 12 | 0) >> 2])); + (wasm2js_i32$0 = (btVector3__operator_20float__28_29($0 | 0) | 0) + ((HEAP32[($6 + 72 | 0) >> 2] | 0) << 2 | 0) | 0, wasm2js_f32$0 = $92), HEAPF32[wasm2js_i32$0 >> 2] = wasm2js_f32$0; + $99 = Math_fround(-Math_fround(HEAPF32[($5 + 20 | 0) >> 2])); + (wasm2js_i32$0 = (btVector3__operator_20float__28_29($0 | 0) | 0) + ((HEAP32[($6 + 76 | 0) >> 2] | 0) << 2 | 0) | 0, wasm2js_f32$0 = $99), HEAPF32[wasm2js_i32$0 >> 2] = wasm2js_f32$0; + $113 = Math_fround(Math_fround(HEAPF32[((btVector3__operator_20float_20const__28_29_20const(HEAP32[($5 + 24 | 0) >> 2] | 0 | 0) | 0) + ((HEAP32[($6 + 80 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2]) * Math_fround(HEAPF32[($5 + 12 | 0) >> 2])); + (wasm2js_i32$0 = (btVector3__operator_20float__28_29($0 | 0) | 0) + ((HEAP32[($6 + 80 | 0) >> 2] | 0) << 2 | 0) | 0, wasm2js_f32$0 = $113), HEAPF32[wasm2js_i32$0 >> 2] = wasm2js_f32$0; + break label$1; + } + btVector3__btVector3_28_29($0 | 0) | 0; + (wasm2js_i32$0 = (btVector3__operator_20float__28_29($0 | 0) | 0) + ((HEAP32[($6 + 72 | 0) >> 2] | 0) << 2 | 0) | 0, wasm2js_f32$0 = Math_fround(0 | 0)), HEAPF32[wasm2js_i32$0 >> 2] = wasm2js_f32$0; + $127 = Math_fround(-Math_fround(HEAPF32[($5 + 20 | 0) >> 2])); + (wasm2js_i32$0 = (btVector3__operator_20float__28_29($0 | 0) | 0) + ((HEAP32[($6 + 76 | 0) >> 2] | 0) << 2 | 0) | 0, wasm2js_f32$0 = $127), HEAPF32[wasm2js_i32$0 >> 2] = wasm2js_f32$0; + (wasm2js_i32$0 = (btVector3__operator_20float__28_29($0 | 0) | 0) + ((HEAP32[($6 + 80 | 0) >> 2] | 0) << 2 | 0) | 0, wasm2js_f32$0 = Math_fround(0 | 0)), HEAPF32[wasm2js_i32$0 >> 2] = wasm2js_f32$0; + } + __stack_pointer = $5 + 32 | 0; + return; + } + + function btConeShape__localGetSupportingVertexWithoutMargin_28btVector3_20const__29_20const($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $5 = 0; + $5 = __stack_pointer - 16 | 0; + __stack_pointer = $5; + HEAP32[($5 + 12 | 0) >> 2] = $1; + HEAP32[($5 + 8 | 0) >> 2] = $2; + btConeShape__coneLocalSupport_28btVector3_20const__29_20const($0 | 0, HEAP32[($5 + 12 | 0) >> 2] | 0 | 0, HEAP32[($5 + 8 | 0) >> 2] | 0 | 0); + __stack_pointer = $5 + 16 | 0; + return; + } + + function btConeShape__batchedUnitVectorGetSupportingVertexWithoutMargin_28btVector3_20const__2c_20btVector3__2c_20int_29_20const($0, $1, $2, $3) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + var $6 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, $29 = 0, $31 = 0, $7 = 0, $107 = 0, $120 = 0; + $6 = __stack_pointer - 48 | 0; + __stack_pointer = $6; + HEAP32[($6 + 44 | 0) >> 2] = $0; + HEAP32[($6 + 40 | 0) >> 2] = $1; + HEAP32[($6 + 36 | 0) >> 2] = $2; + HEAP32[($6 + 32 | 0) >> 2] = $3; + $7 = HEAP32[($6 + 44 | 0) >> 2] | 0; + HEAP32[($6 + 28 | 0) >> 2] = 0; + label$1 : { + label$2 : while (1) { + if (!((HEAP32[($6 + 28 | 0) >> 2] | 0 | 0) < (HEAP32[($6 + 32 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$1 + } + HEAP32[($6 + 24 | 0) >> 2] = (HEAP32[($6 + 40 | 0) >> 2] | 0) + ((HEAP32[($6 + 28 | 0) >> 2] | 0) << 4 | 0) | 0; + btConeShape__coneLocalSupport_28btVector3_20const__29_20const($6 + 8 | 0 | 0, $7 | 0, HEAP32[($6 + 24 | 0) >> 2] | 0 | 0); + $29 = (HEAP32[($6 + 36 | 0) >> 2] | 0) + ((HEAP32[($6 + 28 | 0) >> 2] | 0) << 4 | 0) | 0; + i64toi32_i32$2 = $6; + i64toi32_i32$0 = HEAP32[($6 + 8 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($6 + 12 | 0) >> 2] | 0; + $107 = i64toi32_i32$0; + i64toi32_i32$0 = $29; + HEAP32[i64toi32_i32$0 >> 2] = $107; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $31 = 8; + i64toi32_i32$2 = ($6 + 8 | 0) + $31 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $120 = i64toi32_i32$1; + i64toi32_i32$1 = $29 + $31 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $120; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($6 + 28 | 0) >> 2] = (HEAP32[($6 + 28 | 0) >> 2] | 0) + 1 | 0; + continue label$2; + }; + } + __stack_pointer = $6 + 48 | 0; + return; + } + + function btConeShape__localGetSupportingVertex_28btVector3_20const__29_20const($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $5 = 0, i64toi32_i32$0 = 0, $6 = 0, i64toi32_i32$2 = 0, i64toi32_i32$1 = 0, $16 = 0, $17 = 0, $114 = 0, $118 = 0, wasm2js_i32$0 = 0, wasm2js_f32$0 = Math_fround(0); + $5 = __stack_pointer - 64 | 0; + __stack_pointer = $5; + HEAP32[($5 + 60 | 0) >> 2] = $1; + HEAP32[($5 + 56 | 0) >> 2] = $2; + $6 = HEAP32[($5 + 60 | 0) >> 2] | 0; + btConeShape__coneLocalSupport_28btVector3_20const__29_20const($0 | 0, $6 | 0, HEAP32[($5 + 56 | 0) >> 2] | 0 | 0); + label$1 : { + if (!(Math_fround(FUNCTION_TABLE[HEAP32[((HEAP32[$6 >> 2] | 0) + 48 | 0) >> 2] | 0 | 0]($6)) != Math_fround(0 | 0) & 1 | 0)) { + break label$1 + } + $16 = HEAP32[($5 + 56 | 0) >> 2] | 0; + $17 = 8; + i64toi32_i32$2 = $16 + $17 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $114 = i64toi32_i32$0; + i64toi32_i32$0 = ($5 + 40 | 0) + $17 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $114; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$2 = $16; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $118 = i64toi32_i32$1; + i64toi32_i32$1 = $5; + HEAP32[($5 + 40 | 0) >> 2] = $118; + HEAP32[($5 + 44 | 0) >> 2] = i64toi32_i32$0; + label$2 : { + if (!(Math_fround(btVector3__length2_28_29_20const($5 + 40 | 0 | 0)) < Math_fround(1.4210854715202004e-14) & 1 | 0)) { + break label$2 + } + HEAPF32[($5 + 36 | 0) >> 2] = Math_fround(-1.0); + HEAPF32[($5 + 32 | 0) >> 2] = Math_fround(-1.0); + HEAPF32[($5 + 28 | 0) >> 2] = Math_fround(-1.0); + btVector3__setValue_28float_20const__2c_20float_20const__2c_20float_20const__29($5 + 40 | 0 | 0, $5 + 36 | 0 | 0, $5 + 32 | 0 | 0, $5 + 28 | 0 | 0); + } + btVector3__normalize_28_29($5 + 40 | 0 | 0) | 0; + (wasm2js_i32$0 = $5, wasm2js_f32$0 = Math_fround(FUNCTION_TABLE[HEAP32[((HEAP32[$6 >> 2] | 0) + 48 | 0) >> 2] | 0 | 0]($6))), HEAPF32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_f32$0; + operator__28float_20const__2c_20btVector3_20const__29($5 + 12 | 0 | 0, $5 + 8 | 0 | 0, $5 + 40 | 0 | 0); + btVector3__operator___28btVector3_20const__29_1($0 | 0, $5 + 12 | 0 | 0) | 0; + } + __stack_pointer = $5 + 64 | 0; + return; + } + + function btConeShape__setLocalScaling_28btVector3_20const__29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, $5 = 0, $15 = Math_fround(0), $18 = 0, $42 = Math_fround(0), $49 = Math_fround(0), $52 = 0, wasm2js_i32$0 = 0, wasm2js_f32$0 = Math_fround(0); + $4 = __stack_pointer - 32 | 0; + __stack_pointer = $4; + HEAP32[($4 + 28 | 0) >> 2] = $0; + HEAP32[($4 + 24 | 0) >> 2] = $1; + $5 = HEAP32[($4 + 28 | 0) >> 2] | 0; + HEAP32[($4 + 20 | 0) >> 2] = HEAP32[($5 + 76 | 0) >> 2] | 0; + HEAP32[($4 + 16 | 0) >> 2] = HEAP32[($5 + 72 | 0) >> 2] | 0; + HEAP32[($4 + 12 | 0) >> 2] = HEAP32[($5 + 80 | 0) >> 2] | 0; + $15 = Math_fround(HEAPF32[((btVector3__operator_20float_20const__28_29_20const(HEAP32[($4 + 24 | 0) >> 2] | 0 | 0) | 0) + ((HEAP32[($4 + 20 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2]); + $18 = btVector3__operator_20float__28_29($5 + 20 | 0 | 0) | 0; + HEAPF32[($5 + 68 | 0) >> 2] = Math_fround(Math_fround(HEAPF32[($5 + 68 | 0) >> 2]) * Math_fround($15 / Math_fround(HEAPF32[($18 + ((HEAP32[($4 + 20 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2]))); + $42 = Math_fround(Math_fround(HEAPF32[((btVector3__operator_20float_20const__28_29_20const(HEAP32[($4 + 24 | 0) >> 2] | 0 | 0) | 0) + ((HEAP32[($4 + 16 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2]) / Math_fround(HEAPF32[((btVector3__operator_20float__28_29($5 + 20 | 0 | 0) | 0) + ((HEAP32[($4 + 16 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2])); + $49 = Math_fround(HEAPF32[((btVector3__operator_20float_20const__28_29_20const(HEAP32[($4 + 24 | 0) >> 2] | 0 | 0) | 0) + ((HEAP32[($4 + 12 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2]); + $52 = btVector3__operator_20float__28_29($5 + 20 | 0 | 0) | 0; + HEAPF32[($5 + 64 | 0) >> 2] = Math_fround(Math_fround(HEAPF32[($5 + 64 | 0) >> 2]) * Math_fround(Math_fround($42 + Math_fround($49 / Math_fround(HEAPF32[($52 + ((HEAP32[($4 + 12 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2]))) / Math_fround(2.0))); + (wasm2js_i32$0 = $5, wasm2js_f32$0 = Math_fround(Math_fround(HEAPF32[($5 + 64 | 0) >> 2]) / Math_fround(btSqrt_28float_29(Math_fround(Math_fround(Math_fround(Math_fround(HEAPF32[($5 + 64 | 0) >> 2]) * Math_fround(HEAPF32[($5 + 64 | 0) >> 2])) + Math_fround(Math_fround(HEAPF32[($5 + 68 | 0) >> 2]) * Math_fround(HEAPF32[($5 + 68 | 0) >> 2])))))))), HEAPF32[(wasm2js_i32$0 + 60 | 0) >> 2] = wasm2js_f32$0; + btConvexInternalShape__setLocalScaling_28btVector3_20const__29($5 | 0, HEAP32[($4 + 24 | 0) >> 2] | 0 | 0); + __stack_pointer = $4 + 32 | 0; + return; + } + + function btConeShape___btConeShape_28_29($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + btConvexInternalShape___btConvexInternalShape_28_29($4 | 0) | 0; + __stack_pointer = $3 + 16 | 0; + return $4 | 0; + } + + function btConeShape___btConeShape_28_29_1($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + btConeShape___btConeShape_28_29($4 | 0) | 0; + btConeShape__operator_20delete_28void__29($4 | 0); + __stack_pointer = $3 + 16 | 0; + return; + } + + function btConeShape__operator_20delete_28void__29($0) { + $0 = $0 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + btAlignedFreeInternal_28void__29(HEAP32[($3 + 12 | 0) >> 2] | 0 | 0); + __stack_pointer = $3 + 16 | 0; + return; + } + + function btConvexInternalShape__getAabb_28btTransform_20const__2c_20btVector3__2c_20btVector3__29_20const($0, $1, $2, $3) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + var $6 = 0, $7 = 0; + $6 = __stack_pointer - 16 | 0; + __stack_pointer = $6; + HEAP32[($6 + 12 | 0) >> 2] = $0; + HEAP32[($6 + 8 | 0) >> 2] = $1; + HEAP32[($6 + 4 | 0) >> 2] = $2; + HEAP32[$6 >> 2] = $3; + $7 = HEAP32[($6 + 12 | 0) >> 2] | 0; + FUNCTION_TABLE[HEAP32[((HEAP32[$7 >> 2] | 0) + 80 | 0) >> 2] | 0 | 0]($7, HEAP32[($6 + 8 | 0) >> 2] | 0, HEAP32[($6 + 4 | 0) >> 2] | 0, HEAP32[$6 >> 2] | 0); + __stack_pointer = $6 + 16 | 0; + return; + } + + function btConeShape__calculateLocalInertia_28float_2c_20btVector3__29_20const($0, $1, $2) { + $0 = $0 | 0; + $1 = Math_fround($1); + $2 = $2 | 0; + var $5 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $6 = 0, i64toi32_i32$2 = 0, $121 = 0, $123 = 0, $385 = 0, $398 = 0, wasm2js_i32$0 = 0, wasm2js_f32$0 = Math_fround(0); + $5 = __stack_pointer - 224 | 0; + __stack_pointer = $5; + HEAP32[($5 + 220 | 0) >> 2] = $0; + HEAPF32[($5 + 216 | 0) >> 2] = $1; + HEAP32[($5 + 212 | 0) >> 2] = $2; + $6 = HEAP32[($5 + 220 | 0) >> 2] | 0; + btTransform__btTransform_28_29($5 + 148 | 0 | 0) | 0; + btTransform__setIdentity_28_29($5 + 148 | 0 | 0); + btVector3__btVector3_28_29($5 + 132 | 0 | 0) | 0; + btVector3__btVector3_28_29($5 + 116 | 0 | 0) | 0; + FUNCTION_TABLE[HEAP32[((HEAP32[$6 >> 2] | 0) + 8 | 0) >> 2] | 0 | 0]($6, $5 + 148 | 0, $5 + 132 | 0, $5 + 116 | 0); + operator__28btVector3_20const__2c_20btVector3_20const__29($5 + 84 | 0 | 0, $5 + 116 | 0 | 0, $5 + 132 | 0 | 0); + HEAPF32[($5 + 80 | 0) >> 2] = Math_fround(.5); + operator__28btVector3_20const__2c_20float_20const__29($5 + 100 | 0 | 0, $5 + 84 | 0 | 0, $5 + 80 | 0 | 0); + (wasm2js_i32$0 = $5, wasm2js_f32$0 = Math_fround(FUNCTION_TABLE[HEAP32[((HEAP32[$6 >> 2] | 0) + 48 | 0) >> 2] | 0 | 0]($6))), HEAPF32[(wasm2js_i32$0 + 76 | 0) >> 2] = wasm2js_f32$0; + (wasm2js_i32$0 = $5, wasm2js_f32$0 = Math_fround(Math_fround(2.0) * Math_fround(Math_fround(HEAPF32[(btVector3__x_28_29_20const($5 + 100 | 0 | 0) | 0) >> 2]) + Math_fround(HEAPF32[($5 + 76 | 0) >> 2])))), HEAPF32[(wasm2js_i32$0 + 72 | 0) >> 2] = wasm2js_f32$0; + (wasm2js_i32$0 = $5, wasm2js_f32$0 = Math_fround(Math_fround(2.0) * Math_fround(Math_fround(HEAPF32[(btVector3__y_28_29_20const($5 + 100 | 0 | 0) | 0) >> 2]) + Math_fround(HEAPF32[($5 + 76 | 0) >> 2])))), HEAPF32[(wasm2js_i32$0 + 68 | 0) >> 2] = wasm2js_f32$0; + (wasm2js_i32$0 = $5, wasm2js_f32$0 = Math_fround(Math_fround(2.0) * Math_fround(Math_fround(HEAPF32[(btVector3__z_28_29_20const($5 + 100 | 0 | 0) | 0) >> 2]) + Math_fround(HEAPF32[($5 + 76 | 0) >> 2])))), HEAPF32[(wasm2js_i32$0 + 64 | 0) >> 2] = wasm2js_f32$0; + HEAPF32[($5 + 60 | 0) >> 2] = Math_fround(Math_fround(HEAPF32[($5 + 72 | 0) >> 2]) * Math_fround(HEAPF32[($5 + 72 | 0) >> 2])); + HEAPF32[($5 + 56 | 0) >> 2] = Math_fround(Math_fround(HEAPF32[($5 + 68 | 0) >> 2]) * Math_fround(HEAPF32[($5 + 68 | 0) >> 2])); + HEAPF32[($5 + 52 | 0) >> 2] = Math_fround(Math_fround(HEAPF32[($5 + 64 | 0) >> 2]) * Math_fround(HEAPF32[($5 + 64 | 0) >> 2])); + HEAPF32[($5 + 48 | 0) >> 2] = Math_fround(Math_fround(HEAPF32[($5 + 216 | 0) >> 2]) * Math_fround(.0833333283662796)); + HEAPF32[($5 + 12 | 0) >> 2] = Math_fround(Math_fround(HEAPF32[($5 + 56 | 0) >> 2]) + Math_fround(HEAPF32[($5 + 52 | 0) >> 2])); + HEAPF32[($5 + 8 | 0) >> 2] = Math_fround(Math_fround(HEAPF32[($5 + 60 | 0) >> 2]) + Math_fround(HEAPF32[($5 + 52 | 0) >> 2])); + HEAPF32[($5 + 4 | 0) >> 2] = Math_fround(Math_fround(HEAPF32[($5 + 60 | 0) >> 2]) + Math_fround(HEAPF32[($5 + 56 | 0) >> 2])); + btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($5 + 16 | 0 | 0, $5 + 12 | 0 | 0, $5 + 8 | 0 | 0, $5 + 4 | 0 | 0) | 0; + operator__28float_20const__2c_20btVector3_20const__29($5 + 32 | 0 | 0, $5 + 48 | 0 | 0, $5 + 16 | 0 | 0); + $121 = HEAP32[($5 + 212 | 0) >> 2] | 0; + i64toi32_i32$2 = $5; + i64toi32_i32$0 = HEAP32[($5 + 32 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($5 + 36 | 0) >> 2] | 0; + $385 = i64toi32_i32$0; + i64toi32_i32$0 = $121; + HEAP32[i64toi32_i32$0 >> 2] = $385; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $123 = 8; + i64toi32_i32$2 = ($5 + 32 | 0) + $123 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $398 = i64toi32_i32$1; + i64toi32_i32$1 = $121 + $123 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $398; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + __stack_pointer = $5 + 224 | 0; + return; + } + + function btConeShape__getName_28_29_20const($0) { + $0 = $0 | 0; + HEAP32[((__stack_pointer - 16 | 0) + 12 | 0) >> 2] = $0; + return 81789 | 0; + } + + function btConeShape__getAnisotropicRollingFrictionDirection_28_29_20const($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0; + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[($4 + 12 | 0) >> 2] = $1; + HEAPF32[($4 + 8 | 0) >> 2] = Math_fround(0 | 0); + HEAPF32[($4 + 4 | 0) >> 2] = Math_fround(1.0); + HEAPF32[$4 >> 2] = Math_fround(0 | 0); + btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($0 | 0, $4 + 8 | 0 | 0, $4 + 4 | 0 | 0, $4 | 0) | 0; + __stack_pointer = $4 + 16 | 0; + return; + } + + function btConeShape__calculateSerializeBufferSize_28_29_20const($0) { + $0 = $0 | 0; + HEAP32[((__stack_pointer - 16 | 0) + 12 | 0) >> 2] = $0; + return 60 | 0; + } + + function btConeShape__serialize_28void__2c_20btSerializer__29_20const($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $5 = 0, $6 = 0; + $5 = __stack_pointer - 16 | 0; + __stack_pointer = $5; + HEAP32[($5 + 12 | 0) >> 2] = $0; + HEAP32[($5 + 8 | 0) >> 2] = $1; + HEAP32[($5 + 4 | 0) >> 2] = $2; + $6 = HEAP32[($5 + 12 | 0) >> 2] | 0; + HEAP32[$5 >> 2] = HEAP32[($5 + 8 | 0) >> 2] | 0; + btConvexInternalShape__serialize_28void__2c_20btSerializer__29_20const($6 | 0, HEAP32[$5 >> 2] | 0 | 0, HEAP32[($5 + 4 | 0) >> 2] | 0 | 0) | 0; + HEAP32[((HEAP32[$5 >> 2] | 0) + 52 | 0) >> 2] = HEAP32[($6 + 76 | 0) >> 2] | 0; + HEAP8[((HEAP32[$5 >> 2] | 0) + 56 | 0) >> 0] = 0; + HEAP8[((HEAP32[$5 >> 2] | 0) + 57 | 0) >> 0] = 0; + HEAP8[((HEAP32[$5 >> 2] | 0) + 58 | 0) >> 0] = 0; + HEAP8[((HEAP32[$5 >> 2] | 0) + 59 | 0) >> 0] = 0; + __stack_pointer = $5 + 16 | 0; + return 83555 | 0; + } + + function _GLOBAL__sub_I_btConeShape_cpp() { + __cxx_global_var_init_34(); + return; + } + + function __cxx_global_var_init_35() { + btInfMaskConverter__btInfMaskConverter_28int_29(114128 | 0, 2139095040 | 0) | 0; + return; + } + + function btConvexInternalShape__btConvexInternalShape_28_29($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + btConvexShape__btConvexShape_28_29($4 | 0) | 0; + HEAP32[$4 >> 2] = 98100 + 8 | 0; + HEAPF32[($3 + 8 | 0) >> 2] = Math_fround(1.0); + HEAPF32[($3 + 4 | 0) >> 2] = Math_fround(1.0); + HEAPF32[$3 >> 2] = Math_fround(1.0); + btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($4 + 20 | 0 | 0, $3 + 8 | 0 | 0, $3 + 4 | 0 | 0, $3 | 0) | 0; + btVector3__btVector3_28_29($4 + 36 | 0 | 0) | 0; + HEAPF32[($4 + 52 | 0) >> 2] = Math_fround(.03999999910593033); + __stack_pointer = $3 + 16 | 0; + return $4 | 0; + } + + function btConvexInternalShape__setLocalScaling_28btVector3_20const__29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, $11 = 0, $13 = 0, $5 = 0, $46 = 0, $59 = 0; + $4 = __stack_pointer - 32 | 0; + __stack_pointer = $4; + HEAP32[($4 + 28 | 0) >> 2] = $0; + HEAP32[($4 + 24 | 0) >> 2] = $1; + $5 = HEAP32[($4 + 28 | 0) >> 2] | 0; + btVector3__absolute_28_29_20const($4 + 8 | 0 | 0, HEAP32[($4 + 24 | 0) >> 2] | 0 | 0); + $11 = $5 + 20 | 0; + i64toi32_i32$2 = $4; + i64toi32_i32$0 = HEAP32[($4 + 8 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($4 + 12 | 0) >> 2] | 0; + $46 = i64toi32_i32$0; + i64toi32_i32$0 = $11; + HEAP32[i64toi32_i32$0 >> 2] = $46; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $13 = 8; + i64toi32_i32$2 = ($4 + 8 | 0) + $13 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $59 = i64toi32_i32$1; + i64toi32_i32$1 = $11 + $13 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $59; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + __stack_pointer = $4 + 32 | 0; + return; + } + + function btVector3__absolute_28_29_20const($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, $5 = 0, wasm2js_i32$0 = 0, wasm2js_f32$0 = Math_fround(0); + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[($4 + 12 | 0) >> 2] = $1; + $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; + (wasm2js_i32$0 = $4, wasm2js_f32$0 = Math_fround(btFabs_28float_29(Math_fround(Math_fround(HEAPF32[$5 >> 2]))))), HEAPF32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_f32$0; + (wasm2js_i32$0 = $4, wasm2js_f32$0 = Math_fround(btFabs_28float_29(Math_fround(Math_fround(HEAPF32[($5 + 4 | 0) >> 2]))))), HEAPF32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_f32$0; + (wasm2js_i32$0 = $4, wasm2js_f32$0 = Math_fround(btFabs_28float_29(Math_fround(Math_fround(HEAPF32[($5 + 8 | 0) >> 2]))))), HEAPF32[wasm2js_i32$0 >> 2] = wasm2js_f32$0; + btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($0 | 0, $4 + 8 | 0 | 0, $4 + 4 | 0 | 0, $4 | 0) | 0; + __stack_pointer = $4 + 16 | 0; + return; + } + + function btConvexInternalShape__getAabbSlow_28btTransform_20const__2c_20btVector3__2c_20btVector3__29_20const($0, $1, $2, $3) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + var $6 = 0, $7 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, $118 = 0, $79 = Math_fround(0), $95 = 0, $390 = 0, $394 = 0, $137 = Math_fround(0), wasm2js_i32$0 = 0, wasm2js_f32$0 = Math_fround(0); + $6 = __stack_pointer - 160 | 0; + __stack_pointer = $6; + HEAP32[($6 + 156 | 0) >> 2] = $0; + HEAP32[($6 + 152 | 0) >> 2] = $1; + HEAP32[($6 + 148 | 0) >> 2] = $2; + HEAP32[($6 + 144 | 0) >> 2] = $3; + $7 = HEAP32[($6 + 156 | 0) >> 2] | 0; + (wasm2js_i32$0 = $6, wasm2js_f32$0 = Math_fround(FUNCTION_TABLE[HEAP32[((HEAP32[$7 >> 2] | 0) + 48 | 0) >> 2] | 0 | 0]($7))), HEAPF32[(wasm2js_i32$0 + 140 | 0) >> 2] = wasm2js_f32$0; + HEAP32[($6 + 136 | 0) >> 2] = 0; + label$1 : { + label$2 : while (1) { + if (!((HEAP32[($6 + 136 | 0) >> 2] | 0 | 0) < (3 | 0) & 1 | 0)) { + break label$1 + } + HEAPF32[($6 + 116 | 0) >> 2] = Math_fround(0 | 0); + HEAPF32[($6 + 112 | 0) >> 2] = Math_fround(0 | 0); + HEAPF32[($6 + 108 | 0) >> 2] = Math_fround(0 | 0); + btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($6 + 120 | 0 | 0, $6 + 116 | 0 | 0, $6 + 112 | 0 | 0, $6 + 108 | 0 | 0) | 0; + (wasm2js_i32$0 = (btVector3__operator_20float__28_29($6 + 120 | 0 | 0) | 0) + ((HEAP32[($6 + 136 | 0) >> 2] | 0) << 2 | 0) | 0, wasm2js_f32$0 = Math_fround(1.0)), HEAPF32[wasm2js_i32$0 >> 2] = wasm2js_f32$0; + operator__28btVector3_20const__2c_20btMatrix3x3_20const__29($6 + 76 | 0 | 0, $6 + 120 | 0 | 0, btTransform__getBasis_28_29_20const(HEAP32[($6 + 152 | 0) >> 2] | 0 | 0) | 0 | 0); + FUNCTION_TABLE[HEAP32[((HEAP32[$7 >> 2] | 0) + 64 | 0) >> 2] | 0 | 0]($6 + 92 | 0, $7, $6 + 76 | 0); + btTransform__operator_28_29_28btVector3_20const__29_20const($6 + 56 | 0 | 0, HEAP32[($6 + 152 | 0) >> 2] | 0 | 0, $6 + 92 | 0 | 0); + $79 = Math_fround(Math_fround(HEAPF32[((btVector3__operator_20float__28_29($6 + 56 | 0 | 0) | 0) + ((HEAP32[($6 + 136 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2]) + Math_fround(HEAPF32[($6 + 140 | 0) >> 2])); + (wasm2js_i32$0 = (btVector3__operator_20float__28_29(HEAP32[($6 + 144 | 0) >> 2] | 0 | 0) | 0) + ((HEAP32[($6 + 136 | 0) >> 2] | 0) << 2 | 0) | 0, wasm2js_f32$0 = $79), HEAPF32[wasm2js_i32$0 >> 2] = wasm2js_f32$0; + (wasm2js_i32$0 = (btVector3__operator_20float__28_29($6 + 120 | 0 | 0) | 0) + ((HEAP32[($6 + 136 | 0) >> 2] | 0) << 2 | 0) | 0, wasm2js_f32$0 = Math_fround(-1.0)), HEAPF32[wasm2js_i32$0 >> 2] = wasm2js_f32$0; + $95 = HEAP32[($6 + 152 | 0) >> 2] | 0; + operator__28btVector3_20const__2c_20btMatrix3x3_20const__29($6 + 8 | 0 | 0, $6 + 120 | 0 | 0, btTransform__getBasis_28_29_20const(HEAP32[($6 + 152 | 0) >> 2] | 0 | 0) | 0 | 0); + FUNCTION_TABLE[HEAP32[((HEAP32[$7 >> 2] | 0) + 64 | 0) >> 2] | 0 | 0]($6 + 24 | 0, $7, $6 + 8 | 0); + btTransform__operator_28_29_28btVector3_20const__29_20const($6 + 40 | 0 | 0, $95 | 0, $6 + 24 | 0 | 0); + $118 = 8; + i64toi32_i32$2 = ($6 + 40 | 0) + $118 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $390 = i64toi32_i32$0; + i64toi32_i32$0 = ($6 + 56 | 0) + $118 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $390; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$2 = $6; + i64toi32_i32$1 = HEAP32[($6 + 40 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($6 + 44 | 0) >> 2] | 0; + $394 = i64toi32_i32$1; + i64toi32_i32$1 = $6; + HEAP32[($6 + 56 | 0) >> 2] = $394; + HEAP32[($6 + 60 | 0) >> 2] = i64toi32_i32$0; + $137 = Math_fround(Math_fround(HEAPF32[((btVector3__operator_20float__28_29($6 + 56 | 0 | 0) | 0) + ((HEAP32[($6 + 136 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2]) - Math_fround(HEAPF32[($6 + 140 | 0) >> 2])); + (wasm2js_i32$0 = (btVector3__operator_20float__28_29(HEAP32[($6 + 148 | 0) >> 2] | 0 | 0) | 0) + ((HEAP32[($6 + 136 | 0) >> 2] | 0) << 2 | 0) | 0, wasm2js_f32$0 = $137), HEAPF32[wasm2js_i32$0 >> 2] = wasm2js_f32$0; + HEAP32[($6 + 136 | 0) >> 2] = (HEAP32[($6 + 136 | 0) >> 2] | 0) + 1 | 0; + continue label$2; + }; + } + __stack_pointer = $6 + 160 | 0; + return; + } + + function btConvexInternalShape__localGetSupportingVertex_28btVector3_20const__29_20const($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $5 = 0, $6 = 0, i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, i64toi32_i32$1 = 0, $18 = 0, $19 = 0, $121 = 0, $125 = 0, wasm2js_i32$0 = 0, wasm2js_f32$0 = Math_fround(0); + $5 = __stack_pointer - 64 | 0; + __stack_pointer = $5; + HEAP32[($5 + 60 | 0) >> 2] = $1; + HEAP32[($5 + 56 | 0) >> 2] = $2; + $6 = HEAP32[($5 + 60 | 0) >> 2] | 0; + FUNCTION_TABLE[HEAP32[((HEAP32[$6 >> 2] | 0) + 68 | 0) >> 2] | 0 | 0]($0, $6, HEAP32[($5 + 56 | 0) >> 2] | 0); + label$1 : { + if (!(Math_fround(FUNCTION_TABLE[HEAP32[((HEAP32[$6 >> 2] | 0) + 48 | 0) >> 2] | 0 | 0]($6)) != Math_fround(0 | 0) & 1 | 0)) { + break label$1 + } + $18 = HEAP32[($5 + 56 | 0) >> 2] | 0; + $19 = 8; + i64toi32_i32$2 = $18 + $19 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $121 = i64toi32_i32$0; + i64toi32_i32$0 = ($5 + 40 | 0) + $19 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $121; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$2 = $18; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $125 = i64toi32_i32$1; + i64toi32_i32$1 = $5; + HEAP32[($5 + 40 | 0) >> 2] = $125; + HEAP32[($5 + 44 | 0) >> 2] = i64toi32_i32$0; + label$2 : { + if (!(Math_fround(btVector3__length2_28_29_20const($5 + 40 | 0 | 0)) < Math_fround(1.4210854715202004e-14) & 1 | 0)) { + break label$2 + } + HEAPF32[($5 + 36 | 0) >> 2] = Math_fround(-1.0); + HEAPF32[($5 + 32 | 0) >> 2] = Math_fround(-1.0); + HEAPF32[($5 + 28 | 0) >> 2] = Math_fround(-1.0); + btVector3__setValue_28float_20const__2c_20float_20const__2c_20float_20const__29($5 + 40 | 0 | 0, $5 + 36 | 0 | 0, $5 + 32 | 0 | 0, $5 + 28 | 0 | 0); + } + btVector3__normalize_28_29($5 + 40 | 0 | 0) | 0; + (wasm2js_i32$0 = $5, wasm2js_f32$0 = Math_fround(FUNCTION_TABLE[HEAP32[((HEAP32[$6 >> 2] | 0) + 48 | 0) >> 2] | 0 | 0]($6))), HEAPF32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_f32$0; + operator__28float_20const__2c_20btVector3_20const__29($5 + 12 | 0 | 0, $5 + 8 | 0 | 0, $5 + 40 | 0 | 0); + btVector3__operator___28btVector3_20const__29_1($0 | 0, $5 + 12 | 0 | 0) | 0; + } + __stack_pointer = $5 + 64 | 0; + return; + } + + function btConvexInternalShape___btConvexInternalShape_28_29_1($0) { + $0 = $0 | 0; + HEAP32[((__stack_pointer - 16 | 0) + 12 | 0) >> 2] = $0; + wasm2js_trap(); + } + + function _GLOBAL__sub_I_btConvexInternalShape_cpp() { + __cxx_global_var_init_35(); + return; + } + + function __cxx_global_var_init_36() { + btInfMaskConverter__btInfMaskConverter_28int_29(114132 | 0, 2139095040 | 0) | 0; + return; + } + + function btConvexShape__btConvexShape_28_29($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + btCollisionShape__btCollisionShape_28_29($4 | 0) | 0; + HEAP32[$4 >> 2] = 98236 + 8 | 0; + __stack_pointer = $3 + 16 | 0; + return $4 | 0; + } + + function btConvexShape___btConvexShape_28_29($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + btCollisionShape___btCollisionShape_28_29($4 | 0) | 0; + __stack_pointer = $3 + 16 | 0; + return $4 | 0; + } + + function btConvexShape___btConvexShape_28_29_1($0) { + $0 = $0 | 0; + HEAP32[((__stack_pointer - 16 | 0) + 12 | 0) >> 2] = $0; + wasm2js_trap(); + } + + function btConvexShape__project_28btTransform_20const__2c_20btVector3_20const__2c_20float__2c_20float__2c_20btVector3__2c_20btVector3__29_20const($0, $1, $2, $3, $4, $5, $6) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + $4 = $4 | 0; + $5 = $5 | 0; + $6 = $6 | 0; + var $9 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, $10 = 0, $65 = 0, $67 = 0, $73 = 0, $75 = 0, $95 = 0, $97 = 0, $103 = 0, $105 = 0, $17 = 0, $32 = 0, $57 = Math_fround(0), $63 = Math_fround(0), $246 = 0, $259 = 0, $265 = 0, $278 = 0, $320 = 0, $333 = 0, $339 = 0, $352 = 0; + $9 = __stack_pointer - 128 | 0; + __stack_pointer = $9; + HEAP32[($9 + 124 | 0) >> 2] = $0; + HEAP32[($9 + 120 | 0) >> 2] = $1; + HEAP32[($9 + 116 | 0) >> 2] = $2; + HEAP32[($9 + 112 | 0) >> 2] = $3; + HEAP32[($9 + 108 | 0) >> 2] = $4; + HEAP32[($9 + 104 | 0) >> 2] = $5; + HEAP32[($9 + 100 | 0) >> 2] = $6; + $10 = HEAP32[($9 + 124 | 0) >> 2] | 0; + operator__28btVector3_20const__2c_20btMatrix3x3_20const__29($9 + 84 | 0 | 0, HEAP32[($9 + 116 | 0) >> 2] | 0 | 0, btTransform__getBasis_28_29_20const(HEAP32[($9 + 120 | 0) >> 2] | 0 | 0) | 0 | 0); + $17 = HEAP32[($9 + 120 | 0) >> 2] | 0; + FUNCTION_TABLE[HEAP32[((HEAP32[$10 >> 2] | 0) + 64 | 0) >> 2] | 0 | 0]($9 + 52 | 0, $10, $9 + 84 | 0); + btTransform__operator_28_29_28btVector3_20const__29_20const($9 + 68 | 0 | 0, $17 | 0, $9 + 52 | 0 | 0); + $32 = HEAP32[($9 + 120 | 0) >> 2] | 0; + operator__28btVector3_20const__29($9 + 4 | 0 | 0, $9 + 84 | 0 | 0); + FUNCTION_TABLE[HEAP32[((HEAP32[$10 >> 2] | 0) + 64 | 0) >> 2] | 0 | 0]($9 + 20 | 0, $10, $9 + 4 | 0); + btTransform__operator_28_29_28btVector3_20const__29_20const($9 + 36 | 0 | 0, $32 | 0, $9 + 20 | 0 | 0); + $57 = Math_fround(btVector3__dot_28btVector3_20const__29_20const($9 + 68 | 0 | 0, HEAP32[($9 + 116 | 0) >> 2] | 0 | 0)); + HEAPF32[(HEAP32[($9 + 112 | 0) >> 2] | 0) >> 2] = $57; + $63 = Math_fround(btVector3__dot_28btVector3_20const__29_20const($9 + 36 | 0 | 0, HEAP32[($9 + 116 | 0) >> 2] | 0 | 0)); + HEAPF32[(HEAP32[($9 + 108 | 0) >> 2] | 0) >> 2] = $63; + $65 = HEAP32[($9 + 100 | 0) >> 2] | 0; + i64toi32_i32$2 = $9; + i64toi32_i32$0 = HEAP32[($9 + 36 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($9 + 40 | 0) >> 2] | 0; + $246 = i64toi32_i32$0; + i64toi32_i32$0 = $65; + HEAP32[i64toi32_i32$0 >> 2] = $246; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $67 = 8; + i64toi32_i32$2 = ($9 + 36 | 0) + $67 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $259 = i64toi32_i32$1; + i64toi32_i32$1 = $65 + $67 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $259; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + $73 = HEAP32[($9 + 104 | 0) >> 2] | 0; + i64toi32_i32$2 = $9; + i64toi32_i32$0 = HEAP32[($9 + 68 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($9 + 72 | 0) >> 2] | 0; + $265 = i64toi32_i32$0; + i64toi32_i32$0 = $73; + HEAP32[i64toi32_i32$0 >> 2] = $265; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $75 = 8; + i64toi32_i32$2 = ($9 + 68 | 0) + $75 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $278 = i64toi32_i32$1; + i64toi32_i32$1 = $73 + $75 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $278; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + label$1 : { + if (!(Math_fround(HEAPF32[(HEAP32[($9 + 112 | 0) >> 2] | 0) >> 2]) > Math_fround(HEAPF32[(HEAP32[($9 + 108 | 0) >> 2] | 0) >> 2]) & 1 | 0)) { + break label$1 + } + HEAPF32[$9 >> 2] = Math_fround(HEAPF32[(HEAP32[($9 + 112 | 0) >> 2] | 0) >> 2]); + HEAPF32[(HEAP32[($9 + 112 | 0) >> 2] | 0) >> 2] = Math_fround(HEAPF32[(HEAP32[($9 + 108 | 0) >> 2] | 0) >> 2]); + HEAPF32[(HEAP32[($9 + 108 | 0) >> 2] | 0) >> 2] = Math_fround(HEAPF32[$9 >> 2]); + $95 = HEAP32[($9 + 100 | 0) >> 2] | 0; + i64toi32_i32$2 = $9; + i64toi32_i32$0 = HEAP32[($9 + 68 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($9 + 72 | 0) >> 2] | 0; + $320 = i64toi32_i32$0; + i64toi32_i32$0 = $95; + HEAP32[i64toi32_i32$0 >> 2] = $320; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $97 = 8; + i64toi32_i32$2 = ($9 + 68 | 0) + $97 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $333 = i64toi32_i32$1; + i64toi32_i32$1 = $95 + $97 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $333; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + $103 = HEAP32[($9 + 104 | 0) >> 2] | 0; + i64toi32_i32$2 = $9; + i64toi32_i32$0 = HEAP32[($9 + 36 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($9 + 40 | 0) >> 2] | 0; + $339 = i64toi32_i32$0; + i64toi32_i32$0 = $103; + HEAP32[i64toi32_i32$0 >> 2] = $339; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $105 = 8; + i64toi32_i32$2 = ($9 + 36 | 0) + $105 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $352 = i64toi32_i32$1; + i64toi32_i32$1 = $103 + $105 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $352; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + } + __stack_pointer = $9 + 128 | 0; + return; + } + + function btConvexShape__localGetSupportVertexWithoutMarginNonVirtual_28btVector3_20const__29_20const($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $5 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, $6 = 0, $230 = 0, $7 = 0, $100 = 0, $101 = 0, $121 = 0, $122 = 0, $141 = 0, $142 = 0, $257 = Math_fround(0), $304 = 0, $322 = Math_fround(0), $387 = 0, $462 = 0, $484 = 0, $521 = 0, $543 = 0, $817 = 0, $821 = 0, $863 = 0, $867 = 0, $235 = Math_fround(0), $278 = Math_fround(0), $299 = Math_fround(0), $1410 = 0, $1414 = 0, $453 = Math_fround(0), $1555 = 0, $1559 = 0, $1604 = 0, $1608 = 0, $512 = Math_fround(0), $1677 = 0, $1681 = 0, $1726 = 0, $1730 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0, wasm2js_f32$0 = Math_fround(0); + $5 = __stack_pointer - 400 | 0; + __stack_pointer = $5; + HEAP32[($5 + 396 | 0) >> 2] = $1; + HEAP32[($5 + 392 | 0) >> 2] = $2; + $6 = HEAP32[($5 + 396 | 0) >> 2] | 0; + $7 = HEAP32[($6 + 4 | 0) >> 2] | 0; + label$1 : { + label$2 : { + switch ($7 | 0) { + case 8: + HEAPF32[($5 + 388 | 0) >> 2] = Math_fround(0 | 0); + HEAPF32[($5 + 384 | 0) >> 2] = Math_fround(0 | 0); + HEAPF32[($5 + 380 | 0) >> 2] = Math_fround(0 | 0); + btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($0 | 0, $5 + 388 | 0 | 0, $5 + 384 | 0 | 0, $5 + 380 | 0 | 0) | 0; + break label$1; + case 0: + HEAP32[($5 + 376 | 0) >> 2] = $6; + (wasm2js_i32$0 = $5, wasm2js_i32$1 = btConvexInternalShape__getImplicitShapeDimensions_28_29_20const(HEAP32[($5 + 376 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 372 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $5, wasm2js_f32$0 = Math_fround(btFsel_28float_2c_20float_2c_20float_29(Math_fround(Math_fround(HEAPF32[(btVector3__x_28_29_20const(HEAP32[($5 + 392 | 0) >> 2] | 0 | 0) | 0) >> 2])), Math_fround(Math_fround(HEAPF32[(btVector3__x_28_29_20const(HEAP32[($5 + 372 | 0) >> 2] | 0 | 0) | 0) >> 2])), Math_fround(Math_fround(-Math_fround(HEAPF32[(btVector3__x_28_29_20const(HEAP32[($5 + 372 | 0) >> 2] | 0 | 0) | 0) >> 2])))))), HEAPF32[(wasm2js_i32$0 + 368 | 0) >> 2] = wasm2js_f32$0; + (wasm2js_i32$0 = $5, wasm2js_f32$0 = Math_fround(btFsel_28float_2c_20float_2c_20float_29(Math_fround(Math_fround(HEAPF32[(btVector3__y_28_29_20const(HEAP32[($5 + 392 | 0) >> 2] | 0 | 0) | 0) >> 2])), Math_fround(Math_fround(HEAPF32[(btVector3__y_28_29_20const(HEAP32[($5 + 372 | 0) >> 2] | 0 | 0) | 0) >> 2])), Math_fround(Math_fround(-Math_fround(HEAPF32[(btVector3__y_28_29_20const(HEAP32[($5 + 372 | 0) >> 2] | 0 | 0) | 0) >> 2])))))), HEAPF32[(wasm2js_i32$0 + 364 | 0) >> 2] = wasm2js_f32$0; + (wasm2js_i32$0 = $5, wasm2js_f32$0 = Math_fround(btFsel_28float_2c_20float_2c_20float_29(Math_fround(Math_fround(HEAPF32[(btVector3__z_28_29_20const(HEAP32[($5 + 392 | 0) >> 2] | 0 | 0) | 0) >> 2])), Math_fround(Math_fround(HEAPF32[(btVector3__z_28_29_20const(HEAP32[($5 + 372 | 0) >> 2] | 0 | 0) | 0) >> 2])), Math_fround(Math_fround(-Math_fround(HEAPF32[(btVector3__z_28_29_20const(HEAP32[($5 + 372 | 0) >> 2] | 0 | 0) | 0) >> 2])))))), HEAPF32[(wasm2js_i32$0 + 360 | 0) >> 2] = wasm2js_f32$0; + btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($0 | 0, $5 + 368 | 0 | 0, $5 + 364 | 0 | 0, $5 + 360 | 0 | 0) | 0; + break label$1; + case 1: + HEAP32[($5 + 356 | 0) >> 2] = $6; + btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($5 + 340 | 0 | 0, btVector3__getX_28_29_20const(HEAP32[($5 + 392 | 0) >> 2] | 0 | 0) | 0 | 0, btVector3__getY_28_29_20const(HEAP32[($5 + 392 | 0) >> 2] | 0 | 0) | 0 | 0, btVector3__getZ_28_29_20const(HEAP32[($5 + 392 | 0) >> 2] | 0 | 0) | 0 | 0) | 0; + HEAP32[($5 + 336 | 0) >> 2] = (HEAP32[($5 + 356 | 0) >> 2] | 0) + 64 | 0; + btVector3__dot3_28btVector3_20const__2c_20btVector3_20const__2c_20btVector3_20const__29_20const($5 + 320 | 0 | 0, $5 + 340 | 0 | 0, HEAP32[($5 + 336 | 0) >> 2] | 0 | 0, (HEAP32[($5 + 336 | 0) >> 2] | 0) + 16 | 0 | 0, (HEAP32[($5 + 336 | 0) >> 2] | 0) + 32 | 0 | 0); + $100 = (HEAP32[($5 + 336 | 0) >> 2] | 0) + ((btVector3__maxAxis_28_29_20const($5 + 320 | 0 | 0) | 0) << 4 | 0) | 0; + $101 = 8; + i64toi32_i32$2 = $100 + $101 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $817 = i64toi32_i32$0; + i64toi32_i32$0 = ($5 + 304 | 0) + $101 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $817; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$2 = $100; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $821 = i64toi32_i32$1; + i64toi32_i32$1 = $5; + HEAP32[($5 + 304 | 0) >> 2] = $821; + HEAP32[($5 + 308 | 0) >> 2] = i64toi32_i32$0; + btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($0 | 0, btVector3__getX_28_29_20const($5 + 304 | 0 | 0) | 0 | 0, btVector3__getY_28_29_20const($5 + 304 | 0 | 0) | 0 | 0, btVector3__getZ_28_29_20const($5 + 304 | 0 | 0) | 0 | 0) | 0; + break label$1; + case 13: + HEAP32[($5 + 300 | 0) >> 2] = $6; + $121 = btConvexInternalShape__getImplicitShapeDimensions_28_29_20const(HEAP32[($5 + 300 | 0) >> 2] | 0 | 0) | 0; + $122 = 8; + i64toi32_i32$2 = $121 + $122 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $863 = i64toi32_i32$0; + i64toi32_i32$0 = ($5 + 280 | 0) + $122 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $863; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$2 = $121; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $867 = i64toi32_i32$1; + i64toi32_i32$1 = $5; + HEAP32[($5 + 280 | 0) >> 2] = $867; + HEAP32[($5 + 284 | 0) >> 2] = i64toi32_i32$0; + btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($5 + 264 | 0 | 0, btVector3__getX_28_29_20const(HEAP32[($5 + 392 | 0) >> 2] | 0 | 0) | 0 | 0, btVector3__getY_28_29_20const(HEAP32[($5 + 392 | 0) >> 2] | 0 | 0) | 0 | 0, btVector3__getZ_28_29_20const(HEAP32[($5 + 392 | 0) >> 2] | 0 | 0) | 0 | 0) | 0; + (wasm2js_i32$0 = $5, wasm2js_i32$1 = btCylinderShape__getUpAxis_28_29_20const(HEAP32[($5 + 300 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 260 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($5 + 256 | 0) >> 2] = 1; + HEAP32[($5 + 252 | 0) >> 2] = 0; + $141 = 2; + HEAP32[($5 + 248 | 0) >> 2] = $141; + $142 = HEAP32[($5 + 260 | 0) >> 2] | 0; + label$10 : { + label$11 : { + switch ($142 | 0) { + case 0: + HEAP32[($5 + 256 | 0) >> 2] = 1; + HEAP32[($5 + 252 | 0) >> 2] = 0; + HEAP32[($5 + 248 | 0) >> 2] = 2; + break label$10; + case 1: + HEAP32[($5 + 256 | 0) >> 2] = 0; + HEAP32[($5 + 252 | 0) >> 2] = 1; + HEAP32[($5 + 248 | 0) >> 2] = 2; + break label$10; + case 2: + HEAP32[($5 + 256 | 0) >> 2] = 0; + HEAP32[($5 + 252 | 0) >> 2] = 2; + HEAP32[($5 + 248 | 0) >> 2] = 1; + break label$10; + default: + break label$11; + }; + } + __assert_fail(86177 | 0, 74260 | 0, 200 | 0, 77337 | 0); + wasm2js_trap(); + } + (wasm2js_i32$0 = $5, wasm2js_f32$0 = Math_fround(HEAPF32[((btVector3__operator_20float__28_29($5 + 280 | 0 | 0) | 0) + ((HEAP32[($5 + 256 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2])), HEAPF32[(wasm2js_i32$0 + 244 | 0) >> 2] = wasm2js_f32$0; + (wasm2js_i32$0 = $5, wasm2js_f32$0 = Math_fround(HEAPF32[((btVector3__operator_20float__28_29($5 + 280 | 0 | 0) | 0) + ((HEAP32[($5 + 260 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2])), HEAPF32[(wasm2js_i32$0 + 240 | 0) >> 2] = wasm2js_f32$0; + btVector3__btVector3_28_29($5 + 224 | 0 | 0) | 0; + (wasm2js_i32$0 = $5, wasm2js_f32$0 = Math_fround(btSqrt_28float_29(Math_fround(Math_fround(Math_fround(Math_fround(HEAPF32[((btVector3__operator_20float__28_29($5 + 264 | 0 | 0) | 0) + ((HEAP32[($5 + 256 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2]) * Math_fround(HEAPF32[((btVector3__operator_20float__28_29($5 + 264 | 0 | 0) | 0) + ((HEAP32[($5 + 256 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2])) + Math_fround(Math_fround(HEAPF32[((btVector3__operator_20float__28_29($5 + 264 | 0 | 0) | 0) + ((HEAP32[($5 + 248 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2]) * Math_fround(HEAPF32[((btVector3__operator_20float__28_29($5 + 264 | 0 | 0) | 0) + ((HEAP32[($5 + 248 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2]))))))), HEAPF32[(wasm2js_i32$0 + 216 | 0) >> 2] = wasm2js_f32$0; + label$15 : { + if (!(Math_fround(HEAPF32[($5 + 216 | 0) >> 2]) != Math_fround(0 | 0) & 1 | 0)) { + break label$15 + } + HEAPF32[($5 + 220 | 0) >> 2] = Math_fround(Math_fround(HEAPF32[($5 + 244 | 0) >> 2]) / Math_fround(HEAPF32[($5 + 216 | 0) >> 2])); + $230 = 2; + $235 = Math_fround(Math_fround(HEAPF32[((btVector3__operator_20float__28_29($5 + 264 | 0 | 0) | 0) + ((HEAP32[($5 + 256 | 0) >> 2] | 0) << $230 | 0) | 0) >> 2]) * Math_fround(HEAPF32[($5 + 220 | 0) >> 2])); + (wasm2js_i32$0 = (btVector3__operator_20float__28_29($5 + 224 | 0 | 0) | 0) + ((HEAP32[($5 + 256 | 0) >> 2] | 0) << $230 | 0) | 0, wasm2js_f32$0 = $235), HEAPF32[wasm2js_i32$0 >> 2] = wasm2js_f32$0; + label$16 : { + label$17 : { + if (!(+Math_fround(HEAPF32[((btVector3__operator_20float__28_29($5 + 264 | 0 | 0) | 0) + ((HEAP32[($5 + 252 | 0) >> 2] | 0) << $230 | 0) | 0) >> 2]) < +(0 | 0) & 1 | 0)) { + break label$17 + } + $257 = Math_fround(-Math_fround(HEAPF32[($5 + 240 | 0) >> 2])); + break label$16; + } + $257 = Math_fround(HEAPF32[($5 + 240 | 0) >> 2]); + } + (wasm2js_i32$0 = (btVector3__operator_20float__28_29($5 + 224 | 0 | 0) | 0) + ((HEAP32[($5 + 252 | 0) >> 2] | 0) << 2 | 0) | 0, wasm2js_f32$0 = $257), HEAPF32[wasm2js_i32$0 >> 2] = wasm2js_f32$0; + $278 = Math_fround(Math_fround(HEAPF32[((btVector3__operator_20float__28_29($5 + 264 | 0 | 0) | 0) + ((HEAP32[($5 + 248 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2]) * Math_fround(HEAPF32[($5 + 220 | 0) >> 2])); + (wasm2js_i32$0 = (btVector3__operator_20float__28_29($5 + 224 | 0 | 0) | 0) + ((HEAP32[($5 + 248 | 0) >> 2] | 0) << 2 | 0) | 0, wasm2js_f32$0 = $278), HEAPF32[wasm2js_i32$0 >> 2] = wasm2js_f32$0; + btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($0 | 0, btVector3__getX_28_29_20const($5 + 224 | 0 | 0) | 0 | 0, btVector3__getY_28_29_20const($5 + 224 | 0 | 0) | 0 | 0, btVector3__getZ_28_29_20const($5 + 224 | 0 | 0) | 0 | 0) | 0; + break label$1; + } + $299 = Math_fround(HEAPF32[($5 + 244 | 0) >> 2]); + $304 = 2; + (wasm2js_i32$0 = (btVector3__operator_20float__28_29($5 + 224 | 0 | 0) | 0) + ((HEAP32[($5 + 256 | 0) >> 2] | 0) << $304 | 0) | 0, wasm2js_f32$0 = $299), HEAPF32[wasm2js_i32$0 >> 2] = wasm2js_f32$0; + label$18 : { + label$19 : { + if (!(+Math_fround(HEAPF32[((btVector3__operator_20float__28_29($5 + 264 | 0 | 0) | 0) + ((HEAP32[($5 + 252 | 0) >> 2] | 0) << $304 | 0) | 0) >> 2]) < +(0 | 0) & 1 | 0)) { + break label$19 + } + $322 = Math_fround(-Math_fround(HEAPF32[($5 + 240 | 0) >> 2])); + break label$18; + } + $322 = Math_fround(HEAPF32[($5 + 240 | 0) >> 2]); + } + (wasm2js_i32$0 = (btVector3__operator_20float__28_29($5 + 224 | 0 | 0) | 0) + ((HEAP32[($5 + 252 | 0) >> 2] | 0) << 2 | 0) | 0, wasm2js_f32$0 = $322), HEAPF32[wasm2js_i32$0 >> 2] = wasm2js_f32$0; + (wasm2js_i32$0 = (btVector3__operator_20float__28_29($5 + 224 | 0 | 0) | 0) + ((HEAP32[($5 + 248 | 0) >> 2] | 0) << 2 | 0) | 0, wasm2js_f32$0 = Math_fround(0 | 0)), HEAPF32[wasm2js_i32$0 >> 2] = wasm2js_f32$0; + btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($0 | 0, btVector3__getX_28_29_20const($5 + 224 | 0 | 0) | 0 | 0, btVector3__getY_28_29_20const($5 + 224 | 0 | 0) | 0 | 0, btVector3__getZ_28_29_20const($5 + 224 | 0 | 0) | 0 | 0) | 0; + break label$1; + case 10: + btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($5 + 200 | 0 | 0, btVector3__getX_28_29_20const(HEAP32[($5 + 392 | 0) >> 2] | 0 | 0) | 0 | 0, btVector3__getY_28_29_20const(HEAP32[($5 + 392 | 0) >> 2] | 0 | 0) | 0 | 0, btVector3__getZ_28_29_20const(HEAP32[($5 + 392 | 0) >> 2] | 0 | 0) | 0 | 0) | 0; + HEAP32[($5 + 196 | 0) >> 2] = $6; + (wasm2js_i32$0 = $5, wasm2js_f32$0 = Math_fround(btCapsuleShape__getHalfHeight_28_29_20const(HEAP32[($5 + 196 | 0) >> 2] | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 192 | 0) >> 2] = wasm2js_f32$0; + (wasm2js_i32$0 = $5, wasm2js_i32$1 = btCapsuleShape__getUpAxis_28_29_20const(HEAP32[($5 + 196 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 188 | 0) >> 2] = wasm2js_i32$1; + HEAPF32[($5 + 164 | 0) >> 2] = Math_fround(0 | 0); + HEAPF32[($5 + 160 | 0) >> 2] = Math_fround(0 | 0); + HEAPF32[($5 + 156 | 0) >> 2] = Math_fround(0 | 0); + btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($5 + 168 | 0 | 0, $5 + 164 | 0 | 0, $5 + 160 | 0 | 0, $5 + 156 | 0 | 0) | 0; + HEAPF32[($5 + 152 | 0) >> 2] = Math_fround(-999999984306749440.0); + $387 = 8; + i64toi32_i32$2 = ($5 + 200 | 0) + $387 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $1410 = i64toi32_i32$0; + i64toi32_i32$0 = ($5 + 136 | 0) + $387 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $1410; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$2 = $5; + i64toi32_i32$1 = HEAP32[($5 + 200 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($5 + 204 | 0) >> 2] | 0; + $1414 = i64toi32_i32$1; + i64toi32_i32$1 = $5; + HEAP32[($5 + 136 | 0) >> 2] = $1414; + HEAP32[($5 + 140 | 0) >> 2] = i64toi32_i32$0; + (wasm2js_i32$0 = $5, wasm2js_f32$0 = Math_fround(btVector3__length2_28_29_20const($5 + 136 | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 132 | 0) >> 2] = wasm2js_f32$0; + label$20 : { + label$21 : { + if (!(Math_fround(HEAPF32[($5 + 132 | 0) >> 2]) < Math_fround(1.4210854715202004e-14) & 1 | 0)) { + break label$21 + } + HEAPF32[($5 + 128 | 0) >> 2] = Math_fround(1.0); + HEAPF32[($5 + 124 | 0) >> 2] = Math_fround(0 | 0); + HEAPF32[($5 + 120 | 0) >> 2] = Math_fround(0 | 0); + btVector3__setValue_28float_20const__2c_20float_20const__2c_20float_20const__29($5 + 136 | 0 | 0, $5 + 128 | 0 | 0, $5 + 124 | 0 | 0, $5 + 120 | 0 | 0); + break label$20; + } + (wasm2js_i32$0 = $5, wasm2js_f32$0 = Math_fround(Math_fround(1.0) / Math_fround(btSqrt_28float_29(Math_fround(Math_fround(HEAPF32[($5 + 132 | 0) >> 2])))))), HEAPF32[(wasm2js_i32$0 + 116 | 0) >> 2] = wasm2js_f32$0; + btVector3__operator___28float_20const__29_1($5 + 136 | 0 | 0, $5 + 116 | 0 | 0) | 0; + } + btVector3__btVector3_28_29($5 + 96 | 0 | 0) | 0; + HEAPF32[($5 + 72 | 0) >> 2] = Math_fround(0 | 0); + HEAPF32[($5 + 68 | 0) >> 2] = Math_fround(0 | 0); + HEAPF32[($5 + 64 | 0) >> 2] = Math_fround(0 | 0); + btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($5 + 76 | 0 | 0, $5 + 72 | 0 | 0, $5 + 68 | 0 | 0, $5 + 64 | 0 | 0) | 0; + $453 = Math_fround(HEAPF32[($5 + 192 | 0) >> 2]); + (wasm2js_i32$0 = (btVector3__operator_20float__28_29($5 + 76 | 0 | 0) | 0) + ((HEAP32[($5 + 188 | 0) >> 2] | 0) << 2 | 0) | 0, wasm2js_f32$0 = $453), HEAPF32[wasm2js_i32$0 >> 2] = wasm2js_f32$0; + $462 = 8; + i64toi32_i32$2 = ($5 + 76 | 0) + $462 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $1555 = i64toi32_i32$0; + i64toi32_i32$0 = ($5 + 96 | 0) + $462 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $1555; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$2 = $5; + i64toi32_i32$1 = HEAP32[($5 + 76 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($5 + 80 | 0) >> 2] | 0; + $1559 = i64toi32_i32$1; + i64toi32_i32$1 = $5; + HEAP32[($5 + 96 | 0) >> 2] = $1559; + HEAP32[($5 + 100 | 0) >> 2] = i64toi32_i32$0; + (wasm2js_i32$0 = $5, wasm2js_f32$0 = Math_fround(btVector3__dot_28btVector3_20const__29_20const($5 + 136 | 0 | 0, $5 + 96 | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 92 | 0) >> 2] = wasm2js_f32$0; + label$22 : { + if (!(Math_fround(HEAPF32[($5 + 92 | 0) >> 2]) > Math_fround(HEAPF32[($5 + 152 | 0) >> 2]) & 1 | 0)) { + break label$22 + } + HEAPF32[($5 + 152 | 0) >> 2] = Math_fround(HEAPF32[($5 + 92 | 0) >> 2]); + $484 = 8; + i64toi32_i32$2 = ($5 + 96 | 0) + $484 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $1604 = i64toi32_i32$0; + i64toi32_i32$0 = ($5 + 168 | 0) + $484 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $1604; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$2 = $5; + i64toi32_i32$1 = HEAP32[($5 + 96 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($5 + 100 | 0) >> 2] | 0; + $1608 = i64toi32_i32$1; + i64toi32_i32$1 = $5; + HEAP32[($5 + 168 | 0) >> 2] = $1608; + HEAP32[($5 + 172 | 0) >> 2] = i64toi32_i32$0; + } + HEAPF32[($5 + 44 | 0) >> 2] = Math_fround(0 | 0); + HEAPF32[($5 + 40 | 0) >> 2] = Math_fround(0 | 0); + HEAPF32[($5 + 36 | 0) >> 2] = Math_fround(0 | 0); + btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($5 + 48 | 0 | 0, $5 + 44 | 0 | 0, $5 + 40 | 0 | 0, $5 + 36 | 0 | 0) | 0; + $512 = Math_fround(-Math_fround(HEAPF32[($5 + 192 | 0) >> 2])); + (wasm2js_i32$0 = (btVector3__operator_20float__28_29($5 + 48 | 0 | 0) | 0) + ((HEAP32[($5 + 188 | 0) >> 2] | 0) << 2 | 0) | 0, wasm2js_f32$0 = $512), HEAPF32[wasm2js_i32$0 >> 2] = wasm2js_f32$0; + $521 = 8; + i64toi32_i32$2 = ($5 + 48 | 0) + $521 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $1677 = i64toi32_i32$0; + i64toi32_i32$0 = ($5 + 96 | 0) + $521 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $1677; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$2 = $5; + i64toi32_i32$1 = HEAP32[($5 + 48 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($5 + 52 | 0) >> 2] | 0; + $1681 = i64toi32_i32$1; + i64toi32_i32$1 = $5; + HEAP32[($5 + 96 | 0) >> 2] = $1681; + HEAP32[($5 + 100 | 0) >> 2] = i64toi32_i32$0; + (wasm2js_i32$0 = $5, wasm2js_f32$0 = Math_fround(btVector3__dot_28btVector3_20const__29_20const($5 + 136 | 0 | 0, $5 + 96 | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 92 | 0) >> 2] = wasm2js_f32$0; + label$23 : { + if (!(Math_fround(HEAPF32[($5 + 92 | 0) >> 2]) > Math_fround(HEAPF32[($5 + 152 | 0) >> 2]) & 1 | 0)) { + break label$23 + } + HEAPF32[($5 + 152 | 0) >> 2] = Math_fround(HEAPF32[($5 + 92 | 0) >> 2]); + $543 = 8; + i64toi32_i32$2 = ($5 + 96 | 0) + $543 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $1726 = i64toi32_i32$0; + i64toi32_i32$0 = ($5 + 168 | 0) + $543 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $1726; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$2 = $5; + i64toi32_i32$1 = HEAP32[($5 + 96 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($5 + 100 | 0) >> 2] | 0; + $1730 = i64toi32_i32$1; + i64toi32_i32$1 = $5; + HEAP32[($5 + 168 | 0) >> 2] = $1730; + HEAP32[($5 + 172 | 0) >> 2] = i64toi32_i32$0; + } + btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($0 | 0, btVector3__getX_28_29_20const($5 + 168 | 0 | 0) | 0 | 0, btVector3__getY_28_29_20const($5 + 168 | 0 | 0) | 0 | 0, btVector3__getZ_28_29_20const($5 + 168 | 0 | 0) | 0 | 0) | 0; + break label$1; + case 5: + HEAP32[($5 + 32 | 0) >> 2] = $6; + (wasm2js_i32$0 = $5, wasm2js_i32$1 = btConvexPointCloudShape__getUnscaledPoints_28_29(HEAP32[($5 + 32 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $5, wasm2js_i32$1 = btConvexPointCloudShape__getNumPoints_28_29_20const(HEAP32[($5 + 32 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 24 | 0) >> 2] = wasm2js_i32$1; + convexHullSupport_28btVector3_20const__2c_20btVector3_20const__2c_20int_2c_20btVector3_20const__29($0 | 0, HEAP32[($5 + 392 | 0) >> 2] | 0 | 0, HEAP32[($5 + 28 | 0) >> 2] | 0 | 0, HEAP32[($5 + 24 | 0) >> 2] | 0 | 0, btConvexInternalShape__getLocalScalingNV_28_29_20const(HEAP32[($5 + 32 | 0) >> 2] | 0 | 0) | 0 | 0); + break label$1; + case 4: + HEAP32[($5 + 20 | 0) >> 2] = $6; + (wasm2js_i32$0 = $5, wasm2js_i32$1 = btConvexHullShape__getUnscaledPoints_28_29(HEAP32[($5 + 20 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $5, wasm2js_i32$1 = btConvexHullShape__getNumPoints_28_29_20const(HEAP32[($5 + 20 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + convexHullSupport_28btVector3_20const__2c_20btVector3_20const__2c_20int_2c_20btVector3_20const__29($0 | 0, HEAP32[($5 + 392 | 0) >> 2] | 0 | 0, HEAP32[($5 + 16 | 0) >> 2] | 0 | 0, HEAP32[($5 + 12 | 0) >> 2] | 0 | 0, btConvexInternalShape__getLocalScalingNV_28_29_20const(HEAP32[($5 + 20 | 0) >> 2] | 0 | 0) | 0 | 0); + break label$1; + default: + break label$2; + }; + } + FUNCTION_TABLE[HEAP32[((HEAP32[$6 >> 2] | 0) + 68 | 0) >> 2] | 0 | 0]($0, $6, HEAP32[($5 + 392 | 0) >> 2] | 0); + } + __stack_pointer = $5 + 400 | 0; + return; + } + + function btConvexPointCloudShape__getUnscaledPoints_28_29($0) { + $0 = $0 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + return HEAP32[((HEAP32[($3 + 12 | 0) >> 2] | 0) + 100 | 0) >> 2] | 0 | 0; + } + + function btConvexPointCloudShape__getNumPoints_28_29_20const($0) { + $0 = $0 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + return HEAP32[((HEAP32[($3 + 12 | 0) >> 2] | 0) + 104 | 0) >> 2] | 0 | 0; + } + + function btConvexInternalShape__getLocalScalingNV_28_29_20const($0) { + $0 = $0 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + return (HEAP32[($3 + 12 | 0) >> 2] | 0) + 20 | 0 | 0; + } + + function convexHullSupport_28btVector3_20const__2c_20btVector3_20const__2c_20int_2c_20btVector3_20const__29($0, $1, $2, $3, $4) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + $4 = $4 | 0; + var $7 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $7 = __stack_pointer - 48 | 0; + __stack_pointer = $7; + HEAP32[($7 + 44 | 0) >> 2] = $1; + HEAP32[($7 + 40 | 0) >> 2] = $2; + HEAP32[($7 + 36 | 0) >> 2] = $3; + HEAP32[($7 + 32 | 0) >> 2] = $4; + operator__28btVector3_20const__2c_20btVector3_20const__29_1($7 + 16 | 0 | 0, HEAP32[($7 + 44 | 0) >> 2] | 0 | 0, HEAP32[($7 + 32 | 0) >> 2] | 0 | 0); + (wasm2js_i32$0 = $7, wasm2js_i32$1 = btVector3__maxDot_28btVector3_20const__2c_20long_2c_20float__29_20const($7 + 16 | 0 | 0, HEAP32[($7 + 40 | 0) >> 2] | 0 | 0, HEAP32[($7 + 36 | 0) >> 2] | 0 | 0, $7 + 12 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + if ((HEAP32[($7 + 8 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0) { + break label$1 + } + __assert_fail(86080 | 0, 74260 | 0, 123 | 0, 67460 | 0); + wasm2js_trap(); + } + operator__28btVector3_20const__2c_20btVector3_20const__29_1($0 | 0, (HEAP32[($7 + 40 | 0) >> 2] | 0) + ((HEAP32[($7 + 8 | 0) >> 2] | 0) << 4 | 0) | 0 | 0, HEAP32[($7 + 32 | 0) >> 2] | 0 | 0); + __stack_pointer = $7 + 48 | 0; + return; + } + + function btConvexHullShape__getUnscaledPoints_28_29($0) { + $0 = $0 | 0; + var $3 = 0, $8 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $8 = btAlignedObjectArray_btVector3___operator_5b_5d_28int_29((HEAP32[($3 + 12 | 0) >> 2] | 0) + 100 | 0 | 0, 0 | 0) | 0; + __stack_pointer = $3 + 16 | 0; + return $8 | 0; + } + + function btConvexHullShape__getNumPoints_28_29_20const($0) { + $0 = $0 | 0; + var $3 = 0, $7 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $7 = btAlignedObjectArray_btVector3___size_28_29_20const((HEAP32[($3 + 12 | 0) >> 2] | 0) + 100 | 0 | 0) | 0; + __stack_pointer = $3 + 16 | 0; + return $7 | 0; + } + + function btVector3__maxDot_28btVector3_20const__2c_20long_2c_20float__29_20const($0, $1, $2, $3) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + var $6 = 0, $7 = 0, $37 = 0, wasm2js_i32$0 = 0, wasm2js_f32$0 = Math_fround(0); + $6 = __stack_pointer - 32 | 0; + __stack_pointer = $6; + HEAP32[($6 + 28 | 0) >> 2] = $0; + HEAP32[($6 + 24 | 0) >> 2] = $1; + HEAP32[($6 + 20 | 0) >> 2] = $2; + HEAP32[($6 + 16 | 0) >> 2] = $3; + $7 = HEAP32[($6 + 28 | 0) >> 2] | 0; + HEAPF32[($6 + 12 | 0) >> 2] = Math_fround(-3402823466385288598117041.0e14); + HEAP32[($6 + 8 | 0) >> 2] = 0; + HEAP32[($6 + 4 | 0) >> 2] = -1; + HEAP32[($6 + 8 | 0) >> 2] = 0; + label$1 : { + label$2 : while (1) { + if (!((HEAP32[($6 + 8 | 0) >> 2] | 0 | 0) < (HEAP32[($6 + 20 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$1 + } + (wasm2js_i32$0 = $6, wasm2js_f32$0 = Math_fround(btVector3__dot_28btVector3_20const__29_20const((HEAP32[($6 + 24 | 0) >> 2] | 0) + ((HEAP32[($6 + 8 | 0) >> 2] | 0) << 4 | 0) | 0 | 0, $7 | 0))), HEAPF32[wasm2js_i32$0 >> 2] = wasm2js_f32$0; + label$3 : { + if (!(Math_fround(HEAPF32[$6 >> 2]) > Math_fround(HEAPF32[($6 + 12 | 0) >> 2]) & 1 | 0)) { + break label$3 + } + HEAPF32[($6 + 12 | 0) >> 2] = Math_fround(HEAPF32[$6 >> 2]); + HEAP32[($6 + 4 | 0) >> 2] = HEAP32[($6 + 8 | 0) >> 2] | 0; + } + HEAP32[($6 + 8 | 0) >> 2] = (HEAP32[($6 + 8 | 0) >> 2] | 0) + 1 | 0; + continue label$2; + }; + } + HEAPF32[(HEAP32[($6 + 16 | 0) >> 2] | 0) >> 2] = Math_fround(HEAPF32[($6 + 12 | 0) >> 2]); + $37 = HEAP32[($6 + 4 | 0) >> 2] | 0; + __stack_pointer = $6 + 32 | 0; + return $37 | 0; + } + + function btAlignedObjectArray_btVector3___operator_5b_5d_28int_29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, $5 = 0, $32 = 0; + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; + label$1 : { + if ((HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0) { + break label$1 + } + __assert_fail(85840 | 0, 78192 | 0, 183 | 0, 83901 | 0); + wasm2js_trap(); + } + label$2 : { + if ((HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) < (btAlignedObjectArray_btVector3___size_28_29_20const($5 | 0) | 0 | 0) & 1 | 0) { + break label$2 + } + __assert_fail(87321 | 0, 78192 | 0, 184 | 0, 83901 | 0); + wasm2js_trap(); + } + $32 = (HEAP32[($5 + 12 | 0) >> 2] | 0) + ((HEAP32[($4 + 8 | 0) >> 2] | 0) << 4 | 0) | 0; + __stack_pointer = $4 + 16 | 0; + return $32 | 0; + } + + function btConvexShape__localGetSupportVertexNonVirtual_28btVector3_20const__29_20const($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $5 = 0, i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, i64toi32_i32$1 = 0, $6 = 0, $7 = 0, $8 = 0, $90 = 0, $94 = 0, wasm2js_i32$0 = 0, wasm2js_f32$0 = Math_fround(0); + $5 = __stack_pointer - 80 | 0; + __stack_pointer = $5; + HEAP32[($5 + 76 | 0) >> 2] = $1; + HEAP32[($5 + 72 | 0) >> 2] = $2; + $6 = HEAP32[($5 + 76 | 0) >> 2] | 0; + $7 = HEAP32[($5 + 72 | 0) >> 2] | 0; + $8 = 8; + i64toi32_i32$2 = $7 + $8 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $90 = i64toi32_i32$0; + i64toi32_i32$0 = ($5 + 56 | 0) + $8 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $90; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$2 = $7; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $94 = i64toi32_i32$1; + i64toi32_i32$1 = $5; + HEAP32[($5 + 56 | 0) >> 2] = $94; + HEAP32[($5 + 60 | 0) >> 2] = i64toi32_i32$0; + label$1 : { + if (!(Math_fround(btVector3__length2_28_29_20const($5 + 56 | 0 | 0)) < Math_fround(1.4210854715202004e-14) & 1 | 0)) { + break label$1 + } + HEAPF32[($5 + 52 | 0) >> 2] = Math_fround(-1.0); + HEAPF32[($5 + 48 | 0) >> 2] = Math_fround(-1.0); + HEAPF32[($5 + 44 | 0) >> 2] = Math_fround(-1.0); + btVector3__setValue_28float_20const__2c_20float_20const__2c_20float_20const__29($5 + 56 | 0 | 0, $5 + 52 | 0 | 0, $5 + 48 | 0 | 0, $5 + 44 | 0 | 0); + } + btVector3__normalize_28_29($5 + 56 | 0 | 0) | 0; + btConvexShape__localGetSupportVertexWithoutMarginNonVirtual_28btVector3_20const__29_20const($5 + 28 | 0 | 0, $6 | 0, $5 + 56 | 0 | 0); + (wasm2js_i32$0 = $5, wasm2js_f32$0 = Math_fround(btConvexShape__getMarginNonVirtual_28_29_20const($6 | 0))), HEAPF32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_f32$0; + operator__28float_20const__2c_20btVector3_20const__29($5 + 12 | 0 | 0, $5 + 8 | 0 | 0, $5 + 56 | 0 | 0); + operator__28btVector3_20const__2c_20btVector3_20const__29_2($0 | 0, $5 + 28 | 0 | 0, $5 + 12 | 0 | 0); + __stack_pointer = $5 + 80 | 0; + return; + } + + function btConvexShape__getMarginNonVirtual_28_29_20const($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0, $5 = 0, $24 = Math_fround(0), wasm2js_i32$0 = 0, wasm2js_f32$0 = Math_fround(0); + $3 = __stack_pointer - 48 | 0; + __stack_pointer = $3; + HEAP32[($3 + 40 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 40 | 0) >> 2] | 0; + $5 = HEAP32[($4 + 4 | 0) >> 2] | 0; + label$1 : { + label$2 : { + switch ($5 | 0) { + case 8: + HEAP32[($3 + 36 | 0) >> 2] = $4; + (wasm2js_i32$0 = $3, wasm2js_f32$0 = Math_fround(btSphereShape__getRadius_28_29_20const(HEAP32[($3 + 36 | 0) >> 2] | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 44 | 0) >> 2] = wasm2js_f32$0; + break label$1; + case 0: + HEAP32[($3 + 32 | 0) >> 2] = $4; + (wasm2js_i32$0 = $3, wasm2js_f32$0 = Math_fround(btConvexInternalShape__getMarginNV_28_29_20const(HEAP32[($3 + 32 | 0) >> 2] | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 44 | 0) >> 2] = wasm2js_f32$0; + break label$1; + case 1: + HEAP32[($3 + 28 | 0) >> 2] = $4; + (wasm2js_i32$0 = $3, wasm2js_f32$0 = Math_fround(btConvexInternalShape__getMarginNV_28_29_20const(HEAP32[($3 + 28 | 0) >> 2] | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 44 | 0) >> 2] = wasm2js_f32$0; + break label$1; + case 13: + HEAP32[($3 + 24 | 0) >> 2] = $4; + (wasm2js_i32$0 = $3, wasm2js_f32$0 = Math_fround(btConvexInternalShape__getMarginNV_28_29_20const(HEAP32[($3 + 24 | 0) >> 2] | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 44 | 0) >> 2] = wasm2js_f32$0; + break label$1; + case 11: + HEAP32[($3 + 20 | 0) >> 2] = $4; + (wasm2js_i32$0 = $3, wasm2js_f32$0 = Math_fround(btConvexInternalShape__getMarginNV_28_29_20const(HEAP32[($3 + 20 | 0) >> 2] | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 44 | 0) >> 2] = wasm2js_f32$0; + break label$1; + case 10: + HEAP32[($3 + 16 | 0) >> 2] = $4; + (wasm2js_i32$0 = $3, wasm2js_f32$0 = Math_fround(btConvexInternalShape__getMarginNV_28_29_20const(HEAP32[($3 + 16 | 0) >> 2] | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 44 | 0) >> 2] = wasm2js_f32$0; + break label$1; + case 4: + case 5: + HEAP32[($3 + 12 | 0) >> 2] = $4; + (wasm2js_i32$0 = $3, wasm2js_f32$0 = Math_fround(btConvexInternalShape__getMarginNV_28_29_20const(HEAP32[($3 + 12 | 0) >> 2] | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 44 | 0) >> 2] = wasm2js_f32$0; + break label$1; + default: + break label$2; + }; + } + (wasm2js_i32$0 = $3, wasm2js_f32$0 = Math_fround(FUNCTION_TABLE[HEAP32[((HEAP32[$4 >> 2] | 0) + 48 | 0) >> 2] | 0 | 0]($4))), HEAPF32[(wasm2js_i32$0 + 44 | 0) >> 2] = wasm2js_f32$0; + } + $24 = Math_fround(HEAPF32[($3 + 44 | 0) >> 2]); + __stack_pointer = $3 + 48 | 0; + return Math_fround($24); + } + + function btConvexInternalShape__getMarginNV_28_29_20const($0) { + $0 = $0 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + return Math_fround(Math_fround(HEAPF32[((HEAP32[($3 + 12 | 0) >> 2] | 0) + 52 | 0) >> 2])); + } + + function btPolyhedralConvexAabbCachingShape__getNonvirtualAabb_28btTransform_20const__2c_20btVector3__2c_20btVector3__2c_20float_29_20const($0, $1, $2, $3, $4) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + $4 = Math_fround($4); + var $7 = 0, $8 = 0; + $7 = __stack_pointer - 32 | 0; + __stack_pointer = $7; + HEAP32[($7 + 28 | 0) >> 2] = $0; + HEAP32[($7 + 24 | 0) >> 2] = $1; + HEAP32[($7 + 20 | 0) >> 2] = $2; + HEAP32[($7 + 16 | 0) >> 2] = $3; + HEAPF32[($7 + 12 | 0) >> 2] = $4; + $8 = HEAP32[($7 + 28 | 0) >> 2] | 0; + label$1 : { + if ((HEAPU8[($8 + 96 | 0) >> 0] | 0) & 1 | 0) { + break label$1 + } + __assert_fail(82770 | 0, 79068 | 0, 106 | 0, 83077 | 0); + wasm2js_trap(); + } + btTransformAabb_28btVector3_20const__2c_20btVector3_20const__2c_20float_2c_20btTransform_20const__2c_20btVector3__2c_20btVector3__29($8 + 64 | 0 | 0, $8 + 80 | 0 | 0, Math_fround(Math_fround(HEAPF32[($7 + 12 | 0) >> 2])), HEAP32[($7 + 24 | 0) >> 2] | 0 | 0, HEAP32[($7 + 20 | 0) >> 2] | 0 | 0, HEAP32[($7 + 16 | 0) >> 2] | 0 | 0); + __stack_pointer = $7 + 32 | 0; + return; + } + + function _GLOBAL__sub_I_btConvexShape_cpp() { + __cxx_global_var_init_36(); + return; + } + + function __cxx_global_var_init_37() { + btInfMaskConverter__btInfMaskConverter_28int_29(114136 | 0, 2139095040 | 0) | 0; + return; + } + + function btConvexTriangleMeshShape__btConvexTriangleMeshShape_28btStridingMeshInterface__2c_20bool_29($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $5 = 0, $7 = 0, $16 = 0; + $5 = __stack_pointer - 16 | 0; + __stack_pointer = $5; + HEAP32[($5 + 8 | 0) >> 2] = $0; + HEAP32[($5 + 4 | 0) >> 2] = $1; + HEAP8[($5 + 3 | 0) >> 0] = $2; + $7 = HEAP32[($5 + 8 | 0) >> 2] | 0; + HEAP32[($5 + 12 | 0) >> 2] = $7; + btPolyhedralConvexAabbCachingShape__btPolyhedralConvexAabbCachingShape_28_29($7 | 0) | 0; + HEAP32[$7 >> 2] = 98364 + 8 | 0; + HEAP32[($7 + 100 | 0) >> 2] = HEAP32[($5 + 4 | 0) >> 2] | 0; + HEAP32[($7 + 4 | 0) >> 2] = 3; + label$1 : { + if (!((HEAPU8[($5 + 3 | 0) >> 0] | 0) & 1 | 0)) { + break label$1 + } + btPolyhedralConvexAabbCachingShape__recalcLocalAabb_28_29($7 | 0); + } + $16 = HEAP32[($5 + 12 | 0) >> 2] | 0; + __stack_pointer = $5 + 16 | 0; + return $16 | 0; + } + + function btConvexTriangleMeshShape__localGetSupportingVertexWithoutMargin_28btVector3_20const__29_20const($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $5 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, $22 = 0, $23 = 0, $87 = 0, $110 = 0, $6 = 0, $173 = 0, $177 = 0, $327 = 0, $337 = 0, wasm2js_i32$0 = 0, wasm2js_f32$0 = Math_fround(0); + $5 = __stack_pointer - 160 | 0; + __stack_pointer = $5; + HEAP32[($5 + 156 | 0) >> 2] = $1; + HEAP32[($5 + 152 | 0) >> 2] = $2; + $6 = HEAP32[($5 + 156 | 0) >> 2] | 0; + HEAPF32[($5 + 148 | 0) >> 2] = Math_fround(0 | 0); + HEAPF32[($5 + 144 | 0) >> 2] = Math_fround(0 | 0); + HEAPF32[($5 + 140 | 0) >> 2] = Math_fround(0 | 0); + btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($0 | 0, $5 + 148 | 0 | 0, $5 + 144 | 0 | 0, $5 + 140 | 0 | 0) | 0; + $22 = HEAP32[($5 + 152 | 0) >> 2] | 0; + $23 = 8; + i64toi32_i32$2 = $22 + $23 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $173 = i64toi32_i32$0; + i64toi32_i32$0 = ($5 + 120 | 0) + $23 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $173; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$2 = $22; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $177 = i64toi32_i32$1; + i64toi32_i32$1 = $5; + HEAP32[($5 + 120 | 0) >> 2] = $177; + HEAP32[($5 + 124 | 0) >> 2] = i64toi32_i32$0; + (wasm2js_i32$0 = $5, wasm2js_f32$0 = Math_fround(btVector3__length2_28_29_20const($5 + 120 | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 116 | 0) >> 2] = wasm2js_f32$0; + label$1 : { + label$2 : { + if (!(Math_fround(HEAPF32[($5 + 116 | 0) >> 2]) < Math_fround(9.999999747378752e-05) & 1 | 0)) { + break label$2 + } + HEAPF32[($5 + 112 | 0) >> 2] = Math_fround(1.0); + HEAPF32[($5 + 108 | 0) >> 2] = Math_fround(0 | 0); + HEAPF32[($5 + 104 | 0) >> 2] = Math_fround(0 | 0); + btVector3__setValue_28float_20const__2c_20float_20const__2c_20float_20const__29($5 + 120 | 0 | 0, $5 + 112 | 0 | 0, $5 + 108 | 0 | 0, $5 + 104 | 0 | 0); + break label$1; + } + (wasm2js_i32$0 = $5, wasm2js_f32$0 = Math_fround(Math_fround(1.0) / Math_fround(btSqrt_28float_29(Math_fround(Math_fround(HEAPF32[($5 + 116 | 0) >> 2])))))), HEAPF32[(wasm2js_i32$0 + 100 | 0) >> 2] = wasm2js_f32$0; + btVector3__operator___28float_20const__29_1($5 + 120 | 0 | 0, $5 + 100 | 0 | 0) | 0; + } + LocalSupportVertexCallback__LocalSupportVertexCallback_28btVector3_20const__29($5 + 60 | 0 | 0, $5 + 120 | 0 | 0) | 0; + HEAPF32[($5 + 40 | 0) >> 2] = Math_fround(999999984306749440.0); + HEAPF32[($5 + 36 | 0) >> 2] = Math_fround(999999984306749440.0); + HEAPF32[($5 + 32 | 0) >> 2] = Math_fround(999999984306749440.0); + btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($5 + 44 | 0 | 0, $5 + 40 | 0 | 0, $5 + 36 | 0 | 0, $5 + 32 | 0 | 0) | 0; + $87 = HEAP32[($6 + 100 | 0) >> 2] | 0; + operator__28btVector3_20const__29($5 + 16 | 0 | 0, $5 + 44 | 0 | 0); + FUNCTION_TABLE[HEAP32[((HEAP32[$87 >> 2] | 0) + 8 | 0) >> 2] | 0 | 0]($87, $5 + 60 | 0, $5 + 16 | 0, $5 + 44 | 0); + LocalSupportVertexCallback__GetSupportVertexLocal_28_29($5 | 0, $5 + 60 | 0 | 0); + i64toi32_i32$2 = $5; + i64toi32_i32$0 = HEAP32[$5 >> 2] | 0; + i64toi32_i32$1 = HEAP32[($5 + 4 | 0) >> 2] | 0; + $327 = i64toi32_i32$0; + i64toi32_i32$0 = $0; + HEAP32[i64toi32_i32$0 >> 2] = $327; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $110 = 8; + i64toi32_i32$2 = $5 + $110 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $337 = i64toi32_i32$1; + i64toi32_i32$1 = $0 + $110 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $337; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + LocalSupportVertexCallback___LocalSupportVertexCallback_28_29($5 + 60 | 0 | 0) | 0; + __stack_pointer = $5 + 160 | 0; + return; + } + + function LocalSupportVertexCallback__LocalSupportVertexCallback_28btVector3_20const__29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, $5 = 0, i64toi32_i32$2 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $28 = 0, $31 = 0, $97 = 0, $107 = 0; + $4 = __stack_pointer - 32 | 0; + __stack_pointer = $4; + HEAP32[($4 + 28 | 0) >> 2] = $0; + HEAP32[($4 + 24 | 0) >> 2] = $1; + $5 = HEAP32[($4 + 28 | 0) >> 2] | 0; + btInternalTriangleIndexCallback__btInternalTriangleIndexCallback_28_29($5 | 0) | 0; + HEAP32[$5 >> 2] = 98536 + 8 | 0; + HEAPF32[($4 + 20 | 0) >> 2] = Math_fround(0 | 0); + HEAPF32[($4 + 16 | 0) >> 2] = Math_fround(0 | 0); + HEAPF32[($4 + 12 | 0) >> 2] = Math_fround(0 | 0); + btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($5 + 4 | 0 | 0, $4 + 20 | 0 | 0, $4 + 16 | 0 | 0, $4 + 12 | 0 | 0) | 0; + HEAPF32[($5 + 20 | 0) >> 2] = Math_fround(-999999984306749440.0); + $28 = $5 + 24 | 0; + i64toi32_i32$2 = HEAP32[($4 + 24 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $97 = i64toi32_i32$0; + i64toi32_i32$0 = $28; + HEAP32[i64toi32_i32$0 >> 2] = $97; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $31 = 8; + i64toi32_i32$2 = i64toi32_i32$2 + $31 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $107 = i64toi32_i32$1; + i64toi32_i32$1 = $28 + $31 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $107; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + __stack_pointer = $4 + 32 | 0; + return $5 | 0; + } + + function LocalSupportVertexCallback__GetSupportVertexLocal_28_29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var i64toi32_i32$2 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $4 = 0, $9 = 0, $27 = 0, $37 = 0; + $4 = __stack_pointer - 16 | 0; + HEAP32[($4 + 12 | 0) >> 2] = $1; + i64toi32_i32$2 = (HEAP32[($4 + 12 | 0) >> 2] | 0) + 4 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $27 = i64toi32_i32$0; + i64toi32_i32$0 = $0; + HEAP32[i64toi32_i32$0 >> 2] = $27; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $9 = 8; + i64toi32_i32$2 = i64toi32_i32$2 + $9 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $37 = i64toi32_i32$1; + i64toi32_i32$1 = $0 + $9 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $37; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + return; + } + + function LocalSupportVertexCallback___LocalSupportVertexCallback_28_29($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + btInternalTriangleIndexCallback___btInternalTriangleIndexCallback_28_29($4 | 0) | 0; + __stack_pointer = $3 + 16 | 0; + return $4 | 0; + } + + function btConvexTriangleMeshShape__batchedUnitVectorGetSupportingVertexWithoutMargin_28btVector3_20const__2c_20btVector3__2c_20int_29_20const($0, $1, $2, $3) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + var $6 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, $58 = 0, $84 = 0, $86 = 0, $7 = 0, $267 = 0, $277 = 0, wasm2js_i32$0 = 0, wasm2js_f32$0 = Math_fround(0); + $6 = __stack_pointer - 128 | 0; + __stack_pointer = $6; + HEAP32[($6 + 124 | 0) >> 2] = $0; + HEAP32[($6 + 120 | 0) >> 2] = $1; + HEAP32[($6 + 116 | 0) >> 2] = $2; + HEAP32[($6 + 112 | 0) >> 2] = $3; + $7 = HEAP32[($6 + 124 | 0) >> 2] | 0; + HEAP32[($6 + 108 | 0) >> 2] = 0; + label$1 : { + label$2 : while (1) { + if (!((HEAP32[($6 + 108 | 0) >> 2] | 0 | 0) < (HEAP32[($6 + 112 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$1 + } + (wasm2js_i32$0 = btVector3__operator_20float__28_29((HEAP32[($6 + 116 | 0) >> 2] | 0) + ((HEAP32[($6 + 108 | 0) >> 2] | 0) << 4 | 0) | 0 | 0) | 0, wasm2js_f32$0 = Math_fround(-999999984306749440.0)), HEAPF32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_f32$0; + HEAP32[($6 + 108 | 0) >> 2] = (HEAP32[($6 + 108 | 0) >> 2] | 0) + 1 | 0; + continue label$2; + }; + } + HEAP32[($6 + 104 | 0) >> 2] = 0; + label$3 : { + label$4 : while (1) { + if (!((HEAP32[($6 + 104 | 0) >> 2] | 0 | 0) < (HEAP32[($6 + 112 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$3 + } + HEAP32[($6 + 100 | 0) >> 2] = (HEAP32[($6 + 120 | 0) >> 2] | 0) + ((HEAP32[($6 + 104 | 0) >> 2] | 0) << 4 | 0) | 0; + LocalSupportVertexCallback__LocalSupportVertexCallback_28btVector3_20const__29($6 + 60 | 0 | 0, HEAP32[($6 + 100 | 0) >> 2] | 0 | 0) | 0; + HEAPF32[($6 + 40 | 0) >> 2] = Math_fround(999999984306749440.0); + HEAPF32[($6 + 36 | 0) >> 2] = Math_fround(999999984306749440.0); + HEAPF32[($6 + 32 | 0) >> 2] = Math_fround(999999984306749440.0); + btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($6 + 44 | 0 | 0, $6 + 40 | 0 | 0, $6 + 36 | 0 | 0, $6 + 32 | 0 | 0) | 0; + $58 = HEAP32[($7 + 100 | 0) >> 2] | 0; + operator__28btVector3_20const__29($6 + 16 | 0 | 0, $6 + 44 | 0 | 0); + FUNCTION_TABLE[HEAP32[((HEAP32[$58 >> 2] | 0) + 8 | 0) >> 2] | 0 | 0]($58, $6 + 60 | 0, $6 + 16 | 0, $6 + 44 | 0); + LocalSupportVertexCallback__GetSupportVertexLocal_28_29($6 | 0, $6 + 60 | 0 | 0); + $84 = (HEAP32[($6 + 116 | 0) >> 2] | 0) + ((HEAP32[($6 + 104 | 0) >> 2] | 0) << 4 | 0) | 0; + i64toi32_i32$2 = $6; + i64toi32_i32$0 = HEAP32[$6 >> 2] | 0; + i64toi32_i32$1 = HEAP32[($6 + 4 | 0) >> 2] | 0; + $267 = i64toi32_i32$0; + i64toi32_i32$0 = $84; + HEAP32[i64toi32_i32$0 >> 2] = $267; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $86 = 8; + i64toi32_i32$2 = $6 + $86 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $277 = i64toi32_i32$1; + i64toi32_i32$1 = $84 + $86 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $277; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + LocalSupportVertexCallback___LocalSupportVertexCallback_28_29($6 + 60 | 0 | 0) | 0; + HEAP32[($6 + 104 | 0) >> 2] = (HEAP32[($6 + 104 | 0) >> 2] | 0) + 1 | 0; + continue label$4; + }; + } + __stack_pointer = $6 + 128 | 0; + return; + } + + function btConvexTriangleMeshShape__localGetSupportingVertex_28btVector3_20const__29_20const($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $5 = 0, $6 = 0, i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, i64toi32_i32$1 = 0, $18 = 0, $19 = 0, $121 = 0, $125 = 0, wasm2js_i32$0 = 0, wasm2js_f32$0 = Math_fround(0); + $5 = __stack_pointer - 64 | 0; + __stack_pointer = $5; + HEAP32[($5 + 60 | 0) >> 2] = $1; + HEAP32[($5 + 56 | 0) >> 2] = $2; + $6 = HEAP32[($5 + 60 | 0) >> 2] | 0; + FUNCTION_TABLE[HEAP32[((HEAP32[$6 >> 2] | 0) + 68 | 0) >> 2] | 0 | 0]($0, $6, HEAP32[($5 + 56 | 0) >> 2] | 0); + label$1 : { + if (!(Math_fround(FUNCTION_TABLE[HEAP32[((HEAP32[$6 >> 2] | 0) + 48 | 0) >> 2] | 0 | 0]($6)) != Math_fround(0 | 0) & 1 | 0)) { + break label$1 + } + $18 = HEAP32[($5 + 56 | 0) >> 2] | 0; + $19 = 8; + i64toi32_i32$2 = $18 + $19 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $121 = i64toi32_i32$0; + i64toi32_i32$0 = ($5 + 40 | 0) + $19 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $121; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$2 = $18; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $125 = i64toi32_i32$1; + i64toi32_i32$1 = $5; + HEAP32[($5 + 40 | 0) >> 2] = $125; + HEAP32[($5 + 44 | 0) >> 2] = i64toi32_i32$0; + label$2 : { + if (!(Math_fround(btVector3__length2_28_29_20const($5 + 40 | 0 | 0)) < Math_fround(1.4210854715202004e-14) & 1 | 0)) { + break label$2 + } + HEAPF32[($5 + 36 | 0) >> 2] = Math_fround(-1.0); + HEAPF32[($5 + 32 | 0) >> 2] = Math_fround(-1.0); + HEAPF32[($5 + 28 | 0) >> 2] = Math_fround(-1.0); + btVector3__setValue_28float_20const__2c_20float_20const__2c_20float_20const__29($5 + 40 | 0 | 0, $5 + 36 | 0 | 0, $5 + 32 | 0 | 0, $5 + 28 | 0 | 0); + } + btVector3__normalize_28_29($5 + 40 | 0 | 0) | 0; + (wasm2js_i32$0 = $5, wasm2js_f32$0 = Math_fround(FUNCTION_TABLE[HEAP32[((HEAP32[$6 >> 2] | 0) + 48 | 0) >> 2] | 0 | 0]($6))), HEAPF32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_f32$0; + operator__28float_20const__2c_20btVector3_20const__29($5 + 12 | 0 | 0, $5 + 8 | 0 | 0, $5 + 40 | 0 | 0); + btVector3__operator___28btVector3_20const__29_1($0 | 0, $5 + 12 | 0 | 0) | 0; + } + __stack_pointer = $5 + 64 | 0; + return; + } + + function btConvexTriangleMeshShape__getNumVertices_28_29_20const($0) { + $0 = $0 | 0; + HEAP32[((__stack_pointer - 16 | 0) + 12 | 0) >> 2] = $0; + return 0 | 0; + } + + function btConvexTriangleMeshShape__getNumEdges_28_29_20const($0) { + $0 = $0 | 0; + HEAP32[((__stack_pointer - 16 | 0) + 12 | 0) >> 2] = $0; + return 0 | 0; + } + + function btConvexTriangleMeshShape__getEdge_28int_2c_20btVector3__2c_20btVector3__29_20const($0, $1, $2, $3) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + var $6 = 0; + $6 = __stack_pointer - 16 | 0; + __stack_pointer = $6; + HEAP32[($6 + 12 | 0) >> 2] = $0; + HEAP32[($6 + 8 | 0) >> 2] = $1; + HEAP32[($6 + 4 | 0) >> 2] = $2; + HEAP32[$6 >> 2] = $3; + __assert_fail(86177 | 0, 74639 | 0, 169 | 0, 81912 | 0); + wasm2js_trap(); + } + + function btConvexTriangleMeshShape__getVertex_28int_2c_20btVector3__29_20const($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $5 = 0; + $5 = __stack_pointer - 16 | 0; + __stack_pointer = $5; + HEAP32[($5 + 12 | 0) >> 2] = $0; + HEAP32[($5 + 8 | 0) >> 2] = $1; + HEAP32[($5 + 4 | 0) >> 2] = $2; + __assert_fail(86177 | 0, 74639 | 0, 174 | 0, 66266 | 0); + wasm2js_trap(); + } + + function btConvexTriangleMeshShape__getNumPlanes_28_29_20const($0) { + $0 = $0 | 0; + HEAP32[((__stack_pointer - 16 | 0) + 12 | 0) >> 2] = $0; + return 0 | 0; + } + + function btConvexTriangleMeshShape__getPlane_28btVector3__2c_20btVector3__2c_20int_29_20const($0, $1, $2, $3) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + var $6 = 0; + $6 = __stack_pointer - 16 | 0; + __stack_pointer = $6; + HEAP32[($6 + 12 | 0) >> 2] = $0; + HEAP32[($6 + 8 | 0) >> 2] = $1; + HEAP32[($6 + 4 | 0) >> 2] = $2; + HEAP32[$6 >> 2] = $3; + __assert_fail(86177 | 0, 74639 | 0, 184 | 0, 81810 | 0); + wasm2js_trap(); + } + + function btConvexTriangleMeshShape__isInside_28btVector3_20const__2c_20float_29_20const($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = Math_fround($2); + var $5 = 0; + $5 = __stack_pointer - 16 | 0; + __stack_pointer = $5; + HEAP32[($5 + 12 | 0) >> 2] = $0; + HEAP32[($5 + 8 | 0) >> 2] = $1; + HEAPF32[($5 + 4 | 0) >> 2] = $2; + __assert_fail(86177 | 0, 74639 | 0, 190 | 0, 82062 | 0); + wasm2js_trap(); + } + + function btConvexTriangleMeshShape__setLocalScaling_28btVector3_20const__29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, $5 = 0; + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; + btStridingMeshInterface__setScaling_28btVector3_20const__29(HEAP32[($5 + 100 | 0) >> 2] | 0 | 0, HEAP32[($4 + 8 | 0) >> 2] | 0 | 0); + btPolyhedralConvexAabbCachingShape__recalcLocalAabb_28_29($5 | 0); + __stack_pointer = $4 + 16 | 0; + return; + } + + function btStridingMeshInterface__setScaling_28btVector3_20const__29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var i64toi32_i32$2 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $4 = 0, $8 = 0, $10 = 0, $32 = 0, $42 = 0; + $4 = __stack_pointer - 16 | 0; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + $8 = (HEAP32[($4 + 12 | 0) >> 2] | 0) + 4 | 0; + i64toi32_i32$2 = HEAP32[($4 + 8 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $32 = i64toi32_i32$0; + i64toi32_i32$0 = $8; + HEAP32[i64toi32_i32$0 >> 2] = $32; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $10 = 8; + i64toi32_i32$2 = i64toi32_i32$2 + $10 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $42 = i64toi32_i32$1; + i64toi32_i32$1 = $8 + $10 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $42; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + return; + } + + function btConvexTriangleMeshShape__getLocalScaling_28_29_20const($0) { + $0 = $0 | 0; + var $3 = 0, $6 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $6 = btStridingMeshInterface__getScaling_28_29_20const(HEAP32[((HEAP32[($3 + 12 | 0) >> 2] | 0) + 100 | 0) >> 2] | 0 | 0) | 0; + __stack_pointer = $3 + 16 | 0; + return $6 | 0; + } + + function btConvexTriangleMeshShape___btConvexTriangleMeshShape_28_29($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + btPolyhedralConvexAabbCachingShape___btPolyhedralConvexAabbCachingShape_28_29($4 | 0) | 0; + __stack_pointer = $3 + 16 | 0; + return $4 | 0; + } + + function btPolyhedralConvexAabbCachingShape___btPolyhedralConvexAabbCachingShape_28_29($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + btPolyhedralConvexShape___btPolyhedralConvexShape_28_29($4 | 0) | 0; + __stack_pointer = $3 + 16 | 0; + return $4 | 0; + } + + function btConvexTriangleMeshShape___btConvexTriangleMeshShape_28_29_1($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + btConvexTriangleMeshShape___btConvexTriangleMeshShape_28_29($4 | 0) | 0; + btConvexTriangleMeshShape__operator_20delete_28void__29($4 | 0); + __stack_pointer = $3 + 16 | 0; + return; + } + + function btConvexTriangleMeshShape__operator_20delete_28void__29($0) { + $0 = $0 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + btAlignedFreeInternal_28void__29(HEAP32[($3 + 12 | 0) >> 2] | 0 | 0); + __stack_pointer = $3 + 16 | 0; + return; + } + + function btConvexTriangleMeshShape__getName_28_29_20const($0) { + $0 = $0 | 0; + HEAP32[((__stack_pointer - 16 | 0) + 12 | 0) >> 2] = $0; + return 77952 | 0; + } + + function LocalSupportVertexCallback___LocalSupportVertexCallback_28_29_1($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + LocalSupportVertexCallback___LocalSupportVertexCallback_28_29($4 | 0) | 0; + operator_20delete_28void__29($4 | 0); + __stack_pointer = $3 + 16 | 0; + return; + } + + function LocalSupportVertexCallback__internalProcessTriangleIndex_28btVector3__2c_20int_2c_20int_29($0, $1, $2, $3) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + var $6 = 0, i64toi32_i32$2 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $7 = 0, $36 = 0, $38 = 0, $126 = 0, $136 = 0, wasm2js_i32$0 = 0, wasm2js_f32$0 = Math_fround(0); + $6 = __stack_pointer - 32 | 0; + __stack_pointer = $6; + HEAP32[($6 + 28 | 0) >> 2] = $0; + HEAP32[($6 + 24 | 0) >> 2] = $1; + HEAP32[($6 + 20 | 0) >> 2] = $2; + HEAP32[($6 + 16 | 0) >> 2] = $3; + $7 = HEAP32[($6 + 28 | 0) >> 2] | 0; + HEAP32[($6 + 12 | 0) >> 2] = 0; + label$1 : { + label$2 : while (1) { + if (!((HEAP32[($6 + 12 | 0) >> 2] | 0 | 0) < (3 | 0) & 1 | 0)) { + break label$1 + } + (wasm2js_i32$0 = $6, wasm2js_f32$0 = Math_fround(btVector3__dot_28btVector3_20const__29_20const($7 + 24 | 0 | 0, (HEAP32[($6 + 24 | 0) >> 2] | 0) + ((HEAP32[($6 + 12 | 0) >> 2] | 0) << 4 | 0) | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_f32$0; + label$3 : { + if (!(Math_fround(HEAPF32[($6 + 8 | 0) >> 2]) > Math_fround(HEAPF32[($7 + 20 | 0) >> 2]) & 1 | 0)) { + break label$3 + } + HEAPF32[($7 + 20 | 0) >> 2] = Math_fround(HEAPF32[($6 + 8 | 0) >> 2]); + $36 = $7 + 4 | 0; + i64toi32_i32$2 = (HEAP32[($6 + 24 | 0) >> 2] | 0) + ((HEAP32[($6 + 12 | 0) >> 2] | 0) << 4 | 0) | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $126 = i64toi32_i32$0; + i64toi32_i32$0 = $36; + HEAP32[i64toi32_i32$0 >> 2] = $126; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $38 = 8; + i64toi32_i32$2 = i64toi32_i32$2 + $38 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $136 = i64toi32_i32$1; + i64toi32_i32$1 = $36 + $38 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $136; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + } + HEAP32[($6 + 12 | 0) >> 2] = (HEAP32[($6 + 12 | 0) >> 2] | 0) + 1 | 0; + continue label$2; + }; + } + __stack_pointer = $6 + 32 | 0; + return; + } + + function _GLOBAL__sub_I_btConvexTriangleMeshShape_cpp() { + __cxx_global_var_init_37(); + return; + } + + function __cxx_global_var_init_38() { + btInfMaskConverter__btInfMaskConverter_28int_29(114140 | 0, 2139095040 | 0) | 0; + return; + } + + function btCylinderShape__btCylinderShape_28btVector3_20const__29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, $5 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, $47 = 0, $49 = 0, $161 = 0, $174 = 0, wasm2js_i32$0 = 0, wasm2js_f32$0 = Math_fround(0); + $4 = __stack_pointer - 80 | 0; + __stack_pointer = $4; + HEAP32[($4 + 76 | 0) >> 2] = $0; + HEAP32[($4 + 72 | 0) >> 2] = $1; + $5 = HEAP32[($4 + 76 | 0) >> 2] | 0; + btConvexInternalShape__btConvexInternalShape_28_29($5 | 0) | 0; + HEAP32[$5 >> 2] = 98600 + 8 | 0; + HEAP32[($5 + 60 | 0) >> 2] = 1; + (wasm2js_i32$0 = $4, wasm2js_f32$0 = Math_fround(FUNCTION_TABLE[HEAP32[((HEAP32[$5 >> 2] | 0) + 48 | 0) >> 2] | 0 | 0]($5))), HEAPF32[(wasm2js_i32$0 + 52 | 0) >> 2] = wasm2js_f32$0; + (wasm2js_i32$0 = $4, wasm2js_f32$0 = Math_fround(FUNCTION_TABLE[HEAP32[((HEAP32[$5 >> 2] | 0) + 48 | 0) >> 2] | 0 | 0]($5))), HEAPF32[(wasm2js_i32$0 + 48 | 0) >> 2] = wasm2js_f32$0; + (wasm2js_i32$0 = $4, wasm2js_f32$0 = Math_fround(FUNCTION_TABLE[HEAP32[((HEAP32[$5 >> 2] | 0) + 48 | 0) >> 2] | 0 | 0]($5))), HEAPF32[(wasm2js_i32$0 + 44 | 0) >> 2] = wasm2js_f32$0; + btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($4 + 56 | 0 | 0, $4 + 52 | 0 | 0, $4 + 48 | 0 | 0, $4 + 44 | 0 | 0) | 0; + operator__28btVector3_20const__2c_20btVector3_20const__29_1($4 + 12 | 0 | 0, HEAP32[($4 + 72 | 0) >> 2] | 0 | 0, $5 + 20 | 0 | 0); + operator__28btVector3_20const__2c_20btVector3_20const__29($4 + 28 | 0 | 0, $4 + 12 | 0 | 0, $4 + 56 | 0 | 0); + $47 = $5 + 36 | 0; + i64toi32_i32$2 = $4; + i64toi32_i32$0 = HEAP32[($4 + 28 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($4 + 32 | 0) >> 2] | 0; + $161 = i64toi32_i32$0; + i64toi32_i32$0 = $47; + HEAP32[i64toi32_i32$0 >> 2] = $161; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $49 = 8; + i64toi32_i32$2 = ($4 + 28 | 0) + $49 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $174 = i64toi32_i32$1; + i64toi32_i32$1 = $47 + $49 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $174; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + btConvexInternalShape__setSafeMargin_28btVector3_20const__2c_20float_29($5 | 0, HEAP32[($4 + 72 | 0) >> 2] | 0 | 0, Math_fround(Math_fround(.10000000149011612))); + HEAP32[($5 + 4 | 0) >> 2] = 13; + __stack_pointer = $4 + 80 | 0; + return $5 | 0; + } + + function btCylinderShape__getAabb_28btTransform_20const__2c_20btVector3__2c_20btVector3__29_20const($0, $1, $2, $3) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + var $6 = 0, $7 = 0; + $6 = __stack_pointer - 16 | 0; + __stack_pointer = $6; + HEAP32[($6 + 12 | 0) >> 2] = $0; + HEAP32[($6 + 8 | 0) >> 2] = $1; + HEAP32[($6 + 4 | 0) >> 2] = $2; + HEAP32[$6 >> 2] = $3; + $7 = HEAP32[($6 + 12 | 0) >> 2] | 0; + btTransformAabb_28btVector3_20const__2c_20float_2c_20btTransform_20const__2c_20btVector3__2c_20btVector3__29(btCylinderShape__getHalfExtentsWithoutMargin_28_29_20const($7 | 0) | 0 | 0, Math_fround(Math_fround(FUNCTION_TABLE[HEAP32[((HEAP32[$7 >> 2] | 0) + 48 | 0) >> 2] | 0 | 0]($7))), HEAP32[($6 + 8 | 0) >> 2] | 0 | 0, HEAP32[($6 + 4 | 0) >> 2] | 0 | 0, HEAP32[$6 >> 2] | 0 | 0); + __stack_pointer = $6 + 16 | 0; + return; + } + + function btCylinderShape__calculateLocalInertia_28float_2c_20btVector3__29_20const($0, $1, $2) { + $0 = $0 | 0; + $1 = Math_fround($1); + $2 = $2 | 0; + var $5 = 0, $30 = 0, $6 = 0, $18 = 0, $69 = 0, $74 = 0, $78 = 0, $83 = 0, wasm2js_i32$0 = 0, wasm2js_f32$0 = Math_fround(0); + $5 = __stack_pointer - 64 | 0; + __stack_pointer = $5; + HEAP32[($5 + 60 | 0) >> 2] = $0; + HEAPF32[($5 + 56 | 0) >> 2] = $1; + HEAP32[($5 + 52 | 0) >> 2] = $2; + $6 = HEAP32[($5 + 60 | 0) >> 2] | 0; + btCylinderShape__getHalfExtentsWithMargin_28_29_20const($5 + 28 | 0 | 0, $6 | 0); + HEAPF32[($5 + 24 | 0) >> 2] = Math_fround(Math_fround(HEAPF32[($5 + 56 | 0) >> 2]) / Math_fround(12.0)); + HEAPF32[($5 + 20 | 0) >> 2] = Math_fround(Math_fround(HEAPF32[($5 + 56 | 0) >> 2]) / Math_fround(4.0)); + HEAPF32[($5 + 16 | 0) >> 2] = Math_fround(Math_fround(HEAPF32[($5 + 56 | 0) >> 2]) / Math_fround(2.0)); + $18 = HEAP32[($6 + 60 | 0) >> 2] | 0; + label$1 : { + label$2 : { + switch ($18 | 0) { + case 0: + HEAP32[($5 + 12 | 0) >> 2] = 1; + HEAP32[($5 + 8 | 0) >> 2] = 0; + break label$1; + case 2: + HEAP32[($5 + 12 | 0) >> 2] = 0; + HEAP32[($5 + 8 | 0) >> 2] = 2; + break label$1; + default: + break label$2; + }; + } + HEAP32[($5 + 12 | 0) >> 2] = 0; + HEAP32[($5 + 8 | 0) >> 2] = 1; + } + $30 = 2; + (wasm2js_i32$0 = $5, wasm2js_f32$0 = Math_fround(Math_fround(HEAPF32[((btVector3__operator_20float__28_29($5 + 28 | 0 | 0) | 0) + ((HEAP32[($5 + 12 | 0) >> 2] | 0) << $30 | 0) | 0) >> 2]) * Math_fround(HEAPF32[((btVector3__operator_20float__28_29($5 + 28 | 0 | 0) | 0) + ((HEAP32[($5 + 12 | 0) >> 2] | 0) << $30 | 0) | 0) >> 2]))), HEAPF32[(wasm2js_i32$0 + 48 | 0) >> 2] = wasm2js_f32$0; + (wasm2js_i32$0 = $5, wasm2js_f32$0 = Math_fround(Math_fround(Math_fround(HEAPF32[((btVector3__operator_20float__28_29($5 + 28 | 0 | 0) | 0) + ((HEAP32[($5 + 8 | 0) >> 2] | 0) << $30 | 0) | 0) >> 2]) * Math_fround(4.0)) * Math_fround(HEAPF32[((btVector3__operator_20float__28_29($5 + 28 | 0 | 0) | 0) + ((HEAP32[($5 + 8 | 0) >> 2] | 0) << $30 | 0) | 0) >> 2]))), HEAPF32[(wasm2js_i32$0 + 44 | 0) >> 2] = wasm2js_f32$0; + HEAPF32[($5 + 4 | 0) >> 2] = Math_fround(Math_fround(Math_fround(HEAPF32[($5 + 24 | 0) >> 2]) * Math_fround(HEAPF32[($5 + 44 | 0) >> 2])) + Math_fround(Math_fround(HEAPF32[($5 + 20 | 0) >> 2]) * Math_fround(HEAPF32[($5 + 48 | 0) >> 2]))); + HEAPF32[$5 >> 2] = Math_fround(Math_fround(HEAPF32[($5 + 16 | 0) >> 2]) * Math_fround(HEAPF32[($5 + 48 | 0) >> 2])); + $69 = HEAP32[($6 + 60 | 0) >> 2] | 0; + label$5 : { + label$6 : { + switch ($69 | 0) { + case 0: + $74 = $5 + 4 | 0; + btVector3__setValue_28float_20const__2c_20float_20const__2c_20float_20const__29(HEAP32[($5 + 52 | 0) >> 2] | 0 | 0, $5 | 0, $74 | 0, $74 | 0); + break label$5; + case 2: + $78 = $5 + 4 | 0; + btVector3__setValue_28float_20const__2c_20float_20const__2c_20float_20const__29(HEAP32[($5 + 52 | 0) >> 2] | 0 | 0, $78 | 0, $78 | 0, $5 | 0); + break label$5; + default: + break label$6; + }; + } + $83 = $5 + 4 | 0; + btVector3__setValue_28float_20const__2c_20float_20const__2c_20float_20const__29(HEAP32[($5 + 52 | 0) >> 2] | 0 | 0, $83 | 0, $5 | 0, $83 | 0); + } + __stack_pointer = $5 + 64 | 0; + return; + } + + function btCylinderShape__localGetSupportingVertexWithoutMargin_28btVector3_20const__29_20const($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $5 = 0; + $5 = __stack_pointer - 16 | 0; + __stack_pointer = $5; + HEAP32[($5 + 12 | 0) >> 2] = $1; + HEAP32[($5 + 8 | 0) >> 2] = $2; + CylinderLocalSupportY_28btVector3_20const__2c_20btVector3_20const__29($0 | 0, btCylinderShape__getHalfExtentsWithoutMargin_28_29_20const(HEAP32[($5 + 12 | 0) >> 2] | 0 | 0) | 0 | 0, HEAP32[($5 + 8 | 0) >> 2] | 0 | 0); + __stack_pointer = $5 + 16 | 0; + return; + } + + function CylinderLocalSupportY_28btVector3_20const__2c_20btVector3_20const__29($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $5 = 0, $58 = Math_fround(0), $81 = Math_fround(0), $45 = Math_fround(0), $66 = Math_fround(0), $68 = Math_fround(0), wasm2js_i32$0 = 0, wasm2js_f32$0 = Math_fround(0); + $5 = __stack_pointer - 48 | 0; + __stack_pointer = $5; + HEAP32[($5 + 44 | 0) >> 2] = $1; + HEAP32[($5 + 40 | 0) >> 2] = $2; + HEAP32[($5 + 36 | 0) >> 2] = 1; + HEAP32[($5 + 32 | 0) >> 2] = 0; + HEAP32[($5 + 28 | 0) >> 2] = 1; + HEAP32[($5 + 24 | 0) >> 2] = 2; + (wasm2js_i32$0 = $5, wasm2js_f32$0 = Math_fround(HEAPF32[(btVector3__operator_20float_20const__28_29_20const(HEAP32[($5 + 44 | 0) >> 2] | 0 | 0) | 0) >> 2])), HEAPF32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_f32$0; + (wasm2js_i32$0 = $5, wasm2js_f32$0 = Math_fround(HEAPF32[((btVector3__operator_20float_20const__28_29_20const(HEAP32[($5 + 44 | 0) >> 2] | 0 | 0) | 0) + 4 | 0) >> 2])), HEAPF32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_f32$0; + btVector3__btVector3_28_29($0 | 0) | 0; + (wasm2js_i32$0 = $5, wasm2js_f32$0 = Math_fround(btSqrt_28float_29(Math_fround(Math_fround(Math_fround(Math_fround(HEAPF32[(btVector3__operator_20float_20const__28_29_20const(HEAP32[($5 + 40 | 0) >> 2] | 0 | 0) | 0) >> 2]) * Math_fround(HEAPF32[(btVector3__operator_20float_20const__28_29_20const(HEAP32[($5 + 40 | 0) >> 2] | 0 | 0) | 0) >> 2])) + Math_fround(Math_fround(HEAPF32[((btVector3__operator_20float_20const__28_29_20const(HEAP32[($5 + 40 | 0) >> 2] | 0 | 0) | 0) + 8 | 0) >> 2]) * Math_fround(HEAPF32[((btVector3__operator_20float_20const__28_29_20const(HEAP32[($5 + 40 | 0) >> 2] | 0 | 0) | 0) + 8 | 0) >> 2]))))))), HEAPF32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_f32$0; + label$1 : { + label$2 : { + if (!(Math_fround(HEAPF32[($5 + 8 | 0) >> 2]) != Math_fround(0 | 0) & 1 | 0)) { + break label$2 + } + HEAPF32[($5 + 12 | 0) >> 2] = Math_fround(Math_fround(HEAPF32[($5 + 20 | 0) >> 2]) / Math_fround(HEAPF32[($5 + 8 | 0) >> 2])); + $45 = Math_fround(Math_fround(HEAPF32[(btVector3__operator_20float_20const__28_29_20const(HEAP32[($5 + 40 | 0) >> 2] | 0 | 0) | 0) >> 2]) * Math_fround(HEAPF32[($5 + 12 | 0) >> 2])); + (wasm2js_i32$0 = btVector3__operator_20float__28_29($0 | 0) | 0, wasm2js_f32$0 = $45), HEAPF32[wasm2js_i32$0 >> 2] = wasm2js_f32$0; + label$3 : { + label$4 : { + if (!(+Math_fround(HEAPF32[((btVector3__operator_20float_20const__28_29_20const(HEAP32[($5 + 40 | 0) >> 2] | 0 | 0) | 0) + 4 | 0) >> 2]) < +(0 | 0) & 1 | 0)) { + break label$4 + } + $58 = Math_fround(-Math_fround(HEAPF32[($5 + 16 | 0) >> 2])); + break label$3; + } + $58 = Math_fround(HEAPF32[($5 + 16 | 0) >> 2]); + } + (wasm2js_i32$0 = btVector3__operator_20float__28_29($0 | 0) | 0, wasm2js_f32$0 = $58), HEAPF32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_f32$0; + $66 = Math_fround(Math_fround(HEAPF32[((btVector3__operator_20float_20const__28_29_20const(HEAP32[($5 + 40 | 0) >> 2] | 0 | 0) | 0) + 8 | 0) >> 2]) * Math_fround(HEAPF32[($5 + 12 | 0) >> 2])); + (wasm2js_i32$0 = btVector3__operator_20float__28_29($0 | 0) | 0, wasm2js_f32$0 = $66), HEAPF32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_f32$0; + break label$1; + } + $68 = Math_fround(HEAPF32[($5 + 20 | 0) >> 2]); + (wasm2js_i32$0 = btVector3__operator_20float__28_29($0 | 0) | 0, wasm2js_f32$0 = $68), HEAPF32[wasm2js_i32$0 >> 2] = wasm2js_f32$0; + label$5 : { + label$6 : { + if (!(+Math_fround(HEAPF32[((btVector3__operator_20float_20const__28_29_20const(HEAP32[($5 + 40 | 0) >> 2] | 0 | 0) | 0) + 4 | 0) >> 2]) < +(0 | 0) & 1 | 0)) { + break label$6 + } + $81 = Math_fround(-Math_fround(HEAPF32[($5 + 16 | 0) >> 2])); + break label$5; + } + $81 = Math_fround(HEAPF32[($5 + 16 | 0) >> 2]); + } + (wasm2js_i32$0 = btVector3__operator_20float__28_29($0 | 0) | 0, wasm2js_f32$0 = $81), HEAPF32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_f32$0; + (wasm2js_i32$0 = btVector3__operator_20float__28_29($0 | 0) | 0, wasm2js_f32$0 = Math_fround(0 | 0)), HEAPF32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_f32$0; + } + __stack_pointer = $5 + 48 | 0; + return; + } + + function btCylinderShape__batchedUnitVectorGetSupportingVertexWithoutMargin_28btVector3_20const__2c_20btVector3__2c_20int_29_20const($0, $1, $2, $3) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + var $6 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, $29 = 0, $31 = 0, $7 = 0, $105 = 0, $118 = 0; + $6 = __stack_pointer - 48 | 0; + __stack_pointer = $6; + HEAP32[($6 + 44 | 0) >> 2] = $0; + HEAP32[($6 + 40 | 0) >> 2] = $1; + HEAP32[($6 + 36 | 0) >> 2] = $2; + HEAP32[($6 + 32 | 0) >> 2] = $3; + $7 = HEAP32[($6 + 44 | 0) >> 2] | 0; + HEAP32[($6 + 28 | 0) >> 2] = 0; + label$1 : { + label$2 : while (1) { + if (!((HEAP32[($6 + 28 | 0) >> 2] | 0 | 0) < (HEAP32[($6 + 32 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$1 + } + CylinderLocalSupportY_28btVector3_20const__2c_20btVector3_20const__29($6 + 12 | 0 | 0, btCylinderShape__getHalfExtentsWithoutMargin_28_29_20const($7 | 0) | 0 | 0, (HEAP32[($6 + 40 | 0) >> 2] | 0) + ((HEAP32[($6 + 28 | 0) >> 2] | 0) << 4 | 0) | 0 | 0); + $29 = (HEAP32[($6 + 36 | 0) >> 2] | 0) + ((HEAP32[($6 + 28 | 0) >> 2] | 0) << 4 | 0) | 0; + i64toi32_i32$2 = $6; + i64toi32_i32$0 = HEAP32[($6 + 12 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($6 + 16 | 0) >> 2] | 0; + $105 = i64toi32_i32$0; + i64toi32_i32$0 = $29; + HEAP32[i64toi32_i32$0 >> 2] = $105; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $31 = 8; + i64toi32_i32$2 = ($6 + 12 | 0) + $31 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $118 = i64toi32_i32$1; + i64toi32_i32$1 = $29 + $31 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $118; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($6 + 28 | 0) >> 2] = (HEAP32[($6 + 28 | 0) >> 2] | 0) + 1 | 0; + continue label$2; + }; + } + __stack_pointer = $6 + 48 | 0; + return; + } + + function btCylinderShape___btCylinderShape_28_29($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + btConvexInternalShape___btConvexInternalShape_28_29($4 | 0) | 0; + __stack_pointer = $3 + 16 | 0; + return $4 | 0; + } + + function btCylinderShape___btCylinderShape_28_29_1($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + btCylinderShape___btCylinderShape_28_29($4 | 0) | 0; + btCylinderShape__operator_20delete_28void__29($4 | 0); + __stack_pointer = $3 + 16 | 0; + return; + } + + function btCylinderShape__operator_20delete_28void__29($0) { + $0 = $0 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + btAlignedFreeInternal_28void__29(HEAP32[($3 + 12 | 0) >> 2] | 0 | 0); + __stack_pointer = $3 + 16 | 0; + return; + } + + function btCylinderShape__setLocalScaling_28btVector3_20const__29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, $5 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, $62 = 0, $64 = 0, $198 = 0, $211 = 0, wasm2js_i32$0 = 0, wasm2js_f32$0 = Math_fround(0); + $4 = __stack_pointer - 112 | 0; + __stack_pointer = $4; + HEAP32[($4 + 108 | 0) >> 2] = $0; + HEAP32[($4 + 104 | 0) >> 2] = $1; + $5 = HEAP32[($4 + 108 | 0) >> 2] | 0; + (wasm2js_i32$0 = $4, wasm2js_f32$0 = Math_fround(FUNCTION_TABLE[HEAP32[((HEAP32[$5 >> 2] | 0) + 48 | 0) >> 2] | 0 | 0]($5))), HEAPF32[(wasm2js_i32$0 + 84 | 0) >> 2] = wasm2js_f32$0; + (wasm2js_i32$0 = $4, wasm2js_f32$0 = Math_fround(FUNCTION_TABLE[HEAP32[((HEAP32[$5 >> 2] | 0) + 48 | 0) >> 2] | 0 | 0]($5))), HEAPF32[(wasm2js_i32$0 + 80 | 0) >> 2] = wasm2js_f32$0; + (wasm2js_i32$0 = $4, wasm2js_f32$0 = Math_fround(FUNCTION_TABLE[HEAP32[((HEAP32[$5 >> 2] | 0) + 48 | 0) >> 2] | 0 | 0]($5))), HEAPF32[(wasm2js_i32$0 + 76 | 0) >> 2] = wasm2js_f32$0; + btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($4 + 88 | 0 | 0, $4 + 84 | 0 | 0, $4 + 80 | 0 | 0, $4 + 76 | 0 | 0) | 0; + operator__28btVector3_20const__2c_20btVector3_20const__29_2($4 + 60 | 0 | 0, $5 + 36 | 0 | 0, $4 + 88 | 0 | 0); + operator__28btVector3_20const__2c_20btVector3_20const__29_3($4 + 44 | 0 | 0, $4 + 60 | 0 | 0, $5 + 20 | 0 | 0); + btConvexInternalShape__setLocalScaling_28btVector3_20const__29($5 | 0, HEAP32[($4 + 104 | 0) >> 2] | 0 | 0); + operator__28btVector3_20const__2c_20btVector3_20const__29_1($4 + 12 | 0 | 0, $4 + 44 | 0 | 0, $5 + 20 | 0 | 0); + operator__28btVector3_20const__2c_20btVector3_20const__29($4 + 28 | 0 | 0, $4 + 12 | 0 | 0, $4 + 88 | 0 | 0); + $62 = $5 + 36 | 0; + i64toi32_i32$2 = $4; + i64toi32_i32$0 = HEAP32[($4 + 28 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($4 + 32 | 0) >> 2] | 0; + $198 = i64toi32_i32$0; + i64toi32_i32$0 = $62; + HEAP32[i64toi32_i32$0 >> 2] = $198; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $64 = 8; + i64toi32_i32$2 = ($4 + 28 | 0) + $64 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $211 = i64toi32_i32$1; + i64toi32_i32$1 = $62 + $64 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $211; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + __stack_pointer = $4 + 112 | 0; + return; + } + + function btCylinderShape__getName_28_29_20const($0) { + $0 = $0 | 0; + HEAP32[((__stack_pointer - 16 | 0) + 12 | 0) >> 2] = $0; + return 83912 | 0; + } + + function btCylinderShape__getAnisotropicRollingFrictionDirection_28_29_20const($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, $5 = 0, wasm2js_i32$0 = 0, wasm2js_f32$0 = Math_fround(0); + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[($4 + 12 | 0) >> 2] = $1; + $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; + HEAPF32[($4 + 8 | 0) >> 2] = Math_fround(0 | 0); + HEAPF32[($4 + 4 | 0) >> 2] = Math_fround(0 | 0); + HEAPF32[$4 >> 2] = Math_fround(0 | 0); + btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($0 | 0, $4 + 8 | 0 | 0, $4 + 4 | 0 | 0, $4 | 0) | 0; + (wasm2js_i32$0 = (btVector3__operator_20float__28_29($0 | 0) | 0) + ((btCylinderShape__getUpAxis_28_29_20const($5 | 0) | 0) << 2 | 0) | 0, wasm2js_f32$0 = Math_fround(1.0)), HEAPF32[wasm2js_i32$0 >> 2] = wasm2js_f32$0; + __stack_pointer = $4 + 16 | 0; + return; + } + + function btCylinderShape__setMargin_28float_29($0, $1) { + $0 = $0 | 0; + $1 = Math_fround($1); + var $4 = 0, $5 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, $65 = 0, $67 = 0, $216 = 0, $226 = 0, wasm2js_i32$0 = 0, wasm2js_f32$0 = Math_fround(0); + $4 = __stack_pointer - 96 | 0; + __stack_pointer = $4; + HEAP32[($4 + 92 | 0) >> 2] = $0; + HEAPF32[($4 + 88 | 0) >> 2] = $1; + $5 = HEAP32[($4 + 92 | 0) >> 2] | 0; + (wasm2js_i32$0 = $4, wasm2js_f32$0 = Math_fround(FUNCTION_TABLE[HEAP32[((HEAP32[$5 >> 2] | 0) + 48 | 0) >> 2] | 0 | 0]($5))), HEAPF32[(wasm2js_i32$0 + 68 | 0) >> 2] = wasm2js_f32$0; + (wasm2js_i32$0 = $4, wasm2js_f32$0 = Math_fround(FUNCTION_TABLE[HEAP32[((HEAP32[$5 >> 2] | 0) + 48 | 0) >> 2] | 0 | 0]($5))), HEAPF32[(wasm2js_i32$0 + 64 | 0) >> 2] = wasm2js_f32$0; + (wasm2js_i32$0 = $4, wasm2js_f32$0 = Math_fround(FUNCTION_TABLE[HEAP32[((HEAP32[$5 >> 2] | 0) + 48 | 0) >> 2] | 0 | 0]($5))), HEAPF32[(wasm2js_i32$0 + 60 | 0) >> 2] = wasm2js_f32$0; + btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($4 + 72 | 0 | 0, $4 + 68 | 0 | 0, $4 + 64 | 0 | 0, $4 + 60 | 0 | 0) | 0; + operator__28btVector3_20const__2c_20btVector3_20const__29_2($4 + 44 | 0 | 0, $5 + 36 | 0 | 0, $4 + 72 | 0 | 0); + btConvexInternalShape__setMargin_28float_29($5 | 0, Math_fround(Math_fround(HEAPF32[($4 + 88 | 0) >> 2]))); + (wasm2js_i32$0 = $4, wasm2js_f32$0 = Math_fround(FUNCTION_TABLE[HEAP32[((HEAP32[$5 >> 2] | 0) + 48 | 0) >> 2] | 0 | 0]($5))), HEAPF32[(wasm2js_i32$0 + 24 | 0) >> 2] = wasm2js_f32$0; + (wasm2js_i32$0 = $4, wasm2js_f32$0 = Math_fround(FUNCTION_TABLE[HEAP32[((HEAP32[$5 >> 2] | 0) + 48 | 0) >> 2] | 0 | 0]($5))), HEAPF32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_f32$0; + (wasm2js_i32$0 = $4, wasm2js_f32$0 = Math_fround(FUNCTION_TABLE[HEAP32[((HEAP32[$5 >> 2] | 0) + 48 | 0) >> 2] | 0 | 0]($5))), HEAPF32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_f32$0; + btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($4 + 28 | 0 | 0, $4 + 24 | 0 | 0, $4 + 20 | 0 | 0, $4 + 16 | 0 | 0) | 0; + operator__28btVector3_20const__2c_20btVector3_20const__29($4 | 0, $4 + 44 | 0 | 0, $4 + 28 | 0 | 0); + $65 = $5 + 36 | 0; + i64toi32_i32$2 = $4; + i64toi32_i32$0 = HEAP32[$4 >> 2] | 0; + i64toi32_i32$1 = HEAP32[($4 + 4 | 0) >> 2] | 0; + $216 = i64toi32_i32$0; + i64toi32_i32$0 = $65; + HEAP32[i64toi32_i32$0 >> 2] = $216; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $67 = 8; + i64toi32_i32$2 = $4 + $67 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $226 = i64toi32_i32$1; + i64toi32_i32$1 = $65 + $67 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $226; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + __stack_pointer = $4 + 96 | 0; + return; + } + + function btCylinderShape__calculateSerializeBufferSize_28_29_20const($0) { + $0 = $0 | 0; + HEAP32[((__stack_pointer - 16 | 0) + 12 | 0) >> 2] = $0; + return 60 | 0; + } + + function btCylinderShape__serialize_28void__2c_20btSerializer__29_20const($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $5 = 0, $6 = 0; + $5 = __stack_pointer - 16 | 0; + __stack_pointer = $5; + HEAP32[($5 + 12 | 0) >> 2] = $0; + HEAP32[($5 + 8 | 0) >> 2] = $1; + HEAP32[($5 + 4 | 0) >> 2] = $2; + $6 = HEAP32[($5 + 12 | 0) >> 2] | 0; + HEAP32[$5 >> 2] = HEAP32[($5 + 8 | 0) >> 2] | 0; + btConvexInternalShape__serialize_28void__2c_20btSerializer__29_20const($6 | 0, HEAP32[$5 >> 2] | 0 | 0, HEAP32[($5 + 4 | 0) >> 2] | 0 | 0) | 0; + HEAP32[((HEAP32[$5 >> 2] | 0) + 52 | 0) >> 2] = HEAP32[($6 + 60 | 0) >> 2] | 0; + HEAP8[((HEAP32[$5 >> 2] | 0) + 56 | 0) >> 0] = 0; + HEAP8[((HEAP32[$5 >> 2] | 0) + 57 | 0) >> 0] = 0; + HEAP8[((HEAP32[$5 >> 2] | 0) + 58 | 0) >> 0] = 0; + HEAP8[((HEAP32[$5 >> 2] | 0) + 59 | 0) >> 0] = 0; + __stack_pointer = $5 + 16 | 0; + return 83434 | 0; + } + + function btCylinderShape__localGetSupportingVertex_28btVector3_20const__29_20const($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $5 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, $6 = 0, $14 = 0, $28 = 0, $29 = 0, $109 = 0, $122 = 0, $154 = 0, $158 = 0, wasm2js_i32$0 = 0, wasm2js_f32$0 = Math_fround(0); + $5 = __stack_pointer - 80 | 0; + __stack_pointer = $5; + HEAP32[($5 + 76 | 0) >> 2] = $1; + HEAP32[($5 + 72 | 0) >> 2] = $2; + $6 = HEAP32[($5 + 76 | 0) >> 2] | 0; + btVector3__btVector3_28_29($0 | 0) | 0; + FUNCTION_TABLE[HEAP32[((HEAP32[$6 >> 2] | 0) + 68 | 0) >> 2] | 0 | 0]($5 + 56 | 0, $6, HEAP32[($5 + 72 | 0) >> 2] | 0); + i64toi32_i32$2 = $5; + i64toi32_i32$0 = HEAP32[($5 + 56 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($5 + 60 | 0) >> 2] | 0; + $109 = i64toi32_i32$0; + i64toi32_i32$0 = $0; + HEAP32[i64toi32_i32$0 >> 2] = $109; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $14 = 8; + i64toi32_i32$2 = ($5 + 56 | 0) + $14 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $122 = i64toi32_i32$1; + i64toi32_i32$1 = $0 + $14 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $122; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + label$1 : { + if (!(Math_fround(FUNCTION_TABLE[HEAP32[((HEAP32[$6 >> 2] | 0) + 48 | 0) >> 2] | 0 | 0]($6)) != Math_fround(0 | 0) & 1 | 0)) { + break label$1 + } + $28 = HEAP32[($5 + 72 | 0) >> 2] | 0; + $29 = 8; + i64toi32_i32$2 = $28 + $29 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $154 = i64toi32_i32$0; + i64toi32_i32$0 = ($5 + 40 | 0) + $29 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $154; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$2 = $28; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $158 = i64toi32_i32$1; + i64toi32_i32$1 = $5; + HEAP32[($5 + 40 | 0) >> 2] = $158; + HEAP32[($5 + 44 | 0) >> 2] = i64toi32_i32$0; + label$2 : { + if (!(Math_fround(btVector3__length2_28_29_20const($5 + 40 | 0 | 0)) < Math_fround(1.4210854715202004e-14) & 1 | 0)) { + break label$2 + } + HEAPF32[($5 + 36 | 0) >> 2] = Math_fround(-1.0); + HEAPF32[($5 + 32 | 0) >> 2] = Math_fround(-1.0); + HEAPF32[($5 + 28 | 0) >> 2] = Math_fround(-1.0); + btVector3__setValue_28float_20const__2c_20float_20const__2c_20float_20const__29($5 + 40 | 0 | 0, $5 + 36 | 0 | 0, $5 + 32 | 0 | 0, $5 + 28 | 0 | 0); + } + btVector3__normalize_28_29($5 + 40 | 0 | 0) | 0; + (wasm2js_i32$0 = $5, wasm2js_f32$0 = Math_fround(FUNCTION_TABLE[HEAP32[((HEAP32[$6 >> 2] | 0) + 48 | 0) >> 2] | 0 | 0]($6))), HEAPF32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_f32$0; + operator__28float_20const__2c_20btVector3_20const__29($5 + 12 | 0 | 0, $5 + 8 | 0 | 0, $5 + 40 | 0 | 0); + btVector3__operator___28btVector3_20const__29_1($0 | 0, $5 + 12 | 0 | 0) | 0; + } + __stack_pointer = $5 + 80 | 0; + return; + } + + function btCylinderShape__getRadius_28_29_20const($0) { + $0 = $0 | 0; + var $3 = 0, $12 = Math_fround(0); + $3 = __stack_pointer - 32 | 0; + __stack_pointer = $3; + HEAP32[($3 + 28 | 0) >> 2] = $0; + btCylinderShape__getHalfExtentsWithMargin_28_29_20const($3 + 12 | 0 | 0, HEAP32[($3 + 28 | 0) >> 2] | 0 | 0); + $12 = Math_fround(HEAPF32[(btVector3__getX_28_29_20const($3 + 12 | 0 | 0) | 0) >> 2]); + __stack_pointer = $3 + 32 | 0; + return Math_fround($12); + } + + function _GLOBAL__sub_I_btCylinderShape_cpp() { + __cxx_global_var_init_38(); + return; + } + + function __cxx_global_var_init_39() { + btInfMaskConverter__btInfMaskConverter_28int_29(114144 | 0, 2139095040 | 0) | 0; + return; + } + + function btConcaveShape__btConcaveShape_28_29($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + btCollisionShape__btCollisionShape_28_29($4 | 0) | 0; + HEAP32[$4 >> 2] = 98736 + 8 | 0; + HEAPF32[($4 + 20 | 0) >> 2] = Math_fround(0 | 0); + __stack_pointer = $3 + 16 | 0; + return $4 | 0; + } + + function btConcaveShape___btConcaveShape_28_29($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + btCollisionShape___btCollisionShape_28_29($4 | 0) | 0; + __stack_pointer = $3 + 16 | 0; + return $4 | 0; + } + + function btConcaveShape___btConcaveShape_28_29_1($0) { + $0 = $0 | 0; + HEAP32[((__stack_pointer - 16 | 0) + 12 | 0) >> 2] = $0; + wasm2js_trap(); + } + + function _GLOBAL__sub_I_btConcaveShape_cpp() { + __cxx_global_var_init_39(); + return; + } + + function __cxx_global_var_init_40() { + btInfMaskConverter__btInfMaskConverter_28int_29(114148 | 0, 2139095040 | 0) | 0; + return; + } + + function btEmptyShape__btEmptyShape_28_29($0) { + $0 = $0 | 0; + var $4 = 0, $3 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + btConcaveShape__btConcaveShape_28_29($4 | 0) | 0; + HEAP32[$4 >> 2] = 98844 + 8 | 0; + btVector3__btVector3_28_29($4 + 24 | 0 | 0) | 0; + HEAP32[($4 + 4 | 0) >> 2] = 27; + __stack_pointer = $3 + 16 | 0; + return $4 | 0; + } + + function btEmptyShape___btEmptyShape_28_29($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + btConcaveShape___btConcaveShape_28_29($4 | 0) | 0; + __stack_pointer = $3 + 16 | 0; + return $4 | 0; + } + + function btEmptyShape___btEmptyShape_28_29_1($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + FUNCTION_TABLE[893 | 0]($4) | 0; + btEmptyShape__operator_20delete_28void__29($4 | 0); + __stack_pointer = $3 + 16 | 0; + return; + } + + function btEmptyShape__operator_20delete_28void__29($0) { + $0 = $0 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + btAlignedFreeInternal_28void__29(HEAP32[($3 + 12 | 0) >> 2] | 0 | 0); + __stack_pointer = $3 + 16 | 0; + return; + } + + function btEmptyShape__getAabb_28btTransform_20const__2c_20btVector3__2c_20btVector3__29_20const($0, $1, $2, $3) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + var $6 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, $7 = 0, $37 = 0, $39 = 0, $53 = 0, $55 = 0, $146 = 0, $159 = 0, $180 = 0, $193 = 0, wasm2js_i32$0 = 0, wasm2js_f32$0 = Math_fround(0); + $6 = __stack_pointer - 80 | 0; + __stack_pointer = $6; + HEAP32[($6 + 76 | 0) >> 2] = $0; + HEAP32[($6 + 72 | 0) >> 2] = $1; + HEAP32[($6 + 68 | 0) >> 2] = $2; + HEAP32[($6 + 64 | 0) >> 2] = $3; + $7 = HEAP32[($6 + 76 | 0) >> 2] | 0; + (wasm2js_i32$0 = $6, wasm2js_f32$0 = Math_fround(FUNCTION_TABLE[HEAP32[((HEAP32[$7 >> 2] | 0) + 48 | 0) >> 2] | 0 | 0]($7))), HEAPF32[(wasm2js_i32$0 + 44 | 0) >> 2] = wasm2js_f32$0; + (wasm2js_i32$0 = $6, wasm2js_f32$0 = Math_fround(FUNCTION_TABLE[HEAP32[((HEAP32[$7 >> 2] | 0) + 48 | 0) >> 2] | 0 | 0]($7))), HEAPF32[(wasm2js_i32$0 + 40 | 0) >> 2] = wasm2js_f32$0; + (wasm2js_i32$0 = $6, wasm2js_f32$0 = Math_fround(FUNCTION_TABLE[HEAP32[((HEAP32[$7 >> 2] | 0) + 48 | 0) >> 2] | 0 | 0]($7))), HEAPF32[(wasm2js_i32$0 + 36 | 0) >> 2] = wasm2js_f32$0; + btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($6 + 48 | 0 | 0, $6 + 44 | 0 | 0, $6 + 40 | 0 | 0, $6 + 36 | 0 | 0) | 0; + operator__28btVector3_20const__2c_20btVector3_20const__29($6 + 20 | 0 | 0, btTransform__getOrigin_28_29_20const(HEAP32[($6 + 72 | 0) >> 2] | 0 | 0) | 0 | 0, $6 + 48 | 0 | 0); + $37 = HEAP32[($6 + 68 | 0) >> 2] | 0; + i64toi32_i32$2 = $6; + i64toi32_i32$0 = HEAP32[($6 + 20 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($6 + 24 | 0) >> 2] | 0; + $146 = i64toi32_i32$0; + i64toi32_i32$0 = $37; + HEAP32[i64toi32_i32$0 >> 2] = $146; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $39 = 8; + i64toi32_i32$2 = ($6 + 20 | 0) + $39 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $159 = i64toi32_i32$1; + i64toi32_i32$1 = $37 + $39 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $159; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + operator__28btVector3_20const__2c_20btVector3_20const__29_2($6 + 4 | 0 | 0, btTransform__getOrigin_28_29_20const(HEAP32[($6 + 72 | 0) >> 2] | 0 | 0) | 0 | 0, $6 + 48 | 0 | 0); + $53 = HEAP32[($6 + 64 | 0) >> 2] | 0; + i64toi32_i32$2 = $6; + i64toi32_i32$0 = HEAP32[($6 + 4 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($6 + 8 | 0) >> 2] | 0; + $180 = i64toi32_i32$0; + i64toi32_i32$0 = $53; + HEAP32[i64toi32_i32$0 >> 2] = $180; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $55 = 8; + i64toi32_i32$2 = ($6 + 4 | 0) + $55 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $193 = i64toi32_i32$1; + i64toi32_i32$1 = $53 + $55 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $193; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + __stack_pointer = $6 + 80 | 0; + return; + } + + function btEmptyShape__calculateLocalInertia_28float_2c_20btVector3__29_20const($0, $1, $2) { + $0 = $0 | 0; + $1 = Math_fround($1); + $2 = $2 | 0; + var $5 = 0; + $5 = __stack_pointer - 16 | 0; + __stack_pointer = $5; + HEAP32[($5 + 12 | 0) >> 2] = $0; + HEAPF32[($5 + 8 | 0) >> 2] = $1; + HEAP32[($5 + 4 | 0) >> 2] = $2; + __assert_fail(86177 | 0, 74142 | 0, 46 | 0, 83783 | 0); + wasm2js_trap(); + } + + function btEmptyShape__setLocalScaling_28btVector3_20const__29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var i64toi32_i32$2 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $4 = 0, $8 = 0, $10 = 0, $32 = 0, $42 = 0; + $4 = __stack_pointer - 16 | 0; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + $8 = (HEAP32[($4 + 12 | 0) >> 2] | 0) + 24 | 0; + i64toi32_i32$2 = HEAP32[($4 + 8 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $32 = i64toi32_i32$0; + i64toi32_i32$0 = $8; + HEAP32[i64toi32_i32$0 >> 2] = $32; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $10 = 8; + i64toi32_i32$2 = i64toi32_i32$2 + $10 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $42 = i64toi32_i32$1; + i64toi32_i32$1 = $8 + $10 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $42; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + return; + } + + function btEmptyShape__getLocalScaling_28_29_20const($0) { + $0 = $0 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + return (HEAP32[($3 + 12 | 0) >> 2] | 0) + 24 | 0 | 0; + } + + function btEmptyShape__getName_28_29_20const($0) { + $0 = $0 | 0; + HEAP32[((__stack_pointer - 16 | 0) + 12 | 0) >> 2] = $0; + return 65654 | 0; + } + + function btEmptyShape__processAllTriangles_28btTriangleCallback__2c_20btVector3_20const__2c_20btVector3_20const__29_20const($0, $1, $2, $3) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + var $6 = 0; + $6 = __stack_pointer - 16 | 0; + HEAP32[($6 + 12 | 0) >> 2] = $0; + HEAP32[($6 + 8 | 0) >> 2] = $1; + HEAP32[($6 + 4 | 0) >> 2] = $2; + HEAP32[$6 >> 2] = $3; + return; + } + + function _GLOBAL__sub_I_btEmptyShape_cpp() { + __cxx_global_var_init_40(); + return; + } + + function __cxx_global_var_init_41() { + btInfMaskConverter__btInfMaskConverter_28int_29(114152 | 0, 2139095040 | 0) | 0; + return; + } + + function btHeightfieldTerrainShape__btHeightfieldTerrainShape_28int_2c_20int_2c_20void_20const__2c_20float_2c_20float_2c_20float_2c_20int_2c_20PHY_ScalarType_2c_20bool_29($0, $1, $2, $3, $4, $5, $6, $7, $8, $9) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + $4 = Math_fround($4); + $5 = Math_fround($5); + $6 = Math_fround($6); + $7 = $7 | 0; + $8 = $8 | 0; + $9 = $9 | 0; + var $12 = 0, $14 = 0; + $12 = __stack_pointer - 48 | 0; + __stack_pointer = $12; + HEAP32[($12 + 44 | 0) >> 2] = $0; + HEAP32[($12 + 40 | 0) >> 2] = $1; + HEAP32[($12 + 36 | 0) >> 2] = $2; + HEAP32[($12 + 32 | 0) >> 2] = $3; + HEAPF32[($12 + 28 | 0) >> 2] = $4; + HEAPF32[($12 + 24 | 0) >> 2] = $5; + HEAPF32[($12 + 20 | 0) >> 2] = $6; + HEAP32[($12 + 16 | 0) >> 2] = $7; + HEAP32[($12 + 12 | 0) >> 2] = $8; + HEAP8[($12 + 11 | 0) >> 0] = $9; + $14 = HEAP32[($12 + 44 | 0) >> 2] | 0; + btConcaveShape__btConcaveShape_28_29($14 | 0) | 0; + HEAP32[$14 >> 2] = 98948 + 8 | 0; + btVector3__btVector3_28_29($14 + 24 | 0 | 0) | 0; + btVector3__btVector3_28_29($14 + 40 | 0 | 0) | 0; + btVector3__btVector3_28_29($14 + 56 | 0 | 0) | 0; + btVector3__btVector3_28_29($14 + 116 | 0 | 0) | 0; + btHeightfieldTerrainShape__initialize_28int_2c_20int_2c_20void_20const__2c_20float_2c_20float_2c_20float_2c_20int_2c_20PHY_ScalarType_2c_20bool_29($14 | 0, HEAP32[($12 + 40 | 0) >> 2] | 0 | 0, HEAP32[($12 + 36 | 0) >> 2] | 0 | 0, HEAP32[($12 + 32 | 0) >> 2] | 0 | 0, Math_fround(Math_fround(HEAPF32[($12 + 28 | 0) >> 2])), Math_fround(Math_fround(HEAPF32[($12 + 24 | 0) >> 2])), Math_fround(Math_fround(HEAPF32[($12 + 20 | 0) >> 2])), HEAP32[($12 + 16 | 0) >> 2] | 0 | 0, HEAP32[($12 + 12 | 0) >> 2] | 0 | 0, (HEAPU8[($12 + 11 | 0) >> 0] | 0) & 1 | 0 | 0); + __stack_pointer = $12 + 48 | 0; + return $14 | 0; + } + + function btHeightfieldTerrainShape__initialize_28int_2c_20int_2c_20void_20const__2c_20float_2c_20float_2c_20float_2c_20int_2c_20PHY_ScalarType_2c_20bool_29($0, $1, $2, $3, $4, $5, $6, $7, $8, $9) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + $4 = Math_fround($4); + $5 = Math_fround($5); + $6 = Math_fround($6); + $7 = $7 | 0; + $8 = $8 | 0; + $9 = $9 | 0; + var $12 = 0, $14 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $116 = 0, i64toi32_i32$2 = 0, $100 = 0, $112 = 0, $123 = 0, $209 = 0, $211 = 0, $614 = 0, $627 = 0; + $12 = __stack_pointer - 112 | 0; + __stack_pointer = $12; + HEAP32[($12 + 108 | 0) >> 2] = $0; + HEAP32[($12 + 104 | 0) >> 2] = $1; + HEAP32[($12 + 100 | 0) >> 2] = $2; + HEAP32[($12 + 96 | 0) >> 2] = $3; + HEAPF32[($12 + 92 | 0) >> 2] = $4; + HEAPF32[($12 + 88 | 0) >> 2] = $5; + HEAPF32[($12 + 84 | 0) >> 2] = $6; + HEAP32[($12 + 80 | 0) >> 2] = $7; + HEAP32[($12 + 76 | 0) >> 2] = $8; + HEAP8[($12 + 75 | 0) >> 0] = $9; + $14 = HEAP32[($12 + 108 | 0) >> 2] | 0; + label$1 : { + if ((HEAP32[($12 + 104 | 0) >> 2] | 0 | 0) > (1 | 0) & 1 | 0) { + break label$1 + } + __assert_fail(85653 | 0, 74508 | 0, 62 | 0, 80824 | 0); + wasm2js_trap(); + } + label$2 : { + if ((HEAP32[($12 + 100 | 0) >> 2] | 0 | 0) > (1 | 0) & 1 | 0) { + break label$2 + } + __assert_fail(85631 | 0, 74508 | 0, 63 | 0, 80824 | 0); + wasm2js_trap(); + } + label$3 : { + if ((HEAP32[($12 + 96 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$3 + } + __assert_fail(83752 | 0, 74508 | 0, 64 | 0, 80824 | 0); + wasm2js_trap(); + } + label$4 : { + if (Math_fround(HEAPF32[($12 + 88 | 0) >> 2]) <= Math_fround(HEAPF32[($12 + 84 | 0) >> 2]) & 1 | 0) { + break label$4 + } + __assert_fail(68077 | 0, 74508 | 0, 66 | 0, 80824 | 0); + wasm2js_trap(); + } + label$5 : { + label$6 : { + if (!((HEAP32[($12 + 80 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0)) { + break label$6 + } + if ((HEAP32[($12 + 80 | 0) >> 2] | 0 | 0) < (3 | 0) & 1 | 0) { + break label$5 + } + } + __assert_fail(85367 | 0, 74508 | 0, 67 | 0, 80824 | 0); + wasm2js_trap(); + } + label$7 : { + if ((HEAP32[($12 + 76 | 0) >> 2] | 0 | 0) != (5 | 0) & 1 | 0) { + break label$7 + } + if (HEAP32[($12 + 76 | 0) >> 2] | 0) { + break label$7 + } + if ((HEAP32[($12 + 76 | 0) >> 2] | 0 | 0) != (3 | 0) & 1 | 0) { + break label$7 + } + __assert_fail(83971 | 0, 74508 | 0, 68 | 0, 80824 | 0); + wasm2js_trap(); + } + HEAP32[($14 + 4 | 0) >> 2] = 24; + HEAP32[($14 + 72 | 0) >> 2] = HEAP32[($12 + 104 | 0) >> 2] | 0; + HEAP32[($14 + 76 | 0) >> 2] = HEAP32[($12 + 100 | 0) >> 2] | 0; + HEAPF32[($14 + 80 | 0) >> 2] = Math_fround(HEAPF32[($12 + 88 | 0) >> 2]); + HEAPF32[($14 + 84 | 0) >> 2] = Math_fround(HEAPF32[($12 + 84 | 0) >> 2]); + $100 = -1; + HEAPF32[($14 + 88 | 0) >> 2] = Math_fround((HEAP32[($12 + 104 | 0) >> 2] | 0) + $100 | 0 | 0); + HEAPF32[($14 + 92 | 0) >> 2] = Math_fround((HEAP32[($12 + 100 | 0) >> 2] | 0) + $100 | 0 | 0); + HEAPF32[($14 + 96 | 0) >> 2] = Math_fround(HEAPF32[($12 + 92 | 0) >> 2]); + HEAP32[($14 + 100 | 0) >> 2] = HEAP32[($12 + 96 | 0) >> 2] | 0; + HEAP32[($14 + 104 | 0) >> 2] = HEAP32[($12 + 76 | 0) >> 2] | 0; + HEAP8[($14 + 108 | 0) >> 0] = (HEAPU8[($12 + 75 | 0) >> 0] | 0) & 1 | 0; + $112 = 0; + HEAP8[($14 + 109 | 0) >> 0] = $112; + HEAP8[($14 + 110 | 0) >> 0] = $112; + HEAP32[($14 + 112 | 0) >> 2] = HEAP32[($12 + 80 | 0) >> 2] | 0; + $116 = 1065353216; + HEAP32[($12 + 68 | 0) >> 2] = $116; + HEAP32[($12 + 64 | 0) >> 2] = $116; + HEAP32[($12 + 60 | 0) >> 2] = $116; + btVector3__setValue_28float_20const__2c_20float_20const__2c_20float_20const__29($14 + 116 | 0 | 0, $12 + 68 | 0 | 0, $12 + 64 | 0 | 0, $12 + 60 | 0 | 0); + $123 = HEAP32[($14 + 112 | 0) >> 2] | 0; + label$8 : { + label$9 : { + switch ($123 | 0) { + case 0: + HEAPF32[($12 + 56 | 0) >> 2] = Math_fround(0 | 0); + HEAPF32[($12 + 52 | 0) >> 2] = Math_fround(0 | 0); + btVector3__setValue_28float_20const__2c_20float_20const__2c_20float_20const__29($14 + 24 | 0 | 0, $14 + 80 | 0 | 0, $12 + 56 | 0 | 0, $12 + 52 | 0 | 0); + btVector3__setValue_28float_20const__2c_20float_20const__2c_20float_20const__29($14 + 40 | 0 | 0, $14 + 84 | 0 | 0, $14 + 88 | 0 | 0, $14 + 92 | 0 | 0); + break label$8; + case 1: + HEAPF32[($12 + 48 | 0) >> 2] = Math_fround(0 | 0); + HEAPF32[($12 + 44 | 0) >> 2] = Math_fround(0 | 0); + btVector3__setValue_28float_20const__2c_20float_20const__2c_20float_20const__29($14 + 24 | 0 | 0, $12 + 48 | 0 | 0, $14 + 80 | 0 | 0, $12 + 44 | 0 | 0); + btVector3__setValue_28float_20const__2c_20float_20const__2c_20float_20const__29($14 + 40 | 0 | 0, $14 + 88 | 0 | 0, $14 + 84 | 0 | 0, $14 + 92 | 0 | 0); + break label$8; + case 2: + HEAPF32[($12 + 40 | 0) >> 2] = Math_fround(0 | 0); + HEAPF32[($12 + 36 | 0) >> 2] = Math_fround(0 | 0); + btVector3__setValue_28float_20const__2c_20float_20const__2c_20float_20const__29($14 + 24 | 0 | 0, $12 + 40 | 0 | 0, $12 + 36 | 0 | 0, $14 + 80 | 0 | 0); + btVector3__setValue_28float_20const__2c_20float_20const__2c_20float_20const__29($14 + 40 | 0 | 0, $14 + 88 | 0 | 0, $14 + 92 | 0 | 0, $14 + 84 | 0 | 0); + break label$8; + default: + break label$9; + }; + } + __assert_fail(86177 | 0, 74508 | 0, 111 | 0, 80824 | 0); + wasm2js_trap(); + } + HEAPF32[($12 + 16 | 0) >> 2] = Math_fround(.5); + operator__28btVector3_20const__2c_20btVector3_20const__29_2($12 | 0, $14 + 24 | 0 | 0, $14 + 40 | 0 | 0); + operator__28float_20const__2c_20btVector3_20const__29($12 + 20 | 0 | 0, $12 + 16 | 0 | 0, $12 | 0); + $209 = $14 + 56 | 0; + i64toi32_i32$2 = $12; + i64toi32_i32$0 = HEAP32[($12 + 20 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($12 + 24 | 0) >> 2] | 0; + $614 = i64toi32_i32$0; + i64toi32_i32$0 = $209; + HEAP32[i64toi32_i32$0 >> 2] = $614; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $211 = 8; + i64toi32_i32$2 = ($12 + 20 | 0) + $211 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $627 = i64toi32_i32$1; + i64toi32_i32$1 = $209 + $211 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $627; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + __stack_pointer = $12 + 112 | 0; + return; + } + + function btHeightfieldTerrainShape___btHeightfieldTerrainShape_28_29($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + HEAP32[$4 >> 2] = 98948 + 8 | 0; + btConcaveShape___btConcaveShape_28_29($4 | 0) | 0; + __stack_pointer = $3 + 16 | 0; + return $4 | 0; + } + + function btHeightfieldTerrainShape___btHeightfieldTerrainShape_28_29_1($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + FUNCTION_TABLE[901 | 0]($4) | 0; + btHeightfieldTerrainShape__operator_20delete_28void__29($4 | 0); + __stack_pointer = $3 + 16 | 0; + return; + } + + function btHeightfieldTerrainShape__operator_20delete_28void__29($0) { + $0 = $0 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + btAlignedFreeInternal_28void__29(HEAP32[($3 + 12 | 0) >> 2] | 0 | 0); + __stack_pointer = $3 + 16 | 0; + return; + } + + function btHeightfieldTerrainShape__getAabb_28btTransform_20const__2c_20btVector3__2c_20btVector3__29_20const($0, $1, $2, $3) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + var $6 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $7 = 0, i64toi32_i32$2 = 0, $75 = 0, $76 = 0, $140 = 0, $142 = 0, $157 = 0, $159 = 0, $55 = Math_fround(0), $321 = 0, $325 = 0, $439 = 0, $452 = 0, $473 = 0, $486 = 0, wasm2js_i32$0 = 0, wasm2js_f32$0 = Math_fround(0); + $6 = __stack_pointer - 240 | 0; + __stack_pointer = $6; + HEAP32[($6 + 236 | 0) >> 2] = $0; + HEAP32[($6 + 232 | 0) >> 2] = $1; + HEAP32[($6 + 228 | 0) >> 2] = $2; + HEAP32[($6 + 224 | 0) >> 2] = $3; + $7 = HEAP32[($6 + 236 | 0) >> 2] | 0; + operator__28btVector3_20const__2c_20btVector3_20const__29($6 + 176 | 0 | 0, $7 + 40 | 0 | 0, $7 + 24 | 0 | 0); + operator__28btVector3_20const__2c_20btVector3_20const__29_1($6 + 192 | 0 | 0, $6 + 176 | 0 | 0, $7 + 116 | 0 | 0); + HEAPF32[($6 + 172 | 0) >> 2] = Math_fround(.5); + operator__28btVector3_20const__2c_20float_20const__29($6 + 208 | 0 | 0, $6 + 192 | 0 | 0, $6 + 172 | 0 | 0); + HEAPF32[($6 + 152 | 0) >> 2] = Math_fround(0 | 0); + HEAPF32[($6 + 148 | 0) >> 2] = Math_fround(0 | 0); + HEAPF32[($6 + 144 | 0) >> 2] = Math_fround(0 | 0); + btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($6 + 156 | 0 | 0, $6 + 152 | 0 | 0, $6 + 148 | 0 | 0, $6 + 144 | 0 | 0) | 0; + $55 = Math_fround(Math_fround(Math_fround(HEAPF32[($7 + 80 | 0) >> 2]) + Math_fround(HEAPF32[($7 + 84 | 0) >> 2])) * Math_fround(.5)); + (wasm2js_i32$0 = (btVector3__operator_20float__28_29($6 + 156 | 0 | 0) | 0) + ((HEAP32[($7 + 112 | 0) >> 2] | 0) << 2 | 0) | 0, wasm2js_f32$0 = $55), HEAPF32[wasm2js_i32$0 >> 2] = wasm2js_f32$0; + btVector3__operator___28btVector3_20const__29_2($6 + 156 | 0 | 0, $7 + 116 | 0 | 0) | 0; + btMatrix3x3__absolute_28_29_20const($6 + 96 | 0 | 0, btTransform__getBasis_28_29_20const(HEAP32[($6 + 232 | 0) >> 2] | 0 | 0) | 0 | 0); + $75 = btTransform__getOrigin_28_29_20const(HEAP32[($6 + 232 | 0) >> 2] | 0 | 0) | 0; + $76 = 8; + i64toi32_i32$2 = $75 + $76 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $321 = i64toi32_i32$0; + i64toi32_i32$0 = ($6 + 80 | 0) + $76 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $321; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$2 = $75; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $325 = i64toi32_i32$1; + i64toi32_i32$1 = $6; + HEAP32[($6 + 80 | 0) >> 2] = $325; + HEAP32[($6 + 84 | 0) >> 2] = i64toi32_i32$0; + btVector3__dot3_28btVector3_20const__2c_20btVector3_20const__2c_20btVector3_20const__29_20const($6 + 64 | 0 | 0, $6 + 208 | 0 | 0, btMatrix3x3__operator_5b_5d_28int_29($6 + 96 | 0 | 0, 0 | 0) | 0 | 0, btMatrix3x3__operator_5b_5d_28int_29($6 + 96 | 0 | 0, 1 | 0) | 0 | 0, btMatrix3x3__operator_5b_5d_28int_29($6 + 96 | 0 | 0, 2 | 0) | 0 | 0); + (wasm2js_i32$0 = $6, wasm2js_f32$0 = Math_fround(FUNCTION_TABLE[HEAP32[((HEAP32[$7 >> 2] | 0) + 48 | 0) >> 2] | 0 | 0]($7))), HEAPF32[(wasm2js_i32$0 + 44 | 0) >> 2] = wasm2js_f32$0; + (wasm2js_i32$0 = $6, wasm2js_f32$0 = Math_fround(FUNCTION_TABLE[HEAP32[((HEAP32[$7 >> 2] | 0) + 48 | 0) >> 2] | 0 | 0]($7))), HEAPF32[(wasm2js_i32$0 + 40 | 0) >> 2] = wasm2js_f32$0; + (wasm2js_i32$0 = $6, wasm2js_f32$0 = Math_fround(FUNCTION_TABLE[HEAP32[((HEAP32[$7 >> 2] | 0) + 48 | 0) >> 2] | 0 | 0]($7))), HEAPF32[(wasm2js_i32$0 + 36 | 0) >> 2] = wasm2js_f32$0; + btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($6 + 48 | 0 | 0, $6 + 44 | 0 | 0, $6 + 40 | 0 | 0, $6 + 36 | 0 | 0) | 0; + btVector3__operator___28btVector3_20const__29_1($6 + 64 | 0 | 0, $6 + 48 | 0 | 0) | 0; + operator__28btVector3_20const__2c_20btVector3_20const__29($6 + 20 | 0 | 0, $6 + 80 | 0 | 0, $6 + 64 | 0 | 0); + $140 = HEAP32[($6 + 228 | 0) >> 2] | 0; + i64toi32_i32$2 = $6; + i64toi32_i32$0 = HEAP32[($6 + 20 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($6 + 24 | 0) >> 2] | 0; + $439 = i64toi32_i32$0; + i64toi32_i32$0 = $140; + HEAP32[i64toi32_i32$0 >> 2] = $439; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $142 = 8; + i64toi32_i32$2 = ($6 + 20 | 0) + $142 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $452 = i64toi32_i32$1; + i64toi32_i32$1 = $140 + $142 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $452; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + operator__28btVector3_20const__2c_20btVector3_20const__29_2($6 + 4 | 0 | 0, $6 + 80 | 0 | 0, $6 + 64 | 0 | 0); + $157 = HEAP32[($6 + 224 | 0) >> 2] | 0; + i64toi32_i32$2 = $6; + i64toi32_i32$0 = HEAP32[($6 + 4 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($6 + 8 | 0) >> 2] | 0; + $473 = i64toi32_i32$0; + i64toi32_i32$0 = $157; + HEAP32[i64toi32_i32$0 >> 2] = $473; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $159 = 8; + i64toi32_i32$2 = ($6 + 4 | 0) + $159 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $486 = i64toi32_i32$1; + i64toi32_i32$1 = $157 + $159 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $486; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + __stack_pointer = $6 + 240 | 0; + return; + } + + function btVector3__operator___28btVector3_20const__29_2($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $5 = 0, $4 = 0; + $4 = __stack_pointer - 16 | 0; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; + HEAPF32[$5 >> 2] = Math_fround(Math_fround(HEAPF32[$5 >> 2]) * Math_fround(HEAPF32[(HEAP32[($4 + 8 | 0) >> 2] | 0) >> 2])); + HEAPF32[($5 + 4 | 0) >> 2] = Math_fround(Math_fround(HEAPF32[($5 + 4 | 0) >> 2]) * Math_fround(HEAPF32[((HEAP32[($4 + 8 | 0) >> 2] | 0) + 4 | 0) >> 2])); + HEAPF32[($5 + 8 | 0) >> 2] = Math_fround(Math_fround(HEAPF32[($5 + 8 | 0) >> 2]) * Math_fround(HEAPF32[((HEAP32[($4 + 8 | 0) >> 2] | 0) + 8 | 0) >> 2])); + return $5 | 0; + } + + function btHeightfieldTerrainShape__getRawHeightFieldValue_28int_2c_20int_29_20const($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $5 = 0, $6 = 0, $8 = 0, $45 = 0, $55 = Math_fround(0); + $5 = __stack_pointer - 32 | 0; + __stack_pointer = $5; + HEAP32[($5 + 28 | 0) >> 2] = $0; + HEAP32[($5 + 24 | 0) >> 2] = $1; + HEAP32[($5 + 20 | 0) >> 2] = $2; + $6 = HEAP32[($5 + 28 | 0) >> 2] | 0; + HEAP32[($5 + 16 | 0) >> 2] = 0; + $8 = HEAP32[($6 + 104 | 0) >> 2] | 0; + label$1 : { + label$2 : { + switch ($8 | 0) { + case 0: + HEAPF32[($5 + 16 | 0) >> 2] = Math_fround(HEAPF32[((HEAP32[($6 + 100 | 0) >> 2] | 0) + ((Math_imul(HEAP32[($5 + 20 | 0) >> 2] | 0, HEAP32[($6 + 72 | 0) >> 2] | 0) + (HEAP32[($5 + 24 | 0) >> 2] | 0) | 0) << 2 | 0) | 0) >> 2]); + break label$1; + case 5: + HEAP8[($5 + 15 | 0) >> 0] = HEAPU8[((HEAP32[($6 + 100 | 0) >> 2] | 0) + (Math_imul(HEAP32[($5 + 20 | 0) >> 2] | 0, HEAP32[($6 + 72 | 0) >> 2] | 0) + (HEAP32[($5 + 24 | 0) >> 2] | 0) | 0) | 0) >> 0] | 0; + HEAPF32[($5 + 16 | 0) >> 2] = Math_fround(Math_fround((HEAPU8[($5 + 15 | 0) >> 0] | 0) & 255 | 0 | 0) * Math_fround(HEAPF32[($6 + 96 | 0) >> 2])); + break label$1; + case 3: + HEAP16[($5 + 12 | 0) >> 1] = HEAPU16[((HEAP32[($6 + 100 | 0) >> 2] | 0) + ((Math_imul(HEAP32[($5 + 20 | 0) >> 2] | 0, HEAP32[($6 + 72 | 0) >> 2] | 0) + (HEAP32[($5 + 24 | 0) >> 2] | 0) | 0) << 1 | 0) | 0) >> 1] | 0; + $45 = 16; + HEAPF32[($5 + 16 | 0) >> 2] = Math_fround(Math_fround(((HEAPU16[($5 + 12 | 0) >> 1] | 0) << $45 | 0) >> $45 | 0 | 0) * Math_fround(HEAPF32[($6 + 96 | 0) >> 2])); + break label$1; + default: + break label$2; + }; + } + __assert_fail(88263 | 0, 74508 | 0, 176 | 0, 81125 | 0); + wasm2js_trap(); + } + $55 = Math_fround(HEAPF32[($5 + 16 | 0) >> 2]); + __stack_pointer = $5 + 32 | 0; + return Math_fround($55); + } + + function btHeightfieldTerrainShape__getVertex_28int_2c_20int_2c_20btVector3__29_20const($0, $1, $2, $3) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + var $6 = 0, $7 = 0, $57 = 0, $59 = 0, $89 = 0, $119 = 0, wasm2js_i32$0 = 0, wasm2js_f32$0 = Math_fround(0); + $6 = __stack_pointer - 64 | 0; + __stack_pointer = $6; + HEAP32[($6 + 60 | 0) >> 2] = $0; + HEAP32[($6 + 56 | 0) >> 2] = $1; + HEAP32[($6 + 52 | 0) >> 2] = $2; + HEAP32[($6 + 48 | 0) >> 2] = $3; + $7 = HEAP32[($6 + 60 | 0) >> 2] | 0; + label$1 : { + if ((HEAP32[($6 + 56 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0) { + break label$1 + } + __assert_fail(85835 | 0, 74508 | 0, 189 | 0, 66266 | 0); + wasm2js_trap(); + } + label$2 : { + if ((HEAP32[($6 + 52 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0) { + break label$2 + } + __assert_fail(85809 | 0, 74508 | 0, 190 | 0, 66266 | 0); + wasm2js_trap(); + } + label$3 : { + if ((HEAP32[($6 + 56 | 0) >> 2] | 0 | 0) < (HEAP32[($7 + 72 | 0) >> 2] | 0 | 0) & 1 | 0) { + break label$3 + } + __assert_fail(77901 | 0, 74508 | 0, 191 | 0, 66266 | 0); + wasm2js_trap(); + } + label$4 : { + if ((HEAP32[($6 + 52 | 0) >> 2] | 0 | 0) < (HEAP32[($7 + 76 | 0) >> 2] | 0 | 0) & 1 | 0) { + break label$4 + } + __assert_fail(77879 | 0, 74508 | 0, 192 | 0, 66266 | 0); + wasm2js_trap(); + } + (wasm2js_i32$0 = $6, wasm2js_f32$0 = Math_fround(FUNCTION_TABLE[HEAP32[((HEAP32[$7 >> 2] | 0) + 68 | 0) >> 2] | 0 | 0]($7, HEAP32[($6 + 56 | 0) >> 2] | 0, HEAP32[($6 + 52 | 0) >> 2] | 0))), HEAPF32[(wasm2js_i32$0 + 44 | 0) >> 2] = wasm2js_f32$0; + $57 = HEAP32[($7 + 112 | 0) >> 2] | 0; + label$5 : { + label$6 : { + switch ($57 | 0) { + case 0: + $59 = HEAP32[($6 + 48 | 0) >> 2] | 0; + (wasm2js_i32$0 = $6, wasm2js_f32$0 = Math_fround(Math_fround(HEAPF32[($6 + 44 | 0) >> 2]) - Math_fround(HEAPF32[(btVector3__getX_28_29_20const($7 + 56 | 0 | 0) | 0) >> 2]))), HEAPF32[(wasm2js_i32$0 + 40 | 0) >> 2] = wasm2js_f32$0; + HEAPF32[($6 + 36 | 0) >> 2] = Math_fround(Math_fround(Math_fround(-Math_fround(HEAPF32[($7 + 88 | 0) >> 2])) / Math_fround(2.0)) + Math_fround(HEAP32[($6 + 56 | 0) >> 2] | 0 | 0)); + HEAPF32[($6 + 32 | 0) >> 2] = Math_fround(Math_fround(Math_fround(-Math_fround(HEAPF32[($7 + 92 | 0) >> 2])) / Math_fround(2.0)) + Math_fround(HEAP32[($6 + 52 | 0) >> 2] | 0 | 0)); + btVector3__setValue_28float_20const__2c_20float_20const__2c_20float_20const__29($59 | 0, $6 + 40 | 0 | 0, $6 + 36 | 0 | 0, $6 + 32 | 0 | 0); + break label$5; + case 1: + $89 = HEAP32[($6 + 48 | 0) >> 2] | 0; + HEAPF32[($6 + 28 | 0) >> 2] = Math_fround(Math_fround(Math_fround(-Math_fround(HEAPF32[($7 + 88 | 0) >> 2])) / Math_fround(2.0)) + Math_fround(HEAP32[($6 + 56 | 0) >> 2] | 0 | 0)); + (wasm2js_i32$0 = $6, wasm2js_f32$0 = Math_fround(Math_fround(HEAPF32[($6 + 44 | 0) >> 2]) - Math_fround(HEAPF32[(btVector3__getY_28_29_20const($7 + 56 | 0 | 0) | 0) >> 2]))), HEAPF32[(wasm2js_i32$0 + 24 | 0) >> 2] = wasm2js_f32$0; + HEAPF32[($6 + 20 | 0) >> 2] = Math_fround(Math_fround(Math_fround(-Math_fround(HEAPF32[($7 + 92 | 0) >> 2])) / Math_fround(2.0)) + Math_fround(HEAP32[($6 + 52 | 0) >> 2] | 0 | 0)); + btVector3__setValue_28float_20const__2c_20float_20const__2c_20float_20const__29($89 | 0, $6 + 28 | 0 | 0, $6 + 24 | 0 | 0, $6 + 20 | 0 | 0); + break label$5; + case 2: + $119 = HEAP32[($6 + 48 | 0) >> 2] | 0; + HEAPF32[($6 + 16 | 0) >> 2] = Math_fround(Math_fround(Math_fround(-Math_fround(HEAPF32[($7 + 88 | 0) >> 2])) / Math_fround(2.0)) + Math_fround(HEAP32[($6 + 56 | 0) >> 2] | 0 | 0)); + HEAPF32[($6 + 12 | 0) >> 2] = Math_fround(Math_fround(Math_fround(-Math_fround(HEAPF32[($7 + 92 | 0) >> 2])) / Math_fround(2.0)) + Math_fround(HEAP32[($6 + 52 | 0) >> 2] | 0 | 0)); + (wasm2js_i32$0 = $6, wasm2js_f32$0 = Math_fround(Math_fround(HEAPF32[($6 + 44 | 0) >> 2]) - Math_fround(HEAPF32[(btVector3__getZ_28_29_20const($7 + 56 | 0 | 0) | 0) >> 2]))), HEAPF32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_f32$0; + btVector3__setValue_28float_20const__2c_20float_20const__2c_20float_20const__29($119 | 0, $6 + 16 | 0 | 0, $6 + 12 | 0 | 0, $6 + 8 | 0 | 0); + break label$5; + default: + break label$6; + }; + } + __assert_fail(86177 | 0, 74508 | 0, 228 | 0, 66266 | 0); + wasm2js_trap(); + } + btVector3__operator___28btVector3_20const__29_2(HEAP32[($6 + 48 | 0) >> 2] | 0 | 0, $7 + 116 | 0 | 0) | 0; + __stack_pointer = $6 + 64 | 0; + return; + } + + function btHeightfieldTerrainShape__quantizeWithClamp_28int__2c_20btVector3_20const__2c_20int_29_20const($0, $1, $2, $3) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + var $6 = 0, i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, i64toi32_i32$1 = 0, $7 = 0, $8 = 0, $9 = 0, $63 = 0, $67 = 0, $23 = 0, $28 = 0, $33 = 0; + $6 = __stack_pointer - 32 | 0; + __stack_pointer = $6; + HEAP32[($6 + 28 | 0) >> 2] = $0; + HEAP32[($6 + 24 | 0) >> 2] = $1; + HEAP32[($6 + 20 | 0) >> 2] = $2; + HEAP32[($6 + 16 | 0) >> 2] = $3; + $7 = HEAP32[($6 + 28 | 0) >> 2] | 0; + $8 = HEAP32[($6 + 20 | 0) >> 2] | 0; + $9 = 8; + i64toi32_i32$2 = $8 + $9 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $63 = i64toi32_i32$0; + i64toi32_i32$0 = $6 + $9 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $63; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$2 = $8; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $67 = i64toi32_i32$1; + i64toi32_i32$1 = $6; + HEAP32[$6 >> 2] = $67; + HEAP32[($6 + 4 | 0) >> 2] = i64toi32_i32$0; + btVector3__setMax_28btVector3_20const__29($6 | 0, $7 + 24 | 0 | 0); + btVector3__setMin_28btVector3_20const__29($6 | 0, $7 + 40 | 0 | 0); + $23 = getQuantized_28float_29(Math_fround(Math_fround(HEAPF32[(btVector3__getX_28_29_20const($6 | 0) | 0) >> 2]))) | 0; + HEAP32[(HEAP32[($6 + 24 | 0) >> 2] | 0) >> 2] = $23; + $28 = getQuantized_28float_29(Math_fround(Math_fround(HEAPF32[(btVector3__getY_28_29_20const($6 | 0) | 0) >> 2]))) | 0; + HEAP32[((HEAP32[($6 + 24 | 0) >> 2] | 0) + 4 | 0) >> 2] = $28; + $33 = getQuantized_28float_29(Math_fround(Math_fround(HEAPF32[(btVector3__getZ_28_29_20const($6 | 0) | 0) >> 2]))) | 0; + HEAP32[((HEAP32[($6 + 24 | 0) >> 2] | 0) + 8 | 0) >> 2] = $33; + __stack_pointer = $6 + 32 | 0; + return; + } + + function getQuantized_28float_29($0) { + $0 = Math_fround($0); + var $3 = 0, $14 = 0.0, $20 = 0, $26 = 0.0, $32 = 0; + $3 = __stack_pointer - 16 | 0; + HEAPF32[($3 + 8 | 0) >> 2] = $0; + label$1 : { + label$2 : { + if (!(+Math_fround(HEAPF32[($3 + 8 | 0) >> 2]) < +(0 | 0) & 1 | 0)) { + break label$2 + } + $14 = +Math_fround(HEAPF32[($3 + 8 | 0) >> 2]) - .5; + label$3 : { + label$4 : { + if (!(Math_abs($14) < 2147483648.0)) { + break label$4 + } + $20 = ~~$14; + break label$3; + } + $20 = -2147483648; + } + HEAP32[($3 + 12 | 0) >> 2] = $20; + break label$1; + } + $26 = +Math_fround(HEAPF32[($3 + 8 | 0) >> 2]) + .5; + label$5 : { + label$6 : { + if (!(Math_abs($26) < 2147483648.0)) { + break label$6 + } + $32 = ~~$26; + break label$5; + } + $32 = -2147483648; + } + HEAP32[($3 + 12 | 0) >> 2] = $32; + } + return HEAP32[($3 + 12 | 0) >> 2] | 0 | 0; + } + + function btHeightfieldTerrainShape__processAllTriangles_28btTriangleCallback__2c_20btVector3_20const__2c_20btVector3_20const__29_20const($0, $1, $2, $3) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + var $6 = 0, $7 = 0, $120 = 0, $130 = 0, $137 = 0, $139 = 0, $143 = 0, $264 = 0, $265 = 0, $267 = 0, $309 = 0, $331 = 0, $354 = 0, $374 = 0, $8 = 0, $45 = 0, $263 = 0, wasm2js_i32$0 = 0, wasm2js_f32$0 = Math_fround(0); + $6 = __stack_pointer - 208 | 0; + __stack_pointer = $6; + HEAP32[($6 + 204 | 0) >> 2] = $0; + HEAP32[($6 + 200 | 0) >> 2] = $1; + HEAP32[($6 + 196 | 0) >> 2] = $2; + HEAP32[($6 + 192 | 0) >> 2] = $3; + $7 = HEAP32[($6 + 204 | 0) >> 2] | 0; + $8 = HEAP32[($6 + 196 | 0) >> 2] | 0; + (wasm2js_i32$0 = $6, wasm2js_f32$0 = Math_fround(Math_fround(1.0) / Math_fround(HEAPF32[(btVector3__operator_20float_20const__28_29_20const($7 + 116 | 0 | 0) | 0) >> 2]))), HEAPF32[(wasm2js_i32$0 + 156 | 0) >> 2] = wasm2js_f32$0; + (wasm2js_i32$0 = $6, wasm2js_f32$0 = Math_fround(Math_fround(1.0) / Math_fround(HEAPF32[((btVector3__operator_20float_20const__28_29_20const($7 + 116 | 0 | 0) | 0) + 4 | 0) >> 2]))), HEAPF32[(wasm2js_i32$0 + 152 | 0) >> 2] = wasm2js_f32$0; + (wasm2js_i32$0 = $6, wasm2js_f32$0 = Math_fround(Math_fround(1.0) / Math_fround(HEAPF32[((btVector3__operator_20float_20const__28_29_20const($7 + 116 | 0 | 0) | 0) + 8 | 0) >> 2]))), HEAPF32[(wasm2js_i32$0 + 148 | 0) >> 2] = wasm2js_f32$0; + btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($6 + 160 | 0 | 0, $6 + 156 | 0 | 0, $6 + 152 | 0 | 0, $6 + 148 | 0 | 0) | 0; + operator__28btVector3_20const__2c_20btVector3_20const__29_1($6 + 176 | 0 | 0, $8 | 0, $6 + 160 | 0 | 0); + $45 = HEAP32[($6 + 192 | 0) >> 2] | 0; + (wasm2js_i32$0 = $6, wasm2js_f32$0 = Math_fround(Math_fround(1.0) / Math_fround(HEAPF32[(btVector3__operator_20float_20const__28_29_20const($7 + 116 | 0 | 0) | 0) >> 2]))), HEAPF32[(wasm2js_i32$0 + 112 | 0) >> 2] = wasm2js_f32$0; + (wasm2js_i32$0 = $6, wasm2js_f32$0 = Math_fround(Math_fround(1.0) / Math_fround(HEAPF32[((btVector3__operator_20float_20const__28_29_20const($7 + 116 | 0 | 0) | 0) + 4 | 0) >> 2]))), HEAPF32[(wasm2js_i32$0 + 108 | 0) >> 2] = wasm2js_f32$0; + (wasm2js_i32$0 = $6, wasm2js_f32$0 = Math_fround(Math_fround(1.0) / Math_fround(HEAPF32[((btVector3__operator_20float_20const__28_29_20const($7 + 116 | 0 | 0) | 0) + 8 | 0) >> 2]))), HEAPF32[(wasm2js_i32$0 + 104 | 0) >> 2] = wasm2js_f32$0; + btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($6 + 116 | 0 | 0, $6 + 112 | 0 | 0, $6 + 108 | 0 | 0, $6 + 104 | 0 | 0) | 0; + operator__28btVector3_20const__2c_20btVector3_20const__29_1($6 + 132 | 0 | 0, $45 | 0, $6 + 116 | 0 | 0); + btVector3__operator___28btVector3_20const__29_1($6 + 176 | 0 | 0, $7 + 56 | 0 | 0) | 0; + btVector3__operator___28btVector3_20const__29_1($6 + 132 | 0 | 0, $7 + 56 | 0 | 0) | 0; + btHeightfieldTerrainShape__quantizeWithClamp_28int__2c_20btVector3_20const__2c_20int_29_20const($7 | 0, $6 + 92 | 0 | 0, $6 + 176 | 0 | 0, 0 | 0); + btHeightfieldTerrainShape__quantizeWithClamp_28int__2c_20btVector3_20const__2c_20int_29_20const($7 | 0, $6 + 80 | 0 | 0, $6 + 132 | 0 | 0, 1 | 0); + HEAP32[($6 + 76 | 0) >> 2] = 0; + label$1 : { + label$2 : while (1) { + if (!((HEAP32[($6 + 76 | 0) >> 2] | 0 | 0) < (3 | 0) & 1 | 0)) { + break label$1 + } + $120 = ($6 + 92 | 0) + ((HEAP32[($6 + 76 | 0) >> 2] | 0) << 2 | 0) | 0; + HEAP32[$120 >> 2] = (HEAP32[$120 >> 2] | 0) + -1 | 0; + $130 = ($6 + 80 | 0) + ((HEAP32[($6 + 76 | 0) >> 2] | 0) << 2 | 0) | 0; + HEAP32[$130 >> 2] = (HEAP32[$130 >> 2] | 0) + 1 | 0; + HEAP32[($6 + 76 | 0) >> 2] = (HEAP32[($6 + 76 | 0) >> 2] | 0) + 1 | 0; + continue label$2; + }; + } + $137 = 0; + HEAP32[($6 + 72 | 0) >> 2] = $137; + $139 = -1; + HEAP32[($6 + 68 | 0) >> 2] = (HEAP32[($7 + 72 | 0) >> 2] | 0) + $139 | 0; + HEAP32[($6 + 64 | 0) >> 2] = $137; + HEAP32[($6 + 60 | 0) >> 2] = (HEAP32[($7 + 76 | 0) >> 2] | 0) + $139 | 0; + $143 = HEAP32[($7 + 112 | 0) >> 2] | 0; + label$3 : { + label$4 : { + switch ($143 | 0) { + case 0: + label$8 : { + if (!((HEAP32[($6 + 96 | 0) >> 2] | 0 | 0) > (HEAP32[($6 + 72 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$8 + } + HEAP32[($6 + 72 | 0) >> 2] = HEAP32[($6 + 96 | 0) >> 2] | 0; + } + label$9 : { + if (!((HEAP32[($6 + 84 | 0) >> 2] | 0 | 0) < (HEAP32[($6 + 68 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$9 + } + HEAP32[($6 + 68 | 0) >> 2] = HEAP32[($6 + 84 | 0) >> 2] | 0; + } + label$10 : { + if (!((HEAP32[($6 + 100 | 0) >> 2] | 0 | 0) > (HEAP32[($6 + 64 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$10 + } + HEAP32[($6 + 64 | 0) >> 2] = HEAP32[($6 + 100 | 0) >> 2] | 0; + } + label$11 : { + if (!((HEAP32[($6 + 88 | 0) >> 2] | 0 | 0) < (HEAP32[($6 + 60 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$11 + } + HEAP32[($6 + 60 | 0) >> 2] = HEAP32[($6 + 88 | 0) >> 2] | 0; + } + break label$3; + case 1: + label$12 : { + if (!((HEAP32[($6 + 92 | 0) >> 2] | 0 | 0) > (HEAP32[($6 + 72 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$12 + } + HEAP32[($6 + 72 | 0) >> 2] = HEAP32[($6 + 92 | 0) >> 2] | 0; + } + label$13 : { + if (!((HEAP32[($6 + 80 | 0) >> 2] | 0 | 0) < (HEAP32[($6 + 68 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$13 + } + HEAP32[($6 + 68 | 0) >> 2] = HEAP32[($6 + 80 | 0) >> 2] | 0; + } + label$14 : { + if (!((HEAP32[($6 + 100 | 0) >> 2] | 0 | 0) > (HEAP32[($6 + 64 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$14 + } + HEAP32[($6 + 64 | 0) >> 2] = HEAP32[($6 + 100 | 0) >> 2] | 0; + } + label$15 : { + if (!((HEAP32[($6 + 88 | 0) >> 2] | 0 | 0) < (HEAP32[($6 + 60 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$15 + } + HEAP32[($6 + 60 | 0) >> 2] = HEAP32[($6 + 88 | 0) >> 2] | 0; + } + break label$3; + case 2: + label$16 : { + if (!((HEAP32[($6 + 92 | 0) >> 2] | 0 | 0) > (HEAP32[($6 + 72 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$16 + } + HEAP32[($6 + 72 | 0) >> 2] = HEAP32[($6 + 92 | 0) >> 2] | 0; + } + label$17 : { + if (!((HEAP32[($6 + 80 | 0) >> 2] | 0 | 0) < (HEAP32[($6 + 68 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$17 + } + HEAP32[($6 + 68 | 0) >> 2] = HEAP32[($6 + 80 | 0) >> 2] | 0; + } + label$18 : { + if (!((HEAP32[($6 + 96 | 0) >> 2] | 0 | 0) > (HEAP32[($6 + 64 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$18 + } + HEAP32[($6 + 64 | 0) >> 2] = HEAP32[($6 + 96 | 0) >> 2] | 0; + } + label$19 : { + if (!((HEAP32[($6 + 84 | 0) >> 2] | 0 | 0) < (HEAP32[($6 + 60 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$19 + } + HEAP32[($6 + 60 | 0) >> 2] = HEAP32[($6 + 84 | 0) >> 2] | 0; + } + break label$3; + default: + break label$4; + }; + } + __assert_fail(86177 | 0, 74508 | 0, 350 | 0, 70168 | 0); + wasm2js_trap(); + } + HEAP32[($6 + 56 | 0) >> 2] = HEAP32[($6 + 64 | 0) >> 2] | 0; + label$20 : { + label$21 : while (1) { + if (!((HEAP32[($6 + 56 | 0) >> 2] | 0 | 0) < (HEAP32[($6 + 60 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$20 + } + HEAP32[($6 + 52 | 0) >> 2] = HEAP32[($6 + 72 | 0) >> 2] | 0; + label$22 : { + label$23 : while (1) { + if (!((HEAP32[($6 + 52 | 0) >> 2] | 0 | 0) < (HEAP32[($6 + 68 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$22 + } + $263 = $6 + 48 | 0; + $264 = $6; + label$24 : while (1) { + $265 = $264; + btVector3__btVector3_28_29($265 | 0) | 0; + $267 = $265 + 16 | 0; + $264 = $267; + if (!(($267 | 0) == ($263 | 0) & 1 | 0)) { + continue label$24 + } + break label$24; + }; + label$25 : { + label$26 : { + label$27 : { + if ((HEAPU8[($7 + 108 | 0) >> 0] | 0) & 1 | 0) { + break label$27 + } + label$28 : { + if (!((HEAPU8[($7 + 109 | 0) >> 0] | 0) & 1 | 0)) { + break label$28 + } + if (!(((HEAP32[($6 + 56 | 0) >> 2] | 0) + (HEAP32[($6 + 52 | 0) >> 2] | 0) | 0) & 1 | 0)) { + break label$27 + } + } + if (!((HEAPU8[($7 + 110 | 0) >> 0] | 0) & 1 | 0)) { + break label$26 + } + if ((HEAP32[($6 + 56 | 0) >> 2] | 0) & 1 | 0) { + break label$26 + } + } + btHeightfieldTerrainShape__getVertex_28int_2c_20int_2c_20btVector3__29_20const($7 | 0, HEAP32[($6 + 52 | 0) >> 2] | 0 | 0, HEAP32[($6 + 56 | 0) >> 2] | 0 | 0, $6 | 0); + btHeightfieldTerrainShape__getVertex_28int_2c_20int_2c_20btVector3__29_20const($7 | 0, HEAP32[($6 + 52 | 0) >> 2] | 0 | 0, (HEAP32[($6 + 56 | 0) >> 2] | 0) + 1 | 0 | 0, $6 + 16 | 0 | 0); + btHeightfieldTerrainShape__getVertex_28int_2c_20int_2c_20btVector3__29_20const($7 | 0, (HEAP32[($6 + 52 | 0) >> 2] | 0) + 1 | 0 | 0, (HEAP32[($6 + 56 | 0) >> 2] | 0) + 1 | 0 | 0, $6 + 32 | 0 | 0); + $309 = HEAP32[($6 + 200 | 0) >> 2] | 0; + FUNCTION_TABLE[HEAP32[((HEAP32[$309 >> 2] | 0) + 8 | 0) >> 2] | 0 | 0]($309, $6, HEAP32[($6 + 52 | 0) >> 2] | 0, HEAP32[($6 + 56 | 0) >> 2] | 0); + btHeightfieldTerrainShape__getVertex_28int_2c_20int_2c_20btVector3__29_20const($7 | 0, (HEAP32[($6 + 52 | 0) >> 2] | 0) + 1 | 0 | 0, (HEAP32[($6 + 56 | 0) >> 2] | 0) + 1 | 0 | 0, $6 + 16 | 0 | 0); + btHeightfieldTerrainShape__getVertex_28int_2c_20int_2c_20btVector3__29_20const($7 | 0, (HEAP32[($6 + 52 | 0) >> 2] | 0) + 1 | 0 | 0, HEAP32[($6 + 56 | 0) >> 2] | 0 | 0, $6 + 32 | 0 | 0); + $331 = HEAP32[($6 + 200 | 0) >> 2] | 0; + FUNCTION_TABLE[HEAP32[((HEAP32[$331 >> 2] | 0) + 8 | 0) >> 2] | 0 | 0]($331, $6, HEAP32[($6 + 52 | 0) >> 2] | 0, HEAP32[($6 + 56 | 0) >> 2] | 0); + break label$25; + } + btHeightfieldTerrainShape__getVertex_28int_2c_20int_2c_20btVector3__29_20const($7 | 0, HEAP32[($6 + 52 | 0) >> 2] | 0 | 0, HEAP32[($6 + 56 | 0) >> 2] | 0 | 0, $6 | 0); + btHeightfieldTerrainShape__getVertex_28int_2c_20int_2c_20btVector3__29_20const($7 | 0, HEAP32[($6 + 52 | 0) >> 2] | 0 | 0, (HEAP32[($6 + 56 | 0) >> 2] | 0) + 1 | 0 | 0, $6 + 16 | 0 | 0); + btHeightfieldTerrainShape__getVertex_28int_2c_20int_2c_20btVector3__29_20const($7 | 0, (HEAP32[($6 + 52 | 0) >> 2] | 0) + 1 | 0 | 0, HEAP32[($6 + 56 | 0) >> 2] | 0 | 0, $6 + 32 | 0 | 0); + $354 = HEAP32[($6 + 200 | 0) >> 2] | 0; + FUNCTION_TABLE[HEAP32[((HEAP32[$354 >> 2] | 0) + 8 | 0) >> 2] | 0 | 0]($354, $6, HEAP32[($6 + 52 | 0) >> 2] | 0, HEAP32[($6 + 56 | 0) >> 2] | 0); + btHeightfieldTerrainShape__getVertex_28int_2c_20int_2c_20btVector3__29_20const($7 | 0, (HEAP32[($6 + 52 | 0) >> 2] | 0) + 1 | 0 | 0, HEAP32[($6 + 56 | 0) >> 2] | 0 | 0, $6 | 0); + btHeightfieldTerrainShape__getVertex_28int_2c_20int_2c_20btVector3__29_20const($7 | 0, (HEAP32[($6 + 52 | 0) >> 2] | 0) + 1 | 0 | 0, (HEAP32[($6 + 56 | 0) >> 2] | 0) + 1 | 0 | 0, $6 + 32 | 0 | 0); + $374 = HEAP32[($6 + 200 | 0) >> 2] | 0; + FUNCTION_TABLE[HEAP32[((HEAP32[$374 >> 2] | 0) + 8 | 0) >> 2] | 0 | 0]($374, $6, HEAP32[($6 + 52 | 0) >> 2] | 0, HEAP32[($6 + 56 | 0) >> 2] | 0); + } + HEAP32[($6 + 52 | 0) >> 2] = (HEAP32[($6 + 52 | 0) >> 2] | 0) + 1 | 0; + continue label$23; + }; + } + HEAP32[($6 + 56 | 0) >> 2] = (HEAP32[($6 + 56 | 0) >> 2] | 0) + 1 | 0; + continue label$21; + }; + } + __stack_pointer = $6 + 208 | 0; + return; + } + + function btHeightfieldTerrainShape__calculateLocalInertia_28float_2c_20btVector3__29_20const($0, $1, $2) { + $0 = $0 | 0; + $1 = Math_fround($1); + $2 = $2 | 0; + var $5 = 0, $6 = 0; + $5 = __stack_pointer - 32 | 0; + __stack_pointer = $5; + HEAP32[($5 + 28 | 0) >> 2] = $0; + HEAPF32[($5 + 24 | 0) >> 2] = $1; + HEAP32[($5 + 20 | 0) >> 2] = $2; + $6 = HEAP32[($5 + 20 | 0) >> 2] | 0; + HEAPF32[($5 + 16 | 0) >> 2] = Math_fround(0 | 0); + HEAPF32[($5 + 12 | 0) >> 2] = Math_fround(0 | 0); + HEAPF32[($5 + 8 | 0) >> 2] = Math_fround(0 | 0); + btVector3__setValue_28float_20const__2c_20float_20const__2c_20float_20const__29($6 | 0, $5 + 16 | 0 | 0, $5 + 12 | 0 | 0, $5 + 8 | 0 | 0); + __stack_pointer = $5 + 32 | 0; + return; + } + + function btHeightfieldTerrainShape__setLocalScaling_28btVector3_20const__29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var i64toi32_i32$2 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $4 = 0, $8 = 0, $10 = 0, $32 = 0, $42 = 0; + $4 = __stack_pointer - 16 | 0; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + $8 = (HEAP32[($4 + 12 | 0) >> 2] | 0) + 116 | 0; + i64toi32_i32$2 = HEAP32[($4 + 8 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $32 = i64toi32_i32$0; + i64toi32_i32$0 = $8; + HEAP32[i64toi32_i32$0 >> 2] = $32; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $10 = 8; + i64toi32_i32$2 = i64toi32_i32$2 + $10 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $42 = i64toi32_i32$1; + i64toi32_i32$1 = $8 + $10 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $42; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + return; + } + + function btHeightfieldTerrainShape__getLocalScaling_28_29_20const($0) { + $0 = $0 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + return (HEAP32[($3 + 12 | 0) >> 2] | 0) + 116 | 0 | 0; + } + + function btHeightfieldTerrainShape__getName_28_29_20const($0) { + $0 = $0 | 0; + HEAP32[((__stack_pointer - 16 | 0) + 12 | 0) >> 2] = $0; + return 84431 | 0; + } + + function _GLOBAL__sub_I_btHeightfieldTerrainShape_cpp() { + __cxx_global_var_init_41(); + return; + } + + function __cxx_global_var_init_42() { + btInfMaskConverter__btInfMaskConverter_28int_29(114156 | 0, 2139095040 | 0) | 0; + return; + } + + function btOptimizedBvh__btOptimizedBvh_28_29($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + btQuantizedBvh__btQuantizedBvh_28_29($4 | 0) | 0; + HEAP32[$4 >> 2] = 99068 + 8 | 0; + __stack_pointer = $3 + 16 | 0; + return $4 | 0; + } + + function btOptimizedBvh___btOptimizedBvh_28_29($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + btQuantizedBvh___btQuantizedBvh_28_29($4 | 0) | 0; + __stack_pointer = $3 + 16 | 0; + return $4 | 0; + } + + function btOptimizedBvh___btOptimizedBvh_28_29_1($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + FUNCTION_TABLE[910 | 0]($4) | 0; + btOptimizedBvh__operator_20delete_28void__29($4 | 0); + __stack_pointer = $3 + 16 | 0; + return; + } + + function btOptimizedBvh__operator_20delete_28void__29($0) { + $0 = $0 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + btAlignedFreeInternal_28void__29(HEAP32[($3 + 12 | 0) >> 2] | 0 | 0); + __stack_pointer = $3 + 16 | 0; + return; + } + + function btOptimizedBvh__build_28btStridingMeshInterface__2c_20bool_2c_20btVector3_20const__2c_20btVector3_20const__29($0, $1, $2, $3, $4) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + $4 = $4 | 0; + var $7 = 0, i64toi32_i32$1 = 0, $9 = 0, i64toi32_i32$0 = 0, $109 = 0, $25 = 0, $45 = 0, $87 = 0, $164 = 0, $42 = 0, $106 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $7 = __stack_pointer - 224 | 0; + __stack_pointer = $7; + HEAP32[($7 + 220 | 0) >> 2] = $0; + HEAP32[($7 + 216 | 0) >> 2] = $1; + HEAP8[($7 + 215 | 0) >> 0] = $2; + HEAP32[($7 + 208 | 0) >> 2] = $3; + HEAP32[($7 + 204 | 0) >> 2] = $4; + $9 = HEAP32[($7 + 220 | 0) >> 2] | 0; + HEAP8[($9 + 60 | 0) >> 0] = (HEAPU8[($7 + 215 | 0) >> 0] | 0) & 1 | 0; + HEAP32[($7 + 200 | 0) >> 2] = 0; + label$1 : { + label$2 : { + if (!((HEAPU8[($9 + 60 | 0) >> 0] | 0) & 1 | 0)) { + break label$2 + } + btQuantizedBvh__setQuantizationValues_28btVector3_20const__2c_20btVector3_20const__2c_20float_29($9 | 0, HEAP32[($7 + 208 | 0) >> 2] | 0 | 0, HEAP32[($7 + 204 | 0) >> 2] | 0 | 0, Math_fround(Math_fround(1.0))); + btOptimizedBvh__build_28btStridingMeshInterface__2c_20bool_2c_20btVector3_20const__2c_20btVector3_20const__29__QuantizedNodeTriangleCallback__QuantizedNodeTriangleCallback_28btAlignedObjectArray_btQuantizedBvhNode___2c_20btQuantizedBvh_20const__29($7 + 188 | 0 | 0, $9 + 104 | 0 | 0, $9 | 0) | 0; + $25 = HEAP32[($7 + 216 | 0) >> 2] | 0; + FUNCTION_TABLE[HEAP32[((HEAP32[$25 >> 2] | 0) + 8 | 0) >> 2] | 0 | 0]($25, $7 + 188 | 0, $9 + 4 | 0, $9 + 20 | 0); + (wasm2js_i32$0 = $7, wasm2js_i32$1 = btAlignedObjectArray_btQuantizedBvhNode___size_28_29_20const($9 + 104 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 200 | 0) >> 2] = wasm2js_i32$1; + $42 = (HEAP32[($7 + 200 | 0) >> 2] | 0) << 1 | 0; + i64toi32_i32$0 = 0; + $45 = 0; + i64toi32_i32$1 = $7 + 176 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $45; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $7; + HEAP32[($7 + 168 | 0) >> 2] = $45; + HEAP32[($7 + 172 | 0) >> 2] = i64toi32_i32$0; + btAlignedObjectArray_btQuantizedBvhNode___resize_28int_2c_20btQuantizedBvhNode_20const__29($9 + 124 | 0 | 0, $42 | 0, $7 + 168 | 0 | 0); + btOptimizedBvh__build_28btStridingMeshInterface__2c_20bool_2c_20btVector3_20const__2c_20btVector3_20const__29__QuantizedNodeTriangleCallback___QuantizedNodeTriangleCallback_28_29($7 + 188 | 0 | 0) | 0; + break label$1; + } + btOptimizedBvh__build_28btStridingMeshInterface__2c_20bool_2c_20btVector3_20const__2c_20btVector3_20const__29__NodeTriangleCallback__NodeTriangleCallback_28btAlignedObjectArray_btOptimizedBvhNode___29($7 + 160 | 0 | 0, $9 + 64 | 0 | 0) | 0; + HEAPF32[($7 + 140 | 0) >> 2] = Math_fround(-999999984306749440.0); + HEAPF32[($7 + 136 | 0) >> 2] = Math_fround(-999999984306749440.0); + HEAPF32[($7 + 132 | 0) >> 2] = Math_fround(-999999984306749440.0); + btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($7 + 144 | 0 | 0, $7 + 140 | 0 | 0, $7 + 136 | 0 | 0, $7 + 132 | 0 | 0) | 0; + HEAPF32[($7 + 112 | 0) >> 2] = Math_fround(999999984306749440.0); + HEAPF32[($7 + 108 | 0) >> 2] = Math_fround(999999984306749440.0); + HEAPF32[($7 + 104 | 0) >> 2] = Math_fround(999999984306749440.0); + btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($7 + 116 | 0 | 0, $7 + 112 | 0 | 0, $7 + 108 | 0 | 0, $7 + 104 | 0 | 0) | 0; + $87 = HEAP32[($7 + 216 | 0) >> 2] | 0; + FUNCTION_TABLE[HEAP32[((HEAP32[$87 >> 2] | 0) + 8 | 0) >> 2] | 0 | 0]($87, $7 + 160 | 0, $7 + 144 | 0, $7 + 116 | 0); + (wasm2js_i32$0 = $7, wasm2js_i32$1 = btAlignedObjectArray_btOptimizedBvhNode___size_28_29_20const($9 + 64 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 200 | 0) >> 2] = wasm2js_i32$1; + $106 = (HEAP32[($7 + 200 | 0) >> 2] | 0) << 1 | 0; + i64toi32_i32$0 = 0; + $109 = 0; + i64toi32_i32$1 = $7 + 96 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $109; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $7 + 88 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $109; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $7 + 80 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $109; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $7 + 72 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $109; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $7 + 64 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $109; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $7 + 56 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $109; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $7 + 48 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $109; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $7; + HEAP32[($7 + 40 | 0) >> 2] = $109; + HEAP32[($7 + 44 | 0) >> 2] = i64toi32_i32$0; + btOptimizedBvhNode__btOptimizedBvhNode_28_29($7 + 40 | 0 | 0) | 0; + btAlignedObjectArray_btOptimizedBvhNode___resize_28int_2c_20btOptimizedBvhNode_20const__29($9 + 84 | 0 | 0, $106 | 0, $7 + 40 | 0 | 0); + btOptimizedBvh__build_28btStridingMeshInterface__2c_20bool_2c_20btVector3_20const__2c_20btVector3_20const__29__NodeTriangleCallback___NodeTriangleCallback_28_29($7 + 160 | 0 | 0) | 0; + } + HEAP32[($9 + 56 | 0) >> 2] = 0; + btQuantizedBvh__buildTree_28int_2c_20int_29($9 | 0, 0 | 0, HEAP32[($7 + 200 | 0) >> 2] | 0 | 0); + label$3 : { + if (!((HEAPU8[($9 + 60 | 0) >> 0] | 0) & 1 | 0)) { + break label$3 + } + if (btAlignedObjectArray_btBvhSubtreeInfo___size_28_29_20const($9 + 148 | 0 | 0) | 0) { + break label$3 + } + btBvhSubtreeInfo__btBvhSubtreeInfo_28_29($7 + 4 | 0 | 0) | 0; + (wasm2js_i32$0 = $7, wasm2js_i32$1 = btAlignedObjectArray_btBvhSubtreeInfo___expand_28btBvhSubtreeInfo_20const__29($9 + 148 | 0 | 0, $7 + 4 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 36 | 0) >> 2] = wasm2js_i32$1; + btBvhSubtreeInfo__setAabbFromQuantizeNode_28btQuantizedBvhNode_20const__29(HEAP32[($7 + 36 | 0) >> 2] | 0 | 0, btAlignedObjectArray_btQuantizedBvhNode___operator_5b_5d_28int_29($9 + 124 | 0 | 0, 0 | 0) | 0 | 0); + HEAP32[((HEAP32[($7 + 36 | 0) >> 2] | 0) + 12 | 0) >> 2] = 0; + label$4 : { + label$5 : { + if (!((btQuantizedBvhNode__isLeafNode_28_29_20const(btAlignedObjectArray_btQuantizedBvhNode___operator_5b_5d_28int_29($9 + 124 | 0 | 0, 0 | 0) | 0 | 0) | 0) & 1 | 0)) { + break label$5 + } + $164 = 1; + break label$4; + } + $164 = btQuantizedBvhNode__getEscapeIndex_28_29_20const(btAlignedObjectArray_btQuantizedBvhNode___operator_5b_5d_28int_29($9 + 124 | 0 | 0, 0 | 0) | 0 | 0) | 0; + } + HEAP32[((HEAP32[($7 + 36 | 0) >> 2] | 0) + 16 | 0) >> 2] = $164; + } + (wasm2js_i32$0 = $9, wasm2js_i32$1 = btAlignedObjectArray_btBvhSubtreeInfo___size_28_29_20const($9 + 148 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 168 | 0) >> 2] = wasm2js_i32$1; + btAlignedObjectArray_btQuantizedBvhNode___clear_28_29($9 + 104 | 0 | 0); + btAlignedObjectArray_btOptimizedBvhNode___clear_28_29($9 + 64 | 0 | 0); + __stack_pointer = $7 + 224 | 0; + return; + } + + function btOptimizedBvh__build_28btStridingMeshInterface__2c_20bool_2c_20btVector3_20const__2c_20btVector3_20const__29__QuantizedNodeTriangleCallback__QuantizedNodeTriangleCallback_28btAlignedObjectArray_btQuantizedBvhNode___2c_20btQuantizedBvh_20const__29($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $5 = 0, $6 = 0; + $5 = __stack_pointer - 16 | 0; + __stack_pointer = $5; + HEAP32[($5 + 12 | 0) >> 2] = $0; + HEAP32[($5 + 8 | 0) >> 2] = $1; + HEAP32[($5 + 4 | 0) >> 2] = $2; + $6 = HEAP32[($5 + 12 | 0) >> 2] | 0; + btInternalTriangleIndexCallback__btInternalTriangleIndexCallback_28_29($6 | 0) | 0; + HEAP32[$6 >> 2] = 99140 + 8 | 0; + HEAP32[($6 + 4 | 0) >> 2] = HEAP32[($5 + 8 | 0) >> 2] | 0; + HEAP32[($6 + 8 | 0) >> 2] = HEAP32[($5 + 4 | 0) >> 2] | 0; + __stack_pointer = $5 + 16 | 0; + return $6 | 0; + } + + function btOptimizedBvh__build_28btStridingMeshInterface__2c_20bool_2c_20btVector3_20const__2c_20btVector3_20const__29__QuantizedNodeTriangleCallback___QuantizedNodeTriangleCallback_28_29($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + btInternalTriangleIndexCallback___btInternalTriangleIndexCallback_28_29($4 | 0) | 0; + __stack_pointer = $3 + 16 | 0; + return $4 | 0; + } + + function btOptimizedBvh__build_28btStridingMeshInterface__2c_20bool_2c_20btVector3_20const__2c_20btVector3_20const__29__NodeTriangleCallback__NodeTriangleCallback_28btAlignedObjectArray_btOptimizedBvhNode___29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, $5 = 0; + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; + btInternalTriangleIndexCallback__btInternalTriangleIndexCallback_28_29($5 | 0) | 0; + HEAP32[$5 >> 2] = 99272 + 8 | 0; + HEAP32[($5 + 4 | 0) >> 2] = HEAP32[($4 + 8 | 0) >> 2] | 0; + __stack_pointer = $4 + 16 | 0; + return $5 | 0; + } + + function btOptimizedBvh__build_28btStridingMeshInterface__2c_20bool_2c_20btVector3_20const__2c_20btVector3_20const__29__NodeTriangleCallback___NodeTriangleCallback_28_29($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + btInternalTriangleIndexCallback___btInternalTriangleIndexCallback_28_29($4 | 0) | 0; + __stack_pointer = $3 + 16 | 0; + return $4 | 0; + } + + function btOptimizedBvh__serializeInPlace_28void__2c_20unsigned_20int_2c_20bool_29_20const($0, $1, $2, $3) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + var $6 = 0, $16 = 0; + $6 = __stack_pointer - 16 | 0; + __stack_pointer = $6; + HEAP32[($6 + 12 | 0) >> 2] = $0; + HEAP32[($6 + 8 | 0) >> 2] = $1; + HEAP32[($6 + 4 | 0) >> 2] = $2; + HEAP8[($6 + 3 | 0) >> 0] = $3; + $16 = (btQuantizedBvh__serialize_28void__2c_20unsigned_20int_2c_20bool_29_20const(HEAP32[($6 + 12 | 0) >> 2] | 0 | 0, HEAP32[($6 + 8 | 0) >> 2] | 0 | 0, HEAP32[($6 + 4 | 0) >> 2] | 0 | 0, (HEAPU8[($6 + 3 | 0) >> 0] | 0) & 1 | 0 | 0) | 0) & 1 | 0; + __stack_pointer = $6 + 16 | 0; + return $16 | 0; + } + + function btOptimizedBvh__build_28btStridingMeshInterface__2c_20bool_2c_20btVector3_20const__2c_20btVector3_20const__29__QuantizedNodeTriangleCallback___QuantizedNodeTriangleCallback_28_29_1($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + btOptimizedBvh__build_28btStridingMeshInterface__2c_20bool_2c_20btVector3_20const__2c_20btVector3_20const__29__QuantizedNodeTriangleCallback___QuantizedNodeTriangleCallback_28_29($4 | 0) | 0; + operator_20delete_28void__29($4 | 0); + __stack_pointer = $3 + 16 | 0; + return; + } + + function btOptimizedBvh__build_28btStridingMeshInterface__2c_20bool_2c_20btVector3_20const__2c_20btVector3_20const__29__QuantizedNodeTriangleCallback__internalProcessTriangleIndex_28btVector3__2c_20int_2c_20int_29($0, $1, $2, $3) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + var $6 = 0, $7 = 0; + $6 = __stack_pointer - 96 | 0; + __stack_pointer = $6; + HEAP32[($6 + 92 | 0) >> 2] = $0; + HEAP32[($6 + 88 | 0) >> 2] = $1; + HEAP32[($6 + 84 | 0) >> 2] = $2; + HEAP32[($6 + 80 | 0) >> 2] = $3; + $7 = HEAP32[($6 + 92 | 0) >> 2] | 0; + label$1 : { + if ((HEAP32[($6 + 84 | 0) >> 2] | 0 | 0) < (1024 | 0) & 1 | 0) { + break label$1 + } + __assert_fail(86395 | 0, 73758 | 0, 100 | 0, 66568 | 0); + wasm2js_trap(); + } + label$2 : { + if ((HEAP32[($6 + 80 | 0) >> 2] | 0 | 0) < (2097152 | 0) & 1 | 0) { + break label$2 + } + __assert_fail(86842 | 0, 73758 | 0, 101 | 0, 66568 | 0); + wasm2js_trap(); + } + label$3 : { + if ((HEAP32[($6 + 80 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0) { + break label$3 + } + __assert_fail(85823 | 0, 73758 | 0, 103 | 0, 66568 | 0); + wasm2js_trap(); + } + btVector3__btVector3_28_29($6 + 48 | 0 | 0) | 0; + btVector3__btVector3_28_29($6 + 32 | 0 | 0) | 0; + HEAPF32[($6 + 28 | 0) >> 2] = Math_fround(999999984306749440.0); + HEAPF32[($6 + 24 | 0) >> 2] = Math_fround(999999984306749440.0); + HEAPF32[($6 + 20 | 0) >> 2] = Math_fround(999999984306749440.0); + btVector3__setValue_28float_20const__2c_20float_20const__2c_20float_20const__29($6 + 48 | 0 | 0, $6 + 28 | 0 | 0, $6 + 24 | 0 | 0, $6 + 20 | 0 | 0); + HEAPF32[($6 + 16 | 0) >> 2] = Math_fround(-999999984306749440.0); + HEAPF32[($6 + 12 | 0) >> 2] = Math_fround(-999999984306749440.0); + HEAPF32[($6 + 8 | 0) >> 2] = Math_fround(-999999984306749440.0); + btVector3__setValue_28float_20const__2c_20float_20const__2c_20float_20const__29($6 + 32 | 0 | 0, $6 + 16 | 0 | 0, $6 + 12 | 0 | 0, $6 + 8 | 0 | 0); + btVector3__setMin_28btVector3_20const__29($6 + 48 | 0 | 0, HEAP32[($6 + 88 | 0) >> 2] | 0 | 0); + btVector3__setMax_28btVector3_20const__29($6 + 32 | 0 | 0, HEAP32[($6 + 88 | 0) >> 2] | 0 | 0); + btVector3__setMin_28btVector3_20const__29($6 + 48 | 0 | 0, (HEAP32[($6 + 88 | 0) >> 2] | 0) + 16 | 0 | 0); + btVector3__setMax_28btVector3_20const__29($6 + 32 | 0 | 0, (HEAP32[($6 + 88 | 0) >> 2] | 0) + 16 | 0 | 0); + btVector3__setMin_28btVector3_20const__29($6 + 48 | 0 | 0, (HEAP32[($6 + 88 | 0) >> 2] | 0) + 32 | 0 | 0); + btVector3__setMax_28btVector3_20const__29($6 + 32 | 0 | 0, (HEAP32[($6 + 88 | 0) >> 2] | 0) + 32 | 0 | 0); + HEAPF32[($6 + 4 | 0) >> 2] = Math_fround(2.0000000949949026e-03); + HEAPF32[$6 >> 2] = Math_fround(1.0000000474974513e-03); + label$4 : { + if (!(Math_fround(Math_fround(HEAPF32[(btVector3__x_28_29_20const($6 + 32 | 0 | 0) | 0) >> 2]) - Math_fround(HEAPF32[(btVector3__x_28_29_20const($6 + 48 | 0 | 0) | 0) >> 2])) < Math_fround(2.0000000949949026e-03) & 1 | 0)) { + break label$4 + } + btVector3__setX_28float_29($6 + 32 | 0 | 0, Math_fround(Math_fround(Math_fround(HEAPF32[(btVector3__x_28_29_20const($6 + 32 | 0 | 0) | 0) >> 2]) + Math_fround(1.0000000474974513e-03)))); + btVector3__setX_28float_29($6 + 48 | 0 | 0, Math_fround(Math_fround(Math_fround(HEAPF32[(btVector3__x_28_29_20const($6 + 48 | 0 | 0) | 0) >> 2]) - Math_fround(1.0000000474974513e-03)))); + } + label$5 : { + if (!(Math_fround(Math_fround(HEAPF32[(btVector3__y_28_29_20const($6 + 32 | 0 | 0) | 0) >> 2]) - Math_fround(HEAPF32[(btVector3__y_28_29_20const($6 + 48 | 0 | 0) | 0) >> 2])) < Math_fround(2.0000000949949026e-03) & 1 | 0)) { + break label$5 + } + btVector3__setY_28float_29($6 + 32 | 0 | 0, Math_fround(Math_fround(Math_fround(HEAPF32[(btVector3__y_28_29_20const($6 + 32 | 0 | 0) | 0) >> 2]) + Math_fround(1.0000000474974513e-03)))); + btVector3__setY_28float_29($6 + 48 | 0 | 0, Math_fround(Math_fround(Math_fround(HEAPF32[(btVector3__y_28_29_20const($6 + 48 | 0 | 0) | 0) >> 2]) - Math_fround(1.0000000474974513e-03)))); + } + label$6 : { + if (!(Math_fround(Math_fround(HEAPF32[(btVector3__z_28_29_20const($6 + 32 | 0 | 0) | 0) >> 2]) - Math_fround(HEAPF32[(btVector3__z_28_29_20const($6 + 48 | 0 | 0) | 0) >> 2])) < Math_fround(2.0000000949949026e-03) & 1 | 0)) { + break label$6 + } + btVector3__setZ_28float_29($6 + 32 | 0 | 0, Math_fround(Math_fround(Math_fround(HEAPF32[(btVector3__z_28_29_20const($6 + 32 | 0 | 0) | 0) >> 2]) + Math_fround(1.0000000474974513e-03)))); + btVector3__setZ_28float_29($6 + 48 | 0 | 0, Math_fround(Math_fround(Math_fround(HEAPF32[(btVector3__z_28_29_20const($6 + 48 | 0 | 0) | 0) >> 2]) - Math_fround(1.0000000474974513e-03)))); + } + btQuantizedBvh__quantize_28unsigned_20short__2c_20btVector3_20const__2c_20int_29_20const(HEAP32[($7 + 8 | 0) >> 2] | 0 | 0, $6 + 64 | 0 | 0, $6 + 48 | 0 | 0, 0 | 0); + btQuantizedBvh__quantize_28unsigned_20short__2c_20btVector3_20const__2c_20int_29_20const(HEAP32[($7 + 8 | 0) >> 2] | 0 | 0, ($6 + 64 | 0) + 6 | 0 | 0, $6 + 32 | 0 | 0, 1 | 0); + HEAP32[($6 + 76 | 0) >> 2] = (HEAP32[($6 + 84 | 0) >> 2] | 0) << 21 | 0 | (HEAP32[($6 + 80 | 0) >> 2] | 0) | 0; + btAlignedObjectArray_btQuantizedBvhNode___push_back_28btQuantizedBvhNode_20const__29(HEAP32[($7 + 4 | 0) >> 2] | 0 | 0, $6 + 64 | 0 | 0); + __stack_pointer = $6 + 96 | 0; + return; + } + + function btAlignedObjectArray_btQuantizedBvhNode___push_back_28btQuantizedBvhNode_20const__29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $5 = 0, $4 = 0, i64toi32_i32$2 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $22 = 0, $25 = 0, $88 = 0, $98 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; + (wasm2js_i32$0 = $4, wasm2js_i32$1 = btAlignedObjectArray_btQuantizedBvhNode___size_28_29_20const($5 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + if (!((HEAP32[($4 + 4 | 0) >> 2] | 0 | 0) == (btAlignedObjectArray_btQuantizedBvhNode___capacity_28_29_20const($5 | 0) | 0 | 0) & 1 | 0)) { + break label$1 + } + btAlignedObjectArray_btQuantizedBvhNode___reserve_28int_29($5 | 0, btAlignedObjectArray_btQuantizedBvhNode___allocSize_28int_29($5 | 0, btAlignedObjectArray_btQuantizedBvhNode___size_28_29_20const($5 | 0) | 0 | 0) | 0 | 0); + } + $22 = btQuantizedBvhNode__operator_20new_28unsigned_20long_2c_20void__29(16 | 0, (HEAP32[($5 + 12 | 0) >> 2] | 0) + ((HEAP32[($5 + 4 | 0) >> 2] | 0) << 4 | 0) | 0 | 0) | 0; + i64toi32_i32$2 = HEAP32[($4 + 8 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $88 = i64toi32_i32$0; + i64toi32_i32$0 = $22; + HEAP32[i64toi32_i32$0 >> 2] = $88; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $25 = 8; + i64toi32_i32$2 = i64toi32_i32$2 + $25 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $98 = i64toi32_i32$1; + i64toi32_i32$1 = $22 + $25 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $98; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($5 + 4 | 0) >> 2] = (HEAP32[($5 + 4 | 0) >> 2] | 0) + 1 | 0; + __stack_pointer = $4 + 16 | 0; + return; + } + + function btAlignedObjectArray_btQuantizedBvhNode___allocSize_28int_29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, $9 = 0; + $4 = __stack_pointer - 16 | 0; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + label$1 : { + label$2 : { + if (!(HEAP32[($4 + 8 | 0) >> 2] | 0)) { + break label$2 + } + $9 = (HEAP32[($4 + 8 | 0) >> 2] | 0) << 1 | 0; + break label$1; + } + $9 = 1; + } + return $9 | 0; + } + + function btOptimizedBvh__build_28btStridingMeshInterface__2c_20bool_2c_20btVector3_20const__2c_20btVector3_20const__29__NodeTriangleCallback___NodeTriangleCallback_28_29_1($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + btOptimizedBvh__build_28btStridingMeshInterface__2c_20bool_2c_20btVector3_20const__2c_20btVector3_20const__29__NodeTriangleCallback___NodeTriangleCallback_28_29($4 | 0) | 0; + operator_20delete_28void__29($4 | 0); + __stack_pointer = $3 + 16 | 0; + return; + } + + function btOptimizedBvh__build_28btStridingMeshInterface__2c_20bool_2c_20btVector3_20const__2c_20btVector3_20const__29__NodeTriangleCallback__internalProcessTriangleIndex_28btVector3__2c_20int_2c_20int_29($0, $1, $2, $3) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + var $6 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, $81 = 0, $83 = 0, $93 = 0, $95 = 0, $7 = 0, $262 = 0, $275 = 0, $286 = 0, $299 = 0; + $6 = __stack_pointer - 144 | 0; + __stack_pointer = $6; + HEAP32[($6 + 140 | 0) >> 2] = $0; + HEAP32[($6 + 136 | 0) >> 2] = $1; + HEAP32[($6 + 132 | 0) >> 2] = $2; + HEAP32[($6 + 128 | 0) >> 2] = $3; + $7 = HEAP32[($6 + 140 | 0) >> 2] | 0; + btOptimizedBvhNode__btOptimizedBvhNode_28_29($6 + 64 | 0 | 0) | 0; + btVector3__btVector3_28_29($6 + 48 | 0 | 0) | 0; + btVector3__btVector3_28_29($6 + 32 | 0 | 0) | 0; + HEAPF32[($6 + 28 | 0) >> 2] = Math_fround(999999984306749440.0); + HEAPF32[($6 + 24 | 0) >> 2] = Math_fround(999999984306749440.0); + HEAPF32[($6 + 20 | 0) >> 2] = Math_fround(999999984306749440.0); + btVector3__setValue_28float_20const__2c_20float_20const__2c_20float_20const__29($6 + 48 | 0 | 0, $6 + 28 | 0 | 0, $6 + 24 | 0 | 0, $6 + 20 | 0 | 0); + HEAPF32[($6 + 16 | 0) >> 2] = Math_fround(-999999984306749440.0); + HEAPF32[($6 + 12 | 0) >> 2] = Math_fround(-999999984306749440.0); + HEAPF32[($6 + 8 | 0) >> 2] = Math_fround(-999999984306749440.0); + btVector3__setValue_28float_20const__2c_20float_20const__2c_20float_20const__29($6 + 32 | 0 | 0, $6 + 16 | 0 | 0, $6 + 12 | 0 | 0, $6 + 8 | 0 | 0); + btVector3__setMin_28btVector3_20const__29($6 + 48 | 0 | 0, HEAP32[($6 + 136 | 0) >> 2] | 0 | 0); + btVector3__setMax_28btVector3_20const__29($6 + 32 | 0 | 0, HEAP32[($6 + 136 | 0) >> 2] | 0 | 0); + btVector3__setMin_28btVector3_20const__29($6 + 48 | 0 | 0, (HEAP32[($6 + 136 | 0) >> 2] | 0) + 16 | 0 | 0); + btVector3__setMax_28btVector3_20const__29($6 + 32 | 0 | 0, (HEAP32[($6 + 136 | 0) >> 2] | 0) + 16 | 0 | 0); + btVector3__setMin_28btVector3_20const__29($6 + 48 | 0 | 0, (HEAP32[($6 + 136 | 0) >> 2] | 0) + 32 | 0 | 0); + btVector3__setMax_28btVector3_20const__29($6 + 32 | 0 | 0, (HEAP32[($6 + 136 | 0) >> 2] | 0) + 32 | 0 | 0); + $81 = $6 + 64 | 0; + i64toi32_i32$2 = $6; + i64toi32_i32$0 = HEAP32[($6 + 48 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($6 + 52 | 0) >> 2] | 0; + $262 = i64toi32_i32$0; + i64toi32_i32$0 = $81; + HEAP32[i64toi32_i32$0 >> 2] = $262; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $83 = 8; + i64toi32_i32$2 = ($6 + 48 | 0) + $83 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $275 = i64toi32_i32$1; + i64toi32_i32$1 = $81 + $83 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $275; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + $93 = ($6 + 64 | 0) + 16 | 0; + i64toi32_i32$2 = $6; + i64toi32_i32$0 = HEAP32[($6 + 32 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($6 + 36 | 0) >> 2] | 0; + $286 = i64toi32_i32$0; + i64toi32_i32$0 = $93; + HEAP32[i64toi32_i32$0 >> 2] = $286; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $95 = 8; + i64toi32_i32$2 = ($6 + 32 | 0) + $95 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $299 = i64toi32_i32$1; + i64toi32_i32$1 = $93 + $95 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $299; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($6 + 96 | 0) >> 2] = -1; + HEAP32[($6 + 100 | 0) >> 2] = HEAP32[($6 + 132 | 0) >> 2] | 0; + HEAP32[($6 + 104 | 0) >> 2] = HEAP32[($6 + 128 | 0) >> 2] | 0; + btAlignedObjectArray_btOptimizedBvhNode___push_back_28btOptimizedBvhNode_20const__29(HEAP32[($7 + 4 | 0) >> 2] | 0 | 0, $6 + 64 | 0 | 0); + __stack_pointer = $6 + 144 | 0; + return; + } + + function btAlignedObjectArray_btOptimizedBvhNode___push_back_28btOptimizedBvhNode_20const__29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, $5 = 0, $4 = 0, $22 = 0, $23 = 0, $25 = 0, $29 = 0, $33 = 0, $37 = 0, $41 = 0, $45 = 0, $49 = 0, $112 = 0, $122 = 0, $132 = 0, $142 = 0, $152 = 0, $162 = 0, $172 = 0, $182 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; + (wasm2js_i32$0 = $4, wasm2js_i32$1 = btAlignedObjectArray_btOptimizedBvhNode___size_28_29_20const($5 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + if (!((HEAP32[($4 + 4 | 0) >> 2] | 0 | 0) == (btAlignedObjectArray_btOptimizedBvhNode___capacity_28_29_20const($5 | 0) | 0 | 0) & 1 | 0)) { + break label$1 + } + btAlignedObjectArray_btOptimizedBvhNode___reserve_28int_29($5 | 0, btAlignedObjectArray_btOptimizedBvhNode___allocSize_28int_29($5 | 0, btAlignedObjectArray_btOptimizedBvhNode___size_28_29_20const($5 | 0) | 0 | 0) | 0 | 0); + } + $22 = btOptimizedBvhNode__operator_20new_28unsigned_20long_2c_20void__29(64 | 0, (HEAP32[($5 + 12 | 0) >> 2] | 0) + ((HEAP32[($5 + 4 | 0) >> 2] | 0) << 6 | 0) | 0 | 0) | 0; + $23 = HEAP32[($4 + 8 | 0) >> 2] | 0; + i64toi32_i32$2 = $23; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $112 = i64toi32_i32$0; + i64toi32_i32$0 = $22; + HEAP32[i64toi32_i32$0 >> 2] = $112; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $25 = 56; + i64toi32_i32$2 = i64toi32_i32$2 + $25 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $122 = i64toi32_i32$1; + i64toi32_i32$1 = $22 + $25 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $122; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + $29 = 48; + i64toi32_i32$2 = $23 + $29 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $132 = i64toi32_i32$0; + i64toi32_i32$0 = $22 + $29 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $132; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $33 = 40; + i64toi32_i32$2 = $23 + $33 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $142 = i64toi32_i32$1; + i64toi32_i32$1 = $22 + $33 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $142; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + $37 = 32; + i64toi32_i32$2 = $23 + $37 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $152 = i64toi32_i32$0; + i64toi32_i32$0 = $22 + $37 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $152; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $41 = 24; + i64toi32_i32$2 = $23 + $41 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $162 = i64toi32_i32$1; + i64toi32_i32$1 = $22 + $41 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $162; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + $45 = 16; + i64toi32_i32$2 = $23 + $45 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $172 = i64toi32_i32$0; + i64toi32_i32$0 = $22 + $45 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $172; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $49 = 8; + i64toi32_i32$2 = $23 + $49 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $182 = i64toi32_i32$1; + i64toi32_i32$1 = $22 + $49 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $182; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($5 + 4 | 0) >> 2] = (HEAP32[($5 + 4 | 0) >> 2] | 0) + 1 | 0; + __stack_pointer = $4 + 16 | 0; + return; + } + + function btAlignedObjectArray_btOptimizedBvhNode___allocSize_28int_29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, $9 = 0; + $4 = __stack_pointer - 16 | 0; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + label$1 : { + label$2 : { + if (!(HEAP32[($4 + 8 | 0) >> 2] | 0)) { + break label$2 + } + $9 = (HEAP32[($4 + 8 | 0) >> 2] | 0) << 1 | 0; + break label$1; + } + $9 = 1; + } + return $9 | 0; + } + + function _GLOBAL__sub_I_btOptimizedBvh_cpp() { + __cxx_global_var_init_42(); + return; + } + + function __cxx_global_var_init_43() { + btInfMaskConverter__btInfMaskConverter_28int_29(114160 | 0, 2139095040 | 0) | 0; + return; + } + + function btConvexPolyhedron__btConvexPolyhedron_28_29($0) { + $0 = $0 | 0; + var $4 = 0, $3 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + HEAP32[$4 >> 2] = 99396 + 8 | 0; + btAlignedObjectArray_btVector3___btAlignedObjectArray_28_29($4 + 4 | 0 | 0) | 0; + btAlignedObjectArray_btFace___btAlignedObjectArray_28_29($4 + 24 | 0 | 0) | 0; + btAlignedObjectArray_btVector3___btAlignedObjectArray_28_29($4 + 44 | 0 | 0) | 0; + btVector3__btVector3_28_29($4 + 64 | 0 | 0) | 0; + btVector3__btVector3_28_29($4 + 80 | 0 | 0) | 0; + btVector3__btVector3_28_29($4 + 100 | 0 | 0) | 0; + btVector3__btVector3_28_29($4 + 116 | 0 | 0) | 0; + __stack_pointer = $3 + 16 | 0; + return $4 | 0; + } + + function btConvexPolyhedron___btConvexPolyhedron_28_29($0) { + $0 = $0 | 0; + var $4 = 0, $3 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + HEAP32[$4 >> 2] = 99396 + 8 | 0; + btAlignedObjectArray_btVector3____btAlignedObjectArray_28_29($4 + 44 | 0 | 0) | 0; + btAlignedObjectArray_btFace____btAlignedObjectArray_28_29($4 + 24 | 0 | 0) | 0; + btAlignedObjectArray_btVector3____btAlignedObjectArray_28_29($4 + 4 | 0 | 0) | 0; + __stack_pointer = $3 + 16 | 0; + return $4 | 0; + } + + function btConvexPolyhedron___btConvexPolyhedron_28_29_1($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + FUNCTION_TABLE[919 | 0]($4) | 0; + btConvexPolyhedron__operator_20delete_28void__29($4 | 0); + __stack_pointer = $3 + 16 | 0; + return; + } + + function btConvexPolyhedron__operator_20delete_28void__29($0) { + $0 = $0 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + btAlignedFreeInternal_28void__29(HEAP32[($3 + 12 | 0) >> 2] | 0 | 0); + __stack_pointer = $3 + 16 | 0; + return; + } + + function btConvexPolyhedron__testContainment_28_29_20const($0) { + $0 = $0 | 0; + var $3 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $4 = 0, i64toi32_i32$2 = 0, $41 = 0, $84 = 0, $127 = 0, $173 = 0, $218 = 0, $266 = 0, $314 = 0, $365 = 0, $536 = 0, $540 = 0, $61 = 0, $66 = 0, $619 = 0, $623 = 0, $104 = 0, $702 = 0, $706 = 0, $147 = 0, $792 = 0, $796 = 0, $878 = 0, $882 = 0, $245 = 0, $971 = 0, $975 = 0, $1064 = 0, $1068 = 0, $1164 = 0, $1168 = 0, $442 = 0, wasm2js_i32$0 = 0, wasm2js_f32$0 = Math_fround(0); + $3 = __stack_pointer - 368 | 0; + __stack_pointer = $3; + HEAP32[($3 + 360 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 360 | 0) >> 2] | 0; + HEAP32[($3 + 356 | 0) >> 2] = 0; + label$1 : { + label$2 : { + label$3 : while (1) { + if (!((HEAP32[($3 + 356 | 0) >> 2] | 0 | 0) < (8 | 0) & 1 | 0)) { + break label$2 + } + btVector3__btVector3_28_29($3 + 336 | 0 | 0) | 0; + label$4 : { + label$5 : { + if (HEAP32[($3 + 356 | 0) >> 2] | 0) { + break label$5 + } + btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($3 + 304 | 0 | 0, btVector3__operator_20float_20const__28_29_20const($4 + 80 | 0 | 0) | 0 | 0, (btVector3__operator_20float_20const__28_29_20const($4 + 80 | 0 | 0) | 0) + 4 | 0 | 0, (btVector3__operator_20float_20const__28_29_20const($4 + 80 | 0 | 0) | 0) + 8 | 0 | 0) | 0; + operator__28btVector3_20const__2c_20btVector3_20const__29_2($3 + 320 | 0 | 0, $4 + 64 | 0 | 0, $3 + 304 | 0 | 0); + $41 = 8; + i64toi32_i32$2 = ($3 + 320 | 0) + $41 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $536 = i64toi32_i32$0; + i64toi32_i32$0 = ($3 + 336 | 0) + $41 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $536; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$2 = $3; + i64toi32_i32$1 = HEAP32[($3 + 320 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($3 + 324 | 0) >> 2] | 0; + $540 = i64toi32_i32$1; + i64toi32_i32$1 = $3; + HEAP32[($3 + 336 | 0) >> 2] = $540; + HEAP32[($3 + 340 | 0) >> 2] = i64toi32_i32$0; + break label$4; + } + label$6 : { + label$7 : { + if (!((HEAP32[($3 + 356 | 0) >> 2] | 0 | 0) == (1 | 0) & 1 | 0)) { + break label$7 + } + $61 = btVector3__operator_20float_20const__28_29_20const($4 + 80 | 0 | 0) | 0; + $66 = (btVector3__operator_20float_20const__28_29_20const($4 + 80 | 0 | 0) | 0) + 4 | 0; + (wasm2js_i32$0 = $3, wasm2js_f32$0 = Math_fround(-Math_fround(HEAPF32[((btVector3__operator_20float_20const__28_29_20const($4 + 80 | 0 | 0) | 0) + 8 | 0) >> 2]))), HEAPF32[(wasm2js_i32$0 + 268 | 0) >> 2] = wasm2js_f32$0; + btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($3 + 272 | 0 | 0, $61 | 0, $66 | 0, $3 + 268 | 0 | 0) | 0; + operator__28btVector3_20const__2c_20btVector3_20const__29_2($3 + 288 | 0 | 0, $4 + 64 | 0 | 0, $3 + 272 | 0 | 0); + $84 = 8; + i64toi32_i32$2 = ($3 + 288 | 0) + $84 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $619 = i64toi32_i32$0; + i64toi32_i32$0 = ($3 + 336 | 0) + $84 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $619; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$2 = $3; + i64toi32_i32$1 = HEAP32[($3 + 288 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($3 + 292 | 0) >> 2] | 0; + $623 = i64toi32_i32$1; + i64toi32_i32$1 = $3; + HEAP32[($3 + 336 | 0) >> 2] = $623; + HEAP32[($3 + 340 | 0) >> 2] = i64toi32_i32$0; + break label$6; + } + label$8 : { + label$9 : { + if (!((HEAP32[($3 + 356 | 0) >> 2] | 0 | 0) == (2 | 0) & 1 | 0)) { + break label$9 + } + $104 = btVector3__operator_20float_20const__28_29_20const($4 + 80 | 0 | 0) | 0; + (wasm2js_i32$0 = $3, wasm2js_f32$0 = Math_fround(-Math_fround(HEAPF32[((btVector3__operator_20float_20const__28_29_20const($4 + 80 | 0 | 0) | 0) + 4 | 0) >> 2]))), HEAPF32[(wasm2js_i32$0 + 232 | 0) >> 2] = wasm2js_f32$0; + btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($3 + 236 | 0 | 0, $104 | 0, $3 + 232 | 0 | 0, (btVector3__operator_20float_20const__28_29_20const($4 + 80 | 0 | 0) | 0) + 8 | 0 | 0) | 0; + operator__28btVector3_20const__2c_20btVector3_20const__29_2($3 + 252 | 0 | 0, $4 + 64 | 0 | 0, $3 + 236 | 0 | 0); + $127 = 8; + i64toi32_i32$2 = ($3 + 252 | 0) + $127 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $702 = i64toi32_i32$0; + i64toi32_i32$0 = ($3 + 336 | 0) + $127 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $702; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$2 = $3; + i64toi32_i32$1 = HEAP32[($3 + 252 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($3 + 256 | 0) >> 2] | 0; + $706 = i64toi32_i32$1; + i64toi32_i32$1 = $3; + HEAP32[($3 + 336 | 0) >> 2] = $706; + HEAP32[($3 + 340 | 0) >> 2] = i64toi32_i32$0; + break label$8; + } + label$10 : { + label$11 : { + if (!((HEAP32[($3 + 356 | 0) >> 2] | 0 | 0) == (3 | 0) & 1 | 0)) { + break label$11 + } + $147 = btVector3__operator_20float_20const__28_29_20const($4 + 80 | 0 | 0) | 0; + (wasm2js_i32$0 = $3, wasm2js_f32$0 = Math_fround(-Math_fround(HEAPF32[((btVector3__operator_20float_20const__28_29_20const($4 + 80 | 0 | 0) | 0) + 4 | 0) >> 2]))), HEAPF32[(wasm2js_i32$0 + 196 | 0) >> 2] = wasm2js_f32$0; + (wasm2js_i32$0 = $3, wasm2js_f32$0 = Math_fround(-Math_fround(HEAPF32[((btVector3__operator_20float_20const__28_29_20const($4 + 80 | 0 | 0) | 0) + 8 | 0) >> 2]))), HEAPF32[(wasm2js_i32$0 + 192 | 0) >> 2] = wasm2js_f32$0; + btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($3 + 200 | 0 | 0, $147 | 0, $3 + 196 | 0 | 0, $3 + 192 | 0 | 0) | 0; + operator__28btVector3_20const__2c_20btVector3_20const__29_2($3 + 216 | 0 | 0, $4 + 64 | 0 | 0, $3 + 200 | 0 | 0); + $173 = 8; + i64toi32_i32$2 = ($3 + 216 | 0) + $173 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $792 = i64toi32_i32$0; + i64toi32_i32$0 = ($3 + 336 | 0) + $173 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $792; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$2 = $3; + i64toi32_i32$1 = HEAP32[($3 + 216 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($3 + 220 | 0) >> 2] | 0; + $796 = i64toi32_i32$1; + i64toi32_i32$1 = $3; + HEAP32[($3 + 336 | 0) >> 2] = $796; + HEAP32[($3 + 340 | 0) >> 2] = i64toi32_i32$0; + break label$10; + } + label$12 : { + label$13 : { + if (!((HEAP32[($3 + 356 | 0) >> 2] | 0 | 0) == (4 | 0) & 1 | 0)) { + break label$13 + } + (wasm2js_i32$0 = $3, wasm2js_f32$0 = Math_fround(-Math_fround(HEAPF32[(btVector3__operator_20float_20const__28_29_20const($4 + 80 | 0 | 0) | 0) >> 2]))), HEAPF32[(wasm2js_i32$0 + 156 | 0) >> 2] = wasm2js_f32$0; + btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($3 + 160 | 0 | 0, $3 + 156 | 0 | 0, (btVector3__operator_20float_20const__28_29_20const($4 + 80 | 0 | 0) | 0) + 4 | 0 | 0, (btVector3__operator_20float_20const__28_29_20const($4 + 80 | 0 | 0) | 0) + 8 | 0 | 0) | 0; + operator__28btVector3_20const__2c_20btVector3_20const__29_2($3 + 176 | 0 | 0, $4 + 64 | 0 | 0, $3 + 160 | 0 | 0); + $218 = 8; + i64toi32_i32$2 = ($3 + 176 | 0) + $218 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $878 = i64toi32_i32$0; + i64toi32_i32$0 = ($3 + 336 | 0) + $218 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $878; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$2 = $3; + i64toi32_i32$1 = HEAP32[($3 + 176 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($3 + 180 | 0) >> 2] | 0; + $882 = i64toi32_i32$1; + i64toi32_i32$1 = $3; + HEAP32[($3 + 336 | 0) >> 2] = $882; + HEAP32[($3 + 340 | 0) >> 2] = i64toi32_i32$0; + break label$12; + } + label$14 : { + label$15 : { + if (!((HEAP32[($3 + 356 | 0) >> 2] | 0 | 0) == (5 | 0) & 1 | 0)) { + break label$15 + } + (wasm2js_i32$0 = $3, wasm2js_f32$0 = Math_fround(-Math_fround(HEAPF32[(btVector3__operator_20float_20const__28_29_20const($4 + 80 | 0 | 0) | 0) >> 2]))), HEAPF32[(wasm2js_i32$0 + 120 | 0) >> 2] = wasm2js_f32$0; + $245 = (btVector3__operator_20float_20const__28_29_20const($4 + 80 | 0 | 0) | 0) + 4 | 0; + (wasm2js_i32$0 = $3, wasm2js_f32$0 = Math_fround(-Math_fround(HEAPF32[((btVector3__operator_20float_20const__28_29_20const($4 + 80 | 0 | 0) | 0) + 8 | 0) >> 2]))), HEAPF32[(wasm2js_i32$0 + 116 | 0) >> 2] = wasm2js_f32$0; + btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($3 + 124 | 0 | 0, $3 + 120 | 0 | 0, $245 | 0, $3 + 116 | 0 | 0) | 0; + operator__28btVector3_20const__2c_20btVector3_20const__29_2($3 + 140 | 0 | 0, $4 + 64 | 0 | 0, $3 + 124 | 0 | 0); + $266 = 8; + i64toi32_i32$2 = ($3 + 140 | 0) + $266 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $971 = i64toi32_i32$0; + i64toi32_i32$0 = ($3 + 336 | 0) + $266 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $971; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$2 = $3; + i64toi32_i32$1 = HEAP32[($3 + 140 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($3 + 144 | 0) >> 2] | 0; + $975 = i64toi32_i32$1; + i64toi32_i32$1 = $3; + HEAP32[($3 + 336 | 0) >> 2] = $975; + HEAP32[($3 + 340 | 0) >> 2] = i64toi32_i32$0; + break label$14; + } + label$16 : { + label$17 : { + if (!((HEAP32[($3 + 356 | 0) >> 2] | 0 | 0) == (6 | 0) & 1 | 0)) { + break label$17 + } + (wasm2js_i32$0 = $3, wasm2js_f32$0 = Math_fround(-Math_fround(HEAPF32[(btVector3__operator_20float_20const__28_29_20const($4 + 80 | 0 | 0) | 0) >> 2]))), HEAPF32[(wasm2js_i32$0 + 80 | 0) >> 2] = wasm2js_f32$0; + (wasm2js_i32$0 = $3, wasm2js_f32$0 = Math_fround(-Math_fround(HEAPF32[((btVector3__operator_20float_20const__28_29_20const($4 + 80 | 0 | 0) | 0) + 4 | 0) >> 2]))), HEAPF32[(wasm2js_i32$0 + 76 | 0) >> 2] = wasm2js_f32$0; + btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($3 + 84 | 0 | 0, $3 + 80 | 0 | 0, $3 + 76 | 0 | 0, (btVector3__operator_20float_20const__28_29_20const($4 + 80 | 0 | 0) | 0) + 8 | 0 | 0) | 0; + operator__28btVector3_20const__2c_20btVector3_20const__29_2($3 + 100 | 0 | 0, $4 + 64 | 0 | 0, $3 + 84 | 0 | 0); + $314 = 8; + i64toi32_i32$2 = ($3 + 100 | 0) + $314 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $1064 = i64toi32_i32$0; + i64toi32_i32$0 = ($3 + 336 | 0) + $314 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $1064; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$2 = $3; + i64toi32_i32$1 = HEAP32[($3 + 100 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($3 + 104 | 0) >> 2] | 0; + $1068 = i64toi32_i32$1; + i64toi32_i32$1 = $3; + HEAP32[($3 + 336 | 0) >> 2] = $1068; + HEAP32[($3 + 340 | 0) >> 2] = i64toi32_i32$0; + break label$16; + } + label$18 : { + if (!((HEAP32[($3 + 356 | 0) >> 2] | 0 | 0) == (7 | 0) & 1 | 0)) { + break label$18 + } + (wasm2js_i32$0 = $3, wasm2js_f32$0 = Math_fround(-Math_fround(HEAPF32[(btVector3__operator_20float_20const__28_29_20const($4 + 80 | 0 | 0) | 0) >> 2]))), HEAPF32[(wasm2js_i32$0 + 40 | 0) >> 2] = wasm2js_f32$0; + (wasm2js_i32$0 = $3, wasm2js_f32$0 = Math_fround(-Math_fround(HEAPF32[((btVector3__operator_20float_20const__28_29_20const($4 + 80 | 0 | 0) | 0) + 4 | 0) >> 2]))), HEAPF32[(wasm2js_i32$0 + 36 | 0) >> 2] = wasm2js_f32$0; + (wasm2js_i32$0 = $3, wasm2js_f32$0 = Math_fround(-Math_fround(HEAPF32[((btVector3__operator_20float_20const__28_29_20const($4 + 80 | 0 | 0) | 0) + 8 | 0) >> 2]))), HEAPF32[(wasm2js_i32$0 + 32 | 0) >> 2] = wasm2js_f32$0; + btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($3 + 44 | 0 | 0, $3 + 40 | 0 | 0, $3 + 36 | 0 | 0, $3 + 32 | 0 | 0) | 0; + operator__28btVector3_20const__2c_20btVector3_20const__29_2($3 + 60 | 0 | 0, $4 + 64 | 0 | 0, $3 + 44 | 0 | 0); + $365 = 8; + i64toi32_i32$2 = ($3 + 60 | 0) + $365 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $1164 = i64toi32_i32$0; + i64toi32_i32$0 = ($3 + 336 | 0) + $365 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $1164; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$2 = $3; + i64toi32_i32$1 = HEAP32[($3 + 60 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($3 + 64 | 0) >> 2] | 0; + $1168 = i64toi32_i32$1; + i64toi32_i32$1 = $3; + HEAP32[($3 + 336 | 0) >> 2] = $1168; + HEAP32[($3 + 340 | 0) >> 2] = i64toi32_i32$0; + } + } + } + } + } + } + } + } + HEAP32[($3 + 28 | 0) >> 2] = 0; + label$19 : { + label$20 : while (1) { + if (!((HEAP32[($3 + 28 | 0) >> 2] | 0 | 0) < (btAlignedObjectArray_btFace___size_28_29_20const($4 + 24 | 0 | 0) | 0 | 0) & 1 | 0)) { + break label$19 + } + btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($3 + 12 | 0 | 0, (btAlignedObjectArray_btFace___operator_5b_5d_28int_29_20const($4 + 24 | 0 | 0, HEAP32[($3 + 28 | 0) >> 2] | 0 | 0) | 0) + 20 | 0 | 0, ((btAlignedObjectArray_btFace___operator_5b_5d_28int_29_20const($4 + 24 | 0 | 0, HEAP32[($3 + 28 | 0) >> 2] | 0 | 0) | 0) + 20 | 0) + 4 | 0 | 0, ((btAlignedObjectArray_btFace___operator_5b_5d_28int_29_20const($4 + 24 | 0 | 0, HEAP32[($3 + 28 | 0) >> 2] | 0 | 0) | 0) + 20 | 0) + 8 | 0 | 0) | 0; + (wasm2js_i32$0 = $3, wasm2js_f32$0 = Math_fround(Math_fround(btVector3__dot_28btVector3_20const__29_20const($3 + 336 | 0 | 0, $3 + 12 | 0 | 0)) + Math_fround(HEAPF32[((btAlignedObjectArray_btFace___operator_5b_5d_28int_29_20const($4 + 24 | 0 | 0, HEAP32[($3 + 28 | 0) >> 2] | 0 | 0) | 0) + 32 | 0) >> 2]))), HEAPF32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_f32$0; + label$21 : { + if (!(Math_fround(HEAPF32[($3 + 8 | 0) >> 2]) > Math_fround(0 | 0) & 1 | 0)) { + break label$21 + } + HEAP8[($3 + 367 | 0) >> 0] = 0 & 1 | 0; + break label$1; + } + HEAP32[($3 + 28 | 0) >> 2] = (HEAP32[($3 + 28 | 0) >> 2] | 0) + 1 | 0; + continue label$20; + }; + } + HEAP32[($3 + 356 | 0) >> 2] = (HEAP32[($3 + 356 | 0) >> 2] | 0) + 1 | 0; + continue label$3; + }; + } + HEAP8[($3 + 367 | 0) >> 0] = 1 & 1 | 0; + } + $442 = (HEAPU8[($3 + 367 | 0) >> 0] | 0) & 1 | 0; + __stack_pointer = $3 + 368 | 0; + return $442 | 0; + } + + function btConvexPolyhedron__initialize_28_29($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0, $561 = Math_fround(0), $617 = Math_fround(0), $73 = 0, $76 = 0, $89 = 0, $96 = 0, $134 = 0, $173 = 0, $188 = 0, $608 = 0, $673 = 0, $683 = 0, $580 = Math_fround(0), $601 = Math_fround(0), $666 = Math_fround(0), $676 = Math_fround(0), $689 = Math_fround(0), $697 = Math_fround(0), wasm2js_i32$0 = 0, wasm2js_i32$1 = 0, wasm2js_f32$0 = Math_fround(0); + $3 = __stack_pointer - 464 | 0; + __stack_pointer = $3; + HEAP32[($3 + 460 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 460 | 0) >> 2] | 0; + btHashMap_btInternalVertexPair_2c_20btInternalEdge___btHashMap_28_29($3 + 380 | 0 | 0) | 0; + HEAPF32[($3 + 376 | 0) >> 2] = Math_fround(0 | 0); + HEAPF32[($3 + 372 | 0) >> 2] = Math_fround(0 | 0); + HEAPF32[($3 + 368 | 0) >> 2] = Math_fround(0 | 0); + HEAPF32[($3 + 364 | 0) >> 2] = Math_fround(0 | 0); + btVector3__setValue_28float_20const__2c_20float_20const__2c_20float_20const__29($4 + 64 | 0 | 0, $3 + 372 | 0 | 0, $3 + 368 | 0 | 0, $3 + 364 | 0 | 0); + HEAP32[($3 + 360 | 0) >> 2] = 0; + label$1 : { + label$2 : while (1) { + if (!((HEAP32[($3 + 360 | 0) >> 2] | 0 | 0) < (btAlignedObjectArray_btFace___size_28_29_20const($4 + 24 | 0 | 0) | 0 | 0) & 1 | 0)) { + break label$1 + } + (wasm2js_i32$0 = $3, wasm2js_i32$1 = btAlignedObjectArray_int___size_28_29_20const(btAlignedObjectArray_btFace___operator_5b_5d_28int_29($4 + 24 | 0 | 0, HEAP32[($3 + 360 | 0) >> 2] | 0 | 0) | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 356 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($3 + 352 | 0) >> 2] = HEAP32[($3 + 356 | 0) >> 2] | 0; + HEAP32[($3 + 348 | 0) >> 2] = 0; + label$3 : { + label$4 : while (1) { + if (!((HEAP32[($3 + 348 | 0) >> 2] | 0 | 0) < (HEAP32[($3 + 352 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$3 + } + HEAP32[($3 + 344 | 0) >> 2] = ((HEAP32[($3 + 348 | 0) >> 2] | 0) + 1 | 0 | 0) % (HEAP32[($3 + 356 | 0) >> 2] | 0 | 0) | 0; + $73 = 16; + $76 = 16; + btInternalVertexPair__btInternalVertexPair_28short_2c_20short_29($3 + 340 | 0 | 0, ((HEAP32[(btAlignedObjectArray_int___operator_5b_5d_28int_29(btAlignedObjectArray_btFace___operator_5b_5d_28int_29($4 + 24 | 0 | 0, HEAP32[($3 + 360 | 0) >> 2] | 0 | 0) | 0 | 0, HEAP32[($3 + 348 | 0) >> 2] | 0 | 0) | 0) >> 2] | 0) << $73 | 0) >> $73 | 0 | 0, ((HEAP32[(btAlignedObjectArray_int___operator_5b_5d_28int_29(btAlignedObjectArray_btFace___operator_5b_5d_28int_29($4 + 24 | 0 | 0, HEAP32[($3 + 360 | 0) >> 2] | 0 | 0) | 0 | 0, HEAP32[($3 + 344 | 0) >> 2] | 0 | 0) | 0) >> 2] | 0) << $76 | 0) >> $76 | 0 | 0) | 0; + (wasm2js_i32$0 = $3, wasm2js_i32$1 = btHashMap_btInternalVertexPair_2c_20btInternalEdge___find_28btInternalVertexPair_20const__29($3 + 380 | 0 | 0, $3 + 340 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 336 | 0) >> 2] = wasm2js_i32$1; + $89 = 16; + $96 = 16; + operator__28btVector3_20const__2c_20btVector3_20const__29($3 + 320 | 0 | 0, btAlignedObjectArray_btVector3___operator_5b_5d_28int_29($4 + 4 | 0 | 0, ((HEAPU16[($3 + 342 | 0) >> 1] | 0) << $89 | 0) >> $89 | 0 | 0) | 0 | 0, btAlignedObjectArray_btVector3___operator_5b_5d_28int_29($4 + 4 | 0 | 0, ((HEAPU16[($3 + 340 | 0) >> 1] | 0) << $96 | 0) >> $96 | 0 | 0) | 0 | 0); + btVector3__normalize_28_29($3 + 320 | 0 | 0) | 0; + HEAP8[($3 + 319 | 0) >> 0] = 0; + HEAP32[($3 + 312 | 0) >> 2] = 0; + label$5 : { + label$6 : while (1) { + if (!((HEAP32[($3 + 312 | 0) >> 2] | 0 | 0) < (btAlignedObjectArray_btVector3___size_28_29_20const($4 + 44 | 0 | 0) | 0 | 0) & 1 | 0)) { + break label$5 + } + operator__28btVector3_20const__2c_20btVector3_20const__29($3 + 296 | 0 | 0, btAlignedObjectArray_btVector3___operator_5b_5d_28int_29($4 + 44 | 0 | 0, HEAP32[($3 + 312 | 0) >> 2] | 0 | 0) | 0 | 0, $3 + 320 | 0 | 0); + $134 = 1; + label$7 : { + if ((IsAlmostZero_28btVector3_20const__29($3 + 296 | 0 | 0) | 0) & 1 | 0) { + break label$7 + } + operator__28btVector3_20const__2c_20btVector3_20const__29_2($3 + 280 | 0 | 0, btAlignedObjectArray_btVector3___operator_5b_5d_28int_29($4 + 44 | 0 | 0, HEAP32[($3 + 312 | 0) >> 2] | 0 | 0) | 0 | 0, $3 + 320 | 0 | 0); + $134 = IsAlmostZero_28btVector3_20const__29($3 + 280 | 0 | 0) | 0; + } + label$8 : { + if (!($134 & 1 | 0)) { + break label$8 + } + HEAP8[($3 + 319 | 0) >> 0] = 1; + break label$5; + } + HEAP32[($3 + 312 | 0) >> 2] = (HEAP32[($3 + 312 | 0) >> 2] | 0) + 1 | 0; + continue label$6; + }; + } + label$9 : { + if ((HEAPU8[($3 + 319 | 0) >> 0] | 0) & 1 | 0) { + break label$9 + } + btAlignedObjectArray_btVector3___push_back_28btVector3_20const__29($4 + 44 | 0 | 0, $3 + 320 | 0 | 0); + } + label$10 : { + label$11 : { + if (!((HEAP32[($3 + 336 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$11 + } + $173 = 16; + label$12 : { + if ((((HEAPU16[(HEAP32[($3 + 336 | 0) >> 2] | 0) >> 1] | 0) << $173 | 0) >> $173 | 0 | 0) >= (0 | 0) & 1 | 0) { + break label$12 + } + __assert_fail(85875 | 0, 73099 | 0, 142 | 0, 80824 | 0); + wasm2js_trap(); + } + $188 = 16; + label$13 : { + if ((((HEAPU16[((HEAP32[($3 + 336 | 0) >> 2] | 0) + 2 | 0) >> 1] | 0) << $188 | 0) >> $188 | 0 | 0) < (0 | 0) & 1 | 0) { + break label$13 + } + __assert_fail(86046 | 0, 73099 | 0, 143 | 0, 80824 | 0); + wasm2js_trap(); + } + HEAP16[((HEAP32[($3 + 336 | 0) >> 2] | 0) + 2 | 0) >> 1] = HEAP32[($3 + 360 | 0) >> 2] | 0; + break label$10; + } + btInternalEdge__btInternalEdge_28_29($3 + 276 | 0 | 0) | 0; + HEAP16[($3 + 276 | 0) >> 1] = HEAP32[($3 + 360 | 0) >> 2] | 0; + btHashMap_btInternalVertexPair_2c_20btInternalEdge___insert_28btInternalVertexPair_20const__2c_20btInternalEdge_20const__29($3 + 380 | 0 | 0, $3 + 340 | 0 | 0, $3 + 276 | 0 | 0); + } + HEAP32[($3 + 348 | 0) >> 2] = (HEAP32[($3 + 348 | 0) >> 2] | 0) + 1 | 0; + continue label$4; + }; + } + HEAP32[($3 + 360 | 0) >> 2] = (HEAP32[($3 + 360 | 0) >> 2] | 0) + 1 | 0; + continue label$2; + }; + } + HEAP32[($3 + 272 | 0) >> 2] = 0; + label$14 : { + label$15 : while (1) { + if (!((HEAP32[($3 + 272 | 0) >> 2] | 0 | 0) < (btAlignedObjectArray_btFace___size_28_29_20const($4 + 24 | 0 | 0) | 0 | 0) & 1 | 0)) { + break label$14 + } + (wasm2js_i32$0 = $3, wasm2js_i32$1 = btAlignedObjectArray_int___size_28_29_20const(btAlignedObjectArray_btFace___operator_5b_5d_28int_29($4 + 24 | 0 | 0, HEAP32[($3 + 272 | 0) >> 2] | 0 | 0) | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 268 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($3 + 264 | 0) >> 2] = (HEAP32[($3 + 268 | 0) >> 2] | 0) - 2 | 0; + (wasm2js_i32$0 = $3, wasm2js_i32$1 = btAlignedObjectArray_btVector3___operator_5b_5d_28int_29($4 + 4 | 0 | 0, HEAP32[(btAlignedObjectArray_int___operator_5b_5d_28int_29(btAlignedObjectArray_btFace___operator_5b_5d_28int_29($4 + 24 | 0 | 0, HEAP32[($3 + 272 | 0) >> 2] | 0 | 0) | 0 | 0, 0 | 0) | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 260 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($3 + 256 | 0) >> 2] = 1; + label$16 : { + label$17 : while (1) { + if (!((HEAP32[($3 + 256 | 0) >> 2] | 0 | 0) <= (HEAP32[($3 + 264 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$16 + } + HEAP32[($3 + 252 | 0) >> 2] = ((HEAP32[($3 + 256 | 0) >> 2] | 0) + 1 | 0 | 0) % (HEAP32[($3 + 268 | 0) >> 2] | 0 | 0) | 0; + (wasm2js_i32$0 = $3, wasm2js_i32$1 = btAlignedObjectArray_btVector3___operator_5b_5d_28int_29($4 + 4 | 0 | 0, HEAP32[(btAlignedObjectArray_int___operator_5b_5d_28int_29(btAlignedObjectArray_btFace___operator_5b_5d_28int_29($4 + 24 | 0 | 0, HEAP32[($3 + 272 | 0) >> 2] | 0 | 0) | 0 | 0, HEAP32[($3 + 256 | 0) >> 2] | 0 | 0) | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 248 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $3, wasm2js_i32$1 = btAlignedObjectArray_btVector3___operator_5b_5d_28int_29($4 + 4 | 0 | 0, HEAP32[(btAlignedObjectArray_int___operator_5b_5d_28int_29(btAlignedObjectArray_btFace___operator_5b_5d_28int_29($4 + 24 | 0 | 0, HEAP32[($3 + 272 | 0) >> 2] | 0 | 0) | 0 | 0, HEAP32[($3 + 252 | 0) >> 2] | 0 | 0) | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 244 | 0) >> 2] = wasm2js_i32$1; + operator__28btVector3_20const__2c_20btVector3_20const__29($3 + 208 | 0 | 0, HEAP32[($3 + 260 | 0) >> 2] | 0 | 0, HEAP32[($3 + 248 | 0) >> 2] | 0 | 0); + operator__28btVector3_20const__2c_20btVector3_20const__29($3 + 192 | 0 | 0, HEAP32[($3 + 260 | 0) >> 2] | 0 | 0, HEAP32[($3 + 244 | 0) >> 2] | 0 | 0); + btVector3__cross_28btVector3_20const__29_20const($3 + 224 | 0 | 0, $3 + 208 | 0 | 0, $3 + 192 | 0 | 0); + (wasm2js_i32$0 = $3, wasm2js_f32$0 = Math_fround(Math_fround(btVector3__length_28_29_20const($3 + 224 | 0 | 0)) * Math_fround(.5))), HEAPF32[(wasm2js_i32$0 + 240 | 0) >> 2] = wasm2js_f32$0; + operator__28btVector3_20const__2c_20btVector3_20const__29_2($3 + 144 | 0 | 0, HEAP32[($3 + 260 | 0) >> 2] | 0 | 0, HEAP32[($3 + 248 | 0) >> 2] | 0 | 0); + operator__28btVector3_20const__2c_20btVector3_20const__29_2($3 + 160 | 0 | 0, $3 + 144 | 0 | 0, HEAP32[($3 + 244 | 0) >> 2] | 0 | 0); + HEAPF32[($3 + 140 | 0) >> 2] = Math_fround(3.0); + operator__28btVector3_20const__2c_20float_20const__29_1($3 + 176 | 0 | 0, $3 + 160 | 0 | 0, $3 + 140 | 0 | 0); + operator__28float_20const__2c_20btVector3_20const__29($3 + 124 | 0 | 0, $3 + 240 | 0 | 0, $3 + 176 | 0 | 0); + btVector3__operator___28btVector3_20const__29_1($4 + 64 | 0 | 0, $3 + 124 | 0 | 0) | 0; + HEAPF32[($3 + 376 | 0) >> 2] = Math_fround(Math_fround(HEAPF32[($3 + 376 | 0) >> 2]) + Math_fround(HEAPF32[($3 + 240 | 0) >> 2])); + HEAP32[($3 + 256 | 0) >> 2] = (HEAP32[($3 + 256 | 0) >> 2] | 0) + 1 | 0; + continue label$17; + }; + } + HEAP32[($3 + 272 | 0) >> 2] = (HEAP32[($3 + 272 | 0) >> 2] | 0) + 1 | 0; + continue label$15; + }; + } + btVector3__operator___28float_20const__29($4 + 64 | 0 | 0, $3 + 376 | 0 | 0) | 0; + HEAPF32[($4 + 96 | 0) >> 2] = Math_fround(3402823466385288598117041.0e14); + HEAP32[($3 + 120 | 0) >> 2] = 0; + label$18 : { + label$19 : while (1) { + if (!((HEAP32[($3 + 120 | 0) >> 2] | 0 | 0) < (btAlignedObjectArray_btFace___size_28_29_20const($4 + 24 | 0 | 0) | 0 | 0) & 1 | 0)) { + break label$18 + } + btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($3 + 104 | 0 | 0, (btAlignedObjectArray_btFace___operator_5b_5d_28int_29($4 + 24 | 0 | 0, HEAP32[($3 + 120 | 0) >> 2] | 0 | 0) | 0) + 20 | 0 | 0, ((btAlignedObjectArray_btFace___operator_5b_5d_28int_29($4 + 24 | 0 | 0, HEAP32[($3 + 120 | 0) >> 2] | 0 | 0) | 0) + 20 | 0) + 4 | 0 | 0, ((btAlignedObjectArray_btFace___operator_5b_5d_28int_29($4 + 24 | 0 | 0, HEAP32[($3 + 120 | 0) >> 2] | 0 | 0) | 0) + 20 | 0) + 8 | 0 | 0) | 0; + (wasm2js_i32$0 = $3, wasm2js_f32$0 = Math_fround(btFabs_28float_29(Math_fround(Math_fround(Math_fround(btVector3__dot_28btVector3_20const__29_20const($4 + 64 | 0 | 0, $3 + 104 | 0 | 0)) + Math_fround(HEAPF32[((btAlignedObjectArray_btFace___operator_5b_5d_28int_29($4 + 24 | 0 | 0, HEAP32[($3 + 120 | 0) >> 2] | 0 | 0) | 0) + 32 | 0) >> 2])))))), HEAPF32[(wasm2js_i32$0 + 100 | 0) >> 2] = wasm2js_f32$0; + label$20 : { + if (!(Math_fround(HEAPF32[($3 + 100 | 0) >> 2]) < Math_fround(HEAPF32[($4 + 96 | 0) >> 2]) & 1 | 0)) { + break label$20 + } + HEAPF32[($4 + 96 | 0) >> 2] = Math_fround(HEAPF32[($3 + 100 | 0) >> 2]); + } + HEAP32[($3 + 120 | 0) >> 2] = (HEAP32[($3 + 120 | 0) >> 2] | 0) + 1 | 0; + continue label$19; + }; + } + HEAPF32[($3 + 96 | 0) >> 2] = Math_fround(3402823466385288598117041.0e14); + HEAPF32[($3 + 92 | 0) >> 2] = Math_fround(3402823466385288598117041.0e14); + HEAPF32[($3 + 88 | 0) >> 2] = Math_fround(3402823466385288598117041.0e14); + HEAPF32[($3 + 84 | 0) >> 2] = Math_fround(-3402823466385288598117041.0e14); + HEAPF32[($3 + 80 | 0) >> 2] = Math_fround(-3402823466385288598117041.0e14); + HEAPF32[($3 + 76 | 0) >> 2] = Math_fround(-3402823466385288598117041.0e14); + HEAP32[($3 + 72 | 0) >> 2] = 0; + label$21 : { + label$22 : while (1) { + if (!((HEAP32[($3 + 72 | 0) >> 2] | 0 | 0) < (btAlignedObjectArray_btVector3___size_28_29_20const($4 + 4 | 0 | 0) | 0 | 0) & 1 | 0)) { + break label$21 + } + (wasm2js_i32$0 = $3, wasm2js_i32$1 = btAlignedObjectArray_btVector3___operator_5b_5d_28int_29($4 + 4 | 0 | 0, HEAP32[($3 + 72 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 68 | 0) >> 2] = wasm2js_i32$1; + label$23 : { + if (!(Math_fround(HEAPF32[(btVector3__x_28_29_20const(HEAP32[($3 + 68 | 0) >> 2] | 0 | 0) | 0) >> 2]) < Math_fround(HEAPF32[($3 + 96 | 0) >> 2]) & 1 | 0)) { + break label$23 + } + (wasm2js_i32$0 = $3, wasm2js_f32$0 = Math_fround(HEAPF32[(btVector3__x_28_29_20const(HEAP32[($3 + 68 | 0) >> 2] | 0 | 0) | 0) >> 2])), HEAPF32[(wasm2js_i32$0 + 96 | 0) >> 2] = wasm2js_f32$0; + } + label$24 : { + if (!(Math_fround(HEAPF32[(btVector3__x_28_29_20const(HEAP32[($3 + 68 | 0) >> 2] | 0 | 0) | 0) >> 2]) > Math_fround(HEAPF32[($3 + 84 | 0) >> 2]) & 1 | 0)) { + break label$24 + } + (wasm2js_i32$0 = $3, wasm2js_f32$0 = Math_fround(HEAPF32[(btVector3__x_28_29_20const(HEAP32[($3 + 68 | 0) >> 2] | 0 | 0) | 0) >> 2])), HEAPF32[(wasm2js_i32$0 + 84 | 0) >> 2] = wasm2js_f32$0; + } + label$25 : { + if (!(Math_fround(HEAPF32[(btVector3__y_28_29_20const(HEAP32[($3 + 68 | 0) >> 2] | 0 | 0) | 0) >> 2]) < Math_fround(HEAPF32[($3 + 92 | 0) >> 2]) & 1 | 0)) { + break label$25 + } + (wasm2js_i32$0 = $3, wasm2js_f32$0 = Math_fround(HEAPF32[(btVector3__y_28_29_20const(HEAP32[($3 + 68 | 0) >> 2] | 0 | 0) | 0) >> 2])), HEAPF32[(wasm2js_i32$0 + 92 | 0) >> 2] = wasm2js_f32$0; + } + label$26 : { + if (!(Math_fround(HEAPF32[(btVector3__y_28_29_20const(HEAP32[($3 + 68 | 0) >> 2] | 0 | 0) | 0) >> 2]) > Math_fround(HEAPF32[($3 + 80 | 0) >> 2]) & 1 | 0)) { + break label$26 + } + (wasm2js_i32$0 = $3, wasm2js_f32$0 = Math_fround(HEAPF32[(btVector3__y_28_29_20const(HEAP32[($3 + 68 | 0) >> 2] | 0 | 0) | 0) >> 2])), HEAPF32[(wasm2js_i32$0 + 80 | 0) >> 2] = wasm2js_f32$0; + } + label$27 : { + if (!(Math_fround(HEAPF32[(btVector3__z_28_29_20const(HEAP32[($3 + 68 | 0) >> 2] | 0 | 0) | 0) >> 2]) < Math_fround(HEAPF32[($3 + 88 | 0) >> 2]) & 1 | 0)) { + break label$27 + } + (wasm2js_i32$0 = $3, wasm2js_f32$0 = Math_fround(HEAPF32[(btVector3__z_28_29_20const(HEAP32[($3 + 68 | 0) >> 2] | 0 | 0) | 0) >> 2])), HEAPF32[(wasm2js_i32$0 + 88 | 0) >> 2] = wasm2js_f32$0; + } + label$28 : { + if (!(Math_fround(HEAPF32[(btVector3__z_28_29_20const(HEAP32[($3 + 68 | 0) >> 2] | 0 | 0) | 0) >> 2]) > Math_fround(HEAPF32[($3 + 76 | 0) >> 2]) & 1 | 0)) { + break label$28 + } + (wasm2js_i32$0 = $3, wasm2js_f32$0 = Math_fround(HEAPF32[(btVector3__z_28_29_20const(HEAP32[($3 + 68 | 0) >> 2] | 0 | 0) | 0) >> 2])), HEAPF32[(wasm2js_i32$0 + 76 | 0) >> 2] = wasm2js_f32$0; + } + HEAP32[($3 + 72 | 0) >> 2] = (HEAP32[($3 + 72 | 0) >> 2] | 0) + 1 | 0; + continue label$22; + }; + } + HEAPF32[($3 + 64 | 0) >> 2] = Math_fround(Math_fround(HEAPF32[($3 + 84 | 0) >> 2]) + Math_fround(HEAPF32[($3 + 96 | 0) >> 2])); + HEAPF32[($3 + 60 | 0) >> 2] = Math_fround(Math_fround(HEAPF32[($3 + 80 | 0) >> 2]) + Math_fround(HEAPF32[($3 + 92 | 0) >> 2])); + HEAPF32[($3 + 56 | 0) >> 2] = Math_fround(Math_fround(HEAPF32[($3 + 76 | 0) >> 2]) + Math_fround(HEAPF32[($3 + 88 | 0) >> 2])); + btVector3__setValue_28float_20const__2c_20float_20const__2c_20float_20const__29($4 + 100 | 0 | 0, $3 + 64 | 0 | 0, $3 + 60 | 0 | 0, $3 + 56 | 0 | 0); + HEAPF32[($3 + 52 | 0) >> 2] = Math_fround(Math_fround(HEAPF32[($3 + 84 | 0) >> 2]) - Math_fround(HEAPF32[($3 + 96 | 0) >> 2])); + HEAPF32[($3 + 48 | 0) >> 2] = Math_fround(Math_fround(HEAPF32[($3 + 80 | 0) >> 2]) - Math_fround(HEAPF32[($3 + 92 | 0) >> 2])); + HEAPF32[($3 + 44 | 0) >> 2] = Math_fround(Math_fround(HEAPF32[($3 + 76 | 0) >> 2]) - Math_fround(HEAPF32[($3 + 88 | 0) >> 2])); + btVector3__setValue_28float_20const__2c_20float_20const__2c_20float_20const__29($4 + 116 | 0 | 0, $3 + 52 | 0 | 0, $3 + 48 | 0 | 0, $3 + 44 | 0 | 0); + HEAPF32[($3 + 40 | 0) >> 2] = Math_fround(Math_fround(HEAPF32[($4 + 96 | 0) >> 2]) / Math_fround(Math_sqrt(Math_fround(3.0)))); + (wasm2js_i32$0 = $3, wasm2js_i32$1 = btVector3__maxAxis_28_29_20const($4 + 116 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 36 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $3, wasm2js_f32$0 = Math_fround(Math_fround(Math_fround(Math_fround(HEAPF32[((btVector3__operator_20float__28_29($4 + 116 | 0 | 0) | 0) + ((HEAP32[($3 + 36 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2]) * Math_fround(.5)) + Math_fround(-Math_fround(HEAPF32[($3 + 40 | 0) >> 2]))) / Math_fround(1024.0))), HEAPF32[(wasm2js_i32$0 + 32 | 0) >> 2] = wasm2js_f32$0; + $561 = Math_fround(HEAPF32[($3 + 40 | 0) >> 2]); + (wasm2js_i32$0 = btVector3__operator_20float__28_29($4 + 80 | 0 | 0) | 0, wasm2js_f32$0 = $561), HEAPF32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_f32$0; + (wasm2js_i32$0 = btVector3__operator_20float__28_29($4 + 80 | 0 | 0) | 0, wasm2js_f32$0 = $561), HEAPF32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_f32$0; + (wasm2js_i32$0 = btVector3__operator_20float__28_29($4 + 80 | 0 | 0) | 0, wasm2js_f32$0 = $561), HEAPF32[wasm2js_i32$0 >> 2] = wasm2js_f32$0; + $580 = Math_fround(Math_fround(HEAPF32[((btVector3__operator_20float__28_29($4 + 116 | 0 | 0) | 0) + ((HEAP32[($3 + 36 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2]) * Math_fround(.5)); + (wasm2js_i32$0 = (btVector3__operator_20float__28_29($4 + 80 | 0 | 0) | 0) + ((HEAP32[($3 + 36 | 0) >> 2] | 0) << 2 | 0) | 0, wasm2js_f32$0 = $580), HEAPF32[wasm2js_i32$0 >> 2] = wasm2js_f32$0; + HEAP8[($3 + 31 | 0) >> 0] = 0; + HEAP32[($3 + 24 | 0) >> 2] = 0; + label$29 : { + label$30 : while (1) { + if (!((HEAP32[($3 + 24 | 0) >> 2] | 0 | 0) < (1024 | 0) & 1 | 0)) { + break label$29 + } + label$31 : { + if (!((btConvexPolyhedron__testContainment_28_29_20const($4 | 0) | 0) & 1 | 0)) { + break label$31 + } + HEAP8[($3 + 31 | 0) >> 0] = 1; + break label$29; + } + $601 = Math_fround(HEAPF32[($3 + 32 | 0) >> 2]); + $608 = (btVector3__operator_20float__28_29($4 + 80 | 0 | 0) | 0) + ((HEAP32[($3 + 36 | 0) >> 2] | 0) << 2 | 0) | 0; + HEAPF32[$608 >> 2] = Math_fround(Math_fround(HEAPF32[$608 >> 2]) - $601); + HEAP32[($3 + 24 | 0) >> 2] = (HEAP32[($3 + 24 | 0) >> 2] | 0) + 1 | 0; + continue label$30; + }; + } + label$32 : { + label$33 : { + if ((HEAPU8[($3 + 31 | 0) >> 0] | 0) & 1 | 0) { + break label$33 + } + $617 = Math_fround(HEAPF32[($3 + 40 | 0) >> 2]); + (wasm2js_i32$0 = btVector3__operator_20float__28_29($4 + 80 | 0 | 0) | 0, wasm2js_f32$0 = $617), HEAPF32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_f32$0; + (wasm2js_i32$0 = btVector3__operator_20float__28_29($4 + 80 | 0 | 0) | 0, wasm2js_f32$0 = $617), HEAPF32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_f32$0; + (wasm2js_i32$0 = btVector3__operator_20float__28_29($4 + 80 | 0 | 0) | 0, wasm2js_f32$0 = $617), HEAPF32[wasm2js_i32$0 >> 2] = wasm2js_f32$0; + break label$32; + } + HEAPF32[($3 + 20 | 0) >> 2] = Math_fround(Math_fround(Math_fround(HEAPF32[($4 + 96 | 0) >> 2]) - Math_fround(HEAPF32[($3 + 40 | 0) >> 2])) / Math_fround(1024.0)); + HEAP32[($3 + 16 | 0) >> 2] = (1 << (HEAP32[($3 + 36 | 0) >> 2] | 0) | 0) & 3 | 0; + HEAP32[($3 + 12 | 0) >> 2] = (1 << (HEAP32[($3 + 16 | 0) >> 2] | 0) | 0) & 3 | 0; + HEAP32[($3 + 8 | 0) >> 2] = 0; + label$34 : { + label$35 : while (1) { + if (!((HEAP32[($3 + 8 | 0) >> 2] | 0 | 0) < (1024 | 0) & 1 | 0)) { + break label$34 + } + (wasm2js_i32$0 = $3, wasm2js_f32$0 = Math_fround(HEAPF32[((btVector3__operator_20float__28_29($4 + 80 | 0 | 0) | 0) + ((HEAP32[($3 + 16 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2])), HEAPF32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_f32$0; + (wasm2js_i32$0 = $3, wasm2js_f32$0 = Math_fround(HEAPF32[((btVector3__operator_20float__28_29($4 + 80 | 0 | 0) | 0) + ((HEAP32[($3 + 12 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2])), HEAPF32[wasm2js_i32$0 >> 2] = wasm2js_f32$0; + $666 = Math_fround(HEAPF32[($3 + 20 | 0) >> 2]); + $673 = (btVector3__operator_20float__28_29($4 + 80 | 0 | 0) | 0) + ((HEAP32[($3 + 16 | 0) >> 2] | 0) << 2 | 0) | 0; + HEAPF32[$673 >> 2] = Math_fround(Math_fround(HEAPF32[$673 >> 2]) + $666); + $676 = Math_fround(HEAPF32[($3 + 20 | 0) >> 2]); + $683 = (btVector3__operator_20float__28_29($4 + 80 | 0 | 0) | 0) + ((HEAP32[($3 + 12 | 0) >> 2] | 0) << 2 | 0) | 0; + HEAPF32[$683 >> 2] = Math_fround(Math_fround(HEAPF32[$683 >> 2]) + $676); + label$36 : { + if ((btConvexPolyhedron__testContainment_28_29_20const($4 | 0) | 0) & 1 | 0) { + break label$36 + } + $689 = Math_fround(HEAPF32[($3 + 4 | 0) >> 2]); + (wasm2js_i32$0 = (btVector3__operator_20float__28_29($4 + 80 | 0 | 0) | 0) + ((HEAP32[($3 + 16 | 0) >> 2] | 0) << 2 | 0) | 0, wasm2js_f32$0 = $689), HEAPF32[wasm2js_i32$0 >> 2] = wasm2js_f32$0; + $697 = Math_fround(HEAPF32[$3 >> 2]); + (wasm2js_i32$0 = (btVector3__operator_20float__28_29($4 + 80 | 0 | 0) | 0) + ((HEAP32[($3 + 12 | 0) >> 2] | 0) << 2 | 0) | 0, wasm2js_f32$0 = $697), HEAPF32[wasm2js_i32$0 >> 2] = wasm2js_f32$0; + break label$34; + } + HEAP32[($3 + 8 | 0) >> 2] = (HEAP32[($3 + 8 | 0) >> 2] | 0) + 1 | 0; + continue label$35; + }; + } + } + btHashMap_btInternalVertexPair_2c_20btInternalEdge____btHashMap_28_29($3 + 380 | 0 | 0) | 0; + __stack_pointer = $3 + 464 | 0; + return; + } + + function btHashMap_btInternalVertexPair_2c_20btInternalEdge___btHashMap_28_29($0) { + $0 = $0 | 0; + var $4 = 0, $3 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + btAlignedObjectArray_int___btAlignedObjectArray_28_29($4 | 0) | 0; + btAlignedObjectArray_int___btAlignedObjectArray_28_29($4 + 20 | 0 | 0) | 0; + btAlignedObjectArray_btInternalEdge___btAlignedObjectArray_28_29($4 + 40 | 0 | 0) | 0; + btAlignedObjectArray_btInternalVertexPair___btAlignedObjectArray_28_29($4 + 60 | 0 | 0) | 0; + __stack_pointer = $3 + 16 | 0; + return $4 | 0; + } + + function btInternalVertexPair__btInternalVertexPair_28short_2c_20short_29($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $5 = 0, $6 = 0, $10 = 0, $14 = 0, $24 = 0; + $5 = __stack_pointer - 16 | 0; + __stack_pointer = $5; + HEAP32[($5 + 8 | 0) >> 2] = $0; + HEAP16[($5 + 6 | 0) >> 1] = $1; + HEAP16[($5 + 4 | 0) >> 1] = $2; + $6 = HEAP32[($5 + 8 | 0) >> 2] | 0; + HEAP32[($5 + 12 | 0) >> 2] = $6; + HEAP16[$6 >> 1] = HEAPU16[($5 + 6 | 0) >> 1] | 0; + HEAP16[($6 + 2 | 0) >> 1] = HEAPU16[($5 + 4 | 0) >> 1] | 0; + $10 = 16; + $14 = 16; + label$1 : { + if (!((((HEAPU16[($6 + 2 | 0) >> 1] | 0) << $10 | 0) >> $10 | 0 | 0) > (((HEAPU16[$6 >> 1] | 0) << $14 | 0) >> $14 | 0 | 0) & 1 | 0)) { + break label$1 + } + void_20btSwap_short__28short__2c_20short__29($6 | 0, $6 + 2 | 0 | 0); + } + $24 = HEAP32[($5 + 12 | 0) >> 2] | 0; + __stack_pointer = $5 + 16 | 0; + return $24 | 0; + } + + function btHashMap_btInternalVertexPair_2c_20btInternalEdge___find_28btInternalVertexPair_20const__29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, $5 = 0, $20 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[($4 + 8 | 0) >> 2] = $0; + HEAP32[($4 + 4 | 0) >> 2] = $1; + $5 = HEAP32[($4 + 8 | 0) >> 2] | 0; + (wasm2js_i32$0 = $4, wasm2js_i32$1 = btHashMap_btInternalVertexPair_2c_20btInternalEdge___findIndex_28btInternalVertexPair_20const__29_20const($5 | 0, HEAP32[($4 + 4 | 0) >> 2] | 0 | 0) | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + label$1 : { + label$2 : { + if (!((HEAP32[$4 >> 2] | 0 | 0) == (-1 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($4 + 12 | 0) >> 2] = 0; + break label$1; + } + (wasm2js_i32$0 = $4, wasm2js_i32$1 = btAlignedObjectArray_btInternalEdge___operator_5b_5d_28int_29($5 + 40 | 0 | 0, HEAP32[$4 >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + } + $20 = HEAP32[($4 + 12 | 0) >> 2] | 0; + __stack_pointer = $4 + 16 | 0; + return $20 | 0; + } + + function IsAlmostZero_28btVector3_20const__29($0) { + $0 = $0 | 0; + var $3 = 0, $39 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 8 | 0) >> 2] = $0; + label$1 : { + label$2 : { + label$3 : { + if (+Math_fround(btFabs_28float_29(Math_fround(Math_fround(HEAPF32[(btVector3__x_28_29_20const(HEAP32[($3 + 8 | 0) >> 2] | 0 | 0) | 0) >> 2])))) > 1.0e-06 & 1 | 0) { + break label$3 + } + if (+Math_fround(btFabs_28float_29(Math_fround(Math_fround(HEAPF32[(btVector3__y_28_29_20const(HEAP32[($3 + 8 | 0) >> 2] | 0 | 0) | 0) >> 2])))) > 1.0e-06 & 1 | 0) { + break label$3 + } + if (!(+Math_fround(btFabs_28float_29(Math_fround(Math_fround(HEAPF32[(btVector3__z_28_29_20const(HEAP32[($3 + 8 | 0) >> 2] | 0 | 0) | 0) >> 2])))) > 1.0e-06 & 1 | 0)) { + break label$2 + } + } + HEAP8[($3 + 15 | 0) >> 0] = 0 & 1 | 0; + break label$1; + } + HEAP8[($3 + 15 | 0) >> 0] = 1 & 1 | 0; + } + $39 = (HEAPU8[($3 + 15 | 0) >> 0] | 0) & 1 | 0; + __stack_pointer = $3 + 16 | 0; + return $39 | 0; + } + + function btInternalEdge__btInternalEdge_28_29($0) { + $0 = $0 | 0; + var $4 = 0, $3 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + HEAP16[$4 >> 1] = 65535; + HEAP16[($4 + 2 | 0) >> 1] = 65535; + return $4 | 0; + } + + function btHashMap_btInternalVertexPair_2c_20btInternalEdge___insert_28btInternalVertexPair_20const__2c_20btInternalEdge_20const__29($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $63 = 0, $68 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5 = __stack_pointer - 32 | 0; + __stack_pointer = $5; + HEAP32[($5 + 28 | 0) >> 2] = $0; + HEAP32[($5 + 24 | 0) >> 2] = $1; + HEAP32[($5 + 20 | 0) >> 2] = $2; + $6 = HEAP32[($5 + 28 | 0) >> 2] | 0; + (wasm2js_i32$0 = $5, wasm2js_i32$1 = (btInternalVertexPair__getHash_28_29_20const(HEAP32[($5 + 24 | 0) >> 2] | 0 | 0) | 0) & ((btAlignedObjectArray_btInternalEdge___capacity_28_29_20const($6 + 40 | 0 | 0) | 0) - 1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $5, wasm2js_i32$1 = btHashMap_btInternalVertexPair_2c_20btInternalEdge___findIndex_28btInternalVertexPair_20const__29_20const($6 | 0, HEAP32[($5 + 24 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + label$2 : { + if (!((HEAP32[($5 + 12 | 0) >> 2] | 0 | 0) != (-1 | 0) & 1 | 0)) { + break label$2 + } + $7 = HEAP32[($5 + 20 | 0) >> 2] | 0; + $8 = btAlignedObjectArray_btInternalEdge___operator_5b_5d_28int_29($6 + 40 | 0 | 0, HEAP32[($5 + 12 | 0) >> 2] | 0 | 0) | 0; + $9 = HEAPU16[$7 >> 1] | 0 | ((HEAPU16[($7 + 2 | 0) >> 1] | 0) << 16 | 0) | 0; + HEAP16[$8 >> 1] = $9; + HEAP16[($8 + 2 | 0) >> 1] = $9 >>> 16 | 0; + break label$1; + } + (wasm2js_i32$0 = $5, wasm2js_i32$1 = btAlignedObjectArray_btInternalEdge___size_28_29_20const($6 + 40 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $5, wasm2js_i32$1 = btAlignedObjectArray_btInternalEdge___capacity_28_29_20const($6 + 40 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + btAlignedObjectArray_btInternalEdge___push_back_28btInternalEdge_20const__29($6 + 40 | 0 | 0, HEAP32[($5 + 20 | 0) >> 2] | 0 | 0); + btAlignedObjectArray_btInternalVertexPair___push_back_28btInternalVertexPair_20const__29($6 + 60 | 0 | 0, HEAP32[($5 + 24 | 0) >> 2] | 0 | 0); + (wasm2js_i32$0 = $5, wasm2js_i32$1 = btAlignedObjectArray_btInternalEdge___capacity_28_29_20const($6 + 40 | 0 | 0) | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + label$3 : { + if (!((HEAP32[($5 + 4 | 0) >> 2] | 0 | 0) < (HEAP32[$5 >> 2] | 0 | 0) & 1 | 0)) { + break label$3 + } + btHashMap_btInternalVertexPair_2c_20btInternalEdge___growTables_28btInternalVertexPair_20const__29($6 | 0, HEAP32[($5 + 24 | 0) >> 2] | 0 | 0); + (wasm2js_i32$0 = $5, wasm2js_i32$1 = (btInternalVertexPair__getHash_28_29_20const(HEAP32[($5 + 24 | 0) >> 2] | 0 | 0) | 0) & ((btAlignedObjectArray_btInternalEdge___capacity_28_29_20const($6 + 40 | 0 | 0) | 0) - 1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + } + $63 = HEAP32[(btAlignedObjectArray_int___operator_5b_5d_28int_29($6 | 0, HEAP32[($5 + 16 | 0) >> 2] | 0 | 0) | 0) >> 2] | 0; + (wasm2js_i32$0 = btAlignedObjectArray_int___operator_5b_5d_28int_29($6 + 20 | 0 | 0, HEAP32[($5 + 8 | 0) >> 2] | 0 | 0) | 0, wasm2js_i32$1 = $63), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + $68 = HEAP32[($5 + 8 | 0) >> 2] | 0; + (wasm2js_i32$0 = btAlignedObjectArray_int___operator_5b_5d_28int_29($6 | 0, HEAP32[($5 + 16 | 0) >> 2] | 0 | 0) | 0, wasm2js_i32$1 = $68), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + } + __stack_pointer = $5 + 32 | 0; + return; + } + + function btHashMap_btInternalVertexPair_2c_20btInternalEdge____btHashMap_28_29($0) { + $0 = $0 | 0; + var $4 = 0, $3 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + btAlignedObjectArray_btInternalVertexPair____btAlignedObjectArray_28_29($4 + 60 | 0 | 0) | 0; + btAlignedObjectArray_btInternalEdge____btAlignedObjectArray_28_29($4 + 40 | 0 | 0) | 0; + btAlignedObjectArray_int____btAlignedObjectArray_28_29($4 + 20 | 0 | 0) | 0; + btAlignedObjectArray_int____btAlignedObjectArray_28_29($4 | 0) | 0; + __stack_pointer = $3 + 16 | 0; + return $4 | 0; + } + + function btAlignedObjectArray_btInternalEdge___btAlignedObjectArray_28_29($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + btAlignedAllocator_btInternalEdge_2c_2016u___btAlignedAllocator_28_29($4 | 0) | 0; + btAlignedObjectArray_btInternalEdge___init_28_29($4 | 0); + __stack_pointer = $3 + 16 | 0; + return $4 | 0; + } + + function btAlignedObjectArray_btInternalVertexPair___btAlignedObjectArray_28_29($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + btAlignedAllocator_btInternalVertexPair_2c_2016u___btAlignedAllocator_28_29($4 | 0) | 0; + btAlignedObjectArray_btInternalVertexPair___init_28_29($4 | 0); + __stack_pointer = $3 + 16 | 0; + return $4 | 0; + } + + function void_20btSwap_short__28short__2c_20short__29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0; + $4 = __stack_pointer - 16 | 0; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + HEAP16[($4 + 6 | 0) >> 1] = HEAPU16[(HEAP32[($4 + 12 | 0) >> 2] | 0) >> 1] | 0; + HEAP16[(HEAP32[($4 + 12 | 0) >> 2] | 0) >> 1] = HEAPU16[(HEAP32[($4 + 8 | 0) >> 2] | 0) >> 1] | 0; + HEAP16[(HEAP32[($4 + 8 | 0) >> 2] | 0) >> 1] = HEAPU16[($4 + 6 | 0) >> 1] | 0; + return; + } + + function btHashMap_btInternalVertexPair_2c_20btInternalEdge___findIndex_28btInternalVertexPair_20const__29_20const($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, $5 = 0, $33 = 0, $55 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4 = __stack_pointer - 32 | 0; + __stack_pointer = $4; + HEAP32[($4 + 24 | 0) >> 2] = $0; + HEAP32[($4 + 20 | 0) >> 2] = $1; + $5 = HEAP32[($4 + 24 | 0) >> 2] | 0; + (wasm2js_i32$0 = $4, wasm2js_i32$1 = (btInternalVertexPair__getHash_28_29_20const(HEAP32[($4 + 20 | 0) >> 2] | 0 | 0) | 0) & ((btAlignedObjectArray_btInternalEdge___capacity_28_29_20const($5 + 40 | 0 | 0) | 0) - 1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + label$2 : { + if (!((HEAP32[($4 + 16 | 0) >> 2] | 0) >>> 0 >= (btAlignedObjectArray_int___size_28_29_20const($5 | 0) | 0) >>> 0 & 1 | 0)) { + break label$2 + } + HEAP32[($4 + 28 | 0) >> 2] = -1; + break label$1; + } + (wasm2js_i32$0 = $4, wasm2js_i32$1 = HEAP32[(btAlignedObjectArray_int___operator_5b_5d_28int_29_20const($5 | 0, HEAP32[($4 + 16 | 0) >> 2] | 0 | 0) | 0) >> 2] | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + label$3 : while (1) { + $33 = 0; + label$4 : { + if (!((HEAP32[($4 + 12 | 0) >> 2] | 0 | 0) != (-1 | 0) & 1 | 0)) { + break label$4 + } + $33 = ((btInternalVertexPair__equals_28btInternalVertexPair_20const__29_20const(HEAP32[($4 + 20 | 0) >> 2] | 0 | 0, btAlignedObjectArray_btInternalVertexPair___operator_5b_5d_28int_29_20const($5 + 60 | 0 | 0, HEAP32[($4 + 12 | 0) >> 2] | 0 | 0) | 0 | 0) | 0) & 1 | 0 | 0) == (0 | 0); + } + label$5 : { + if (!($33 & 1 | 0)) { + break label$5 + } + (wasm2js_i32$0 = $4, wasm2js_i32$1 = HEAP32[(btAlignedObjectArray_int___operator_5b_5d_28int_29_20const($5 + 20 | 0 | 0, HEAP32[($4 + 12 | 0) >> 2] | 0 | 0) | 0) >> 2] | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + continue label$3; + } + break label$3; + }; + HEAP32[($4 + 28 | 0) >> 2] = HEAP32[($4 + 12 | 0) >> 2] | 0; + } + $55 = HEAP32[($4 + 28 | 0) >> 2] | 0; + __stack_pointer = $4 + 32 | 0; + return $55 | 0; + } + + function btAlignedObjectArray_btInternalEdge___operator_5b_5d_28int_29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, $5 = 0, $32 = 0; + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; + label$1 : { + if ((HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0) { + break label$1 + } + __assert_fail(85840 | 0, 78192 | 0, 183 | 0, 83901 | 0); + wasm2js_trap(); + } + label$2 : { + if ((HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) < (btAlignedObjectArray_btInternalEdge___size_28_29_20const($5 | 0) | 0 | 0) & 1 | 0) { + break label$2 + } + __assert_fail(87321 | 0, 78192 | 0, 184 | 0, 83901 | 0); + wasm2js_trap(); + } + $32 = (HEAP32[($5 + 12 | 0) >> 2] | 0) + ((HEAP32[($4 + 8 | 0) >> 2] | 0) << 2 | 0) | 0; + __stack_pointer = $4 + 16 | 0; + return $32 | 0; + } + + function btInternalVertexPair__getHash_28_29_20const($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0, $6 = 0, $10 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + $6 = 16; + $10 = 16; + return (((HEAPU16[$4 >> 1] | 0) << $6 | 0) >> $6 | 0) + ((((HEAPU16[($4 + 2 | 0) >> 1] | 0) << $10 | 0) >> $10 | 0) << 16 | 0) | 0 | 0; + } + + function btAlignedObjectArray_btInternalEdge___capacity_28_29_20const($0) { + $0 = $0 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + return HEAP32[((HEAP32[($3 + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0; + } + + function btAlignedObjectArray_btInternalEdge___size_28_29_20const($0) { + $0 = $0 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + return HEAP32[((HEAP32[($3 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0; + } + + function btAlignedObjectArray_btInternalEdge___push_back_28btInternalEdge_20const__29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $5 = 0, $4 = 0, $6 = 0, $7 = 0, $8 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; + (wasm2js_i32$0 = $4, wasm2js_i32$1 = btAlignedObjectArray_btInternalEdge___size_28_29_20const($5 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + if (!((HEAP32[($4 + 4 | 0) >> 2] | 0 | 0) == (btAlignedObjectArray_btInternalEdge___capacity_28_29_20const($5 | 0) | 0 | 0) & 1 | 0)) { + break label$1 + } + btAlignedObjectArray_btInternalEdge___reserve_28int_29($5 | 0, btAlignedObjectArray_btInternalEdge___allocSize_28int_29($5 | 0, btAlignedObjectArray_btInternalEdge___size_28_29_20const($5 | 0) | 0 | 0) | 0 | 0); + } + $6 = HEAP32[($4 + 8 | 0) >> 2] | 0; + $7 = (HEAP32[($5 + 12 | 0) >> 2] | 0) + ((HEAP32[($5 + 4 | 0) >> 2] | 0) << 2 | 0) | 0; + $8 = HEAPU16[$6 >> 1] | 0 | ((HEAPU16[($6 + 2 | 0) >> 1] | 0) << 16 | 0) | 0; + HEAP16[$7 >> 1] = $8; + HEAP16[($7 + 2 | 0) >> 1] = $8 >>> 16 | 0; + HEAP32[($5 + 4 | 0) >> 2] = (HEAP32[($5 + 4 | 0) >> 2] | 0) + 1 | 0; + __stack_pointer = $4 + 16 | 0; + return; + } + + function btAlignedObjectArray_btInternalVertexPair___push_back_28btInternalVertexPair_20const__29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $5 = 0, $4 = 0, $6 = 0, $7 = 0, $8 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; + (wasm2js_i32$0 = $4, wasm2js_i32$1 = btAlignedObjectArray_btInternalVertexPair___size_28_29_20const($5 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + if (!((HEAP32[($4 + 4 | 0) >> 2] | 0 | 0) == (btAlignedObjectArray_btInternalVertexPair___capacity_28_29_20const($5 | 0) | 0 | 0) & 1 | 0)) { + break label$1 + } + btAlignedObjectArray_btInternalVertexPair___reserve_28int_29($5 | 0, btAlignedObjectArray_btInternalVertexPair___allocSize_28int_29($5 | 0, btAlignedObjectArray_btInternalVertexPair___size_28_29_20const($5 | 0) | 0 | 0) | 0 | 0); + } + $6 = HEAP32[($4 + 8 | 0) >> 2] | 0; + $7 = (HEAP32[($5 + 12 | 0) >> 2] | 0) + ((HEAP32[($5 + 4 | 0) >> 2] | 0) << 2 | 0) | 0; + $8 = HEAPU16[$6 >> 1] | 0 | ((HEAPU16[($6 + 2 | 0) >> 1] | 0) << 16 | 0) | 0; + HEAP16[$7 >> 1] = $8; + HEAP16[($7 + 2 | 0) >> 1] = $8 >>> 16 | 0; + HEAP32[($5 + 4 | 0) >> 2] = (HEAP32[($5 + 4 | 0) >> 2] | 0) + 1 | 0; + __stack_pointer = $4 + 16 | 0; + return; + } + + function btHashMap_btInternalVertexPair_2c_20btInternalEdge___growTables_28btInternalVertexPair_20const__29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, $5 = 0, $17 = 0, $24 = 0, $80 = 0, $85 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4 = __stack_pointer - 32 | 0; + __stack_pointer = $4; + HEAP32[($4 + 28 | 0) >> 2] = $0; + HEAP32[($4 + 24 | 0) >> 2] = $1; + $5 = HEAP32[($4 + 28 | 0) >> 2] | 0; + (wasm2js_i32$0 = $4, wasm2js_i32$1 = btAlignedObjectArray_btInternalEdge___capacity_28_29_20const($5 + 40 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + if (!((btAlignedObjectArray_int___size_28_29_20const($5 | 0) | 0 | 0) < (HEAP32[($4 + 20 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$1 + } + (wasm2js_i32$0 = $4, wasm2js_i32$1 = btAlignedObjectArray_int___size_28_29_20const($5 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + $17 = HEAP32[($4 + 20 | 0) >> 2] | 0; + HEAP32[($4 + 12 | 0) >> 2] = 0; + btAlignedObjectArray_int___resize_28int_2c_20int_20const__29($5 | 0, $17 | 0, $4 + 12 | 0 | 0); + $24 = HEAP32[($4 + 20 | 0) >> 2] | 0; + HEAP32[($4 + 8 | 0) >> 2] = 0; + btAlignedObjectArray_int___resize_28int_2c_20int_20const__29($5 + 20 | 0 | 0, $24 | 0, $4 + 8 | 0 | 0); + HEAP32[($4 + 4 | 0) >> 2] = 0; + label$2 : { + label$3 : while (1) { + if (!((HEAP32[($4 + 4 | 0) >> 2] | 0 | 0) < (HEAP32[($4 + 20 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$2 + } + (wasm2js_i32$0 = btAlignedObjectArray_int___operator_5b_5d_28int_29($5 | 0, HEAP32[($4 + 4 | 0) >> 2] | 0 | 0) | 0, wasm2js_i32$1 = -1), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + HEAP32[($4 + 4 | 0) >> 2] = (HEAP32[($4 + 4 | 0) >> 2] | 0) + 1 | 0; + continue label$3; + }; + } + HEAP32[($4 + 4 | 0) >> 2] = 0; + label$4 : { + label$5 : while (1) { + if (!((HEAP32[($4 + 4 | 0) >> 2] | 0 | 0) < (HEAP32[($4 + 20 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$4 + } + (wasm2js_i32$0 = btAlignedObjectArray_int___operator_5b_5d_28int_29($5 + 20 | 0 | 0, HEAP32[($4 + 4 | 0) >> 2] | 0 | 0) | 0, wasm2js_i32$1 = -1), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + HEAP32[($4 + 4 | 0) >> 2] = (HEAP32[($4 + 4 | 0) >> 2] | 0) + 1 | 0; + continue label$5; + }; + } + HEAP32[($4 + 4 | 0) >> 2] = 0; + label$6 : { + label$7 : while (1) { + if (!((HEAP32[($4 + 4 | 0) >> 2] | 0 | 0) < (HEAP32[($4 + 16 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$6 + } + (wasm2js_i32$0 = $4, wasm2js_i32$1 = (btInternalVertexPair__getHash_28_29_20const(btAlignedObjectArray_btInternalVertexPair___operator_5b_5d_28int_29($5 + 60 | 0 | 0, HEAP32[($4 + 4 | 0) >> 2] | 0 | 0) | 0 | 0) | 0) & ((btAlignedObjectArray_btInternalEdge___capacity_28_29_20const($5 + 40 | 0 | 0) | 0) - 1 | 0) | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + $80 = HEAP32[(btAlignedObjectArray_int___operator_5b_5d_28int_29($5 | 0, HEAP32[$4 >> 2] | 0 | 0) | 0) >> 2] | 0; + (wasm2js_i32$0 = btAlignedObjectArray_int___operator_5b_5d_28int_29($5 + 20 | 0 | 0, HEAP32[($4 + 4 | 0) >> 2] | 0 | 0) | 0, wasm2js_i32$1 = $80), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + $85 = HEAP32[($4 + 4 | 0) >> 2] | 0; + (wasm2js_i32$0 = btAlignedObjectArray_int___operator_5b_5d_28int_29($5 | 0, HEAP32[$4 >> 2] | 0 | 0) | 0, wasm2js_i32$1 = $85), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + HEAP32[($4 + 4 | 0) >> 2] = (HEAP32[($4 + 4 | 0) >> 2] | 0) + 1 | 0; + continue label$7; + }; + } + } + __stack_pointer = $4 + 32 | 0; + return; + } + + function btAlignedObjectArray_btInternalVertexPair____btAlignedObjectArray_28_29($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + btAlignedObjectArray_btInternalVertexPair___clear_28_29($4 | 0); + __stack_pointer = $3 + 16 | 0; + return $4 | 0; + } + + function btAlignedObjectArray_btInternalEdge____btAlignedObjectArray_28_29($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + btAlignedObjectArray_btInternalEdge___clear_28_29($4 | 0); + __stack_pointer = $3 + 16 | 0; + return $4 | 0; + } + + function btConvexPolyhedron__project_28btTransform_20const__2c_20btVector3_20const__2c_20float__2c_20float__2c_20btVector3__2c_20btVector3__29_20const($0, $1, $2, $3, $4, $5, $6) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + $4 = $4 | 0; + $5 = $5 | 0; + $6 = $6 | 0; + var $9 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, $10 = 0, $47 = 0, $49 = 0, $63 = 0, $65 = 0, $192 = 0, $205 = 0, $231 = 0, $244 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0, wasm2js_f32$0 = Math_fround(0); + $9 = __stack_pointer - 64 | 0; + __stack_pointer = $9; + HEAP32[($9 + 60 | 0) >> 2] = $0; + HEAP32[($9 + 56 | 0) >> 2] = $1; + HEAP32[($9 + 52 | 0) >> 2] = $2; + HEAP32[($9 + 48 | 0) >> 2] = $3; + HEAP32[($9 + 44 | 0) >> 2] = $4; + HEAP32[($9 + 40 | 0) >> 2] = $5; + HEAP32[($9 + 36 | 0) >> 2] = $6; + $10 = HEAP32[($9 + 60 | 0) >> 2] | 0; + HEAPF32[(HEAP32[($9 + 48 | 0) >> 2] | 0) >> 2] = Math_fround(3402823466385288598117041.0e14); + HEAPF32[(HEAP32[($9 + 44 | 0) >> 2] | 0) >> 2] = Math_fround(-3402823466385288598117041.0e14); + (wasm2js_i32$0 = $9, wasm2js_i32$1 = btAlignedObjectArray_btVector3___size_28_29_20const($10 + 4 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 32 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($9 + 28 | 0) >> 2] = 0; + label$1 : { + label$2 : while (1) { + if (!((HEAP32[($9 + 28 | 0) >> 2] | 0 | 0) < (HEAP32[($9 + 32 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$1 + } + btTransform__operator__28btVector3_20const__29_20const($9 + 12 | 0 | 0, HEAP32[($9 + 56 | 0) >> 2] | 0 | 0, btAlignedObjectArray_btVector3___operator_5b_5d_28int_29_20const($10 + 4 | 0 | 0, HEAP32[($9 + 28 | 0) >> 2] | 0 | 0) | 0 | 0); + (wasm2js_i32$0 = $9, wasm2js_f32$0 = Math_fround(btVector3__dot_28btVector3_20const__29_20const($9 + 12 | 0 | 0, HEAP32[($9 + 52 | 0) >> 2] | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_f32$0; + label$3 : { + if (!(Math_fround(HEAPF32[($9 + 8 | 0) >> 2]) < Math_fround(HEAPF32[(HEAP32[($9 + 48 | 0) >> 2] | 0) >> 2]) & 1 | 0)) { + break label$3 + } + HEAPF32[(HEAP32[($9 + 48 | 0) >> 2] | 0) >> 2] = Math_fround(HEAPF32[($9 + 8 | 0) >> 2]); + $47 = HEAP32[($9 + 40 | 0) >> 2] | 0; + i64toi32_i32$2 = $9; + i64toi32_i32$0 = HEAP32[($9 + 12 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($9 + 16 | 0) >> 2] | 0; + $192 = i64toi32_i32$0; + i64toi32_i32$0 = $47; + HEAP32[i64toi32_i32$0 >> 2] = $192; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $49 = 8; + i64toi32_i32$2 = ($9 + 12 | 0) + $49 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $205 = i64toi32_i32$1; + i64toi32_i32$1 = $47 + $49 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $205; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + } + label$4 : { + if (!(Math_fround(HEAPF32[($9 + 8 | 0) >> 2]) > Math_fround(HEAPF32[(HEAP32[($9 + 44 | 0) >> 2] | 0) >> 2]) & 1 | 0)) { + break label$4 + } + HEAPF32[(HEAP32[($9 + 44 | 0) >> 2] | 0) >> 2] = Math_fround(HEAPF32[($9 + 8 | 0) >> 2]); + $63 = HEAP32[($9 + 36 | 0) >> 2] | 0; + i64toi32_i32$2 = $9; + i64toi32_i32$0 = HEAP32[($9 + 12 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($9 + 16 | 0) >> 2] | 0; + $231 = i64toi32_i32$0; + i64toi32_i32$0 = $63; + HEAP32[i64toi32_i32$0 >> 2] = $231; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $65 = 8; + i64toi32_i32$2 = ($9 + 12 | 0) + $65 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $244 = i64toi32_i32$1; + i64toi32_i32$1 = $63 + $65 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $244; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + } + HEAP32[($9 + 28 | 0) >> 2] = (HEAP32[($9 + 28 | 0) >> 2] | 0) + 1 | 0; + continue label$2; + }; + } + label$5 : { + if (!(Math_fround(HEAPF32[(HEAP32[($9 + 48 | 0) >> 2] | 0) >> 2]) > Math_fround(HEAPF32[(HEAP32[($9 + 44 | 0) >> 2] | 0) >> 2]) & 1 | 0)) { + break label$5 + } + void_20btSwap_float__28float__2c_20float__29(HEAP32[($9 + 48 | 0) >> 2] | 0 | 0, HEAP32[($9 + 44 | 0) >> 2] | 0 | 0); + void_20btSwap_btVector3__28btVector3__2c_20btVector3__29(HEAP32[($9 + 40 | 0) >> 2] | 0 | 0, HEAP32[($9 + 36 | 0) >> 2] | 0 | 0); + } + __stack_pointer = $9 + 64 | 0; + return; + } + + function void_20btSwap_float__28float__2c_20float__29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0; + $4 = __stack_pointer - 16 | 0; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + HEAPF32[($4 + 4 | 0) >> 2] = Math_fround(HEAPF32[(HEAP32[($4 + 12 | 0) >> 2] | 0) >> 2]); + HEAPF32[(HEAP32[($4 + 12 | 0) >> 2] | 0) >> 2] = Math_fround(HEAPF32[(HEAP32[($4 + 8 | 0) >> 2] | 0) >> 2]); + HEAPF32[(HEAP32[($4 + 8 | 0) >> 2] | 0) >> 2] = Math_fround(HEAPF32[($4 + 4 | 0) >> 2]); + return; + } + + function void_20btSwap_btVector3__28btVector3__2c_20btVector3__29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, $4 = 0, $5 = 0, $6 = 0, $14 = 0, $16 = 0, $20 = 0, $22 = 0, $50 = 0, $54 = 0, $62 = 0, $72 = 0, $78 = 0, $91 = 0; + $4 = __stack_pointer - 32 | 0; + HEAP32[($4 + 28 | 0) >> 2] = $0; + HEAP32[($4 + 24 | 0) >> 2] = $1; + $5 = HEAP32[($4 + 28 | 0) >> 2] | 0; + $6 = 8; + i64toi32_i32$2 = $5 + $6 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $50 = i64toi32_i32$0; + i64toi32_i32$0 = ($4 + 8 | 0) + $6 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $50; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$2 = $5; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $54 = i64toi32_i32$1; + i64toi32_i32$1 = $4; + HEAP32[(i64toi32_i32$1 + 8 | 0) >> 2] = $54; + HEAP32[(i64toi32_i32$1 + 12 | 0) >> 2] = i64toi32_i32$0; + $14 = HEAP32[(i64toi32_i32$1 + 28 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$1 + 24 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $62 = i64toi32_i32$0; + i64toi32_i32$0 = $14; + HEAP32[i64toi32_i32$0 >> 2] = $62; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $16 = 8; + i64toi32_i32$2 = i64toi32_i32$2 + $16 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $72 = i64toi32_i32$1; + i64toi32_i32$1 = $14 + $16 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $72; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + $20 = HEAP32[($4 + 24 | 0) >> 2] | 0; + i64toi32_i32$2 = $4; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 8 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 12 | 0) >> 2] | 0; + $78 = i64toi32_i32$0; + i64toi32_i32$0 = $20; + HEAP32[i64toi32_i32$0 >> 2] = $78; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $22 = 8; + i64toi32_i32$2 = (i64toi32_i32$2 + 8 | 0) + $22 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $91 = i64toi32_i32$1; + i64toi32_i32$1 = $20 + $22 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $91; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + return; + } + + function btAlignedAllocator_btInternalEdge_2c_2016u___btAlignedAllocator_28_29($0) { + $0 = $0 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + return HEAP32[($3 + 12 | 0) >> 2] | 0 | 0; + } + + function btAlignedObjectArray_btInternalEdge___init_28_29($0) { + $0 = $0 | 0; + var $4 = 0, $3 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + HEAP8[($4 + 16 | 0) >> 0] = 1; + HEAP32[($4 + 12 | 0) >> 2] = 0; + HEAP32[($4 + 4 | 0) >> 2] = 0; + HEAP32[($4 + 8 | 0) >> 2] = 0; + return; + } + + function btAlignedAllocator_btInternalVertexPair_2c_2016u___btAlignedAllocator_28_29($0) { + $0 = $0 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + return HEAP32[($3 + 12 | 0) >> 2] | 0 | 0; + } + + function btAlignedObjectArray_btInternalVertexPair___init_28_29($0) { + $0 = $0 | 0; + var $4 = 0, $3 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + HEAP8[($4 + 16 | 0) >> 0] = 1; + HEAP32[($4 + 12 | 0) >> 2] = 0; + HEAP32[($4 + 4 | 0) >> 2] = 0; + HEAP32[($4 + 8 | 0) >> 2] = 0; + return; + } + + function btAlignedObjectArray_btInternalVertexPair___clear_28_29($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + btAlignedObjectArray_btInternalVertexPair___destroy_28int_2c_20int_29($4 | 0, 0 | 0, btAlignedObjectArray_btInternalVertexPair___size_28_29_20const($4 | 0) | 0 | 0); + btAlignedObjectArray_btInternalVertexPair___deallocate_28_29($4 | 0); + btAlignedObjectArray_btInternalVertexPair___init_28_29($4 | 0); + __stack_pointer = $3 + 16 | 0; + return; + } + + function btAlignedObjectArray_btInternalEdge___clear_28_29($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + btAlignedObjectArray_btInternalEdge___destroy_28int_2c_20int_29($4 | 0, 0 | 0, btAlignedObjectArray_btInternalEdge___size_28_29_20const($4 | 0) | 0 | 0); + btAlignedObjectArray_btInternalEdge___deallocate_28_29($4 | 0); + btAlignedObjectArray_btInternalEdge___init_28_29($4 | 0); + __stack_pointer = $3 + 16 | 0; + return; + } + + function btAlignedObjectArray_btInternalVertexPair___size_28_29_20const($0) { + $0 = $0 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + return HEAP32[((HEAP32[($3 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0; + } + + function btAlignedObjectArray_btInternalVertexPair___destroy_28int_2c_20int_29($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $5 = 0; + $5 = __stack_pointer - 16 | 0; + HEAP32[($5 + 12 | 0) >> 2] = $0; + HEAP32[($5 + 8 | 0) >> 2] = $1; + HEAP32[($5 + 4 | 0) >> 2] = $2; + HEAP32[($5 + 12 | 0) >> 2] | 0; + HEAP32[$5 >> 2] = HEAP32[($5 + 8 | 0) >> 2] | 0; + label$1 : { + label$2 : while (1) { + if (!((HEAP32[$5 >> 2] | 0 | 0) < (HEAP32[($5 + 4 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$1 + } + HEAP32[$5 >> 2] = (HEAP32[$5 >> 2] | 0) + 1 | 0; + continue label$2; + }; + } + return; + } + + function btAlignedObjectArray_btInternalVertexPair___deallocate_28_29($0) { + $0 = $0 | 0; + var $4 = 0, $3 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + label$1 : { + if (!((HEAP32[($4 + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + label$2 : { + if (!((HEAPU8[($4 + 16 | 0) >> 0] | 0) & 1 | 0)) { + break label$2 + } + btAlignedAllocator_btInternalVertexPair_2c_2016u___deallocate_28btInternalVertexPair__29($4 | 0, HEAP32[($4 + 12 | 0) >> 2] | 0 | 0); + } + HEAP32[($4 + 12 | 0) >> 2] = 0; + } + __stack_pointer = $3 + 16 | 0; + return; + } + + function btAlignedAllocator_btInternalVertexPair_2c_2016u___deallocate_28btInternalVertexPair__29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0; + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + btAlignedFreeInternal_28void__29(HEAP32[($4 + 8 | 0) >> 2] | 0 | 0); + __stack_pointer = $4 + 16 | 0; + return; + } + + function btAlignedObjectArray_btInternalEdge___destroy_28int_2c_20int_29($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $5 = 0; + $5 = __stack_pointer - 16 | 0; + HEAP32[($5 + 12 | 0) >> 2] = $0; + HEAP32[($5 + 8 | 0) >> 2] = $1; + HEAP32[($5 + 4 | 0) >> 2] = $2; + HEAP32[($5 + 12 | 0) >> 2] | 0; + HEAP32[$5 >> 2] = HEAP32[($5 + 8 | 0) >> 2] | 0; + label$1 : { + label$2 : while (1) { + if (!((HEAP32[$5 >> 2] | 0 | 0) < (HEAP32[($5 + 4 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$1 + } + HEAP32[$5 >> 2] = (HEAP32[$5 >> 2] | 0) + 1 | 0; + continue label$2; + }; + } + return; + } + + function btAlignedObjectArray_btInternalEdge___deallocate_28_29($0) { + $0 = $0 | 0; + var $4 = 0, $3 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + label$1 : { + if (!((HEAP32[($4 + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + label$2 : { + if (!((HEAPU8[($4 + 16 | 0) >> 0] | 0) & 1 | 0)) { + break label$2 + } + btAlignedAllocator_btInternalEdge_2c_2016u___deallocate_28btInternalEdge__29($4 | 0, HEAP32[($4 + 12 | 0) >> 2] | 0 | 0); + } + HEAP32[($4 + 12 | 0) >> 2] = 0; + } + __stack_pointer = $3 + 16 | 0; + return; + } + + function btAlignedAllocator_btInternalEdge_2c_2016u___deallocate_28btInternalEdge__29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0; + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + btAlignedFreeInternal_28void__29(HEAP32[($4 + 8 | 0) >> 2] | 0 | 0); + __stack_pointer = $4 + 16 | 0; + return; + } + + function btAlignedObjectArray_btInternalVertexPair___operator_5b_5d_28int_29_20const($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, $5 = 0, $32 = 0; + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; + label$1 : { + if ((HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0) { + break label$1 + } + __assert_fail(85840 | 0, 78192 | 0, 176 | 0, 83901 | 0); + wasm2js_trap(); + } + label$2 : { + if ((HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) < (btAlignedObjectArray_btInternalVertexPair___size_28_29_20const($5 | 0) | 0 | 0) & 1 | 0) { + break label$2 + } + __assert_fail(87321 | 0, 78192 | 0, 177 | 0, 83901 | 0); + wasm2js_trap(); + } + $32 = (HEAP32[($5 + 12 | 0) >> 2] | 0) + ((HEAP32[($4 + 8 | 0) >> 2] | 0) << 2 | 0) | 0; + __stack_pointer = $4 + 16 | 0; + return $32 | 0; + } + + function btInternalVertexPair__equals_28btInternalVertexPair_20const__29_20const($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, $5 = 0, $7 = 0, $12 = 0, $21 = 0, $23 = 0, $28 = 0; + $4 = __stack_pointer - 16 | 0; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; + $7 = 16; + $12 = 16; + $21 = 0; + label$1 : { + if (!((((HEAPU16[$5 >> 1] | 0) << $7 | 0) >> $7 | 0 | 0) == (((HEAPU16[(HEAP32[($4 + 8 | 0) >> 2] | 0) >> 1] | 0) << $12 | 0) >> $12 | 0 | 0) & 1 | 0)) { + break label$1 + } + $23 = 16; + $28 = 16; + $21 = (((HEAPU16[($5 + 2 | 0) >> 1] | 0) << $23 | 0) >> $23 | 0 | 0) == (((HEAPU16[((HEAP32[($4 + 8 | 0) >> 2] | 0) + 2 | 0) >> 1] | 0) << $28 | 0) >> $28 | 0 | 0); + } + return $21 & 1 | 0 | 0; + } + + function btAlignedObjectArray_btInternalEdge___allocSize_28int_29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, $9 = 0; + $4 = __stack_pointer - 16 | 0; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + label$1 : { + label$2 : { + if (!(HEAP32[($4 + 8 | 0) >> 2] | 0)) { + break label$2 + } + $9 = (HEAP32[($4 + 8 | 0) >> 2] | 0) << 1 | 0; + break label$1; + } + $9 = 1; + } + return $9 | 0; + } + + function btAlignedObjectArray_btInternalEdge___reserve_28int_29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, $5 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; + label$1 : { + if (!((btAlignedObjectArray_btInternalEdge___capacity_28_29_20const($5 | 0) | 0 | 0) < (HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$1 + } + (wasm2js_i32$0 = $4, wasm2js_i32$1 = btAlignedObjectArray_btInternalEdge___allocate_28int_29($5 | 0, HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + btAlignedObjectArray_btInternalEdge___copy_28int_2c_20int_2c_20btInternalEdge__29_20const($5 | 0, 0 | 0, btAlignedObjectArray_btInternalEdge___size_28_29_20const($5 | 0) | 0 | 0, HEAP32[($4 + 4 | 0) >> 2] | 0 | 0); + btAlignedObjectArray_btInternalEdge___destroy_28int_2c_20int_29($5 | 0, 0 | 0, btAlignedObjectArray_btInternalEdge___size_28_29_20const($5 | 0) | 0 | 0); + btAlignedObjectArray_btInternalEdge___deallocate_28_29($5 | 0); + HEAP8[($5 + 16 | 0) >> 0] = 1; + HEAP32[($5 + 12 | 0) >> 2] = HEAP32[($4 + 4 | 0) >> 2] | 0; + HEAP32[($5 + 8 | 0) >> 2] = HEAP32[($4 + 8 | 0) >> 2] | 0; + } + __stack_pointer = $4 + 16 | 0; + return; + } + + function btAlignedObjectArray_btInternalVertexPair___capacity_28_29_20const($0) { + $0 = $0 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + return HEAP32[((HEAP32[($3 + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0; + } + + function btAlignedObjectArray_btInternalVertexPair___allocSize_28int_29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, $9 = 0; + $4 = __stack_pointer - 16 | 0; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + label$1 : { + label$2 : { + if (!(HEAP32[($4 + 8 | 0) >> 2] | 0)) { + break label$2 + } + $9 = (HEAP32[($4 + 8 | 0) >> 2] | 0) << 1 | 0; + break label$1; + } + $9 = 1; + } + return $9 | 0; + } + + function btAlignedObjectArray_btInternalVertexPair___reserve_28int_29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, $5 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; + label$1 : { + if (!((btAlignedObjectArray_btInternalVertexPair___capacity_28_29_20const($5 | 0) | 0 | 0) < (HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$1 + } + (wasm2js_i32$0 = $4, wasm2js_i32$1 = btAlignedObjectArray_btInternalVertexPair___allocate_28int_29($5 | 0, HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + btAlignedObjectArray_btInternalVertexPair___copy_28int_2c_20int_2c_20btInternalVertexPair__29_20const($5 | 0, 0 | 0, btAlignedObjectArray_btInternalVertexPair___size_28_29_20const($5 | 0) | 0 | 0, HEAP32[($4 + 4 | 0) >> 2] | 0 | 0); + btAlignedObjectArray_btInternalVertexPair___destroy_28int_2c_20int_29($5 | 0, 0 | 0, btAlignedObjectArray_btInternalVertexPair___size_28_29_20const($5 | 0) | 0 | 0); + btAlignedObjectArray_btInternalVertexPair___deallocate_28_29($5 | 0); + HEAP8[($5 + 16 | 0) >> 0] = 1; + HEAP32[($5 + 12 | 0) >> 2] = HEAP32[($4 + 4 | 0) >> 2] | 0; + HEAP32[($5 + 8 | 0) >> 2] = HEAP32[($4 + 8 | 0) >> 2] | 0; + } + __stack_pointer = $4 + 16 | 0; + return; + } + + function btAlignedObjectArray_btInternalVertexPair___operator_5b_5d_28int_29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, $5 = 0, $32 = 0; + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; + label$1 : { + if ((HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0) { + break label$1 + } + __assert_fail(85840 | 0, 78192 | 0, 183 | 0, 83901 | 0); + wasm2js_trap(); + } + label$2 : { + if ((HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) < (btAlignedObjectArray_btInternalVertexPair___size_28_29_20const($5 | 0) | 0 | 0) & 1 | 0) { + break label$2 + } + __assert_fail(87321 | 0, 78192 | 0, 184 | 0, 83901 | 0); + wasm2js_trap(); + } + $32 = (HEAP32[($5 + 12 | 0) >> 2] | 0) + ((HEAP32[($4 + 8 | 0) >> 2] | 0) << 2 | 0) | 0; + __stack_pointer = $4 + 16 | 0; + return $32 | 0; + } + + function btAlignedObjectArray_btInternalEdge___allocate_28int_29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, $5 = 0, $11 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[($4 + 8 | 0) >> 2] = $0; + HEAP32[($4 + 4 | 0) >> 2] = $1; + $5 = HEAP32[($4 + 8 | 0) >> 2] | 0; + label$1 : { + label$2 : { + if (!(HEAP32[($4 + 4 | 0) >> 2] | 0)) { + break label$2 + } + (wasm2js_i32$0 = $4, wasm2js_i32$1 = btAlignedAllocator_btInternalEdge_2c_2016u___allocate_28int_2c_20btInternalEdge_20const___29($5 | 0, HEAP32[($4 + 4 | 0) >> 2] | 0 | 0, 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + break label$1; + } + HEAP32[($4 + 12 | 0) >> 2] = 0; + } + $11 = HEAP32[($4 + 12 | 0) >> 2] | 0; + __stack_pointer = $4 + 16 | 0; + return $11 | 0; + } + + function btAlignedObjectArray_btInternalEdge___copy_28int_2c_20int_2c_20btInternalEdge__29_20const($0, $1, $2, $3) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + var $6 = 0, $8 = 0, $9 = 0, $10 = 0, $7 = 0; + $6 = __stack_pointer - 32 | 0; + HEAP32[($6 + 28 | 0) >> 2] = $0; + HEAP32[($6 + 24 | 0) >> 2] = $1; + HEAP32[($6 + 20 | 0) >> 2] = $2; + HEAP32[($6 + 16 | 0) >> 2] = $3; + $7 = HEAP32[($6 + 28 | 0) >> 2] | 0; + HEAP32[($6 + 12 | 0) >> 2] = HEAP32[($6 + 24 | 0) >> 2] | 0; + label$1 : { + label$2 : while (1) { + if (!((HEAP32[($6 + 12 | 0) >> 2] | 0 | 0) < (HEAP32[($6 + 20 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$1 + } + $8 = (HEAP32[($7 + 12 | 0) >> 2] | 0) + ((HEAP32[($6 + 12 | 0) >> 2] | 0) << 2 | 0) | 0; + $9 = (HEAP32[($6 + 16 | 0) >> 2] | 0) + ((HEAP32[($6 + 12 | 0) >> 2] | 0) << 2 | 0) | 0; + $10 = HEAPU16[$8 >> 1] | 0 | ((HEAPU16[($8 + 2 | 0) >> 1] | 0) << 16 | 0) | 0; + HEAP16[$9 >> 1] = $10; + HEAP16[($9 + 2 | 0) >> 1] = $10 >>> 16 | 0; + HEAP32[($6 + 12 | 0) >> 2] = (HEAP32[($6 + 12 | 0) >> 2] | 0) + 1 | 0; + continue label$2; + }; + } + return; + } + + function btAlignedAllocator_btInternalEdge_2c_2016u___allocate_28int_2c_20btInternalEdge_20const___29($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $5 = 0, $10 = 0; + $5 = __stack_pointer - 16 | 0; + __stack_pointer = $5; + HEAP32[($5 + 12 | 0) >> 2] = $0; + HEAP32[($5 + 8 | 0) >> 2] = $1; + HEAP32[($5 + 4 | 0) >> 2] = $2; + $10 = btAlignedAllocInternal_28unsigned_20long_2c_20int_29((HEAP32[($5 + 8 | 0) >> 2] | 0) << 2 | 0 | 0, 16 | 0) | 0; + __stack_pointer = $5 + 16 | 0; + return $10 | 0; + } + + function btAlignedObjectArray_btInternalVertexPair___allocate_28int_29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, $5 = 0, $11 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[($4 + 8 | 0) >> 2] = $0; + HEAP32[($4 + 4 | 0) >> 2] = $1; + $5 = HEAP32[($4 + 8 | 0) >> 2] | 0; + label$1 : { + label$2 : { + if (!(HEAP32[($4 + 4 | 0) >> 2] | 0)) { + break label$2 + } + (wasm2js_i32$0 = $4, wasm2js_i32$1 = btAlignedAllocator_btInternalVertexPair_2c_2016u___allocate_28int_2c_20btInternalVertexPair_20const___29($5 | 0, HEAP32[($4 + 4 | 0) >> 2] | 0 | 0, 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + break label$1; + } + HEAP32[($4 + 12 | 0) >> 2] = 0; + } + $11 = HEAP32[($4 + 12 | 0) >> 2] | 0; + __stack_pointer = $4 + 16 | 0; + return $11 | 0; + } + + function btAlignedObjectArray_btInternalVertexPair___copy_28int_2c_20int_2c_20btInternalVertexPair__29_20const($0, $1, $2, $3) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + var $6 = 0, $8 = 0, $9 = 0, $10 = 0, $7 = 0; + $6 = __stack_pointer - 32 | 0; + HEAP32[($6 + 28 | 0) >> 2] = $0; + HEAP32[($6 + 24 | 0) >> 2] = $1; + HEAP32[($6 + 20 | 0) >> 2] = $2; + HEAP32[($6 + 16 | 0) >> 2] = $3; + $7 = HEAP32[($6 + 28 | 0) >> 2] | 0; + HEAP32[($6 + 12 | 0) >> 2] = HEAP32[($6 + 24 | 0) >> 2] | 0; + label$1 : { + label$2 : while (1) { + if (!((HEAP32[($6 + 12 | 0) >> 2] | 0 | 0) < (HEAP32[($6 + 20 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$1 + } + $8 = (HEAP32[($7 + 12 | 0) >> 2] | 0) + ((HEAP32[($6 + 12 | 0) >> 2] | 0) << 2 | 0) | 0; + $9 = (HEAP32[($6 + 16 | 0) >> 2] | 0) + ((HEAP32[($6 + 12 | 0) >> 2] | 0) << 2 | 0) | 0; + $10 = HEAPU16[$8 >> 1] | 0 | ((HEAPU16[($8 + 2 | 0) >> 1] | 0) << 16 | 0) | 0; + HEAP16[$9 >> 1] = $10; + HEAP16[($9 + 2 | 0) >> 1] = $10 >>> 16 | 0; + HEAP32[($6 + 12 | 0) >> 2] = (HEAP32[($6 + 12 | 0) >> 2] | 0) + 1 | 0; + continue label$2; + }; + } + return; + } + + function btAlignedAllocator_btInternalVertexPair_2c_2016u___allocate_28int_2c_20btInternalVertexPair_20const___29($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $5 = 0, $10 = 0; + $5 = __stack_pointer - 16 | 0; + __stack_pointer = $5; + HEAP32[($5 + 12 | 0) >> 2] = $0; + HEAP32[($5 + 8 | 0) >> 2] = $1; + HEAP32[($5 + 4 | 0) >> 2] = $2; + $10 = btAlignedAllocInternal_28unsigned_20long_2c_20int_29((HEAP32[($5 + 8 | 0) >> 2] | 0) << 2 | 0 | 0, 16 | 0) | 0; + __stack_pointer = $5 + 16 | 0; + return $10 | 0; + } + + function _GLOBAL__sub_I_btConvexPolyhedron_cpp() { + __cxx_global_var_init_43(); + return; + } + + function __cxx_global_var_init_44() { + btInfMaskConverter__btInfMaskConverter_28int_29(114164 | 0, 2139095040 | 0) | 0; + return; + } + + function btGeometryUtil__isPointInsidePlanes_28btAlignedObjectArray_btVector3__20const__2c_20btVector3_20const__2c_20float_29($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = Math_fround($2); + var $5 = 0, $45 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0, wasm2js_f32$0 = Math_fround(0); + $5 = __stack_pointer - 32 | 0; + __stack_pointer = $5; + HEAP32[($5 + 24 | 0) >> 2] = $0; + HEAP32[($5 + 20 | 0) >> 2] = $1; + HEAPF32[($5 + 16 | 0) >> 2] = $2; + (wasm2js_i32$0 = $5, wasm2js_i32$1 = btAlignedObjectArray_btVector3___size_28_29_20const(HEAP32[($5 + 24 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($5 + 8 | 0) >> 2] = 0; + label$1 : { + label$2 : { + label$3 : while (1) { + if (!((HEAP32[($5 + 8 | 0) >> 2] | 0 | 0) < (HEAP32[($5 + 12 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$2 + } + (wasm2js_i32$0 = $5, wasm2js_i32$1 = btAlignedObjectArray_btVector3___operator_5b_5d_28int_29_20const(HEAP32[($5 + 24 | 0) >> 2] | 0 | 0, HEAP32[($5 + 8 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $5, wasm2js_f32$0 = Math_fround(Math_fround(Math_fround(btVector3__dot_28btVector3_20const__29_20const(HEAP32[($5 + 4 | 0) >> 2] | 0 | 0, HEAP32[($5 + 20 | 0) >> 2] | 0 | 0)) + Math_fround(HEAPF32[((btVector3__operator_20float_20const__28_29_20const(HEAP32[($5 + 4 | 0) >> 2] | 0 | 0) | 0) + 12 | 0) >> 2])) - Math_fround(HEAPF32[($5 + 16 | 0) >> 2]))), HEAPF32[wasm2js_i32$0 >> 2] = wasm2js_f32$0; + label$4 : { + if (!(Math_fround(HEAPF32[$5 >> 2]) > Math_fround(0 | 0) & 1 | 0)) { + break label$4 + } + HEAP8[($5 + 31 | 0) >> 0] = 0 & 1 | 0; + break label$1; + } + HEAP32[($5 + 8 | 0) >> 2] = (HEAP32[($5 + 8 | 0) >> 2] | 0) + 1 | 0; + continue label$3; + }; + } + HEAP8[($5 + 31 | 0) >> 0] = 1 & 1 | 0; + } + $45 = (HEAPU8[($5 + 31 | 0) >> 0] | 0) & 1 | 0; + __stack_pointer = $5 + 32 | 0; + return $45 | 0; + } + + function btGeometryUtil__areVerticesBehindPlane_28btVector3_20const__2c_20btAlignedObjectArray_btVector3__20const__2c_20float_29($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = Math_fround($2); + var $5 = 0, $45 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0, wasm2js_f32$0 = Math_fround(0); + $5 = __stack_pointer - 32 | 0; + __stack_pointer = $5; + HEAP32[($5 + 24 | 0) >> 2] = $0; + HEAP32[($5 + 20 | 0) >> 2] = $1; + HEAPF32[($5 + 16 | 0) >> 2] = $2; + (wasm2js_i32$0 = $5, wasm2js_i32$1 = btAlignedObjectArray_btVector3___size_28_29_20const(HEAP32[($5 + 20 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($5 + 8 | 0) >> 2] = 0; + label$1 : { + label$2 : { + label$3 : while (1) { + if (!((HEAP32[($5 + 8 | 0) >> 2] | 0 | 0) < (HEAP32[($5 + 12 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$2 + } + (wasm2js_i32$0 = $5, wasm2js_i32$1 = btAlignedObjectArray_btVector3___operator_5b_5d_28int_29_20const(HEAP32[($5 + 20 | 0) >> 2] | 0 | 0, HEAP32[($5 + 8 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $5, wasm2js_f32$0 = Math_fround(Math_fround(Math_fround(btVector3__dot_28btVector3_20const__29_20const(HEAP32[($5 + 24 | 0) >> 2] | 0 | 0, HEAP32[($5 + 4 | 0) >> 2] | 0 | 0)) + Math_fround(HEAPF32[((btVector3__operator_20float_20const__28_29_20const(HEAP32[($5 + 24 | 0) >> 2] | 0 | 0) | 0) + 12 | 0) >> 2])) - Math_fround(HEAPF32[($5 + 16 | 0) >> 2]))), HEAPF32[wasm2js_i32$0 >> 2] = wasm2js_f32$0; + label$4 : { + if (!(Math_fround(HEAPF32[$5 >> 2]) > Math_fround(0 | 0) & 1 | 0)) { + break label$4 + } + HEAP8[($5 + 31 | 0) >> 0] = 0 & 1 | 0; + break label$1; + } + HEAP32[($5 + 8 | 0) >> 2] = (HEAP32[($5 + 8 | 0) >> 2] | 0) + 1 | 0; + continue label$3; + }; + } + HEAP8[($5 + 31 | 0) >> 0] = 1 & 1 | 0; + } + $45 = (HEAPU8[($5 + 31 | 0) >> 0] | 0) & 1 | 0; + __stack_pointer = $5 + 32 | 0; + return $45 | 0; + } + + function notExist_28btVector3_20const__2c_20btAlignedObjectArray_btVector3__20const__29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, $36 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4 = __stack_pointer - 32 | 0; + __stack_pointer = $4; + HEAP32[($4 + 24 | 0) >> 2] = $0; + HEAP32[($4 + 20 | 0) >> 2] = $1; + (wasm2js_i32$0 = $4, wasm2js_i32$1 = btAlignedObjectArray_btVector3___size_28_29_20const(HEAP32[($4 + 20 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($4 + 12 | 0) >> 2] = 0; + label$1 : { + label$2 : { + label$3 : while (1) { + if (!((HEAP32[($4 + 12 | 0) >> 2] | 0 | 0) < (HEAP32[($4 + 16 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$2 + } + (wasm2js_i32$0 = $4, wasm2js_i32$1 = btAlignedObjectArray_btVector3___operator_5b_5d_28int_29_20const(HEAP32[($4 + 20 | 0) >> 2] | 0 | 0, HEAP32[($4 + 12 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + label$4 : { + if (!(Math_fround(btVector3__dot_28btVector3_20const__29_20const(HEAP32[($4 + 24 | 0) >> 2] | 0 | 0, HEAP32[($4 + 8 | 0) >> 2] | 0 | 0)) > Math_fround(.9990000128746033) & 1 | 0)) { + break label$4 + } + HEAP8[($4 + 31 | 0) >> 0] = 0 & 1 | 0; + break label$1; + } + HEAP32[($4 + 12 | 0) >> 2] = (HEAP32[($4 + 12 | 0) >> 2] | 0) + 1 | 0; + continue label$3; + }; + } + HEAP8[($4 + 31 | 0) >> 0] = 1 & 1 | 0; + } + $36 = (HEAPU8[($4 + 31 | 0) >> 0] | 0) & 1 | 0; + __stack_pointer = $4 + 32 | 0; + return $36 | 0; + } + + function btGeometryUtil__getPlaneEquationsFromVertices_28btAlignedObjectArray_btVector3___2c_20btAlignedObjectArray_btVector3___29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, $58 = 0, $72 = 0, $104 = 0, $312 = 0, $316 = 0, $343 = 0, $347 = 0, $403 = 0, $407 = 0, $136 = Math_fround(0), wasm2js_i32$0 = 0, wasm2js_i32$1 = 0, wasm2js_f32$0 = Math_fround(0); + $4 = __stack_pointer - 160 | 0; + __stack_pointer = $4; + HEAP32[($4 + 156 | 0) >> 2] = $0; + HEAP32[($4 + 152 | 0) >> 2] = $1; + (wasm2js_i32$0 = $4, wasm2js_i32$1 = btAlignedObjectArray_btVector3___size_28_29_20const(HEAP32[($4 + 156 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 148 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($4 + 144 | 0) >> 2] = 0; + label$1 : { + label$2 : while (1) { + if (!((HEAP32[($4 + 144 | 0) >> 2] | 0 | 0) < (HEAP32[($4 + 148 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$1 + } + (wasm2js_i32$0 = $4, wasm2js_i32$1 = btAlignedObjectArray_btVector3___operator_5b_5d_28int_29(HEAP32[($4 + 156 | 0) >> 2] | 0 | 0, HEAP32[($4 + 144 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 140 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($4 + 136 | 0) >> 2] = (HEAP32[($4 + 144 | 0) >> 2] | 0) + 1 | 0; + label$3 : { + label$4 : while (1) { + if (!((HEAP32[($4 + 136 | 0) >> 2] | 0 | 0) < (HEAP32[($4 + 148 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$3 + } + (wasm2js_i32$0 = $4, wasm2js_i32$1 = btAlignedObjectArray_btVector3___operator_5b_5d_28int_29(HEAP32[($4 + 156 | 0) >> 2] | 0 | 0, HEAP32[($4 + 136 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 132 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($4 + 128 | 0) >> 2] = (HEAP32[($4 + 136 | 0) >> 2] | 0) + 1 | 0; + label$5 : { + label$6 : while (1) { + if (!((HEAP32[($4 + 128 | 0) >> 2] | 0 | 0) < (HEAP32[($4 + 148 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$5 + } + (wasm2js_i32$0 = $4, wasm2js_i32$1 = btAlignedObjectArray_btVector3___operator_5b_5d_28int_29(HEAP32[($4 + 156 | 0) >> 2] | 0 | 0, HEAP32[($4 + 128 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 124 | 0) >> 2] = wasm2js_i32$1; + btVector3__btVector3_28_29($4 + 104 | 0 | 0) | 0; + btVector3__btVector3_28_29($4 + 88 | 0 | 0) | 0; + btVector3__btVector3_28_29($4 + 72 | 0 | 0) | 0; + operator__28btVector3_20const__2c_20btVector3_20const__29($4 + 56 | 0 | 0, HEAP32[($4 + 132 | 0) >> 2] | 0 | 0, HEAP32[($4 + 140 | 0) >> 2] | 0 | 0); + $58 = 8; + i64toi32_i32$2 = ($4 + 56 | 0) + $58 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $312 = i64toi32_i32$0; + i64toi32_i32$0 = ($4 + 88 | 0) + $58 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $312; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$2 = $4; + i64toi32_i32$1 = HEAP32[($4 + 56 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($4 + 60 | 0) >> 2] | 0; + $316 = i64toi32_i32$1; + i64toi32_i32$1 = $4; + HEAP32[($4 + 88 | 0) >> 2] = $316; + HEAP32[($4 + 92 | 0) >> 2] = i64toi32_i32$0; + operator__28btVector3_20const__2c_20btVector3_20const__29($4 + 40 | 0 | 0, HEAP32[($4 + 124 | 0) >> 2] | 0 | 0, HEAP32[($4 + 140 | 0) >> 2] | 0 | 0); + $72 = 8; + i64toi32_i32$2 = ($4 + 40 | 0) + $72 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $343 = i64toi32_i32$0; + i64toi32_i32$0 = ($4 + 72 | 0) + $72 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $343; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$2 = $4; + i64toi32_i32$1 = HEAP32[($4 + 40 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($4 + 44 | 0) >> 2] | 0; + $347 = i64toi32_i32$1; + i64toi32_i32$1 = $4; + HEAP32[($4 + 72 | 0) >> 2] = $347; + HEAP32[($4 + 76 | 0) >> 2] = i64toi32_i32$0; + HEAPF32[($4 + 36 | 0) >> 2] = Math_fround(1.0); + HEAP32[($4 + 32 | 0) >> 2] = 0; + label$7 : { + label$8 : while (1) { + if (!((HEAP32[($4 + 32 | 0) >> 2] | 0 | 0) < (2 | 0) & 1 | 0)) { + break label$7 + } + btVector3__cross_28btVector3_20const__29_20const($4 | 0, $4 + 88 | 0 | 0, $4 + 72 | 0 | 0); + operator__28float_20const__2c_20btVector3_20const__29($4 + 16 | 0 | 0, $4 + 36 | 0 | 0, $4 | 0); + $104 = 8; + i64toi32_i32$2 = ($4 + 16 | 0) + $104 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $403 = i64toi32_i32$0; + i64toi32_i32$0 = ($4 + 104 | 0) + $104 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $403; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$2 = $4; + i64toi32_i32$1 = HEAP32[($4 + 16 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($4 + 20 | 0) >> 2] | 0; + $407 = i64toi32_i32$1; + i64toi32_i32$1 = $4; + HEAP32[($4 + 104 | 0) >> 2] = $407; + HEAP32[($4 + 108 | 0) >> 2] = i64toi32_i32$0; + label$9 : { + if (!(Math_fround(btVector3__length2_28_29_20const($4 + 104 | 0 | 0)) > Math_fround(9.999999747378752e-05) & 1 | 0)) { + break label$9 + } + btVector3__normalize_28_29($4 + 104 | 0 | 0) | 0; + label$10 : { + if (!((notExist_28btVector3_20const__2c_20btAlignedObjectArray_btVector3__20const__29($4 + 104 | 0 | 0, HEAP32[($4 + 152 | 0) >> 2] | 0 | 0) | 0) & 1 | 0)) { + break label$10 + } + $136 = Math_fround(-Math_fround(btVector3__dot_28btVector3_20const__29_20const($4 + 104 | 0 | 0, HEAP32[($4 + 140 | 0) >> 2] | 0 | 0))); + (wasm2js_i32$0 = btVector3__operator_20float__28_29($4 + 104 | 0 | 0) | 0, wasm2js_f32$0 = $136), HEAPF32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_f32$0; + label$11 : { + if (!((btGeometryUtil__areVerticesBehindPlane_28btVector3_20const__2c_20btAlignedObjectArray_btVector3__20const__2c_20float_29($4 + 104 | 0 | 0, HEAP32[($4 + 156 | 0) >> 2] | 0 | 0, Math_fround(Math_fround(.009999999776482582))) | 0) & 1 | 0)) { + break label$11 + } + btAlignedObjectArray_btVector3___push_back_28btVector3_20const__29(HEAP32[($4 + 152 | 0) >> 2] | 0 | 0, $4 + 104 | 0 | 0); + } + } + } + HEAPF32[($4 + 36 | 0) >> 2] = Math_fround(-1.0); + HEAP32[($4 + 32 | 0) >> 2] = (HEAP32[($4 + 32 | 0) >> 2] | 0) + 1 | 0; + continue label$8; + }; + } + HEAP32[($4 + 128 | 0) >> 2] = (HEAP32[($4 + 128 | 0) >> 2] | 0) + 1 | 0; + continue label$6; + }; + } + HEAP32[($4 + 136 | 0) >> 2] = (HEAP32[($4 + 136 | 0) >> 2] | 0) + 1 | 0; + continue label$4; + }; + } + HEAP32[($4 + 144 | 0) >> 2] = (HEAP32[($4 + 144 | 0) >> 2] | 0) + 1 | 0; + continue label$2; + }; + } + __stack_pointer = $4 + 160 | 0; + return; + } + + function btGeometryUtil__getVerticesFromPlaneEquations_28btAlignedObjectArray_btVector3__20const__2c_20btAlignedObjectArray_btVector3___29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, $52 = 0, $69 = 0, $86 = 0, $154 = 0, $324 = 0, $328 = 0, $361 = 0, $365 = 0, $398 = 0, $402 = 0, $529 = 0, $533 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0, wasm2js_f32$0 = Math_fround(0); + $4 = __stack_pointer - 160 | 0; + __stack_pointer = $4; + HEAP32[($4 + 156 | 0) >> 2] = $0; + HEAP32[($4 + 152 | 0) >> 2] = $1; + (wasm2js_i32$0 = $4, wasm2js_i32$1 = btAlignedObjectArray_btVector3___size_28_29_20const(HEAP32[($4 + 156 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 148 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($4 + 144 | 0) >> 2] = 0; + label$1 : { + label$2 : while (1) { + if (!((HEAP32[($4 + 144 | 0) >> 2] | 0 | 0) < (HEAP32[($4 + 148 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$1 + } + (wasm2js_i32$0 = $4, wasm2js_i32$1 = btAlignedObjectArray_btVector3___operator_5b_5d_28int_29_20const(HEAP32[($4 + 156 | 0) >> 2] | 0 | 0, HEAP32[($4 + 144 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 140 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($4 + 136 | 0) >> 2] = (HEAP32[($4 + 144 | 0) >> 2] | 0) + 1 | 0; + label$3 : { + label$4 : while (1) { + if (!((HEAP32[($4 + 136 | 0) >> 2] | 0 | 0) < (HEAP32[($4 + 148 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$3 + } + (wasm2js_i32$0 = $4, wasm2js_i32$1 = btAlignedObjectArray_btVector3___operator_5b_5d_28int_29_20const(HEAP32[($4 + 156 | 0) >> 2] | 0 | 0, HEAP32[($4 + 136 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 132 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($4 + 128 | 0) >> 2] = (HEAP32[($4 + 136 | 0) >> 2] | 0) + 1 | 0; + label$5 : { + label$6 : while (1) { + if (!((HEAP32[($4 + 128 | 0) >> 2] | 0 | 0) < (HEAP32[($4 + 148 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$5 + } + (wasm2js_i32$0 = $4, wasm2js_i32$1 = btAlignedObjectArray_btVector3___operator_5b_5d_28int_29_20const(HEAP32[($4 + 156 | 0) >> 2] | 0 | 0, HEAP32[($4 + 128 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 124 | 0) >> 2] = wasm2js_i32$1; + btVector3__btVector3_28_29($4 + 104 | 0 | 0) | 0; + btVector3__cross_28btVector3_20const__29_20const($4 + 88 | 0 | 0, HEAP32[($4 + 132 | 0) >> 2] | 0 | 0, HEAP32[($4 + 124 | 0) >> 2] | 0 | 0); + $52 = 8; + i64toi32_i32$2 = ($4 + 88 | 0) + $52 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $324 = i64toi32_i32$0; + i64toi32_i32$0 = ($4 + 104 | 0) + $52 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $324; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$2 = $4; + i64toi32_i32$1 = HEAP32[($4 + 88 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($4 + 92 | 0) >> 2] | 0; + $328 = i64toi32_i32$1; + i64toi32_i32$1 = $4; + HEAP32[($4 + 104 | 0) >> 2] = $328; + HEAP32[($4 + 108 | 0) >> 2] = i64toi32_i32$0; + btVector3__btVector3_28_29($4 + 72 | 0 | 0) | 0; + btVector3__cross_28btVector3_20const__29_20const($4 + 56 | 0 | 0, HEAP32[($4 + 124 | 0) >> 2] | 0 | 0, HEAP32[($4 + 140 | 0) >> 2] | 0 | 0); + $69 = 8; + i64toi32_i32$2 = ($4 + 56 | 0) + $69 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $361 = i64toi32_i32$0; + i64toi32_i32$0 = ($4 + 72 | 0) + $69 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $361; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$2 = $4; + i64toi32_i32$1 = HEAP32[($4 + 56 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($4 + 60 | 0) >> 2] | 0; + $365 = i64toi32_i32$1; + i64toi32_i32$1 = $4; + HEAP32[($4 + 72 | 0) >> 2] = $365; + HEAP32[($4 + 76 | 0) >> 2] = i64toi32_i32$0; + btVector3__btVector3_28_29($4 + 40 | 0 | 0) | 0; + btVector3__cross_28btVector3_20const__29_20const($4 + 24 | 0 | 0, HEAP32[($4 + 140 | 0) >> 2] | 0 | 0, HEAP32[($4 + 132 | 0) >> 2] | 0 | 0); + $86 = 8; + i64toi32_i32$2 = ($4 + 24 | 0) + $86 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $398 = i64toi32_i32$0; + i64toi32_i32$0 = ($4 + 40 | 0) + $86 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $398; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$2 = $4; + i64toi32_i32$1 = HEAP32[($4 + 24 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($4 + 28 | 0) >> 2] | 0; + $402 = i64toi32_i32$1; + i64toi32_i32$1 = $4; + HEAP32[($4 + 40 | 0) >> 2] = $402; + HEAP32[($4 + 44 | 0) >> 2] = i64toi32_i32$0; + label$7 : { + if (!(Math_fround(btVector3__length2_28_29_20const($4 + 104 | 0 | 0)) > Math_fround(9.999999747378752e-05) & 1 | 0)) { + break label$7 + } + if (!(Math_fround(btVector3__length2_28_29_20const($4 + 72 | 0 | 0)) > Math_fround(9.999999747378752e-05) & 1 | 0)) { + break label$7 + } + if (!(Math_fround(btVector3__length2_28_29_20const($4 + 40 | 0 | 0)) > Math_fround(9.999999747378752e-05) & 1 | 0)) { + break label$7 + } + (wasm2js_i32$0 = $4, wasm2js_f32$0 = Math_fround(btVector3__dot_28btVector3_20const__29_20const(HEAP32[($4 + 140 | 0) >> 2] | 0 | 0, $4 + 104 | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_f32$0; + label$8 : { + if (!(Math_fround(btFabs_28float_29(Math_fround(Math_fround(HEAPF32[($4 + 20 | 0) >> 2])))) > Math_fround(9.999999974752427e-07) & 1 | 0)) { + break label$8 + } + HEAPF32[($4 + 20 | 0) >> 2] = Math_fround(Math_fround(-1.0) / Math_fround(HEAPF32[($4 + 20 | 0) >> 2])); + btVector3__operator___28float_20const__29_1($4 + 104 | 0 | 0, (btVector3__operator_20float_20const__28_29_20const(HEAP32[($4 + 140 | 0) >> 2] | 0 | 0) | 0) + 12 | 0 | 0) | 0; + btVector3__operator___28float_20const__29_1($4 + 72 | 0 | 0, (btVector3__operator_20float_20const__28_29_20const(HEAP32[($4 + 132 | 0) >> 2] | 0 | 0) | 0) + 12 | 0 | 0) | 0; + btVector3__operator___28float_20const__29_1($4 + 40 | 0 | 0, (btVector3__operator_20float_20const__28_29_20const(HEAP32[($4 + 124 | 0) >> 2] | 0 | 0) | 0) + 12 | 0 | 0) | 0; + $154 = 8; + i64toi32_i32$2 = ($4 + 104 | 0) + $154 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $529 = i64toi32_i32$0; + i64toi32_i32$0 = $4 + $154 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $529; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$2 = $4; + i64toi32_i32$1 = HEAP32[($4 + 104 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($4 + 108 | 0) >> 2] | 0; + $533 = i64toi32_i32$1; + i64toi32_i32$1 = $4; + HEAP32[$4 >> 2] = $533; + HEAP32[($4 + 4 | 0) >> 2] = i64toi32_i32$0; + btVector3__operator___28btVector3_20const__29_1($4 | 0, $4 + 72 | 0 | 0) | 0; + btVector3__operator___28btVector3_20const__29_1($4 | 0, $4 + 40 | 0 | 0) | 0; + btVector3__operator___28float_20const__29_1($4 | 0, $4 + 20 | 0 | 0) | 0; + label$9 : { + if (!((btGeometryUtil__isPointInsidePlanes_28btAlignedObjectArray_btVector3__20const__2c_20btVector3_20const__2c_20float_29(HEAP32[($4 + 156 | 0) >> 2] | 0 | 0, $4 | 0, Math_fround(Math_fround(.009999999776482582))) | 0) & 1 | 0)) { + break label$9 + } + btAlignedObjectArray_btVector3___push_back_28btVector3_20const__29(HEAP32[($4 + 152 | 0) >> 2] | 0 | 0, $4 | 0); + } + } + } + HEAP32[($4 + 128 | 0) >> 2] = (HEAP32[($4 + 128 | 0) >> 2] | 0) + 1 | 0; + continue label$6; + }; + } + HEAP32[($4 + 136 | 0) >> 2] = (HEAP32[($4 + 136 | 0) >> 2] | 0) + 1 | 0; + continue label$4; + }; + } + HEAP32[($4 + 144 | 0) >> 2] = (HEAP32[($4 + 144 | 0) >> 2] | 0) + 1 | 0; + continue label$2; + }; + } + __stack_pointer = $4 + 160 | 0; + return; + } + + function _GLOBAL__sub_I_btGeometryUtil_cpp() { + __cxx_global_var_init_44(); + return; + } + + function __cxx_global_var_init_45() { + btInfMaskConverter__btInfMaskConverter_28int_29(114168 | 0, 2139095040 | 0) | 0; + return; + } + + function btConvexHullInternal__Int128__operator__28long_20long_29_20const($0, $1, $2, $2$hi) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $2$hi = $2$hi | 0; + var i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$5 = 0, $5 = 0, i64toi32_i32$2 = 0, i64toi32_i32$3 = 0, i64toi32_i32$4 = 0, $6 = 0, $7$hi = 0, $8$hi = 0, $27$hi = 0, $28$hi = 0, $36 = 0, $37 = 0, $38 = 0, $20 = 0, $39 = 0, $40 = 0, $41 = 0, $39$hi = 0, $42$hi = 0, $43$hi = 0, $47$hi = 0, $48$hi = 0, $49$hi = 0, $59 = 0, $115 = 0, $119 = 0, $144$hi = 0, $145 = 0, $42 = 0, $159 = 0, $47 = 0, $165 = 0, $49 = 0, $169$hi = 0, $190 = 0, $203 = 0; + $5 = __stack_pointer - 64 | 0; + __stack_pointer = $5; + HEAP32[($5 + 60 | 0) >> 2] = $1; + i64toi32_i32$0 = $2$hi; + i64toi32_i32$1 = $5; + HEAP32[(i64toi32_i32$1 + 48 | 0) >> 2] = $2; + HEAP32[(i64toi32_i32$1 + 52 | 0) >> 2] = i64toi32_i32$0; + $6 = HEAP32[(i64toi32_i32$1 + 60 | 0) >> 2] | 0; + i64toi32_i32$2 = $6; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 8 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 12 | 0) >> 2] | 0; + $7$hi = i64toi32_i32$1; + i64toi32_i32$1 = 0; + $8$hi = i64toi32_i32$1; + i64toi32_i32$1 = $7$hi; + i64toi32_i32$1 = $8$hi; + i64toi32_i32$1 = $7$hi; + i64toi32_i32$1 = $8$hi; + i64toi32_i32$1 = $7$hi; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$0 = $8$hi; + i64toi32_i32$3 = 0; + if ((i64toi32_i32$1 | 0) < (i64toi32_i32$0 | 0)) { + $36 = 1 + } else { + if ((i64toi32_i32$1 | 0) <= (i64toi32_i32$0 | 0)) { + if (i64toi32_i32$2 >>> 0 >= i64toi32_i32$3 >>> 0) { + $37 = 0 + } else { + $37 = 1 + } + $38 = $37; + } else { + $38 = 0 + } + $36 = $38; + } + HEAP8[($5 + 47 | 0) >> 0] = $36 & 1 | 0; + label$1 : { + label$2 : { + if (!((HEAPU8[($5 + 47 | 0) >> 0] | 0) & 1 | 0)) { + break label$2 + } + btConvexHullInternal__Int128__operator__28_29_20const($5 + 24 | 0 | 0, $6 | 0); + break label$1; + } + $20 = 8; + i64toi32_i32$3 = $6 + $20 | 0; + i64toi32_i32$2 = HEAP32[i64toi32_i32$3 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$3 + 4 | 0) >> 2] | 0; + $115 = i64toi32_i32$2; + i64toi32_i32$2 = ($5 + 24 | 0) + $20 | 0; + HEAP32[i64toi32_i32$2 >> 2] = $115; + HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$3 = $6; + i64toi32_i32$1 = HEAP32[i64toi32_i32$3 >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$3 + 4 | 0) >> 2] | 0; + $119 = i64toi32_i32$1; + i64toi32_i32$1 = $5; + HEAP32[(i64toi32_i32$1 + 24 | 0) >> 2] = $119; + HEAP32[(i64toi32_i32$1 + 28 | 0) >> 2] = i64toi32_i32$2; + } + i64toi32_i32$3 = $5; + i64toi32_i32$2 = HEAP32[($5 + 48 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($5 + 52 | 0) >> 2] | 0; + $27$hi = i64toi32_i32$1; + i64toi32_i32$1 = 0; + $28$hi = i64toi32_i32$1; + i64toi32_i32$1 = $27$hi; + i64toi32_i32$1 = $28$hi; + i64toi32_i32$1 = $27$hi; + i64toi32_i32$1 = $28$hi; + i64toi32_i32$1 = $27$hi; + i64toi32_i32$3 = i64toi32_i32$2; + i64toi32_i32$2 = $28$hi; + i64toi32_i32$0 = 0; + if ((i64toi32_i32$1 | 0) < (i64toi32_i32$2 | 0)) { + $39 = 1 + } else { + if ((i64toi32_i32$1 | 0) <= (i64toi32_i32$2 | 0)) { + if (i64toi32_i32$3 >>> 0 >= i64toi32_i32$0 >>> 0) { + $40 = 0 + } else { + $40 = 1 + } + $41 = $40; + } else { + $41 = 0 + } + $39 = $41; + } + label$3 : { + if (!($39 & 1 | 0)) { + break label$3 + } + HEAP8[($5 + 47 | 0) >> 0] = ((HEAPU8[($5 + 47 | 0) >> 0] | 0) ^ -1 | 0) & 1 | 0; + i64toi32_i32$0 = $5; + i64toi32_i32$3 = HEAP32[($5 + 48 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($5 + 52 | 0) >> 2] | 0; + $39$hi = i64toi32_i32$1; + i64toi32_i32$1 = 0; + $144$hi = i64toi32_i32$1; + i64toi32_i32$1 = $39$hi; + $145 = i64toi32_i32$3; + i64toi32_i32$1 = $144$hi; + i64toi32_i32$0 = 0; + i64toi32_i32$3 = $39$hi; + i64toi32_i32$2 = $145; + i64toi32_i32$4 = i64toi32_i32$0 - i64toi32_i32$2 | 0; + i64toi32_i32$5 = (i64toi32_i32$0 >>> 0 < i64toi32_i32$2 >>> 0) + i64toi32_i32$3 | 0; + i64toi32_i32$5 = i64toi32_i32$1 - i64toi32_i32$5 | 0; + i64toi32_i32$0 = $5; + HEAP32[($5 + 48 | 0) >> 2] = i64toi32_i32$4; + HEAP32[($5 + 52 | 0) >> 2] = i64toi32_i32$5; + } + i64toi32_i32$1 = $5; + i64toi32_i32$5 = HEAP32[(i64toi32_i32$1 + 24 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$1 + 28 | 0) >> 2] | 0; + $42 = i64toi32_i32$5; + $42$hi = i64toi32_i32$0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$1 + 48 | 0) >> 2] | 0; + i64toi32_i32$5 = HEAP32[(i64toi32_i32$1 + 52 | 0) >> 2] | 0; + $43$hi = i64toi32_i32$5; + i64toi32_i32$5 = $42$hi; + i64toi32_i32$5 = $43$hi; + $159 = i64toi32_i32$0; + i64toi32_i32$5 = $42$hi; + i64toi32_i32$0 = $43$hi; + btConvexHullInternal__Int128__mul_28unsigned_20long_20long_2c_20unsigned_20long_20long_29(i64toi32_i32$1 + 8 | 0 | 0, $42 | 0, i64toi32_i32$5 | 0, $159 | 0, i64toi32_i32$0 | 0); + i64toi32_i32$0 = HEAP32[(i64toi32_i32$1 + 32 | 0) >> 2] | 0; + i64toi32_i32$5 = HEAP32[(i64toi32_i32$1 + 36 | 0) >> 2] | 0; + $47 = i64toi32_i32$0; + $47$hi = i64toi32_i32$5; + i64toi32_i32$5 = HEAP32[(i64toi32_i32$1 + 48 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$1 + 52 | 0) >> 2] | 0; + $48$hi = i64toi32_i32$0; + i64toi32_i32$0 = $47$hi; + i64toi32_i32$0 = $48$hi; + $165 = i64toi32_i32$5; + i64toi32_i32$0 = $47$hi; + i64toi32_i32$5 = $48$hi; + i64toi32_i32$5 = __wasm_i64_mul($47 | 0, i64toi32_i32$0 | 0, $165 | 0, i64toi32_i32$5 | 0) | 0; + i64toi32_i32$0 = i64toi32_i32$HIGH_BITS; + $49 = i64toi32_i32$5; + $49$hi = i64toi32_i32$0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$1 + 16 | 0) >> 2] | 0; + i64toi32_i32$5 = HEAP32[(i64toi32_i32$1 + 20 | 0) >> 2] | 0; + $169$hi = i64toi32_i32$5; + i64toi32_i32$5 = $49$hi; + i64toi32_i32$5 = $169$hi; + i64toi32_i32$1 = i64toi32_i32$0; + i64toi32_i32$0 = $49$hi; + i64toi32_i32$2 = $49; + i64toi32_i32$3 = i64toi32_i32$1 + i64toi32_i32$2 | 0; + i64toi32_i32$4 = i64toi32_i32$5 + i64toi32_i32$0 | 0; + if (i64toi32_i32$3 >>> 0 < i64toi32_i32$2 >>> 0) { + i64toi32_i32$4 = i64toi32_i32$4 + 1 | 0 + } + i64toi32_i32$1 = $5; + HEAP32[(i64toi32_i32$1 + 16 | 0) >> 2] = i64toi32_i32$3; + HEAP32[(i64toi32_i32$1 + 20 | 0) >> 2] = i64toi32_i32$4; + label$4 : { + label$5 : { + if (!((HEAPU8[(i64toi32_i32$1 + 47 | 0) >> 0] | 0) & 1 | 0)) { + break label$5 + } + btConvexHullInternal__Int128__operator__28_29_20const($0 | 0, $5 + 8 | 0 | 0); + break label$4; + } + i64toi32_i32$5 = $5; + i64toi32_i32$4 = HEAP32[($5 + 8 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($5 + 12 | 0) >> 2] | 0; + $190 = i64toi32_i32$4; + i64toi32_i32$4 = $0; + HEAP32[i64toi32_i32$4 >> 2] = $190; + HEAP32[(i64toi32_i32$4 + 4 | 0) >> 2] = i64toi32_i32$1; + $59 = 8; + i64toi32_i32$5 = ($5 + 8 | 0) + $59 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$5 >> 2] | 0; + i64toi32_i32$4 = HEAP32[(i64toi32_i32$5 + 4 | 0) >> 2] | 0; + $203 = i64toi32_i32$1; + i64toi32_i32$1 = $0 + $59 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $203; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$4; + } + __stack_pointer = $5 + 64 | 0; + return; + } + + function btConvexHullInternal__Int128__operator__28_29_20const($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var i64toi32_i32$2 = 0, i64toi32_i32$1 = 0, i64toi32_i32$5 = 0, i64toi32_i32$3 = 0, i64toi32_i32$4 = 0, i64toi32_i32$0 = 0, $4 = 0, $5 = 0, $12$hi = 0, $13$hi = 0, $6$hi = 0, $8$hi = 0, $9$hi = 0, $10$hi = 0, $11$hi = 0, $19$hi = 0, $20$hi = 0, $34$hi = 0, $35 = 0, $8 = 0, $11 = 0, $52 = 0; + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[($4 + 12 | 0) >> 2] = $1; + $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; + i64toi32_i32$2 = $5; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $6$hi = i64toi32_i32$1; + i64toi32_i32$1 = 0; + $34$hi = i64toi32_i32$1; + i64toi32_i32$1 = $6$hi; + $35 = i64toi32_i32$0; + i64toi32_i32$1 = $34$hi; + i64toi32_i32$2 = 0; + i64toi32_i32$0 = $6$hi; + i64toi32_i32$3 = $35; + i64toi32_i32$4 = i64toi32_i32$2 - i64toi32_i32$3 | 0; + i64toi32_i32$5 = (i64toi32_i32$2 >>> 0 < i64toi32_i32$3 >>> 0) + i64toi32_i32$0 | 0; + i64toi32_i32$5 = i64toi32_i32$1 - i64toi32_i32$5 | 0; + $8 = i64toi32_i32$4; + $8$hi = i64toi32_i32$5; + i64toi32_i32$1 = $5; + i64toi32_i32$5 = HEAP32[(i64toi32_i32$1 + 8 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$1 + 12 | 0) >> 2] | 0; + $9$hi = i64toi32_i32$2; + i64toi32_i32$2 = -1; + $10$hi = i64toi32_i32$2; + i64toi32_i32$2 = $9$hi; + i64toi32_i32$2 = $10$hi; + i64toi32_i32$2 = $9$hi; + i64toi32_i32$1 = i64toi32_i32$5; + i64toi32_i32$5 = $10$hi; + i64toi32_i32$3 = -1; + i64toi32_i32$5 = i64toi32_i32$2 ^ i64toi32_i32$5 | 0; + $11 = i64toi32_i32$1 ^ i64toi32_i32$3 | 0; + $11$hi = i64toi32_i32$5; + i64toi32_i32$2 = $5; + i64toi32_i32$5 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $12$hi = i64toi32_i32$1; + i64toi32_i32$1 = 0; + $13$hi = i64toi32_i32$1; + i64toi32_i32$1 = $12$hi; + i64toi32_i32$1 = $13$hi; + i64toi32_i32$1 = $12$hi; + i64toi32_i32$1 = $13$hi; + i64toi32_i32$1 = $12$hi; + i64toi32_i32$2 = i64toi32_i32$5; + i64toi32_i32$5 = $13$hi; + i64toi32_i32$3 = 0; + $52 = ((i64toi32_i32$2 | 0) == (i64toi32_i32$3 | 0) & (i64toi32_i32$1 | 0) == (i64toi32_i32$5 | 0) | 0) & 1 | 0; + i64toi32_i32$2 = 0; + $19$hi = i64toi32_i32$2; + i64toi32_i32$2 = $11$hi; + i64toi32_i32$2 = $19$hi; + i64toi32_i32$2 = $11$hi; + i64toi32_i32$3 = $11; + i64toi32_i32$1 = $19$hi; + i64toi32_i32$5 = $52; + i64toi32_i32$0 = i64toi32_i32$3 + i64toi32_i32$5 | 0; + i64toi32_i32$4 = i64toi32_i32$2 + i64toi32_i32$1 | 0; + if (i64toi32_i32$0 >>> 0 < i64toi32_i32$5 >>> 0) { + i64toi32_i32$4 = i64toi32_i32$4 + 1 | 0 + } + $20$hi = i64toi32_i32$4; + i64toi32_i32$4 = $8$hi; + i64toi32_i32$4 = $20$hi; + i64toi32_i32$4 = $8$hi; + i64toi32_i32$3 = $20$hi; + btConvexHullInternal__Int128__Int128_28unsigned_20long_20long_2c_20unsigned_20long_20long_29($0 | 0, $8 | 0, i64toi32_i32$4 | 0, i64toi32_i32$0 | 0, i64toi32_i32$3 | 0) | 0; + __stack_pointer = $4 + 16 | 0; + return; + } + + function btConvexHullInternal__Int128__mul_28unsigned_20long_20long_2c_20unsigned_20long_20long_29($0, $1, $1$hi, $2, $2$hi) { + $0 = $0 | 0; + $1 = $1 | 0; + $1$hi = $1$hi | 0; + $2 = $2 | 0; + $2$hi = $2$hi | 0; + var i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, $5 = 0, $6$hi = 0, $7$hi = 0, $6 = 0, $31 = 0; + $5 = __stack_pointer - 16 | 0; + __stack_pointer = $5; + i64toi32_i32$0 = $1$hi; + i64toi32_i32$1 = $5; + HEAP32[(i64toi32_i32$1 + 8 | 0) >> 2] = $1; + HEAP32[(i64toi32_i32$1 + 12 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$0 = $2$hi; + HEAP32[i64toi32_i32$1 >> 2] = $2; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + btConvexHullInternal__Int128__Int128_28_29($0 | 0) | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$1 + 8 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$1 + 12 | 0) >> 2] | 0; + $6 = i64toi32_i32$0; + $6$hi = i64toi32_i32$1; + i64toi32_i32$1 = HEAP32[$5 >> 2] | 0; + i64toi32_i32$0 = HEAP32[($5 + 4 | 0) >> 2] | 0; + $7$hi = i64toi32_i32$0; + i64toi32_i32$0 = $6$hi; + i64toi32_i32$0 = $7$hi; + $31 = i64toi32_i32$1; + i64toi32_i32$0 = $6$hi; + i64toi32_i32$1 = $7$hi; + btConvexHullInternal__DMul_unsigned_20long_20long_2c_20unsigned_20int___mul_28unsigned_20long_20long_2c_20unsigned_20long_20long_2c_20unsigned_20long_20long__2c_20unsigned_20long_20long__29($6 | 0, i64toi32_i32$0 | 0, $31 | 0, i64toi32_i32$1 | 0, $0 | 0, $0 + 8 | 0 | 0); + __stack_pointer = $5 + 16 | 0; + return; + } + + function btConvexHullInternal__Int128__Int128_28unsigned_20long_20long_2c_20unsigned_20long_20long_29($0, $1, $1$hi, $2, $2$hi) { + $0 = $0 | 0; + $1 = $1 | 0; + $1$hi = $1$hi | 0; + $2 = $2 | 0; + $2$hi = $2$hi | 0; + var i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, $5 = 0, $6 = 0, $24 = 0, $28 = 0; + $5 = __stack_pointer - 32 | 0; + HEAP32[($5 + 28 | 0) >> 2] = $0; + i64toi32_i32$0 = $1$hi; + i64toi32_i32$1 = $5; + HEAP32[(i64toi32_i32$1 + 16 | 0) >> 2] = $1; + HEAP32[(i64toi32_i32$1 + 20 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$0 = $2$hi; + HEAP32[(i64toi32_i32$1 + 8 | 0) >> 2] = $2; + HEAP32[(i64toi32_i32$1 + 12 | 0) >> 2] = i64toi32_i32$0; + $6 = HEAP32[(i64toi32_i32$1 + 28 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$1 + 16 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$1 + 20 | 0) >> 2] | 0; + $24 = i64toi32_i32$0; + i64toi32_i32$0 = $6; + HEAP32[i64toi32_i32$0 >> 2] = $24; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$1 = HEAP32[($5 + 8 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($5 + 12 | 0) >> 2] | 0; + $28 = i64toi32_i32$1; + i64toi32_i32$1 = $6; + HEAP32[(i64toi32_i32$1 + 8 | 0) >> 2] = $28; + HEAP32[(i64toi32_i32$1 + 12 | 0) >> 2] = i64toi32_i32$0; + return i64toi32_i32$1 | 0; + } + + function btConvexHullInternal__Int128__Int128_28_29($0) { + $0 = $0 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + return HEAP32[($3 + 12 | 0) >> 2] | 0 | 0; + } + + function btConvexHullInternal__DMul_unsigned_20long_20long_2c_20unsigned_20int___mul_28unsigned_20long_20long_2c_20unsigned_20long_20long_2c_20unsigned_20long_20long__2c_20unsigned_20long_20long__29($0, $0$hi, $1, $1$hi, $2, $3) { + $0 = $0 | 0; + $0$hi = $0$hi | 0; + $1 = $1 | 0; + $1$hi = $1$hi | 0; + $2 = $2 | 0; + $3 = $3 | 0; + var i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, i64toi32_i32$5 = 0, i64toi32_i32$4 = 0, i64toi32_i32$3 = 0, $6 = 0, $58$hi = 0, $59$hi = 0, $30$hi = 0, $34$hi = 0, $39$hi = 0, $45$hi = 0, $51$hi = 0, $55$hi = 0, $65$hi = 0, $66$hi = 0, $8 = 0, $99 = 0, $13 = 0, $112 = 0, $18 = 0, $125 = 0, $23 = 0, $138 = 0, $144 = 0, $151 = 0, $163 = 0, $167$hi = 0, $177 = 0, $181$hi = 0, $191 = 0, $195$hi = 0, $55 = 0, $206$hi = 0, $58 = 0, $218 = 0, $237 = 0, $243 = 0; + $6 = __stack_pointer - 64 | 0; + __stack_pointer = $6; + i64toi32_i32$0 = $0$hi; + i64toi32_i32$1 = $6; + HEAP32[(i64toi32_i32$1 + 56 | 0) >> 2] = $0; + HEAP32[(i64toi32_i32$1 + 60 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$0 = $1$hi; + HEAP32[(i64toi32_i32$1 + 48 | 0) >> 2] = $1; + HEAP32[(i64toi32_i32$1 + 52 | 0) >> 2] = i64toi32_i32$0; + HEAP32[(i64toi32_i32$1 + 44 | 0) >> 2] = $2; + HEAP32[(i64toi32_i32$1 + 40 | 0) >> 2] = $3; + i64toi32_i32$2 = i64toi32_i32$1; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$1 + 56 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$1 + 60 | 0) >> 2] | 0; + $8 = btConvexHullInternal__DMul_unsigned_20long_20long_2c_20unsigned_20int___low_28unsigned_20long_20long_29(i64toi32_i32$0 | 0, i64toi32_i32$1 | 0) | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 48 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 52 | 0) >> 2] | 0; + i64toi32_i32$0 = btConvexHullInternal__DMul_unsigned_20long_20long_2c_20unsigned_20int___mul_28unsigned_20int_2c_20unsigned_20int_29($8 | 0, btConvexHullInternal__DMul_unsigned_20long_20long_2c_20unsigned_20int___low_28unsigned_20long_20long_29(i64toi32_i32$1 | 0, i64toi32_i32$0 | 0) | 0 | 0) | 0; + i64toi32_i32$1 = i64toi32_i32$HIGH_BITS; + $99 = i64toi32_i32$0; + i64toi32_i32$0 = i64toi32_i32$2; + HEAP32[(i64toi32_i32$0 + 32 | 0) >> 2] = $99; + HEAP32[(i64toi32_i32$0 + 36 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$0 + 56 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$0 + 60 | 0) >> 2] | 0; + $13 = btConvexHullInternal__DMul_unsigned_20long_20long_2c_20unsigned_20int___low_28unsigned_20long_20long_29(i64toi32_i32$1 | 0, i64toi32_i32$0 | 0) | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 48 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 52 | 0) >> 2] | 0; + i64toi32_i32$1 = btConvexHullInternal__DMul_unsigned_20long_20long_2c_20unsigned_20int___mul_28unsigned_20int_2c_20unsigned_20int_29($13 | 0, btConvexHullInternal__DMul_unsigned_20long_20long_2c_20unsigned_20int___high_28unsigned_20long_20long_29(i64toi32_i32$0 | 0, i64toi32_i32$1 | 0) | 0 | 0) | 0; + i64toi32_i32$0 = i64toi32_i32$HIGH_BITS; + $112 = i64toi32_i32$1; + i64toi32_i32$1 = i64toi32_i32$2; + HEAP32[(i64toi32_i32$1 + 24 | 0) >> 2] = $112; + HEAP32[(i64toi32_i32$1 + 28 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$2 = i64toi32_i32$1; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$1 + 56 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$1 + 60 | 0) >> 2] | 0; + $18 = btConvexHullInternal__DMul_unsigned_20long_20long_2c_20unsigned_20int___high_28unsigned_20long_20long_29(i64toi32_i32$0 | 0, i64toi32_i32$1 | 0) | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 48 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 52 | 0) >> 2] | 0; + i64toi32_i32$0 = btConvexHullInternal__DMul_unsigned_20long_20long_2c_20unsigned_20int___mul_28unsigned_20int_2c_20unsigned_20int_29($18 | 0, btConvexHullInternal__DMul_unsigned_20long_20long_2c_20unsigned_20int___low_28unsigned_20long_20long_29(i64toi32_i32$1 | 0, i64toi32_i32$0 | 0) | 0 | 0) | 0; + i64toi32_i32$1 = i64toi32_i32$HIGH_BITS; + $125 = i64toi32_i32$0; + i64toi32_i32$0 = i64toi32_i32$2; + HEAP32[(i64toi32_i32$0 + 16 | 0) >> 2] = $125; + HEAP32[(i64toi32_i32$0 + 20 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$0 + 56 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$0 + 60 | 0) >> 2] | 0; + $23 = btConvexHullInternal__DMul_unsigned_20long_20long_2c_20unsigned_20int___high_28unsigned_20long_20long_29(i64toi32_i32$1 | 0, i64toi32_i32$0 | 0) | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 48 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 52 | 0) >> 2] | 0; + i64toi32_i32$1 = btConvexHullInternal__DMul_unsigned_20long_20long_2c_20unsigned_20int___mul_28unsigned_20int_2c_20unsigned_20int_29($23 | 0, btConvexHullInternal__DMul_unsigned_20long_20long_2c_20unsigned_20int___high_28unsigned_20long_20long_29(i64toi32_i32$0 | 0, i64toi32_i32$1 | 0) | 0 | 0) | 0; + i64toi32_i32$0 = i64toi32_i32$HIGH_BITS; + $138 = i64toi32_i32$1; + i64toi32_i32$1 = i64toi32_i32$2; + HEAP32[(i64toi32_i32$1 + 8 | 0) >> 2] = $138; + HEAP32[(i64toi32_i32$1 + 12 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$2 = i64toi32_i32$1; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$1 + 24 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$1 + 28 | 0) >> 2] | 0; + $144 = btConvexHullInternal__DMul_unsigned_20long_20long_2c_20unsigned_20int___low_28unsigned_20long_20long_29(i64toi32_i32$0 | 0, i64toi32_i32$1 | 0) | 0; + i64toi32_i32$1 = 0; + $30$hi = i64toi32_i32$1; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 16 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 20 | 0) >> 2] | 0; + $151 = btConvexHullInternal__DMul_unsigned_20long_20long_2c_20unsigned_20int___low_28unsigned_20long_20long_29(i64toi32_i32$1 | 0, i64toi32_i32$0 | 0) | 0; + i64toi32_i32$0 = 0; + $34$hi = i64toi32_i32$0; + i64toi32_i32$0 = $30$hi; + i64toi32_i32$0 = $34$hi; + i64toi32_i32$0 = $30$hi; + i64toi32_i32$2 = $144; + i64toi32_i32$1 = $34$hi; + i64toi32_i32$3 = $151; + i64toi32_i32$4 = i64toi32_i32$2 + i64toi32_i32$3 | 0; + i64toi32_i32$5 = i64toi32_i32$0 + i64toi32_i32$1 | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + i64toi32_i32$2 = $6; + HEAP32[i64toi32_i32$2 >> 2] = i64toi32_i32$4; + HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] = i64toi32_i32$5; + i64toi32_i32$0 = i64toi32_i32$2; + i64toi32_i32$5 = HEAP32[(i64toi32_i32$0 + 24 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$0 + 28 | 0) >> 2] | 0; + $163 = btConvexHullInternal__DMul_unsigned_20long_20long_2c_20unsigned_20int___high_28unsigned_20long_20long_29(i64toi32_i32$5 | 0, i64toi32_i32$2 | 0) | 0; + i64toi32_i32$2 = 0; + $39$hi = i64toi32_i32$2; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$0 + 8 | 0) >> 2] | 0; + i64toi32_i32$5 = HEAP32[(i64toi32_i32$0 + 12 | 0) >> 2] | 0; + $167$hi = i64toi32_i32$5; + i64toi32_i32$5 = $39$hi; + i64toi32_i32$5 = $167$hi; + i64toi32_i32$0 = i64toi32_i32$2; + i64toi32_i32$2 = $39$hi; + i64toi32_i32$3 = $163; + i64toi32_i32$1 = i64toi32_i32$0 + i64toi32_i32$3 | 0; + i64toi32_i32$4 = i64toi32_i32$5 + i64toi32_i32$2 | 0; + if (i64toi32_i32$1 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$4 = i64toi32_i32$4 + 1 | 0 + } + i64toi32_i32$0 = $6; + HEAP32[(i64toi32_i32$0 + 8 | 0) >> 2] = i64toi32_i32$1; + HEAP32[(i64toi32_i32$0 + 12 | 0) >> 2] = i64toi32_i32$4; + i64toi32_i32$5 = i64toi32_i32$0; + i64toi32_i32$4 = HEAP32[(i64toi32_i32$0 + 16 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$0 + 20 | 0) >> 2] | 0; + $177 = btConvexHullInternal__DMul_unsigned_20long_20long_2c_20unsigned_20int___high_28unsigned_20long_20long_29(i64toi32_i32$4 | 0, i64toi32_i32$0 | 0) | 0; + i64toi32_i32$0 = 0; + $45$hi = i64toi32_i32$0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$5 + 8 | 0) >> 2] | 0; + i64toi32_i32$4 = HEAP32[(i64toi32_i32$5 + 12 | 0) >> 2] | 0; + $181$hi = i64toi32_i32$4; + i64toi32_i32$4 = $45$hi; + i64toi32_i32$4 = $181$hi; + i64toi32_i32$5 = i64toi32_i32$0; + i64toi32_i32$0 = $45$hi; + i64toi32_i32$3 = $177; + i64toi32_i32$2 = i64toi32_i32$5 + i64toi32_i32$3 | 0; + i64toi32_i32$1 = i64toi32_i32$4 + i64toi32_i32$0 | 0; + if (i64toi32_i32$2 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$1 = i64toi32_i32$1 + 1 | 0 + } + i64toi32_i32$5 = $6; + HEAP32[(i64toi32_i32$5 + 8 | 0) >> 2] = i64toi32_i32$2; + HEAP32[(i64toi32_i32$5 + 12 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$4 = i64toi32_i32$5; + i64toi32_i32$1 = HEAP32[i64toi32_i32$5 >> 2] | 0; + i64toi32_i32$5 = HEAP32[(i64toi32_i32$5 + 4 | 0) >> 2] | 0; + $191 = btConvexHullInternal__DMul_unsigned_20long_20long_2c_20unsigned_20int___high_28unsigned_20long_20long_29(i64toi32_i32$1 | 0, i64toi32_i32$5 | 0) | 0; + i64toi32_i32$5 = 0; + $51$hi = i64toi32_i32$5; + i64toi32_i32$5 = HEAP32[(i64toi32_i32$4 + 8 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$4 + 12 | 0) >> 2] | 0; + $195$hi = i64toi32_i32$1; + i64toi32_i32$1 = $51$hi; + i64toi32_i32$1 = $195$hi; + i64toi32_i32$4 = i64toi32_i32$5; + i64toi32_i32$5 = $51$hi; + i64toi32_i32$3 = $191; + i64toi32_i32$0 = i64toi32_i32$4 + i64toi32_i32$3 | 0; + i64toi32_i32$2 = i64toi32_i32$1 + i64toi32_i32$5 | 0; + if (i64toi32_i32$0 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$2 = i64toi32_i32$2 + 1 | 0 + } + i64toi32_i32$4 = $6; + HEAP32[(i64toi32_i32$4 + 8 | 0) >> 2] = i64toi32_i32$0; + HEAP32[(i64toi32_i32$4 + 12 | 0) >> 2] = i64toi32_i32$2; + btConvexHullInternal__DMul_unsigned_20long_20long_2c_20unsigned_20int___shlHalf_28unsigned_20long_20long__29(i64toi32_i32$4 | 0); + i64toi32_i32$1 = i64toi32_i32$4; + i64toi32_i32$2 = HEAP32[i64toi32_i32$1 >> 2] | 0; + i64toi32_i32$4 = HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] | 0; + $55 = i64toi32_i32$2; + $55$hi = i64toi32_i32$4; + i64toi32_i32$4 = HEAP32[(i64toi32_i32$1 + 32 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$1 + 36 | 0) >> 2] | 0; + $206$hi = i64toi32_i32$2; + i64toi32_i32$2 = $55$hi; + i64toi32_i32$2 = $206$hi; + i64toi32_i32$1 = i64toi32_i32$4; + i64toi32_i32$4 = $55$hi; + i64toi32_i32$3 = $55; + i64toi32_i32$5 = i64toi32_i32$1 + i64toi32_i32$3 | 0; + i64toi32_i32$0 = i64toi32_i32$2 + i64toi32_i32$4 | 0; + if (i64toi32_i32$5 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$0 = i64toi32_i32$0 + 1 | 0 + } + i64toi32_i32$1 = $6; + HEAP32[(i64toi32_i32$1 + 32 | 0) >> 2] = i64toi32_i32$5; + HEAP32[(i64toi32_i32$1 + 36 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$2 = i64toi32_i32$1; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$1 + 32 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$1 + 36 | 0) >> 2] | 0; + $58 = i64toi32_i32$0; + $58$hi = i64toi32_i32$1; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $59$hi = i64toi32_i32$0; + i64toi32_i32$0 = $58$hi; + i64toi32_i32$0 = $59$hi; + i64toi32_i32$0 = $58$hi; + i64toi32_i32$0 = $59$hi; + $218 = i64toi32_i32$1; + i64toi32_i32$0 = $58$hi; + i64toi32_i32$2 = $58; + i64toi32_i32$1 = $59$hi; + i64toi32_i32$3 = $218; + label$1 : { + if (!((i64toi32_i32$0 >>> 0 < i64toi32_i32$1 >>> 0 | ((i64toi32_i32$0 | 0) == (i64toi32_i32$1 | 0) & i64toi32_i32$2 >>> 0 < i64toi32_i32$3 >>> 0 | 0) | 0) & 1 | 0)) { + break label$1 + } + i64toi32_i32$3 = $6; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$3 + 8 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$3 + 12 | 0) >> 2] | 0; + $65$hi = i64toi32_i32$0; + i64toi32_i32$0 = 0; + $66$hi = i64toi32_i32$0; + i64toi32_i32$0 = $65$hi; + i64toi32_i32$0 = $66$hi; + i64toi32_i32$0 = $65$hi; + i64toi32_i32$3 = i64toi32_i32$2; + i64toi32_i32$2 = $66$hi; + i64toi32_i32$1 = 1; + i64toi32_i32$4 = i64toi32_i32$3 + i64toi32_i32$1 | 0; + i64toi32_i32$5 = i64toi32_i32$0 + i64toi32_i32$2 | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$1 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + i64toi32_i32$3 = $6; + HEAP32[(i64toi32_i32$3 + 8 | 0) >> 2] = i64toi32_i32$4; + HEAP32[(i64toi32_i32$3 + 12 | 0) >> 2] = i64toi32_i32$5; + } + i64toi32_i32$0 = $6; + i64toi32_i32$5 = HEAP32[(i64toi32_i32$0 + 32 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[(i64toi32_i32$0 + 36 | 0) >> 2] | 0; + $237 = i64toi32_i32$5; + i64toi32_i32$5 = HEAP32[(i64toi32_i32$0 + 44 | 0) >> 2] | 0; + HEAP32[i64toi32_i32$5 >> 2] = $237; + HEAP32[(i64toi32_i32$5 + 4 | 0) >> 2] = i64toi32_i32$3; + i64toi32_i32$3 = HEAP32[(i64toi32_i32$0 + 8 | 0) >> 2] | 0; + i64toi32_i32$5 = HEAP32[(i64toi32_i32$0 + 12 | 0) >> 2] | 0; + $243 = i64toi32_i32$3; + i64toi32_i32$3 = HEAP32[(i64toi32_i32$0 + 40 | 0) >> 2] | 0; + HEAP32[i64toi32_i32$3 >> 2] = $243; + HEAP32[(i64toi32_i32$3 + 4 | 0) >> 2] = i64toi32_i32$5; + __stack_pointer = i64toi32_i32$0 + 64 | 0; + return; + } + + function btConvexHullInternal__Int128__mul_28long_20long_2c_20long_20long_29($0, $1, $1$hi, $2, $2$hi) { + $0 = $0 | 0; + $1 = $1 | 0; + $1$hi = $1$hi | 0; + $2 = $2 | 0; + $2$hi = $2$hi | 0; + var i64toi32_i32$3 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$4 = 0, $5 = 0, i64toi32_i32$5 = 0, i64toi32_i32$2 = 0, $9$hi = 0, $10$hi = 0, i64toi32_i32$6 = 0, $22$hi = 0, $23$hi = 0, $30 = 0, $31 = 0, $32 = 0, $19$hi = 0, $33 = 0, $34 = 0, $35 = 0, $34$hi = 0, $37$hi = 0, $38$hi = 0, $54 = 0, $98$hi = 0, $99 = 0, $127$hi = 0, $128 = 0, $37 = 0, $148 = 0, $167 = 0, $180 = 0; + $5 = __stack_pointer - 48 | 0; + __stack_pointer = $5; + i64toi32_i32$0 = $1$hi; + i64toi32_i32$1 = $5; + HEAP32[(i64toi32_i32$1 + 40 | 0) >> 2] = $1; + HEAP32[(i64toi32_i32$1 + 44 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$0 = $2$hi; + HEAP32[(i64toi32_i32$1 + 32 | 0) >> 2] = $2; + HEAP32[(i64toi32_i32$1 + 36 | 0) >> 2] = i64toi32_i32$0; + btConvexHullInternal__Int128__Int128_28_29(i64toi32_i32$1 + 16 | 0 | 0) | 0; + i64toi32_i32$2 = i64toi32_i32$1; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$1 + 40 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$1 + 44 | 0) >> 2] | 0; + $9$hi = i64toi32_i32$1; + i64toi32_i32$1 = 0; + $10$hi = i64toi32_i32$1; + i64toi32_i32$1 = $9$hi; + i64toi32_i32$1 = $10$hi; + i64toi32_i32$1 = $9$hi; + i64toi32_i32$1 = $10$hi; + i64toi32_i32$1 = $9$hi; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$0 = $10$hi; + i64toi32_i32$3 = 0; + if ((i64toi32_i32$1 | 0) < (i64toi32_i32$0 | 0)) { + $30 = 1 + } else { + if ((i64toi32_i32$1 | 0) <= (i64toi32_i32$0 | 0)) { + if (i64toi32_i32$2 >>> 0 >= i64toi32_i32$3 >>> 0) { + $31 = 0 + } else { + $31 = 1 + } + $32 = $31; + } else { + $32 = 0 + } + $30 = $32; + } + HEAP8[($5 + 15 | 0) >> 0] = $30 & 1 | 0; + label$1 : { + if (!((HEAPU8[($5 + 15 | 0) >> 0] | 0) & 1 | 0)) { + break label$1 + } + i64toi32_i32$3 = $5; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$3 + 40 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$3 + 44 | 0) >> 2] | 0; + $19$hi = i64toi32_i32$1; + i64toi32_i32$1 = 0; + $98$hi = i64toi32_i32$1; + i64toi32_i32$1 = $19$hi; + $99 = i64toi32_i32$2; + i64toi32_i32$1 = $98$hi; + i64toi32_i32$3 = 0; + i64toi32_i32$2 = $19$hi; + i64toi32_i32$0 = $99; + i64toi32_i32$4 = i64toi32_i32$3 - i64toi32_i32$0 | 0; + i64toi32_i32$6 = i64toi32_i32$3 >>> 0 < i64toi32_i32$0 >>> 0; + i64toi32_i32$5 = i64toi32_i32$6 + i64toi32_i32$2 | 0; + i64toi32_i32$5 = i64toi32_i32$1 - i64toi32_i32$5 | 0; + i64toi32_i32$3 = $5; + HEAP32[(i64toi32_i32$3 + 40 | 0) >> 2] = i64toi32_i32$4; + HEAP32[(i64toi32_i32$3 + 44 | 0) >> 2] = i64toi32_i32$5; + } + i64toi32_i32$1 = $5; + i64toi32_i32$5 = HEAP32[(i64toi32_i32$1 + 32 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[(i64toi32_i32$1 + 36 | 0) >> 2] | 0; + $22$hi = i64toi32_i32$3; + i64toi32_i32$3 = 0; + $23$hi = i64toi32_i32$3; + i64toi32_i32$3 = $22$hi; + i64toi32_i32$3 = $23$hi; + i64toi32_i32$3 = $22$hi; + i64toi32_i32$3 = $23$hi; + i64toi32_i32$3 = $22$hi; + i64toi32_i32$1 = i64toi32_i32$5; + i64toi32_i32$5 = $23$hi; + i64toi32_i32$0 = 0; + if ((i64toi32_i32$3 | 0) < (i64toi32_i32$5 | 0)) { + $33 = 1 + } else { + if ((i64toi32_i32$3 | 0) <= (i64toi32_i32$5 | 0)) { + if (i64toi32_i32$1 >>> 0 >= i64toi32_i32$0 >>> 0) { + $34 = 0 + } else { + $34 = 1 + } + $35 = $34; + } else { + $35 = 0 + } + $33 = $35; + } + label$2 : { + if (!($33 & 1 | 0)) { + break label$2 + } + HEAP8[($5 + 15 | 0) >> 0] = ((HEAPU8[($5 + 15 | 0) >> 0] | 0) ^ -1 | 0) & 1 | 0; + i64toi32_i32$0 = $5; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$0 + 32 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[(i64toi32_i32$0 + 36 | 0) >> 2] | 0; + $34$hi = i64toi32_i32$3; + i64toi32_i32$3 = 0; + $127$hi = i64toi32_i32$3; + i64toi32_i32$3 = $34$hi; + $128 = i64toi32_i32$1; + i64toi32_i32$3 = $127$hi; + i64toi32_i32$0 = 0; + i64toi32_i32$1 = $34$hi; + i64toi32_i32$5 = $128; + i64toi32_i32$2 = i64toi32_i32$0 - i64toi32_i32$5 | 0; + i64toi32_i32$6 = i64toi32_i32$0 >>> 0 < i64toi32_i32$5 >>> 0; + i64toi32_i32$4 = i64toi32_i32$6 + i64toi32_i32$1 | 0; + i64toi32_i32$4 = i64toi32_i32$3 - i64toi32_i32$4 | 0; + i64toi32_i32$0 = $5; + HEAP32[(i64toi32_i32$0 + 32 | 0) >> 2] = i64toi32_i32$2; + HEAP32[(i64toi32_i32$0 + 36 | 0) >> 2] = i64toi32_i32$4; + } + i64toi32_i32$3 = $5; + i64toi32_i32$4 = HEAP32[(i64toi32_i32$3 + 40 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$3 + 44 | 0) >> 2] | 0; + $37 = i64toi32_i32$4; + $37$hi = i64toi32_i32$0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$3 + 32 | 0) >> 2] | 0; + i64toi32_i32$4 = HEAP32[(i64toi32_i32$3 + 36 | 0) >> 2] | 0; + $38$hi = i64toi32_i32$4; + i64toi32_i32$4 = $37$hi; + i64toi32_i32$4 = $38$hi; + $148 = i64toi32_i32$0; + i64toi32_i32$4 = $37$hi; + i64toi32_i32$0 = $38$hi; + btConvexHullInternal__DMul_unsigned_20long_20long_2c_20unsigned_20int___mul_28unsigned_20long_20long_2c_20unsigned_20long_20long_2c_20unsigned_20long_20long__2c_20unsigned_20long_20long__29($37 | 0, i64toi32_i32$4 | 0, $148 | 0, i64toi32_i32$0 | 0, i64toi32_i32$3 + 16 | 0 | 0, (i64toi32_i32$3 + 16 | 0) + 8 | 0 | 0); + label$3 : { + label$4 : { + if (!((HEAPU8[(i64toi32_i32$3 + 15 | 0) >> 0] | 0) & 1 | 0)) { + break label$4 + } + btConvexHullInternal__Int128__operator__28_29_20const($0 | 0, $5 + 16 | 0 | 0); + break label$3; + } + i64toi32_i32$3 = $5; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$3 + 16 | 0) >> 2] | 0; + i64toi32_i32$4 = HEAP32[(i64toi32_i32$3 + 20 | 0) >> 2] | 0; + $167 = i64toi32_i32$0; + i64toi32_i32$0 = $0; + HEAP32[i64toi32_i32$0 >> 2] = $167; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$4; + $54 = 8; + i64toi32_i32$3 = (i64toi32_i32$3 + 16 | 0) + $54 | 0; + i64toi32_i32$4 = HEAP32[i64toi32_i32$3 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$3 + 4 | 0) >> 2] | 0; + $180 = i64toi32_i32$4; + i64toi32_i32$4 = $0 + $54 | 0; + HEAP32[i64toi32_i32$4 >> 2] = $180; + HEAP32[(i64toi32_i32$4 + 4 | 0) >> 2] = i64toi32_i32$0; + } + __stack_pointer = $5 + 48 | 0; + return; + } + + function btConvexHullInternal__DMul_unsigned_20long_20long_2c_20unsigned_20int___low_28unsigned_20long_20long_29($0, $0$hi) { + $0 = $0 | 0; + $0$hi = $0$hi | 0; + var i64toi32_i32$1 = 0, i64toi32_i32$0 = 0; + i64toi32_i32$0 = $0$hi; + i64toi32_i32$1 = __stack_pointer - 16 | 0; + HEAP32[(i64toi32_i32$1 + 8 | 0) >> 2] = $0; + HEAP32[(i64toi32_i32$1 + 12 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$1 + 8 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$1 + 12 | 0) >> 2] | 0; + return i64toi32_i32$0 | 0; + } + + function btConvexHullInternal__DMul_unsigned_20long_20long_2c_20unsigned_20int___mul_28unsigned_20int_2c_20unsigned_20int_29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var i64toi32_i32$0 = 0, $4 = 0, i64toi32_i32$1 = 0, $7$hi = 0, $10$hi = 0; + $4 = __stack_pointer - 16 | 0; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + i64toi32_i32$0 = 0; + $7$hi = i64toi32_i32$0; + i64toi32_i32$0 = 0; + $10$hi = i64toi32_i32$0; + i64toi32_i32$0 = $7$hi; + i64toi32_i32$0 = $10$hi; + i64toi32_i32$0 = $7$hi; + i64toi32_i32$1 = $10$hi; + i64toi32_i32$1 = __wasm_i64_mul(HEAP32[($4 + 12 | 0) >> 2] | 0 | 0, i64toi32_i32$0 | 0, HEAP32[($4 + 8 | 0) >> 2] | 0 | 0, i64toi32_i32$1 | 0) | 0; + i64toi32_i32$0 = i64toi32_i32$HIGH_BITS; + i64toi32_i32$HIGH_BITS = i64toi32_i32$0; + return i64toi32_i32$1 | 0; + } + + function btConvexHullInternal__DMul_unsigned_20long_20long_2c_20unsigned_20int___high_28unsigned_20long_20long_29($0, $0$hi) { + $0 = $0 | 0; + $0$hi = $0$hi | 0; + var i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$4 = 0, i64toi32_i32$2 = 0, $4$hi = 0, $5$hi = 0, i64toi32_i32$3 = 0, $9 = 0; + i64toi32_i32$0 = $0$hi; + i64toi32_i32$1 = __stack_pointer - 16 | 0; + HEAP32[(i64toi32_i32$1 + 8 | 0) >> 2] = $0; + HEAP32[(i64toi32_i32$1 + 12 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$2 = i64toi32_i32$1; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$1 + 8 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$1 + 12 | 0) >> 2] | 0; + $4$hi = i64toi32_i32$1; + i64toi32_i32$1 = 0; + $5$hi = i64toi32_i32$1; + i64toi32_i32$1 = $4$hi; + i64toi32_i32$1 = $5$hi; + i64toi32_i32$1 = $4$hi; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$0 = $5$hi; + i64toi32_i32$3 = 32; + i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + i64toi32_i32$0 = 0; + $9 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0; + } else { + i64toi32_i32$0 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0; + $9 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$1 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$2 >>> i64toi32_i32$4 | 0) | 0; + } + return $9 | 0; + } + + function btConvexHullInternal__DMul_unsigned_20long_20long_2c_20unsigned_20int___shlHalf_28unsigned_20long_20long__29($0) { + $0 = $0 | 0; + var i64toi32_i32$2 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$4 = 0, $3 = 0, $4 = 0, $5$hi = 0, $6$hi = 0, i64toi32_i32$3 = 0, $10 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + i64toi32_i32$2 = $4; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $5$hi = i64toi32_i32$1; + i64toi32_i32$1 = 0; + $6$hi = i64toi32_i32$1; + i64toi32_i32$1 = $5$hi; + i64toi32_i32$1 = $6$hi; + i64toi32_i32$1 = $5$hi; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$0 = $6$hi; + i64toi32_i32$3 = 32; + i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + i64toi32_i32$0 = i64toi32_i32$2 << i64toi32_i32$4 | 0; + $10 = 0; + } else { + i64toi32_i32$0 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$1 << i64toi32_i32$4 | 0) | 0; + $10 = i64toi32_i32$2 << i64toi32_i32$4 | 0; + } + i64toi32_i32$2 = $4; + HEAP32[i64toi32_i32$2 >> 2] = $10; + HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] = i64toi32_i32$0; + return; + } + + function btConvexHullInternal__Rational64__compare_28btConvexHullInternal__Rational64_20const__29_20const($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, $5 = 0, $21$hi = 0, $23$hi = 0, $27$hi = 0, $29$hi = 0, $20 = 0, $21 = 0, $97 = 0, $27 = 0, $107 = 0, $37 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4 = __stack_pointer - 48 | 0; + __stack_pointer = $4; + HEAP32[($4 + 40 | 0) >> 2] = $0; + HEAP32[($4 + 36 | 0) >> 2] = $1; + $5 = HEAP32[($4 + 40 | 0) >> 2] | 0; + label$1 : { + label$2 : { + if (!((HEAP32[($5 + 16 | 0) >> 2] | 0 | 0) != (HEAP32[((HEAP32[($4 + 36 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($4 + 44 | 0) >> 2] = (HEAP32[($5 + 16 | 0) >> 2] | 0) - (HEAP32[((HEAP32[($4 + 36 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) | 0; + break label$1; + } + label$3 : { + if (HEAP32[($5 + 16 | 0) >> 2] | 0) { + break label$3 + } + HEAP32[($4 + 44 | 0) >> 2] = 0; + break label$1; + } + $20 = HEAP32[($5 + 16 | 0) >> 2] | 0; + i64toi32_i32$2 = $5; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $21 = i64toi32_i32$0; + $21$hi = i64toi32_i32$1; + i64toi32_i32$2 = HEAP32[($4 + 36 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 8 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 12 | 0) >> 2] | 0; + $23$hi = i64toi32_i32$0; + i64toi32_i32$0 = $21$hi; + i64toi32_i32$0 = $23$hi; + $97 = i64toi32_i32$1; + i64toi32_i32$0 = $21$hi; + i64toi32_i32$1 = $23$hi; + btConvexHullInternal__Int128__mul_28unsigned_20long_20long_2c_20unsigned_20long_20long_29($4 + 16 | 0 | 0, $21 | 0, i64toi32_i32$0 | 0, $97 | 0, i64toi32_i32$1 | 0); + i64toi32_i32$2 = $5; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 8 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 12 | 0) >> 2] | 0; + $27 = i64toi32_i32$1; + $27$hi = i64toi32_i32$0; + i64toi32_i32$2 = HEAP32[($4 + 36 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $29$hi = i64toi32_i32$1; + i64toi32_i32$1 = $27$hi; + i64toi32_i32$1 = $29$hi; + $107 = i64toi32_i32$0; + i64toi32_i32$1 = $27$hi; + i64toi32_i32$0 = $29$hi; + btConvexHullInternal__Int128__mul_28unsigned_20long_20long_2c_20unsigned_20long_20long_29($4 | 0, $27 | 0, i64toi32_i32$1 | 0, $107 | 0, i64toi32_i32$0 | 0); + (wasm2js_i32$0 = $4, wasm2js_i32$1 = Math_imul($20, btConvexHullInternal__Int128__ucmp_28btConvexHullInternal__Int128_20const__29_20const($4 + 16 | 0 | 0, $4 | 0) | 0)), HEAP32[(wasm2js_i32$0 + 44 | 0) >> 2] = wasm2js_i32$1; + } + $37 = HEAP32[($4 + 44 | 0) >> 2] | 0; + __stack_pointer = $4 + 48 | 0; + return $37 | 0; + } + + function btConvexHullInternal__Int128__ucmp_28btConvexHullInternal__Int128_20const__29_20const($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var i64toi32_i32$2 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$3 = 0, $4 = 0, $5 = 0, $6$hi = 0, $8$hi = 0, $15$hi = 0, $17$hi = 0, $24$hi = 0, $26$hi = 0, $33$hi = 0, $35$hi = 0, $6 = 0, $63 = 0, $15 = 0, $81 = 0, $24 = 0, $99 = 0, $33 = 0, $117 = 0; + $4 = __stack_pointer - 16 | 0; + HEAP32[($4 + 8 | 0) >> 2] = $0; + HEAP32[($4 + 4 | 0) >> 2] = $1; + $5 = HEAP32[($4 + 8 | 0) >> 2] | 0; + i64toi32_i32$2 = $5; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 8 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 12 | 0) >> 2] | 0; + $6 = i64toi32_i32$0; + $6$hi = i64toi32_i32$1; + i64toi32_i32$2 = HEAP32[($4 + 4 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 8 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 12 | 0) >> 2] | 0; + $8$hi = i64toi32_i32$0; + i64toi32_i32$0 = $6$hi; + i64toi32_i32$0 = $8$hi; + i64toi32_i32$0 = $6$hi; + i64toi32_i32$0 = $8$hi; + $63 = i64toi32_i32$1; + i64toi32_i32$0 = $6$hi; + i64toi32_i32$2 = $6; + i64toi32_i32$1 = $8$hi; + i64toi32_i32$3 = $63; + label$1 : { + label$2 : { + if (!((i64toi32_i32$0 >>> 0 < i64toi32_i32$1 >>> 0 | ((i64toi32_i32$0 | 0) == (i64toi32_i32$1 | 0) & i64toi32_i32$2 >>> 0 < i64toi32_i32$3 >>> 0 | 0) | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($4 + 12 | 0) >> 2] = -1; + break label$1; + } + i64toi32_i32$3 = $5; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$3 + 8 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$3 + 12 | 0) >> 2] | 0; + $15 = i64toi32_i32$2; + $15$hi = i64toi32_i32$0; + i64toi32_i32$3 = HEAP32[($4 + 4 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$3 + 8 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$3 + 12 | 0) >> 2] | 0; + $17$hi = i64toi32_i32$2; + i64toi32_i32$2 = $15$hi; + i64toi32_i32$2 = $17$hi; + i64toi32_i32$2 = $15$hi; + i64toi32_i32$2 = $17$hi; + $81 = i64toi32_i32$0; + i64toi32_i32$2 = $15$hi; + i64toi32_i32$3 = $15; + i64toi32_i32$0 = $17$hi; + i64toi32_i32$1 = $81; + label$3 : { + if (!((i64toi32_i32$2 >>> 0 > i64toi32_i32$0 >>> 0 | ((i64toi32_i32$2 | 0) == (i64toi32_i32$0 | 0) & i64toi32_i32$3 >>> 0 > i64toi32_i32$1 >>> 0 | 0) | 0) & 1 | 0)) { + break label$3 + } + HEAP32[($4 + 12 | 0) >> 2] = 1; + break label$1; + } + i64toi32_i32$1 = $5; + i64toi32_i32$3 = HEAP32[i64toi32_i32$1 >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] | 0; + $24 = i64toi32_i32$3; + $24$hi = i64toi32_i32$2; + i64toi32_i32$1 = HEAP32[($4 + 4 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[i64toi32_i32$1 >> 2] | 0; + i64toi32_i32$3 = HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] | 0; + $26$hi = i64toi32_i32$3; + i64toi32_i32$3 = $24$hi; + i64toi32_i32$3 = $26$hi; + i64toi32_i32$3 = $24$hi; + i64toi32_i32$3 = $26$hi; + $99 = i64toi32_i32$2; + i64toi32_i32$3 = $24$hi; + i64toi32_i32$1 = $24; + i64toi32_i32$2 = $26$hi; + i64toi32_i32$0 = $99; + label$4 : { + if (!((i64toi32_i32$3 >>> 0 < i64toi32_i32$2 >>> 0 | ((i64toi32_i32$3 | 0) == (i64toi32_i32$2 | 0) & i64toi32_i32$1 >>> 0 < i64toi32_i32$0 >>> 0 | 0) | 0) & 1 | 0)) { + break label$4 + } + HEAP32[($4 + 12 | 0) >> 2] = -1; + break label$1; + } + i64toi32_i32$0 = $5; + i64toi32_i32$1 = HEAP32[i64toi32_i32$0 >> 2] | 0; + i64toi32_i32$3 = HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] | 0; + $33 = i64toi32_i32$1; + $33$hi = i64toi32_i32$3; + i64toi32_i32$0 = HEAP32[($4 + 4 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[i64toi32_i32$0 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] | 0; + $35$hi = i64toi32_i32$1; + i64toi32_i32$1 = $33$hi; + i64toi32_i32$1 = $35$hi; + i64toi32_i32$1 = $33$hi; + i64toi32_i32$1 = $35$hi; + $117 = i64toi32_i32$3; + i64toi32_i32$1 = $33$hi; + i64toi32_i32$0 = $33; + i64toi32_i32$3 = $35$hi; + i64toi32_i32$2 = $117; + label$5 : { + if (!((i64toi32_i32$1 >>> 0 > i64toi32_i32$3 >>> 0 | ((i64toi32_i32$1 | 0) == (i64toi32_i32$3 | 0) & i64toi32_i32$0 >>> 0 > i64toi32_i32$2 >>> 0 | 0) | 0) & 1 | 0)) { + break label$5 + } + HEAP32[($4 + 12 | 0) >> 2] = 1; + break label$1; + } + HEAP32[($4 + 12 | 0) >> 2] = 0; + } + return HEAP32[($4 + 12 | 0) >> 2] | 0 | 0; + } + + function btConvexHullInternal__Rational128__compare_28btConvexHullInternal__Rational128_20const__29_20const($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $4 = 0, i64toi32_i32$2 = 0, $5 = 0, $61 = 0, $103 = 0, $26$hi = 0, $27$hi = 0, $44 = 0, $53 = 0, $54 = 0, $87 = 0, $88 = 0, $95 = 0, $96 = 0, $23 = 0, $26 = 0, $211 = 0, $257 = 0, $261 = 0, $279 = 0, $283 = 0, $299 = 0, $303 = 0, $319 = 0, $323 = 0, $355 = 0, $359 = 0, $374 = 0, $378 = 0, $394 = 0, $398 = 0, $414 = 0, $418 = 0, $148 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4 = __stack_pointer - 224 | 0; + __stack_pointer = $4; + HEAP32[($4 + 216 | 0) >> 2] = $0; + HEAP32[($4 + 212 | 0) >> 2] = $1; + $5 = HEAP32[($4 + 216 | 0) >> 2] | 0; + label$1 : { + label$2 : { + if (!((HEAP32[($5 + 32 | 0) >> 2] | 0 | 0) != (HEAP32[((HEAP32[($4 + 212 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($4 + 220 | 0) >> 2] = (HEAP32[($5 + 32 | 0) >> 2] | 0) - (HEAP32[((HEAP32[($4 + 212 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0) | 0; + break label$1; + } + label$3 : { + if (HEAP32[($5 + 32 | 0) >> 2] | 0) { + break label$3 + } + HEAP32[($4 + 220 | 0) >> 2] = 0; + break label$1; + } + label$4 : { + if (!((HEAPU8[($5 + 36 | 0) >> 0] | 0) & 1 | 0)) { + break label$4 + } + $23 = HEAP32[($4 + 212 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($5 + 32 | 0) >> 2] | 0; + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + $26 = i64toi32_i32$1; + $26$hi = i64toi32_i32$0; + i64toi32_i32$2 = $5; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $27$hi = i64toi32_i32$1; + i64toi32_i32$1 = $26$hi; + i64toi32_i32$1 = $27$hi; + $211 = i64toi32_i32$0; + i64toi32_i32$1 = $26$hi; + i64toi32_i32$0 = $27$hi; + i64toi32_i32$0 = __wasm_i64_mul($26 | 0, i64toi32_i32$1 | 0, $211 | 0, i64toi32_i32$0 | 0) | 0; + i64toi32_i32$1 = i64toi32_i32$HIGH_BITS; + (wasm2js_i32$0 = $4, wasm2js_i32$1 = 0 - (btConvexHullInternal__Rational128__compare_28long_20long_29_20const($23 | 0, i64toi32_i32$0 | 0, i64toi32_i32$1 | 0) | 0) | 0), HEAP32[(wasm2js_i32$0 + 220 | 0) >> 2] = wasm2js_i32$1; + break label$1; + } + btConvexHullInternal__Int128__Int128_28_29($4 + 192 | 0 | 0) | 0; + btConvexHullInternal__Int128__Int128_28_29($4 + 176 | 0 | 0) | 0; + btConvexHullInternal__Int128__Int128_28_29($4 + 160 | 0 | 0) | 0; + btConvexHullInternal__Int128__Int128_28_29($4 + 144 | 0 | 0) | 0; + $44 = 8; + i64toi32_i32$2 = $5 + $44 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $257 = i64toi32_i32$1; + i64toi32_i32$1 = ($4 + 128 | 0) + $44 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $257; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$2 = $5; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $261 = i64toi32_i32$0; + i64toi32_i32$0 = $4; + HEAP32[(i64toi32_i32$0 + 128 | 0) >> 2] = $261; + HEAP32[(i64toi32_i32$0 + 132 | 0) >> 2] = i64toi32_i32$1; + $53 = (HEAP32[(i64toi32_i32$0 + 212 | 0) >> 2] | 0) + 16 | 0; + $54 = 8; + i64toi32_i32$2 = $53 + $54 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $279 = i64toi32_i32$1; + i64toi32_i32$1 = ($4 + 112 | 0) + $54 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $279; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$2 = $53; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $283 = i64toi32_i32$0; + i64toi32_i32$0 = $4; + HEAP32[(i64toi32_i32$0 + 112 | 0) >> 2] = $283; + HEAP32[(i64toi32_i32$0 + 116 | 0) >> 2] = i64toi32_i32$1; + $61 = 8; + i64toi32_i32$2 = (i64toi32_i32$0 + 128 | 0) + $61 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $299 = i64toi32_i32$1; + i64toi32_i32$1 = ($4 + 24 | 0) + $61 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $299; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$2 = $4; + i64toi32_i32$0 = HEAP32[($4 + 128 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($4 + 132 | 0) >> 2] | 0; + $303 = i64toi32_i32$0; + i64toi32_i32$0 = $4; + HEAP32[(i64toi32_i32$0 + 24 | 0) >> 2] = $303; + HEAP32[(i64toi32_i32$0 + 28 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$2 = (i64toi32_i32$0 + 112 | 0) + $61 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $319 = i64toi32_i32$1; + i64toi32_i32$1 = ($4 + 8 | 0) + $61 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $319; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$2 = $4; + i64toi32_i32$0 = HEAP32[($4 + 112 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($4 + 116 | 0) >> 2] | 0; + $323 = i64toi32_i32$0; + i64toi32_i32$0 = $4; + HEAP32[(i64toi32_i32$0 + 8 | 0) >> 2] = $323; + HEAP32[(i64toi32_i32$0 + 12 | 0) >> 2] = i64toi32_i32$1; + btConvexHullInternal__DMul_btConvexHullInternal__Int128_2c_20unsigned_20long_20long___mul_28btConvexHullInternal__Int128_2c_20btConvexHullInternal__Int128_2c_20btConvexHullInternal__Int128__2c_20btConvexHullInternal__Int128__29(i64toi32_i32$0 + 24 | 0 | 0, i64toi32_i32$0 + 8 | 0 | 0, i64toi32_i32$0 + 192 | 0 | 0, i64toi32_i32$0 + 176 | 0 | 0); + $87 = $5 + 16 | 0; + $88 = 8; + i64toi32_i32$2 = $87 + $88 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $355 = i64toi32_i32$1; + i64toi32_i32$1 = ($4 + 96 | 0) + $88 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $355; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$2 = $87; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $359 = i64toi32_i32$0; + i64toi32_i32$0 = $4; + HEAP32[(i64toi32_i32$0 + 96 | 0) >> 2] = $359; + HEAP32[(i64toi32_i32$0 + 100 | 0) >> 2] = i64toi32_i32$1; + $95 = HEAP32[(i64toi32_i32$0 + 212 | 0) >> 2] | 0; + $96 = 8; + i64toi32_i32$2 = $95 + $96 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $374 = i64toi32_i32$1; + i64toi32_i32$1 = ($4 + 80 | 0) + $96 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $374; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$2 = $95; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $378 = i64toi32_i32$0; + i64toi32_i32$0 = $4; + HEAP32[(i64toi32_i32$0 + 80 | 0) >> 2] = $378; + HEAP32[(i64toi32_i32$0 + 84 | 0) >> 2] = i64toi32_i32$1; + $103 = 8; + i64toi32_i32$2 = (i64toi32_i32$0 + 96 | 0) + $103 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $394 = i64toi32_i32$1; + i64toi32_i32$1 = ($4 + 56 | 0) + $103 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $394; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$2 = $4; + i64toi32_i32$0 = HEAP32[($4 + 96 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($4 + 100 | 0) >> 2] | 0; + $398 = i64toi32_i32$0; + i64toi32_i32$0 = $4; + HEAP32[(i64toi32_i32$0 + 56 | 0) >> 2] = $398; + HEAP32[(i64toi32_i32$0 + 60 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$2 = (i64toi32_i32$0 + 80 | 0) + $103 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $414 = i64toi32_i32$1; + i64toi32_i32$1 = ($4 + 40 | 0) + $103 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $414; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$2 = $4; + i64toi32_i32$0 = HEAP32[($4 + 80 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($4 + 84 | 0) >> 2] | 0; + $418 = i64toi32_i32$0; + i64toi32_i32$0 = $4; + HEAP32[(i64toi32_i32$0 + 40 | 0) >> 2] = $418; + HEAP32[(i64toi32_i32$0 + 44 | 0) >> 2] = i64toi32_i32$1; + btConvexHullInternal__DMul_btConvexHullInternal__Int128_2c_20unsigned_20long_20long___mul_28btConvexHullInternal__Int128_2c_20btConvexHullInternal__Int128_2c_20btConvexHullInternal__Int128__2c_20btConvexHullInternal__Int128__29(i64toi32_i32$0 + 56 | 0 | 0, i64toi32_i32$0 + 40 | 0 | 0, i64toi32_i32$0 + 160 | 0 | 0, i64toi32_i32$0 + 144 | 0 | 0); + (wasm2js_i32$0 = i64toi32_i32$0, wasm2js_i32$1 = btConvexHullInternal__Int128__ucmp_28btConvexHullInternal__Int128_20const__29_20const(i64toi32_i32$0 + 176 | 0 | 0, i64toi32_i32$0 + 144 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 76 | 0) >> 2] = wasm2js_i32$1; + label$5 : { + if (!(HEAP32[(i64toi32_i32$0 + 76 | 0) >> 2] | 0)) { + break label$5 + } + HEAP32[($4 + 220 | 0) >> 2] = Math_imul(HEAP32[($4 + 76 | 0) >> 2] | 0, HEAP32[($5 + 32 | 0) >> 2] | 0); + break label$1; + } + (wasm2js_i32$0 = $4, wasm2js_i32$1 = Math_imul(btConvexHullInternal__Int128__ucmp_28btConvexHullInternal__Int128_20const__29_20const($4 + 192 | 0 | 0, $4 + 160 | 0 | 0) | 0, HEAP32[($5 + 32 | 0) >> 2] | 0)), HEAP32[(wasm2js_i32$0 + 220 | 0) >> 2] = wasm2js_i32$1; + } + $148 = HEAP32[($4 + 220 | 0) >> 2] | 0; + __stack_pointer = $4 + 224 | 0; + return $148 | 0; + } + + function btConvexHullInternal__Rational128__compare_28long_20long_29_20const($0, $1, $1$hi) { + $0 = $0 | 0; + $1 = $1 | 0; + $1$hi = $1$hi | 0; + var i64toi32_i32$2 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, $4 = 0, i64toi32_i32$3 = 0, $5 = 0, i64toi32_i32$5 = 0, $14$hi = 0, $15$hi = 0, $23$hi = 0, $24$hi = 0, $34$hi = 0, $35$hi = 0, $49$hi = 0, $50$hi = 0, $11$hi = 0, $12$hi = 0, $33 = 0, $34 = 0, $35 = 0, $22 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $64$hi = 0, $11 = 0, $109 = 0, $112 = 0, $14 = 0, $120 = 0, $23 = 0, $135 = 0, $202$hi = 0, $203 = 0, $206 = 0, $80 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4 = __stack_pointer - 48 | 0; + __stack_pointer = $4; + HEAP32[($4 + 40 | 0) >> 2] = $0; + i64toi32_i32$0 = $1$hi; + i64toi32_i32$1 = $4; + HEAP32[(i64toi32_i32$1 + 32 | 0) >> 2] = $1; + HEAP32[(i64toi32_i32$1 + 36 | 0) >> 2] = i64toi32_i32$0; + $5 = HEAP32[(i64toi32_i32$1 + 40 | 0) >> 2] | 0; + label$1 : { + label$2 : { + if (!((HEAPU8[($5 + 36 | 0) >> 0] | 0) & 1 | 0)) { + break label$2 + } + i64toi32_i32$1 = HEAP32[($5 + 32 | 0) >> 2] | 0; + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + $11 = i64toi32_i32$1; + $11$hi = i64toi32_i32$0; + i64toi32_i32$2 = $5; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $12$hi = i64toi32_i32$1; + i64toi32_i32$1 = $11$hi; + i64toi32_i32$1 = $12$hi; + $109 = i64toi32_i32$0; + i64toi32_i32$1 = $11$hi; + i64toi32_i32$0 = $12$hi; + i64toi32_i32$0 = __wasm_i64_mul($11 | 0, i64toi32_i32$1 | 0, $109 | 0, i64toi32_i32$0 | 0) | 0; + i64toi32_i32$1 = i64toi32_i32$HIGH_BITS; + $112 = i64toi32_i32$0; + i64toi32_i32$0 = $4; + HEAP32[(i64toi32_i32$0 + 24 | 0) >> 2] = $112; + HEAP32[(i64toi32_i32$0 + 28 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 24 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 28 | 0) >> 2] | 0; + $14 = i64toi32_i32$1; + $14$hi = i64toi32_i32$0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 32 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 36 | 0) >> 2] | 0; + $15$hi = i64toi32_i32$1; + i64toi32_i32$1 = $14$hi; + i64toi32_i32$1 = $15$hi; + i64toi32_i32$1 = $14$hi; + i64toi32_i32$1 = $15$hi; + $120 = i64toi32_i32$0; + i64toi32_i32$1 = $14$hi; + i64toi32_i32$2 = $14; + i64toi32_i32$0 = $15$hi; + i64toi32_i32$3 = $120; + if ((i64toi32_i32$1 | 0) > (i64toi32_i32$0 | 0)) { + $33 = 1 + } else { + if ((i64toi32_i32$1 | 0) >= (i64toi32_i32$0 | 0)) { + if (i64toi32_i32$2 >>> 0 <= i64toi32_i32$3 >>> 0) { + $34 = 0 + } else { + $34 = 1 + } + $35 = $34; + } else { + $35 = 0 + } + $33 = $35; + } + label$3 : { + label$4 : { + if (!($33 & 1 | 0)) { + break label$4 + } + $22 = 1; + break label$3; + } + i64toi32_i32$3 = $4; + i64toi32_i32$2 = HEAP32[($4 + 24 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($4 + 28 | 0) >> 2] | 0; + $23 = i64toi32_i32$2; + $23$hi = i64toi32_i32$1; + i64toi32_i32$3 = $4; + i64toi32_i32$1 = HEAP32[($4 + 32 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($4 + 36 | 0) >> 2] | 0; + $24$hi = i64toi32_i32$2; + i64toi32_i32$2 = $23$hi; + i64toi32_i32$2 = $24$hi; + i64toi32_i32$2 = $23$hi; + i64toi32_i32$2 = $24$hi; + $135 = i64toi32_i32$1; + i64toi32_i32$2 = $23$hi; + i64toi32_i32$3 = $23; + i64toi32_i32$1 = $24$hi; + i64toi32_i32$0 = $135; + if ((i64toi32_i32$2 | 0) < (i64toi32_i32$1 | 0)) { + $36 = 1 + } else { + if ((i64toi32_i32$2 | 0) <= (i64toi32_i32$1 | 0)) { + if (i64toi32_i32$3 >>> 0 >= i64toi32_i32$0 >>> 0) { + $37 = 0 + } else { + $37 = 1 + } + $38 = $37; + } else { + $38 = 0 + } + $36 = $38; + } + $22 = $36 & 1 | 0 ? -1 : 0; + } + HEAP32[($4 + 44 | 0) >> 2] = $22; + break label$1; + } + i64toi32_i32$0 = $4; + i64toi32_i32$3 = HEAP32[($4 + 32 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($4 + 36 | 0) >> 2] | 0; + $34$hi = i64toi32_i32$2; + i64toi32_i32$2 = 0; + $35$hi = i64toi32_i32$2; + i64toi32_i32$2 = $34$hi; + i64toi32_i32$2 = $35$hi; + i64toi32_i32$2 = $34$hi; + i64toi32_i32$2 = $35$hi; + i64toi32_i32$2 = $34$hi; + i64toi32_i32$0 = i64toi32_i32$3; + i64toi32_i32$3 = $35$hi; + i64toi32_i32$1 = 0; + if ((i64toi32_i32$2 | 0) > (i64toi32_i32$3 | 0)) { + $39 = 1 + } else { + if ((i64toi32_i32$2 | 0) >= (i64toi32_i32$3 | 0)) { + if (i64toi32_i32$0 >>> 0 <= i64toi32_i32$1 >>> 0) { + $40 = 0 + } else { + $40 = 1 + } + $41 = $40; + } else { + $41 = 0 + } + $39 = $41; + } + label$5 : { + label$6 : { + if (!($39 & 1 | 0)) { + break label$6 + } + label$7 : { + if (!((HEAP32[($5 + 32 | 0) >> 2] | 0 | 0) <= (0 | 0) & 1 | 0)) { + break label$7 + } + HEAP32[($4 + 44 | 0) >> 2] = -1; + break label$1; + } + break label$5; + } + i64toi32_i32$1 = $4; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$1 + 32 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$1 + 36 | 0) >> 2] | 0; + $49$hi = i64toi32_i32$2; + i64toi32_i32$2 = 0; + $50$hi = i64toi32_i32$2; + i64toi32_i32$2 = $49$hi; + i64toi32_i32$2 = $50$hi; + i64toi32_i32$2 = $49$hi; + i64toi32_i32$2 = $50$hi; + i64toi32_i32$2 = $49$hi; + i64toi32_i32$1 = i64toi32_i32$0; + i64toi32_i32$0 = $50$hi; + i64toi32_i32$3 = 0; + if ((i64toi32_i32$2 | 0) < (i64toi32_i32$0 | 0)) { + $42 = 1 + } else { + if ((i64toi32_i32$2 | 0) <= (i64toi32_i32$0 | 0)) { + if (i64toi32_i32$1 >>> 0 >= i64toi32_i32$3 >>> 0) { + $43 = 0 + } else { + $43 = 1 + } + $44 = $43; + } else { + $44 = 0 + } + $42 = $44; + } + label$8 : { + label$9 : { + if (!($42 & 1 | 0)) { + break label$9 + } + label$10 : { + if (!((HEAP32[($5 + 32 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0)) { + break label$10 + } + HEAP32[($4 + 44 | 0) >> 2] = 1; + break label$1; + } + i64toi32_i32$3 = $4; + i64toi32_i32$1 = HEAP32[($4 + 32 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($4 + 36 | 0) >> 2] | 0; + $64$hi = i64toi32_i32$2; + i64toi32_i32$2 = 0; + $202$hi = i64toi32_i32$2; + i64toi32_i32$2 = $64$hi; + $203 = i64toi32_i32$1; + i64toi32_i32$2 = $202$hi; + i64toi32_i32$3 = 0; + i64toi32_i32$1 = $64$hi; + i64toi32_i32$0 = $203; + i64toi32_i32$5 = (i64toi32_i32$3 >>> 0 < i64toi32_i32$0 >>> 0) + i64toi32_i32$1 | 0; + i64toi32_i32$5 = i64toi32_i32$2 - i64toi32_i32$5 | 0; + $206 = i64toi32_i32$3 - i64toi32_i32$0 | 0; + i64toi32_i32$3 = $4; + HEAP32[($4 + 32 | 0) >> 2] = $206; + HEAP32[($4 + 36 | 0) >> 2] = i64toi32_i32$5; + break label$8; + } + HEAP32[($4 + 44 | 0) >> 2] = HEAP32[($5 + 32 | 0) >> 2] | 0; + break label$1; + } + } + i64toi32_i32$2 = $4; + i64toi32_i32$5 = HEAP32[(i64toi32_i32$2 + 32 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[(i64toi32_i32$2 + 36 | 0) >> 2] | 0; + btConvexHullInternal__Int128__operator__28long_20long_29_20const(i64toi32_i32$2 + 8 | 0 | 0, $5 + 16 | 0 | 0, i64toi32_i32$5 | 0, i64toi32_i32$3 | 0); + (wasm2js_i32$0 = i64toi32_i32$2, wasm2js_i32$1 = Math_imul(btConvexHullInternal__Int128__ucmp_28btConvexHullInternal__Int128_20const__29_20const($5 | 0, i64toi32_i32$2 + 8 | 0 | 0) | 0, HEAP32[($5 + 32 | 0) >> 2] | 0)), HEAP32[(wasm2js_i32$0 + 44 | 0) >> 2] = wasm2js_i32$1; + } + $80 = HEAP32[($4 + 44 | 0) >> 2] | 0; + __stack_pointer = $4 + 48 | 0; + return $80 | 0; + } + + function btConvexHullInternal__DMul_btConvexHullInternal__Int128_2c_20unsigned_20long_20long___mul_28btConvexHullInternal__Int128_2c_20btConvexHullInternal__Int128_2c_20btConvexHullInternal__Int128__2c_20btConvexHullInternal__Int128__29($0, $1, $2, $3) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + var i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, $6 = 0, i64toi32_i32$2 = 0, $7 = 0, $14 = 0, $25$hi = 0, $26 = 0, $33 = 0, $44$hi = 0, $48 = 0, $55 = 0, $66$hi = 0, $67 = 0, $74 = 0, $85$hi = 0, $89 = 0, $96 = 0, $107$hi = 0, $108 = 0, $115 = 0, $126$hi = 0, $130 = 0, $137 = 0, $148$hi = 0, $149 = 0, $156 = 0, $167$hi = 0, $171 = 0, $180 = 0, $195 = 0, $204 = 0, $228 = 0, $237 = 0, $258 = 0, $267 = 0, $288 = 0, $297 = 0, $339 = 0, $341 = 0, $347 = 0, $349 = 0, $378 = 0, $382 = 0, $398 = 0, $402 = 0, $25 = 0, $420 = 0, $424 = 0, $440 = 0, $444 = 0, $456 = 0, $469 = 0, $473 = 0, $489 = 0, $493 = 0, $66 = 0, $511 = 0, $515 = 0, $531 = 0, $535 = 0, $547 = 0, $560 = 0, $564 = 0, $580 = 0, $584 = 0, $107 = 0, $602 = 0, $606 = 0, $622 = 0, $626 = 0, $638 = 0, $651 = 0, $655 = 0, $671 = 0, $675 = 0, $148 = 0, $693 = 0, $697 = 0, $713 = 0, $717 = 0, $729 = 0, $745 = 0, $749 = 0, $765 = 0, $769 = 0, $797 = 0, $801 = 0, $817 = 0, $821 = 0, $864 = 0, $868 = 0, $884 = 0, $888 = 0, $927 = 0, $931 = 0, $947 = 0, $951 = 0, $990 = 0, $994 = 0, $1010 = 0, $1014 = 0, $1081 = 0, $1094 = 0, $1100 = 0, $1113 = 0; + $6 = __stack_pointer - 592 | 0; + __stack_pointer = $6; + HEAP32[($6 + 588 | 0) >> 2] = $2; + HEAP32[($6 + 584 | 0) >> 2] = $3; + $7 = 8; + i64toi32_i32$2 = $0 + $7 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $378 = i64toi32_i32$0; + i64toi32_i32$0 = ($6 + 552 | 0) + $7 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $378; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$2 = $0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $382 = i64toi32_i32$1; + i64toi32_i32$1 = $6; + HEAP32[(i64toi32_i32$1 + 552 | 0) >> 2] = $382; + HEAP32[(i64toi32_i32$1 + 556 | 0) >> 2] = i64toi32_i32$0; + $14 = 8; + i64toi32_i32$2 = (i64toi32_i32$1 + 552 | 0) + $14 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $398 = i64toi32_i32$0; + i64toi32_i32$0 = ($6 + 8 | 0) + $14 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $398; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$2 = $6; + i64toi32_i32$1 = HEAP32[($6 + 552 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($6 + 556 | 0) >> 2] | 0; + $402 = i64toi32_i32$1; + i64toi32_i32$1 = $6; + HEAP32[(i64toi32_i32$1 + 8 | 0) >> 2] = $402; + HEAP32[(i64toi32_i32$1 + 12 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$0 = btConvexHullInternal__DMul_btConvexHullInternal__Int128_2c_20unsigned_20long_20long___low_28btConvexHullInternal__Int128_29(i64toi32_i32$1 + 8 | 0 | 0) | 0; + i64toi32_i32$1 = i64toi32_i32$HIGH_BITS; + $25 = i64toi32_i32$0; + $25$hi = i64toi32_i32$1; + $26 = 8; + i64toi32_i32$2 = $1 + $26 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $420 = i64toi32_i32$1; + i64toi32_i32$1 = ($6 + 536 | 0) + $26 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $420; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$2 = $1; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $424 = i64toi32_i32$0; + i64toi32_i32$0 = $6; + HEAP32[(i64toi32_i32$0 + 536 | 0) >> 2] = $424; + HEAP32[(i64toi32_i32$0 + 540 | 0) >> 2] = i64toi32_i32$1; + $33 = 8; + i64toi32_i32$2 = (i64toi32_i32$0 + 536 | 0) + $33 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $440 = i64toi32_i32$1; + i64toi32_i32$1 = ($6 + 24 | 0) + $33 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $440; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$2 = $6; + i64toi32_i32$0 = HEAP32[($6 + 536 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($6 + 540 | 0) >> 2] | 0; + $444 = i64toi32_i32$0; + i64toi32_i32$0 = $6; + HEAP32[(i64toi32_i32$0 + 24 | 0) >> 2] = $444; + HEAP32[(i64toi32_i32$0 + 28 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$1 = btConvexHullInternal__DMul_btConvexHullInternal__Int128_2c_20unsigned_20long_20long___low_28btConvexHullInternal__Int128_29(i64toi32_i32$0 + 24 | 0 | 0) | 0; + i64toi32_i32$0 = i64toi32_i32$HIGH_BITS; + $44$hi = i64toi32_i32$0; + i64toi32_i32$0 = $25$hi; + i64toi32_i32$0 = $44$hi; + $456 = i64toi32_i32$1; + i64toi32_i32$0 = $25$hi; + i64toi32_i32$1 = $44$hi; + btConvexHullInternal__DMul_btConvexHullInternal__Int128_2c_20unsigned_20long_20long___mul_28unsigned_20long_20long_2c_20unsigned_20long_20long_29($6 + 568 | 0 | 0, $25 | 0, i64toi32_i32$0 | 0, $456 | 0, i64toi32_i32$1 | 0); + $48 = 8; + i64toi32_i32$2 = $0 + $48 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $469 = i64toi32_i32$1; + i64toi32_i32$1 = ($6 + 504 | 0) + $48 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $469; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$2 = $0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $473 = i64toi32_i32$0; + i64toi32_i32$0 = $6; + HEAP32[(i64toi32_i32$0 + 504 | 0) >> 2] = $473; + HEAP32[(i64toi32_i32$0 + 508 | 0) >> 2] = i64toi32_i32$1; + $55 = 8; + i64toi32_i32$2 = (i64toi32_i32$0 + 504 | 0) + $55 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $489 = i64toi32_i32$1; + i64toi32_i32$1 = ($6 + 40 | 0) + $55 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $489; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$2 = $6; + i64toi32_i32$0 = HEAP32[($6 + 504 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($6 + 508 | 0) >> 2] | 0; + $493 = i64toi32_i32$0; + i64toi32_i32$0 = $6; + HEAP32[(i64toi32_i32$0 + 40 | 0) >> 2] = $493; + HEAP32[(i64toi32_i32$0 + 44 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$1 = btConvexHullInternal__DMul_btConvexHullInternal__Int128_2c_20unsigned_20long_20long___low_28btConvexHullInternal__Int128_29(i64toi32_i32$0 + 40 | 0 | 0) | 0; + i64toi32_i32$0 = i64toi32_i32$HIGH_BITS; + $66 = i64toi32_i32$1; + $66$hi = i64toi32_i32$0; + $67 = 8; + i64toi32_i32$2 = $1 + $67 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $511 = i64toi32_i32$0; + i64toi32_i32$0 = ($6 + 488 | 0) + $67 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $511; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$2 = $1; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $515 = i64toi32_i32$1; + i64toi32_i32$1 = $6; + HEAP32[(i64toi32_i32$1 + 488 | 0) >> 2] = $515; + HEAP32[(i64toi32_i32$1 + 492 | 0) >> 2] = i64toi32_i32$0; + $74 = 8; + i64toi32_i32$2 = (i64toi32_i32$1 + 488 | 0) + $74 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $531 = i64toi32_i32$0; + i64toi32_i32$0 = ($6 + 56 | 0) + $74 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $531; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$2 = $6; + i64toi32_i32$1 = HEAP32[($6 + 488 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($6 + 492 | 0) >> 2] | 0; + $535 = i64toi32_i32$1; + i64toi32_i32$1 = $6; + HEAP32[(i64toi32_i32$1 + 56 | 0) >> 2] = $535; + HEAP32[(i64toi32_i32$1 + 60 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$0 = btConvexHullInternal__DMul_btConvexHullInternal__Int128_2c_20unsigned_20long_20long___high_28btConvexHullInternal__Int128_29(i64toi32_i32$1 + 56 | 0 | 0) | 0; + i64toi32_i32$1 = i64toi32_i32$HIGH_BITS; + $85$hi = i64toi32_i32$1; + i64toi32_i32$1 = $66$hi; + i64toi32_i32$1 = $85$hi; + $547 = i64toi32_i32$0; + i64toi32_i32$1 = $66$hi; + i64toi32_i32$0 = $85$hi; + btConvexHullInternal__DMul_btConvexHullInternal__Int128_2c_20unsigned_20long_20long___mul_28unsigned_20long_20long_2c_20unsigned_20long_20long_29($6 + 520 | 0 | 0, $66 | 0, i64toi32_i32$1 | 0, $547 | 0, i64toi32_i32$0 | 0); + $89 = 8; + i64toi32_i32$2 = $0 + $89 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $560 = i64toi32_i32$0; + i64toi32_i32$0 = ($6 + 456 | 0) + $89 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $560; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$2 = $0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $564 = i64toi32_i32$1; + i64toi32_i32$1 = $6; + HEAP32[(i64toi32_i32$1 + 456 | 0) >> 2] = $564; + HEAP32[(i64toi32_i32$1 + 460 | 0) >> 2] = i64toi32_i32$0; + $96 = 8; + i64toi32_i32$2 = (i64toi32_i32$1 + 456 | 0) + $96 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $580 = i64toi32_i32$0; + i64toi32_i32$0 = ($6 + 72 | 0) + $96 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $580; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$2 = $6; + i64toi32_i32$1 = HEAP32[($6 + 456 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($6 + 460 | 0) >> 2] | 0; + $584 = i64toi32_i32$1; + i64toi32_i32$1 = $6; + HEAP32[(i64toi32_i32$1 + 72 | 0) >> 2] = $584; + HEAP32[(i64toi32_i32$1 + 76 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$0 = btConvexHullInternal__DMul_btConvexHullInternal__Int128_2c_20unsigned_20long_20long___high_28btConvexHullInternal__Int128_29(i64toi32_i32$1 + 72 | 0 | 0) | 0; + i64toi32_i32$1 = i64toi32_i32$HIGH_BITS; + $107 = i64toi32_i32$0; + $107$hi = i64toi32_i32$1; + $108 = 8; + i64toi32_i32$2 = $1 + $108 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $602 = i64toi32_i32$1; + i64toi32_i32$1 = ($6 + 440 | 0) + $108 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $602; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$2 = $1; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $606 = i64toi32_i32$0; + i64toi32_i32$0 = $6; + HEAP32[(i64toi32_i32$0 + 440 | 0) >> 2] = $606; + HEAP32[(i64toi32_i32$0 + 444 | 0) >> 2] = i64toi32_i32$1; + $115 = 8; + i64toi32_i32$2 = (i64toi32_i32$0 + 440 | 0) + $115 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $622 = i64toi32_i32$1; + i64toi32_i32$1 = ($6 + 88 | 0) + $115 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $622; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$2 = $6; + i64toi32_i32$0 = HEAP32[($6 + 440 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($6 + 444 | 0) >> 2] | 0; + $626 = i64toi32_i32$0; + i64toi32_i32$0 = $6; + HEAP32[(i64toi32_i32$0 + 88 | 0) >> 2] = $626; + HEAP32[(i64toi32_i32$0 + 92 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$1 = btConvexHullInternal__DMul_btConvexHullInternal__Int128_2c_20unsigned_20long_20long___low_28btConvexHullInternal__Int128_29(i64toi32_i32$0 + 88 | 0 | 0) | 0; + i64toi32_i32$0 = i64toi32_i32$HIGH_BITS; + $126$hi = i64toi32_i32$0; + i64toi32_i32$0 = $107$hi; + i64toi32_i32$0 = $126$hi; + $638 = i64toi32_i32$1; + i64toi32_i32$0 = $107$hi; + i64toi32_i32$1 = $126$hi; + btConvexHullInternal__DMul_btConvexHullInternal__Int128_2c_20unsigned_20long_20long___mul_28unsigned_20long_20long_2c_20unsigned_20long_20long_29($6 + 472 | 0 | 0, $107 | 0, i64toi32_i32$0 | 0, $638 | 0, i64toi32_i32$1 | 0); + $130 = 8; + i64toi32_i32$2 = $0 + $130 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $651 = i64toi32_i32$1; + i64toi32_i32$1 = ($6 + 408 | 0) + $130 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $651; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$2 = $0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $655 = i64toi32_i32$0; + i64toi32_i32$0 = $6; + HEAP32[(i64toi32_i32$0 + 408 | 0) >> 2] = $655; + HEAP32[(i64toi32_i32$0 + 412 | 0) >> 2] = i64toi32_i32$1; + $137 = 8; + i64toi32_i32$2 = (i64toi32_i32$0 + 408 | 0) + $137 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $671 = i64toi32_i32$1; + i64toi32_i32$1 = ($6 + 104 | 0) + $137 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $671; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$2 = $6; + i64toi32_i32$0 = HEAP32[($6 + 408 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($6 + 412 | 0) >> 2] | 0; + $675 = i64toi32_i32$0; + i64toi32_i32$0 = $6; + HEAP32[(i64toi32_i32$0 + 104 | 0) >> 2] = $675; + HEAP32[(i64toi32_i32$0 + 108 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$1 = btConvexHullInternal__DMul_btConvexHullInternal__Int128_2c_20unsigned_20long_20long___high_28btConvexHullInternal__Int128_29(i64toi32_i32$0 + 104 | 0 | 0) | 0; + i64toi32_i32$0 = i64toi32_i32$HIGH_BITS; + $148 = i64toi32_i32$1; + $148$hi = i64toi32_i32$0; + $149 = 8; + i64toi32_i32$2 = $1 + $149 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $693 = i64toi32_i32$0; + i64toi32_i32$0 = ($6 + 392 | 0) + $149 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $693; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$2 = $1; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $697 = i64toi32_i32$1; + i64toi32_i32$1 = $6; + HEAP32[(i64toi32_i32$1 + 392 | 0) >> 2] = $697; + HEAP32[(i64toi32_i32$1 + 396 | 0) >> 2] = i64toi32_i32$0; + $156 = 8; + i64toi32_i32$2 = (i64toi32_i32$1 + 392 | 0) + $156 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $713 = i64toi32_i32$0; + i64toi32_i32$0 = ($6 + 120 | 0) + $156 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $713; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$2 = $6; + i64toi32_i32$1 = HEAP32[($6 + 392 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($6 + 396 | 0) >> 2] | 0; + $717 = i64toi32_i32$1; + i64toi32_i32$1 = $6; + HEAP32[(i64toi32_i32$1 + 120 | 0) >> 2] = $717; + HEAP32[(i64toi32_i32$1 + 124 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$0 = btConvexHullInternal__DMul_btConvexHullInternal__Int128_2c_20unsigned_20long_20long___high_28btConvexHullInternal__Int128_29(i64toi32_i32$1 + 120 | 0 | 0) | 0; + i64toi32_i32$1 = i64toi32_i32$HIGH_BITS; + $167$hi = i64toi32_i32$1; + i64toi32_i32$1 = $148$hi; + i64toi32_i32$1 = $167$hi; + $729 = i64toi32_i32$0; + i64toi32_i32$1 = $148$hi; + i64toi32_i32$0 = $167$hi; + btConvexHullInternal__DMul_btConvexHullInternal__Int128_2c_20unsigned_20long_20long___mul_28unsigned_20long_20long_2c_20unsigned_20long_20long_29($6 + 424 | 0 | 0, $148 | 0, i64toi32_i32$1 | 0, $729 | 0, i64toi32_i32$0 | 0); + $171 = 8; + i64toi32_i32$2 = ($6 + 520 | 0) + $171 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $745 = i64toi32_i32$0; + i64toi32_i32$0 = ($6 + 344 | 0) + $171 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $745; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$2 = $6; + i64toi32_i32$1 = HEAP32[($6 + 520 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($6 + 524 | 0) >> 2] | 0; + $749 = i64toi32_i32$1; + i64toi32_i32$1 = $6; + HEAP32[(i64toi32_i32$1 + 344 | 0) >> 2] = $749; + HEAP32[(i64toi32_i32$1 + 348 | 0) >> 2] = i64toi32_i32$0; + $180 = 8; + i64toi32_i32$2 = (i64toi32_i32$1 + 344 | 0) + $180 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $765 = i64toi32_i32$0; + i64toi32_i32$0 = ($6 + 136 | 0) + $180 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $765; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$2 = $6; + i64toi32_i32$1 = HEAP32[($6 + 344 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($6 + 348 | 0) >> 2] | 0; + $769 = i64toi32_i32$1; + i64toi32_i32$1 = $6; + HEAP32[(i64toi32_i32$1 + 136 | 0) >> 2] = $769; + HEAP32[(i64toi32_i32$1 + 140 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$0 = btConvexHullInternal__DMul_btConvexHullInternal__Int128_2c_20unsigned_20long_20long___low_28btConvexHullInternal__Int128_29(i64toi32_i32$1 + 136 | 0 | 0) | 0; + i64toi32_i32$1 = i64toi32_i32$HIGH_BITS; + btConvexHullInternal__Int128__Int128_28unsigned_20long_20long_29($6 + 360 | 0 | 0, i64toi32_i32$0 | 0, i64toi32_i32$1 | 0) | 0; + $195 = 8; + i64toi32_i32$2 = ($6 + 472 | 0) + $195 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $797 = i64toi32_i32$1; + i64toi32_i32$1 = ($6 + 312 | 0) + $195 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $797; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$2 = $6; + i64toi32_i32$0 = HEAP32[($6 + 472 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($6 + 476 | 0) >> 2] | 0; + $801 = i64toi32_i32$0; + i64toi32_i32$0 = $6; + HEAP32[(i64toi32_i32$0 + 312 | 0) >> 2] = $801; + HEAP32[(i64toi32_i32$0 + 316 | 0) >> 2] = i64toi32_i32$1; + $204 = 8; + i64toi32_i32$2 = (i64toi32_i32$0 + 312 | 0) + $204 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $817 = i64toi32_i32$1; + i64toi32_i32$1 = ($6 + 152 | 0) + $204 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $817; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$2 = $6; + i64toi32_i32$0 = HEAP32[($6 + 312 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($6 + 316 | 0) >> 2] | 0; + $821 = i64toi32_i32$0; + i64toi32_i32$0 = $6; + HEAP32[(i64toi32_i32$0 + 152 | 0) >> 2] = $821; + HEAP32[(i64toi32_i32$0 + 156 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$1 = btConvexHullInternal__DMul_btConvexHullInternal__Int128_2c_20unsigned_20long_20long___low_28btConvexHullInternal__Int128_29(i64toi32_i32$0 + 152 | 0 | 0) | 0; + i64toi32_i32$0 = i64toi32_i32$HIGH_BITS; + btConvexHullInternal__Int128__Int128_28unsigned_20long_20long_29($6 + 328 | 0 | 0, i64toi32_i32$1 | 0, i64toi32_i32$0 | 0) | 0; + btConvexHullInternal__Int128__operator__28btConvexHullInternal__Int128_20const__29_20const($6 + 376 | 0 | 0, $6 + 360 | 0 | 0, $6 + 328 | 0 | 0); + $228 = 8; + i64toi32_i32$2 = ($6 + 520 | 0) + $228 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $864 = i64toi32_i32$0; + i64toi32_i32$0 = ($6 + 280 | 0) + $228 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $864; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$2 = $6; + i64toi32_i32$1 = HEAP32[($6 + 520 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($6 + 524 | 0) >> 2] | 0; + $868 = i64toi32_i32$1; + i64toi32_i32$1 = $6; + HEAP32[(i64toi32_i32$1 + 280 | 0) >> 2] = $868; + HEAP32[(i64toi32_i32$1 + 284 | 0) >> 2] = i64toi32_i32$0; + $237 = 8; + i64toi32_i32$2 = (i64toi32_i32$1 + 280 | 0) + $237 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $884 = i64toi32_i32$0; + i64toi32_i32$0 = ($6 + 168 | 0) + $237 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $884; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$2 = $6; + i64toi32_i32$1 = HEAP32[($6 + 280 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($6 + 284 | 0) >> 2] | 0; + $888 = i64toi32_i32$1; + i64toi32_i32$1 = $6; + HEAP32[(i64toi32_i32$1 + 168 | 0) >> 2] = $888; + HEAP32[(i64toi32_i32$1 + 172 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$0 = btConvexHullInternal__DMul_btConvexHullInternal__Int128_2c_20unsigned_20long_20long___high_28btConvexHullInternal__Int128_29(i64toi32_i32$1 + 168 | 0 | 0) | 0; + i64toi32_i32$1 = i64toi32_i32$HIGH_BITS; + btConvexHullInternal__Int128__Int128_28unsigned_20long_20long_29($6 + 296 | 0 | 0, i64toi32_i32$0 | 0, i64toi32_i32$1 | 0) | 0; + btConvexHullInternal__Int128__operator___28btConvexHullInternal__Int128_20const__29($6 + 424 | 0 | 0, $6 + 296 | 0 | 0) | 0; + $258 = 8; + i64toi32_i32$2 = ($6 + 472 | 0) + $258 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $927 = i64toi32_i32$1; + i64toi32_i32$1 = ($6 + 248 | 0) + $258 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $927; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$2 = $6; + i64toi32_i32$0 = HEAP32[($6 + 472 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($6 + 476 | 0) >> 2] | 0; + $931 = i64toi32_i32$0; + i64toi32_i32$0 = $6; + HEAP32[(i64toi32_i32$0 + 248 | 0) >> 2] = $931; + HEAP32[(i64toi32_i32$0 + 252 | 0) >> 2] = i64toi32_i32$1; + $267 = 8; + i64toi32_i32$2 = (i64toi32_i32$0 + 248 | 0) + $267 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $947 = i64toi32_i32$1; + i64toi32_i32$1 = ($6 + 184 | 0) + $267 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $947; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$2 = $6; + i64toi32_i32$0 = HEAP32[($6 + 248 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($6 + 252 | 0) >> 2] | 0; + $951 = i64toi32_i32$0; + i64toi32_i32$0 = $6; + HEAP32[(i64toi32_i32$0 + 184 | 0) >> 2] = $951; + HEAP32[(i64toi32_i32$0 + 188 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$1 = btConvexHullInternal__DMul_btConvexHullInternal__Int128_2c_20unsigned_20long_20long___high_28btConvexHullInternal__Int128_29(i64toi32_i32$0 + 184 | 0 | 0) | 0; + i64toi32_i32$0 = i64toi32_i32$HIGH_BITS; + btConvexHullInternal__Int128__Int128_28unsigned_20long_20long_29($6 + 264 | 0 | 0, i64toi32_i32$1 | 0, i64toi32_i32$0 | 0) | 0; + btConvexHullInternal__Int128__operator___28btConvexHullInternal__Int128_20const__29($6 + 424 | 0 | 0, $6 + 264 | 0 | 0) | 0; + $288 = 8; + i64toi32_i32$2 = ($6 + 376 | 0) + $288 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $990 = i64toi32_i32$0; + i64toi32_i32$0 = ($6 + 216 | 0) + $288 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $990; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$2 = $6; + i64toi32_i32$1 = HEAP32[($6 + 376 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($6 + 380 | 0) >> 2] | 0; + $994 = i64toi32_i32$1; + i64toi32_i32$1 = $6; + HEAP32[(i64toi32_i32$1 + 216 | 0) >> 2] = $994; + HEAP32[(i64toi32_i32$1 + 220 | 0) >> 2] = i64toi32_i32$0; + $297 = 8; + i64toi32_i32$2 = (i64toi32_i32$1 + 216 | 0) + $297 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $1010 = i64toi32_i32$0; + i64toi32_i32$0 = ($6 + 200 | 0) + $297 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $1010; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$2 = $6; + i64toi32_i32$1 = HEAP32[($6 + 216 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($6 + 220 | 0) >> 2] | 0; + $1014 = i64toi32_i32$1; + i64toi32_i32$1 = $6; + HEAP32[(i64toi32_i32$1 + 200 | 0) >> 2] = $1014; + HEAP32[(i64toi32_i32$1 + 204 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$0 = btConvexHullInternal__DMul_btConvexHullInternal__Int128_2c_20unsigned_20long_20long___high_28btConvexHullInternal__Int128_29(i64toi32_i32$1 + 200 | 0 | 0) | 0; + i64toi32_i32$1 = i64toi32_i32$HIGH_BITS; + btConvexHullInternal__Int128__Int128_28unsigned_20long_20long_29($6 + 232 | 0 | 0, i64toi32_i32$0 | 0, i64toi32_i32$1 | 0) | 0; + btConvexHullInternal__Int128__operator___28btConvexHullInternal__Int128_20const__29($6 + 424 | 0 | 0, $6 + 232 | 0 | 0) | 0; + btConvexHullInternal__DMul_btConvexHullInternal__Int128_2c_20unsigned_20long_20long___shlHalf_28btConvexHullInternal__Int128__29($6 + 376 | 0 | 0); + btConvexHullInternal__Int128__operator___28btConvexHullInternal__Int128_20const__29($6 + 568 | 0 | 0, $6 + 376 | 0 | 0) | 0; + label$1 : { + if (!((btConvexHullInternal__Int128__operator__28btConvexHullInternal__Int128_20const__29_20const_1($6 + 568 | 0 | 0, $6 + 376 | 0 | 0) | 0) & 1 | 0)) { + break label$1 + } + btConvexHullInternal__Int128__operator___28_29($6 + 424 | 0 | 0) | 0; + } + $339 = HEAP32[($6 + 588 | 0) >> 2] | 0; + i64toi32_i32$2 = $6; + i64toi32_i32$1 = HEAP32[($6 + 568 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($6 + 572 | 0) >> 2] | 0; + $1081 = i64toi32_i32$1; + i64toi32_i32$1 = $339; + HEAP32[i64toi32_i32$1 >> 2] = $1081; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + $341 = 8; + i64toi32_i32$2 = ($6 + 568 | 0) + $341 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $1094 = i64toi32_i32$0; + i64toi32_i32$0 = $339 + $341 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $1094; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $347 = HEAP32[($6 + 584 | 0) >> 2] | 0; + i64toi32_i32$2 = $6; + i64toi32_i32$1 = HEAP32[($6 + 424 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($6 + 428 | 0) >> 2] | 0; + $1100 = i64toi32_i32$1; + i64toi32_i32$1 = $347; + HEAP32[i64toi32_i32$1 >> 2] = $1100; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + $349 = 8; + i64toi32_i32$2 = ($6 + 424 | 0) + $349 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $1113 = i64toi32_i32$0; + i64toi32_i32$0 = $347 + $349 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $1113; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + __stack_pointer = $6 + 592 | 0; + return; + } + + function btConvexHullInternal__DMul_btConvexHullInternal__Int128_2c_20unsigned_20long_20long___low_28btConvexHullInternal__Int128_29($0) { + $0 = $0 | 0; + var i64toi32_i32$2 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0; + i64toi32_i32$2 = $0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + i64toi32_i32$HIGH_BITS = i64toi32_i32$1; + return i64toi32_i32$0 | 0; + } + + function btConvexHullInternal__DMul_btConvexHullInternal__Int128_2c_20unsigned_20long_20long___mul_28unsigned_20long_20long_2c_20unsigned_20long_20long_29($0, $1, $1$hi, $2, $2$hi) { + $0 = $0 | 0; + $1 = $1 | 0; + $1$hi = $1$hi | 0; + $2 = $2 | 0; + $2$hi = $2$hi | 0; + var i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, $5 = 0, $6$hi = 0, $7$hi = 0, $6 = 0, $25 = 0; + $5 = __stack_pointer - 16 | 0; + __stack_pointer = $5; + i64toi32_i32$0 = $1$hi; + i64toi32_i32$1 = $5; + HEAP32[(i64toi32_i32$1 + 8 | 0) >> 2] = $1; + HEAP32[(i64toi32_i32$1 + 12 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$0 = $2$hi; + HEAP32[i64toi32_i32$1 >> 2] = $2; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$1 + 8 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$1 + 12 | 0) >> 2] | 0; + $6 = i64toi32_i32$0; + $6$hi = i64toi32_i32$1; + i64toi32_i32$1 = HEAP32[$5 >> 2] | 0; + i64toi32_i32$0 = HEAP32[($5 + 4 | 0) >> 2] | 0; + $7$hi = i64toi32_i32$0; + i64toi32_i32$0 = $6$hi; + i64toi32_i32$0 = $7$hi; + $25 = i64toi32_i32$1; + i64toi32_i32$0 = $6$hi; + i64toi32_i32$1 = $7$hi; + btConvexHullInternal__Int128__mul_28unsigned_20long_20long_2c_20unsigned_20long_20long_29($0 | 0, $6 | 0, i64toi32_i32$0 | 0, $25 | 0, i64toi32_i32$1 | 0); + __stack_pointer = $5 + 16 | 0; + return; + } + + function btConvexHullInternal__DMul_btConvexHullInternal__Int128_2c_20unsigned_20long_20long___high_28btConvexHullInternal__Int128_29($0) { + $0 = $0 | 0; + var i64toi32_i32$2 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0; + i64toi32_i32$2 = $0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 8 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 12 | 0) >> 2] | 0; + i64toi32_i32$HIGH_BITS = i64toi32_i32$1; + return i64toi32_i32$0 | 0; + } + + function btConvexHullInternal__Int128__Int128_28unsigned_20long_20long_29($0, $1, $1$hi) { + $0 = $0 | 0; + $1 = $1 | 0; + $1$hi = $1$hi | 0; + var i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $4 = 0, $5 = 0, $21 = 0; + $4 = __stack_pointer - 16 | 0; + HEAP32[($4 + 12 | 0) >> 2] = $0; + i64toi32_i32$0 = $1$hi; + i64toi32_i32$1 = $4; + HEAP32[i64toi32_i32$1 >> 2] = $1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + $5 = HEAP32[(i64toi32_i32$1 + 12 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$1 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] | 0; + $21 = i64toi32_i32$0; + i64toi32_i32$0 = $5; + HEAP32[i64toi32_i32$0 >> 2] = $21; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$1 = 0; + HEAP32[(i64toi32_i32$0 + 8 | 0) >> 2] = 0; + HEAP32[(i64toi32_i32$0 + 12 | 0) >> 2] = i64toi32_i32$1; + return i64toi32_i32$0 | 0; + } + + function btConvexHullInternal__Int128__operator__28btConvexHullInternal__Int128_20const__29_20const($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var i64toi32_i32$2 = 0, i64toi32_i32$0 = 0, i64toi32_i32$4 = 0, i64toi32_i32$1 = 0, i64toi32_i32$5 = 0, i64toi32_i32$3 = 0, $5 = 0, $6 = 0, $16$hi = 0, $17$hi = 0, $7$hi = 0, $9$hi = 0, $11$hi = 0, $12$hi = 0, $14$hi = 0, $15$hi = 0, $23$hi = 0, $24$hi = 0, $7 = 0, $45 = 0, $11 = 0, $12 = 0, $58 = 0, $16 = 0, $67 = 0, $72 = 0; + $5 = __stack_pointer - 16 | 0; + __stack_pointer = $5; + HEAP32[($5 + 12 | 0) >> 2] = $1; + HEAP32[($5 + 8 | 0) >> 2] = $2; + $6 = HEAP32[($5 + 12 | 0) >> 2] | 0; + i64toi32_i32$2 = $6; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $7 = i64toi32_i32$0; + $7$hi = i64toi32_i32$1; + i64toi32_i32$2 = HEAP32[($5 + 8 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $9$hi = i64toi32_i32$0; + i64toi32_i32$0 = $7$hi; + i64toi32_i32$0 = $9$hi; + $45 = i64toi32_i32$1; + i64toi32_i32$0 = $7$hi; + i64toi32_i32$2 = $7; + i64toi32_i32$1 = $9$hi; + i64toi32_i32$3 = $45; + i64toi32_i32$4 = i64toi32_i32$2 + i64toi32_i32$3 | 0; + i64toi32_i32$5 = i64toi32_i32$0 + i64toi32_i32$1 | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + i64toi32_i32$2 = $5; + HEAP32[i64toi32_i32$2 >> 2] = i64toi32_i32$4; + HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] = i64toi32_i32$5; + i64toi32_i32$0 = i64toi32_i32$2; + i64toi32_i32$5 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $11 = i64toi32_i32$5; + $11$hi = i64toi32_i32$2; + i64toi32_i32$0 = $6; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$0 + 8 | 0) >> 2] | 0; + i64toi32_i32$5 = HEAP32[(i64toi32_i32$0 + 12 | 0) >> 2] | 0; + $12 = i64toi32_i32$2; + $12$hi = i64toi32_i32$5; + i64toi32_i32$0 = HEAP32[($5 + 8 | 0) >> 2] | 0; + i64toi32_i32$5 = HEAP32[(i64toi32_i32$0 + 8 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$0 + 12 | 0) >> 2] | 0; + $14$hi = i64toi32_i32$2; + i64toi32_i32$2 = $12$hi; + i64toi32_i32$2 = $14$hi; + $58 = i64toi32_i32$5; + i64toi32_i32$2 = $12$hi; + i64toi32_i32$0 = $12; + i64toi32_i32$5 = $14$hi; + i64toi32_i32$3 = $58; + i64toi32_i32$1 = i64toi32_i32$0 + i64toi32_i32$3 | 0; + i64toi32_i32$4 = i64toi32_i32$2 + i64toi32_i32$5 | 0; + if (i64toi32_i32$1 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$4 = i64toi32_i32$4 + 1 | 0 + } + $15$hi = i64toi32_i32$4; + i64toi32_i32$2 = $5; + i64toi32_i32$4 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $16 = i64toi32_i32$4; + $16$hi = i64toi32_i32$0; + i64toi32_i32$2 = $6; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$4 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $17$hi = i64toi32_i32$4; + i64toi32_i32$4 = $16$hi; + i64toi32_i32$4 = $17$hi; + i64toi32_i32$4 = $16$hi; + i64toi32_i32$4 = $17$hi; + $67 = i64toi32_i32$0; + i64toi32_i32$4 = $16$hi; + i64toi32_i32$2 = $16; + i64toi32_i32$0 = $17$hi; + i64toi32_i32$3 = $67; + $72 = (i64toi32_i32$4 >>> 0 < i64toi32_i32$0 >>> 0 | ((i64toi32_i32$4 | 0) == (i64toi32_i32$0 | 0) & i64toi32_i32$2 >>> 0 < i64toi32_i32$3 >>> 0 | 0) | 0) & 1 | 0; + i64toi32_i32$2 = 0; + $23$hi = i64toi32_i32$2; + i64toi32_i32$2 = $15$hi; + i64toi32_i32$2 = $23$hi; + i64toi32_i32$2 = $15$hi; + i64toi32_i32$3 = i64toi32_i32$1; + i64toi32_i32$4 = $23$hi; + i64toi32_i32$0 = $72; + i64toi32_i32$5 = i64toi32_i32$1 + i64toi32_i32$0 | 0; + i64toi32_i32$1 = i64toi32_i32$2 + i64toi32_i32$4 | 0; + if (i64toi32_i32$5 >>> 0 < i64toi32_i32$0 >>> 0) { + i64toi32_i32$1 = i64toi32_i32$1 + 1 | 0 + } + $24$hi = i64toi32_i32$1; + i64toi32_i32$1 = $11$hi; + i64toi32_i32$1 = $24$hi; + i64toi32_i32$1 = $11$hi; + i64toi32_i32$3 = $24$hi; + btConvexHullInternal__Int128__Int128_28unsigned_20long_20long_2c_20unsigned_20long_20long_29($0 | 0, $11 | 0, i64toi32_i32$1 | 0, i64toi32_i32$5 | 0, i64toi32_i32$3 | 0) | 0; + __stack_pointer = $5 + 16 | 0; + return; + } + + function btConvexHullInternal__Int128__operator___28btConvexHullInternal__Int128_20const__29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var i64toi32_i32$5 = 0, i64toi32_i32$2 = 0, i64toi32_i32$3 = 0, i64toi32_i32$0 = 0, i64toi32_i32$4 = 0, i64toi32_i32$1 = 0, $5 = 0, $4 = 0, $10$hi = 0, $11$hi = 0, $6$hi = 0, $8$hi = 0, $17$hi = 0, $18$hi = 0, $22$hi = 0, $6 = 0, $42 = 0, $10 = 0, $53 = 0, $70 = 0, $22 = 0, $77$hi = 0; + $4 = __stack_pointer - 16 | 0; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; + i64toi32_i32$2 = $5; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $6 = i64toi32_i32$0; + $6$hi = i64toi32_i32$1; + i64toi32_i32$2 = HEAP32[($4 + 8 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $8$hi = i64toi32_i32$0; + i64toi32_i32$0 = $6$hi; + i64toi32_i32$0 = $8$hi; + $42 = i64toi32_i32$1; + i64toi32_i32$0 = $6$hi; + i64toi32_i32$2 = $6; + i64toi32_i32$1 = $8$hi; + i64toi32_i32$3 = $42; + i64toi32_i32$4 = i64toi32_i32$2 + i64toi32_i32$3 | 0; + i64toi32_i32$5 = i64toi32_i32$0 + i64toi32_i32$1 | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + i64toi32_i32$2 = $4; + HEAP32[i64toi32_i32$2 >> 2] = i64toi32_i32$4; + HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] = i64toi32_i32$5; + i64toi32_i32$0 = i64toi32_i32$2; + i64toi32_i32$5 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $10 = i64toi32_i32$5; + $10$hi = i64toi32_i32$2; + i64toi32_i32$0 = $5; + i64toi32_i32$2 = HEAP32[i64toi32_i32$0 >> 2] | 0; + i64toi32_i32$5 = HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] | 0; + $11$hi = i64toi32_i32$5; + i64toi32_i32$5 = $10$hi; + i64toi32_i32$5 = $11$hi; + i64toi32_i32$5 = $10$hi; + i64toi32_i32$5 = $11$hi; + $53 = i64toi32_i32$2; + i64toi32_i32$5 = $10$hi; + i64toi32_i32$0 = $10; + i64toi32_i32$2 = $11$hi; + i64toi32_i32$3 = $53; + label$1 : { + if (!((i64toi32_i32$5 >>> 0 < i64toi32_i32$2 >>> 0 | ((i64toi32_i32$5 | 0) == (i64toi32_i32$2 | 0) & i64toi32_i32$0 >>> 0 < i64toi32_i32$3 >>> 0 | 0) | 0) & 1 | 0)) { + break label$1 + } + i64toi32_i32$3 = $5; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$3 + 8 | 0) >> 2] | 0; + i64toi32_i32$5 = HEAP32[(i64toi32_i32$3 + 12 | 0) >> 2] | 0; + $17$hi = i64toi32_i32$5; + i64toi32_i32$5 = 0; + $18$hi = i64toi32_i32$5; + i64toi32_i32$5 = $17$hi; + i64toi32_i32$5 = $18$hi; + i64toi32_i32$5 = $17$hi; + i64toi32_i32$3 = i64toi32_i32$0; + i64toi32_i32$0 = $18$hi; + i64toi32_i32$2 = 1; + i64toi32_i32$1 = i64toi32_i32$3 + i64toi32_i32$2 | 0; + i64toi32_i32$4 = i64toi32_i32$5 + i64toi32_i32$0 | 0; + if (i64toi32_i32$1 >>> 0 < i64toi32_i32$2 >>> 0) { + i64toi32_i32$4 = i64toi32_i32$4 + 1 | 0 + } + i64toi32_i32$3 = $5; + HEAP32[(i64toi32_i32$3 + 8 | 0) >> 2] = i64toi32_i32$1; + HEAP32[(i64toi32_i32$3 + 12 | 0) >> 2] = i64toi32_i32$4; + } + i64toi32_i32$5 = $4; + i64toi32_i32$4 = HEAP32[i64toi32_i32$5 >> 2] | 0; + i64toi32_i32$3 = HEAP32[(i64toi32_i32$5 + 4 | 0) >> 2] | 0; + $70 = i64toi32_i32$4; + i64toi32_i32$4 = $5; + HEAP32[i64toi32_i32$4 >> 2] = $70; + HEAP32[(i64toi32_i32$4 + 4 | 0) >> 2] = i64toi32_i32$3; + i64toi32_i32$5 = HEAP32[(i64toi32_i32$5 + 8 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[(i64toi32_i32$5 + 8 | 0) >> 2] | 0; + i64toi32_i32$4 = HEAP32[(i64toi32_i32$5 + 12 | 0) >> 2] | 0; + $22 = i64toi32_i32$3; + $22$hi = i64toi32_i32$4; + i64toi32_i32$5 = $5; + i64toi32_i32$4 = HEAP32[(i64toi32_i32$5 + 8 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[(i64toi32_i32$5 + 12 | 0) >> 2] | 0; + $77$hi = i64toi32_i32$3; + i64toi32_i32$3 = $22$hi; + i64toi32_i32$3 = $77$hi; + i64toi32_i32$5 = i64toi32_i32$4; + i64toi32_i32$4 = $22$hi; + i64toi32_i32$2 = $22; + i64toi32_i32$0 = i64toi32_i32$5 + i64toi32_i32$2 | 0; + i64toi32_i32$1 = i64toi32_i32$3 + i64toi32_i32$4 | 0; + if (i64toi32_i32$0 >>> 0 < i64toi32_i32$2 >>> 0) { + i64toi32_i32$1 = i64toi32_i32$1 + 1 | 0 + } + i64toi32_i32$5 = $5; + HEAP32[(i64toi32_i32$5 + 8 | 0) >> 2] = i64toi32_i32$0; + HEAP32[(i64toi32_i32$5 + 12 | 0) >> 2] = i64toi32_i32$1; + return i64toi32_i32$5 | 0; + } + + function btConvexHullInternal__DMul_btConvexHullInternal__Int128_2c_20unsigned_20long_20long___shlHalf_28btConvexHullInternal__Int128__29($0) { + $0 = $0 | 0; + var i64toi32_i32$0 = 0, $3 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, $22 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + i64toi32_i32$2 = HEAP32[($3 + 12 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $22 = i64toi32_i32$0; + i64toi32_i32$0 = HEAP32[($3 + 12 | 0) >> 2] | 0; + HEAP32[(i64toi32_i32$0 + 8 | 0) >> 2] = $22; + HEAP32[(i64toi32_i32$0 + 12 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$1 = 0; + i64toi32_i32$0 = HEAP32[($3 + 12 | 0) >> 2] | 0; + HEAP32[i64toi32_i32$0 >> 2] = 0; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + return; + } + + function btConvexHullInternal__Int128__operator__28btConvexHullInternal__Int128_20const__29_20const_1($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var i64toi32_i32$2 = 0, i64toi32_i32$3 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $4 = 0, $5 = 0, $6$hi = 0, $8$hi = 0, $16$hi = 0, $18$hi = 0, $26$hi = 0, $28$hi = 0, $15 = 0, $25 = 0, $6 = 0, $55 = 0, $16 = 0, $71 = 0, $26 = 0, $88 = 0; + $4 = __stack_pointer - 16 | 0; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; + i64toi32_i32$2 = $5; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 8 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 12 | 0) >> 2] | 0; + $6 = i64toi32_i32$0; + $6$hi = i64toi32_i32$1; + i64toi32_i32$2 = HEAP32[($4 + 8 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 8 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 12 | 0) >> 2] | 0; + $8$hi = i64toi32_i32$0; + i64toi32_i32$0 = $6$hi; + i64toi32_i32$0 = $8$hi; + i64toi32_i32$0 = $6$hi; + i64toi32_i32$0 = $8$hi; + $55 = i64toi32_i32$1; + i64toi32_i32$0 = $6$hi; + i64toi32_i32$2 = $6; + i64toi32_i32$1 = $8$hi; + i64toi32_i32$3 = $55; + $15 = 1; + label$1 : { + if ((i64toi32_i32$0 >>> 0 < i64toi32_i32$1 >>> 0 | ((i64toi32_i32$0 | 0) == (i64toi32_i32$1 | 0) & i64toi32_i32$2 >>> 0 < i64toi32_i32$3 >>> 0 | 0) | 0) & 1 | 0) { + break label$1 + } + i64toi32_i32$3 = $5; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$3 + 8 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$3 + 12 | 0) >> 2] | 0; + $16 = i64toi32_i32$2; + $16$hi = i64toi32_i32$0; + i64toi32_i32$3 = HEAP32[($4 + 8 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$3 + 8 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$3 + 12 | 0) >> 2] | 0; + $18$hi = i64toi32_i32$2; + i64toi32_i32$2 = $16$hi; + i64toi32_i32$2 = $18$hi; + i64toi32_i32$2 = $16$hi; + i64toi32_i32$2 = $18$hi; + $71 = i64toi32_i32$0; + i64toi32_i32$2 = $16$hi; + i64toi32_i32$3 = $16; + i64toi32_i32$0 = $18$hi; + i64toi32_i32$1 = $71; + $25 = 0; + label$2 : { + if (!(((i64toi32_i32$3 | 0) == (i64toi32_i32$1 | 0) & (i64toi32_i32$2 | 0) == (i64toi32_i32$0 | 0) | 0) & 1 | 0)) { + break label$2 + } + i64toi32_i32$1 = $5; + i64toi32_i32$3 = HEAP32[i64toi32_i32$1 >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] | 0; + $26 = i64toi32_i32$3; + $26$hi = i64toi32_i32$2; + i64toi32_i32$1 = HEAP32[($4 + 8 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[i64toi32_i32$1 >> 2] | 0; + i64toi32_i32$3 = HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] | 0; + $28$hi = i64toi32_i32$3; + i64toi32_i32$3 = $26$hi; + i64toi32_i32$3 = $28$hi; + i64toi32_i32$3 = $26$hi; + i64toi32_i32$3 = $28$hi; + $88 = i64toi32_i32$2; + i64toi32_i32$3 = $26$hi; + i64toi32_i32$1 = $26; + i64toi32_i32$2 = $28$hi; + i64toi32_i32$0 = $88; + $25 = i64toi32_i32$3 >>> 0 < i64toi32_i32$2 >>> 0 | ((i64toi32_i32$3 | 0) == (i64toi32_i32$2 | 0) & i64toi32_i32$1 >>> 0 < i64toi32_i32$0 >>> 0 | 0) | 0; + } + $15 = $25; + } + return $15 & 1 | 0 | 0; + } + + function btConvexHullInternal__Int128__operator___28_29($0) { + $0 = $0 | 0; + var i64toi32_i32$5 = 0, i64toi32_i32$2 = 0, i64toi32_i32$1 = 0, i64toi32_i32$3 = 0, i64toi32_i32$4 = 0, i64toi32_i32$0 = 0, $4 = 0, $7$hi = 0, $8$hi = 0, $3 = 0, $5$hi = 0, $6$hi = 0, $14$hi = 0, $15$hi = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + i64toi32_i32$2 = $4; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $5$hi = i64toi32_i32$1; + i64toi32_i32$1 = 0; + $6$hi = i64toi32_i32$1; + i64toi32_i32$1 = $5$hi; + i64toi32_i32$1 = $6$hi; + i64toi32_i32$1 = $5$hi; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$0 = $6$hi; + i64toi32_i32$3 = 1; + i64toi32_i32$4 = i64toi32_i32$2 + i64toi32_i32$3 | 0; + i64toi32_i32$5 = i64toi32_i32$1 + i64toi32_i32$0 | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + $7$hi = i64toi32_i32$5; + i64toi32_i32$2 = $4; + HEAP32[i64toi32_i32$2 >> 2] = i64toi32_i32$4; + HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] = i64toi32_i32$5; + i64toi32_i32$5 = 0; + $8$hi = i64toi32_i32$5; + i64toi32_i32$5 = $7$hi; + i64toi32_i32$5 = $8$hi; + i64toi32_i32$5 = $7$hi; + i64toi32_i32$5 = $8$hi; + i64toi32_i32$5 = $7$hi; + i64toi32_i32$1 = i64toi32_i32$4; + i64toi32_i32$2 = $8$hi; + i64toi32_i32$3 = 0; + label$1 : { + if (!(((i64toi32_i32$4 | 0) == (i64toi32_i32$3 | 0) & (i64toi32_i32$5 | 0) == (i64toi32_i32$2 | 0) | 0) & 1 | 0)) { + break label$1 + } + i64toi32_i32$3 = $4; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$3 + 8 | 0) >> 2] | 0; + i64toi32_i32$5 = HEAP32[(i64toi32_i32$3 + 12 | 0) >> 2] | 0; + $14$hi = i64toi32_i32$5; + i64toi32_i32$5 = 0; + $15$hi = i64toi32_i32$5; + i64toi32_i32$5 = $14$hi; + i64toi32_i32$5 = $15$hi; + i64toi32_i32$5 = $14$hi; + i64toi32_i32$3 = i64toi32_i32$1; + i64toi32_i32$1 = $15$hi; + i64toi32_i32$2 = 1; + i64toi32_i32$0 = i64toi32_i32$3 + i64toi32_i32$2 | 0; + i64toi32_i32$4 = i64toi32_i32$5 + i64toi32_i32$1 | 0; + if (i64toi32_i32$0 >>> 0 < i64toi32_i32$2 >>> 0) { + i64toi32_i32$4 = i64toi32_i32$4 + 1 | 0 + } + i64toi32_i32$3 = $4; + HEAP32[(i64toi32_i32$3 + 8 | 0) >> 2] = i64toi32_i32$0; + HEAP32[(i64toi32_i32$3 + 12 | 0) >> 2] = i64toi32_i32$4; + } + return $4 | 0; + } + + function btConvexHullInternal__newEdgePair_28btConvexHullInternal__Vertex__2c_20btConvexHullInternal__Vertex__29($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $5 = 0, $6 = 0, $58 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5 = __stack_pointer - 32 | 0; + __stack_pointer = $5; + HEAP32[($5 + 28 | 0) >> 2] = $0; + HEAP32[($5 + 24 | 0) >> 2] = $1; + HEAP32[($5 + 20 | 0) >> 2] = $2; + $6 = HEAP32[($5 + 28 | 0) >> 2] | 0; + label$1 : { + label$2 : { + if (!((HEAP32[($5 + 24 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$2 + } + if ((HEAP32[($5 + 20 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$1 + } + } + __assert_fail(76189 | 0, 72732 | 0, 1e3 | 0, 71028 | 0); + wasm2js_trap(); + } + (wasm2js_i32$0 = $5, wasm2js_i32$1 = btConvexHullInternal__Pool_btConvexHullInternal__Edge___newObject_28_29($6 + 48 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $5, wasm2js_i32$1 = btConvexHullInternal__Pool_btConvexHullInternal__Edge___newObject_28_29($6 + 48 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + HEAP32[((HEAP32[($5 + 16 | 0) >> 2] | 0) + 8 | 0) >> 2] = HEAP32[($5 + 12 | 0) >> 2] | 0; + HEAP32[((HEAP32[($5 + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] = HEAP32[($5 + 16 | 0) >> 2] | 0; + HEAP32[((HEAP32[($5 + 16 | 0) >> 2] | 0) + 20 | 0) >> 2] = HEAP32[($6 + 100 | 0) >> 2] | 0; + HEAP32[((HEAP32[($5 + 12 | 0) >> 2] | 0) + 20 | 0) >> 2] = HEAP32[($6 + 100 | 0) >> 2] | 0; + HEAP32[((HEAP32[($5 + 16 | 0) >> 2] | 0) + 12 | 0) >> 2] = HEAP32[($5 + 20 | 0) >> 2] | 0; + HEAP32[((HEAP32[($5 + 12 | 0) >> 2] | 0) + 12 | 0) >> 2] = HEAP32[($5 + 24 | 0) >> 2] | 0; + HEAP32[((HEAP32[($5 + 16 | 0) >> 2] | 0) + 16 | 0) >> 2] = 0; + HEAP32[((HEAP32[($5 + 12 | 0) >> 2] | 0) + 16 | 0) >> 2] = 0; + HEAP32[($6 + 116 | 0) >> 2] = (HEAP32[($6 + 116 | 0) >> 2] | 0) + 1 | 0; + label$3 : { + if (!((HEAP32[($6 + 116 | 0) >> 2] | 0 | 0) > (HEAP32[($6 + 120 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$3 + } + HEAP32[($6 + 120 | 0) >> 2] = HEAP32[($6 + 116 | 0) >> 2] | 0; + } + $58 = HEAP32[($5 + 16 | 0) >> 2] | 0; + __stack_pointer = $5 + 32 | 0; + return $58 | 0; + } + + function btConvexHullInternal__Pool_btConvexHullInternal__Edge___newObject_28_29($0) { + $0 = $0 | 0; + var $3 = 0, i64toi32_i32$1 = 0, $4 = 0, $34 = 0, i64toi32_i32$0 = 0, $35 = 0, $25 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + HEAP32[($3 + 8 | 0) >> 2] = HEAP32[($4 + 8 | 0) >> 2] | 0; + label$1 : { + if ((HEAP32[($3 + 8 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$1 + } + HEAP32[($3 + 4 | 0) >> 2] = HEAP32[($4 + 4 | 0) >> 2] | 0; + label$2 : { + label$3 : { + if (!((HEAP32[($3 + 4 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$3 + } + HEAP32[($4 + 4 | 0) >> 2] = HEAP32[((HEAP32[($3 + 4 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + break label$2; + } + $25 = btAlignedAllocInternal_28unsigned_20long_2c_20int_29(12 | 0, 16 | 0) | 0; + btConvexHullInternal__PoolArray_btConvexHullInternal__Edge___PoolArray_28int_29($25 | 0, HEAP32[($4 + 12 | 0) >> 2] | 0 | 0) | 0; + HEAP32[($3 + 4 | 0) >> 2] = $25; + HEAP32[((HEAP32[($3 + 4 | 0) >> 2] | 0) + 8 | 0) >> 2] = HEAP32[$4 >> 2] | 0; + HEAP32[$4 >> 2] = HEAP32[($3 + 4 | 0) >> 2] | 0; + } + (wasm2js_i32$0 = $3, wasm2js_i32$1 = btConvexHullInternal__PoolArray_btConvexHullInternal__Edge___init_28_29(HEAP32[($3 + 4 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + } + HEAP32[($4 + 8 | 0) >> 2] = HEAP32[(HEAP32[($3 + 8 | 0) >> 2] | 0) >> 2] | 0; + $34 = HEAP32[($3 + 8 | 0) >> 2] | 0; + i64toi32_i32$0 = 0; + $35 = 0; + i64toi32_i32$1 = $34; + HEAP32[i64toi32_i32$1 >> 2] = $35; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = i64toi32_i32$1 + 16 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $35; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $34 + 8 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $35; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + __stack_pointer = $3 + 16 | 0; + return $34 | 0; + } + + function btConvexHullInternal__PoolArray_btConvexHullInternal__Edge___PoolArray_28int_29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, $5 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; + HEAP32[($5 + 4 | 0) >> 2] = HEAP32[($4 + 8 | 0) >> 2] | 0; + HEAP32[($5 + 8 | 0) >> 2] = 0; + (wasm2js_i32$0 = $5, wasm2js_i32$1 = btAlignedAllocInternal_28unsigned_20long_2c_20int_29(Math_imul(HEAP32[($4 + 8 | 0) >> 2] | 0, 24) | 0, 16 | 0) | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + __stack_pointer = $4 + 16 | 0; + return $5 | 0; + } + + function btConvexHullInternal__PoolArray_btConvexHullInternal__Edge___init_28_29($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0, $26 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + HEAP32[($3 + 8 | 0) >> 2] = HEAP32[$4 >> 2] | 0; + HEAP32[($3 + 4 | 0) >> 2] = 0; + label$1 : { + label$2 : while (1) { + if (!((HEAP32[($3 + 4 | 0) >> 2] | 0 | 0) < (HEAP32[($4 + 4 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$1 + } + label$3 : { + label$4 : { + if (!(((HEAP32[($3 + 4 | 0) >> 2] | 0) + 1 | 0 | 0) < (HEAP32[($4 + 4 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$4 + } + $26 = (HEAP32[($3 + 8 | 0) >> 2] | 0) + 24 | 0; + break label$3; + } + $26 = 0; + } + HEAP32[(HEAP32[($3 + 8 | 0) >> 2] | 0) >> 2] = $26; + HEAP32[($3 + 4 | 0) >> 2] = (HEAP32[($3 + 4 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($3 + 8 | 0) >> 2] = (HEAP32[($3 + 8 | 0) >> 2] | 0) + 24 | 0; + continue label$2; + }; + } + return HEAP32[$4 >> 2] | 0 | 0; + } + + function btConvexHullInternal__mergeProjection_28btConvexHullInternal__IntermediateHull__2c_20btConvexHullInternal__IntermediateHull__2c_20btConvexHullInternal__Vertex___2c_20btConvexHullInternal__Vertex___29($0, $1, $2, $3, $4) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + $4 = $4 | 0; + var $7 = 0, $503 = 0, $543 = 0, $219 = 0, $279 = 0, $359 = 0, $419 = 0, $492 = 0, $495 = 0, $532 = 0, $535 = 0, $625 = 0; + $7 = __stack_pointer - 160 | 0; + __stack_pointer = $7; + HEAP32[($7 + 152 | 0) >> 2] = $0; + HEAP32[($7 + 148 | 0) >> 2] = $1; + HEAP32[($7 + 144 | 0) >> 2] = $2; + HEAP32[($7 + 140 | 0) >> 2] = $3; + HEAP32[($7 + 136 | 0) >> 2] = $4; + HEAP32[($7 + 132 | 0) >> 2] = HEAP32[((HEAP32[($7 + 148 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + HEAP32[($7 + 128 | 0) >> 2] = HEAP32[((HEAP32[($7 + 144 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + label$1 : { + label$2 : { + if (!((HEAP32[((HEAP32[($7 + 132 | 0) >> 2] | 0) + 88 | 0) >> 2] | 0 | 0) == (HEAP32[((HEAP32[($7 + 128 | 0) >> 2] | 0) + 88 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$2 + } + if (!((HEAP32[((HEAP32[($7 + 132 | 0) >> 2] | 0) + 92 | 0) >> 2] | 0 | 0) == (HEAP32[((HEAP32[($7 + 128 | 0) >> 2] | 0) + 92 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$2 + } + label$3 : { + if ((HEAP32[((HEAP32[($7 + 132 | 0) >> 2] | 0) + 96 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($7 + 128 | 0) >> 2] | 0) + 96 | 0) >> 2] | 0 | 0) & 1 | 0) { + break label$3 + } + __assert_fail(65574 | 0, 72732 | 0, 1025 | 0, 76421 | 0); + wasm2js_trap(); + } + HEAP32[($7 + 124 | 0) >> 2] = HEAP32[((HEAP32[($7 + 128 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + label$4 : { + if (!((HEAP32[($7 + 124 | 0) >> 2] | 0 | 0) == (HEAP32[($7 + 128 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$4 + } + HEAP32[(HEAP32[($7 + 140 | 0) >> 2] | 0) >> 2] = HEAP32[($7 + 132 | 0) >> 2] | 0; + label$5 : { + if (!((HEAP32[((HEAP32[($7 + 128 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$5 + } + label$6 : { + if ((HEAP32[(HEAP32[((HEAP32[($7 + 128 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) >> 2] | 0 | 0) == (HEAP32[((HEAP32[($7 + 128 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) & 1 | 0) { + break label$6 + } + __assert_fail(70216 | 0, 72732 | 0, 1032 | 0, 76421 | 0); + wasm2js_trap(); + } + HEAP32[($7 + 128 | 0) >> 2] = HEAP32[((HEAP32[((HEAP32[($7 + 128 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + label$7 : { + if ((HEAP32[(HEAP32[((HEAP32[($7 + 128 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) >> 2] | 0 | 0) == (HEAP32[((HEAP32[($7 + 128 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) & 1 | 0) { + break label$7 + } + __assert_fail(70216 | 0, 72732 | 0, 1034 | 0, 76421 | 0); + wasm2js_trap(); + } + } + HEAP32[(HEAP32[($7 + 136 | 0) >> 2] | 0) >> 2] = HEAP32[($7 + 128 | 0) >> 2] | 0; + HEAP8[($7 + 159 | 0) >> 0] = 0 & 1 | 0; + break label$1; + } + HEAP32[($7 + 120 | 0) >> 2] = HEAP32[(HEAP32[($7 + 128 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[(HEAP32[($7 + 124 | 0) >> 2] | 0) >> 2] = HEAP32[($7 + 120 | 0) >> 2] | 0; + HEAP32[((HEAP32[($7 + 120 | 0) >> 2] | 0) + 4 | 0) >> 2] = HEAP32[($7 + 124 | 0) >> 2] | 0; + label$8 : { + if (!((HEAP32[($7 + 128 | 0) >> 2] | 0 | 0) == (HEAP32[(HEAP32[($7 + 144 | 0) >> 2] | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$8 + } + label$9 : { + label$10 : { + label$11 : { + if ((HEAP32[((HEAP32[($7 + 120 | 0) >> 2] | 0) + 88 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($7 + 124 | 0) >> 2] | 0) + 88 | 0) >> 2] | 0 | 0) & 1 | 0) { + break label$11 + } + if (!((HEAP32[((HEAP32[($7 + 120 | 0) >> 2] | 0) + 88 | 0) >> 2] | 0 | 0) == (HEAP32[((HEAP32[($7 + 124 | 0) >> 2] | 0) + 88 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$10 + } + if (!((HEAP32[((HEAP32[($7 + 120 | 0) >> 2] | 0) + 92 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($7 + 124 | 0) >> 2] | 0) + 92 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$10 + } + } + HEAP32[(HEAP32[($7 + 144 | 0) >> 2] | 0) >> 2] = HEAP32[($7 + 120 | 0) >> 2] | 0; + break label$9; + } + HEAP32[(HEAP32[($7 + 144 | 0) >> 2] | 0) >> 2] = HEAP32[($7 + 124 | 0) >> 2] | 0; + } + } + label$12 : { + if (!((HEAP32[($7 + 128 | 0) >> 2] | 0 | 0) == (HEAP32[((HEAP32[($7 + 144 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$12 + } + label$13 : { + label$14 : { + label$15 : { + if ((HEAP32[((HEAP32[($7 + 120 | 0) >> 2] | 0) + 88 | 0) >> 2] | 0 | 0) > (HEAP32[((HEAP32[($7 + 124 | 0) >> 2] | 0) + 88 | 0) >> 2] | 0 | 0) & 1 | 0) { + break label$15 + } + if (!((HEAP32[((HEAP32[($7 + 120 | 0) >> 2] | 0) + 88 | 0) >> 2] | 0 | 0) == (HEAP32[((HEAP32[($7 + 124 | 0) >> 2] | 0) + 88 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$14 + } + if (!((HEAP32[((HEAP32[($7 + 120 | 0) >> 2] | 0) + 92 | 0) >> 2] | 0 | 0) > (HEAP32[((HEAP32[($7 + 124 | 0) >> 2] | 0) + 92 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$14 + } + } + HEAP32[((HEAP32[($7 + 144 | 0) >> 2] | 0) + 4 | 0) >> 2] = HEAP32[($7 + 120 | 0) >> 2] | 0; + break label$13; + } + HEAP32[((HEAP32[($7 + 144 | 0) >> 2] | 0) + 4 | 0) >> 2] = HEAP32[($7 + 124 | 0) >> 2] | 0; + } + } + } + HEAP32[($7 + 132 | 0) >> 2] = HEAP32[((HEAP32[($7 + 148 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + HEAP32[($7 + 128 | 0) >> 2] = HEAP32[((HEAP32[($7 + 144 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + HEAP32[($7 + 116 | 0) >> 2] = 0; + HEAP32[($7 + 112 | 0) >> 2] = 0; + HEAP32[($7 + 108 | 0) >> 2] = 1; + HEAP32[($7 + 104 | 0) >> 2] = 0; + label$16 : { + label$17 : while (1) { + if (!((HEAP32[($7 + 104 | 0) >> 2] | 0 | 0) <= (1 | 0) & 1 | 0)) { + break label$16 + } + HEAP32[($7 + 100 | 0) >> 2] = Math_imul((HEAP32[((HEAP32[($7 + 128 | 0) >> 2] | 0) + 88 | 0) >> 2] | 0) - (HEAP32[((HEAP32[($7 + 132 | 0) >> 2] | 0) + 88 | 0) >> 2] | 0) | 0, HEAP32[($7 + 108 | 0) >> 2] | 0); + label$18 : { + label$19 : { + if (!((HEAP32[($7 + 100 | 0) >> 2] | 0 | 0) > (0 | 0) & 1 | 0)) { + break label$19 + } + label$20 : { + label$21 : while (1) { + HEAP32[($7 + 96 | 0) >> 2] = (HEAP32[((HEAP32[($7 + 128 | 0) >> 2] | 0) + 92 | 0) >> 2] | 0) - (HEAP32[((HEAP32[($7 + 132 | 0) >> 2] | 0) + 92 | 0) >> 2] | 0) | 0; + label$22 : { + label$23 : { + if (!(HEAP32[($7 + 104 | 0) >> 2] | 0)) { + break label$23 + } + $219 = HEAP32[(HEAP32[($7 + 132 | 0) >> 2] | 0) >> 2] | 0; + break label$22; + } + $219 = HEAP32[((HEAP32[($7 + 132 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + } + HEAP32[($7 + 92 | 0) >> 2] = $219; + label$24 : { + if (!((HEAP32[($7 + 92 | 0) >> 2] | 0 | 0) != (HEAP32[($7 + 132 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$24 + } + HEAP32[($7 + 88 | 0) >> 2] = Math_imul((HEAP32[((HEAP32[($7 + 92 | 0) >> 2] | 0) + 88 | 0) >> 2] | 0) - (HEAP32[((HEAP32[($7 + 132 | 0) >> 2] | 0) + 88 | 0) >> 2] | 0) | 0, HEAP32[($7 + 108 | 0) >> 2] | 0); + HEAP32[($7 + 84 | 0) >> 2] = (HEAP32[((HEAP32[($7 + 92 | 0) >> 2] | 0) + 92 | 0) >> 2] | 0) - (HEAP32[((HEAP32[($7 + 132 | 0) >> 2] | 0) + 92 | 0) >> 2] | 0) | 0; + label$25 : { + if (!((HEAP32[($7 + 84 | 0) >> 2] | 0 | 0) <= (0 | 0) & 1 | 0)) { + break label$25 + } + label$26 : { + if (!(HEAP32[($7 + 88 | 0) >> 2] | 0)) { + break label$26 + } + if (!((HEAP32[($7 + 88 | 0) >> 2] | 0 | 0) < (0 | 0) & 1 | 0)) { + break label$25 + } + if (!((Math_imul(HEAP32[($7 + 84 | 0) >> 2] | 0, HEAP32[($7 + 100 | 0) >> 2] | 0) | 0) <= (Math_imul(HEAP32[($7 + 96 | 0) >> 2] | 0, HEAP32[($7 + 88 | 0) >> 2] | 0) | 0) & 1 | 0)) { + break label$25 + } + } + HEAP32[($7 + 132 | 0) >> 2] = HEAP32[($7 + 92 | 0) >> 2] | 0; + HEAP32[($7 + 100 | 0) >> 2] = Math_imul((HEAP32[((HEAP32[($7 + 128 | 0) >> 2] | 0) + 88 | 0) >> 2] | 0) - (HEAP32[((HEAP32[($7 + 132 | 0) >> 2] | 0) + 88 | 0) >> 2] | 0) | 0, HEAP32[($7 + 108 | 0) >> 2] | 0); + continue label$21; + } + } + label$27 : { + label$28 : { + if (!(HEAP32[($7 + 104 | 0) >> 2] | 0)) { + break label$28 + } + $279 = HEAP32[(HEAP32[($7 + 128 | 0) >> 2] | 0) >> 2] | 0; + break label$27; + } + $279 = HEAP32[((HEAP32[($7 + 128 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + } + HEAP32[($7 + 80 | 0) >> 2] = $279; + if (!((HEAP32[($7 + 80 | 0) >> 2] | 0 | 0) != (HEAP32[($7 + 128 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$20 + } + HEAP32[($7 + 76 | 0) >> 2] = Math_imul((HEAP32[((HEAP32[($7 + 80 | 0) >> 2] | 0) + 88 | 0) >> 2] | 0) - (HEAP32[((HEAP32[($7 + 128 | 0) >> 2] | 0) + 88 | 0) >> 2] | 0) | 0, HEAP32[($7 + 108 | 0) >> 2] | 0); + HEAP32[($7 + 72 | 0) >> 2] = (HEAP32[((HEAP32[($7 + 80 | 0) >> 2] | 0) + 92 | 0) >> 2] | 0) - (HEAP32[((HEAP32[($7 + 128 | 0) >> 2] | 0) + 92 | 0) >> 2] | 0) | 0; + HEAP32[($7 + 68 | 0) >> 2] = Math_imul((HEAP32[((HEAP32[($7 + 80 | 0) >> 2] | 0) + 88 | 0) >> 2] | 0) - (HEAP32[((HEAP32[($7 + 132 | 0) >> 2] | 0) + 88 | 0) >> 2] | 0) | 0, HEAP32[($7 + 108 | 0) >> 2] | 0); + label$29 : { + if (!((HEAP32[($7 + 68 | 0) >> 2] | 0 | 0) > (0 | 0) & 1 | 0)) { + break label$29 + } + if (!((HEAP32[($7 + 72 | 0) >> 2] | 0 | 0) < (0 | 0) & 1 | 0)) { + break label$29 + } + label$30 : { + if (!(HEAP32[($7 + 76 | 0) >> 2] | 0)) { + break label$30 + } + if (!((HEAP32[($7 + 76 | 0) >> 2] | 0 | 0) < (0 | 0) & 1 | 0)) { + break label$29 + } + if (!((Math_imul(HEAP32[($7 + 72 | 0) >> 2] | 0, HEAP32[($7 + 100 | 0) >> 2] | 0) | 0) < (Math_imul(HEAP32[($7 + 96 | 0) >> 2] | 0, HEAP32[($7 + 76 | 0) >> 2] | 0) | 0) & 1 | 0)) { + break label$29 + } + } + HEAP32[($7 + 128 | 0) >> 2] = HEAP32[($7 + 80 | 0) >> 2] | 0; + HEAP32[($7 + 100 | 0) >> 2] = HEAP32[($7 + 68 | 0) >> 2] | 0; + continue label$21; + } + break label$21; + }; + } + break label$18; + } + label$31 : { + label$32 : { + if (!((HEAP32[($7 + 100 | 0) >> 2] | 0 | 0) < (0 | 0) & 1 | 0)) { + break label$32 + } + label$33 : { + label$34 : while (1) { + HEAP32[($7 + 64 | 0) >> 2] = (HEAP32[((HEAP32[($7 + 128 | 0) >> 2] | 0) + 92 | 0) >> 2] | 0) - (HEAP32[((HEAP32[($7 + 132 | 0) >> 2] | 0) + 92 | 0) >> 2] | 0) | 0; + label$35 : { + label$36 : { + if (!(HEAP32[($7 + 104 | 0) >> 2] | 0)) { + break label$36 + } + $359 = HEAP32[((HEAP32[($7 + 128 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + break label$35; + } + $359 = HEAP32[(HEAP32[($7 + 128 | 0) >> 2] | 0) >> 2] | 0; + } + HEAP32[($7 + 60 | 0) >> 2] = $359; + label$37 : { + if (!((HEAP32[($7 + 60 | 0) >> 2] | 0 | 0) != (HEAP32[($7 + 128 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$37 + } + HEAP32[($7 + 56 | 0) >> 2] = Math_imul((HEAP32[((HEAP32[($7 + 60 | 0) >> 2] | 0) + 88 | 0) >> 2] | 0) - (HEAP32[((HEAP32[($7 + 128 | 0) >> 2] | 0) + 88 | 0) >> 2] | 0) | 0, HEAP32[($7 + 108 | 0) >> 2] | 0); + HEAP32[($7 + 52 | 0) >> 2] = (HEAP32[((HEAP32[($7 + 60 | 0) >> 2] | 0) + 92 | 0) >> 2] | 0) - (HEAP32[((HEAP32[($7 + 128 | 0) >> 2] | 0) + 92 | 0) >> 2] | 0) | 0; + label$38 : { + if (!((HEAP32[($7 + 52 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0)) { + break label$38 + } + label$39 : { + if (!(HEAP32[($7 + 56 | 0) >> 2] | 0)) { + break label$39 + } + if (!((HEAP32[($7 + 56 | 0) >> 2] | 0 | 0) < (0 | 0) & 1 | 0)) { + break label$38 + } + if (!((Math_imul(HEAP32[($7 + 52 | 0) >> 2] | 0, HEAP32[($7 + 100 | 0) >> 2] | 0) | 0) <= (Math_imul(HEAP32[($7 + 64 | 0) >> 2] | 0, HEAP32[($7 + 56 | 0) >> 2] | 0) | 0) & 1 | 0)) { + break label$38 + } + } + HEAP32[($7 + 128 | 0) >> 2] = HEAP32[($7 + 60 | 0) >> 2] | 0; + HEAP32[($7 + 100 | 0) >> 2] = Math_imul((HEAP32[((HEAP32[($7 + 128 | 0) >> 2] | 0) + 88 | 0) >> 2] | 0) - (HEAP32[((HEAP32[($7 + 132 | 0) >> 2] | 0) + 88 | 0) >> 2] | 0) | 0, HEAP32[($7 + 108 | 0) >> 2] | 0); + continue label$34; + } + } + label$40 : { + label$41 : { + if (!(HEAP32[($7 + 104 | 0) >> 2] | 0)) { + break label$41 + } + $419 = HEAP32[((HEAP32[($7 + 132 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + break label$40; + } + $419 = HEAP32[(HEAP32[($7 + 132 | 0) >> 2] | 0) >> 2] | 0; + } + HEAP32[($7 + 48 | 0) >> 2] = $419; + if (!((HEAP32[($7 + 48 | 0) >> 2] | 0 | 0) != (HEAP32[($7 + 132 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$33 + } + HEAP32[($7 + 44 | 0) >> 2] = Math_imul((HEAP32[((HEAP32[($7 + 48 | 0) >> 2] | 0) + 88 | 0) >> 2] | 0) - (HEAP32[((HEAP32[($7 + 132 | 0) >> 2] | 0) + 88 | 0) >> 2] | 0) | 0, HEAP32[($7 + 108 | 0) >> 2] | 0); + HEAP32[($7 + 40 | 0) >> 2] = (HEAP32[((HEAP32[($7 + 48 | 0) >> 2] | 0) + 92 | 0) >> 2] | 0) - (HEAP32[((HEAP32[($7 + 132 | 0) >> 2] | 0) + 92 | 0) >> 2] | 0) | 0; + HEAP32[($7 + 36 | 0) >> 2] = Math_imul((HEAP32[((HEAP32[($7 + 128 | 0) >> 2] | 0) + 88 | 0) >> 2] | 0) - (HEAP32[((HEAP32[($7 + 48 | 0) >> 2] | 0) + 88 | 0) >> 2] | 0) | 0, HEAP32[($7 + 108 | 0) >> 2] | 0); + label$42 : { + if (!((HEAP32[($7 + 36 | 0) >> 2] | 0 | 0) < (0 | 0) & 1 | 0)) { + break label$42 + } + if (!((HEAP32[($7 + 40 | 0) >> 2] | 0 | 0) > (0 | 0) & 1 | 0)) { + break label$42 + } + label$43 : { + if (!(HEAP32[($7 + 44 | 0) >> 2] | 0)) { + break label$43 + } + if (!((HEAP32[($7 + 44 | 0) >> 2] | 0 | 0) < (0 | 0) & 1 | 0)) { + break label$42 + } + if (!((Math_imul(HEAP32[($7 + 40 | 0) >> 2] | 0, HEAP32[($7 + 100 | 0) >> 2] | 0) | 0) < (Math_imul(HEAP32[($7 + 64 | 0) >> 2] | 0, HEAP32[($7 + 44 | 0) >> 2] | 0) | 0) & 1 | 0)) { + break label$42 + } + } + HEAP32[($7 + 132 | 0) >> 2] = HEAP32[($7 + 48 | 0) >> 2] | 0; + HEAP32[($7 + 100 | 0) >> 2] = HEAP32[($7 + 36 | 0) >> 2] | 0; + continue label$34; + } + break label$34; + }; + } + break label$31; + } + HEAP32[($7 + 32 | 0) >> 2] = HEAP32[((HEAP32[($7 + 132 | 0) >> 2] | 0) + 88 | 0) >> 2] | 0; + HEAP32[($7 + 28 | 0) >> 2] = HEAP32[((HEAP32[($7 + 132 | 0) >> 2] | 0) + 92 | 0) >> 2] | 0; + HEAP32[($7 + 24 | 0) >> 2] = HEAP32[($7 + 132 | 0) >> 2] | 0; + label$44 : while (1) { + label$45 : { + label$46 : { + if (!(HEAP32[($7 + 104 | 0) >> 2] | 0)) { + break label$46 + } + $492 = HEAP32[(HEAP32[($7 + 24 | 0) >> 2] | 0) >> 2] | 0; + break label$45; + } + $492 = HEAP32[((HEAP32[($7 + 24 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + } + $495 = $492; + HEAP32[($7 + 20 | 0) >> 2] = $495; + $503 = 0; + label$47 : { + if (!(($495 | 0) != (HEAP32[($7 + 132 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$47 + } + $503 = 0; + if (!((HEAP32[((HEAP32[($7 + 20 | 0) >> 2] | 0) + 88 | 0) >> 2] | 0 | 0) == (HEAP32[($7 + 32 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$47 + } + $503 = (HEAP32[((HEAP32[($7 + 20 | 0) >> 2] | 0) + 92 | 0) >> 2] | 0 | 0) <= (HEAP32[($7 + 28 | 0) >> 2] | 0 | 0); + } + label$48 : { + if (!($503 & 1 | 0)) { + break label$48 + } + HEAP32[($7 + 24 | 0) >> 2] = HEAP32[($7 + 20 | 0) >> 2] | 0; + HEAP32[($7 + 28 | 0) >> 2] = HEAP32[((HEAP32[($7 + 20 | 0) >> 2] | 0) + 92 | 0) >> 2] | 0; + continue label$44; + } + break label$44; + }; + HEAP32[($7 + 132 | 0) >> 2] = HEAP32[($7 + 24 | 0) >> 2] | 0; + HEAP32[($7 + 16 | 0) >> 2] = HEAP32[((HEAP32[($7 + 128 | 0) >> 2] | 0) + 92 | 0) >> 2] | 0; + HEAP32[($7 + 12 | 0) >> 2] = HEAP32[($7 + 128 | 0) >> 2] | 0; + label$49 : while (1) { + label$50 : { + label$51 : { + if (!(HEAP32[($7 + 104 | 0) >> 2] | 0)) { + break label$51 + } + $532 = HEAP32[((HEAP32[($7 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + break label$50; + } + $532 = HEAP32[(HEAP32[($7 + 12 | 0) >> 2] | 0) >> 2] | 0; + } + $535 = $532; + HEAP32[($7 + 20 | 0) >> 2] = $535; + $543 = 0; + label$52 : { + if (!(($535 | 0) != (HEAP32[($7 + 128 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$52 + } + $543 = 0; + if (!((HEAP32[((HEAP32[($7 + 20 | 0) >> 2] | 0) + 88 | 0) >> 2] | 0 | 0) == (HEAP32[($7 + 32 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$52 + } + $543 = (HEAP32[((HEAP32[($7 + 20 | 0) >> 2] | 0) + 92 | 0) >> 2] | 0 | 0) >= (HEAP32[($7 + 16 | 0) >> 2] | 0 | 0); + } + label$53 : { + if (!($543 & 1 | 0)) { + break label$53 + } + HEAP32[($7 + 12 | 0) >> 2] = HEAP32[($7 + 20 | 0) >> 2] | 0; + HEAP32[($7 + 16 | 0) >> 2] = HEAP32[((HEAP32[($7 + 20 | 0) >> 2] | 0) + 92 | 0) >> 2] | 0; + continue label$49; + } + break label$49; + }; + HEAP32[($7 + 128 | 0) >> 2] = HEAP32[($7 + 12 | 0) >> 2] | 0; + } + } + label$54 : { + if (HEAP32[($7 + 104 | 0) >> 2] | 0) { + break label$54 + } + HEAP32[($7 + 116 | 0) >> 2] = HEAP32[($7 + 132 | 0) >> 2] | 0; + HEAP32[($7 + 112 | 0) >> 2] = HEAP32[($7 + 128 | 0) >> 2] | 0; + HEAP32[($7 + 132 | 0) >> 2] = HEAP32[(HEAP32[($7 + 148 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($7 + 128 | 0) >> 2] = HEAP32[(HEAP32[($7 + 144 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($7 + 108 | 0) >> 2] = -1; + } + HEAP32[($7 + 104 | 0) >> 2] = (HEAP32[($7 + 104 | 0) >> 2] | 0) + 1 | 0; + continue label$17; + }; + } + HEAP32[((HEAP32[($7 + 132 | 0) >> 2] | 0) + 4 | 0) >> 2] = HEAP32[($7 + 128 | 0) >> 2] | 0; + HEAP32[(HEAP32[($7 + 128 | 0) >> 2] | 0) >> 2] = HEAP32[($7 + 132 | 0) >> 2] | 0; + HEAP32[(HEAP32[($7 + 116 | 0) >> 2] | 0) >> 2] = HEAP32[($7 + 112 | 0) >> 2] | 0; + HEAP32[((HEAP32[($7 + 112 | 0) >> 2] | 0) + 4 | 0) >> 2] = HEAP32[($7 + 116 | 0) >> 2] | 0; + label$55 : { + if (!((HEAP32[((HEAP32[(HEAP32[($7 + 144 | 0) >> 2] | 0) >> 2] | 0) + 88 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[(HEAP32[($7 + 148 | 0) >> 2] | 0) >> 2] | 0) + 88 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$55 + } + HEAP32[(HEAP32[($7 + 148 | 0) >> 2] | 0) >> 2] = HEAP32[(HEAP32[($7 + 144 | 0) >> 2] | 0) >> 2] | 0; + } + label$56 : { + if (!((HEAP32[((HEAP32[((HEAP32[($7 + 144 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + 88 | 0) >> 2] | 0 | 0) >= (HEAP32[((HEAP32[((HEAP32[($7 + 148 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + 88 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$56 + } + HEAP32[((HEAP32[($7 + 148 | 0) >> 2] | 0) + 4 | 0) >> 2] = HEAP32[((HEAP32[($7 + 144 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + } + HEAP32[((HEAP32[($7 + 148 | 0) >> 2] | 0) + 12 | 0) >> 2] = HEAP32[((HEAP32[($7 + 144 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + HEAP32[(HEAP32[($7 + 140 | 0) >> 2] | 0) >> 2] = HEAP32[($7 + 116 | 0) >> 2] | 0; + HEAP32[(HEAP32[($7 + 136 | 0) >> 2] | 0) >> 2] = HEAP32[($7 + 112 | 0) >> 2] | 0; + HEAP8[($7 + 159 | 0) >> 0] = 1 & 1 | 0; + } + $625 = (HEAPU8[($7 + 159 | 0) >> 0] | 0) & 1 | 0; + __stack_pointer = $7 + 160 | 0; + return $625 | 0; + } + + function btConvexHullInternal__computeInternal_28int_2c_20int_2c_20btConvexHullInternal__IntermediateHull__29($0, $1, $2, $3) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + var $6 = 0, $7 = 0, i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, i64toi32_i32$1 = 0, $11 = 0, $205 = 0, $206 = 0, $222 = 0, $767 = 0, $771 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $6 = __stack_pointer - 96 | 0; + __stack_pointer = $6; + HEAP32[($6 + 92 | 0) >> 2] = $0; + HEAP32[($6 + 88 | 0) >> 2] = $1; + HEAP32[($6 + 84 | 0) >> 2] = $2; + HEAP32[($6 + 80 | 0) >> 2] = $3; + $7 = HEAP32[($6 + 92 | 0) >> 2] | 0; + HEAP32[($6 + 76 | 0) >> 2] = (HEAP32[($6 + 84 | 0) >> 2] | 0) - (HEAP32[($6 + 88 | 0) >> 2] | 0) | 0; + $11 = HEAP32[($6 + 76 | 0) >> 2] | 0; + label$1 : { + label$2 : { + switch ($11 | 0) { + case 0: + HEAP32[(HEAP32[($6 + 80 | 0) >> 2] | 0) >> 2] = 0; + HEAP32[((HEAP32[($6 + 80 | 0) >> 2] | 0) + 4 | 0) >> 2] = 0; + HEAP32[((HEAP32[($6 + 80 | 0) >> 2] | 0) + 8 | 0) >> 2] = 0; + HEAP32[((HEAP32[($6 + 80 | 0) >> 2] | 0) + 12 | 0) >> 2] = 0; + break label$1; + case 2: + (wasm2js_i32$0 = $6, wasm2js_i32$1 = HEAP32[(btAlignedObjectArray_btConvexHullInternal__Vertex____operator_5b_5d_28int_29($7 + 80 | 0 | 0, HEAP32[($6 + 88 | 0) >> 2] | 0 | 0) | 0) >> 2] | 0), HEAP32[(wasm2js_i32$0 + 72 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($6 + 68 | 0) >> 2] = (HEAP32[($6 + 72 | 0) >> 2] | 0) + 112 | 0; + label$6 : { + if (!((btConvexHullInternal__Point32__operator___28btConvexHullInternal__Point32_20const__29_20const((HEAP32[($6 + 72 | 0) >> 2] | 0) + 88 | 0 | 0, (HEAP32[($6 + 68 | 0) >> 2] | 0) + 88 | 0 | 0) | 0) & 1 | 0)) { + break label$6 + } + HEAP32[($6 + 64 | 0) >> 2] = (HEAP32[((HEAP32[($6 + 72 | 0) >> 2] | 0) + 88 | 0) >> 2] | 0) - (HEAP32[((HEAP32[($6 + 68 | 0) >> 2] | 0) + 88 | 0) >> 2] | 0) | 0; + HEAP32[($6 + 60 | 0) >> 2] = (HEAP32[((HEAP32[($6 + 72 | 0) >> 2] | 0) + 92 | 0) >> 2] | 0) - (HEAP32[((HEAP32[($6 + 68 | 0) >> 2] | 0) + 92 | 0) >> 2] | 0) | 0; + label$7 : { + label$8 : { + if (HEAP32[($6 + 64 | 0) >> 2] | 0) { + break label$8 + } + if (HEAP32[($6 + 60 | 0) >> 2] | 0) { + break label$8 + } + label$9 : { + if (!((HEAP32[((HEAP32[($6 + 72 | 0) >> 2] | 0) + 96 | 0) >> 2] | 0 | 0) > (HEAP32[((HEAP32[($6 + 68 | 0) >> 2] | 0) + 96 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$9 + } + HEAP32[($6 + 56 | 0) >> 2] = HEAP32[($6 + 68 | 0) >> 2] | 0; + HEAP32[($6 + 68 | 0) >> 2] = HEAP32[($6 + 72 | 0) >> 2] | 0; + HEAP32[($6 + 72 | 0) >> 2] = HEAP32[($6 + 56 | 0) >> 2] | 0; + } + label$10 : { + if ((HEAP32[((HEAP32[($6 + 72 | 0) >> 2] | 0) + 96 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($6 + 68 | 0) >> 2] | 0) + 96 | 0) >> 2] | 0 | 0) & 1 | 0) { + break label$10 + } + __assert_fail(65550 | 0, 72732 | 0, 1232 | 0, 77500 | 0); + wasm2js_trap(); + } + HEAP32[(HEAP32[($6 + 72 | 0) >> 2] | 0) >> 2] = HEAP32[($6 + 72 | 0) >> 2] | 0; + HEAP32[((HEAP32[($6 + 72 | 0) >> 2] | 0) + 4 | 0) >> 2] = HEAP32[($6 + 72 | 0) >> 2] | 0; + HEAP32[(HEAP32[($6 + 80 | 0) >> 2] | 0) >> 2] = HEAP32[($6 + 72 | 0) >> 2] | 0; + HEAP32[((HEAP32[($6 + 80 | 0) >> 2] | 0) + 4 | 0) >> 2] = HEAP32[($6 + 72 | 0) >> 2] | 0; + HEAP32[((HEAP32[($6 + 80 | 0) >> 2] | 0) + 8 | 0) >> 2] = HEAP32[($6 + 72 | 0) >> 2] | 0; + HEAP32[((HEAP32[($6 + 80 | 0) >> 2] | 0) + 12 | 0) >> 2] = HEAP32[($6 + 72 | 0) >> 2] | 0; + break label$7; + } + HEAP32[(HEAP32[($6 + 72 | 0) >> 2] | 0) >> 2] = HEAP32[($6 + 68 | 0) >> 2] | 0; + HEAP32[((HEAP32[($6 + 72 | 0) >> 2] | 0) + 4 | 0) >> 2] = HEAP32[($6 + 68 | 0) >> 2] | 0; + HEAP32[(HEAP32[($6 + 68 | 0) >> 2] | 0) >> 2] = HEAP32[($6 + 72 | 0) >> 2] | 0; + HEAP32[((HEAP32[($6 + 68 | 0) >> 2] | 0) + 4 | 0) >> 2] = HEAP32[($6 + 72 | 0) >> 2] | 0; + label$11 : { + label$12 : { + label$13 : { + if ((HEAP32[($6 + 64 | 0) >> 2] | 0 | 0) < (0 | 0) & 1 | 0) { + break label$13 + } + if (HEAP32[($6 + 64 | 0) >> 2] | 0) { + break label$12 + } + if (!((HEAP32[($6 + 60 | 0) >> 2] | 0 | 0) < (0 | 0) & 1 | 0)) { + break label$12 + } + } + HEAP32[(HEAP32[($6 + 80 | 0) >> 2] | 0) >> 2] = HEAP32[($6 + 72 | 0) >> 2] | 0; + HEAP32[((HEAP32[($6 + 80 | 0) >> 2] | 0) + 4 | 0) >> 2] = HEAP32[($6 + 68 | 0) >> 2] | 0; + break label$11; + } + HEAP32[(HEAP32[($6 + 80 | 0) >> 2] | 0) >> 2] = HEAP32[($6 + 68 | 0) >> 2] | 0; + HEAP32[((HEAP32[($6 + 80 | 0) >> 2] | 0) + 4 | 0) >> 2] = HEAP32[($6 + 72 | 0) >> 2] | 0; + } + label$14 : { + label$15 : { + label$16 : { + if ((HEAP32[($6 + 60 | 0) >> 2] | 0 | 0) < (0 | 0) & 1 | 0) { + break label$16 + } + if (HEAP32[($6 + 60 | 0) >> 2] | 0) { + break label$15 + } + if (!((HEAP32[($6 + 64 | 0) >> 2] | 0 | 0) < (0 | 0) & 1 | 0)) { + break label$15 + } + } + HEAP32[((HEAP32[($6 + 80 | 0) >> 2] | 0) + 8 | 0) >> 2] = HEAP32[($6 + 72 | 0) >> 2] | 0; + HEAP32[((HEAP32[($6 + 80 | 0) >> 2] | 0) + 12 | 0) >> 2] = HEAP32[($6 + 68 | 0) >> 2] | 0; + break label$14; + } + HEAP32[((HEAP32[($6 + 80 | 0) >> 2] | 0) + 8 | 0) >> 2] = HEAP32[($6 + 68 | 0) >> 2] | 0; + HEAP32[((HEAP32[($6 + 80 | 0) >> 2] | 0) + 12 | 0) >> 2] = HEAP32[($6 + 72 | 0) >> 2] | 0; + } + } + (wasm2js_i32$0 = $6, wasm2js_i32$1 = btConvexHullInternal__newEdgePair_28btConvexHullInternal__Vertex__2c_20btConvexHullInternal__Vertex__29($7 | 0, HEAP32[($6 + 72 | 0) >> 2] | 0 | 0, HEAP32[($6 + 68 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 52 | 0) >> 2] = wasm2js_i32$1; + btConvexHullInternal__Edge__link_28btConvexHullInternal__Edge__29(HEAP32[($6 + 52 | 0) >> 2] | 0 | 0, HEAP32[($6 + 52 | 0) >> 2] | 0 | 0); + HEAP32[((HEAP32[($6 + 72 | 0) >> 2] | 0) + 8 | 0) >> 2] = HEAP32[($6 + 52 | 0) >> 2] | 0; + HEAP32[($6 + 52 | 0) >> 2] = HEAP32[((HEAP32[($6 + 52 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + btConvexHullInternal__Edge__link_28btConvexHullInternal__Edge__29(HEAP32[($6 + 52 | 0) >> 2] | 0 | 0, HEAP32[($6 + 52 | 0) >> 2] | 0 | 0); + HEAP32[((HEAP32[($6 + 68 | 0) >> 2] | 0) + 8 | 0) >> 2] = HEAP32[($6 + 52 | 0) >> 2] | 0; + break label$1; + } + (wasm2js_i32$0 = $6, wasm2js_i32$1 = HEAP32[(btAlignedObjectArray_btConvexHullInternal__Vertex____operator_5b_5d_28int_29($7 + 80 | 0 | 0, HEAP32[($6 + 88 | 0) >> 2] | 0 | 0) | 0) >> 2] | 0), HEAP32[(wasm2js_i32$0 + 48 | 0) >> 2] = wasm2js_i32$1; + HEAP32[((HEAP32[($6 + 48 | 0) >> 2] | 0) + 8 | 0) >> 2] = 0; + HEAP32[(HEAP32[($6 + 48 | 0) >> 2] | 0) >> 2] = HEAP32[($6 + 48 | 0) >> 2] | 0; + HEAP32[((HEAP32[($6 + 48 | 0) >> 2] | 0) + 4 | 0) >> 2] = HEAP32[($6 + 48 | 0) >> 2] | 0; + HEAP32[(HEAP32[($6 + 80 | 0) >> 2] | 0) >> 2] = HEAP32[($6 + 48 | 0) >> 2] | 0; + HEAP32[((HEAP32[($6 + 80 | 0) >> 2] | 0) + 4 | 0) >> 2] = HEAP32[($6 + 48 | 0) >> 2] | 0; + HEAP32[((HEAP32[($6 + 80 | 0) >> 2] | 0) + 8 | 0) >> 2] = HEAP32[($6 + 48 | 0) >> 2] | 0; + HEAP32[((HEAP32[($6 + 80 | 0) >> 2] | 0) + 12 | 0) >> 2] = HEAP32[($6 + 48 | 0) >> 2] | 0; + break label$1; + case 1: + (wasm2js_i32$0 = $6, wasm2js_i32$1 = HEAP32[(btAlignedObjectArray_btConvexHullInternal__Vertex____operator_5b_5d_28int_29($7 + 80 | 0 | 0, HEAP32[($6 + 88 | 0) >> 2] | 0 | 0) | 0) >> 2] | 0), HEAP32[(wasm2js_i32$0 + 44 | 0) >> 2] = wasm2js_i32$1; + HEAP32[((HEAP32[($6 + 44 | 0) >> 2] | 0) + 8 | 0) >> 2] = 0; + HEAP32[(HEAP32[($6 + 44 | 0) >> 2] | 0) >> 2] = HEAP32[($6 + 44 | 0) >> 2] | 0; + HEAP32[((HEAP32[($6 + 44 | 0) >> 2] | 0) + 4 | 0) >> 2] = HEAP32[($6 + 44 | 0) >> 2] | 0; + HEAP32[(HEAP32[($6 + 80 | 0) >> 2] | 0) >> 2] = HEAP32[($6 + 44 | 0) >> 2] | 0; + HEAP32[((HEAP32[($6 + 80 | 0) >> 2] | 0) + 4 | 0) >> 2] = HEAP32[($6 + 44 | 0) >> 2] | 0; + HEAP32[((HEAP32[($6 + 80 | 0) >> 2] | 0) + 8 | 0) >> 2] = HEAP32[($6 + 44 | 0) >> 2] | 0; + HEAP32[((HEAP32[($6 + 80 | 0) >> 2] | 0) + 12 | 0) >> 2] = HEAP32[($6 + 44 | 0) >> 2] | 0; + break label$1; + default: + break label$2; + }; + } + HEAP32[($6 + 40 | 0) >> 2] = (HEAP32[($6 + 88 | 0) >> 2] | 0) + ((HEAP32[($6 + 76 | 0) >> 2] | 0 | 0) / (2 | 0) | 0) | 0; + $205 = (HEAP32[(btAlignedObjectArray_btConvexHullInternal__Vertex____operator_5b_5d_28int_29($7 + 80 | 0 | 0, (HEAP32[($6 + 40 | 0) >> 2] | 0) - 1 | 0 | 0) | 0) >> 2] | 0) + 88 | 0; + $206 = 8; + i64toi32_i32$2 = $205 + $206 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $767 = i64toi32_i32$0; + i64toi32_i32$0 = ($6 + 24 | 0) + $206 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $767; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$2 = $205; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $771 = i64toi32_i32$1; + i64toi32_i32$1 = $6; + HEAP32[($6 + 24 | 0) >> 2] = $771; + HEAP32[($6 + 28 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($6 + 20 | 0) >> 2] = HEAP32[($6 + 40 | 0) >> 2] | 0; + label$17 : while (1) { + $222 = 0; + label$18 : { + if (!((HEAP32[($6 + 20 | 0) >> 2] | 0 | 0) < (HEAP32[($6 + 84 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$18 + } + $222 = btConvexHullInternal__Point32__operator___28btConvexHullInternal__Point32_20const__29_20const_1((HEAP32[(btAlignedObjectArray_btConvexHullInternal__Vertex____operator_5b_5d_28int_29($7 + 80 | 0 | 0, HEAP32[($6 + 20 | 0) >> 2] | 0 | 0) | 0) >> 2] | 0) + 88 | 0 | 0, $6 + 24 | 0 | 0) | 0; + } + label$19 : { + if (!($222 & 1 | 0)) { + break label$19 + } + HEAP32[($6 + 20 | 0) >> 2] = (HEAP32[($6 + 20 | 0) >> 2] | 0) + 1 | 0; + continue label$17; + } + break label$17; + }; + btConvexHullInternal__computeInternal_28int_2c_20int_2c_20btConvexHullInternal__IntermediateHull__29($7 | 0, HEAP32[($6 + 88 | 0) >> 2] | 0 | 0, HEAP32[($6 + 40 | 0) >> 2] | 0 | 0, HEAP32[($6 + 80 | 0) >> 2] | 0 | 0); + btConvexHullInternal__IntermediateHull__IntermediateHull_28_29($6 + 4 | 0 | 0) | 0; + btConvexHullInternal__computeInternal_28int_2c_20int_2c_20btConvexHullInternal__IntermediateHull__29($7 | 0, HEAP32[($6 + 20 | 0) >> 2] | 0 | 0, HEAP32[($6 + 84 | 0) >> 2] | 0 | 0, $6 + 4 | 0 | 0); + btConvexHullInternal__merge_28btConvexHullInternal__IntermediateHull__2c_20btConvexHullInternal__IntermediateHull__29($7 | 0, HEAP32[($6 + 80 | 0) >> 2] | 0 | 0, $6 + 4 | 0 | 0); + } + __stack_pointer = $6 + 96 | 0; + return; + } + + function btAlignedObjectArray_btConvexHullInternal__Vertex____operator_5b_5d_28int_29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, $5 = 0, $32 = 0; + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; + label$1 : { + if ((HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0) { + break label$1 + } + __assert_fail(85840 | 0, 78295 | 0, 183 | 0, 83901 | 0); + wasm2js_trap(); + } + label$2 : { + if ((HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) < (btAlignedObjectArray_btConvexHullInternal__Vertex____size_28_29_20const($5 | 0) | 0 | 0) & 1 | 0) { + break label$2 + } + __assert_fail(87321 | 0, 78295 | 0, 184 | 0, 83901 | 0); + wasm2js_trap(); + } + $32 = (HEAP32[($5 + 12 | 0) >> 2] | 0) + ((HEAP32[($4 + 8 | 0) >> 2] | 0) << 2 | 0) | 0; + __stack_pointer = $4 + 16 | 0; + return $32 | 0; + } + + function btConvexHullInternal__Point32__operator___28btConvexHullInternal__Point32_20const__29_20const($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, $5 = 0, $15 = 0; + $4 = __stack_pointer - 16 | 0; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; + $15 = 1; + label$1 : { + if ((HEAP32[$5 >> 2] | 0 | 0) != (HEAP32[(HEAP32[($4 + 8 | 0) >> 2] | 0) >> 2] | 0 | 0) & 1 | 0) { + break label$1 + } + $15 = 1; + if ((HEAP32[($5 + 4 | 0) >> 2] | 0 | 0) != (HEAP32[((HEAP32[($4 + 8 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) & 1 | 0) { + break label$1 + } + $15 = (HEAP32[($5 + 8 | 0) >> 2] | 0 | 0) != (HEAP32[((HEAP32[($4 + 8 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0); + } + return $15 & 1 | 0 | 0; + } + + function btConvexHullInternal__Edge__link_28btConvexHullInternal__Edge__29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, $5 = 0; + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; + label$1 : { + if ((HEAP32[((HEAP32[($5 + 8 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) == (HEAP32[((HEAP32[((HEAP32[($4 + 8 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) & 1 | 0) { + break label$1 + } + __assert_fail(68510 | 0, 72732 | 0, 528 | 0, 77666 | 0); + wasm2js_trap(); + } + HEAP32[$5 >> 2] = HEAP32[($4 + 8 | 0) >> 2] | 0; + HEAP32[((HEAP32[($4 + 8 | 0) >> 2] | 0) + 4 | 0) >> 2] = $5; + __stack_pointer = $4 + 16 | 0; + return; + } + + function btConvexHullInternal__Point32__operator___28btConvexHullInternal__Point32_20const__29_20const_1($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, $5 = 0, $15 = 0; + $4 = __stack_pointer - 16 | 0; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; + $15 = 0; + label$1 : { + if (!((HEAP32[$5 >> 2] | 0 | 0) == (HEAP32[(HEAP32[($4 + 8 | 0) >> 2] | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$1 + } + $15 = 0; + if (!((HEAP32[($5 + 4 | 0) >> 2] | 0 | 0) == (HEAP32[((HEAP32[($4 + 8 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$1 + } + $15 = (HEAP32[($5 + 8 | 0) >> 2] | 0 | 0) == (HEAP32[((HEAP32[($4 + 8 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0); + } + return $15 & 1 | 0 | 0; + } + + function btConvexHullInternal__IntermediateHull__IntermediateHull_28_29($0) { + $0 = $0 | 0; + var $4 = 0, $3 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + HEAP32[$4 >> 2] = 0; + HEAP32[($4 + 4 | 0) >> 2] = 0; + HEAP32[($4 + 8 | 0) >> 2] = 0; + HEAP32[($4 + 12 | 0) >> 2] = 0; + return $4 | 0; + } + + function btConvexHullInternal__merge_28btConvexHullInternal__IntermediateHull__2c_20btConvexHullInternal__IntermediateHull__29($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $5 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, i64toi32_i32$3 = 0, $6 = 0, $118$hi = 0, $119$hi = 0, $129$hi = 0, $130$hi = 0, $150$hi = 0, $151$hi = 0, $222$hi = 0, $223$hi = 0, $233$hi = 0, $234$hi = 0, $254$hi = 0, $255$hi = 0, $24 = 0, $26 = 0, $65 = 0, $60 = 0, $61 = 0, $62 = 0, $137 = 0, $63 = 0, $64 = 0, $66 = 0, $166 = 0, $172 = 0, $67 = 0, $68 = 0, $69 = 0, $241 = 0, $70 = 0, $71 = 0, $72 = 0, $270 = 0, $276 = 0, $325 = 0, $346 = 0, $347 = 0, $359 = 0, $360 = 0, $408 = 0, $429 = 0, $482 = 0, $491 = 0, $565 = 0, $635 = 0, $636 = 0, $716 = 0, $717 = 0, $863 = 0, $873 = 0, $1040 = 0, $167 = 0, $168 = 0, $1226 = 0, $271 = 0, $272 = 0, $1462 = 0, $1466 = 0, $1491 = 0, $1495 = 0, $2055 = 0, $2059 = 0, $2228 = 0, $2232 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5 = __stack_pointer - 496 | 0; + __stack_pointer = $5; + HEAP32[($5 + 492 | 0) >> 2] = $0; + HEAP32[($5 + 488 | 0) >> 2] = $1; + HEAP32[($5 + 484 | 0) >> 2] = $2; + $6 = HEAP32[($5 + 492 | 0) >> 2] | 0; + label$1 : { + label$2 : { + if ((HEAP32[((HEAP32[($5 + 484 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$2 + } + break label$1; + } + label$3 : { + if ((HEAP32[((HEAP32[($5 + 488 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$3 + } + $24 = HEAP32[($5 + 488 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($5 + 484 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $863 = i64toi32_i32$0; + i64toi32_i32$0 = $24; + HEAP32[i64toi32_i32$0 >> 2] = $863; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $26 = 8; + i64toi32_i32$2 = i64toi32_i32$2 + $26 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $873 = i64toi32_i32$1; + i64toi32_i32$1 = $24 + $26 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $873; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + break label$1; + } + HEAP32[($6 + 100 | 0) >> 2] = (HEAP32[($6 + 100 | 0) >> 2] | 0) + -1 | 0; + HEAP32[($5 + 480 | 0) >> 2] = 0; + HEAP32[($5 + 476 | 0) >> 2] = 0; + HEAP32[($5 + 472 | 0) >> 2] = 0; + HEAP32[($5 + 468 | 0) >> 2] = 0; + HEAP32[($5 + 464 | 0) >> 2] = 0; + HEAP32[($5 + 460 | 0) >> 2] = 0; + HEAP32[($5 + 456 | 0) >> 2] = 0; + HEAP32[($5 + 452 | 0) >> 2] = 0; + HEAP32[($5 + 448 | 0) >> 2] = 0; + HEAP32[($5 + 444 | 0) >> 2] = 0; + btConvexHullInternal__Point32__Point32_28_29($5 + 424 | 0 | 0) | 0; + label$4 : { + label$5 : { + if (!((btConvexHullInternal__mergeProjection_28btConvexHullInternal__IntermediateHull__2c_20btConvexHullInternal__IntermediateHull__2c_20btConvexHullInternal__Vertex___2c_20btConvexHullInternal__Vertex___29($6 | 0, HEAP32[($5 + 488 | 0) >> 2] | 0 | 0, HEAP32[($5 + 484 | 0) >> 2] | 0 | 0, $5 + 480 | 0 | 0, $5 + 460 | 0 | 0) | 0) & 1 | 0)) { + break label$5 + } + btConvexHullInternal__Vertex__operator__28btConvexHullInternal__Vertex_20const__29_20const($5 + 408 | 0 | 0, HEAP32[($5 + 460 | 0) >> 2] | 0 | 0, HEAP32[($5 + 480 | 0) >> 2] | 0 | 0); + $65 = 0; + btConvexHullInternal__Point32__Point32_28int_2c_20int_2c_20int_29($5 + 368 | 0 | 0, $65 | 0, $65 | 0, -1 | 0) | 0; + btConvexHullInternal__Point32__cross_28btConvexHullInternal__Point32_20const__29_20const($5 + 384 | 0 | 0, $5 + 368 | 0 | 0, $5 + 408 | 0 | 0); + btConvexHullInternal__Point32__cross_28btConvexHullInternal__Point64_20const__29_20const($5 + 344 | 0 | 0, $5 + 408 | 0 | 0, $5 + 384 | 0 | 0); + label$6 : { + if (!((btConvexHullInternal__Point64__isZero_28_29($5 + 344 | 0 | 0) | 0) & 1 | 0)) { + break label$6 + } + __assert_fail(87266 | 0, 72732 | 0, 1691 | 0, 81906 | 0); + wasm2js_trap(); + } + HEAP32[($5 + 340 | 0) >> 2] = HEAP32[((HEAP32[($5 + 480 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + HEAP32[($5 + 336 | 0) >> 2] = 0; + label$7 : { + if (!((HEAP32[($5 + 340 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$7 + } + label$8 : while (1) { + btConvexHullInternal__Vertex__operator__28btConvexHullInternal__Vertex_20const__29_20const($5 + 312 | 0 | 0, HEAP32[((HEAP32[($5 + 340 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0, HEAP32[($5 + 480 | 0) >> 2] | 0 | 0); + i64toi32_i32$0 = btConvexHullInternal__Point32__dot_28btConvexHullInternal__Point64_20const__29_20const($5 + 312 | 0 | 0, $5 + 384 | 0 | 0) | 0; + i64toi32_i32$1 = i64toi32_i32$HIGH_BITS; + $1040 = i64toi32_i32$0; + i64toi32_i32$0 = $5; + HEAP32[($5 + 328 | 0) >> 2] = $1040; + HEAP32[($5 + 332 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$2 = $5; + i64toi32_i32$1 = HEAP32[($5 + 328 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($5 + 332 | 0) >> 2] | 0; + $118$hi = i64toi32_i32$0; + i64toi32_i32$0 = 0; + $119$hi = i64toi32_i32$0; + i64toi32_i32$0 = $118$hi; + i64toi32_i32$0 = $119$hi; + i64toi32_i32$0 = $118$hi; + i64toi32_i32$0 = $119$hi; + i64toi32_i32$0 = $118$hi; + i64toi32_i32$2 = i64toi32_i32$1; + i64toi32_i32$1 = $119$hi; + i64toi32_i32$3 = 0; + if ((i64toi32_i32$0 | 0) < (i64toi32_i32$1 | 0)) { + $60 = 1 + } else { + if ((i64toi32_i32$0 | 0) <= (i64toi32_i32$1 | 0)) { + if (i64toi32_i32$2 >>> 0 > i64toi32_i32$3 >>> 0) { + $61 = 0 + } else { + $61 = 1 + } + $62 = $61; + } else { + $62 = 0 + } + $60 = $62; + } + label$9 : { + if ($60 & 1 | 0) { + break label$9 + } + __assert_fail(86116 | 0, 72732 | 0, 1700 | 0, 81906 | 0); + wasm2js_trap(); + } + i64toi32_i32$3 = $5; + i64toi32_i32$2 = HEAP32[($5 + 328 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($5 + 332 | 0) >> 2] | 0; + $129$hi = i64toi32_i32$0; + i64toi32_i32$0 = 0; + $130$hi = i64toi32_i32$0; + i64toi32_i32$0 = $129$hi; + i64toi32_i32$0 = $130$hi; + i64toi32_i32$0 = $129$hi; + i64toi32_i32$0 = $130$hi; + i64toi32_i32$0 = $129$hi; + i64toi32_i32$3 = i64toi32_i32$2; + i64toi32_i32$2 = $130$hi; + i64toi32_i32$1 = 0; + $137 = 0; + label$10 : { + if (!(((i64toi32_i32$3 | 0) == (i64toi32_i32$1 | 0) & (i64toi32_i32$0 | 0) == (i64toi32_i32$2 | 0) | 0) & 1 | 0)) { + break label$10 + } + btConvexHullInternal__Vertex__operator__28btConvexHullInternal__Vertex_20const__29_20const($5 + 296 | 0 | 0, HEAP32[((HEAP32[($5 + 340 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0, HEAP32[($5 + 480 | 0) >> 2] | 0 | 0); + i64toi32_i32$3 = btConvexHullInternal__Point32__dot_28btConvexHullInternal__Point64_20const__29_20const($5 + 296 | 0 | 0, $5 + 344 | 0 | 0) | 0; + i64toi32_i32$0 = i64toi32_i32$HIGH_BITS; + $150$hi = i64toi32_i32$0; + i64toi32_i32$0 = 0; + $151$hi = i64toi32_i32$0; + i64toi32_i32$0 = $150$hi; + i64toi32_i32$0 = $151$hi; + i64toi32_i32$0 = $150$hi; + i64toi32_i32$0 = $151$hi; + i64toi32_i32$0 = $150$hi; + i64toi32_i32$1 = i64toi32_i32$3; + i64toi32_i32$3 = $151$hi; + i64toi32_i32$2 = 0; + if ((i64toi32_i32$0 | 0) > (i64toi32_i32$3 | 0)) { + $63 = 1 + } else { + if ((i64toi32_i32$0 | 0) >= (i64toi32_i32$3 | 0)) { + if (i64toi32_i32$1 >>> 0 <= i64toi32_i32$2 >>> 0) { + $64 = 0 + } else { + $64 = 1 + } + $66 = $64; + } else { + $66 = 0 + } + $63 = $66; + } + $137 = $63; + } + label$11 : { + if (!($137 & 1 | 0)) { + break label$11 + } + $166 = 1; + label$12 : { + if (!((HEAP32[($5 + 336 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$12 + } + $167 = HEAP32[($5 + 336 | 0) >> 2] | 0; + $168 = HEAP32[($5 + 340 | 0) >> 2] | 0; + $172 = 0; + btConvexHullInternal__Point32__Point32_28int_2c_20int_2c_20int_29($5 + 280 | 0 | 0, $172 | 0, $172 | 0, -1 | 0) | 0; + $166 = (btConvexHullInternal__getOrientation_28btConvexHullInternal__Edge_20const__2c_20btConvexHullInternal__Edge_20const__2c_20btConvexHullInternal__Point32_20const__2c_20btConvexHullInternal__Point32_20const__29($167 | 0, $168 | 0, $5 + 408 | 0 | 0, $5 + 280 | 0 | 0) | 0 | 0) == (1 | 0); + } + label$13 : { + if (!($166 & 1 | 0)) { + break label$13 + } + HEAP32[($5 + 336 | 0) >> 2] = HEAP32[($5 + 340 | 0) >> 2] | 0; + } + } + HEAP32[($5 + 340 | 0) >> 2] = HEAP32[(HEAP32[($5 + 340 | 0) >> 2] | 0) >> 2] | 0; + if ((HEAP32[($5 + 340 | 0) >> 2] | 0 | 0) != (HEAP32[((HEAP32[($5 + 480 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) & 1 | 0) { + continue label$8 + } + break label$8; + }; + } + HEAP32[($5 + 340 | 0) >> 2] = HEAP32[((HEAP32[($5 + 460 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + HEAP32[($5 + 276 | 0) >> 2] = 0; + label$14 : { + if (!((HEAP32[($5 + 340 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$14 + } + label$15 : while (1) { + btConvexHullInternal__Vertex__operator__28btConvexHullInternal__Vertex_20const__29_20const($5 + 248 | 0 | 0, HEAP32[((HEAP32[($5 + 340 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0, HEAP32[($5 + 460 | 0) >> 2] | 0 | 0); + i64toi32_i32$1 = btConvexHullInternal__Point32__dot_28btConvexHullInternal__Point64_20const__29_20const($5 + 248 | 0 | 0, $5 + 384 | 0 | 0) | 0; + i64toi32_i32$0 = i64toi32_i32$HIGH_BITS; + $1226 = i64toi32_i32$1; + i64toi32_i32$1 = $5; + HEAP32[($5 + 264 | 0) >> 2] = $1226; + HEAP32[($5 + 268 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$2 = $5; + i64toi32_i32$0 = HEAP32[($5 + 264 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($5 + 268 | 0) >> 2] | 0; + $222$hi = i64toi32_i32$1; + i64toi32_i32$1 = 0; + $223$hi = i64toi32_i32$1; + i64toi32_i32$1 = $222$hi; + i64toi32_i32$1 = $223$hi; + i64toi32_i32$1 = $222$hi; + i64toi32_i32$1 = $223$hi; + i64toi32_i32$1 = $222$hi; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$0 = $223$hi; + i64toi32_i32$3 = 0; + if ((i64toi32_i32$1 | 0) < (i64toi32_i32$0 | 0)) { + $67 = 1 + } else { + if ((i64toi32_i32$1 | 0) <= (i64toi32_i32$0 | 0)) { + if (i64toi32_i32$2 >>> 0 > i64toi32_i32$3 >>> 0) { + $68 = 0 + } else { + $68 = 1 + } + $69 = $68; + } else { + $69 = 0 + } + $67 = $69; + } + label$16 : { + if ($67 & 1 | 0) { + break label$16 + } + __assert_fail(86116 | 0, 72732 | 0, 1719 | 0, 81906 | 0); + wasm2js_trap(); + } + i64toi32_i32$3 = $5; + i64toi32_i32$2 = HEAP32[($5 + 264 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($5 + 268 | 0) >> 2] | 0; + $233$hi = i64toi32_i32$1; + i64toi32_i32$1 = 0; + $234$hi = i64toi32_i32$1; + i64toi32_i32$1 = $233$hi; + i64toi32_i32$1 = $234$hi; + i64toi32_i32$1 = $233$hi; + i64toi32_i32$1 = $234$hi; + i64toi32_i32$1 = $233$hi; + i64toi32_i32$3 = i64toi32_i32$2; + i64toi32_i32$2 = $234$hi; + i64toi32_i32$0 = 0; + $241 = 0; + label$17 : { + if (!(((i64toi32_i32$3 | 0) == (i64toi32_i32$0 | 0) & (i64toi32_i32$1 | 0) == (i64toi32_i32$2 | 0) | 0) & 1 | 0)) { + break label$17 + } + btConvexHullInternal__Vertex__operator__28btConvexHullInternal__Vertex_20const__29_20const($5 + 232 | 0 | 0, HEAP32[((HEAP32[($5 + 340 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0, HEAP32[($5 + 460 | 0) >> 2] | 0 | 0); + i64toi32_i32$3 = btConvexHullInternal__Point32__dot_28btConvexHullInternal__Point64_20const__29_20const($5 + 232 | 0 | 0, $5 + 344 | 0 | 0) | 0; + i64toi32_i32$1 = i64toi32_i32$HIGH_BITS; + $254$hi = i64toi32_i32$1; + i64toi32_i32$1 = 0; + $255$hi = i64toi32_i32$1; + i64toi32_i32$1 = $254$hi; + i64toi32_i32$1 = $255$hi; + i64toi32_i32$1 = $254$hi; + i64toi32_i32$1 = $255$hi; + i64toi32_i32$1 = $254$hi; + i64toi32_i32$0 = i64toi32_i32$3; + i64toi32_i32$3 = $255$hi; + i64toi32_i32$2 = 0; + if ((i64toi32_i32$1 | 0) > (i64toi32_i32$3 | 0)) { + $70 = 1 + } else { + if ((i64toi32_i32$1 | 0) >= (i64toi32_i32$3 | 0)) { + if (i64toi32_i32$0 >>> 0 <= i64toi32_i32$2 >>> 0) { + $71 = 0 + } else { + $71 = 1 + } + $72 = $71; + } else { + $72 = 0 + } + $70 = $72; + } + $241 = $70; + } + label$18 : { + if (!($241 & 1 | 0)) { + break label$18 + } + $270 = 1; + label$19 : { + if (!((HEAP32[($5 + 276 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$19 + } + $271 = HEAP32[($5 + 276 | 0) >> 2] | 0; + $272 = HEAP32[($5 + 340 | 0) >> 2] | 0; + $276 = 0; + btConvexHullInternal__Point32__Point32_28int_2c_20int_2c_20int_29($5 + 216 | 0 | 0, $276 | 0, $276 | 0, -1 | 0) | 0; + $270 = (btConvexHullInternal__getOrientation_28btConvexHullInternal__Edge_20const__2c_20btConvexHullInternal__Edge_20const__2c_20btConvexHullInternal__Point32_20const__2c_20btConvexHullInternal__Point32_20const__29($271 | 0, $272 | 0, $5 + 408 | 0 | 0, $5 + 216 | 0 | 0) | 0 | 0) == (2 | 0); + } + label$20 : { + if (!($270 & 1 | 0)) { + break label$20 + } + HEAP32[($5 + 276 | 0) >> 2] = HEAP32[($5 + 340 | 0) >> 2] | 0; + } + } + HEAP32[($5 + 340 | 0) >> 2] = HEAP32[(HEAP32[($5 + 340 | 0) >> 2] | 0) >> 2] | 0; + if ((HEAP32[($5 + 340 | 0) >> 2] | 0 | 0) != (HEAP32[((HEAP32[($5 + 460 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) & 1 | 0) { + continue label$15 + } + break label$15; + }; + } + label$21 : { + label$22 : { + if ((HEAP32[($5 + 336 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$22 + } + if (!((HEAP32[($5 + 276 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$21 + } + } + $325 = 0; + btConvexHullInternal__findEdgeForCoplanarFaces_28btConvexHullInternal__Vertex__2c_20btConvexHullInternal__Vertex__2c_20btConvexHullInternal__Edge___2c_20btConvexHullInternal__Edge___2c_20btConvexHullInternal__Vertex__2c_20btConvexHullInternal__Vertex__29($6 | 0, HEAP32[($5 + 480 | 0) >> 2] | 0 | 0, HEAP32[($5 + 460 | 0) >> 2] | 0 | 0, $5 + 336 | 0 | 0, $5 + 276 | 0 | 0, $325 | 0, $325 | 0); + label$23 : { + if (!((HEAP32[($5 + 336 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$23 + } + HEAP32[($5 + 480 | 0) >> 2] = HEAP32[((HEAP32[($5 + 336 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + } + label$24 : { + if (!((HEAP32[($5 + 276 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$24 + } + HEAP32[($5 + 460 | 0) >> 2] = HEAP32[((HEAP32[($5 + 276 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + } + } + $346 = (HEAP32[($5 + 460 | 0) >> 2] | 0) + 88 | 0; + $347 = 8; + i64toi32_i32$2 = $346 + $347 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $1462 = i64toi32_i32$0; + i64toi32_i32$0 = ($5 + 424 | 0) + $347 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $1462; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$2 = $346; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $1466 = i64toi32_i32$1; + i64toi32_i32$1 = $5; + HEAP32[($5 + 424 | 0) >> 2] = $1466; + HEAP32[($5 + 428 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($5 + 432 | 0) >> 2] = (HEAP32[($5 + 432 | 0) >> 2] | 0) + 1 | 0; + break label$4; + } + $359 = (HEAP32[($5 + 460 | 0) >> 2] | 0) + 88 | 0; + $360 = 8; + i64toi32_i32$2 = $359 + $360 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $1491 = i64toi32_i32$0; + i64toi32_i32$0 = ($5 + 424 | 0) + $360 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $1491; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$2 = $359; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $1495 = i64toi32_i32$1; + i64toi32_i32$1 = $5; + HEAP32[($5 + 424 | 0) >> 2] = $1495; + HEAP32[($5 + 428 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($5 + 424 | 0) >> 2] = (HEAP32[($5 + 424 | 0) >> 2] | 0) + 1 | 0; + } + HEAP32[($5 + 212 | 0) >> 2] = HEAP32[($5 + 480 | 0) >> 2] | 0; + HEAP32[($5 + 208 | 0) >> 2] = HEAP32[($5 + 460 | 0) >> 2] | 0; + HEAP8[($5 + 207 | 0) >> 0] = 1; + label$25 : while (1) { + btConvexHullInternal__Vertex__operator__28btConvexHullInternal__Vertex_20const__29_20const($5 + 188 | 0 | 0, HEAP32[($5 + 460 | 0) >> 2] | 0 | 0, HEAP32[($5 + 480 | 0) >> 2] | 0 | 0); + btConvexHullInternal__Point32__operator__28btConvexHullInternal__Point32_20const__29_20const($5 + 172 | 0 | 0, $5 + 424 | 0 | 0, (HEAP32[($5 + 480 | 0) >> 2] | 0) + 88 | 0 | 0); + btConvexHullInternal__Point32__cross_28btConvexHullInternal__Point32_20const__29_20const($5 + 144 | 0 | 0, $5 + 172 | 0 | 0, $5 + 188 | 0 | 0); + btConvexHullInternal__Point32__cross_28btConvexHullInternal__Point64_20const__29_20const($5 + 120 | 0 | 0, $5 + 188 | 0 | 0, $5 + 144 | 0 | 0); + i64toi32_i32$0 = 0; + $408 = 0; + i64toi32_i32$1 = i64toi32_i32$0; + btConvexHullInternal__Rational64__Rational64_28long_20long_2c_20long_20long_29($5 + 96 | 0 | 0, $408 | 0, i64toi32_i32$0 | 0, $408 | 0, i64toi32_i32$0 | 0) | 0; + (wasm2js_i32$0 = $5, wasm2js_i32$1 = btConvexHullInternal__findMaxAngle_28bool_2c_20btConvexHullInternal__Vertex_20const__2c_20btConvexHullInternal__Point32_20const__2c_20btConvexHullInternal__Point64_20const__2c_20btConvexHullInternal__Point64_20const__2c_20btConvexHullInternal__Rational64__29($6 | 0, 0 & 1 | 0 | 0, HEAP32[($5 + 480 | 0) >> 2] | 0 | 0, $5 + 188 | 0 | 0, $5 + 144 | 0 | 0, $5 + 120 | 0 | 0, $5 + 96 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 92 | 0) >> 2] = wasm2js_i32$1; + i64toi32_i32$1 = 0; + $429 = 0; + i64toi32_i32$0 = i64toi32_i32$1; + btConvexHullInternal__Rational64__Rational64_28long_20long_2c_20long_20long_29($5 + 64 | 0 | 0, $429 | 0, i64toi32_i32$0 | 0, $429 | 0, i64toi32_i32$0 | 0) | 0; + (wasm2js_i32$0 = $5, wasm2js_i32$1 = btConvexHullInternal__findMaxAngle_28bool_2c_20btConvexHullInternal__Vertex_20const__2c_20btConvexHullInternal__Point32_20const__2c_20btConvexHullInternal__Point64_20const__2c_20btConvexHullInternal__Point64_20const__2c_20btConvexHullInternal__Rational64__29($6 | 0, 1 & 1 | 0 | 0, HEAP32[($5 + 460 | 0) >> 2] | 0 | 0, $5 + 188 | 0 | 0, $5 + 144 | 0 | 0, $5 + 120 | 0 | 0, $5 + 64 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 60 | 0) >> 2] = wasm2js_i32$1; + label$26 : { + if ((HEAP32[($5 + 92 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$26 + } + if ((HEAP32[($5 + 60 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$26 + } + (wasm2js_i32$0 = $5, wasm2js_i32$1 = btConvexHullInternal__newEdgePair_28btConvexHullInternal__Vertex__2c_20btConvexHullInternal__Vertex__29($6 | 0, HEAP32[($5 + 480 | 0) >> 2] | 0 | 0, HEAP32[($5 + 460 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 56 | 0) >> 2] = wasm2js_i32$1; + btConvexHullInternal__Edge__link_28btConvexHullInternal__Edge__29(HEAP32[($5 + 56 | 0) >> 2] | 0 | 0, HEAP32[($5 + 56 | 0) >> 2] | 0 | 0); + HEAP32[((HEAP32[($5 + 480 | 0) >> 2] | 0) + 8 | 0) >> 2] = HEAP32[($5 + 56 | 0) >> 2] | 0; + HEAP32[($5 + 56 | 0) >> 2] = HEAP32[((HEAP32[($5 + 56 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + btConvexHullInternal__Edge__link_28btConvexHullInternal__Edge__29(HEAP32[($5 + 56 | 0) >> 2] | 0 | 0, HEAP32[($5 + 56 | 0) >> 2] | 0 | 0); + HEAP32[((HEAP32[($5 + 460 | 0) >> 2] | 0) + 8 | 0) >> 2] = HEAP32[($5 + 56 | 0) >> 2] | 0; + break label$1; + } + label$27 : { + label$28 : { + if ((HEAP32[($5 + 92 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$28 + } + $482 = 1; + break label$27; + } + label$29 : { + label$30 : { + if ((HEAP32[($5 + 60 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$30 + } + $491 = -1; + break label$29; + } + $491 = btConvexHullInternal__Rational64__compare_28btConvexHullInternal__Rational64_20const__29_20const($5 + 96 | 0 | 0, $5 + 64 | 0 | 0) | 0; + } + $482 = $491; + } + HEAP32[($5 + 52 | 0) >> 2] = $482; + label$31 : { + label$32 : { + if ((HEAPU8[($5 + 207 | 0) >> 0] | 0) & 1 | 0) { + break label$32 + } + label$33 : { + if (!((HEAP32[($5 + 52 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0)) { + break label$33 + } + if ((btConvexHullInternal__Rational64__isNegativeInfinity_28_29_20const($5 + 64 | 0 | 0) | 0) & 1 | 0) { + break label$31 + } + break label$32; + } + if ((btConvexHullInternal__Rational64__isNegativeInfinity_28_29_20const($5 + 96 | 0 | 0) | 0) & 1 | 0) { + break label$31 + } + } + (wasm2js_i32$0 = $5, wasm2js_i32$1 = btConvexHullInternal__newEdgePair_28btConvexHullInternal__Vertex__2c_20btConvexHullInternal__Vertex__29($6 | 0, HEAP32[($5 + 480 | 0) >> 2] | 0 | 0, HEAP32[($5 + 460 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 48 | 0) >> 2] = wasm2js_i32$1; + label$34 : { + label$35 : { + if (!((HEAP32[($5 + 464 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$35 + } + HEAP32[((HEAP32[($5 + 464 | 0) >> 2] | 0) + 4 | 0) >> 2] = HEAP32[($5 + 48 | 0) >> 2] | 0; + break label$34; + } + HEAP32[($5 + 468 | 0) >> 2] = HEAP32[($5 + 48 | 0) >> 2] | 0; + } + HEAP32[(HEAP32[($5 + 48 | 0) >> 2] | 0) >> 2] = HEAP32[($5 + 464 | 0) >> 2] | 0; + HEAP32[($5 + 464 | 0) >> 2] = HEAP32[($5 + 48 | 0) >> 2] | 0; + HEAP32[($5 + 48 | 0) >> 2] = HEAP32[((HEAP32[($5 + 48 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + label$36 : { + label$37 : { + if (!((HEAP32[($5 + 444 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$37 + } + HEAP32[(HEAP32[($5 + 444 | 0) >> 2] | 0) >> 2] = HEAP32[($5 + 48 | 0) >> 2] | 0; + break label$36; + } + HEAP32[($5 + 448 | 0) >> 2] = HEAP32[($5 + 48 | 0) >> 2] | 0; + } + HEAP32[((HEAP32[($5 + 48 | 0) >> 2] | 0) + 4 | 0) >> 2] = HEAP32[($5 + 444 | 0) >> 2] | 0; + HEAP32[($5 + 444 | 0) >> 2] = HEAP32[($5 + 48 | 0) >> 2] | 0; + } + HEAP32[($5 + 44 | 0) >> 2] = HEAP32[($5 + 92 | 0) >> 2] | 0; + HEAP32[($5 + 40 | 0) >> 2] = HEAP32[($5 + 60 | 0) >> 2] | 0; + label$38 : { + if (HEAP32[($5 + 52 | 0) >> 2] | 0) { + break label$38 + } + $565 = 0; + btConvexHullInternal__findEdgeForCoplanarFaces_28btConvexHullInternal__Vertex__2c_20btConvexHullInternal__Vertex__2c_20btConvexHullInternal__Edge___2c_20btConvexHullInternal__Edge___2c_20btConvexHullInternal__Vertex__2c_20btConvexHullInternal__Vertex__29($6 | 0, HEAP32[($5 + 480 | 0) >> 2] | 0 | 0, HEAP32[($5 + 460 | 0) >> 2] | 0 | 0, $5 + 44 | 0 | 0, $5 + 40 | 0 | 0, $565 | 0, $565 | 0); + } + label$39 : { + if (!((HEAP32[($5 + 52 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0)) { + break label$39 + } + if (!((HEAP32[($5 + 40 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$39 + } + label$40 : { + if (!((HEAP32[($5 + 456 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$40 + } + HEAP32[($5 + 36 | 0) >> 2] = HEAP32[(HEAP32[($5 + 456 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($5 + 32 | 0) >> 2] = 0; + label$41 : { + label$42 : while (1) { + if (!((HEAP32[($5 + 36 | 0) >> 2] | 0 | 0) != (HEAP32[($5 + 60 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$41 + } + HEAP32[($5 + 32 | 0) >> 2] = HEAP32[(HEAP32[($5 + 36 | 0) >> 2] | 0) >> 2] | 0; + btConvexHullInternal__removeEdgePair_28btConvexHullInternal__Edge__29($6 | 0, HEAP32[($5 + 36 | 0) >> 2] | 0 | 0); + HEAP32[($5 + 36 | 0) >> 2] = HEAP32[($5 + 32 | 0) >> 2] | 0; + continue label$42; + }; + } + } + label$43 : { + label$44 : { + if (!((HEAP32[($5 + 444 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$44 + } + label$45 : { + label$46 : { + if (!((HEAP32[($5 + 456 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$46 + } + btConvexHullInternal__Edge__link_28btConvexHullInternal__Edge__29(HEAP32[($5 + 456 | 0) >> 2] | 0 | 0, HEAP32[($5 + 448 | 0) >> 2] | 0 | 0); + break label$45; + } + btConvexHullInternal__Edge__link_28btConvexHullInternal__Edge__29(HEAP32[((HEAP32[($5 + 60 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0, HEAP32[($5 + 448 | 0) >> 2] | 0 | 0); + HEAP32[($5 + 452 | 0) >> 2] = HEAP32[($5 + 448 | 0) >> 2] | 0; + } + btConvexHullInternal__Edge__link_28btConvexHullInternal__Edge__29(HEAP32[($5 + 444 | 0) >> 2] | 0 | 0, HEAP32[($5 + 60 | 0) >> 2] | 0 | 0); + HEAP32[($5 + 448 | 0) >> 2] = 0; + HEAP32[($5 + 444 | 0) >> 2] = 0; + break label$43; + } + label$47 : { + if ((HEAP32[($5 + 456 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$47 + } + HEAP32[($5 + 452 | 0) >> 2] = HEAP32[($5 + 60 | 0) >> 2] | 0; + } + } + $635 = (HEAP32[($5 + 460 | 0) >> 2] | 0) + 88 | 0; + $636 = 8; + i64toi32_i32$2 = $635 + $636 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $2055 = i64toi32_i32$0; + i64toi32_i32$0 = ($5 + 424 | 0) + $636 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $2055; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$2 = $635; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $2059 = i64toi32_i32$1; + i64toi32_i32$1 = $5; + HEAP32[($5 + 424 | 0) >> 2] = $2059; + HEAP32[($5 + 428 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($5 + 460 | 0) >> 2] = HEAP32[((HEAP32[($5 + 40 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + HEAP32[($5 + 456 | 0) >> 2] = HEAP32[((HEAP32[($5 + 40 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + } + label$48 : { + if (!((HEAP32[($5 + 52 | 0) >> 2] | 0 | 0) <= (0 | 0) & 1 | 0)) { + break label$48 + } + if (!((HEAP32[($5 + 44 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$48 + } + label$49 : { + if (!((HEAP32[($5 + 476 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$49 + } + HEAP32[($5 + 28 | 0) >> 2] = HEAP32[((HEAP32[($5 + 476 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + HEAP32[($5 + 24 | 0) >> 2] = 0; + label$50 : { + label$51 : while (1) { + if (!((HEAP32[($5 + 28 | 0) >> 2] | 0 | 0) != (HEAP32[($5 + 92 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$50 + } + HEAP32[($5 + 24 | 0) >> 2] = HEAP32[((HEAP32[($5 + 28 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + btConvexHullInternal__removeEdgePair_28btConvexHullInternal__Edge__29($6 | 0, HEAP32[($5 + 28 | 0) >> 2] | 0 | 0); + HEAP32[($5 + 28 | 0) >> 2] = HEAP32[($5 + 24 | 0) >> 2] | 0; + continue label$51; + }; + } + } + label$52 : { + label$53 : { + if (!((HEAP32[($5 + 464 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$53 + } + label$54 : { + label$55 : { + if (!((HEAP32[($5 + 476 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$55 + } + btConvexHullInternal__Edge__link_28btConvexHullInternal__Edge__29(HEAP32[($5 + 468 | 0) >> 2] | 0 | 0, HEAP32[($5 + 476 | 0) >> 2] | 0 | 0); + break label$54; + } + btConvexHullInternal__Edge__link_28btConvexHullInternal__Edge__29(HEAP32[($5 + 468 | 0) >> 2] | 0 | 0, HEAP32[(HEAP32[($5 + 92 | 0) >> 2] | 0) >> 2] | 0 | 0); + HEAP32[($5 + 472 | 0) >> 2] = HEAP32[($5 + 468 | 0) >> 2] | 0; + } + btConvexHullInternal__Edge__link_28btConvexHullInternal__Edge__29(HEAP32[($5 + 92 | 0) >> 2] | 0 | 0, HEAP32[($5 + 464 | 0) >> 2] | 0 | 0); + HEAP32[($5 + 468 | 0) >> 2] = 0; + HEAP32[($5 + 464 | 0) >> 2] = 0; + break label$52; + } + label$56 : { + if ((HEAP32[($5 + 476 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$56 + } + HEAP32[($5 + 472 | 0) >> 2] = HEAP32[($5 + 92 | 0) >> 2] | 0; + } + } + $716 = (HEAP32[($5 + 480 | 0) >> 2] | 0) + 88 | 0; + $717 = 8; + i64toi32_i32$2 = $716 + $717 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $2228 = i64toi32_i32$0; + i64toi32_i32$0 = ($5 + 424 | 0) + $717 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $2228; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$2 = $716; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $2232 = i64toi32_i32$1; + i64toi32_i32$1 = $5; + HEAP32[($5 + 424 | 0) >> 2] = $2232; + HEAP32[($5 + 428 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($5 + 480 | 0) >> 2] = HEAP32[((HEAP32[($5 + 44 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + HEAP32[($5 + 476 | 0) >> 2] = HEAP32[((HEAP32[($5 + 44 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + } + label$57 : { + if (!((HEAP32[($5 + 480 | 0) >> 2] | 0 | 0) == (HEAP32[($5 + 212 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$57 + } + if (!((HEAP32[($5 + 460 | 0) >> 2] | 0 | 0) == (HEAP32[($5 + 208 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$57 + } + label$58 : { + label$59 : { + if (!((HEAP32[($5 + 476 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$59 + } + btConvexHullInternal__Edge__link_28btConvexHullInternal__Edge__29(HEAP32[($5 + 468 | 0) >> 2] | 0 | 0, HEAP32[($5 + 464 | 0) >> 2] | 0 | 0); + HEAP32[((HEAP32[($5 + 480 | 0) >> 2] | 0) + 8 | 0) >> 2] = HEAP32[($5 + 464 | 0) >> 2] | 0; + break label$58; + } + HEAP32[($5 + 20 | 0) >> 2] = HEAP32[((HEAP32[($5 + 476 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + HEAP32[($5 + 16 | 0) >> 2] = 0; + label$60 : { + label$61 : while (1) { + if (!((HEAP32[($5 + 20 | 0) >> 2] | 0 | 0) != (HEAP32[($5 + 472 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$60 + } + HEAP32[($5 + 16 | 0) >> 2] = HEAP32[((HEAP32[($5 + 20 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + btConvexHullInternal__removeEdgePair_28btConvexHullInternal__Edge__29($6 | 0, HEAP32[($5 + 20 | 0) >> 2] | 0 | 0); + HEAP32[($5 + 20 | 0) >> 2] = HEAP32[($5 + 16 | 0) >> 2] | 0; + continue label$61; + }; + } + label$62 : { + if (!((HEAP32[($5 + 464 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$62 + } + btConvexHullInternal__Edge__link_28btConvexHullInternal__Edge__29(HEAP32[($5 + 468 | 0) >> 2] | 0 | 0, HEAP32[($5 + 476 | 0) >> 2] | 0 | 0); + btConvexHullInternal__Edge__link_28btConvexHullInternal__Edge__29(HEAP32[($5 + 472 | 0) >> 2] | 0 | 0, HEAP32[($5 + 464 | 0) >> 2] | 0 | 0); + } + } + label$63 : { + label$64 : { + if (!((HEAP32[($5 + 456 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$64 + } + btConvexHullInternal__Edge__link_28btConvexHullInternal__Edge__29(HEAP32[($5 + 444 | 0) >> 2] | 0 | 0, HEAP32[($5 + 448 | 0) >> 2] | 0 | 0); + HEAP32[((HEAP32[($5 + 460 | 0) >> 2] | 0) + 8 | 0) >> 2] = HEAP32[($5 + 444 | 0) >> 2] | 0; + break label$63; + } + HEAP32[($5 + 12 | 0) >> 2] = HEAP32[(HEAP32[($5 + 456 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($5 + 8 | 0) >> 2] = 0; + label$65 : { + label$66 : while (1) { + if (!((HEAP32[($5 + 12 | 0) >> 2] | 0 | 0) != (HEAP32[($5 + 452 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$65 + } + HEAP32[($5 + 8 | 0) >> 2] = HEAP32[(HEAP32[($5 + 12 | 0) >> 2] | 0) >> 2] | 0; + btConvexHullInternal__removeEdgePair_28btConvexHullInternal__Edge__29($6 | 0, HEAP32[($5 + 12 | 0) >> 2] | 0 | 0); + HEAP32[($5 + 12 | 0) >> 2] = HEAP32[($5 + 8 | 0) >> 2] | 0; + continue label$66; + }; + } + label$67 : { + if (!((HEAP32[($5 + 444 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$67 + } + btConvexHullInternal__Edge__link_28btConvexHullInternal__Edge__29(HEAP32[($5 + 456 | 0) >> 2] | 0 | 0, HEAP32[($5 + 448 | 0) >> 2] | 0 | 0); + btConvexHullInternal__Edge__link_28btConvexHullInternal__Edge__29(HEAP32[($5 + 444 | 0) >> 2] | 0 | 0, HEAP32[($5 + 452 | 0) >> 2] | 0 | 0); + } + } + break label$1; + } + HEAP8[($5 + 207 | 0) >> 0] = 0; + continue label$25; + }; + } + __stack_pointer = $5 + 496 | 0; + return; + } + + function btAlignedObjectArray_btConvexHullInternal__Vertex____size_28_29_20const($0) { + $0 = $0 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + return HEAP32[((HEAP32[($3 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0; + } + + function btConvexHullInternal__Point32__Point32_28_29($0) { + $0 = $0 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + return HEAP32[($3 + 12 | 0) >> 2] | 0 | 0; + } + + function btConvexHullInternal__Vertex__operator__28btConvexHullInternal__Vertex_20const__29_20const($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $5 = 0; + $5 = __stack_pointer - 16 | 0; + __stack_pointer = $5; + HEAP32[($5 + 12 | 0) >> 2] = $1; + HEAP32[($5 + 8 | 0) >> 2] = $2; + btConvexHullInternal__Point32__operator__28btConvexHullInternal__Point32_20const__29_20const($0 | 0, (HEAP32[($5 + 12 | 0) >> 2] | 0) + 88 | 0 | 0, (HEAP32[($5 + 8 | 0) >> 2] | 0) + 88 | 0 | 0); + __stack_pointer = $5 + 16 | 0; + return; + } + + function btConvexHullInternal__Point32__Point32_28int_2c_20int_2c_20int_29($0, $1, $2, $3) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + var $6 = 0, $7 = 0; + $6 = __stack_pointer - 16 | 0; + HEAP32[($6 + 12 | 0) >> 2] = $0; + HEAP32[($6 + 8 | 0) >> 2] = $1; + HEAP32[($6 + 4 | 0) >> 2] = $2; + HEAP32[$6 >> 2] = $3; + $7 = HEAP32[($6 + 12 | 0) >> 2] | 0; + HEAP32[$7 >> 2] = HEAP32[($6 + 8 | 0) >> 2] | 0; + HEAP32[($7 + 4 | 0) >> 2] = HEAP32[($6 + 4 | 0) >> 2] | 0; + HEAP32[($7 + 8 | 0) >> 2] = HEAP32[$6 >> 2] | 0; + HEAP32[($7 + 12 | 0) >> 2] = -1; + return $7 | 0; + } + + function btConvexHullInternal__Point32__cross_28btConvexHullInternal__Point32_20const__29_20const($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $5 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, $6 = 0, $17$hi = 0, $28$hi = 0, $39$hi = 0, $17 = 0, $28 = 0, $128 = 0; + $5 = __stack_pointer - 16 | 0; + __stack_pointer = $5; + HEAP32[($5 + 12 | 0) >> 2] = $1; + HEAP32[($5 + 8 | 0) >> 2] = $2; + $6 = HEAP32[($5 + 12 | 0) >> 2] | 0; + i64toi32_i32$1 = Math_imul(HEAP32[($6 + 4 | 0) >> 2] | 0, HEAP32[((HEAP32[($5 + 8 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) - Math_imul(HEAP32[($6 + 8 | 0) >> 2] | 0, HEAP32[((HEAP32[($5 + 8 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) | 0; + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + $17 = i64toi32_i32$1; + $17$hi = i64toi32_i32$0; + i64toi32_i32$1 = Math_imul(HEAP32[($6 + 8 | 0) >> 2] | 0, HEAP32[(HEAP32[($5 + 8 | 0) >> 2] | 0) >> 2] | 0) - Math_imul(HEAP32[$6 >> 2] | 0, HEAP32[((HEAP32[($5 + 8 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) | 0; + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + $28 = i64toi32_i32$1; + $28$hi = i64toi32_i32$0; + i64toi32_i32$1 = Math_imul(HEAP32[$6 >> 2] | 0, HEAP32[((HEAP32[($5 + 8 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) - Math_imul(HEAP32[($6 + 4 | 0) >> 2] | 0, HEAP32[(HEAP32[($5 + 8 | 0) >> 2] | 0) >> 2] | 0) | 0; + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + $39$hi = i64toi32_i32$0; + i64toi32_i32$0 = $17$hi; + i64toi32_i32$0 = $28$hi; + i64toi32_i32$0 = $39$hi; + $128 = i64toi32_i32$1; + i64toi32_i32$0 = $17$hi; + i64toi32_i32$1 = $28$hi; + btConvexHullInternal__Point64__Point64_28long_20long_2c_20long_20long_2c_20long_20long_29($0 | 0, $17 | 0, i64toi32_i32$0 | 0, $28 | 0, i64toi32_i32$1 | 0, $128 | 0, $39$hi | 0) | 0; + __stack_pointer = $5 + 16 | 0; + return; + } + + function btConvexHullInternal__Point32__cross_28btConvexHullInternal__Point64_20const__29_20const($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var i64toi32_i32$0 = 0, i64toi32_i32$5 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, i64toi32_i32$4 = 0, $5 = 0, i64toi32_i32$3 = 0, $6 = 0, i64toi32_i32$6 = 0, $9$hi = 0, $11$hi = 0, $12$hi = 0, $15$hi = 0, $17$hi = 0, $18$hi = 0, $19$hi = 0, $22$hi = 0, $24$hi = 0, $25$hi = 0, $28$hi = 0, $30$hi = 0, $31$hi = 0, $32$hi = 0, $35$hi = 0, $37$hi = 0, $38$hi = 0, $41$hi = 0, $43$hi = 0, $44$hi = 0, $45$hi = 0, $9 = 0, $69 = 0, $12 = 0, $15 = 0, $81 = 0, $84 = 0, $19 = 0, $22 = 0, $96 = 0, $25 = 0, $28 = 0, $108 = 0, $111 = 0, $32 = 0, $35 = 0, $123 = 0, $38 = 0, $41 = 0, $135 = 0, $138 = 0; + $5 = __stack_pointer - 16 | 0; + __stack_pointer = $5; + HEAP32[($5 + 12 | 0) >> 2] = $1; + HEAP32[($5 + 8 | 0) >> 2] = $2; + $6 = HEAP32[($5 + 12 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($6 + 4 | 0) >> 2] | 0; + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + $9 = i64toi32_i32$1; + $9$hi = i64toi32_i32$0; + i64toi32_i32$2 = HEAP32[($5 + 8 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 16 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 20 | 0) >> 2] | 0; + $11$hi = i64toi32_i32$1; + i64toi32_i32$1 = $9$hi; + i64toi32_i32$1 = $11$hi; + $69 = i64toi32_i32$0; + i64toi32_i32$1 = $9$hi; + i64toi32_i32$0 = $11$hi; + i64toi32_i32$0 = __wasm_i64_mul($9 | 0, i64toi32_i32$1 | 0, $69 | 0, i64toi32_i32$0 | 0) | 0; + i64toi32_i32$1 = i64toi32_i32$HIGH_BITS; + $12 = i64toi32_i32$0; + $12$hi = i64toi32_i32$1; + i64toi32_i32$0 = HEAP32[($6 + 8 | 0) >> 2] | 0; + i64toi32_i32$1 = i64toi32_i32$0 >> 31 | 0; + $15 = i64toi32_i32$0; + $15$hi = i64toi32_i32$1; + i64toi32_i32$2 = HEAP32[($5 + 8 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 8 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 12 | 0) >> 2] | 0; + $17$hi = i64toi32_i32$0; + i64toi32_i32$0 = $15$hi; + i64toi32_i32$0 = $17$hi; + $81 = i64toi32_i32$1; + i64toi32_i32$0 = $15$hi; + i64toi32_i32$1 = $17$hi; + i64toi32_i32$1 = __wasm_i64_mul($15 | 0, i64toi32_i32$0 | 0, $81 | 0, i64toi32_i32$1 | 0) | 0; + i64toi32_i32$0 = i64toi32_i32$HIGH_BITS; + $18$hi = i64toi32_i32$0; + i64toi32_i32$0 = $12$hi; + i64toi32_i32$0 = $18$hi; + $84 = i64toi32_i32$1; + i64toi32_i32$0 = $12$hi; + i64toi32_i32$2 = $12; + i64toi32_i32$1 = $18$hi; + i64toi32_i32$3 = $84; + i64toi32_i32$4 = i64toi32_i32$2 - i64toi32_i32$3 | 0; + i64toi32_i32$6 = i64toi32_i32$2 >>> 0 < i64toi32_i32$3 >>> 0; + i64toi32_i32$5 = i64toi32_i32$6 + i64toi32_i32$1 | 0; + i64toi32_i32$5 = i64toi32_i32$0 - i64toi32_i32$5 | 0; + $19 = i64toi32_i32$4; + $19$hi = i64toi32_i32$5; + i64toi32_i32$2 = HEAP32[($6 + 8 | 0) >> 2] | 0; + i64toi32_i32$5 = i64toi32_i32$2 >> 31 | 0; + $22 = i64toi32_i32$2; + $22$hi = i64toi32_i32$5; + i64toi32_i32$0 = HEAP32[($5 + 8 | 0) >> 2] | 0; + i64toi32_i32$5 = HEAP32[i64toi32_i32$0 >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] | 0; + $24$hi = i64toi32_i32$2; + i64toi32_i32$2 = $22$hi; + i64toi32_i32$2 = $24$hi; + $96 = i64toi32_i32$5; + i64toi32_i32$2 = $22$hi; + i64toi32_i32$5 = $24$hi; + i64toi32_i32$5 = __wasm_i64_mul($22 | 0, i64toi32_i32$2 | 0, $96 | 0, i64toi32_i32$5 | 0) | 0; + i64toi32_i32$2 = i64toi32_i32$HIGH_BITS; + $25 = i64toi32_i32$5; + $25$hi = i64toi32_i32$2; + i64toi32_i32$5 = HEAP32[$6 >> 2] | 0; + i64toi32_i32$2 = i64toi32_i32$5 >> 31 | 0; + $28 = i64toi32_i32$5; + $28$hi = i64toi32_i32$2; + i64toi32_i32$0 = HEAP32[($5 + 8 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$0 + 16 | 0) >> 2] | 0; + i64toi32_i32$5 = HEAP32[(i64toi32_i32$0 + 20 | 0) >> 2] | 0; + $30$hi = i64toi32_i32$5; + i64toi32_i32$5 = $28$hi; + i64toi32_i32$5 = $30$hi; + $108 = i64toi32_i32$2; + i64toi32_i32$5 = $28$hi; + i64toi32_i32$2 = $30$hi; + i64toi32_i32$2 = __wasm_i64_mul($28 | 0, i64toi32_i32$5 | 0, $108 | 0, i64toi32_i32$2 | 0) | 0; + i64toi32_i32$5 = i64toi32_i32$HIGH_BITS; + $31$hi = i64toi32_i32$5; + i64toi32_i32$5 = $25$hi; + i64toi32_i32$5 = $31$hi; + $111 = i64toi32_i32$2; + i64toi32_i32$5 = $25$hi; + i64toi32_i32$0 = $25; + i64toi32_i32$2 = $31$hi; + i64toi32_i32$3 = $111; + i64toi32_i32$1 = i64toi32_i32$0 - i64toi32_i32$3 | 0; + i64toi32_i32$6 = i64toi32_i32$0 >>> 0 < i64toi32_i32$3 >>> 0; + i64toi32_i32$4 = i64toi32_i32$6 + i64toi32_i32$2 | 0; + i64toi32_i32$4 = i64toi32_i32$5 - i64toi32_i32$4 | 0; + $32 = i64toi32_i32$1; + $32$hi = i64toi32_i32$4; + i64toi32_i32$0 = HEAP32[$6 >> 2] | 0; + i64toi32_i32$4 = i64toi32_i32$0 >> 31 | 0; + $35 = i64toi32_i32$0; + $35$hi = i64toi32_i32$4; + i64toi32_i32$5 = HEAP32[($5 + 8 | 0) >> 2] | 0; + i64toi32_i32$4 = HEAP32[(i64toi32_i32$5 + 8 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$5 + 12 | 0) >> 2] | 0; + $37$hi = i64toi32_i32$0; + i64toi32_i32$0 = $35$hi; + i64toi32_i32$0 = $37$hi; + $123 = i64toi32_i32$4; + i64toi32_i32$0 = $35$hi; + i64toi32_i32$4 = $37$hi; + i64toi32_i32$4 = __wasm_i64_mul($35 | 0, i64toi32_i32$0 | 0, $123 | 0, i64toi32_i32$4 | 0) | 0; + i64toi32_i32$0 = i64toi32_i32$HIGH_BITS; + $38 = i64toi32_i32$4; + $38$hi = i64toi32_i32$0; + i64toi32_i32$4 = HEAP32[($6 + 4 | 0) >> 2] | 0; + i64toi32_i32$0 = i64toi32_i32$4 >> 31 | 0; + $41 = i64toi32_i32$4; + $41$hi = i64toi32_i32$0; + i64toi32_i32$5 = HEAP32[($5 + 8 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$5 >> 2] | 0; + i64toi32_i32$4 = HEAP32[(i64toi32_i32$5 + 4 | 0) >> 2] | 0; + $43$hi = i64toi32_i32$4; + i64toi32_i32$4 = $41$hi; + i64toi32_i32$4 = $43$hi; + $135 = i64toi32_i32$0; + i64toi32_i32$4 = $41$hi; + i64toi32_i32$0 = $43$hi; + i64toi32_i32$0 = __wasm_i64_mul($41 | 0, i64toi32_i32$4 | 0, $135 | 0, i64toi32_i32$0 | 0) | 0; + i64toi32_i32$4 = i64toi32_i32$HIGH_BITS; + $44$hi = i64toi32_i32$4; + i64toi32_i32$4 = $38$hi; + i64toi32_i32$4 = $44$hi; + $138 = i64toi32_i32$0; + i64toi32_i32$4 = $38$hi; + i64toi32_i32$5 = $38; + i64toi32_i32$0 = $44$hi; + i64toi32_i32$3 = $138; + i64toi32_i32$2 = i64toi32_i32$5 - i64toi32_i32$3 | 0; + i64toi32_i32$6 = i64toi32_i32$5 >>> 0 < i64toi32_i32$3 >>> 0; + i64toi32_i32$1 = i64toi32_i32$6 + i64toi32_i32$0 | 0; + i64toi32_i32$1 = i64toi32_i32$4 - i64toi32_i32$1 | 0; + $45$hi = i64toi32_i32$1; + i64toi32_i32$1 = $19$hi; + i64toi32_i32$1 = $32$hi; + i64toi32_i32$1 = $45$hi; + i64toi32_i32$1 = $19$hi; + i64toi32_i32$5 = $32$hi; + i64toi32_i32$4 = $45$hi; + btConvexHullInternal__Point64__Point64_28long_20long_2c_20long_20long_2c_20long_20long_29($0 | 0, $19 | 0, i64toi32_i32$1 | 0, $32 | 0, i64toi32_i32$5 | 0, i64toi32_i32$2 | 0, i64toi32_i32$4 | 0) | 0; + __stack_pointer = $5 + 16 | 0; + return; + } + + function btConvexHullInternal__Point64__isZero_28_29($0) { + $0 = $0 | 0; + var i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, i64toi32_i32$0 = 0, i64toi32_i32$3 = 0, $4 = 0, $5$hi = 0, $6$hi = 0, $13 = 0, $14$hi = 0, $15$hi = 0, $22$hi = 0, $23$hi = 0, $3 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + i64toi32_i32$2 = $4; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $5$hi = i64toi32_i32$1; + i64toi32_i32$1 = 0; + $6$hi = i64toi32_i32$1; + i64toi32_i32$1 = $5$hi; + i64toi32_i32$1 = $6$hi; + i64toi32_i32$1 = $5$hi; + i64toi32_i32$1 = $6$hi; + i64toi32_i32$1 = $5$hi; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$0 = $6$hi; + i64toi32_i32$3 = 0; + $13 = 0; + label$1 : { + if (!(((i64toi32_i32$2 | 0) == (i64toi32_i32$3 | 0) & (i64toi32_i32$1 | 0) == (i64toi32_i32$0 | 0) | 0) & 1 | 0)) { + break label$1 + } + i64toi32_i32$3 = $4; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$3 + 8 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$3 + 12 | 0) >> 2] | 0; + $14$hi = i64toi32_i32$1; + i64toi32_i32$1 = 0; + $15$hi = i64toi32_i32$1; + i64toi32_i32$1 = $14$hi; + i64toi32_i32$1 = $15$hi; + i64toi32_i32$1 = $14$hi; + i64toi32_i32$1 = $15$hi; + i64toi32_i32$1 = $14$hi; + i64toi32_i32$3 = i64toi32_i32$2; + i64toi32_i32$2 = $15$hi; + i64toi32_i32$0 = 0; + $13 = 0; + if (!(((i64toi32_i32$3 | 0) == (i64toi32_i32$0 | 0) & (i64toi32_i32$1 | 0) == (i64toi32_i32$2 | 0) | 0) & 1 | 0)) { + break label$1 + } + i64toi32_i32$0 = $4; + i64toi32_i32$3 = HEAP32[(i64toi32_i32$0 + 16 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$0 + 20 | 0) >> 2] | 0; + $22$hi = i64toi32_i32$1; + i64toi32_i32$1 = 0; + $23$hi = i64toi32_i32$1; + i64toi32_i32$1 = $22$hi; + i64toi32_i32$1 = $23$hi; + i64toi32_i32$1 = $22$hi; + i64toi32_i32$1 = $23$hi; + i64toi32_i32$1 = $22$hi; + i64toi32_i32$0 = i64toi32_i32$3; + i64toi32_i32$3 = $23$hi; + i64toi32_i32$2 = 0; + $13 = (i64toi32_i32$0 | 0) == (i64toi32_i32$2 | 0) & (i64toi32_i32$1 | 0) == (i64toi32_i32$3 | 0) | 0; + } + return $13 & 1 | 0 | 0; + } + + function btConvexHullInternal__Point32__dot_28btConvexHullInternal__Point64_20const__29_20const($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, i64toi32_i32$5 = 0, $4 = 0, i64toi32_i32$4 = 0, i64toi32_i32$3 = 0, $5 = 0, $8$hi = 0, $10$hi = 0, $11$hi = 0, $14$hi = 0, $16$hi = 0, $17$hi = 0, $18$hi = 0, $21$hi = 0, $23$hi = 0, $24$hi = 0, $8 = 0, $46 = 0, $11 = 0, $14 = 0, $58 = 0, $61 = 0, $21 = 0, $73 = 0, $76 = 0; + $4 = __stack_pointer - 16 | 0; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[$5 >> 2] | 0; + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + $8 = i64toi32_i32$1; + $8$hi = i64toi32_i32$0; + i64toi32_i32$2 = HEAP32[($4 + 8 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $10$hi = i64toi32_i32$1; + i64toi32_i32$1 = $8$hi; + i64toi32_i32$1 = $10$hi; + $46 = i64toi32_i32$0; + i64toi32_i32$1 = $8$hi; + i64toi32_i32$0 = $10$hi; + i64toi32_i32$0 = __wasm_i64_mul($8 | 0, i64toi32_i32$1 | 0, $46 | 0, i64toi32_i32$0 | 0) | 0; + i64toi32_i32$1 = i64toi32_i32$HIGH_BITS; + $11 = i64toi32_i32$0; + $11$hi = i64toi32_i32$1; + i64toi32_i32$0 = HEAP32[($5 + 4 | 0) >> 2] | 0; + i64toi32_i32$1 = i64toi32_i32$0 >> 31 | 0; + $14 = i64toi32_i32$0; + $14$hi = i64toi32_i32$1; + i64toi32_i32$2 = HEAP32[($4 + 8 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 8 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 12 | 0) >> 2] | 0; + $16$hi = i64toi32_i32$0; + i64toi32_i32$0 = $14$hi; + i64toi32_i32$0 = $16$hi; + $58 = i64toi32_i32$1; + i64toi32_i32$0 = $14$hi; + i64toi32_i32$1 = $16$hi; + i64toi32_i32$1 = __wasm_i64_mul($14 | 0, i64toi32_i32$0 | 0, $58 | 0, i64toi32_i32$1 | 0) | 0; + i64toi32_i32$0 = i64toi32_i32$HIGH_BITS; + $17$hi = i64toi32_i32$0; + i64toi32_i32$0 = $11$hi; + i64toi32_i32$0 = $17$hi; + $61 = i64toi32_i32$1; + i64toi32_i32$0 = $11$hi; + i64toi32_i32$2 = $11; + i64toi32_i32$1 = $17$hi; + i64toi32_i32$3 = $61; + i64toi32_i32$4 = i64toi32_i32$2 + i64toi32_i32$3 | 0; + i64toi32_i32$5 = i64toi32_i32$0 + i64toi32_i32$1 | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + $18$hi = i64toi32_i32$5; + i64toi32_i32$2 = HEAP32[($5 + 8 | 0) >> 2] | 0; + i64toi32_i32$5 = i64toi32_i32$2 >> 31 | 0; + $21 = i64toi32_i32$2; + $21$hi = i64toi32_i32$5; + i64toi32_i32$0 = HEAP32[($4 + 8 | 0) >> 2] | 0; + i64toi32_i32$5 = HEAP32[(i64toi32_i32$0 + 16 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$0 + 20 | 0) >> 2] | 0; + $23$hi = i64toi32_i32$2; + i64toi32_i32$2 = $21$hi; + i64toi32_i32$2 = $23$hi; + $73 = i64toi32_i32$5; + i64toi32_i32$2 = $21$hi; + i64toi32_i32$5 = $23$hi; + i64toi32_i32$5 = __wasm_i64_mul($21 | 0, i64toi32_i32$2 | 0, $73 | 0, i64toi32_i32$5 | 0) | 0; + i64toi32_i32$2 = i64toi32_i32$HIGH_BITS; + $24$hi = i64toi32_i32$2; + i64toi32_i32$2 = $18$hi; + i64toi32_i32$2 = $24$hi; + $76 = i64toi32_i32$5; + i64toi32_i32$2 = $18$hi; + i64toi32_i32$0 = i64toi32_i32$4; + i64toi32_i32$5 = $24$hi; + i64toi32_i32$3 = $76; + i64toi32_i32$1 = i64toi32_i32$0 + i64toi32_i32$3 | 0; + i64toi32_i32$4 = i64toi32_i32$2 + i64toi32_i32$5 | 0; + if (i64toi32_i32$1 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$4 = i64toi32_i32$4 + 1 | 0 + } + i64toi32_i32$0 = i64toi32_i32$1; + i64toi32_i32$HIGH_BITS = i64toi32_i32$4; + return i64toi32_i32$0 | 0; + } + + function btConvexHullInternal__getOrientation_28btConvexHullInternal__Edge_20const__2c_20btConvexHullInternal__Edge_20const__2c_20btConvexHullInternal__Point32_20const__2c_20btConvexHullInternal__Point32_20const__29($0, $1, $2, $3) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + var $6 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, i64toi32_i32$3 = 0, $85$hi = 0, $86$hi = 0, $96$hi = 0, $97$hi = 0, $15 = 0, $16 = 0, $17 = 0, $277 = 0, $117 = 0; + $6 = __stack_pointer - 112 | 0; + __stack_pointer = $6; + HEAP32[($6 + 104 | 0) >> 2] = $0; + HEAP32[($6 + 100 | 0) >> 2] = $1; + HEAP32[($6 + 96 | 0) >> 2] = $2; + HEAP32[($6 + 92 | 0) >> 2] = $3; + label$1 : { + if ((HEAP32[((HEAP32[((HEAP32[($6 + 104 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) == (HEAP32[((HEAP32[((HEAP32[($6 + 100 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) & 1 | 0) { + break label$1 + } + __assert_fail(68463 | 0, 72732 | 0, 1400 | 0, 76667 | 0); + wasm2js_trap(); + } + label$2 : { + label$3 : { + if (!((HEAP32[(HEAP32[($6 + 104 | 0) >> 2] | 0) >> 2] | 0 | 0) == (HEAP32[($6 + 100 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$3 + } + label$4 : { + if (!((HEAP32[((HEAP32[($6 + 104 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) == (HEAP32[($6 + 100 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$4 + } + btConvexHullInternal__Point32__cross_28btConvexHullInternal__Point32_20const__29_20const($6 + 64 | 0 | 0, HEAP32[($6 + 92 | 0) >> 2] | 0 | 0, HEAP32[($6 + 96 | 0) >> 2] | 0 | 0); + btConvexHullInternal__Vertex__operator__28btConvexHullInternal__Vertex_20const__29_20const($6 + 24 | 0 | 0, HEAP32[((HEAP32[($6 + 104 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[((HEAP32[($6 + 100 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0); + btConvexHullInternal__Vertex__operator__28btConvexHullInternal__Vertex_20const__29_20const($6 + 8 | 0 | 0, HEAP32[((HEAP32[($6 + 100 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[((HEAP32[($6 + 100 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0); + btConvexHullInternal__Point32__cross_28btConvexHullInternal__Point32_20const__29_20const($6 + 40 | 0 | 0, $6 + 24 | 0 | 0, $6 + 8 | 0 | 0); + label$5 : { + if (!((btConvexHullInternal__Point64__isZero_28_29($6 + 40 | 0 | 0) | 0) & 1 | 0)) { + break label$5 + } + __assert_fail(87293 | 0, 72732 | 0, 1407 | 0, 76667 | 0); + wasm2js_trap(); + } + i64toi32_i32$0 = btConvexHullInternal__Point64__dot_28btConvexHullInternal__Point64_20const__29_20const($6 + 64 | 0 | 0, $6 + 40 | 0 | 0) | 0; + i64toi32_i32$1 = i64toi32_i32$HIGH_BITS; + $277 = i64toi32_i32$0; + i64toi32_i32$0 = $6; + HEAP32[$6 >> 2] = $277; + HEAP32[($6 + 4 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$2 = $6; + i64toi32_i32$1 = HEAP32[$6 >> 2] | 0; + i64toi32_i32$0 = HEAP32[($6 + 4 | 0) >> 2] | 0; + $85$hi = i64toi32_i32$0; + i64toi32_i32$0 = 0; + $86$hi = i64toi32_i32$0; + i64toi32_i32$0 = $85$hi; + i64toi32_i32$0 = $86$hi; + i64toi32_i32$0 = $85$hi; + i64toi32_i32$0 = $86$hi; + i64toi32_i32$0 = $85$hi; + i64toi32_i32$2 = i64toi32_i32$1; + i64toi32_i32$1 = $86$hi; + i64toi32_i32$3 = 0; + label$6 : { + if (((i64toi32_i32$2 | 0) != (i64toi32_i32$3 | 0) | (i64toi32_i32$0 | 0) != (i64toi32_i32$1 | 0) | 0) & 1 | 0) { + break label$6 + } + __assert_fail(86151 | 0, 72732 | 0, 1409 | 0, 76667 | 0); + wasm2js_trap(); + } + i64toi32_i32$3 = $6; + i64toi32_i32$2 = HEAP32[$6 >> 2] | 0; + i64toi32_i32$0 = HEAP32[($6 + 4 | 0) >> 2] | 0; + $96$hi = i64toi32_i32$0; + i64toi32_i32$0 = 0; + $97$hi = i64toi32_i32$0; + i64toi32_i32$0 = $96$hi; + i64toi32_i32$0 = $97$hi; + i64toi32_i32$0 = $96$hi; + i64toi32_i32$0 = $97$hi; + i64toi32_i32$0 = $96$hi; + i64toi32_i32$3 = i64toi32_i32$2; + i64toi32_i32$2 = $97$hi; + i64toi32_i32$1 = 0; + if ((i64toi32_i32$0 | 0) > (i64toi32_i32$2 | 0)) { + $15 = 1 + } else { + if ((i64toi32_i32$0 | 0) >= (i64toi32_i32$2 | 0)) { + if (i64toi32_i32$3 >>> 0 <= i64toi32_i32$1 >>> 0) { + $16 = 0 + } else { + $16 = 1 + } + $17 = $16; + } else { + $17 = 0 + } + $15 = $17; + } + HEAP32[($6 + 108 | 0) >> 2] = $15 & 1 | 0 ? 2 : 1; + break label$2; + } + HEAP32[($6 + 108 | 0) >> 2] = 2; + break label$2; + } + label$7 : { + if (!((HEAP32[((HEAP32[($6 + 104 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) == (HEAP32[($6 + 100 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$7 + } + HEAP32[($6 + 108 | 0) >> 2] = 1; + break label$2; + } + HEAP32[($6 + 108 | 0) >> 2] = 0; + } + $117 = HEAP32[($6 + 108 | 0) >> 2] | 0; + __stack_pointer = $6 + 112 | 0; + return $117 | 0; + } + + function btConvexHullInternal__findEdgeForCoplanarFaces_28btConvexHullInternal__Vertex__2c_20btConvexHullInternal__Vertex__2c_20btConvexHullInternal__Edge___2c_20btConvexHullInternal__Edge___2c_20btConvexHullInternal__Vertex__2c_20btConvexHullInternal__Vertex__29($0, $1, $2, $3, $4, $5, $6) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + $4 = $4 | 0; + $5 = $5 | 0; + $6 = $6 | 0; + var $9 = 0, i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, i64toi32_i32$1 = 0, i64toi32_i32$5 = 0, i64toi32_i32$3 = 0, $10 = 0, $120$hi = 0, $121$hi = 0, $185$hi = 0, $186$hi = 0, $199$hi = 0, $200$hi = 0, $226$hi = 0, $227$hi = 0, $282$hi = 0, $283$hi = 0, $296$hi = 0, $297$hi = 0, $323$hi = 0, $324$hi = 0, $347$hi = 0, $348$hi = 0, $433$hi = 0, $434$hi = 0, $440$hi = 0, $441$hi = 0, $446$hi = 0, $447$hi = 0, $565$hi = 0, $566$hi = 0, $603$hi = 0, $604$hi = 0, $612$hi = 0, $613$hi = 0, $619$hi = 0, $620$hi = 0, $625$hi = 0, $626$hi = 0, $689$hi = 0, $690$hi = 0, $700$hi = 0, $701$hi = 0, $786$hi = 0, $787$hi = 0, $793$hi = 0, $794$hi = 0, $799$hi = 0, $800$hi = 0, $918$hi = 0, $919$hi = 0, $956$hi = 0, $957$hi = 0, $965$hi = 0, $966$hi = 0, $972$hi = 0, $973$hi = 0, $978$hi = 0, $979$hi = 0, $1042$hi = 0, $1043$hi = 0, $26 = 0, $30 = 0, $31 = 0, $49 = 0, $53 = 0, $54 = 0, $78 = 0, $189 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $239 = 0, $240 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $200 = 0, $201 = 0, $336 = 0, $337 = 0, $344$hi = 0, $345$hi = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0, $445 = 0, $208 = 0, $209 = 0, $210 = 0, $454 = 0, $455$hi = 0, $456$hi = 0, $460$hi = 0, $461$hi = 0, $483 = 0, $484 = 0, $516 = 0, $211 = 0, $212 = 0, $213 = 0, $611 = 0, $214 = 0, $215 = 0, $216 = 0, $624 = 0, $217 = 0, $218 = 0, $219 = 0, $633 = 0, $634$hi = 0, $635$hi = 0, $639$hi = 0, $640$hi = 0, $666 = 0, $667 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0, $224 = 0, $225 = 0, $227 = 0, $228 = 0, $229 = 0, $798 = 0, $230 = 0, $231 = 0, $232 = 0, $807 = 0, $808$hi = 0, $809$hi = 0, $813$hi = 0, $814$hi = 0, $836 = 0, $837 = 0, $869 = 0, $233 = 0, $234 = 0, $235 = 0, $964 = 0, $236 = 0, $237 = 0, $238 = 0, $977 = 0, $241 = 0, $242 = 0, $243 = 0, $986 = 0, $987$hi = 0, $988$hi = 0, $992$hi = 0, $993$hi = 0, $1019 = 0, $1020 = 0, $244 = 0, $245 = 0, $246 = 0, $1127 = 0, $1131 = 0, $1171 = 0, $1175 = 0, $1257 = 0, $120 = 0, $1289 = 0, $1341 = 0, $185 = 0, $1403 = 0, $199 = 0, $1429 = 0, $1470 = 0, $226 = 0, $1478 = 0, $1488 = 0, $1514 = 0, $1518 = 0, $1531 = 0, $282 = 0, $1593 = 0, $296 = 0, $1619 = 0, $1660 = 0, $323 = 0, $1668 = 0, $1678 = 0, $1704 = 0, $1708 = 0, $344 = 0, $1714 = 0, $1717 = 0, $1757 = 0, $1846 = 0, $1877 = 0, $455 = 0, $1921 = 0, $460 = 0, $1933 = 0, $1979 = 0, $1983 = 0, $2011 = 0, $2146 = 0, $2159 = 0, $2190 = 0, $634 = 0, $2247 = 0, $639 = 0, $2259 = 0, $2315 = 0, $2319 = 0, $2323 = 0, $2403 = 0, $2492 = 0, $2523 = 0, $808 = 0, $2567 = 0, $813 = 0, $2579 = 0, $2625 = 0, $2629 = 0, $2657 = 0, $2792 = 0, $2805 = 0, $2836 = 0, $987 = 0, $2893 = 0, $992 = 0, $2905 = 0, $2961 = 0, $2965 = 0, $2969 = 0; + $9 = __stack_pointer - 736 | 0; + __stack_pointer = $9; + HEAP32[($9 + 732 | 0) >> 2] = $0; + HEAP32[($9 + 728 | 0) >> 2] = $1; + HEAP32[($9 + 724 | 0) >> 2] = $2; + HEAP32[($9 + 720 | 0) >> 2] = $3; + HEAP32[($9 + 716 | 0) >> 2] = $4; + HEAP32[($9 + 712 | 0) >> 2] = $5; + HEAP32[($9 + 708 | 0) >> 2] = $6; + $10 = HEAP32[($9 + 732 | 0) >> 2] | 0; + HEAP32[($9 + 704 | 0) >> 2] = HEAP32[(HEAP32[($9 + 720 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($9 + 700 | 0) >> 2] = HEAP32[(HEAP32[($9 + 716 | 0) >> 2] | 0) >> 2] | 0; + label$1 : { + label$2 : { + if (!((HEAP32[($9 + 704 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$2 + } + $26 = (HEAP32[((HEAP32[($9 + 704 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + 88 | 0; + break label$1; + } + $26 = (HEAP32[($9 + 728 | 0) >> 2] | 0) + 88 | 0; + } + $30 = $26; + $31 = 8; + i64toi32_i32$2 = $30 + $31 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $1127 = i64toi32_i32$0; + i64toi32_i32$0 = ($9 + 680 | 0) + $31 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $1127; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$2 = $30; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $1131 = i64toi32_i32$1; + i64toi32_i32$1 = $9; + HEAP32[($9 + 680 | 0) >> 2] = $1131; + HEAP32[($9 + 684 | 0) >> 2] = i64toi32_i32$0; + label$3 : { + label$4 : { + if (!((HEAP32[($9 + 700 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$4 + } + $49 = (HEAP32[((HEAP32[($9 + 700 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + 88 | 0; + break label$3; + } + $49 = (HEAP32[($9 + 724 | 0) >> 2] | 0) + 88 | 0; + } + $53 = $49; + $54 = 8; + i64toi32_i32$2 = $53 + $54 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $1171 = i64toi32_i32$0; + i64toi32_i32$0 = ($9 + 664 | 0) + $54 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $1171; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$2 = $53; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $1175 = i64toi32_i32$1; + i64toi32_i32$1 = $9; + HEAP32[($9 + 664 | 0) >> 2] = $1175; + HEAP32[($9 + 668 | 0) >> 2] = i64toi32_i32$0; + btConvexHullInternal__Point32__operator__28btConvexHullInternal__Point32_20const__29_20const($9 + 648 | 0 | 0, (HEAP32[($9 + 724 | 0) >> 2] | 0) + 88 | 0 | 0, (HEAP32[($9 + 728 | 0) >> 2] | 0) + 88 | 0 | 0); + label$5 : { + label$6 : { + if (!((HEAP32[($9 + 704 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$6 + } + $78 = HEAP32[($9 + 704 | 0) >> 2] | 0; + break label$5; + } + $78 = HEAP32[($9 + 700 | 0) >> 2] | 0; + } + btConvexHullInternal__Point32__operator__28btConvexHullInternal__Point32_20const__29_20const($9 + 608 | 0 | 0, (HEAP32[($78 + 12 | 0) >> 2] | 0) + 88 | 0 | 0, (HEAP32[($9 + 728 | 0) >> 2] | 0) + 88 | 0 | 0); + btConvexHullInternal__Point32__cross_28btConvexHullInternal__Point32_20const__29_20const($9 + 624 | 0 | 0, $9 + 608 | 0 | 0, $9 + 648 | 0 | 0); + i64toi32_i32$0 = btConvexHullInternal__Point32__dot_28btConvexHullInternal__Point64_20const__29_20const((HEAP32[($9 + 728 | 0) >> 2] | 0) + 88 | 0 | 0, $9 + 624 | 0 | 0) | 0; + i64toi32_i32$1 = i64toi32_i32$HIGH_BITS; + $1257 = i64toi32_i32$0; + i64toi32_i32$0 = $9; + HEAP32[($9 + 600 | 0) >> 2] = $1257; + HEAP32[($9 + 604 | 0) >> 2] = i64toi32_i32$1; + label$7 : { + if (!((HEAP32[($9 + 700 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$7 + } + i64toi32_i32$1 = btConvexHullInternal__Point32__dot_28btConvexHullInternal__Point64_20const__29_20const((HEAP32[((HEAP32[($9 + 700 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + 88 | 0 | 0, $9 + 624 | 0 | 0) | 0; + i64toi32_i32$0 = i64toi32_i32$HIGH_BITS; + $120 = i64toi32_i32$1; + $120$hi = i64toi32_i32$0; + i64toi32_i32$2 = $9; + i64toi32_i32$0 = HEAP32[($9 + 600 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($9 + 604 | 0) >> 2] | 0; + $121$hi = i64toi32_i32$1; + i64toi32_i32$1 = $120$hi; + i64toi32_i32$1 = $121$hi; + i64toi32_i32$1 = $120$hi; + i64toi32_i32$1 = $121$hi; + $1289 = i64toi32_i32$0; + i64toi32_i32$1 = $120$hi; + i64toi32_i32$2 = $120; + i64toi32_i32$0 = $121$hi; + i64toi32_i32$3 = $1289; + if (((i64toi32_i32$2 | 0) == (i64toi32_i32$3 | 0) & (i64toi32_i32$1 | 0) == (i64toi32_i32$0 | 0) | 0) & 1 | 0) { + break label$7 + } + __assert_fail(86181 | 0, 72732 | 0, 1485 | 0, 70286 | 0); + wasm2js_trap(); + } + btConvexHullInternal__Point32__cross_28btConvexHullInternal__Point64_20const__29_20const($9 + 576 | 0 | 0, $9 + 648 | 0 | 0, $9 + 624 | 0 | 0); + label$8 : { + if (!((btConvexHullInternal__Point64__isZero_28_29($9 + 576 | 0 | 0) | 0) & 1 | 0)) { + break label$8 + } + __assert_fail(87278 | 0, 72732 | 0, 1487 | 0, 70286 | 0); + wasm2js_trap(); + } + i64toi32_i32$2 = btConvexHullInternal__Point32__dot_28btConvexHullInternal__Point64_20const__29_20const($9 + 680 | 0 | 0, $9 + 576 | 0 | 0) | 0; + i64toi32_i32$1 = i64toi32_i32$HIGH_BITS; + $1341 = i64toi32_i32$2; + i64toi32_i32$2 = $9; + HEAP32[($9 + 568 | 0) >> 2] = $1341; + HEAP32[($9 + 572 | 0) >> 2] = i64toi32_i32$1; + label$9 : { + if (!((HEAP32[(HEAP32[($9 + 720 | 0) >> 2] | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$9 + } + label$10 : { + label$11 : while (1) { + if (!((HEAP32[((HEAP32[(HEAP32[($9 + 720 | 0) >> 2] | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) != (HEAP32[($9 + 712 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$10 + } + HEAP32[($9 + 564 | 0) >> 2] = HEAP32[((HEAP32[((HEAP32[(HEAP32[($9 + 720 | 0) >> 2] | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + i64toi32_i32$1 = btConvexHullInternal__Point32__dot_28btConvexHullInternal__Point64_20const__29_20const((HEAP32[((HEAP32[($9 + 564 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + 88 | 0 | 0, $9 + 624 | 0 | 0) | 0; + i64toi32_i32$2 = i64toi32_i32$HIGH_BITS; + $185 = i64toi32_i32$1; + $185$hi = i64toi32_i32$2; + i64toi32_i32$3 = $9; + i64toi32_i32$2 = HEAP32[($9 + 600 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($9 + 604 | 0) >> 2] | 0; + $186$hi = i64toi32_i32$1; + i64toi32_i32$1 = $185$hi; + i64toi32_i32$1 = $186$hi; + i64toi32_i32$1 = $185$hi; + i64toi32_i32$1 = $186$hi; + $1403 = i64toi32_i32$2; + i64toi32_i32$1 = $185$hi; + i64toi32_i32$3 = $185; + i64toi32_i32$2 = $186$hi; + i64toi32_i32$0 = $1403; + if ((i64toi32_i32$1 | 0) < (i64toi32_i32$2 | 0)) { + $189 = 1 + } else { + if ((i64toi32_i32$1 | 0) <= (i64toi32_i32$2 | 0)) { + if (i64toi32_i32$3 >>> 0 >= i64toi32_i32$0 >>> 0) { + $190 = 0 + } else { + $190 = 1 + } + $191 = $190; + } else { + $191 = 0 + } + $189 = $191; + } + label$12 : { + if (!($189 & 1 | 0)) { + break label$12 + } + break label$10; + } + i64toi32_i32$3 = btConvexHullInternal__Point32__dot_28btConvexHullInternal__Point64_20const__29_20const((HEAP32[((HEAP32[($9 + 564 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + 88 | 0 | 0, $9 + 624 | 0 | 0) | 0; + i64toi32_i32$1 = i64toi32_i32$HIGH_BITS; + $199 = i64toi32_i32$3; + $199$hi = i64toi32_i32$1; + i64toi32_i32$0 = $9; + i64toi32_i32$1 = HEAP32[($9 + 600 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[($9 + 604 | 0) >> 2] | 0; + $200$hi = i64toi32_i32$3; + i64toi32_i32$3 = $199$hi; + i64toi32_i32$3 = $200$hi; + i64toi32_i32$3 = $199$hi; + i64toi32_i32$3 = $200$hi; + $1429 = i64toi32_i32$1; + i64toi32_i32$3 = $199$hi; + i64toi32_i32$0 = $199; + i64toi32_i32$1 = $200$hi; + i64toi32_i32$2 = $1429; + label$13 : { + if (((i64toi32_i32$0 | 0) == (i64toi32_i32$2 | 0) & (i64toi32_i32$3 | 0) == (i64toi32_i32$1 | 0) | 0) & 1 | 0) { + break label$13 + } + __assert_fail(67337 | 0, 72732 | 0, 1503 | 0, 70286 | 0); + wasm2js_trap(); + } + label$14 : { + if (!((HEAP32[((HEAP32[($9 + 564 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0) == (HEAP32[($10 + 100 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$14 + } + break label$10; + } + i64toi32_i32$0 = btConvexHullInternal__Point32__dot_28btConvexHullInternal__Point64_20const__29_20const((HEAP32[((HEAP32[($9 + 564 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + 88 | 0 | 0, $9 + 576 | 0 | 0) | 0; + i64toi32_i32$3 = i64toi32_i32$HIGH_BITS; + $1470 = i64toi32_i32$0; + i64toi32_i32$0 = $9; + HEAP32[($9 + 552 | 0) >> 2] = $1470; + HEAP32[($9 + 556 | 0) >> 2] = i64toi32_i32$3; + i64toi32_i32$2 = $9; + i64toi32_i32$3 = HEAP32[($9 + 552 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($9 + 556 | 0) >> 2] | 0; + $226 = i64toi32_i32$3; + $226$hi = i64toi32_i32$0; + i64toi32_i32$2 = $9; + i64toi32_i32$0 = HEAP32[($9 + 568 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[($9 + 572 | 0) >> 2] | 0; + $227$hi = i64toi32_i32$3; + i64toi32_i32$3 = $226$hi; + i64toi32_i32$3 = $227$hi; + i64toi32_i32$3 = $226$hi; + i64toi32_i32$3 = $227$hi; + $1478 = i64toi32_i32$0; + i64toi32_i32$3 = $226$hi; + i64toi32_i32$2 = $226; + i64toi32_i32$0 = $227$hi; + i64toi32_i32$1 = $1478; + if ((i64toi32_i32$3 | 0) < (i64toi32_i32$0 | 0)) { + $192 = 1 + } else { + if ((i64toi32_i32$3 | 0) <= (i64toi32_i32$0 | 0)) { + if (i64toi32_i32$2 >>> 0 > i64toi32_i32$1 >>> 0) { + $193 = 0 + } else { + $193 = 1 + } + $194 = $193; + } else { + $194 = 0 + } + $192 = $194; + } + label$15 : { + if (!($192 & 1 | 0)) { + break label$15 + } + break label$10; + } + i64toi32_i32$1 = $9; + i64toi32_i32$2 = HEAP32[($9 + 552 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[($9 + 556 | 0) >> 2] | 0; + $1488 = i64toi32_i32$2; + i64toi32_i32$2 = $9; + HEAP32[($9 + 568 | 0) >> 2] = $1488; + HEAP32[($9 + 572 | 0) >> 2] = i64toi32_i32$3; + HEAP32[(HEAP32[($9 + 720 | 0) >> 2] | 0) >> 2] = HEAP32[($9 + 564 | 0) >> 2] | 0; + $239 = (HEAP32[((HEAP32[($9 + 564 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + 88 | 0; + $240 = 8; + i64toi32_i32$1 = $239 + $240 | 0; + i64toi32_i32$3 = HEAP32[i64toi32_i32$1 >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] | 0; + $1514 = i64toi32_i32$3; + i64toi32_i32$3 = ($9 + 680 | 0) + $240 | 0; + HEAP32[i64toi32_i32$3 >> 2] = $1514; + HEAP32[(i64toi32_i32$3 + 4 | 0) >> 2] = i64toi32_i32$2; + i64toi32_i32$1 = $239; + i64toi32_i32$2 = HEAP32[i64toi32_i32$1 >> 2] | 0; + i64toi32_i32$3 = HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] | 0; + $1518 = i64toi32_i32$2; + i64toi32_i32$2 = $9; + HEAP32[($9 + 680 | 0) >> 2] = $1518; + HEAP32[($9 + 684 | 0) >> 2] = i64toi32_i32$3; + continue label$11; + }; + } + } + i64toi32_i32$3 = btConvexHullInternal__Point32__dot_28btConvexHullInternal__Point64_20const__29_20const($9 + 664 | 0 | 0, $9 + 576 | 0 | 0) | 0; + i64toi32_i32$2 = i64toi32_i32$HIGH_BITS; + $1531 = i64toi32_i32$3; + i64toi32_i32$3 = $9; + HEAP32[($9 + 544 | 0) >> 2] = $1531; + HEAP32[($9 + 548 | 0) >> 2] = i64toi32_i32$2; + label$16 : { + if (!((HEAP32[(HEAP32[($9 + 716 | 0) >> 2] | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$16 + } + label$17 : { + label$18 : while (1) { + if (!((HEAP32[((HEAP32[(HEAP32[($9 + 716 | 0) >> 2] | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) != (HEAP32[($9 + 708 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$17 + } + HEAP32[($9 + 540 | 0) >> 2] = HEAP32[(HEAP32[((HEAP32[(HEAP32[($9 + 716 | 0) >> 2] | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) >> 2] | 0; + i64toi32_i32$2 = btConvexHullInternal__Point32__dot_28btConvexHullInternal__Point64_20const__29_20const((HEAP32[((HEAP32[($9 + 540 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + 88 | 0 | 0, $9 + 624 | 0 | 0) | 0; + i64toi32_i32$3 = i64toi32_i32$HIGH_BITS; + $282 = i64toi32_i32$2; + $282$hi = i64toi32_i32$3; + i64toi32_i32$1 = $9; + i64toi32_i32$3 = HEAP32[($9 + 600 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($9 + 604 | 0) >> 2] | 0; + $283$hi = i64toi32_i32$2; + i64toi32_i32$2 = $282$hi; + i64toi32_i32$2 = $283$hi; + i64toi32_i32$2 = $282$hi; + i64toi32_i32$2 = $283$hi; + $1593 = i64toi32_i32$3; + i64toi32_i32$2 = $282$hi; + i64toi32_i32$1 = $282; + i64toi32_i32$3 = $283$hi; + i64toi32_i32$0 = $1593; + if ((i64toi32_i32$2 | 0) < (i64toi32_i32$3 | 0)) { + $195 = 1 + } else { + if ((i64toi32_i32$2 | 0) <= (i64toi32_i32$3 | 0)) { + if (i64toi32_i32$1 >>> 0 >= i64toi32_i32$0 >>> 0) { + $196 = 0 + } else { + $196 = 1 + } + $197 = $196; + } else { + $197 = 0 + } + $195 = $197; + } + label$19 : { + if (!($195 & 1 | 0)) { + break label$19 + } + break label$17; + } + i64toi32_i32$1 = btConvexHullInternal__Point32__dot_28btConvexHullInternal__Point64_20const__29_20const((HEAP32[((HEAP32[($9 + 540 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + 88 | 0 | 0, $9 + 624 | 0 | 0) | 0; + i64toi32_i32$2 = i64toi32_i32$HIGH_BITS; + $296 = i64toi32_i32$1; + $296$hi = i64toi32_i32$2; + i64toi32_i32$0 = $9; + i64toi32_i32$2 = HEAP32[($9 + 600 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($9 + 604 | 0) >> 2] | 0; + $297$hi = i64toi32_i32$1; + i64toi32_i32$1 = $296$hi; + i64toi32_i32$1 = $297$hi; + i64toi32_i32$1 = $296$hi; + i64toi32_i32$1 = $297$hi; + $1619 = i64toi32_i32$2; + i64toi32_i32$1 = $296$hi; + i64toi32_i32$0 = $296; + i64toi32_i32$2 = $297$hi; + i64toi32_i32$3 = $1619; + label$20 : { + if (((i64toi32_i32$0 | 0) == (i64toi32_i32$3 | 0) & (i64toi32_i32$1 | 0) == (i64toi32_i32$2 | 0) | 0) & 1 | 0) { + break label$20 + } + __assert_fail(67337 | 0, 72732 | 0, 1529 | 0, 70286 | 0); + wasm2js_trap(); + } + label$21 : { + if (!((HEAP32[((HEAP32[($9 + 540 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0) == (HEAP32[($10 + 100 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$21 + } + break label$17; + } + i64toi32_i32$0 = btConvexHullInternal__Point32__dot_28btConvexHullInternal__Point64_20const__29_20const((HEAP32[((HEAP32[($9 + 540 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + 88 | 0 | 0, $9 + 576 | 0 | 0) | 0; + i64toi32_i32$1 = i64toi32_i32$HIGH_BITS; + $1660 = i64toi32_i32$0; + i64toi32_i32$0 = $9; + HEAP32[($9 + 528 | 0) >> 2] = $1660; + HEAP32[($9 + 532 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$3 = $9; + i64toi32_i32$1 = HEAP32[($9 + 528 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($9 + 532 | 0) >> 2] | 0; + $323 = i64toi32_i32$1; + $323$hi = i64toi32_i32$0; + i64toi32_i32$3 = $9; + i64toi32_i32$0 = HEAP32[($9 + 544 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($9 + 548 | 0) >> 2] | 0; + $324$hi = i64toi32_i32$1; + i64toi32_i32$1 = $323$hi; + i64toi32_i32$1 = $324$hi; + i64toi32_i32$1 = $323$hi; + i64toi32_i32$1 = $324$hi; + $1668 = i64toi32_i32$0; + i64toi32_i32$1 = $323$hi; + i64toi32_i32$3 = $323; + i64toi32_i32$0 = $324$hi; + i64toi32_i32$2 = $1668; + if ((i64toi32_i32$1 | 0) < (i64toi32_i32$0 | 0)) { + $198 = 1 + } else { + if ((i64toi32_i32$1 | 0) <= (i64toi32_i32$0 | 0)) { + if (i64toi32_i32$3 >>> 0 > i64toi32_i32$2 >>> 0) { + $200 = 0 + } else { + $200 = 1 + } + $201 = $200; + } else { + $201 = 0 + } + $198 = $201; + } + label$22 : { + if (!($198 & 1 | 0)) { + break label$22 + } + break label$17; + } + i64toi32_i32$2 = $9; + i64toi32_i32$3 = HEAP32[($9 + 528 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($9 + 532 | 0) >> 2] | 0; + $1678 = i64toi32_i32$3; + i64toi32_i32$3 = $9; + HEAP32[($9 + 544 | 0) >> 2] = $1678; + HEAP32[($9 + 548 | 0) >> 2] = i64toi32_i32$1; + HEAP32[(HEAP32[($9 + 716 | 0) >> 2] | 0) >> 2] = HEAP32[($9 + 540 | 0) >> 2] | 0; + $336 = (HEAP32[((HEAP32[($9 + 540 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + 88 | 0; + $337 = 8; + i64toi32_i32$2 = $336 + $337 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$3 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $1704 = i64toi32_i32$1; + i64toi32_i32$1 = ($9 + 664 | 0) + $337 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $1704; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$3; + i64toi32_i32$2 = $336; + i64toi32_i32$3 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $1708 = i64toi32_i32$3; + i64toi32_i32$3 = $9; + HEAP32[($9 + 664 | 0) >> 2] = $1708; + HEAP32[($9 + 668 | 0) >> 2] = i64toi32_i32$1; + continue label$18; + }; + } + } + i64toi32_i32$2 = $9; + i64toi32_i32$1 = HEAP32[($9 + 544 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[($9 + 548 | 0) >> 2] | 0; + $344 = i64toi32_i32$1; + $344$hi = i64toi32_i32$3; + i64toi32_i32$2 = $9; + i64toi32_i32$3 = HEAP32[($9 + 568 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($9 + 572 | 0) >> 2] | 0; + $345$hi = i64toi32_i32$1; + i64toi32_i32$1 = $344$hi; + i64toi32_i32$1 = $345$hi; + $1714 = i64toi32_i32$3; + i64toi32_i32$1 = $344$hi; + i64toi32_i32$2 = $344; + i64toi32_i32$3 = $345$hi; + i64toi32_i32$0 = $1714; + i64toi32_i32$5 = (i64toi32_i32$2 >>> 0 < i64toi32_i32$0 >>> 0) + i64toi32_i32$3 | 0; + i64toi32_i32$5 = i64toi32_i32$1 - i64toi32_i32$5 | 0; + $1717 = i64toi32_i32$2 - i64toi32_i32$0 | 0; + i64toi32_i32$2 = $9; + HEAP32[($9 + 520 | 0) >> 2] = $1717; + HEAP32[($9 + 524 | 0) >> 2] = i64toi32_i32$5; + i64toi32_i32$1 = $9; + i64toi32_i32$5 = HEAP32[($9 + 520 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($9 + 524 | 0) >> 2] | 0; + $347$hi = i64toi32_i32$2; + i64toi32_i32$2 = 0; + $348$hi = i64toi32_i32$2; + i64toi32_i32$2 = $347$hi; + i64toi32_i32$2 = $348$hi; + i64toi32_i32$2 = $347$hi; + i64toi32_i32$2 = $348$hi; + i64toi32_i32$2 = $347$hi; + i64toi32_i32$1 = i64toi32_i32$5; + i64toi32_i32$5 = $348$hi; + i64toi32_i32$0 = 0; + if ((i64toi32_i32$2 | 0) > (i64toi32_i32$5 | 0)) { + $202 = 1 + } else { + if ((i64toi32_i32$2 | 0) >= (i64toi32_i32$5 | 0)) { + if (i64toi32_i32$1 >>> 0 <= i64toi32_i32$0 >>> 0) { + $203 = 0 + } else { + $203 = 1 + } + $204 = $203; + } else { + $204 = 0 + } + $202 = $204; + } + label$23 : { + label$24 : { + if (!($202 & 1 | 0)) { + break label$24 + } + label$25 : { + label$26 : { + label$27 : { + label$28 : { + label$29 : while (1) { + btConvexHullInternal__Point32__operator__28btConvexHullInternal__Point32_20const__29_20const($9 + 496 | 0 | 0, $9 + 664 | 0 | 0, $9 + 680 | 0 | 0); + i64toi32_i32$1 = btConvexHullInternal__Point32__dot_28btConvexHullInternal__Point32_20const__29_20const($9 + 496 | 0 | 0, $9 + 648 | 0 | 0) | 0; + i64toi32_i32$2 = i64toi32_i32$HIGH_BITS; + $1757 = i64toi32_i32$1; + i64toi32_i32$1 = $9; + HEAP32[($9 + 512 | 0) >> 2] = $1757; + HEAP32[($9 + 516 | 0) >> 2] = i64toi32_i32$2; + label$30 : { + if (!((HEAP32[(HEAP32[($9 + 720 | 0) >> 2] | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$30 + } + if (!((HEAP32[((HEAP32[(HEAP32[($9 + 720 | 0) >> 2] | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) != (HEAP32[($9 + 712 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$30 + } + HEAP32[($9 + 492 | 0) >> 2] = HEAP32[((HEAP32[(HEAP32[(HEAP32[($9 + 720 | 0) >> 2] | 0) >> 2] | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + label$31 : { + if (!((HEAP32[((HEAP32[($9 + 492 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0) > (HEAP32[($10 + 100 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$31 + } + btConvexHullInternal__Point32__operator__28btConvexHullInternal__Point32_20const__29_20const($9 + 464 | 0 | 0, (HEAP32[((HEAP32[($9 + 492 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + 88 | 0 | 0, $9 + 680 | 0 | 0); + i64toi32_i32$2 = btConvexHullInternal__Point32__dot_28btConvexHullInternal__Point64_20const__29_20const($9 + 464 | 0 | 0, $9 + 576 | 0 | 0) | 0; + i64toi32_i32$1 = i64toi32_i32$HIGH_BITS; + $1846 = i64toi32_i32$2; + i64toi32_i32$2 = $9; + HEAP32[($9 + 480 | 0) >> 2] = $1846; + HEAP32[($9 + 484 | 0) >> 2] = i64toi32_i32$1; + btConvexHullInternal__Point32__operator__28btConvexHullInternal__Point32_20const__29_20const($9 + 440 | 0 | 0, (HEAP32[((HEAP32[($9 + 492 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + 88 | 0 | 0, $9 + 680 | 0 | 0); + i64toi32_i32$1 = btConvexHullInternal__Point32__dot_28btConvexHullInternal__Point32_20const__29_20const($9 + 440 | 0 | 0, $9 + 648 | 0 | 0) | 0; + i64toi32_i32$2 = i64toi32_i32$HIGH_BITS; + $1877 = i64toi32_i32$1; + i64toi32_i32$1 = $9; + HEAP32[($9 + 456 | 0) >> 2] = $1877; + HEAP32[($9 + 460 | 0) >> 2] = i64toi32_i32$2; + i64toi32_i32$0 = $9; + i64toi32_i32$2 = HEAP32[($9 + 480 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($9 + 484 | 0) >> 2] | 0; + $433$hi = i64toi32_i32$1; + i64toi32_i32$1 = 0; + $434$hi = i64toi32_i32$1; + i64toi32_i32$1 = $433$hi; + i64toi32_i32$1 = $434$hi; + i64toi32_i32$1 = $433$hi; + i64toi32_i32$1 = $434$hi; + i64toi32_i32$1 = $433$hi; + i64toi32_i32$0 = i64toi32_i32$2; + i64toi32_i32$2 = $434$hi; + i64toi32_i32$5 = 0; + label$32 : { + label$33 : { + if (!(((i64toi32_i32$0 | 0) == (i64toi32_i32$5 | 0) & (i64toi32_i32$1 | 0) == (i64toi32_i32$2 | 0) | 0) & 1 | 0)) { + break label$33 + } + i64toi32_i32$5 = $9; + i64toi32_i32$0 = HEAP32[($9 + 456 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($9 + 460 | 0) >> 2] | 0; + $440$hi = i64toi32_i32$1; + i64toi32_i32$1 = 0; + $441$hi = i64toi32_i32$1; + i64toi32_i32$1 = $440$hi; + i64toi32_i32$1 = $441$hi; + i64toi32_i32$1 = $440$hi; + i64toi32_i32$1 = $441$hi; + i64toi32_i32$1 = $440$hi; + i64toi32_i32$5 = i64toi32_i32$0; + i64toi32_i32$0 = $441$hi; + i64toi32_i32$2 = 0; + if ((i64toi32_i32$1 | 0) < (i64toi32_i32$0 | 0)) { + $205 = 1 + } else { + if ((i64toi32_i32$1 | 0) <= (i64toi32_i32$0 | 0)) { + if (i64toi32_i32$5 >>> 0 >= i64toi32_i32$2 >>> 0) { + $206 = 0 + } else { + $206 = 1 + } + $207 = $206; + } else { + $207 = 0 + } + $205 = $207; + } + $445 = $205; + break label$32; + } + i64toi32_i32$2 = $9; + i64toi32_i32$5 = HEAP32[($9 + 480 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($9 + 484 | 0) >> 2] | 0; + $446$hi = i64toi32_i32$1; + i64toi32_i32$1 = 0; + $447$hi = i64toi32_i32$1; + i64toi32_i32$1 = $446$hi; + i64toi32_i32$1 = $447$hi; + i64toi32_i32$1 = $446$hi; + i64toi32_i32$1 = $447$hi; + i64toi32_i32$1 = $446$hi; + i64toi32_i32$2 = i64toi32_i32$5; + i64toi32_i32$5 = $447$hi; + i64toi32_i32$0 = 0; + if ((i64toi32_i32$1 | 0) < (i64toi32_i32$5 | 0)) { + $208 = 1 + } else { + if ((i64toi32_i32$1 | 0) <= (i64toi32_i32$5 | 0)) { + if (i64toi32_i32$2 >>> 0 >= i64toi32_i32$0 >>> 0) { + $209 = 0 + } else { + $209 = 1 + } + $210 = $209; + } else { + $210 = 0 + } + $208 = $210; + } + $454 = 0; + label$34 : { + if (!($208 & 1 | 0)) { + break label$34 + } + i64toi32_i32$0 = $9; + i64toi32_i32$2 = HEAP32[($9 + 456 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($9 + 460 | 0) >> 2] | 0; + $455 = i64toi32_i32$2; + $455$hi = i64toi32_i32$1; + i64toi32_i32$0 = $9; + i64toi32_i32$1 = HEAP32[($9 + 480 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($9 + 484 | 0) >> 2] | 0; + $456$hi = i64toi32_i32$2; + i64toi32_i32$2 = $455$hi; + i64toi32_i32$2 = $456$hi; + $1921 = i64toi32_i32$1; + i64toi32_i32$2 = $455$hi; + i64toi32_i32$1 = $456$hi; + btConvexHullInternal__Rational64__Rational64_28long_20long_2c_20long_20long_29($9 + 416 | 0 | 0, $455 | 0, i64toi32_i32$2 | 0, $1921 | 0, i64toi32_i32$1 | 0) | 0; + i64toi32_i32$0 = $9; + i64toi32_i32$1 = HEAP32[($9 + 512 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($9 + 516 | 0) >> 2] | 0; + $460 = i64toi32_i32$1; + $460$hi = i64toi32_i32$2; + i64toi32_i32$0 = $9; + i64toi32_i32$2 = HEAP32[($9 + 520 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($9 + 524 | 0) >> 2] | 0; + $461$hi = i64toi32_i32$1; + i64toi32_i32$1 = $460$hi; + i64toi32_i32$1 = $461$hi; + $1933 = i64toi32_i32$2; + i64toi32_i32$1 = $460$hi; + i64toi32_i32$2 = $461$hi; + btConvexHullInternal__Rational64__Rational64_28long_20long_2c_20long_20long_29($9 + 392 | 0 | 0, $460 | 0, i64toi32_i32$1 | 0, $1933 | 0, i64toi32_i32$2 | 0) | 0; + $454 = (btConvexHullInternal__Rational64__compare_28btConvexHullInternal__Rational64_20const__29_20const($9 + 416 | 0 | 0, $9 + 392 | 0 | 0) | 0 | 0) >= (0 | 0); + } + $445 = $454; + } + label$35 : { + if (!($445 & 1 | 0)) { + break label$35 + } + $483 = (HEAP32[((HEAP32[($9 + 492 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + 88 | 0; + $484 = 8; + i64toi32_i32$0 = $483 + $484 | 0; + i64toi32_i32$2 = HEAP32[i64toi32_i32$0 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] | 0; + $1979 = i64toi32_i32$2; + i64toi32_i32$2 = ($9 + 680 | 0) + $484 | 0; + HEAP32[i64toi32_i32$2 >> 2] = $1979; + HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$0 = $483; + i64toi32_i32$1 = HEAP32[i64toi32_i32$0 >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] | 0; + $1983 = i64toi32_i32$1; + i64toi32_i32$1 = $9; + HEAP32[($9 + 680 | 0) >> 2] = $1983; + HEAP32[($9 + 684 | 0) >> 2] = i64toi32_i32$2; + btConvexHullInternal__Point32__operator__28btConvexHullInternal__Point32_20const__29_20const($9 + 376 | 0 | 0, $9 + 664 | 0 | 0, $9 + 680 | 0 | 0); + i64toi32_i32$2 = btConvexHullInternal__Point32__dot_28btConvexHullInternal__Point64_20const__29_20const($9 + 376 | 0 | 0, $9 + 576 | 0 | 0) | 0; + i64toi32_i32$1 = i64toi32_i32$HIGH_BITS; + $2011 = i64toi32_i32$2; + i64toi32_i32$2 = $9; + HEAP32[($9 + 520 | 0) >> 2] = $2011; + HEAP32[($9 + 524 | 0) >> 2] = i64toi32_i32$1; + label$36 : { + label$37 : { + if (!((HEAP32[(HEAP32[($9 + 720 | 0) >> 2] | 0) >> 2] | 0 | 0) == (HEAP32[($9 + 704 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$37 + } + $516 = 0; + break label$36; + } + $516 = HEAP32[($9 + 492 | 0) >> 2] | 0; + } + HEAP32[(HEAP32[($9 + 720 | 0) >> 2] | 0) >> 2] = $516; + continue label$29; + } + } + } + if (!((HEAP32[(HEAP32[($9 + 716 | 0) >> 2] | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$25 + } + if (!((HEAP32[((HEAP32[(HEAP32[($9 + 716 | 0) >> 2] | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) != (HEAP32[($9 + 708 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$25 + } + HEAP32[($9 + 372 | 0) >> 2] = HEAP32[(HEAP32[((HEAP32[(HEAP32[($9 + 716 | 0) >> 2] | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) >> 2] | 0; + if (!((HEAP32[((HEAP32[($9 + 372 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0) > (HEAP32[($10 + 100 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$26 + } + btConvexHullInternal__Point32__operator__28btConvexHullInternal__Point32_20const__29_20const($9 + 356 | 0 | 0, (HEAP32[((HEAP32[($9 + 372 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + 88 | 0 | 0, $9 + 664 | 0 | 0); + i64toi32_i32$1 = btConvexHullInternal__Point32__dot_28btConvexHullInternal__Point64_20const__29_20const($9 + 356 | 0 | 0, $9 + 624 | 0 | 0) | 0; + i64toi32_i32$2 = i64toi32_i32$HIGH_BITS; + $565$hi = i64toi32_i32$2; + i64toi32_i32$2 = 0; + $566$hi = i64toi32_i32$2; + i64toi32_i32$2 = $565$hi; + i64toi32_i32$2 = $566$hi; + i64toi32_i32$2 = $565$hi; + i64toi32_i32$2 = $566$hi; + i64toi32_i32$2 = $565$hi; + i64toi32_i32$0 = i64toi32_i32$1; + i64toi32_i32$1 = $566$hi; + i64toi32_i32$5 = 0; + if (!(((i64toi32_i32$0 | 0) == (i64toi32_i32$5 | 0) & (i64toi32_i32$2 | 0) == (i64toi32_i32$1 | 0) | 0) & 1 | 0)) { + break label$28 + } + i64toi32_i32$0 = btConvexHullInternal__Point32__dot_28btConvexHullInternal__Point64_20const__29_20const($9 + 356 | 0 | 0, $9 + 576 | 0 | 0) | 0; + i64toi32_i32$2 = i64toi32_i32$HIGH_BITS; + $2146 = i64toi32_i32$0; + i64toi32_i32$0 = $9; + HEAP32[($9 + 344 | 0) >> 2] = $2146; + HEAP32[($9 + 348 | 0) >> 2] = i64toi32_i32$2; + i64toi32_i32$2 = btConvexHullInternal__Point32__dot_28btConvexHullInternal__Point32_20const__29_20const($9 + 356 | 0 | 0, $9 + 648 | 0 | 0) | 0; + i64toi32_i32$0 = i64toi32_i32$HIGH_BITS; + $2159 = i64toi32_i32$2; + i64toi32_i32$2 = $9; + HEAP32[($9 + 336 | 0) >> 2] = $2159; + HEAP32[($9 + 340 | 0) >> 2] = i64toi32_i32$0; + btConvexHullInternal__Point32__operator__28btConvexHullInternal__Point32_20const__29_20const($9 + 312 | 0 | 0, (HEAP32[((HEAP32[($9 + 372 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + 88 | 0 | 0, $9 + 680 | 0 | 0); + i64toi32_i32$0 = btConvexHullInternal__Point32__dot_28btConvexHullInternal__Point64_20const__29_20const($9 + 312 | 0 | 0, $9 + 576 | 0 | 0) | 0; + i64toi32_i32$2 = i64toi32_i32$HIGH_BITS; + $2190 = i64toi32_i32$0; + i64toi32_i32$0 = $9; + HEAP32[($9 + 328 | 0) >> 2] = $2190; + HEAP32[($9 + 332 | 0) >> 2] = i64toi32_i32$2; + i64toi32_i32$5 = $9; + i64toi32_i32$2 = HEAP32[($9 + 328 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($9 + 332 | 0) >> 2] | 0; + $603$hi = i64toi32_i32$0; + i64toi32_i32$0 = 0; + $604$hi = i64toi32_i32$0; + i64toi32_i32$0 = $603$hi; + i64toi32_i32$0 = $604$hi; + i64toi32_i32$0 = $603$hi; + i64toi32_i32$0 = $604$hi; + i64toi32_i32$0 = $603$hi; + i64toi32_i32$5 = i64toi32_i32$2; + i64toi32_i32$2 = $604$hi; + i64toi32_i32$1 = 0; + if ((i64toi32_i32$0 | 0) > (i64toi32_i32$2 | 0)) { + $211 = 1 + } else { + if ((i64toi32_i32$0 | 0) >= (i64toi32_i32$2 | 0)) { + if (i64toi32_i32$5 >>> 0 <= i64toi32_i32$1 >>> 0) { + $212 = 0 + } else { + $212 = 1 + } + $213 = $212; + } else { + $213 = 0 + } + $211 = $213; + } + $611 = 0; + label$38 : { + if (!($211 & 1 | 0)) { + break label$38 + } + i64toi32_i32$1 = $9; + i64toi32_i32$5 = HEAP32[($9 + 344 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($9 + 348 | 0) >> 2] | 0; + $612$hi = i64toi32_i32$0; + i64toi32_i32$0 = 0; + $613$hi = i64toi32_i32$0; + i64toi32_i32$0 = $612$hi; + i64toi32_i32$0 = $613$hi; + i64toi32_i32$0 = $612$hi; + i64toi32_i32$0 = $613$hi; + i64toi32_i32$0 = $612$hi; + i64toi32_i32$1 = i64toi32_i32$5; + i64toi32_i32$5 = $613$hi; + i64toi32_i32$2 = 0; + label$39 : { + label$40 : { + if (!(((i64toi32_i32$1 | 0) == (i64toi32_i32$2 | 0) & (i64toi32_i32$0 | 0) == (i64toi32_i32$5 | 0) | 0) & 1 | 0)) { + break label$40 + } + i64toi32_i32$2 = $9; + i64toi32_i32$1 = HEAP32[($9 + 336 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($9 + 340 | 0) >> 2] | 0; + $619$hi = i64toi32_i32$0; + i64toi32_i32$0 = 0; + $620$hi = i64toi32_i32$0; + i64toi32_i32$0 = $619$hi; + i64toi32_i32$0 = $620$hi; + i64toi32_i32$0 = $619$hi; + i64toi32_i32$0 = $620$hi; + i64toi32_i32$0 = $619$hi; + i64toi32_i32$2 = i64toi32_i32$1; + i64toi32_i32$1 = $620$hi; + i64toi32_i32$5 = 0; + if ((i64toi32_i32$0 | 0) < (i64toi32_i32$1 | 0)) { + $214 = 1 + } else { + if ((i64toi32_i32$0 | 0) <= (i64toi32_i32$1 | 0)) { + if (i64toi32_i32$2 >>> 0 >= i64toi32_i32$5 >>> 0) { + $215 = 0 + } else { + $215 = 1 + } + $216 = $215; + } else { + $216 = 0 + } + $214 = $216; + } + $624 = $214; + break label$39; + } + i64toi32_i32$5 = $9; + i64toi32_i32$2 = HEAP32[($9 + 344 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($9 + 348 | 0) >> 2] | 0; + $625$hi = i64toi32_i32$0; + i64toi32_i32$0 = 0; + $626$hi = i64toi32_i32$0; + i64toi32_i32$0 = $625$hi; + i64toi32_i32$0 = $626$hi; + i64toi32_i32$0 = $625$hi; + i64toi32_i32$0 = $626$hi; + i64toi32_i32$0 = $625$hi; + i64toi32_i32$5 = i64toi32_i32$2; + i64toi32_i32$2 = $626$hi; + i64toi32_i32$1 = 0; + if ((i64toi32_i32$0 | 0) < (i64toi32_i32$2 | 0)) { + $217 = 1 + } else { + if ((i64toi32_i32$0 | 0) <= (i64toi32_i32$2 | 0)) { + if (i64toi32_i32$5 >>> 0 >= i64toi32_i32$1 >>> 0) { + $218 = 0 + } else { + $218 = 1 + } + $219 = $218; + } else { + $219 = 0 + } + $217 = $219; + } + $633 = 0; + label$41 : { + if (!($217 & 1 | 0)) { + break label$41 + } + i64toi32_i32$1 = $9; + i64toi32_i32$5 = HEAP32[($9 + 336 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($9 + 340 | 0) >> 2] | 0; + $634 = i64toi32_i32$5; + $634$hi = i64toi32_i32$0; + i64toi32_i32$1 = $9; + i64toi32_i32$0 = HEAP32[($9 + 344 | 0) >> 2] | 0; + i64toi32_i32$5 = HEAP32[($9 + 348 | 0) >> 2] | 0; + $635$hi = i64toi32_i32$5; + i64toi32_i32$5 = $634$hi; + i64toi32_i32$5 = $635$hi; + $2247 = i64toi32_i32$0; + i64toi32_i32$5 = $634$hi; + i64toi32_i32$0 = $635$hi; + btConvexHullInternal__Rational64__Rational64_28long_20long_2c_20long_20long_29($9 + 288 | 0 | 0, $634 | 0, i64toi32_i32$5 | 0, $2247 | 0, i64toi32_i32$0 | 0) | 0; + i64toi32_i32$1 = $9; + i64toi32_i32$0 = HEAP32[($9 + 512 | 0) >> 2] | 0; + i64toi32_i32$5 = HEAP32[($9 + 516 | 0) >> 2] | 0; + $639 = i64toi32_i32$0; + $639$hi = i64toi32_i32$5; + i64toi32_i32$1 = $9; + i64toi32_i32$5 = HEAP32[($9 + 520 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($9 + 524 | 0) >> 2] | 0; + $640$hi = i64toi32_i32$0; + i64toi32_i32$0 = $639$hi; + i64toi32_i32$0 = $640$hi; + $2259 = i64toi32_i32$5; + i64toi32_i32$0 = $639$hi; + i64toi32_i32$5 = $640$hi; + btConvexHullInternal__Rational64__Rational64_28long_20long_2c_20long_20long_29($9 + 264 | 0 | 0, $639 | 0, i64toi32_i32$0 | 0, $2259 | 0, i64toi32_i32$5 | 0) | 0; + $633 = (btConvexHullInternal__Rational64__compare_28btConvexHullInternal__Rational64_20const__29_20const($9 + 288 | 0 | 0, $9 + 264 | 0 | 0) | 0 | 0) > (0 | 0); + } + $624 = $633; + } + $611 = $624; + } + label$42 : { + if (!($611 & 1 | 0)) { + break label$42 + } + HEAP32[(HEAP32[($9 + 716 | 0) >> 2] | 0) >> 2] = HEAP32[($9 + 372 | 0) >> 2] | 0; + $666 = (HEAP32[((HEAP32[(HEAP32[($9 + 716 | 0) >> 2] | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + 88 | 0; + $667 = 8; + i64toi32_i32$1 = $666 + $667 | 0; + i64toi32_i32$5 = HEAP32[i64toi32_i32$1 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] | 0; + $2315 = i64toi32_i32$5; + i64toi32_i32$5 = ($9 + 664 | 0) + $667 | 0; + HEAP32[i64toi32_i32$5 >> 2] = $2315; + HEAP32[(i64toi32_i32$5 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $666; + i64toi32_i32$0 = HEAP32[i64toi32_i32$1 >> 2] | 0; + i64toi32_i32$5 = HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] | 0; + $2319 = i64toi32_i32$0; + i64toi32_i32$0 = $9; + HEAP32[($9 + 664 | 0) >> 2] = $2319; + HEAP32[($9 + 668 | 0) >> 2] = i64toi32_i32$5; + i64toi32_i32$1 = $9; + i64toi32_i32$5 = HEAP32[($9 + 328 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($9 + 332 | 0) >> 2] | 0; + $2323 = i64toi32_i32$5; + i64toi32_i32$5 = $9; + HEAP32[($9 + 520 | 0) >> 2] = $2323; + HEAP32[($9 + 524 | 0) >> 2] = i64toi32_i32$0; + continue label$29; + } + break label$29; + }; + break label$27; + } + label$43 : { + label$44 : { + if (!((HEAP32[(HEAP32[($9 + 716 | 0) >> 2] | 0) >> 2] | 0 | 0) == (HEAP32[($9 + 700 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$44 + } + i64toi32_i32$0 = btConvexHullInternal__Point32__dot_28btConvexHullInternal__Point64_20const__29_20const($9 + 356 | 0 | 0, $9 + 624 | 0 | 0) | 0; + i64toi32_i32$5 = i64toi32_i32$HIGH_BITS; + $689$hi = i64toi32_i32$5; + i64toi32_i32$5 = 0; + $690$hi = i64toi32_i32$5; + i64toi32_i32$5 = $689$hi; + i64toi32_i32$5 = $690$hi; + i64toi32_i32$5 = $689$hi; + i64toi32_i32$5 = $690$hi; + i64toi32_i32$5 = $689$hi; + i64toi32_i32$1 = i64toi32_i32$0; + i64toi32_i32$0 = $690$hi; + i64toi32_i32$2 = 0; + if ((i64toi32_i32$5 | 0) < (i64toi32_i32$0 | 0)) { + $220 = 1 + } else { + if ((i64toi32_i32$5 | 0) <= (i64toi32_i32$0 | 0)) { + if (i64toi32_i32$1 >>> 0 >= i64toi32_i32$2 >>> 0) { + $221 = 0 + } else { + $221 = 1 + } + $222 = $221; + } else { + $222 = 0 + } + $220 = $222; + } + if ($220 & 1 | 0) { + break label$43 + } + } + __assert_fail(86764 | 0, 72732 | 0, 1594 | 0, 70286 | 0); + wasm2js_trap(); + } + } + } + } + break label$23; + } + i64toi32_i32$2 = $9; + i64toi32_i32$1 = HEAP32[($9 + 520 | 0) >> 2] | 0; + i64toi32_i32$5 = HEAP32[($9 + 524 | 0) >> 2] | 0; + $700$hi = i64toi32_i32$5; + i64toi32_i32$5 = 0; + $701$hi = i64toi32_i32$5; + i64toi32_i32$5 = $700$hi; + i64toi32_i32$5 = $701$hi; + i64toi32_i32$5 = $700$hi; + i64toi32_i32$5 = $701$hi; + i64toi32_i32$5 = $700$hi; + i64toi32_i32$2 = i64toi32_i32$1; + i64toi32_i32$1 = $701$hi; + i64toi32_i32$0 = 0; + if ((i64toi32_i32$5 | 0) < (i64toi32_i32$1 | 0)) { + $223 = 1 + } else { + if ((i64toi32_i32$5 | 0) <= (i64toi32_i32$1 | 0)) { + if (i64toi32_i32$2 >>> 0 >= i64toi32_i32$0 >>> 0) { + $224 = 0 + } else { + $224 = 1 + } + $225 = $224; + } else { + $225 = 0 + } + $223 = $225; + } + label$45 : { + if (!($223 & 1 | 0)) { + break label$45 + } + label$46 : { + label$47 : { + label$48 : { + label$49 : { + label$50 : while (1) { + btConvexHullInternal__Point32__operator__28btConvexHullInternal__Point32_20const__29_20const($9 + 240 | 0 | 0, $9 + 664 | 0 | 0, $9 + 680 | 0 | 0); + i64toi32_i32$2 = btConvexHullInternal__Point32__dot_28btConvexHullInternal__Point32_20const__29_20const($9 + 240 | 0 | 0, $9 + 648 | 0 | 0) | 0; + i64toi32_i32$5 = i64toi32_i32$HIGH_BITS; + $2403 = i64toi32_i32$2; + i64toi32_i32$2 = $9; + HEAP32[($9 + 256 | 0) >> 2] = $2403; + HEAP32[($9 + 260 | 0) >> 2] = i64toi32_i32$5; + label$51 : { + if (!((HEAP32[(HEAP32[($9 + 716 | 0) >> 2] | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$51 + } + if (!((HEAP32[((HEAP32[(HEAP32[($9 + 716 | 0) >> 2] | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) != (HEAP32[($9 + 708 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$51 + } + HEAP32[($9 + 236 | 0) >> 2] = HEAP32[((HEAP32[((HEAP32[(HEAP32[($9 + 716 | 0) >> 2] | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + label$52 : { + if (!((HEAP32[((HEAP32[($9 + 236 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0) > (HEAP32[($10 + 100 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$52 + } + btConvexHullInternal__Point32__operator__28btConvexHullInternal__Point32_20const__29_20const($9 + 208 | 0 | 0, (HEAP32[((HEAP32[($9 + 236 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + 88 | 0 | 0, $9 + 664 | 0 | 0); + i64toi32_i32$5 = btConvexHullInternal__Point32__dot_28btConvexHullInternal__Point64_20const__29_20const($9 + 208 | 0 | 0, $9 + 576 | 0 | 0) | 0; + i64toi32_i32$2 = i64toi32_i32$HIGH_BITS; + $2492 = i64toi32_i32$5; + i64toi32_i32$5 = $9; + HEAP32[($9 + 224 | 0) >> 2] = $2492; + HEAP32[($9 + 228 | 0) >> 2] = i64toi32_i32$2; + btConvexHullInternal__Point32__operator__28btConvexHullInternal__Point32_20const__29_20const($9 + 184 | 0 | 0, (HEAP32[((HEAP32[($9 + 236 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + 88 | 0 | 0, $9 + 664 | 0 | 0); + i64toi32_i32$2 = btConvexHullInternal__Point32__dot_28btConvexHullInternal__Point32_20const__29_20const($9 + 184 | 0 | 0, $9 + 648 | 0 | 0) | 0; + i64toi32_i32$5 = i64toi32_i32$HIGH_BITS; + $2523 = i64toi32_i32$2; + i64toi32_i32$2 = $9; + HEAP32[($9 + 200 | 0) >> 2] = $2523; + HEAP32[($9 + 204 | 0) >> 2] = i64toi32_i32$5; + i64toi32_i32$0 = $9; + i64toi32_i32$5 = HEAP32[($9 + 224 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($9 + 228 | 0) >> 2] | 0; + $786$hi = i64toi32_i32$2; + i64toi32_i32$2 = 0; + $787$hi = i64toi32_i32$2; + i64toi32_i32$2 = $786$hi; + i64toi32_i32$2 = $787$hi; + i64toi32_i32$2 = $786$hi; + i64toi32_i32$2 = $787$hi; + i64toi32_i32$2 = $786$hi; + i64toi32_i32$0 = i64toi32_i32$5; + i64toi32_i32$5 = $787$hi; + i64toi32_i32$1 = 0; + label$53 : { + label$54 : { + if (!(((i64toi32_i32$0 | 0) == (i64toi32_i32$1 | 0) & (i64toi32_i32$2 | 0) == (i64toi32_i32$5 | 0) | 0) & 1 | 0)) { + break label$54 + } + i64toi32_i32$1 = $9; + i64toi32_i32$0 = HEAP32[($9 + 200 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($9 + 204 | 0) >> 2] | 0; + $793$hi = i64toi32_i32$2; + i64toi32_i32$2 = 0; + $794$hi = i64toi32_i32$2; + i64toi32_i32$2 = $793$hi; + i64toi32_i32$2 = $794$hi; + i64toi32_i32$2 = $793$hi; + i64toi32_i32$2 = $794$hi; + i64toi32_i32$2 = $793$hi; + i64toi32_i32$1 = i64toi32_i32$0; + i64toi32_i32$0 = $794$hi; + i64toi32_i32$5 = 0; + if ((i64toi32_i32$2 | 0) > (i64toi32_i32$0 | 0)) { + $227 = 1 + } else { + if ((i64toi32_i32$2 | 0) >= (i64toi32_i32$0 | 0)) { + if (i64toi32_i32$1 >>> 0 <= i64toi32_i32$5 >>> 0) { + $228 = 0 + } else { + $228 = 1 + } + $229 = $228; + } else { + $229 = 0 + } + $227 = $229; + } + $798 = $227; + break label$53; + } + i64toi32_i32$5 = $9; + i64toi32_i32$1 = HEAP32[($9 + 224 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($9 + 228 | 0) >> 2] | 0; + $799$hi = i64toi32_i32$2; + i64toi32_i32$2 = 0; + $800$hi = i64toi32_i32$2; + i64toi32_i32$2 = $799$hi; + i64toi32_i32$2 = $800$hi; + i64toi32_i32$2 = $799$hi; + i64toi32_i32$2 = $800$hi; + i64toi32_i32$2 = $799$hi; + i64toi32_i32$5 = i64toi32_i32$1; + i64toi32_i32$1 = $800$hi; + i64toi32_i32$0 = 0; + if ((i64toi32_i32$2 | 0) < (i64toi32_i32$1 | 0)) { + $230 = 1 + } else { + if ((i64toi32_i32$2 | 0) <= (i64toi32_i32$1 | 0)) { + if (i64toi32_i32$5 >>> 0 >= i64toi32_i32$0 >>> 0) { + $231 = 0 + } else { + $231 = 1 + } + $232 = $231; + } else { + $232 = 0 + } + $230 = $232; + } + $807 = 0; + label$55 : { + if (!($230 & 1 | 0)) { + break label$55 + } + i64toi32_i32$0 = $9; + i64toi32_i32$5 = HEAP32[($9 + 200 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($9 + 204 | 0) >> 2] | 0; + $808 = i64toi32_i32$5; + $808$hi = i64toi32_i32$2; + i64toi32_i32$0 = $9; + i64toi32_i32$2 = HEAP32[($9 + 224 | 0) >> 2] | 0; + i64toi32_i32$5 = HEAP32[($9 + 228 | 0) >> 2] | 0; + $809$hi = i64toi32_i32$5; + i64toi32_i32$5 = $808$hi; + i64toi32_i32$5 = $809$hi; + $2567 = i64toi32_i32$2; + i64toi32_i32$5 = $808$hi; + i64toi32_i32$2 = $809$hi; + btConvexHullInternal__Rational64__Rational64_28long_20long_2c_20long_20long_29($9 + 160 | 0 | 0, $808 | 0, i64toi32_i32$5 | 0, $2567 | 0, i64toi32_i32$2 | 0) | 0; + i64toi32_i32$0 = $9; + i64toi32_i32$2 = HEAP32[($9 + 256 | 0) >> 2] | 0; + i64toi32_i32$5 = HEAP32[($9 + 260 | 0) >> 2] | 0; + $813 = i64toi32_i32$2; + $813$hi = i64toi32_i32$5; + i64toi32_i32$0 = $9; + i64toi32_i32$5 = HEAP32[($9 + 520 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($9 + 524 | 0) >> 2] | 0; + $814$hi = i64toi32_i32$2; + i64toi32_i32$2 = $813$hi; + i64toi32_i32$2 = $814$hi; + $2579 = i64toi32_i32$5; + i64toi32_i32$2 = $813$hi; + i64toi32_i32$5 = $814$hi; + btConvexHullInternal__Rational64__Rational64_28long_20long_2c_20long_20long_29($9 + 136 | 0 | 0, $813 | 0, i64toi32_i32$2 | 0, $2579 | 0, i64toi32_i32$5 | 0) | 0; + $807 = (btConvexHullInternal__Rational64__compare_28btConvexHullInternal__Rational64_20const__29_20const($9 + 160 | 0 | 0, $9 + 136 | 0 | 0) | 0 | 0) <= (0 | 0); + } + $798 = $807; + } + label$56 : { + if (!($798 & 1 | 0)) { + break label$56 + } + $836 = (HEAP32[((HEAP32[($9 + 236 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + 88 | 0; + $837 = 8; + i64toi32_i32$0 = $836 + $837 | 0; + i64toi32_i32$5 = HEAP32[i64toi32_i32$0 >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] | 0; + $2625 = i64toi32_i32$5; + i64toi32_i32$5 = ($9 + 664 | 0) + $837 | 0; + HEAP32[i64toi32_i32$5 >> 2] = $2625; + HEAP32[(i64toi32_i32$5 + 4 | 0) >> 2] = i64toi32_i32$2; + i64toi32_i32$0 = $836; + i64toi32_i32$2 = HEAP32[i64toi32_i32$0 >> 2] | 0; + i64toi32_i32$5 = HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] | 0; + $2629 = i64toi32_i32$2; + i64toi32_i32$2 = $9; + HEAP32[($9 + 664 | 0) >> 2] = $2629; + HEAP32[($9 + 668 | 0) >> 2] = i64toi32_i32$5; + btConvexHullInternal__Point32__operator__28btConvexHullInternal__Point32_20const__29_20const($9 + 120 | 0 | 0, $9 + 664 | 0 | 0, $9 + 680 | 0 | 0); + i64toi32_i32$5 = btConvexHullInternal__Point32__dot_28btConvexHullInternal__Point64_20const__29_20const($9 + 120 | 0 | 0, $9 + 576 | 0 | 0) | 0; + i64toi32_i32$2 = i64toi32_i32$HIGH_BITS; + $2657 = i64toi32_i32$5; + i64toi32_i32$5 = $9; + HEAP32[($9 + 520 | 0) >> 2] = $2657; + HEAP32[($9 + 524 | 0) >> 2] = i64toi32_i32$2; + label$57 : { + label$58 : { + if (!((HEAP32[(HEAP32[($9 + 716 | 0) >> 2] | 0) >> 2] | 0 | 0) == (HEAP32[($9 + 700 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$58 + } + $869 = 0; + break label$57; + } + $869 = HEAP32[($9 + 236 | 0) >> 2] | 0; + } + HEAP32[(HEAP32[($9 + 716 | 0) >> 2] | 0) >> 2] = $869; + continue label$50; + } + } + } + if (!((HEAP32[(HEAP32[($9 + 720 | 0) >> 2] | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$46 + } + if (!((HEAP32[((HEAP32[(HEAP32[($9 + 720 | 0) >> 2] | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) != (HEAP32[($9 + 712 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$46 + } + HEAP32[($9 + 116 | 0) >> 2] = HEAP32[((HEAP32[((HEAP32[(HEAP32[($9 + 720 | 0) >> 2] | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + if (!((HEAP32[((HEAP32[($9 + 116 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0) > (HEAP32[($10 + 100 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$47 + } + btConvexHullInternal__Point32__operator__28btConvexHullInternal__Point32_20const__29_20const($9 + 100 | 0 | 0, (HEAP32[((HEAP32[($9 + 116 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + 88 | 0 | 0, $9 + 680 | 0 | 0); + i64toi32_i32$2 = btConvexHullInternal__Point32__dot_28btConvexHullInternal__Point64_20const__29_20const($9 + 100 | 0 | 0, $9 + 624 | 0 | 0) | 0; + i64toi32_i32$5 = i64toi32_i32$HIGH_BITS; + $918$hi = i64toi32_i32$5; + i64toi32_i32$5 = 0; + $919$hi = i64toi32_i32$5; + i64toi32_i32$5 = $918$hi; + i64toi32_i32$5 = $919$hi; + i64toi32_i32$5 = $918$hi; + i64toi32_i32$5 = $919$hi; + i64toi32_i32$5 = $918$hi; + i64toi32_i32$0 = i64toi32_i32$2; + i64toi32_i32$2 = $919$hi; + i64toi32_i32$1 = 0; + if (!(((i64toi32_i32$0 | 0) == (i64toi32_i32$1 | 0) & (i64toi32_i32$5 | 0) == (i64toi32_i32$2 | 0) | 0) & 1 | 0)) { + break label$49 + } + i64toi32_i32$0 = btConvexHullInternal__Point32__dot_28btConvexHullInternal__Point64_20const__29_20const($9 + 100 | 0 | 0, $9 + 576 | 0 | 0) | 0; + i64toi32_i32$5 = i64toi32_i32$HIGH_BITS; + $2792 = i64toi32_i32$0; + i64toi32_i32$0 = $9; + HEAP32[($9 + 88 | 0) >> 2] = $2792; + HEAP32[($9 + 92 | 0) >> 2] = i64toi32_i32$5; + i64toi32_i32$5 = btConvexHullInternal__Point32__dot_28btConvexHullInternal__Point32_20const__29_20const($9 + 100 | 0 | 0, $9 + 648 | 0 | 0) | 0; + i64toi32_i32$0 = i64toi32_i32$HIGH_BITS; + $2805 = i64toi32_i32$5; + i64toi32_i32$5 = $9; + HEAP32[($9 + 80 | 0) >> 2] = $2805; + HEAP32[($9 + 84 | 0) >> 2] = i64toi32_i32$0; + btConvexHullInternal__Point32__operator__28btConvexHullInternal__Point32_20const__29_20const($9 + 56 | 0 | 0, $9 + 664 | 0 | 0, (HEAP32[((HEAP32[($9 + 116 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + 88 | 0 | 0); + i64toi32_i32$0 = btConvexHullInternal__Point32__dot_28btConvexHullInternal__Point64_20const__29_20const($9 + 56 | 0 | 0, $9 + 576 | 0 | 0) | 0; + i64toi32_i32$5 = i64toi32_i32$HIGH_BITS; + $2836 = i64toi32_i32$0; + i64toi32_i32$0 = $9; + HEAP32[($9 + 72 | 0) >> 2] = $2836; + HEAP32[($9 + 76 | 0) >> 2] = i64toi32_i32$5; + i64toi32_i32$1 = $9; + i64toi32_i32$5 = HEAP32[($9 + 72 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($9 + 76 | 0) >> 2] | 0; + $956$hi = i64toi32_i32$0; + i64toi32_i32$0 = 0; + $957$hi = i64toi32_i32$0; + i64toi32_i32$0 = $956$hi; + i64toi32_i32$0 = $957$hi; + i64toi32_i32$0 = $956$hi; + i64toi32_i32$0 = $957$hi; + i64toi32_i32$0 = $956$hi; + i64toi32_i32$1 = i64toi32_i32$5; + i64toi32_i32$5 = $957$hi; + i64toi32_i32$2 = 0; + if ((i64toi32_i32$0 | 0) < (i64toi32_i32$5 | 0)) { + $233 = 1 + } else { + if ((i64toi32_i32$0 | 0) <= (i64toi32_i32$5 | 0)) { + if (i64toi32_i32$1 >>> 0 >= i64toi32_i32$2 >>> 0) { + $234 = 0 + } else { + $234 = 1 + } + $235 = $234; + } else { + $235 = 0 + } + $233 = $235; + } + $964 = 0; + label$59 : { + if (!($233 & 1 | 0)) { + break label$59 + } + i64toi32_i32$2 = $9; + i64toi32_i32$1 = HEAP32[($9 + 88 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($9 + 92 | 0) >> 2] | 0; + $965$hi = i64toi32_i32$0; + i64toi32_i32$0 = 0; + $966$hi = i64toi32_i32$0; + i64toi32_i32$0 = $965$hi; + i64toi32_i32$0 = $966$hi; + i64toi32_i32$0 = $965$hi; + i64toi32_i32$0 = $966$hi; + i64toi32_i32$0 = $965$hi; + i64toi32_i32$2 = i64toi32_i32$1; + i64toi32_i32$1 = $966$hi; + i64toi32_i32$5 = 0; + label$60 : { + label$61 : { + if (!(((i64toi32_i32$2 | 0) == (i64toi32_i32$5 | 0) & (i64toi32_i32$0 | 0) == (i64toi32_i32$1 | 0) | 0) & 1 | 0)) { + break label$61 + } + i64toi32_i32$5 = $9; + i64toi32_i32$2 = HEAP32[($9 + 80 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($9 + 84 | 0) >> 2] | 0; + $972$hi = i64toi32_i32$0; + i64toi32_i32$0 = 0; + $973$hi = i64toi32_i32$0; + i64toi32_i32$0 = $972$hi; + i64toi32_i32$0 = $973$hi; + i64toi32_i32$0 = $972$hi; + i64toi32_i32$0 = $973$hi; + i64toi32_i32$0 = $972$hi; + i64toi32_i32$5 = i64toi32_i32$2; + i64toi32_i32$2 = $973$hi; + i64toi32_i32$1 = 0; + if ((i64toi32_i32$0 | 0) > (i64toi32_i32$2 | 0)) { + $236 = 1 + } else { + if ((i64toi32_i32$0 | 0) >= (i64toi32_i32$2 | 0)) { + if (i64toi32_i32$5 >>> 0 <= i64toi32_i32$1 >>> 0) { + $237 = 0 + } else { + $237 = 1 + } + $238 = $237; + } else { + $238 = 0 + } + $236 = $238; + } + $977 = $236; + break label$60; + } + i64toi32_i32$1 = $9; + i64toi32_i32$5 = HEAP32[($9 + 88 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($9 + 92 | 0) >> 2] | 0; + $978$hi = i64toi32_i32$0; + i64toi32_i32$0 = 0; + $979$hi = i64toi32_i32$0; + i64toi32_i32$0 = $978$hi; + i64toi32_i32$0 = $979$hi; + i64toi32_i32$0 = $978$hi; + i64toi32_i32$0 = $979$hi; + i64toi32_i32$0 = $978$hi; + i64toi32_i32$1 = i64toi32_i32$5; + i64toi32_i32$5 = $979$hi; + i64toi32_i32$2 = 0; + if ((i64toi32_i32$0 | 0) < (i64toi32_i32$5 | 0)) { + $241 = 1 + } else { + if ((i64toi32_i32$0 | 0) <= (i64toi32_i32$5 | 0)) { + if (i64toi32_i32$1 >>> 0 >= i64toi32_i32$2 >>> 0) { + $242 = 0 + } else { + $242 = 1 + } + $243 = $242; + } else { + $243 = 0 + } + $241 = $243; + } + $986 = 0; + label$62 : { + if (!($241 & 1 | 0)) { + break label$62 + } + i64toi32_i32$2 = $9; + i64toi32_i32$1 = HEAP32[($9 + 80 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($9 + 84 | 0) >> 2] | 0; + $987 = i64toi32_i32$1; + $987$hi = i64toi32_i32$0; + i64toi32_i32$2 = $9; + i64toi32_i32$0 = HEAP32[($9 + 88 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($9 + 92 | 0) >> 2] | 0; + $988$hi = i64toi32_i32$1; + i64toi32_i32$1 = $987$hi; + i64toi32_i32$1 = $988$hi; + $2893 = i64toi32_i32$0; + i64toi32_i32$1 = $987$hi; + i64toi32_i32$0 = $988$hi; + btConvexHullInternal__Rational64__Rational64_28long_20long_2c_20long_20long_29($9 + 32 | 0 | 0, $987 | 0, i64toi32_i32$1 | 0, $2893 | 0, i64toi32_i32$0 | 0) | 0; + i64toi32_i32$2 = $9; + i64toi32_i32$0 = HEAP32[($9 + 256 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($9 + 260 | 0) >> 2] | 0; + $992 = i64toi32_i32$0; + $992$hi = i64toi32_i32$1; + i64toi32_i32$2 = $9; + i64toi32_i32$1 = HEAP32[($9 + 520 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($9 + 524 | 0) >> 2] | 0; + $993$hi = i64toi32_i32$0; + i64toi32_i32$0 = $992$hi; + i64toi32_i32$0 = $993$hi; + $2905 = i64toi32_i32$1; + i64toi32_i32$0 = $992$hi; + i64toi32_i32$1 = $993$hi; + btConvexHullInternal__Rational64__Rational64_28long_20long_2c_20long_20long_29($9 + 8 | 0 | 0, $992 | 0, i64toi32_i32$0 | 0, $2905 | 0, i64toi32_i32$1 | 0) | 0; + $986 = (btConvexHullInternal__Rational64__compare_28btConvexHullInternal__Rational64_20const__29_20const($9 + 32 | 0 | 0, $9 + 8 | 0 | 0) | 0 | 0) < (0 | 0); + } + $977 = $986; + } + $964 = $977; + } + label$63 : { + if (!($964 & 1 | 0)) { + break label$63 + } + HEAP32[(HEAP32[($9 + 720 | 0) >> 2] | 0) >> 2] = HEAP32[($9 + 116 | 0) >> 2] | 0; + $1019 = (HEAP32[((HEAP32[(HEAP32[($9 + 720 | 0) >> 2] | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + 88 | 0; + $1020 = 8; + i64toi32_i32$2 = $1019 + $1020 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $2961 = i64toi32_i32$1; + i64toi32_i32$1 = ($9 + 680 | 0) + $1020 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $2961; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$2 = $1019; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $2965 = i64toi32_i32$0; + i64toi32_i32$0 = $9; + HEAP32[($9 + 680 | 0) >> 2] = $2965; + HEAP32[($9 + 684 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$2 = $9; + i64toi32_i32$1 = HEAP32[($9 + 72 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($9 + 76 | 0) >> 2] | 0; + $2969 = i64toi32_i32$1; + i64toi32_i32$1 = $9; + HEAP32[($9 + 520 | 0) >> 2] = $2969; + HEAP32[($9 + 524 | 0) >> 2] = i64toi32_i32$0; + continue label$50; + } + break label$50; + }; + break label$48; + } + label$64 : { + label$65 : { + if (!((HEAP32[(HEAP32[($9 + 720 | 0) >> 2] | 0) >> 2] | 0 | 0) == (HEAP32[($9 + 704 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$65 + } + i64toi32_i32$0 = btConvexHullInternal__Point32__dot_28btConvexHullInternal__Point64_20const__29_20const($9 + 100 | 0 | 0, $9 + 624 | 0 | 0) | 0; + i64toi32_i32$1 = i64toi32_i32$HIGH_BITS; + $1042$hi = i64toi32_i32$1; + i64toi32_i32$1 = 0; + $1043$hi = i64toi32_i32$1; + i64toi32_i32$1 = $1042$hi; + i64toi32_i32$1 = $1043$hi; + i64toi32_i32$1 = $1042$hi; + i64toi32_i32$1 = $1043$hi; + i64toi32_i32$1 = $1042$hi; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$0 = $1043$hi; + i64toi32_i32$5 = 0; + if ((i64toi32_i32$1 | 0) < (i64toi32_i32$0 | 0)) { + $244 = 1 + } else { + if ((i64toi32_i32$1 | 0) <= (i64toi32_i32$0 | 0)) { + if (i64toi32_i32$2 >>> 0 >= i64toi32_i32$5 >>> 0) { + $245 = 0 + } else { + $245 = 1 + } + $246 = $245; + } else { + $246 = 0 + } + $244 = $246; + } + if ($244 & 1 | 0) { + break label$64 + } + } + __assert_fail(86803 | 0, 72732 | 0, 1646 | 0, 70286 | 0); + wasm2js_trap(); + } + } + } + } + } + } + __stack_pointer = $9 + 736 | 0; + return; + } + + function btConvexHullInternal__Point32__operator__28btConvexHullInternal__Point32_20const__29_20const($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $5 = 0, $6 = 0; + $5 = __stack_pointer - 16 | 0; + __stack_pointer = $5; + HEAP32[($5 + 12 | 0) >> 2] = $1; + HEAP32[($5 + 8 | 0) >> 2] = $2; + $6 = HEAP32[($5 + 12 | 0) >> 2] | 0; + btConvexHullInternal__Point32__Point32_28int_2c_20int_2c_20int_29($0 | 0, (HEAP32[$6 >> 2] | 0) - (HEAP32[(HEAP32[($5 + 8 | 0) >> 2] | 0) >> 2] | 0) | 0 | 0, (HEAP32[($6 + 4 | 0) >> 2] | 0) - (HEAP32[((HEAP32[($5 + 8 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) | 0 | 0, (HEAP32[($6 + 8 | 0) >> 2] | 0) - (HEAP32[((HEAP32[($5 + 8 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) | 0 | 0) | 0; + __stack_pointer = $5 + 16 | 0; + return; + } + + function btConvexHullInternal__Rational64__Rational64_28long_20long_2c_20long_20long_29($0, $1, $1$hi, $2, $2$hi) { + $0 = $0 | 0; + $1 = $1 | 0; + $1$hi = $1$hi | 0; + $2 = $2 | 0; + $2$hi = $2$hi | 0; + var i64toi32_i32$2 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$5 = 0, $5 = 0, $6 = 0, i64toi32_i32$3 = 0, i64toi32_i32$4 = 0, $7$hi = 0, $8$hi = 0, $16$hi = 0, $17$hi = 0, i64toi32_i32$6 = 0, $29$hi = 0, $30$hi = 0, $37$hi = 0, $38$hi = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $24$hi = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $47$hi = 0, $83 = 0, $100$hi = 0, $101 = 0, $124 = 0, $146$hi = 0, $147 = 0; + $5 = __stack_pointer - 32 | 0; + HEAP32[($5 + 24 | 0) >> 2] = $0; + i64toi32_i32$0 = $1$hi; + i64toi32_i32$1 = $5; + HEAP32[(i64toi32_i32$1 + 16 | 0) >> 2] = $1; + HEAP32[(i64toi32_i32$1 + 20 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$0 = $2$hi; + HEAP32[(i64toi32_i32$1 + 8 | 0) >> 2] = $2; + HEAP32[(i64toi32_i32$1 + 12 | 0) >> 2] = i64toi32_i32$0; + $6 = HEAP32[(i64toi32_i32$1 + 24 | 0) >> 2] | 0; + HEAP32[(i64toi32_i32$1 + 28 | 0) >> 2] = $6; + i64toi32_i32$2 = i64toi32_i32$1; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 16 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 20 | 0) >> 2] | 0; + $7$hi = i64toi32_i32$1; + i64toi32_i32$1 = 0; + $8$hi = i64toi32_i32$1; + i64toi32_i32$1 = $7$hi; + i64toi32_i32$1 = $8$hi; + i64toi32_i32$1 = $7$hi; + i64toi32_i32$1 = $8$hi; + i64toi32_i32$1 = $7$hi; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$0 = $8$hi; + i64toi32_i32$3 = 0; + if ((i64toi32_i32$1 | 0) > (i64toi32_i32$0 | 0)) { + $30 = 1 + } else { + if ((i64toi32_i32$1 | 0) >= (i64toi32_i32$0 | 0)) { + if (i64toi32_i32$2 >>> 0 <= i64toi32_i32$3 >>> 0) { + $31 = 0 + } else { + $31 = 1 + } + $32 = $31; + } else { + $32 = 0 + } + $30 = $32; + } + label$1 : { + label$2 : { + if (!($30 & 1 | 0)) { + break label$2 + } + HEAP32[($6 + 16 | 0) >> 2] = 1; + i64toi32_i32$3 = $5; + i64toi32_i32$2 = HEAP32[($5 + 16 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($5 + 20 | 0) >> 2] | 0; + $83 = i64toi32_i32$2; + i64toi32_i32$2 = $6; + HEAP32[i64toi32_i32$2 >> 2] = $83; + HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] = i64toi32_i32$1; + break label$1; + } + i64toi32_i32$3 = $5; + i64toi32_i32$1 = HEAP32[($5 + 16 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($5 + 20 | 0) >> 2] | 0; + $16$hi = i64toi32_i32$2; + i64toi32_i32$2 = 0; + $17$hi = i64toi32_i32$2; + i64toi32_i32$2 = $16$hi; + i64toi32_i32$2 = $17$hi; + i64toi32_i32$2 = $16$hi; + i64toi32_i32$2 = $17$hi; + i64toi32_i32$2 = $16$hi; + i64toi32_i32$3 = i64toi32_i32$1; + i64toi32_i32$1 = $17$hi; + i64toi32_i32$0 = 0; + if ((i64toi32_i32$2 | 0) < (i64toi32_i32$1 | 0)) { + $33 = 1 + } else { + if ((i64toi32_i32$2 | 0) <= (i64toi32_i32$1 | 0)) { + if (i64toi32_i32$3 >>> 0 >= i64toi32_i32$0 >>> 0) { + $34 = 0 + } else { + $34 = 1 + } + $35 = $34; + } else { + $35 = 0 + } + $33 = $35; + } + label$3 : { + label$4 : { + if (!($33 & 1 | 0)) { + break label$4 + } + HEAP32[($6 + 16 | 0) >> 2] = -1; + i64toi32_i32$0 = $5; + i64toi32_i32$3 = HEAP32[(i64toi32_i32$0 + 16 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$0 + 20 | 0) >> 2] | 0; + $24$hi = i64toi32_i32$2; + i64toi32_i32$2 = 0; + $100$hi = i64toi32_i32$2; + i64toi32_i32$2 = $24$hi; + $101 = i64toi32_i32$3; + i64toi32_i32$2 = $100$hi; + i64toi32_i32$0 = 0; + i64toi32_i32$3 = $24$hi; + i64toi32_i32$1 = $101; + i64toi32_i32$4 = i64toi32_i32$0 - i64toi32_i32$1 | 0; + i64toi32_i32$6 = i64toi32_i32$0 >>> 0 < i64toi32_i32$1 >>> 0; + i64toi32_i32$5 = i64toi32_i32$6 + i64toi32_i32$3 | 0; + i64toi32_i32$5 = i64toi32_i32$2 - i64toi32_i32$5 | 0; + i64toi32_i32$0 = $6; + HEAP32[i64toi32_i32$0 >> 2] = i64toi32_i32$4; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$5; + break label$3; + } + HEAP32[($6 + 16 | 0) >> 2] = 0; + i64toi32_i32$5 = 0; + i64toi32_i32$0 = $6; + HEAP32[i64toi32_i32$0 >> 2] = 0; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$5; + } + } + i64toi32_i32$2 = $5; + i64toi32_i32$5 = HEAP32[(i64toi32_i32$2 + 8 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 12 | 0) >> 2] | 0; + $29$hi = i64toi32_i32$0; + i64toi32_i32$0 = 0; + $30$hi = i64toi32_i32$0; + i64toi32_i32$0 = $29$hi; + i64toi32_i32$0 = $30$hi; + i64toi32_i32$0 = $29$hi; + i64toi32_i32$0 = $30$hi; + i64toi32_i32$0 = $29$hi; + i64toi32_i32$2 = i64toi32_i32$5; + i64toi32_i32$5 = $30$hi; + i64toi32_i32$1 = 0; + if ((i64toi32_i32$0 | 0) > (i64toi32_i32$5 | 0)) { + $36 = 1 + } else { + if ((i64toi32_i32$0 | 0) >= (i64toi32_i32$5 | 0)) { + if (i64toi32_i32$2 >>> 0 <= i64toi32_i32$1 >>> 0) { + $37 = 0 + } else { + $37 = 1 + } + $38 = $37; + } else { + $38 = 0 + } + $36 = $38; + } + label$5 : { + label$6 : { + if (!($36 & 1 | 0)) { + break label$6 + } + i64toi32_i32$1 = $5; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$1 + 8 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$1 + 12 | 0) >> 2] | 0; + $124 = i64toi32_i32$2; + i64toi32_i32$2 = $6; + HEAP32[(i64toi32_i32$2 + 8 | 0) >> 2] = $124; + HEAP32[(i64toi32_i32$2 + 12 | 0) >> 2] = i64toi32_i32$0; + break label$5; + } + i64toi32_i32$1 = $5; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$1 + 8 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$1 + 12 | 0) >> 2] | 0; + $37$hi = i64toi32_i32$2; + i64toi32_i32$2 = 0; + $38$hi = i64toi32_i32$2; + i64toi32_i32$2 = $37$hi; + i64toi32_i32$2 = $38$hi; + i64toi32_i32$2 = $37$hi; + i64toi32_i32$2 = $38$hi; + i64toi32_i32$2 = $37$hi; + i64toi32_i32$1 = i64toi32_i32$0; + i64toi32_i32$0 = $38$hi; + i64toi32_i32$5 = 0; + if ((i64toi32_i32$2 | 0) < (i64toi32_i32$0 | 0)) { + $39 = 1 + } else { + if ((i64toi32_i32$2 | 0) <= (i64toi32_i32$0 | 0)) { + if (i64toi32_i32$1 >>> 0 >= i64toi32_i32$5 >>> 0) { + $40 = 0 + } else { + $40 = 1 + } + $41 = $40; + } else { + $41 = 0 + } + $39 = $41; + } + label$7 : { + label$8 : { + if (!($39 & 1 | 0)) { + break label$8 + } + HEAP32[($6 + 16 | 0) >> 2] = 0 - (HEAP32[($6 + 16 | 0) >> 2] | 0) | 0; + i64toi32_i32$5 = $5; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$5 + 8 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$5 + 12 | 0) >> 2] | 0; + $47$hi = i64toi32_i32$2; + i64toi32_i32$2 = 0; + $146$hi = i64toi32_i32$2; + i64toi32_i32$2 = $47$hi; + $147 = i64toi32_i32$1; + i64toi32_i32$2 = $146$hi; + i64toi32_i32$5 = 0; + i64toi32_i32$1 = $47$hi; + i64toi32_i32$0 = $147; + i64toi32_i32$3 = i64toi32_i32$5 - i64toi32_i32$0 | 0; + i64toi32_i32$6 = i64toi32_i32$5 >>> 0 < i64toi32_i32$0 >>> 0; + i64toi32_i32$4 = i64toi32_i32$6 + i64toi32_i32$1 | 0; + i64toi32_i32$4 = i64toi32_i32$2 - i64toi32_i32$4 | 0; + i64toi32_i32$5 = $6; + HEAP32[(i64toi32_i32$5 + 8 | 0) >> 2] = i64toi32_i32$3; + HEAP32[(i64toi32_i32$5 + 12 | 0) >> 2] = i64toi32_i32$4; + break label$7; + } + i64toi32_i32$4 = 0; + i64toi32_i32$5 = $6; + HEAP32[(i64toi32_i32$5 + 8 | 0) >> 2] = 0; + HEAP32[(i64toi32_i32$5 + 12 | 0) >> 2] = i64toi32_i32$4; + } + } + return HEAP32[($5 + 28 | 0) >> 2] | 0 | 0; + } + + function btConvexHullInternal__findMaxAngle_28bool_2c_20btConvexHullInternal__Vertex_20const__2c_20btConvexHullInternal__Point32_20const__2c_20btConvexHullInternal__Point64_20const__2c_20btConvexHullInternal__Point64_20const__2c_20btConvexHullInternal__Rational64__29($0, $1, $2, $3, $4, $5, $6) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + $4 = $4 | 0; + $5 = $5 | 0; + $6 = $6 | 0; + var $9 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$3 = 0, i64toi32_i32$2 = 0, $62$hi = 0, $63$hi = 0, $73$hi = 0, $74$hi = 0, $40$hi = 0, $45$hi = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $91 = 0, $93 = 0, $99 = 0, $110 = 0, $117 = 0, $119 = 0, $125 = 0, $11 = 0, $40 = 0, $263 = 0, $340 = 0, $366 = 0, $397 = 0, $423 = 0, $165 = 0; + $9 = __stack_pointer - 96 | 0; + __stack_pointer = $9; + HEAP32[($9 + 92 | 0) >> 2] = $0; + HEAP8[($9 + 91 | 0) >> 0] = $1; + HEAP32[($9 + 84 | 0) >> 2] = $2; + HEAP32[($9 + 80 | 0) >> 2] = $3; + HEAP32[($9 + 76 | 0) >> 2] = $4; + HEAP32[($9 + 72 | 0) >> 2] = $5; + HEAP32[($9 + 68 | 0) >> 2] = $6; + $11 = HEAP32[($9 + 92 | 0) >> 2] | 0; + HEAP32[($9 + 64 | 0) >> 2] = 0; + HEAP32[($9 + 60 | 0) >> 2] = HEAP32[((HEAP32[($9 + 84 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + label$1 : { + if (!((HEAP32[($9 + 60 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + label$2 : while (1) { + label$3 : { + if (!((HEAP32[((HEAP32[($9 + 60 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0) > (HEAP32[($11 + 100 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$3 + } + btConvexHullInternal__Vertex__operator__28btConvexHullInternal__Vertex_20const__29_20const($9 + 44 | 0 | 0, HEAP32[((HEAP32[($9 + 60 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0, HEAP32[($9 + 84 | 0) >> 2] | 0 | 0); + i64toi32_i32$0 = btConvexHullInternal__Point32__dot_28btConvexHullInternal__Point64_20const__29_20const($9 + 44 | 0 | 0, HEAP32[($9 + 72 | 0) >> 2] | 0 | 0) | 0; + i64toi32_i32$1 = i64toi32_i32$HIGH_BITS; + $40 = i64toi32_i32$0; + $40$hi = i64toi32_i32$1; + i64toi32_i32$1 = btConvexHullInternal__Point32__dot_28btConvexHullInternal__Point64_20const__29_20const($9 + 44 | 0 | 0, HEAP32[($9 + 76 | 0) >> 2] | 0 | 0) | 0; + i64toi32_i32$0 = i64toi32_i32$HIGH_BITS; + $45$hi = i64toi32_i32$0; + i64toi32_i32$0 = $40$hi; + i64toi32_i32$0 = $45$hi; + $263 = i64toi32_i32$1; + i64toi32_i32$0 = $40$hi; + i64toi32_i32$1 = $45$hi; + btConvexHullInternal__Rational64__Rational64_28long_20long_2c_20long_20long_29($9 + 16 | 0 | 0, $40 | 0, i64toi32_i32$0 | 0, $263 | 0, i64toi32_i32$1 | 0) | 0; + label$4 : { + label$5 : { + if (!((btConvexHullInternal__Rational64__isNaN_28_29_20const($9 + 16 | 0 | 0) | 0) & 1 | 0)) { + break label$5 + } + label$6 : { + label$7 : { + label$8 : { + if (!((HEAPU8[($9 + 91 | 0) >> 0] | 0) & 1 | 0)) { + break label$8 + } + i64toi32_i32$1 = btConvexHullInternal__Point32__dot_28btConvexHullInternal__Point32_20const__29_20const($9 + 44 | 0 | 0, HEAP32[($9 + 80 | 0) >> 2] | 0 | 0) | 0; + i64toi32_i32$0 = i64toi32_i32$HIGH_BITS; + $62$hi = i64toi32_i32$0; + i64toi32_i32$0 = 0; + $63$hi = i64toi32_i32$0; + i64toi32_i32$0 = $62$hi; + i64toi32_i32$0 = $63$hi; + i64toi32_i32$0 = $62$hi; + i64toi32_i32$0 = $63$hi; + i64toi32_i32$0 = $62$hi; + i64toi32_i32$2 = i64toi32_i32$1; + i64toi32_i32$1 = $63$hi; + i64toi32_i32$3 = 0; + if ((i64toi32_i32$0 | 0) < (i64toi32_i32$1 | 0)) { + $33 = 1 + } else { + if ((i64toi32_i32$0 | 0) <= (i64toi32_i32$1 | 0)) { + if (i64toi32_i32$2 >>> 0 >= i64toi32_i32$3 >>> 0) { + $34 = 0 + } else { + $34 = 1 + } + $35 = $34; + } else { + $35 = 0 + } + $33 = $35; + } + if ($33 & 1 | 0) { + break label$6 + } + break label$7; + } + i64toi32_i32$2 = btConvexHullInternal__Point32__dot_28btConvexHullInternal__Point32_20const__29_20const($9 + 44 | 0 | 0, HEAP32[($9 + 80 | 0) >> 2] | 0 | 0) | 0; + i64toi32_i32$0 = i64toi32_i32$HIGH_BITS; + $73$hi = i64toi32_i32$0; + i64toi32_i32$0 = 0; + $74$hi = i64toi32_i32$0; + i64toi32_i32$0 = $73$hi; + i64toi32_i32$0 = $74$hi; + i64toi32_i32$0 = $73$hi; + i64toi32_i32$0 = $74$hi; + i64toi32_i32$0 = $73$hi; + i64toi32_i32$3 = i64toi32_i32$2; + i64toi32_i32$2 = $74$hi; + i64toi32_i32$1 = 0; + if ((i64toi32_i32$0 | 0) > (i64toi32_i32$2 | 0)) { + $36 = 1 + } else { + if ((i64toi32_i32$0 | 0) >= (i64toi32_i32$2 | 0)) { + if (i64toi32_i32$3 >>> 0 <= i64toi32_i32$1 >>> 0) { + $37 = 0 + } else { + $37 = 1 + } + $38 = $37; + } else { + $38 = 0 + } + $36 = $38; + } + if ($36 & 1 | 0) { + break label$6 + } + } + __assert_fail(86726 | 0, 72732 | 0, 1446 | 0, 81886 | 0); + wasm2js_trap(); + } + break label$4; + } + label$9 : { + label$10 : { + if (!((HEAP32[($9 + 64 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0)) { + break label$10 + } + $91 = HEAP32[($9 + 68 | 0) >> 2] | 0; + i64toi32_i32$1 = $9; + i64toi32_i32$3 = HEAP32[($9 + 16 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($9 + 20 | 0) >> 2] | 0; + $340 = i64toi32_i32$3; + i64toi32_i32$3 = $91; + HEAP32[i64toi32_i32$3 >> 2] = $340; + HEAP32[(i64toi32_i32$3 + 4 | 0) >> 2] = i64toi32_i32$0; + $93 = 16; + HEAP32[(i64toi32_i32$3 + $93 | 0) >> 2] = HEAP32[(($9 + 16 | 0) + $93 | 0) >> 2] | 0; + $99 = 8; + i64toi32_i32$1 = ($9 + 16 | 0) + $99 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$1 >> 2] | 0; + i64toi32_i32$3 = HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] | 0; + $366 = i64toi32_i32$0; + i64toi32_i32$0 = $91 + $99 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $366; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$3; + HEAP32[($9 + 64 | 0) >> 2] = HEAP32[($9 + 60 | 0) >> 2] | 0; + break label$9; + } + $110 = btConvexHullInternal__Rational64__compare_28btConvexHullInternal__Rational64_20const__29_20const($9 + 16 | 0 | 0, HEAP32[($9 + 68 | 0) >> 2] | 0 | 0) | 0; + HEAP32[($9 + 12 | 0) >> 2] = $110; + label$11 : { + label$12 : { + if (!(($110 | 0) < (0 | 0) & 1 | 0)) { + break label$12 + } + $117 = HEAP32[($9 + 68 | 0) >> 2] | 0; + i64toi32_i32$1 = $9; + i64toi32_i32$3 = HEAP32[($9 + 16 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($9 + 20 | 0) >> 2] | 0; + $397 = i64toi32_i32$3; + i64toi32_i32$3 = $117; + HEAP32[i64toi32_i32$3 >> 2] = $397; + HEAP32[(i64toi32_i32$3 + 4 | 0) >> 2] = i64toi32_i32$0; + $119 = 16; + HEAP32[(i64toi32_i32$3 + $119 | 0) >> 2] = HEAP32[(($9 + 16 | 0) + $119 | 0) >> 2] | 0; + $125 = 8; + i64toi32_i32$1 = ($9 + 16 | 0) + $125 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$1 >> 2] | 0; + i64toi32_i32$3 = HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] | 0; + $423 = i64toi32_i32$0; + i64toi32_i32$0 = $117 + $125 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $423; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$3; + HEAP32[($9 + 64 | 0) >> 2] = HEAP32[($9 + 60 | 0) >> 2] | 0; + break label$11; + } + label$13 : { + if (HEAP32[($9 + 12 | 0) >> 2] | 0) { + break label$13 + } + if (!(((HEAPU8[($9 + 91 | 0) >> 0] | 0) & 1 | 0 | 0) == ((btConvexHullInternal__getOrientation_28btConvexHullInternal__Edge_20const__2c_20btConvexHullInternal__Edge_20const__2c_20btConvexHullInternal__Point32_20const__2c_20btConvexHullInternal__Point32_20const__29(HEAP32[($9 + 64 | 0) >> 2] | 0 | 0, HEAP32[($9 + 60 | 0) >> 2] | 0 | 0, HEAP32[($9 + 80 | 0) >> 2] | 0 | 0, $9 + 44 | 0 | 0) | 0 | 0) == (2 | 0) & 1 | 0 | 0) & 1 | 0)) { + break label$13 + } + HEAP32[($9 + 64 | 0) >> 2] = HEAP32[($9 + 60 | 0) >> 2] | 0; + } + } + } + } + } + HEAP32[($9 + 60 | 0) >> 2] = HEAP32[(HEAP32[($9 + 60 | 0) >> 2] | 0) >> 2] | 0; + if ((HEAP32[($9 + 60 | 0) >> 2] | 0 | 0) != (HEAP32[((HEAP32[($9 + 84 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) & 1 | 0) { + continue label$2 + } + break label$2; + }; + } + $165 = HEAP32[($9 + 64 | 0) >> 2] | 0; + __stack_pointer = $9 + 96 | 0; + return $165 | 0; + } + + function btConvexHullInternal__Rational64__isNegativeInfinity_28_29_20const($0) { + $0 = $0 | 0; + var i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, $14$hi = 0, $15$hi = 0, $3 = 0, $4 = 0, $13 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + $13 = 0; + label$1 : { + if (!((HEAP32[($4 + 16 | 0) >> 2] | 0 | 0) < (0 | 0) & 1 | 0)) { + break label$1 + } + i64toi32_i32$2 = $4; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 12 | 0) >> 2] | 0; + $14$hi = i64toi32_i32$1; + i64toi32_i32$1 = 0; + $15$hi = i64toi32_i32$1; + i64toi32_i32$1 = $14$hi; + i64toi32_i32$1 = $15$hi; + i64toi32_i32$1 = $14$hi; + i64toi32_i32$1 = $15$hi; + i64toi32_i32$1 = $14$hi; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$2 + 8 | 0) >> 2] | 0; + $13 = (i64toi32_i32$2 | 0) == (0 | 0) & ($14$hi | 0) == ($15$hi | 0) | 0; + } + return $13 & 1 | 0 | 0; + } + + function btConvexHullInternal__removeEdgePair_28btConvexHullInternal__Edge__29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, $5 = 0; + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; + HEAP32[($4 + 4 | 0) >> 2] = HEAP32[(HEAP32[($4 + 8 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[$4 >> 2] = HEAP32[((HEAP32[($4 + 8 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + label$1 : { + label$2 : { + if (!((HEAP32[((HEAP32[($4 + 8 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$2 + } + if ((HEAP32[((HEAP32[$4 >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$1 + } + } + __assert_fail(68437 | 0, 72732 | 0, 784 | 0, 71040 | 0); + wasm2js_trap(); + } + label$3 : { + label$4 : { + if (!((HEAP32[($4 + 4 | 0) >> 2] | 0 | 0) != (HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$4 + } + HEAP32[((HEAP32[($4 + 4 | 0) >> 2] | 0) + 4 | 0) >> 2] = HEAP32[((HEAP32[($4 + 8 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + HEAP32[(HEAP32[((HEAP32[($4 + 8 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) >> 2] = HEAP32[($4 + 4 | 0) >> 2] | 0; + HEAP32[((HEAP32[((HEAP32[$4 >> 2] | 0) + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] = HEAP32[($4 + 4 | 0) >> 2] | 0; + break label$3; + } + HEAP32[((HEAP32[((HEAP32[$4 >> 2] | 0) + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] = 0; + } + HEAP32[($4 + 4 | 0) >> 2] = HEAP32[(HEAP32[$4 >> 2] | 0) >> 2] | 0; + label$5 : { + label$6 : { + if (!((HEAP32[($4 + 4 | 0) >> 2] | 0 | 0) != (HEAP32[$4 >> 2] | 0 | 0) & 1 | 0)) { + break label$6 + } + HEAP32[((HEAP32[($4 + 4 | 0) >> 2] | 0) + 4 | 0) >> 2] = HEAP32[((HEAP32[$4 >> 2] | 0) + 4 | 0) >> 2] | 0; + HEAP32[(HEAP32[((HEAP32[$4 >> 2] | 0) + 4 | 0) >> 2] | 0) >> 2] = HEAP32[($4 + 4 | 0) >> 2] | 0; + HEAP32[((HEAP32[((HEAP32[($4 + 8 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] = HEAP32[($4 + 4 | 0) >> 2] | 0; + break label$5; + } + HEAP32[((HEAP32[((HEAP32[($4 + 8 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] = 0; + } + btConvexHullInternal__Pool_btConvexHullInternal__Edge___freeObject_28btConvexHullInternal__Edge__29($5 + 48 | 0 | 0, HEAP32[($4 + 8 | 0) >> 2] | 0 | 0); + btConvexHullInternal__Pool_btConvexHullInternal__Edge___freeObject_28btConvexHullInternal__Edge__29($5 + 48 | 0 | 0, HEAP32[$4 >> 2] | 0 | 0); + HEAP32[($5 + 116 | 0) >> 2] = (HEAP32[($5 + 116 | 0) >> 2] | 0) + -1 | 0; + __stack_pointer = $4 + 16 | 0; + return; + } + + function btConvexHullInternal__Point64__dot_28btConvexHullInternal__Point64_20const__29_20const($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, i64toi32_i32$1 = 0, i64toi32_i32$5 = 0, $4 = 0, i64toi32_i32$4 = 0, i64toi32_i32$3 = 0, $5 = 0, $6$hi = 0, $8$hi = 0, $9$hi = 0, $10$hi = 0, $12$hi = 0, $13$hi = 0, $14$hi = 0, $15$hi = 0, $17$hi = 0, $18$hi = 0, $6 = 0, $37 = 0, $9 = 0, $10 = 0, $46 = 0, $49 = 0, $15 = 0, $58 = 0, $61 = 0; + $4 = __stack_pointer - 16 | 0; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; + i64toi32_i32$2 = $5; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $6 = i64toi32_i32$0; + $6$hi = i64toi32_i32$1; + i64toi32_i32$2 = HEAP32[($4 + 8 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $8$hi = i64toi32_i32$0; + i64toi32_i32$0 = $6$hi; + i64toi32_i32$0 = $8$hi; + $37 = i64toi32_i32$1; + i64toi32_i32$0 = $6$hi; + i64toi32_i32$1 = $8$hi; + i64toi32_i32$1 = __wasm_i64_mul($6 | 0, i64toi32_i32$0 | 0, $37 | 0, i64toi32_i32$1 | 0) | 0; + i64toi32_i32$0 = i64toi32_i32$HIGH_BITS; + $9 = i64toi32_i32$1; + $9$hi = i64toi32_i32$0; + i64toi32_i32$2 = $5; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 8 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 12 | 0) >> 2] | 0; + $10 = i64toi32_i32$0; + $10$hi = i64toi32_i32$1; + i64toi32_i32$2 = HEAP32[($4 + 8 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 8 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 12 | 0) >> 2] | 0; + $12$hi = i64toi32_i32$0; + i64toi32_i32$0 = $10$hi; + i64toi32_i32$0 = $12$hi; + $46 = i64toi32_i32$1; + i64toi32_i32$0 = $10$hi; + i64toi32_i32$1 = $12$hi; + i64toi32_i32$1 = __wasm_i64_mul($10 | 0, i64toi32_i32$0 | 0, $46 | 0, i64toi32_i32$1 | 0) | 0; + i64toi32_i32$0 = i64toi32_i32$HIGH_BITS; + $13$hi = i64toi32_i32$0; + i64toi32_i32$0 = $9$hi; + i64toi32_i32$0 = $13$hi; + $49 = i64toi32_i32$1; + i64toi32_i32$0 = $9$hi; + i64toi32_i32$2 = $9; + i64toi32_i32$1 = $13$hi; + i64toi32_i32$3 = $49; + i64toi32_i32$4 = i64toi32_i32$2 + i64toi32_i32$3 | 0; + i64toi32_i32$5 = i64toi32_i32$0 + i64toi32_i32$1 | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + $14$hi = i64toi32_i32$5; + i64toi32_i32$0 = $5; + i64toi32_i32$5 = HEAP32[(i64toi32_i32$0 + 16 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$0 + 20 | 0) >> 2] | 0; + $15 = i64toi32_i32$5; + $15$hi = i64toi32_i32$2; + i64toi32_i32$0 = HEAP32[($4 + 8 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$0 + 16 | 0) >> 2] | 0; + i64toi32_i32$5 = HEAP32[(i64toi32_i32$0 + 20 | 0) >> 2] | 0; + $17$hi = i64toi32_i32$5; + i64toi32_i32$5 = $15$hi; + i64toi32_i32$5 = $17$hi; + $58 = i64toi32_i32$2; + i64toi32_i32$5 = $15$hi; + i64toi32_i32$2 = $17$hi; + i64toi32_i32$2 = __wasm_i64_mul($15 | 0, i64toi32_i32$5 | 0, $58 | 0, i64toi32_i32$2 | 0) | 0; + i64toi32_i32$5 = i64toi32_i32$HIGH_BITS; + $18$hi = i64toi32_i32$5; + i64toi32_i32$5 = $14$hi; + i64toi32_i32$5 = $18$hi; + $61 = i64toi32_i32$2; + i64toi32_i32$5 = $14$hi; + i64toi32_i32$0 = i64toi32_i32$4; + i64toi32_i32$2 = $18$hi; + i64toi32_i32$3 = $61; + i64toi32_i32$1 = i64toi32_i32$0 + i64toi32_i32$3 | 0; + i64toi32_i32$4 = i64toi32_i32$5 + i64toi32_i32$2 | 0; + if (i64toi32_i32$1 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$4 = i64toi32_i32$4 + 1 | 0 + } + i64toi32_i32$0 = i64toi32_i32$1; + i64toi32_i32$HIGH_BITS = i64toi32_i32$4; + return i64toi32_i32$0 | 0; + } + + function btConvexHullInternal__Point64__Point64_28long_20long_2c_20long_20long_2c_20long_20long_29($0, $1, $1$hi, $2, $2$hi, $3, $3$hi) { + $0 = $0 | 0; + $1 = $1 | 0; + $1$hi = $1$hi | 0; + $2 = $2 | 0; + $2$hi = $2$hi | 0; + $3 = $3 | 0; + $3$hi = $3$hi | 0; + var i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, $7 = 0, $6 = 0, $28 = 0, $32 = 0, $36 = 0; + $6 = __stack_pointer - 32 | 0; + HEAP32[($6 + 28 | 0) >> 2] = $0; + i64toi32_i32$0 = $1$hi; + i64toi32_i32$1 = $6; + HEAP32[(i64toi32_i32$1 + 16 | 0) >> 2] = $1; + HEAP32[(i64toi32_i32$1 + 20 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$0 = $2$hi; + HEAP32[(i64toi32_i32$1 + 8 | 0) >> 2] = $2; + HEAP32[(i64toi32_i32$1 + 12 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$0 = $3$hi; + HEAP32[i64toi32_i32$1 >> 2] = $3; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + $7 = HEAP32[(i64toi32_i32$1 + 28 | 0) >> 2] | 0; + i64toi32_i32$2 = i64toi32_i32$1; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$1 + 16 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$1 + 20 | 0) >> 2] | 0; + $28 = i64toi32_i32$0; + i64toi32_i32$0 = $7; + HEAP32[i64toi32_i32$0 >> 2] = $28; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 8 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 12 | 0) >> 2] | 0; + $32 = i64toi32_i32$1; + i64toi32_i32$1 = $7; + HEAP32[(i64toi32_i32$1 + 8 | 0) >> 2] = $32; + HEAP32[(i64toi32_i32$1 + 12 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $36 = i64toi32_i32$0; + i64toi32_i32$0 = $7; + HEAP32[(i64toi32_i32$0 + 16 | 0) >> 2] = $36; + HEAP32[(i64toi32_i32$0 + 20 | 0) >> 2] = i64toi32_i32$1; + return i64toi32_i32$0 | 0; + } + + function btConvexHullInternal__Rational64__isNaN_28_29_20const($0) { + $0 = $0 | 0; + var i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, $8$hi = 0, $9$hi = 0, $3 = 0, $4 = 0, $7 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + $7 = 0; + label$1 : { + if (HEAP32[($4 + 16 | 0) >> 2] | 0) { + break label$1 + } + i64toi32_i32$2 = $4; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 12 | 0) >> 2] | 0; + $8$hi = i64toi32_i32$1; + i64toi32_i32$1 = 0; + $9$hi = i64toi32_i32$1; + i64toi32_i32$1 = $8$hi; + i64toi32_i32$1 = $9$hi; + i64toi32_i32$1 = $8$hi; + i64toi32_i32$1 = $9$hi; + i64toi32_i32$1 = $8$hi; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$2 + 8 | 0) >> 2] | 0; + $7 = (i64toi32_i32$2 | 0) == (0 | 0) & ($8$hi | 0) == ($9$hi | 0) | 0; + } + return $7 & 1 | 0 | 0; + } + + function btConvexHullInternal__Point32__dot_28btConvexHullInternal__Point32_20const__29_20const($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, $5 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0; + $4 = __stack_pointer - 16 | 0; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; + i64toi32_i32$1 = (Math_imul(HEAP32[$5 >> 2] | 0, HEAP32[(HEAP32[($4 + 8 | 0) >> 2] | 0) >> 2] | 0) + Math_imul(HEAP32[($5 + 4 | 0) >> 2] | 0, HEAP32[((HEAP32[($4 + 8 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) | 0) + Math_imul(HEAP32[($5 + 8 | 0) >> 2] | 0, HEAP32[((HEAP32[($4 + 8 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) | 0; + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + i64toi32_i32$HIGH_BITS = i64toi32_i32$0; + return i64toi32_i32$1 | 0; + } + + function btConvexHullInternal__Pool_btConvexHullInternal__Edge___freeObject_28btConvexHullInternal__Edge__29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, $5 = 0; + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; + btConvexHullInternal__Edge___Edge_28_29(HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) | 0; + HEAP32[(HEAP32[($4 + 8 | 0) >> 2] | 0) >> 2] = HEAP32[($5 + 8 | 0) >> 2] | 0; + HEAP32[($5 + 8 | 0) >> 2] = HEAP32[($4 + 8 | 0) >> 2] | 0; + __stack_pointer = $4 + 16 | 0; + return; + } + + function btConvexHullInternal__compute_28void_20const__2c_20bool_2c_20int_2c_20int_29($0, $1, $2, $3, $4) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + $4 = $4 | 0; + var $7 = 0, $9 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, $189 = 0, $278 = 0, $280 = 0, $353 = 0, $370 = Math_fround(0), $376 = 0, $392 = Math_fround(0), $398 = 0, $414 = Math_fround(0), $420 = 0, $476 = 0, $493 = Math_fround(0), $499 = 0, $515 = Math_fround(0), $521 = 0, $537 = Math_fround(0), $543 = 0, $598 = 0, $600 = 0, $1014 = 0, $1027 = 0, $211 = Math_fround(0), $232 = Math_fround(0), $253 = Math_fround(0), $1177 = 0, $1190 = 0, $289 = 0, $1345 = 0, $1349 = 0, $428 = 0, $1584 = 0, $1588 = 0, $551 = 0, $573 = 0, $595 = 0, $1808 = 0, $1818 = 0, $606 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0, wasm2js_f32$0 = Math_fround(0); + $7 = __stack_pointer - 400 | 0; + __stack_pointer = $7; + HEAP32[($7 + 396 | 0) >> 2] = $0; + HEAP32[($7 + 392 | 0) >> 2] = $1; + HEAP8[($7 + 391 | 0) >> 0] = $2; + HEAP32[($7 + 384 | 0) >> 2] = $3; + HEAP32[($7 + 380 | 0) >> 2] = $4; + $9 = HEAP32[($7 + 396 | 0) >> 2] | 0; + HEAPF32[($7 + 360 | 0) >> 2] = Math_fround(1000000015047466219876688.0e6); + HEAPF32[($7 + 356 | 0) >> 2] = Math_fround(1000000015047466219876688.0e6); + HEAPF32[($7 + 352 | 0) >> 2] = Math_fround(1000000015047466219876688.0e6); + btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($7 + 364 | 0 | 0, $7 + 360 | 0 | 0, $7 + 356 | 0 | 0, $7 + 352 | 0 | 0) | 0; + HEAPF32[($7 + 332 | 0) >> 2] = Math_fround(-1000000015047466219876688.0e6); + HEAPF32[($7 + 328 | 0) >> 2] = Math_fround(-1000000015047466219876688.0e6); + HEAPF32[($7 + 324 | 0) >> 2] = Math_fround(-1000000015047466219876688.0e6); + btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($7 + 336 | 0 | 0, $7 + 332 | 0 | 0, $7 + 328 | 0 | 0, $7 + 324 | 0 | 0) | 0; + HEAP32[($7 + 320 | 0) >> 2] = HEAP32[($7 + 392 | 0) >> 2] | 0; + label$1 : { + label$2 : { + if (!((HEAPU8[($7 + 391 | 0) >> 0] | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($7 + 316 | 0) >> 2] = 0; + label$3 : { + label$4 : while (1) { + if (!((HEAP32[($7 + 316 | 0) >> 2] | 0 | 0) < (HEAP32[($7 + 380 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$3 + } + HEAP32[($7 + 312 | 0) >> 2] = HEAP32[($7 + 320 | 0) >> 2] | 0; + HEAPF32[($7 + 292 | 0) >> 2] = Math_fround(+HEAPF64[(HEAP32[($7 + 312 | 0) >> 2] | 0) >> 3]); + HEAPF32[($7 + 288 | 0) >> 2] = Math_fround(+HEAPF64[((HEAP32[($7 + 312 | 0) >> 2] | 0) + 8 | 0) >> 3]); + HEAPF32[($7 + 284 | 0) >> 2] = Math_fround(+HEAPF64[((HEAP32[($7 + 312 | 0) >> 2] | 0) + 16 | 0) >> 3]); + btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($7 + 296 | 0 | 0, $7 + 292 | 0 | 0, $7 + 288 | 0 | 0, $7 + 284 | 0 | 0) | 0; + HEAP32[($7 + 320 | 0) >> 2] = (HEAP32[($7 + 320 | 0) >> 2] | 0) + (HEAP32[($7 + 384 | 0) >> 2] | 0) | 0; + btVector3__setMin_28btVector3_20const__29($7 + 364 | 0 | 0, $7 + 296 | 0 | 0); + btVector3__setMax_28btVector3_20const__29($7 + 336 | 0 | 0, $7 + 296 | 0 | 0); + HEAP32[($7 + 316 | 0) >> 2] = (HEAP32[($7 + 316 | 0) >> 2] | 0) + 1 | 0; + continue label$4; + }; + } + break label$1; + } + HEAP32[($7 + 280 | 0) >> 2] = 0; + label$5 : { + label$6 : while (1) { + if (!((HEAP32[($7 + 280 | 0) >> 2] | 0 | 0) < (HEAP32[($7 + 380 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$5 + } + HEAP32[($7 + 276 | 0) >> 2] = HEAP32[($7 + 320 | 0) >> 2] | 0; + btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($7 + 260 | 0 | 0, HEAP32[($7 + 276 | 0) >> 2] | 0 | 0, (HEAP32[($7 + 276 | 0) >> 2] | 0) + 4 | 0 | 0, (HEAP32[($7 + 276 | 0) >> 2] | 0) + 8 | 0 | 0) | 0; + HEAP32[($7 + 320 | 0) >> 2] = (HEAP32[($7 + 320 | 0) >> 2] | 0) + (HEAP32[($7 + 384 | 0) >> 2] | 0) | 0; + btVector3__setMin_28btVector3_20const__29($7 + 364 | 0 | 0, $7 + 260 | 0 | 0); + btVector3__setMax_28btVector3_20const__29($7 + 336 | 0 | 0, $7 + 260 | 0 | 0); + HEAP32[($7 + 280 | 0) >> 2] = (HEAP32[($7 + 280 | 0) >> 2] | 0) + 1 | 0; + continue label$6; + }; + } + } + operator__28btVector3_20const__2c_20btVector3_20const__29($7 + 244 | 0 | 0, $7 + 336 | 0 | 0, $7 + 364 | 0 | 0); + (wasm2js_i32$0 = $9, wasm2js_i32$1 = btVector3__maxAxis_28_29_20const($7 + 244 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 112 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $9, wasm2js_i32$1 = btVector3__minAxis_28_29_20const($7 + 244 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 104 | 0) >> 2] = wasm2js_i32$1; + label$7 : { + if (!((HEAP32[($9 + 104 | 0) >> 2] | 0 | 0) == (HEAP32[($9 + 112 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$7 + } + HEAP32[($9 + 104 | 0) >> 2] = ((HEAP32[($9 + 112 | 0) >> 2] | 0) + 1 | 0 | 0) % (3 | 0) | 0; + } + HEAP32[($9 + 108 | 0) >> 2] = (3 - (HEAP32[($9 + 112 | 0) >> 2] | 0) | 0) - (HEAP32[($9 + 104 | 0) >> 2] | 0) | 0; + HEAPF32[($7 + 240 | 0) >> 2] = Math_fround(10216.0); + btVector3__operator___28float_20const__29($7 + 244 | 0 | 0, $7 + 240 | 0 | 0) | 0; + label$8 : { + if (!((((HEAP32[($9 + 108 | 0) >> 2] | 0) + 1 | 0 | 0) % (3 | 0) | 0 | 0) != (HEAP32[($9 + 112 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$8 + } + HEAPF32[($7 + 236 | 0) >> 2] = Math_fround(-1.0); + btVector3__operator___28float_20const__29_1($7 + 244 | 0 | 0, $7 + 236 | 0 | 0) | 0; + } + i64toi32_i32$2 = $7; + i64toi32_i32$0 = HEAP32[($7 + 244 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($7 + 248 | 0) >> 2] | 0; + $1014 = i64toi32_i32$0; + i64toi32_i32$0 = $9; + HEAP32[i64toi32_i32$0 >> 2] = $1014; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $189 = 8; + i64toi32_i32$2 = ($7 + 244 | 0) + $189 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $1027 = i64toi32_i32$1; + i64toi32_i32$1 = $9 + $189 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $1027; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + label$9 : { + if (!(Math_fround(HEAPF32[(btVector3__operator_20float__28_29($7 + 244 | 0 | 0) | 0) >> 2]) != Math_fround(0 | 0) & 1 | 0)) { + break label$9 + } + $211 = Math_fround(Math_fround(1.0) / Math_fround(HEAPF32[(btVector3__operator_20float__28_29($7 + 244 | 0 | 0) | 0) >> 2])); + (wasm2js_i32$0 = btVector3__operator_20float__28_29($7 + 244 | 0 | 0) | 0, wasm2js_f32$0 = $211), HEAPF32[wasm2js_i32$0 >> 2] = wasm2js_f32$0; + } + label$10 : { + if (!(Math_fround(HEAPF32[((btVector3__operator_20float__28_29($7 + 244 | 0 | 0) | 0) + 4 | 0) >> 2]) != Math_fround(0 | 0) & 1 | 0)) { + break label$10 + } + $232 = Math_fround(Math_fround(1.0) / Math_fround(HEAPF32[((btVector3__operator_20float__28_29($7 + 244 | 0 | 0) | 0) + 4 | 0) >> 2])); + (wasm2js_i32$0 = btVector3__operator_20float__28_29($7 + 244 | 0 | 0) | 0, wasm2js_f32$0 = $232), HEAPF32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_f32$0; + } + label$11 : { + if (!(Math_fround(HEAPF32[((btVector3__operator_20float__28_29($7 + 244 | 0 | 0) | 0) + 8 | 0) >> 2]) != Math_fround(0 | 0) & 1 | 0)) { + break label$11 + } + $253 = Math_fround(Math_fround(1.0) / Math_fround(HEAPF32[((btVector3__operator_20float__28_29($7 + 244 | 0 | 0) | 0) + 8 | 0) >> 2])); + (wasm2js_i32$0 = btVector3__operator_20float__28_29($7 + 244 | 0 | 0) | 0, wasm2js_f32$0 = $253), HEAPF32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_f32$0; + } + operator__28btVector3_20const__2c_20btVector3_20const__29_2($7 + 204 | 0 | 0, $7 + 364 | 0 | 0, $7 + 336 | 0 | 0); + HEAPF32[($7 + 200 | 0) >> 2] = Math_fround(.5); + operator__28btVector3_20const__2c_20float_20const__29($7 + 220 | 0 | 0, $7 + 204 | 0 | 0, $7 + 200 | 0 | 0); + $278 = $9 + 16 | 0; + i64toi32_i32$2 = $7; + i64toi32_i32$0 = HEAP32[($7 + 220 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($7 + 224 | 0) >> 2] | 0; + $1177 = i64toi32_i32$0; + i64toi32_i32$0 = $278; + HEAP32[i64toi32_i32$0 >> 2] = $1177; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $280 = 8; + i64toi32_i32$2 = ($7 + 220 | 0) + $280 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $1190 = i64toi32_i32$1; + i64toi32_i32$1 = $278 + $280 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $1190; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + btAlignedObjectArray_btConvexHullInternal__Point32___btAlignedObjectArray_28_29($7 + 180 | 0 | 0) | 0; + $289 = HEAP32[($7 + 380 | 0) >> 2] | 0; + btConvexHullInternal__Point32__Point32_28_29($7 + 164 | 0 | 0) | 0; + btAlignedObjectArray_btConvexHullInternal__Point32___resize_28int_2c_20btConvexHullInternal__Point32_20const__29($7 + 180 | 0 | 0, $289 | 0, $7 + 164 | 0 | 0); + HEAP32[($7 + 320 | 0) >> 2] = HEAP32[($7 + 392 | 0) >> 2] | 0; + label$12 : { + label$13 : { + if (!((HEAPU8[($7 + 391 | 0) >> 0] | 0) & 1 | 0)) { + break label$13 + } + HEAP32[($7 + 160 | 0) >> 2] = 0; + label$14 : { + label$15 : while (1) { + if (!((HEAP32[($7 + 160 | 0) >> 2] | 0 | 0) < (HEAP32[($7 + 380 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$14 + } + HEAP32[($7 + 156 | 0) >> 2] = HEAP32[($7 + 320 | 0) >> 2] | 0; + HEAPF32[($7 + 132 | 0) >> 2] = Math_fround(+HEAPF64[(HEAP32[($7 + 156 | 0) >> 2] | 0) >> 3]); + HEAPF32[($7 + 128 | 0) >> 2] = Math_fround(+HEAPF64[((HEAP32[($7 + 156 | 0) >> 2] | 0) + 8 | 0) >> 3]); + HEAPF32[($7 + 124 | 0) >> 2] = Math_fround(+HEAPF64[((HEAP32[($7 + 156 | 0) >> 2] | 0) + 16 | 0) >> 3]); + btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($7 + 136 | 0 | 0, $7 + 132 | 0 | 0, $7 + 128 | 0 | 0, $7 + 124 | 0 | 0) | 0; + HEAP32[($7 + 320 | 0) >> 2] = (HEAP32[($7 + 320 | 0) >> 2] | 0) + (HEAP32[($7 + 384 | 0) >> 2] | 0) | 0; + operator__28btVector3_20const__2c_20btVector3_20const__29($7 + 92 | 0 | 0, $7 + 136 | 0 | 0, $9 + 16 | 0 | 0); + operator__28btVector3_20const__2c_20btVector3_20const__29_1($7 + 108 | 0 | 0, $7 + 92 | 0 | 0, $7 + 244 | 0 | 0); + $353 = 8; + i64toi32_i32$2 = ($7 + 108 | 0) + $353 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $1345 = i64toi32_i32$0; + i64toi32_i32$0 = ($7 + 136 | 0) + $353 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $1345; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$2 = $7; + i64toi32_i32$1 = HEAP32[($7 + 108 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($7 + 112 | 0) >> 2] | 0; + $1349 = i64toi32_i32$1; + i64toi32_i32$1 = $7; + HEAP32[($7 + 136 | 0) >> 2] = $1349; + HEAP32[($7 + 140 | 0) >> 2] = i64toi32_i32$0; + $370 = Math_fround(HEAPF32[((btVector3__operator_20float__28_29($7 + 136 | 0 | 0) | 0) + ((HEAP32[($9 + 108 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2]); + label$16 : { + label$17 : { + if (!(Math_fround(Math_abs($370)) < Math_fround(2147483648.0))) { + break label$17 + } + $376 = ~~$370; + break label$16; + } + $376 = -2147483648; + } + (wasm2js_i32$0 = btAlignedObjectArray_btConvexHullInternal__Point32___operator_5b_5d_28int_29($7 + 180 | 0 | 0, HEAP32[($7 + 160 | 0) >> 2] | 0 | 0) | 0, wasm2js_i32$1 = $376), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + $392 = Math_fround(HEAPF32[((btVector3__operator_20float__28_29($7 + 136 | 0 | 0) | 0) + ((HEAP32[($9 + 112 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2]); + label$18 : { + label$19 : { + if (!(Math_fround(Math_abs($392)) < Math_fround(2147483648.0))) { + break label$19 + } + $398 = ~~$392; + break label$18; + } + $398 = -2147483648; + } + (wasm2js_i32$0 = btAlignedObjectArray_btConvexHullInternal__Point32___operator_5b_5d_28int_29($7 + 180 | 0 | 0, HEAP32[($7 + 160 | 0) >> 2] | 0 | 0) | 0, wasm2js_i32$1 = $398), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + $414 = Math_fround(HEAPF32[((btVector3__operator_20float__28_29($7 + 136 | 0 | 0) | 0) + ((HEAP32[($9 + 104 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2]); + label$20 : { + label$21 : { + if (!(Math_fround(Math_abs($414)) < Math_fround(2147483648.0))) { + break label$21 + } + $420 = ~~$414; + break label$20; + } + $420 = -2147483648; + } + (wasm2js_i32$0 = btAlignedObjectArray_btConvexHullInternal__Point32___operator_5b_5d_28int_29($7 + 180 | 0 | 0, HEAP32[($7 + 160 | 0) >> 2] | 0 | 0) | 0, wasm2js_i32$1 = $420), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + $428 = HEAP32[($7 + 160 | 0) >> 2] | 0; + (wasm2js_i32$0 = btAlignedObjectArray_btConvexHullInternal__Point32___operator_5b_5d_28int_29($7 + 180 | 0 | 0, HEAP32[($7 + 160 | 0) >> 2] | 0 | 0) | 0, wasm2js_i32$1 = $428), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($7 + 160 | 0) >> 2] = (HEAP32[($7 + 160 | 0) >> 2] | 0) + 1 | 0; + continue label$15; + }; + } + break label$12; + } + HEAP32[($7 + 88 | 0) >> 2] = 0; + label$22 : { + label$23 : while (1) { + if (!((HEAP32[($7 + 88 | 0) >> 2] | 0 | 0) < (HEAP32[($7 + 380 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$22 + } + HEAP32[($7 + 84 | 0) >> 2] = HEAP32[($7 + 320 | 0) >> 2] | 0; + btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($7 + 64 | 0 | 0, HEAP32[($7 + 84 | 0) >> 2] | 0 | 0, (HEAP32[($7 + 84 | 0) >> 2] | 0) + 4 | 0 | 0, (HEAP32[($7 + 84 | 0) >> 2] | 0) + 8 | 0 | 0) | 0; + HEAP32[($7 + 320 | 0) >> 2] = (HEAP32[($7 + 320 | 0) >> 2] | 0) + (HEAP32[($7 + 384 | 0) >> 2] | 0) | 0; + operator__28btVector3_20const__2c_20btVector3_20const__29($7 + 32 | 0 | 0, $7 + 64 | 0 | 0, $9 + 16 | 0 | 0); + operator__28btVector3_20const__2c_20btVector3_20const__29_1($7 + 48 | 0 | 0, $7 + 32 | 0 | 0, $7 + 244 | 0 | 0); + $476 = 8; + i64toi32_i32$2 = ($7 + 48 | 0) + $476 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $1584 = i64toi32_i32$0; + i64toi32_i32$0 = ($7 + 64 | 0) + $476 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $1584; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$2 = $7; + i64toi32_i32$1 = HEAP32[($7 + 48 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($7 + 52 | 0) >> 2] | 0; + $1588 = i64toi32_i32$1; + i64toi32_i32$1 = $7; + HEAP32[($7 + 64 | 0) >> 2] = $1588; + HEAP32[($7 + 68 | 0) >> 2] = i64toi32_i32$0; + $493 = Math_fround(HEAPF32[((btVector3__operator_20float__28_29($7 + 64 | 0 | 0) | 0) + ((HEAP32[($9 + 108 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2]); + label$24 : { + label$25 : { + if (!(Math_fround(Math_abs($493)) < Math_fround(2147483648.0))) { + break label$25 + } + $499 = ~~$493; + break label$24; + } + $499 = -2147483648; + } + (wasm2js_i32$0 = btAlignedObjectArray_btConvexHullInternal__Point32___operator_5b_5d_28int_29($7 + 180 | 0 | 0, HEAP32[($7 + 88 | 0) >> 2] | 0 | 0) | 0, wasm2js_i32$1 = $499), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + $515 = Math_fround(HEAPF32[((btVector3__operator_20float__28_29($7 + 64 | 0 | 0) | 0) + ((HEAP32[($9 + 112 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2]); + label$26 : { + label$27 : { + if (!(Math_fround(Math_abs($515)) < Math_fround(2147483648.0))) { + break label$27 + } + $521 = ~~$515; + break label$26; + } + $521 = -2147483648; + } + (wasm2js_i32$0 = btAlignedObjectArray_btConvexHullInternal__Point32___operator_5b_5d_28int_29($7 + 180 | 0 | 0, HEAP32[($7 + 88 | 0) >> 2] | 0 | 0) | 0, wasm2js_i32$1 = $521), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + $537 = Math_fround(HEAPF32[((btVector3__operator_20float__28_29($7 + 64 | 0 | 0) | 0) + ((HEAP32[($9 + 104 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2]); + label$28 : { + label$29 : { + if (!(Math_fround(Math_abs($537)) < Math_fround(2147483648.0))) { + break label$29 + } + $543 = ~~$537; + break label$28; + } + $543 = -2147483648; + } + (wasm2js_i32$0 = btAlignedObjectArray_btConvexHullInternal__Point32___operator_5b_5d_28int_29($7 + 180 | 0 | 0, HEAP32[($7 + 88 | 0) >> 2] | 0 | 0) | 0, wasm2js_i32$1 = $543), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + $551 = HEAP32[($7 + 88 | 0) >> 2] | 0; + (wasm2js_i32$0 = btAlignedObjectArray_btConvexHullInternal__Point32___operator_5b_5d_28int_29($7 + 180 | 0 | 0, HEAP32[($7 + 88 | 0) >> 2] | 0 | 0) | 0, wasm2js_i32$1 = $551), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($7 + 88 | 0) >> 2] = (HEAP32[($7 + 88 | 0) >> 2] | 0) + 1 | 0; + continue label$23; + }; + } + } + void_20btAlignedObjectArray_btConvexHullInternal__Point32___quickSort_pointCmp__28pointCmp_20const__29($7 + 180 | 0 | 0, $7 + 31 | 0 | 0); + btConvexHullInternal__Pool_btConvexHullInternal__Vertex___reset_28_29($9 + 32 | 0 | 0); + btConvexHullInternal__Pool_btConvexHullInternal__Vertex___setArraySize_28int_29($9 + 32 | 0 | 0, HEAP32[($7 + 380 | 0) >> 2] | 0 | 0); + $573 = HEAP32[($7 + 380 | 0) >> 2] | 0; + HEAP32[($7 + 24 | 0) >> 2] = 0; + btAlignedObjectArray_btConvexHullInternal__Vertex____resize_28int_2c_20btConvexHullInternal__Vertex__20const__29($9 + 80 | 0 | 0, $573 | 0, $7 + 24 | 0 | 0); + HEAP32[($7 + 20 | 0) >> 2] = 0; + label$30 : { + label$31 : while (1) { + if (!((HEAP32[($7 + 20 | 0) >> 2] | 0 | 0) < (HEAP32[($7 + 380 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$30 + } + (wasm2js_i32$0 = $7, wasm2js_i32$1 = btConvexHullInternal__Pool_btConvexHullInternal__Vertex___newObject_28_29($9 + 32 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + HEAP32[((HEAP32[($7 + 16 | 0) >> 2] | 0) + 8 | 0) >> 2] = 0; + $595 = btAlignedObjectArray_btConvexHullInternal__Point32___operator_5b_5d_28int_29($7 + 180 | 0 | 0, HEAP32[($7 + 20 | 0) >> 2] | 0 | 0) | 0; + $598 = (HEAP32[($7 + 16 | 0) >> 2] | 0) + 88 | 0; + i64toi32_i32$2 = $595; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $1808 = i64toi32_i32$0; + i64toi32_i32$0 = $598; + HEAP32[i64toi32_i32$0 >> 2] = $1808; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $600 = 8; + i64toi32_i32$2 = i64toi32_i32$2 + $600 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $1818 = i64toi32_i32$1; + i64toi32_i32$1 = $598 + $600 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $1818; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + HEAP32[((HEAP32[($7 + 16 | 0) >> 2] | 0) + 104 | 0) >> 2] = -1; + $606 = HEAP32[($7 + 16 | 0) >> 2] | 0; + (wasm2js_i32$0 = btAlignedObjectArray_btConvexHullInternal__Vertex____operator_5b_5d_28int_29($9 + 80 | 0 | 0, HEAP32[($7 + 20 | 0) >> 2] | 0 | 0) | 0, wasm2js_i32$1 = $606), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + HEAP32[($7 + 20 | 0) >> 2] = (HEAP32[($7 + 20 | 0) >> 2] | 0) + 1 | 0; + continue label$31; + }; + } + btAlignedObjectArray_btConvexHullInternal__Point32___clear_28_29($7 + 180 | 0 | 0); + btConvexHullInternal__Pool_btConvexHullInternal__Edge___reset_28_29($9 + 48 | 0 | 0); + btConvexHullInternal__Pool_btConvexHullInternal__Edge___setArraySize_28int_29($9 + 48 | 0 | 0, Math_imul(HEAP32[($7 + 380 | 0) >> 2] | 0, 6) | 0); + HEAP32[($9 + 116 | 0) >> 2] = 0; + HEAP32[($9 + 120 | 0) >> 2] = 0; + HEAP32[($9 + 100 | 0) >> 2] = -3; + btConvexHullInternal__IntermediateHull__IntermediateHull_28_29($7 | 0) | 0; + btConvexHullInternal__computeInternal_28int_2c_20int_2c_20btConvexHullInternal__IntermediateHull__29($9 | 0, 0 | 0, HEAP32[($7 + 380 | 0) >> 2] | 0 | 0, $7 | 0); + HEAP32[($9 + 124 | 0) >> 2] = HEAP32[$7 >> 2] | 0; + btAlignedObjectArray_btConvexHullInternal__Point32____btAlignedObjectArray_28_29($7 + 180 | 0 | 0) | 0; + __stack_pointer = $7 + 400 | 0; + return; + } + + function btAlignedObjectArray_btConvexHullInternal__Point32___btAlignedObjectArray_28_29($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + btAlignedAllocator_btConvexHullInternal__Point32_2c_2016u___btAlignedAllocator_28_29($4 | 0) | 0; + btAlignedObjectArray_btConvexHullInternal__Point32___init_28_29($4 | 0); + __stack_pointer = $3 + 16 | 0; + return $4 | 0; + } + + function btAlignedObjectArray_btConvexHullInternal__Point32___resize_28int_2c_20btConvexHullInternal__Point32_20const__29($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $5 = 0, i64toi32_i32$2 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $6 = 0, $46 = 0, $49 = 0, $166 = 0, $176 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5 = __stack_pointer - 32 | 0; + __stack_pointer = $5; + HEAP32[($5 + 28 | 0) >> 2] = $0; + HEAP32[($5 + 24 | 0) >> 2] = $1; + HEAP32[($5 + 20 | 0) >> 2] = $2; + $6 = HEAP32[($5 + 28 | 0) >> 2] | 0; + (wasm2js_i32$0 = $5, wasm2js_i32$1 = btAlignedObjectArray_btConvexHullInternal__Point32___size_28_29_20const($6 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + label$2 : { + if (!((HEAP32[($5 + 24 | 0) >> 2] | 0 | 0) < (HEAP32[($5 + 16 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($5 + 12 | 0) >> 2] = HEAP32[($5 + 24 | 0) >> 2] | 0; + label$3 : { + label$4 : while (1) { + if (!((HEAP32[($5 + 12 | 0) >> 2] | 0 | 0) < (HEAP32[($5 + 16 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$3 + } + HEAP32[($5 + 12 | 0) >> 2] = (HEAP32[($5 + 12 | 0) >> 2] | 0) + 1 | 0; + continue label$4; + }; + } + break label$1; + } + label$5 : { + if (!((HEAP32[($5 + 24 | 0) >> 2] | 0 | 0) > (HEAP32[($5 + 16 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$5 + } + btAlignedObjectArray_btConvexHullInternal__Point32___reserve_28int_29($6 | 0, HEAP32[($5 + 24 | 0) >> 2] | 0 | 0); + } + HEAP32[($5 + 8 | 0) >> 2] = HEAP32[($5 + 16 | 0) >> 2] | 0; + label$6 : { + label$7 : while (1) { + if (!((HEAP32[($5 + 8 | 0) >> 2] | 0 | 0) < (HEAP32[($5 + 24 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$6 + } + $46 = (HEAP32[($6 + 12 | 0) >> 2] | 0) + ((HEAP32[($5 + 8 | 0) >> 2] | 0) << 4 | 0) | 0; + i64toi32_i32$2 = HEAP32[($5 + 20 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $166 = i64toi32_i32$0; + i64toi32_i32$0 = $46; + HEAP32[i64toi32_i32$0 >> 2] = $166; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $49 = 8; + i64toi32_i32$2 = i64toi32_i32$2 + $49 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $176 = i64toi32_i32$1; + i64toi32_i32$1 = $46 + $49 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $176; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($5 + 8 | 0) >> 2] = (HEAP32[($5 + 8 | 0) >> 2] | 0) + 1 | 0; + continue label$7; + }; + } + } + HEAP32[($6 + 4 | 0) >> 2] = HEAP32[($5 + 24 | 0) >> 2] | 0; + __stack_pointer = $5 + 32 | 0; + return; + } + + function btAlignedObjectArray_btConvexHullInternal__Point32___operator_5b_5d_28int_29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, $5 = 0, $32 = 0; + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; + label$1 : { + if ((HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0) { + break label$1 + } + __assert_fail(85840 | 0, 78295 | 0, 183 | 0, 83901 | 0); + wasm2js_trap(); + } + label$2 : { + if ((HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) < (btAlignedObjectArray_btConvexHullInternal__Point32___size_28_29_20const($5 | 0) | 0 | 0) & 1 | 0) { + break label$2 + } + __assert_fail(87321 | 0, 78295 | 0, 184 | 0, 83901 | 0); + wasm2js_trap(); + } + $32 = (HEAP32[($5 + 12 | 0) >> 2] | 0) + ((HEAP32[($4 + 8 | 0) >> 2] | 0) << 4 | 0) | 0; + __stack_pointer = $4 + 16 | 0; + return $32 | 0; + } + + function void_20btAlignedObjectArray_btConvexHullInternal__Point32___quickSort_pointCmp__28pointCmp_20const__29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, $5 = 0; + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; + label$1 : { + if (!((btAlignedObjectArray_btConvexHullInternal__Point32___size_28_29_20const($5 | 0) | 0 | 0) > (1 | 0) & 1 | 0)) { + break label$1 + } + void_20btAlignedObjectArray_btConvexHullInternal__Point32___quickSortInternal_pointCmp__28pointCmp_20const__2c_20int_2c_20int_29($5 | 0, HEAP32[($4 + 8 | 0) >> 2] | 0 | 0, 0 | 0, (btAlignedObjectArray_btConvexHullInternal__Point32___size_28_29_20const($5 | 0) | 0) - 1 | 0 | 0); + } + __stack_pointer = $4 + 16 | 0; + return; + } + + function btConvexHullInternal__Pool_btConvexHullInternal__Vertex___reset_28_29($0) { + $0 = $0 | 0; + var $4 = 0, $3 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + HEAP32[($4 + 4 | 0) >> 2] = HEAP32[$4 >> 2] | 0; + HEAP32[($4 + 8 | 0) >> 2] = 0; + return; + } + + function btConvexHullInternal__Pool_btConvexHullInternal__Vertex___setArraySize_28int_29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0; + $4 = __stack_pointer - 16 | 0; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + HEAP32[((HEAP32[($4 + 12 | 0) >> 2] | 0) + 12 | 0) >> 2] = HEAP32[($4 + 8 | 0) >> 2] | 0; + return; + } + + function btAlignedObjectArray_btConvexHullInternal__Vertex____resize_28int_2c_20btConvexHullInternal__Vertex__20const__29($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $5 = 0, $6 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5 = __stack_pointer - 32 | 0; + __stack_pointer = $5; + HEAP32[($5 + 28 | 0) >> 2] = $0; + HEAP32[($5 + 24 | 0) >> 2] = $1; + HEAP32[($5 + 20 | 0) >> 2] = $2; + $6 = HEAP32[($5 + 28 | 0) >> 2] | 0; + (wasm2js_i32$0 = $5, wasm2js_i32$1 = btAlignedObjectArray_btConvexHullInternal__Vertex____size_28_29_20const($6 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + label$2 : { + if (!((HEAP32[($5 + 24 | 0) >> 2] | 0 | 0) < (HEAP32[($5 + 16 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($5 + 12 | 0) >> 2] = HEAP32[($5 + 24 | 0) >> 2] | 0; + label$3 : { + label$4 : while (1) { + if (!((HEAP32[($5 + 12 | 0) >> 2] | 0 | 0) < (HEAP32[($5 + 16 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$3 + } + HEAP32[($5 + 12 | 0) >> 2] = (HEAP32[($5 + 12 | 0) >> 2] | 0) + 1 | 0; + continue label$4; + }; + } + break label$1; + } + label$5 : { + if (!((HEAP32[($5 + 24 | 0) >> 2] | 0 | 0) > (HEAP32[($5 + 16 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$5 + } + btAlignedObjectArray_btConvexHullInternal__Vertex____reserve_28int_29($6 | 0, HEAP32[($5 + 24 | 0) >> 2] | 0 | 0); + } + HEAP32[($5 + 8 | 0) >> 2] = HEAP32[($5 + 16 | 0) >> 2] | 0; + label$6 : { + label$7 : while (1) { + if (!((HEAP32[($5 + 8 | 0) >> 2] | 0 | 0) < (HEAP32[($5 + 24 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$6 + } + HEAP32[((HEAP32[($6 + 12 | 0) >> 2] | 0) + ((HEAP32[($5 + 8 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = HEAP32[(HEAP32[($5 + 20 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($5 + 8 | 0) >> 2] = (HEAP32[($5 + 8 | 0) >> 2] | 0) + 1 | 0; + continue label$7; + }; + } + } + HEAP32[($6 + 4 | 0) >> 2] = HEAP32[($5 + 24 | 0) >> 2] | 0; + __stack_pointer = $5 + 32 | 0; + return; + } + + function btConvexHullInternal__Pool_btConvexHullInternal__Vertex___newObject_28_29($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0, $25 = 0, $34 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + HEAP32[($3 + 8 | 0) >> 2] = HEAP32[($4 + 8 | 0) >> 2] | 0; + label$1 : { + if ((HEAP32[($3 + 8 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$1 + } + HEAP32[($3 + 4 | 0) >> 2] = HEAP32[($4 + 4 | 0) >> 2] | 0; + label$2 : { + label$3 : { + if (!((HEAP32[($3 + 4 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$3 + } + HEAP32[($4 + 4 | 0) >> 2] = HEAP32[((HEAP32[($3 + 4 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + break label$2; + } + $25 = btAlignedAllocInternal_28unsigned_20long_2c_20int_29(12 | 0, 16 | 0) | 0; + btConvexHullInternal__PoolArray_btConvexHullInternal__Vertex___PoolArray_28int_29($25 | 0, HEAP32[($4 + 12 | 0) >> 2] | 0 | 0) | 0; + HEAP32[($3 + 4 | 0) >> 2] = $25; + HEAP32[((HEAP32[($3 + 4 | 0) >> 2] | 0) + 8 | 0) >> 2] = HEAP32[$4 >> 2] | 0; + HEAP32[$4 >> 2] = HEAP32[($3 + 4 | 0) >> 2] | 0; + } + (wasm2js_i32$0 = $3, wasm2js_i32$1 = btConvexHullInternal__PoolArray_btConvexHullInternal__Vertex___init_28_29(HEAP32[($3 + 4 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + } + HEAP32[($4 + 8 | 0) >> 2] = HEAP32[(HEAP32[($3 + 8 | 0) >> 2] | 0) >> 2] | 0; + $34 = HEAP32[($3 + 8 | 0) >> 2] | 0; + btConvexHullInternal__Vertex__Vertex_28_29($34 | 0) | 0; + __stack_pointer = $3 + 16 | 0; + return $34 | 0; + } + + function btAlignedObjectArray_btConvexHullInternal__Point32___clear_28_29($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + btAlignedObjectArray_btConvexHullInternal__Point32___destroy_28int_2c_20int_29($4 | 0, 0 | 0, btAlignedObjectArray_btConvexHullInternal__Point32___size_28_29_20const($4 | 0) | 0 | 0); + btAlignedObjectArray_btConvexHullInternal__Point32___deallocate_28_29($4 | 0); + btAlignedObjectArray_btConvexHullInternal__Point32___init_28_29($4 | 0); + __stack_pointer = $3 + 16 | 0; + return; + } + + function btConvexHullInternal__Pool_btConvexHullInternal__Edge___reset_28_29($0) { + $0 = $0 | 0; + var $4 = 0, $3 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + HEAP32[($4 + 4 | 0) >> 2] = HEAP32[$4 >> 2] | 0; + HEAP32[($4 + 8 | 0) >> 2] = 0; + return; + } + + function btConvexHullInternal__Pool_btConvexHullInternal__Edge___setArraySize_28int_29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0; + $4 = __stack_pointer - 16 | 0; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + HEAP32[((HEAP32[($4 + 12 | 0) >> 2] | 0) + 12 | 0) >> 2] = HEAP32[($4 + 8 | 0) >> 2] | 0; + return; + } + + function btAlignedObjectArray_btConvexHullInternal__Point32____btAlignedObjectArray_28_29($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + btAlignedObjectArray_btConvexHullInternal__Point32___clear_28_29($4 | 0); + __stack_pointer = $3 + 16 | 0; + return $4 | 0; + } + + function btAlignedAllocator_btConvexHullInternal__Point32_2c_2016u___btAlignedAllocator_28_29($0) { + $0 = $0 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + return HEAP32[($3 + 12 | 0) >> 2] | 0 | 0; + } + + function btAlignedObjectArray_btConvexHullInternal__Point32___init_28_29($0) { + $0 = $0 | 0; + var $4 = 0, $3 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + HEAP8[($4 + 16 | 0) >> 0] = 1; + HEAP32[($4 + 12 | 0) >> 2] = 0; + HEAP32[($4 + 4 | 0) >> 2] = 0; + HEAP32[($4 + 8 | 0) >> 2] = 0; + return; + } + + function btAlignedObjectArray_btConvexHullInternal__Point32___size_28_29_20const($0) { + $0 = $0 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + return HEAP32[((HEAP32[($3 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0; + } + + function btAlignedObjectArray_btConvexHullInternal__Point32___reserve_28int_29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, $5 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; + label$1 : { + if (!((btAlignedObjectArray_btConvexHullInternal__Point32___capacity_28_29_20const($5 | 0) | 0 | 0) < (HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$1 + } + (wasm2js_i32$0 = $4, wasm2js_i32$1 = btAlignedObjectArray_btConvexHullInternal__Point32___allocate_28int_29($5 | 0, HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + btAlignedObjectArray_btConvexHullInternal__Point32___copy_28int_2c_20int_2c_20btConvexHullInternal__Point32__29_20const($5 | 0, 0 | 0, btAlignedObjectArray_btConvexHullInternal__Point32___size_28_29_20const($5 | 0) | 0 | 0, HEAP32[($4 + 4 | 0) >> 2] | 0 | 0); + btAlignedObjectArray_btConvexHullInternal__Point32___destroy_28int_2c_20int_29($5 | 0, 0 | 0, btAlignedObjectArray_btConvexHullInternal__Point32___size_28_29_20const($5 | 0) | 0 | 0); + btAlignedObjectArray_btConvexHullInternal__Point32___deallocate_28_29($5 | 0); + HEAP8[($5 + 16 | 0) >> 0] = 1; + HEAP32[($5 + 12 | 0) >> 2] = HEAP32[($4 + 4 | 0) >> 2] | 0; + HEAP32[($5 + 8 | 0) >> 2] = HEAP32[($4 + 8 | 0) >> 2] | 0; + } + __stack_pointer = $4 + 16 | 0; + return; + } + + function void_20btAlignedObjectArray_btConvexHullInternal__Point32___quickSortInternal_pointCmp__28pointCmp_20const__2c_20int_2c_20int_29($0, $1, $2, $3) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + var $6 = 0, $7 = 0, i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, i64toi32_i32$1 = 0, $18 = 0, $19 = 0, $153 = 0, $157 = 0; + $6 = __stack_pointer - 48 | 0; + __stack_pointer = $6; + HEAP32[($6 + 44 | 0) >> 2] = $0; + HEAP32[($6 + 40 | 0) >> 2] = $1; + HEAP32[($6 + 36 | 0) >> 2] = $2; + HEAP32[($6 + 32 | 0) >> 2] = $3; + $7 = HEAP32[($6 + 44 | 0) >> 2] | 0; + HEAP32[($6 + 28 | 0) >> 2] = HEAP32[($6 + 36 | 0) >> 2] | 0; + HEAP32[($6 + 24 | 0) >> 2] = HEAP32[($6 + 32 | 0) >> 2] | 0; + $18 = (HEAP32[($7 + 12 | 0) >> 2] | 0) + ((((HEAP32[($6 + 36 | 0) >> 2] | 0) + (HEAP32[($6 + 32 | 0) >> 2] | 0) | 0 | 0) / (2 | 0) | 0) << 4 | 0) | 0; + $19 = 8; + i64toi32_i32$2 = $18 + $19 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $153 = i64toi32_i32$0; + i64toi32_i32$0 = ($6 + 8 | 0) + $19 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $153; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$2 = $18; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $157 = i64toi32_i32$1; + i64toi32_i32$1 = $6; + HEAP32[($6 + 8 | 0) >> 2] = $157; + HEAP32[($6 + 12 | 0) >> 2] = i64toi32_i32$0; + label$1 : while (1) { + label$2 : { + label$3 : while (1) { + if (!((pointCmp__operator_28_29_28btConvexHullInternal__Point32_20const__2c_20btConvexHullInternal__Point32_20const__29_20const(HEAP32[($6 + 40 | 0) >> 2] | 0 | 0, (HEAP32[($7 + 12 | 0) >> 2] | 0) + ((HEAP32[($6 + 28 | 0) >> 2] | 0) << 4 | 0) | 0 | 0, $6 + 8 | 0 | 0) | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($6 + 28 | 0) >> 2] = (HEAP32[($6 + 28 | 0) >> 2] | 0) + 1 | 0; + continue label$3; + }; + } + label$4 : { + label$5 : while (1) { + if (!((pointCmp__operator_28_29_28btConvexHullInternal__Point32_20const__2c_20btConvexHullInternal__Point32_20const__29_20const(HEAP32[($6 + 40 | 0) >> 2] | 0 | 0, $6 + 8 | 0 | 0, (HEAP32[($7 + 12 | 0) >> 2] | 0) + ((HEAP32[($6 + 24 | 0) >> 2] | 0) << 4 | 0) | 0 | 0) | 0) & 1 | 0)) { + break label$4 + } + HEAP32[($6 + 24 | 0) >> 2] = (HEAP32[($6 + 24 | 0) >> 2] | 0) + -1 | 0; + continue label$5; + }; + } + label$6 : { + if (!((HEAP32[($6 + 28 | 0) >> 2] | 0 | 0) <= (HEAP32[($6 + 24 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$6 + } + btAlignedObjectArray_btConvexHullInternal__Point32___swap_28int_2c_20int_29($7 | 0, HEAP32[($6 + 28 | 0) >> 2] | 0 | 0, HEAP32[($6 + 24 | 0) >> 2] | 0 | 0); + HEAP32[($6 + 28 | 0) >> 2] = (HEAP32[($6 + 28 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($6 + 24 | 0) >> 2] = (HEAP32[($6 + 24 | 0) >> 2] | 0) + -1 | 0; + } + if ((HEAP32[($6 + 28 | 0) >> 2] | 0 | 0) <= (HEAP32[($6 + 24 | 0) >> 2] | 0 | 0) & 1 | 0) { + continue label$1 + } + break label$1; + }; + label$7 : { + if (!((HEAP32[($6 + 36 | 0) >> 2] | 0 | 0) < (HEAP32[($6 + 24 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$7 + } + void_20btAlignedObjectArray_btConvexHullInternal__Point32___quickSortInternal_pointCmp__28pointCmp_20const__2c_20int_2c_20int_29($7 | 0, HEAP32[($6 + 40 | 0) >> 2] | 0 | 0, HEAP32[($6 + 36 | 0) >> 2] | 0 | 0, HEAP32[($6 + 24 | 0) >> 2] | 0 | 0); + } + label$8 : { + if (!((HEAP32[($6 + 28 | 0) >> 2] | 0 | 0) < (HEAP32[($6 + 32 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$8 + } + void_20btAlignedObjectArray_btConvexHullInternal__Point32___quickSortInternal_pointCmp__28pointCmp_20const__2c_20int_2c_20int_29($7 | 0, HEAP32[($6 + 40 | 0) >> 2] | 0 | 0, HEAP32[($6 + 28 | 0) >> 2] | 0 | 0, HEAP32[($6 + 32 | 0) >> 2] | 0 | 0); + } + __stack_pointer = $6 + 48 | 0; + return; + } + + function btAlignedObjectArray_btConvexHullInternal__Vertex____reserve_28int_29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, $5 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; + label$1 : { + if (!((btAlignedObjectArray_btConvexHullInternal__Vertex____capacity_28_29_20const($5 | 0) | 0 | 0) < (HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$1 + } + (wasm2js_i32$0 = $4, wasm2js_i32$1 = btAlignedObjectArray_btConvexHullInternal__Vertex____allocate_28int_29($5 | 0, HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + btAlignedObjectArray_btConvexHullInternal__Vertex____copy_28int_2c_20int_2c_20btConvexHullInternal__Vertex___29_20const($5 | 0, 0 | 0, btAlignedObjectArray_btConvexHullInternal__Vertex____size_28_29_20const($5 | 0) | 0 | 0, HEAP32[($4 + 4 | 0) >> 2] | 0 | 0); + btAlignedObjectArray_btConvexHullInternal__Vertex____destroy_28int_2c_20int_29($5 | 0, 0 | 0, btAlignedObjectArray_btConvexHullInternal__Vertex____size_28_29_20const($5 | 0) | 0 | 0); + btAlignedObjectArray_btConvexHullInternal__Vertex____deallocate_28_29($5 | 0); + HEAP8[($5 + 16 | 0) >> 0] = 1; + HEAP32[($5 + 12 | 0) >> 2] = HEAP32[($4 + 4 | 0) >> 2] | 0; + HEAP32[($5 + 8 | 0) >> 2] = HEAP32[($4 + 8 | 0) >> 2] | 0; + } + __stack_pointer = $4 + 16 | 0; + return; + } + + function btConvexHullInternal__PoolArray_btConvexHullInternal__Vertex___PoolArray_28int_29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, $5 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; + HEAP32[($5 + 4 | 0) >> 2] = HEAP32[($4 + 8 | 0) >> 2] | 0; + HEAP32[($5 + 8 | 0) >> 2] = 0; + (wasm2js_i32$0 = $5, wasm2js_i32$1 = btAlignedAllocInternal_28unsigned_20long_2c_20int_29(Math_imul(HEAP32[($4 + 8 | 0) >> 2] | 0, 112) | 0, 16 | 0) | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + __stack_pointer = $4 + 16 | 0; + return $5 | 0; + } + + function btConvexHullInternal__PoolArray_btConvexHullInternal__Vertex___init_28_29($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0, $26 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + HEAP32[($3 + 8 | 0) >> 2] = HEAP32[$4 >> 2] | 0; + HEAP32[($3 + 4 | 0) >> 2] = 0; + label$1 : { + label$2 : while (1) { + if (!((HEAP32[($3 + 4 | 0) >> 2] | 0 | 0) < (HEAP32[($4 + 4 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$1 + } + label$3 : { + label$4 : { + if (!(((HEAP32[($3 + 4 | 0) >> 2] | 0) + 1 | 0 | 0) < (HEAP32[($4 + 4 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$4 + } + $26 = (HEAP32[($3 + 8 | 0) >> 2] | 0) + 112 | 0; + break label$3; + } + $26 = 0; + } + HEAP32[(HEAP32[($3 + 8 | 0) >> 2] | 0) >> 2] = $26; + HEAP32[($3 + 4 | 0) >> 2] = (HEAP32[($3 + 4 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($3 + 8 | 0) >> 2] = (HEAP32[($3 + 8 | 0) >> 2] | 0) + 112 | 0; + continue label$2; + }; + } + return HEAP32[$4 >> 2] | 0 | 0; + } + + function btConvexHullInternal__Vertex__Vertex_28_29($0) { + $0 = $0 | 0; + var $4 = 0, $3 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + HEAP32[$4 >> 2] = 0; + HEAP32[($4 + 4 | 0) >> 2] = 0; + HEAP32[($4 + 8 | 0) >> 2] = 0; + HEAP32[($4 + 12 | 0) >> 2] = 0; + HEAP32[($4 + 16 | 0) >> 2] = 0; + btConvexHullInternal__PointR128__PointR128_28_29($4 + 24 | 0 | 0) | 0; + btConvexHullInternal__Point32__Point32_28_29($4 + 88 | 0 | 0) | 0; + HEAP32[($4 + 104 | 0) >> 2] = -1; + __stack_pointer = $3 + 16 | 0; + return $4 | 0; + } + + function btAlignedObjectArray_btConvexHullInternal__Point32___destroy_28int_2c_20int_29($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $5 = 0; + $5 = __stack_pointer - 16 | 0; + HEAP32[($5 + 12 | 0) >> 2] = $0; + HEAP32[($5 + 8 | 0) >> 2] = $1; + HEAP32[($5 + 4 | 0) >> 2] = $2; + HEAP32[($5 + 12 | 0) >> 2] | 0; + HEAP32[$5 >> 2] = HEAP32[($5 + 8 | 0) >> 2] | 0; + label$1 : { + label$2 : while (1) { + if (!((HEAP32[$5 >> 2] | 0 | 0) < (HEAP32[($5 + 4 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$1 + } + HEAP32[$5 >> 2] = (HEAP32[$5 >> 2] | 0) + 1 | 0; + continue label$2; + }; + } + return; + } + + function btAlignedObjectArray_btConvexHullInternal__Point32___deallocate_28_29($0) { + $0 = $0 | 0; + var $4 = 0, $3 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + label$1 : { + if (!((HEAP32[($4 + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + label$2 : { + if (!((HEAPU8[($4 + 16 | 0) >> 0] | 0) & 1 | 0)) { + break label$2 + } + btAlignedAllocator_btConvexHullInternal__Point32_2c_2016u___deallocate_28btConvexHullInternal__Point32__29($4 | 0, HEAP32[($4 + 12 | 0) >> 2] | 0 | 0); + } + HEAP32[($4 + 12 | 0) >> 2] = 0; + } + __stack_pointer = $3 + 16 | 0; + return; + } + + function btConvexHullInternal__toBtVector_28btConvexHullInternal__Point32_20const__29($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $5 = 0, $6 = 0, $12 = Math_fround(0), $23 = Math_fround(0), $34 = Math_fround(0), wasm2js_i32$0 = 0, wasm2js_f32$0 = Math_fround(0); + $5 = __stack_pointer - 32 | 0; + __stack_pointer = $5; + HEAP32[($5 + 28 | 0) >> 2] = $1; + HEAP32[($5 + 24 | 0) >> 2] = $2; + $6 = HEAP32[($5 + 28 | 0) >> 2] | 0; + btVector3__btVector3_28_29($5 + 8 | 0 | 0) | 0; + $12 = Math_fround(HEAP32[(HEAP32[($5 + 24 | 0) >> 2] | 0) >> 2] | 0 | 0); + (wasm2js_i32$0 = (btVector3__operator_20float__28_29($5 + 8 | 0 | 0) | 0) + ((HEAP32[($6 + 108 | 0) >> 2] | 0) << 2 | 0) | 0, wasm2js_f32$0 = $12), HEAPF32[wasm2js_i32$0 >> 2] = wasm2js_f32$0; + $23 = Math_fround(HEAP32[((HEAP32[($5 + 24 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0); + (wasm2js_i32$0 = (btVector3__operator_20float__28_29($5 + 8 | 0 | 0) | 0) + ((HEAP32[($6 + 112 | 0) >> 2] | 0) << 2 | 0) | 0, wasm2js_f32$0 = $23), HEAPF32[wasm2js_i32$0 >> 2] = wasm2js_f32$0; + $34 = Math_fround(HEAP32[((HEAP32[($5 + 24 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0); + (wasm2js_i32$0 = (btVector3__operator_20float__28_29($5 + 8 | 0 | 0) | 0) + ((HEAP32[($6 + 104 | 0) >> 2] | 0) << 2 | 0) | 0, wasm2js_f32$0 = $34), HEAPF32[wasm2js_i32$0 >> 2] = wasm2js_f32$0; + operator__28btVector3_20const__2c_20btVector3_20const__29_1($0 | 0, $5 + 8 | 0 | 0, $6 | 0); + __stack_pointer = $5 + 32 | 0; + return; + } + + function btConvexHullInternal__getBtNormal_28btConvexHullInternal__Face__29($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $5 = 0, $6 = 0; + $5 = __stack_pointer - 64 | 0; + __stack_pointer = $5; + HEAP32[($5 + 60 | 0) >> 2] = $1; + HEAP32[($5 + 56 | 0) >> 2] = $2; + $6 = HEAP32[($5 + 60 | 0) >> 2] | 0; + btConvexHullInternal__toBtVector_28btConvexHullInternal__Point32_20const__29($5 + 24 | 0 | 0, $6 | 0, (HEAP32[($5 + 56 | 0) >> 2] | 0) + 28 | 0 | 0); + btConvexHullInternal__toBtVector_28btConvexHullInternal__Point32_20const__29($5 + 8 | 0 | 0, $6 | 0, (HEAP32[($5 + 56 | 0) >> 2] | 0) + 44 | 0 | 0); + btVector3__cross_28btVector3_20const__29_20const($5 + 40 | 0 | 0, $5 + 24 | 0 | 0, $5 + 8 | 0 | 0); + btVector3__normalized_28_29_20const($0 | 0, $5 + 40 | 0 | 0); + __stack_pointer = $5 + 64 | 0; + return; + } + + function btConvexHullInternal__getCoordinates_28btConvexHullInternal__Vertex_20const__29($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $5 = 0, $6 = 0, $11 = Math_fround(0), $21 = Math_fround(0), $31 = Math_fround(0), wasm2js_i32$0 = 0, wasm2js_f32$0 = Math_fround(0); + $5 = __stack_pointer - 48 | 0; + __stack_pointer = $5; + HEAP32[($5 + 44 | 0) >> 2] = $1; + HEAP32[($5 + 40 | 0) >> 2] = $2; + $6 = HEAP32[($5 + 44 | 0) >> 2] | 0; + btVector3__btVector3_28_29($5 + 24 | 0 | 0) | 0; + $11 = Math_fround(btConvexHullInternal__Vertex__xvalue_28_29_20const(HEAP32[($5 + 40 | 0) >> 2] | 0 | 0)); + (wasm2js_i32$0 = (btVector3__operator_20float__28_29($5 + 24 | 0 | 0) | 0) + ((HEAP32[($6 + 108 | 0) >> 2] | 0) << 2 | 0) | 0, wasm2js_f32$0 = $11), HEAPF32[wasm2js_i32$0 >> 2] = wasm2js_f32$0; + $21 = Math_fround(btConvexHullInternal__Vertex__yvalue_28_29_20const(HEAP32[($5 + 40 | 0) >> 2] | 0 | 0)); + (wasm2js_i32$0 = (btVector3__operator_20float__28_29($5 + 24 | 0 | 0) | 0) + ((HEAP32[($6 + 112 | 0) >> 2] | 0) << 2 | 0) | 0, wasm2js_f32$0 = $21), HEAPF32[wasm2js_i32$0 >> 2] = wasm2js_f32$0; + $31 = Math_fround(btConvexHullInternal__Vertex__zvalue_28_29_20const(HEAP32[($5 + 40 | 0) >> 2] | 0 | 0)); + (wasm2js_i32$0 = (btVector3__operator_20float__28_29($5 + 24 | 0 | 0) | 0) + ((HEAP32[($6 + 104 | 0) >> 2] | 0) << 2 | 0) | 0, wasm2js_f32$0 = $31), HEAPF32[wasm2js_i32$0 >> 2] = wasm2js_f32$0; + operator__28btVector3_20const__2c_20btVector3_20const__29_1($5 + 8 | 0 | 0, $5 + 24 | 0 | 0, $6 | 0); + operator__28btVector3_20const__2c_20btVector3_20const__29_2($0 | 0, $5 + 8 | 0 | 0, $6 + 16 | 0 | 0); + __stack_pointer = $5 + 48 | 0; + return; + } + + function btConvexHullInternal__Vertex__xvalue_28_29_20const($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0, $14 = Math_fround(0); + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + label$1 : { + label$2 : { + if (!((HEAP32[($4 + 100 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0)) { + break label$2 + } + $14 = Math_fround(HEAP32[($4 + 88 | 0) >> 2] | 0 | 0); + break label$1; + } + $14 = Math_fround(btConvexHullInternal__PointR128__xvalue_28_29_20const($4 + 24 | 0 | 0)); + } + __stack_pointer = $3 + 16 | 0; + return Math_fround($14); + } + + function btConvexHullInternal__Vertex__yvalue_28_29_20const($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0, $14 = Math_fround(0); + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + label$1 : { + label$2 : { + if (!((HEAP32[($4 + 100 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0)) { + break label$2 + } + $14 = Math_fround(HEAP32[($4 + 92 | 0) >> 2] | 0 | 0); + break label$1; + } + $14 = Math_fround(btConvexHullInternal__PointR128__yvalue_28_29_20const($4 + 24 | 0 | 0)); + } + __stack_pointer = $3 + 16 | 0; + return Math_fround($14); + } + + function btConvexHullInternal__Vertex__zvalue_28_29_20const($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0, $14 = Math_fround(0); + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + label$1 : { + label$2 : { + if (!((HEAP32[($4 + 100 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0)) { + break label$2 + } + $14 = Math_fround(HEAP32[($4 + 96 | 0) >> 2] | 0 | 0); + break label$1; + } + $14 = Math_fround(btConvexHullInternal__PointR128__zvalue_28_29_20const($4 + 24 | 0 | 0)); + } + __stack_pointer = $3 + 16 | 0; + return Math_fround($14); + } + + function btConvexHullInternal__PointR128__xvalue_28_29_20const($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0, $9 = Math_fround(0); + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + $9 = Math_fround(Math_fround(btConvexHullInternal__Int128__toScalar_28_29_20const($4 | 0)) / Math_fround(btConvexHullInternal__Int128__toScalar_28_29_20const($4 + 48 | 0 | 0))); + __stack_pointer = $3 + 16 | 0; + return Math_fround($9); + } + + function btConvexHullInternal__PointR128__yvalue_28_29_20const($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0, $11 = Math_fround(0); + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + $11 = Math_fround(Math_fround(btConvexHullInternal__Int128__toScalar_28_29_20const($4 + 16 | 0 | 0)) / Math_fround(btConvexHullInternal__Int128__toScalar_28_29_20const($4 + 48 | 0 | 0))); + __stack_pointer = $3 + 16 | 0; + return Math_fround($11); + } + + function btConvexHullInternal__PointR128__zvalue_28_29_20const($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0, $11 = Math_fround(0); + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + $11 = Math_fround(Math_fround(btConvexHullInternal__Int128__toScalar_28_29_20const($4 + 32 | 0 | 0)) / Math_fround(btConvexHullInternal__Int128__toScalar_28_29_20const($4 + 48 | 0 | 0))); + __stack_pointer = $3 + 16 | 0; + return Math_fround($11); + } + + function btConvexHullInternal__shrink_28float_2c_20float_29($0, $1, $2) { + $0 = $0 | 0; + $1 = Math_fround($1); + $2 = Math_fround($2); + var $5 = 0, i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, i64toi32_i32$1 = 0, $6 = 0, $194$hi = 0, $195$hi = 0, $18 = 0, $34 = 0, $35 = 0, $45 = 0, $49 = 0, $53 = 0, $57 = 0, i64toi32_i32$3 = 0, $40 = 0, $41 = 0, $42 = 0, $232$hi = 0, $235$hi = 0, $246$hi = 0, $249$hi = 0, $260$hi = 0, $263$hi = 0, $633 = 0, $637 = 0, $926 = 0, $232 = 0, $998 = 0, $246 = 0, $1026 = 0, $260 = 0, $1054 = 0, $342 = Math_fround(0), $354 = Math_fround(0), $366 = Math_fround(0), $516 = 0, $517 = Math_fround(0), $529 = 0, $549 = Math_fround(0), wasm2js_i32$0 = 0, wasm2js_i32$1 = 0, wasm2js_f32$0 = Math_fround(0); + $5 = __stack_pointer - 496 | 0; + __stack_pointer = $5; + HEAP32[($5 + 488 | 0) >> 2] = $0; + HEAPF32[($5 + 484 | 0) >> 2] = $1; + HEAPF32[($5 + 480 | 0) >> 2] = $2; + $6 = HEAP32[($5 + 488 | 0) >> 2] | 0; + label$1 : { + label$2 : { + if ((HEAP32[($6 + 124 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$2 + } + HEAPF32[($5 + 492 | 0) >> 2] = Math_fround(0 | 0); + break label$1; + } + $18 = (HEAP32[($6 + 100 | 0) >> 2] | 0) + -1 | 0; + HEAP32[($6 + 100 | 0) >> 2] = $18; + HEAP32[($5 + 476 | 0) >> 2] = $18; + btAlignedObjectArray_btConvexHullInternal__Vertex____btAlignedObjectArray_28_29($5 + 456 | 0 | 0) | 0; + HEAP32[((HEAP32[($6 + 124 | 0) >> 2] | 0) + 104 | 0) >> 2] = HEAP32[($5 + 476 | 0) >> 2] | 0; + btAlignedObjectArray_btConvexHullInternal__Vertex____push_back_28btConvexHullInternal__Vertex__20const__29($5 + 456 | 0 | 0, $6 + 124 | 0 | 0); + btAlignedObjectArray_btConvexHullInternal__Face____btAlignedObjectArray_28_29($5 + 436 | 0 | 0) | 0; + $34 = (HEAP32[($6 + 124 | 0) >> 2] | 0) + 88 | 0; + $35 = 8; + i64toi32_i32$2 = $34 + $35 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $633 = i64toi32_i32$0; + i64toi32_i32$0 = ($5 + 416 | 0) + $35 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $633; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$2 = $34; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $637 = i64toi32_i32$1; + i64toi32_i32$1 = $5; + HEAP32[($5 + 416 | 0) >> 2] = $637; + HEAP32[($5 + 420 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$0 = 0; + $45 = 0; + i64toi32_i32$1 = i64toi32_i32$0; + btConvexHullInternal__Int128__Int128_28unsigned_20long_20long_2c_20unsigned_20long_20long_29($5 + 400 | 0 | 0, $45 | 0, i64toi32_i32$0 | 0, $45 | 0, i64toi32_i32$0 | 0) | 0; + i64toi32_i32$1 = 0; + $49 = 0; + i64toi32_i32$0 = i64toi32_i32$1; + btConvexHullInternal__Int128__Int128_28unsigned_20long_20long_2c_20unsigned_20long_20long_29($5 + 384 | 0 | 0, $49 | 0, i64toi32_i32$0 | 0, $49 | 0, i64toi32_i32$0 | 0) | 0; + i64toi32_i32$0 = 0; + $53 = 0; + i64toi32_i32$1 = i64toi32_i32$0; + btConvexHullInternal__Int128__Int128_28unsigned_20long_20long_2c_20unsigned_20long_20long_29($5 + 368 | 0 | 0, $53 | 0, i64toi32_i32$0 | 0, $53 | 0, i64toi32_i32$0 | 0) | 0; + i64toi32_i32$1 = 0; + $57 = 0; + i64toi32_i32$0 = i64toi32_i32$1; + btConvexHullInternal__Int128__Int128_28unsigned_20long_20long_2c_20unsigned_20long_20long_29($5 + 352 | 0 | 0, $57 | 0, i64toi32_i32$0 | 0, $57 | 0, i64toi32_i32$0 | 0) | 0; + label$3 : { + label$4 : while (1) { + if (!((btAlignedObjectArray_btConvexHullInternal__Vertex____size_28_29_20const($5 + 456 | 0 | 0) | 0 | 0) > (0 | 0) & 1 | 0)) { + break label$3 + } + (wasm2js_i32$0 = $5, wasm2js_i32$1 = HEAP32[(btAlignedObjectArray_btConvexHullInternal__Vertex____operator_5b_5d_28int_29($5 + 456 | 0 | 0, (btAlignedObjectArray_btConvexHullInternal__Vertex____size_28_29_20const($5 + 456 | 0 | 0) | 0) - 1 | 0 | 0) | 0) >> 2] | 0), HEAP32[(wasm2js_i32$0 + 348 | 0) >> 2] = wasm2js_i32$1; + btAlignedObjectArray_btConvexHullInternal__Vertex____pop_back_28_29($5 + 456 | 0 | 0); + HEAP32[($5 + 344 | 0) >> 2] = HEAP32[((HEAP32[($5 + 348 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + label$5 : { + if (!((HEAP32[($5 + 344 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$5 + } + label$6 : while (1) { + label$7 : { + if (!((HEAP32[((HEAP32[((HEAP32[($5 + 344 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + 104 | 0) >> 2] | 0 | 0) != (HEAP32[($5 + 476 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$7 + } + HEAP32[((HEAP32[((HEAP32[($5 + 344 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + 104 | 0) >> 2] = HEAP32[($5 + 476 | 0) >> 2] | 0; + btAlignedObjectArray_btConvexHullInternal__Vertex____push_back_28btConvexHullInternal__Vertex__20const__29($5 + 456 | 0 | 0, (HEAP32[($5 + 344 | 0) >> 2] | 0) + 12 | 0 | 0); + } + label$8 : { + if (!((HEAP32[((HEAP32[($5 + 344 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0) != (HEAP32[($5 + 476 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$8 + } + (wasm2js_i32$0 = $5, wasm2js_i32$1 = btConvexHullInternal__Pool_btConvexHullInternal__Face___newObject_28_29($6 + 64 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 340 | 0) >> 2] = wasm2js_i32$1; + btConvexHullInternal__Face__init_28btConvexHullInternal__Vertex__2c_20btConvexHullInternal__Vertex__2c_20btConvexHullInternal__Vertex__29(HEAP32[($5 + 340 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($5 + 344 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[((HEAP32[((HEAP32[($5 + 344 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0, HEAP32[($5 + 348 | 0) >> 2] | 0 | 0); + btAlignedObjectArray_btConvexHullInternal__Face____push_back_28btConvexHullInternal__Face__20const__29($5 + 436 | 0 | 0, $5 + 340 | 0 | 0); + HEAP32[($5 + 336 | 0) >> 2] = HEAP32[($5 + 344 | 0) >> 2] | 0; + HEAP32[($5 + 332 | 0) >> 2] = 0; + HEAP32[($5 + 328 | 0) >> 2] = 0; + label$9 : while (1) { + label$10 : { + if (!((HEAP32[($5 + 332 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$10 + } + if (!((HEAP32[($5 + 328 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$10 + } + btConvexHullInternal__Point32__operator__28btConvexHullInternal__Point32_20const__29_20const($5 + 304 | 0 | 0, (HEAP32[($5 + 348 | 0) >> 2] | 0) + 88 | 0 | 0, $5 + 416 | 0 | 0); + btConvexHullInternal__Point32__operator__28btConvexHullInternal__Point32_20const__29_20const($5 + 264 | 0 | 0, (HEAP32[($5 + 332 | 0) >> 2] | 0) + 88 | 0 | 0, $5 + 416 | 0 | 0); + btConvexHullInternal__Point32__operator__28btConvexHullInternal__Point32_20const__29_20const($5 + 248 | 0 | 0, (HEAP32[($5 + 328 | 0) >> 2] | 0) + 88 | 0 | 0, $5 + 416 | 0 | 0); + btConvexHullInternal__Point32__cross_28btConvexHullInternal__Point32_20const__29_20const($5 + 280 | 0 | 0, $5 + 264 | 0 | 0, $5 + 248 | 0 | 0); + i64toi32_i32$0 = btConvexHullInternal__Point32__dot_28btConvexHullInternal__Point64_20const__29_20const($5 + 304 | 0 | 0, $5 + 280 | 0 | 0) | 0; + i64toi32_i32$1 = i64toi32_i32$HIGH_BITS; + $926 = i64toi32_i32$0; + i64toi32_i32$0 = $5; + HEAP32[($5 + 320 | 0) >> 2] = $926; + HEAP32[($5 + 324 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$2 = $5; + i64toi32_i32$1 = HEAP32[($5 + 320 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($5 + 324 | 0) >> 2] | 0; + $194$hi = i64toi32_i32$0; + i64toi32_i32$0 = 0; + $195$hi = i64toi32_i32$0; + i64toi32_i32$0 = $194$hi; + i64toi32_i32$0 = $195$hi; + i64toi32_i32$0 = $194$hi; + i64toi32_i32$0 = $195$hi; + i64toi32_i32$0 = $194$hi; + i64toi32_i32$2 = i64toi32_i32$1; + i64toi32_i32$1 = $195$hi; + i64toi32_i32$3 = 0; + if ((i64toi32_i32$0 | 0) > (i64toi32_i32$1 | 0)) { + $40 = 1 + } else { + if ((i64toi32_i32$0 | 0) >= (i64toi32_i32$1 | 0)) { + if (i64toi32_i32$2 >>> 0 < i64toi32_i32$3 >>> 0) { + $41 = 0 + } else { + $41 = 1 + } + $42 = $41; + } else { + $42 = 0 + } + $40 = $42; + } + label$11 : { + if ($40 & 1 | 0) { + break label$11 + } + __assert_fail(86093 | 0, 72732 | 0, 2147 | 0, 77659 | 0); + wasm2js_trap(); + } + btConvexHullInternal__Point32__operator__28btConvexHullInternal__Point32_20const__29_20const_1($5 + 200 | 0 | 0, (HEAP32[($5 + 348 | 0) >> 2] | 0) + 88 | 0 | 0, (HEAP32[($5 + 332 | 0) >> 2] | 0) + 88 | 0 | 0); + btConvexHullInternal__Point32__operator__28btConvexHullInternal__Point32_20const__29_20const_1($5 + 216 | 0 | 0, $5 + 200 | 0 | 0, (HEAP32[($5 + 328 | 0) >> 2] | 0) + 88 | 0 | 0); + btConvexHullInternal__Point32__operator__28btConvexHullInternal__Point32_20const__29_20const_1($5 + 232 | 0 | 0, $5 + 216 | 0 | 0, $5 + 416 | 0 | 0); + i64toi32_i32$2 = HEAP32[($5 + 320 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($5 + 324 | 0) >> 2] | 0; + $232 = i64toi32_i32$2; + $232$hi = i64toi32_i32$0; + i64toi32_i32$2 = HEAP32[($5 + 232 | 0) >> 2] | 0; + i64toi32_i32$0 = i64toi32_i32$2 >> 31 | 0; + $235$hi = i64toi32_i32$0; + i64toi32_i32$0 = $232$hi; + i64toi32_i32$0 = $235$hi; + $998 = i64toi32_i32$2; + i64toi32_i32$0 = $232$hi; + i64toi32_i32$2 = $235$hi; + i64toi32_i32$2 = __wasm_i64_mul($232 | 0, i64toi32_i32$0 | 0, $998 | 0, i64toi32_i32$2 | 0) | 0; + i64toi32_i32$0 = i64toi32_i32$HIGH_BITS; + btConvexHullInternal__Int128__Int128_28long_20long_29($5 + 184 | 0 | 0, i64toi32_i32$2 | 0, i64toi32_i32$0 | 0) | 0; + btConvexHullInternal__Int128__operator___28btConvexHullInternal__Int128_20const__29($5 + 400 | 0 | 0, $5 + 184 | 0 | 0) | 0; + i64toi32_i32$0 = HEAP32[($5 + 320 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($5 + 324 | 0) >> 2] | 0; + $246 = i64toi32_i32$0; + $246$hi = i64toi32_i32$2; + i64toi32_i32$0 = HEAP32[($5 + 236 | 0) >> 2] | 0; + i64toi32_i32$2 = i64toi32_i32$0 >> 31 | 0; + $249$hi = i64toi32_i32$2; + i64toi32_i32$2 = $246$hi; + i64toi32_i32$2 = $249$hi; + $1026 = i64toi32_i32$0; + i64toi32_i32$2 = $246$hi; + i64toi32_i32$0 = $249$hi; + i64toi32_i32$0 = __wasm_i64_mul($246 | 0, i64toi32_i32$2 | 0, $1026 | 0, i64toi32_i32$0 | 0) | 0; + i64toi32_i32$2 = i64toi32_i32$HIGH_BITS; + btConvexHullInternal__Int128__Int128_28long_20long_29($5 + 168 | 0 | 0, i64toi32_i32$0 | 0, i64toi32_i32$2 | 0) | 0; + btConvexHullInternal__Int128__operator___28btConvexHullInternal__Int128_20const__29($5 + 384 | 0 | 0, $5 + 168 | 0 | 0) | 0; + i64toi32_i32$2 = HEAP32[($5 + 320 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($5 + 324 | 0) >> 2] | 0; + $260 = i64toi32_i32$2; + $260$hi = i64toi32_i32$0; + i64toi32_i32$2 = HEAP32[($5 + 240 | 0) >> 2] | 0; + i64toi32_i32$0 = i64toi32_i32$2 >> 31 | 0; + $263$hi = i64toi32_i32$0; + i64toi32_i32$0 = $260$hi; + i64toi32_i32$0 = $263$hi; + $1054 = i64toi32_i32$2; + i64toi32_i32$0 = $260$hi; + i64toi32_i32$2 = $263$hi; + i64toi32_i32$2 = __wasm_i64_mul($260 | 0, i64toi32_i32$0 | 0, $1054 | 0, i64toi32_i32$2 | 0) | 0; + i64toi32_i32$0 = i64toi32_i32$HIGH_BITS; + btConvexHullInternal__Int128__Int128_28long_20long_29($5 + 152 | 0 | 0, i64toi32_i32$2 | 0, i64toi32_i32$0 | 0) | 0; + btConvexHullInternal__Int128__operator___28btConvexHullInternal__Int128_20const__29($5 + 368 | 0 | 0, $5 + 152 | 0 | 0) | 0; + i64toi32_i32$3 = $5; + i64toi32_i32$0 = HEAP32[($5 + 320 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($5 + 324 | 0) >> 2] | 0; + btConvexHullInternal__Int128__Int128_28long_20long_29($5 + 136 | 0 | 0, i64toi32_i32$0 | 0, i64toi32_i32$2 | 0) | 0; + btConvexHullInternal__Int128__operator___28btConvexHullInternal__Int128_20const__29($5 + 352 | 0 | 0, $5 + 136 | 0 | 0) | 0; + } + label$12 : { + if ((HEAP32[((HEAP32[($5 + 336 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0) != (HEAP32[($5 + 476 | 0) >> 2] | 0 | 0) & 1 | 0) { + break label$12 + } + __assert_fail(76078 | 0, 72732 | 0, 2155 | 0, 77659 | 0); + wasm2js_trap(); + } + HEAP32[((HEAP32[($5 + 336 | 0) >> 2] | 0) + 20 | 0) >> 2] = HEAP32[($5 + 476 | 0) >> 2] | 0; + HEAP32[((HEAP32[($5 + 336 | 0) >> 2] | 0) + 16 | 0) >> 2] = HEAP32[($5 + 340 | 0) >> 2] | 0; + HEAP32[($5 + 332 | 0) >> 2] = HEAP32[($5 + 328 | 0) >> 2] | 0; + HEAP32[($5 + 328 | 0) >> 2] = HEAP32[((HEAP32[($5 + 336 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + HEAP32[($5 + 336 | 0) >> 2] = HEAP32[((HEAP32[((HEAP32[($5 + 336 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + if ((HEAP32[($5 + 336 | 0) >> 2] | 0 | 0) != (HEAP32[($5 + 344 | 0) >> 2] | 0 | 0) & 1 | 0) { + continue label$9 + } + break label$9; + }; + } + HEAP32[($5 + 344 | 0) >> 2] = HEAP32[(HEAP32[($5 + 344 | 0) >> 2] | 0) >> 2] | 0; + if ((HEAP32[($5 + 344 | 0) >> 2] | 0 | 0) != (HEAP32[((HEAP32[($5 + 348 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) & 1 | 0) { + continue label$6 + } + break label$6; + }; + } + continue label$4; + }; + } + label$13 : { + label$14 : { + if (!((btConvexHullInternal__Int128__getSign_28_29_20const($5 + 352 | 0 | 0) | 0 | 0) <= (0 | 0) & 1 | 0)) { + break label$14 + } + HEAPF32[($5 + 492 | 0) >> 2] = Math_fround(0 | 0); + HEAP32[($5 + 132 | 0) >> 2] = 1; + break label$13; + } + btVector3__btVector3_28_29($5 + 116 | 0 | 0) | 0; + $342 = Math_fround(btConvexHullInternal__Int128__toScalar_28_29_20const($5 + 400 | 0 | 0)); + (wasm2js_i32$0 = (btVector3__operator_20float__28_29($5 + 116 | 0 | 0) | 0) + ((HEAP32[($6 + 108 | 0) >> 2] | 0) << 2 | 0) | 0, wasm2js_f32$0 = $342), HEAPF32[wasm2js_i32$0 >> 2] = wasm2js_f32$0; + $354 = Math_fround(btConvexHullInternal__Int128__toScalar_28_29_20const($5 + 384 | 0 | 0)); + (wasm2js_i32$0 = (btVector3__operator_20float__28_29($5 + 116 | 0 | 0) | 0) + ((HEAP32[($6 + 112 | 0) >> 2] | 0) << 2 | 0) | 0, wasm2js_f32$0 = $354), HEAPF32[wasm2js_i32$0 >> 2] = wasm2js_f32$0; + $366 = Math_fround(btConvexHullInternal__Int128__toScalar_28_29_20const($5 + 368 | 0 | 0)); + (wasm2js_i32$0 = (btVector3__operator_20float__28_29($5 + 116 | 0 | 0) | 0) + ((HEAP32[($6 + 104 | 0) >> 2] | 0) << 2 | 0) | 0, wasm2js_f32$0 = $366), HEAPF32[wasm2js_i32$0 >> 2] = wasm2js_f32$0; + (wasm2js_i32$0 = $5, wasm2js_f32$0 = Math_fround(Math_fround(4.0) * Math_fround(btConvexHullInternal__Int128__toScalar_28_29_20const($5 + 352 | 0 | 0)))), HEAPF32[(wasm2js_i32$0 + 112 | 0) >> 2] = wasm2js_f32$0; + btVector3__operator___28float_20const__29($5 + 116 | 0 | 0, $5 + 112 | 0 | 0) | 0; + btVector3__operator___28btVector3_20const__29_2($5 + 116 | 0 | 0, $6 | 0) | 0; + (wasm2js_i32$0 = $5, wasm2js_i32$1 = btAlignedObjectArray_btConvexHullInternal__Face____size_28_29_20const($5 + 436 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 108 | 0) >> 2] = wasm2js_i32$1; + label$15 : { + if (!(Math_fround(HEAPF32[($5 + 480 | 0) >> 2]) > Math_fround(0 | 0) & 1 | 0)) { + break label$15 + } + HEAPF32[($5 + 104 | 0) >> 2] = Math_fround(3402823466385288598117041.0e14); + HEAP32[($5 + 100 | 0) >> 2] = 0; + label$16 : { + label$17 : while (1) { + if (!((HEAP32[($5 + 100 | 0) >> 2] | 0 | 0) < (HEAP32[($5 + 108 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$16 + } + btConvexHullInternal__getBtNormal_28btConvexHullInternal__Face__29($5 + 84 | 0 | 0, $6 | 0, HEAP32[(btAlignedObjectArray_btConvexHullInternal__Face____operator_5b_5d_28int_29($5 + 436 | 0 | 0, HEAP32[($5 + 100 | 0) >> 2] | 0 | 0) | 0) >> 2] | 0 | 0); + btConvexHullInternal__toBtVector_28btConvexHullInternal__Point32_20const__29($5 + 48 | 0 | 0, $6 | 0, (HEAP32[(btAlignedObjectArray_btConvexHullInternal__Face____operator_5b_5d_28int_29($5 + 436 | 0 | 0, HEAP32[($5 + 100 | 0) >> 2] | 0 | 0) | 0) >> 2] | 0) + 12 | 0 | 0); + operator__28btVector3_20const__2c_20btVector3_20const__29($5 + 64 | 0 | 0, $5 + 48 | 0 | 0, $5 + 116 | 0 | 0); + (wasm2js_i32$0 = $5, wasm2js_f32$0 = Math_fround(btVector3__dot_28btVector3_20const__29_20const($5 + 84 | 0 | 0, $5 + 64 | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 80 | 0) >> 2] = wasm2js_f32$0; + label$18 : { + if (!(Math_fround(HEAPF32[($5 + 80 | 0) >> 2]) < Math_fround(HEAPF32[($5 + 104 | 0) >> 2]) & 1 | 0)) { + break label$18 + } + HEAPF32[($5 + 104 | 0) >> 2] = Math_fround(HEAPF32[($5 + 80 | 0) >> 2]); + } + HEAP32[($5 + 100 | 0) >> 2] = (HEAP32[($5 + 100 | 0) >> 2] | 0) + 1 | 0; + continue label$17; + }; + } + label$19 : { + if (!(Math_fround(HEAPF32[($5 + 104 | 0) >> 2]) <= Math_fround(0 | 0) & 1 | 0)) { + break label$19 + } + HEAPF32[($5 + 492 | 0) >> 2] = Math_fround(0 | 0); + HEAP32[($5 + 132 | 0) >> 2] = 1; + break label$13; + } + HEAPF32[($5 + 44 | 0) >> 2] = Math_fround(Math_fround(HEAPF32[($5 + 104 | 0) >> 2]) * Math_fround(HEAPF32[($5 + 480 | 0) >> 2])); + (wasm2js_i32$0 = $5, wasm2js_f32$0 = Math_fround(HEAPF32[(float_20const__20btMin_float__28float_20const__2c_20float_20const__29($5 + 484 | 0 | 0, $5 + 44 | 0 | 0) | 0) >> 2])), HEAPF32[(wasm2js_i32$0 + 484 | 0) >> 2] = wasm2js_f32$0; + } + HEAP32[($5 + 40 | 0) >> 2] = 243703; + HEAP32[($5 + 36 | 0) >> 2] = 0; + label$20 : { + label$21 : while (1) { + if (!((HEAP32[($5 + 36 | 0) >> 2] | 0 | 0) < (HEAP32[($5 + 108 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$20 + } + void_20btSwap_btConvexHullInternal__Face___28btConvexHullInternal__Face___2c_20btConvexHullInternal__Face___29(btAlignedObjectArray_btConvexHullInternal__Face____operator_5b_5d_28int_29($5 + 436 | 0 | 0, HEAP32[($5 + 36 | 0) >> 2] | 0 | 0) | 0 | 0, btAlignedObjectArray_btConvexHullInternal__Face____operator_5b_5d_28int_29($5 + 436 | 0 | 0, ((HEAP32[($5 + 40 | 0) >> 2] | 0) >>> 0) % ((HEAP32[($5 + 108 | 0) >> 2] | 0) >>> 0) | 0 | 0) | 0 | 0); + HEAP32[($5 + 36 | 0) >> 2] = (HEAP32[($5 + 36 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($5 + 40 | 0) >> 2] = Math_imul(HEAP32[($5 + 40 | 0) >> 2] | 0, 1664525) + 1013904223 | 0; + continue label$21; + }; + } + HEAP32[($5 + 32 | 0) >> 2] = 0; + label$22 : { + label$23 : while (1) { + if (!((HEAP32[($5 + 32 | 0) >> 2] | 0 | 0) < (HEAP32[($5 + 108 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$22 + } + $516 = HEAP32[(btAlignedObjectArray_btConvexHullInternal__Face____operator_5b_5d_28int_29($5 + 436 | 0 | 0, HEAP32[($5 + 32 | 0) >> 2] | 0 | 0) | 0) >> 2] | 0; + $517 = Math_fround(HEAPF32[($5 + 484 | 0) >> 2]); + btAlignedObjectArray_btConvexHullInternal__Vertex____btAlignedObjectArray_28btAlignedObjectArray_btConvexHullInternal__Vertex___20const__29($5 + 12 | 0 | 0, $5 + 456 | 0 | 0) | 0; + $529 = (btConvexHullInternal__shiftFace_28btConvexHullInternal__Face__2c_20float_2c_20btAlignedObjectArray_btConvexHullInternal__Vertex___29($6 | 0, $516 | 0, Math_fround($517), $5 + 12 | 0 | 0) | 0) ^ -1 | 0; + btAlignedObjectArray_btConvexHullInternal__Vertex_____btAlignedObjectArray_28_29($5 + 12 | 0 | 0) | 0; + label$24 : { + if (!($529 & 1 | 0)) { + break label$24 + } + HEAPF32[($5 + 492 | 0) >> 2] = Math_fround(-Math_fround(HEAPF32[($5 + 484 | 0) >> 2])); + HEAP32[($5 + 132 | 0) >> 2] = 1; + break label$13; + } + HEAP32[($5 + 32 | 0) >> 2] = (HEAP32[($5 + 32 | 0) >> 2] | 0) + 1 | 0; + continue label$23; + }; + } + HEAPF32[($5 + 492 | 0) >> 2] = Math_fround(HEAPF32[($5 + 484 | 0) >> 2]); + HEAP32[($5 + 132 | 0) >> 2] = 1; + } + btAlignedObjectArray_btConvexHullInternal__Face_____btAlignedObjectArray_28_29($5 + 436 | 0 | 0) | 0; + btAlignedObjectArray_btConvexHullInternal__Vertex_____btAlignedObjectArray_28_29($5 + 456 | 0 | 0) | 0; + } + $549 = Math_fround(HEAPF32[($5 + 492 | 0) >> 2]); + __stack_pointer = $5 + 496 | 0; + return Math_fround($549); + } + + function btAlignedObjectArray_btConvexHullInternal__Vertex____btAlignedObjectArray_28_29($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + btAlignedAllocator_btConvexHullInternal__Vertex__2c_2016u___btAlignedAllocator_28_29($4 | 0) | 0; + btAlignedObjectArray_btConvexHullInternal__Vertex____init_28_29($4 | 0); + __stack_pointer = $3 + 16 | 0; + return $4 | 0; + } + + function btAlignedObjectArray_btConvexHullInternal__Vertex____push_back_28btConvexHullInternal__Vertex__20const__29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $5 = 0, $4 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; + (wasm2js_i32$0 = $4, wasm2js_i32$1 = btAlignedObjectArray_btConvexHullInternal__Vertex____size_28_29_20const($5 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + if (!((HEAP32[($4 + 4 | 0) >> 2] | 0 | 0) == (btAlignedObjectArray_btConvexHullInternal__Vertex____capacity_28_29_20const($5 | 0) | 0 | 0) & 1 | 0)) { + break label$1 + } + btAlignedObjectArray_btConvexHullInternal__Vertex____reserve_28int_29($5 | 0, btAlignedObjectArray_btConvexHullInternal__Vertex____allocSize_28int_29($5 | 0, btAlignedObjectArray_btConvexHullInternal__Vertex____size_28_29_20const($5 | 0) | 0 | 0) | 0 | 0); + } + HEAP32[((HEAP32[($5 + 12 | 0) >> 2] | 0) + ((HEAP32[($5 + 4 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = HEAP32[(HEAP32[($4 + 8 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($5 + 4 | 0) >> 2] = (HEAP32[($5 + 4 | 0) >> 2] | 0) + 1 | 0; + __stack_pointer = $4 + 16 | 0; + return; + } + + function btAlignedObjectArray_btConvexHullInternal__Face____btAlignedObjectArray_28_29($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + btAlignedAllocator_btConvexHullInternal__Face__2c_2016u___btAlignedAllocator_28_29($4 | 0) | 0; + btAlignedObjectArray_btConvexHullInternal__Face____init_28_29($4 | 0); + __stack_pointer = $3 + 16 | 0; + return $4 | 0; + } + + function btAlignedObjectArray_btConvexHullInternal__Vertex____pop_back_28_29($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + label$1 : { + if ((HEAP32[($4 + 4 | 0) >> 2] | 0 | 0) > (0 | 0) & 1 | 0) { + break label$1 + } + __assert_fail(85800 | 0, 78295 | 0, 201 | 0, 77711 | 0); + wasm2js_trap(); + } + HEAP32[($4 + 4 | 0) >> 2] = (HEAP32[($4 + 4 | 0) >> 2] | 0) + -1 | 0; + __stack_pointer = $3 + 16 | 0; + return; + } + + function btConvexHullInternal__Pool_btConvexHullInternal__Face___newObject_28_29($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0, $25 = 0, $34 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + HEAP32[($3 + 8 | 0) >> 2] = HEAP32[($4 + 8 | 0) >> 2] | 0; + label$1 : { + if ((HEAP32[($3 + 8 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$1 + } + HEAP32[($3 + 4 | 0) >> 2] = HEAP32[($4 + 4 | 0) >> 2] | 0; + label$2 : { + label$3 : { + if (!((HEAP32[($3 + 4 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$3 + } + HEAP32[($4 + 4 | 0) >> 2] = HEAP32[((HEAP32[($3 + 4 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + break label$2; + } + $25 = btAlignedAllocInternal_28unsigned_20long_2c_20int_29(12 | 0, 16 | 0) | 0; + btConvexHullInternal__PoolArray_btConvexHullInternal__Face___PoolArray_28int_29($25 | 0, HEAP32[($4 + 12 | 0) >> 2] | 0 | 0) | 0; + HEAP32[($3 + 4 | 0) >> 2] = $25; + HEAP32[((HEAP32[($3 + 4 | 0) >> 2] | 0) + 8 | 0) >> 2] = HEAP32[$4 >> 2] | 0; + HEAP32[$4 >> 2] = HEAP32[($3 + 4 | 0) >> 2] | 0; + } + (wasm2js_i32$0 = $3, wasm2js_i32$1 = btConvexHullInternal__PoolArray_btConvexHullInternal__Face___init_28_29(HEAP32[($3 + 4 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + } + HEAP32[($4 + 8 | 0) >> 2] = HEAP32[(HEAP32[($3 + 8 | 0) >> 2] | 0) >> 2] | 0; + $34 = HEAP32[($3 + 8 | 0) >> 2] | 0; + btConvexHullInternal__Face__Face_28_29($34 | 0) | 0; + __stack_pointer = $3 + 16 | 0; + return $34 | 0; + } + + function btConvexHullInternal__Face__init_28btConvexHullInternal__Vertex__2c_20btConvexHullInternal__Vertex__2c_20btConvexHullInternal__Vertex__29($0, $1, $2, $3) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + var $6 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, $7 = 0, $13 = 0, $15 = 0, $25 = 0, $27 = 0, $37 = 0, $39 = 0, $87 = 0, $97 = 0, $115 = 0, $128 = 0, $143 = 0, $153 = 0; + $6 = __stack_pointer - 48 | 0; + __stack_pointer = $6; + HEAP32[($6 + 44 | 0) >> 2] = $0; + HEAP32[($6 + 40 | 0) >> 2] = $1; + HEAP32[($6 + 36 | 0) >> 2] = $2; + HEAP32[($6 + 32 | 0) >> 2] = $3; + $7 = HEAP32[($6 + 44 | 0) >> 2] | 0; + HEAP32[($7 + 4 | 0) >> 2] = HEAP32[($6 + 40 | 0) >> 2] | 0; + $13 = $7 + 12 | 0; + i64toi32_i32$2 = (HEAP32[($6 + 40 | 0) >> 2] | 0) + 88 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $87 = i64toi32_i32$0; + i64toi32_i32$0 = $13; + HEAP32[i64toi32_i32$0 >> 2] = $87; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $15 = 8; + i64toi32_i32$2 = i64toi32_i32$2 + $15 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $97 = i64toi32_i32$1; + i64toi32_i32$1 = $13 + $15 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $97; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + btConvexHullInternal__Vertex__operator__28btConvexHullInternal__Vertex_20const__29_20const($6 + 16 | 0 | 0, HEAP32[($6 + 36 | 0) >> 2] | 0 | 0, HEAP32[($6 + 40 | 0) >> 2] | 0 | 0); + $25 = $7 + 28 | 0; + i64toi32_i32$2 = $6; + i64toi32_i32$0 = HEAP32[($6 + 16 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($6 + 20 | 0) >> 2] | 0; + $115 = i64toi32_i32$0; + i64toi32_i32$0 = $25; + HEAP32[i64toi32_i32$0 >> 2] = $115; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $27 = 8; + i64toi32_i32$2 = ($6 + 16 | 0) + $27 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $128 = i64toi32_i32$1; + i64toi32_i32$1 = $25 + $27 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $128; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + btConvexHullInternal__Vertex__operator__28btConvexHullInternal__Vertex_20const__29_20const($6 | 0, HEAP32[($6 + 32 | 0) >> 2] | 0 | 0, HEAP32[($6 + 40 | 0) >> 2] | 0 | 0); + $37 = $7 + 44 | 0; + i64toi32_i32$2 = $6; + i64toi32_i32$0 = HEAP32[$6 >> 2] | 0; + i64toi32_i32$1 = HEAP32[($6 + 4 | 0) >> 2] | 0; + $143 = i64toi32_i32$0; + i64toi32_i32$0 = $37; + HEAP32[i64toi32_i32$0 >> 2] = $143; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $39 = 8; + i64toi32_i32$2 = $6 + $39 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $153 = i64toi32_i32$1; + i64toi32_i32$1 = $37 + $39 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $153; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + label$1 : { + label$2 : { + if (!((HEAP32[((HEAP32[($6 + 40 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[((HEAP32[((HEAP32[($6 + 40 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + 8 | 0) >> 2] = $7; + break label$1; + } + HEAP32[((HEAP32[($6 + 40 | 0) >> 2] | 0) + 12 | 0) >> 2] = $7; + } + HEAP32[((HEAP32[($6 + 40 | 0) >> 2] | 0) + 16 | 0) >> 2] = $7; + __stack_pointer = $6 + 48 | 0; + return; + } + + function btAlignedObjectArray_btConvexHullInternal__Face____push_back_28btConvexHullInternal__Face__20const__29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $5 = 0, $4 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; + (wasm2js_i32$0 = $4, wasm2js_i32$1 = btAlignedObjectArray_btConvexHullInternal__Face____size_28_29_20const($5 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + if (!((HEAP32[($4 + 4 | 0) >> 2] | 0 | 0) == (btAlignedObjectArray_btConvexHullInternal__Face____capacity_28_29_20const($5 | 0) | 0 | 0) & 1 | 0)) { + break label$1 + } + btAlignedObjectArray_btConvexHullInternal__Face____reserve_28int_29($5 | 0, btAlignedObjectArray_btConvexHullInternal__Face____allocSize_28int_29($5 | 0, btAlignedObjectArray_btConvexHullInternal__Face____size_28_29_20const($5 | 0) | 0 | 0) | 0 | 0); + } + HEAP32[((HEAP32[($5 + 12 | 0) >> 2] | 0) + ((HEAP32[($5 + 4 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = HEAP32[(HEAP32[($4 + 8 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($5 + 4 | 0) >> 2] = (HEAP32[($5 + 4 | 0) >> 2] | 0) + 1 | 0; + __stack_pointer = $4 + 16 | 0; + return; + } + + function btConvexHullInternal__Point32__operator__28btConvexHullInternal__Point32_20const__29_20const_1($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $5 = 0, $6 = 0; + $5 = __stack_pointer - 16 | 0; + __stack_pointer = $5; + HEAP32[($5 + 12 | 0) >> 2] = $1; + HEAP32[($5 + 8 | 0) >> 2] = $2; + $6 = HEAP32[($5 + 12 | 0) >> 2] | 0; + btConvexHullInternal__Point32__Point32_28int_2c_20int_2c_20int_29($0 | 0, (HEAP32[$6 >> 2] | 0) + (HEAP32[(HEAP32[($5 + 8 | 0) >> 2] | 0) >> 2] | 0) | 0 | 0, (HEAP32[($6 + 4 | 0) >> 2] | 0) + (HEAP32[((HEAP32[($5 + 8 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) | 0 | 0, (HEAP32[($6 + 8 | 0) >> 2] | 0) + (HEAP32[((HEAP32[($5 + 8 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) | 0 | 0) | 0; + __stack_pointer = $5 + 16 | 0; + return; + } + + function btConvexHullInternal__Int128__Int128_28long_20long_29($0, $1, $1$hi) { + $0 = $0 | 0; + $1 = $1 | 0; + $1$hi = $1$hi | 0; + var i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, $7$hi = 0, $8$hi = 0, i64toi32_i32$3 = 0, $4 = 0, $5 = 0, $16 = 0, $17 = 0, $18 = 0, $12$hi = 0, $13$hi = 0, i64toi32_i32$4 = 0, $30 = 0, $46 = 0; + $4 = __stack_pointer - 16 | 0; + HEAP32[($4 + 12 | 0) >> 2] = $0; + i64toi32_i32$0 = $1$hi; + i64toi32_i32$1 = $4; + HEAP32[i64toi32_i32$1 >> 2] = $1; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + $5 = HEAP32[(i64toi32_i32$1 + 12 | 0) >> 2] | 0; + i64toi32_i32$2 = i64toi32_i32$1; + i64toi32_i32$0 = HEAP32[i64toi32_i32$1 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] | 0; + $30 = i64toi32_i32$0; + i64toi32_i32$0 = $5; + HEAP32[i64toi32_i32$0 >> 2] = $30; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $7$hi = i64toi32_i32$0; + i64toi32_i32$0 = 0; + $8$hi = i64toi32_i32$0; + i64toi32_i32$0 = $7$hi; + i64toi32_i32$0 = $8$hi; + i64toi32_i32$0 = $7$hi; + i64toi32_i32$0 = $8$hi; + i64toi32_i32$0 = $7$hi; + i64toi32_i32$2 = i64toi32_i32$1; + i64toi32_i32$1 = $8$hi; + i64toi32_i32$3 = 0; + if ((i64toi32_i32$0 | 0) > (i64toi32_i32$1 | 0)) { + $16 = 1 + } else { + if ((i64toi32_i32$0 | 0) >= (i64toi32_i32$1 | 0)) { + if (i64toi32_i32$2 >>> 0 < i64toi32_i32$3 >>> 0) { + $17 = 0 + } else { + $17 = 1 + } + $18 = $17; + } else { + $18 = 0 + } + $16 = $18; + } + i64toi32_i32$2 = 0; + $12$hi = i64toi32_i32$2; + i64toi32_i32$2 = -1; + $13$hi = i64toi32_i32$2; + i64toi32_i32$2 = $12$hi; + i64toi32_i32$2 = $13$hi; + i64toi32_i32$4 = $16 & 1 | 0; + i64toi32_i32$2 = $12$hi; + i64toi32_i32$0 = $13$hi; + i64toi32_i32$1 = i64toi32_i32$4 ? 0 : -1; + i64toi32_i32$3 = i64toi32_i32$4 ? i64toi32_i32$2 : i64toi32_i32$0; + $46 = i64toi32_i32$1; + i64toi32_i32$1 = $5; + HEAP32[(i64toi32_i32$1 + 8 | 0) >> 2] = $46; + HEAP32[(i64toi32_i32$1 + 12 | 0) >> 2] = i64toi32_i32$3; + return i64toi32_i32$1 | 0; + } + + function btConvexHullInternal__Int128__getSign_28_29_20const($0) { + $0 = $0 | 0; + var i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, i64toi32_i32$3 = 0, $4 = 0, $5$hi = 0, $6$hi = 0, $14$hi = 0, $15$hi = 0, $23$hi = 0, $24$hi = 0, $3 = 0, $15 = 0, $16 = 0, $17 = 0, $13 = 0, $22 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + i64toi32_i32$2 = $4; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 8 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 12 | 0) >> 2] | 0; + $5$hi = i64toi32_i32$1; + i64toi32_i32$1 = 0; + $6$hi = i64toi32_i32$1; + i64toi32_i32$1 = $5$hi; + i64toi32_i32$1 = $6$hi; + i64toi32_i32$1 = $5$hi; + i64toi32_i32$1 = $6$hi; + i64toi32_i32$1 = $5$hi; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$0 = $6$hi; + i64toi32_i32$3 = 0; + if ((i64toi32_i32$1 | 0) < (i64toi32_i32$0 | 0)) { + $15 = 1 + } else { + if ((i64toi32_i32$1 | 0) <= (i64toi32_i32$0 | 0)) { + if (i64toi32_i32$2 >>> 0 >= i64toi32_i32$3 >>> 0) { + $16 = 0 + } else { + $16 = 1 + } + $17 = $16; + } else { + $17 = 0 + } + $15 = $17; + } + label$1 : { + label$2 : { + if (!($15 & 1 | 0)) { + break label$2 + } + $13 = -1; + break label$1; + } + i64toi32_i32$3 = $4; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$3 + 8 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$3 + 12 | 0) >> 2] | 0; + $14$hi = i64toi32_i32$1; + i64toi32_i32$1 = 0; + $15$hi = i64toi32_i32$1; + i64toi32_i32$1 = $14$hi; + i64toi32_i32$1 = $15$hi; + i64toi32_i32$1 = $14$hi; + i64toi32_i32$1 = $15$hi; + i64toi32_i32$1 = $14$hi; + i64toi32_i32$3 = i64toi32_i32$2; + i64toi32_i32$2 = $15$hi; + i64toi32_i32$0 = 0; + $22 = 1; + label$3 : { + if (((i64toi32_i32$3 | 0) != (i64toi32_i32$0 | 0) | (i64toi32_i32$1 | 0) != (i64toi32_i32$2 | 0) | 0) & 1 | 0) { + break label$3 + } + i64toi32_i32$0 = $4; + i64toi32_i32$3 = HEAP32[i64toi32_i32$0 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] | 0; + $23$hi = i64toi32_i32$1; + i64toi32_i32$1 = 0; + $24$hi = i64toi32_i32$1; + i64toi32_i32$1 = $23$hi; + i64toi32_i32$1 = $24$hi; + i64toi32_i32$1 = $23$hi; + i64toi32_i32$1 = $24$hi; + i64toi32_i32$1 = $23$hi; + i64toi32_i32$0 = i64toi32_i32$3; + i64toi32_i32$3 = $24$hi; + i64toi32_i32$2 = 0; + $22 = (i64toi32_i32$0 | 0) != (i64toi32_i32$2 | 0) | (i64toi32_i32$1 | 0) != (i64toi32_i32$3 | 0) | 0; + } + $13 = $22 & 1 | 0 ? 1 : 0; + } + return $13 | 0; + } + + function btConvexHullInternal__Int128__toScalar_28_29_20const($0) { + $0 = $0 | 0; + var i64toi32_i32$1 = 0, i64toi32_i32$3 = 0, i64toi32_i32$2 = 0, $3 = 0, $4 = 0, $6$hi = 0, i64toi32_i32$0 = 0, $5$hi = 0, $11 = 0, $12 = 0, $14 = 0, $19 = Math_fround(0), $13 = Math_fround(0); + $3 = __stack_pointer - 32 | 0; + __stack_pointer = $3; + HEAP32[($3 + 28 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 28 | 0) >> 2] | 0; + i64toi32_i32$2 = $4; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 8 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 12 | 0) >> 2] | 0; + $5$hi = i64toi32_i32$1; + i64toi32_i32$1 = 0; + $6$hi = i64toi32_i32$1; + i64toi32_i32$1 = $5$hi; + i64toi32_i32$1 = $6$hi; + i64toi32_i32$1 = $5$hi; + i64toi32_i32$1 = $6$hi; + i64toi32_i32$1 = $5$hi; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$0 = $6$hi; + i64toi32_i32$3 = 0; + if ((i64toi32_i32$1 | 0) > ($6$hi | 0)) { + $11 = 1 + } else { + if ((i64toi32_i32$1 | 0) >= (i64toi32_i32$0 | 0)) { + if (i64toi32_i32$2 >>> 0 < i64toi32_i32$3 >>> 0) { + $12 = 0 + } else { + $12 = 1 + } + $14 = $12; + } else { + $14 = 0 + } + $11 = $14; + } + label$1 : { + label$2 : { + if (!($11 & 1 | 0)) { + break label$2 + } + i64toi32_i32$3 = $4; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$3 + 8 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$3 + 12 | 0) >> 2] | 0; + i64toi32_i32$3 = 0; + $13 = Math_fround(+(i64toi32_i32$2 >>> 0) + 4294967296.0 * +(i64toi32_i32$1 >>> 0)); + i64toi32_i32$3 = $4; + i64toi32_i32$1 = HEAP32[i64toi32_i32$3 >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$3 + 4 | 0) >> 2] | 0; + i64toi32_i32$3 = 0; + $19 = Math_fround(Math_fround($13 * Math_fround(18446744073709551615.0)) + Math_fround(+(i64toi32_i32$1 >>> 0) + 4294967296.0 * +(i64toi32_i32$2 >>> 0))); + break label$1; + } + btConvexHullInternal__Int128__operator__28_29_20const($3 + 8 | 0 | 0, $4 | 0); + $19 = Math_fround(-Math_fround(btConvexHullInternal__Int128__toScalar_28_29_20const($3 + 8 | 0 | 0))); + } + __stack_pointer = $3 + 32 | 0; + return Math_fround($19); + } + + function btAlignedObjectArray_btConvexHullInternal__Face____size_28_29_20const($0) { + $0 = $0 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + return HEAP32[((HEAP32[($3 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0; + } + + function btAlignedObjectArray_btConvexHullInternal__Face____operator_5b_5d_28int_29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, $5 = 0, $32 = 0; + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; + label$1 : { + if ((HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0) { + break label$1 + } + __assert_fail(85840 | 0, 78295 | 0, 183 | 0, 83901 | 0); + wasm2js_trap(); + } + label$2 : { + if ((HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) < (btAlignedObjectArray_btConvexHullInternal__Face____size_28_29_20const($5 | 0) | 0 | 0) & 1 | 0) { + break label$2 + } + __assert_fail(87321 | 0, 78295 | 0, 184 | 0, 83901 | 0); + wasm2js_trap(); + } + $32 = (HEAP32[($5 + 12 | 0) >> 2] | 0) + ((HEAP32[($4 + 8 | 0) >> 2] | 0) << 2 | 0) | 0; + __stack_pointer = $4 + 16 | 0; + return $32 | 0; + } + + function void_20btSwap_btConvexHullInternal__Face___28btConvexHullInternal__Face___2c_20btConvexHullInternal__Face___29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0; + $4 = __stack_pointer - 16 | 0; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + HEAP32[($4 + 4 | 0) >> 2] = HEAP32[(HEAP32[($4 + 12 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[(HEAP32[($4 + 12 | 0) >> 2] | 0) >> 2] = HEAP32[(HEAP32[($4 + 8 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[(HEAP32[($4 + 8 | 0) >> 2] | 0) >> 2] = HEAP32[($4 + 4 | 0) >> 2] | 0; + return; + } + + function btAlignedObjectArray_btConvexHullInternal__Vertex____btAlignedObjectArray_28btAlignedObjectArray_btConvexHullInternal__Vertex___20const__29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, $5 = 0, $8 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; + btAlignedAllocator_btConvexHullInternal__Vertex__2c_2016u___btAlignedAllocator_28_29($5 | 0) | 0; + btAlignedObjectArray_btConvexHullInternal__Vertex____init_28_29($5 | 0); + (wasm2js_i32$0 = $4, wasm2js_i32$1 = btAlignedObjectArray_btConvexHullInternal__Vertex____size_28_29_20const(HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + $8 = HEAP32[($4 + 4 | 0) >> 2] | 0; + HEAP32[$4 >> 2] = 0; + btAlignedObjectArray_btConvexHullInternal__Vertex____resize_28int_2c_20btConvexHullInternal__Vertex__20const__29($5 | 0, $8 | 0, $4 | 0); + btAlignedObjectArray_btConvexHullInternal__Vertex____copy_28int_2c_20int_2c_20btConvexHullInternal__Vertex___29_20const(HEAP32[($4 + 8 | 0) >> 2] | 0 | 0, 0 | 0, HEAP32[($4 + 4 | 0) >> 2] | 0 | 0, HEAP32[($5 + 12 | 0) >> 2] | 0 | 0); + __stack_pointer = $4 + 16 | 0; + return $5 | 0; + } + + function btConvexHullInternal__shiftFace_28btConvexHullInternal__Face__2c_20float_2c_20btAlignedObjectArray_btConvexHullInternal__Vertex___29($0, $1, $2, $3) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = Math_fround($2); + $3 = $3 | 0; + var $6 = 0, i64toi32_i32$2 = 0, i64toi32_i32$3 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, $7 = 0, $951 = 0, $992 = 0, $204 = 0, $205 = 0, $158$hi = 0, $159$hi = 0, $169$hi = 0, $170$hi = 0, $35 = 0, $50 = 0, $65 = 0, $76 = Math_fround(0), $82 = 0, $93 = Math_fround(0), $99 = 0, $110 = Math_fround(0), $116 = 0, $206 = 0, $207 = 0, $208 = 0, $209 = 0, $210 = 0, $211 = 0, $245 = 0, $253 = 0, $261 = 0, $269 = 0, $359 = 0, $367 = 0, $375 = 0, $383 = 0, $651$hi = 0, $652$hi = 0, $656$hi = 0, $657$hi = 0, $688$hi = 0, $689$hi = 0, $690$hi = 0, $691$hi = 0, $698$hi = 0, $699$hi = 0, $700$hi = 0, $701$hi = 0, $717$hi = 0, $718$hi = 0, $719$hi = 0, $720$hi = 0, $736$hi = 0, $737$hi = 0, $738$hi = 0, $739$hi = 0, $773$hi = 0, $774$hi = 0, $775$hi = 0, $776$hi = 0, $783$hi = 0, $784$hi = 0, $785$hi = 0, $786$hi = 0, $802$hi = 0, $803$hi = 0, $804$hi = 0, $805$hi = 0, $821$hi = 0, $822$hi = 0, $823$hi = 0, $824$hi = 0, $858$hi = 0, $859$hi = 0, $860$hi = 0, $861$hi = 0, $868$hi = 0, $869$hi = 0, $870$hi = 0, $871$hi = 0, $887$hi = 0, $888$hi = 0, $889$hi = 0, $890$hi = 0, $906$hi = 0, $907$hi = 0, $908$hi = 0, $909$hi = 0, $940 = 0, $994 = 0, $1000 = 0, $1006 = 0, $1012 = 0, $1018 = 0, $1024 = 0, $1030 = 0, $1039 = Math_fround(0), $1045 = 0, $1052 = Math_fround(0), $1058 = 0, $1065 = Math_fround(0), $1071 = 0, $1278 = 0, $1284 = 0, $1288 = 0, $1332 = 0, $1334 = 0, $31 = Math_fround(0), $46 = Math_fround(0), $61 = Math_fround(0), $84 = 0, $101 = 0, $1619 = 0, $1648 = 0, $158 = 0, $1656 = 0, $169 = 0, $1673 = 0, $1821 = 0, $1837 = 0, $1853 = 0, $1869 = 0, $1873 = 0, $2043 = 0, $2059 = 0, $2075 = 0, $2091 = 0, $2095 = 0, $2518 = 0, $2532 = 0, $2546 = 0, $2560 = 0, $2591 = 0, $2624 = 0, $651 = 0, $2635 = 0, $656 = 0, $2646 = 0, $688 = 0, $2698 = 0, $690 = 0, $2708 = 0, $698 = 0, $2719 = 0, $700 = 0, $2729 = 0, $717 = 0, $2755 = 0, $719 = 0, $2765 = 0, $736 = 0, $2791 = 0, $738 = 0, $2801 = 0, $773 = 0, $2858 = 0, $775 = 0, $2868 = 0, $783 = 0, $2879 = 0, $785 = 0, $2889 = 0, $802 = 0, $2915 = 0, $804 = 0, $2925 = 0, $821 = 0, $2951 = 0, $823 = 0, $2961 = 0, $858 = 0, $3018 = 0, $860 = 0, $3028 = 0, $868 = 0, $3039 = 0, $870 = 0, $3049 = 0, $887 = 0, $3075 = 0, $889 = 0, $3085 = 0, $906 = 0, $3111 = 0, $908 = 0, $3121 = 0, $3183 = 0, $3187 = 0, $3207 = 0, $3211 = 0, $3227 = 0, $3231 = 0, $3247 = 0, $3251 = 0, $3264 = 0, $3268 = 0, $3295 = 0, $3308 = 0, $3321 = 0, $3334 = 0, $3347 = 0, $3360 = 0, $3373 = 0, $3386 = 0, $4019 = 0, $4032 = 0, $1345 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $6 = __stack_pointer - 1248 | 0; + __stack_pointer = $6; + HEAP32[($6 + 1240 | 0) >> 2] = $0; + HEAP32[($6 + 1236 | 0) >> 2] = $1; + HEAPF32[($6 + 1232 | 0) >> 2] = $2; + HEAP32[($6 + 1228 | 0) >> 2] = $3; + $7 = HEAP32[($6 + 1240 | 0) >> 2] | 0; + btConvexHullInternal__getBtNormal_28btConvexHullInternal__Face__29($6 + 1196 | 0 | 0, $7 | 0, HEAP32[($6 + 1236 | 0) >> 2] | 0 | 0); + HEAPF32[($6 + 1192 | 0) >> 2] = Math_fround(-Math_fround(HEAPF32[($6 + 1232 | 0) >> 2])); + operator__28btVector3_20const__2c_20float_20const__29($6 + 1212 | 0 | 0, $6 + 1196 | 0 | 0, $6 + 1192 | 0 | 0); + label$1 : { + if (!(Math_fround(HEAPF32[(btVector3__operator_20float__28_29($7 | 0) | 0) >> 2]) != Math_fround(0 | 0) & 1 | 0)) { + break label$1 + } + $31 = Math_fround(HEAPF32[(btVector3__operator_20float__28_29($7 | 0) | 0) >> 2]); + $35 = btVector3__operator_20float__28_29($6 + 1212 | 0 | 0) | 0; + HEAPF32[$35 >> 2] = Math_fround(Math_fround(HEAPF32[$35 >> 2]) / $31); + } + label$2 : { + if (!(Math_fround(HEAPF32[((btVector3__operator_20float__28_29($7 | 0) | 0) + 4 | 0) >> 2]) != Math_fround(0 | 0) & 1 | 0)) { + break label$2 + } + $46 = Math_fround(HEAPF32[((btVector3__operator_20float__28_29($7 | 0) | 0) + 4 | 0) >> 2]); + $50 = btVector3__operator_20float__28_29($6 + 1212 | 0 | 0) | 0; + HEAPF32[($50 + 4 | 0) >> 2] = Math_fround(Math_fround(HEAPF32[($50 + 4 | 0) >> 2]) / $46); + } + label$3 : { + if (!(Math_fround(HEAPF32[((btVector3__operator_20float__28_29($7 | 0) | 0) + 8 | 0) >> 2]) != Math_fround(0 | 0) & 1 | 0)) { + break label$3 + } + $61 = Math_fround(HEAPF32[((btVector3__operator_20float__28_29($7 | 0) | 0) + 8 | 0) >> 2]); + $65 = btVector3__operator_20float__28_29($6 + 1212 | 0 | 0) | 0; + HEAPF32[($65 + 8 | 0) >> 2] = Math_fround(Math_fround(HEAPF32[($65 + 8 | 0) >> 2]) / $61); + } + $76 = Math_fround(HEAPF32[((btVector3__operator_20float__28_29($6 + 1212 | 0 | 0) | 0) + ((HEAP32[($7 + 108 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2]); + label$4 : { + label$5 : { + if (!(Math_fround(Math_abs($76)) < Math_fround(2147483648.0))) { + break label$5 + } + $82 = ~~$76; + break label$4; + } + $82 = -2147483648; + } + $84 = $82; + $93 = Math_fround(HEAPF32[((btVector3__operator_20float__28_29($6 + 1212 | 0 | 0) | 0) + ((HEAP32[($7 + 112 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2]); + label$6 : { + label$7 : { + if (!(Math_fround(Math_abs($93)) < Math_fround(2147483648.0))) { + break label$7 + } + $99 = ~~$93; + break label$6; + } + $99 = -2147483648; + } + $101 = $99; + $110 = Math_fround(HEAPF32[((btVector3__operator_20float__28_29($6 + 1212 | 0 | 0) | 0) + ((HEAP32[($7 + 104 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2]); + label$8 : { + label$9 : { + if (!(Math_fround(Math_abs($110)) < Math_fround(2147483648.0))) { + break label$9 + } + $116 = ~~$110; + break label$8; + } + $116 = -2147483648; + } + btConvexHullInternal__Point32__Point32_28int_2c_20int_2c_20int_29($6 + 1176 | 0 | 0, $84 | 0, $101 | 0, $116 | 0) | 0; + label$10 : { + label$11 : { + if (!((btConvexHullInternal__Point32__isZero_28_29($6 + 1176 | 0 | 0) | 0) & 1 | 0)) { + break label$11 + } + HEAP8[($6 + 1247 | 0) >> 0] = 1 & 1 | 0; + break label$10; + } + btConvexHullInternal__Face__getNormal_28_29($6 + 1152 | 0 | 0, HEAP32[($6 + 1236 | 0) >> 2] | 0 | 0); + i64toi32_i32$0 = btConvexHullInternal__Point32__dot_28btConvexHullInternal__Point64_20const__29_20const((HEAP32[($6 + 1236 | 0) >> 2] | 0) + 12 | 0 | 0, $6 + 1152 | 0 | 0) | 0; + i64toi32_i32$1 = i64toi32_i32$HIGH_BITS; + $1619 = i64toi32_i32$0; + i64toi32_i32$0 = $6; + HEAP32[($6 + 1144 | 0) >> 2] = $1619; + HEAP32[($6 + 1148 | 0) >> 2] = i64toi32_i32$1; + btConvexHullInternal__Point32__operator__28btConvexHullInternal__Point32_20const__29_20const_1($6 + 1128 | 0 | 0, (HEAP32[($6 + 1236 | 0) >> 2] | 0) + 12 | 0 | 0, $6 + 1176 | 0 | 0); + i64toi32_i32$1 = btConvexHullInternal__Point32__dot_28btConvexHullInternal__Point64_20const__29_20const($6 + 1128 | 0 | 0, $6 + 1152 | 0 | 0) | 0; + i64toi32_i32$0 = i64toi32_i32$HIGH_BITS; + $1648 = i64toi32_i32$1; + i64toi32_i32$1 = $6; + HEAP32[($6 + 1120 | 0) >> 2] = $1648; + HEAP32[($6 + 1124 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$2 = $6; + i64toi32_i32$0 = HEAP32[($6 + 1120 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($6 + 1124 | 0) >> 2] | 0; + $158 = i64toi32_i32$0; + $158$hi = i64toi32_i32$1; + i64toi32_i32$2 = $6; + i64toi32_i32$1 = HEAP32[($6 + 1144 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($6 + 1148 | 0) >> 2] | 0; + $159$hi = i64toi32_i32$0; + i64toi32_i32$0 = $158$hi; + i64toi32_i32$0 = $159$hi; + i64toi32_i32$0 = $158$hi; + i64toi32_i32$0 = $159$hi; + $1656 = i64toi32_i32$1; + i64toi32_i32$0 = $158$hi; + i64toi32_i32$2 = $158; + i64toi32_i32$1 = $159$hi; + i64toi32_i32$3 = $1656; + if ((i64toi32_i32$0 | 0) < (i64toi32_i32$1 | 0)) { + $206 = 1 + } else { + if ((i64toi32_i32$0 | 0) <= (i64toi32_i32$1 | 0)) { + if (i64toi32_i32$2 >>> 0 > i64toi32_i32$3 >>> 0) { + $207 = 0 + } else { + $207 = 1 + } + $208 = $207; + } else { + $208 = 0 + } + $206 = $208; + } + label$12 : { + if ($206 & 1 | 0) { + break label$12 + } + __assert_fail(67544 | 0, 72732 | 0, 2250 | 0, 82177 | 0); + wasm2js_trap(); + } + i64toi32_i32$3 = $6; + i64toi32_i32$2 = HEAP32[($6 + 1120 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($6 + 1124 | 0) >> 2] | 0; + $169 = i64toi32_i32$2; + $169$hi = i64toi32_i32$0; + i64toi32_i32$3 = $6; + i64toi32_i32$0 = HEAP32[($6 + 1144 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($6 + 1148 | 0) >> 2] | 0; + $170$hi = i64toi32_i32$2; + i64toi32_i32$2 = $169$hi; + i64toi32_i32$2 = $170$hi; + i64toi32_i32$2 = $169$hi; + i64toi32_i32$2 = $170$hi; + $1673 = i64toi32_i32$0; + i64toi32_i32$2 = $169$hi; + i64toi32_i32$3 = $169; + i64toi32_i32$0 = $170$hi; + i64toi32_i32$1 = $1673; + if ((i64toi32_i32$2 | 0) > (i64toi32_i32$0 | 0)) { + $209 = 1 + } else { + if ((i64toi32_i32$2 | 0) >= (i64toi32_i32$0 | 0)) { + if (i64toi32_i32$3 >>> 0 < i64toi32_i32$1 >>> 0) { + $210 = 0 + } else { + $210 = 1 + } + $211 = $210; + } else { + $211 = 0 + } + $209 = $211; + } + label$13 : { + if (!($209 & 1 | 0)) { + break label$13 + } + HEAP8[($6 + 1247 | 0) >> 0] = 0 & 1 | 0; + break label$10; + } + HEAP32[($6 + 1116 | 0) >> 2] = 0; + HEAP32[($6 + 1112 | 0) >> 2] = HEAP32[((HEAP32[((HEAP32[($6 + 1236 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + btConvexHullInternal__Vertex__dot_28btConvexHullInternal__Point64_20const__29_20const($6 + 1072 | 0 | 0, HEAP32[((HEAP32[($6 + 1236 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0, $6 + 1152 | 0 | 0); + i64toi32_i32$1 = $6; + i64toi32_i32$3 = HEAP32[($6 + 1120 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($6 + 1124 | 0) >> 2] | 0; + (wasm2js_i32$0 = $6, wasm2js_i32$1 = btConvexHullInternal__Rational128__compare_28long_20long_29_20const($6 + 1072 | 0 | 0, i64toi32_i32$3 | 0, i64toi32_i32$2 | 0) | 0), HEAP32[(wasm2js_i32$0 + 1068 | 0) >> 2] = wasm2js_i32$1; + label$14 : { + label$15 : { + if (!((HEAP32[($6 + 1068 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0)) { + break label$15 + } + HEAP32[($6 + 1064 | 0) >> 2] = HEAP32[($6 + 1112 | 0) >> 2] | 0; + label$16 : while (1) { + btConvexHullInternal__Vertex__dot_28btConvexHullInternal__Point64_20const__29_20const($6 + 1024 | 0 | 0, HEAP32[((HEAP32[($6 + 1064 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0, $6 + 1152 | 0 | 0); + i64toi32_i32$1 = $6; + i64toi32_i32$2 = HEAP32[($6 + 1144 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[($6 + 1148 | 0) >> 2] | 0; + label$17 : { + if ((btConvexHullInternal__Rational128__compare_28long_20long_29_20const($6 + 1024 | 0 | 0, i64toi32_i32$2 | 0, i64toi32_i32$3 | 0) | 0 | 0) <= (0 | 0) & 1 | 0) { + break label$17 + } + __assert_fail(86125 | 0, 72732 | 0, 2278 | 0, 82177 | 0); + wasm2js_trap(); + } + label$18 : { + label$19 : { + if (!((btConvexHullInternal__Rational128__compare_28btConvexHullInternal__Rational128_20const__29_20const($6 + 1024 | 0 | 0, $6 + 1072 | 0 | 0) | 0 | 0) < (0 | 0) & 1 | 0)) { + break label$19 + } + i64toi32_i32$1 = $6; + i64toi32_i32$3 = HEAP32[($6 + 1120 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($6 + 1124 | 0) >> 2] | 0; + (wasm2js_i32$0 = $6, wasm2js_i32$1 = btConvexHullInternal__Rational128__compare_28long_20long_29_20const($6 + 1024 | 0 | 0, i64toi32_i32$3 | 0, i64toi32_i32$2 | 0) | 0), HEAP32[(wasm2js_i32$0 + 1020 | 0) >> 2] = wasm2js_i32$1; + $245 = 29; + i64toi32_i32$1 = ($6 + 1024 | 0) + $245 | 0; + i64toi32_i32$2 = HEAPU8[i64toi32_i32$1 >> 0] | 0 | ((HEAPU8[(i64toi32_i32$1 + 1 | 0) >> 0] | 0) << 8 | 0) | 0 | ((HEAPU8[(i64toi32_i32$1 + 2 | 0) >> 0] | 0) << 16 | 0 | ((HEAPU8[(i64toi32_i32$1 + 3 | 0) >> 0] | 0) << 24 | 0) | 0) | 0; + i64toi32_i32$3 = HEAPU8[(i64toi32_i32$1 + 4 | 0) >> 0] | 0 | ((HEAPU8[(i64toi32_i32$1 + 5 | 0) >> 0] | 0) << 8 | 0) | 0 | ((HEAPU8[(i64toi32_i32$1 + 6 | 0) >> 0] | 0) << 16 | 0 | ((HEAPU8[(i64toi32_i32$1 + 7 | 0) >> 0] | 0) << 24 | 0) | 0) | 0; + $1821 = i64toi32_i32$2; + i64toi32_i32$2 = ($6 + 1072 | 0) + $245 | 0; + $204 = $1821; + HEAP8[i64toi32_i32$2 >> 0] = $204; + HEAP8[(i64toi32_i32$2 + 1 | 0) >> 0] = $204 >>> 8 | 0; + HEAP8[(i64toi32_i32$2 + 2 | 0) >> 0] = $204 >>> 16 | 0; + HEAP8[(i64toi32_i32$2 + 3 | 0) >> 0] = $204 >>> 24 | 0; + HEAP8[(i64toi32_i32$2 + 4 | 0) >> 0] = i64toi32_i32$3; + HEAP8[(i64toi32_i32$2 + 5 | 0) >> 0] = i64toi32_i32$3 >>> 8 | 0; + HEAP8[(i64toi32_i32$2 + 6 | 0) >> 0] = i64toi32_i32$3 >>> 16 | 0; + HEAP8[(i64toi32_i32$2 + 7 | 0) >> 0] = i64toi32_i32$3 >>> 24 | 0; + $253 = 24; + i64toi32_i32$1 = ($6 + 1024 | 0) + $253 | 0; + i64toi32_i32$3 = HEAP32[i64toi32_i32$1 >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] | 0; + $1837 = i64toi32_i32$3; + i64toi32_i32$3 = ($6 + 1072 | 0) + $253 | 0; + HEAP32[i64toi32_i32$3 >> 2] = $1837; + HEAP32[(i64toi32_i32$3 + 4 | 0) >> 2] = i64toi32_i32$2; + $261 = 16; + i64toi32_i32$1 = ($6 + 1024 | 0) + $261 | 0; + i64toi32_i32$2 = HEAP32[i64toi32_i32$1 >> 2] | 0; + i64toi32_i32$3 = HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] | 0; + $1853 = i64toi32_i32$2; + i64toi32_i32$2 = ($6 + 1072 | 0) + $261 | 0; + HEAP32[i64toi32_i32$2 >> 2] = $1853; + HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] = i64toi32_i32$3; + $269 = 8; + i64toi32_i32$1 = ($6 + 1024 | 0) + $269 | 0; + i64toi32_i32$3 = HEAP32[i64toi32_i32$1 >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] | 0; + $1869 = i64toi32_i32$3; + i64toi32_i32$3 = ($6 + 1072 | 0) + $269 | 0; + HEAP32[i64toi32_i32$3 >> 2] = $1869; + HEAP32[(i64toi32_i32$3 + 4 | 0) >> 2] = i64toi32_i32$2; + i64toi32_i32$1 = $6; + i64toi32_i32$2 = HEAP32[($6 + 1024 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[($6 + 1028 | 0) >> 2] | 0; + $1873 = i64toi32_i32$2; + i64toi32_i32$2 = $6; + HEAP32[($6 + 1072 | 0) >> 2] = $1873; + HEAP32[($6 + 1076 | 0) >> 2] = i64toi32_i32$3; + HEAP32[($6 + 1064 | 0) >> 2] = HEAP32[((HEAP32[($6 + 1064 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + HEAP32[($6 + 1112 | 0) >> 2] = HEAP32[($6 + 1064 | 0) >> 2] | 0; + label$20 : { + if (!((HEAP32[($6 + 1020 | 0) >> 2] | 0 | 0) < (0 | 0) & 1 | 0)) { + break label$20 + } + HEAP32[($6 + 1116 | 0) >> 2] = HEAP32[($6 + 1064 | 0) >> 2] | 0; + break label$18; + } + HEAP32[($6 + 1068 | 0) >> 2] = HEAP32[($6 + 1020 | 0) >> 2] | 0; + } + HEAP32[($6 + 1064 | 0) >> 2] = HEAP32[((HEAP32[($6 + 1064 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + if ((HEAP32[($6 + 1064 | 0) >> 2] | 0 | 0) != (HEAP32[($6 + 1112 | 0) >> 2] | 0 | 0) & 1 | 0) { + continue label$16 + } + } + break label$16; + }; + label$21 : { + if ((HEAP32[($6 + 1116 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$21 + } + HEAP8[($6 + 1247 | 0) >> 0] = 0 & 1 | 0; + break label$10; + } + break label$14; + } + HEAP32[($6 + 1016 | 0) >> 2] = HEAP32[($6 + 1112 | 0) >> 2] | 0; + label$22 : while (1) { + btConvexHullInternal__Vertex__dot_28btConvexHullInternal__Point64_20const__29_20const($6 + 976 | 0 | 0, HEAP32[((HEAP32[($6 + 1016 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0, $6 + 1152 | 0 | 0); + i64toi32_i32$1 = $6; + i64toi32_i32$3 = HEAP32[($6 + 1144 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($6 + 1148 | 0) >> 2] | 0; + label$23 : { + if ((btConvexHullInternal__Rational128__compare_28long_20long_29_20const($6 + 976 | 0 | 0, i64toi32_i32$3 | 0, i64toi32_i32$2 | 0) | 0 | 0) <= (0 | 0) & 1 | 0) { + break label$23 + } + __assert_fail(86125 | 0, 72732 | 0, 2314 | 0, 82177 | 0); + wasm2js_trap(); + } + label$24 : { + label$25 : { + if (!((btConvexHullInternal__Rational128__compare_28btConvexHullInternal__Rational128_20const__29_20const($6 + 976 | 0 | 0, $6 + 1072 | 0 | 0) | 0 | 0) > (0 | 0) & 1 | 0)) { + break label$25 + } + i64toi32_i32$1 = $6; + i64toi32_i32$2 = HEAP32[($6 + 1120 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[($6 + 1124 | 0) >> 2] | 0; + (wasm2js_i32$0 = $6, wasm2js_i32$1 = btConvexHullInternal__Rational128__compare_28long_20long_29_20const($6 + 976 | 0 | 0, i64toi32_i32$2 | 0, i64toi32_i32$3 | 0) | 0), HEAP32[(wasm2js_i32$0 + 1068 | 0) >> 2] = wasm2js_i32$1; + label$26 : { + if (!((HEAP32[($6 + 1068 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0)) { + break label$26 + } + HEAP32[($6 + 1116 | 0) >> 2] = HEAP32[($6 + 1016 | 0) >> 2] | 0; + break label$24; + } + $359 = 29; + i64toi32_i32$1 = ($6 + 976 | 0) + $359 | 0; + i64toi32_i32$3 = HEAPU8[i64toi32_i32$1 >> 0] | 0 | ((HEAPU8[(i64toi32_i32$1 + 1 | 0) >> 0] | 0) << 8 | 0) | 0 | ((HEAPU8[(i64toi32_i32$1 + 2 | 0) >> 0] | 0) << 16 | 0 | ((HEAPU8[(i64toi32_i32$1 + 3 | 0) >> 0] | 0) << 24 | 0) | 0) | 0; + i64toi32_i32$2 = HEAPU8[(i64toi32_i32$1 + 4 | 0) >> 0] | 0 | ((HEAPU8[(i64toi32_i32$1 + 5 | 0) >> 0] | 0) << 8 | 0) | 0 | ((HEAPU8[(i64toi32_i32$1 + 6 | 0) >> 0] | 0) << 16 | 0 | ((HEAPU8[(i64toi32_i32$1 + 7 | 0) >> 0] | 0) << 24 | 0) | 0) | 0; + $2043 = i64toi32_i32$3; + i64toi32_i32$3 = ($6 + 1072 | 0) + $359 | 0; + $205 = $2043; + HEAP8[i64toi32_i32$3 >> 0] = $205; + HEAP8[(i64toi32_i32$3 + 1 | 0) >> 0] = $205 >>> 8 | 0; + HEAP8[(i64toi32_i32$3 + 2 | 0) >> 0] = $205 >>> 16 | 0; + HEAP8[(i64toi32_i32$3 + 3 | 0) >> 0] = $205 >>> 24 | 0; + HEAP8[(i64toi32_i32$3 + 4 | 0) >> 0] = i64toi32_i32$2; + HEAP8[(i64toi32_i32$3 + 5 | 0) >> 0] = i64toi32_i32$2 >>> 8 | 0; + HEAP8[(i64toi32_i32$3 + 6 | 0) >> 0] = i64toi32_i32$2 >>> 16 | 0; + HEAP8[(i64toi32_i32$3 + 7 | 0) >> 0] = i64toi32_i32$2 >>> 24 | 0; + $367 = 24; + i64toi32_i32$1 = ($6 + 976 | 0) + $367 | 0; + i64toi32_i32$2 = HEAP32[i64toi32_i32$1 >> 2] | 0; + i64toi32_i32$3 = HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] | 0; + $2059 = i64toi32_i32$2; + i64toi32_i32$2 = ($6 + 1072 | 0) + $367 | 0; + HEAP32[i64toi32_i32$2 >> 2] = $2059; + HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] = i64toi32_i32$3; + $375 = 16; + i64toi32_i32$1 = ($6 + 976 | 0) + $375 | 0; + i64toi32_i32$3 = HEAP32[i64toi32_i32$1 >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] | 0; + $2075 = i64toi32_i32$3; + i64toi32_i32$3 = ($6 + 1072 | 0) + $375 | 0; + HEAP32[i64toi32_i32$3 >> 2] = $2075; + HEAP32[(i64toi32_i32$3 + 4 | 0) >> 2] = i64toi32_i32$2; + $383 = 8; + i64toi32_i32$1 = ($6 + 976 | 0) + $383 | 0; + i64toi32_i32$2 = HEAP32[i64toi32_i32$1 >> 2] | 0; + i64toi32_i32$3 = HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] | 0; + $2091 = i64toi32_i32$2; + i64toi32_i32$2 = ($6 + 1072 | 0) + $383 | 0; + HEAP32[i64toi32_i32$2 >> 2] = $2091; + HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] = i64toi32_i32$3; + i64toi32_i32$1 = $6; + i64toi32_i32$3 = HEAP32[($6 + 976 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($6 + 980 | 0) >> 2] | 0; + $2095 = i64toi32_i32$3; + i64toi32_i32$3 = $6; + HEAP32[($6 + 1072 | 0) >> 2] = $2095; + HEAP32[($6 + 1076 | 0) >> 2] = i64toi32_i32$2; + HEAP32[($6 + 1016 | 0) >> 2] = HEAP32[((HEAP32[($6 + 1016 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + HEAP32[($6 + 1112 | 0) >> 2] = HEAP32[($6 + 1016 | 0) >> 2] | 0; + } + HEAP32[($6 + 1016 | 0) >> 2] = HEAP32[((HEAP32[($6 + 1016 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + if ((HEAP32[($6 + 1016 | 0) >> 2] | 0 | 0) != (HEAP32[($6 + 1112 | 0) >> 2] | 0 | 0) & 1 | 0) { + continue label$22 + } + } + break label$22; + }; + label$27 : { + if ((HEAP32[($6 + 1116 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$27 + } + HEAP8[($6 + 1247 | 0) >> 0] = 1 & 1 | 0; + break label$10; + } + } + label$28 : { + if (HEAP32[($6 + 1068 | 0) >> 2] | 0) { + break label$28 + } + HEAP32[($6 + 972 | 0) >> 2] = HEAP32[(HEAP32[((HEAP32[($6 + 1116 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) >> 2] | 0; + label$29 : { + label$30 : while (1) { + btConvexHullInternal__Vertex__dot_28btConvexHullInternal__Point64_20const__29_20const($6 + 928 | 0 | 0, HEAP32[((HEAP32[($6 + 972 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0, $6 + 1152 | 0 | 0); + i64toi32_i32$1 = $6; + i64toi32_i32$2 = HEAP32[($6 + 1120 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[($6 + 1124 | 0) >> 2] | 0; + if (!((btConvexHullInternal__Rational128__compare_28long_20long_29_20const($6 + 928 | 0 | 0, i64toi32_i32$2 | 0, i64toi32_i32$3 | 0) | 0 | 0) <= (0 | 0) & 1 | 0)) { + break label$29 + } + HEAP32[($6 + 972 | 0) >> 2] = HEAP32[(HEAP32[($6 + 972 | 0) >> 2] | 0) >> 2] | 0; + label$31 : { + if (!((HEAP32[($6 + 972 | 0) >> 2] | 0 | 0) == (HEAP32[((HEAP32[($6 + 1116 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$31 + } + HEAP8[($6 + 1247 | 0) >> 0] = 1 & 1 | 0; + break label$10; + } + continue label$30; + }; + } + } + HEAP32[($6 + 924 | 0) >> 2] = 0; + HEAP32[($6 + 920 | 0) >> 2] = 0; + HEAP32[($6 + 916 | 0) >> 2] = 0; + label$32 : while (1) { + label$33 : { + if (HEAP32[($6 + 1068 | 0) >> 2] | 0) { + break label$33 + } + HEAP32[($6 + 912 | 0) >> 2] = HEAP32[(HEAP32[((HEAP32[($6 + 1116 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($6 + 1112 | 0) >> 2] = HEAP32[($6 + 912 | 0) >> 2] | 0; + label$34 : { + label$35 : while (1) { + btConvexHullInternal__Vertex__dot_28btConvexHullInternal__Point64_20const__29_20const($6 + 872 | 0 | 0, HEAP32[((HEAP32[($6 + 912 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0, $6 + 1152 | 0 | 0); + i64toi32_i32$1 = $6; + i64toi32_i32$3 = HEAP32[($6 + 1120 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($6 + 1124 | 0) >> 2] | 0; + label$36 : { + if (!((btConvexHullInternal__Rational128__compare_28long_20long_29_20const($6 + 872 | 0 | 0, i64toi32_i32$3 | 0, i64toi32_i32$2 | 0) | 0 | 0) >= (0 | 0) & 1 | 0)) { + break label$36 + } + break label$34; + } + HEAP32[($6 + 1116 | 0) >> 2] = HEAP32[((HEAP32[($6 + 912 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + HEAP32[($6 + 912 | 0) >> 2] = HEAP32[(HEAP32[($6 + 912 | 0) >> 2] | 0) >> 2] | 0; + label$37 : { + if (!((HEAP32[($6 + 912 | 0) >> 2] | 0 | 0) == (HEAP32[($6 + 1112 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$37 + } + HEAP8[($6 + 1247 | 0) >> 0] = 1 & 1 | 0; + break label$10; + } + continue label$35; + }; + } + } + label$38 : { + label$39 : { + label$40 : { + if ((HEAP32[($6 + 924 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$40 + } + HEAP32[($6 + 924 | 0) >> 2] = HEAP32[($6 + 1116 | 0) >> 2] | 0; + break label$39; + } + label$41 : { + if (!((HEAP32[($6 + 1116 | 0) >> 2] | 0 | 0) == (HEAP32[($6 + 924 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$41 + } + break label$38; + } + } + HEAP32[($6 + 868 | 0) >> 2] = HEAP32[($6 + 1068 | 0) >> 2] | 0; + HEAP32[($6 + 864 | 0) >> 2] = HEAP32[($6 + 1116 | 0) >> 2] | 0; + HEAP32[($6 + 860 | 0) >> 2] = HEAP32[($6 + 920 | 0) >> 2] | 0; + HEAP32[($6 + 856 | 0) >> 2] = HEAP32[((HEAP32[($6 + 1116 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + label$42 : while (1) { + HEAP32[($6 + 856 | 0) >> 2] = HEAP32[((HEAP32[((HEAP32[($6 + 856 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + label$43 : { + if ((HEAP32[($6 + 856 | 0) >> 2] | 0 | 0) != (HEAP32[((HEAP32[($6 + 1116 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) & 1 | 0) { + break label$43 + } + __assert_fail(81402 | 0, 72732 | 0, 2446 | 0, 82177 | 0); + wasm2js_trap(); + } + btConvexHullInternal__Vertex__dot_28btConvexHullInternal__Point64_20const__29_20const($6 + 816 | 0 | 0, HEAP32[((HEAP32[($6 + 856 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0, $6 + 1152 | 0 | 0); + i64toi32_i32$1 = $6; + i64toi32_i32$2 = HEAP32[($6 + 1120 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[($6 + 1124 | 0) >> 2] | 0; + (wasm2js_i32$0 = $6, wasm2js_i32$1 = btConvexHullInternal__Rational128__compare_28long_20long_29_20const($6 + 816 | 0 | 0, i64toi32_i32$2 | 0, i64toi32_i32$3 | 0) | 0), HEAP32[(wasm2js_i32$0 + 1068 | 0) >> 2] = wasm2js_i32$1; + label$44 : { + label$45 : { + if (!((HEAP32[($6 + 1068 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0)) { + break label$45 + } + HEAP32[($6 + 1116 | 0) >> 2] = HEAP32[($6 + 856 | 0) >> 2] | 0; + break label$44; + } + continue label$42; + } + break label$42; + }; + label$46 : { + if (!((HEAP32[($6 + 1068 | 0) >> 2] | 0 | 0) > (0 | 0) & 1 | 0)) { + break label$46 + } + HEAP32[($6 + 812 | 0) >> 2] = HEAP32[((HEAP32[($6 + 1116 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + HEAP32[($6 + 856 | 0) >> 2] = HEAP32[((HEAP32[($6 + 1116 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + label$47 : { + label$48 : { + if (!((HEAP32[((HEAP32[($6 + 856 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) == (HEAP32[($6 + 856 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$48 + } + HEAP32[((HEAP32[($6 + 812 | 0) >> 2] | 0) + 8 | 0) >> 2] = 0; + break label$47; + } + HEAP32[((HEAP32[($6 + 812 | 0) >> 2] | 0) + 8 | 0) >> 2] = HEAP32[((HEAP32[($6 + 856 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + btConvexHullInternal__Edge__link_28btConvexHullInternal__Edge__29(HEAP32[((HEAP32[($6 + 856 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0, HEAP32[(HEAP32[($6 + 856 | 0) >> 2] | 0) >> 2] | 0 | 0); + btConvexHullInternal__Edge__link_28btConvexHullInternal__Edge__29(HEAP32[($6 + 856 | 0) >> 2] | 0 | 0, HEAP32[($6 + 856 | 0) >> 2] | 0 | 0); + } + btConvexHullInternal__Face__getNormal_28_29($6 + 784 | 0 | 0, HEAP32[((HEAP32[($6 + 1116 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0); + btConvexHullInternal__Face__getNormal_28_29($6 + 760 | 0 | 0, HEAP32[((HEAP32[((HEAP32[($6 + 1116 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0); + i64toi32_i32$3 = btConvexHullInternal__Point32__dot_28btConvexHullInternal__Point64_20const__29_20const((HEAP32[($6 + 1236 | 0) >> 2] | 0) + 28 | 0 | 0, $6 + 784 | 0 | 0) | 0; + i64toi32_i32$2 = i64toi32_i32$HIGH_BITS; + $2518 = i64toi32_i32$3; + i64toi32_i32$3 = $6; + HEAP32[($6 + 752 | 0) >> 2] = $2518; + HEAP32[($6 + 756 | 0) >> 2] = i64toi32_i32$2; + i64toi32_i32$2 = btConvexHullInternal__Point32__dot_28btConvexHullInternal__Point64_20const__29_20const((HEAP32[($6 + 1236 | 0) >> 2] | 0) + 44 | 0 | 0, $6 + 784 | 0 | 0) | 0; + i64toi32_i32$3 = i64toi32_i32$HIGH_BITS; + $2532 = i64toi32_i32$2; + i64toi32_i32$2 = $6; + HEAP32[($6 + 744 | 0) >> 2] = $2532; + HEAP32[($6 + 748 | 0) >> 2] = i64toi32_i32$3; + i64toi32_i32$3 = btConvexHullInternal__Point32__dot_28btConvexHullInternal__Point64_20const__29_20const((HEAP32[($6 + 1236 | 0) >> 2] | 0) + 28 | 0 | 0, $6 + 760 | 0 | 0) | 0; + i64toi32_i32$2 = i64toi32_i32$HIGH_BITS; + $2546 = i64toi32_i32$3; + i64toi32_i32$3 = $6; + HEAP32[($6 + 736 | 0) >> 2] = $2546; + HEAP32[($6 + 740 | 0) >> 2] = i64toi32_i32$2; + i64toi32_i32$2 = btConvexHullInternal__Point32__dot_28btConvexHullInternal__Point64_20const__29_20const((HEAP32[($6 + 1236 | 0) >> 2] | 0) + 44 | 0 | 0, $6 + 760 | 0 | 0) | 0; + i64toi32_i32$3 = i64toi32_i32$HIGH_BITS; + $2560 = i64toi32_i32$2; + i64toi32_i32$2 = $6; + HEAP32[($6 + 728 | 0) >> 2] = $2560; + HEAP32[($6 + 732 | 0) >> 2] = i64toi32_i32$3; + btConvexHullInternal__Point32__operator__28btConvexHullInternal__Point32_20const__29_20const($6 + 704 | 0 | 0, (HEAP32[((HEAP32[($6 + 1116 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + 12 | 0 | 0, $6 + 1128 | 0 | 0); + i64toi32_i32$3 = btConvexHullInternal__Point32__dot_28btConvexHullInternal__Point64_20const__29_20const($6 + 704 | 0 | 0, $6 + 784 | 0 | 0) | 0; + i64toi32_i32$2 = i64toi32_i32$HIGH_BITS; + $2591 = i64toi32_i32$3; + i64toi32_i32$3 = $6; + HEAP32[($6 + 720 | 0) >> 2] = $2591; + HEAP32[($6 + 724 | 0) >> 2] = i64toi32_i32$2; + btConvexHullInternal__Point32__operator__28btConvexHullInternal__Point32_20const__29_20const($6 + 680 | 0 | 0, (HEAP32[((HEAP32[((HEAP32[($6 + 1116 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + 12 | 0 | 0, $6 + 1128 | 0 | 0); + i64toi32_i32$2 = btConvexHullInternal__Point32__dot_28btConvexHullInternal__Point64_20const__29_20const($6 + 680 | 0 | 0, $6 + 760 | 0 | 0) | 0; + i64toi32_i32$3 = i64toi32_i32$HIGH_BITS; + $2624 = i64toi32_i32$2; + i64toi32_i32$2 = $6; + HEAP32[($6 + 696 | 0) >> 2] = $2624; + HEAP32[($6 + 700 | 0) >> 2] = i64toi32_i32$3; + i64toi32_i32$1 = $6; + i64toi32_i32$3 = HEAP32[($6 + 752 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($6 + 756 | 0) >> 2] | 0; + $651 = i64toi32_i32$3; + $651$hi = i64toi32_i32$2; + i64toi32_i32$1 = $6; + i64toi32_i32$2 = HEAP32[($6 + 728 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[($6 + 732 | 0) >> 2] | 0; + $652$hi = i64toi32_i32$3; + i64toi32_i32$3 = $651$hi; + i64toi32_i32$3 = $652$hi; + $2635 = i64toi32_i32$2; + i64toi32_i32$3 = $651$hi; + i64toi32_i32$2 = $652$hi; + btConvexHullInternal__Int128__mul_28long_20long_2c_20long_20long_29($6 + 648 | 0 | 0, $651 | 0, i64toi32_i32$3 | 0, $2635 | 0, i64toi32_i32$2 | 0); + i64toi32_i32$1 = $6; + i64toi32_i32$2 = HEAP32[($6 + 744 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[($6 + 748 | 0) >> 2] | 0; + $656 = i64toi32_i32$2; + $656$hi = i64toi32_i32$3; + i64toi32_i32$1 = $6; + i64toi32_i32$3 = HEAP32[($6 + 736 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($6 + 740 | 0) >> 2] | 0; + $657$hi = i64toi32_i32$2; + i64toi32_i32$2 = $656$hi; + i64toi32_i32$2 = $657$hi; + $2646 = i64toi32_i32$3; + i64toi32_i32$2 = $656$hi; + i64toi32_i32$3 = $657$hi; + btConvexHullInternal__Int128__mul_28long_20long_2c_20long_20long_29($6 + 632 | 0 | 0, $656 | 0, i64toi32_i32$2 | 0, $2646 | 0, i64toi32_i32$3 | 0); + btConvexHullInternal__Int128__operator__28btConvexHullInternal__Int128_20const__29_20const_2($6 + 664 | 0 | 0, $6 + 648 | 0 | 0, $6 + 632 | 0 | 0); + label$49 : { + if (btConvexHullInternal__Int128__getSign_28_29_20const($6 + 664 | 0 | 0) | 0) { + break label$49 + } + __assert_fail(86160 | 0, 72732 | 0, 2490 | 0, 82177 | 0); + wasm2js_trap(); + } + (wasm2js_i32$0 = $6, wasm2js_i32$1 = btConvexHullInternal__Pool_btConvexHullInternal__Vertex___newObject_28_29($7 + 32 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 628 | 0) >> 2] = wasm2js_i32$1; + HEAP32[((HEAP32[($6 + 628 | 0) >> 2] | 0) + 100 | 0) >> 2] = -1; + HEAP32[((HEAP32[($6 + 628 | 0) >> 2] | 0) + 104 | 0) >> 2] = -1; + i64toi32_i32$2 = HEAP32[((HEAP32[($6 + 1236 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0; + i64toi32_i32$3 = i64toi32_i32$2 >> 31 | 0; + $688 = i64toi32_i32$2; + $688$hi = i64toi32_i32$3; + i64toi32_i32$1 = $6; + i64toi32_i32$3 = HEAP32[($6 + 720 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($6 + 724 | 0) >> 2] | 0; + $689$hi = i64toi32_i32$2; + i64toi32_i32$2 = $688$hi; + i64toi32_i32$2 = $689$hi; + $2698 = i64toi32_i32$3; + i64toi32_i32$2 = $688$hi; + i64toi32_i32$3 = $689$hi; + i64toi32_i32$3 = __wasm_i64_mul($688 | 0, i64toi32_i32$2 | 0, $2698 | 0, i64toi32_i32$3 | 0) | 0; + i64toi32_i32$2 = i64toi32_i32$HIGH_BITS; + $690 = i64toi32_i32$3; + $690$hi = i64toi32_i32$2; + i64toi32_i32$1 = $6; + i64toi32_i32$2 = HEAP32[($6 + 728 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[($6 + 732 | 0) >> 2] | 0; + $691$hi = i64toi32_i32$3; + i64toi32_i32$3 = $690$hi; + i64toi32_i32$3 = $691$hi; + $2708 = i64toi32_i32$2; + i64toi32_i32$3 = $690$hi; + i64toi32_i32$2 = $691$hi; + btConvexHullInternal__Int128__mul_28long_20long_2c_20long_20long_29($6 + 480 | 0 | 0, $690 | 0, i64toi32_i32$3 | 0, $2708 | 0, i64toi32_i32$2 | 0); + i64toi32_i32$3 = HEAP32[((HEAP32[($6 + 1236 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0; + i64toi32_i32$2 = i64toi32_i32$3 >> 31 | 0; + $698 = i64toi32_i32$3; + $698$hi = i64toi32_i32$2; + i64toi32_i32$1 = $6; + i64toi32_i32$2 = HEAP32[($6 + 696 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[($6 + 700 | 0) >> 2] | 0; + $699$hi = i64toi32_i32$3; + i64toi32_i32$3 = $698$hi; + i64toi32_i32$3 = $699$hi; + $2719 = i64toi32_i32$2; + i64toi32_i32$3 = $698$hi; + i64toi32_i32$2 = $699$hi; + i64toi32_i32$2 = __wasm_i64_mul($698 | 0, i64toi32_i32$3 | 0, $2719 | 0, i64toi32_i32$2 | 0) | 0; + i64toi32_i32$3 = i64toi32_i32$HIGH_BITS; + $700 = i64toi32_i32$2; + $700$hi = i64toi32_i32$3; + i64toi32_i32$1 = $6; + i64toi32_i32$3 = HEAP32[($6 + 744 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($6 + 748 | 0) >> 2] | 0; + $701$hi = i64toi32_i32$2; + i64toi32_i32$2 = $700$hi; + i64toi32_i32$2 = $701$hi; + $2729 = i64toi32_i32$3; + i64toi32_i32$2 = $700$hi; + i64toi32_i32$3 = $701$hi; + btConvexHullInternal__Int128__mul_28long_20long_2c_20long_20long_29($6 + 464 | 0 | 0, $700 | 0, i64toi32_i32$2 | 0, $2729 | 0, i64toi32_i32$3 | 0); + btConvexHullInternal__Int128__operator__28btConvexHullInternal__Int128_20const__29_20const_2($6 + 496 | 0 | 0, $6 + 480 | 0 | 0, $6 + 464 | 0 | 0); + i64toi32_i32$2 = HEAP32[((HEAP32[($6 + 1236 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0; + i64toi32_i32$3 = i64toi32_i32$2 >> 31 | 0; + $717 = i64toi32_i32$2; + $717$hi = i64toi32_i32$3; + i64toi32_i32$1 = $6; + i64toi32_i32$3 = HEAP32[($6 + 696 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($6 + 700 | 0) >> 2] | 0; + $718$hi = i64toi32_i32$2; + i64toi32_i32$2 = $717$hi; + i64toi32_i32$2 = $718$hi; + $2755 = i64toi32_i32$3; + i64toi32_i32$2 = $717$hi; + i64toi32_i32$3 = $718$hi; + i64toi32_i32$3 = __wasm_i64_mul($717 | 0, i64toi32_i32$2 | 0, $2755 | 0, i64toi32_i32$3 | 0) | 0; + i64toi32_i32$2 = i64toi32_i32$HIGH_BITS; + $719 = i64toi32_i32$3; + $719$hi = i64toi32_i32$2; + i64toi32_i32$1 = $6; + i64toi32_i32$2 = HEAP32[($6 + 752 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[($6 + 756 | 0) >> 2] | 0; + $720$hi = i64toi32_i32$3; + i64toi32_i32$3 = $719$hi; + i64toi32_i32$3 = $720$hi; + $2765 = i64toi32_i32$2; + i64toi32_i32$3 = $719$hi; + i64toi32_i32$2 = $720$hi; + btConvexHullInternal__Int128__mul_28long_20long_2c_20long_20long_29($6 + 448 | 0 | 0, $719 | 0, i64toi32_i32$3 | 0, $2765 | 0, i64toi32_i32$2 | 0); + btConvexHullInternal__Int128__operator__28btConvexHullInternal__Int128_20const__29_20const($6 + 512 | 0 | 0, $6 + 496 | 0 | 0, $6 + 448 | 0 | 0); + i64toi32_i32$3 = HEAP32[((HEAP32[($6 + 1236 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0; + i64toi32_i32$2 = i64toi32_i32$3 >> 31 | 0; + $736 = i64toi32_i32$3; + $736$hi = i64toi32_i32$2; + i64toi32_i32$1 = $6; + i64toi32_i32$2 = HEAP32[($6 + 720 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[($6 + 724 | 0) >> 2] | 0; + $737$hi = i64toi32_i32$3; + i64toi32_i32$3 = $736$hi; + i64toi32_i32$3 = $737$hi; + $2791 = i64toi32_i32$2; + i64toi32_i32$3 = $736$hi; + i64toi32_i32$2 = $737$hi; + i64toi32_i32$2 = __wasm_i64_mul($736 | 0, i64toi32_i32$3 | 0, $2791 | 0, i64toi32_i32$2 | 0) | 0; + i64toi32_i32$3 = i64toi32_i32$HIGH_BITS; + $738 = i64toi32_i32$2; + $738$hi = i64toi32_i32$3; + i64toi32_i32$1 = $6; + i64toi32_i32$3 = HEAP32[($6 + 736 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($6 + 740 | 0) >> 2] | 0; + $739$hi = i64toi32_i32$2; + i64toi32_i32$2 = $738$hi; + i64toi32_i32$2 = $739$hi; + $2801 = i64toi32_i32$3; + i64toi32_i32$2 = $738$hi; + i64toi32_i32$3 = $739$hi; + btConvexHullInternal__Int128__mul_28long_20long_2c_20long_20long_29($6 + 432 | 0 | 0, $738 | 0, i64toi32_i32$2 | 0, $2801 | 0, i64toi32_i32$3 | 0); + btConvexHullInternal__Int128__operator__28btConvexHullInternal__Int128_20const__29_20const_2($6 + 528 | 0 | 0, $6 + 512 | 0 | 0, $6 + 432 | 0 | 0); + i64toi32_i32$2 = HEAP32[($6 + 1128 | 0) >> 2] | 0; + i64toi32_i32$3 = i64toi32_i32$2 >> 31 | 0; + btConvexHullInternal__Int128__operator__28long_20long_29_20const($6 + 416 | 0 | 0, $6 + 664 | 0 | 0, i64toi32_i32$2 | 0, i64toi32_i32$3 | 0); + btConvexHullInternal__Int128__operator__28btConvexHullInternal__Int128_20const__29_20const($6 + 544 | 0 | 0, $6 + 528 | 0 | 0, $6 + 416 | 0 | 0); + i64toi32_i32$2 = HEAP32[((HEAP32[($6 + 1236 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0; + i64toi32_i32$3 = i64toi32_i32$2 >> 31 | 0; + $773 = i64toi32_i32$2; + $773$hi = i64toi32_i32$3; + i64toi32_i32$1 = $6; + i64toi32_i32$3 = HEAP32[($6 + 720 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($6 + 724 | 0) >> 2] | 0; + $774$hi = i64toi32_i32$2; + i64toi32_i32$2 = $773$hi; + i64toi32_i32$2 = $774$hi; + $2858 = i64toi32_i32$3; + i64toi32_i32$2 = $773$hi; + i64toi32_i32$3 = $774$hi; + i64toi32_i32$3 = __wasm_i64_mul($773 | 0, i64toi32_i32$2 | 0, $2858 | 0, i64toi32_i32$3 | 0) | 0; + i64toi32_i32$2 = i64toi32_i32$HIGH_BITS; + $775 = i64toi32_i32$3; + $775$hi = i64toi32_i32$2; + i64toi32_i32$1 = $6; + i64toi32_i32$2 = HEAP32[($6 + 728 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[($6 + 732 | 0) >> 2] | 0; + $776$hi = i64toi32_i32$3; + i64toi32_i32$3 = $775$hi; + i64toi32_i32$3 = $776$hi; + $2868 = i64toi32_i32$2; + i64toi32_i32$3 = $775$hi; + i64toi32_i32$2 = $776$hi; + btConvexHullInternal__Int128__mul_28long_20long_2c_20long_20long_29($6 + 336 | 0 | 0, $775 | 0, i64toi32_i32$3 | 0, $2868 | 0, i64toi32_i32$2 | 0); + i64toi32_i32$3 = HEAP32[((HEAP32[($6 + 1236 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0; + i64toi32_i32$2 = i64toi32_i32$3 >> 31 | 0; + $783 = i64toi32_i32$3; + $783$hi = i64toi32_i32$2; + i64toi32_i32$1 = $6; + i64toi32_i32$2 = HEAP32[($6 + 696 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[($6 + 700 | 0) >> 2] | 0; + $784$hi = i64toi32_i32$3; + i64toi32_i32$3 = $783$hi; + i64toi32_i32$3 = $784$hi; + $2879 = i64toi32_i32$2; + i64toi32_i32$3 = $783$hi; + i64toi32_i32$2 = $784$hi; + i64toi32_i32$2 = __wasm_i64_mul($783 | 0, i64toi32_i32$3 | 0, $2879 | 0, i64toi32_i32$2 | 0) | 0; + i64toi32_i32$3 = i64toi32_i32$HIGH_BITS; + $785 = i64toi32_i32$2; + $785$hi = i64toi32_i32$3; + i64toi32_i32$1 = $6; + i64toi32_i32$3 = HEAP32[($6 + 744 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($6 + 748 | 0) >> 2] | 0; + $786$hi = i64toi32_i32$2; + i64toi32_i32$2 = $785$hi; + i64toi32_i32$2 = $786$hi; + $2889 = i64toi32_i32$3; + i64toi32_i32$2 = $785$hi; + i64toi32_i32$3 = $786$hi; + btConvexHullInternal__Int128__mul_28long_20long_2c_20long_20long_29($6 + 320 | 0 | 0, $785 | 0, i64toi32_i32$2 | 0, $2889 | 0, i64toi32_i32$3 | 0); + btConvexHullInternal__Int128__operator__28btConvexHullInternal__Int128_20const__29_20const_2($6 + 352 | 0 | 0, $6 + 336 | 0 | 0, $6 + 320 | 0 | 0); + i64toi32_i32$2 = HEAP32[((HEAP32[($6 + 1236 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0; + i64toi32_i32$3 = i64toi32_i32$2 >> 31 | 0; + $802 = i64toi32_i32$2; + $802$hi = i64toi32_i32$3; + i64toi32_i32$1 = $6; + i64toi32_i32$3 = HEAP32[($6 + 696 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($6 + 700 | 0) >> 2] | 0; + $803$hi = i64toi32_i32$2; + i64toi32_i32$2 = $802$hi; + i64toi32_i32$2 = $803$hi; + $2915 = i64toi32_i32$3; + i64toi32_i32$2 = $802$hi; + i64toi32_i32$3 = $803$hi; + i64toi32_i32$3 = __wasm_i64_mul($802 | 0, i64toi32_i32$2 | 0, $2915 | 0, i64toi32_i32$3 | 0) | 0; + i64toi32_i32$2 = i64toi32_i32$HIGH_BITS; + $804 = i64toi32_i32$3; + $804$hi = i64toi32_i32$2; + i64toi32_i32$1 = $6; + i64toi32_i32$2 = HEAP32[($6 + 752 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[($6 + 756 | 0) >> 2] | 0; + $805$hi = i64toi32_i32$3; + i64toi32_i32$3 = $804$hi; + i64toi32_i32$3 = $805$hi; + $2925 = i64toi32_i32$2; + i64toi32_i32$3 = $804$hi; + i64toi32_i32$2 = $805$hi; + btConvexHullInternal__Int128__mul_28long_20long_2c_20long_20long_29($6 + 304 | 0 | 0, $804 | 0, i64toi32_i32$3 | 0, $2925 | 0, i64toi32_i32$2 | 0); + btConvexHullInternal__Int128__operator__28btConvexHullInternal__Int128_20const__29_20const($6 + 368 | 0 | 0, $6 + 352 | 0 | 0, $6 + 304 | 0 | 0); + i64toi32_i32$3 = HEAP32[((HEAP32[($6 + 1236 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0; + i64toi32_i32$2 = i64toi32_i32$3 >> 31 | 0; + $821 = i64toi32_i32$3; + $821$hi = i64toi32_i32$2; + i64toi32_i32$1 = $6; + i64toi32_i32$2 = HEAP32[($6 + 720 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[($6 + 724 | 0) >> 2] | 0; + $822$hi = i64toi32_i32$3; + i64toi32_i32$3 = $821$hi; + i64toi32_i32$3 = $822$hi; + $2951 = i64toi32_i32$2; + i64toi32_i32$3 = $821$hi; + i64toi32_i32$2 = $822$hi; + i64toi32_i32$2 = __wasm_i64_mul($821 | 0, i64toi32_i32$3 | 0, $2951 | 0, i64toi32_i32$2 | 0) | 0; + i64toi32_i32$3 = i64toi32_i32$HIGH_BITS; + $823 = i64toi32_i32$2; + $823$hi = i64toi32_i32$3; + i64toi32_i32$1 = $6; + i64toi32_i32$3 = HEAP32[($6 + 736 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($6 + 740 | 0) >> 2] | 0; + $824$hi = i64toi32_i32$2; + i64toi32_i32$2 = $823$hi; + i64toi32_i32$2 = $824$hi; + $2961 = i64toi32_i32$3; + i64toi32_i32$2 = $823$hi; + i64toi32_i32$3 = $824$hi; + btConvexHullInternal__Int128__mul_28long_20long_2c_20long_20long_29($6 + 288 | 0 | 0, $823 | 0, i64toi32_i32$2 | 0, $2961 | 0, i64toi32_i32$3 | 0); + btConvexHullInternal__Int128__operator__28btConvexHullInternal__Int128_20const__29_20const_2($6 + 384 | 0 | 0, $6 + 368 | 0 | 0, $6 + 288 | 0 | 0); + i64toi32_i32$2 = HEAP32[($6 + 1132 | 0) >> 2] | 0; + i64toi32_i32$3 = i64toi32_i32$2 >> 31 | 0; + btConvexHullInternal__Int128__operator__28long_20long_29_20const($6 + 272 | 0 | 0, $6 + 664 | 0 | 0, i64toi32_i32$2 | 0, i64toi32_i32$3 | 0); + btConvexHullInternal__Int128__operator__28btConvexHullInternal__Int128_20const__29_20const($6 + 400 | 0 | 0, $6 + 384 | 0 | 0, $6 + 272 | 0 | 0); + i64toi32_i32$2 = HEAP32[((HEAP32[($6 + 1236 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0; + i64toi32_i32$3 = i64toi32_i32$2 >> 31 | 0; + $858 = i64toi32_i32$2; + $858$hi = i64toi32_i32$3; + i64toi32_i32$1 = $6; + i64toi32_i32$3 = HEAP32[($6 + 720 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($6 + 724 | 0) >> 2] | 0; + $859$hi = i64toi32_i32$2; + i64toi32_i32$2 = $858$hi; + i64toi32_i32$2 = $859$hi; + $3018 = i64toi32_i32$3; + i64toi32_i32$2 = $858$hi; + i64toi32_i32$3 = $859$hi; + i64toi32_i32$3 = __wasm_i64_mul($858 | 0, i64toi32_i32$2 | 0, $3018 | 0, i64toi32_i32$3 | 0) | 0; + i64toi32_i32$2 = i64toi32_i32$HIGH_BITS; + $860 = i64toi32_i32$3; + $860$hi = i64toi32_i32$2; + i64toi32_i32$1 = $6; + i64toi32_i32$2 = HEAP32[($6 + 728 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[($6 + 732 | 0) >> 2] | 0; + $861$hi = i64toi32_i32$3; + i64toi32_i32$3 = $860$hi; + i64toi32_i32$3 = $861$hi; + $3028 = i64toi32_i32$2; + i64toi32_i32$3 = $860$hi; + i64toi32_i32$2 = $861$hi; + btConvexHullInternal__Int128__mul_28long_20long_2c_20long_20long_29($6 + 192 | 0 | 0, $860 | 0, i64toi32_i32$3 | 0, $3028 | 0, i64toi32_i32$2 | 0); + i64toi32_i32$3 = HEAP32[((HEAP32[($6 + 1236 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0; + i64toi32_i32$2 = i64toi32_i32$3 >> 31 | 0; + $868 = i64toi32_i32$3; + $868$hi = i64toi32_i32$2; + i64toi32_i32$1 = $6; + i64toi32_i32$2 = HEAP32[($6 + 696 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[($6 + 700 | 0) >> 2] | 0; + $869$hi = i64toi32_i32$3; + i64toi32_i32$3 = $868$hi; + i64toi32_i32$3 = $869$hi; + $3039 = i64toi32_i32$2; + i64toi32_i32$3 = $868$hi; + i64toi32_i32$2 = $869$hi; + i64toi32_i32$2 = __wasm_i64_mul($868 | 0, i64toi32_i32$3 | 0, $3039 | 0, i64toi32_i32$2 | 0) | 0; + i64toi32_i32$3 = i64toi32_i32$HIGH_BITS; + $870 = i64toi32_i32$2; + $870$hi = i64toi32_i32$3; + i64toi32_i32$1 = $6; + i64toi32_i32$3 = HEAP32[($6 + 744 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($6 + 748 | 0) >> 2] | 0; + $871$hi = i64toi32_i32$2; + i64toi32_i32$2 = $870$hi; + i64toi32_i32$2 = $871$hi; + $3049 = i64toi32_i32$3; + i64toi32_i32$2 = $870$hi; + i64toi32_i32$3 = $871$hi; + btConvexHullInternal__Int128__mul_28long_20long_2c_20long_20long_29($6 + 176 | 0 | 0, $870 | 0, i64toi32_i32$2 | 0, $3049 | 0, i64toi32_i32$3 | 0); + btConvexHullInternal__Int128__operator__28btConvexHullInternal__Int128_20const__29_20const_2($6 + 208 | 0 | 0, $6 + 192 | 0 | 0, $6 + 176 | 0 | 0); + i64toi32_i32$2 = HEAP32[((HEAP32[($6 + 1236 | 0) >> 2] | 0) + 52 | 0) >> 2] | 0; + i64toi32_i32$3 = i64toi32_i32$2 >> 31 | 0; + $887 = i64toi32_i32$2; + $887$hi = i64toi32_i32$3; + i64toi32_i32$1 = $6; + i64toi32_i32$3 = HEAP32[($6 + 696 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($6 + 700 | 0) >> 2] | 0; + $888$hi = i64toi32_i32$2; + i64toi32_i32$2 = $887$hi; + i64toi32_i32$2 = $888$hi; + $3075 = i64toi32_i32$3; + i64toi32_i32$2 = $887$hi; + i64toi32_i32$3 = $888$hi; + i64toi32_i32$3 = __wasm_i64_mul($887 | 0, i64toi32_i32$2 | 0, $3075 | 0, i64toi32_i32$3 | 0) | 0; + i64toi32_i32$2 = i64toi32_i32$HIGH_BITS; + $889 = i64toi32_i32$3; + $889$hi = i64toi32_i32$2; + i64toi32_i32$1 = $6; + i64toi32_i32$2 = HEAP32[($6 + 752 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[($6 + 756 | 0) >> 2] | 0; + $890$hi = i64toi32_i32$3; + i64toi32_i32$3 = $889$hi; + i64toi32_i32$3 = $890$hi; + $3085 = i64toi32_i32$2; + i64toi32_i32$3 = $889$hi; + i64toi32_i32$2 = $890$hi; + btConvexHullInternal__Int128__mul_28long_20long_2c_20long_20long_29($6 + 160 | 0 | 0, $889 | 0, i64toi32_i32$3 | 0, $3085 | 0, i64toi32_i32$2 | 0); + btConvexHullInternal__Int128__operator__28btConvexHullInternal__Int128_20const__29_20const($6 + 224 | 0 | 0, $6 + 208 | 0 | 0, $6 + 160 | 0 | 0); + i64toi32_i32$3 = HEAP32[((HEAP32[($6 + 1236 | 0) >> 2] | 0) + 52 | 0) >> 2] | 0; + i64toi32_i32$2 = i64toi32_i32$3 >> 31 | 0; + $906 = i64toi32_i32$3; + $906$hi = i64toi32_i32$2; + i64toi32_i32$1 = $6; + i64toi32_i32$2 = HEAP32[($6 + 720 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[($6 + 724 | 0) >> 2] | 0; + $907$hi = i64toi32_i32$3; + i64toi32_i32$3 = $906$hi; + i64toi32_i32$3 = $907$hi; + $3111 = i64toi32_i32$2; + i64toi32_i32$3 = $906$hi; + i64toi32_i32$2 = $907$hi; + i64toi32_i32$2 = __wasm_i64_mul($906 | 0, i64toi32_i32$3 | 0, $3111 | 0, i64toi32_i32$2 | 0) | 0; + i64toi32_i32$3 = i64toi32_i32$HIGH_BITS; + $908 = i64toi32_i32$2; + $908$hi = i64toi32_i32$3; + i64toi32_i32$1 = $6; + i64toi32_i32$3 = HEAP32[($6 + 736 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($6 + 740 | 0) >> 2] | 0; + $909$hi = i64toi32_i32$2; + i64toi32_i32$2 = $908$hi; + i64toi32_i32$2 = $909$hi; + $3121 = i64toi32_i32$3; + i64toi32_i32$2 = $908$hi; + i64toi32_i32$3 = $909$hi; + btConvexHullInternal__Int128__mul_28long_20long_2c_20long_20long_29($6 + 144 | 0 | 0, $908 | 0, i64toi32_i32$2 | 0, $3121 | 0, i64toi32_i32$3 | 0); + btConvexHullInternal__Int128__operator__28btConvexHullInternal__Int128_20const__29_20const_2($6 + 240 | 0 | 0, $6 + 224 | 0 | 0, $6 + 144 | 0 | 0); + i64toi32_i32$2 = HEAP32[($6 + 1136 | 0) >> 2] | 0; + i64toi32_i32$3 = i64toi32_i32$2 >> 31 | 0; + btConvexHullInternal__Int128__operator__28long_20long_29_20const($6 + 128 | 0 | 0, $6 + 664 | 0 | 0, i64toi32_i32$2 | 0, i64toi32_i32$3 | 0); + btConvexHullInternal__Int128__operator__28btConvexHullInternal__Int128_20const__29_20const($6 + 256 | 0 | 0, $6 + 240 | 0 | 0, $6 + 128 | 0 | 0); + $940 = 8; + i64toi32_i32$1 = ($6 + 664 | 0) + $940 | 0; + i64toi32_i32$3 = HEAP32[i64toi32_i32$1 >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] | 0; + $3183 = i64toi32_i32$3; + i64toi32_i32$3 = ($6 + 112 | 0) + $940 | 0; + HEAP32[i64toi32_i32$3 >> 2] = $3183; + HEAP32[(i64toi32_i32$3 + 4 | 0) >> 2] = i64toi32_i32$2; + i64toi32_i32$1 = $6; + i64toi32_i32$2 = HEAP32[($6 + 664 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[($6 + 668 | 0) >> 2] | 0; + $3187 = i64toi32_i32$2; + i64toi32_i32$2 = $6; + HEAP32[($6 + 112 | 0) >> 2] = $3187; + HEAP32[($6 + 116 | 0) >> 2] = i64toi32_i32$3; + $951 = 8; + i64toi32_i32$1 = ($6 + 544 | 0) + $951 | 0; + i64toi32_i32$3 = HEAP32[i64toi32_i32$1 >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] | 0; + $3207 = i64toi32_i32$3; + i64toi32_i32$3 = ($6 + 48 | 0) + $951 | 0; + HEAP32[i64toi32_i32$3 >> 2] = $3207; + HEAP32[(i64toi32_i32$3 + 4 | 0) >> 2] = i64toi32_i32$2; + i64toi32_i32$1 = $6; + i64toi32_i32$2 = HEAP32[($6 + 544 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[($6 + 548 | 0) >> 2] | 0; + $3211 = i64toi32_i32$2; + i64toi32_i32$2 = $6; + HEAP32[($6 + 48 | 0) >> 2] = $3211; + HEAP32[($6 + 52 | 0) >> 2] = i64toi32_i32$3; + i64toi32_i32$1 = ($6 + 400 | 0) + $951 | 0; + i64toi32_i32$3 = HEAP32[i64toi32_i32$1 >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] | 0; + $3227 = i64toi32_i32$3; + i64toi32_i32$3 = ($6 + 32 | 0) + $951 | 0; + HEAP32[i64toi32_i32$3 >> 2] = $3227; + HEAP32[(i64toi32_i32$3 + 4 | 0) >> 2] = i64toi32_i32$2; + i64toi32_i32$1 = $6; + i64toi32_i32$2 = HEAP32[($6 + 400 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[($6 + 404 | 0) >> 2] | 0; + $3231 = i64toi32_i32$2; + i64toi32_i32$2 = $6; + HEAP32[($6 + 32 | 0) >> 2] = $3231; + HEAP32[($6 + 36 | 0) >> 2] = i64toi32_i32$3; + i64toi32_i32$1 = ($6 + 256 | 0) + $951 | 0; + i64toi32_i32$3 = HEAP32[i64toi32_i32$1 >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] | 0; + $3247 = i64toi32_i32$3; + i64toi32_i32$3 = ($6 + 16 | 0) + $951 | 0; + HEAP32[i64toi32_i32$3 >> 2] = $3247; + HEAP32[(i64toi32_i32$3 + 4 | 0) >> 2] = i64toi32_i32$2; + i64toi32_i32$1 = $6; + i64toi32_i32$2 = HEAP32[($6 + 256 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[($6 + 260 | 0) >> 2] | 0; + $3251 = i64toi32_i32$2; + i64toi32_i32$2 = $6; + HEAP32[($6 + 16 | 0) >> 2] = $3251; + HEAP32[($6 + 20 | 0) >> 2] = i64toi32_i32$3; + i64toi32_i32$1 = ($6 + 112 | 0) + $951 | 0; + i64toi32_i32$3 = HEAP32[i64toi32_i32$1 >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] | 0; + $3264 = i64toi32_i32$3; + i64toi32_i32$3 = $6 + $951 | 0; + HEAP32[i64toi32_i32$3 >> 2] = $3264; + HEAP32[(i64toi32_i32$3 + 4 | 0) >> 2] = i64toi32_i32$2; + i64toi32_i32$1 = $6; + i64toi32_i32$2 = HEAP32[($6 + 112 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[($6 + 116 | 0) >> 2] | 0; + $3268 = i64toi32_i32$2; + i64toi32_i32$2 = $6; + HEAP32[$6 >> 2] = $3268; + HEAP32[($6 + 4 | 0) >> 2] = i64toi32_i32$3; + btConvexHullInternal__PointR128__PointR128_28btConvexHullInternal__Int128_2c_20btConvexHullInternal__Int128_2c_20btConvexHullInternal__Int128_2c_20btConvexHullInternal__Int128_29($6 + 560 | 0 | 0, $6 + 48 | 0 | 0, $6 + 32 | 0 | 0, $6 + 16 | 0 | 0, $6 | 0) | 0; + $992 = (HEAP32[($6 + 628 | 0) >> 2] | 0) + 24 | 0; + i64toi32_i32$1 = $6; + i64toi32_i32$3 = HEAP32[($6 + 560 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($6 + 564 | 0) >> 2] | 0; + $3295 = i64toi32_i32$3; + i64toi32_i32$3 = $992; + HEAP32[i64toi32_i32$3 >> 2] = $3295; + HEAP32[(i64toi32_i32$3 + 4 | 0) >> 2] = i64toi32_i32$2; + $994 = 56; + i64toi32_i32$1 = ($6 + 560 | 0) + $994 | 0; + i64toi32_i32$2 = HEAP32[i64toi32_i32$1 >> 2] | 0; + i64toi32_i32$3 = HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] | 0; + $3308 = i64toi32_i32$2; + i64toi32_i32$2 = $992 + $994 | 0; + HEAP32[i64toi32_i32$2 >> 2] = $3308; + HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] = i64toi32_i32$3; + $1000 = 48; + i64toi32_i32$1 = ($6 + 560 | 0) + $1000 | 0; + i64toi32_i32$3 = HEAP32[i64toi32_i32$1 >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] | 0; + $3321 = i64toi32_i32$3; + i64toi32_i32$3 = $992 + $1000 | 0; + HEAP32[i64toi32_i32$3 >> 2] = $3321; + HEAP32[(i64toi32_i32$3 + 4 | 0) >> 2] = i64toi32_i32$2; + $1006 = 40; + i64toi32_i32$1 = ($6 + 560 | 0) + $1006 | 0; + i64toi32_i32$2 = HEAP32[i64toi32_i32$1 >> 2] | 0; + i64toi32_i32$3 = HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] | 0; + $3334 = i64toi32_i32$2; + i64toi32_i32$2 = $992 + $1006 | 0; + HEAP32[i64toi32_i32$2 >> 2] = $3334; + HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] = i64toi32_i32$3; + $1012 = 32; + i64toi32_i32$1 = ($6 + 560 | 0) + $1012 | 0; + i64toi32_i32$3 = HEAP32[i64toi32_i32$1 >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] | 0; + $3347 = i64toi32_i32$3; + i64toi32_i32$3 = $992 + $1012 | 0; + HEAP32[i64toi32_i32$3 >> 2] = $3347; + HEAP32[(i64toi32_i32$3 + 4 | 0) >> 2] = i64toi32_i32$2; + $1018 = 24; + i64toi32_i32$1 = ($6 + 560 | 0) + $1018 | 0; + i64toi32_i32$2 = HEAP32[i64toi32_i32$1 >> 2] | 0; + i64toi32_i32$3 = HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] | 0; + $3360 = i64toi32_i32$2; + i64toi32_i32$2 = $992 + $1018 | 0; + HEAP32[i64toi32_i32$2 >> 2] = $3360; + HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] = i64toi32_i32$3; + $1024 = 16; + i64toi32_i32$1 = ($6 + 560 | 0) + $1024 | 0; + i64toi32_i32$3 = HEAP32[i64toi32_i32$1 >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] | 0; + $3373 = i64toi32_i32$3; + i64toi32_i32$3 = $992 + $1024 | 0; + HEAP32[i64toi32_i32$3 >> 2] = $3373; + HEAP32[(i64toi32_i32$3 + 4 | 0) >> 2] = i64toi32_i32$2; + $1030 = 8; + i64toi32_i32$1 = ($6 + 560 | 0) + $1030 | 0; + i64toi32_i32$2 = HEAP32[i64toi32_i32$1 >> 2] | 0; + i64toi32_i32$3 = HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] | 0; + $3386 = i64toi32_i32$2; + i64toi32_i32$2 = $992 + $1030 | 0; + HEAP32[i64toi32_i32$2 >> 2] = $3386; + HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] = i64toi32_i32$3; + $1039 = Math_fround(btConvexHullInternal__PointR128__xvalue_28_29_20const((HEAP32[($6 + 628 | 0) >> 2] | 0) + 24 | 0 | 0)); + label$50 : { + label$51 : { + if (!(Math_fround(Math_abs($1039)) < Math_fround(2147483648.0))) { + break label$51 + } + $1045 = ~~$1039; + break label$50; + } + $1045 = -2147483648; + } + HEAP32[((HEAP32[($6 + 628 | 0) >> 2] | 0) + 88 | 0) >> 2] = $1045; + $1052 = Math_fround(btConvexHullInternal__PointR128__yvalue_28_29_20const((HEAP32[($6 + 628 | 0) >> 2] | 0) + 24 | 0 | 0)); + label$52 : { + label$53 : { + if (!(Math_fround(Math_abs($1052)) < Math_fround(2147483648.0))) { + break label$53 + } + $1058 = ~~$1052; + break label$52; + } + $1058 = -2147483648; + } + HEAP32[((HEAP32[($6 + 628 | 0) >> 2] | 0) + 92 | 0) >> 2] = $1058; + $1065 = Math_fround(btConvexHullInternal__PointR128__zvalue_28_29_20const((HEAP32[($6 + 628 | 0) >> 2] | 0) + 24 | 0 | 0)); + label$54 : { + label$55 : { + if (!(Math_fround(Math_abs($1065)) < Math_fround(2147483648.0))) { + break label$55 + } + $1071 = ~~$1065; + break label$54; + } + $1071 = -2147483648; + } + HEAP32[((HEAP32[($6 + 628 | 0) >> 2] | 0) + 96 | 0) >> 2] = $1071; + HEAP32[((HEAP32[($6 + 1116 | 0) >> 2] | 0) + 12 | 0) >> 2] = HEAP32[($6 + 628 | 0) >> 2] | 0; + HEAP32[((HEAP32[($6 + 628 | 0) >> 2] | 0) + 8 | 0) >> 2] = HEAP32[($6 + 856 | 0) >> 2] | 0; + btAlignedObjectArray_btConvexHullInternal__Vertex____push_back_28btConvexHullInternal__Vertex__20const__29($3 | 0, $6 + 628 | 0 | 0); + btAlignedObjectArray_btConvexHullInternal__Vertex____push_back_28btConvexHullInternal__Vertex__20const__29($3 | 0, $6 + 812 | 0 | 0); + HEAP32[($6 + 108 | 0) >> 2] = 0; + btAlignedObjectArray_btConvexHullInternal__Vertex____push_back_28btConvexHullInternal__Vertex__20const__29($3 | 0, $6 + 108 | 0 | 0); + } + label$56 : { + label$57 : { + label$58 : { + if (HEAP32[($6 + 1068 | 0) >> 2] | 0) { + break label$58 + } + if (HEAP32[($6 + 868 | 0) >> 2] | 0) { + break label$58 + } + if (!((HEAP32[((HEAP32[(HEAP32[((HEAP32[($6 + 864 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) != (HEAP32[((HEAP32[($6 + 1116 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$57 + } + } + (wasm2js_i32$0 = $6, wasm2js_i32$1 = btConvexHullInternal__newEdgePair_28btConvexHullInternal__Vertex__2c_20btConvexHullInternal__Vertex__29($7 | 0, HEAP32[((HEAP32[($6 + 864 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($6 + 1116 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 920 | 0) >> 2] = wasm2js_i32$1; + label$59 : { + if (HEAP32[($6 + 868 | 0) >> 2] | 0) { + break label$59 + } + btConvexHullInternal__Edge__link_28btConvexHullInternal__Edge__29(HEAP32[($6 + 920 | 0) >> 2] | 0 | 0, HEAP32[(HEAP32[((HEAP32[($6 + 864 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) >> 2] | 0 | 0); + } + label$60 : { + label$61 : { + if (!(HEAP32[($6 + 868 | 0) >> 2] | 0)) { + break label$61 + } + if (!((HEAP32[($6 + 860 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$60 + } + } + btConvexHullInternal__Edge__link_28btConvexHullInternal__Edge__29(HEAP32[((HEAP32[($6 + 864 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0, HEAP32[($6 + 920 | 0) >> 2] | 0 | 0); + } + label$62 : { + if (HEAP32[($6 + 1068 | 0) >> 2] | 0) { + break label$62 + } + btConvexHullInternal__Edge__link_28btConvexHullInternal__Edge__29(HEAP32[((HEAP32[((HEAP32[($6 + 1116 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($6 + 920 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0); + } + btConvexHullInternal__Edge__link_28btConvexHullInternal__Edge__29(HEAP32[((HEAP32[($6 + 920 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($6 + 1116 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0); + break label$56; + } + HEAP32[($6 + 920 | 0) >> 2] = HEAP32[(HEAP32[((HEAP32[($6 + 864 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) >> 2] | 0; + } + label$63 : { + if (!((HEAP32[($6 + 860 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$63 + } + label$64 : { + label$65 : { + if (!((HEAP32[($6 + 868 | 0) >> 2] | 0 | 0) > (0 | 0) & 1 | 0)) { + break label$65 + } + btConvexHullInternal__Edge__link_28btConvexHullInternal__Edge__29(HEAP32[($6 + 920 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($6 + 860 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0); + break label$64; + } + label$66 : { + if (!((HEAP32[($6 + 920 | 0) >> 2] | 0 | 0) != (HEAP32[((HEAP32[($6 + 860 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$66 + } + btAlignedObjectArray_btConvexHullInternal__Vertex____push_back_28btConvexHullInternal__Vertex__20const__29($3 | 0, (HEAP32[($6 + 860 | 0) >> 2] | 0) + 12 | 0 | 0); + label$67 : { + label$68 : while (1) { + if (!((HEAP32[(HEAP32[($6 + 920 | 0) >> 2] | 0) >> 2] | 0 | 0) != (HEAP32[((HEAP32[($6 + 860 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$67 + } + HEAP32[($6 + 104 | 0) >> 2] = HEAP32[((HEAP32[(HEAP32[($6 + 920 | 0) >> 2] | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + btConvexHullInternal__removeEdgePair_28btConvexHullInternal__Edge__29($7 | 0, HEAP32[(HEAP32[($6 + 920 | 0) >> 2] | 0) >> 2] | 0 | 0); + btAlignedObjectArray_btConvexHullInternal__Vertex____push_back_28btConvexHullInternal__Vertex__20const__29($3 | 0, $6 + 104 | 0 | 0); + continue label$68; + }; + } + HEAP32[($6 + 100 | 0) >> 2] = 0; + btAlignedObjectArray_btConvexHullInternal__Vertex____push_back_28btConvexHullInternal__Vertex__20const__29($3 | 0, $6 + 100 | 0 | 0); + } + } + } + HEAP32[((HEAP32[($6 + 920 | 0) >> 2] | 0) + 16 | 0) >> 2] = HEAP32[($6 + 1236 | 0) >> 2] | 0; + HEAP32[((HEAP32[((HEAP32[($6 + 920 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) + 16 | 0) >> 2] = HEAP32[((HEAP32[($6 + 1116 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + label$69 : { + if ((HEAP32[($6 + 916 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$69 + } + HEAP32[($6 + 916 | 0) >> 2] = HEAP32[($6 + 920 | 0) >> 2] | 0; + } + continue label$32; + } + break label$32; + }; + label$70 : { + label$71 : { + if (!((HEAP32[($6 + 1068 | 0) >> 2] | 0 | 0) > (0 | 0) & 1 | 0)) { + break label$71 + } + HEAP32[((HEAP32[((HEAP32[($6 + 916 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) + 12 | 0) >> 2] = HEAP32[((HEAP32[($6 + 920 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + btConvexHullInternal__Edge__link_28btConvexHullInternal__Edge__29(HEAP32[((HEAP32[($6 + 924 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0, HEAP32[($6 + 916 | 0) >> 2] | 0 | 0); + btConvexHullInternal__Edge__link_28btConvexHullInternal__Edge__29(HEAP32[($6 + 916 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($6 + 920 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0); + break label$70; + } + label$72 : { + if (!((HEAP32[($6 + 916 | 0) >> 2] | 0 | 0) != (HEAP32[((HEAP32[($6 + 920 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$72 + } + btAlignedObjectArray_btConvexHullInternal__Vertex____push_back_28btConvexHullInternal__Vertex__20const__29($3 | 0, (HEAP32[($6 + 920 | 0) >> 2] | 0) + 12 | 0 | 0); + label$73 : { + label$74 : while (1) { + if (!((HEAP32[(HEAP32[($6 + 916 | 0) >> 2] | 0) >> 2] | 0 | 0) != (HEAP32[((HEAP32[($6 + 920 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$73 + } + HEAP32[($6 + 96 | 0) >> 2] = HEAP32[((HEAP32[(HEAP32[($6 + 916 | 0) >> 2] | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + btConvexHullInternal__removeEdgePair_28btConvexHullInternal__Edge__29($7 | 0, HEAP32[(HEAP32[($6 + 916 | 0) >> 2] | 0) >> 2] | 0 | 0); + btAlignedObjectArray_btConvexHullInternal__Vertex____push_back_28btConvexHullInternal__Vertex__20const__29($3 | 0, $6 + 96 | 0 | 0); + continue label$74; + }; + } + HEAP32[($6 + 92 | 0) >> 2] = 0; + btAlignedObjectArray_btConvexHullInternal__Vertex____push_back_28btConvexHullInternal__Vertex__20const__29($3 | 0, $6 + 92 | 0 | 0); + } + } + label$75 : { + if ((btAlignedObjectArray_btConvexHullInternal__Vertex____size_28_29_20const($3 | 0) | 0 | 0) > (0 | 0) & 1 | 0) { + break label$75 + } + __assert_fail(86063 | 0, 72732 | 0, 2588 | 0, 82177 | 0); + wasm2js_trap(); + } + (wasm2js_i32$0 = $7, wasm2js_i32$1 = HEAP32[(btAlignedObjectArray_btConvexHullInternal__Vertex____operator_5b_5d_28int_29($3 | 0, 0 | 0) | 0) >> 2] | 0), HEAP32[(wasm2js_i32$0 + 124 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($6 + 88 | 0) >> 2] = 0; + label$76 : { + label$77 : while (1) { + if (!((HEAP32[($6 + 88 | 0) >> 2] | 0 | 0) < (btAlignedObjectArray_btConvexHullInternal__Vertex____size_28_29_20const($3 | 0) | 0 | 0) & 1 | 0)) { + break label$76 + } + (wasm2js_i32$0 = $6, wasm2js_i32$1 = btAlignedObjectArray_btConvexHullInternal__Vertex____size_28_29_20const($3 | 0) | 0), HEAP32[(wasm2js_i32$0 + 84 | 0) >> 2] = wasm2js_i32$1; + label$78 : { + label$79 : while (1) { + if (!((HEAP32[($6 + 88 | 0) >> 2] | 0 | 0) < (HEAP32[($6 + 84 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$78 + } + $1278 = HEAP32[($6 + 88 | 0) >> 2] | 0; + HEAP32[($6 + 88 | 0) >> 2] = $1278 + 1 | 0; + (wasm2js_i32$0 = $6, wasm2js_i32$1 = HEAP32[(btAlignedObjectArray_btConvexHullInternal__Vertex____operator_5b_5d_28int_29($3 | 0, $1278 | 0) | 0) >> 2] | 0), HEAP32[(wasm2js_i32$0 + 80 | 0) >> 2] = wasm2js_i32$1; + HEAP8[($6 + 79 | 0) >> 0] = 0; + label$80 : { + label$81 : while (1) { + $1284 = HEAP32[($6 + 88 | 0) >> 2] | 0; + HEAP32[($6 + 88 | 0) >> 2] = $1284 + 1 | 0; + $1288 = HEAP32[(btAlignedObjectArray_btConvexHullInternal__Vertex____operator_5b_5d_28int_29($3 | 0, $1284 | 0) | 0) >> 2] | 0; + HEAP32[($6 + 72 | 0) >> 2] = $1288; + if (!(($1288 | 0) != (0 | 0) & 1 | 0)) { + break label$80 + } + btConvexHullInternal__Vertex__receiveNearbyFaces_28btConvexHullInternal__Vertex__29(HEAP32[($6 + 80 | 0) >> 2] | 0 | 0, HEAP32[($6 + 72 | 0) >> 2] | 0 | 0); + label$82 : { + label$83 : while (1) { + if (!((HEAP32[((HEAP32[($6 + 72 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$82 + } + label$84 : { + if ((HEAPU8[($6 + 79 | 0) >> 0] | 0) & 1 | 0) { + break label$84 + } + HEAP8[($6 + 79 | 0) >> 0] = 1; + btAlignedObjectArray_btConvexHullInternal__Vertex____push_back_28btConvexHullInternal__Vertex__20const__29($3 | 0, $6 + 80 | 0 | 0); + } + btAlignedObjectArray_btConvexHullInternal__Vertex____push_back_28btConvexHullInternal__Vertex__20const__29($3 | 0, (HEAP32[((HEAP32[($6 + 72 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) + 12 | 0 | 0); + btConvexHullInternal__removeEdgePair_28btConvexHullInternal__Edge__29($7 | 0, HEAP32[((HEAP32[($6 + 72 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0); + continue label$83; + }; + } + continue label$81; + }; + } + label$85 : { + if (!((HEAPU8[($6 + 79 | 0) >> 0] | 0) & 1 | 0)) { + break label$85 + } + HEAP32[($6 + 68 | 0) >> 2] = 0; + btAlignedObjectArray_btConvexHullInternal__Vertex____push_back_28btConvexHullInternal__Vertex__20const__29($3 | 0, $6 + 68 | 0 | 0); + } + continue label$79; + }; + } + continue label$77; + }; + } + HEAP32[($6 + 64 | 0) >> 2] = 0; + btAlignedObjectArray_btConvexHullInternal__Vertex____resize_28int_2c_20btConvexHullInternal__Vertex__20const__29($3 | 0, 0 | 0, $6 + 64 | 0 | 0); + $1332 = (HEAP32[($6 + 1236 | 0) >> 2] | 0) + 12 | 0; + i64toi32_i32$1 = $6; + i64toi32_i32$3 = HEAP32[($6 + 1128 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($6 + 1132 | 0) >> 2] | 0; + $4019 = i64toi32_i32$3; + i64toi32_i32$3 = $1332; + HEAP32[i64toi32_i32$3 >> 2] = $4019; + HEAP32[(i64toi32_i32$3 + 4 | 0) >> 2] = i64toi32_i32$2; + $1334 = 8; + i64toi32_i32$1 = ($6 + 1128 | 0) + $1334 | 0; + i64toi32_i32$2 = HEAP32[i64toi32_i32$1 >> 2] | 0; + i64toi32_i32$3 = HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] | 0; + $4032 = i64toi32_i32$2; + i64toi32_i32$2 = $1332 + $1334 | 0; + HEAP32[i64toi32_i32$2 >> 2] = $4032; + HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] = i64toi32_i32$3; + HEAP8[($6 + 1247 | 0) >> 0] = 1 & 1 | 0; + } + $1345 = (HEAPU8[($6 + 1247 | 0) >> 0] | 0) & 1 | 0; + __stack_pointer = $6 + 1248 | 0; + return $1345 | 0; + } + + function btAlignedObjectArray_btConvexHullInternal__Vertex_____btAlignedObjectArray_28_29($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + btAlignedObjectArray_btConvexHullInternal__Vertex____clear_28_29($4 | 0); + __stack_pointer = $3 + 16 | 0; + return $4 | 0; + } + + function btAlignedObjectArray_btConvexHullInternal__Face_____btAlignedObjectArray_28_29($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + btAlignedObjectArray_btConvexHullInternal__Face____clear_28_29($4 | 0); + __stack_pointer = $3 + 16 | 0; + return $4 | 0; + } + + function btAlignedAllocator_btConvexHullInternal__Vertex__2c_2016u___btAlignedAllocator_28_29($0) { + $0 = $0 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + return HEAP32[($3 + 12 | 0) >> 2] | 0 | 0; + } + + function btAlignedObjectArray_btConvexHullInternal__Vertex____init_28_29($0) { + $0 = $0 | 0; + var $4 = 0, $3 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + HEAP8[($4 + 16 | 0) >> 0] = 1; + HEAP32[($4 + 12 | 0) >> 2] = 0; + HEAP32[($4 + 4 | 0) >> 2] = 0; + HEAP32[($4 + 8 | 0) >> 2] = 0; + return; + } + + function btAlignedObjectArray_btConvexHullInternal__Vertex____capacity_28_29_20const($0) { + $0 = $0 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + return HEAP32[((HEAP32[($3 + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0; + } + + function btAlignedObjectArray_btConvexHullInternal__Vertex____allocSize_28int_29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, $9 = 0; + $4 = __stack_pointer - 16 | 0; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + label$1 : { + label$2 : { + if (!(HEAP32[($4 + 8 | 0) >> 2] | 0)) { + break label$2 + } + $9 = (HEAP32[($4 + 8 | 0) >> 2] | 0) << 1 | 0; + break label$1; + } + $9 = 1; + } + return $9 | 0; + } + + function btAlignedAllocator_btConvexHullInternal__Face__2c_2016u___btAlignedAllocator_28_29($0) { + $0 = $0 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + return HEAP32[($3 + 12 | 0) >> 2] | 0 | 0; + } + + function btAlignedObjectArray_btConvexHullInternal__Face____init_28_29($0) { + $0 = $0 | 0; + var $4 = 0, $3 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + HEAP8[($4 + 16 | 0) >> 0] = 1; + HEAP32[($4 + 12 | 0) >> 2] = 0; + HEAP32[($4 + 4 | 0) >> 2] = 0; + HEAP32[($4 + 8 | 0) >> 2] = 0; + return; + } + + function btConvexHullInternal__PoolArray_btConvexHullInternal__Face___PoolArray_28int_29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, $5 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; + HEAP32[($5 + 4 | 0) >> 2] = HEAP32[($4 + 8 | 0) >> 2] | 0; + HEAP32[($5 + 8 | 0) >> 2] = 0; + (wasm2js_i32$0 = $5, wasm2js_i32$1 = btAlignedAllocInternal_28unsigned_20long_2c_20int_29(Math_imul(HEAP32[($4 + 8 | 0) >> 2] | 0, 60) | 0, 16 | 0) | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + __stack_pointer = $4 + 16 | 0; + return $5 | 0; + } + + function btConvexHullInternal__PoolArray_btConvexHullInternal__Face___init_28_29($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0, $26 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + HEAP32[($3 + 8 | 0) >> 2] = HEAP32[$4 >> 2] | 0; + HEAP32[($3 + 4 | 0) >> 2] = 0; + label$1 : { + label$2 : while (1) { + if (!((HEAP32[($3 + 4 | 0) >> 2] | 0 | 0) < (HEAP32[($4 + 4 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$1 + } + label$3 : { + label$4 : { + if (!(((HEAP32[($3 + 4 | 0) >> 2] | 0) + 1 | 0 | 0) < (HEAP32[($4 + 4 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$4 + } + $26 = (HEAP32[($3 + 8 | 0) >> 2] | 0) + 60 | 0; + break label$3; + } + $26 = 0; + } + HEAP32[(HEAP32[($3 + 8 | 0) >> 2] | 0) >> 2] = $26; + HEAP32[($3 + 4 | 0) >> 2] = (HEAP32[($3 + 4 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($3 + 8 | 0) >> 2] = (HEAP32[($3 + 8 | 0) >> 2] | 0) + 60 | 0; + continue label$2; + }; + } + return HEAP32[$4 >> 2] | 0 | 0; + } + + function btConvexHullInternal__Face__Face_28_29($0) { + $0 = $0 | 0; + var $4 = 0, $3 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + HEAP32[$4 >> 2] = 0; + HEAP32[($4 + 4 | 0) >> 2] = 0; + HEAP32[($4 + 8 | 0) >> 2] = 0; + btConvexHullInternal__Point32__Point32_28_29($4 + 12 | 0 | 0) | 0; + btConvexHullInternal__Point32__Point32_28_29($4 + 28 | 0 | 0) | 0; + btConvexHullInternal__Point32__Point32_28_29($4 + 44 | 0 | 0) | 0; + __stack_pointer = $3 + 16 | 0; + return $4 | 0; + } + + function btAlignedObjectArray_btConvexHullInternal__Face____capacity_28_29_20const($0) { + $0 = $0 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + return HEAP32[((HEAP32[($3 + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0; + } + + function btAlignedObjectArray_btConvexHullInternal__Face____allocSize_28int_29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, $9 = 0; + $4 = __stack_pointer - 16 | 0; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + label$1 : { + label$2 : { + if (!(HEAP32[($4 + 8 | 0) >> 2] | 0)) { + break label$2 + } + $9 = (HEAP32[($4 + 8 | 0) >> 2] | 0) << 1 | 0; + break label$1; + } + $9 = 1; + } + return $9 | 0; + } + + function btAlignedObjectArray_btConvexHullInternal__Face____reserve_28int_29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, $5 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; + label$1 : { + if (!((btAlignedObjectArray_btConvexHullInternal__Face____capacity_28_29_20const($5 | 0) | 0 | 0) < (HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$1 + } + (wasm2js_i32$0 = $4, wasm2js_i32$1 = btAlignedObjectArray_btConvexHullInternal__Face____allocate_28int_29($5 | 0, HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + btAlignedObjectArray_btConvexHullInternal__Face____copy_28int_2c_20int_2c_20btConvexHullInternal__Face___29_20const($5 | 0, 0 | 0, btAlignedObjectArray_btConvexHullInternal__Face____size_28_29_20const($5 | 0) | 0 | 0, HEAP32[($4 + 4 | 0) >> 2] | 0 | 0); + btAlignedObjectArray_btConvexHullInternal__Face____destroy_28int_2c_20int_29($5 | 0, 0 | 0, btAlignedObjectArray_btConvexHullInternal__Face____size_28_29_20const($5 | 0) | 0 | 0); + btAlignedObjectArray_btConvexHullInternal__Face____deallocate_28_29($5 | 0); + HEAP8[($5 + 16 | 0) >> 0] = 1; + HEAP32[($5 + 12 | 0) >> 2] = HEAP32[($4 + 4 | 0) >> 2] | 0; + HEAP32[($5 + 8 | 0) >> 2] = HEAP32[($4 + 8 | 0) >> 2] | 0; + } + __stack_pointer = $4 + 16 | 0; + return; + } + + function btConvexHullInternal__Point32__isZero_28_29($0) { + $0 = $0 | 0; + var $4 = 0, $7 = 0, $3 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + $7 = 0; + label$1 : { + if (HEAP32[$4 >> 2] | 0) { + break label$1 + } + $7 = 0; + if (HEAP32[($4 + 4 | 0) >> 2] | 0) { + break label$1 + } + $7 = (HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) == (0 | 0); + } + return $7 & 1 | 0 | 0; + } + + function btConvexHullInternal__Face__getNormal_28_29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, $5 = 0; + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[($4 + 12 | 0) >> 2] = $1; + $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; + btConvexHullInternal__Point32__cross_28btConvexHullInternal__Point32_20const__29_20const($0 | 0, $5 + 28 | 0 | 0, $5 + 44 | 0 | 0); + __stack_pointer = $4 + 16 | 0; + return; + } + + function btConvexHullInternal__Vertex__dot_28btConvexHullInternal__Point64_20const__29_20const($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $5 = 0, i64toi32_i32$2 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $6 = 0; + $5 = __stack_pointer - 96 | 0; + __stack_pointer = $5; + HEAP32[($5 + 92 | 0) >> 2] = $1; + HEAP32[($5 + 88 | 0) >> 2] = $2; + $6 = HEAP32[($5 + 92 | 0) >> 2] | 0; + label$1 : { + label$2 : { + if (!((HEAP32[($6 + 100 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0)) { + break label$2 + } + i64toi32_i32$0 = btConvexHullInternal__Point32__dot_28btConvexHullInternal__Point64_20const__29_20const($6 + 88 | 0 | 0, HEAP32[($5 + 88 | 0) >> 2] | 0 | 0) | 0; + i64toi32_i32$1 = i64toi32_i32$HIGH_BITS; + btConvexHullInternal__Rational128__Rational128_28long_20long_29($0 | 0, i64toi32_i32$0 | 0, i64toi32_i32$1 | 0) | 0; + break label$1; + } + i64toi32_i32$2 = HEAP32[($5 + 88 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + btConvexHullInternal__Int128__operator__28long_20long_29_20const($5 + 40 | 0 | 0, $6 + 24 | 0 | 0, i64toi32_i32$1 | 0, i64toi32_i32$0 | 0); + i64toi32_i32$2 = HEAP32[($5 + 88 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 8 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 12 | 0) >> 2] | 0; + btConvexHullInternal__Int128__operator__28long_20long_29_20const($5 + 24 | 0 | 0, ($6 + 24 | 0) + 16 | 0 | 0, i64toi32_i32$0 | 0, i64toi32_i32$1 | 0); + btConvexHullInternal__Int128__operator__28btConvexHullInternal__Int128_20const__29_20const($5 + 56 | 0 | 0, $5 + 40 | 0 | 0, $5 + 24 | 0 | 0); + i64toi32_i32$2 = HEAP32[($5 + 88 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 16 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 20 | 0) >> 2] | 0; + btConvexHullInternal__Int128__operator__28long_20long_29_20const($5 + 8 | 0 | 0, ($6 + 24 | 0) + 32 | 0 | 0, i64toi32_i32$1 | 0, i64toi32_i32$0 | 0); + btConvexHullInternal__Int128__operator__28btConvexHullInternal__Int128_20const__29_20const($5 + 72 | 0 | 0, $5 + 56 | 0 | 0, $5 + 8 | 0 | 0); + btConvexHullInternal__Rational128__Rational128_28btConvexHullInternal__Int128_20const__2c_20btConvexHullInternal__Int128_20const__29($0 | 0, $5 + 72 | 0 | 0, ($6 + 24 | 0) + 48 | 0 | 0) | 0; + } + __stack_pointer = $5 + 96 | 0; + return; + } + + function btConvexHullInternal__Int128__operator__28btConvexHullInternal__Int128_20const__29_20const_2($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $5 = 0, $6 = 0; + $5 = __stack_pointer - 32 | 0; + __stack_pointer = $5; + HEAP32[($5 + 28 | 0) >> 2] = $1; + HEAP32[($5 + 24 | 0) >> 2] = $2; + $6 = HEAP32[($5 + 28 | 0) >> 2] | 0; + btConvexHullInternal__Int128__operator__28_29_20const($5 + 8 | 0 | 0, HEAP32[($5 + 24 | 0) >> 2] | 0 | 0); + btConvexHullInternal__Int128__operator__28btConvexHullInternal__Int128_20const__29_20const($0 | 0, $6 | 0, $5 + 8 | 0 | 0); + __stack_pointer = $5 + 32 | 0; + return; + } + + function btConvexHullInternal__PointR128__PointR128_28btConvexHullInternal__Int128_2c_20btConvexHullInternal__Int128_2c_20btConvexHullInternal__Int128_2c_20btConvexHullInternal__Int128_29($0, $1, $2, $3, $4) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + $4 = $4 | 0; + var i64toi32_i32$2 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $8 = 0, $7 = 0, $10 = 0, $15 = 0, $17 = 0, $22 = 0, $24 = 0, $29 = 0, $31 = 0, $46 = 0, $56 = 0, $63 = 0, $73 = 0, $80 = 0, $90 = 0, $97 = 0, $107 = 0; + $7 = __stack_pointer - 16 | 0; + HEAP32[($7 + 12 | 0) >> 2] = $0; + $8 = HEAP32[($7 + 12 | 0) >> 2] | 0; + i64toi32_i32$2 = $1; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $46 = i64toi32_i32$0; + i64toi32_i32$0 = $8; + HEAP32[i64toi32_i32$0 >> 2] = $46; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $10 = 8; + i64toi32_i32$2 = i64toi32_i32$2 + $10 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $56 = i64toi32_i32$1; + i64toi32_i32$1 = $8 + $10 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $56; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + $15 = $8 + 16 | 0; + i64toi32_i32$2 = $2; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $63 = i64toi32_i32$0; + i64toi32_i32$0 = $15; + HEAP32[i64toi32_i32$0 >> 2] = $63; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $17 = 8; + i64toi32_i32$2 = i64toi32_i32$2 + $17 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $73 = i64toi32_i32$1; + i64toi32_i32$1 = $15 + $17 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $73; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + $22 = $8 + 32 | 0; + i64toi32_i32$2 = $3; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $80 = i64toi32_i32$0; + i64toi32_i32$0 = $22; + HEAP32[i64toi32_i32$0 >> 2] = $80; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $24 = 8; + i64toi32_i32$2 = i64toi32_i32$2 + $24 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $90 = i64toi32_i32$1; + i64toi32_i32$1 = $22 + $24 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $90; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + $29 = $8 + 48 | 0; + i64toi32_i32$2 = $4; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $97 = i64toi32_i32$0; + i64toi32_i32$0 = $29; + HEAP32[i64toi32_i32$0 >> 2] = $97; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $31 = 8; + i64toi32_i32$2 = i64toi32_i32$2 + $31 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $107 = i64toi32_i32$1; + i64toi32_i32$1 = $29 + $31 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $107; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + return $8 | 0; + } + + function btConvexHullInternal__Vertex__receiveNearbyFaces_28btConvexHullInternal__Vertex__29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, $5 = 0; + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; + label$1 : { + label$2 : { + if (!((HEAP32[($5 + 16 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[((HEAP32[($5 + 16 | 0) >> 2] | 0) + 8 | 0) >> 2] = HEAP32[((HEAP32[($4 + 8 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + break label$1; + } + HEAP32[($5 + 12 | 0) >> 2] = HEAP32[((HEAP32[($4 + 8 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + } + label$3 : { + if (!((HEAP32[((HEAP32[($4 + 8 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$3 + } + HEAP32[($5 + 16 | 0) >> 2] = HEAP32[((HEAP32[($4 + 8 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + } + HEAP32[($4 + 4 | 0) >> 2] = HEAP32[((HEAP32[($4 + 8 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + label$4 : { + label$5 : while (1) { + if (!((HEAP32[($4 + 4 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$4 + } + label$6 : { + if ((HEAP32[((HEAP32[($4 + 4 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) == (HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) & 1 | 0) { + break label$6 + } + __assert_fail(82799 | 0, 72732 | 0, 498 | 0, 70267 | 0); + wasm2js_trap(); + } + HEAP32[((HEAP32[($4 + 4 | 0) >> 2] | 0) + 4 | 0) >> 2] = $5; + HEAP32[($4 + 4 | 0) >> 2] = HEAP32[((HEAP32[($4 + 4 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + continue label$5; + }; + } + HEAP32[((HEAP32[($4 + 8 | 0) >> 2] | 0) + 12 | 0) >> 2] = 0; + HEAP32[((HEAP32[($4 + 8 | 0) >> 2] | 0) + 16 | 0) >> 2] = 0; + __stack_pointer = $4 + 16 | 0; + return; + } + + function btAlignedObjectArray_btConvexHullInternal__Vertex____copy_28int_2c_20int_2c_20btConvexHullInternal__Vertex___29_20const($0, $1, $2, $3) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + var $6 = 0, $7 = 0; + $6 = __stack_pointer - 32 | 0; + HEAP32[($6 + 28 | 0) >> 2] = $0; + HEAP32[($6 + 24 | 0) >> 2] = $1; + HEAP32[($6 + 20 | 0) >> 2] = $2; + HEAP32[($6 + 16 | 0) >> 2] = $3; + $7 = HEAP32[($6 + 28 | 0) >> 2] | 0; + HEAP32[($6 + 12 | 0) >> 2] = HEAP32[($6 + 24 | 0) >> 2] | 0; + label$1 : { + label$2 : while (1) { + if (!((HEAP32[($6 + 12 | 0) >> 2] | 0 | 0) < (HEAP32[($6 + 20 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$1 + } + HEAP32[((HEAP32[($6 + 16 | 0) >> 2] | 0) + ((HEAP32[($6 + 12 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = HEAP32[((HEAP32[($7 + 12 | 0) >> 2] | 0) + ((HEAP32[($6 + 12 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; + HEAP32[($6 + 12 | 0) >> 2] = (HEAP32[($6 + 12 | 0) >> 2] | 0) + 1 | 0; + continue label$2; + }; + } + return; + } + + function btAlignedObjectArray_btConvexHullInternal__Vertex____clear_28_29($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + btAlignedObjectArray_btConvexHullInternal__Vertex____destroy_28int_2c_20int_29($4 | 0, 0 | 0, btAlignedObjectArray_btConvexHullInternal__Vertex____size_28_29_20const($4 | 0) | 0 | 0); + btAlignedObjectArray_btConvexHullInternal__Vertex____deallocate_28_29($4 | 0); + btAlignedObjectArray_btConvexHullInternal__Vertex____init_28_29($4 | 0); + __stack_pointer = $3 + 16 | 0; + return; + } + + function btAlignedObjectArray_btConvexHullInternal__Face____clear_28_29($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + btAlignedObjectArray_btConvexHullInternal__Face____destroy_28int_2c_20int_29($4 | 0, 0 | 0, btAlignedObjectArray_btConvexHullInternal__Face____size_28_29_20const($4 | 0) | 0 | 0); + btAlignedObjectArray_btConvexHullInternal__Face____deallocate_28_29($4 | 0); + btAlignedObjectArray_btConvexHullInternal__Face____init_28_29($4 | 0); + __stack_pointer = $3 + 16 | 0; + return; + } + + function btConvexHullInternal__Rational128__Rational128_28long_20long_29($0, $1, $1$hi) { + $0 = $0 | 0; + $1 = $1 | 0; + $1$hi = $1$hi | 0; + var i64toi32_i32$2 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$5 = 0, $4 = 0, $5 = 0, i64toi32_i32$3 = 0, $8$hi = 0, $9$hi = 0, $27$hi = 0, $28$hi = 0, $31 = 0, $32 = 0, $33 = 0, $21 = 0, $34 = 0, $35 = 0, $36 = 0, $35$hi = 0, $42 = 0, $54 = 0, $63 = 0, $65 = 0, $119 = 0, $132 = 0, $149$hi = 0, $150 = 0, $162 = 0, $175 = 0, $188 = 0, $201 = 0, $212 = 0, $222 = 0, $70 = 0; + $4 = __stack_pointer - 80 | 0; + __stack_pointer = $4; + HEAP32[($4 + 72 | 0) >> 2] = $0; + i64toi32_i32$0 = $1$hi; + i64toi32_i32$1 = $4; + HEAP32[(i64toi32_i32$1 + 64 | 0) >> 2] = $1; + HEAP32[(i64toi32_i32$1 + 68 | 0) >> 2] = i64toi32_i32$0; + $5 = HEAP32[(i64toi32_i32$1 + 72 | 0) >> 2] | 0; + HEAP32[(i64toi32_i32$1 + 76 | 0) >> 2] = $5; + btConvexHullInternal__Int128__Int128_28_29($5 | 0) | 0; + btConvexHullInternal__Int128__Int128_28_29($5 + 16 | 0 | 0) | 0; + i64toi32_i32$2 = i64toi32_i32$1; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 64 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 68 | 0) >> 2] | 0; + $8$hi = i64toi32_i32$1; + i64toi32_i32$1 = 0; + $9$hi = i64toi32_i32$1; + i64toi32_i32$1 = $8$hi; + i64toi32_i32$1 = $9$hi; + i64toi32_i32$1 = $8$hi; + i64toi32_i32$1 = $9$hi; + i64toi32_i32$1 = $8$hi; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$0 = $9$hi; + i64toi32_i32$3 = 0; + if ((i64toi32_i32$1 | 0) > (i64toi32_i32$0 | 0)) { + $31 = 1 + } else { + if ((i64toi32_i32$1 | 0) >= (i64toi32_i32$0 | 0)) { + if (i64toi32_i32$2 >>> 0 <= i64toi32_i32$3 >>> 0) { + $32 = 0 + } else { + $32 = 1 + } + $33 = $32; + } else { + $33 = 0 + } + $31 = $33; + } + label$1 : { + label$2 : { + if (!($31 & 1 | 0)) { + break label$2 + } + HEAP32[($5 + 32 | 0) >> 2] = 1; + i64toi32_i32$3 = $4; + i64toi32_i32$2 = HEAP32[($4 + 64 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($4 + 68 | 0) >> 2] | 0; + btConvexHullInternal__Int128__Int128_28long_20long_29($4 + 48 | 0 | 0, i64toi32_i32$2 | 0, i64toi32_i32$1 | 0) | 0; + i64toi32_i32$3 = $4; + i64toi32_i32$1 = HEAP32[($4 + 48 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($4 + 52 | 0) >> 2] | 0; + $119 = i64toi32_i32$1; + i64toi32_i32$1 = $5; + HEAP32[i64toi32_i32$1 >> 2] = $119; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$2; + $21 = 8; + i64toi32_i32$3 = ($4 + 48 | 0) + $21 | 0; + i64toi32_i32$2 = HEAP32[i64toi32_i32$3 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$3 + 4 | 0) >> 2] | 0; + $132 = i64toi32_i32$2; + i64toi32_i32$2 = $5 + $21 | 0; + HEAP32[i64toi32_i32$2 >> 2] = $132; + HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] = i64toi32_i32$1; + break label$1; + } + i64toi32_i32$3 = $4; + i64toi32_i32$1 = HEAP32[($4 + 64 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($4 + 68 | 0) >> 2] | 0; + $27$hi = i64toi32_i32$2; + i64toi32_i32$2 = 0; + $28$hi = i64toi32_i32$2; + i64toi32_i32$2 = $27$hi; + i64toi32_i32$2 = $28$hi; + i64toi32_i32$2 = $27$hi; + i64toi32_i32$2 = $28$hi; + i64toi32_i32$2 = $27$hi; + i64toi32_i32$3 = i64toi32_i32$1; + i64toi32_i32$1 = $28$hi; + i64toi32_i32$0 = 0; + if ((i64toi32_i32$2 | 0) < (i64toi32_i32$1 | 0)) { + $34 = 1 + } else { + if ((i64toi32_i32$2 | 0) <= (i64toi32_i32$1 | 0)) { + if (i64toi32_i32$3 >>> 0 >= i64toi32_i32$0 >>> 0) { + $35 = 0 + } else { + $35 = 1 + } + $36 = $35; + } else { + $36 = 0 + } + $34 = $36; + } + label$3 : { + label$4 : { + if (!($34 & 1 | 0)) { + break label$4 + } + HEAP32[($5 + 32 | 0) >> 2] = -1; + i64toi32_i32$0 = $4; + i64toi32_i32$3 = HEAP32[(i64toi32_i32$0 + 64 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$0 + 68 | 0) >> 2] | 0; + $35$hi = i64toi32_i32$2; + i64toi32_i32$2 = 0; + $149$hi = i64toi32_i32$2; + i64toi32_i32$2 = $35$hi; + $150 = i64toi32_i32$3; + i64toi32_i32$2 = $149$hi; + i64toi32_i32$0 = 0; + i64toi32_i32$3 = $35$hi; + i64toi32_i32$1 = $150; + i64toi32_i32$5 = (i64toi32_i32$0 >>> 0 < i64toi32_i32$1 >>> 0) + i64toi32_i32$3 | 0; + i64toi32_i32$5 = i64toi32_i32$2 - i64toi32_i32$5 | 0; + btConvexHullInternal__Int128__Int128_28long_20long_29($4 + 32 | 0 | 0, i64toi32_i32$0 - i64toi32_i32$1 | 0 | 0, i64toi32_i32$5 | 0) | 0; + i64toi32_i32$2 = $4; + i64toi32_i32$5 = HEAP32[(i64toi32_i32$2 + 32 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 36 | 0) >> 2] | 0; + $162 = i64toi32_i32$5; + i64toi32_i32$5 = $5; + HEAP32[i64toi32_i32$5 >> 2] = $162; + HEAP32[(i64toi32_i32$5 + 4 | 0) >> 2] = i64toi32_i32$0; + $42 = 8; + i64toi32_i32$2 = (i64toi32_i32$2 + 32 | 0) + $42 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$5 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $175 = i64toi32_i32$0; + i64toi32_i32$0 = $5 + $42 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $175; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$5; + break label$3; + } + HEAP32[($5 + 32 | 0) >> 2] = 0; + i64toi32_i32$5 = 0; + btConvexHullInternal__Int128__Int128_28unsigned_20long_20long_29($4 + 16 | 0 | 0, 0 | 0, i64toi32_i32$5 | 0) | 0; + i64toi32_i32$2 = $4; + i64toi32_i32$5 = HEAP32[(i64toi32_i32$2 + 16 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 20 | 0) >> 2] | 0; + $188 = i64toi32_i32$5; + i64toi32_i32$5 = $5; + HEAP32[i64toi32_i32$5 >> 2] = $188; + HEAP32[(i64toi32_i32$5 + 4 | 0) >> 2] = i64toi32_i32$0; + $54 = 8; + i64toi32_i32$2 = (i64toi32_i32$2 + 16 | 0) + $54 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$5 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $201 = i64toi32_i32$0; + i64toi32_i32$0 = $5 + $54 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $201; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$5; + } + } + i64toi32_i32$5 = 0; + btConvexHullInternal__Int128__Int128_28unsigned_20long_20long_29($4 | 0, 1 | 0, i64toi32_i32$5 | 0) | 0; + $63 = $5 + 16 | 0; + i64toi32_i32$2 = $4; + i64toi32_i32$5 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $212 = i64toi32_i32$5; + i64toi32_i32$5 = $63; + HEAP32[i64toi32_i32$5 >> 2] = $212; + HEAP32[(i64toi32_i32$5 + 4 | 0) >> 2] = i64toi32_i32$0; + $65 = 8; + i64toi32_i32$2 = i64toi32_i32$2 + $65 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$5 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $222 = i64toi32_i32$0; + i64toi32_i32$0 = $63 + $65 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $222; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$5; + HEAP8[($5 + 36 | 0) >> 0] = 1; + $70 = HEAP32[($4 + 76 | 0) >> 2] | 0; + __stack_pointer = $4 + 80 | 0; + return $70 | 0; + } + + function btConvexHullInternal__Rational128__Rational128_28btConvexHullInternal__Int128_20const__2c_20btConvexHullInternal__Int128_20const__29($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $5 = 0, i64toi32_i32$2 = 0, $6 = 0, $20 = 0, $29 = 0, $46 = 0, $48 = 0, $60 = 0, $62 = 0, $117 = 0, $127 = 0, $139 = 0, $152 = 0, $179 = 0, $189 = 0, $211 = 0, $224 = 0, $69 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5 = __stack_pointer - 64 | 0; + __stack_pointer = $5; + HEAP32[($5 + 56 | 0) >> 2] = $0; + HEAP32[($5 + 52 | 0) >> 2] = $1; + HEAP32[($5 + 48 | 0) >> 2] = $2; + $6 = HEAP32[($5 + 56 | 0) >> 2] | 0; + HEAP32[($5 + 60 | 0) >> 2] = $6; + btConvexHullInternal__Int128__Int128_28_29($6 | 0) | 0; + btConvexHullInternal__Int128__Int128_28_29($6 + 16 | 0 | 0) | 0; + (wasm2js_i32$0 = $6, wasm2js_i32$1 = btConvexHullInternal__Int128__getSign_28_29_20const(HEAP32[($5 + 52 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 32 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + label$2 : { + if (!((HEAP32[($6 + 32 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0)) { + break label$2 + } + i64toi32_i32$2 = HEAP32[($5 + 52 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $117 = i64toi32_i32$0; + i64toi32_i32$0 = $6; + HEAP32[i64toi32_i32$0 >> 2] = $117; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $20 = 8; + i64toi32_i32$2 = i64toi32_i32$2 + $20 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $127 = i64toi32_i32$1; + i64toi32_i32$1 = $6 + $20 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $127; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + break label$1; + } + btConvexHullInternal__Int128__operator__28_29_20const($5 + 32 | 0 | 0, HEAP32[($5 + 52 | 0) >> 2] | 0 | 0); + i64toi32_i32$2 = $5; + i64toi32_i32$0 = HEAP32[($5 + 32 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($5 + 36 | 0) >> 2] | 0; + $139 = i64toi32_i32$0; + i64toi32_i32$0 = $6; + HEAP32[i64toi32_i32$0 >> 2] = $139; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $29 = 8; + i64toi32_i32$2 = ($5 + 32 | 0) + $29 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $152 = i64toi32_i32$1; + i64toi32_i32$1 = $6 + $29 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $152; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + } + (wasm2js_i32$0 = $5, wasm2js_i32$1 = btConvexHullInternal__Int128__getSign_28_29_20const(HEAP32[($5 + 48 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$1; + label$3 : { + label$4 : { + if (!((HEAP32[($5 + 28 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0)) { + break label$4 + } + $46 = $6 + 16 | 0; + i64toi32_i32$2 = HEAP32[($5 + 48 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $179 = i64toi32_i32$0; + i64toi32_i32$0 = $46; + HEAP32[i64toi32_i32$0 >> 2] = $179; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $48 = 8; + i64toi32_i32$2 = i64toi32_i32$2 + $48 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $189 = i64toi32_i32$1; + i64toi32_i32$1 = $46 + $48 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $189; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + break label$3; + } + HEAP32[($6 + 32 | 0) >> 2] = 0 - (HEAP32[($6 + 32 | 0) >> 2] | 0) | 0; + btConvexHullInternal__Int128__operator__28_29_20const($5 + 8 | 0 | 0, HEAP32[($5 + 48 | 0) >> 2] | 0 | 0); + $60 = $6 + 16 | 0; + i64toi32_i32$2 = $5; + i64toi32_i32$0 = HEAP32[($5 + 8 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($5 + 12 | 0) >> 2] | 0; + $211 = i64toi32_i32$0; + i64toi32_i32$0 = $60; + HEAP32[i64toi32_i32$0 >> 2] = $211; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $62 = 8; + i64toi32_i32$2 = ($5 + 8 | 0) + $62 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $224 = i64toi32_i32$1; + i64toi32_i32$1 = $60 + $62 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $224; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + } + HEAP8[($6 + 36 | 0) >> 0] = 0; + $69 = HEAP32[($5 + 60 | 0) >> 2] | 0; + __stack_pointer = $5 + 64 | 0; + return $69 | 0; + } + + function btConvexHullComputer__compute_28void_20const__2c_20bool_2c_20int_2c_20int_2c_20float_2c_20float_29($0, $1, $2, $3, $4, $5, $6) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + $4 = $4 | 0; + $5 = Math_fround($5); + $6 = Math_fround($6); + var $9 = 0, $11 = 0, i64toi32_i32$0 = 0, $50 = Math_fround(0), $187 = 0, $201 = 0, $222 = 0, $300 = Math_fround(0), wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $9 = __stack_pointer - 336 | 0; + __stack_pointer = $9; + HEAP32[($9 + 328 | 0) >> 2] = $0; + HEAP32[($9 + 324 | 0) >> 2] = $1; + HEAP8[($9 + 323 | 0) >> 0] = $2; + HEAP32[($9 + 316 | 0) >> 2] = $3; + HEAP32[($9 + 312 | 0) >> 2] = $4; + HEAPF32[($9 + 308 | 0) >> 2] = $5; + HEAPF32[($9 + 304 | 0) >> 2] = $6; + $11 = HEAP32[($9 + 328 | 0) >> 2] | 0; + label$1 : { + label$2 : { + if (!((HEAP32[($9 + 312 | 0) >> 2] | 0 | 0) <= (0 | 0) & 1 | 0)) { + break label$2 + } + btAlignedObjectArray_btVector3___clear_28_29($11 | 0); + btAlignedObjectArray_btConvexHullComputer__Edge___clear_28_29($11 + 20 | 0 | 0); + btAlignedObjectArray_int___clear_28_29($11 + 40 | 0 | 0); + HEAPF32[($9 + 332 | 0) >> 2] = Math_fround(0 | 0); + break label$1; + } + btConvexHullInternal__btConvexHullInternal_28_29($9 + 176 | 0 | 0) | 0; + btConvexHullInternal__compute_28void_20const__2c_20bool_2c_20int_2c_20int_29($9 + 176 | 0 | 0, HEAP32[($9 + 324 | 0) >> 2] | 0 | 0, (HEAPU8[($9 + 323 | 0) >> 0] | 0) & 1 | 0 | 0, HEAP32[($9 + 316 | 0) >> 2] | 0 | 0, HEAP32[($9 + 312 | 0) >> 2] | 0 | 0); + HEAPF32[($9 + 172 | 0) >> 2] = Math_fround(0 | 0); + label$3 : { + label$4 : { + if (!(Math_fround(HEAPF32[($9 + 308 | 0) >> 2]) > Math_fround(0 | 0) & 1 | 0)) { + break label$4 + } + $50 = Math_fround(btConvexHullInternal__shrink_28float_2c_20float_29($9 + 176 | 0 | 0, Math_fround(Math_fround(HEAPF32[($9 + 308 | 0) >> 2])), Math_fround(Math_fround(HEAPF32[($9 + 304 | 0) >> 2])))); + HEAPF32[($9 + 172 | 0) >> 2] = $50; + if (!($50 < Math_fround(0 | 0) & 1 | 0)) { + break label$4 + } + btAlignedObjectArray_btVector3___clear_28_29($11 | 0); + btAlignedObjectArray_btConvexHullComputer__Edge___clear_28_29($11 + 20 | 0 | 0); + btAlignedObjectArray_int___clear_28_29($11 + 40 | 0 | 0); + HEAPF32[($9 + 332 | 0) >> 2] = Math_fround(HEAPF32[($9 + 172 | 0) >> 2]); + HEAP32[($9 + 168 | 0) >> 2] = 1; + break label$3; + } + btVector3__btVector3_28_29($9 + 152 | 0 | 0) | 0; + btAlignedObjectArray_btVector3___resize_28int_2c_20btVector3_20const__29($11 | 0, 0 | 0, $9 + 152 | 0 | 0); + HEAP32[($9 + 144 | 0) >> 2] = 0; + i64toi32_i32$0 = 0; + HEAP32[($9 + 136 | 0) >> 2] = 0; + HEAP32[($9 + 140 | 0) >> 2] = i64toi32_i32$0; + btAlignedObjectArray_btConvexHullComputer__Edge___resize_28int_2c_20btConvexHullComputer__Edge_20const__29($11 + 20 | 0 | 0, 0 | 0, $9 + 136 | 0 | 0); + HEAP32[($9 + 132 | 0) >> 2] = 0; + btAlignedObjectArray_int___resize_28int_2c_20int_20const__29($11 + 40 | 0 | 0, 0 | 0, $9 + 132 | 0 | 0); + btAlignedObjectArray_btConvexHullInternal__Vertex____btAlignedObjectArray_28_29($9 + 112 | 0 | 0) | 0; + getVertexCopy_28btConvexHullInternal__Vertex__2c_20btAlignedObjectArray_btConvexHullInternal__Vertex____29(HEAP32[($9 + 300 | 0) >> 2] | 0 | 0, $9 + 112 | 0 | 0) | 0; + HEAP32[($9 + 108 | 0) >> 2] = 0; + label$5 : { + label$6 : while (1) { + if (!((HEAP32[($9 + 108 | 0) >> 2] | 0 | 0) < (btAlignedObjectArray_btConvexHullInternal__Vertex____size_28_29_20const($9 + 112 | 0 | 0) | 0 | 0) & 1 | 0)) { + break label$5 + } + (wasm2js_i32$0 = $9, wasm2js_i32$1 = HEAP32[(btAlignedObjectArray_btConvexHullInternal__Vertex____operator_5b_5d_28int_29($9 + 112 | 0 | 0, HEAP32[($9 + 108 | 0) >> 2] | 0 | 0) | 0) >> 2] | 0), HEAP32[(wasm2js_i32$0 + 104 | 0) >> 2] = wasm2js_i32$1; + btConvexHullInternal__getCoordinates_28btConvexHullInternal__Vertex_20const__29($9 + 88 | 0 | 0, $9 + 176 | 0 | 0, HEAP32[($9 + 104 | 0) >> 2] | 0 | 0); + btAlignedObjectArray_btVector3___push_back_28btVector3_20const__29($11 | 0, $9 + 88 | 0 | 0); + HEAP32[($9 + 84 | 0) >> 2] = HEAP32[((HEAP32[($9 + 104 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + label$7 : { + if (!((HEAP32[($9 + 84 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$7 + } + HEAP32[($9 + 80 | 0) >> 2] = -1; + HEAP32[($9 + 76 | 0) >> 2] = -1; + HEAP32[($9 + 72 | 0) >> 2] = HEAP32[($9 + 84 | 0) >> 2] | 0; + label$8 : while (1) { + label$9 : { + if (!((HEAP32[((HEAP32[($9 + 72 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0) < (0 | 0) & 1 | 0)) { + break label$9 + } + (wasm2js_i32$0 = $9, wasm2js_i32$1 = btAlignedObjectArray_btConvexHullComputer__Edge___size_28_29_20const($11 + 20 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 68 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($9 + 64 | 0) >> 2] = 0; + i64toi32_i32$0 = 0; + HEAP32[($9 + 56 | 0) >> 2] = 0; + HEAP32[($9 + 60 | 0) >> 2] = i64toi32_i32$0; + btAlignedObjectArray_btConvexHullComputer__Edge___push_back_28btConvexHullComputer__Edge_20const__29($11 + 20 | 0 | 0, $9 + 56 | 0 | 0); + HEAP32[($9 + 48 | 0) >> 2] = 0; + i64toi32_i32$0 = 0; + HEAP32[($9 + 40 | 0) >> 2] = 0; + HEAP32[($9 + 44 | 0) >> 2] = i64toi32_i32$0; + btAlignedObjectArray_btConvexHullComputer__Edge___push_back_28btConvexHullComputer__Edge_20const__29($11 + 20 | 0 | 0, $9 + 40 | 0 | 0); + (wasm2js_i32$0 = $9, wasm2js_i32$1 = btAlignedObjectArray_btConvexHullComputer__Edge___operator_5b_5d_28int_29($11 + 20 | 0 | 0, HEAP32[($9 + 68 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 36 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $9, wasm2js_i32$1 = btAlignedObjectArray_btConvexHullComputer__Edge___operator_5b_5d_28int_29($11 + 20 | 0 | 0, (HEAP32[($9 + 68 | 0) >> 2] | 0) + 1 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 32 | 0) >> 2] = wasm2js_i32$1; + HEAP32[((HEAP32[($9 + 72 | 0) >> 2] | 0) + 20 | 0) >> 2] = HEAP32[($9 + 68 | 0) >> 2] | 0; + HEAP32[((HEAP32[((HEAP32[($9 + 72 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) + 20 | 0) >> 2] = (HEAP32[($9 + 68 | 0) >> 2] | 0) + 1 | 0; + HEAP32[((HEAP32[($9 + 36 | 0) >> 2] | 0) + 4 | 0) >> 2] = 1; + HEAP32[((HEAP32[($9 + 32 | 0) >> 2] | 0) + 4 | 0) >> 2] = -1; + $187 = getVertexCopy_28btConvexHullInternal__Vertex__2c_20btAlignedObjectArray_btConvexHullInternal__Vertex____29(HEAP32[((HEAP32[($9 + 72 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0, $9 + 112 | 0 | 0) | 0; + HEAP32[((HEAP32[($9 + 36 | 0) >> 2] | 0) + 8 | 0) >> 2] = $187; + HEAP32[((HEAP32[($9 + 32 | 0) >> 2] | 0) + 8 | 0) >> 2] = HEAP32[($9 + 108 | 0) >> 2] | 0; + } + label$10 : { + label$11 : { + if (!((HEAP32[($9 + 76 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0)) { + break label$11 + } + $201 = (HEAP32[($9 + 76 | 0) >> 2] | 0) - (HEAP32[((HEAP32[($9 + 72 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0) | 0; + (wasm2js_i32$0 = btAlignedObjectArray_btConvexHullComputer__Edge___operator_5b_5d_28int_29($11 + 20 | 0 | 0, HEAP32[((HEAP32[($9 + 72 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0) | 0, wasm2js_i32$1 = $201), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + break label$10; + } + HEAP32[($9 + 80 | 0) >> 2] = HEAP32[((HEAP32[($9 + 72 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0; + } + HEAP32[($9 + 76 | 0) >> 2] = HEAP32[((HEAP32[($9 + 72 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0; + HEAP32[($9 + 72 | 0) >> 2] = HEAP32[(HEAP32[($9 + 72 | 0) >> 2] | 0) >> 2] | 0; + if ((HEAP32[($9 + 72 | 0) >> 2] | 0 | 0) != (HEAP32[($9 + 84 | 0) >> 2] | 0 | 0) & 1 | 0) { + continue label$8 + } + break label$8; + }; + $222 = (HEAP32[($9 + 76 | 0) >> 2] | 0) - (HEAP32[($9 + 80 | 0) >> 2] | 0) | 0; + (wasm2js_i32$0 = btAlignedObjectArray_btConvexHullComputer__Edge___operator_5b_5d_28int_29($11 + 20 | 0 | 0, HEAP32[($9 + 80 | 0) >> 2] | 0 | 0) | 0, wasm2js_i32$1 = $222), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + } + HEAP32[($9 + 108 | 0) >> 2] = (HEAP32[($9 + 108 | 0) >> 2] | 0) + 1 | 0; + continue label$6; + }; + } + HEAP32[($9 + 28 | 0) >> 2] = 0; + label$12 : { + label$13 : while (1) { + if (!((HEAP32[($9 + 28 | 0) >> 2] | 0 | 0) < (HEAP32[($9 + 108 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$12 + } + (wasm2js_i32$0 = $9, wasm2js_i32$1 = HEAP32[(btAlignedObjectArray_btConvexHullInternal__Vertex____operator_5b_5d_28int_29($9 + 112 | 0 | 0, HEAP32[($9 + 28 | 0) >> 2] | 0 | 0) | 0) >> 2] | 0), HEAP32[(wasm2js_i32$0 + 24 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($9 + 20 | 0) >> 2] = HEAP32[((HEAP32[($9 + 24 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + label$14 : { + if (!((HEAP32[($9 + 20 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$14 + } + HEAP32[($9 + 16 | 0) >> 2] = HEAP32[($9 + 20 | 0) >> 2] | 0; + label$15 : while (1) { + label$16 : { + if (!((HEAP32[((HEAP32[($9 + 16 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0)) { + break label$16 + } + btAlignedObjectArray_int___push_back_28int_20const__29($11 + 40 | 0 | 0, (HEAP32[($9 + 16 | 0) >> 2] | 0) + 20 | 0 | 0); + HEAP32[($9 + 12 | 0) >> 2] = HEAP32[($9 + 16 | 0) >> 2] | 0; + label$17 : while (1) { + HEAP32[((HEAP32[($9 + 12 | 0) >> 2] | 0) + 20 | 0) >> 2] = -1; + HEAP32[($9 + 12 | 0) >> 2] = HEAP32[((HEAP32[((HEAP32[($9 + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + if ((HEAP32[($9 + 12 | 0) >> 2] | 0 | 0) != (HEAP32[($9 + 16 | 0) >> 2] | 0 | 0) & 1 | 0) { + continue label$17 + } + break label$17; + }; + } + HEAP32[($9 + 16 | 0) >> 2] = HEAP32[(HEAP32[($9 + 16 | 0) >> 2] | 0) >> 2] | 0; + if ((HEAP32[($9 + 16 | 0) >> 2] | 0 | 0) != (HEAP32[($9 + 20 | 0) >> 2] | 0 | 0) & 1 | 0) { + continue label$15 + } + break label$15; + }; + } + HEAP32[($9 + 28 | 0) >> 2] = (HEAP32[($9 + 28 | 0) >> 2] | 0) + 1 | 0; + continue label$13; + }; + } + HEAPF32[($9 + 332 | 0) >> 2] = Math_fround(HEAPF32[($9 + 172 | 0) >> 2]); + HEAP32[($9 + 168 | 0) >> 2] = 1; + btAlignedObjectArray_btConvexHullInternal__Vertex_____btAlignedObjectArray_28_29($9 + 112 | 0 | 0) | 0; + } + btConvexHullInternal___btConvexHullInternal_28_29($9 + 176 | 0 | 0) | 0; + } + $300 = Math_fround(HEAPF32[($9 + 332 | 0) >> 2]); + __stack_pointer = $9 + 336 | 0; + return Math_fround($300); + } + + function btConvexHullInternal__btConvexHullInternal_28_29($0) { + $0 = $0 | 0; + var $4 = 0, $3 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + btVector3__btVector3_28_29($4 | 0) | 0; + btVector3__btVector3_28_29($4 + 16 | 0 | 0) | 0; + btConvexHullInternal__Pool_btConvexHullInternal__Vertex___Pool_28_29($4 + 32 | 0 | 0) | 0; + btConvexHullInternal__Pool_btConvexHullInternal__Edge___Pool_28_29($4 + 48 | 0 | 0) | 0; + btConvexHullInternal__Pool_btConvexHullInternal__Face___Pool_28_29($4 + 64 | 0 | 0) | 0; + btAlignedObjectArray_btConvexHullInternal__Vertex____btAlignedObjectArray_28_29($4 + 80 | 0 | 0) | 0; + __stack_pointer = $3 + 16 | 0; + return $4 | 0; + } + + function btAlignedObjectArray_btConvexHullComputer__Edge___resize_28int_2c_20btConvexHullComputer__Edge_20const__29($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $5 = 0, i64toi32_i32$0 = 0, $6 = 0, $47 = 0, $49 = 0, i64toi32_i32$1 = 0, $166 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5 = __stack_pointer - 32 | 0; + __stack_pointer = $5; + HEAP32[($5 + 28 | 0) >> 2] = $0; + HEAP32[($5 + 24 | 0) >> 2] = $1; + HEAP32[($5 + 20 | 0) >> 2] = $2; + $6 = HEAP32[($5 + 28 | 0) >> 2] | 0; + (wasm2js_i32$0 = $5, wasm2js_i32$1 = btAlignedObjectArray_btConvexHullComputer__Edge___size_28_29_20const($6 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + label$2 : { + if (!((HEAP32[($5 + 24 | 0) >> 2] | 0 | 0) < (HEAP32[($5 + 16 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($5 + 12 | 0) >> 2] = HEAP32[($5 + 24 | 0) >> 2] | 0; + label$3 : { + label$4 : while (1) { + if (!((HEAP32[($5 + 12 | 0) >> 2] | 0 | 0) < (HEAP32[($5 + 16 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$3 + } + HEAP32[($5 + 12 | 0) >> 2] = (HEAP32[($5 + 12 | 0) >> 2] | 0) + 1 | 0; + continue label$4; + }; + } + break label$1; + } + label$5 : { + if (!((HEAP32[($5 + 24 | 0) >> 2] | 0 | 0) > (HEAP32[($5 + 16 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$5 + } + btAlignedObjectArray_btConvexHullComputer__Edge___reserve_28int_29($6 | 0, HEAP32[($5 + 24 | 0) >> 2] | 0 | 0); + } + HEAP32[($5 + 8 | 0) >> 2] = HEAP32[($5 + 16 | 0) >> 2] | 0; + label$6 : { + label$7 : while (1) { + if (!((HEAP32[($5 + 8 | 0) >> 2] | 0 | 0) < (HEAP32[($5 + 24 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$6 + } + $47 = HEAP32[($5 + 20 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[$47 >> 2] | 0; + i64toi32_i32$1 = HEAP32[($47 + 4 | 0) >> 2] | 0; + $166 = i64toi32_i32$0; + i64toi32_i32$0 = (HEAP32[($6 + 12 | 0) >> 2] | 0) + Math_imul(HEAP32[($5 + 8 | 0) >> 2] | 0, 12) | 0; + HEAP32[i64toi32_i32$0 >> 2] = $166; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $49 = 8; + HEAP32[(i64toi32_i32$0 + $49 | 0) >> 2] = HEAP32[($47 + $49 | 0) >> 2] | 0; + HEAP32[($5 + 8 | 0) >> 2] = (HEAP32[($5 + 8 | 0) >> 2] | 0) + 1 | 0; + continue label$7; + }; + } + } + HEAP32[($6 + 4 | 0) >> 2] = HEAP32[($5 + 24 | 0) >> 2] | 0; + __stack_pointer = $5 + 32 | 0; + return; + } + + function getVertexCopy_28btConvexHullInternal__Vertex__2c_20btAlignedObjectArray_btConvexHullInternal__Vertex____29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, $22 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + HEAP32[($4 + 4 | 0) >> 2] = HEAP32[((HEAP32[($4 + 12 | 0) >> 2] | 0) + 104 | 0) >> 2] | 0; + label$1 : { + if (!((HEAP32[($4 + 4 | 0) >> 2] | 0 | 0) < (0 | 0) & 1 | 0)) { + break label$1 + } + (wasm2js_i32$0 = $4, wasm2js_i32$1 = btAlignedObjectArray_btConvexHullInternal__Vertex____size_28_29_20const(HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + HEAP32[((HEAP32[($4 + 12 | 0) >> 2] | 0) + 104 | 0) >> 2] = HEAP32[($4 + 4 | 0) >> 2] | 0; + btAlignedObjectArray_btConvexHullInternal__Vertex____push_back_28btConvexHullInternal__Vertex__20const__29(HEAP32[($4 + 8 | 0) >> 2] | 0 | 0, $4 + 12 | 0 | 0); + } + $22 = HEAP32[($4 + 4 | 0) >> 2] | 0; + __stack_pointer = $4 + 16 | 0; + return $22 | 0; + } + + function btAlignedObjectArray_btConvexHullComputer__Edge___push_back_28btConvexHullComputer__Edge_20const__29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $5 = 0, $4 = 0, i64toi32_i32$0 = 0, $21 = 0, $23 = 0, i64toi32_i32$1 = 0, $83 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; + (wasm2js_i32$0 = $4, wasm2js_i32$1 = btAlignedObjectArray_btConvexHullComputer__Edge___size_28_29_20const($5 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + if (!((HEAP32[($4 + 4 | 0) >> 2] | 0 | 0) == (btAlignedObjectArray_btConvexHullComputer__Edge___capacity_28_29_20const($5 | 0) | 0 | 0) & 1 | 0)) { + break label$1 + } + btAlignedObjectArray_btConvexHullComputer__Edge___reserve_28int_29($5 | 0, btAlignedObjectArray_btConvexHullComputer__Edge___allocSize_28int_29($5 | 0, btAlignedObjectArray_btConvexHullComputer__Edge___size_28_29_20const($5 | 0) | 0 | 0) | 0 | 0); + } + $21 = HEAP32[($4 + 8 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[$21 >> 2] | 0; + i64toi32_i32$1 = HEAP32[($21 + 4 | 0) >> 2] | 0; + $83 = i64toi32_i32$0; + i64toi32_i32$0 = (HEAP32[($5 + 12 | 0) >> 2] | 0) + Math_imul(HEAP32[($5 + 4 | 0) >> 2] | 0, 12) | 0; + HEAP32[i64toi32_i32$0 >> 2] = $83; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $23 = 8; + HEAP32[(i64toi32_i32$0 + $23 | 0) >> 2] = HEAP32[($21 + $23 | 0) >> 2] | 0; + HEAP32[($5 + 4 | 0) >> 2] = (HEAP32[($5 + 4 | 0) >> 2] | 0) + 1 | 0; + __stack_pointer = $4 + 16 | 0; + return; + } + + function btConvexHullInternal___btConvexHullInternal_28_29($0) { + $0 = $0 | 0; + var $4 = 0, $3 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + btAlignedObjectArray_btConvexHullInternal__Vertex_____btAlignedObjectArray_28_29($4 + 80 | 0 | 0) | 0; + btConvexHullInternal__Pool_btConvexHullInternal__Face____Pool_28_29($4 + 64 | 0 | 0) | 0; + btConvexHullInternal__Pool_btConvexHullInternal__Edge____Pool_28_29($4 + 48 | 0 | 0) | 0; + btConvexHullInternal__Pool_btConvexHullInternal__Vertex____Pool_28_29($4 + 32 | 0 | 0) | 0; + __stack_pointer = $3 + 16 | 0; + return $4 | 0; + } + + function btConvexHullInternal__Pool_btConvexHullInternal__Vertex___Pool_28_29($0) { + $0 = $0 | 0; + var $4 = 0, $3 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + HEAP32[$4 >> 2] = 0; + HEAP32[($4 + 4 | 0) >> 2] = 0; + HEAP32[($4 + 8 | 0) >> 2] = 0; + HEAP32[($4 + 12 | 0) >> 2] = 256; + return $4 | 0; + } + + function btConvexHullInternal__Pool_btConvexHullInternal__Edge___Pool_28_29($0) { + $0 = $0 | 0; + var $4 = 0, $3 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + HEAP32[$4 >> 2] = 0; + HEAP32[($4 + 4 | 0) >> 2] = 0; + HEAP32[($4 + 8 | 0) >> 2] = 0; + HEAP32[($4 + 12 | 0) >> 2] = 256; + return $4 | 0; + } + + function btConvexHullInternal__Pool_btConvexHullInternal__Face___Pool_28_29($0) { + $0 = $0 | 0; + var $4 = 0, $3 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + HEAP32[$4 >> 2] = 0; + HEAP32[($4 + 4 | 0) >> 2] = 0; + HEAP32[($4 + 8 | 0) >> 2] = 0; + HEAP32[($4 + 12 | 0) >> 2] = 256; + return $4 | 0; + } + + function btAlignedObjectArray_btConvexHullComputer__Edge___reserve_28int_29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, $5 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; + label$1 : { + if (!((btAlignedObjectArray_btConvexHullComputer__Edge___capacity_28_29_20const($5 | 0) | 0 | 0) < (HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$1 + } + (wasm2js_i32$0 = $4, wasm2js_i32$1 = btAlignedObjectArray_btConvexHullComputer__Edge___allocate_28int_29($5 | 0, HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + btAlignedObjectArray_btConvexHullComputer__Edge___copy_28int_2c_20int_2c_20btConvexHullComputer__Edge__29_20const($5 | 0, 0 | 0, btAlignedObjectArray_btConvexHullComputer__Edge___size_28_29_20const($5 | 0) | 0 | 0, HEAP32[($4 + 4 | 0) >> 2] | 0 | 0); + btAlignedObjectArray_btConvexHullComputer__Edge___destroy_28int_2c_20int_29($5 | 0, 0 | 0, btAlignedObjectArray_btConvexHullComputer__Edge___size_28_29_20const($5 | 0) | 0 | 0); + btAlignedObjectArray_btConvexHullComputer__Edge___deallocate_28_29($5 | 0); + HEAP8[($5 + 16 | 0) >> 0] = 1; + HEAP32[($5 + 12 | 0) >> 2] = HEAP32[($4 + 4 | 0) >> 2] | 0; + HEAP32[($5 + 8 | 0) >> 2] = HEAP32[($4 + 8 | 0) >> 2] | 0; + } + __stack_pointer = $4 + 16 | 0; + return; + } + + function btAlignedObjectArray_btConvexHullComputer__Edge___capacity_28_29_20const($0) { + $0 = $0 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + return HEAP32[((HEAP32[($3 + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0; + } + + function btAlignedObjectArray_btConvexHullComputer__Edge___allocSize_28int_29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, $9 = 0; + $4 = __stack_pointer - 16 | 0; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + label$1 : { + label$2 : { + if (!(HEAP32[($4 + 8 | 0) >> 2] | 0)) { + break label$2 + } + $9 = (HEAP32[($4 + 8 | 0) >> 2] | 0) << 1 | 0; + break label$1; + } + $9 = 1; + } + return $9 | 0; + } + + function btConvexHullInternal__Pool_btConvexHullInternal__Face____Pool_28_29($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0, $17 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 8 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 8 | 0) >> 2] | 0; + HEAP32[($3 + 12 | 0) >> 2] = $4; + label$1 : { + label$2 : while (1) { + if (!((HEAP32[$4 >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + HEAP32[($3 + 4 | 0) >> 2] = HEAP32[$4 >> 2] | 0; + HEAP32[$4 >> 2] = HEAP32[((HEAP32[($3 + 4 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + btConvexHullInternal__PoolArray_btConvexHullInternal__Face____PoolArray_28_29(HEAP32[($3 + 4 | 0) >> 2] | 0 | 0) | 0; + btAlignedFreeInternal_28void__29(HEAP32[($3 + 4 | 0) >> 2] | 0 | 0); + continue label$2; + }; + } + $17 = HEAP32[($3 + 12 | 0) >> 2] | 0; + __stack_pointer = $3 + 16 | 0; + return $17 | 0; + } + + function btConvexHullInternal__Pool_btConvexHullInternal__Edge____Pool_28_29($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0, $17 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 8 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 8 | 0) >> 2] | 0; + HEAP32[($3 + 12 | 0) >> 2] = $4; + label$1 : { + label$2 : while (1) { + if (!((HEAP32[$4 >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + HEAP32[($3 + 4 | 0) >> 2] = HEAP32[$4 >> 2] | 0; + HEAP32[$4 >> 2] = HEAP32[((HEAP32[($3 + 4 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + btConvexHullInternal__PoolArray_btConvexHullInternal__Edge____PoolArray_28_29(HEAP32[($3 + 4 | 0) >> 2] | 0 | 0) | 0; + btAlignedFreeInternal_28void__29(HEAP32[($3 + 4 | 0) >> 2] | 0 | 0); + continue label$2; + }; + } + $17 = HEAP32[($3 + 12 | 0) >> 2] | 0; + __stack_pointer = $3 + 16 | 0; + return $17 | 0; + } + + function btConvexHullInternal__Pool_btConvexHullInternal__Vertex____Pool_28_29($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0, $17 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 8 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 8 | 0) >> 2] | 0; + HEAP32[($3 + 12 | 0) >> 2] = $4; + label$1 : { + label$2 : while (1) { + if (!((HEAP32[$4 >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + HEAP32[($3 + 4 | 0) >> 2] = HEAP32[$4 >> 2] | 0; + HEAP32[$4 >> 2] = HEAP32[((HEAP32[($3 + 4 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + btConvexHullInternal__PoolArray_btConvexHullInternal__Vertex____PoolArray_28_29(HEAP32[($3 + 4 | 0) >> 2] | 0 | 0) | 0; + btAlignedFreeInternal_28void__29(HEAP32[($3 + 4 | 0) >> 2] | 0 | 0); + continue label$2; + }; + } + $17 = HEAP32[($3 + 12 | 0) >> 2] | 0; + __stack_pointer = $3 + 16 | 0; + return $17 | 0; + } + + function btConvexHullInternal__Edge___Edge_28_29($0) { + $0 = $0 | 0; + var $4 = 0, $3 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + HEAP32[$4 >> 2] = 0; + HEAP32[($4 + 4 | 0) >> 2] = 0; + HEAP32[($4 + 8 | 0) >> 2] = 0; + HEAP32[($4 + 12 | 0) >> 2] = 0; + HEAP32[($4 + 16 | 0) >> 2] = 0; + return $4 | 0; + } + + function btConvexHullInternal__PoolArray_btConvexHullInternal__Face____PoolArray_28_29($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + btAlignedFreeInternal_28void__29(HEAP32[$4 >> 2] | 0 | 0); + __stack_pointer = $3 + 16 | 0; + return $4 | 0; + } + + function btConvexHullInternal__PoolArray_btConvexHullInternal__Edge____PoolArray_28_29($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + btAlignedFreeInternal_28void__29(HEAP32[$4 >> 2] | 0 | 0); + __stack_pointer = $3 + 16 | 0; + return $4 | 0; + } + + function btConvexHullInternal__PoolArray_btConvexHullInternal__Vertex____PoolArray_28_29($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + btAlignedFreeInternal_28void__29(HEAP32[$4 >> 2] | 0 | 0); + __stack_pointer = $3 + 16 | 0; + return $4 | 0; + } + + function btAlignedObjectArray_btConvexHullInternal__Point32___capacity_28_29_20const($0) { + $0 = $0 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + return HEAP32[((HEAP32[($3 + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0; + } + + function btAlignedObjectArray_btConvexHullInternal__Point32___allocate_28int_29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, $5 = 0, $11 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[($4 + 8 | 0) >> 2] = $0; + HEAP32[($4 + 4 | 0) >> 2] = $1; + $5 = HEAP32[($4 + 8 | 0) >> 2] | 0; + label$1 : { + label$2 : { + if (!(HEAP32[($4 + 4 | 0) >> 2] | 0)) { + break label$2 + } + (wasm2js_i32$0 = $4, wasm2js_i32$1 = btAlignedAllocator_btConvexHullInternal__Point32_2c_2016u___allocate_28int_2c_20btConvexHullInternal__Point32_20const___29($5 | 0, HEAP32[($4 + 4 | 0) >> 2] | 0 | 0, 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + break label$1; + } + HEAP32[($4 + 12 | 0) >> 2] = 0; + } + $11 = HEAP32[($4 + 12 | 0) >> 2] | 0; + __stack_pointer = $4 + 16 | 0; + return $11 | 0; + } + + function btAlignedObjectArray_btConvexHullInternal__Point32___copy_28int_2c_20int_2c_20btConvexHullInternal__Point32__29_20const($0, $1, $2, $3) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + var $6 = 0, i64toi32_i32$2 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $20 = 0, $27 = 0, $7 = 0, $89 = 0, $99 = 0; + $6 = __stack_pointer - 32 | 0; + HEAP32[($6 + 28 | 0) >> 2] = $0; + HEAP32[($6 + 24 | 0) >> 2] = $1; + HEAP32[($6 + 20 | 0) >> 2] = $2; + HEAP32[($6 + 16 | 0) >> 2] = $3; + $7 = HEAP32[($6 + 28 | 0) >> 2] | 0; + HEAP32[($6 + 12 | 0) >> 2] = HEAP32[($6 + 24 | 0) >> 2] | 0; + label$1 : { + label$2 : while (1) { + if (!((HEAP32[($6 + 12 | 0) >> 2] | 0 | 0) < (HEAP32[($6 + 20 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$1 + } + $20 = (HEAP32[($6 + 16 | 0) >> 2] | 0) + ((HEAP32[($6 + 12 | 0) >> 2] | 0) << 4 | 0) | 0; + i64toi32_i32$2 = (HEAP32[($7 + 12 | 0) >> 2] | 0) + ((HEAP32[($6 + 12 | 0) >> 2] | 0) << 4 | 0) | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $89 = i64toi32_i32$0; + i64toi32_i32$0 = $20; + HEAP32[i64toi32_i32$0 >> 2] = $89; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $27 = 8; + i64toi32_i32$2 = i64toi32_i32$2 + $27 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $99 = i64toi32_i32$1; + i64toi32_i32$1 = $20 + $27 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $99; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($6 + 12 | 0) >> 2] = (HEAP32[($6 + 12 | 0) >> 2] | 0) + 1 | 0; + continue label$2; + }; + } + return; + } + + function btAlignedAllocator_btConvexHullInternal__Point32_2c_2016u___allocate_28int_2c_20btConvexHullInternal__Point32_20const___29($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $5 = 0, $10 = 0; + $5 = __stack_pointer - 16 | 0; + __stack_pointer = $5; + HEAP32[($5 + 12 | 0) >> 2] = $0; + HEAP32[($5 + 8 | 0) >> 2] = $1; + HEAP32[($5 + 4 | 0) >> 2] = $2; + $10 = btAlignedAllocInternal_28unsigned_20long_2c_20int_29((HEAP32[($5 + 8 | 0) >> 2] | 0) << 4 | 0 | 0, 16 | 0) | 0; + __stack_pointer = $5 + 16 | 0; + return $10 | 0; + } + + function btAlignedAllocator_btConvexHullInternal__Point32_2c_2016u___deallocate_28btConvexHullInternal__Point32__29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0; + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + btAlignedFreeInternal_28void__29(HEAP32[($4 + 8 | 0) >> 2] | 0 | 0); + __stack_pointer = $4 + 16 | 0; + return; + } + + function pointCmp__operator_28_29_28btConvexHullInternal__Point32_20const__2c_20btConvexHullInternal__Point32_20const__29_20const($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $5 = 0, $16 = 0, $27 = 0, $38 = 0, $49 = 0; + $5 = __stack_pointer - 16 | 0; + HEAP32[($5 + 12 | 0) >> 2] = $0; + HEAP32[($5 + 8 | 0) >> 2] = $1; + HEAP32[($5 + 4 | 0) >> 2] = $2; + $16 = 1; + label$1 : { + if ((HEAP32[((HEAP32[($5 + 8 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($5 + 4 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) & 1 | 0) { + break label$1 + } + $27 = 0; + label$2 : { + if (!((HEAP32[((HEAP32[($5 + 8 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) == (HEAP32[((HEAP32[($5 + 4 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$2 + } + $38 = 1; + label$3 : { + if ((HEAP32[(HEAP32[($5 + 8 | 0) >> 2] | 0) >> 2] | 0 | 0) < (HEAP32[(HEAP32[($5 + 4 | 0) >> 2] | 0) >> 2] | 0 | 0) & 1 | 0) { + break label$3 + } + $49 = 0; + label$4 : { + if (!((HEAP32[(HEAP32[($5 + 8 | 0) >> 2] | 0) >> 2] | 0 | 0) == (HEAP32[(HEAP32[($5 + 4 | 0) >> 2] | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$4 + } + $49 = (HEAP32[((HEAP32[($5 + 8 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($5 + 4 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0); + } + $38 = $49; + } + $27 = $38; + } + $16 = $27; + } + return $16 & 1 | 0 | 0; + } + + function btAlignedObjectArray_btConvexHullInternal__Point32___swap_28int_2c_20int_29($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, $5 = 0, $6 = 0, $11 = 0, $12 = 0, $26 = 0, $28 = 0, $36 = 0, $38 = 0, $73 = 0, $77 = 0, $101 = 0, $111 = 0, $125 = 0, $135 = 0; + $5 = __stack_pointer - 32 | 0; + HEAP32[($5 + 28 | 0) >> 2] = $0; + HEAP32[($5 + 24 | 0) >> 2] = $1; + HEAP32[($5 + 20 | 0) >> 2] = $2; + $6 = HEAP32[($5 + 28 | 0) >> 2] | 0; + $11 = (HEAP32[($6 + 12 | 0) >> 2] | 0) + ((HEAP32[($5 + 24 | 0) >> 2] | 0) << 4 | 0) | 0; + $12 = 8; + i64toi32_i32$2 = $11 + $12 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $73 = i64toi32_i32$0; + i64toi32_i32$0 = $5 + $12 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $73; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$2 = $11; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $77 = i64toi32_i32$1; + i64toi32_i32$1 = $5; + HEAP32[i64toi32_i32$1 >> 2] = $77; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + $26 = (HEAP32[($6 + 12 | 0) >> 2] | 0) + ((HEAP32[(i64toi32_i32$1 + 24 | 0) >> 2] | 0) << 4 | 0) | 0; + i64toi32_i32$2 = (HEAP32[($6 + 12 | 0) >> 2] | 0) + ((HEAP32[(i64toi32_i32$1 + 20 | 0) >> 2] | 0) << 4 | 0) | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $101 = i64toi32_i32$0; + i64toi32_i32$0 = $26; + HEAP32[i64toi32_i32$0 >> 2] = $101; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $28 = 8; + i64toi32_i32$2 = i64toi32_i32$2 + $28 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $111 = i64toi32_i32$1; + i64toi32_i32$1 = $26 + $28 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $111; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + $36 = (HEAP32[($6 + 12 | 0) >> 2] | 0) + ((HEAP32[($5 + 20 | 0) >> 2] | 0) << 4 | 0) | 0; + i64toi32_i32$2 = $5; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $125 = i64toi32_i32$0; + i64toi32_i32$0 = $36; + HEAP32[i64toi32_i32$0 >> 2] = $125; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $38 = 8; + i64toi32_i32$2 = i64toi32_i32$2 + $38 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $135 = i64toi32_i32$1; + i64toi32_i32$1 = $36 + $38 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $135; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + return; + } + + function btAlignedObjectArray_btConvexHullInternal__Vertex____allocate_28int_29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, $5 = 0, $11 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[($4 + 8 | 0) >> 2] = $0; + HEAP32[($4 + 4 | 0) >> 2] = $1; + $5 = HEAP32[($4 + 8 | 0) >> 2] | 0; + label$1 : { + label$2 : { + if (!(HEAP32[($4 + 4 | 0) >> 2] | 0)) { + break label$2 + } + (wasm2js_i32$0 = $4, wasm2js_i32$1 = btAlignedAllocator_btConvexHullInternal__Vertex__2c_2016u___allocate_28int_2c_20btConvexHullInternal__Vertex__20const___29($5 | 0, HEAP32[($4 + 4 | 0) >> 2] | 0 | 0, 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + break label$1; + } + HEAP32[($4 + 12 | 0) >> 2] = 0; + } + $11 = HEAP32[($4 + 12 | 0) >> 2] | 0; + __stack_pointer = $4 + 16 | 0; + return $11 | 0; + } + + function btAlignedObjectArray_btConvexHullInternal__Vertex____destroy_28int_2c_20int_29($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $5 = 0; + $5 = __stack_pointer - 16 | 0; + HEAP32[($5 + 12 | 0) >> 2] = $0; + HEAP32[($5 + 8 | 0) >> 2] = $1; + HEAP32[($5 + 4 | 0) >> 2] = $2; + HEAP32[($5 + 12 | 0) >> 2] | 0; + HEAP32[$5 >> 2] = HEAP32[($5 + 8 | 0) >> 2] | 0; + label$1 : { + label$2 : while (1) { + if (!((HEAP32[$5 >> 2] | 0 | 0) < (HEAP32[($5 + 4 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$1 + } + HEAP32[$5 >> 2] = (HEAP32[$5 >> 2] | 0) + 1 | 0; + continue label$2; + }; + } + return; + } + + function btAlignedObjectArray_btConvexHullInternal__Vertex____deallocate_28_29($0) { + $0 = $0 | 0; + var $4 = 0, $3 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + label$1 : { + if (!((HEAP32[($4 + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + label$2 : { + if (!((HEAPU8[($4 + 16 | 0) >> 0] | 0) & 1 | 0)) { + break label$2 + } + btAlignedAllocator_btConvexHullInternal__Vertex__2c_2016u___deallocate_28btConvexHullInternal__Vertex___29($4 | 0, HEAP32[($4 + 12 | 0) >> 2] | 0 | 0); + } + HEAP32[($4 + 12 | 0) >> 2] = 0; + } + __stack_pointer = $3 + 16 | 0; + return; + } + + function btAlignedAllocator_btConvexHullInternal__Vertex__2c_2016u___allocate_28int_2c_20btConvexHullInternal__Vertex__20const___29($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $5 = 0, $10 = 0; + $5 = __stack_pointer - 16 | 0; + __stack_pointer = $5; + HEAP32[($5 + 12 | 0) >> 2] = $0; + HEAP32[($5 + 8 | 0) >> 2] = $1; + HEAP32[($5 + 4 | 0) >> 2] = $2; + $10 = btAlignedAllocInternal_28unsigned_20long_2c_20int_29((HEAP32[($5 + 8 | 0) >> 2] | 0) << 2 | 0 | 0, 16 | 0) | 0; + __stack_pointer = $5 + 16 | 0; + return $10 | 0; + } + + function btAlignedAllocator_btConvexHullInternal__Vertex__2c_2016u___deallocate_28btConvexHullInternal__Vertex___29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0; + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + btAlignedFreeInternal_28void__29(HEAP32[($4 + 8 | 0) >> 2] | 0 | 0); + __stack_pointer = $4 + 16 | 0; + return; + } + + function btConvexHullInternal__PointR128__PointR128_28_29($0) { + $0 = $0 | 0; + var $4 = 0, $3 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + btConvexHullInternal__Int128__Int128_28_29($4 | 0) | 0; + btConvexHullInternal__Int128__Int128_28_29($4 + 16 | 0 | 0) | 0; + btConvexHullInternal__Int128__Int128_28_29($4 + 32 | 0 | 0) | 0; + btConvexHullInternal__Int128__Int128_28_29($4 + 48 | 0 | 0) | 0; + __stack_pointer = $3 + 16 | 0; + return $4 | 0; + } + + function btAlignedObjectArray_btConvexHullInternal__Face____destroy_28int_2c_20int_29($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $5 = 0; + $5 = __stack_pointer - 16 | 0; + HEAP32[($5 + 12 | 0) >> 2] = $0; + HEAP32[($5 + 8 | 0) >> 2] = $1; + HEAP32[($5 + 4 | 0) >> 2] = $2; + HEAP32[($5 + 12 | 0) >> 2] | 0; + HEAP32[$5 >> 2] = HEAP32[($5 + 8 | 0) >> 2] | 0; + label$1 : { + label$2 : while (1) { + if (!((HEAP32[$5 >> 2] | 0 | 0) < (HEAP32[($5 + 4 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$1 + } + HEAP32[$5 >> 2] = (HEAP32[$5 >> 2] | 0) + 1 | 0; + continue label$2; + }; + } + return; + } + + function btAlignedObjectArray_btConvexHullInternal__Face____deallocate_28_29($0) { + $0 = $0 | 0; + var $4 = 0, $3 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + label$1 : { + if (!((HEAP32[($4 + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + label$2 : { + if (!((HEAPU8[($4 + 16 | 0) >> 0] | 0) & 1 | 0)) { + break label$2 + } + btAlignedAllocator_btConvexHullInternal__Face__2c_2016u___deallocate_28btConvexHullInternal__Face___29($4 | 0, HEAP32[($4 + 12 | 0) >> 2] | 0 | 0); + } + HEAP32[($4 + 12 | 0) >> 2] = 0; + } + __stack_pointer = $3 + 16 | 0; + return; + } + + function btAlignedAllocator_btConvexHullInternal__Face__2c_2016u___deallocate_28btConvexHullInternal__Face___29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0; + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + btAlignedFreeInternal_28void__29(HEAP32[($4 + 8 | 0) >> 2] | 0 | 0); + __stack_pointer = $4 + 16 | 0; + return; + } + + function btAlignedObjectArray_btConvexHullInternal__Face____allocate_28int_29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, $5 = 0, $11 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[($4 + 8 | 0) >> 2] = $0; + HEAP32[($4 + 4 | 0) >> 2] = $1; + $5 = HEAP32[($4 + 8 | 0) >> 2] | 0; + label$1 : { + label$2 : { + if (!(HEAP32[($4 + 4 | 0) >> 2] | 0)) { + break label$2 + } + (wasm2js_i32$0 = $4, wasm2js_i32$1 = btAlignedAllocator_btConvexHullInternal__Face__2c_2016u___allocate_28int_2c_20btConvexHullInternal__Face__20const___29($5 | 0, HEAP32[($4 + 4 | 0) >> 2] | 0 | 0, 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + break label$1; + } + HEAP32[($4 + 12 | 0) >> 2] = 0; + } + $11 = HEAP32[($4 + 12 | 0) >> 2] | 0; + __stack_pointer = $4 + 16 | 0; + return $11 | 0; + } + + function btAlignedObjectArray_btConvexHullInternal__Face____copy_28int_2c_20int_2c_20btConvexHullInternal__Face___29_20const($0, $1, $2, $3) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + var $6 = 0, $7 = 0; + $6 = __stack_pointer - 32 | 0; + HEAP32[($6 + 28 | 0) >> 2] = $0; + HEAP32[($6 + 24 | 0) >> 2] = $1; + HEAP32[($6 + 20 | 0) >> 2] = $2; + HEAP32[($6 + 16 | 0) >> 2] = $3; + $7 = HEAP32[($6 + 28 | 0) >> 2] | 0; + HEAP32[($6 + 12 | 0) >> 2] = HEAP32[($6 + 24 | 0) >> 2] | 0; + label$1 : { + label$2 : while (1) { + if (!((HEAP32[($6 + 12 | 0) >> 2] | 0 | 0) < (HEAP32[($6 + 20 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$1 + } + HEAP32[((HEAP32[($6 + 16 | 0) >> 2] | 0) + ((HEAP32[($6 + 12 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = HEAP32[((HEAP32[($7 + 12 | 0) >> 2] | 0) + ((HEAP32[($6 + 12 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; + HEAP32[($6 + 12 | 0) >> 2] = (HEAP32[($6 + 12 | 0) >> 2] | 0) + 1 | 0; + continue label$2; + }; + } + return; + } + + function btAlignedAllocator_btConvexHullInternal__Face__2c_2016u___allocate_28int_2c_20btConvexHullInternal__Face__20const___29($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $5 = 0, $10 = 0; + $5 = __stack_pointer - 16 | 0; + __stack_pointer = $5; + HEAP32[($5 + 12 | 0) >> 2] = $0; + HEAP32[($5 + 8 | 0) >> 2] = $1; + HEAP32[($5 + 4 | 0) >> 2] = $2; + $10 = btAlignedAllocInternal_28unsigned_20long_2c_20int_29((HEAP32[($5 + 8 | 0) >> 2] | 0) << 2 | 0 | 0, 16 | 0) | 0; + __stack_pointer = $5 + 16 | 0; + return $10 | 0; + } + + function btAlignedObjectArray_btConvexHullComputer__Edge___allocate_28int_29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, $5 = 0, $11 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[($4 + 8 | 0) >> 2] = $0; + HEAP32[($4 + 4 | 0) >> 2] = $1; + $5 = HEAP32[($4 + 8 | 0) >> 2] | 0; + label$1 : { + label$2 : { + if (!(HEAP32[($4 + 4 | 0) >> 2] | 0)) { + break label$2 + } + (wasm2js_i32$0 = $4, wasm2js_i32$1 = btAlignedAllocator_btConvexHullComputer__Edge_2c_2016u___allocate_28int_2c_20btConvexHullComputer__Edge_20const___29($5 | 0, HEAP32[($4 + 4 | 0) >> 2] | 0 | 0, 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + break label$1; + } + HEAP32[($4 + 12 | 0) >> 2] = 0; + } + $11 = HEAP32[($4 + 12 | 0) >> 2] | 0; + __stack_pointer = $4 + 16 | 0; + return $11 | 0; + } + + function btAlignedObjectArray_btConvexHullComputer__Edge___copy_28int_2c_20int_2c_20btConvexHullComputer__Edge__29_20const($0, $1, $2, $3) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + var $6 = 0, i64toi32_i32$0 = 0, $25 = 0, $27 = 0, $7 = 0, i64toi32_i32$1 = 0, $89 = 0; + $6 = __stack_pointer - 32 | 0; + HEAP32[($6 + 28 | 0) >> 2] = $0; + HEAP32[($6 + 24 | 0) >> 2] = $1; + HEAP32[($6 + 20 | 0) >> 2] = $2; + HEAP32[($6 + 16 | 0) >> 2] = $3; + $7 = HEAP32[($6 + 28 | 0) >> 2] | 0; + HEAP32[($6 + 12 | 0) >> 2] = HEAP32[($6 + 24 | 0) >> 2] | 0; + label$1 : { + label$2 : while (1) { + if (!((HEAP32[($6 + 12 | 0) >> 2] | 0 | 0) < (HEAP32[($6 + 20 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$1 + } + $25 = (HEAP32[($7 + 12 | 0) >> 2] | 0) + Math_imul(HEAP32[($6 + 12 | 0) >> 2] | 0, 12) | 0; + i64toi32_i32$0 = HEAP32[$25 >> 2] | 0; + i64toi32_i32$1 = HEAP32[($25 + 4 | 0) >> 2] | 0; + $89 = i64toi32_i32$0; + i64toi32_i32$0 = (HEAP32[($6 + 16 | 0) >> 2] | 0) + Math_imul(HEAP32[($6 + 12 | 0) >> 2] | 0, 12) | 0; + HEAP32[i64toi32_i32$0 >> 2] = $89; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $27 = 8; + HEAP32[(i64toi32_i32$0 + $27 | 0) >> 2] = HEAP32[($25 + $27 | 0) >> 2] | 0; + HEAP32[($6 + 12 | 0) >> 2] = (HEAP32[($6 + 12 | 0) >> 2] | 0) + 1 | 0; + continue label$2; + }; + } + return; + } + + function btAlignedAllocator_btConvexHullComputer__Edge_2c_2016u___allocate_28int_2c_20btConvexHullComputer__Edge_20const___29($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $5 = 0, $10 = 0; + $5 = __stack_pointer - 16 | 0; + __stack_pointer = $5; + HEAP32[($5 + 12 | 0) >> 2] = $0; + HEAP32[($5 + 8 | 0) >> 2] = $1; + HEAP32[($5 + 4 | 0) >> 2] = $2; + $10 = btAlignedAllocInternal_28unsigned_20long_2c_20int_29(Math_imul(HEAP32[($5 + 8 | 0) >> 2] | 0, 12) | 0, 16 | 0) | 0; + __stack_pointer = $5 + 16 | 0; + return $10 | 0; + } + + function _GLOBAL__sub_I_btConvexHullComputer_cpp() { + __cxx_global_var_init_45(); + return; + } + + function __cxx_global_var_init_46() { + btInfMaskConverter__btInfMaskConverter_28int_29(114172 | 0, 2139095040 | 0) | 0; + return; + } + + function btPolyhedralConvexShape__btPolyhedralConvexShape_28_29($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + btConvexInternalShape__btConvexInternalShape_28_29($4 | 0) | 0; + HEAP32[$4 >> 2] = 99444 + 8 | 0; + HEAP32[($4 + 60 | 0) >> 2] = 0; + __stack_pointer = $3 + 16 | 0; + return $4 | 0; + } + + function btPolyhedralConvexShape___btPolyhedralConvexShape_28_29($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0, $15 = 0, $19 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 8 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 8 | 0) >> 2] | 0; + HEAP32[($3 + 12 | 0) >> 2] = $4; + HEAP32[$4 >> 2] = 99444 + 8 | 0; + label$1 : { + if (!((HEAP32[($4 + 60 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + $15 = HEAP32[($4 + 60 | 0) >> 2] | 0; + FUNCTION_TABLE[HEAP32[(HEAP32[$15 >> 2] | 0) >> 2] | 0 | 0]($15) | 0; + btAlignedFreeInternal_28void__29(HEAP32[($4 + 60 | 0) >> 2] | 0 | 0); + } + btConvexInternalShape___btConvexInternalShape_28_29($4 | 0) | 0; + $19 = HEAP32[($3 + 12 | 0) >> 2] | 0; + __stack_pointer = $3 + 16 | 0; + return $19 | 0; + } + + function btPolyhedralConvexShape___btPolyhedralConvexShape_28_29_1($0) { + $0 = $0 | 0; + HEAP32[((__stack_pointer - 16 | 0) + 12 | 0) >> 2] = $0; + wasm2js_trap(); + } + + function btPolyhedralConvexShape__initializePolyhedralFeatures_28int_29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, $5 = 0, $191 = 0, $13 = 0, $22 = 0, $84 = 0, $85 = 0, $98 = 0, $134 = Math_fround(0), $159 = Math_fround(0), $235 = 0, $237 = 0, $266 = 0, $269 = 0, $270 = 0, $272 = 0, $293 = 0, $294 = 0, $303 = 0, $304 = 0, $330 = 0, $338 = 0, $340 = 0, $378 = 0, $380 = 0, $717 = 0, $718 = 0, $1265 = 0, $1269 = 0, $94 = Math_fround(0), $169 = 0, $185 = 0, $212 = 0, $213 = 0, $230 = 0, $1554 = 0, $1564 = 0, $268 = 0, $1691 = 0, $1695 = 0, $1715 = 0, $1719 = 0, $1773 = 0, $1786 = 0, $1850 = 0, $1863 = 0, $397 = Math_fround(0), $409 = Math_fround(0), $421 = Math_fround(0), $427 = Math_fround(0), $478 = Math_fround(0), $2521 = 0, $2525 = 0, $797 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0, wasm2js_f32$0 = Math_fround(0); + $4 = __stack_pointer - 848 | 0; + __stack_pointer = $4; + HEAP32[($4 + 844 | 0) >> 2] = $0; + HEAP32[($4 + 840 | 0) >> 2] = $1; + $5 = HEAP32[($4 + 844 | 0) >> 2] | 0; + label$1 : { + if (!((HEAP32[($5 + 60 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + $13 = HEAP32[($5 + 60 | 0) >> 2] | 0; + FUNCTION_TABLE[HEAP32[(HEAP32[$13 >> 2] | 0) >> 2] | 0 | 0]($13) | 0; + btAlignedFreeInternal_28void__29(HEAP32[($5 + 60 | 0) >> 2] | 0 | 0); + } + (wasm2js_i32$0 = $4, wasm2js_i32$1 = btAlignedAllocInternal_28unsigned_20long_2c_20int_29(132 | 0, 16 | 0) | 0), HEAP32[(wasm2js_i32$0 + 836 | 0) >> 2] = wasm2js_i32$1; + $22 = btConvexPolyhedron__operator_20new_28unsigned_20long_2c_20void__29(132 | 0, HEAP32[($4 + 836 | 0) >> 2] | 0 | 0) | 0; + btConvexPolyhedron__btConvexPolyhedron_28_29($22 | 0) | 0; + HEAP32[($5 + 60 | 0) >> 2] = $22; + btAlignedObjectArray_btVector3___btAlignedObjectArray_28_29($4 + 816 | 0 | 0) | 0; + HEAP32[($4 + 812 | 0) >> 2] = 0; + label$2 : { + label$3 : while (1) { + if (!((HEAP32[($4 + 812 | 0) >> 2] | 0 | 0) < (FUNCTION_TABLE[HEAP32[((HEAP32[$5 >> 2] | 0) + 96 | 0) >> 2] | 0 | 0]($5) | 0 | 0) & 1 | 0)) { + break label$2 + } + btVector3__btVector3_28_29($4 + 792 | 0 | 0) | 0; + (wasm2js_i32$0 = $4, wasm2js_i32$1 = btAlignedObjectArray_btVector3___expand_28btVector3_20const__29($4 + 816 | 0 | 0, $4 + 792 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 808 | 0) >> 2] = wasm2js_i32$1; + FUNCTION_TABLE[HEAP32[((HEAP32[$5 >> 2] | 0) + 108 | 0) >> 2] | 0 | 0]($5, HEAP32[($4 + 812 | 0) >> 2] | 0, HEAP32[($4 + 808 | 0) >> 2] | 0); + HEAP32[($4 + 812 | 0) >> 2] = (HEAP32[($4 + 812 | 0) >> 2] | 0) + 1 | 0; + continue label$3; + }; + } + btConvexHullComputer__btConvexHullComputer_28_29($4 + 732 | 0 | 0) | 0; + label$4 : { + label$5 : { + if (!(HEAP32[($4 + 840 | 0) >> 2] | 0)) { + break label$5 + } + btAlignedObjectArray_btVector3___btAlignedObjectArray_28_29($4 + 712 | 0 | 0) | 0; + btGeometryUtil__getPlaneEquationsFromVertices_28btAlignedObjectArray_btVector3___2c_20btAlignedObjectArray_btVector3___29($4 + 816 | 0 | 0, $4 + 712 | 0 | 0); + btAlignedObjectArray_btVector3___btAlignedObjectArray_28_29($4 + 692 | 0 | 0) | 0; + HEAP32[($4 + 688 | 0) >> 2] = 0; + label$6 : { + label$7 : while (1) { + if (!((HEAP32[($4 + 688 | 0) >> 2] | 0 | 0) < (btAlignedObjectArray_btVector3___size_28_29_20const($4 + 712 | 0 | 0) | 0 | 0) & 1 | 0)) { + break label$6 + } + $84 = btAlignedObjectArray_btVector3___operator_5b_5d_28int_29($4 + 712 | 0 | 0, HEAP32[($4 + 688 | 0) >> 2] | 0 | 0) | 0; + $85 = 8; + i64toi32_i32$2 = $84 + $85 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $1265 = i64toi32_i32$0; + i64toi32_i32$0 = ($4 + 672 | 0) + $85 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $1265; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$2 = $84; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $1269 = i64toi32_i32$1; + i64toi32_i32$1 = $4; + HEAP32[($4 + 672 | 0) >> 2] = $1269; + HEAP32[($4 + 676 | 0) >> 2] = i64toi32_i32$0; + $94 = Math_fround(FUNCTION_TABLE[HEAP32[((HEAP32[$5 >> 2] | 0) + 48 | 0) >> 2] | 0 | 0]($5)); + $98 = btVector3__operator_20float__28_29($4 + 672 | 0 | 0) | 0; + HEAPF32[($98 + 12 | 0) >> 2] = Math_fround(Math_fround(HEAPF32[($98 + 12 | 0) >> 2]) - $94); + btAlignedObjectArray_btVector3___push_back_28btVector3_20const__29($4 + 692 | 0 | 0, $4 + 672 | 0 | 0); + HEAP32[($4 + 688 | 0) >> 2] = (HEAP32[($4 + 688 | 0) >> 2] | 0) + 1 | 0; + continue label$7; + }; + } + btAlignedObjectArray_btVector3___btAlignedObjectArray_28_29($4 + 652 | 0 | 0) | 0; + btGeometryUtil__getVerticesFromPlaneEquations_28btAlignedObjectArray_btVector3__20const__2c_20btAlignedObjectArray_btVector3___29($4 + 692 | 0 | 0, $4 + 652 | 0 | 0); + $134 = Math_fround(0 | 0); + Math_fround(btConvexHullComputer__compute_28float_20const__2c_20int_2c_20int_2c_20float_2c_20float_29($4 + 732 | 0 | 0, btVector3__getX_28_29_20const(btAlignedObjectArray_btVector3___operator_5b_5d_28int_29($4 + 652 | 0 | 0, 0 | 0) | 0 | 0) | 0 | 0, 16 | 0, btAlignedObjectArray_btVector3___size_28_29_20const($4 + 652 | 0 | 0) | 0 | 0, Math_fround($134), Math_fround($134))); + btAlignedObjectArray_btVector3____btAlignedObjectArray_28_29($4 + 652 | 0 | 0) | 0; + btAlignedObjectArray_btVector3____btAlignedObjectArray_28_29($4 + 692 | 0 | 0) | 0; + btAlignedObjectArray_btVector3____btAlignedObjectArray_28_29($4 + 712 | 0 | 0) | 0; + break label$4; + } + $159 = Math_fround(0 | 0); + Math_fround(btConvexHullComputer__compute_28float_20const__2c_20int_2c_20int_2c_20float_2c_20float_29($4 + 732 | 0 | 0, btVector3__getX_28_29_20const(btAlignedObjectArray_btVector3___operator_5b_5d_28int_29($4 + 816 | 0 | 0, 0 | 0) | 0 | 0) | 0 | 0, 16 | 0, btAlignedObjectArray_btVector3___size_28_29_20const($4 + 816 | 0 | 0) | 0 | 0, Math_fround($159), Math_fround($159))); + } + btAlignedObjectArray_btVector3___btAlignedObjectArray_28_29($4 + 632 | 0 | 0) | 0; + (wasm2js_i32$0 = $4, wasm2js_i32$1 = btAlignedObjectArray_int___size_28_29_20const(($4 + 732 | 0) + 40 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 628 | 0) >> 2] = wasm2js_i32$1; + $169 = HEAP32[($4 + 628 | 0) >> 2] | 0; + btVector3__btVector3_28_29($4 + 612 | 0 | 0) | 0; + btAlignedObjectArray_btVector3___resize_28int_2c_20btVector3_20const__29($4 + 632 | 0 | 0, $169 | 0, $4 + 612 | 0 | 0); + HEAP32[($4 + 608 | 0) >> 2] = $4 + 732 | 0; + btAlignedObjectArray_btFace___btAlignedObjectArray_28_29($4 + 588 | 0 | 0) | 0; + $185 = HEAP32[($4 + 628 | 0) >> 2] | 0; + HEAP32[($4 + 584 | 0) >> 2] = 0; + i64toi32_i32$0 = 0; + $191 = 0; + i64toi32_i32$1 = $4 + 576 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $191; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $4 + 568 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $191; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $4 + 560 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $191; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $4; + HEAP32[($4 + 552 | 0) >> 2] = $191; + HEAP32[($4 + 556 | 0) >> 2] = i64toi32_i32$0; + btFace__btFace_28_29($4 + 552 | 0 | 0) | 0; + btAlignedObjectArray_btFace___resize_28int_2c_20btFace_20const__29($4 + 588 | 0 | 0, $185 | 0, $4 + 552 | 0 | 0); + btFace___btFace_28_29($4 + 552 | 0 | 0) | 0; + (wasm2js_i32$0 = $4, wasm2js_i32$1 = btAlignedObjectArray_btVector3___size_28_29_20const(HEAP32[($4 + 608 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 548 | 0) >> 2] = wasm2js_i32$1; + $212 = (HEAP32[($5 + 60 | 0) >> 2] | 0) + 4 | 0; + $213 = HEAP32[($4 + 548 | 0) >> 2] | 0; + btVector3__btVector3_28_29($4 + 532 | 0 | 0) | 0; + btAlignedObjectArray_btVector3___resize_28int_2c_20btVector3_20const__29($212 | 0, $213 | 0, $4 + 532 | 0 | 0); + HEAP32[($4 + 528 | 0) >> 2] = 0; + label$8 : { + label$9 : while (1) { + if (!((HEAP32[($4 + 528 | 0) >> 2] | 0 | 0) < (HEAP32[($4 + 548 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$8 + } + $230 = btAlignedObjectArray_btVector3___operator_5b_5d_28int_29(HEAP32[($4 + 608 | 0) >> 2] | 0 | 0, HEAP32[($4 + 528 | 0) >> 2] | 0 | 0) | 0; + $235 = btAlignedObjectArray_btVector3___operator_5b_5d_28int_29((HEAP32[($5 + 60 | 0) >> 2] | 0) + 4 | 0 | 0, HEAP32[($4 + 528 | 0) >> 2] | 0 | 0) | 0; + i64toi32_i32$2 = $230; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $1554 = i64toi32_i32$0; + i64toi32_i32$0 = $235; + HEAP32[i64toi32_i32$0 >> 2] = $1554; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $237 = 8; + i64toi32_i32$2 = i64toi32_i32$2 + $237 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $1564 = i64toi32_i32$1; + i64toi32_i32$1 = $235 + $237 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $1564; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($4 + 528 | 0) >> 2] = (HEAP32[($4 + 528 | 0) >> 2] | 0) + 1 | 0; + continue label$9; + }; + } + HEAP32[($4 + 524 | 0) >> 2] = 0; + label$10 : { + label$11 : while (1) { + if (!((HEAP32[($4 + 524 | 0) >> 2] | 0 | 0) < (HEAP32[($4 + 628 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$10 + } + (wasm2js_i32$0 = $4, wasm2js_i32$1 = HEAP32[(btAlignedObjectArray_int___operator_5b_5d_28int_29((HEAP32[($4 + 608 | 0) >> 2] | 0) + 40 | 0 | 0, HEAP32[($4 + 524 | 0) >> 2] | 0 | 0) | 0) >> 2] | 0), HEAP32[(wasm2js_i32$0 + 520 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $4, wasm2js_i32$1 = btAlignedObjectArray_btConvexHullComputer__Edge___operator_5b_5d_28int_29((HEAP32[($4 + 608 | 0) >> 2] | 0) + 20 | 0 | 0, HEAP32[($4 + 520 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 516 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($4 + 512 | 0) >> 2] = HEAP32[($4 + 516 | 0) >> 2] | 0; + $266 = $4 + 464 | 0; + $268 = $266 + 48 | 0; + $269 = $266; + label$12 : while (1) { + $270 = $269; + btVector3__btVector3_28_29($270 | 0) | 0; + $272 = $270 + 16 | 0; + $269 = $272; + if (!(($272 | 0) == ($268 | 0) & 1 | 0)) { + continue label$12 + } + break label$12; + }; + HEAP32[($4 + 460 | 0) >> 2] = 0; + label$13 : while (1) { + (wasm2js_i32$0 = $4, wasm2js_i32$1 = btConvexHullComputer__Edge__getSourceVertex_28_29_20const(HEAP32[($4 + 512 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 456 | 0) >> 2] = wasm2js_i32$1; + btAlignedObjectArray_int___push_back_28int_20const__29(btAlignedObjectArray_btFace___operator_5b_5d_28int_29($4 + 588 | 0 | 0, HEAP32[($4 + 524 | 0) >> 2] | 0 | 0) | 0 | 0, $4 + 456 | 0 | 0); + (wasm2js_i32$0 = $4, wasm2js_i32$1 = btConvexHullComputer__Edge__getTargetVertex_28_29_20const(HEAP32[($4 + 512 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 452 | 0) >> 2] = wasm2js_i32$1; + $293 = btAlignedObjectArray_btVector3___operator_5b_5d_28int_29(HEAP32[($4 + 608 | 0) >> 2] | 0 | 0, HEAP32[($4 + 456 | 0) >> 2] | 0 | 0) | 0; + $294 = 8; + i64toi32_i32$2 = $293 + $294 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $1691 = i64toi32_i32$0; + i64toi32_i32$0 = ($4 + 432 | 0) + $294 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $1691; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$2 = $293; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $1695 = i64toi32_i32$1; + i64toi32_i32$1 = $4; + HEAP32[($4 + 432 | 0) >> 2] = $1695; + HEAP32[($4 + 436 | 0) >> 2] = i64toi32_i32$0; + $303 = btAlignedObjectArray_btVector3___operator_5b_5d_28int_29(HEAP32[($4 + 608 | 0) >> 2] | 0 | 0, HEAP32[($4 + 452 | 0) >> 2] | 0 | 0) | 0; + $304 = 8; + i64toi32_i32$2 = $303 + $304 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $1715 = i64toi32_i32$0; + i64toi32_i32$0 = ($4 + 416 | 0) + $304 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $1715; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$2 = $303; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $1719 = i64toi32_i32$1; + i64toi32_i32$1 = $4; + HEAP32[($4 + 416 | 0) >> 2] = $1719; + HEAP32[($4 + 420 | 0) >> 2] = i64toi32_i32$0; + operator__28btVector3_20const__2c_20btVector3_20const__29($4 + 400 | 0 | 0, $4 + 416 | 0 | 0, $4 + 432 | 0 | 0); + btVector3__normalize_28_29($4 + 400 | 0 | 0) | 0; + label$14 : { + if (!((HEAP32[($4 + 460 | 0) >> 2] | 0 | 0) < (2 | 0) & 1 | 0)) { + break label$14 + } + $330 = HEAP32[($4 + 460 | 0) >> 2] | 0; + HEAP32[($4 + 460 | 0) >> 2] = $330 + 1 | 0; + $338 = ($4 + 464 | 0) + ($330 << 4 | 0) | 0; + i64toi32_i32$2 = $4; + i64toi32_i32$0 = HEAP32[($4 + 400 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($4 + 404 | 0) >> 2] | 0; + $1773 = i64toi32_i32$0; + i64toi32_i32$0 = $338; + HEAP32[i64toi32_i32$0 >> 2] = $1773; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $340 = 8; + i64toi32_i32$2 = ($4 + 400 | 0) + $340 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $1786 = i64toi32_i32$1; + i64toi32_i32$1 = $338 + $340 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $1786; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + } + (wasm2js_i32$0 = $4, wasm2js_i32$1 = btConvexHullComputer__Edge__getNextEdgeOfFace_28_29_20const(HEAP32[($4 + 512 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 512 | 0) >> 2] = wasm2js_i32$1; + if ((HEAP32[($4 + 512 | 0) >> 2] | 0 | 0) != (HEAP32[($4 + 516 | 0) >> 2] | 0 | 0) & 1 | 0) { + continue label$13 + } + break label$13; + }; + HEAPF32[($4 + 396 | 0) >> 2] = Math_fround(1000000015047466219876688.0e6); + label$15 : { + label$16 : { + if (!((HEAP32[($4 + 460 | 0) >> 2] | 0 | 0) == (2 | 0) & 1 | 0)) { + break label$16 + } + btVector3__cross_28btVector3_20const__29_20const($4 + 380 | 0 | 0, $4 + 464 | 0 | 0, ($4 + 464 | 0) + 16 | 0 | 0); + $378 = btAlignedObjectArray_btVector3___operator_5b_5d_28int_29($4 + 632 | 0 | 0, HEAP32[($4 + 524 | 0) >> 2] | 0 | 0) | 0; + i64toi32_i32$2 = $4; + i64toi32_i32$0 = HEAP32[($4 + 380 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($4 + 384 | 0) >> 2] | 0; + $1850 = i64toi32_i32$0; + i64toi32_i32$0 = $378; + HEAP32[i64toi32_i32$0 >> 2] = $1850; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $380 = 8; + i64toi32_i32$2 = ($4 + 380 | 0) + $380 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $1863 = i64toi32_i32$1; + i64toi32_i32$1 = $378 + $380 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $1863; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + btVector3__normalize_28_29(btAlignedObjectArray_btVector3___operator_5b_5d_28int_29($4 + 632 | 0 | 0, HEAP32[($4 + 524 | 0) >> 2] | 0 | 0) | 0 | 0) | 0; + $397 = Math_fround(HEAPF32[(btVector3__getX_28_29_20const(btAlignedObjectArray_btVector3___operator_5b_5d_28int_29($4 + 632 | 0 | 0, HEAP32[($4 + 524 | 0) >> 2] | 0 | 0) | 0 | 0) | 0) >> 2]); + (wasm2js_i32$0 = btAlignedObjectArray_btFace___operator_5b_5d_28int_29($4 + 588 | 0 | 0, HEAP32[($4 + 524 | 0) >> 2] | 0 | 0) | 0, wasm2js_f32$0 = $397), HEAPF32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_f32$0; + $409 = Math_fround(HEAPF32[(btVector3__getY_28_29_20const(btAlignedObjectArray_btVector3___operator_5b_5d_28int_29($4 + 632 | 0 | 0, HEAP32[($4 + 524 | 0) >> 2] | 0 | 0) | 0 | 0) | 0) >> 2]); + (wasm2js_i32$0 = btAlignedObjectArray_btFace___operator_5b_5d_28int_29($4 + 588 | 0 | 0, HEAP32[($4 + 524 | 0) >> 2] | 0 | 0) | 0, wasm2js_f32$0 = $409), HEAPF32[(wasm2js_i32$0 + 24 | 0) >> 2] = wasm2js_f32$0; + $421 = Math_fround(HEAPF32[(btVector3__getZ_28_29_20const(btAlignedObjectArray_btVector3___operator_5b_5d_28int_29($4 + 632 | 0 | 0, HEAP32[($4 + 524 | 0) >> 2] | 0 | 0) | 0 | 0) | 0) >> 2]); + (wasm2js_i32$0 = btAlignedObjectArray_btFace___operator_5b_5d_28int_29($4 + 588 | 0 | 0, HEAP32[($4 + 524 | 0) >> 2] | 0 | 0) | 0, wasm2js_f32$0 = $421), HEAPF32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_f32$0; + $427 = Math_fround(HEAPF32[($4 + 396 | 0) >> 2]); + (wasm2js_i32$0 = btAlignedObjectArray_btFace___operator_5b_5d_28int_29($4 + 588 | 0 | 0, HEAP32[($4 + 524 | 0) >> 2] | 0 | 0) | 0, wasm2js_f32$0 = $427), HEAPF32[(wasm2js_i32$0 + 32 | 0) >> 2] = wasm2js_f32$0; + break label$15; + } + __assert_fail(86177 | 0, 74379 | 0, 152 | 0, 69994 | 0); + wasm2js_trap(); + } + HEAP32[($4 + 376 | 0) >> 2] = 0; + label$17 : { + label$18 : while (1) { + if (!((HEAP32[($4 + 376 | 0) >> 2] | 0 | 0) < (btAlignedObjectArray_int___size_28_29_20const(btAlignedObjectArray_btFace___operator_5b_5d_28int_29($4 + 588 | 0 | 0, HEAP32[($4 + 524 | 0) >> 2] | 0 | 0) | 0 | 0) | 0 | 0) & 1 | 0)) { + break label$17 + } + (wasm2js_i32$0 = $4, wasm2js_f32$0 = Math_fround(btVector3__dot_28btVector3_20const__29_20const(btAlignedObjectArray_btVector3___operator_5b_5d_28int_29((HEAP32[($5 + 60 | 0) >> 2] | 0) + 4 | 0 | 0, HEAP32[(btAlignedObjectArray_int___operator_5b_5d_28int_29(btAlignedObjectArray_btFace___operator_5b_5d_28int_29($4 + 588 | 0 | 0, HEAP32[($4 + 524 | 0) >> 2] | 0 | 0) | 0 | 0, HEAP32[($4 + 376 | 0) >> 2] | 0 | 0) | 0) >> 2] | 0 | 0) | 0 | 0, btAlignedObjectArray_btVector3___operator_5b_5d_28int_29($4 + 632 | 0 | 0, HEAP32[($4 + 524 | 0) >> 2] | 0 | 0) | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 372 | 0) >> 2] = wasm2js_f32$0; + label$19 : { + if (!(Math_fround(HEAPF32[($4 + 396 | 0) >> 2]) > Math_fround(HEAPF32[($4 + 372 | 0) >> 2]) & 1 | 0)) { + break label$19 + } + HEAPF32[($4 + 396 | 0) >> 2] = Math_fround(HEAPF32[($4 + 372 | 0) >> 2]); + } + HEAP32[($4 + 376 | 0) >> 2] = (HEAP32[($4 + 376 | 0) >> 2] | 0) + 1 | 0; + continue label$18; + }; + } + $478 = Math_fround(-Math_fround(HEAPF32[($4 + 396 | 0) >> 2])); + (wasm2js_i32$0 = btAlignedObjectArray_btFace___operator_5b_5d_28int_29($4 + 588 | 0 | 0, HEAP32[($4 + 524 | 0) >> 2] | 0 | 0) | 0, wasm2js_f32$0 = $478), HEAPF32[(wasm2js_i32$0 + 32 | 0) >> 2] = wasm2js_f32$0; + HEAP32[($4 + 524 | 0) >> 2] = (HEAP32[($4 + 524 | 0) >> 2] | 0) + 1 | 0; + continue label$11; + }; + } + HEAPF32[($4 + 368 | 0) >> 2] = Math_fround(.9990000128746033); + btAlignedObjectArray_int___btAlignedObjectArray_28_29($4 + 348 | 0 | 0) | 0; + HEAP32[($4 + 344 | 0) >> 2] = 0; + label$20 : { + label$21 : while (1) { + if (!((HEAP32[($4 + 344 | 0) >> 2] | 0 | 0) < (btAlignedObjectArray_btFace___size_28_29_20const($4 + 588 | 0 | 0) | 0 | 0) & 1 | 0)) { + break label$20 + } + btAlignedObjectArray_int___push_back_28int_20const__29($4 + 348 | 0 | 0, $4 + 344 | 0 | 0); + HEAP32[($4 + 344 | 0) >> 2] = (HEAP32[($4 + 344 | 0) >> 2] | 0) + 1 | 0; + continue label$21; + }; + } + label$22 : { + label$23 : while (1) { + if (!(btAlignedObjectArray_int___size_28_29_20const($4 + 348 | 0 | 0) | 0)) { + break label$22 + } + btAlignedObjectArray_int___btAlignedObjectArray_28_29($4 + 324 | 0 | 0) | 0; + (wasm2js_i32$0 = $4, wasm2js_i32$1 = HEAP32[(btAlignedObjectArray_int___operator_5b_5d_28int_29($4 + 348 | 0 | 0, (btAlignedObjectArray_int___size_28_29_20const($4 + 348 | 0 | 0) | 0) - 1 | 0 | 0) | 0) >> 2] | 0), HEAP32[(wasm2js_i32$0 + 320 | 0) >> 2] = wasm2js_i32$1; + btAlignedObjectArray_int___push_back_28int_20const__29($4 + 324 | 0 | 0, $4 + 320 | 0 | 0); + (wasm2js_i32$0 = $4, wasm2js_i32$1 = btAlignedObjectArray_btFace___operator_5b_5d_28int_29($4 + 588 | 0 | 0, HEAP32[($4 + 320 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 316 | 0) >> 2] = wasm2js_i32$1; + btAlignedObjectArray_int___pop_back_28_29($4 + 348 | 0 | 0); + btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($4 + 300 | 0 | 0, (HEAP32[($4 + 316 | 0) >> 2] | 0) + 20 | 0 | 0, ((HEAP32[($4 + 316 | 0) >> 2] | 0) + 20 | 0) + 4 | 0 | 0, ((HEAP32[($4 + 316 | 0) >> 2] | 0) + 20 | 0) + 8 | 0 | 0) | 0; + (wasm2js_i32$0 = $4, wasm2js_i32$1 = (btAlignedObjectArray_int___size_28_29_20const($4 + 348 | 0 | 0) | 0) - 1 | 0), HEAP32[(wasm2js_i32$0 + 296 | 0) >> 2] = wasm2js_i32$1; + label$24 : { + label$25 : while (1) { + if (!((HEAP32[($4 + 296 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0)) { + break label$24 + } + (wasm2js_i32$0 = $4, wasm2js_i32$1 = HEAP32[(btAlignedObjectArray_int___operator_5b_5d_28int_29($4 + 348 | 0 | 0, HEAP32[($4 + 296 | 0) >> 2] | 0 | 0) | 0) >> 2] | 0), HEAP32[(wasm2js_i32$0 + 292 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $4, wasm2js_i32$1 = btAlignedObjectArray_btFace___operator_5b_5d_28int_29($4 + 588 | 0 | 0, HEAP32[($4 + 292 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 288 | 0) >> 2] = wasm2js_i32$1; + btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($4 + 272 | 0 | 0, (HEAP32[($4 + 288 | 0) >> 2] | 0) + 20 | 0 | 0, ((HEAP32[($4 + 288 | 0) >> 2] | 0) + 20 | 0) + 4 | 0 | 0, ((HEAP32[($4 + 288 | 0) >> 2] | 0) + 20 | 0) + 8 | 0 | 0) | 0; + label$26 : { + if (!(Math_fround(btVector3__dot_28btVector3_20const__29_20const($4 + 300 | 0 | 0, $4 + 272 | 0 | 0)) > Math_fround(HEAPF32[($4 + 368 | 0) >> 2]) & 1 | 0)) { + break label$26 + } + btAlignedObjectArray_int___push_back_28int_20const__29($4 + 324 | 0 | 0, $4 + 292 | 0 | 0); + btAlignedObjectArray_int___remove_28int_20const__29($4 + 348 | 0 | 0, $4 + 292 | 0 | 0); + } + HEAP32[($4 + 296 | 0) >> 2] = (HEAP32[($4 + 296 | 0) >> 2] | 0) + -1 | 0; + continue label$25; + }; + } + HEAP8[($4 + 271 | 0) >> 0] = 0; + label$27 : { + if (!((btAlignedObjectArray_int___size_28_29_20const($4 + 324 | 0 | 0) | 0 | 0) > (1 | 0) & 1 | 0)) { + break label$27 + } + btAlignedObjectArray_GrahamVector3___btAlignedObjectArray_28_29($4 + 248 | 0 | 0) | 0; + HEAPF32[($4 + 228 | 0) >> 2] = Math_fround(0 | 0); + HEAPF32[($4 + 224 | 0) >> 2] = Math_fround(0 | 0); + HEAPF32[($4 + 220 | 0) >> 2] = Math_fround(0 | 0); + btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($4 + 232 | 0 | 0, $4 + 228 | 0 | 0, $4 + 224 | 0 | 0, $4 + 220 | 0 | 0) | 0; + HEAP32[($4 + 216 | 0) >> 2] = 0; + label$28 : { + label$29 : while (1) { + if (!((HEAP32[($4 + 216 | 0) >> 2] | 0 | 0) < (btAlignedObjectArray_int___size_28_29_20const($4 + 324 | 0 | 0) | 0 | 0) & 1 | 0)) { + break label$28 + } + (wasm2js_i32$0 = $4, wasm2js_i32$1 = btAlignedObjectArray_btFace___operator_5b_5d_28int_29($4 + 588 | 0 | 0, HEAP32[(btAlignedObjectArray_int___operator_5b_5d_28int_29($4 + 324 | 0 | 0, HEAP32[($4 + 216 | 0) >> 2] | 0 | 0) | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 212 | 0) >> 2] = wasm2js_i32$1; + btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($4 + 196 | 0 | 0, (HEAP32[($4 + 212 | 0) >> 2] | 0) + 20 | 0 | 0, ((HEAP32[($4 + 212 | 0) >> 2] | 0) + 20 | 0) + 4 | 0 | 0, ((HEAP32[($4 + 212 | 0) >> 2] | 0) + 20 | 0) + 8 | 0 | 0) | 0; + btVector3__operator___28btVector3_20const__29_1($4 + 232 | 0 | 0, $4 + 196 | 0 | 0) | 0; + HEAP32[($4 + 192 | 0) >> 2] = 0; + label$30 : { + label$31 : while (1) { + if (!((HEAP32[($4 + 192 | 0) >> 2] | 0 | 0) < (btAlignedObjectArray_int___size_28_29_20const(HEAP32[($4 + 212 | 0) >> 2] | 0 | 0) | 0 | 0) & 1 | 0)) { + break label$30 + } + (wasm2js_i32$0 = $4, wasm2js_i32$1 = HEAP32[(btAlignedObjectArray_int___operator_5b_5d_28int_29(HEAP32[($4 + 212 | 0) >> 2] | 0 | 0, HEAP32[($4 + 192 | 0) >> 2] | 0 | 0) | 0) >> 2] | 0), HEAP32[(wasm2js_i32$0 + 188 | 0) >> 2] = wasm2js_i32$1; + $717 = btAlignedObjectArray_btVector3___operator_5b_5d_28int_29((HEAP32[($5 + 60 | 0) >> 2] | 0) + 4 | 0 | 0, HEAP32[($4 + 188 | 0) >> 2] | 0 | 0) | 0; + $718 = 8; + i64toi32_i32$2 = $717 + $718 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $2521 = i64toi32_i32$0; + i64toi32_i32$0 = ($4 + 168 | 0) + $718 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $2521; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$2 = $717; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $2525 = i64toi32_i32$1; + i64toi32_i32$1 = $4; + HEAP32[($4 + 168 | 0) >> 2] = $2525; + HEAP32[($4 + 172 | 0) >> 2] = i64toi32_i32$0; + HEAP8[($4 + 167 | 0) >> 0] = 0; + HEAP32[($4 + 160 | 0) >> 2] = 0; + label$32 : { + label$33 : while (1) { + if (!((HEAP32[($4 + 160 | 0) >> 2] | 0 | 0) < (btAlignedObjectArray_GrahamVector3___size_28_29_20const($4 + 248 | 0 | 0) | 0 | 0) & 1 | 0)) { + break label$32 + } + label$34 : { + if (!((HEAP32[((btAlignedObjectArray_GrahamVector3___operator_5b_5d_28int_29($4 + 248 | 0 | 0, HEAP32[($4 + 160 | 0) >> 2] | 0 | 0) | 0) + 20 | 0) >> 2] | 0 | 0) == (HEAP32[($4 + 188 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$34 + } + HEAP8[($4 + 167 | 0) >> 0] = 1; + break label$32; + } + HEAP32[($4 + 160 | 0) >> 2] = (HEAP32[($4 + 160 | 0) >> 2] | 0) + 1 | 0; + continue label$33; + }; + } + label$35 : { + if ((HEAPU8[($4 + 167 | 0) >> 0] | 0) & 1 | 0) { + break label$35 + } + GrahamVector3__GrahamVector3_28btVector3_20const__2c_20int_29($4 + 136 | 0 | 0, $4 + 168 | 0 | 0, HEAP32[($4 + 188 | 0) >> 2] | 0 | 0) | 0; + btAlignedObjectArray_GrahamVector3___push_back_28GrahamVector3_20const__29($4 + 248 | 0 | 0, $4 + 136 | 0 | 0); + } + HEAP32[($4 + 192 | 0) >> 2] = (HEAP32[($4 + 192 | 0) >> 2] | 0) + 1 | 0; + continue label$31; + }; + } + HEAP32[($4 + 216 | 0) >> 2] = (HEAP32[($4 + 216 | 0) >> 2] | 0) + 1 | 0; + continue label$29; + }; + } + btFace__btFace_28_29($4 + 100 | 0 | 0) | 0; + HEAP32[($4 + 96 | 0) >> 2] = 0; + label$36 : { + label$37 : while (1) { + if (!((HEAP32[($4 + 96 | 0) >> 2] | 0 | 0) < (4 | 0) & 1 | 0)) { + break label$36 + } + $797 = (btAlignedObjectArray_btFace___operator_5b_5d_28int_29($4 + 588 | 0 | 0, HEAP32[(btAlignedObjectArray_int___operator_5b_5d_28int_29($4 + 324 | 0 | 0, 0 | 0) | 0) >> 2] | 0 | 0) | 0) + 20 | 0; + HEAPF32[((($4 + 100 | 0) + 20 | 0) + ((HEAP32[($4 + 96 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = Math_fround(HEAPF32[($797 + ((HEAP32[($4 + 96 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2]); + HEAP32[($4 + 96 | 0) >> 2] = (HEAP32[($4 + 96 | 0) >> 2] | 0) + 1 | 0; + continue label$37; + }; + } + btAlignedObjectArray_GrahamVector3___btAlignedObjectArray_28_29($4 + 76 | 0 | 0) | 0; + btVector3__normalize_28_29($4 + 232 | 0 | 0) | 0; + GrahamScanConvexHull2D_28btAlignedObjectArray_GrahamVector3___2c_20btAlignedObjectArray_GrahamVector3___2c_20btVector3_20const__29($4 + 248 | 0 | 0, $4 + 76 | 0 | 0, $4 + 232 | 0 | 0); + HEAP32[($4 + 72 | 0) >> 2] = 0; + label$38 : { + label$39 : while (1) { + if (!((HEAP32[($4 + 72 | 0) >> 2] | 0 | 0) < (btAlignedObjectArray_GrahamVector3___size_28_29_20const($4 + 76 | 0 | 0) | 0 | 0) & 1 | 0)) { + break label$38 + } + btAlignedObjectArray_int___push_back_28int_20const__29($4 + 100 | 0 | 0, (btAlignedObjectArray_GrahamVector3___operator_5b_5d_28int_29($4 + 76 | 0 | 0, HEAP32[($4 + 72 | 0) >> 2] | 0 | 0) | 0) + 20 | 0 | 0); + HEAP32[($4 + 68 | 0) >> 2] = 0; + label$40 : { + label$41 : while (1) { + if (!((HEAP32[($4 + 68 | 0) >> 2] | 0 | 0) < (btAlignedObjectArray_GrahamVector3___size_28_29_20const($4 + 248 | 0 | 0) | 0 | 0) & 1 | 0)) { + break label$40 + } + label$42 : { + if (!((HEAP32[((btAlignedObjectArray_GrahamVector3___operator_5b_5d_28int_29($4 + 248 | 0 | 0, HEAP32[($4 + 68 | 0) >> 2] | 0 | 0) | 0) + 20 | 0) >> 2] | 0 | 0) == (HEAP32[((btAlignedObjectArray_GrahamVector3___operator_5b_5d_28int_29($4 + 76 | 0 | 0, HEAP32[($4 + 72 | 0) >> 2] | 0 | 0) | 0) + 20 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$42 + } + (wasm2js_i32$0 = btAlignedObjectArray_GrahamVector3___operator_5b_5d_28int_29($4 + 248 | 0 | 0, HEAP32[($4 + 68 | 0) >> 2] | 0 | 0) | 0, wasm2js_i32$1 = -1), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + break label$40; + } + HEAP32[($4 + 68 | 0) >> 2] = (HEAP32[($4 + 68 | 0) >> 2] | 0) + 1 | 0; + continue label$41; + }; + } + HEAP32[($4 + 72 | 0) >> 2] = (HEAP32[($4 + 72 | 0) >> 2] | 0) + 1 | 0; + continue label$39; + }; + } + HEAP8[($4 + 67 | 0) >> 0] = 0; + HEAP32[($4 + 60 | 0) >> 2] = 0; + label$43 : { + label$44 : while (1) { + if (!((HEAP32[($4 + 60 | 0) >> 2] | 0 | 0) < (btAlignedObjectArray_GrahamVector3___size_28_29_20const($4 + 248 | 0 | 0) | 0 | 0) & 1 | 0)) { + break label$43 + } + label$45 : { + label$46 : { + if (!((HEAP32[((btAlignedObjectArray_GrahamVector3___operator_5b_5d_28int_29($4 + 248 | 0 | 0, HEAP32[($4 + 60 | 0) >> 2] | 0 | 0) | 0) + 20 | 0) >> 2] | 0 | 0) == (-1 | 0) & 1 | 0)) { + break label$46 + } + break label$45; + } + HEAP32[($4 + 56 | 0) >> 2] = 0; + label$47 : { + label$48 : while (1) { + if (!((HEAP32[($4 + 56 | 0) >> 2] | 0 | 0) < (btAlignedObjectArray_btFace___size_28_29_20const($4 + 588 | 0 | 0) | 0 | 0) & 1 | 0)) { + break label$47 + } + (wasm2js_i32$0 = $4, wasm2js_i32$1 = btAlignedObjectArray_btFace___operator_5b_5d_28int_29($4 + 588 | 0 | 0, HEAP32[($4 + 56 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 52 | 0) >> 2] = wasm2js_i32$1; + HEAP8[($4 + 51 | 0) >> 0] = 0; + HEAP32[($4 + 44 | 0) >> 2] = 0; + label$49 : { + label$50 : while (1) { + if (!((HEAP32[($4 + 44 | 0) >> 2] | 0 | 0) < (btAlignedObjectArray_int___size_28_29_20const($4 + 324 | 0 | 0) | 0 | 0) & 1 | 0)) { + break label$49 + } + label$51 : { + if (!((HEAP32[(btAlignedObjectArray_int___operator_5b_5d_28int_29($4 + 324 | 0 | 0, HEAP32[($4 + 44 | 0) >> 2] | 0 | 0) | 0) >> 2] | 0 | 0) == (HEAP32[($4 + 56 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$51 + } + HEAP8[($4 + 51 | 0) >> 0] = 1; + break label$49; + } + HEAP32[($4 + 44 | 0) >> 2] = (HEAP32[($4 + 44 | 0) >> 2] | 0) + 1 | 0; + continue label$50; + }; + } + label$52 : { + label$53 : { + if (!((HEAPU8[($4 + 51 | 0) >> 0] | 0) & 1 | 0)) { + break label$53 + } + break label$52; + } + HEAP32[($4 + 40 | 0) >> 2] = 0; + label$54 : { + label$55 : while (1) { + if (!((HEAP32[($4 + 40 | 0) >> 2] | 0 | 0) < (btAlignedObjectArray_int___size_28_29_20const(HEAP32[($4 + 52 | 0) >> 2] | 0 | 0) | 0 | 0) & 1 | 0)) { + break label$54 + } + label$56 : { + if (!((HEAP32[(btAlignedObjectArray_int___operator_5b_5d_28int_29(HEAP32[($4 + 52 | 0) >> 2] | 0 | 0, HEAP32[($4 + 40 | 0) >> 2] | 0 | 0) | 0) >> 2] | 0 | 0) == (HEAP32[((btAlignedObjectArray_GrahamVector3___operator_5b_5d_28int_29($4 + 248 | 0 | 0, HEAP32[($4 + 60 | 0) >> 2] | 0 | 0) | 0) + 20 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$56 + } + HEAP8[($4 + 67 | 0) >> 0] = 1; + break label$54; + } + HEAP32[($4 + 40 | 0) >> 2] = (HEAP32[($4 + 40 | 0) >> 2] | 0) + 1 | 0; + continue label$55; + }; + } + label$57 : { + if (!((HEAPU8[($4 + 67 | 0) >> 0] | 0) & 1 | 0)) { + break label$57 + } + break label$47; + } + } + HEAP32[($4 + 56 | 0) >> 2] = (HEAP32[($4 + 56 | 0) >> 2] | 0) + 1 | 0; + continue label$48; + }; + } + label$58 : { + if (!((HEAPU8[($4 + 67 | 0) >> 0] | 0) & 1 | 0)) { + break label$58 + } + break label$43; + } + } + HEAP32[($4 + 60 | 0) >> 2] = (HEAP32[($4 + 60 | 0) >> 2] | 0) + 1 | 0; + continue label$44; + }; + } + label$59 : { + if ((HEAPU8[($4 + 67 | 0) >> 0] | 0) & 1 | 0) { + break label$59 + } + HEAP8[($4 + 271 | 0) >> 0] = 1; + btAlignedObjectArray_btFace___push_back_28btFace_20const__29((HEAP32[($5 + 60 | 0) >> 2] | 0) + 24 | 0 | 0, $4 + 100 | 0 | 0); + } + btAlignedObjectArray_GrahamVector3____btAlignedObjectArray_28_29($4 + 76 | 0 | 0) | 0; + btFace___btFace_28_29($4 + 100 | 0 | 0) | 0; + btAlignedObjectArray_GrahamVector3____btAlignedObjectArray_28_29($4 + 248 | 0 | 0) | 0; + } + label$60 : { + if ((HEAPU8[($4 + 271 | 0) >> 0] | 0) & 1 | 0) { + break label$60 + } + HEAP32[($4 + 36 | 0) >> 2] = 0; + label$61 : { + label$62 : while (1) { + if (!((HEAP32[($4 + 36 | 0) >> 2] | 0 | 0) < (btAlignedObjectArray_int___size_28_29_20const($4 + 324 | 0 | 0) | 0 | 0) & 1 | 0)) { + break label$61 + } + btFace__btFace_28btFace_20const__29($4 | 0, btAlignedObjectArray_btFace___operator_5b_5d_28int_29($4 + 588 | 0 | 0, HEAP32[(btAlignedObjectArray_int___operator_5b_5d_28int_29($4 + 324 | 0 | 0, HEAP32[($4 + 36 | 0) >> 2] | 0 | 0) | 0) >> 2] | 0 | 0) | 0 | 0) | 0; + btAlignedObjectArray_btFace___push_back_28btFace_20const__29((HEAP32[($5 + 60 | 0) >> 2] | 0) + 24 | 0 | 0, $4 | 0); + btFace___btFace_28_29($4 | 0) | 0; + HEAP32[($4 + 36 | 0) >> 2] = (HEAP32[($4 + 36 | 0) >> 2] | 0) + 1 | 0; + continue label$62; + }; + } + } + btAlignedObjectArray_int____btAlignedObjectArray_28_29($4 + 324 | 0 | 0) | 0; + continue label$23; + }; + } + btConvexPolyhedron__initialize_28_29(HEAP32[($5 + 60 | 0) >> 2] | 0 | 0); + btAlignedObjectArray_int____btAlignedObjectArray_28_29($4 + 348 | 0 | 0) | 0; + btAlignedObjectArray_btFace____btAlignedObjectArray_28_29($4 + 588 | 0 | 0) | 0; + btAlignedObjectArray_btVector3____btAlignedObjectArray_28_29($4 + 632 | 0 | 0) | 0; + btConvexHullComputer___btConvexHullComputer_28_29($4 + 732 | 0 | 0) | 0; + btAlignedObjectArray_btVector3____btAlignedObjectArray_28_29($4 + 816 | 0 | 0) | 0; + __stack_pointer = $4 + 848 | 0; + return 1 & 1 | 0 | 0; + } + + function btConvexPolyhedron__operator_20new_28unsigned_20long_2c_20void__29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0; + $4 = __stack_pointer - 16 | 0; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + return HEAP32[($4 + 8 | 0) >> 2] | 0 | 0; + } + + function btAlignedObjectArray_btVector3___expand_28btVector3_20const__29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, $5 = 0, i64toi32_i32$2 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $25 = 0, $28 = 0, $100 = 0, $110 = 0, $36 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; + (wasm2js_i32$0 = $4, wasm2js_i32$1 = btAlignedObjectArray_btVector3___size_28_29_20const($5 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + if (!((HEAP32[($4 + 4 | 0) >> 2] | 0 | 0) == (btAlignedObjectArray_btVector3___capacity_28_29_20const($5 | 0) | 0 | 0) & 1 | 0)) { + break label$1 + } + btAlignedObjectArray_btVector3___reserve_28int_29($5 | 0, btAlignedObjectArray_btVector3___allocSize_28int_29($5 | 0, btAlignedObjectArray_btVector3___size_28_29_20const($5 | 0) | 0 | 0) | 0 | 0); + } + HEAP32[($5 + 4 | 0) >> 2] = (HEAP32[($5 + 4 | 0) >> 2] | 0) + 1 | 0; + $25 = btVector3__operator_20new_28unsigned_20long_2c_20void__29(16 | 0, (HEAP32[($5 + 12 | 0) >> 2] | 0) + ((HEAP32[($4 + 4 | 0) >> 2] | 0) << 4 | 0) | 0 | 0) | 0; + i64toi32_i32$2 = HEAP32[($4 + 8 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $100 = i64toi32_i32$0; + i64toi32_i32$0 = $25; + HEAP32[i64toi32_i32$0 >> 2] = $100; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $28 = 8; + i64toi32_i32$2 = i64toi32_i32$2 + $28 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $110 = i64toi32_i32$1; + i64toi32_i32$1 = $25 + $28 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $110; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + $36 = (HEAP32[($5 + 12 | 0) >> 2] | 0) + ((HEAP32[($4 + 4 | 0) >> 2] | 0) << 4 | 0) | 0; + __stack_pointer = $4 + 16 | 0; + return $36 | 0; + } + + function btConvexHullComputer__btConvexHullComputer_28_29($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + btAlignedObjectArray_btVector3___btAlignedObjectArray_28_29($4 | 0) | 0; + btAlignedObjectArray_btConvexHullComputer__Edge___btAlignedObjectArray_28_29($4 + 20 | 0 | 0) | 0; + btAlignedObjectArray_int___btAlignedObjectArray_28_29($4 + 40 | 0 | 0) | 0; + __stack_pointer = $3 + 16 | 0; + return $4 | 0; + } + + function btConvexHullComputer__compute_28float_20const__2c_20int_2c_20int_2c_20float_2c_20float_29($0, $1, $2, $3, $4, $5) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + $4 = Math_fround($4); + $5 = Math_fround($5); + var $8 = 0, $18 = Math_fround(0); + $8 = __stack_pointer - 32 | 0; + __stack_pointer = $8; + HEAP32[($8 + 28 | 0) >> 2] = $0; + HEAP32[($8 + 24 | 0) >> 2] = $1; + HEAP32[($8 + 20 | 0) >> 2] = $2; + HEAP32[($8 + 16 | 0) >> 2] = $3; + HEAPF32[($8 + 12 | 0) >> 2] = $4; + HEAPF32[($8 + 8 | 0) >> 2] = $5; + $18 = Math_fround(btConvexHullComputer__compute_28void_20const__2c_20bool_2c_20int_2c_20int_2c_20float_2c_20float_29(HEAP32[($8 + 28 | 0) >> 2] | 0 | 0, HEAP32[($8 + 24 | 0) >> 2] | 0 | 0, 0 & 1 | 0 | 0, HEAP32[($8 + 20 | 0) >> 2] | 0 | 0, HEAP32[($8 + 16 | 0) >> 2] | 0 | 0, Math_fround(Math_fround(HEAPF32[($8 + 12 | 0) >> 2])), Math_fround(Math_fround(HEAPF32[($8 + 8 | 0) >> 2])))); + __stack_pointer = $8 + 32 | 0; + return Math_fround($18); + } + + function btAlignedObjectArray_btFace___btAlignedObjectArray_28_29($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + btAlignedAllocator_btFace_2c_2016u___btAlignedAllocator_28_29($4 | 0) | 0; + btAlignedObjectArray_btFace___init_28_29($4 | 0); + __stack_pointer = $3 + 16 | 0; + return $4 | 0; + } + + function btFace__btFace_28_29($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + btAlignedObjectArray_int___btAlignedObjectArray_28_29($4 | 0) | 0; + __stack_pointer = $3 + 16 | 0; + return $4 | 0; + } + + function btAlignedObjectArray_btFace___resize_28int_2c_20btFace_20const__29($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $5 = 0, $6 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5 = __stack_pointer - 32 | 0; + __stack_pointer = $5; + HEAP32[($5 + 28 | 0) >> 2] = $0; + HEAP32[($5 + 24 | 0) >> 2] = $1; + HEAP32[($5 + 20 | 0) >> 2] = $2; + $6 = HEAP32[($5 + 28 | 0) >> 2] | 0; + (wasm2js_i32$0 = $5, wasm2js_i32$1 = btAlignedObjectArray_btFace___size_28_29_20const($6 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + label$2 : { + if (!((HEAP32[($5 + 24 | 0) >> 2] | 0 | 0) < (HEAP32[($5 + 16 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($5 + 12 | 0) >> 2] = HEAP32[($5 + 24 | 0) >> 2] | 0; + label$3 : { + label$4 : while (1) { + if (!((HEAP32[($5 + 12 | 0) >> 2] | 0 | 0) < (HEAP32[($5 + 16 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$3 + } + btFace___btFace_28_29((HEAP32[($6 + 12 | 0) >> 2] | 0) + Math_imul(HEAP32[($5 + 12 | 0) >> 2] | 0, 36) | 0 | 0) | 0; + HEAP32[($5 + 12 | 0) >> 2] = (HEAP32[($5 + 12 | 0) >> 2] | 0) + 1 | 0; + continue label$4; + }; + } + break label$1; + } + label$5 : { + if (!((HEAP32[($5 + 24 | 0) >> 2] | 0 | 0) > (HEAP32[($5 + 16 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$5 + } + btAlignedObjectArray_btFace___reserve_28int_29($6 | 0, HEAP32[($5 + 24 | 0) >> 2] | 0 | 0); + } + HEAP32[($5 + 8 | 0) >> 2] = HEAP32[($5 + 16 | 0) >> 2] | 0; + label$6 : { + label$7 : while (1) { + if (!((HEAP32[($5 + 8 | 0) >> 2] | 0 | 0) < (HEAP32[($5 + 24 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$6 + } + btFace__btFace_28btFace_20const__29((HEAP32[($6 + 12 | 0) >> 2] | 0) + Math_imul(HEAP32[($5 + 8 | 0) >> 2] | 0, 36) | 0 | 0, HEAP32[($5 + 20 | 0) >> 2] | 0 | 0) | 0; + HEAP32[($5 + 8 | 0) >> 2] = (HEAP32[($5 + 8 | 0) >> 2] | 0) + 1 | 0; + continue label$7; + }; + } + } + HEAP32[($6 + 4 | 0) >> 2] = HEAP32[($5 + 24 | 0) >> 2] | 0; + __stack_pointer = $5 + 32 | 0; + return; + } + + function btFace___btFace_28_29($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + btAlignedObjectArray_int____btAlignedObjectArray_28_29($4 | 0) | 0; + __stack_pointer = $3 + 16 | 0; + return $4 | 0; + } + + function btAlignedObjectArray_btConvexHullComputer__Edge___operator_5b_5d_28int_29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, $5 = 0, $32 = 0; + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; + label$1 : { + if ((HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0) { + break label$1 + } + __assert_fail(85840 | 0, 78192 | 0, 183 | 0, 83901 | 0); + wasm2js_trap(); + } + label$2 : { + if ((HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) < (btAlignedObjectArray_btConvexHullComputer__Edge___size_28_29_20const($5 | 0) | 0 | 0) & 1 | 0) { + break label$2 + } + __assert_fail(87321 | 0, 78192 | 0, 184 | 0, 83901 | 0); + wasm2js_trap(); + } + $32 = (HEAP32[($5 + 12 | 0) >> 2] | 0) + Math_imul(HEAP32[($4 + 8 | 0) >> 2] | 0, 12) | 0; + __stack_pointer = $4 + 16 | 0; + return $32 | 0; + } + + function btConvexHullComputer__Edge__getSourceVertex_28_29_20const($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + return HEAP32[(($4 + Math_imul(HEAP32[($4 + 4 | 0) >> 2] | 0, 12) | 0) + 8 | 0) >> 2] | 0 | 0; + } + + function btAlignedObjectArray_btFace___operator_5b_5d_28int_29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, $5 = 0, $32 = 0; + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; + label$1 : { + if ((HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0) { + break label$1 + } + __assert_fail(85840 | 0, 78192 | 0, 183 | 0, 83901 | 0); + wasm2js_trap(); + } + label$2 : { + if ((HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) < (btAlignedObjectArray_btFace___size_28_29_20const($5 | 0) | 0 | 0) & 1 | 0) { + break label$2 + } + __assert_fail(87321 | 0, 78192 | 0, 184 | 0, 83901 | 0); + wasm2js_trap(); + } + $32 = (HEAP32[($5 + 12 | 0) >> 2] | 0) + Math_imul(HEAP32[($4 + 8 | 0) >> 2] | 0, 36) | 0; + __stack_pointer = $4 + 16 | 0; + return $32 | 0; + } + + function btConvexHullComputer__Edge__getTargetVertex_28_29_20const($0) { + $0 = $0 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + return HEAP32[((HEAP32[($3 + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0; + } + + function btConvexHullComputer__Edge__getNextEdgeOfFace_28_29_20const($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0, $9 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + $9 = btConvexHullComputer__Edge__getNextEdgeOfVertex_28_29_20const($4 + Math_imul(HEAP32[($4 + 4 | 0) >> 2] | 0, 12) | 0 | 0) | 0; + __stack_pointer = $3 + 16 | 0; + return $9 | 0; + } + + function btAlignedObjectArray_int___pop_back_28_29($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + label$1 : { + if ((HEAP32[($4 + 4 | 0) >> 2] | 0 | 0) > (0 | 0) & 1 | 0) { + break label$1 + } + __assert_fail(85800 | 0, 78192 | 0, 201 | 0, 77711 | 0); + wasm2js_trap(); + } + HEAP32[($4 + 4 | 0) >> 2] = (HEAP32[($4 + 4 | 0) >> 2] | 0) + -1 | 0; + __stack_pointer = $3 + 16 | 0; + return; + } + + function btAlignedObjectArray_int___remove_28int_20const__29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, $5 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; + (wasm2js_i32$0 = $4, wasm2js_i32$1 = btAlignedObjectArray_int___findLinearSearch_28int_20const__29_20const($5 | 0, HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + btAlignedObjectArray_int___removeAtIndex_28int_29($5 | 0, HEAP32[($4 + 4 | 0) >> 2] | 0 | 0); + __stack_pointer = $4 + 16 | 0; + return; + } + + function btAlignedObjectArray_GrahamVector3___btAlignedObjectArray_28_29($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + btAlignedAllocator_GrahamVector3_2c_2016u___btAlignedAllocator_28_29($4 | 0) | 0; + btAlignedObjectArray_GrahamVector3___init_28_29($4 | 0); + __stack_pointer = $3 + 16 | 0; + return $4 | 0; + } + + function btAlignedObjectArray_GrahamVector3___size_28_29_20const($0) { + $0 = $0 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + return HEAP32[((HEAP32[($3 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0; + } + + function btAlignedObjectArray_GrahamVector3___operator_5b_5d_28int_29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, $5 = 0, $32 = 0; + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; + label$1 : { + if ((HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0) { + break label$1 + } + __assert_fail(85840 | 0, 78192 | 0, 183 | 0, 83901 | 0); + wasm2js_trap(); + } + label$2 : { + if ((HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) < (btAlignedObjectArray_GrahamVector3___size_28_29_20const($5 | 0) | 0 | 0) & 1 | 0) { + break label$2 + } + __assert_fail(87321 | 0, 78192 | 0, 184 | 0, 83901 | 0); + wasm2js_trap(); + } + $32 = (HEAP32[($5 + 12 | 0) >> 2] | 0) + Math_imul(HEAP32[($4 + 8 | 0) >> 2] | 0, 24) | 0; + __stack_pointer = $4 + 16 | 0; + return $32 | 0; + } + + function GrahamVector3__GrahamVector3_28btVector3_20const__2c_20int_29($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $5 = 0, $6 = 0, i64toi32_i32$2 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, $9 = 0, $31 = 0, $41 = 0; + $5 = __stack_pointer - 16 | 0; + HEAP32[($5 + 12 | 0) >> 2] = $0; + HEAP32[($5 + 8 | 0) >> 2] = $1; + HEAP32[($5 + 4 | 0) >> 2] = $2; + $6 = HEAP32[($5 + 12 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($5 + 8 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $31 = i64toi32_i32$0; + i64toi32_i32$0 = $6; + HEAP32[$6 >> 2] = $31; + HEAP32[($6 + 4 | 0) >> 2] = i64toi32_i32$1; + $9 = 8; + i64toi32_i32$2 = i64toi32_i32$2 + $9 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $41 = i64toi32_i32$1; + i64toi32_i32$1 = $6 + $9 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $41; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($6 + 20 | 0) >> 2] = HEAP32[($5 + 4 | 0) >> 2] | 0; + return $6 | 0; + } + + function btAlignedObjectArray_GrahamVector3___push_back_28GrahamVector3_20const__29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var i64toi32_i32$0 = 0, $5 = 0, i64toi32_i32$2 = 0, $4 = 0, i64toi32_i32$1 = 0, $22 = 0, $23 = 0, $25 = 0, $29 = 0, $92 = 0, $102 = 0, $112 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; + (wasm2js_i32$0 = $4, wasm2js_i32$1 = btAlignedObjectArray_GrahamVector3___size_28_29_20const($5 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + if (!((HEAP32[($4 + 4 | 0) >> 2] | 0 | 0) == (btAlignedObjectArray_GrahamVector3___capacity_28_29_20const($5 | 0) | 0 | 0) & 1 | 0)) { + break label$1 + } + btAlignedObjectArray_GrahamVector3___reserve_28int_29($5 | 0, btAlignedObjectArray_GrahamVector3___allocSize_28int_29($5 | 0, btAlignedObjectArray_GrahamVector3___size_28_29_20const($5 | 0) | 0 | 0) | 0 | 0); + } + $22 = btVector3__operator_20new_28unsigned_20long_2c_20void__29(24 | 0, (HEAP32[($5 + 12 | 0) >> 2] | 0) + Math_imul(HEAP32[($5 + 4 | 0) >> 2] | 0, 24) | 0 | 0) | 0; + $23 = HEAP32[($4 + 8 | 0) >> 2] | 0; + i64toi32_i32$2 = $23; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $92 = i64toi32_i32$0; + i64toi32_i32$0 = $22; + HEAP32[i64toi32_i32$0 >> 2] = $92; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $25 = 16; + i64toi32_i32$2 = i64toi32_i32$2 + $25 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $102 = i64toi32_i32$1; + i64toi32_i32$1 = $22 + $25 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $102; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + $29 = 8; + i64toi32_i32$2 = $23 + $29 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $112 = i64toi32_i32$0; + i64toi32_i32$0 = $22 + $29 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $112; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + HEAP32[($5 + 4 | 0) >> 2] = (HEAP32[($5 + 4 | 0) >> 2] | 0) + 1 | 0; + __stack_pointer = $4 + 16 | 0; + return; + } + + function GrahamScanConvexHull2D_28btAlignedObjectArray_GrahamVector3___2c_20btAlignedObjectArray_GrahamVector3___2c_20btVector3_20const__29($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $5 = 0, $181 = 0, $131 = Math_fround(0), wasm2js_i32$0 = 0, wasm2js_f32$0 = Math_fround(0), wasm2js_i32$1 = 0; + $5 = __stack_pointer - 176 | 0; + __stack_pointer = $5; + HEAP32[($5 + 172 | 0) >> 2] = $0; + HEAP32[($5 + 168 | 0) >> 2] = $1; + HEAP32[($5 + 164 | 0) >> 2] = $2; + btVector3__btVector3_28_29($5 + 148 | 0 | 0) | 0; + btVector3__btVector3_28_29($5 + 132 | 0 | 0) | 0; + void_20btPlaneSpace1_btVector3__28btVector3_20const__2c_20btVector3__2c_20btVector3__29(HEAP32[($5 + 164 | 0) >> 2] | 0 | 0, $5 + 148 | 0 | 0, $5 + 132 | 0 | 0); + label$1 : { + label$2 : { + if (!((btAlignedObjectArray_GrahamVector3___size_28_29_20const(HEAP32[($5 + 172 | 0) >> 2] | 0 | 0) | 0 | 0) <= (1 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($5 + 128 | 0) >> 2] = 0; + label$3 : { + label$4 : while (1) { + if (!((HEAP32[($5 + 128 | 0) >> 2] | 0 | 0) < (btAlignedObjectArray_GrahamVector3___size_28_29_20const(HEAP32[($5 + 172 | 0) >> 2] | 0 | 0) | 0 | 0) & 1 | 0)) { + break label$3 + } + btAlignedObjectArray_GrahamVector3___push_back_28GrahamVector3_20const__29(HEAP32[($5 + 168 | 0) >> 2] | 0 | 0, btAlignedObjectArray_GrahamVector3___operator_5b_5d_28int_29(HEAP32[($5 + 172 | 0) >> 2] | 0 | 0, 0 | 0) | 0 | 0); + HEAP32[($5 + 128 | 0) >> 2] = (HEAP32[($5 + 128 | 0) >> 2] | 0) + 1 | 0; + continue label$4; + }; + } + break label$1; + } + HEAP32[($5 + 124 | 0) >> 2] = 0; + label$5 : { + label$6 : while (1) { + if (!((HEAP32[($5 + 124 | 0) >> 2] | 0 | 0) < (btAlignedObjectArray_GrahamVector3___size_28_29_20const(HEAP32[($5 + 172 | 0) >> 2] | 0 | 0) | 0 | 0) & 1 | 0)) { + break label$5 + } + (wasm2js_i32$0 = $5, wasm2js_f32$0 = Math_fround(btVector3__dot_28btVector3_20const__29_20const(btAlignedObjectArray_GrahamVector3___operator_5b_5d_28int_29(HEAP32[($5 + 172 | 0) >> 2] | 0 | 0, HEAP32[($5 + 124 | 0) >> 2] | 0 | 0) | 0 | 0, $5 + 148 | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 120 | 0) >> 2] = wasm2js_f32$0; + (wasm2js_i32$0 = $5, wasm2js_f32$0 = Math_fround(btVector3__dot_28btVector3_20const__29_20const(btAlignedObjectArray_GrahamVector3___operator_5b_5d_28int_29(HEAP32[($5 + 172 | 0) >> 2] | 0 | 0, 0 | 0) | 0 | 0, $5 + 148 | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 116 | 0) >> 2] = wasm2js_f32$0; + label$7 : { + if (!(Math_fround(HEAPF32[($5 + 120 | 0) >> 2]) < Math_fround(HEAPF32[($5 + 116 | 0) >> 2]) & 1 | 0)) { + break label$7 + } + btAlignedObjectArray_GrahamVector3___swap_28int_2c_20int_29(HEAP32[($5 + 172 | 0) >> 2] | 0 | 0, 0 | 0, HEAP32[($5 + 124 | 0) >> 2] | 0 | 0); + } + HEAP32[($5 + 124 | 0) >> 2] = (HEAP32[($5 + 124 | 0) >> 2] | 0) + 1 | 0; + continue label$6; + }; + } + (wasm2js_i32$0 = btAlignedObjectArray_GrahamVector3___operator_5b_5d_28int_29(HEAP32[($5 + 172 | 0) >> 2] | 0 | 0, 0 | 0) | 0, wasm2js_f32$0 = Math_fround(-1000000015047466219876688.0e6)), HEAPF32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_f32$0; + HEAP32[($5 + 112 | 0) >> 2] = 1; + label$8 : { + label$9 : while (1) { + if (!((HEAP32[($5 + 112 | 0) >> 2] | 0 | 0) < (btAlignedObjectArray_GrahamVector3___size_28_29_20const(HEAP32[($5 + 172 | 0) >> 2] | 0 | 0) | 0 | 0) & 1 | 0)) { + break label$8 + } + operator__28btVector3_20const__2c_20btVector3_20const__29($5 + 96 | 0 | 0, btAlignedObjectArray_GrahamVector3___operator_5b_5d_28int_29(HEAP32[($5 + 172 | 0) >> 2] | 0 | 0, HEAP32[($5 + 112 | 0) >> 2] | 0 | 0) | 0 | 0, btAlignedObjectArray_GrahamVector3___operator_5b_5d_28int_29(HEAP32[($5 + 172 | 0) >> 2] | 0 | 0, 0 | 0) | 0 | 0); + (wasm2js_i32$0 = $5, wasm2js_f32$0 = Math_fround(btVector3__dot_28btVector3_20const__29_20const($5 + 132 | 0 | 0, $5 + 96 | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 92 | 0) >> 2] = wasm2js_f32$0; + (wasm2js_i32$0 = $5, wasm2js_f32$0 = Math_fround(btVector3__dot_28btVector3_20const__29_20const($5 + 148 | 0 | 0, $5 + 96 | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 88 | 0) >> 2] = wasm2js_f32$0; + label$10 : { + label$11 : { + if (!(Math_fround(Math_fround(Math_fround(HEAPF32[($5 + 92 | 0) >> 2]) * Math_fround(HEAPF32[($5 + 92 | 0) >> 2])) + Math_fround(Math_fround(HEAPF32[($5 + 88 | 0) >> 2]) * Math_fround(HEAPF32[($5 + 88 | 0) >> 2]))) < Math_fround(1.1920928955078125e-07) & 1 | 0)) { + break label$11 + } + (wasm2js_i32$0 = btAlignedObjectArray_GrahamVector3___operator_5b_5d_28int_29(HEAP32[($5 + 172 | 0) >> 2] | 0 | 0, HEAP32[($5 + 112 | 0) >> 2] | 0 | 0) | 0, wasm2js_f32$0 = Math_fround(0 | 0)), HEAPF32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_f32$0; + break label$10; + } + $131 = Math_fround(btAtan2Fast_28float_2c_20float_29(Math_fround(Math_fround(HEAPF32[($5 + 92 | 0) >> 2])), Math_fround(Math_fround(HEAPF32[($5 + 88 | 0) >> 2])))); + (wasm2js_i32$0 = btAlignedObjectArray_GrahamVector3___operator_5b_5d_28int_29(HEAP32[($5 + 172 | 0) >> 2] | 0 | 0, HEAP32[($5 + 112 | 0) >> 2] | 0 | 0) | 0, wasm2js_f32$0 = $131), HEAPF32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_f32$0; + } + HEAP32[($5 + 112 | 0) >> 2] = (HEAP32[($5 + 112 | 0) >> 2] | 0) + 1 | 0; + continue label$9; + }; + } + btAngleCompareFunc__btAngleCompareFunc_28btVector3_20const__29($5 + 72 | 0 | 0, btAlignedObjectArray_GrahamVector3___operator_5b_5d_28int_29(HEAP32[($5 + 172 | 0) >> 2] | 0 | 0, 0 | 0) | 0 | 0) | 0; + void_20btAlignedObjectArray_GrahamVector3___quickSortInternal_btAngleCompareFunc__28btAngleCompareFunc_20const__2c_20int_2c_20int_29(HEAP32[($5 + 172 | 0) >> 2] | 0 | 0, $5 + 72 | 0 | 0, 1 | 0, (btAlignedObjectArray_GrahamVector3___size_28_29_20const(HEAP32[($5 + 172 | 0) >> 2] | 0 | 0) | 0) - 1 | 0 | 0); + HEAP32[($5 + 68 | 0) >> 2] = 0; + label$12 : { + label$13 : while (1) { + if (!((HEAP32[($5 + 68 | 0) >> 2] | 0 | 0) < (2 | 0) & 1 | 0)) { + break label$12 + } + btAlignedObjectArray_GrahamVector3___push_back_28GrahamVector3_20const__29(HEAP32[($5 + 168 | 0) >> 2] | 0 | 0, btAlignedObjectArray_GrahamVector3___operator_5b_5d_28int_29(HEAP32[($5 + 172 | 0) >> 2] | 0 | 0, HEAP32[($5 + 68 | 0) >> 2] | 0 | 0) | 0 | 0); + HEAP32[($5 + 68 | 0) >> 2] = (HEAP32[($5 + 68 | 0) >> 2] | 0) + 1 | 0; + continue label$13; + }; + } + label$14 : while (1) { + if (!((HEAP32[($5 + 68 | 0) >> 2] | 0 | 0) != (btAlignedObjectArray_GrahamVector3___size_28_29_20const(HEAP32[($5 + 172 | 0) >> 2] | 0 | 0) | 0 | 0) & 1 | 0)) { + break label$1 + } + HEAP8[($5 + 67 | 0) >> 0] = 0; + label$15 : while (1) { + $181 = 0; + label$16 : { + if ((HEAPU8[($5 + 67 | 0) >> 0] | 0) & 1 | 0) { + break label$16 + } + $181 = (btAlignedObjectArray_GrahamVector3___size_28_29_20const(HEAP32[($5 + 168 | 0) >> 2] | 0 | 0) | 0 | 0) > (1 | 0); + } + label$17 : { + if (!($181 & 1 | 0)) { + break label$17 + } + (wasm2js_i32$0 = $5, wasm2js_i32$1 = btAlignedObjectArray_GrahamVector3___operator_5b_5d_28int_29(HEAP32[($5 + 168 | 0) >> 2] | 0 | 0, (btAlignedObjectArray_GrahamVector3___size_28_29_20const(HEAP32[($5 + 168 | 0) >> 2] | 0 | 0) | 0) - 2 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 60 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $5, wasm2js_i32$1 = btAlignedObjectArray_GrahamVector3___operator_5b_5d_28int_29(HEAP32[($5 + 168 | 0) >> 2] | 0 | 0, (btAlignedObjectArray_GrahamVector3___size_28_29_20const(HEAP32[($5 + 168 | 0) >> 2] | 0 | 0) | 0) - 1 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 56 | 0) >> 2] = wasm2js_i32$1; + operator__28btVector3_20const__2c_20btVector3_20const__29($5 + 24 | 0 | 0, HEAP32[($5 + 60 | 0) >> 2] | 0 | 0, HEAP32[($5 + 56 | 0) >> 2] | 0 | 0); + operator__28btVector3_20const__2c_20btVector3_20const__29($5 + 8 | 0 | 0, HEAP32[($5 + 60 | 0) >> 2] | 0 | 0, btAlignedObjectArray_GrahamVector3___operator_5b_5d_28int_29(HEAP32[($5 + 172 | 0) >> 2] | 0 | 0, HEAP32[($5 + 68 | 0) >> 2] | 0 | 0) | 0 | 0); + btCross_28btVector3_20const__2c_20btVector3_20const__29($5 + 40 | 0 | 0, $5 + 24 | 0 | 0, $5 + 8 | 0 | 0); + (wasm2js_i32$0 = $5, wasm2js_i32$1 = Math_fround(btVector3__dot_28btVector3_20const__29_20const($5 + 40 | 0 | 0, HEAP32[($5 + 164 | 0) >> 2] | 0 | 0)) > Math_fround(0 | 0) & 1 | 0), HEAP8[(wasm2js_i32$0 + 67 | 0) >> 0] = wasm2js_i32$1; + label$18 : { + label$19 : { + if ((HEAPU8[($5 + 67 | 0) >> 0] | 0) & 1 | 0) { + break label$19 + } + btAlignedObjectArray_GrahamVector3___pop_back_28_29(HEAP32[($5 + 168 | 0) >> 2] | 0 | 0); + break label$18; + } + btAlignedObjectArray_GrahamVector3___push_back_28GrahamVector3_20const__29(HEAP32[($5 + 168 | 0) >> 2] | 0 | 0, btAlignedObjectArray_GrahamVector3___operator_5b_5d_28int_29(HEAP32[($5 + 172 | 0) >> 2] | 0 | 0, HEAP32[($5 + 68 | 0) >> 2] | 0 | 0) | 0 | 0); + } + continue label$15; + } + break label$15; + }; + label$20 : { + if (!((btAlignedObjectArray_GrahamVector3___size_28_29_20const(HEAP32[($5 + 168 | 0) >> 2] | 0 | 0) | 0 | 0) == (1 | 0) & 1 | 0)) { + break label$20 + } + btAlignedObjectArray_GrahamVector3___push_back_28GrahamVector3_20const__29(HEAP32[($5 + 168 | 0) >> 2] | 0 | 0, btAlignedObjectArray_GrahamVector3___operator_5b_5d_28int_29(HEAP32[($5 + 172 | 0) >> 2] | 0 | 0, HEAP32[($5 + 68 | 0) >> 2] | 0 | 0) | 0 | 0); + } + HEAP32[($5 + 68 | 0) >> 2] = (HEAP32[($5 + 68 | 0) >> 2] | 0) + 1 | 0; + continue label$14; + }; + } + __stack_pointer = $5 + 176 | 0; + return; + } + + function btAlignedObjectArray_btFace___push_back_28btFace_20const__29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $5 = 0, $4 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; + (wasm2js_i32$0 = $4, wasm2js_i32$1 = btAlignedObjectArray_btFace___size_28_29_20const($5 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + if (!((HEAP32[($4 + 4 | 0) >> 2] | 0 | 0) == (btAlignedObjectArray_btFace___capacity_28_29_20const($5 | 0) | 0 | 0) & 1 | 0)) { + break label$1 + } + btAlignedObjectArray_btFace___reserve_28int_29($5 | 0, btAlignedObjectArray_btFace___allocSize_28int_29($5 | 0, btAlignedObjectArray_btFace___size_28_29_20const($5 | 0) | 0 | 0) | 0 | 0); + } + btFace__btFace_28btFace_20const__29((HEAP32[($5 + 12 | 0) >> 2] | 0) + Math_imul(HEAP32[($5 + 4 | 0) >> 2] | 0, 36) | 0 | 0, HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) | 0; + HEAP32[($5 + 4 | 0) >> 2] = (HEAP32[($5 + 4 | 0) >> 2] | 0) + 1 | 0; + __stack_pointer = $4 + 16 | 0; + return; + } + + function btAlignedObjectArray_GrahamVector3____btAlignedObjectArray_28_29($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + btAlignedObjectArray_GrahamVector3___clear_28_29($4 | 0); + __stack_pointer = $3 + 16 | 0; + return $4 | 0; + } + + function btFace__btFace_28btFace_20const__29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, i64toi32_i32$2 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $5 = 0, $8 = 0, $13 = 0, $46 = 0, $56 = 0; + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; + btAlignedObjectArray_int___btAlignedObjectArray_28btAlignedObjectArray_int__20const__29($5 | 0, HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) | 0; + $8 = $5 + 20 | 0; + i64toi32_i32$2 = (HEAP32[($4 + 8 | 0) >> 2] | 0) + 20 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $46 = i64toi32_i32$0; + i64toi32_i32$0 = $8; + HEAP32[i64toi32_i32$0 >> 2] = $46; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $13 = 8; + i64toi32_i32$2 = i64toi32_i32$2 + $13 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $56 = i64toi32_i32$1; + i64toi32_i32$1 = $8 + $13 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $56; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + __stack_pointer = $4 + 16 | 0; + return $5 | 0; + } + + function btAlignedObjectArray_btFace____btAlignedObjectArray_28_29($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + btAlignedObjectArray_btFace___clear_28_29($4 | 0); + __stack_pointer = $3 + 16 | 0; + return $4 | 0; + } + + function btConvexHullComputer___btConvexHullComputer_28_29($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + btAlignedObjectArray_int____btAlignedObjectArray_28_29($4 + 40 | 0 | 0) | 0; + btAlignedObjectArray_btConvexHullComputer__Edge____btAlignedObjectArray_28_29($4 + 20 | 0 | 0) | 0; + btAlignedObjectArray_btVector3____btAlignedObjectArray_28_29($4 | 0) | 0; + __stack_pointer = $3 + 16 | 0; + return $4 | 0; + } + + function btAlignedObjectArray_btConvexHullComputer__Edge___btAlignedObjectArray_28_29($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + btAlignedAllocator_btConvexHullComputer__Edge_2c_2016u___btAlignedAllocator_28_29($4 | 0) | 0; + btAlignedObjectArray_btConvexHullComputer__Edge___init_28_29($4 | 0); + __stack_pointer = $3 + 16 | 0; + return $4 | 0; + } + + function btAlignedAllocator_btFace_2c_2016u___btAlignedAllocator_28_29($0) { + $0 = $0 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + return HEAP32[($3 + 12 | 0) >> 2] | 0 | 0; + } + + function btAlignedObjectArray_btFace___init_28_29($0) { + $0 = $0 | 0; + var $4 = 0, $3 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + HEAP8[($4 + 16 | 0) >> 0] = 1; + HEAP32[($4 + 12 | 0) >> 2] = 0; + HEAP32[($4 + 4 | 0) >> 2] = 0; + HEAP32[($4 + 8 | 0) >> 2] = 0; + return; + } + + function btAlignedObjectArray_btFace___reserve_28int_29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, $5 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; + label$1 : { + if (!((btAlignedObjectArray_btFace___capacity_28_29_20const($5 | 0) | 0 | 0) < (HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$1 + } + (wasm2js_i32$0 = $4, wasm2js_i32$1 = btAlignedObjectArray_btFace___allocate_28int_29($5 | 0, HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + btAlignedObjectArray_btFace___copy_28int_2c_20int_2c_20btFace__29_20const($5 | 0, 0 | 0, btAlignedObjectArray_btFace___size_28_29_20const($5 | 0) | 0 | 0, HEAP32[($4 + 4 | 0) >> 2] | 0 | 0); + btAlignedObjectArray_btFace___destroy_28int_2c_20int_29($5 | 0, 0 | 0, btAlignedObjectArray_btFace___size_28_29_20const($5 | 0) | 0 | 0); + btAlignedObjectArray_btFace___deallocate_28_29($5 | 0); + HEAP8[($5 + 16 | 0) >> 0] = 1; + HEAP32[($5 + 12 | 0) >> 2] = HEAP32[($4 + 4 | 0) >> 2] | 0; + HEAP32[($5 + 8 | 0) >> 2] = HEAP32[($4 + 8 | 0) >> 2] | 0; + } + __stack_pointer = $4 + 16 | 0; + return; + } + + function btAlignedObjectArray_btConvexHullComputer__Edge___size_28_29_20const($0) { + $0 = $0 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + return HEAP32[((HEAP32[($3 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0; + } + + function btConvexHullComputer__Edge__getNextEdgeOfVertex_28_29_20const($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + return $4 + Math_imul(HEAP32[$4 >> 2] | 0, 12) | 0 | 0; + } + + function btAlignedObjectArray_int___findLinearSearch_28int_20const__29_20const($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, $5 = 0, $32 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; + (wasm2js_i32$0 = $4, wasm2js_i32$1 = btAlignedObjectArray_int___size_28_29_20const($5 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + HEAP32[$4 >> 2] = 0; + label$1 : { + label$2 : while (1) { + if (!((HEAP32[$4 >> 2] | 0 | 0) < (btAlignedObjectArray_int___size_28_29_20const($5 | 0) | 0 | 0) & 1 | 0)) { + break label$1 + } + label$3 : { + if (!((HEAP32[((HEAP32[($5 + 12 | 0) >> 2] | 0) + ((HEAP32[$4 >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0) == (HEAP32[(HEAP32[($4 + 8 | 0) >> 2] | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$3 + } + HEAP32[($4 + 4 | 0) >> 2] = HEAP32[$4 >> 2] | 0; + break label$1; + } + HEAP32[$4 >> 2] = (HEAP32[$4 >> 2] | 0) + 1 | 0; + continue label$2; + }; + } + $32 = HEAP32[($4 + 4 | 0) >> 2] | 0; + __stack_pointer = $4 + 16 | 0; + return $32 | 0; + } + + function btAlignedObjectArray_int___removeAtIndex_28int_29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, $5 = 0; + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; + label$1 : { + if (!((HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) < (btAlignedObjectArray_int___size_28_29_20const($5 | 0) | 0 | 0) & 1 | 0)) { + break label$1 + } + btAlignedObjectArray_int___swap_28int_2c_20int_29($5 | 0, HEAP32[($4 + 8 | 0) >> 2] | 0 | 0, (btAlignedObjectArray_int___size_28_29_20const($5 | 0) | 0) - 1 | 0 | 0); + btAlignedObjectArray_int___pop_back_28_29($5 | 0); + } + __stack_pointer = $4 + 16 | 0; + return; + } + + function btAlignedAllocator_GrahamVector3_2c_2016u___btAlignedAllocator_28_29($0) { + $0 = $0 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + return HEAP32[($3 + 12 | 0) >> 2] | 0 | 0; + } + + function btAlignedObjectArray_GrahamVector3___init_28_29($0) { + $0 = $0 | 0; + var $4 = 0, $3 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + HEAP8[($4 + 16 | 0) >> 0] = 1; + HEAP32[($4 + 12 | 0) >> 2] = 0; + HEAP32[($4 + 4 | 0) >> 2] = 0; + HEAP32[($4 + 8 | 0) >> 2] = 0; + return; + } + + function btAlignedObjectArray_GrahamVector3___capacity_28_29_20const($0) { + $0 = $0 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + return HEAP32[((HEAP32[($3 + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0; + } + + function btAlignedObjectArray_GrahamVector3___allocSize_28int_29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, $9 = 0; + $4 = __stack_pointer - 16 | 0; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + label$1 : { + label$2 : { + if (!(HEAP32[($4 + 8 | 0) >> 2] | 0)) { + break label$2 + } + $9 = (HEAP32[($4 + 8 | 0) >> 2] | 0) << 1 | 0; + break label$1; + } + $9 = 1; + } + return $9 | 0; + } + + function btAlignedObjectArray_GrahamVector3___reserve_28int_29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, $5 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; + label$1 : { + if (!((btAlignedObjectArray_GrahamVector3___capacity_28_29_20const($5 | 0) | 0 | 0) < (HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$1 + } + (wasm2js_i32$0 = $4, wasm2js_i32$1 = btAlignedObjectArray_GrahamVector3___allocate_28int_29($5 | 0, HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + btAlignedObjectArray_GrahamVector3___copy_28int_2c_20int_2c_20GrahamVector3__29_20const($5 | 0, 0 | 0, btAlignedObjectArray_GrahamVector3___size_28_29_20const($5 | 0) | 0 | 0, HEAP32[($4 + 4 | 0) >> 2] | 0 | 0); + btAlignedObjectArray_GrahamVector3___destroy_28int_2c_20int_29($5 | 0, 0 | 0, btAlignedObjectArray_GrahamVector3___size_28_29_20const($5 | 0) | 0 | 0); + btAlignedObjectArray_GrahamVector3___deallocate_28_29($5 | 0); + HEAP8[($5 + 16 | 0) >> 0] = 1; + HEAP32[($5 + 12 | 0) >> 2] = HEAP32[($4 + 4 | 0) >> 2] | 0; + HEAP32[($5 + 8 | 0) >> 2] = HEAP32[($4 + 8 | 0) >> 2] | 0; + } + __stack_pointer = $4 + 16 | 0; + return; + } + + function btAlignedObjectArray_GrahamVector3___swap_28int_2c_20int_29($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, $5 = 0, $6 = 0, $11 = 0, $34 = 0, $48 = 0, $12 = 0, $18 = 0, $29 = 0, $36 = 0, $40 = 0, $50 = 0, $56 = 0, $96 = 0, $109 = 0, $113 = 0, $137 = 0, $147 = 0, $157 = 0, $171 = 0, $184 = 0, $197 = 0; + $5 = __stack_pointer - 48 | 0; + HEAP32[($5 + 44 | 0) >> 2] = $0; + HEAP32[($5 + 40 | 0) >> 2] = $1; + HEAP32[($5 + 36 | 0) >> 2] = $2; + $6 = HEAP32[($5 + 44 | 0) >> 2] | 0; + $11 = (HEAP32[($6 + 12 | 0) >> 2] | 0) + Math_imul(HEAP32[($5 + 40 | 0) >> 2] | 0, 24) | 0; + $12 = 16; + i64toi32_i32$2 = $11 + $12 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $96 = i64toi32_i32$0; + i64toi32_i32$0 = ($5 + 8 | 0) + $12 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $96; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $18 = 8; + i64toi32_i32$2 = $11 + $18 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $109 = i64toi32_i32$1; + i64toi32_i32$1 = ($5 + 8 | 0) + $18 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $109; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$2 = $11; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $113 = i64toi32_i32$0; + i64toi32_i32$0 = $5; + HEAP32[(i64toi32_i32$0 + 8 | 0) >> 2] = $113; + HEAP32[(i64toi32_i32$0 + 12 | 0) >> 2] = i64toi32_i32$1; + $29 = (HEAP32[($6 + 12 | 0) >> 2] | 0) + Math_imul(HEAP32[(i64toi32_i32$0 + 36 | 0) >> 2] | 0, 24) | 0; + $34 = (HEAP32[($6 + 12 | 0) >> 2] | 0) + Math_imul(HEAP32[(i64toi32_i32$0 + 40 | 0) >> 2] | 0, 24) | 0; + i64toi32_i32$2 = $29; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $137 = i64toi32_i32$1; + i64toi32_i32$1 = $34; + HEAP32[i64toi32_i32$1 >> 2] = $137; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + $36 = 16; + i64toi32_i32$2 = i64toi32_i32$2 + $36 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $147 = i64toi32_i32$0; + i64toi32_i32$0 = $34 + $36 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $147; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $40 = 8; + i64toi32_i32$2 = $29 + $40 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $157 = i64toi32_i32$1; + i64toi32_i32$1 = $34 + $40 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $157; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + $48 = (HEAP32[($6 + 12 | 0) >> 2] | 0) + Math_imul(HEAP32[($5 + 36 | 0) >> 2] | 0, 24) | 0; + i64toi32_i32$2 = $5; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 8 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 12 | 0) >> 2] | 0; + $171 = i64toi32_i32$0; + i64toi32_i32$0 = $48; + HEAP32[i64toi32_i32$0 >> 2] = $171; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $50 = 16; + i64toi32_i32$2 = (i64toi32_i32$2 + 8 | 0) + $50 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $184 = i64toi32_i32$1; + i64toi32_i32$1 = $48 + $50 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $184; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + $56 = 8; + i64toi32_i32$2 = ($5 + 8 | 0) + $56 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $197 = i64toi32_i32$0; + i64toi32_i32$0 = $48 + $56 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $197; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + return; + } + + function btAtan2Fast_28float_2c_20float_29($0, $1) { + $0 = Math_fround($0); + $1 = Math_fround($1); + var $4 = 0, $51 = Math_fround(0), wasm2js_i32$0 = 0, wasm2js_f32$0 = Math_fround(0); + $4 = __stack_pointer - 32 | 0; + __stack_pointer = $4; + HEAPF32[($4 + 28 | 0) >> 2] = $0; + HEAPF32[($4 + 24 | 0) >> 2] = $1; + HEAPF32[($4 + 20 | 0) >> 2] = Math_fround(.7853981852531433); + HEAPF32[($4 + 16 | 0) >> 2] = Math_fround(Math_fround(3.0) * Math_fround(HEAPF32[($4 + 20 | 0) >> 2])); + (wasm2js_i32$0 = $4, wasm2js_f32$0 = Math_fround(btFabs_28float_29(Math_fround(Math_fround(HEAPF32[($4 + 28 | 0) >> 2]))))), HEAPF32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_f32$0; + label$1 : { + label$2 : { + if (!(Math_fround(HEAPF32[($4 + 24 | 0) >> 2]) >= Math_fround(0 | 0) & 1 | 0)) { + break label$2 + } + HEAPF32[($4 + 4 | 0) >> 2] = Math_fround(Math_fround(Math_fround(HEAPF32[($4 + 24 | 0) >> 2]) - Math_fround(HEAPF32[($4 + 12 | 0) >> 2])) / Math_fround(Math_fround(HEAPF32[($4 + 24 | 0) >> 2]) + Math_fround(HEAPF32[($4 + 12 | 0) >> 2]))); + HEAPF32[($4 + 8 | 0) >> 2] = Math_fround(Math_fround(Math_fround(-Math_fround(HEAPF32[($4 + 20 | 0) >> 2])) * Math_fround(HEAPF32[($4 + 4 | 0) >> 2])) + Math_fround(HEAPF32[($4 + 20 | 0) >> 2])); + break label$1; + } + HEAPF32[$4 >> 2] = Math_fround(Math_fround(Math_fround(HEAPF32[($4 + 24 | 0) >> 2]) + Math_fround(HEAPF32[($4 + 12 | 0) >> 2])) / Math_fround(Math_fround(HEAPF32[($4 + 12 | 0) >> 2]) - Math_fround(HEAPF32[($4 + 24 | 0) >> 2]))); + HEAPF32[($4 + 8 | 0) >> 2] = Math_fround(Math_fround(Math_fround(-Math_fround(HEAPF32[($4 + 20 | 0) >> 2])) * Math_fround(HEAPF32[$4 >> 2])) + Math_fround(HEAPF32[($4 + 16 | 0) >> 2])); + } + label$3 : { + label$4 : { + if (!(Math_fround(HEAPF32[($4 + 28 | 0) >> 2]) < Math_fround(0 | 0) & 1 | 0)) { + break label$4 + } + $51 = Math_fround(-Math_fround(HEAPF32[($4 + 8 | 0) >> 2])); + break label$3; + } + $51 = Math_fround(HEAPF32[($4 + 8 | 0) >> 2]); + } + __stack_pointer = $4 + 32 | 0; + return Math_fround($51); + } + + function btAngleCompareFunc__btAngleCompareFunc_28btVector3_20const__29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var i64toi32_i32$2 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $4 = 0, $5 = 0, $8 = 0, $27 = 0, $37 = 0; + $4 = __stack_pointer - 16 | 0; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($4 + 8 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $27 = i64toi32_i32$0; + i64toi32_i32$0 = $5; + HEAP32[i64toi32_i32$0 >> 2] = $27; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $8 = 8; + i64toi32_i32$2 = i64toi32_i32$2 + $8 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $37 = i64toi32_i32$1; + i64toi32_i32$1 = $5 + $8 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $37; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + return $5 | 0; + } + + function void_20btAlignedObjectArray_GrahamVector3___quickSortInternal_btAngleCompareFunc__28btAngleCompareFunc_20const__2c_20int_2c_20int_29($0, $1, $2, $3) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + var $6 = 0, i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, i64toi32_i32$1 = 0, $7 = 0, $18 = 0, $19 = 0, $23 = 0, $148 = 0, $158 = 0, $162 = 0; + $6 = __stack_pointer - 48 | 0; + __stack_pointer = $6; + HEAP32[($6 + 44 | 0) >> 2] = $0; + HEAP32[($6 + 40 | 0) >> 2] = $1; + HEAP32[($6 + 36 | 0) >> 2] = $2; + HEAP32[($6 + 32 | 0) >> 2] = $3; + $7 = HEAP32[($6 + 44 | 0) >> 2] | 0; + HEAP32[($6 + 28 | 0) >> 2] = HEAP32[($6 + 36 | 0) >> 2] | 0; + HEAP32[($6 + 24 | 0) >> 2] = HEAP32[($6 + 32 | 0) >> 2] | 0; + $18 = (HEAP32[($7 + 12 | 0) >> 2] | 0) + Math_imul(((HEAP32[($6 + 36 | 0) >> 2] | 0) + (HEAP32[($6 + 32 | 0) >> 2] | 0) | 0 | 0) / (2 | 0) | 0, 24) | 0; + $19 = 16; + i64toi32_i32$2 = $18 + $19 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $148 = i64toi32_i32$0; + i64toi32_i32$0 = $6 + $19 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $148; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $23 = 8; + i64toi32_i32$2 = $18 + $23 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $158 = i64toi32_i32$1; + i64toi32_i32$1 = $6 + $23 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $158; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$2 = $18; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $162 = i64toi32_i32$0; + i64toi32_i32$0 = $6; + HEAP32[$6 >> 2] = $162; + HEAP32[($6 + 4 | 0) >> 2] = i64toi32_i32$1; + label$1 : while (1) { + label$2 : { + label$3 : while (1) { + if (!((btAngleCompareFunc__operator_28_29_28GrahamVector3_20const__2c_20GrahamVector3_20const__29_20const(HEAP32[($6 + 40 | 0) >> 2] | 0 | 0, (HEAP32[($7 + 12 | 0) >> 2] | 0) + Math_imul(HEAP32[($6 + 28 | 0) >> 2] | 0, 24) | 0 | 0, $6 | 0) | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($6 + 28 | 0) >> 2] = (HEAP32[($6 + 28 | 0) >> 2] | 0) + 1 | 0; + continue label$3; + }; + } + label$4 : { + label$5 : while (1) { + if (!((btAngleCompareFunc__operator_28_29_28GrahamVector3_20const__2c_20GrahamVector3_20const__29_20const(HEAP32[($6 + 40 | 0) >> 2] | 0 | 0, $6 | 0, (HEAP32[($7 + 12 | 0) >> 2] | 0) + Math_imul(HEAP32[($6 + 24 | 0) >> 2] | 0, 24) | 0 | 0) | 0) & 1 | 0)) { + break label$4 + } + HEAP32[($6 + 24 | 0) >> 2] = (HEAP32[($6 + 24 | 0) >> 2] | 0) + -1 | 0; + continue label$5; + }; + } + label$6 : { + if (!((HEAP32[($6 + 28 | 0) >> 2] | 0 | 0) <= (HEAP32[($6 + 24 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$6 + } + btAlignedObjectArray_GrahamVector3___swap_28int_2c_20int_29($7 | 0, HEAP32[($6 + 28 | 0) >> 2] | 0 | 0, HEAP32[($6 + 24 | 0) >> 2] | 0 | 0); + HEAP32[($6 + 28 | 0) >> 2] = (HEAP32[($6 + 28 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($6 + 24 | 0) >> 2] = (HEAP32[($6 + 24 | 0) >> 2] | 0) + -1 | 0; + } + if ((HEAP32[($6 + 28 | 0) >> 2] | 0 | 0) <= (HEAP32[($6 + 24 | 0) >> 2] | 0 | 0) & 1 | 0) { + continue label$1 + } + break label$1; + }; + label$7 : { + if (!((HEAP32[($6 + 36 | 0) >> 2] | 0 | 0) < (HEAP32[($6 + 24 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$7 + } + void_20btAlignedObjectArray_GrahamVector3___quickSortInternal_btAngleCompareFunc__28btAngleCompareFunc_20const__2c_20int_2c_20int_29($7 | 0, HEAP32[($6 + 40 | 0) >> 2] | 0 | 0, HEAP32[($6 + 36 | 0) >> 2] | 0 | 0, HEAP32[($6 + 24 | 0) >> 2] | 0 | 0); + } + label$8 : { + if (!((HEAP32[($6 + 28 | 0) >> 2] | 0 | 0) < (HEAP32[($6 + 32 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$8 + } + void_20btAlignedObjectArray_GrahamVector3___quickSortInternal_btAngleCompareFunc__28btAngleCompareFunc_20const__2c_20int_2c_20int_29($7 | 0, HEAP32[($6 + 40 | 0) >> 2] | 0 | 0, HEAP32[($6 + 28 | 0) >> 2] | 0 | 0, HEAP32[($6 + 32 | 0) >> 2] | 0 | 0); + } + __stack_pointer = $6 + 48 | 0; + return; + } + + function btCross_28btVector3_20const__2c_20btVector3_20const__29($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $5 = 0; + $5 = __stack_pointer - 16 | 0; + __stack_pointer = $5; + HEAP32[($5 + 12 | 0) >> 2] = $1; + HEAP32[($5 + 8 | 0) >> 2] = $2; + btVector3__cross_28btVector3_20const__29_20const($0 | 0, HEAP32[($5 + 12 | 0) >> 2] | 0 | 0, HEAP32[($5 + 8 | 0) >> 2] | 0 | 0); + __stack_pointer = $5 + 16 | 0; + return; + } + + function btAlignedObjectArray_GrahamVector3___pop_back_28_29($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + label$1 : { + if ((HEAP32[($4 + 4 | 0) >> 2] | 0 | 0) > (0 | 0) & 1 | 0) { + break label$1 + } + __assert_fail(85800 | 0, 78192 | 0, 201 | 0, 77711 | 0); + wasm2js_trap(); + } + HEAP32[($4 + 4 | 0) >> 2] = (HEAP32[($4 + 4 | 0) >> 2] | 0) + -1 | 0; + __stack_pointer = $3 + 16 | 0; + return; + } + + function btAlignedObjectArray_btFace___capacity_28_29_20const($0) { + $0 = $0 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + return HEAP32[((HEAP32[($3 + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0; + } + + function btAlignedObjectArray_btFace___allocSize_28int_29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, $9 = 0; + $4 = __stack_pointer - 16 | 0; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + label$1 : { + label$2 : { + if (!(HEAP32[($4 + 8 | 0) >> 2] | 0)) { + break label$2 + } + $9 = (HEAP32[($4 + 8 | 0) >> 2] | 0) << 1 | 0; + break label$1; + } + $9 = 1; + } + return $9 | 0; + } + + function btAlignedObjectArray_GrahamVector3___clear_28_29($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + btAlignedObjectArray_GrahamVector3___destroy_28int_2c_20int_29($4 | 0, 0 | 0, btAlignedObjectArray_GrahamVector3___size_28_29_20const($4 | 0) | 0 | 0); + btAlignedObjectArray_GrahamVector3___deallocate_28_29($4 | 0); + btAlignedObjectArray_GrahamVector3___init_28_29($4 | 0); + __stack_pointer = $3 + 16 | 0; + return; + } + + function btAlignedObjectArray_int___btAlignedObjectArray_28btAlignedObjectArray_int__20const__29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, $5 = 0, $8 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; + btAlignedAllocator_int_2c_2016u___btAlignedAllocator_28_29($5 | 0) | 0; + btAlignedObjectArray_int___init_28_29($5 | 0); + (wasm2js_i32$0 = $4, wasm2js_i32$1 = btAlignedObjectArray_int___size_28_29_20const(HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + $8 = HEAP32[($4 + 4 | 0) >> 2] | 0; + HEAP32[$4 >> 2] = 0; + btAlignedObjectArray_int___resize_28int_2c_20int_20const__29($5 | 0, $8 | 0, $4 | 0); + btAlignedObjectArray_int___copy_28int_2c_20int_2c_20int__29_20const(HEAP32[($4 + 8 | 0) >> 2] | 0 | 0, 0 | 0, HEAP32[($4 + 4 | 0) >> 2] | 0 | 0, HEAP32[($5 + 12 | 0) >> 2] | 0 | 0); + __stack_pointer = $4 + 16 | 0; + return $5 | 0; + } + + function btAlignedObjectArray_btFace___clear_28_29($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + btAlignedObjectArray_btFace___destroy_28int_2c_20int_29($4 | 0, 0 | 0, btAlignedObjectArray_btFace___size_28_29_20const($4 | 0) | 0 | 0); + btAlignedObjectArray_btFace___deallocate_28_29($4 | 0); + btAlignedObjectArray_btFace___init_28_29($4 | 0); + __stack_pointer = $3 + 16 | 0; + return; + } + + function btAlignedObjectArray_btConvexHullComputer__Edge____btAlignedObjectArray_28_29($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + btAlignedObjectArray_btConvexHullComputer__Edge___clear_28_29($4 | 0); + __stack_pointer = $3 + 16 | 0; + return $4 | 0; + } + + function btPolyhedralConvexShape__localGetSupportingVertexWithoutMargin_28btVector3_20const__29_20const($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $5 = 0, i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, i64toi32_i32$1 = 0, $6 = 0, $23 = 0, $24 = 0, $82 = 0, $85 = 0, $86 = 0, $88 = 0, $110 = 0, $159 = 0, $224 = 0, $228 = 0, $84 = 0, $485 = 0, $495 = 0, wasm2js_i32$0 = 0, wasm2js_f32$0 = Math_fround(0), wasm2js_i32$1 = 0; + $5 = __stack_pointer - 2160 | 0; + __stack_pointer = $5; + HEAP32[($5 + 2156 | 0) >> 2] = $1; + HEAP32[($5 + 2152 | 0) >> 2] = $2; + $6 = HEAP32[($5 + 2156 | 0) >> 2] | 0; + HEAPF32[($5 + 2148 | 0) >> 2] = Math_fround(0 | 0); + HEAPF32[($5 + 2144 | 0) >> 2] = Math_fround(0 | 0); + HEAPF32[($5 + 2140 | 0) >> 2] = Math_fround(0 | 0); + btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($0 | 0, $5 + 2148 | 0 | 0, $5 + 2144 | 0 | 0, $5 + 2140 | 0 | 0) | 0; + HEAPF32[($5 + 2132 | 0) >> 2] = Math_fround(-999999984306749440.0); + $23 = HEAP32[($5 + 2152 | 0) >> 2] | 0; + $24 = 8; + i64toi32_i32$2 = $23 + $24 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $224 = i64toi32_i32$0; + i64toi32_i32$0 = ($5 + 2112 | 0) + $24 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $224; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$2 = $23; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $228 = i64toi32_i32$1; + i64toi32_i32$1 = $5; + HEAP32[($5 + 2112 | 0) >> 2] = $228; + HEAP32[($5 + 2116 | 0) >> 2] = i64toi32_i32$0; + (wasm2js_i32$0 = $5, wasm2js_f32$0 = Math_fround(btVector3__length2_28_29_20const($5 + 2112 | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 2108 | 0) >> 2] = wasm2js_f32$0; + label$1 : { + label$2 : { + if (!(Math_fround(HEAPF32[($5 + 2108 | 0) >> 2]) < Math_fround(9.999999747378752e-05) & 1 | 0)) { + break label$2 + } + HEAPF32[($5 + 2104 | 0) >> 2] = Math_fround(1.0); + HEAPF32[($5 + 2100 | 0) >> 2] = Math_fround(0 | 0); + HEAPF32[($5 + 2096 | 0) >> 2] = Math_fround(0 | 0); + btVector3__setValue_28float_20const__2c_20float_20const__2c_20float_20const__29($5 + 2112 | 0 | 0, $5 + 2104 | 0 | 0, $5 + 2100 | 0 | 0, $5 + 2096 | 0 | 0); + break label$1; + } + (wasm2js_i32$0 = $5, wasm2js_f32$0 = Math_fround(Math_fround(1.0) / Math_fround(btSqrt_28float_29(Math_fround(Math_fround(HEAPF32[($5 + 2108 | 0) >> 2])))))), HEAPF32[(wasm2js_i32$0 + 2092 | 0) >> 2] = wasm2js_f32$0; + btVector3__operator___28float_20const__29_1($5 + 2112 | 0 | 0, $5 + 2092 | 0 | 0) | 0; + } + btVector3__btVector3_28_29($5 + 2076 | 0 | 0) | 0; + HEAP32[($5 + 2068 | 0) >> 2] = 0; + label$3 : { + label$4 : while (1) { + if (!((HEAP32[($5 + 2068 | 0) >> 2] | 0 | 0) < (FUNCTION_TABLE[HEAP32[((HEAP32[$6 >> 2] | 0) + 96 | 0) >> 2] | 0 | 0]($6) | 0 | 0) & 1 | 0)) { + break label$3 + } + $82 = $5 + 16 | 0; + $84 = $82 + 2048 | 0; + $85 = $82; + label$5 : while (1) { + $86 = $85; + btVector3__btVector3_28_29($86 | 0) | 0; + $88 = $86 + 16 | 0; + $85 = $88; + if (!(($88 | 0) == ($84 | 0) & 1 | 0)) { + continue label$5 + } + break label$5; + }; + label$6 : { + label$7 : { + if (!(((FUNCTION_TABLE[HEAP32[((HEAP32[$6 >> 2] | 0) + 96 | 0) >> 2] | 0 | 0]($6) | 0) - (HEAP32[($5 + 2068 | 0) >> 2] | 0) | 0 | 0) < (128 | 0) & 1 | 0)) { + break label$7 + } + $110 = (FUNCTION_TABLE[HEAP32[((HEAP32[$6 >> 2] | 0) + 96 | 0) >> 2] | 0 | 0]($6) | 0) - (HEAP32[($5 + 2068 | 0) >> 2] | 0) | 0; + break label$6; + } + $110 = 128; + } + HEAP32[($5 + 12 | 0) >> 2] = $110; + HEAP32[($5 + 2136 | 0) >> 2] = 0; + label$8 : { + label$9 : while (1) { + if (!((HEAP32[($5 + 2136 | 0) >> 2] | 0 | 0) < (HEAP32[($5 + 12 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$8 + } + FUNCTION_TABLE[HEAP32[((HEAP32[$6 >> 2] | 0) + 108 | 0) >> 2] | 0 | 0]($6, HEAP32[($5 + 2136 | 0) >> 2] | 0, ($5 + 16 | 0) + ((HEAP32[($5 + 2136 | 0) >> 2] | 0) << 4 | 0) | 0); + HEAP32[($5 + 2136 | 0) >> 2] = (HEAP32[($5 + 2136 | 0) >> 2] | 0) + 1 | 0; + continue label$9; + }; + } + (wasm2js_i32$0 = $5, wasm2js_i32$1 = btVector3__maxDot_28btVector3_20const__2c_20long_2c_20float__29_20const($5 + 2112 | 0 | 0, $5 + 16 | 0 | 0, HEAP32[($5 + 12 | 0) >> 2] | 0 | 0, $5 + 2072 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 2136 | 0) >> 2] = wasm2js_i32$1; + label$10 : { + if (!(Math_fround(HEAPF32[($5 + 2072 | 0) >> 2]) > Math_fround(HEAPF32[($5 + 2132 | 0) >> 2]) & 1 | 0)) { + break label$10 + } + HEAPF32[($5 + 2132 | 0) >> 2] = Math_fround(HEAPF32[($5 + 2072 | 0) >> 2]); + i64toi32_i32$2 = ($5 + 16 | 0) + ((HEAP32[($5 + 2136 | 0) >> 2] | 0) << 4 | 0) | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $485 = i64toi32_i32$0; + i64toi32_i32$0 = $0; + HEAP32[i64toi32_i32$0 >> 2] = $485; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $159 = 8; + i64toi32_i32$2 = i64toi32_i32$2 + $159 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $495 = i64toi32_i32$1; + i64toi32_i32$1 = $0 + $159 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $495; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + } + HEAP32[($5 + 2068 | 0) >> 2] = (HEAP32[($5 + 2068 | 0) >> 2] | 0) + 128 | 0; + continue label$4; + }; + } + __stack_pointer = $5 + 2160 | 0; + return; + } + + function btPolyhedralConvexShape__batchedUnitVectorGetSupportingVertexWithoutMargin_28btVector3_20const__2c_20btVector3__2c_20int_29_20const($0, $1, $2, $3) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + var $6 = 0, $7 = 0, i64toi32_i32$2 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $54 = 0, $57 = 0, $58 = 0, $60 = 0, $82 = 0, $137 = 0, $139 = 0, $56 = 0, $442 = 0, $452 = 0, $143 = Math_fround(0), wasm2js_i32$0 = 0, wasm2js_f32$0 = Math_fround(0), wasm2js_i32$1 = 0; + $6 = __stack_pointer - 2128 | 0; + __stack_pointer = $6; + HEAP32[($6 + 2124 | 0) >> 2] = $0; + HEAP32[($6 + 2120 | 0) >> 2] = $1; + HEAP32[($6 + 2116 | 0) >> 2] = $2; + HEAP32[($6 + 2112 | 0) >> 2] = $3; + $7 = HEAP32[($6 + 2124 | 0) >> 2] | 0; + btVector3__btVector3_28_29($6 + 2092 | 0 | 0) | 0; + HEAP32[($6 + 2108 | 0) >> 2] = 0; + label$1 : { + label$2 : while (1) { + if (!((HEAP32[($6 + 2108 | 0) >> 2] | 0 | 0) < (HEAP32[($6 + 2112 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$1 + } + (wasm2js_i32$0 = btVector3__operator_20float__28_29((HEAP32[($6 + 2116 | 0) >> 2] | 0) + ((HEAP32[($6 + 2108 | 0) >> 2] | 0) << 4 | 0) | 0 | 0) | 0, wasm2js_f32$0 = Math_fround(-999999984306749440.0)), HEAPF32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_f32$0; + HEAP32[($6 + 2108 | 0) >> 2] = (HEAP32[($6 + 2108 | 0) >> 2] | 0) + 1 | 0; + continue label$2; + }; + } + HEAP32[($6 + 2084 | 0) >> 2] = 0; + label$3 : { + label$4 : while (1) { + if (!((HEAP32[($6 + 2084 | 0) >> 2] | 0 | 0) < (HEAP32[($6 + 2112 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$3 + } + HEAP32[($6 + 2080 | 0) >> 2] = (HEAP32[($6 + 2120 | 0) >> 2] | 0) + ((HEAP32[($6 + 2084 | 0) >> 2] | 0) << 4 | 0) | 0; + HEAP32[($6 + 2076 | 0) >> 2] = 0; + label$5 : { + label$6 : while (1) { + if (!((HEAP32[($6 + 2076 | 0) >> 2] | 0 | 0) < (FUNCTION_TABLE[HEAP32[((HEAP32[$7 >> 2] | 0) + 96 | 0) >> 2] | 0 | 0]($7) | 0 | 0) & 1 | 0)) { + break label$5 + } + $54 = $6 + 16 | 0; + $56 = $54 + 2048 | 0; + $57 = $54; + label$7 : while (1) { + $58 = $57; + btVector3__btVector3_28_29($58 | 0) | 0; + $60 = $58 + 16 | 0; + $57 = $60; + if (!(($60 | 0) == ($56 | 0) & 1 | 0)) { + continue label$7 + } + break label$7; + }; + label$8 : { + label$9 : { + if (!(((FUNCTION_TABLE[HEAP32[((HEAP32[$7 >> 2] | 0) + 96 | 0) >> 2] | 0 | 0]($7) | 0) - (HEAP32[($6 + 2076 | 0) >> 2] | 0) | 0 | 0) < (128 | 0) & 1 | 0)) { + break label$9 + } + $82 = (FUNCTION_TABLE[HEAP32[((HEAP32[$7 >> 2] | 0) + 96 | 0) >> 2] | 0 | 0]($7) | 0) - (HEAP32[($6 + 2076 | 0) >> 2] | 0) | 0; + break label$8; + } + $82 = 128; + } + HEAP32[($6 + 12 | 0) >> 2] = $82; + HEAP32[($6 + 2108 | 0) >> 2] = 0; + label$10 : { + label$11 : while (1) { + if (!((HEAP32[($6 + 2108 | 0) >> 2] | 0 | 0) < (HEAP32[($6 + 12 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$10 + } + FUNCTION_TABLE[HEAP32[((HEAP32[$7 >> 2] | 0) + 108 | 0) >> 2] | 0 | 0]($7, HEAP32[($6 + 2108 | 0) >> 2] | 0, ($6 + 16 | 0) + ((HEAP32[($6 + 2108 | 0) >> 2] | 0) << 4 | 0) | 0); + HEAP32[($6 + 2108 | 0) >> 2] = (HEAP32[($6 + 2108 | 0) >> 2] | 0) + 1 | 0; + continue label$11; + }; + } + (wasm2js_i32$0 = $6, wasm2js_i32$1 = btVector3__maxDot_28btVector3_20const__2c_20long_2c_20float__29_20const(HEAP32[($6 + 2080 | 0) >> 2] | 0 | 0, $6 + 16 | 0 | 0, HEAP32[($6 + 12 | 0) >> 2] | 0 | 0, $6 + 2088 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 2108 | 0) >> 2] = wasm2js_i32$1; + label$12 : { + if (!(Math_fround(HEAPF32[($6 + 2088 | 0) >> 2]) > Math_fround(HEAPF32[((btVector3__operator_20float__28_29((HEAP32[($6 + 2116 | 0) >> 2] | 0) + ((HEAP32[($6 + 2084 | 0) >> 2] | 0) << 4 | 0) | 0 | 0) | 0) + 12 | 0) >> 2]) & 1 | 0)) { + break label$12 + } + $137 = (HEAP32[($6 + 2116 | 0) >> 2] | 0) + ((HEAP32[($6 + 2084 | 0) >> 2] | 0) << 4 | 0) | 0; + i64toi32_i32$2 = ($6 + 16 | 0) + ((HEAP32[($6 + 2108 | 0) >> 2] | 0) << 4 | 0) | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $442 = i64toi32_i32$0; + i64toi32_i32$0 = $137; + HEAP32[i64toi32_i32$0 >> 2] = $442; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $139 = 8; + i64toi32_i32$2 = i64toi32_i32$2 + $139 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $452 = i64toi32_i32$1; + i64toi32_i32$1 = $137 + $139 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $452; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + $143 = Math_fround(HEAPF32[($6 + 2088 | 0) >> 2]); + (wasm2js_i32$0 = btVector3__operator_20float__28_29((HEAP32[($6 + 2116 | 0) >> 2] | 0) + ((HEAP32[($6 + 2084 | 0) >> 2] | 0) << 4 | 0) | 0 | 0) | 0, wasm2js_f32$0 = $143), HEAPF32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_f32$0; + } + HEAP32[($6 + 2076 | 0) >> 2] = (HEAP32[($6 + 2076 | 0) >> 2] | 0) + 128 | 0; + continue label$6; + }; + } + HEAP32[($6 + 2084 | 0) >> 2] = (HEAP32[($6 + 2084 | 0) >> 2] | 0) + 1 | 0; + continue label$4; + }; + } + __stack_pointer = $6 + 2128 | 0; + return; + } + + function btPolyhedralConvexShape__calculateLocalInertia_28float_2c_20btVector3__29_20const($0, $1, $2) { + $0 = $0 | 0; + $1 = Math_fround($1); + $2 = $2 | 0; + var $5 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $6 = 0, i64toi32_i32$2 = 0, $121 = 0, $123 = 0, $385 = 0, $398 = 0, wasm2js_i32$0 = 0, wasm2js_f32$0 = Math_fround(0); + $5 = __stack_pointer - 224 | 0; + __stack_pointer = $5; + HEAP32[($5 + 220 | 0) >> 2] = $0; + HEAPF32[($5 + 216 | 0) >> 2] = $1; + HEAP32[($5 + 212 | 0) >> 2] = $2; + $6 = HEAP32[($5 + 220 | 0) >> 2] | 0; + (wasm2js_i32$0 = $5, wasm2js_f32$0 = Math_fround(FUNCTION_TABLE[HEAP32[((HEAP32[$6 >> 2] | 0) + 48 | 0) >> 2] | 0 | 0]($6))), HEAPF32[(wasm2js_i32$0 + 208 | 0) >> 2] = wasm2js_f32$0; + btTransform__btTransform_28_29($5 + 144 | 0 | 0) | 0; + btTransform__setIdentity_28_29($5 + 144 | 0 | 0); + btVector3__btVector3_28_29($5 + 128 | 0 | 0) | 0; + btVector3__btVector3_28_29($5 + 112 | 0 | 0) | 0; + FUNCTION_TABLE[HEAP32[((HEAP32[$6 >> 2] | 0) + 8 | 0) >> 2] | 0 | 0]($6, $5 + 144 | 0, $5 + 128 | 0, $5 + 112 | 0); + operator__28btVector3_20const__2c_20btVector3_20const__29($5 + 80 | 0 | 0, $5 + 112 | 0 | 0, $5 + 128 | 0 | 0); + HEAPF32[($5 + 76 | 0) >> 2] = Math_fround(.5); + operator__28btVector3_20const__2c_20float_20const__29($5 + 96 | 0 | 0, $5 + 80 | 0 | 0, $5 + 76 | 0 | 0); + (wasm2js_i32$0 = $5, wasm2js_f32$0 = Math_fround(Math_fround(2.0) * Math_fround(Math_fround(HEAPF32[(btVector3__x_28_29_20const($5 + 96 | 0 | 0) | 0) >> 2]) + Math_fround(HEAPF32[($5 + 208 | 0) >> 2])))), HEAPF32[(wasm2js_i32$0 + 72 | 0) >> 2] = wasm2js_f32$0; + (wasm2js_i32$0 = $5, wasm2js_f32$0 = Math_fround(Math_fround(2.0) * Math_fround(Math_fround(HEAPF32[(btVector3__y_28_29_20const($5 + 96 | 0 | 0) | 0) >> 2]) + Math_fround(HEAPF32[($5 + 208 | 0) >> 2])))), HEAPF32[(wasm2js_i32$0 + 68 | 0) >> 2] = wasm2js_f32$0; + (wasm2js_i32$0 = $5, wasm2js_f32$0 = Math_fround(Math_fround(2.0) * Math_fround(Math_fround(HEAPF32[(btVector3__z_28_29_20const($5 + 96 | 0 | 0) | 0) >> 2]) + Math_fround(HEAPF32[($5 + 208 | 0) >> 2])))), HEAPF32[(wasm2js_i32$0 + 64 | 0) >> 2] = wasm2js_f32$0; + HEAPF32[($5 + 60 | 0) >> 2] = Math_fround(Math_fround(HEAPF32[($5 + 72 | 0) >> 2]) * Math_fround(HEAPF32[($5 + 72 | 0) >> 2])); + HEAPF32[($5 + 56 | 0) >> 2] = Math_fround(Math_fround(HEAPF32[($5 + 68 | 0) >> 2]) * Math_fround(HEAPF32[($5 + 68 | 0) >> 2])); + HEAPF32[($5 + 52 | 0) >> 2] = Math_fround(Math_fround(HEAPF32[($5 + 64 | 0) >> 2]) * Math_fround(HEAPF32[($5 + 64 | 0) >> 2])); + HEAPF32[($5 + 48 | 0) >> 2] = Math_fround(Math_fround(HEAPF32[($5 + 216 | 0) >> 2]) * Math_fround(.0833333283662796)); + HEAPF32[($5 + 12 | 0) >> 2] = Math_fround(Math_fround(HEAPF32[($5 + 56 | 0) >> 2]) + Math_fround(HEAPF32[($5 + 52 | 0) >> 2])); + HEAPF32[($5 + 8 | 0) >> 2] = Math_fround(Math_fround(HEAPF32[($5 + 60 | 0) >> 2]) + Math_fround(HEAPF32[($5 + 52 | 0) >> 2])); + HEAPF32[($5 + 4 | 0) >> 2] = Math_fround(Math_fround(HEAPF32[($5 + 60 | 0) >> 2]) + Math_fround(HEAPF32[($5 + 56 | 0) >> 2])); + btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($5 + 16 | 0 | 0, $5 + 12 | 0 | 0, $5 + 8 | 0 | 0, $5 + 4 | 0 | 0) | 0; + operator__28float_20const__2c_20btVector3_20const__29($5 + 32 | 0 | 0, $5 + 48 | 0 | 0, $5 + 16 | 0 | 0); + $121 = HEAP32[($5 + 212 | 0) >> 2] | 0; + i64toi32_i32$2 = $5; + i64toi32_i32$0 = HEAP32[($5 + 32 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($5 + 36 | 0) >> 2] | 0; + $385 = i64toi32_i32$0; + i64toi32_i32$0 = $121; + HEAP32[i64toi32_i32$0 >> 2] = $385; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $123 = 8; + i64toi32_i32$2 = ($5 + 32 | 0) + $123 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $398 = i64toi32_i32$1; + i64toi32_i32$1 = $121 + $123 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $398; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + __stack_pointer = $5 + 224 | 0; + return; + } + + function btPolyhedralConvexAabbCachingShape__setLocalScaling_28btVector3_20const__29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, $5 = 0; + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; + btConvexInternalShape__setLocalScaling_28btVector3_20const__29($5 | 0, HEAP32[($4 + 8 | 0) >> 2] | 0 | 0); + btPolyhedralConvexAabbCachingShape__recalcLocalAabb_28_29($5 | 0); + __stack_pointer = $4 + 16 | 0; + return; + } + + function btPolyhedralConvexAabbCachingShape__recalcLocalAabb_28_29($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0, $120 = 0, $137 = 0, $154 = 0, $171 = 0, $188 = 0, $250 = Math_fround(0), $274 = Math_fround(0), wasm2js_i32$0 = 0, wasm2js_f32$0 = Math_fround(0); + $3 = __stack_pointer - 256 | 0; + __stack_pointer = $3; + HEAP32[($3 + 252 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 252 | 0) >> 2] | 0; + HEAP8[($4 + 96 | 0) >> 0] = 1; + label$1 : { + if (!(((HEAPU8[(0 + 114272 | 0) >> 0] | 0) & 255 | 0 | 0) == (0 & 255 | 0 | 0) & 1 | 0)) { + break label$1 + } + HEAPF32[($3 + 248 | 0) >> 2] = Math_fround(1.0); + HEAPF32[($3 + 244 | 0) >> 2] = Math_fround(0 | 0); + HEAPF32[($3 + 240 | 0) >> 2] = Math_fround(0 | 0); + btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29(114176 | 0, $3 + 248 | 0 | 0, $3 + 244 | 0 | 0, $3 + 240 | 0 | 0) | 0; + HEAPF32[($3 + 236 | 0) >> 2] = Math_fround(0 | 0); + HEAPF32[($3 + 232 | 0) >> 2] = Math_fround(1.0); + HEAPF32[($3 + 228 | 0) >> 2] = Math_fround(0 | 0); + btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29(114176 + 16 | 0 | 0, $3 + 236 | 0 | 0, $3 + 232 | 0 | 0, $3 + 228 | 0 | 0) | 0; + HEAPF32[($3 + 224 | 0) >> 2] = Math_fround(0 | 0); + HEAPF32[($3 + 220 | 0) >> 2] = Math_fround(0 | 0); + HEAPF32[($3 + 216 | 0) >> 2] = Math_fround(1.0); + btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29(114176 + 32 | 0 | 0, $3 + 224 | 0 | 0, $3 + 220 | 0 | 0, $3 + 216 | 0 | 0) | 0; + HEAPF32[($3 + 212 | 0) >> 2] = Math_fround(-1.0); + HEAPF32[($3 + 208 | 0) >> 2] = Math_fround(0 | 0); + HEAPF32[($3 + 204 | 0) >> 2] = Math_fround(0 | 0); + btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29(114176 + 48 | 0 | 0, $3 + 212 | 0 | 0, $3 + 208 | 0 | 0, $3 + 204 | 0 | 0) | 0; + HEAPF32[($3 + 200 | 0) >> 2] = Math_fround(0 | 0); + HEAPF32[($3 + 196 | 0) >> 2] = Math_fround(-1.0); + HEAPF32[($3 + 192 | 0) >> 2] = Math_fround(0 | 0); + btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29(114176 + 64 | 0 | 0, $3 + 200 | 0 | 0, $3 + 196 | 0 | 0, $3 + 192 | 0 | 0) | 0; + HEAPF32[($3 + 188 | 0) >> 2] = Math_fround(0 | 0); + HEAPF32[($3 + 184 | 0) >> 2] = Math_fround(0 | 0); + HEAPF32[($3 + 180 | 0) >> 2] = Math_fround(-1.0); + btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29(114176 + 80 | 0 | 0, $3 + 188 | 0 | 0, $3 + 184 | 0 | 0, $3 + 180 | 0 | 0) | 0; + HEAP8[(0 + 114272 | 0) >> 0] = 1; + } + $120 = $3 + 80 | 0; + HEAPF32[($3 + 76 | 0) >> 2] = Math_fround(0 | 0); + HEAPF32[($3 + 72 | 0) >> 2] = Math_fround(0 | 0); + HEAPF32[($3 + 68 | 0) >> 2] = Math_fround(0 | 0); + btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($120 | 0, $3 + 76 | 0 | 0, $3 + 72 | 0 | 0, $3 + 68 | 0 | 0) | 0; + $137 = $120 + 16 | 0; + HEAPF32[($3 + 64 | 0) >> 2] = Math_fround(0 | 0); + HEAPF32[($3 + 60 | 0) >> 2] = Math_fround(0 | 0); + HEAPF32[($3 + 56 | 0) >> 2] = Math_fround(0 | 0); + btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($137 | 0, $3 + 64 | 0 | 0, $3 + 60 | 0 | 0, $3 + 56 | 0 | 0) | 0; + $154 = $137 + 16 | 0; + HEAPF32[($3 + 52 | 0) >> 2] = Math_fround(0 | 0); + HEAPF32[($3 + 48 | 0) >> 2] = Math_fround(0 | 0); + HEAPF32[($3 + 44 | 0) >> 2] = Math_fround(0 | 0); + btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($154 | 0, $3 + 52 | 0 | 0, $3 + 48 | 0 | 0, $3 + 44 | 0 | 0) | 0; + $171 = $154 + 16 | 0; + HEAPF32[($3 + 40 | 0) >> 2] = Math_fround(0 | 0); + HEAPF32[($3 + 36 | 0) >> 2] = Math_fround(0 | 0); + HEAPF32[($3 + 32 | 0) >> 2] = Math_fround(0 | 0); + btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($171 | 0, $3 + 40 | 0 | 0, $3 + 36 | 0 | 0, $3 + 32 | 0 | 0) | 0; + $188 = $171 + 16 | 0; + HEAPF32[($3 + 28 | 0) >> 2] = Math_fround(0 | 0); + HEAPF32[($3 + 24 | 0) >> 2] = Math_fround(0 | 0); + HEAPF32[($3 + 20 | 0) >> 2] = Math_fround(0 | 0); + btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($188 | 0, $3 + 28 | 0 | 0, $3 + 24 | 0 | 0, $3 + 20 | 0 | 0) | 0; + HEAPF32[($3 + 16 | 0) >> 2] = Math_fround(0 | 0); + HEAPF32[($3 + 12 | 0) >> 2] = Math_fround(0 | 0); + HEAPF32[($3 + 8 | 0) >> 2] = Math_fround(0 | 0); + btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($188 + 16 | 0 | 0, $3 + 16 | 0 | 0, $3 + 12 | 0 | 0, $3 + 8 | 0 | 0) | 0; + FUNCTION_TABLE[HEAP32[((HEAP32[$4 >> 2] | 0) + 76 | 0) >> 2] | 0 | 0]($4, 114176, $3 + 80 | 0, 6); + HEAP32[($3 + 4 | 0) >> 2] = 0; + label$2 : { + label$3 : while (1) { + if (!((HEAP32[($3 + 4 | 0) >> 2] | 0 | 0) < (3 | 0) & 1 | 0)) { + break label$2 + } + $250 = Math_fround(Math_fround(HEAPF32[((btVector3__operator_20float__28_29(($3 + 80 | 0) + ((HEAP32[($3 + 4 | 0) >> 2] | 0) << 4 | 0) | 0 | 0) | 0) + ((HEAP32[($3 + 4 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2]) + Math_fround(HEAPF32[($4 + 52 | 0) >> 2])); + (wasm2js_i32$0 = (btVector3__operator_20float__28_29($4 + 80 | 0 | 0) | 0) + ((HEAP32[($3 + 4 | 0) >> 2] | 0) << 2 | 0) | 0, wasm2js_f32$0 = $250), HEAPF32[wasm2js_i32$0 >> 2] = wasm2js_f32$0; + $274 = Math_fround(Math_fround(HEAPF32[((btVector3__operator_20float__28_29(($3 + 80 | 0) + (((HEAP32[($3 + 4 | 0) >> 2] | 0) + 3 | 0) << 4 | 0) | 0 | 0) | 0) + ((HEAP32[($3 + 4 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2]) - Math_fround(HEAPF32[($4 + 52 | 0) >> 2])); + (wasm2js_i32$0 = (btVector3__operator_20float__28_29($4 + 64 | 0 | 0) | 0) + ((HEAP32[($3 + 4 | 0) >> 2] | 0) << 2 | 0) | 0, wasm2js_f32$0 = $274), HEAPF32[wasm2js_i32$0 >> 2] = wasm2js_f32$0; + HEAP32[($3 + 4 | 0) >> 2] = (HEAP32[($3 + 4 | 0) >> 2] | 0) + 1 | 0; + continue label$3; + }; + } + __stack_pointer = $3 + 256 | 0; + return; + } + + function btPolyhedralConvexAabbCachingShape__btPolyhedralConvexAabbCachingShape_28_29($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 32 | 0; + __stack_pointer = $3; + HEAP32[($3 + 28 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 28 | 0) >> 2] | 0; + btPolyhedralConvexShape__btPolyhedralConvexShape_28_29($4 | 0) | 0; + HEAP32[$4 >> 2] = 99576 + 8 | 0; + HEAPF32[($3 + 24 | 0) >> 2] = Math_fround(1.0); + HEAPF32[($3 + 20 | 0) >> 2] = Math_fround(1.0); + HEAPF32[($3 + 16 | 0) >> 2] = Math_fround(1.0); + btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($4 + 64 | 0 | 0, $3 + 24 | 0 | 0, $3 + 20 | 0 | 0, $3 + 16 | 0 | 0) | 0; + HEAPF32[($3 + 12 | 0) >> 2] = Math_fround(-1.0); + HEAPF32[($3 + 8 | 0) >> 2] = Math_fround(-1.0); + HEAPF32[($3 + 4 | 0) >> 2] = Math_fround(-1.0); + btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($4 + 80 | 0 | 0, $3 + 12 | 0 | 0, $3 + 8 | 0 | 0, $3 + 4 | 0 | 0) | 0; + HEAP8[($4 + 96 | 0) >> 0] = 0; + __stack_pointer = $3 + 32 | 0; + return $4 | 0; + } + + function btPolyhedralConvexAabbCachingShape__getAabb_28btTransform_20const__2c_20btVector3__2c_20btVector3__29_20const($0, $1, $2, $3) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + var $6 = 0, $7 = 0; + $6 = __stack_pointer - 16 | 0; + __stack_pointer = $6; + HEAP32[($6 + 12 | 0) >> 2] = $0; + HEAP32[($6 + 8 | 0) >> 2] = $1; + HEAP32[($6 + 4 | 0) >> 2] = $2; + HEAP32[$6 >> 2] = $3; + $7 = HEAP32[($6 + 12 | 0) >> 2] | 0; + btPolyhedralConvexAabbCachingShape__getNonvirtualAabb_28btTransform_20const__2c_20btVector3__2c_20btVector3__2c_20float_29_20const($7 | 0, HEAP32[($6 + 8 | 0) >> 2] | 0 | 0, HEAP32[($6 + 4 | 0) >> 2] | 0 | 0, HEAP32[$6 >> 2] | 0 | 0, Math_fround(Math_fround(FUNCTION_TABLE[HEAP32[((HEAP32[$7 >> 2] | 0) + 48 | 0) >> 2] | 0 | 0]($7)))); + __stack_pointer = $6 + 16 | 0; + return; + } + + function btPolyhedralConvexAabbCachingShape___btPolyhedralConvexAabbCachingShape_28_29_1($0) { + $0 = $0 | 0; + HEAP32[((__stack_pointer - 16 | 0) + 12 | 0) >> 2] = $0; + wasm2js_trap(); + } + + function btAlignedAllocator_btConvexHullComputer__Edge_2c_2016u___btAlignedAllocator_28_29($0) { + $0 = $0 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + return HEAP32[($3 + 12 | 0) >> 2] | 0 | 0; + } + + function btAlignedObjectArray_btConvexHullComputer__Edge___init_28_29($0) { + $0 = $0 | 0; + var $4 = 0, $3 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + HEAP8[($4 + 16 | 0) >> 0] = 1; + HEAP32[($4 + 12 | 0) >> 2] = 0; + HEAP32[($4 + 4 | 0) >> 2] = 0; + HEAP32[($4 + 8 | 0) >> 2] = 0; + return; + } + + function btAngleCompareFunc__operator_28_29_28GrahamVector3_20const__2c_20GrahamVector3_20const__29_20const($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $5 = 0, $6 = 0, $58 = 0, wasm2js_i32$0 = 0, wasm2js_f32$0 = Math_fround(0); + $5 = __stack_pointer - 64 | 0; + __stack_pointer = $5; + HEAP32[($5 + 56 | 0) >> 2] = $0; + HEAP32[($5 + 52 | 0) >> 2] = $1; + HEAP32[($5 + 48 | 0) >> 2] = $2; + $6 = HEAP32[($5 + 56 | 0) >> 2] | 0; + label$1 : { + label$2 : { + if (!(Math_fround(HEAPF32[((HEAP32[($5 + 52 | 0) >> 2] | 0) + 16 | 0) >> 2]) != Math_fround(HEAPF32[((HEAP32[($5 + 48 | 0) >> 2] | 0) + 16 | 0) >> 2]) & 1 | 0)) { + break label$2 + } + HEAP8[($5 + 63 | 0) >> 0] = Math_fround(HEAPF32[((HEAP32[($5 + 52 | 0) >> 2] | 0) + 16 | 0) >> 2]) < Math_fround(HEAPF32[((HEAP32[($5 + 48 | 0) >> 2] | 0) + 16 | 0) >> 2]) & 1 | 0; + break label$1; + } + operator__28btVector3_20const__2c_20btVector3_20const__29($5 + 28 | 0 | 0, HEAP32[($5 + 52 | 0) >> 2] | 0 | 0, $6 | 0); + (wasm2js_i32$0 = $5, wasm2js_f32$0 = Math_fround(btVector3__length2_28_29_20const($5 + 28 | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 44 | 0) >> 2] = wasm2js_f32$0; + operator__28btVector3_20const__2c_20btVector3_20const__29($5 + 8 | 0 | 0, HEAP32[($5 + 48 | 0) >> 2] | 0 | 0, $6 | 0); + (wasm2js_i32$0 = $5, wasm2js_f32$0 = Math_fround(btVector3__length2_28_29_20const($5 + 8 | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 24 | 0) >> 2] = wasm2js_f32$0; + label$3 : { + if (!(Math_fround(HEAPF32[($5 + 44 | 0) >> 2]) != Math_fround(HEAPF32[($5 + 24 | 0) >> 2]) & 1 | 0)) { + break label$3 + } + HEAP8[($5 + 63 | 0) >> 0] = Math_fround(HEAPF32[($5 + 44 | 0) >> 2]) < Math_fround(HEAPF32[($5 + 24 | 0) >> 2]) & 1 | 0; + break label$1; + } + HEAP8[($5 + 63 | 0) >> 0] = (HEAP32[((HEAP32[($5 + 52 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($5 + 48 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0) & 1 | 0; + } + $58 = (HEAPU8[($5 + 63 | 0) >> 0] | 0) & 1 | 0; + __stack_pointer = $5 + 64 | 0; + return $58 | 0; + } + + function btAlignedObjectArray_btConvexHullComputer__Edge___clear_28_29($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + btAlignedObjectArray_btConvexHullComputer__Edge___destroy_28int_2c_20int_29($4 | 0, 0 | 0, btAlignedObjectArray_btConvexHullComputer__Edge___size_28_29_20const($4 | 0) | 0 | 0); + btAlignedObjectArray_btConvexHullComputer__Edge___deallocate_28_29($4 | 0); + btAlignedObjectArray_btConvexHullComputer__Edge___init_28_29($4 | 0); + __stack_pointer = $3 + 16 | 0; + return; + } + + function btAlignedObjectArray_btConvexHullComputer__Edge___destroy_28int_2c_20int_29($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $5 = 0; + $5 = __stack_pointer - 16 | 0; + HEAP32[($5 + 12 | 0) >> 2] = $0; + HEAP32[($5 + 8 | 0) >> 2] = $1; + HEAP32[($5 + 4 | 0) >> 2] = $2; + HEAP32[($5 + 12 | 0) >> 2] | 0; + HEAP32[$5 >> 2] = HEAP32[($5 + 8 | 0) >> 2] | 0; + label$1 : { + label$2 : while (1) { + if (!((HEAP32[$5 >> 2] | 0 | 0) < (HEAP32[($5 + 4 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$1 + } + HEAP32[$5 >> 2] = (HEAP32[$5 >> 2] | 0) + 1 | 0; + continue label$2; + }; + } + return; + } + + function btAlignedObjectArray_btConvexHullComputer__Edge___deallocate_28_29($0) { + $0 = $0 | 0; + var $4 = 0, $3 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + label$1 : { + if (!((HEAP32[($4 + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + label$2 : { + if (!((HEAPU8[($4 + 16 | 0) >> 0] | 0) & 1 | 0)) { + break label$2 + } + btAlignedAllocator_btConvexHullComputer__Edge_2c_2016u___deallocate_28btConvexHullComputer__Edge__29($4 | 0, HEAP32[($4 + 12 | 0) >> 2] | 0 | 0); + } + HEAP32[($4 + 12 | 0) >> 2] = 0; + } + __stack_pointer = $3 + 16 | 0; + return; + } + + function btAlignedAllocator_btConvexHullComputer__Edge_2c_2016u___deallocate_28btConvexHullComputer__Edge__29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0; + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + btAlignedFreeInternal_28void__29(HEAP32[($4 + 8 | 0) >> 2] | 0 | 0); + __stack_pointer = $4 + 16 | 0; + return; + } + + function btAlignedObjectArray_GrahamVector3___allocate_28int_29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, $5 = 0, $11 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[($4 + 8 | 0) >> 2] = $0; + HEAP32[($4 + 4 | 0) >> 2] = $1; + $5 = HEAP32[($4 + 8 | 0) >> 2] | 0; + label$1 : { + label$2 : { + if (!(HEAP32[($4 + 4 | 0) >> 2] | 0)) { + break label$2 + } + (wasm2js_i32$0 = $4, wasm2js_i32$1 = btAlignedAllocator_GrahamVector3_2c_2016u___allocate_28int_2c_20GrahamVector3_20const___29($5 | 0, HEAP32[($4 + 4 | 0) >> 2] | 0 | 0, 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + break label$1; + } + HEAP32[($4 + 12 | 0) >> 2] = 0; + } + $11 = HEAP32[($4 + 12 | 0) >> 2] | 0; + __stack_pointer = $4 + 16 | 0; + return $11 | 0; + } + + function btAlignedObjectArray_GrahamVector3___copy_28int_2c_20int_2c_20GrahamVector3__29_20const($0, $1, $2, $3) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + var $6 = 0, i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, i64toi32_i32$1 = 0, $22 = 0, $27 = 0, $29 = 0, $33 = 0, $7 = 0, $101 = 0, $111 = 0, $121 = 0; + $6 = __stack_pointer - 32 | 0; + __stack_pointer = $6; + HEAP32[($6 + 28 | 0) >> 2] = $0; + HEAP32[($6 + 24 | 0) >> 2] = $1; + HEAP32[($6 + 20 | 0) >> 2] = $2; + HEAP32[($6 + 16 | 0) >> 2] = $3; + $7 = HEAP32[($6 + 28 | 0) >> 2] | 0; + HEAP32[($6 + 12 | 0) >> 2] = HEAP32[($6 + 24 | 0) >> 2] | 0; + label$1 : { + label$2 : while (1) { + if (!((HEAP32[($6 + 12 | 0) >> 2] | 0 | 0) < (HEAP32[($6 + 20 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$1 + } + $22 = btVector3__operator_20new_28unsigned_20long_2c_20void__29(24 | 0, (HEAP32[($6 + 16 | 0) >> 2] | 0) + Math_imul(HEAP32[($6 + 12 | 0) >> 2] | 0, 24) | 0 | 0) | 0; + $27 = (HEAP32[($7 + 12 | 0) >> 2] | 0) + Math_imul(HEAP32[($6 + 12 | 0) >> 2] | 0, 24) | 0; + i64toi32_i32$2 = $27; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $101 = i64toi32_i32$0; + i64toi32_i32$0 = $22; + HEAP32[i64toi32_i32$0 >> 2] = $101; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $29 = 16; + i64toi32_i32$2 = i64toi32_i32$2 + $29 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $111 = i64toi32_i32$1; + i64toi32_i32$1 = $22 + $29 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $111; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + $33 = 8; + i64toi32_i32$2 = $27 + $33 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $121 = i64toi32_i32$0; + i64toi32_i32$0 = $22 + $33 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $121; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + HEAP32[($6 + 12 | 0) >> 2] = (HEAP32[($6 + 12 | 0) >> 2] | 0) + 1 | 0; + continue label$2; + }; + } + __stack_pointer = $6 + 32 | 0; + return; + } + + function btAlignedObjectArray_GrahamVector3___destroy_28int_2c_20int_29($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $5 = 0; + $5 = __stack_pointer - 16 | 0; + HEAP32[($5 + 12 | 0) >> 2] = $0; + HEAP32[($5 + 8 | 0) >> 2] = $1; + HEAP32[($5 + 4 | 0) >> 2] = $2; + HEAP32[($5 + 12 | 0) >> 2] | 0; + HEAP32[$5 >> 2] = HEAP32[($5 + 8 | 0) >> 2] | 0; + label$1 : { + label$2 : while (1) { + if (!((HEAP32[$5 >> 2] | 0 | 0) < (HEAP32[($5 + 4 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$1 + } + HEAP32[$5 >> 2] = (HEAP32[$5 >> 2] | 0) + 1 | 0; + continue label$2; + }; + } + return; + } + + function btAlignedObjectArray_GrahamVector3___deallocate_28_29($0) { + $0 = $0 | 0; + var $4 = 0, $3 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + label$1 : { + if (!((HEAP32[($4 + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + label$2 : { + if (!((HEAPU8[($4 + 16 | 0) >> 0] | 0) & 1 | 0)) { + break label$2 + } + btAlignedAllocator_GrahamVector3_2c_2016u___deallocate_28GrahamVector3__29($4 | 0, HEAP32[($4 + 12 | 0) >> 2] | 0 | 0); + } + HEAP32[($4 + 12 | 0) >> 2] = 0; + } + __stack_pointer = $3 + 16 | 0; + return; + } + + function btAlignedAllocator_GrahamVector3_2c_2016u___allocate_28int_2c_20GrahamVector3_20const___29($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $5 = 0, $10 = 0; + $5 = __stack_pointer - 16 | 0; + __stack_pointer = $5; + HEAP32[($5 + 12 | 0) >> 2] = $0; + HEAP32[($5 + 8 | 0) >> 2] = $1; + HEAP32[($5 + 4 | 0) >> 2] = $2; + $10 = btAlignedAllocInternal_28unsigned_20long_2c_20int_29(Math_imul(HEAP32[($5 + 8 | 0) >> 2] | 0, 24) | 0, 16 | 0) | 0; + __stack_pointer = $5 + 16 | 0; + return $10 | 0; + } + + function btAlignedAllocator_GrahamVector3_2c_2016u___deallocate_28GrahamVector3__29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0; + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + btAlignedFreeInternal_28void__29(HEAP32[($4 + 8 | 0) >> 2] | 0 | 0); + __stack_pointer = $4 + 16 | 0; + return; + } + + function btAlignedObjectArray_btFace___destroy_28int_2c_20int_29($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $5 = 0, $6 = 0; + $5 = __stack_pointer - 16 | 0; + __stack_pointer = $5; + HEAP32[($5 + 12 | 0) >> 2] = $0; + HEAP32[($5 + 8 | 0) >> 2] = $1; + HEAP32[($5 + 4 | 0) >> 2] = $2; + $6 = HEAP32[($5 + 12 | 0) >> 2] | 0; + HEAP32[$5 >> 2] = HEAP32[($5 + 8 | 0) >> 2] | 0; + label$1 : { + label$2 : while (1) { + if (!((HEAP32[$5 >> 2] | 0 | 0) < (HEAP32[($5 + 4 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$1 + } + btFace___btFace_28_29((HEAP32[($6 + 12 | 0) >> 2] | 0) + Math_imul(HEAP32[$5 >> 2] | 0, 36) | 0 | 0) | 0; + HEAP32[$5 >> 2] = (HEAP32[$5 >> 2] | 0) + 1 | 0; + continue label$2; + }; + } + __stack_pointer = $5 + 16 | 0; + return; + } + + function btAlignedObjectArray_btFace___deallocate_28_29($0) { + $0 = $0 | 0; + var $4 = 0, $3 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + label$1 : { + if (!((HEAP32[($4 + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + label$2 : { + if (!((HEAPU8[($4 + 16 | 0) >> 0] | 0) & 1 | 0)) { + break label$2 + } + btAlignedAllocator_btFace_2c_2016u___deallocate_28btFace__29($4 | 0, HEAP32[($4 + 12 | 0) >> 2] | 0 | 0); + } + HEAP32[($4 + 12 | 0) >> 2] = 0; + } + __stack_pointer = $3 + 16 | 0; + return; + } + + function btAlignedAllocator_btFace_2c_2016u___deallocate_28btFace__29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0; + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + btAlignedFreeInternal_28void__29(HEAP32[($4 + 8 | 0) >> 2] | 0 | 0); + __stack_pointer = $4 + 16 | 0; + return; + } + + function btAlignedObjectArray_btFace___allocate_28int_29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, $5 = 0, $11 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[($4 + 8 | 0) >> 2] = $0; + HEAP32[($4 + 4 | 0) >> 2] = $1; + $5 = HEAP32[($4 + 8 | 0) >> 2] | 0; + label$1 : { + label$2 : { + if (!(HEAP32[($4 + 4 | 0) >> 2] | 0)) { + break label$2 + } + (wasm2js_i32$0 = $4, wasm2js_i32$1 = btAlignedAllocator_btFace_2c_2016u___allocate_28int_2c_20btFace_20const___29($5 | 0, HEAP32[($4 + 4 | 0) >> 2] | 0 | 0, 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + break label$1; + } + HEAP32[($4 + 12 | 0) >> 2] = 0; + } + $11 = HEAP32[($4 + 12 | 0) >> 2] | 0; + __stack_pointer = $4 + 16 | 0; + return $11 | 0; + } + + function btAlignedObjectArray_btFace___copy_28int_2c_20int_2c_20btFace__29_20const($0, $1, $2, $3) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + var $6 = 0, $7 = 0; + $6 = __stack_pointer - 32 | 0; + __stack_pointer = $6; + HEAP32[($6 + 28 | 0) >> 2] = $0; + HEAP32[($6 + 24 | 0) >> 2] = $1; + HEAP32[($6 + 20 | 0) >> 2] = $2; + HEAP32[($6 + 16 | 0) >> 2] = $3; + $7 = HEAP32[($6 + 28 | 0) >> 2] | 0; + HEAP32[($6 + 12 | 0) >> 2] = HEAP32[($6 + 24 | 0) >> 2] | 0; + label$1 : { + label$2 : while (1) { + if (!((HEAP32[($6 + 12 | 0) >> 2] | 0 | 0) < (HEAP32[($6 + 20 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$1 + } + btFace__btFace_28btFace_20const__29((HEAP32[($6 + 16 | 0) >> 2] | 0) + Math_imul(HEAP32[($6 + 12 | 0) >> 2] | 0, 36) | 0 | 0, (HEAP32[($7 + 12 | 0) >> 2] | 0) + Math_imul(HEAP32[($6 + 12 | 0) >> 2] | 0, 36) | 0 | 0) | 0; + HEAP32[($6 + 12 | 0) >> 2] = (HEAP32[($6 + 12 | 0) >> 2] | 0) + 1 | 0; + continue label$2; + }; + } + __stack_pointer = $6 + 32 | 0; + return; + } + + function btAlignedAllocator_btFace_2c_2016u___allocate_28int_2c_20btFace_20const___29($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $5 = 0, $10 = 0; + $5 = __stack_pointer - 16 | 0; + __stack_pointer = $5; + HEAP32[($5 + 12 | 0) >> 2] = $0; + HEAP32[($5 + 8 | 0) >> 2] = $1; + HEAP32[($5 + 4 | 0) >> 2] = $2; + $10 = btAlignedAllocInternal_28unsigned_20long_2c_20int_29(Math_imul(HEAP32[($5 + 8 | 0) >> 2] | 0, 36) | 0, 16 | 0) | 0; + __stack_pointer = $5 + 16 | 0; + return $10 | 0; + } + + function btAlignedObjectArray_int___swap_28int_2c_20int_29($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $5 = 0, $6 = 0; + $5 = __stack_pointer - 16 | 0; + HEAP32[($5 + 12 | 0) >> 2] = $0; + HEAP32[($5 + 8 | 0) >> 2] = $1; + HEAP32[($5 + 4 | 0) >> 2] = $2; + $6 = HEAP32[($5 + 12 | 0) >> 2] | 0; + HEAP32[$5 >> 2] = HEAP32[((HEAP32[($6 + 12 | 0) >> 2] | 0) + ((HEAP32[($5 + 8 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; + HEAP32[((HEAP32[($6 + 12 | 0) >> 2] | 0) + ((HEAP32[($5 + 8 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = HEAP32[((HEAP32[($6 + 12 | 0) >> 2] | 0) + ((HEAP32[($5 + 4 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; + HEAP32[((HEAP32[($6 + 12 | 0) >> 2] | 0) + ((HEAP32[($5 + 4 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = HEAP32[$5 >> 2] | 0; + return; + } + + function _GLOBAL__sub_I_btPolyhedralConvexShape_cpp() { + __cxx_global_var_init_46(); + return; + } + + function __cxx_global_var_init_47() { + btInfMaskConverter__btInfMaskConverter_28int_29(114276 | 0, 2139095040 | 0) | 0; + return; + } + + function btScaledBvhTriangleMeshShape__btScaledBvhTriangleMeshShape_28btBvhTriangleMeshShape__2c_20btVector3_20const__29($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $5 = 0, $6 = 0, i64toi32_i32$2 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $11 = 0, $14 = 0, $50 = 0, $60 = 0; + $5 = __stack_pointer - 16 | 0; + __stack_pointer = $5; + HEAP32[($5 + 12 | 0) >> 2] = $0; + HEAP32[($5 + 8 | 0) >> 2] = $1; + HEAP32[($5 + 4 | 0) >> 2] = $2; + $6 = HEAP32[($5 + 12 | 0) >> 2] | 0; + btConcaveShape__btConcaveShape_28_29($6 | 0) | 0; + HEAP32[$6 >> 2] = 99800 + 8 | 0; + $11 = $6 + 24 | 0; + i64toi32_i32$2 = HEAP32[($5 + 4 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $50 = i64toi32_i32$0; + i64toi32_i32$0 = $11; + HEAP32[i64toi32_i32$0 >> 2] = $50; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $14 = 8; + i64toi32_i32$2 = i64toi32_i32$2 + $14 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $60 = i64toi32_i32$1; + i64toi32_i32$1 = $11 + $14 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $60; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($6 + 40 | 0) >> 2] = HEAP32[($5 + 8 | 0) >> 2] | 0; + HEAP32[($6 + 4 | 0) >> 2] = 22; + __stack_pointer = $5 + 16 | 0; + return $6 | 0; + } + + function btScaledBvhTriangleMeshShape___btScaledBvhTriangleMeshShape_28_29($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + btConcaveShape___btConcaveShape_28_29($4 | 0) | 0; + __stack_pointer = $3 + 16 | 0; + return $4 | 0; + } + + function btScaledBvhTriangleMeshShape___btScaledBvhTriangleMeshShape_28_29_1($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + FUNCTION_TABLE[928 | 0]($4) | 0; + btScaledBvhTriangleMeshShape__operator_20delete_28void__29($4 | 0); + __stack_pointer = $3 + 16 | 0; + return; + } + + function btScaledBvhTriangleMeshShape__operator_20delete_28void__29($0) { + $0 = $0 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + btAlignedFreeInternal_28void__29(HEAP32[($3 + 12 | 0) >> 2] | 0 | 0); + __stack_pointer = $3 + 16 | 0; + return; + } + + function btScaledBvhTriangleMeshShape__processAllTriangles_28btTriangleCallback__2c_20btVector3_20const__2c_20btVector3_20const__29_20const($0, $1, $2, $3) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + var $6 = 0, $7 = 0, $10 = 0, $15 = Math_fround(0), $52 = Math_fround(0), $85 = Math_fround(0), $118 = Math_fround(0), $155 = Math_fround(0), $188 = Math_fround(0), $221 = Math_fround(0), $242 = 0, wasm2js_i32$0 = 0, wasm2js_f32$0 = Math_fround(0), wasm2js_i32$1 = 0; + $6 = __stack_pointer - 112 | 0; + __stack_pointer = $6; + HEAP32[($6 + 108 | 0) >> 2] = $0; + HEAP32[($6 + 104 | 0) >> 2] = $1; + HEAP32[($6 + 100 | 0) >> 2] = $2; + HEAP32[($6 + 96 | 0) >> 2] = $3; + $7 = HEAP32[($6 + 108 | 0) >> 2] | 0; + $10 = $7 + 24 | 0; + btScaledTriangleCallback__btScaledTriangleCallback_28btTriangleCallback__2c_20btVector3_20const__29($6 + 72 | 0 | 0, HEAP32[($6 + 104 | 0) >> 2] | 0 | 0, $10 | 0) | 0; + $15 = Math_fround(1.0); + (wasm2js_i32$0 = $6, wasm2js_f32$0 = Math_fround($15 / Math_fround(HEAPF32[(btVector3__getX_28_29_20const($10 | 0) | 0) >> 2]))), HEAPF32[(wasm2js_i32$0 + 52 | 0) >> 2] = wasm2js_f32$0; + (wasm2js_i32$0 = $6, wasm2js_f32$0 = Math_fround($15 / Math_fround(HEAPF32[(btVector3__getY_28_29_20const($10 | 0) | 0) >> 2]))), HEAPF32[(wasm2js_i32$0 + 48 | 0) >> 2] = wasm2js_f32$0; + (wasm2js_i32$0 = $6, wasm2js_f32$0 = Math_fround($15 / Math_fround(HEAPF32[(btVector3__getZ_28_29_20const($10 | 0) | 0) >> 2]))), HEAPF32[(wasm2js_i32$0 + 44 | 0) >> 2] = wasm2js_f32$0; + btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($6 + 56 | 0 | 0, $6 + 52 | 0 | 0, $6 + 48 | 0 | 0, $6 + 44 | 0 | 0) | 0; + btVector3__btVector3_28_29($6 + 28 | 0 | 0) | 0; + btVector3__btVector3_28_29($6 + 12 | 0 | 0) | 0; + label$1 : { + label$2 : { + if (!(+Math_fround(HEAPF32[(btVector3__getX_28_29_20const($10 | 0) | 0) >> 2]) >= +(0 | 0) & 1 | 0)) { + break label$2 + } + $52 = Math_fround(Math_fround(HEAPF32[(btVector3__operator_20float_20const__28_29_20const(HEAP32[($6 + 100 | 0) >> 2] | 0 | 0) | 0) >> 2]) * Math_fround(HEAPF32[(btVector3__operator_20float__28_29($6 + 56 | 0 | 0) | 0) >> 2])); + break label$1; + } + $52 = Math_fround(Math_fround(HEAPF32[(btVector3__operator_20float_20const__28_29_20const(HEAP32[($6 + 96 | 0) >> 2] | 0 | 0) | 0) >> 2]) * Math_fround(HEAPF32[(btVector3__operator_20float__28_29($6 + 56 | 0 | 0) | 0) >> 2])); + } + (wasm2js_i32$0 = btVector3__operator_20float__28_29($6 + 28 | 0 | 0) | 0, wasm2js_f32$0 = $52), HEAPF32[wasm2js_i32$0 >> 2] = wasm2js_f32$0; + label$3 : { + label$4 : { + if (!(+Math_fround(HEAPF32[(btVector3__getY_28_29_20const($7 + 24 | 0 | 0) | 0) >> 2]) >= +(0 | 0) & 1 | 0)) { + break label$4 + } + $85 = Math_fround(Math_fround(HEAPF32[((btVector3__operator_20float_20const__28_29_20const(HEAP32[($6 + 100 | 0) >> 2] | 0 | 0) | 0) + 4 | 0) >> 2]) * Math_fround(HEAPF32[((btVector3__operator_20float__28_29($6 + 56 | 0 | 0) | 0) + 4 | 0) >> 2])); + break label$3; + } + $85 = Math_fround(Math_fround(HEAPF32[((btVector3__operator_20float_20const__28_29_20const(HEAP32[($6 + 96 | 0) >> 2] | 0 | 0) | 0) + 4 | 0) >> 2]) * Math_fround(HEAPF32[((btVector3__operator_20float__28_29($6 + 56 | 0 | 0) | 0) + 4 | 0) >> 2])); + } + (wasm2js_i32$0 = btVector3__operator_20float__28_29($6 + 28 | 0 | 0) | 0, wasm2js_f32$0 = $85), HEAPF32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_f32$0; + label$5 : { + label$6 : { + if (!(+Math_fround(HEAPF32[(btVector3__getZ_28_29_20const($7 + 24 | 0 | 0) | 0) >> 2]) >= +(0 | 0) & 1 | 0)) { + break label$6 + } + $118 = Math_fround(Math_fround(HEAPF32[((btVector3__operator_20float_20const__28_29_20const(HEAP32[($6 + 100 | 0) >> 2] | 0 | 0) | 0) + 8 | 0) >> 2]) * Math_fround(HEAPF32[((btVector3__operator_20float__28_29($6 + 56 | 0 | 0) | 0) + 8 | 0) >> 2])); + break label$5; + } + $118 = Math_fround(Math_fround(HEAPF32[((btVector3__operator_20float_20const__28_29_20const(HEAP32[($6 + 96 | 0) >> 2] | 0 | 0) | 0) + 8 | 0) >> 2]) * Math_fround(HEAPF32[((btVector3__operator_20float__28_29($6 + 56 | 0 | 0) | 0) + 8 | 0) >> 2])); + } + (wasm2js_i32$0 = btVector3__operator_20float__28_29($6 + 28 | 0 | 0) | 0, wasm2js_f32$0 = $118), HEAPF32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_f32$0; + (wasm2js_i32$0 = btVector3__operator_20float__28_29($6 + 28 | 0 | 0) | 0, wasm2js_i32$1 = 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + label$7 : { + label$8 : { + if (!(+Math_fround(HEAPF32[(btVector3__getX_28_29_20const($7 + 24 | 0 | 0) | 0) >> 2]) <= +(0 | 0) & 1 | 0)) { + break label$8 + } + $155 = Math_fround(Math_fround(HEAPF32[(btVector3__operator_20float_20const__28_29_20const(HEAP32[($6 + 100 | 0) >> 2] | 0 | 0) | 0) >> 2]) * Math_fround(HEAPF32[(btVector3__operator_20float__28_29($6 + 56 | 0 | 0) | 0) >> 2])); + break label$7; + } + $155 = Math_fround(Math_fround(HEAPF32[(btVector3__operator_20float_20const__28_29_20const(HEAP32[($6 + 96 | 0) >> 2] | 0 | 0) | 0) >> 2]) * Math_fround(HEAPF32[(btVector3__operator_20float__28_29($6 + 56 | 0 | 0) | 0) >> 2])); + } + (wasm2js_i32$0 = btVector3__operator_20float__28_29($6 + 12 | 0 | 0) | 0, wasm2js_f32$0 = $155), HEAPF32[wasm2js_i32$0 >> 2] = wasm2js_f32$0; + label$9 : { + label$10 : { + if (!(+Math_fround(HEAPF32[(btVector3__getY_28_29_20const($7 + 24 | 0 | 0) | 0) >> 2]) <= +(0 | 0) & 1 | 0)) { + break label$10 + } + $188 = Math_fround(Math_fround(HEAPF32[((btVector3__operator_20float_20const__28_29_20const(HEAP32[($6 + 100 | 0) >> 2] | 0 | 0) | 0) + 4 | 0) >> 2]) * Math_fround(HEAPF32[((btVector3__operator_20float__28_29($6 + 56 | 0 | 0) | 0) + 4 | 0) >> 2])); + break label$9; + } + $188 = Math_fround(Math_fround(HEAPF32[((btVector3__operator_20float_20const__28_29_20const(HEAP32[($6 + 96 | 0) >> 2] | 0 | 0) | 0) + 4 | 0) >> 2]) * Math_fround(HEAPF32[((btVector3__operator_20float__28_29($6 + 56 | 0 | 0) | 0) + 4 | 0) >> 2])); + } + (wasm2js_i32$0 = btVector3__operator_20float__28_29($6 + 12 | 0 | 0) | 0, wasm2js_f32$0 = $188), HEAPF32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_f32$0; + label$11 : { + label$12 : { + if (!(+Math_fround(HEAPF32[(btVector3__getZ_28_29_20const($7 + 24 | 0 | 0) | 0) >> 2]) <= +(0 | 0) & 1 | 0)) { + break label$12 + } + $221 = Math_fround(Math_fround(HEAPF32[((btVector3__operator_20float_20const__28_29_20const(HEAP32[($6 + 100 | 0) >> 2] | 0 | 0) | 0) + 8 | 0) >> 2]) * Math_fround(HEAPF32[((btVector3__operator_20float__28_29($6 + 56 | 0 | 0) | 0) + 8 | 0) >> 2])); + break label$11; + } + $221 = Math_fround(Math_fround(HEAPF32[((btVector3__operator_20float_20const__28_29_20const(HEAP32[($6 + 96 | 0) >> 2] | 0 | 0) | 0) + 8 | 0) >> 2]) * Math_fround(HEAPF32[((btVector3__operator_20float__28_29($6 + 56 | 0 | 0) | 0) + 8 | 0) >> 2])); + } + (wasm2js_i32$0 = btVector3__operator_20float__28_29($6 + 12 | 0 | 0) | 0, wasm2js_f32$0 = $221), HEAPF32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_f32$0; + (wasm2js_i32$0 = btVector3__operator_20float__28_29($6 + 12 | 0 | 0) | 0, wasm2js_f32$0 = Math_fround(0 | 0)), HEAPF32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_f32$0; + $242 = HEAP32[($7 + 40 | 0) >> 2] | 0; + FUNCTION_TABLE[HEAP32[((HEAP32[$242 >> 2] | 0) + 64 | 0) >> 2] | 0 | 0]($242, $6 + 72 | 0, $6 + 28 | 0, $6 + 12 | 0); + btScaledTriangleCallback___btScaledTriangleCallback_28_29($6 + 72 | 0 | 0) | 0; + __stack_pointer = $6 + 112 | 0; + return; + } + + function btScaledTriangleCallback__btScaledTriangleCallback_28btTriangleCallback__2c_20btVector3_20const__29($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $5 = 0, i64toi32_i32$2 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $6 = 0, $12 = 0, $15 = 0, $53 = 0, $63 = 0; + $5 = __stack_pointer - 16 | 0; + __stack_pointer = $5; + HEAP32[($5 + 12 | 0) >> 2] = $0; + HEAP32[($5 + 8 | 0) >> 2] = $1; + HEAP32[($5 + 4 | 0) >> 2] = $2; + $6 = HEAP32[($5 + 12 | 0) >> 2] | 0; + btTriangleCallback__btTriangleCallback_28_29($6 | 0) | 0; + HEAP32[$6 >> 2] = 99920 + 8 | 0; + HEAP32[($6 + 4 | 0) >> 2] = HEAP32[($5 + 8 | 0) >> 2] | 0; + $12 = $6 + 8 | 0; + i64toi32_i32$2 = HEAP32[($5 + 4 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $53 = i64toi32_i32$0; + i64toi32_i32$0 = $12; + HEAP32[i64toi32_i32$0 >> 2] = $53; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $15 = 8; + i64toi32_i32$2 = i64toi32_i32$2 + $15 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $63 = i64toi32_i32$1; + i64toi32_i32$1 = $12 + $15 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $63; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + __stack_pointer = $5 + 16 | 0; + return $6 | 0; + } + + function btScaledTriangleCallback___btScaledTriangleCallback_28_29($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + btTriangleCallback___btTriangleCallback_28_29($4 | 0) | 0; + __stack_pointer = $3 + 16 | 0; + return $4 | 0; + } + + function btScaledBvhTriangleMeshShape__getAabb_28btTransform_20const__2c_20btVector3__2c_20btVector3__29_20const($0, $1, $2, $3) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + var $6 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, $7 = 0, $10 = 0, $26 = 0, $212 = 0, $9 = 0, $18 = 0, $48 = Math_fround(0), $73 = Math_fround(0), $98 = Math_fround(0), $123 = Math_fround(0), $148 = Math_fround(0), $173 = Math_fround(0), $203 = 0, $280 = 0, $282 = 0, $297 = 0, $299 = 0, $338 = 0, $342 = 0, $359 = 0, $363 = 0, $829 = 0, $842 = 0, $863 = 0, $876 = 0, wasm2js_i32$0 = 0, wasm2js_f32$0 = Math_fround(0); + $6 = __stack_pointer - 288 | 0; + __stack_pointer = $6; + HEAP32[($6 + 284 | 0) >> 2] = $0; + HEAP32[($6 + 280 | 0) >> 2] = $1; + HEAP32[($6 + 276 | 0) >> 2] = $2; + HEAP32[($6 + 272 | 0) >> 2] = $3; + $7 = HEAP32[($6 + 284 | 0) >> 2] | 0; + $9 = btTriangleMeshShape__getLocalAabbMin_28_29_20const(HEAP32[($7 + 40 | 0) >> 2] | 0 | 0) | 0; + $10 = 8; + i64toi32_i32$2 = $9 + $10 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $338 = i64toi32_i32$0; + i64toi32_i32$0 = ($6 + 256 | 0) + $10 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $338; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$2 = $9; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $342 = i64toi32_i32$1; + i64toi32_i32$1 = $6; + HEAP32[($6 + 256 | 0) >> 2] = $342; + HEAP32[($6 + 260 | 0) >> 2] = i64toi32_i32$0; + $18 = btTriangleMeshShape__getLocalAabbMax_28_29_20const(HEAP32[($7 + 40 | 0) >> 2] | 0 | 0) | 0; + i64toi32_i32$2 = $18 + $10 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $359 = i64toi32_i32$0; + i64toi32_i32$0 = ($6 + 240 | 0) + $10 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $359; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$2 = $18; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $363 = i64toi32_i32$1; + i64toi32_i32$1 = $6; + HEAP32[($6 + 240 | 0) >> 2] = $363; + HEAP32[($6 + 244 | 0) >> 2] = i64toi32_i32$0; + $26 = $7 + 24 | 0; + operator__28btVector3_20const__2c_20btVector3_20const__29_1($6 + 224 | 0 | 0, $6 + 256 | 0 | 0, $26 | 0); + operator__28btVector3_20const__2c_20btVector3_20const__29_1($6 + 208 | 0 | 0, $6 + 240 | 0 | 0, $26 | 0); + label$1 : { + label$2 : { + if (!(+Math_fround(HEAPF32[(btVector3__getX_28_29_20const($26 | 0) | 0) >> 2]) >= +(0 | 0) & 1 | 0)) { + break label$2 + } + $48 = Math_fround(HEAPF32[(btVector3__operator_20float__28_29($6 + 224 | 0 | 0) | 0) >> 2]); + break label$1; + } + $48 = Math_fround(HEAPF32[(btVector3__operator_20float__28_29($6 + 208 | 0 | 0) | 0) >> 2]); + } + (wasm2js_i32$0 = btVector3__operator_20float__28_29($6 + 256 | 0 | 0) | 0, wasm2js_f32$0 = $48), HEAPF32[wasm2js_i32$0 >> 2] = wasm2js_f32$0; + label$3 : { + label$4 : { + if (!(+Math_fround(HEAPF32[(btVector3__getY_28_29_20const($7 + 24 | 0 | 0) | 0) >> 2]) >= +(0 | 0) & 1 | 0)) { + break label$4 + } + $73 = Math_fround(HEAPF32[((btVector3__operator_20float__28_29($6 + 224 | 0 | 0) | 0) + 4 | 0) >> 2]); + break label$3; + } + $73 = Math_fround(HEAPF32[((btVector3__operator_20float__28_29($6 + 208 | 0 | 0) | 0) + 4 | 0) >> 2]); + } + (wasm2js_i32$0 = btVector3__operator_20float__28_29($6 + 256 | 0 | 0) | 0, wasm2js_f32$0 = $73), HEAPF32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_f32$0; + label$5 : { + label$6 : { + if (!(+Math_fround(HEAPF32[(btVector3__getZ_28_29_20const($7 + 24 | 0 | 0) | 0) >> 2]) >= +(0 | 0) & 1 | 0)) { + break label$6 + } + $98 = Math_fround(HEAPF32[((btVector3__operator_20float__28_29($6 + 224 | 0 | 0) | 0) + 8 | 0) >> 2]); + break label$5; + } + $98 = Math_fround(HEAPF32[((btVector3__operator_20float__28_29($6 + 208 | 0 | 0) | 0) + 8 | 0) >> 2]); + } + (wasm2js_i32$0 = btVector3__operator_20float__28_29($6 + 256 | 0 | 0) | 0, wasm2js_f32$0 = $98), HEAPF32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_f32$0; + label$7 : { + label$8 : { + if (!(+Math_fround(HEAPF32[(btVector3__getX_28_29_20const($7 + 24 | 0 | 0) | 0) >> 2]) <= +(0 | 0) & 1 | 0)) { + break label$8 + } + $123 = Math_fround(HEAPF32[(btVector3__operator_20float__28_29($6 + 224 | 0 | 0) | 0) >> 2]); + break label$7; + } + $123 = Math_fround(HEAPF32[(btVector3__operator_20float__28_29($6 + 208 | 0 | 0) | 0) >> 2]); + } + (wasm2js_i32$0 = btVector3__operator_20float__28_29($6 + 240 | 0 | 0) | 0, wasm2js_f32$0 = $123), HEAPF32[wasm2js_i32$0 >> 2] = wasm2js_f32$0; + label$9 : { + label$10 : { + if (!(+Math_fround(HEAPF32[(btVector3__getY_28_29_20const($7 + 24 | 0 | 0) | 0) >> 2]) <= +(0 | 0) & 1 | 0)) { + break label$10 + } + $148 = Math_fround(HEAPF32[((btVector3__operator_20float__28_29($6 + 224 | 0 | 0) | 0) + 4 | 0) >> 2]); + break label$9; + } + $148 = Math_fround(HEAPF32[((btVector3__operator_20float__28_29($6 + 208 | 0 | 0) | 0) + 4 | 0) >> 2]); + } + (wasm2js_i32$0 = btVector3__operator_20float__28_29($6 + 240 | 0 | 0) | 0, wasm2js_f32$0 = $148), HEAPF32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_f32$0; + label$11 : { + label$12 : { + if (!(+Math_fround(HEAPF32[(btVector3__getZ_28_29_20const($7 + 24 | 0 | 0) | 0) >> 2]) <= +(0 | 0) & 1 | 0)) { + break label$12 + } + $173 = Math_fround(HEAPF32[((btVector3__operator_20float__28_29($6 + 224 | 0 | 0) | 0) + 8 | 0) >> 2]); + break label$11; + } + $173 = Math_fround(HEAPF32[((btVector3__operator_20float__28_29($6 + 208 | 0 | 0) | 0) + 8 | 0) >> 2]); + } + (wasm2js_i32$0 = btVector3__operator_20float__28_29($6 + 240 | 0 | 0) | 0, wasm2js_f32$0 = $173), HEAPF32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_f32$0; + HEAPF32[($6 + 188 | 0) >> 2] = Math_fround(.5); + operator__28btVector3_20const__2c_20btVector3_20const__29($6 + 172 | 0 | 0, $6 + 240 | 0 | 0, $6 + 256 | 0 | 0); + operator__28float_20const__2c_20btVector3_20const__29($6 + 192 | 0 | 0, $6 + 188 | 0 | 0, $6 + 172 | 0 | 0); + $203 = HEAP32[($7 + 40 | 0) >> 2] | 0; + (wasm2js_i32$0 = $6, wasm2js_f32$0 = Math_fround(FUNCTION_TABLE[HEAP32[((HEAP32[$203 >> 2] | 0) + 48 | 0) >> 2] | 0 | 0]($203))), HEAPF32[(wasm2js_i32$0 + 168 | 0) >> 2] = wasm2js_f32$0; + $212 = $6 + 168 | 0; + btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($6 + 152 | 0 | 0, $212 | 0, $212 | 0, $212 | 0) | 0; + btVector3__operator___28btVector3_20const__29_1($6 + 192 | 0 | 0, $6 + 152 | 0 | 0) | 0; + HEAPF32[($6 + 132 | 0) >> 2] = Math_fround(.5); + operator__28btVector3_20const__2c_20btVector3_20const__29_2($6 + 116 | 0 | 0, $6 + 240 | 0 | 0, $6 + 256 | 0 | 0); + operator__28float_20const__2c_20btVector3_20const__29($6 + 136 | 0 | 0, $6 + 132 | 0 | 0, $6 + 116 | 0 | 0); + btMatrix3x3__absolute_28_29_20const($6 + 68 | 0 | 0, btTransform__getBasis_28_29_20const(HEAP32[($6 + 280 | 0) >> 2] | 0 | 0) | 0 | 0); + btTransform__operator_28_29_28btVector3_20const__29_20const($6 + 52 | 0 | 0, HEAP32[($6 + 280 | 0) >> 2] | 0 | 0, $6 + 136 | 0 | 0); + btVector3__dot3_28btVector3_20const__2c_20btVector3_20const__2c_20btVector3_20const__29_20const($6 + 36 | 0 | 0, $6 + 192 | 0 | 0, btMatrix3x3__operator_5b_5d_28int_29($6 + 68 | 0 | 0, 0 | 0) | 0 | 0, btMatrix3x3__operator_5b_5d_28int_29($6 + 68 | 0 | 0, 1 | 0) | 0 | 0, btMatrix3x3__operator_5b_5d_28int_29($6 + 68 | 0 | 0, 2 | 0) | 0 | 0); + operator__28btVector3_20const__2c_20btVector3_20const__29($6 + 20 | 0 | 0, $6 + 52 | 0 | 0, $6 + 36 | 0 | 0); + $280 = HEAP32[($6 + 276 | 0) >> 2] | 0; + i64toi32_i32$2 = $6; + i64toi32_i32$0 = HEAP32[($6 + 20 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($6 + 24 | 0) >> 2] | 0; + $829 = i64toi32_i32$0; + i64toi32_i32$0 = $280; + HEAP32[i64toi32_i32$0 >> 2] = $829; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $282 = 8; + i64toi32_i32$2 = ($6 + 20 | 0) + $282 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $842 = i64toi32_i32$1; + i64toi32_i32$1 = $280 + $282 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $842; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + operator__28btVector3_20const__2c_20btVector3_20const__29_2($6 + 4 | 0 | 0, $6 + 52 | 0 | 0, $6 + 36 | 0 | 0); + $297 = HEAP32[($6 + 272 | 0) >> 2] | 0; + i64toi32_i32$2 = $6; + i64toi32_i32$0 = HEAP32[($6 + 4 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($6 + 8 | 0) >> 2] | 0; + $863 = i64toi32_i32$0; + i64toi32_i32$0 = $297; + HEAP32[i64toi32_i32$0 >> 2] = $863; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $299 = 8; + i64toi32_i32$2 = ($6 + 4 | 0) + $299 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $876 = i64toi32_i32$1; + i64toi32_i32$1 = $297 + $299 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $876; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + __stack_pointer = $6 + 288 | 0; + return; + } + + function btTriangleMeshShape__getLocalAabbMin_28_29_20const($0) { + $0 = $0 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + return (HEAP32[($3 + 12 | 0) >> 2] | 0) + 24 | 0 | 0; + } + + function btTriangleMeshShape__getLocalAabbMax_28_29_20const($0) { + $0 = $0 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + return (HEAP32[($3 + 12 | 0) >> 2] | 0) + 40 | 0 | 0; + } + + function btScaledBvhTriangleMeshShape__setLocalScaling_28btVector3_20const__29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var i64toi32_i32$2 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $4 = 0, $8 = 0, $10 = 0, $32 = 0, $42 = 0; + $4 = __stack_pointer - 16 | 0; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + $8 = (HEAP32[($4 + 12 | 0) >> 2] | 0) + 24 | 0; + i64toi32_i32$2 = HEAP32[($4 + 8 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $32 = i64toi32_i32$0; + i64toi32_i32$0 = $8; + HEAP32[i64toi32_i32$0 >> 2] = $32; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $10 = 8; + i64toi32_i32$2 = i64toi32_i32$2 + $10 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $42 = i64toi32_i32$1; + i64toi32_i32$1 = $8 + $10 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $42; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + return; + } + + function btScaledBvhTriangleMeshShape__getLocalScaling_28_29_20const($0) { + $0 = $0 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + return (HEAP32[($3 + 12 | 0) >> 2] | 0) + 24 | 0 | 0; + } + + function btScaledBvhTriangleMeshShape__calculateLocalInertia_28float_2c_20btVector3__29_20const($0, $1, $2) { + $0 = $0 | 0; + $1 = Math_fround($1); + $2 = $2 | 0; + var $5 = 0; + $5 = __stack_pointer - 16 | 0; + HEAP32[($5 + 12 | 0) >> 2] = $0; + HEAPF32[($5 + 8 | 0) >> 2] = $1; + HEAP32[($5 + 4 | 0) >> 2] = $2; + return; + } + + function btScaledBvhTriangleMeshShape__getName_28_29_20const($0) { + $0 = $0 | 0; + HEAP32[((__stack_pointer - 16 | 0) + 12 | 0) >> 2] = $0; + return 84381 | 0; + } + + function btScaledBvhTriangleMeshShape__calculateSerializeBufferSize_28_29_20const($0) { + $0 = $0 | 0; + HEAP32[((__stack_pointer - 16 | 0) + 12 | 0) >> 2] = $0; + return 76 | 0; + } + + function btScaledBvhTriangleMeshShape__serialize_28void__2c_20btSerializer__29_20const($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $5 = 0, $6 = 0, $8 = 0; + $5 = __stack_pointer - 16 | 0; + __stack_pointer = $5; + HEAP32[($5 + 12 | 0) >> 2] = $0; + HEAP32[($5 + 8 | 0) >> 2] = $1; + HEAP32[($5 + 4 | 0) >> 2] = $2; + $6 = HEAP32[($5 + 12 | 0) >> 2] | 0; + HEAP32[$5 >> 2] = HEAP32[($5 + 8 | 0) >> 2] | 0; + $8 = HEAP32[($6 + 40 | 0) >> 2] | 0; + FUNCTION_TABLE[HEAP32[((HEAP32[$8 >> 2] | 0) + 56 | 0) >> 2] | 0 | 0]($8, HEAP32[$5 >> 2] | 0, HEAP32[($5 + 4 | 0) >> 2] | 0) | 0; + HEAP32[((HEAP32[$5 >> 2] | 0) + 4 | 0) >> 2] = 22; + btVector3__serializeFloat_28btVector3FloatData__29_20const($6 + 24 | 0 | 0, (HEAP32[$5 >> 2] | 0) + 60 | 0 | 0); + __stack_pointer = $5 + 16 | 0; + return 83525 | 0; + } + + function btScaledTriangleCallback___btScaledTriangleCallback_28_29_1($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + btScaledTriangleCallback___btScaledTriangleCallback_28_29($4 | 0) | 0; + operator_20delete_28void__29($4 | 0); + __stack_pointer = $3 + 16 | 0; + return; + } + + function btScaledTriangleCallback__processTriangle_28btVector3__2c_20int_2c_20int_29($0, $1, $2, $3) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + var $6 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, $7 = 0, $10 = 0, $13 = 0, $14 = 0, $16 = 0, $30 = 0, $32 = 0, $50 = 0, $52 = 0, $68 = 0, $70 = 0, $74 = 0, $12 = 0, $143 = 0, $156 = 0, $182 = 0, $195 = 0, $218 = 0, $228 = 0; + $6 = __stack_pointer - 112 | 0; + __stack_pointer = $6; + HEAP32[($6 + 108 | 0) >> 2] = $0; + HEAP32[($6 + 104 | 0) >> 2] = $1; + HEAP32[($6 + 100 | 0) >> 2] = $2; + HEAP32[($6 + 96 | 0) >> 2] = $3; + $7 = HEAP32[($6 + 108 | 0) >> 2] | 0; + $10 = $6 + 48 | 0; + $12 = $10 + 48 | 0; + $13 = $10; + label$1 : while (1) { + $14 = $13; + btVector3__btVector3_28_29($14 | 0) | 0; + $16 = $14 + 16 | 0; + $13 = $16; + if (!(($16 | 0) == ($12 | 0) & 1 | 0)) { + continue label$1 + } + break label$1; + }; + operator__28btVector3_20const__2c_20btVector3_20const__29_1($6 + 32 | 0 | 0, HEAP32[($6 + 104 | 0) >> 2] | 0 | 0, $7 + 8 | 0 | 0); + $30 = $6 + 48 | 0; + i64toi32_i32$2 = $6; + i64toi32_i32$0 = HEAP32[($6 + 32 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($6 + 36 | 0) >> 2] | 0; + $143 = i64toi32_i32$0; + i64toi32_i32$0 = $30; + HEAP32[i64toi32_i32$0 >> 2] = $143; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $32 = 8; + i64toi32_i32$2 = ($6 + 32 | 0) + $32 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $156 = i64toi32_i32$1; + i64toi32_i32$1 = $30 + $32 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $156; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + operator__28btVector3_20const__2c_20btVector3_20const__29_1($6 + 16 | 0 | 0, (HEAP32[($6 + 104 | 0) >> 2] | 0) + 16 | 0 | 0, $7 + 8 | 0 | 0); + $50 = ($6 + 48 | 0) + 16 | 0; + i64toi32_i32$2 = $6; + i64toi32_i32$0 = HEAP32[($6 + 16 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($6 + 20 | 0) >> 2] | 0; + $182 = i64toi32_i32$0; + i64toi32_i32$0 = $50; + HEAP32[i64toi32_i32$0 >> 2] = $182; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $52 = 8; + i64toi32_i32$2 = ($6 + 16 | 0) + $52 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $195 = i64toi32_i32$1; + i64toi32_i32$1 = $50 + $52 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $195; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + operator__28btVector3_20const__2c_20btVector3_20const__29_1($6 | 0, (HEAP32[($6 + 104 | 0) >> 2] | 0) + 32 | 0 | 0, $7 + 8 | 0 | 0); + $68 = ($6 + 48 | 0) + 32 | 0; + i64toi32_i32$2 = $6; + i64toi32_i32$0 = HEAP32[$6 >> 2] | 0; + i64toi32_i32$1 = HEAP32[($6 + 4 | 0) >> 2] | 0; + $218 = i64toi32_i32$0; + i64toi32_i32$0 = $68; + HEAP32[i64toi32_i32$0 >> 2] = $218; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $70 = 8; + i64toi32_i32$2 = $6 + $70 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $228 = i64toi32_i32$1; + i64toi32_i32$1 = $68 + $70 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $228; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + $74 = HEAP32[($7 + 4 | 0) >> 2] | 0; + FUNCTION_TABLE[HEAP32[((HEAP32[$74 >> 2] | 0) + 8 | 0) >> 2] | 0 | 0]($74, $6 + 48 | 0, HEAP32[($6 + 100 | 0) >> 2] | 0, HEAP32[($6 + 96 | 0) >> 2] | 0); + __stack_pointer = $6 + 112 | 0; + return; + } + + function _GLOBAL__sub_I_btScaledBvhTriangleMeshShape_cpp() { + __cxx_global_var_init_47(); + return; + } + + function __cxx_global_var_init_48() { + btInfMaskConverter__btInfMaskConverter_28int_29(114280 | 0, 2139095040 | 0) | 0; + return; + } + + function btSphereShape__localGetSupportingVertexWithoutMargin_28btVector3_20const__29_20const($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $5 = 0; + $5 = __stack_pointer - 32 | 0; + __stack_pointer = $5; + HEAP32[($5 + 28 | 0) >> 2] = $1; + HEAP32[($5 + 24 | 0) >> 2] = $2; + HEAPF32[($5 + 20 | 0) >> 2] = Math_fround(0 | 0); + HEAPF32[($5 + 16 | 0) >> 2] = Math_fround(0 | 0); + HEAPF32[($5 + 12 | 0) >> 2] = Math_fround(0 | 0); + btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($0 | 0, $5 + 20 | 0 | 0, $5 + 16 | 0 | 0, $5 + 12 | 0 | 0) | 0; + __stack_pointer = $5 + 32 | 0; + return; + } + + function btSphereShape__batchedUnitVectorGetSupportingVertexWithoutMargin_28btVector3_20const__2c_20btVector3__2c_20int_29_20const($0, $1, $2, $3) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + var $6 = 0, $19 = 0; + $6 = __stack_pointer - 32 | 0; + __stack_pointer = $6; + HEAP32[($6 + 28 | 0) >> 2] = $0; + HEAP32[($6 + 24 | 0) >> 2] = $1; + HEAP32[($6 + 20 | 0) >> 2] = $2; + HEAP32[($6 + 16 | 0) >> 2] = $3; + HEAP32[($6 + 12 | 0) >> 2] = 0; + label$1 : { + label$2 : while (1) { + if (!((HEAP32[($6 + 12 | 0) >> 2] | 0 | 0) < (HEAP32[($6 + 16 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$1 + } + $19 = (HEAP32[($6 + 20 | 0) >> 2] | 0) + ((HEAP32[($6 + 12 | 0) >> 2] | 0) << 4 | 0) | 0; + HEAPF32[($6 + 8 | 0) >> 2] = Math_fround(0 | 0); + HEAPF32[($6 + 4 | 0) >> 2] = Math_fround(0 | 0); + HEAPF32[$6 >> 2] = Math_fround(0 | 0); + btVector3__setValue_28float_20const__2c_20float_20const__2c_20float_20const__29($19 | 0, $6 + 8 | 0 | 0, $6 + 4 | 0 | 0, $6 | 0); + HEAP32[($6 + 12 | 0) >> 2] = (HEAP32[($6 + 12 | 0) >> 2] | 0) + 1 | 0; + continue label$2; + }; + } + __stack_pointer = $6 + 32 | 0; + return; + } + + function btSphereShape__localGetSupportingVertex_28btVector3_20const__29_20const($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $5 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, $6 = 0, $14 = 0, $20 = 0, $21 = 0, $101 = 0, $114 = 0, $129 = 0, $133 = 0, wasm2js_i32$0 = 0, wasm2js_f32$0 = Math_fround(0); + $5 = __stack_pointer - 80 | 0; + __stack_pointer = $5; + HEAP32[($5 + 76 | 0) >> 2] = $1; + HEAP32[($5 + 72 | 0) >> 2] = $2; + $6 = HEAP32[($5 + 76 | 0) >> 2] | 0; + btVector3__btVector3_28_29($0 | 0) | 0; + FUNCTION_TABLE[HEAP32[((HEAP32[$6 >> 2] | 0) + 68 | 0) >> 2] | 0 | 0]($5 + 56 | 0, $6, HEAP32[($5 + 72 | 0) >> 2] | 0); + i64toi32_i32$2 = $5; + i64toi32_i32$0 = HEAP32[($5 + 56 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($5 + 60 | 0) >> 2] | 0; + $101 = i64toi32_i32$0; + i64toi32_i32$0 = $0; + HEAP32[i64toi32_i32$0 >> 2] = $101; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $14 = 8; + i64toi32_i32$2 = ($5 + 56 | 0) + $14 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $114 = i64toi32_i32$1; + i64toi32_i32$1 = $0 + $14 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $114; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + $20 = HEAP32[($5 + 72 | 0) >> 2] | 0; + $21 = 8; + i64toi32_i32$2 = $20 + $21 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $129 = i64toi32_i32$0; + i64toi32_i32$0 = ($5 + 40 | 0) + $21 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $129; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$2 = $20; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $133 = i64toi32_i32$1; + i64toi32_i32$1 = $5; + HEAP32[($5 + 40 | 0) >> 2] = $133; + HEAP32[($5 + 44 | 0) >> 2] = i64toi32_i32$0; + label$1 : { + if (!(Math_fround(btVector3__length2_28_29_20const($5 + 40 | 0 | 0)) < Math_fround(1.4210854715202004e-14) & 1 | 0)) { + break label$1 + } + HEAPF32[($5 + 36 | 0) >> 2] = Math_fround(-1.0); + HEAPF32[($5 + 32 | 0) >> 2] = Math_fround(-1.0); + HEAPF32[($5 + 28 | 0) >> 2] = Math_fround(-1.0); + btVector3__setValue_28float_20const__2c_20float_20const__2c_20float_20const__29($5 + 40 | 0 | 0, $5 + 36 | 0 | 0, $5 + 32 | 0 | 0, $5 + 28 | 0 | 0); + } + btVector3__normalize_28_29($5 + 40 | 0 | 0) | 0; + (wasm2js_i32$0 = $5, wasm2js_f32$0 = Math_fround(FUNCTION_TABLE[HEAP32[((HEAP32[$6 >> 2] | 0) + 48 | 0) >> 2] | 0 | 0]($6))), HEAPF32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_f32$0; + operator__28float_20const__2c_20btVector3_20const__29($5 + 12 | 0 | 0, $5 + 8 | 0 | 0, $5 + 40 | 0 | 0); + btVector3__operator___28btVector3_20const__29_1($0 | 0, $5 + 12 | 0 | 0) | 0; + __stack_pointer = $5 + 80 | 0; + return; + } + + function btSphereShape__getAabb_28btTransform_20const__2c_20btVector3__2c_20btVector3__29_20const($0, $1, $2, $3) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + var $6 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, $7 = 0, $38 = 0, $40 = 0, $51 = 0, $53 = 0, $146 = 0, $159 = 0, $175 = 0, $185 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0, wasm2js_f32$0 = Math_fround(0); + $6 = __stack_pointer - 80 | 0; + __stack_pointer = $6; + HEAP32[($6 + 76 | 0) >> 2] = $0; + HEAP32[($6 + 72 | 0) >> 2] = $1; + HEAP32[($6 + 68 | 0) >> 2] = $2; + HEAP32[($6 + 64 | 0) >> 2] = $3; + $7 = HEAP32[($6 + 76 | 0) >> 2] | 0; + (wasm2js_i32$0 = $6, wasm2js_i32$1 = btTransform__getOrigin_28_29_20const(HEAP32[($6 + 72 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 60 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $6, wasm2js_f32$0 = Math_fround(FUNCTION_TABLE[HEAP32[((HEAP32[$7 >> 2] | 0) + 48 | 0) >> 2] | 0 | 0]($7))), HEAPF32[(wasm2js_i32$0 + 40 | 0) >> 2] = wasm2js_f32$0; + (wasm2js_i32$0 = $6, wasm2js_f32$0 = Math_fround(FUNCTION_TABLE[HEAP32[((HEAP32[$7 >> 2] | 0) + 48 | 0) >> 2] | 0 | 0]($7))), HEAPF32[(wasm2js_i32$0 + 36 | 0) >> 2] = wasm2js_f32$0; + (wasm2js_i32$0 = $6, wasm2js_f32$0 = Math_fround(FUNCTION_TABLE[HEAP32[((HEAP32[$7 >> 2] | 0) + 48 | 0) >> 2] | 0 | 0]($7))), HEAPF32[(wasm2js_i32$0 + 32 | 0) >> 2] = wasm2js_f32$0; + btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($6 + 44 | 0 | 0, $6 + 40 | 0 | 0, $6 + 36 | 0 | 0, $6 + 32 | 0 | 0) | 0; + operator__28btVector3_20const__2c_20btVector3_20const__29($6 + 16 | 0 | 0, HEAP32[($6 + 60 | 0) >> 2] | 0 | 0, $6 + 44 | 0 | 0); + $38 = HEAP32[($6 + 68 | 0) >> 2] | 0; + i64toi32_i32$2 = $6; + i64toi32_i32$0 = HEAP32[($6 + 16 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($6 + 20 | 0) >> 2] | 0; + $146 = i64toi32_i32$0; + i64toi32_i32$0 = $38; + HEAP32[i64toi32_i32$0 >> 2] = $146; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $40 = 8; + i64toi32_i32$2 = ($6 + 16 | 0) + $40 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $159 = i64toi32_i32$1; + i64toi32_i32$1 = $38 + $40 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $159; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + operator__28btVector3_20const__2c_20btVector3_20const__29_2($6 | 0, HEAP32[($6 + 60 | 0) >> 2] | 0 | 0, $6 + 44 | 0 | 0); + $51 = HEAP32[($6 + 64 | 0) >> 2] | 0; + i64toi32_i32$2 = $6; + i64toi32_i32$0 = HEAP32[$6 >> 2] | 0; + i64toi32_i32$1 = HEAP32[($6 + 4 | 0) >> 2] | 0; + $175 = i64toi32_i32$0; + i64toi32_i32$0 = $51; + HEAP32[i64toi32_i32$0 >> 2] = $175; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $53 = 8; + i64toi32_i32$2 = $6 + $53 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $185 = i64toi32_i32$1; + i64toi32_i32$1 = $51 + $53 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $185; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + __stack_pointer = $6 + 80 | 0; + return; + } + + function btSphereShape__calculateLocalInertia_28float_2c_20btVector3__29_20const($0, $1, $2) { + $0 = $0 | 0; + $1 = Math_fround($1); + $2 = $2 | 0; + var $5 = 0, $6 = 0, wasm2js_i32$0 = 0, wasm2js_f32$0 = Math_fround(0); + $5 = __stack_pointer - 16 | 0; + __stack_pointer = $5; + HEAP32[($5 + 12 | 0) >> 2] = $0; + HEAPF32[($5 + 8 | 0) >> 2] = $1; + HEAP32[($5 + 4 | 0) >> 2] = $2; + $6 = HEAP32[($5 + 12 | 0) >> 2] | 0; + (wasm2js_i32$0 = $5, wasm2js_f32$0 = Math_fround(Math_fround(Math_fround(Math_fround(.4000000059604645) * Math_fround(HEAPF32[($5 + 8 | 0) >> 2])) * Math_fround(FUNCTION_TABLE[HEAP32[((HEAP32[$6 >> 2] | 0) + 48 | 0) >> 2] | 0 | 0]($6))) * Math_fround(FUNCTION_TABLE[HEAP32[((HEAP32[$6 >> 2] | 0) + 48 | 0) >> 2] | 0 | 0]($6)))), HEAPF32[wasm2js_i32$0 >> 2] = wasm2js_f32$0; + btVector3__setValue_28float_20const__2c_20float_20const__2c_20float_20const__29(HEAP32[($5 + 4 | 0) >> 2] | 0 | 0, $5 | 0, $5 | 0, $5 | 0); + __stack_pointer = $5 + 16 | 0; + return; + } + + function btSphereShape___btSphereShape_28_29_1($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + btSphereShape___btSphereShape_28_29($4 | 0) | 0; + btSphereShape__operator_20delete_28void__29($4 | 0); + __stack_pointer = $3 + 16 | 0; + return; + } + + function btSphereShape__operator_20delete_28void__29($0) { + $0 = $0 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + btAlignedFreeInternal_28void__29(HEAP32[($3 + 12 | 0) >> 2] | 0 | 0); + __stack_pointer = $3 + 16 | 0; + return; + } + + function btSphereShape__getName_28_29_20const($0) { + $0 = $0 | 0; + HEAP32[((__stack_pointer - 16 | 0) + 12 | 0) >> 2] = $0; + return 84407 | 0; + } + + function btSphereShape__getMargin_28_29_20const($0) { + $0 = $0 | 0; + var $3 = 0, $5 = Math_fround(0); + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $5 = Math_fround(btSphereShape__getRadius_28_29_20const(HEAP32[($3 + 12 | 0) >> 2] | 0 | 0)); + __stack_pointer = $3 + 16 | 0; + return Math_fround($5); + } + + function _GLOBAL__sub_I_btSphereShape_cpp() { + __cxx_global_var_init_48(); + return; + } + + function __cxx_global_var_init_49() { + btInfMaskConverter__btInfMaskConverter_28int_29(114284 | 0, 2139095040 | 0) | 0; + return; + } + + function btStaticPlaneShape__btStaticPlaneShape_28btVector3_20const__2c_20float_29($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = Math_fround($2); + var $5 = 0, $6 = 0; + $5 = __stack_pointer - 32 | 0; + __stack_pointer = $5; + HEAP32[($5 + 28 | 0) >> 2] = $0; + HEAP32[($5 + 24 | 0) >> 2] = $1; + HEAPF32[($5 + 20 | 0) >> 2] = $2; + $6 = HEAP32[($5 + 28 | 0) >> 2] | 0; + btConcaveShape__btConcaveShape_28_29($6 | 0) | 0; + HEAP32[$6 >> 2] = 100108 + 8 | 0; + btVector3__btVector3_28_29($6 + 24 | 0 | 0) | 0; + btVector3__btVector3_28_29($6 + 40 | 0 | 0) | 0; + btVector3__normalized_28_29_20const($6 + 56 | 0 | 0, HEAP32[($5 + 24 | 0) >> 2] | 0 | 0); + HEAPF32[($6 + 72 | 0) >> 2] = Math_fround(HEAPF32[($5 + 20 | 0) >> 2]); + HEAPF32[($5 + 16 | 0) >> 2] = Math_fround(1.0); + HEAPF32[($5 + 12 | 0) >> 2] = Math_fround(1.0); + HEAPF32[($5 + 8 | 0) >> 2] = Math_fround(1.0); + btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($6 + 76 | 0 | 0, $5 + 16 | 0 | 0, $5 + 12 | 0 | 0, $5 + 8 | 0 | 0) | 0; + HEAP32[($6 + 4 | 0) >> 2] = 28; + __stack_pointer = $5 + 32 | 0; + return $6 | 0; + } + + function btStaticPlaneShape___btStaticPlaneShape_28_29($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + btConcaveShape___btConcaveShape_28_29($4 | 0) | 0; + __stack_pointer = $3 + 16 | 0; + return $4 | 0; + } + + function btStaticPlaneShape___btStaticPlaneShape_28_29_1($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + FUNCTION_TABLE[951 | 0]($4) | 0; + btStaticPlaneShape__operator_20delete_28void__29($4 | 0); + __stack_pointer = $3 + 16 | 0; + return; + } + + function btStaticPlaneShape__operator_20delete_28void__29($0) { + $0 = $0 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + btAlignedFreeInternal_28void__29(HEAP32[($3 + 12 | 0) >> 2] | 0 | 0); + __stack_pointer = $3 + 16 | 0; + return; + } + + function btStaticPlaneShape__getAabb_28btTransform_20const__2c_20btVector3__2c_20btVector3__29_20const($0, $1, $2, $3) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + var $6 = 0, $7 = 0, $20 = 0; + $6 = __stack_pointer - 48 | 0; + __stack_pointer = $6; + HEAP32[($6 + 44 | 0) >> 2] = $0; + HEAP32[($6 + 40 | 0) >> 2] = $1; + HEAP32[($6 + 36 | 0) >> 2] = $2; + HEAP32[($6 + 32 | 0) >> 2] = $3; + $7 = HEAP32[($6 + 36 | 0) >> 2] | 0; + HEAPF32[($6 + 28 | 0) >> 2] = Math_fround(-999999984306749440.0); + HEAPF32[($6 + 24 | 0) >> 2] = Math_fround(-999999984306749440.0); + HEAPF32[($6 + 20 | 0) >> 2] = Math_fround(-999999984306749440.0); + btVector3__setValue_28float_20const__2c_20float_20const__2c_20float_20const__29($7 | 0, $6 + 28 | 0 | 0, $6 + 24 | 0 | 0, $6 + 20 | 0 | 0); + $20 = HEAP32[($6 + 32 | 0) >> 2] | 0; + HEAPF32[($6 + 16 | 0) >> 2] = Math_fround(999999984306749440.0); + HEAPF32[($6 + 12 | 0) >> 2] = Math_fround(999999984306749440.0); + HEAPF32[($6 + 8 | 0) >> 2] = Math_fround(999999984306749440.0); + btVector3__setValue_28float_20const__2c_20float_20const__2c_20float_20const__29($20 | 0, $6 + 16 | 0 | 0, $6 + 12 | 0 | 0, $6 + 8 | 0 | 0); + __stack_pointer = $6 + 48 | 0; + return; + } + + function btStaticPlaneShape__processAllTriangles_28btTriangleCallback__2c_20btVector3_20const__2c_20btVector3_20const__29_20const($0, $1, $2, $3) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + var $6 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, $7 = 0, $89 = 0, $92 = 0, $93 = 0, $95 = 0, $139 = 0, $141 = 0, $187 = 0, $189 = 0, $235 = 0, $237 = 0, $243 = 0, $249 = 0, $288 = 0, $290 = 0, $336 = 0, $338 = 0, $380 = 0, $382 = 0, $388 = 0, $91 = 0, $653 = 0, $666 = 0, $737 = 0, $750 = 0, $821 = 0, $834 = 0, $917 = 0, $930 = 0, $1001 = 0, $1014 = 0, $1079 = 0, $1092 = 0, wasm2js_i32$0 = 0, wasm2js_f32$0 = Math_fround(0); + $6 = __stack_pointer - 624 | 0; + __stack_pointer = $6; + HEAP32[($6 + 620 | 0) >> 2] = $0; + HEAP32[($6 + 616 | 0) >> 2] = $1; + HEAP32[($6 + 612 | 0) >> 2] = $2; + HEAP32[($6 + 608 | 0) >> 2] = $3; + $7 = HEAP32[($6 + 620 | 0) >> 2] | 0; + operator__28btVector3_20const__2c_20btVector3_20const__29($6 + 576 | 0 | 0, HEAP32[($6 + 608 | 0) >> 2] | 0 | 0, HEAP32[($6 + 612 | 0) >> 2] | 0 | 0); + HEAPF32[($6 + 572 | 0) >> 2] = Math_fround(.5); + operator__28btVector3_20const__2c_20float_20const__29($6 + 592 | 0 | 0, $6 + 576 | 0 | 0, $6 + 572 | 0 | 0); + (wasm2js_i32$0 = $6, wasm2js_f32$0 = Math_fround(btVector3__length_28_29_20const($6 + 592 | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 568 | 0) >> 2] = wasm2js_f32$0; + operator__28btVector3_20const__2c_20btVector3_20const__29_2($6 + 536 | 0 | 0, HEAP32[($6 + 608 | 0) >> 2] | 0 | 0, HEAP32[($6 + 612 | 0) >> 2] | 0 | 0); + HEAPF32[($6 + 532 | 0) >> 2] = Math_fround(.5); + operator__28btVector3_20const__2c_20float_20const__29($6 + 552 | 0 | 0, $6 + 536 | 0 | 0, $6 + 532 | 0 | 0); + btVector3__btVector3_28_29($6 + 516 | 0 | 0) | 0; + btVector3__btVector3_28_29($6 + 500 | 0 | 0) | 0; + void_20btPlaneSpace1_btVector3__28btVector3_20const__2c_20btVector3__2c_20btVector3__29($7 + 56 | 0 | 0, $6 + 516 | 0 | 0, $6 + 500 | 0 | 0); + btVector3__btVector3_28_29($6 + 484 | 0 | 0) | 0; + btVector3__btVector3_28_29($6 + 468 | 0 | 0) | 0; + (wasm2js_i32$0 = $6, wasm2js_f32$0 = Math_fround(Math_fround(btVector3__dot_28btVector3_20const__29_20const($7 + 56 | 0 | 0, $6 + 552 | 0 | 0)) - Math_fround(HEAPF32[($7 + 72 | 0) >> 2]))), HEAPF32[(wasm2js_i32$0 + 432 | 0) >> 2] = wasm2js_f32$0; + operator__28float_20const__2c_20btVector3_20const__29($6 + 436 | 0 | 0, $6 + 432 | 0 | 0, $7 + 56 | 0 | 0); + operator__28btVector3_20const__2c_20btVector3_20const__29($6 + 452 | 0 | 0, $6 + 552 | 0 | 0, $6 + 436 | 0 | 0); + $89 = $6 + 384 | 0; + $91 = $89 + 48 | 0; + $92 = $89; + label$1 : while (1) { + $93 = $92; + btVector3__btVector3_28_29($93 | 0) | 0; + $95 = $93 + 16 | 0; + $92 = $95; + if (!(($95 | 0) == ($91 | 0) & 1 | 0)) { + continue label$1 + } + break label$1; + }; + operator__28btVector3_20const__2c_20float_20const__29($6 + 336 | 0 | 0, $6 + 516 | 0 | 0, $6 + 568 | 0 | 0); + operator__28btVector3_20const__2c_20btVector3_20const__29_2($6 + 352 | 0 | 0, $6 + 452 | 0 | 0, $6 + 336 | 0 | 0); + operator__28btVector3_20const__2c_20float_20const__29($6 + 320 | 0 | 0, $6 + 500 | 0 | 0, $6 + 568 | 0 | 0); + operator__28btVector3_20const__2c_20btVector3_20const__29_2($6 + 368 | 0 | 0, $6 + 352 | 0 | 0, $6 + 320 | 0 | 0); + $139 = $6 + 384 | 0; + i64toi32_i32$2 = $6; + i64toi32_i32$0 = HEAP32[($6 + 368 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($6 + 372 | 0) >> 2] | 0; + $653 = i64toi32_i32$0; + i64toi32_i32$0 = $139; + HEAP32[i64toi32_i32$0 >> 2] = $653; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $141 = 8; + i64toi32_i32$2 = ($6 + 368 | 0) + $141 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $666 = i64toi32_i32$1; + i64toi32_i32$1 = $139 + $141 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $666; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + operator__28btVector3_20const__2c_20float_20const__29($6 + 272 | 0 | 0, $6 + 516 | 0 | 0, $6 + 568 | 0 | 0); + operator__28btVector3_20const__2c_20btVector3_20const__29_2($6 + 288 | 0 | 0, $6 + 452 | 0 | 0, $6 + 272 | 0 | 0); + operator__28btVector3_20const__2c_20float_20const__29($6 + 256 | 0 | 0, $6 + 500 | 0 | 0, $6 + 568 | 0 | 0); + operator__28btVector3_20const__2c_20btVector3_20const__29($6 + 304 | 0 | 0, $6 + 288 | 0 | 0, $6 + 256 | 0 | 0); + $187 = ($6 + 384 | 0) + 16 | 0; + i64toi32_i32$2 = $6; + i64toi32_i32$0 = HEAP32[($6 + 304 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($6 + 308 | 0) >> 2] | 0; + $737 = i64toi32_i32$0; + i64toi32_i32$0 = $187; + HEAP32[i64toi32_i32$0 >> 2] = $737; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $189 = 8; + i64toi32_i32$2 = ($6 + 304 | 0) + $189 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $750 = i64toi32_i32$1; + i64toi32_i32$1 = $187 + $189 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $750; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + operator__28btVector3_20const__2c_20float_20const__29($6 + 208 | 0 | 0, $6 + 516 | 0 | 0, $6 + 568 | 0 | 0); + operator__28btVector3_20const__2c_20btVector3_20const__29($6 + 224 | 0 | 0, $6 + 452 | 0 | 0, $6 + 208 | 0 | 0); + operator__28btVector3_20const__2c_20float_20const__29($6 + 192 | 0 | 0, $6 + 500 | 0 | 0, $6 + 568 | 0 | 0); + operator__28btVector3_20const__2c_20btVector3_20const__29($6 + 240 | 0 | 0, $6 + 224 | 0 | 0, $6 + 192 | 0 | 0); + $235 = ($6 + 384 | 0) + 32 | 0; + i64toi32_i32$2 = $6; + i64toi32_i32$0 = HEAP32[($6 + 240 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($6 + 244 | 0) >> 2] | 0; + $821 = i64toi32_i32$0; + i64toi32_i32$0 = $235; + HEAP32[i64toi32_i32$0 >> 2] = $821; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $237 = 8; + i64toi32_i32$2 = ($6 + 240 | 0) + $237 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $834 = i64toi32_i32$1; + i64toi32_i32$1 = $235 + $237 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $834; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + $243 = HEAP32[($6 + 616 | 0) >> 2] | 0; + $249 = 0; + FUNCTION_TABLE[HEAP32[((HEAP32[$243 >> 2] | 0) + 8 | 0) >> 2] | 0 | 0]($243, $6 + 384 | 0, $249, $249); + operator__28btVector3_20const__2c_20float_20const__29($6 + 144 | 0 | 0, $6 + 516 | 0 | 0, $6 + 568 | 0 | 0); + operator__28btVector3_20const__2c_20btVector3_20const__29($6 + 160 | 0 | 0, $6 + 452 | 0 | 0, $6 + 144 | 0 | 0); + operator__28btVector3_20const__2c_20float_20const__29($6 + 128 | 0 | 0, $6 + 500 | 0 | 0, $6 + 568 | 0 | 0); + operator__28btVector3_20const__2c_20btVector3_20const__29($6 + 176 | 0 | 0, $6 + 160 | 0 | 0, $6 + 128 | 0 | 0); + $288 = $6 + 384 | 0; + i64toi32_i32$2 = $6; + i64toi32_i32$0 = HEAP32[($6 + 176 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($6 + 180 | 0) >> 2] | 0; + $917 = i64toi32_i32$0; + i64toi32_i32$0 = $288; + HEAP32[i64toi32_i32$0 >> 2] = $917; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $290 = 8; + i64toi32_i32$2 = ($6 + 176 | 0) + $290 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $930 = i64toi32_i32$1; + i64toi32_i32$1 = $288 + $290 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $930; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + operator__28btVector3_20const__2c_20float_20const__29($6 + 80 | 0 | 0, $6 + 516 | 0 | 0, $6 + 568 | 0 | 0); + operator__28btVector3_20const__2c_20btVector3_20const__29($6 + 96 | 0 | 0, $6 + 452 | 0 | 0, $6 + 80 | 0 | 0); + operator__28btVector3_20const__2c_20float_20const__29($6 + 64 | 0 | 0, $6 + 500 | 0 | 0, $6 + 568 | 0 | 0); + operator__28btVector3_20const__2c_20btVector3_20const__29_2($6 + 112 | 0 | 0, $6 + 96 | 0 | 0, $6 + 64 | 0 | 0); + $336 = ($6 + 384 | 0) + 16 | 0; + i64toi32_i32$2 = $6; + i64toi32_i32$0 = HEAP32[($6 + 112 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($6 + 116 | 0) >> 2] | 0; + $1001 = i64toi32_i32$0; + i64toi32_i32$0 = $336; + HEAP32[i64toi32_i32$0 >> 2] = $1001; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $338 = 8; + i64toi32_i32$2 = ($6 + 112 | 0) + $338 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $1014 = i64toi32_i32$1; + i64toi32_i32$1 = $336 + $338 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $1014; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + operator__28btVector3_20const__2c_20float_20const__29($6 + 16 | 0 | 0, $6 + 516 | 0 | 0, $6 + 568 | 0 | 0); + operator__28btVector3_20const__2c_20btVector3_20const__29_2($6 + 32 | 0 | 0, $6 + 452 | 0 | 0, $6 + 16 | 0 | 0); + operator__28btVector3_20const__2c_20float_20const__29($6 | 0, $6 + 500 | 0 | 0, $6 + 568 | 0 | 0); + operator__28btVector3_20const__2c_20btVector3_20const__29_2($6 + 48 | 0 | 0, $6 + 32 | 0 | 0, $6 | 0); + $380 = ($6 + 384 | 0) + 32 | 0; + i64toi32_i32$2 = $6; + i64toi32_i32$0 = HEAP32[($6 + 48 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($6 + 52 | 0) >> 2] | 0; + $1079 = i64toi32_i32$0; + i64toi32_i32$0 = $380; + HEAP32[i64toi32_i32$0 >> 2] = $1079; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $382 = 8; + i64toi32_i32$2 = ($6 + 48 | 0) + $382 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $1092 = i64toi32_i32$1; + i64toi32_i32$1 = $380 + $382 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $1092; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + $388 = HEAP32[($6 + 616 | 0) >> 2] | 0; + FUNCTION_TABLE[HEAP32[((HEAP32[$388 >> 2] | 0) + 8 | 0) >> 2] | 0 | 0]($388, $6 + 384 | 0, 0, 1); + __stack_pointer = $6 + 624 | 0; + return; + } + + function btStaticPlaneShape__calculateLocalInertia_28float_2c_20btVector3__29_20const($0, $1, $2) { + $0 = $0 | 0; + $1 = Math_fround($1); + $2 = $2 | 0; + var $5 = 0, $6 = 0; + $5 = __stack_pointer - 32 | 0; + __stack_pointer = $5; + HEAP32[($5 + 28 | 0) >> 2] = $0; + HEAPF32[($5 + 24 | 0) >> 2] = $1; + HEAP32[($5 + 20 | 0) >> 2] = $2; + $6 = HEAP32[($5 + 20 | 0) >> 2] | 0; + HEAPF32[($5 + 16 | 0) >> 2] = Math_fround(0 | 0); + HEAPF32[($5 + 12 | 0) >> 2] = Math_fround(0 | 0); + HEAPF32[($5 + 8 | 0) >> 2] = Math_fround(0 | 0); + btVector3__setValue_28float_20const__2c_20float_20const__2c_20float_20const__29($6 | 0, $5 + 16 | 0 | 0, $5 + 12 | 0 | 0, $5 + 8 | 0 | 0); + __stack_pointer = $5 + 32 | 0; + return; + } + + function btStaticPlaneShape__setLocalScaling_28btVector3_20const__29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var i64toi32_i32$2 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $4 = 0, $8 = 0, $10 = 0, $32 = 0, $42 = 0; + $4 = __stack_pointer - 16 | 0; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + $8 = (HEAP32[($4 + 12 | 0) >> 2] | 0) + 76 | 0; + i64toi32_i32$2 = HEAP32[($4 + 8 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $32 = i64toi32_i32$0; + i64toi32_i32$0 = $8; + HEAP32[i64toi32_i32$0 >> 2] = $32; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $10 = 8; + i64toi32_i32$2 = i64toi32_i32$2 + $10 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $42 = i64toi32_i32$1; + i64toi32_i32$1 = $8 + $10 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $42; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + return; + } + + function btStaticPlaneShape__getLocalScaling_28_29_20const($0) { + $0 = $0 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + return (HEAP32[($3 + 12 | 0) >> 2] | 0) + 76 | 0 | 0; + } + + function btStaticPlaneShape__getName_28_29_20const($0) { + $0 = $0 | 0; + HEAP32[((__stack_pointer - 16 | 0) + 12 | 0) >> 2] = $0; + return 84414 | 0; + } + + function btStaticPlaneShape__calculateSerializeBufferSize_28_29_20const($0) { + $0 = $0 | 0; + HEAP32[((__stack_pointer - 16 | 0) + 12 | 0) >> 2] = $0; + return 52 | 0; + } + + function btStaticPlaneShape__serialize_28void__2c_20btSerializer__29_20const($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $5 = 0, $6 = 0; + $5 = __stack_pointer - 16 | 0; + __stack_pointer = $5; + HEAP32[($5 + 12 | 0) >> 2] = $0; + HEAP32[($5 + 8 | 0) >> 2] = $1; + HEAP32[($5 + 4 | 0) >> 2] = $2; + $6 = HEAP32[($5 + 12 | 0) >> 2] | 0; + HEAP32[$5 >> 2] = HEAP32[($5 + 8 | 0) >> 2] | 0; + btCollisionShape__serialize_28void__2c_20btSerializer__29_20const($6 | 0, HEAP32[$5 >> 2] | 0 | 0, HEAP32[($5 + 4 | 0) >> 2] | 0 | 0) | 0; + btVector3__serializeFloat_28btVector3FloatData__29_20const($6 + 76 | 0 | 0, (HEAP32[$5 >> 2] | 0) + 12 | 0 | 0); + btVector3__serializeFloat_28btVector3FloatData__29_20const($6 + 56 | 0 | 0, (HEAP32[$5 >> 2] | 0) + 28 | 0 | 0); + HEAPF32[((HEAP32[$5 >> 2] | 0) + 44 | 0) >> 2] = Math_fround(HEAPF32[($6 + 72 | 0) >> 2]); + HEAP8[((HEAP32[$5 >> 2] | 0) + 48 | 0) >> 0] = 0; + HEAP8[((HEAP32[$5 >> 2] | 0) + 49 | 0) >> 0] = 0; + HEAP8[((HEAP32[$5 >> 2] | 0) + 50 | 0) >> 0] = 0; + HEAP8[((HEAP32[$5 >> 2] | 0) + 51 | 0) >> 0] = 0; + __stack_pointer = $5 + 16 | 0; + return 83571 | 0; + } + + function _GLOBAL__sub_I_btStaticPlaneShape_cpp() { + __cxx_global_var_init_49(); + return; + } + + function __cxx_global_var_init_50() { + btInfMaskConverter__btInfMaskConverter_28int_29(114288 | 0, 2139095040 | 0) | 0; + return; + } + + function btBU_Simplex1to4__btBU_Simplex1to4_28_29($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0, $10 = 0, $13 = 0, $14 = 0, $16 = 0, $12 = 0, $23 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 8 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 8 | 0) >> 2] | 0; + HEAP32[($3 + 12 | 0) >> 2] = $4; + btPolyhedralConvexAabbCachingShape__btPolyhedralConvexAabbCachingShape_28_29($4 | 0) | 0; + HEAP32[$4 >> 2] = 100220 + 8 | 0; + HEAP32[($4 + 100 | 0) >> 2] = 0; + $10 = $4 + 104 | 0; + $12 = $10 + 64 | 0; + $13 = $10; + label$1 : while (1) { + $14 = $13; + btVector3__btVector3_28_29($14 | 0) | 0; + $16 = $14 + 16 | 0; + $13 = $16; + if (!(($16 | 0) == ($12 | 0) & 1 | 0)) { + continue label$1 + } + break label$1; + }; + HEAP32[($4 + 4 | 0) >> 2] = 2; + $23 = HEAP32[($3 + 12 | 0) >> 2] | 0; + __stack_pointer = $3 + 16 | 0; + return $23 | 0; + } + + function btBU_Simplex1to4__addVertex_28btVector3_20const__29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, i64toi32_i32$2 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $5 = 0, $9 = 0, $14 = 0, $16 = 0, $6 = 0, $54 = 0, $64 = 0; + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; + $6 = HEAP32[($4 + 8 | 0) >> 2] | 0; + $9 = HEAP32[($5 + 100 | 0) >> 2] | 0; + HEAP32[($5 + 100 | 0) >> 2] = $9 + 1 | 0; + $14 = ($5 + 104 | 0) + ($9 << 4 | 0) | 0; + i64toi32_i32$2 = $6; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $54 = i64toi32_i32$0; + i64toi32_i32$0 = $14; + HEAP32[i64toi32_i32$0 >> 2] = $54; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $16 = 8; + i64toi32_i32$2 = i64toi32_i32$2 + $16 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $64 = i64toi32_i32$1; + i64toi32_i32$1 = $14 + $16 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $64; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + btPolyhedralConvexAabbCachingShape__recalcLocalAabb_28_29($5 | 0); + __stack_pointer = $4 + 16 | 0; + return; + } + + function btBU_Simplex1to4__getAabb_28btTransform_20const__2c_20btVector3__2c_20btVector3__29_20const($0, $1, $2, $3) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + var $6 = 0; + $6 = __stack_pointer - 16 | 0; + __stack_pointer = $6; + HEAP32[($6 + 12 | 0) >> 2] = $0; + HEAP32[($6 + 8 | 0) >> 2] = $1; + HEAP32[($6 + 4 | 0) >> 2] = $2; + HEAP32[$6 >> 2] = $3; + btPolyhedralConvexAabbCachingShape__getAabb_28btTransform_20const__2c_20btVector3__2c_20btVector3__29_20const(HEAP32[($6 + 12 | 0) >> 2] | 0 | 0, HEAP32[($6 + 8 | 0) >> 2] | 0 | 0, HEAP32[($6 + 4 | 0) >> 2] | 0 | 0, HEAP32[$6 >> 2] | 0 | 0); + __stack_pointer = $6 + 16 | 0; + return; + } + + function btBU_Simplex1to4__getNumVertices_28_29_20const($0) { + $0 = $0 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + return HEAP32[((HEAP32[($3 + 12 | 0) >> 2] | 0) + 100 | 0) >> 2] | 0 | 0; + } + + function btBU_Simplex1to4__getNumEdges_28_29_20const($0) { + $0 = $0 | 0; + var $3 = 0, $5 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 8 | 0) >> 2] = $0; + $5 = HEAP32[((HEAP32[($3 + 8 | 0) >> 2] | 0) + 100 | 0) >> 2] | 0; + label$1 : { + label$2 : { + switch ($5 | 0) { + case 0: + HEAP32[($3 + 12 | 0) >> 2] = 0; + break label$1; + case 1: + HEAP32[($3 + 12 | 0) >> 2] = 0; + break label$1; + case 2: + HEAP32[($3 + 12 | 0) >> 2] = 1; + break label$1; + case 3: + HEAP32[($3 + 12 | 0) >> 2] = 3; + break label$1; + case 4: + HEAP32[($3 + 12 | 0) >> 2] = 6; + break label$1; + default: + break label$2; + }; + } + HEAP32[($3 + 12 | 0) >> 2] = 0; + } + return HEAP32[($3 + 12 | 0) >> 2] | 0 | 0; + } + + function btBU_Simplex1to4__getEdge_28int_2c_20btVector3__2c_20btVector3__29_20const($0, $1, $2, $3) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + var i64toi32_i32$2 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $6 = 0, $7 = 0, $10 = 0, $14 = 0, $16 = 0, $24 = 0, $26 = 0, $30 = 0, $34 = 0, $36 = 0, $44 = 0, $46 = 0, $54 = 0, $56 = 0, $64 = 0, $66 = 0, $74 = 0, $76 = 0, $82 = 0, $84 = 0, $88 = 0, $92 = 0, $94 = 0, $102 = 0, $104 = 0, $112 = 0, $114 = 0, $122 = 0, $124 = 0, $132 = 0, $134 = 0, $140 = 0, $142 = 0, $148 = 0, $150 = 0, $158 = 0, $160 = 0, $168 = 0, $170 = 0, $178 = 0, $180 = 0, $188 = 0, $190 = 0, $198 = 0, $200 = 0, $235 = 0, $245 = 0, $257 = 0, $267 = 0, $282 = 0, $292 = 0, $304 = 0, $314 = 0, $326 = 0, $336 = 0, $348 = 0, $358 = 0, $370 = 0, $380 = 0, $389 = 0, $399 = 0, $414 = 0, $424 = 0, $436 = 0, $446 = 0, $458 = 0, $468 = 0, $480 = 0, $490 = 0, $502 = 0, $512 = 0, $521 = 0, $531 = 0, $540 = 0, $550 = 0, $562 = 0, $572 = 0, $584 = 0, $594 = 0, $606 = 0, $616 = 0, $628 = 0, $638 = 0, $650 = 0, $660 = 0; + $6 = __stack_pointer - 16 | 0; + HEAP32[($6 + 12 | 0) >> 2] = $0; + HEAP32[($6 + 8 | 0) >> 2] = $1; + HEAP32[($6 + 4 | 0) >> 2] = $2; + HEAP32[$6 >> 2] = $3; + $7 = HEAP32[($6 + 12 | 0) >> 2] | 0; + $10 = (HEAP32[($7 + 100 | 0) >> 2] | 0) + -2 | 0; + label$1 : { + label$2 : { + switch ($10 | 0) { + case 0: + $14 = HEAP32[($6 + 4 | 0) >> 2] | 0; + i64toi32_i32$2 = $7 + 104 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $235 = i64toi32_i32$0; + i64toi32_i32$0 = $14; + HEAP32[i64toi32_i32$0 >> 2] = $235; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $16 = 8; + i64toi32_i32$2 = i64toi32_i32$2 + $16 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $245 = i64toi32_i32$1; + i64toi32_i32$1 = $14 + $16 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $245; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + $24 = HEAP32[$6 >> 2] | 0; + i64toi32_i32$2 = ($7 + 104 | 0) + 16 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $257 = i64toi32_i32$0; + i64toi32_i32$0 = $24; + HEAP32[i64toi32_i32$0 >> 2] = $257; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $26 = 8; + i64toi32_i32$2 = i64toi32_i32$2 + $26 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $267 = i64toi32_i32$1; + i64toi32_i32$1 = $24 + $26 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $267; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + break label$1; + case 1: + $30 = HEAP32[($6 + 8 | 0) >> 2] | 0; + label$5 : { + label$6 : { + switch ($30 | 0) { + case 0: + $34 = HEAP32[($6 + 4 | 0) >> 2] | 0; + i64toi32_i32$2 = $7 + 104 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $282 = i64toi32_i32$0; + i64toi32_i32$0 = $34; + HEAP32[i64toi32_i32$0 >> 2] = $282; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $36 = 8; + i64toi32_i32$2 = i64toi32_i32$2 + $36 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $292 = i64toi32_i32$1; + i64toi32_i32$1 = $34 + $36 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $292; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + $44 = HEAP32[$6 >> 2] | 0; + i64toi32_i32$2 = ($7 + 104 | 0) + 16 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $304 = i64toi32_i32$0; + i64toi32_i32$0 = $44; + HEAP32[i64toi32_i32$0 >> 2] = $304; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $46 = 8; + i64toi32_i32$2 = i64toi32_i32$2 + $46 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $314 = i64toi32_i32$1; + i64toi32_i32$1 = $44 + $46 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $314; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + break label$5; + case 1: + $54 = HEAP32[($6 + 4 | 0) >> 2] | 0; + i64toi32_i32$2 = ($7 + 104 | 0) + 16 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $326 = i64toi32_i32$0; + i64toi32_i32$0 = $54; + HEAP32[i64toi32_i32$0 >> 2] = $326; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $56 = 8; + i64toi32_i32$2 = i64toi32_i32$2 + $56 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $336 = i64toi32_i32$1; + i64toi32_i32$1 = $54 + $56 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $336; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + $64 = HEAP32[$6 >> 2] | 0; + i64toi32_i32$2 = ($7 + 104 | 0) + 32 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $348 = i64toi32_i32$0; + i64toi32_i32$0 = $64; + HEAP32[i64toi32_i32$0 >> 2] = $348; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $66 = 8; + i64toi32_i32$2 = i64toi32_i32$2 + $66 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $358 = i64toi32_i32$1; + i64toi32_i32$1 = $64 + $66 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $358; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + break label$5; + case 2: + break label$6; + default: + break label$5; + }; + } + $74 = HEAP32[($6 + 4 | 0) >> 2] | 0; + i64toi32_i32$2 = ($7 + 104 | 0) + 32 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $370 = i64toi32_i32$0; + i64toi32_i32$0 = $74; + HEAP32[i64toi32_i32$0 >> 2] = $370; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $76 = 8; + i64toi32_i32$2 = i64toi32_i32$2 + $76 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $380 = i64toi32_i32$1; + i64toi32_i32$1 = $74 + $76 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $380; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + $82 = HEAP32[$6 >> 2] | 0; + i64toi32_i32$2 = $7 + 104 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $389 = i64toi32_i32$0; + i64toi32_i32$0 = $82; + HEAP32[i64toi32_i32$0 >> 2] = $389; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $84 = 8; + i64toi32_i32$2 = i64toi32_i32$2 + $84 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $399 = i64toi32_i32$1; + i64toi32_i32$1 = $82 + $84 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $399; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + } + break label$1; + case 2: + break label$2; + default: + break label$1; + }; + } + $88 = HEAP32[($6 + 8 | 0) >> 2] | 0; + label$9 : { + label$10 : { + switch ($88 | 0) { + case 0: + $92 = HEAP32[($6 + 4 | 0) >> 2] | 0; + i64toi32_i32$2 = $7 + 104 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $414 = i64toi32_i32$0; + i64toi32_i32$0 = $92; + HEAP32[i64toi32_i32$0 >> 2] = $414; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $94 = 8; + i64toi32_i32$2 = i64toi32_i32$2 + $94 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $424 = i64toi32_i32$1; + i64toi32_i32$1 = $92 + $94 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $424; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + $102 = HEAP32[$6 >> 2] | 0; + i64toi32_i32$2 = ($7 + 104 | 0) + 16 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $436 = i64toi32_i32$0; + i64toi32_i32$0 = $102; + HEAP32[i64toi32_i32$0 >> 2] = $436; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $104 = 8; + i64toi32_i32$2 = i64toi32_i32$2 + $104 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $446 = i64toi32_i32$1; + i64toi32_i32$1 = $102 + $104 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $446; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + break label$9; + case 1: + $112 = HEAP32[($6 + 4 | 0) >> 2] | 0; + i64toi32_i32$2 = ($7 + 104 | 0) + 16 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $458 = i64toi32_i32$0; + i64toi32_i32$0 = $112; + HEAP32[i64toi32_i32$0 >> 2] = $458; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $114 = 8; + i64toi32_i32$2 = i64toi32_i32$2 + $114 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $468 = i64toi32_i32$1; + i64toi32_i32$1 = $112 + $114 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $468; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + $122 = HEAP32[$6 >> 2] | 0; + i64toi32_i32$2 = ($7 + 104 | 0) + 32 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $480 = i64toi32_i32$0; + i64toi32_i32$0 = $122; + HEAP32[i64toi32_i32$0 >> 2] = $480; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $124 = 8; + i64toi32_i32$2 = i64toi32_i32$2 + $124 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $490 = i64toi32_i32$1; + i64toi32_i32$1 = $122 + $124 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $490; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + break label$9; + case 2: + $132 = HEAP32[($6 + 4 | 0) >> 2] | 0; + i64toi32_i32$2 = ($7 + 104 | 0) + 32 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $502 = i64toi32_i32$0; + i64toi32_i32$0 = $132; + HEAP32[i64toi32_i32$0 >> 2] = $502; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $134 = 8; + i64toi32_i32$2 = i64toi32_i32$2 + $134 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $512 = i64toi32_i32$1; + i64toi32_i32$1 = $132 + $134 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $512; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + $140 = HEAP32[$6 >> 2] | 0; + i64toi32_i32$2 = $7 + 104 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $521 = i64toi32_i32$0; + i64toi32_i32$0 = $140; + HEAP32[i64toi32_i32$0 >> 2] = $521; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $142 = 8; + i64toi32_i32$2 = i64toi32_i32$2 + $142 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $531 = i64toi32_i32$1; + i64toi32_i32$1 = $140 + $142 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $531; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + break label$9; + case 3: + $148 = HEAP32[($6 + 4 | 0) >> 2] | 0; + i64toi32_i32$2 = $7 + 104 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $540 = i64toi32_i32$0; + i64toi32_i32$0 = $148; + HEAP32[i64toi32_i32$0 >> 2] = $540; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $150 = 8; + i64toi32_i32$2 = i64toi32_i32$2 + $150 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $550 = i64toi32_i32$1; + i64toi32_i32$1 = $148 + $150 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $550; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + $158 = HEAP32[$6 >> 2] | 0; + i64toi32_i32$2 = ($7 + 104 | 0) + 48 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $562 = i64toi32_i32$0; + i64toi32_i32$0 = $158; + HEAP32[i64toi32_i32$0 >> 2] = $562; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $160 = 8; + i64toi32_i32$2 = i64toi32_i32$2 + $160 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $572 = i64toi32_i32$1; + i64toi32_i32$1 = $158 + $160 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $572; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + break label$9; + case 4: + $168 = HEAP32[($6 + 4 | 0) >> 2] | 0; + i64toi32_i32$2 = ($7 + 104 | 0) + 16 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $584 = i64toi32_i32$0; + i64toi32_i32$0 = $168; + HEAP32[i64toi32_i32$0 >> 2] = $584; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $170 = 8; + i64toi32_i32$2 = i64toi32_i32$2 + $170 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $594 = i64toi32_i32$1; + i64toi32_i32$1 = $168 + $170 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $594; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + $178 = HEAP32[$6 >> 2] | 0; + i64toi32_i32$2 = ($7 + 104 | 0) + 48 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $606 = i64toi32_i32$0; + i64toi32_i32$0 = $178; + HEAP32[i64toi32_i32$0 >> 2] = $606; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $180 = 8; + i64toi32_i32$2 = i64toi32_i32$2 + $180 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $616 = i64toi32_i32$1; + i64toi32_i32$1 = $178 + $180 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $616; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + break label$9; + case 5: + break label$10; + default: + break label$9; + }; + } + $188 = HEAP32[($6 + 4 | 0) >> 2] | 0; + i64toi32_i32$2 = ($7 + 104 | 0) + 32 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $628 = i64toi32_i32$0; + i64toi32_i32$0 = $188; + HEAP32[i64toi32_i32$0 >> 2] = $628; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $190 = 8; + i64toi32_i32$2 = i64toi32_i32$2 + $190 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $638 = i64toi32_i32$1; + i64toi32_i32$1 = $188 + $190 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $638; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + $198 = HEAP32[$6 >> 2] | 0; + i64toi32_i32$2 = ($7 + 104 | 0) + 48 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $650 = i64toi32_i32$0; + i64toi32_i32$0 = $198; + HEAP32[i64toi32_i32$0 >> 2] = $650; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $200 = 8; + i64toi32_i32$2 = i64toi32_i32$2 + $200 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $660 = i64toi32_i32$1; + i64toi32_i32$1 = $198 + $200 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $660; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + } + } + return; + } + + function btBU_Simplex1to4__getVertex_28int_2c_20btVector3__29_20const($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $5 = 0, i64toi32_i32$2 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $13 = 0, $15 = 0, $47 = 0, $57 = 0; + $5 = __stack_pointer - 16 | 0; + HEAP32[($5 + 12 | 0) >> 2] = $0; + HEAP32[($5 + 8 | 0) >> 2] = $1; + HEAP32[($5 + 4 | 0) >> 2] = $2; + $13 = HEAP32[($5 + 4 | 0) >> 2] | 0; + i64toi32_i32$2 = ((HEAP32[($5 + 12 | 0) >> 2] | 0) + 104 | 0) + ((HEAP32[($5 + 8 | 0) >> 2] | 0) << 4 | 0) | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $47 = i64toi32_i32$0; + i64toi32_i32$0 = $13; + HEAP32[i64toi32_i32$0 >> 2] = $47; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $15 = 8; + i64toi32_i32$2 = i64toi32_i32$2 + $15 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $57 = i64toi32_i32$1; + i64toi32_i32$1 = $13 + $15 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $57; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + return; + } + + function btBU_Simplex1to4__getNumPlanes_28_29_20const($0) { + $0 = $0 | 0; + var $3 = 0, $5 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 8 | 0) >> 2] = $0; + $5 = HEAP32[((HEAP32[($3 + 8 | 0) >> 2] | 0) + 100 | 0) >> 2] | 0; + label$1 : { + label$2 : { + switch ($5 | 0) { + case 0: + HEAP32[($3 + 12 | 0) >> 2] = 0; + break label$1; + case 1: + HEAP32[($3 + 12 | 0) >> 2] = 0; + break label$1; + case 2: + HEAP32[($3 + 12 | 0) >> 2] = 0; + break label$1; + case 3: + HEAP32[($3 + 12 | 0) >> 2] = 2; + break label$1; + case 4: + HEAP32[($3 + 12 | 0) >> 2] = 4; + break label$1; + default: + break label$2; + }; + } + HEAP32[($3 + 12 | 0) >> 2] = 0; + } + return HEAP32[($3 + 12 | 0) >> 2] | 0 | 0; + } + + function btBU_Simplex1to4__getPlane_28btVector3__2c_20btVector3__2c_20int_29_20const($0, $1, $2, $3) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + var $6 = 0; + $6 = __stack_pointer - 16 | 0; + HEAP32[($6 + 12 | 0) >> 2] = $0; + HEAP32[($6 + 8 | 0) >> 2] = $1; + HEAP32[($6 + 4 | 0) >> 2] = $2; + HEAP32[$6 >> 2] = $3; + return; + } + + function btBU_Simplex1to4__getIndex_28int_29_20const($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0; + $4 = __stack_pointer - 16 | 0; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + return 0 | 0; + } + + function btBU_Simplex1to4__isInside_28btVector3_20const__2c_20float_29_20const($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = Math_fround($2); + var $5 = 0; + $5 = __stack_pointer - 16 | 0; + HEAP32[($5 + 12 | 0) >> 2] = $0; + HEAP32[($5 + 8 | 0) >> 2] = $1; + HEAPF32[($5 + 4 | 0) >> 2] = $2; + return 0 & 1 | 0 | 0; + } + + function btBU_Simplex1to4___btBU_Simplex1to4_28_29($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + btPolyhedralConvexAabbCachingShape___btPolyhedralConvexAabbCachingShape_28_29($4 | 0) | 0; + __stack_pointer = $3 + 16 | 0; + return $4 | 0; + } + + function btBU_Simplex1to4___btBU_Simplex1to4_28_29_1($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + btBU_Simplex1to4___btBU_Simplex1to4_28_29($4 | 0) | 0; + btBU_Simplex1to4__operator_20delete_28void__29($4 | 0); + __stack_pointer = $3 + 16 | 0; + return; + } + + function btBU_Simplex1to4__operator_20delete_28void__29($0) { + $0 = $0 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + btAlignedFreeInternal_28void__29(HEAP32[($3 + 12 | 0) >> 2] | 0 | 0); + __stack_pointer = $3 + 16 | 0; + return; + } + + function btBU_Simplex1to4__getName_28_29_20const($0) { + $0 = $0 | 0; + HEAP32[((__stack_pointer - 16 | 0) + 12 | 0) >> 2] = $0; + return 85350 | 0; + } + + function _GLOBAL__sub_I_btTetrahedronShape_cpp() { + __cxx_global_var_init_50(); + return; + } + + function __cxx_global_var_init_51() { + btInfMaskConverter__btInfMaskConverter_28int_29(114292 | 0, 2139095040 | 0) | 0; + return; + } + + function btTriangleCallback___btTriangleCallback_28_29($0) { + $0 = $0 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + return HEAP32[($3 + 12 | 0) >> 2] | 0 | 0; + } + + function btTriangleCallback___btTriangleCallback_28_29_1($0) { + $0 = $0 | 0; + HEAP32[((__stack_pointer - 16 | 0) + 12 | 0) >> 2] = $0; + wasm2js_trap(); + } + + function btInternalTriangleIndexCallback___btInternalTriangleIndexCallback_28_29($0) { + $0 = $0 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + return HEAP32[($3 + 12 | 0) >> 2] | 0 | 0; + } + + function btInternalTriangleIndexCallback___btInternalTriangleIndexCallback_28_29_1($0) { + $0 = $0 | 0; + HEAP32[((__stack_pointer - 16 | 0) + 12 | 0) >> 2] = $0; + wasm2js_trap(); + } + + function _GLOBAL__sub_I_btTriangleCallback_cpp() { + __cxx_global_var_init_51(); + return; + } + + function __cxx_global_var_init_52() { + btInfMaskConverter__btInfMaskConverter_28int_29(114296 | 0, 2139095040 | 0) | 0; + return; + } + + function btStridingMeshInterface___btStridingMeshInterface_28_29($0) { + $0 = $0 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + return HEAP32[($3 + 12 | 0) >> 2] | 0 | 0; + } + + function btStridingMeshInterface___btStridingMeshInterface_28_29_1($0) { + $0 = $0 | 0; + HEAP32[((__stack_pointer - 16 | 0) + 12 | 0) >> 2] = $0; + wasm2js_trap(); + } + + function btStridingMeshInterface__InternalProcessAllTriangles_28btInternalTriangleIndexCallback__2c_20btVector3_20const__2c_20btVector3_20const__29_20const($0, $1, $2, $3) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + var $6 = 0, $7 = 0, i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, i64toi32_i32$1 = 0, $14 = 0, $17 = 0, $18 = 0, $20 = 0, $26 = 0, $27 = 0, $66 = 0, $70 = 0, $215 = 0, $375 = 0, $535 = 0, $566 = 0, $699 = 0, $841 = 0, $983 = 0, $16 = 0, $1097 = 0, $1101 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0, wasm2js_f32$0 = Math_fround(0); + $6 = __stack_pointer - 384 | 0; + __stack_pointer = $6; + HEAP32[($6 + 380 | 0) >> 2] = $0; + HEAP32[($6 + 376 | 0) >> 2] = $1; + HEAP32[($6 + 372 | 0) >> 2] = $2; + HEAP32[($6 + 368 | 0) >> 2] = $3; + $7 = HEAP32[($6 + 380 | 0) >> 2] | 0; + HEAP32[($6 + 364 | 0) >> 2] = 0; + (wasm2js_i32$0 = $6, wasm2js_i32$1 = FUNCTION_TABLE[HEAP32[((HEAP32[$7 >> 2] | 0) + 28 | 0) >> 2] | 0 | 0]($7) | 0), HEAP32[(wasm2js_i32$0 + 356 | 0) >> 2] = wasm2js_i32$1; + $14 = $6 + 272 | 0; + $16 = $14 + 48 | 0; + $17 = $14; + label$1 : while (1) { + $18 = $17; + btVector3__btVector3_28_29($18 | 0) | 0; + $20 = $18 + 16 | 0; + $17 = $20; + if (!(($20 | 0) == ($16 | 0) & 1 | 0)) { + continue label$1 + } + break label$1; + }; + $26 = btStridingMeshInterface__getScaling_28_29_20const($7 | 0) | 0; + $27 = 8; + i64toi32_i32$2 = $26 + $27 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $1097 = i64toi32_i32$0; + i64toi32_i32$0 = ($6 + 256 | 0) + $27 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $1097; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$2 = $26; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $1101 = i64toi32_i32$1; + i64toi32_i32$1 = $6; + HEAP32[($6 + 256 | 0) >> 2] = $1101; + HEAP32[($6 + 260 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($6 + 360 | 0) >> 2] = 0; + label$2 : { + label$3 : while (1) { + if (!((HEAP32[($6 + 360 | 0) >> 2] | 0 | 0) < (HEAP32[($6 + 356 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$2 + } + FUNCTION_TABLE[HEAP32[((HEAP32[$7 >> 2] | 0) + 16 | 0) >> 2] | 0 | 0]($7, $6 + 352 | 0, $6 + 328 | 0, $6 + 340 | 0, $6 + 332 | 0, $6 + 348 | 0, $6 + 344 | 0, $6 + 324 | 0, $6 + 336 | 0, HEAP32[($6 + 360 | 0) >> 2] | 0); + HEAP32[($6 + 364 | 0) >> 2] = (HEAP32[($6 + 364 | 0) >> 2] | 0) + Math_imul(HEAP32[($6 + 324 | 0) >> 2] | 0, 3) | 0; + $66 = HEAP32[($6 + 340 | 0) >> 2] | 0; + label$4 : { + label$5 : { + switch ($66 | 0) { + case 0: + $70 = (HEAP32[($6 + 336 | 0) >> 2] | 0) + -2 | 0; + label$8 : { + label$9 : { + switch ($70 | 0) { + case 0: + HEAP32[($6 + 320 | 0) >> 2] = 0; + label$13 : { + label$14 : while (1) { + if (!((HEAP32[($6 + 320 | 0) >> 2] | 0 | 0) < (HEAP32[($6 + 324 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$13 + } + HEAP32[($6 + 248 | 0) >> 2] = (HEAP32[($6 + 348 | 0) >> 2] | 0) + Math_imul(HEAP32[($6 + 320 | 0) >> 2] | 0, HEAP32[($6 + 344 | 0) >> 2] | 0) | 0; + HEAP32[($6 + 252 | 0) >> 2] = (HEAP32[($6 + 352 | 0) >> 2] | 0) + Math_imul(HEAP32[(HEAP32[($6 + 248 | 0) >> 2] | 0) >> 2] | 0, HEAP32[($6 + 332 | 0) >> 2] | 0) | 0; + (wasm2js_i32$0 = $6, wasm2js_f32$0 = Math_fround(Math_fround(HEAPF32[(HEAP32[($6 + 252 | 0) >> 2] | 0) >> 2]) * Math_fround(HEAPF32[(btVector3__getX_28_29_20const($6 + 256 | 0 | 0) | 0) >> 2]))), HEAPF32[(wasm2js_i32$0 + 244 | 0) >> 2] = wasm2js_f32$0; + (wasm2js_i32$0 = $6, wasm2js_f32$0 = Math_fround(Math_fround(HEAPF32[((HEAP32[($6 + 252 | 0) >> 2] | 0) + 4 | 0) >> 2]) * Math_fround(HEAPF32[(btVector3__getY_28_29_20const($6 + 256 | 0 | 0) | 0) >> 2]))), HEAPF32[(wasm2js_i32$0 + 240 | 0) >> 2] = wasm2js_f32$0; + (wasm2js_i32$0 = $6, wasm2js_f32$0 = Math_fround(Math_fround(HEAPF32[((HEAP32[($6 + 252 | 0) >> 2] | 0) + 8 | 0) >> 2]) * Math_fround(HEAPF32[(btVector3__getZ_28_29_20const($6 + 256 | 0 | 0) | 0) >> 2]))), HEAPF32[(wasm2js_i32$0 + 236 | 0) >> 2] = wasm2js_f32$0; + btVector3__setValue_28float_20const__2c_20float_20const__2c_20float_20const__29($6 + 272 | 0 | 0, $6 + 244 | 0 | 0, $6 + 240 | 0 | 0, $6 + 236 | 0 | 0); + HEAP32[($6 + 252 | 0) >> 2] = (HEAP32[($6 + 352 | 0) >> 2] | 0) + Math_imul(HEAP32[((HEAP32[($6 + 248 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0, HEAP32[($6 + 332 | 0) >> 2] | 0) | 0; + (wasm2js_i32$0 = $6, wasm2js_f32$0 = Math_fround(Math_fround(HEAPF32[(HEAP32[($6 + 252 | 0) >> 2] | 0) >> 2]) * Math_fround(HEAPF32[(btVector3__getX_28_29_20const($6 + 256 | 0 | 0) | 0) >> 2]))), HEAPF32[(wasm2js_i32$0 + 232 | 0) >> 2] = wasm2js_f32$0; + (wasm2js_i32$0 = $6, wasm2js_f32$0 = Math_fround(Math_fround(HEAPF32[((HEAP32[($6 + 252 | 0) >> 2] | 0) + 4 | 0) >> 2]) * Math_fround(HEAPF32[(btVector3__getY_28_29_20const($6 + 256 | 0 | 0) | 0) >> 2]))), HEAPF32[(wasm2js_i32$0 + 228 | 0) >> 2] = wasm2js_f32$0; + (wasm2js_i32$0 = $6, wasm2js_f32$0 = Math_fround(Math_fround(HEAPF32[((HEAP32[($6 + 252 | 0) >> 2] | 0) + 8 | 0) >> 2]) * Math_fround(HEAPF32[(btVector3__getZ_28_29_20const($6 + 256 | 0 | 0) | 0) >> 2]))), HEAPF32[(wasm2js_i32$0 + 224 | 0) >> 2] = wasm2js_f32$0; + btVector3__setValue_28float_20const__2c_20float_20const__2c_20float_20const__29(($6 + 272 | 0) + 16 | 0 | 0, $6 + 232 | 0 | 0, $6 + 228 | 0 | 0, $6 + 224 | 0 | 0); + HEAP32[($6 + 252 | 0) >> 2] = (HEAP32[($6 + 352 | 0) >> 2] | 0) + Math_imul(HEAP32[((HEAP32[($6 + 248 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0, HEAP32[($6 + 332 | 0) >> 2] | 0) | 0; + (wasm2js_i32$0 = $6, wasm2js_f32$0 = Math_fround(Math_fround(HEAPF32[(HEAP32[($6 + 252 | 0) >> 2] | 0) >> 2]) * Math_fround(HEAPF32[(btVector3__getX_28_29_20const($6 + 256 | 0 | 0) | 0) >> 2]))), HEAPF32[(wasm2js_i32$0 + 220 | 0) >> 2] = wasm2js_f32$0; + (wasm2js_i32$0 = $6, wasm2js_f32$0 = Math_fround(Math_fround(HEAPF32[((HEAP32[($6 + 252 | 0) >> 2] | 0) + 4 | 0) >> 2]) * Math_fround(HEAPF32[(btVector3__getY_28_29_20const($6 + 256 | 0 | 0) | 0) >> 2]))), HEAPF32[(wasm2js_i32$0 + 216 | 0) >> 2] = wasm2js_f32$0; + (wasm2js_i32$0 = $6, wasm2js_f32$0 = Math_fround(Math_fround(HEAPF32[((HEAP32[($6 + 252 | 0) >> 2] | 0) + 8 | 0) >> 2]) * Math_fround(HEAPF32[(btVector3__getZ_28_29_20const($6 + 256 | 0 | 0) | 0) >> 2]))), HEAPF32[(wasm2js_i32$0 + 212 | 0) >> 2] = wasm2js_f32$0; + btVector3__setValue_28float_20const__2c_20float_20const__2c_20float_20const__29(($6 + 272 | 0) + 32 | 0 | 0, $6 + 220 | 0 | 0, $6 + 216 | 0 | 0, $6 + 212 | 0 | 0); + $215 = HEAP32[($6 + 376 | 0) >> 2] | 0; + FUNCTION_TABLE[HEAP32[((HEAP32[$215 >> 2] | 0) + 8 | 0) >> 2] | 0 | 0]($215, $6 + 272 | 0, HEAP32[($6 + 360 | 0) >> 2] | 0, HEAP32[($6 + 320 | 0) >> 2] | 0); + HEAP32[($6 + 320 | 0) >> 2] = (HEAP32[($6 + 320 | 0) >> 2] | 0) + 1 | 0; + continue label$14; + }; + } + break label$8; + case 1: + HEAP32[($6 + 320 | 0) >> 2] = 0; + label$15 : { + label$16 : while (1) { + if (!((HEAP32[($6 + 320 | 0) >> 2] | 0 | 0) < (HEAP32[($6 + 324 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$15 + } + HEAP32[($6 + 208 | 0) >> 2] = (HEAP32[($6 + 348 | 0) >> 2] | 0) + Math_imul(HEAP32[($6 + 320 | 0) >> 2] | 0, HEAP32[($6 + 344 | 0) >> 2] | 0) | 0; + HEAP32[($6 + 252 | 0) >> 2] = (HEAP32[($6 + 352 | 0) >> 2] | 0) + Math_imul((HEAPU16[(HEAP32[($6 + 208 | 0) >> 2] | 0) >> 1] | 0) & 65535 | 0, HEAP32[($6 + 332 | 0) >> 2] | 0) | 0; + (wasm2js_i32$0 = $6, wasm2js_f32$0 = Math_fround(Math_fround(HEAPF32[(HEAP32[($6 + 252 | 0) >> 2] | 0) >> 2]) * Math_fround(HEAPF32[(btVector3__getX_28_29_20const($6 + 256 | 0 | 0) | 0) >> 2]))), HEAPF32[(wasm2js_i32$0 + 204 | 0) >> 2] = wasm2js_f32$0; + (wasm2js_i32$0 = $6, wasm2js_f32$0 = Math_fround(Math_fround(HEAPF32[((HEAP32[($6 + 252 | 0) >> 2] | 0) + 4 | 0) >> 2]) * Math_fround(HEAPF32[(btVector3__getY_28_29_20const($6 + 256 | 0 | 0) | 0) >> 2]))), HEAPF32[(wasm2js_i32$0 + 200 | 0) >> 2] = wasm2js_f32$0; + (wasm2js_i32$0 = $6, wasm2js_f32$0 = Math_fround(Math_fround(HEAPF32[((HEAP32[($6 + 252 | 0) >> 2] | 0) + 8 | 0) >> 2]) * Math_fround(HEAPF32[(btVector3__getZ_28_29_20const($6 + 256 | 0 | 0) | 0) >> 2]))), HEAPF32[(wasm2js_i32$0 + 196 | 0) >> 2] = wasm2js_f32$0; + btVector3__setValue_28float_20const__2c_20float_20const__2c_20float_20const__29($6 + 272 | 0 | 0, $6 + 204 | 0 | 0, $6 + 200 | 0 | 0, $6 + 196 | 0 | 0); + HEAP32[($6 + 252 | 0) >> 2] = (HEAP32[($6 + 352 | 0) >> 2] | 0) + Math_imul((HEAPU16[((HEAP32[($6 + 208 | 0) >> 2] | 0) + 2 | 0) >> 1] | 0) & 65535 | 0, HEAP32[($6 + 332 | 0) >> 2] | 0) | 0; + (wasm2js_i32$0 = $6, wasm2js_f32$0 = Math_fround(Math_fround(HEAPF32[(HEAP32[($6 + 252 | 0) >> 2] | 0) >> 2]) * Math_fround(HEAPF32[(btVector3__getX_28_29_20const($6 + 256 | 0 | 0) | 0) >> 2]))), HEAPF32[(wasm2js_i32$0 + 192 | 0) >> 2] = wasm2js_f32$0; + (wasm2js_i32$0 = $6, wasm2js_f32$0 = Math_fround(Math_fround(HEAPF32[((HEAP32[($6 + 252 | 0) >> 2] | 0) + 4 | 0) >> 2]) * Math_fround(HEAPF32[(btVector3__getY_28_29_20const($6 + 256 | 0 | 0) | 0) >> 2]))), HEAPF32[(wasm2js_i32$0 + 188 | 0) >> 2] = wasm2js_f32$0; + (wasm2js_i32$0 = $6, wasm2js_f32$0 = Math_fround(Math_fround(HEAPF32[((HEAP32[($6 + 252 | 0) >> 2] | 0) + 8 | 0) >> 2]) * Math_fround(HEAPF32[(btVector3__getZ_28_29_20const($6 + 256 | 0 | 0) | 0) >> 2]))), HEAPF32[(wasm2js_i32$0 + 184 | 0) >> 2] = wasm2js_f32$0; + btVector3__setValue_28float_20const__2c_20float_20const__2c_20float_20const__29(($6 + 272 | 0) + 16 | 0 | 0, $6 + 192 | 0 | 0, $6 + 188 | 0 | 0, $6 + 184 | 0 | 0); + HEAP32[($6 + 252 | 0) >> 2] = (HEAP32[($6 + 352 | 0) >> 2] | 0) + Math_imul((HEAPU16[((HEAP32[($6 + 208 | 0) >> 2] | 0) + 4 | 0) >> 1] | 0) & 65535 | 0, HEAP32[($6 + 332 | 0) >> 2] | 0) | 0; + (wasm2js_i32$0 = $6, wasm2js_f32$0 = Math_fround(Math_fround(HEAPF32[(HEAP32[($6 + 252 | 0) >> 2] | 0) >> 2]) * Math_fround(HEAPF32[(btVector3__getX_28_29_20const($6 + 256 | 0 | 0) | 0) >> 2]))), HEAPF32[(wasm2js_i32$0 + 180 | 0) >> 2] = wasm2js_f32$0; + (wasm2js_i32$0 = $6, wasm2js_f32$0 = Math_fround(Math_fround(HEAPF32[((HEAP32[($6 + 252 | 0) >> 2] | 0) + 4 | 0) >> 2]) * Math_fround(HEAPF32[(btVector3__getY_28_29_20const($6 + 256 | 0 | 0) | 0) >> 2]))), HEAPF32[(wasm2js_i32$0 + 176 | 0) >> 2] = wasm2js_f32$0; + (wasm2js_i32$0 = $6, wasm2js_f32$0 = Math_fround(Math_fround(HEAPF32[((HEAP32[($6 + 252 | 0) >> 2] | 0) + 8 | 0) >> 2]) * Math_fround(HEAPF32[(btVector3__getZ_28_29_20const($6 + 256 | 0 | 0) | 0) >> 2]))), HEAPF32[(wasm2js_i32$0 + 172 | 0) >> 2] = wasm2js_f32$0; + btVector3__setValue_28float_20const__2c_20float_20const__2c_20float_20const__29(($6 + 272 | 0) + 32 | 0 | 0, $6 + 180 | 0 | 0, $6 + 176 | 0 | 0, $6 + 172 | 0 | 0); + $375 = HEAP32[($6 + 376 | 0) >> 2] | 0; + FUNCTION_TABLE[HEAP32[((HEAP32[$375 >> 2] | 0) + 8 | 0) >> 2] | 0 | 0]($375, $6 + 272 | 0, HEAP32[($6 + 360 | 0) >> 2] | 0, HEAP32[($6 + 320 | 0) >> 2] | 0); + HEAP32[($6 + 320 | 0) >> 2] = (HEAP32[($6 + 320 | 0) >> 2] | 0) + 1 | 0; + continue label$16; + }; + } + break label$8; + case 3: + HEAP32[($6 + 320 | 0) >> 2] = 0; + label$17 : { + label$18 : while (1) { + if (!((HEAP32[($6 + 320 | 0) >> 2] | 0 | 0) < (HEAP32[($6 + 324 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$17 + } + HEAP32[($6 + 168 | 0) >> 2] = (HEAP32[($6 + 348 | 0) >> 2] | 0) + Math_imul(HEAP32[($6 + 320 | 0) >> 2] | 0, HEAP32[($6 + 344 | 0) >> 2] | 0) | 0; + HEAP32[($6 + 252 | 0) >> 2] = (HEAP32[($6 + 352 | 0) >> 2] | 0) + Math_imul((HEAPU8[(HEAP32[($6 + 168 | 0) >> 2] | 0) >> 0] | 0) & 255 | 0, HEAP32[($6 + 332 | 0) >> 2] | 0) | 0; + (wasm2js_i32$0 = $6, wasm2js_f32$0 = Math_fround(Math_fround(HEAPF32[(HEAP32[($6 + 252 | 0) >> 2] | 0) >> 2]) * Math_fround(HEAPF32[(btVector3__getX_28_29_20const($6 + 256 | 0 | 0) | 0) >> 2]))), HEAPF32[(wasm2js_i32$0 + 164 | 0) >> 2] = wasm2js_f32$0; + (wasm2js_i32$0 = $6, wasm2js_f32$0 = Math_fround(Math_fround(HEAPF32[((HEAP32[($6 + 252 | 0) >> 2] | 0) + 4 | 0) >> 2]) * Math_fround(HEAPF32[(btVector3__getY_28_29_20const($6 + 256 | 0 | 0) | 0) >> 2]))), HEAPF32[(wasm2js_i32$0 + 160 | 0) >> 2] = wasm2js_f32$0; + (wasm2js_i32$0 = $6, wasm2js_f32$0 = Math_fround(Math_fround(HEAPF32[((HEAP32[($6 + 252 | 0) >> 2] | 0) + 8 | 0) >> 2]) * Math_fround(HEAPF32[(btVector3__getZ_28_29_20const($6 + 256 | 0 | 0) | 0) >> 2]))), HEAPF32[(wasm2js_i32$0 + 156 | 0) >> 2] = wasm2js_f32$0; + btVector3__setValue_28float_20const__2c_20float_20const__2c_20float_20const__29($6 + 272 | 0 | 0, $6 + 164 | 0 | 0, $6 + 160 | 0 | 0, $6 + 156 | 0 | 0); + HEAP32[($6 + 252 | 0) >> 2] = (HEAP32[($6 + 352 | 0) >> 2] | 0) + Math_imul((HEAPU8[((HEAP32[($6 + 168 | 0) >> 2] | 0) + 1 | 0) >> 0] | 0) & 255 | 0, HEAP32[($6 + 332 | 0) >> 2] | 0) | 0; + (wasm2js_i32$0 = $6, wasm2js_f32$0 = Math_fround(Math_fround(HEAPF32[(HEAP32[($6 + 252 | 0) >> 2] | 0) >> 2]) * Math_fround(HEAPF32[(btVector3__getX_28_29_20const($6 + 256 | 0 | 0) | 0) >> 2]))), HEAPF32[(wasm2js_i32$0 + 152 | 0) >> 2] = wasm2js_f32$0; + (wasm2js_i32$0 = $6, wasm2js_f32$0 = Math_fround(Math_fround(HEAPF32[((HEAP32[($6 + 252 | 0) >> 2] | 0) + 4 | 0) >> 2]) * Math_fround(HEAPF32[(btVector3__getY_28_29_20const($6 + 256 | 0 | 0) | 0) >> 2]))), HEAPF32[(wasm2js_i32$0 + 148 | 0) >> 2] = wasm2js_f32$0; + (wasm2js_i32$0 = $6, wasm2js_f32$0 = Math_fround(Math_fround(HEAPF32[((HEAP32[($6 + 252 | 0) >> 2] | 0) + 8 | 0) >> 2]) * Math_fround(HEAPF32[(btVector3__getZ_28_29_20const($6 + 256 | 0 | 0) | 0) >> 2]))), HEAPF32[(wasm2js_i32$0 + 144 | 0) >> 2] = wasm2js_f32$0; + btVector3__setValue_28float_20const__2c_20float_20const__2c_20float_20const__29(($6 + 272 | 0) + 16 | 0 | 0, $6 + 152 | 0 | 0, $6 + 148 | 0 | 0, $6 + 144 | 0 | 0); + HEAP32[($6 + 252 | 0) >> 2] = (HEAP32[($6 + 352 | 0) >> 2] | 0) + Math_imul((HEAPU8[((HEAP32[($6 + 168 | 0) >> 2] | 0) + 2 | 0) >> 0] | 0) & 255 | 0, HEAP32[($6 + 332 | 0) >> 2] | 0) | 0; + (wasm2js_i32$0 = $6, wasm2js_f32$0 = Math_fround(Math_fround(HEAPF32[(HEAP32[($6 + 252 | 0) >> 2] | 0) >> 2]) * Math_fround(HEAPF32[(btVector3__getX_28_29_20const($6 + 256 | 0 | 0) | 0) >> 2]))), HEAPF32[(wasm2js_i32$0 + 140 | 0) >> 2] = wasm2js_f32$0; + (wasm2js_i32$0 = $6, wasm2js_f32$0 = Math_fround(Math_fround(HEAPF32[((HEAP32[($6 + 252 | 0) >> 2] | 0) + 4 | 0) >> 2]) * Math_fround(HEAPF32[(btVector3__getY_28_29_20const($6 + 256 | 0 | 0) | 0) >> 2]))), HEAPF32[(wasm2js_i32$0 + 136 | 0) >> 2] = wasm2js_f32$0; + (wasm2js_i32$0 = $6, wasm2js_f32$0 = Math_fround(Math_fround(HEAPF32[((HEAP32[($6 + 252 | 0) >> 2] | 0) + 8 | 0) >> 2]) * Math_fround(HEAPF32[(btVector3__getZ_28_29_20const($6 + 256 | 0 | 0) | 0) >> 2]))), HEAPF32[(wasm2js_i32$0 + 132 | 0) >> 2] = wasm2js_f32$0; + btVector3__setValue_28float_20const__2c_20float_20const__2c_20float_20const__29(($6 + 272 | 0) + 32 | 0 | 0, $6 + 140 | 0 | 0, $6 + 136 | 0 | 0, $6 + 132 | 0 | 0); + $535 = HEAP32[($6 + 376 | 0) >> 2] | 0; + FUNCTION_TABLE[HEAP32[((HEAP32[$535 >> 2] | 0) + 8 | 0) >> 2] | 0 | 0]($535, $6 + 272 | 0, HEAP32[($6 + 360 | 0) >> 2] | 0, HEAP32[($6 + 320 | 0) >> 2] | 0); + HEAP32[($6 + 320 | 0) >> 2] = (HEAP32[($6 + 320 | 0) >> 2] | 0) + 1 | 0; + continue label$18; + }; + } + break label$8; + default: + break label$9; + }; + } + label$19 : { + if ((HEAP32[($6 + 336 | 0) >> 2] | 0 | 0) == (2 | 0) & 1 | 0) { + break label$19 + } + if ((HEAP32[($6 + 336 | 0) >> 2] | 0 | 0) == (3 | 0) & 1 | 0) { + break label$19 + } + __assert_fail(86334 | 0, 75524 | 0, 107 | 0, 70188 | 0); + wasm2js_trap(); + } + } + break label$4; + case 1: + $566 = (HEAP32[($6 + 336 | 0) >> 2] | 0) + -2 | 0; + label$20 : { + label$21 : { + switch ($566 | 0) { + case 0: + HEAP32[($6 + 320 | 0) >> 2] = 0; + label$25 : { + label$26 : while (1) { + if (!((HEAP32[($6 + 320 | 0) >> 2] | 0 | 0) < (HEAP32[($6 + 324 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$25 + } + HEAP32[($6 + 124 | 0) >> 2] = (HEAP32[($6 + 348 | 0) >> 2] | 0) + Math_imul(HEAP32[($6 + 320 | 0) >> 2] | 0, HEAP32[($6 + 344 | 0) >> 2] | 0) | 0; + HEAP32[($6 + 128 | 0) >> 2] = (HEAP32[($6 + 352 | 0) >> 2] | 0) + Math_imul(HEAP32[(HEAP32[($6 + 124 | 0) >> 2] | 0) >> 2] | 0, HEAP32[($6 + 332 | 0) >> 2] | 0) | 0; + (wasm2js_i32$0 = $6, wasm2js_f32$0 = Math_fround(Math_fround(+HEAPF64[(HEAP32[($6 + 128 | 0) >> 2] | 0) >> 3]) * Math_fround(HEAPF32[(btVector3__getX_28_29_20const($6 + 256 | 0 | 0) | 0) >> 2]))), HEAPF32[(wasm2js_i32$0 + 120 | 0) >> 2] = wasm2js_f32$0; + (wasm2js_i32$0 = $6, wasm2js_f32$0 = Math_fround(Math_fround(+HEAPF64[((HEAP32[($6 + 128 | 0) >> 2] | 0) + 8 | 0) >> 3]) * Math_fround(HEAPF32[(btVector3__getY_28_29_20const($6 + 256 | 0 | 0) | 0) >> 2]))), HEAPF32[(wasm2js_i32$0 + 116 | 0) >> 2] = wasm2js_f32$0; + (wasm2js_i32$0 = $6, wasm2js_f32$0 = Math_fround(Math_fround(+HEAPF64[((HEAP32[($6 + 128 | 0) >> 2] | 0) + 16 | 0) >> 3]) * Math_fround(HEAPF32[(btVector3__getZ_28_29_20const($6 + 256 | 0 | 0) | 0) >> 2]))), HEAPF32[(wasm2js_i32$0 + 112 | 0) >> 2] = wasm2js_f32$0; + btVector3__setValue_28float_20const__2c_20float_20const__2c_20float_20const__29($6 + 272 | 0 | 0, $6 + 120 | 0 | 0, $6 + 116 | 0 | 0, $6 + 112 | 0 | 0); + HEAP32[($6 + 128 | 0) >> 2] = (HEAP32[($6 + 352 | 0) >> 2] | 0) + Math_imul(HEAP32[((HEAP32[($6 + 124 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0, HEAP32[($6 + 332 | 0) >> 2] | 0) | 0; + (wasm2js_i32$0 = $6, wasm2js_f32$0 = Math_fround(Math_fround(+HEAPF64[(HEAP32[($6 + 128 | 0) >> 2] | 0) >> 3]) * Math_fround(HEAPF32[(btVector3__getX_28_29_20const($6 + 256 | 0 | 0) | 0) >> 2]))), HEAPF32[(wasm2js_i32$0 + 108 | 0) >> 2] = wasm2js_f32$0; + (wasm2js_i32$0 = $6, wasm2js_f32$0 = Math_fround(Math_fround(+HEAPF64[((HEAP32[($6 + 128 | 0) >> 2] | 0) + 8 | 0) >> 3]) * Math_fround(HEAPF32[(btVector3__getY_28_29_20const($6 + 256 | 0 | 0) | 0) >> 2]))), HEAPF32[(wasm2js_i32$0 + 104 | 0) >> 2] = wasm2js_f32$0; + (wasm2js_i32$0 = $6, wasm2js_f32$0 = Math_fround(Math_fround(+HEAPF64[((HEAP32[($6 + 128 | 0) >> 2] | 0) + 16 | 0) >> 3]) * Math_fround(HEAPF32[(btVector3__getZ_28_29_20const($6 + 256 | 0 | 0) | 0) >> 2]))), HEAPF32[(wasm2js_i32$0 + 100 | 0) >> 2] = wasm2js_f32$0; + btVector3__setValue_28float_20const__2c_20float_20const__2c_20float_20const__29($6 + 288 | 0 | 0, $6 + 108 | 0 | 0, $6 + 104 | 0 | 0, $6 + 100 | 0 | 0); + HEAP32[($6 + 128 | 0) >> 2] = (HEAP32[($6 + 352 | 0) >> 2] | 0) + Math_imul(HEAP32[((HEAP32[($6 + 124 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0, HEAP32[($6 + 332 | 0) >> 2] | 0) | 0; + (wasm2js_i32$0 = $6, wasm2js_f32$0 = Math_fround(Math_fround(+HEAPF64[(HEAP32[($6 + 128 | 0) >> 2] | 0) >> 3]) * Math_fround(HEAPF32[(btVector3__getX_28_29_20const($6 + 256 | 0 | 0) | 0) >> 2]))), HEAPF32[(wasm2js_i32$0 + 96 | 0) >> 2] = wasm2js_f32$0; + (wasm2js_i32$0 = $6, wasm2js_f32$0 = Math_fround(Math_fround(+HEAPF64[((HEAP32[($6 + 128 | 0) >> 2] | 0) + 8 | 0) >> 3]) * Math_fround(HEAPF32[(btVector3__getY_28_29_20const($6 + 256 | 0 | 0) | 0) >> 2]))), HEAPF32[(wasm2js_i32$0 + 92 | 0) >> 2] = wasm2js_f32$0; + (wasm2js_i32$0 = $6, wasm2js_f32$0 = Math_fround(Math_fround(+HEAPF64[((HEAP32[($6 + 128 | 0) >> 2] | 0) + 16 | 0) >> 3]) * Math_fround(HEAPF32[(btVector3__getZ_28_29_20const($6 + 256 | 0 | 0) | 0) >> 2]))), HEAPF32[(wasm2js_i32$0 + 88 | 0) >> 2] = wasm2js_f32$0; + btVector3__setValue_28float_20const__2c_20float_20const__2c_20float_20const__29($6 + 304 | 0 | 0, $6 + 96 | 0 | 0, $6 + 92 | 0 | 0, $6 + 88 | 0 | 0); + $699 = HEAP32[($6 + 376 | 0) >> 2] | 0; + FUNCTION_TABLE[HEAP32[((HEAP32[$699 >> 2] | 0) + 8 | 0) >> 2] | 0 | 0]($699, $6 + 272 | 0, HEAP32[($6 + 360 | 0) >> 2] | 0, HEAP32[($6 + 320 | 0) >> 2] | 0); + HEAP32[($6 + 320 | 0) >> 2] = (HEAP32[($6 + 320 | 0) >> 2] | 0) + 1 | 0; + continue label$26; + }; + } + break label$20; + case 1: + HEAP32[($6 + 320 | 0) >> 2] = 0; + label$27 : { + label$28 : while (1) { + if (!((HEAP32[($6 + 320 | 0) >> 2] | 0 | 0) < (HEAP32[($6 + 324 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$27 + } + HEAP32[($6 + 84 | 0) >> 2] = (HEAP32[($6 + 348 | 0) >> 2] | 0) + Math_imul(HEAP32[($6 + 320 | 0) >> 2] | 0, HEAP32[($6 + 344 | 0) >> 2] | 0) | 0; + HEAP32[($6 + 128 | 0) >> 2] = (HEAP32[($6 + 352 | 0) >> 2] | 0) + Math_imul(HEAPU16[(HEAP32[($6 + 84 | 0) >> 2] | 0) >> 1] | 0, HEAP32[($6 + 332 | 0) >> 2] | 0) | 0; + (wasm2js_i32$0 = $6, wasm2js_f32$0 = Math_fround(Math_fround(+HEAPF64[(HEAP32[($6 + 128 | 0) >> 2] | 0) >> 3]) * Math_fround(HEAPF32[(btVector3__getX_28_29_20const($6 + 256 | 0 | 0) | 0) >> 2]))), HEAPF32[(wasm2js_i32$0 + 80 | 0) >> 2] = wasm2js_f32$0; + (wasm2js_i32$0 = $6, wasm2js_f32$0 = Math_fround(Math_fround(+HEAPF64[((HEAP32[($6 + 128 | 0) >> 2] | 0) + 8 | 0) >> 3]) * Math_fround(HEAPF32[(btVector3__getY_28_29_20const($6 + 256 | 0 | 0) | 0) >> 2]))), HEAPF32[(wasm2js_i32$0 + 76 | 0) >> 2] = wasm2js_f32$0; + (wasm2js_i32$0 = $6, wasm2js_f32$0 = Math_fround(Math_fround(+HEAPF64[((HEAP32[($6 + 128 | 0) >> 2] | 0) + 16 | 0) >> 3]) * Math_fround(HEAPF32[(btVector3__getZ_28_29_20const($6 + 256 | 0 | 0) | 0) >> 2]))), HEAPF32[(wasm2js_i32$0 + 72 | 0) >> 2] = wasm2js_f32$0; + btVector3__setValue_28float_20const__2c_20float_20const__2c_20float_20const__29($6 + 272 | 0 | 0, $6 + 80 | 0 | 0, $6 + 76 | 0 | 0, $6 + 72 | 0 | 0); + HEAP32[($6 + 128 | 0) >> 2] = (HEAP32[($6 + 352 | 0) >> 2] | 0) + Math_imul(HEAPU16[((HEAP32[($6 + 84 | 0) >> 2] | 0) + 2 | 0) >> 1] | 0, HEAP32[($6 + 332 | 0) >> 2] | 0) | 0; + (wasm2js_i32$0 = $6, wasm2js_f32$0 = Math_fround(Math_fround(+HEAPF64[(HEAP32[($6 + 128 | 0) >> 2] | 0) >> 3]) * Math_fround(HEAPF32[(btVector3__getX_28_29_20const($6 + 256 | 0 | 0) | 0) >> 2]))), HEAPF32[(wasm2js_i32$0 + 68 | 0) >> 2] = wasm2js_f32$0; + (wasm2js_i32$0 = $6, wasm2js_f32$0 = Math_fround(Math_fround(+HEAPF64[((HEAP32[($6 + 128 | 0) >> 2] | 0) + 8 | 0) >> 3]) * Math_fround(HEAPF32[(btVector3__getY_28_29_20const($6 + 256 | 0 | 0) | 0) >> 2]))), HEAPF32[(wasm2js_i32$0 + 64 | 0) >> 2] = wasm2js_f32$0; + (wasm2js_i32$0 = $6, wasm2js_f32$0 = Math_fround(Math_fround(+HEAPF64[((HEAP32[($6 + 128 | 0) >> 2] | 0) + 16 | 0) >> 3]) * Math_fround(HEAPF32[(btVector3__getZ_28_29_20const($6 + 256 | 0 | 0) | 0) >> 2]))), HEAPF32[(wasm2js_i32$0 + 60 | 0) >> 2] = wasm2js_f32$0; + btVector3__setValue_28float_20const__2c_20float_20const__2c_20float_20const__29($6 + 288 | 0 | 0, $6 + 68 | 0 | 0, $6 + 64 | 0 | 0, $6 + 60 | 0 | 0); + HEAP32[($6 + 128 | 0) >> 2] = (HEAP32[($6 + 352 | 0) >> 2] | 0) + Math_imul(HEAPU16[((HEAP32[($6 + 84 | 0) >> 2] | 0) + 4 | 0) >> 1] | 0, HEAP32[($6 + 332 | 0) >> 2] | 0) | 0; + (wasm2js_i32$0 = $6, wasm2js_f32$0 = Math_fround(Math_fround(+HEAPF64[(HEAP32[($6 + 128 | 0) >> 2] | 0) >> 3]) * Math_fround(HEAPF32[(btVector3__getX_28_29_20const($6 + 256 | 0 | 0) | 0) >> 2]))), HEAPF32[(wasm2js_i32$0 + 56 | 0) >> 2] = wasm2js_f32$0; + (wasm2js_i32$0 = $6, wasm2js_f32$0 = Math_fround(Math_fround(+HEAPF64[((HEAP32[($6 + 128 | 0) >> 2] | 0) + 8 | 0) >> 3]) * Math_fround(HEAPF32[(btVector3__getY_28_29_20const($6 + 256 | 0 | 0) | 0) >> 2]))), HEAPF32[(wasm2js_i32$0 + 52 | 0) >> 2] = wasm2js_f32$0; + (wasm2js_i32$0 = $6, wasm2js_f32$0 = Math_fround(Math_fround(+HEAPF64[((HEAP32[($6 + 128 | 0) >> 2] | 0) + 16 | 0) >> 3]) * Math_fround(HEAPF32[(btVector3__getZ_28_29_20const($6 + 256 | 0 | 0) | 0) >> 2]))), HEAPF32[(wasm2js_i32$0 + 48 | 0) >> 2] = wasm2js_f32$0; + btVector3__setValue_28float_20const__2c_20float_20const__2c_20float_20const__29($6 + 304 | 0 | 0, $6 + 56 | 0 | 0, $6 + 52 | 0 | 0, $6 + 48 | 0 | 0); + $841 = HEAP32[($6 + 376 | 0) >> 2] | 0; + FUNCTION_TABLE[HEAP32[((HEAP32[$841 >> 2] | 0) + 8 | 0) >> 2] | 0 | 0]($841, $6 + 272 | 0, HEAP32[($6 + 360 | 0) >> 2] | 0, HEAP32[($6 + 320 | 0) >> 2] | 0); + HEAP32[($6 + 320 | 0) >> 2] = (HEAP32[($6 + 320 | 0) >> 2] | 0) + 1 | 0; + continue label$28; + }; + } + break label$20; + case 3: + HEAP32[($6 + 320 | 0) >> 2] = 0; + label$29 : { + label$30 : while (1) { + if (!((HEAP32[($6 + 320 | 0) >> 2] | 0 | 0) < (HEAP32[($6 + 324 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$29 + } + HEAP32[($6 + 44 | 0) >> 2] = (HEAP32[($6 + 348 | 0) >> 2] | 0) + Math_imul(HEAP32[($6 + 320 | 0) >> 2] | 0, HEAP32[($6 + 344 | 0) >> 2] | 0) | 0; + HEAP32[($6 + 128 | 0) >> 2] = (HEAP32[($6 + 352 | 0) >> 2] | 0) + Math_imul(HEAPU8[(HEAP32[($6 + 44 | 0) >> 2] | 0) >> 0] | 0, HEAP32[($6 + 332 | 0) >> 2] | 0) | 0; + (wasm2js_i32$0 = $6, wasm2js_f32$0 = Math_fround(Math_fround(+HEAPF64[(HEAP32[($6 + 128 | 0) >> 2] | 0) >> 3]) * Math_fround(HEAPF32[(btVector3__getX_28_29_20const($6 + 256 | 0 | 0) | 0) >> 2]))), HEAPF32[(wasm2js_i32$0 + 40 | 0) >> 2] = wasm2js_f32$0; + (wasm2js_i32$0 = $6, wasm2js_f32$0 = Math_fround(Math_fround(+HEAPF64[((HEAP32[($6 + 128 | 0) >> 2] | 0) + 8 | 0) >> 3]) * Math_fround(HEAPF32[(btVector3__getY_28_29_20const($6 + 256 | 0 | 0) | 0) >> 2]))), HEAPF32[(wasm2js_i32$0 + 36 | 0) >> 2] = wasm2js_f32$0; + (wasm2js_i32$0 = $6, wasm2js_f32$0 = Math_fround(Math_fround(+HEAPF64[((HEAP32[($6 + 128 | 0) >> 2] | 0) + 16 | 0) >> 3]) * Math_fround(HEAPF32[(btVector3__getZ_28_29_20const($6 + 256 | 0 | 0) | 0) >> 2]))), HEAPF32[(wasm2js_i32$0 + 32 | 0) >> 2] = wasm2js_f32$0; + btVector3__setValue_28float_20const__2c_20float_20const__2c_20float_20const__29($6 + 272 | 0 | 0, $6 + 40 | 0 | 0, $6 + 36 | 0 | 0, $6 + 32 | 0 | 0); + HEAP32[($6 + 128 | 0) >> 2] = (HEAP32[($6 + 352 | 0) >> 2] | 0) + Math_imul(HEAPU8[((HEAP32[($6 + 44 | 0) >> 2] | 0) + 1 | 0) >> 0] | 0, HEAP32[($6 + 332 | 0) >> 2] | 0) | 0; + (wasm2js_i32$0 = $6, wasm2js_f32$0 = Math_fround(Math_fround(+HEAPF64[(HEAP32[($6 + 128 | 0) >> 2] | 0) >> 3]) * Math_fround(HEAPF32[(btVector3__getX_28_29_20const($6 + 256 | 0 | 0) | 0) >> 2]))), HEAPF32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_f32$0; + (wasm2js_i32$0 = $6, wasm2js_f32$0 = Math_fround(Math_fround(+HEAPF64[((HEAP32[($6 + 128 | 0) >> 2] | 0) + 8 | 0) >> 3]) * Math_fround(HEAPF32[(btVector3__getY_28_29_20const($6 + 256 | 0 | 0) | 0) >> 2]))), HEAPF32[(wasm2js_i32$0 + 24 | 0) >> 2] = wasm2js_f32$0; + (wasm2js_i32$0 = $6, wasm2js_f32$0 = Math_fround(Math_fround(+HEAPF64[((HEAP32[($6 + 128 | 0) >> 2] | 0) + 16 | 0) >> 3]) * Math_fround(HEAPF32[(btVector3__getZ_28_29_20const($6 + 256 | 0 | 0) | 0) >> 2]))), HEAPF32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_f32$0; + btVector3__setValue_28float_20const__2c_20float_20const__2c_20float_20const__29($6 + 288 | 0 | 0, $6 + 28 | 0 | 0, $6 + 24 | 0 | 0, $6 + 20 | 0 | 0); + HEAP32[($6 + 128 | 0) >> 2] = (HEAP32[($6 + 352 | 0) >> 2] | 0) + Math_imul(HEAPU8[((HEAP32[($6 + 44 | 0) >> 2] | 0) + 2 | 0) >> 0] | 0, HEAP32[($6 + 332 | 0) >> 2] | 0) | 0; + (wasm2js_i32$0 = $6, wasm2js_f32$0 = Math_fround(Math_fround(+HEAPF64[(HEAP32[($6 + 128 | 0) >> 2] | 0) >> 3]) * Math_fround(HEAPF32[(btVector3__getX_28_29_20const($6 + 256 | 0 | 0) | 0) >> 2]))), HEAPF32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_f32$0; + (wasm2js_i32$0 = $6, wasm2js_f32$0 = Math_fround(Math_fround(+HEAPF64[((HEAP32[($6 + 128 | 0) >> 2] | 0) + 8 | 0) >> 3]) * Math_fround(HEAPF32[(btVector3__getY_28_29_20const($6 + 256 | 0 | 0) | 0) >> 2]))), HEAPF32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_f32$0; + (wasm2js_i32$0 = $6, wasm2js_f32$0 = Math_fround(Math_fround(+HEAPF64[((HEAP32[($6 + 128 | 0) >> 2] | 0) + 16 | 0) >> 3]) * Math_fround(HEAPF32[(btVector3__getZ_28_29_20const($6 + 256 | 0 | 0) | 0) >> 2]))), HEAPF32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_f32$0; + btVector3__setValue_28float_20const__2c_20float_20const__2c_20float_20const__29($6 + 304 | 0 | 0, $6 + 16 | 0 | 0, $6 + 12 | 0 | 0, $6 + 8 | 0 | 0); + $983 = HEAP32[($6 + 376 | 0) >> 2] | 0; + FUNCTION_TABLE[HEAP32[((HEAP32[$983 >> 2] | 0) + 8 | 0) >> 2] | 0 | 0]($983, $6 + 272 | 0, HEAP32[($6 + 360 | 0) >> 2] | 0, HEAP32[($6 + 320 | 0) >> 2] | 0); + HEAP32[($6 + 320 | 0) >> 2] = (HEAP32[($6 + 320 | 0) >> 2] | 0) + 1 | 0; + continue label$30; + }; + } + break label$20; + default: + break label$21; + }; + } + label$31 : { + if ((HEAP32[($6 + 336 | 0) >> 2] | 0 | 0) == (2 | 0) & 1 | 0) { + break label$31 + } + if ((HEAP32[($6 + 336 | 0) >> 2] | 0 | 0) == (3 | 0) & 1 | 0) { + break label$31 + } + __assert_fail(86334 | 0, 75524 | 0, 164 | 0, 70188 | 0); + wasm2js_trap(); + } + } + break label$4; + default: + break label$5; + }; + } + label$32 : { + if (!(HEAP32[($6 + 340 | 0) >> 2] | 0)) { + break label$32 + } + if ((HEAP32[($6 + 340 | 0) >> 2] | 0 | 0) == (1 | 0) & 1 | 0) { + break label$32 + } + __assert_fail(86480 | 0, 75524 | 0, 169 | 0, 70188 | 0); + wasm2js_trap(); + } + } + FUNCTION_TABLE[HEAP32[((HEAP32[$7 >> 2] | 0) + 24 | 0) >> 2] | 0 | 0]($7, HEAP32[($6 + 360 | 0) >> 2] | 0); + HEAP32[($6 + 360 | 0) >> 2] = (HEAP32[($6 + 360 | 0) >> 2] | 0) + 1 | 0; + continue label$3; + }; + } + __stack_pointer = $6 + 384 | 0; + return; + } + + function btStridingMeshInterface__serialize_28void__2c_20btSerializer__29_20const($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $5 = 0, $6 = 0, $66 = 0, $16 = 0, $25 = 0, $74 = 0, $80 = 0, $88 = 0, $141 = 0, $150 = 0, $158 = 0, $213 = 0, $222 = 0, $230 = 0, $279 = 0, $291 = 0, $294 = 0, $302 = 0, $345 = 0, $354 = 0, $362 = 0, $405 = 0, $434 = 0, $10 = 0, $29 = 0, $92 = 0, $162 = 0, $234 = 0, $306 = 0, $366 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5 = __stack_pointer - 144 | 0; + __stack_pointer = $5; + HEAP32[($5 + 140 | 0) >> 2] = $0; + HEAP32[($5 + 136 | 0) >> 2] = $1; + HEAP32[($5 + 132 | 0) >> 2] = $2; + $6 = HEAP32[($5 + 140 | 0) >> 2] | 0; + HEAP32[($5 + 128 | 0) >> 2] = HEAP32[($5 + 136 | 0) >> 2] | 0; + $10 = FUNCTION_TABLE[HEAP32[((HEAP32[$6 >> 2] | 0) + 28 | 0) >> 2] | 0 | 0]($6) | 0; + HEAP32[((HEAP32[($5 + 128 | 0) >> 2] | 0) + 20 | 0) >> 2] = $10; + HEAP32[(HEAP32[($5 + 128 | 0) >> 2] | 0) >> 2] = 0; + label$1 : { + if (!(HEAP32[((HEAP32[($5 + 128 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0)) { + break label$1 + } + $16 = HEAP32[($5 + 132 | 0) >> 2] | 0; + (wasm2js_i32$0 = $5, wasm2js_i32$1 = FUNCTION_TABLE[HEAP32[((HEAP32[$16 >> 2] | 0) + 16 | 0) >> 2] | 0 | 0]($16, 32, HEAP32[((HEAP32[($5 + 128 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0) | 0), HEAP32[(wasm2js_i32$0 + 124 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($5 + 120 | 0) >> 2] = HEAP32[((HEAP32[($5 + 124 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + $25 = HEAP32[($5 + 132 | 0) >> 2] | 0; + $29 = FUNCTION_TABLE[HEAP32[((HEAP32[$25 >> 2] | 0) + 28 | 0) >> 2] | 0 | 0]($25, HEAP32[($5 + 120 | 0) >> 2] | 0) | 0; + HEAP32[(HEAP32[($5 + 128 | 0) >> 2] | 0) >> 2] = $29; + (wasm2js_i32$0 = $5, wasm2js_i32$1 = FUNCTION_TABLE[HEAP32[((HEAP32[$6 >> 2] | 0) + 28 | 0) >> 2] | 0 | 0]($6) | 0), HEAP32[(wasm2js_i32$0 + 112 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($5 + 116 | 0) >> 2] = 0; + label$2 : { + label$3 : while (1) { + if (!((HEAP32[($5 + 116 | 0) >> 2] | 0 | 0) < (HEAP32[($5 + 112 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$2 + } + FUNCTION_TABLE[HEAP32[((HEAP32[$6 >> 2] | 0) + 16 | 0) >> 2] | 0 | 0]($6, $5 + 108 | 0, $5 + 84 | 0, $5 + 96 | 0, $5 + 88 | 0, $5 + 104 | 0, $5 + 100 | 0, $5 + 80 | 0, $5 + 92 | 0, HEAP32[($5 + 116 | 0) >> 2] | 0); + HEAP32[((HEAP32[($5 + 120 | 0) >> 2] | 0) + 24 | 0) >> 2] = HEAP32[($5 + 80 | 0) >> 2] | 0; + HEAP32[((HEAP32[($5 + 120 | 0) >> 2] | 0) + 28 | 0) >> 2] = HEAP32[($5 + 84 | 0) >> 2] | 0; + $66 = 0; + HEAP32[((HEAP32[($5 + 120 | 0) >> 2] | 0) + 20 | 0) >> 2] = $66; + HEAP32[((HEAP32[($5 + 120 | 0) >> 2] | 0) + 8 | 0) >> 2] = $66; + HEAP32[((HEAP32[($5 + 120 | 0) >> 2] | 0) + 12 | 0) >> 2] = $66; + HEAP32[((HEAP32[($5 + 120 | 0) >> 2] | 0) + 16 | 0) >> 2] = $66; + HEAP32[(HEAP32[($5 + 120 | 0) >> 2] | 0) >> 2] = $66; + HEAP32[((HEAP32[($5 + 120 | 0) >> 2] | 0) + 4 | 0) >> 2] = $66; + $74 = (HEAP32[($5 + 92 | 0) >> 2] | 0) + -2 | 0; + label$4 : { + label$5 : { + switch ($74 | 0) { + case 0: + HEAP32[($5 + 72 | 0) >> 2] = Math_imul(HEAP32[($5 + 80 | 0) >> 2] | 0, 3); + label$9 : { + if (!(HEAP32[($5 + 72 | 0) >> 2] | 0)) { + break label$9 + } + $80 = HEAP32[($5 + 132 | 0) >> 2] | 0; + (wasm2js_i32$0 = $5, wasm2js_i32$1 = FUNCTION_TABLE[HEAP32[((HEAP32[$80 >> 2] | 0) + 16 | 0) >> 2] | 0 | 0]($80, 4, HEAP32[($5 + 72 | 0) >> 2] | 0) | 0), HEAP32[(wasm2js_i32$0 + 68 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($5 + 64 | 0) >> 2] = HEAP32[((HEAP32[($5 + 68 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + $88 = HEAP32[($5 + 132 | 0) >> 2] | 0; + $92 = FUNCTION_TABLE[HEAP32[((HEAP32[$88 >> 2] | 0) + 28 | 0) >> 2] | 0 | 0]($88, HEAP32[($5 + 64 | 0) >> 2] | 0) | 0; + HEAP32[((HEAP32[($5 + 120 | 0) >> 2] | 0) + 8 | 0) >> 2] = $92; + HEAP32[($5 + 76 | 0) >> 2] = 0; + label$10 : { + label$11 : while (1) { + if (!((HEAP32[($5 + 76 | 0) >> 2] | 0 | 0) < (HEAP32[($5 + 80 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$10 + } + HEAP32[($5 + 60 | 0) >> 2] = (HEAP32[($5 + 104 | 0) >> 2] | 0) + Math_imul(HEAP32[($5 + 76 | 0) >> 2] | 0, HEAP32[($5 + 100 | 0) >> 2] | 0) | 0; + HEAP32[((HEAP32[($5 + 64 | 0) >> 2] | 0) + (Math_imul(HEAP32[($5 + 76 | 0) >> 2] | 0, 3) << 2 | 0) | 0) >> 2] = HEAP32[(HEAP32[($5 + 60 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[((HEAP32[($5 + 64 | 0) >> 2] | 0) + ((Math_imul(HEAP32[($5 + 76 | 0) >> 2] | 0, 3) + 1 | 0) << 2 | 0) | 0) >> 2] = HEAP32[((HEAP32[($5 + 60 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + HEAP32[((HEAP32[($5 + 64 | 0) >> 2] | 0) + ((Math_imul(HEAP32[($5 + 76 | 0) >> 2] | 0, 3) + 2 | 0) << 2 | 0) | 0) >> 2] = HEAP32[((HEAP32[($5 + 60 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + HEAP32[($5 + 76 | 0) >> 2] = (HEAP32[($5 + 76 | 0) >> 2] | 0) + 1 | 0; + continue label$11; + }; + } + $141 = HEAP32[($5 + 132 | 0) >> 2] | 0; + FUNCTION_TABLE[HEAP32[((HEAP32[$141 >> 2] | 0) + 20 | 0) >> 2] | 0 | 0]($141, HEAP32[($5 + 68 | 0) >> 2] | 0, 83095, 1497453121, HEAP32[((HEAP32[($5 + 68 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0); + } + break label$4; + case 1: + label$12 : { + if (!(HEAP32[($5 + 80 | 0) >> 2] | 0)) { + break label$12 + } + $150 = HEAP32[($5 + 132 | 0) >> 2] | 0; + (wasm2js_i32$0 = $5, wasm2js_i32$1 = FUNCTION_TABLE[HEAP32[((HEAP32[$150 >> 2] | 0) + 16 | 0) >> 2] | 0 | 0]($150, 8, HEAP32[($5 + 80 | 0) >> 2] | 0) | 0), HEAP32[(wasm2js_i32$0 + 56 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($5 + 52 | 0) >> 2] = HEAP32[((HEAP32[($5 + 56 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + $158 = HEAP32[($5 + 132 | 0) >> 2] | 0; + $162 = FUNCTION_TABLE[HEAP32[((HEAP32[$158 >> 2] | 0) + 28 | 0) >> 2] | 0 | 0]($158, HEAP32[($5 + 52 | 0) >> 2] | 0) | 0; + HEAP32[((HEAP32[($5 + 120 | 0) >> 2] | 0) + 12 | 0) >> 2] = $162; + HEAP32[($5 + 76 | 0) >> 2] = 0; + label$13 : { + label$14 : while (1) { + if (!((HEAP32[($5 + 76 | 0) >> 2] | 0 | 0) < (HEAP32[($5 + 80 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$13 + } + HEAP32[($5 + 48 | 0) >> 2] = (HEAP32[($5 + 104 | 0) >> 2] | 0) + Math_imul(HEAP32[($5 + 76 | 0) >> 2] | 0, HEAP32[($5 + 100 | 0) >> 2] | 0) | 0; + HEAP16[((HEAP32[($5 + 52 | 0) >> 2] | 0) + ((HEAP32[($5 + 76 | 0) >> 2] | 0) << 3 | 0) | 0) >> 1] = HEAPU16[(HEAP32[($5 + 48 | 0) >> 2] | 0) >> 1] | 0; + HEAP16[(((HEAP32[($5 + 52 | 0) >> 2] | 0) + ((HEAP32[($5 + 76 | 0) >> 2] | 0) << 3 | 0) | 0) + 2 | 0) >> 1] = HEAPU16[((HEAP32[($5 + 48 | 0) >> 2] | 0) + 2 | 0) >> 1] | 0; + HEAP16[(((HEAP32[($5 + 52 | 0) >> 2] | 0) + ((HEAP32[($5 + 76 | 0) >> 2] | 0) << 3 | 0) | 0) + 4 | 0) >> 1] = HEAPU16[((HEAP32[($5 + 48 | 0) >> 2] | 0) + 4 | 0) >> 1] | 0; + HEAP8[(((HEAP32[($5 + 52 | 0) >> 2] | 0) + ((HEAP32[($5 + 76 | 0) >> 2] | 0) << 3 | 0) | 0) + 6 | 0) >> 0] = 0; + HEAP8[(((HEAP32[($5 + 52 | 0) >> 2] | 0) + ((HEAP32[($5 + 76 | 0) >> 2] | 0) << 3 | 0) | 0) + 7 | 0) >> 0] = 0; + HEAP32[($5 + 76 | 0) >> 2] = (HEAP32[($5 + 76 | 0) >> 2] | 0) + 1 | 0; + continue label$14; + }; + } + $213 = HEAP32[($5 + 132 | 0) >> 2] | 0; + FUNCTION_TABLE[HEAP32[((HEAP32[$213 >> 2] | 0) + 20 | 0) >> 2] | 0 | 0]($213, HEAP32[($5 + 56 | 0) >> 2] | 0, 83160, 1497453121, HEAP32[((HEAP32[($5 + 56 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0); + } + break label$4; + case 3: + label$15 : { + if (!(HEAP32[($5 + 80 | 0) >> 2] | 0)) { + break label$15 + } + $222 = HEAP32[($5 + 132 | 0) >> 2] | 0; + (wasm2js_i32$0 = $5, wasm2js_i32$1 = FUNCTION_TABLE[HEAP32[((HEAP32[$222 >> 2] | 0) + 16 | 0) >> 2] | 0 | 0]($222, 4, HEAP32[($5 + 80 | 0) >> 2] | 0) | 0), HEAP32[(wasm2js_i32$0 + 44 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($5 + 40 | 0) >> 2] = HEAP32[((HEAP32[($5 + 44 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + $230 = HEAP32[($5 + 132 | 0) >> 2] | 0; + $234 = FUNCTION_TABLE[HEAP32[((HEAP32[$230 >> 2] | 0) + 28 | 0) >> 2] | 0 | 0]($230, HEAP32[($5 + 40 | 0) >> 2] | 0) | 0; + HEAP32[((HEAP32[($5 + 120 | 0) >> 2] | 0) + 16 | 0) >> 2] = $234; + HEAP32[($5 + 76 | 0) >> 2] = 0; + label$16 : { + label$17 : while (1) { + if (!((HEAP32[($5 + 76 | 0) >> 2] | 0 | 0) < (HEAP32[($5 + 80 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$16 + } + HEAP32[($5 + 36 | 0) >> 2] = (HEAP32[($5 + 104 | 0) >> 2] | 0) + Math_imul(HEAP32[($5 + 76 | 0) >> 2] | 0, HEAP32[($5 + 100 | 0) >> 2] | 0) | 0; + HEAP8[((HEAP32[($5 + 40 | 0) >> 2] | 0) + ((HEAP32[($5 + 76 | 0) >> 2] | 0) << 2 | 0) | 0) >> 0] = HEAPU8[(HEAP32[($5 + 36 | 0) >> 2] | 0) >> 0] | 0; + HEAP8[(((HEAP32[($5 + 40 | 0) >> 2] | 0) + ((HEAP32[($5 + 76 | 0) >> 2] | 0) << 2 | 0) | 0) + 1 | 0) >> 0] = HEAPU8[((HEAP32[($5 + 36 | 0) >> 2] | 0) + 1 | 0) >> 0] | 0; + HEAP8[(((HEAP32[($5 + 40 | 0) >> 2] | 0) + ((HEAP32[($5 + 76 | 0) >> 2] | 0) << 2 | 0) | 0) + 2 | 0) >> 0] = HEAPU8[((HEAP32[($5 + 36 | 0) >> 2] | 0) + 2 | 0) >> 0] | 0; + HEAP8[(((HEAP32[($5 + 40 | 0) >> 2] | 0) + ((HEAP32[($5 + 76 | 0) >> 2] | 0) << 2 | 0) | 0) + 3 | 0) >> 0] = 0; + HEAP32[($5 + 76 | 0) >> 2] = (HEAP32[($5 + 76 | 0) >> 2] | 0) + 1 | 0; + continue label$17; + }; + } + $279 = HEAP32[($5 + 132 | 0) >> 2] | 0; + FUNCTION_TABLE[HEAP32[((HEAP32[$279 >> 2] | 0) + 20 | 0) >> 2] | 0 | 0]($279, HEAP32[($5 + 44 | 0) >> 2] | 0, 83187, 1497453121, HEAP32[((HEAP32[($5 + 44 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0); + } + break label$4; + default: + break label$5; + }; + } + __assert_fail(86177 | 0, 75524 | 0, 326 | 0, 80835 | 0); + wasm2js_trap(); + } + $291 = HEAP32[($5 + 96 | 0) >> 2] | 0; + label$18 : { + label$19 : { + switch ($291 | 0) { + case 0: + label$22 : { + if (!(HEAP32[($5 + 84 | 0) >> 2] | 0)) { + break label$22 + } + $294 = HEAP32[($5 + 132 | 0) >> 2] | 0; + (wasm2js_i32$0 = $5, wasm2js_i32$1 = FUNCTION_TABLE[HEAP32[((HEAP32[$294 >> 2] | 0) + 16 | 0) >> 2] | 0 | 0]($294, 16, HEAP32[($5 + 84 | 0) >> 2] | 0) | 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($5 + 24 | 0) >> 2] = HEAP32[((HEAP32[($5 + 28 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + $302 = HEAP32[($5 + 132 | 0) >> 2] | 0; + $306 = FUNCTION_TABLE[HEAP32[((HEAP32[$302 >> 2] | 0) + 28 | 0) >> 2] | 0 | 0]($302, HEAP32[($5 + 24 | 0) >> 2] | 0) | 0; + HEAP32[(HEAP32[($5 + 120 | 0) >> 2] | 0) >> 2] = $306; + HEAP32[($5 + 20 | 0) >> 2] = 0; + label$23 : { + label$24 : while (1) { + if (!((HEAP32[($5 + 20 | 0) >> 2] | 0 | 0) < (HEAP32[($5 + 84 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$23 + } + HEAP32[($5 + 32 | 0) >> 2] = (HEAP32[($5 + 108 | 0) >> 2] | 0) + Math_imul(HEAP32[($5 + 20 | 0) >> 2] | 0, HEAP32[($5 + 88 | 0) >> 2] | 0) | 0; + HEAPF32[((HEAP32[($5 + 24 | 0) >> 2] | 0) + ((HEAP32[($5 + 20 | 0) >> 2] | 0) << 4 | 0) | 0) >> 2] = Math_fround(HEAPF32[(HEAP32[($5 + 32 | 0) >> 2] | 0) >> 2]); + HEAPF32[(((HEAP32[($5 + 24 | 0) >> 2] | 0) + ((HEAP32[($5 + 20 | 0) >> 2] | 0) << 4 | 0) | 0) + 4 | 0) >> 2] = Math_fround(HEAPF32[((HEAP32[($5 + 32 | 0) >> 2] | 0) + 4 | 0) >> 2]); + HEAPF32[(((HEAP32[($5 + 24 | 0) >> 2] | 0) + ((HEAP32[($5 + 20 | 0) >> 2] | 0) << 4 | 0) | 0) + 8 | 0) >> 2] = Math_fround(HEAPF32[((HEAP32[($5 + 32 | 0) >> 2] | 0) + 8 | 0) >> 2]); + HEAP32[($5 + 20 | 0) >> 2] = (HEAP32[($5 + 20 | 0) >> 2] | 0) + 1 | 0; + continue label$24; + }; + } + $345 = HEAP32[($5 + 132 | 0) >> 2] | 0; + FUNCTION_TABLE[HEAP32[((HEAP32[$345 >> 2] | 0) + 20 | 0) >> 2] | 0 | 0]($345, HEAP32[($5 + 28 | 0) >> 2] | 0, 83394, 1497453121, HEAP32[((HEAP32[($5 + 28 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0); + } + break label$18; + case 1: + label$25 : { + if (!(HEAP32[($5 + 84 | 0) >> 2] | 0)) { + break label$25 + } + $354 = HEAP32[($5 + 132 | 0) >> 2] | 0; + (wasm2js_i32$0 = $5, wasm2js_i32$1 = FUNCTION_TABLE[HEAP32[((HEAP32[$354 >> 2] | 0) + 16 | 0) >> 2] | 0 | 0]($354, 32, HEAP32[($5 + 84 | 0) >> 2] | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($5 + 12 | 0) >> 2] = HEAP32[((HEAP32[($5 + 16 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + $362 = HEAP32[($5 + 132 | 0) >> 2] | 0; + $366 = FUNCTION_TABLE[HEAP32[((HEAP32[$362 >> 2] | 0) + 28 | 0) >> 2] | 0 | 0]($362, HEAP32[($5 + 12 | 0) >> 2] | 0) | 0; + HEAP32[((HEAP32[($5 + 120 | 0) >> 2] | 0) + 4 | 0) >> 2] = $366; + HEAP32[($5 + 8 | 0) >> 2] = 0; + label$26 : { + label$27 : while (1) { + if (!((HEAP32[($5 + 8 | 0) >> 2] | 0 | 0) < (HEAP32[($5 + 84 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$26 + } + HEAP32[($5 + 4 | 0) >> 2] = (HEAP32[($5 + 108 | 0) >> 2] | 0) + Math_imul(HEAP32[($5 + 8 | 0) >> 2] | 0, HEAP32[($5 + 88 | 0) >> 2] | 0) | 0; + HEAPF64[((HEAP32[($5 + 12 | 0) >> 2] | 0) + ((HEAP32[($5 + 8 | 0) >> 2] | 0) << 5 | 0) | 0) >> 3] = +HEAPF64[(HEAP32[($5 + 4 | 0) >> 2] | 0) >> 3]; + HEAPF64[(((HEAP32[($5 + 12 | 0) >> 2] | 0) + ((HEAP32[($5 + 8 | 0) >> 2] | 0) << 5 | 0) | 0) + 8 | 0) >> 3] = +HEAPF64[((HEAP32[($5 + 4 | 0) >> 2] | 0) + 8 | 0) >> 3]; + HEAPF64[(((HEAP32[($5 + 12 | 0) >> 2] | 0) + ((HEAP32[($5 + 8 | 0) >> 2] | 0) << 5 | 0) | 0) + 16 | 0) >> 3] = +HEAPF64[((HEAP32[($5 + 4 | 0) >> 2] | 0) + 16 | 0) >> 3]; + HEAP32[($5 + 8 | 0) >> 2] = (HEAP32[($5 + 8 | 0) >> 2] | 0) + 1 | 0; + continue label$27; + }; + } + $405 = HEAP32[($5 + 132 | 0) >> 2] | 0; + FUNCTION_TABLE[HEAP32[((HEAP32[$405 >> 2] | 0) + 20 | 0) >> 2] | 0 | 0]($405, HEAP32[($5 + 16 | 0) >> 2] | 0, 83633, 1497453121, HEAP32[((HEAP32[($5 + 16 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0); + } + break label$18; + default: + break label$19; + }; + } + label$28 : { + if (!(HEAP32[($5 + 96 | 0) >> 2] | 0)) { + break label$28 + } + if ((HEAP32[($5 + 96 | 0) >> 2] | 0 | 0) == (1 | 0) & 1 | 0) { + break label$28 + } + __assert_fail(86480 | 0, 75524 | 0, 374 | 0, 80835 | 0); + wasm2js_trap(); + } + } + FUNCTION_TABLE[HEAP32[((HEAP32[$6 >> 2] | 0) + 24 | 0) >> 2] | 0 | 0]($6, HEAP32[($5 + 116 | 0) >> 2] | 0); + HEAP32[($5 + 116 | 0) >> 2] = (HEAP32[($5 + 116 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($5 + 120 | 0) >> 2] = (HEAP32[($5 + 120 | 0) >> 2] | 0) + 32 | 0; + continue label$3; + }; + } + $434 = HEAP32[($5 + 132 | 0) >> 2] | 0; + FUNCTION_TABLE[HEAP32[((HEAP32[$434 >> 2] | 0) + 20 | 0) >> 2] | 0 | 0]($434, HEAP32[($5 + 124 | 0) >> 2] | 0, 83110, 1497453121, HEAP32[((HEAP32[($5 + 124 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0); + } + HEAP32[((HEAP32[($5 + 128 | 0) >> 2] | 0) + 24 | 0) >> 2] = 0; + btVector3__serializeFloat_28btVector3FloatData__29_20const($6 + 4 | 0 | 0, (HEAP32[($5 + 128 | 0) >> 2] | 0) + 4 | 0 | 0); + __stack_pointer = $5 + 144 | 0; + return 83699 | 0; + } + + function btStridingMeshInterface__hasPremadeAabb_28_29_20const($0) { + $0 = $0 | 0; + HEAP32[((__stack_pointer - 16 | 0) + 12 | 0) >> 2] = $0; + return 0 & 1 | 0 | 0; + } + + function btStridingMeshInterface__setPremadeAabb_28btVector3_20const__2c_20btVector3_20const__29_20const($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $5 = 0; + $5 = __stack_pointer - 16 | 0; + HEAP32[($5 + 12 | 0) >> 2] = $0; + HEAP32[($5 + 8 | 0) >> 2] = $1; + HEAP32[($5 + 4 | 0) >> 2] = $2; + return; + } + + function btStridingMeshInterface__getPremadeAabb_28btVector3__2c_20btVector3__29_20const($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $5 = 0; + $5 = __stack_pointer - 16 | 0; + HEAP32[($5 + 12 | 0) >> 2] = $0; + HEAP32[($5 + 8 | 0) >> 2] = $1; + HEAP32[($5 + 4 | 0) >> 2] = $2; + return; + } + + function _GLOBAL__sub_I_btStridingMeshInterface_cpp() { + __cxx_global_var_init_52(); + return; + } + + function __cxx_global_var_init_53() { + btInfMaskConverter__btInfMaskConverter_28int_29(114300 | 0, 2139095040 | 0) | 0; + return; + } + + function btTriangleIndexVertexArray___btTriangleIndexVertexArray_28_29($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + HEAP32[$4 >> 2] = 100608 + 8 | 0; + btAlignedObjectArray_btIndexedMesh____btAlignedObjectArray_28_29($4 + 20 | 0 | 0) | 0; + btStridingMeshInterface___btStridingMeshInterface_28_29($4 | 0) | 0; + __stack_pointer = $3 + 16 | 0; + return $4 | 0; + } + + function btAlignedObjectArray_btIndexedMesh____btAlignedObjectArray_28_29($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + btAlignedObjectArray_btIndexedMesh___clear_28_29($4 | 0); + __stack_pointer = $3 + 16 | 0; + return $4 | 0; + } + + function btAlignedObjectArray_btIndexedMesh___clear_28_29($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + btAlignedObjectArray_btIndexedMesh___destroy_28int_2c_20int_29($4 | 0, 0 | 0, btAlignedObjectArray_btIndexedMesh___size_28_29_20const($4 | 0) | 0 | 0); + btAlignedObjectArray_btIndexedMesh___deallocate_28_29($4 | 0); + btAlignedObjectArray_btIndexedMesh___init_28_29($4 | 0); + __stack_pointer = $3 + 16 | 0; + return; + } + + function btTriangleIndexVertexArray___btTriangleIndexVertexArray_28_29_1($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + FUNCTION_TABLE[985 | 0]($4) | 0; + btTriangleIndexVertexArray__operator_20delete_28void__29($4 | 0); + __stack_pointer = $3 + 16 | 0; + return; + } + + function btTriangleIndexVertexArray__getLockedVertexIndexBase_28unsigned_20char___2c_20int__2c_20PHY_ScalarType__2c_20int__2c_20unsigned_20char___2c_20int__2c_20int__2c_20PHY_ScalarType__2c_20int_29($0, $1, $2, $3, $4, $5, $6, $7, $8, $9) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + $4 = $4 | 0; + $5 = $5 | 0; + $6 = $6 | 0; + $7 = $7 | 0; + $8 = $8 | 0; + $9 = $9 | 0; + var $12 = 0, $13 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $12 = __stack_pointer - 48 | 0; + __stack_pointer = $12; + HEAP32[($12 + 44 | 0) >> 2] = $0; + HEAP32[($12 + 40 | 0) >> 2] = $1; + HEAP32[($12 + 36 | 0) >> 2] = $2; + HEAP32[($12 + 32 | 0) >> 2] = $3; + HEAP32[($12 + 28 | 0) >> 2] = $4; + HEAP32[($12 + 24 | 0) >> 2] = $5; + HEAP32[($12 + 20 | 0) >> 2] = $6; + HEAP32[($12 + 16 | 0) >> 2] = $7; + HEAP32[($12 + 12 | 0) >> 2] = $8; + HEAP32[($12 + 8 | 0) >> 2] = $9; + $13 = HEAP32[($12 + 44 | 0) >> 2] | 0; + label$1 : { + if ((HEAP32[($12 + 8 | 0) >> 2] | 0 | 0) < (FUNCTION_TABLE[HEAP32[((HEAP32[$13 >> 2] | 0) + 28 | 0) >> 2] | 0 | 0]($13) | 0 | 0) & 1 | 0) { + break label$1 + } + __assert_fail(87090 | 0, 71325 | 0, 41 | 0, 81493 | 0); + wasm2js_trap(); + } + (wasm2js_i32$0 = $12, wasm2js_i32$1 = btAlignedObjectArray_btIndexedMesh___operator_5b_5d_28int_29($13 + 20 | 0 | 0, HEAP32[($12 + 8 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + HEAP32[(HEAP32[($12 + 36 | 0) >> 2] | 0) >> 2] = HEAP32[((HEAP32[($12 + 4 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + HEAP32[(HEAP32[($12 + 40 | 0) >> 2] | 0) >> 2] = HEAP32[((HEAP32[($12 + 4 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + HEAP32[(HEAP32[($12 + 32 | 0) >> 2] | 0) >> 2] = HEAP32[((HEAP32[($12 + 4 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0; + HEAP32[(HEAP32[($12 + 28 | 0) >> 2] | 0) >> 2] = HEAP32[((HEAP32[($12 + 4 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0; + HEAP32[(HEAP32[($12 + 16 | 0) >> 2] | 0) >> 2] = HEAP32[(HEAP32[($12 + 4 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[(HEAP32[($12 + 24 | 0) >> 2] | 0) >> 2] = HEAP32[((HEAP32[($12 + 4 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + HEAP32[(HEAP32[($12 + 20 | 0) >> 2] | 0) >> 2] = HEAP32[((HEAP32[($12 + 4 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + HEAP32[(HEAP32[($12 + 12 | 0) >> 2] | 0) >> 2] = HEAP32[((HEAP32[($12 + 4 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0; + __stack_pointer = $12 + 48 | 0; + return; + } + + function btTriangleIndexVertexArray__getLockedReadOnlyVertexIndexBase_28unsigned_20char_20const___2c_20int__2c_20PHY_ScalarType__2c_20int__2c_20unsigned_20char_20const___2c_20int__2c_20int__2c_20PHY_ScalarType__2c_20int_29_20const($0, $1, $2, $3, $4, $5, $6, $7, $8, $9) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + $4 = $4 | 0; + $5 = $5 | 0; + $6 = $6 | 0; + $7 = $7 | 0; + $8 = $8 | 0; + $9 = $9 | 0; + var $12 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $12 = __stack_pointer - 48 | 0; + __stack_pointer = $12; + HEAP32[($12 + 44 | 0) >> 2] = $0; + HEAP32[($12 + 40 | 0) >> 2] = $1; + HEAP32[($12 + 36 | 0) >> 2] = $2; + HEAP32[($12 + 32 | 0) >> 2] = $3; + HEAP32[($12 + 28 | 0) >> 2] = $4; + HEAP32[($12 + 24 | 0) >> 2] = $5; + HEAP32[($12 + 20 | 0) >> 2] = $6; + HEAP32[($12 + 16 | 0) >> 2] = $7; + HEAP32[($12 + 12 | 0) >> 2] = $8; + HEAP32[($12 + 8 | 0) >> 2] = $9; + (wasm2js_i32$0 = $12, wasm2js_i32$1 = btAlignedObjectArray_btIndexedMesh___operator_5b_5d_28int_29_20const((HEAP32[($12 + 44 | 0) >> 2] | 0) + 20 | 0 | 0, HEAP32[($12 + 8 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + HEAP32[(HEAP32[($12 + 36 | 0) >> 2] | 0) >> 2] = HEAP32[((HEAP32[($12 + 4 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + HEAP32[(HEAP32[($12 + 40 | 0) >> 2] | 0) >> 2] = HEAP32[((HEAP32[($12 + 4 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + HEAP32[(HEAP32[($12 + 32 | 0) >> 2] | 0) >> 2] = HEAP32[((HEAP32[($12 + 4 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0; + HEAP32[(HEAP32[($12 + 28 | 0) >> 2] | 0) >> 2] = HEAP32[((HEAP32[($12 + 4 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0; + HEAP32[(HEAP32[($12 + 16 | 0) >> 2] | 0) >> 2] = HEAP32[(HEAP32[($12 + 4 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[(HEAP32[($12 + 24 | 0) >> 2] | 0) >> 2] = HEAP32[((HEAP32[($12 + 4 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + HEAP32[(HEAP32[($12 + 20 | 0) >> 2] | 0) >> 2] = HEAP32[((HEAP32[($12 + 4 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + HEAP32[(HEAP32[($12 + 12 | 0) >> 2] | 0) >> 2] = HEAP32[((HEAP32[($12 + 4 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0; + __stack_pointer = $12 + 48 | 0; + return; + } + + function btAlignedObjectArray_btIndexedMesh___operator_5b_5d_28int_29_20const($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, $5 = 0, $32 = 0; + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; + label$1 : { + if ((HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0) { + break label$1 + } + __assert_fail(85840 | 0, 78192 | 0, 176 | 0, 83901 | 0); + wasm2js_trap(); + } + label$2 : { + if ((HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) < (btAlignedObjectArray_btIndexedMesh___size_28_29_20const($5 | 0) | 0 | 0) & 1 | 0) { + break label$2 + } + __assert_fail(87321 | 0, 78192 | 0, 177 | 0, 83901 | 0); + wasm2js_trap(); + } + $32 = (HEAP32[($5 + 12 | 0) >> 2] | 0) + ((HEAP32[($4 + 8 | 0) >> 2] | 0) << 5 | 0) | 0; + __stack_pointer = $4 + 16 | 0; + return $32 | 0; + } + + function btTriangleIndexVertexArray__hasPremadeAabb_28_29_20const($0) { + $0 = $0 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + return (HEAP32[((HEAP32[($3 + 12 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0 | 0) == (1 | 0) & 1 | 0 | 0; + } + + function btTriangleIndexVertexArray__setPremadeAabb_28btVector3_20const__2c_20btVector3_20const__29_20const($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var i64toi32_i32$2 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $5 = 0, $6 = 0, $9 = 0, $11 = 0, $17 = 0, $19 = 0, $44 = 0, $54 = 0, $63 = 0, $73 = 0; + $5 = __stack_pointer - 16 | 0; + HEAP32[($5 + 12 | 0) >> 2] = $0; + HEAP32[($5 + 8 | 0) >> 2] = $1; + HEAP32[($5 + 4 | 0) >> 2] = $2; + $6 = HEAP32[($5 + 12 | 0) >> 2] | 0; + $9 = $6 + 52 | 0; + i64toi32_i32$2 = HEAP32[($5 + 8 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $44 = i64toi32_i32$0; + i64toi32_i32$0 = $9; + HEAP32[i64toi32_i32$0 >> 2] = $44; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $11 = 8; + i64toi32_i32$2 = i64toi32_i32$2 + $11 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $54 = i64toi32_i32$1; + i64toi32_i32$1 = $9 + $11 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $54; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + $17 = $6 + 68 | 0; + i64toi32_i32$2 = HEAP32[($5 + 4 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $63 = i64toi32_i32$0; + i64toi32_i32$0 = $17; + HEAP32[i64toi32_i32$0 >> 2] = $63; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $19 = 8; + i64toi32_i32$2 = i64toi32_i32$2 + $19 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $73 = i64toi32_i32$1; + i64toi32_i32$1 = $17 + $19 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $73; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($6 + 48 | 0) >> 2] = 1; + return; + } + + function btTriangleIndexVertexArray__getPremadeAabb_28btVector3__2c_20btVector3__29_20const($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var i64toi32_i32$2 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $5 = 0, $6 = 0, $9 = 0, $11 = 0, $17 = 0, $19 = 0, $43 = 0, $53 = 0, $62 = 0, $72 = 0; + $5 = __stack_pointer - 16 | 0; + HEAP32[($5 + 12 | 0) >> 2] = $0; + HEAP32[($5 + 8 | 0) >> 2] = $1; + HEAP32[($5 + 4 | 0) >> 2] = $2; + $6 = HEAP32[($5 + 12 | 0) >> 2] | 0; + $9 = HEAP32[($5 + 8 | 0) >> 2] | 0; + i64toi32_i32$2 = $6 + 52 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $43 = i64toi32_i32$0; + i64toi32_i32$0 = $9; + HEAP32[i64toi32_i32$0 >> 2] = $43; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $11 = 8; + i64toi32_i32$2 = i64toi32_i32$2 + $11 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $53 = i64toi32_i32$1; + i64toi32_i32$1 = $9 + $11 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $53; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + $17 = HEAP32[($5 + 4 | 0) >> 2] | 0; + i64toi32_i32$2 = $6 + 68 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $62 = i64toi32_i32$0; + i64toi32_i32$0 = $17; + HEAP32[i64toi32_i32$0 >> 2] = $62; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $19 = 8; + i64toi32_i32$2 = i64toi32_i32$2 + $19 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $72 = i64toi32_i32$1; + i64toi32_i32$1 = $17 + $19 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $72; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + return; + } + + function btTriangleIndexVertexArray__preallocateVertices_28int_29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0; + $4 = __stack_pointer - 16 | 0; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + return; + } + + function btTriangleIndexVertexArray__preallocateIndices_28int_29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0; + $4 = __stack_pointer - 16 | 0; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + return; + } + + function _GLOBAL__sub_I_btTriangleIndexVertexArray_cpp() { + __cxx_global_var_init_53(); + return; + } + + function __cxx_global_var_init_54() { + btInfMaskConverter__btInfMaskConverter_28int_29(114304 | 0, 2139095040 | 0) | 0; + return; + } + + function btTriangleMesh__btTriangleMesh_28bool_2c_20bool_29($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $8 = 0, $5 = 0, $50 = 0, $74 = 0, $99 = 0, $118 = 0, $133 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5 = __stack_pointer - 48 | 0; + __stack_pointer = $5; + HEAP32[($5 + 40 | 0) >> 2] = $0; + HEAP8[($5 + 39 | 0) >> 0] = $1; + HEAP8[($5 + 38 | 0) >> 0] = $2; + $8 = HEAP32[($5 + 40 | 0) >> 2] | 0; + HEAP32[($5 + 44 | 0) >> 2] = $8; + btTriangleIndexVertexArray__btTriangleIndexVertexArray_28_29($8 | 0) | 0; + HEAP32[$8 >> 2] = 100720 + 8 | 0; + btAlignedObjectArray_btVector3___btAlignedObjectArray_28_29($8 + 84 | 0 | 0) | 0; + btAlignedObjectArray_float___btAlignedObjectArray_28_29($8 + 104 | 0 | 0) | 0; + btAlignedObjectArray_unsigned_20int___btAlignedObjectArray_28_29($8 + 124 | 0 | 0) | 0; + btAlignedObjectArray_unsigned_20short___btAlignedObjectArray_28_29($8 + 144 | 0 | 0) | 0; + HEAP8[($8 + 164 | 0) >> 0] = (HEAPU8[($5 + 39 | 0) >> 0] | 0) & 1 | 0; + HEAP8[($8 + 165 | 0) >> 0] = (HEAPU8[($5 + 38 | 0) >> 0] | 0) & 1 | 0; + HEAPF32[($8 + 168 | 0) >> 2] = Math_fround(0 | 0); + btIndexedMesh__btIndexedMesh_28_29($5 + 4 | 0 | 0) | 0; + HEAP32[($5 + 4 | 0) >> 2] = 0; + HEAP32[($5 + 16 | 0) >> 2] = 0; + HEAP32[($5 + 28 | 0) >> 2] = 2; + HEAP32[($5 + 8 | 0) >> 2] = 0; + HEAP32[($5 + 12 | 0) >> 2] = 12; + HEAP32[($5 + 20 | 0) >> 2] = 0; + HEAP32[($5 + 24 | 0) >> 2] = 16; + btAlignedObjectArray_btIndexedMesh___push_back_28btIndexedMesh_20const__29($8 + 20 | 0 | 0, $5 + 4 | 0 | 0); + label$1 : { + label$2 : { + if (!((HEAPU8[($8 + 164 | 0) >> 0] | 0) & 1 | 0)) { + break label$2 + } + $50 = (btAlignedObjectArray_unsigned_20int___size_28_29_20const($8 + 124 | 0 | 0) | 0 | 0) / (3 | 0) | 0; + (wasm2js_i32$0 = btAlignedObjectArray_btIndexedMesh___operator_5b_5d_28int_29($8 + 20 | 0 | 0, 0 | 0) | 0, wasm2js_i32$1 = $50), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = btAlignedObjectArray_btIndexedMesh___operator_5b_5d_28int_29($8 + 20 | 0 | 0, 0 | 0) | 0, wasm2js_i32$1 = 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = btAlignedObjectArray_btIndexedMesh___operator_5b_5d_28int_29($8 + 20 | 0 | 0, 0 | 0) | 0, wasm2js_i32$1 = 2), HEAP32[(wasm2js_i32$0 + 24 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = btAlignedObjectArray_btIndexedMesh___operator_5b_5d_28int_29($8 + 20 | 0 | 0, 0 | 0) | 0, wasm2js_i32$1 = 12), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + break label$1; + } + $74 = (btAlignedObjectArray_unsigned_20short___size_28_29_20const($8 + 144 | 0 | 0) | 0 | 0) / (3 | 0) | 0; + (wasm2js_i32$0 = btAlignedObjectArray_btIndexedMesh___operator_5b_5d_28int_29($8 + 20 | 0 | 0, 0 | 0) | 0, wasm2js_i32$1 = $74), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = btAlignedObjectArray_btIndexedMesh___operator_5b_5d_28int_29($8 + 20 | 0 | 0, 0 | 0) | 0, wasm2js_i32$1 = 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = btAlignedObjectArray_btIndexedMesh___operator_5b_5d_28int_29($8 + 20 | 0 | 0, 0 | 0) | 0, wasm2js_i32$1 = 3), HEAP32[(wasm2js_i32$0 + 24 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = btAlignedObjectArray_btIndexedMesh___operator_5b_5d_28int_29($8 + 20 | 0 | 0, 0 | 0) | 0, wasm2js_i32$1 = 6), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + } + label$3 : { + label$4 : { + if (!((HEAPU8[($8 + 165 | 0) >> 0] | 0) & 1 | 0)) { + break label$4 + } + $99 = btAlignedObjectArray_btVector3___size_28_29_20const($8 + 84 | 0 | 0) | 0; + (wasm2js_i32$0 = btAlignedObjectArray_btIndexedMesh___operator_5b_5d_28int_29($8 + 20 | 0 | 0, 0 | 0) | 0, wasm2js_i32$1 = $99), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = btAlignedObjectArray_btIndexedMesh___operator_5b_5d_28int_29($8 + 20 | 0 | 0, 0 | 0) | 0, wasm2js_i32$1 = 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = btAlignedObjectArray_btIndexedMesh___operator_5b_5d_28int_29($8 + 20 | 0 | 0, 0 | 0) | 0, wasm2js_i32$1 = 16), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + break label$3; + } + $118 = (btAlignedObjectArray_float___size_28_29_20const($8 + 104 | 0 | 0) | 0 | 0) / (3 | 0) | 0; + (wasm2js_i32$0 = btAlignedObjectArray_btIndexedMesh___operator_5b_5d_28int_29($8 + 20 | 0 | 0, 0 | 0) | 0, wasm2js_i32$1 = $118), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = btAlignedObjectArray_btIndexedMesh___operator_5b_5d_28int_29($8 + 20 | 0 | 0, 0 | 0) | 0, wasm2js_i32$1 = 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = btAlignedObjectArray_btIndexedMesh___operator_5b_5d_28int_29($8 + 20 | 0 | 0, 0 | 0) | 0, wasm2js_i32$1 = 12), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + } + $133 = HEAP32[($5 + 44 | 0) >> 2] | 0; + __stack_pointer = $5 + 48 | 0; + return $133 | 0; + } + + function btTriangleIndexVertexArray__btTriangleIndexVertexArray_28_29($0) { + $0 = $0 | 0; + var $4 = 0, $3 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + btStridingMeshInterface__btStridingMeshInterface_28_29($4 | 0) | 0; + HEAP32[$4 >> 2] = 100608 + 8 | 0; + btAlignedObjectArray_btIndexedMesh___btAlignedObjectArray_28_29($4 + 20 | 0 | 0) | 0; + HEAP32[($4 + 48 | 0) >> 2] = 0; + btVector3__btVector3_28_29($4 + 52 | 0 | 0) | 0; + btVector3__btVector3_28_29($4 + 68 | 0 | 0) | 0; + __stack_pointer = $3 + 16 | 0; + return $4 | 0; + } + + function btAlignedObjectArray_unsigned_20int___btAlignedObjectArray_28_29($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + btAlignedAllocator_unsigned_20int_2c_2016u___btAlignedAllocator_28_29($4 | 0) | 0; + btAlignedObjectArray_unsigned_20int___init_28_29($4 | 0); + __stack_pointer = $3 + 16 | 0; + return $4 | 0; + } + + function btAlignedObjectArray_unsigned_20short___btAlignedObjectArray_28_29($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + btAlignedAllocator_unsigned_20short_2c_2016u___btAlignedAllocator_28_29($4 | 0) | 0; + btAlignedObjectArray_unsigned_20short___init_28_29($4 | 0); + __stack_pointer = $3 + 16 | 0; + return $4 | 0; + } + + function btIndexedMesh__btIndexedMesh_28_29($0) { + $0 = $0 | 0; + var $4 = 0, $3 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + HEAP32[($4 + 24 | 0) >> 2] = 2; + HEAP32[($4 + 28 | 0) >> 2] = 0; + return $4 | 0; + } + + function btAlignedObjectArray_btIndexedMesh___push_back_28btIndexedMesh_20const__29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, $5 = 0, $4 = 0, $22 = 0, $23 = 0, $25 = 0, $29 = 0, $33 = 0, $96 = 0, $106 = 0, $116 = 0, $126 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; + (wasm2js_i32$0 = $4, wasm2js_i32$1 = btAlignedObjectArray_btIndexedMesh___size_28_29_20const($5 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + if (!((HEAP32[($4 + 4 | 0) >> 2] | 0 | 0) == (btAlignedObjectArray_btIndexedMesh___capacity_28_29_20const($5 | 0) | 0 | 0) & 1 | 0)) { + break label$1 + } + btAlignedObjectArray_btIndexedMesh___reserve_28int_29($5 | 0, btAlignedObjectArray_btIndexedMesh___allocSize_28int_29($5 | 0, btAlignedObjectArray_btIndexedMesh___size_28_29_20const($5 | 0) | 0 | 0) | 0 | 0); + } + $22 = btIndexedMesh__operator_20new_28unsigned_20long_2c_20void__29(32 | 0, (HEAP32[($5 + 12 | 0) >> 2] | 0) + ((HEAP32[($5 + 4 | 0) >> 2] | 0) << 5 | 0) | 0 | 0) | 0; + $23 = HEAP32[($4 + 8 | 0) >> 2] | 0; + i64toi32_i32$2 = $23; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $96 = i64toi32_i32$0; + i64toi32_i32$0 = $22; + HEAP32[i64toi32_i32$0 >> 2] = $96; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $25 = 24; + i64toi32_i32$2 = i64toi32_i32$2 + $25 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $106 = i64toi32_i32$1; + i64toi32_i32$1 = $22 + $25 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $106; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + $29 = 16; + i64toi32_i32$2 = $23 + $29 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $116 = i64toi32_i32$0; + i64toi32_i32$0 = $22 + $29 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $116; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $33 = 8; + i64toi32_i32$2 = $23 + $33 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $126 = i64toi32_i32$1; + i64toi32_i32$1 = $22 + $33 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $126; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($5 + 4 | 0) >> 2] = (HEAP32[($5 + 4 | 0) >> 2] | 0) + 1 | 0; + __stack_pointer = $4 + 16 | 0; + return; + } + + function btAlignedObjectArray_unsigned_20int___size_28_29_20const($0) { + $0 = $0 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + return HEAP32[((HEAP32[($3 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0; + } + + function btAlignedObjectArray_btIndexedMesh___operator_5b_5d_28int_29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, $5 = 0, $32 = 0; + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; + label$1 : { + if ((HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0) { + break label$1 + } + __assert_fail(85840 | 0, 78192 | 0, 183 | 0, 83901 | 0); + wasm2js_trap(); + } + label$2 : { + if ((HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) < (btAlignedObjectArray_btIndexedMesh___size_28_29_20const($5 | 0) | 0 | 0) & 1 | 0) { + break label$2 + } + __assert_fail(87321 | 0, 78192 | 0, 184 | 0, 83901 | 0); + wasm2js_trap(); + } + $32 = (HEAP32[($5 + 12 | 0) >> 2] | 0) + ((HEAP32[($4 + 8 | 0) >> 2] | 0) << 5 | 0) | 0; + __stack_pointer = $4 + 16 | 0; + return $32 | 0; + } + + function btAlignedObjectArray_unsigned_20short___size_28_29_20const($0) { + $0 = $0 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + return HEAP32[((HEAP32[($3 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0; + } + + function btStridingMeshInterface__btStridingMeshInterface_28_29($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + HEAP32[$4 >> 2] = 100504 + 8 | 0; + HEAPF32[($3 + 8 | 0) >> 2] = Math_fround(1.0); + HEAPF32[($3 + 4 | 0) >> 2] = Math_fround(1.0); + HEAPF32[$3 >> 2] = Math_fround(1.0); + btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($4 + 4 | 0 | 0, $3 + 8 | 0 | 0, $3 + 4 | 0 | 0, $3 | 0) | 0; + __stack_pointer = $3 + 16 | 0; + return $4 | 0; + } + + function btAlignedObjectArray_btIndexedMesh___btAlignedObjectArray_28_29($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + btAlignedAllocator_btIndexedMesh_2c_2016u___btAlignedAllocator_28_29($4 | 0) | 0; + btAlignedObjectArray_btIndexedMesh___init_28_29($4 | 0); + __stack_pointer = $3 + 16 | 0; + return $4 | 0; + } + + function btAlignedAllocator_unsigned_20int_2c_2016u___btAlignedAllocator_28_29($0) { + $0 = $0 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + return HEAP32[($3 + 12 | 0) >> 2] | 0 | 0; + } + + function btAlignedObjectArray_unsigned_20int___init_28_29($0) { + $0 = $0 | 0; + var $4 = 0, $3 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + HEAP8[($4 + 16 | 0) >> 0] = 1; + HEAP32[($4 + 12 | 0) >> 2] = 0; + HEAP32[($4 + 4 | 0) >> 2] = 0; + HEAP32[($4 + 8 | 0) >> 2] = 0; + return; + } + + function btAlignedAllocator_unsigned_20short_2c_2016u___btAlignedAllocator_28_29($0) { + $0 = $0 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + return HEAP32[($3 + 12 | 0) >> 2] | 0 | 0; + } + + function btAlignedObjectArray_unsigned_20short___init_28_29($0) { + $0 = $0 | 0; + var $4 = 0, $3 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + HEAP8[($4 + 16 | 0) >> 0] = 1; + HEAP32[($4 + 12 | 0) >> 2] = 0; + HEAP32[($4 + 4 | 0) >> 2] = 0; + HEAP32[($4 + 8 | 0) >> 2] = 0; + return; + } + + function btAlignedObjectArray_btIndexedMesh___size_28_29_20const($0) { + $0 = $0 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + return HEAP32[((HEAP32[($3 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0; + } + + function btAlignedObjectArray_btIndexedMesh___capacity_28_29_20const($0) { + $0 = $0 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + return HEAP32[((HEAP32[($3 + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0; + } + + function btAlignedObjectArray_btIndexedMesh___allocSize_28int_29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, $9 = 0; + $4 = __stack_pointer - 16 | 0; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + label$1 : { + label$2 : { + if (!(HEAP32[($4 + 8 | 0) >> 2] | 0)) { + break label$2 + } + $9 = (HEAP32[($4 + 8 | 0) >> 2] | 0) << 1 | 0; + break label$1; + } + $9 = 1; + } + return $9 | 0; + } + + function btAlignedObjectArray_btIndexedMesh___reserve_28int_29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, $5 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; + label$1 : { + if (!((btAlignedObjectArray_btIndexedMesh___capacity_28_29_20const($5 | 0) | 0 | 0) < (HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$1 + } + (wasm2js_i32$0 = $4, wasm2js_i32$1 = btAlignedObjectArray_btIndexedMesh___allocate_28int_29($5 | 0, HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + btAlignedObjectArray_btIndexedMesh___copy_28int_2c_20int_2c_20btIndexedMesh__29_20const($5 | 0, 0 | 0, btAlignedObjectArray_btIndexedMesh___size_28_29_20const($5 | 0) | 0 | 0, HEAP32[($4 + 4 | 0) >> 2] | 0 | 0); + btAlignedObjectArray_btIndexedMesh___destroy_28int_2c_20int_29($5 | 0, 0 | 0, btAlignedObjectArray_btIndexedMesh___size_28_29_20const($5 | 0) | 0 | 0); + btAlignedObjectArray_btIndexedMesh___deallocate_28_29($5 | 0); + HEAP8[($5 + 16 | 0) >> 0] = 1; + HEAP32[($5 + 12 | 0) >> 2] = HEAP32[($4 + 4 | 0) >> 2] | 0; + HEAP32[($5 + 8 | 0) >> 2] = HEAP32[($4 + 8 | 0) >> 2] | 0; + } + __stack_pointer = $4 + 16 | 0; + return; + } + + function btIndexedMesh__operator_20new_28unsigned_20long_2c_20void__29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0; + $4 = __stack_pointer - 16 | 0; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + return HEAP32[($4 + 8 | 0) >> 2] | 0 | 0; + } + + function btTriangleMesh__addIndex_28int_29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, $5 = 0, $18 = 0, $32 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; + label$1 : { + label$2 : { + if (!((HEAPU8[($5 + 164 | 0) >> 0] | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($4 + 4 | 0) >> 2] = HEAP32[($4 + 8 | 0) >> 2] | 0; + btAlignedObjectArray_unsigned_20int___push_back_28unsigned_20int_20const__29($5 + 124 | 0 | 0, $4 + 4 | 0 | 0); + $18 = btAlignedObjectArray_unsigned_20int___operator_5b_5d_28int_29($5 + 124 | 0 | 0, 0 | 0) | 0; + (wasm2js_i32$0 = btAlignedObjectArray_btIndexedMesh___operator_5b_5d_28int_29($5 + 20 | 0 | 0, 0 | 0) | 0, wasm2js_i32$1 = $18), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + break label$1; + } + HEAP16[($4 + 2 | 0) >> 1] = HEAP32[($4 + 8 | 0) >> 2] | 0; + btAlignedObjectArray_unsigned_20short___push_back_28unsigned_20short_20const__29($5 + 144 | 0 | 0, $4 + 2 | 0 | 0); + $32 = btAlignedObjectArray_unsigned_20short___operator_5b_5d_28int_29($5 + 144 | 0 | 0, 0 | 0) | 0; + (wasm2js_i32$0 = btAlignedObjectArray_btIndexedMesh___operator_5b_5d_28int_29($5 + 20 | 0 | 0, 0 | 0) | 0, wasm2js_i32$1 = $32), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + } + __stack_pointer = $4 + 16 | 0; + return; + } + + function btAlignedObjectArray_unsigned_20int___push_back_28unsigned_20int_20const__29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $5 = 0, $4 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; + (wasm2js_i32$0 = $4, wasm2js_i32$1 = btAlignedObjectArray_unsigned_20int___size_28_29_20const($5 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + if (!((HEAP32[($4 + 4 | 0) >> 2] | 0 | 0) == (btAlignedObjectArray_unsigned_20int___capacity_28_29_20const($5 | 0) | 0 | 0) & 1 | 0)) { + break label$1 + } + btAlignedObjectArray_unsigned_20int___reserve_28int_29($5 | 0, btAlignedObjectArray_unsigned_20int___allocSize_28int_29($5 | 0, btAlignedObjectArray_unsigned_20int___size_28_29_20const($5 | 0) | 0 | 0) | 0 | 0); + } + HEAP32[((HEAP32[($5 + 12 | 0) >> 2] | 0) + ((HEAP32[($5 + 4 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = HEAP32[(HEAP32[($4 + 8 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($5 + 4 | 0) >> 2] = (HEAP32[($5 + 4 | 0) >> 2] | 0) + 1 | 0; + __stack_pointer = $4 + 16 | 0; + return; + } + + function btAlignedObjectArray_unsigned_20int___operator_5b_5d_28int_29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, $5 = 0, $32 = 0; + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; + label$1 : { + if ((HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0) { + break label$1 + } + __assert_fail(85840 | 0, 78192 | 0, 183 | 0, 83901 | 0); + wasm2js_trap(); + } + label$2 : { + if ((HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) < (btAlignedObjectArray_unsigned_20int___size_28_29_20const($5 | 0) | 0 | 0) & 1 | 0) { + break label$2 + } + __assert_fail(87321 | 0, 78192 | 0, 184 | 0, 83901 | 0); + wasm2js_trap(); + } + $32 = (HEAP32[($5 + 12 | 0) >> 2] | 0) + ((HEAP32[($4 + 8 | 0) >> 2] | 0) << 2 | 0) | 0; + __stack_pointer = $4 + 16 | 0; + return $32 | 0; + } + + function btAlignedObjectArray_unsigned_20short___push_back_28unsigned_20short_20const__29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $5 = 0, $4 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; + (wasm2js_i32$0 = $4, wasm2js_i32$1 = btAlignedObjectArray_unsigned_20short___size_28_29_20const($5 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + if (!((HEAP32[($4 + 4 | 0) >> 2] | 0 | 0) == (btAlignedObjectArray_unsigned_20short___capacity_28_29_20const($5 | 0) | 0 | 0) & 1 | 0)) { + break label$1 + } + btAlignedObjectArray_unsigned_20short___reserve_28int_29($5 | 0, btAlignedObjectArray_unsigned_20short___allocSize_28int_29($5 | 0, btAlignedObjectArray_unsigned_20short___size_28_29_20const($5 | 0) | 0 | 0) | 0 | 0); + } + HEAP16[((HEAP32[($5 + 12 | 0) >> 2] | 0) + ((HEAP32[($5 + 4 | 0) >> 2] | 0) << 1 | 0) | 0) >> 1] = HEAPU16[(HEAP32[($4 + 8 | 0) >> 2] | 0) >> 1] | 0; + HEAP32[($5 + 4 | 0) >> 2] = (HEAP32[($5 + 4 | 0) >> 2] | 0) + 1 | 0; + __stack_pointer = $4 + 16 | 0; + return; + } + + function btAlignedObjectArray_unsigned_20short___operator_5b_5d_28int_29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, $5 = 0, $32 = 0; + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; + label$1 : { + if ((HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0) { + break label$1 + } + __assert_fail(85840 | 0, 78192 | 0, 183 | 0, 83901 | 0); + wasm2js_trap(); + } + label$2 : { + if ((HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) < (btAlignedObjectArray_unsigned_20short___size_28_29_20const($5 | 0) | 0 | 0) & 1 | 0) { + break label$2 + } + __assert_fail(87321 | 0, 78192 | 0, 184 | 0, 83901 | 0); + wasm2js_trap(); + } + $32 = (HEAP32[($5 + 12 | 0) >> 2] | 0) + ((HEAP32[($4 + 8 | 0) >> 2] | 0) << 1 | 0) | 0; + __stack_pointer = $4 + 16 | 0; + return $32 | 0; + } + + function btAlignedObjectArray_unsigned_20int___capacity_28_29_20const($0) { + $0 = $0 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + return HEAP32[((HEAP32[($3 + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0; + } + + function btAlignedObjectArray_unsigned_20int___allocSize_28int_29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, $9 = 0; + $4 = __stack_pointer - 16 | 0; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + label$1 : { + label$2 : { + if (!(HEAP32[($4 + 8 | 0) >> 2] | 0)) { + break label$2 + } + $9 = (HEAP32[($4 + 8 | 0) >> 2] | 0) << 1 | 0; + break label$1; + } + $9 = 1; + } + return $9 | 0; + } + + function btAlignedObjectArray_unsigned_20int___reserve_28int_29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, $5 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; + label$1 : { + if (!((btAlignedObjectArray_unsigned_20int___capacity_28_29_20const($5 | 0) | 0 | 0) < (HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$1 + } + (wasm2js_i32$0 = $4, wasm2js_i32$1 = btAlignedObjectArray_unsigned_20int___allocate_28int_29($5 | 0, HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + btAlignedObjectArray_unsigned_20int___copy_28int_2c_20int_2c_20unsigned_20int__29_20const($5 | 0, 0 | 0, btAlignedObjectArray_unsigned_20int___size_28_29_20const($5 | 0) | 0 | 0, HEAP32[($4 + 4 | 0) >> 2] | 0 | 0); + btAlignedObjectArray_unsigned_20int___destroy_28int_2c_20int_29($5 | 0, 0 | 0, btAlignedObjectArray_unsigned_20int___size_28_29_20const($5 | 0) | 0 | 0); + btAlignedObjectArray_unsigned_20int___deallocate_28_29($5 | 0); + HEAP8[($5 + 16 | 0) >> 0] = 1; + HEAP32[($5 + 12 | 0) >> 2] = HEAP32[($4 + 4 | 0) >> 2] | 0; + HEAP32[($5 + 8 | 0) >> 2] = HEAP32[($4 + 8 | 0) >> 2] | 0; + } + __stack_pointer = $4 + 16 | 0; + return; + } + + function btAlignedObjectArray_unsigned_20short___capacity_28_29_20const($0) { + $0 = $0 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + return HEAP32[((HEAP32[($3 + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0; + } + + function btAlignedObjectArray_unsigned_20short___allocSize_28int_29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, $9 = 0; + $4 = __stack_pointer - 16 | 0; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + label$1 : { + label$2 : { + if (!(HEAP32[($4 + 8 | 0) >> 2] | 0)) { + break label$2 + } + $9 = (HEAP32[($4 + 8 | 0) >> 2] | 0) << 1 | 0; + break label$1; + } + $9 = 1; + } + return $9 | 0; + } + + function btAlignedObjectArray_unsigned_20short___reserve_28int_29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, $5 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; + label$1 : { + if (!((btAlignedObjectArray_unsigned_20short___capacity_28_29_20const($5 | 0) | 0 | 0) < (HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$1 + } + (wasm2js_i32$0 = $4, wasm2js_i32$1 = btAlignedObjectArray_unsigned_20short___allocate_28int_29($5 | 0, HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + btAlignedObjectArray_unsigned_20short___copy_28int_2c_20int_2c_20unsigned_20short__29_20const($5 | 0, 0 | 0, btAlignedObjectArray_unsigned_20short___size_28_29_20const($5 | 0) | 0 | 0, HEAP32[($4 + 4 | 0) >> 2] | 0 | 0); + btAlignedObjectArray_unsigned_20short___destroy_28int_2c_20int_29($5 | 0, 0 | 0, btAlignedObjectArray_unsigned_20short___size_28_29_20const($5 | 0) | 0 | 0); + btAlignedObjectArray_unsigned_20short___deallocate_28_29($5 | 0); + HEAP8[($5 + 16 | 0) >> 0] = 1; + HEAP32[($5 + 12 | 0) >> 2] = HEAP32[($4 + 4 | 0) >> 2] | 0; + HEAP32[($5 + 8 | 0) >> 2] = HEAP32[($4 + 8 | 0) >> 2] | 0; + } + __stack_pointer = $4 + 16 | 0; + return; + } + + function btTriangleMesh__findOrAddVertex_28btVector3_20const__2c_20bool_29($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $5 = 0, $7 = 0, $47 = 0, $135 = 0, $57 = 0, $142 = 0, $154 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5 = __stack_pointer - 80 | 0; + __stack_pointer = $5; + HEAP32[($5 + 72 | 0) >> 2] = $0; + HEAP32[($5 + 68 | 0) >> 2] = $1; + HEAP8[($5 + 67 | 0) >> 0] = $2; + $7 = HEAP32[($5 + 72 | 0) >> 2] | 0; + label$1 : { + label$2 : { + if (!((HEAPU8[($7 + 165 | 0) >> 0] | 0) & 1 | 0)) { + break label$2 + } + label$3 : { + if (!((HEAPU8[($5 + 67 | 0) >> 0] | 0) & 1 | 0)) { + break label$3 + } + HEAP32[($5 + 60 | 0) >> 2] = 0; + label$4 : { + label$5 : while (1) { + if (!((HEAP32[($5 + 60 | 0) >> 2] | 0 | 0) < (btAlignedObjectArray_btVector3___size_28_29_20const($7 + 84 | 0 | 0) | 0 | 0) & 1 | 0)) { + break label$4 + } + operator__28btVector3_20const__2c_20btVector3_20const__29($5 + 44 | 0 | 0, btAlignedObjectArray_btVector3___operator_5b_5d_28int_29($7 + 84 | 0 | 0, HEAP32[($5 + 60 | 0) >> 2] | 0 | 0) | 0 | 0, HEAP32[($5 + 68 | 0) >> 2] | 0 | 0); + label$6 : { + if (!(Math_fround(btVector3__length2_28_29_20const($5 + 44 | 0 | 0)) <= Math_fround(HEAPF32[($7 + 168 | 0) >> 2]) & 1 | 0)) { + break label$6 + } + HEAP32[($5 + 76 | 0) >> 2] = HEAP32[($5 + 60 | 0) >> 2] | 0; + break label$1; + } + HEAP32[($5 + 60 | 0) >> 2] = (HEAP32[($5 + 60 | 0) >> 2] | 0) + 1 | 0; + continue label$5; + }; + } + } + $47 = btAlignedObjectArray_btIndexedMesh___operator_5b_5d_28int_29($7 + 20 | 0 | 0, 0 | 0) | 0; + HEAP32[($47 + 12 | 0) >> 2] = (HEAP32[($47 + 12 | 0) >> 2] | 0) + 1 | 0; + btAlignedObjectArray_btVector3___push_back_28btVector3_20const__29($7 + 84 | 0 | 0, HEAP32[($5 + 68 | 0) >> 2] | 0 | 0); + $57 = btAlignedObjectArray_btVector3___operator_5b_5d_28int_29($7 + 84 | 0 | 0, 0 | 0) | 0; + (wasm2js_i32$0 = btAlignedObjectArray_btIndexedMesh___operator_5b_5d_28int_29($7 + 20 | 0 | 0, 0 | 0) | 0, wasm2js_i32$1 = $57), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $5, wasm2js_i32$1 = (btAlignedObjectArray_btVector3___size_28_29_20const($7 + 84 | 0 | 0) | 0) - 1 | 0), HEAP32[(wasm2js_i32$0 + 76 | 0) >> 2] = wasm2js_i32$1; + break label$1; + } + label$7 : { + if (!((HEAPU8[($5 + 67 | 0) >> 0] | 0) & 1 | 0)) { + break label$7 + } + HEAP32[($5 + 40 | 0) >> 2] = 0; + label$8 : { + label$9 : while (1) { + if (!((HEAP32[($5 + 40 | 0) >> 2] | 0 | 0) < (btAlignedObjectArray_float___size_28_29_20const($7 + 104 | 0 | 0) | 0 | 0) & 1 | 0)) { + break label$8 + } + btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($5 + 24 | 0 | 0, btAlignedObjectArray_float___operator_5b_5d_28int_29($7 + 104 | 0 | 0, HEAP32[($5 + 40 | 0) >> 2] | 0 | 0) | 0 | 0, btAlignedObjectArray_float___operator_5b_5d_28int_29($7 + 104 | 0 | 0, (HEAP32[($5 + 40 | 0) >> 2] | 0) + 1 | 0 | 0) | 0 | 0, btAlignedObjectArray_float___operator_5b_5d_28int_29($7 + 104 | 0 | 0, (HEAP32[($5 + 40 | 0) >> 2] | 0) + 2 | 0 | 0) | 0 | 0) | 0; + operator__28btVector3_20const__2c_20btVector3_20const__29($5 + 8 | 0 | 0, $5 + 24 | 0 | 0, HEAP32[($5 + 68 | 0) >> 2] | 0 | 0); + label$10 : { + if (!(Math_fround(btVector3__length2_28_29_20const($5 + 8 | 0 | 0)) <= Math_fround(HEAPF32[($7 + 168 | 0) >> 2]) & 1 | 0)) { + break label$10 + } + HEAP32[($5 + 76 | 0) >> 2] = (HEAP32[($5 + 40 | 0) >> 2] | 0 | 0) / (3 | 0) | 0; + break label$1; + } + HEAP32[($5 + 40 | 0) >> 2] = (HEAP32[($5 + 40 | 0) >> 2] | 0) + 3 | 0; + continue label$9; + }; + } + } + btAlignedObjectArray_float___push_back_28float_20const__29($7 + 104 | 0 | 0, btVector3__getX_28_29_20const(HEAP32[($5 + 68 | 0) >> 2] | 0 | 0) | 0 | 0); + btAlignedObjectArray_float___push_back_28float_20const__29($7 + 104 | 0 | 0, btVector3__getY_28_29_20const(HEAP32[($5 + 68 | 0) >> 2] | 0 | 0) | 0 | 0); + btAlignedObjectArray_float___push_back_28float_20const__29($7 + 104 | 0 | 0, btVector3__getZ_28_29_20const(HEAP32[($5 + 68 | 0) >> 2] | 0 | 0) | 0 | 0); + $135 = btAlignedObjectArray_btIndexedMesh___operator_5b_5d_28int_29($7 + 20 | 0 | 0, 0 | 0) | 0; + HEAP32[($135 + 12 | 0) >> 2] = (HEAP32[($135 + 12 | 0) >> 2] | 0) + 1 | 0; + $142 = btAlignedObjectArray_float___operator_5b_5d_28int_29($7 + 104 | 0 | 0, 0 | 0) | 0; + (wasm2js_i32$0 = btAlignedObjectArray_btIndexedMesh___operator_5b_5d_28int_29($7 + 20 | 0 | 0, 0 | 0) | 0, wasm2js_i32$1 = $142), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $5, wasm2js_i32$1 = ((btAlignedObjectArray_float___size_28_29_20const($7 + 104 | 0 | 0) | 0 | 0) / (3 | 0) | 0) - 1 | 0), HEAP32[(wasm2js_i32$0 + 76 | 0) >> 2] = wasm2js_i32$1; + } + $154 = HEAP32[($5 + 76 | 0) >> 2] | 0; + __stack_pointer = $5 + 80 | 0; + return $154 | 0; + } + + function btAlignedObjectArray_float___operator_5b_5d_28int_29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, $5 = 0, $32 = 0; + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; + label$1 : { + if ((HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0) { + break label$1 + } + __assert_fail(85840 | 0, 78192 | 0, 183 | 0, 83901 | 0); + wasm2js_trap(); + } + label$2 : { + if ((HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) < (btAlignedObjectArray_float___size_28_29_20const($5 | 0) | 0 | 0) & 1 | 0) { + break label$2 + } + __assert_fail(87321 | 0, 78192 | 0, 184 | 0, 83901 | 0); + wasm2js_trap(); + } + $32 = (HEAP32[($5 + 12 | 0) >> 2] | 0) + ((HEAP32[($4 + 8 | 0) >> 2] | 0) << 2 | 0) | 0; + __stack_pointer = $4 + 16 | 0; + return $32 | 0; + } + + function btTriangleMesh__addTriangle_28btVector3_20const__2c_20btVector3_20const__2c_20btVector3_20const__2c_20bool_29($0, $1, $2, $3, $4) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + $4 = $4 | 0; + var $7 = 0, $9 = 0, $13 = 0; + $7 = __stack_pointer - 32 | 0; + __stack_pointer = $7; + HEAP32[($7 + 28 | 0) >> 2] = $0; + HEAP32[($7 + 24 | 0) >> 2] = $1; + HEAP32[($7 + 20 | 0) >> 2] = $2; + HEAP32[($7 + 16 | 0) >> 2] = $3; + HEAP8[($7 + 15 | 0) >> 0] = $4; + $9 = HEAP32[($7 + 28 | 0) >> 2] | 0; + $13 = btAlignedObjectArray_btIndexedMesh___operator_5b_5d_28int_29($9 + 20 | 0 | 0, 0 | 0) | 0; + HEAP32[$13 >> 2] = (HEAP32[$13 >> 2] | 0) + 1 | 0; + btTriangleMesh__addIndex_28int_29($9 | 0, btTriangleMesh__findOrAddVertex_28btVector3_20const__2c_20bool_29($9 | 0, HEAP32[($7 + 24 | 0) >> 2] | 0 | 0, (HEAPU8[($7 + 15 | 0) >> 0] | 0) & 1 | 0 | 0) | 0 | 0); + btTriangleMesh__addIndex_28int_29($9 | 0, btTriangleMesh__findOrAddVertex_28btVector3_20const__2c_20bool_29($9 | 0, HEAP32[($7 + 20 | 0) >> 2] | 0 | 0, (HEAPU8[($7 + 15 | 0) >> 0] | 0) & 1 | 0 | 0) | 0 | 0); + btTriangleMesh__addIndex_28int_29($9 | 0, btTriangleMesh__findOrAddVertex_28btVector3_20const__2c_20bool_29($9 | 0, HEAP32[($7 + 16 | 0) >> 2] | 0 | 0, (HEAPU8[($7 + 15 | 0) >> 0] | 0) & 1 | 0 | 0) | 0 | 0); + __stack_pointer = $7 + 32 | 0; + return; + } + + function btTriangleMesh__preallocateVertices_28int_29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, $5 = 0; + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; + label$1 : { + label$2 : { + if (!((HEAPU8[($5 + 165 | 0) >> 0] | 0) & 1 | 0)) { + break label$2 + } + btAlignedObjectArray_btVector3___reserve_28int_29($5 + 84 | 0 | 0, HEAP32[($4 + 8 | 0) >> 2] | 0 | 0); + break label$1; + } + btAlignedObjectArray_float___reserve_28int_29($5 + 104 | 0 | 0, HEAP32[($4 + 8 | 0) >> 2] | 0 | 0); + } + __stack_pointer = $4 + 16 | 0; + return; + } + + function btTriangleMesh__preallocateIndices_28int_29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, $5 = 0; + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; + label$1 : { + label$2 : { + if (!((HEAPU8[($5 + 164 | 0) >> 0] | 0) & 1 | 0)) { + break label$2 + } + btAlignedObjectArray_unsigned_20int___reserve_28int_29($5 + 124 | 0 | 0, HEAP32[($4 + 8 | 0) >> 2] | 0 | 0); + break label$1; + } + btAlignedObjectArray_unsigned_20short___reserve_28int_29($5 + 144 | 0 | 0, HEAP32[($4 + 8 | 0) >> 2] | 0 | 0); + } + __stack_pointer = $4 + 16 | 0; + return; + } + + function btAlignedObjectArray_unsigned_20int___allocate_28int_29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, $5 = 0, $11 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[($4 + 8 | 0) >> 2] = $0; + HEAP32[($4 + 4 | 0) >> 2] = $1; + $5 = HEAP32[($4 + 8 | 0) >> 2] | 0; + label$1 : { + label$2 : { + if (!(HEAP32[($4 + 4 | 0) >> 2] | 0)) { + break label$2 + } + (wasm2js_i32$0 = $4, wasm2js_i32$1 = btAlignedAllocator_unsigned_20int_2c_2016u___allocate_28int_2c_20unsigned_20int_20const___29($5 | 0, HEAP32[($4 + 4 | 0) >> 2] | 0 | 0, 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + break label$1; + } + HEAP32[($4 + 12 | 0) >> 2] = 0; + } + $11 = HEAP32[($4 + 12 | 0) >> 2] | 0; + __stack_pointer = $4 + 16 | 0; + return $11 | 0; + } + + function btAlignedObjectArray_unsigned_20int___copy_28int_2c_20int_2c_20unsigned_20int__29_20const($0, $1, $2, $3) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + var $6 = 0, $7 = 0; + $6 = __stack_pointer - 32 | 0; + HEAP32[($6 + 28 | 0) >> 2] = $0; + HEAP32[($6 + 24 | 0) >> 2] = $1; + HEAP32[($6 + 20 | 0) >> 2] = $2; + HEAP32[($6 + 16 | 0) >> 2] = $3; + $7 = HEAP32[($6 + 28 | 0) >> 2] | 0; + HEAP32[($6 + 12 | 0) >> 2] = HEAP32[($6 + 24 | 0) >> 2] | 0; + label$1 : { + label$2 : while (1) { + if (!((HEAP32[($6 + 12 | 0) >> 2] | 0 | 0) < (HEAP32[($6 + 20 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$1 + } + HEAP32[((HEAP32[($6 + 16 | 0) >> 2] | 0) + ((HEAP32[($6 + 12 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = HEAP32[((HEAP32[($7 + 12 | 0) >> 2] | 0) + ((HEAP32[($6 + 12 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; + HEAP32[($6 + 12 | 0) >> 2] = (HEAP32[($6 + 12 | 0) >> 2] | 0) + 1 | 0; + continue label$2; + }; + } + return; + } + + function btAlignedObjectArray_unsigned_20int___destroy_28int_2c_20int_29($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $5 = 0; + $5 = __stack_pointer - 16 | 0; + HEAP32[($5 + 12 | 0) >> 2] = $0; + HEAP32[($5 + 8 | 0) >> 2] = $1; + HEAP32[($5 + 4 | 0) >> 2] = $2; + HEAP32[($5 + 12 | 0) >> 2] | 0; + HEAP32[$5 >> 2] = HEAP32[($5 + 8 | 0) >> 2] | 0; + label$1 : { + label$2 : while (1) { + if (!((HEAP32[$5 >> 2] | 0 | 0) < (HEAP32[($5 + 4 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$1 + } + HEAP32[$5 >> 2] = (HEAP32[$5 >> 2] | 0) + 1 | 0; + continue label$2; + }; + } + return; + } + + function btAlignedObjectArray_unsigned_20int___deallocate_28_29($0) { + $0 = $0 | 0; + var $4 = 0, $3 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + label$1 : { + if (!((HEAP32[($4 + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + label$2 : { + if (!((HEAPU8[($4 + 16 | 0) >> 0] | 0) & 1 | 0)) { + break label$2 + } + btAlignedAllocator_unsigned_20int_2c_2016u___deallocate_28unsigned_20int__29($4 | 0, HEAP32[($4 + 12 | 0) >> 2] | 0 | 0); + } + HEAP32[($4 + 12 | 0) >> 2] = 0; + } + __stack_pointer = $3 + 16 | 0; + return; + } + + function btAlignedObjectArray_unsigned_20short___allocate_28int_29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, $5 = 0, $11 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[($4 + 8 | 0) >> 2] = $0; + HEAP32[($4 + 4 | 0) >> 2] = $1; + $5 = HEAP32[($4 + 8 | 0) >> 2] | 0; + label$1 : { + label$2 : { + if (!(HEAP32[($4 + 4 | 0) >> 2] | 0)) { + break label$2 + } + (wasm2js_i32$0 = $4, wasm2js_i32$1 = btAlignedAllocator_unsigned_20short_2c_2016u___allocate_28int_2c_20unsigned_20short_20const___29($5 | 0, HEAP32[($4 + 4 | 0) >> 2] | 0 | 0, 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + break label$1; + } + HEAP32[($4 + 12 | 0) >> 2] = 0; + } + $11 = HEAP32[($4 + 12 | 0) >> 2] | 0; + __stack_pointer = $4 + 16 | 0; + return $11 | 0; + } + + function btAlignedObjectArray_unsigned_20short___copy_28int_2c_20int_2c_20unsigned_20short__29_20const($0, $1, $2, $3) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + var $6 = 0, $7 = 0; + $6 = __stack_pointer - 32 | 0; + HEAP32[($6 + 28 | 0) >> 2] = $0; + HEAP32[($6 + 24 | 0) >> 2] = $1; + HEAP32[($6 + 20 | 0) >> 2] = $2; + HEAP32[($6 + 16 | 0) >> 2] = $3; + $7 = HEAP32[($6 + 28 | 0) >> 2] | 0; + HEAP32[($6 + 12 | 0) >> 2] = HEAP32[($6 + 24 | 0) >> 2] | 0; + label$1 : { + label$2 : while (1) { + if (!((HEAP32[($6 + 12 | 0) >> 2] | 0 | 0) < (HEAP32[($6 + 20 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$1 + } + HEAP16[((HEAP32[($6 + 16 | 0) >> 2] | 0) + ((HEAP32[($6 + 12 | 0) >> 2] | 0) << 1 | 0) | 0) >> 1] = HEAPU16[((HEAP32[($7 + 12 | 0) >> 2] | 0) + ((HEAP32[($6 + 12 | 0) >> 2] | 0) << 1 | 0) | 0) >> 1] | 0; + HEAP32[($6 + 12 | 0) >> 2] = (HEAP32[($6 + 12 | 0) >> 2] | 0) + 1 | 0; + continue label$2; + }; + } + return; + } + + function btAlignedObjectArray_unsigned_20short___destroy_28int_2c_20int_29($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $5 = 0; + $5 = __stack_pointer - 16 | 0; + HEAP32[($5 + 12 | 0) >> 2] = $0; + HEAP32[($5 + 8 | 0) >> 2] = $1; + HEAP32[($5 + 4 | 0) >> 2] = $2; + HEAP32[($5 + 12 | 0) >> 2] | 0; + HEAP32[$5 >> 2] = HEAP32[($5 + 8 | 0) >> 2] | 0; + label$1 : { + label$2 : while (1) { + if (!((HEAP32[$5 >> 2] | 0 | 0) < (HEAP32[($5 + 4 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$1 + } + HEAP32[$5 >> 2] = (HEAP32[$5 >> 2] | 0) + 1 | 0; + continue label$2; + }; + } + return; + } + + function btAlignedObjectArray_unsigned_20short___deallocate_28_29($0) { + $0 = $0 | 0; + var $4 = 0, $3 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + label$1 : { + if (!((HEAP32[($4 + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + label$2 : { + if (!((HEAPU8[($4 + 16 | 0) >> 0] | 0) & 1 | 0)) { + break label$2 + } + btAlignedAllocator_unsigned_20short_2c_2016u___deallocate_28unsigned_20short__29($4 | 0, HEAP32[($4 + 12 | 0) >> 2] | 0 | 0); + } + HEAP32[($4 + 12 | 0) >> 2] = 0; + } + __stack_pointer = $3 + 16 | 0; + return; + } + + function btTriangleMesh___btTriangleMesh_28_29($0) { + $0 = $0 | 0; + var $4 = 0, $3 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + HEAP32[$4 >> 2] = 100720 + 8 | 0; + btAlignedObjectArray_unsigned_20short____btAlignedObjectArray_28_29($4 + 144 | 0 | 0) | 0; + btAlignedObjectArray_unsigned_20int____btAlignedObjectArray_28_29($4 + 124 | 0 | 0) | 0; + btAlignedObjectArray_float____btAlignedObjectArray_28_29($4 + 104 | 0 | 0) | 0; + btAlignedObjectArray_btVector3____btAlignedObjectArray_28_29($4 + 84 | 0 | 0) | 0; + btTriangleIndexVertexArray___btTriangleIndexVertexArray_28_29($4 | 0) | 0; + __stack_pointer = $3 + 16 | 0; + return $4 | 0; + } + + function btAlignedObjectArray_unsigned_20short____btAlignedObjectArray_28_29($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + btAlignedObjectArray_unsigned_20short___clear_28_29($4 | 0); + __stack_pointer = $3 + 16 | 0; + return $4 | 0; + } + + function btAlignedObjectArray_unsigned_20int____btAlignedObjectArray_28_29($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + btAlignedObjectArray_unsigned_20int___clear_28_29($4 | 0); + __stack_pointer = $3 + 16 | 0; + return $4 | 0; + } + + function btTriangleMesh___btTriangleMesh_28_29_1($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + btTriangleMesh___btTriangleMesh_28_29($4 | 0) | 0; + btTriangleIndexVertexArray__operator_20delete_28void__29($4 | 0); + __stack_pointer = $3 + 16 | 0; + return; + } + + function btTriangleIndexVertexArray__operator_20delete_28void__29($0) { + $0 = $0 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + btAlignedFreeInternal_28void__29(HEAP32[($3 + 12 | 0) >> 2] | 0 | 0); + __stack_pointer = $3 + 16 | 0; + return; + } + + function btTriangleIndexVertexArray__unLockVertexBase_28int_29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0; + $4 = __stack_pointer - 16 | 0; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + return; + } + + function btTriangleIndexVertexArray__unLockReadOnlyVertexBase_28int_29_20const($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0; + $4 = __stack_pointer - 16 | 0; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + return; + } + + function btTriangleIndexVertexArray__getNumSubParts_28_29_20const($0) { + $0 = $0 | 0; + var $3 = 0, $7 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $7 = btAlignedObjectArray_btIndexedMesh___size_28_29_20const((HEAP32[($3 + 12 | 0) >> 2] | 0) + 20 | 0 | 0) | 0; + __stack_pointer = $3 + 16 | 0; + return $7 | 0; + } + + function btStridingMeshInterface__calculateSerializeBufferSize_28_29_20const($0) { + $0 = $0 | 0; + HEAP32[((__stack_pointer - 16 | 0) + 12 | 0) >> 2] = $0; + return 28 | 0; + } + + function btAlignedAllocator_btIndexedMesh_2c_2016u___btAlignedAllocator_28_29($0) { + $0 = $0 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + return HEAP32[($3 + 12 | 0) >> 2] | 0 | 0; + } + + function btAlignedObjectArray_btIndexedMesh___init_28_29($0) { + $0 = $0 | 0; + var $4 = 0, $3 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + HEAP8[($4 + 16 | 0) >> 0] = 1; + HEAP32[($4 + 12 | 0) >> 2] = 0; + HEAP32[($4 + 4 | 0) >> 2] = 0; + HEAP32[($4 + 8 | 0) >> 2] = 0; + return; + } + + function btAlignedObjectArray_unsigned_20short___clear_28_29($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + btAlignedObjectArray_unsigned_20short___destroy_28int_2c_20int_29($4 | 0, 0 | 0, btAlignedObjectArray_unsigned_20short___size_28_29_20const($4 | 0) | 0 | 0); + btAlignedObjectArray_unsigned_20short___deallocate_28_29($4 | 0); + btAlignedObjectArray_unsigned_20short___init_28_29($4 | 0); + __stack_pointer = $3 + 16 | 0; + return; + } + + function btAlignedObjectArray_unsigned_20int___clear_28_29($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + btAlignedObjectArray_unsigned_20int___destroy_28int_2c_20int_29($4 | 0, 0 | 0, btAlignedObjectArray_unsigned_20int___size_28_29_20const($4 | 0) | 0 | 0); + btAlignedObjectArray_unsigned_20int___deallocate_28_29($4 | 0); + btAlignedObjectArray_unsigned_20int___init_28_29($4 | 0); + __stack_pointer = $3 + 16 | 0; + return; + } + + function btAlignedAllocator_unsigned_20short_2c_2016u___deallocate_28unsigned_20short__29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0; + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + btAlignedFreeInternal_28void__29(HEAP32[($4 + 8 | 0) >> 2] | 0 | 0); + __stack_pointer = $4 + 16 | 0; + return; + } + + function btAlignedAllocator_unsigned_20int_2c_2016u___deallocate_28unsigned_20int__29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0; + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + btAlignedFreeInternal_28void__29(HEAP32[($4 + 8 | 0) >> 2] | 0 | 0); + __stack_pointer = $4 + 16 | 0; + return; + } + + function btAlignedObjectArray_btIndexedMesh___allocate_28int_29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, $5 = 0, $11 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[($4 + 8 | 0) >> 2] = $0; + HEAP32[($4 + 4 | 0) >> 2] = $1; + $5 = HEAP32[($4 + 8 | 0) >> 2] | 0; + label$1 : { + label$2 : { + if (!(HEAP32[($4 + 4 | 0) >> 2] | 0)) { + break label$2 + } + (wasm2js_i32$0 = $4, wasm2js_i32$1 = btAlignedAllocator_btIndexedMesh_2c_2016u___allocate_28int_2c_20btIndexedMesh_20const___29($5 | 0, HEAP32[($4 + 4 | 0) >> 2] | 0 | 0, 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + break label$1; + } + HEAP32[($4 + 12 | 0) >> 2] = 0; + } + $11 = HEAP32[($4 + 12 | 0) >> 2] | 0; + __stack_pointer = $4 + 16 | 0; + return $11 | 0; + } + + function btAlignedObjectArray_btIndexedMesh___copy_28int_2c_20int_2c_20btIndexedMesh__29_20const($0, $1, $2, $3) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + var $6 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, $22 = 0, $27 = 0, $29 = 0, $33 = 0, $37 = 0, $7 = 0, $105 = 0, $115 = 0, $125 = 0, $135 = 0; + $6 = __stack_pointer - 32 | 0; + __stack_pointer = $6; + HEAP32[($6 + 28 | 0) >> 2] = $0; + HEAP32[($6 + 24 | 0) >> 2] = $1; + HEAP32[($6 + 20 | 0) >> 2] = $2; + HEAP32[($6 + 16 | 0) >> 2] = $3; + $7 = HEAP32[($6 + 28 | 0) >> 2] | 0; + HEAP32[($6 + 12 | 0) >> 2] = HEAP32[($6 + 24 | 0) >> 2] | 0; + label$1 : { + label$2 : while (1) { + if (!((HEAP32[($6 + 12 | 0) >> 2] | 0 | 0) < (HEAP32[($6 + 20 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$1 + } + $22 = btIndexedMesh__operator_20new_28unsigned_20long_2c_20void__29(32 | 0, (HEAP32[($6 + 16 | 0) >> 2] | 0) + ((HEAP32[($6 + 12 | 0) >> 2] | 0) << 5 | 0) | 0 | 0) | 0; + $27 = (HEAP32[($7 + 12 | 0) >> 2] | 0) + ((HEAP32[($6 + 12 | 0) >> 2] | 0) << 5 | 0) | 0; + i64toi32_i32$2 = $27; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $105 = i64toi32_i32$0; + i64toi32_i32$0 = $22; + HEAP32[i64toi32_i32$0 >> 2] = $105; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $29 = 24; + i64toi32_i32$2 = i64toi32_i32$2 + $29 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $115 = i64toi32_i32$1; + i64toi32_i32$1 = $22 + $29 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $115; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + $33 = 16; + i64toi32_i32$2 = $27 + $33 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $125 = i64toi32_i32$0; + i64toi32_i32$0 = $22 + $33 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $125; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $37 = 8; + i64toi32_i32$2 = $27 + $37 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $135 = i64toi32_i32$1; + i64toi32_i32$1 = $22 + $37 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $135; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($6 + 12 | 0) >> 2] = (HEAP32[($6 + 12 | 0) >> 2] | 0) + 1 | 0; + continue label$2; + }; + } + __stack_pointer = $6 + 32 | 0; + return; + } + + function btAlignedObjectArray_btIndexedMesh___destroy_28int_2c_20int_29($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $5 = 0; + $5 = __stack_pointer - 16 | 0; + HEAP32[($5 + 12 | 0) >> 2] = $0; + HEAP32[($5 + 8 | 0) >> 2] = $1; + HEAP32[($5 + 4 | 0) >> 2] = $2; + HEAP32[($5 + 12 | 0) >> 2] | 0; + HEAP32[$5 >> 2] = HEAP32[($5 + 8 | 0) >> 2] | 0; + label$1 : { + label$2 : while (1) { + if (!((HEAP32[$5 >> 2] | 0 | 0) < (HEAP32[($5 + 4 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$1 + } + HEAP32[$5 >> 2] = (HEAP32[$5 >> 2] | 0) + 1 | 0; + continue label$2; + }; + } + return; + } + + function btAlignedObjectArray_btIndexedMesh___deallocate_28_29($0) { + $0 = $0 | 0; + var $4 = 0, $3 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + label$1 : { + if (!((HEAP32[($4 + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + label$2 : { + if (!((HEAPU8[($4 + 16 | 0) >> 0] | 0) & 1 | 0)) { + break label$2 + } + btAlignedAllocator_btIndexedMesh_2c_2016u___deallocate_28btIndexedMesh__29($4 | 0, HEAP32[($4 + 12 | 0) >> 2] | 0 | 0); + } + HEAP32[($4 + 12 | 0) >> 2] = 0; + } + __stack_pointer = $3 + 16 | 0; + return; + } + + function btAlignedAllocator_btIndexedMesh_2c_2016u___allocate_28int_2c_20btIndexedMesh_20const___29($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $5 = 0, $10 = 0; + $5 = __stack_pointer - 16 | 0; + __stack_pointer = $5; + HEAP32[($5 + 12 | 0) >> 2] = $0; + HEAP32[($5 + 8 | 0) >> 2] = $1; + HEAP32[($5 + 4 | 0) >> 2] = $2; + $10 = btAlignedAllocInternal_28unsigned_20long_2c_20int_29((HEAP32[($5 + 8 | 0) >> 2] | 0) << 5 | 0 | 0, 16 | 0) | 0; + __stack_pointer = $5 + 16 | 0; + return $10 | 0; + } + + function btAlignedAllocator_btIndexedMesh_2c_2016u___deallocate_28btIndexedMesh__29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0; + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + btAlignedFreeInternal_28void__29(HEAP32[($4 + 8 | 0) >> 2] | 0 | 0); + __stack_pointer = $4 + 16 | 0; + return; + } + + function btAlignedAllocator_unsigned_20int_2c_2016u___allocate_28int_2c_20unsigned_20int_20const___29($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $5 = 0, $10 = 0; + $5 = __stack_pointer - 16 | 0; + __stack_pointer = $5; + HEAP32[($5 + 12 | 0) >> 2] = $0; + HEAP32[($5 + 8 | 0) >> 2] = $1; + HEAP32[($5 + 4 | 0) >> 2] = $2; + $10 = btAlignedAllocInternal_28unsigned_20long_2c_20int_29((HEAP32[($5 + 8 | 0) >> 2] | 0) << 2 | 0 | 0, 16 | 0) | 0; + __stack_pointer = $5 + 16 | 0; + return $10 | 0; + } + + function btAlignedAllocator_unsigned_20short_2c_2016u___allocate_28int_2c_20unsigned_20short_20const___29($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $5 = 0, $10 = 0; + $5 = __stack_pointer - 16 | 0; + __stack_pointer = $5; + HEAP32[($5 + 12 | 0) >> 2] = $0; + HEAP32[($5 + 8 | 0) >> 2] = $1; + HEAP32[($5 + 4 | 0) >> 2] = $2; + $10 = btAlignedAllocInternal_28unsigned_20long_2c_20int_29((HEAP32[($5 + 8 | 0) >> 2] | 0) << 1 | 0 | 0, 16 | 0) | 0; + __stack_pointer = $5 + 16 | 0; + return $10 | 0; + } + + function _GLOBAL__sub_I_btTriangleMesh_cpp() { + __cxx_global_var_init_54(); + return; + } + + function __cxx_global_var_init_55() { + btInfMaskConverter__btInfMaskConverter_28int_29(114308 | 0, 2139095040 | 0) | 0; + return; + } + + function btTriangleMeshShape__btTriangleMeshShape_28btStridingMeshInterface__29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, $5 = 0, $15 = 0, $21 = 0, $28 = 0; + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[($4 + 8 | 0) >> 2] = $0; + HEAP32[($4 + 4 | 0) >> 2] = $1; + $5 = HEAP32[($4 + 8 | 0) >> 2] | 0; + HEAP32[($4 + 12 | 0) >> 2] = $5; + btConcaveShape__btConcaveShape_28_29($5 | 0) | 0; + HEAP32[$5 >> 2] = 100820 + 8 | 0; + btVector3__btVector3_28_29($5 + 24 | 0 | 0) | 0; + btVector3__btVector3_28_29($5 + 40 | 0 | 0) | 0; + HEAP32[($5 + 56 | 0) >> 2] = HEAP32[($4 + 4 | 0) >> 2] | 0; + HEAP32[($5 + 4 | 0) >> 2] = 21; + $15 = HEAP32[($4 + 4 | 0) >> 2] | 0; + label$1 : { + label$2 : { + if (!((FUNCTION_TABLE[HEAP32[((HEAP32[$15 >> 2] | 0) + 40 | 0) >> 2] | 0 | 0]($15) | 0) & 1 | 0)) { + break label$2 + } + $21 = HEAP32[($4 + 4 | 0) >> 2] | 0; + FUNCTION_TABLE[HEAP32[((HEAP32[$21 >> 2] | 0) + 48 | 0) >> 2] | 0 | 0]($21, $5 + 24 | 0, $5 + 40 | 0); + break label$1; + } + btTriangleMeshShape__recalcLocalAabb_28_29($5 | 0); + } + $28 = HEAP32[($4 + 12 | 0) >> 2] | 0; + __stack_pointer = $4 + 16 | 0; + return $28 | 0; + } + + function btTriangleMeshShape__recalcLocalAabb_28_29($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, $83 = 0, $58 = Math_fround(0), $286 = 0, $290 = 0, $102 = Math_fround(0), wasm2js_i32$0 = 0, wasm2js_f32$0 = Math_fround(0); + $3 = __stack_pointer - 80 | 0; + __stack_pointer = $3; + HEAP32[($3 + 76 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 76 | 0) >> 2] | 0; + HEAP32[($3 + 72 | 0) >> 2] = 0; + label$1 : { + label$2 : while (1) { + if (!((HEAP32[($3 + 72 | 0) >> 2] | 0 | 0) < (3 | 0) & 1 | 0)) { + break label$1 + } + HEAPF32[($3 + 52 | 0) >> 2] = Math_fround(0 | 0); + HEAPF32[($3 + 48 | 0) >> 2] = Math_fround(0 | 0); + HEAPF32[($3 + 44 | 0) >> 2] = Math_fround(0 | 0); + btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($3 + 56 | 0 | 0, $3 + 52 | 0 | 0, $3 + 48 | 0 | 0, $3 + 44 | 0 | 0) | 0; + (wasm2js_i32$0 = (btVector3__operator_20float__28_29($3 + 56 | 0 | 0) | 0) + ((HEAP32[($3 + 72 | 0) >> 2] | 0) << 2 | 0) | 0, wasm2js_f32$0 = Math_fround(1.0)), HEAPF32[wasm2js_i32$0 >> 2] = wasm2js_f32$0; + FUNCTION_TABLE[HEAP32[((HEAP32[$4 >> 2] | 0) + 68 | 0) >> 2] | 0 | 0]($3 + 24 | 0, $4, $3 + 56 | 0); + $58 = Math_fround(Math_fround(HEAPF32[((btVector3__operator_20float__28_29($3 + 24 | 0 | 0) | 0) + ((HEAP32[($3 + 72 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2]) + Math_fround(HEAPF32[($4 + 20 | 0) >> 2])); + (wasm2js_i32$0 = (btVector3__operator_20float__28_29($4 + 40 | 0 | 0) | 0) + ((HEAP32[($3 + 72 | 0) >> 2] | 0) << 2 | 0) | 0, wasm2js_f32$0 = $58), HEAPF32[wasm2js_i32$0 >> 2] = wasm2js_f32$0; + (wasm2js_i32$0 = (btVector3__operator_20float__28_29($3 + 56 | 0 | 0) | 0) + ((HEAP32[($3 + 72 | 0) >> 2] | 0) << 2 | 0) | 0, wasm2js_f32$0 = Math_fround(-1.0)), HEAPF32[wasm2js_i32$0 >> 2] = wasm2js_f32$0; + FUNCTION_TABLE[HEAP32[((HEAP32[$4 >> 2] | 0) + 68 | 0) >> 2] | 0 | 0]($3 + 8 | 0, $4, $3 + 56 | 0); + $83 = 8; + i64toi32_i32$2 = ($3 + 8 | 0) + $83 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $286 = i64toi32_i32$0; + i64toi32_i32$0 = ($3 + 24 | 0) + $83 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $286; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$2 = $3; + i64toi32_i32$1 = HEAP32[($3 + 8 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($3 + 12 | 0) >> 2] | 0; + $290 = i64toi32_i32$1; + i64toi32_i32$1 = $3; + HEAP32[($3 + 24 | 0) >> 2] = $290; + HEAP32[($3 + 28 | 0) >> 2] = i64toi32_i32$0; + $102 = Math_fround(Math_fround(HEAPF32[((btVector3__operator_20float__28_29($3 + 24 | 0 | 0) | 0) + ((HEAP32[($3 + 72 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2]) - Math_fround(HEAPF32[($4 + 20 | 0) >> 2])); + (wasm2js_i32$0 = (btVector3__operator_20float__28_29($4 + 24 | 0 | 0) | 0) + ((HEAP32[($3 + 72 | 0) >> 2] | 0) << 2 | 0) | 0, wasm2js_f32$0 = $102), HEAPF32[wasm2js_i32$0 >> 2] = wasm2js_f32$0; + HEAP32[($3 + 72 | 0) >> 2] = (HEAP32[($3 + 72 | 0) >> 2] | 0) + 1 | 0; + continue label$2; + }; + } + __stack_pointer = $3 + 80 | 0; + return; + } + + function btTriangleMeshShape___btTriangleMeshShape_28_29($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + btConcaveShape___btConcaveShape_28_29($4 | 0) | 0; + __stack_pointer = $3 + 16 | 0; + return $4 | 0; + } + + function btTriangleMeshShape___btTriangleMeshShape_28_29_1($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + FUNCTION_TABLE[1001 | 0]($4) | 0; + btTriangleMeshShape__operator_20delete_28void__29($4 | 0); + __stack_pointer = $3 + 16 | 0; + return; + } + + function btTriangleMeshShape__operator_20delete_28void__29($0) { + $0 = $0 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + btAlignedFreeInternal_28void__29(HEAP32[($3 + 12 | 0) >> 2] | 0 | 0); + __stack_pointer = $3 + 16 | 0; + return; + } + + function btTriangleMeshShape__getAabb_28btTransform_20const__2c_20btVector3__2c_20btVector3__29_20const($0, $1, $2, $3) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + var $6 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $7 = 0, i64toi32_i32$2 = 0, $111 = 0, $113 = 0, $128 = 0, $130 = 0, $349 = 0, $362 = 0, $383 = 0, $396 = 0, wasm2js_i32$0 = 0, wasm2js_f32$0 = Math_fround(0); + $6 = __stack_pointer - 240 | 0; + __stack_pointer = $6; + HEAP32[($6 + 236 | 0) >> 2] = $0; + HEAP32[($6 + 232 | 0) >> 2] = $1; + HEAP32[($6 + 228 | 0) >> 2] = $2; + HEAP32[($6 + 224 | 0) >> 2] = $3; + $7 = HEAP32[($6 + 236 | 0) >> 2] | 0; + HEAPF32[($6 + 204 | 0) >> 2] = Math_fround(.5); + operator__28btVector3_20const__2c_20btVector3_20const__29($6 + 188 | 0 | 0, $7 + 40 | 0 | 0, $7 + 24 | 0 | 0); + operator__28float_20const__2c_20btVector3_20const__29($6 + 208 | 0 | 0, $6 + 204 | 0 | 0, $6 + 188 | 0 | 0); + (wasm2js_i32$0 = $6, wasm2js_f32$0 = Math_fround(FUNCTION_TABLE[HEAP32[((HEAP32[$7 >> 2] | 0) + 48 | 0) >> 2] | 0 | 0]($7))), HEAPF32[(wasm2js_i32$0 + 168 | 0) >> 2] = wasm2js_f32$0; + (wasm2js_i32$0 = $6, wasm2js_f32$0 = Math_fround(FUNCTION_TABLE[HEAP32[((HEAP32[$7 >> 2] | 0) + 48 | 0) >> 2] | 0 | 0]($7))), HEAPF32[(wasm2js_i32$0 + 164 | 0) >> 2] = wasm2js_f32$0; + (wasm2js_i32$0 = $6, wasm2js_f32$0 = Math_fround(FUNCTION_TABLE[HEAP32[((HEAP32[$7 >> 2] | 0) + 48 | 0) >> 2] | 0 | 0]($7))), HEAPF32[(wasm2js_i32$0 + 160 | 0) >> 2] = wasm2js_f32$0; + btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($6 + 172 | 0 | 0, $6 + 168 | 0 | 0, $6 + 164 | 0 | 0, $6 + 160 | 0 | 0) | 0; + btVector3__operator___28btVector3_20const__29_1($6 + 208 | 0 | 0, $6 + 172 | 0 | 0) | 0; + HEAPF32[($6 + 140 | 0) >> 2] = Math_fround(.5); + operator__28btVector3_20const__2c_20btVector3_20const__29_2($6 + 124 | 0 | 0, $7 + 40 | 0 | 0, $7 + 24 | 0 | 0); + operator__28float_20const__2c_20btVector3_20const__29($6 + 144 | 0 | 0, $6 + 140 | 0 | 0, $6 + 124 | 0 | 0); + btMatrix3x3__absolute_28_29_20const($6 + 76 | 0 | 0, btTransform__getBasis_28_29_20const(HEAP32[($6 + 232 | 0) >> 2] | 0 | 0) | 0 | 0); + btTransform__operator_28_29_28btVector3_20const__29_20const($6 + 60 | 0 | 0, HEAP32[($6 + 232 | 0) >> 2] | 0 | 0, $6 + 144 | 0 | 0); + btVector3__dot3_28btVector3_20const__2c_20btVector3_20const__2c_20btVector3_20const__29_20const($6 + 44 | 0 | 0, $6 + 208 | 0 | 0, btMatrix3x3__operator_5b_5d_28int_29($6 + 76 | 0 | 0, 0 | 0) | 0 | 0, btMatrix3x3__operator_5b_5d_28int_29($6 + 76 | 0 | 0, 1 | 0) | 0 | 0, btMatrix3x3__operator_5b_5d_28int_29($6 + 76 | 0 | 0, 2 | 0) | 0 | 0); + operator__28btVector3_20const__2c_20btVector3_20const__29($6 + 28 | 0 | 0, $6 + 60 | 0 | 0, $6 + 44 | 0 | 0); + $111 = HEAP32[($6 + 228 | 0) >> 2] | 0; + i64toi32_i32$2 = $6; + i64toi32_i32$0 = HEAP32[($6 + 28 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($6 + 32 | 0) >> 2] | 0; + $349 = i64toi32_i32$0; + i64toi32_i32$0 = $111; + HEAP32[i64toi32_i32$0 >> 2] = $349; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $113 = 8; + i64toi32_i32$2 = ($6 + 28 | 0) + $113 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $362 = i64toi32_i32$1; + i64toi32_i32$1 = $111 + $113 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $362; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + operator__28btVector3_20const__2c_20btVector3_20const__29_2($6 + 12 | 0 | 0, $6 + 60 | 0 | 0, $6 + 44 | 0 | 0); + $128 = HEAP32[($6 + 224 | 0) >> 2] | 0; + i64toi32_i32$2 = $6; + i64toi32_i32$0 = HEAP32[($6 + 12 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($6 + 16 | 0) >> 2] | 0; + $383 = i64toi32_i32$0; + i64toi32_i32$0 = $128; + HEAP32[i64toi32_i32$0 >> 2] = $383; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $130 = 8; + i64toi32_i32$2 = ($6 + 12 | 0) + $130 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $396 = i64toi32_i32$1; + i64toi32_i32$1 = $128 + $130 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $396; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + __stack_pointer = $6 + 240 | 0; + return; + } + + function btTriangleMeshShape__setLocalScaling_28btVector3_20const__29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, $5 = 0; + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; + btStridingMeshInterface__setScaling_28btVector3_20const__29(HEAP32[($5 + 56 | 0) >> 2] | 0 | 0, HEAP32[($4 + 8 | 0) >> 2] | 0 | 0); + btTriangleMeshShape__recalcLocalAabb_28_29($5 | 0); + __stack_pointer = $4 + 16 | 0; + return; + } + + function btTriangleMeshShape__getLocalScaling_28_29_20const($0) { + $0 = $0 | 0; + var $3 = 0, $6 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $6 = btStridingMeshInterface__getScaling_28_29_20const(HEAP32[((HEAP32[($3 + 12 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0 | 0) | 0; + __stack_pointer = $3 + 16 | 0; + return $6 | 0; + } + + function btTriangleMeshShape__processAllTriangles_28btTriangleCallback__2c_20btVector3_20const__2c_20btVector3_20const__29_20const($0, $1, $2, $3) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + var $6 = 0, $14 = 0, $7 = 0; + $6 = __stack_pointer - 64 | 0; + __stack_pointer = $6; + HEAP32[($6 + 60 | 0) >> 2] = $0; + HEAP32[($6 + 56 | 0) >> 2] = $1; + HEAP32[($6 + 52 | 0) >> 2] = $2; + HEAP32[($6 + 48 | 0) >> 2] = $3; + $7 = HEAP32[($6 + 60 | 0) >> 2] | 0; + btTriangleMeshShape__processAllTriangles_28btTriangleCallback__2c_20btVector3_20const__2c_20btVector3_20const__29_20const__FilteredCallback__FilteredCallback_28btTriangleCallback__2c_20btVector3_20const__2c_20btVector3_20const__29($6 + 8 | 0 | 0, HEAP32[($6 + 56 | 0) >> 2] | 0 | 0, HEAP32[($6 + 52 | 0) >> 2] | 0 | 0, HEAP32[($6 + 48 | 0) >> 2] | 0 | 0) | 0; + $14 = HEAP32[($7 + 56 | 0) >> 2] | 0; + FUNCTION_TABLE[HEAP32[((HEAP32[$14 >> 2] | 0) + 8 | 0) >> 2] | 0 | 0]($14, $6 + 8 | 0, HEAP32[($6 + 52 | 0) >> 2] | 0, HEAP32[($6 + 48 | 0) >> 2] | 0); + btTriangleMeshShape__processAllTriangles_28btTriangleCallback__2c_20btVector3_20const__2c_20btVector3_20const__29_20const__FilteredCallback___FilteredCallback_28_29($6 + 8 | 0 | 0) | 0; + __stack_pointer = $6 + 64 | 0; + return; + } + + function btTriangleMeshShape__processAllTriangles_28btTriangleCallback__2c_20btVector3_20const__2c_20btVector3_20const__29_20const__FilteredCallback__FilteredCallback_28btTriangleCallback__2c_20btVector3_20const__2c_20btVector3_20const__29($0, $1, $2, $3) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + var i64toi32_i32$2 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $6 = 0, $7 = 0, $13 = 0, $16 = 0, $21 = 0, $24 = 0, $64 = 0, $74 = 0, $83 = 0, $93 = 0; + $6 = __stack_pointer - 16 | 0; + __stack_pointer = $6; + HEAP32[($6 + 12 | 0) >> 2] = $0; + HEAP32[($6 + 8 | 0) >> 2] = $1; + HEAP32[($6 + 4 | 0) >> 2] = $2; + HEAP32[$6 >> 2] = $3; + $7 = HEAP32[($6 + 12 | 0) >> 2] | 0; + btInternalTriangleIndexCallback__btInternalTriangleIndexCallback_28_29($7 | 0) | 0; + HEAP32[$7 >> 2] = 100940 + 8 | 0; + HEAP32[($7 + 4 | 0) >> 2] = HEAP32[($6 + 8 | 0) >> 2] | 0; + $13 = $7 + 8 | 0; + i64toi32_i32$2 = HEAP32[($6 + 4 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $64 = i64toi32_i32$0; + i64toi32_i32$0 = $13; + HEAP32[i64toi32_i32$0 >> 2] = $64; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $16 = 8; + i64toi32_i32$2 = i64toi32_i32$2 + $16 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $74 = i64toi32_i32$1; + i64toi32_i32$1 = $13 + $16 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $74; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + $21 = $7 + 24 | 0; + i64toi32_i32$2 = HEAP32[$6 >> 2] | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $83 = i64toi32_i32$0; + i64toi32_i32$0 = $21; + HEAP32[i64toi32_i32$0 >> 2] = $83; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $24 = 8; + i64toi32_i32$2 = i64toi32_i32$2 + $24 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $93 = i64toi32_i32$1; + i64toi32_i32$1 = $21 + $24 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $93; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + __stack_pointer = $6 + 16 | 0; + return $7 | 0; + } + + function btTriangleMeshShape__processAllTriangles_28btTriangleCallback__2c_20btVector3_20const__2c_20btVector3_20const__29_20const__FilteredCallback___FilteredCallback_28_29($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + btInternalTriangleIndexCallback___btInternalTriangleIndexCallback_28_29($4 | 0) | 0; + __stack_pointer = $3 + 16 | 0; + return $4 | 0; + } + + function btTriangleMeshShape__calculateLocalInertia_28float_2c_20btVector3__29_20const($0, $1, $2) { + $0 = $0 | 0; + $1 = Math_fround($1); + $2 = $2 | 0; + var $5 = 0; + $5 = __stack_pointer - 16 | 0; + __stack_pointer = $5; + HEAP32[($5 + 12 | 0) >> 2] = $0; + HEAPF32[($5 + 8 | 0) >> 2] = $1; + HEAP32[($5 + 4 | 0) >> 2] = $2; + __assert_fail(86177 | 0, 74770 | 0, 184 | 0, 83783 | 0); + wasm2js_trap(); + } + + function btTriangleMeshShape__localGetSupportingVertex_28btVector3_20const__29_20const($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $5 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, $6 = 0, $59 = 0, $179 = 0, $192 = 0; + $5 = __stack_pointer - 240 | 0; + __stack_pointer = $5; + HEAP32[($5 + 236 | 0) >> 2] = $1; + HEAP32[($5 + 232 | 0) >> 2] = $2; + $6 = HEAP32[($5 + 236 | 0) >> 2] | 0; + btVector3__btVector3_28_29($0 | 0) | 0; + btTransform__btTransform_28_29($5 + 168 | 0 | 0) | 0; + btTransform__setIdentity_28_29($5 + 168 | 0 | 0); + SupportVertexCallback__SupportVertexCallback_28btVector3_20const__2c_20btTransform_20const__29($5 + 64 | 0 | 0, HEAP32[($5 + 232 | 0) >> 2] | 0 | 0, $5 + 168 | 0 | 0) | 0; + HEAPF32[($5 + 44 | 0) >> 2] = Math_fround(999999984306749440.0); + HEAPF32[($5 + 40 | 0) >> 2] = Math_fround(999999984306749440.0); + HEAPF32[($5 + 36 | 0) >> 2] = Math_fround(999999984306749440.0); + btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($5 + 48 | 0 | 0, $5 + 44 | 0 | 0, $5 + 40 | 0 | 0, $5 + 36 | 0 | 0) | 0; + operator__28btVector3_20const__29($5 + 20 | 0 | 0, $5 + 48 | 0 | 0); + FUNCTION_TABLE[HEAP32[((HEAP32[$6 >> 2] | 0) + 64 | 0) >> 2] | 0 | 0]($6, $5 + 64 | 0, $5 + 20 | 0, $5 + 48 | 0); + SupportVertexCallback__GetSupportVertexLocal_28_29($5 + 4 | 0 | 0, $5 + 64 | 0 | 0); + i64toi32_i32$2 = $5; + i64toi32_i32$0 = HEAP32[($5 + 4 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($5 + 8 | 0) >> 2] | 0; + $179 = i64toi32_i32$0; + i64toi32_i32$0 = $0; + HEAP32[i64toi32_i32$0 >> 2] = $179; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $59 = 8; + i64toi32_i32$2 = ($5 + 4 | 0) + $59 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $192 = i64toi32_i32$1; + i64toi32_i32$1 = $0 + $59 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $192; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + SupportVertexCallback___SupportVertexCallback_28_29($5 + 64 | 0 | 0) | 0; + __stack_pointer = $5 + 240 | 0; + return; + } + + function SupportVertexCallback__SupportVertexCallback_28btVector3_20const__2c_20btTransform_20const__29($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $5 = 0, $6 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, $41 = 0, $43 = 0, $138 = 0, $151 = 0; + $5 = __stack_pointer - 48 | 0; + __stack_pointer = $5; + HEAP32[($5 + 44 | 0) >> 2] = $0; + HEAP32[($5 + 40 | 0) >> 2] = $1; + HEAP32[($5 + 36 | 0) >> 2] = $2; + $6 = HEAP32[($5 + 44 | 0) >> 2] | 0; + btTriangleCallback__btTriangleCallback_28_29($6 | 0) | 0; + HEAP32[$6 >> 2] = 101076 + 8 | 0; + HEAPF32[($5 + 32 | 0) >> 2] = Math_fround(0 | 0); + HEAPF32[($5 + 28 | 0) >> 2] = Math_fround(0 | 0); + HEAPF32[($5 + 24 | 0) >> 2] = Math_fround(0 | 0); + btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($6 + 4 | 0 | 0, $5 + 32 | 0 | 0, $5 + 28 | 0 | 0, $5 + 24 | 0 | 0) | 0; + btTransform__btTransform_28btTransform_20const__29($6 + 20 | 0 | 0, HEAP32[($5 + 36 | 0) >> 2] | 0 | 0) | 0; + HEAPF32[($6 + 84 | 0) >> 2] = Math_fround(-999999984306749440.0); + btVector3__btVector3_28_29($6 + 88 | 0 | 0) | 0; + operator__28btVector3_20const__2c_20btMatrix3x3_20const__29($5 + 8 | 0 | 0, HEAP32[($5 + 40 | 0) >> 2] | 0 | 0, btTransform__getBasis_28_29($6 + 20 | 0 | 0) | 0 | 0); + $41 = $6 + 88 | 0; + i64toi32_i32$2 = $5; + i64toi32_i32$0 = HEAP32[($5 + 8 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($5 + 12 | 0) >> 2] | 0; + $138 = i64toi32_i32$0; + i64toi32_i32$0 = $41; + HEAP32[i64toi32_i32$0 >> 2] = $138; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $43 = 8; + i64toi32_i32$2 = ($5 + 8 | 0) + $43 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $151 = i64toi32_i32$1; + i64toi32_i32$1 = $41 + $43 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $151; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + __stack_pointer = $5 + 48 | 0; + return $6 | 0; + } + + function SupportVertexCallback__GetSupportVertexLocal_28_29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var i64toi32_i32$2 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $4 = 0, $9 = 0, $27 = 0, $37 = 0; + $4 = __stack_pointer - 16 | 0; + HEAP32[($4 + 12 | 0) >> 2] = $1; + i64toi32_i32$2 = (HEAP32[($4 + 12 | 0) >> 2] | 0) + 4 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $27 = i64toi32_i32$0; + i64toi32_i32$0 = $0; + HEAP32[i64toi32_i32$0 >> 2] = $27; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $9 = 8; + i64toi32_i32$2 = i64toi32_i32$2 + $9 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $37 = i64toi32_i32$1; + i64toi32_i32$1 = $0 + $9 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $37; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + return; + } + + function SupportVertexCallback___SupportVertexCallback_28_29($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + btTriangleCallback___btTriangleCallback_28_29($4 | 0) | 0; + __stack_pointer = $3 + 16 | 0; + return $4 | 0; + } + + function btTriangleMeshShape__getName_28_29_20const($0) { + $0 = $0 | 0; + HEAP32[((__stack_pointer - 16 | 0) + 12 | 0) >> 2] = $0; + return 84390 | 0; + } + + function btTriangleMeshShape__processAllTriangles_28btTriangleCallback__2c_20btVector3_20const__2c_20btVector3_20const__29_20const__FilteredCallback___FilteredCallback_28_29_1($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + btTriangleMeshShape__processAllTriangles_28btTriangleCallback__2c_20btVector3_20const__2c_20btVector3_20const__29_20const__FilteredCallback___FilteredCallback_28_29($4 | 0) | 0; + operator_20delete_28void__29($4 | 0); + __stack_pointer = $3 + 16 | 0; + return; + } + + function btTriangleMeshShape__processAllTriangles_28btTriangleCallback__2c_20btVector3_20const__2c_20btVector3_20const__29_20const__FilteredCallback__internalProcessTriangleIndex_28btVector3__2c_20int_2c_20int_29($0, $1, $2, $3) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + var $6 = 0, $7 = 0, $16 = 0; + $6 = __stack_pointer - 16 | 0; + __stack_pointer = $6; + HEAP32[($6 + 12 | 0) >> 2] = $0; + HEAP32[($6 + 8 | 0) >> 2] = $1; + HEAP32[($6 + 4 | 0) >> 2] = $2; + HEAP32[$6 >> 2] = $3; + $7 = HEAP32[($6 + 12 | 0) >> 2] | 0; + label$1 : { + if (!((TestTriangleAgainstAabb2_28btVector3_20const__2c_20btVector3_20const__2c_20btVector3_20const__29(HEAP32[($6 + 8 | 0) >> 2] | 0 | 0, $7 + 8 | 0 | 0, $7 + 24 | 0 | 0) | 0) & 1 | 0)) { + break label$1 + } + $16 = HEAP32[($7 + 4 | 0) >> 2] | 0; + FUNCTION_TABLE[HEAP32[((HEAP32[$16 >> 2] | 0) + 8 | 0) >> 2] | 0 | 0]($16, HEAP32[($6 + 8 | 0) >> 2] | 0, HEAP32[($6 + 4 | 0) >> 2] | 0, HEAP32[$6 >> 2] | 0); + } + __stack_pointer = $6 + 16 | 0; + return; + } + + function SupportVertexCallback___SupportVertexCallback_28_29_1($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + SupportVertexCallback___SupportVertexCallback_28_29($4 | 0) | 0; + operator_20delete_28void__29($4 | 0); + __stack_pointer = $3 + 16 | 0; + return; + } + + function SupportVertexCallback__processTriangle_28btVector3__2c_20int_2c_20int_29($0, $1, $2, $3) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + var $6 = 0, i64toi32_i32$2 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $7 = 0, $36 = 0, $38 = 0, $126 = 0, $136 = 0, wasm2js_i32$0 = 0, wasm2js_f32$0 = Math_fround(0); + $6 = __stack_pointer - 32 | 0; + __stack_pointer = $6; + HEAP32[($6 + 28 | 0) >> 2] = $0; + HEAP32[($6 + 24 | 0) >> 2] = $1; + HEAP32[($6 + 20 | 0) >> 2] = $2; + HEAP32[($6 + 16 | 0) >> 2] = $3; + $7 = HEAP32[($6 + 28 | 0) >> 2] | 0; + HEAP32[($6 + 12 | 0) >> 2] = 0; + label$1 : { + label$2 : while (1) { + if (!((HEAP32[($6 + 12 | 0) >> 2] | 0 | 0) < (3 | 0) & 1 | 0)) { + break label$1 + } + (wasm2js_i32$0 = $6, wasm2js_f32$0 = Math_fround(btVector3__dot_28btVector3_20const__29_20const($7 + 88 | 0 | 0, (HEAP32[($6 + 24 | 0) >> 2] | 0) + ((HEAP32[($6 + 12 | 0) >> 2] | 0) << 4 | 0) | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_f32$0; + label$3 : { + if (!(Math_fround(HEAPF32[($6 + 8 | 0) >> 2]) > Math_fround(HEAPF32[($7 + 84 | 0) >> 2]) & 1 | 0)) { + break label$3 + } + HEAPF32[($7 + 84 | 0) >> 2] = Math_fround(HEAPF32[($6 + 8 | 0) >> 2]); + $36 = $7 + 4 | 0; + i64toi32_i32$2 = (HEAP32[($6 + 24 | 0) >> 2] | 0) + ((HEAP32[($6 + 12 | 0) >> 2] | 0) << 4 | 0) | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $126 = i64toi32_i32$0; + i64toi32_i32$0 = $36; + HEAP32[i64toi32_i32$0 >> 2] = $126; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $38 = 8; + i64toi32_i32$2 = i64toi32_i32$2 + $38 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $136 = i64toi32_i32$1; + i64toi32_i32$1 = $36 + $38 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $136; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + } + HEAP32[($6 + 12 | 0) >> 2] = (HEAP32[($6 + 12 | 0) >> 2] | 0) + 1 | 0; + continue label$2; + }; + } + __stack_pointer = $6 + 32 | 0; + return; + } + + function _GLOBAL__sub_I_btTriangleMeshShape_cpp() { + __cxx_global_var_init_55(); + return; + } + + function __cxx_global_var_init_56() { + btInfMaskConverter__btInfMaskConverter_28int_29(114312 | 0, 2139095040 | 0) | 0; + return; + } + + function btContinuousConvexCollision__btContinuousConvexCollision_28btConvexShape_20const__2c_20btConvexShape_20const__2c_20btVoronoiSimplexSolver__2c_20btConvexPenetrationDepthSolver__29($0, $1, $2, $3, $4) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + $4 = $4 | 0; + var $7 = 0, $8 = 0; + $7 = __stack_pointer - 32 | 0; + __stack_pointer = $7; + HEAP32[($7 + 28 | 0) >> 2] = $0; + HEAP32[($7 + 24 | 0) >> 2] = $1; + HEAP32[($7 + 20 | 0) >> 2] = $2; + HEAP32[($7 + 16 | 0) >> 2] = $3; + HEAP32[($7 + 12 | 0) >> 2] = $4; + $8 = HEAP32[($7 + 28 | 0) >> 2] | 0; + btConvexCast__btConvexCast_28_29($8 | 0) | 0; + HEAP32[$8 >> 2] = 101132 + 8 | 0; + HEAP32[($8 + 4 | 0) >> 2] = HEAP32[($7 + 16 | 0) >> 2] | 0; + HEAP32[($8 + 8 | 0) >> 2] = HEAP32[($7 + 12 | 0) >> 2] | 0; + HEAP32[($8 + 12 | 0) >> 2] = HEAP32[($7 + 24 | 0) >> 2] | 0; + HEAP32[($8 + 16 | 0) >> 2] = HEAP32[($7 + 20 | 0) >> 2] | 0; + HEAP32[($8 + 20 | 0) >> 2] = 0; + __stack_pointer = $7 + 32 | 0; + return $8 | 0; + } + + function btConvexCast__btConvexCast_28_29($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + HEAP32[$4 >> 2] = 101256 + 8 | 0; + return $4 | 0; + } + + function btContinuousConvexCollision__btContinuousConvexCollision_28btConvexShape_20const__2c_20btStaticPlaneShape_20const__29($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $5 = 0, $6 = 0; + $5 = __stack_pointer - 16 | 0; + __stack_pointer = $5; + HEAP32[($5 + 12 | 0) >> 2] = $0; + HEAP32[($5 + 8 | 0) >> 2] = $1; + HEAP32[($5 + 4 | 0) >> 2] = $2; + $6 = HEAP32[($5 + 12 | 0) >> 2] | 0; + btConvexCast__btConvexCast_28_29($6 | 0) | 0; + HEAP32[$6 >> 2] = 101132 + 8 | 0; + HEAP32[($6 + 4 | 0) >> 2] = 0; + HEAP32[($6 + 8 | 0) >> 2] = 0; + HEAP32[($6 + 12 | 0) >> 2] = HEAP32[($5 + 8 | 0) >> 2] | 0; + HEAP32[($6 + 16 | 0) >> 2] = 0; + HEAP32[($6 + 20 | 0) >> 2] = HEAP32[($5 + 4 | 0) >> 2] | 0; + __stack_pointer = $5 + 16 | 0; + return $6 | 0; + } + + function btContinuousConvexCollision__computeClosestPoints_28btTransform_20const__2c_20btTransform_20const__2c_20btPointCollector__29($0, $1, $2, $3) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + var $6 = 0, $7 = 0, $22 = 0, $26 = 0, $116 = 0, $185 = 0, $16 = 0, $17 = 0, $19 = 0, $21 = 0, $25 = Math_fround(0), $120 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0, wasm2js_f32$0 = Math_fround(0); + $6 = __stack_pointer - 832 | 0; + __stack_pointer = $6; + HEAP32[($6 + 828 | 0) >> 2] = $0; + HEAP32[($6 + 824 | 0) >> 2] = $1; + HEAP32[($6 + 820 | 0) >> 2] = $2; + HEAP32[($6 + 816 | 0) >> 2] = $3; + $7 = HEAP32[($6 + 828 | 0) >> 2] | 0; + label$1 : { + label$2 : { + if (!((HEAP32[($7 + 16 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$2 + } + btVoronoiSimplexSolver__reset_28_29(HEAP32[($7 + 4 | 0) >> 2] | 0 | 0); + $16 = HEAP32[($7 + 12 | 0) >> 2] | 0; + $17 = HEAP32[($7 + 16 | 0) >> 2] | 0; + $19 = btCollisionShape__getShapeType_28_29_20const(HEAP32[($7 + 12 | 0) >> 2] | 0 | 0) | 0; + $21 = btCollisionShape__getShapeType_28_29_20const(HEAP32[($7 + 16 | 0) >> 2] | 0 | 0) | 0; + $22 = HEAP32[($7 + 12 | 0) >> 2] | 0; + $25 = Math_fround(FUNCTION_TABLE[HEAP32[((HEAP32[$22 >> 2] | 0) + 48 | 0) >> 2] | 0 | 0]($22)); + $26 = HEAP32[($7 + 16 | 0) >> 2] | 0; + btGjkPairDetector__btGjkPairDetector_28btConvexShape_20const__2c_20btConvexShape_20const__2c_20int_2c_20int_2c_20float_2c_20float_2c_20btVoronoiSimplexSolver__2c_20btConvexPenetrationDepthSolver__29($6 + 736 | 0 | 0, $16 | 0, $17 | 0, $19 | 0, $21 | 0, Math_fround($25), Math_fround(Math_fround(FUNCTION_TABLE[HEAP32[((HEAP32[$26 >> 2] | 0) + 48 | 0) >> 2] | 0 | 0]($26))), HEAP32[($7 + 4 | 0) >> 2] | 0 | 0, HEAP32[($7 + 8 | 0) >> 2] | 0 | 0) | 0; + btDiscreteCollisionDetectorInterface__ClosestPointInput__ClosestPointInput_28_29($6 + 604 | 0 | 0) | 0; + btTransform__operator__28btTransform_20const__29($6 + 604 | 0 | 0, HEAP32[($6 + 824 | 0) >> 2] | 0 | 0) | 0; + btTransform__operator__28btTransform_20const__29(($6 + 604 | 0) + 64 | 0 | 0, HEAP32[($6 + 820 | 0) >> 2] | 0 | 0) | 0; + btGjkPairDetector__getClosestPoints_28btDiscreteCollisionDetectorInterface__ClosestPointInput_20const__2c_20btDiscreteCollisionDetectorInterface__Result__2c_20btIDebugDraw__2c_20bool_29($6 + 736 | 0 | 0, $6 + 604 | 0 | 0, HEAP32[($6 + 816 | 0) >> 2] | 0 | 0, 0 | 0, 0 & 1 | 0 | 0); + btGjkPairDetector___btGjkPairDetector_28_29($6 + 736 | 0 | 0) | 0; + break label$1; + } + HEAP32[($6 + 600 | 0) >> 2] = HEAP32[($7 + 12 | 0) >> 2] | 0; + HEAP32[($6 + 596 | 0) >> 2] = HEAP32[($7 + 20 | 0) >> 2] | 0; + (wasm2js_i32$0 = $6, wasm2js_i32$1 = btStaticPlaneShape__getPlaneNormal_28_29_20const(HEAP32[($6 + 596 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 592 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $6, wasm2js_i32$1 = btStaticPlaneShape__getPlaneConstant_28_29_20const(HEAP32[($6 + 596 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 588 | 0) >> 2] = wasm2js_i32$1; + btTransform__btTransform_28btTransform_20const__29($6 + 524 | 0 | 0, HEAP32[($6 + 824 | 0) >> 2] | 0 | 0) | 0; + btTransform__btTransform_28_29($6 + 460 | 0 | 0) | 0; + btTransform__inverse_28_29_20const($6 + 332 | 0 | 0, HEAP32[($6 + 820 | 0) >> 2] | 0 | 0); + btTransform__operator__28btTransform_20const__29_20const($6 + 396 | 0 | 0, $6 + 332 | 0 | 0, $6 + 524 | 0 | 0); + btTransform__operator__28btTransform_20const__29($6 + 460 | 0 | 0, $6 + 396 | 0 | 0) | 0; + btTransform__btTransform_28_29($6 + 268 | 0 | 0) | 0; + btTransform__inverse_28_29_20const($6 + 140 | 0 | 0, $6 + 524 | 0 | 0); + btTransform__operator__28btTransform_20const__29_20const($6 + 204 | 0 | 0, $6 + 140 | 0 | 0, HEAP32[($6 + 820 | 0) >> 2] | 0 | 0); + btTransform__operator__28btTransform_20const__29($6 + 268 | 0 | 0, $6 + 204 | 0 | 0) | 0; + $116 = HEAP32[($6 + 600 | 0) >> 2] | 0; + $120 = btTransform__getBasis_28_29($6 + 268 | 0 | 0) | 0; + operator__28btVector3_20const__29($6 + 92 | 0 | 0, HEAP32[($6 + 592 | 0) >> 2] | 0 | 0); + operator__28btMatrix3x3_20const__2c_20btVector3_20const__29($6 + 108 | 0 | 0, $120 | 0, $6 + 92 | 0 | 0); + FUNCTION_TABLE[HEAP32[((HEAP32[$116 >> 2] | 0) + 64 | 0) >> 2] | 0 | 0]($6 + 124 | 0, $116, $6 + 108 | 0); + btTransform__operator_28_29_28btVector3_20const__29_20const($6 + 76 | 0 | 0, $6 + 460 | 0 | 0, $6 + 124 | 0 | 0); + (wasm2js_i32$0 = $6, wasm2js_f32$0 = Math_fround(Math_fround(btVector3__dot_28btVector3_20const__29_20const(HEAP32[($6 + 592 | 0) >> 2] | 0 | 0, $6 + 76 | 0 | 0)) - Math_fround(HEAPF32[(HEAP32[($6 + 588 | 0) >> 2] | 0) >> 2]))), HEAPF32[(wasm2js_i32$0 + 72 | 0) >> 2] = wasm2js_f32$0; + operator__28float_20const__2c_20btVector3_20const__29($6 + 40 | 0 | 0, $6 + 72 | 0 | 0, HEAP32[($6 + 592 | 0) >> 2] | 0 | 0); + operator__28btVector3_20const__2c_20btVector3_20const__29($6 + 56 | 0 | 0, $6 + 76 | 0 | 0, $6 + 40 | 0 | 0); + btTransform__operator__28btVector3_20const__29_20const($6 + 24 | 0 | 0, HEAP32[($6 + 820 | 0) >> 2] | 0 | 0, $6 + 56 | 0 | 0); + operator__28btMatrix3x3_20const__2c_20btVector3_20const__29($6 + 8 | 0 | 0, btTransform__getBasis_28_29_20const(HEAP32[($6 + 820 | 0) >> 2] | 0 | 0) | 0 | 0, HEAP32[($6 + 592 | 0) >> 2] | 0 | 0); + $185 = HEAP32[($6 + 816 | 0) >> 2] | 0; + FUNCTION_TABLE[HEAP32[((HEAP32[$185 >> 2] | 0) + 16 | 0) >> 2] | 0 | 0]($185, $6 + 8 | 0, $6 + 24 | 0, Math_fround(HEAPF32[($6 + 72 | 0) >> 2])); + } + __stack_pointer = $6 + 832 | 0; + return; + } + + function btContinuousConvexCollision__calcTimeOfImpact_28btTransform_20const__2c_20btTransform_20const__2c_20btTransform_20const__2c_20btTransform_20const__2c_20btConvexCast__CastResult__29($0, $1, $2, $3, $4, $5) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + $4 = $4 | 0; + $5 = $5 | 0; + var $8 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, $9 = 0, $40 = 0, $51 = 0, $55 = Math_fround(0), $168 = 0, $169 = 0, $187 = 0, $188 = 0, $227 = 0, $364 = 0, $392 = 0, $419 = 0, $420 = 0, $431 = 0, $432 = 0, $439 = 0, $458 = 0, $475 = 0, $477 = 0, $485 = 0, $487 = 0, $847 = 0, $851 = 0, $889 = 0, $893 = 0, $368 = 0, $1348 = 0, $1352 = 0, $1372 = 0, $1376 = 0, $1460 = 0, $1473 = 0, $1482 = 0, $1495 = 0, $506 = 0, wasm2js_i32$0 = 0, wasm2js_f32$0 = Math_fround(0); + $8 = __stack_pointer - 656 | 0; + __stack_pointer = $8; + HEAP32[($8 + 648 | 0) >> 2] = $0; + HEAP32[($8 + 644 | 0) >> 2] = $1; + HEAP32[($8 + 640 | 0) >> 2] = $2; + HEAP32[($8 + 636 | 0) >> 2] = $3; + HEAP32[($8 + 632 | 0) >> 2] = $4; + HEAP32[($8 + 628 | 0) >> 2] = $5; + $9 = HEAP32[($8 + 648 | 0) >> 2] | 0; + btVector3__btVector3_28_29($8 + 612 | 0 | 0) | 0; + btVector3__btVector3_28_29($8 + 596 | 0 | 0) | 0; + btVector3__btVector3_28_29($8 + 580 | 0 | 0) | 0; + btVector3__btVector3_28_29($8 + 564 | 0 | 0) | 0; + btTransformUtil__calculateVelocity_28btTransform_20const__2c_20btTransform_20const__2c_20float_2c_20btVector3__2c_20btVector3__29(HEAP32[($8 + 644 | 0) >> 2] | 0 | 0, HEAP32[($8 + 640 | 0) >> 2] | 0 | 0, Math_fround(Math_fround(1.0)), $8 + 612 | 0 | 0, $8 + 596 | 0 | 0); + btTransformUtil__calculateVelocity_28btTransform_20const__2c_20btTransform_20const__2c_20float_2c_20btVector3__2c_20btVector3__29(HEAP32[($8 + 636 | 0) >> 2] | 0 | 0, HEAP32[($8 + 632 | 0) >> 2] | 0 | 0, Math_fround(Math_fround(1.0)), $8 + 580 | 0 | 0, $8 + 564 | 0 | 0); + $40 = HEAP32[($9 + 12 | 0) >> 2] | 0; + (wasm2js_i32$0 = $8, wasm2js_f32$0 = Math_fround(FUNCTION_TABLE[HEAP32[((HEAP32[$40 >> 2] | 0) + 16 | 0) >> 2] | 0 | 0]($40))), HEAPF32[(wasm2js_i32$0 + 560 | 0) >> 2] = wasm2js_f32$0; + label$1 : { + label$2 : { + if (!((HEAP32[($9 + 16 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$2 + } + $51 = HEAP32[($9 + 16 | 0) >> 2] | 0; + $55 = Math_fround(FUNCTION_TABLE[HEAP32[((HEAP32[$51 >> 2] | 0) + 16 | 0) >> 2] | 0 | 0]($51)); + break label$1; + } + $55 = Math_fround(0 | 0); + } + HEAPF32[($8 + 556 | 0) >> 2] = $55; + (wasm2js_i32$0 = $8, wasm2js_f32$0 = Math_fround(Math_fround(Math_fround(btVector3__length_28_29_20const($8 + 596 | 0 | 0)) * Math_fround(HEAPF32[($8 + 560 | 0) >> 2])) + Math_fround(Math_fround(btVector3__length_28_29_20const($8 + 564 | 0 | 0)) * Math_fround(HEAPF32[($8 + 556 | 0) >> 2])))), HEAPF32[(wasm2js_i32$0 + 552 | 0) >> 2] = wasm2js_f32$0; + operator__28btVector3_20const__2c_20btVector3_20const__29($8 + 536 | 0 | 0, $8 + 580 | 0 | 0, $8 + 612 | 0 | 0); + operator__28btVector3_20const__2c_20btVector3_20const__29($8 + 516 | 0 | 0, $8 + 580 | 0 | 0, $8 + 612 | 0 | 0); + (wasm2js_i32$0 = $8, wasm2js_f32$0 = Math_fround(btVector3__length_28_29_20const($8 + 516 | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 532 | 0) >> 2] = wasm2js_f32$0; + label$3 : { + label$4 : { + if (!(Math_fround(Math_fround(HEAPF32[($8 + 532 | 0) >> 2]) + Math_fround(HEAPF32[($8 + 552 | 0) >> 2])) == Math_fround(0 | 0) & 1 | 0)) { + break label$4 + } + HEAP8[($8 + 655 | 0) >> 0] = 0 & 1 | 0; + break label$3; + } + HEAPF32[($8 + 512 | 0) >> 2] = Math_fround(0 | 0); + HEAPF32[($8 + 492 | 0) >> 2] = Math_fround(1.0); + HEAPF32[($8 + 488 | 0) >> 2] = Math_fround(0 | 0); + HEAPF32[($8 + 484 | 0) >> 2] = Math_fround(0 | 0); + btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($8 + 496 | 0 | 0, $8 + 492 | 0 | 0, $8 + 488 | 0 | 0, $8 + 484 | 0 | 0) | 0; + HEAP32[($8 + 480 | 0) >> 2] = 64; + btVector3__btVector3_28_29($8 + 464 | 0 | 0) | 0; + HEAPF32[($8 + 460 | 0) >> 2] = Math_fround(0 | 0); + HEAPF32[($8 + 456 | 0) >> 2] = Math_fround(0 | 0); + HEAPF32[($8 + 452 | 0) >> 2] = Math_fround(0 | 0); + btVector3__setValue_28float_20const__2c_20float_20const__2c_20float_20const__29($8 + 464 | 0 | 0, $8 + 460 | 0 | 0, $8 + 456 | 0 | 0, $8 + 452 | 0 | 0); + HEAP8[($8 + 451 | 0) >> 0] = 0; + btVector3__btVector3_28_29($8 + 432 | 0 | 0) | 0; + HEAPF32[($8 + 428 | 0) >> 2] = Math_fround(HEAPF32[($8 + 512 | 0) >> 2]); + HEAP32[($8 + 424 | 0) >> 2] = 0; + HEAPF32[($8 + 420 | 0) >> 2] = Math_fround(1.0000000474974513e-03); + btPointCollector__btPointCollector_28_29($8 + 376 | 0 | 0) | 0; + btContinuousConvexCollision__computeClosestPoints_28btTransform_20const__2c_20btTransform_20const__2c_20btPointCollector__29($9 | 0, HEAP32[($8 + 644 | 0) >> 2] | 0 | 0, HEAP32[($8 + 636 | 0) >> 2] | 0 | 0, $8 + 376 | 0 | 0); + HEAP8[($8 + 451 | 0) >> 0] = (HEAPU8[($8 + 416 | 0) >> 0] | 0) & 1 | 0; + $168 = ($8 + 376 | 0) + 20 | 0; + $169 = 8; + i64toi32_i32$2 = $168 + $169 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $847 = i64toi32_i32$0; + i64toi32_i32$0 = ($8 + 432 | 0) + $169 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $847; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$2 = $168; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $851 = i64toi32_i32$1; + i64toi32_i32$1 = $8; + HEAP32[($8 + 432 | 0) >> 2] = $851; + HEAP32[($8 + 436 | 0) >> 2] = i64toi32_i32$0; + label$5 : { + label$6 : { + if (!((HEAPU8[($8 + 451 | 0) >> 0] | 0) & 1 | 0)) { + break label$6 + } + HEAPF32[($8 + 372 | 0) >> 2] = Math_fround(Math_fround(HEAPF32[($8 + 412 | 0) >> 2]) + Math_fround(HEAPF32[((HEAP32[($8 + 628 | 0) >> 2] | 0) + 172 | 0) >> 2])); + $187 = ($8 + 376 | 0) + 4 | 0; + $188 = 8; + i64toi32_i32$2 = $187 + $188 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $889 = i64toi32_i32$0; + i64toi32_i32$0 = ($8 + 464 | 0) + $188 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $889; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$2 = $187; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $893 = i64toi32_i32$1; + i64toi32_i32$1 = $8; + HEAP32[($8 + 464 | 0) >> 2] = $893; + HEAP32[($8 + 468 | 0) >> 2] = i64toi32_i32$0; + (wasm2js_i32$0 = $8, wasm2js_f32$0 = Math_fround(btVector3__dot_28btVector3_20const__29_20const($8 + 536 | 0 | 0, $8 + 464 | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 368 | 0) >> 2] = wasm2js_f32$0; + label$7 : { + if (!(Math_fround(Math_fround(HEAPF32[($8 + 368 | 0) >> 2]) + Math_fround(HEAPF32[($8 + 552 | 0) >> 2])) <= Math_fround(1.1920928955078125e-07) & 1 | 0)) { + break label$7 + } + HEAP8[($8 + 655 | 0) >> 0] = 0 & 1 | 0; + HEAP32[($8 + 364 | 0) >> 2] = 1; + break label$5; + } + label$8 : { + label$9 : while (1) { + if (!(Math_fround(HEAPF32[($8 + 372 | 0) >> 2]) > Math_fround(HEAPF32[($8 + 420 | 0) >> 2]) & 1 | 0)) { + break label$8 + } + label$10 : { + if (!((HEAP32[((HEAP32[($8 + 628 | 0) >> 2] | 0) + 168 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$10 + } + $227 = HEAP32[((HEAP32[($8 + 628 | 0) >> 2] | 0) + 168 | 0) >> 2] | 0; + HEAPF32[($8 + 344 | 0) >> 2] = Math_fround(1.0); + HEAPF32[($8 + 340 | 0) >> 2] = Math_fround(1.0); + HEAPF32[($8 + 336 | 0) >> 2] = Math_fround(1.0); + btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($8 + 348 | 0 | 0, $8 + 344 | 0 | 0, $8 + 340 | 0 | 0, $8 + 336 | 0 | 0) | 0; + FUNCTION_TABLE[HEAP32[((HEAP32[$227 >> 2] | 0) + 28 | 0) >> 2] | 0 | 0]($227, $8 + 432 | 0, Math_fround(.20000000298023224), $8 + 348 | 0); + } + HEAPF32[($8 + 332 | 0) >> 2] = Math_fround(0 | 0); + (wasm2js_i32$0 = $8, wasm2js_f32$0 = Math_fround(btVector3__dot_28btVector3_20const__29_20const($8 + 536 | 0 | 0, $8 + 464 | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 368 | 0) >> 2] = wasm2js_f32$0; + label$11 : { + if (!(Math_fround(Math_fround(HEAPF32[($8 + 368 | 0) >> 2]) + Math_fround(HEAPF32[($8 + 552 | 0) >> 2])) <= Math_fround(1.1920928955078125e-07) & 1 | 0)) { + break label$11 + } + HEAP8[($8 + 655 | 0) >> 0] = 0 & 1 | 0; + HEAP32[($8 + 364 | 0) >> 2] = 1; + break label$5; + } + HEAPF32[($8 + 332 | 0) >> 2] = Math_fround(Math_fround(HEAPF32[($8 + 372 | 0) >> 2]) / Math_fround(Math_fround(HEAPF32[($8 + 368 | 0) >> 2]) + Math_fround(HEAPF32[($8 + 552 | 0) >> 2]))); + HEAPF32[($8 + 512 | 0) >> 2] = Math_fround(Math_fround(HEAPF32[($8 + 512 | 0) >> 2]) + Math_fround(HEAPF32[($8 + 332 | 0) >> 2])); + label$12 : { + if (!(Math_fround(HEAPF32[($8 + 512 | 0) >> 2]) > Math_fround(1.0) & 1 | 0)) { + break label$12 + } + HEAP8[($8 + 655 | 0) >> 0] = 0 & 1 | 0; + HEAP32[($8 + 364 | 0) >> 2] = 1; + break label$5; + } + label$13 : { + if (!(Math_fround(HEAPF32[($8 + 512 | 0) >> 2]) < Math_fround(0 | 0) & 1 | 0)) { + break label$13 + } + HEAP8[($8 + 655 | 0) >> 0] = 0 & 1 | 0; + HEAP32[($8 + 364 | 0) >> 2] = 1; + break label$5; + } + label$14 : { + if (!(Math_fround(HEAPF32[($8 + 512 | 0) >> 2]) <= Math_fround(HEAPF32[($8 + 428 | 0) >> 2]) & 1 | 0)) { + break label$14 + } + HEAP8[($8 + 655 | 0) >> 0] = 0 & 1 | 0; + HEAP32[($8 + 364 | 0) >> 2] = 1; + break label$5; + } + HEAPF32[($8 + 428 | 0) >> 2] = Math_fround(HEAPF32[($8 + 512 | 0) >> 2]); + btTransform__btTransform_28_29($8 + 268 | 0 | 0) | 0; + btTransform__btTransform_28_29($8 + 204 | 0 | 0) | 0; + btTransform__btTransform_28_29($8 + 140 | 0 | 0) | 0; + btTransformUtil__integrateTransform_28btTransform_20const__2c_20btVector3_20const__2c_20btVector3_20const__2c_20float_2c_20btTransform__29(HEAP32[($8 + 644 | 0) >> 2] | 0 | 0, $8 + 612 | 0 | 0, $8 + 596 | 0 | 0, Math_fround(Math_fround(HEAPF32[($8 + 512 | 0) >> 2])), $8 + 268 | 0 | 0); + btTransformUtil__integrateTransform_28btTransform_20const__2c_20btVector3_20const__2c_20btVector3_20const__2c_20float_2c_20btTransform__29(HEAP32[($8 + 636 | 0) >> 2] | 0 | 0, $8 + 580 | 0 | 0, $8 + 564 | 0 | 0, Math_fround(Math_fround(HEAPF32[($8 + 512 | 0) >> 2])), $8 + 204 | 0 | 0); + btTransform__inverseTimes_28btTransform_20const__29_20const($8 + 76 | 0 | 0, $8 + 204 | 0 | 0, $8 + 268 | 0 | 0); + btTransform__operator__28btTransform_20const__29($8 + 140 | 0 | 0, $8 + 76 | 0 | 0) | 0; + label$15 : { + if (!((HEAP32[((HEAP32[($8 + 628 | 0) >> 2] | 0) + 168 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$15 + } + $364 = HEAP32[((HEAP32[($8 + 628 | 0) >> 2] | 0) + 168 | 0) >> 2] | 0; + $368 = btTransform__getOrigin_28_29($8 + 268 | 0 | 0) | 0; + HEAPF32[($8 + 56 | 0) >> 2] = Math_fround(1.0); + HEAPF32[($8 + 52 | 0) >> 2] = Math_fround(0 | 0); + HEAPF32[($8 + 48 | 0) >> 2] = Math_fround(0 | 0); + btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($8 + 60 | 0 | 0, $8 + 56 | 0 | 0, $8 + 52 | 0 | 0, $8 + 48 | 0 | 0) | 0; + FUNCTION_TABLE[HEAP32[((HEAP32[$364 >> 2] | 0) + 28 | 0) >> 2] | 0 | 0]($364, $368, Math_fround(.20000000298023224), $8 + 60 | 0); + } + $392 = HEAP32[($8 + 628 | 0) >> 2] | 0; + FUNCTION_TABLE[HEAP32[(HEAP32[$392 >> 2] | 0) >> 2] | 0 | 0]($392, Math_fround(HEAPF32[($8 + 512 | 0) >> 2])); + btPointCollector__btPointCollector_28_29($8 + 4 | 0 | 0) | 0; + btContinuousConvexCollision__computeClosestPoints_28btTransform_20const__2c_20btTransform_20const__2c_20btPointCollector__29($9 | 0, $8 + 268 | 0 | 0, $8 + 204 | 0 | 0, $8 + 4 | 0 | 0); + label$16 : { + label$17 : { + label$18 : { + if (!((HEAPU8[($8 + 44 | 0) >> 0] | 0) & 1 | 0)) { + break label$18 + } + HEAPF32[($8 + 372 | 0) >> 2] = Math_fround(Math_fround(HEAPF32[($8 + 40 | 0) >> 2]) + Math_fround(HEAPF32[((HEAP32[($8 + 628 | 0) >> 2] | 0) + 172 | 0) >> 2])); + $419 = ($8 + 4 | 0) + 20 | 0; + $420 = 8; + i64toi32_i32$2 = $419 + $420 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $1348 = i64toi32_i32$0; + i64toi32_i32$0 = ($8 + 432 | 0) + $420 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $1348; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$2 = $419; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $1352 = i64toi32_i32$1; + i64toi32_i32$1 = $8; + HEAP32[($8 + 432 | 0) >> 2] = $1352; + HEAP32[($8 + 436 | 0) >> 2] = i64toi32_i32$0; + $431 = ($8 + 4 | 0) + 4 | 0; + $432 = 8; + i64toi32_i32$2 = $431 + $432 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $1372 = i64toi32_i32$0; + i64toi32_i32$0 = ($8 + 464 | 0) + $432 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $1372; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$2 = $431; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $1376 = i64toi32_i32$1; + i64toi32_i32$1 = $8; + HEAP32[($8 + 464 | 0) >> 2] = $1376; + HEAP32[($8 + 468 | 0) >> 2] = i64toi32_i32$0; + break label$17; + } + $439 = HEAP32[($8 + 628 | 0) >> 2] | 0; + FUNCTION_TABLE[HEAP32[((HEAP32[$439 >> 2] | 0) + 8 | 0) >> 2] | 0 | 0]($439, -1, HEAP32[($8 + 424 | 0) >> 2] | 0); + HEAP8[($8 + 655 | 0) >> 0] = 0 & 1 | 0; + HEAP32[($8 + 364 | 0) >> 2] = 1; + break label$16; + } + HEAP32[($8 + 424 | 0) >> 2] = (HEAP32[($8 + 424 | 0) >> 2] | 0) + 1 | 0; + label$19 : { + if (!((HEAP32[($8 + 424 | 0) >> 2] | 0 | 0) > (HEAP32[($8 + 480 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$19 + } + $458 = HEAP32[($8 + 628 | 0) >> 2] | 0; + FUNCTION_TABLE[HEAP32[((HEAP32[$458 >> 2] | 0) + 8 | 0) >> 2] | 0 | 0]($458, -2, HEAP32[($8 + 424 | 0) >> 2] | 0); + HEAP8[($8 + 655 | 0) >> 0] = 0 & 1 | 0; + HEAP32[($8 + 364 | 0) >> 2] = 1; + break label$16; + } + HEAP32[($8 + 364 | 0) >> 2] = 0; + } + btPointCollector___btPointCollector_28_29($8 + 4 | 0 | 0) | 0; + if (HEAP32[($8 + 364 | 0) >> 2] | 0) { + break label$5 + } + continue label$9; + }; + } + HEAPF32[((HEAP32[($8 + 628 | 0) >> 2] | 0) + 164 | 0) >> 2] = Math_fround(HEAPF32[($8 + 512 | 0) >> 2]); + $475 = (HEAP32[($8 + 628 | 0) >> 2] | 0) + 132 | 0; + i64toi32_i32$2 = $8; + i64toi32_i32$0 = HEAP32[($8 + 464 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($8 + 468 | 0) >> 2] | 0; + $1460 = i64toi32_i32$0; + i64toi32_i32$0 = $475; + HEAP32[i64toi32_i32$0 >> 2] = $1460; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $477 = 8; + i64toi32_i32$2 = ($8 + 464 | 0) + $477 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $1473 = i64toi32_i32$1; + i64toi32_i32$1 = $475 + $477 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $1473; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + $485 = (HEAP32[($8 + 628 | 0) >> 2] | 0) + 148 | 0; + i64toi32_i32$2 = $8; + i64toi32_i32$0 = HEAP32[($8 + 432 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($8 + 436 | 0) >> 2] | 0; + $1482 = i64toi32_i32$0; + i64toi32_i32$0 = $485; + HEAP32[i64toi32_i32$0 >> 2] = $1482; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $487 = 8; + i64toi32_i32$2 = ($8 + 432 | 0) + $487 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $1495 = i64toi32_i32$1; + i64toi32_i32$1 = $485 + $487 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $1495; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + HEAP8[($8 + 655 | 0) >> 0] = 1 & 1 | 0; + HEAP32[($8 + 364 | 0) >> 2] = 1; + break label$5; + } + HEAP8[($8 + 655 | 0) >> 0] = 0 & 1 | 0; + HEAP32[($8 + 364 | 0) >> 2] = 1; + } + btPointCollector___btPointCollector_28_29($8 + 376 | 0 | 0) | 0; + } + $506 = (HEAPU8[($8 + 655 | 0) >> 0] | 0) & 1 | 0; + __stack_pointer = $8 + 656 | 0; + return $506 | 0; + } + + function btPointCollector__btPointCollector_28_29($0) { + $0 = $0 | 0; + var $4 = 0, $3 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + btDiscreteCollisionDetectorInterface__Result__Result_28_29($4 | 0) | 0; + HEAP32[$4 >> 2] = 101196 + 8 | 0; + btVector3__btVector3_28_29($4 + 4 | 0 | 0) | 0; + btVector3__btVector3_28_29($4 + 20 | 0 | 0) | 0; + HEAPF32[($4 + 36 | 0) >> 2] = Math_fround(999999984306749440.0); + HEAP8[($4 + 40 | 0) >> 0] = 0; + __stack_pointer = $3 + 16 | 0; + return $4 | 0; + } + + function btTransformUtil__integrateTransform_28btTransform_20const__2c_20btVector3_20const__2c_20btVector3_20const__2c_20float_2c_20btTransform__29($0, $1, $2, $3, $4) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = Math_fround($3); + $4 = $4 | 0; + var $7 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, $79 = 0, $103 = 0, $8 = 0, $10 = 0, $56 = 0, $349 = 0, $353 = 0, $88 = 0, $401 = 0, $405 = 0, $115 = 0, $119 = 0, $123 = 0, wasm2js_i32$0 = 0, wasm2js_f32$0 = Math_fround(0); + $7 = __stack_pointer - 176 | 0; + __stack_pointer = $7; + HEAP32[($7 + 172 | 0) >> 2] = $0; + HEAP32[($7 + 168 | 0) >> 2] = $1; + HEAP32[($7 + 164 | 0) >> 2] = $2; + HEAPF32[($7 + 160 | 0) >> 2] = $3; + HEAP32[($7 + 156 | 0) >> 2] = $4; + $8 = HEAP32[($7 + 156 | 0) >> 2] | 0; + $10 = btTransform__getOrigin_28_29_20const(HEAP32[($7 + 172 | 0) >> 2] | 0 | 0) | 0; + operator__28btVector3_20const__2c_20float_20const__29($7 + 124 | 0 | 0, HEAP32[($7 + 168 | 0) >> 2] | 0 | 0, $7 + 160 | 0 | 0); + operator__28btVector3_20const__2c_20btVector3_20const__29_2($7 + 140 | 0 | 0, $10 | 0, $7 + 124 | 0 | 0); + btTransform__setOrigin_28btVector3_20const__29($8 | 0, $7 + 140 | 0 | 0); + btVector3__btVector3_28_29($7 + 104 | 0 | 0) | 0; + (wasm2js_i32$0 = $7, wasm2js_f32$0 = Math_fround(btVector3__length2_28_29_20const(HEAP32[($7 + 164 | 0) >> 2] | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 100 | 0) >> 2] = wasm2js_f32$0; + HEAPF32[($7 + 96 | 0) >> 2] = Math_fround(0 | 0); + label$1 : { + if (!(Math_fround(HEAPF32[($7 + 100 | 0) >> 2]) > Math_fround(1.1920928955078125e-07) & 1 | 0)) { + break label$1 + } + (wasm2js_i32$0 = $7, wasm2js_f32$0 = Math_fround(btSqrt_28float_29(Math_fround(Math_fround(HEAPF32[($7 + 100 | 0) >> 2]))))), HEAPF32[(wasm2js_i32$0 + 96 | 0) >> 2] = wasm2js_f32$0; + } + label$2 : { + if (!(Math_fround(Math_fround(HEAPF32[($7 + 96 | 0) >> 2]) * Math_fround(HEAPF32[($7 + 160 | 0) >> 2])) > Math_fround(.7853981852531433) & 1 | 0)) { + break label$2 + } + HEAPF32[($7 + 96 | 0) >> 2] = Math_fround(Math_fround(.7853981852531433) / Math_fround(HEAPF32[($7 + 160 | 0) >> 2])); + } + label$3 : { + label$4 : { + if (!(Math_fround(HEAPF32[($7 + 96 | 0) >> 2]) < Math_fround(1.0000000474974513e-03) & 1 | 0)) { + break label$4 + } + $56 = HEAP32[($7 + 164 | 0) >> 2] | 0; + HEAPF32[($7 + 76 | 0) >> 2] = Math_fround(Math_fround(Math_fround(HEAPF32[($7 + 160 | 0) >> 2]) * Math_fround(.5)) + Math_fround(-Math_fround(Math_fround(Math_fround(Math_fround(Math_fround(Math_fround(HEAPF32[($7 + 160 | 0) >> 2]) * Math_fround(HEAPF32[($7 + 160 | 0) >> 2])) * Math_fround(HEAPF32[($7 + 160 | 0) >> 2])) * Math_fround(.02083333395421505)) * Math_fround(HEAPF32[($7 + 96 | 0) >> 2])) * Math_fround(HEAPF32[($7 + 96 | 0) >> 2])))); + operator__28btVector3_20const__2c_20float_20const__29($7 + 80 | 0 | 0, $56 | 0, $7 + 76 | 0 | 0); + $79 = 8; + i64toi32_i32$2 = ($7 + 80 | 0) + $79 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $349 = i64toi32_i32$0; + i64toi32_i32$0 = ($7 + 104 | 0) + $79 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $349; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$2 = $7; + i64toi32_i32$1 = HEAP32[($7 + 80 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($7 + 84 | 0) >> 2] | 0; + $353 = i64toi32_i32$1; + i64toi32_i32$1 = $7; + HEAP32[($7 + 104 | 0) >> 2] = $353; + HEAP32[($7 + 108 | 0) >> 2] = i64toi32_i32$0; + break label$3; + } + $88 = HEAP32[($7 + 164 | 0) >> 2] | 0; + (wasm2js_i32$0 = $7, wasm2js_f32$0 = Math_fround(Math_fround(btSin_28float_29(Math_fround(Math_fround(Math_fround(Math_fround(.5) * Math_fround(HEAPF32[($7 + 96 | 0) >> 2])) * Math_fround(HEAPF32[($7 + 160 | 0) >> 2]))))) / Math_fround(HEAPF32[($7 + 96 | 0) >> 2]))), HEAPF32[(wasm2js_i32$0 + 56 | 0) >> 2] = wasm2js_f32$0; + operator__28btVector3_20const__2c_20float_20const__29($7 + 60 | 0 | 0, $88 | 0, $7 + 56 | 0 | 0); + $103 = 8; + i64toi32_i32$2 = ($7 + 60 | 0) + $103 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $401 = i64toi32_i32$0; + i64toi32_i32$0 = ($7 + 104 | 0) + $103 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $401; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$2 = $7; + i64toi32_i32$1 = HEAP32[($7 + 60 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($7 + 64 | 0) >> 2] | 0; + $405 = i64toi32_i32$1; + i64toi32_i32$1 = $7; + HEAP32[($7 + 104 | 0) >> 2] = $405; + HEAP32[($7 + 108 | 0) >> 2] = i64toi32_i32$0; + } + $115 = btVector3__x_28_29_20const($7 + 104 | 0 | 0) | 0; + $119 = btVector3__y_28_29_20const($7 + 104 | 0 | 0) | 0; + $123 = btVector3__z_28_29_20const($7 + 104 | 0 | 0) | 0; + (wasm2js_i32$0 = $7, wasm2js_f32$0 = Math_fround(btCos_28float_29(Math_fround(Math_fround(Math_fround(Math_fround(HEAPF32[($7 + 96 | 0) >> 2]) * Math_fround(HEAPF32[($7 + 160 | 0) >> 2])) * Math_fround(.5)))))), HEAPF32[(wasm2js_i32$0 + 36 | 0) >> 2] = wasm2js_f32$0; + btQuaternion__btQuaternion_28float_20const__2c_20float_20const__2c_20float_20const__2c_20float_20const__29($7 + 40 | 0 | 0, $115 | 0, $119 | 0, $123 | 0, $7 + 36 | 0 | 0) | 0; + btTransform__getRotation_28_29_20const($7 + 20 | 0 | 0, HEAP32[($7 + 172 | 0) >> 2] | 0 | 0); + operator__28btQuaternion_20const__2c_20btQuaternion_20const__29($7 + 4 | 0 | 0, $7 + 40 | 0 | 0, $7 + 20 | 0 | 0); + btQuaternion__safeNormalize_28_29($7 + 4 | 0 | 0) | 0; + label$5 : { + label$6 : { + if (!(Math_fround(btQuaternion__length2_28_29_20const($7 + 4 | 0 | 0)) > Math_fround(1.1920928955078125e-07) & 1 | 0)) { + break label$6 + } + btTransform__setRotation_28btQuaternion_20const__29(HEAP32[($7 + 156 | 0) >> 2] | 0 | 0, $7 + 4 | 0 | 0); + break label$5; + } + btTransform__setBasis_28btMatrix3x3_20const__29(HEAP32[($7 + 156 | 0) >> 2] | 0 | 0, btTransform__getBasis_28_29_20const(HEAP32[($7 + 172 | 0) >> 2] | 0 | 0) | 0 | 0); + } + __stack_pointer = $7 + 176 | 0; + return; + } + + function btPointCollector___btPointCollector_28_29($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + btDiscreteCollisionDetectorInterface__Result___Result_28_29($4 | 0) | 0; + __stack_pointer = $3 + 16 | 0; + return $4 | 0; + } + + function btQuaternion__safeNormalize_28_29($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0, wasm2js_i32$0 = 0, wasm2js_f32$0 = Math_fround(0); + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + (wasm2js_i32$0 = $3, wasm2js_f32$0 = Math_fround(btQuaternion__length2_28_29_20const($4 | 0))), HEAPF32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_f32$0; + label$1 : { + if (!(Math_fround(HEAPF32[($3 + 8 | 0) >> 2]) > Math_fround(1.1920928955078125e-07) & 1 | 0)) { + break label$1 + } + btQuaternion__normalize_28_29($4 | 0) | 0; + } + __stack_pointer = $3 + 16 | 0; + return $4 | 0; + } + + function btContinuousConvexCollision___btContinuousConvexCollision_28_29_1($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + btContinuousConvexCollision___btContinuousConvexCollision_28_29($4 | 0) | 0; + operator_20delete_28void__29($4 | 0); + __stack_pointer = $3 + 16 | 0; + return; + } + + function btPointCollector___btPointCollector_28_29_1($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + btPointCollector___btPointCollector_28_29($4 | 0) | 0; + operator_20delete_28void__29($4 | 0); + __stack_pointer = $3 + 16 | 0; + return; + } + + function btPointCollector__setShapeIdentifiersA_28int_2c_20int_29($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $5 = 0; + $5 = __stack_pointer - 16 | 0; + HEAP32[($5 + 12 | 0) >> 2] = $0; + HEAP32[($5 + 8 | 0) >> 2] = $1; + HEAP32[($5 + 4 | 0) >> 2] = $2; + return; + } + + function btPointCollector__setShapeIdentifiersB_28int_2c_20int_29($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $5 = 0; + $5 = __stack_pointer - 16 | 0; + HEAP32[($5 + 12 | 0) >> 2] = $0; + HEAP32[($5 + 8 | 0) >> 2] = $1; + HEAP32[($5 + 4 | 0) >> 2] = $2; + return; + } + + function btPointCollector__addContactPoint_28btVector3_20const__2c_20btVector3_20const__2c_20float_29($0, $1, $2, $3) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = Math_fround($3); + var i64toi32_i32$2 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $6 = 0, $7 = 0, $16 = 0, $18 = 0, $24 = 0, $26 = 0, $67 = 0, $77 = 0, $86 = 0, $96 = 0; + $6 = __stack_pointer - 16 | 0; + HEAP32[($6 + 12 | 0) >> 2] = $0; + HEAP32[($6 + 8 | 0) >> 2] = $1; + HEAP32[($6 + 4 | 0) >> 2] = $2; + HEAPF32[$6 >> 2] = $3; + $7 = HEAP32[($6 + 12 | 0) >> 2] | 0; + label$1 : { + if (!(Math_fround(HEAPF32[$6 >> 2]) < Math_fround(HEAPF32[($7 + 36 | 0) >> 2]) & 1 | 0)) { + break label$1 + } + HEAP8[($7 + 40 | 0) >> 0] = 1; + $16 = $7 + 4 | 0; + i64toi32_i32$2 = HEAP32[($6 + 8 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $67 = i64toi32_i32$0; + i64toi32_i32$0 = $16; + HEAP32[i64toi32_i32$0 >> 2] = $67; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $18 = 8; + i64toi32_i32$2 = i64toi32_i32$2 + $18 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $77 = i64toi32_i32$1; + i64toi32_i32$1 = $16 + $18 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $77; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + $24 = $7 + 20 | 0; + i64toi32_i32$2 = HEAP32[($6 + 4 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $86 = i64toi32_i32$0; + i64toi32_i32$0 = $24; + HEAP32[i64toi32_i32$0 >> 2] = $86; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $26 = 8; + i64toi32_i32$2 = i64toi32_i32$2 + $26 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $96 = i64toi32_i32$1; + i64toi32_i32$1 = $24 + $26 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $96; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + HEAPF32[($7 + 36 | 0) >> 2] = Math_fround(HEAPF32[$6 >> 2]); + } + return; + } + + function _GLOBAL__sub_I_btContinuousConvexCollision_cpp() { + __cxx_global_var_init_56(); + return; + } + + function __cxx_global_var_init_57() { + btInfMaskConverter__btInfMaskConverter_28int_29(114316 | 0, 2139095040 | 0) | 0; + return; + } + + function btConvexCast___btConvexCast_28_29($0) { + $0 = $0 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + return HEAP32[($3 + 12 | 0) >> 2] | 0 | 0; + } + + function btConvexCast___btConvexCast_28_29_1($0) { + $0 = $0 | 0; + HEAP32[((__stack_pointer - 16 | 0) + 12 | 0) >> 2] = $0; + wasm2js_trap(); + } + + function _GLOBAL__sub_I_btConvexCast_cpp() { + __cxx_global_var_init_57(); + return; + } + + function __cxx_global_var_init_58() { + btInfMaskConverter__btInfMaskConverter_28int_29(114320 | 0, 2139095040 | 0) | 0; + return; + } + + function btGjkConvexCast__btGjkConvexCast_28btConvexShape_20const__2c_20btConvexShape_20const__2c_20btVoronoiSimplexSolver__29($0, $1, $2, $3) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + var $6 = 0, $7 = 0; + $6 = __stack_pointer - 16 | 0; + __stack_pointer = $6; + HEAP32[($6 + 12 | 0) >> 2] = $0; + HEAP32[($6 + 8 | 0) >> 2] = $1; + HEAP32[($6 + 4 | 0) >> 2] = $2; + HEAP32[$6 >> 2] = $3; + $7 = HEAP32[($6 + 12 | 0) >> 2] | 0; + btConvexCast__btConvexCast_28_29($7 | 0) | 0; + HEAP32[$7 >> 2] = 101300 + 8 | 0; + HEAP32[($7 + 4 | 0) >> 2] = HEAP32[$6 >> 2] | 0; + HEAP32[($7 + 8 | 0) >> 2] = HEAP32[($6 + 8 | 0) >> 2] | 0; + HEAP32[($7 + 12 | 0) >> 2] = HEAP32[($6 + 4 | 0) >> 2] | 0; + __stack_pointer = $6 + 16 | 0; + return $7 | 0; + } + + function btGjkConvexCast__calcTimeOfImpact_28btTransform_20const__2c_20btTransform_20const__2c_20btTransform_20const__2c_20btTransform_20const__2c_20btConvexCast__CastResult__29($0, $1, $2, $3, $4, $5) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + $4 = $4 | 0; + $5 = $5 | 0; + var $8 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, $9 = 0, $24 = 0, $40 = 0, $155 = 0, $156 = 0, $171 = 0, $172 = 0, $242 = 0, $294 = 0, $295 = 0, $304 = 0, $306 = 0, $319 = 0, $321 = 0, $333 = 0, $334 = 0, $345 = 0, $346 = 0, $379 = 0, $381 = 0, $389 = 0, $391 = 0, $480 = 0, $484 = 0, $515 = 0, $519 = 0, $732 = 0, $736 = 0, $767 = 0, $771 = 0, $1024 = 0, $1028 = 0, $1037 = 0, $1050 = 0, $1066 = 0, $1076 = 0, $1103 = 0, $1107 = 0, $1127 = 0, $1131 = 0, $1189 = 0, $1202 = 0, $1211 = 0, $1224 = 0, $413 = 0, wasm2js_i32$0 = 0, wasm2js_f32$0 = Math_fround(0); + $8 = __stack_pointer - 544 | 0; + __stack_pointer = $8; + HEAP32[($8 + 536 | 0) >> 2] = $0; + HEAP32[($8 + 532 | 0) >> 2] = $1; + HEAP32[($8 + 528 | 0) >> 2] = $2; + HEAP32[($8 + 524 | 0) >> 2] = $3; + HEAP32[($8 + 520 | 0) >> 2] = $4; + HEAP32[($8 + 516 | 0) >> 2] = $5; + $9 = HEAP32[($8 + 536 | 0) >> 2] | 0; + btVoronoiSimplexSolver__reset_28_29(HEAP32[($9 + 4 | 0) >> 2] | 0 | 0); + btVector3__btVector3_28_29($8 + 496 | 0 | 0) | 0; + btVector3__btVector3_28_29($8 + 480 | 0 | 0) | 0; + operator__28btVector3_20const__2c_20btVector3_20const__29($8 + 464 | 0 | 0, btTransform__getOrigin_28_29_20const(HEAP32[($8 + 528 | 0) >> 2] | 0 | 0) | 0 | 0, btTransform__getOrigin_28_29_20const(HEAP32[($8 + 532 | 0) >> 2] | 0 | 0) | 0 | 0); + $24 = 8; + i64toi32_i32$2 = ($8 + 464 | 0) + $24 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $480 = i64toi32_i32$0; + i64toi32_i32$0 = ($8 + 496 | 0) + $24 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $480; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$2 = $8; + i64toi32_i32$1 = HEAP32[($8 + 464 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($8 + 468 | 0) >> 2] | 0; + $484 = i64toi32_i32$1; + i64toi32_i32$1 = $8; + HEAP32[($8 + 496 | 0) >> 2] = $484; + HEAP32[($8 + 500 | 0) >> 2] = i64toi32_i32$0; + operator__28btVector3_20const__2c_20btVector3_20const__29($8 + 448 | 0 | 0, btTransform__getOrigin_28_29_20const(HEAP32[($8 + 520 | 0) >> 2] | 0 | 0) | 0 | 0, btTransform__getOrigin_28_29_20const(HEAP32[($8 + 524 | 0) >> 2] | 0 | 0) | 0 | 0); + $40 = 8; + i64toi32_i32$2 = ($8 + 448 | 0) + $40 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $515 = i64toi32_i32$0; + i64toi32_i32$0 = ($8 + 480 | 0) + $40 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $515; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$2 = $8; + i64toi32_i32$1 = HEAP32[($8 + 448 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($8 + 452 | 0) >> 2] | 0; + $519 = i64toi32_i32$1; + i64toi32_i32$1 = $8; + HEAP32[($8 + 480 | 0) >> 2] = $519; + HEAP32[($8 + 484 | 0) >> 2] = i64toi32_i32$0; + HEAPF32[($8 + 444 | 0) >> 2] = Math_fround(1.0000000474974513e-03); + HEAPF32[($8 + 440 | 0) >> 2] = Math_fround(0 | 0); + HEAPF32[($8 + 420 | 0) >> 2] = Math_fround(1.0); + HEAPF32[($8 + 416 | 0) >> 2] = Math_fround(0 | 0); + HEAPF32[($8 + 412 | 0) >> 2] = Math_fround(0 | 0); + btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($8 + 424 | 0 | 0, $8 + 420 | 0 | 0, $8 + 416 | 0 | 0, $8 + 412 | 0 | 0) | 0; + HEAP32[($8 + 408 | 0) >> 2] = 32; + btVector3__btVector3_28_29($8 + 392 | 0 | 0) | 0; + HEAPF32[($8 + 388 | 0) >> 2] = Math_fround(0 | 0); + HEAPF32[($8 + 384 | 0) >> 2] = Math_fround(0 | 0); + HEAPF32[($8 + 380 | 0) >> 2] = Math_fround(0 | 0); + btVector3__setValue_28float_20const__2c_20float_20const__2c_20float_20const__29($8 + 392 | 0 | 0, $8 + 388 | 0 | 0, $8 + 384 | 0 | 0, $8 + 380 | 0 | 0); + HEAP8[($8 + 379 | 0) >> 0] = 0; + btVector3__btVector3_28_29($8 + 360 | 0 | 0) | 0; + operator__28btVector3_20const__2c_20btVector3_20const__29($8 + 344 | 0 | 0, $8 + 496 | 0 | 0, $8 + 480 | 0 | 0); + HEAPF32[($8 + 340 | 0) >> 2] = Math_fround(HEAPF32[($8 + 440 | 0) >> 2]); + HEAP32[($8 + 336 | 0) >> 2] = 0; + btTransform__btTransform_28_29($8 + 272 | 0 | 0) | 0; + btTransform__setIdentity_28_29($8 + 272 | 0 | 0); + btPointCollector__btPointCollector_28_29($8 + 228 | 0 | 0) | 0; + btGjkPairDetector__btGjkPairDetector_28btConvexShape_20const__2c_20btConvexShape_20const__2c_20btVoronoiSimplexSolver__2c_20btConvexPenetrationDepthSolver__29($8 + 148 | 0 | 0, HEAP32[($9 + 8 | 0) >> 2] | 0 | 0, HEAP32[($9 + 12 | 0) >> 2] | 0 | 0, HEAP32[($9 + 4 | 0) >> 2] | 0 | 0, 0 | 0) | 0; + btDiscreteCollisionDetectorInterface__ClosestPointInput__ClosestPointInput_28_29($8 + 16 | 0 | 0) | 0; + btTransform__operator__28btTransform_20const__29($8 + 16 | 0 | 0, HEAP32[($8 + 532 | 0) >> 2] | 0 | 0) | 0; + btTransform__operator__28btTransform_20const__29(($8 + 16 | 0) + 64 | 0 | 0, HEAP32[($8 + 524 | 0) >> 2] | 0 | 0) | 0; + btGjkPairDetector__getClosestPoints_28btDiscreteCollisionDetectorInterface__ClosestPointInput_20const__2c_20btDiscreteCollisionDetectorInterface__Result__2c_20btIDebugDraw__2c_20bool_29($8 + 148 | 0 | 0, $8 + 16 | 0 | 0, $8 + 228 | 0 | 0, 0 | 0, 0 & 1 | 0 | 0); + HEAP8[($8 + 379 | 0) >> 0] = (HEAPU8[($8 + 268 | 0) >> 0] | 0) & 1 | 0; + $155 = ($8 + 228 | 0) + 20 | 0; + $156 = 8; + i64toi32_i32$2 = $155 + $156 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $732 = i64toi32_i32$0; + i64toi32_i32$0 = ($8 + 360 | 0) + $156 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $732; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$2 = $155; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $736 = i64toi32_i32$1; + i64toi32_i32$1 = $8; + HEAP32[($8 + 360 | 0) >> 2] = $736; + HEAP32[($8 + 364 | 0) >> 2] = i64toi32_i32$0; + label$1 : { + label$2 : { + if (!((HEAPU8[($8 + 379 | 0) >> 0] | 0) & 1 | 0)) { + break label$2 + } + HEAPF32[($8 + 12 | 0) >> 2] = Math_fround(HEAPF32[($8 + 264 | 0) >> 2]); + $171 = ($8 + 228 | 0) + 4 | 0; + $172 = 8; + i64toi32_i32$2 = $171 + $172 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $767 = i64toi32_i32$0; + i64toi32_i32$0 = ($8 + 392 | 0) + $172 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $767; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$2 = $171; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $771 = i64toi32_i32$1; + i64toi32_i32$1 = $8; + HEAP32[($8 + 392 | 0) >> 2] = $771; + HEAP32[($8 + 396 | 0) >> 2] = i64toi32_i32$0; + label$3 : { + label$4 : while (1) { + if (!(Math_fround(HEAPF32[($8 + 12 | 0) >> 2]) > Math_fround(HEAPF32[($8 + 444 | 0) >> 2]) & 1 | 0)) { + break label$3 + } + HEAP32[($8 + 336 | 0) >> 2] = (HEAP32[($8 + 336 | 0) >> 2] | 0) + 1 | 0; + label$5 : { + if (!((HEAP32[($8 + 336 | 0) >> 2] | 0 | 0) > (HEAP32[($8 + 408 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$5 + } + HEAP8[($8 + 543 | 0) >> 0] = 0 & 1 | 0; + HEAP32[($8 + 8 | 0) >> 2] = 1; + break label$1; + } + HEAPF32[($8 + 4 | 0) >> 2] = Math_fround(0 | 0); + (wasm2js_i32$0 = $8, wasm2js_f32$0 = Math_fround(btVector3__dot_28btVector3_20const__29_20const($8 + 344 | 0 | 0, $8 + 392 | 0 | 0))), HEAPF32[wasm2js_i32$0 >> 2] = wasm2js_f32$0; + HEAPF32[($8 + 4 | 0) >> 2] = Math_fround(Math_fround(HEAPF32[($8 + 12 | 0) >> 2]) / Math_fround(HEAPF32[$8 >> 2])); + HEAPF32[($8 + 440 | 0) >> 2] = Math_fround(Math_fround(HEAPF32[($8 + 440 | 0) >> 2]) - Math_fround(HEAPF32[($8 + 4 | 0) >> 2])); + label$6 : { + if (!(Math_fround(HEAPF32[($8 + 440 | 0) >> 2]) > Math_fround(1.0) & 1 | 0)) { + break label$6 + } + HEAP8[($8 + 543 | 0) >> 0] = 0 & 1 | 0; + HEAP32[($8 + 8 | 0) >> 2] = 1; + break label$1; + } + label$7 : { + if (!(Math_fround(HEAPF32[($8 + 440 | 0) >> 2]) < Math_fround(0 | 0) & 1 | 0)) { + break label$7 + } + HEAP8[($8 + 543 | 0) >> 0] = 0 & 1 | 0; + HEAP32[($8 + 8 | 0) >> 2] = 1; + break label$1; + } + label$8 : { + if (!(Math_fround(HEAPF32[($8 + 440 | 0) >> 2]) <= Math_fround(HEAPF32[($8 + 340 | 0) >> 2]) & 1 | 0)) { + break label$8 + } + HEAP8[($8 + 543 | 0) >> 0] = 0 & 1 | 0; + HEAP32[($8 + 8 | 0) >> 2] = 1; + break label$1; + } + HEAPF32[($8 + 340 | 0) >> 2] = Math_fround(HEAPF32[($8 + 440 | 0) >> 2]); + $242 = HEAP32[($8 + 516 | 0) >> 2] | 0; + FUNCTION_TABLE[HEAP32[(HEAP32[$242 >> 2] | 0) >> 2] | 0 | 0]($242, Math_fround(HEAPF32[($8 + 440 | 0) >> 2])); + btVector3__setInterpolate3_28btVector3_20const__2c_20btVector3_20const__2c_20float_29(btTransform__getOrigin_28_29($8 + 16 | 0 | 0) | 0 | 0, btTransform__getOrigin_28_29_20const(HEAP32[($8 + 532 | 0) >> 2] | 0 | 0) | 0 | 0, btTransform__getOrigin_28_29_20const(HEAP32[($8 + 528 | 0) >> 2] | 0 | 0) | 0 | 0, Math_fround(Math_fround(HEAPF32[($8 + 440 | 0) >> 2]))); + btVector3__setInterpolate3_28btVector3_20const__2c_20btVector3_20const__2c_20float_29(btTransform__getOrigin_28_29(($8 + 16 | 0) + 64 | 0 | 0) | 0 | 0, btTransform__getOrigin_28_29_20const(HEAP32[($8 + 524 | 0) >> 2] | 0 | 0) | 0 | 0, btTransform__getOrigin_28_29_20const(HEAP32[($8 + 520 | 0) >> 2] | 0 | 0) | 0 | 0, Math_fround(Math_fround(HEAPF32[($8 + 440 | 0) >> 2]))); + btGjkPairDetector__getClosestPoints_28btDiscreteCollisionDetectorInterface__ClosestPointInput_20const__2c_20btDiscreteCollisionDetectorInterface__Result__2c_20btIDebugDraw__2c_20bool_29($8 + 148 | 0 | 0, $8 + 16 | 0 | 0, $8 + 228 | 0 | 0, 0 | 0, 0 & 1 | 0 | 0); + label$9 : { + label$10 : { + if (!((HEAPU8[($8 + 268 | 0) >> 0] | 0) & 1 | 0)) { + break label$10 + } + label$11 : { + if (!(Math_fround(HEAPF32[($8 + 264 | 0) >> 2]) < Math_fround(0 | 0) & 1 | 0)) { + break label$11 + } + HEAPF32[((HEAP32[($8 + 516 | 0) >> 2] | 0) + 164 | 0) >> 2] = Math_fround(HEAPF32[($8 + 340 | 0) >> 2]); + $294 = ($8 + 228 | 0) + 4 | 0; + $295 = 8; + i64toi32_i32$2 = $294 + $295 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $1024 = i64toi32_i32$0; + i64toi32_i32$0 = ($8 + 392 | 0) + $295 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $1024; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$2 = $294; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $1028 = i64toi32_i32$1; + i64toi32_i32$1 = $8; + HEAP32[($8 + 392 | 0) >> 2] = $1028; + HEAP32[($8 + 396 | 0) >> 2] = i64toi32_i32$0; + $304 = (HEAP32[($8 + 516 | 0) >> 2] | 0) + 132 | 0; + i64toi32_i32$2 = $8; + i64toi32_i32$0 = HEAP32[($8 + 392 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($8 + 396 | 0) >> 2] | 0; + $1037 = i64toi32_i32$0; + i64toi32_i32$0 = $304; + HEAP32[i64toi32_i32$0 >> 2] = $1037; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $306 = 8; + i64toi32_i32$2 = ($8 + 392 | 0) + $306 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $1050 = i64toi32_i32$1; + i64toi32_i32$1 = $304 + $306 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $1050; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + $319 = (HEAP32[($8 + 516 | 0) >> 2] | 0) + 148 | 0; + i64toi32_i32$2 = ($8 + 228 | 0) + 20 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $1066 = i64toi32_i32$0; + i64toi32_i32$0 = $319; + HEAP32[i64toi32_i32$0 >> 2] = $1066; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $321 = 8; + i64toi32_i32$2 = i64toi32_i32$2 + $321 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $1076 = i64toi32_i32$1; + i64toi32_i32$1 = $319 + $321 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $1076; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + HEAP8[($8 + 543 | 0) >> 0] = 1 & 1 | 0; + HEAP32[($8 + 8 | 0) >> 2] = 1; + break label$1; + } + $333 = ($8 + 228 | 0) + 20 | 0; + $334 = 8; + i64toi32_i32$2 = $333 + $334 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $1103 = i64toi32_i32$0; + i64toi32_i32$0 = ($8 + 360 | 0) + $334 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $1103; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$2 = $333; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $1107 = i64toi32_i32$1; + i64toi32_i32$1 = $8; + HEAP32[($8 + 360 | 0) >> 2] = $1107; + HEAP32[($8 + 364 | 0) >> 2] = i64toi32_i32$0; + $345 = ($8 + 228 | 0) + 4 | 0; + $346 = 8; + i64toi32_i32$2 = $345 + $346 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $1127 = i64toi32_i32$0; + i64toi32_i32$0 = ($8 + 392 | 0) + $346 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $1127; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$2 = $345; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $1131 = i64toi32_i32$1; + i64toi32_i32$1 = $8; + HEAP32[($8 + 392 | 0) >> 2] = $1131; + HEAP32[($8 + 396 | 0) >> 2] = i64toi32_i32$0; + HEAPF32[($8 + 12 | 0) >> 2] = Math_fround(HEAPF32[($8 + 264 | 0) >> 2]); + break label$9; + } + HEAP8[($8 + 543 | 0) >> 0] = 0 & 1 | 0; + HEAP32[($8 + 8 | 0) >> 2] = 1; + break label$1; + } + continue label$4; + }; + } + label$12 : { + if (!(Math_fround(btVector3__dot_28btVector3_20const__29_20const($8 + 392 | 0 | 0, $8 + 344 | 0 | 0)) >= Math_fround(-Math_fround(HEAPF32[((HEAP32[($8 + 516 | 0) >> 2] | 0) + 172 | 0) >> 2])) & 1 | 0)) { + break label$12 + } + HEAP8[($8 + 543 | 0) >> 0] = 0 & 1 | 0; + HEAP32[($8 + 8 | 0) >> 2] = 1; + break label$1; + } + HEAPF32[((HEAP32[($8 + 516 | 0) >> 2] | 0) + 164 | 0) >> 2] = Math_fround(HEAPF32[($8 + 440 | 0) >> 2]); + $379 = (HEAP32[($8 + 516 | 0) >> 2] | 0) + 132 | 0; + i64toi32_i32$2 = $8; + i64toi32_i32$0 = HEAP32[($8 + 392 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($8 + 396 | 0) >> 2] | 0; + $1189 = i64toi32_i32$0; + i64toi32_i32$0 = $379; + HEAP32[i64toi32_i32$0 >> 2] = $1189; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $381 = 8; + i64toi32_i32$2 = ($8 + 392 | 0) + $381 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $1202 = i64toi32_i32$1; + i64toi32_i32$1 = $379 + $381 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $1202; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + $389 = (HEAP32[($8 + 516 | 0) >> 2] | 0) + 148 | 0; + i64toi32_i32$2 = $8; + i64toi32_i32$0 = HEAP32[($8 + 360 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($8 + 364 | 0) >> 2] | 0; + $1211 = i64toi32_i32$0; + i64toi32_i32$0 = $389; + HEAP32[i64toi32_i32$0 >> 2] = $1211; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $391 = 8; + i64toi32_i32$2 = ($8 + 360 | 0) + $391 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $1224 = i64toi32_i32$1; + i64toi32_i32$1 = $389 + $391 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $1224; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + HEAP8[($8 + 543 | 0) >> 0] = 1 & 1 | 0; + HEAP32[($8 + 8 | 0) >> 2] = 1; + break label$1; + } + HEAP8[($8 + 543 | 0) >> 0] = 0 & 1 | 0; + HEAP32[($8 + 8 | 0) >> 2] = 1; + } + btGjkPairDetector___btGjkPairDetector_28_29($8 + 148 | 0 | 0) | 0; + btPointCollector___btPointCollector_28_29($8 + 228 | 0 | 0) | 0; + $413 = (HEAPU8[($8 + 543 | 0) >> 0] | 0) & 1 | 0; + __stack_pointer = $8 + 544 | 0; + return $413 | 0; + } + + function btGjkConvexCast___btGjkConvexCast_28_29_1($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + btGjkConvexCast___btGjkConvexCast_28_29($4 | 0) | 0; + operator_20delete_28void__29($4 | 0); + __stack_pointer = $3 + 16 | 0; + return; + } + + function _GLOBAL__sub_I_btGjkConvexCast_cpp() { + __cxx_global_var_init_58(); + return; + } + + function __cxx_global_var_init_59() { + btInfMaskConverter__btInfMaskConverter_28int_29(114324 | 0, 2139095040 | 0) | 0; + return; + } + + function btGjkEpaSolver2__Distance_28btConvexShape_20const__2c_20btTransform_20const__2c_20btConvexShape_20const__2c_20btTransform_20const__2c_20btVector3_20const__2c_20btGjkEpaSolver2__sResults__29($0, $1, $2, $3, $4, $5) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + $4 = $4 | 0; + $5 = $5 | 0; + var $8 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, $162 = 0, $164 = 0, $181 = 0, $183 = 0, $200 = 0, $202 = 0, $221 = Math_fround(0), $561 = 0, $574 = 0, $599 = 0, $612 = 0, $636 = 0, $649 = 0, $211 = Math_fround(0), $247 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $8 = __stack_pointer - 736 | 0; + __stack_pointer = $8; + HEAP32[($8 + 728 | 0) >> 2] = $0; + HEAP32[($8 + 724 | 0) >> 2] = $1; + HEAP32[($8 + 720 | 0) >> 2] = $2; + HEAP32[($8 + 716 | 0) >> 2] = $3; + HEAP32[($8 + 712 | 0) >> 2] = $4; + HEAP32[($8 + 708 | 0) >> 2] = $5; + gjkepa2_impl__MinkowskiDiff__MinkowskiDiff_28_29($8 + 580 | 0 | 0) | 0; + gjkepa2_impl__Initialize_28btConvexShape_20const__2c_20btTransform_20const__2c_20btConvexShape_20const__2c_20btTransform_20const__2c_20btGjkEpaSolver2__sResults__2c_20gjkepa2_impl__MinkowskiDiff__2c_20bool_29(HEAP32[($8 + 728 | 0) >> 2] | 0 | 0, HEAP32[($8 + 724 | 0) >> 2] | 0 | 0, HEAP32[($8 + 720 | 0) >> 2] | 0 | 0, HEAP32[($8 + 716 | 0) >> 2] | 0 | 0, HEAP32[($8 + 708 | 0) >> 2] | 0 | 0, $8 + 580 | 0 | 0, 0 & 1 | 0 | 0); + gjkepa2_impl__GJK__GJK_28_29($8 + 200 | 0 | 0) | 0; + (wasm2js_i32$0 = $8, wasm2js_i32$1 = gjkepa2_impl__GJK__Evaluate_28gjkepa2_impl__MinkowskiDiff_20const__2c_20btVector3_20const__29($8 + 200 | 0 | 0, $8 + 580 | 0 | 0, HEAP32[($8 + 712 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 196 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + label$2 : { + if (HEAP32[($8 + 196 | 0) >> 2] | 0) { + break label$2 + } + HEAPF32[($8 + 176 | 0) >> 2] = Math_fround(0 | 0); + HEAPF32[($8 + 172 | 0) >> 2] = Math_fround(0 | 0); + HEAPF32[($8 + 168 | 0) >> 2] = Math_fround(0 | 0); + btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($8 + 180 | 0 | 0, $8 + 176 | 0 | 0, $8 + 172 | 0 | 0, $8 + 168 | 0 | 0) | 0; + HEAPF32[($8 + 148 | 0) >> 2] = Math_fround(0 | 0); + HEAPF32[($8 + 144 | 0) >> 2] = Math_fround(0 | 0); + HEAPF32[($8 + 140 | 0) >> 2] = Math_fround(0 | 0); + btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($8 + 152 | 0 | 0, $8 + 148 | 0 | 0, $8 + 144 | 0 | 0, $8 + 140 | 0 | 0) | 0; + HEAP32[($8 + 136 | 0) >> 2] = 0; + label$3 : { + label$4 : while (1) { + if (!((HEAP32[($8 + 136 | 0) >> 2] | 0) >>> 0 < (HEAP32[((HEAP32[($8 + 572 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$3 + } + HEAPF32[($8 + 132 | 0) >> 2] = Math_fround(HEAPF32[(((HEAP32[($8 + 572 | 0) >> 2] | 0) + 16 | 0) + ((HEAP32[($8 + 136 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2]); + gjkepa2_impl__MinkowskiDiff__Support_28btVector3_20const__2c_20unsigned_20int_29_20const($8 + 100 | 0 | 0, $8 + 580 | 0 | 0, HEAP32[((HEAP32[($8 + 572 | 0) >> 2] | 0) + ((HEAP32[($8 + 136 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0, 0 | 0); + operator__28btVector3_20const__2c_20float_20const__29($8 + 116 | 0 | 0, $8 + 100 | 0 | 0, $8 + 132 | 0 | 0); + btVector3__operator___28btVector3_20const__29_1($8 + 180 | 0 | 0, $8 + 116 | 0 | 0) | 0; + operator__28btVector3_20const__29($8 + 52 | 0 | 0, HEAP32[((HEAP32[($8 + 572 | 0) >> 2] | 0) + ((HEAP32[($8 + 136 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0); + gjkepa2_impl__MinkowskiDiff__Support_28btVector3_20const__2c_20unsigned_20int_29_20const($8 + 68 | 0 | 0, $8 + 580 | 0 | 0, $8 + 52 | 0 | 0, 1 | 0); + operator__28btVector3_20const__2c_20float_20const__29($8 + 84 | 0 | 0, $8 + 68 | 0 | 0, $8 + 132 | 0 | 0); + btVector3__operator___28btVector3_20const__29_1($8 + 152 | 0 | 0, $8 + 84 | 0 | 0) | 0; + HEAP32[($8 + 136 | 0) >> 2] = (HEAP32[($8 + 136 | 0) >> 2] | 0) + 1 | 0; + continue label$4; + }; + } + btTransform__operator__28btVector3_20const__29_20const($8 + 36 | 0 | 0, HEAP32[($8 + 724 | 0) >> 2] | 0 | 0, $8 + 180 | 0 | 0); + $162 = (HEAP32[($8 + 708 | 0) >> 2] | 0) + 4 | 0; + i64toi32_i32$2 = $8; + i64toi32_i32$0 = HEAP32[($8 + 36 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($8 + 40 | 0) >> 2] | 0; + $561 = i64toi32_i32$0; + i64toi32_i32$0 = $162; + HEAP32[i64toi32_i32$0 >> 2] = $561; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $164 = 8; + i64toi32_i32$2 = ($8 + 36 | 0) + $164 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $574 = i64toi32_i32$1; + i64toi32_i32$1 = $162 + $164 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $574; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + btTransform__operator__28btVector3_20const__29_20const($8 + 20 | 0 | 0, HEAP32[($8 + 724 | 0) >> 2] | 0 | 0, $8 + 152 | 0 | 0); + $181 = ((HEAP32[($8 + 708 | 0) >> 2] | 0) + 4 | 0) + 16 | 0; + i64toi32_i32$2 = $8; + i64toi32_i32$0 = HEAP32[($8 + 20 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($8 + 24 | 0) >> 2] | 0; + $599 = i64toi32_i32$0; + i64toi32_i32$0 = $181; + HEAP32[i64toi32_i32$0 >> 2] = $599; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $183 = 8; + i64toi32_i32$2 = ($8 + 20 | 0) + $183 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $612 = i64toi32_i32$1; + i64toi32_i32$1 = $181 + $183 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $612; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + operator__28btVector3_20const__2c_20btVector3_20const__29($8 + 4 | 0 | 0, $8 + 180 | 0 | 0, $8 + 152 | 0 | 0); + $200 = (HEAP32[($8 + 708 | 0) >> 2] | 0) + 36 | 0; + i64toi32_i32$2 = $8; + i64toi32_i32$0 = HEAP32[($8 + 4 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($8 + 8 | 0) >> 2] | 0; + $636 = i64toi32_i32$0; + i64toi32_i32$0 = $200; + HEAP32[i64toi32_i32$0 >> 2] = $636; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $202 = 8; + i64toi32_i32$2 = ($8 + 4 | 0) + $202 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $649 = i64toi32_i32$1; + i64toi32_i32$1 = $200 + $202 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $649; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + $211 = Math_fround(btVector3__length_28_29_20const((HEAP32[($8 + 708 | 0) >> 2] | 0) + 36 | 0 | 0)); + HEAPF32[((HEAP32[($8 + 708 | 0) >> 2] | 0) + 52 | 0) >> 2] = $211; + label$5 : { + label$6 : { + if (!(Math_fround(HEAPF32[((HEAP32[($8 + 708 | 0) >> 2] | 0) + 52 | 0) >> 2]) > Math_fround(9.999999747378752e-05) & 1 | 0)) { + break label$6 + } + $221 = Math_fround(HEAPF32[((HEAP32[($8 + 708 | 0) >> 2] | 0) + 52 | 0) >> 2]); + break label$5; + } + $221 = Math_fround(1.0); + } + HEAPF32[$8 >> 2] = $221; + btVector3__operator___28float_20const__29((HEAP32[($8 + 708 | 0) >> 2] | 0) + 36 | 0 | 0, $8 | 0) | 0; + HEAP8[($8 + 735 | 0) >> 0] = 1 & 1 | 0; + break label$1; + } + HEAP32[(HEAP32[($8 + 708 | 0) >> 2] | 0) >> 2] = (HEAP32[($8 + 196 | 0) >> 2] | 0 | 0) == (1 | 0) & 1 | 0 ? 1 : 2; + HEAP8[($8 + 735 | 0) >> 0] = 0 & 1 | 0; + } + $247 = (HEAPU8[($8 + 735 | 0) >> 0] | 0) & 1 | 0; + __stack_pointer = $8 + 736 | 0; + return $247 | 0; + } + + function gjkepa2_impl__MinkowskiDiff__MinkowskiDiff_28_29($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + btMatrix3x3__btMatrix3x3_28_29($4 + 8 | 0 | 0) | 0; + btTransform__btTransform_28_29($4 + 56 | 0 | 0) | 0; + __stack_pointer = $3 + 16 | 0; + return $4 | 0; + } + + function gjkepa2_impl__Initialize_28btConvexShape_20const__2c_20btTransform_20const__2c_20btConvexShape_20const__2c_20btTransform_20const__2c_20btGjkEpaSolver2__sResults__2c_20gjkepa2_impl__MinkowskiDiff__2c_20bool_29($0, $1, $2, $3, $4, $5, $6) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + $4 = $4 | 0; + $5 = $5 | 0; + $6 = $6 | 0; + var $9 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, $33 = 0, $35 = 0, $43 = 0, $45 = 0, $149 = 0, $162 = 0, $171 = 0, $181 = 0; + $9 = __stack_pointer - 176 | 0; + __stack_pointer = $9; + HEAP32[($9 + 172 | 0) >> 2] = $0; + HEAP32[($9 + 168 | 0) >> 2] = $1; + HEAP32[($9 + 164 | 0) >> 2] = $2; + HEAP32[($9 + 160 | 0) >> 2] = $3; + HEAP32[($9 + 156 | 0) >> 2] = $4; + HEAP32[($9 + 152 | 0) >> 2] = $5; + HEAP8[($9 + 151 | 0) >> 0] = $6; + HEAPF32[($9 + 128 | 0) >> 2] = Math_fround(0 | 0); + HEAPF32[($9 + 124 | 0) >> 2] = Math_fround(0 | 0); + HEAPF32[($9 + 120 | 0) >> 2] = Math_fround(0 | 0); + btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($9 + 132 | 0 | 0, $9 + 128 | 0 | 0, $9 + 124 | 0 | 0, $9 + 120 | 0 | 0) | 0; + $33 = ((HEAP32[($9 + 156 | 0) >> 2] | 0) + 4 | 0) + 16 | 0; + i64toi32_i32$2 = $9; + i64toi32_i32$0 = HEAP32[($9 + 132 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($9 + 136 | 0) >> 2] | 0; + $149 = i64toi32_i32$0; + i64toi32_i32$0 = $33; + HEAP32[i64toi32_i32$0 >> 2] = $149; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $35 = 8; + i64toi32_i32$2 = ($9 + 132 | 0) + $35 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $162 = i64toi32_i32$1; + i64toi32_i32$1 = $33 + $35 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $162; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + $43 = (HEAP32[($9 + 156 | 0) >> 2] | 0) + 4 | 0; + i64toi32_i32$2 = $33; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $171 = i64toi32_i32$0; + i64toi32_i32$0 = $43; + HEAP32[i64toi32_i32$0 >> 2] = $171; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $45 = 8; + i64toi32_i32$2 = i64toi32_i32$2 + $45 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $181 = i64toi32_i32$1; + i64toi32_i32$1 = $43 + $45 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $181; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + HEAP32[(HEAP32[($9 + 156 | 0) >> 2] | 0) >> 2] = 0; + HEAP32[(HEAP32[($9 + 152 | 0) >> 2] | 0) >> 2] = HEAP32[($9 + 172 | 0) >> 2] | 0; + HEAP32[((HEAP32[($9 + 152 | 0) >> 2] | 0) + 4 | 0) >> 2] = HEAP32[($9 + 164 | 0) >> 2] | 0; + btMatrix3x3__transposeTimes_28btMatrix3x3_20const__29_20const($9 + 72 | 0 | 0, btTransform__getBasis_28_29_20const(HEAP32[($9 + 160 | 0) >> 2] | 0 | 0) | 0 | 0, btTransform__getBasis_28_29_20const(HEAP32[($9 + 168 | 0) >> 2] | 0 | 0) | 0 | 0); + btMatrix3x3__operator__28btMatrix3x3_20const__29((HEAP32[($9 + 152 | 0) >> 2] | 0) + 8 | 0 | 0, $9 + 72 | 0 | 0) | 0; + btTransform__inverseTimes_28btTransform_20const__29_20const($9 + 8 | 0 | 0, HEAP32[($9 + 168 | 0) >> 2] | 0 | 0, HEAP32[($9 + 160 | 0) >> 2] | 0 | 0); + btTransform__operator__28btTransform_20const__29((HEAP32[($9 + 152 | 0) >> 2] | 0) + 56 | 0 | 0, $9 + 8 | 0 | 0) | 0; + gjkepa2_impl__MinkowskiDiff__EnableMargin_28bool_29(HEAP32[($9 + 152 | 0) >> 2] | 0 | 0, (HEAPU8[($9 + 151 | 0) >> 0] | 0) & 1 | 0 | 0); + __stack_pointer = $9 + 176 | 0; + return; + } + + function gjkepa2_impl__GJK__GJK_28_29($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0, $8 = 0, $11 = 0, $12 = 0, $14 = 0, $10 = 0, $20 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 8 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 8 | 0) >> 2] | 0; + HEAP32[($3 + 12 | 0) >> 2] = $4; + gjkepa2_impl__MinkowskiDiff__MinkowskiDiff_28_29($4 | 0) | 0; + btVector3__btVector3_28_29($4 + 128 | 0 | 0) | 0; + $8 = $4 + 220 | 0; + $10 = $8 + 128 | 0; + $11 = $8; + label$1 : while (1) { + $12 = $11; + gjkepa2_impl__GJK__sSV__sSV_28_29($12 | 0) | 0; + $14 = $12 + 32 | 0; + $11 = $14; + if (!(($14 | 0) == ($10 | 0) & 1 | 0)) { + continue label$1 + } + break label$1; + }; + gjkepa2_impl__GJK__Initialize_28_29($4 | 0); + $20 = HEAP32[($3 + 12 | 0) >> 2] | 0; + __stack_pointer = $3 + 16 | 0; + return $20 | 0; + } + + function gjkepa2_impl__GJK__Evaluate_28gjkepa2_impl__MinkowskiDiff_20const__2c_20btVector3_20const__29($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $5 = 0, $6 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, $110 = 0, $120 = 0, $130 = 0, $14 = 0, $17 = 0, $18 = 0, $20 = 0, $50 = 0, $52 = 0, $97 = 0, $99 = 0, $112 = 0, $122 = 0, $132 = 0, $138 = 0, $140 = 0, $234 = 0, $240 = 0, $242 = 0, $282 = 0, $368 = 0, $370 = 0, $415 = 0, $416 = 0, $453 = 0, $478 = 0, $486 = 0, $496 = 0, $16 = 0, $610 = 0, $620 = 0, $60 = 0, $703 = 0, $713 = 0, $731 = 0, $741 = 0, $752 = 0, $762 = 0, $773 = 0, $783 = 0, $791 = 0, $801 = 0, $168 = 0, $229 = 0, $999 = 0, $1009 = 0, $1257 = 0, $1270 = 0, $411 = Math_fround(0), $414 = 0, $450 = 0, $503 = 0, wasm2js_i32$0 = 0, wasm2js_f32$0 = Math_fround(0); + $5 = __stack_pointer - 288 | 0; + __stack_pointer = $5; + HEAP32[($5 + 284 | 0) >> 2] = $0; + HEAP32[($5 + 280 | 0) >> 2] = $1; + HEAP32[($5 + 276 | 0) >> 2] = $2; + $6 = HEAP32[($5 + 284 | 0) >> 2] | 0; + HEAP32[($5 + 272 | 0) >> 2] = 0; + HEAPF32[($5 + 268 | 0) >> 2] = Math_fround(0 | 0); + HEAPF32[($5 + 264 | 0) >> 2] = Math_fround(0 | 0); + $14 = $5 + 192 | 0; + $16 = $14 + 64 | 0; + $17 = $14; + label$1 : while (1) { + $18 = $17; + btVector3__btVector3_28_29($18 | 0) | 0; + $20 = $18 + 16 | 0; + $17 = $20; + if (!(($20 | 0) == ($16 | 0) & 1 | 0)) { + continue label$1 + } + break label$1; + }; + HEAP32[($5 + 188 | 0) >> 2] = 0; + HEAP32[($6 + 348 | 0) >> 2] = $6 + 220 | 0; + HEAP32[($6 + 352 | 0) >> 2] = ($6 + 220 | 0) + 32 | 0; + HEAP32[($6 + 356 | 0) >> 2] = ($6 + 220 | 0) + 64 | 0; + HEAP32[($6 + 360 | 0) >> 2] = ($6 + 220 | 0) + 96 | 0; + HEAP32[($6 + 364 | 0) >> 2] = 4; + HEAP32[($6 + 368 | 0) >> 2] = 0; + HEAP32[($6 + 376 | 0) >> 2] = 0; + gjkepa2_impl__MinkowskiDiff__operator__28gjkepa2_impl__MinkowskiDiff_20const__29($6 | 0, HEAP32[($5 + 280 | 0) >> 2] | 0 | 0) | 0; + HEAPF32[($6 + 144 | 0) >> 2] = Math_fround(0 | 0); + HEAP32[($6 + 180 | 0) >> 2] = 0; + $50 = $6 + 128 | 0; + i64toi32_i32$2 = HEAP32[($5 + 276 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $610 = i64toi32_i32$0; + i64toi32_i32$0 = $50; + HEAP32[i64toi32_i32$0 >> 2] = $610; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $52 = 8; + i64toi32_i32$2 = i64toi32_i32$2 + $52 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $620 = i64toi32_i32$1; + i64toi32_i32$1 = $50 + $52 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $620; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + (wasm2js_i32$0 = $5, wasm2js_f32$0 = Math_fround(btVector3__length2_28_29_20const($6 + 128 | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 184 | 0) >> 2] = wasm2js_f32$0; + $60 = $6 + 148 | 0; + label$2 : { + label$3 : { + if (!(Math_fround(HEAPF32[($5 + 184 | 0) >> 2]) > Math_fround(0 | 0) & 1 | 0)) { + break label$3 + } + operator__28btVector3_20const__29($5 + 168 | 0 | 0, $6 + 128 | 0 | 0); + break label$2; + } + HEAPF32[($5 + 164 | 0) >> 2] = Math_fround(1.0); + HEAPF32[($5 + 160 | 0) >> 2] = Math_fround(0 | 0); + HEAPF32[($5 + 156 | 0) >> 2] = Math_fround(0 | 0); + btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($5 + 168 | 0 | 0, $5 + 164 | 0 | 0, $5 + 160 | 0 | 0, $5 + 156 | 0 | 0) | 0; + } + gjkepa2_impl__GJK__appendvertice_28gjkepa2_impl__GJK__sSimplex__2c_20btVector3_20const__29($6 | 0, $60 | 0, $5 + 168 | 0 | 0); + HEAPF32[($6 + 164 | 0) >> 2] = Math_fround(1.0); + $97 = $6 + 128 | 0; + i64toi32_i32$2 = (HEAP32[($6 + 148 | 0) >> 2] | 0) + 16 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $703 = i64toi32_i32$0; + i64toi32_i32$0 = $97; + HEAP32[i64toi32_i32$0 >> 2] = $703; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $99 = 8; + i64toi32_i32$2 = i64toi32_i32$2 + $99 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $713 = i64toi32_i32$1; + i64toi32_i32$1 = $97 + $99 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $713; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + HEAPF32[($5 + 268 | 0) >> 2] = Math_fround(HEAPF32[($5 + 184 | 0) >> 2]); + $110 = ($5 + 192 | 0) + 48 | 0; + i64toi32_i32$2 = $6 + 128 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $731 = i64toi32_i32$0; + i64toi32_i32$0 = $110; + HEAP32[i64toi32_i32$0 >> 2] = $731; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $112 = 8; + i64toi32_i32$2 = i64toi32_i32$2 + $112 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $741 = i64toi32_i32$1; + i64toi32_i32$1 = $110 + $112 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $741; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + $120 = ($5 + 192 | 0) + 32 | 0; + i64toi32_i32$2 = $110; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $752 = i64toi32_i32$0; + i64toi32_i32$0 = $120; + HEAP32[i64toi32_i32$0 >> 2] = $752; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $122 = 8; + i64toi32_i32$2 = i64toi32_i32$2 + $122 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $762 = i64toi32_i32$1; + i64toi32_i32$1 = $120 + $122 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $762; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + $130 = ($5 + 192 | 0) + 16 | 0; + i64toi32_i32$2 = $120; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $773 = i64toi32_i32$0; + i64toi32_i32$0 = $130; + HEAP32[i64toi32_i32$0 >> 2] = $773; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $132 = 8; + i64toi32_i32$2 = i64toi32_i32$2 + $132 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $783 = i64toi32_i32$1; + i64toi32_i32$1 = $130 + $132 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $783; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + $138 = $5 + 192 | 0; + i64toi32_i32$2 = $130; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $791 = i64toi32_i32$0; + i64toi32_i32$0 = $138; + HEAP32[i64toi32_i32$0 >> 2] = $791; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $140 = 8; + i64toi32_i32$2 = i64toi32_i32$2 + $140 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $801 = i64toi32_i32$1; + i64toi32_i32$1 = $138 + $140 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $801; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + label$4 : { + label$5 : while (1) { + HEAP32[($5 + 152 | 0) >> 2] = 1 - (HEAP32[($6 + 368 | 0) >> 2] | 0) | 0; + HEAP32[($5 + 148 | 0) >> 2] = ($6 + 148 | 0) + Math_imul(HEAP32[($6 + 368 | 0) >> 2] | 0, 36) | 0; + HEAP32[($5 + 144 | 0) >> 2] = ($6 + 148 | 0) + Math_imul(HEAP32[($5 + 152 | 0) >> 2] | 0, 36) | 0; + (wasm2js_i32$0 = $5, wasm2js_f32$0 = Math_fround(btVector3__length_28_29_20const($6 + 128 | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 140 | 0) >> 2] = wasm2js_f32$0; + label$6 : { + if (!(Math_fround(HEAPF32[($5 + 140 | 0) >> 2]) < Math_fround(9.999999747378752e-05) & 1 | 0)) { + break label$6 + } + HEAP32[($6 + 376 | 0) >> 2] = 1; + break label$4; + } + $168 = HEAP32[($5 + 148 | 0) >> 2] | 0; + operator__28btVector3_20const__29($5 + 124 | 0 | 0, $6 + 128 | 0 | 0); + gjkepa2_impl__GJK__appendvertice_28gjkepa2_impl__GJK__sSimplex__2c_20btVector3_20const__29($6 | 0, $168 | 0, $5 + 124 | 0 | 0); + HEAP32[($5 + 120 | 0) >> 2] = (HEAP32[((HEAP32[($5 + 148 | 0) >> 2] | 0) + (((HEAP32[((HEAP32[($5 + 148 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0) - 1 | 0) << 2 | 0) | 0) >> 2] | 0) + 16 | 0; + HEAP8[($5 + 119 | 0) >> 0] = 0; + HEAP32[($5 + 112 | 0) >> 2] = 0; + label$7 : { + label$8 : while (1) { + if (!((HEAP32[($5 + 112 | 0) >> 2] | 0) >>> 0 < 4 >>> 0 & 1 | 0)) { + break label$7 + } + operator__28btVector3_20const__2c_20btVector3_20const__29($5 + 96 | 0 | 0, HEAP32[($5 + 120 | 0) >> 2] | 0 | 0, ($5 + 192 | 0) + ((HEAP32[($5 + 112 | 0) >> 2] | 0) << 4 | 0) | 0 | 0); + label$9 : { + if (!(Math_fround(btVector3__length2_28_29_20const($5 + 96 | 0 | 0)) < Math_fround(9.999999747378752e-05) & 1 | 0)) { + break label$9 + } + HEAP8[($5 + 119 | 0) >> 0] = 1; + break label$7; + } + HEAP32[($5 + 112 | 0) >> 2] = (HEAP32[($5 + 112 | 0) >> 2] | 0) + 1 | 0; + continue label$8; + }; + } + label$10 : { + if (!((HEAPU8[($5 + 119 | 0) >> 0] | 0) & 1 | 0)) { + break label$10 + } + gjkepa2_impl__GJK__removevertice_28gjkepa2_impl__GJK__sSimplex__29($6 | 0, ($6 + 148 | 0) + Math_imul(HEAP32[($6 + 368 | 0) >> 2] | 0, 36) | 0 | 0); + break label$4; + } + $229 = HEAP32[($5 + 120 | 0) >> 2] | 0; + $234 = ((HEAP32[($5 + 188 | 0) >> 2] | 0) + 1 | 0) & 3 | 0; + HEAP32[($5 + 188 | 0) >> 2] = $234; + $240 = ($5 + 192 | 0) + ($234 << 4 | 0) | 0; + i64toi32_i32$2 = $229; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $999 = i64toi32_i32$0; + i64toi32_i32$0 = $240; + HEAP32[i64toi32_i32$0 >> 2] = $999; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $242 = 8; + i64toi32_i32$2 = i64toi32_i32$2 + $242 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $1009 = i64toi32_i32$1; + i64toi32_i32$1 = $240 + $242 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $1009; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + (wasm2js_i32$0 = $5, wasm2js_f32$0 = Math_fround(Math_fround(btDot_28btVector3_20const__2c_20btVector3_20const__29($6 + 128 | 0 | 0, HEAP32[($5 + 120 | 0) >> 2] | 0 | 0)) / Math_fround(HEAPF32[($5 + 140 | 0) >> 2]))), HEAPF32[(wasm2js_i32$0 + 92 | 0) >> 2] = wasm2js_f32$0; + (wasm2js_i32$0 = $5, wasm2js_f32$0 = Math_fround(HEAPF32[(float_20const__20btMax_float__28float_20const__2c_20float_20const__29($5 + 92 | 0 | 0, $5 + 264 | 0 | 0) | 0) >> 2])), HEAPF32[(wasm2js_i32$0 + 264 | 0) >> 2] = wasm2js_f32$0; + label$11 : { + if (!(Math_fround(Math_fround(Math_fround(HEAPF32[($5 + 140 | 0) >> 2]) * Math_fround(-9.999999747378752e-05)) + Math_fround(Math_fround(HEAPF32[($5 + 140 | 0) >> 2]) - Math_fround(HEAPF32[($5 + 264 | 0) >> 2]))) <= Math_fround(0 | 0) & 1 | 0)) { + break label$11 + } + gjkepa2_impl__GJK__removevertice_28gjkepa2_impl__GJK__sSimplex__29($6 | 0, ($6 + 148 | 0) + Math_imul(HEAP32[($6 + 368 | 0) >> 2] | 0, 36) | 0 | 0); + break label$4; + } + HEAP32[($5 + 60 | 0) >> 2] = 0; + $282 = (HEAP32[((HEAP32[($5 + 148 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0) + -2 | 0; + label$12 : { + label$13 : { + switch ($282 | 0) { + case 0: + (wasm2js_i32$0 = $5, wasm2js_f32$0 = Math_fround(gjkepa2_impl__GJK__projectorigin_28btVector3_20const__2c_20btVector3_20const__2c_20float__2c_20unsigned_20int__29((HEAP32[(HEAP32[($5 + 148 | 0) >> 2] | 0) >> 2] | 0) + 16 | 0 | 0, (HEAP32[((HEAP32[($5 + 148 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + 16 | 0 | 0, $5 + 64 | 0 | 0, $5 + 60 | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 268 | 0) >> 2] = wasm2js_f32$0; + break label$12; + case 1: + (wasm2js_i32$0 = $5, wasm2js_f32$0 = Math_fround(gjkepa2_impl__GJK__projectorigin_28btVector3_20const__2c_20btVector3_20const__2c_20btVector3_20const__2c_20float__2c_20unsigned_20int__29((HEAP32[(HEAP32[($5 + 148 | 0) >> 2] | 0) >> 2] | 0) + 16 | 0 | 0, (HEAP32[((HEAP32[($5 + 148 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + 16 | 0 | 0, (HEAP32[((HEAP32[($5 + 148 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) + 16 | 0 | 0, $5 + 64 | 0 | 0, $5 + 60 | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 268 | 0) >> 2] = wasm2js_f32$0; + break label$12; + case 2: + break label$13; + default: + break label$12; + }; + } + (wasm2js_i32$0 = $5, wasm2js_f32$0 = Math_fround(gjkepa2_impl__GJK__projectorigin_28btVector3_20const__2c_20btVector3_20const__2c_20btVector3_20const__2c_20btVector3_20const__2c_20float__2c_20unsigned_20int__29((HEAP32[(HEAP32[($5 + 148 | 0) >> 2] | 0) >> 2] | 0) + 16 | 0 | 0, (HEAP32[((HEAP32[($5 + 148 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + 16 | 0 | 0, (HEAP32[((HEAP32[($5 + 148 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) + 16 | 0 | 0, (HEAP32[((HEAP32[($5 + 148 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + 16 | 0 | 0, $5 + 64 | 0 | 0, $5 + 60 | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 268 | 0) >> 2] = wasm2js_f32$0; + } + label$16 : { + label$17 : { + if (!(Math_fround(HEAPF32[($5 + 268 | 0) >> 2]) >= Math_fround(0 | 0) & 1 | 0)) { + break label$17 + } + HEAP32[((HEAP32[($5 + 144 | 0) >> 2] | 0) + 32 | 0) >> 2] = 0; + HEAPF32[($5 + 40 | 0) >> 2] = Math_fround(0 | 0); + HEAPF32[($5 + 36 | 0) >> 2] = Math_fround(0 | 0); + HEAPF32[($5 + 32 | 0) >> 2] = Math_fround(0 | 0); + btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($5 + 44 | 0 | 0, $5 + 40 | 0 | 0, $5 + 36 | 0 | 0, $5 + 32 | 0 | 0) | 0; + $368 = $6 + 128 | 0; + i64toi32_i32$2 = $5; + i64toi32_i32$0 = HEAP32[($5 + 44 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($5 + 48 | 0) >> 2] | 0; + $1257 = i64toi32_i32$0; + i64toi32_i32$0 = $368; + HEAP32[i64toi32_i32$0 >> 2] = $1257; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $370 = 8; + i64toi32_i32$2 = ($5 + 44 | 0) + $370 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $1270 = i64toi32_i32$1; + i64toi32_i32$1 = $368 + $370 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $1270; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($6 + 368 | 0) >> 2] = HEAP32[($5 + 152 | 0) >> 2] | 0; + HEAP32[($5 + 28 | 0) >> 2] = 0; + HEAP32[($5 + 24 | 0) >> 2] = HEAP32[((HEAP32[($5 + 148 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0; + label$18 : { + label$19 : while (1) { + if (!((HEAP32[($5 + 28 | 0) >> 2] | 0) >>> 0 < (HEAP32[($5 + 24 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$18 + } + label$20 : { + label$21 : { + if (!((HEAP32[($5 + 60 | 0) >> 2] | 0) & (1 << (HEAP32[($5 + 28 | 0) >> 2] | 0) | 0) | 0)) { + break label$21 + } + HEAP32[((HEAP32[($5 + 144 | 0) >> 2] | 0) + ((HEAP32[((HEAP32[($5 + 144 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = HEAP32[((HEAP32[($5 + 148 | 0) >> 2] | 0) + ((HEAP32[($5 + 28 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; + $411 = Math_fround(HEAPF32[(($5 + 64 | 0) + ((HEAP32[($5 + 28 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2]); + $414 = (HEAP32[($5 + 144 | 0) >> 2] | 0) + 16 | 0; + $415 = HEAP32[($5 + 144 | 0) >> 2] | 0; + $416 = HEAP32[($415 + 32 | 0) >> 2] | 0; + HEAP32[($415 + 32 | 0) >> 2] = $416 + 1 | 0; + HEAPF32[($414 + ($416 << 2 | 0) | 0) >> 2] = $411; + operator__28btVector3_20const__2c_20float_20const__29($5 + 8 | 0 | 0, (HEAP32[((HEAP32[($5 + 148 | 0) >> 2] | 0) + ((HEAP32[($5 + 28 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0) + 16 | 0 | 0, ($5 + 64 | 0) + ((HEAP32[($5 + 28 | 0) >> 2] | 0) << 2 | 0) | 0 | 0); + btVector3__operator___28btVector3_20const__29_1($6 + 128 | 0 | 0, $5 + 8 | 0 | 0) | 0; + break label$20; + } + $450 = HEAP32[((HEAP32[($5 + 148 | 0) >> 2] | 0) + ((HEAP32[($5 + 28 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; + $453 = HEAP32[($6 + 364 | 0) >> 2] | 0; + HEAP32[($6 + 364 | 0) >> 2] = $453 + 1 | 0; + HEAP32[(($6 + 348 | 0) + ($453 << 2 | 0) | 0) >> 2] = $450; + } + HEAP32[($5 + 28 | 0) >> 2] = (HEAP32[($5 + 28 | 0) >> 2] | 0) + 1 | 0; + continue label$19; + }; + } + label$22 : { + if (!((HEAP32[($5 + 60 | 0) >> 2] | 0 | 0) == (15 | 0) & 1 | 0)) { + break label$22 + } + HEAP32[($6 + 376 | 0) >> 2] = 1; + } + break label$16; + } + gjkepa2_impl__GJK__removevertice_28gjkepa2_impl__GJK__sSimplex__29($6 | 0, ($6 + 148 | 0) + Math_imul(HEAP32[($6 + 368 | 0) >> 2] | 0, 36) | 0 | 0); + break label$4; + } + $478 = (HEAP32[($5 + 272 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($5 + 272 | 0) >> 2] = $478; + label$23 : { + label$24 : { + if (!($478 >>> 0 < 128 >>> 0 & 1 | 0)) { + break label$24 + } + $486 = HEAP32[($6 + 376 | 0) >> 2] | 0; + break label$23; + } + $486 = 2; + } + HEAP32[($6 + 376 | 0) >> 2] = $486; + if (!(HEAP32[($6 + 376 | 0) >> 2] | 0)) { + continue label$5 + } + break label$5; + }; + } + HEAP32[($6 + 372 | 0) >> 2] = ($6 + Math_imul(HEAP32[($6 + 368 | 0) >> 2] | 0, 36) | 0) + 148 | 0; + $496 = HEAP32[($6 + 376 | 0) >> 2] | 0; + label$25 : { + label$26 : { + switch ($496 | 0) { + case 0: + (wasm2js_i32$0 = $6, wasm2js_f32$0 = Math_fround(btVector3__length_28_29_20const($6 + 128 | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 144 | 0) >> 2] = wasm2js_f32$0; + break label$25; + case 1: + HEAPF32[($6 + 144 | 0) >> 2] = Math_fround(0 | 0); + break label$25; + default: + break label$26; + }; + } + } + $503 = HEAP32[($6 + 376 | 0) >> 2] | 0; + __stack_pointer = $5 + 288 | 0; + return $503 | 0; + } + + function gjkepa2_impl__MinkowskiDiff__Support_28btVector3_20const__2c_20unsigned_20int_29_20const($0, $1, $2, $3) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + var $6 = 0, $7 = 0; + $6 = __stack_pointer - 16 | 0; + __stack_pointer = $6; + HEAP32[($6 + 12 | 0) >> 2] = $1; + HEAP32[($6 + 8 | 0) >> 2] = $2; + HEAP32[($6 + 4 | 0) >> 2] = $3; + $7 = HEAP32[($6 + 12 | 0) >> 2] | 0; + label$1 : { + label$2 : { + if (!(HEAP32[($6 + 4 | 0) >> 2] | 0)) { + break label$2 + } + gjkepa2_impl__MinkowskiDiff__Support1_28btVector3_20const__29_20const($0 | 0, $7 | 0, HEAP32[($6 + 8 | 0) >> 2] | 0 | 0); + break label$1; + } + gjkepa2_impl__MinkowskiDiff__Support0_28btVector3_20const__29_20const($0 | 0, $7 | 0, HEAP32[($6 + 8 | 0) >> 2] | 0 | 0); + } + __stack_pointer = $6 + 16 | 0; + return; + } + + function gjkepa2_impl__MinkowskiDiff__EnableMargin_28bool_29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, $6 = 0; + $4 = __stack_pointer - 16 | 0; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP8[($4 + 11 | 0) >> 0] = $1; + $6 = HEAP32[($4 + 12 | 0) >> 2] | 0; + label$1 : { + label$2 : { + if (!((HEAPU8[($4 + 11 | 0) >> 0] | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($6 + 120 | 0) >> 2] = 1025; + HEAP32[($6 + 124 | 0) >> 2] = 0; + break label$1; + } + HEAP32[($6 + 120 | 0) >> 2] = 1026; + HEAP32[($6 + 124 | 0) >> 2] = 0; + } + return; + } + + function gjkepa2_impl__GJK__sSV__sSV_28_29($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + btVector3__btVector3_28_29($4 | 0) | 0; + btVector3__btVector3_28_29($4 + 16 | 0 | 0) | 0; + __stack_pointer = $3 + 16 | 0; + return $4 | 0; + } + + function gjkepa2_impl__GJK__Initialize_28_29($0) { + $0 = $0 | 0; + var $3 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $4 = 0, i64toi32_i32$2 = 0, $22 = 0, $24 = 0, $82 = 0, $95 = 0; + $3 = __stack_pointer - 32 | 0; + __stack_pointer = $3; + HEAP32[($3 + 28 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 28 | 0) >> 2] | 0; + HEAPF32[($3 + 8 | 0) >> 2] = Math_fround(0 | 0); + HEAPF32[($3 + 4 | 0) >> 2] = Math_fround(0 | 0); + HEAPF32[$3 >> 2] = Math_fround(0 | 0); + btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($3 + 12 | 0 | 0, $3 + 8 | 0 | 0, $3 + 4 | 0 | 0, $3 | 0) | 0; + $22 = $4 + 128 | 0; + i64toi32_i32$2 = $3; + i64toi32_i32$0 = HEAP32[($3 + 12 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($3 + 16 | 0) >> 2] | 0; + $82 = i64toi32_i32$0; + i64toi32_i32$0 = $22; + HEAP32[i64toi32_i32$0 >> 2] = $82; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $24 = 8; + i64toi32_i32$2 = ($3 + 12 | 0) + $24 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $95 = i64toi32_i32$1; + i64toi32_i32$1 = $22 + $24 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $95; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($4 + 364 | 0) >> 2] = 0; + HEAP32[($4 + 376 | 0) >> 2] = 2; + HEAP32[($4 + 368 | 0) >> 2] = 0; + HEAPF32[($4 + 144 | 0) >> 2] = Math_fround(0 | 0); + __stack_pointer = $3 + 32 | 0; + return; + } + + function gjkepa2_impl__MinkowskiDiff__operator__28gjkepa2_impl__MinkowskiDiff_20const__29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, $5 = 0, i64toi32_i32$2 = 0, $8 = 0, $12 = 0, $16 = 0, $17 = 0, i64toi32_i32$1 = 0, $20 = 0; + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($4 + 8 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + HEAP32[$5 >> 2] = HEAP32[i64toi32_i32$2 >> 2] | 0; + HEAP32[($5 + 4 | 0) >> 2] = i64toi32_i32$1; + $8 = 8; + btMatrix3x3__operator__28btMatrix3x3_20const__29($5 + $8 | 0 | 0, (HEAP32[($4 + 8 | 0) >> 2] | 0) + $8 | 0 | 0) | 0; + $12 = 56; + btTransform__operator__28btTransform_20const__29($5 + $12 | 0 | 0, (HEAP32[($4 + 8 | 0) >> 2] | 0) + $12 | 0 | 0) | 0; + $16 = HEAP32[($4 + 8 | 0) >> 2] | 0; + $17 = 124; + $20 = HEAP32[($16 + 120 | 0) >> 2] | 0; + HEAP32[($5 + $17 | 0) >> 2] = HEAP32[($16 + $17 | 0) >> 2] | 0; + HEAP32[($5 + 120 | 0) >> 2] = $20; + __stack_pointer = $4 + 16 | 0; + return $5 | 0; + } + + function gjkepa2_impl__GJK__appendvertice_28gjkepa2_impl__GJK__sSimplex__2c_20btVector3_20const__29($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $5 = 0, $6 = 0, $21 = 0, $34 = 0, $35 = 0, $32 = 0, $33 = 0; + $5 = __stack_pointer - 16 | 0; + __stack_pointer = $5; + HEAP32[($5 + 12 | 0) >> 2] = $0; + HEAP32[($5 + 8 | 0) >> 2] = $1; + HEAP32[($5 + 4 | 0) >> 2] = $2; + $6 = HEAP32[($5 + 12 | 0) >> 2] | 0; + HEAPF32[(((HEAP32[($5 + 8 | 0) >> 2] | 0) + 16 | 0) + ((HEAP32[((HEAP32[($5 + 8 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = Math_fround(0 | 0); + $21 = (HEAP32[($6 + 364 | 0) >> 2] | 0) + -1 | 0; + HEAP32[($6 + 364 | 0) >> 2] = $21; + HEAP32[((HEAP32[($5 + 8 | 0) >> 2] | 0) + ((HEAP32[((HEAP32[($5 + 8 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = HEAP32[(($6 + 348 | 0) + ($21 << 2 | 0) | 0) >> 2] | 0; + $32 = HEAP32[($5 + 4 | 0) >> 2] | 0; + $33 = HEAP32[($5 + 8 | 0) >> 2] | 0; + $34 = HEAP32[($5 + 8 | 0) >> 2] | 0; + $35 = HEAP32[($34 + 32 | 0) >> 2] | 0; + HEAP32[($34 + 32 | 0) >> 2] = $35 + 1 | 0; + gjkepa2_impl__GJK__getsupport_28btVector3_20const__2c_20gjkepa2_impl__GJK__sSV__29_20const($6 | 0, $32 | 0, HEAP32[($33 + ($35 << 2 | 0) | 0) >> 2] | 0 | 0); + __stack_pointer = $5 + 16 | 0; + return; + } + + function gjkepa2_impl__GJK__removevertice_28gjkepa2_impl__GJK__sSimplex__29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, $5 = 0, $7 = 0, $10 = 0, $17 = 0, $6 = 0, $14 = 0; + $4 = __stack_pointer - 16 | 0; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; + $6 = HEAP32[($4 + 8 | 0) >> 2] | 0; + $7 = HEAP32[($4 + 8 | 0) >> 2] | 0; + $10 = (HEAP32[($7 + 32 | 0) >> 2] | 0) + -1 | 0; + HEAP32[($7 + 32 | 0) >> 2] = $10; + $14 = HEAP32[($6 + ($10 << 2 | 0) | 0) >> 2] | 0; + $17 = HEAP32[($5 + 364 | 0) >> 2] | 0; + HEAP32[($5 + 364 | 0) >> 2] = $17 + 1 | 0; + HEAP32[(($5 + 348 | 0) + ($17 << 2 | 0) | 0) >> 2] = $14; + return; + } + + function gjkepa2_impl__GJK__projectorigin_28btVector3_20const__2c_20btVector3_20const__2c_20float__2c_20unsigned_20int__29($0, $1, $2, $3) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + var $6 = 0, $36 = Math_fround(0), $69 = Math_fround(0), $76 = 0, $97 = Math_fround(0), wasm2js_i32$0 = 0, wasm2js_f32$0 = Math_fround(0); + $6 = __stack_pointer - 80 | 0; + __stack_pointer = $6; + HEAP32[($6 + 72 | 0) >> 2] = $0; + HEAP32[($6 + 68 | 0) >> 2] = $1; + HEAP32[($6 + 64 | 0) >> 2] = $2; + HEAP32[($6 + 60 | 0) >> 2] = $3; + operator__28btVector3_20const__2c_20btVector3_20const__29($6 + 44 | 0 | 0, HEAP32[($6 + 68 | 0) >> 2] | 0 | 0, HEAP32[($6 + 72 | 0) >> 2] | 0 | 0); + (wasm2js_i32$0 = $6, wasm2js_f32$0 = Math_fround(btVector3__length2_28_29_20const($6 + 44 | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 40 | 0) >> 2] = wasm2js_f32$0; + label$1 : { + label$2 : { + if (!(Math_fround(HEAPF32[($6 + 40 | 0) >> 2]) > Math_fround(0 | 0) & 1 | 0)) { + break label$2 + } + label$3 : { + label$4 : { + if (!(Math_fround(HEAPF32[($6 + 40 | 0) >> 2]) > Math_fround(0 | 0) & 1 | 0)) { + break label$4 + } + $36 = Math_fround(Math_fround(-Math_fround(btDot_28btVector3_20const__2c_20btVector3_20const__29(HEAP32[($6 + 72 | 0) >> 2] | 0 | 0, $6 + 44 | 0 | 0))) / Math_fround(HEAPF32[($6 + 40 | 0) >> 2])); + break label$3; + } + $36 = Math_fround(0 | 0); + } + HEAPF32[($6 + 36 | 0) >> 2] = $36; + label$5 : { + if (!(Math_fround(HEAPF32[($6 + 36 | 0) >> 2]) >= Math_fround(1.0) & 1 | 0)) { + break label$5 + } + HEAPF32[(HEAP32[($6 + 64 | 0) >> 2] | 0) >> 2] = Math_fround(0 | 0); + HEAPF32[((HEAP32[($6 + 64 | 0) >> 2] | 0) + 4 | 0) >> 2] = Math_fround(1.0); + HEAP32[(HEAP32[($6 + 60 | 0) >> 2] | 0) >> 2] = 2; + (wasm2js_i32$0 = $6, wasm2js_f32$0 = Math_fround(btVector3__length2_28_29_20const(HEAP32[($6 + 68 | 0) >> 2] | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 76 | 0) >> 2] = wasm2js_f32$0; + break label$1; + } + label$6 : { + if (!(Math_fround(HEAPF32[($6 + 36 | 0) >> 2]) <= Math_fround(0 | 0) & 1 | 0)) { + break label$6 + } + HEAPF32[(HEAP32[($6 + 64 | 0) >> 2] | 0) >> 2] = Math_fround(1.0); + HEAPF32[((HEAP32[($6 + 64 | 0) >> 2] | 0) + 4 | 0) >> 2] = Math_fround(0 | 0); + HEAP32[(HEAP32[($6 + 60 | 0) >> 2] | 0) >> 2] = 1; + (wasm2js_i32$0 = $6, wasm2js_f32$0 = Math_fround(btVector3__length2_28_29_20const(HEAP32[($6 + 72 | 0) >> 2] | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 76 | 0) >> 2] = wasm2js_f32$0; + break label$1; + } + $69 = Math_fround(HEAPF32[($6 + 36 | 0) >> 2]); + HEAPF32[((HEAP32[($6 + 64 | 0) >> 2] | 0) + 4 | 0) >> 2] = $69; + HEAPF32[(HEAP32[($6 + 64 | 0) >> 2] | 0) >> 2] = Math_fround(Math_fround(1.0) - $69); + HEAP32[(HEAP32[($6 + 60 | 0) >> 2] | 0) >> 2] = 3; + $76 = HEAP32[($6 + 72 | 0) >> 2] | 0; + operator__28btVector3_20const__2c_20float_20const__29($6 + 4 | 0 | 0, $6 + 44 | 0 | 0, $6 + 36 | 0 | 0); + operator__28btVector3_20const__2c_20btVector3_20const__29_2($6 + 20 | 0 | 0, $76 | 0, $6 + 4 | 0 | 0); + (wasm2js_i32$0 = $6, wasm2js_f32$0 = Math_fround(btVector3__length2_28_29_20const($6 + 20 | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 76 | 0) >> 2] = wasm2js_f32$0; + break label$1; + } + HEAPF32[($6 + 76 | 0) >> 2] = Math_fround(-1.0); + } + $97 = Math_fround(HEAPF32[($6 + 76 | 0) >> 2]); + __stack_pointer = $6 + 80 | 0; + return Math_fround($97); + } + + function gjkepa2_impl__GJK__projectorigin_28btVector3_20const__2c_20btVector3_20const__2c_20btVector3_20const__2c_20float__2c_20unsigned_20int__29($0, $1, $2, $3, $4) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + $4 = $4 | 0; + var $7 = 0, $13 = 0, $17 = 0, $133 = 0, $142 = 0, i64toi32_i32$0 = 0, $63 = 0, $135 = 0, $226 = Math_fround(0), $251 = Math_fround(0), $265 = Math_fround(0), wasm2js_i32$0 = 0, wasm2js_f32$0 = Math_fround(0); + $7 = __stack_pointer - 256 | 0; + __stack_pointer = $7; + HEAP32[($7 + 248 | 0) >> 2] = $0; + HEAP32[($7 + 244 | 0) >> 2] = $1; + HEAP32[($7 + 240 | 0) >> 2] = $2; + HEAP32[($7 + 236 | 0) >> 2] = $3; + HEAP32[($7 + 232 | 0) >> 2] = $4; + HEAP32[($7 + 220 | 0) >> 2] = HEAP32[($7 + 248 | 0) >> 2] | 0; + HEAP32[($7 + 224 | 0) >> 2] = HEAP32[($7 + 244 | 0) >> 2] | 0; + HEAP32[($7 + 228 | 0) >> 2] = HEAP32[($7 + 240 | 0) >> 2] | 0; + $13 = $7 + 160 | 0; + operator__28btVector3_20const__2c_20btVector3_20const__29($13 | 0, HEAP32[($7 + 248 | 0) >> 2] | 0 | 0, HEAP32[($7 + 244 | 0) >> 2] | 0 | 0); + $17 = $13 + 16 | 0; + operator__28btVector3_20const__2c_20btVector3_20const__29($17 | 0, HEAP32[($7 + 244 | 0) >> 2] | 0 | 0, HEAP32[($7 + 240 | 0) >> 2] | 0 | 0); + operator__28btVector3_20const__2c_20btVector3_20const__29($17 + 16 | 0 | 0, HEAP32[($7 + 240 | 0) >> 2] | 0 | 0, HEAP32[($7 + 248 | 0) >> 2] | 0 | 0); + btCross_28btVector3_20const__2c_20btVector3_20const__29($7 + 144 | 0 | 0, $7 + 160 | 0 | 0, ($7 + 160 | 0) + 16 | 0 | 0); + (wasm2js_i32$0 = $7, wasm2js_f32$0 = Math_fround(btVector3__length2_28_29_20const($7 + 144 | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 140 | 0) >> 2] = wasm2js_f32$0; + label$1 : { + label$2 : { + if (!(Math_fround(HEAPF32[($7 + 140 | 0) >> 2]) > Math_fround(0 | 0) & 1 | 0)) { + break label$2 + } + HEAPF32[($7 + 136 | 0) >> 2] = Math_fround(-1.0); + i64toi32_i32$0 = 0; + HEAP32[($7 + 128 | 0) >> 2] = 0; + HEAP32[($7 + 132 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($7 + 124 | 0) >> 2] = 0; + HEAP32[($7 + 120 | 0) >> 2] = 0; + label$3 : { + label$4 : while (1) { + if (!((HEAP32[($7 + 120 | 0) >> 2] | 0) >>> 0 < 3 >>> 0 & 1 | 0)) { + break label$3 + } + $63 = HEAP32[(($7 + 220 | 0) + ((HEAP32[($7 + 120 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; + btCross_28btVector3_20const__2c_20btVector3_20const__29($7 + 104 | 0 | 0, ($7 + 160 | 0) + ((HEAP32[($7 + 120 | 0) >> 2] | 0) << 4 | 0) | 0 | 0, $7 + 144 | 0 | 0); + label$5 : { + if (!(Math_fround(btDot_28btVector3_20const__2c_20btVector3_20const__29($63 | 0, $7 + 104 | 0 | 0)) > Math_fround(0 | 0) & 1 | 0)) { + break label$5 + } + HEAP32[($7 + 100 | 0) >> 2] = HEAP32[(101352 + ((HEAP32[($7 + 120 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; + (wasm2js_i32$0 = $7, wasm2js_f32$0 = Math_fround(gjkepa2_impl__GJK__projectorigin_28btVector3_20const__2c_20btVector3_20const__2c_20float__2c_20unsigned_20int__29(HEAP32[(($7 + 220 | 0) + ((HEAP32[($7 + 120 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0, HEAP32[(($7 + 220 | 0) + ((HEAP32[($7 + 100 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0, $7 + 128 | 0 | 0, $7 + 124 | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 96 | 0) >> 2] = wasm2js_f32$0; + label$6 : { + label$7 : { + if (Math_fround(HEAPF32[($7 + 136 | 0) >> 2]) < Math_fround(0 | 0) & 1 | 0) { + break label$7 + } + if (!(Math_fround(HEAPF32[($7 + 96 | 0) >> 2]) < Math_fround(HEAPF32[($7 + 136 | 0) >> 2]) & 1 | 0)) { + break label$6 + } + } + HEAPF32[($7 + 136 | 0) >> 2] = Math_fround(HEAPF32[($7 + 96 | 0) >> 2]); + label$8 : { + label$9 : { + if (!((HEAP32[($7 + 124 | 0) >> 2] | 0) & 1 | 0)) { + break label$9 + } + $133 = 1 << (HEAP32[($7 + 120 | 0) >> 2] | 0) | 0; + break label$8; + } + $133 = 0; + } + $135 = $133; + label$10 : { + label$11 : { + if (!((HEAP32[($7 + 124 | 0) >> 2] | 0) & 2 | 0)) { + break label$11 + } + $142 = 1 << (HEAP32[($7 + 100 | 0) >> 2] | 0) | 0; + break label$10; + } + $142 = 0; + } + HEAP32[(HEAP32[($7 + 232 | 0) >> 2] | 0) >> 2] = $135 + $142 | 0; + HEAPF32[((HEAP32[($7 + 236 | 0) >> 2] | 0) + ((HEAP32[($7 + 120 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = Math_fround(HEAPF32[($7 + 128 | 0) >> 2]); + HEAPF32[((HEAP32[($7 + 236 | 0) >> 2] | 0) + ((HEAP32[($7 + 100 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = Math_fround(HEAPF32[($7 + 132 | 0) >> 2]); + HEAPF32[((HEAP32[($7 + 236 | 0) >> 2] | 0) + ((HEAP32[(101352 + ((HEAP32[($7 + 100 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = Math_fround(0 | 0); + } + } + HEAP32[($7 + 120 | 0) >> 2] = (HEAP32[($7 + 120 | 0) >> 2] | 0) + 1 | 0; + continue label$4; + }; + } + label$12 : { + if (!(Math_fround(HEAPF32[($7 + 136 | 0) >> 2]) < Math_fround(0 | 0) & 1 | 0)) { + break label$12 + } + (wasm2js_i32$0 = $7, wasm2js_f32$0 = Math_fround(btDot_28btVector3_20const__2c_20btVector3_20const__29(HEAP32[($7 + 248 | 0) >> 2] | 0 | 0, $7 + 144 | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 92 | 0) >> 2] = wasm2js_f32$0; + (wasm2js_i32$0 = $7, wasm2js_f32$0 = Math_fround(btSqrt_28float_29(Math_fround(Math_fround(HEAPF32[($7 + 140 | 0) >> 2]))))), HEAPF32[(wasm2js_i32$0 + 88 | 0) >> 2] = wasm2js_f32$0; + HEAPF32[($7 + 68 | 0) >> 2] = Math_fround(Math_fround(HEAPF32[($7 + 92 | 0) >> 2]) / Math_fround(HEAPF32[($7 + 140 | 0) >> 2])); + operator__28btVector3_20const__2c_20float_20const__29($7 + 72 | 0 | 0, $7 + 144 | 0 | 0, $7 + 68 | 0 | 0); + (wasm2js_i32$0 = $7, wasm2js_f32$0 = Math_fround(btVector3__length2_28_29_20const($7 + 72 | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 136 | 0) >> 2] = wasm2js_f32$0; + HEAP32[(HEAP32[($7 + 232 | 0) >> 2] | 0) >> 2] = 7; + operator__28btVector3_20const__2c_20btVector3_20const__29($7 + 36 | 0 | 0, HEAP32[($7 + 244 | 0) >> 2] | 0 | 0, $7 + 72 | 0 | 0); + btCross_28btVector3_20const__2c_20btVector3_20const__29($7 + 52 | 0 | 0, ($7 + 160 | 0) + 16 | 0 | 0, $7 + 36 | 0 | 0); + $226 = Math_fround(btVector3__length_28_29_20const($7 + 52 | 0 | 0)); + HEAPF32[(HEAP32[($7 + 236 | 0) >> 2] | 0) >> 2] = Math_fround($226 / Math_fround(HEAPF32[($7 + 88 | 0) >> 2])); + operator__28btVector3_20const__2c_20btVector3_20const__29($7 + 4 | 0 | 0, HEAP32[($7 + 240 | 0) >> 2] | 0 | 0, $7 + 72 | 0 | 0); + btCross_28btVector3_20const__2c_20btVector3_20const__29($7 + 20 | 0 | 0, ($7 + 160 | 0) + 32 | 0 | 0, $7 + 4 | 0 | 0); + $251 = Math_fround(btVector3__length_28_29_20const($7 + 20 | 0 | 0)); + HEAPF32[((HEAP32[($7 + 236 | 0) >> 2] | 0) + 4 | 0) >> 2] = Math_fround($251 / Math_fround(HEAPF32[($7 + 88 | 0) >> 2])); + HEAPF32[((HEAP32[($7 + 236 | 0) >> 2] | 0) + 8 | 0) >> 2] = Math_fround(Math_fround(1.0) - Math_fround(Math_fround(HEAPF32[(HEAP32[($7 + 236 | 0) >> 2] | 0) >> 2]) + Math_fround(HEAPF32[((HEAP32[($7 + 236 | 0) >> 2] | 0) + 4 | 0) >> 2]))); + } + HEAPF32[($7 + 252 | 0) >> 2] = Math_fround(HEAPF32[($7 + 136 | 0) >> 2]); + break label$1; + } + HEAPF32[($7 + 252 | 0) >> 2] = Math_fround(-1.0); + } + $265 = Math_fround(HEAPF32[($7 + 252 | 0) >> 2]); + __stack_pointer = $7 + 256 | 0; + return Math_fround($265); + } + + function gjkepa2_impl__GJK__projectorigin_28btVector3_20const__2c_20btVector3_20const__2c_20btVector3_20const__2c_20btVector3_20const__2c_20float__2c_20unsigned_20int__29($0, $1, $2, $3, $4, $5) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + $4 = $4 | 0; + $5 = $5 | 0; + var $8 = 0, $15 = 0, $19 = 0, $173 = 0, $182 = 0, $40 = Math_fround(0), $41 = 0, i64toi32_i32$0 = 0, $101 = Math_fround(0), $102 = 0, $175 = 0, $236 = Math_fround(0), $243 = Math_fround(0), $250 = Math_fround(0), $267 = Math_fround(0), wasm2js_i32$0 = 0, wasm2js_f32$0 = Math_fround(0), wasm2js_i32$1 = 0; + $8 = __stack_pointer - 208 | 0; + __stack_pointer = $8; + HEAP32[($8 + 200 | 0) >> 2] = $0; + HEAP32[($8 + 196 | 0) >> 2] = $1; + HEAP32[($8 + 192 | 0) >> 2] = $2; + HEAP32[($8 + 188 | 0) >> 2] = $3; + HEAP32[($8 + 184 | 0) >> 2] = $4; + HEAP32[($8 + 180 | 0) >> 2] = $5; + HEAP32[($8 + 160 | 0) >> 2] = HEAP32[($8 + 200 | 0) >> 2] | 0; + HEAP32[($8 + 164 | 0) >> 2] = HEAP32[($8 + 196 | 0) >> 2] | 0; + HEAP32[($8 + 168 | 0) >> 2] = HEAP32[($8 + 192 | 0) >> 2] | 0; + HEAP32[($8 + 172 | 0) >> 2] = HEAP32[($8 + 188 | 0) >> 2] | 0; + $15 = $8 + 112 | 0; + operator__28btVector3_20const__2c_20btVector3_20const__29($15 | 0, HEAP32[($8 + 200 | 0) >> 2] | 0 | 0, HEAP32[($8 + 188 | 0) >> 2] | 0 | 0); + $19 = $15 + 16 | 0; + operator__28btVector3_20const__2c_20btVector3_20const__29($19 | 0, HEAP32[($8 + 196 | 0) >> 2] | 0 | 0, HEAP32[($8 + 188 | 0) >> 2] | 0 | 0); + operator__28btVector3_20const__2c_20btVector3_20const__29($19 + 16 | 0 | 0, HEAP32[($8 + 192 | 0) >> 2] | 0 | 0, HEAP32[($8 + 188 | 0) >> 2] | 0 | 0); + (wasm2js_i32$0 = $8, wasm2js_f32$0 = Math_fround(gjkepa2_impl__GJK__det_28btVector3_20const__2c_20btVector3_20const__2c_20btVector3_20const__29($8 + 112 | 0 | 0, ($8 + 112 | 0) + 16 | 0 | 0, ($8 + 112 | 0) + 32 | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 108 | 0) >> 2] = wasm2js_f32$0; + $40 = Math_fround(HEAPF32[($8 + 108 | 0) >> 2]); + $41 = HEAP32[($8 + 200 | 0) >> 2] | 0; + operator__28btVector3_20const__2c_20btVector3_20const__29($8 + 72 | 0 | 0, HEAP32[($8 + 196 | 0) >> 2] | 0 | 0, HEAP32[($8 + 192 | 0) >> 2] | 0 | 0); + operator__28btVector3_20const__2c_20btVector3_20const__29($8 + 56 | 0 | 0, HEAP32[($8 + 200 | 0) >> 2] | 0 | 0, HEAP32[($8 + 196 | 0) >> 2] | 0 | 0); + btCross_28btVector3_20const__2c_20btVector3_20const__29($8 + 88 | 0 | 0, $8 + 72 | 0 | 0, $8 + 56 | 0 | 0); + (wasm2js_i32$0 = $8, wasm2js_i32$1 = Math_fround($40 * Math_fround(btDot_28btVector3_20const__2c_20btVector3_20const__29($41 | 0, $8 + 88 | 0 | 0))) <= Math_fround(0 | 0) & 1 | 0), HEAP8[(wasm2js_i32$0 + 107 | 0) >> 0] = wasm2js_i32$1; + label$1 : { + label$2 : { + if (!((HEAPU8[($8 + 107 | 0) >> 0] | 0) & 1 | 0)) { + break label$2 + } + if (!(Math_fround(btFabs_28float_29(Math_fround(Math_fround(HEAPF32[($8 + 108 | 0) >> 2])))) > Math_fround(0 | 0) & 1 | 0)) { + break label$2 + } + HEAPF32[($8 + 52 | 0) >> 2] = Math_fround(-1.0); + HEAP32[($8 + 48 | 0) >> 2] = 0; + i64toi32_i32$0 = 0; + HEAP32[($8 + 40 | 0) >> 2] = 0; + HEAP32[($8 + 44 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($8 + 36 | 0) >> 2] = 0; + HEAP32[($8 + 32 | 0) >> 2] = 0; + label$3 : { + label$4 : while (1) { + if (!((HEAP32[($8 + 32 | 0) >> 2] | 0) >>> 0 < 3 >>> 0 & 1 | 0)) { + break label$3 + } + HEAP32[($8 + 28 | 0) >> 2] = HEAP32[(101364 + ((HEAP32[($8 + 32 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; + $101 = Math_fround(HEAPF32[($8 + 108 | 0) >> 2]); + $102 = HEAP32[($8 + 188 | 0) >> 2] | 0; + btCross_28btVector3_20const__2c_20btVector3_20const__29($8 + 8 | 0 | 0, ($8 + 112 | 0) + ((HEAP32[($8 + 32 | 0) >> 2] | 0) << 4 | 0) | 0 | 0, ($8 + 112 | 0) + ((HEAP32[($8 + 28 | 0) >> 2] | 0) << 4 | 0) | 0 | 0); + (wasm2js_i32$0 = $8, wasm2js_f32$0 = Math_fround($101 * Math_fround(btDot_28btVector3_20const__2c_20btVector3_20const__29($102 | 0, $8 + 8 | 0 | 0)))), HEAPF32[(wasm2js_i32$0 + 24 | 0) >> 2] = wasm2js_f32$0; + label$5 : { + if (!(Math_fround(HEAPF32[($8 + 24 | 0) >> 2]) > Math_fround(0 | 0) & 1 | 0)) { + break label$5 + } + (wasm2js_i32$0 = $8, wasm2js_f32$0 = Math_fround(gjkepa2_impl__GJK__projectorigin_28btVector3_20const__2c_20btVector3_20const__2c_20btVector3_20const__2c_20float__2c_20unsigned_20int__29(HEAP32[(($8 + 160 | 0) + ((HEAP32[($8 + 32 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0, HEAP32[(($8 + 160 | 0) + ((HEAP32[($8 + 28 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0, HEAP32[($8 + 188 | 0) >> 2] | 0 | 0, $8 + 40 | 0 | 0, $8 + 36 | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_f32$0; + label$6 : { + label$7 : { + if (Math_fround(HEAPF32[($8 + 52 | 0) >> 2]) < Math_fround(0 | 0) & 1 | 0) { + break label$7 + } + if (!(Math_fround(HEAPF32[($8 + 4 | 0) >> 2]) < Math_fround(HEAPF32[($8 + 52 | 0) >> 2]) & 1 | 0)) { + break label$6 + } + } + HEAPF32[($8 + 52 | 0) >> 2] = Math_fround(HEAPF32[($8 + 4 | 0) >> 2]); + label$8 : { + label$9 : { + if (!((HEAP32[($8 + 36 | 0) >> 2] | 0) & 1 | 0)) { + break label$9 + } + $173 = 1 << (HEAP32[($8 + 32 | 0) >> 2] | 0) | 0; + break label$8; + } + $173 = 0; + } + $175 = $173; + label$10 : { + label$11 : { + if (!((HEAP32[($8 + 36 | 0) >> 2] | 0) & 2 | 0)) { + break label$11 + } + $182 = 1 << (HEAP32[($8 + 28 | 0) >> 2] | 0) | 0; + break label$10; + } + $182 = 0; + } + HEAP32[(HEAP32[($8 + 180 | 0) >> 2] | 0) >> 2] = ($175 + $182 | 0) + ((HEAP32[($8 + 36 | 0) >> 2] | 0) & 4 | 0 ? 8 : 0) | 0; + HEAPF32[((HEAP32[($8 + 184 | 0) >> 2] | 0) + ((HEAP32[($8 + 32 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = Math_fround(HEAPF32[($8 + 40 | 0) >> 2]); + HEAPF32[((HEAP32[($8 + 184 | 0) >> 2] | 0) + ((HEAP32[($8 + 28 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = Math_fround(HEAPF32[($8 + 44 | 0) >> 2]); + HEAPF32[((HEAP32[($8 + 184 | 0) >> 2] | 0) + ((HEAP32[(101364 + ((HEAP32[($8 + 28 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = Math_fround(0 | 0); + HEAPF32[((HEAP32[($8 + 184 | 0) >> 2] | 0) + 12 | 0) >> 2] = Math_fround(HEAPF32[($8 + 48 | 0) >> 2]); + } + } + HEAP32[($8 + 32 | 0) >> 2] = (HEAP32[($8 + 32 | 0) >> 2] | 0) + 1 | 0; + continue label$4; + }; + } + label$12 : { + if (!(Math_fround(HEAPF32[($8 + 52 | 0) >> 2]) < Math_fround(0 | 0) & 1 | 0)) { + break label$12 + } + HEAPF32[($8 + 52 | 0) >> 2] = Math_fround(0 | 0); + HEAP32[(HEAP32[($8 + 180 | 0) >> 2] | 0) >> 2] = 15; + $236 = Math_fround(gjkepa2_impl__GJK__det_28btVector3_20const__2c_20btVector3_20const__2c_20btVector3_20const__29(HEAP32[($8 + 192 | 0) >> 2] | 0 | 0, HEAP32[($8 + 196 | 0) >> 2] | 0 | 0, HEAP32[($8 + 188 | 0) >> 2] | 0 | 0)); + HEAPF32[(HEAP32[($8 + 184 | 0) >> 2] | 0) >> 2] = Math_fround($236 / Math_fround(HEAPF32[($8 + 108 | 0) >> 2])); + $243 = Math_fround(gjkepa2_impl__GJK__det_28btVector3_20const__2c_20btVector3_20const__2c_20btVector3_20const__29(HEAP32[($8 + 200 | 0) >> 2] | 0 | 0, HEAP32[($8 + 192 | 0) >> 2] | 0 | 0, HEAP32[($8 + 188 | 0) >> 2] | 0 | 0)); + HEAPF32[((HEAP32[($8 + 184 | 0) >> 2] | 0) + 4 | 0) >> 2] = Math_fround($243 / Math_fround(HEAPF32[($8 + 108 | 0) >> 2])); + $250 = Math_fround(gjkepa2_impl__GJK__det_28btVector3_20const__2c_20btVector3_20const__2c_20btVector3_20const__29(HEAP32[($8 + 196 | 0) >> 2] | 0 | 0, HEAP32[($8 + 200 | 0) >> 2] | 0 | 0, HEAP32[($8 + 188 | 0) >> 2] | 0 | 0)); + HEAPF32[((HEAP32[($8 + 184 | 0) >> 2] | 0) + 8 | 0) >> 2] = Math_fround($250 / Math_fround(HEAPF32[($8 + 108 | 0) >> 2])); + HEAPF32[((HEAP32[($8 + 184 | 0) >> 2] | 0) + 12 | 0) >> 2] = Math_fround(Math_fround(1.0) - Math_fround(Math_fround(Math_fround(HEAPF32[(HEAP32[($8 + 184 | 0) >> 2] | 0) >> 2]) + Math_fround(HEAPF32[((HEAP32[($8 + 184 | 0) >> 2] | 0) + 4 | 0) >> 2])) + Math_fround(HEAPF32[((HEAP32[($8 + 184 | 0) >> 2] | 0) + 8 | 0) >> 2]))); + } + HEAPF32[($8 + 204 | 0) >> 2] = Math_fround(HEAPF32[($8 + 52 | 0) >> 2]); + break label$1; + } + HEAPF32[($8 + 204 | 0) >> 2] = Math_fround(-1.0); + } + $267 = Math_fround(HEAPF32[($8 + 204 | 0) >> 2]); + __stack_pointer = $8 + 208 | 0; + return Math_fround($267); + } + + function gjkepa2_impl__MinkowskiDiff__Support1_28btVector3_20const__29_20const($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $5 = 0, $6 = 0, $12 = 0, $13 = 0, $16 = 0, $22 = 0, $8 = 0; + $5 = __stack_pointer - 48 | 0; + __stack_pointer = $5; + HEAP32[($5 + 44 | 0) >> 2] = $1; + HEAP32[($5 + 40 | 0) >> 2] = $2; + $6 = HEAP32[($5 + 44 | 0) >> 2] | 0; + $8 = $6 + 56 | 0; + $12 = HEAP32[($6 + 124 | 0) >> 2] | 0; + $13 = HEAP32[($6 + 120 | 0) >> 2] | 0; + $16 = (HEAP32[($6 + 4 | 0) >> 2] | 0) + ($12 >> 1 | 0) | 0; + label$1 : { + label$2 : { + if (!($12 & 1 | 0)) { + break label$2 + } + $22 = HEAP32[((HEAP32[$16 >> 2] | 0) + $13 | 0) >> 2] | 0; + break label$1; + } + $22 = $13; + } + operator__28btMatrix3x3_20const__2c_20btVector3_20const__29($5 + 8 | 0 | 0, $6 + 8 | 0 | 0, HEAP32[($5 + 40 | 0) >> 2] | 0 | 0); + FUNCTION_TABLE[$22 | 0]($5 + 24 | 0, $16, $5 + 8 | 0); + btTransform__operator__28btVector3_20const__29_20const($0 | 0, $8 | 0, $5 + 24 | 0 | 0); + __stack_pointer = $5 + 48 | 0; + return; + } + + function gjkepa2_impl__MinkowskiDiff__Support0_28btVector3_20const__29_20const($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $5 = 0, $6 = 0, $10 = 0, $11 = 0, $14 = 0, $20 = 0; + $5 = __stack_pointer - 16 | 0; + __stack_pointer = $5; + HEAP32[($5 + 12 | 0) >> 2] = $1; + HEAP32[($5 + 8 | 0) >> 2] = $2; + $6 = HEAP32[($5 + 12 | 0) >> 2] | 0; + $10 = HEAP32[($6 + 124 | 0) >> 2] | 0; + $11 = HEAP32[($6 + 120 | 0) >> 2] | 0; + $14 = (HEAP32[$6 >> 2] | 0) + ($10 >> 1 | 0) | 0; + label$1 : { + label$2 : { + if (!($10 & 1 | 0)) { + break label$2 + } + $20 = HEAP32[((HEAP32[$14 >> 2] | 0) + $11 | 0) >> 2] | 0; + break label$1; + } + $20 = $11; + } + FUNCTION_TABLE[$20 | 0]($0, $14, HEAP32[($5 + 8 | 0) >> 2] | 0); + __stack_pointer = $5 + 16 | 0; + return; + } + + function btGjkEpaSolver2__Penetration_28btConvexShape_20const__2c_20btTransform_20const__2c_20btConvexShape_20const__2c_20btTransform_20const__2c_20btVector3_20const__2c_20btGjkEpaSolver2__sResults__2c_20bool_29($0, $1, $2, $3, $4, $5, $6) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + $4 = $4 | 0; + $5 = $5 | 0; + $6 = $6 | 0; + var $9 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, $10 = 0, $37 = 0, $142 = 0, $144 = 0, $183 = 0, $185 = 0, $201 = 0, $203 = 0, $509 = 0, $522 = 0, $150 = 0, $583 = 0, $596 = 0, $618 = 0, $631 = 0, $224 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $9 = __stack_pointer - 19248 | 0; + __stack_pointer = $9; + HEAP32[($9 + 19240 | 0) >> 2] = $0; + HEAP32[($9 + 19236 | 0) >> 2] = $1; + HEAP32[($9 + 19232 | 0) >> 2] = $2; + HEAP32[($9 + 19228 | 0) >> 2] = $3; + HEAP32[($9 + 19224 | 0) >> 2] = $4; + HEAP32[($9 + 19220 | 0) >> 2] = $5; + $10 = 1; + HEAP8[($9 + 19219 | 0) >> 0] = $6 & $10 | 0; + gjkepa2_impl__MinkowskiDiff__MinkowskiDiff_28_29($9 + 19088 | 0 | 0) | 0; + gjkepa2_impl__Initialize_28btConvexShape_20const__2c_20btTransform_20const__2c_20btConvexShape_20const__2c_20btTransform_20const__2c_20btGjkEpaSolver2__sResults__2c_20gjkepa2_impl__MinkowskiDiff__2c_20bool_29(HEAP32[($9 + 19240 | 0) >> 2] | 0 | 0, HEAP32[($9 + 19236 | 0) >> 2] | 0 | 0, HEAP32[($9 + 19232 | 0) >> 2] | 0 | 0, HEAP32[($9 + 19228 | 0) >> 2] | 0 | 0, HEAP32[($9 + 19220 | 0) >> 2] | 0 | 0, $9 + 19088 | 0 | 0, (HEAPU8[($9 + 19219 | 0) >> 0] | 0) & $10 | 0 | 0); + gjkepa2_impl__GJK__GJK_28_29($9 + 18708 | 0 | 0) | 0; + operator__28btVector3_20const__29($9 + 18688 | 0 | 0, HEAP32[($9 + 19224 | 0) >> 2] | 0 | 0); + (wasm2js_i32$0 = $9, wasm2js_i32$1 = gjkepa2_impl__GJK__Evaluate_28gjkepa2_impl__MinkowskiDiff_20const__2c_20btVector3_20const__29($9 + 18708 | 0 | 0, $9 + 19088 | 0 | 0, $9 + 18688 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 18704 | 0) >> 2] = wasm2js_i32$1; + $37 = (HEAP32[($9 + 18704 | 0) >> 2] | 0) + -1 | 0; + label$1 : { + label$2 : { + label$3 : { + switch ($37 | 0) { + case 0: + gjkepa2_impl__EPA__EPA_28_29($9 + 176 | 0 | 0) | 0; + operator__28btVector3_20const__29($9 + 156 | 0 | 0, HEAP32[($9 + 19224 | 0) >> 2] | 0 | 0); + (wasm2js_i32$0 = $9, wasm2js_i32$1 = gjkepa2_impl__EPA__Evaluate_28gjkepa2_impl__GJK__2c_20btVector3_20const__29($9 + 176 | 0 | 0, $9 + 18708 | 0 | 0, $9 + 156 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 172 | 0) >> 2] = wasm2js_i32$1; + label$6 : { + if (!((HEAP32[($9 + 172 | 0) >> 2] | 0 | 0) != (9 | 0) & 1 | 0)) { + break label$6 + } + HEAPF32[($9 + 136 | 0) >> 2] = Math_fround(0 | 0); + HEAPF32[($9 + 132 | 0) >> 2] = Math_fround(0 | 0); + HEAPF32[($9 + 128 | 0) >> 2] = Math_fround(0 | 0); + btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($9 + 140 | 0 | 0, $9 + 136 | 0 | 0, $9 + 132 | 0 | 0, $9 + 128 | 0 | 0) | 0; + HEAP32[($9 + 124 | 0) >> 2] = 0; + label$7 : { + label$8 : while (1) { + if (!((HEAP32[($9 + 124 | 0) >> 2] | 0) >>> 0 < (HEAP32[($9 + 212 | 0) >> 2] | 0) >>> 0 & 1 | 0)) { + break label$7 + } + gjkepa2_impl__MinkowskiDiff__Support_28btVector3_20const__2c_20unsigned_20int_29_20const($9 + 92 | 0 | 0, $9 + 19088 | 0 | 0, HEAP32[((($9 + 176 | 0) + 4 | 0) + ((HEAP32[($9 + 124 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0, 0 | 0); + operator__28btVector3_20const__2c_20float_20const__29($9 + 108 | 0 | 0, $9 + 92 | 0 | 0, ((($9 + 176 | 0) + 4 | 0) + 16 | 0) + ((HEAP32[($9 + 124 | 0) >> 2] | 0) << 2 | 0) | 0 | 0); + btVector3__operator___28btVector3_20const__29_1($9 + 140 | 0 | 0, $9 + 108 | 0 | 0) | 0; + HEAP32[($9 + 124 | 0) >> 2] = (HEAP32[($9 + 124 | 0) >> 2] | 0) + 1 | 0; + continue label$8; + }; + } + HEAP32[(HEAP32[($9 + 19220 | 0) >> 2] | 0) >> 2] = 1; + btTransform__operator__28btVector3_20const__29_20const($9 + 76 | 0 | 0, HEAP32[($9 + 19236 | 0) >> 2] | 0 | 0, $9 + 140 | 0 | 0); + $142 = (HEAP32[($9 + 19220 | 0) >> 2] | 0) + 4 | 0; + i64toi32_i32$2 = $9; + i64toi32_i32$0 = HEAP32[($9 + 76 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($9 + 80 | 0) >> 2] | 0; + $509 = i64toi32_i32$0; + i64toi32_i32$0 = $142; + HEAP32[i64toi32_i32$0 >> 2] = $509; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $144 = 8; + i64toi32_i32$2 = ($9 + 76 | 0) + $144 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $522 = i64toi32_i32$1; + i64toi32_i32$1 = $142 + $144 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $522; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + $150 = HEAP32[($9 + 19236 | 0) >> 2] | 0; + operator__28btVector3_20const__2c_20float_20const__29($9 + 28 | 0 | 0, ($9 + 176 | 0) + 40 | 0 | 0, ($9 + 176 | 0) + 56 | 0 | 0); + operator__28btVector3_20const__2c_20btVector3_20const__29($9 + 44 | 0 | 0, $9 + 140 | 0 | 0, $9 + 28 | 0 | 0); + btTransform__operator__28btVector3_20const__29_20const($9 + 60 | 0 | 0, $150 | 0, $9 + 44 | 0 | 0); + $183 = ((HEAP32[($9 + 19220 | 0) >> 2] | 0) + 4 | 0) + 16 | 0; + i64toi32_i32$2 = $9; + i64toi32_i32$0 = HEAP32[($9 + 60 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($9 + 64 | 0) >> 2] | 0; + $583 = i64toi32_i32$0; + i64toi32_i32$0 = $183; + HEAP32[i64toi32_i32$0 >> 2] = $583; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $185 = 8; + i64toi32_i32$2 = ($9 + 60 | 0) + $185 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $596 = i64toi32_i32$1; + i64toi32_i32$1 = $183 + $185 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $596; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + operator__28btVector3_20const__29($9 + 12 | 0 | 0, ($9 + 176 | 0) + 40 | 0 | 0); + $201 = (HEAP32[($9 + 19220 | 0) >> 2] | 0) + 36 | 0; + i64toi32_i32$2 = $9; + i64toi32_i32$0 = HEAP32[($9 + 12 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($9 + 16 | 0) >> 2] | 0; + $618 = i64toi32_i32$0; + i64toi32_i32$0 = $201; + HEAP32[i64toi32_i32$0 >> 2] = $618; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $203 = 8; + i64toi32_i32$2 = ($9 + 12 | 0) + $203 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $631 = i64toi32_i32$1; + i64toi32_i32$1 = $201 + $203 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $631; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + HEAPF32[((HEAP32[($9 + 19220 | 0) >> 2] | 0) + 52 | 0) >> 2] = Math_fround(-Math_fround(HEAPF32[($9 + 232 | 0) >> 2])); + HEAP8[($9 + 19247 | 0) >> 0] = 1 & 1 | 0; + break label$1; + } + HEAP32[(HEAP32[($9 + 19220 | 0) >> 2] | 0) >> 2] = 3; + break label$2; + case 1: + HEAP32[(HEAP32[($9 + 19220 | 0) >> 2] | 0) >> 2] = 2; + break label$2; + default: + break label$3; + }; + } + } + HEAP8[($9 + 19247 | 0) >> 0] = 0 & 1 | 0; + } + $224 = (HEAPU8[($9 + 19247 | 0) >> 0] | 0) & 1 | 0; + __stack_pointer = $9 + 19248 | 0; + return $224 | 0; + } + + function gjkepa2_impl__EPA__EPA_28_29($0) { + $0 = $0 | 0; + var $4 = 0, $3 = 0, $8 = 0, $11 = 0, $12 = 0, $14 = 0, $21 = 0, $24 = 0, $25 = 0, $27 = 0, $10 = 0, $23 = 0, $37 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 8 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 8 | 0) >> 2] | 0; + HEAP32[($3 + 12 | 0) >> 2] = $4; + btVector3__btVector3_28_29($4 + 40 | 0 | 0) | 0; + $8 = $4 + 60 | 0; + $10 = $8 + 4096 | 0; + $11 = $8; + label$1 : while (1) { + $12 = $11; + gjkepa2_impl__GJK__sSV__sSV_28_29($12 | 0) | 0; + $14 = $12 + 32 | 0; + $11 = $14; + if (!(($14 | 0) == ($10 | 0) & 1 | 0)) { + continue label$1 + } + break label$1; + }; + $21 = $4 + 4156 | 0; + $23 = $21 + 14336 | 0; + $24 = $21; + label$2 : while (1) { + $25 = $24; + gjkepa2_impl__EPA__sFace__sFace_28_29($25 | 0) | 0; + $27 = $25 + 56 | 0; + $24 = $27; + if (!(($27 | 0) == ($23 | 0) & 1 | 0)) { + continue label$2 + } + break label$2; + }; + gjkepa2_impl__EPA__sList__sList_28_29($4 + 18496 | 0 | 0) | 0; + gjkepa2_impl__EPA__sList__sList_28_29($4 + 18504 | 0 | 0) | 0; + gjkepa2_impl__EPA__Initialize_28_29($4 | 0); + $37 = HEAP32[($3 + 12 | 0) >> 2] | 0; + __stack_pointer = $3 + 16 | 0; + return $37 | 0; + } + + function gjkepa2_impl__EPA__Evaluate_28gjkepa2_impl__GJK__2c_20btVector3_20const__29($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $5 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, $6 = 0, $145 = 0, $327 = 0, $146 = 0, $152 = 0, $158 = 0, $164 = 0, $170 = 0, $176 = 0, $187 = 0, $228 = 0, $237 = 0, $264 = 0, $328 = 0, $334 = 0, $340 = 0, $346 = 0, $352 = 0, $358 = 0, $386 = 0, $388 = 0, $511 = 0, $513 = 0, $537 = 0, $539 = 0, $563 = 0, $565 = 0, $892 = 0, $905 = 0, $918 = 0, $931 = 0, $944 = 0, $957 = 0, $961 = 0, $292 = 0, $1271 = 0, $1284 = 0, $1297 = 0, $1310 = 0, $1323 = 0, $1336 = 0, $1340 = 0, $1382 = 0, $1392 = 0, $1637 = 0, $1650 = 0, $1690 = 0, $1703 = 0, $1741 = 0, $1754 = 0, $578 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0, wasm2js_f32$0 = Math_fround(0); + $5 = __stack_pointer - 432 | 0; + __stack_pointer = $5; + HEAP32[($5 + 424 | 0) >> 2] = $0; + HEAP32[($5 + 420 | 0) >> 2] = $1; + HEAP32[($5 + 416 | 0) >> 2] = $2; + $6 = HEAP32[($5 + 424 | 0) >> 2] | 0; + HEAP32[($5 + 412 | 0) >> 2] = HEAP32[((HEAP32[($5 + 420 | 0) >> 2] | 0) + 372 | 0) >> 2] | 0; + label$1 : { + label$2 : { + if (!((HEAP32[((HEAP32[($5 + 412 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0) >>> 0 > 1 >>> 0 & 1 | 0)) { + break label$2 + } + if (!((gjkepa2_impl__GJK__EncloseOrigin_28_29(HEAP32[($5 + 420 | 0) >> 2] | 0 | 0) | 0) & 1 | 0)) { + break label$2 + } + label$3 : { + label$4 : while (1) { + if (!((HEAP32[($6 + 18496 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$3 + } + HEAP32[($5 + 408 | 0) >> 2] = HEAP32[($6 + 18496 | 0) >> 2] | 0; + gjkepa2_impl__EPA__remove_28gjkepa2_impl__EPA__sList__2c_20gjkepa2_impl__EPA__sFace__29($6 + 18496 | 0 | 0, HEAP32[($5 + 408 | 0) >> 2] | 0 | 0); + gjkepa2_impl__EPA__append_28gjkepa2_impl__EPA__sList__2c_20gjkepa2_impl__EPA__sFace__29($6 + 18504 | 0 | 0, HEAP32[($5 + 408 | 0) >> 2] | 0 | 0); + continue label$4; + }; + } + HEAP32[$6 >> 2] = 0; + HEAP32[($6 + 18492 | 0) >> 2] = 0; + operator__28btVector3_20const__2c_20btVector3_20const__29($5 + 392 | 0 | 0, (HEAP32[(HEAP32[($5 + 412 | 0) >> 2] | 0) >> 2] | 0) + 16 | 0 | 0, (HEAP32[((HEAP32[($5 + 412 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + 16 | 0 | 0); + operator__28btVector3_20const__2c_20btVector3_20const__29($5 + 376 | 0 | 0, (HEAP32[((HEAP32[($5 + 412 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + 16 | 0 | 0, (HEAP32[((HEAP32[($5 + 412 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + 16 | 0 | 0); + operator__28btVector3_20const__2c_20btVector3_20const__29($5 + 360 | 0 | 0, (HEAP32[((HEAP32[($5 + 412 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) + 16 | 0 | 0, (HEAP32[((HEAP32[($5 + 412 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + 16 | 0 | 0); + label$5 : { + if (!(Math_fround(gjkepa2_impl__GJK__det_28btVector3_20const__2c_20btVector3_20const__2c_20btVector3_20const__29($5 + 392 | 0 | 0, $5 + 376 | 0 | 0, $5 + 360 | 0 | 0)) < Math_fround(0 | 0) & 1 | 0)) { + break label$5 + } + void_20btSwap_gjkepa2_impl__GJK__sSV___28gjkepa2_impl__GJK__sSV___2c_20gjkepa2_impl__GJK__sSV___29(HEAP32[($5 + 412 | 0) >> 2] | 0 | 0, (HEAP32[($5 + 412 | 0) >> 2] | 0) + 4 | 0 | 0); + void_20btSwap_float__28float__2c_20float__29((HEAP32[($5 + 412 | 0) >> 2] | 0) + 16 | 0 | 0, ((HEAP32[($5 + 412 | 0) >> 2] | 0) + 16 | 0) + 4 | 0 | 0); + } + (wasm2js_i32$0 = $5, wasm2js_i32$1 = gjkepa2_impl__EPA__newface_28gjkepa2_impl__GJK__sSV__2c_20gjkepa2_impl__GJK__sSV__2c_20gjkepa2_impl__GJK__sSV__2c_20bool_29($6 | 0, HEAP32[(HEAP32[($5 + 412 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($5 + 412 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($5 + 412 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0, 1 & 1 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 336 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $5, wasm2js_i32$1 = gjkepa2_impl__EPA__newface_28gjkepa2_impl__GJK__sSV__2c_20gjkepa2_impl__GJK__sSV__2c_20gjkepa2_impl__GJK__sSV__2c_20bool_29($6 | 0, HEAP32[((HEAP32[($5 + 412 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0, HEAP32[(HEAP32[($5 + 412 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($5 + 412 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0, 1 & 1 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 340 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $5, wasm2js_i32$1 = gjkepa2_impl__EPA__newface_28gjkepa2_impl__GJK__sSV__2c_20gjkepa2_impl__GJK__sSV__2c_20gjkepa2_impl__GJK__sSV__2c_20bool_29($6 | 0, HEAP32[((HEAP32[($5 + 412 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($5 + 412 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($5 + 412 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0, 1 & 1 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 344 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $5, wasm2js_i32$1 = gjkepa2_impl__EPA__newface_28gjkepa2_impl__GJK__sSV__2c_20gjkepa2_impl__GJK__sSV__2c_20gjkepa2_impl__GJK__sSV__2c_20bool_29($6 | 0, HEAP32[(HEAP32[($5 + 412 | 0) >> 2] | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($5 + 412 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($5 + 412 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0 | 0, 1 & 1 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 348 | 0) >> 2] = wasm2js_i32$1; + label$6 : { + if (!((HEAP32[($6 + 18500 | 0) >> 2] | 0 | 0) == (4 | 0) & 1 | 0)) { + break label$6 + } + (wasm2js_i32$0 = $5, wasm2js_i32$1 = gjkepa2_impl__EPA__findbest_28_29($6 | 0) | 0), HEAP32[(wasm2js_i32$0 + 332 | 0) >> 2] = wasm2js_i32$1; + $145 = HEAP32[($5 + 332 | 0) >> 2] | 0; + $146 = 48; + i64toi32_i32$2 = $145 + $146 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $892 = i64toi32_i32$0; + i64toi32_i32$0 = ($5 + 272 | 0) + $146 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $892; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $152 = 40; + i64toi32_i32$2 = $145 + $152 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $905 = i64toi32_i32$1; + i64toi32_i32$1 = ($5 + 272 | 0) + $152 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $905; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + $158 = 32; + i64toi32_i32$2 = $145 + $158 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $918 = i64toi32_i32$0; + i64toi32_i32$0 = ($5 + 272 | 0) + $158 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $918; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $164 = 24; + i64toi32_i32$2 = $145 + $164 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $931 = i64toi32_i32$1; + i64toi32_i32$1 = ($5 + 272 | 0) + $164 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $931; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + $170 = 16; + i64toi32_i32$2 = $145 + $170 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $944 = i64toi32_i32$0; + i64toi32_i32$0 = ($5 + 272 | 0) + $170 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $944; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $176 = 8; + i64toi32_i32$2 = $145 + $176 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $957 = i64toi32_i32$1; + i64toi32_i32$1 = ($5 + 272 | 0) + $176 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $957; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$2 = $145; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $961 = i64toi32_i32$0; + i64toi32_i32$0 = $5; + HEAP32[($5 + 272 | 0) >> 2] = $961; + HEAP32[($5 + 276 | 0) >> 2] = i64toi32_i32$1; + HEAP32[($5 + 268 | 0) >> 2] = 0; + HEAP32[($5 + 264 | 0) >> 2] = 0; + $187 = 0; + gjkepa2_impl__EPA__bind_28gjkepa2_impl__EPA__sFace__2c_20unsigned_20int_2c_20gjkepa2_impl__EPA__sFace__2c_20unsigned_20int_29(HEAP32[($5 + 336 | 0) >> 2] | 0 | 0, $187 | 0, HEAP32[($5 + 340 | 0) >> 2] | 0 | 0, $187 | 0); + gjkepa2_impl__EPA__bind_28gjkepa2_impl__EPA__sFace__2c_20unsigned_20int_2c_20gjkepa2_impl__EPA__sFace__2c_20unsigned_20int_29(HEAP32[($5 + 336 | 0) >> 2] | 0 | 0, 1 | 0, HEAP32[($5 + 344 | 0) >> 2] | 0 | 0, 0 | 0); + gjkepa2_impl__EPA__bind_28gjkepa2_impl__EPA__sFace__2c_20unsigned_20int_2c_20gjkepa2_impl__EPA__sFace__2c_20unsigned_20int_29(HEAP32[($5 + 336 | 0) >> 2] | 0 | 0, 2 | 0, HEAP32[($5 + 348 | 0) >> 2] | 0 | 0, 0 | 0); + gjkepa2_impl__EPA__bind_28gjkepa2_impl__EPA__sFace__2c_20unsigned_20int_2c_20gjkepa2_impl__EPA__sFace__2c_20unsigned_20int_29(HEAP32[($5 + 340 | 0) >> 2] | 0 | 0, 1 | 0, HEAP32[($5 + 348 | 0) >> 2] | 0 | 0, 2 | 0); + gjkepa2_impl__EPA__bind_28gjkepa2_impl__EPA__sFace__2c_20unsigned_20int_2c_20gjkepa2_impl__EPA__sFace__2c_20unsigned_20int_29(HEAP32[($5 + 340 | 0) >> 2] | 0 | 0, 2 | 0, HEAP32[($5 + 344 | 0) >> 2] | 0 | 0, 1 | 0); + gjkepa2_impl__EPA__bind_28gjkepa2_impl__EPA__sFace__2c_20unsigned_20int_2c_20gjkepa2_impl__EPA__sFace__2c_20unsigned_20int_29(HEAP32[($5 + 344 | 0) >> 2] | 0 | 0, 2 | 0, HEAP32[($5 + 348 | 0) >> 2] | 0 | 0, 1 | 0); + HEAP32[$6 >> 2] = 0; + label$7 : { + label$8 : while (1) { + if (!((HEAP32[($5 + 264 | 0) >> 2] | 0) >>> 0 < 255 >>> 0 & 1 | 0)) { + break label$7 + } + label$9 : { + label$10 : { + if (!((HEAP32[($6 + 18492 | 0) >> 2] | 0) >>> 0 < 128 >>> 0 & 1 | 0)) { + break label$10 + } + gjkepa2_impl__EPA__sHorizon__sHorizon_28_29($5 + 252 | 0 | 0) | 0; + $228 = HEAP32[($6 + 18492 | 0) >> 2] | 0; + HEAP32[($6 + 18492 | 0) >> 2] = $228 + 1 | 0; + HEAP32[($5 + 248 | 0) >> 2] = ($6 + 60 | 0) + ($228 << 5 | 0) | 0; + HEAP8[($5 + 247 | 0) >> 0] = 1; + $237 = (HEAP32[($5 + 268 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($5 + 268 | 0) >> 2] = $237; + HEAP8[((HEAP32[($5 + 332 | 0) >> 2] | 0) + 55 | 0) >> 0] = $237; + gjkepa2_impl__GJK__getsupport_28btVector3_20const__2c_20gjkepa2_impl__GJK__sSV__29_20const(HEAP32[($5 + 420 | 0) >> 2] | 0 | 0, HEAP32[($5 + 332 | 0) >> 2] | 0 | 0, HEAP32[($5 + 248 | 0) >> 2] | 0 | 0); + (wasm2js_i32$0 = $5, wasm2js_f32$0 = Math_fround(Math_fround(btDot_28btVector3_20const__2c_20btVector3_20const__29(HEAP32[($5 + 332 | 0) >> 2] | 0 | 0, (HEAP32[($5 + 248 | 0) >> 2] | 0) + 16 | 0 | 0)) - Math_fround(HEAPF32[((HEAP32[($5 + 332 | 0) >> 2] | 0) + 16 | 0) >> 2]))), HEAPF32[(wasm2js_i32$0 + 240 | 0) >> 2] = wasm2js_f32$0; + label$11 : { + label$12 : { + if (!(Math_fround(HEAPF32[($5 + 240 | 0) >> 2]) > Math_fround(9.999999747378752e-05) & 1 | 0)) { + break label$12 + } + HEAP32[($5 + 236 | 0) >> 2] = 0; + label$13 : while (1) { + $264 = 0; + label$14 : { + if (!((HEAP32[($5 + 236 | 0) >> 2] | 0) >>> 0 < 3 >>> 0 & 1 | 0)) { + break label$14 + } + $264 = HEAPU8[($5 + 247 | 0) >> 0] | 0; + } + label$15 : { + if (!($264 & 1 | 0)) { + break label$15 + } + $292 = (gjkepa2_impl__EPA__expand_28unsigned_20int_2c_20gjkepa2_impl__GJK__sSV__2c_20gjkepa2_impl__EPA__sFace__2c_20unsigned_20int_2c_20gjkepa2_impl__EPA__sHorizon__29($6 | 0, HEAP32[($5 + 268 | 0) >> 2] | 0 | 0, HEAP32[($5 + 248 | 0) >> 2] | 0 | 0, HEAP32[(((HEAP32[($5 + 332 | 0) >> 2] | 0) + 32 | 0) + ((HEAP32[($5 + 236 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0, (HEAPU8[(((HEAP32[($5 + 332 | 0) >> 2] | 0) + 52 | 0) + (HEAP32[($5 + 236 | 0) >> 2] | 0) | 0) >> 0] | 0) & 255 | 0 | 0, $5 + 252 | 0 | 0) | 0) & 1 | 0; + HEAP8[($5 + 247 | 0) >> 0] = (((HEAPU8[($5 + 247 | 0) >> 0] | 0) & 1 | 0) & $292 | 0 | 0) != (0 | 0) & 1 | 0; + HEAP32[($5 + 236 | 0) >> 2] = (HEAP32[($5 + 236 | 0) >> 2] | 0) + 1 | 0; + continue label$13; + } + break label$13; + }; + label$16 : { + label$17 : { + if (!((HEAPU8[($5 + 247 | 0) >> 0] | 0) & 1 | 0)) { + break label$17 + } + if (!((HEAP32[($5 + 260 | 0) >> 2] | 0) >>> 0 >= 3 >>> 0 & 1 | 0)) { + break label$17 + } + gjkepa2_impl__EPA__bind_28gjkepa2_impl__EPA__sFace__2c_20unsigned_20int_2c_20gjkepa2_impl__EPA__sFace__2c_20unsigned_20int_29(HEAP32[($5 + 252 | 0) >> 2] | 0 | 0, 1 | 0, HEAP32[($5 + 256 | 0) >> 2] | 0 | 0, 2 | 0); + gjkepa2_impl__EPA__remove_28gjkepa2_impl__EPA__sList__2c_20gjkepa2_impl__EPA__sFace__29($6 + 18496 | 0 | 0, HEAP32[($5 + 332 | 0) >> 2] | 0 | 0); + gjkepa2_impl__EPA__append_28gjkepa2_impl__EPA__sList__2c_20gjkepa2_impl__EPA__sFace__29($6 + 18504 | 0 | 0, HEAP32[($5 + 332 | 0) >> 2] | 0 | 0); + (wasm2js_i32$0 = $5, wasm2js_i32$1 = gjkepa2_impl__EPA__findbest_28_29($6 | 0) | 0), HEAP32[(wasm2js_i32$0 + 332 | 0) >> 2] = wasm2js_i32$1; + $327 = HEAP32[($5 + 332 | 0) >> 2] | 0; + $328 = 48; + i64toi32_i32$2 = $327 + $328 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $1271 = i64toi32_i32$1; + i64toi32_i32$1 = ($5 + 272 | 0) + $328 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $1271; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + $334 = 40; + i64toi32_i32$2 = $327 + $334 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $1284 = i64toi32_i32$0; + i64toi32_i32$0 = ($5 + 272 | 0) + $334 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $1284; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $340 = 32; + i64toi32_i32$2 = $327 + $340 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $1297 = i64toi32_i32$1; + i64toi32_i32$1 = ($5 + 272 | 0) + $340 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $1297; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + $346 = 24; + i64toi32_i32$2 = $327 + $346 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $1310 = i64toi32_i32$0; + i64toi32_i32$0 = ($5 + 272 | 0) + $346 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $1310; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $352 = 16; + i64toi32_i32$2 = $327 + $352 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $1323 = i64toi32_i32$1; + i64toi32_i32$1 = ($5 + 272 | 0) + $352 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $1323; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + $358 = 8; + i64toi32_i32$2 = $327 + $358 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $1336 = i64toi32_i32$0; + i64toi32_i32$0 = ($5 + 272 | 0) + $358 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $1336; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$2 = $327; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $1340 = i64toi32_i32$1; + i64toi32_i32$1 = $5; + HEAP32[($5 + 272 | 0) >> 2] = $1340; + HEAP32[($5 + 276 | 0) >> 2] = i64toi32_i32$0; + break label$16; + } + HEAP32[$6 >> 2] = 4; + break label$7; + } + break label$11; + } + HEAP32[$6 >> 2] = 7; + break label$7; + } + break label$9; + } + HEAP32[$6 >> 2] = 6; + break label$7; + } + HEAP32[($5 + 264 | 0) >> 2] = (HEAP32[($5 + 264 | 0) >> 2] | 0) + 1 | 0; + continue label$8; + }; + } + operator__28btVector3_20const__2c_20float_20const__29($5 + 220 | 0 | 0, $5 + 272 | 0 | 0, ($5 + 272 | 0) + 16 | 0 | 0); + $386 = $6 + 40 | 0; + i64toi32_i32$2 = $5 + 272 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $1382 = i64toi32_i32$0; + i64toi32_i32$0 = $386; + HEAP32[i64toi32_i32$0 >> 2] = $1382; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $388 = 8; + i64toi32_i32$2 = i64toi32_i32$2 + $388 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $1392 = i64toi32_i32$1; + i64toi32_i32$1 = $386 + $388 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $1392; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + HEAPF32[($6 + 56 | 0) >> 2] = Math_fround(HEAPF32[($5 + 288 | 0) >> 2]); + HEAP32[($6 + 36 | 0) >> 2] = 3; + HEAP32[($6 + 4 | 0) >> 2] = HEAP32[($5 + 292 | 0) >> 2] | 0; + HEAP32[($6 + 8 | 0) >> 2] = HEAP32[($5 + 296 | 0) >> 2] | 0; + HEAP32[($6 + 12 | 0) >> 2] = HEAP32[($5 + 300 | 0) >> 2] | 0; + operator__28btVector3_20const__2c_20btVector3_20const__29($5 + 188 | 0 | 0, (HEAP32[($5 + 296 | 0) >> 2] | 0) + 16 | 0 | 0, $5 + 220 | 0 | 0); + operator__28btVector3_20const__2c_20btVector3_20const__29($5 + 172 | 0 | 0, (HEAP32[($5 + 300 | 0) >> 2] | 0) + 16 | 0 | 0, $5 + 220 | 0 | 0); + btCross_28btVector3_20const__2c_20btVector3_20const__29($5 + 204 | 0 | 0, $5 + 188 | 0 | 0, $5 + 172 | 0 | 0); + (wasm2js_i32$0 = $6, wasm2js_f32$0 = Math_fround(btVector3__length_28_29_20const($5 + 204 | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_f32$0; + operator__28btVector3_20const__2c_20btVector3_20const__29($5 + 140 | 0 | 0, (HEAP32[($5 + 300 | 0) >> 2] | 0) + 16 | 0 | 0, $5 + 220 | 0 | 0); + operator__28btVector3_20const__2c_20btVector3_20const__29($5 + 124 | 0 | 0, (HEAP32[($5 + 292 | 0) >> 2] | 0) + 16 | 0 | 0, $5 + 220 | 0 | 0); + btCross_28btVector3_20const__2c_20btVector3_20const__29($5 + 156 | 0 | 0, $5 + 140 | 0 | 0, $5 + 124 | 0 | 0); + (wasm2js_i32$0 = $6, wasm2js_f32$0 = Math_fround(btVector3__length_28_29_20const($5 + 156 | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 24 | 0) >> 2] = wasm2js_f32$0; + operator__28btVector3_20const__2c_20btVector3_20const__29($5 + 92 | 0 | 0, (HEAP32[($5 + 292 | 0) >> 2] | 0) + 16 | 0 | 0, $5 + 220 | 0 | 0); + operator__28btVector3_20const__2c_20btVector3_20const__29($5 + 76 | 0 | 0, (HEAP32[($5 + 296 | 0) >> 2] | 0) + 16 | 0 | 0, $5 + 220 | 0 | 0); + btCross_28btVector3_20const__2c_20btVector3_20const__29($5 + 108 | 0 | 0, $5 + 92 | 0 | 0, $5 + 76 | 0 | 0); + (wasm2js_i32$0 = $6, wasm2js_f32$0 = Math_fround(btVector3__length_28_29_20const($5 + 108 | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_f32$0; + HEAPF32[($5 + 72 | 0) >> 2] = Math_fround(Math_fround(Math_fround(HEAPF32[($6 + 20 | 0) >> 2]) + Math_fround(HEAPF32[($6 + 24 | 0) >> 2])) + Math_fround(HEAPF32[($6 + 28 | 0) >> 2])); + HEAPF32[($6 + 20 | 0) >> 2] = Math_fround(Math_fround(HEAPF32[($6 + 20 | 0) >> 2]) / Math_fround(HEAPF32[($5 + 72 | 0) >> 2])); + HEAPF32[($6 + 24 | 0) >> 2] = Math_fround(Math_fround(HEAPF32[($6 + 24 | 0) >> 2]) / Math_fround(HEAPF32[($5 + 72 | 0) >> 2])); + HEAPF32[($6 + 28 | 0) >> 2] = Math_fround(Math_fround(HEAPF32[($6 + 28 | 0) >> 2]) / Math_fround(HEAPF32[($5 + 72 | 0) >> 2])); + HEAP32[($5 + 428 | 0) >> 2] = HEAP32[$6 >> 2] | 0; + break label$1; + } + } + HEAP32[$6 >> 2] = 8; + operator__28btVector3_20const__29($5 + 56 | 0 | 0, HEAP32[($5 + 416 | 0) >> 2] | 0 | 0); + $511 = $6 + 40 | 0; + i64toi32_i32$2 = $5; + i64toi32_i32$0 = HEAP32[($5 + 56 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($5 + 60 | 0) >> 2] | 0; + $1637 = i64toi32_i32$0; + i64toi32_i32$0 = $511; + HEAP32[i64toi32_i32$0 >> 2] = $1637; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $513 = 8; + i64toi32_i32$2 = ($5 + 56 | 0) + $513 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $1650 = i64toi32_i32$1; + i64toi32_i32$1 = $511 + $513 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $1650; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + (wasm2js_i32$0 = $5, wasm2js_f32$0 = Math_fround(btVector3__length_28_29_20const($6 + 40 | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 52 | 0) >> 2] = wasm2js_f32$0; + label$18 : { + label$19 : { + if (!(Math_fround(HEAPF32[($5 + 52 | 0) >> 2]) > Math_fround(0 | 0) & 1 | 0)) { + break label$19 + } + operator__28btVector3_20const__2c_20float_20const__29_1($5 + 36 | 0 | 0, $6 + 40 | 0 | 0, $5 + 52 | 0 | 0); + $537 = $6 + 40 | 0; + i64toi32_i32$2 = $5; + i64toi32_i32$0 = HEAP32[($5 + 36 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($5 + 40 | 0) >> 2] | 0; + $1690 = i64toi32_i32$0; + i64toi32_i32$0 = $537; + HEAP32[i64toi32_i32$0 >> 2] = $1690; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $539 = 8; + i64toi32_i32$2 = ($5 + 36 | 0) + $539 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $1703 = i64toi32_i32$1; + i64toi32_i32$1 = $537 + $539 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $1703; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + break label$18; + } + HEAPF32[($5 + 16 | 0) >> 2] = Math_fround(1.0); + HEAPF32[($5 + 12 | 0) >> 2] = Math_fround(0 | 0); + HEAPF32[($5 + 8 | 0) >> 2] = Math_fround(0 | 0); + btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($5 + 20 | 0 | 0, $5 + 16 | 0 | 0, $5 + 12 | 0 | 0, $5 + 8 | 0 | 0) | 0; + $563 = $6 + 40 | 0; + i64toi32_i32$2 = $5; + i64toi32_i32$0 = HEAP32[($5 + 20 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($5 + 24 | 0) >> 2] | 0; + $1741 = i64toi32_i32$0; + i64toi32_i32$0 = $563; + HEAP32[i64toi32_i32$0 >> 2] = $1741; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $565 = 8; + i64toi32_i32$2 = ($5 + 20 | 0) + $565 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $1754 = i64toi32_i32$1; + i64toi32_i32$1 = $563 + $565 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $1754; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + } + HEAPF32[($6 + 56 | 0) >> 2] = Math_fround(0 | 0); + HEAP32[($6 + 36 | 0) >> 2] = 1; + HEAP32[($6 + 4 | 0) >> 2] = HEAP32[(HEAP32[($5 + 412 | 0) >> 2] | 0) >> 2] | 0; + HEAPF32[($6 + 20 | 0) >> 2] = Math_fround(1.0); + HEAP32[($5 + 428 | 0) >> 2] = HEAP32[$6 >> 2] | 0; + } + $578 = HEAP32[($5 + 428 | 0) >> 2] | 0; + __stack_pointer = $5 + 432 | 0; + return $578 | 0; + } + + function gjkepa2_impl__EPA__sFace__sFace_28_29($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + btVector3__btVector3_28_29($4 | 0) | 0; + __stack_pointer = $3 + 16 | 0; + return $4 | 0; + } + + function gjkepa2_impl__EPA__sList__sList_28_29($0) { + $0 = $0 | 0; + var $4 = 0, $3 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + HEAP32[$4 >> 2] = 0; + HEAP32[($4 + 4 | 0) >> 2] = 0; + return $4 | 0; + } + + function gjkepa2_impl__EPA__Initialize_28_29($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, $25 = 0, $27 = 0, $111 = 0, $124 = 0; + $3 = __stack_pointer - 48 | 0; + __stack_pointer = $3; + HEAP32[($3 + 44 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 44 | 0) >> 2] | 0; + HEAP32[$4 >> 2] = 9; + HEAPF32[($3 + 24 | 0) >> 2] = Math_fround(0 | 0); + HEAPF32[($3 + 20 | 0) >> 2] = Math_fround(0 | 0); + HEAPF32[($3 + 16 | 0) >> 2] = Math_fround(0 | 0); + btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($3 + 28 | 0 | 0, $3 + 24 | 0 | 0, $3 + 20 | 0 | 0, $3 + 16 | 0 | 0) | 0; + $25 = $4 + 40 | 0; + i64toi32_i32$2 = $3; + i64toi32_i32$0 = HEAP32[($3 + 28 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($3 + 32 | 0) >> 2] | 0; + $111 = i64toi32_i32$0; + i64toi32_i32$0 = $25; + HEAP32[i64toi32_i32$0 >> 2] = $111; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $27 = 8; + i64toi32_i32$2 = ($3 + 28 | 0) + $27 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $124 = i64toi32_i32$1; + i64toi32_i32$1 = $25 + $27 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $124; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + HEAPF32[($4 + 56 | 0) >> 2] = Math_fround(0 | 0); + HEAP32[($4 + 18492 | 0) >> 2] = 0; + HEAP32[($3 + 12 | 0) >> 2] = 0; + label$1 : { + label$2 : while (1) { + if (!((HEAP32[($3 + 12 | 0) >> 2] | 0) >>> 0 < 256 >>> 0 & 1 | 0)) { + break label$1 + } + gjkepa2_impl__EPA__append_28gjkepa2_impl__EPA__sList__2c_20gjkepa2_impl__EPA__sFace__29($4 + 18504 | 0 | 0, ($4 + 4156 | 0) + Math_imul((256 - (HEAP32[($3 + 12 | 0) >> 2] | 0) | 0) - 1 | 0, 56) | 0 | 0); + HEAP32[($3 + 12 | 0) >> 2] = (HEAP32[($3 + 12 | 0) >> 2] | 0) + 1 | 0; + continue label$2; + }; + } + __stack_pointer = $3 + 48 | 0; + return; + } + + function gjkepa2_impl__GJK__EncloseOrigin_28_29($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0, $8 = 0, $56 = 0, $151 = 0, $222 = 0, $296 = 0, wasm2js_i32$0 = 0, wasm2js_f32$0 = Math_fround(0); + $3 = __stack_pointer - 256 | 0; + __stack_pointer = $3; + HEAP32[($3 + 248 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 248 | 0) >> 2] | 0; + $8 = (HEAP32[((HEAP32[($4 + 372 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0) + -1 | 0; + label$1 : { + label$2 : { + label$3 : { + switch ($8 | 0) { + case 0: + HEAP32[($3 + 244 | 0) >> 2] = 0; + label$7 : { + label$8 : while (1) { + if (!((HEAP32[($3 + 244 | 0) >> 2] | 0) >>> 0 < 3 >>> 0 & 1 | 0)) { + break label$7 + } + HEAPF32[($3 + 224 | 0) >> 2] = Math_fround(0 | 0); + HEAPF32[($3 + 220 | 0) >> 2] = Math_fround(0 | 0); + HEAPF32[($3 + 216 | 0) >> 2] = Math_fround(0 | 0); + btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($3 + 228 | 0 | 0, $3 + 224 | 0 | 0, $3 + 220 | 0 | 0, $3 + 216 | 0 | 0) | 0; + (wasm2js_i32$0 = (btVector3__operator_20float__28_29($3 + 228 | 0 | 0) | 0) + ((HEAP32[($3 + 244 | 0) >> 2] | 0) << 2 | 0) | 0, wasm2js_f32$0 = Math_fround(1.0)), HEAPF32[wasm2js_i32$0 >> 2] = wasm2js_f32$0; + gjkepa2_impl__GJK__appendvertice_28gjkepa2_impl__GJK__sSimplex__2c_20btVector3_20const__29($4 | 0, HEAP32[($4 + 372 | 0) >> 2] | 0 | 0, $3 + 228 | 0 | 0); + label$9 : { + if (!((gjkepa2_impl__GJK__EncloseOrigin_28_29($4 | 0) | 0) & 1 | 0)) { + break label$9 + } + HEAP8[($3 + 255 | 0) >> 0] = 1 & 1 | 0; + break label$1; + } + gjkepa2_impl__GJK__removevertice_28gjkepa2_impl__GJK__sSimplex__29($4 | 0, HEAP32[($4 + 372 | 0) >> 2] | 0 | 0); + $56 = HEAP32[($4 + 372 | 0) >> 2] | 0; + operator__28btVector3_20const__29($3 + 200 | 0 | 0, $3 + 228 | 0 | 0); + gjkepa2_impl__GJK__appendvertice_28gjkepa2_impl__GJK__sSimplex__2c_20btVector3_20const__29($4 | 0, $56 | 0, $3 + 200 | 0 | 0); + label$10 : { + if (!((gjkepa2_impl__GJK__EncloseOrigin_28_29($4 | 0) | 0) & 1 | 0)) { + break label$10 + } + HEAP8[($3 + 255 | 0) >> 0] = 1 & 1 | 0; + break label$1; + } + gjkepa2_impl__GJK__removevertice_28gjkepa2_impl__GJK__sSimplex__29($4 | 0, HEAP32[($4 + 372 | 0) >> 2] | 0 | 0); + HEAP32[($3 + 244 | 0) >> 2] = (HEAP32[($3 + 244 | 0) >> 2] | 0) + 1 | 0; + continue label$8; + }; + } + break label$2; + case 1: + operator__28btVector3_20const__2c_20btVector3_20const__29($3 + 184 | 0 | 0, (HEAP32[((HEAP32[($4 + 372 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + 16 | 0 | 0, (HEAP32[(HEAP32[($4 + 372 | 0) >> 2] | 0) >> 2] | 0) + 16 | 0 | 0); + HEAP32[($3 + 180 | 0) >> 2] = 0; + label$11 : { + label$12 : while (1) { + if (!((HEAP32[($3 + 180 | 0) >> 2] | 0) >>> 0 < 3 >>> 0 & 1 | 0)) { + break label$11 + } + HEAPF32[($3 + 160 | 0) >> 2] = Math_fround(0 | 0); + HEAPF32[($3 + 156 | 0) >> 2] = Math_fround(0 | 0); + HEAPF32[($3 + 152 | 0) >> 2] = Math_fround(0 | 0); + btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($3 + 164 | 0 | 0, $3 + 160 | 0 | 0, $3 + 156 | 0 | 0, $3 + 152 | 0 | 0) | 0; + (wasm2js_i32$0 = (btVector3__operator_20float__28_29($3 + 164 | 0 | 0) | 0) + ((HEAP32[($3 + 180 | 0) >> 2] | 0) << 2 | 0) | 0, wasm2js_f32$0 = Math_fround(1.0)), HEAPF32[wasm2js_i32$0 >> 2] = wasm2js_f32$0; + btCross_28btVector3_20const__2c_20btVector3_20const__29($3 + 136 | 0 | 0, $3 + 184 | 0 | 0, $3 + 164 | 0 | 0); + label$13 : { + if (!(Math_fround(btVector3__length2_28_29_20const($3 + 136 | 0 | 0)) > Math_fround(0 | 0) & 1 | 0)) { + break label$13 + } + gjkepa2_impl__GJK__appendvertice_28gjkepa2_impl__GJK__sSimplex__2c_20btVector3_20const__29($4 | 0, HEAP32[($4 + 372 | 0) >> 2] | 0 | 0, $3 + 136 | 0 | 0); + label$14 : { + if (!((gjkepa2_impl__GJK__EncloseOrigin_28_29($4 | 0) | 0) & 1 | 0)) { + break label$14 + } + HEAP8[($3 + 255 | 0) >> 0] = 1 & 1 | 0; + break label$1; + } + gjkepa2_impl__GJK__removevertice_28gjkepa2_impl__GJK__sSimplex__29($4 | 0, HEAP32[($4 + 372 | 0) >> 2] | 0 | 0); + $151 = HEAP32[($4 + 372 | 0) >> 2] | 0; + operator__28btVector3_20const__29($3 + 120 | 0 | 0, $3 + 136 | 0 | 0); + gjkepa2_impl__GJK__appendvertice_28gjkepa2_impl__GJK__sSimplex__2c_20btVector3_20const__29($4 | 0, $151 | 0, $3 + 120 | 0 | 0); + label$15 : { + if (!((gjkepa2_impl__GJK__EncloseOrigin_28_29($4 | 0) | 0) & 1 | 0)) { + break label$15 + } + HEAP8[($3 + 255 | 0) >> 0] = 1 & 1 | 0; + break label$1; + } + gjkepa2_impl__GJK__removevertice_28gjkepa2_impl__GJK__sSimplex__29($4 | 0, HEAP32[($4 + 372 | 0) >> 2] | 0 | 0); + } + HEAP32[($3 + 180 | 0) >> 2] = (HEAP32[($3 + 180 | 0) >> 2] | 0) + 1 | 0; + continue label$12; + }; + } + break label$2; + case 2: + operator__28btVector3_20const__2c_20btVector3_20const__29($3 + 88 | 0 | 0, (HEAP32[((HEAP32[($4 + 372 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + 16 | 0 | 0, (HEAP32[(HEAP32[($4 + 372 | 0) >> 2] | 0) >> 2] | 0) + 16 | 0 | 0); + operator__28btVector3_20const__2c_20btVector3_20const__29($3 + 72 | 0 | 0, (HEAP32[((HEAP32[($4 + 372 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) + 16 | 0 | 0, (HEAP32[(HEAP32[($4 + 372 | 0) >> 2] | 0) >> 2] | 0) + 16 | 0 | 0); + btCross_28btVector3_20const__2c_20btVector3_20const__29($3 + 104 | 0 | 0, $3 + 88 | 0 | 0, $3 + 72 | 0 | 0); + label$16 : { + if (!(Math_fround(btVector3__length2_28_29_20const($3 + 104 | 0 | 0)) > Math_fround(0 | 0) & 1 | 0)) { + break label$16 + } + gjkepa2_impl__GJK__appendvertice_28gjkepa2_impl__GJK__sSimplex__2c_20btVector3_20const__29($4 | 0, HEAP32[($4 + 372 | 0) >> 2] | 0 | 0, $3 + 104 | 0 | 0); + label$17 : { + if (!((gjkepa2_impl__GJK__EncloseOrigin_28_29($4 | 0) | 0) & 1 | 0)) { + break label$17 + } + HEAP8[($3 + 255 | 0) >> 0] = 1 & 1 | 0; + break label$1; + } + gjkepa2_impl__GJK__removevertice_28gjkepa2_impl__GJK__sSimplex__29($4 | 0, HEAP32[($4 + 372 | 0) >> 2] | 0 | 0); + $222 = HEAP32[($4 + 372 | 0) >> 2] | 0; + operator__28btVector3_20const__29($3 + 56 | 0 | 0, $3 + 104 | 0 | 0); + gjkepa2_impl__GJK__appendvertice_28gjkepa2_impl__GJK__sSimplex__2c_20btVector3_20const__29($4 | 0, $222 | 0, $3 + 56 | 0 | 0); + label$18 : { + if (!((gjkepa2_impl__GJK__EncloseOrigin_28_29($4 | 0) | 0) & 1 | 0)) { + break label$18 + } + HEAP8[($3 + 255 | 0) >> 0] = 1 & 1 | 0; + break label$1; + } + gjkepa2_impl__GJK__removevertice_28gjkepa2_impl__GJK__sSimplex__29($4 | 0, HEAP32[($4 + 372 | 0) >> 2] | 0 | 0); + } + break label$2; + case 3: + break label$3; + default: + break label$2; + }; + } + operator__28btVector3_20const__2c_20btVector3_20const__29($3 + 40 | 0 | 0, (HEAP32[(HEAP32[($4 + 372 | 0) >> 2] | 0) >> 2] | 0) + 16 | 0 | 0, (HEAP32[((HEAP32[($4 + 372 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + 16 | 0 | 0); + operator__28btVector3_20const__2c_20btVector3_20const__29($3 + 24 | 0 | 0, (HEAP32[((HEAP32[($4 + 372 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + 16 | 0 | 0, (HEAP32[((HEAP32[($4 + 372 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + 16 | 0 | 0); + operator__28btVector3_20const__2c_20btVector3_20const__29($3 + 8 | 0 | 0, (HEAP32[((HEAP32[($4 + 372 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) + 16 | 0 | 0, (HEAP32[((HEAP32[($4 + 372 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + 16 | 0 | 0); + label$19 : { + if (!(Math_fround(btFabs_28float_29(Math_fround(Math_fround(gjkepa2_impl__GJK__det_28btVector3_20const__2c_20btVector3_20const__2c_20btVector3_20const__29($3 + 40 | 0 | 0, $3 + 24 | 0 | 0, $3 + 8 | 0 | 0))))) > Math_fround(0 | 0) & 1 | 0)) { + break label$19 + } + HEAP8[($3 + 255 | 0) >> 0] = 1 & 1 | 0; + break label$1; + } + } + HEAP8[($3 + 255 | 0) >> 0] = 0 & 1 | 0; + } + $296 = (HEAPU8[($3 + 255 | 0) >> 0] | 0) & 1 | 0; + __stack_pointer = $3 + 256 | 0; + return $296 | 0; + } + + function gjkepa2_impl__EPA__remove_28gjkepa2_impl__EPA__sList__2c_20gjkepa2_impl__EPA__sFace__29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, $40 = 0; + $4 = __stack_pointer - 16 | 0; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + label$1 : { + if (!((HEAP32[((HEAP32[($4 + 8 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + HEAP32[((HEAP32[((HEAP32[($4 + 8 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0) + 44 | 0) >> 2] = HEAP32[((HEAP32[($4 + 8 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0; + } + label$2 : { + if (!((HEAP32[((HEAP32[($4 + 8 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[((HEAP32[((HEAP32[($4 + 8 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0) + 48 | 0) >> 2] = HEAP32[((HEAP32[($4 + 8 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0; + } + label$3 : { + if (!((HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) == (HEAP32[(HEAP32[($4 + 12 | 0) >> 2] | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$3 + } + HEAP32[(HEAP32[($4 + 12 | 0) >> 2] | 0) >> 2] = HEAP32[((HEAP32[($4 + 8 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0; + } + $40 = HEAP32[($4 + 12 | 0) >> 2] | 0; + HEAP32[($40 + 4 | 0) >> 2] = (HEAP32[($40 + 4 | 0) >> 2] | 0) + -1 | 0; + return; + } + + function gjkepa2_impl__EPA__append_28gjkepa2_impl__EPA__sList__2c_20gjkepa2_impl__EPA__sFace__29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, $23 = 0; + $4 = __stack_pointer - 16 | 0; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + HEAP32[((HEAP32[($4 + 8 | 0) >> 2] | 0) + 44 | 0) >> 2] = 0; + HEAP32[((HEAP32[($4 + 8 | 0) >> 2] | 0) + 48 | 0) >> 2] = HEAP32[(HEAP32[($4 + 12 | 0) >> 2] | 0) >> 2] | 0; + label$1 : { + if (!((HEAP32[(HEAP32[($4 + 12 | 0) >> 2] | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + HEAP32[((HEAP32[(HEAP32[($4 + 12 | 0) >> 2] | 0) >> 2] | 0) + 44 | 0) >> 2] = HEAP32[($4 + 8 | 0) >> 2] | 0; + } + HEAP32[(HEAP32[($4 + 12 | 0) >> 2] | 0) >> 2] = HEAP32[($4 + 8 | 0) >> 2] | 0; + $23 = HEAP32[($4 + 12 | 0) >> 2] | 0; + HEAP32[($23 + 4 | 0) >> 2] = (HEAP32[($23 + 4 | 0) >> 2] | 0) + 1 | 0; + return; + } + + function gjkepa2_impl__GJK__det_28btVector3_20const__2c_20btVector3_20const__2c_20btVector3_20const__29($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $5 = 0, $28 = Math_fround(0), $41 = Math_fround(0), $54 = Math_fround(0), $66 = Math_fround(0), $79 = Math_fround(0); + $5 = __stack_pointer - 16 | 0; + __stack_pointer = $5; + HEAP32[($5 + 12 | 0) >> 2] = $0; + HEAP32[($5 + 8 | 0) >> 2] = $1; + HEAP32[($5 + 4 | 0) >> 2] = $2; + $28 = Math_fround(Math_fround(Math_fround(Math_fround(HEAPF32[(btVector3__y_28_29_20const(HEAP32[($5 + 12 | 0) >> 2] | 0 | 0) | 0) >> 2]) * Math_fround(HEAPF32[(btVector3__z_28_29_20const(HEAP32[($5 + 8 | 0) >> 2] | 0 | 0) | 0) >> 2])) * Math_fround(HEAPF32[(btVector3__x_28_29_20const(HEAP32[($5 + 4 | 0) >> 2] | 0 | 0) | 0) >> 2])) + Math_fround(Math_fround(Math_fround(HEAPF32[(btVector3__z_28_29_20const(HEAP32[($5 + 12 | 0) >> 2] | 0 | 0) | 0) >> 2]) * Math_fround(HEAPF32[(btVector3__x_28_29_20const(HEAP32[($5 + 8 | 0) >> 2] | 0 | 0) | 0) >> 2])) * Math_fround(HEAPF32[(btVector3__y_28_29_20const(HEAP32[($5 + 4 | 0) >> 2] | 0 | 0) | 0) >> 2]))); + $41 = Math_fround(Math_fround(Math_fround(-Math_fround(Math_fround(HEAPF32[(btVector3__x_28_29_20const(HEAP32[($5 + 12 | 0) >> 2] | 0 | 0) | 0) >> 2]) * Math_fround(HEAPF32[(btVector3__z_28_29_20const(HEAP32[($5 + 8 | 0) >> 2] | 0 | 0) | 0) >> 2]))) * Math_fround(HEAPF32[(btVector3__y_28_29_20const(HEAP32[($5 + 4 | 0) >> 2] | 0 | 0) | 0) >> 2])) + $28); + $54 = Math_fround(Math_fround(Math_fround(-Math_fround(Math_fround(HEAPF32[(btVector3__y_28_29_20const(HEAP32[($5 + 12 | 0) >> 2] | 0 | 0) | 0) >> 2]) * Math_fround(HEAPF32[(btVector3__x_28_29_20const(HEAP32[($5 + 8 | 0) >> 2] | 0 | 0) | 0) >> 2]))) * Math_fround(HEAPF32[(btVector3__z_28_29_20const(HEAP32[($5 + 4 | 0) >> 2] | 0 | 0) | 0) >> 2])) + $41); + $66 = Math_fround(Math_fround(Math_fround(Math_fround(HEAPF32[(btVector3__x_28_29_20const(HEAP32[($5 + 12 | 0) >> 2] | 0 | 0) | 0) >> 2]) * Math_fround(HEAPF32[(btVector3__y_28_29_20const(HEAP32[($5 + 8 | 0) >> 2] | 0 | 0) | 0) >> 2])) * Math_fround(HEAPF32[(btVector3__z_28_29_20const(HEAP32[($5 + 4 | 0) >> 2] | 0 | 0) | 0) >> 2])) + $54); + $79 = Math_fround(Math_fround(Math_fround(-Math_fround(Math_fround(HEAPF32[(btVector3__z_28_29_20const(HEAP32[($5 + 12 | 0) >> 2] | 0 | 0) | 0) >> 2]) * Math_fround(HEAPF32[(btVector3__y_28_29_20const(HEAP32[($5 + 8 | 0) >> 2] | 0 | 0) | 0) >> 2]))) * Math_fround(HEAPF32[(btVector3__x_28_29_20const(HEAP32[($5 + 4 | 0) >> 2] | 0 | 0) | 0) >> 2])) + $66); + __stack_pointer = $5 + 16 | 0; + return Math_fround($79); + } + + function void_20btSwap_gjkepa2_impl__GJK__sSV___28gjkepa2_impl__GJK__sSV___2c_20gjkepa2_impl__GJK__sSV___29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0; + $4 = __stack_pointer - 16 | 0; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + HEAP32[($4 + 4 | 0) >> 2] = HEAP32[(HEAP32[($4 + 12 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[(HEAP32[($4 + 12 | 0) >> 2] | 0) >> 2] = HEAP32[(HEAP32[($4 + 8 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[(HEAP32[($4 + 8 | 0) >> 2] | 0) >> 2] = HEAP32[($4 + 4 | 0) >> 2] | 0; + return; + } + + function gjkepa2_impl__EPA__newface_28gjkepa2_impl__GJK__sSV__2c_20gjkepa2_impl__GJK__sSV__2c_20gjkepa2_impl__GJK__sSV__2c_20bool_29($0, $1, $2, $3, $4) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + $4 = $4 | 0; + var $7 = 0, $9 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, $59 = 0, $61 = 0, $273 = 0, $286 = 0, $108 = Math_fround(0), $146 = 0, wasm2js_i32$0 = 0, wasm2js_f32$0 = Math_fround(0); + $7 = __stack_pointer - 96 | 0; + __stack_pointer = $7; + HEAP32[($7 + 88 | 0) >> 2] = $0; + HEAP32[($7 + 84 | 0) >> 2] = $1; + HEAP32[($7 + 80 | 0) >> 2] = $2; + HEAP32[($7 + 76 | 0) >> 2] = $3; + HEAP8[($7 + 75 | 0) >> 0] = $4; + $9 = HEAP32[($7 + 88 | 0) >> 2] | 0; + label$1 : { + label$2 : { + if (!((HEAP32[($9 + 18504 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($7 + 68 | 0) >> 2] = HEAP32[($9 + 18504 | 0) >> 2] | 0; + gjkepa2_impl__EPA__remove_28gjkepa2_impl__EPA__sList__2c_20gjkepa2_impl__EPA__sFace__29($9 + 18504 | 0 | 0, HEAP32[($7 + 68 | 0) >> 2] | 0 | 0); + gjkepa2_impl__EPA__append_28gjkepa2_impl__EPA__sList__2c_20gjkepa2_impl__EPA__sFace__29($9 + 18496 | 0 | 0, HEAP32[($7 + 68 | 0) >> 2] | 0 | 0); + HEAP8[((HEAP32[($7 + 68 | 0) >> 2] | 0) + 55 | 0) >> 0] = 0; + HEAP32[((HEAP32[($7 + 68 | 0) >> 2] | 0) + 20 | 0) >> 2] = HEAP32[($7 + 84 | 0) >> 2] | 0; + HEAP32[((HEAP32[($7 + 68 | 0) >> 2] | 0) + 24 | 0) >> 2] = HEAP32[($7 + 80 | 0) >> 2] | 0; + HEAP32[((HEAP32[($7 + 68 | 0) >> 2] | 0) + 28 | 0) >> 2] = HEAP32[($7 + 76 | 0) >> 2] | 0; + operator__28btVector3_20const__2c_20btVector3_20const__29($7 + 36 | 0 | 0, (HEAP32[($7 + 80 | 0) >> 2] | 0) + 16 | 0 | 0, (HEAP32[($7 + 84 | 0) >> 2] | 0) + 16 | 0 | 0); + operator__28btVector3_20const__2c_20btVector3_20const__29($7 + 20 | 0 | 0, (HEAP32[($7 + 76 | 0) >> 2] | 0) + 16 | 0 | 0, (HEAP32[($7 + 84 | 0) >> 2] | 0) + 16 | 0 | 0); + btCross_28btVector3_20const__2c_20btVector3_20const__29($7 + 52 | 0 | 0, $7 + 36 | 0 | 0, $7 + 20 | 0 | 0); + $59 = HEAP32[($7 + 68 | 0) >> 2] | 0; + i64toi32_i32$2 = $7; + i64toi32_i32$0 = HEAP32[($7 + 52 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($7 + 56 | 0) >> 2] | 0; + $273 = i64toi32_i32$0; + i64toi32_i32$0 = $59; + HEAP32[i64toi32_i32$0 >> 2] = $273; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $61 = 8; + i64toi32_i32$2 = ($7 + 52 | 0) + $61 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $286 = i64toi32_i32$1; + i64toi32_i32$1 = $59 + $61 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $286; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + (wasm2js_i32$0 = $7, wasm2js_f32$0 = Math_fround(btVector3__length_28_29_20const(HEAP32[($7 + 68 | 0) >> 2] | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_f32$0; + HEAP8[($7 + 15 | 0) >> 0] = Math_fround(HEAPF32[($7 + 16 | 0) >> 2]) > Math_fround(9.999999747378752e-05) & 1 | 0; + label$3 : { + label$4 : { + if (!((HEAPU8[($7 + 15 | 0) >> 0] | 0) & 1 | 0)) { + break label$4 + } + label$5 : { + if ((gjkepa2_impl__EPA__getedgedist_28gjkepa2_impl__EPA__sFace__2c_20gjkepa2_impl__GJK__sSV__2c_20gjkepa2_impl__GJK__sSV__2c_20float__29($9 | 0, HEAP32[($7 + 68 | 0) >> 2] | 0 | 0, HEAP32[($7 + 84 | 0) >> 2] | 0 | 0, HEAP32[($7 + 80 | 0) >> 2] | 0 | 0, (HEAP32[($7 + 68 | 0) >> 2] | 0) + 16 | 0 | 0) | 0) & 1 | 0) { + break label$5 + } + if ((gjkepa2_impl__EPA__getedgedist_28gjkepa2_impl__EPA__sFace__2c_20gjkepa2_impl__GJK__sSV__2c_20gjkepa2_impl__GJK__sSV__2c_20float__29($9 | 0, HEAP32[($7 + 68 | 0) >> 2] | 0 | 0, HEAP32[($7 + 80 | 0) >> 2] | 0 | 0, HEAP32[($7 + 76 | 0) >> 2] | 0 | 0, (HEAP32[($7 + 68 | 0) >> 2] | 0) + 16 | 0 | 0) | 0) & 1 | 0) { + break label$5 + } + if ((gjkepa2_impl__EPA__getedgedist_28gjkepa2_impl__EPA__sFace__2c_20gjkepa2_impl__GJK__sSV__2c_20gjkepa2_impl__GJK__sSV__2c_20float__29($9 | 0, HEAP32[($7 + 68 | 0) >> 2] | 0 | 0, HEAP32[($7 + 76 | 0) >> 2] | 0 | 0, HEAP32[($7 + 84 | 0) >> 2] | 0 | 0, (HEAP32[($7 + 68 | 0) >> 2] | 0) + 16 | 0 | 0) | 0) & 1 | 0) { + break label$5 + } + $108 = Math_fround(btDot_28btVector3_20const__2c_20btVector3_20const__29((HEAP32[($7 + 84 | 0) >> 2] | 0) + 16 | 0 | 0, HEAP32[($7 + 68 | 0) >> 2] | 0 | 0)); + HEAPF32[((HEAP32[($7 + 68 | 0) >> 2] | 0) + 16 | 0) >> 2] = Math_fround($108 / Math_fround(HEAPF32[($7 + 16 | 0) >> 2])); + } + btVector3__operator___28float_20const__29(HEAP32[($7 + 68 | 0) >> 2] | 0 | 0, $7 + 16 | 0 | 0) | 0; + label$6 : { + label$7 : { + if ((HEAPU8[($7 + 75 | 0) >> 0] | 0) & 1 | 0) { + break label$7 + } + if (!(Math_fround(HEAPF32[((HEAP32[($7 + 68 | 0) >> 2] | 0) + 16 | 0) >> 2]) >= Math_fround(-9.999999747378752e-06) & 1 | 0)) { + break label$6 + } + } + HEAP32[($7 + 92 | 0) >> 2] = HEAP32[($7 + 68 | 0) >> 2] | 0; + break label$1; + } + HEAP32[$9 >> 2] = 3; + break label$3; + } + HEAP32[$9 >> 2] = 2; + } + gjkepa2_impl__EPA__remove_28gjkepa2_impl__EPA__sList__2c_20gjkepa2_impl__EPA__sFace__29($9 + 18496 | 0 | 0, HEAP32[($7 + 68 | 0) >> 2] | 0 | 0); + gjkepa2_impl__EPA__append_28gjkepa2_impl__EPA__sList__2c_20gjkepa2_impl__EPA__sFace__29($9 + 18504 | 0 | 0, HEAP32[($7 + 68 | 0) >> 2] | 0 | 0); + HEAP32[($7 + 92 | 0) >> 2] = 0; + break label$1; + } + HEAP32[$9 >> 2] = (HEAP32[($9 + 18504 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0 ? 6 : 5; + HEAP32[($7 + 92 | 0) >> 2] = 0; + } + $146 = HEAP32[($7 + 92 | 0) >> 2] | 0; + __stack_pointer = $7 + 96 | 0; + return $146 | 0; + } + + function gjkepa2_impl__EPA__findbest_28_29($0) { + $0 = $0 | 0; + var $3 = 0; + $3 = __stack_pointer - 32 | 0; + HEAP32[($3 + 28 | 0) >> 2] = $0; + HEAP32[($3 + 24 | 0) >> 2] = HEAP32[((HEAP32[($3 + 28 | 0) >> 2] | 0) + 18496 | 0) >> 2] | 0; + HEAPF32[($3 + 20 | 0) >> 2] = Math_fround(Math_fround(HEAPF32[((HEAP32[($3 + 24 | 0) >> 2] | 0) + 16 | 0) >> 2]) * Math_fround(HEAPF32[((HEAP32[($3 + 24 | 0) >> 2] | 0) + 16 | 0) >> 2])); + HEAP32[($3 + 16 | 0) >> 2] = HEAP32[((HEAP32[($3 + 24 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0; + label$1 : { + label$2 : while (1) { + if (!((HEAP32[($3 + 16 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + HEAPF32[($3 + 12 | 0) >> 2] = Math_fround(Math_fround(HEAPF32[((HEAP32[($3 + 16 | 0) >> 2] | 0) + 16 | 0) >> 2]) * Math_fround(HEAPF32[((HEAP32[($3 + 16 | 0) >> 2] | 0) + 16 | 0) >> 2])); + label$3 : { + if (!(Math_fround(HEAPF32[($3 + 12 | 0) >> 2]) < Math_fround(HEAPF32[($3 + 20 | 0) >> 2]) & 1 | 0)) { + break label$3 + } + HEAP32[($3 + 24 | 0) >> 2] = HEAP32[($3 + 16 | 0) >> 2] | 0; + HEAPF32[($3 + 20 | 0) >> 2] = Math_fround(HEAPF32[($3 + 12 | 0) >> 2]); + } + HEAP32[($3 + 16 | 0) >> 2] = HEAP32[((HEAP32[($3 + 16 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0; + continue label$2; + }; + } + return HEAP32[($3 + 24 | 0) >> 2] | 0 | 0; + } + + function gjkepa2_impl__EPA__bind_28gjkepa2_impl__EPA__sFace__2c_20unsigned_20int_2c_20gjkepa2_impl__EPA__sFace__2c_20unsigned_20int_29($0, $1, $2, $3) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + var $6 = 0; + $6 = __stack_pointer - 16 | 0; + HEAP32[($6 + 12 | 0) >> 2] = $0; + HEAP32[($6 + 8 | 0) >> 2] = $1; + HEAP32[($6 + 4 | 0) >> 2] = $2; + HEAP32[$6 >> 2] = $3; + HEAP8[(((HEAP32[($6 + 12 | 0) >> 2] | 0) + 52 | 0) + (HEAP32[($6 + 8 | 0) >> 2] | 0) | 0) >> 0] = HEAP32[$6 >> 2] | 0; + HEAP32[(((HEAP32[($6 + 12 | 0) >> 2] | 0) + 32 | 0) + ((HEAP32[($6 + 8 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = HEAP32[($6 + 4 | 0) >> 2] | 0; + HEAP8[(((HEAP32[($6 + 4 | 0) >> 2] | 0) + 52 | 0) + (HEAP32[$6 >> 2] | 0) | 0) >> 0] = HEAP32[($6 + 8 | 0) >> 2] | 0; + HEAP32[(((HEAP32[($6 + 4 | 0) >> 2] | 0) + 32 | 0) + ((HEAP32[$6 >> 2] | 0) << 2 | 0) | 0) >> 2] = HEAP32[($6 + 12 | 0) >> 2] | 0; + return; + } + + function gjkepa2_impl__EPA__sHorizon__sHorizon_28_29($0) { + $0 = $0 | 0; + var $4 = 0, $3 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + HEAP32[$4 >> 2] = 0; + HEAP32[($4 + 4 | 0) >> 2] = 0; + HEAP32[($4 + 8 | 0) >> 2] = 0; + return $4 | 0; + } + + function gjkepa2_impl__GJK__getsupport_28btVector3_20const__2c_20gjkepa2_impl__GJK__sSV__29_20const($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $5 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, $16 = 0, $18 = 0, $28 = 0, $30 = 0, $6 = 0, $7 = 0, $73 = 0, $86 = 0, $101 = 0, $111 = 0, wasm2js_i32$0 = 0, wasm2js_f32$0 = Math_fround(0); + $5 = __stack_pointer - 48 | 0; + __stack_pointer = $5; + HEAP32[($5 + 44 | 0) >> 2] = $0; + HEAP32[($5 + 40 | 0) >> 2] = $1; + HEAP32[($5 + 36 | 0) >> 2] = $2; + $6 = HEAP32[($5 + 44 | 0) >> 2] | 0; + $7 = HEAP32[($5 + 40 | 0) >> 2] | 0; + (wasm2js_i32$0 = $5, wasm2js_f32$0 = Math_fround(btVector3__length_28_29_20const(HEAP32[($5 + 40 | 0) >> 2] | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_f32$0; + operator__28btVector3_20const__2c_20float_20const__29_1($5 + 20 | 0 | 0, $7 | 0, $5 + 16 | 0 | 0); + $16 = HEAP32[($5 + 36 | 0) >> 2] | 0; + i64toi32_i32$2 = $5; + i64toi32_i32$0 = HEAP32[($5 + 20 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($5 + 24 | 0) >> 2] | 0; + $73 = i64toi32_i32$0; + i64toi32_i32$0 = $16; + HEAP32[i64toi32_i32$0 >> 2] = $73; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $18 = 8; + i64toi32_i32$2 = ($5 + 20 | 0) + $18 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $86 = i64toi32_i32$1; + i64toi32_i32$1 = $16 + $18 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $86; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + gjkepa2_impl__MinkowskiDiff__Support_28btVector3_20const__29_20const($5 | 0, $6 | 0, HEAP32[($5 + 36 | 0) >> 2] | 0 | 0); + $28 = (HEAP32[($5 + 36 | 0) >> 2] | 0) + 16 | 0; + i64toi32_i32$2 = $5; + i64toi32_i32$0 = HEAP32[$5 >> 2] | 0; + i64toi32_i32$1 = HEAP32[($5 + 4 | 0) >> 2] | 0; + $101 = i64toi32_i32$0; + i64toi32_i32$0 = $28; + HEAP32[i64toi32_i32$0 >> 2] = $101; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $30 = 8; + i64toi32_i32$2 = $5 + $30 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $111 = i64toi32_i32$1; + i64toi32_i32$1 = $28 + $30 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $111; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + __stack_pointer = $5 + 48 | 0; + return; + } + + function gjkepa2_impl__EPA__expand_28unsigned_20int_2c_20gjkepa2_impl__GJK__sSV__2c_20gjkepa2_impl__EPA__sFace__2c_20unsigned_20int_2c_20gjkepa2_impl__EPA__sHorizon__29($0, $1, $2, $3, $4, $5) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + $4 = $4 | 0; + $5 = $5 | 0; + var $8 = 0, $9 = 0, $87 = 0, $160 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $8 = __stack_pointer - 48 | 0; + __stack_pointer = $8; + HEAP32[($8 + 40 | 0) >> 2] = $0; + HEAP32[($8 + 36 | 0) >> 2] = $1; + HEAP32[($8 + 32 | 0) >> 2] = $2; + HEAP32[($8 + 28 | 0) >> 2] = $3; + HEAP32[($8 + 24 | 0) >> 2] = $4; + HEAP32[($8 + 20 | 0) >> 2] = $5; + $9 = HEAP32[($8 + 40 | 0) >> 2] | 0; + label$1 : { + label$2 : { + if (!(((HEAPU8[((HEAP32[($8 + 28 | 0) >> 2] | 0) + 55 | 0) >> 0] | 0) & 255 | 0 | 0) != (HEAP32[($8 + 36 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($8 + 16 | 0) >> 2] = HEAP32[(101376 + ((HEAP32[($8 + 24 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; + label$3 : { + label$4 : { + if (!(Math_fround(Math_fround(btDot_28btVector3_20const__2c_20btVector3_20const__29(HEAP32[($8 + 28 | 0) >> 2] | 0 | 0, (HEAP32[($8 + 32 | 0) >> 2] | 0) + 16 | 0 | 0)) - Math_fround(HEAPF32[((HEAP32[($8 + 28 | 0) >> 2] | 0) + 16 | 0) >> 2])) < Math_fround(-9.999999747378752e-06) & 1 | 0)) { + break label$4 + } + (wasm2js_i32$0 = $8, wasm2js_i32$1 = gjkepa2_impl__EPA__newface_28gjkepa2_impl__GJK__sSV__2c_20gjkepa2_impl__GJK__sSV__2c_20gjkepa2_impl__GJK__sSV__2c_20bool_29($9 | 0, HEAP32[(((HEAP32[($8 + 28 | 0) >> 2] | 0) + 20 | 0) + ((HEAP32[($8 + 16 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0, HEAP32[(((HEAP32[($8 + 28 | 0) >> 2] | 0) + 20 | 0) + ((HEAP32[($8 + 24 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0, HEAP32[($8 + 32 | 0) >> 2] | 0 | 0, 0 & 1 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + label$5 : { + if (!((HEAP32[($8 + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$5 + } + gjkepa2_impl__EPA__bind_28gjkepa2_impl__EPA__sFace__2c_20unsigned_20int_2c_20gjkepa2_impl__EPA__sFace__2c_20unsigned_20int_29(HEAP32[($8 + 12 | 0) >> 2] | 0 | 0, 0 | 0, HEAP32[($8 + 28 | 0) >> 2] | 0 | 0, HEAP32[($8 + 24 | 0) >> 2] | 0 | 0); + label$6 : { + label$7 : { + if (!((HEAP32[(HEAP32[($8 + 20 | 0) >> 2] | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$7 + } + gjkepa2_impl__EPA__bind_28gjkepa2_impl__EPA__sFace__2c_20unsigned_20int_2c_20gjkepa2_impl__EPA__sFace__2c_20unsigned_20int_29(HEAP32[(HEAP32[($8 + 20 | 0) >> 2] | 0) >> 2] | 0 | 0, 1 | 0, HEAP32[($8 + 12 | 0) >> 2] | 0 | 0, 2 | 0); + break label$6; + } + HEAP32[((HEAP32[($8 + 20 | 0) >> 2] | 0) + 4 | 0) >> 2] = HEAP32[($8 + 12 | 0) >> 2] | 0; + } + HEAP32[(HEAP32[($8 + 20 | 0) >> 2] | 0) >> 2] = HEAP32[($8 + 12 | 0) >> 2] | 0; + $87 = HEAP32[($8 + 20 | 0) >> 2] | 0; + HEAP32[($87 + 8 | 0) >> 2] = (HEAP32[($87 + 8 | 0) >> 2] | 0) + 1 | 0; + HEAP8[($8 + 47 | 0) >> 0] = 1 & 1 | 0; + break label$1; + } + break label$3; + } + HEAP32[($8 + 8 | 0) >> 2] = HEAP32[(101388 + ((HEAP32[($8 + 24 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; + HEAP8[((HEAP32[($8 + 28 | 0) >> 2] | 0) + 55 | 0) >> 0] = HEAP32[($8 + 36 | 0) >> 2] | 0; + label$8 : { + if (!((gjkepa2_impl__EPA__expand_28unsigned_20int_2c_20gjkepa2_impl__GJK__sSV__2c_20gjkepa2_impl__EPA__sFace__2c_20unsigned_20int_2c_20gjkepa2_impl__EPA__sHorizon__29($9 | 0, HEAP32[($8 + 36 | 0) >> 2] | 0 | 0, HEAP32[($8 + 32 | 0) >> 2] | 0 | 0, HEAP32[(((HEAP32[($8 + 28 | 0) >> 2] | 0) + 32 | 0) + ((HEAP32[($8 + 16 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0, (HEAPU8[(((HEAP32[($8 + 28 | 0) >> 2] | 0) + 52 | 0) + (HEAP32[($8 + 16 | 0) >> 2] | 0) | 0) >> 0] | 0) & 255 | 0 | 0, HEAP32[($8 + 20 | 0) >> 2] | 0 | 0) | 0) & 1 | 0)) { + break label$8 + } + if (!((gjkepa2_impl__EPA__expand_28unsigned_20int_2c_20gjkepa2_impl__GJK__sSV__2c_20gjkepa2_impl__EPA__sFace__2c_20unsigned_20int_2c_20gjkepa2_impl__EPA__sHorizon__29($9 | 0, HEAP32[($8 + 36 | 0) >> 2] | 0 | 0, HEAP32[($8 + 32 | 0) >> 2] | 0 | 0, HEAP32[(((HEAP32[($8 + 28 | 0) >> 2] | 0) + 32 | 0) + ((HEAP32[($8 + 8 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0, (HEAPU8[(((HEAP32[($8 + 28 | 0) >> 2] | 0) + 52 | 0) + (HEAP32[($8 + 8 | 0) >> 2] | 0) | 0) >> 0] | 0) & 255 | 0 | 0, HEAP32[($8 + 20 | 0) >> 2] | 0 | 0) | 0) & 1 | 0)) { + break label$8 + } + gjkepa2_impl__EPA__remove_28gjkepa2_impl__EPA__sList__2c_20gjkepa2_impl__EPA__sFace__29($9 + 18496 | 0 | 0, HEAP32[($8 + 28 | 0) >> 2] | 0 | 0); + gjkepa2_impl__EPA__append_28gjkepa2_impl__EPA__sList__2c_20gjkepa2_impl__EPA__sFace__29($9 + 18504 | 0 | 0, HEAP32[($8 + 28 | 0) >> 2] | 0 | 0); + HEAP8[($8 + 47 | 0) >> 0] = 1 & 1 | 0; + break label$1; + } + } + } + HEAP8[($8 + 47 | 0) >> 0] = 0 & 1 | 0; + } + $160 = (HEAPU8[($8 + 47 | 0) >> 0] | 0) & 1 | 0; + __stack_pointer = $8 + 48 | 0; + return $160 | 0; + } + + function btTransform__btTransform_28btQuaternion_20const__2c_20btVector3_20const__29($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $5 = 0, i64toi32_i32$2 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $6 = 0, $9 = 0, $12 = 0, $44 = 0, $54 = 0; + $5 = __stack_pointer - 16 | 0; + __stack_pointer = $5; + HEAP32[($5 + 12 | 0) >> 2] = $0; + HEAP32[($5 + 8 | 0) >> 2] = $1; + HEAP32[($5 + 4 | 0) >> 2] = $2; + $6 = HEAP32[($5 + 12 | 0) >> 2] | 0; + btMatrix3x3__btMatrix3x3_28btQuaternion_20const__29($6 | 0, HEAP32[($5 + 8 | 0) >> 2] | 0 | 0) | 0; + $9 = $6 + 48 | 0; + i64toi32_i32$2 = HEAP32[($5 + 4 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $44 = i64toi32_i32$0; + i64toi32_i32$0 = $9; + HEAP32[i64toi32_i32$0 >> 2] = $44; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $12 = 8; + i64toi32_i32$2 = i64toi32_i32$2 + $12 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $54 = i64toi32_i32$1; + i64toi32_i32$1 = $9 + $12 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $54; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + __stack_pointer = $5 + 16 | 0; + return $6 | 0; + } + + function gjkepa2_impl__MinkowskiDiff__Support_28btVector3_20const__29_20const($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $5 = 0, $6 = 0; + $5 = __stack_pointer - 64 | 0; + __stack_pointer = $5; + HEAP32[($5 + 60 | 0) >> 2] = $1; + HEAP32[($5 + 56 | 0) >> 2] = $2; + $6 = HEAP32[($5 + 60 | 0) >> 2] | 0; + gjkepa2_impl__MinkowskiDiff__Support0_28btVector3_20const__29_20const($5 + 40 | 0 | 0, $6 | 0, HEAP32[($5 + 56 | 0) >> 2] | 0 | 0); + operator__28btVector3_20const__29($5 + 8 | 0 | 0, HEAP32[($5 + 56 | 0) >> 2] | 0 | 0); + gjkepa2_impl__MinkowskiDiff__Support1_28btVector3_20const__29_20const($5 + 24 | 0 | 0, $6 | 0, $5 + 8 | 0 | 0); + operator__28btVector3_20const__2c_20btVector3_20const__29($0 | 0, $5 + 40 | 0 | 0, $5 + 24 | 0 | 0); + __stack_pointer = $5 + 64 | 0; + return; + } + + function gjkepa2_impl__EPA__getedgedist_28gjkepa2_impl__EPA__sFace__2c_20gjkepa2_impl__GJK__sSV__2c_20gjkepa2_impl__GJK__sSV__2c_20float__29($0, $1, $2, $3, $4) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + $4 = $4 | 0; + var $7 = 0, $64 = Math_fround(0), $75 = Math_fround(0), $110 = Math_fround(0), $120 = 0, wasm2js_i32$0 = 0, wasm2js_f32$0 = Math_fround(0); + $7 = __stack_pointer - 96 | 0; + __stack_pointer = $7; + HEAP32[($7 + 88 | 0) >> 2] = $0; + HEAP32[($7 + 84 | 0) >> 2] = $1; + HEAP32[($7 + 80 | 0) >> 2] = $2; + HEAP32[($7 + 76 | 0) >> 2] = $3; + HEAP32[($7 + 72 | 0) >> 2] = $4; + operator__28btVector3_20const__2c_20btVector3_20const__29($7 + 56 | 0 | 0, (HEAP32[($7 + 76 | 0) >> 2] | 0) + 16 | 0 | 0, (HEAP32[($7 + 80 | 0) >> 2] | 0) + 16 | 0 | 0); + btCross_28btVector3_20const__2c_20btVector3_20const__29($7 + 40 | 0 | 0, $7 + 56 | 0 | 0, HEAP32[($7 + 84 | 0) >> 2] | 0 | 0); + (wasm2js_i32$0 = $7, wasm2js_f32$0 = Math_fround(btDot_28btVector3_20const__2c_20btVector3_20const__29((HEAP32[($7 + 80 | 0) >> 2] | 0) + 16 | 0 | 0, $7 + 40 | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 36 | 0) >> 2] = wasm2js_f32$0; + label$1 : { + label$2 : { + if (!(Math_fround(HEAPF32[($7 + 36 | 0) >> 2]) < Math_fround(0 | 0) & 1 | 0)) { + break label$2 + } + (wasm2js_i32$0 = $7, wasm2js_f32$0 = Math_fround(btVector3__length2_28_29_20const($7 + 56 | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 32 | 0) >> 2] = wasm2js_f32$0; + (wasm2js_i32$0 = $7, wasm2js_f32$0 = Math_fround(btDot_28btVector3_20const__2c_20btVector3_20const__29((HEAP32[($7 + 80 | 0) >> 2] | 0) + 16 | 0 | 0, $7 + 56 | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_f32$0; + (wasm2js_i32$0 = $7, wasm2js_f32$0 = Math_fround(btDot_28btVector3_20const__2c_20btVector3_20const__29((HEAP32[($7 + 76 | 0) >> 2] | 0) + 16 | 0 | 0, $7 + 56 | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 24 | 0) >> 2] = wasm2js_f32$0; + label$3 : { + label$4 : { + if (!(Math_fround(HEAPF32[($7 + 28 | 0) >> 2]) > Math_fround(0 | 0) & 1 | 0)) { + break label$4 + } + $64 = Math_fround(btVector3__length_28_29_20const((HEAP32[($7 + 80 | 0) >> 2] | 0) + 16 | 0 | 0)); + HEAPF32[(HEAP32[($7 + 72 | 0) >> 2] | 0) >> 2] = $64; + break label$3; + } + label$5 : { + label$6 : { + if (!(Math_fround(HEAPF32[($7 + 24 | 0) >> 2]) < Math_fround(0 | 0) & 1 | 0)) { + break label$6 + } + $75 = Math_fround(btVector3__length_28_29_20const((HEAP32[($7 + 76 | 0) >> 2] | 0) + 16 | 0 | 0)); + HEAPF32[(HEAP32[($7 + 72 | 0) >> 2] | 0) >> 2] = $75; + break label$5; + } + (wasm2js_i32$0 = $7, wasm2js_f32$0 = Math_fround(btDot_28btVector3_20const__2c_20btVector3_20const__29((HEAP32[($7 + 80 | 0) >> 2] | 0) + 16 | 0 | 0, (HEAP32[($7 + 76 | 0) >> 2] | 0) + 16 | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_f32$0; + (wasm2js_i32$0 = $7, wasm2js_f32$0 = Math_fround(Math_fround(Math_fround(Math_fround(btVector3__length2_28_29_20const((HEAP32[($7 + 80 | 0) >> 2] | 0) + 16 | 0 | 0)) * Math_fround(btVector3__length2_28_29_20const((HEAP32[($7 + 76 | 0) >> 2] | 0) + 16 | 0 | 0))) + Math_fround(-Math_fround(Math_fround(HEAPF32[($7 + 20 | 0) >> 2]) * Math_fround(HEAPF32[($7 + 20 | 0) >> 2])))) / Math_fround(HEAPF32[($7 + 32 | 0) >> 2]))), HEAPF32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_f32$0; + HEAPF32[($7 + 12 | 0) >> 2] = Math_fround(0 | 0); + $110 = Math_fround(btSqrt_28float_29(Math_fround(Math_fround(HEAPF32[(float_20const__20btMax_float__28float_20const__2c_20float_20const__29($7 + 16 | 0 | 0, $7 + 12 | 0 | 0) | 0) >> 2])))); + HEAPF32[(HEAP32[($7 + 72 | 0) >> 2] | 0) >> 2] = $110; + } + } + HEAP8[($7 + 95 | 0) >> 0] = 1 & 1 | 0; + break label$1; + } + HEAP8[($7 + 95 | 0) >> 0] = 0 & 1 | 0; + } + $120 = (HEAPU8[($7 + 95 | 0) >> 0] | 0) & 1 | 0; + __stack_pointer = $7 + 96 | 0; + return $120 | 0; + } + + function _GLOBAL__sub_I_btGjkEpa2_cpp() { + __cxx_global_var_init_59(); + return; + } + + function __cxx_global_var_init_60() { + btInfMaskConverter__btInfMaskConverter_28int_29(114328 | 0, 2139095040 | 0) | 0; + return; + } + + function btGjkEpaPenetrationDepthSolver__calcPenDepth_28btVoronoiSimplexSolver__2c_20btConvexShape_20const__2c_20btConvexShape_20const__2c_20btTransform_20const__2c_20btTransform_20const__2c_20btVector3__2c_20btVector3__2c_20btVector3__2c_20btIDebugDraw__29($0, $1, $2, $3, $4, $5, $6, $7, $8, $9) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + $4 = $4 | 0; + $5 = $5 | 0; + $6 = $6 | 0; + $7 = $7 | 0; + $8 = $8 | 0; + $9 = $9 | 0; + var $12 = 0, i64toi32_i32$2 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $44 = 0, $46 = 0, $57 = 0, $59 = 0, $68 = 0, $70 = 0, $95 = 0, $97 = 0, $108 = 0, $110 = 0, $119 = 0, $121 = 0, $226 = 0, $236 = 0, $252 = 0, $262 = 0, $275 = 0, $285 = 0, $331 = 0, $341 = 0, $357 = 0, $367 = 0, $380 = 0, $390 = 0, $133 = 0; + $12 = __stack_pointer - 128 | 0; + __stack_pointer = $12; + HEAP32[($12 + 120 | 0) >> 2] = $0; + HEAP32[($12 + 116 | 0) >> 2] = $1; + HEAP32[($12 + 112 | 0) >> 2] = $2; + HEAP32[($12 + 108 | 0) >> 2] = $3; + HEAP32[($12 + 104 | 0) >> 2] = $4; + HEAP32[($12 + 100 | 0) >> 2] = $5; + HEAP32[($12 + 96 | 0) >> 2] = $6; + HEAP32[($12 + 92 | 0) >> 2] = $7; + HEAP32[($12 + 88 | 0) >> 2] = $8; + HEAP32[($12 + 84 | 0) >> 2] = $9; + operator__28btVector3_20const__2c_20btVector3_20const__29($12 + 68 | 0 | 0, btTransform__getOrigin_28_29_20const(HEAP32[($12 + 100 | 0) >> 2] | 0 | 0) | 0 | 0, btTransform__getOrigin_28_29_20const(HEAP32[($12 + 104 | 0) >> 2] | 0 | 0) | 0 | 0); + btGjkEpaSolver2__sResults__sResults_28_29($12 + 12 | 0 | 0) | 0; + label$1 : { + label$2 : { + if (!((btGjkEpaSolver2__Penetration_28btConvexShape_20const__2c_20btTransform_20const__2c_20btConvexShape_20const__2c_20btTransform_20const__2c_20btVector3_20const__2c_20btGjkEpaSolver2__sResults__2c_20bool_29(HEAP32[($12 + 112 | 0) >> 2] | 0 | 0, HEAP32[($12 + 104 | 0) >> 2] | 0 | 0, HEAP32[($12 + 108 | 0) >> 2] | 0 | 0, HEAP32[($12 + 100 | 0) >> 2] | 0 | 0, $12 + 68 | 0 | 0, $12 + 12 | 0 | 0, 1 & 1 | 0 | 0) | 0) & 1 | 0)) { + break label$2 + } + $44 = HEAP32[($12 + 92 | 0) >> 2] | 0; + i64toi32_i32$2 = ($12 + 12 | 0) + 4 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $226 = i64toi32_i32$0; + i64toi32_i32$0 = $44; + HEAP32[i64toi32_i32$0 >> 2] = $226; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $46 = 8; + i64toi32_i32$2 = i64toi32_i32$2 + $46 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $236 = i64toi32_i32$1; + i64toi32_i32$1 = $44 + $46 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $236; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + $57 = HEAP32[($12 + 88 | 0) >> 2] | 0; + i64toi32_i32$2 = (($12 + 12 | 0) + 4 | 0) + 16 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $252 = i64toi32_i32$0; + i64toi32_i32$0 = $57; + HEAP32[i64toi32_i32$0 >> 2] = $252; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $59 = 8; + i64toi32_i32$2 = i64toi32_i32$2 + $59 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $262 = i64toi32_i32$1; + i64toi32_i32$1 = $57 + $59 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $262; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + $68 = HEAP32[($12 + 96 | 0) >> 2] | 0; + i64toi32_i32$2 = ($12 + 12 | 0) + 36 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $275 = i64toi32_i32$0; + i64toi32_i32$0 = $68; + HEAP32[i64toi32_i32$0 >> 2] = $275; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $70 = 8; + i64toi32_i32$2 = i64toi32_i32$2 + $70 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $285 = i64toi32_i32$1; + i64toi32_i32$1 = $68 + $70 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $285; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + HEAP8[($12 + 127 | 0) >> 0] = 1 & 1 | 0; + break label$1; + } + label$3 : { + if (!((btGjkEpaSolver2__Distance_28btConvexShape_20const__2c_20btTransform_20const__2c_20btConvexShape_20const__2c_20btTransform_20const__2c_20btVector3_20const__2c_20btGjkEpaSolver2__sResults__29(HEAP32[($12 + 112 | 0) >> 2] | 0 | 0, HEAP32[($12 + 104 | 0) >> 2] | 0 | 0, HEAP32[($12 + 108 | 0) >> 2] | 0 | 0, HEAP32[($12 + 100 | 0) >> 2] | 0 | 0, $12 + 68 | 0 | 0, $12 + 12 | 0 | 0) | 0) & 1 | 0)) { + break label$3 + } + $95 = HEAP32[($12 + 92 | 0) >> 2] | 0; + i64toi32_i32$2 = ($12 + 12 | 0) + 4 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $331 = i64toi32_i32$0; + i64toi32_i32$0 = $95; + HEAP32[i64toi32_i32$0 >> 2] = $331; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $97 = 8; + i64toi32_i32$2 = i64toi32_i32$2 + $97 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $341 = i64toi32_i32$1; + i64toi32_i32$1 = $95 + $97 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $341; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + $108 = HEAP32[($12 + 88 | 0) >> 2] | 0; + i64toi32_i32$2 = (($12 + 12 | 0) + 4 | 0) + 16 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $357 = i64toi32_i32$0; + i64toi32_i32$0 = $108; + HEAP32[i64toi32_i32$0 >> 2] = $357; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $110 = 8; + i64toi32_i32$2 = i64toi32_i32$2 + $110 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $367 = i64toi32_i32$1; + i64toi32_i32$1 = $108 + $110 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $367; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + $119 = HEAP32[($12 + 96 | 0) >> 2] | 0; + i64toi32_i32$2 = ($12 + 12 | 0) + 36 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $380 = i64toi32_i32$0; + i64toi32_i32$0 = $119; + HEAP32[i64toi32_i32$0 >> 2] = $380; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $121 = 8; + i64toi32_i32$2 = i64toi32_i32$2 + $121 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $390 = i64toi32_i32$1; + i64toi32_i32$1 = $119 + $121 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $390; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + HEAP8[($12 + 127 | 0) >> 0] = 0 & 1 | 0; + break label$1; + } + HEAP8[($12 + 127 | 0) >> 0] = 0 & 1 | 0; + } + $133 = (HEAPU8[($12 + 127 | 0) >> 0] | 0) & 1 | 0; + __stack_pointer = $12 + 128 | 0; + return $133 | 0; + } + + function btGjkEpaSolver2__sResults__sResults_28_29($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0, $6 = 0, $9 = 0, $10 = 0, $12 = 0, $8 = 0, $20 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 8 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 8 | 0) >> 2] | 0; + HEAP32[($3 + 12 | 0) >> 2] = $4; + $6 = $4 + 4 | 0; + $8 = $6 + 32 | 0; + $9 = $6; + label$1 : while (1) { + $10 = $9; + btVector3__btVector3_28_29($10 | 0) | 0; + $12 = $10 + 16 | 0; + $9 = $12; + if (!(($12 | 0) == ($8 | 0) & 1 | 0)) { + continue label$1 + } + break label$1; + }; + btVector3__btVector3_28_29($4 + 36 | 0 | 0) | 0; + $20 = HEAP32[($3 + 12 | 0) >> 2] | 0; + __stack_pointer = $3 + 16 | 0; + return $20 | 0; + } + + function btGjkEpaPenetrationDepthSolver___btGjkEpaPenetrationDepthSolver_28_29_1($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + btGjkEpaPenetrationDepthSolver___btGjkEpaPenetrationDepthSolver_28_29($4 | 0) | 0; + operator_20delete_28void__29($4 | 0); + __stack_pointer = $3 + 16 | 0; + return; + } + + function _GLOBAL__sub_I_btGjkEpaPenetrationDepthSolver_cpp() { + __cxx_global_var_init_60(); + return; + } + + function __cxx_global_var_init_61() { + btInfMaskConverter__btInfMaskConverter_28int_29(114332 | 0, 2139095040 | 0) | 0; + return; + } + + function btGjkPairDetector__btGjkPairDetector_28btConvexShape_20const__2c_20btConvexShape_20const__2c_20btVoronoiSimplexSolver__2c_20btConvexPenetrationDepthSolver__29($0, $1, $2, $3, $4) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + $4 = $4 | 0; + var $7 = 0, $8 = 0, $34 = 0, $38 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0, wasm2js_f32$0 = Math_fround(0); + $7 = __stack_pointer - 32 | 0; + __stack_pointer = $7; + HEAP32[($7 + 28 | 0) >> 2] = $0; + HEAP32[($7 + 24 | 0) >> 2] = $1; + HEAP32[($7 + 20 | 0) >> 2] = $2; + HEAP32[($7 + 16 | 0) >> 2] = $3; + HEAP32[($7 + 12 | 0) >> 2] = $4; + $8 = HEAP32[($7 + 28 | 0) >> 2] | 0; + btDiscreteCollisionDetectorInterface__btDiscreteCollisionDetectorInterface_28_29($8 | 0) | 0; + HEAP32[$8 >> 2] = 101468 + 8 | 0; + HEAPF32[($7 + 8 | 0) >> 2] = Math_fround(0 | 0); + HEAPF32[($7 + 4 | 0) >> 2] = Math_fround(1.0); + HEAPF32[$7 >> 2] = Math_fround(0 | 0); + btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($8 + 4 | 0 | 0, $7 + 8 | 0 | 0, $7 + 4 | 0 | 0, $7 | 0) | 0; + HEAP32[($8 + 20 | 0) >> 2] = HEAP32[($7 + 12 | 0) >> 2] | 0; + HEAP32[($8 + 24 | 0) >> 2] = HEAP32[($7 + 16 | 0) >> 2] | 0; + HEAP32[($8 + 28 | 0) >> 2] = HEAP32[($7 + 24 | 0) >> 2] | 0; + HEAP32[($8 + 32 | 0) >> 2] = HEAP32[($7 + 20 | 0) >> 2] | 0; + (wasm2js_i32$0 = $8, wasm2js_i32$1 = btCollisionShape__getShapeType_28_29_20const(HEAP32[($7 + 24 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 36 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $8, wasm2js_i32$1 = btCollisionShape__getShapeType_28_29_20const(HEAP32[($7 + 20 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 40 | 0) >> 2] = wasm2js_i32$1; + $34 = HEAP32[($7 + 24 | 0) >> 2] | 0; + (wasm2js_i32$0 = $8, wasm2js_f32$0 = Math_fround(FUNCTION_TABLE[HEAP32[((HEAP32[$34 >> 2] | 0) + 48 | 0) >> 2] | 0 | 0]($34))), HEAPF32[(wasm2js_i32$0 + 44 | 0) >> 2] = wasm2js_f32$0; + $38 = HEAP32[($7 + 20 | 0) >> 2] | 0; + (wasm2js_i32$0 = $8, wasm2js_f32$0 = Math_fround(FUNCTION_TABLE[HEAP32[((HEAP32[$38 >> 2] | 0) + 48 | 0) >> 2] | 0 | 0]($38))), HEAPF32[(wasm2js_i32$0 + 48 | 0) >> 2] = wasm2js_f32$0; + HEAP8[($8 + 52 | 0) >> 0] = 0; + HEAP32[($8 + 60 | 0) >> 2] = -1; + HEAP32[($8 + 72 | 0) >> 2] = 1; + HEAP32[($8 + 76 | 0) >> 2] = 1; + __stack_pointer = $7 + 32 | 0; + return $8 | 0; + } + + function btGjkPairDetector__btGjkPairDetector_28btConvexShape_20const__2c_20btConvexShape_20const__2c_20int_2c_20int_2c_20float_2c_20float_2c_20btVoronoiSimplexSolver__2c_20btConvexPenetrationDepthSolver__29($0, $1, $2, $3, $4, $5, $6, $7, $8) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + $4 = $4 | 0; + $5 = Math_fround($5); + $6 = Math_fround($6); + $7 = $7 | 0; + $8 = $8 | 0; + var $11 = 0, $12 = 0; + $11 = __stack_pointer - 48 | 0; + __stack_pointer = $11; + HEAP32[($11 + 44 | 0) >> 2] = $0; + HEAP32[($11 + 40 | 0) >> 2] = $1; + HEAP32[($11 + 36 | 0) >> 2] = $2; + HEAP32[($11 + 32 | 0) >> 2] = $3; + HEAP32[($11 + 28 | 0) >> 2] = $4; + HEAPF32[($11 + 24 | 0) >> 2] = $5; + HEAPF32[($11 + 20 | 0) >> 2] = $6; + HEAP32[($11 + 16 | 0) >> 2] = $7; + HEAP32[($11 + 12 | 0) >> 2] = $8; + $12 = HEAP32[($11 + 44 | 0) >> 2] | 0; + btDiscreteCollisionDetectorInterface__btDiscreteCollisionDetectorInterface_28_29($12 | 0) | 0; + HEAP32[$12 >> 2] = 101468 + 8 | 0; + HEAPF32[($11 + 8 | 0) >> 2] = Math_fround(0 | 0); + HEAPF32[($11 + 4 | 0) >> 2] = Math_fround(1.0); + HEAPF32[$11 >> 2] = Math_fround(0 | 0); + btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($12 + 4 | 0 | 0, $11 + 8 | 0 | 0, $11 + 4 | 0 | 0, $11 | 0) | 0; + HEAP32[($12 + 20 | 0) >> 2] = HEAP32[($11 + 12 | 0) >> 2] | 0; + HEAP32[($12 + 24 | 0) >> 2] = HEAP32[($11 + 16 | 0) >> 2] | 0; + HEAP32[($12 + 28 | 0) >> 2] = HEAP32[($11 + 40 | 0) >> 2] | 0; + HEAP32[($12 + 32 | 0) >> 2] = HEAP32[($11 + 36 | 0) >> 2] | 0; + HEAP32[($12 + 36 | 0) >> 2] = HEAP32[($11 + 32 | 0) >> 2] | 0; + HEAP32[($12 + 40 | 0) >> 2] = HEAP32[($11 + 28 | 0) >> 2] | 0; + HEAPF32[($12 + 44 | 0) >> 2] = Math_fround(HEAPF32[($11 + 24 | 0) >> 2]); + HEAPF32[($12 + 48 | 0) >> 2] = Math_fround(HEAPF32[($11 + 20 | 0) >> 2]); + HEAP8[($12 + 52 | 0) >> 0] = 0; + HEAP32[($12 + 60 | 0) >> 2] = -1; + HEAP32[($12 + 72 | 0) >> 2] = 1; + HEAP32[($12 + 76 | 0) >> 2] = 1; + __stack_pointer = $11 + 48 | 0; + return $12 | 0; + } + + function btGjkPairDetector__getClosestPoints_28btDiscreteCollisionDetectorInterface__ClosestPointInput_20const__2c_20btDiscreteCollisionDetectorInterface__Result__2c_20btIDebugDraw__2c_20bool_29($0, $1, $2, $3, $4) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + $4 = $4 | 0; + var $7 = 0; + $7 = __stack_pointer - 32 | 0; + __stack_pointer = $7; + HEAP32[($7 + 28 | 0) >> 2] = $0; + HEAP32[($7 + 24 | 0) >> 2] = $1; + HEAP32[($7 + 20 | 0) >> 2] = $2; + HEAP32[($7 + 16 | 0) >> 2] = $3; + HEAP8[($7 + 15 | 0) >> 0] = $4; + btGjkPairDetector__getClosestPointsNonVirtual_28btDiscreteCollisionDetectorInterface__ClosestPointInput_20const__2c_20btDiscreteCollisionDetectorInterface__Result__2c_20btIDebugDraw__29(HEAP32[($7 + 28 | 0) >> 2] | 0 | 0, HEAP32[($7 + 24 | 0) >> 2] | 0 | 0, HEAP32[($7 + 20 | 0) >> 2] | 0 | 0, HEAP32[($7 + 16 | 0) >> 2] | 0 | 0); + __stack_pointer = $7 + 32 | 0; + return; + } + + function btGjkPairDetector__getClosestPointsNonVirtual_28btDiscreteCollisionDetectorInterface__ClosestPointInput_20const__2c_20btDiscreteCollisionDetectorInterface__Result__2c_20btIDebugDraw__29($0, $1, $2, $3) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + var $6 = 0, i64toi32_i32$0 = 0, $7 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, $481 = 0, $345 = 0, $86 = 0, $298 = 0, $300 = 0, $325 = 0, $327 = 0, $333 = 0, $393 = 0, $394 = 0, $530 = 0, $576 = 0, $577 = 0, $624 = 0, $633 = 0, $642 = 0, $686 = 0, $695 = 0, $733 = 0, $734 = 0, $765 = 0, $767 = 0, $941 = 0, $1541 = 0, $1554 = 0, $1601 = 0, $1614 = 0, $348 = 0.0, $351 = 0.0, $354 = 0.0, $356 = 0.0, $358 = 0, $1759 = 0, $1763 = 0, $2123 = 0, $2127 = 0, $2227 = 0, $2231 = 0, $2247 = 0, $2251 = 0, $2267 = 0, $2271 = 0, $2359 = 0, $2363 = 0, $2379 = 0, $2383 = 0, $2449 = 0, $2453 = 0, $2509 = 0, $2522 = 0, wasm2js_i32$0 = 0, wasm2js_f32$0 = Math_fround(0), wasm2js_i32$1 = 0; + $6 = __stack_pointer - 1008 | 0; + __stack_pointer = $6; + HEAP32[($6 + 1004 | 0) >> 2] = $0; + HEAP32[($6 + 1e3 | 0) >> 2] = $1; + HEAP32[($6 + 996 | 0) >> 2] = $2; + HEAP32[($6 + 992 | 0) >> 2] = $3; + $7 = HEAP32[($6 + 1004 | 0) >> 2] | 0; + HEAPF32[($7 + 56 | 0) >> 2] = Math_fround(0 | 0); + HEAPF32[($6 + 988 | 0) >> 2] = Math_fround(0 | 0); + HEAPF32[($6 + 964 | 0) >> 2] = Math_fround(0 | 0); + HEAPF32[($6 + 960 | 0) >> 2] = Math_fround(0 | 0); + HEAPF32[($6 + 956 | 0) >> 2] = Math_fround(0 | 0); + btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($6 + 968 | 0 | 0, $6 + 964 | 0 | 0, $6 + 960 | 0 | 0, $6 + 956 | 0 | 0) | 0; + btVector3__btVector3_28_29($6 + 936 | 0 | 0) | 0; + btVector3__btVector3_28_29($6 + 920 | 0 | 0) | 0; + btTransform__btTransform_28btTransform_20const__29($6 + 856 | 0 | 0, HEAP32[($6 + 1e3 | 0) >> 2] | 0 | 0) | 0; + btTransform__btTransform_28btTransform_20const__29($6 + 792 | 0 | 0, (HEAP32[($6 + 1e3 | 0) >> 2] | 0) + 64 | 0 | 0) | 0; + operator__28btVector3_20const__2c_20btVector3_20const__29_2($6 + 760 | 0 | 0, btTransform__getOrigin_28_29($6 + 856 | 0 | 0) | 0 | 0, btTransform__getOrigin_28_29($6 + 792 | 0 | 0) | 0 | 0); + HEAPF32[($6 + 756 | 0) >> 2] = Math_fround(.5); + operator__28btVector3_20const__2c_20float_20const__29($6 + 776 | 0 | 0, $6 + 760 | 0 | 0, $6 + 756 | 0 | 0); + btVector3__operator___28btVector3_20const__29(btTransform__getOrigin_28_29($6 + 856 | 0 | 0) | 0 | 0, $6 + 776 | 0 | 0) | 0; + btVector3__operator___28btVector3_20const__29(btTransform__getOrigin_28_29($6 + 792 | 0 | 0) | 0 | 0, $6 + 776 | 0 | 0) | 0; + $86 = 0; + label$1 : { + if (!((btCollisionShape__isConvex2d_28_29_20const(HEAP32[($7 + 28 | 0) >> 2] | 0 | 0) | 0) & 1 | 0)) { + break label$1 + } + $86 = btCollisionShape__isConvex2d_28_29_20const(HEAP32[($7 + 32 | 0) >> 2] | 0 | 0) | 0; + } + HEAP8[($6 + 755 | 0) >> 0] = $86 & 1 | 0; + HEAPF32[($6 + 748 | 0) >> 2] = Math_fround(HEAPF32[($7 + 44 | 0) >> 2]); + HEAPF32[($6 + 744 | 0) >> 2] = Math_fround(HEAPF32[($7 + 48 | 0) >> 2]); + HEAP32[(0 + 114340 | 0) >> 2] = (HEAP32[(0 + 114340 | 0) >> 2] | 0) + 1 | 0; + label$2 : { + if (!((HEAPU8[($7 + 52 | 0) >> 0] | 0) & 1 | 0)) { + break label$2 + } + HEAPF32[($6 + 748 | 0) >> 2] = Math_fround(0 | 0); + HEAPF32[($6 + 744 | 0) >> 2] = Math_fround(0 | 0); + } + HEAP32[($7 + 64 | 0) >> 2] = 0; + HEAP32[($6 + 740 | 0) >> 2] = 1e3; + HEAPF32[($6 + 736 | 0) >> 2] = Math_fround(0 | 0); + HEAPF32[($6 + 732 | 0) >> 2] = Math_fround(1.0); + HEAPF32[($6 + 728 | 0) >> 2] = Math_fround(0 | 0); + btVector3__setValue_28float_20const__2c_20float_20const__2c_20float_20const__29($7 + 4 | 0 | 0, $6 + 736 | 0 | 0, $6 + 732 | 0 | 0, $6 + 728 | 0 | 0); + HEAP8[($6 + 727 | 0) >> 0] = 0; + HEAP8[($6 + 726 | 0) >> 0] = 0; + HEAP8[($6 + 725 | 0) >> 0] = 1; + HEAP32[($7 + 68 | 0) >> 2] = 0; + HEAP32[($7 + 60 | 0) >> 2] = -1; + HEAPF32[($6 + 720 | 0) >> 2] = Math_fround(999999984306749440.0); + HEAPF32[($6 + 716 | 0) >> 2] = Math_fround(0 | 0); + HEAPF32[($6 + 712 | 0) >> 2] = Math_fround(Math_fround(HEAPF32[($6 + 748 | 0) >> 2]) + Math_fround(HEAPF32[($6 + 744 | 0) >> 2])); + btVoronoiSimplexSolver__reset_28_29(HEAP32[($7 + 24 | 0) >> 2] | 0 | 0); + label$3 : while (1) { + operator__28btVector3_20const__29($6 + 680 | 0 | 0, $7 + 4 | 0 | 0); + operator__28btVector3_20const__2c_20btMatrix3x3_20const__29($6 + 696 | 0 | 0, $6 + 680 | 0 | 0, btTransform__getBasis_28_29_20const(HEAP32[($6 + 1e3 | 0) >> 2] | 0 | 0) | 0 | 0); + operator__28btVector3_20const__2c_20btMatrix3x3_20const__29($6 + 664 | 0 | 0, $7 + 4 | 0 | 0, btTransform__getBasis_28_29_20const((HEAP32[($6 + 1e3 | 0) >> 2] | 0) + 64 | 0 | 0) | 0 | 0); + btConvexShape__localGetSupportVertexWithoutMarginNonVirtual_28btVector3_20const__29_20const($6 + 648 | 0 | 0, HEAP32[($7 + 28 | 0) >> 2] | 0 | 0, $6 + 696 | 0 | 0); + btConvexShape__localGetSupportVertexWithoutMarginNonVirtual_28btVector3_20const__29_20const($6 + 632 | 0 | 0, HEAP32[($7 + 32 | 0) >> 2] | 0 | 0, $6 + 664 | 0 | 0); + btTransform__operator_28_29_28btVector3_20const__29_20const($6 + 616 | 0 | 0, $6 + 856 | 0 | 0, $6 + 648 | 0 | 0); + btTransform__operator_28_29_28btVector3_20const__29_20const($6 + 600 | 0 | 0, $6 + 792 | 0 | 0, $6 + 632 | 0 | 0); + label$4 : { + if (!((HEAPU8[($6 + 755 | 0) >> 0] | 0) & 1 | 0)) { + break label$4 + } + (wasm2js_i32$0 = btVector3__operator_20float__28_29($6 + 616 | 0 | 0) | 0, wasm2js_f32$0 = Math_fround(0 | 0)), HEAPF32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_f32$0; + (wasm2js_i32$0 = btVector3__operator_20float__28_29($6 + 600 | 0 | 0) | 0, wasm2js_f32$0 = Math_fround(0 | 0)), HEAPF32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_f32$0; + } + operator__28btVector3_20const__2c_20btVector3_20const__29($6 + 584 | 0 | 0, $6 + 616 | 0 | 0, $6 + 600 | 0 | 0); + (wasm2js_i32$0 = $6, wasm2js_f32$0 = Math_fround(btVector3__dot_28btVector3_20const__29_20const($7 + 4 | 0 | 0, $6 + 584 | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 716 | 0) >> 2] = wasm2js_f32$0; + label$5 : { + label$6 : { + if (!(Math_fround(HEAPF32[($6 + 716 | 0) >> 2]) > Math_fround(0 | 0) & 1 | 0)) { + break label$6 + } + if (!(Math_fround(Math_fround(HEAPF32[($6 + 716 | 0) >> 2]) * Math_fround(HEAPF32[($6 + 716 | 0) >> 2])) > Math_fround(Math_fround(HEAPF32[($6 + 720 | 0) >> 2]) * Math_fround(HEAPF32[((HEAP32[($6 + 1e3 | 0) >> 2] | 0) + 128 | 0) >> 2])) & 1 | 0)) { + break label$6 + } + HEAP32[($7 + 68 | 0) >> 2] = 10; + HEAP8[($6 + 726 | 0) >> 0] = 1; + break label$5; + } + label$7 : { + if (!((btVoronoiSimplexSolver__inSimplex_28btVector3_20const__29(HEAP32[($7 + 24 | 0) >> 2] | 0 | 0, $6 + 584 | 0 | 0) | 0) & 1 | 0)) { + break label$7 + } + HEAP32[($7 + 68 | 0) >> 2] = 1; + HEAP8[($6 + 726 | 0) >> 0] = 1; + break label$5; + } + HEAPF32[($6 + 580 | 0) >> 2] = Math_fround(Math_fround(HEAPF32[($6 + 720 | 0) >> 2]) - Math_fround(HEAPF32[($6 + 716 | 0) >> 2])); + HEAPF32[($6 + 576 | 0) >> 2] = Math_fround(Math_fround(HEAPF32[($6 + 720 | 0) >> 2]) * Math_fround(9.999999974752427e-07)); + label$8 : { + if (!(Math_fround(HEAPF32[($6 + 580 | 0) >> 2]) <= Math_fround(HEAPF32[($6 + 576 | 0) >> 2]) & 1 | 0)) { + break label$8 + } + label$9 : { + label$10 : { + if (!(Math_fround(HEAPF32[($6 + 580 | 0) >> 2]) <= Math_fround(0 | 0) & 1 | 0)) { + break label$10 + } + HEAP32[($7 + 68 | 0) >> 2] = 2; + break label$9; + } + HEAP32[($7 + 68 | 0) >> 2] = 11; + } + HEAP8[($6 + 726 | 0) >> 0] = 1; + break label$5; + } + btVoronoiSimplexSolver__addVertex_28btVector3_20const__2c_20btVector3_20const__2c_20btVector3_20const__29(HEAP32[($7 + 24 | 0) >> 2] | 0 | 0, $6 + 584 | 0 | 0, $6 + 616 | 0 | 0, $6 + 600 | 0 | 0); + btVector3__btVector3_28_29($6 + 560 | 0 | 0) | 0; + label$11 : { + if ((btVoronoiSimplexSolver__closest_28btVector3__29(HEAP32[($7 + 24 | 0) >> 2] | 0 | 0, $6 + 560 | 0 | 0) | 0) & 1 | 0) { + break label$11 + } + HEAP32[($7 + 68 | 0) >> 2] = 3; + HEAP8[($6 + 726 | 0) >> 0] = 1; + break label$5; + } + label$12 : { + if (!(Math_fround(btVector3__length2_28_29_20const($6 + 560 | 0 | 0)) < Math_fround(9.999999974752427e-07) & 1 | 0)) { + break label$12 + } + $298 = $7 + 4 | 0; + i64toi32_i32$2 = $6; + i64toi32_i32$0 = HEAP32[($6 + 560 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($6 + 564 | 0) >> 2] | 0; + $1541 = i64toi32_i32$0; + i64toi32_i32$0 = $298; + HEAP32[i64toi32_i32$0 >> 2] = $1541; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $300 = 8; + i64toi32_i32$2 = ($6 + 560 | 0) + $300 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $1554 = i64toi32_i32$1; + i64toi32_i32$1 = $298 + $300 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $1554; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($7 + 68 | 0) >> 2] = 6; + HEAP8[($6 + 726 | 0) >> 0] = 1; + break label$5; + } + HEAPF32[($6 + 556 | 0) >> 2] = Math_fround(HEAPF32[($6 + 720 | 0) >> 2]); + (wasm2js_i32$0 = $6, wasm2js_f32$0 = Math_fround(btVector3__length2_28_29_20const($6 + 560 | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 720 | 0) >> 2] = wasm2js_f32$0; + label$13 : { + if (!(Math_fround(Math_fround(HEAPF32[($6 + 556 | 0) >> 2]) - Math_fround(HEAPF32[($6 + 720 | 0) >> 2])) <= Math_fround(Math_fround(1.1920928955078125e-07) * Math_fround(HEAPF32[($6 + 556 | 0) >> 2])) & 1 | 0)) { + break label$13 + } + HEAP8[($6 + 726 | 0) >> 0] = 1; + HEAP32[($7 + 68 | 0) >> 2] = 12; + break label$5; + } + $325 = $7 + 4 | 0; + i64toi32_i32$2 = $6; + i64toi32_i32$0 = HEAP32[($6 + 560 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($6 + 564 | 0) >> 2] | 0; + $1601 = i64toi32_i32$0; + i64toi32_i32$0 = $325; + HEAP32[i64toi32_i32$0 >> 2] = $1601; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $327 = 8; + i64toi32_i32$2 = ($6 + 560 | 0) + $327 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $1614 = i64toi32_i32$1; + i64toi32_i32$1 = $325 + $327 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $1614; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + $333 = HEAP32[($7 + 64 | 0) >> 2] | 0; + HEAP32[($7 + 64 | 0) >> 2] = $333 + 1 | 0; + label$14 : { + if (!(($333 | 0) > (HEAP32[($6 + 740 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$14 + } + HEAP32[$6 >> 2] = HEAP32[($7 + 64 | 0) >> 2] | 0; + printf(88468 | 0, $6 | 0) | 0; + $345 = $7 + 4 | 0; + $348 = +Math_fround(HEAPF32[(btVector3__getX_28_29_20const($345 | 0) | 0) >> 2]); + $351 = +Math_fround(HEAPF32[(btVector3__getY_28_29_20const($345 | 0) | 0) >> 2]); + $354 = +Math_fround(HEAPF32[(btVector3__getZ_28_29_20const($345 | 0) | 0) >> 2]); + $356 = +Math_fround(HEAPF32[($6 + 720 | 0) >> 2]); + $358 = btCollisionShape__getShapeType_28_29_20const(HEAP32[($7 + 28 | 0) >> 2] | 0 | 0) | 0; + (wasm2js_i32$0 = $6 + 52 | 0, wasm2js_i32$1 = btCollisionShape__getShapeType_28_29_20const(HEAP32[($7 + 32 | 0) >> 2] | 0 | 0) | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + HEAP32[($6 + 48 | 0) >> 2] = $358; + HEAPF64[($6 + 40 | 0) >> 3] = $356; + HEAPF64[($6 + 32 | 0) >> 3] = $354; + HEAPF64[($6 + 24 | 0) >> 3] = $351; + HEAPF64[($6 + 16 | 0) >> 3] = $348; + printf(88397 | 0, $6 + 16 | 0 | 0) | 0; + break label$5; + } + (wasm2js_i32$0 = $6, wasm2js_i32$1 = ((btVoronoiSimplexSolver__fullSimplex_28_29_20const(HEAP32[($7 + 24 | 0) >> 2] | 0 | 0) | 0) ^ -1 | 0) & 1 | 0), HEAP8[(wasm2js_i32$0 + 555 | 0) >> 0] = wasm2js_i32$1; + label$15 : { + if ((HEAPU8[($6 + 555 | 0) >> 0] | 0) & 1 | 0) { + break label$15 + } + HEAP32[($7 + 68 | 0) >> 2] = 13; + break label$5; + } + continue label$3; + } + break label$3; + }; + label$16 : { + if (!((HEAPU8[($6 + 726 | 0) >> 0] | 0) & 1 | 0)) { + break label$16 + } + btVoronoiSimplexSolver__compute_points_28btVector3__2c_20btVector3__29(HEAP32[($7 + 24 | 0) >> 2] | 0 | 0, $6 + 936 | 0 | 0, $6 + 920 | 0 | 0); + $393 = $7 + 4 | 0; + $394 = 8; + i64toi32_i32$2 = $393 + $394 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $1759 = i64toi32_i32$0; + i64toi32_i32$0 = ($6 + 968 | 0) + $394 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $1759; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$2 = $393; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $1763 = i64toi32_i32$1; + i64toi32_i32$1 = $6; + HEAP32[($6 + 968 | 0) >> 2] = $1763; + HEAP32[($6 + 972 | 0) >> 2] = i64toi32_i32$0; + (wasm2js_i32$0 = $6, wasm2js_f32$0 = Math_fround(btVector3__length2_28_29_20const($7 + 4 | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 548 | 0) >> 2] = wasm2js_f32$0; + label$17 : { + if (!(Math_fround(HEAPF32[($6 + 548 | 0) >> 2]) < Math_fround(9.999999974752427e-07) & 1 | 0)) { + break label$17 + } + HEAP32[($7 + 68 | 0) >> 2] = 5; + } + label$18 : { + label$19 : { + if (!(Math_fround(HEAPF32[($6 + 548 | 0) >> 2]) > Math_fround(1.4210854715202004e-14) & 1 | 0)) { + break label$19 + } + (wasm2js_i32$0 = $6, wasm2js_f32$0 = Math_fround(Math_fround(1.0) / Math_fround(btSqrt_28float_29(Math_fround(Math_fround(HEAPF32[($6 + 548 | 0) >> 2])))))), HEAPF32[(wasm2js_i32$0 + 544 | 0) >> 2] = wasm2js_f32$0; + btVector3__operator___28float_20const__29_1($6 + 968 | 0 | 0, $6 + 544 | 0 | 0) | 0; + (wasm2js_i32$0 = $6, wasm2js_f32$0 = Math_fround(btSqrt_28float_29(Math_fround(Math_fround(HEAPF32[($6 + 720 | 0) >> 2]))))), HEAPF32[(wasm2js_i32$0 + 540 | 0) >> 2] = wasm2js_f32$0; + label$20 : { + if (Math_fround(HEAPF32[($6 + 540 | 0) >> 2]) > Math_fround(0 | 0) & 1 | 0) { + break label$20 + } + __assert_fail(86625 | 0, 72330 | 0, 295 | 0, 77310 | 0); + wasm2js_trap(); + } + HEAPF32[($6 + 520 | 0) >> 2] = Math_fround(Math_fround(HEAPF32[($6 + 748 | 0) >> 2]) / Math_fround(HEAPF32[($6 + 540 | 0) >> 2])); + operator__28btVector3_20const__2c_20float_20const__29($6 + 524 | 0 | 0, $7 + 4 | 0 | 0, $6 + 520 | 0 | 0); + btVector3__operator___28btVector3_20const__29($6 + 936 | 0 | 0, $6 + 524 | 0 | 0) | 0; + HEAPF32[($6 + 500 | 0) >> 2] = Math_fround(Math_fround(HEAPF32[($6 + 744 | 0) >> 2]) / Math_fround(HEAPF32[($6 + 540 | 0) >> 2])); + operator__28btVector3_20const__2c_20float_20const__29($6 + 504 | 0 | 0, $7 + 4 | 0 | 0, $6 + 500 | 0 | 0); + btVector3__operator___28btVector3_20const__29_1($6 + 920 | 0 | 0, $6 + 504 | 0 | 0) | 0; + HEAPF32[($6 + 988 | 0) >> 2] = Math_fround(Math_fround(Math_fround(1.0) / Math_fround(HEAPF32[($6 + 544 | 0) >> 2])) - Math_fround(HEAPF32[($6 + 712 | 0) >> 2])); + HEAP8[($6 + 727 | 0) >> 0] = 1; + HEAP32[($7 + 60 | 0) >> 2] = 1; + break label$18; + } + HEAP32[($7 + 60 | 0) >> 2] = 2; + } + } + $481 = 0; + label$21 : { + if (!(HEAP32[($7 + 72 | 0) >> 2] | 0)) { + break label$21 + } + $481 = 0; + if (!((HEAP32[($7 + 20 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$21 + } + $481 = 0; + if (!(HEAP32[($7 + 68 | 0) >> 2] | 0)) { + break label$21 + } + $481 = Math_fround(Math_fround(HEAPF32[($6 + 988 | 0) >> 2]) + Math_fround(HEAPF32[($6 + 712 | 0) >> 2])) < Math_fround(HEAPF32[(0 + 112836 | 0) >> 2]); + } + HEAP8[($6 + 499 | 0) >> 0] = $481 & 1 | 0; + label$22 : { + if (!((HEAPU8[($6 + 725 | 0) >> 0] | 0) & 1 | 0)) { + break label$22 + } + label$23 : { + if (!((HEAPU8[($6 + 727 | 0) >> 0] | 0) & 1 | 0)) { + break label$23 + } + if (!((HEAPU8[($6 + 499 | 0) >> 0] | 0) & 1 | 0)) { + break label$22 + } + } + label$24 : { + if (!((HEAP32[($7 + 20 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$24 + } + btVector3__btVector3_28_29($6 + 480 | 0 | 0) | 0; + btVector3__btVector3_28_29($6 + 464 | 0 | 0) | 0; + HEAP32[(0 + 114336 | 0) >> 2] = (HEAP32[(0 + 114336 | 0) >> 2] | 0) + 1 | 0; + btVector3__setZero_28_29($7 + 4 | 0 | 0); + $530 = HEAP32[($7 + 20 | 0) >> 2] | 0; + (wasm2js_i32$0 = $6, wasm2js_i32$1 = (FUNCTION_TABLE[HEAP32[((HEAP32[$530 >> 2] | 0) + 8 | 0) >> 2] | 0 | 0]($530, HEAP32[($7 + 24 | 0) >> 2] | 0, HEAP32[($7 + 28 | 0) >> 2] | 0, HEAP32[($7 + 32 | 0) >> 2] | 0, $6 + 856 | 0, $6 + 792 | 0, $7 + 4 | 0, $6 + 480 | 0, $6 + 464 | 0, HEAP32[($6 + 992 | 0) >> 2] | 0) | 0) & 1 | 0), HEAP8[(wasm2js_i32$0 + 463 | 0) >> 0] = wasm2js_i32$1; + label$25 : { + label$26 : { + if (!((HEAPU8[($6 + 463 | 0) >> 0] | 0) & 1 | 0)) { + break label$26 + } + operator__28btVector3_20const__2c_20btVector3_20const__29($6 + 440 | 0 | 0, $6 + 464 | 0 | 0, $6 + 480 | 0 | 0); + (wasm2js_i32$0 = $6, wasm2js_f32$0 = Math_fround(btVector3__length2_28_29_20const($6 + 440 | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 436 | 0) >> 2] = wasm2js_f32$0; + label$27 : { + if (!(Math_fround(HEAPF32[($6 + 436 | 0) >> 2]) <= Math_fround(1.4210854715202004e-14) & 1 | 0)) { + break label$27 + } + $576 = $7 + 4 | 0; + $577 = 8; + i64toi32_i32$2 = $576 + $577 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $2123 = i64toi32_i32$0; + i64toi32_i32$0 = ($6 + 440 | 0) + $577 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $2123; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$2 = $576; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $2127 = i64toi32_i32$1; + i64toi32_i32$1 = $6; + HEAP32[($6 + 440 | 0) >> 2] = $2127; + HEAP32[($6 + 444 | 0) >> 2] = i64toi32_i32$0; + (wasm2js_i32$0 = $6, wasm2js_f32$0 = Math_fround(btVector3__length2_28_29_20const($7 + 4 | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 436 | 0) >> 2] = wasm2js_f32$0; + } + label$28 : { + label$29 : { + if (!(Math_fround(HEAPF32[($6 + 436 | 0) >> 2]) > Math_fround(1.4210854715202004e-14) & 1 | 0)) { + break label$29 + } + (wasm2js_i32$0 = $6, wasm2js_f32$0 = Math_fround(btSqrt_28float_29(Math_fround(Math_fround(HEAPF32[($6 + 436 | 0) >> 2]))))), HEAPF32[(wasm2js_i32$0 + 432 | 0) >> 2] = wasm2js_f32$0; + btVector3__operator___28float_20const__29($6 + 440 | 0 | 0, $6 + 432 | 0 | 0) | 0; + operator__28btVector3_20const__2c_20btVector3_20const__29($6 + 412 | 0 | 0, $6 + 480 | 0 | 0, $6 + 464 | 0 | 0); + (wasm2js_i32$0 = $6, wasm2js_f32$0 = Math_fround(-Math_fround(btVector3__length_28_29_20const($6 + 412 | 0 | 0)))), HEAPF32[(wasm2js_i32$0 + 428 | 0) >> 2] = wasm2js_f32$0; + HEAP32[($7 + 60 | 0) >> 2] = 3; + label$30 : { + label$31 : { + label$32 : { + if (!((HEAPU8[($6 + 727 | 0) >> 0] | 0) & 1 | 0)) { + break label$32 + } + if (!(Math_fround(HEAPF32[($6 + 428 | 0) >> 2]) < Math_fround(HEAPF32[($6 + 988 | 0) >> 2]) & 1 | 0)) { + break label$31 + } + } + HEAPF32[($6 + 988 | 0) >> 2] = Math_fround(HEAPF32[($6 + 428 | 0) >> 2]); + $624 = 8; + i64toi32_i32$2 = ($6 + 480 | 0) + $624 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $2227 = i64toi32_i32$0; + i64toi32_i32$0 = ($6 + 936 | 0) + $624 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $2227; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$2 = $6; + i64toi32_i32$1 = HEAP32[($6 + 480 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($6 + 484 | 0) >> 2] | 0; + $2231 = i64toi32_i32$1; + i64toi32_i32$1 = $6; + HEAP32[($6 + 936 | 0) >> 2] = $2231; + HEAP32[($6 + 940 | 0) >> 2] = i64toi32_i32$0; + $633 = 8; + i64toi32_i32$2 = ($6 + 464 | 0) + $633 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $2247 = i64toi32_i32$0; + i64toi32_i32$0 = ($6 + 920 | 0) + $633 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $2247; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$2 = $6; + i64toi32_i32$1 = HEAP32[($6 + 464 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($6 + 468 | 0) >> 2] | 0; + $2251 = i64toi32_i32$1; + i64toi32_i32$1 = $6; + HEAP32[($6 + 920 | 0) >> 2] = $2251; + HEAP32[($6 + 924 | 0) >> 2] = i64toi32_i32$0; + $642 = 8; + i64toi32_i32$2 = ($6 + 440 | 0) + $642 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $2267 = i64toi32_i32$0; + i64toi32_i32$0 = ($6 + 968 | 0) + $642 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $2267; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$2 = $6; + i64toi32_i32$1 = HEAP32[($6 + 440 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($6 + 444 | 0) >> 2] | 0; + $2271 = i64toi32_i32$1; + i64toi32_i32$1 = $6; + HEAP32[($6 + 968 | 0) >> 2] = $2271; + HEAP32[($6 + 972 | 0) >> 2] = i64toi32_i32$0; + HEAP8[($6 + 727 | 0) >> 0] = 1; + break label$30; + } + HEAP32[($7 + 60 | 0) >> 2] = 8; + } + break label$28; + } + HEAP32[($7 + 60 | 0) >> 2] = 9; + } + break label$25; + } + label$33 : { + if (!(Math_fround(btVector3__length2_28_29_20const($7 + 4 | 0 | 0)) > Math_fround(0 | 0) & 1 | 0)) { + break label$33 + } + operator__28btVector3_20const__2c_20btVector3_20const__29($6 + 392 | 0 | 0, $6 + 480 | 0 | 0, $6 + 464 | 0 | 0); + (wasm2js_i32$0 = $6, wasm2js_f32$0 = Math_fround(Math_fround(btVector3__length_28_29_20const($6 + 392 | 0 | 0)) - Math_fround(HEAPF32[($6 + 712 | 0) >> 2]))), HEAPF32[(wasm2js_i32$0 + 408 | 0) >> 2] = wasm2js_f32$0; + label$34 : { + label$35 : { + label$36 : { + if (!((HEAPU8[($6 + 727 | 0) >> 0] | 0) & 1 | 0)) { + break label$36 + } + if (!(Math_fround(HEAPF32[($6 + 408 | 0) >> 2]) < Math_fround(HEAPF32[($6 + 988 | 0) >> 2]) & 1 | 0)) { + break label$35 + } + } + HEAPF32[($6 + 988 | 0) >> 2] = Math_fround(HEAPF32[($6 + 408 | 0) >> 2]); + $686 = 8; + i64toi32_i32$2 = ($6 + 480 | 0) + $686 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $2359 = i64toi32_i32$0; + i64toi32_i32$0 = ($6 + 936 | 0) + $686 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $2359; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$2 = $6; + i64toi32_i32$1 = HEAP32[($6 + 480 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($6 + 484 | 0) >> 2] | 0; + $2363 = i64toi32_i32$1; + i64toi32_i32$1 = $6; + HEAP32[($6 + 936 | 0) >> 2] = $2363; + HEAP32[($6 + 940 | 0) >> 2] = i64toi32_i32$0; + $695 = 8; + i64toi32_i32$2 = ($6 + 464 | 0) + $695 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $2379 = i64toi32_i32$0; + i64toi32_i32$0 = ($6 + 920 | 0) + $695 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $2379; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$2 = $6; + i64toi32_i32$1 = HEAP32[($6 + 464 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($6 + 468 | 0) >> 2] | 0; + $2383 = i64toi32_i32$1; + i64toi32_i32$1 = $6; + HEAP32[($6 + 920 | 0) >> 2] = $2383; + HEAP32[($6 + 924 | 0) >> 2] = i64toi32_i32$0; + operator__28btVector3_20const__2c_20float_20const__29($6 + 376 | 0 | 0, $7 + 4 | 0 | 0, $6 + 748 | 0 | 0); + btVector3__operator___28btVector3_20const__29($6 + 936 | 0 | 0, $6 + 376 | 0 | 0) | 0; + operator__28btVector3_20const__2c_20float_20const__29($6 + 360 | 0 | 0, $7 + 4 | 0 | 0, $6 + 744 | 0 | 0); + btVector3__operator___28btVector3_20const__29_1($6 + 920 | 0 | 0, $6 + 360 | 0 | 0) | 0; + $733 = $7 + 4 | 0; + $734 = 8; + i64toi32_i32$2 = $733 + $734 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $2449 = i64toi32_i32$0; + i64toi32_i32$0 = ($6 + 968 | 0) + $734 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $2449; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$2 = $733; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $2453 = i64toi32_i32$1; + i64toi32_i32$1 = $6; + HEAP32[($6 + 968 | 0) >> 2] = $2453; + HEAP32[($6 + 972 | 0) >> 2] = i64toi32_i32$0; + btVector3__normalize_28_29($6 + 968 | 0 | 0) | 0; + HEAP8[($6 + 727 | 0) >> 0] = 1; + HEAP32[($7 + 60 | 0) >> 2] = 6; + break label$34; + } + HEAP32[($7 + 60 | 0) >> 2] = 5; + } + } + } + } + } + label$37 : { + if (!((HEAPU8[($6 + 727 | 0) >> 0] | 0) & 1 | 0)) { + break label$37 + } + label$38 : { + if (Math_fround(HEAPF32[($6 + 988 | 0) >> 2]) < Math_fround(0 | 0) & 1 | 0) { + break label$38 + } + if (!(Math_fround(Math_fround(HEAPF32[($6 + 988 | 0) >> 2]) * Math_fround(HEAPF32[($6 + 988 | 0) >> 2])) < Math_fround(HEAPF32[((HEAP32[($6 + 1e3 | 0) >> 2] | 0) + 128 | 0) >> 2]) & 1 | 0)) { + break label$37 + } + } + $765 = $7 + 4 | 0; + i64toi32_i32$2 = $6; + i64toi32_i32$0 = HEAP32[($6 + 968 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($6 + 972 | 0) >> 2] | 0; + $2509 = i64toi32_i32$0; + i64toi32_i32$0 = $765; + HEAP32[i64toi32_i32$0 >> 2] = $2509; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $767 = 8; + i64toi32_i32$2 = ($6 + 968 | 0) + $767 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $2522 = i64toi32_i32$1; + i64toi32_i32$1 = $765 + $767 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $2522; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + HEAPF32[($7 + 56 | 0) >> 2] = Math_fround(HEAPF32[($6 + 988 | 0) >> 2]); + HEAPF32[($6 + 356 | 0) >> 2] = Math_fround(0 | 0); + operator__28btVector3_20const__2c_20btMatrix3x3_20const__29($6 + 340 | 0 | 0, $6 + 968 | 0 | 0, btTransform__getBasis_28_29_20const(HEAP32[($6 + 1e3 | 0) >> 2] | 0 | 0) | 0 | 0); + operator__28btVector3_20const__29($6 + 308 | 0 | 0, $6 + 968 | 0 | 0); + operator__28btVector3_20const__2c_20btMatrix3x3_20const__29($6 + 324 | 0 | 0, $6 + 308 | 0 | 0, btTransform__getBasis_28_29_20const((HEAP32[($6 + 1e3 | 0) >> 2] | 0) + 64 | 0 | 0) | 0 | 0); + btConvexShape__localGetSupportVertexWithoutMarginNonVirtual_28btVector3_20const__29_20const($6 + 292 | 0 | 0, HEAP32[($7 + 28 | 0) >> 2] | 0 | 0, $6 + 340 | 0 | 0); + btConvexShape__localGetSupportVertexWithoutMarginNonVirtual_28btVector3_20const__29_20const($6 + 276 | 0 | 0, HEAP32[($7 + 32 | 0) >> 2] | 0 | 0, $6 + 324 | 0 | 0); + btTransform__operator_28_29_28btVector3_20const__29_20const($6 + 260 | 0 | 0, $6 + 856 | 0 | 0, $6 + 292 | 0 | 0); + btTransform__operator_28_29_28btVector3_20const__29_20const($6 + 244 | 0 | 0, $6 + 792 | 0 | 0, $6 + 276 | 0 | 0); + operator__28btVector3_20const__2c_20btVector3_20const__29($6 + 228 | 0 | 0, $6 + 260 | 0 | 0, $6 + 244 | 0 | 0); + operator__28btVector3_20const__29($6 + 212 | 0 | 0, $6 + 968 | 0 | 0); + (wasm2js_i32$0 = $6, wasm2js_f32$0 = Math_fround(btVector3__dot_28btVector3_20const__29_20const($6 + 212 | 0 | 0, $6 + 228 | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 356 | 0) >> 2] = wasm2js_f32$0; + HEAPF32[($6 + 208 | 0) >> 2] = Math_fround(0 | 0); + operator__28btVector3_20const__29($6 + 176 | 0 | 0, $6 + 968 | 0 | 0); + operator__28btVector3_20const__2c_20btMatrix3x3_20const__29($6 + 192 | 0 | 0, $6 + 176 | 0 | 0, btTransform__getBasis_28_29_20const(HEAP32[($6 + 1e3 | 0) >> 2] | 0 | 0) | 0 | 0); + operator__28btVector3_20const__2c_20btMatrix3x3_20const__29($6 + 160 | 0 | 0, $6 + 968 | 0 | 0, btTransform__getBasis_28_29_20const((HEAP32[($6 + 1e3 | 0) >> 2] | 0) + 64 | 0 | 0) | 0 | 0); + btConvexShape__localGetSupportVertexWithoutMarginNonVirtual_28btVector3_20const__29_20const($6 + 144 | 0 | 0, HEAP32[($7 + 28 | 0) >> 2] | 0 | 0, $6 + 192 | 0 | 0); + btConvexShape__localGetSupportVertexWithoutMarginNonVirtual_28btVector3_20const__29_20const($6 + 128 | 0 | 0, HEAP32[($7 + 32 | 0) >> 2] | 0 | 0, $6 + 160 | 0 | 0); + btTransform__operator_28_29_28btVector3_20const__29_20const($6 + 112 | 0 | 0, $6 + 856 | 0 | 0, $6 + 144 | 0 | 0); + btTransform__operator_28_29_28btVector3_20const__29_20const($6 + 96 | 0 | 0, $6 + 792 | 0 | 0, $6 + 128 | 0 | 0); + operator__28btVector3_20const__2c_20btVector3_20const__29($6 + 80 | 0 | 0, $6 + 112 | 0 | 0, $6 + 96 | 0 | 0); + (wasm2js_i32$0 = $6, wasm2js_f32$0 = Math_fround(btVector3__dot_28btVector3_20const__29_20const($6 + 968 | 0 | 0, $6 + 80 | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 208 | 0) >> 2] = wasm2js_f32$0; + label$39 : { + if (!(Math_fround(HEAPF32[($6 + 356 | 0) >> 2]) > Math_fround(HEAPF32[($6 + 208 | 0) >> 2]) & 1 | 0)) { + break label$39 + } + HEAP32[($7 + 60 | 0) >> 2] = 10; + HEAPF32[($6 + 76 | 0) >> 2] = Math_fround(-1.0); + btVector3__operator___28float_20const__29_1($6 + 968 | 0 | 0, $6 + 76 | 0 | 0) | 0; + } + $941 = HEAP32[($6 + 996 | 0) >> 2] | 0; + operator__28btVector3_20const__2c_20btVector3_20const__29_2($6 + 60 | 0 | 0, $6 + 920 | 0 | 0, $6 + 776 | 0 | 0); + FUNCTION_TABLE[HEAP32[((HEAP32[$941 >> 2] | 0) + 16 | 0) >> 2] | 0 | 0]($941, $6 + 968 | 0, $6 + 60 | 0, Math_fround(HEAPF32[($6 + 988 | 0) >> 2])); + } + __stack_pointer = $6 + 1008 | 0; + return; + } + + function btCollisionShape__isConvex2d_28_29_20const($0) { + $0 = $0 | 0; + var $3 = 0, $8 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $8 = (btBroadphaseProxy__isConvex2d_28int_29(btCollisionShape__getShapeType_28_29_20const(HEAP32[($3 + 12 | 0) >> 2] | 0 | 0) | 0 | 0) | 0) & 1 | 0; + __stack_pointer = $3 + 16 | 0; + return $8 | 0; + } + + function btVoronoiSimplexSolver__fullSimplex_28_29_20const($0) { + $0 = $0 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + return (HEAP32[(HEAP32[($3 + 12 | 0) >> 2] | 0) >> 2] | 0 | 0) == (4 | 0) & 1 | 0 | 0; + } + + function btBroadphaseProxy__isConvex2d_28int_29($0) { + $0 = $0 | 0; + var $3 = 0, $12 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $12 = 1; + label$1 : { + if ((HEAP32[($3 + 12 | 0) >> 2] | 0 | 0) == (17 | 0) & 1 | 0) { + break label$1 + } + $12 = (HEAP32[($3 + 12 | 0) >> 2] | 0 | 0) == (18 | 0); + } + return $12 & 1 | 0 | 0; + } + + function btGjkPairDetector___btGjkPairDetector_28_29_1($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + btGjkPairDetector___btGjkPairDetector_28_29($4 | 0) | 0; + operator_20delete_28void__29($4 | 0); + __stack_pointer = $3 + 16 | 0; + return; + } + + function _GLOBAL__sub_I_btGjkPairDetector_cpp() { + __cxx_global_var_init_61(); + return; + } + + function __cxx_global_var_init_62() { + btInfMaskConverter__btInfMaskConverter_28int_29(114344 | 0, 2139095040 | 0) | 0; + return; + } + + function btMinkowskiPenetrationDepthSolver__calcPenDepth_28btVoronoiSimplexSolver__2c_20btConvexShape_20const__2c_20btConvexShape_20const__2c_20btTransform_20const__2c_20btTransform_20const__2c_20btVector3__2c_20btVector3__2c_20btVector3__2c_20btIDebugDraw__29($0, $1, $2, $3, $4, $5, $6, $7, $8, $9) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + $4 = $4 | 0; + $5 = $5 | 0; + $6 = $6 | 0; + $7 = $7 | 0; + $8 = $8 | 0; + $9 = $9 | 0; + var $12 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, $18 = 0, $72 = 0, $75 = 0, $76 = 0, $78 = 0, $86 = 0, $89 = 0, $90 = 0, $92 = 0, $100 = 0, $103 = 0, $104 = 0, $106 = 0, $114 = 0, $117 = 0, $118 = 0, $120 = 0, $139 = 0, $140 = 0, $167 = 0, $169 = 0, $189 = 0, $191 = 0, $200 = 0, $216 = 0, $231 = 0, $244 = 0, $246 = 0, $272 = 0, $274 = 0, $294 = 0, $296 = 0, $308 = 0, $324 = 0, $339 = 0, $352 = 0, $354 = 0, $380 = 0, $382 = 0, $402 = 0, $404 = 0, $416 = 0, $426 = 0, $448 = 0, $449 = 0, $479 = 0, $480 = 0, $493 = 0, $494 = 0, $507 = 0, $508 = 0, $521 = 0, $522 = 0, $536 = 0, $552 = 0, $585 = 0, $607 = 0, $616 = 0, $625 = 0, $802 = 0, $804 = 0, $815 = 0, $817 = 0, $821 = 0, $823 = 0, $74 = 0, $88 = 0, $102 = 0, $116 = 0, $1117 = 0, $1121 = 0, $1162 = 0, $1175 = 0, $1206 = 0, $1219 = 0, $1310 = 0, $1314 = 0, $1327 = 0, $1340 = 0, $1381 = 0, $1394 = 0, $1425 = 0, $1438 = 0, $1536 = 0, $1540 = 0, $1553 = 0, $1566 = 0, $1607 = 0, $1620 = 0, $1651 = 0, $1664 = 0, $1758 = 0, $1762 = 0, $1819 = 0, $1823 = 0, $1848 = 0, $1852 = 0, $1877 = 0, $1881 = 0, $1906 = 0, $1910 = 0, $1939 = 0, $1943 = 0, $1972 = 0, $1976 = 0, $2034 = 0, $2038 = 0, $2083 = 0, $2087 = 0, $2103 = 0, $2107 = 0, $2123 = 0, $2127 = 0, $687 = Math_fround(0), $2456 = 0, $2469 = 0, $2482 = 0, $2492 = 0, $2498 = 0, $2511 = 0, $840 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0, wasm2js_f32$0 = Math_fround(0); + $12 = __stack_pointer - 4992 | 0; + __stack_pointer = $12; + HEAP32[($12 + 4984 | 0) >> 2] = $0; + HEAP32[($12 + 4980 | 0) >> 2] = $1; + HEAP32[($12 + 4976 | 0) >> 2] = $2; + HEAP32[($12 + 4972 | 0) >> 2] = $3; + HEAP32[($12 + 4968 | 0) >> 2] = $4; + HEAP32[($12 + 4964 | 0) >> 2] = $5; + HEAP32[($12 + 4960 | 0) >> 2] = $6; + HEAP32[($12 + 4956 | 0) >> 2] = $7; + HEAP32[($12 + 4952 | 0) >> 2] = $8; + HEAP32[($12 + 4948 | 0) >> 2] = $9; + $18 = 0; + label$1 : { + if (!((btCollisionShape__isConvex2d_28_29_20const(HEAP32[($12 + 4976 | 0) >> 2] | 0 | 0) | 0) & 1 | 0)) { + break label$1 + } + $18 = btCollisionShape__isConvex2d_28_29_20const(HEAP32[($12 + 4972 | 0) >> 2] | 0 | 0) | 0; + } + HEAP8[($12 + 4947 | 0) >> 0] = $18 & 1 | 0; + HEAPF32[($12 + 4940 | 0) >> 2] = Math_fround(999999984306749440.0); + HEAPF32[($12 + 4916 | 0) >> 2] = Math_fround(0 | 0); + HEAPF32[($12 + 4912 | 0) >> 2] = Math_fround(0 | 0); + HEAPF32[($12 + 4908 | 0) >> 2] = Math_fround(0 | 0); + btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($12 + 4920 | 0 | 0, $12 + 4916 | 0 | 0, $12 + 4912 | 0 | 0, $12 + 4908 | 0 | 0) | 0; + btVector3__btVector3_28_29($12 + 4888 | 0 | 0) | 0; + btVector3__btVector3_28_29($12 + 4872 | 0 | 0) | 0; + btVector3__btVector3_28_29($12 + 4856 | 0 | 0) | 0; + btVector3__btVector3_28_29($12 + 4840 | 0 | 0) | 0; + btVector3__btVector3_28_29($12 + 4824 | 0 | 0) | 0; + btVector3__btVector3_28_29($12 + 4808 | 0 | 0) | 0; + btVector3__btVector3_28_29($12 + 4792 | 0 | 0) | 0; + btVector3__btVector3_28_29($12 + 4776 | 0 | 0) | 0; + btVector3__btVector3_28_29($12 + 4760 | 0 | 0) | 0; + $72 = $12 + 3760 | 0; + $74 = $72 + 992 | 0; + $75 = $72; + label$2 : while (1) { + $76 = $75; + btVector3__btVector3_28_29($76 | 0) | 0; + $78 = $76 + 16 | 0; + $75 = $78; + if (!(($78 | 0) == ($74 | 0) & 1 | 0)) { + continue label$2 + } + break label$2; + }; + $86 = $12 + 2768 | 0; + $88 = $86 + 992 | 0; + $89 = $86; + label$3 : while (1) { + $90 = $89; + btVector3__btVector3_28_29($90 | 0) | 0; + $92 = $90 + 16 | 0; + $89 = $92; + if (!(($92 | 0) == ($88 | 0) & 1 | 0)) { + continue label$3 + } + break label$3; + }; + $100 = $12 + 1776 | 0; + $102 = $100 + 992 | 0; + $103 = $100; + label$4 : while (1) { + $104 = $103; + btVector3__btVector3_28_29($104 | 0) | 0; + $106 = $104 + 16 | 0; + $103 = $106; + if (!(($106 | 0) == ($102 | 0) & 1 | 0)) { + continue label$4 + } + break label$4; + }; + $114 = $12 + 784 | 0; + $116 = $114 + 992 | 0; + $117 = $114; + label$5 : while (1) { + $118 = $117; + btVector3__btVector3_28_29($118 | 0) | 0; + $120 = $118 + 16 | 0; + $117 = $120; + if (!(($120 | 0) == ($116 | 0) & 1 | 0)) { + continue label$5 + } + break label$5; + }; + HEAP32[($12 + 776 | 0) >> 2] = 42; + HEAP32[($12 + 780 | 0) >> 2] = 0; + label$6 : { + label$7 : while (1) { + if (!((HEAP32[($12 + 780 | 0) >> 2] | 0 | 0) < (HEAP32[($12 + 776 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$6 + } + $139 = (btMinkowskiPenetrationDepthSolver__getPenetrationDirections_28_29() | 0) + ((HEAP32[($12 + 780 | 0) >> 2] | 0) << 4 | 0) | 0; + $140 = 8; + i64toi32_i32$2 = $139 + $140 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $1117 = i64toi32_i32$0; + i64toi32_i32$0 = ($12 + 760 | 0) + $140 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $1117; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$2 = $139; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $1121 = i64toi32_i32$1; + i64toi32_i32$1 = $12; + HEAP32[($12 + 760 | 0) >> 2] = $1121; + HEAP32[($12 + 764 | 0) >> 2] = i64toi32_i32$0; + operator__28btVector3_20const__29($12 + 728 | 0 | 0, $12 + 760 | 0 | 0); + operator__28btVector3_20const__2c_20btMatrix3x3_20const__29($12 + 744 | 0 | 0, $12 + 728 | 0 | 0, btTransform__getBasis_28_29_20const(HEAP32[($12 + 4968 | 0) >> 2] | 0 | 0) | 0 | 0); + $167 = ($12 + 1776 | 0) + ((HEAP32[($12 + 780 | 0) >> 2] | 0) << 4 | 0) | 0; + i64toi32_i32$2 = $12; + i64toi32_i32$0 = HEAP32[($12 + 744 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($12 + 748 | 0) >> 2] | 0; + $1162 = i64toi32_i32$0; + i64toi32_i32$0 = $167; + HEAP32[i64toi32_i32$0 >> 2] = $1162; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $169 = 8; + i64toi32_i32$2 = ($12 + 744 | 0) + $169 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $1175 = i64toi32_i32$1; + i64toi32_i32$1 = $167 + $169 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $1175; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + operator__28btVector3_20const__2c_20btMatrix3x3_20const__29($12 + 712 | 0 | 0, $12 + 760 | 0 | 0, btTransform__getBasis_28_29_20const(HEAP32[($12 + 4964 | 0) >> 2] | 0 | 0) | 0 | 0); + $189 = ($12 + 784 | 0) + ((HEAP32[($12 + 780 | 0) >> 2] | 0) << 4 | 0) | 0; + i64toi32_i32$2 = $12; + i64toi32_i32$0 = HEAP32[($12 + 712 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($12 + 716 | 0) >> 2] | 0; + $1206 = i64toi32_i32$0; + i64toi32_i32$0 = $189; + HEAP32[i64toi32_i32$0 >> 2] = $1206; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $191 = 8; + i64toi32_i32$2 = ($12 + 712 | 0) + $191 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $1219 = i64toi32_i32$1; + i64toi32_i32$1 = $189 + $191 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $1219; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($12 + 780 | 0) >> 2] = (HEAP32[($12 + 780 | 0) >> 2] | 0) + 1 | 0; + continue label$7; + }; + } + $200 = HEAP32[($12 + 4976 | 0) >> 2] | 0; + (wasm2js_i32$0 = $12, wasm2js_i32$1 = FUNCTION_TABLE[HEAP32[((HEAP32[$200 >> 2] | 0) + 84 | 0) >> 2] | 0 | 0]($200) | 0), HEAP32[(wasm2js_i32$0 + 708 | 0) >> 2] = wasm2js_i32$1; + label$8 : { + if (!(HEAP32[($12 + 708 | 0) >> 2] | 0)) { + break label$8 + } + HEAP32[($12 + 704 | 0) >> 2] = 0; + label$9 : { + label$10 : while (1) { + if (!((HEAP32[($12 + 704 | 0) >> 2] | 0 | 0) < (HEAP32[($12 + 708 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$9 + } + btVector3__btVector3_28_29($12 + 688 | 0 | 0) | 0; + $216 = HEAP32[($12 + 4976 | 0) >> 2] | 0; + FUNCTION_TABLE[HEAP32[((HEAP32[$216 >> 2] | 0) + 88 | 0) >> 2] | 0 | 0]($216, HEAP32[($12 + 704 | 0) >> 2] | 0, $12 + 688 | 0); + operator__28btMatrix3x3_20const__2c_20btVector3_20const__29($12 + 672 | 0 | 0, btTransform__getBasis_28_29_20const(HEAP32[($12 + 4968 | 0) >> 2] | 0 | 0) | 0 | 0, $12 + 688 | 0 | 0); + $231 = 8; + i64toi32_i32$2 = ($12 + 672 | 0) + $231 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $1310 = i64toi32_i32$0; + i64toi32_i32$0 = ($12 + 688 | 0) + $231 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $1310; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$2 = $12; + i64toi32_i32$1 = HEAP32[($12 + 672 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($12 + 676 | 0) >> 2] | 0; + $1314 = i64toi32_i32$1; + i64toi32_i32$1 = $12; + HEAP32[($12 + 688 | 0) >> 2] = $1314; + HEAP32[($12 + 692 | 0) >> 2] = i64toi32_i32$0; + $244 = (btMinkowskiPenetrationDepthSolver__getPenetrationDirections_28_29() | 0) + ((HEAP32[($12 + 776 | 0) >> 2] | 0) << 4 | 0) | 0; + i64toi32_i32$2 = $12; + i64toi32_i32$0 = HEAP32[($12 + 688 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($12 + 692 | 0) >> 2] | 0; + $1327 = i64toi32_i32$0; + i64toi32_i32$0 = $244; + HEAP32[i64toi32_i32$0 >> 2] = $1327; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $246 = 8; + i64toi32_i32$2 = ($12 + 688 | 0) + $246 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $1340 = i64toi32_i32$1; + i64toi32_i32$1 = $244 + $246 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $1340; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + operator__28btVector3_20const__29($12 + 640 | 0 | 0, $12 + 688 | 0 | 0); + operator__28btVector3_20const__2c_20btMatrix3x3_20const__29($12 + 656 | 0 | 0, $12 + 640 | 0 | 0, btTransform__getBasis_28_29_20const(HEAP32[($12 + 4968 | 0) >> 2] | 0 | 0) | 0 | 0); + $272 = ($12 + 1776 | 0) + ((HEAP32[($12 + 776 | 0) >> 2] | 0) << 4 | 0) | 0; + i64toi32_i32$2 = $12; + i64toi32_i32$0 = HEAP32[($12 + 656 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($12 + 660 | 0) >> 2] | 0; + $1381 = i64toi32_i32$0; + i64toi32_i32$0 = $272; + HEAP32[i64toi32_i32$0 >> 2] = $1381; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $274 = 8; + i64toi32_i32$2 = ($12 + 656 | 0) + $274 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $1394 = i64toi32_i32$1; + i64toi32_i32$1 = $272 + $274 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $1394; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + operator__28btVector3_20const__2c_20btMatrix3x3_20const__29($12 + 624 | 0 | 0, $12 + 688 | 0 | 0, btTransform__getBasis_28_29_20const(HEAP32[($12 + 4964 | 0) >> 2] | 0 | 0) | 0 | 0); + $294 = ($12 + 784 | 0) + ((HEAP32[($12 + 776 | 0) >> 2] | 0) << 4 | 0) | 0; + i64toi32_i32$2 = $12; + i64toi32_i32$0 = HEAP32[($12 + 624 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($12 + 628 | 0) >> 2] | 0; + $1425 = i64toi32_i32$0; + i64toi32_i32$0 = $294; + HEAP32[i64toi32_i32$0 >> 2] = $1425; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $296 = 8; + i64toi32_i32$2 = ($12 + 624 | 0) + $296 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $1438 = i64toi32_i32$1; + i64toi32_i32$1 = $294 + $296 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $1438; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($12 + 776 | 0) >> 2] = (HEAP32[($12 + 776 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($12 + 704 | 0) >> 2] = (HEAP32[($12 + 704 | 0) >> 2] | 0) + 1 | 0; + continue label$10; + }; + } + } + $308 = HEAP32[($12 + 4972 | 0) >> 2] | 0; + (wasm2js_i32$0 = $12, wasm2js_i32$1 = FUNCTION_TABLE[HEAP32[((HEAP32[$308 >> 2] | 0) + 84 | 0) >> 2] | 0 | 0]($308) | 0), HEAP32[(wasm2js_i32$0 + 620 | 0) >> 2] = wasm2js_i32$1; + label$11 : { + if (!(HEAP32[($12 + 620 | 0) >> 2] | 0)) { + break label$11 + } + HEAP32[($12 + 616 | 0) >> 2] = 0; + label$12 : { + label$13 : while (1) { + if (!((HEAP32[($12 + 616 | 0) >> 2] | 0 | 0) < (HEAP32[($12 + 620 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$12 + } + btVector3__btVector3_28_29($12 + 600 | 0 | 0) | 0; + $324 = HEAP32[($12 + 4972 | 0) >> 2] | 0; + FUNCTION_TABLE[HEAP32[((HEAP32[$324 >> 2] | 0) + 88 | 0) >> 2] | 0 | 0]($324, HEAP32[($12 + 616 | 0) >> 2] | 0, $12 + 600 | 0); + operator__28btMatrix3x3_20const__2c_20btVector3_20const__29($12 + 584 | 0 | 0, btTransform__getBasis_28_29_20const(HEAP32[($12 + 4964 | 0) >> 2] | 0 | 0) | 0 | 0, $12 + 600 | 0 | 0); + $339 = 8; + i64toi32_i32$2 = ($12 + 584 | 0) + $339 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $1536 = i64toi32_i32$0; + i64toi32_i32$0 = ($12 + 600 | 0) + $339 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $1536; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$2 = $12; + i64toi32_i32$1 = HEAP32[($12 + 584 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($12 + 588 | 0) >> 2] | 0; + $1540 = i64toi32_i32$1; + i64toi32_i32$1 = $12; + HEAP32[($12 + 600 | 0) >> 2] = $1540; + HEAP32[($12 + 604 | 0) >> 2] = i64toi32_i32$0; + $352 = (btMinkowskiPenetrationDepthSolver__getPenetrationDirections_28_29() | 0) + ((HEAP32[($12 + 776 | 0) >> 2] | 0) << 4 | 0) | 0; + i64toi32_i32$2 = $12; + i64toi32_i32$0 = HEAP32[($12 + 600 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($12 + 604 | 0) >> 2] | 0; + $1553 = i64toi32_i32$0; + i64toi32_i32$0 = $352; + HEAP32[i64toi32_i32$0 >> 2] = $1553; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $354 = 8; + i64toi32_i32$2 = ($12 + 600 | 0) + $354 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $1566 = i64toi32_i32$1; + i64toi32_i32$1 = $352 + $354 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $1566; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + operator__28btVector3_20const__29($12 + 552 | 0 | 0, $12 + 600 | 0 | 0); + operator__28btVector3_20const__2c_20btMatrix3x3_20const__29($12 + 568 | 0 | 0, $12 + 552 | 0 | 0, btTransform__getBasis_28_29_20const(HEAP32[($12 + 4968 | 0) >> 2] | 0 | 0) | 0 | 0); + $380 = ($12 + 1776 | 0) + ((HEAP32[($12 + 776 | 0) >> 2] | 0) << 4 | 0) | 0; + i64toi32_i32$2 = $12; + i64toi32_i32$0 = HEAP32[($12 + 568 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($12 + 572 | 0) >> 2] | 0; + $1607 = i64toi32_i32$0; + i64toi32_i32$0 = $380; + HEAP32[i64toi32_i32$0 >> 2] = $1607; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $382 = 8; + i64toi32_i32$2 = ($12 + 568 | 0) + $382 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $1620 = i64toi32_i32$1; + i64toi32_i32$1 = $380 + $382 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $1620; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + operator__28btVector3_20const__2c_20btMatrix3x3_20const__29($12 + 536 | 0 | 0, $12 + 600 | 0 | 0, btTransform__getBasis_28_29_20const(HEAP32[($12 + 4964 | 0) >> 2] | 0 | 0) | 0 | 0); + $402 = ($12 + 784 | 0) + ((HEAP32[($12 + 776 | 0) >> 2] | 0) << 4 | 0) | 0; + i64toi32_i32$2 = $12; + i64toi32_i32$0 = HEAP32[($12 + 536 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($12 + 540 | 0) >> 2] | 0; + $1651 = i64toi32_i32$0; + i64toi32_i32$0 = $402; + HEAP32[i64toi32_i32$0 >> 2] = $1651; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $404 = 8; + i64toi32_i32$2 = ($12 + 536 | 0) + $404 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $1664 = i64toi32_i32$1; + i64toi32_i32$1 = $402 + $404 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $1664; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($12 + 776 | 0) >> 2] = (HEAP32[($12 + 776 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($12 + 616 | 0) >> 2] = (HEAP32[($12 + 616 | 0) >> 2] | 0) + 1 | 0; + continue label$13; + }; + } + } + $416 = HEAP32[($12 + 4976 | 0) >> 2] | 0; + FUNCTION_TABLE[HEAP32[((HEAP32[$416 >> 2] | 0) + 76 | 0) >> 2] | 0 | 0]($416, $12 + 1776 | 0, $12 + 3760 | 0, HEAP32[($12 + 776 | 0) >> 2] | 0); + $426 = HEAP32[($12 + 4972 | 0) >> 2] | 0; + FUNCTION_TABLE[HEAP32[((HEAP32[$426 >> 2] | 0) + 76 | 0) >> 2] | 0 | 0]($426, $12 + 784 | 0, $12 + 2768 | 0, HEAP32[($12 + 776 | 0) >> 2] | 0); + HEAP32[($12 + 780 | 0) >> 2] = 0; + label$14 : { + label$15 : while (1) { + if (!((HEAP32[($12 + 780 | 0) >> 2] | 0 | 0) < (HEAP32[($12 + 776 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$14 + } + $448 = (btMinkowskiPenetrationDepthSolver__getPenetrationDirections_28_29() | 0) + ((HEAP32[($12 + 780 | 0) >> 2] | 0) << 4 | 0) | 0; + $449 = 8; + i64toi32_i32$2 = $448 + $449 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $1758 = i64toi32_i32$0; + i64toi32_i32$0 = ($12 + 520 | 0) + $449 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $1758; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$2 = $448; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $1762 = i64toi32_i32$1; + i64toi32_i32$1 = $12; + HEAP32[($12 + 520 | 0) >> 2] = $1762; + HEAP32[($12 + 524 | 0) >> 2] = i64toi32_i32$0; + label$16 : { + if (!((HEAPU8[($12 + 4947 | 0) >> 0] | 0) & 1 | 0)) { + break label$16 + } + (wasm2js_i32$0 = btVector3__operator_20float__28_29($12 + 520 | 0 | 0) | 0, wasm2js_f32$0 = Math_fround(0 | 0)), HEAPF32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_f32$0; + } + label$17 : { + if (!(+Math_fround(btVector3__length2_28_29_20const($12 + 520 | 0 | 0)) > .01 & 1 | 0)) { + break label$17 + } + $479 = ($12 + 1776 | 0) + ((HEAP32[($12 + 780 | 0) >> 2] | 0) << 4 | 0) | 0; + $480 = 8; + i64toi32_i32$2 = $479 + $480 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $1819 = i64toi32_i32$0; + i64toi32_i32$0 = ($12 + 4856 | 0) + $480 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $1819; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$2 = $479; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $1823 = i64toi32_i32$1; + i64toi32_i32$1 = $12; + HEAP32[($12 + 4856 | 0) >> 2] = $1823; + HEAP32[($12 + 4860 | 0) >> 2] = i64toi32_i32$0; + $493 = ($12 + 784 | 0) + ((HEAP32[($12 + 780 | 0) >> 2] | 0) << 4 | 0) | 0; + $494 = 8; + i64toi32_i32$2 = $493 + $494 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $1848 = i64toi32_i32$0; + i64toi32_i32$0 = ($12 + 4840 | 0) + $494 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $1848; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$2 = $493; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $1852 = i64toi32_i32$1; + i64toi32_i32$1 = $12; + HEAP32[($12 + 4840 | 0) >> 2] = $1852; + HEAP32[($12 + 4844 | 0) >> 2] = i64toi32_i32$0; + $507 = ($12 + 3760 | 0) + ((HEAP32[($12 + 780 | 0) >> 2] | 0) << 4 | 0) | 0; + $508 = 8; + i64toi32_i32$2 = $507 + $508 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $1877 = i64toi32_i32$0; + i64toi32_i32$0 = ($12 + 4824 | 0) + $508 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $1877; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$2 = $507; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $1881 = i64toi32_i32$1; + i64toi32_i32$1 = $12; + HEAP32[($12 + 4824 | 0) >> 2] = $1881; + HEAP32[($12 + 4828 | 0) >> 2] = i64toi32_i32$0; + $521 = ($12 + 2768 | 0) + ((HEAP32[($12 + 780 | 0) >> 2] | 0) << 4 | 0) | 0; + $522 = 8; + i64toi32_i32$2 = $521 + $522 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $1906 = i64toi32_i32$0; + i64toi32_i32$0 = ($12 + 4808 | 0) + $522 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $1906; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$2 = $521; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $1910 = i64toi32_i32$1; + i64toi32_i32$1 = $12; + HEAP32[($12 + 4808 | 0) >> 2] = $1910; + HEAP32[($12 + 4812 | 0) >> 2] = i64toi32_i32$0; + btTransform__operator_28_29_28btVector3_20const__29_20const($12 + 504 | 0 | 0, HEAP32[($12 + 4968 | 0) >> 2] | 0 | 0, $12 + 4824 | 0 | 0); + $536 = 8; + i64toi32_i32$2 = ($12 + 504 | 0) + $536 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $1939 = i64toi32_i32$0; + i64toi32_i32$0 = ($12 + 4792 | 0) + $536 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $1939; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$2 = $12; + i64toi32_i32$1 = HEAP32[($12 + 504 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($12 + 508 | 0) >> 2] | 0; + $1943 = i64toi32_i32$1; + i64toi32_i32$1 = $12; + HEAP32[($12 + 4792 | 0) >> 2] = $1943; + HEAP32[($12 + 4796 | 0) >> 2] = i64toi32_i32$0; + btTransform__operator_28_29_28btVector3_20const__29_20const($12 + 488 | 0 | 0, HEAP32[($12 + 4964 | 0) >> 2] | 0 | 0, $12 + 4808 | 0 | 0); + $552 = 8; + i64toi32_i32$2 = ($12 + 488 | 0) + $552 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $1972 = i64toi32_i32$0; + i64toi32_i32$0 = ($12 + 4776 | 0) + $552 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $1972; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$2 = $12; + i64toi32_i32$1 = HEAP32[($12 + 488 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($12 + 492 | 0) >> 2] | 0; + $1976 = i64toi32_i32$1; + i64toi32_i32$1 = $12; + HEAP32[($12 + 4776 | 0) >> 2] = $1976; + HEAP32[($12 + 4780 | 0) >> 2] = i64toi32_i32$0; + label$18 : { + if (!((HEAPU8[($12 + 4947 | 0) >> 0] | 0) & 1 | 0)) { + break label$18 + } + (wasm2js_i32$0 = btVector3__operator_20float__28_29($12 + 4792 | 0 | 0) | 0, wasm2js_f32$0 = Math_fround(0 | 0)), HEAPF32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_f32$0; + (wasm2js_i32$0 = btVector3__operator_20float__28_29($12 + 4776 | 0 | 0) | 0, wasm2js_f32$0 = Math_fround(0 | 0)), HEAPF32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_f32$0; + } + operator__28btVector3_20const__2c_20btVector3_20const__29($12 + 472 | 0 | 0, $12 + 4776 | 0 | 0, $12 + 4792 | 0 | 0); + $585 = 8; + i64toi32_i32$2 = ($12 + 472 | 0) + $585 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $2034 = i64toi32_i32$0; + i64toi32_i32$0 = ($12 + 4760 | 0) + $585 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $2034; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$2 = $12; + i64toi32_i32$1 = HEAP32[($12 + 472 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($12 + 476 | 0) >> 2] | 0; + $2038 = i64toi32_i32$1; + i64toi32_i32$1 = $12; + HEAP32[($12 + 4760 | 0) >> 2] = $2038; + HEAP32[($12 + 4764 | 0) >> 2] = i64toi32_i32$0; + (wasm2js_i32$0 = $12, wasm2js_f32$0 = Math_fround(btVector3__dot_28btVector3_20const__29_20const($12 + 520 | 0 | 0, $12 + 4760 | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 468 | 0) >> 2] = wasm2js_f32$0; + label$19 : { + if (!(Math_fround(HEAPF32[($12 + 468 | 0) >> 2]) < Math_fround(HEAPF32[($12 + 4940 | 0) >> 2]) & 1 | 0)) { + break label$19 + } + HEAPF32[($12 + 4940 | 0) >> 2] = Math_fround(HEAPF32[($12 + 468 | 0) >> 2]); + $607 = 8; + i64toi32_i32$2 = ($12 + 520 | 0) + $607 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $2083 = i64toi32_i32$0; + i64toi32_i32$0 = ($12 + 4920 | 0) + $607 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $2083; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$2 = $12; + i64toi32_i32$1 = HEAP32[($12 + 520 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($12 + 524 | 0) >> 2] | 0; + $2087 = i64toi32_i32$1; + i64toi32_i32$1 = $12; + HEAP32[($12 + 4920 | 0) >> 2] = $2087; + HEAP32[($12 + 4924 | 0) >> 2] = i64toi32_i32$0; + $616 = 8; + i64toi32_i32$2 = ($12 + 4792 | 0) + $616 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $2103 = i64toi32_i32$0; + i64toi32_i32$0 = ($12 + 4888 | 0) + $616 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $2103; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$2 = $12; + i64toi32_i32$1 = HEAP32[($12 + 4792 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($12 + 4796 | 0) >> 2] | 0; + $2107 = i64toi32_i32$1; + i64toi32_i32$1 = $12; + HEAP32[($12 + 4888 | 0) >> 2] = $2107; + HEAP32[($12 + 4892 | 0) >> 2] = i64toi32_i32$0; + $625 = 8; + i64toi32_i32$2 = ($12 + 4776 | 0) + $625 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $2123 = i64toi32_i32$0; + i64toi32_i32$0 = ($12 + 4872 | 0) + $625 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $2123; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$2 = $12; + i64toi32_i32$1 = HEAP32[($12 + 4776 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($12 + 4780 | 0) >> 2] | 0; + $2127 = i64toi32_i32$1; + i64toi32_i32$1 = $12; + HEAP32[($12 + 4872 | 0) >> 2] = $2127; + HEAP32[($12 + 4876 | 0) >> 2] = i64toi32_i32$0; + } + } + HEAP32[($12 + 780 | 0) >> 2] = (HEAP32[($12 + 780 | 0) >> 2] | 0) + 1 | 0; + continue label$15; + }; + } + (wasm2js_i32$0 = $12, wasm2js_f32$0 = Math_fround(btConvexShape__getMarginNonVirtual_28_29_20const(HEAP32[($12 + 4976 | 0) >> 2] | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 448 | 0) >> 2] = wasm2js_f32$0; + operator__28btVector3_20const__2c_20float_20const__29($12 + 452 | 0 | 0, $12 + 4920 | 0 | 0, $12 + 448 | 0 | 0); + btVector3__operator___28btVector3_20const__29_1($12 + 4888 | 0 | 0, $12 + 452 | 0 | 0) | 0; + (wasm2js_i32$0 = $12, wasm2js_f32$0 = Math_fround(btConvexShape__getMarginNonVirtual_28_29_20const(HEAP32[($12 + 4972 | 0) >> 2] | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 428 | 0) >> 2] = wasm2js_f32$0; + operator__28btVector3_20const__2c_20float_20const__29($12 + 432 | 0 | 0, $12 + 4920 | 0 | 0, $12 + 428 | 0 | 0); + btVector3__operator___28btVector3_20const__29($12 + 4872 | 0 | 0, $12 + 432 | 0 | 0) | 0; + label$20 : { + label$21 : { + if (!(Math_fround(HEAPF32[($12 + 4940 | 0) >> 2]) < Math_fround(0 | 0) & 1 | 0)) { + break label$21 + } + HEAP8[($12 + 4991 | 0) >> 0] = 0 & 1 | 0; + break label$20; + } + HEAPF32[($12 + 424 | 0) >> 2] = Math_fround(.5); + $687 = Math_fround(Math_fround(HEAPF32[($12 + 424 | 0) >> 2]) + Math_fround(Math_fround(btConvexShape__getMarginNonVirtual_28_29_20const(HEAP32[($12 + 4976 | 0) >> 2] | 0 | 0)) + Math_fround(btConvexShape__getMarginNonVirtual_28_29_20const(HEAP32[($12 + 4972 | 0) >> 2] | 0 | 0)))); + HEAPF32[($12 + 4940 | 0) >> 2] = Math_fround(Math_fround(HEAPF32[($12 + 4940 | 0) >> 2]) + $687); + btGjkPairDetector__btGjkPairDetector_28btConvexShape_20const__2c_20btConvexShape_20const__2c_20btVoronoiSimplexSolver__2c_20btConvexPenetrationDepthSolver__29($12 + 344 | 0 | 0, HEAP32[($12 + 4976 | 0) >> 2] | 0 | 0, HEAP32[($12 + 4972 | 0) >> 2] | 0 | 0, HEAP32[($12 + 4980 | 0) >> 2] | 0 | 0, 0 | 0) | 0; + HEAPF32[($12 + 340 | 0) >> 2] = Math_fround(HEAPF32[($12 + 4940 | 0) >> 2]); + operator__28btVector3_20const__2c_20float_20const__29($12 + 324 | 0 | 0, $12 + 4920 | 0 | 0, $12 + 340 | 0 | 0); + btDiscreteCollisionDetectorInterface__ClosestPointInput__ClosestPointInput_28_29($12 + 192 | 0 | 0) | 0; + operator__28btVector3_20const__2c_20btVector3_20const__29_2($12 + 176 | 0 | 0, btTransform__getOrigin_28_29_20const(HEAP32[($12 + 4968 | 0) >> 2] | 0 | 0) | 0 | 0, $12 + 324 | 0 | 0); + btTransform__btTransform_28btTransform_20const__29($12 + 112 | 0 | 0, HEAP32[($12 + 4968 | 0) >> 2] | 0 | 0) | 0; + btTransform__setOrigin_28btVector3_20const__29($12 + 112 | 0 | 0, $12 + 176 | 0 | 0); + btTransform__operator__28btTransform_20const__29($12 + 192 | 0 | 0, $12 + 112 | 0 | 0) | 0; + btTransform__operator__28btTransform_20const__29(($12 + 192 | 0) + 64 | 0 | 0, HEAP32[($12 + 4964 | 0) >> 2] | 0 | 0) | 0; + HEAPF32[($12 + 320 | 0) >> 2] = Math_fround(999999984306749440.0); + btMinkowskiPenetrationDepthSolver__calcPenDepth_28btVoronoiSimplexSolver__2c_20btConvexShape_20const__2c_20btConvexShape_20const__2c_20btTransform_20const__2c_20btTransform_20const__2c_20btVector3__2c_20btVector3__2c_20btVector3__2c_20btIDebugDraw__29__btIntermediateResult__btIntermediateResult_28_29($12 + 68 | 0 | 0) | 0; + operator__28btVector3_20const__29($12 + 52 | 0 | 0, $12 + 4920 | 0 | 0); + btGjkPairDetector__setCachedSeperatingAxis_28btVector3_20const__29($12 + 344 | 0 | 0, $12 + 52 | 0 | 0); + btGjkPairDetector__getClosestPoints_28btDiscreteCollisionDetectorInterface__ClosestPointInput_20const__2c_20btDiscreteCollisionDetectorInterface__Result__2c_20btIDebugDraw__2c_20bool_29($12 + 344 | 0 | 0, $12 + 192 | 0 | 0, $12 + 68 | 0 | 0, HEAP32[($12 + 4948 | 0) >> 2] | 0 | 0, 0 & 1 | 0 | 0); + HEAPF32[($12 + 48 | 0) >> 2] = Math_fround(Math_fround(HEAPF32[($12 + 4940 | 0) >> 2]) - Math_fround(HEAPF32[($12 + 104 | 0) >> 2])); + HEAPF32[($12 + 44 | 0) >> 2] = Math_fround(1.0); + btVector3__operator___28float_20const__29_1($12 + 4920 | 0 | 0, $12 + 44 | 0 | 0) | 0; + label$22 : { + if (!((HEAPU8[($12 + 108 | 0) >> 0] | 0) & 1 | 0)) { + break label$22 + } + operator__28btVector3_20const__2c_20float_20const__29($12 + 12 | 0 | 0, $12 + 4920 | 0 | 0, $12 + 48 | 0 | 0); + operator__28btVector3_20const__2c_20btVector3_20const__29($12 + 28 | 0 | 0, ($12 + 68 | 0) + 20 | 0 | 0, $12 + 12 | 0 | 0); + $802 = HEAP32[($12 + 4956 | 0) >> 2] | 0; + i64toi32_i32$2 = $12; + i64toi32_i32$0 = HEAP32[($12 + 28 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($12 + 32 | 0) >> 2] | 0; + $2456 = i64toi32_i32$0; + i64toi32_i32$0 = $802; + HEAP32[i64toi32_i32$0 >> 2] = $2456; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $804 = 8; + i64toi32_i32$2 = ($12 + 28 | 0) + $804 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $2469 = i64toi32_i32$1; + i64toi32_i32$1 = $802 + $804 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $2469; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + $815 = HEAP32[($12 + 4952 | 0) >> 2] | 0; + i64toi32_i32$2 = ($12 + 68 | 0) + 20 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $2482 = i64toi32_i32$0; + i64toi32_i32$0 = $815; + HEAP32[i64toi32_i32$0 >> 2] = $2482; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $817 = 8; + i64toi32_i32$2 = i64toi32_i32$2 + $817 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $2492 = i64toi32_i32$1; + i64toi32_i32$1 = $815 + $817 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $2492; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + $821 = HEAP32[($12 + 4960 | 0) >> 2] | 0; + i64toi32_i32$2 = $12; + i64toi32_i32$0 = HEAP32[($12 + 4920 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($12 + 4924 | 0) >> 2] | 0; + $2498 = i64toi32_i32$0; + i64toi32_i32$0 = $821; + HEAP32[i64toi32_i32$0 >> 2] = $2498; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $823 = 8; + i64toi32_i32$2 = ($12 + 4920 | 0) + $823 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $2511 = i64toi32_i32$1; + i64toi32_i32$1 = $821 + $823 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $2511; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + } + HEAP8[($12 + 4991 | 0) >> 0] = (HEAPU8[($12 + 108 | 0) >> 0] | 0) & 1 | 0; + btMinkowskiPenetrationDepthSolver__calcPenDepth_28btVoronoiSimplexSolver__2c_20btConvexShape_20const__2c_20btConvexShape_20const__2c_20btTransform_20const__2c_20btTransform_20const__2c_20btVector3__2c_20btVector3__2c_20btVector3__2c_20btIDebugDraw__29__btIntermediateResult___btIntermediateResult_28_29($12 + 68 | 0 | 0) | 0; + btGjkPairDetector___btGjkPairDetector_28_29($12 + 344 | 0 | 0) | 0; + } + $840 = (HEAPU8[($12 + 4991 | 0) >> 0] | 0) & 1 | 0; + __stack_pointer = $12 + 4992 | 0; + return $840 | 0; + } + + function btMinkowskiPenetrationDepthSolver__getPenetrationDirections_28_29() { + var $2 = 0, $655 = 0, $656 = 0, $658 = 0; + $2 = __stack_pointer - 512 | 0; + __stack_pointer = $2; + label$1 : { + if (!(((HEAPU8[(0 + 115344 | 0) >> 0] | 0) & 255 | 0 | 0) == (0 & 255 | 0 | 0) & 1 | 0)) { + break label$1 + } + HEAPF32[($2 + 508 | 0) >> 2] = Math_fround(0 | 0); + HEAPF32[($2 + 504 | 0) >> 2] = Math_fround(-0.0); + HEAPF32[($2 + 500 | 0) >> 2] = Math_fround(-1.0); + btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29(114352 | 0, $2 + 508 | 0 | 0, $2 + 504 | 0 | 0, $2 + 500 | 0 | 0) | 0; + HEAPF32[($2 + 496 | 0) >> 2] = Math_fround(.7236080169677734); + HEAPF32[($2 + 492 | 0) >> 2] = Math_fround(-.5257250070571899); + HEAPF32[($2 + 488 | 0) >> 2] = Math_fround(-.44721901416778564); + btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29(114352 + 16 | 0 | 0, $2 + 496 | 0 | 0, $2 + 492 | 0 | 0, $2 + 488 | 0 | 0) | 0; + HEAPF32[($2 + 484 | 0) >> 2] = Math_fround(-.2763879895210266); + HEAPF32[($2 + 480 | 0) >> 2] = Math_fround(-.8506489992141724); + HEAPF32[($2 + 476 | 0) >> 2] = Math_fround(-.44721901416778564); + btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29(114352 + 32 | 0 | 0, $2 + 484 | 0 | 0, $2 + 480 | 0 | 0, $2 + 476 | 0 | 0) | 0; + HEAPF32[($2 + 472 | 0) >> 2] = Math_fround(-.8944259881973267); + HEAPF32[($2 + 468 | 0) >> 2] = Math_fround(-0.0); + HEAPF32[($2 + 464 | 0) >> 2] = Math_fround(-.4472160041332245); + btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29(114352 + 48 | 0 | 0, $2 + 472 | 0 | 0, $2 + 468 | 0 | 0, $2 + 464 | 0 | 0) | 0; + HEAPF32[($2 + 460 | 0) >> 2] = Math_fround(-.2763879895210266); + HEAPF32[($2 + 456 | 0) >> 2] = Math_fround(.8506489992141724); + HEAPF32[($2 + 452 | 0) >> 2] = Math_fround(-.44721999764442444); + btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29(114352 + 64 | 0 | 0, $2 + 460 | 0 | 0, $2 + 456 | 0 | 0, $2 + 452 | 0 | 0) | 0; + HEAPF32[($2 + 448 | 0) >> 2] = Math_fround(.7236080169677734); + HEAPF32[($2 + 444 | 0) >> 2] = Math_fround(.5257250070571899); + HEAPF32[($2 + 440 | 0) >> 2] = Math_fround(-.44721901416778564); + btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29(114352 + 80 | 0 | 0, $2 + 448 | 0 | 0, $2 + 444 | 0 | 0, $2 + 440 | 0 | 0) | 0; + HEAPF32[($2 + 436 | 0) >> 2] = Math_fround(.2763879895210266); + HEAPF32[($2 + 432 | 0) >> 2] = Math_fround(-.8506489992141724); + HEAPF32[($2 + 428 | 0) >> 2] = Math_fround(.44721999764442444); + btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29(114352 + 96 | 0 | 0, $2 + 436 | 0 | 0, $2 + 432 | 0 | 0, $2 + 428 | 0 | 0) | 0; + HEAPF32[($2 + 424 | 0) >> 2] = Math_fround(-.7236080169677734); + HEAPF32[($2 + 420 | 0) >> 2] = Math_fround(-.5257250070571899); + HEAPF32[($2 + 416 | 0) >> 2] = Math_fround(.44721901416778564); + btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29(114352 + 112 | 0 | 0, $2 + 424 | 0 | 0, $2 + 420 | 0 | 0, $2 + 416 | 0 | 0) | 0; + HEAPF32[($2 + 412 | 0) >> 2] = Math_fround(-.7236080169677734); + HEAPF32[($2 + 408 | 0) >> 2] = Math_fround(.5257250070571899); + HEAPF32[($2 + 404 | 0) >> 2] = Math_fround(.44721901416778564); + btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29(114352 + 128 | 0 | 0, $2 + 412 | 0 | 0, $2 + 408 | 0 | 0, $2 + 404 | 0 | 0) | 0; + HEAPF32[($2 + 400 | 0) >> 2] = Math_fround(.2763879895210266); + HEAPF32[($2 + 396 | 0) >> 2] = Math_fround(.8506489992141724); + HEAPF32[($2 + 392 | 0) >> 2] = Math_fround(.44721901416778564); + btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29(114352 + 144 | 0 | 0, $2 + 400 | 0 | 0, $2 + 396 | 0 | 0, $2 + 392 | 0 | 0) | 0; + HEAPF32[($2 + 388 | 0) >> 2] = Math_fround(.8944259881973267); + HEAPF32[($2 + 384 | 0) >> 2] = Math_fround(0 | 0); + HEAPF32[($2 + 380 | 0) >> 2] = Math_fround(.4472160041332245); + btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29(114352 + 160 | 0 | 0, $2 + 388 | 0 | 0, $2 + 384 | 0 | 0, $2 + 380 | 0 | 0) | 0; + HEAPF32[($2 + 376 | 0) >> 2] = Math_fround(-0.0); + HEAPF32[($2 + 372 | 0) >> 2] = Math_fround(0 | 0); + HEAPF32[($2 + 368 | 0) >> 2] = Math_fround(1.0); + btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29(114352 + 176 | 0 | 0, $2 + 376 | 0 | 0, $2 + 372 | 0 | 0, $2 + 368 | 0 | 0) | 0; + HEAPF32[($2 + 364 | 0) >> 2] = Math_fround(.4253230094909668); + HEAPF32[($2 + 360 | 0) >> 2] = Math_fround(-.3090110123157501); + HEAPF32[($2 + 356 | 0) >> 2] = Math_fround(-.8506540060043335); + btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29(114352 + 192 | 0 | 0, $2 + 364 | 0 | 0, $2 + 360 | 0 | 0, $2 + 356 | 0 | 0) | 0; + HEAPF32[($2 + 352 | 0) >> 2] = Math_fround(-.16245600581169128); + HEAPF32[($2 + 348 | 0) >> 2] = Math_fround(-.49999499320983887); + HEAPF32[($2 + 344 | 0) >> 2] = Math_fround(-.8506540060043335); + btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29(114352 + 208 | 0 | 0, $2 + 352 | 0 | 0, $2 + 348 | 0 | 0, $2 + 344 | 0 | 0) | 0; + HEAPF32[($2 + 340 | 0) >> 2] = Math_fround(.2628690004348755); + HEAPF32[($2 + 336 | 0) >> 2] = Math_fround(-.8090119957923889); + HEAPF32[($2 + 332 | 0) >> 2] = Math_fround(-.525738000869751); + btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29(114352 + 224 | 0 | 0, $2 + 340 | 0 | 0, $2 + 336 | 0 | 0, $2 + 332 | 0 | 0) | 0; + HEAPF32[($2 + 328 | 0) >> 2] = Math_fround(.4253230094909668); + HEAPF32[($2 + 324 | 0) >> 2] = Math_fround(.3090110123157501); + HEAPF32[($2 + 320 | 0) >> 2] = Math_fround(-.8506540060043335); + btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29(114352 + 240 | 0 | 0, $2 + 328 | 0 | 0, $2 + 324 | 0 | 0, $2 + 320 | 0 | 0) | 0; + HEAPF32[($2 + 316 | 0) >> 2] = Math_fround(.8506479859352112); + HEAPF32[($2 + 312 | 0) >> 2] = Math_fround(-0.0); + HEAPF32[($2 + 308 | 0) >> 2] = Math_fround(-.5257359743118286); + btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29(114352 + 256 | 0 | 0, $2 + 316 | 0 | 0, $2 + 312 | 0 | 0, $2 + 308 | 0 | 0) | 0; + HEAPF32[($2 + 304 | 0) >> 2] = Math_fround(-.5257300138473511); + HEAPF32[($2 + 300 | 0) >> 2] = Math_fround(-0.0); + HEAPF32[($2 + 296 | 0) >> 2] = Math_fround(-.8506519794464111); + btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29(114352 + 272 | 0 | 0, $2 + 304 | 0 | 0, $2 + 300 | 0 | 0, $2 + 296 | 0 | 0) | 0; + HEAPF32[($2 + 292 | 0) >> 2] = Math_fround(-.6881899833679199); + HEAPF32[($2 + 288 | 0) >> 2] = Math_fround(-.49999698996543884); + HEAPF32[($2 + 284 | 0) >> 2] = Math_fround(-.5257359743118286); + btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29(114352 + 288 | 0 | 0, $2 + 292 | 0 | 0, $2 + 288 | 0 | 0, $2 + 284 | 0 | 0) | 0; + HEAPF32[($2 + 280 | 0) >> 2] = Math_fround(-.16245600581169128); + HEAPF32[($2 + 276 | 0) >> 2] = Math_fround(.49999499320983887); + HEAPF32[($2 + 272 | 0) >> 2] = Math_fround(-.8506540060043335); + btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29(114352 + 304 | 0 | 0, $2 + 280 | 0 | 0, $2 + 276 | 0 | 0, $2 + 272 | 0 | 0) | 0; + HEAPF32[($2 + 268 | 0) >> 2] = Math_fround(-.6881899833679199); + HEAPF32[($2 + 264 | 0) >> 2] = Math_fround(.49999698996543884); + HEAPF32[($2 + 260 | 0) >> 2] = Math_fround(-.5257359743118286); + btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29(114352 + 320 | 0 | 0, $2 + 268 | 0 | 0, $2 + 264 | 0 | 0, $2 + 260 | 0 | 0) | 0; + HEAPF32[($2 + 256 | 0) >> 2] = Math_fround(.2628690004348755); + HEAPF32[($2 + 252 | 0) >> 2] = Math_fround(.8090119957923889); + HEAPF32[($2 + 248 | 0) >> 2] = Math_fround(-.525738000869751); + btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29(114352 + 336 | 0 | 0, $2 + 256 | 0 | 0, $2 + 252 | 0 | 0, $2 + 248 | 0 | 0) | 0; + HEAPF32[($2 + 244 | 0) >> 2] = Math_fround(.9510579705238342); + HEAPF32[($2 + 240 | 0) >> 2] = Math_fround(.3090130090713501); + HEAPF32[($2 + 236 | 0) >> 2] = Math_fround(0 | 0); + btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29(114352 + 352 | 0 | 0, $2 + 244 | 0 | 0, $2 + 240 | 0 | 0, $2 + 236 | 0 | 0) | 0; + HEAPF32[($2 + 232 | 0) >> 2] = Math_fround(.9510579705238342); + HEAPF32[($2 + 228 | 0) >> 2] = Math_fround(-.3090130090713501); + HEAPF32[($2 + 224 | 0) >> 2] = Math_fround(0 | 0); + btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29(114352 + 368 | 0 | 0, $2 + 232 | 0 | 0, $2 + 228 | 0 | 0, $2 + 224 | 0 | 0) | 0; + HEAPF32[($2 + 220 | 0) >> 2] = Math_fround(.5877860188484192); + HEAPF32[($2 + 216 | 0) >> 2] = Math_fround(-.80901700258255); + HEAPF32[($2 + 212 | 0) >> 2] = Math_fround(0 | 0); + btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29(114352 + 384 | 0 | 0, $2 + 220 | 0 | 0, $2 + 216 | 0 | 0, $2 + 212 | 0 | 0) | 0; + HEAPF32[($2 + 208 | 0) >> 2] = Math_fround(0 | 0); + HEAPF32[($2 + 204 | 0) >> 2] = Math_fround(-1.0); + HEAPF32[($2 + 200 | 0) >> 2] = Math_fround(0 | 0); + btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29(114352 + 400 | 0 | 0, $2 + 208 | 0 | 0, $2 + 204 | 0 | 0, $2 + 200 | 0 | 0) | 0; + HEAPF32[($2 + 196 | 0) >> 2] = Math_fround(-.5877860188484192); + HEAPF32[($2 + 192 | 0) >> 2] = Math_fround(-.80901700258255); + HEAPF32[($2 + 188 | 0) >> 2] = Math_fround(0 | 0); + btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29(114352 + 416 | 0 | 0, $2 + 196 | 0 | 0, $2 + 192 | 0 | 0, $2 + 188 | 0 | 0) | 0; + HEAPF32[($2 + 184 | 0) >> 2] = Math_fround(-.9510579705238342); + HEAPF32[($2 + 180 | 0) >> 2] = Math_fround(-.3090130090713501); + HEAPF32[($2 + 176 | 0) >> 2] = Math_fround(-0.0); + btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29(114352 + 432 | 0 | 0, $2 + 184 | 0 | 0, $2 + 180 | 0 | 0, $2 + 176 | 0 | 0) | 0; + HEAPF32[($2 + 172 | 0) >> 2] = Math_fround(-.9510579705238342); + HEAPF32[($2 + 168 | 0) >> 2] = Math_fround(.3090130090713501); + HEAPF32[($2 + 164 | 0) >> 2] = Math_fround(-0.0); + btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29(114352 + 448 | 0 | 0, $2 + 172 | 0 | 0, $2 + 168 | 0 | 0, $2 + 164 | 0 | 0) | 0; + HEAPF32[($2 + 160 | 0) >> 2] = Math_fround(-.5877860188484192); + HEAPF32[($2 + 156 | 0) >> 2] = Math_fround(.80901700258255); + HEAPF32[($2 + 152 | 0) >> 2] = Math_fround(-0.0); + btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29(114352 + 464 | 0 | 0, $2 + 160 | 0 | 0, $2 + 156 | 0 | 0, $2 + 152 | 0 | 0) | 0; + HEAPF32[($2 + 148 | 0) >> 2] = Math_fround(-0.0); + HEAPF32[($2 + 144 | 0) >> 2] = Math_fround(1.0); + HEAPF32[($2 + 140 | 0) >> 2] = Math_fround(-0.0); + btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29(114352 + 480 | 0 | 0, $2 + 148 | 0 | 0, $2 + 144 | 0 | 0, $2 + 140 | 0 | 0) | 0; + HEAPF32[($2 + 136 | 0) >> 2] = Math_fround(.5877860188484192); + HEAPF32[($2 + 132 | 0) >> 2] = Math_fround(.80901700258255); + HEAPF32[($2 + 128 | 0) >> 2] = Math_fround(-0.0); + btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29(114352 + 496 | 0 | 0, $2 + 136 | 0 | 0, $2 + 132 | 0 | 0, $2 + 128 | 0 | 0) | 0; + HEAPF32[($2 + 124 | 0) >> 2] = Math_fround(.6881899833679199); + HEAPF32[($2 + 120 | 0) >> 2] = Math_fround(-.49999698996543884); + HEAPF32[($2 + 116 | 0) >> 2] = Math_fround(.5257359743118286); + btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29(114352 + 512 | 0 | 0, $2 + 124 | 0 | 0, $2 + 120 | 0 | 0, $2 + 116 | 0 | 0) | 0; + HEAPF32[($2 + 112 | 0) >> 2] = Math_fround(-.2628690004348755); + HEAPF32[($2 + 108 | 0) >> 2] = Math_fround(-.8090119957923889); + HEAPF32[($2 + 104 | 0) >> 2] = Math_fround(.525738000869751); + btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29(114352 + 528 | 0 | 0, $2 + 112 | 0 | 0, $2 + 108 | 0 | 0, $2 + 104 | 0 | 0) | 0; + HEAPF32[($2 + 100 | 0) >> 2] = Math_fround(-.8506479859352112); + HEAPF32[($2 + 96 | 0) >> 2] = Math_fround(0 | 0); + HEAPF32[($2 + 92 | 0) >> 2] = Math_fround(.5257359743118286); + btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29(114352 + 544 | 0 | 0, $2 + 100 | 0 | 0, $2 + 96 | 0 | 0, $2 + 92 | 0 | 0) | 0; + HEAPF32[($2 + 88 | 0) >> 2] = Math_fround(-.2628690004348755); + HEAPF32[($2 + 84 | 0) >> 2] = Math_fround(.8090119957923889); + HEAPF32[($2 + 80 | 0) >> 2] = Math_fround(.525738000869751); + btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29(114352 + 560 | 0 | 0, $2 + 88 | 0 | 0, $2 + 84 | 0 | 0, $2 + 80 | 0 | 0) | 0; + HEAPF32[($2 + 76 | 0) >> 2] = Math_fround(.6881899833679199); + HEAPF32[($2 + 72 | 0) >> 2] = Math_fround(.49999698996543884); + HEAPF32[($2 + 68 | 0) >> 2] = Math_fround(.5257359743118286); + btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29(114352 + 576 | 0 | 0, $2 + 76 | 0 | 0, $2 + 72 | 0 | 0, $2 + 68 | 0 | 0) | 0; + HEAPF32[($2 + 64 | 0) >> 2] = Math_fround(.5257300138473511); + HEAPF32[($2 + 60 | 0) >> 2] = Math_fround(0 | 0); + HEAPF32[($2 + 56 | 0) >> 2] = Math_fround(.8506519794464111); + btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29(114352 + 592 | 0 | 0, $2 + 64 | 0 | 0, $2 + 60 | 0 | 0, $2 + 56 | 0 | 0) | 0; + HEAPF32[($2 + 52 | 0) >> 2] = Math_fround(.16245600581169128); + HEAPF32[($2 + 48 | 0) >> 2] = Math_fround(-.49999499320983887); + HEAPF32[($2 + 44 | 0) >> 2] = Math_fround(.8506540060043335); + btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29(114352 + 608 | 0 | 0, $2 + 52 | 0 | 0, $2 + 48 | 0 | 0, $2 + 44 | 0 | 0) | 0; + HEAPF32[($2 + 40 | 0) >> 2] = Math_fround(-.4253230094909668); + HEAPF32[($2 + 36 | 0) >> 2] = Math_fround(-.3090110123157501); + HEAPF32[($2 + 32 | 0) >> 2] = Math_fround(.8506540060043335); + btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29(114352 + 624 | 0 | 0, $2 + 40 | 0 | 0, $2 + 36 | 0 | 0, $2 + 32 | 0 | 0) | 0; + HEAPF32[($2 + 28 | 0) >> 2] = Math_fround(-.4253230094909668); + HEAPF32[($2 + 24 | 0) >> 2] = Math_fround(.3090110123157501); + HEAPF32[($2 + 20 | 0) >> 2] = Math_fround(.8506540060043335); + btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29(114352 + 640 | 0 | 0, $2 + 28 | 0 | 0, $2 + 24 | 0 | 0, $2 + 20 | 0 | 0) | 0; + HEAPF32[($2 + 16 | 0) >> 2] = Math_fround(.16245600581169128); + HEAPF32[($2 + 12 | 0) >> 2] = Math_fround(.49999499320983887); + HEAPF32[($2 + 8 | 0) >> 2] = Math_fround(.8506540060043335); + btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29(114352 + 656 | 0 | 0, $2 + 16 | 0 | 0, $2 + 12 | 0 | 0, $2 + 8 | 0 | 0) | 0; + $655 = 114352 + 672 | 0; + label$2 : while (1) { + $656 = $655; + btVector3__btVector3_28_29($656 | 0) | 0; + $658 = $656 + 16 | 0; + $655 = $658; + if (!(($658 | 0) == (114352 + 992 | 0 | 0) & 1 | 0)) { + continue label$2 + } + break label$2; + }; + HEAP8[(0 + 115344 | 0) >> 0] = 1; + } + __stack_pointer = $2 + 512 | 0; + return 114352 | 0; + } + + function btMinkowskiPenetrationDepthSolver__calcPenDepth_28btVoronoiSimplexSolver__2c_20btConvexShape_20const__2c_20btConvexShape_20const__2c_20btTransform_20const__2c_20btTransform_20const__2c_20btVector3__2c_20btVector3__2c_20btVector3__2c_20btIDebugDraw__29__btIntermediateResult__btIntermediateResult_28_29($0) { + $0 = $0 | 0; + var $4 = 0, $3 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + btDiscreteCollisionDetectorInterface__Result__Result_28_29($4 | 0) | 0; + HEAP32[$4 >> 2] = 101588 + 8 | 0; + btVector3__btVector3_28_29($4 + 4 | 0 | 0) | 0; + btVector3__btVector3_28_29($4 + 20 | 0 | 0) | 0; + HEAP8[($4 + 40 | 0) >> 0] = 0; + __stack_pointer = $3 + 16 | 0; + return $4 | 0; + } + + function btGjkPairDetector__setCachedSeperatingAxis_28btVector3_20const__29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var i64toi32_i32$2 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $4 = 0, $8 = 0, $10 = 0, $32 = 0, $42 = 0; + $4 = __stack_pointer - 16 | 0; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + $8 = (HEAP32[($4 + 12 | 0) >> 2] | 0) + 4 | 0; + i64toi32_i32$2 = HEAP32[($4 + 8 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $32 = i64toi32_i32$0; + i64toi32_i32$0 = $8; + HEAP32[i64toi32_i32$0 >> 2] = $32; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $10 = 8; + i64toi32_i32$2 = i64toi32_i32$2 + $10 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $42 = i64toi32_i32$1; + i64toi32_i32$1 = $8 + $10 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $42; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + return; + } + + function btMinkowskiPenetrationDepthSolver__calcPenDepth_28btVoronoiSimplexSolver__2c_20btConvexShape_20const__2c_20btConvexShape_20const__2c_20btTransform_20const__2c_20btTransform_20const__2c_20btVector3__2c_20btVector3__2c_20btVector3__2c_20btIDebugDraw__29__btIntermediateResult___btIntermediateResult_28_29($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + btDiscreteCollisionDetectorInterface__Result___Result_28_29($4 | 0) | 0; + __stack_pointer = $3 + 16 | 0; + return $4 | 0; + } + + function btMinkowskiPenetrationDepthSolver___btMinkowskiPenetrationDepthSolver_28_29($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + btConvexPenetrationDepthSolver___btConvexPenetrationDepthSolver_28_29($4 | 0) | 0; + __stack_pointer = $3 + 16 | 0; + return $4 | 0; + } + + function btMinkowskiPenetrationDepthSolver___btMinkowskiPenetrationDepthSolver_28_29_1($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + btMinkowskiPenetrationDepthSolver___btMinkowskiPenetrationDepthSolver_28_29($4 | 0) | 0; + operator_20delete_28void__29($4 | 0); + __stack_pointer = $3 + 16 | 0; + return; + } + + function btMinkowskiPenetrationDepthSolver__calcPenDepth_28btVoronoiSimplexSolver__2c_20btConvexShape_20const__2c_20btConvexShape_20const__2c_20btTransform_20const__2c_20btTransform_20const__2c_20btVector3__2c_20btVector3__2c_20btVector3__2c_20btIDebugDraw__29__btIntermediateResult___btIntermediateResult_28_29_1($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + btMinkowskiPenetrationDepthSolver__calcPenDepth_28btVoronoiSimplexSolver__2c_20btConvexShape_20const__2c_20btConvexShape_20const__2c_20btTransform_20const__2c_20btTransform_20const__2c_20btVector3__2c_20btVector3__2c_20btVector3__2c_20btIDebugDraw__29__btIntermediateResult___btIntermediateResult_28_29($4 | 0) | 0; + operator_20delete_28void__29($4 | 0); + __stack_pointer = $3 + 16 | 0; + return; + } + + function btMinkowskiPenetrationDepthSolver__calcPenDepth_28btVoronoiSimplexSolver__2c_20btConvexShape_20const__2c_20btConvexShape_20const__2c_20btTransform_20const__2c_20btTransform_20const__2c_20btVector3__2c_20btVector3__2c_20btVector3__2c_20btIDebugDraw__29__btIntermediateResult__setShapeIdentifiersA_28int_2c_20int_29($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $5 = 0; + $5 = __stack_pointer - 16 | 0; + HEAP32[($5 + 12 | 0) >> 2] = $0; + HEAP32[($5 + 8 | 0) >> 2] = $1; + HEAP32[($5 + 4 | 0) >> 2] = $2; + return; + } + + function btMinkowskiPenetrationDepthSolver__calcPenDepth_28btVoronoiSimplexSolver__2c_20btConvexShape_20const__2c_20btConvexShape_20const__2c_20btTransform_20const__2c_20btTransform_20const__2c_20btVector3__2c_20btVector3__2c_20btVector3__2c_20btIDebugDraw__29__btIntermediateResult__setShapeIdentifiersB_28int_2c_20int_29($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $5 = 0; + $5 = __stack_pointer - 16 | 0; + HEAP32[($5 + 12 | 0) >> 2] = $0; + HEAP32[($5 + 8 | 0) >> 2] = $1; + HEAP32[($5 + 4 | 0) >> 2] = $2; + return; + } + + function btMinkowskiPenetrationDepthSolver__calcPenDepth_28btVoronoiSimplexSolver__2c_20btConvexShape_20const__2c_20btConvexShape_20const__2c_20btTransform_20const__2c_20btTransform_20const__2c_20btVector3__2c_20btVector3__2c_20btVector3__2c_20btIDebugDraw__29__btIntermediateResult__addContactPoint_28btVector3_20const__2c_20btVector3_20const__2c_20float_29($0, $1, $2, $3) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = Math_fround($3); + var i64toi32_i32$2 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $6 = 0, $7 = 0, $10 = 0, $12 = 0, $18 = 0, $20 = 0, $48 = 0, $58 = 0, $67 = 0, $77 = 0; + $6 = __stack_pointer - 16 | 0; + HEAP32[($6 + 12 | 0) >> 2] = $0; + HEAP32[($6 + 8 | 0) >> 2] = $1; + HEAP32[($6 + 4 | 0) >> 2] = $2; + HEAPF32[$6 >> 2] = $3; + $7 = HEAP32[($6 + 12 | 0) >> 2] | 0; + $10 = $7 + 4 | 0; + i64toi32_i32$2 = HEAP32[($6 + 8 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $48 = i64toi32_i32$0; + i64toi32_i32$0 = $10; + HEAP32[i64toi32_i32$0 >> 2] = $48; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $12 = 8; + i64toi32_i32$2 = i64toi32_i32$2 + $12 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $58 = i64toi32_i32$1; + i64toi32_i32$1 = $10 + $12 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $58; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + $18 = $7 + 20 | 0; + i64toi32_i32$2 = HEAP32[($6 + 4 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $67 = i64toi32_i32$0; + i64toi32_i32$0 = $18; + HEAP32[i64toi32_i32$0 >> 2] = $67; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $20 = 8; + i64toi32_i32$2 = i64toi32_i32$2 + $20 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $77 = i64toi32_i32$1; + i64toi32_i32$1 = $18 + $20 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $77; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + HEAPF32[($7 + 36 | 0) >> 2] = Math_fround(HEAPF32[$6 >> 2]); + HEAP8[($7 + 40 | 0) >> 0] = 1; + return; + } + + function _GLOBAL__sub_I_btMinkowskiPenetrationDepthSolver_cpp() { + __cxx_global_var_init_62(); + return; + } + + function __cxx_global_var_init_63() { + btInfMaskConverter__btInfMaskConverter_28int_29(115348 | 0, 2139095040 | 0) | 0; + return; + } + + function btPersistentManifold__btPersistentManifold_28_29($0) { + $0 = $0 | 0; + var $4 = 0, $3 = 0, $7 = 0, $10 = 0, $11 = 0, $13 = 0, $9 = 0, $23 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 8 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 8 | 0) >> 2] | 0; + HEAP32[($3 + 12 | 0) >> 2] = $4; + btTypedObject__btTypedObject_28int_29($4 | 0, 1025 | 0) | 0; + $7 = $4 + 4 | 0; + $9 = $7 + 832 | 0; + $10 = $7; + label$1 : while (1) { + $11 = $10; + btManifoldPoint__btManifoldPoint_28_29($11 | 0) | 0; + $13 = $11 + 208 | 0; + $10 = $13; + if (!(($13 | 0) == ($9 | 0) & 1 | 0)) { + continue label$1 + } + break label$1; + }; + HEAP32[($4 + 836 | 0) >> 2] = 0; + HEAP32[($4 + 840 | 0) >> 2] = 0; + HEAP32[($4 + 844 | 0) >> 2] = 0; + HEAP32[($4 + 864 | 0) >> 2] = 0; + $23 = HEAP32[($3 + 12 | 0) >> 2] | 0; + __stack_pointer = $3 + 16 | 0; + return $23 | 0; + } + + function btPersistentManifold__clearUserCache_28btManifoldPoint__29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0; + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + HEAP32[($4 + 4 | 0) >> 2] = HEAP32[((HEAP32[($4 + 8 | 0) >> 2] | 0) + 116 | 0) >> 2] | 0; + label$1 : { + if (!((HEAP32[($4 + 4 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + label$2 : { + if (!((HEAP32[((HEAP32[($4 + 8 | 0) >> 2] | 0) + 116 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$2 + } + if (!((HEAP32[(0 + 115352 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$2 + } + FUNCTION_TABLE[HEAP32[(0 + 115352 | 0) >> 2] | 0 | 0](HEAP32[((HEAP32[($4 + 8 | 0) >> 2] | 0) + 116 | 0) >> 2] | 0) | 0; + HEAP32[((HEAP32[($4 + 8 | 0) >> 2] | 0) + 116 | 0) >> 2] = 0; + } + } + __stack_pointer = $4 + 16 | 0; + return; + } + + function btPersistentManifold__sortCachedPoints_28btManifoldPoint_20const__29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, $5 = 0, $286 = 0, wasm2js_i32$0 = 0, wasm2js_f32$0 = Math_fround(0), wasm2js_i32$1 = 0; + $4 = __stack_pointer - 256 | 0; + __stack_pointer = $4; + HEAP32[($4 + 252 | 0) >> 2] = $0; + HEAP32[($4 + 248 | 0) >> 2] = $1; + $5 = HEAP32[($4 + 252 | 0) >> 2] | 0; + HEAP32[($4 + 244 | 0) >> 2] = -1; + (wasm2js_i32$0 = $4, wasm2js_f32$0 = Math_fround(btManifoldPoint__getDistance_28_29_20const(HEAP32[($4 + 248 | 0) >> 2] | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 240 | 0) >> 2] = wasm2js_f32$0; + HEAP32[($4 + 236 | 0) >> 2] = 0; + label$1 : { + label$2 : while (1) { + if (!((HEAP32[($4 + 236 | 0) >> 2] | 0 | 0) < (4 | 0) & 1 | 0)) { + break label$1 + } + label$3 : { + if (!(Math_fround(btManifoldPoint__getDistance_28_29_20const(($5 + 4 | 0) + Math_imul(HEAP32[($4 + 236 | 0) >> 2] | 0, 208) | 0 | 0)) < Math_fround(HEAPF32[($4 + 240 | 0) >> 2]) & 1 | 0)) { + break label$3 + } + HEAP32[($4 + 244 | 0) >> 2] = HEAP32[($4 + 236 | 0) >> 2] | 0; + (wasm2js_i32$0 = $4, wasm2js_f32$0 = Math_fround(btManifoldPoint__getDistance_28_29_20const(($5 + 4 | 0) + Math_imul(HEAP32[($4 + 236 | 0) >> 2] | 0, 208) | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 240 | 0) >> 2] = wasm2js_f32$0; + } + HEAP32[($4 + 236 | 0) >> 2] = (HEAP32[($4 + 236 | 0) >> 2] | 0) + 1 | 0; + continue label$2; + }; + } + HEAPF32[($4 + 232 | 0) >> 2] = Math_fround(0 | 0); + HEAPF32[($4 + 228 | 0) >> 2] = Math_fround(0 | 0); + HEAPF32[($4 + 224 | 0) >> 2] = Math_fround(0 | 0); + HEAPF32[($4 + 220 | 0) >> 2] = Math_fround(0 | 0); + label$4 : { + label$5 : { + if (!((HEAPU8[(0 + 112844 | 0) >> 0] | 0) & 1 | 0)) { + break label$5 + } + label$6 : { + if (!(HEAP32[($4 + 244 | 0) >> 2] | 0)) { + break label$6 + } + operator__28btVector3_20const__2c_20btVector3_20const__29($4 + 204 | 0 | 0, HEAP32[($4 + 248 | 0) >> 2] | 0 | 0, ($5 + 4 | 0) + 208 | 0 | 0); + operator__28btVector3_20const__2c_20btVector3_20const__29($4 + 188 | 0 | 0, ($5 + 4 | 0) + 624 | 0 | 0, ($5 + 4 | 0) + 416 | 0 | 0); + btVector3__cross_28btVector3_20const__29_20const($4 + 172 | 0 | 0, $4 + 204 | 0 | 0, $4 + 188 | 0 | 0); + (wasm2js_i32$0 = $4, wasm2js_f32$0 = Math_fround(btVector3__length2_28_29_20const($4 + 172 | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 232 | 0) >> 2] = wasm2js_f32$0; + } + label$7 : { + if (!((HEAP32[($4 + 244 | 0) >> 2] | 0 | 0) != (1 | 0) & 1 | 0)) { + break label$7 + } + operator__28btVector3_20const__2c_20btVector3_20const__29($4 + 156 | 0 | 0, HEAP32[($4 + 248 | 0) >> 2] | 0 | 0, $5 + 4 | 0 | 0); + operator__28btVector3_20const__2c_20btVector3_20const__29($4 + 140 | 0 | 0, ($5 + 4 | 0) + 624 | 0 | 0, ($5 + 4 | 0) + 416 | 0 | 0); + btVector3__cross_28btVector3_20const__29_20const($4 + 124 | 0 | 0, $4 + 156 | 0 | 0, $4 + 140 | 0 | 0); + (wasm2js_i32$0 = $4, wasm2js_f32$0 = Math_fround(btVector3__length2_28_29_20const($4 + 124 | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 228 | 0) >> 2] = wasm2js_f32$0; + } + label$8 : { + if (!((HEAP32[($4 + 244 | 0) >> 2] | 0 | 0) != (2 | 0) & 1 | 0)) { + break label$8 + } + operator__28btVector3_20const__2c_20btVector3_20const__29($4 + 108 | 0 | 0, HEAP32[($4 + 248 | 0) >> 2] | 0 | 0, $5 + 4 | 0 | 0); + operator__28btVector3_20const__2c_20btVector3_20const__29($4 + 92 | 0 | 0, ($5 + 4 | 0) + 624 | 0 | 0, ($5 + 4 | 0) + 208 | 0 | 0); + btVector3__cross_28btVector3_20const__29_20const($4 + 76 | 0 | 0, $4 + 108 | 0 | 0, $4 + 92 | 0 | 0); + (wasm2js_i32$0 = $4, wasm2js_f32$0 = Math_fround(btVector3__length2_28_29_20const($4 + 76 | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 224 | 0) >> 2] = wasm2js_f32$0; + } + label$9 : { + if (!((HEAP32[($4 + 244 | 0) >> 2] | 0 | 0) != (3 | 0) & 1 | 0)) { + break label$9 + } + operator__28btVector3_20const__2c_20btVector3_20const__29($4 + 60 | 0 | 0, HEAP32[($4 + 248 | 0) >> 2] | 0 | 0, $5 + 4 | 0 | 0); + operator__28btVector3_20const__2c_20btVector3_20const__29($4 + 44 | 0 | 0, ($5 + 4 | 0) + 416 | 0 | 0, ($5 + 4 | 0) + 208 | 0 | 0); + btVector3__cross_28btVector3_20const__29_20const($4 + 28 | 0 | 0, $4 + 60 | 0 | 0, $4 + 44 | 0 | 0); + (wasm2js_i32$0 = $4, wasm2js_f32$0 = Math_fround(btVector3__length2_28_29_20const($4 + 28 | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 220 | 0) >> 2] = wasm2js_f32$0; + } + break label$4; + } + label$10 : { + if (!(HEAP32[($4 + 244 | 0) >> 2] | 0)) { + break label$10 + } + (wasm2js_i32$0 = $4, wasm2js_f32$0 = Math_fround(calcArea4Points_28btVector3_20const__2c_20btVector3_20const__2c_20btVector3_20const__2c_20btVector3_20const__29(HEAP32[($4 + 248 | 0) >> 2] | 0 | 0, ($5 + 4 | 0) + 208 | 0 | 0, ($5 + 4 | 0) + 416 | 0 | 0, ($5 + 4 | 0) + 624 | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 232 | 0) >> 2] = wasm2js_f32$0; + } + label$11 : { + if (!((HEAP32[($4 + 244 | 0) >> 2] | 0 | 0) != (1 | 0) & 1 | 0)) { + break label$11 + } + (wasm2js_i32$0 = $4, wasm2js_f32$0 = Math_fround(calcArea4Points_28btVector3_20const__2c_20btVector3_20const__2c_20btVector3_20const__2c_20btVector3_20const__29(HEAP32[($4 + 248 | 0) >> 2] | 0 | 0, $5 + 4 | 0 | 0, ($5 + 4 | 0) + 416 | 0 | 0, ($5 + 4 | 0) + 624 | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 228 | 0) >> 2] = wasm2js_f32$0; + } + label$12 : { + if (!((HEAP32[($4 + 244 | 0) >> 2] | 0 | 0) != (2 | 0) & 1 | 0)) { + break label$12 + } + (wasm2js_i32$0 = $4, wasm2js_f32$0 = Math_fround(calcArea4Points_28btVector3_20const__2c_20btVector3_20const__2c_20btVector3_20const__2c_20btVector3_20const__29(HEAP32[($4 + 248 | 0) >> 2] | 0 | 0, $5 + 4 | 0 | 0, ($5 + 4 | 0) + 208 | 0 | 0, ($5 + 4 | 0) + 624 | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 224 | 0) >> 2] = wasm2js_f32$0; + } + label$13 : { + if (!((HEAP32[($4 + 244 | 0) >> 2] | 0 | 0) != (3 | 0) & 1 | 0)) { + break label$13 + } + (wasm2js_i32$0 = $4, wasm2js_f32$0 = Math_fround(calcArea4Points_28btVector3_20const__2c_20btVector3_20const__2c_20btVector3_20const__2c_20btVector3_20const__29(HEAP32[($4 + 248 | 0) >> 2] | 0 | 0, $5 + 4 | 0 | 0, ($5 + 4 | 0) + 208 | 0 | 0, ($5 + 4 | 0) + 416 | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 220 | 0) >> 2] = wasm2js_f32$0; + } + } + btVector4__btVector4_28float_20const__2c_20float_20const__2c_20float_20const__2c_20float_20const__29($4 + 12 | 0 | 0, $4 + 232 | 0 | 0, $4 + 228 | 0 | 0, $4 + 224 | 0 | 0, $4 + 220 | 0 | 0) | 0; + (wasm2js_i32$0 = $4, wasm2js_i32$1 = btVector4__closestAxis4_28_29_20const($4 + 12 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + $286 = HEAP32[($4 + 8 | 0) >> 2] | 0; + __stack_pointer = $4 + 256 | 0; + return $286 | 0; + } + + function calcArea4Points_28btVector3_20const__2c_20btVector3_20const__2c_20btVector3_20const__2c_20btVector3_20const__29($0, $1, $2, $3) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + var $6 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, $9 = 0, $12 = 0, $13 = 0, $15 = 0, $23 = 0, $26 = 0, $27 = 0, $29 = 0, $42 = 0, $44 = 0, $59 = 0, $61 = 0, $76 = 0, $78 = 0, $91 = 0, $93 = 0, $108 = 0, $110 = 0, $125 = 0, $127 = 0, $11 = 0, $25 = 0, $275 = 0, $288 = 0, $310 = 0, $323 = 0, $345 = 0, $358 = 0, $377 = 0, $390 = 0, $412 = 0, $425 = 0, $447 = 0, $460 = 0, $182 = 0, $191 = Math_fround(0), wasm2js_i32$0 = 0, wasm2js_f32$0 = Math_fround(0); + $6 = __stack_pointer - 272 | 0; + __stack_pointer = $6; + HEAP32[($6 + 268 | 0) >> 2] = $0; + HEAP32[($6 + 264 | 0) >> 2] = $1; + HEAP32[($6 + 260 | 0) >> 2] = $2; + HEAP32[($6 + 256 | 0) >> 2] = $3; + $9 = $6 + 208 | 0; + $11 = $9 + 48 | 0; + $12 = $9; + label$1 : while (1) { + $13 = $12; + btVector3__btVector3_28_29($13 | 0) | 0; + $15 = $13 + 16 | 0; + $12 = $15; + if (!(($15 | 0) == ($11 | 0) & 1 | 0)) { + continue label$1 + } + break label$1; + }; + $23 = $6 + 160 | 0; + $25 = $23 + 48 | 0; + $26 = $23; + label$2 : while (1) { + $27 = $26; + btVector3__btVector3_28_29($27 | 0) | 0; + $29 = $27 + 16 | 0; + $26 = $29; + if (!(($29 | 0) == ($25 | 0) & 1 | 0)) { + continue label$2 + } + break label$2; + }; + operator__28btVector3_20const__2c_20btVector3_20const__29($6 + 144 | 0 | 0, HEAP32[($6 + 268 | 0) >> 2] | 0 | 0, HEAP32[($6 + 264 | 0) >> 2] | 0 | 0); + $42 = $6 + 208 | 0; + i64toi32_i32$2 = $6; + i64toi32_i32$0 = HEAP32[($6 + 144 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($6 + 148 | 0) >> 2] | 0; + $275 = i64toi32_i32$0; + i64toi32_i32$0 = $42; + HEAP32[i64toi32_i32$0 >> 2] = $275; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $44 = 8; + i64toi32_i32$2 = ($6 + 144 | 0) + $44 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $288 = i64toi32_i32$1; + i64toi32_i32$1 = $42 + $44 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $288; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + operator__28btVector3_20const__2c_20btVector3_20const__29($6 + 128 | 0 | 0, HEAP32[($6 + 268 | 0) >> 2] | 0 | 0, HEAP32[($6 + 260 | 0) >> 2] | 0 | 0); + $59 = ($6 + 208 | 0) + 16 | 0; + i64toi32_i32$2 = $6; + i64toi32_i32$0 = HEAP32[($6 + 128 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($6 + 132 | 0) >> 2] | 0; + $310 = i64toi32_i32$0; + i64toi32_i32$0 = $59; + HEAP32[i64toi32_i32$0 >> 2] = $310; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $61 = 8; + i64toi32_i32$2 = ($6 + 128 | 0) + $61 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $323 = i64toi32_i32$1; + i64toi32_i32$1 = $59 + $61 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $323; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + operator__28btVector3_20const__2c_20btVector3_20const__29($6 + 112 | 0 | 0, HEAP32[($6 + 268 | 0) >> 2] | 0 | 0, HEAP32[($6 + 256 | 0) >> 2] | 0 | 0); + $76 = ($6 + 208 | 0) + 32 | 0; + i64toi32_i32$2 = $6; + i64toi32_i32$0 = HEAP32[($6 + 112 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($6 + 116 | 0) >> 2] | 0; + $345 = i64toi32_i32$0; + i64toi32_i32$0 = $76; + HEAP32[i64toi32_i32$0 >> 2] = $345; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $78 = 8; + i64toi32_i32$2 = ($6 + 112 | 0) + $78 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $358 = i64toi32_i32$1; + i64toi32_i32$1 = $76 + $78 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $358; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + operator__28btVector3_20const__2c_20btVector3_20const__29($6 + 96 | 0 | 0, HEAP32[($6 + 260 | 0) >> 2] | 0 | 0, HEAP32[($6 + 256 | 0) >> 2] | 0 | 0); + $91 = $6 + 160 | 0; + i64toi32_i32$2 = $6; + i64toi32_i32$0 = HEAP32[($6 + 96 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($6 + 100 | 0) >> 2] | 0; + $377 = i64toi32_i32$0; + i64toi32_i32$0 = $91; + HEAP32[i64toi32_i32$0 >> 2] = $377; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $93 = 8; + i64toi32_i32$2 = ($6 + 96 | 0) + $93 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $390 = i64toi32_i32$1; + i64toi32_i32$1 = $91 + $93 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $390; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + operator__28btVector3_20const__2c_20btVector3_20const__29($6 + 80 | 0 | 0, HEAP32[($6 + 264 | 0) >> 2] | 0 | 0, HEAP32[($6 + 256 | 0) >> 2] | 0 | 0); + $108 = ($6 + 160 | 0) + 16 | 0; + i64toi32_i32$2 = $6; + i64toi32_i32$0 = HEAP32[($6 + 80 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($6 + 84 | 0) >> 2] | 0; + $412 = i64toi32_i32$0; + i64toi32_i32$0 = $108; + HEAP32[i64toi32_i32$0 >> 2] = $412; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $110 = 8; + i64toi32_i32$2 = ($6 + 80 | 0) + $110 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $425 = i64toi32_i32$1; + i64toi32_i32$1 = $108 + $110 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $425; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + operator__28btVector3_20const__2c_20btVector3_20const__29($6 + 64 | 0 | 0, HEAP32[($6 + 264 | 0) >> 2] | 0 | 0, HEAP32[($6 + 260 | 0) >> 2] | 0 | 0); + $125 = ($6 + 160 | 0) + 32 | 0; + i64toi32_i32$2 = $6; + i64toi32_i32$0 = HEAP32[($6 + 64 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($6 + 68 | 0) >> 2] | 0; + $447 = i64toi32_i32$0; + i64toi32_i32$0 = $125; + HEAP32[i64toi32_i32$0 >> 2] = $447; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $127 = 8; + i64toi32_i32$2 = ($6 + 64 | 0) + $127 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $460 = i64toi32_i32$1; + i64toi32_i32$1 = $125 + $127 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $460; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + btVector3__cross_28btVector3_20const__29_20const($6 + 48 | 0 | 0, $6 + 208 | 0 | 0, $6 + 160 | 0 | 0); + btVector3__cross_28btVector3_20const__29_20const($6 + 32 | 0 | 0, ($6 + 208 | 0) + 16 | 0 | 0, ($6 + 160 | 0) + 16 | 0 | 0); + btVector3__cross_28btVector3_20const__29_20const($6 + 16 | 0 | 0, ($6 + 208 | 0) + 32 | 0 | 0, ($6 + 160 | 0) + 32 | 0 | 0); + (wasm2js_i32$0 = $6, wasm2js_f32$0 = Math_fround(btVector3__length2_28_29_20const($6 + 48 | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_f32$0; + (wasm2js_i32$0 = $6, wasm2js_f32$0 = Math_fround(btVector3__length2_28_29_20const($6 + 32 | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_f32$0; + $182 = float_20const__20btMax_float__28float_20const__2c_20float_20const__29($6 + 12 | 0 | 0, $6 + 8 | 0 | 0) | 0; + (wasm2js_i32$0 = $6, wasm2js_f32$0 = Math_fround(btVector3__length2_28_29_20const($6 + 16 | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_f32$0; + $191 = Math_fround(HEAPF32[(float_20const__20btMax_float__28float_20const__2c_20float_20const__29($182 | 0, $6 + 4 | 0 | 0) | 0) >> 2]); + __stack_pointer = $6 + 272 | 0; + return Math_fround($191); + } + + function btVector4__btVector4_28float_20const__2c_20float_20const__2c_20float_20const__2c_20float_20const__29($0, $1, $2, $3, $4) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + $4 = $4 | 0; + var $7 = 0, $8 = 0; + $7 = __stack_pointer - 32 | 0; + __stack_pointer = $7; + HEAP32[($7 + 28 | 0) >> 2] = $0; + HEAP32[($7 + 24 | 0) >> 2] = $1; + HEAP32[($7 + 20 | 0) >> 2] = $2; + HEAP32[($7 + 16 | 0) >> 2] = $3; + HEAP32[($7 + 12 | 0) >> 2] = $4; + $8 = HEAP32[($7 + 28 | 0) >> 2] | 0; + btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($8 | 0, HEAP32[($7 + 24 | 0) >> 2] | 0 | 0, HEAP32[($7 + 20 | 0) >> 2] | 0 | 0, HEAP32[($7 + 16 | 0) >> 2] | 0 | 0) | 0; + HEAPF32[($8 + 12 | 0) >> 2] = Math_fround(HEAPF32[(HEAP32[($7 + 12 | 0) >> 2] | 0) >> 2]); + __stack_pointer = $7 + 32 | 0; + return $8 | 0; + } + + function btVector4__closestAxis4_28_29_20const($0) { + $0 = $0 | 0; + var $3 = 0, $11 = 0; + $3 = __stack_pointer - 32 | 0; + __stack_pointer = $3; + HEAP32[($3 + 28 | 0) >> 2] = $0; + btVector4__absolute4_28_29_20const($3 + 12 | 0 | 0, HEAP32[($3 + 28 | 0) >> 2] | 0 | 0); + $11 = btVector4__maxAxis4_28_29_20const($3 + 12 | 0 | 0) | 0; + __stack_pointer = $3 + 32 | 0; + return $11 | 0; + } + + function btVector4__absolute4_28_29_20const($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, $5 = 0, wasm2js_i32$0 = 0, wasm2js_f32$0 = Math_fround(0); + $4 = __stack_pointer - 32 | 0; + __stack_pointer = $4; + HEAP32[($4 + 28 | 0) >> 2] = $1; + $5 = HEAP32[($4 + 28 | 0) >> 2] | 0; + (wasm2js_i32$0 = $4, wasm2js_f32$0 = Math_fround(btFabs_28float_29(Math_fround(Math_fround(HEAPF32[$5 >> 2]))))), HEAPF32[(wasm2js_i32$0 + 24 | 0) >> 2] = wasm2js_f32$0; + (wasm2js_i32$0 = $4, wasm2js_f32$0 = Math_fround(btFabs_28float_29(Math_fround(Math_fround(HEAPF32[($5 + 4 | 0) >> 2]))))), HEAPF32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_f32$0; + (wasm2js_i32$0 = $4, wasm2js_f32$0 = Math_fround(btFabs_28float_29(Math_fround(Math_fround(HEAPF32[($5 + 8 | 0) >> 2]))))), HEAPF32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_f32$0; + (wasm2js_i32$0 = $4, wasm2js_f32$0 = Math_fround(btFabs_28float_29(Math_fround(Math_fround(HEAPF32[($5 + 12 | 0) >> 2]))))), HEAPF32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_f32$0; + btVector4__btVector4_28float_20const__2c_20float_20const__2c_20float_20const__2c_20float_20const__29($0 | 0, $4 + 24 | 0 | 0, $4 + 20 | 0 | 0, $4 + 16 | 0 | 0, $4 + 12 | 0 | 0) | 0; + __stack_pointer = $4 + 32 | 0; + return; + } + + function btVector4__maxAxis4_28_29_20const($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + HEAP32[($3 + 8 | 0) >> 2] = -1; + HEAPF32[($3 + 4 | 0) >> 2] = Math_fround(-999999984306749440.0); + label$1 : { + if (!(Math_fround(HEAPF32[$4 >> 2]) > Math_fround(HEAPF32[($3 + 4 | 0) >> 2]) & 1 | 0)) { + break label$1 + } + HEAP32[($3 + 8 | 0) >> 2] = 0; + HEAPF32[($3 + 4 | 0) >> 2] = Math_fround(HEAPF32[$4 >> 2]); + } + label$2 : { + if (!(Math_fround(HEAPF32[($4 + 4 | 0) >> 2]) > Math_fround(HEAPF32[($3 + 4 | 0) >> 2]) & 1 | 0)) { + break label$2 + } + HEAP32[($3 + 8 | 0) >> 2] = 1; + HEAPF32[($3 + 4 | 0) >> 2] = Math_fround(HEAPF32[($4 + 4 | 0) >> 2]); + } + label$3 : { + if (!(Math_fround(HEAPF32[($4 + 8 | 0) >> 2]) > Math_fround(HEAPF32[($3 + 4 | 0) >> 2]) & 1 | 0)) { + break label$3 + } + HEAP32[($3 + 8 | 0) >> 2] = 2; + HEAPF32[($3 + 4 | 0) >> 2] = Math_fround(HEAPF32[($4 + 8 | 0) >> 2]); + } + label$4 : { + if (!(Math_fround(HEAPF32[($4 + 12 | 0) >> 2]) > Math_fround(HEAPF32[($3 + 4 | 0) >> 2]) & 1 | 0)) { + break label$4 + } + HEAP32[($3 + 8 | 0) >> 2] = 3; + } + return HEAP32[($3 + 8 | 0) >> 2] | 0 | 0; + } + + function btPersistentManifold__getCacheEntry_28btManifoldPoint_20const__29_20const($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, $5 = 0, $32 = 0, $44 = 0, wasm2js_i32$0 = 0, wasm2js_f32$0 = Math_fround(0), wasm2js_i32$1 = 0; + $4 = __stack_pointer - 48 | 0; + __stack_pointer = $4; + HEAP32[($4 + 44 | 0) >> 2] = $0; + HEAP32[($4 + 40 | 0) >> 2] = $1; + $5 = HEAP32[($4 + 44 | 0) >> 2] | 0; + (wasm2js_i32$0 = $4, wasm2js_f32$0 = Math_fround(Math_fround(btPersistentManifold__getContactBreakingThreshold_28_29_20const($5 | 0)) * Math_fround(btPersistentManifold__getContactBreakingThreshold_28_29_20const($5 | 0)))), HEAPF32[(wasm2js_i32$0 + 36 | 0) >> 2] = wasm2js_f32$0; + (wasm2js_i32$0 = $4, wasm2js_i32$1 = btPersistentManifold__getNumContacts_28_29_20const($5 | 0) | 0), HEAP32[(wasm2js_i32$0 + 32 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($4 + 28 | 0) >> 2] = -1; + HEAP32[($4 + 24 | 0) >> 2] = 0; + label$1 : { + label$2 : while (1) { + if (!((HEAP32[($4 + 24 | 0) >> 2] | 0 | 0) < (HEAP32[($4 + 32 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$1 + } + HEAP32[($4 + 20 | 0) >> 2] = ($5 + 4 | 0) + Math_imul(HEAP32[($4 + 24 | 0) >> 2] | 0, 208) | 0; + operator__28btVector3_20const__2c_20btVector3_20const__29($4 + 4 | 0 | 0, HEAP32[($4 + 20 | 0) >> 2] | 0 | 0, HEAP32[($4 + 40 | 0) >> 2] | 0 | 0); + $32 = $4 + 4 | 0; + (wasm2js_i32$0 = $4, wasm2js_f32$0 = Math_fround(btVector3__dot_28btVector3_20const__29_20const($32 | 0, $32 | 0))), HEAPF32[wasm2js_i32$0 >> 2] = wasm2js_f32$0; + label$3 : { + if (!(Math_fround(HEAPF32[$4 >> 2]) < Math_fround(HEAPF32[($4 + 36 | 0) >> 2]) & 1 | 0)) { + break label$3 + } + HEAPF32[($4 + 36 | 0) >> 2] = Math_fround(HEAPF32[$4 >> 2]); + HEAP32[($4 + 28 | 0) >> 2] = HEAP32[($4 + 24 | 0) >> 2] | 0; + } + HEAP32[($4 + 24 | 0) >> 2] = (HEAP32[($4 + 24 | 0) >> 2] | 0) + 1 | 0; + continue label$2; + }; + } + $44 = HEAP32[($4 + 28 | 0) >> 2] | 0; + __stack_pointer = $4 + 48 | 0; + return $44 | 0; + } + + function btPersistentManifold__getContactBreakingThreshold_28_29_20const($0) { + $0 = $0 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + return Math_fround(Math_fround(HEAPF32[((HEAP32[($3 + 12 | 0) >> 2] | 0) + 848 | 0) >> 2])); + } + + function btPersistentManifold__addManifoldPoint_28btManifoldPoint_20const__2c_20bool_29($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $5 = 0, $7 = 0, $71 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5 = __stack_pointer - 16 | 0; + __stack_pointer = $5; + HEAP32[($5 + 12 | 0) >> 2] = $0; + HEAP32[($5 + 8 | 0) >> 2] = $1; + HEAP8[($5 + 7 | 0) >> 0] = $2; + $7 = HEAP32[($5 + 12 | 0) >> 2] | 0; + label$1 : { + if ((HEAPU8[($5 + 7 | 0) >> 0] | 0) & 1 | 0) { + break label$1 + } + label$2 : { + if ((btPersistentManifold__validContactDistance_28btManifoldPoint_20const__29_20const($7 | 0, HEAP32[($5 + 8 | 0) >> 2] | 0 | 0) | 0) & 1 | 0) { + break label$2 + } + __assert_fail(86236 | 0, 75898 | 0, 214 | 0, 67705 | 0); + wasm2js_trap(); + } + } + (wasm2js_i32$0 = $5, wasm2js_i32$1 = btPersistentManifold__getNumContacts_28_29_20const($7 | 0) | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + label$3 : { + label$4 : { + if (!((HEAP32[$5 >> 2] | 0 | 0) == (4 | 0) & 1 | 0)) { + break label$4 + } + (wasm2js_i32$0 = $5, wasm2js_i32$1 = btPersistentManifold__sortCachedPoints_28btManifoldPoint_20const__29($7 | 0, HEAP32[($5 + 8 | 0) >> 2] | 0 | 0) | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + btPersistentManifold__clearUserCache_28btManifoldPoint__29($7 | 0, ($7 + 4 | 0) + Math_imul(HEAP32[$5 >> 2] | 0, 208) | 0 | 0); + break label$3; + } + HEAP32[($7 + 844 | 0) >> 2] = (HEAP32[($7 + 844 | 0) >> 2] | 0) + 1 | 0; + } + label$5 : { + if (!((HEAP32[$5 >> 2] | 0 | 0) < (0 | 0) & 1 | 0)) { + break label$5 + } + HEAP32[$5 >> 2] = 0; + } + label$6 : { + if ((HEAP32[((($7 + 4 | 0) + Math_imul(HEAP32[$5 >> 2] | 0, 208) | 0) + 116 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0) { + break label$6 + } + __assert_fail(85893 | 0, 75898 | 0, 237 | 0, 67705 | 0); + wasm2js_trap(); + } + __memcpy(($7 + 4 | 0) + Math_imul(HEAP32[$5 >> 2] | 0, 208) | 0 | 0, HEAP32[($5 + 8 | 0) >> 2] | 0 | 0, 208 | 0) | 0; + $71 = HEAP32[$5 >> 2] | 0; + __stack_pointer = $5 + 16 | 0; + return $71 | 0; + } + + function btPersistentManifold__refreshContactPoints_28btTransform_20const__2c_20btTransform_20const__29($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $5 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, $6 = 0, $30 = 0, $32 = 0, $47 = 0, $49 = 0, $72 = 0, $124 = 0, $142 = 0, $153 = 0, $245 = 0, $258 = 0, $281 = 0, $294 = 0, $70 = Math_fround(0), $108 = 0, $449 = 0, $453 = 0, $485 = 0, $489 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0, wasm2js_f32$0 = Math_fround(0); + $5 = __stack_pointer - 160 | 0; + __stack_pointer = $5; + HEAP32[($5 + 156 | 0) >> 2] = $0; + HEAP32[($5 + 152 | 0) >> 2] = $1; + HEAP32[($5 + 148 | 0) >> 2] = $2; + $6 = HEAP32[($5 + 156 | 0) >> 2] | 0; + (wasm2js_i32$0 = $5, wasm2js_i32$1 = (btPersistentManifold__getNumContacts_28_29_20const($6 | 0) | 0) - 1 | 0), HEAP32[(wasm2js_i32$0 + 144 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + label$2 : while (1) { + if (!((HEAP32[($5 + 144 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0)) { + break label$1 + } + HEAP32[($5 + 140 | 0) >> 2] = ($6 + 4 | 0) + Math_imul(HEAP32[($5 + 144 | 0) >> 2] | 0, 208) | 0; + btTransform__operator_28_29_28btVector3_20const__29_20const($5 + 124 | 0 | 0, HEAP32[($5 + 152 | 0) >> 2] | 0 | 0, HEAP32[($5 + 140 | 0) >> 2] | 0 | 0); + $30 = (HEAP32[($5 + 140 | 0) >> 2] | 0) + 48 | 0; + i64toi32_i32$2 = $5; + i64toi32_i32$0 = HEAP32[($5 + 124 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($5 + 128 | 0) >> 2] | 0; + $245 = i64toi32_i32$0; + i64toi32_i32$0 = $30; + HEAP32[i64toi32_i32$0 >> 2] = $245; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $32 = 8; + i64toi32_i32$2 = ($5 + 124 | 0) + $32 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $258 = i64toi32_i32$1; + i64toi32_i32$1 = $30 + $32 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $258; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + btTransform__operator_28_29_28btVector3_20const__29_20const($5 + 108 | 0 | 0, HEAP32[($5 + 148 | 0) >> 2] | 0 | 0, (HEAP32[($5 + 140 | 0) >> 2] | 0) + 16 | 0 | 0); + $47 = (HEAP32[($5 + 140 | 0) >> 2] | 0) + 32 | 0; + i64toi32_i32$2 = $5; + i64toi32_i32$0 = HEAP32[($5 + 108 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($5 + 112 | 0) >> 2] | 0; + $281 = i64toi32_i32$0; + i64toi32_i32$0 = $47; + HEAP32[i64toi32_i32$0 >> 2] = $281; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $49 = 8; + i64toi32_i32$2 = ($5 + 108 | 0) + $49 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $294 = i64toi32_i32$1; + i64toi32_i32$1 = $47 + $49 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $294; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + operator__28btVector3_20const__2c_20btVector3_20const__29($5 + 92 | 0 | 0, (HEAP32[($5 + 140 | 0) >> 2] | 0) + 48 | 0 | 0, (HEAP32[($5 + 140 | 0) >> 2] | 0) + 32 | 0 | 0); + $70 = Math_fround(btVector3__dot_28btVector3_20const__29_20const($5 + 92 | 0 | 0, (HEAP32[($5 + 140 | 0) >> 2] | 0) + 64 | 0 | 0)); + HEAPF32[((HEAP32[($5 + 140 | 0) >> 2] | 0) + 80 | 0) >> 2] = $70; + $72 = HEAP32[($5 + 140 | 0) >> 2] | 0; + HEAP32[($72 + 164 | 0) >> 2] = (HEAP32[($72 + 164 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($5 + 144 | 0) >> 2] = (HEAP32[($5 + 144 | 0) >> 2] | 0) + -1 | 0; + continue label$2; + }; + } + btVector3__btVector3_28_29($5 + 72 | 0 | 0) | 0; + btVector3__btVector3_28_29($5 + 56 | 0 | 0) | 0; + (wasm2js_i32$0 = $5, wasm2js_i32$1 = (btPersistentManifold__getNumContacts_28_29_20const($6 | 0) | 0) - 1 | 0), HEAP32[(wasm2js_i32$0 + 144 | 0) >> 2] = wasm2js_i32$1; + label$3 : { + label$4 : while (1) { + if (!((HEAP32[($5 + 144 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0)) { + break label$3 + } + HEAP32[($5 + 52 | 0) >> 2] = ($6 + 4 | 0) + Math_imul(HEAP32[($5 + 144 | 0) >> 2] | 0, 208) | 0; + label$5 : { + label$6 : { + if ((btPersistentManifold__validContactDistance_28btManifoldPoint_20const__29_20const($6 | 0, HEAP32[($5 + 52 | 0) >> 2] | 0 | 0) | 0) & 1 | 0) { + break label$6 + } + btPersistentManifold__removeContactPoint_28int_29($6 | 0, HEAP32[($5 + 144 | 0) >> 2] | 0 | 0); + break label$5; + } + $108 = (HEAP32[($5 + 52 | 0) >> 2] | 0) + 48 | 0; + operator__28btVector3_20const__2c_20float_20const__29($5 + 20 | 0 | 0, (HEAP32[($5 + 52 | 0) >> 2] | 0) + 64 | 0 | 0, (HEAP32[($5 + 52 | 0) >> 2] | 0) + 80 | 0 | 0); + operator__28btVector3_20const__2c_20btVector3_20const__29($5 + 36 | 0 | 0, $108 | 0, $5 + 20 | 0 | 0); + $124 = 8; + i64toi32_i32$2 = ($5 + 36 | 0) + $124 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $449 = i64toi32_i32$0; + i64toi32_i32$0 = ($5 + 56 | 0) + $124 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $449; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$2 = $5; + i64toi32_i32$1 = HEAP32[($5 + 36 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($5 + 40 | 0) >> 2] | 0; + $453 = i64toi32_i32$1; + i64toi32_i32$1 = $5; + HEAP32[($5 + 56 | 0) >> 2] = $453; + HEAP32[($5 + 60 | 0) >> 2] = i64toi32_i32$0; + operator__28btVector3_20const__2c_20btVector3_20const__29($5 + 4 | 0 | 0, (HEAP32[($5 + 52 | 0) >> 2] | 0) + 32 | 0 | 0, $5 + 56 | 0 | 0); + $142 = 8; + i64toi32_i32$2 = ($5 + 4 | 0) + $142 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $485 = i64toi32_i32$0; + i64toi32_i32$0 = ($5 + 72 | 0) + $142 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $485; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$2 = $5; + i64toi32_i32$1 = HEAP32[($5 + 4 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($5 + 8 | 0) >> 2] | 0; + $489 = i64toi32_i32$1; + i64toi32_i32$1 = $5; + HEAP32[($5 + 72 | 0) >> 2] = $489; + HEAP32[($5 + 76 | 0) >> 2] = i64toi32_i32$0; + $153 = $5 + 72 | 0; + (wasm2js_i32$0 = $5, wasm2js_f32$0 = Math_fround(btVector3__dot_28btVector3_20const__29_20const($153 | 0, $153 | 0))), HEAPF32[(wasm2js_i32$0 + 88 | 0) >> 2] = wasm2js_f32$0; + label$7 : { + label$8 : { + if (!(Math_fround(HEAPF32[($5 + 88 | 0) >> 2]) > Math_fround(Math_fround(btPersistentManifold__getContactBreakingThreshold_28_29_20const($6 | 0)) * Math_fround(btPersistentManifold__getContactBreakingThreshold_28_29_20const($6 | 0))) & 1 | 0)) { + break label$8 + } + btPersistentManifold__removeContactPoint_28int_29($6 | 0, HEAP32[($5 + 144 | 0) >> 2] | 0 | 0); + break label$7; + } + label$9 : { + if (!((HEAP32[(0 + 115356 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$9 + } + FUNCTION_TABLE[HEAP32[(0 + 115356 | 0) >> 2] | 0 | 0](HEAP32[($5 + 52 | 0) >> 2] | 0, HEAP32[($6 + 836 | 0) >> 2] | 0, HEAP32[($6 + 840 | 0) >> 2] | 0) | 0; + } + } + } + HEAP32[($5 + 144 | 0) >> 2] = (HEAP32[($5 + 144 | 0) >> 2] | 0) + -1 | 0; + continue label$4; + }; + } + __stack_pointer = $5 + 160 | 0; + return; + } + + function btPersistentManifold__removeContactPoint_28int_29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, $5 = 0, $110 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; + btPersistentManifold__clearUserCache_28btManifoldPoint__29($5 | 0, ($5 + 4 | 0) + Math_imul(HEAP32[($4 + 8 | 0) >> 2] | 0, 208) | 0 | 0); + (wasm2js_i32$0 = $4, wasm2js_i32$1 = (btPersistentManifold__getNumContacts_28_29_20const($5 | 0) | 0) - 1 | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + if (!((HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) != (HEAP32[($4 + 4 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$1 + } + __memcpy(($5 + 4 | 0) + Math_imul(HEAP32[($4 + 8 | 0) >> 2] | 0, 208) | 0 | 0, ($5 + 4 | 0) + Math_imul(HEAP32[($4 + 4 | 0) >> 2] | 0, 208) | 0 | 0, 208 | 0) | 0; + HEAP32[((($5 + 4 | 0) + Math_imul(HEAP32[($4 + 4 | 0) >> 2] | 0, 208) | 0) + 116 | 0) >> 2] = 0; + HEAPF32[((($5 + 4 | 0) + Math_imul(HEAP32[($4 + 4 | 0) >> 2] | 0, 208) | 0) + 132 | 0) >> 2] = Math_fround(0 | 0); + HEAP32[((($5 + 4 | 0) + Math_imul(HEAP32[($4 + 4 | 0) >> 2] | 0, 208) | 0) + 128 | 0) >> 2] = 0; + HEAPF32[((($5 + 4 | 0) + Math_imul(HEAP32[($4 + 4 | 0) >> 2] | 0, 208) | 0) + 136 | 0) >> 2] = Math_fround(0 | 0); + HEAPF32[((($5 + 4 | 0) + Math_imul(HEAP32[($4 + 4 | 0) >> 2] | 0, 208) | 0) + 140 | 0) >> 2] = Math_fround(0 | 0); + HEAP32[((($5 + 4 | 0) + Math_imul(HEAP32[($4 + 4 | 0) >> 2] | 0, 208) | 0) + 164 | 0) >> 2] = 0; + } + label$2 : { + if ((HEAP32[((($5 + 4 | 0) + Math_imul(HEAP32[($4 + 4 | 0) >> 2] | 0, 208) | 0) + 116 | 0) >> 2] | 0 | 0) == (0 | 0) & 1 | 0) { + break label$2 + } + __assert_fail(85943 | 0, 80072 | 0, 180 | 0, 67601 | 0); + wasm2js_trap(); + } + HEAP32[($5 + 844 | 0) >> 2] = (HEAP32[($5 + 844 | 0) >> 2] | 0) + -1 | 0; + label$3 : { + if (!((HEAP32[(0 + 115364 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$3 + } + if (HEAP32[($5 + 844 | 0) >> 2] | 0) { + break label$3 + } + $110 = HEAP32[(0 + 115364 | 0) >> 2] | 0; + HEAP32[$4 >> 2] = $5; + FUNCTION_TABLE[$110 | 0]($4); + } + __stack_pointer = $4 + 16 | 0; + return; + } + + function _GLOBAL__sub_I_btPersistentManifold_cpp() { + __cxx_global_var_init_63(); + return; + } + + function __cxx_global_var_init_64() { + btInfMaskConverter__btInfMaskConverter_28int_29(115368 | 0, 2139095040 | 0) | 0; + return; + } + + function btTriangleRaycastCallback__btTriangleRaycastCallback_28btVector3_20const__2c_20btVector3_20const__2c_20unsigned_20int_29($0, $1, $2, $3) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + var i64toi32_i32$2 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $6 = 0, $7 = 0, $12 = 0, $15 = 0, $20 = 0, $23 = 0, $61 = 0, $71 = 0, $80 = 0, $90 = 0; + $6 = __stack_pointer - 16 | 0; + __stack_pointer = $6; + HEAP32[($6 + 12 | 0) >> 2] = $0; + HEAP32[($6 + 8 | 0) >> 2] = $1; + HEAP32[($6 + 4 | 0) >> 2] = $2; + HEAP32[$6 >> 2] = $3; + $7 = HEAP32[($6 + 12 | 0) >> 2] | 0; + btTriangleCallback__btTriangleCallback_28_29($7 | 0) | 0; + HEAP32[$7 >> 2] = 101800 + 8 | 0; + $12 = $7 + 4 | 0; + i64toi32_i32$2 = HEAP32[($6 + 8 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $61 = i64toi32_i32$0; + i64toi32_i32$0 = $12; + HEAP32[i64toi32_i32$0 >> 2] = $61; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $15 = 8; + i64toi32_i32$2 = i64toi32_i32$2 + $15 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $71 = i64toi32_i32$1; + i64toi32_i32$1 = $12 + $15 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $71; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + $20 = $7 + 20 | 0; + i64toi32_i32$2 = HEAP32[($6 + 4 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $80 = i64toi32_i32$0; + i64toi32_i32$0 = $20; + HEAP32[i64toi32_i32$0 >> 2] = $80; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $23 = 8; + i64toi32_i32$2 = i64toi32_i32$2 + $23 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $90 = i64toi32_i32$1; + i64toi32_i32$1 = $20 + $23 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $90; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($7 + 36 | 0) >> 2] = HEAP32[$6 >> 2] | 0; + HEAPF32[($7 + 40 | 0) >> 2] = Math_fround(1.0); + __stack_pointer = $6 + 16 | 0; + return $7 | 0; + } + + function btTriangleRaycastCallback__processTriangle_28btVector3__2c_20int_2c_20int_29($0, $1, $2, $3) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + var $6 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, $7 = 0, $23 = 0, $40 = 0, $61 = 0, $149 = 0, $168 = 0, $189 = 0, $219 = 0, $240 = 0, $272 = 0, $395 = 0, $399 = 0, $432 = 0, $436 = 0, $473 = 0, $477 = 0, $668 = 0, $672 = 0, $707 = 0, $711 = 0, $748 = 0, $752 = 0, $808 = 0, $812 = 0, $849 = 0, $853 = 0, $911 = 0, $915 = 0, wasm2js_i32$0 = 0, wasm2js_f32$0 = Math_fround(0); + $6 = __stack_pointer - 384 | 0; + __stack_pointer = $6; + HEAP32[($6 + 380 | 0) >> 2] = $0; + HEAP32[($6 + 376 | 0) >> 2] = $1; + HEAP32[($6 + 372 | 0) >> 2] = $2; + HEAP32[($6 + 368 | 0) >> 2] = $3; + $7 = HEAP32[($6 + 380 | 0) >> 2] | 0; + HEAP32[($6 + 364 | 0) >> 2] = HEAP32[($6 + 376 | 0) >> 2] | 0; + HEAP32[($6 + 360 | 0) >> 2] = (HEAP32[($6 + 376 | 0) >> 2] | 0) + 16 | 0; + HEAP32[($6 + 356 | 0) >> 2] = (HEAP32[($6 + 376 | 0) >> 2] | 0) + 32 | 0; + btVector3__btVector3_28_29($6 + 336 | 0 | 0) | 0; + operator__28btVector3_20const__2c_20btVector3_20const__29($6 + 320 | 0 | 0, HEAP32[($6 + 360 | 0) >> 2] | 0 | 0, HEAP32[($6 + 364 | 0) >> 2] | 0 | 0); + $23 = 8; + i64toi32_i32$2 = ($6 + 320 | 0) + $23 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $395 = i64toi32_i32$0; + i64toi32_i32$0 = ($6 + 336 | 0) + $23 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $395; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$2 = $6; + i64toi32_i32$1 = HEAP32[($6 + 320 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($6 + 324 | 0) >> 2] | 0; + $399 = i64toi32_i32$1; + i64toi32_i32$1 = $6; + HEAP32[($6 + 336 | 0) >> 2] = $399; + HEAP32[($6 + 340 | 0) >> 2] = i64toi32_i32$0; + btVector3__btVector3_28_29($6 + 304 | 0 | 0) | 0; + operator__28btVector3_20const__2c_20btVector3_20const__29($6 + 288 | 0 | 0, HEAP32[($6 + 356 | 0) >> 2] | 0 | 0, HEAP32[($6 + 364 | 0) >> 2] | 0 | 0); + $40 = 8; + i64toi32_i32$2 = ($6 + 288 | 0) + $40 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $432 = i64toi32_i32$0; + i64toi32_i32$0 = ($6 + 304 | 0) + $40 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $432; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$2 = $6; + i64toi32_i32$1 = HEAP32[($6 + 288 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($6 + 292 | 0) >> 2] | 0; + $436 = i64toi32_i32$1; + i64toi32_i32$1 = $6; + HEAP32[($6 + 304 | 0) >> 2] = $436; + HEAP32[($6 + 308 | 0) >> 2] = i64toi32_i32$0; + btVector3__btVector3_28_29($6 + 272 | 0 | 0) | 0; + btVector3__cross_28btVector3_20const__29_20const($6 + 256 | 0 | 0, $6 + 336 | 0 | 0, $6 + 304 | 0 | 0); + $61 = 8; + i64toi32_i32$2 = ($6 + 256 | 0) + $61 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $473 = i64toi32_i32$0; + i64toi32_i32$0 = ($6 + 272 | 0) + $61 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $473; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$2 = $6; + i64toi32_i32$1 = HEAP32[($6 + 256 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($6 + 260 | 0) >> 2] | 0; + $477 = i64toi32_i32$1; + i64toi32_i32$1 = $6; + HEAP32[($6 + 272 | 0) >> 2] = $477; + HEAP32[($6 + 276 | 0) >> 2] = i64toi32_i32$0; + (wasm2js_i32$0 = $6, wasm2js_f32$0 = Math_fround(btVector3__dot_28btVector3_20const__29_20const(HEAP32[($6 + 364 | 0) >> 2] | 0 | 0, $6 + 272 | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 252 | 0) >> 2] = wasm2js_f32$0; + (wasm2js_i32$0 = $6, wasm2js_f32$0 = Math_fround(btVector3__dot_28btVector3_20const__29_20const($6 + 272 | 0 | 0, $7 + 4 | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 248 | 0) >> 2] = wasm2js_f32$0; + HEAPF32[($6 + 248 | 0) >> 2] = Math_fround(Math_fround(HEAPF32[($6 + 248 | 0) >> 2]) - Math_fround(HEAPF32[($6 + 252 | 0) >> 2])); + (wasm2js_i32$0 = $6, wasm2js_f32$0 = Math_fround(btVector3__dot_28btVector3_20const__29_20const($6 + 272 | 0 | 0, $7 + 20 | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 244 | 0) >> 2] = wasm2js_f32$0; + HEAPF32[($6 + 244 | 0) >> 2] = Math_fround(Math_fround(HEAPF32[($6 + 244 | 0) >> 2]) - Math_fround(HEAPF32[($6 + 252 | 0) >> 2])); + label$1 : { + label$2 : { + if (!(Math_fround(Math_fround(HEAPF32[($6 + 248 | 0) >> 2]) * Math_fround(HEAPF32[($6 + 244 | 0) >> 2])) >= Math_fround(0 | 0) & 1 | 0)) { + break label$2 + } + break label$1; + } + label$3 : { + if (!((HEAP32[($7 + 36 | 0) >> 2] | 0) & 1 | 0)) { + break label$3 + } + if (!(Math_fround(HEAPF32[($6 + 248 | 0) >> 2]) <= Math_fround(0 | 0) & 1 | 0)) { + break label$3 + } + break label$1; + } + HEAPF32[($6 + 240 | 0) >> 2] = Math_fround(Math_fround(HEAPF32[($6 + 248 | 0) >> 2]) - Math_fround(HEAPF32[($6 + 244 | 0) >> 2])); + HEAPF32[($6 + 236 | 0) >> 2] = Math_fround(Math_fround(HEAPF32[($6 + 248 | 0) >> 2]) / Math_fround(HEAPF32[($6 + 240 | 0) >> 2])); + if (!(Math_fround(HEAPF32[($6 + 236 | 0) >> 2]) < Math_fround(HEAPF32[($7 + 40 | 0) >> 2]) & 1 | 0)) { + break label$1 + } + (wasm2js_i32$0 = $6, wasm2js_f32$0 = Math_fround(btVector3__length2_28_29_20const($6 + 272 | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 232 | 0) >> 2] = wasm2js_f32$0; + HEAPF32[($6 + 232 | 0) >> 2] = Math_fround(Math_fround(HEAPF32[($6 + 232 | 0) >> 2]) * Math_fround(-9.999999747378752e-05)); + btVector3__btVector3_28_29($6 + 216 | 0 | 0) | 0; + btVector3__setInterpolate3_28btVector3_20const__2c_20btVector3_20const__2c_20float_29($6 + 216 | 0 | 0, $7 + 4 | 0 | 0, $7 + 20 | 0 | 0, Math_fround(Math_fround(HEAPF32[($6 + 236 | 0) >> 2]))); + btVector3__btVector3_28_29($6 + 200 | 0 | 0) | 0; + operator__28btVector3_20const__2c_20btVector3_20const__29($6 + 184 | 0 | 0, HEAP32[($6 + 364 | 0) >> 2] | 0 | 0, $6 + 216 | 0 | 0); + $149 = 8; + i64toi32_i32$2 = ($6 + 184 | 0) + $149 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $668 = i64toi32_i32$0; + i64toi32_i32$0 = ($6 + 200 | 0) + $149 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $668; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$2 = $6; + i64toi32_i32$1 = HEAP32[($6 + 184 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($6 + 188 | 0) >> 2] | 0; + $672 = i64toi32_i32$1; + i64toi32_i32$1 = $6; + HEAP32[($6 + 200 | 0) >> 2] = $672; + HEAP32[($6 + 204 | 0) >> 2] = i64toi32_i32$0; + btVector3__btVector3_28_29($6 + 168 | 0 | 0) | 0; + operator__28btVector3_20const__2c_20btVector3_20const__29($6 + 152 | 0 | 0, HEAP32[($6 + 360 | 0) >> 2] | 0 | 0, $6 + 216 | 0 | 0); + $168 = 8; + i64toi32_i32$2 = ($6 + 152 | 0) + $168 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $707 = i64toi32_i32$0; + i64toi32_i32$0 = ($6 + 168 | 0) + $168 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $707; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$2 = $6; + i64toi32_i32$1 = HEAP32[($6 + 152 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($6 + 156 | 0) >> 2] | 0; + $711 = i64toi32_i32$1; + i64toi32_i32$1 = $6; + HEAP32[($6 + 168 | 0) >> 2] = $711; + HEAP32[($6 + 172 | 0) >> 2] = i64toi32_i32$0; + btVector3__btVector3_28_29($6 + 136 | 0 | 0) | 0; + btVector3__cross_28btVector3_20const__29_20const($6 + 120 | 0 | 0, $6 + 200 | 0 | 0, $6 + 168 | 0 | 0); + $189 = 8; + i64toi32_i32$2 = ($6 + 120 | 0) + $189 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $748 = i64toi32_i32$0; + i64toi32_i32$0 = ($6 + 136 | 0) + $189 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $748; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$2 = $6; + i64toi32_i32$1 = HEAP32[($6 + 120 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($6 + 124 | 0) >> 2] | 0; + $752 = i64toi32_i32$1; + i64toi32_i32$1 = $6; + HEAP32[($6 + 136 | 0) >> 2] = $752; + HEAP32[($6 + 140 | 0) >> 2] = i64toi32_i32$0; + label$4 : { + if (!(Math_fround(btVector3__dot_28btVector3_20const__29_20const($6 + 136 | 0 | 0, $6 + 272 | 0 | 0)) >= Math_fround(HEAPF32[($6 + 232 | 0) >> 2]) & 1 | 0)) { + break label$4 + } + btVector3__btVector3_28_29($6 + 104 | 0 | 0) | 0; + operator__28btVector3_20const__2c_20btVector3_20const__29($6 + 88 | 0 | 0, HEAP32[($6 + 356 | 0) >> 2] | 0 | 0, $6 + 216 | 0 | 0); + $219 = 8; + i64toi32_i32$2 = ($6 + 88 | 0) + $219 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $808 = i64toi32_i32$0; + i64toi32_i32$0 = ($6 + 104 | 0) + $219 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $808; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$2 = $6; + i64toi32_i32$1 = HEAP32[($6 + 88 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($6 + 92 | 0) >> 2] | 0; + $812 = i64toi32_i32$1; + i64toi32_i32$1 = $6; + HEAP32[($6 + 104 | 0) >> 2] = $812; + HEAP32[($6 + 108 | 0) >> 2] = i64toi32_i32$0; + btVector3__btVector3_28_29($6 + 72 | 0 | 0) | 0; + btVector3__cross_28btVector3_20const__29_20const($6 + 56 | 0 | 0, $6 + 168 | 0 | 0, $6 + 104 | 0 | 0); + $240 = 8; + i64toi32_i32$2 = ($6 + 56 | 0) + $240 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $849 = i64toi32_i32$0; + i64toi32_i32$0 = ($6 + 72 | 0) + $240 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $849; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$2 = $6; + i64toi32_i32$1 = HEAP32[($6 + 56 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($6 + 60 | 0) >> 2] | 0; + $853 = i64toi32_i32$1; + i64toi32_i32$1 = $6; + HEAP32[($6 + 72 | 0) >> 2] = $853; + HEAP32[($6 + 76 | 0) >> 2] = i64toi32_i32$0; + label$5 : { + if (!(Math_fround(btVector3__dot_28btVector3_20const__29_20const($6 + 72 | 0 | 0, $6 + 272 | 0 | 0)) >= Math_fround(HEAPF32[($6 + 232 | 0) >> 2]) & 1 | 0)) { + break label$5 + } + btVector3__btVector3_28_29($6 + 40 | 0 | 0) | 0; + btVector3__cross_28btVector3_20const__29_20const($6 + 24 | 0 | 0, $6 + 104 | 0 | 0, $6 + 200 | 0 | 0); + $272 = 8; + i64toi32_i32$2 = ($6 + 24 | 0) + $272 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $911 = i64toi32_i32$0; + i64toi32_i32$0 = ($6 + 40 | 0) + $272 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $911; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$2 = $6; + i64toi32_i32$1 = HEAP32[($6 + 24 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($6 + 28 | 0) >> 2] | 0; + $915 = i64toi32_i32$1; + i64toi32_i32$1 = $6; + HEAP32[($6 + 40 | 0) >> 2] = $915; + HEAP32[($6 + 44 | 0) >> 2] = i64toi32_i32$0; + label$6 : { + if (!(Math_fround(btVector3__dot_28btVector3_20const__29_20const($6 + 40 | 0 | 0, $6 + 272 | 0 | 0)) >= Math_fround(HEAPF32[($6 + 232 | 0) >> 2]) & 1 | 0)) { + break label$6 + } + btVector3__normalize_28_29($6 + 272 | 0 | 0) | 0; + label$7 : { + label$8 : { + if ((HEAP32[($7 + 36 | 0) >> 2] | 0) & 2 | 0) { + break label$8 + } + if (!(Math_fround(HEAPF32[($6 + 248 | 0) >> 2]) <= Math_fround(0 | 0) & 1 | 0)) { + break label$8 + } + operator__28btVector3_20const__29($6 + 8 | 0 | 0, $6 + 272 | 0 | 0); + (wasm2js_i32$0 = $7, wasm2js_f32$0 = Math_fround(FUNCTION_TABLE[HEAP32[((HEAP32[$7 >> 2] | 0) + 12 | 0) >> 2] | 0 | 0]($7, $6 + 8 | 0, Math_fround(HEAPF32[($6 + 236 | 0) >> 2]), HEAP32[($6 + 372 | 0) >> 2] | 0, HEAP32[($6 + 368 | 0) >> 2] | 0))), HEAPF32[(wasm2js_i32$0 + 40 | 0) >> 2] = wasm2js_f32$0; + break label$7; + } + (wasm2js_i32$0 = $7, wasm2js_f32$0 = Math_fround(FUNCTION_TABLE[HEAP32[((HEAP32[$7 >> 2] | 0) + 12 | 0) >> 2] | 0 | 0]($7, $6 + 272 | 0, Math_fround(HEAPF32[($6 + 236 | 0) >> 2]), HEAP32[($6 + 372 | 0) >> 2] | 0, HEAP32[($6 + 368 | 0) >> 2] | 0))), HEAPF32[(wasm2js_i32$0 + 40 | 0) >> 2] = wasm2js_f32$0; + } + } + } + } + } + __stack_pointer = $6 + 384 | 0; + return; + } + + function btTriangleConvexcastCallback__btTriangleConvexcastCallback_28btConvexShape_20const__2c_20btTransform_20const__2c_20btTransform_20const__2c_20btTransform_20const__2c_20float_29($0, $1, $2, $3, $4, $5) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + $4 = $4 | 0; + $5 = Math_fround($5); + var $8 = 0, $9 = 0; + $8 = __stack_pointer - 32 | 0; + __stack_pointer = $8; + HEAP32[($8 + 28 | 0) >> 2] = $0; + HEAP32[($8 + 24 | 0) >> 2] = $1; + HEAP32[($8 + 20 | 0) >> 2] = $2; + HEAP32[($8 + 16 | 0) >> 2] = $3; + HEAP32[($8 + 12 | 0) >> 2] = $4; + HEAPF32[($8 + 8 | 0) >> 2] = $5; + $9 = HEAP32[($8 + 28 | 0) >> 2] | 0; + btTriangleCallback__btTriangleCallback_28_29($9 | 0) | 0; + HEAP32[$9 >> 2] = 101824 + 8 | 0; + btTransform__btTransform_28_29($9 + 8 | 0 | 0) | 0; + btTransform__btTransform_28_29($9 + 72 | 0 | 0) | 0; + btTransform__btTransform_28_29($9 + 136 | 0 | 0) | 0; + HEAP32[($9 + 4 | 0) >> 2] = HEAP32[($8 + 24 | 0) >> 2] | 0; + btTransform__operator__28btTransform_20const__29($9 + 8 | 0 | 0, HEAP32[($8 + 20 | 0) >> 2] | 0 | 0) | 0; + btTransform__operator__28btTransform_20const__29($9 + 72 | 0 | 0, HEAP32[($8 + 16 | 0) >> 2] | 0 | 0) | 0; + btTransform__operator__28btTransform_20const__29($9 + 136 | 0 | 0, HEAP32[($8 + 12 | 0) >> 2] | 0 | 0) | 0; + HEAPF32[($9 + 200 | 0) >> 2] = Math_fround(1.0); + HEAPF32[($9 + 204 | 0) >> 2] = Math_fround(HEAPF32[($8 + 8 | 0) >> 2]); + HEAPF32[($9 + 208 | 0) >> 2] = Math_fround(0 | 0); + __stack_pointer = $8 + 32 | 0; + return $9 | 0; + } + + function btTriangleConvexcastCallback__processTriangle_28btVector3__2c_20int_2c_20int_29($0, $1, $2, $3) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + var $6 = 0, $7 = 0; + $6 = __stack_pointer - 704 | 0; + __stack_pointer = $6; + HEAP32[($6 + 700 | 0) >> 2] = $0; + HEAP32[($6 + 696 | 0) >> 2] = $1; + HEAP32[($6 + 692 | 0) >> 2] = $2; + HEAP32[($6 + 688 | 0) >> 2] = $3; + $7 = HEAP32[($6 + 700 | 0) >> 2] | 0; + btTriangleShape__btTriangleShape_28btVector3_20const__2c_20btVector3_20const__2c_20btVector3_20const__29($6 + 576 | 0 | 0, HEAP32[($6 + 696 | 0) >> 2] | 0 | 0, (HEAP32[($6 + 696 | 0) >> 2] | 0) + 16 | 0 | 0, (HEAP32[($6 + 696 | 0) >> 2] | 0) + 32 | 0 | 0) | 0; + btConvexInternalShape__setMargin_28float_29($6 + 576 | 0 | 0, Math_fround(Math_fround(HEAPF32[($7 + 204 | 0) >> 2]))); + btVoronoiSimplexSolver__btVoronoiSimplexSolver_28_29($6 + 216 | 0 | 0) | 0; + btGjkEpaPenetrationDepthSolver__btGjkEpaPenetrationDepthSolver_28_29($6 + 212 | 0 | 0) | 0; + btContinuousConvexCollision__btContinuousConvexCollision_28btConvexShape_20const__2c_20btConvexShape_20const__2c_20btVoronoiSimplexSolver__2c_20btConvexPenetrationDepthSolver__29($6 + 188 | 0 | 0, HEAP32[($7 + 4 | 0) >> 2] | 0 | 0, $6 + 576 | 0 | 0, $6 + 216 | 0 | 0, $6 + 212 | 0 | 0) | 0; + btConvexCast__CastResult__CastResult_28_29($6 + 12 | 0 | 0) | 0; + HEAPF32[($6 + 176 | 0) >> 2] = Math_fround(1.0); + HEAPF32[($6 + 184 | 0) >> 2] = Math_fround(HEAPF32[($7 + 208 | 0) >> 2]); + label$1 : { + if (!((btContinuousConvexCollision__calcTimeOfImpact_28btTransform_20const__2c_20btTransform_20const__2c_20btTransform_20const__2c_20btTransform_20const__2c_20btConvexCast__CastResult__29($6 + 188 | 0 | 0, $7 + 8 | 0 | 0, $7 + 72 | 0 | 0, $7 + 136 | 0 | 0, $7 + 136 | 0 | 0, $6 + 12 | 0 | 0) | 0) & 1 | 0)) { + break label$1 + } + label$2 : { + if (!(Math_fround(btVector3__length2_28_29_20const(($6 + 12 | 0) + 132 | 0 | 0)) > Math_fround(9.999999747378752e-05) & 1 | 0)) { + break label$2 + } + label$3 : { + if (!(Math_fround(HEAPF32[($6 + 176 | 0) >> 2]) < Math_fround(HEAPF32[($7 + 200 | 0) >> 2]) & 1 | 0)) { + break label$3 + } + btVector3__normalize_28_29(($6 + 12 | 0) + 132 | 0 | 0) | 0; + Math_fround(FUNCTION_TABLE[HEAP32[((HEAP32[$7 >> 2] | 0) + 12 | 0) >> 2] | 0 | 0]($7, ($6 + 12 | 0) + 132 | 0, ($6 + 12 | 0) + 148 | 0, Math_fround(HEAPF32[($6 + 176 | 0) >> 2]), HEAP32[($6 + 692 | 0) >> 2] | 0, HEAP32[($6 + 688 | 0) >> 2] | 0)); + } + } + } + btConvexCast__CastResult___CastResult_28_29($6 + 12 | 0 | 0) | 0; + btContinuousConvexCollision___btContinuousConvexCollision_28_29($6 + 188 | 0 | 0) | 0; + btGjkEpaPenetrationDepthSolver___btGjkEpaPenetrationDepthSolver_28_29($6 + 212 | 0 | 0) | 0; + btTriangleShape___btTriangleShape_28_29($6 + 576 | 0 | 0) | 0; + __stack_pointer = $6 + 704 | 0; + return; + } + + function btTriangleRaycastCallback___btTriangleRaycastCallback_28_29_1($0) { + $0 = $0 | 0; + HEAP32[((__stack_pointer - 16 | 0) + 12 | 0) >> 2] = $0; + wasm2js_trap(); + } + + function btTriangleConvexcastCallback___btTriangleConvexcastCallback_28_29_1($0) { + $0 = $0 | 0; + HEAP32[((__stack_pointer - 16 | 0) + 12 | 0) >> 2] = $0; + wasm2js_trap(); + } + + function _GLOBAL__sub_I_btRaycastCallback_cpp() { + __cxx_global_var_init_64(); + return; + } + + function __cxx_global_var_init_65() { + btInfMaskConverter__btInfMaskConverter_28int_29(115372 | 0, 2139095040 | 0) | 0; + return; + } + + function btSubsimplexConvexCast__btSubsimplexConvexCast_28btConvexShape_20const__2c_20btConvexShape_20const__2c_20btVoronoiSimplexSolver__29($0, $1, $2, $3) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + var $6 = 0, $7 = 0; + $6 = __stack_pointer - 16 | 0; + __stack_pointer = $6; + HEAP32[($6 + 12 | 0) >> 2] = $0; + HEAP32[($6 + 8 | 0) >> 2] = $1; + HEAP32[($6 + 4 | 0) >> 2] = $2; + HEAP32[$6 >> 2] = $3; + $7 = HEAP32[($6 + 12 | 0) >> 2] | 0; + btConvexCast__btConvexCast_28_29($7 | 0) | 0; + HEAP32[$7 >> 2] = 101932 + 8 | 0; + HEAP32[($7 + 4 | 0) >> 2] = HEAP32[$6 >> 2] | 0; + HEAP32[($7 + 8 | 0) >> 2] = HEAP32[($6 + 8 | 0) >> 2] | 0; + HEAP32[($7 + 12 | 0) >> 2] = HEAP32[($6 + 4 | 0) >> 2] | 0; + __stack_pointer = $6 + 16 | 0; + return $7 | 0; + } + + function btSubsimplexConvexCast__calcTimeOfImpact_28btTransform_20const__2c_20btTransform_20const__2c_20btTransform_20const__2c_20btTransform_20const__2c_20btConvexCast__CastResult__29($0, $1, $2, $3, $4, $5) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + $4 = $4 | 0; + $5 = $5 | 0; + var $8 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, $9 = 0, $24 = 0, $40 = 0, $72 = 0, $102 = 0, $134 = 0, $185 = 0, $186 = 0, $196 = 0, $230 = 0, $239 = 0, $267 = 0, $285 = 0, $362 = 0, $371 = 0, $428 = 0, $430 = 0, $456 = 0, $458 = 0, $495 = 0, $497 = 0, $575 = 0, $579 = 0, $610 = 0, $614 = 0, $71 = 0, $101 = 0, $790 = 0, $794 = 0, $970 = 0, $974 = 0, $1040 = 0, $1044 = 0, $1075 = 0, $1079 = 0, $1232 = 0, $1236 = 0, $1252 = 0, $1256 = 0, $1352 = 0, $1365 = 0, $1407 = 0, $1420 = 0, $1485 = 0, $1498 = 0, $508 = 0, wasm2js_i32$0 = 0, wasm2js_f32$0 = Math_fround(0); + $8 = __stack_pointer - 720 | 0; + __stack_pointer = $8; + HEAP32[($8 + 712 | 0) >> 2] = $0; + HEAP32[($8 + 708 | 0) >> 2] = $1; + HEAP32[($8 + 704 | 0) >> 2] = $2; + HEAP32[($8 + 700 | 0) >> 2] = $3; + HEAP32[($8 + 696 | 0) >> 2] = $4; + HEAP32[($8 + 692 | 0) >> 2] = $5; + $9 = HEAP32[($8 + 712 | 0) >> 2] | 0; + btVoronoiSimplexSolver__reset_28_29(HEAP32[($9 + 4 | 0) >> 2] | 0 | 0); + btVector3__btVector3_28_29($8 + 672 | 0 | 0) | 0; + btVector3__btVector3_28_29($8 + 656 | 0 | 0) | 0; + operator__28btVector3_20const__2c_20btVector3_20const__29($8 + 640 | 0 | 0, btTransform__getOrigin_28_29_20const(HEAP32[($8 + 704 | 0) >> 2] | 0 | 0) | 0 | 0, btTransform__getOrigin_28_29_20const(HEAP32[($8 + 708 | 0) >> 2] | 0 | 0) | 0 | 0); + $24 = 8; + i64toi32_i32$2 = ($8 + 640 | 0) + $24 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $575 = i64toi32_i32$0; + i64toi32_i32$0 = ($8 + 672 | 0) + $24 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $575; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$2 = $8; + i64toi32_i32$1 = HEAP32[($8 + 640 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($8 + 644 | 0) >> 2] | 0; + $579 = i64toi32_i32$1; + i64toi32_i32$1 = $8; + HEAP32[($8 + 672 | 0) >> 2] = $579; + HEAP32[($8 + 676 | 0) >> 2] = i64toi32_i32$0; + operator__28btVector3_20const__2c_20btVector3_20const__29($8 + 624 | 0 | 0, btTransform__getOrigin_28_29_20const(HEAP32[($8 + 696 | 0) >> 2] | 0 | 0) | 0 | 0, btTransform__getOrigin_28_29_20const(HEAP32[($8 + 700 | 0) >> 2] | 0 | 0) | 0 | 0); + $40 = 8; + i64toi32_i32$2 = ($8 + 624 | 0) + $40 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $610 = i64toi32_i32$0; + i64toi32_i32$0 = ($8 + 656 | 0) + $40 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $610; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$2 = $8; + i64toi32_i32$1 = HEAP32[($8 + 624 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($8 + 628 | 0) >> 2] | 0; + $614 = i64toi32_i32$1; + i64toi32_i32$1 = $8; + HEAP32[($8 + 656 | 0) >> 2] = $614; + HEAP32[($8 + 660 | 0) >> 2] = i64toi32_i32$0; + HEAPF32[($8 + 620 | 0) >> 2] = Math_fround(0 | 0); + btTransform__btTransform_28btTransform_20const__29($8 + 556 | 0 | 0, HEAP32[($8 + 708 | 0) >> 2] | 0 | 0) | 0; + btTransform__btTransform_28btTransform_20const__29($8 + 492 | 0 | 0, HEAP32[($8 + 700 | 0) >> 2] | 0 | 0) | 0; + operator__28btVector3_20const__2c_20btVector3_20const__29($8 + 476 | 0 | 0, $8 + 672 | 0 | 0, $8 + 656 | 0 | 0); + btVector3__btVector3_28_29($8 + 456 | 0 | 0) | 0; + $71 = HEAP32[($8 + 708 | 0) >> 2] | 0; + $72 = HEAP32[($9 + 8 | 0) >> 2] | 0; + operator__28btVector3_20const__29($8 + 392 | 0 | 0, $8 + 476 | 0 | 0); + operator__28btVector3_20const__2c_20btMatrix3x3_20const__29($8 + 408 | 0 | 0, $8 + 392 | 0 | 0, btTransform__getBasis_28_29_20const(HEAP32[($8 + 708 | 0) >> 2] | 0 | 0) | 0 | 0); + FUNCTION_TABLE[HEAP32[((HEAP32[$72 >> 2] | 0) + 64 | 0) >> 2] | 0 | 0]($8 + 424 | 0, $72, $8 + 408 | 0); + btTransform__operator_28_29_28btVector3_20const__29_20const($8 + 440 | 0 | 0, $71 | 0, $8 + 424 | 0 | 0); + $101 = HEAP32[($8 + 700 | 0) >> 2] | 0; + $102 = HEAP32[($9 + 12 | 0) >> 2] | 0; + operator__28btVector3_20const__2c_20btMatrix3x3_20const__29($8 + 344 | 0 | 0, $8 + 476 | 0 | 0, btTransform__getBasis_28_29_20const(HEAP32[($8 + 700 | 0) >> 2] | 0 | 0) | 0 | 0); + FUNCTION_TABLE[HEAP32[((HEAP32[$102 >> 2] | 0) + 64 | 0) >> 2] | 0 | 0]($8 + 360 | 0, $102, $8 + 344 | 0); + btTransform__operator_28_29_28btVector3_20const__29_20const($8 + 376 | 0 | 0, $101 | 0, $8 + 360 | 0 | 0); + operator__28btVector3_20const__2c_20btVector3_20const__29($8 + 328 | 0 | 0, $8 + 440 | 0 | 0, $8 + 376 | 0 | 0); + $134 = 8; + i64toi32_i32$2 = ($8 + 328 | 0) + $134 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $790 = i64toi32_i32$0; + i64toi32_i32$0 = ($8 + 456 | 0) + $134 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $790; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$2 = $8; + i64toi32_i32$1 = HEAP32[($8 + 328 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($8 + 332 | 0) >> 2] | 0; + $794 = i64toi32_i32$1; + i64toi32_i32$1 = $8; + HEAP32[($8 + 456 | 0) >> 2] = $794; + HEAP32[($8 + 460 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($8 + 324 | 0) >> 2] = 32; + btVector3__btVector3_28_29($8 + 304 | 0 | 0) | 0; + HEAPF32[($8 + 300 | 0) >> 2] = Math_fround(0 | 0); + HEAPF32[($8 + 296 | 0) >> 2] = Math_fround(0 | 0); + HEAPF32[($8 + 292 | 0) >> 2] = Math_fround(0 | 0); + btVector3__setValue_28float_20const__2c_20float_20const__2c_20float_20const__29($8 + 304 | 0 | 0, $8 + 300 | 0 | 0, $8 + 296 | 0 | 0, $8 + 292 | 0 | 0); + btVector3__btVector3_28_29($8 + 276 | 0 | 0) | 0; + (wasm2js_i32$0 = $8, wasm2js_f32$0 = Math_fround(btVector3__length2_28_29_20const($8 + 456 | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 272 | 0) >> 2] = wasm2js_f32$0; + HEAPF32[($8 + 268 | 0) >> 2] = Math_fround(9.999999747378752e-05); + btVector3__btVector3_28_29($8 + 248 | 0 | 0) | 0; + btVector3__btVector3_28_29($8 + 232 | 0 | 0) | 0; + label$1 : { + label$2 : while (1) { + $185 = 0; + label$3 : { + if (!(Math_fround(HEAPF32[($8 + 272 | 0) >> 2]) > Math_fround(HEAPF32[($8 + 268 | 0) >> 2]) & 1 | 0)) { + break label$3 + } + $186 = HEAP32[($8 + 324 | 0) >> 2] | 0; + HEAP32[($8 + 324 | 0) >> 2] = $186 + -1 | 0; + $185 = ($186 | 0) != (0 | 0); + } + label$4 : { + if (!($185 & 1 | 0)) { + break label$4 + } + $196 = HEAP32[($9 + 8 | 0) >> 2] | 0; + operator__28btVector3_20const__29($8 + 164 | 0 | 0, $8 + 456 | 0 | 0); + operator__28btVector3_20const__2c_20btMatrix3x3_20const__29($8 + 180 | 0 | 0, $8 + 164 | 0 | 0, btTransform__getBasis_28_29($8 + 556 | 0 | 0) | 0 | 0); + FUNCTION_TABLE[HEAP32[((HEAP32[$196 >> 2] | 0) + 64 | 0) >> 2] | 0 | 0]($8 + 196 | 0, $196, $8 + 180 | 0); + btTransform__operator_28_29_28btVector3_20const__29_20const($8 + 212 | 0 | 0, $8 + 556 | 0 | 0, $8 + 196 | 0 | 0); + $230 = 8; + i64toi32_i32$2 = ($8 + 212 | 0) + $230 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $970 = i64toi32_i32$0; + i64toi32_i32$0 = ($8 + 440 | 0) + $230 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $970; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$2 = $8; + i64toi32_i32$1 = HEAP32[($8 + 212 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($8 + 216 | 0) >> 2] | 0; + $974 = i64toi32_i32$1; + i64toi32_i32$1 = $8; + HEAP32[($8 + 440 | 0) >> 2] = $974; + HEAP32[($8 + 444 | 0) >> 2] = i64toi32_i32$0; + $239 = HEAP32[($9 + 12 | 0) >> 2] | 0; + operator__28btVector3_20const__2c_20btMatrix3x3_20const__29($8 + 116 | 0 | 0, $8 + 456 | 0 | 0, btTransform__getBasis_28_29($8 + 492 | 0 | 0) | 0 | 0); + FUNCTION_TABLE[HEAP32[((HEAP32[$239 >> 2] | 0) + 64 | 0) >> 2] | 0 | 0]($8 + 132 | 0, $239, $8 + 116 | 0); + btTransform__operator_28_29_28btVector3_20const__29_20const($8 + 148 | 0 | 0, $8 + 492 | 0 | 0, $8 + 132 | 0 | 0); + $267 = 8; + i64toi32_i32$2 = ($8 + 148 | 0) + $267 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $1040 = i64toi32_i32$0; + i64toi32_i32$0 = ($8 + 376 | 0) + $267 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $1040; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$2 = $8; + i64toi32_i32$1 = HEAP32[($8 + 148 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($8 + 152 | 0) >> 2] | 0; + $1044 = i64toi32_i32$1; + i64toi32_i32$1 = $8; + HEAP32[($8 + 376 | 0) >> 2] = $1044; + HEAP32[($8 + 380 | 0) >> 2] = i64toi32_i32$0; + operator__28btVector3_20const__2c_20btVector3_20const__29($8 + 100 | 0 | 0, $8 + 440 | 0 | 0, $8 + 376 | 0 | 0); + $285 = 8; + i64toi32_i32$2 = ($8 + 100 | 0) + $285 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $1075 = i64toi32_i32$0; + i64toi32_i32$0 = ($8 + 248 | 0) + $285 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $1075; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$2 = $8; + i64toi32_i32$1 = HEAP32[($8 + 100 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($8 + 104 | 0) >> 2] | 0; + $1079 = i64toi32_i32$1; + i64toi32_i32$1 = $8; + HEAP32[($8 + 248 | 0) >> 2] = $1079; + HEAP32[($8 + 252 | 0) >> 2] = i64toi32_i32$0; + (wasm2js_i32$0 = $8, wasm2js_f32$0 = Math_fround(btVector3__dot_28btVector3_20const__29_20const($8 + 456 | 0 | 0, $8 + 248 | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 96 | 0) >> 2] = wasm2js_f32$0; + label$5 : { + if (!(Math_fround(HEAPF32[($8 + 620 | 0) >> 2]) > Math_fround(1.0) & 1 | 0)) { + break label$5 + } + HEAP8[($8 + 719 | 0) >> 0] = 0 & 1 | 0; + break label$1; + } + label$6 : { + if (!(Math_fround(HEAPF32[($8 + 96 | 0) >> 2]) > Math_fround(0 | 0) & 1 | 0)) { + break label$6 + } + (wasm2js_i32$0 = $8, wasm2js_f32$0 = Math_fround(btVector3__dot_28btVector3_20const__29_20const($8 + 456 | 0 | 0, $8 + 476 | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 228 | 0) >> 2] = wasm2js_f32$0; + label$7 : { + if (!(Math_fround(HEAPF32[($8 + 228 | 0) >> 2]) >= Math_fround(-1.4210854715202004e-14) & 1 | 0)) { + break label$7 + } + HEAP8[($8 + 719 | 0) >> 0] = 0 & 1 | 0; + break label$1; + } + HEAPF32[($8 + 620 | 0) >> 2] = Math_fround(Math_fround(HEAPF32[($8 + 620 | 0) >> 2]) - Math_fround(Math_fround(HEAPF32[($8 + 96 | 0) >> 2]) / Math_fround(HEAPF32[($8 + 228 | 0) >> 2]))); + btVector3__setInterpolate3_28btVector3_20const__2c_20btVector3_20const__2c_20float_29(btTransform__getOrigin_28_29($8 + 556 | 0 | 0) | 0 | 0, btTransform__getOrigin_28_29_20const(HEAP32[($8 + 708 | 0) >> 2] | 0 | 0) | 0 | 0, btTransform__getOrigin_28_29_20const(HEAP32[($8 + 704 | 0) >> 2] | 0 | 0) | 0 | 0, Math_fround(Math_fround(HEAPF32[($8 + 620 | 0) >> 2]))); + btVector3__setInterpolate3_28btVector3_20const__2c_20btVector3_20const__2c_20float_29(btTransform__getOrigin_28_29($8 + 492 | 0 | 0) | 0 | 0, btTransform__getOrigin_28_29_20const(HEAP32[($8 + 700 | 0) >> 2] | 0 | 0) | 0 | 0, btTransform__getOrigin_28_29_20const(HEAP32[($8 + 696 | 0) >> 2] | 0 | 0) | 0 | 0, Math_fround(Math_fround(HEAPF32[($8 + 620 | 0) >> 2]))); + operator__28btVector3_20const__2c_20btVector3_20const__29($8 + 80 | 0 | 0, $8 + 440 | 0 | 0, $8 + 376 | 0 | 0); + $362 = 8; + i64toi32_i32$2 = ($8 + 80 | 0) + $362 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $1232 = i64toi32_i32$0; + i64toi32_i32$0 = ($8 + 248 | 0) + $362 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $1232; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$2 = $8; + i64toi32_i32$1 = HEAP32[($8 + 80 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($8 + 84 | 0) >> 2] | 0; + $1236 = i64toi32_i32$1; + i64toi32_i32$1 = $8; + HEAP32[($8 + 248 | 0) >> 2] = $1236; + HEAP32[($8 + 252 | 0) >> 2] = i64toi32_i32$0; + $371 = 8; + i64toi32_i32$2 = ($8 + 456 | 0) + $371 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $1252 = i64toi32_i32$0; + i64toi32_i32$0 = ($8 + 304 | 0) + $371 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $1252; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$2 = $8; + i64toi32_i32$1 = HEAP32[($8 + 456 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($8 + 460 | 0) >> 2] | 0; + $1256 = i64toi32_i32$1; + i64toi32_i32$1 = $8; + HEAP32[($8 + 304 | 0) >> 2] = $1256; + HEAP32[($8 + 308 | 0) >> 2] = i64toi32_i32$0; + } + label$8 : { + if ((btVoronoiSimplexSolver__inSimplex_28btVector3_20const__29(HEAP32[($9 + 4 | 0) >> 2] | 0 | 0, $8 + 248 | 0 | 0) | 0) & 1 | 0) { + break label$8 + } + btVoronoiSimplexSolver__addVertex_28btVector3_20const__2c_20btVector3_20const__2c_20btVector3_20const__29(HEAP32[($9 + 4 | 0) >> 2] | 0 | 0, $8 + 248 | 0 | 0, $8 + 440 | 0 | 0, $8 + 376 | 0 | 0); + } + label$9 : { + label$10 : { + if (!((btVoronoiSimplexSolver__closest_28btVector3__29(HEAP32[($9 + 4 | 0) >> 2] | 0 | 0, $8 + 456 | 0 | 0) | 0) & 1 | 0)) { + break label$10 + } + (wasm2js_i32$0 = $8, wasm2js_f32$0 = Math_fround(btVector3__length2_28_29_20const($8 + 456 | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 272 | 0) >> 2] = wasm2js_f32$0; + break label$9; + } + HEAPF32[($8 + 272 | 0) >> 2] = Math_fround(0 | 0); + } + continue label$2; + } + break label$2; + }; + HEAPF32[((HEAP32[($8 + 692 | 0) >> 2] | 0) + 164 | 0) >> 2] = Math_fround(HEAPF32[($8 + 620 | 0) >> 2]); + label$11 : { + label$12 : { + if (!(Math_fround(btVector3__length2_28_29_20const($8 + 304 | 0 | 0)) >= Math_fround(1.4210854715202004e-14) & 1 | 0)) { + break label$12 + } + btVector3__normalized_28_29_20const($8 + 64 | 0 | 0, $8 + 304 | 0 | 0); + $428 = (HEAP32[($8 + 692 | 0) >> 2] | 0) + 132 | 0; + i64toi32_i32$2 = $8; + i64toi32_i32$0 = HEAP32[($8 + 64 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($8 + 68 | 0) >> 2] | 0; + $1352 = i64toi32_i32$0; + i64toi32_i32$0 = $428; + HEAP32[i64toi32_i32$0 >> 2] = $1352; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $430 = 8; + i64toi32_i32$2 = ($8 + 64 | 0) + $430 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $1365 = i64toi32_i32$1; + i64toi32_i32$1 = $428 + $430 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $1365; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + break label$11; + } + HEAPF32[($8 + 44 | 0) >> 2] = Math_fround(0 | 0); + HEAPF32[($8 + 40 | 0) >> 2] = Math_fround(0 | 0); + HEAPF32[($8 + 36 | 0) >> 2] = Math_fround(0 | 0); + btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($8 + 48 | 0 | 0, $8 + 44 | 0 | 0, $8 + 40 | 0 | 0, $8 + 36 | 0 | 0) | 0; + $456 = (HEAP32[($8 + 692 | 0) >> 2] | 0) + 132 | 0; + i64toi32_i32$2 = $8; + i64toi32_i32$0 = HEAP32[($8 + 48 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($8 + 52 | 0) >> 2] | 0; + $1407 = i64toi32_i32$0; + i64toi32_i32$0 = $456; + HEAP32[i64toi32_i32$0 >> 2] = $1407; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $458 = 8; + i64toi32_i32$2 = ($8 + 48 | 0) + $458 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $1420 = i64toi32_i32$1; + i64toi32_i32$1 = $456 + $458 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $1420; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + } + label$13 : { + if (!(Math_fround(btVector3__dot_28btVector3_20const__29_20const((HEAP32[($8 + 692 | 0) >> 2] | 0) + 132 | 0 | 0, $8 + 476 | 0 | 0)) >= Math_fround(-Math_fround(HEAPF32[((HEAP32[($8 + 692 | 0) >> 2] | 0) + 172 | 0) >> 2])) & 1 | 0)) { + break label$13 + } + HEAP8[($8 + 719 | 0) >> 0] = 0 & 1 | 0; + break label$1; + } + btVector3__btVector3_28_29($8 + 20 | 0 | 0) | 0; + btVector3__btVector3_28_29($8 + 4 | 0 | 0) | 0; + btVoronoiSimplexSolver__compute_points_28btVector3__2c_20btVector3__29(HEAP32[($9 + 4 | 0) >> 2] | 0 | 0, $8 + 20 | 0 | 0, $8 + 4 | 0 | 0); + $495 = (HEAP32[($8 + 692 | 0) >> 2] | 0) + 148 | 0; + i64toi32_i32$2 = $8; + i64toi32_i32$0 = HEAP32[($8 + 4 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($8 + 8 | 0) >> 2] | 0; + $1485 = i64toi32_i32$0; + i64toi32_i32$0 = $495; + HEAP32[i64toi32_i32$0 >> 2] = $1485; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $497 = 8; + i64toi32_i32$2 = ($8 + 4 | 0) + $497 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $1498 = i64toi32_i32$1; + i64toi32_i32$1 = $495 + $497 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $1498; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + HEAP8[($8 + 719 | 0) >> 0] = 1 & 1 | 0; + } + $508 = (HEAPU8[($8 + 719 | 0) >> 0] | 0) & 1 | 0; + __stack_pointer = $8 + 720 | 0; + return $508 | 0; + } + + function btSubsimplexConvexCast___btSubsimplexConvexCast_28_29_1($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + btSubsimplexConvexCast___btSubsimplexConvexCast_28_29($4 | 0) | 0; + operator_20delete_28void__29($4 | 0); + __stack_pointer = $3 + 16 | 0; + return; + } + + function _GLOBAL__sub_I_btSubSimplexConvexCast_cpp() { + __cxx_global_var_init_65(); + return; + } + + function __cxx_global_var_init_66() { + btInfMaskConverter__btInfMaskConverter_28int_29(115376 | 0, 2139095040 | 0) | 0; + return; + } + + function btVoronoiSimplexSolver__removeVertex_28int_29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var i64toi32_i32$2 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $5 = 0, $4 = 0, $31 = 0, $33 = 0, $48 = 0, $50 = 0, $65 = 0, $67 = 0, $131 = 0, $141 = 0, $167 = 0, $177 = 0, $203 = 0, $213 = 0; + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; + label$1 : { + if ((HEAP32[$5 >> 2] | 0 | 0) > (0 | 0) & 1 | 0) { + break label$1 + } + __assert_fail(85771 | 0, 72458 | 0, 38 | 0, 66276 | 0); + wasm2js_trap(); + } + HEAP32[$5 >> 2] = (HEAP32[$5 >> 2] | 0) + -1 | 0; + $31 = ($5 + 4 | 0) + ((HEAP32[($4 + 8 | 0) >> 2] | 0) << 4 | 0) | 0; + i64toi32_i32$2 = ($5 + 4 | 0) + ((HEAP32[$5 >> 2] | 0) << 4 | 0) | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $131 = i64toi32_i32$0; + i64toi32_i32$0 = $31; + HEAP32[i64toi32_i32$0 >> 2] = $131; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $33 = 8; + i64toi32_i32$2 = i64toi32_i32$2 + $33 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $141 = i64toi32_i32$1; + i64toi32_i32$1 = $31 + $33 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $141; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + $48 = ($5 + 84 | 0) + ((HEAP32[($4 + 8 | 0) >> 2] | 0) << 4 | 0) | 0; + i64toi32_i32$2 = ($5 + 84 | 0) + ((HEAP32[$5 >> 2] | 0) << 4 | 0) | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $167 = i64toi32_i32$0; + i64toi32_i32$0 = $48; + HEAP32[i64toi32_i32$0 >> 2] = $167; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $50 = 8; + i64toi32_i32$2 = i64toi32_i32$2 + $50 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $177 = i64toi32_i32$1; + i64toi32_i32$1 = $48 + $50 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $177; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + $65 = ($5 + 164 | 0) + ((HEAP32[($4 + 8 | 0) >> 2] | 0) << 4 | 0) | 0; + i64toi32_i32$2 = ($5 + 164 | 0) + ((HEAP32[$5 >> 2] | 0) << 4 | 0) | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $203 = i64toi32_i32$0; + i64toi32_i32$0 = $65; + HEAP32[i64toi32_i32$0 >> 2] = $203; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $67 = 8; + i64toi32_i32$2 = i64toi32_i32$2 + $67 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $213 = i64toi32_i32$1; + i64toi32_i32$1 = $65 + $67 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $213; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + __stack_pointer = $4 + 16 | 0; + return; + } + + function btVoronoiSimplexSolver__reduceVertices_28btUsageBitfield_20const__29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, $5 = 0, $63 = 0; + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; + label$1 : { + if (!((btVoronoiSimplexSolver__numVertices_28_29_20const($5 | 0) | 0 | 0) >= (4 | 0) & 1 | 0)) { + break label$1 + } + if ((((((HEAPU8[(HEAP32[($4 + 8 | 0) >> 2] | 0) >> 0] | 0) >>> 3 | 0) & 1 | 0) & 255 | 0) & 65535 | 0 | 0) != (0 & 65535 | 0 | 0) & 1 | 0) { + break label$1 + } + btVoronoiSimplexSolver__removeVertex_28int_29($5 | 0, 3 | 0); + } + label$2 : { + if (!((btVoronoiSimplexSolver__numVertices_28_29_20const($5 | 0) | 0 | 0) >= (3 | 0) & 1 | 0)) { + break label$2 + } + if ((((((HEAPU8[(HEAP32[($4 + 8 | 0) >> 2] | 0) >> 0] | 0) >>> 2 | 0) & 1 | 0) & 255 | 0) & 65535 | 0 | 0) != (0 & 65535 | 0 | 0) & 1 | 0) { + break label$2 + } + btVoronoiSimplexSolver__removeVertex_28int_29($5 | 0, 2 | 0); + } + label$3 : { + if (!((btVoronoiSimplexSolver__numVertices_28_29_20const($5 | 0) | 0 | 0) >= (2 | 0) & 1 | 0)) { + break label$3 + } + $63 = 1; + if ((((((HEAPU8[(HEAP32[($4 + 8 | 0) >> 2] | 0) >> 0] | 0) >>> $63 | 0) & $63 | 0) & 255 | 0) & 65535 | 0 | 0) != (0 & 65535 | 0 | 0) & 1 | 0) { + break label$3 + } + btVoronoiSimplexSolver__removeVertex_28int_29($5 | 0, 1 | 0); + } + label$4 : { + if (!((btVoronoiSimplexSolver__numVertices_28_29_20const($5 | 0) | 0 | 0) >= (1 | 0) & 1 | 0)) { + break label$4 + } + if (((((HEAPU8[(HEAP32[($4 + 8 | 0) >> 2] | 0) >> 0] | 0) & 1 | 0) & 255 | 0) & 65535 | 0 | 0) != (0 & 65535 | 0 | 0) & 1 | 0) { + break label$4 + } + btVoronoiSimplexSolver__removeVertex_28int_29($5 | 0, 0 | 0); + } + __stack_pointer = $4 + 16 | 0; + return; + } + + function btVoronoiSimplexSolver__numVertices_28_29_20const($0) { + $0 = $0 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + return HEAP32[(HEAP32[($3 + 12 | 0) >> 2] | 0) >> 2] | 0 | 0; + } + + function btVoronoiSimplexSolver__reset_28_29($0) { + $0 = $0 | 0; + var $3 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $4 = 0, i64toi32_i32$2 = 0, $22 = 0, $24 = 0, $79 = 0, $92 = 0; + $3 = __stack_pointer - 32 | 0; + __stack_pointer = $3; + HEAP32[($3 + 28 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 28 | 0) >> 2] | 0; + HEAP8[($4 + 312 | 0) >> 0] = 0; + HEAP32[$4 >> 2] = 0; + HEAP8[($4 + 356 | 0) >> 0] = 1; + HEAPF32[($3 + 8 | 0) >> 2] = Math_fround(999999984306749440.0); + HEAPF32[($3 + 4 | 0) >> 2] = Math_fround(999999984306749440.0); + HEAPF32[$3 >> 2] = Math_fround(999999984306749440.0); + btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($3 + 12 | 0 | 0, $3 + 8 | 0 | 0, $3 + 4 | 0 | 0, $3 | 0) | 0; + $22 = $4 + 292 | 0; + i64toi32_i32$2 = $3; + i64toi32_i32$0 = HEAP32[($3 + 12 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($3 + 16 | 0) >> 2] | 0; + $79 = i64toi32_i32$0; + i64toi32_i32$0 = $22; + HEAP32[i64toi32_i32$0 >> 2] = $79; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $24 = 8; + i64toi32_i32$2 = ($3 + 12 | 0) + $24 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $92 = i64toi32_i32$1; + i64toi32_i32$1 = $22 + $24 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $92; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + btSubSimplexClosestResult__reset_28_29($4 + 316 | 0 | 0); + __stack_pointer = $3 + 32 | 0; + return; + } + + function btSubSimplexClosestResult__reset_28_29($0) { + $0 = $0 | 0; + var $3 = 0, $7 = Math_fround(0), $4 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + HEAP8[($4 + 36 | 0) >> 0] = 0; + $7 = Math_fround(0 | 0); + btSubSimplexClosestResult__setBarycentricCoordinates_28float_2c_20float_2c_20float_2c_20float_29($4 | 0, Math_fround($7), Math_fround($7), Math_fround($7), Math_fround($7)); + btUsageBitfield__reset_28_29($4 + 16 | 0 | 0); + __stack_pointer = $3 + 16 | 0; + return; + } + + function btSubSimplexClosestResult__setBarycentricCoordinates_28float_2c_20float_2c_20float_2c_20float_29($0, $1, $2, $3, $4) { + $0 = $0 | 0; + $1 = Math_fround($1); + $2 = Math_fround($2); + $3 = Math_fround($3); + $4 = Math_fround($4); + var $7 = 0, $8 = 0; + $7 = __stack_pointer - 32 | 0; + HEAP32[($7 + 28 | 0) >> 2] = $0; + HEAPF32[($7 + 24 | 0) >> 2] = $1; + HEAPF32[($7 + 20 | 0) >> 2] = $2; + HEAPF32[($7 + 16 | 0) >> 2] = $3; + HEAPF32[($7 + 12 | 0) >> 2] = $4; + $8 = HEAP32[($7 + 28 | 0) >> 2] | 0; + HEAPF32[($8 + 20 | 0) >> 2] = Math_fround(HEAPF32[($7 + 24 | 0) >> 2]); + HEAPF32[($8 + 24 | 0) >> 2] = Math_fround(HEAPF32[($7 + 20 | 0) >> 2]); + HEAPF32[($8 + 28 | 0) >> 2] = Math_fround(HEAPF32[($7 + 16 | 0) >> 2]); + HEAPF32[($8 + 32 | 0) >> 2] = Math_fround(HEAPF32[($7 + 12 | 0) >> 2]); + return; + } + + function btVoronoiSimplexSolver__addVertex_28btVector3_20const__2c_20btVector3_20const__2c_20btVector3_20const__29($0, $1, $2, $3) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + var i64toi32_i32$2 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $7 = 0, $6 = 0, $10 = 0, $12 = 0, $23 = 0, $25 = 0, $35 = 0, $37 = 0, $47 = 0, $49 = 0, $78 = 0, $88 = 0, $107 = 0, $117 = 0, $134 = 0, $144 = 0, $161 = 0, $171 = 0; + $6 = __stack_pointer - 16 | 0; + HEAP32[($6 + 12 | 0) >> 2] = $0; + HEAP32[($6 + 8 | 0) >> 2] = $1; + HEAP32[($6 + 4 | 0) >> 2] = $2; + HEAP32[$6 >> 2] = $3; + $7 = HEAP32[($6 + 12 | 0) >> 2] | 0; + $10 = $7 + 292 | 0; + i64toi32_i32$2 = HEAP32[($6 + 8 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $78 = i64toi32_i32$0; + i64toi32_i32$0 = $10; + HEAP32[i64toi32_i32$0 >> 2] = $78; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $12 = 8; + i64toi32_i32$2 = i64toi32_i32$2 + $12 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $88 = i64toi32_i32$1; + i64toi32_i32$1 = $10 + $12 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $88; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + HEAP8[($7 + 356 | 0) >> 0] = 1; + $23 = ($7 + 4 | 0) + ((HEAP32[$7 >> 2] | 0) << 4 | 0) | 0; + i64toi32_i32$2 = HEAP32[($6 + 8 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $107 = i64toi32_i32$0; + i64toi32_i32$0 = $23; + HEAP32[i64toi32_i32$0 >> 2] = $107; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $25 = 8; + i64toi32_i32$2 = i64toi32_i32$2 + $25 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $117 = i64toi32_i32$1; + i64toi32_i32$1 = $23 + $25 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $117; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + $35 = ($7 + 84 | 0) + ((HEAP32[$7 >> 2] | 0) << 4 | 0) | 0; + i64toi32_i32$2 = HEAP32[($6 + 4 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $134 = i64toi32_i32$0; + i64toi32_i32$0 = $35; + HEAP32[i64toi32_i32$0 >> 2] = $134; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $37 = 8; + i64toi32_i32$2 = i64toi32_i32$2 + $37 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $144 = i64toi32_i32$1; + i64toi32_i32$1 = $35 + $37 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $144; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + $47 = ($7 + 164 | 0) + ((HEAP32[$7 >> 2] | 0) << 4 | 0) | 0; + i64toi32_i32$2 = HEAP32[$6 >> 2] | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $161 = i64toi32_i32$0; + i64toi32_i32$0 = $47; + HEAP32[i64toi32_i32$0 >> 2] = $161; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $49 = 8; + i64toi32_i32$2 = i64toi32_i32$2 + $49 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $171 = i64toi32_i32$1; + i64toi32_i32$1 = $47 + $49 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $171; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + HEAP32[$7 >> 2] = (HEAP32[$7 >> 2] | 0) + 1 | 0; + return; + } + + function btVoronoiSimplexSolver__updateClosestVectorAndPoints_28_29($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, $54 = Math_fround(0), $135 = 0, $11 = 0, $17 = 0, $19 = 0, $26 = 0, $28 = 0, $40 = 0, $42 = 0, $114 = 0, $165 = Math_fround(0), $182 = 0, $218 = 0, $220 = 0, $253 = 0, $255 = 0, $269 = 0, $271 = 0, $376 = 0, $378 = 0, $438 = 0, $440 = 0, $454 = 0, $456 = 0, $594 = 0, $596 = 0, $678 = 0, $680 = 0, $694 = 0, $696 = 0, $778 = 0, $788 = 0, $798 = 0, $808 = 0, $828 = 0, $841 = 0, $166 = 0, $1128 = 0, $1132 = 0, $1184 = 0, $1197 = 0, $1249 = 0, $1262 = 0, $1282 = 0, $1295 = 0, $1484 = 0, $1497 = 0, $1594 = 0, $1607 = 0, $1627 = 0, $1640 = 0, $1889 = 0, $1902 = 0, $2036 = 0, $2049 = 0, $2069 = 0, $2082 = 0, $736 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0, wasm2js_f32$0 = Math_fround(0); + $3 = __stack_pointer - 800 | 0; + __stack_pointer = $3; + HEAP32[($3 + 796 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 796 | 0) >> 2] | 0; + label$1 : { + if (!((HEAPU8[($4 + 356 | 0) >> 0] | 0) & 1 | 0)) { + break label$1 + } + btSubSimplexClosestResult__reset_28_29($4 + 316 | 0 | 0); + HEAP8[($4 + 356 | 0) >> 0] = 0; + $11 = btVoronoiSimplexSolver__numVertices_28_29_20const($4 | 0) | 0; + label$2 : { + label$3 : { + switch ($11 | 0) { + case 0: + HEAP8[($4 + 312 | 0) >> 0] = 0; + break label$2; + case 1: + $17 = $4 + 244 | 0; + i64toi32_i32$2 = $4 + 84 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $778 = i64toi32_i32$0; + i64toi32_i32$0 = $17; + HEAP32[i64toi32_i32$0 >> 2] = $778; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $19 = 8; + i64toi32_i32$2 = i64toi32_i32$2 + $19 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $788 = i64toi32_i32$1; + i64toi32_i32$1 = $17 + $19 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $788; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + $26 = $4 + 260 | 0; + i64toi32_i32$2 = $4 + 164 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $798 = i64toi32_i32$0; + i64toi32_i32$0 = $26; + HEAP32[i64toi32_i32$0 >> 2] = $798; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $28 = 8; + i64toi32_i32$2 = i64toi32_i32$2 + $28 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $808 = i64toi32_i32$1; + i64toi32_i32$1 = $26 + $28 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $808; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + operator__28btVector3_20const__2c_20btVector3_20const__29($3 + 780 | 0 | 0, $4 + 244 | 0 | 0, $4 + 260 | 0 | 0); + $40 = $4 + 276 | 0; + i64toi32_i32$2 = $3; + i64toi32_i32$0 = HEAP32[($3 + 780 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($3 + 784 | 0) >> 2] | 0; + $828 = i64toi32_i32$0; + i64toi32_i32$0 = $40; + HEAP32[i64toi32_i32$0 >> 2] = $828; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $42 = 8; + i64toi32_i32$2 = ($3 + 780 | 0) + $42 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $841 = i64toi32_i32$1; + i64toi32_i32$1 = $40 + $42 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $841; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + btSubSimplexClosestResult__reset_28_29($4 + 316 | 0 | 0); + $54 = Math_fround(0 | 0); + btSubSimplexClosestResult__setBarycentricCoordinates_28float_2c_20float_2c_20float_2c_20float_29($4 + 316 | 0 | 0, Math_fround(Math_fround(1.0)), Math_fround($54), Math_fround($54), Math_fround($54)); + (wasm2js_i32$0 = $4, wasm2js_i32$1 = (btSubSimplexClosestResult__isValid_28_29($4 + 316 | 0 | 0) | 0) & 1 | 0), HEAP8[(wasm2js_i32$0 + 312 | 0) >> 0] = wasm2js_i32$1; + break label$2; + case 2: + HEAP32[($3 + 776 | 0) >> 2] = $4 + 4 | 0; + HEAP32[($3 + 772 | 0) >> 2] = ($4 + 4 | 0) + 16 | 0; + btVector3__btVector3_28_29($3 + 752 | 0 | 0) | 0; + HEAPF32[($3 + 732 | 0) >> 2] = Math_fround(0 | 0); + HEAPF32[($3 + 728 | 0) >> 2] = Math_fround(0 | 0); + HEAPF32[($3 + 724 | 0) >> 2] = Math_fround(0 | 0); + btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($3 + 736 | 0 | 0, $3 + 732 | 0 | 0, $3 + 728 | 0 | 0, $3 + 724 | 0 | 0) | 0; + operator__28btVector3_20const__2c_20btVector3_20const__29($3 + 708 | 0 | 0, $3 + 736 | 0 | 0, HEAP32[($3 + 776 | 0) >> 2] | 0 | 0); + operator__28btVector3_20const__2c_20btVector3_20const__29($3 + 692 | 0 | 0, HEAP32[($3 + 772 | 0) >> 2] | 0 | 0, HEAP32[($3 + 776 | 0) >> 2] | 0 | 0); + (wasm2js_i32$0 = $3, wasm2js_f32$0 = Math_fround(btVector3__dot_28btVector3_20const__29_20const($3 + 692 | 0 | 0, $3 + 708 | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 688 | 0) >> 2] = wasm2js_f32$0; + label$9 : { + label$10 : { + if (!(Math_fround(HEAPF32[($3 + 688 | 0) >> 2]) > Math_fround(0 | 0) & 1 | 0)) { + break label$10 + } + $114 = $3 + 692 | 0; + (wasm2js_i32$0 = $3, wasm2js_f32$0 = Math_fround(btVector3__dot_28btVector3_20const__29_20const($114 | 0, $114 | 0))), HEAPF32[(wasm2js_i32$0 + 684 | 0) >> 2] = wasm2js_f32$0; + label$11 : { + label$12 : { + if (!(Math_fround(HEAPF32[($3 + 688 | 0) >> 2]) < Math_fround(HEAPF32[($3 + 684 | 0) >> 2]) & 1 | 0)) { + break label$12 + } + HEAPF32[($3 + 688 | 0) >> 2] = Math_fround(Math_fround(HEAPF32[($3 + 688 | 0) >> 2]) / Math_fround(HEAPF32[($3 + 684 | 0) >> 2])); + operator__28float_20const__2c_20btVector3_20const__29($3 + 668 | 0 | 0, $3 + 688 | 0 | 0, $3 + 692 | 0 | 0); + btVector3__operator___28btVector3_20const__29($3 + 708 | 0 | 0, $3 + 668 | 0 | 0) | 0; + $135 = $4 + 332 | 0; + HEAP8[$135 >> 0] = HEAPU8[$135 >> 0] | 0 | 1 | 0; + HEAP8[($4 + 332 | 0) >> 0] = HEAPU8[$135 >> 0] | 0 | 2 | 0; + break label$11; + } + HEAP32[($3 + 688 | 0) >> 2] = 1065353216; + btVector3__operator___28btVector3_20const__29($3 + 708 | 0 | 0, $3 + 692 | 0 | 0) | 0; + HEAP8[($4 + 332 | 0) >> 0] = HEAPU8[($4 + 332 | 0) >> 0] | 0 | 2 | 0; + } + break label$9; + } + HEAP32[($3 + 688 | 0) >> 2] = 0; + HEAP8[($4 + 332 | 0) >> 0] = HEAPU8[($4 + 332 | 0) >> 0] | 0 | 1 | 0; + } + $165 = Math_fround(0 | 0); + btSubSimplexClosestResult__setBarycentricCoordinates_28float_2c_20float_2c_20float_2c_20float_29($4 + 316 | 0 | 0, Math_fround(Math_fround(Math_fround(1.0) - Math_fround(HEAPF32[($3 + 688 | 0) >> 2]))), Math_fround(Math_fround(HEAPF32[($3 + 688 | 0) >> 2])), Math_fround($165), Math_fround($165)); + $166 = HEAP32[($3 + 776 | 0) >> 2] | 0; + operator__28float_20const__2c_20btVector3_20const__29($3 + 636 | 0 | 0, $3 + 688 | 0 | 0, $3 + 692 | 0 | 0); + operator__28btVector3_20const__2c_20btVector3_20const__29_2($3 + 652 | 0 | 0, $166 | 0, $3 + 636 | 0 | 0); + $182 = 8; + i64toi32_i32$2 = ($3 + 652 | 0) + $182 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $1128 = i64toi32_i32$0; + i64toi32_i32$0 = ($3 + 752 | 0) + $182 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $1128; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$2 = $3; + i64toi32_i32$1 = HEAP32[($3 + 652 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($3 + 656 | 0) >> 2] | 0; + $1132 = i64toi32_i32$1; + i64toi32_i32$1 = $3; + HEAP32[($3 + 752 | 0) >> 2] = $1132; + HEAP32[($3 + 756 | 0) >> 2] = i64toi32_i32$0; + operator__28btVector3_20const__2c_20btVector3_20const__29($3 + 588 | 0 | 0, ($4 + 84 | 0) + 16 | 0 | 0, $4 + 84 | 0 | 0); + operator__28float_20const__2c_20btVector3_20const__29($3 + 604 | 0 | 0, $3 + 688 | 0 | 0, $3 + 588 | 0 | 0); + operator__28btVector3_20const__2c_20btVector3_20const__29_2($3 + 620 | 0 | 0, $4 + 84 | 0 | 0, $3 + 604 | 0 | 0); + $218 = $4 + 244 | 0; + i64toi32_i32$2 = $3; + i64toi32_i32$0 = HEAP32[($3 + 620 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($3 + 624 | 0) >> 2] | 0; + $1184 = i64toi32_i32$0; + i64toi32_i32$0 = $218; + HEAP32[i64toi32_i32$0 >> 2] = $1184; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $220 = 8; + i64toi32_i32$2 = ($3 + 620 | 0) + $220 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $1197 = i64toi32_i32$1; + i64toi32_i32$1 = $218 + $220 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $1197; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + operator__28btVector3_20const__2c_20btVector3_20const__29($3 + 540 | 0 | 0, ($4 + 164 | 0) + 16 | 0 | 0, $4 + 164 | 0 | 0); + operator__28float_20const__2c_20btVector3_20const__29($3 + 556 | 0 | 0, $3 + 688 | 0 | 0, $3 + 540 | 0 | 0); + operator__28btVector3_20const__2c_20btVector3_20const__29_2($3 + 572 | 0 | 0, $4 + 164 | 0 | 0, $3 + 556 | 0 | 0); + $253 = $4 + 260 | 0; + i64toi32_i32$2 = $3; + i64toi32_i32$0 = HEAP32[($3 + 572 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($3 + 576 | 0) >> 2] | 0; + $1249 = i64toi32_i32$0; + i64toi32_i32$0 = $253; + HEAP32[i64toi32_i32$0 >> 2] = $1249; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $255 = 8; + i64toi32_i32$2 = ($3 + 572 | 0) + $255 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $1262 = i64toi32_i32$1; + i64toi32_i32$1 = $253 + $255 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $1262; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + operator__28btVector3_20const__2c_20btVector3_20const__29($3 + 524 | 0 | 0, $4 + 244 | 0 | 0, $4 + 260 | 0 | 0); + $269 = $4 + 276 | 0; + i64toi32_i32$2 = $3; + i64toi32_i32$0 = HEAP32[($3 + 524 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($3 + 528 | 0) >> 2] | 0; + $1282 = i64toi32_i32$0; + i64toi32_i32$0 = $269; + HEAP32[i64toi32_i32$0 >> 2] = $1282; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $271 = 8; + i64toi32_i32$2 = ($3 + 524 | 0) + $271 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $1295 = i64toi32_i32$1; + i64toi32_i32$1 = $269 + $271 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $1295; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + btVoronoiSimplexSolver__reduceVertices_28btUsageBitfield_20const__29($4 | 0, ($4 + 316 | 0) + 16 | 0 | 0); + (wasm2js_i32$0 = $4, wasm2js_i32$1 = (btSubSimplexClosestResult__isValid_28_29($4 + 316 | 0 | 0) | 0) & 1 | 0), HEAP8[(wasm2js_i32$0 + 312 | 0) >> 0] = wasm2js_i32$1; + break label$2; + case 3: + HEAPF32[($3 + 504 | 0) >> 2] = Math_fround(0 | 0); + HEAPF32[($3 + 500 | 0) >> 2] = Math_fround(0 | 0); + HEAPF32[($3 + 496 | 0) >> 2] = Math_fround(0 | 0); + btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($3 + 508 | 0 | 0, $3 + 504 | 0 | 0, $3 + 500 | 0 | 0, $3 + 496 | 0 | 0) | 0; + HEAP32[($3 + 492 | 0) >> 2] = $4 + 4 | 0; + HEAP32[($3 + 488 | 0) >> 2] = ($4 + 4 | 0) + 16 | 0; + HEAP32[($3 + 484 | 0) >> 2] = ($4 + 4 | 0) + 32 | 0; + btVoronoiSimplexSolver__closestPtPointTriangle_28btVector3_20const__2c_20btVector3_20const__2c_20btVector3_20const__2c_20btVector3_20const__2c_20btSubSimplexClosestResult__29($4 | 0, $3 + 508 | 0 | 0, HEAP32[($3 + 492 | 0) >> 2] | 0 | 0, HEAP32[($3 + 488 | 0) >> 2] | 0 | 0, HEAP32[($3 + 484 | 0) >> 2] | 0 | 0, $4 + 316 | 0 | 0) | 0; + operator__28btVector3_20const__2c_20float_20const__29($3 + 436 | 0 | 0, $4 + 84 | 0 | 0, ($4 + 316 | 0) + 20 | 0 | 0); + operator__28btVector3_20const__2c_20float_20const__29($3 + 420 | 0 | 0, ($4 + 84 | 0) + 16 | 0 | 0, (($4 + 316 | 0) + 20 | 0) + 4 | 0 | 0); + operator__28btVector3_20const__2c_20btVector3_20const__29_2($3 + 452 | 0 | 0, $3 + 436 | 0 | 0, $3 + 420 | 0 | 0); + operator__28btVector3_20const__2c_20float_20const__29($3 + 404 | 0 | 0, ($4 + 84 | 0) + 32 | 0 | 0, (($4 + 316 | 0) + 20 | 0) + 8 | 0 | 0); + operator__28btVector3_20const__2c_20btVector3_20const__29_2($3 + 468 | 0 | 0, $3 + 452 | 0 | 0, $3 + 404 | 0 | 0); + $376 = $4 + 244 | 0; + i64toi32_i32$2 = $3; + i64toi32_i32$0 = HEAP32[($3 + 468 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($3 + 472 | 0) >> 2] | 0; + $1484 = i64toi32_i32$0; + i64toi32_i32$0 = $376; + HEAP32[i64toi32_i32$0 >> 2] = $1484; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $378 = 8; + i64toi32_i32$2 = ($3 + 468 | 0) + $378 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $1497 = i64toi32_i32$1; + i64toi32_i32$1 = $376 + $378 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $1497; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + operator__28btVector3_20const__2c_20float_20const__29($3 + 356 | 0 | 0, $4 + 164 | 0 | 0, ($4 + 316 | 0) + 20 | 0 | 0); + operator__28btVector3_20const__2c_20float_20const__29($3 + 340 | 0 | 0, ($4 + 164 | 0) + 16 | 0 | 0, (($4 + 316 | 0) + 20 | 0) + 4 | 0 | 0); + operator__28btVector3_20const__2c_20btVector3_20const__29_2($3 + 372 | 0 | 0, $3 + 356 | 0 | 0, $3 + 340 | 0 | 0); + operator__28btVector3_20const__2c_20float_20const__29($3 + 324 | 0 | 0, ($4 + 164 | 0) + 32 | 0 | 0, (($4 + 316 | 0) + 20 | 0) + 8 | 0 | 0); + operator__28btVector3_20const__2c_20btVector3_20const__29_2($3 + 388 | 0 | 0, $3 + 372 | 0 | 0, $3 + 324 | 0 | 0); + $438 = $4 + 260 | 0; + i64toi32_i32$2 = $3; + i64toi32_i32$0 = HEAP32[($3 + 388 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($3 + 392 | 0) >> 2] | 0; + $1594 = i64toi32_i32$0; + i64toi32_i32$0 = $438; + HEAP32[i64toi32_i32$0 >> 2] = $1594; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $440 = 8; + i64toi32_i32$2 = ($3 + 388 | 0) + $440 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $1607 = i64toi32_i32$1; + i64toi32_i32$1 = $438 + $440 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $1607; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + operator__28btVector3_20const__2c_20btVector3_20const__29($3 + 308 | 0 | 0, $4 + 244 | 0 | 0, $4 + 260 | 0 | 0); + $454 = $4 + 276 | 0; + i64toi32_i32$2 = $3; + i64toi32_i32$0 = HEAP32[($3 + 308 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($3 + 312 | 0) >> 2] | 0; + $1627 = i64toi32_i32$0; + i64toi32_i32$0 = $454; + HEAP32[i64toi32_i32$0 >> 2] = $1627; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $456 = 8; + i64toi32_i32$2 = ($3 + 308 | 0) + $456 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $1640 = i64toi32_i32$1; + i64toi32_i32$1 = $454 + $456 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $1640; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + btVoronoiSimplexSolver__reduceVertices_28btUsageBitfield_20const__29($4 | 0, ($4 + 316 | 0) + 16 | 0 | 0); + (wasm2js_i32$0 = $4, wasm2js_i32$1 = (btSubSimplexClosestResult__isValid_28_29($4 + 316 | 0 | 0) | 0) & 1 | 0), HEAP8[(wasm2js_i32$0 + 312 | 0) >> 0] = wasm2js_i32$1; + break label$2; + case 4: + HEAPF32[($3 + 288 | 0) >> 2] = Math_fround(0 | 0); + HEAPF32[($3 + 284 | 0) >> 2] = Math_fround(0 | 0); + HEAPF32[($3 + 280 | 0) >> 2] = Math_fround(0 | 0); + btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($3 + 292 | 0 | 0, $3 + 288 | 0 | 0, $3 + 284 | 0 | 0, $3 + 280 | 0 | 0) | 0; + HEAP32[($3 + 276 | 0) >> 2] = $4 + 4 | 0; + HEAP32[($3 + 272 | 0) >> 2] = ($4 + 4 | 0) + 16 | 0; + HEAP32[($3 + 268 | 0) >> 2] = ($4 + 4 | 0) + 32 | 0; + HEAP32[($3 + 264 | 0) >> 2] = ($4 + 4 | 0) + 48 | 0; + (wasm2js_i32$0 = $3, wasm2js_i32$1 = (btVoronoiSimplexSolver__closestPtPointTetrahedron_28btVector3_20const__2c_20btVector3_20const__2c_20btVector3_20const__2c_20btVector3_20const__2c_20btVector3_20const__2c_20btSubSimplexClosestResult__29($4 | 0, $3 + 292 | 0 | 0, HEAP32[($3 + 276 | 0) >> 2] | 0 | 0, HEAP32[($3 + 272 | 0) >> 2] | 0 | 0, HEAP32[($3 + 268 | 0) >> 2] | 0 | 0, HEAP32[($3 + 264 | 0) >> 2] | 0 | 0, $4 + 316 | 0 | 0) | 0) & 1 | 0), HEAP8[(wasm2js_i32$0 + 263 | 0) >> 0] = wasm2js_i32$1; + label$13 : { + label$14 : { + if (!((HEAPU8[($3 + 263 | 0) >> 0] | 0) & 1 | 0)) { + break label$14 + } + operator__28btVector3_20const__2c_20float_20const__29($3 + 196 | 0 | 0, $4 + 84 | 0 | 0, ($4 + 316 | 0) + 20 | 0 | 0); + operator__28btVector3_20const__2c_20float_20const__29($3 + 180 | 0 | 0, ($4 + 84 | 0) + 16 | 0 | 0, (($4 + 316 | 0) + 20 | 0) + 4 | 0 | 0); + operator__28btVector3_20const__2c_20btVector3_20const__29_2($3 + 212 | 0 | 0, $3 + 196 | 0 | 0, $3 + 180 | 0 | 0); + operator__28btVector3_20const__2c_20float_20const__29($3 + 164 | 0 | 0, ($4 + 84 | 0) + 32 | 0 | 0, (($4 + 316 | 0) + 20 | 0) + 8 | 0 | 0); + operator__28btVector3_20const__2c_20btVector3_20const__29_2($3 + 228 | 0 | 0, $3 + 212 | 0 | 0, $3 + 164 | 0 | 0); + operator__28btVector3_20const__2c_20float_20const__29($3 + 148 | 0 | 0, ($4 + 84 | 0) + 48 | 0 | 0, (($4 + 316 | 0) + 20 | 0) + 12 | 0 | 0); + operator__28btVector3_20const__2c_20btVector3_20const__29_2($3 + 244 | 0 | 0, $3 + 228 | 0 | 0, $3 + 148 | 0 | 0); + $594 = $4 + 244 | 0; + i64toi32_i32$2 = $3; + i64toi32_i32$0 = HEAP32[($3 + 244 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($3 + 248 | 0) >> 2] | 0; + $1889 = i64toi32_i32$0; + i64toi32_i32$0 = $594; + HEAP32[i64toi32_i32$0 >> 2] = $1889; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $596 = 8; + i64toi32_i32$2 = ($3 + 244 | 0) + $596 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $1902 = i64toi32_i32$1; + i64toi32_i32$1 = $594 + $596 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $1902; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + operator__28btVector3_20const__2c_20float_20const__29($3 + 84 | 0 | 0, $4 + 164 | 0 | 0, ($4 + 316 | 0) + 20 | 0 | 0); + operator__28btVector3_20const__2c_20float_20const__29($3 + 68 | 0 | 0, ($4 + 164 | 0) + 16 | 0 | 0, (($4 + 316 | 0) + 20 | 0) + 4 | 0 | 0); + operator__28btVector3_20const__2c_20btVector3_20const__29_2($3 + 100 | 0 | 0, $3 + 84 | 0 | 0, $3 + 68 | 0 | 0); + operator__28btVector3_20const__2c_20float_20const__29($3 + 52 | 0 | 0, ($4 + 164 | 0) + 32 | 0 | 0, (($4 + 316 | 0) + 20 | 0) + 8 | 0 | 0); + operator__28btVector3_20const__2c_20btVector3_20const__29_2($3 + 116 | 0 | 0, $3 + 100 | 0 | 0, $3 + 52 | 0 | 0); + operator__28btVector3_20const__2c_20float_20const__29($3 + 36 | 0 | 0, ($4 + 164 | 0) + 48 | 0 | 0, (($4 + 316 | 0) + 20 | 0) + 12 | 0 | 0); + operator__28btVector3_20const__2c_20btVector3_20const__29_2($3 + 132 | 0 | 0, $3 + 116 | 0 | 0, $3 + 36 | 0 | 0); + $678 = $4 + 260 | 0; + i64toi32_i32$2 = $3; + i64toi32_i32$0 = HEAP32[($3 + 132 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($3 + 136 | 0) >> 2] | 0; + $2036 = i64toi32_i32$0; + i64toi32_i32$0 = $678; + HEAP32[i64toi32_i32$0 >> 2] = $2036; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $680 = 8; + i64toi32_i32$2 = ($3 + 132 | 0) + $680 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $2049 = i64toi32_i32$1; + i64toi32_i32$1 = $678 + $680 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $2049; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + operator__28btVector3_20const__2c_20btVector3_20const__29($3 + 20 | 0 | 0, $4 + 244 | 0 | 0, $4 + 260 | 0 | 0); + $694 = $4 + 276 | 0; + i64toi32_i32$2 = $3; + i64toi32_i32$0 = HEAP32[($3 + 20 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($3 + 24 | 0) >> 2] | 0; + $2069 = i64toi32_i32$0; + i64toi32_i32$0 = $694; + HEAP32[i64toi32_i32$0 >> 2] = $2069; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $696 = 8; + i64toi32_i32$2 = ($3 + 20 | 0) + $696 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $2082 = i64toi32_i32$1; + i64toi32_i32$1 = $694 + $696 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $2082; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + btVoronoiSimplexSolver__reduceVertices_28btUsageBitfield_20const__29($4 | 0, ($4 + 316 | 0) + 16 | 0 | 0); + break label$13; + } + label$15 : { + label$16 : { + if (!((HEAPU8[($4 + 352 | 0) >> 0] | 0) & 1 | 0)) { + break label$16 + } + HEAP8[($4 + 312 | 0) >> 0] = 0; + break label$15; + } + HEAP8[($4 + 312 | 0) >> 0] = 1; + HEAPF32[($3 + 16 | 0) >> 2] = Math_fround(0 | 0); + HEAPF32[($3 + 12 | 0) >> 2] = Math_fround(0 | 0); + HEAPF32[($3 + 8 | 0) >> 2] = Math_fround(0 | 0); + btVector3__setValue_28float_20const__2c_20float_20const__2c_20float_20const__29($4 + 276 | 0 | 0, $3 + 16 | 0 | 0, $3 + 12 | 0 | 0, $3 + 8 | 0 | 0); + } + break label$2; + } + (wasm2js_i32$0 = $4, wasm2js_i32$1 = (btSubSimplexClosestResult__isValid_28_29($4 + 316 | 0 | 0) | 0) & 1 | 0), HEAP8[(wasm2js_i32$0 + 312 | 0) >> 0] = wasm2js_i32$1; + break label$2; + default: + break label$3; + }; + } + HEAP8[($4 + 312 | 0) >> 0] = 0; + } + } + $736 = (HEAPU8[($4 + 312 | 0) >> 0] | 0) & 1 | 0; + __stack_pointer = $3 + 800 | 0; + return $736 | 0; + } + + function btSubSimplexClosestResult__isValid_28_29($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0, $12 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + $12 = 0; + label$1 : { + if (!(Math_fround(HEAPF32[($4 + 20 | 0) >> 2]) >= Math_fround(0 | 0) & 1 | 0)) { + break label$1 + } + $12 = 0; + if (!(Math_fround(HEAPF32[($4 + 24 | 0) >> 2]) >= Math_fround(0 | 0) & 1 | 0)) { + break label$1 + } + $12 = 0; + if (!(Math_fround(HEAPF32[($4 + 28 | 0) >> 2]) >= Math_fround(0 | 0) & 1 | 0)) { + break label$1 + } + $12 = Math_fround(HEAPF32[($4 + 32 | 0) >> 2]) >= Math_fround(0 | 0); + } + HEAP8[($3 + 11 | 0) >> 0] = $12 & 1 | 0; + return (HEAPU8[($3 + 11 | 0) >> 0] | 0) & 1 | 0 | 0; + } + + function btVoronoiSimplexSolver__closestPtPointTriangle_28btVector3_20const__2c_20btVector3_20const__2c_20btVector3_20const__2c_20btVector3_20const__2c_20btSubSimplexClosestResult__29($0, $1, $2, $3, $4, $5) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + $4 = $4 | 0; + $5 = $5 | 0; + var $8 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, $67 = Math_fround(0), $114 = Math_fround(0), $229 = Math_fround(0), $54 = 0, $56 = 0, $60 = 0, $102 = 0, $104 = 0, $108 = 0, $145 = Math_fround(0), $160 = 0, $161 = 0, $168 = 0, $172 = 0, $182 = Math_fround(0), $217 = 0, $219 = 0, $223 = 0, $260 = Math_fround(0), $275 = 0, $276 = 0, $283 = 0, $287 = 0, $297 = Math_fround(0), $333 = Math_fround(0), $339 = 0, $353 = 0, $354 = 0, $361 = 0, $365 = 0, $375 = Math_fround(0), $415 = 0, $416 = 0, $423 = 0, $427 = 0, $431 = 0, $566 = 0, $576 = 0, $668 = 0, $678 = 0, $149 = 0, $808 = 0, $812 = 0, $920 = 0, $930 = 0, $264 = 0, $1060 = 0, $1064 = 0, $1238 = 0, $1242 = 0, $392 = 0, $1378 = 0, $1382 = 0, $450 = 0, wasm2js_i32$0 = 0, wasm2js_f32$0 = Math_fround(0); + $8 = __stack_pointer - 352 | 0; + __stack_pointer = $8; + HEAP32[($8 + 344 | 0) >> 2] = $0; + HEAP32[($8 + 340 | 0) >> 2] = $1; + HEAP32[($8 + 336 | 0) >> 2] = $2; + HEAP32[($8 + 332 | 0) >> 2] = $3; + HEAP32[($8 + 328 | 0) >> 2] = $4; + HEAP32[($8 + 324 | 0) >> 2] = $5; + btUsageBitfield__reset_28_29((HEAP32[($8 + 324 | 0) >> 2] | 0) + 16 | 0 | 0); + operator__28btVector3_20const__2c_20btVector3_20const__29($8 + 308 | 0 | 0, HEAP32[($8 + 332 | 0) >> 2] | 0 | 0, HEAP32[($8 + 336 | 0) >> 2] | 0 | 0); + operator__28btVector3_20const__2c_20btVector3_20const__29($8 + 292 | 0 | 0, HEAP32[($8 + 328 | 0) >> 2] | 0 | 0, HEAP32[($8 + 336 | 0) >> 2] | 0 | 0); + operator__28btVector3_20const__2c_20btVector3_20const__29($8 + 276 | 0 | 0, HEAP32[($8 + 340 | 0) >> 2] | 0 | 0, HEAP32[($8 + 336 | 0) >> 2] | 0 | 0); + (wasm2js_i32$0 = $8, wasm2js_f32$0 = Math_fround(btVector3__dot_28btVector3_20const__29_20const($8 + 308 | 0 | 0, $8 + 276 | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 272 | 0) >> 2] = wasm2js_f32$0; + (wasm2js_i32$0 = $8, wasm2js_f32$0 = Math_fround(btVector3__dot_28btVector3_20const__29_20const($8 + 292 | 0 | 0, $8 + 276 | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 268 | 0) >> 2] = wasm2js_f32$0; + label$1 : { + label$2 : { + if (!(Math_fround(HEAPF32[($8 + 272 | 0) >> 2]) <= Math_fround(0 | 0) & 1 | 0)) { + break label$2 + } + if (!(Math_fround(HEAPF32[($8 + 268 | 0) >> 2]) <= Math_fround(0 | 0) & 1 | 0)) { + break label$2 + } + $54 = HEAP32[($8 + 324 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($8 + 336 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $566 = i64toi32_i32$0; + i64toi32_i32$0 = $54; + HEAP32[i64toi32_i32$0 >> 2] = $566; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $56 = 8; + i64toi32_i32$2 = i64toi32_i32$2 + $56 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $576 = i64toi32_i32$1; + i64toi32_i32$1 = $54 + $56 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $576; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + $60 = HEAP32[($8 + 324 | 0) >> 2] | 0; + HEAP8[($60 + 16 | 0) >> 0] = HEAPU8[($60 + 16 | 0) >> 0] | 0 | 1 | 0; + $67 = Math_fround(0 | 0); + btSubSimplexClosestResult__setBarycentricCoordinates_28float_2c_20float_2c_20float_2c_20float_29(HEAP32[($8 + 324 | 0) >> 2] | 0 | 0, Math_fround(Math_fround(1.0)), Math_fround($67), Math_fround($67), Math_fround($67)); + HEAP8[($8 + 351 | 0) >> 0] = 1 & 1 | 0; + break label$1; + } + operator__28btVector3_20const__2c_20btVector3_20const__29($8 + 252 | 0 | 0, HEAP32[($8 + 340 | 0) >> 2] | 0 | 0, HEAP32[($8 + 332 | 0) >> 2] | 0 | 0); + (wasm2js_i32$0 = $8, wasm2js_f32$0 = Math_fround(btVector3__dot_28btVector3_20const__29_20const($8 + 308 | 0 | 0, $8 + 252 | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 248 | 0) >> 2] = wasm2js_f32$0; + (wasm2js_i32$0 = $8, wasm2js_f32$0 = Math_fround(btVector3__dot_28btVector3_20const__29_20const($8 + 292 | 0 | 0, $8 + 252 | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 244 | 0) >> 2] = wasm2js_f32$0; + label$3 : { + if (!(Math_fround(HEAPF32[($8 + 248 | 0) >> 2]) >= Math_fround(0 | 0) & 1 | 0)) { + break label$3 + } + if (!(Math_fround(HEAPF32[($8 + 244 | 0) >> 2]) <= Math_fround(HEAPF32[($8 + 248 | 0) >> 2]) & 1 | 0)) { + break label$3 + } + $102 = HEAP32[($8 + 324 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($8 + 332 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $668 = i64toi32_i32$0; + i64toi32_i32$0 = $102; + HEAP32[i64toi32_i32$0 >> 2] = $668; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $104 = 8; + i64toi32_i32$2 = i64toi32_i32$2 + $104 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $678 = i64toi32_i32$1; + i64toi32_i32$1 = $102 + $104 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $678; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + $108 = HEAP32[($8 + 324 | 0) >> 2] | 0; + HEAP8[($108 + 16 | 0) >> 0] = HEAPU8[($108 + 16 | 0) >> 0] | 0 | 2 | 0; + $114 = Math_fround(0 | 0); + btSubSimplexClosestResult__setBarycentricCoordinates_28float_2c_20float_2c_20float_2c_20float_29(HEAP32[($8 + 324 | 0) >> 2] | 0 | 0, Math_fround($114), Math_fround(Math_fround(1.0)), Math_fround($114), Math_fround($114)); + HEAP8[($8 + 351 | 0) >> 0] = 1 & 1 | 0; + break label$1; + } + HEAPF32[($8 + 240 | 0) >> 2] = Math_fround(Math_fround(Math_fround(HEAPF32[($8 + 272 | 0) >> 2]) * Math_fround(HEAPF32[($8 + 244 | 0) >> 2])) + Math_fround(-Math_fround(Math_fround(HEAPF32[($8 + 248 | 0) >> 2]) * Math_fround(HEAPF32[($8 + 268 | 0) >> 2])))); + label$4 : { + if (!(Math_fround(HEAPF32[($8 + 240 | 0) >> 2]) <= Math_fround(0 | 0) & 1 | 0)) { + break label$4 + } + if (!(Math_fround(HEAPF32[($8 + 272 | 0) >> 2]) >= Math_fround(0 | 0) & 1 | 0)) { + break label$4 + } + if (!(Math_fround(HEAPF32[($8 + 248 | 0) >> 2]) <= Math_fround(0 | 0) & 1 | 0)) { + break label$4 + } + $145 = Math_fround(HEAPF32[($8 + 272 | 0) >> 2]); + HEAPF32[($8 + 236 | 0) >> 2] = Math_fround($145 / Math_fround($145 - Math_fround(HEAPF32[($8 + 248 | 0) >> 2]))); + $149 = HEAP32[($8 + 336 | 0) >> 2] | 0; + operator__28float_20const__2c_20btVector3_20const__29($8 + 204 | 0 | 0, $8 + 236 | 0 | 0, $8 + 308 | 0 | 0); + operator__28btVector3_20const__2c_20btVector3_20const__29_2($8 + 220 | 0 | 0, $149 | 0, $8 + 204 | 0 | 0); + $160 = HEAP32[($8 + 324 | 0) >> 2] | 0; + $161 = 8; + i64toi32_i32$2 = ($8 + 220 | 0) + $161 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $808 = i64toi32_i32$0; + i64toi32_i32$0 = $160 + $161 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $808; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$2 = $8; + i64toi32_i32$1 = HEAP32[($8 + 220 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($8 + 224 | 0) >> 2] | 0; + $812 = i64toi32_i32$1; + i64toi32_i32$1 = $160; + HEAP32[i64toi32_i32$1 >> 2] = $812; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + $168 = HEAP32[($8 + 324 | 0) >> 2] | 0; + HEAP8[($168 + 16 | 0) >> 0] = HEAPU8[($168 + 16 | 0) >> 0] | 0 | 1 | 0; + $172 = HEAP32[($8 + 324 | 0) >> 2] | 0; + HEAP8[($172 + 16 | 0) >> 0] = HEAPU8[($172 + 16 | 0) >> 0] | 0 | 2 | 0; + $182 = Math_fround(0 | 0); + btSubSimplexClosestResult__setBarycentricCoordinates_28float_2c_20float_2c_20float_2c_20float_29(HEAP32[($8 + 324 | 0) >> 2] | 0 | 0, Math_fround(Math_fround(Math_fround(1.0) - Math_fround(HEAPF32[($8 + 236 | 0) >> 2]))), Math_fround(Math_fround(HEAPF32[($8 + 236 | 0) >> 2])), Math_fround($182), Math_fround($182)); + HEAP8[($8 + 351 | 0) >> 0] = 1 & 1 | 0; + break label$1; + } + operator__28btVector3_20const__2c_20btVector3_20const__29($8 + 188 | 0 | 0, HEAP32[($8 + 340 | 0) >> 2] | 0 | 0, HEAP32[($8 + 328 | 0) >> 2] | 0 | 0); + (wasm2js_i32$0 = $8, wasm2js_f32$0 = Math_fround(btVector3__dot_28btVector3_20const__29_20const($8 + 308 | 0 | 0, $8 + 188 | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 184 | 0) >> 2] = wasm2js_f32$0; + (wasm2js_i32$0 = $8, wasm2js_f32$0 = Math_fround(btVector3__dot_28btVector3_20const__29_20const($8 + 292 | 0 | 0, $8 + 188 | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 180 | 0) >> 2] = wasm2js_f32$0; + label$5 : { + if (!(Math_fround(HEAPF32[($8 + 180 | 0) >> 2]) >= Math_fround(0 | 0) & 1 | 0)) { + break label$5 + } + if (!(Math_fround(HEAPF32[($8 + 184 | 0) >> 2]) <= Math_fround(HEAPF32[($8 + 180 | 0) >> 2]) & 1 | 0)) { + break label$5 + } + $217 = HEAP32[($8 + 324 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($8 + 328 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $920 = i64toi32_i32$0; + i64toi32_i32$0 = $217; + HEAP32[i64toi32_i32$0 >> 2] = $920; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $219 = 8; + i64toi32_i32$2 = i64toi32_i32$2 + $219 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $930 = i64toi32_i32$1; + i64toi32_i32$1 = $217 + $219 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $930; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + $223 = HEAP32[($8 + 324 | 0) >> 2] | 0; + HEAP8[($223 + 16 | 0) >> 0] = HEAPU8[($223 + 16 | 0) >> 0] | 0 | 4 | 0; + $229 = Math_fround(0 | 0); + btSubSimplexClosestResult__setBarycentricCoordinates_28float_2c_20float_2c_20float_2c_20float_29(HEAP32[($8 + 324 | 0) >> 2] | 0 | 0, Math_fround($229), Math_fround($229), Math_fround(Math_fround(1.0)), Math_fround($229)); + HEAP8[($8 + 351 | 0) >> 0] = 1 & 1 | 0; + break label$1; + } + HEAPF32[($8 + 176 | 0) >> 2] = Math_fround(Math_fround(Math_fround(HEAPF32[($8 + 184 | 0) >> 2]) * Math_fround(HEAPF32[($8 + 268 | 0) >> 2])) + Math_fround(-Math_fround(Math_fround(HEAPF32[($8 + 272 | 0) >> 2]) * Math_fround(HEAPF32[($8 + 180 | 0) >> 2])))); + label$6 : { + if (!(Math_fround(HEAPF32[($8 + 176 | 0) >> 2]) <= Math_fround(0 | 0) & 1 | 0)) { + break label$6 + } + if (!(Math_fround(HEAPF32[($8 + 268 | 0) >> 2]) >= Math_fround(0 | 0) & 1 | 0)) { + break label$6 + } + if (!(Math_fround(HEAPF32[($8 + 180 | 0) >> 2]) <= Math_fround(0 | 0) & 1 | 0)) { + break label$6 + } + $260 = Math_fround(HEAPF32[($8 + 268 | 0) >> 2]); + HEAPF32[($8 + 172 | 0) >> 2] = Math_fround($260 / Math_fround($260 - Math_fround(HEAPF32[($8 + 180 | 0) >> 2]))); + $264 = HEAP32[($8 + 336 | 0) >> 2] | 0; + operator__28float_20const__2c_20btVector3_20const__29($8 + 140 | 0 | 0, $8 + 172 | 0 | 0, $8 + 292 | 0 | 0); + operator__28btVector3_20const__2c_20btVector3_20const__29_2($8 + 156 | 0 | 0, $264 | 0, $8 + 140 | 0 | 0); + $275 = HEAP32[($8 + 324 | 0) >> 2] | 0; + $276 = 8; + i64toi32_i32$2 = ($8 + 156 | 0) + $276 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $1060 = i64toi32_i32$0; + i64toi32_i32$0 = $275 + $276 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $1060; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$2 = $8; + i64toi32_i32$1 = HEAP32[($8 + 156 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($8 + 160 | 0) >> 2] | 0; + $1064 = i64toi32_i32$1; + i64toi32_i32$1 = $275; + HEAP32[i64toi32_i32$1 >> 2] = $1064; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + $283 = HEAP32[($8 + 324 | 0) >> 2] | 0; + HEAP8[($283 + 16 | 0) >> 0] = HEAPU8[($283 + 16 | 0) >> 0] | 0 | 1 | 0; + $287 = HEAP32[($8 + 324 | 0) >> 2] | 0; + HEAP8[($287 + 16 | 0) >> 0] = HEAPU8[($287 + 16 | 0) >> 0] | 0 | 4 | 0; + $297 = Math_fround(0 | 0); + btSubSimplexClosestResult__setBarycentricCoordinates_28float_2c_20float_2c_20float_2c_20float_29(HEAP32[($8 + 324 | 0) >> 2] | 0 | 0, Math_fround(Math_fround(Math_fround(1.0) - Math_fround(HEAPF32[($8 + 172 | 0) >> 2]))), Math_fround($297), Math_fround(Math_fround(HEAPF32[($8 + 172 | 0) >> 2])), Math_fround($297)); + HEAP8[($8 + 351 | 0) >> 0] = 1 & 1 | 0; + break label$1; + } + HEAPF32[($8 + 136 | 0) >> 2] = Math_fround(Math_fround(Math_fround(HEAPF32[($8 + 248 | 0) >> 2]) * Math_fround(HEAPF32[($8 + 180 | 0) >> 2])) + Math_fround(-Math_fround(Math_fround(HEAPF32[($8 + 184 | 0) >> 2]) * Math_fround(HEAPF32[($8 + 244 | 0) >> 2])))); + label$7 : { + if (!(Math_fround(HEAPF32[($8 + 136 | 0) >> 2]) <= Math_fround(0 | 0) & 1 | 0)) { + break label$7 + } + if (!(Math_fround(Math_fround(HEAPF32[($8 + 244 | 0) >> 2]) - Math_fround(HEAPF32[($8 + 248 | 0) >> 2])) >= Math_fround(0 | 0) & 1 | 0)) { + break label$7 + } + if (!(Math_fround(Math_fround(HEAPF32[($8 + 184 | 0) >> 2]) - Math_fround(HEAPF32[($8 + 180 | 0) >> 2])) >= Math_fround(0 | 0) & 1 | 0)) { + break label$7 + } + $333 = Math_fround(Math_fround(HEAPF32[($8 + 244 | 0) >> 2]) - Math_fround(HEAPF32[($8 + 248 | 0) >> 2])); + HEAPF32[($8 + 132 | 0) >> 2] = Math_fround($333 / Math_fround($333 + Math_fround(Math_fround(HEAPF32[($8 + 184 | 0) >> 2]) - Math_fround(HEAPF32[($8 + 180 | 0) >> 2])))); + $339 = HEAP32[($8 + 332 | 0) >> 2] | 0; + operator__28btVector3_20const__2c_20btVector3_20const__29($8 + 84 | 0 | 0, HEAP32[($8 + 328 | 0) >> 2] | 0 | 0, $339 | 0); + operator__28float_20const__2c_20btVector3_20const__29($8 + 100 | 0 | 0, $8 + 132 | 0 | 0, $8 + 84 | 0 | 0); + operator__28btVector3_20const__2c_20btVector3_20const__29_2($8 + 116 | 0 | 0, $339 | 0, $8 + 100 | 0 | 0); + $353 = HEAP32[($8 + 324 | 0) >> 2] | 0; + $354 = 8; + i64toi32_i32$2 = ($8 + 116 | 0) + $354 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $1238 = i64toi32_i32$0; + i64toi32_i32$0 = $353 + $354 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $1238; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$2 = $8; + i64toi32_i32$1 = HEAP32[($8 + 116 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($8 + 120 | 0) >> 2] | 0; + $1242 = i64toi32_i32$1; + i64toi32_i32$1 = $353; + HEAP32[i64toi32_i32$1 >> 2] = $1242; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + $361 = HEAP32[($8 + 324 | 0) >> 2] | 0; + HEAP8[($361 + 16 | 0) >> 0] = HEAPU8[($361 + 16 | 0) >> 0] | 0 | 2 | 0; + $365 = HEAP32[($8 + 324 | 0) >> 2] | 0; + HEAP8[($365 + 16 | 0) >> 0] = HEAPU8[($365 + 16 | 0) >> 0] | 0 | 4 | 0; + $375 = Math_fround(0 | 0); + btSubSimplexClosestResult__setBarycentricCoordinates_28float_2c_20float_2c_20float_2c_20float_29(HEAP32[($8 + 324 | 0) >> 2] | 0 | 0, Math_fround($375), Math_fround(Math_fround(Math_fround(1.0) - Math_fround(HEAPF32[($8 + 132 | 0) >> 2]))), Math_fround(Math_fround(HEAPF32[($8 + 132 | 0) >> 2])), Math_fround($375)); + HEAP8[($8 + 351 | 0) >> 0] = 1 & 1 | 0; + break label$1; + } + HEAPF32[($8 + 80 | 0) >> 2] = Math_fround(Math_fround(1.0) / Math_fround(Math_fround(Math_fround(HEAPF32[($8 + 136 | 0) >> 2]) + Math_fround(HEAPF32[($8 + 176 | 0) >> 2])) + Math_fround(HEAPF32[($8 + 240 | 0) >> 2]))); + HEAPF32[($8 + 76 | 0) >> 2] = Math_fround(Math_fround(HEAPF32[($8 + 176 | 0) >> 2]) * Math_fround(HEAPF32[($8 + 80 | 0) >> 2])); + HEAPF32[($8 + 72 | 0) >> 2] = Math_fround(Math_fround(HEAPF32[($8 + 240 | 0) >> 2]) * Math_fround(HEAPF32[($8 + 80 | 0) >> 2])); + $392 = HEAP32[($8 + 336 | 0) >> 2] | 0; + operator__28btVector3_20const__2c_20float_20const__29($8 + 24 | 0 | 0, $8 + 308 | 0 | 0, $8 + 76 | 0 | 0); + operator__28btVector3_20const__2c_20btVector3_20const__29_2($8 + 40 | 0 | 0, $392 | 0, $8 + 24 | 0 | 0); + operator__28btVector3_20const__2c_20float_20const__29($8 + 8 | 0 | 0, $8 + 292 | 0 | 0, $8 + 72 | 0 | 0); + operator__28btVector3_20const__2c_20btVector3_20const__29_2($8 + 56 | 0 | 0, $8 + 40 | 0 | 0, $8 + 8 | 0 | 0); + $415 = HEAP32[($8 + 324 | 0) >> 2] | 0; + $416 = 8; + i64toi32_i32$2 = ($8 + 56 | 0) + $416 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $1378 = i64toi32_i32$0; + i64toi32_i32$0 = $415 + $416 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $1378; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$2 = $8; + i64toi32_i32$1 = HEAP32[($8 + 56 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($8 + 60 | 0) >> 2] | 0; + $1382 = i64toi32_i32$1; + i64toi32_i32$1 = $415; + HEAP32[i64toi32_i32$1 >> 2] = $1382; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + $423 = HEAP32[($8 + 324 | 0) >> 2] | 0; + HEAP8[($423 + 16 | 0) >> 0] = HEAPU8[($423 + 16 | 0) >> 0] | 0 | 1 | 0; + $427 = HEAP32[($8 + 324 | 0) >> 2] | 0; + HEAP8[($427 + 16 | 0) >> 0] = HEAPU8[($427 + 16 | 0) >> 0] | 0 | 2 | 0; + $431 = HEAP32[($8 + 324 | 0) >> 2] | 0; + HEAP8[($431 + 16 | 0) >> 0] = HEAPU8[($431 + 16 | 0) >> 0] | 0 | 4 | 0; + btSubSimplexClosestResult__setBarycentricCoordinates_28float_2c_20float_2c_20float_2c_20float_29(HEAP32[($8 + 324 | 0) >> 2] | 0 | 0, Math_fround(Math_fround(Math_fround(Math_fround(1.0) - Math_fround(HEAPF32[($8 + 76 | 0) >> 2])) - Math_fround(HEAPF32[($8 + 72 | 0) >> 2]))), Math_fround(Math_fround(HEAPF32[($8 + 76 | 0) >> 2])), Math_fround(Math_fround(HEAPF32[($8 + 72 | 0) >> 2])), Math_fround(Math_fround(0 | 0))); + HEAP8[($8 + 351 | 0) >> 0] = 1 & 1 | 0; + } + $450 = (HEAPU8[($8 + 351 | 0) >> 0] | 0) & 1 | 0; + __stack_pointer = $8 + 352 | 0; + return $450 | 0; + } + + function btVoronoiSimplexSolver__closestPtPointTetrahedron_28btVector3_20const__2c_20btVector3_20const__2c_20btVector3_20const__2c_20btVector3_20const__2c_20btVector3_20const__2c_20btSubSimplexClosestResult__29($0, $1, $2, $3, $4, $5, $6) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + $4 = $4 | 0; + $5 = $5 | 0; + $6 = $6 | 0; + var $9 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, $10 = 0, $16 = 0, $235 = 0, $246 = 0, $322 = 0, $409 = 0, $14 = 0, $23 = 0, $27 = 0, $31 = 0, $35 = 0, $113 = 0, $114 = 0, $148 = 0, $149 = 0, $162 = 0, $168 = 0, $176 = 0, $199 = 0, $200 = 0, $234 = 0, $248 = 0, $254 = 0, $263 = 0, $286 = 0, $287 = 0, $321 = 0, $333 = 0, $335 = 0, $341 = 0, $344 = 0, $350 = 0, $373 = 0, $374 = 0, $408 = 0, $420 = 0, $422 = 0, $429 = 0, $437 = 0, $467 = 0, $556 = 0, $566 = 0, $797 = 0, $801 = 0, $871 = 0, $875 = 0, $987 = 0, $991 = 0, $1061 = 0, $1065 = 0, $1183 = 0, $1187 = 0, $1257 = 0, $1261 = 0, $1379 = 0, $1383 = 0, $1453 = 0, $1457 = 0, $520 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0, wasm2js_f32$0 = Math_fround(0); + $9 = __stack_pointer - 320 | 0; + __stack_pointer = $9; + HEAP32[($9 + 312 | 0) >> 2] = $0; + HEAP32[($9 + 308 | 0) >> 2] = $1; + HEAP32[($9 + 304 | 0) >> 2] = $2; + HEAP32[($9 + 300 | 0) >> 2] = $3; + HEAP32[($9 + 296 | 0) >> 2] = $4; + HEAP32[($9 + 292 | 0) >> 2] = $5; + HEAP32[($9 + 288 | 0) >> 2] = $6; + $10 = HEAP32[($9 + 312 | 0) >> 2] | 0; + btSubSimplexClosestResult__btSubSimplexClosestResult_28_29($9 + 248 | 0 | 0) | 0; + $14 = HEAP32[($9 + 288 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($9 + 308 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $556 = i64toi32_i32$0; + i64toi32_i32$0 = $14; + HEAP32[i64toi32_i32$0 >> 2] = $556; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $16 = 8; + i64toi32_i32$2 = i64toi32_i32$2 + $16 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $566 = i64toi32_i32$1; + i64toi32_i32$1 = $14 + $16 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $566; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + btUsageBitfield__reset_28_29((HEAP32[($9 + 288 | 0) >> 2] | 0) + 16 | 0 | 0); + $23 = HEAP32[($9 + 288 | 0) >> 2] | 0; + HEAP8[($23 + 16 | 0) >> 0] = HEAPU8[($23 + 16 | 0) >> 0] | 0 | 1 | 0; + $27 = HEAP32[($9 + 288 | 0) >> 2] | 0; + HEAP8[($27 + 16 | 0) >> 0] = HEAPU8[($27 + 16 | 0) >> 0] | 0 | 2 | 0; + $31 = HEAP32[($9 + 288 | 0) >> 2] | 0; + HEAP8[($31 + 16 | 0) >> 0] = HEAPU8[($31 + 16 | 0) >> 0] | 0 | 4 | 0; + $35 = HEAP32[($9 + 288 | 0) >> 2] | 0; + HEAP8[($35 + 16 | 0) >> 0] = HEAPU8[($35 + 16 | 0) >> 0] | 0 | $16 | 0; + (wasm2js_i32$0 = $9, wasm2js_i32$1 = btVoronoiSimplexSolver__pointOutsideOfPlane_28btVector3_20const__2c_20btVector3_20const__2c_20btVector3_20const__2c_20btVector3_20const__2c_20btVector3_20const__29($10 | 0, HEAP32[($9 + 308 | 0) >> 2] | 0 | 0, HEAP32[($9 + 304 | 0) >> 2] | 0 | 0, HEAP32[($9 + 300 | 0) >> 2] | 0 | 0, HEAP32[($9 + 296 | 0) >> 2] | 0 | 0, HEAP32[($9 + 292 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 244 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $9, wasm2js_i32$1 = btVoronoiSimplexSolver__pointOutsideOfPlane_28btVector3_20const__2c_20btVector3_20const__2c_20btVector3_20const__2c_20btVector3_20const__2c_20btVector3_20const__29($10 | 0, HEAP32[($9 + 308 | 0) >> 2] | 0 | 0, HEAP32[($9 + 304 | 0) >> 2] | 0 | 0, HEAP32[($9 + 296 | 0) >> 2] | 0 | 0, HEAP32[($9 + 292 | 0) >> 2] | 0 | 0, HEAP32[($9 + 300 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 240 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $9, wasm2js_i32$1 = btVoronoiSimplexSolver__pointOutsideOfPlane_28btVector3_20const__2c_20btVector3_20const__2c_20btVector3_20const__2c_20btVector3_20const__2c_20btVector3_20const__29($10 | 0, HEAP32[($9 + 308 | 0) >> 2] | 0 | 0, HEAP32[($9 + 304 | 0) >> 2] | 0 | 0, HEAP32[($9 + 292 | 0) >> 2] | 0 | 0, HEAP32[($9 + 300 | 0) >> 2] | 0 | 0, HEAP32[($9 + 296 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 236 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $9, wasm2js_i32$1 = btVoronoiSimplexSolver__pointOutsideOfPlane_28btVector3_20const__2c_20btVector3_20const__2c_20btVector3_20const__2c_20btVector3_20const__2c_20btVector3_20const__29($10 | 0, HEAP32[($9 + 308 | 0) >> 2] | 0 | 0, HEAP32[($9 + 300 | 0) >> 2] | 0 | 0, HEAP32[($9 + 292 | 0) >> 2] | 0 | 0, HEAP32[($9 + 296 | 0) >> 2] | 0 | 0, HEAP32[($9 + 304 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 232 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + label$2 : { + label$3 : { + if ((HEAP32[($9 + 244 | 0) >> 2] | 0 | 0) < (0 | 0) & 1 | 0) { + break label$3 + } + if ((HEAP32[($9 + 240 | 0) >> 2] | 0 | 0) < (0 | 0) & 1 | 0) { + break label$3 + } + if ((HEAP32[($9 + 236 | 0) >> 2] | 0 | 0) < (0 | 0) & 1 | 0) { + break label$3 + } + if (!((HEAP32[($9 + 232 | 0) >> 2] | 0 | 0) < (0 | 0) & 1 | 0)) { + break label$2 + } + } + HEAP8[((HEAP32[($9 + 288 | 0) >> 2] | 0) + 36 | 0) >> 0] = 1; + HEAP8[($9 + 319 | 0) >> 0] = 0 & 1 | 0; + break label$1; + } + label$4 : { + if (HEAP32[($9 + 244 | 0) >> 2] | 0) { + break label$4 + } + if (HEAP32[($9 + 240 | 0) >> 2] | 0) { + break label$4 + } + if (HEAP32[($9 + 236 | 0) >> 2] | 0) { + break label$4 + } + if (HEAP32[($9 + 232 | 0) >> 2] | 0) { + break label$4 + } + HEAP8[($9 + 319 | 0) >> 0] = 0 & 1 | 0; + break label$1; + } + HEAPF32[($9 + 228 | 0) >> 2] = Math_fround(3402823466385288598117041.0e14); + label$5 : { + if (!(HEAP32[($9 + 244 | 0) >> 2] | 0)) { + break label$5 + } + btVoronoiSimplexSolver__closestPtPointTriangle_28btVector3_20const__2c_20btVector3_20const__2c_20btVector3_20const__2c_20btVector3_20const__2c_20btSubSimplexClosestResult__29($10 | 0, HEAP32[($9 + 308 | 0) >> 2] | 0 | 0, HEAP32[($9 + 304 | 0) >> 2] | 0 | 0, HEAP32[($9 + 300 | 0) >> 2] | 0 | 0, HEAP32[($9 + 296 | 0) >> 2] | 0 | 0, $9 + 248 | 0 | 0) | 0; + $113 = $9 + 248 | 0; + $114 = 8; + i64toi32_i32$2 = $113 + $114 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $797 = i64toi32_i32$0; + i64toi32_i32$0 = ($9 + 208 | 0) + $114 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $797; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$2 = $113; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $801 = i64toi32_i32$1; + i64toi32_i32$1 = $9; + HEAP32[($9 + 208 | 0) >> 2] = $801; + HEAP32[($9 + 212 | 0) >> 2] = i64toi32_i32$0; + operator__28btVector3_20const__2c_20btVector3_20const__29($9 + 188 | 0 | 0, $9 + 208 | 0 | 0, HEAP32[($9 + 308 | 0) >> 2] | 0 | 0); + operator__28btVector3_20const__2c_20btVector3_20const__29($9 + 172 | 0 | 0, $9 + 208 | 0 | 0, HEAP32[($9 + 308 | 0) >> 2] | 0 | 0); + (wasm2js_i32$0 = $9, wasm2js_f32$0 = Math_fround(btVector3__dot_28btVector3_20const__29_20const($9 + 188 | 0 | 0, $9 + 172 | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 204 | 0) >> 2] = wasm2js_f32$0; + label$6 : { + if (!(Math_fround(HEAPF32[($9 + 204 | 0) >> 2]) < Math_fround(HEAPF32[($9 + 228 | 0) >> 2]) & 1 | 0)) { + break label$6 + } + HEAPF32[($9 + 228 | 0) >> 2] = Math_fround(HEAPF32[($9 + 204 | 0) >> 2]); + $148 = HEAP32[($9 + 288 | 0) >> 2] | 0; + $149 = 8; + i64toi32_i32$2 = ($9 + 208 | 0) + $149 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $871 = i64toi32_i32$0; + i64toi32_i32$0 = $148 + $149 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $871; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$2 = $9; + i64toi32_i32$1 = HEAP32[($9 + 208 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($9 + 212 | 0) >> 2] | 0; + $875 = i64toi32_i32$1; + i64toi32_i32$1 = $148; + HEAP32[i64toi32_i32$1 >> 2] = $875; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + btUsageBitfield__reset_28_29((HEAP32[($9 + 288 | 0) >> 2] | 0) + 16 | 0 | 0); + $162 = HEAP32[($9 + 288 | 0) >> 2] | 0; + HEAP8[($162 + 16 | 0) >> 0] = (HEAPU8[($162 + 16 | 0) >> 0] | 0) & 254 | 0 | ((HEAPU8[($9 + 264 | 0) >> 0] | 0) & 1 | 0) | 0; + $168 = HEAP32[($9 + 288 | 0) >> 2] | 0; + HEAP8[($168 + 16 | 0) >> 0] = (HEAPU8[($168 + 16 | 0) >> 0] | 0) & 253 | 0 | ((HEAPU8[($9 + 264 | 0) >> 0] | 0) & 2 | 0) | 0; + $176 = HEAP32[($9 + 288 | 0) >> 2] | 0; + HEAP8[($176 + 16 | 0) >> 0] = (HEAPU8[($176 + 16 | 0) >> 0] | 0) & -5 | 0 | ((HEAPU8[($9 + 264 | 0) >> 0] | 0) & 4 | 0) | 0; + btSubSimplexClosestResult__setBarycentricCoordinates_28float_2c_20float_2c_20float_2c_20float_29(HEAP32[($9 + 288 | 0) >> 2] | 0 | 0, Math_fround(Math_fround(HEAPF32[($9 + 268 | 0) >> 2])), Math_fround(Math_fround(HEAPF32[($9 + 272 | 0) >> 2])), Math_fround(Math_fround(HEAPF32[($9 + 276 | 0) >> 2])), Math_fround(Math_fround(0 | 0))); + } + } + label$7 : { + if (!(HEAP32[($9 + 240 | 0) >> 2] | 0)) { + break label$7 + } + btVoronoiSimplexSolver__closestPtPointTriangle_28btVector3_20const__2c_20btVector3_20const__2c_20btVector3_20const__2c_20btVector3_20const__2c_20btSubSimplexClosestResult__29($10 | 0, HEAP32[($9 + 308 | 0) >> 2] | 0 | 0, HEAP32[($9 + 304 | 0) >> 2] | 0 | 0, HEAP32[($9 + 296 | 0) >> 2] | 0 | 0, HEAP32[($9 + 292 | 0) >> 2] | 0 | 0, $9 + 248 | 0 | 0) | 0; + $199 = $9 + 248 | 0; + $200 = 8; + i64toi32_i32$2 = $199 + $200 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $987 = i64toi32_i32$0; + i64toi32_i32$0 = ($9 + 152 | 0) + $200 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $987; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$2 = $199; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $991 = i64toi32_i32$1; + i64toi32_i32$1 = $9; + HEAP32[($9 + 152 | 0) >> 2] = $991; + HEAP32[($9 + 156 | 0) >> 2] = i64toi32_i32$0; + operator__28btVector3_20const__2c_20btVector3_20const__29($9 + 132 | 0 | 0, $9 + 152 | 0 | 0, HEAP32[($9 + 308 | 0) >> 2] | 0 | 0); + operator__28btVector3_20const__2c_20btVector3_20const__29($9 + 116 | 0 | 0, $9 + 152 | 0 | 0, HEAP32[($9 + 308 | 0) >> 2] | 0 | 0); + (wasm2js_i32$0 = $9, wasm2js_f32$0 = Math_fround(btVector3__dot_28btVector3_20const__29_20const($9 + 132 | 0 | 0, $9 + 116 | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 148 | 0) >> 2] = wasm2js_f32$0; + label$8 : { + if (!(Math_fround(HEAPF32[($9 + 148 | 0) >> 2]) < Math_fround(HEAPF32[($9 + 228 | 0) >> 2]) & 1 | 0)) { + break label$8 + } + HEAPF32[($9 + 228 | 0) >> 2] = Math_fround(HEAPF32[($9 + 148 | 0) >> 2]); + $234 = HEAP32[($9 + 288 | 0) >> 2] | 0; + $235 = 8; + i64toi32_i32$2 = ($9 + 152 | 0) + $235 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $1061 = i64toi32_i32$0; + i64toi32_i32$0 = $234 + $235 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $1061; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$2 = $9; + i64toi32_i32$1 = HEAP32[($9 + 152 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($9 + 156 | 0) >> 2] | 0; + $1065 = i64toi32_i32$1; + i64toi32_i32$1 = $234; + HEAP32[i64toi32_i32$1 >> 2] = $1065; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + btUsageBitfield__reset_28_29((HEAP32[($9 + 288 | 0) >> 2] | 0) + 16 | 0 | 0); + $246 = 1; + $248 = HEAP32[($9 + 288 | 0) >> 2] | 0; + HEAP8[($248 + 16 | 0) >> 0] = (HEAPU8[($248 + 16 | 0) >> 0] | 0) & 254 | 0 | ((HEAPU8[($9 + 264 | 0) >> 0] | 0) & $246 | 0) | 0; + $254 = HEAP32[($9 + 288 | 0) >> 2] | 0; + HEAP8[($254 + 16 | 0) >> 0] = (HEAPU8[($254 + 16 | 0) >> 0] | 0) & 251 | 0 | (((HEAPU8[($9 + 264 | 0) >> 0] | 0) << $246 | 0) & 4 | 0) | 0; + $263 = HEAP32[($9 + 288 | 0) >> 2] | 0; + HEAP8[($263 + 16 | 0) >> 0] = (HEAPU8[($263 + 16 | 0) >> 0] | 0) & -9 | 0 | (((HEAPU8[($9 + 264 | 0) >> 0] | 0) << $246 | 0) & $235 | 0) | 0; + btSubSimplexClosestResult__setBarycentricCoordinates_28float_2c_20float_2c_20float_2c_20float_29(HEAP32[($9 + 288 | 0) >> 2] | 0 | 0, Math_fround(Math_fround(HEAPF32[($9 + 268 | 0) >> 2])), Math_fround(Math_fround(0 | 0)), Math_fround(Math_fround(HEAPF32[($9 + 272 | 0) >> 2])), Math_fround(Math_fround(HEAPF32[($9 + 276 | 0) >> 2]))); + } + } + label$9 : { + if (!(HEAP32[($9 + 236 | 0) >> 2] | 0)) { + break label$9 + } + btVoronoiSimplexSolver__closestPtPointTriangle_28btVector3_20const__2c_20btVector3_20const__2c_20btVector3_20const__2c_20btVector3_20const__2c_20btSubSimplexClosestResult__29($10 | 0, HEAP32[($9 + 308 | 0) >> 2] | 0 | 0, HEAP32[($9 + 304 | 0) >> 2] | 0 | 0, HEAP32[($9 + 292 | 0) >> 2] | 0 | 0, HEAP32[($9 + 300 | 0) >> 2] | 0 | 0, $9 + 248 | 0 | 0) | 0; + $286 = $9 + 248 | 0; + $287 = 8; + i64toi32_i32$2 = $286 + $287 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $1183 = i64toi32_i32$0; + i64toi32_i32$0 = ($9 + 96 | 0) + $287 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $1183; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$2 = $286; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $1187 = i64toi32_i32$1; + i64toi32_i32$1 = $9; + HEAP32[($9 + 96 | 0) >> 2] = $1187; + HEAP32[($9 + 100 | 0) >> 2] = i64toi32_i32$0; + operator__28btVector3_20const__2c_20btVector3_20const__29($9 + 76 | 0 | 0, $9 + 96 | 0 | 0, HEAP32[($9 + 308 | 0) >> 2] | 0 | 0); + operator__28btVector3_20const__2c_20btVector3_20const__29($9 + 60 | 0 | 0, $9 + 96 | 0 | 0, HEAP32[($9 + 308 | 0) >> 2] | 0 | 0); + (wasm2js_i32$0 = $9, wasm2js_f32$0 = Math_fround(btVector3__dot_28btVector3_20const__29_20const($9 + 76 | 0 | 0, $9 + 60 | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 92 | 0) >> 2] = wasm2js_f32$0; + label$10 : { + if (!(Math_fround(HEAPF32[($9 + 92 | 0) >> 2]) < Math_fround(HEAPF32[($9 + 228 | 0) >> 2]) & 1 | 0)) { + break label$10 + } + HEAPF32[($9 + 228 | 0) >> 2] = Math_fround(HEAPF32[($9 + 92 | 0) >> 2]); + $321 = HEAP32[($9 + 288 | 0) >> 2] | 0; + $322 = 8; + i64toi32_i32$2 = ($9 + 96 | 0) + $322 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $1257 = i64toi32_i32$0; + i64toi32_i32$0 = $321 + $322 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $1257; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$2 = $9; + i64toi32_i32$1 = HEAP32[($9 + 96 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($9 + 100 | 0) >> 2] | 0; + $1261 = i64toi32_i32$1; + i64toi32_i32$1 = $321; + HEAP32[i64toi32_i32$1 >> 2] = $1261; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + btUsageBitfield__reset_28_29((HEAP32[($9 + 288 | 0) >> 2] | 0) + 16 | 0 | 0); + $333 = 1; + $335 = HEAP32[($9 + 288 | 0) >> 2] | 0; + HEAP8[($335 + 16 | 0) >> 0] = (HEAPU8[($335 + 16 | 0) >> 0] | 0) & 254 | 0 | ((HEAPU8[($9 + 264 | 0) >> 0] | 0) & $333 | 0) | 0; + $341 = HEAP32[($9 + 288 | 0) >> 2] | 0; + $344 = 2; + HEAP8[($341 + 16 | 0) >> 0] = (HEAPU8[($341 + 16 | 0) >> 0] | 0) & 253 | 0 | (((HEAPU8[($9 + 264 | 0) >> 0] | 0) >>> $333 | 0) & $344 | 0) | 0; + $350 = HEAP32[($9 + 288 | 0) >> 2] | 0; + HEAP8[($350 + 16 | 0) >> 0] = (HEAPU8[($350 + 16 | 0) >> 0] | 0) & -9 | 0 | (((HEAPU8[($9 + 264 | 0) >> 0] | 0) << $344 | 0) & $322 | 0) | 0; + btSubSimplexClosestResult__setBarycentricCoordinates_28float_2c_20float_2c_20float_2c_20float_29(HEAP32[($9 + 288 | 0) >> 2] | 0 | 0, Math_fround(Math_fround(HEAPF32[($9 + 268 | 0) >> 2])), Math_fround(Math_fround(HEAPF32[($9 + 276 | 0) >> 2])), Math_fround(Math_fround(0 | 0)), Math_fround(Math_fround(HEAPF32[($9 + 272 | 0) >> 2]))); + } + } + label$11 : { + if (!(HEAP32[($9 + 232 | 0) >> 2] | 0)) { + break label$11 + } + btVoronoiSimplexSolver__closestPtPointTriangle_28btVector3_20const__2c_20btVector3_20const__2c_20btVector3_20const__2c_20btVector3_20const__2c_20btSubSimplexClosestResult__29($10 | 0, HEAP32[($9 + 308 | 0) >> 2] | 0 | 0, HEAP32[($9 + 300 | 0) >> 2] | 0 | 0, HEAP32[($9 + 292 | 0) >> 2] | 0 | 0, HEAP32[($9 + 296 | 0) >> 2] | 0 | 0, $9 + 248 | 0 | 0) | 0; + $373 = $9 + 248 | 0; + $374 = 8; + i64toi32_i32$2 = $373 + $374 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $1379 = i64toi32_i32$0; + i64toi32_i32$0 = ($9 + 40 | 0) + $374 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $1379; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$2 = $373; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $1383 = i64toi32_i32$1; + i64toi32_i32$1 = $9; + HEAP32[($9 + 40 | 0) >> 2] = $1383; + HEAP32[($9 + 44 | 0) >> 2] = i64toi32_i32$0; + operator__28btVector3_20const__2c_20btVector3_20const__29($9 + 20 | 0 | 0, $9 + 40 | 0 | 0, HEAP32[($9 + 308 | 0) >> 2] | 0 | 0); + operator__28btVector3_20const__2c_20btVector3_20const__29($9 + 4 | 0 | 0, $9 + 40 | 0 | 0, HEAP32[($9 + 308 | 0) >> 2] | 0 | 0); + (wasm2js_i32$0 = $9, wasm2js_f32$0 = Math_fround(btVector3__dot_28btVector3_20const__29_20const($9 + 20 | 0 | 0, $9 + 4 | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 36 | 0) >> 2] = wasm2js_f32$0; + label$12 : { + if (!(Math_fround(HEAPF32[($9 + 36 | 0) >> 2]) < Math_fround(HEAPF32[($9 + 228 | 0) >> 2]) & 1 | 0)) { + break label$12 + } + HEAPF32[($9 + 228 | 0) >> 2] = Math_fround(HEAPF32[($9 + 36 | 0) >> 2]); + $408 = HEAP32[($9 + 288 | 0) >> 2] | 0; + $409 = 8; + i64toi32_i32$2 = ($9 + 40 | 0) + $409 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $1453 = i64toi32_i32$0; + i64toi32_i32$0 = $408 + $409 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $1453; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$2 = $9; + i64toi32_i32$1 = HEAP32[($9 + 40 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($9 + 44 | 0) >> 2] | 0; + $1457 = i64toi32_i32$1; + i64toi32_i32$1 = $408; + HEAP32[i64toi32_i32$1 >> 2] = $1457; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + btUsageBitfield__reset_28_29((HEAP32[($9 + 288 | 0) >> 2] | 0) + 16 | 0 | 0); + $420 = 1; + $422 = HEAP32[($9 + 288 | 0) >> 2] | 0; + HEAP8[($422 + 16 | 0) >> 0] = (HEAPU8[($422 + 16 | 0) >> 0] | 0) & 253 | 0 | (((HEAPU8[($9 + 264 | 0) >> 0] | 0) & $420 | 0) << $420 | 0) | 0; + $429 = HEAP32[($9 + 288 | 0) >> 2] | 0; + HEAP8[($429 + 16 | 0) >> 0] = (HEAPU8[($429 + 16 | 0) >> 0] | 0) & 251 | 0 | ((HEAPU8[($9 + 264 | 0) >> 0] | 0) & 4 | 0) | 0; + $437 = HEAP32[($9 + 288 | 0) >> 2] | 0; + HEAP8[($437 + 16 | 0) >> 0] = (HEAPU8[($437 + 16 | 0) >> 0] | 0) & -9 | 0 | (((HEAPU8[($9 + 264 | 0) >> 0] | 0) << 2 | 0) & $409 | 0) | 0; + btSubSimplexClosestResult__setBarycentricCoordinates_28float_2c_20float_2c_20float_2c_20float_29(HEAP32[($9 + 288 | 0) >> 2] | 0 | 0, Math_fround(Math_fround(0 | 0)), Math_fround(Math_fround(HEAPF32[($9 + 268 | 0) >> 2])), Math_fround(Math_fround(HEAPF32[($9 + 276 | 0) >> 2])), Math_fround(Math_fround(HEAPF32[($9 + 272 | 0) >> 2]))); + } + } + label$13 : { + if (!(((((HEAPU8[((HEAP32[($9 + 288 | 0) >> 2] | 0) + 16 | 0) >> 0] | 0) & 1 | 0) & 255 | 0) & 65535 | 0 | 0) != (0 & 65535 | 0 | 0) & 1 | 0)) { + break label$13 + } + $467 = 1; + if (!((((((HEAPU8[((HEAP32[($9 + 288 | 0) >> 2] | 0) + 16 | 0) >> 0] | 0) >>> $467 | 0) & $467 | 0) & 255 | 0) & 65535 | 0 | 0) != (0 & 65535 | 0 | 0) & 1 | 0)) { + break label$13 + } + if (!((((((HEAPU8[((HEAP32[($9 + 288 | 0) >> 2] | 0) + 16 | 0) >> 0] | 0) >>> 2 | 0) & 1 | 0) & 255 | 0) & 65535 | 0 | 0) != (0 & 65535 | 0 | 0) & 1 | 0)) { + break label$13 + } + if (!((((((HEAPU8[((HEAP32[($9 + 288 | 0) >> 2] | 0) + 16 | 0) >> 0] | 0) >>> 3 | 0) & 1 | 0) & 255 | 0) & 65535 | 0 | 0) != (0 & 65535 | 0 | 0) & 1 | 0)) { + break label$13 + } + HEAP8[($9 + 319 | 0) >> 0] = 1 & 1 | 0; + break label$1; + } + HEAP8[($9 + 319 | 0) >> 0] = 1 & 1 | 0; + } + $520 = (HEAPU8[($9 + 319 | 0) >> 0] | 0) & 1 | 0; + __stack_pointer = $9 + 320 | 0; + return $520 | 0; + } + + function btVoronoiSimplexSolver__pointOutsideOfPlane_28btVector3_20const__2c_20btVector3_20const__2c_20btVector3_20const__2c_20btVector3_20const__2c_20btVector3_20const__29($0, $1, $2, $3, $4, $5) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + $4 = $4 | 0; + $5 = $5 | 0; + var $8 = 0, $68 = 0, wasm2js_i32$0 = 0, wasm2js_f32$0 = Math_fround(0); + $8 = __stack_pointer - 128 | 0; + __stack_pointer = $8; + HEAP32[($8 + 120 | 0) >> 2] = $0; + HEAP32[($8 + 116 | 0) >> 2] = $1; + HEAP32[($8 + 112 | 0) >> 2] = $2; + HEAP32[($8 + 108 | 0) >> 2] = $3; + HEAP32[($8 + 104 | 0) >> 2] = $4; + HEAP32[($8 + 100 | 0) >> 2] = $5; + operator__28btVector3_20const__2c_20btVector3_20const__29($8 + 68 | 0 | 0, HEAP32[($8 + 108 | 0) >> 2] | 0 | 0, HEAP32[($8 + 112 | 0) >> 2] | 0 | 0); + operator__28btVector3_20const__2c_20btVector3_20const__29($8 + 52 | 0 | 0, HEAP32[($8 + 104 | 0) >> 2] | 0 | 0, HEAP32[($8 + 112 | 0) >> 2] | 0 | 0); + btVector3__cross_28btVector3_20const__29_20const($8 + 84 | 0 | 0, $8 + 68 | 0 | 0, $8 + 52 | 0 | 0); + operator__28btVector3_20const__2c_20btVector3_20const__29($8 + 32 | 0 | 0, HEAP32[($8 + 116 | 0) >> 2] | 0 | 0, HEAP32[($8 + 112 | 0) >> 2] | 0 | 0); + (wasm2js_i32$0 = $8, wasm2js_f32$0 = Math_fround(btVector3__dot_28btVector3_20const__29_20const($8 + 32 | 0 | 0, $8 + 84 | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 48 | 0) >> 2] = wasm2js_f32$0; + operator__28btVector3_20const__2c_20btVector3_20const__29($8 + 12 | 0 | 0, HEAP32[($8 + 100 | 0) >> 2] | 0 | 0, HEAP32[($8 + 112 | 0) >> 2] | 0 | 0); + (wasm2js_i32$0 = $8, wasm2js_f32$0 = Math_fround(btVector3__dot_28btVector3_20const__29_20const($8 + 12 | 0 | 0, $8 + 84 | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_f32$0; + label$1 : { + label$2 : { + if (!(Math_fround(Math_fround(HEAPF32[($8 + 28 | 0) >> 2]) * Math_fround(HEAPF32[($8 + 28 | 0) >> 2])) < Math_fround(9.99999905104687e-09) & 1 | 0)) { + break label$2 + } + HEAP32[($8 + 124 | 0) >> 2] = -1; + break label$1; + } + HEAP32[($8 + 124 | 0) >> 2] = Math_fround(Math_fround(HEAPF32[($8 + 48 | 0) >> 2]) * Math_fround(HEAPF32[($8 + 28 | 0) >> 2])) < Math_fround(0 | 0) & 1 | 0; + } + $68 = HEAP32[($8 + 124 | 0) >> 2] | 0; + __stack_pointer = $8 + 128 | 0; + return $68 | 0; + } + + function btVoronoiSimplexSolver__closest_28btVector3__29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, i64toi32_i32$2 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $5 = 0, $11 = 0, $13 = 0, $48 = 0, $58 = 0, $19 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; + (wasm2js_i32$0 = $4, wasm2js_i32$1 = (btVoronoiSimplexSolver__updateClosestVectorAndPoints_28_29($5 | 0) | 0) & 1 | 0), HEAP8[(wasm2js_i32$0 + 7 | 0) >> 0] = wasm2js_i32$1; + $11 = HEAP32[($4 + 8 | 0) >> 2] | 0; + i64toi32_i32$2 = $5 + 276 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $48 = i64toi32_i32$0; + i64toi32_i32$0 = $11; + HEAP32[i64toi32_i32$0 >> 2] = $48; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $13 = 8; + i64toi32_i32$2 = i64toi32_i32$2 + $13 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $58 = i64toi32_i32$1; + i64toi32_i32$1 = $11 + $13 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $58; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + $19 = (HEAPU8[($4 + 7 | 0) >> 0] | 0) & 1 | 0; + __stack_pointer = $4 + 16 | 0; + return $19 | 0; + } + + function btVoronoiSimplexSolver__inSimplex_28btVector3_20const__29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, $5 = 0, $46 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4 = __stack_pointer - 32 | 0; + __stack_pointer = $4; + HEAP32[($4 + 24 | 0) >> 2] = $0; + HEAP32[($4 + 20 | 0) >> 2] = $1; + $5 = HEAP32[($4 + 24 | 0) >> 2] | 0; + HEAP8[($4 + 19 | 0) >> 0] = 0; + (wasm2js_i32$0 = $4, wasm2js_i32$1 = btVoronoiSimplexSolver__numVertices_28_29_20const($5 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($4 + 12 | 0) >> 2] = 0; + label$1 : { + label$2 : while (1) { + if (!((HEAP32[($4 + 12 | 0) >> 2] | 0 | 0) < (HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$1 + } + label$3 : { + if (!(Math_fround(btVector3__distance2_28btVector3_20const__29_20const(($5 + 4 | 0) + ((HEAP32[($4 + 12 | 0) >> 2] | 0) << 4 | 0) | 0 | 0, HEAP32[($4 + 20 | 0) >> 2] | 0 | 0)) <= Math_fround(HEAPF32[($5 + 308 | 0) >> 2]) & 1 | 0)) { + break label$3 + } + HEAP8[($4 + 19 | 0) >> 0] = 1; + break label$1; + } + HEAP32[($4 + 12 | 0) >> 2] = (HEAP32[($4 + 12 | 0) >> 2] | 0) + 1 | 0; + continue label$2; + }; + } + label$4 : { + label$5 : { + if (!((btVector3__operator___28btVector3_20const__29_20const(HEAP32[($4 + 20 | 0) >> 2] | 0 | 0, $5 + 292 | 0 | 0) | 0) & 1 | 0)) { + break label$5 + } + HEAP8[($4 + 31 | 0) >> 0] = 1 & 1 | 0; + break label$4; + } + HEAP8[($4 + 31 | 0) >> 0] = (HEAPU8[($4 + 19 | 0) >> 0] | 0) & 1 | 0; + } + $46 = (HEAPU8[($4 + 31 | 0) >> 0] | 0) & 1 | 0; + __stack_pointer = $4 + 32 | 0; + return $46 | 0; + } + + function btVector3__distance2_28btVector3_20const__29_20const($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, $13 = Math_fround(0); + $4 = __stack_pointer - 32 | 0; + __stack_pointer = $4; + HEAP32[($4 + 28 | 0) >> 2] = $0; + HEAP32[($4 + 24 | 0) >> 2] = $1; + operator__28btVector3_20const__2c_20btVector3_20const__29($4 + 8 | 0 | 0, HEAP32[($4 + 24 | 0) >> 2] | 0 | 0, HEAP32[($4 + 28 | 0) >> 2] | 0 | 0); + $13 = Math_fround(btVector3__length2_28_29_20const($4 + 8 | 0 | 0)); + __stack_pointer = $4 + 32 | 0; + return Math_fround($13); + } + + function btVector3__operator___28btVector3_20const__29_20const($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, $5 = 0, $13 = 0; + $4 = __stack_pointer - 16 | 0; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; + $13 = 0; + label$1 : { + if (!(Math_fround(HEAPF32[($5 + 12 | 0) >> 2]) == Math_fround(HEAPF32[((HEAP32[($4 + 8 | 0) >> 2] | 0) + 12 | 0) >> 2]) & 1 | 0)) { + break label$1 + } + $13 = 0; + if (!(Math_fround(HEAPF32[($5 + 8 | 0) >> 2]) == Math_fround(HEAPF32[((HEAP32[($4 + 8 | 0) >> 2] | 0) + 8 | 0) >> 2]) & 1 | 0)) { + break label$1 + } + $13 = 0; + if (!(Math_fround(HEAPF32[($5 + 4 | 0) >> 2]) == Math_fround(HEAPF32[((HEAP32[($4 + 8 | 0) >> 2] | 0) + 4 | 0) >> 2]) & 1 | 0)) { + break label$1 + } + $13 = Math_fround(HEAPF32[$5 >> 2]) == Math_fround(HEAPF32[(HEAP32[($4 + 8 | 0) >> 2] | 0) >> 2]); + } + return $13 & 1 | 0 | 0; + } + + function btVoronoiSimplexSolver__compute_points_28btVector3__2c_20btVector3__29($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var i64toi32_i32$2 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $5 = 0, $6 = 0, $9 = 0, $11 = 0, $17 = 0, $19 = 0, $48 = 0, $58 = 0, $67 = 0, $77 = 0; + $5 = __stack_pointer - 16 | 0; + __stack_pointer = $5; + HEAP32[($5 + 12 | 0) >> 2] = $0; + HEAP32[($5 + 8 | 0) >> 2] = $1; + HEAP32[($5 + 4 | 0) >> 2] = $2; + $6 = HEAP32[($5 + 12 | 0) >> 2] | 0; + btVoronoiSimplexSolver__updateClosestVectorAndPoints_28_29($6 | 0) | 0; + $9 = HEAP32[($5 + 8 | 0) >> 2] | 0; + i64toi32_i32$2 = $6 + 244 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $48 = i64toi32_i32$0; + i64toi32_i32$0 = $9; + HEAP32[i64toi32_i32$0 >> 2] = $48; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $11 = 8; + i64toi32_i32$2 = i64toi32_i32$2 + $11 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $58 = i64toi32_i32$1; + i64toi32_i32$1 = $9 + $11 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $58; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + $17 = HEAP32[($5 + 4 | 0) >> 2] | 0; + i64toi32_i32$2 = $6 + 260 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $67 = i64toi32_i32$0; + i64toi32_i32$0 = $17; + HEAP32[i64toi32_i32$0 >> 2] = $67; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $19 = 8; + i64toi32_i32$2 = i64toi32_i32$2 + $19 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $77 = i64toi32_i32$1; + i64toi32_i32$1 = $17 + $19 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $77; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + __stack_pointer = $5 + 16 | 0; + return; + } + + function _GLOBAL__sub_I_btVoronoiSimplexSolver_cpp() { + __cxx_global_var_init_66(); + return; + } + + function __cxx_global_var_init_67() { + btInfMaskConverter__btInfMaskConverter_28int_29(115380 | 0, 2139095040 | 0) | 0; + return; + } + + function btPolyhedralContactClipping__clipFace_28btAlignedObjectArray_btVector3__20const__2c_20btAlignedObjectArray_btVector3___2c_20btVector3_20const__2c_20float_29($0, $1, $2, $3) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = Math_fround($3); + var $6 = 0, i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, i64toi32_i32$1 = 0, $21 = 0, $22 = 0, $31 = 0, $32 = 0, $56 = 0, $57 = 0, $143 = 0, $213 = 0, $217 = 0, $235 = 0, $239 = 0, $291 = 0, $295 = 0, $87 = 0, $116 = 0, $469 = 0, $473 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0, wasm2js_f32$0 = Math_fround(0); + $6 = __stack_pointer - 112 | 0; + __stack_pointer = $6; + HEAP32[($6 + 108 | 0) >> 2] = $0; + HEAP32[($6 + 104 | 0) >> 2] = $1; + HEAP32[($6 + 100 | 0) >> 2] = $2; + HEAPF32[($6 + 96 | 0) >> 2] = $3; + (wasm2js_i32$0 = $6, wasm2js_i32$1 = btAlignedObjectArray_btVector3___size_28_29_20const(HEAP32[($6 + 108 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 80 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + label$2 : { + if (!((HEAP32[($6 + 80 | 0) >> 2] | 0 | 0) < (2 | 0) & 1 | 0)) { + break label$2 + } + break label$1; + } + $21 = btAlignedObjectArray_btVector3___operator_5b_5d_28int_29_20const(HEAP32[($6 + 108 | 0) >> 2] | 0 | 0, (btAlignedObjectArray_btVector3___size_28_29_20const(HEAP32[($6 + 108 | 0) >> 2] | 0 | 0) | 0) - 1 | 0 | 0) | 0; + $22 = 8; + i64toi32_i32$2 = $21 + $22 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $213 = i64toi32_i32$0; + i64toi32_i32$0 = ($6 + 64 | 0) + $22 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $213; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$2 = $21; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $217 = i64toi32_i32$1; + i64toi32_i32$1 = $6; + HEAP32[($6 + 64 | 0) >> 2] = $217; + HEAP32[($6 + 68 | 0) >> 2] = i64toi32_i32$0; + $31 = btAlignedObjectArray_btVector3___operator_5b_5d_28int_29_20const(HEAP32[($6 + 108 | 0) >> 2] | 0 | 0, 0 | 0) | 0; + $32 = 8; + i64toi32_i32$2 = $31 + $32 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $235 = i64toi32_i32$0; + i64toi32_i32$0 = ($6 + 48 | 0) + $32 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $235; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$2 = $31; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $239 = i64toi32_i32$1; + i64toi32_i32$1 = $6; + HEAP32[($6 + 48 | 0) >> 2] = $239; + HEAP32[($6 + 52 | 0) >> 2] = i64toi32_i32$0; + (wasm2js_i32$0 = $6, wasm2js_f32$0 = Math_fround(Math_fround(btVector3__dot_28btVector3_20const__29_20const(HEAP32[($6 + 100 | 0) >> 2] | 0 | 0, $6 + 64 | 0 | 0)) + Math_fround(HEAPF32[($6 + 96 | 0) >> 2]))), HEAPF32[(wasm2js_i32$0 + 88 | 0) >> 2] = wasm2js_f32$0; + HEAP32[($6 + 92 | 0) >> 2] = 0; + label$3 : while (1) { + if (!((HEAP32[($6 + 92 | 0) >> 2] | 0 | 0) < (HEAP32[($6 + 80 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$1 + } + $56 = btAlignedObjectArray_btVector3___operator_5b_5d_28int_29_20const(HEAP32[($6 + 108 | 0) >> 2] | 0 | 0, HEAP32[($6 + 92 | 0) >> 2] | 0 | 0) | 0; + $57 = 8; + i64toi32_i32$2 = $56 + $57 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $291 = i64toi32_i32$0; + i64toi32_i32$0 = ($6 + 48 | 0) + $57 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $291; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$2 = $56; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $295 = i64toi32_i32$1; + i64toi32_i32$1 = $6; + HEAP32[($6 + 48 | 0) >> 2] = $295; + HEAP32[($6 + 52 | 0) >> 2] = i64toi32_i32$0; + (wasm2js_i32$0 = $6, wasm2js_f32$0 = Math_fround(Math_fround(btVector3__dot_28btVector3_20const__29_20const(HEAP32[($6 + 100 | 0) >> 2] | 0 | 0, $6 + 48 | 0 | 0)) + Math_fround(HEAPF32[($6 + 96 | 0) >> 2]))), HEAPF32[(wasm2js_i32$0 + 84 | 0) >> 2] = wasm2js_f32$0; + label$4 : { + label$5 : { + if (!(Math_fround(HEAPF32[($6 + 88 | 0) >> 2]) < Math_fround(0 | 0) & 1 | 0)) { + break label$5 + } + label$6 : { + label$7 : { + if (!(Math_fround(HEAPF32[($6 + 84 | 0) >> 2]) < Math_fround(0 | 0) & 1 | 0)) { + break label$7 + } + btAlignedObjectArray_btVector3___push_back_28btVector3_20const__29(HEAP32[($6 + 104 | 0) >> 2] | 0 | 0, $6 + 48 | 0 | 0); + break label$6; + } + $87 = HEAP32[($6 + 104 | 0) >> 2] | 0; + HEAPF32[($6 + 28 | 0) >> 2] = Math_fround(Math_fround(Math_fround(HEAPF32[($6 + 88 | 0) >> 2]) * Math_fround(1.0)) / Math_fround(Math_fround(HEAPF32[($6 + 88 | 0) >> 2]) - Math_fround(HEAPF32[($6 + 84 | 0) >> 2]))); + btVector3__lerp_28btVector3_20const__2c_20float_20const__29_20const($6 + 32 | 0 | 0, $6 + 64 | 0 | 0, $6 + 48 | 0 | 0, $6 + 28 | 0 | 0); + btAlignedObjectArray_btVector3___push_back_28btVector3_20const__29($87 | 0, $6 + 32 | 0 | 0); + } + break label$4; + } + label$8 : { + if (!(Math_fround(HEAPF32[($6 + 84 | 0) >> 2]) < Math_fround(0 | 0) & 1 | 0)) { + break label$8 + } + $116 = HEAP32[($6 + 104 | 0) >> 2] | 0; + HEAPF32[($6 + 8 | 0) >> 2] = Math_fround(Math_fround(Math_fround(HEAPF32[($6 + 88 | 0) >> 2]) * Math_fround(1.0)) / Math_fround(Math_fround(HEAPF32[($6 + 88 | 0) >> 2]) - Math_fround(HEAPF32[($6 + 84 | 0) >> 2]))); + btVector3__lerp_28btVector3_20const__2c_20float_20const__29_20const($6 + 12 | 0 | 0, $6 + 64 | 0 | 0, $6 + 48 | 0 | 0, $6 + 8 | 0 | 0); + btAlignedObjectArray_btVector3___push_back_28btVector3_20const__29($116 | 0, $6 + 12 | 0 | 0); + btAlignedObjectArray_btVector3___push_back_28btVector3_20const__29(HEAP32[($6 + 104 | 0) >> 2] | 0 | 0, $6 + 48 | 0 | 0); + } + } + $143 = 8; + i64toi32_i32$2 = ($6 + 48 | 0) + $143 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $469 = i64toi32_i32$0; + i64toi32_i32$0 = ($6 + 64 | 0) + $143 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $469; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$2 = $6; + i64toi32_i32$1 = HEAP32[($6 + 48 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($6 + 52 | 0) >> 2] | 0; + $473 = i64toi32_i32$1; + i64toi32_i32$1 = $6; + HEAP32[($6 + 64 | 0) >> 2] = $473; + HEAP32[($6 + 68 | 0) >> 2] = i64toi32_i32$0; + HEAPF32[($6 + 88 | 0) >> 2] = Math_fround(HEAPF32[($6 + 84 | 0) >> 2]); + HEAP32[($6 + 92 | 0) >> 2] = (HEAP32[($6 + 92 | 0) >> 2] | 0) + 1 | 0; + continue label$3; + }; + } + __stack_pointer = $6 + 112 | 0; + return; + } + + function btVector3__lerp_28btVector3_20const__2c_20float_20const__29_20const($0, $1, $2, $3) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + var $6 = 0, $7 = 0; + $6 = __stack_pointer - 32 | 0; + __stack_pointer = $6; + HEAP32[($6 + 28 | 0) >> 2] = $1; + HEAP32[($6 + 24 | 0) >> 2] = $2; + HEAP32[($6 + 20 | 0) >> 2] = $3; + $7 = HEAP32[($6 + 28 | 0) >> 2] | 0; + HEAPF32[($6 + 16 | 0) >> 2] = Math_fround(Math_fround(Math_fround(Math_fround(HEAPF32[(HEAP32[($6 + 24 | 0) >> 2] | 0) >> 2]) - Math_fround(HEAPF32[$7 >> 2])) * Math_fround(HEAPF32[(HEAP32[($6 + 20 | 0) >> 2] | 0) >> 2])) + Math_fround(HEAPF32[$7 >> 2])); + HEAPF32[($6 + 12 | 0) >> 2] = Math_fround(Math_fround(Math_fround(Math_fround(HEAPF32[((HEAP32[($6 + 24 | 0) >> 2] | 0) + 4 | 0) >> 2]) - Math_fround(HEAPF32[($7 + 4 | 0) >> 2])) * Math_fround(HEAPF32[(HEAP32[($6 + 20 | 0) >> 2] | 0) >> 2])) + Math_fround(HEAPF32[($7 + 4 | 0) >> 2])); + HEAPF32[($6 + 8 | 0) >> 2] = Math_fround(Math_fround(Math_fround(Math_fround(HEAPF32[((HEAP32[($6 + 24 | 0) >> 2] | 0) + 8 | 0) >> 2]) - Math_fround(HEAPF32[($7 + 8 | 0) >> 2])) * Math_fround(HEAPF32[(HEAP32[($6 + 20 | 0) >> 2] | 0) >> 2])) + Math_fround(HEAPF32[($7 + 8 | 0) >> 2])); + btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($0 | 0, $6 + 16 | 0 | 0, $6 + 12 | 0 | 0, $6 + 8 | 0 | 0) | 0; + __stack_pointer = $6 + 32 | 0; + return; + } + + function InverseTransformPoint3x3_28btVector3__2c_20btVector3_20const__2c_20btTransform_20const__29($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $5 = 0, $31 = Math_fround(0), $54 = Math_fround(0), $77 = Math_fround(0), wasm2js_i32$0 = 0, wasm2js_i32$1 = 0, wasm2js_f32$0 = Math_fround(0); + $5 = __stack_pointer - 48 | 0; + __stack_pointer = $5; + HEAP32[($5 + 44 | 0) >> 2] = $0; + HEAP32[($5 + 40 | 0) >> 2] = $1; + HEAP32[($5 + 36 | 0) >> 2] = $2; + (wasm2js_i32$0 = $5, wasm2js_i32$1 = btTransform__getBasis_28_29_20const(HEAP32[($5 + 36 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 32 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $5, wasm2js_i32$1 = btMatrix3x3__operator_5b_5d_28int_29_20const(HEAP32[($5 + 32 | 0) >> 2] | 0 | 0, 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $5, wasm2js_i32$1 = btMatrix3x3__operator_5b_5d_28int_29_20const(HEAP32[($5 + 32 | 0) >> 2] | 0 | 0, 1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 24 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $5, wasm2js_i32$1 = btMatrix3x3__operator_5b_5d_28int_29_20const(HEAP32[($5 + 32 | 0) >> 2] | 0 | 0, 2 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + $31 = Math_fround(Math_fround(Math_fround(HEAPF32[(btVector3__x_28_29_20const(HEAP32[($5 + 28 | 0) >> 2] | 0 | 0) | 0) >> 2]) * Math_fround(HEAPF32[(btVector3__x_28_29_20const(HEAP32[($5 + 40 | 0) >> 2] | 0 | 0) | 0) >> 2])) + Math_fround(Math_fround(HEAPF32[(btVector3__x_28_29_20const(HEAP32[($5 + 24 | 0) >> 2] | 0 | 0) | 0) >> 2]) * Math_fround(HEAPF32[(btVector3__y_28_29_20const(HEAP32[($5 + 40 | 0) >> 2] | 0 | 0) | 0) >> 2]))); + (wasm2js_i32$0 = $5, wasm2js_f32$0 = Math_fround(Math_fround(Math_fround(HEAPF32[(btVector3__x_28_29_20const(HEAP32[($5 + 20 | 0) >> 2] | 0 | 0) | 0) >> 2]) * Math_fround(HEAPF32[(btVector3__z_28_29_20const(HEAP32[($5 + 40 | 0) >> 2] | 0 | 0) | 0) >> 2])) + $31)), HEAPF32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_f32$0; + $54 = Math_fround(Math_fround(Math_fround(HEAPF32[(btVector3__y_28_29_20const(HEAP32[($5 + 28 | 0) >> 2] | 0 | 0) | 0) >> 2]) * Math_fround(HEAPF32[(btVector3__x_28_29_20const(HEAP32[($5 + 40 | 0) >> 2] | 0 | 0) | 0) >> 2])) + Math_fround(Math_fround(HEAPF32[(btVector3__y_28_29_20const(HEAP32[($5 + 24 | 0) >> 2] | 0 | 0) | 0) >> 2]) * Math_fround(HEAPF32[(btVector3__y_28_29_20const(HEAP32[($5 + 40 | 0) >> 2] | 0 | 0) | 0) >> 2]))); + (wasm2js_i32$0 = $5, wasm2js_f32$0 = Math_fround(Math_fround(Math_fround(HEAPF32[(btVector3__y_28_29_20const(HEAP32[($5 + 20 | 0) >> 2] | 0 | 0) | 0) >> 2]) * Math_fround(HEAPF32[(btVector3__z_28_29_20const(HEAP32[($5 + 40 | 0) >> 2] | 0 | 0) | 0) >> 2])) + $54)), HEAPF32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_f32$0; + $77 = Math_fround(Math_fround(Math_fround(HEAPF32[(btVector3__z_28_29_20const(HEAP32[($5 + 28 | 0) >> 2] | 0 | 0) | 0) >> 2]) * Math_fround(HEAPF32[(btVector3__x_28_29_20const(HEAP32[($5 + 40 | 0) >> 2] | 0 | 0) | 0) >> 2])) + Math_fround(Math_fround(HEAPF32[(btVector3__z_28_29_20const(HEAP32[($5 + 24 | 0) >> 2] | 0 | 0) | 0) >> 2]) * Math_fround(HEAPF32[(btVector3__y_28_29_20const(HEAP32[($5 + 40 | 0) >> 2] | 0 | 0) | 0) >> 2]))); + (wasm2js_i32$0 = $5, wasm2js_f32$0 = Math_fround(Math_fround(Math_fround(HEAPF32[(btVector3__z_28_29_20const(HEAP32[($5 + 20 | 0) >> 2] | 0 | 0) | 0) >> 2]) * Math_fround(HEAPF32[(btVector3__z_28_29_20const(HEAP32[($5 + 40 | 0) >> 2] | 0 | 0) | 0) >> 2])) + $77)), HEAPF32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_f32$0; + btVector3__setValue_28float_20const__2c_20float_20const__2c_20float_20const__29(HEAP32[($5 + 44 | 0) >> 2] | 0 | 0, $5 + 16 | 0 | 0, $5 + 12 | 0 | 0, $5 + 8 | 0 | 0); + __stack_pointer = $5 + 48 | 0; + return; + } + + function TestInternalObjects_28btTransform_20const__2c_20btTransform_20const__2c_20btVector3_20const__2c_20btVector3_20const__2c_20btConvexPolyhedron_20const__2c_20btConvexPolyhedron_20const__2c_20float_29($0, $1, $2, $3, $4, $5, $6) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + $4 = $4 | 0; + $5 = $5 | 0; + $6 = Math_fround($6); + var $9 = 0, $104 = Math_fround(0), $115 = Math_fround(0), $134 = Math_fround(0), $65 = Math_fround(0), $88 = Math_fround(0), $150 = 0, wasm2js_i32$0 = 0, wasm2js_f32$0 = Math_fround(0); + $9 = __stack_pointer - 128 | 0; + __stack_pointer = $9; + HEAP32[($9 + 120 | 0) >> 2] = $0; + HEAP32[($9 + 116 | 0) >> 2] = $1; + HEAP32[($9 + 112 | 0) >> 2] = $2; + HEAP32[($9 + 108 | 0) >> 2] = $3; + HEAP32[($9 + 104 | 0) >> 2] = $4; + HEAP32[($9 + 100 | 0) >> 2] = $5; + HEAPF32[($9 + 96 | 0) >> 2] = $6; + (wasm2js_i32$0 = $9, wasm2js_f32$0 = Math_fround(btVector3__dot_28btVector3_20const__29_20const(HEAP32[($9 + 112 | 0) >> 2] | 0 | 0, HEAP32[($9 + 108 | 0) >> 2] | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 92 | 0) >> 2] = wasm2js_f32$0; + btVector3__btVector3_28_29($9 + 76 | 0 | 0) | 0; + InverseTransformPoint3x3_28btVector3__2c_20btVector3_20const__2c_20btTransform_20const__29($9 + 76 | 0 | 0, HEAP32[($9 + 108 | 0) >> 2] | 0 | 0, HEAP32[($9 + 120 | 0) >> 2] | 0 | 0); + btVector3__btVector3_28_29($9 + 60 | 0 | 0) | 0; + InverseTransformPoint3x3_28btVector3__2c_20btVector3_20const__2c_20btTransform_20const__29($9 + 60 | 0 | 0, HEAP32[($9 + 108 | 0) >> 2] | 0 | 0, HEAP32[($9 + 116 | 0) >> 2] | 0 | 0); + BoxSupport_28float_20const__2c_20float_20const__2c_20float__29(btVector3__operator_20float_20const__28_29_20const((HEAP32[($9 + 104 | 0) >> 2] | 0) + 80 | 0 | 0) | 0 | 0, btVector3__operator_20float__28_29($9 + 76 | 0 | 0) | 0 | 0, $9 + 48 | 0 | 0); + BoxSupport_28float_20const__2c_20float_20const__2c_20float__29(btVector3__operator_20float_20const__28_29_20const((HEAP32[($9 + 100 | 0) >> 2] | 0) + 80 | 0 | 0) | 0 | 0, btVector3__operator_20float__28_29($9 + 60 | 0 | 0) | 0 | 0, $9 + 36 | 0 | 0); + $65 = Math_fround(Math_fround(Math_fround(HEAPF32[($9 + 48 | 0) >> 2]) * Math_fround(HEAPF32[(btVector3__x_28_29_20const($9 + 76 | 0 | 0) | 0) >> 2])) + Math_fround(Math_fround(HEAPF32[($9 + 52 | 0) >> 2]) * Math_fround(HEAPF32[(btVector3__y_28_29_20const($9 + 76 | 0 | 0) | 0) >> 2]))); + (wasm2js_i32$0 = $9, wasm2js_f32$0 = Math_fround(Math_fround(Math_fround(HEAPF32[($9 + 56 | 0) >> 2]) * Math_fround(HEAPF32[(btVector3__z_28_29_20const($9 + 76 | 0 | 0) | 0) >> 2])) + $65)), HEAPF32[(wasm2js_i32$0 + 32 | 0) >> 2] = wasm2js_f32$0; + $88 = Math_fround(Math_fround(Math_fround(HEAPF32[($9 + 36 | 0) >> 2]) * Math_fround(HEAPF32[(btVector3__x_28_29_20const($9 + 60 | 0 | 0) | 0) >> 2])) + Math_fround(Math_fround(HEAPF32[($9 + 40 | 0) >> 2]) * Math_fround(HEAPF32[(btVector3__y_28_29_20const($9 + 60 | 0 | 0) | 0) >> 2]))); + (wasm2js_i32$0 = $9, wasm2js_f32$0 = Math_fround(Math_fround(Math_fround(HEAPF32[($9 + 44 | 0) >> 2]) * Math_fround(HEAPF32[(btVector3__z_28_29_20const($9 + 60 | 0 | 0) | 0) >> 2])) + $88)), HEAPF32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_f32$0; + label$1 : { + label$2 : { + if (!(Math_fround(HEAPF32[($9 + 32 | 0) >> 2]) > Math_fround(HEAPF32[((HEAP32[($9 + 104 | 0) >> 2] | 0) + 96 | 0) >> 2]) & 1 | 0)) { + break label$2 + } + $104 = Math_fround(HEAPF32[($9 + 32 | 0) >> 2]); + break label$1; + } + $104 = Math_fround(HEAPF32[((HEAP32[($9 + 104 | 0) >> 2] | 0) + 96 | 0) >> 2]); + } + HEAPF32[($9 + 24 | 0) >> 2] = $104; + label$3 : { + label$4 : { + if (!(Math_fround(HEAPF32[($9 + 28 | 0) >> 2]) > Math_fround(HEAPF32[((HEAP32[($9 + 100 | 0) >> 2] | 0) + 96 | 0) >> 2]) & 1 | 0)) { + break label$4 + } + $115 = Math_fround(HEAPF32[($9 + 28 | 0) >> 2]); + break label$3; + } + $115 = Math_fround(HEAPF32[((HEAP32[($9 + 100 | 0) >> 2] | 0) + 96 | 0) >> 2]); + } + HEAPF32[($9 + 20 | 0) >> 2] = $115; + HEAPF32[($9 + 16 | 0) >> 2] = Math_fround(Math_fround(HEAPF32[($9 + 20 | 0) >> 2]) + Math_fround(HEAPF32[($9 + 24 | 0) >> 2])); + HEAPF32[($9 + 12 | 0) >> 2] = Math_fround(Math_fround(HEAPF32[($9 + 16 | 0) >> 2]) + Math_fround(HEAPF32[($9 + 92 | 0) >> 2])); + HEAPF32[($9 + 8 | 0) >> 2] = Math_fround(Math_fround(HEAPF32[($9 + 16 | 0) >> 2]) - Math_fround(HEAPF32[($9 + 92 | 0) >> 2])); + label$5 : { + label$6 : { + if (!(Math_fround(HEAPF32[($9 + 12 | 0) >> 2]) < Math_fround(HEAPF32[($9 + 8 | 0) >> 2]) & 1 | 0)) { + break label$6 + } + $134 = Math_fround(HEAPF32[($9 + 12 | 0) >> 2]); + break label$5; + } + $134 = Math_fround(HEAPF32[($9 + 8 | 0) >> 2]); + } + HEAPF32[($9 + 4 | 0) >> 2] = $134; + label$7 : { + label$8 : { + if (!(Math_fround(HEAPF32[($9 + 4 | 0) >> 2]) > Math_fround(HEAPF32[($9 + 96 | 0) >> 2]) & 1 | 0)) { + break label$8 + } + HEAP8[($9 + 127 | 0) >> 0] = 0 & 1 | 0; + break label$7; + } + HEAP8[($9 + 127 | 0) >> 0] = 1 & 1 | 0; + } + $150 = (HEAPU8[($9 + 127 | 0) >> 0] | 0) & 1 | 0; + __stack_pointer = $9 + 128 | 0; + return $150 | 0; + } + + function BoxSupport_28float_20const__2c_20float_20const__2c_20float__29($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $5 = 0, $16 = Math_fround(0), $31 = Math_fround(0), $46 = Math_fround(0); + $5 = __stack_pointer - 16 | 0; + HEAP32[($5 + 12 | 0) >> 2] = $0; + HEAP32[($5 + 8 | 0) >> 2] = $1; + HEAP32[($5 + 4 | 0) >> 2] = $2; + label$1 : { + label$2 : { + if (!(Math_fround(HEAPF32[(HEAP32[($5 + 8 | 0) >> 2] | 0) >> 2]) < Math_fround(0 | 0) & 1 | 0)) { + break label$2 + } + $16 = Math_fround(-Math_fround(HEAPF32[(HEAP32[($5 + 12 | 0) >> 2] | 0) >> 2])); + break label$1; + } + $16 = Math_fround(HEAPF32[(HEAP32[($5 + 12 | 0) >> 2] | 0) >> 2]); + } + HEAPF32[(HEAP32[($5 + 4 | 0) >> 2] | 0) >> 2] = $16; + label$3 : { + label$4 : { + if (!(Math_fround(HEAPF32[((HEAP32[($5 + 8 | 0) >> 2] | 0) + 4 | 0) >> 2]) < Math_fround(0 | 0) & 1 | 0)) { + break label$4 + } + $31 = Math_fround(-Math_fround(HEAPF32[((HEAP32[($5 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2])); + break label$3; + } + $31 = Math_fround(HEAPF32[((HEAP32[($5 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2]); + } + HEAPF32[((HEAP32[($5 + 4 | 0) >> 2] | 0) + 4 | 0) >> 2] = $31; + label$5 : { + label$6 : { + if (!(Math_fround(HEAPF32[((HEAP32[($5 + 8 | 0) >> 2] | 0) + 8 | 0) >> 2]) < Math_fround(0 | 0) & 1 | 0)) { + break label$6 + } + $46 = Math_fround(-Math_fround(HEAPF32[((HEAP32[($5 + 12 | 0) >> 2] | 0) + 8 | 0) >> 2])); + break label$5; + } + $46 = Math_fround(HEAPF32[((HEAP32[($5 + 12 | 0) >> 2] | 0) + 8 | 0) >> 2]); + } + HEAPF32[((HEAP32[($5 + 4 | 0) >> 2] | 0) + 8 | 0) >> 2] = $46; + return; + } + + function btPolyhedralContactClipping__findSeparatingAxis_28btConvexPolyhedron_20const__2c_20btConvexPolyhedron_20const__2c_20btTransform_20const__2c_20btTransform_20const__2c_20btVector3__2c_20btDiscreteCollisionDetectorInterface__Result__29($0, $1, $2, $3, $4, $5) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + $4 = $4 | 0; + $5 = $5 | 0; + var $8 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, $171 = 0, $173 = 0, $314 = 0, $316 = 0, $397 = 0, $398 = 0, $428 = 0, $429 = 0, $465 = 0, $466 = 0, $554 = 0, $556 = 0, $564 = 0, $573 = 0, $582 = 0, $591 = 0, $638 = 0, $647 = 0, $733 = 0, $758 = 0, $760 = 0, $1106 = 0, $1119 = 0, $1388 = 0, $1401 = 0, $1560 = 0, $1564 = 0, $1623 = 0, $1627 = 0, $1693 = 0, $1697 = 0, $1858 = 0, $1871 = 0, $1895 = 0, $1899 = 0, $1915 = 0, $1919 = 0, $1935 = 0, $1939 = 0, $1955 = 0, $1959 = 0, $2046 = 0, $2050 = 0, $2066 = 0, $2070 = 0, $2271 = 0, $2284 = 0, $771 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0, wasm2js_f32$0 = Math_fround(0); + $8 = __stack_pointer - 720 | 0; + __stack_pointer = $8; + HEAP32[($8 + 712 | 0) >> 2] = $0; + HEAP32[($8 + 708 | 0) >> 2] = $1; + HEAP32[($8 + 704 | 0) >> 2] = $2; + HEAP32[($8 + 700 | 0) >> 2] = $3; + HEAP32[($8 + 696 | 0) >> 2] = $4; + HEAP32[($8 + 692 | 0) >> 2] = $5; + HEAP32[(0 + 115392 | 0) >> 2] = (HEAP32[(0 + 115392 | 0) >> 2] | 0) + 1 | 0; + btTransform__operator__28btVector3_20const__29_20const($8 + 676 | 0 | 0, HEAP32[($8 + 704 | 0) >> 2] | 0 | 0, (HEAP32[($8 + 712 | 0) >> 2] | 0) + 64 | 0 | 0); + btTransform__operator__28btVector3_20const__29_20const($8 + 660 | 0 | 0, HEAP32[($8 + 700 | 0) >> 2] | 0 | 0, (HEAP32[($8 + 708 | 0) >> 2] | 0) + 64 | 0 | 0); + operator__28btVector3_20const__2c_20btVector3_20const__29($8 + 644 | 0 | 0, $8 + 676 | 0 | 0, $8 + 660 | 0 | 0); + HEAPF32[($8 + 640 | 0) >> 2] = Math_fround(3402823466385288598117041.0e14); + HEAP32[($8 + 636 | 0) >> 2] = 0; + (wasm2js_i32$0 = $8, wasm2js_i32$1 = btAlignedObjectArray_btFace___size_28_29_20const((HEAP32[($8 + 712 | 0) >> 2] | 0) + 24 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 632 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($8 + 628 | 0) >> 2] = 0; + label$1 : { + label$2 : { + label$3 : while (1) { + if (!((HEAP32[($8 + 628 | 0) >> 2] | 0 | 0) < (HEAP32[($8 + 632 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$2 + } + btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($8 + 612 | 0 | 0, (btAlignedObjectArray_btFace___operator_5b_5d_28int_29_20const((HEAP32[($8 + 712 | 0) >> 2] | 0) + 24 | 0 | 0, HEAP32[($8 + 628 | 0) >> 2] | 0 | 0) | 0) + 20 | 0 | 0, ((btAlignedObjectArray_btFace___operator_5b_5d_28int_29_20const((HEAP32[($8 + 712 | 0) >> 2] | 0) + 24 | 0 | 0, HEAP32[($8 + 628 | 0) >> 2] | 0 | 0) | 0) + 20 | 0) + 4 | 0 | 0, ((btAlignedObjectArray_btFace___operator_5b_5d_28int_29_20const((HEAP32[($8 + 712 | 0) >> 2] | 0) + 24 | 0 | 0, HEAP32[($8 + 628 | 0) >> 2] | 0 | 0) | 0) + 20 | 0) + 8 | 0 | 0) | 0; + operator__28btMatrix3x3_20const__2c_20btVector3_20const__29($8 + 596 | 0 | 0, btTransform__getBasis_28_29_20const(HEAP32[($8 + 704 | 0) >> 2] | 0 | 0) | 0 | 0, $8 + 612 | 0 | 0); + label$4 : { + if (!(Math_fround(btVector3__dot_28btVector3_20const__29_20const($8 + 644 | 0 | 0, $8 + 596 | 0 | 0)) < Math_fround(0 | 0) & 1 | 0)) { + break label$4 + } + HEAPF32[($8 + 592 | 0) >> 2] = Math_fround(-1.0); + btVector3__operator___28float_20const__29_1($8 + 596 | 0 | 0, $8 + 592 | 0 | 0) | 0; + } + HEAP32[($8 + 636 | 0) >> 2] = (HEAP32[($8 + 636 | 0) >> 2] | 0) + 1 | 0; + HEAP32[(0 + 115384 | 0) >> 2] = (HEAP32[(0 + 115384 | 0) >> 2] | 0) + 1 | 0; + label$5 : { + label$6 : { + if (!((HEAPU8[(0 + 112845 | 0) >> 0] | 0) & 1 | 0)) { + break label$6 + } + if ((TestInternalObjects_28btTransform_20const__2c_20btTransform_20const__2c_20btVector3_20const__2c_20btVector3_20const__2c_20btConvexPolyhedron_20const__2c_20btConvexPolyhedron_20const__2c_20float_29(HEAP32[($8 + 704 | 0) >> 2] | 0 | 0, HEAP32[($8 + 700 | 0) >> 2] | 0 | 0, $8 + 644 | 0 | 0, $8 + 596 | 0 | 0, HEAP32[($8 + 712 | 0) >> 2] | 0 | 0, HEAP32[($8 + 708 | 0) >> 2] | 0 | 0, Math_fround(Math_fround(HEAPF32[($8 + 640 | 0) >> 2]))) | 0) & 1 | 0) { + break label$6 + } + break label$5; + } + HEAP32[(0 + 115388 | 0) >> 2] = (HEAP32[(0 + 115388 | 0) >> 2] | 0) + 1 | 0; + btVector3__btVector3_28_29($8 + 572 | 0 | 0) | 0; + btVector3__btVector3_28_29($8 + 556 | 0 | 0) | 0; + label$7 : { + if ((TestSepAxis_28btConvexPolyhedron_20const__2c_20btConvexPolyhedron_20const__2c_20btTransform_20const__2c_20btTransform_20const__2c_20btVector3_20const__2c_20float__2c_20btVector3__2c_20btVector3__29(HEAP32[($8 + 712 | 0) >> 2] | 0 | 0, HEAP32[($8 + 708 | 0) >> 2] | 0 | 0, HEAP32[($8 + 704 | 0) >> 2] | 0 | 0, HEAP32[($8 + 700 | 0) >> 2] | 0 | 0, $8 + 596 | 0 | 0, $8 + 588 | 0 | 0, $8 + 572 | 0 | 0, $8 + 556 | 0 | 0) | 0) & 1 | 0) { + break label$7 + } + HEAP8[($8 + 719 | 0) >> 0] = 0 & 1 | 0; + break label$1; + } + label$8 : { + if (!(Math_fround(HEAPF32[($8 + 588 | 0) >> 2]) < Math_fround(HEAPF32[($8 + 640 | 0) >> 2]) & 1 | 0)) { + break label$8 + } + HEAPF32[($8 + 640 | 0) >> 2] = Math_fround(HEAPF32[($8 + 588 | 0) >> 2]); + $171 = HEAP32[($8 + 696 | 0) >> 2] | 0; + i64toi32_i32$2 = $8; + i64toi32_i32$0 = HEAP32[($8 + 596 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($8 + 600 | 0) >> 2] | 0; + $1106 = i64toi32_i32$0; + i64toi32_i32$0 = $171; + HEAP32[i64toi32_i32$0 >> 2] = $1106; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $173 = 8; + i64toi32_i32$2 = ($8 + 596 | 0) + $173 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $1119 = i64toi32_i32$1; + i64toi32_i32$1 = $171 + $173 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $1119; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + } + } + HEAP32[($8 + 628 | 0) >> 2] = (HEAP32[($8 + 628 | 0) >> 2] | 0) + 1 | 0; + continue label$3; + }; + } + (wasm2js_i32$0 = $8, wasm2js_i32$1 = btAlignedObjectArray_btFace___size_28_29_20const((HEAP32[($8 + 708 | 0) >> 2] | 0) + 24 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 552 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($8 + 548 | 0) >> 2] = 0; + label$9 : { + label$10 : while (1) { + if (!((HEAP32[($8 + 548 | 0) >> 2] | 0 | 0) < (HEAP32[($8 + 552 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$9 + } + btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($8 + 532 | 0 | 0, (btAlignedObjectArray_btFace___operator_5b_5d_28int_29_20const((HEAP32[($8 + 708 | 0) >> 2] | 0) + 24 | 0 | 0, HEAP32[($8 + 548 | 0) >> 2] | 0 | 0) | 0) + 20 | 0 | 0, ((btAlignedObjectArray_btFace___operator_5b_5d_28int_29_20const((HEAP32[($8 + 708 | 0) >> 2] | 0) + 24 | 0 | 0, HEAP32[($8 + 548 | 0) >> 2] | 0 | 0) | 0) + 20 | 0) + 4 | 0 | 0, ((btAlignedObjectArray_btFace___operator_5b_5d_28int_29_20const((HEAP32[($8 + 708 | 0) >> 2] | 0) + 24 | 0 | 0, HEAP32[($8 + 548 | 0) >> 2] | 0 | 0) | 0) + 20 | 0) + 8 | 0 | 0) | 0; + operator__28btMatrix3x3_20const__2c_20btVector3_20const__29($8 + 516 | 0 | 0, btTransform__getBasis_28_29_20const(HEAP32[($8 + 700 | 0) >> 2] | 0 | 0) | 0 | 0, $8 + 532 | 0 | 0); + label$11 : { + if (!(Math_fround(btVector3__dot_28btVector3_20const__29_20const($8 + 644 | 0 | 0, $8 + 516 | 0 | 0)) < Math_fround(0 | 0) & 1 | 0)) { + break label$11 + } + HEAPF32[($8 + 512 | 0) >> 2] = Math_fround(-1.0); + btVector3__operator___28float_20const__29_1($8 + 516 | 0 | 0, $8 + 512 | 0 | 0) | 0; + } + HEAP32[($8 + 636 | 0) >> 2] = (HEAP32[($8 + 636 | 0) >> 2] | 0) + 1 | 0; + HEAP32[(0 + 115384 | 0) >> 2] = (HEAP32[(0 + 115384 | 0) >> 2] | 0) + 1 | 0; + label$12 : { + label$13 : { + if (!((HEAPU8[(0 + 112845 | 0) >> 0] | 0) & 1 | 0)) { + break label$13 + } + if ((TestInternalObjects_28btTransform_20const__2c_20btTransform_20const__2c_20btVector3_20const__2c_20btVector3_20const__2c_20btConvexPolyhedron_20const__2c_20btConvexPolyhedron_20const__2c_20float_29(HEAP32[($8 + 704 | 0) >> 2] | 0 | 0, HEAP32[($8 + 700 | 0) >> 2] | 0 | 0, $8 + 644 | 0 | 0, $8 + 516 | 0 | 0, HEAP32[($8 + 712 | 0) >> 2] | 0 | 0, HEAP32[($8 + 708 | 0) >> 2] | 0 | 0, Math_fround(Math_fround(HEAPF32[($8 + 640 | 0) >> 2]))) | 0) & 1 | 0) { + break label$13 + } + break label$12; + } + HEAP32[(0 + 115388 | 0) >> 2] = (HEAP32[(0 + 115388 | 0) >> 2] | 0) + 1 | 0; + btVector3__btVector3_28_29($8 + 492 | 0 | 0) | 0; + btVector3__btVector3_28_29($8 + 476 | 0 | 0) | 0; + label$14 : { + if ((TestSepAxis_28btConvexPolyhedron_20const__2c_20btConvexPolyhedron_20const__2c_20btTransform_20const__2c_20btTransform_20const__2c_20btVector3_20const__2c_20float__2c_20btVector3__2c_20btVector3__29(HEAP32[($8 + 712 | 0) >> 2] | 0 | 0, HEAP32[($8 + 708 | 0) >> 2] | 0 | 0, HEAP32[($8 + 704 | 0) >> 2] | 0 | 0, HEAP32[($8 + 700 | 0) >> 2] | 0 | 0, $8 + 516 | 0 | 0, $8 + 508 | 0 | 0, $8 + 492 | 0 | 0, $8 + 476 | 0 | 0) | 0) & 1 | 0) { + break label$14 + } + HEAP8[($8 + 719 | 0) >> 0] = 0 & 1 | 0; + break label$1; + } + label$15 : { + if (!(Math_fround(HEAPF32[($8 + 508 | 0) >> 2]) < Math_fround(HEAPF32[($8 + 640 | 0) >> 2]) & 1 | 0)) { + break label$15 + } + HEAPF32[($8 + 640 | 0) >> 2] = Math_fround(HEAPF32[($8 + 508 | 0) >> 2]); + $314 = HEAP32[($8 + 696 | 0) >> 2] | 0; + i64toi32_i32$2 = $8; + i64toi32_i32$0 = HEAP32[($8 + 516 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($8 + 520 | 0) >> 2] | 0; + $1388 = i64toi32_i32$0; + i64toi32_i32$0 = $314; + HEAP32[i64toi32_i32$0 >> 2] = $1388; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $316 = 8; + i64toi32_i32$2 = ($8 + 516 | 0) + $316 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $1401 = i64toi32_i32$1; + i64toi32_i32$1 = $314 + $316 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $1401; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + } + } + HEAP32[($8 + 548 | 0) >> 2] = (HEAP32[($8 + 548 | 0) >> 2] | 0) + 1 | 0; + continue label$10; + }; + } + btVector3__btVector3_28_29($8 + 460 | 0 | 0) | 0; + btVector3__btVector3_28_29($8 + 444 | 0 | 0) | 0; + btVector3__btVector3_28_29($8 + 428 | 0 | 0) | 0; + btVector3__btVector3_28_29($8 + 412 | 0 | 0) | 0; + HEAP32[($8 + 408 | 0) >> 2] = -1; + HEAP32[($8 + 404 | 0) >> 2] = -1; + btVector3__btVector3_28_29($8 + 384 | 0 | 0) | 0; + btVector3__btVector3_28_29($8 + 368 | 0 | 0) | 0; + HEAPF32[($8 + 348 | 0) >> 2] = Math_fround(0 | 0); + HEAPF32[($8 + 344 | 0) >> 2] = Math_fround(0 | 0); + HEAPF32[($8 + 340 | 0) >> 2] = Math_fround(0 | 0); + btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($8 + 352 | 0 | 0, $8 + 348 | 0 | 0, $8 + 344 | 0 | 0, $8 + 340 | 0 | 0) | 0; + HEAPF32[($8 + 316 | 0) >> 2] = Math_fround(0 | 0); + HEAPF32[($8 + 312 | 0) >> 2] = Math_fround(0 | 0); + HEAPF32[($8 + 308 | 0) >> 2] = Math_fround(0 | 0); + btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($8 + 320 | 0 | 0, $8 + 316 | 0 | 0, $8 + 312 | 0 | 0, $8 + 308 | 0 | 0) | 0; + HEAP32[($8 + 304 | 0) >> 2] = 0; + HEAP32[($8 + 300 | 0) >> 2] = 0; + label$16 : { + label$17 : while (1) { + if (!((HEAP32[($8 + 300 | 0) >> 2] | 0 | 0) < (btAlignedObjectArray_btVector3___size_28_29_20const((HEAP32[($8 + 712 | 0) >> 2] | 0) + 44 | 0 | 0) | 0 | 0) & 1 | 0)) { + break label$16 + } + $397 = btAlignedObjectArray_btVector3___operator_5b_5d_28int_29_20const((HEAP32[($8 + 712 | 0) >> 2] | 0) + 44 | 0 | 0, HEAP32[($8 + 300 | 0) >> 2] | 0 | 0) | 0; + $398 = 8; + i64toi32_i32$2 = $397 + $398 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $1560 = i64toi32_i32$0; + i64toi32_i32$0 = ($8 + 280 | 0) + $398 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $1560; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$2 = $397; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $1564 = i64toi32_i32$1; + i64toi32_i32$1 = $8; + HEAP32[($8 + 280 | 0) >> 2] = $1564; + HEAP32[($8 + 284 | 0) >> 2] = i64toi32_i32$0; + operator__28btMatrix3x3_20const__2c_20btVector3_20const__29($8 + 264 | 0 | 0, btTransform__getBasis_28_29_20const(HEAP32[($8 + 704 | 0) >> 2] | 0 | 0) | 0 | 0, $8 + 280 | 0 | 0); + HEAP32[($8 + 260 | 0) >> 2] = 0; + label$18 : { + label$19 : while (1) { + if (!((HEAP32[($8 + 260 | 0) >> 2] | 0 | 0) < (btAlignedObjectArray_btVector3___size_28_29_20const((HEAP32[($8 + 708 | 0) >> 2] | 0) + 44 | 0 | 0) | 0 | 0) & 1 | 0)) { + break label$18 + } + $428 = btAlignedObjectArray_btVector3___operator_5b_5d_28int_29_20const((HEAP32[($8 + 708 | 0) >> 2] | 0) + 44 | 0 | 0, HEAP32[($8 + 260 | 0) >> 2] | 0 | 0) | 0; + $429 = 8; + i64toi32_i32$2 = $428 + $429 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $1623 = i64toi32_i32$0; + i64toi32_i32$0 = ($8 + 240 | 0) + $429 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $1623; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$2 = $428; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $1627 = i64toi32_i32$1; + i64toi32_i32$1 = $8; + HEAP32[($8 + 240 | 0) >> 2] = $1627; + HEAP32[($8 + 244 | 0) >> 2] = i64toi32_i32$0; + operator__28btMatrix3x3_20const__2c_20btVector3_20const__29($8 + 224 | 0 | 0, btTransform__getBasis_28_29_20const(HEAP32[($8 + 700 | 0) >> 2] | 0 | 0) | 0 | 0, $8 + 240 | 0 | 0); + btVector3__cross_28btVector3_20const__29_20const($8 + 208 | 0 | 0, $8 + 264 | 0 | 0, $8 + 224 | 0 | 0); + HEAP32[($8 + 304 | 0) >> 2] = (HEAP32[($8 + 304 | 0) >> 2] | 0) + 1 | 0; + label$20 : { + label$21 : { + if ((IsAlmostZero_28btVector3_20const__29($8 + 208 | 0 | 0) | 0) & 1 | 0) { + break label$21 + } + $465 = btVector3__normalize_28_29($8 + 208 | 0 | 0) | 0; + $466 = 8; + i64toi32_i32$2 = $465 + $466 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $1693 = i64toi32_i32$0; + i64toi32_i32$0 = ($8 + 208 | 0) + $466 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $1693; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$2 = $465; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $1697 = i64toi32_i32$1; + i64toi32_i32$1 = $8; + HEAP32[($8 + 208 | 0) >> 2] = $1697; + HEAP32[($8 + 212 | 0) >> 2] = i64toi32_i32$0; + label$22 : { + if (!(Math_fround(btVector3__dot_28btVector3_20const__29_20const($8 + 644 | 0 | 0, $8 + 208 | 0 | 0)) < Math_fround(0 | 0) & 1 | 0)) { + break label$22 + } + HEAPF32[($8 + 204 | 0) >> 2] = Math_fround(-1.0); + btVector3__operator___28float_20const__29_1($8 + 208 | 0 | 0, $8 + 204 | 0 | 0) | 0; + } + HEAP32[(0 + 115384 | 0) >> 2] = (HEAP32[(0 + 115384 | 0) >> 2] | 0) + 1 | 0; + label$23 : { + if (!((HEAPU8[(0 + 112845 | 0) >> 0] | 0) & 1 | 0)) { + break label$23 + } + if ((TestInternalObjects_28btTransform_20const__2c_20btTransform_20const__2c_20btVector3_20const__2c_20btVector3_20const__2c_20btConvexPolyhedron_20const__2c_20btConvexPolyhedron_20const__2c_20float_29(HEAP32[($8 + 704 | 0) >> 2] | 0 | 0, HEAP32[($8 + 700 | 0) >> 2] | 0 | 0, $8 + 644 | 0 | 0, $8 + 208 | 0 | 0, HEAP32[($8 + 712 | 0) >> 2] | 0 | 0, HEAP32[($8 + 708 | 0) >> 2] | 0 | 0, Math_fround(Math_fround(HEAPF32[($8 + 640 | 0) >> 2]))) | 0) & 1 | 0) { + break label$23 + } + break label$20; + } + HEAP32[(0 + 115388 | 0) >> 2] = (HEAP32[(0 + 115388 | 0) >> 2] | 0) + 1 | 0; + btVector3__btVector3_28_29($8 + 184 | 0 | 0) | 0; + btVector3__btVector3_28_29($8 + 168 | 0 | 0) | 0; + label$24 : { + if ((TestSepAxis_28btConvexPolyhedron_20const__2c_20btConvexPolyhedron_20const__2c_20btTransform_20const__2c_20btTransform_20const__2c_20btVector3_20const__2c_20float__2c_20btVector3__2c_20btVector3__29(HEAP32[($8 + 712 | 0) >> 2] | 0 | 0, HEAP32[($8 + 708 | 0) >> 2] | 0 | 0, HEAP32[($8 + 704 | 0) >> 2] | 0 | 0, HEAP32[($8 + 700 | 0) >> 2] | 0 | 0, $8 + 208 | 0 | 0, $8 + 200 | 0 | 0, $8 + 184 | 0 | 0, $8 + 168 | 0 | 0) | 0) & 1 | 0) { + break label$24 + } + HEAP8[($8 + 719 | 0) >> 0] = 0 & 1 | 0; + break label$1; + } + label$25 : { + if (!(Math_fround(HEAPF32[($8 + 200 | 0) >> 2]) < Math_fround(HEAPF32[($8 + 640 | 0) >> 2]) & 1 | 0)) { + break label$25 + } + HEAPF32[($8 + 640 | 0) >> 2] = Math_fround(HEAPF32[($8 + 200 | 0) >> 2]); + $554 = HEAP32[($8 + 696 | 0) >> 2] | 0; + i64toi32_i32$2 = $8; + i64toi32_i32$0 = HEAP32[($8 + 208 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($8 + 212 | 0) >> 2] | 0; + $1858 = i64toi32_i32$0; + i64toi32_i32$0 = $554; + HEAP32[i64toi32_i32$0 >> 2] = $1858; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $556 = 8; + i64toi32_i32$2 = ($8 + 208 | 0) + $556 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $1871 = i64toi32_i32$1; + i64toi32_i32$1 = $554 + $556 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $1871; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($8 + 408 | 0) >> 2] = HEAP32[($8 + 300 | 0) >> 2] | 0; + HEAP32[($8 + 404 | 0) >> 2] = HEAP32[($8 + 260 | 0) >> 2] | 0; + $564 = 8; + i64toi32_i32$2 = ($8 + 264 | 0) + $564 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $1895 = i64toi32_i32$0; + i64toi32_i32$0 = ($8 + 384 | 0) + $564 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $1895; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$2 = $8; + i64toi32_i32$1 = HEAP32[($8 + 264 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($8 + 268 | 0) >> 2] | 0; + $1899 = i64toi32_i32$1; + i64toi32_i32$1 = $8; + HEAP32[($8 + 384 | 0) >> 2] = $1899; + HEAP32[($8 + 388 | 0) >> 2] = i64toi32_i32$0; + $573 = 8; + i64toi32_i32$2 = ($8 + 224 | 0) + $573 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $1915 = i64toi32_i32$0; + i64toi32_i32$0 = ($8 + 368 | 0) + $573 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $1915; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$2 = $8; + i64toi32_i32$1 = HEAP32[($8 + 224 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($8 + 228 | 0) >> 2] | 0; + $1919 = i64toi32_i32$1; + i64toi32_i32$1 = $8; + HEAP32[($8 + 368 | 0) >> 2] = $1919; + HEAP32[($8 + 372 | 0) >> 2] = i64toi32_i32$0; + $582 = 8; + i64toi32_i32$2 = ($8 + 184 | 0) + $582 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $1935 = i64toi32_i32$0; + i64toi32_i32$0 = ($8 + 352 | 0) + $582 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $1935; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$2 = $8; + i64toi32_i32$1 = HEAP32[($8 + 184 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($8 + 188 | 0) >> 2] | 0; + $1939 = i64toi32_i32$1; + i64toi32_i32$1 = $8; + HEAP32[($8 + 352 | 0) >> 2] = $1939; + HEAP32[($8 + 356 | 0) >> 2] = i64toi32_i32$0; + $591 = 8; + i64toi32_i32$2 = ($8 + 168 | 0) + $591 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $1955 = i64toi32_i32$0; + i64toi32_i32$0 = ($8 + 320 | 0) + $591 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $1955; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$2 = $8; + i64toi32_i32$1 = HEAP32[($8 + 168 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($8 + 172 | 0) >> 2] | 0; + $1959 = i64toi32_i32$1; + i64toi32_i32$1 = $8; + HEAP32[($8 + 320 | 0) >> 2] = $1959; + HEAP32[($8 + 324 | 0) >> 2] = i64toi32_i32$0; + } + } + } + HEAP32[($8 + 260 | 0) >> 2] = (HEAP32[($8 + 260 | 0) >> 2] | 0) + 1 | 0; + continue label$19; + }; + } + HEAP32[($8 + 300 | 0) >> 2] = (HEAP32[($8 + 300 | 0) >> 2] | 0) + 1 | 0; + continue label$17; + }; + } + label$26 : { + if (!((HEAP32[($8 + 408 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0)) { + break label$26 + } + if (!((HEAP32[($8 + 404 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0)) { + break label$26 + } + btVector3__btVector3_28_29($8 + 152 | 0 | 0) | 0; + btVector3__btVector3_28_29($8 + 136 | 0 | 0) | 0; + btVector3__btVector3_28_29($8 + 120 | 0 | 0) | 0; + operator__28btVector3_20const__2c_20btVector3_20const__29($8 + 96 | 0 | 0, $8 + 320 | 0 | 0, $8 + 352 | 0 | 0); + $638 = 8; + i64toi32_i32$2 = ($8 + 384 | 0) + $638 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $2046 = i64toi32_i32$0; + i64toi32_i32$0 = ($8 + 80 | 0) + $638 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $2046; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$2 = $8; + i64toi32_i32$1 = HEAP32[($8 + 384 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($8 + 388 | 0) >> 2] | 0; + $2050 = i64toi32_i32$1; + i64toi32_i32$1 = $8; + HEAP32[($8 + 80 | 0) >> 2] = $2050; + HEAP32[($8 + 84 | 0) >> 2] = i64toi32_i32$0; + $647 = 8; + i64toi32_i32$2 = ($8 + 368 | 0) + $647 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $2066 = i64toi32_i32$0; + i64toi32_i32$0 = ($8 + 64 | 0) + $647 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $2066; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$2 = $8; + i64toi32_i32$1 = HEAP32[($8 + 368 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($8 + 372 | 0) >> 2] | 0; + $2070 = i64toi32_i32$1; + i64toi32_i32$1 = $8; + HEAP32[($8 + 64 | 0) >> 2] = $2070; + HEAP32[($8 + 68 | 0) >> 2] = i64toi32_i32$0; + HEAPF32[($8 + 60 | 0) >> 2] = Math_fround(1000000015047466219876688.0e6); + HEAPF32[($8 + 56 | 0) >> 2] = Math_fround(1000000015047466219876688.0e6); + btSegmentsClosestPoints_28btVector3__2c_20btVector3__2c_20btVector3__2c_20float__2c_20float__2c_20btVector3_20const__2c_20btVector3_20const__2c_20float_2c_20btVector3_20const__2c_20float_29($8 + 152 | 0 | 0, $8 + 136 | 0 | 0, $8 + 120 | 0 | 0, $8 + 116 | 0 | 0, $8 + 112 | 0 | 0, $8 + 96 | 0 | 0, $8 + 80 | 0 | 0, Math_fround(Math_fround(HEAPF32[($8 + 56 | 0) >> 2])), $8 + 64 | 0 | 0, Math_fround(Math_fround(HEAPF32[($8 + 60 | 0) >> 2]))); + (wasm2js_i32$0 = $8, wasm2js_f32$0 = Math_fround(btVector3__length2_28_29_20const($8 + 152 | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 52 | 0) >> 2] = wasm2js_f32$0; + label$27 : { + if (!(Math_fround(HEAPF32[($8 + 52 | 0) >> 2]) > Math_fround(1.1920928955078125e-07) & 1 | 0)) { + break label$27 + } + (wasm2js_i32$0 = $8, wasm2js_f32$0 = Math_fround(btSqrt_28float_29(Math_fround(Math_fround(HEAPF32[($8 + 52 | 0) >> 2]))))), HEAPF32[(wasm2js_i32$0 + 48 | 0) >> 2] = wasm2js_f32$0; + HEAPF32[($8 + 44 | 0) >> 2] = Math_fround(Math_fround(1.0) / Math_fround(HEAPF32[($8 + 48 | 0) >> 2])); + btVector3__operator___28float_20const__29_1($8 + 152 | 0 | 0, $8 + 44 | 0 | 0) | 0; + label$28 : { + if (!(Math_fround(btVector3__dot_28btVector3_20const__29_20const($8 + 152 | 0 | 0, $8 + 644 | 0 | 0)) < Math_fround(0 | 0) & 1 | 0)) { + break label$28 + } + HEAPF32[($8 + 40 | 0) >> 2] = Math_fround(-1.0); + btVector3__operator___28float_20const__29_1($8 + 152 | 0 | 0, $8 + 40 | 0 | 0) | 0; + } + operator__28btVector3_20const__2c_20btVector3_20const__29_2($8 + 24 | 0 | 0, $8 + 320 | 0 | 0, $8 + 120 | 0 | 0); + HEAPF32[($8 + 20 | 0) >> 2] = Math_fround(HEAPF32[($8 + 48 | 0) >> 2]); + $733 = HEAP32[($8 + 692 | 0) >> 2] | 0; + FUNCTION_TABLE[HEAP32[((HEAP32[$733 >> 2] | 0) + 16 | 0) >> 2] | 0 | 0]($733, $8 + 152 | 0, $8 + 24 | 0, Math_fround(-Math_fround(HEAPF32[($8 + 20 | 0) >> 2]))); + } + } + label$29 : { + if (!(Math_fround(btVector3__dot_28btVector3_20const__29_20const($8 + 644 | 0 | 0, HEAP32[($8 + 696 | 0) >> 2] | 0 | 0)) < Math_fround(0 | 0) & 1 | 0)) { + break label$29 + } + operator__28btVector3_20const__29($8 + 4 | 0 | 0, HEAP32[($8 + 696 | 0) >> 2] | 0 | 0); + $758 = HEAP32[($8 + 696 | 0) >> 2] | 0; + i64toi32_i32$2 = $8; + i64toi32_i32$0 = HEAP32[($8 + 4 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($8 + 8 | 0) >> 2] | 0; + $2271 = i64toi32_i32$0; + i64toi32_i32$0 = $758; + HEAP32[i64toi32_i32$0 >> 2] = $2271; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $760 = 8; + i64toi32_i32$2 = ($8 + 4 | 0) + $760 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $2284 = i64toi32_i32$1; + i64toi32_i32$1 = $758 + $760 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $2284; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + } + HEAP8[($8 + 719 | 0) >> 0] = 1 & 1 | 0; + } + $771 = (HEAPU8[($8 + 719 | 0) >> 0] | 0) & 1 | 0; + __stack_pointer = $8 + 720 | 0; + return $771 | 0; + } + + function TestSepAxis_28btConvexPolyhedron_20const__2c_20btConvexPolyhedron_20const__2c_20btTransform_20const__2c_20btTransform_20const__2c_20btVector3_20const__2c_20float__2c_20btVector3__2c_20btVector3__29($0, $1, $2, $3, $4, $5, $6, $7) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + $4 = $4 | 0; + $5 = $5 | 0; + $6 = $6 | 0; + $7 = $7 | 0; + var $10 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, $99 = 0, $101 = 0, $107 = 0, $109 = 0, $117 = 0, $119 = 0, $125 = 0, $127 = 0, $343 = 0, $356 = 0, $362 = 0, $375 = 0, $387 = 0, $400 = 0, $406 = 0, $419 = 0, $138 = 0; + $10 = __stack_pointer - 128 | 0; + __stack_pointer = $10; + HEAP32[($10 + 120 | 0) >> 2] = $0; + HEAP32[($10 + 116 | 0) >> 2] = $1; + HEAP32[($10 + 112 | 0) >> 2] = $2; + HEAP32[($10 + 108 | 0) >> 2] = $3; + HEAP32[($10 + 104 | 0) >> 2] = $4; + HEAP32[($10 + 100 | 0) >> 2] = $5; + HEAP32[($10 + 96 | 0) >> 2] = $6; + HEAP32[($10 + 92 | 0) >> 2] = $7; + btVector3__btVector3_28_29($10 + 60 | 0 | 0) | 0; + btVector3__btVector3_28_29($10 + 44 | 0 | 0) | 0; + btVector3__btVector3_28_29($10 + 28 | 0 | 0) | 0; + btVector3__btVector3_28_29($10 + 12 | 0 | 0) | 0; + btConvexPolyhedron__project_28btTransform_20const__2c_20btVector3_20const__2c_20float__2c_20float__2c_20btVector3__2c_20btVector3__29_20const(HEAP32[($10 + 120 | 0) >> 2] | 0 | 0, HEAP32[($10 + 112 | 0) >> 2] | 0 | 0, HEAP32[($10 + 104 | 0) >> 2] | 0 | 0, $10 + 88 | 0 | 0, $10 + 84 | 0 | 0, $10 + 60 | 0 | 0, $10 + 44 | 0 | 0); + btConvexPolyhedron__project_28btTransform_20const__2c_20btVector3_20const__2c_20float__2c_20float__2c_20btVector3__2c_20btVector3__29_20const(HEAP32[($10 + 116 | 0) >> 2] | 0 | 0, HEAP32[($10 + 108 | 0) >> 2] | 0 | 0, HEAP32[($10 + 104 | 0) >> 2] | 0 | 0, $10 + 80 | 0 | 0, $10 + 76 | 0 | 0, $10 + 28 | 0 | 0, $10 + 12 | 0 | 0); + label$1 : { + label$2 : { + label$3 : { + if (Math_fround(HEAPF32[($10 + 84 | 0) >> 2]) < Math_fround(HEAPF32[($10 + 80 | 0) >> 2]) & 1 | 0) { + break label$3 + } + if (!(Math_fround(HEAPF32[($10 + 76 | 0) >> 2]) < Math_fround(HEAPF32[($10 + 88 | 0) >> 2]) & 1 | 0)) { + break label$2 + } + } + HEAP8[($10 + 127 | 0) >> 0] = 0 & 1 | 0; + break label$1; + } + HEAPF32[($10 + 8 | 0) >> 2] = Math_fround(Math_fround(HEAPF32[($10 + 84 | 0) >> 2]) - Math_fround(HEAPF32[($10 + 80 | 0) >> 2])); + label$4 : { + if (Math_fround(HEAPF32[($10 + 8 | 0) >> 2]) >= Math_fround(0 | 0) & 1 | 0) { + break label$4 + } + __assert_fail(80781 | 0, 73878 | 0, 94 | 0, 69820 | 0); + wasm2js_trap(); + } + HEAPF32[($10 + 4 | 0) >> 2] = Math_fround(Math_fround(HEAPF32[($10 + 76 | 0) >> 2]) - Math_fround(HEAPF32[($10 + 88 | 0) >> 2])); + label$5 : { + if (Math_fround(HEAPF32[($10 + 4 | 0) >> 2]) >= Math_fround(0 | 0) & 1 | 0) { + break label$5 + } + __assert_fail(80772 | 0, 73878 | 0, 96 | 0, 69820 | 0); + wasm2js_trap(); + } + label$6 : { + label$7 : { + if (!(Math_fround(HEAPF32[($10 + 8 | 0) >> 2]) < Math_fround(HEAPF32[($10 + 4 | 0) >> 2]) & 1 | 0)) { + break label$7 + } + HEAPF32[(HEAP32[($10 + 100 | 0) >> 2] | 0) >> 2] = Math_fround(HEAPF32[($10 + 8 | 0) >> 2]); + $99 = HEAP32[($10 + 96 | 0) >> 2] | 0; + i64toi32_i32$2 = $10; + i64toi32_i32$0 = HEAP32[($10 + 44 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($10 + 48 | 0) >> 2] | 0; + $343 = i64toi32_i32$0; + i64toi32_i32$0 = $99; + HEAP32[i64toi32_i32$0 >> 2] = $343; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $101 = 8; + i64toi32_i32$2 = ($10 + 44 | 0) + $101 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $356 = i64toi32_i32$1; + i64toi32_i32$1 = $99 + $101 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $356; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + $107 = HEAP32[($10 + 92 | 0) >> 2] | 0; + i64toi32_i32$2 = $10; + i64toi32_i32$0 = HEAP32[($10 + 28 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($10 + 32 | 0) >> 2] | 0; + $362 = i64toi32_i32$0; + i64toi32_i32$0 = $107; + HEAP32[i64toi32_i32$0 >> 2] = $362; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $109 = 8; + i64toi32_i32$2 = ($10 + 28 | 0) + $109 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $375 = i64toi32_i32$1; + i64toi32_i32$1 = $107 + $109 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $375; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + break label$6; + } + HEAPF32[(HEAP32[($10 + 100 | 0) >> 2] | 0) >> 2] = Math_fround(HEAPF32[($10 + 4 | 0) >> 2]); + $117 = HEAP32[($10 + 96 | 0) >> 2] | 0; + i64toi32_i32$2 = $10; + i64toi32_i32$0 = HEAP32[($10 + 60 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($10 + 64 | 0) >> 2] | 0; + $387 = i64toi32_i32$0; + i64toi32_i32$0 = $117; + HEAP32[i64toi32_i32$0 >> 2] = $387; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $119 = 8; + i64toi32_i32$2 = ($10 + 60 | 0) + $119 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $400 = i64toi32_i32$1; + i64toi32_i32$1 = $117 + $119 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $400; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + $125 = HEAP32[($10 + 92 | 0) >> 2] | 0; + i64toi32_i32$2 = $10; + i64toi32_i32$0 = HEAP32[($10 + 12 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($10 + 16 | 0) >> 2] | 0; + $406 = i64toi32_i32$0; + i64toi32_i32$0 = $125; + HEAP32[i64toi32_i32$0 >> 2] = $406; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $127 = 8; + i64toi32_i32$2 = ($10 + 12 | 0) + $127 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $419 = i64toi32_i32$1; + i64toi32_i32$1 = $125 + $127 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $419; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + } + HEAP8[($10 + 127 | 0) >> 0] = 1 & 1 | 0; + } + $138 = (HEAPU8[($10 + 127 | 0) >> 0] | 0) & 1 | 0; + __stack_pointer = $10 + 128 | 0; + return $138 | 0; + } + + function btSegmentsClosestPoints_28btVector3__2c_20btVector3__2c_20btVector3__2c_20float__2c_20float__2c_20btVector3_20const__2c_20btVector3_20const__2c_20float_2c_20btVector3_20const__2c_20float_29($0, $1, $2, $3, $4, $5, $6, $7, $8, $9) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + $4 = $4 | 0; + $5 = $5 | 0; + $6 = $6 | 0; + $7 = Math_fround($7); + $8 = $8 | 0; + $9 = Math_fround($9); + var $12 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, $145 = 0, $147 = 0, $158 = 0, $160 = 0, $178 = 0, $180 = 0, $543 = 0, $556 = 0, $573 = 0, $586 = 0, $616 = 0, $629 = 0, wasm2js_i32$0 = 0, wasm2js_f32$0 = Math_fround(0); + $12 = __stack_pointer - 128 | 0; + __stack_pointer = $12; + HEAP32[($12 + 124 | 0) >> 2] = $0; + HEAP32[($12 + 120 | 0) >> 2] = $1; + HEAP32[($12 + 116 | 0) >> 2] = $2; + HEAP32[($12 + 112 | 0) >> 2] = $3; + HEAP32[($12 + 108 | 0) >> 2] = $4; + HEAP32[($12 + 104 | 0) >> 2] = $5; + HEAP32[($12 + 100 | 0) >> 2] = $6; + HEAPF32[($12 + 96 | 0) >> 2] = $7; + HEAP32[($12 + 92 | 0) >> 2] = $8; + HEAPF32[($12 + 88 | 0) >> 2] = $9; + (wasm2js_i32$0 = $12, wasm2js_f32$0 = Math_fround(btDot_28btVector3_20const__2c_20btVector3_20const__29(HEAP32[($12 + 100 | 0) >> 2] | 0 | 0, HEAP32[($12 + 92 | 0) >> 2] | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 84 | 0) >> 2] = wasm2js_f32$0; + (wasm2js_i32$0 = $12, wasm2js_f32$0 = Math_fround(btDot_28btVector3_20const__2c_20btVector3_20const__29(HEAP32[($12 + 100 | 0) >> 2] | 0 | 0, HEAP32[($12 + 104 | 0) >> 2] | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 80 | 0) >> 2] = wasm2js_f32$0; + (wasm2js_i32$0 = $12, wasm2js_f32$0 = Math_fround(btDot_28btVector3_20const__2c_20btVector3_20const__29(HEAP32[($12 + 92 | 0) >> 2] | 0 | 0, HEAP32[($12 + 104 | 0) >> 2] | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 76 | 0) >> 2] = wasm2js_f32$0; + HEAPF32[($12 + 72 | 0) >> 2] = Math_fround(Math_fround(Math_fround(-Math_fround(HEAPF32[($12 + 84 | 0) >> 2])) * Math_fround(HEAPF32[($12 + 84 | 0) >> 2])) + Math_fround(1.0)); + label$1 : { + label$2 : { + if (!(Math_fround(HEAPF32[($12 + 72 | 0) >> 2]) == Math_fround(0 | 0) & 1 | 0)) { + break label$2 + } + HEAPF32[(HEAP32[($12 + 112 | 0) >> 2] | 0) >> 2] = Math_fround(0 | 0); + break label$1; + } + HEAPF32[(HEAP32[($12 + 112 | 0) >> 2] | 0) >> 2] = Math_fround(Math_fround(Math_fround(Math_fround(-Math_fround(HEAPF32[($12 + 76 | 0) >> 2])) * Math_fround(HEAPF32[($12 + 84 | 0) >> 2])) + Math_fround(HEAPF32[($12 + 80 | 0) >> 2])) / Math_fround(HEAPF32[($12 + 72 | 0) >> 2])); + label$3 : { + label$4 : { + if (!(Math_fround(HEAPF32[(HEAP32[($12 + 112 | 0) >> 2] | 0) >> 2]) < Math_fround(-Math_fround(HEAPF32[($12 + 96 | 0) >> 2])) & 1 | 0)) { + break label$4 + } + HEAPF32[(HEAP32[($12 + 112 | 0) >> 2] | 0) >> 2] = Math_fround(-Math_fround(HEAPF32[($12 + 96 | 0) >> 2])); + break label$3; + } + label$5 : { + if (!(Math_fround(HEAPF32[(HEAP32[($12 + 112 | 0) >> 2] | 0) >> 2]) > Math_fround(HEAPF32[($12 + 96 | 0) >> 2]) & 1 | 0)) { + break label$5 + } + HEAPF32[(HEAP32[($12 + 112 | 0) >> 2] | 0) >> 2] = Math_fround(HEAPF32[($12 + 96 | 0) >> 2]); + } + } + } + HEAPF32[(HEAP32[($12 + 108 | 0) >> 2] | 0) >> 2] = Math_fround(Math_fround(Math_fround(HEAPF32[(HEAP32[($12 + 112 | 0) >> 2] | 0) >> 2]) * Math_fround(HEAPF32[($12 + 84 | 0) >> 2])) + Math_fround(-Math_fround(HEAPF32[($12 + 76 | 0) >> 2]))); + label$6 : { + label$7 : { + if (!(Math_fround(HEAPF32[(HEAP32[($12 + 108 | 0) >> 2] | 0) >> 2]) < Math_fround(-Math_fround(HEAPF32[($12 + 88 | 0) >> 2])) & 1 | 0)) { + break label$7 + } + HEAPF32[(HEAP32[($12 + 108 | 0) >> 2] | 0) >> 2] = Math_fround(-Math_fround(HEAPF32[($12 + 88 | 0) >> 2])); + HEAPF32[(HEAP32[($12 + 112 | 0) >> 2] | 0) >> 2] = Math_fround(Math_fround(Math_fround(HEAPF32[(HEAP32[($12 + 108 | 0) >> 2] | 0) >> 2]) * Math_fround(HEAPF32[($12 + 84 | 0) >> 2])) + Math_fround(HEAPF32[($12 + 80 | 0) >> 2])); + label$8 : { + label$9 : { + if (!(Math_fround(HEAPF32[(HEAP32[($12 + 112 | 0) >> 2] | 0) >> 2]) < Math_fround(-Math_fround(HEAPF32[($12 + 96 | 0) >> 2])) & 1 | 0)) { + break label$9 + } + HEAPF32[(HEAP32[($12 + 112 | 0) >> 2] | 0) >> 2] = Math_fround(-Math_fround(HEAPF32[($12 + 96 | 0) >> 2])); + break label$8; + } + label$10 : { + if (!(Math_fround(HEAPF32[(HEAP32[($12 + 112 | 0) >> 2] | 0) >> 2]) > Math_fround(HEAPF32[($12 + 96 | 0) >> 2]) & 1 | 0)) { + break label$10 + } + HEAPF32[(HEAP32[($12 + 112 | 0) >> 2] | 0) >> 2] = Math_fround(HEAPF32[($12 + 96 | 0) >> 2]); + } + } + break label$6; + } + label$11 : { + if (!(Math_fround(HEAPF32[(HEAP32[($12 + 108 | 0) >> 2] | 0) >> 2]) > Math_fround(HEAPF32[($12 + 88 | 0) >> 2]) & 1 | 0)) { + break label$11 + } + HEAPF32[(HEAP32[($12 + 108 | 0) >> 2] | 0) >> 2] = Math_fround(HEAPF32[($12 + 88 | 0) >> 2]); + HEAPF32[(HEAP32[($12 + 112 | 0) >> 2] | 0) >> 2] = Math_fround(Math_fround(Math_fround(HEAPF32[(HEAP32[($12 + 108 | 0) >> 2] | 0) >> 2]) * Math_fround(HEAPF32[($12 + 84 | 0) >> 2])) + Math_fround(HEAPF32[($12 + 80 | 0) >> 2])); + label$12 : { + label$13 : { + if (!(Math_fround(HEAPF32[(HEAP32[($12 + 112 | 0) >> 2] | 0) >> 2]) < Math_fround(-Math_fround(HEAPF32[($12 + 96 | 0) >> 2])) & 1 | 0)) { + break label$13 + } + HEAPF32[(HEAP32[($12 + 112 | 0) >> 2] | 0) >> 2] = Math_fround(-Math_fround(HEAPF32[($12 + 96 | 0) >> 2])); + break label$12; + } + label$14 : { + if (!(Math_fround(HEAPF32[(HEAP32[($12 + 112 | 0) >> 2] | 0) >> 2]) > Math_fround(HEAPF32[($12 + 96 | 0) >> 2]) & 1 | 0)) { + break label$14 + } + HEAPF32[(HEAP32[($12 + 112 | 0) >> 2] | 0) >> 2] = Math_fround(HEAPF32[($12 + 96 | 0) >> 2]); + } + } + } + } + operator__28btVector3_20const__2c_20float_20const__29($12 + 56 | 0 | 0, HEAP32[($12 + 100 | 0) >> 2] | 0 | 0, HEAP32[($12 + 112 | 0) >> 2] | 0 | 0); + $145 = HEAP32[($12 + 120 | 0) >> 2] | 0; + i64toi32_i32$2 = $12; + i64toi32_i32$0 = HEAP32[($12 + 56 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($12 + 60 | 0) >> 2] | 0; + $543 = i64toi32_i32$0; + i64toi32_i32$0 = $145; + HEAP32[i64toi32_i32$0 >> 2] = $543; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $147 = 8; + i64toi32_i32$2 = ($12 + 56 | 0) + $147 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $556 = i64toi32_i32$1; + i64toi32_i32$1 = $145 + $147 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $556; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + operator__28btVector3_20const__2c_20float_20const__29($12 + 40 | 0 | 0, HEAP32[($12 + 92 | 0) >> 2] | 0 | 0, HEAP32[($12 + 108 | 0) >> 2] | 0 | 0); + $158 = HEAP32[($12 + 116 | 0) >> 2] | 0; + i64toi32_i32$2 = $12; + i64toi32_i32$0 = HEAP32[($12 + 40 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($12 + 44 | 0) >> 2] | 0; + $573 = i64toi32_i32$0; + i64toi32_i32$0 = $158; + HEAP32[i64toi32_i32$0 >> 2] = $573; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $160 = 8; + i64toi32_i32$2 = ($12 + 40 | 0) + $160 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $586 = i64toi32_i32$1; + i64toi32_i32$1 = $158 + $160 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $586; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + operator__28btVector3_20const__2c_20btVector3_20const__29($12 + 8 | 0 | 0, HEAP32[($12 + 104 | 0) >> 2] | 0 | 0, HEAP32[($12 + 120 | 0) >> 2] | 0 | 0); + operator__28btVector3_20const__2c_20btVector3_20const__29_2($12 + 24 | 0 | 0, $12 + 8 | 0 | 0, HEAP32[($12 + 116 | 0) >> 2] | 0 | 0); + $178 = HEAP32[($12 + 124 | 0) >> 2] | 0; + i64toi32_i32$2 = $12; + i64toi32_i32$0 = HEAP32[($12 + 24 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($12 + 28 | 0) >> 2] | 0; + $616 = i64toi32_i32$0; + i64toi32_i32$0 = $178; + HEAP32[i64toi32_i32$0 >> 2] = $616; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $180 = 8; + i64toi32_i32$2 = ($12 + 24 | 0) + $180 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $629 = i64toi32_i32$1; + i64toi32_i32$1 = $178 + $180 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $629; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + __stack_pointer = $12 + 128 | 0; + return; + } + + function btPolyhedralContactClipping__clipFaceAgainstHull_28btVector3_20const__2c_20btConvexPolyhedron_20const__2c_20btTransform_20const__2c_20btAlignedObjectArray_btVector3___2c_20btAlignedObjectArray_btVector3___2c_20float_2c_20float_2c_20btDiscreteCollisionDetectorInterface__Result__29($0, $1, $2, $3, $4, $5, $6, $7) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + $4 = $4 | 0; + $5 = Math_fround($5); + $6 = Math_fround($6); + $7 = $7 | 0; + var $10 = 0, i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, i64toi32_i32$1 = 0, $195 = 0, $276 = 0, $277 = 0, $306 = 0, $307 = 0, $314 = 0, $11 = 0, $144 = 0, $740 = 0, $744 = 0, $217 = 0, $907 = 0, $911 = 0, $977 = 0, $981 = 0, wasm2js_i32$0 = 0, wasm2js_f32$0 = Math_fround(0), wasm2js_i32$1 = 0; + $10 = __stack_pointer - 384 | 0; + __stack_pointer = $10; + HEAP32[($10 + 380 | 0) >> 2] = $0; + HEAP32[($10 + 376 | 0) >> 2] = $1; + HEAP32[($10 + 372 | 0) >> 2] = $2; + HEAP32[($10 + 368 | 0) >> 2] = $3; + HEAP32[($10 + 364 | 0) >> 2] = $4; + HEAPF32[($10 + 360 | 0) >> 2] = $5; + HEAPF32[($10 + 356 | 0) >> 2] = $6; + HEAP32[($10 + 352 | 0) >> 2] = $7; + $11 = HEAP32[($10 + 364 | 0) >> 2] | 0; + btVector3__btVector3_28_29($10 + 336 | 0 | 0) | 0; + btAlignedObjectArray_btVector3___resize_28int_2c_20btVector3_20const__29($11 | 0, 0 | 0, $10 + 336 | 0 | 0); + HEAP32[($10 + 332 | 0) >> 2] = HEAP32[($10 + 368 | 0) >> 2] | 0; + HEAP32[($10 + 328 | 0) >> 2] = HEAP32[($10 + 364 | 0) >> 2] | 0; + btAlignedObjectArray_btVector3___reserve_28int_29(HEAP32[($10 + 328 | 0) >> 2] | 0 | 0, btAlignedObjectArray_btVector3___size_28_29_20const(HEAP32[($10 + 332 | 0) >> 2] | 0 | 0) | 0 | 0); + HEAP32[($10 + 324 | 0) >> 2] = -1; + HEAPF32[($10 + 320 | 0) >> 2] = Math_fround(3402823466385288598117041.0e14); + HEAP32[($10 + 316 | 0) >> 2] = 0; + label$1 : { + label$2 : while (1) { + if (!((HEAP32[($10 + 316 | 0) >> 2] | 0 | 0) < (btAlignedObjectArray_btFace___size_28_29_20const((HEAP32[($10 + 376 | 0) >> 2] | 0) + 24 | 0 | 0) | 0 | 0) & 1 | 0)) { + break label$1 + } + btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($10 + 300 | 0 | 0, (btAlignedObjectArray_btFace___operator_5b_5d_28int_29_20const((HEAP32[($10 + 376 | 0) >> 2] | 0) + 24 | 0 | 0, HEAP32[($10 + 316 | 0) >> 2] | 0 | 0) | 0) + 20 | 0 | 0, ((btAlignedObjectArray_btFace___operator_5b_5d_28int_29_20const((HEAP32[($10 + 376 | 0) >> 2] | 0) + 24 | 0 | 0, HEAP32[($10 + 316 | 0) >> 2] | 0 | 0) | 0) + 20 | 0) + 4 | 0 | 0, ((btAlignedObjectArray_btFace___operator_5b_5d_28int_29_20const((HEAP32[($10 + 376 | 0) >> 2] | 0) + 24 | 0 | 0, HEAP32[($10 + 316 | 0) >> 2] | 0 | 0) | 0) + 20 | 0) + 8 | 0 | 0) | 0; + operator__28btMatrix3x3_20const__2c_20btVector3_20const__29($10 + 284 | 0 | 0, btTransform__getBasis_28_29_20const(HEAP32[($10 + 372 | 0) >> 2] | 0 | 0) | 0 | 0, $10 + 300 | 0 | 0); + (wasm2js_i32$0 = $10, wasm2js_f32$0 = Math_fround(btVector3__dot_28btVector3_20const__29_20const($10 + 284 | 0 | 0, HEAP32[($10 + 380 | 0) >> 2] | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 280 | 0) >> 2] = wasm2js_f32$0; + label$3 : { + if (!(Math_fround(HEAPF32[($10 + 280 | 0) >> 2]) < Math_fround(HEAPF32[($10 + 320 | 0) >> 2]) & 1 | 0)) { + break label$3 + } + HEAPF32[($10 + 320 | 0) >> 2] = Math_fround(HEAPF32[($10 + 280 | 0) >> 2]); + HEAP32[($10 + 324 | 0) >> 2] = HEAP32[($10 + 316 | 0) >> 2] | 0; + } + HEAP32[($10 + 316 | 0) >> 2] = (HEAP32[($10 + 316 | 0) >> 2] | 0) + 1 | 0; + continue label$2; + }; + } + label$4 : { + label$5 : { + if (!((HEAP32[($10 + 324 | 0) >> 2] | 0 | 0) < (0 | 0) & 1 | 0)) { + break label$5 + } + break label$4; + } + (wasm2js_i32$0 = $10, wasm2js_i32$1 = btAlignedObjectArray_btFace___operator_5b_5d_28int_29_20const((HEAP32[($10 + 376 | 0) >> 2] | 0) + 24 | 0 | 0, HEAP32[($10 + 324 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 276 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $10, wasm2js_i32$1 = btAlignedObjectArray_int___size_28_29_20const(HEAP32[($10 + 276 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 272 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($10 + 268 | 0) >> 2] = 0; + label$6 : { + label$7 : while (1) { + if (!((HEAP32[($10 + 268 | 0) >> 2] | 0 | 0) < (HEAP32[($10 + 272 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$6 + } + (wasm2js_i32$0 = $10, wasm2js_i32$1 = btAlignedObjectArray_btVector3___operator_5b_5d_28int_29_20const((HEAP32[($10 + 376 | 0) >> 2] | 0) + 4 | 0 | 0, HEAP32[(btAlignedObjectArray_int___operator_5b_5d_28int_29_20const(HEAP32[($10 + 276 | 0) >> 2] | 0 | 0, HEAP32[($10 + 268 | 0) >> 2] | 0 | 0) | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 264 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $10, wasm2js_i32$1 = btAlignedObjectArray_btVector3___operator_5b_5d_28int_29_20const((HEAP32[($10 + 376 | 0) >> 2] | 0) + 4 | 0 | 0, HEAP32[(btAlignedObjectArray_int___operator_5b_5d_28int_29_20const(HEAP32[($10 + 276 | 0) >> 2] | 0 | 0, ((HEAP32[($10 + 268 | 0) >> 2] | 0) + 1 | 0 | 0) % (HEAP32[($10 + 272 | 0) >> 2] | 0 | 0) | 0 | 0) | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 260 | 0) >> 2] = wasm2js_i32$1; + operator__28btVector3_20const__2c_20btVector3_20const__29($10 + 244 | 0 | 0, HEAP32[($10 + 264 | 0) >> 2] | 0 | 0, HEAP32[($10 + 260 | 0) >> 2] | 0 | 0); + operator__28btMatrix3x3_20const__2c_20btVector3_20const__29($10 + 228 | 0 | 0, btTransform__getBasis_28_29_20const(HEAP32[($10 + 372 | 0) >> 2] | 0 | 0) | 0 | 0, $10 + 244 | 0 | 0); + $144 = btTransform__getBasis_28_29_20const(HEAP32[($10 + 372 | 0) >> 2] | 0 | 0) | 0; + btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($10 + 196 | 0 | 0, (HEAP32[($10 + 276 | 0) >> 2] | 0) + 20 | 0 | 0, ((HEAP32[($10 + 276 | 0) >> 2] | 0) + 20 | 0) + 4 | 0 | 0, ((HEAP32[($10 + 276 | 0) >> 2] | 0) + 20 | 0) + 8 | 0 | 0) | 0; + operator__28btMatrix3x3_20const__2c_20btVector3_20const__29($10 + 212 | 0 | 0, $144 | 0, $10 + 196 | 0 | 0); + btVector3__cross_28btVector3_20const__29_20const($10 + 164 | 0 | 0, $10 + 228 | 0 | 0, $10 + 212 | 0 | 0); + operator__28btVector3_20const__29($10 + 180 | 0 | 0, $10 + 164 | 0 | 0); + btTransform__operator__28btVector3_20const__29_20const($10 + 148 | 0 | 0, HEAP32[($10 + 372 | 0) >> 2] | 0 | 0, HEAP32[($10 + 264 | 0) >> 2] | 0 | 0); + (wasm2js_i32$0 = $10, wasm2js_f32$0 = Math_fround(-Math_fround(btVector3__dot_28btVector3_20const__29_20const($10 + 148 | 0 | 0, $10 + 180 | 0 | 0)))), HEAPF32[(wasm2js_i32$0 + 144 | 0) >> 2] = wasm2js_f32$0; + $195 = 8; + i64toi32_i32$2 = ($10 + 180 | 0) + $195 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $740 = i64toi32_i32$0; + i64toi32_i32$0 = ($10 + 128 | 0) + $195 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $740; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$2 = $10; + i64toi32_i32$1 = HEAP32[($10 + 180 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($10 + 184 | 0) >> 2] | 0; + $744 = i64toi32_i32$1; + i64toi32_i32$1 = $10; + HEAP32[($10 + 128 | 0) >> 2] = $744; + HEAP32[($10 + 132 | 0) >> 2] = i64toi32_i32$0; + HEAPF32[($10 + 124 | 0) >> 2] = Math_fround(HEAPF32[($10 + 144 | 0) >> 2]); + btPolyhedralContactClipping__clipFace_28btAlignedObjectArray_btVector3__20const__2c_20btAlignedObjectArray_btVector3___2c_20btVector3_20const__2c_20float_29(HEAP32[($10 + 332 | 0) >> 2] | 0 | 0, HEAP32[($10 + 328 | 0) >> 2] | 0 | 0, $10 + 128 | 0 | 0, Math_fround(Math_fround(HEAPF32[($10 + 124 | 0) >> 2]))); + void_20btSwap_btAlignedObjectArray_btVector3____28btAlignedObjectArray_btVector3____2c_20btAlignedObjectArray_btVector3____29($10 + 332 | 0 | 0, $10 + 328 | 0 | 0); + $217 = HEAP32[($10 + 328 | 0) >> 2] | 0; + btVector3__btVector3_28_29($10 + 108 | 0 | 0) | 0; + btAlignedObjectArray_btVector3___resize_28int_2c_20btVector3_20const__29($217 | 0, 0 | 0, $10 + 108 | 0 | 0); + HEAP32[($10 + 268 | 0) >> 2] = (HEAP32[($10 + 268 | 0) >> 2] | 0) + 1 | 0; + continue label$7; + }; + } + btVector3__btVector3_28_29($10 + 92 | 0 | 0) | 0; + btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($10 + 76 | 0 | 0, (HEAP32[($10 + 276 | 0) >> 2] | 0) + 20 | 0 | 0, ((HEAP32[($10 + 276 | 0) >> 2] | 0) + 20 | 0) + 4 | 0 | 0, ((HEAP32[($10 + 276 | 0) >> 2] | 0) + 20 | 0) + 8 | 0 | 0) | 0; + HEAPF32[($10 + 72 | 0) >> 2] = Math_fround(HEAPF32[((HEAP32[($10 + 276 | 0) >> 2] | 0) + 32 | 0) >> 2]); + operator__28btMatrix3x3_20const__2c_20btVector3_20const__29($10 + 56 | 0 | 0, btTransform__getBasis_28_29_20const(HEAP32[($10 + 372 | 0) >> 2] | 0 | 0) | 0 | 0, $10 + 76 | 0 | 0); + (wasm2js_i32$0 = $10, wasm2js_f32$0 = Math_fround(Math_fround(HEAPF32[($10 + 72 | 0) >> 2]) - Math_fround(btVector3__dot_28btVector3_20const__29_20const($10 + 56 | 0 | 0, btTransform__getOrigin_28_29_20const(HEAP32[($10 + 372 | 0) >> 2] | 0 | 0) | 0 | 0)))), HEAPF32[(wasm2js_i32$0 + 52 | 0) >> 2] = wasm2js_f32$0; + HEAP32[($10 + 48 | 0) >> 2] = 0; + label$8 : while (1) { + if (!((HEAP32[($10 + 48 | 0) >> 2] | 0 | 0) < (btAlignedObjectArray_btVector3___size_28_29_20const(HEAP32[($10 + 332 | 0) >> 2] | 0 | 0) | 0 | 0) & 1 | 0)) { + break label$4 + } + $276 = btAlignedObjectArray_btVector3___at_28int_29(HEAP32[($10 + 332 | 0) >> 2] | 0 | 0, HEAP32[($10 + 48 | 0) >> 2] | 0 | 0) | 0; + $277 = 8; + i64toi32_i32$2 = $276 + $277 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $907 = i64toi32_i32$0; + i64toi32_i32$0 = ($10 + 32 | 0) + $277 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $907; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$2 = $276; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $911 = i64toi32_i32$1; + i64toi32_i32$1 = $10; + HEAP32[($10 + 32 | 0) >> 2] = $911; + HEAP32[($10 + 36 | 0) >> 2] = i64toi32_i32$0; + (wasm2js_i32$0 = $10, wasm2js_f32$0 = Math_fround(Math_fround(btVector3__dot_28btVector3_20const__29_20const($10 + 56 | 0 | 0, $10 + 32 | 0 | 0)) + Math_fround(HEAPF32[($10 + 52 | 0) >> 2]))), HEAPF32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_f32$0; + label$9 : { + if (!(Math_fround(HEAPF32[($10 + 28 | 0) >> 2]) <= Math_fround(HEAPF32[($10 + 360 | 0) >> 2]) & 1 | 0)) { + break label$9 + } + HEAPF32[($10 + 28 | 0) >> 2] = Math_fround(HEAPF32[($10 + 360 | 0) >> 2]); + } + label$10 : { + if (!(Math_fround(HEAPF32[($10 + 28 | 0) >> 2]) <= Math_fround(HEAPF32[($10 + 356 | 0) >> 2]) & 1 | 0)) { + break label$10 + } + $306 = btAlignedObjectArray_btVector3___at_28int_29(HEAP32[($10 + 332 | 0) >> 2] | 0 | 0, HEAP32[($10 + 48 | 0) >> 2] | 0 | 0) | 0; + $307 = 8; + i64toi32_i32$2 = $306 + $307 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $977 = i64toi32_i32$0; + i64toi32_i32$0 = ($10 + 8 | 0) + $307 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $977; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$2 = $306; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $981 = i64toi32_i32$1; + i64toi32_i32$1 = $10; + HEAP32[($10 + 8 | 0) >> 2] = $981; + HEAP32[($10 + 12 | 0) >> 2] = i64toi32_i32$0; + $314 = HEAP32[($10 + 352 | 0) >> 2] | 0; + FUNCTION_TABLE[HEAP32[((HEAP32[$314 >> 2] | 0) + 16 | 0) >> 2] | 0 | 0]($314, HEAP32[($10 + 380 | 0) >> 2] | 0, $10 + 8 | 0, Math_fround(HEAPF32[($10 + 28 | 0) >> 2])); + } + HEAP32[($10 + 48 | 0) >> 2] = (HEAP32[($10 + 48 | 0) >> 2] | 0) + 1 | 0; + continue label$8; + }; + } + __stack_pointer = $10 + 384 | 0; + return; + } + + function void_20btSwap_btAlignedObjectArray_btVector3____28btAlignedObjectArray_btVector3____2c_20btAlignedObjectArray_btVector3____29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0; + $4 = __stack_pointer - 16 | 0; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + HEAP32[($4 + 4 | 0) >> 2] = HEAP32[(HEAP32[($4 + 12 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[(HEAP32[($4 + 12 | 0) >> 2] | 0) >> 2] = HEAP32[(HEAP32[($4 + 8 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[(HEAP32[($4 + 8 | 0) >> 2] | 0) >> 2] = HEAP32[($4 + 4 | 0) >> 2] | 0; + return; + } + + function btPolyhedralContactClipping__clipHullAgainstHull_28btVector3_20const__2c_20btConvexPolyhedron_20const__2c_20btConvexPolyhedron_20const__2c_20btTransform_20const__2c_20btTransform_20const__2c_20float_2c_20float_2c_20btAlignedObjectArray_btVector3___2c_20btAlignedObjectArray_btVector3___2c_20btDiscreteCollisionDetectorInterface__Result__29($0, $1, $2, $3, $4, $5, $6, $7, $8, $9) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + $4 = $4 | 0; + $5 = Math_fround($5); + $6 = Math_fround($6); + $7 = $7 | 0; + $8 = $8 | 0; + $9 = $9 | 0; + var $12 = 0, $83 = 0, $114 = 0, wasm2js_i32$0 = 0, wasm2js_f32$0 = Math_fround(0), wasm2js_i32$1 = 0; + $12 = __stack_pointer - 160 | 0; + __stack_pointer = $12; + HEAP32[($12 + 156 | 0) >> 2] = $0; + HEAP32[($12 + 152 | 0) >> 2] = $1; + HEAP32[($12 + 148 | 0) >> 2] = $2; + HEAP32[($12 + 144 | 0) >> 2] = $3; + HEAP32[($12 + 140 | 0) >> 2] = $4; + HEAPF32[($12 + 136 | 0) >> 2] = $5; + HEAPF32[($12 + 132 | 0) >> 2] = $6; + HEAP32[($12 + 128 | 0) >> 2] = $7; + HEAP32[($12 + 124 | 0) >> 2] = $8; + HEAP32[($12 + 120 | 0) >> 2] = $9; + btVector3__normalized_28_29_20const($12 + 104 | 0 | 0, HEAP32[($12 + 156 | 0) >> 2] | 0 | 0); + HEAP32[($12 + 100 | 0) >> 2] = -1; + HEAPF32[($12 + 96 | 0) >> 2] = Math_fround(-3402823466385288598117041.0e14); + HEAP32[($12 + 92 | 0) >> 2] = 0; + label$1 : { + label$2 : while (1) { + if (!((HEAP32[($12 + 92 | 0) >> 2] | 0 | 0) < (btAlignedObjectArray_btFace___size_28_29_20const((HEAP32[($12 + 148 | 0) >> 2] | 0) + 24 | 0 | 0) | 0 | 0) & 1 | 0)) { + break label$1 + } + btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($12 + 76 | 0 | 0, (btAlignedObjectArray_btFace___operator_5b_5d_28int_29_20const((HEAP32[($12 + 148 | 0) >> 2] | 0) + 24 | 0 | 0, HEAP32[($12 + 92 | 0) >> 2] | 0 | 0) | 0) + 20 | 0 | 0, ((btAlignedObjectArray_btFace___operator_5b_5d_28int_29_20const((HEAP32[($12 + 148 | 0) >> 2] | 0) + 24 | 0 | 0, HEAP32[($12 + 92 | 0) >> 2] | 0 | 0) | 0) + 20 | 0) + 4 | 0 | 0, ((btAlignedObjectArray_btFace___operator_5b_5d_28int_29_20const((HEAP32[($12 + 148 | 0) >> 2] | 0) + 24 | 0 | 0, HEAP32[($12 + 92 | 0) >> 2] | 0 | 0) | 0) + 20 | 0) + 8 | 0 | 0) | 0; + operator__28btMatrix3x3_20const__2c_20btVector3_20const__29($12 + 60 | 0 | 0, btTransform__getBasis_28_29_20const(HEAP32[($12 + 140 | 0) >> 2] | 0 | 0) | 0 | 0, $12 + 76 | 0 | 0); + (wasm2js_i32$0 = $12, wasm2js_f32$0 = Math_fround(btVector3__dot_28btVector3_20const__29_20const($12 + 60 | 0 | 0, $12 + 104 | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 56 | 0) >> 2] = wasm2js_f32$0; + label$3 : { + if (!(Math_fround(HEAPF32[($12 + 56 | 0) >> 2]) > Math_fround(HEAPF32[($12 + 96 | 0) >> 2]) & 1 | 0)) { + break label$3 + } + HEAPF32[($12 + 96 | 0) >> 2] = Math_fround(HEAPF32[($12 + 56 | 0) >> 2]); + HEAP32[($12 + 100 | 0) >> 2] = HEAP32[($12 + 92 | 0) >> 2] | 0; + } + HEAP32[($12 + 92 | 0) >> 2] = (HEAP32[($12 + 92 | 0) >> 2] | 0) + 1 | 0; + continue label$2; + }; + } + $83 = HEAP32[($12 + 128 | 0) >> 2] | 0; + btVector3__btVector3_28_29($12 + 40 | 0 | 0) | 0; + btAlignedObjectArray_btVector3___resize_28int_2c_20btVector3_20const__29($83 | 0, 0 | 0, $12 + 40 | 0 | 0); + (wasm2js_i32$0 = $12, wasm2js_i32$1 = btAlignedObjectArray_btFace___operator_5b_5d_28int_29_20const((HEAP32[($12 + 148 | 0) >> 2] | 0) + 24 | 0 | 0, HEAP32[($12 + 100 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 36 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $12, wasm2js_i32$1 = btAlignedObjectArray_int___size_28_29_20const(HEAP32[($12 + 36 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 32 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($12 + 28 | 0) >> 2] = 0; + label$4 : { + label$5 : while (1) { + if (!((HEAP32[($12 + 28 | 0) >> 2] | 0 | 0) < (HEAP32[($12 + 32 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$4 + } + (wasm2js_i32$0 = $12, wasm2js_i32$1 = btAlignedObjectArray_btVector3___operator_5b_5d_28int_29_20const((HEAP32[($12 + 148 | 0) >> 2] | 0) + 4 | 0 | 0, HEAP32[(btAlignedObjectArray_int___operator_5b_5d_28int_29_20const(HEAP32[($12 + 36 | 0) >> 2] | 0 | 0, HEAP32[($12 + 28 | 0) >> 2] | 0 | 0) | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 24 | 0) >> 2] = wasm2js_i32$1; + $114 = HEAP32[($12 + 128 | 0) >> 2] | 0; + btTransform__operator__28btVector3_20const__29_20const($12 + 8 | 0 | 0, HEAP32[($12 + 140 | 0) >> 2] | 0 | 0, HEAP32[($12 + 24 | 0) >> 2] | 0 | 0); + btAlignedObjectArray_btVector3___push_back_28btVector3_20const__29($114 | 0, $12 + 8 | 0 | 0); + HEAP32[($12 + 28 | 0) >> 2] = (HEAP32[($12 + 28 | 0) >> 2] | 0) + 1 | 0; + continue label$5; + }; + } + label$6 : { + if (!((HEAP32[($12 + 100 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0)) { + break label$6 + } + btPolyhedralContactClipping__clipFaceAgainstHull_28btVector3_20const__2c_20btConvexPolyhedron_20const__2c_20btTransform_20const__2c_20btAlignedObjectArray_btVector3___2c_20btAlignedObjectArray_btVector3___2c_20float_2c_20float_2c_20btDiscreteCollisionDetectorInterface__Result__29($12 + 104 | 0 | 0, HEAP32[($12 + 152 | 0) >> 2] | 0 | 0, HEAP32[($12 + 144 | 0) >> 2] | 0 | 0, HEAP32[($12 + 128 | 0) >> 2] | 0 | 0, HEAP32[($12 + 124 | 0) >> 2] | 0 | 0, Math_fround(Math_fround(HEAPF32[($12 + 136 | 0) >> 2])), Math_fround(Math_fround(HEAPF32[($12 + 132 | 0) >> 2])), HEAP32[($12 + 120 | 0) >> 2] | 0 | 0); + } + __stack_pointer = $12 + 160 | 0; + return; + } + + function _GLOBAL__sub_I_btPolyhedralContactClipping_cpp() { + __cxx_global_var_init_67(); + return; + } + + function __cxx_global_var_init_68() { + btInfMaskConverter__btInfMaskConverter_28int_29(115396 | 0, 2139095040 | 0) | 0; + return; + } + + function btFixedConstraint__btFixedConstraint_28btRigidBody__2c_20btRigidBody__2c_20btTransform_20const__2c_20btTransform_20const__29($0, $1, $2, $3, $4) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + $4 = $4 | 0; + var $7 = 0, $8 = 0; + $7 = __stack_pointer - 144 | 0; + __stack_pointer = $7; + HEAP32[($7 + 140 | 0) >> 2] = $0; + HEAP32[($7 + 136 | 0) >> 2] = $1; + HEAP32[($7 + 132 | 0) >> 2] = $2; + HEAP32[($7 + 128 | 0) >> 2] = $3; + HEAP32[($7 + 124 | 0) >> 2] = $4; + $8 = HEAP32[($7 + 140 | 0) >> 2] | 0; + btGeneric6DofSpring2Constraint__btGeneric6DofSpring2Constraint_28btRigidBody__2c_20btRigidBody__2c_20btTransform_20const__2c_20btTransform_20const__2c_20RotateOrder_29($8 | 0, HEAP32[($7 + 136 | 0) >> 2] | 0 | 0, HEAP32[($7 + 132 | 0) >> 2] | 0 | 0, HEAP32[($7 + 128 | 0) >> 2] | 0 | 0, HEAP32[($7 + 124 | 0) >> 2] | 0 | 0, 0 | 0) | 0; + HEAP32[$8 >> 2] = 101992 + 8 | 0; + HEAPF32[($7 + 104 | 0) >> 2] = Math_fround(0 | 0); + HEAPF32[($7 + 100 | 0) >> 2] = Math_fround(0 | 0); + HEAPF32[($7 + 96 | 0) >> 2] = Math_fround(0 | 0); + btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($7 + 108 | 0 | 0, $7 + 104 | 0 | 0, $7 + 100 | 0 | 0, $7 + 96 | 0 | 0) | 0; + btGeneric6DofSpring2Constraint__setAngularLowerLimit_28btVector3_20const__29($8 | 0, $7 + 108 | 0 | 0); + HEAPF32[($7 + 76 | 0) >> 2] = Math_fround(0 | 0); + HEAPF32[($7 + 72 | 0) >> 2] = Math_fround(0 | 0); + HEAPF32[($7 + 68 | 0) >> 2] = Math_fround(0 | 0); + btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($7 + 80 | 0 | 0, $7 + 76 | 0 | 0, $7 + 72 | 0 | 0, $7 + 68 | 0 | 0) | 0; + btGeneric6DofSpring2Constraint__setAngularUpperLimit_28btVector3_20const__29($8 | 0, $7 + 80 | 0 | 0); + HEAPF32[($7 + 48 | 0) >> 2] = Math_fround(0 | 0); + HEAPF32[($7 + 44 | 0) >> 2] = Math_fround(0 | 0); + HEAPF32[($7 + 40 | 0) >> 2] = Math_fround(0 | 0); + btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($7 + 52 | 0 | 0, $7 + 48 | 0 | 0, $7 + 44 | 0 | 0, $7 + 40 | 0 | 0) | 0; + btGeneric6DofSpring2Constraint__setLinearLowerLimit_28btVector3_20const__29($8 | 0, $7 + 52 | 0 | 0); + HEAPF32[($7 + 20 | 0) >> 2] = Math_fround(0 | 0); + HEAPF32[($7 + 16 | 0) >> 2] = Math_fround(0 | 0); + HEAPF32[($7 + 12 | 0) >> 2] = Math_fround(0 | 0); + btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($7 + 24 | 0 | 0, $7 + 20 | 0 | 0, $7 + 16 | 0 | 0, $7 + 12 | 0 | 0) | 0; + btGeneric6DofSpring2Constraint__setLinearUpperLimit_28btVector3_20const__29($8 | 0, $7 + 24 | 0 | 0); + __stack_pointer = $7 + 144 | 0; + return $8 | 0; + } + + function btGeneric6DofSpring2Constraint__setAngularLowerLimit_28btVector3_20const__29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, $5 = 0, $21 = Math_fround(0); + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; + HEAP32[($4 + 4 | 0) >> 2] = 0; + label$1 : { + label$2 : while (1) { + if (!((HEAP32[($4 + 4 | 0) >> 2] | 0 | 0) < (3 | 0) & 1 | 0)) { + break label$1 + } + $21 = Math_fround(btNormalizeAngle_28float_29(Math_fround(Math_fround(HEAPF32[((btVector3__operator_20float_20const__28_29_20const(HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) | 0) + ((HEAP32[($4 + 4 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2])))); + HEAPF32[(($5 + 968 | 0) + Math_imul(HEAP32[($4 + 4 | 0) >> 2] | 0, 88) | 0) >> 2] = $21; + HEAP32[($4 + 4 | 0) >> 2] = (HEAP32[($4 + 4 | 0) >> 2] | 0) + 1 | 0; + continue label$2; + }; + } + __stack_pointer = $4 + 16 | 0; + return; + } + + function btGeneric6DofSpring2Constraint__setAngularUpperLimit_28btVector3_20const__29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, $5 = 0, $21 = Math_fround(0); + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; + HEAP32[($4 + 4 | 0) >> 2] = 0; + label$1 : { + label$2 : while (1) { + if (!((HEAP32[($4 + 4 | 0) >> 2] | 0 | 0) < (3 | 0) & 1 | 0)) { + break label$1 + } + $21 = Math_fround(btNormalizeAngle_28float_29(Math_fround(Math_fround(HEAPF32[((btVector3__operator_20float_20const__28_29_20const(HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) | 0) + ((HEAP32[($4 + 4 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2])))); + HEAPF32[((($5 + 968 | 0) + Math_imul(HEAP32[($4 + 4 | 0) >> 2] | 0, 88) | 0) + 4 | 0) >> 2] = $21; + HEAP32[($4 + 4 | 0) >> 2] = (HEAP32[($4 + 4 | 0) >> 2] | 0) + 1 | 0; + continue label$2; + }; + } + __stack_pointer = $4 + 16 | 0; + return; + } + + function btGeneric6DofSpring2Constraint__setLinearLowerLimit_28btVector3_20const__29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var i64toi32_i32$2 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $4 = 0, $8 = 0, $10 = 0, $32 = 0, $42 = 0; + $4 = __stack_pointer - 16 | 0; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + $8 = (HEAP32[($4 + 12 | 0) >> 2] | 0) + 680 | 0; + i64toi32_i32$2 = HEAP32[($4 + 8 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $32 = i64toi32_i32$0; + i64toi32_i32$0 = $8; + HEAP32[i64toi32_i32$0 >> 2] = $32; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $10 = 8; + i64toi32_i32$2 = i64toi32_i32$2 + $10 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $42 = i64toi32_i32$1; + i64toi32_i32$1 = $8 + $10 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $42; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + return; + } + + function btGeneric6DofSpring2Constraint__setLinearUpperLimit_28btVector3_20const__29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var i64toi32_i32$2 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $4 = 0, $10 = 0, $12 = 0, $37 = 0, $47 = 0; + $4 = __stack_pointer - 16 | 0; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + $10 = ((HEAP32[($4 + 12 | 0) >> 2] | 0) + 680 | 0) + 16 | 0; + i64toi32_i32$2 = HEAP32[($4 + 8 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $37 = i64toi32_i32$0; + i64toi32_i32$0 = $10; + HEAP32[i64toi32_i32$0 >> 2] = $37; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $12 = 8; + i64toi32_i32$2 = i64toi32_i32$2 + $12 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $47 = i64toi32_i32$1; + i64toi32_i32$1 = $10 + $12 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $47; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + return; + } + + function btFixedConstraint___btFixedConstraint_28_29($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + btGeneric6DofSpring2Constraint___btGeneric6DofSpring2Constraint_28_29($4 | 0) | 0; + __stack_pointer = $3 + 16 | 0; + return $4 | 0; + } + + function btGeneric6DofSpring2Constraint___btGeneric6DofSpring2Constraint_28_29($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + btTypedConstraint___btTypedConstraint_28_29($4 | 0) | 0; + __stack_pointer = $3 + 16 | 0; + return $4 | 0; + } + + function btTypedConstraint___btTypedConstraint_28_29($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + HEAP32[$4 >> 2] = 102548 + 8 | 0; + return $4 | 0; + } + + function btFixedConstraint___btFixedConstraint_28_29_1($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + FUNCTION_TABLE[1048 | 0]($4) | 0; + btGeneric6DofSpring2Constraint__operator_20delete_28void__29($4 | 0); + __stack_pointer = $3 + 16 | 0; + return; + } + + function btGeneric6DofSpring2Constraint__operator_20delete_28void__29($0) { + $0 = $0 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + btAlignedFreeInternal_28void__29(HEAP32[($3 + 12 | 0) >> 2] | 0 | 0); + __stack_pointer = $3 + 16 | 0; + return; + } + + function btGeneric6DofSpring2Constraint__buildJacobian_28_29($0) { + $0 = $0 | 0; + HEAP32[((__stack_pointer - 16 | 0) + 12 | 0) >> 2] = $0; + return; + } + + function btTypedConstraint__setupSolverConstraint_28btAlignedObjectArray_btSolverConstraint___2c_20int_2c_20int_2c_20float_29($0, $1, $2, $3, $4) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + $4 = Math_fround($4); + var $7 = 0; + $7 = __stack_pointer - 32 | 0; + HEAP32[($7 + 28 | 0) >> 2] = $0; + HEAP32[($7 + 24 | 0) >> 2] = $1; + HEAP32[($7 + 20 | 0) >> 2] = $2; + HEAP32[($7 + 16 | 0) >> 2] = $3; + HEAPF32[($7 + 12 | 0) >> 2] = $4; + return; + } + + function btTypedConstraint__solveConstraintObsolete_28btSolverBody__2c_20btSolverBody__2c_20float_29($0, $1, $2, $3) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = Math_fround($3); + var $6 = 0; + $6 = __stack_pointer - 16 | 0; + HEAP32[($6 + 12 | 0) >> 2] = $0; + HEAP32[($6 + 8 | 0) >> 2] = $1; + HEAP32[($6 + 4 | 0) >> 2] = $2; + HEAPF32[$6 >> 2] = $3; + return; + } + + function btGeneric6DofSpring2Constraint__calculateSerializeBufferSize_28_29_20const($0) { + $0 = $0 | 0; + HEAP32[((__stack_pointer - 16 | 0) + 12 | 0) >> 2] = $0; + return 644 | 0; + } + + function btGeneric6DofSpring2Constraint__serialize_28void__2c_20btSerializer__29_20const($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $5 = 0, $6 = 0, $279 = 0, $306 = 0, $333 = 0, $360 = 0, $387 = 0, $514 = 0, $541 = 0, $568 = 0, $595 = 0, $622 = 0; + $5 = __stack_pointer - 32 | 0; + __stack_pointer = $5; + HEAP32[($5 + 28 | 0) >> 2] = $0; + HEAP32[($5 + 24 | 0) >> 2] = $1; + HEAP32[($5 + 20 | 0) >> 2] = $2; + $6 = HEAP32[($5 + 28 | 0) >> 2] | 0; + HEAP32[($5 + 16 | 0) >> 2] = HEAP32[($5 + 24 | 0) >> 2] | 0; + btTypedConstraint__serialize_28void__2c_20btSerializer__29_20const($6 | 0, HEAP32[($5 + 16 | 0) >> 2] | 0 | 0, HEAP32[($5 + 20 | 0) >> 2] | 0 | 0) | 0; + btTransform__serialize_28btTransformFloatData__29_20const($6 + 48 | 0 | 0, (HEAP32[($5 + 16 | 0) >> 2] | 0) + 52 | 0 | 0); + btTransform__serialize_28btTransformFloatData__29_20const($6 + 112 | 0 | 0, (HEAP32[($5 + 16 | 0) >> 2] | 0) + 116 | 0 | 0); + HEAP32[($5 + 12 | 0) >> 2] = 0; + label$1 : { + label$2 : while (1) { + if (!((HEAP32[($5 + 12 | 0) >> 2] | 0 | 0) < (3 | 0) & 1 | 0)) { + break label$1 + } + HEAPF32[(((HEAP32[($5 + 16 | 0) >> 2] | 0) + 428 | 0) + ((HEAP32[($5 + 12 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = Math_fround(HEAPF32[(($6 + 968 | 0) + Math_imul(HEAP32[($5 + 12 | 0) >> 2] | 0, 88) | 0) >> 2]); + HEAPF32[(((HEAP32[($5 + 16 | 0) >> 2] | 0) + 412 | 0) + ((HEAP32[($5 + 12 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = Math_fround(HEAPF32[((($6 + 968 | 0) + Math_imul(HEAP32[($5 + 12 | 0) >> 2] | 0, 88) | 0) + 4 | 0) >> 2]); + HEAPF32[(((HEAP32[($5 + 16 | 0) >> 2] | 0) + 444 | 0) + ((HEAP32[($5 + 12 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = Math_fround(HEAPF32[((($6 + 968 | 0) + Math_imul(HEAP32[($5 + 12 | 0) >> 2] | 0, 88) | 0) + 8 | 0) >> 2]); + HEAPF32[(((HEAP32[($5 + 16 | 0) >> 2] | 0) + 460 | 0) + ((HEAP32[($5 + 12 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = Math_fround(HEAPF32[((($6 + 968 | 0) + Math_imul(HEAP32[($5 + 12 | 0) >> 2] | 0, 88) | 0) + 12 | 0) >> 2]); + HEAPF32[(((HEAP32[($5 + 16 | 0) >> 2] | 0) + 476 | 0) + ((HEAP32[($5 + 12 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = Math_fround(HEAPF32[((($6 + 968 | 0) + Math_imul(HEAP32[($5 + 12 | 0) >> 2] | 0, 88) | 0) + 16 | 0) >> 2]); + HEAPF32[(((HEAP32[($5 + 16 | 0) >> 2] | 0) + 492 | 0) + ((HEAP32[($5 + 12 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = Math_fround(HEAPF32[((($6 + 968 | 0) + Math_imul(HEAP32[($5 + 12 | 0) >> 2] | 0, 88) | 0) + 20 | 0) >> 2]); + HEAPF32[(((HEAP32[($5 + 16 | 0) >> 2] | 0) + 508 | 0) + ((HEAP32[($5 + 12 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = Math_fround(HEAPF32[((($6 + 968 | 0) + Math_imul(HEAP32[($5 + 12 | 0) >> 2] | 0, 88) | 0) + 24 | 0) >> 2]); + HEAPF32[(((HEAP32[($5 + 16 | 0) >> 2] | 0) + 524 | 0) + ((HEAP32[($5 + 12 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = Math_fround(HEAPF32[((($6 + 968 | 0) + Math_imul(HEAP32[($5 + 12 | 0) >> 2] | 0, 88) | 0) + 32 | 0) >> 2]); + HEAPF32[(((HEAP32[($5 + 16 | 0) >> 2] | 0) + 540 | 0) + ((HEAP32[($5 + 12 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = Math_fround(HEAPF32[((($6 + 968 | 0) + Math_imul(HEAP32[($5 + 12 | 0) >> 2] | 0, 88) | 0) + 36 | 0) >> 2]); + HEAPF32[(((HEAP32[($5 + 16 | 0) >> 2] | 0) + 556 | 0) + ((HEAP32[($5 + 12 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = Math_fround(HEAPF32[((($6 + 968 | 0) + Math_imul(HEAP32[($5 + 12 | 0) >> 2] | 0, 88) | 0) + 44 | 0) >> 2]); + HEAPF32[(((HEAP32[($5 + 16 | 0) >> 2] | 0) + 572 | 0) + ((HEAP32[($5 + 12 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = Math_fround(HEAPF32[((($6 + 968 | 0) + Math_imul(HEAP32[($5 + 12 | 0) >> 2] | 0, 88) | 0) + 52 | 0) >> 2]); + HEAPF32[(((HEAP32[($5 + 16 | 0) >> 2] | 0) + 588 | 0) + ((HEAP32[($5 + 12 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = Math_fround(HEAPF32[((($6 + 968 | 0) + Math_imul(HEAP32[($5 + 12 | 0) >> 2] | 0, 88) | 0) + 60 | 0) >> 2]); + HEAPF32[(((HEAP32[($5 + 16 | 0) >> 2] | 0) + 604 | 0) + ((HEAP32[($5 + 12 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = Math_fround(HEAPF32[((($6 + 968 | 0) + Math_imul(HEAP32[($5 + 12 | 0) >> 2] | 0, 88) | 0) + 68 | 0) >> 2]); + HEAP32[($5 + 12 | 0) >> 2] = (HEAP32[($5 + 12 | 0) >> 2] | 0) + 1 | 0; + continue label$2; + }; + } + HEAPF32[((HEAP32[($5 + 16 | 0) >> 2] | 0) + 440 | 0) >> 2] = Math_fround(0 | 0); + HEAPF32[((HEAP32[($5 + 16 | 0) >> 2] | 0) + 424 | 0) >> 2] = Math_fround(0 | 0); + HEAPF32[((HEAP32[($5 + 16 | 0) >> 2] | 0) + 456 | 0) >> 2] = Math_fround(0 | 0); + HEAPF32[((HEAP32[($5 + 16 | 0) >> 2] | 0) + 472 | 0) >> 2] = Math_fround(0 | 0); + HEAPF32[((HEAP32[($5 + 16 | 0) >> 2] | 0) + 488 | 0) >> 2] = Math_fround(0 | 0); + HEAPF32[((HEAP32[($5 + 16 | 0) >> 2] | 0) + 504 | 0) >> 2] = Math_fround(0 | 0); + HEAPF32[((HEAP32[($5 + 16 | 0) >> 2] | 0) + 520 | 0) >> 2] = Math_fround(0 | 0); + HEAPF32[((HEAP32[($5 + 16 | 0) >> 2] | 0) + 536 | 0) >> 2] = Math_fround(0 | 0); + HEAPF32[((HEAP32[($5 + 16 | 0) >> 2] | 0) + 552 | 0) >> 2] = Math_fround(0 | 0); + HEAPF32[((HEAP32[($5 + 16 | 0) >> 2] | 0) + 568 | 0) >> 2] = Math_fround(0 | 0); + HEAPF32[((HEAP32[($5 + 16 | 0) >> 2] | 0) + 584 | 0) >> 2] = Math_fround(0 | 0); + HEAPF32[((HEAP32[($5 + 16 | 0) >> 2] | 0) + 600 | 0) >> 2] = Math_fround(0 | 0); + HEAPF32[((HEAP32[($5 + 16 | 0) >> 2] | 0) + 616 | 0) >> 2] = Math_fround(0 | 0); + HEAP32[($5 + 12 | 0) >> 2] = 0; + label$3 : { + label$4 : while (1) { + if (!((HEAP32[($5 + 12 | 0) >> 2] | 0 | 0) < (4 | 0) & 1 | 0)) { + break label$3 + } + label$5 : { + label$6 : { + if (!((HEAP32[($5 + 12 | 0) >> 2] | 0 | 0) < (3 | 0) & 1 | 0)) { + break label$6 + } + $279 = (HEAPU8[((($6 + 968 | 0) + Math_imul(HEAP32[($5 + 12 | 0) >> 2] | 0, 88) | 0) + 28 | 0) >> 0] | 0) & 1 | 0 ? 1 : 0; + break label$5; + } + $279 = 0; + } + HEAP8[(((HEAP32[($5 + 16 | 0) >> 2] | 0) + 620 | 0) + (HEAP32[($5 + 12 | 0) >> 2] | 0) | 0) >> 0] = $279; + label$7 : { + label$8 : { + if (!((HEAP32[($5 + 12 | 0) >> 2] | 0 | 0) < (3 | 0) & 1 | 0)) { + break label$8 + } + $306 = (HEAPU8[((($6 + 968 | 0) + Math_imul(HEAP32[($5 + 12 | 0) >> 2] | 0, 88) | 0) + 40 | 0) >> 0] | 0) & 1 | 0 ? 1 : 0; + break label$7; + } + $306 = 0; + } + HEAP8[(((HEAP32[($5 + 16 | 0) >> 2] | 0) + 624 | 0) + (HEAP32[($5 + 12 | 0) >> 2] | 0) | 0) >> 0] = $306; + label$9 : { + label$10 : { + if (!((HEAP32[($5 + 12 | 0) >> 2] | 0 | 0) < (3 | 0) & 1 | 0)) { + break label$10 + } + $333 = (HEAPU8[((($6 + 968 | 0) + Math_imul(HEAP32[($5 + 12 | 0) >> 2] | 0, 88) | 0) + 48 | 0) >> 0] | 0) & 1 | 0 ? 1 : 0; + break label$9; + } + $333 = 0; + } + HEAP8[(((HEAP32[($5 + 16 | 0) >> 2] | 0) + 628 | 0) + (HEAP32[($5 + 12 | 0) >> 2] | 0) | 0) >> 0] = $333; + label$11 : { + label$12 : { + if (!((HEAP32[($5 + 12 | 0) >> 2] | 0 | 0) < (3 | 0) & 1 | 0)) { + break label$12 + } + $360 = (HEAPU8[((($6 + 968 | 0) + Math_imul(HEAP32[($5 + 12 | 0) >> 2] | 0, 88) | 0) + 56 | 0) >> 0] | 0) & 1 | 0 ? 1 : 0; + break label$11; + } + $360 = 0; + } + HEAP8[(((HEAP32[($5 + 16 | 0) >> 2] | 0) + 632 | 0) + (HEAP32[($5 + 12 | 0) >> 2] | 0) | 0) >> 0] = $360; + label$13 : { + label$14 : { + if (!((HEAP32[($5 + 12 | 0) >> 2] | 0 | 0) < (3 | 0) & 1 | 0)) { + break label$14 + } + $387 = (HEAPU8[((($6 + 968 | 0) + Math_imul(HEAP32[($5 + 12 | 0) >> 2] | 0, 88) | 0) + 64 | 0) >> 0] | 0) & 1 | 0 ? 1 : 0; + break label$13; + } + $387 = 0; + } + HEAP8[(((HEAP32[($5 + 16 | 0) >> 2] | 0) + 636 | 0) + (HEAP32[($5 + 12 | 0) >> 2] | 0) | 0) >> 0] = $387; + HEAP32[($5 + 12 | 0) >> 2] = (HEAP32[($5 + 12 | 0) >> 2] | 0) + 1 | 0; + continue label$4; + }; + } + btVector3__serialize_28btVector3FloatData__29_20const($6 + 680 | 0 | 0, (HEAP32[($5 + 16 | 0) >> 2] | 0) + 196 | 0 | 0); + btVector3__serialize_28btVector3FloatData__29_20const(($6 + 680 | 0) + 16 | 0 | 0, (HEAP32[($5 + 16 | 0) >> 2] | 0) + 180 | 0 | 0); + btVector3__serialize_28btVector3FloatData__29_20const(($6 + 680 | 0) + 32 | 0 | 0, (HEAP32[($5 + 16 | 0) >> 2] | 0) + 212 | 0 | 0); + btVector3__serialize_28btVector3FloatData__29_20const(($6 + 680 | 0) + 48 | 0 | 0, (HEAP32[($5 + 16 | 0) >> 2] | 0) + 228 | 0 | 0); + btVector3__serialize_28btVector3FloatData__29_20const(($6 + 680 | 0) + 64 | 0 | 0, (HEAP32[($5 + 16 | 0) >> 2] | 0) + 244 | 0 | 0); + btVector3__serialize_28btVector3FloatData__29_20const(($6 + 680 | 0) + 80 | 0 | 0, (HEAP32[($5 + 16 | 0) >> 2] | 0) + 260 | 0 | 0); + btVector3__serialize_28btVector3FloatData__29_20const(($6 + 680 | 0) + 96 | 0 | 0, (HEAP32[($5 + 16 | 0) >> 2] | 0) + 276 | 0 | 0); + btVector3__serialize_28btVector3FloatData__29_20const(($6 + 680 | 0) + 196 | 0 | 0, (HEAP32[($5 + 16 | 0) >> 2] | 0) + 292 | 0 | 0); + btVector3__serialize_28btVector3FloatData__29_20const(($6 + 680 | 0) + 212 | 0 | 0, (HEAP32[($5 + 16 | 0) >> 2] | 0) + 308 | 0 | 0); + btVector3__serialize_28btVector3FloatData__29_20const(($6 + 680 | 0) + 124 | 0 | 0, (HEAP32[($5 + 16 | 0) >> 2] | 0) + 324 | 0 | 0); + btVector3__serialize_28btVector3FloatData__29_20const(($6 + 680 | 0) + 140 | 0 | 0, (HEAP32[($5 + 16 | 0) >> 2] | 0) + 340 | 0 | 0); + btVector3__serialize_28btVector3FloatData__29_20const(($6 + 680 | 0) + 160 | 0 | 0, (HEAP32[($5 + 16 | 0) >> 2] | 0) + 356 | 0 | 0); + btVector3__serialize_28btVector3FloatData__29_20const(($6 + 680 | 0) + 180 | 0 | 0, (HEAP32[($5 + 16 | 0) >> 2] | 0) + 372 | 0 | 0); + HEAP32[($5 + 12 | 0) >> 2] = 0; + label$15 : { + label$16 : while (1) { + if (!((HEAP32[($5 + 12 | 0) >> 2] | 0 | 0) < (4 | 0) & 1 | 0)) { + break label$15 + } + label$17 : { + label$18 : { + if (!((HEAP32[($5 + 12 | 0) >> 2] | 0 | 0) < (3 | 0) & 1 | 0)) { + break label$18 + } + $514 = (HEAPU8[((($6 + 680 | 0) + 112 | 0) + (HEAP32[($5 + 12 | 0) >> 2] | 0) | 0) >> 0] | 0) & 1 | 0 ? 1 : 0; + break label$17; + } + $514 = 0; + } + HEAP8[(((HEAP32[($5 + 16 | 0) >> 2] | 0) + 388 | 0) + (HEAP32[($5 + 12 | 0) >> 2] | 0) | 0) >> 0] = $514; + label$19 : { + label$20 : { + if (!((HEAP32[($5 + 12 | 0) >> 2] | 0 | 0) < (3 | 0) & 1 | 0)) { + break label$20 + } + $541 = (HEAPU8[((($6 + 680 | 0) + 115 | 0) + (HEAP32[($5 + 12 | 0) >> 2] | 0) | 0) >> 0] | 0) & 1 | 0 ? 1 : 0; + break label$19; + } + $541 = 0; + } + HEAP8[(((HEAP32[($5 + 16 | 0) >> 2] | 0) + 392 | 0) + (HEAP32[($5 + 12 | 0) >> 2] | 0) | 0) >> 0] = $541; + label$21 : { + label$22 : { + if (!((HEAP32[($5 + 12 | 0) >> 2] | 0 | 0) < (3 | 0) & 1 | 0)) { + break label$22 + } + $568 = (HEAPU8[((($6 + 680 | 0) + 118 | 0) + (HEAP32[($5 + 12 | 0) >> 2] | 0) | 0) >> 0] | 0) & 1 | 0 ? 1 : 0; + break label$21; + } + $568 = 0; + } + HEAP8[(((HEAP32[($5 + 16 | 0) >> 2] | 0) + 396 | 0) + (HEAP32[($5 + 12 | 0) >> 2] | 0) | 0) >> 0] = $568; + label$23 : { + label$24 : { + if (!((HEAP32[($5 + 12 | 0) >> 2] | 0 | 0) < (3 | 0) & 1 | 0)) { + break label$24 + } + $595 = (HEAPU8[((($6 + 680 | 0) + 156 | 0) + (HEAP32[($5 + 12 | 0) >> 2] | 0) | 0) >> 0] | 0) & 1 | 0 ? 1 : 0; + break label$23; + } + $595 = 0; + } + HEAP8[(((HEAP32[($5 + 16 | 0) >> 2] | 0) + 400 | 0) + (HEAP32[($5 + 12 | 0) >> 2] | 0) | 0) >> 0] = $595; + label$25 : { + label$26 : { + if (!((HEAP32[($5 + 12 | 0) >> 2] | 0 | 0) < (3 | 0) & 1 | 0)) { + break label$26 + } + $622 = (HEAPU8[((($6 + 680 | 0) + 176 | 0) + (HEAP32[($5 + 12 | 0) >> 2] | 0) | 0) >> 0] | 0) & 1 | 0 ? 1 : 0; + break label$25; + } + $622 = 0; + } + HEAP8[(((HEAP32[($5 + 16 | 0) >> 2] | 0) + 404 | 0) + (HEAP32[($5 + 12 | 0) >> 2] | 0) | 0) >> 0] = $622; + HEAP32[($5 + 12 | 0) >> 2] = (HEAP32[($5 + 12 | 0) >> 2] | 0) + 1 | 0; + continue label$16; + }; + } + HEAP32[((HEAP32[($5 + 16 | 0) >> 2] | 0) + 640 | 0) >> 2] = HEAP32[($6 + 1232 | 0) >> 2] | 0; + HEAP8[((HEAP32[($5 + 16 | 0) >> 2] | 0) + 408 | 0) >> 0] = 0; + HEAP8[((HEAP32[($5 + 16 | 0) >> 2] | 0) + 409 | 0) >> 0] = 0; + HEAP8[((HEAP32[($5 + 16 | 0) >> 2] | 0) + 410 | 0) >> 0] = 0; + HEAP8[((HEAP32[($5 + 16 | 0) >> 2] | 0) + 411 | 0) >> 0] = 0; + __stack_pointer = $5 + 32 | 0; + return 83125 | 0; + } + + function _GLOBAL__sub_I_btFixedConstraint_cpp() { + __cxx_global_var_init_68(); + return; + } + + function __cxx_global_var_init_69() { + btInfMaskConverter__btInfMaskConverter_28int_29(115400 | 0, 2139095040 | 0) | 0; + return; + } + + function btGeneric6DofSpring2Constraint__btGeneric6DofSpring2Constraint_28btRigidBody__2c_20btRigidBody__2c_20btTransform_20const__2c_20btTransform_20const__2c_20RotateOrder_29($0, $1, $2, $3, $4, $5) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + $4 = $4 | 0; + $5 = $5 | 0; + var $9 = 0, $8 = 0, $23 = 0, $26 = 0, $27 = 0, $29 = 0, $36 = 0, $39 = 0, $40 = 0, $42 = 0, $51 = 0, $54 = 0, $55 = 0, $57 = 0, $71 = 0, $74 = 0, $75 = 0, $77 = 0, $25 = 0, $38 = 0, $53 = 0, $73 = 0, $86 = 0; + $8 = __stack_pointer - 32 | 0; + __stack_pointer = $8; + HEAP32[($8 + 24 | 0) >> 2] = $0; + HEAP32[($8 + 20 | 0) >> 2] = $1; + HEAP32[($8 + 16 | 0) >> 2] = $2; + HEAP32[($8 + 12 | 0) >> 2] = $3; + HEAP32[($8 + 8 | 0) >> 2] = $4; + HEAP32[($8 + 4 | 0) >> 2] = $5; + $9 = HEAP32[($8 + 24 | 0) >> 2] | 0; + HEAP32[($8 + 28 | 0) >> 2] = $9; + btTypedConstraint__btTypedConstraint_28btTypedConstraintType_2c_20btRigidBody__2c_20btRigidBody__29($9 | 0, 12 | 0, HEAP32[($8 + 20 | 0) >> 2] | 0 | 0, HEAP32[($8 + 16 | 0) >> 2] | 0 | 0) | 0; + HEAP32[$9 >> 2] = 102076 + 8 | 0; + btTransform__btTransform_28btTransform_20const__29($9 + 48 | 0 | 0, HEAP32[($8 + 12 | 0) >> 2] | 0 | 0) | 0; + btTransform__btTransform_28btTransform_20const__29($9 + 112 | 0 | 0, HEAP32[($8 + 8 | 0) >> 2] | 0 | 0) | 0; + $23 = $9 + 176 | 0; + $25 = $23 + 252 | 0; + $26 = $23; + label$1 : while (1) { + $27 = $26; + btJacobianEntry__btJacobianEntry_28_29($27 | 0) | 0; + $29 = $27 + 84 | 0; + $26 = $29; + if (!(($29 | 0) == ($25 | 0) & 1 | 0)) { + continue label$1 + } + break label$1; + }; + $36 = $9 + 428 | 0; + $38 = $36 + 252 | 0; + $39 = $36; + label$2 : while (1) { + $40 = $39; + btJacobianEntry__btJacobianEntry_28_29($40 | 0) | 0; + $42 = $40 + 84 | 0; + $39 = $42; + if (!(($42 | 0) == ($38 | 0) & 1 | 0)) { + continue label$2 + } + break label$2; + }; + btTranslationalLimitMotor2__btTranslationalLimitMotor2_28_29($9 + 680 | 0 | 0) | 0; + $51 = $9 + 968 | 0; + $53 = $51 + 264 | 0; + $54 = $51; + label$3 : while (1) { + $55 = $54; + btRotationalLimitMotor2__btRotationalLimitMotor2_28_29($55 | 0) | 0; + $57 = $55 + 88 | 0; + $54 = $57; + if (!(($57 | 0) == ($53 | 0) & 1 | 0)) { + continue label$3 + } + break label$3; + }; + HEAP32[($9 + 1232 | 0) >> 2] = HEAP32[($8 + 4 | 0) >> 2] | 0; + btTransform__btTransform_28_29($9 + 1236 | 0 | 0) | 0; + btTransform__btTransform_28_29($9 + 1300 | 0 | 0) | 0; + btVector3__btVector3_28_29($9 + 1364 | 0 | 0) | 0; + $71 = $9 + 1380 | 0; + $73 = $71 + 48 | 0; + $74 = $71; + label$4 : while (1) { + $75 = $74; + btVector3__btVector3_28_29($75 | 0) | 0; + $77 = $75 + 16 | 0; + $74 = $77; + if (!(($77 | 0) == ($73 | 0) & 1 | 0)) { + continue label$4 + } + break label$4; + }; + btVector3__btVector3_28_29($9 + 1428 | 0 | 0) | 0; + HEAP32[($9 + 1456 | 0) >> 2] = 0; + btGeneric6DofSpring2Constraint__calculateTransforms_28_29($9 | 0); + $86 = HEAP32[($8 + 28 | 0) >> 2] | 0; + __stack_pointer = $8 + 32 | 0; + return $86 | 0; + } + + function btJacobianEntry__btJacobianEntry_28_29($0) { + $0 = $0 | 0; + var $4 = 0, $3 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + btVector3__btVector3_28_29($4 | 0) | 0; + btVector3__btVector3_28_29($4 + 16 | 0 | 0) | 0; + btVector3__btVector3_28_29($4 + 32 | 0 | 0) | 0; + btVector3__btVector3_28_29($4 + 48 | 0 | 0) | 0; + btVector3__btVector3_28_29($4 + 64 | 0 | 0) | 0; + __stack_pointer = $3 + 16 | 0; + return $4 | 0; + } + + function btTranslationalLimitMotor2__btTranslationalLimitMotor2_28_29($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0, $294 = 0, wasm2js_i32$0 = 0, wasm2js_f32$0 = Math_fround(0); + $3 = __stack_pointer - 144 | 0; + __stack_pointer = $3; + HEAP32[($3 + 136 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 136 | 0) >> 2] | 0; + HEAP32[($3 + 140 | 0) >> 2] = $4; + btVector3__btVector3_28_29($4 | 0) | 0; + btVector3__btVector3_28_29($4 + 16 | 0 | 0) | 0; + btVector3__btVector3_28_29($4 + 32 | 0 | 0) | 0; + btVector3__btVector3_28_29($4 + 48 | 0 | 0) | 0; + btVector3__btVector3_28_29($4 + 64 | 0 | 0) | 0; + btVector3__btVector3_28_29($4 + 80 | 0 | 0) | 0; + btVector3__btVector3_28_29($4 + 96 | 0 | 0) | 0; + btVector3__btVector3_28_29($4 + 124 | 0 | 0) | 0; + btVector3__btVector3_28_29($4 + 140 | 0 | 0) | 0; + btVector3__btVector3_28_29($4 + 160 | 0 | 0) | 0; + btVector3__btVector3_28_29($4 + 180 | 0 | 0) | 0; + btVector3__btVector3_28_29($4 + 196 | 0 | 0) | 0; + btVector3__btVector3_28_29($4 + 212 | 0 | 0) | 0; + btVector3__btVector3_28_29($4 + 228 | 0 | 0) | 0; + btVector3__btVector3_28_29($4 + 244 | 0 | 0) | 0; + btVector3__btVector3_28_29($4 + 260 | 0 | 0) | 0; + HEAPF32[($3 + 132 | 0) >> 2] = Math_fround(0 | 0); + HEAPF32[($3 + 128 | 0) >> 2] = Math_fround(0 | 0); + HEAPF32[($3 + 124 | 0) >> 2] = Math_fround(0 | 0); + btVector3__setValue_28float_20const__2c_20float_20const__2c_20float_20const__29($4 | 0, $3 + 132 | 0 | 0, $3 + 128 | 0 | 0, $3 + 124 | 0 | 0); + HEAPF32[($3 + 120 | 0) >> 2] = Math_fround(0 | 0); + HEAPF32[($3 + 116 | 0) >> 2] = Math_fround(0 | 0); + HEAPF32[($3 + 112 | 0) >> 2] = Math_fround(0 | 0); + btVector3__setValue_28float_20const__2c_20float_20const__2c_20float_20const__29($4 + 16 | 0 | 0, $3 + 120 | 0 | 0, $3 + 116 | 0 | 0, $3 + 112 | 0 | 0); + HEAPF32[($3 + 108 | 0) >> 2] = Math_fround(0 | 0); + HEAPF32[($3 + 104 | 0) >> 2] = Math_fround(0 | 0); + HEAPF32[($3 + 100 | 0) >> 2] = Math_fround(0 | 0); + btVector3__setValue_28float_20const__2c_20float_20const__2c_20float_20const__29($4 + 32 | 0 | 0, $3 + 108 | 0 | 0, $3 + 104 | 0 | 0, $3 + 100 | 0 | 0); + HEAPF32[($3 + 96 | 0) >> 2] = Math_fround(.20000000298023224); + HEAPF32[($3 + 92 | 0) >> 2] = Math_fround(.20000000298023224); + HEAPF32[($3 + 88 | 0) >> 2] = Math_fround(.20000000298023224); + btVector3__setValue_28float_20const__2c_20float_20const__2c_20float_20const__29($4 + 48 | 0 | 0, $3 + 96 | 0 | 0, $3 + 92 | 0 | 0, $3 + 88 | 0 | 0); + HEAPF32[($3 + 84 | 0) >> 2] = Math_fround(0 | 0); + HEAPF32[($3 + 80 | 0) >> 2] = Math_fround(0 | 0); + HEAPF32[($3 + 76 | 0) >> 2] = Math_fround(0 | 0); + btVector3__setValue_28float_20const__2c_20float_20const__2c_20float_20const__29($4 + 64 | 0 | 0, $3 + 84 | 0 | 0, $3 + 80 | 0 | 0, $3 + 76 | 0 | 0); + HEAPF32[($3 + 72 | 0) >> 2] = Math_fround(.8999999761581421); + HEAPF32[($3 + 68 | 0) >> 2] = Math_fround(.8999999761581421); + HEAPF32[($3 + 64 | 0) >> 2] = Math_fround(.8999999761581421); + btVector3__setValue_28float_20const__2c_20float_20const__2c_20float_20const__29($4 + 80 | 0 | 0, $3 + 72 | 0 | 0, $3 + 68 | 0 | 0, $3 + 64 | 0 | 0); + HEAPF32[($3 + 60 | 0) >> 2] = Math_fround(0 | 0); + HEAPF32[($3 + 56 | 0) >> 2] = Math_fround(0 | 0); + HEAPF32[($3 + 52 | 0) >> 2] = Math_fround(0 | 0); + btVector3__setValue_28float_20const__2c_20float_20const__2c_20float_20const__29($4 + 96 | 0 | 0, $3 + 60 | 0 | 0, $3 + 56 | 0 | 0, $3 + 52 | 0 | 0); + HEAPF32[($3 + 48 | 0) >> 2] = Math_fround(0 | 0); + HEAPF32[($3 + 44 | 0) >> 2] = Math_fround(0 | 0); + HEAPF32[($3 + 40 | 0) >> 2] = Math_fround(0 | 0); + btVector3__setValue_28float_20const__2c_20float_20const__2c_20float_20const__29($4 + 228 | 0 | 0, $3 + 48 | 0 | 0, $3 + 44 | 0 | 0, $3 + 40 | 0 | 0); + HEAPF32[($3 + 36 | 0) >> 2] = Math_fround(0 | 0); + HEAPF32[($3 + 32 | 0) >> 2] = Math_fround(0 | 0); + HEAPF32[($3 + 28 | 0) >> 2] = Math_fround(0 | 0); + btVector3__setValue_28float_20const__2c_20float_20const__2c_20float_20const__29($4 + 244 | 0 | 0, $3 + 36 | 0 | 0, $3 + 32 | 0 | 0, $3 + 28 | 0 | 0); + HEAPF32[($3 + 24 | 0) >> 2] = Math_fround(0 | 0); + HEAPF32[($3 + 20 | 0) >> 2] = Math_fround(0 | 0); + HEAPF32[($3 + 16 | 0) >> 2] = Math_fround(0 | 0); + btVector3__setValue_28float_20const__2c_20float_20const__2c_20float_20const__29($4 + 260 | 0 | 0, $3 + 24 | 0 | 0, $3 + 20 | 0 | 0, $3 + 16 | 0 | 0); + HEAP32[($3 + 12 | 0) >> 2] = 0; + label$1 : { + label$2 : while (1) { + if (!((HEAP32[($3 + 12 | 0) >> 2] | 0 | 0) < (3 | 0) & 1 | 0)) { + break label$1 + } + HEAP8[(($4 + 112 | 0) + (HEAP32[($3 + 12 | 0) >> 2] | 0) | 0) >> 0] = 0; + HEAP8[(($4 + 115 | 0) + (HEAP32[($3 + 12 | 0) >> 2] | 0) | 0) >> 0] = 0; + HEAP8[(($4 + 118 | 0) + (HEAP32[($3 + 12 | 0) >> 2] | 0) | 0) >> 0] = 0; + (wasm2js_i32$0 = (btVector3__operator_20float__28_29($4 + 124 | 0 | 0) | 0) + ((HEAP32[($3 + 12 | 0) >> 2] | 0) << 2 | 0) | 0, wasm2js_f32$0 = Math_fround(0 | 0)), HEAPF32[wasm2js_i32$0 >> 2] = wasm2js_f32$0; + (wasm2js_i32$0 = (btVector3__operator_20float__28_29($4 + 140 | 0 | 0) | 0) + ((HEAP32[($3 + 12 | 0) >> 2] | 0) << 2 | 0) | 0, wasm2js_f32$0 = Math_fround(0 | 0)), HEAPF32[wasm2js_i32$0 >> 2] = wasm2js_f32$0; + HEAP8[(($4 + 156 | 0) + (HEAP32[($3 + 12 | 0) >> 2] | 0) | 0) >> 0] = 0; + (wasm2js_i32$0 = (btVector3__operator_20float__28_29($4 + 160 | 0 | 0) | 0) + ((HEAP32[($3 + 12 | 0) >> 2] | 0) << 2 | 0) | 0, wasm2js_f32$0 = Math_fround(0 | 0)), HEAPF32[wasm2js_i32$0 >> 2] = wasm2js_f32$0; + HEAP8[(($4 + 176 | 0) + (HEAP32[($3 + 12 | 0) >> 2] | 0) | 0) >> 0] = 0; + (wasm2js_i32$0 = (btVector3__operator_20float__28_29($4 + 180 | 0 | 0) | 0) + ((HEAP32[($3 + 12 | 0) >> 2] | 0) << 2 | 0) | 0, wasm2js_f32$0 = Math_fround(0 | 0)), HEAPF32[wasm2js_i32$0 >> 2] = wasm2js_f32$0; + (wasm2js_i32$0 = (btVector3__operator_20float__28_29($4 + 196 | 0 | 0) | 0) + ((HEAP32[($3 + 12 | 0) >> 2] | 0) << 2 | 0) | 0, wasm2js_f32$0 = Math_fround(0 | 0)), HEAPF32[wasm2js_i32$0 >> 2] = wasm2js_f32$0; + (wasm2js_i32$0 = (btVector3__operator_20float__28_29($4 + 212 | 0 | 0) | 0) + ((HEAP32[($3 + 12 | 0) >> 2] | 0) << 2 | 0) | 0, wasm2js_f32$0 = Math_fround(0 | 0)), HEAPF32[wasm2js_i32$0 >> 2] = wasm2js_f32$0; + HEAP32[(($4 + 276 | 0) + ((HEAP32[($3 + 12 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = 0; + HEAP32[($3 + 12 | 0) >> 2] = (HEAP32[($3 + 12 | 0) >> 2] | 0) + 1 | 0; + continue label$2; + }; + } + $294 = HEAP32[($3 + 140 | 0) >> 2] | 0; + __stack_pointer = $3 + 144 | 0; + return $294 | 0; + } + + function btRotationalLimitMotor2__btRotationalLimitMotor2_28_29($0) { + $0 = $0 | 0; + var $4 = 0, $3 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + HEAPF32[$4 >> 2] = Math_fround(1.0); + HEAPF32[($4 + 4 | 0) >> 2] = Math_fround(-1.0); + HEAPF32[($4 + 8 | 0) >> 2] = Math_fround(0 | 0); + HEAPF32[($4 + 12 | 0) >> 2] = Math_fround(.20000000298023224); + HEAPF32[($4 + 16 | 0) >> 2] = Math_fround(0 | 0); + HEAPF32[($4 + 20 | 0) >> 2] = Math_fround(.8999999761581421); + HEAPF32[($4 + 24 | 0) >> 2] = Math_fround(0 | 0); + HEAP8[($4 + 28 | 0) >> 0] = 0; + HEAPF32[($4 + 32 | 0) >> 2] = Math_fround(0 | 0); + HEAPF32[($4 + 36 | 0) >> 2] = Math_fround(.10000000149011612); + HEAP8[($4 + 40 | 0) >> 0] = 0; + HEAPF32[($4 + 44 | 0) >> 2] = Math_fround(0 | 0); + HEAP8[($4 + 48 | 0) >> 0] = 0; + HEAPF32[($4 + 52 | 0) >> 2] = Math_fround(0 | 0); + HEAP8[($4 + 56 | 0) >> 0] = 0; + HEAPF32[($4 + 60 | 0) >> 2] = Math_fround(0 | 0); + HEAP8[($4 + 64 | 0) >> 0] = 0; + HEAPF32[($4 + 68 | 0) >> 2] = Math_fround(0 | 0); + HEAPF32[($4 + 72 | 0) >> 2] = Math_fround(0 | 0); + HEAPF32[($4 + 76 | 0) >> 2] = Math_fround(0 | 0); + HEAPF32[($4 + 80 | 0) >> 2] = Math_fround(0 | 0); + HEAP32[($4 + 84 | 0) >> 2] = 0; + return $4 | 0; + } + + function btGeneric6DofSpring2Constraint__calculateTransforms_28_29($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + btGeneric6DofSpring2Constraint__calculateTransforms_28btTransform_20const__2c_20btTransform_20const__29($4 | 0, btRigidBody__getCenterOfMassTransform_28_29_20const(HEAP32[($4 + 28 | 0) >> 2] | 0 | 0) | 0 | 0, btRigidBody__getCenterOfMassTransform_28_29_20const(HEAP32[($4 + 32 | 0) >> 2] | 0 | 0) | 0 | 0); + __stack_pointer = $3 + 16 | 0; + return; + } + + function btRigidBody__getCenterOfMassTransform_28_29_20const($0) { + $0 = $0 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + return (HEAP32[($3 + 12 | 0) >> 2] | 0) + 4 | 0 | 0; + } + + function btGeneric6DofSpring2Constraint__calculateTransforms_28btTransform_20const__2c_20btTransform_20const__29($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $5 = 0, $6 = 0, $39 = 0, wasm2js_i32$0 = 0, wasm2js_f32$0 = Math_fround(0); + $5 = __stack_pointer - 160 | 0; + __stack_pointer = $5; + HEAP32[($5 + 156 | 0) >> 2] = $0; + HEAP32[($5 + 152 | 0) >> 2] = $1; + HEAP32[($5 + 148 | 0) >> 2] = $2; + $6 = HEAP32[($5 + 156 | 0) >> 2] | 0; + btTransform__operator__28btTransform_20const__29_20const($5 + 84 | 0 | 0, HEAP32[($5 + 152 | 0) >> 2] | 0 | 0, $6 + 48 | 0 | 0); + btTransform__operator__28btTransform_20const__29($6 + 1236 | 0 | 0, $5 + 84 | 0 | 0) | 0; + btTransform__operator__28btTransform_20const__29_20const($5 + 20 | 0 | 0, HEAP32[($5 + 148 | 0) >> 2] | 0 | 0, $6 + 112 | 0 | 0); + btTransform__operator__28btTransform_20const__29($6 + 1300 | 0 | 0, $5 + 20 | 0 | 0) | 0; + btGeneric6DofSpring2Constraint__calculateLinearInfo_28_29($6 | 0); + btGeneric6DofSpring2Constraint__calculateAngleInfo_28_29($6 | 0); + (wasm2js_i32$0 = $5, wasm2js_f32$0 = Math_fround(btRigidBody__getInvMass_28_29_20const(btTypedConstraint__getRigidBodyA_28_29($6 | 0) | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_f32$0; + (wasm2js_i32$0 = $5, wasm2js_f32$0 = Math_fround(btRigidBody__getInvMass_28_29_20const(btTypedConstraint__getRigidBodyB_28_29($6 | 0) | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_f32$0; + $39 = 1; + label$1 : { + if (Math_fround(HEAPF32[($5 + 16 | 0) >> 2]) < Math_fround(1.1920928955078125e-07) & 1 | 0) { + break label$1 + } + $39 = Math_fround(HEAPF32[($5 + 12 | 0) >> 2]) < Math_fround(1.1920928955078125e-07); + } + HEAP8[($6 + 1452 | 0) >> 0] = $39 & 1 | 0; + HEAPF32[($5 + 8 | 0) >> 2] = Math_fround(Math_fround(HEAPF32[($5 + 16 | 0) >> 2]) + Math_fround(HEAPF32[($5 + 12 | 0) >> 2])); + label$2 : { + label$3 : { + if (!(Math_fround(HEAPF32[($5 + 8 | 0) >> 2]) > Math_fround(0 | 0) & 1 | 0)) { + break label$3 + } + HEAPF32[($6 + 1444 | 0) >> 2] = Math_fround(Math_fround(HEAPF32[($5 + 12 | 0) >> 2]) / Math_fround(HEAPF32[($5 + 8 | 0) >> 2])); + break label$2; + } + HEAPF32[($6 + 1444 | 0) >> 2] = Math_fround(.5); + } + HEAPF32[($6 + 1448 | 0) >> 2] = Math_fround(Math_fround(1.0) - Math_fround(HEAPF32[($6 + 1444 | 0) >> 2])); + __stack_pointer = $5 + 160 | 0; + return; + } + + function btGeneric6DofSpring2Constraint__btGetMatrixElem_28btMatrix3x3_20const__2c_20int_29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, $19 = Math_fround(0); + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + HEAP32[($4 + 4 | 0) >> 2] = (HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) % (3 | 0) | 0; + HEAP32[$4 >> 2] = (HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) / (3 | 0) | 0; + $19 = Math_fround(HEAPF32[((btVector3__operator_20float_20const__28_29_20const(btMatrix3x3__operator_5b_5d_28int_29_20const(HEAP32[($4 + 12 | 0) >> 2] | 0 | 0, HEAP32[($4 + 4 | 0) >> 2] | 0 | 0) | 0 | 0) | 0) + ((HEAP32[$4 >> 2] | 0) << 2 | 0) | 0) >> 2]); + __stack_pointer = $4 + 16 | 0; + return Math_fround($19); + } + + function btGeneric6DofSpring2Constraint__matrixToEulerXYZ_28btMatrix3x3_20const__2c_20btVector3__29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, $25 = Math_fround(0), $31 = Math_fround(0), $41 = Math_fround(0), $54 = Math_fround(0), $73 = Math_fround(0), $88 = 0, wasm2js_i32$0 = 0, wasm2js_f32$0 = Math_fround(0); + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[($4 + 8 | 0) >> 2] = $0; + HEAP32[($4 + 4 | 0) >> 2] = $1; + (wasm2js_i32$0 = $4, wasm2js_f32$0 = Math_fround(btGeneric6DofSpring2Constraint__btGetMatrixElem_28btMatrix3x3_20const__2c_20int_29(HEAP32[($4 + 8 | 0) >> 2] | 0 | 0, 2 | 0))), HEAPF32[wasm2js_i32$0 >> 2] = wasm2js_f32$0; + label$1 : { + label$2 : { + if (!(Math_fround(HEAPF32[$4 >> 2]) < Math_fround(1.0) & 1 | 0)) { + break label$2 + } + label$3 : { + if (!(Math_fround(HEAPF32[$4 >> 2]) > Math_fround(-1.0) & 1 | 0)) { + break label$3 + } + $25 = Math_fround(btAtan2_28float_2c_20float_29(Math_fround(Math_fround(-Math_fround(btGeneric6DofSpring2Constraint__btGetMatrixElem_28btMatrix3x3_20const__2c_20int_29(HEAP32[($4 + 8 | 0) >> 2] | 0 | 0, 5 | 0)))), Math_fround(Math_fround(btGeneric6DofSpring2Constraint__btGetMatrixElem_28btMatrix3x3_20const__2c_20int_29(HEAP32[($4 + 8 | 0) >> 2] | 0 | 0, 8 | 0))))); + (wasm2js_i32$0 = btVector3__operator_20float__28_29(HEAP32[($4 + 4 | 0) >> 2] | 0 | 0) | 0, wasm2js_f32$0 = $25), HEAPF32[wasm2js_i32$0 >> 2] = wasm2js_f32$0; + $31 = Math_fround(btAsin_28float_29(Math_fround(Math_fround(btGeneric6DofSpring2Constraint__btGetMatrixElem_28btMatrix3x3_20const__2c_20int_29(HEAP32[($4 + 8 | 0) >> 2] | 0 | 0, 2 | 0))))); + (wasm2js_i32$0 = btVector3__operator_20float__28_29(HEAP32[($4 + 4 | 0) >> 2] | 0 | 0) | 0, wasm2js_f32$0 = $31), HEAPF32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_f32$0; + $41 = Math_fround(btAtan2_28float_2c_20float_29(Math_fround(Math_fround(-Math_fround(btGeneric6DofSpring2Constraint__btGetMatrixElem_28btMatrix3x3_20const__2c_20int_29(HEAP32[($4 + 8 | 0) >> 2] | 0 | 0, 1 | 0)))), Math_fround(Math_fround(btGeneric6DofSpring2Constraint__btGetMatrixElem_28btMatrix3x3_20const__2c_20int_29(HEAP32[($4 + 8 | 0) >> 2] | 0 | 0, 0 | 0))))); + (wasm2js_i32$0 = btVector3__operator_20float__28_29(HEAP32[($4 + 4 | 0) >> 2] | 0 | 0) | 0, wasm2js_f32$0 = $41), HEAPF32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_f32$0; + HEAP8[($4 + 15 | 0) >> 0] = 1 & 1 | 0; + break label$1; + } + $54 = Math_fround(-Math_fround(btAtan2_28float_2c_20float_29(Math_fround(Math_fround(btGeneric6DofSpring2Constraint__btGetMatrixElem_28btMatrix3x3_20const__2c_20int_29(HEAP32[($4 + 8 | 0) >> 2] | 0 | 0, 3 | 0))), Math_fround(Math_fround(btGeneric6DofSpring2Constraint__btGetMatrixElem_28btMatrix3x3_20const__2c_20int_29(HEAP32[($4 + 8 | 0) >> 2] | 0 | 0, 4 | 0)))))); + (wasm2js_i32$0 = btVector3__operator_20float__28_29(HEAP32[($4 + 4 | 0) >> 2] | 0 | 0) | 0, wasm2js_f32$0 = $54), HEAPF32[wasm2js_i32$0 >> 2] = wasm2js_f32$0; + (wasm2js_i32$0 = btVector3__operator_20float__28_29(HEAP32[($4 + 4 | 0) >> 2] | 0 | 0) | 0, wasm2js_f32$0 = Math_fround(-1.5707963705062866)), HEAPF32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_f32$0; + (wasm2js_i32$0 = btVector3__operator_20float__28_29(HEAP32[($4 + 4 | 0) >> 2] | 0 | 0) | 0, wasm2js_f32$0 = Math_fround(0 | 0)), HEAPF32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_f32$0; + HEAP8[($4 + 15 | 0) >> 0] = 0 & 1 | 0; + break label$1; + } + $73 = Math_fround(btAtan2_28float_2c_20float_29(Math_fround(Math_fround(btGeneric6DofSpring2Constraint__btGetMatrixElem_28btMatrix3x3_20const__2c_20int_29(HEAP32[($4 + 8 | 0) >> 2] | 0 | 0, 3 | 0))), Math_fround(Math_fround(btGeneric6DofSpring2Constraint__btGetMatrixElem_28btMatrix3x3_20const__2c_20int_29(HEAP32[($4 + 8 | 0) >> 2] | 0 | 0, 4 | 0))))); + (wasm2js_i32$0 = btVector3__operator_20float__28_29(HEAP32[($4 + 4 | 0) >> 2] | 0 | 0) | 0, wasm2js_f32$0 = $73), HEAPF32[wasm2js_i32$0 >> 2] = wasm2js_f32$0; + (wasm2js_i32$0 = btVector3__operator_20float__28_29(HEAP32[($4 + 4 | 0) >> 2] | 0 | 0) | 0, wasm2js_f32$0 = Math_fround(1.5707963705062866)), HEAPF32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_f32$0; + (wasm2js_i32$0 = btVector3__operator_20float__28_29(HEAP32[($4 + 4 | 0) >> 2] | 0 | 0) | 0, wasm2js_f32$0 = Math_fround(0 | 0)), HEAPF32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_f32$0; + HEAP8[($4 + 15 | 0) >> 0] = 0 & 1 | 0; + } + $88 = (HEAPU8[($4 + 15 | 0) >> 0] | 0) & 1 | 0; + __stack_pointer = $4 + 16 | 0; + return $88 | 0; + } + + function btAsin_28float_29($0) { + $0 = Math_fround($0); + var $3 = 0, $17 = Math_fround(0); + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAPF32[($3 + 12 | 0) >> 2] = $0; + label$1 : { + if (!(Math_fround(HEAPF32[($3 + 12 | 0) >> 2]) < Math_fround(-1.0) & 1 | 0)) { + break label$1 + } + HEAPF32[($3 + 12 | 0) >> 2] = Math_fround(-1.0); + } + label$2 : { + if (!(Math_fround(HEAPF32[($3 + 12 | 0) >> 2]) > Math_fround(1.0) & 1 | 0)) { + break label$2 + } + HEAPF32[($3 + 12 | 0) >> 2] = Math_fround(1.0); + } + $17 = Math_fround(asinf(Math_fround(Math_fround(HEAPF32[($3 + 12 | 0) >> 2])))); + __stack_pointer = $3 + 16 | 0; + return Math_fround($17); + } + + function btGeneric6DofSpring2Constraint__matrixToEulerXZY_28btMatrix3x3_20const__2c_20btVector3__29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, $24 = Math_fround(0), $33 = Math_fround(0), $40 = Math_fround(0), $54 = Math_fround(0), $74 = Math_fround(0), $89 = 0, wasm2js_i32$0 = 0, wasm2js_f32$0 = Math_fround(0); + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[($4 + 8 | 0) >> 2] = $0; + HEAP32[($4 + 4 | 0) >> 2] = $1; + (wasm2js_i32$0 = $4, wasm2js_f32$0 = Math_fround(btGeneric6DofSpring2Constraint__btGetMatrixElem_28btMatrix3x3_20const__2c_20int_29(HEAP32[($4 + 8 | 0) >> 2] | 0 | 0, 1 | 0))), HEAPF32[wasm2js_i32$0 >> 2] = wasm2js_f32$0; + label$1 : { + label$2 : { + if (!(Math_fround(HEAPF32[$4 >> 2]) < Math_fround(1.0) & 1 | 0)) { + break label$2 + } + label$3 : { + if (!(Math_fround(HEAPF32[$4 >> 2]) > Math_fround(-1.0) & 1 | 0)) { + break label$3 + } + $24 = Math_fround(btAtan2_28float_2c_20float_29(Math_fround(Math_fround(btGeneric6DofSpring2Constraint__btGetMatrixElem_28btMatrix3x3_20const__2c_20int_29(HEAP32[($4 + 8 | 0) >> 2] | 0 | 0, 7 | 0))), Math_fround(Math_fround(btGeneric6DofSpring2Constraint__btGetMatrixElem_28btMatrix3x3_20const__2c_20int_29(HEAP32[($4 + 8 | 0) >> 2] | 0 | 0, 4 | 0))))); + (wasm2js_i32$0 = btVector3__operator_20float__28_29(HEAP32[($4 + 4 | 0) >> 2] | 0 | 0) | 0, wasm2js_f32$0 = $24), HEAPF32[wasm2js_i32$0 >> 2] = wasm2js_f32$0; + $33 = Math_fround(btAtan2_28float_2c_20float_29(Math_fround(Math_fround(btGeneric6DofSpring2Constraint__btGetMatrixElem_28btMatrix3x3_20const__2c_20int_29(HEAP32[($4 + 8 | 0) >> 2] | 0 | 0, 2 | 0))), Math_fround(Math_fround(btGeneric6DofSpring2Constraint__btGetMatrixElem_28btMatrix3x3_20const__2c_20int_29(HEAP32[($4 + 8 | 0) >> 2] | 0 | 0, 0 | 0))))); + (wasm2js_i32$0 = btVector3__operator_20float__28_29(HEAP32[($4 + 4 | 0) >> 2] | 0 | 0) | 0, wasm2js_f32$0 = $33), HEAPF32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_f32$0; + $40 = Math_fround(btAsin_28float_29(Math_fround(Math_fround(-Math_fround(btGeneric6DofSpring2Constraint__btGetMatrixElem_28btMatrix3x3_20const__2c_20int_29(HEAP32[($4 + 8 | 0) >> 2] | 0 | 0, 1 | 0)))))); + (wasm2js_i32$0 = btVector3__operator_20float__28_29(HEAP32[($4 + 4 | 0) >> 2] | 0 | 0) | 0, wasm2js_f32$0 = $40), HEAPF32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_f32$0; + HEAP8[($4 + 15 | 0) >> 0] = 1 & 1 | 0; + break label$1; + } + $54 = Math_fround(-Math_fround(btAtan2_28float_2c_20float_29(Math_fround(Math_fround(-Math_fround(btGeneric6DofSpring2Constraint__btGetMatrixElem_28btMatrix3x3_20const__2c_20int_29(HEAP32[($4 + 8 | 0) >> 2] | 0 | 0, 6 | 0)))), Math_fround(Math_fround(btGeneric6DofSpring2Constraint__btGetMatrixElem_28btMatrix3x3_20const__2c_20int_29(HEAP32[($4 + 8 | 0) >> 2] | 0 | 0, 8 | 0)))))); + (wasm2js_i32$0 = btVector3__operator_20float__28_29(HEAP32[($4 + 4 | 0) >> 2] | 0 | 0) | 0, wasm2js_f32$0 = $54), HEAPF32[wasm2js_i32$0 >> 2] = wasm2js_f32$0; + (wasm2js_i32$0 = btVector3__operator_20float__28_29(HEAP32[($4 + 4 | 0) >> 2] | 0 | 0) | 0, wasm2js_f32$0 = Math_fround(0 | 0)), HEAPF32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_f32$0; + (wasm2js_i32$0 = btVector3__operator_20float__28_29(HEAP32[($4 + 4 | 0) >> 2] | 0 | 0) | 0, wasm2js_f32$0 = Math_fround(1.5707963705062866)), HEAPF32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_f32$0; + HEAP8[($4 + 15 | 0) >> 0] = 0 & 1 | 0; + break label$1; + } + $74 = Math_fround(btAtan2_28float_2c_20float_29(Math_fround(Math_fround(-Math_fround(btGeneric6DofSpring2Constraint__btGetMatrixElem_28btMatrix3x3_20const__2c_20int_29(HEAP32[($4 + 8 | 0) >> 2] | 0 | 0, 6 | 0)))), Math_fround(Math_fround(btGeneric6DofSpring2Constraint__btGetMatrixElem_28btMatrix3x3_20const__2c_20int_29(HEAP32[($4 + 8 | 0) >> 2] | 0 | 0, 8 | 0))))); + (wasm2js_i32$0 = btVector3__operator_20float__28_29(HEAP32[($4 + 4 | 0) >> 2] | 0 | 0) | 0, wasm2js_f32$0 = $74), HEAPF32[wasm2js_i32$0 >> 2] = wasm2js_f32$0; + (wasm2js_i32$0 = btVector3__operator_20float__28_29(HEAP32[($4 + 4 | 0) >> 2] | 0 | 0) | 0, wasm2js_f32$0 = Math_fround(0 | 0)), HEAPF32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_f32$0; + (wasm2js_i32$0 = btVector3__operator_20float__28_29(HEAP32[($4 + 4 | 0) >> 2] | 0 | 0) | 0, wasm2js_f32$0 = Math_fround(-1.5707963705062866)), HEAPF32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_f32$0; + HEAP8[($4 + 15 | 0) >> 0] = 0 & 1 | 0; + } + $89 = (HEAPU8[($4 + 15 | 0) >> 0] | 0) & 1 | 0; + __stack_pointer = $4 + 16 | 0; + return $89 | 0; + } + + function btGeneric6DofSpring2Constraint__matrixToEulerYXZ_28btMatrix3x3_20const__2c_20btVector3__29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, $22 = Math_fround(0), $31 = Math_fround(0), $40 = Math_fround(0), $57 = Math_fround(0), $77 = Math_fround(0), $89 = 0, wasm2js_i32$0 = 0, wasm2js_f32$0 = Math_fround(0); + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[($4 + 8 | 0) >> 2] = $0; + HEAP32[($4 + 4 | 0) >> 2] = $1; + (wasm2js_i32$0 = $4, wasm2js_f32$0 = Math_fround(btGeneric6DofSpring2Constraint__btGetMatrixElem_28btMatrix3x3_20const__2c_20int_29(HEAP32[($4 + 8 | 0) >> 2] | 0 | 0, 5 | 0))), HEAPF32[wasm2js_i32$0 >> 2] = wasm2js_f32$0; + label$1 : { + label$2 : { + if (!(Math_fround(HEAPF32[$4 >> 2]) < Math_fround(1.0) & 1 | 0)) { + break label$2 + } + label$3 : { + if (!(Math_fround(HEAPF32[$4 >> 2]) > Math_fround(-1.0) & 1 | 0)) { + break label$3 + } + $22 = Math_fround(btAsin_28float_29(Math_fround(Math_fround(-Math_fround(btGeneric6DofSpring2Constraint__btGetMatrixElem_28btMatrix3x3_20const__2c_20int_29(HEAP32[($4 + 8 | 0) >> 2] | 0 | 0, 5 | 0)))))); + (wasm2js_i32$0 = btVector3__operator_20float__28_29(HEAP32[($4 + 4 | 0) >> 2] | 0 | 0) | 0, wasm2js_f32$0 = $22), HEAPF32[wasm2js_i32$0 >> 2] = wasm2js_f32$0; + $31 = Math_fround(btAtan2_28float_2c_20float_29(Math_fround(Math_fround(btGeneric6DofSpring2Constraint__btGetMatrixElem_28btMatrix3x3_20const__2c_20int_29(HEAP32[($4 + 8 | 0) >> 2] | 0 | 0, 2 | 0))), Math_fround(Math_fround(btGeneric6DofSpring2Constraint__btGetMatrixElem_28btMatrix3x3_20const__2c_20int_29(HEAP32[($4 + 8 | 0) >> 2] | 0 | 0, 8 | 0))))); + (wasm2js_i32$0 = btVector3__operator_20float__28_29(HEAP32[($4 + 4 | 0) >> 2] | 0 | 0) | 0, wasm2js_f32$0 = $31), HEAPF32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_f32$0; + $40 = Math_fround(btAtan2_28float_2c_20float_29(Math_fround(Math_fround(btGeneric6DofSpring2Constraint__btGetMatrixElem_28btMatrix3x3_20const__2c_20int_29(HEAP32[($4 + 8 | 0) >> 2] | 0 | 0, 3 | 0))), Math_fround(Math_fround(btGeneric6DofSpring2Constraint__btGetMatrixElem_28btMatrix3x3_20const__2c_20int_29(HEAP32[($4 + 8 | 0) >> 2] | 0 | 0, 4 | 0))))); + (wasm2js_i32$0 = btVector3__operator_20float__28_29(HEAP32[($4 + 4 | 0) >> 2] | 0 | 0) | 0, wasm2js_f32$0 = $40), HEAPF32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_f32$0; + HEAP8[($4 + 15 | 0) >> 0] = 1 & 1 | 0; + break label$1; + } + (wasm2js_i32$0 = btVector3__operator_20float__28_29(HEAP32[($4 + 4 | 0) >> 2] | 0 | 0) | 0, wasm2js_f32$0 = Math_fround(1.5707963705062866)), HEAPF32[wasm2js_i32$0 >> 2] = wasm2js_f32$0; + $57 = Math_fround(-Math_fround(btAtan2_28float_2c_20float_29(Math_fround(Math_fround(-Math_fround(btGeneric6DofSpring2Constraint__btGetMatrixElem_28btMatrix3x3_20const__2c_20int_29(HEAP32[($4 + 8 | 0) >> 2] | 0 | 0, 1 | 0)))), Math_fround(Math_fround(btGeneric6DofSpring2Constraint__btGetMatrixElem_28btMatrix3x3_20const__2c_20int_29(HEAP32[($4 + 8 | 0) >> 2] | 0 | 0, 0 | 0)))))); + (wasm2js_i32$0 = btVector3__operator_20float__28_29(HEAP32[($4 + 4 | 0) >> 2] | 0 | 0) | 0, wasm2js_f32$0 = $57), HEAPF32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_f32$0; + (wasm2js_i32$0 = btVector3__operator_20float__28_29(HEAP32[($4 + 4 | 0) >> 2] | 0 | 0) | 0, wasm2js_f32$0 = Math_fround(0 | 0)), HEAPF32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_f32$0; + HEAP8[($4 + 15 | 0) >> 0] = 0 & 1 | 0; + break label$1; + } + (wasm2js_i32$0 = btVector3__operator_20float__28_29(HEAP32[($4 + 4 | 0) >> 2] | 0 | 0) | 0, wasm2js_f32$0 = Math_fround(-1.5707963705062866)), HEAPF32[wasm2js_i32$0 >> 2] = wasm2js_f32$0; + $77 = Math_fround(btAtan2_28float_2c_20float_29(Math_fround(Math_fround(-Math_fround(btGeneric6DofSpring2Constraint__btGetMatrixElem_28btMatrix3x3_20const__2c_20int_29(HEAP32[($4 + 8 | 0) >> 2] | 0 | 0, 1 | 0)))), Math_fround(Math_fround(btGeneric6DofSpring2Constraint__btGetMatrixElem_28btMatrix3x3_20const__2c_20int_29(HEAP32[($4 + 8 | 0) >> 2] | 0 | 0, 0 | 0))))); + (wasm2js_i32$0 = btVector3__operator_20float__28_29(HEAP32[($4 + 4 | 0) >> 2] | 0 | 0) | 0, wasm2js_f32$0 = $77), HEAPF32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_f32$0; + (wasm2js_i32$0 = btVector3__operator_20float__28_29(HEAP32[($4 + 4 | 0) >> 2] | 0 | 0) | 0, wasm2js_f32$0 = Math_fround(0 | 0)), HEAPF32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_f32$0; + HEAP8[($4 + 15 | 0) >> 0] = 0 & 1 | 0; + } + $89 = (HEAPU8[($4 + 15 | 0) >> 0] | 0) & 1 | 0; + __stack_pointer = $4 + 16 | 0; + return $89 | 0; + } + + function btGeneric6DofSpring2Constraint__matrixToEulerYZX_28btMatrix3x3_20const__2c_20btVector3__29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, $25 = Math_fround(0), $35 = Math_fround(0), $41 = Math_fround(0), $58 = Math_fround(0), $77 = Math_fround(0), $88 = 0, wasm2js_i32$0 = 0, wasm2js_f32$0 = Math_fround(0); + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[($4 + 8 | 0) >> 2] = $0; + HEAP32[($4 + 4 | 0) >> 2] = $1; + (wasm2js_i32$0 = $4, wasm2js_f32$0 = Math_fround(btGeneric6DofSpring2Constraint__btGetMatrixElem_28btMatrix3x3_20const__2c_20int_29(HEAP32[($4 + 8 | 0) >> 2] | 0 | 0, 3 | 0))), HEAPF32[wasm2js_i32$0 >> 2] = wasm2js_f32$0; + label$1 : { + label$2 : { + if (!(Math_fround(HEAPF32[$4 >> 2]) < Math_fround(1.0) & 1 | 0)) { + break label$2 + } + label$3 : { + if (!(Math_fround(HEAPF32[$4 >> 2]) > Math_fround(-1.0) & 1 | 0)) { + break label$3 + } + $25 = Math_fround(btAtan2_28float_2c_20float_29(Math_fround(Math_fround(-Math_fround(btGeneric6DofSpring2Constraint__btGetMatrixElem_28btMatrix3x3_20const__2c_20int_29(HEAP32[($4 + 8 | 0) >> 2] | 0 | 0, 5 | 0)))), Math_fround(Math_fround(btGeneric6DofSpring2Constraint__btGetMatrixElem_28btMatrix3x3_20const__2c_20int_29(HEAP32[($4 + 8 | 0) >> 2] | 0 | 0, 4 | 0))))); + (wasm2js_i32$0 = btVector3__operator_20float__28_29(HEAP32[($4 + 4 | 0) >> 2] | 0 | 0) | 0, wasm2js_f32$0 = $25), HEAPF32[wasm2js_i32$0 >> 2] = wasm2js_f32$0; + $35 = Math_fround(btAtan2_28float_2c_20float_29(Math_fround(Math_fround(-Math_fround(btGeneric6DofSpring2Constraint__btGetMatrixElem_28btMatrix3x3_20const__2c_20int_29(HEAP32[($4 + 8 | 0) >> 2] | 0 | 0, 6 | 0)))), Math_fround(Math_fround(btGeneric6DofSpring2Constraint__btGetMatrixElem_28btMatrix3x3_20const__2c_20int_29(HEAP32[($4 + 8 | 0) >> 2] | 0 | 0, 0 | 0))))); + (wasm2js_i32$0 = btVector3__operator_20float__28_29(HEAP32[($4 + 4 | 0) >> 2] | 0 | 0) | 0, wasm2js_f32$0 = $35), HEAPF32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_f32$0; + $41 = Math_fround(btAsin_28float_29(Math_fround(Math_fround(btGeneric6DofSpring2Constraint__btGetMatrixElem_28btMatrix3x3_20const__2c_20int_29(HEAP32[($4 + 8 | 0) >> 2] | 0 | 0, 3 | 0))))); + (wasm2js_i32$0 = btVector3__operator_20float__28_29(HEAP32[($4 + 4 | 0) >> 2] | 0 | 0) | 0, wasm2js_f32$0 = $41), HEAPF32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_f32$0; + HEAP8[($4 + 15 | 0) >> 0] = 1 & 1 | 0; + break label$1; + } + (wasm2js_i32$0 = btVector3__operator_20float__28_29(HEAP32[($4 + 4 | 0) >> 2] | 0 | 0) | 0, wasm2js_f32$0 = Math_fround(0 | 0)), HEAPF32[wasm2js_i32$0 >> 2] = wasm2js_f32$0; + $58 = Math_fround(-Math_fround(btAtan2_28float_2c_20float_29(Math_fround(Math_fround(btGeneric6DofSpring2Constraint__btGetMatrixElem_28btMatrix3x3_20const__2c_20int_29(HEAP32[($4 + 8 | 0) >> 2] | 0 | 0, 7 | 0))), Math_fround(Math_fround(btGeneric6DofSpring2Constraint__btGetMatrixElem_28btMatrix3x3_20const__2c_20int_29(HEAP32[($4 + 8 | 0) >> 2] | 0 | 0, 8 | 0)))))); + (wasm2js_i32$0 = btVector3__operator_20float__28_29(HEAP32[($4 + 4 | 0) >> 2] | 0 | 0) | 0, wasm2js_f32$0 = $58), HEAPF32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_f32$0; + (wasm2js_i32$0 = btVector3__operator_20float__28_29(HEAP32[($4 + 4 | 0) >> 2] | 0 | 0) | 0, wasm2js_f32$0 = Math_fround(-1.5707963705062866)), HEAPF32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_f32$0; + HEAP8[($4 + 15 | 0) >> 0] = 0 & 1 | 0; + break label$1; + } + (wasm2js_i32$0 = btVector3__operator_20float__28_29(HEAP32[($4 + 4 | 0) >> 2] | 0 | 0) | 0, wasm2js_f32$0 = Math_fround(0 | 0)), HEAPF32[wasm2js_i32$0 >> 2] = wasm2js_f32$0; + $77 = Math_fround(btAtan2_28float_2c_20float_29(Math_fround(Math_fround(btGeneric6DofSpring2Constraint__btGetMatrixElem_28btMatrix3x3_20const__2c_20int_29(HEAP32[($4 + 8 | 0) >> 2] | 0 | 0, 7 | 0))), Math_fround(Math_fround(btGeneric6DofSpring2Constraint__btGetMatrixElem_28btMatrix3x3_20const__2c_20int_29(HEAP32[($4 + 8 | 0) >> 2] | 0 | 0, 8 | 0))))); + (wasm2js_i32$0 = btVector3__operator_20float__28_29(HEAP32[($4 + 4 | 0) >> 2] | 0 | 0) | 0, wasm2js_f32$0 = $77), HEAPF32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_f32$0; + (wasm2js_i32$0 = btVector3__operator_20float__28_29(HEAP32[($4 + 4 | 0) >> 2] | 0 | 0) | 0, wasm2js_f32$0 = Math_fround(1.5707963705062866)), HEAPF32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_f32$0; + HEAP8[($4 + 15 | 0) >> 0] = 0 & 1 | 0; + } + $88 = (HEAPU8[($4 + 15 | 0) >> 0] | 0) & 1 | 0; + __stack_pointer = $4 + 16 | 0; + return $88 | 0; + } + + function btGeneric6DofSpring2Constraint__matrixToEulerZXY_28btMatrix3x3_20const__2c_20btVector3__29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, $21 = Math_fround(0), $31 = Math_fround(0), $41 = Math_fround(0), $61 = Math_fround(0), $80 = Math_fround(0), $88 = 0, wasm2js_i32$0 = 0, wasm2js_f32$0 = Math_fround(0); + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[($4 + 8 | 0) >> 2] = $0; + HEAP32[($4 + 4 | 0) >> 2] = $1; + (wasm2js_i32$0 = $4, wasm2js_f32$0 = Math_fround(btGeneric6DofSpring2Constraint__btGetMatrixElem_28btMatrix3x3_20const__2c_20int_29(HEAP32[($4 + 8 | 0) >> 2] | 0 | 0, 7 | 0))), HEAPF32[wasm2js_i32$0 >> 2] = wasm2js_f32$0; + label$1 : { + label$2 : { + if (!(Math_fround(HEAPF32[$4 >> 2]) < Math_fround(1.0) & 1 | 0)) { + break label$2 + } + label$3 : { + if (!(Math_fround(HEAPF32[$4 >> 2]) > Math_fround(-1.0) & 1 | 0)) { + break label$3 + } + $21 = Math_fround(btAsin_28float_29(Math_fround(Math_fround(btGeneric6DofSpring2Constraint__btGetMatrixElem_28btMatrix3x3_20const__2c_20int_29(HEAP32[($4 + 8 | 0) >> 2] | 0 | 0, 7 | 0))))); + (wasm2js_i32$0 = btVector3__operator_20float__28_29(HEAP32[($4 + 4 | 0) >> 2] | 0 | 0) | 0, wasm2js_f32$0 = $21), HEAPF32[wasm2js_i32$0 >> 2] = wasm2js_f32$0; + $31 = Math_fround(btAtan2_28float_2c_20float_29(Math_fround(Math_fround(-Math_fround(btGeneric6DofSpring2Constraint__btGetMatrixElem_28btMatrix3x3_20const__2c_20int_29(HEAP32[($4 + 8 | 0) >> 2] | 0 | 0, 6 | 0)))), Math_fround(Math_fround(btGeneric6DofSpring2Constraint__btGetMatrixElem_28btMatrix3x3_20const__2c_20int_29(HEAP32[($4 + 8 | 0) >> 2] | 0 | 0, 8 | 0))))); + (wasm2js_i32$0 = btVector3__operator_20float__28_29(HEAP32[($4 + 4 | 0) >> 2] | 0 | 0) | 0, wasm2js_f32$0 = $31), HEAPF32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_f32$0; + $41 = Math_fround(btAtan2_28float_2c_20float_29(Math_fround(Math_fround(-Math_fround(btGeneric6DofSpring2Constraint__btGetMatrixElem_28btMatrix3x3_20const__2c_20int_29(HEAP32[($4 + 8 | 0) >> 2] | 0 | 0, 1 | 0)))), Math_fround(Math_fround(btGeneric6DofSpring2Constraint__btGetMatrixElem_28btMatrix3x3_20const__2c_20int_29(HEAP32[($4 + 8 | 0) >> 2] | 0 | 0, 4 | 0))))); + (wasm2js_i32$0 = btVector3__operator_20float__28_29(HEAP32[($4 + 4 | 0) >> 2] | 0 | 0) | 0, wasm2js_f32$0 = $41), HEAPF32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_f32$0; + HEAP8[($4 + 15 | 0) >> 0] = 1 & 1 | 0; + break label$1; + } + (wasm2js_i32$0 = btVector3__operator_20float__28_29(HEAP32[($4 + 4 | 0) >> 2] | 0 | 0) | 0, wasm2js_f32$0 = Math_fround(-1.5707963705062866)), HEAPF32[wasm2js_i32$0 >> 2] = wasm2js_f32$0; + (wasm2js_i32$0 = btVector3__operator_20float__28_29(HEAP32[($4 + 4 | 0) >> 2] | 0 | 0) | 0, wasm2js_f32$0 = Math_fround(0 | 0)), HEAPF32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_f32$0; + $61 = Math_fround(-Math_fround(btAtan2_28float_2c_20float_29(Math_fround(Math_fround(btGeneric6DofSpring2Constraint__btGetMatrixElem_28btMatrix3x3_20const__2c_20int_29(HEAP32[($4 + 8 | 0) >> 2] | 0 | 0, 2 | 0))), Math_fround(Math_fround(btGeneric6DofSpring2Constraint__btGetMatrixElem_28btMatrix3x3_20const__2c_20int_29(HEAP32[($4 + 8 | 0) >> 2] | 0 | 0, 0 | 0)))))); + (wasm2js_i32$0 = btVector3__operator_20float__28_29(HEAP32[($4 + 4 | 0) >> 2] | 0 | 0) | 0, wasm2js_f32$0 = $61), HEAPF32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_f32$0; + HEAP8[($4 + 15 | 0) >> 0] = 0 & 1 | 0; + break label$1; + } + (wasm2js_i32$0 = btVector3__operator_20float__28_29(HEAP32[($4 + 4 | 0) >> 2] | 0 | 0) | 0, wasm2js_f32$0 = Math_fround(1.5707963705062866)), HEAPF32[wasm2js_i32$0 >> 2] = wasm2js_f32$0; + (wasm2js_i32$0 = btVector3__operator_20float__28_29(HEAP32[($4 + 4 | 0) >> 2] | 0 | 0) | 0, wasm2js_f32$0 = Math_fround(0 | 0)), HEAPF32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_f32$0; + $80 = Math_fround(btAtan2_28float_2c_20float_29(Math_fround(Math_fround(btGeneric6DofSpring2Constraint__btGetMatrixElem_28btMatrix3x3_20const__2c_20int_29(HEAP32[($4 + 8 | 0) >> 2] | 0 | 0, 2 | 0))), Math_fround(Math_fround(btGeneric6DofSpring2Constraint__btGetMatrixElem_28btMatrix3x3_20const__2c_20int_29(HEAP32[($4 + 8 | 0) >> 2] | 0 | 0, 0 | 0))))); + (wasm2js_i32$0 = btVector3__operator_20float__28_29(HEAP32[($4 + 4 | 0) >> 2] | 0 | 0) | 0, wasm2js_f32$0 = $80), HEAPF32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_f32$0; + HEAP8[($4 + 15 | 0) >> 0] = 0 & 1 | 0; + } + $88 = (HEAPU8[($4 + 15 | 0) >> 0] | 0) & 1 | 0; + __stack_pointer = $4 + 16 | 0; + return $88 | 0; + } + + function btGeneric6DofSpring2Constraint__matrixToEulerZYX_28btMatrix3x3_20const__2c_20btVector3__29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, $24 = Math_fround(0), $31 = Math_fround(0), $40 = Math_fround(0), $60 = Math_fround(0), $81 = Math_fround(0), $89 = 0, wasm2js_i32$0 = 0, wasm2js_f32$0 = Math_fround(0); + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[($4 + 8 | 0) >> 2] = $0; + HEAP32[($4 + 4 | 0) >> 2] = $1; + (wasm2js_i32$0 = $4, wasm2js_f32$0 = Math_fround(btGeneric6DofSpring2Constraint__btGetMatrixElem_28btMatrix3x3_20const__2c_20int_29(HEAP32[($4 + 8 | 0) >> 2] | 0 | 0, 6 | 0))), HEAPF32[wasm2js_i32$0 >> 2] = wasm2js_f32$0; + label$1 : { + label$2 : { + if (!(Math_fround(HEAPF32[$4 >> 2]) < Math_fround(1.0) & 1 | 0)) { + break label$2 + } + label$3 : { + if (!(Math_fround(HEAPF32[$4 >> 2]) > Math_fround(-1.0) & 1 | 0)) { + break label$3 + } + $24 = Math_fround(btAtan2_28float_2c_20float_29(Math_fround(Math_fround(btGeneric6DofSpring2Constraint__btGetMatrixElem_28btMatrix3x3_20const__2c_20int_29(HEAP32[($4 + 8 | 0) >> 2] | 0 | 0, 7 | 0))), Math_fround(Math_fround(btGeneric6DofSpring2Constraint__btGetMatrixElem_28btMatrix3x3_20const__2c_20int_29(HEAP32[($4 + 8 | 0) >> 2] | 0 | 0, 8 | 0))))); + (wasm2js_i32$0 = btVector3__operator_20float__28_29(HEAP32[($4 + 4 | 0) >> 2] | 0 | 0) | 0, wasm2js_f32$0 = $24), HEAPF32[wasm2js_i32$0 >> 2] = wasm2js_f32$0; + $31 = Math_fround(btAsin_28float_29(Math_fround(Math_fround(-Math_fround(btGeneric6DofSpring2Constraint__btGetMatrixElem_28btMatrix3x3_20const__2c_20int_29(HEAP32[($4 + 8 | 0) >> 2] | 0 | 0, 6 | 0)))))); + (wasm2js_i32$0 = btVector3__operator_20float__28_29(HEAP32[($4 + 4 | 0) >> 2] | 0 | 0) | 0, wasm2js_f32$0 = $31), HEAPF32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_f32$0; + $40 = Math_fround(btAtan2_28float_2c_20float_29(Math_fround(Math_fround(btGeneric6DofSpring2Constraint__btGetMatrixElem_28btMatrix3x3_20const__2c_20int_29(HEAP32[($4 + 8 | 0) >> 2] | 0 | 0, 3 | 0))), Math_fround(Math_fround(btGeneric6DofSpring2Constraint__btGetMatrixElem_28btMatrix3x3_20const__2c_20int_29(HEAP32[($4 + 8 | 0) >> 2] | 0 | 0, 0 | 0))))); + (wasm2js_i32$0 = btVector3__operator_20float__28_29(HEAP32[($4 + 4 | 0) >> 2] | 0 | 0) | 0, wasm2js_f32$0 = $40), HEAPF32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_f32$0; + HEAP8[($4 + 15 | 0) >> 0] = 1 & 1 | 0; + break label$1; + } + (wasm2js_i32$0 = btVector3__operator_20float__28_29(HEAP32[($4 + 4 | 0) >> 2] | 0 | 0) | 0, wasm2js_f32$0 = Math_fround(0 | 0)), HEAPF32[wasm2js_i32$0 >> 2] = wasm2js_f32$0; + (wasm2js_i32$0 = btVector3__operator_20float__28_29(HEAP32[($4 + 4 | 0) >> 2] | 0 | 0) | 0, wasm2js_f32$0 = Math_fround(1.5707963705062866)), HEAPF32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_f32$0; + $60 = Math_fround(-Math_fround(btAtan2_28float_2c_20float_29(Math_fround(Math_fround(btGeneric6DofSpring2Constraint__btGetMatrixElem_28btMatrix3x3_20const__2c_20int_29(HEAP32[($4 + 8 | 0) >> 2] | 0 | 0, 1 | 0))), Math_fround(Math_fround(btGeneric6DofSpring2Constraint__btGetMatrixElem_28btMatrix3x3_20const__2c_20int_29(HEAP32[($4 + 8 | 0) >> 2] | 0 | 0, 2 | 0)))))); + (wasm2js_i32$0 = btVector3__operator_20float__28_29(HEAP32[($4 + 4 | 0) >> 2] | 0 | 0) | 0, wasm2js_f32$0 = $60), HEAPF32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_f32$0; + HEAP8[($4 + 15 | 0) >> 0] = 0 & 1 | 0; + break label$1; + } + (wasm2js_i32$0 = btVector3__operator_20float__28_29(HEAP32[($4 + 4 | 0) >> 2] | 0 | 0) | 0, wasm2js_f32$0 = Math_fround(0 | 0)), HEAPF32[wasm2js_i32$0 >> 2] = wasm2js_f32$0; + (wasm2js_i32$0 = btVector3__operator_20float__28_29(HEAP32[($4 + 4 | 0) >> 2] | 0 | 0) | 0, wasm2js_f32$0 = Math_fround(-1.5707963705062866)), HEAPF32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_f32$0; + $81 = Math_fround(btAtan2_28float_2c_20float_29(Math_fround(Math_fround(-Math_fround(btGeneric6DofSpring2Constraint__btGetMatrixElem_28btMatrix3x3_20const__2c_20int_29(HEAP32[($4 + 8 | 0) >> 2] | 0 | 0, 1 | 0)))), Math_fround(Math_fround(-Math_fround(btGeneric6DofSpring2Constraint__btGetMatrixElem_28btMatrix3x3_20const__2c_20int_29(HEAP32[($4 + 8 | 0) >> 2] | 0 | 0, 2 | 0)))))); + (wasm2js_i32$0 = btVector3__operator_20float__28_29(HEAP32[($4 + 4 | 0) >> 2] | 0 | 0) | 0, wasm2js_f32$0 = $81), HEAPF32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_f32$0; + HEAP8[($4 + 15 | 0) >> 0] = 0 & 1 | 0; + } + $89 = (HEAPU8[($4 + 15 | 0) >> 0] | 0) & 1 | 0; + __stack_pointer = $4 + 16 | 0; + return $89 | 0; + } + + function btGeneric6DofSpring2Constraint__calculateAngleInfo_28_29($0) { + $0 = $0 | 0; + var $3 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, $4 = 0, $17 = 0, $53 = 0, $81 = 0, $83 = 0, $100 = 0, $102 = 0, $121 = 0, $123 = 0, $155 = 0, $157 = 0, $174 = 0, $176 = 0, $195 = 0, $197 = 0, $227 = 0, $229 = 0, $246 = 0, $248 = 0, $265 = 0, $267 = 0, $299 = 0, $301 = 0, $318 = 0, $320 = 0, $339 = 0, $341 = 0, $371 = 0, $373 = 0, $390 = 0, $392 = 0, $409 = 0, $411 = 0, $443 = 0, $445 = 0, $462 = 0, $464 = 0, $483 = 0, $485 = 0, $664 = 0, $677 = 0, $701 = 0, $714 = 0, $741 = 0, $754 = 0, $803 = 0, $816 = 0, $840 = 0, $853 = 0, $880 = 0, $893 = 0, $939 = 0, $952 = 0, $976 = 0, $989 = 0, $1013 = 0, $1026 = 0, $1075 = 0, $1088 = 0, $1112 = 0, $1125 = 0, $1152 = 0, $1165 = 0, $1211 = 0, $1224 = 0, $1248 = 0, $1261 = 0, $1285 = 0, $1298 = 0, $1347 = 0, $1360 = 0, $1384 = 0, $1397 = 0, $1424 = 0, $1437 = 0; + $3 = __stack_pointer - 592 | 0; + __stack_pointer = $3; + HEAP32[($3 + 588 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 588 | 0) >> 2] | 0; + btMatrix3x3__inverse_28_29_20const($3 + 492 | 0 | 0, btTransform__getBasis_28_29($4 + 1236 | 0 | 0) | 0 | 0); + operator__28btMatrix3x3_20const__2c_20btMatrix3x3_20const__29($3 + 540 | 0 | 0, $3 + 492 | 0 | 0, btTransform__getBasis_28_29($4 + 1300 | 0 | 0) | 0 | 0); + $17 = HEAP32[($4 + 1232 | 0) >> 2] | 0; + label$1 : { + label$2 : { + switch ($17 | 0) { + case 0: + btGeneric6DofSpring2Constraint__matrixToEulerXYZ_28btMatrix3x3_20const__2c_20btVector3__29($3 + 540 | 0 | 0, $4 + 1364 | 0 | 0) | 0; + break label$1; + case 1: + btGeneric6DofSpring2Constraint__matrixToEulerXZY_28btMatrix3x3_20const__2c_20btVector3__29($3 + 540 | 0 | 0, $4 + 1364 | 0 | 0) | 0; + break label$1; + case 2: + btGeneric6DofSpring2Constraint__matrixToEulerYXZ_28btMatrix3x3_20const__2c_20btVector3__29($3 + 540 | 0 | 0, $4 + 1364 | 0 | 0) | 0; + break label$1; + case 3: + btGeneric6DofSpring2Constraint__matrixToEulerYZX_28btMatrix3x3_20const__2c_20btVector3__29($3 + 540 | 0 | 0, $4 + 1364 | 0 | 0) | 0; + break label$1; + case 4: + btGeneric6DofSpring2Constraint__matrixToEulerZXY_28btMatrix3x3_20const__2c_20btVector3__29($3 + 540 | 0 | 0, $4 + 1364 | 0 | 0) | 0; + break label$1; + case 5: + btGeneric6DofSpring2Constraint__matrixToEulerZYX_28btMatrix3x3_20const__2c_20btVector3__29($3 + 540 | 0 | 0, $4 + 1364 | 0 | 0) | 0; + break label$1; + default: + break label$2; + }; + } + __assert_fail(81487 | 0, 71825 | 0, 292 | 0, 76219 | 0); + wasm2js_trap(); + } + $53 = HEAP32[($4 + 1232 | 0) >> 2] | 0; + label$9 : { + label$10 : { + switch ($53 | 0) { + case 0: + btMatrix3x3__getColumn_28int_29_20const($3 + 476 | 0 | 0, btTransform__getBasis_28_29($4 + 1300 | 0 | 0) | 0 | 0, 0 | 0); + btMatrix3x3__getColumn_28int_29_20const($3 + 460 | 0 | 0, btTransform__getBasis_28_29($4 + 1236 | 0 | 0) | 0 | 0, 2 | 0); + btVector3__cross_28btVector3_20const__29_20const($3 + 444 | 0 | 0, $3 + 460 | 0 | 0, $3 + 476 | 0 | 0); + $81 = ($4 + 1380 | 0) + 16 | 0; + i64toi32_i32$2 = $3; + i64toi32_i32$0 = HEAP32[($3 + 444 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($3 + 448 | 0) >> 2] | 0; + $664 = i64toi32_i32$0; + i64toi32_i32$0 = $81; + HEAP32[i64toi32_i32$0 >> 2] = $664; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $83 = 8; + i64toi32_i32$2 = ($3 + 444 | 0) + $83 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $677 = i64toi32_i32$1; + i64toi32_i32$1 = $81 + $83 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $677; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + btVector3__cross_28btVector3_20const__29_20const($3 + 428 | 0 | 0, ($4 + 1380 | 0) + 16 | 0 | 0, $3 + 460 | 0 | 0); + $100 = $4 + 1380 | 0; + i64toi32_i32$2 = $3; + i64toi32_i32$0 = HEAP32[($3 + 428 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($3 + 432 | 0) >> 2] | 0; + $701 = i64toi32_i32$0; + i64toi32_i32$0 = $100; + HEAP32[i64toi32_i32$0 >> 2] = $701; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $102 = 8; + i64toi32_i32$2 = ($3 + 428 | 0) + $102 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $714 = i64toi32_i32$1; + i64toi32_i32$1 = $100 + $102 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $714; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + btVector3__cross_28btVector3_20const__29_20const($3 + 412 | 0 | 0, $3 + 476 | 0 | 0, ($4 + 1380 | 0) + 16 | 0 | 0); + $121 = ($4 + 1380 | 0) + 32 | 0; + i64toi32_i32$2 = $3; + i64toi32_i32$0 = HEAP32[($3 + 412 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($3 + 416 | 0) >> 2] | 0; + $741 = i64toi32_i32$0; + i64toi32_i32$0 = $121; + HEAP32[i64toi32_i32$0 >> 2] = $741; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $123 = 8; + i64toi32_i32$2 = ($3 + 412 | 0) + $123 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $754 = i64toi32_i32$1; + i64toi32_i32$1 = $121 + $123 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $754; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + break label$9; + case 1: + btMatrix3x3__getColumn_28int_29_20const($3 + 396 | 0 | 0, btTransform__getBasis_28_29($4 + 1300 | 0 | 0) | 0 | 0, 0 | 0); + btMatrix3x3__getColumn_28int_29_20const($3 + 380 | 0 | 0, btTransform__getBasis_28_29($4 + 1236 | 0 | 0) | 0 | 0, 1 | 0); + btVector3__cross_28btVector3_20const__29_20const($3 + 364 | 0 | 0, $3 + 396 | 0 | 0, $3 + 380 | 0 | 0); + $155 = ($4 + 1380 | 0) + 32 | 0; + i64toi32_i32$2 = $3; + i64toi32_i32$0 = HEAP32[($3 + 364 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($3 + 368 | 0) >> 2] | 0; + $803 = i64toi32_i32$0; + i64toi32_i32$0 = $155; + HEAP32[i64toi32_i32$0 >> 2] = $803; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $157 = 8; + i64toi32_i32$2 = ($3 + 364 | 0) + $157 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $816 = i64toi32_i32$1; + i64toi32_i32$1 = $155 + $157 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $816; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + btVector3__cross_28btVector3_20const__29_20const($3 + 348 | 0 | 0, $3 + 380 | 0 | 0, ($4 + 1380 | 0) + 32 | 0 | 0); + $174 = $4 + 1380 | 0; + i64toi32_i32$2 = $3; + i64toi32_i32$0 = HEAP32[($3 + 348 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($3 + 352 | 0) >> 2] | 0; + $840 = i64toi32_i32$0; + i64toi32_i32$0 = $174; + HEAP32[i64toi32_i32$0 >> 2] = $840; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $176 = 8; + i64toi32_i32$2 = ($3 + 348 | 0) + $176 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $853 = i64toi32_i32$1; + i64toi32_i32$1 = $174 + $176 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $853; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + btVector3__cross_28btVector3_20const__29_20const($3 + 332 | 0 | 0, ($4 + 1380 | 0) + 32 | 0 | 0, $3 + 396 | 0 | 0); + $195 = ($4 + 1380 | 0) + 16 | 0; + i64toi32_i32$2 = $3; + i64toi32_i32$0 = HEAP32[($3 + 332 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($3 + 336 | 0) >> 2] | 0; + $880 = i64toi32_i32$0; + i64toi32_i32$0 = $195; + HEAP32[i64toi32_i32$0 >> 2] = $880; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $197 = 8; + i64toi32_i32$2 = ($3 + 332 | 0) + $197 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $893 = i64toi32_i32$1; + i64toi32_i32$1 = $195 + $197 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $893; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + break label$9; + case 2: + btMatrix3x3__getColumn_28int_29_20const($3 + 316 | 0 | 0, btTransform__getBasis_28_29($4 + 1300 | 0 | 0) | 0 | 0, 1 | 0); + btMatrix3x3__getColumn_28int_29_20const($3 + 300 | 0 | 0, btTransform__getBasis_28_29($4 + 1236 | 0 | 0) | 0 | 0, 2 | 0); + btVector3__cross_28btVector3_20const__29_20const($3 + 284 | 0 | 0, $3 + 316 | 0 | 0, $3 + 300 | 0 | 0); + $227 = $4 + 1380 | 0; + i64toi32_i32$2 = $3; + i64toi32_i32$0 = HEAP32[($3 + 284 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($3 + 288 | 0) >> 2] | 0; + $939 = i64toi32_i32$0; + i64toi32_i32$0 = $227; + HEAP32[i64toi32_i32$0 >> 2] = $939; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $229 = 8; + i64toi32_i32$2 = ($3 + 284 | 0) + $229 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $952 = i64toi32_i32$1; + i64toi32_i32$1 = $227 + $229 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $952; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + btVector3__cross_28btVector3_20const__29_20const($3 + 268 | 0 | 0, $3 + 300 | 0 | 0, $4 + 1380 | 0 | 0); + $246 = ($4 + 1380 | 0) + 16 | 0; + i64toi32_i32$2 = $3; + i64toi32_i32$0 = HEAP32[($3 + 268 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($3 + 272 | 0) >> 2] | 0; + $976 = i64toi32_i32$0; + i64toi32_i32$0 = $246; + HEAP32[i64toi32_i32$0 >> 2] = $976; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $248 = 8; + i64toi32_i32$2 = ($3 + 268 | 0) + $248 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $989 = i64toi32_i32$1; + i64toi32_i32$1 = $246 + $248 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $989; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + btVector3__cross_28btVector3_20const__29_20const($3 + 252 | 0 | 0, $4 + 1380 | 0 | 0, $3 + 316 | 0 | 0); + $265 = ($4 + 1380 | 0) + 32 | 0; + i64toi32_i32$2 = $3; + i64toi32_i32$0 = HEAP32[($3 + 252 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($3 + 256 | 0) >> 2] | 0; + $1013 = i64toi32_i32$0; + i64toi32_i32$0 = $265; + HEAP32[i64toi32_i32$0 >> 2] = $1013; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $267 = 8; + i64toi32_i32$2 = ($3 + 252 | 0) + $267 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $1026 = i64toi32_i32$1; + i64toi32_i32$1 = $265 + $267 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $1026; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + break label$9; + case 3: + btMatrix3x3__getColumn_28int_29_20const($3 + 236 | 0 | 0, btTransform__getBasis_28_29($4 + 1236 | 0 | 0) | 0 | 0, 0 | 0); + btMatrix3x3__getColumn_28int_29_20const($3 + 220 | 0 | 0, btTransform__getBasis_28_29($4 + 1300 | 0 | 0) | 0 | 0, 1 | 0); + btVector3__cross_28btVector3_20const__29_20const($3 + 204 | 0 | 0, $3 + 236 | 0 | 0, $3 + 220 | 0 | 0); + $299 = ($4 + 1380 | 0) + 32 | 0; + i64toi32_i32$2 = $3; + i64toi32_i32$0 = HEAP32[($3 + 204 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($3 + 208 | 0) >> 2] | 0; + $1075 = i64toi32_i32$0; + i64toi32_i32$0 = $299; + HEAP32[i64toi32_i32$0 >> 2] = $1075; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $301 = 8; + i64toi32_i32$2 = ($3 + 204 | 0) + $301 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $1088 = i64toi32_i32$1; + i64toi32_i32$1 = $299 + $301 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $1088; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + btVector3__cross_28btVector3_20const__29_20const($3 + 188 | 0 | 0, $3 + 220 | 0 | 0, ($4 + 1380 | 0) + 32 | 0 | 0); + $318 = $4 + 1380 | 0; + i64toi32_i32$2 = $3; + i64toi32_i32$0 = HEAP32[($3 + 188 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($3 + 192 | 0) >> 2] | 0; + $1112 = i64toi32_i32$0; + i64toi32_i32$0 = $318; + HEAP32[i64toi32_i32$0 >> 2] = $1112; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $320 = 8; + i64toi32_i32$2 = ($3 + 188 | 0) + $320 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $1125 = i64toi32_i32$1; + i64toi32_i32$1 = $318 + $320 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $1125; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + btVector3__cross_28btVector3_20const__29_20const($3 + 172 | 0 | 0, ($4 + 1380 | 0) + 32 | 0 | 0, $3 + 236 | 0 | 0); + $339 = ($4 + 1380 | 0) + 16 | 0; + i64toi32_i32$2 = $3; + i64toi32_i32$0 = HEAP32[($3 + 172 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($3 + 176 | 0) >> 2] | 0; + $1152 = i64toi32_i32$0; + i64toi32_i32$0 = $339; + HEAP32[i64toi32_i32$0 >> 2] = $1152; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $341 = 8; + i64toi32_i32$2 = ($3 + 172 | 0) + $341 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $1165 = i64toi32_i32$1; + i64toi32_i32$1 = $339 + $341 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $1165; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + break label$9; + case 4: + btMatrix3x3__getColumn_28int_29_20const($3 + 156 | 0 | 0, btTransform__getBasis_28_29($4 + 1236 | 0 | 0) | 0 | 0, 1 | 0); + btMatrix3x3__getColumn_28int_29_20const($3 + 140 | 0 | 0, btTransform__getBasis_28_29($4 + 1300 | 0 | 0) | 0 | 0, 2 | 0); + btVector3__cross_28btVector3_20const__29_20const($3 + 124 | 0 | 0, $3 + 156 | 0 | 0, $3 + 140 | 0 | 0); + $371 = $4 + 1380 | 0; + i64toi32_i32$2 = $3; + i64toi32_i32$0 = HEAP32[($3 + 124 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($3 + 128 | 0) >> 2] | 0; + $1211 = i64toi32_i32$0; + i64toi32_i32$0 = $371; + HEAP32[i64toi32_i32$0 >> 2] = $1211; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $373 = 8; + i64toi32_i32$2 = ($3 + 124 | 0) + $373 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $1224 = i64toi32_i32$1; + i64toi32_i32$1 = $371 + $373 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $1224; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + btVector3__cross_28btVector3_20const__29_20const($3 + 108 | 0 | 0, $3 + 140 | 0 | 0, $4 + 1380 | 0 | 0); + $390 = ($4 + 1380 | 0) + 16 | 0; + i64toi32_i32$2 = $3; + i64toi32_i32$0 = HEAP32[($3 + 108 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($3 + 112 | 0) >> 2] | 0; + $1248 = i64toi32_i32$0; + i64toi32_i32$0 = $390; + HEAP32[i64toi32_i32$0 >> 2] = $1248; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $392 = 8; + i64toi32_i32$2 = ($3 + 108 | 0) + $392 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $1261 = i64toi32_i32$1; + i64toi32_i32$1 = $390 + $392 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $1261; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + btVector3__cross_28btVector3_20const__29_20const($3 + 92 | 0 | 0, $4 + 1380 | 0 | 0, $3 + 156 | 0 | 0); + $409 = ($4 + 1380 | 0) + 32 | 0; + i64toi32_i32$2 = $3; + i64toi32_i32$0 = HEAP32[($3 + 92 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($3 + 96 | 0) >> 2] | 0; + $1285 = i64toi32_i32$0; + i64toi32_i32$0 = $409; + HEAP32[i64toi32_i32$0 >> 2] = $1285; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $411 = 8; + i64toi32_i32$2 = ($3 + 92 | 0) + $411 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $1298 = i64toi32_i32$1; + i64toi32_i32$1 = $409 + $411 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $1298; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + break label$9; + case 5: + btMatrix3x3__getColumn_28int_29_20const($3 + 76 | 0 | 0, btTransform__getBasis_28_29($4 + 1236 | 0 | 0) | 0 | 0, 0 | 0); + btMatrix3x3__getColumn_28int_29_20const($3 + 60 | 0 | 0, btTransform__getBasis_28_29($4 + 1300 | 0 | 0) | 0 | 0, 2 | 0); + btVector3__cross_28btVector3_20const__29_20const($3 + 44 | 0 | 0, $3 + 60 | 0 | 0, $3 + 76 | 0 | 0); + $443 = ($4 + 1380 | 0) + 16 | 0; + i64toi32_i32$2 = $3; + i64toi32_i32$0 = HEAP32[($3 + 44 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($3 + 48 | 0) >> 2] | 0; + $1347 = i64toi32_i32$0; + i64toi32_i32$0 = $443; + HEAP32[i64toi32_i32$0 >> 2] = $1347; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $445 = 8; + i64toi32_i32$2 = ($3 + 44 | 0) + $445 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $1360 = i64toi32_i32$1; + i64toi32_i32$1 = $443 + $445 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $1360; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + btVector3__cross_28btVector3_20const__29_20const($3 + 28 | 0 | 0, ($4 + 1380 | 0) + 16 | 0 | 0, $3 + 60 | 0 | 0); + $462 = $4 + 1380 | 0; + i64toi32_i32$2 = $3; + i64toi32_i32$0 = HEAP32[($3 + 28 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($3 + 32 | 0) >> 2] | 0; + $1384 = i64toi32_i32$0; + i64toi32_i32$0 = $462; + HEAP32[i64toi32_i32$0 >> 2] = $1384; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $464 = 8; + i64toi32_i32$2 = ($3 + 28 | 0) + $464 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $1397 = i64toi32_i32$1; + i64toi32_i32$1 = $462 + $464 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $1397; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + btVector3__cross_28btVector3_20const__29_20const($3 + 12 | 0 | 0, $3 + 76 | 0 | 0, ($4 + 1380 | 0) + 16 | 0 | 0); + $483 = ($4 + 1380 | 0) + 32 | 0; + i64toi32_i32$2 = $3; + i64toi32_i32$0 = HEAP32[($3 + 12 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($3 + 16 | 0) >> 2] | 0; + $1424 = i64toi32_i32$0; + i64toi32_i32$0 = $483; + HEAP32[i64toi32_i32$0 >> 2] = $1424; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $485 = 8; + i64toi32_i32$2 = ($3 + 12 | 0) + $485 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $1437 = i64toi32_i32$1; + i64toi32_i32$1 = $483 + $485 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $1437; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + break label$9; + default: + break label$10; + }; + } + __assert_fail(81487 | 0, 71825 | 0, 402 | 0, 76219 | 0); + wasm2js_trap(); + } + btVector3__normalize_28_29($4 + 1380 | 0 | 0) | 0; + btVector3__normalize_28_29(($4 + 1380 | 0) + 16 | 0 | 0) | 0; + btVector3__normalize_28_29(($4 + 1380 | 0) + 32 | 0 | 0) | 0; + __stack_pointer = $3 + 592 | 0; + return; + } + + function btGeneric6DofSpring2Constraint__calculateLinearInfo_28_29($0) { + $0 = $0 | 0; + var $3 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $4 = 0, i64toi32_i32$2 = 0, $15 = 0, $17 = 0, $38 = 0, $40 = 0, $119 = 0, $132 = 0, $164 = 0, $177 = 0, $61 = Math_fround(0), wasm2js_i32$0 = 0, wasm2js_f32$0 = Math_fround(0); + $3 = __stack_pointer - 96 | 0; + __stack_pointer = $3; + HEAP32[($3 + 92 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 92 | 0) >> 2] | 0; + operator__28btVector3_20const__2c_20btVector3_20const__29($3 + 76 | 0 | 0, btTransform__getOrigin_28_29($4 + 1300 | 0 | 0) | 0 | 0, btTransform__getOrigin_28_29($4 + 1236 | 0 | 0) | 0 | 0); + $15 = $4 + 1428 | 0; + i64toi32_i32$2 = $3; + i64toi32_i32$0 = HEAP32[($3 + 76 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($3 + 80 | 0) >> 2] | 0; + $119 = i64toi32_i32$0; + i64toi32_i32$0 = $15; + HEAP32[i64toi32_i32$0 >> 2] = $119; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $17 = 8; + i64toi32_i32$2 = ($3 + 76 | 0) + $17 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $132 = i64toi32_i32$1; + i64toi32_i32$1 = $15 + $17 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $132; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + btMatrix3x3__inverse_28_29_20const($3 + 12 | 0 | 0, btTransform__getBasis_28_29($4 + 1236 | 0 | 0) | 0 | 0); + operator__28btMatrix3x3_20const__2c_20btVector3_20const__29($3 + 60 | 0 | 0, $3 + 12 | 0 | 0, $4 + 1428 | 0 | 0); + $38 = $4 + 1428 | 0; + i64toi32_i32$2 = $3; + i64toi32_i32$0 = HEAP32[($3 + 60 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($3 + 64 | 0) >> 2] | 0; + $164 = i64toi32_i32$0; + i64toi32_i32$0 = $38; + HEAP32[i64toi32_i32$0 >> 2] = $164; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $40 = 8; + i64toi32_i32$2 = ($3 + 60 | 0) + $40 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $177 = i64toi32_i32$1; + i64toi32_i32$1 = $38 + $40 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $177; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($3 + 8 | 0) >> 2] = 0; + label$1 : { + label$2 : while (1) { + if (!((HEAP32[($3 + 8 | 0) >> 2] | 0 | 0) < (3 | 0) & 1 | 0)) { + break label$1 + } + $61 = Math_fround(HEAPF32[((btVector3__operator_20float__28_29($4 + 1428 | 0 | 0) | 0) + ((HEAP32[($3 + 8 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2]); + (wasm2js_i32$0 = (btVector3__operator_20float__28_29(($4 + 680 | 0) + 260 | 0 | 0) | 0) + ((HEAP32[($3 + 8 | 0) >> 2] | 0) << 2 | 0) | 0, wasm2js_f32$0 = $61), HEAPF32[wasm2js_i32$0 >> 2] = wasm2js_f32$0; + btTranslationalLimitMotor2__testLimitValue_28int_2c_20float_29($4 + 680 | 0 | 0, HEAP32[($3 + 8 | 0) >> 2] | 0 | 0, Math_fround(Math_fround(HEAPF32[((btVector3__operator_20float__28_29($4 + 1428 | 0 | 0) | 0) + ((HEAP32[($3 + 8 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2]))); + HEAP32[($3 + 8 | 0) >> 2] = (HEAP32[($3 + 8 | 0) >> 2] | 0) + 1 | 0; + continue label$2; + }; + } + __stack_pointer = $3 + 96 | 0; + return; + } + + function btTypedConstraint__getRigidBodyA_28_29($0) { + $0 = $0 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + return HEAP32[((HEAP32[($3 + 12 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0 | 0; + } + + function btRigidBody__getInvMass_28_29_20const($0) { + $0 = $0 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + return Math_fround(Math_fround(HEAPF32[((HEAP32[($3 + 12 | 0) >> 2] | 0) + 404 | 0) >> 2])); + } + + function btTypedConstraint__getRigidBodyB_28_29($0) { + $0 = $0 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + return HEAP32[((HEAP32[($3 + 12 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0 | 0; + } + + function btTranslationalLimitMotor2__testLimitValue_28int_2c_20float_29($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = Math_fround($2); + var $5 = 0, $6 = 0, $49 = Math_fround(0), $66 = Math_fround(0), $76 = Math_fround(0), wasm2js_i32$0 = 0, wasm2js_f32$0 = Math_fround(0); + $5 = __stack_pointer - 32 | 0; + __stack_pointer = $5; + HEAP32[($5 + 28 | 0) >> 2] = $0; + HEAP32[($5 + 24 | 0) >> 2] = $1; + HEAPF32[($5 + 20 | 0) >> 2] = $2; + $6 = HEAP32[($5 + 28 | 0) >> 2] | 0; + (wasm2js_i32$0 = $5, wasm2js_f32$0 = Math_fround(HEAPF32[((btVector3__operator_20float__28_29($6 | 0) | 0) + ((HEAP32[($5 + 24 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2])), HEAPF32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_f32$0; + (wasm2js_i32$0 = $5, wasm2js_f32$0 = Math_fround(HEAPF32[((btVector3__operator_20float__28_29($6 + 16 | 0 | 0) | 0) + ((HEAP32[($5 + 24 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2])), HEAPF32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_f32$0; + label$1 : { + label$2 : { + if (!(Math_fround(HEAPF32[($5 + 16 | 0) >> 2]) > Math_fround(HEAPF32[($5 + 12 | 0) >> 2]) & 1 | 0)) { + break label$2 + } + (wasm2js_i32$0 = (btVector3__operator_20float__28_29($6 + 228 | 0 | 0) | 0) + ((HEAP32[($5 + 24 | 0) >> 2] | 0) << 2 | 0) | 0, wasm2js_f32$0 = Math_fround(0 | 0)), HEAPF32[wasm2js_i32$0 >> 2] = wasm2js_f32$0; + HEAP32[(($6 + 276 | 0) + ((HEAP32[($5 + 24 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = 0; + break label$1; + } + label$3 : { + label$4 : { + if (!(Math_fround(HEAPF32[($5 + 16 | 0) >> 2]) == Math_fround(HEAPF32[($5 + 12 | 0) >> 2]) & 1 | 0)) { + break label$4 + } + $49 = Math_fround(Math_fround(HEAPF32[($5 + 20 | 0) >> 2]) - Math_fround(HEAPF32[($5 + 16 | 0) >> 2])); + (wasm2js_i32$0 = (btVector3__operator_20float__28_29($6 + 228 | 0 | 0) | 0) + ((HEAP32[($5 + 24 | 0) >> 2] | 0) << 2 | 0) | 0, wasm2js_f32$0 = $49), HEAPF32[wasm2js_i32$0 >> 2] = wasm2js_f32$0; + HEAP32[(($6 + 276 | 0) + ((HEAP32[($5 + 24 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = 3; + break label$3; + } + $66 = Math_fround(Math_fround(HEAPF32[($5 + 20 | 0) >> 2]) - Math_fround(HEAPF32[($5 + 16 | 0) >> 2])); + (wasm2js_i32$0 = (btVector3__operator_20float__28_29($6 + 228 | 0 | 0) | 0) + ((HEAP32[($5 + 24 | 0) >> 2] | 0) << 2 | 0) | 0, wasm2js_f32$0 = $66), HEAPF32[wasm2js_i32$0 >> 2] = wasm2js_f32$0; + $76 = Math_fround(Math_fround(HEAPF32[($5 + 20 | 0) >> 2]) - Math_fround(HEAPF32[($5 + 12 | 0) >> 2])); + (wasm2js_i32$0 = (btVector3__operator_20float__28_29($6 + 244 | 0 | 0) | 0) + ((HEAP32[($5 + 24 | 0) >> 2] | 0) << 2 | 0) | 0, wasm2js_f32$0 = $76), HEAPF32[wasm2js_i32$0 >> 2] = wasm2js_f32$0; + HEAP32[(($6 + 276 | 0) + ((HEAP32[($5 + 24 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = 4; + } + } + __stack_pointer = $5 + 32 | 0; + return; + } + + function btGeneric6DofSpring2Constraint__testAngularLimitMotor_28int_29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, $5 = 0, wasm2js_i32$0 = 0, wasm2js_f32$0 = Math_fround(0); + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; + (wasm2js_i32$0 = $4, wasm2js_f32$0 = Math_fround(HEAPF32[((btVector3__operator_20float__28_29($5 + 1364 | 0 | 0) | 0) + ((HEAP32[($4 + 8 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2])), HEAPF32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_f32$0; + (wasm2js_i32$0 = $4, wasm2js_f32$0 = Math_fround(btAdjustAngleToLimits_28float_2c_20float_2c_20float_29(Math_fround(Math_fround(HEAPF32[($4 + 4 | 0) >> 2])), Math_fround(Math_fround(HEAPF32[(($5 + 968 | 0) + Math_imul(HEAP32[($4 + 8 | 0) >> 2] | 0, 88) | 0) >> 2])), Math_fround(Math_fround(HEAPF32[((($5 + 968 | 0) + Math_imul(HEAP32[($4 + 8 | 0) >> 2] | 0, 88) | 0) + 4 | 0) >> 2]))))), HEAPF32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_f32$0; + HEAPF32[((($5 + 968 | 0) + Math_imul(HEAP32[($4 + 8 | 0) >> 2] | 0, 88) | 0) + 80 | 0) >> 2] = Math_fround(HEAPF32[($4 + 4 | 0) >> 2]); + btRotationalLimitMotor2__testLimitValue_28float_29(($5 + 968 | 0) + Math_imul(HEAP32[($4 + 8 | 0) >> 2] | 0, 88) | 0 | 0, Math_fround(Math_fround(HEAPF32[($4 + 4 | 0) >> 2]))); + __stack_pointer = $4 + 16 | 0; + return; + } + + function btAdjustAngleToLimits_28float_2c_20float_2c_20float_29($0, $1, $2) { + $0 = Math_fround($0); + $1 = Math_fround($1); + $2 = Math_fround($2); + var $5 = 0, $33 = Math_fround(0), $61 = Math_fround(0), $65 = Math_fround(0), wasm2js_i32$0 = 0, wasm2js_f32$0 = Math_fround(0); + $5 = __stack_pointer - 32 | 0; + __stack_pointer = $5; + HEAPF32[($5 + 24 | 0) >> 2] = $0; + HEAPF32[($5 + 20 | 0) >> 2] = $1; + HEAPF32[($5 + 16 | 0) >> 2] = $2; + label$1 : { + label$2 : { + if (!(Math_fround(HEAPF32[($5 + 20 | 0) >> 2]) >= Math_fround(HEAPF32[($5 + 16 | 0) >> 2]) & 1 | 0)) { + break label$2 + } + HEAPF32[($5 + 28 | 0) >> 2] = Math_fround(HEAPF32[($5 + 24 | 0) >> 2]); + break label$1; + } + label$3 : { + if (!(Math_fround(HEAPF32[($5 + 24 | 0) >> 2]) < Math_fround(HEAPF32[($5 + 20 | 0) >> 2]) & 1 | 0)) { + break label$3 + } + (wasm2js_i32$0 = $5, wasm2js_f32$0 = Math_fround(btFabs_28float_29(Math_fround(Math_fround(btNormalizeAngle_28float_29(Math_fround(Math_fround(Math_fround(HEAPF32[($5 + 20 | 0) >> 2]) - Math_fround(HEAPF32[($5 + 24 | 0) >> 2]))))))))), HEAPF32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_f32$0; + (wasm2js_i32$0 = $5, wasm2js_f32$0 = Math_fround(btFabs_28float_29(Math_fround(Math_fround(btNormalizeAngle_28float_29(Math_fround(Math_fround(Math_fround(HEAPF32[($5 + 16 | 0) >> 2]) - Math_fround(HEAPF32[($5 + 24 | 0) >> 2]))))))))), HEAPF32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_f32$0; + label$4 : { + label$5 : { + if (!(Math_fround(HEAPF32[($5 + 12 | 0) >> 2]) < Math_fround(HEAPF32[($5 + 8 | 0) >> 2]) & 1 | 0)) { + break label$5 + } + $33 = Math_fround(HEAPF32[($5 + 24 | 0) >> 2]); + break label$4; + } + $33 = Math_fround(Math_fround(HEAPF32[($5 + 24 | 0) >> 2]) + Math_fround(6.2831854820251465)); + } + HEAPF32[($5 + 28 | 0) >> 2] = $33; + break label$1; + } + label$6 : { + if (!(Math_fround(HEAPF32[($5 + 24 | 0) >> 2]) > Math_fround(HEAPF32[($5 + 16 | 0) >> 2]) & 1 | 0)) { + break label$6 + } + (wasm2js_i32$0 = $5, wasm2js_f32$0 = Math_fround(btFabs_28float_29(Math_fround(Math_fround(btNormalizeAngle_28float_29(Math_fround(Math_fround(Math_fround(HEAPF32[($5 + 24 | 0) >> 2]) - Math_fround(HEAPF32[($5 + 16 | 0) >> 2]))))))))), HEAPF32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_f32$0; + (wasm2js_i32$0 = $5, wasm2js_f32$0 = Math_fround(btFabs_28float_29(Math_fround(Math_fround(btNormalizeAngle_28float_29(Math_fround(Math_fround(Math_fround(HEAPF32[($5 + 24 | 0) >> 2]) - Math_fround(HEAPF32[($5 + 20 | 0) >> 2]))))))))), HEAPF32[wasm2js_i32$0 >> 2] = wasm2js_f32$0; + label$7 : { + label$8 : { + if (!(Math_fround(HEAPF32[$5 >> 2]) < Math_fround(HEAPF32[($5 + 4 | 0) >> 2]) & 1 | 0)) { + break label$8 + } + $61 = Math_fround(Math_fround(HEAPF32[($5 + 24 | 0) >> 2]) - Math_fround(6.2831854820251465)); + break label$7; + } + $61 = Math_fround(HEAPF32[($5 + 24 | 0) >> 2]); + } + HEAPF32[($5 + 28 | 0) >> 2] = $61; + break label$1; + } + HEAPF32[($5 + 28 | 0) >> 2] = Math_fround(HEAPF32[($5 + 24 | 0) >> 2]); + } + $65 = Math_fround(HEAPF32[($5 + 28 | 0) >> 2]); + __stack_pointer = $5 + 32 | 0; + return Math_fround($65); + } + + function btRotationalLimitMotor2__testLimitValue_28float_29($0, $1) { + $0 = $0 | 0; + $1 = Math_fround($1); + var $5 = 0, $4 = 0; + $4 = __stack_pointer - 16 | 0; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAPF32[($4 + 8 | 0) >> 2] = $1; + $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; + label$1 : { + label$2 : { + if (!(Math_fround(HEAPF32[$5 >> 2]) > Math_fround(HEAPF32[($5 + 4 | 0) >> 2]) & 1 | 0)) { + break label$2 + } + HEAP32[($5 + 84 | 0) >> 2] = 0; + HEAPF32[($5 + 72 | 0) >> 2] = Math_fround(0 | 0); + break label$1; + } + label$3 : { + label$4 : { + if (!(Math_fround(HEAPF32[$5 >> 2]) == Math_fround(HEAPF32[($5 + 4 | 0) >> 2]) & 1 | 0)) { + break label$4 + } + HEAPF32[($5 + 72 | 0) >> 2] = Math_fround(Math_fround(HEAPF32[($4 + 8 | 0) >> 2]) - Math_fround(HEAPF32[$5 >> 2])); + HEAP32[($5 + 84 | 0) >> 2] = 3; + break label$3; + } + HEAPF32[($5 + 72 | 0) >> 2] = Math_fround(Math_fround(HEAPF32[($4 + 8 | 0) >> 2]) - Math_fround(HEAPF32[$5 >> 2])); + HEAPF32[($5 + 76 | 0) >> 2] = Math_fround(Math_fround(HEAPF32[($4 + 8 | 0) >> 2]) - Math_fround(HEAPF32[($5 + 4 | 0) >> 2])); + HEAP32[($5 + 84 | 0) >> 2] = 4; + } + } + return; + } + + function btGeneric6DofSpring2Constraint__getInfo1_28btTypedConstraint__btConstraintInfo1__29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, $5 = 0, $37 = 0, $50 = 0, $63 = 0, $76 = 0, $105 = 0, $116 = 0, $129 = 0, $142 = 0; + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; + btGeneric6DofSpring2Constraint__calculateTransforms_28btTransform_20const__2c_20btTransform_20const__29($5 | 0, btRigidBody__getCenterOfMassTransform_28_29_20const(HEAP32[($5 + 28 | 0) >> 2] | 0 | 0) | 0 | 0, btRigidBody__getCenterOfMassTransform_28_29_20const(HEAP32[($5 + 32 | 0) >> 2] | 0 | 0) | 0 | 0); + HEAP32[(HEAP32[($4 + 8 | 0) >> 2] | 0) >> 2] = 0; + HEAP32[((HEAP32[($4 + 8 | 0) >> 2] | 0) + 4 | 0) >> 2] = 0; + HEAP32[($4 + 4 | 0) >> 2] = 0; + label$1 : { + label$2 : while (1) { + if (!((HEAP32[($4 + 4 | 0) >> 2] | 0 | 0) < (3 | 0) & 1 | 0)) { + break label$1 + } + label$3 : { + label$4 : { + if (!((HEAP32[((($5 + 680 | 0) + 276 | 0) + ((HEAP32[($4 + 4 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0) == (4 | 0) & 1 | 0)) { + break label$4 + } + $37 = HEAP32[($4 + 8 | 0) >> 2] | 0; + HEAP32[$37 >> 2] = (HEAP32[$37 >> 2] | 0) + 2 | 0; + break label$3; + } + label$5 : { + if (!(HEAP32[((($5 + 680 | 0) + 276 | 0) + ((HEAP32[($4 + 4 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0)) { + break label$5 + } + $50 = HEAP32[($4 + 8 | 0) >> 2] | 0; + HEAP32[$50 >> 2] = (HEAP32[$50 >> 2] | 0) + 1 | 0; + } + } + label$6 : { + if (!((HEAPU8[((($5 + 680 | 0) + 112 | 0) + (HEAP32[($4 + 4 | 0) >> 2] | 0) | 0) >> 0] | 0) & 1 | 0)) { + break label$6 + } + $63 = HEAP32[($4 + 8 | 0) >> 2] | 0; + HEAP32[$63 >> 2] = (HEAP32[$63 >> 2] | 0) + 1 | 0; + } + label$7 : { + if (!((HEAPU8[((($5 + 680 | 0) + 118 | 0) + (HEAP32[($4 + 4 | 0) >> 2] | 0) | 0) >> 0] | 0) & 1 | 0)) { + break label$7 + } + $76 = HEAP32[($4 + 8 | 0) >> 2] | 0; + HEAP32[$76 >> 2] = (HEAP32[$76 >> 2] | 0) + 1 | 0; + } + HEAP32[($4 + 4 | 0) >> 2] = (HEAP32[($4 + 4 | 0) >> 2] | 0) + 1 | 0; + continue label$2; + }; + } + HEAP32[($4 + 4 | 0) >> 2] = 0; + label$8 : { + label$9 : while (1) { + if (!((HEAP32[($4 + 4 | 0) >> 2] | 0 | 0) < (3 | 0) & 1 | 0)) { + break label$8 + } + btGeneric6DofSpring2Constraint__testAngularLimitMotor_28int_29($5 | 0, HEAP32[($4 + 4 | 0) >> 2] | 0 | 0); + label$10 : { + label$11 : { + if (!((HEAP32[((($5 + 968 | 0) + Math_imul(HEAP32[($4 + 4 | 0) >> 2] | 0, 88) | 0) + 84 | 0) >> 2] | 0 | 0) == (4 | 0) & 1 | 0)) { + break label$11 + } + $105 = HEAP32[($4 + 8 | 0) >> 2] | 0; + HEAP32[$105 >> 2] = (HEAP32[$105 >> 2] | 0) + 2 | 0; + break label$10; + } + label$12 : { + if (!(HEAP32[((($5 + 968 | 0) + Math_imul(HEAP32[($4 + 4 | 0) >> 2] | 0, 88) | 0) + 84 | 0) >> 2] | 0)) { + break label$12 + } + $116 = HEAP32[($4 + 8 | 0) >> 2] | 0; + HEAP32[$116 >> 2] = (HEAP32[$116 >> 2] | 0) + 1 | 0; + } + } + label$13 : { + if (!((HEAPU8[((($5 + 968 | 0) + Math_imul(HEAP32[($4 + 4 | 0) >> 2] | 0, 88) | 0) + 28 | 0) >> 0] | 0) & 1 | 0)) { + break label$13 + } + $129 = HEAP32[($4 + 8 | 0) >> 2] | 0; + HEAP32[$129 >> 2] = (HEAP32[$129 >> 2] | 0) + 1 | 0; + } + label$14 : { + if (!((HEAPU8[((($5 + 968 | 0) + Math_imul(HEAP32[($4 + 4 | 0) >> 2] | 0, 88) | 0) + 48 | 0) >> 0] | 0) & 1 | 0)) { + break label$14 + } + $142 = HEAP32[($4 + 8 | 0) >> 2] | 0; + HEAP32[$142 >> 2] = (HEAP32[$142 >> 2] | 0) + 1 | 0; + } + HEAP32[($4 + 4 | 0) >> 2] = (HEAP32[($4 + 4 | 0) >> 2] | 0) + 1 | 0; + continue label$9; + }; + } + __stack_pointer = $4 + 16 | 0; + return; + } + + function btGeneric6DofSpring2Constraint__getInfo2_28btTypedConstraint__btConstraintInfo2__29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, $5 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4 = __stack_pointer - 48 | 0; + __stack_pointer = $4; + HEAP32[($4 + 44 | 0) >> 2] = $0; + HEAP32[($4 + 40 | 0) >> 2] = $1; + $5 = HEAP32[($4 + 44 | 0) >> 2] | 0; + (wasm2js_i32$0 = $4, wasm2js_i32$1 = btRigidBody__getCenterOfMassTransform_28_29_20const(HEAP32[($5 + 28 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 36 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $4, wasm2js_i32$1 = btRigidBody__getCenterOfMassTransform_28_29_20const(HEAP32[($5 + 32 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 32 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $4, wasm2js_i32$1 = btRigidBody__getLinearVelocity_28_29_20const(HEAP32[($5 + 28 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $4, wasm2js_i32$1 = btRigidBody__getLinearVelocity_28_29_20const(HEAP32[($5 + 32 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 24 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $4, wasm2js_i32$1 = btRigidBody__getAngularVelocity_28_29_20const(HEAP32[($5 + 28 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $4, wasm2js_i32$1 = btRigidBody__getAngularVelocity_28_29_20const(HEAP32[($5 + 32 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $4, wasm2js_i32$1 = btGeneric6DofSpring2Constraint__setAngularLimits_28btTypedConstraint__btConstraintInfo2__2c_20int_2c_20btTransform_20const__2c_20btTransform_20const__2c_20btVector3_20const__2c_20btVector3_20const__2c_20btVector3_20const__2c_20btVector3_20const__29($5 | 0, HEAP32[($4 + 40 | 0) >> 2] | 0 | 0, 0 | 0, HEAP32[($4 + 36 | 0) >> 2] | 0 | 0, HEAP32[($4 + 32 | 0) >> 2] | 0 | 0, HEAP32[($4 + 28 | 0) >> 2] | 0 | 0, HEAP32[($4 + 24 | 0) >> 2] | 0 | 0, HEAP32[($4 + 20 | 0) >> 2] | 0 | 0, HEAP32[($4 + 16 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + btGeneric6DofSpring2Constraint__setLinearLimits_28btTypedConstraint__btConstraintInfo2__2c_20int_2c_20btTransform_20const__2c_20btTransform_20const__2c_20btVector3_20const__2c_20btVector3_20const__2c_20btVector3_20const__2c_20btVector3_20const__29($5 | 0, HEAP32[($4 + 40 | 0) >> 2] | 0 | 0, HEAP32[($4 + 12 | 0) >> 2] | 0 | 0, HEAP32[($4 + 36 | 0) >> 2] | 0 | 0, HEAP32[($4 + 32 | 0) >> 2] | 0 | 0, HEAP32[($4 + 28 | 0) >> 2] | 0 | 0, HEAP32[($4 + 24 | 0) >> 2] | 0 | 0, HEAP32[($4 + 20 | 0) >> 2] | 0 | 0, HEAP32[($4 + 16 | 0) >> 2] | 0 | 0) | 0; + __stack_pointer = $4 + 48 | 0; + return; + } + + function btGeneric6DofSpring2Constraint__setAngularLimits_28btTypedConstraint__btConstraintInfo2__2c_20int_2c_20btTransform_20const__2c_20btTransform_20const__2c_20btVector3_20const__2c_20btVector3_20const__2c_20btVector3_20const__2c_20btVector3_20const__29($0, $1, $2, $3, $4, $5, $6, $7, $8) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + $4 = $4 | 0; + $5 = $5 | 0; + $6 = $6 | 0; + $7 = $7 | 0; + $8 = $8 | 0; + var $11 = 0, $12 = 0, $16 = 0, $19 = 0, i64toi32_i32$1 = 0, $160 = 0, $166 = 0; + $11 = __stack_pointer - 96 | 0; + __stack_pointer = $11; + HEAP32[($11 + 92 | 0) >> 2] = $0; + HEAP32[($11 + 88 | 0) >> 2] = $1; + HEAP32[($11 + 84 | 0) >> 2] = $2; + HEAP32[($11 + 80 | 0) >> 2] = $3; + HEAP32[($11 + 76 | 0) >> 2] = $4; + HEAP32[($11 + 72 | 0) >> 2] = $5; + HEAP32[($11 + 68 | 0) >> 2] = $6; + HEAP32[($11 + 64 | 0) >> 2] = $7; + HEAP32[($11 + 60 | 0) >> 2] = $8; + $12 = HEAP32[($11 + 92 | 0) >> 2] | 0; + HEAP32[($11 + 56 | 0) >> 2] = HEAP32[($11 + 84 | 0) >> 2] | 0; + $16 = 0; + HEAP32[($11 + 48 | 0) >> 2] = HEAP32[($16 + 102136 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($16 + 102132 | 0) >> 2] | 0; + HEAP32[($11 + 40 | 0) >> 2] = HEAP32[($16 + 102128 | 0) >> 2] | 0; + HEAP32[($11 + 44 | 0) >> 2] = i64toi32_i32$1; + $19 = HEAP32[($12 + 1232 | 0) >> 2] | 0; + label$1 : { + label$2 : { + switch ($19 | 0) { + case 0: + HEAP32[($11 + 40 | 0) >> 2] = 0; + HEAP32[($11 + 44 | 0) >> 2] = 1; + HEAP32[($11 + 48 | 0) >> 2] = 2; + break label$1; + case 1: + HEAP32[($11 + 40 | 0) >> 2] = 0; + HEAP32[($11 + 44 | 0) >> 2] = 2; + HEAP32[($11 + 48 | 0) >> 2] = 1; + break label$1; + case 2: + HEAP32[($11 + 40 | 0) >> 2] = 1; + HEAP32[($11 + 44 | 0) >> 2] = 0; + HEAP32[($11 + 48 | 0) >> 2] = 2; + break label$1; + case 3: + HEAP32[($11 + 40 | 0) >> 2] = 1; + HEAP32[($11 + 44 | 0) >> 2] = 2; + HEAP32[($11 + 48 | 0) >> 2] = 0; + break label$1; + case 4: + HEAP32[($11 + 40 | 0) >> 2] = 2; + HEAP32[($11 + 44 | 0) >> 2] = 0; + HEAP32[($11 + 48 | 0) >> 2] = 1; + break label$1; + case 5: + HEAP32[($11 + 40 | 0) >> 2] = 2; + HEAP32[($11 + 44 | 0) >> 2] = 1; + HEAP32[($11 + 48 | 0) >> 2] = 0; + break label$1; + default: + break label$2; + }; + } + __assert_fail(81487 | 0, 71825 | 0, 563 | 0, 69239 | 0); + wasm2js_trap(); + } + HEAP32[($11 + 36 | 0) >> 2] = 0; + label$9 : { + label$10 : while (1) { + if (!((HEAP32[($11 + 36 | 0) >> 2] | 0 | 0) < (3 | 0) & 1 | 0)) { + break label$9 + } + HEAP32[($11 + 32 | 0) >> 2] = HEAP32[(($11 + 40 | 0) + ((HEAP32[($11 + 36 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; + label$11 : { + label$12 : { + if (HEAP32[((($12 + 968 | 0) + Math_imul(HEAP32[($11 + 32 | 0) >> 2] | 0, 88) | 0) + 84 | 0) >> 2] | 0) { + break label$12 + } + if ((HEAPU8[((($12 + 968 | 0) + Math_imul(HEAP32[($11 + 32 | 0) >> 2] | 0, 88) | 0) + 28 | 0) >> 0] | 0) & 1 | 0) { + break label$12 + } + if (!((HEAPU8[((($12 + 968 | 0) + Math_imul(HEAP32[($11 + 32 | 0) >> 2] | 0, 88) | 0) + 48 | 0) >> 0] | 0) & 1 | 0)) { + break label$11 + } + } + btGeneric6DofSpring2Constraint__getAxis_28int_29_20const($11 + 16 | 0 | 0, $12 | 0, HEAP32[($11 + 32 | 0) >> 2] | 0 | 0); + HEAP32[($11 + 12 | 0) >> 2] = (HEAP32[($12 + 1456 | 0) >> 2] | 0) >> (((HEAP32[($11 + 32 | 0) >> 2] | 0) + 3 | 0) << 2 | 0) | 0; + label$13 : { + if ((HEAP32[($11 + 12 | 0) >> 2] | 0) & 1 | 0) { + break label$13 + } + HEAPF32[((($12 + 968 | 0) + Math_imul(HEAP32[($11 + 32 | 0) >> 2] | 0, 88) | 0) + 16 | 0) >> 2] = Math_fround(HEAPF32[(HEAP32[((HEAP32[($11 + 88 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0) >> 2]); + } + label$14 : { + if ((HEAP32[($11 + 12 | 0) >> 2] | 0) & 2 | 0) { + break label$14 + } + HEAPF32[((($12 + 968 | 0) + Math_imul(HEAP32[($11 + 32 | 0) >> 2] | 0, 88) | 0) + 12 | 0) >> 2] = Math_fround(HEAPF32[((HEAP32[($11 + 88 | 0) >> 2] | 0) + 4 | 0) >> 2]); + } + label$15 : { + if ((HEAP32[($11 + 12 | 0) >> 2] | 0) & 4 | 0) { + break label$15 + } + HEAPF32[((($12 + 968 | 0) + Math_imul(HEAP32[($11 + 32 | 0) >> 2] | 0, 88) | 0) + 24 | 0) >> 2] = Math_fround(HEAPF32[(HEAP32[((HEAP32[($11 + 88 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0) >> 2]); + } + label$16 : { + if ((HEAP32[($11 + 12 | 0) >> 2] | 0) & 8 | 0) { + break label$16 + } + HEAPF32[((($12 + 968 | 0) + Math_imul(HEAP32[($11 + 32 | 0) >> 2] | 0, 88) | 0) + 20 | 0) >> 2] = Math_fround(HEAPF32[((HEAP32[($11 + 88 | 0) >> 2] | 0) + 4 | 0) >> 2]); + } + $160 = btGeneric6DofSpring2Constraint__get_limit_motor_info2_28btRotationalLimitMotor2__2c_20btTransform_20const__2c_20btTransform_20const__2c_20btVector3_20const__2c_20btVector3_20const__2c_20btVector3_20const__2c_20btVector3_20const__2c_20btTypedConstraint__btConstraintInfo2__2c_20int_2c_20btVector3__2c_20int_2c_20int_29($12 | 0, ($12 + 968 | 0) + Math_imul(HEAP32[($11 + 32 | 0) >> 2] | 0, 88) | 0 | 0, HEAP32[($11 + 80 | 0) >> 2] | 0 | 0, HEAP32[($11 + 76 | 0) >> 2] | 0 | 0, HEAP32[($11 + 72 | 0) >> 2] | 0 | 0, HEAP32[($11 + 68 | 0) >> 2] | 0 | 0, HEAP32[($11 + 64 | 0) >> 2] | 0 | 0, HEAP32[($11 + 60 | 0) >> 2] | 0 | 0, HEAP32[($11 + 88 | 0) >> 2] | 0 | 0, HEAP32[($11 + 56 | 0) >> 2] | 0 | 0, $11 + 16 | 0 | 0, 1 | 0, 0 | 0) | 0; + HEAP32[($11 + 56 | 0) >> 2] = (HEAP32[($11 + 56 | 0) >> 2] | 0) + $160 | 0; + } + HEAP32[($11 + 36 | 0) >> 2] = (HEAP32[($11 + 36 | 0) >> 2] | 0) + 1 | 0; + continue label$10; + }; + } + $166 = HEAP32[($11 + 56 | 0) >> 2] | 0; + __stack_pointer = $11 + 96 | 0; + return $166 | 0; + } + + function btGeneric6DofSpring2Constraint__setLinearLimits_28btTypedConstraint__btConstraintInfo2__2c_20int_2c_20btTransform_20const__2c_20btTransform_20const__2c_20btVector3_20const__2c_20btVector3_20const__2c_20btVector3_20const__2c_20btVector3_20const__29($0, $1, $2, $3, $4, $5, $6, $7, $8) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + $4 = $4 | 0; + $5 = $5 | 0; + $6 = $6 | 0; + $7 = $7 | 0; + $8 = $8 | 0; + var $11 = 0, $12 = 0, $330 = 0, $442 = 0, $248 = Math_fround(0), $266 = Math_fround(0), $283 = Math_fround(0), $301 = Math_fround(0), $398 = 0, $412 = 0, $510 = 0, $524 = 0, $563 = 0, $569 = 0, wasm2js_i32$0 = 0, wasm2js_f32$0 = Math_fround(0); + $11 = __stack_pointer - 176 | 0; + __stack_pointer = $11; + HEAP32[($11 + 172 | 0) >> 2] = $0; + HEAP32[($11 + 168 | 0) >> 2] = $1; + HEAP32[($11 + 164 | 0) >> 2] = $2; + HEAP32[($11 + 160 | 0) >> 2] = $3; + HEAP32[($11 + 156 | 0) >> 2] = $4; + HEAP32[($11 + 152 | 0) >> 2] = $5; + HEAP32[($11 + 148 | 0) >> 2] = $6; + HEAP32[($11 + 144 | 0) >> 2] = $7; + HEAP32[($11 + 140 | 0) >> 2] = $8; + $12 = HEAP32[($11 + 172 | 0) >> 2] | 0; + btRotationalLimitMotor2__btRotationalLimitMotor2_28_29($11 + 52 | 0 | 0) | 0; + HEAP32[($11 + 48 | 0) >> 2] = 0; + label$1 : { + label$2 : while (1) { + if (!((HEAP32[($11 + 48 | 0) >> 2] | 0 | 0) < (3 | 0) & 1 | 0)) { + break label$1 + } + label$3 : { + label$4 : { + if (HEAP32[((($12 + 680 | 0) + 276 | 0) + ((HEAP32[($11 + 48 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0) { + break label$4 + } + if ((HEAPU8[((($12 + 680 | 0) + 112 | 0) + (HEAP32[($11 + 48 | 0) >> 2] | 0) | 0) >> 0] | 0) & 1 | 0) { + break label$4 + } + if (!((HEAPU8[((($12 + 680 | 0) + 118 | 0) + (HEAP32[($11 + 48 | 0) >> 2] | 0) | 0) >> 0] | 0) & 1 | 0)) { + break label$3 + } + } + (wasm2js_i32$0 = $11, wasm2js_f32$0 = Math_fround(HEAPF32[((btVector3__operator_20float__28_29(($12 + 680 | 0) + 32 | 0 | 0) | 0) + ((HEAP32[($11 + 48 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2])), HEAPF32[(wasm2js_i32$0 + 60 | 0) >> 2] = wasm2js_f32$0; + HEAP32[($11 + 136 | 0) >> 2] = HEAP32[((($12 + 680 | 0) + 276 | 0) + ((HEAP32[($11 + 48 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; + (wasm2js_i32$0 = $11, wasm2js_f32$0 = Math_fround(HEAPF32[((btVector3__operator_20float__28_29(($12 + 680 | 0) + 260 | 0 | 0) | 0) + ((HEAP32[($11 + 48 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2])), HEAPF32[(wasm2js_i32$0 + 132 | 0) >> 2] = wasm2js_f32$0; + (wasm2js_i32$0 = $11, wasm2js_f32$0 = Math_fround(HEAPF32[((btVector3__operator_20float__28_29(($12 + 680 | 0) + 228 | 0 | 0) | 0) + ((HEAP32[($11 + 48 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2])), HEAPF32[(wasm2js_i32$0 + 124 | 0) >> 2] = wasm2js_f32$0; + (wasm2js_i32$0 = $11, wasm2js_f32$0 = Math_fround(HEAPF32[((btVector3__operator_20float__28_29(($12 + 680 | 0) + 244 | 0 | 0) | 0) + ((HEAP32[($11 + 48 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2])), HEAPF32[(wasm2js_i32$0 + 128 | 0) >> 2] = wasm2js_f32$0; + HEAP8[($11 + 80 | 0) >> 0] = (HEAPU8[((($12 + 680 | 0) + 112 | 0) + (HEAP32[($11 + 48 | 0) >> 2] | 0) | 0) >> 0] | 0) & 1 | 0; + HEAP8[($11 + 92 | 0) >> 0] = (HEAPU8[((($12 + 680 | 0) + 115 | 0) + (HEAP32[($11 + 48 | 0) >> 2] | 0) | 0) >> 0] | 0) & 1 | 0; + (wasm2js_i32$0 = $11, wasm2js_f32$0 = Math_fround(HEAPF32[((btVector3__operator_20float__28_29(($12 + 680 | 0) + 124 | 0 | 0) | 0) + ((HEAP32[($11 + 48 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2])), HEAPF32[(wasm2js_i32$0 + 96 | 0) >> 2] = wasm2js_f32$0; + HEAP8[($11 + 100 | 0) >> 0] = (HEAPU8[((($12 + 680 | 0) + 118 | 0) + (HEAP32[($11 + 48 | 0) >> 2] | 0) | 0) >> 0] | 0) & 1 | 0; + (wasm2js_i32$0 = $11, wasm2js_f32$0 = Math_fround(HEAPF32[((btVector3__operator_20float__28_29(($12 + 680 | 0) + 140 | 0 | 0) | 0) + ((HEAP32[($11 + 48 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2])), HEAPF32[(wasm2js_i32$0 + 104 | 0) >> 2] = wasm2js_f32$0; + HEAP8[($11 + 108 | 0) >> 0] = (HEAPU8[((($12 + 680 | 0) + 156 | 0) + (HEAP32[($11 + 48 | 0) >> 2] | 0) | 0) >> 0] | 0) & 1 | 0; + (wasm2js_i32$0 = $11, wasm2js_f32$0 = Math_fround(HEAPF32[((btVector3__operator_20float__28_29(($12 + 680 | 0) + 160 | 0 | 0) | 0) + ((HEAP32[($11 + 48 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2])), HEAPF32[(wasm2js_i32$0 + 112 | 0) >> 2] = wasm2js_f32$0; + HEAP8[($11 + 116 | 0) >> 0] = (HEAPU8[((($12 + 680 | 0) + 176 | 0) + (HEAP32[($11 + 48 | 0) >> 2] | 0) | 0) >> 0] | 0) & 1 | 0; + (wasm2js_i32$0 = $11, wasm2js_f32$0 = Math_fround(HEAPF32[((btVector3__operator_20float__28_29(($12 + 680 | 0) + 180 | 0 | 0) | 0) + ((HEAP32[($11 + 48 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2])), HEAPF32[(wasm2js_i32$0 + 120 | 0) >> 2] = wasm2js_f32$0; + (wasm2js_i32$0 = $11, wasm2js_f32$0 = Math_fround(HEAPF32[((btVector3__operator_20float__28_29(($12 + 680 | 0) + 16 | 0 | 0) | 0) + ((HEAP32[($11 + 48 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2])), HEAPF32[(wasm2js_i32$0 + 56 | 0) >> 2] = wasm2js_f32$0; + (wasm2js_i32$0 = $11, wasm2js_f32$0 = Math_fround(HEAPF32[((btVector3__operator_20float__28_29($12 + 680 | 0 | 0) | 0) + ((HEAP32[($11 + 48 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2])), HEAPF32[(wasm2js_i32$0 + 52 | 0) >> 2] = wasm2js_f32$0; + (wasm2js_i32$0 = $11, wasm2js_f32$0 = Math_fround(HEAPF32[((btVector3__operator_20float__28_29(($12 + 680 | 0) + 212 | 0 | 0) | 0) + ((HEAP32[($11 + 48 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2])), HEAPF32[(wasm2js_i32$0 + 88 | 0) >> 2] = wasm2js_f32$0; + (wasm2js_i32$0 = $11, wasm2js_f32$0 = Math_fround(HEAPF32[((btVector3__operator_20float__28_29(($12 + 680 | 0) + 196 | 0 | 0) | 0) + ((HEAP32[($11 + 48 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2])), HEAPF32[(wasm2js_i32$0 + 84 | 0) >> 2] = wasm2js_f32$0; + btMatrix3x3__getColumn_28int_29_20const($11 + 32 | 0 | 0, btTransform__getBasis_28_29($12 + 1236 | 0 | 0) | 0 | 0, HEAP32[($11 + 48 | 0) >> 2] | 0 | 0); + HEAP32[($11 + 28 | 0) >> 2] = (HEAP32[($12 + 1456 | 0) >> 2] | 0) >> ((HEAP32[($11 + 48 | 0) >> 2] | 0) << 2 | 0) | 0; + label$5 : { + label$6 : { + if (!((HEAP32[($11 + 28 | 0) >> 2] | 0) & 1 | 0)) { + break label$6 + } + $248 = Math_fround(HEAPF32[((btVector3__operator_20float__28_29(($12 + 680 | 0) + 64 | 0 | 0) | 0) + ((HEAP32[($11 + 48 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2]); + break label$5; + } + $248 = Math_fround(HEAPF32[(HEAP32[((HEAP32[($11 + 168 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0) >> 2]); + } + HEAPF32[($11 + 68 | 0) >> 2] = $248; + label$7 : { + label$8 : { + if (!((HEAP32[($11 + 28 | 0) >> 2] | 0) & 2 | 0)) { + break label$8 + } + $266 = Math_fround(HEAPF32[((btVector3__operator_20float__28_29(($12 + 680 | 0) + 48 | 0 | 0) | 0) + ((HEAP32[($11 + 48 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2]); + break label$7; + } + $266 = Math_fround(HEAPF32[((HEAP32[($11 + 168 | 0) >> 2] | 0) + 4 | 0) >> 2]); + } + HEAPF32[($11 + 64 | 0) >> 2] = $266; + label$9 : { + label$10 : { + if (!((HEAP32[($11 + 28 | 0) >> 2] | 0) & 4 | 0)) { + break label$10 + } + $283 = Math_fround(HEAPF32[((btVector3__operator_20float__28_29(($12 + 680 | 0) + 96 | 0 | 0) | 0) + ((HEAP32[($11 + 48 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2]); + break label$9; + } + $283 = Math_fround(HEAPF32[(HEAP32[((HEAP32[($11 + 168 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0) >> 2]); + } + HEAPF32[($11 + 76 | 0) >> 2] = $283; + label$11 : { + label$12 : { + if (!((HEAP32[($11 + 28 | 0) >> 2] | 0) & 8 | 0)) { + break label$12 + } + $301 = Math_fround(HEAPF32[((btVector3__operator_20float__28_29(($12 + 680 | 0) + 80 | 0 | 0) | 0) + ((HEAP32[($11 + 48 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2]); + break label$11; + } + $301 = Math_fround(HEAPF32[((HEAP32[($11 + 168 | 0) >> 2] | 0) + 4 | 0) >> 2]); + } + HEAPF32[($11 + 72 | 0) >> 2] = $301; + HEAP32[($11 + 24 | 0) >> 2] = ((HEAP32[($11 + 48 | 0) >> 2] | 0) + 1 | 0 | 0) % (3 | 0) | 0; + HEAP32[($11 + 20 | 0) >> 2] = ((HEAP32[($11 + 48 | 0) >> 2] | 0) + 2 | 0 | 0) % (3 | 0) | 0; + HEAP32[($11 + 16 | 0) >> 2] = 1; + $330 = 1; + label$13 : { + if ((HEAP32[((($12 + 968 | 0) + Math_imul(HEAP32[($11 + 24 | 0) >> 2] | 0, 88) | 0) + 84 | 0) >> 2] | 0 | 0) == (1 | 0) & 1 | 0) { + break label$13 + } + $330 = 1; + if ((HEAP32[((($12 + 968 | 0) + Math_imul(HEAP32[($11 + 24 | 0) >> 2] | 0, 88) | 0) + 84 | 0) >> 2] | 0 | 0) == (2 | 0) & 1 | 0) { + break label$13 + } + label$14 : { + if (!((HEAP32[((($12 + 968 | 0) + Math_imul(HEAP32[($11 + 24 | 0) >> 2] | 0, 88) | 0) + 84 | 0) >> 2] | 0 | 0) == (3 | 0) & 1 | 0)) { + break label$14 + } + $330 = 1; + if (+Math_fround(HEAPF32[(($12 + Math_imul(HEAP32[($11 + 24 | 0) >> 2] | 0, 88) | 0) + 1040 | 0) >> 2]) < -.001 & 1 | 0) { + break label$13 + } + $330 = 1; + if (+Math_fround(HEAPF32[(($12 + Math_imul(HEAP32[($11 + 24 | 0) >> 2] | 0, 88) | 0) + 1040 | 0) >> 2]) > .001 & 1 | 0) { + break label$13 + } + } + $398 = 0; + label$15 : { + if (!((HEAP32[((($12 + 968 | 0) + Math_imul(HEAP32[($11 + 24 | 0) >> 2] | 0, 88) | 0) + 84 | 0) >> 2] | 0 | 0) == (4 | 0) & 1 | 0)) { + break label$15 + } + $412 = 1; + label$16 : { + if (+Math_fround(HEAPF32[(($12 + Math_imul(HEAP32[($11 + 24 | 0) >> 2] | 0, 88) | 0) + 1040 | 0) >> 2]) < -.001 & 1 | 0) { + break label$16 + } + $412 = +Math_fround(HEAPF32[(($12 + Math_imul(HEAP32[($11 + 24 | 0) >> 2] | 0, 88) | 0) + 1044 | 0) >> 2]) > .001; + } + $398 = $412; + } + $330 = $398; + } + HEAP8[($11 + 15 | 0) >> 0] = $330 & 1 | 0; + $442 = 1; + label$17 : { + if ((HEAP32[((($12 + 968 | 0) + Math_imul(HEAP32[($11 + 20 | 0) >> 2] | 0, 88) | 0) + 84 | 0) >> 2] | 0 | 0) == (1 | 0) & 1 | 0) { + break label$17 + } + $442 = 1; + if ((HEAP32[((($12 + 968 | 0) + Math_imul(HEAP32[($11 + 20 | 0) >> 2] | 0, 88) | 0) + 84 | 0) >> 2] | 0 | 0) == (2 | 0) & 1 | 0) { + break label$17 + } + label$18 : { + if (!((HEAP32[((($12 + 968 | 0) + Math_imul(HEAP32[($11 + 20 | 0) >> 2] | 0, 88) | 0) + 84 | 0) >> 2] | 0 | 0) == (3 | 0) & 1 | 0)) { + break label$18 + } + $442 = 1; + if (+Math_fround(HEAPF32[(($12 + Math_imul(HEAP32[($11 + 20 | 0) >> 2] | 0, 88) | 0) + 1040 | 0) >> 2]) < -.001 & 1 | 0) { + break label$17 + } + $442 = 1; + if (+Math_fround(HEAPF32[(($12 + Math_imul(HEAP32[($11 + 20 | 0) >> 2] | 0, 88) | 0) + 1040 | 0) >> 2]) > .001 & 1 | 0) { + break label$17 + } + } + $510 = 0; + label$19 : { + if (!((HEAP32[((($12 + 968 | 0) + Math_imul(HEAP32[($11 + 20 | 0) >> 2] | 0, 88) | 0) + 84 | 0) >> 2] | 0 | 0) == (4 | 0) & 1 | 0)) { + break label$19 + } + $524 = 1; + label$20 : { + if (+Math_fround(HEAPF32[(($12 + Math_imul(HEAP32[($11 + 20 | 0) >> 2] | 0, 88) | 0) + 1040 | 0) >> 2]) < -.001 & 1 | 0) { + break label$20 + } + $524 = +Math_fround(HEAPF32[(($12 + Math_imul(HEAP32[($11 + 20 | 0) >> 2] | 0, 88) | 0) + 1044 | 0) >> 2]) > .001; + } + $510 = $524; + } + $442 = $510; + } + HEAP8[($11 + 14 | 0) >> 0] = $442 & 1 | 0; + label$21 : { + if (!((HEAPU8[($11 + 15 | 0) >> 0] | 0) & 1 | 0)) { + break label$21 + } + if (!((HEAPU8[($11 + 14 | 0) >> 0] | 0) & 1 | 0)) { + break label$21 + } + HEAP32[($11 + 16 | 0) >> 2] = 0; + } + $563 = btGeneric6DofSpring2Constraint__get_limit_motor_info2_28btRotationalLimitMotor2__2c_20btTransform_20const__2c_20btTransform_20const__2c_20btVector3_20const__2c_20btVector3_20const__2c_20btVector3_20const__2c_20btVector3_20const__2c_20btTypedConstraint__btConstraintInfo2__2c_20int_2c_20btVector3__2c_20int_2c_20int_29($12 | 0, $11 + 52 | 0 | 0, HEAP32[($11 + 160 | 0) >> 2] | 0 | 0, HEAP32[($11 + 156 | 0) >> 2] | 0 | 0, HEAP32[($11 + 152 | 0) >> 2] | 0 | 0, HEAP32[($11 + 148 | 0) >> 2] | 0 | 0, HEAP32[($11 + 144 | 0) >> 2] | 0 | 0, HEAP32[($11 + 140 | 0) >> 2] | 0 | 0, HEAP32[($11 + 168 | 0) >> 2] | 0 | 0, HEAP32[($11 + 164 | 0) >> 2] | 0 | 0, $11 + 32 | 0 | 0, 0 | 0, HEAP32[($11 + 16 | 0) >> 2] | 0 | 0) | 0; + HEAP32[($11 + 164 | 0) >> 2] = (HEAP32[($11 + 164 | 0) >> 2] | 0) + $563 | 0; + } + HEAP32[($11 + 48 | 0) >> 2] = (HEAP32[($11 + 48 | 0) >> 2] | 0) + 1 | 0; + continue label$2; + }; + } + $569 = HEAP32[($11 + 164 | 0) >> 2] | 0; + __stack_pointer = $11 + 176 | 0; + return $569 | 0; + } + + function btGeneric6DofSpring2Constraint__getAxis_28int_29_20const($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var i64toi32_i32$2 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $5 = 0, $14 = 0, $42 = 0, $52 = 0; + $5 = __stack_pointer - 16 | 0; + HEAP32[($5 + 12 | 0) >> 2] = $1; + HEAP32[($5 + 8 | 0) >> 2] = $2; + i64toi32_i32$2 = ((HEAP32[($5 + 12 | 0) >> 2] | 0) + 1380 | 0) + ((HEAP32[($5 + 8 | 0) >> 2] | 0) << 4 | 0) | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $42 = i64toi32_i32$0; + i64toi32_i32$0 = $0; + HEAP32[i64toi32_i32$0 >> 2] = $42; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $14 = 8; + i64toi32_i32$2 = i64toi32_i32$2 + $14 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $52 = i64toi32_i32$1; + i64toi32_i32$1 = $0 + $14 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $52; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + return; + } + + function btGeneric6DofSpring2Constraint__get_limit_motor_info2_28btRotationalLimitMotor2__2c_20btTransform_20const__2c_20btTransform_20const__2c_20btVector3_20const__2c_20btVector3_20const__2c_20btVector3_20const__2c_20btVector3_20const__2c_20btTypedConstraint__btConstraintInfo2__2c_20int_2c_20btVector3__2c_20int_2c_20int_29($0, $1, $2, $3, $4, $5, $6, $7, $8, $9, $10, $11, $12) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + $4 = $4 | 0; + $5 = $5 | 0; + $6 = $6 | 0; + $7 = $7 | 0; + $8 = $8 | 0; + $9 = $9 | 0; + $10 = $10 | 0; + $11 = $11 | 0; + $12 = $12 | 0; + var $15 = 0, $16 = 0, $38 = Math_fround(0), $427 = Math_fround(0), $542 = Math_fround(0), $568 = Math_fround(0), $578 = Math_fround(0), $594 = Math_fround(0), $611 = Math_fround(0), $708 = Math_fround(0), $733 = Math_fround(0), $816 = Math_fround(0), $825 = Math_fround(0), $837 = Math_fround(0), $854 = Math_fround(0), $872 = Math_fround(0), $891 = Math_fround(0), $915 = 0, wasm2js_i32$0 = 0, wasm2js_f32$0 = Math_fround(0); + $15 = __stack_pointer - 176 | 0; + __stack_pointer = $15; + HEAP32[($15 + 172 | 0) >> 2] = $0; + HEAP32[($15 + 168 | 0) >> 2] = $1; + HEAP32[($15 + 164 | 0) >> 2] = $2; + HEAP32[($15 + 160 | 0) >> 2] = $3; + HEAP32[($15 + 156 | 0) >> 2] = $4; + HEAP32[($15 + 152 | 0) >> 2] = $5; + HEAP32[($15 + 148 | 0) >> 2] = $6; + HEAP32[($15 + 144 | 0) >> 2] = $7; + HEAP32[($15 + 140 | 0) >> 2] = $8; + HEAP32[($15 + 136 | 0) >> 2] = $9; + HEAP32[($15 + 132 | 0) >> 2] = $10; + HEAP32[($15 + 128 | 0) >> 2] = $11; + HEAP32[($15 + 124 | 0) >> 2] = $12; + $16 = HEAP32[($15 + 172 | 0) >> 2] | 0; + HEAP32[($15 + 120 | 0) >> 2] = 0; + HEAP32[($15 + 116 | 0) >> 2] = Math_imul(HEAP32[($15 + 136 | 0) >> 2] | 0, HEAP32[((HEAP32[($15 + 140 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0); + label$1 : { + label$2 : { + if (!((HEAP32[((HEAP32[($15 + 168 | 0) >> 2] | 0) + 84 | 0) >> 2] | 0 | 0) == (4 | 0) & 1 | 0)) { + break label$2 + } + label$3 : { + label$4 : { + if (!(HEAP32[($15 + 128 | 0) >> 2] | 0)) { + break label$4 + } + $38 = Math_fround(Math_fround(btVector3__dot_28btVector3_20const__29_20const(HEAP32[($15 + 148 | 0) >> 2] | 0 | 0, HEAP32[($15 + 132 | 0) >> 2] | 0 | 0)) - Math_fround(btVector3__dot_28btVector3_20const__29_20const(HEAP32[($15 + 144 | 0) >> 2] | 0 | 0, HEAP32[($15 + 132 | 0) >> 2] | 0 | 0))); + break label$3; + } + $38 = Math_fround(Math_fround(btVector3__dot_28btVector3_20const__29_20const(HEAP32[($15 + 156 | 0) >> 2] | 0 | 0, HEAP32[($15 + 132 | 0) >> 2] | 0 | 0)) - Math_fround(btVector3__dot_28btVector3_20const__29_20const(HEAP32[($15 + 152 | 0) >> 2] | 0 | 0, HEAP32[($15 + 132 | 0) >> 2] | 0 | 0))); + } + HEAPF32[($15 + 112 | 0) >> 2] = $38; + btGeneric6DofSpring2Constraint__calculateJacobi_28btRotationalLimitMotor2__2c_20btTransform_20const__2c_20btTransform_20const__2c_20btTypedConstraint__btConstraintInfo2__2c_20int_2c_20btVector3__2c_20int_2c_20int_29($16 | 0, HEAP32[($15 + 168 | 0) >> 2] | 0 | 0, HEAP32[($15 + 164 | 0) >> 2] | 0 | 0, HEAP32[($15 + 160 | 0) >> 2] | 0 | 0, HEAP32[($15 + 140 | 0) >> 2] | 0 | 0, HEAP32[($15 + 116 | 0) >> 2] | 0 | 0, HEAP32[($15 + 132 | 0) >> 2] | 0 | 0, HEAP32[($15 + 128 | 0) >> 2] | 0 | 0, HEAP32[($15 + 124 | 0) >> 2] | 0 | 0); + HEAPF32[((HEAP32[((HEAP32[($15 + 140 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0) + ((HEAP32[($15 + 116 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = Math_fround(Math_fround(Math_fround(Math_fround(HEAPF32[(HEAP32[($15 + 140 | 0) >> 2] | 0) >> 2]) * Math_fround(HEAPF32[((HEAP32[($15 + 168 | 0) >> 2] | 0) + 12 | 0) >> 2])) * Math_fround(HEAPF32[((HEAP32[($15 + 168 | 0) >> 2] | 0) + 72 | 0) >> 2])) * Math_fround((HEAP32[($15 + 128 | 0) >> 2] | 0 ? -1 : 1) | 0)); + label$5 : { + label$6 : { + if (!(HEAP32[($15 + 128 | 0) >> 2] | 0)) { + break label$6 + } + label$7 : { + if (!(Math_fround(Math_fround(Math_fround(-Math_fround(HEAPF32[($15 + 112 | 0) >> 2])) * Math_fround(HEAPF32[((HEAP32[($15 + 168 | 0) >> 2] | 0) + 12 | 0) >> 2])) + Math_fround(HEAPF32[((HEAP32[((HEAP32[($15 + 140 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0) + ((HEAP32[($15 + 116 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2])) > Math_fround(0 | 0) & 1 | 0)) { + break label$7 + } + HEAPF32[($15 + 108 | 0) >> 2] = Math_fround(Math_fround(-Math_fround(HEAPF32[((HEAP32[($15 + 168 | 0) >> 2] | 0) + 8 | 0) >> 2])) * Math_fround(HEAPF32[($15 + 112 | 0) >> 2])); + label$8 : { + if (!(Math_fround(HEAPF32[($15 + 108 | 0) >> 2]) > Math_fround(HEAPF32[((HEAP32[((HEAP32[($15 + 140 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0) + ((HEAP32[($15 + 116 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2]) & 1 | 0)) { + break label$8 + } + HEAPF32[((HEAP32[((HEAP32[($15 + 140 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0) + ((HEAP32[($15 + 116 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = Math_fround(HEAPF32[($15 + 108 | 0) >> 2]); + } + } + break label$5; + } + label$9 : { + if (!(Math_fround(Math_fround(Math_fround(-Math_fround(HEAPF32[($15 + 112 | 0) >> 2])) * Math_fround(HEAPF32[((HEAP32[($15 + 168 | 0) >> 2] | 0) + 12 | 0) >> 2])) + Math_fround(HEAPF32[((HEAP32[((HEAP32[($15 + 140 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0) + ((HEAP32[($15 + 116 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2])) < Math_fround(0 | 0) & 1 | 0)) { + break label$9 + } + HEAPF32[($15 + 104 | 0) >> 2] = Math_fround(Math_fround(-Math_fround(HEAPF32[((HEAP32[($15 + 168 | 0) >> 2] | 0) + 8 | 0) >> 2])) * Math_fround(HEAPF32[($15 + 112 | 0) >> 2])); + label$10 : { + if (!(Math_fround(HEAPF32[($15 + 104 | 0) >> 2]) < Math_fround(HEAPF32[((HEAP32[((HEAP32[($15 + 140 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0) + ((HEAP32[($15 + 116 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2]) & 1 | 0)) { + break label$10 + } + HEAPF32[((HEAP32[((HEAP32[($15 + 140 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0) + ((HEAP32[($15 + 116 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = Math_fround(HEAPF32[($15 + 104 | 0) >> 2]); + } + } + } + HEAPF32[((HEAP32[((HEAP32[($15 + 140 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) + ((HEAP32[($15 + 116 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = HEAP32[($15 + 128 | 0) >> 2] | 0 ? Math_fround(0 | 0) : Math_fround(-3402823466385288598117041.0e14); + HEAPF32[((HEAP32[((HEAP32[($15 + 140 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0) + ((HEAP32[($15 + 116 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = HEAP32[($15 + 128 | 0) >> 2] | 0 ? Math_fround(3402823466385288598117041.0e14) : Math_fround(0 | 0); + HEAPF32[((HEAP32[((HEAP32[($15 + 140 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0) + ((HEAP32[($15 + 116 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = Math_fround(HEAPF32[((HEAP32[($15 + 168 | 0) >> 2] | 0) + 16 | 0) >> 2]); + HEAP32[($15 + 116 | 0) >> 2] = (HEAP32[($15 + 116 | 0) >> 2] | 0) + (HEAP32[((HEAP32[($15 + 140 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0) | 0; + HEAP32[($15 + 120 | 0) >> 2] = (HEAP32[($15 + 120 | 0) >> 2] | 0) + 1 | 0; + btGeneric6DofSpring2Constraint__calculateJacobi_28btRotationalLimitMotor2__2c_20btTransform_20const__2c_20btTransform_20const__2c_20btTypedConstraint__btConstraintInfo2__2c_20int_2c_20btVector3__2c_20int_2c_20int_29($16 | 0, HEAP32[($15 + 168 | 0) >> 2] | 0 | 0, HEAP32[($15 + 164 | 0) >> 2] | 0 | 0, HEAP32[($15 + 160 | 0) >> 2] | 0 | 0, HEAP32[($15 + 140 | 0) >> 2] | 0 | 0, HEAP32[($15 + 116 | 0) >> 2] | 0 | 0, HEAP32[($15 + 132 | 0) >> 2] | 0 | 0, HEAP32[($15 + 128 | 0) >> 2] | 0 | 0, HEAP32[($15 + 124 | 0) >> 2] | 0 | 0); + HEAPF32[((HEAP32[((HEAP32[($15 + 140 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0) + ((HEAP32[($15 + 116 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = Math_fround(Math_fround(Math_fround(Math_fround(HEAPF32[(HEAP32[($15 + 140 | 0) >> 2] | 0) >> 2]) * Math_fround(HEAPF32[((HEAP32[($15 + 168 | 0) >> 2] | 0) + 12 | 0) >> 2])) * Math_fround(HEAPF32[((HEAP32[($15 + 168 | 0) >> 2] | 0) + 76 | 0) >> 2])) * Math_fround((HEAP32[($15 + 128 | 0) >> 2] | 0 ? -1 : 1) | 0)); + label$11 : { + label$12 : { + if (!(HEAP32[($15 + 128 | 0) >> 2] | 0)) { + break label$12 + } + label$13 : { + if (!(Math_fround(Math_fround(Math_fround(-Math_fround(HEAPF32[($15 + 112 | 0) >> 2])) * Math_fround(HEAPF32[((HEAP32[($15 + 168 | 0) >> 2] | 0) + 12 | 0) >> 2])) + Math_fround(HEAPF32[((HEAP32[((HEAP32[($15 + 140 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0) + ((HEAP32[($15 + 116 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2])) < Math_fround(0 | 0) & 1 | 0)) { + break label$13 + } + HEAPF32[($15 + 100 | 0) >> 2] = Math_fround(Math_fround(-Math_fround(HEAPF32[((HEAP32[($15 + 168 | 0) >> 2] | 0) + 8 | 0) >> 2])) * Math_fround(HEAPF32[($15 + 112 | 0) >> 2])); + label$14 : { + if (!(Math_fround(HEAPF32[($15 + 100 | 0) >> 2]) < Math_fround(HEAPF32[((HEAP32[((HEAP32[($15 + 140 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0) + ((HEAP32[($15 + 116 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2]) & 1 | 0)) { + break label$14 + } + HEAPF32[((HEAP32[((HEAP32[($15 + 140 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0) + ((HEAP32[($15 + 116 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = Math_fround(HEAPF32[($15 + 100 | 0) >> 2]); + } + } + break label$11; + } + label$15 : { + if (!(Math_fround(Math_fround(Math_fround(-Math_fround(HEAPF32[($15 + 112 | 0) >> 2])) * Math_fround(HEAPF32[((HEAP32[($15 + 168 | 0) >> 2] | 0) + 12 | 0) >> 2])) + Math_fround(HEAPF32[((HEAP32[((HEAP32[($15 + 140 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0) + ((HEAP32[($15 + 116 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2])) > Math_fround(0 | 0) & 1 | 0)) { + break label$15 + } + HEAPF32[($15 + 96 | 0) >> 2] = Math_fround(Math_fround(-Math_fround(HEAPF32[((HEAP32[($15 + 168 | 0) >> 2] | 0) + 8 | 0) >> 2])) * Math_fround(HEAPF32[($15 + 112 | 0) >> 2])); + label$16 : { + if (!(Math_fround(HEAPF32[($15 + 96 | 0) >> 2]) > Math_fround(HEAPF32[((HEAP32[((HEAP32[($15 + 140 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0) + ((HEAP32[($15 + 116 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2]) & 1 | 0)) { + break label$16 + } + HEAPF32[((HEAP32[((HEAP32[($15 + 140 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0) + ((HEAP32[($15 + 116 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = Math_fround(HEAPF32[($15 + 96 | 0) >> 2]); + } + } + } + HEAPF32[((HEAP32[((HEAP32[($15 + 140 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) + ((HEAP32[($15 + 116 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = HEAP32[($15 + 128 | 0) >> 2] | 0 ? Math_fround(-3402823466385288598117041.0e14) : Math_fround(0 | 0); + HEAPF32[((HEAP32[((HEAP32[($15 + 140 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0) + ((HEAP32[($15 + 116 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = HEAP32[($15 + 128 | 0) >> 2] | 0 ? Math_fround(0 | 0) : Math_fround(3402823466385288598117041.0e14); + HEAPF32[((HEAP32[((HEAP32[($15 + 140 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0) + ((HEAP32[($15 + 116 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = Math_fround(HEAPF32[((HEAP32[($15 + 168 | 0) >> 2] | 0) + 16 | 0) >> 2]); + HEAP32[($15 + 116 | 0) >> 2] = (HEAP32[($15 + 116 | 0) >> 2] | 0) + (HEAP32[((HEAP32[($15 + 140 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0) | 0; + HEAP32[($15 + 120 | 0) >> 2] = (HEAP32[($15 + 120 | 0) >> 2] | 0) + 1 | 0; + break label$1; + } + label$17 : { + if (!((HEAP32[((HEAP32[($15 + 168 | 0) >> 2] | 0) + 84 | 0) >> 2] | 0 | 0) == (3 | 0) & 1 | 0)) { + break label$17 + } + btGeneric6DofSpring2Constraint__calculateJacobi_28btRotationalLimitMotor2__2c_20btTransform_20const__2c_20btTransform_20const__2c_20btTypedConstraint__btConstraintInfo2__2c_20int_2c_20btVector3__2c_20int_2c_20int_29($16 | 0, HEAP32[($15 + 168 | 0) >> 2] | 0 | 0, HEAP32[($15 + 164 | 0) >> 2] | 0 | 0, HEAP32[($15 + 160 | 0) >> 2] | 0 | 0, HEAP32[($15 + 140 | 0) >> 2] | 0 | 0, HEAP32[($15 + 116 | 0) >> 2] | 0 | 0, HEAP32[($15 + 132 | 0) >> 2] | 0 | 0, HEAP32[($15 + 128 | 0) >> 2] | 0 | 0, HEAP32[($15 + 124 | 0) >> 2] | 0 | 0); + HEAPF32[((HEAP32[((HEAP32[($15 + 140 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0) + ((HEAP32[($15 + 116 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = Math_fround(Math_fround(Math_fround(Math_fround(HEAPF32[(HEAP32[($15 + 140 | 0) >> 2] | 0) >> 2]) * Math_fround(HEAPF32[((HEAP32[($15 + 168 | 0) >> 2] | 0) + 12 | 0) >> 2])) * Math_fround(HEAPF32[((HEAP32[($15 + 168 | 0) >> 2] | 0) + 72 | 0) >> 2])) * Math_fround((HEAP32[($15 + 128 | 0) >> 2] | 0 ? -1 : 1) | 0)); + HEAPF32[((HEAP32[((HEAP32[($15 + 140 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) + ((HEAP32[($15 + 116 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = Math_fround(-3402823466385288598117041.0e14); + HEAPF32[((HEAP32[((HEAP32[($15 + 140 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0) + ((HEAP32[($15 + 116 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = Math_fround(3402823466385288598117041.0e14); + HEAPF32[((HEAP32[((HEAP32[($15 + 140 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0) + ((HEAP32[($15 + 116 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = Math_fround(HEAPF32[((HEAP32[($15 + 168 | 0) >> 2] | 0) + 16 | 0) >> 2]); + HEAP32[($15 + 116 | 0) >> 2] = (HEAP32[($15 + 116 | 0) >> 2] | 0) + (HEAP32[((HEAP32[($15 + 140 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0) | 0; + HEAP32[($15 + 120 | 0) >> 2] = (HEAP32[($15 + 120 | 0) >> 2] | 0) + 1 | 0; + } + } + label$18 : { + if (!((HEAPU8[((HEAP32[($15 + 168 | 0) >> 2] | 0) + 28 | 0) >> 0] | 0) & 1 | 0)) { + break label$18 + } + if ((HEAPU8[((HEAP32[($15 + 168 | 0) >> 2] | 0) + 40 | 0) >> 0] | 0) & 1 | 0) { + break label$18 + } + btGeneric6DofSpring2Constraint__calculateJacobi_28btRotationalLimitMotor2__2c_20btTransform_20const__2c_20btTransform_20const__2c_20btTypedConstraint__btConstraintInfo2__2c_20int_2c_20btVector3__2c_20int_2c_20int_29($16 | 0, HEAP32[($15 + 168 | 0) >> 2] | 0 | 0, HEAP32[($15 + 164 | 0) >> 2] | 0 | 0, HEAP32[($15 + 160 | 0) >> 2] | 0 | 0, HEAP32[($15 + 140 | 0) >> 2] | 0 | 0, HEAP32[($15 + 116 | 0) >> 2] | 0 | 0, HEAP32[($15 + 132 | 0) >> 2] | 0 | 0, HEAP32[($15 + 128 | 0) >> 2] | 0 | 0, HEAP32[($15 + 124 | 0) >> 2] | 0 | 0); + label$19 : { + label$20 : { + if (!(HEAP32[($15 + 128 | 0) >> 2] | 0)) { + break label$20 + } + $427 = Math_fround(HEAPF32[((HEAP32[($15 + 168 | 0) >> 2] | 0) + 32 | 0) >> 2]); + break label$19; + } + $427 = Math_fround(-Math_fround(HEAPF32[((HEAP32[($15 + 168 | 0) >> 2] | 0) + 32 | 0) >> 2])); + } + HEAPF32[($15 + 92 | 0) >> 2] = $427; + (wasm2js_i32$0 = $15, wasm2js_f32$0 = Math_fround(btTypedConstraint__getMotorFactor_28float_2c_20float_2c_20float_2c_20float_2c_20float_29($16 | 0, Math_fround(Math_fround(HEAPF32[((HEAP32[($15 + 168 | 0) >> 2] | 0) + 80 | 0) >> 2])), Math_fround(Math_fround(HEAPF32[(HEAP32[($15 + 168 | 0) >> 2] | 0) >> 2])), Math_fround(Math_fround(HEAPF32[((HEAP32[($15 + 168 | 0) >> 2] | 0) + 4 | 0) >> 2])), Math_fround(Math_fround(HEAPF32[($15 + 92 | 0) >> 2])), Math_fround(Math_fround(Math_fround(HEAPF32[(HEAP32[($15 + 140 | 0) >> 2] | 0) >> 2]) * Math_fround(HEAPF32[((HEAP32[($15 + 168 | 0) >> 2] | 0) + 20 | 0) >> 2])))))), HEAPF32[(wasm2js_i32$0 + 88 | 0) >> 2] = wasm2js_f32$0; + HEAPF32[((HEAP32[((HEAP32[($15 + 140 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0) + ((HEAP32[($15 + 116 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = Math_fround(Math_fround(HEAPF32[($15 + 88 | 0) >> 2]) * Math_fround(HEAPF32[((HEAP32[($15 + 168 | 0) >> 2] | 0) + 32 | 0) >> 2])); + HEAPF32[((HEAP32[((HEAP32[($15 + 140 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) + ((HEAP32[($15 + 116 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = Math_fround(-Math_fround(HEAPF32[((HEAP32[($15 + 168 | 0) >> 2] | 0) + 36 | 0) >> 2])); + HEAPF32[((HEAP32[((HEAP32[($15 + 140 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0) + ((HEAP32[($15 + 116 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = Math_fround(HEAPF32[((HEAP32[($15 + 168 | 0) >> 2] | 0) + 36 | 0) >> 2]); + HEAPF32[((HEAP32[((HEAP32[($15 + 140 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0) + ((HEAP32[($15 + 116 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = Math_fround(HEAPF32[((HEAP32[($15 + 168 | 0) >> 2] | 0) + 24 | 0) >> 2]); + HEAP32[($15 + 116 | 0) >> 2] = (HEAP32[($15 + 116 | 0) >> 2] | 0) + (HEAP32[((HEAP32[($15 + 140 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0) | 0; + HEAP32[($15 + 120 | 0) >> 2] = (HEAP32[($15 + 120 | 0) >> 2] | 0) + 1 | 0; + } + label$21 : { + if (!((HEAPU8[((HEAP32[($15 + 168 | 0) >> 2] | 0) + 28 | 0) >> 0] | 0) & 1 | 0)) { + break label$21 + } + if (!((HEAPU8[((HEAP32[($15 + 168 | 0) >> 2] | 0) + 40 | 0) >> 0] | 0) & 1 | 0)) { + break label$21 + } + HEAPF32[($15 + 84 | 0) >> 2] = Math_fround(Math_fround(HEAPF32[((HEAP32[($15 + 168 | 0) >> 2] | 0) + 80 | 0) >> 2]) - Math_fround(HEAPF32[((HEAP32[($15 + 168 | 0) >> 2] | 0) + 44 | 0) >> 2])); + HEAPF32[($15 + 80 | 0) >> 2] = Math_fround(HEAPF32[((HEAP32[($15 + 168 | 0) >> 2] | 0) + 44 | 0) >> 2]); + label$22 : { + if (!(HEAP32[($15 + 128 | 0) >> 2] | 0)) { + break label$22 + } + label$23 : { + if (!(Math_fround(HEAPF32[($15 + 84 | 0) >> 2]) > Math_fround(3.1415927410125732) & 1 | 0)) { + break label$23 + } + HEAPF32[($15 + 84 | 0) >> 2] = Math_fround(Math_fround(HEAPF32[($15 + 84 | 0) >> 2]) - Math_fround(6.2831854820251465)); + HEAPF32[($15 + 80 | 0) >> 2] = Math_fround(Math_fround(HEAPF32[($15 + 80 | 0) >> 2]) + Math_fround(6.2831854820251465)); + } + label$24 : { + if (!(Math_fround(HEAPF32[($15 + 84 | 0) >> 2]) < Math_fround(-3.1415927410125732) & 1 | 0)) { + break label$24 + } + HEAPF32[($15 + 84 | 0) >> 2] = Math_fround(Math_fround(HEAPF32[($15 + 84 | 0) >> 2]) + Math_fround(6.2831854820251465)); + HEAPF32[($15 + 80 | 0) >> 2] = Math_fround(Math_fround(HEAPF32[($15 + 80 | 0) >> 2]) - Math_fround(6.2831854820251465)); + } + } + btGeneric6DofSpring2Constraint__calculateJacobi_28btRotationalLimitMotor2__2c_20btTransform_20const__2c_20btTransform_20const__2c_20btTypedConstraint__btConstraintInfo2__2c_20int_2c_20btVector3__2c_20int_2c_20int_29($16 | 0, HEAP32[($15 + 168 | 0) >> 2] | 0 | 0, HEAP32[($15 + 164 | 0) >> 2] | 0 | 0, HEAP32[($15 + 160 | 0) >> 2] | 0 | 0, HEAP32[($15 + 140 | 0) >> 2] | 0 | 0, HEAP32[($15 + 116 | 0) >> 2] | 0 | 0, HEAP32[($15 + 132 | 0) >> 2] | 0 | 0, HEAP32[($15 + 128 | 0) >> 2] | 0 | 0, HEAP32[($15 + 124 | 0) >> 2] | 0 | 0); + label$25 : { + label$26 : { + if (!(Math_fround(HEAPF32[($15 + 84 | 0) >> 2]) < Math_fround(0 | 0) & 1 | 0)) { + break label$26 + } + $542 = Math_fround(-Math_fround(HEAPF32[((HEAP32[($15 + 168 | 0) >> 2] | 0) + 32 | 0) >> 2])); + break label$25; + } + $542 = Math_fround(HEAPF32[((HEAP32[($15 + 168 | 0) >> 2] | 0) + 32 | 0) >> 2]); + } + HEAPF32[($15 + 76 | 0) >> 2] = $542; + HEAPF32[($15 + 72 | 0) >> 2] = Math_fround(-Math_fround(HEAPF32[($15 + 76 | 0) >> 2])); + label$27 : { + label$28 : { + if (!(Math_fround(HEAPF32[($15 + 84 | 0) >> 2]) != Math_fround(0 | 0) & 1 | 0)) { + break label$28 + } + label$29 : { + label$30 : { + if (!(Math_fround(HEAPF32[(HEAP32[($15 + 168 | 0) >> 2] | 0) >> 2]) > Math_fround(HEAPF32[((HEAP32[($15 + 168 | 0) >> 2] | 0) + 4 | 0) >> 2]) & 1 | 0)) { + break label$30 + } + label$31 : { + label$32 : { + if (!(Math_fround(HEAPF32[($15 + 84 | 0) >> 2]) > Math_fround(0 | 0) & 1 | 0)) { + break label$32 + } + $568 = Math_fround(HEAPF32[($15 + 80 | 0) >> 2]); + break label$31; + } + $568 = Math_fround(-3402823466385288598117041.0e14); + } + HEAPF32[($15 + 64 | 0) >> 2] = $568; + label$33 : { + label$34 : { + if (!(Math_fround(HEAPF32[($15 + 84 | 0) >> 2]) < Math_fround(0 | 0) & 1 | 0)) { + break label$34 + } + $578 = Math_fround(HEAPF32[($15 + 80 | 0) >> 2]); + break label$33; + } + $578 = Math_fround(3402823466385288598117041.0e14); + } + HEAPF32[($15 + 60 | 0) >> 2] = $578; + break label$29; + } + label$35 : { + label$36 : { + if (!(Math_fround(HEAPF32[($15 + 84 | 0) >> 2]) > Math_fround(0 | 0) & 1 | 0)) { + break label$36 + } + if (!(Math_fround(HEAPF32[($15 + 80 | 0) >> 2]) > Math_fround(HEAPF32[(HEAP32[($15 + 168 | 0) >> 2] | 0) >> 2]) & 1 | 0)) { + break label$36 + } + $594 = Math_fround(HEAPF32[($15 + 80 | 0) >> 2]); + break label$35; + } + $594 = Math_fround(HEAPF32[(HEAP32[($15 + 168 | 0) >> 2] | 0) >> 2]); + } + HEAPF32[($15 + 64 | 0) >> 2] = $594; + label$37 : { + label$38 : { + if (!(Math_fround(HEAPF32[($15 + 84 | 0) >> 2]) < Math_fround(0 | 0) & 1 | 0)) { + break label$38 + } + if (!(Math_fround(HEAPF32[($15 + 80 | 0) >> 2]) < Math_fround(HEAPF32[((HEAP32[($15 + 168 | 0) >> 2] | 0) + 4 | 0) >> 2]) & 1 | 0)) { + break label$38 + } + $611 = Math_fround(HEAPF32[($15 + 80 | 0) >> 2]); + break label$37; + } + $611 = Math_fround(HEAPF32[((HEAP32[($15 + 168 | 0) >> 2] | 0) + 4 | 0) >> 2]); + } + HEAPF32[($15 + 60 | 0) >> 2] = $611; + } + (wasm2js_i32$0 = $15, wasm2js_f32$0 = Math_fround(btTypedConstraint__getMotorFactor_28float_2c_20float_2c_20float_2c_20float_2c_20float_29($16 | 0, Math_fround(Math_fround(HEAPF32[((HEAP32[($15 + 168 | 0) >> 2] | 0) + 80 | 0) >> 2])), Math_fround(Math_fround(HEAPF32[($15 + 64 | 0) >> 2])), Math_fround(Math_fround(HEAPF32[($15 + 60 | 0) >> 2])), Math_fround(Math_fround(HEAPF32[($15 + 72 | 0) >> 2])), Math_fround(Math_fround(Math_fround(HEAPF32[(HEAP32[($15 + 140 | 0) >> 2] | 0) >> 2]) * Math_fround(HEAPF32[((HEAP32[($15 + 168 | 0) >> 2] | 0) + 20 | 0) >> 2])))))), HEAPF32[(wasm2js_i32$0 + 68 | 0) >> 2] = wasm2js_f32$0; + break label$27; + } + HEAPF32[($15 + 68 | 0) >> 2] = Math_fround(0 | 0); + } + HEAPF32[((HEAP32[((HEAP32[($15 + 140 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0) + ((HEAP32[($15 + 116 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = Math_fround(Math_fround(Math_fround(HEAPF32[($15 + 68 | 0) >> 2]) * Math_fround(HEAPF32[($15 + 76 | 0) >> 2])) * Math_fround((HEAP32[($15 + 128 | 0) >> 2] | 0 ? -1 : 1) | 0)); + HEAPF32[((HEAP32[((HEAP32[($15 + 140 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) + ((HEAP32[($15 + 116 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = Math_fround(-Math_fround(HEAPF32[((HEAP32[($15 + 168 | 0) >> 2] | 0) + 36 | 0) >> 2])); + HEAPF32[((HEAP32[((HEAP32[($15 + 140 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0) + ((HEAP32[($15 + 116 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = Math_fround(HEAPF32[((HEAP32[($15 + 168 | 0) >> 2] | 0) + 36 | 0) >> 2]); + HEAPF32[((HEAP32[((HEAP32[($15 + 140 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0) + ((HEAP32[($15 + 116 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = Math_fround(HEAPF32[((HEAP32[($15 + 168 | 0) >> 2] | 0) + 24 | 0) >> 2]); + HEAP32[($15 + 116 | 0) >> 2] = (HEAP32[($15 + 116 | 0) >> 2] | 0) + (HEAP32[((HEAP32[($15 + 140 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0) | 0; + HEAP32[($15 + 120 | 0) >> 2] = (HEAP32[($15 + 120 | 0) >> 2] | 0) + 1 | 0; + } + label$39 : { + if (!((HEAPU8[((HEAP32[($15 + 168 | 0) >> 2] | 0) + 48 | 0) >> 0] | 0) & 1 | 0)) { + break label$39 + } + HEAPF32[($15 + 56 | 0) >> 2] = Math_fround(Math_fround(HEAPF32[((HEAP32[($15 + 168 | 0) >> 2] | 0) + 80 | 0) >> 2]) - Math_fround(HEAPF32[((HEAP32[($15 + 168 | 0) >> 2] | 0) + 68 | 0) >> 2])); + btGeneric6DofSpring2Constraint__calculateJacobi_28btRotationalLimitMotor2__2c_20btTransform_20const__2c_20btTransform_20const__2c_20btTypedConstraint__btConstraintInfo2__2c_20int_2c_20btVector3__2c_20int_2c_20int_29($16 | 0, HEAP32[($15 + 168 | 0) >> 2] | 0 | 0, HEAP32[($15 + 164 | 0) >> 2] | 0 | 0, HEAP32[($15 + 160 | 0) >> 2] | 0 | 0, HEAP32[($15 + 140 | 0) >> 2] | 0 | 0, HEAP32[($15 + 116 | 0) >> 2] | 0 | 0, HEAP32[($15 + 132 | 0) >> 2] | 0 | 0, HEAP32[($15 + 128 | 0) >> 2] | 0 | 0, HEAP32[($15 + 124 | 0) >> 2] | 0 | 0); + HEAPF32[($15 + 52 | 0) >> 2] = Math_fround(Math_fround(1.0) / Math_fround(HEAPF32[(HEAP32[($15 + 140 | 0) >> 2] | 0) >> 2])); + HEAPF32[($15 + 48 | 0) >> 2] = Math_fround(HEAPF32[((HEAP32[($15 + 168 | 0) >> 2] | 0) + 60 | 0) >> 2]); + HEAPF32[($15 + 44 | 0) >> 2] = Math_fround(HEAPF32[((HEAP32[($15 + 168 | 0) >> 2] | 0) + 52 | 0) >> 2]); + label$40 : { + label$41 : { + if (!(HEAP32[($15 + 128 | 0) >> 2] | 0)) { + break label$41 + } + $708 = Math_fround(Math_fround(btVector3__dot_28btVector3_20const__29_20const(HEAP32[($15 + 148 | 0) >> 2] | 0 | 0, HEAP32[($15 + 132 | 0) >> 2] | 0 | 0)) - Math_fround(btVector3__dot_28btVector3_20const__29_20const(HEAP32[($15 + 144 | 0) >> 2] | 0 | 0, HEAP32[($15 + 132 | 0) >> 2] | 0 | 0))); + break label$40; + } + $708 = Math_fround(Math_fround(btVector3__dot_28btVector3_20const__29_20const(HEAP32[($15 + 156 | 0) >> 2] | 0 | 0, HEAP32[($15 + 132 | 0) >> 2] | 0 | 0)) - Math_fround(btVector3__dot_28btVector3_20const__29_20const(HEAP32[($15 + 152 | 0) >> 2] | 0 | 0, HEAP32[($15 + 132 | 0) >> 2] | 0 | 0))); + } + HEAPF32[($15 + 40 | 0) >> 2] = $708; + HEAPF32[($15 + 36 | 0) >> 2] = Math_fround(0 | 0); + (wasm2js_i32$0 = $15, wasm2js_f32$0 = Math_fround(Math_fround(1.0) / Math_fround(btRigidBody__getInvMass_28_29_20const(HEAP32[($16 + 28 | 0) >> 2] | 0 | 0)))), HEAPF32[(wasm2js_i32$0 + 32 | 0) >> 2] = wasm2js_f32$0; + (wasm2js_i32$0 = $15, wasm2js_f32$0 = Math_fround(Math_fround(1.0) / Math_fround(btRigidBody__getInvMass_28_29_20const(HEAP32[($16 + 32 | 0) >> 2] | 0 | 0)))), HEAPF32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_f32$0; + label$42 : { + label$43 : { + if (!(Math_fround(HEAPF32[($15 + 32 | 0) >> 2]) > Math_fround(HEAPF32[($15 + 28 | 0) >> 2]) & 1 | 0)) { + break label$43 + } + $733 = Math_fround(HEAPF32[($15 + 28 | 0) >> 2]); + break label$42; + } + $733 = Math_fround(HEAPF32[($15 + 32 | 0) >> 2]); + } + HEAPF32[($15 + 24 | 0) >> 2] = $733; + (wasm2js_i32$0 = $15, wasm2js_f32$0 = Math_fround(sqrt_5babi_v160004_5d_28float_29(Math_fround(Math_fround(Math_fround(HEAPF32[($15 + 44 | 0) >> 2]) / Math_fround(HEAPF32[($15 + 24 | 0) >> 2])))))), HEAPF32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_f32$0; + label$44 : { + if (!((HEAPU8[((HEAP32[($15 + 168 | 0) >> 2] | 0) + 56 | 0) >> 0] | 0) & 1 | 0)) { + break label$44 + } + if (!(.25 < +Math_fround(Math_fround(HEAPF32[($15 + 20 | 0) >> 2]) * Math_fround(HEAPF32[($15 + 52 | 0) >> 2])) & 1 | 0)) { + break label$44 + } + HEAPF32[($15 + 44 | 0) >> 2] = Math_fround(Math_fround(Math_fround(Math_fround(Math_fround(1.0) / Math_fround(HEAPF32[($15 + 52 | 0) >> 2])) / Math_fround(HEAPF32[($15 + 52 | 0) >> 2])) / Math_fround(16.0)) * Math_fround(HEAPF32[($15 + 24 | 0) >> 2])); + } + label$45 : { + if (!((HEAPU8[((HEAP32[($15 + 168 | 0) >> 2] | 0) + 64 | 0) >> 0] | 0) & 1 | 0)) { + break label$45 + } + if (!(Math_fround(Math_fround(HEAPF32[($15 + 48 | 0) >> 2]) * Math_fround(HEAPF32[($15 + 52 | 0) >> 2])) > Math_fround(HEAPF32[($15 + 24 | 0) >> 2]) & 1 | 0)) { + break label$45 + } + HEAPF32[($15 + 48 | 0) >> 2] = Math_fround(Math_fround(HEAPF32[($15 + 24 | 0) >> 2]) / Math_fround(HEAPF32[($15 + 52 | 0) >> 2])); + } + HEAPF32[($15 + 16 | 0) >> 2] = Math_fround(Math_fround(Math_fround(HEAPF32[($15 + 44 | 0) >> 2]) * Math_fround(HEAPF32[($15 + 56 | 0) >> 2])) * Math_fround(HEAPF32[($15 + 52 | 0) >> 2])); + HEAPF32[($15 + 12 | 0) >> 2] = Math_fround(Math_fround(Math_fround(Math_fround(-Math_fround(HEAPF32[($15 + 48 | 0) >> 2])) * Math_fround(HEAPF32[($15 + 40 | 0) >> 2])) * Math_fround((HEAP32[($15 + 128 | 0) >> 2] | 0 ? -1 : 1) | 0)) * Math_fround(HEAPF32[($15 + 52 | 0) >> 2])); + HEAPF32[($15 + 8 | 0) >> 2] = Math_fround(Math_fround(HEAPF32[($15 + 16 | 0) >> 2]) + Math_fround(HEAPF32[($15 + 12 | 0) >> 2])); + HEAPF32[((HEAP32[((HEAP32[($15 + 140 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0) + ((HEAP32[($15 + 116 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = Math_fround(Math_fround(Math_fround(HEAPF32[($15 + 8 | 0) >> 2]) * Math_fround((HEAP32[($15 + 128 | 0) >> 2] | 0 ? -1 : 1) | 0)) + Math_fround(HEAPF32[($15 + 40 | 0) >> 2])); + label$46 : { + label$47 : { + if (!(Math_fround(HEAPF32[($15 + 8 | 0) >> 2]) < Math_fround(HEAPF32[($15 + 12 | 0) >> 2]) & 1 | 0)) { + break label$47 + } + $816 = Math_fround(HEAPF32[($15 + 8 | 0) >> 2]); + break label$46; + } + $816 = Math_fround(HEAPF32[($15 + 12 | 0) >> 2]); + } + HEAPF32[($15 + 4 | 0) >> 2] = $816; + label$48 : { + label$49 : { + if (!(Math_fround(HEAPF32[($15 + 8 | 0) >> 2]) < Math_fround(HEAPF32[($15 + 12 | 0) >> 2]) & 1 | 0)) { + break label$49 + } + $825 = Math_fround(HEAPF32[($15 + 12 | 0) >> 2]); + break label$48; + } + $825 = Math_fround(HEAPF32[($15 + 8 | 0) >> 2]); + } + HEAPF32[$15 >> 2] = $825; + label$50 : { + label$51 : { + if (HEAP32[($15 + 128 | 0) >> 2] | 0) { + break label$51 + } + label$52 : { + label$53 : { + if (!(Math_fround(HEAPF32[($15 + 4 | 0) >> 2]) > Math_fround(0 | 0) & 1 | 0)) { + break label$53 + } + $837 = Math_fround(0 | 0); + break label$52; + } + $837 = Math_fround(HEAPF32[($15 + 4 | 0) >> 2]); + } + HEAPF32[((HEAP32[((HEAP32[($15 + 140 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) + ((HEAP32[($15 + 116 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = $837; + label$54 : { + label$55 : { + if (!(Math_fround(HEAPF32[$15 >> 2]) < Math_fround(0 | 0) & 1 | 0)) { + break label$55 + } + $854 = Math_fround(0 | 0); + break label$54; + } + $854 = Math_fround(HEAPF32[$15 >> 2]); + } + HEAPF32[((HEAP32[((HEAP32[($15 + 140 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0) + ((HEAP32[($15 + 116 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = $854; + break label$50; + } + label$56 : { + label$57 : { + if (!(Math_fround(-Math_fround(HEAPF32[$15 >> 2])) > Math_fround(0 | 0) & 1 | 0)) { + break label$57 + } + $872 = Math_fround(0 | 0); + break label$56; + } + $872 = Math_fround(-Math_fround(HEAPF32[$15 >> 2])); + } + HEAPF32[((HEAP32[((HEAP32[($15 + 140 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) + ((HEAP32[($15 + 116 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = $872; + label$58 : { + label$59 : { + if (!(Math_fround(-Math_fround(HEAPF32[($15 + 4 | 0) >> 2])) < Math_fround(0 | 0) & 1 | 0)) { + break label$59 + } + $891 = Math_fround(0 | 0); + break label$58; + } + $891 = Math_fround(-Math_fround(HEAPF32[($15 + 4 | 0) >> 2])); + } + HEAPF32[((HEAP32[((HEAP32[($15 + 140 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0) + ((HEAP32[($15 + 116 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = $891; + } + HEAPF32[((HEAP32[((HEAP32[($15 + 140 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0) + ((HEAP32[($15 + 116 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = Math_fround(HEAPF32[($15 + 36 | 0) >> 2]); + HEAP32[($15 + 116 | 0) >> 2] = (HEAP32[($15 + 116 | 0) >> 2] | 0) + (HEAP32[((HEAP32[($15 + 140 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0) | 0; + HEAP32[($15 + 120 | 0) >> 2] = (HEAP32[($15 + 120 | 0) >> 2] | 0) + 1 | 0; + } + $915 = HEAP32[($15 + 120 | 0) >> 2] | 0; + __stack_pointer = $15 + 176 | 0; + return $915 | 0; + } + + function btGeneric6DofSpring2Constraint__calculateJacobi_28btRotationalLimitMotor2__2c_20btTransform_20const__2c_20btTransform_20const__2c_20btTypedConstraint__btConstraintInfo2__2c_20int_2c_20btVector3__2c_20int_2c_20int_29($0, $1, $2, $3, $4, $5, $6, $7, $8) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + $4 = $4 | 0; + $5 = $5 | 0; + $6 = $6 | 0; + $7 = $7 | 0; + $8 = $8 | 0; + var $11 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, $12 = 0, $16 = 0, $23 = 0, $111 = 0, $128 = 0, $144 = 0, $160 = 0, $29 = Math_fround(0), $39 = Math_fround(0), $49 = Math_fround(0), $60 = Math_fround(0), $71 = Math_fround(0), $82 = Math_fround(0), $491 = 0, $495 = 0, $527 = 0, $531 = 0, $560 = 0, $564 = 0, $593 = 0, $597 = 0, $194 = 0, $222 = 0; + $11 = __stack_pointer - 192 | 0; + __stack_pointer = $11; + HEAP32[($11 + 188 | 0) >> 2] = $0; + HEAP32[($11 + 184 | 0) >> 2] = $1; + HEAP32[($11 + 180 | 0) >> 2] = $2; + HEAP32[($11 + 176 | 0) >> 2] = $3; + HEAP32[($11 + 172 | 0) >> 2] = $4; + HEAP32[($11 + 168 | 0) >> 2] = $5; + HEAP32[($11 + 164 | 0) >> 2] = $6; + HEAP32[($11 + 160 | 0) >> 2] = $7; + HEAP32[($11 + 156 | 0) >> 2] = $8; + $12 = HEAP32[($11 + 188 | 0) >> 2] | 0; + label$1 : { + label$2 : { + if (!(HEAP32[($11 + 160 | 0) >> 2] | 0)) { + break label$2 + } + $16 = HEAP32[((HEAP32[($11 + 172 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + break label$1; + } + $16 = HEAP32[((HEAP32[($11 + 172 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + } + HEAP32[($11 + 152 | 0) >> 2] = $16; + label$3 : { + label$4 : { + if (!(HEAP32[($11 + 160 | 0) >> 2] | 0)) { + break label$4 + } + $23 = HEAP32[((HEAP32[($11 + 172 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0; + break label$3; + } + $23 = HEAP32[((HEAP32[($11 + 172 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0; + } + HEAP32[($11 + 148 | 0) >> 2] = $23; + $29 = Math_fround(HEAPF32[(btVector3__operator_20float__28_29(HEAP32[($11 + 164 | 0) >> 2] | 0 | 0) | 0) >> 2]); + HEAPF32[((HEAP32[($11 + 152 | 0) >> 2] | 0) + (((HEAP32[($11 + 168 | 0) >> 2] | 0) + 0 | 0) << 2 | 0) | 0) >> 2] = $29; + $39 = Math_fround(HEAPF32[((btVector3__operator_20float__28_29(HEAP32[($11 + 164 | 0) >> 2] | 0 | 0) | 0) + 4 | 0) >> 2]); + HEAPF32[((HEAP32[($11 + 152 | 0) >> 2] | 0) + (((HEAP32[($11 + 168 | 0) >> 2] | 0) + 1 | 0) << 2 | 0) | 0) >> 2] = $39; + $49 = Math_fround(HEAPF32[((btVector3__operator_20float__28_29(HEAP32[($11 + 164 | 0) >> 2] | 0 | 0) | 0) + 8 | 0) >> 2]); + HEAPF32[((HEAP32[($11 + 152 | 0) >> 2] | 0) + (((HEAP32[($11 + 168 | 0) >> 2] | 0) + 2 | 0) << 2 | 0) | 0) >> 2] = $49; + $60 = Math_fround(-Math_fround(HEAPF32[(btVector3__operator_20float__28_29(HEAP32[($11 + 164 | 0) >> 2] | 0 | 0) | 0) >> 2])); + HEAPF32[((HEAP32[($11 + 148 | 0) >> 2] | 0) + (((HEAP32[($11 + 168 | 0) >> 2] | 0) + 0 | 0) << 2 | 0) | 0) >> 2] = $60; + $71 = Math_fround(-Math_fround(HEAPF32[((btVector3__operator_20float__28_29(HEAP32[($11 + 164 | 0) >> 2] | 0 | 0) | 0) + 4 | 0) >> 2])); + HEAPF32[((HEAP32[($11 + 148 | 0) >> 2] | 0) + (((HEAP32[($11 + 168 | 0) >> 2] | 0) + 1 | 0) << 2 | 0) | 0) >> 2] = $71; + $82 = Math_fround(-Math_fround(HEAPF32[((btVector3__operator_20float__28_29(HEAP32[($11 + 164 | 0) >> 2] | 0 | 0) | 0) + 8 | 0) >> 2])); + HEAPF32[((HEAP32[($11 + 148 | 0) >> 2] | 0) + (((HEAP32[($11 + 168 | 0) >> 2] | 0) + 2 | 0) << 2 | 0) | 0) >> 2] = $82; + label$5 : { + if (HEAP32[($11 + 160 | 0) >> 2] | 0) { + break label$5 + } + btVector3__btVector3_28_29($11 + 128 | 0 | 0) | 0; + btVector3__btVector3_28_29($11 + 112 | 0 | 0) | 0; + btVector3__btVector3_28_29($11 + 96 | 0 | 0) | 0; + btVector3__btVector3_28_29($11 + 80 | 0 | 0) | 0; + operator__28btVector3_20const__2c_20btVector3_20const__29($11 + 64 | 0 | 0, btTransform__getOrigin_28_29($12 + 1300 | 0 | 0) | 0 | 0, btTransform__getOrigin_28_29_20const(HEAP32[($11 + 176 | 0) >> 2] | 0 | 0) | 0 | 0); + $111 = 8; + i64toi32_i32$2 = ($11 + 64 | 0) + $111 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $491 = i64toi32_i32$0; + i64toi32_i32$0 = ($11 + 80 | 0) + $111 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $491; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$2 = $11; + i64toi32_i32$1 = HEAP32[($11 + 64 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($11 + 68 | 0) >> 2] | 0; + $495 = i64toi32_i32$1; + i64toi32_i32$1 = $11; + HEAP32[($11 + 80 | 0) >> 2] = $495; + HEAP32[($11 + 84 | 0) >> 2] = i64toi32_i32$0; + operator__28btVector3_20const__2c_20btVector3_20const__29($11 + 48 | 0 | 0, btTransform__getOrigin_28_29($12 + 1236 | 0 | 0) | 0 | 0, btTransform__getOrigin_28_29_20const(HEAP32[($11 + 180 | 0) >> 2] | 0 | 0) | 0 | 0); + $128 = 8; + i64toi32_i32$2 = ($11 + 48 | 0) + $128 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $527 = i64toi32_i32$0; + i64toi32_i32$0 = ($11 + 96 | 0) + $128 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $527; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$2 = $11; + i64toi32_i32$1 = HEAP32[($11 + 48 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($11 + 52 | 0) >> 2] | 0; + $531 = i64toi32_i32$1; + i64toi32_i32$1 = $11; + HEAP32[($11 + 96 | 0) >> 2] = $531; + HEAP32[($11 + 100 | 0) >> 2] = i64toi32_i32$0; + btVector3__cross_28btVector3_20const__29_20const($11 + 32 | 0 | 0, $11 + 96 | 0 | 0, HEAP32[($11 + 164 | 0) >> 2] | 0 | 0); + $144 = 8; + i64toi32_i32$2 = ($11 + 32 | 0) + $144 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $560 = i64toi32_i32$0; + i64toi32_i32$0 = ($11 + 128 | 0) + $144 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $560; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$2 = $11; + i64toi32_i32$1 = HEAP32[($11 + 32 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($11 + 36 | 0) >> 2] | 0; + $564 = i64toi32_i32$1; + i64toi32_i32$1 = $11; + HEAP32[($11 + 128 | 0) >> 2] = $564; + HEAP32[($11 + 132 | 0) >> 2] = i64toi32_i32$0; + btVector3__cross_28btVector3_20const__29_20const($11 + 16 | 0 | 0, $11 + 80 | 0 | 0, HEAP32[($11 + 164 | 0) >> 2] | 0 | 0); + $160 = 8; + i64toi32_i32$2 = ($11 + 16 | 0) + $160 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $593 = i64toi32_i32$0; + i64toi32_i32$0 = ($11 + 112 | 0) + $160 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $593; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$2 = $11; + i64toi32_i32$1 = HEAP32[($11 + 16 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($11 + 20 | 0) >> 2] | 0; + $597 = i64toi32_i32$1; + i64toi32_i32$1 = $11; + HEAP32[($11 + 112 | 0) >> 2] = $597; + HEAP32[($11 + 116 | 0) >> 2] = i64toi32_i32$0; + label$6 : { + if (!((HEAPU8[($12 + 1452 | 0) >> 0] | 0) & 1 | 0)) { + break label$6 + } + if (HEAP32[($11 + 156 | 0) >> 2] | 0) { + break label$6 + } + btVector3__operator___28float_20const__29_1($11 + 128 | 0 | 0, $12 + 1444 | 0 | 0) | 0; + btVector3__operator___28float_20const__29_1($11 + 112 | 0 | 0, $12 + 1448 | 0 | 0) | 0; + } + HEAP32[($11 + 12 | 0) >> 2] = 0; + label$7 : { + label$8 : while (1) { + if (!((HEAP32[($11 + 12 | 0) >> 2] | 0 | 0) < (3 | 0) & 1 | 0)) { + break label$7 + } + $194 = btVector3__operator_20float__28_29($11 + 128 | 0 | 0) | 0; + HEAPF32[((HEAP32[((HEAP32[($11 + 172 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + (((HEAP32[($11 + 168 | 0) >> 2] | 0) + (HEAP32[($11 + 12 | 0) >> 2] | 0) | 0) << 2 | 0) | 0) >> 2] = Math_fround(HEAPF32[($194 + ((HEAP32[($11 + 12 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2]); + HEAP32[($11 + 12 | 0) >> 2] = (HEAP32[($11 + 12 | 0) >> 2] | 0) + 1 | 0; + continue label$8; + }; + } + HEAP32[($11 + 12 | 0) >> 2] = 0; + label$9 : { + label$10 : while (1) { + if (!((HEAP32[($11 + 12 | 0) >> 2] | 0 | 0) < (3 | 0) & 1 | 0)) { + break label$9 + } + $222 = btVector3__operator_20float__28_29($11 + 112 | 0 | 0) | 0; + HEAPF32[((HEAP32[((HEAP32[($11 + 172 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0) + (((HEAP32[($11 + 168 | 0) >> 2] | 0) + (HEAP32[($11 + 12 | 0) >> 2] | 0) | 0) << 2 | 0) | 0) >> 2] = Math_fround(-Math_fround(HEAPF32[($222 + ((HEAP32[($11 + 12 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2])); + HEAP32[($11 + 12 | 0) >> 2] = (HEAP32[($11 + 12 | 0) >> 2] | 0) + 1 | 0; + continue label$10; + }; + } + } + __stack_pointer = $11 + 192 | 0; + return; + } + + function sqrt_5babi_v160004_5d_28float_29($0) { + $0 = Math_fround($0); + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + HEAPF32[($3 + 12 | 0) >> 2] = $0; + return Math_fround(Math_fround(Math_sqrt(Math_fround(HEAPF32[($3 + 12 | 0) >> 2])))); + } + + function btGeneric6DofSpring2Constraint__setFrames_28btTransform_20const__2c_20btTransform_20const__29($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $5 = 0, $6 = 0; + $5 = __stack_pointer - 16 | 0; + __stack_pointer = $5; + HEAP32[($5 + 12 | 0) >> 2] = $0; + HEAP32[($5 + 8 | 0) >> 2] = $1; + HEAP32[($5 + 4 | 0) >> 2] = $2; + $6 = HEAP32[($5 + 12 | 0) >> 2] | 0; + btTransform__operator__28btTransform_20const__29($6 + 48 | 0 | 0, HEAP32[($5 + 8 | 0) >> 2] | 0 | 0) | 0; + btTransform__operator__28btTransform_20const__29($6 + 112 | 0 | 0, HEAP32[($5 + 4 | 0) >> 2] | 0 | 0) | 0; + FUNCTION_TABLE[HEAP32[((HEAP32[$6 >> 2] | 0) + 8 | 0) >> 2] | 0 | 0]($6); + btGeneric6DofSpring2Constraint__calculateTransforms_28_29($6 | 0); + __stack_pointer = $5 + 16 | 0; + return; + } + + function btGeneric6DofSpring2Constraint__setParam_28int_2c_20float_2c_20int_29($0, $1, $2, $3) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = Math_fround($2); + $3 = $3 | 0; + var $6 = 0, $7 = 0, $24 = 0, $114 = 0, $26 = Math_fround(0), $43 = Math_fround(0), $60 = Math_fround(0), $77 = Math_fround(0), wasm2js_i32$0 = 0, wasm2js_f32$0 = Math_fround(0); + $6 = __stack_pointer - 16 | 0; + __stack_pointer = $6; + HEAP32[($6 + 12 | 0) >> 2] = $0; + HEAP32[($6 + 8 | 0) >> 2] = $1; + HEAPF32[($6 + 4 | 0) >> 2] = $2; + HEAP32[$6 >> 2] = $3; + $7 = HEAP32[($6 + 12 | 0) >> 2] | 0; + label$1 : { + label$2 : { + if (!((HEAP32[$6 >> 2] | 0 | 0) >= (0 | 0) & 1 | 0)) { + break label$2 + } + if (!((HEAP32[$6 >> 2] | 0 | 0) < (3 | 0) & 1 | 0)) { + break label$2 + } + $24 = (HEAP32[($6 + 8 | 0) >> 2] | 0) + -1 | 0; + label$3 : { + label$4 : { + switch ($24 | 0) { + case 1: + $26 = Math_fround(HEAPF32[($6 + 4 | 0) >> 2]); + (wasm2js_i32$0 = (btVector3__operator_20float__28_29(($7 + 680 | 0) + 48 | 0 | 0) | 0) + ((HEAP32[$6 >> 2] | 0) << 2 | 0) | 0, wasm2js_f32$0 = $26), HEAPF32[wasm2js_i32$0 >> 2] = wasm2js_f32$0; + HEAP32[($7 + 1456 | 0) >> 2] = HEAP32[($7 + 1456 | 0) >> 2] | 0 | (2 << ((HEAP32[$6 >> 2] | 0) << 2 | 0) | 0) | 0; + break label$3; + case 3: + $43 = Math_fround(HEAPF32[($6 + 4 | 0) >> 2]); + (wasm2js_i32$0 = (btVector3__operator_20float__28_29(($7 + 680 | 0) + 64 | 0 | 0) | 0) + ((HEAP32[$6 >> 2] | 0) << 2 | 0) | 0, wasm2js_f32$0 = $43), HEAPF32[wasm2js_i32$0 >> 2] = wasm2js_f32$0; + HEAP32[($7 + 1456 | 0) >> 2] = HEAP32[($7 + 1456 | 0) >> 2] | 0 | (1 << ((HEAP32[$6 >> 2] | 0) << 2 | 0) | 0) | 0; + break label$3; + case 0: + $60 = Math_fround(HEAPF32[($6 + 4 | 0) >> 2]); + (wasm2js_i32$0 = (btVector3__operator_20float__28_29(($7 + 680 | 0) + 80 | 0 | 0) | 0) + ((HEAP32[$6 >> 2] | 0) << 2 | 0) | 0, wasm2js_f32$0 = $60), HEAPF32[wasm2js_i32$0 >> 2] = wasm2js_f32$0; + HEAP32[($7 + 1456 | 0) >> 2] = HEAP32[($7 + 1456 | 0) >> 2] | 0 | (8 << ((HEAP32[$6 >> 2] | 0) << 2 | 0) | 0) | 0; + break label$3; + case 2: + $77 = Math_fround(HEAPF32[($6 + 4 | 0) >> 2]); + (wasm2js_i32$0 = (btVector3__operator_20float__28_29(($7 + 680 | 0) + 96 | 0 | 0) | 0) + ((HEAP32[$6 >> 2] | 0) << 2 | 0) | 0, wasm2js_f32$0 = $77), HEAPF32[wasm2js_i32$0 >> 2] = wasm2js_f32$0; + HEAP32[($7 + 1456 | 0) >> 2] = HEAP32[($7 + 1456 | 0) >> 2] | 0 | (4 << ((HEAP32[$6 >> 2] | 0) << 2 | 0) | 0) | 0; + break label$3; + default: + break label$4; + }; + } + __assert_fail(86177 | 0, 71825 | 0, 867 | 0, 77248 | 0); + wasm2js_trap(); + } + break label$1; + } + label$9 : { + label$10 : { + if (!((HEAP32[$6 >> 2] | 0 | 0) >= (3 | 0) & 1 | 0)) { + break label$10 + } + if (!((HEAP32[$6 >> 2] | 0 | 0) < (6 | 0) & 1 | 0)) { + break label$10 + } + $114 = (HEAP32[($6 + 8 | 0) >> 2] | 0) + -1 | 0; + label$11 : { + label$12 : { + switch ($114 | 0) { + case 1: + HEAPF32[((($7 + 968 | 0) + Math_imul((HEAP32[$6 >> 2] | 0) - 3 | 0, 88) | 0) + 12 | 0) >> 2] = Math_fround(HEAPF32[($6 + 4 | 0) >> 2]); + HEAP32[($7 + 1456 | 0) >> 2] = HEAP32[($7 + 1456 | 0) >> 2] | 0 | (2 << ((HEAP32[$6 >> 2] | 0) << 2 | 0) | 0) | 0; + break label$11; + case 3: + HEAPF32[((($7 + 968 | 0) + Math_imul((HEAP32[$6 >> 2] | 0) - 3 | 0, 88) | 0) + 16 | 0) >> 2] = Math_fround(HEAPF32[($6 + 4 | 0) >> 2]); + HEAP32[($7 + 1456 | 0) >> 2] = HEAP32[($7 + 1456 | 0) >> 2] | 0 | (1 << ((HEAP32[$6 >> 2] | 0) << 2 | 0) | 0) | 0; + break label$11; + case 0: + HEAPF32[((($7 + 968 | 0) + Math_imul((HEAP32[$6 >> 2] | 0) - 3 | 0, 88) | 0) + 20 | 0) >> 2] = Math_fround(HEAPF32[($6 + 4 | 0) >> 2]); + HEAP32[($7 + 1456 | 0) >> 2] = HEAP32[($7 + 1456 | 0) >> 2] | 0 | (8 << ((HEAP32[$6 >> 2] | 0) << 2 | 0) | 0) | 0; + break label$11; + case 2: + HEAPF32[((($7 + 968 | 0) + Math_imul((HEAP32[$6 >> 2] | 0) - 3 | 0, 88) | 0) + 24 | 0) >> 2] = Math_fround(HEAPF32[($6 + 4 | 0) >> 2]); + HEAP32[($7 + 1456 | 0) >> 2] = HEAP32[($7 + 1456 | 0) >> 2] | 0 | (4 << ((HEAP32[$6 >> 2] | 0) << 2 | 0) | 0) | 0; + break label$11; + default: + break label$12; + }; + } + __assert_fail(86177 | 0, 71825 | 0, 891 | 0, 77248 | 0); + wasm2js_trap(); + } + break label$9; + } + __assert_fail(86177 | 0, 71825 | 0, 896 | 0, 77248 | 0); + wasm2js_trap(); + } + } + __stack_pointer = $6 + 16 | 0; + return; + } + + function btGeneric6DofSpring2Constraint__getParam_28int_2c_20int_29_20const($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $5 = 0, $6 = 0, $25 = 0, $131 = 0, $221 = Math_fround(0), wasm2js_i32$0 = 0, wasm2js_f32$0 = Math_fround(0); + $5 = __stack_pointer - 16 | 0; + __stack_pointer = $5; + HEAP32[($5 + 12 | 0) >> 2] = $0; + HEAP32[($5 + 8 | 0) >> 2] = $1; + HEAP32[($5 + 4 | 0) >> 2] = $2; + $6 = HEAP32[($5 + 12 | 0) >> 2] | 0; + HEAPF32[$5 >> 2] = Math_fround(0 | 0); + label$1 : { + label$2 : { + if (!((HEAP32[($5 + 4 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0)) { + break label$2 + } + if (!((HEAP32[($5 + 4 | 0) >> 2] | 0 | 0) < (3 | 0) & 1 | 0)) { + break label$2 + } + $25 = (HEAP32[($5 + 8 | 0) >> 2] | 0) + -1 | 0; + label$3 : { + label$4 : { + switch ($25 | 0) { + case 1: + label$9 : { + if ((HEAP32[($6 + 1456 | 0) >> 2] | 0) & (2 << ((HEAP32[($5 + 4 | 0) >> 2] | 0) << 2 | 0) | 0) | 0) { + break label$9 + } + __assert_fail(86890 | 0, 71825 | 0, 909 | 0, 77257 | 0); + wasm2js_trap(); + } + (wasm2js_i32$0 = $5, wasm2js_f32$0 = Math_fround(HEAPF32[((btVector3__operator_20float_20const__28_29_20const(($6 + 680 | 0) + 48 | 0 | 0) | 0) + ((HEAP32[($5 + 4 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2])), HEAPF32[wasm2js_i32$0 >> 2] = wasm2js_f32$0; + break label$3; + case 3: + label$10 : { + if ((HEAP32[($6 + 1456 | 0) >> 2] | 0) & (1 << ((HEAP32[($5 + 4 | 0) >> 2] | 0) << 2 | 0) | 0) | 0) { + break label$10 + } + __assert_fail(86940 | 0, 71825 | 0, 913 | 0, 77257 | 0); + wasm2js_trap(); + } + (wasm2js_i32$0 = $5, wasm2js_f32$0 = Math_fround(HEAPF32[((btVector3__operator_20float_20const__28_29_20const(($6 + 680 | 0) + 64 | 0 | 0) | 0) + ((HEAP32[($5 + 4 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2])), HEAPF32[wasm2js_i32$0 >> 2] = wasm2js_f32$0; + break label$3; + case 0: + label$11 : { + if ((HEAP32[($6 + 1456 | 0) >> 2] | 0) & (8 << ((HEAP32[($5 + 4 | 0) >> 2] | 0) << 2 | 0) | 0) | 0) { + break label$11 + } + __assert_fail(86990 | 0, 71825 | 0, 917 | 0, 77257 | 0); + wasm2js_trap(); + } + (wasm2js_i32$0 = $5, wasm2js_f32$0 = Math_fround(HEAPF32[((btVector3__operator_20float_20const__28_29_20const(($6 + 680 | 0) + 80 | 0 | 0) | 0) + ((HEAP32[($5 + 4 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2])), HEAPF32[wasm2js_i32$0 >> 2] = wasm2js_f32$0; + break label$3; + case 2: + label$12 : { + if ((HEAP32[($6 + 1456 | 0) >> 2] | 0) & (4 << ((HEAP32[($5 + 4 | 0) >> 2] | 0) << 2 | 0) | 0) | 0) { + break label$12 + } + __assert_fail(87040 | 0, 71825 | 0, 921 | 0, 77257 | 0); + wasm2js_trap(); + } + (wasm2js_i32$0 = $5, wasm2js_f32$0 = Math_fround(HEAPF32[((btVector3__operator_20float_20const__28_29_20const(($6 + 680 | 0) + 96 | 0 | 0) | 0) + ((HEAP32[($5 + 4 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2])), HEAPF32[wasm2js_i32$0 >> 2] = wasm2js_f32$0; + break label$3; + default: + break label$4; + }; + } + __assert_fail(86177 | 0, 71825 | 0, 925 | 0, 77257 | 0); + wasm2js_trap(); + } + break label$1; + } + label$13 : { + label$14 : { + if (!((HEAP32[($5 + 4 | 0) >> 2] | 0 | 0) >= (3 | 0) & 1 | 0)) { + break label$14 + } + if (!((HEAP32[($5 + 4 | 0) >> 2] | 0 | 0) < (6 | 0) & 1 | 0)) { + break label$14 + } + $131 = (HEAP32[($5 + 8 | 0) >> 2] | 0) + -1 | 0; + label$15 : { + label$16 : { + switch ($131 | 0) { + case 1: + label$21 : { + if ((HEAP32[($6 + 1456 | 0) >> 2] | 0) & (2 << ((HEAP32[($5 + 4 | 0) >> 2] | 0) << 2 | 0) | 0) | 0) { + break label$21 + } + __assert_fail(86890 | 0, 71825 | 0, 933 | 0, 77257 | 0); + wasm2js_trap(); + } + HEAPF32[$5 >> 2] = Math_fround(HEAPF32[((($6 + 968 | 0) + Math_imul((HEAP32[($5 + 4 | 0) >> 2] | 0) - 3 | 0, 88) | 0) + 12 | 0) >> 2]); + break label$15; + case 3: + label$22 : { + if ((HEAP32[($6 + 1456 | 0) >> 2] | 0) & (1 << ((HEAP32[($5 + 4 | 0) >> 2] | 0) << 2 | 0) | 0) | 0) { + break label$22 + } + __assert_fail(86940 | 0, 71825 | 0, 937 | 0, 77257 | 0); + wasm2js_trap(); + } + HEAPF32[$5 >> 2] = Math_fround(HEAPF32[((($6 + 968 | 0) + Math_imul((HEAP32[($5 + 4 | 0) >> 2] | 0) - 3 | 0, 88) | 0) + 16 | 0) >> 2]); + break label$15; + case 0: + label$23 : { + if ((HEAP32[($6 + 1456 | 0) >> 2] | 0) & (8 << ((HEAP32[($5 + 4 | 0) >> 2] | 0) << 2 | 0) | 0) | 0) { + break label$23 + } + __assert_fail(86990 | 0, 71825 | 0, 941 | 0, 77257 | 0); + wasm2js_trap(); + } + HEAPF32[$5 >> 2] = Math_fround(HEAPF32[((($6 + 968 | 0) + Math_imul((HEAP32[($5 + 4 | 0) >> 2] | 0) - 3 | 0, 88) | 0) + 20 | 0) >> 2]); + break label$15; + case 2: + label$24 : { + if ((HEAP32[($6 + 1456 | 0) >> 2] | 0) & (4 << ((HEAP32[($5 + 4 | 0) >> 2] | 0) << 2 | 0) | 0) | 0) { + break label$24 + } + __assert_fail(87040 | 0, 71825 | 0, 945 | 0, 77257 | 0); + wasm2js_trap(); + } + HEAPF32[$5 >> 2] = Math_fround(HEAPF32[((($6 + 968 | 0) + Math_imul((HEAP32[($5 + 4 | 0) >> 2] | 0) - 3 | 0, 88) | 0) + 24 | 0) >> 2]); + break label$15; + default: + break label$16; + }; + } + __assert_fail(86177 | 0, 71825 | 0, 949 | 0, 77257 | 0); + wasm2js_trap(); + } + break label$13; + } + __assert_fail(86177 | 0, 71825 | 0, 954 | 0, 77257 | 0); + wasm2js_trap(); + } + } + $221 = Math_fround(HEAPF32[$5 >> 2]); + __stack_pointer = $5 + 16 | 0; + return Math_fround($221); + } + + function btGeneric6DofSpring2Constraint__setBounce_28int_2c_20float_29($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = Math_fround($2); + var $5 = 0, $6 = 0, $32 = Math_fround(0), wasm2js_i32$0 = 0, wasm2js_f32$0 = Math_fround(0); + $5 = __stack_pointer - 16 | 0; + __stack_pointer = $5; + HEAP32[($5 + 12 | 0) >> 2] = $0; + HEAP32[($5 + 8 | 0) >> 2] = $1; + HEAPF32[($5 + 4 | 0) >> 2] = $2; + $6 = HEAP32[($5 + 12 | 0) >> 2] | 0; + label$1 : { + label$2 : { + if (!((HEAP32[($5 + 8 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0)) { + break label$2 + } + if ((HEAP32[($5 + 8 | 0) >> 2] | 0 | 0) < (6 | 0) & 1 | 0) { + break label$1 + } + } + __assert_fail(86524 | 0, 71825 | 0, 982 | 0, 82167 | 0); + wasm2js_trap(); + } + label$3 : { + label$4 : { + if (!((HEAP32[($5 + 8 | 0) >> 2] | 0 | 0) < (3 | 0) & 1 | 0)) { + break label$4 + } + $32 = Math_fround(HEAPF32[($5 + 4 | 0) >> 2]); + (wasm2js_i32$0 = (btVector3__operator_20float__28_29(($6 + 680 | 0) + 32 | 0 | 0) | 0) + ((HEAP32[($5 + 8 | 0) >> 2] | 0) << 2 | 0) | 0, wasm2js_f32$0 = $32), HEAPF32[wasm2js_i32$0 >> 2] = wasm2js_f32$0; + break label$3; + } + HEAPF32[((($6 + 968 | 0) + Math_imul((HEAP32[($5 + 8 | 0) >> 2] | 0) - 3 | 0, 88) | 0) + 8 | 0) >> 2] = Math_fround(HEAPF32[($5 + 4 | 0) >> 2]); + } + __stack_pointer = $5 + 16 | 0; + return; + } + + function btGeneric6DofSpring2Constraint__enableMotor_28int_2c_20bool_29($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $5 = 0, $7 = 0; + $5 = __stack_pointer - 16 | 0; + __stack_pointer = $5; + HEAP32[($5 + 12 | 0) >> 2] = $0; + HEAP32[($5 + 8 | 0) >> 2] = $1; + HEAP8[($5 + 7 | 0) >> 0] = $2; + $7 = HEAP32[($5 + 12 | 0) >> 2] | 0; + label$1 : { + label$2 : { + if (!((HEAP32[($5 + 8 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0)) { + break label$2 + } + if ((HEAP32[($5 + 8 | 0) >> 2] | 0 | 0) < (6 | 0) & 1 | 0) { + break label$1 + } + } + __assert_fail(86524 | 0, 71825 | 0, 991 | 0, 70654 | 0); + wasm2js_trap(); + } + label$3 : { + label$4 : { + if (!((HEAP32[($5 + 8 | 0) >> 2] | 0 | 0) < (3 | 0) & 1 | 0)) { + break label$4 + } + HEAP8[((($7 + 680 | 0) + 112 | 0) + (HEAP32[($5 + 8 | 0) >> 2] | 0) | 0) >> 0] = (HEAPU8[($5 + 7 | 0) >> 0] | 0) & 1 | 0; + break label$3; + } + HEAP8[((($7 + 968 | 0) + Math_imul((HEAP32[($5 + 8 | 0) >> 2] | 0) - 3 | 0, 88) | 0) + 28 | 0) >> 0] = (HEAPU8[($5 + 7 | 0) >> 0] | 0) & 1 | 0; + } + __stack_pointer = $5 + 16 | 0; + return; + } + + function btGeneric6DofSpring2Constraint__setServo_28int_2c_20bool_29($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $5 = 0, $7 = 0; + $5 = __stack_pointer - 16 | 0; + __stack_pointer = $5; + HEAP32[($5 + 12 | 0) >> 2] = $0; + HEAP32[($5 + 8 | 0) >> 2] = $1; + HEAP8[($5 + 7 | 0) >> 0] = $2; + $7 = HEAP32[($5 + 12 | 0) >> 2] | 0; + label$1 : { + label$2 : { + if (!((HEAP32[($5 + 8 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0)) { + break label$2 + } + if ((HEAP32[($5 + 8 | 0) >> 2] | 0 | 0) < (6 | 0) & 1 | 0) { + break label$1 + } + } + __assert_fail(86524 | 0, 71825 | 0, 1e3 | 0, 76180 | 0); + wasm2js_trap(); + } + label$3 : { + label$4 : { + if (!((HEAP32[($5 + 8 | 0) >> 2] | 0 | 0) < (3 | 0) & 1 | 0)) { + break label$4 + } + HEAP8[((($7 + 680 | 0) + 115 | 0) + (HEAP32[($5 + 8 | 0) >> 2] | 0) | 0) >> 0] = (HEAPU8[($5 + 7 | 0) >> 0] | 0) & 1 | 0; + break label$3; + } + HEAP8[((($7 + 968 | 0) + Math_imul((HEAP32[($5 + 8 | 0) >> 2] | 0) - 3 | 0, 88) | 0) + 40 | 0) >> 0] = (HEAPU8[($5 + 7 | 0) >> 0] | 0) & 1 | 0; + } + __stack_pointer = $5 + 16 | 0; + return; + } + + function btGeneric6DofSpring2Constraint__setTargetVelocity_28int_2c_20float_29($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = Math_fround($2); + var $5 = 0, $6 = 0, $32 = Math_fround(0), wasm2js_i32$0 = 0, wasm2js_f32$0 = Math_fround(0); + $5 = __stack_pointer - 16 | 0; + __stack_pointer = $5; + HEAP32[($5 + 12 | 0) >> 2] = $0; + HEAP32[($5 + 8 | 0) >> 2] = $1; + HEAPF32[($5 + 4 | 0) >> 2] = $2; + $6 = HEAP32[($5 + 12 | 0) >> 2] | 0; + label$1 : { + label$2 : { + if (!((HEAP32[($5 + 8 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0)) { + break label$2 + } + if ((HEAP32[($5 + 8 | 0) >> 2] | 0 | 0) < (6 | 0) & 1 | 0) { + break label$1 + } + } + __assert_fail(86524 | 0, 71825 | 0, 1009 | 0, 65757 | 0); + wasm2js_trap(); + } + label$3 : { + label$4 : { + if (!((HEAP32[($5 + 8 | 0) >> 2] | 0 | 0) < (3 | 0) & 1 | 0)) { + break label$4 + } + $32 = Math_fround(HEAPF32[($5 + 4 | 0) >> 2]); + (wasm2js_i32$0 = (btVector3__operator_20float__28_29(($6 + 680 | 0) + 196 | 0 | 0) | 0) + ((HEAP32[($5 + 8 | 0) >> 2] | 0) << 2 | 0) | 0, wasm2js_f32$0 = $32), HEAPF32[wasm2js_i32$0 >> 2] = wasm2js_f32$0; + break label$3; + } + HEAPF32[((($6 + 968 | 0) + Math_imul((HEAP32[($5 + 8 | 0) >> 2] | 0) - 3 | 0, 88) | 0) + 32 | 0) >> 2] = Math_fround(HEAPF32[($5 + 4 | 0) >> 2]); + } + __stack_pointer = $5 + 16 | 0; + return; + } + + function btGeneric6DofSpring2Constraint__setServoTarget_28int_2c_20float_29($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = Math_fround($2); + var $5 = 0, $6 = 0, $32 = Math_fround(0), $45 = Math_fround(0), wasm2js_i32$0 = 0, wasm2js_f32$0 = Math_fround(0); + $5 = __stack_pointer - 32 | 0; + __stack_pointer = $5; + HEAP32[($5 + 28 | 0) >> 2] = $0; + HEAP32[($5 + 24 | 0) >> 2] = $1; + HEAPF32[($5 + 20 | 0) >> 2] = $2; + $6 = HEAP32[($5 + 28 | 0) >> 2] | 0; + label$1 : { + label$2 : { + if (!((HEAP32[($5 + 24 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0)) { + break label$2 + } + if ((HEAP32[($5 + 24 | 0) >> 2] | 0 | 0) < (6 | 0) & 1 | 0) { + break label$1 + } + } + __assert_fail(86524 | 0, 71825 | 0, 1020 | 0, 68608 | 0); + wasm2js_trap(); + } + label$3 : { + label$4 : { + if (!((HEAP32[($5 + 24 | 0) >> 2] | 0 | 0) < (3 | 0) & 1 | 0)) { + break label$4 + } + $32 = Math_fround(HEAPF32[($5 + 20 | 0) >> 2]); + (wasm2js_i32$0 = (btVector3__operator_20float__28_29(($6 + 680 | 0) + 124 | 0 | 0) | 0) + ((HEAP32[($5 + 24 | 0) >> 2] | 0) << 2 | 0) | 0, wasm2js_f32$0 = $32), HEAPF32[wasm2js_i32$0 >> 2] = wasm2js_f32$0; + break label$3; + } + HEAPF32[($5 + 16 | 0) >> 2] = Math_fround(Math_fround(HEAPF32[($5 + 20 | 0) >> 2]) + Math_fround(3.1415927410125732)); + $45 = Math_fround(HEAPF32[($5 + 16 | 0) >> 2]); + (wasm2js_i32$0 = $5, wasm2js_f32$0 = Math_fround(Math_fround(Math_fround(floor_5babi_v160004_5d_28float_29(Math_fround(Math_fround(Math_fround(HEAPF32[($5 + 16 | 0) >> 2]) / Math_fround(6.2831854820251465))))) * Math_fround(-6.2831854820251465)) + $45)), HEAPF32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_f32$0; + label$5 : { + label$6 : { + if (!(Math_fround(HEAPF32[($5 + 12 | 0) >> 2]) >= Math_fround(6.2831854820251465) & 1 | 0)) { + break label$6 + } + HEAPF32[($5 + 16 | 0) >> 2] = Math_fround(0 | 0); + break label$5; + } + label$7 : { + label$8 : { + if (!(Math_fround(HEAPF32[($5 + 12 | 0) >> 2]) < Math_fround(0 | 0) & 1 | 0)) { + break label$8 + } + label$9 : { + label$10 : { + if (!(Math_fround(Math_fround(6.2831854820251465) + Math_fround(HEAPF32[($5 + 12 | 0) >> 2])) == Math_fround(6.2831854820251465) & 1 | 0)) { + break label$10 + } + HEAPF32[($5 + 16 | 0) >> 2] = Math_fround(0 | 0); + break label$9; + } + HEAPF32[($5 + 16 | 0) >> 2] = Math_fround(Math_fround(6.2831854820251465) + Math_fround(HEAPF32[($5 + 12 | 0) >> 2])); + } + break label$7; + } + HEAPF32[($5 + 16 | 0) >> 2] = Math_fround(HEAPF32[($5 + 12 | 0) >> 2]); + } + } + HEAPF32[($5 + 16 | 0) >> 2] = Math_fround(Math_fround(HEAPF32[($5 + 16 | 0) >> 2]) - Math_fround(3.1415927410125732)); + HEAPF32[((($6 + 968 | 0) + Math_imul((HEAP32[($5 + 24 | 0) >> 2] | 0) - 3 | 0, 88) | 0) + 44 | 0) >> 2] = Math_fround(HEAPF32[($5 + 16 | 0) >> 2]); + } + __stack_pointer = $5 + 32 | 0; + return; + } + + function floor_5babi_v160004_5d_28float_29($0) { + $0 = Math_fround($0); + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + HEAPF32[($3 + 12 | 0) >> 2] = $0; + return Math_fround(Math_fround(Math_floor(Math_fround(HEAPF32[($3 + 12 | 0) >> 2])))); + } + + function btGeneric6DofSpring2Constraint__setMaxMotorForce_28int_2c_20float_29($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = Math_fround($2); + var $5 = 0, $6 = 0, $32 = Math_fround(0), wasm2js_i32$0 = 0, wasm2js_f32$0 = Math_fround(0); + $5 = __stack_pointer - 16 | 0; + __stack_pointer = $5; + HEAP32[($5 + 12 | 0) >> 2] = $0; + HEAP32[($5 + 8 | 0) >> 2] = $1; + HEAPF32[($5 + 4 | 0) >> 2] = $2; + $6 = HEAP32[($5 + 12 | 0) >> 2] | 0; + label$1 : { + label$2 : { + if (!((HEAP32[($5 + 8 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0)) { + break label$2 + } + if ((HEAP32[($5 + 8 | 0) >> 2] | 0 | 0) < (6 | 0) & 1 | 0) { + break label$1 + } + } + __assert_fail(86524 | 0, 71825 | 0, 1063 | 0, 82121 | 0); + wasm2js_trap(); + } + label$3 : { + label$4 : { + if (!((HEAP32[($5 + 8 | 0) >> 2] | 0 | 0) < (3 | 0) & 1 | 0)) { + break label$4 + } + $32 = Math_fround(HEAPF32[($5 + 4 | 0) >> 2]); + (wasm2js_i32$0 = (btVector3__operator_20float__28_29(($6 + 680 | 0) + 212 | 0 | 0) | 0) + ((HEAP32[($5 + 8 | 0) >> 2] | 0) << 2 | 0) | 0, wasm2js_f32$0 = $32), HEAPF32[wasm2js_i32$0 >> 2] = wasm2js_f32$0; + break label$3; + } + HEAPF32[((($6 + 968 | 0) + Math_imul((HEAP32[($5 + 8 | 0) >> 2] | 0) - 3 | 0, 88) | 0) + 36 | 0) >> 2] = Math_fround(HEAPF32[($5 + 4 | 0) >> 2]); + } + __stack_pointer = $5 + 16 | 0; + return; + } + + function btGeneric6DofSpring2Constraint__enableSpring_28int_2c_20bool_29($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $5 = 0, $7 = 0; + $5 = __stack_pointer - 16 | 0; + __stack_pointer = $5; + HEAP32[($5 + 12 | 0) >> 2] = $0; + HEAP32[($5 + 8 | 0) >> 2] = $1; + HEAP8[($5 + 7 | 0) >> 0] = $2; + $7 = HEAP32[($5 + 12 | 0) >> 2] | 0; + label$1 : { + label$2 : { + if (!((HEAP32[($5 + 8 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0)) { + break label$2 + } + if ((HEAP32[($5 + 8 | 0) >> 2] | 0 | 0) < (6 | 0) & 1 | 0) { + break label$1 + } + } + __assert_fail(86524 | 0, 71825 | 0, 1072 | 0, 80592 | 0); + wasm2js_trap(); + } + label$3 : { + label$4 : { + if (!((HEAP32[($5 + 8 | 0) >> 2] | 0 | 0) < (3 | 0) & 1 | 0)) { + break label$4 + } + HEAP8[((($7 + 680 | 0) + 118 | 0) + (HEAP32[($5 + 8 | 0) >> 2] | 0) | 0) >> 0] = (HEAPU8[($5 + 7 | 0) >> 0] | 0) & 1 | 0; + break label$3; + } + HEAP8[((($7 + 968 | 0) + Math_imul((HEAP32[($5 + 8 | 0) >> 2] | 0) - 3 | 0, 88) | 0) + 48 | 0) >> 0] = (HEAPU8[($5 + 7 | 0) >> 0] | 0) & 1 | 0; + } + __stack_pointer = $5 + 16 | 0; + return; + } + + function btGeneric6DofSpring2Constraint__setStiffness_28int_2c_20float_2c_20bool_29($0, $1, $2, $3) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = Math_fround($2); + $3 = $3 | 0; + var $6 = 0, $8 = 0, $34 = Math_fround(0), wasm2js_i32$0 = 0, wasm2js_f32$0 = Math_fround(0); + $6 = __stack_pointer - 16 | 0; + __stack_pointer = $6; + HEAP32[($6 + 12 | 0) >> 2] = $0; + HEAP32[($6 + 8 | 0) >> 2] = $1; + HEAPF32[($6 + 4 | 0) >> 2] = $2; + HEAP8[($6 + 3 | 0) >> 0] = $3; + $8 = HEAP32[($6 + 12 | 0) >> 2] | 0; + label$1 : { + label$2 : { + if (!((HEAP32[($6 + 8 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0)) { + break label$2 + } + if ((HEAP32[($6 + 8 | 0) >> 2] | 0 | 0) < (6 | 0) & 1 | 0) { + break label$1 + } + } + __assert_fail(86524 | 0, 71825 | 0, 1081 | 0, 69344 | 0); + wasm2js_trap(); + } + label$3 : { + label$4 : { + if (!((HEAP32[($6 + 8 | 0) >> 2] | 0 | 0) < (3 | 0) & 1 | 0)) { + break label$4 + } + $34 = Math_fround(HEAPF32[($6 + 4 | 0) >> 2]); + (wasm2js_i32$0 = (btVector3__operator_20float__28_29(($8 + 680 | 0) + 140 | 0 | 0) | 0) + ((HEAP32[($6 + 8 | 0) >> 2] | 0) << 2 | 0) | 0, wasm2js_f32$0 = $34), HEAPF32[wasm2js_i32$0 >> 2] = wasm2js_f32$0; + HEAP8[((($8 + 680 | 0) + 156 | 0) + (HEAP32[($6 + 8 | 0) >> 2] | 0) | 0) >> 0] = (HEAPU8[($6 + 3 | 0) >> 0] | 0) & 1 | 0; + break label$3; + } + HEAPF32[((($8 + 968 | 0) + Math_imul((HEAP32[($6 + 8 | 0) >> 2] | 0) - 3 | 0, 88) | 0) + 52 | 0) >> 2] = Math_fround(HEAPF32[($6 + 4 | 0) >> 2]); + HEAP8[((($8 + 968 | 0) + Math_imul((HEAP32[($6 + 8 | 0) >> 2] | 0) - 3 | 0, 88) | 0) + 56 | 0) >> 0] = (HEAPU8[($6 + 3 | 0) >> 0] | 0) & 1 | 0; + } + __stack_pointer = $6 + 16 | 0; + return; + } + + function btGeneric6DofSpring2Constraint__setDamping_28int_2c_20float_2c_20bool_29($0, $1, $2, $3) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = Math_fround($2); + $3 = $3 | 0; + var $6 = 0, $8 = 0, $34 = Math_fround(0), wasm2js_i32$0 = 0, wasm2js_f32$0 = Math_fround(0); + $6 = __stack_pointer - 16 | 0; + __stack_pointer = $6; + HEAP32[($6 + 12 | 0) >> 2] = $0; + HEAP32[($6 + 8 | 0) >> 2] = $1; + HEAPF32[($6 + 4 | 0) >> 2] = $2; + HEAP8[($6 + 3 | 0) >> 0] = $3; + $8 = HEAP32[($6 + 12 | 0) >> 2] | 0; + label$1 : { + label$2 : { + if (!((HEAP32[($6 + 8 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0)) { + break label$2 + } + if ((HEAP32[($6 + 8 | 0) >> 2] | 0 | 0) < (6 | 0) & 1 | 0) { + break label$1 + } + } + __assert_fail(86524 | 0, 71825 | 0, 1093 | 0, 80675 | 0); + wasm2js_trap(); + } + label$3 : { + label$4 : { + if (!((HEAP32[($6 + 8 | 0) >> 2] | 0 | 0) < (3 | 0) & 1 | 0)) { + break label$4 + } + $34 = Math_fround(HEAPF32[($6 + 4 | 0) >> 2]); + (wasm2js_i32$0 = (btVector3__operator_20float__28_29(($8 + 680 | 0) + 160 | 0 | 0) | 0) + ((HEAP32[($6 + 8 | 0) >> 2] | 0) << 2 | 0) | 0, wasm2js_f32$0 = $34), HEAPF32[wasm2js_i32$0 >> 2] = wasm2js_f32$0; + HEAP8[((($8 + 680 | 0) + 176 | 0) + (HEAP32[($6 + 8 | 0) >> 2] | 0) | 0) >> 0] = (HEAPU8[($6 + 3 | 0) >> 0] | 0) & 1 | 0; + break label$3; + } + HEAPF32[((($8 + 968 | 0) + Math_imul((HEAP32[($6 + 8 | 0) >> 2] | 0) - 3 | 0, 88) | 0) + 60 | 0) >> 2] = Math_fround(HEAPF32[($6 + 4 | 0) >> 2]); + HEAP8[((($8 + 968 | 0) + Math_imul((HEAP32[($6 + 8 | 0) >> 2] | 0) - 3 | 0, 88) | 0) + 64 | 0) >> 0] = (HEAPU8[($6 + 3 | 0) >> 0] | 0) & 1 | 0; + } + __stack_pointer = $6 + 16 | 0; + return; + } + + function btGeneric6DofSpring2Constraint__setEquilibriumPoint_28int_2c_20float_29($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = Math_fround($2); + var $5 = 0, $6 = 0, $32 = Math_fround(0), wasm2js_i32$0 = 0, wasm2js_f32$0 = Math_fround(0); + $5 = __stack_pointer - 16 | 0; + __stack_pointer = $5; + HEAP32[($5 + 12 | 0) >> 2] = $0; + HEAP32[($5 + 8 | 0) >> 2] = $1; + HEAPF32[($5 + 4 | 0) >> 2] = $2; + $6 = HEAP32[($5 + 12 | 0) >> 2] | 0; + label$1 : { + label$2 : { + if (!((HEAP32[($5 + 8 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0)) { + break label$2 + } + if ((HEAP32[($5 + 8 | 0) >> 2] | 0 | 0) < (6 | 0) & 1 | 0) { + break label$1 + } + } + __assert_fail(86524 | 0, 71825 | 0, 1125 | 0, 67685 | 0); + wasm2js_trap(); + } + label$3 : { + label$4 : { + if (!((HEAP32[($5 + 8 | 0) >> 2] | 0 | 0) < (3 | 0) & 1 | 0)) { + break label$4 + } + $32 = Math_fround(HEAPF32[($5 + 4 | 0) >> 2]); + (wasm2js_i32$0 = (btVector3__operator_20float__28_29(($6 + 680 | 0) + 180 | 0 | 0) | 0) + ((HEAP32[($5 + 8 | 0) >> 2] | 0) << 2 | 0) | 0, wasm2js_f32$0 = $32), HEAPF32[wasm2js_i32$0 >> 2] = wasm2js_f32$0; + break label$3; + } + HEAPF32[((($6 + 968 | 0) + Math_imul((HEAP32[($5 + 8 | 0) >> 2] | 0) - 3 | 0, 88) | 0) + 68 | 0) >> 2] = Math_fround(HEAPF32[($5 + 4 | 0) >> 2]); + } + __stack_pointer = $5 + 16 | 0; + return; + } + + function btGeneric6DofSpring2Constraint___btGeneric6DofSpring2Constraint_28_29_1($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + btGeneric6DofSpring2Constraint___btGeneric6DofSpring2Constraint_28_29($4 | 0) | 0; + btGeneric6DofSpring2Constraint__operator_20delete_28void__29($4 | 0); + __stack_pointer = $3 + 16 | 0; + return; + } + + function _GLOBAL__sub_I_btGeneric6DofSpring2Constraint_cpp() { + __cxx_global_var_init_69(); + return; + } + + function __cxx_global_var_init_70() { + btInfMaskConverter__btInfMaskConverter_28int_29(115404 | 0, 2139095040 | 0) | 0; + return; + } + + function btAngularLimit__btAngularLimit_28_29($0) { + $0 = $0 | 0; + var $4 = 0, $3 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + HEAPF32[$4 >> 2] = Math_fround(0 | 0); + HEAPF32[($4 + 4 | 0) >> 2] = Math_fround(-1.0); + HEAPF32[($4 + 8 | 0) >> 2] = Math_fround(.8999999761581421); + HEAPF32[($4 + 12 | 0) >> 2] = Math_fround(.30000001192092896); + HEAPF32[($4 + 16 | 0) >> 2] = Math_fround(1.0); + HEAPF32[($4 + 20 | 0) >> 2] = Math_fround(0 | 0); + HEAPF32[($4 + 24 | 0) >> 2] = Math_fround(0 | 0); + HEAP8[($4 + 28 | 0) >> 0] = 0; + return $4 | 0; + } + + function quatRotate_28btQuaternion_20const__2c_20btVector3_20const__29($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $5 = 0; + $5 = __stack_pointer - 48 | 0; + __stack_pointer = $5; + HEAP32[($5 + 44 | 0) >> 2] = $1; + HEAP32[($5 + 40 | 0) >> 2] = $2; + operator__28btQuaternion_20const__2c_20btVector3_20const__29($5 + 24 | 0 | 0, HEAP32[($5 + 44 | 0) >> 2] | 0 | 0, HEAP32[($5 + 40 | 0) >> 2] | 0 | 0); + btQuaternion__inverse_28_29_20const($5 + 8 | 0 | 0, HEAP32[($5 + 44 | 0) >> 2] | 0 | 0); + btQuaternion__operator___28btQuaternion_20const__29($5 + 24 | 0 | 0, $5 + 8 | 0 | 0) | 0; + btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($0 | 0, btQuadWord__getX_28_29_20const($5 + 24 | 0 | 0) | 0 | 0, btQuadWord__getY_28_29_20const($5 + 24 | 0 | 0) | 0 | 0, btQuadWord__getZ_28_29_20const($5 + 24 | 0 | 0) | 0 | 0) | 0; + __stack_pointer = $5 + 48 | 0; + return; + } + + function operator__28btQuaternion_20const__2c_20btVector3_20const__29($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $5 = 0, $20 = Math_fround(0), $44 = Math_fround(0), $68 = Math_fround(0), $94 = Math_fround(0), wasm2js_i32$0 = 0, wasm2js_f32$0 = Math_fround(0); + $5 = __stack_pointer - 32 | 0; + __stack_pointer = $5; + HEAP32[($5 + 28 | 0) >> 2] = $1; + HEAP32[($5 + 24 | 0) >> 2] = $2; + $20 = Math_fround(Math_fround(Math_fround(HEAPF32[(btQuadWord__w_28_29_20const(HEAP32[($5 + 28 | 0) >> 2] | 0 | 0) | 0) >> 2]) * Math_fround(HEAPF32[(btVector3__x_28_29_20const(HEAP32[($5 + 24 | 0) >> 2] | 0 | 0) | 0) >> 2])) + Math_fround(Math_fround(HEAPF32[(btQuadWord__y_28_29_20const(HEAP32[($5 + 28 | 0) >> 2] | 0 | 0) | 0) >> 2]) * Math_fround(HEAPF32[(btVector3__z_28_29_20const(HEAP32[($5 + 24 | 0) >> 2] | 0 | 0) | 0) >> 2]))); + (wasm2js_i32$0 = $5, wasm2js_f32$0 = Math_fround(Math_fround(Math_fround(-Math_fround(HEAPF32[(btQuadWord__z_28_29_20const(HEAP32[($5 + 28 | 0) >> 2] | 0 | 0) | 0) >> 2])) * Math_fround(HEAPF32[(btVector3__y_28_29_20const(HEAP32[($5 + 24 | 0) >> 2] | 0 | 0) | 0) >> 2])) + $20)), HEAPF32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_f32$0; + $44 = Math_fround(Math_fround(Math_fround(HEAPF32[(btQuadWord__w_28_29_20const(HEAP32[($5 + 28 | 0) >> 2] | 0 | 0) | 0) >> 2]) * Math_fround(HEAPF32[(btVector3__y_28_29_20const(HEAP32[($5 + 24 | 0) >> 2] | 0 | 0) | 0) >> 2])) + Math_fround(Math_fround(HEAPF32[(btQuadWord__z_28_29_20const(HEAP32[($5 + 28 | 0) >> 2] | 0 | 0) | 0) >> 2]) * Math_fround(HEAPF32[(btVector3__x_28_29_20const(HEAP32[($5 + 24 | 0) >> 2] | 0 | 0) | 0) >> 2]))); + (wasm2js_i32$0 = $5, wasm2js_f32$0 = Math_fround(Math_fround(Math_fround(-Math_fround(HEAPF32[(btQuadWord__x_28_29_20const(HEAP32[($5 + 28 | 0) >> 2] | 0 | 0) | 0) >> 2])) * Math_fround(HEAPF32[(btVector3__z_28_29_20const(HEAP32[($5 + 24 | 0) >> 2] | 0 | 0) | 0) >> 2])) + $44)), HEAPF32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_f32$0; + $68 = Math_fround(Math_fround(Math_fround(HEAPF32[(btQuadWord__w_28_29_20const(HEAP32[($5 + 28 | 0) >> 2] | 0 | 0) | 0) >> 2]) * Math_fround(HEAPF32[(btVector3__z_28_29_20const(HEAP32[($5 + 24 | 0) >> 2] | 0 | 0) | 0) >> 2])) + Math_fround(Math_fround(HEAPF32[(btQuadWord__x_28_29_20const(HEAP32[($5 + 28 | 0) >> 2] | 0 | 0) | 0) >> 2]) * Math_fround(HEAPF32[(btVector3__y_28_29_20const(HEAP32[($5 + 24 | 0) >> 2] | 0 | 0) | 0) >> 2]))); + (wasm2js_i32$0 = $5, wasm2js_f32$0 = Math_fround(Math_fround(Math_fround(-Math_fround(HEAPF32[(btQuadWord__y_28_29_20const(HEAP32[($5 + 28 | 0) >> 2] | 0 | 0) | 0) >> 2])) * Math_fround(HEAPF32[(btVector3__x_28_29_20const(HEAP32[($5 + 24 | 0) >> 2] | 0 | 0) | 0) >> 2])) + $68)), HEAPF32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_f32$0; + $94 = Math_fround(Math_fround(Math_fround(-Math_fround(HEAPF32[(btQuadWord__x_28_29_20const(HEAP32[($5 + 28 | 0) >> 2] | 0 | 0) | 0) >> 2])) * Math_fround(HEAPF32[(btVector3__x_28_29_20const(HEAP32[($5 + 24 | 0) >> 2] | 0 | 0) | 0) >> 2])) + Math_fround(-Math_fround(Math_fround(HEAPF32[(btQuadWord__y_28_29_20const(HEAP32[($5 + 28 | 0) >> 2] | 0 | 0) | 0) >> 2]) * Math_fround(HEAPF32[(btVector3__y_28_29_20const(HEAP32[($5 + 24 | 0) >> 2] | 0 | 0) | 0) >> 2])))); + (wasm2js_i32$0 = $5, wasm2js_f32$0 = Math_fround(Math_fround(Math_fround(-Math_fround(HEAPF32[(btQuadWord__z_28_29_20const(HEAP32[($5 + 28 | 0) >> 2] | 0 | 0) | 0) >> 2])) * Math_fround(HEAPF32[(btVector3__z_28_29_20const(HEAP32[($5 + 24 | 0) >> 2] | 0 | 0) | 0) >> 2])) + $94)), HEAPF32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_f32$0; + btQuaternion__btQuaternion_28float_20const__2c_20float_20const__2c_20float_20const__2c_20float_20const__29($0 | 0, $5 + 20 | 0 | 0, $5 + 16 | 0 | 0, $5 + 12 | 0 | 0, $5 + 8 | 0 | 0) | 0; + __stack_pointer = $5 + 32 | 0; + return; + } + + function btQuaternion__operator___28btQuaternion_20const__29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, $5 = 0, $15 = Math_fround(0), $21 = Math_fround(0), $38 = Math_fround(0), $44 = Math_fround(0), $61 = Math_fround(0), $67 = Math_fround(0), $85 = Math_fround(0), $92 = Math_fround(0), wasm2js_i32$0 = 0, wasm2js_f32$0 = Math_fround(0); + $4 = __stack_pointer - 32 | 0; + __stack_pointer = $4; + HEAP32[($4 + 28 | 0) >> 2] = $0; + HEAP32[($4 + 24 | 0) >> 2] = $1; + $5 = HEAP32[($4 + 28 | 0) >> 2] | 0; + $15 = Math_fround(Math_fround(Math_fround(HEAPF32[($5 + 12 | 0) >> 2]) * Math_fround(HEAPF32[(btQuadWord__x_28_29_20const(HEAP32[($4 + 24 | 0) >> 2] | 0 | 0) | 0) >> 2])) + Math_fround(Math_fround(HEAPF32[$5 >> 2]) * Math_fround(HEAPF32[((HEAP32[($4 + 24 | 0) >> 2] | 0) + 12 | 0) >> 2]))); + $21 = Math_fround(Math_fround(Math_fround(HEAPF32[($5 + 4 | 0) >> 2]) * Math_fround(HEAPF32[(btQuadWord__z_28_29_20const(HEAP32[($4 + 24 | 0) >> 2] | 0 | 0) | 0) >> 2])) + $15); + (wasm2js_i32$0 = $4, wasm2js_f32$0 = Math_fround(Math_fround(Math_fround(-Math_fround(HEAPF32[($5 + 8 | 0) >> 2])) * Math_fround(HEAPF32[(btQuadWord__y_28_29_20const(HEAP32[($4 + 24 | 0) >> 2] | 0 | 0) | 0) >> 2])) + $21)), HEAPF32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_f32$0; + $38 = Math_fround(Math_fround(Math_fround(HEAPF32[($5 + 12 | 0) >> 2]) * Math_fround(HEAPF32[(btQuadWord__y_28_29_20const(HEAP32[($4 + 24 | 0) >> 2] | 0 | 0) | 0) >> 2])) + Math_fround(Math_fround(HEAPF32[($5 + 4 | 0) >> 2]) * Math_fround(HEAPF32[((HEAP32[($4 + 24 | 0) >> 2] | 0) + 12 | 0) >> 2]))); + $44 = Math_fround(Math_fround(Math_fround(HEAPF32[($5 + 8 | 0) >> 2]) * Math_fround(HEAPF32[(btQuadWord__x_28_29_20const(HEAP32[($4 + 24 | 0) >> 2] | 0 | 0) | 0) >> 2])) + $38); + (wasm2js_i32$0 = $4, wasm2js_f32$0 = Math_fround(Math_fround(Math_fround(-Math_fround(HEAPF32[$5 >> 2])) * Math_fround(HEAPF32[(btQuadWord__z_28_29_20const(HEAP32[($4 + 24 | 0) >> 2] | 0 | 0) | 0) >> 2])) + $44)), HEAPF32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_f32$0; + $61 = Math_fround(Math_fround(Math_fround(HEAPF32[($5 + 12 | 0) >> 2]) * Math_fround(HEAPF32[(btQuadWord__z_28_29_20const(HEAP32[($4 + 24 | 0) >> 2] | 0 | 0) | 0) >> 2])) + Math_fround(Math_fround(HEAPF32[($5 + 8 | 0) >> 2]) * Math_fround(HEAPF32[((HEAP32[($4 + 24 | 0) >> 2] | 0) + 12 | 0) >> 2]))); + $67 = Math_fround(Math_fround(Math_fround(HEAPF32[$5 >> 2]) * Math_fround(HEAPF32[(btQuadWord__y_28_29_20const(HEAP32[($4 + 24 | 0) >> 2] | 0 | 0) | 0) >> 2])) + $61); + (wasm2js_i32$0 = $4, wasm2js_f32$0 = Math_fround(Math_fround(Math_fround(-Math_fround(HEAPF32[($5 + 4 | 0) >> 2])) * Math_fround(HEAPF32[(btQuadWord__x_28_29_20const(HEAP32[($4 + 24 | 0) >> 2] | 0 | 0) | 0) >> 2])) + $67)), HEAPF32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_f32$0; + $85 = Math_fround(Math_fround(Math_fround(HEAPF32[($5 + 12 | 0) >> 2]) * Math_fround(HEAPF32[((HEAP32[($4 + 24 | 0) >> 2] | 0) + 12 | 0) >> 2])) + Math_fround(-Math_fround(Math_fround(HEAPF32[$5 >> 2]) * Math_fround(HEAPF32[(btQuadWord__x_28_29_20const(HEAP32[($4 + 24 | 0) >> 2] | 0 | 0) | 0) >> 2])))); + $92 = Math_fround(Math_fround(Math_fround(-Math_fround(HEAPF32[($5 + 4 | 0) >> 2])) * Math_fround(HEAPF32[(btQuadWord__y_28_29_20const(HEAP32[($4 + 24 | 0) >> 2] | 0 | 0) | 0) >> 2])) + $85); + (wasm2js_i32$0 = $4, wasm2js_f32$0 = Math_fround(Math_fround(Math_fround(-Math_fround(HEAPF32[($5 + 8 | 0) >> 2])) * Math_fround(HEAPF32[(btQuadWord__z_28_29_20const(HEAP32[($4 + 24 | 0) >> 2] | 0 | 0) | 0) >> 2])) + $92)), HEAPF32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_f32$0; + btQuadWord__setValue_28float_20const__2c_20float_20const__2c_20float_20const__2c_20float_20const__29($5 | 0, $4 + 20 | 0 | 0, $4 + 16 | 0 | 0, $4 + 12 | 0 | 0, $4 + 8 | 0 | 0); + __stack_pointer = $4 + 32 | 0; + return $5 | 0; + } + + function btQuadWord__getX_28_29_20const($0) { + $0 = $0 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + return HEAP32[($3 + 12 | 0) >> 2] | 0 | 0; + } + + function btQuadWord__getY_28_29_20const($0) { + $0 = $0 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + return (HEAP32[($3 + 12 | 0) >> 2] | 0) + 4 | 0 | 0; + } + + function btQuadWord__getZ_28_29_20const($0) { + $0 = $0 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + return (HEAP32[($3 + 12 | 0) >> 2] | 0) + 8 | 0 | 0; + } + + function btHingeConstraint__btHingeConstraint_28btRigidBody__2c_20btRigidBody__2c_20btTransform_20const__2c_20btTransform_20const__2c_20bool_29($0, $1, $2, $3, $4, $5) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + $4 = $4 | 0; + $5 = $5 | 0; + var $10 = 0, $8 = 0, $18 = 0, $21 = 0, $22 = 0, $24 = 0, $31 = 0, $34 = 0, $35 = 0, $37 = 0, $20 = 0, $33 = 0, $73 = 0; + $8 = __stack_pointer - 32 | 0; + __stack_pointer = $8; + HEAP32[($8 + 24 | 0) >> 2] = $0; + HEAP32[($8 + 20 | 0) >> 2] = $1; + HEAP32[($8 + 16 | 0) >> 2] = $2; + HEAP32[($8 + 12 | 0) >> 2] = $3; + HEAP32[($8 + 8 | 0) >> 2] = $4; + HEAP8[($8 + 7 | 0) >> 0] = $5; + $10 = HEAP32[($8 + 24 | 0) >> 2] | 0; + HEAP32[($8 + 28 | 0) >> 2] = $10; + btTypedConstraint__btTypedConstraint_28btTypedConstraintType_2c_20btRigidBody__2c_20btRigidBody__29($10 | 0, 4 | 0, HEAP32[($8 + 20 | 0) >> 2] | 0 | 0, HEAP32[($8 + 16 | 0) >> 2] | 0 | 0) | 0; + HEAP32[$10 >> 2] = 102188 + 8 | 0; + $18 = $10 + 48 | 0; + $20 = $18 + 252 | 0; + $21 = $18; + label$1 : while (1) { + $22 = $21; + btJacobianEntry__btJacobianEntry_28_29($22 | 0) | 0; + $24 = $22 + 84 | 0; + $21 = $24; + if (!(($24 | 0) == ($20 | 0) & 1 | 0)) { + continue label$1 + } + break label$1; + }; + $31 = $10 + 300 | 0; + $33 = $31 + 252 | 0; + $34 = $31; + label$2 : while (1) { + $35 = $34; + btJacobianEntry__btJacobianEntry_28_29($35 | 0) | 0; + $37 = $35 + 84 | 0; + $34 = $37; + if (!(($37 | 0) == ($33 | 0) & 1 | 0)) { + continue label$2 + } + break label$2; + }; + btTransform__btTransform_28btTransform_20const__29($10 + 552 | 0 | 0, HEAP32[($8 + 12 | 0) >> 2] | 0 | 0) | 0; + btTransform__btTransform_28btTransform_20const__29($10 + 616 | 0 | 0, HEAP32[($8 + 8 | 0) >> 2] | 0 | 0) | 0; + btAngularLimit__btAngularLimit_28_29($10 + 688 | 0 | 0) | 0; + HEAP8[($10 + 736 | 0) >> 0] = 0; + HEAP8[($10 + 737 | 0) >> 0] = 0; + HEAP8[($10 + 738 | 0) >> 0] = 0; + HEAP8[($10 + 739 | 0) >> 0] = 1; + HEAP8[($10 + 740 | 0) >> 0] = (HEAPU8[($8 + 7 | 0) >> 0] | 0) & 1 | 0; + HEAP32[($10 + 748 | 0) >> 2] = 0; + HEAPF32[($10 + 752 | 0) >> 2] = Math_fround(0 | 0); + HEAPF32[($10 + 756 | 0) >> 2] = Math_fround(0 | 0); + HEAPF32[($10 + 760 | 0) >> 2] = Math_fround(0 | 0); + HEAPF32[($10 + 764 | 0) >> 2] = Math_fround(0 | 0); + HEAPF32[($10 + 732 | 0) >> 2] = (HEAPU8[($10 + 740 | 0) >> 0] | 0) & 1 | 0 ? Math_fround(-1.0) : Math_fround(1.0); + $73 = HEAP32[($8 + 28 | 0) >> 2] | 0; + __stack_pointer = $8 + 32 | 0; + return $73 | 0; + } + + function btHingeConstraint__buildJacobian_28_29($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, $42 = 0, $45 = 0, $46 = 0, $48 = 0, $70 = 0, $72 = 0, $44 = 0, $487 = 0, $500 = 0, $121 = 0, $222 = 0, $329 = 0, wasm2js_i32$0 = 0, wasm2js_f32$0 = Math_fround(0); + $3 = __stack_pointer - 704 | 0; + __stack_pointer = $3; + HEAP32[($3 + 700 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 700 | 0) >> 2] | 0; + label$1 : { + if (!((HEAPU8[($4 + 738 | 0) >> 0] | 0) & 1 | 0)) { + break label$1 + } + HEAPF32[($4 + 36 | 0) >> 2] = Math_fround(0 | 0); + HEAPF32[($4 + 744 | 0) >> 2] = Math_fround(0 | 0); + label$2 : { + if ((HEAPU8[($4 + 736 | 0) >> 0] | 0) & 1 | 0) { + break label$2 + } + btTransform__operator__28btVector3_20const__29_20const($3 + 684 | 0 | 0, btRigidBody__getCenterOfMassTransform_28_29_20const(HEAP32[($4 + 28 | 0) >> 2] | 0 | 0) | 0 | 0, btTransform__getOrigin_28_29($4 + 552 | 0 | 0) | 0 | 0); + btTransform__operator__28btVector3_20const__29_20const($3 + 668 | 0 | 0, btRigidBody__getCenterOfMassTransform_28_29_20const(HEAP32[($4 + 32 | 0) >> 2] | 0 | 0) | 0 | 0, btTransform__getOrigin_28_29($4 + 616 | 0 | 0) | 0 | 0); + operator__28btVector3_20const__2c_20btVector3_20const__29($3 + 652 | 0 | 0, $3 + 668 | 0 | 0, $3 + 684 | 0 | 0); + $42 = $3 + 592 | 0; + $44 = $42 + 48 | 0; + $45 = $42; + label$3 : while (1) { + $46 = $45; + btVector3__btVector3_28_29($46 | 0) | 0; + $48 = $46 + 16 | 0; + $45 = $48; + if (!(($48 | 0) == ($44 | 0) & 1 | 0)) { + continue label$3 + } + break label$3; + }; + label$4 : { + label$5 : { + if (!(Math_fround(btVector3__length2_28_29_20const($3 + 652 | 0 | 0)) > Math_fround(1.1920928955078125e-07) & 1 | 0)) { + break label$5 + } + btVector3__normalized_28_29_20const($3 + 576 | 0 | 0, $3 + 652 | 0 | 0); + $70 = $3 + 592 | 0; + i64toi32_i32$2 = $3; + i64toi32_i32$0 = HEAP32[($3 + 576 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($3 + 580 | 0) >> 2] | 0; + $487 = i64toi32_i32$0; + i64toi32_i32$0 = $70; + HEAP32[i64toi32_i32$0 >> 2] = $487; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $72 = 8; + i64toi32_i32$2 = ($3 + 576 | 0) + $72 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $500 = i64toi32_i32$1; + i64toi32_i32$1 = $70 + $72 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $500; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + break label$4; + } + HEAPF32[($3 + 572 | 0) >> 2] = Math_fround(1.0); + HEAPF32[($3 + 568 | 0) >> 2] = Math_fround(0 | 0); + HEAPF32[($3 + 564 | 0) >> 2] = Math_fround(0 | 0); + btVector3__setValue_28float_20const__2c_20float_20const__2c_20float_20const__29($3 + 592 | 0 | 0, $3 + 572 | 0 | 0, $3 + 568 | 0 | 0, $3 + 564 | 0 | 0); + } + void_20btPlaneSpace1_btVector3__28btVector3_20const__2c_20btVector3__2c_20btVector3__29($3 + 592 | 0 | 0, ($3 + 592 | 0) + 16 | 0 | 0, ($3 + 592 | 0) + 32 | 0 | 0); + HEAP32[($3 + 560 | 0) >> 2] = 0; + label$6 : { + label$7 : while (1) { + if (!((HEAP32[($3 + 560 | 0) >> 2] | 0 | 0) < (3 | 0) & 1 | 0)) { + break label$6 + } + $121 = ($4 + 48 | 0) + Math_imul(HEAP32[($3 + 560 | 0) >> 2] | 0, 84) | 0; + btMatrix3x3__transpose_28_29_20const($3 + 512 | 0 | 0, btTransform__getBasis_28_29_20const(btRigidBody__getCenterOfMassTransform_28_29_20const(HEAP32[($4 + 28 | 0) >> 2] | 0 | 0) | 0 | 0) | 0 | 0); + btMatrix3x3__transpose_28_29_20const($3 + 464 | 0 | 0, btTransform__getBasis_28_29_20const(btRigidBody__getCenterOfMassTransform_28_29_20const(HEAP32[($4 + 32 | 0) >> 2] | 0 | 0) | 0 | 0) | 0 | 0); + operator__28btVector3_20const__2c_20btVector3_20const__29($3 + 448 | 0 | 0, $3 + 684 | 0 | 0, btRigidBody__getCenterOfMassPosition_28_29_20const(HEAP32[($4 + 28 | 0) >> 2] | 0 | 0) | 0 | 0); + operator__28btVector3_20const__2c_20btVector3_20const__29($3 + 432 | 0 | 0, $3 + 668 | 0 | 0, btRigidBody__getCenterOfMassPosition_28_29_20const(HEAP32[($4 + 32 | 0) >> 2] | 0 | 0) | 0 | 0); + btJacobianEntry__btJacobianEntry_28btMatrix3x3_20const__2c_20btMatrix3x3_20const__2c_20btVector3_20const__2c_20btVector3_20const__2c_20btVector3_20const__2c_20btVector3_20const__2c_20float_2c_20btVector3_20const__2c_20float_29($121 | 0, $3 + 512 | 0 | 0, $3 + 464 | 0 | 0, $3 + 448 | 0 | 0, $3 + 432 | 0 | 0, ($3 + 592 | 0) + ((HEAP32[($3 + 560 | 0) >> 2] | 0) << 4 | 0) | 0 | 0, btRigidBody__getInvInertiaDiagLocal_28_29_20const(HEAP32[($4 + 28 | 0) >> 2] | 0 | 0) | 0 | 0, Math_fround(Math_fround(btRigidBody__getInvMass_28_29_20const(HEAP32[($4 + 28 | 0) >> 2] | 0 | 0))), btRigidBody__getInvInertiaDiagLocal_28_29_20const(HEAP32[($4 + 32 | 0) >> 2] | 0 | 0) | 0 | 0, Math_fround(Math_fround(btRigidBody__getInvMass_28_29_20const(HEAP32[($4 + 32 | 0) >> 2] | 0 | 0)))) | 0; + HEAP32[($3 + 560 | 0) >> 2] = (HEAP32[($3 + 560 | 0) >> 2] | 0) + 1 | 0; + continue label$7; + }; + } + } + btVector3__btVector3_28_29($3 + 416 | 0 | 0) | 0; + btVector3__btVector3_28_29($3 + 400 | 0 | 0) | 0; + btMatrix3x3__getColumn_28int_29_20const($3 + 384 | 0 | 0, btTransform__getBasis_28_29($4 + 552 | 0 | 0) | 0 | 0, 2 | 0); + void_20btPlaneSpace1_btVector3__28btVector3_20const__2c_20btVector3__2c_20btVector3__29($3 + 384 | 0 | 0, $3 + 416 | 0 | 0, $3 + 400 | 0 | 0); + operator__28btMatrix3x3_20const__2c_20btVector3_20const__29($3 + 368 | 0 | 0, btTransform__getBasis_28_29_20const(btRigidBody__getCenterOfMassTransform_28_29_20const(btHingeConstraint__getRigidBodyA_28_29($4 | 0) | 0 | 0) | 0 | 0) | 0 | 0, $3 + 416 | 0 | 0); + operator__28btMatrix3x3_20const__2c_20btVector3_20const__29($3 + 352 | 0 | 0, btTransform__getBasis_28_29_20const(btRigidBody__getCenterOfMassTransform_28_29_20const(btHingeConstraint__getRigidBodyA_28_29($4 | 0) | 0 | 0) | 0 | 0) | 0 | 0, $3 + 400 | 0 | 0); + $222 = btTransform__getBasis_28_29_20const(btRigidBody__getCenterOfMassTransform_28_29_20const(btHingeConstraint__getRigidBodyA_28_29($4 | 0) | 0 | 0) | 0 | 0) | 0; + btMatrix3x3__getColumn_28int_29_20const($3 + 320 | 0 | 0, btTransform__getBasis_28_29($4 + 552 | 0 | 0) | 0 | 0, 2 | 0); + operator__28btMatrix3x3_20const__2c_20btVector3_20const__29($3 + 336 | 0 | 0, $222 | 0, $3 + 320 | 0 | 0); + btMatrix3x3__transpose_28_29_20const($3 + 272 | 0 | 0, btTransform__getBasis_28_29_20const(btRigidBody__getCenterOfMassTransform_28_29_20const(HEAP32[($4 + 28 | 0) >> 2] | 0 | 0) | 0 | 0) | 0 | 0); + btMatrix3x3__transpose_28_29_20const($3 + 224 | 0 | 0, btTransform__getBasis_28_29_20const(btRigidBody__getCenterOfMassTransform_28_29_20const(HEAP32[($4 + 32 | 0) >> 2] | 0 | 0) | 0 | 0) | 0 | 0); + btJacobianEntry__btJacobianEntry_28btVector3_20const__2c_20btMatrix3x3_20const__2c_20btMatrix3x3_20const__2c_20btVector3_20const__2c_20btVector3_20const__29($4 + 300 | 0 | 0, $3 + 368 | 0 | 0, $3 + 272 | 0 | 0, $3 + 224 | 0 | 0, btRigidBody__getInvInertiaDiagLocal_28_29_20const(HEAP32[($4 + 28 | 0) >> 2] | 0 | 0) | 0 | 0, btRigidBody__getInvInertiaDiagLocal_28_29_20const(HEAP32[($4 + 32 | 0) >> 2] | 0 | 0) | 0 | 0) | 0; + btMatrix3x3__transpose_28_29_20const($3 + 176 | 0 | 0, btTransform__getBasis_28_29_20const(btRigidBody__getCenterOfMassTransform_28_29_20const(HEAP32[($4 + 28 | 0) >> 2] | 0 | 0) | 0 | 0) | 0 | 0); + btMatrix3x3__transpose_28_29_20const($3 + 128 | 0 | 0, btTransform__getBasis_28_29_20const(btRigidBody__getCenterOfMassTransform_28_29_20const(HEAP32[($4 + 32 | 0) >> 2] | 0 | 0) | 0 | 0) | 0 | 0); + btJacobianEntry__btJacobianEntry_28btVector3_20const__2c_20btMatrix3x3_20const__2c_20btMatrix3x3_20const__2c_20btVector3_20const__2c_20btVector3_20const__29(($4 + 300 | 0) + 84 | 0 | 0, $3 + 352 | 0 | 0, $3 + 176 | 0 | 0, $3 + 128 | 0 | 0, btRigidBody__getInvInertiaDiagLocal_28_29_20const(HEAP32[($4 + 28 | 0) >> 2] | 0 | 0) | 0 | 0, btRigidBody__getInvInertiaDiagLocal_28_29_20const(HEAP32[($4 + 32 | 0) >> 2] | 0 | 0) | 0 | 0) | 0; + btMatrix3x3__transpose_28_29_20const($3 + 80 | 0 | 0, btTransform__getBasis_28_29_20const(btRigidBody__getCenterOfMassTransform_28_29_20const(HEAP32[($4 + 28 | 0) >> 2] | 0 | 0) | 0 | 0) | 0 | 0); + btMatrix3x3__transpose_28_29_20const($3 + 32 | 0 | 0, btTransform__getBasis_28_29_20const(btRigidBody__getCenterOfMassTransform_28_29_20const(HEAP32[($4 + 32 | 0) >> 2] | 0 | 0) | 0 | 0) | 0 | 0); + btJacobianEntry__btJacobianEntry_28btVector3_20const__2c_20btMatrix3x3_20const__2c_20btMatrix3x3_20const__2c_20btVector3_20const__2c_20btVector3_20const__29(($4 + 300 | 0) + 168 | 0 | 0, $3 + 336 | 0 | 0, $3 + 80 | 0 | 0, $3 + 32 | 0 | 0, btRigidBody__getInvInertiaDiagLocal_28_29_20const(HEAP32[($4 + 28 | 0) >> 2] | 0 | 0) | 0 | 0, btRigidBody__getInvInertiaDiagLocal_28_29_20const(HEAP32[($4 + 32 | 0) >> 2] | 0 | 0) | 0 | 0) | 0; + HEAPF32[($4 + 724 | 0) >> 2] = Math_fround(0 | 0); + btHingeConstraint__testLimit_28btTransform_20const__2c_20btTransform_20const__29($4 | 0, btRigidBody__getCenterOfMassTransform_28_29_20const(HEAP32[($4 + 28 | 0) >> 2] | 0 | 0) | 0 | 0, btRigidBody__getCenterOfMassTransform_28_29_20const(HEAP32[($4 + 32 | 0) >> 2] | 0 | 0) | 0 | 0); + $329 = btTransform__getBasis_28_29_20const(btRigidBody__getCenterOfMassTransform_28_29_20const(btHingeConstraint__getRigidBodyA_28_29($4 | 0) | 0 | 0) | 0 | 0) | 0; + btMatrix3x3__getColumn_28int_29_20const($3 | 0, btTransform__getBasis_28_29($4 + 552 | 0 | 0) | 0 | 0, 2 | 0); + operator__28btMatrix3x3_20const__2c_20btVector3_20const__29($3 + 16 | 0 | 0, $329 | 0, $3 | 0); + (wasm2js_i32$0 = $4, wasm2js_f32$0 = Math_fround(Math_fround(1.0) / Math_fround(Math_fround(btRigidBody__computeAngularImpulseDenominator_28btVector3_20const__29_20const(btHingeConstraint__getRigidBodyA_28_29($4 | 0) | 0 | 0, $3 + 16 | 0 | 0)) + Math_fround(btRigidBody__computeAngularImpulseDenominator_28btVector3_20const__29_20const(btHingeConstraint__getRigidBodyB_28_29($4 | 0) | 0 | 0, $3 + 16 | 0 | 0))))), HEAPF32[(wasm2js_i32$0 + 720 | 0) >> 2] = wasm2js_f32$0; + } + __stack_pointer = $3 + 704 | 0; + return; + } + + function btRigidBody__getCenterOfMassPosition_28_29_20const($0) { + $0 = $0 | 0; + var $3 = 0, $7 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $7 = btTransform__getOrigin_28_29_20const((HEAP32[($3 + 12 | 0) >> 2] | 0) + 4 | 0 | 0) | 0; + __stack_pointer = $3 + 16 | 0; + return $7 | 0; + } + + function btRigidBody__getInvInertiaDiagLocal_28_29_20const($0) { + $0 = $0 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + return (HEAP32[($3 + 12 | 0) >> 2] | 0) + 456 | 0 | 0; + } + + function btJacobianEntry__btJacobianEntry_28btMatrix3x3_20const__2c_20btMatrix3x3_20const__2c_20btVector3_20const__2c_20btVector3_20const__2c_20btVector3_20const__2c_20btVector3_20const__2c_20float_2c_20btVector3_20const__2c_20float_29($0, $1, $2, $3, $4, $5, $6, $7, $8, $9) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + $4 = $4 | 0; + $5 = $5 | 0; + $6 = $6 | 0; + $7 = Math_fround($7); + $8 = $8 | 0; + $9 = Math_fround($9); + var $12 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, $13 = 0, i64toi32_i32$2 = 0, $16 = 0, $40 = 0, $42 = 0, $66 = 0, $68 = 0, $81 = 0, $83 = 0, $96 = 0, $98 = 0, $166 = 0, $176 = 0, $28 = 0, $225 = 0, $238 = 0, $48 = 0, $49 = 0, $277 = 0, $290 = 0, $309 = 0, $322 = 0, $341 = 0, $354 = 0, $129 = 0, wasm2js_i32$0 = 0, wasm2js_f32$0 = Math_fround(0); + $12 = __stack_pointer - 160 | 0; + __stack_pointer = $12; + HEAP32[($12 + 152 | 0) >> 2] = $0; + HEAP32[($12 + 148 | 0) >> 2] = $1; + HEAP32[($12 + 144 | 0) >> 2] = $2; + HEAP32[($12 + 140 | 0) >> 2] = $3; + HEAP32[($12 + 136 | 0) >> 2] = $4; + HEAP32[($12 + 132 | 0) >> 2] = $5; + HEAP32[($12 + 128 | 0) >> 2] = $6; + HEAPF32[($12 + 124 | 0) >> 2] = $7; + HEAP32[($12 + 120 | 0) >> 2] = $8; + HEAPF32[($12 + 116 | 0) >> 2] = $9; + $13 = HEAP32[($12 + 152 | 0) >> 2] | 0; + HEAP32[($12 + 156 | 0) >> 2] = $13; + i64toi32_i32$2 = HEAP32[($12 + 132 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $166 = i64toi32_i32$0; + i64toi32_i32$0 = $13; + HEAP32[$13 >> 2] = $166; + HEAP32[($13 + 4 | 0) >> 2] = i64toi32_i32$1; + $16 = 8; + i64toi32_i32$2 = i64toi32_i32$2 + $16 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $176 = i64toi32_i32$1; + i64toi32_i32$1 = $13 + $16 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $176; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + btVector3__btVector3_28_29($13 + 16 | 0 | 0) | 0; + btVector3__btVector3_28_29($13 + 32 | 0 | 0) | 0; + btVector3__btVector3_28_29($13 + 48 | 0 | 0) | 0; + btVector3__btVector3_28_29($13 + 64 | 0 | 0) | 0; + $28 = HEAP32[($12 + 148 | 0) >> 2] | 0; + btVector3__cross_28btVector3_20const__29_20const($12 + 84 | 0 | 0, HEAP32[($12 + 140 | 0) >> 2] | 0 | 0, $13 | 0); + operator__28btMatrix3x3_20const__2c_20btVector3_20const__29($12 + 100 | 0 | 0, $28 | 0, $12 + 84 | 0 | 0); + $40 = $13 + 16 | 0; + i64toi32_i32$2 = $12; + i64toi32_i32$0 = HEAP32[($12 + 100 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($12 + 104 | 0) >> 2] | 0; + $225 = i64toi32_i32$0; + i64toi32_i32$0 = $40; + HEAP32[i64toi32_i32$0 >> 2] = $225; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $42 = 8; + i64toi32_i32$2 = ($12 + 100 | 0) + $42 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $238 = i64toi32_i32$1; + i64toi32_i32$1 = $40 + $42 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $238; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + $48 = HEAP32[($12 + 144 | 0) >> 2] | 0; + $49 = HEAP32[($12 + 136 | 0) >> 2] | 0; + operator__28btVector3_20const__29($12 + 36 | 0 | 0, $13 | 0); + btVector3__cross_28btVector3_20const__29_20const($12 + 52 | 0 | 0, $49 | 0, $12 + 36 | 0 | 0); + operator__28btMatrix3x3_20const__2c_20btVector3_20const__29($12 + 68 | 0 | 0, $48 | 0, $12 + 52 | 0 | 0); + $66 = $13 + 32 | 0; + i64toi32_i32$2 = $12; + i64toi32_i32$0 = HEAP32[($12 + 68 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($12 + 72 | 0) >> 2] | 0; + $277 = i64toi32_i32$0; + i64toi32_i32$0 = $66; + HEAP32[i64toi32_i32$0 >> 2] = $277; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $68 = 8; + i64toi32_i32$2 = ($12 + 68 | 0) + $68 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $290 = i64toi32_i32$1; + i64toi32_i32$1 = $66 + $68 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $290; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + operator__28btVector3_20const__2c_20btVector3_20const__29_1($12 + 20 | 0 | 0, HEAP32[($12 + 128 | 0) >> 2] | 0 | 0, $13 + 16 | 0 | 0); + $81 = $13 + 48 | 0; + i64toi32_i32$2 = $12; + i64toi32_i32$0 = HEAP32[($12 + 20 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($12 + 24 | 0) >> 2] | 0; + $309 = i64toi32_i32$0; + i64toi32_i32$0 = $81; + HEAP32[i64toi32_i32$0 >> 2] = $309; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $83 = 8; + i64toi32_i32$2 = ($12 + 20 | 0) + $83 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $322 = i64toi32_i32$1; + i64toi32_i32$1 = $81 + $83 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $322; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + operator__28btVector3_20const__2c_20btVector3_20const__29_1($12 + 4 | 0 | 0, HEAP32[($12 + 120 | 0) >> 2] | 0 | 0, $13 + 32 | 0 | 0); + $96 = $13 + 64 | 0; + i64toi32_i32$2 = $12; + i64toi32_i32$0 = HEAP32[($12 + 4 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($12 + 8 | 0) >> 2] | 0; + $341 = i64toi32_i32$0; + i64toi32_i32$0 = $96; + HEAP32[i64toi32_i32$0 >> 2] = $341; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $98 = 8; + i64toi32_i32$2 = ($12 + 4 | 0) + $98 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $354 = i64toi32_i32$1; + i64toi32_i32$1 = $96 + $98 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $354; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + (wasm2js_i32$0 = $13, wasm2js_f32$0 = Math_fround(Math_fround(Math_fround(Math_fround(HEAPF32[($12 + 124 | 0) >> 2]) + Math_fround(btVector3__dot_28btVector3_20const__29_20const($13 + 48 | 0 | 0, $13 + 16 | 0 | 0))) + Math_fround(HEAPF32[($12 + 116 | 0) >> 2])) + Math_fround(btVector3__dot_28btVector3_20const__29_20const($13 + 64 | 0 | 0, $13 + 32 | 0 | 0)))), HEAPF32[(wasm2js_i32$0 + 80 | 0) >> 2] = wasm2js_f32$0; + label$1 : { + if (Math_fround(HEAPF32[($13 + 80 | 0) >> 2]) > Math_fround(0 | 0) & 1 | 0) { + break label$1 + } + __assert_fail(86643 | 0, 77966 | 0, 52 | 0, 65922 | 0); + wasm2js_trap(); + } + $129 = HEAP32[($12 + 156 | 0) >> 2] | 0; + __stack_pointer = $12 + 160 | 0; + return $129 | 0; + } + + function btHingeConstraint__getRigidBodyA_28_29($0) { + $0 = $0 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + return HEAP32[((HEAP32[($3 + 12 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0 | 0; + } + + function btJacobianEntry__btJacobianEntry_28btVector3_20const__2c_20btMatrix3x3_20const__2c_20btMatrix3x3_20const__2c_20btVector3_20const__2c_20btVector3_20const__29($0, $1, $2, $3, $4, $5) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + $4 = $4 | 0; + $5 = $5 | 0; + var $8 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $9 = 0, i64toi32_i32$2 = 0, $39 = 0, $41 = 0, $59 = 0, $61 = 0, $74 = 0, $76 = 0, $89 = 0, $91 = 0, $208 = 0, $221 = 0, $47 = 0, $249 = 0, $262 = 0, $281 = 0, $294 = 0, $313 = 0, $326 = 0, $118 = 0, wasm2js_i32$0 = 0, wasm2js_f32$0 = Math_fround(0); + $8 = __stack_pointer - 128 | 0; + __stack_pointer = $8; + HEAP32[($8 + 120 | 0) >> 2] = $0; + HEAP32[($8 + 116 | 0) >> 2] = $1; + HEAP32[($8 + 112 | 0) >> 2] = $2; + HEAP32[($8 + 108 | 0) >> 2] = $3; + HEAP32[($8 + 104 | 0) >> 2] = $4; + HEAP32[($8 + 100 | 0) >> 2] = $5; + $9 = HEAP32[($8 + 120 | 0) >> 2] | 0; + HEAP32[($8 + 124 | 0) >> 2] = $9; + HEAPF32[($8 + 96 | 0) >> 2] = Math_fround(0 | 0); + HEAPF32[($8 + 92 | 0) >> 2] = Math_fround(0 | 0); + HEAPF32[($8 + 88 | 0) >> 2] = Math_fround(0 | 0); + btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($9 | 0, $8 + 96 | 0 | 0, $8 + 92 | 0 | 0, $8 + 88 | 0 | 0) | 0; + btVector3__btVector3_28_29($9 + 16 | 0 | 0) | 0; + btVector3__btVector3_28_29($9 + 32 | 0 | 0) | 0; + btVector3__btVector3_28_29($9 + 48 | 0 | 0) | 0; + btVector3__btVector3_28_29($9 + 64 | 0 | 0) | 0; + operator__28btMatrix3x3_20const__2c_20btVector3_20const__29($8 + 72 | 0 | 0, HEAP32[($8 + 112 | 0) >> 2] | 0 | 0, HEAP32[($8 + 116 | 0) >> 2] | 0 | 0); + $39 = $9 + 16 | 0; + i64toi32_i32$2 = $8; + i64toi32_i32$0 = HEAP32[($8 + 72 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($8 + 76 | 0) >> 2] | 0; + $208 = i64toi32_i32$0; + i64toi32_i32$0 = $39; + HEAP32[i64toi32_i32$0 >> 2] = $208; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $41 = 8; + i64toi32_i32$2 = ($8 + 72 | 0) + $41 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $221 = i64toi32_i32$1; + i64toi32_i32$1 = $39 + $41 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $221; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + $47 = HEAP32[($8 + 108 | 0) >> 2] | 0; + operator__28btVector3_20const__29($8 + 40 | 0 | 0, HEAP32[($8 + 116 | 0) >> 2] | 0 | 0); + operator__28btMatrix3x3_20const__2c_20btVector3_20const__29($8 + 56 | 0 | 0, $47 | 0, $8 + 40 | 0 | 0); + $59 = $9 + 32 | 0; + i64toi32_i32$2 = $8; + i64toi32_i32$0 = HEAP32[($8 + 56 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($8 + 60 | 0) >> 2] | 0; + $249 = i64toi32_i32$0; + i64toi32_i32$0 = $59; + HEAP32[i64toi32_i32$0 >> 2] = $249; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $61 = 8; + i64toi32_i32$2 = ($8 + 56 | 0) + $61 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $262 = i64toi32_i32$1; + i64toi32_i32$1 = $59 + $61 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $262; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + operator__28btVector3_20const__2c_20btVector3_20const__29_1($8 + 24 | 0 | 0, HEAP32[($8 + 104 | 0) >> 2] | 0 | 0, $9 + 16 | 0 | 0); + $74 = $9 + 48 | 0; + i64toi32_i32$2 = $8; + i64toi32_i32$0 = HEAP32[($8 + 24 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($8 + 28 | 0) >> 2] | 0; + $281 = i64toi32_i32$0; + i64toi32_i32$0 = $74; + HEAP32[i64toi32_i32$0 >> 2] = $281; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $76 = 8; + i64toi32_i32$2 = ($8 + 24 | 0) + $76 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $294 = i64toi32_i32$1; + i64toi32_i32$1 = $74 + $76 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $294; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + operator__28btVector3_20const__2c_20btVector3_20const__29_1($8 + 8 | 0 | 0, HEAP32[($8 + 100 | 0) >> 2] | 0 | 0, $9 + 32 | 0 | 0); + $89 = $9 + 64 | 0; + i64toi32_i32$2 = $8; + i64toi32_i32$0 = HEAP32[($8 + 8 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($8 + 12 | 0) >> 2] | 0; + $313 = i64toi32_i32$0; + i64toi32_i32$0 = $89; + HEAP32[i64toi32_i32$0 >> 2] = $313; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $91 = 8; + i64toi32_i32$2 = ($8 + 8 | 0) + $91 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $326 = i64toi32_i32$1; + i64toi32_i32$1 = $89 + $91 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $326; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + (wasm2js_i32$0 = $9, wasm2js_f32$0 = Math_fround(Math_fround(btVector3__dot_28btVector3_20const__29_20const($9 + 48 | 0 | 0, $9 + 16 | 0 | 0)) + Math_fround(btVector3__dot_28btVector3_20const__29_20const($9 + 64 | 0 | 0, $9 + 32 | 0 | 0)))), HEAPF32[(wasm2js_i32$0 + 80 | 0) >> 2] = wasm2js_f32$0; + label$1 : { + if (Math_fround(HEAPF32[($9 + 80 | 0) >> 2]) > Math_fround(0 | 0) & 1 | 0) { + break label$1 + } + __assert_fail(86643 | 0, 77966 | 0, 69 | 0, 65922 | 0); + wasm2js_trap(); + } + $118 = HEAP32[($8 + 124 | 0) >> 2] | 0; + __stack_pointer = $8 + 128 | 0; + return $118 | 0; + } + + function btHingeConstraint__testLimit_28btTransform_20const__2c_20btTransform_20const__29($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $5 = 0, $6 = 0, wasm2js_i32$0 = 0, wasm2js_f32$0 = Math_fround(0); + $5 = __stack_pointer - 16 | 0; + __stack_pointer = $5; + HEAP32[($5 + 12 | 0) >> 2] = $0; + HEAP32[($5 + 8 | 0) >> 2] = $1; + HEAP32[($5 + 4 | 0) >> 2] = $2; + $6 = HEAP32[($5 + 12 | 0) >> 2] | 0; + (wasm2js_i32$0 = $6, wasm2js_f32$0 = Math_fround(btHingeConstraint__getHingeAngle_28btTransform_20const__2c_20btTransform_20const__29($6 | 0, HEAP32[($5 + 8 | 0) >> 2] | 0 | 0, HEAP32[($5 + 4 | 0) >> 2] | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 728 | 0) >> 2] = wasm2js_f32$0; + btAngularLimit__test_28float_29($6 + 688 | 0 | 0, Math_fround(Math_fround(HEAPF32[($6 + 728 | 0) >> 2]))); + __stack_pointer = $5 + 16 | 0; + return; + } + + function btRigidBody__computeAngularImpulseDenominator_28btVector3_20const__29_20const($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, $15 = Math_fround(0); + $4 = __stack_pointer - 32 | 0; + __stack_pointer = $4; + HEAP32[($4 + 28 | 0) >> 2] = $0; + HEAP32[($4 + 24 | 0) >> 2] = $1; + operator__28btVector3_20const__2c_20btMatrix3x3_20const__29($4 + 8 | 0 | 0, HEAP32[($4 + 24 | 0) >> 2] | 0 | 0, btRigidBody__getInvInertiaTensorWorld_28_29_20const(HEAP32[($4 + 28 | 0) >> 2] | 0 | 0) | 0 | 0); + $15 = Math_fround(btVector3__dot_28btVector3_20const__29_20const(HEAP32[($4 + 24 | 0) >> 2] | 0 | 0, $4 + 8 | 0 | 0)); + __stack_pointer = $4 + 32 | 0; + return Math_fround($15); + } + + function btHingeConstraint__getRigidBodyB_28_29($0) { + $0 = $0 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + return HEAP32[((HEAP32[($3 + 12 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0 | 0; + } + + function btHingeConstraint__getHingeAngle_28btTransform_20const__2c_20btTransform_20const__29($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $5 = 0, $6 = 0, $8 = 0, $23 = 0, $38 = 0, $69 = Math_fround(0), wasm2js_i32$0 = 0, wasm2js_f32$0 = Math_fround(0); + $5 = __stack_pointer - 112 | 0; + __stack_pointer = $5; + HEAP32[($5 + 108 | 0) >> 2] = $0; + HEAP32[($5 + 104 | 0) >> 2] = $1; + HEAP32[($5 + 100 | 0) >> 2] = $2; + $6 = HEAP32[($5 + 108 | 0) >> 2] | 0; + $8 = btTransform__getBasis_28_29_20const(HEAP32[($5 + 104 | 0) >> 2] | 0 | 0) | 0; + btMatrix3x3__getColumn_28int_29_20const($5 + 68 | 0 | 0, btTransform__getBasis_28_29($6 + 552 | 0 | 0) | 0 | 0, 0 | 0); + operator__28btMatrix3x3_20const__2c_20btVector3_20const__29($5 + 84 | 0 | 0, $8 | 0, $5 + 68 | 0 | 0); + $23 = btTransform__getBasis_28_29_20const(HEAP32[($5 + 104 | 0) >> 2] | 0 | 0) | 0; + btMatrix3x3__getColumn_28int_29_20const($5 + 36 | 0 | 0, btTransform__getBasis_28_29($6 + 552 | 0 | 0) | 0 | 0, 1 | 0); + operator__28btMatrix3x3_20const__2c_20btVector3_20const__29($5 + 52 | 0 | 0, $23 | 0, $5 + 36 | 0 | 0); + $38 = btTransform__getBasis_28_29_20const(HEAP32[($5 + 100 | 0) >> 2] | 0 | 0) | 0; + btMatrix3x3__getColumn_28int_29_20const($5 + 4 | 0 | 0, btTransform__getBasis_28_29($6 + 616 | 0 | 0) | 0 | 0, 1 | 0); + operator__28btMatrix3x3_20const__2c_20btVector3_20const__29($5 + 20 | 0 | 0, $38 | 0, $5 + 4 | 0 | 0); + (wasm2js_i32$0 = $5, wasm2js_f32$0 = Math_fround(btAtan2_28float_2c_20float_29(Math_fround(Math_fround(btVector3__dot_28btVector3_20const__29_20const($5 + 20 | 0 | 0, $5 + 84 | 0 | 0))), Math_fround(Math_fround(btVector3__dot_28btVector3_20const__29_20const($5 + 20 | 0 | 0, $5 + 52 | 0 | 0)))))), HEAPF32[wasm2js_i32$0 >> 2] = wasm2js_f32$0; + $69 = Math_fround(Math_fround(HEAPF32[($6 + 732 | 0) >> 2]) * Math_fround(HEAPF32[$5 >> 2])); + __stack_pointer = $5 + 112 | 0; + return Math_fround($69); + } + + function btRigidBody__getInvInertiaTensorWorld_28_29_20const($0) { + $0 = $0 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + return (HEAP32[($3 + 12 | 0) >> 2] | 0) + 324 | 0 | 0; + } + + function btHingeConstraint__getInfo1_28btTypedConstraint__btConstraintInfo1__29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, $5 = 0, $25 = 0, $29 = 0; + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; + label$1 : { + label$2 : { + if (!((HEAPU8[($5 + 738 | 0) >> 0] | 0) & 1 | 0)) { + break label$2 + } + HEAP32[(HEAP32[($4 + 8 | 0) >> 2] | 0) >> 2] = 0; + HEAP32[((HEAP32[($4 + 8 | 0) >> 2] | 0) + 4 | 0) >> 2] = 0; + break label$1; + } + HEAP32[(HEAP32[($4 + 8 | 0) >> 2] | 0) >> 2] = 5; + HEAP32[((HEAP32[($4 + 8 | 0) >> 2] | 0) + 4 | 0) >> 2] = 1; + btHingeConstraint__testLimit_28btTransform_20const__2c_20btTransform_20const__29($5 | 0, btRigidBody__getCenterOfMassTransform_28_29_20const(HEAP32[($5 + 28 | 0) >> 2] | 0 | 0) | 0 | 0, btRigidBody__getCenterOfMassTransform_28_29_20const(HEAP32[($5 + 32 | 0) >> 2] | 0 | 0) | 0 | 0); + label$3 : { + label$4 : { + if (btHingeConstraint__getSolveLimit_28_29($5 | 0) | 0) { + break label$4 + } + if (!((btHingeConstraint__getEnableAngularMotor_28_29($5 | 0) | 0) & 1 | 0)) { + break label$3 + } + } + $25 = HEAP32[($4 + 8 | 0) >> 2] | 0; + HEAP32[$25 >> 2] = (HEAP32[$25 >> 2] | 0) + 1 | 0; + $29 = HEAP32[($4 + 8 | 0) >> 2] | 0; + HEAP32[($29 + 4 | 0) >> 2] = (HEAP32[($29 + 4 | 0) >> 2] | 0) + -1 | 0; + } + } + __stack_pointer = $4 + 16 | 0; + return; + } + + function btHingeConstraint__getSolveLimit_28_29($0) { + $0 = $0 | 0; + var $3 = 0, $9 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $9 = (btAngularLimit__isLimit_28_29_20const((HEAP32[($3 + 12 | 0) >> 2] | 0) + 688 | 0 | 0) | 0) & 1 | 0; + __stack_pointer = $3 + 16 | 0; + return $9 | 0; + } + + function btHingeConstraint__getEnableAngularMotor_28_29($0) { + $0 = $0 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + return (HEAPU8[((HEAP32[($3 + 12 | 0) >> 2] | 0) + 737 | 0) >> 0] | 0) & 1 | 0 | 0; + } + + function btAngularLimit__isLimit_28_29_20const($0) { + $0 = $0 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + return (HEAPU8[((HEAP32[($3 + 12 | 0) >> 2] | 0) + 28 | 0) >> 0] | 0) & 1 | 0 | 0; + } + + function btHingeConstraint__getInfo2_28btTypedConstraint__btConstraintInfo2__29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $5 = 0, $4 = 0; + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; + label$1 : { + label$2 : { + if (!((HEAPU8[($5 + 739 | 0) >> 0] | 0) & 1 | 0)) { + break label$2 + } + btHingeConstraint__getInfo2InternalUsingFrameOffset_28btTypedConstraint__btConstraintInfo2__2c_20btTransform_20const__2c_20btTransform_20const__2c_20btVector3_20const__2c_20btVector3_20const__29($5 | 0, HEAP32[($4 + 8 | 0) >> 2] | 0 | 0, btRigidBody__getCenterOfMassTransform_28_29_20const(HEAP32[($5 + 28 | 0) >> 2] | 0 | 0) | 0 | 0, btRigidBody__getCenterOfMassTransform_28_29_20const(HEAP32[($5 + 32 | 0) >> 2] | 0 | 0) | 0 | 0, btRigidBody__getAngularVelocity_28_29_20const(HEAP32[($5 + 28 | 0) >> 2] | 0 | 0) | 0 | 0, btRigidBody__getAngularVelocity_28_29_20const(HEAP32[($5 + 32 | 0) >> 2] | 0 | 0) | 0 | 0); + break label$1; + } + btHingeConstraint__getInfo2Internal_28btTypedConstraint__btConstraintInfo2__2c_20btTransform_20const__2c_20btTransform_20const__2c_20btVector3_20const__2c_20btVector3_20const__29($5 | 0, HEAP32[($4 + 8 | 0) >> 2] | 0 | 0, btRigidBody__getCenterOfMassTransform_28_29_20const(HEAP32[($5 + 28 | 0) >> 2] | 0 | 0) | 0 | 0, btRigidBody__getCenterOfMassTransform_28_29_20const(HEAP32[($5 + 32 | 0) >> 2] | 0 | 0) | 0 | 0, btRigidBody__getAngularVelocity_28_29_20const(HEAP32[($5 + 28 | 0) >> 2] | 0 | 0) | 0 | 0, btRigidBody__getAngularVelocity_28_29_20const(HEAP32[($5 + 32 | 0) >> 2] | 0 | 0) | 0 | 0); + } + __stack_pointer = $4 + 16 | 0; + return; + } + + function btHingeConstraint__getInfo2InternalUsingFrameOffset_28btTypedConstraint__btConstraintInfo2__2c_20btTransform_20const__2c_20btTransform_20const__2c_20btVector3_20const__2c_20btVector3_20const__29($0, $1, $2, $3, $4, $5) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + $4 = $4 | 0; + $5 = $5 | 0; + var $8 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, $9 = 0, $52 = 0, $164 = 0, $209 = 0, $270 = 0, $297 = 0, $333 = 0, $367 = 0, $385 = 0, $403 = 0, $421 = 0, $496 = 0, $514 = 0, $605 = 0, $623 = 0, $708 = Math_fround(0), $1284 = Math_fround(0), $1318 = 0, $1349 = 0, $1511 = 0, $1848 = 0, $1852 = 0, $1930 = 0, $1934 = 0, $2038 = 0, $2042 = 0, $2088 = 0, $2092 = 0, $2153 = 0, $2157 = 0, $2221 = 0, $2225 = 0, $2256 = 0, $2260 = 0, $2291 = 0, $2295 = 0, $2326 = 0, $2330 = 0, $441 = 0, $469 = 0, $2475 = 0, $2479 = 0, $2510 = 0, $2514 = 0, $550 = 0, $578 = 0, $2692 = 0, $2696 = 0, $2727 = 0, $2731 = 0, $658 = 0, $686 = 0, $730 = 0, $758 = 0, $786 = 0, $814 = 0, $843 = 0, $872 = 0, $948 = Math_fround(0), $961 = Math_fround(0), $974 = Math_fround(0), $987 = Math_fround(0), $1000 = Math_fround(0), $1013 = Math_fround(0), $1027 = Math_fround(0), $1041 = Math_fround(0), $1055 = Math_fround(0), $1069 = Math_fround(0), $1083 = Math_fround(0), $1097 = Math_fround(0), $1127 = Math_fround(0), $1142 = Math_fround(0), $1186 = Math_fround(0), $1199 = Math_fround(0), $1212 = Math_fround(0), $1226 = Math_fround(0), $1240 = Math_fround(0), $1254 = Math_fround(0), $1437 = Math_fround(0), $1505 = Math_fround(0), wasm2js_i32$0 = 0, wasm2js_f32$0 = Math_fround(0), wasm2js_i32$1 = 0; + $8 = __stack_pointer - 976 | 0; + __stack_pointer = $8; + HEAP32[($8 + 972 | 0) >> 2] = $0; + HEAP32[($8 + 968 | 0) >> 2] = $1; + HEAP32[($8 + 964 | 0) >> 2] = $2; + HEAP32[($8 + 960 | 0) >> 2] = $3; + HEAP32[($8 + 956 | 0) >> 2] = $4; + HEAP32[($8 + 952 | 0) >> 2] = $5; + $9 = HEAP32[($8 + 972 | 0) >> 2] | 0; + label$1 : { + if (!((HEAPU8[($9 + 738 | 0) >> 0] | 0) & 1 | 0)) { + break label$1 + } + __assert_fail(81148 | 0, 71702 | 0, 775 | 0, 68265 | 0); + wasm2js_trap(); + } + HEAP32[($8 + 944 | 0) >> 2] = HEAP32[((HEAP32[($8 + 968 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0; + btTransform__operator__28btTransform_20const__29_20const($8 + 880 | 0 | 0, HEAP32[($8 + 964 | 0) >> 2] | 0 | 0, $9 + 552 | 0 | 0); + btTransform__operator__28btTransform_20const__29_20const($8 + 816 | 0 | 0, HEAP32[($8 + 960 | 0) >> 2] | 0 | 0, $9 + 616 | 0 | 0); + operator__28btVector3_20const__2c_20btVector3_20const__29($8 + 800 | 0 | 0, btTransform__getOrigin_28_29($8 + 816 | 0 | 0) | 0 | 0, btTransform__getOrigin_28_29($8 + 880 | 0 | 0) | 0 | 0); + (wasm2js_i32$0 = $8, wasm2js_f32$0 = Math_fround(btRigidBody__getInvMass_28_29_20const(btHingeConstraint__getRigidBodyA_28_29($9 | 0) | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 796 | 0) >> 2] = wasm2js_f32$0; + (wasm2js_i32$0 = $8, wasm2js_f32$0 = Math_fround(btRigidBody__getInvMass_28_29_20const(btHingeConstraint__getRigidBodyB_28_29($9 | 0) | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 792 | 0) >> 2] = wasm2js_f32$0; + $52 = 1; + label$2 : { + if (Math_fround(HEAPF32[($8 + 796 | 0) >> 2]) < Math_fround(1.1920928955078125e-07) & 1 | 0) { + break label$2 + } + $52 = Math_fround(HEAPF32[($8 + 792 | 0) >> 2]) < Math_fround(1.1920928955078125e-07); + } + HEAP8[($8 + 791 | 0) >> 0] = $52 & 1 | 0; + HEAPF32[($8 + 784 | 0) >> 2] = Math_fround(Math_fround(HEAPF32[($8 + 796 | 0) >> 2]) + Math_fround(HEAPF32[($8 + 792 | 0) >> 2])); + label$3 : { + label$4 : { + if (!(Math_fround(HEAPF32[($8 + 784 | 0) >> 2]) > Math_fround(0 | 0) & 1 | 0)) { + break label$4 + } + HEAPF32[($8 + 780 | 0) >> 2] = Math_fround(Math_fround(HEAPF32[($8 + 792 | 0) >> 2]) / Math_fround(HEAPF32[($8 + 784 | 0) >> 2])); + break label$3; + } + HEAPF32[($8 + 780 | 0) >> 2] = Math_fround(.5); + } + HEAPF32[($8 + 776 | 0) >> 2] = Math_fround(Math_fround(1.0) - Math_fround(HEAPF32[($8 + 780 | 0) >> 2])); + btMatrix3x3__getColumn_28int_29_20const($8 + 760 | 0 | 0, btTransform__getBasis_28_29($8 + 880 | 0 | 0) | 0 | 0, 2 | 0); + btMatrix3x3__getColumn_28int_29_20const($8 + 744 | 0 | 0, btTransform__getBasis_28_29($8 + 816 | 0 | 0) | 0 | 0, 2 | 0); + operator__28btVector3_20const__2c_20float_20const__29($8 + 712 | 0 | 0, $8 + 760 | 0 | 0, $8 + 780 | 0 | 0); + operator__28btVector3_20const__2c_20float_20const__29($8 + 696 | 0 | 0, $8 + 744 | 0 | 0, $8 + 776 | 0 | 0); + operator__28btVector3_20const__2c_20btVector3_20const__29_2($8 + 728 | 0 | 0, $8 + 712 | 0 | 0, $8 + 696 | 0 | 0); + btVector3__normalize_28_29($8 + 728 | 0 | 0) | 0; + btTransform__btTransform_28btTransform_20const__29($8 + 632 | 0 | 0, HEAP32[($8 + 964 | 0) >> 2] | 0 | 0) | 0; + btTransform__btTransform_28btTransform_20const__29($8 + 568 | 0 | 0, HEAP32[($8 + 960 | 0) >> 2] | 0 | 0) | 0; + HEAP32[($8 + 564 | 0) >> 2] = 0; + HEAP32[($8 + 560 | 0) >> 2] = HEAP32[($8 + 944 | 0) >> 2] | 0; + HEAP32[($8 + 556 | 0) >> 2] = (HEAP32[($8 + 944 | 0) >> 2] | 0) << 1 | 0; + HEAP32[($8 + 552 | 0) >> 2] = 2; + btVector3__btVector3_28_29($8 + 536 | 0 | 0) | 0; + btVector3__btVector3_28_29($8 + 520 | 0 | 0) | 0; + btVector3__btVector3_28_29($8 + 504 | 0 | 0) | 0; + btVector3__btVector3_28_29($8 + 488 | 0 | 0) | 0; + btVector3__btVector3_28_29($8 + 472 | 0 | 0) | 0; + btVector3__btVector3_28_29($8 + 456 | 0 | 0) | 0; + operator__28btVector3_20const__2c_20btVector3_20const__29($8 + 440 | 0 | 0, btTransform__getOrigin_28_29($8 + 816 | 0 | 0) | 0 | 0, btTransform__getOrigin_28_29($8 + 568 | 0 | 0) | 0 | 0); + $164 = 8; + i64toi32_i32$2 = ($8 + 440 | 0) + $164 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $1848 = i64toi32_i32$0; + i64toi32_i32$0 = ($8 + 488 | 0) + $164 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $1848; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$2 = $8; + i64toi32_i32$1 = HEAP32[($8 + 440 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($8 + 444 | 0) >> 2] | 0; + $1852 = i64toi32_i32$1; + i64toi32_i32$1 = $8; + HEAP32[($8 + 488 | 0) >> 2] = $1852; + HEAP32[($8 + 492 | 0) >> 2] = i64toi32_i32$0; + (wasm2js_i32$0 = $8, wasm2js_f32$0 = Math_fround(btVector3__dot_28btVector3_20const__29_20const($8 + 488 | 0 | 0, $8 + 728 | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 420 | 0) >> 2] = wasm2js_f32$0; + operator__28btVector3_20const__2c_20float_20const__29($8 + 424 | 0 | 0, $8 + 728 | 0 | 0, $8 + 420 | 0 | 0); + operator__28btVector3_20const__2c_20btVector3_20const__29($8 + 404 | 0 | 0, $8 + 488 | 0 | 0, $8 + 424 | 0 | 0); + operator__28btVector3_20const__2c_20btVector3_20const__29($8 + 388 | 0 | 0, btTransform__getOrigin_28_29($8 + 880 | 0 | 0) | 0 | 0, btTransform__getOrigin_28_29($8 + 632 | 0 | 0) | 0 | 0); + $209 = 8; + i64toi32_i32$2 = ($8 + 388 | 0) + $209 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $1930 = i64toi32_i32$0; + i64toi32_i32$0 = ($8 + 504 | 0) + $209 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $1930; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$2 = $8; + i64toi32_i32$1 = HEAP32[($8 + 388 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($8 + 392 | 0) >> 2] | 0; + $1934 = i64toi32_i32$1; + i64toi32_i32$1 = $8; + HEAP32[($8 + 504 | 0) >> 2] = $1934; + HEAP32[($8 + 508 | 0) >> 2] = i64toi32_i32$0; + (wasm2js_i32$0 = $8, wasm2js_f32$0 = Math_fround(btVector3__dot_28btVector3_20const__29_20const($8 + 504 | 0 | 0, $8 + 728 | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 368 | 0) >> 2] = wasm2js_f32$0; + operator__28btVector3_20const__2c_20float_20const__29($8 + 372 | 0 | 0, $8 + 728 | 0 | 0, $8 + 368 | 0 | 0); + operator__28btVector3_20const__2c_20btVector3_20const__29($8 + 352 | 0 | 0, $8 + 504 | 0 | 0, $8 + 372 | 0 | 0); + operator__28btVector3_20const__2c_20btVector3_20const__29($8 + 336 | 0 | 0, $8 + 372 | 0 | 0, $8 + 424 | 0 | 0); + operator__28btVector3_20const__2c_20float_20const__29($8 + 304 | 0 | 0, $8 + 336 | 0 | 0, $8 + 780 | 0 | 0); + operator__28btVector3_20const__2c_20btVector3_20const__29_2($8 + 320 | 0 | 0, $8 + 352 | 0 | 0, $8 + 304 | 0 | 0); + $270 = 8; + i64toi32_i32$2 = ($8 + 320 | 0) + $270 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $2038 = i64toi32_i32$0; + i64toi32_i32$0 = ($8 + 504 | 0) + $270 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $2038; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$2 = $8; + i64toi32_i32$1 = HEAP32[($8 + 320 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($8 + 324 | 0) >> 2] | 0; + $2042 = i64toi32_i32$1; + i64toi32_i32$1 = $8; + HEAP32[($8 + 504 | 0) >> 2] = $2042; + HEAP32[($8 + 508 | 0) >> 2] = i64toi32_i32$0; + operator__28btVector3_20const__2c_20float_20const__29($8 + 272 | 0 | 0, $8 + 336 | 0 | 0, $8 + 776 | 0 | 0); + operator__28btVector3_20const__2c_20btVector3_20const__29($8 + 288 | 0 | 0, $8 + 404 | 0 | 0, $8 + 272 | 0 | 0); + $297 = 8; + i64toi32_i32$2 = ($8 + 288 | 0) + $297 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $2088 = i64toi32_i32$0; + i64toi32_i32$0 = ($8 + 488 | 0) + $297 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $2088; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$2 = $8; + i64toi32_i32$1 = HEAP32[($8 + 288 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($8 + 292 | 0) >> 2] | 0; + $2092 = i64toi32_i32$1; + i64toi32_i32$1 = $8; + HEAP32[($8 + 488 | 0) >> 2] = $2092; + HEAP32[($8 + 492 | 0) >> 2] = i64toi32_i32$0; + operator__28btVector3_20const__2c_20float_20const__29($8 + 240 | 0 | 0, $8 + 404 | 0 | 0, $8 + 780 | 0 | 0); + operator__28btVector3_20const__2c_20float_20const__29($8 + 224 | 0 | 0, $8 + 352 | 0 | 0, $8 + 776 | 0 | 0); + operator__28btVector3_20const__2c_20btVector3_20const__29_2($8 + 256 | 0 | 0, $8 + 240 | 0 | 0, $8 + 224 | 0 | 0); + $333 = 8; + i64toi32_i32$2 = ($8 + 256 | 0) + $333 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $2153 = i64toi32_i32$0; + i64toi32_i32$0 = ($8 + 472 | 0) + $333 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $2153; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$2 = $8; + i64toi32_i32$1 = HEAP32[($8 + 256 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($8 + 260 | 0) >> 2] | 0; + $2157 = i64toi32_i32$1; + i64toi32_i32$1 = $8; + HEAP32[($8 + 472 | 0) >> 2] = $2157; + HEAP32[($8 + 476 | 0) >> 2] = i64toi32_i32$0; + (wasm2js_i32$0 = $8, wasm2js_f32$0 = Math_fround(btVector3__length2_28_29_20const($8 + 472 | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 220 | 0) >> 2] = wasm2js_f32$0; + label$5 : { + label$6 : { + if (!(Math_fround(HEAPF32[($8 + 220 | 0) >> 2]) > Math_fround(1.1920928955078125e-07) & 1 | 0)) { + break label$6 + } + (wasm2js_i32$0 = $8, wasm2js_f32$0 = Math_fround(btSqrt_28float_29(Math_fround(Math_fround(HEAPF32[($8 + 220 | 0) >> 2]))))), HEAPF32[(wasm2js_i32$0 + 216 | 0) >> 2] = wasm2js_f32$0; + btVector3__operator___28float_20const__29($8 + 472 | 0 | 0, $8 + 216 | 0 | 0) | 0; + break label$5; + } + btMatrix3x3__getColumn_28int_29_20const($8 + 200 | 0 | 0, btTransform__getBasis_28_29($8 + 880 | 0 | 0) | 0 | 0, 1 | 0); + $367 = 8; + i64toi32_i32$2 = ($8 + 200 | 0) + $367 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $2221 = i64toi32_i32$0; + i64toi32_i32$0 = ($8 + 472 | 0) + $367 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $2221; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$2 = $8; + i64toi32_i32$1 = HEAP32[($8 + 200 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($8 + 204 | 0) >> 2] | 0; + $2225 = i64toi32_i32$1; + i64toi32_i32$1 = $8; + HEAP32[($8 + 472 | 0) >> 2] = $2225; + HEAP32[($8 + 476 | 0) >> 2] = i64toi32_i32$0; + } + btVector3__cross_28btVector3_20const__29_20const($8 + 184 | 0 | 0, $8 + 728 | 0 | 0, $8 + 472 | 0 | 0); + $385 = 8; + i64toi32_i32$2 = ($8 + 184 | 0) + $385 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $2256 = i64toi32_i32$0; + i64toi32_i32$0 = ($8 + 456 | 0) + $385 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $2256; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$2 = $8; + i64toi32_i32$1 = HEAP32[($8 + 184 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($8 + 188 | 0) >> 2] | 0; + $2260 = i64toi32_i32$1; + i64toi32_i32$1 = $8; + HEAP32[($8 + 456 | 0) >> 2] = $2260; + HEAP32[($8 + 460 | 0) >> 2] = i64toi32_i32$0; + btVector3__cross_28btVector3_20const__29_20const($8 + 168 | 0 | 0, $8 + 504 | 0 | 0, $8 + 472 | 0 | 0); + $403 = 8; + i64toi32_i32$2 = ($8 + 168 | 0) + $403 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $2291 = i64toi32_i32$0; + i64toi32_i32$0 = ($8 + 536 | 0) + $403 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $2291; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$2 = $8; + i64toi32_i32$1 = HEAP32[($8 + 168 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($8 + 172 | 0) >> 2] | 0; + $2295 = i64toi32_i32$1; + i64toi32_i32$1 = $8; + HEAP32[($8 + 536 | 0) >> 2] = $2295; + HEAP32[($8 + 540 | 0) >> 2] = i64toi32_i32$0; + btVector3__cross_28btVector3_20const__29_20const($8 + 152 | 0 | 0, $8 + 488 | 0 | 0, $8 + 472 | 0 | 0); + $421 = 8; + i64toi32_i32$2 = ($8 + 152 | 0) + $421 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $2326 = i64toi32_i32$0; + i64toi32_i32$0 = ($8 + 520 | 0) + $421 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $2326; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$2 = $8; + i64toi32_i32$1 = HEAP32[($8 + 152 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($8 + 156 | 0) >> 2] | 0; + $2330 = i64toi32_i32$1; + i64toi32_i32$1 = $8; + HEAP32[($8 + 520 | 0) >> 2] = $2330; + HEAP32[($8 + 524 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($8 + 948 | 0) >> 2] = 0; + label$7 : { + label$8 : while (1) { + if (!((HEAP32[($8 + 948 | 0) >> 2] | 0 | 0) < (3 | 0) & 1 | 0)) { + break label$7 + } + $441 = btVector3__operator_20float__28_29($8 + 536 | 0 | 0) | 0; + HEAPF32[((HEAP32[((HEAP32[($8 + 968 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + (((HEAP32[($8 + 564 | 0) >> 2] | 0) + (HEAP32[($8 + 948 | 0) >> 2] | 0) | 0) << 2 | 0) | 0) >> 2] = Math_fround(HEAPF32[($441 + ((HEAP32[($8 + 948 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2]); + HEAP32[($8 + 948 | 0) >> 2] = (HEAP32[($8 + 948 | 0) >> 2] | 0) + 1 | 0; + continue label$8; + }; + } + HEAP32[($8 + 948 | 0) >> 2] = 0; + label$9 : { + label$10 : while (1) { + if (!((HEAP32[($8 + 948 | 0) >> 2] | 0 | 0) < (3 | 0) & 1 | 0)) { + break label$9 + } + $469 = btVector3__operator_20float__28_29($8 + 520 | 0 | 0) | 0; + HEAPF32[((HEAP32[((HEAP32[($8 + 968 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0) + (((HEAP32[($8 + 564 | 0) >> 2] | 0) + (HEAP32[($8 + 948 | 0) >> 2] | 0) | 0) << 2 | 0) | 0) >> 2] = Math_fround(-Math_fround(HEAPF32[($469 + ((HEAP32[($8 + 948 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2])); + HEAP32[($8 + 948 | 0) >> 2] = (HEAP32[($8 + 948 | 0) >> 2] | 0) + 1 | 0; + continue label$10; + }; + } + btVector3__cross_28btVector3_20const__29_20const($8 + 136 | 0 | 0, $8 + 504 | 0 | 0, $8 + 456 | 0 | 0); + $496 = 8; + i64toi32_i32$2 = ($8 + 136 | 0) + $496 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $2475 = i64toi32_i32$0; + i64toi32_i32$0 = ($8 + 536 | 0) + $496 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $2475; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$2 = $8; + i64toi32_i32$1 = HEAP32[($8 + 136 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($8 + 140 | 0) >> 2] | 0; + $2479 = i64toi32_i32$1; + i64toi32_i32$1 = $8; + HEAP32[($8 + 536 | 0) >> 2] = $2479; + HEAP32[($8 + 540 | 0) >> 2] = i64toi32_i32$0; + btVector3__cross_28btVector3_20const__29_20const($8 + 120 | 0 | 0, $8 + 488 | 0 | 0, $8 + 456 | 0 | 0); + $514 = 8; + i64toi32_i32$2 = ($8 + 120 | 0) + $514 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $2510 = i64toi32_i32$0; + i64toi32_i32$0 = ($8 + 520 | 0) + $514 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $2510; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$2 = $8; + i64toi32_i32$1 = HEAP32[($8 + 120 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($8 + 124 | 0) >> 2] | 0; + $2514 = i64toi32_i32$1; + i64toi32_i32$1 = $8; + HEAP32[($8 + 520 | 0) >> 2] = $2514; + HEAP32[($8 + 524 | 0) >> 2] = i64toi32_i32$0; + label$11 : { + if (!((HEAPU8[($8 + 791 | 0) >> 0] | 0) & 1 | 0)) { + break label$11 + } + if (!(btHingeConstraint__getSolveLimit_28_29($9 | 0) | 0)) { + break label$11 + } + btVector3__operator___28float_20const__29_1($8 + 520 | 0 | 0, $8 + 776 | 0 | 0) | 0; + btVector3__operator___28float_20const__29_1($8 + 536 | 0 | 0, $8 + 780 | 0 | 0) | 0; + } + HEAP32[($8 + 948 | 0) >> 2] = 0; + label$12 : { + label$13 : while (1) { + if (!((HEAP32[($8 + 948 | 0) >> 2] | 0 | 0) < (3 | 0) & 1 | 0)) { + break label$12 + } + $550 = btVector3__operator_20float__28_29($8 + 536 | 0 | 0) | 0; + HEAPF32[((HEAP32[((HEAP32[($8 + 968 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + (((HEAP32[($8 + 560 | 0) >> 2] | 0) + (HEAP32[($8 + 948 | 0) >> 2] | 0) | 0) << 2 | 0) | 0) >> 2] = Math_fround(HEAPF32[($550 + ((HEAP32[($8 + 948 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2]); + HEAP32[($8 + 948 | 0) >> 2] = (HEAP32[($8 + 948 | 0) >> 2] | 0) + 1 | 0; + continue label$13; + }; + } + HEAP32[($8 + 948 | 0) >> 2] = 0; + label$14 : { + label$15 : while (1) { + if (!((HEAP32[($8 + 948 | 0) >> 2] | 0 | 0) < (3 | 0) & 1 | 0)) { + break label$14 + } + $578 = btVector3__operator_20float__28_29($8 + 520 | 0 | 0) | 0; + HEAPF32[((HEAP32[((HEAP32[($8 + 968 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0) + (((HEAP32[($8 + 560 | 0) >> 2] | 0) + (HEAP32[($8 + 948 | 0) >> 2] | 0) | 0) << 2 | 0) | 0) >> 2] = Math_fround(-Math_fround(HEAPF32[($578 + ((HEAP32[($8 + 948 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2])); + HEAP32[($8 + 948 | 0) >> 2] = (HEAP32[($8 + 948 | 0) >> 2] | 0) + 1 | 0; + continue label$15; + }; + } + btVector3__cross_28btVector3_20const__29_20const($8 + 104 | 0 | 0, $8 + 504 | 0 | 0, $8 + 728 | 0 | 0); + $605 = 8; + i64toi32_i32$2 = ($8 + 104 | 0) + $605 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $2692 = i64toi32_i32$0; + i64toi32_i32$0 = ($8 + 536 | 0) + $605 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $2692; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$2 = $8; + i64toi32_i32$1 = HEAP32[($8 + 104 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($8 + 108 | 0) >> 2] | 0; + $2696 = i64toi32_i32$1; + i64toi32_i32$1 = $8; + HEAP32[($8 + 536 | 0) >> 2] = $2696; + HEAP32[($8 + 540 | 0) >> 2] = i64toi32_i32$0; + btVector3__cross_28btVector3_20const__29_20const($8 + 88 | 0 | 0, $8 + 488 | 0 | 0, $8 + 728 | 0 | 0); + $623 = 8; + i64toi32_i32$2 = ($8 + 88 | 0) + $623 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $2727 = i64toi32_i32$0; + i64toi32_i32$0 = ($8 + 520 | 0) + $623 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $2727; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$2 = $8; + i64toi32_i32$1 = HEAP32[($8 + 88 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($8 + 92 | 0) >> 2] | 0; + $2731 = i64toi32_i32$1; + i64toi32_i32$1 = $8; + HEAP32[($8 + 520 | 0) >> 2] = $2731; + HEAP32[($8 + 524 | 0) >> 2] = i64toi32_i32$0; + label$16 : { + if (!((HEAPU8[($8 + 791 | 0) >> 0] | 0) & 1 | 0)) { + break label$16 + } + btVector3__operator___28float_20const__29_1($8 + 520 | 0 | 0, $8 + 776 | 0 | 0) | 0; + btVector3__operator___28float_20const__29_1($8 + 536 | 0 | 0, $8 + 780 | 0 | 0) | 0; + } + HEAP32[($8 + 948 | 0) >> 2] = 0; + label$17 : { + label$18 : while (1) { + if (!((HEAP32[($8 + 948 | 0) >> 2] | 0 | 0) < (3 | 0) & 1 | 0)) { + break label$17 + } + $658 = btVector3__operator_20float__28_29($8 + 536 | 0 | 0) | 0; + HEAPF32[((HEAP32[((HEAP32[($8 + 968 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + (((HEAP32[($8 + 556 | 0) >> 2] | 0) + (HEAP32[($8 + 948 | 0) >> 2] | 0) | 0) << 2 | 0) | 0) >> 2] = Math_fround(HEAPF32[($658 + ((HEAP32[($8 + 948 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2]); + HEAP32[($8 + 948 | 0) >> 2] = (HEAP32[($8 + 948 | 0) >> 2] | 0) + 1 | 0; + continue label$18; + }; + } + HEAP32[($8 + 948 | 0) >> 2] = 0; + label$19 : { + label$20 : while (1) { + if (!((HEAP32[($8 + 948 | 0) >> 2] | 0 | 0) < (3 | 0) & 1 | 0)) { + break label$19 + } + $686 = btVector3__operator_20float__28_29($8 + 520 | 0 | 0) | 0; + HEAPF32[((HEAP32[((HEAP32[($8 + 968 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0) + (((HEAP32[($8 + 556 | 0) >> 2] | 0) + (HEAP32[($8 + 948 | 0) >> 2] | 0) | 0) << 2 | 0) | 0) >> 2] = Math_fround(-Math_fround(HEAPF32[($686 + ((HEAP32[($8 + 948 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2])); + HEAP32[($8 + 948 | 0) >> 2] = (HEAP32[($8 + 948 | 0) >> 2] | 0) + 1 | 0; + continue label$20; + }; + } + label$21 : { + label$22 : { + if (!((HEAP32[($9 + 748 | 0) >> 2] | 0) & 8 | 0)) { + break label$22 + } + $708 = Math_fround(HEAPF32[($9 + 756 | 0) >> 2]); + break label$21; + } + $708 = Math_fround(HEAPF32[((HEAP32[($8 + 968 | 0) >> 2] | 0) + 4 | 0) >> 2]); + } + HEAPF32[($8 + 84 | 0) >> 2] = $708; + HEAPF32[($8 + 80 | 0) >> 2] = Math_fround(Math_fround(HEAPF32[(HEAP32[($8 + 968 | 0) >> 2] | 0) >> 2]) * Math_fround(HEAPF32[($8 + 84 | 0) >> 2])); + label$23 : { + if ((HEAPU8[($9 + 736 | 0) >> 0] | 0) & 1 | 0) { + break label$23 + } + HEAP32[($8 + 948 | 0) >> 2] = 0; + label$24 : { + label$25 : while (1) { + if (!((HEAP32[($8 + 948 | 0) >> 2] | 0 | 0) < (3 | 0) & 1 | 0)) { + break label$24 + } + $730 = btVector3__operator_20float__28_29($8 + 472 | 0 | 0) | 0; + HEAPF32[((HEAP32[((HEAP32[($8 + 968 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) + (((HEAP32[($8 + 564 | 0) >> 2] | 0) + (HEAP32[($8 + 948 | 0) >> 2] | 0) | 0) << 2 | 0) | 0) >> 2] = Math_fround(HEAPF32[($730 + ((HEAP32[($8 + 948 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2]); + HEAP32[($8 + 948 | 0) >> 2] = (HEAP32[($8 + 948 | 0) >> 2] | 0) + 1 | 0; + continue label$25; + }; + } + HEAP32[($8 + 948 | 0) >> 2] = 0; + label$26 : { + label$27 : while (1) { + if (!((HEAP32[($8 + 948 | 0) >> 2] | 0 | 0) < (3 | 0) & 1 | 0)) { + break label$26 + } + $758 = btVector3__operator_20float__28_29($8 + 456 | 0 | 0) | 0; + HEAPF32[((HEAP32[((HEAP32[($8 + 968 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) + (((HEAP32[($8 + 560 | 0) >> 2] | 0) + (HEAP32[($8 + 948 | 0) >> 2] | 0) | 0) << 2 | 0) | 0) >> 2] = Math_fround(HEAPF32[($758 + ((HEAP32[($8 + 948 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2]); + HEAP32[($8 + 948 | 0) >> 2] = (HEAP32[($8 + 948 | 0) >> 2] | 0) + 1 | 0; + continue label$27; + }; + } + HEAP32[($8 + 948 | 0) >> 2] = 0; + label$28 : { + label$29 : while (1) { + if (!((HEAP32[($8 + 948 | 0) >> 2] | 0 | 0) < (3 | 0) & 1 | 0)) { + break label$28 + } + $786 = btVector3__operator_20float__28_29($8 + 728 | 0 | 0) | 0; + HEAPF32[((HEAP32[((HEAP32[($8 + 968 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) + (((HEAP32[($8 + 556 | 0) >> 2] | 0) + (HEAP32[($8 + 948 | 0) >> 2] | 0) | 0) << 2 | 0) | 0) >> 2] = Math_fround(HEAPF32[($786 + ((HEAP32[($8 + 948 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2]); + HEAP32[($8 + 948 | 0) >> 2] = (HEAP32[($8 + 948 | 0) >> 2] | 0) + 1 | 0; + continue label$29; + }; + } + HEAP32[($8 + 948 | 0) >> 2] = 0; + label$30 : { + label$31 : while (1) { + if (!((HEAP32[($8 + 948 | 0) >> 2] | 0 | 0) < (3 | 0) & 1 | 0)) { + break label$30 + } + $814 = btVector3__operator_20float__28_29($8 + 472 | 0 | 0) | 0; + HEAPF32[((HEAP32[((HEAP32[($8 + 968 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + (((HEAP32[($8 + 564 | 0) >> 2] | 0) + (HEAP32[($8 + 948 | 0) >> 2] | 0) | 0) << 2 | 0) | 0) >> 2] = Math_fround(-Math_fround(HEAPF32[($814 + ((HEAP32[($8 + 948 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2])); + HEAP32[($8 + 948 | 0) >> 2] = (HEAP32[($8 + 948 | 0) >> 2] | 0) + 1 | 0; + continue label$31; + }; + } + HEAP32[($8 + 948 | 0) >> 2] = 0; + label$32 : { + label$33 : while (1) { + if (!((HEAP32[($8 + 948 | 0) >> 2] | 0 | 0) < (3 | 0) & 1 | 0)) { + break label$32 + } + $843 = btVector3__operator_20float__28_29($8 + 456 | 0 | 0) | 0; + HEAPF32[((HEAP32[((HEAP32[($8 + 968 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + (((HEAP32[($8 + 560 | 0) >> 2] | 0) + (HEAP32[($8 + 948 | 0) >> 2] | 0) | 0) << 2 | 0) | 0) >> 2] = Math_fround(-Math_fround(HEAPF32[($843 + ((HEAP32[($8 + 948 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2])); + HEAP32[($8 + 948 | 0) >> 2] = (HEAP32[($8 + 948 | 0) >> 2] | 0) + 1 | 0; + continue label$33; + }; + } + HEAP32[($8 + 948 | 0) >> 2] = 0; + label$34 : { + label$35 : while (1) { + if (!((HEAP32[($8 + 948 | 0) >> 2] | 0 | 0) < (3 | 0) & 1 | 0)) { + break label$34 + } + $872 = btVector3__operator_20float__28_29($8 + 728 | 0 | 0) | 0; + HEAPF32[((HEAP32[((HEAP32[($8 + 968 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + (((HEAP32[($8 + 556 | 0) >> 2] | 0) + (HEAP32[($8 + 948 | 0) >> 2] | 0) | 0) << 2 | 0) | 0) >> 2] = Math_fround(-Math_fround(HEAPF32[($872 + ((HEAP32[($8 + 948 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2])); + HEAP32[($8 + 948 | 0) >> 2] = (HEAP32[($8 + 948 | 0) >> 2] | 0) + 1 | 0; + continue label$35; + }; + } + (wasm2js_i32$0 = $8, wasm2js_f32$0 = Math_fround(Math_fround(HEAPF32[($8 + 80 | 0) >> 2]) * Math_fround(btVector3__dot_28btVector3_20const__29_20const($8 + 472 | 0 | 0, $8 + 800 | 0 | 0)))), HEAPF32[(wasm2js_i32$0 + 76 | 0) >> 2] = wasm2js_f32$0; + HEAPF32[((HEAP32[((HEAP32[($8 + 968 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0) + ((HEAP32[($8 + 564 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = Math_fround(HEAPF32[($8 + 76 | 0) >> 2]); + (wasm2js_i32$0 = $8, wasm2js_f32$0 = Math_fround(Math_fround(HEAPF32[($8 + 80 | 0) >> 2]) * Math_fround(btVector3__dot_28btVector3_20const__29_20const($8 + 456 | 0 | 0, $8 + 800 | 0 | 0)))), HEAPF32[(wasm2js_i32$0 + 76 | 0) >> 2] = wasm2js_f32$0; + HEAPF32[((HEAP32[((HEAP32[($8 + 968 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0) + ((HEAP32[($8 + 560 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = Math_fround(HEAPF32[($8 + 76 | 0) >> 2]); + (wasm2js_i32$0 = $8, wasm2js_f32$0 = Math_fround(Math_fround(HEAPF32[($8 + 80 | 0) >> 2]) * Math_fround(btVector3__dot_28btVector3_20const__29_20const($8 + 728 | 0 | 0, $8 + 800 | 0 | 0)))), HEAPF32[(wasm2js_i32$0 + 76 | 0) >> 2] = wasm2js_f32$0; + HEAPF32[((HEAP32[((HEAP32[($8 + 968 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0) + ((HEAP32[($8 + 556 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = Math_fround(HEAPF32[($8 + 76 | 0) >> 2]); + } + HEAP32[($8 + 72 | 0) >> 2] = Math_imul(HEAP32[($8 + 944 | 0) >> 2] | 0, 3); + HEAP32[($8 + 68 | 0) >> 2] = (HEAP32[($8 + 944 | 0) >> 2] | 0) << 2 | 0; + $948 = Math_fround(HEAPF32[(btVector3__operator_20float__28_29($8 + 472 | 0 | 0) | 0) >> 2]); + HEAPF32[((HEAP32[((HEAP32[($8 + 968 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + (((HEAP32[($8 + 72 | 0) >> 2] | 0) + 0 | 0) << 2 | 0) | 0) >> 2] = $948; + $961 = Math_fround(HEAPF32[((btVector3__operator_20float__28_29($8 + 472 | 0 | 0) | 0) + 4 | 0) >> 2]); + HEAPF32[((HEAP32[((HEAP32[($8 + 968 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + (((HEAP32[($8 + 72 | 0) >> 2] | 0) + 1 | 0) << 2 | 0) | 0) >> 2] = $961; + $974 = Math_fround(HEAPF32[((btVector3__operator_20float__28_29($8 + 472 | 0 | 0) | 0) + 8 | 0) >> 2]); + HEAPF32[((HEAP32[((HEAP32[($8 + 968 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + (((HEAP32[($8 + 72 | 0) >> 2] | 0) + 2 | 0) << 2 | 0) | 0) >> 2] = $974; + $987 = Math_fround(HEAPF32[(btVector3__operator_20float__28_29($8 + 456 | 0 | 0) | 0) >> 2]); + HEAPF32[((HEAP32[((HEAP32[($8 + 968 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + (((HEAP32[($8 + 68 | 0) >> 2] | 0) + 0 | 0) << 2 | 0) | 0) >> 2] = $987; + $1000 = Math_fround(HEAPF32[((btVector3__operator_20float__28_29($8 + 456 | 0 | 0) | 0) + 4 | 0) >> 2]); + HEAPF32[((HEAP32[((HEAP32[($8 + 968 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + (((HEAP32[($8 + 68 | 0) >> 2] | 0) + 1 | 0) << 2 | 0) | 0) >> 2] = $1000; + $1013 = Math_fround(HEAPF32[((btVector3__operator_20float__28_29($8 + 456 | 0 | 0) | 0) + 8 | 0) >> 2]); + HEAPF32[((HEAP32[((HEAP32[($8 + 968 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + (((HEAP32[($8 + 68 | 0) >> 2] | 0) + 2 | 0) << 2 | 0) | 0) >> 2] = $1013; + $1027 = Math_fround(-Math_fround(HEAPF32[(btVector3__operator_20float__28_29($8 + 472 | 0 | 0) | 0) >> 2])); + HEAPF32[((HEAP32[((HEAP32[($8 + 968 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0) + (((HEAP32[($8 + 72 | 0) >> 2] | 0) + 0 | 0) << 2 | 0) | 0) >> 2] = $1027; + $1041 = Math_fround(-Math_fround(HEAPF32[((btVector3__operator_20float__28_29($8 + 472 | 0 | 0) | 0) + 4 | 0) >> 2])); + HEAPF32[((HEAP32[((HEAP32[($8 + 968 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0) + (((HEAP32[($8 + 72 | 0) >> 2] | 0) + 1 | 0) << 2 | 0) | 0) >> 2] = $1041; + $1055 = Math_fround(-Math_fround(HEAPF32[((btVector3__operator_20float__28_29($8 + 472 | 0 | 0) | 0) + 8 | 0) >> 2])); + HEAPF32[((HEAP32[((HEAP32[($8 + 968 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0) + (((HEAP32[($8 + 72 | 0) >> 2] | 0) + 2 | 0) << 2 | 0) | 0) >> 2] = $1055; + $1069 = Math_fround(-Math_fround(HEAPF32[(btVector3__operator_20float__28_29($8 + 456 | 0 | 0) | 0) >> 2])); + HEAPF32[((HEAP32[((HEAP32[($8 + 968 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0) + (((HEAP32[($8 + 68 | 0) >> 2] | 0) + 0 | 0) << 2 | 0) | 0) >> 2] = $1069; + $1083 = Math_fround(-Math_fround(HEAPF32[((btVector3__operator_20float__28_29($8 + 456 | 0 | 0) | 0) + 4 | 0) >> 2])); + HEAPF32[((HEAP32[((HEAP32[($8 + 968 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0) + (((HEAP32[($8 + 68 | 0) >> 2] | 0) + 1 | 0) << 2 | 0) | 0) >> 2] = $1083; + $1097 = Math_fround(-Math_fround(HEAPF32[((btVector3__operator_20float__28_29($8 + 456 | 0 | 0) | 0) + 8 | 0) >> 2])); + HEAPF32[((HEAP32[((HEAP32[($8 + 968 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0) + (((HEAP32[($8 + 68 | 0) >> 2] | 0) + 2 | 0) << 2 | 0) | 0) >> 2] = $1097; + HEAPF32[($8 + 80 | 0) >> 2] = Math_fround(Math_fround(HEAPF32[(HEAP32[($8 + 968 | 0) >> 2] | 0) >> 2]) * Math_fround(HEAPF32[($8 + 84 | 0) >> 2])); + btVector3__cross_28btVector3_20const__29_20const($8 + 52 | 0 | 0, $8 + 760 | 0 | 0, $8 + 744 | 0 | 0); + $1127 = Math_fround(Math_fround(HEAPF32[($8 + 80 | 0) >> 2]) * Math_fround(btVector3__dot_28btVector3_20const__29_20const($8 + 52 | 0 | 0, $8 + 472 | 0 | 0))); + HEAPF32[((HEAP32[((HEAP32[($8 + 968 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0) + ((HEAP32[($8 + 72 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = $1127; + $1142 = Math_fround(Math_fround(HEAPF32[($8 + 80 | 0) >> 2]) * Math_fround(btVector3__dot_28btVector3_20const__29_20const($8 + 52 | 0 | 0, $8 + 456 | 0 | 0))); + HEAPF32[((HEAP32[((HEAP32[($8 + 968 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0) + ((HEAP32[($8 + 68 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = $1142; + HEAP32[($8 + 552 | 0) >> 2] = 4; + HEAPF32[($8 + 44 | 0) >> 2] = Math_fround(0 | 0); + HEAP32[($8 + 40 | 0) >> 2] = 0; + label$36 : { + if (!(btHingeConstraint__getSolveLimit_28_29($9 | 0) | 0)) { + break label$36 + } + (wasm2js_i32$0 = $8, wasm2js_f32$0 = Math_fround(Math_fround(btAngularLimit__getCorrection_28_29_20const($9 + 688 | 0 | 0)) * Math_fround(HEAPF32[($9 + 732 | 0) >> 2]))), HEAPF32[(wasm2js_i32$0 + 44 | 0) >> 2] = wasm2js_f32$0; + HEAP32[($8 + 40 | 0) >> 2] = Math_fround(HEAPF32[($8 + 44 | 0) >> 2]) > Math_fround(0 | 0) & 1 | 0 ? 1 : 2; + } + (wasm2js_i32$0 = $8, wasm2js_i32$1 = (btHingeConstraint__getEnableAngularMotor_28_29($9 | 0) | 0) & 1 | 0), HEAP8[(wasm2js_i32$0 + 39 | 0) >> 0] = wasm2js_i32$1; + label$37 : { + label$38 : { + if (HEAP32[($8 + 40 | 0) >> 2] | 0) { + break label$38 + } + if (!((HEAPU8[($8 + 39 | 0) >> 0] | 0) & 1 | 0)) { + break label$37 + } + } + HEAP32[($8 + 552 | 0) >> 2] = (HEAP32[($8 + 552 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($8 + 48 | 0) >> 2] = Math_imul(HEAP32[($8 + 552 | 0) >> 2] | 0, HEAP32[((HEAP32[($8 + 968 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0); + $1186 = Math_fround(HEAPF32[(btVector3__operator_20float__28_29($8 + 728 | 0 | 0) | 0) >> 2]); + HEAPF32[((HEAP32[((HEAP32[($8 + 968 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + (((HEAP32[($8 + 48 | 0) >> 2] | 0) + 0 | 0) << 2 | 0) | 0) >> 2] = $1186; + $1199 = Math_fround(HEAPF32[((btVector3__operator_20float__28_29($8 + 728 | 0 | 0) | 0) + 4 | 0) >> 2]); + HEAPF32[((HEAP32[((HEAP32[($8 + 968 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + (((HEAP32[($8 + 48 | 0) >> 2] | 0) + 1 | 0) << 2 | 0) | 0) >> 2] = $1199; + $1212 = Math_fround(HEAPF32[((btVector3__operator_20float__28_29($8 + 728 | 0 | 0) | 0) + 8 | 0) >> 2]); + HEAPF32[((HEAP32[((HEAP32[($8 + 968 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + (((HEAP32[($8 + 48 | 0) >> 2] | 0) + 2 | 0) << 2 | 0) | 0) >> 2] = $1212; + $1226 = Math_fround(-Math_fround(HEAPF32[(btVector3__operator_20float__28_29($8 + 728 | 0 | 0) | 0) >> 2])); + HEAPF32[((HEAP32[((HEAP32[($8 + 968 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0) + (((HEAP32[($8 + 48 | 0) >> 2] | 0) + 0 | 0) << 2 | 0) | 0) >> 2] = $1226; + $1240 = Math_fround(-Math_fround(HEAPF32[((btVector3__operator_20float__28_29($8 + 728 | 0 | 0) | 0) + 4 | 0) >> 2])); + HEAPF32[((HEAP32[((HEAP32[($8 + 968 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0) + (((HEAP32[($8 + 48 | 0) >> 2] | 0) + 1 | 0) << 2 | 0) | 0) >> 2] = $1240; + $1254 = Math_fround(-Math_fround(HEAPF32[((btVector3__operator_20float__28_29($8 + 728 | 0 | 0) | 0) + 8 | 0) >> 2])); + HEAPF32[((HEAP32[((HEAP32[($8 + 968 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0) + (((HEAP32[($8 + 48 | 0) >> 2] | 0) + 2 | 0) << 2 | 0) | 0) >> 2] = $1254; + (wasm2js_i32$0 = $8, wasm2js_f32$0 = Math_fround(btHingeConstraint__getLowerLimit_28_29_20const($9 | 0))), HEAPF32[(wasm2js_i32$0 + 32 | 0) >> 2] = wasm2js_f32$0; + (wasm2js_i32$0 = $8, wasm2js_f32$0 = Math_fround(btHingeConstraint__getUpperLimit_28_29_20const($9 | 0))), HEAPF32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_f32$0; + label$39 : { + if (!(HEAP32[($8 + 40 | 0) >> 2] | 0)) { + break label$39 + } + if (!(Math_fround(HEAPF32[($8 + 32 | 0) >> 2]) == Math_fround(HEAPF32[($8 + 28 | 0) >> 2]) & 1 | 0)) { + break label$39 + } + HEAP8[($8 + 39 | 0) >> 0] = 0; + } + HEAPF32[((HEAP32[((HEAP32[($8 + 968 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0) + ((HEAP32[($8 + 48 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = Math_fround(0 | 0); + label$40 : { + label$41 : { + if (!((HEAP32[($9 + 748 | 0) >> 2] | 0) & 2 | 0)) { + break label$41 + } + $1284 = Math_fround(HEAPF32[($9 + 764 | 0) >> 2]); + break label$40; + } + $1284 = Math_fround(HEAPF32[($8 + 84 | 0) >> 2]); + } + HEAPF32[($8 + 24 | 0) >> 2] = $1284; + label$42 : { + if (!((HEAPU8[($8 + 39 | 0) >> 0] | 0) & 1 | 0)) { + break label$42 + } + label$43 : { + if (!((HEAP32[($9 + 748 | 0) >> 2] | 0) & 4 | 0)) { + break label$43 + } + HEAPF32[((HEAP32[((HEAP32[($8 + 968 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0) + ((HEAP32[($8 + 48 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = Math_fround(HEAPF32[($9 + 752 | 0) >> 2]); + } + (wasm2js_i32$0 = $8, wasm2js_f32$0 = Math_fround(btTypedConstraint__getMotorFactor_28float_2c_20float_2c_20float_2c_20float_2c_20float_29($9 | 0, Math_fround(Math_fround(HEAPF32[($9 + 728 | 0) >> 2])), Math_fround(Math_fround(HEAPF32[($8 + 32 | 0) >> 2])), Math_fround(Math_fround(HEAPF32[($8 + 28 | 0) >> 2])), Math_fround(Math_fround(HEAPF32[($9 + 680 | 0) >> 2])), Math_fround(Math_fround(Math_fround(HEAPF32[(HEAP32[($8 + 968 | 0) >> 2] | 0) >> 2]) * Math_fround(HEAPF32[($8 + 24 | 0) >> 2])))))), HEAPF32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_f32$0; + $1318 = (HEAP32[((HEAP32[($8 + 968 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0) + ((HEAP32[($8 + 48 | 0) >> 2] | 0) << 2 | 0) | 0; + HEAPF32[$1318 >> 2] = Math_fround(Math_fround(Math_fround(Math_fround(HEAPF32[($8 + 20 | 0) >> 2]) * Math_fround(HEAPF32[($9 + 680 | 0) >> 2])) * Math_fround(HEAPF32[($9 + 732 | 0) >> 2])) + Math_fround(HEAPF32[$1318 >> 2])); + HEAPF32[((HEAP32[((HEAP32[($8 + 968 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) + ((HEAP32[($8 + 48 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = Math_fround(-Math_fround(HEAPF32[($9 + 684 | 0) >> 2])); + HEAPF32[((HEAP32[((HEAP32[($8 + 968 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0) + ((HEAP32[($8 + 48 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = Math_fround(HEAPF32[($9 + 684 | 0) >> 2]); + } + label$44 : { + if (!(HEAP32[($8 + 40 | 0) >> 2] | 0)) { + break label$44 + } + HEAPF32[($8 + 80 | 0) >> 2] = Math_fround(Math_fround(HEAPF32[(HEAP32[($8 + 968 | 0) >> 2] | 0) >> 2]) * Math_fround(HEAPF32[($8 + 24 | 0) >> 2])); + $1349 = (HEAP32[((HEAP32[($8 + 968 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0) + ((HEAP32[($8 + 48 | 0) >> 2] | 0) << 2 | 0) | 0; + HEAPF32[$1349 >> 2] = Math_fround(Math_fround(Math_fround(HEAPF32[($8 + 80 | 0) >> 2]) * Math_fround(HEAPF32[($8 + 44 | 0) >> 2])) + Math_fround(HEAPF32[$1349 >> 2])); + label$45 : { + if (!((HEAP32[($9 + 748 | 0) >> 2] | 0) & 1 | 0)) { + break label$45 + } + HEAPF32[((HEAP32[((HEAP32[($8 + 968 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0) + ((HEAP32[($8 + 48 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = Math_fround(HEAPF32[($9 + 760 | 0) >> 2]); + } + label$46 : { + label$47 : { + if (!(Math_fround(HEAPF32[($8 + 32 | 0) >> 2]) == Math_fround(HEAPF32[($8 + 28 | 0) >> 2]) & 1 | 0)) { + break label$47 + } + HEAPF32[((HEAP32[((HEAP32[($8 + 968 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) + ((HEAP32[($8 + 48 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = Math_fround(-3402823466385288598117041.0e14); + HEAPF32[((HEAP32[((HEAP32[($8 + 968 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0) + ((HEAP32[($8 + 48 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = Math_fround(3402823466385288598117041.0e14); + break label$46; + } + label$48 : { + label$49 : { + if (!((HEAP32[($8 + 40 | 0) >> 2] | 0 | 0) == (1 | 0) & 1 | 0)) { + break label$49 + } + HEAPF32[((HEAP32[((HEAP32[($8 + 968 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) + ((HEAP32[($8 + 48 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = Math_fround(0 | 0); + HEAPF32[((HEAP32[((HEAP32[($8 + 968 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0) + ((HEAP32[($8 + 48 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = Math_fround(3402823466385288598117041.0e14); + break label$48; + } + HEAPF32[((HEAP32[((HEAP32[($8 + 968 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) + ((HEAP32[($8 + 48 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = Math_fround(-3402823466385288598117041.0e14); + HEAPF32[((HEAP32[((HEAP32[($8 + 968 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0) + ((HEAP32[($8 + 48 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = Math_fround(0 | 0); + } + } + (wasm2js_i32$0 = $8, wasm2js_f32$0 = Math_fround(btAngularLimit__getRelaxationFactor_28_29_20const($9 + 688 | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_f32$0; + label$50 : { + if (!(Math_fround(HEAPF32[($8 + 16 | 0) >> 2]) > Math_fround(0 | 0) & 1 | 0)) { + break label$50 + } + (wasm2js_i32$0 = $8, wasm2js_f32$0 = Math_fround(btVector3__dot_28btVector3_20const__29_20const(HEAP32[($8 + 956 | 0) >> 2] | 0 | 0, $8 + 728 | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_f32$0; + $1437 = Math_fround(btVector3__dot_28btVector3_20const__29_20const(HEAP32[($8 + 952 | 0) >> 2] | 0 | 0, $8 + 728 | 0 | 0)); + HEAPF32[($8 + 12 | 0) >> 2] = Math_fround(Math_fround(HEAPF32[($8 + 12 | 0) >> 2]) - $1437); + label$51 : { + label$52 : { + if (!((HEAP32[($8 + 40 | 0) >> 2] | 0 | 0) == (1 | 0) & 1 | 0)) { + break label$52 + } + label$53 : { + if (!(Math_fround(HEAPF32[($8 + 12 | 0) >> 2]) < Math_fround(0 | 0) & 1 | 0)) { + break label$53 + } + HEAPF32[($8 + 8 | 0) >> 2] = Math_fround(Math_fround(-Math_fround(HEAPF32[($8 + 16 | 0) >> 2])) * Math_fround(HEAPF32[($8 + 12 | 0) >> 2])); + label$54 : { + if (!(Math_fround(HEAPF32[($8 + 8 | 0) >> 2]) > Math_fround(HEAPF32[((HEAP32[((HEAP32[($8 + 968 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0) + ((HEAP32[($8 + 48 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2]) & 1 | 0)) { + break label$54 + } + HEAPF32[((HEAP32[((HEAP32[($8 + 968 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0) + ((HEAP32[($8 + 48 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = Math_fround(HEAPF32[($8 + 8 | 0) >> 2]); + } + } + break label$51; + } + label$55 : { + if (!(Math_fround(HEAPF32[($8 + 12 | 0) >> 2]) > Math_fround(0 | 0) & 1 | 0)) { + break label$55 + } + HEAPF32[($8 + 4 | 0) >> 2] = Math_fround(Math_fround(-Math_fround(HEAPF32[($8 + 16 | 0) >> 2])) * Math_fround(HEAPF32[($8 + 12 | 0) >> 2])); + label$56 : { + if (!(Math_fround(HEAPF32[($8 + 4 | 0) >> 2]) < Math_fround(HEAPF32[((HEAP32[((HEAP32[($8 + 968 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0) + ((HEAP32[($8 + 48 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2]) & 1 | 0)) { + break label$56 + } + HEAPF32[((HEAP32[((HEAP32[($8 + 968 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0) + ((HEAP32[($8 + 48 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = Math_fround(HEAPF32[($8 + 4 | 0) >> 2]); + } + } + } + } + $1505 = Math_fround(btAngularLimit__getBiasFactor_28_29_20const($9 + 688 | 0 | 0)); + $1511 = (HEAP32[((HEAP32[($8 + 968 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0) + ((HEAP32[($8 + 48 | 0) >> 2] | 0) << 2 | 0) | 0; + HEAPF32[$1511 >> 2] = Math_fround(Math_fround(HEAPF32[$1511 >> 2]) * $1505); + } + } + __stack_pointer = $8 + 976 | 0; + return; + } + + function btHingeConstraint__getInfo2Internal_28btTypedConstraint__btConstraintInfo2__2c_20btTransform_20const__2c_20btTransform_20const__2c_20btVector3_20const__2c_20btVector3_20const__29($0, $1, $2, $3, $4, $5) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + $4 = $4 | 0; + $5 = $5 | 0; + var $8 = 0, $9 = 0, i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, i64toi32_i32$1 = 0, $34 = 0, $35 = 0, $45 = 0, $46 = 0, $172 = Math_fround(0), $599 = Math_fround(0), $633 = 0, $664 = 0, $826 = 0, $909 = 0, $913 = 0, $932 = 0, $936 = 0, $191 = Math_fround(0), $200 = Math_fround(0), $204 = 0, $259 = Math_fround(0), $272 = Math_fround(0), $285 = Math_fround(0), $298 = Math_fround(0), $311 = Math_fround(0), $324 = Math_fround(0), $338 = Math_fround(0), $352 = Math_fround(0), $366 = Math_fround(0), $380 = Math_fround(0), $394 = Math_fround(0), $408 = Math_fround(0), $442 = Math_fround(0), $457 = Math_fround(0), $501 = Math_fround(0), $514 = Math_fround(0), $527 = Math_fround(0), $541 = Math_fround(0), $555 = Math_fround(0), $569 = Math_fround(0), $752 = Math_fround(0), $820 = Math_fround(0), wasm2js_i32$0 = 0, wasm2js_f32$0 = Math_fround(0), wasm2js_i32$1 = 0; + $8 = __stack_pointer - 416 | 0; + __stack_pointer = $8; + HEAP32[($8 + 412 | 0) >> 2] = $0; + HEAP32[($8 + 408 | 0) >> 2] = $1; + HEAP32[($8 + 404 | 0) >> 2] = $2; + HEAP32[($8 + 400 | 0) >> 2] = $3; + HEAP32[($8 + 396 | 0) >> 2] = $4; + HEAP32[($8 + 392 | 0) >> 2] = $5; + $9 = HEAP32[($8 + 412 | 0) >> 2] | 0; + label$1 : { + if (!((HEAPU8[($9 + 738 | 0) >> 0] | 0) & 1 | 0)) { + break label$1 + } + __assert_fail(81148 | 0, 71702 | 0, 419 | 0, 77516 | 0); + wasm2js_trap(); + } + HEAP32[($8 + 384 | 0) >> 2] = HEAP32[((HEAP32[($8 + 408 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0; + btTransform__operator__28btTransform_20const__29_20const($8 + 320 | 0 | 0, HEAP32[($8 + 404 | 0) >> 2] | 0 | 0, $9 + 552 | 0 | 0); + btTransform__operator__28btTransform_20const__29_20const($8 + 256 | 0 | 0, HEAP32[($8 + 400 | 0) >> 2] | 0 | 0, $9 + 616 | 0 | 0); + $34 = btTransform__getOrigin_28_29($8 + 320 | 0 | 0) | 0; + $35 = 8; + i64toi32_i32$2 = $34 + $35 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $909 = i64toi32_i32$0; + i64toi32_i32$0 = ($8 + 240 | 0) + $35 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $909; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$2 = $34; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $913 = i64toi32_i32$1; + i64toi32_i32$1 = $8; + HEAP32[($8 + 240 | 0) >> 2] = $913; + HEAP32[($8 + 244 | 0) >> 2] = i64toi32_i32$0; + $45 = btTransform__getOrigin_28_29($8 + 256 | 0 | 0) | 0; + $46 = 8; + i64toi32_i32$2 = $45 + $46 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $932 = i64toi32_i32$0; + i64toi32_i32$0 = ($8 + 224 | 0) + $46 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $932; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$2 = $45; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $936 = i64toi32_i32$1; + i64toi32_i32$1 = $8; + HEAP32[($8 + 224 | 0) >> 2] = $936; + HEAP32[($8 + 228 | 0) >> 2] = i64toi32_i32$0; + label$2 : { + if ((HEAPU8[($9 + 736 | 0) >> 0] | 0) & 1 | 0) { + break label$2 + } + HEAPF32[(HEAP32[((HEAP32[($8 + 408 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) >> 2] = Math_fround(1.0); + HEAPF32[((HEAP32[((HEAP32[($8 + 408 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) + (((HEAP32[($8 + 384 | 0) >> 2] | 0) + 1 | 0) << 2 | 0) | 0) >> 2] = Math_fround(1.0); + HEAPF32[((HEAP32[((HEAP32[($8 + 408 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) + ((((HEAP32[($8 + 384 | 0) >> 2] | 0) << 1 | 0) + 2 | 0) << 2 | 0) | 0) >> 2] = Math_fround(1.0); + HEAPF32[(HEAP32[((HEAP32[($8 + 408 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) >> 2] = Math_fround(-1.0); + HEAPF32[((HEAP32[((HEAP32[($8 + 408 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + (((HEAP32[($8 + 384 | 0) >> 2] | 0) + 1 | 0) << 2 | 0) | 0) >> 2] = Math_fround(-1.0); + HEAPF32[((HEAP32[((HEAP32[($8 + 408 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + ((((HEAP32[($8 + 384 | 0) >> 2] | 0) << 1 | 0) + 2 | 0) << 2 | 0) | 0) >> 2] = Math_fround(-1.0); + } + operator__28btVector3_20const__2c_20btVector3_20const__29($8 + 208 | 0 | 0, $8 + 240 | 0 | 0, btTransform__getOrigin_28_29_20const(HEAP32[($8 + 404 | 0) >> 2] | 0 | 0) | 0 | 0); + HEAP32[($8 + 204 | 0) >> 2] = HEAP32[((HEAP32[($8 + 408 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + HEAP32[($8 + 200 | 0) >> 2] = (HEAP32[((HEAP32[($8 + 408 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + ((HEAP32[($8 + 384 | 0) >> 2] | 0) << 2 | 0) | 0; + HEAP32[($8 + 196 | 0) >> 2] = (HEAP32[((HEAP32[($8 + 408 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + (((HEAP32[($8 + 384 | 0) >> 2] | 0) << 1 | 0) << 2 | 0) | 0; + operator__28btVector3_20const__29($8 + 180 | 0 | 0, $8 + 208 | 0 | 0); + btVector3__getSkewSymmetricMatrix_28btVector3__2c_20btVector3__2c_20btVector3__29_20const($8 + 180 | 0 | 0, HEAP32[($8 + 204 | 0) >> 2] | 0 | 0, HEAP32[($8 + 200 | 0) >> 2] | 0 | 0, HEAP32[($8 + 196 | 0) >> 2] | 0 | 0); + operator__28btVector3_20const__2c_20btVector3_20const__29($8 + 164 | 0 | 0, $8 + 224 | 0 | 0, btTransform__getOrigin_28_29_20const(HEAP32[($8 + 400 | 0) >> 2] | 0 | 0) | 0 | 0); + HEAP32[($8 + 160 | 0) >> 2] = HEAP32[((HEAP32[($8 + 408 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0; + HEAP32[($8 + 156 | 0) >> 2] = (HEAP32[((HEAP32[($8 + 408 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0) + ((HEAP32[($8 + 384 | 0) >> 2] | 0) << 2 | 0) | 0; + HEAP32[($8 + 152 | 0) >> 2] = (HEAP32[((HEAP32[($8 + 408 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0) + (((HEAP32[($8 + 384 | 0) >> 2] | 0) << 1 | 0) << 2 | 0) | 0; + btVector3__getSkewSymmetricMatrix_28btVector3__2c_20btVector3__2c_20btVector3__29_20const($8 + 164 | 0 | 0, HEAP32[($8 + 160 | 0) >> 2] | 0 | 0, HEAP32[($8 + 156 | 0) >> 2] | 0 | 0, HEAP32[($8 + 152 | 0) >> 2] | 0 | 0); + label$3 : { + label$4 : { + if (!((HEAP32[($9 + 748 | 0) >> 2] | 0) & 8 | 0)) { + break label$4 + } + $172 = Math_fround(HEAPF32[($9 + 756 | 0) >> 2]); + break label$3; + } + $172 = Math_fround(HEAPF32[((HEAP32[($8 + 408 | 0) >> 2] | 0) + 4 | 0) >> 2]); + } + HEAPF32[($8 + 148 | 0) >> 2] = $172; + HEAPF32[($8 + 144 | 0) >> 2] = Math_fround(Math_fround(HEAPF32[(HEAP32[($8 + 408 | 0) >> 2] | 0) >> 2]) * Math_fround(HEAPF32[($8 + 148 | 0) >> 2])); + label$5 : { + if ((HEAPU8[($9 + 736 | 0) >> 0] | 0) & 1 | 0) { + break label$5 + } + HEAP32[($8 + 388 | 0) >> 2] = 0; + label$6 : { + label$7 : while (1) { + if (!((HEAP32[($8 + 388 | 0) >> 2] | 0 | 0) < (3 | 0) & 1 | 0)) { + break label$6 + } + $191 = Math_fround(HEAPF32[($8 + 144 | 0) >> 2]); + $200 = Math_fround(HEAPF32[((btVector3__operator_20float__28_29($8 + 224 | 0 | 0) | 0) + ((HEAP32[($8 + 388 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2]); + $204 = btVector3__operator_20float__28_29($8 + 240 | 0 | 0) | 0; + HEAPF32[((HEAP32[((HEAP32[($8 + 408 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0) + (Math_imul(HEAP32[($8 + 388 | 0) >> 2] | 0, HEAP32[($8 + 384 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = Math_fround($191 * Math_fround($200 - Math_fround(HEAPF32[($204 + ((HEAP32[($8 + 388 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2]))); + HEAP32[($8 + 388 | 0) >> 2] = (HEAP32[($8 + 388 | 0) >> 2] | 0) + 1 | 0; + continue label$7; + }; + } + } + btMatrix3x3__getColumn_28int_29_20const($8 + 128 | 0 | 0, btTransform__getBasis_28_29($8 + 320 | 0 | 0) | 0 | 0, 2 | 0); + btMatrix3x3__getColumn_28int_29_20const($8 + 112 | 0 | 0, btTransform__getBasis_28_29($8 + 320 | 0 | 0) | 0 | 0, 0 | 0); + btMatrix3x3__getColumn_28int_29_20const($8 + 96 | 0 | 0, btTransform__getBasis_28_29($8 + 320 | 0 | 0) | 0 | 0, 1 | 0); + HEAP32[($8 + 92 | 0) >> 2] = Math_imul(HEAP32[((HEAP32[($8 + 408 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0, 3); + HEAP32[($8 + 88 | 0) >> 2] = (HEAP32[((HEAP32[($8 + 408 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0) << 2 | 0; + $259 = Math_fround(HEAPF32[(btVector3__operator_20float__28_29($8 + 112 | 0 | 0) | 0) >> 2]); + HEAPF32[((HEAP32[((HEAP32[($8 + 408 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + (((HEAP32[($8 + 92 | 0) >> 2] | 0) + 0 | 0) << 2 | 0) | 0) >> 2] = $259; + $272 = Math_fround(HEAPF32[((btVector3__operator_20float__28_29($8 + 112 | 0 | 0) | 0) + 4 | 0) >> 2]); + HEAPF32[((HEAP32[((HEAP32[($8 + 408 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + (((HEAP32[($8 + 92 | 0) >> 2] | 0) + 1 | 0) << 2 | 0) | 0) >> 2] = $272; + $285 = Math_fround(HEAPF32[((btVector3__operator_20float__28_29($8 + 112 | 0 | 0) | 0) + 8 | 0) >> 2]); + HEAPF32[((HEAP32[((HEAP32[($8 + 408 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + (((HEAP32[($8 + 92 | 0) >> 2] | 0) + 2 | 0) << 2 | 0) | 0) >> 2] = $285; + $298 = Math_fround(HEAPF32[(btVector3__operator_20float__28_29($8 + 96 | 0 | 0) | 0) >> 2]); + HEAPF32[((HEAP32[((HEAP32[($8 + 408 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + (((HEAP32[($8 + 88 | 0) >> 2] | 0) + 0 | 0) << 2 | 0) | 0) >> 2] = $298; + $311 = Math_fround(HEAPF32[((btVector3__operator_20float__28_29($8 + 96 | 0 | 0) | 0) + 4 | 0) >> 2]); + HEAPF32[((HEAP32[((HEAP32[($8 + 408 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + (((HEAP32[($8 + 88 | 0) >> 2] | 0) + 1 | 0) << 2 | 0) | 0) >> 2] = $311; + $324 = Math_fround(HEAPF32[((btVector3__operator_20float__28_29($8 + 96 | 0 | 0) | 0) + 8 | 0) >> 2]); + HEAPF32[((HEAP32[((HEAP32[($8 + 408 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + (((HEAP32[($8 + 88 | 0) >> 2] | 0) + 2 | 0) << 2 | 0) | 0) >> 2] = $324; + $338 = Math_fround(-Math_fround(HEAPF32[(btVector3__operator_20float__28_29($8 + 112 | 0 | 0) | 0) >> 2])); + HEAPF32[((HEAP32[((HEAP32[($8 + 408 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0) + (((HEAP32[($8 + 92 | 0) >> 2] | 0) + 0 | 0) << 2 | 0) | 0) >> 2] = $338; + $352 = Math_fround(-Math_fround(HEAPF32[((btVector3__operator_20float__28_29($8 + 112 | 0 | 0) | 0) + 4 | 0) >> 2])); + HEAPF32[((HEAP32[((HEAP32[($8 + 408 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0) + (((HEAP32[($8 + 92 | 0) >> 2] | 0) + 1 | 0) << 2 | 0) | 0) >> 2] = $352; + $366 = Math_fround(-Math_fround(HEAPF32[((btVector3__operator_20float__28_29($8 + 112 | 0 | 0) | 0) + 8 | 0) >> 2])); + HEAPF32[((HEAP32[((HEAP32[($8 + 408 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0) + (((HEAP32[($8 + 92 | 0) >> 2] | 0) + 2 | 0) << 2 | 0) | 0) >> 2] = $366; + $380 = Math_fround(-Math_fround(HEAPF32[(btVector3__operator_20float__28_29($8 + 96 | 0 | 0) | 0) >> 2])); + HEAPF32[((HEAP32[((HEAP32[($8 + 408 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0) + (((HEAP32[($8 + 88 | 0) >> 2] | 0) + 0 | 0) << 2 | 0) | 0) >> 2] = $380; + $394 = Math_fround(-Math_fround(HEAPF32[((btVector3__operator_20float__28_29($8 + 96 | 0 | 0) | 0) + 4 | 0) >> 2])); + HEAPF32[((HEAP32[((HEAP32[($8 + 408 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0) + (((HEAP32[($8 + 88 | 0) >> 2] | 0) + 1 | 0) << 2 | 0) | 0) >> 2] = $394; + $408 = Math_fround(-Math_fround(HEAPF32[((btVector3__operator_20float__28_29($8 + 96 | 0 | 0) | 0) + 8 | 0) >> 2])); + HEAPF32[((HEAP32[((HEAP32[($8 + 408 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0) + (((HEAP32[($8 + 88 | 0) >> 2] | 0) + 2 | 0) << 2 | 0) | 0) >> 2] = $408; + btMatrix3x3__getColumn_28int_29_20const($8 + 72 | 0 | 0, btTransform__getBasis_28_29($8 + 256 | 0 | 0) | 0 | 0, 2 | 0); + btVector3__cross_28btVector3_20const__29_20const($8 + 56 | 0 | 0, $8 + 128 | 0 | 0, $8 + 72 | 0 | 0); + $442 = Math_fround(Math_fround(HEAPF32[($8 + 144 | 0) >> 2]) * Math_fround(btVector3__dot_28btVector3_20const__29_20const($8 + 56 | 0 | 0, $8 + 112 | 0 | 0))); + HEAPF32[((HEAP32[((HEAP32[($8 + 408 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0) + ((HEAP32[($8 + 92 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = $442; + $457 = Math_fround(Math_fround(HEAPF32[($8 + 144 | 0) >> 2]) * Math_fround(btVector3__dot_28btVector3_20const__29_20const($8 + 56 | 0 | 0, $8 + 96 | 0 | 0))); + HEAPF32[((HEAP32[((HEAP32[($8 + 408 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0) + ((HEAP32[($8 + 88 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = $457; + HEAP32[($8 + 52 | 0) >> 2] = 4; + HEAPF32[($8 + 44 | 0) >> 2] = Math_fround(0 | 0); + HEAP32[($8 + 40 | 0) >> 2] = 0; + label$8 : { + if (!(btHingeConstraint__getSolveLimit_28_29($9 | 0) | 0)) { + break label$8 + } + (wasm2js_i32$0 = $8, wasm2js_f32$0 = Math_fround(Math_fround(btAngularLimit__getCorrection_28_29_20const($9 + 688 | 0 | 0)) * Math_fround(HEAPF32[($9 + 732 | 0) >> 2]))), HEAPF32[(wasm2js_i32$0 + 44 | 0) >> 2] = wasm2js_f32$0; + HEAP32[($8 + 40 | 0) >> 2] = Math_fround(HEAPF32[($8 + 44 | 0) >> 2]) > Math_fround(0 | 0) & 1 | 0 ? 1 : 2; + } + (wasm2js_i32$0 = $8, wasm2js_i32$1 = (btHingeConstraint__getEnableAngularMotor_28_29($9 | 0) | 0) & 1 | 0), HEAP8[(wasm2js_i32$0 + 39 | 0) >> 0] = wasm2js_i32$1; + label$9 : { + label$10 : { + if (HEAP32[($8 + 40 | 0) >> 2] | 0) { + break label$10 + } + if (!((HEAPU8[($8 + 39 | 0) >> 0] | 0) & 1 | 0)) { + break label$9 + } + } + HEAP32[($8 + 52 | 0) >> 2] = (HEAP32[($8 + 52 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($8 + 48 | 0) >> 2] = Math_imul(HEAP32[($8 + 52 | 0) >> 2] | 0, HEAP32[((HEAP32[($8 + 408 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0); + $501 = Math_fround(HEAPF32[(btVector3__operator_20float__28_29($8 + 128 | 0 | 0) | 0) >> 2]); + HEAPF32[((HEAP32[((HEAP32[($8 + 408 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + (((HEAP32[($8 + 48 | 0) >> 2] | 0) + 0 | 0) << 2 | 0) | 0) >> 2] = $501; + $514 = Math_fround(HEAPF32[((btVector3__operator_20float__28_29($8 + 128 | 0 | 0) | 0) + 4 | 0) >> 2]); + HEAPF32[((HEAP32[((HEAP32[($8 + 408 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + (((HEAP32[($8 + 48 | 0) >> 2] | 0) + 1 | 0) << 2 | 0) | 0) >> 2] = $514; + $527 = Math_fround(HEAPF32[((btVector3__operator_20float__28_29($8 + 128 | 0 | 0) | 0) + 8 | 0) >> 2]); + HEAPF32[((HEAP32[((HEAP32[($8 + 408 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + (((HEAP32[($8 + 48 | 0) >> 2] | 0) + 2 | 0) << 2 | 0) | 0) >> 2] = $527; + $541 = Math_fround(-Math_fround(HEAPF32[(btVector3__operator_20float__28_29($8 + 128 | 0 | 0) | 0) >> 2])); + HEAPF32[((HEAP32[((HEAP32[($8 + 408 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0) + (((HEAP32[($8 + 48 | 0) >> 2] | 0) + 0 | 0) << 2 | 0) | 0) >> 2] = $541; + $555 = Math_fround(-Math_fround(HEAPF32[((btVector3__operator_20float__28_29($8 + 128 | 0 | 0) | 0) + 4 | 0) >> 2])); + HEAPF32[((HEAP32[((HEAP32[($8 + 408 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0) + (((HEAP32[($8 + 48 | 0) >> 2] | 0) + 1 | 0) << 2 | 0) | 0) >> 2] = $555; + $569 = Math_fround(-Math_fround(HEAPF32[((btVector3__operator_20float__28_29($8 + 128 | 0 | 0) | 0) + 8 | 0) >> 2])); + HEAPF32[((HEAP32[((HEAP32[($8 + 408 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0) + (((HEAP32[($8 + 48 | 0) >> 2] | 0) + 2 | 0) << 2 | 0) | 0) >> 2] = $569; + (wasm2js_i32$0 = $8, wasm2js_f32$0 = Math_fround(btHingeConstraint__getLowerLimit_28_29_20const($9 | 0))), HEAPF32[(wasm2js_i32$0 + 32 | 0) >> 2] = wasm2js_f32$0; + (wasm2js_i32$0 = $8, wasm2js_f32$0 = Math_fround(btHingeConstraint__getUpperLimit_28_29_20const($9 | 0))), HEAPF32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_f32$0; + label$11 : { + if (!(HEAP32[($8 + 40 | 0) >> 2] | 0)) { + break label$11 + } + if (!(Math_fround(HEAPF32[($8 + 32 | 0) >> 2]) == Math_fround(HEAPF32[($8 + 28 | 0) >> 2]) & 1 | 0)) { + break label$11 + } + HEAP8[($8 + 39 | 0) >> 0] = 0; + } + HEAPF32[((HEAP32[((HEAP32[($8 + 408 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0) + ((HEAP32[($8 + 48 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = Math_fround(0 | 0); + label$12 : { + label$13 : { + if (!((HEAP32[($9 + 748 | 0) >> 2] | 0) & 2 | 0)) { + break label$13 + } + $599 = Math_fround(HEAPF32[($9 + 764 | 0) >> 2]); + break label$12; + } + $599 = Math_fround(HEAPF32[($8 + 148 | 0) >> 2]); + } + HEAPF32[($8 + 24 | 0) >> 2] = $599; + label$14 : { + if (!((HEAPU8[($8 + 39 | 0) >> 0] | 0) & 1 | 0)) { + break label$14 + } + label$15 : { + if (!((HEAP32[($9 + 748 | 0) >> 2] | 0) & 4 | 0)) { + break label$15 + } + HEAPF32[((HEAP32[((HEAP32[($8 + 408 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0) + ((HEAP32[($8 + 48 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = Math_fround(HEAPF32[($9 + 752 | 0) >> 2]); + } + (wasm2js_i32$0 = $8, wasm2js_f32$0 = Math_fround(btTypedConstraint__getMotorFactor_28float_2c_20float_2c_20float_2c_20float_2c_20float_29($9 | 0, Math_fround(Math_fround(HEAPF32[($9 + 728 | 0) >> 2])), Math_fround(Math_fround(HEAPF32[($8 + 32 | 0) >> 2])), Math_fround(Math_fround(HEAPF32[($8 + 28 | 0) >> 2])), Math_fround(Math_fround(HEAPF32[($9 + 680 | 0) >> 2])), Math_fround(Math_fround(Math_fround(HEAPF32[(HEAP32[($8 + 408 | 0) >> 2] | 0) >> 2]) * Math_fround(HEAPF32[($8 + 24 | 0) >> 2])))))), HEAPF32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_f32$0; + $633 = (HEAP32[((HEAP32[($8 + 408 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0) + ((HEAP32[($8 + 48 | 0) >> 2] | 0) << 2 | 0) | 0; + HEAPF32[$633 >> 2] = Math_fround(Math_fround(Math_fround(Math_fround(HEAPF32[($8 + 20 | 0) >> 2]) * Math_fround(HEAPF32[($9 + 680 | 0) >> 2])) * Math_fround(HEAPF32[($9 + 732 | 0) >> 2])) + Math_fround(HEAPF32[$633 >> 2])); + HEAPF32[((HEAP32[((HEAP32[($8 + 408 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) + ((HEAP32[($8 + 48 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = Math_fround(-Math_fround(HEAPF32[($9 + 684 | 0) >> 2])); + HEAPF32[((HEAP32[((HEAP32[($8 + 408 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0) + ((HEAP32[($8 + 48 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = Math_fround(HEAPF32[($9 + 684 | 0) >> 2]); + } + label$16 : { + if (!(HEAP32[($8 + 40 | 0) >> 2] | 0)) { + break label$16 + } + HEAPF32[($8 + 144 | 0) >> 2] = Math_fround(Math_fround(HEAPF32[(HEAP32[($8 + 408 | 0) >> 2] | 0) >> 2]) * Math_fround(HEAPF32[($8 + 24 | 0) >> 2])); + $664 = (HEAP32[((HEAP32[($8 + 408 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0) + ((HEAP32[($8 + 48 | 0) >> 2] | 0) << 2 | 0) | 0; + HEAPF32[$664 >> 2] = Math_fround(Math_fround(Math_fround(HEAPF32[($8 + 144 | 0) >> 2]) * Math_fround(HEAPF32[($8 + 44 | 0) >> 2])) + Math_fround(HEAPF32[$664 >> 2])); + label$17 : { + if (!((HEAP32[($9 + 748 | 0) >> 2] | 0) & 1 | 0)) { + break label$17 + } + HEAPF32[((HEAP32[((HEAP32[($8 + 408 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0) + ((HEAP32[($8 + 48 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = Math_fround(HEAPF32[($9 + 760 | 0) >> 2]); + } + label$18 : { + label$19 : { + if (!(Math_fround(HEAPF32[($8 + 32 | 0) >> 2]) == Math_fround(HEAPF32[($8 + 28 | 0) >> 2]) & 1 | 0)) { + break label$19 + } + HEAPF32[((HEAP32[((HEAP32[($8 + 408 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) + ((HEAP32[($8 + 48 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = Math_fround(-3402823466385288598117041.0e14); + HEAPF32[((HEAP32[((HEAP32[($8 + 408 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0) + ((HEAP32[($8 + 48 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = Math_fround(3402823466385288598117041.0e14); + break label$18; + } + label$20 : { + label$21 : { + if (!((HEAP32[($8 + 40 | 0) >> 2] | 0 | 0) == (1 | 0) & 1 | 0)) { + break label$21 + } + HEAPF32[((HEAP32[((HEAP32[($8 + 408 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) + ((HEAP32[($8 + 48 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = Math_fround(0 | 0); + HEAPF32[((HEAP32[((HEAP32[($8 + 408 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0) + ((HEAP32[($8 + 48 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = Math_fround(3402823466385288598117041.0e14); + break label$20; + } + HEAPF32[((HEAP32[((HEAP32[($8 + 408 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) + ((HEAP32[($8 + 48 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = Math_fround(-3402823466385288598117041.0e14); + HEAPF32[((HEAP32[((HEAP32[($8 + 408 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0) + ((HEAP32[($8 + 48 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = Math_fround(0 | 0); + } + } + (wasm2js_i32$0 = $8, wasm2js_f32$0 = Math_fround(btAngularLimit__getRelaxationFactor_28_29_20const($9 + 688 | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_f32$0; + label$22 : { + if (!(Math_fround(HEAPF32[($8 + 16 | 0) >> 2]) > Math_fround(0 | 0) & 1 | 0)) { + break label$22 + } + (wasm2js_i32$0 = $8, wasm2js_f32$0 = Math_fround(btVector3__dot_28btVector3_20const__29_20const(HEAP32[($8 + 396 | 0) >> 2] | 0 | 0, $8 + 128 | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_f32$0; + $752 = Math_fround(btVector3__dot_28btVector3_20const__29_20const(HEAP32[($8 + 392 | 0) >> 2] | 0 | 0, $8 + 128 | 0 | 0)); + HEAPF32[($8 + 12 | 0) >> 2] = Math_fround(Math_fround(HEAPF32[($8 + 12 | 0) >> 2]) - $752); + label$23 : { + label$24 : { + if (!((HEAP32[($8 + 40 | 0) >> 2] | 0 | 0) == (1 | 0) & 1 | 0)) { + break label$24 + } + label$25 : { + if (!(Math_fround(HEAPF32[($8 + 12 | 0) >> 2]) < Math_fround(0 | 0) & 1 | 0)) { + break label$25 + } + HEAPF32[($8 + 8 | 0) >> 2] = Math_fround(Math_fround(-Math_fround(HEAPF32[($8 + 16 | 0) >> 2])) * Math_fround(HEAPF32[($8 + 12 | 0) >> 2])); + label$26 : { + if (!(Math_fround(HEAPF32[($8 + 8 | 0) >> 2]) > Math_fround(HEAPF32[((HEAP32[((HEAP32[($8 + 408 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0) + ((HEAP32[($8 + 48 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2]) & 1 | 0)) { + break label$26 + } + HEAPF32[((HEAP32[((HEAP32[($8 + 408 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0) + ((HEAP32[($8 + 48 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = Math_fround(HEAPF32[($8 + 8 | 0) >> 2]); + } + } + break label$23; + } + label$27 : { + if (!(Math_fround(HEAPF32[($8 + 12 | 0) >> 2]) > Math_fround(0 | 0) & 1 | 0)) { + break label$27 + } + HEAPF32[($8 + 4 | 0) >> 2] = Math_fround(Math_fround(-Math_fround(HEAPF32[($8 + 16 | 0) >> 2])) * Math_fround(HEAPF32[($8 + 12 | 0) >> 2])); + label$28 : { + if (!(Math_fround(HEAPF32[($8 + 4 | 0) >> 2]) < Math_fround(HEAPF32[((HEAP32[((HEAP32[($8 + 408 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0) + ((HEAP32[($8 + 48 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2]) & 1 | 0)) { + break label$28 + } + HEAPF32[((HEAP32[((HEAP32[($8 + 408 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0) + ((HEAP32[($8 + 48 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = Math_fround(HEAPF32[($8 + 4 | 0) >> 2]); + } + } + } + } + $820 = Math_fround(btAngularLimit__getBiasFactor_28_29_20const($9 + 688 | 0 | 0)); + $826 = (HEAP32[((HEAP32[($8 + 408 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0) + ((HEAP32[($8 + 48 | 0) >> 2] | 0) << 2 | 0) | 0; + HEAPF32[$826 >> 2] = Math_fround(Math_fround(HEAPF32[$826 >> 2]) * $820); + } + } + __stack_pointer = $8 + 416 | 0; + return; + } + + function btAngularLimit__getCorrection_28_29_20const($0) { + $0 = $0 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + return Math_fround(Math_fround(HEAPF32[((HEAP32[($3 + 12 | 0) >> 2] | 0) + 20 | 0) >> 2])); + } + + function btHingeConstraint__getLowerLimit_28_29_20const($0) { + $0 = $0 | 0; + var $3 = 0, $7 = Math_fround(0); + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $7 = Math_fround(btAngularLimit__getLow_28_29_20const((HEAP32[($3 + 12 | 0) >> 2] | 0) + 688 | 0 | 0)); + __stack_pointer = $3 + 16 | 0; + return Math_fround($7); + } + + function btHingeConstraint__getUpperLimit_28_29_20const($0) { + $0 = $0 | 0; + var $3 = 0, $7 = Math_fround(0); + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $7 = Math_fround(btAngularLimit__getHigh_28_29_20const((HEAP32[($3 + 12 | 0) >> 2] | 0) + 688 | 0 | 0)); + __stack_pointer = $3 + 16 | 0; + return Math_fround($7); + } + + function btAngularLimit__getRelaxationFactor_28_29_20const($0) { + $0 = $0 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + return Math_fround(Math_fround(HEAPF32[((HEAP32[($3 + 12 | 0) >> 2] | 0) + 16 | 0) >> 2])); + } + + function btAngularLimit__getBiasFactor_28_29_20const($0) { + $0 = $0 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + return Math_fround(Math_fround(HEAPF32[((HEAP32[($3 + 12 | 0) >> 2] | 0) + 12 | 0) >> 2])); + } + + function btVector3__getSkewSymmetricMatrix_28btVector3__2c_20btVector3__2c_20btVector3__29_20const($0, $1, $2, $3) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + var $6 = 0, $7 = 0, $8 = 0, $21 = 0, $22 = 0, $34 = 0, $38 = 0, wasm2js_i32$0 = 0, wasm2js_f32$0 = Math_fround(0); + $6 = __stack_pointer - 48 | 0; + __stack_pointer = $6; + HEAP32[($6 + 44 | 0) >> 2] = $0; + HEAP32[($6 + 40 | 0) >> 2] = $1; + HEAP32[($6 + 36 | 0) >> 2] = $2; + HEAP32[($6 + 32 | 0) >> 2] = $3; + $7 = HEAP32[($6 + 44 | 0) >> 2] | 0; + $8 = HEAP32[($6 + 40 | 0) >> 2] | 0; + HEAPF32[($6 + 28 | 0) >> 2] = Math_fround(0 | 0); + (wasm2js_i32$0 = $6, wasm2js_f32$0 = Math_fround(-Math_fround(HEAPF32[(btVector3__z_28_29_20const($7 | 0) | 0) >> 2]))), HEAPF32[(wasm2js_i32$0 + 24 | 0) >> 2] = wasm2js_f32$0; + btVector3__setValue_28float_20const__2c_20float_20const__2c_20float_20const__29($8 | 0, $6 + 28 | 0 | 0, $6 + 24 | 0 | 0, btVector3__y_28_29_20const($7 | 0) | 0 | 0); + $21 = HEAP32[($6 + 36 | 0) >> 2] | 0; + $22 = btVector3__z_28_29_20const($7 | 0) | 0; + HEAPF32[($6 + 20 | 0) >> 2] = Math_fround(0 | 0); + (wasm2js_i32$0 = $6, wasm2js_f32$0 = Math_fround(-Math_fround(HEAPF32[(btVector3__x_28_29_20const($7 | 0) | 0) >> 2]))), HEAPF32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_f32$0; + btVector3__setValue_28float_20const__2c_20float_20const__2c_20float_20const__29($21 | 0, $22 | 0, $6 + 20 | 0 | 0, $6 + 16 | 0 | 0); + $34 = HEAP32[($6 + 32 | 0) >> 2] | 0; + (wasm2js_i32$0 = $6, wasm2js_f32$0 = Math_fround(-Math_fround(HEAPF32[(btVector3__y_28_29_20const($7 | 0) | 0) >> 2]))), HEAPF32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_f32$0; + $38 = btVector3__x_28_29_20const($7 | 0) | 0; + HEAPF32[($6 + 8 | 0) >> 2] = Math_fround(0 | 0); + btVector3__setValue_28float_20const__2c_20float_20const__2c_20float_20const__29($34 | 0, $6 + 12 | 0 | 0, $38 | 0, $6 + 8 | 0 | 0); + __stack_pointer = $6 + 48 | 0; + return; + } + + function btHingeConstraint__setFrames_28btTransform_20const__2c_20btTransform_20const__29($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $5 = 0, $6 = 0; + $5 = __stack_pointer - 16 | 0; + __stack_pointer = $5; + HEAP32[($5 + 12 | 0) >> 2] = $0; + HEAP32[($5 + 8 | 0) >> 2] = $1; + HEAP32[($5 + 4 | 0) >> 2] = $2; + $6 = HEAP32[($5 + 12 | 0) >> 2] | 0; + btTransform__operator__28btTransform_20const__29($6 + 552 | 0 | 0, HEAP32[($5 + 8 | 0) >> 2] | 0 | 0) | 0; + btTransform__operator__28btTransform_20const__29($6 + 616 | 0 | 0, HEAP32[($5 + 4 | 0) >> 2] | 0 | 0) | 0; + FUNCTION_TABLE[HEAP32[((HEAP32[$6 >> 2] | 0) + 8 | 0) >> 2] | 0 | 0]($6); + __stack_pointer = $5 + 16 | 0; + return; + } + + function __cxx_global_var_init_2_1() { + var $2 = 0; + $2 = __stack_pointer - 16 | 0; + __stack_pointer = $2; + HEAPF32[($2 + 12 | 0) >> 2] = Math_fround(0 | 0); + HEAPF32[($2 + 8 | 0) >> 2] = Math_fround(0 | 0); + HEAPF32[($2 + 4 | 0) >> 2] = Math_fround(1.0); + btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29(115408 | 0, $2 + 12 | 0 | 0, $2 + 8 | 0 | 0, $2 + 4 | 0 | 0) | 0; + __stack_pointer = $2 + 16 | 0; + return; + } + + function btHingeConstraint__setMotorTarget_28float_2c_20float_29($0, $1, $2) { + $0 = $0 | 0; + $1 = Math_fround($1); + $2 = Math_fround($2); + var $5 = 0, $6 = 0, wasm2js_i32$0 = 0, wasm2js_f32$0 = Math_fround(0); + $5 = __stack_pointer - 32 | 0; + __stack_pointer = $5; + HEAP32[($5 + 28 | 0) >> 2] = $0; + HEAPF32[($5 + 24 | 0) >> 2] = $1; + HEAPF32[($5 + 20 | 0) >> 2] = $2; + $6 = HEAP32[($5 + 28 | 0) >> 2] | 0; + btAngularLimit__fit_28float__29_20const($6 + 688 | 0 | 0, $5 + 24 | 0 | 0); + (wasm2js_i32$0 = $5, wasm2js_f32$0 = Math_fround(btHingeConstraint__getHingeAngle_28btTransform_20const__2c_20btTransform_20const__29($6 | 0, btRigidBody__getCenterOfMassTransform_28_29_20const(HEAP32[($6 + 28 | 0) >> 2] | 0 | 0) | 0 | 0, btRigidBody__getCenterOfMassTransform_28_29_20const(HEAP32[($6 + 32 | 0) >> 2] | 0 | 0) | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_f32$0; + HEAPF32[($5 + 12 | 0) >> 2] = Math_fround(Math_fround(HEAPF32[($5 + 24 | 0) >> 2]) - Math_fround(HEAPF32[($5 + 16 | 0) >> 2])); + HEAPF32[($6 + 680 | 0) >> 2] = Math_fround(Math_fround(HEAPF32[($5 + 12 | 0) >> 2]) / Math_fround(HEAPF32[($5 + 20 | 0) >> 2])); + __stack_pointer = $5 + 32 | 0; + return; + } + + function btHingeConstraint__setParam_28int_2c_20float_2c_20int_29($0, $1, $2, $3) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = Math_fround($2); + $3 = $3 | 0; + var $6 = 0, $7 = 0, $24 = 0; + $6 = __stack_pointer - 16 | 0; + __stack_pointer = $6; + HEAP32[($6 + 12 | 0) >> 2] = $0; + HEAP32[($6 + 8 | 0) >> 2] = $1; + HEAPF32[($6 + 4 | 0) >> 2] = $2; + HEAP32[$6 >> 2] = $3; + $7 = HEAP32[($6 + 12 | 0) >> 2] | 0; + label$1 : { + label$2 : { + label$3 : { + if ((HEAP32[$6 >> 2] | 0 | 0) == (-1 | 0) & 1 | 0) { + break label$3 + } + if (!((HEAP32[$6 >> 2] | 0 | 0) == (5 | 0) & 1 | 0)) { + break label$2 + } + } + $24 = (HEAP32[($6 + 8 | 0) >> 2] | 0) + -1 | 0; + label$4 : { + label$5 : { + switch ($24 | 0) { + case 1: + HEAPF32[($7 + 764 | 0) >> 2] = Math_fround(HEAPF32[($6 + 4 | 0) >> 2]); + HEAP32[($7 + 748 | 0) >> 2] = HEAP32[($7 + 748 | 0) >> 2] | 0 | 2 | 0; + break label$4; + case 3: + HEAPF32[($7 + 760 | 0) >> 2] = Math_fround(HEAPF32[($6 + 4 | 0) >> 2]); + HEAP32[($7 + 748 | 0) >> 2] = HEAP32[($7 + 748 | 0) >> 2] | 0 | 1 | 0; + break label$4; + case 2: + HEAPF32[($7 + 752 | 0) >> 2] = Math_fround(HEAPF32[($6 + 4 | 0) >> 2]); + HEAP32[($7 + 748 | 0) >> 2] = HEAP32[($7 + 748 | 0) >> 2] | 0 | 4 | 0; + break label$4; + case 0: + HEAPF32[($7 + 756 | 0) >> 2] = Math_fround(HEAPF32[($6 + 4 | 0) >> 2]); + HEAP32[($7 + 748 | 0) >> 2] = HEAP32[($7 + 748 | 0) >> 2] | 0 | 8 | 0; + break label$4; + default: + break label$5; + }; + } + __assert_fail(86177 | 0, 71702 | 0, 1076 | 0, 77248 | 0); + wasm2js_trap(); + } + break label$1; + } + __assert_fail(86177 | 0, 71702 | 0, 1081 | 0, 77248 | 0); + wasm2js_trap(); + } + __stack_pointer = $6 + 16 | 0; + return; + } + + function btHingeConstraint__getParam_28int_2c_20int_29_20const($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $5 = 0, $6 = 0, $25 = 0, $67 = Math_fround(0); + $5 = __stack_pointer - 16 | 0; + __stack_pointer = $5; + HEAP32[($5 + 12 | 0) >> 2] = $0; + HEAP32[($5 + 8 | 0) >> 2] = $1; + HEAP32[($5 + 4 | 0) >> 2] = $2; + $6 = HEAP32[($5 + 12 | 0) >> 2] | 0; + HEAPF32[$5 >> 2] = Math_fround(0 | 0); + label$1 : { + label$2 : { + label$3 : { + if ((HEAP32[($5 + 4 | 0) >> 2] | 0 | 0) == (-1 | 0) & 1 | 0) { + break label$3 + } + if (!((HEAP32[($5 + 4 | 0) >> 2] | 0 | 0) == (5 | 0) & 1 | 0)) { + break label$2 + } + } + $25 = (HEAP32[($5 + 8 | 0) >> 2] | 0) + -1 | 0; + label$4 : { + label$5 : { + switch ($25 | 0) { + case 1: + label$10 : { + if ((HEAP32[($6 + 748 | 0) >> 2] | 0) & 2 | 0) { + break label$10 + } + __assert_fail(84189 | 0, 71702 | 0, 1094 | 0, 77257 | 0); + wasm2js_trap(); + } + HEAPF32[$5 >> 2] = Math_fround(HEAPF32[($6 + 764 | 0) >> 2]); + break label$4; + case 3: + label$11 : { + if ((HEAP32[($6 + 748 | 0) >> 2] | 0) & 1 | 0) { + break label$11 + } + __assert_fail(84223 | 0, 71702 | 0, 1098 | 0, 77257 | 0); + wasm2js_trap(); + } + HEAPF32[$5 >> 2] = Math_fround(HEAPF32[($6 + 760 | 0) >> 2]); + break label$4; + case 2: + label$12 : { + if ((HEAP32[($6 + 748 | 0) >> 2] | 0) & 4 | 0) { + break label$12 + } + __assert_fail(84320 | 0, 71702 | 0, 1102 | 0, 77257 | 0); + wasm2js_trap(); + } + HEAPF32[$5 >> 2] = Math_fround(HEAPF32[($6 + 752 | 0) >> 2]); + break label$4; + case 0: + label$13 : { + if ((HEAP32[($6 + 748 | 0) >> 2] | 0) & 8 | 0) { + break label$13 + } + __assert_fail(84286 | 0, 71702 | 0, 1106 | 0, 77257 | 0); + wasm2js_trap(); + } + HEAPF32[$5 >> 2] = Math_fround(HEAPF32[($6 + 756 | 0) >> 2]); + break label$4; + default: + break label$5; + }; + } + __assert_fail(86177 | 0, 71702 | 0, 1110 | 0, 77257 | 0); + wasm2js_trap(); + } + break label$1; + } + __assert_fail(86177 | 0, 71702 | 0, 1115 | 0, 77257 | 0); + wasm2js_trap(); + } + $67 = Math_fround(HEAPF32[$5 >> 2]); + __stack_pointer = $5 + 16 | 0; + return Math_fround($67); + } + + function btHingeConstraint___btHingeConstraint_28_29($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + btTypedConstraint___btTypedConstraint_28_29($4 | 0) | 0; + __stack_pointer = $3 + 16 | 0; + return $4 | 0; + } + + function btHingeConstraint___btHingeConstraint_28_29_1($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + btHingeConstraint___btHingeConstraint_28_29($4 | 0) | 0; + btHingeConstraint__operator_20delete_28void__29($4 | 0); + __stack_pointer = $3 + 16 | 0; + return; + } + + function btHingeConstraint__operator_20delete_28void__29($0) { + $0 = $0 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + btAlignedFreeInternal_28void__29(HEAP32[($3 + 12 | 0) >> 2] | 0 | 0); + __stack_pointer = $3 + 16 | 0; + return; + } + + function btHingeConstraint__calculateSerializeBufferSize_28_29_20const($0) { + $0 = $0 | 0; + HEAP32[((__stack_pointer - 16 | 0) + 12 | 0) >> 2] = $0; + return 220 | 0; + } + + function btHingeConstraint__serialize_28void__2c_20btSerializer__29_20const($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $5 = 0, $6 = 0, $38 = Math_fround(0), $42 = Math_fround(0), $46 = Math_fround(0), $50 = Math_fround(0), $54 = Math_fround(0); + $5 = __stack_pointer - 16 | 0; + __stack_pointer = $5; + HEAP32[($5 + 12 | 0) >> 2] = $0; + HEAP32[($5 + 8 | 0) >> 2] = $1; + HEAP32[($5 + 4 | 0) >> 2] = $2; + $6 = HEAP32[($5 + 12 | 0) >> 2] | 0; + HEAP32[$5 >> 2] = HEAP32[($5 + 8 | 0) >> 2] | 0; + btTypedConstraint__serialize_28void__2c_20btSerializer__29_20const($6 | 0, HEAP32[$5 >> 2] | 0 | 0, HEAP32[($5 + 4 | 0) >> 2] | 0 | 0) | 0; + btTransform__serialize_28btTransformFloatData__29_20const($6 + 552 | 0 | 0, (HEAP32[$5 >> 2] | 0) + 52 | 0 | 0); + btTransform__serialize_28btTransformFloatData__29_20const($6 + 616 | 0 | 0, (HEAP32[$5 >> 2] | 0) + 116 | 0 | 0); + HEAP32[((HEAP32[$5 >> 2] | 0) + 184 | 0) >> 2] = (HEAPU8[($6 + 736 | 0) >> 0] | 0) & 1 | 0; + HEAP32[((HEAP32[$5 >> 2] | 0) + 188 | 0) >> 2] = (HEAPU8[($6 + 737 | 0) >> 0] | 0) & 1 | 0; + HEAPF32[((HEAP32[$5 >> 2] | 0) + 196 | 0) >> 2] = Math_fround(HEAPF32[($6 + 684 | 0) >> 2]); + HEAPF32[((HEAP32[$5 >> 2] | 0) + 192 | 0) >> 2] = Math_fround(HEAPF32[($6 + 680 | 0) >> 2]); + HEAP32[((HEAP32[$5 >> 2] | 0) + 180 | 0) >> 2] = (HEAPU8[($6 + 740 | 0) >> 0] | 0) & 1 | 0; + $38 = Math_fround(btAngularLimit__getLow_28_29_20const($6 + 688 | 0 | 0)); + HEAPF32[((HEAP32[$5 >> 2] | 0) + 200 | 0) >> 2] = $38; + $42 = Math_fround(btAngularLimit__getHigh_28_29_20const($6 + 688 | 0 | 0)); + HEAPF32[((HEAP32[$5 >> 2] | 0) + 204 | 0) >> 2] = $42; + $46 = Math_fround(btAngularLimit__getSoftness_28_29_20const($6 + 688 | 0 | 0)); + HEAPF32[((HEAP32[$5 >> 2] | 0) + 208 | 0) >> 2] = $46; + $50 = Math_fround(btAngularLimit__getBiasFactor_28_29_20const($6 + 688 | 0 | 0)); + HEAPF32[((HEAP32[$5 >> 2] | 0) + 212 | 0) >> 2] = $50; + $54 = Math_fround(btAngularLimit__getRelaxationFactor_28_29_20const($6 + 688 | 0 | 0)); + HEAPF32[((HEAP32[$5 >> 2] | 0) + 216 | 0) >> 2] = $54; + __stack_pointer = $5 + 16 | 0; + return 83264 | 0; + } + + function btAngularLimit__getSoftness_28_29_20const($0) { + $0 = $0 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + return Math_fround(Math_fround(HEAPF32[((HEAP32[($3 + 12 | 0) >> 2] | 0) + 8 | 0) >> 2])); + } + + function btHingeConstraint__getFlags_28_29_20const($0) { + $0 = $0 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + return HEAP32[((HEAP32[($3 + 12 | 0) >> 2] | 0) + 748 | 0) >> 2] | 0 | 0; + } + + function _GLOBAL__sub_I_btHingeConstraint_cpp() { + __cxx_global_var_init_70(); + __cxx_global_var_init_2_1(); + return; + } + + function __cxx_global_var_init_71() { + btInfMaskConverter__btInfMaskConverter_28int_29(115424 | 0, 2139095040 | 0) | 0; + return; + } + + function btPoint2PointConstraint__btPoint2PointConstraint_28btRigidBody__2c_20btRigidBody__2c_20btVector3_20const__2c_20btVector3_20const__29($0, $1, $2, $3, $4) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + $4 = $4 | 0; + var $7 = 0, i64toi32_i32$2 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $8 = 0, $16 = 0, $19 = 0, $20 = 0, $22 = 0, $29 = 0, $32 = 0, $37 = 0, $40 = 0, $18 = 0, $116 = 0, $126 = 0, $135 = 0, $145 = 0, $48 = 0; + $7 = __stack_pointer - 32 | 0; + __stack_pointer = $7; + HEAP32[($7 + 24 | 0) >> 2] = $0; + HEAP32[($7 + 20 | 0) >> 2] = $1; + HEAP32[($7 + 16 | 0) >> 2] = $2; + HEAP32[($7 + 12 | 0) >> 2] = $3; + HEAP32[($7 + 8 | 0) >> 2] = $4; + $8 = HEAP32[($7 + 24 | 0) >> 2] | 0; + HEAP32[($7 + 28 | 0) >> 2] = $8; + btTypedConstraint__btTypedConstraint_28btTypedConstraintType_2c_20btRigidBody__2c_20btRigidBody__29($8 | 0, 3 | 0, HEAP32[($7 + 20 | 0) >> 2] | 0 | 0, HEAP32[($7 + 16 | 0) >> 2] | 0 | 0) | 0; + HEAP32[$8 >> 2] = 102276 + 8 | 0; + $16 = $8 + 48 | 0; + $18 = $16 + 252 | 0; + $19 = $16; + label$1 : while (1) { + $20 = $19; + btJacobianEntry__btJacobianEntry_28_29($20 | 0) | 0; + $22 = $20 + 84 | 0; + $19 = $22; + if (!(($22 | 0) == ($18 | 0) & 1 | 0)) { + continue label$1 + } + break label$1; + }; + $29 = $8 + 300 | 0; + i64toi32_i32$2 = HEAP32[($7 + 12 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $116 = i64toi32_i32$0; + i64toi32_i32$0 = $29; + HEAP32[i64toi32_i32$0 >> 2] = $116; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $32 = 8; + i64toi32_i32$2 = i64toi32_i32$2 + $32 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $126 = i64toi32_i32$1; + i64toi32_i32$1 = $29 + $32 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $126; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + $37 = $8 + 316 | 0; + i64toi32_i32$2 = HEAP32[($7 + 8 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $135 = i64toi32_i32$0; + i64toi32_i32$0 = $37; + HEAP32[i64toi32_i32$0 >> 2] = $135; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $40 = 8; + i64toi32_i32$2 = i64toi32_i32$2 + $40 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $145 = i64toi32_i32$1; + i64toi32_i32$1 = $37 + $40 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $145; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($8 + 332 | 0) >> 2] = 0; + HEAP8[($8 + 344 | 0) >> 0] = 0; + btConstraintSetting__btConstraintSetting_28_29($8 + 348 | 0 | 0) | 0; + $48 = HEAP32[($7 + 28 | 0) >> 2] | 0; + __stack_pointer = $7 + 32 | 0; + return $48 | 0; + } + + function btConstraintSetting__btConstraintSetting_28_29($0) { + $0 = $0 | 0; + var $4 = 0, $3 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + HEAPF32[$4 >> 2] = Math_fround(.30000001192092896); + HEAPF32[($4 + 4 | 0) >> 2] = Math_fround(1.0); + HEAPF32[($4 + 8 | 0) >> 2] = Math_fround(0 | 0); + return $4 | 0; + } + + function btPoint2PointConstraint__buildJacobian_28_29($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0, $47 = 0, wasm2js_i32$0 = 0, wasm2js_f32$0 = Math_fround(0); + $3 = __stack_pointer - 208 | 0; + __stack_pointer = $3; + HEAP32[($3 + 204 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 204 | 0) >> 2] | 0; + HEAPF32[($4 + 36 | 0) >> 2] = Math_fround(0 | 0); + HEAPF32[($3 + 184 | 0) >> 2] = Math_fround(0 | 0); + HEAPF32[($3 + 180 | 0) >> 2] = Math_fround(0 | 0); + HEAPF32[($3 + 176 | 0) >> 2] = Math_fround(0 | 0); + btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($3 + 188 | 0 | 0, $3 + 184 | 0 | 0, $3 + 180 | 0 | 0, $3 + 176 | 0 | 0) | 0; + HEAP32[($3 + 172 | 0) >> 2] = 0; + label$1 : { + label$2 : while (1) { + if (!((HEAP32[($3 + 172 | 0) >> 2] | 0 | 0) < (3 | 0) & 1 | 0)) { + break label$1 + } + (wasm2js_i32$0 = (btVector3__operator_20float__28_29($3 + 188 | 0 | 0) | 0) + ((HEAP32[($3 + 172 | 0) >> 2] | 0) << 2 | 0) | 0, wasm2js_f32$0 = Math_fround(1.0)), HEAPF32[wasm2js_i32$0 >> 2] = wasm2js_f32$0; + $47 = ($4 + 48 | 0) + Math_imul(HEAP32[($3 + 172 | 0) >> 2] | 0, 84) | 0; + btMatrix3x3__transpose_28_29_20const($3 + 124 | 0 | 0, btTransform__getBasis_28_29_20const(btRigidBody__getCenterOfMassTransform_28_29_20const(HEAP32[($4 + 28 | 0) >> 2] | 0 | 0) | 0 | 0) | 0 | 0); + btMatrix3x3__transpose_28_29_20const($3 + 76 | 0 | 0, btTransform__getBasis_28_29_20const(btRigidBody__getCenterOfMassTransform_28_29_20const(HEAP32[($4 + 32 | 0) >> 2] | 0 | 0) | 0 | 0) | 0 | 0); + btTransform__operator__28btVector3_20const__29_20const($3 + 44 | 0 | 0, btRigidBody__getCenterOfMassTransform_28_29_20const(HEAP32[($4 + 28 | 0) >> 2] | 0 | 0) | 0 | 0, $4 + 300 | 0 | 0); + operator__28btVector3_20const__2c_20btVector3_20const__29($3 + 60 | 0 | 0, $3 + 44 | 0 | 0, btRigidBody__getCenterOfMassPosition_28_29_20const(HEAP32[($4 + 28 | 0) >> 2] | 0 | 0) | 0 | 0); + btTransform__operator__28btVector3_20const__29_20const($3 + 12 | 0 | 0, btRigidBody__getCenterOfMassTransform_28_29_20const(HEAP32[($4 + 32 | 0) >> 2] | 0 | 0) | 0 | 0, $4 + 316 | 0 | 0); + operator__28btVector3_20const__2c_20btVector3_20const__29($3 + 28 | 0 | 0, $3 + 12 | 0 | 0, btRigidBody__getCenterOfMassPosition_28_29_20const(HEAP32[($4 + 32 | 0) >> 2] | 0 | 0) | 0 | 0); + btJacobianEntry__btJacobianEntry_28btMatrix3x3_20const__2c_20btMatrix3x3_20const__2c_20btVector3_20const__2c_20btVector3_20const__2c_20btVector3_20const__2c_20btVector3_20const__2c_20float_2c_20btVector3_20const__2c_20float_29($47 | 0, $3 + 124 | 0 | 0, $3 + 76 | 0 | 0, $3 + 60 | 0 | 0, $3 + 28 | 0 | 0, $3 + 188 | 0 | 0, btRigidBody__getInvInertiaDiagLocal_28_29_20const(HEAP32[($4 + 28 | 0) >> 2] | 0 | 0) | 0 | 0, Math_fround(Math_fround(btRigidBody__getInvMass_28_29_20const(HEAP32[($4 + 28 | 0) >> 2] | 0 | 0))), btRigidBody__getInvInertiaDiagLocal_28_29_20const(HEAP32[($4 + 32 | 0) >> 2] | 0 | 0) | 0 | 0, Math_fround(Math_fround(btRigidBody__getInvMass_28_29_20const(HEAP32[($4 + 32 | 0) >> 2] | 0 | 0)))) | 0; + (wasm2js_i32$0 = (btVector3__operator_20float__28_29($3 + 188 | 0 | 0) | 0) + ((HEAP32[($3 + 172 | 0) >> 2] | 0) << 2 | 0) | 0, wasm2js_f32$0 = Math_fround(0 | 0)), HEAPF32[wasm2js_i32$0 >> 2] = wasm2js_f32$0; + HEAP32[($3 + 172 | 0) >> 2] = (HEAP32[($3 + 172 | 0) >> 2] | 0) + 1 | 0; + continue label$2; + }; + } + __stack_pointer = $3 + 208 | 0; + return; + } + + function btPoint2PointConstraint__getInfo1_28btTypedConstraint__btConstraintInfo1__29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0; + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + btPoint2PointConstraint__getInfo1NonVirtual_28btTypedConstraint__btConstraintInfo1__29(HEAP32[($4 + 12 | 0) >> 2] | 0 | 0, HEAP32[($4 + 8 | 0) >> 2] | 0 | 0); + __stack_pointer = $4 + 16 | 0; + return; + } + + function btPoint2PointConstraint__getInfo1NonVirtual_28btTypedConstraint__btConstraintInfo1__29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0; + $4 = __stack_pointer - 16 | 0; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + label$1 : { + label$2 : { + if (!((HEAPU8[((HEAP32[($4 + 12 | 0) >> 2] | 0) + 344 | 0) >> 0] | 0) & 1 | 0)) { + break label$2 + } + HEAP32[(HEAP32[($4 + 8 | 0) >> 2] | 0) >> 2] = 0; + HEAP32[((HEAP32[($4 + 8 | 0) >> 2] | 0) + 4 | 0) >> 2] = 0; + break label$1; + } + HEAP32[(HEAP32[($4 + 8 | 0) >> 2] | 0) >> 2] = 3; + HEAP32[((HEAP32[($4 + 8 | 0) >> 2] | 0) + 4 | 0) >> 2] = 3; + } + return; + } + + function btPoint2PointConstraint__getInfo2_28btTypedConstraint__btConstraintInfo2__29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, $5 = 0; + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; + btPoint2PointConstraint__getInfo2NonVirtual_28btTypedConstraint__btConstraintInfo2__2c_20btTransform_20const__2c_20btTransform_20const__29($5 | 0, HEAP32[($4 + 8 | 0) >> 2] | 0 | 0, btRigidBody__getCenterOfMassTransform_28_29_20const(HEAP32[($5 + 28 | 0) >> 2] | 0 | 0) | 0 | 0, btRigidBody__getCenterOfMassTransform_28_29_20const(HEAP32[($5 + 32 | 0) >> 2] | 0 | 0) | 0 | 0); + __stack_pointer = $4 + 16 | 0; + return; + } + + function btPoint2PointConstraint__getInfo2NonVirtual_28btTypedConstraint__btConstraintInfo2__2c_20btTransform_20const__2c_20btTransform_20const__29($0, $1, $2, $3) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + var $6 = 0, $7 = 0, $135 = Math_fround(0), $151 = Math_fround(0), $179 = Math_fround(0), $182 = 0; + $6 = __stack_pointer - 112 | 0; + __stack_pointer = $6; + HEAP32[($6 + 108 | 0) >> 2] = $0; + HEAP32[($6 + 104 | 0) >> 2] = $1; + HEAP32[($6 + 100 | 0) >> 2] = $2; + HEAP32[($6 + 96 | 0) >> 2] = $3; + $7 = HEAP32[($6 + 108 | 0) >> 2] | 0; + label$1 : { + if (!((HEAPU8[($7 + 344 | 0) >> 0] | 0) & 1 | 0)) { + break label$1 + } + __assert_fail(81148 | 0, 71573 | 0, 99 | 0, 77382 | 0); + wasm2js_trap(); + } + HEAPF32[(HEAP32[((HEAP32[($6 + 104 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) >> 2] = Math_fround(1.0); + HEAPF32[((HEAP32[((HEAP32[($6 + 104 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) + (((HEAP32[((HEAP32[($6 + 104 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0) + 1 | 0) << 2 | 0) | 0) >> 2] = Math_fround(1.0); + HEAPF32[((HEAP32[((HEAP32[($6 + 104 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) + ((((HEAP32[((HEAP32[($6 + 104 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0) << 1 | 0) + 2 | 0) << 2 | 0) | 0) >> 2] = Math_fround(1.0); + operator__28btMatrix3x3_20const__2c_20btVector3_20const__29($6 + 80 | 0 | 0, btTransform__getBasis_28_29_20const(HEAP32[($6 + 100 | 0) >> 2] | 0 | 0) | 0 | 0, btPoint2PointConstraint__getPivotInA_28_29_20const($7 | 0) | 0 | 0); + HEAP32[($6 + 76 | 0) >> 2] = HEAP32[((HEAP32[($6 + 104 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0; + HEAP32[($6 + 72 | 0) >> 2] = (HEAP32[((HEAP32[($6 + 104 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + ((HEAP32[((HEAP32[($6 + 104 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0) << 2 | 0) | 0; + HEAP32[($6 + 68 | 0) >> 2] = (HEAP32[((HEAP32[($6 + 104 | 0) >> 2] | 0) + 12 | 0) >> 2] | 0) + (((HEAP32[((HEAP32[($6 + 104 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0) << 1 | 0) << 2 | 0) | 0; + operator__28btVector3_20const__29($6 + 52 | 0 | 0, $6 + 80 | 0 | 0); + btVector3__getSkewSymmetricMatrix_28btVector3__2c_20btVector3__2c_20btVector3__29_20const($6 + 52 | 0 | 0, HEAP32[($6 + 76 | 0) >> 2] | 0 | 0, HEAP32[($6 + 72 | 0) >> 2] | 0 | 0, HEAP32[($6 + 68 | 0) >> 2] | 0 | 0); + HEAPF32[(HEAP32[((HEAP32[($6 + 104 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) >> 2] = Math_fround(-1.0); + HEAPF32[((HEAP32[((HEAP32[($6 + 104 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + (((HEAP32[((HEAP32[($6 + 104 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0) + 1 | 0) << 2 | 0) | 0) >> 2] = Math_fround(-1.0); + HEAPF32[((HEAP32[((HEAP32[($6 + 104 | 0) >> 2] | 0) + 16 | 0) >> 2] | 0) + ((((HEAP32[((HEAP32[($6 + 104 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0) << 1 | 0) + 2 | 0) << 2 | 0) | 0) >> 2] = Math_fround(-1.0); + operator__28btMatrix3x3_20const__2c_20btVector3_20const__29($6 + 36 | 0 | 0, btTransform__getBasis_28_29_20const(HEAP32[($6 + 96 | 0) >> 2] | 0 | 0) | 0 | 0, btPoint2PointConstraint__getPivotInB_28_29_20const($7 | 0) | 0 | 0); + HEAP32[($6 + 32 | 0) >> 2] = HEAP32[((HEAP32[($6 + 104 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0; + HEAP32[($6 + 28 | 0) >> 2] = (HEAP32[((HEAP32[($6 + 104 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0) + ((HEAP32[((HEAP32[($6 + 104 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0) << 2 | 0) | 0; + HEAP32[($6 + 24 | 0) >> 2] = (HEAP32[((HEAP32[($6 + 104 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0) + (((HEAP32[((HEAP32[($6 + 104 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0) << 1 | 0) << 2 | 0) | 0; + btVector3__getSkewSymmetricMatrix_28btVector3__2c_20btVector3__2c_20btVector3__29_20const($6 + 36 | 0 | 0, HEAP32[($6 + 32 | 0) >> 2] | 0 | 0, HEAP32[($6 + 28 | 0) >> 2] | 0 | 0, HEAP32[($6 + 24 | 0) >> 2] | 0 | 0); + label$2 : { + label$3 : { + if (!((HEAP32[($7 + 332 | 0) >> 2] | 0) & 1 | 0)) { + break label$3 + } + $135 = Math_fround(HEAPF32[($7 + 336 | 0) >> 2]); + break label$2; + } + $135 = Math_fround(HEAPF32[((HEAP32[($6 + 104 | 0) >> 2] | 0) + 4 | 0) >> 2]); + } + HEAPF32[($6 + 20 | 0) >> 2] = $135; + HEAPF32[($6 + 16 | 0) >> 2] = Math_fround(Math_fround(HEAPF32[(HEAP32[($6 + 104 | 0) >> 2] | 0) >> 2]) * Math_fround(HEAPF32[($6 + 20 | 0) >> 2])); + HEAP32[($6 + 12 | 0) >> 2] = 0; + label$4 : { + label$5 : while (1) { + if (!((HEAP32[($6 + 12 | 0) >> 2] | 0 | 0) < (3 | 0) & 1 | 0)) { + break label$4 + } + $151 = Math_fround(HEAPF32[($6 + 16 | 0) >> 2]); + $179 = Math_fround(Math_fround(Math_fround(HEAPF32[((btVector3__operator_20float__28_29($6 + 36 | 0 | 0) | 0) + ((HEAP32[($6 + 12 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2]) + Math_fround(HEAPF32[((btVector3__operator_20float_20const__28_29_20const(btTransform__getOrigin_28_29_20const(HEAP32[($6 + 96 | 0) >> 2] | 0 | 0) | 0 | 0) | 0) + ((HEAP32[($6 + 12 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2])) - Math_fround(HEAPF32[((btVector3__operator_20float__28_29($6 + 80 | 0 | 0) | 0) + ((HEAP32[($6 + 12 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2])); + $182 = btVector3__operator_20float_20const__28_29_20const(btTransform__getOrigin_28_29_20const(HEAP32[($6 + 100 | 0) >> 2] | 0 | 0) | 0 | 0) | 0; + HEAPF32[((HEAP32[((HEAP32[($6 + 104 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0) + (Math_imul(HEAP32[($6 + 12 | 0) >> 2] | 0, HEAP32[((HEAP32[($6 + 104 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = Math_fround($151 * Math_fround($179 - Math_fround(HEAPF32[($182 + ((HEAP32[($6 + 12 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2]))); + HEAP32[($6 + 12 | 0) >> 2] = (HEAP32[($6 + 12 | 0) >> 2] | 0) + 1 | 0; + continue label$5; + }; + } + label$6 : { + if (!((HEAP32[($7 + 332 | 0) >> 2] | 0) & 2 | 0)) { + break label$6 + } + HEAP32[($6 + 12 | 0) >> 2] = 0; + label$7 : { + label$8 : while (1) { + if (!((HEAP32[($6 + 12 | 0) >> 2] | 0 | 0) < (3 | 0) & 1 | 0)) { + break label$7 + } + HEAPF32[((HEAP32[((HEAP32[($6 + 104 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0) + (Math_imul(HEAP32[($6 + 12 | 0) >> 2] | 0, HEAP32[((HEAP32[($6 + 104 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = Math_fround(HEAPF32[($7 + 340 | 0) >> 2]); + HEAP32[($6 + 12 | 0) >> 2] = (HEAP32[($6 + 12 | 0) >> 2] | 0) + 1 | 0; + continue label$8; + }; + } + } + HEAPF32[($6 + 8 | 0) >> 2] = Math_fround(HEAPF32[($7 + 356 | 0) >> 2]); + HEAP32[($6 + 12 | 0) >> 2] = 0; + label$9 : { + label$10 : while (1) { + if (!((HEAP32[($6 + 12 | 0) >> 2] | 0 | 0) < (3 | 0) & 1 | 0)) { + break label$9 + } + label$11 : { + if (!(Math_fround(HEAPF32[($7 + 356 | 0) >> 2]) > Math_fround(0 | 0) & 1 | 0)) { + break label$11 + } + HEAPF32[((HEAP32[((HEAP32[($6 + 104 | 0) >> 2] | 0) + 36 | 0) >> 2] | 0) + (Math_imul(HEAP32[($6 + 12 | 0) >> 2] | 0, HEAP32[((HEAP32[($6 + 104 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = Math_fround(-Math_fround(HEAPF32[($6 + 8 | 0) >> 2])); + HEAPF32[((HEAP32[((HEAP32[($6 + 104 | 0) >> 2] | 0) + 40 | 0) >> 2] | 0) + (Math_imul(HEAP32[($6 + 12 | 0) >> 2] | 0, HEAP32[((HEAP32[($6 + 104 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = Math_fround(HEAPF32[($6 + 8 | 0) >> 2]); + } + HEAP32[($6 + 12 | 0) >> 2] = (HEAP32[($6 + 12 | 0) >> 2] | 0) + 1 | 0; + continue label$10; + }; + } + HEAPF32[((HEAP32[($6 + 104 | 0) >> 2] | 0) + 48 | 0) >> 2] = Math_fround(HEAPF32[($7 + 352 | 0) >> 2]); + __stack_pointer = $6 + 112 | 0; + return; + } + + function btPoint2PointConstraint__getPivotInA_28_29_20const($0) { + $0 = $0 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + return (HEAP32[($3 + 12 | 0) >> 2] | 0) + 300 | 0 | 0; + } + + function btPoint2PointConstraint__getPivotInB_28_29_20const($0) { + $0 = $0 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + return (HEAP32[($3 + 12 | 0) >> 2] | 0) + 316 | 0 | 0; + } + + function btPoint2PointConstraint__setParam_28int_2c_20float_2c_20int_29($0, $1, $2, $3) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = Math_fround($2); + $3 = $3 | 0; + var $6 = 0, $7 = 0, $21 = 0; + $6 = __stack_pointer - 16 | 0; + __stack_pointer = $6; + HEAP32[($6 + 12 | 0) >> 2] = $0; + HEAP32[($6 + 8 | 0) >> 2] = $1; + HEAPF32[($6 + 4 | 0) >> 2] = $2; + HEAP32[$6 >> 2] = $3; + $7 = HEAP32[($6 + 12 | 0) >> 2] | 0; + label$1 : { + if (!((HEAP32[$6 >> 2] | 0 | 0) != (-1 | 0) & 1 | 0)) { + break label$1 + } + __assert_fail(86177 | 0, 71573 | 0, 179 | 0, 77248 | 0); + wasm2js_trap(); + } + $21 = (HEAP32[($6 + 8 | 0) >> 2] | 0) + -1 | 0; + label$2 : { + label$3 : { + switch ($21 | 0) { + case 0: + case 1: + HEAPF32[($7 + 336 | 0) >> 2] = Math_fround(HEAPF32[($6 + 4 | 0) >> 2]); + HEAP32[($7 + 332 | 0) >> 2] = HEAP32[($7 + 332 | 0) >> 2] | 0 | 1 | 0; + break label$2; + case 2: + case 3: + HEAPF32[($7 + 340 | 0) >> 2] = Math_fround(HEAPF32[($6 + 4 | 0) >> 2]); + HEAP32[($7 + 332 | 0) >> 2] = HEAP32[($7 + 332 | 0) >> 2] | 0 | 2 | 0; + break label$2; + default: + break label$3; + }; + } + __assert_fail(86177 | 0, 71573 | 0, 196 | 0, 77248 | 0); + wasm2js_trap(); + } + __stack_pointer = $6 + 16 | 0; + return; + } + + function btPoint2PointConstraint__getParam_28int_2c_20int_29_20const($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $5 = 0, $6 = 0, $21 = 0, $43 = Math_fround(0); + $5 = __stack_pointer - 16 | 0; + __stack_pointer = $5; + HEAP32[($5 + 12 | 0) >> 2] = $0; + HEAP32[($5 + 8 | 0) >> 2] = $1; + HEAP32[($5 + 4 | 0) >> 2] = $2; + $6 = HEAP32[($5 + 12 | 0) >> 2] | 0; + HEAPF32[$5 >> 2] = Math_fround(3402823466385288598117041.0e14); + label$1 : { + if (!((HEAP32[($5 + 4 | 0) >> 2] | 0 | 0) != (-1 | 0) & 1 | 0)) { + break label$1 + } + __assert_fail(86177 | 0, 71573 | 0, 207 | 0, 77257 | 0); + wasm2js_trap(); + } + $21 = (HEAP32[($5 + 8 | 0) >> 2] | 0) + -1 | 0; + label$2 : { + label$3 : { + switch ($21 | 0) { + case 0: + case 1: + label$6 : { + if ((HEAP32[($6 + 332 | 0) >> 2] | 0) & 1 | 0) { + break label$6 + } + __assert_fail(84162 | 0, 71573 | 0, 215 | 0, 77257 | 0); + wasm2js_trap(); + } + HEAPF32[$5 >> 2] = Math_fround(HEAPF32[($6 + 336 | 0) >> 2]); + break label$2; + case 2: + case 3: + label$7 : { + if ((HEAP32[($6 + 332 | 0) >> 2] | 0) & 2 | 0) { + break label$7 + } + __assert_fail(84354 | 0, 71573 | 0, 220 | 0, 77257 | 0); + wasm2js_trap(); + } + HEAPF32[$5 >> 2] = Math_fround(HEAPF32[($6 + 340 | 0) >> 2]); + break label$2; + default: + break label$3; + }; + } + __assert_fail(86177 | 0, 71573 | 0, 224 | 0, 77257 | 0); + wasm2js_trap(); + } + $43 = Math_fround(HEAPF32[$5 >> 2]); + __stack_pointer = $5 + 16 | 0; + return Math_fround($43); + } + + function btPoint2PointConstraint___btPoint2PointConstraint_28_29($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + btTypedConstraint___btTypedConstraint_28_29($4 | 0) | 0; + __stack_pointer = $3 + 16 | 0; + return $4 | 0; + } + + function btPoint2PointConstraint___btPoint2PointConstraint_28_29_1($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + btPoint2PointConstraint___btPoint2PointConstraint_28_29($4 | 0) | 0; + btPoint2PointConstraint__operator_20delete_28void__29($4 | 0); + __stack_pointer = $3 + 16 | 0; + return; + } + + function btPoint2PointConstraint__operator_20delete_28void__29($0) { + $0 = $0 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + btAlignedFreeInternal_28void__29(HEAP32[($3 + 12 | 0) >> 2] | 0 | 0); + __stack_pointer = $3 + 16 | 0; + return; + } + + function btPoint2PointConstraint__calculateSerializeBufferSize_28_29_20const($0) { + $0 = $0 | 0; + HEAP32[((__stack_pointer - 16 | 0) + 12 | 0) >> 2] = $0; + return 84 | 0; + } + + function btPoint2PointConstraint__serialize_28void__2c_20btSerializer__29_20const($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $5 = 0, $6 = 0; + $5 = __stack_pointer - 16 | 0; + __stack_pointer = $5; + HEAP32[($5 + 12 | 0) >> 2] = $0; + HEAP32[($5 + 8 | 0) >> 2] = $1; + HEAP32[($5 + 4 | 0) >> 2] = $2; + $6 = HEAP32[($5 + 12 | 0) >> 2] | 0; + HEAP32[$5 >> 2] = HEAP32[($5 + 8 | 0) >> 2] | 0; + btTypedConstraint__serialize_28void__2c_20btSerializer__29_20const($6 | 0, HEAP32[$5 >> 2] | 0 | 0, HEAP32[($5 + 4 | 0) >> 2] | 0 | 0) | 0; + btVector3__serialize_28btVector3FloatData__29_20const($6 + 300 | 0 | 0, (HEAP32[$5 >> 2] | 0) + 52 | 0 | 0); + btVector3__serialize_28btVector3FloatData__29_20const($6 + 316 | 0 | 0, (HEAP32[$5 >> 2] | 0) + 68 | 0 | 0); + __stack_pointer = $5 + 16 | 0; + return 83231 | 0; + } + + function btPoint2PointConstraint__getFlags_28_29_20const($0) { + $0 = $0 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + return HEAP32[((HEAP32[($3 + 12 | 0) >> 2] | 0) + 332 | 0) >> 2] | 0 | 0; + } + + function _GLOBAL__sub_I_btPoint2PointConstraint_cpp() { + __cxx_global_var_init_71(); + return; + } + + function __cxx_global_var_init_72() { + btInfMaskConverter__btInfMaskConverter_28int_29(115428 | 0, 2139095040 | 0) | 0; + return; + } + + function btSequentialImpulseConstraintSolver__resolveSingleConstraintRowGeneric_28btSolverBody__2c_20btSolverBody__2c_20btSolverConstraint_20const__29($0, $1, $2, $3) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + var $6 = 0, $12 = Math_fround(0); + $6 = __stack_pointer - 16 | 0; + __stack_pointer = $6; + HEAP32[($6 + 12 | 0) >> 2] = $0; + HEAP32[($6 + 8 | 0) >> 2] = $1; + HEAP32[($6 + 4 | 0) >> 2] = $2; + HEAP32[$6 >> 2] = $3; + $12 = Math_fround(FUNCTION_TABLE[HEAP32[((HEAP32[($6 + 12 | 0) >> 2] | 0) + 212 | 0) >> 2] | 0 | 0](HEAP32[($6 + 8 | 0) >> 2] | 0, HEAP32[($6 + 4 | 0) >> 2] | 0, HEAP32[$6 >> 2] | 0)); + __stack_pointer = $6 + 16 | 0; + return Math_fround($12); + } + + function btSequentialImpulseConstraintSolver__resolveSingleConstraintRowLowerLimit_28btSolverBody__2c_20btSolverBody__2c_20btSolverConstraint_20const__29($0, $1, $2, $3) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + var $6 = 0, $12 = Math_fround(0); + $6 = __stack_pointer - 16 | 0; + __stack_pointer = $6; + HEAP32[($6 + 12 | 0) >> 2] = $0; + HEAP32[($6 + 8 | 0) >> 2] = $1; + HEAP32[($6 + 4 | 0) >> 2] = $2; + HEAP32[$6 >> 2] = $3; + $12 = Math_fround(FUNCTION_TABLE[HEAP32[((HEAP32[($6 + 12 | 0) >> 2] | 0) + 216 | 0) >> 2] | 0 | 0](HEAP32[($6 + 8 | 0) >> 2] | 0, HEAP32[($6 + 4 | 0) >> 2] | 0, HEAP32[$6 >> 2] | 0)); + __stack_pointer = $6 + 16 | 0; + return Math_fround($12); + } + + function btSequentialImpulseConstraintSolver__btSequentialImpulseConstraintSolver_28_29($0) { + $0 = $0 | 0; + var $4 = 0, $3 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + btConstraintSolver__btConstraintSolver_28_29($4 | 0) | 0; + HEAP32[$4 >> 2] = 102372 + 8 | 0; + btAlignedObjectArray_btSolverBody___btAlignedObjectArray_28_29($4 + 4 | 0 | 0) | 0; + btAlignedObjectArray_btSolverConstraint___btAlignedObjectArray_28_29($4 + 24 | 0 | 0) | 0; + btAlignedObjectArray_btSolverConstraint___btAlignedObjectArray_28_29($4 + 44 | 0 | 0) | 0; + btAlignedObjectArray_btSolverConstraint___btAlignedObjectArray_28_29($4 + 64 | 0 | 0) | 0; + btAlignedObjectArray_btSolverConstraint___btAlignedObjectArray_28_29($4 + 84 | 0 | 0) | 0; + btAlignedObjectArray_int___btAlignedObjectArray_28_29($4 + 104 | 0 | 0) | 0; + btAlignedObjectArray_int___btAlignedObjectArray_28_29($4 + 124 | 0 | 0) | 0; + btAlignedObjectArray_int___btAlignedObjectArray_28_29($4 + 144 | 0 | 0) | 0; + btAlignedObjectArray_btTypedConstraint__btConstraintInfo1___btAlignedObjectArray_28_29($4 + 164 | 0 | 0) | 0; + btAlignedObjectArray_int___btAlignedObjectArray_28_29($4 + 192 | 0 | 0) | 0; + HEAP32[($4 + 232 | 0) >> 2] = 0; + HEAP32[($4 + 224 | 0) >> 2] = 0; + btSequentialImpulseConstraintSolver__setupSolverFunctions_28bool_29($4 | 0, 0 & 1 | 0 | 0); + __stack_pointer = $3 + 16 | 0; + return $4 | 0; + } + + function btConstraintSolver__btConstraintSolver_28_29($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + HEAP32[$4 >> 2] = 102512 + 8 | 0; + return $4 | 0; + } + + function btAlignedObjectArray_btSolverBody___btAlignedObjectArray_28_29($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + btAlignedAllocator_btSolverBody_2c_2016u___btAlignedAllocator_28_29($4 | 0) | 0; + btAlignedObjectArray_btSolverBody___init_28_29($4 | 0); + __stack_pointer = $3 + 16 | 0; + return $4 | 0; + } + + function btAlignedObjectArray_btSolverConstraint___btAlignedObjectArray_28_29($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + btAlignedAllocator_btSolverConstraint_2c_2016u___btAlignedAllocator_28_29($4 | 0) | 0; + btAlignedObjectArray_btSolverConstraint___init_28_29($4 | 0); + __stack_pointer = $3 + 16 | 0; + return $4 | 0; + } + + function btAlignedObjectArray_btTypedConstraint__btConstraintInfo1___btAlignedObjectArray_28_29($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + btAlignedAllocator_btTypedConstraint__btConstraintInfo1_2c_2016u___btAlignedAllocator_28_29($4 | 0) | 0; + btAlignedObjectArray_btTypedConstraint__btConstraintInfo1___init_28_29($4 | 0); + __stack_pointer = $3 + 16 | 0; + return $4 | 0; + } + + function btSequentialImpulseConstraintSolver__setupSolverFunctions_28bool_29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, $6 = 0; + $4 = __stack_pointer - 16 | 0; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP8[($4 + 11 | 0) >> 0] = $1; + $6 = HEAP32[($4 + 12 | 0) >> 2] | 0; + HEAP32[($6 + 212 | 0) >> 2] = 1081; + HEAP32[($6 + 216 | 0) >> 2] = 1082; + HEAP32[($6 + 220 | 0) >> 2] = 1083; + label$1 : { + if (!((HEAPU8[($4 + 11 | 0) >> 0] | 0) & 1 | 0)) { + break label$1 + } + } + return; + } + + function btAlignedAllocator_btSolverBody_2c_2016u___btAlignedAllocator_28_29($0) { + $0 = $0 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + return HEAP32[($3 + 12 | 0) >> 2] | 0 | 0; + } + + function btAlignedObjectArray_btSolverBody___init_28_29($0) { + $0 = $0 | 0; + var $4 = 0, $3 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + HEAP8[($4 + 16 | 0) >> 0] = 1; + HEAP32[($4 + 12 | 0) >> 2] = 0; + HEAP32[($4 + 4 | 0) >> 2] = 0; + HEAP32[($4 + 8 | 0) >> 2] = 0; + return; + } + + function btAlignedAllocator_btSolverConstraint_2c_2016u___btAlignedAllocator_28_29($0) { + $0 = $0 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + return HEAP32[($3 + 12 | 0) >> 2] | 0 | 0; + } + + function btAlignedObjectArray_btSolverConstraint___init_28_29($0) { + $0 = $0 | 0; + var $4 = 0, $3 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + HEAP8[($4 + 16 | 0) >> 0] = 1; + HEAP32[($4 + 12 | 0) >> 2] = 0; + HEAP32[($4 + 4 | 0) >> 2] = 0; + HEAP32[($4 + 8 | 0) >> 2] = 0; + return; + } + + function btAlignedAllocator_btTypedConstraint__btConstraintInfo1_2c_2016u___btAlignedAllocator_28_29($0) { + $0 = $0 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + return HEAP32[($3 + 12 | 0) >> 2] | 0 | 0; + } + + function btAlignedObjectArray_btTypedConstraint__btConstraintInfo1___init_28_29($0) { + $0 = $0 | 0; + var $4 = 0, $3 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + HEAP8[($4 + 16 | 0) >> 0] = 1; + HEAP32[($4 + 12 | 0) >> 2] = 0; + HEAP32[($4 + 4 | 0) >> 2] = 0; + HEAP32[($4 + 8 | 0) >> 2] = 0; + return; + } + + function gResolveSingleConstraintRowGeneric_scalar_reference_28btSolverBody__2c_20btSolverBody__2c_20btSolverConstraint_20const__29($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $5 = 0, $87 = 0, $103 = 0, $119 = Math_fround(0), wasm2js_i32$0 = 0, wasm2js_f32$0 = Math_fround(0); + $5 = __stack_pointer - 64 | 0; + __stack_pointer = $5; + HEAP32[($5 + 60 | 0) >> 2] = $0; + HEAP32[($5 + 56 | 0) >> 2] = $1; + HEAP32[($5 + 52 | 0) >> 2] = $2; + HEAPF32[($5 + 48 | 0) >> 2] = Math_fround(Math_fround(Math_fround(-Math_fround(HEAPF32[((HEAP32[($5 + 52 | 0) >> 2] | 0) + 100 | 0) >> 2])) * Math_fround(HEAPF32[((HEAP32[($5 + 52 | 0) >> 2] | 0) + 116 | 0) >> 2])) + Math_fround(HEAPF32[((HEAP32[($5 + 52 | 0) >> 2] | 0) + 112 | 0) >> 2])); + (wasm2js_i32$0 = $5, wasm2js_f32$0 = Math_fround(Math_fround(btVector3__dot_28btVector3_20const__29_20const((HEAP32[($5 + 52 | 0) >> 2] | 0) + 16 | 0 | 0, btSolverBody__internalGetDeltaLinearVelocity_28_29(HEAP32[($5 + 60 | 0) >> 2] | 0 | 0) | 0 | 0)) + Math_fround(btVector3__dot_28btVector3_20const__29_20const(HEAP32[($5 + 52 | 0) >> 2] | 0 | 0, btSolverBody__internalGetDeltaAngularVelocity_28_29(HEAP32[($5 + 60 | 0) >> 2] | 0 | 0) | 0 | 0)))), HEAPF32[(wasm2js_i32$0 + 44 | 0) >> 2] = wasm2js_f32$0; + (wasm2js_i32$0 = $5, wasm2js_f32$0 = Math_fround(Math_fround(btVector3__dot_28btVector3_20const__29_20const((HEAP32[($5 + 52 | 0) >> 2] | 0) + 48 | 0 | 0, btSolverBody__internalGetDeltaLinearVelocity_28_29(HEAP32[($5 + 56 | 0) >> 2] | 0 | 0) | 0 | 0)) + Math_fround(btVector3__dot_28btVector3_20const__29_20const((HEAP32[($5 + 52 | 0) >> 2] | 0) + 32 | 0 | 0, btSolverBody__internalGetDeltaAngularVelocity_28_29(HEAP32[($5 + 56 | 0) >> 2] | 0 | 0) | 0 | 0)))), HEAPF32[(wasm2js_i32$0 + 40 | 0) >> 2] = wasm2js_f32$0; + HEAPF32[($5 + 48 | 0) >> 2] = Math_fround(Math_fround(Math_fround(-Math_fround(HEAPF32[($5 + 44 | 0) >> 2])) * Math_fround(HEAPF32[((HEAP32[($5 + 52 | 0) >> 2] | 0) + 108 | 0) >> 2])) + Math_fround(HEAPF32[($5 + 48 | 0) >> 2])); + HEAPF32[($5 + 48 | 0) >> 2] = Math_fround(Math_fround(Math_fround(-Math_fround(HEAPF32[($5 + 40 | 0) >> 2])) * Math_fround(HEAPF32[((HEAP32[($5 + 52 | 0) >> 2] | 0) + 108 | 0) >> 2])) + Math_fround(HEAPF32[($5 + 48 | 0) >> 2])); + HEAPF32[($5 + 36 | 0) >> 2] = Math_fround(Math_fround(HEAPF32[((HEAP32[($5 + 52 | 0) >> 2] | 0) + 100 | 0) >> 2]) + Math_fround(HEAPF32[($5 + 48 | 0) >> 2])); + label$1 : { + label$2 : { + if (!(Math_fround(HEAPF32[($5 + 36 | 0) >> 2]) < Math_fround(HEAPF32[((HEAP32[($5 + 52 | 0) >> 2] | 0) + 120 | 0) >> 2]) & 1 | 0)) { + break label$2 + } + HEAPF32[($5 + 48 | 0) >> 2] = Math_fround(Math_fround(HEAPF32[((HEAP32[($5 + 52 | 0) >> 2] | 0) + 120 | 0) >> 2]) - Math_fround(HEAPF32[((HEAP32[($5 + 52 | 0) >> 2] | 0) + 100 | 0) >> 2])); + HEAPF32[((HEAP32[($5 + 52 | 0) >> 2] | 0) + 100 | 0) >> 2] = Math_fround(HEAPF32[((HEAP32[($5 + 52 | 0) >> 2] | 0) + 120 | 0) >> 2]); + break label$1; + } + label$3 : { + label$4 : { + if (!(Math_fround(HEAPF32[($5 + 36 | 0) >> 2]) > Math_fround(HEAPF32[((HEAP32[($5 + 52 | 0) >> 2] | 0) + 124 | 0) >> 2]) & 1 | 0)) { + break label$4 + } + HEAPF32[($5 + 48 | 0) >> 2] = Math_fround(Math_fround(HEAPF32[((HEAP32[($5 + 52 | 0) >> 2] | 0) + 124 | 0) >> 2]) - Math_fround(HEAPF32[((HEAP32[($5 + 52 | 0) >> 2] | 0) + 100 | 0) >> 2])); + HEAPF32[((HEAP32[($5 + 52 | 0) >> 2] | 0) + 100 | 0) >> 2] = Math_fround(HEAPF32[((HEAP32[($5 + 52 | 0) >> 2] | 0) + 124 | 0) >> 2]); + break label$3; + } + HEAPF32[((HEAP32[($5 + 52 | 0) >> 2] | 0) + 100 | 0) >> 2] = Math_fround(HEAPF32[($5 + 36 | 0) >> 2]); + } + } + $87 = HEAP32[($5 + 60 | 0) >> 2] | 0; + operator__28btVector3_20const__2c_20btVector3_20const__29_1($5 + 20 | 0 | 0, (HEAP32[($5 + 52 | 0) >> 2] | 0) + 16 | 0 | 0, btSolverBody__internalGetInvMass_28_29_20const(HEAP32[($5 + 60 | 0) >> 2] | 0 | 0) | 0 | 0); + btSolverBody__internalApplyImpulse_28btVector3_20const__2c_20btVector3_20const__2c_20float_29($87 | 0, $5 + 20 | 0 | 0, (HEAP32[($5 + 52 | 0) >> 2] | 0) + 64 | 0 | 0, Math_fround(Math_fround(HEAPF32[($5 + 48 | 0) >> 2]))); + $103 = HEAP32[($5 + 56 | 0) >> 2] | 0; + operator__28btVector3_20const__2c_20btVector3_20const__29_1($5 + 4 | 0 | 0, (HEAP32[($5 + 52 | 0) >> 2] | 0) + 48 | 0 | 0, btSolverBody__internalGetInvMass_28_29_20const(HEAP32[($5 + 56 | 0) >> 2] | 0 | 0) | 0 | 0); + btSolverBody__internalApplyImpulse_28btVector3_20const__2c_20btVector3_20const__2c_20float_29($103 | 0, $5 + 4 | 0 | 0, (HEAP32[($5 + 52 | 0) >> 2] | 0) + 80 | 0 | 0, Math_fround(Math_fround(HEAPF32[($5 + 48 | 0) >> 2]))); + $119 = Math_fround(HEAPF32[($5 + 48 | 0) >> 2]); + __stack_pointer = $5 + 64 | 0; + return Math_fround($119); + } + + function gResolveSingleConstraintRowLowerLimit_scalar_reference_28btSolverBody__2c_20btSolverBody__2c_20btSolverConstraint_20const__29($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $5 = 0, $73 = 0, $89 = 0, $105 = Math_fround(0), wasm2js_i32$0 = 0, wasm2js_f32$0 = Math_fround(0); + $5 = __stack_pointer - 64 | 0; + __stack_pointer = $5; + HEAP32[($5 + 60 | 0) >> 2] = $0; + HEAP32[($5 + 56 | 0) >> 2] = $1; + HEAP32[($5 + 52 | 0) >> 2] = $2; + HEAPF32[($5 + 48 | 0) >> 2] = Math_fround(Math_fround(Math_fround(-Math_fround(HEAPF32[((HEAP32[($5 + 52 | 0) >> 2] | 0) + 100 | 0) >> 2])) * Math_fround(HEAPF32[((HEAP32[($5 + 52 | 0) >> 2] | 0) + 116 | 0) >> 2])) + Math_fround(HEAPF32[((HEAP32[($5 + 52 | 0) >> 2] | 0) + 112 | 0) >> 2])); + (wasm2js_i32$0 = $5, wasm2js_f32$0 = Math_fround(Math_fround(btVector3__dot_28btVector3_20const__29_20const((HEAP32[($5 + 52 | 0) >> 2] | 0) + 16 | 0 | 0, btSolverBody__internalGetDeltaLinearVelocity_28_29(HEAP32[($5 + 60 | 0) >> 2] | 0 | 0) | 0 | 0)) + Math_fround(btVector3__dot_28btVector3_20const__29_20const(HEAP32[($5 + 52 | 0) >> 2] | 0 | 0, btSolverBody__internalGetDeltaAngularVelocity_28_29(HEAP32[($5 + 60 | 0) >> 2] | 0 | 0) | 0 | 0)))), HEAPF32[(wasm2js_i32$0 + 44 | 0) >> 2] = wasm2js_f32$0; + (wasm2js_i32$0 = $5, wasm2js_f32$0 = Math_fround(Math_fround(btVector3__dot_28btVector3_20const__29_20const((HEAP32[($5 + 52 | 0) >> 2] | 0) + 48 | 0 | 0, btSolverBody__internalGetDeltaLinearVelocity_28_29(HEAP32[($5 + 56 | 0) >> 2] | 0 | 0) | 0 | 0)) + Math_fround(btVector3__dot_28btVector3_20const__29_20const((HEAP32[($5 + 52 | 0) >> 2] | 0) + 32 | 0 | 0, btSolverBody__internalGetDeltaAngularVelocity_28_29(HEAP32[($5 + 56 | 0) >> 2] | 0 | 0) | 0 | 0)))), HEAPF32[(wasm2js_i32$0 + 40 | 0) >> 2] = wasm2js_f32$0; + HEAPF32[($5 + 48 | 0) >> 2] = Math_fround(Math_fround(Math_fround(-Math_fround(HEAPF32[($5 + 44 | 0) >> 2])) * Math_fround(HEAPF32[((HEAP32[($5 + 52 | 0) >> 2] | 0) + 108 | 0) >> 2])) + Math_fround(HEAPF32[($5 + 48 | 0) >> 2])); + HEAPF32[($5 + 48 | 0) >> 2] = Math_fround(Math_fround(Math_fround(-Math_fround(HEAPF32[($5 + 40 | 0) >> 2])) * Math_fround(HEAPF32[((HEAP32[($5 + 52 | 0) >> 2] | 0) + 108 | 0) >> 2])) + Math_fround(HEAPF32[($5 + 48 | 0) >> 2])); + HEAPF32[($5 + 36 | 0) >> 2] = Math_fround(Math_fround(HEAPF32[((HEAP32[($5 + 52 | 0) >> 2] | 0) + 100 | 0) >> 2]) + Math_fround(HEAPF32[($5 + 48 | 0) >> 2])); + label$1 : { + label$2 : { + if (!(Math_fround(HEAPF32[($5 + 36 | 0) >> 2]) < Math_fround(HEAPF32[((HEAP32[($5 + 52 | 0) >> 2] | 0) + 120 | 0) >> 2]) & 1 | 0)) { + break label$2 + } + HEAPF32[($5 + 48 | 0) >> 2] = Math_fround(Math_fround(HEAPF32[((HEAP32[($5 + 52 | 0) >> 2] | 0) + 120 | 0) >> 2]) - Math_fround(HEAPF32[((HEAP32[($5 + 52 | 0) >> 2] | 0) + 100 | 0) >> 2])); + HEAPF32[((HEAP32[($5 + 52 | 0) >> 2] | 0) + 100 | 0) >> 2] = Math_fround(HEAPF32[((HEAP32[($5 + 52 | 0) >> 2] | 0) + 120 | 0) >> 2]); + break label$1; + } + HEAPF32[((HEAP32[($5 + 52 | 0) >> 2] | 0) + 100 | 0) >> 2] = Math_fround(HEAPF32[($5 + 36 | 0) >> 2]); + } + $73 = HEAP32[($5 + 60 | 0) >> 2] | 0; + operator__28btVector3_20const__2c_20btVector3_20const__29_1($5 + 20 | 0 | 0, (HEAP32[($5 + 52 | 0) >> 2] | 0) + 16 | 0 | 0, btSolverBody__internalGetInvMass_28_29_20const(HEAP32[($5 + 60 | 0) >> 2] | 0 | 0) | 0 | 0); + btSolverBody__internalApplyImpulse_28btVector3_20const__2c_20btVector3_20const__2c_20float_29($73 | 0, $5 + 20 | 0 | 0, (HEAP32[($5 + 52 | 0) >> 2] | 0) + 64 | 0 | 0, Math_fround(Math_fround(HEAPF32[($5 + 48 | 0) >> 2]))); + $89 = HEAP32[($5 + 56 | 0) >> 2] | 0; + operator__28btVector3_20const__2c_20btVector3_20const__29_1($5 + 4 | 0 | 0, (HEAP32[($5 + 52 | 0) >> 2] | 0) + 48 | 0 | 0, btSolverBody__internalGetInvMass_28_29_20const(HEAP32[($5 + 56 | 0) >> 2] | 0 | 0) | 0 | 0); + btSolverBody__internalApplyImpulse_28btVector3_20const__2c_20btVector3_20const__2c_20float_29($89 | 0, $5 + 4 | 0 | 0, (HEAP32[($5 + 52 | 0) >> 2] | 0) + 80 | 0 | 0, Math_fround(Math_fround(HEAPF32[($5 + 48 | 0) >> 2]))); + $105 = Math_fround(HEAPF32[($5 + 48 | 0) >> 2]); + __stack_pointer = $5 + 64 | 0; + return Math_fround($105); + } + + function gResolveSplitPenetrationImpulse_scalar_reference_28btSolverBody__2c_20btSolverBody__2c_20btSolverConstraint_20const__29($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $5 = 0, $87 = 0, $103 = 0, $119 = Math_fround(0), wasm2js_i32$0 = 0, wasm2js_f32$0 = Math_fround(0); + $5 = __stack_pointer - 64 | 0; + __stack_pointer = $5; + HEAP32[($5 + 60 | 0) >> 2] = $0; + HEAP32[($5 + 56 | 0) >> 2] = $1; + HEAP32[($5 + 52 | 0) >> 2] = $2; + HEAPF32[($5 + 48 | 0) >> 2] = Math_fround(0 | 0); + label$1 : { + if (!(Math_fround(HEAPF32[((HEAP32[($5 + 52 | 0) >> 2] | 0) + 128 | 0) >> 2]) != Math_fround(0 | 0) & 1 | 0)) { + break label$1 + } + HEAP32[(0 + 115432 | 0) >> 2] = (HEAP32[(0 + 115432 | 0) >> 2] | 0) + 1 | 0; + HEAPF32[($5 + 48 | 0) >> 2] = Math_fround(Math_fround(Math_fround(-Math_fround(HEAPF32[((HEAP32[($5 + 52 | 0) >> 2] | 0) + 96 | 0) >> 2])) * Math_fround(HEAPF32[((HEAP32[($5 + 52 | 0) >> 2] | 0) + 116 | 0) >> 2])) + Math_fround(HEAPF32[((HEAP32[($5 + 52 | 0) >> 2] | 0) + 128 | 0) >> 2])); + (wasm2js_i32$0 = $5, wasm2js_f32$0 = Math_fround(Math_fround(btVector3__dot_28btVector3_20const__29_20const((HEAP32[($5 + 52 | 0) >> 2] | 0) + 16 | 0 | 0, btSolverBody__internalGetPushVelocity_28_29(HEAP32[($5 + 60 | 0) >> 2] | 0 | 0) | 0 | 0)) + Math_fround(btVector3__dot_28btVector3_20const__29_20const(HEAP32[($5 + 52 | 0) >> 2] | 0 | 0, btSolverBody__internalGetTurnVelocity_28_29(HEAP32[($5 + 60 | 0) >> 2] | 0 | 0) | 0 | 0)))), HEAPF32[(wasm2js_i32$0 + 44 | 0) >> 2] = wasm2js_f32$0; + (wasm2js_i32$0 = $5, wasm2js_f32$0 = Math_fround(Math_fround(btVector3__dot_28btVector3_20const__29_20const((HEAP32[($5 + 52 | 0) >> 2] | 0) + 48 | 0 | 0, btSolverBody__internalGetPushVelocity_28_29(HEAP32[($5 + 56 | 0) >> 2] | 0 | 0) | 0 | 0)) + Math_fround(btVector3__dot_28btVector3_20const__29_20const((HEAP32[($5 + 52 | 0) >> 2] | 0) + 32 | 0 | 0, btSolverBody__internalGetTurnVelocity_28_29(HEAP32[($5 + 56 | 0) >> 2] | 0 | 0) | 0 | 0)))), HEAPF32[(wasm2js_i32$0 + 40 | 0) >> 2] = wasm2js_f32$0; + HEAPF32[($5 + 48 | 0) >> 2] = Math_fround(Math_fround(Math_fround(-Math_fround(HEAPF32[($5 + 44 | 0) >> 2])) * Math_fround(HEAPF32[((HEAP32[($5 + 52 | 0) >> 2] | 0) + 108 | 0) >> 2])) + Math_fround(HEAPF32[($5 + 48 | 0) >> 2])); + HEAPF32[($5 + 48 | 0) >> 2] = Math_fround(Math_fround(Math_fround(-Math_fround(HEAPF32[($5 + 40 | 0) >> 2])) * Math_fround(HEAPF32[((HEAP32[($5 + 52 | 0) >> 2] | 0) + 108 | 0) >> 2])) + Math_fround(HEAPF32[($5 + 48 | 0) >> 2])); + HEAPF32[($5 + 36 | 0) >> 2] = Math_fround(Math_fround(HEAPF32[((HEAP32[($5 + 52 | 0) >> 2] | 0) + 96 | 0) >> 2]) + Math_fround(HEAPF32[($5 + 48 | 0) >> 2])); + label$2 : { + label$3 : { + if (!(Math_fround(HEAPF32[($5 + 36 | 0) >> 2]) < Math_fround(HEAPF32[((HEAP32[($5 + 52 | 0) >> 2] | 0) + 120 | 0) >> 2]) & 1 | 0)) { + break label$3 + } + HEAPF32[($5 + 48 | 0) >> 2] = Math_fround(Math_fround(HEAPF32[((HEAP32[($5 + 52 | 0) >> 2] | 0) + 120 | 0) >> 2]) - Math_fround(HEAPF32[((HEAP32[($5 + 52 | 0) >> 2] | 0) + 96 | 0) >> 2])); + HEAPF32[((HEAP32[($5 + 52 | 0) >> 2] | 0) + 96 | 0) >> 2] = Math_fround(HEAPF32[((HEAP32[($5 + 52 | 0) >> 2] | 0) + 120 | 0) >> 2]); + break label$2; + } + HEAPF32[((HEAP32[($5 + 52 | 0) >> 2] | 0) + 96 | 0) >> 2] = Math_fround(HEAPF32[($5 + 36 | 0) >> 2]); + } + $87 = HEAP32[($5 + 60 | 0) >> 2] | 0; + operator__28btVector3_20const__2c_20btVector3_20const__29_1($5 + 20 | 0 | 0, (HEAP32[($5 + 52 | 0) >> 2] | 0) + 16 | 0 | 0, btSolverBody__internalGetInvMass_28_29_20const(HEAP32[($5 + 60 | 0) >> 2] | 0 | 0) | 0 | 0); + btSolverBody__internalApplyPushImpulse_28btVector3_20const__2c_20btVector3_20const__2c_20float_29($87 | 0, $5 + 20 | 0 | 0, (HEAP32[($5 + 52 | 0) >> 2] | 0) + 64 | 0 | 0, Math_fround(Math_fround(HEAPF32[($5 + 48 | 0) >> 2]))); + $103 = HEAP32[($5 + 56 | 0) >> 2] | 0; + operator__28btVector3_20const__2c_20btVector3_20const__29_1($5 + 4 | 0 | 0, (HEAP32[($5 + 52 | 0) >> 2] | 0) + 48 | 0 | 0, btSolverBody__internalGetInvMass_28_29_20const(HEAP32[($5 + 56 | 0) >> 2] | 0 | 0) | 0 | 0); + btSolverBody__internalApplyPushImpulse_28btVector3_20const__2c_20btVector3_20const__2c_20float_29($103 | 0, $5 + 4 | 0 | 0, (HEAP32[($5 + 52 | 0) >> 2] | 0) + 80 | 0 | 0, Math_fround(Math_fround(HEAPF32[($5 + 48 | 0) >> 2]))); + } + $119 = Math_fround(HEAPF32[($5 + 48 | 0) >> 2]); + __stack_pointer = $5 + 64 | 0; + return Math_fround($119); + } + + function btSolverBody__internalGetDeltaLinearVelocity_28_29($0) { + $0 = $0 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + return (HEAP32[($3 + 12 | 0) >> 2] | 0) + 64 | 0 | 0; + } + + function btSolverBody__internalGetDeltaAngularVelocity_28_29($0) { + $0 = $0 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + return (HEAP32[($3 + 12 | 0) >> 2] | 0) + 80 | 0 | 0; + } + + function btSolverBody__internalGetInvMass_28_29_20const($0) { + $0 = $0 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + return (HEAP32[($3 + 12 | 0) >> 2] | 0) + 128 | 0 | 0; + } + + function btSolverBody__internalApplyImpulse_28btVector3_20const__2c_20btVector3_20const__2c_20float_29($0, $1, $2, $3) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = Math_fround($3); + var $6 = 0, $7 = 0, $35 = 0; + $6 = __stack_pointer - 80 | 0; + __stack_pointer = $6; + HEAP32[($6 + 76 | 0) >> 2] = $0; + HEAP32[($6 + 72 | 0) >> 2] = $1; + HEAP32[($6 + 68 | 0) >> 2] = $2; + HEAPF32[($6 + 64 | 0) >> 2] = $3; + $7 = HEAP32[($6 + 76 | 0) >> 2] | 0; + label$1 : { + if (!((HEAP32[($7 + 240 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + operator__28btVector3_20const__2c_20float_20const__29($6 + 32 | 0 | 0, HEAP32[($6 + 72 | 0) >> 2] | 0 | 0, $6 + 64 | 0 | 0); + operator__28btVector3_20const__2c_20btVector3_20const__29_1($6 + 48 | 0 | 0, $6 + 32 | 0 | 0, $7 + 112 | 0 | 0); + btVector3__operator___28btVector3_20const__29_1($7 + 64 | 0 | 0, $6 + 48 | 0 | 0) | 0; + $35 = HEAP32[($6 + 68 | 0) >> 2] | 0; + operator__28float_20const__2c_20btVector3_20const__29($6 | 0, $6 + 64 | 0 | 0, $7 + 96 | 0 | 0); + operator__28btVector3_20const__2c_20btVector3_20const__29_1($6 + 16 | 0 | 0, $35 | 0, $6 | 0); + btVector3__operator___28btVector3_20const__29_1($7 + 80 | 0 | 0, $6 + 16 | 0 | 0) | 0; + } + __stack_pointer = $6 + 80 | 0; + return; + } + + function btSolverBody__internalGetPushVelocity_28_29($0) { + $0 = $0 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + return (HEAP32[($3 + 12 | 0) >> 2] | 0) + 144 | 0 | 0; + } + + function btSolverBody__internalGetTurnVelocity_28_29($0) { + $0 = $0 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + return (HEAP32[($3 + 12 | 0) >> 2] | 0) + 160 | 0 | 0; + } + + function btSolverBody__internalApplyPushImpulse_28btVector3_20const__2c_20btVector3_20const__2c_20float_29($0, $1, $2, $3) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = Math_fround($3); + var $6 = 0, $7 = 0, $35 = 0; + $6 = __stack_pointer - 80 | 0; + __stack_pointer = $6; + HEAP32[($6 + 76 | 0) >> 2] = $0; + HEAP32[($6 + 72 | 0) >> 2] = $1; + HEAP32[($6 + 68 | 0) >> 2] = $2; + HEAPF32[($6 + 64 | 0) >> 2] = $3; + $7 = HEAP32[($6 + 76 | 0) >> 2] | 0; + label$1 : { + if (!((HEAP32[($7 + 240 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + operator__28btVector3_20const__2c_20float_20const__29($6 + 32 | 0 | 0, HEAP32[($6 + 72 | 0) >> 2] | 0 | 0, $6 + 64 | 0 | 0); + operator__28btVector3_20const__2c_20btVector3_20const__29_1($6 + 48 | 0 | 0, $6 + 32 | 0 | 0, $7 + 112 | 0 | 0); + btVector3__operator___28btVector3_20const__29_1($7 + 144 | 0 | 0, $6 + 48 | 0 | 0) | 0; + $35 = HEAP32[($6 + 68 | 0) >> 2] | 0; + operator__28float_20const__2c_20btVector3_20const__29($6 | 0, $6 + 64 | 0 | 0, $7 + 96 | 0 | 0); + operator__28btVector3_20const__2c_20btVector3_20const__29_1($6 + 16 | 0 | 0, $35 | 0, $6 | 0); + btVector3__operator___28btVector3_20const__29_1($7 + 160 | 0 | 0, $6 + 16 | 0 | 0) | 0; + } + __stack_pointer = $6 + 80 | 0; + return; + } + + function btSequentialImpulseConstraintSolver___btSequentialImpulseConstraintSolver_28_29($0) { + $0 = $0 | 0; + var $4 = 0, $3 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + HEAP32[$4 >> 2] = 102372 + 8 | 0; + btAlignedObjectArray_int____btAlignedObjectArray_28_29($4 + 192 | 0 | 0) | 0; + btAlignedObjectArray_btTypedConstraint__btConstraintInfo1____btAlignedObjectArray_28_29($4 + 164 | 0 | 0) | 0; + btAlignedObjectArray_int____btAlignedObjectArray_28_29($4 + 144 | 0 | 0) | 0; + btAlignedObjectArray_int____btAlignedObjectArray_28_29($4 + 124 | 0 | 0) | 0; + btAlignedObjectArray_int____btAlignedObjectArray_28_29($4 + 104 | 0 | 0) | 0; + btAlignedObjectArray_btSolverConstraint____btAlignedObjectArray_28_29($4 + 84 | 0 | 0) | 0; + btAlignedObjectArray_btSolverConstraint____btAlignedObjectArray_28_29($4 + 64 | 0 | 0) | 0; + btAlignedObjectArray_btSolverConstraint____btAlignedObjectArray_28_29($4 + 44 | 0 | 0) | 0; + btAlignedObjectArray_btSolverConstraint____btAlignedObjectArray_28_29($4 + 24 | 0 | 0) | 0; + btAlignedObjectArray_btSolverBody____btAlignedObjectArray_28_29($4 + 4 | 0 | 0) | 0; + btConstraintSolver___btConstraintSolver_28_29($4 | 0) | 0; + __stack_pointer = $3 + 16 | 0; + return $4 | 0; + } + + function btAlignedObjectArray_btTypedConstraint__btConstraintInfo1____btAlignedObjectArray_28_29($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + btAlignedObjectArray_btTypedConstraint__btConstraintInfo1___clear_28_29($4 | 0); + __stack_pointer = $3 + 16 | 0; + return $4 | 0; + } + + function btAlignedObjectArray_btSolverConstraint____btAlignedObjectArray_28_29($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + btAlignedObjectArray_btSolverConstraint___clear_28_29($4 | 0); + __stack_pointer = $3 + 16 | 0; + return $4 | 0; + } + + function btAlignedObjectArray_btSolverBody____btAlignedObjectArray_28_29($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + btAlignedObjectArray_btSolverBody___clear_28_29($4 | 0); + __stack_pointer = $3 + 16 | 0; + return $4 | 0; + } + + function btConstraintSolver___btConstraintSolver_28_29($0) { + $0 = $0 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + return HEAP32[($3 + 12 | 0) >> 2] | 0 | 0; + } + + function btAlignedObjectArray_btTypedConstraint__btConstraintInfo1___clear_28_29($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + btAlignedObjectArray_btTypedConstraint__btConstraintInfo1___destroy_28int_2c_20int_29($4 | 0, 0 | 0, btAlignedObjectArray_btTypedConstraint__btConstraintInfo1___size_28_29_20const($4 | 0) | 0 | 0); + btAlignedObjectArray_btTypedConstraint__btConstraintInfo1___deallocate_28_29($4 | 0); + btAlignedObjectArray_btTypedConstraint__btConstraintInfo1___init_28_29($4 | 0); + __stack_pointer = $3 + 16 | 0; + return; + } + + function btAlignedObjectArray_btSolverConstraint___clear_28_29($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + btAlignedObjectArray_btSolverConstraint___destroy_28int_2c_20int_29($4 | 0, 0 | 0, btAlignedObjectArray_btSolverConstraint___size_28_29_20const($4 | 0) | 0 | 0); + btAlignedObjectArray_btSolverConstraint___deallocate_28_29($4 | 0); + btAlignedObjectArray_btSolverConstraint___init_28_29($4 | 0); + __stack_pointer = $3 + 16 | 0; + return; + } + + function btAlignedObjectArray_btSolverBody___clear_28_29($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + btAlignedObjectArray_btSolverBody___destroy_28int_2c_20int_29($4 | 0, 0 | 0, btAlignedObjectArray_btSolverBody___size_28_29_20const($4 | 0) | 0 | 0); + btAlignedObjectArray_btSolverBody___deallocate_28_29($4 | 0); + btAlignedObjectArray_btSolverBody___init_28_29($4 | 0); + __stack_pointer = $3 + 16 | 0; + return; + } + + function btSequentialImpulseConstraintSolver___btSequentialImpulseConstraintSolver_28_29_1($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + FUNCTION_TABLE[1084 | 0]($4) | 0; + btSequentialImpulseConstraintSolver__operator_20delete_28void__29($4 | 0); + __stack_pointer = $3 + 16 | 0; + return; + } + + function btSequentialImpulseConstraintSolver__operator_20delete_28void__29($0) { + $0 = $0 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + btAlignedFreeInternal_28void__29(HEAP32[($3 + 12 | 0) >> 2] | 0 | 0); + __stack_pointer = $3 + 16 | 0; + return; + } + + function btSequentialImpulseConstraintSolver__btRand2_28_29($0) { + $0 = $0 | 0; + var $4 = 0, $3 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + HEAP32[($4 + 232 | 0) >> 2] = (Math_imul(HEAP32[($4 + 232 | 0) >> 2] | 0, 1664525) + 1013904223 | 0) & -1 | 0; + return HEAP32[($4 + 232 | 0) >> 2] | 0 | 0; + } + + function btSequentialImpulseConstraintSolver__btRandInt2_28int_29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, $5 = 0, $70 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; + HEAP32[($4 + 4 | 0) >> 2] = HEAP32[($4 + 8 | 0) >> 2] | 0; + (wasm2js_i32$0 = $4, wasm2js_i32$1 = btSequentialImpulseConstraintSolver__btRand2_28_29($5 | 0) | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + label$1 : { + if (!((HEAP32[($4 + 4 | 0) >> 2] | 0) >>> 0 <= 65536 >>> 0 & 1 | 0)) { + break label$1 + } + HEAP32[$4 >> 2] = (HEAP32[$4 >> 2] | 0) ^ ((HEAP32[$4 >> 2] | 0) >>> 16 | 0) | 0; + label$2 : { + if (!((HEAP32[($4 + 4 | 0) >> 2] | 0) >>> 0 <= 256 >>> 0 & 1 | 0)) { + break label$2 + } + HEAP32[$4 >> 2] = (HEAP32[$4 >> 2] | 0) ^ ((HEAP32[$4 >> 2] | 0) >>> 8 | 0) | 0; + label$3 : { + if (!((HEAP32[($4 + 4 | 0) >> 2] | 0) >>> 0 <= 16 >>> 0 & 1 | 0)) { + break label$3 + } + HEAP32[$4 >> 2] = (HEAP32[$4 >> 2] | 0) ^ ((HEAP32[$4 >> 2] | 0) >>> 4 | 0) | 0; + label$4 : { + if (!((HEAP32[($4 + 4 | 0) >> 2] | 0) >>> 0 <= 4 >>> 0 & 1 | 0)) { + break label$4 + } + HEAP32[$4 >> 2] = (HEAP32[$4 >> 2] | 0) ^ ((HEAP32[$4 >> 2] | 0) >>> 2 | 0) | 0; + label$5 : { + if (!((HEAP32[($4 + 4 | 0) >> 2] | 0) >>> 0 <= 2 >>> 0 & 1 | 0)) { + break label$5 + } + HEAP32[$4 >> 2] = (HEAP32[$4 >> 2] | 0) ^ ((HEAP32[$4 >> 2] | 0) >>> 1 | 0) | 0; + } + } + } + } + } + $70 = ((HEAP32[$4 >> 2] | 0) >>> 0) % ((HEAP32[($4 + 4 | 0) >> 2] | 0) >>> 0) | 0; + __stack_pointer = $4 + 16 | 0; + return $70 | 0; + } + + function btSequentialImpulseConstraintSolver__initSolverBody_28btSolverBody__2c_20btCollisionObject__2c_20float_29($0, $1, $2, $3) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = Math_fround($3); + var $6 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, $16 = 0, $133 = 0, $135 = 0, $143 = 0, $145 = 0, $153 = 0, $155 = 0, $163 = 0, $165 = 0, $190 = 0, $192 = 0, $216 = 0, $218 = 0, $20 = 0, $37 = 0, $54 = 0, $71 = 0, $95 = 0, $97 = 0, $130 = 0, $616 = 0, $626 = 0, $140 = 0, $639 = 0, $649 = 0, $150 = 0, $662 = 0, $672 = 0, $160 = 0, $685 = 0, $695 = 0, $170 = 0, $740 = 0, $753 = 0, $792 = 0, $805 = 0, $225 = 0, $251 = 0, $266 = 0, $281 = 0, $299 = 0, $317 = 0, $335 = 0, wasm2js_i32$0 = 0, wasm2js_f32$0 = Math_fround(0); + $6 = __stack_pointer - 288 | 0; + __stack_pointer = $6; + HEAP32[($6 + 284 | 0) >> 2] = $0; + HEAP32[($6 + 280 | 0) >> 2] = $1; + HEAP32[($6 + 276 | 0) >> 2] = $2; + HEAPF32[($6 + 272 | 0) >> 2] = $3; + label$1 : { + label$2 : { + if (!((HEAP32[($6 + 276 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$2 + } + $16 = btRigidBody__upcast_28btCollisionObject__29(HEAP32[($6 + 276 | 0) >> 2] | 0 | 0) | 0; + break label$1; + } + $16 = 0; + } + HEAP32[($6 + 268 | 0) >> 2] = $16; + $20 = btSolverBody__internalGetDeltaLinearVelocity_28_29(HEAP32[($6 + 280 | 0) >> 2] | 0 | 0) | 0; + HEAPF32[($6 + 264 | 0) >> 2] = Math_fround(0 | 0); + HEAPF32[($6 + 260 | 0) >> 2] = Math_fround(0 | 0); + HEAPF32[($6 + 256 | 0) >> 2] = Math_fround(0 | 0); + btVector3__setValue_28float_20const__2c_20float_20const__2c_20float_20const__29($20 | 0, $6 + 264 | 0 | 0, $6 + 260 | 0 | 0, $6 + 256 | 0 | 0); + $37 = btSolverBody__internalGetDeltaAngularVelocity_28_29(HEAP32[($6 + 280 | 0) >> 2] | 0 | 0) | 0; + HEAPF32[($6 + 252 | 0) >> 2] = Math_fround(0 | 0); + HEAPF32[($6 + 248 | 0) >> 2] = Math_fround(0 | 0); + HEAPF32[($6 + 244 | 0) >> 2] = Math_fround(0 | 0); + btVector3__setValue_28float_20const__2c_20float_20const__2c_20float_20const__29($37 | 0, $6 + 252 | 0 | 0, $6 + 248 | 0 | 0, $6 + 244 | 0 | 0); + $54 = btSolverBody__internalGetPushVelocity_28_29(HEAP32[($6 + 280 | 0) >> 2] | 0 | 0) | 0; + HEAPF32[($6 + 240 | 0) >> 2] = Math_fround(0 | 0); + HEAPF32[($6 + 236 | 0) >> 2] = Math_fround(0 | 0); + HEAPF32[($6 + 232 | 0) >> 2] = Math_fround(0 | 0); + btVector3__setValue_28float_20const__2c_20float_20const__2c_20float_20const__29($54 | 0, $6 + 240 | 0 | 0, $6 + 236 | 0 | 0, $6 + 232 | 0 | 0); + $71 = btSolverBody__internalGetTurnVelocity_28_29(HEAP32[($6 + 280 | 0) >> 2] | 0 | 0) | 0; + HEAPF32[($6 + 228 | 0) >> 2] = Math_fround(0 | 0); + HEAPF32[($6 + 224 | 0) >> 2] = Math_fround(0 | 0); + HEAPF32[($6 + 220 | 0) >> 2] = Math_fround(0 | 0); + btVector3__setValue_28float_20const__2c_20float_20const__2c_20float_20const__29($71 | 0, $6 + 228 | 0 | 0, $6 + 224 | 0 | 0, $6 + 220 | 0 | 0); + label$3 : { + label$4 : { + if (!((HEAP32[($6 + 268 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$4 + } + $95 = btCollisionObject__getWorldTransform_28_29(HEAP32[($6 + 268 | 0) >> 2] | 0 | 0) | 0; + btTransform__operator__28btTransform_20const__29(HEAP32[($6 + 280 | 0) >> 2] | 0 | 0, $95 | 0) | 0; + $97 = HEAP32[($6 + 280 | 0) >> 2] | 0; + (wasm2js_i32$0 = $6, wasm2js_f32$0 = Math_fround(btRigidBody__getInvMass_28_29_20const(HEAP32[($6 + 268 | 0) >> 2] | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 184 | 0) >> 2] = wasm2js_f32$0; + (wasm2js_i32$0 = $6, wasm2js_f32$0 = Math_fround(btRigidBody__getInvMass_28_29_20const(HEAP32[($6 + 268 | 0) >> 2] | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 180 | 0) >> 2] = wasm2js_f32$0; + (wasm2js_i32$0 = $6, wasm2js_f32$0 = Math_fround(btRigidBody__getInvMass_28_29_20const(HEAP32[($6 + 268 | 0) >> 2] | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 176 | 0) >> 2] = wasm2js_f32$0; + btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($6 + 188 | 0 | 0, $6 + 184 | 0 | 0, $6 + 180 | 0 | 0, $6 + 176 | 0 | 0) | 0; + operator__28btVector3_20const__2c_20btVector3_20const__29_1($6 + 204 | 0 | 0, $6 + 188 | 0 | 0, btRigidBody__getLinearFactor_28_29_20const(HEAP32[($6 + 268 | 0) >> 2] | 0 | 0) | 0 | 0); + btSolverBody__internalSetInvMass_28btVector3_20const__29($97 | 0, $6 + 204 | 0 | 0); + HEAP32[((HEAP32[($6 + 280 | 0) >> 2] | 0) + 240 | 0) >> 2] = HEAP32[($6 + 268 | 0) >> 2] | 0; + $130 = btRigidBody__getAngularFactor_28_29_20const(HEAP32[($6 + 268 | 0) >> 2] | 0 | 0) | 0; + $133 = (HEAP32[($6 + 280 | 0) >> 2] | 0) + 96 | 0; + i64toi32_i32$2 = $130; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $616 = i64toi32_i32$0; + i64toi32_i32$0 = $133; + HEAP32[i64toi32_i32$0 >> 2] = $616; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $135 = 8; + i64toi32_i32$2 = i64toi32_i32$2 + $135 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $626 = i64toi32_i32$1; + i64toi32_i32$1 = $133 + $135 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $626; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + $140 = btRigidBody__getLinearFactor_28_29_20const(HEAP32[($6 + 268 | 0) >> 2] | 0 | 0) | 0; + $143 = (HEAP32[($6 + 280 | 0) >> 2] | 0) + 112 | 0; + i64toi32_i32$2 = $140; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $639 = i64toi32_i32$0; + i64toi32_i32$0 = $143; + HEAP32[i64toi32_i32$0 >> 2] = $639; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $145 = 8; + i64toi32_i32$2 = i64toi32_i32$2 + $145 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $649 = i64toi32_i32$1; + i64toi32_i32$1 = $143 + $145 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $649; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + $150 = btRigidBody__getLinearVelocity_28_29_20const(HEAP32[($6 + 268 | 0) >> 2] | 0 | 0) | 0; + $153 = (HEAP32[($6 + 280 | 0) >> 2] | 0) + 176 | 0; + i64toi32_i32$2 = $150; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $662 = i64toi32_i32$0; + i64toi32_i32$0 = $153; + HEAP32[i64toi32_i32$0 >> 2] = $662; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $155 = 8; + i64toi32_i32$2 = i64toi32_i32$2 + $155 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $672 = i64toi32_i32$1; + i64toi32_i32$1 = $153 + $155 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $672; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + $160 = btRigidBody__getAngularVelocity_28_29_20const(HEAP32[($6 + 268 | 0) >> 2] | 0 | 0) | 0; + $163 = (HEAP32[($6 + 280 | 0) >> 2] | 0) + 192 | 0; + i64toi32_i32$2 = $160; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $685 = i64toi32_i32$0; + i64toi32_i32$0 = $163; + HEAP32[i64toi32_i32$0 >> 2] = $685; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $165 = 8; + i64toi32_i32$2 = i64toi32_i32$2 + $165 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $695 = i64toi32_i32$1; + i64toi32_i32$1 = $163 + $165 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $695; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + $170 = btRigidBody__getTotalForce_28_29_20const(HEAP32[($6 + 268 | 0) >> 2] | 0 | 0) | 0; + (wasm2js_i32$0 = $6, wasm2js_f32$0 = Math_fround(btRigidBody__getInvMass_28_29_20const(HEAP32[($6 + 268 | 0) >> 2] | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 140 | 0) >> 2] = wasm2js_f32$0; + operator__28btVector3_20const__2c_20float_20const__29($6 + 144 | 0 | 0, $170 | 0, $6 + 140 | 0 | 0); + operator__28btVector3_20const__2c_20float_20const__29($6 + 160 | 0 | 0, $6 + 144 | 0 | 0, $6 + 272 | 0 | 0); + $190 = (HEAP32[($6 + 280 | 0) >> 2] | 0) + 208 | 0; + i64toi32_i32$2 = $6; + i64toi32_i32$0 = HEAP32[($6 + 160 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($6 + 164 | 0) >> 2] | 0; + $740 = i64toi32_i32$0; + i64toi32_i32$0 = $190; + HEAP32[i64toi32_i32$0 >> 2] = $740; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $192 = 8; + i64toi32_i32$2 = ($6 + 160 | 0) + $192 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $753 = i64toi32_i32$1; + i64toi32_i32$1 = $190 + $192 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $753; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + operator__28btVector3_20const__2c_20btMatrix3x3_20const__29($6 + 108 | 0 | 0, btRigidBody__getTotalTorque_28_29_20const(HEAP32[($6 + 268 | 0) >> 2] | 0 | 0) | 0 | 0, btRigidBody__getInvInertiaTensorWorld_28_29_20const(HEAP32[($6 + 268 | 0) >> 2] | 0 | 0) | 0 | 0); + operator__28btVector3_20const__2c_20float_20const__29($6 + 124 | 0 | 0, $6 + 108 | 0 | 0, $6 + 272 | 0 | 0); + $216 = (HEAP32[($6 + 280 | 0) >> 2] | 0) + 224 | 0; + i64toi32_i32$2 = $6; + i64toi32_i32$0 = HEAP32[($6 + 124 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($6 + 128 | 0) >> 2] | 0; + $792 = i64toi32_i32$0; + i64toi32_i32$0 = $216; + HEAP32[i64toi32_i32$0 >> 2] = $792; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $218 = 8; + i64toi32_i32$2 = ($6 + 124 | 0) + $218 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $805 = i64toi32_i32$1; + i64toi32_i32$1 = $216 + $218 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $805; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + break label$3; + } + btTransform__setIdentity_28_29(HEAP32[($6 + 280 | 0) >> 2] | 0 | 0); + $225 = HEAP32[($6 + 280 | 0) >> 2] | 0; + HEAPF32[($6 + 88 | 0) >> 2] = Math_fround(0 | 0); + HEAPF32[($6 + 84 | 0) >> 2] = Math_fround(0 | 0); + HEAPF32[($6 + 80 | 0) >> 2] = Math_fround(0 | 0); + btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($6 + 92 | 0 | 0, $6 + 88 | 0 | 0, $6 + 84 | 0 | 0, $6 + 80 | 0 | 0) | 0; + btSolverBody__internalSetInvMass_28btVector3_20const__29($225 | 0, $6 + 92 | 0 | 0); + HEAP32[((HEAP32[($6 + 280 | 0) >> 2] | 0) + 240 | 0) >> 2] = 0; + $251 = (HEAP32[($6 + 280 | 0) >> 2] | 0) + 96 | 0; + HEAPF32[($6 + 76 | 0) >> 2] = Math_fround(1.0); + HEAPF32[($6 + 72 | 0) >> 2] = Math_fround(1.0); + HEAPF32[($6 + 68 | 0) >> 2] = Math_fround(1.0); + btVector3__setValue_28float_20const__2c_20float_20const__2c_20float_20const__29($251 | 0, $6 + 76 | 0 | 0, $6 + 72 | 0 | 0, $6 + 68 | 0 | 0); + $266 = (HEAP32[($6 + 280 | 0) >> 2] | 0) + 112 | 0; + HEAPF32[($6 + 64 | 0) >> 2] = Math_fround(1.0); + HEAPF32[($6 + 60 | 0) >> 2] = Math_fround(1.0); + HEAPF32[($6 + 56 | 0) >> 2] = Math_fround(1.0); + btVector3__setValue_28float_20const__2c_20float_20const__2c_20float_20const__29($266 | 0, $6 + 64 | 0 | 0, $6 + 60 | 0 | 0, $6 + 56 | 0 | 0); + $281 = (HEAP32[($6 + 280 | 0) >> 2] | 0) + 176 | 0; + HEAPF32[($6 + 52 | 0) >> 2] = Math_fround(0 | 0); + HEAPF32[($6 + 48 | 0) >> 2] = Math_fround(0 | 0); + HEAPF32[($6 + 44 | 0) >> 2] = Math_fround(0 | 0); + btVector3__setValue_28float_20const__2c_20float_20const__2c_20float_20const__29($281 | 0, $6 + 52 | 0 | 0, $6 + 48 | 0 | 0, $6 + 44 | 0 | 0); + $299 = (HEAP32[($6 + 280 | 0) >> 2] | 0) + 192 | 0; + HEAPF32[($6 + 40 | 0) >> 2] = Math_fround(0 | 0); + HEAPF32[($6 + 36 | 0) >> 2] = Math_fround(0 | 0); + HEAPF32[($6 + 32 | 0) >> 2] = Math_fround(0 | 0); + btVector3__setValue_28float_20const__2c_20float_20const__2c_20float_20const__29($299 | 0, $6 + 40 | 0 | 0, $6 + 36 | 0 | 0, $6 + 32 | 0 | 0); + $317 = (HEAP32[($6 + 280 | 0) >> 2] | 0) + 208 | 0; + HEAPF32[($6 + 28 | 0) >> 2] = Math_fround(0 | 0); + HEAPF32[($6 + 24 | 0) >> 2] = Math_fround(0 | 0); + HEAPF32[($6 + 20 | 0) >> 2] = Math_fround(0 | 0); + btVector3__setValue_28float_20const__2c_20float_20const__2c_20float_20const__29($317 | 0, $6 + 28 | 0 | 0, $6 + 24 | 0 | 0, $6 + 20 | 0 | 0); + $335 = (HEAP32[($6 + 280 | 0) >> 2] | 0) + 224 | 0; + HEAPF32[($6 + 16 | 0) >> 2] = Math_fround(0 | 0); + HEAPF32[($6 + 12 | 0) >> 2] = Math_fround(0 | 0); + HEAPF32[($6 + 8 | 0) >> 2] = Math_fround(0 | 0); + btVector3__setValue_28float_20const__2c_20float_20const__2c_20float_20const__29($335 | 0, $6 + 16 | 0 | 0, $6 + 12 | 0 | 0, $6 + 8 | 0 | 0); + } + __stack_pointer = $6 + 288 | 0; + return; + } + + function btRigidBody__upcast_28btCollisionObject__29($0) { + $0 = $0 | 0; + var $3 = 0, $10 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 8 | 0) >> 2] = $0; + label$1 : { + label$2 : { + if (!((btCollisionObject__getInternalType_28_29_20const(HEAP32[($3 + 8 | 0) >> 2] | 0 | 0) | 0) & 2 | 0)) { + break label$2 + } + HEAP32[($3 + 12 | 0) >> 2] = HEAP32[($3 + 8 | 0) >> 2] | 0; + break label$1; + } + HEAP32[($3 + 12 | 0) >> 2] = 0; + } + $10 = HEAP32[($3 + 12 | 0) >> 2] | 0; + __stack_pointer = $3 + 16 | 0; + return $10 | 0; + } + + function btRigidBody__getLinearFactor_28_29_20const($0) { + $0 = $0 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + return (HEAP32[($3 + 12 | 0) >> 2] | 0) + 408 | 0 | 0; + } + + function btSolverBody__internalSetInvMass_28btVector3_20const__29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var i64toi32_i32$2 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $4 = 0, $8 = 0, $10 = 0, $32 = 0, $42 = 0; + $4 = __stack_pointer - 16 | 0; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + $8 = (HEAP32[($4 + 12 | 0) >> 2] | 0) + 128 | 0; + i64toi32_i32$2 = HEAP32[($4 + 8 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $32 = i64toi32_i32$0; + i64toi32_i32$0 = $8; + HEAP32[i64toi32_i32$0 >> 2] = $32; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $10 = 8; + i64toi32_i32$2 = i64toi32_i32$2 + $10 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $42 = i64toi32_i32$1; + i64toi32_i32$1 = $8 + $10 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $42; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + return; + } + + function btRigidBody__getAngularFactor_28_29_20const($0) { + $0 = $0 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + return (HEAP32[($3 + 12 | 0) >> 2] | 0) + 604 | 0 | 0; + } + + function btSequentialImpulseConstraintSolver__restitutionCurve_28float_2c_20float_2c_20float_29($0, $1, $2, $3) { + $0 = $0 | 0; + $1 = Math_fround($1); + $2 = Math_fround($2); + $3 = Math_fround($3); + var $6 = 0, $20 = Math_fround(0); + $6 = __stack_pointer - 32 | 0; + __stack_pointer = $6; + HEAP32[($6 + 24 | 0) >> 2] = $0; + HEAPF32[($6 + 20 | 0) >> 2] = $1; + HEAPF32[($6 + 16 | 0) >> 2] = $2; + HEAPF32[($6 + 12 | 0) >> 2] = $3; + label$1 : { + label$2 : { + if (!(Math_fround(btFabs_28float_29(Math_fround(Math_fround(HEAPF32[($6 + 20 | 0) >> 2])))) < Math_fround(HEAPF32[($6 + 12 | 0) >> 2]) & 1 | 0)) { + break label$2 + } + HEAPF32[($6 + 28 | 0) >> 2] = Math_fround(0 | 0); + break label$1; + } + HEAPF32[($6 + 8 | 0) >> 2] = Math_fround(Math_fround(HEAPF32[($6 + 16 | 0) >> 2]) * Math_fround(-Math_fround(HEAPF32[($6 + 20 | 0) >> 2]))); + HEAPF32[($6 + 28 | 0) >> 2] = Math_fround(HEAPF32[($6 + 8 | 0) >> 2]); + } + $20 = Math_fround(HEAPF32[($6 + 28 | 0) >> 2]); + __stack_pointer = $6 + 32 | 0; + return Math_fround($20); + } + + function btSequentialImpulseConstraintSolver__applyAnisotropicFriction_28btCollisionObject__2c_20btVector3__2c_20int_29($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $5 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, $38 = 0, $40 = 0, $130 = 0, $140 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5 = __stack_pointer - 48 | 0; + __stack_pointer = $5; + HEAP32[($5 + 44 | 0) >> 2] = $0; + HEAP32[($5 + 40 | 0) >> 2] = $1; + HEAP32[($5 + 36 | 0) >> 2] = $2; + label$1 : { + if (!((HEAP32[($5 + 44 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + if (!((btCollisionObject__hasAnisotropicFriction_28int_29_20const(HEAP32[($5 + 44 | 0) >> 2] | 0 | 0, HEAP32[($5 + 36 | 0) >> 2] | 0 | 0) | 0) & 1 | 0)) { + break label$1 + } + operator__28btVector3_20const__2c_20btMatrix3x3_20const__29($5 + 20 | 0 | 0, HEAP32[($5 + 40 | 0) >> 2] | 0 | 0, btTransform__getBasis_28_29(btCollisionObject__getWorldTransform_28_29(HEAP32[($5 + 44 | 0) >> 2] | 0 | 0) | 0 | 0) | 0 | 0); + (wasm2js_i32$0 = $5, wasm2js_i32$1 = btCollisionObject__getAnisotropicFriction_28_29_20const(HEAP32[($5 + 44 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + btVector3__operator___28btVector3_20const__29_2($5 + 20 | 0 | 0, HEAP32[($5 + 16 | 0) >> 2] | 0 | 0) | 0; + operator__28btMatrix3x3_20const__2c_20btVector3_20const__29($5 | 0, btTransform__getBasis_28_29(btCollisionObject__getWorldTransform_28_29(HEAP32[($5 + 44 | 0) >> 2] | 0 | 0) | 0 | 0) | 0 | 0, $5 + 20 | 0 | 0); + $38 = HEAP32[($5 + 40 | 0) >> 2] | 0; + i64toi32_i32$2 = $5; + i64toi32_i32$0 = HEAP32[$5 >> 2] | 0; + i64toi32_i32$1 = HEAP32[($5 + 4 | 0) >> 2] | 0; + $130 = i64toi32_i32$0; + i64toi32_i32$0 = $38; + HEAP32[i64toi32_i32$0 >> 2] = $130; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $40 = 8; + i64toi32_i32$2 = $5 + $40 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $140 = i64toi32_i32$1; + i64toi32_i32$1 = $38 + $40 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $140; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + } + __stack_pointer = $5 + 48 | 0; + return; + } + + function btCollisionObject__hasAnisotropicFriction_28int_29_20const($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0; + $4 = __stack_pointer - 16 | 0; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + return ((HEAP32[((HEAP32[($4 + 12 | 0) >> 2] | 0) + 180 | 0) >> 2] | 0) & (HEAP32[($4 + 8 | 0) >> 2] | 0) | 0 | 0) != (0 | 0) & 1 | 0 | 0; + } + + function btCollisionObject__getAnisotropicFriction_28_29_20const($0) { + $0 = $0 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + return (HEAP32[($3 + 12 | 0) >> 2] | 0) + 164 | 0 | 0; + } + + function btSequentialImpulseConstraintSolver__setupFrictionConstraint_28btSolverConstraint__2c_20btVector3_20const__2c_20int_2c_20int_2c_20btManifoldPoint__2c_20btVector3_20const__2c_20btVector3_20const__2c_20btCollisionObject__2c_20btCollisionObject__2c_20float_2c_20btContactSolverInfo_20const__2c_20float_2c_20float_29($0, $1, $2, $3, $4, $5, $6, $7, $8, $9, $10, $11, $12, $13) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + $4 = $4 | 0; + $5 = $5 | 0; + $6 = $6 | 0; + $7 = $7 | 0; + $8 = $8 | 0; + $9 = $9 | 0; + $10 = Math_fround($10); + $11 = $11 | 0; + $12 = Math_fround($12); + $13 = Math_fround($13); + var $16 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, $17 = 0, $61 = 0, $63 = 0, $74 = 0, $76 = 0, $100 = 0, $102 = 0, $128 = 0, $130 = 0, $145 = 0, $147 = 0, $171 = 0, $173 = 0, $209 = 0, $246 = 0, $321 = 0, $322 = 0, $405 = 0, $406 = 0, $631 = 0, $641 = 0, $661 = 0, $674 = 0, $713 = 0, $726 = 0, $770 = 0, $783 = 0, $806 = 0, $819 = 0, $858 = 0, $871 = 0, $945 = 0, $949 = 0, $1019 = 0, $1023 = 0, $272 = 0, $310 = Math_fround(0), $311 = 0, $1167 = 0, $1171 = 0, $354 = 0, $392 = Math_fround(0), $395 = 0, $1325 = 0, $1329 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0, wasm2js_f32$0 = Math_fround(0); + $16 = __stack_pointer - 432 | 0; + __stack_pointer = $16; + HEAP32[($16 + 428 | 0) >> 2] = $0; + HEAP32[($16 + 424 | 0) >> 2] = $1; + HEAP32[($16 + 420 | 0) >> 2] = $2; + HEAP32[($16 + 416 | 0) >> 2] = $3; + HEAP32[($16 + 412 | 0) >> 2] = $4; + HEAP32[($16 + 408 | 0) >> 2] = $5; + HEAP32[($16 + 404 | 0) >> 2] = $6; + HEAP32[($16 + 400 | 0) >> 2] = $7; + HEAP32[($16 + 396 | 0) >> 2] = $8; + HEAP32[($16 + 392 | 0) >> 2] = $9; + HEAPF32[($16 + 388 | 0) >> 2] = $10; + HEAP32[($16 + 384 | 0) >> 2] = $11; + HEAPF32[($16 + 380 | 0) >> 2] = $12; + HEAPF32[($16 + 376 | 0) >> 2] = $13; + $17 = HEAP32[($16 + 428 | 0) >> 2] | 0; + (wasm2js_i32$0 = $16, wasm2js_i32$1 = btAlignedObjectArray_btSolverBody___operator_5b_5d_28int_29($17 + 4 | 0 | 0, HEAP32[($16 + 416 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 372 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $16, wasm2js_i32$1 = btAlignedObjectArray_btSolverBody___operator_5b_5d_28int_29($17 + 4 | 0 | 0, HEAP32[($16 + 412 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 368 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $16, wasm2js_i32$1 = HEAP32[((btAlignedObjectArray_btSolverBody___operator_5b_5d_28int_29($17 + 4 | 0 | 0, HEAP32[($16 + 416 | 0) >> 2] | 0 | 0) | 0) + 240 | 0) >> 2] | 0), HEAP32[(wasm2js_i32$0 + 364 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $16, wasm2js_i32$1 = HEAP32[((btAlignedObjectArray_btSolverBody___operator_5b_5d_28int_29($17 + 4 | 0 | 0, HEAP32[($16 + 412 | 0) >> 2] | 0 | 0) | 0) + 240 | 0) >> 2] | 0), HEAP32[(wasm2js_i32$0 + 360 | 0) >> 2] = wasm2js_i32$1; + HEAP32[((HEAP32[($16 + 424 | 0) >> 2] | 0) + 144 | 0) >> 2] = HEAP32[($16 + 416 | 0) >> 2] | 0; + HEAP32[((HEAP32[($16 + 424 | 0) >> 2] | 0) + 148 | 0) >> 2] = HEAP32[($16 + 412 | 0) >> 2] | 0; + HEAPF32[((HEAP32[($16 + 424 | 0) >> 2] | 0) + 104 | 0) >> 2] = Math_fround(HEAPF32[((HEAP32[($16 + 408 | 0) >> 2] | 0) + 84 | 0) >> 2]); + HEAP32[((HEAP32[($16 + 424 | 0) >> 2] | 0) + 132 | 0) >> 2] = 0; + HEAPF32[((HEAP32[($16 + 424 | 0) >> 2] | 0) + 100 | 0) >> 2] = Math_fround(0 | 0); + HEAPF32[((HEAP32[($16 + 424 | 0) >> 2] | 0) + 96 | 0) >> 2] = Math_fround(0 | 0); + label$1 : { + label$2 : { + if (!((HEAP32[($16 + 364 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$2 + } + $61 = (HEAP32[($16 + 424 | 0) >> 2] | 0) + 16 | 0; + i64toi32_i32$2 = HEAP32[($16 + 420 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $631 = i64toi32_i32$0; + i64toi32_i32$0 = $61; + HEAP32[i64toi32_i32$0 >> 2] = $631; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $63 = 8; + i64toi32_i32$2 = i64toi32_i32$2 + $63 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $641 = i64toi32_i32$1; + i64toi32_i32$1 = $61 + $63 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $641; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + btVector3__cross_28btVector3_20const__29_20const($16 + 344 | 0 | 0, HEAP32[($16 + 404 | 0) >> 2] | 0 | 0, (HEAP32[($16 + 424 | 0) >> 2] | 0) + 16 | 0 | 0); + $74 = HEAP32[($16 + 424 | 0) >> 2] | 0; + i64toi32_i32$2 = $16; + i64toi32_i32$0 = HEAP32[($16 + 344 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($16 + 348 | 0) >> 2] | 0; + $661 = i64toi32_i32$0; + i64toi32_i32$0 = $74; + HEAP32[i64toi32_i32$0 >> 2] = $661; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $76 = 8; + i64toi32_i32$2 = ($16 + 344 | 0) + $76 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $674 = i64toi32_i32$1; + i64toi32_i32$1 = $74 + $76 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $674; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + operator__28btMatrix3x3_20const__2c_20btVector3_20const__29($16 + 312 | 0 | 0, btRigidBody__getInvInertiaTensorWorld_28_29_20const(HEAP32[($16 + 364 | 0) >> 2] | 0 | 0) | 0 | 0, $16 + 344 | 0 | 0); + operator__28btVector3_20const__2c_20btVector3_20const__29_1($16 + 328 | 0 | 0, $16 + 312 | 0 | 0, btRigidBody__getAngularFactor_28_29_20const(HEAP32[($16 + 364 | 0) >> 2] | 0 | 0) | 0 | 0); + $100 = (HEAP32[($16 + 424 | 0) >> 2] | 0) + 64 | 0; + i64toi32_i32$2 = $16; + i64toi32_i32$0 = HEAP32[($16 + 328 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($16 + 332 | 0) >> 2] | 0; + $713 = i64toi32_i32$0; + i64toi32_i32$0 = $100; + HEAP32[i64toi32_i32$0 >> 2] = $713; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $102 = 8; + i64toi32_i32$2 = ($16 + 328 | 0) + $102 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $726 = i64toi32_i32$1; + i64toi32_i32$1 = $100 + $102 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $726; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + break label$1; + } + btVector3__setZero_28_29((HEAP32[($16 + 424 | 0) >> 2] | 0) + 16 | 0 | 0); + btVector3__setZero_28_29(HEAP32[($16 + 424 | 0) >> 2] | 0 | 0); + btVector3__setZero_28_29((HEAP32[($16 + 424 | 0) >> 2] | 0) + 64 | 0 | 0); + } + label$3 : { + label$4 : { + if (!((HEAP32[($16 + 360 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$4 + } + operator__28btVector3_20const__29($16 + 296 | 0 | 0, HEAP32[($16 + 420 | 0) >> 2] | 0 | 0); + $128 = (HEAP32[($16 + 424 | 0) >> 2] | 0) + 48 | 0; + i64toi32_i32$2 = $16; + i64toi32_i32$0 = HEAP32[($16 + 296 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($16 + 300 | 0) >> 2] | 0; + $770 = i64toi32_i32$0; + i64toi32_i32$0 = $128; + HEAP32[i64toi32_i32$0 >> 2] = $770; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $130 = 8; + i64toi32_i32$2 = ($16 + 296 | 0) + $130 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $783 = i64toi32_i32$1; + i64toi32_i32$1 = $128 + $130 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $783; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + btVector3__cross_28btVector3_20const__29_20const($16 + 280 | 0 | 0, HEAP32[($16 + 400 | 0) >> 2] | 0 | 0, (HEAP32[($16 + 424 | 0) >> 2] | 0) + 48 | 0 | 0); + $145 = (HEAP32[($16 + 424 | 0) >> 2] | 0) + 32 | 0; + i64toi32_i32$2 = $16; + i64toi32_i32$0 = HEAP32[($16 + 280 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($16 + 284 | 0) >> 2] | 0; + $806 = i64toi32_i32$0; + i64toi32_i32$0 = $145; + HEAP32[i64toi32_i32$0 >> 2] = $806; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $147 = 8; + i64toi32_i32$2 = ($16 + 280 | 0) + $147 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $819 = i64toi32_i32$1; + i64toi32_i32$1 = $145 + $147 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $819; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + operator__28btMatrix3x3_20const__2c_20btVector3_20const__29($16 + 248 | 0 | 0, btRigidBody__getInvInertiaTensorWorld_28_29_20const(HEAP32[($16 + 360 | 0) >> 2] | 0 | 0) | 0 | 0, $16 + 280 | 0 | 0); + operator__28btVector3_20const__2c_20btVector3_20const__29_1($16 + 264 | 0 | 0, $16 + 248 | 0 | 0, btRigidBody__getAngularFactor_28_29_20const(HEAP32[($16 + 360 | 0) >> 2] | 0 | 0) | 0 | 0); + $171 = (HEAP32[($16 + 424 | 0) >> 2] | 0) + 80 | 0; + i64toi32_i32$2 = $16; + i64toi32_i32$0 = HEAP32[($16 + 264 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($16 + 268 | 0) >> 2] | 0; + $858 = i64toi32_i32$0; + i64toi32_i32$0 = $171; + HEAP32[i64toi32_i32$0 >> 2] = $858; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $173 = 8; + i64toi32_i32$2 = ($16 + 264 | 0) + $173 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $871 = i64toi32_i32$1; + i64toi32_i32$1 = $171 + $173 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $871; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + break label$3; + } + btVector3__setZero_28_29((HEAP32[($16 + 424 | 0) >> 2] | 0) + 48 | 0 | 0); + btVector3__setZero_28_29((HEAP32[($16 + 424 | 0) >> 2] | 0) + 32 | 0 | 0); + btVector3__setZero_28_29((HEAP32[($16 + 424 | 0) >> 2] | 0) + 80 | 0 | 0); + } + btVector3__btVector3_28_29($16 + 232 | 0 | 0) | 0; + HEAPF32[($16 + 228 | 0) >> 2] = Math_fround(0 | 0); + HEAPF32[($16 + 224 | 0) >> 2] = Math_fround(0 | 0); + label$5 : { + if (!((HEAP32[($16 + 364 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$5 + } + btVector3__cross_28btVector3_20const__29_20const($16 + 208 | 0 | 0, (HEAP32[($16 + 424 | 0) >> 2] | 0) + 64 | 0 | 0, HEAP32[($16 + 404 | 0) >> 2] | 0 | 0); + $209 = 8; + i64toi32_i32$2 = ($16 + 208 | 0) + $209 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $945 = i64toi32_i32$0; + i64toi32_i32$0 = ($16 + 232 | 0) + $209 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $945; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$2 = $16; + i64toi32_i32$1 = HEAP32[($16 + 208 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($16 + 212 | 0) >> 2] | 0; + $949 = i64toi32_i32$1; + i64toi32_i32$1 = $16; + HEAP32[($16 + 232 | 0) >> 2] = $949; + HEAP32[($16 + 236 | 0) >> 2] = i64toi32_i32$0; + (wasm2js_i32$0 = $16, wasm2js_f32$0 = Math_fround(Math_fround(btRigidBody__getInvMass_28_29_20const(HEAP32[($16 + 364 | 0) >> 2] | 0 | 0)) + Math_fround(btVector3__dot_28btVector3_20const__29_20const(HEAP32[($16 + 420 | 0) >> 2] | 0 | 0, $16 + 232 | 0 | 0)))), HEAPF32[(wasm2js_i32$0 + 228 | 0) >> 2] = wasm2js_f32$0; + } + label$6 : { + if (!((HEAP32[($16 + 360 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$6 + } + operator__28btVector3_20const__29($16 + 176 | 0 | 0, (HEAP32[($16 + 424 | 0) >> 2] | 0) + 80 | 0 | 0); + btVector3__cross_28btVector3_20const__29_20const($16 + 192 | 0 | 0, $16 + 176 | 0 | 0, HEAP32[($16 + 400 | 0) >> 2] | 0 | 0); + $246 = 8; + i64toi32_i32$2 = ($16 + 192 | 0) + $246 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $1019 = i64toi32_i32$0; + i64toi32_i32$0 = ($16 + 232 | 0) + $246 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $1019; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$2 = $16; + i64toi32_i32$1 = HEAP32[($16 + 192 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($16 + 196 | 0) >> 2] | 0; + $1023 = i64toi32_i32$1; + i64toi32_i32$1 = $16; + HEAP32[($16 + 232 | 0) >> 2] = $1023; + HEAP32[($16 + 236 | 0) >> 2] = i64toi32_i32$0; + (wasm2js_i32$0 = $16, wasm2js_f32$0 = Math_fround(Math_fround(btRigidBody__getInvMass_28_29_20const(HEAP32[($16 + 360 | 0) >> 2] | 0 | 0)) + Math_fround(btVector3__dot_28btVector3_20const__29_20const(HEAP32[($16 + 420 | 0) >> 2] | 0 | 0, $16 + 232 | 0 | 0)))), HEAPF32[(wasm2js_i32$0 + 224 | 0) >> 2] = wasm2js_f32$0; + } + HEAPF32[($16 + 172 | 0) >> 2] = Math_fround(Math_fround(HEAPF32[($16 + 388 | 0) >> 2]) / Math_fround(Math_fround(HEAPF32[($16 + 228 | 0) >> 2]) + Math_fround(HEAPF32[($16 + 224 | 0) >> 2]))); + HEAPF32[((HEAP32[($16 + 424 | 0) >> 2] | 0) + 108 | 0) >> 2] = Math_fround(HEAPF32[($16 + 172 | 0) >> 2]); + $272 = (HEAP32[($16 + 424 | 0) >> 2] | 0) + 16 | 0; + label$7 : { + label$8 : { + if (!((HEAP32[($16 + 364 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$8 + } + operator__28btVector3_20const__2c_20btVector3_20const__29_2($16 + 148 | 0 | 0, (HEAP32[($16 + 372 | 0) >> 2] | 0) + 176 | 0 | 0, (HEAP32[($16 + 372 | 0) >> 2] | 0) + 208 | 0 | 0); + break label$7; + } + HEAPF32[($16 + 144 | 0) >> 2] = Math_fround(0 | 0); + HEAPF32[($16 + 140 | 0) >> 2] = Math_fround(0 | 0); + HEAPF32[($16 + 136 | 0) >> 2] = Math_fround(0 | 0); + btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($16 + 148 | 0 | 0, $16 + 144 | 0 | 0, $16 + 140 | 0 | 0, $16 + 136 | 0 | 0) | 0; + } + $310 = Math_fround(btVector3__dot_28btVector3_20const__29_20const($272 | 0, $16 + 148 | 0 | 0)); + $311 = HEAP32[($16 + 424 | 0) >> 2] | 0; + label$9 : { + label$10 : { + if (!((HEAP32[($16 + 364 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$10 + } + $321 = (HEAP32[($16 + 372 | 0) >> 2] | 0) + 192 | 0; + $322 = 8; + i64toi32_i32$2 = $321 + $322 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $1167 = i64toi32_i32$0; + i64toi32_i32$0 = ($16 + 120 | 0) + $322 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $1167; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$2 = $321; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $1171 = i64toi32_i32$1; + i64toi32_i32$1 = $16; + HEAP32[($16 + 120 | 0) >> 2] = $1171; + HEAP32[($16 + 124 | 0) >> 2] = i64toi32_i32$0; + break label$9; + } + HEAPF32[($16 + 116 | 0) >> 2] = Math_fround(0 | 0); + HEAPF32[($16 + 112 | 0) >> 2] = Math_fround(0 | 0); + HEAPF32[($16 + 108 | 0) >> 2] = Math_fround(0 | 0); + btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($16 + 120 | 0 | 0, $16 + 116 | 0 | 0, $16 + 112 | 0 | 0, $16 + 108 | 0 | 0) | 0; + } + (wasm2js_i32$0 = $16, wasm2js_f32$0 = Math_fround($310 + Math_fround(btVector3__dot_28btVector3_20const__29_20const($311 | 0, $16 + 120 | 0 | 0)))), HEAPF32[(wasm2js_i32$0 + 164 | 0) >> 2] = wasm2js_f32$0; + $354 = (HEAP32[($16 + 424 | 0) >> 2] | 0) + 48 | 0; + label$11 : { + label$12 : { + if (!((HEAP32[($16 + 360 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$12 + } + operator__28btVector3_20const__2c_20btVector3_20const__29_2($16 + 88 | 0 | 0, (HEAP32[($16 + 368 | 0) >> 2] | 0) + 176 | 0 | 0, (HEAP32[($16 + 368 | 0) >> 2] | 0) + 208 | 0 | 0); + break label$11; + } + HEAPF32[($16 + 84 | 0) >> 2] = Math_fround(0 | 0); + HEAPF32[($16 + 80 | 0) >> 2] = Math_fround(0 | 0); + HEAPF32[($16 + 76 | 0) >> 2] = Math_fround(0 | 0); + btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($16 + 88 | 0 | 0, $16 + 84 | 0 | 0, $16 + 80 | 0 | 0, $16 + 76 | 0 | 0) | 0; + } + $392 = Math_fround(btVector3__dot_28btVector3_20const__29_20const($354 | 0, $16 + 88 | 0 | 0)); + $395 = (HEAP32[($16 + 424 | 0) >> 2] | 0) + 32 | 0; + label$13 : { + label$14 : { + if (!((HEAP32[($16 + 360 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$14 + } + $405 = (HEAP32[($16 + 368 | 0) >> 2] | 0) + 192 | 0; + $406 = 8; + i64toi32_i32$2 = $405 + $406 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $1325 = i64toi32_i32$0; + i64toi32_i32$0 = ($16 + 56 | 0) + $406 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $1325; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$2 = $405; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $1329 = i64toi32_i32$1; + i64toi32_i32$1 = $16; + HEAP32[($16 + 56 | 0) >> 2] = $1329; + HEAP32[($16 + 60 | 0) >> 2] = i64toi32_i32$0; + break label$13; + } + HEAPF32[($16 + 52 | 0) >> 2] = Math_fround(0 | 0); + HEAPF32[($16 + 48 | 0) >> 2] = Math_fround(0 | 0); + HEAPF32[($16 + 44 | 0) >> 2] = Math_fround(0 | 0); + btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($16 + 56 | 0 | 0, $16 + 52 | 0 | 0, $16 + 48 | 0 | 0, $16 + 44 | 0 | 0) | 0; + } + (wasm2js_i32$0 = $16, wasm2js_f32$0 = Math_fround($392 + Math_fround(btVector3__dot_28btVector3_20const__29_20const($395 | 0, $16 + 56 | 0 | 0)))), HEAPF32[(wasm2js_i32$0 + 104 | 0) >> 2] = wasm2js_f32$0; + HEAPF32[($16 + 168 | 0) >> 2] = Math_fround(Math_fround(HEAPF32[($16 + 164 | 0) >> 2]) + Math_fround(HEAPF32[($16 + 104 | 0) >> 2])); + HEAPF32[($16 + 40 | 0) >> 2] = Math_fround(Math_fround(HEAPF32[($16 + 380 | 0) >> 2]) - Math_fround(HEAPF32[($16 + 168 | 0) >> 2])); + HEAPF32[($16 + 36 | 0) >> 2] = Math_fround(Math_fround(HEAPF32[($16 + 40 | 0) >> 2]) * Math_fround(HEAPF32[((HEAP32[($16 + 424 | 0) >> 2] | 0) + 108 | 0) >> 2])); + HEAPF32[($16 + 32 | 0) >> 2] = Math_fround(0 | 0); + label$15 : { + if (!((HEAP32[((HEAP32[($16 + 408 | 0) >> 2] | 0) + 128 | 0) >> 2] | 0) & 16 | 0)) { + break label$15 + } + operator__28btVector3_20const__2c_20btVector3_20const__29($16 + 12 | 0 | 0, btManifoldPoint__getPositionWorldOnA_28_29_20const(HEAP32[($16 + 408 | 0) >> 2] | 0 | 0) | 0 | 0, btManifoldPoint__getPositionWorldOnB_28_29_20const(HEAP32[($16 + 408 | 0) >> 2] | 0 | 0) | 0 | 0); + (wasm2js_i32$0 = $16, wasm2js_f32$0 = Math_fround(btVector3__dot_28btVector3_20const__29_20const($16 + 12 | 0 | 0, HEAP32[($16 + 420 | 0) >> 2] | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_f32$0; + HEAPF32[($16 + 8 | 0) >> 2] = Math_fround(Math_fround(Math_fround(-Math_fround(HEAPF32[($16 + 28 | 0) >> 2])) * Math_fround(HEAPF32[((HEAP32[($16 + 384 | 0) >> 2] | 0) + 44 | 0) >> 2])) / Math_fround(HEAPF32[((HEAP32[($16 + 384 | 0) >> 2] | 0) + 12 | 0) >> 2])); + HEAPF32[($16 + 32 | 0) >> 2] = Math_fround(Math_fround(HEAPF32[($16 + 8 | 0) >> 2]) * Math_fround(HEAPF32[((HEAP32[($16 + 424 | 0) >> 2] | 0) + 108 | 0) >> 2])); + } + HEAPF32[((HEAP32[($16 + 424 | 0) >> 2] | 0) + 112 | 0) >> 2] = Math_fround(Math_fround(HEAPF32[($16 + 32 | 0) >> 2]) + Math_fround(HEAPF32[($16 + 36 | 0) >> 2])); + HEAPF32[((HEAP32[($16 + 424 | 0) >> 2] | 0) + 128 | 0) >> 2] = Math_fround(0 | 0); + HEAPF32[((HEAP32[($16 + 424 | 0) >> 2] | 0) + 116 | 0) >> 2] = Math_fround(HEAPF32[($16 + 376 | 0) >> 2]); + HEAPF32[((HEAP32[($16 + 424 | 0) >> 2] | 0) + 120 | 0) >> 2] = Math_fround(-Math_fround(HEAPF32[((HEAP32[($16 + 424 | 0) >> 2] | 0) + 104 | 0) >> 2])); + HEAPF32[((HEAP32[($16 + 424 | 0) >> 2] | 0) + 124 | 0) >> 2] = Math_fround(HEAPF32[((HEAP32[($16 + 424 | 0) >> 2] | 0) + 104 | 0) >> 2]); + __stack_pointer = $16 + 432 | 0; + return; + } + + function btAlignedObjectArray_btSolverBody___operator_5b_5d_28int_29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, $5 = 0, $32 = 0; + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; + label$1 : { + if ((HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0) { + break label$1 + } + __assert_fail(85840 | 0, 78192 | 0, 183 | 0, 83901 | 0); + wasm2js_trap(); + } + label$2 : { + if ((HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) < (btAlignedObjectArray_btSolverBody___size_28_29_20const($5 | 0) | 0 | 0) & 1 | 0) { + break label$2 + } + __assert_fail(87321 | 0, 78192 | 0, 184 | 0, 83901 | 0); + wasm2js_trap(); + } + $32 = (HEAP32[($5 + 12 | 0) >> 2] | 0) + Math_imul(HEAP32[($4 + 8 | 0) >> 2] | 0, 244) | 0; + __stack_pointer = $4 + 16 | 0; + return $32 | 0; + } + + function btManifoldPoint__getPositionWorldOnA_28_29_20const($0) { + $0 = $0 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + return (HEAP32[($3 + 12 | 0) >> 2] | 0) + 48 | 0 | 0; + } + + function btManifoldPoint__getPositionWorldOnB_28_29_20const($0) { + $0 = $0 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + return (HEAP32[($3 + 12 | 0) >> 2] | 0) + 32 | 0 | 0; + } + + function btAlignedObjectArray_btSolverBody___size_28_29_20const($0) { + $0 = $0 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + return HEAP32[((HEAP32[($3 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0; + } + + function btSequentialImpulseConstraintSolver__addFrictionConstraint_28btVector3_20const__2c_20int_2c_20int_2c_20int_2c_20btManifoldPoint__2c_20btVector3_20const__2c_20btVector3_20const__2c_20btCollisionObject__2c_20btCollisionObject__2c_20float_2c_20btContactSolverInfo_20const__2c_20float_2c_20float_29($0, $1, $2, $3, $4, $5, $6, $7, $8, $9, $10, $11, $12, $13) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + $4 = $4 | 0; + $5 = $5 | 0; + $6 = $6 | 0; + $7 = $7 | 0; + $8 = $8 | 0; + $9 = $9 | 0; + $10 = Math_fround($10); + $11 = $11 | 0; + $12 = Math_fround($12); + $13 = Math_fround($13); + var $16 = 0, $17 = 0, $36 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $16 = __stack_pointer - 64 | 0; + __stack_pointer = $16; + HEAP32[($16 + 60 | 0) >> 2] = $0; + HEAP32[($16 + 56 | 0) >> 2] = $1; + HEAP32[($16 + 52 | 0) >> 2] = $2; + HEAP32[($16 + 48 | 0) >> 2] = $3; + HEAP32[($16 + 44 | 0) >> 2] = $4; + HEAP32[($16 + 40 | 0) >> 2] = $5; + HEAP32[($16 + 36 | 0) >> 2] = $6; + HEAP32[($16 + 32 | 0) >> 2] = $7; + HEAP32[($16 + 28 | 0) >> 2] = $8; + HEAP32[($16 + 24 | 0) >> 2] = $9; + HEAPF32[($16 + 20 | 0) >> 2] = $10; + HEAP32[($16 + 16 | 0) >> 2] = $11; + HEAPF32[($16 + 12 | 0) >> 2] = $12; + HEAPF32[($16 + 8 | 0) >> 2] = $13; + $17 = HEAP32[($16 + 60 | 0) >> 2] | 0; + (wasm2js_i32$0 = $16, wasm2js_i32$1 = btAlignedObjectArray_btSolverConstraint___expandNonInitializing_28_29($17 + 64 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + HEAP32[((HEAP32[($16 + 4 | 0) >> 2] | 0) + 140 | 0) >> 2] = HEAP32[($16 + 44 | 0) >> 2] | 0; + btSequentialImpulseConstraintSolver__setupFrictionConstraint_28btSolverConstraint__2c_20btVector3_20const__2c_20int_2c_20int_2c_20btManifoldPoint__2c_20btVector3_20const__2c_20btVector3_20const__2c_20btCollisionObject__2c_20btCollisionObject__2c_20float_2c_20btContactSolverInfo_20const__2c_20float_2c_20float_29($17 | 0, HEAP32[($16 + 4 | 0) >> 2] | 0 | 0, HEAP32[($16 + 56 | 0) >> 2] | 0 | 0, HEAP32[($16 + 52 | 0) >> 2] | 0 | 0, HEAP32[($16 + 48 | 0) >> 2] | 0 | 0, HEAP32[($16 + 40 | 0) >> 2] | 0 | 0, HEAP32[($16 + 36 | 0) >> 2] | 0 | 0, HEAP32[($16 + 32 | 0) >> 2] | 0 | 0, HEAP32[($16 + 28 | 0) >> 2] | 0 | 0, HEAP32[($16 + 24 | 0) >> 2] | 0 | 0, Math_fround(Math_fround(HEAPF32[($16 + 20 | 0) >> 2])), HEAP32[($16 + 16 | 0) >> 2] | 0 | 0, Math_fround(Math_fround(HEAPF32[($16 + 12 | 0) >> 2])), Math_fround(Math_fround(HEAPF32[($16 + 8 | 0) >> 2]))); + $36 = HEAP32[($16 + 4 | 0) >> 2] | 0; + __stack_pointer = $16 + 64 | 0; + return $36 | 0; + } + + function btAlignedObjectArray_btSolverConstraint___expandNonInitializing_28_29($0) { + $0 = $0 | 0; + var $4 = 0, $3 = 0, $22 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + (wasm2js_i32$0 = $3, wasm2js_i32$1 = btAlignedObjectArray_btSolverConstraint___size_28_29_20const($4 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + if (!((HEAP32[($3 + 8 | 0) >> 2] | 0 | 0) == (btAlignedObjectArray_btSolverConstraint___capacity_28_29_20const($4 | 0) | 0 | 0) & 1 | 0)) { + break label$1 + } + btAlignedObjectArray_btSolverConstraint___reserve_28int_29($4 | 0, btAlignedObjectArray_btSolverConstraint___allocSize_28int_29($4 | 0, btAlignedObjectArray_btSolverConstraint___size_28_29_20const($4 | 0) | 0 | 0) | 0 | 0); + } + HEAP32[($4 + 4 | 0) >> 2] = (HEAP32[($4 + 4 | 0) >> 2] | 0) + 1 | 0; + $22 = (HEAP32[($4 + 12 | 0) >> 2] | 0) + Math_imul(HEAP32[($3 + 8 | 0) >> 2] | 0, 152) | 0; + __stack_pointer = $3 + 16 | 0; + return $22 | 0; + } + + function btAlignedObjectArray_btSolverConstraint___size_28_29_20const($0) { + $0 = $0 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + return HEAP32[((HEAP32[($3 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0; + } + + function btAlignedObjectArray_btSolverConstraint___capacity_28_29_20const($0) { + $0 = $0 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + return HEAP32[((HEAP32[($3 + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0; + } + + function btAlignedObjectArray_btSolverConstraint___allocSize_28int_29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, $9 = 0; + $4 = __stack_pointer - 16 | 0; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + label$1 : { + label$2 : { + if (!(HEAP32[($4 + 8 | 0) >> 2] | 0)) { + break label$2 + } + $9 = (HEAP32[($4 + 8 | 0) >> 2] | 0) << 1 | 0; + break label$1; + } + $9 = 1; + } + return $9 | 0; + } + + function btAlignedObjectArray_btSolverConstraint___reserve_28int_29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, $5 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; + label$1 : { + if (!((btAlignedObjectArray_btSolverConstraint___capacity_28_29_20const($5 | 0) | 0 | 0) < (HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$1 + } + (wasm2js_i32$0 = $4, wasm2js_i32$1 = btAlignedObjectArray_btSolverConstraint___allocate_28int_29($5 | 0, HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + btAlignedObjectArray_btSolverConstraint___copy_28int_2c_20int_2c_20btSolverConstraint__29_20const($5 | 0, 0 | 0, btAlignedObjectArray_btSolverConstraint___size_28_29_20const($5 | 0) | 0 | 0, HEAP32[($4 + 4 | 0) >> 2] | 0 | 0); + btAlignedObjectArray_btSolverConstraint___destroy_28int_2c_20int_29($5 | 0, 0 | 0, btAlignedObjectArray_btSolverConstraint___size_28_29_20const($5 | 0) | 0 | 0); + btAlignedObjectArray_btSolverConstraint___deallocate_28_29($5 | 0); + HEAP8[($5 + 16 | 0) >> 0] = 1; + HEAP32[($5 + 12 | 0) >> 2] = HEAP32[($4 + 4 | 0) >> 2] | 0; + HEAP32[($5 + 8 | 0) >> 2] = HEAP32[($4 + 8 | 0) >> 2] | 0; + } + __stack_pointer = $4 + 16 | 0; + return; + } + + function btSequentialImpulseConstraintSolver__setupTorsionalFrictionConstraint_28btSolverConstraint__2c_20btVector3_20const__2c_20int_2c_20int_2c_20btManifoldPoint__2c_20float_2c_20btVector3_20const__2c_20btVector3_20const__2c_20btCollisionObject__2c_20btCollisionObject__2c_20float_2c_20float_2c_20float_29($0, $1, $2, $3, $4, $5, $6, $7, $8, $9, $10, $11, $12, $13) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + $4 = $4 | 0; + $5 = $5 | 0; + $6 = Math_fround($6); + $7 = $7 | 0; + $8 = $8 | 0; + $9 = $9 | 0; + $10 = $10 | 0; + $11 = Math_fround($11); + $12 = Math_fround($12); + $13 = Math_fround($13); + var $16 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, $17 = 0, $38 = 0, $40 = 0, $54 = 0, $56 = 0, $98 = 0, $100 = 0, $149 = 0, $151 = 0, $157 = 0, $158 = 0, $167 = 0, $169 = 0, $218 = 0, $220 = 0, $363 = 0, $364 = 0, $447 = 0, $448 = 0, $577 = 0, $590 = 0, $609 = 0, $622 = 0, $714 = 0, $727 = 0, $811 = 0, $824 = 0, $839 = 0, $843 = 0, $852 = 0, $865 = 0, $949 = 0, $962 = 0, $296 = Math_fround(0), $305 = Math_fround(0), $314 = 0, $352 = Math_fround(0), $353 = 0, $1235 = 0, $1239 = 0, $396 = 0, $434 = Math_fround(0), $437 = 0, $1393 = 0, $1397 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0, wasm2js_f32$0 = Math_fround(0); + $16 = __stack_pointer - 448 | 0; + __stack_pointer = $16; + HEAP32[($16 + 444 | 0) >> 2] = $0; + HEAP32[($16 + 440 | 0) >> 2] = $1; + HEAP32[($16 + 436 | 0) >> 2] = $2; + HEAP32[($16 + 432 | 0) >> 2] = $3; + HEAP32[($16 + 428 | 0) >> 2] = $4; + HEAP32[($16 + 424 | 0) >> 2] = $5; + HEAPF32[($16 + 420 | 0) >> 2] = $6; + HEAP32[($16 + 416 | 0) >> 2] = $7; + HEAP32[($16 + 412 | 0) >> 2] = $8; + HEAP32[($16 + 408 | 0) >> 2] = $9; + HEAP32[($16 + 404 | 0) >> 2] = $10; + HEAPF32[($16 + 400 | 0) >> 2] = $11; + HEAPF32[($16 + 396 | 0) >> 2] = $12; + HEAPF32[($16 + 392 | 0) >> 2] = $13; + $17 = HEAP32[($16 + 444 | 0) >> 2] | 0; + HEAPF32[($16 + 372 | 0) >> 2] = Math_fround(0 | 0); + HEAPF32[($16 + 368 | 0) >> 2] = Math_fround(0 | 0); + HEAPF32[($16 + 364 | 0) >> 2] = Math_fround(0 | 0); + btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($16 + 376 | 0 | 0, $16 + 372 | 0 | 0, $16 + 368 | 0 | 0, $16 + 364 | 0 | 0) | 0; + $38 = (HEAP32[($16 + 440 | 0) >> 2] | 0) + 16 | 0; + i64toi32_i32$2 = $16; + i64toi32_i32$0 = HEAP32[($16 + 376 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($16 + 380 | 0) >> 2] | 0; + $577 = i64toi32_i32$0; + i64toi32_i32$0 = $38; + HEAP32[i64toi32_i32$0 >> 2] = $577; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $40 = 8; + i64toi32_i32$2 = ($16 + 376 | 0) + $40 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $590 = i64toi32_i32$1; + i64toi32_i32$1 = $38 + $40 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $590; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + operator__28btVector3_20const__29($16 + 348 | 0 | 0, $16 + 376 | 0 | 0); + $54 = (HEAP32[($16 + 440 | 0) >> 2] | 0) + 48 | 0; + i64toi32_i32$2 = $16; + i64toi32_i32$0 = HEAP32[($16 + 348 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($16 + 352 | 0) >> 2] | 0; + $609 = i64toi32_i32$0; + i64toi32_i32$0 = $54; + HEAP32[i64toi32_i32$0 >> 2] = $609; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $56 = 8; + i64toi32_i32$2 = ($16 + 348 | 0) + $56 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $622 = i64toi32_i32$1; + i64toi32_i32$1 = $54 + $56 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $622; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + (wasm2js_i32$0 = $16, wasm2js_i32$1 = btAlignedObjectArray_btSolverBody___operator_5b_5d_28int_29($17 + 4 | 0 | 0, HEAP32[($16 + 432 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 344 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $16, wasm2js_i32$1 = btAlignedObjectArray_btSolverBody___operator_5b_5d_28int_29($17 + 4 | 0 | 0, HEAP32[($16 + 428 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 340 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $16, wasm2js_i32$1 = HEAP32[((btAlignedObjectArray_btSolverBody___operator_5b_5d_28int_29($17 + 4 | 0 | 0, HEAP32[($16 + 432 | 0) >> 2] | 0 | 0) | 0) + 240 | 0) >> 2] | 0), HEAP32[(wasm2js_i32$0 + 336 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $16, wasm2js_i32$1 = HEAP32[((btAlignedObjectArray_btSolverBody___operator_5b_5d_28int_29($17 + 4 | 0 | 0, HEAP32[($16 + 428 | 0) >> 2] | 0 | 0) | 0) + 240 | 0) >> 2] | 0), HEAP32[(wasm2js_i32$0 + 332 | 0) >> 2] = wasm2js_i32$1; + HEAP32[((HEAP32[($16 + 440 | 0) >> 2] | 0) + 144 | 0) >> 2] = HEAP32[($16 + 432 | 0) >> 2] | 0; + HEAP32[((HEAP32[($16 + 440 | 0) >> 2] | 0) + 148 | 0) >> 2] = HEAP32[($16 + 428 | 0) >> 2] | 0; + HEAPF32[((HEAP32[($16 + 440 | 0) >> 2] | 0) + 104 | 0) >> 2] = Math_fround(HEAPF32[($16 + 420 | 0) >> 2]); + HEAP32[((HEAP32[($16 + 440 | 0) >> 2] | 0) + 132 | 0) >> 2] = 0; + HEAPF32[((HEAP32[($16 + 440 | 0) >> 2] | 0) + 100 | 0) >> 2] = Math_fround(0 | 0); + HEAPF32[((HEAP32[($16 + 440 | 0) >> 2] | 0) + 96 | 0) >> 2] = Math_fround(0 | 0); + operator__28btVector3_20const__29($16 + 316 | 0 | 0, HEAP32[($16 + 436 | 0) >> 2] | 0 | 0); + $98 = HEAP32[($16 + 440 | 0) >> 2] | 0; + i64toi32_i32$2 = $16; + i64toi32_i32$0 = HEAP32[($16 + 316 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($16 + 320 | 0) >> 2] | 0; + $714 = i64toi32_i32$0; + i64toi32_i32$0 = $98; + HEAP32[i64toi32_i32$0 >> 2] = $714; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $100 = 8; + i64toi32_i32$2 = ($16 + 316 | 0) + $100 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $727 = i64toi32_i32$1; + i64toi32_i32$1 = $98 + $100 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $727; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + label$1 : { + label$2 : { + if (!((HEAP32[($16 + 336 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$2 + } + operator__28btMatrix3x3_20const__2c_20btVector3_20const__29($16 + 284 | 0 | 0, btRigidBody__getInvInertiaTensorWorld_28_29_20const(HEAP32[($16 + 336 | 0) >> 2] | 0 | 0) | 0 | 0, $16 + 316 | 0 | 0); + operator__28btVector3_20const__2c_20btVector3_20const__29_1($16 + 300 | 0 | 0, $16 + 284 | 0 | 0, btRigidBody__getAngularFactor_28_29_20const(HEAP32[($16 + 336 | 0) >> 2] | 0 | 0) | 0 | 0); + break label$1; + } + HEAPF32[($16 + 280 | 0) >> 2] = Math_fround(0 | 0); + HEAPF32[($16 + 276 | 0) >> 2] = Math_fround(0 | 0); + HEAPF32[($16 + 272 | 0) >> 2] = Math_fround(0 | 0); + btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($16 + 300 | 0 | 0, $16 + 280 | 0 | 0, $16 + 276 | 0 | 0, $16 + 272 | 0 | 0) | 0; + } + $149 = (HEAP32[($16 + 440 | 0) >> 2] | 0) + 64 | 0; + i64toi32_i32$2 = $16; + i64toi32_i32$0 = HEAP32[($16 + 300 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($16 + 304 | 0) >> 2] | 0; + $811 = i64toi32_i32$0; + i64toi32_i32$0 = $149; + HEAP32[i64toi32_i32$0 >> 2] = $811; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $151 = 8; + i64toi32_i32$2 = ($16 + 300 | 0) + $151 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $824 = i64toi32_i32$1; + i64toi32_i32$1 = $149 + $151 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $824; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + $157 = HEAP32[($16 + 436 | 0) >> 2] | 0; + $158 = 8; + i64toi32_i32$2 = $157 + $158 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $839 = i64toi32_i32$0; + i64toi32_i32$0 = ($16 + 256 | 0) + $158 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $839; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$2 = $157; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $843 = i64toi32_i32$1; + i64toi32_i32$1 = $16; + HEAP32[($16 + 256 | 0) >> 2] = $843; + HEAP32[($16 + 260 | 0) >> 2] = i64toi32_i32$0; + $167 = (HEAP32[($16 + 440 | 0) >> 2] | 0) + 32 | 0; + i64toi32_i32$2 = $16; + i64toi32_i32$0 = HEAP32[($16 + 256 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($16 + 260 | 0) >> 2] | 0; + $852 = i64toi32_i32$0; + i64toi32_i32$0 = $167; + HEAP32[i64toi32_i32$0 >> 2] = $852; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $169 = 8; + i64toi32_i32$2 = ($16 + 256 | 0) + $169 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $865 = i64toi32_i32$1; + i64toi32_i32$1 = $167 + $169 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $865; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + label$3 : { + label$4 : { + if (!((HEAP32[($16 + 332 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$4 + } + operator__28btMatrix3x3_20const__2c_20btVector3_20const__29($16 + 224 | 0 | 0, btRigidBody__getInvInertiaTensorWorld_28_29_20const(HEAP32[($16 + 332 | 0) >> 2] | 0 | 0) | 0 | 0, $16 + 256 | 0 | 0); + operator__28btVector3_20const__2c_20btVector3_20const__29_1($16 + 240 | 0 | 0, $16 + 224 | 0 | 0, btRigidBody__getAngularFactor_28_29_20const(HEAP32[($16 + 332 | 0) >> 2] | 0 | 0) | 0 | 0); + break label$3; + } + HEAPF32[($16 + 220 | 0) >> 2] = Math_fround(0 | 0); + HEAPF32[($16 + 216 | 0) >> 2] = Math_fround(0 | 0); + HEAPF32[($16 + 212 | 0) >> 2] = Math_fround(0 | 0); + btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($16 + 240 | 0 | 0, $16 + 220 | 0 | 0, $16 + 216 | 0 | 0, $16 + 212 | 0 | 0) | 0; + } + $218 = (HEAP32[($16 + 440 | 0) >> 2] | 0) + 80 | 0; + i64toi32_i32$2 = $16; + i64toi32_i32$0 = HEAP32[($16 + 240 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($16 + 244 | 0) >> 2] | 0; + $949 = i64toi32_i32$0; + i64toi32_i32$0 = $218; + HEAP32[i64toi32_i32$0 >> 2] = $949; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $220 = 8; + i64toi32_i32$2 = ($16 + 240 | 0) + $220 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $962 = i64toi32_i32$1; + i64toi32_i32$1 = $218 + $220 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $962; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + label$5 : { + label$6 : { + if (!((HEAP32[($16 + 336 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$6 + } + operator__28btMatrix3x3_20const__2c_20btVector3_20const__29($16 + 196 | 0 | 0, btRigidBody__getInvInertiaTensorWorld_28_29_20const(HEAP32[($16 + 336 | 0) >> 2] | 0 | 0) | 0 | 0, HEAP32[($16 + 440 | 0) >> 2] | 0 | 0); + break label$5; + } + HEAPF32[($16 + 192 | 0) >> 2] = Math_fround(0 | 0); + HEAPF32[($16 + 188 | 0) >> 2] = Math_fround(0 | 0); + HEAPF32[($16 + 184 | 0) >> 2] = Math_fround(0 | 0); + btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($16 + 196 | 0 | 0, $16 + 192 | 0 | 0, $16 + 188 | 0 | 0, $16 + 184 | 0 | 0) | 0; + } + label$7 : { + label$8 : { + if (!((HEAP32[($16 + 332 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$8 + } + operator__28btMatrix3x3_20const__2c_20btVector3_20const__29($16 + 168 | 0 | 0, btRigidBody__getInvInertiaTensorWorld_28_29_20const(HEAP32[($16 + 332 | 0) >> 2] | 0 | 0) | 0 | 0, (HEAP32[($16 + 440 | 0) >> 2] | 0) + 32 | 0 | 0); + break label$7; + } + HEAPF32[($16 + 164 | 0) >> 2] = Math_fround(0 | 0); + HEAPF32[($16 + 160 | 0) >> 2] = Math_fround(0 | 0); + HEAPF32[($16 + 156 | 0) >> 2] = Math_fround(0 | 0); + btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($16 + 168 | 0 | 0, $16 + 164 | 0 | 0, $16 + 160 | 0 | 0, $16 + 156 | 0 | 0) | 0; + } + HEAPF32[($16 + 152 | 0) >> 2] = Math_fround(0 | 0); + $296 = Math_fround(btVector3__dot_28btVector3_20const__29_20const($16 + 196 | 0 | 0, HEAP32[($16 + 440 | 0) >> 2] | 0 | 0)); + HEAPF32[($16 + 152 | 0) >> 2] = Math_fround(Math_fround(HEAPF32[($16 + 152 | 0) >> 2]) + $296); + $305 = Math_fround(btVector3__dot_28btVector3_20const__29_20const($16 + 168 | 0 | 0, (HEAP32[($16 + 440 | 0) >> 2] | 0) + 32 | 0 | 0)); + HEAPF32[($16 + 152 | 0) >> 2] = Math_fround(Math_fround(HEAPF32[($16 + 152 | 0) >> 2]) + $305); + HEAPF32[((HEAP32[($16 + 440 | 0) >> 2] | 0) + 108 | 0) >> 2] = Math_fround(Math_fround(1.0) / Math_fround(HEAPF32[($16 + 152 | 0) >> 2])); + $314 = (HEAP32[($16 + 440 | 0) >> 2] | 0) + 16 | 0; + label$9 : { + label$10 : { + if (!((HEAP32[($16 + 336 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$10 + } + operator__28btVector3_20const__2c_20btVector3_20const__29_2($16 + 128 | 0 | 0, (HEAP32[($16 + 344 | 0) >> 2] | 0) + 176 | 0 | 0, (HEAP32[($16 + 344 | 0) >> 2] | 0) + 208 | 0 | 0); + break label$9; + } + HEAPF32[($16 + 124 | 0) >> 2] = Math_fround(0 | 0); + HEAPF32[($16 + 120 | 0) >> 2] = Math_fround(0 | 0); + HEAPF32[($16 + 116 | 0) >> 2] = Math_fround(0 | 0); + btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($16 + 128 | 0 | 0, $16 + 124 | 0 | 0, $16 + 120 | 0 | 0, $16 + 116 | 0 | 0) | 0; + } + $352 = Math_fround(btVector3__dot_28btVector3_20const__29_20const($314 | 0, $16 + 128 | 0 | 0)); + $353 = HEAP32[($16 + 440 | 0) >> 2] | 0; + label$11 : { + label$12 : { + if (!((HEAP32[($16 + 336 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$12 + } + $363 = (HEAP32[($16 + 344 | 0) >> 2] | 0) + 192 | 0; + $364 = 8; + i64toi32_i32$2 = $363 + $364 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $1235 = i64toi32_i32$0; + i64toi32_i32$0 = ($16 + 96 | 0) + $364 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $1235; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$2 = $363; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $1239 = i64toi32_i32$1; + i64toi32_i32$1 = $16; + HEAP32[($16 + 96 | 0) >> 2] = $1239; + HEAP32[($16 + 100 | 0) >> 2] = i64toi32_i32$0; + break label$11; + } + HEAPF32[($16 + 92 | 0) >> 2] = Math_fround(0 | 0); + HEAPF32[($16 + 88 | 0) >> 2] = Math_fround(0 | 0); + HEAPF32[($16 + 84 | 0) >> 2] = Math_fround(0 | 0); + btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($16 + 96 | 0 | 0, $16 + 92 | 0 | 0, $16 + 88 | 0 | 0, $16 + 84 | 0 | 0) | 0; + } + (wasm2js_i32$0 = $16, wasm2js_f32$0 = Math_fround($352 + Math_fround(btVector3__dot_28btVector3_20const__29_20const($353 | 0, $16 + 96 | 0 | 0)))), HEAPF32[(wasm2js_i32$0 + 144 | 0) >> 2] = wasm2js_f32$0; + $396 = (HEAP32[($16 + 440 | 0) >> 2] | 0) + 48 | 0; + label$13 : { + label$14 : { + if (!((HEAP32[($16 + 332 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$14 + } + operator__28btVector3_20const__2c_20btVector3_20const__29_2($16 + 64 | 0 | 0, (HEAP32[($16 + 340 | 0) >> 2] | 0) + 176 | 0 | 0, (HEAP32[($16 + 340 | 0) >> 2] | 0) + 208 | 0 | 0); + break label$13; + } + HEAPF32[($16 + 60 | 0) >> 2] = Math_fround(0 | 0); + HEAPF32[($16 + 56 | 0) >> 2] = Math_fround(0 | 0); + HEAPF32[($16 + 52 | 0) >> 2] = Math_fround(0 | 0); + btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($16 + 64 | 0 | 0, $16 + 60 | 0 | 0, $16 + 56 | 0 | 0, $16 + 52 | 0 | 0) | 0; + } + $434 = Math_fround(btVector3__dot_28btVector3_20const__29_20const($396 | 0, $16 + 64 | 0 | 0)); + $437 = (HEAP32[($16 + 440 | 0) >> 2] | 0) + 32 | 0; + label$15 : { + label$16 : { + if (!((HEAP32[($16 + 332 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$16 + } + $447 = (HEAP32[($16 + 340 | 0) >> 2] | 0) + 192 | 0; + $448 = 8; + i64toi32_i32$2 = $447 + $448 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $1393 = i64toi32_i32$0; + i64toi32_i32$0 = ($16 + 32 | 0) + $448 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $1393; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$2 = $447; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $1397 = i64toi32_i32$1; + i64toi32_i32$1 = $16; + HEAP32[($16 + 32 | 0) >> 2] = $1397; + HEAP32[($16 + 36 | 0) >> 2] = i64toi32_i32$0; + break label$15; + } + HEAPF32[($16 + 28 | 0) >> 2] = Math_fround(0 | 0); + HEAPF32[($16 + 24 | 0) >> 2] = Math_fround(0 | 0); + HEAPF32[($16 + 20 | 0) >> 2] = Math_fround(0 | 0); + btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($16 + 32 | 0 | 0, $16 + 28 | 0 | 0, $16 + 24 | 0 | 0, $16 + 20 | 0 | 0) | 0; + } + (wasm2js_i32$0 = $16, wasm2js_f32$0 = Math_fround($434 + Math_fround(btVector3__dot_28btVector3_20const__29_20const($437 | 0, $16 + 32 | 0 | 0)))), HEAPF32[(wasm2js_i32$0 + 80 | 0) >> 2] = wasm2js_f32$0; + HEAPF32[($16 + 148 | 0) >> 2] = Math_fround(Math_fround(HEAPF32[($16 + 144 | 0) >> 2]) + Math_fround(HEAPF32[($16 + 80 | 0) >> 2])); + HEAPF32[($16 + 16 | 0) >> 2] = Math_fround(Math_fround(HEAPF32[($16 + 396 | 0) >> 2]) - Math_fround(HEAPF32[($16 + 148 | 0) >> 2])); + HEAPF32[($16 + 12 | 0) >> 2] = Math_fround(Math_fround(HEAPF32[($16 + 16 | 0) >> 2]) * Math_fround(HEAPF32[((HEAP32[($16 + 440 | 0) >> 2] | 0) + 108 | 0) >> 2])); + HEAPF32[((HEAP32[($16 + 440 | 0) >> 2] | 0) + 112 | 0) >> 2] = Math_fround(HEAPF32[($16 + 12 | 0) >> 2]); + HEAPF32[((HEAP32[($16 + 440 | 0) >> 2] | 0) + 116 | 0) >> 2] = Math_fround(HEAPF32[($16 + 392 | 0) >> 2]); + HEAPF32[((HEAP32[($16 + 440 | 0) >> 2] | 0) + 120 | 0) >> 2] = Math_fround(-Math_fround(HEAPF32[((HEAP32[($16 + 440 | 0) >> 2] | 0) + 104 | 0) >> 2])); + HEAPF32[((HEAP32[($16 + 440 | 0) >> 2] | 0) + 124 | 0) >> 2] = Math_fround(HEAPF32[((HEAP32[($16 + 440 | 0) >> 2] | 0) + 104 | 0) >> 2]); + __stack_pointer = $16 + 448 | 0; + return; + } + + function btSequentialImpulseConstraintSolver__addTorsionalFrictionConstraint_28btVector3_20const__2c_20int_2c_20int_2c_20int_2c_20btManifoldPoint__2c_20float_2c_20btVector3_20const__2c_20btVector3_20const__2c_20btCollisionObject__2c_20btCollisionObject__2c_20float_2c_20float_2c_20float_29($0, $1, $2, $3, $4, $5, $6, $7, $8, $9, $10, $11, $12, $13) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + $4 = $4 | 0; + $5 = $5 | 0; + $6 = Math_fround($6); + $7 = $7 | 0; + $8 = $8 | 0; + $9 = $9 | 0; + $10 = $10 | 0; + $11 = Math_fround($11); + $12 = Math_fround($12); + $13 = Math_fround($13); + var $16 = 0, $17 = 0, $36 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $16 = __stack_pointer - 64 | 0; + __stack_pointer = $16; + HEAP32[($16 + 60 | 0) >> 2] = $0; + HEAP32[($16 + 56 | 0) >> 2] = $1; + HEAP32[($16 + 52 | 0) >> 2] = $2; + HEAP32[($16 + 48 | 0) >> 2] = $3; + HEAP32[($16 + 44 | 0) >> 2] = $4; + HEAP32[($16 + 40 | 0) >> 2] = $5; + HEAPF32[($16 + 36 | 0) >> 2] = $6; + HEAP32[($16 + 32 | 0) >> 2] = $7; + HEAP32[($16 + 28 | 0) >> 2] = $8; + HEAP32[($16 + 24 | 0) >> 2] = $9; + HEAP32[($16 + 20 | 0) >> 2] = $10; + HEAPF32[($16 + 16 | 0) >> 2] = $11; + HEAPF32[($16 + 12 | 0) >> 2] = $12; + HEAPF32[($16 + 8 | 0) >> 2] = $13; + $17 = HEAP32[($16 + 60 | 0) >> 2] | 0; + (wasm2js_i32$0 = $16, wasm2js_i32$1 = btAlignedObjectArray_btSolverConstraint___expandNonInitializing_28_29($17 + 84 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + HEAP32[((HEAP32[($16 + 4 | 0) >> 2] | 0) + 140 | 0) >> 2] = HEAP32[($16 + 44 | 0) >> 2] | 0; + btSequentialImpulseConstraintSolver__setupTorsionalFrictionConstraint_28btSolverConstraint__2c_20btVector3_20const__2c_20int_2c_20int_2c_20btManifoldPoint__2c_20float_2c_20btVector3_20const__2c_20btVector3_20const__2c_20btCollisionObject__2c_20btCollisionObject__2c_20float_2c_20float_2c_20float_29($17 | 0, HEAP32[($16 + 4 | 0) >> 2] | 0 | 0, HEAP32[($16 + 56 | 0) >> 2] | 0 | 0, HEAP32[($16 + 52 | 0) >> 2] | 0 | 0, HEAP32[($16 + 48 | 0) >> 2] | 0 | 0, HEAP32[($16 + 40 | 0) >> 2] | 0 | 0, Math_fround(Math_fround(HEAPF32[($16 + 36 | 0) >> 2])), HEAP32[($16 + 32 | 0) >> 2] | 0 | 0, HEAP32[($16 + 28 | 0) >> 2] | 0 | 0, HEAP32[($16 + 24 | 0) >> 2] | 0 | 0, HEAP32[($16 + 20 | 0) >> 2] | 0 | 0, Math_fround(Math_fround(HEAPF32[($16 + 16 | 0) >> 2])), Math_fround(Math_fround(HEAPF32[($16 + 12 | 0) >> 2])), Math_fround(Math_fround(HEAPF32[($16 + 8 | 0) >> 2]))); + $36 = HEAP32[($16 + 4 | 0) >> 2] | 0; + __stack_pointer = $16 + 64 | 0; + return $36 | 0; + } + + function btSequentialImpulseConstraintSolver__getOrInitSolverBody_28btCollisionObject__2c_20float_29($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = Math_fround($2); + var $5 = 0, $6 = 0, $100 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5 = __stack_pointer - 528 | 0; + __stack_pointer = $5; + HEAP32[($5 + 520 | 0) >> 2] = $0; + HEAP32[($5 + 516 | 0) >> 2] = $1; + HEAPF32[($5 + 512 | 0) >> 2] = $2; + $6 = HEAP32[($5 + 520 | 0) >> 2] | 0; + HEAP32[($5 + 508 | 0) >> 2] = -1; + label$1 : { + label$2 : { + label$3 : { + if (!((btCollisionObject__getCompanionId_28_29_20const(HEAP32[($5 + 516 | 0) >> 2] | 0 | 0) | 0 | 0) >= (0 | 0) & 1 | 0)) { + break label$3 + } + (wasm2js_i32$0 = $5, wasm2js_i32$1 = btCollisionObject__getCompanionId_28_29_20const(HEAP32[($5 + 516 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 508 | 0) >> 2] = wasm2js_i32$1; + label$4 : { + if ((HEAP32[($5 + 508 | 0) >> 2] | 0 | 0) < (btAlignedObjectArray_btSolverBody___size_28_29_20const($6 + 4 | 0 | 0) | 0 | 0) & 1 | 0) { + break label$4 + } + __assert_fail(87662 | 0, 72591 | 0, 807 | 0, 66064 | 0); + wasm2js_trap(); + } + break label$2; + } + (wasm2js_i32$0 = $5, wasm2js_i32$1 = btRigidBody__upcast_28btCollisionObject__29(HEAP32[($5 + 516 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 504 | 0) >> 2] = wasm2js_i32$1; + label$5 : { + label$6 : { + if (!((HEAP32[($5 + 504 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$6 + } + label$7 : { + if (Math_fround(btRigidBody__getInvMass_28_29_20const(HEAP32[($5 + 504 | 0) >> 2] | 0 | 0)) != Math_fround(0 | 0) & 1 | 0) { + break label$7 + } + if (!((btCollisionObject__isKinematicObject_28_29_20const(HEAP32[($5 + 504 | 0) >> 2] | 0 | 0) | 0) & 1 | 0)) { + break label$6 + } + } + (wasm2js_i32$0 = $5, wasm2js_i32$1 = btAlignedObjectArray_btSolverBody___size_28_29_20const($6 + 4 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 508 | 0) >> 2] = wasm2js_i32$1; + __memset($5 + 256 | 0 | 0, 0 | 0, 244 | 0) | 0; + btSolverBody__btSolverBody_28_29($5 + 256 | 0 | 0) | 0; + (wasm2js_i32$0 = $5, wasm2js_i32$1 = btAlignedObjectArray_btSolverBody___expand_28btSolverBody_20const__29($6 + 4 | 0 | 0, $5 + 256 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 500 | 0) >> 2] = wasm2js_i32$1; + btSequentialImpulseConstraintSolver__initSolverBody_28btSolverBody__2c_20btCollisionObject__2c_20float_29($6 | 0, HEAP32[($5 + 500 | 0) >> 2] | 0 | 0, HEAP32[($5 + 516 | 0) >> 2] | 0 | 0, Math_fround(Math_fround(HEAPF32[($5 + 512 | 0) >> 2]))); + btCollisionObject__setCompanionId_28int_29(HEAP32[($5 + 516 | 0) >> 2] | 0 | 0, HEAP32[($5 + 508 | 0) >> 2] | 0 | 0); + break label$5; + } + label$8 : { + if (!((HEAP32[($6 + 188 | 0) >> 2] | 0 | 0) < (0 | 0) & 1 | 0)) { + break label$8 + } + (wasm2js_i32$0 = $6, wasm2js_i32$1 = btAlignedObjectArray_btSolverBody___size_28_29_20const($6 + 4 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 188 | 0) >> 2] = wasm2js_i32$1; + __memset($5 + 8 | 0 | 0, 0 | 0, 244 | 0) | 0; + btSolverBody__btSolverBody_28_29($5 + 8 | 0 | 0) | 0; + (wasm2js_i32$0 = $5, wasm2js_i32$1 = btAlignedObjectArray_btSolverBody___expand_28btSolverBody_20const__29($6 + 4 | 0 | 0, $5 + 8 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 252 | 0) >> 2] = wasm2js_i32$1; + btSequentialImpulseConstraintSolver__initSolverBody_28btSolverBody__2c_20btCollisionObject__2c_20float_29($6 | 0, HEAP32[($5 + 252 | 0) >> 2] | 0 | 0, 0 | 0, Math_fround(Math_fround(HEAPF32[($5 + 512 | 0) >> 2]))); + } + HEAP32[($5 + 524 | 0) >> 2] = HEAP32[($6 + 188 | 0) >> 2] | 0; + break label$1; + } + } + HEAP32[($5 + 524 | 0) >> 2] = HEAP32[($5 + 508 | 0) >> 2] | 0; + } + $100 = HEAP32[($5 + 524 | 0) >> 2] | 0; + __stack_pointer = $5 + 528 | 0; + return $100 | 0; + } + + function btCollisionObject__getCompanionId_28_29_20const($0) { + $0 = $0 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + return HEAP32[((HEAP32[($3 + 12 | 0) >> 2] | 0) + 212 | 0) >> 2] | 0 | 0; + } + + function btSolverBody__btSolverBody_28_29($0) { + $0 = $0 | 0; + var $4 = 0, $3 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + btTransform__btTransform_28_29($4 | 0) | 0; + btVector3__btVector3_28_29($4 + 64 | 0 | 0) | 0; + btVector3__btVector3_28_29($4 + 80 | 0 | 0) | 0; + btVector3__btVector3_28_29($4 + 96 | 0 | 0) | 0; + btVector3__btVector3_28_29($4 + 112 | 0 | 0) | 0; + btVector3__btVector3_28_29($4 + 128 | 0 | 0) | 0; + btVector3__btVector3_28_29($4 + 144 | 0 | 0) | 0; + btVector3__btVector3_28_29($4 + 160 | 0 | 0) | 0; + btVector3__btVector3_28_29($4 + 176 | 0 | 0) | 0; + btVector3__btVector3_28_29($4 + 192 | 0 | 0) | 0; + btVector3__btVector3_28_29($4 + 208 | 0 | 0) | 0; + btVector3__btVector3_28_29($4 + 224 | 0 | 0) | 0; + __stack_pointer = $3 + 16 | 0; + return $4 | 0; + } + + function btAlignedObjectArray_btSolverBody___expand_28btSolverBody_20const__29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, $5 = 0, $31 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; + (wasm2js_i32$0 = $4, wasm2js_i32$1 = btAlignedObjectArray_btSolverBody___size_28_29_20const($5 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + if (!((HEAP32[($4 + 4 | 0) >> 2] | 0 | 0) == (btAlignedObjectArray_btSolverBody___capacity_28_29_20const($5 | 0) | 0 | 0) & 1 | 0)) { + break label$1 + } + btAlignedObjectArray_btSolverBody___reserve_28int_29($5 | 0, btAlignedObjectArray_btSolverBody___allocSize_28int_29($5 | 0, btAlignedObjectArray_btSolverBody___size_28_29_20const($5 | 0) | 0 | 0) | 0 | 0); + } + HEAP32[($5 + 4 | 0) >> 2] = (HEAP32[($5 + 4 | 0) >> 2] | 0) + 1 | 0; + btSolverBody__btSolverBody_28btSolverBody_20const__29(btSolverBody__operator_20new_28unsigned_20long_2c_20void__29(244 | 0, (HEAP32[($5 + 12 | 0) >> 2] | 0) + Math_imul(HEAP32[($4 + 4 | 0) >> 2] | 0, 244) | 0 | 0) | 0 | 0, HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) | 0; + $31 = (HEAP32[($5 + 12 | 0) >> 2] | 0) + Math_imul(HEAP32[($4 + 4 | 0) >> 2] | 0, 244) | 0; + __stack_pointer = $4 + 16 | 0; + return $31 | 0; + } + + function btCollisionObject__setCompanionId_28int_29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0; + $4 = __stack_pointer - 16 | 0; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + HEAP32[((HEAP32[($4 + 12 | 0) >> 2] | 0) + 212 | 0) >> 2] = HEAP32[($4 + 8 | 0) >> 2] | 0; + return; + } + + function btAlignedObjectArray_btSolverBody___capacity_28_29_20const($0) { + $0 = $0 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + return HEAP32[((HEAP32[($3 + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0; + } + + function btAlignedObjectArray_btSolverBody___allocSize_28int_29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, $9 = 0; + $4 = __stack_pointer - 16 | 0; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + label$1 : { + label$2 : { + if (!(HEAP32[($4 + 8 | 0) >> 2] | 0)) { + break label$2 + } + $9 = (HEAP32[($4 + 8 | 0) >> 2] | 0) << 1 | 0; + break label$1; + } + $9 = 1; + } + return $9 | 0; + } + + function btAlignedObjectArray_btSolverBody___reserve_28int_29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, $5 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; + label$1 : { + if (!((btAlignedObjectArray_btSolverBody___capacity_28_29_20const($5 | 0) | 0 | 0) < (HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$1 + } + (wasm2js_i32$0 = $4, wasm2js_i32$1 = btAlignedObjectArray_btSolverBody___allocate_28int_29($5 | 0, HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + btAlignedObjectArray_btSolverBody___copy_28int_2c_20int_2c_20btSolverBody__29_20const($5 | 0, 0 | 0, btAlignedObjectArray_btSolverBody___size_28_29_20const($5 | 0) | 0 | 0, HEAP32[($4 + 4 | 0) >> 2] | 0 | 0); + btAlignedObjectArray_btSolverBody___destroy_28int_2c_20int_29($5 | 0, 0 | 0, btAlignedObjectArray_btSolverBody___size_28_29_20const($5 | 0) | 0 | 0); + btAlignedObjectArray_btSolverBody___deallocate_28_29($5 | 0); + HEAP8[($5 + 16 | 0) >> 0] = 1; + HEAP32[($5 + 12 | 0) >> 2] = HEAP32[($4 + 4 | 0) >> 2] | 0; + HEAP32[($5 + 8 | 0) >> 2] = HEAP32[($4 + 8 | 0) >> 2] | 0; + } + __stack_pointer = $4 + 16 | 0; + return; + } + + function btSolverBody__operator_20new_28unsigned_20long_2c_20void__29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0; + $4 = __stack_pointer - 16 | 0; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + return HEAP32[($4 + 8 | 0) >> 2] | 0 | 0; + } + + function btSolverBody__btSolverBody_28btSolverBody_20const__29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, $5 = 0; + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; + btTransform__btTransform_28btTransform_20const__29($5 | 0, HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) | 0; + __memcpy($5 + 64 | 0 | 0, (HEAP32[($4 + 8 | 0) >> 2] | 0) + 64 | 0 | 0, 180 | 0) | 0; + __stack_pointer = $4 + 16 | 0; + return $5 | 0; + } + + function btSequentialImpulseConstraintSolver__setupContactConstraint_28btSolverConstraint__2c_20int_2c_20int_2c_20btManifoldPoint__2c_20btContactSolverInfo_20const__2c_20float__2c_20btVector3_20const__2c_20btVector3_20const__29($0, $1, $2, $3, $4, $5, $6, $7, $8) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + $4 = $4 | 0; + $5 = $5 | 0; + $6 = $6 | 0; + $7 = $7 | 0; + $8 = $8 | 0; + var $11 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, $12 = 0, $137 = 0, $139 = 0, $201 = 0, $203 = 0, $230 = 0, $269 = 0, $310 = 0, $312 = 0, $316 = 0, $318 = 0, $343 = 0, $345 = 0, $359 = 0, $361 = 0, $416 = 0, $455 = 0, $600 = 0, $601 = 0, $636 = 0, $637 = 0, $672 = 0, $673 = 0, $708 = 0, $709 = 0, $1170 = 0, $1183 = 0, $160 = 0, $1291 = 0, $1304 = 0, $1360 = 0, $1364 = 0, $1437 = 0, $1441 = 0, $1515 = 0, $1525 = 0, $1531 = 0, $1544 = 0, $1585 = 0, $1598 = 0, $1617 = 0, $1630 = 0, $1743 = 0, $1747 = 0, $1819 = 0, $1823 = 0, $514 = 0, $546 = 0, $2107 = 0, $2111 = 0, $2176 = 0, $2180 = 0, $2245 = 0, $2249 = 0, $2314 = 0, $2318 = 0, $736 = 0, $749 = Math_fround(0), $750 = 0, $767 = 0, $780 = Math_fround(0), $783 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0, wasm2js_f32$0 = Math_fround(0); + $11 = __stack_pointer - 752 | 0; + __stack_pointer = $11; + HEAP32[($11 + 748 | 0) >> 2] = $0; + HEAP32[($11 + 744 | 0) >> 2] = $1; + HEAP32[($11 + 740 | 0) >> 2] = $2; + HEAP32[($11 + 736 | 0) >> 2] = $3; + HEAP32[($11 + 732 | 0) >> 2] = $4; + HEAP32[($11 + 728 | 0) >> 2] = $5; + HEAP32[($11 + 724 | 0) >> 2] = $6; + HEAP32[($11 + 720 | 0) >> 2] = $7; + HEAP32[($11 + 716 | 0) >> 2] = $8; + $12 = HEAP32[($11 + 748 | 0) >> 2] | 0; + (wasm2js_i32$0 = $11, wasm2js_i32$1 = btAlignedObjectArray_btSolverBody___operator_5b_5d_28int_29($12 + 4 | 0 | 0, HEAP32[($11 + 740 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 712 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $11, wasm2js_i32$1 = btAlignedObjectArray_btSolverBody___operator_5b_5d_28int_29($12 + 4 | 0 | 0, HEAP32[($11 + 736 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 708 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($11 + 704 | 0) >> 2] = HEAP32[((HEAP32[($11 + 712 | 0) >> 2] | 0) + 240 | 0) >> 2] | 0; + HEAP32[($11 + 700 | 0) >> 2] = HEAP32[((HEAP32[($11 + 708 | 0) >> 2] | 0) + 240 | 0) >> 2] | 0; + HEAPF32[(HEAP32[($11 + 724 | 0) >> 2] | 0) >> 2] = Math_fround(HEAPF32[((HEAP32[($11 + 728 | 0) >> 2] | 0) + 28 | 0) >> 2]); + HEAPF32[($11 + 696 | 0) >> 2] = Math_fround(Math_fround(1.0) / Math_fround(HEAPF32[((HEAP32[($11 + 728 | 0) >> 2] | 0) + 12 | 0) >> 2])); + HEAPF32[($11 + 692 | 0) >> 2] = Math_fround(HEAPF32[((HEAP32[($11 + 728 | 0) >> 2] | 0) + 40 | 0) >> 2]); + HEAPF32[($11 + 688 | 0) >> 2] = Math_fround(HEAPF32[((HEAP32[($11 + 728 | 0) >> 2] | 0) + 36 | 0) >> 2]); + label$1 : { + label$2 : { + label$3 : { + if ((HEAP32[((HEAP32[($11 + 732 | 0) >> 2] | 0) + 128 | 0) >> 2] | 0) & 2 | 0) { + break label$3 + } + if (!((HEAP32[((HEAP32[($11 + 732 | 0) >> 2] | 0) + 128 | 0) >> 2] | 0) & 4 | 0)) { + break label$2 + } + } + label$4 : { + if (!((HEAP32[((HEAP32[($11 + 732 | 0) >> 2] | 0) + 128 | 0) >> 2] | 0) & 2 | 0)) { + break label$4 + } + HEAPF32[($11 + 692 | 0) >> 2] = Math_fround(HEAPF32[((HEAP32[($11 + 732 | 0) >> 2] | 0) + 152 | 0) >> 2]); + } + label$5 : { + if (!((HEAP32[((HEAP32[($11 + 732 | 0) >> 2] | 0) + 128 | 0) >> 2] | 0) & 4 | 0)) { + break label$5 + } + HEAPF32[($11 + 688 | 0) >> 2] = Math_fround(HEAPF32[((HEAP32[($11 + 732 | 0) >> 2] | 0) + 156 | 0) >> 2]); + } + break label$1; + } + label$6 : { + if (!((HEAP32[((HEAP32[($11 + 732 | 0) >> 2] | 0) + 128 | 0) >> 2] | 0) & 8 | 0)) { + break label$6 + } + HEAPF32[($11 + 684 | 0) >> 2] = Math_fround(Math_fround(Math_fround(HEAPF32[((HEAP32[($11 + 728 | 0) >> 2] | 0) + 12 | 0) >> 2]) * Math_fround(HEAPF32[((HEAP32[($11 + 732 | 0) >> 2] | 0) + 152 | 0) >> 2])) + Math_fround(HEAPF32[((HEAP32[($11 + 732 | 0) >> 2] | 0) + 156 | 0) >> 2])); + label$7 : { + if (!(Math_fround(HEAPF32[($11 + 684 | 0) >> 2]) < Math_fround(1.1920928955078125e-07) & 1 | 0)) { + break label$7 + } + HEAPF32[($11 + 684 | 0) >> 2] = Math_fround(1.1920928955078125e-07); + } + HEAPF32[($11 + 692 | 0) >> 2] = Math_fround(Math_fround(1.0) / Math_fround(HEAPF32[($11 + 684 | 0) >> 2])); + HEAPF32[($11 + 688 | 0) >> 2] = Math_fround(Math_fround(Math_fround(HEAPF32[((HEAP32[($11 + 728 | 0) >> 2] | 0) + 12 | 0) >> 2]) * Math_fround(HEAPF32[((HEAP32[($11 + 732 | 0) >> 2] | 0) + 152 | 0) >> 2])) / Math_fround(HEAPF32[($11 + 684 | 0) >> 2])); + } + } + HEAPF32[($11 + 692 | 0) >> 2] = Math_fround(Math_fround(HEAPF32[($11 + 692 | 0) >> 2]) * Math_fround(HEAPF32[($11 + 696 | 0) >> 2])); + btVector3__cross_28btVector3_20const__29_20const($11 + 668 | 0 | 0, HEAP32[($11 + 720 | 0) >> 2] | 0 | 0, (HEAP32[($11 + 732 | 0) >> 2] | 0) + 64 | 0 | 0); + label$8 : { + label$9 : { + if (!((HEAP32[($11 + 704 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$9 + } + operator__28btMatrix3x3_20const__2c_20btVector3_20const__29($11 + 636 | 0 | 0, btRigidBody__getInvInertiaTensorWorld_28_29_20const(HEAP32[($11 + 704 | 0) >> 2] | 0 | 0) | 0 | 0, $11 + 668 | 0 | 0); + operator__28btVector3_20const__2c_20btVector3_20const__29_1($11 + 652 | 0 | 0, $11 + 636 | 0 | 0, btRigidBody__getAngularFactor_28_29_20const(HEAP32[($11 + 704 | 0) >> 2] | 0 | 0) | 0 | 0); + break label$8; + } + HEAPF32[($11 + 632 | 0) >> 2] = Math_fround(0 | 0); + HEAPF32[($11 + 628 | 0) >> 2] = Math_fround(0 | 0); + HEAPF32[($11 + 624 | 0) >> 2] = Math_fround(0 | 0); + btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($11 + 652 | 0 | 0, $11 + 632 | 0 | 0, $11 + 628 | 0 | 0, $11 + 624 | 0 | 0) | 0; + } + $137 = (HEAP32[($11 + 744 | 0) >> 2] | 0) + 64 | 0; + i64toi32_i32$2 = $11; + i64toi32_i32$0 = HEAP32[($11 + 652 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($11 + 656 | 0) >> 2] | 0; + $1170 = i64toi32_i32$0; + i64toi32_i32$0 = $137; + HEAP32[i64toi32_i32$0 >> 2] = $1170; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $139 = 8; + i64toi32_i32$2 = ($11 + 652 | 0) + $139 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $1183 = i64toi32_i32$1; + i64toi32_i32$1 = $137 + $139 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $1183; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + btVector3__cross_28btVector3_20const__29_20const($11 + 608 | 0 | 0, HEAP32[($11 + 716 | 0) >> 2] | 0 | 0, (HEAP32[($11 + 732 | 0) >> 2] | 0) + 64 | 0 | 0); + label$10 : { + label$11 : { + if (!((HEAP32[($11 + 700 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$11 + } + $160 = btRigidBody__getInvInertiaTensorWorld_28_29_20const(HEAP32[($11 + 700 | 0) >> 2] | 0 | 0) | 0; + operator__28btVector3_20const__29($11 + 560 | 0 | 0, $11 + 608 | 0 | 0); + operator__28btMatrix3x3_20const__2c_20btVector3_20const__29($11 + 576 | 0 | 0, $160 | 0, $11 + 560 | 0 | 0); + operator__28btVector3_20const__2c_20btVector3_20const__29_1($11 + 592 | 0 | 0, $11 + 576 | 0 | 0, btRigidBody__getAngularFactor_28_29_20const(HEAP32[($11 + 700 | 0) >> 2] | 0 | 0) | 0 | 0); + break label$10; + } + HEAPF32[($11 + 556 | 0) >> 2] = Math_fround(0 | 0); + HEAPF32[($11 + 552 | 0) >> 2] = Math_fround(0 | 0); + HEAPF32[($11 + 548 | 0) >> 2] = Math_fround(0 | 0); + btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($11 + 592 | 0 | 0, $11 + 556 | 0 | 0, $11 + 552 | 0 | 0, $11 + 548 | 0 | 0) | 0; + } + $201 = (HEAP32[($11 + 744 | 0) >> 2] | 0) + 80 | 0; + i64toi32_i32$2 = $11; + i64toi32_i32$0 = HEAP32[($11 + 592 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($11 + 596 | 0) >> 2] | 0; + $1291 = i64toi32_i32$0; + i64toi32_i32$0 = $201; + HEAP32[i64toi32_i32$0 >> 2] = $1291; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $203 = 8; + i64toi32_i32$2 = ($11 + 592 | 0) + $203 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $1304 = i64toi32_i32$1; + i64toi32_i32$1 = $201 + $203 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $1304; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + btVector3__btVector3_28_29($11 + 528 | 0 | 0) | 0; + HEAPF32[($11 + 524 | 0) >> 2] = Math_fround(0 | 0); + HEAPF32[($11 + 520 | 0) >> 2] = Math_fround(0 | 0); + label$12 : { + if (!((HEAP32[($11 + 704 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$12 + } + btVector3__cross_28btVector3_20const__29_20const($11 + 504 | 0 | 0, (HEAP32[($11 + 744 | 0) >> 2] | 0) + 64 | 0 | 0, HEAP32[($11 + 720 | 0) >> 2] | 0 | 0); + $230 = 8; + i64toi32_i32$2 = ($11 + 504 | 0) + $230 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $1360 = i64toi32_i32$0; + i64toi32_i32$0 = ($11 + 528 | 0) + $230 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $1360; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$2 = $11; + i64toi32_i32$1 = HEAP32[($11 + 504 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($11 + 508 | 0) >> 2] | 0; + $1364 = i64toi32_i32$1; + i64toi32_i32$1 = $11; + HEAP32[($11 + 528 | 0) >> 2] = $1364; + HEAP32[($11 + 532 | 0) >> 2] = i64toi32_i32$0; + (wasm2js_i32$0 = $11, wasm2js_f32$0 = Math_fround(Math_fround(btRigidBody__getInvMass_28_29_20const(HEAP32[($11 + 704 | 0) >> 2] | 0 | 0)) + Math_fround(btVector3__dot_28btVector3_20const__29_20const((HEAP32[($11 + 732 | 0) >> 2] | 0) + 64 | 0 | 0, $11 + 528 | 0 | 0)))), HEAPF32[(wasm2js_i32$0 + 524 | 0) >> 2] = wasm2js_f32$0; + } + label$13 : { + if (!((HEAP32[($11 + 700 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$13 + } + operator__28btVector3_20const__29($11 + 472 | 0 | 0, (HEAP32[($11 + 744 | 0) >> 2] | 0) + 80 | 0 | 0); + btVector3__cross_28btVector3_20const__29_20const($11 + 488 | 0 | 0, $11 + 472 | 0 | 0, HEAP32[($11 + 716 | 0) >> 2] | 0 | 0); + $269 = 8; + i64toi32_i32$2 = ($11 + 488 | 0) + $269 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $1437 = i64toi32_i32$0; + i64toi32_i32$0 = ($11 + 528 | 0) + $269 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $1437; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$2 = $11; + i64toi32_i32$1 = HEAP32[($11 + 488 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($11 + 492 | 0) >> 2] | 0; + $1441 = i64toi32_i32$1; + i64toi32_i32$1 = $11; + HEAP32[($11 + 528 | 0) >> 2] = $1441; + HEAP32[($11 + 532 | 0) >> 2] = i64toi32_i32$0; + (wasm2js_i32$0 = $11, wasm2js_f32$0 = Math_fround(Math_fround(btRigidBody__getInvMass_28_29_20const(HEAP32[($11 + 700 | 0) >> 2] | 0 | 0)) + Math_fround(btVector3__dot_28btVector3_20const__29_20const((HEAP32[($11 + 732 | 0) >> 2] | 0) + 64 | 0 | 0, $11 + 528 | 0 | 0)))), HEAPF32[(wasm2js_i32$0 + 520 | 0) >> 2] = wasm2js_f32$0; + } + HEAPF32[($11 + 468 | 0) >> 2] = Math_fround(Math_fround(HEAPF32[(HEAP32[($11 + 724 | 0) >> 2] | 0) >> 2]) / Math_fround(Math_fround(Math_fround(HEAPF32[($11 + 524 | 0) >> 2]) + Math_fround(HEAPF32[($11 + 520 | 0) >> 2])) + Math_fround(HEAPF32[($11 + 692 | 0) >> 2]))); + HEAPF32[((HEAP32[($11 + 744 | 0) >> 2] | 0) + 108 | 0) >> 2] = Math_fround(HEAPF32[($11 + 468 | 0) >> 2]); + label$14 : { + label$15 : { + if (!((HEAP32[($11 + 704 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$15 + } + $310 = (HEAP32[($11 + 744 | 0) >> 2] | 0) + 16 | 0; + i64toi32_i32$2 = (HEAP32[($11 + 732 | 0) >> 2] | 0) + 64 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $1515 = i64toi32_i32$0; + i64toi32_i32$0 = $310; + HEAP32[i64toi32_i32$0 >> 2] = $1515; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $312 = 8; + i64toi32_i32$2 = i64toi32_i32$2 + $312 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $1525 = i64toi32_i32$1; + i64toi32_i32$1 = $310 + $312 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $1525; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + $316 = HEAP32[($11 + 744 | 0) >> 2] | 0; + i64toi32_i32$2 = $11; + i64toi32_i32$0 = HEAP32[($11 + 668 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($11 + 672 | 0) >> 2] | 0; + $1531 = i64toi32_i32$0; + i64toi32_i32$0 = $316; + HEAP32[i64toi32_i32$0 >> 2] = $1531; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $318 = 8; + i64toi32_i32$2 = ($11 + 668 | 0) + $318 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $1544 = i64toi32_i32$1; + i64toi32_i32$1 = $316 + $318 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $1544; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + break label$14; + } + btVector3__setZero_28_29((HEAP32[($11 + 744 | 0) >> 2] | 0) + 16 | 0 | 0); + btVector3__setZero_28_29(HEAP32[($11 + 744 | 0) >> 2] | 0 | 0); + } + label$16 : { + label$17 : { + if (!((HEAP32[($11 + 700 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$17 + } + operator__28btVector3_20const__29($11 + 452 | 0 | 0, (HEAP32[($11 + 732 | 0) >> 2] | 0) + 64 | 0 | 0); + $343 = (HEAP32[($11 + 744 | 0) >> 2] | 0) + 48 | 0; + i64toi32_i32$2 = $11; + i64toi32_i32$0 = HEAP32[($11 + 452 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($11 + 456 | 0) >> 2] | 0; + $1585 = i64toi32_i32$0; + i64toi32_i32$0 = $343; + HEAP32[i64toi32_i32$0 >> 2] = $1585; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $345 = 8; + i64toi32_i32$2 = ($11 + 452 | 0) + $345 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $1598 = i64toi32_i32$1; + i64toi32_i32$1 = $343 + $345 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $1598; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + operator__28btVector3_20const__29($11 + 436 | 0 | 0, $11 + 608 | 0 | 0); + $359 = (HEAP32[($11 + 744 | 0) >> 2] | 0) + 32 | 0; + i64toi32_i32$2 = $11; + i64toi32_i32$0 = HEAP32[($11 + 436 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($11 + 440 | 0) >> 2] | 0; + $1617 = i64toi32_i32$0; + i64toi32_i32$0 = $359; + HEAP32[i64toi32_i32$0 >> 2] = $1617; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $361 = 8; + i64toi32_i32$2 = ($11 + 436 | 0) + $361 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $1630 = i64toi32_i32$1; + i64toi32_i32$1 = $359 + $361 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $1630; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + break label$16; + } + btVector3__setZero_28_29((HEAP32[($11 + 744 | 0) >> 2] | 0) + 48 | 0 | 0); + btVector3__setZero_28_29((HEAP32[($11 + 744 | 0) >> 2] | 0) + 32 | 0 | 0); + } + HEAPF32[($11 + 432 | 0) >> 2] = Math_fround(0 | 0); + (wasm2js_i32$0 = $11, wasm2js_f32$0 = Math_fround(Math_fround(btManifoldPoint__getDistance_28_29_20const(HEAP32[($11 + 732 | 0) >> 2] | 0 | 0)) + Math_fround(HEAPF32[((HEAP32[($11 + 728 | 0) >> 2] | 0) + 64 | 0) >> 2]))), HEAPF32[(wasm2js_i32$0 + 428 | 0) >> 2] = wasm2js_f32$0; + btVector3__btVector3_28_29($11 + 408 | 0 | 0) | 0; + btVector3__btVector3_28_29($11 + 392 | 0 | 0) | 0; + label$18 : { + label$19 : { + if (!((HEAP32[($11 + 704 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$19 + } + btRigidBody__getVelocityInLocalPoint_28btVector3_20const__29_20const($11 + 376 | 0 | 0, HEAP32[($11 + 704 | 0) >> 2] | 0 | 0, HEAP32[($11 + 720 | 0) >> 2] | 0 | 0); + break label$18; + } + HEAPF32[($11 + 372 | 0) >> 2] = Math_fround(0 | 0); + HEAPF32[($11 + 368 | 0) >> 2] = Math_fround(0 | 0); + HEAPF32[($11 + 364 | 0) >> 2] = Math_fround(0 | 0); + btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($11 + 376 | 0 | 0, $11 + 372 | 0 | 0, $11 + 368 | 0 | 0, $11 + 364 | 0 | 0) | 0; + } + $416 = 8; + i64toi32_i32$2 = ($11 + 376 | 0) + $416 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $1743 = i64toi32_i32$0; + i64toi32_i32$0 = ($11 + 408 | 0) + $416 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $1743; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$2 = $11; + i64toi32_i32$1 = HEAP32[($11 + 376 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($11 + 380 | 0) >> 2] | 0; + $1747 = i64toi32_i32$1; + i64toi32_i32$1 = $11; + HEAP32[($11 + 408 | 0) >> 2] = $1747; + HEAP32[($11 + 412 | 0) >> 2] = i64toi32_i32$0; + label$20 : { + label$21 : { + if (!((HEAP32[($11 + 700 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$21 + } + btRigidBody__getVelocityInLocalPoint_28btVector3_20const__29_20const($11 + 348 | 0 | 0, HEAP32[($11 + 700 | 0) >> 2] | 0 | 0, HEAP32[($11 + 716 | 0) >> 2] | 0 | 0); + break label$20; + } + HEAPF32[($11 + 344 | 0) >> 2] = Math_fround(0 | 0); + HEAPF32[($11 + 340 | 0) >> 2] = Math_fround(0 | 0); + HEAPF32[($11 + 336 | 0) >> 2] = Math_fround(0 | 0); + btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($11 + 348 | 0 | 0, $11 + 344 | 0 | 0, $11 + 340 | 0 | 0, $11 + 336 | 0 | 0) | 0; + } + $455 = 8; + i64toi32_i32$2 = ($11 + 348 | 0) + $455 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $1819 = i64toi32_i32$0; + i64toi32_i32$0 = ($11 + 392 | 0) + $455 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $1819; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$2 = $11; + i64toi32_i32$1 = HEAP32[($11 + 348 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($11 + 352 | 0) >> 2] | 0; + $1823 = i64toi32_i32$1; + i64toi32_i32$1 = $11; + HEAP32[($11 + 392 | 0) >> 2] = $1823; + HEAP32[($11 + 396 | 0) >> 2] = i64toi32_i32$0; + operator__28btVector3_20const__2c_20btVector3_20const__29($11 + 320 | 0 | 0, $11 + 408 | 0 | 0, $11 + 392 | 0 | 0); + (wasm2js_i32$0 = $11, wasm2js_f32$0 = Math_fround(btVector3__dot_28btVector3_20const__29_20const((HEAP32[($11 + 732 | 0) >> 2] | 0) + 64 | 0 | 0, $11 + 320 | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 316 | 0) >> 2] = wasm2js_f32$0; + HEAPF32[((HEAP32[($11 + 744 | 0) >> 2] | 0) + 104 | 0) >> 2] = Math_fround(HEAPF32[((HEAP32[($11 + 732 | 0) >> 2] | 0) + 84 | 0) >> 2]); + (wasm2js_i32$0 = $11, wasm2js_f32$0 = Math_fround(btSequentialImpulseConstraintSolver__restitutionCurve_28float_2c_20float_2c_20float_29($12 | 0, Math_fround(Math_fround(HEAPF32[($11 + 316 | 0) >> 2])), Math_fround(Math_fround(HEAPF32[((HEAP32[($11 + 732 | 0) >> 2] | 0) + 96 | 0) >> 2])), Math_fround(Math_fround(HEAPF32[((HEAP32[($11 + 728 | 0) >> 2] | 0) + 96 | 0) >> 2]))))), HEAPF32[(wasm2js_i32$0 + 432 | 0) >> 2] = wasm2js_f32$0; + label$22 : { + if (!(Math_fround(HEAPF32[($11 + 432 | 0) >> 2]) <= Math_fround(0 | 0) & 1 | 0)) { + break label$22 + } + HEAPF32[($11 + 432 | 0) >> 2] = Math_fround(0 | 0); + } + label$23 : { + label$24 : { + if (!((HEAP32[((HEAP32[($11 + 728 | 0) >> 2] | 0) + 72 | 0) >> 2] | 0) & 4 | 0)) { + break label$24 + } + HEAPF32[((HEAP32[($11 + 744 | 0) >> 2] | 0) + 100 | 0) >> 2] = Math_fround(Math_fround(HEAPF32[((HEAP32[($11 + 732 | 0) >> 2] | 0) + 132 | 0) >> 2]) * Math_fround(HEAPF32[((HEAP32[($11 + 728 | 0) >> 2] | 0) + 68 | 0) >> 2])); + label$25 : { + if (!((HEAP32[($11 + 704 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$25 + } + $514 = HEAP32[($11 + 712 | 0) >> 2] | 0; + operator__28btVector3_20const__2c_20btVector3_20const__29_1($11 + 284 | 0 | 0, (HEAP32[($11 + 744 | 0) >> 2] | 0) + 16 | 0 | 0, btSolverBody__internalGetInvMass_28_29_20const(HEAP32[($11 + 712 | 0) >> 2] | 0 | 0) | 0 | 0); + operator__28btVector3_20const__2c_20btVector3_20const__29_1($11 + 300 | 0 | 0, $11 + 284 | 0 | 0, btRigidBody__getLinearFactor_28_29_20const(HEAP32[($11 + 704 | 0) >> 2] | 0 | 0) | 0 | 0); + btSolverBody__internalApplyImpulse_28btVector3_20const__2c_20btVector3_20const__2c_20float_29($514 | 0, $11 + 300 | 0 | 0, (HEAP32[($11 + 744 | 0) >> 2] | 0) + 64 | 0 | 0, Math_fround(Math_fround(HEAPF32[((HEAP32[($11 + 744 | 0) >> 2] | 0) + 100 | 0) >> 2]))); + } + label$26 : { + if (!((HEAP32[($11 + 700 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$26 + } + $546 = HEAP32[($11 + 708 | 0) >> 2] | 0; + operator__28btVector3_20const__29($11 + 236 | 0 | 0, (HEAP32[($11 + 744 | 0) >> 2] | 0) + 48 | 0 | 0); + operator__28btVector3_20const__2c_20btVector3_20const__29_1($11 + 252 | 0 | 0, $11 + 236 | 0 | 0, btSolverBody__internalGetInvMass_28_29_20const(HEAP32[($11 + 708 | 0) >> 2] | 0 | 0) | 0 | 0); + operator__28btVector3_20const__2c_20btVector3_20const__29_1($11 + 268 | 0 | 0, $11 + 252 | 0 | 0, btRigidBody__getLinearFactor_28_29_20const(HEAP32[($11 + 700 | 0) >> 2] | 0 | 0) | 0 | 0); + operator__28btVector3_20const__29($11 + 220 | 0 | 0, (HEAP32[($11 + 744 | 0) >> 2] | 0) + 80 | 0 | 0); + btSolverBody__internalApplyImpulse_28btVector3_20const__2c_20btVector3_20const__2c_20float_29($546 | 0, $11 + 268 | 0 | 0, $11 + 220 | 0 | 0, Math_fround(Math_fround(-Math_fround(HEAPF32[((HEAP32[($11 + 744 | 0) >> 2] | 0) + 100 | 0) >> 2])))); + } + break label$23; + } + HEAPF32[((HEAP32[($11 + 744 | 0) >> 2] | 0) + 100 | 0) >> 2] = Math_fround(0 | 0); + } + HEAPF32[((HEAP32[($11 + 744 | 0) >> 2] | 0) + 96 | 0) >> 2] = Math_fround(0 | 0); + label$27 : { + label$28 : { + if (!((HEAP32[((HEAP32[($11 + 712 | 0) >> 2] | 0) + 240 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$28 + } + $600 = (HEAP32[($11 + 712 | 0) >> 2] | 0) + 208 | 0; + $601 = 8; + i64toi32_i32$2 = $600 + $601 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $2107 = i64toi32_i32$0; + i64toi32_i32$0 = ($11 + 200 | 0) + $601 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $2107; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$2 = $600; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $2111 = i64toi32_i32$1; + i64toi32_i32$1 = $11; + HEAP32[($11 + 200 | 0) >> 2] = $2111; + HEAP32[($11 + 204 | 0) >> 2] = i64toi32_i32$0; + break label$27; + } + HEAPF32[($11 + 196 | 0) >> 2] = Math_fround(0 | 0); + HEAPF32[($11 + 192 | 0) >> 2] = Math_fround(0 | 0); + HEAPF32[($11 + 188 | 0) >> 2] = Math_fround(0 | 0); + btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($11 + 200 | 0 | 0, $11 + 196 | 0 | 0, $11 + 192 | 0 | 0, $11 + 188 | 0 | 0) | 0; + } + label$29 : { + label$30 : { + if (!((HEAP32[((HEAP32[($11 + 712 | 0) >> 2] | 0) + 240 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$30 + } + $636 = (HEAP32[($11 + 712 | 0) >> 2] | 0) + 224 | 0; + $637 = 8; + i64toi32_i32$2 = $636 + $637 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $2176 = i64toi32_i32$0; + i64toi32_i32$0 = ($11 + 168 | 0) + $637 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $2176; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$2 = $636; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $2180 = i64toi32_i32$1; + i64toi32_i32$1 = $11; + HEAP32[($11 + 168 | 0) >> 2] = $2180; + HEAP32[($11 + 172 | 0) >> 2] = i64toi32_i32$0; + break label$29; + } + HEAPF32[($11 + 164 | 0) >> 2] = Math_fround(0 | 0); + HEAPF32[($11 + 160 | 0) >> 2] = Math_fround(0 | 0); + HEAPF32[($11 + 156 | 0) >> 2] = Math_fround(0 | 0); + btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($11 + 168 | 0 | 0, $11 + 164 | 0 | 0, $11 + 160 | 0 | 0, $11 + 156 | 0 | 0) | 0; + } + label$31 : { + label$32 : { + if (!((HEAP32[((HEAP32[($11 + 708 | 0) >> 2] | 0) + 240 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$32 + } + $672 = (HEAP32[($11 + 708 | 0) >> 2] | 0) + 208 | 0; + $673 = 8; + i64toi32_i32$2 = $672 + $673 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $2245 = i64toi32_i32$0; + i64toi32_i32$0 = ($11 + 136 | 0) + $673 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $2245; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$2 = $672; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $2249 = i64toi32_i32$1; + i64toi32_i32$1 = $11; + HEAP32[($11 + 136 | 0) >> 2] = $2249; + HEAP32[($11 + 140 | 0) >> 2] = i64toi32_i32$0; + break label$31; + } + HEAPF32[($11 + 132 | 0) >> 2] = Math_fround(0 | 0); + HEAPF32[($11 + 128 | 0) >> 2] = Math_fround(0 | 0); + HEAPF32[($11 + 124 | 0) >> 2] = Math_fround(0 | 0); + btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($11 + 136 | 0 | 0, $11 + 132 | 0 | 0, $11 + 128 | 0 | 0, $11 + 124 | 0 | 0) | 0; + } + label$33 : { + label$34 : { + if (!((HEAP32[((HEAP32[($11 + 708 | 0) >> 2] | 0) + 240 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$34 + } + $708 = (HEAP32[($11 + 708 | 0) >> 2] | 0) + 224 | 0; + $709 = 8; + i64toi32_i32$2 = $708 + $709 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $2314 = i64toi32_i32$0; + i64toi32_i32$0 = ($11 + 104 | 0) + $709 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $2314; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$2 = $708; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $2318 = i64toi32_i32$1; + i64toi32_i32$1 = $11; + HEAP32[($11 + 104 | 0) >> 2] = $2318; + HEAP32[($11 + 108 | 0) >> 2] = i64toi32_i32$0; + break label$33; + } + HEAPF32[($11 + 100 | 0) >> 2] = Math_fround(0 | 0); + HEAPF32[($11 + 96 | 0) >> 2] = Math_fround(0 | 0); + HEAPF32[($11 + 92 | 0) >> 2] = Math_fround(0 | 0); + btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($11 + 104 | 0 | 0, $11 + 100 | 0 | 0, $11 + 96 | 0 | 0, $11 + 92 | 0 | 0) | 0; + } + $736 = (HEAP32[($11 + 744 | 0) >> 2] | 0) + 16 | 0; + operator__28btVector3_20const__2c_20btVector3_20const__29_2($11 + 72 | 0 | 0, (HEAP32[($11 + 712 | 0) >> 2] | 0) + 176 | 0 | 0, $11 + 200 | 0 | 0); + $749 = Math_fround(btVector3__dot_28btVector3_20const__29_20const($736 | 0, $11 + 72 | 0 | 0)); + $750 = HEAP32[($11 + 744 | 0) >> 2] | 0; + operator__28btVector3_20const__2c_20btVector3_20const__29_2($11 + 56 | 0 | 0, (HEAP32[($11 + 712 | 0) >> 2] | 0) + 192 | 0 | 0, $11 + 168 | 0 | 0); + (wasm2js_i32$0 = $11, wasm2js_f32$0 = Math_fround($749 + Math_fround(btVector3__dot_28btVector3_20const__29_20const($750 | 0, $11 + 56 | 0 | 0)))), HEAPF32[(wasm2js_i32$0 + 88 | 0) >> 2] = wasm2js_f32$0; + $767 = (HEAP32[($11 + 744 | 0) >> 2] | 0) + 48 | 0; + operator__28btVector3_20const__2c_20btVector3_20const__29_2($11 + 36 | 0 | 0, (HEAP32[($11 + 708 | 0) >> 2] | 0) + 176 | 0 | 0, $11 + 136 | 0 | 0); + $780 = Math_fround(btVector3__dot_28btVector3_20const__29_20const($767 | 0, $11 + 36 | 0 | 0)); + $783 = (HEAP32[($11 + 744 | 0) >> 2] | 0) + 32 | 0; + operator__28btVector3_20const__2c_20btVector3_20const__29_2($11 + 20 | 0 | 0, (HEAP32[($11 + 708 | 0) >> 2] | 0) + 192 | 0 | 0, $11 + 104 | 0 | 0); + (wasm2js_i32$0 = $11, wasm2js_f32$0 = Math_fround($780 + Math_fround(btVector3__dot_28btVector3_20const__29_20const($783 | 0, $11 + 20 | 0 | 0)))), HEAPF32[(wasm2js_i32$0 + 52 | 0) >> 2] = wasm2js_f32$0; + HEAPF32[($11 + 16 | 0) >> 2] = Math_fround(Math_fround(HEAPF32[($11 + 88 | 0) >> 2]) + Math_fround(HEAPF32[($11 + 52 | 0) >> 2])); + HEAPF32[($11 + 12 | 0) >> 2] = Math_fround(0 | 0); + HEAPF32[($11 + 8 | 0) >> 2] = Math_fround(Math_fround(HEAPF32[($11 + 432 | 0) >> 2]) - Math_fround(HEAPF32[($11 + 16 | 0) >> 2])); + label$35 : { + label$36 : { + if (!(Math_fround(HEAPF32[($11 + 428 | 0) >> 2]) > Math_fround(0 | 0) & 1 | 0)) { + break label$36 + } + HEAPF32[($11 + 12 | 0) >> 2] = Math_fround(0 | 0); + HEAPF32[($11 + 8 | 0) >> 2] = Math_fround(Math_fround(Math_fround(-Math_fround(HEAPF32[($11 + 428 | 0) >> 2])) * Math_fround(HEAPF32[($11 + 696 | 0) >> 2])) + Math_fround(HEAPF32[($11 + 8 | 0) >> 2])); + break label$35; + } + HEAPF32[($11 + 12 | 0) >> 2] = Math_fround(Math_fround(Math_fround(-Math_fround(HEAPF32[($11 + 428 | 0) >> 2])) * Math_fround(HEAPF32[($11 + 688 | 0) >> 2])) * Math_fround(HEAPF32[($11 + 696 | 0) >> 2])); + } + HEAPF32[($11 + 4 | 0) >> 2] = Math_fround(Math_fround(HEAPF32[($11 + 12 | 0) >> 2]) * Math_fround(HEAPF32[((HEAP32[($11 + 744 | 0) >> 2] | 0) + 108 | 0) >> 2])); + HEAPF32[$11 >> 2] = Math_fround(Math_fround(HEAPF32[($11 + 8 | 0) >> 2]) * Math_fround(HEAPF32[((HEAP32[($11 + 744 | 0) >> 2] | 0) + 108 | 0) >> 2])); + label$37 : { + label$38 : { + label$39 : { + if (!(HEAP32[((HEAP32[($11 + 728 | 0) >> 2] | 0) + 52 | 0) >> 2] | 0)) { + break label$39 + } + if (!(Math_fround(HEAPF32[($11 + 428 | 0) >> 2]) > Math_fround(HEAPF32[((HEAP32[($11 + 728 | 0) >> 2] | 0) + 56 | 0) >> 2]) & 1 | 0)) { + break label$38 + } + } + HEAPF32[((HEAP32[($11 + 744 | 0) >> 2] | 0) + 112 | 0) >> 2] = Math_fround(Math_fround(HEAPF32[($11 + 4 | 0) >> 2]) + Math_fround(HEAPF32[$11 >> 2])); + HEAPF32[((HEAP32[($11 + 744 | 0) >> 2] | 0) + 128 | 0) >> 2] = Math_fround(0 | 0); + break label$37; + } + HEAPF32[((HEAP32[($11 + 744 | 0) >> 2] | 0) + 112 | 0) >> 2] = Math_fround(HEAPF32[$11 >> 2]); + HEAPF32[((HEAP32[($11 + 744 | 0) >> 2] | 0) + 128 | 0) >> 2] = Math_fround(HEAPF32[($11 + 4 | 0) >> 2]); + } + HEAPF32[((HEAP32[($11 + 744 | 0) >> 2] | 0) + 116 | 0) >> 2] = Math_fround(Math_fround(HEAPF32[($11 + 692 | 0) >> 2]) * Math_fround(HEAPF32[((HEAP32[($11 + 744 | 0) >> 2] | 0) + 108 | 0) >> 2])); + HEAPF32[((HEAP32[($11 + 744 | 0) >> 2] | 0) + 120 | 0) >> 2] = Math_fround(0 | 0); + HEAPF32[((HEAP32[($11 + 744 | 0) >> 2] | 0) + 124 | 0) >> 2] = Math_fround(1.0e10); + __stack_pointer = $11 + 752 | 0; + return; + } + + function btRigidBody__getVelocityInLocalPoint_28btVector3_20const__29_20const($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $5 = 0, $6 = 0; + $5 = __stack_pointer - 32 | 0; + __stack_pointer = $5; + HEAP32[($5 + 28 | 0) >> 2] = $1; + HEAP32[($5 + 24 | 0) >> 2] = $2; + $6 = HEAP32[($5 + 28 | 0) >> 2] | 0; + btVector3__cross_28btVector3_20const__29_20const($5 + 8 | 0 | 0, $6 + 388 | 0 | 0, HEAP32[($5 + 24 | 0) >> 2] | 0 | 0); + operator__28btVector3_20const__2c_20btVector3_20const__29_2($0 | 0, $6 + 372 | 0 | 0, $5 + 8 | 0 | 0); + __stack_pointer = $5 + 32 | 0; + return; + } + + function btSequentialImpulseConstraintSolver__setFrictionConstraintImpulse_28btSolverConstraint__2c_20int_2c_20int_2c_20btManifoldPoint__2c_20btContactSolverInfo_20const__29($0, $1, $2, $3, $4, $5) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + $4 = $4 | 0; + $5 = $5 | 0; + var $8 = 0, $9 = 0, $44 = 0, $47 = 0, $79 = 0, $151 = 0, $154 = 0, $178 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0, wasm2js_f32$0 = Math_fround(0); + $8 = __stack_pointer - 224 | 0; + __stack_pointer = $8; + HEAP32[($8 + 220 | 0) >> 2] = $0; + HEAP32[($8 + 216 | 0) >> 2] = $1; + HEAP32[($8 + 212 | 0) >> 2] = $2; + HEAP32[($8 + 208 | 0) >> 2] = $3; + HEAP32[($8 + 204 | 0) >> 2] = $4; + HEAP32[($8 + 200 | 0) >> 2] = $5; + $9 = HEAP32[($8 + 220 | 0) >> 2] | 0; + (wasm2js_i32$0 = $8, wasm2js_i32$1 = btAlignedObjectArray_btSolverBody___operator_5b_5d_28int_29($9 + 4 | 0 | 0, HEAP32[($8 + 212 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 196 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $8, wasm2js_i32$1 = btAlignedObjectArray_btSolverBody___operator_5b_5d_28int_29($9 + 4 | 0 | 0, HEAP32[($8 + 208 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 192 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($8 + 188 | 0) >> 2] = HEAP32[((HEAP32[($8 + 196 | 0) >> 2] | 0) + 240 | 0) >> 2] | 0; + HEAP32[($8 + 184 | 0) >> 2] = HEAP32[((HEAP32[($8 + 192 | 0) >> 2] | 0) + 240 | 0) >> 2] | 0; + (wasm2js_i32$0 = $8, wasm2js_i32$1 = btAlignedObjectArray_btSolverConstraint___operator_5b_5d_28int_29($9 + 64 | 0 | 0, HEAP32[((HEAP32[($8 + 216 | 0) >> 2] | 0) + 140 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 180 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + label$2 : { + if (!((HEAP32[((HEAP32[($8 + 200 | 0) >> 2] | 0) + 72 | 0) >> 2] | 0) & 4 | 0)) { + break label$2 + } + HEAPF32[((HEAP32[($8 + 180 | 0) >> 2] | 0) + 100 | 0) >> 2] = Math_fround(Math_fround(HEAPF32[((HEAP32[($8 + 204 | 0) >> 2] | 0) + 136 | 0) >> 2]) * Math_fround(HEAPF32[((HEAP32[($8 + 200 | 0) >> 2] | 0) + 68 | 0) >> 2])); + label$3 : { + if (!((HEAP32[($8 + 188 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$3 + } + $44 = HEAP32[($8 + 196 | 0) >> 2] | 0; + $47 = (HEAP32[($8 + 180 | 0) >> 2] | 0) + 16 | 0; + (wasm2js_i32$0 = $8, wasm2js_f32$0 = Math_fround(btRigidBody__getInvMass_28_29_20const(HEAP32[($8 + 188 | 0) >> 2] | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 144 | 0) >> 2] = wasm2js_f32$0; + operator__28btVector3_20const__2c_20float_20const__29($8 + 148 | 0 | 0, $47 | 0, $8 + 144 | 0 | 0); + operator__28btVector3_20const__2c_20btVector3_20const__29_1($8 + 164 | 0 | 0, $8 + 148 | 0 | 0, btRigidBody__getLinearFactor_28_29_20const(HEAP32[($8 + 188 | 0) >> 2] | 0 | 0) | 0 | 0); + btSolverBody__internalApplyImpulse_28btVector3_20const__2c_20btVector3_20const__2c_20float_29($44 | 0, $8 + 164 | 0 | 0, (HEAP32[($8 + 180 | 0) >> 2] | 0) + 64 | 0 | 0, Math_fround(Math_fround(HEAPF32[((HEAP32[($8 + 180 | 0) >> 2] | 0) + 100 | 0) >> 2]))); + } + label$4 : { + if (!((HEAP32[($8 + 184 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$4 + } + $79 = HEAP32[($8 + 192 | 0) >> 2] | 0; + operator__28btVector3_20const__29($8 + 96 | 0 | 0, (HEAP32[($8 + 180 | 0) >> 2] | 0) + 48 | 0 | 0); + (wasm2js_i32$0 = $8, wasm2js_f32$0 = Math_fround(btRigidBody__getInvMass_28_29_20const(HEAP32[($8 + 184 | 0) >> 2] | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 92 | 0) >> 2] = wasm2js_f32$0; + operator__28btVector3_20const__2c_20float_20const__29($8 + 112 | 0 | 0, $8 + 96 | 0 | 0, $8 + 92 | 0 | 0); + operator__28btVector3_20const__2c_20btVector3_20const__29_1($8 + 128 | 0 | 0, $8 + 112 | 0 | 0, btRigidBody__getLinearFactor_28_29_20const(HEAP32[($8 + 184 | 0) >> 2] | 0 | 0) | 0 | 0); + operator__28btVector3_20const__29($8 + 76 | 0 | 0, (HEAP32[($8 + 180 | 0) >> 2] | 0) + 80 | 0 | 0); + btSolverBody__internalApplyImpulse_28btVector3_20const__2c_20btVector3_20const__2c_20float_29($79 | 0, $8 + 128 | 0 | 0, $8 + 76 | 0 | 0, Math_fround(Math_fround(-Math_fround(HEAPF32[((HEAP32[($8 + 180 | 0) >> 2] | 0) + 100 | 0) >> 2])))); + } + break label$1; + } + HEAPF32[((HEAP32[($8 + 180 | 0) >> 2] | 0) + 100 | 0) >> 2] = Math_fround(0 | 0); + } + label$5 : { + if (!((HEAP32[((HEAP32[($8 + 200 | 0) >> 2] | 0) + 72 | 0) >> 2] | 0) & 16 | 0)) { + break label$5 + } + (wasm2js_i32$0 = $8, wasm2js_i32$1 = btAlignedObjectArray_btSolverConstraint___operator_5b_5d_28int_29($9 + 64 | 0 | 0, (HEAP32[((HEAP32[($8 + 216 | 0) >> 2] | 0) + 140 | 0) >> 2] | 0) + 1 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 72 | 0) >> 2] = wasm2js_i32$1; + label$6 : { + label$7 : { + if (!((HEAP32[((HEAP32[($8 + 200 | 0) >> 2] | 0) + 72 | 0) >> 2] | 0) & 4 | 0)) { + break label$7 + } + HEAPF32[((HEAP32[($8 + 72 | 0) >> 2] | 0) + 100 | 0) >> 2] = Math_fround(Math_fround(HEAPF32[((HEAP32[($8 + 204 | 0) >> 2] | 0) + 140 | 0) >> 2]) * Math_fround(HEAPF32[((HEAP32[($8 + 200 | 0) >> 2] | 0) + 68 | 0) >> 2])); + label$8 : { + if (!((HEAP32[($8 + 188 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$8 + } + $151 = HEAP32[($8 + 196 | 0) >> 2] | 0; + $154 = (HEAP32[($8 + 72 | 0) >> 2] | 0) + 16 | 0; + (wasm2js_i32$0 = $8, wasm2js_f32$0 = Math_fround(btRigidBody__getInvMass_28_29_20const(HEAP32[($8 + 188 | 0) >> 2] | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 52 | 0) >> 2] = wasm2js_f32$0; + operator__28btVector3_20const__2c_20float_20const__29($8 + 56 | 0 | 0, $154 | 0, $8 + 52 | 0 | 0); + btSolverBody__internalApplyImpulse_28btVector3_20const__2c_20btVector3_20const__2c_20float_29($151 | 0, $8 + 56 | 0 | 0, (HEAP32[($8 + 72 | 0) >> 2] | 0) + 64 | 0 | 0, Math_fround(Math_fround(HEAPF32[((HEAP32[($8 + 72 | 0) >> 2] | 0) + 100 | 0) >> 2]))); + } + label$9 : { + if (!((HEAP32[($8 + 184 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$9 + } + $178 = HEAP32[($8 + 192 | 0) >> 2] | 0; + operator__28btVector3_20const__29($8 + 20 | 0 | 0, (HEAP32[($8 + 72 | 0) >> 2] | 0) + 48 | 0 | 0); + (wasm2js_i32$0 = $8, wasm2js_f32$0 = Math_fround(btRigidBody__getInvMass_28_29_20const(HEAP32[($8 + 184 | 0) >> 2] | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_f32$0; + operator__28btVector3_20const__2c_20float_20const__29($8 + 36 | 0 | 0, $8 + 20 | 0 | 0, $8 + 16 | 0 | 0); + operator__28btVector3_20const__29($8 | 0, (HEAP32[($8 + 72 | 0) >> 2] | 0) + 80 | 0 | 0); + btSolverBody__internalApplyImpulse_28btVector3_20const__2c_20btVector3_20const__2c_20float_29($178 | 0, $8 + 36 | 0 | 0, $8 | 0, Math_fround(Math_fround(-Math_fround(HEAPF32[((HEAP32[($8 + 72 | 0) >> 2] | 0) + 100 | 0) >> 2])))); + } + break label$6; + } + HEAPF32[((HEAP32[($8 + 72 | 0) >> 2] | 0) + 100 | 0) >> 2] = Math_fround(0 | 0); + } + } + __stack_pointer = $8 + 224 | 0; + return; + } + + function btAlignedObjectArray_btSolverConstraint___operator_5b_5d_28int_29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, $5 = 0, $32 = 0; + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; + label$1 : { + if ((HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0) { + break label$1 + } + __assert_fail(85840 | 0, 78192 | 0, 183 | 0, 83901 | 0); + wasm2js_trap(); + } + label$2 : { + if ((HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) < (btAlignedObjectArray_btSolverConstraint___size_28_29_20const($5 | 0) | 0 | 0) & 1 | 0) { + break label$2 + } + __assert_fail(87321 | 0, 78192 | 0, 184 | 0, 83901 | 0); + wasm2js_trap(); + } + $32 = (HEAP32[($5 + 12 | 0) >> 2] | 0) + Math_imul(HEAP32[($4 + 8 | 0) >> 2] | 0, 152) | 0; + __stack_pointer = $4 + 16 | 0; + return $32 | 0; + } + + function btSequentialImpulseConstraintSolver__convertContact_28btPersistentManifold__2c_20btContactSolverInfo_20const__29($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $5 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $6 = 0, i64toi32_i32$2 = 0, $227 = 0, $197 = 0, $104 = 0, $120 = 0, $198 = 0, $207 = Math_fround(0), $266 = Math_fround(0), $294 = Math_fround(0), $323 = 0, $325 = 0, $382 = Math_fround(0), $396 = 0, $398 = 0, $433 = Math_fround(0), $471 = Math_fround(0), $504 = Math_fround(0), $513 = 0, $825 = 0, $829 = 0, $860 = 0, $864 = 0, $181 = 0, $1284 = 0, $1297 = 0, $1443 = 0, $1453 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0, wasm2js_f32$0 = Math_fround(0); + $5 = __stack_pointer - 272 | 0; + __stack_pointer = $5; + HEAP32[($5 + 268 | 0) >> 2] = $0; + HEAP32[($5 + 264 | 0) >> 2] = $1; + HEAP32[($5 + 260 | 0) >> 2] = $2; + $6 = HEAP32[($5 + 268 | 0) >> 2] | 0; + HEAP32[($5 + 256 | 0) >> 2] = 0; + HEAP32[($5 + 252 | 0) >> 2] = 0; + (wasm2js_i32$0 = $5, wasm2js_i32$1 = btPersistentManifold__getBody0_28_29_20const(HEAP32[($5 + 264 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 256 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $5, wasm2js_i32$1 = btPersistentManifold__getBody1_28_29_20const(HEAP32[($5 + 264 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 252 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $5, wasm2js_i32$1 = btSequentialImpulseConstraintSolver__getOrInitSolverBody_28btCollisionObject__2c_20float_29($6 | 0, HEAP32[($5 + 256 | 0) >> 2] | 0 | 0, Math_fround(Math_fround(HEAPF32[((HEAP32[($5 + 260 | 0) >> 2] | 0) + 12 | 0) >> 2]))) | 0), HEAP32[(wasm2js_i32$0 + 248 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $5, wasm2js_i32$1 = btSequentialImpulseConstraintSolver__getOrInitSolverBody_28btCollisionObject__2c_20float_29($6 | 0, HEAP32[($5 + 252 | 0) >> 2] | 0 | 0, Math_fround(Math_fround(HEAPF32[((HEAP32[($5 + 260 | 0) >> 2] | 0) + 12 | 0) >> 2]))) | 0), HEAP32[(wasm2js_i32$0 + 244 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $5, wasm2js_i32$1 = btAlignedObjectArray_btSolverBody___operator_5b_5d_28int_29($6 + 4 | 0 | 0, HEAP32[($5 + 248 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 240 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $5, wasm2js_i32$1 = btAlignedObjectArray_btSolverBody___operator_5b_5d_28int_29($6 + 4 | 0 | 0, HEAP32[($5 + 244 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 236 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + label$2 : { + label$3 : { + if (!((HEAP32[($5 + 240 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$3 + } + if (!((btVector3__fuzzyZero_28_29_20const((HEAP32[($5 + 240 | 0) >> 2] | 0) + 128 | 0 | 0) | 0) & 1 | 0)) { + break label$2 + } + if (!((HEAP32[($5 + 236 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$3 + } + if (!((btVector3__fuzzyZero_28_29_20const((HEAP32[($5 + 236 | 0) >> 2] | 0) + 128 | 0 | 0) | 0) & 1 | 0)) { + break label$2 + } + } + break label$1; + } + HEAP32[($5 + 232 | 0) >> 2] = 1; + HEAP32[($5 + 228 | 0) >> 2] = 0; + label$4 : while (1) { + if (!((HEAP32[($5 + 228 | 0) >> 2] | 0 | 0) < (btPersistentManifold__getNumContacts_28_29_20const(HEAP32[($5 + 264 | 0) >> 2] | 0 | 0) | 0 | 0) & 1 | 0)) { + break label$1 + } + (wasm2js_i32$0 = $5, wasm2js_i32$1 = btPersistentManifold__getContactPoint_28int_29(HEAP32[($5 + 264 | 0) >> 2] | 0 | 0, HEAP32[($5 + 228 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 224 | 0) >> 2] = wasm2js_i32$1; + label$5 : { + if (!(Math_fround(btManifoldPoint__getDistance_28_29_20const(HEAP32[($5 + 224 | 0) >> 2] | 0 | 0)) <= Math_fround(btPersistentManifold__getContactProcessingThreshold_28_29_20const(HEAP32[($5 + 264 | 0) >> 2] | 0 | 0)) & 1 | 0)) { + break label$5 + } + btVector3__btVector3_28_29($5 + 208 | 0 | 0) | 0; + btVector3__btVector3_28_29($5 + 192 | 0 | 0) | 0; + (wasm2js_i32$0 = $5, wasm2js_i32$1 = btAlignedObjectArray_btSolverConstraint___size_28_29_20const($6 + 24 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 184 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $5, wasm2js_i32$1 = btAlignedObjectArray_btSolverConstraint___expandNonInitializing_28_29($6 + 24 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 180 | 0) >> 2] = wasm2js_i32$1; + HEAP32[((HEAP32[($5 + 180 | 0) >> 2] | 0) + 144 | 0) >> 2] = HEAP32[($5 + 248 | 0) >> 2] | 0; + HEAP32[((HEAP32[($5 + 180 | 0) >> 2] | 0) + 148 | 0) >> 2] = HEAP32[($5 + 244 | 0) >> 2] | 0; + HEAP32[((HEAP32[($5 + 180 | 0) >> 2] | 0) + 132 | 0) >> 2] = HEAP32[($5 + 224 | 0) >> 2] | 0; + (wasm2js_i32$0 = $5, wasm2js_i32$1 = btManifoldPoint__getPositionWorldOnA_28_29_20const(HEAP32[($5 + 224 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 176 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $5, wasm2js_i32$1 = btManifoldPoint__getPositionWorldOnB_28_29_20const(HEAP32[($5 + 224 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 172 | 0) >> 2] = wasm2js_i32$1; + operator__28btVector3_20const__2c_20btVector3_20const__29($5 + 156 | 0 | 0, HEAP32[($5 + 176 | 0) >> 2] | 0 | 0, btTransform__getOrigin_28_29(btCollisionObject__getWorldTransform_28_29(HEAP32[($5 + 256 | 0) >> 2] | 0 | 0) | 0 | 0) | 0 | 0); + $104 = 8; + i64toi32_i32$2 = ($5 + 156 | 0) + $104 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $825 = i64toi32_i32$0; + i64toi32_i32$0 = ($5 + 208 | 0) + $104 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $825; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$2 = $5; + i64toi32_i32$1 = HEAP32[($5 + 156 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($5 + 160 | 0) >> 2] | 0; + $829 = i64toi32_i32$1; + i64toi32_i32$1 = $5; + HEAP32[($5 + 208 | 0) >> 2] = $829; + HEAP32[($5 + 212 | 0) >> 2] = i64toi32_i32$0; + operator__28btVector3_20const__2c_20btVector3_20const__29($5 + 140 | 0 | 0, HEAP32[($5 + 172 | 0) >> 2] | 0 | 0, btTransform__getOrigin_28_29(btCollisionObject__getWorldTransform_28_29(HEAP32[($5 + 252 | 0) >> 2] | 0 | 0) | 0 | 0) | 0 | 0); + $120 = 8; + i64toi32_i32$2 = ($5 + 140 | 0) + $120 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $860 = i64toi32_i32$0; + i64toi32_i32$0 = ($5 + 192 | 0) + $120 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $860; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$2 = $5; + i64toi32_i32$1 = HEAP32[($5 + 140 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($5 + 144 | 0) >> 2] | 0; + $864 = i64toi32_i32$1; + i64toi32_i32$1 = $5; + HEAP32[($5 + 192 | 0) >> 2] = $864; + HEAP32[($5 + 196 | 0) >> 2] = i64toi32_i32$0; + btVector3__btVector3_28_29($5 + 124 | 0 | 0) | 0; + btVector3__btVector3_28_29($5 + 108 | 0 | 0) | 0; + btSolverBody__getVelocityInLocalPointNoDelta_28btVector3_20const__2c_20btVector3__29_20const(HEAP32[($5 + 240 | 0) >> 2] | 0 | 0, $5 + 208 | 0 | 0, $5 + 124 | 0 | 0); + btSolverBody__getVelocityInLocalPointNoDelta_28btVector3_20const__2c_20btVector3__29_20const(HEAP32[($5 + 236 | 0) >> 2] | 0 | 0, $5 + 192 | 0 | 0, $5 + 108 | 0 | 0); + operator__28btVector3_20const__2c_20btVector3_20const__29($5 + 92 | 0 | 0, $5 + 124 | 0 | 0, $5 + 108 | 0 | 0); + (wasm2js_i32$0 = $5, wasm2js_f32$0 = Math_fround(btVector3__dot_28btVector3_20const__29_20const((HEAP32[($5 + 224 | 0) >> 2] | 0) + 64 | 0 | 0, $5 + 92 | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 88 | 0) >> 2] = wasm2js_f32$0; + btSequentialImpulseConstraintSolver__setupContactConstraint_28btSolverConstraint__2c_20int_2c_20int_2c_20btManifoldPoint__2c_20btContactSolverInfo_20const__2c_20float__2c_20btVector3_20const__2c_20btVector3_20const__29($6 | 0, HEAP32[($5 + 180 | 0) >> 2] | 0 | 0, HEAP32[($5 + 248 | 0) >> 2] | 0 | 0, HEAP32[($5 + 244 | 0) >> 2] | 0 | 0, HEAP32[($5 + 224 | 0) >> 2] | 0 | 0, HEAP32[($5 + 260 | 0) >> 2] | 0 | 0, $5 + 188 | 0 | 0, $5 + 208 | 0 | 0, $5 + 192 | 0 | 0); + $181 = btAlignedObjectArray_btSolverConstraint___size_28_29_20const($6 + 64 | 0 | 0) | 0; + HEAP32[((HEAP32[($5 + 180 | 0) >> 2] | 0) + 140 | 0) >> 2] = $181; + label$6 : { + if (!(Math_fround(HEAPF32[((HEAP32[($5 + 224 | 0) >> 2] | 0) + 88 | 0) >> 2]) > Math_fround(0 | 0) & 1 | 0)) { + break label$6 + } + if (!((HEAP32[($5 + 232 | 0) >> 2] | 0 | 0) > (0 | 0) & 1 | 0)) { + break label$6 + } + $197 = HEAP32[($5 + 224 | 0) >> 2] | 0; + $198 = 64; + $207 = Math_fround(0.0); + btSequentialImpulseConstraintSolver__addTorsionalFrictionConstraint_28btVector3_20const__2c_20int_2c_20int_2c_20int_2c_20btManifoldPoint__2c_20float_2c_20btVector3_20const__2c_20btVector3_20const__2c_20btCollisionObject__2c_20btCollisionObject__2c_20float_2c_20float_2c_20float_29($6 | 0, $197 + $198 | 0 | 0, HEAP32[($5 + 248 | 0) >> 2] | 0 | 0, HEAP32[($5 + 244 | 0) >> 2] | 0 | 0, HEAP32[($5 + 184 | 0) >> 2] | 0 | 0, $197 | 0, Math_fround(Math_fround(HEAPF32[($197 + 92 | 0) >> 2])), $5 + 208 | 0 | 0, $5 + 192 | 0 | 0, HEAP32[($5 + 256 | 0) >> 2] | 0 | 0, HEAP32[($5 + 252 | 0) >> 2] | 0 | 0, Math_fround(Math_fround(HEAPF32[($5 + 188 | 0) >> 2])), Math_fround($207), Math_fround($207)) | 0; + btVector3__btVector3_28_29($5 + 72 | 0 | 0) | 0; + btVector3__btVector3_28_29($5 + 56 | 0 | 0) | 0; + void_20btPlaneSpace1_btVector3__28btVector3_20const__2c_20btVector3__2c_20btVector3__29((HEAP32[($5 + 224 | 0) >> 2] | 0) + $198 | 0 | 0, $5 + 72 | 0 | 0, $5 + 56 | 0 | 0); + btVector3__normalize_28_29($5 + 72 | 0 | 0) | 0; + btVector3__normalize_28_29($5 + 56 | 0 | 0) | 0; + $227 = 2; + btSequentialImpulseConstraintSolver__applyAnisotropicFriction_28btCollisionObject__2c_20btVector3__2c_20int_29(HEAP32[($5 + 256 | 0) >> 2] | 0 | 0, $5 + 72 | 0 | 0, $227 | 0); + btSequentialImpulseConstraintSolver__applyAnisotropicFriction_28btCollisionObject__2c_20btVector3__2c_20int_29(HEAP32[($5 + 252 | 0) >> 2] | 0 | 0, $5 + 72 | 0 | 0, $227 | 0); + btSequentialImpulseConstraintSolver__applyAnisotropicFriction_28btCollisionObject__2c_20btVector3__2c_20int_29(HEAP32[($5 + 256 | 0) >> 2] | 0 | 0, $5 + 56 | 0 | 0, $227 | 0); + btSequentialImpulseConstraintSolver__applyAnisotropicFriction_28btCollisionObject__2c_20btVector3__2c_20int_29(HEAP32[($5 + 252 | 0) >> 2] | 0 | 0, $5 + 56 | 0 | 0, $227 | 0); + label$7 : { + if (!(+Math_fround(btVector3__length_28_29_20const($5 + 72 | 0 | 0)) > .001 & 1 | 0)) { + break label$7 + } + $266 = Math_fround(0 | 0); + btSequentialImpulseConstraintSolver__addTorsionalFrictionConstraint_28btVector3_20const__2c_20int_2c_20int_2c_20int_2c_20btManifoldPoint__2c_20float_2c_20btVector3_20const__2c_20btVector3_20const__2c_20btCollisionObject__2c_20btCollisionObject__2c_20float_2c_20float_2c_20float_29($6 | 0, $5 + 72 | 0 | 0, HEAP32[($5 + 248 | 0) >> 2] | 0 | 0, HEAP32[($5 + 244 | 0) >> 2] | 0 | 0, HEAP32[($5 + 184 | 0) >> 2] | 0 | 0, HEAP32[($5 + 224 | 0) >> 2] | 0 | 0, Math_fround(Math_fround(HEAPF32[((HEAP32[($5 + 224 | 0) >> 2] | 0) + 88 | 0) >> 2])), $5 + 208 | 0 | 0, $5 + 192 | 0 | 0, HEAP32[($5 + 256 | 0) >> 2] | 0 | 0, HEAP32[($5 + 252 | 0) >> 2] | 0 | 0, Math_fround(Math_fround(HEAPF32[($5 + 188 | 0) >> 2])), Math_fround($266), Math_fround($266)) | 0; + } + label$8 : { + if (!(+Math_fround(btVector3__length_28_29_20const($5 + 56 | 0 | 0)) > .001 & 1 | 0)) { + break label$8 + } + $294 = Math_fround(0 | 0); + btSequentialImpulseConstraintSolver__addTorsionalFrictionConstraint_28btVector3_20const__2c_20int_2c_20int_2c_20int_2c_20btManifoldPoint__2c_20float_2c_20btVector3_20const__2c_20btVector3_20const__2c_20btCollisionObject__2c_20btCollisionObject__2c_20float_2c_20float_2c_20float_29($6 | 0, $5 + 56 | 0 | 0, HEAP32[($5 + 248 | 0) >> 2] | 0 | 0, HEAP32[($5 + 244 | 0) >> 2] | 0 | 0, HEAP32[($5 + 184 | 0) >> 2] | 0 | 0, HEAP32[($5 + 224 | 0) >> 2] | 0 | 0, Math_fround(Math_fround(HEAPF32[((HEAP32[($5 + 224 | 0) >> 2] | 0) + 88 | 0) >> 2])), $5 + 208 | 0 | 0, $5 + 192 | 0 | 0, HEAP32[($5 + 256 | 0) >> 2] | 0 | 0, HEAP32[($5 + 252 | 0) >> 2] | 0 | 0, Math_fround(Math_fround(HEAPF32[($5 + 188 | 0) >> 2])), Math_fround($294), Math_fround($294)) | 0; + } + } + label$9 : { + label$10 : { + label$11 : { + if (!((HEAP32[((HEAP32[($5 + 260 | 0) >> 2] | 0) + 72 | 0) >> 2] | 0) & 32 | 0)) { + break label$11 + } + if ((HEAP32[((HEAP32[($5 + 224 | 0) >> 2] | 0) + 128 | 0) >> 2] | 0) & 1 | 0) { + break label$10 + } + } + operator__28btVector3_20const__2c_20float_20const__29($5 + 24 | 0 | 0, (HEAP32[($5 + 224 | 0) >> 2] | 0) + 64 | 0 | 0, $5 + 88 | 0 | 0); + operator__28btVector3_20const__2c_20btVector3_20const__29($5 + 40 | 0 | 0, $5 + 92 | 0 | 0, $5 + 24 | 0 | 0); + $323 = (HEAP32[($5 + 224 | 0) >> 2] | 0) + 168 | 0; + i64toi32_i32$2 = $5; + i64toi32_i32$0 = HEAP32[($5 + 40 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($5 + 44 | 0) >> 2] | 0; + $1284 = i64toi32_i32$0; + i64toi32_i32$0 = $323; + HEAP32[i64toi32_i32$0 >> 2] = $1284; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $325 = 8; + i64toi32_i32$2 = ($5 + 40 | 0) + $325 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $1297 = i64toi32_i32$1; + i64toi32_i32$1 = $323 + $325 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $1297; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + (wasm2js_i32$0 = $5, wasm2js_f32$0 = Math_fround(btVector3__length2_28_29_20const((HEAP32[($5 + 224 | 0) >> 2] | 0) + 168 | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_f32$0; + label$12 : { + label$13 : { + if ((HEAP32[((HEAP32[($5 + 260 | 0) >> 2] | 0) + 72 | 0) >> 2] | 0) & 64 | 0) { + break label$13 + } + if (!(Math_fround(HEAPF32[($5 + 20 | 0) >> 2]) > Math_fround(1.1920928955078125e-07) & 1 | 0)) { + break label$13 + } + (wasm2js_i32$0 = $5, wasm2js_f32$0 = Math_fround(Math_fround(1.0) / Math_fround(btSqrt_28float_29(Math_fround(Math_fround(HEAPF32[($5 + 20 | 0) >> 2])))))), HEAPF32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_f32$0; + btVector3__operator___28float_20const__29_1((HEAP32[($5 + 224 | 0) >> 2] | 0) + 168 | 0 | 0, $5 + 16 | 0 | 0) | 0; + btSequentialImpulseConstraintSolver__applyAnisotropicFriction_28btCollisionObject__2c_20btVector3__2c_20int_29(HEAP32[($5 + 256 | 0) >> 2] | 0 | 0, (HEAP32[($5 + 224 | 0) >> 2] | 0) + 168 | 0 | 0, 1 | 0); + btSequentialImpulseConstraintSolver__applyAnisotropicFriction_28btCollisionObject__2c_20btVector3__2c_20int_29(HEAP32[($5 + 252 | 0) >> 2] | 0 | 0, (HEAP32[($5 + 224 | 0) >> 2] | 0) + 168 | 0 | 0, 1 | 0); + $382 = Math_fround(0 | 0); + btSequentialImpulseConstraintSolver__addFrictionConstraint_28btVector3_20const__2c_20int_2c_20int_2c_20int_2c_20btManifoldPoint__2c_20btVector3_20const__2c_20btVector3_20const__2c_20btCollisionObject__2c_20btCollisionObject__2c_20float_2c_20btContactSolverInfo_20const__2c_20float_2c_20float_29($6 | 0, (HEAP32[($5 + 224 | 0) >> 2] | 0) + 168 | 0 | 0, HEAP32[($5 + 248 | 0) >> 2] | 0 | 0, HEAP32[($5 + 244 | 0) >> 2] | 0 | 0, HEAP32[($5 + 184 | 0) >> 2] | 0 | 0, HEAP32[($5 + 224 | 0) >> 2] | 0 | 0, $5 + 208 | 0 | 0, $5 + 192 | 0 | 0, HEAP32[($5 + 256 | 0) >> 2] | 0 | 0, HEAP32[($5 + 252 | 0) >> 2] | 0 | 0, Math_fround(Math_fround(HEAPF32[($5 + 188 | 0) >> 2])), HEAP32[($5 + 260 | 0) >> 2] | 0 | 0, Math_fround($382), Math_fround($382)) | 0; + label$14 : { + if (!((HEAP32[((HEAP32[($5 + 260 | 0) >> 2] | 0) + 72 | 0) >> 2] | 0) & 16 | 0)) { + break label$14 + } + btVector3__cross_28btVector3_20const__29_20const($5 | 0, (HEAP32[($5 + 224 | 0) >> 2] | 0) + 168 | 0 | 0, (HEAP32[($5 + 224 | 0) >> 2] | 0) + 64 | 0 | 0); + $396 = (HEAP32[($5 + 224 | 0) >> 2] | 0) + 184 | 0; + i64toi32_i32$2 = $5; + i64toi32_i32$0 = HEAP32[$5 >> 2] | 0; + i64toi32_i32$1 = HEAP32[($5 + 4 | 0) >> 2] | 0; + $1443 = i64toi32_i32$0; + i64toi32_i32$0 = $396; + HEAP32[i64toi32_i32$0 >> 2] = $1443; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $398 = 8; + i64toi32_i32$2 = $5 + $398 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $1453 = i64toi32_i32$1; + i64toi32_i32$1 = $396 + $398 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $1453; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + btVector3__normalize_28_29((HEAP32[($5 + 224 | 0) >> 2] | 0) + 184 | 0 | 0) | 0; + btSequentialImpulseConstraintSolver__applyAnisotropicFriction_28btCollisionObject__2c_20btVector3__2c_20int_29(HEAP32[($5 + 256 | 0) >> 2] | 0 | 0, (HEAP32[($5 + 224 | 0) >> 2] | 0) + 184 | 0 | 0, 1 | 0); + btSequentialImpulseConstraintSolver__applyAnisotropicFriction_28btCollisionObject__2c_20btVector3__2c_20int_29(HEAP32[($5 + 252 | 0) >> 2] | 0 | 0, (HEAP32[($5 + 224 | 0) >> 2] | 0) + 184 | 0 | 0, 1 | 0); + $433 = Math_fround(0 | 0); + btSequentialImpulseConstraintSolver__addFrictionConstraint_28btVector3_20const__2c_20int_2c_20int_2c_20int_2c_20btManifoldPoint__2c_20btVector3_20const__2c_20btVector3_20const__2c_20btCollisionObject__2c_20btCollisionObject__2c_20float_2c_20btContactSolverInfo_20const__2c_20float_2c_20float_29($6 | 0, (HEAP32[($5 + 224 | 0) >> 2] | 0) + 184 | 0 | 0, HEAP32[($5 + 248 | 0) >> 2] | 0 | 0, HEAP32[($5 + 244 | 0) >> 2] | 0 | 0, HEAP32[($5 + 184 | 0) >> 2] | 0 | 0, HEAP32[($5 + 224 | 0) >> 2] | 0 | 0, $5 + 208 | 0 | 0, $5 + 192 | 0 | 0, HEAP32[($5 + 256 | 0) >> 2] | 0 | 0, HEAP32[($5 + 252 | 0) >> 2] | 0 | 0, Math_fround(Math_fround(HEAPF32[($5 + 188 | 0) >> 2])), HEAP32[($5 + 260 | 0) >> 2] | 0 | 0, Math_fround($433), Math_fround($433)) | 0; + } + break label$12; + } + void_20btPlaneSpace1_btVector3__28btVector3_20const__2c_20btVector3__2c_20btVector3__29((HEAP32[($5 + 224 | 0) >> 2] | 0) + 64 | 0 | 0, (HEAP32[($5 + 224 | 0) >> 2] | 0) + 168 | 0 | 0, (HEAP32[($5 + 224 | 0) >> 2] | 0) + 184 | 0 | 0); + btSequentialImpulseConstraintSolver__applyAnisotropicFriction_28btCollisionObject__2c_20btVector3__2c_20int_29(HEAP32[($5 + 256 | 0) >> 2] | 0 | 0, (HEAP32[($5 + 224 | 0) >> 2] | 0) + 168 | 0 | 0, 1 | 0); + btSequentialImpulseConstraintSolver__applyAnisotropicFriction_28btCollisionObject__2c_20btVector3__2c_20int_29(HEAP32[($5 + 252 | 0) >> 2] | 0 | 0, (HEAP32[($5 + 224 | 0) >> 2] | 0) + 168 | 0 | 0, 1 | 0); + $471 = Math_fround(0 | 0); + btSequentialImpulseConstraintSolver__addFrictionConstraint_28btVector3_20const__2c_20int_2c_20int_2c_20int_2c_20btManifoldPoint__2c_20btVector3_20const__2c_20btVector3_20const__2c_20btCollisionObject__2c_20btCollisionObject__2c_20float_2c_20btContactSolverInfo_20const__2c_20float_2c_20float_29($6 | 0, (HEAP32[($5 + 224 | 0) >> 2] | 0) + 168 | 0 | 0, HEAP32[($5 + 248 | 0) >> 2] | 0 | 0, HEAP32[($5 + 244 | 0) >> 2] | 0 | 0, HEAP32[($5 + 184 | 0) >> 2] | 0 | 0, HEAP32[($5 + 224 | 0) >> 2] | 0 | 0, $5 + 208 | 0 | 0, $5 + 192 | 0 | 0, HEAP32[($5 + 256 | 0) >> 2] | 0 | 0, HEAP32[($5 + 252 | 0) >> 2] | 0 | 0, Math_fround(Math_fround(HEAPF32[($5 + 188 | 0) >> 2])), HEAP32[($5 + 260 | 0) >> 2] | 0 | 0, Math_fround($471), Math_fround($471)) | 0; + label$15 : { + if (!((HEAP32[((HEAP32[($5 + 260 | 0) >> 2] | 0) + 72 | 0) >> 2] | 0) & 16 | 0)) { + break label$15 + } + btSequentialImpulseConstraintSolver__applyAnisotropicFriction_28btCollisionObject__2c_20btVector3__2c_20int_29(HEAP32[($5 + 256 | 0) >> 2] | 0 | 0, (HEAP32[($5 + 224 | 0) >> 2] | 0) + 184 | 0 | 0, 1 | 0); + btSequentialImpulseConstraintSolver__applyAnisotropicFriction_28btCollisionObject__2c_20btVector3__2c_20int_29(HEAP32[($5 + 252 | 0) >> 2] | 0 | 0, (HEAP32[($5 + 224 | 0) >> 2] | 0) + 184 | 0 | 0, 1 | 0); + $504 = Math_fround(0 | 0); + btSequentialImpulseConstraintSolver__addFrictionConstraint_28btVector3_20const__2c_20int_2c_20int_2c_20int_2c_20btManifoldPoint__2c_20btVector3_20const__2c_20btVector3_20const__2c_20btCollisionObject__2c_20btCollisionObject__2c_20float_2c_20btContactSolverInfo_20const__2c_20float_2c_20float_29($6 | 0, (HEAP32[($5 + 224 | 0) >> 2] | 0) + 184 | 0 | 0, HEAP32[($5 + 248 | 0) >> 2] | 0 | 0, HEAP32[($5 + 244 | 0) >> 2] | 0 | 0, HEAP32[($5 + 184 | 0) >> 2] | 0 | 0, HEAP32[($5 + 224 | 0) >> 2] | 0 | 0, $5 + 208 | 0 | 0, $5 + 192 | 0 | 0, HEAP32[($5 + 256 | 0) >> 2] | 0 | 0, HEAP32[($5 + 252 | 0) >> 2] | 0 | 0, Math_fround(Math_fround(HEAPF32[($5 + 188 | 0) >> 2])), HEAP32[($5 + 260 | 0) >> 2] | 0 | 0, Math_fround($504), Math_fround($504)) | 0; + } + label$16 : { + if (!((HEAP32[((HEAP32[($5 + 260 | 0) >> 2] | 0) + 72 | 0) >> 2] | 0) & 16 | 0)) { + break label$16 + } + if (!((HEAP32[((HEAP32[($5 + 260 | 0) >> 2] | 0) + 72 | 0) >> 2] | 0) & 64 | 0)) { + break label$16 + } + $513 = HEAP32[($5 + 224 | 0) >> 2] | 0; + HEAP32[($513 + 128 | 0) >> 2] = HEAP32[($513 + 128 | 0) >> 2] | 0 | 1 | 0; + } + } + break label$9; + } + btSequentialImpulseConstraintSolver__addFrictionConstraint_28btVector3_20const__2c_20int_2c_20int_2c_20int_2c_20btManifoldPoint__2c_20btVector3_20const__2c_20btVector3_20const__2c_20btCollisionObject__2c_20btCollisionObject__2c_20float_2c_20btContactSolverInfo_20const__2c_20float_2c_20float_29($6 | 0, (HEAP32[($5 + 224 | 0) >> 2] | 0) + 168 | 0 | 0, HEAP32[($5 + 248 | 0) >> 2] | 0 | 0, HEAP32[($5 + 244 | 0) >> 2] | 0 | 0, HEAP32[($5 + 184 | 0) >> 2] | 0 | 0, HEAP32[($5 + 224 | 0) >> 2] | 0 | 0, $5 + 208 | 0 | 0, $5 + 192 | 0 | 0, HEAP32[($5 + 256 | 0) >> 2] | 0 | 0, HEAP32[($5 + 252 | 0) >> 2] | 0 | 0, Math_fround(Math_fround(HEAPF32[($5 + 188 | 0) >> 2])), HEAP32[($5 + 260 | 0) >> 2] | 0 | 0, Math_fround(Math_fround(HEAPF32[((HEAP32[($5 + 224 | 0) >> 2] | 0) + 144 | 0) >> 2])), Math_fround(Math_fround(HEAPF32[((HEAP32[($5 + 224 | 0) >> 2] | 0) + 160 | 0) >> 2]))) | 0; + label$17 : { + if (!((HEAP32[((HEAP32[($5 + 260 | 0) >> 2] | 0) + 72 | 0) >> 2] | 0) & 16 | 0)) { + break label$17 + } + btSequentialImpulseConstraintSolver__addFrictionConstraint_28btVector3_20const__2c_20int_2c_20int_2c_20int_2c_20btManifoldPoint__2c_20btVector3_20const__2c_20btVector3_20const__2c_20btCollisionObject__2c_20btCollisionObject__2c_20float_2c_20btContactSolverInfo_20const__2c_20float_2c_20float_29($6 | 0, (HEAP32[($5 + 224 | 0) >> 2] | 0) + 184 | 0 | 0, HEAP32[($5 + 248 | 0) >> 2] | 0 | 0, HEAP32[($5 + 244 | 0) >> 2] | 0 | 0, HEAP32[($5 + 184 | 0) >> 2] | 0 | 0, HEAP32[($5 + 224 | 0) >> 2] | 0 | 0, $5 + 208 | 0 | 0, $5 + 192 | 0 | 0, HEAP32[($5 + 256 | 0) >> 2] | 0 | 0, HEAP32[($5 + 252 | 0) >> 2] | 0 | 0, Math_fround(Math_fround(HEAPF32[($5 + 188 | 0) >> 2])), HEAP32[($5 + 260 | 0) >> 2] | 0 | 0, Math_fround(Math_fround(HEAPF32[((HEAP32[($5 + 224 | 0) >> 2] | 0) + 148 | 0) >> 2])), Math_fround(Math_fround(HEAPF32[((HEAP32[($5 + 224 | 0) >> 2] | 0) + 160 | 0) >> 2]))) | 0; + } + } + btSequentialImpulseConstraintSolver__setFrictionConstraintImpulse_28btSolverConstraint__2c_20int_2c_20int_2c_20btManifoldPoint__2c_20btContactSolverInfo_20const__29($6 | 0, HEAP32[($5 + 180 | 0) >> 2] | 0 | 0, HEAP32[($5 + 248 | 0) >> 2] | 0 | 0, HEAP32[($5 + 244 | 0) >> 2] | 0 | 0, HEAP32[($5 + 224 | 0) >> 2] | 0 | 0, HEAP32[($5 + 260 | 0) >> 2] | 0 | 0); + } + HEAP32[($5 + 228 | 0) >> 2] = (HEAP32[($5 + 228 | 0) >> 2] | 0) + 1 | 0; + continue label$4; + }; + } + __stack_pointer = $5 + 272 | 0; + return; + } + + function btPersistentManifold__getContactProcessingThreshold_28_29_20const($0) { + $0 = $0 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + return Math_fround(Math_fround(HEAPF32[((HEAP32[($3 + 12 | 0) >> 2] | 0) + 852 | 0) >> 2])); + } + + function btSolverBody__getVelocityInLocalPointNoDelta_28btVector3_20const__2c_20btVector3__29_20const($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $5 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $6 = 0, i64toi32_i32$2 = 0, $44 = 0, $46 = 0, $154 = 0, $167 = 0, $52 = 0; + $5 = __stack_pointer - 96 | 0; + __stack_pointer = $5; + HEAP32[($5 + 92 | 0) >> 2] = $0; + HEAP32[($5 + 88 | 0) >> 2] = $1; + HEAP32[($5 + 84 | 0) >> 2] = $2; + $6 = HEAP32[($5 + 92 | 0) >> 2] | 0; + label$1 : { + label$2 : { + if (!((HEAP32[($6 + 240 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$2 + } + operator__28btVector3_20const__2c_20btVector3_20const__29_2($5 + 52 | 0 | 0, $6 + 176 | 0 | 0, $6 + 208 | 0 | 0); + operator__28btVector3_20const__2c_20btVector3_20const__29_2($5 + 20 | 0 | 0, $6 + 192 | 0 | 0, $6 + 224 | 0 | 0); + btVector3__cross_28btVector3_20const__29_20const($5 + 36 | 0 | 0, $5 + 20 | 0 | 0, HEAP32[($5 + 88 | 0) >> 2] | 0 | 0); + operator__28btVector3_20const__2c_20btVector3_20const__29_2($5 + 68 | 0 | 0, $5 + 52 | 0 | 0, $5 + 36 | 0 | 0); + $44 = HEAP32[($5 + 84 | 0) >> 2] | 0; + i64toi32_i32$2 = $5; + i64toi32_i32$0 = HEAP32[($5 + 68 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($5 + 72 | 0) >> 2] | 0; + $154 = i64toi32_i32$0; + i64toi32_i32$0 = $44; + HEAP32[i64toi32_i32$0 >> 2] = $154; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $46 = 8; + i64toi32_i32$2 = ($5 + 68 | 0) + $46 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $167 = i64toi32_i32$1; + i64toi32_i32$1 = $44 + $46 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $167; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + break label$1; + } + $52 = HEAP32[($5 + 84 | 0) >> 2] | 0; + HEAPF32[($5 + 16 | 0) >> 2] = Math_fround(0 | 0); + HEAPF32[($5 + 12 | 0) >> 2] = Math_fround(0 | 0); + HEAPF32[($5 + 8 | 0) >> 2] = Math_fround(0 | 0); + btVector3__setValue_28float_20const__2c_20float_20const__2c_20float_20const__29($52 | 0, $5 + 16 | 0 | 0, $5 + 12 | 0 | 0, $5 + 8 | 0 | 0); + } + __stack_pointer = $5 + 96 | 0; + return; + } + + function btSequentialImpulseConstraintSolver__convertContacts_28btPersistentManifold___2c_20int_2c_20btContactSolverInfo_20const__29($0, $1, $2, $3) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + var $6 = 0, $7 = 0; + $6 = __stack_pointer - 32 | 0; + __stack_pointer = $6; + HEAP32[($6 + 28 | 0) >> 2] = $0; + HEAP32[($6 + 24 | 0) >> 2] = $1; + HEAP32[($6 + 20 | 0) >> 2] = $2; + HEAP32[($6 + 16 | 0) >> 2] = $3; + $7 = HEAP32[($6 + 28 | 0) >> 2] | 0; + HEAP32[($6 + 8 | 0) >> 2] = 0; + HEAP32[($6 + 12 | 0) >> 2] = 0; + label$1 : { + label$2 : while (1) { + if (!((HEAP32[($6 + 12 | 0) >> 2] | 0 | 0) < (HEAP32[($6 + 20 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$1 + } + HEAP32[($6 + 8 | 0) >> 2] = HEAP32[((HEAP32[($6 + 24 | 0) >> 2] | 0) + ((HEAP32[($6 + 12 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; + btSequentialImpulseConstraintSolver__convertContact_28btPersistentManifold__2c_20btContactSolverInfo_20const__29($7 | 0, HEAP32[($6 + 8 | 0) >> 2] | 0 | 0, HEAP32[($6 + 16 | 0) >> 2] | 0 | 0); + HEAP32[($6 + 12 | 0) >> 2] = (HEAP32[($6 + 12 | 0) >> 2] | 0) + 1 | 0; + continue label$2; + }; + } + __stack_pointer = $6 + 32 | 0; + return; + } + + function btSequentialImpulseConstraintSolver__solveGroupCacheFriendlySetup_28btCollisionObject___2c_20int_2c_20btPersistentManifold___2c_20int_2c_20btTypedConstraint___2c_20int_2c_20btContactSolverInfo_20const__2c_20btIDebugDraw__29($0, $1, $2, $3, $4, $5, $6, $7, $8) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + $4 = $4 | 0; + $5 = $5 | 0; + $6 = $6 | 0; + $7 = $7 | 0; + $8 = $8 | 0; + var $11 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, $12 = 0, $152 = 0, $194 = 0, $219 = 0, $251 = 0, $323 = 0, $407 = 0, $676 = 0, $759 = 0, $761 = 0, $788 = 0, $790 = 0, $884 = Math_fround(0), $899 = 0, $900 = 0, $935 = 0, $936 = 0, $971 = 0, $972 = 0, $1007 = 0, $1008 = 0, $1539 = 0, $1543 = 0, $1624 = 0, $1628 = 0, $1678 = 0, $1682 = 0, $483 = 0, $500 = 0, $517 = 0, $534 = 0, $551 = 0, $568 = 0, $585 = 0, $602 = 0, $714 = Math_fround(0), $736 = Math_fround(0), $2805 = 0, $2818 = 0, $2866 = 0, $2879 = 0, $798 = 0, $815 = 0, $843 = Math_fround(0), $852 = Math_fround(0), $861 = Math_fround(0), $3099 = 0, $3103 = 0, $3168 = 0, $3172 = 0, $3237 = 0, $3241 = 0, $3306 = 0, $3310 = 0, $1035 = 0, $1047 = Math_fround(0), $1048 = 0, $1064 = 0, $1076 = Math_fround(0), $1079 = 0, $1128 = 0, $1174 = 0, $1190 = 0, $1206 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0, wasm2js_f32$0 = Math_fround(0); + $11 = __stack_pointer - 1040 | 0; + __stack_pointer = $11; + HEAP32[($11 + 1036 | 0) >> 2] = $0; + HEAP32[($11 + 1032 | 0) >> 2] = $1; + HEAP32[($11 + 1028 | 0) >> 2] = $2; + HEAP32[($11 + 1024 | 0) >> 2] = $3; + HEAP32[($11 + 1020 | 0) >> 2] = $4; + HEAP32[($11 + 1016 | 0) >> 2] = $5; + HEAP32[($11 + 1012 | 0) >> 2] = $6; + HEAP32[($11 + 1008 | 0) >> 2] = $7; + HEAP32[($11 + 1004 | 0) >> 2] = $8; + $12 = HEAP32[($11 + 1036 | 0) >> 2] | 0; + HEAP32[($12 + 188 | 0) >> 2] = -1; + CProfileSample__CProfileSample_28char_20const__29($11 + 1003 | 0 | 0, 71285 | 0) | 0; + label$1 : { + if (!((HEAP32[((HEAP32[($11 + 1008 | 0) >> 2] | 0) + 72 | 0) >> 2] | 0 | 0) != (HEAP32[($12 + 224 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$1 + } + HEAP8[($11 + 1002 | 0) >> 0] = ((((HEAP32[((HEAP32[($11 + 1008 | 0) >> 2] | 0) + 72 | 0) >> 2] | 0) & 256 | 0 | 0) != (0 | 0) ^ -1 | 0) ^ -1 | 0) & 1 | 0; + btSequentialImpulseConstraintSolver__setupSolverFunctions_28bool_29($12 | 0, (HEAPU8[($11 + 1002 | 0) >> 0] | 0) & 1 | 0 | 0); + HEAP32[($12 + 224 | 0) >> 2] = HEAP32[((HEAP32[($11 + 1008 | 0) >> 2] | 0) + 72 | 0) >> 2] | 0; + } + HEAP32[($12 + 184 | 0) >> 2] = 0; + HEAP32[($11 + 996 | 0) >> 2] = 0; + label$2 : { + label$3 : while (1) { + if (!((HEAP32[($11 + 996 | 0) >> 2] | 0 | 0) < (HEAP32[($11 + 1028 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$2 + } + btCollisionObject__setCompanionId_28int_29(HEAP32[((HEAP32[($11 + 1032 | 0) >> 2] | 0) + ((HEAP32[($11 + 996 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0, -1 | 0); + HEAP32[($11 + 996 | 0) >> 2] = (HEAP32[($11 + 996 | 0) >> 2] | 0) + 1 | 0; + continue label$3; + }; + } + btAlignedObjectArray_btSolverBody___reserve_28int_29($12 + 4 | 0 | 0, (HEAP32[($11 + 1028 | 0) >> 2] | 0) + 1 | 0 | 0); + __memset($11 + 752 | 0 | 0, 0 | 0, 244 | 0) | 0; + btSolverBody__btSolverBody_28_29($11 + 752 | 0 | 0) | 0; + btAlignedObjectArray_btSolverBody___resize_28int_2c_20btSolverBody_20const__29($12 + 4 | 0 | 0, 0 | 0, $11 + 752 | 0 | 0); + HEAP32[($11 + 748 | 0) >> 2] = 0; + label$4 : { + label$5 : while (1) { + if (!((HEAP32[($11 + 748 | 0) >> 2] | 0 | 0) < (HEAP32[($11 + 1028 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$4 + } + (wasm2js_i32$0 = $11, wasm2js_i32$1 = btSequentialImpulseConstraintSolver__getOrInitSolverBody_28btCollisionObject__2c_20float_29($12 | 0, HEAP32[((HEAP32[($11 + 1032 | 0) >> 2] | 0) + ((HEAP32[($11 + 748 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0, Math_fround(Math_fround(HEAPF32[((HEAP32[($11 + 1008 | 0) >> 2] | 0) + 12 | 0) >> 2]))) | 0), HEAP32[(wasm2js_i32$0 + 744 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $11, wasm2js_i32$1 = btRigidBody__upcast_28btCollisionObject__29(HEAP32[((HEAP32[($11 + 1032 | 0) >> 2] | 0) + ((HEAP32[($11 + 748 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 740 | 0) >> 2] = wasm2js_i32$1; + label$6 : { + if (!((HEAP32[($11 + 740 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$6 + } + if (!(Math_fround(btRigidBody__getInvMass_28_29_20const(HEAP32[($11 + 740 | 0) >> 2] | 0 | 0)) != Math_fround(0 | 0) & 1 | 0)) { + break label$6 + } + (wasm2js_i32$0 = $11, wasm2js_i32$1 = btAlignedObjectArray_btSolverBody___operator_5b_5d_28int_29($12 + 4 | 0 | 0, HEAP32[($11 + 744 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 736 | 0) >> 2] = wasm2js_i32$1; + HEAPF32[($11 + 716 | 0) >> 2] = Math_fround(0 | 0); + HEAPF32[($11 + 712 | 0) >> 2] = Math_fround(0 | 0); + HEAPF32[($11 + 708 | 0) >> 2] = Math_fround(0 | 0); + btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($11 + 720 | 0 | 0, $11 + 716 | 0 | 0, $11 + 712 | 0 | 0, $11 + 708 | 0 | 0) | 0; + label$7 : { + if (!((btRigidBody__getFlags_28_29_20const(HEAP32[($11 + 740 | 0) >> 2] | 0 | 0) | 0) & 2 | 0)) { + break label$7 + } + btRigidBody__computeGyroscopicForceExplicit_28float_29_20const($11 + 692 | 0 | 0, HEAP32[($11 + 740 | 0) >> 2] | 0 | 0, Math_fround(Math_fround(HEAPF32[((HEAP32[($11 + 1008 | 0) >> 2] | 0) + 84 | 0) >> 2]))); + $152 = 8; + i64toi32_i32$2 = ($11 + 692 | 0) + $152 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $1539 = i64toi32_i32$0; + i64toi32_i32$0 = ($11 + 720 | 0) + $152 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $1539; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$2 = $11; + i64toi32_i32$1 = HEAP32[($11 + 692 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($11 + 696 | 0) >> 2] | 0; + $1543 = i64toi32_i32$1; + i64toi32_i32$1 = $11; + HEAP32[($11 + 720 | 0) >> 2] = $1543; + HEAP32[($11 + 724 | 0) >> 2] = i64toi32_i32$0; + operator__28btVector3_20const__2c_20btMatrix3x3_20const__29($11 + 660 | 0 | 0, $11 + 720 | 0 | 0, btRigidBody__getInvInertiaTensorWorld_28_29_20const(HEAP32[($11 + 740 | 0) >> 2] | 0 | 0) | 0 | 0); + operator__28btVector3_20const__2c_20float_20const__29($11 + 676 | 0 | 0, $11 + 660 | 0 | 0, (HEAP32[($11 + 1008 | 0) >> 2] | 0) + 12 | 0 | 0); + btVector3__operator___28btVector3_20const__29((HEAP32[($11 + 736 | 0) >> 2] | 0) + 224 | 0 | 0, $11 + 676 | 0 | 0) | 0; + } + label$8 : { + if (!((btRigidBody__getFlags_28_29_20const(HEAP32[($11 + 740 | 0) >> 2] | 0 | 0) | 0) & 4 | 0)) { + break label$8 + } + btRigidBody__computeGyroscopicImpulseImplicit_World_28float_29_20const($11 + 644 | 0 | 0, HEAP32[($11 + 740 | 0) >> 2] | 0 | 0, Math_fround(Math_fround(HEAPF32[((HEAP32[($11 + 1008 | 0) >> 2] | 0) + 12 | 0) >> 2]))); + $194 = 8; + i64toi32_i32$2 = ($11 + 644 | 0) + $194 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $1624 = i64toi32_i32$0; + i64toi32_i32$0 = ($11 + 720 | 0) + $194 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $1624; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$2 = $11; + i64toi32_i32$1 = HEAP32[($11 + 644 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($11 + 648 | 0) >> 2] | 0; + $1628 = i64toi32_i32$1; + i64toi32_i32$1 = $11; + HEAP32[($11 + 720 | 0) >> 2] = $1628; + HEAP32[($11 + 724 | 0) >> 2] = i64toi32_i32$0; + btVector3__operator___28btVector3_20const__29_1((HEAP32[($11 + 736 | 0) >> 2] | 0) + 224 | 0 | 0, $11 + 720 | 0 | 0) | 0; + } + label$9 : { + if (!((btRigidBody__getFlags_28_29_20const(HEAP32[($11 + 740 | 0) >> 2] | 0 | 0) | 0) & 8 | 0)) { + break label$9 + } + btRigidBody__computeGyroscopicImpulseImplicit_Body_28float_29_20const($11 + 628 | 0 | 0, HEAP32[($11 + 740 | 0) >> 2] | 0 | 0, Math_fround(Math_fround(HEAPF32[((HEAP32[($11 + 1008 | 0) >> 2] | 0) + 12 | 0) >> 2]))); + $219 = 8; + i64toi32_i32$2 = ($11 + 628 | 0) + $219 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $1678 = i64toi32_i32$0; + i64toi32_i32$0 = ($11 + 720 | 0) + $219 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $1678; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$2 = $11; + i64toi32_i32$1 = HEAP32[($11 + 628 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($11 + 632 | 0) >> 2] | 0; + $1682 = i64toi32_i32$1; + i64toi32_i32$1 = $11; + HEAP32[($11 + 720 | 0) >> 2] = $1682; + HEAP32[($11 + 724 | 0) >> 2] = i64toi32_i32$0; + btVector3__operator___28btVector3_20const__29_1((HEAP32[($11 + 736 | 0) >> 2] | 0) + 224 | 0 | 0, $11 + 720 | 0 | 0) | 0; + } + } + HEAP32[($11 + 748 | 0) >> 2] = (HEAP32[($11 + 748 | 0) >> 2] | 0) + 1 | 0; + continue label$5; + }; + } + HEAP32[($11 + 624 | 0) >> 2] = 0; + label$10 : { + label$11 : while (1) { + if (!((HEAP32[($11 + 624 | 0) >> 2] | 0 | 0) < (HEAP32[($11 + 1012 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$10 + } + HEAP32[($11 + 620 | 0) >> 2] = HEAP32[((HEAP32[($11 + 1016 | 0) >> 2] | 0) + ((HEAP32[($11 + 624 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; + $251 = HEAP32[($11 + 620 | 0) >> 2] | 0; + FUNCTION_TABLE[HEAP32[((HEAP32[$251 >> 2] | 0) + 8 | 0) >> 2] | 0 | 0]($251); + btTypedConstraint__internalSetAppliedImpulse_28float_29(HEAP32[($11 + 620 | 0) >> 2] | 0 | 0, Math_fround(Math_fround(0 | 0))); + HEAP32[($11 + 624 | 0) >> 2] = (HEAP32[($11 + 624 | 0) >> 2] | 0) + 1 | 0; + continue label$11; + }; + } + HEAP32[($11 + 616 | 0) >> 2] = 0; + btAlignedObjectArray_btTypedConstraint__btConstraintInfo1___resizeNoInitialize_28int_29($12 + 164 | 0 | 0, HEAP32[($11 + 1012 | 0) >> 2] | 0 | 0); + HEAP32[($11 + 612 | 0) >> 2] = 0; + label$12 : { + label$13 : while (1) { + if (!((HEAP32[($11 + 612 | 0) >> 2] | 0 | 0) < (HEAP32[($11 + 1012 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$12 + } + (wasm2js_i32$0 = $11, wasm2js_i32$1 = btAlignedObjectArray_btTypedConstraint__btConstraintInfo1___operator_5b_5d_28int_29($12 + 164 | 0 | 0, HEAP32[($11 + 612 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 608 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $11, wasm2js_i32$1 = btTypedConstraint__getJointFeedback_28_29(HEAP32[((HEAP32[($11 + 1016 | 0) >> 2] | 0) + ((HEAP32[($11 + 612 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 604 | 0) >> 2] = wasm2js_i32$1; + label$14 : { + if (!((HEAP32[($11 + 604 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$14 + } + btVector3__setZero_28_29(HEAP32[($11 + 604 | 0) >> 2] | 0 | 0); + btVector3__setZero_28_29((HEAP32[($11 + 604 | 0) >> 2] | 0) + 16 | 0 | 0); + btVector3__setZero_28_29((HEAP32[($11 + 604 | 0) >> 2] | 0) + 32 | 0 | 0); + btVector3__setZero_28_29((HEAP32[($11 + 604 | 0) >> 2] | 0) + 48 | 0 | 0); + } + label$15 : { + if (!((btTypedConstraint__isEnabled_28_29_20const(HEAP32[((HEAP32[($11 + 1016 | 0) >> 2] | 0) + ((HEAP32[($11 + 612 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0) | 0) & 1 | 0)) { + break label$15 + } + } + label$16 : { + label$17 : { + if (!((btTypedConstraint__isEnabled_28_29_20const(HEAP32[((HEAP32[($11 + 1016 | 0) >> 2] | 0) + ((HEAP32[($11 + 612 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0) | 0) & 1 | 0)) { + break label$17 + } + $323 = HEAP32[((HEAP32[($11 + 1016 | 0) >> 2] | 0) + ((HEAP32[($11 + 612 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; + FUNCTION_TABLE[HEAP32[((HEAP32[$323 >> 2] | 0) + 16 | 0) >> 2] | 0 | 0]($323, HEAP32[($11 + 608 | 0) >> 2] | 0); + break label$16; + } + HEAP32[(HEAP32[($11 + 608 | 0) >> 2] | 0) >> 2] = 0; + HEAP32[((HEAP32[($11 + 608 | 0) >> 2] | 0) + 4 | 0) >> 2] = 0; + } + HEAP32[($11 + 616 | 0) >> 2] = (HEAP32[($11 + 616 | 0) >> 2] | 0) + (HEAP32[(HEAP32[($11 + 608 | 0) >> 2] | 0) >> 2] | 0) | 0; + HEAP32[($11 + 612 | 0) >> 2] = (HEAP32[($11 + 612 | 0) >> 2] | 0) + 1 | 0; + continue label$13; + }; + } + btAlignedObjectArray_btSolverConstraint___resizeNoInitialize_28int_29($12 + 44 | 0 | 0, HEAP32[($11 + 616 | 0) >> 2] | 0 | 0); + HEAP32[($11 + 600 | 0) >> 2] = 0; + HEAP32[($11 + 612 | 0) >> 2] = 0; + label$18 : { + label$19 : while (1) { + if (!((HEAP32[($11 + 612 | 0) >> 2] | 0 | 0) < (HEAP32[($11 + 1012 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$18 + } + (wasm2js_i32$0 = $11, wasm2js_i32$1 = btAlignedObjectArray_btTypedConstraint__btConstraintInfo1___operator_5b_5d_28int_29($12 + 164 | 0 | 0, HEAP32[($11 + 612 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 596 | 0) >> 2] = wasm2js_i32$1; + label$20 : { + if (!(HEAP32[(HEAP32[($11 + 596 | 0) >> 2] | 0) >> 2] | 0)) { + break label$20 + } + label$21 : { + if ((HEAP32[($11 + 600 | 0) >> 2] | 0 | 0) < (HEAP32[($11 + 616 | 0) >> 2] | 0 | 0) & 1 | 0) { + break label$21 + } + __assert_fail(68995 | 0, 72591 | 0, 1455 | 0, 71285 | 0); + wasm2js_trap(); + } + (wasm2js_i32$0 = $11, wasm2js_i32$1 = btAlignedObjectArray_btSolverConstraint___operator_5b_5d_28int_29($12 + 44 | 0 | 0, HEAP32[($11 + 600 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 592 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($11 + 588 | 0) >> 2] = HEAP32[((HEAP32[($11 + 1016 | 0) >> 2] | 0) + ((HEAP32[($11 + 612 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; + (wasm2js_i32$0 = $11, wasm2js_i32$1 = btTypedConstraint__getRigidBodyA_28_29(HEAP32[($11 + 588 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 584 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $11, wasm2js_i32$1 = btTypedConstraint__getRigidBodyB_28_29(HEAP32[($11 + 588 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 580 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $11, wasm2js_i32$1 = btSequentialImpulseConstraintSolver__getOrInitSolverBody_28btCollisionObject__2c_20float_29($12 | 0, HEAP32[($11 + 584 | 0) >> 2] | 0 | 0, Math_fround(Math_fround(HEAPF32[((HEAP32[($11 + 1008 | 0) >> 2] | 0) + 12 | 0) >> 2]))) | 0), HEAP32[(wasm2js_i32$0 + 576 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $11, wasm2js_i32$1 = btSequentialImpulseConstraintSolver__getOrInitSolverBody_28btCollisionObject__2c_20float_29($12 | 0, HEAP32[($11 + 580 | 0) >> 2] | 0 | 0, Math_fround(Math_fround(HEAPF32[((HEAP32[($11 + 1008 | 0) >> 2] | 0) + 12 | 0) >> 2]))) | 0), HEAP32[(wasm2js_i32$0 + 572 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $11, wasm2js_i32$1 = btAlignedObjectArray_btSolverBody___operator_5b_5d_28int_29($12 + 4 | 0 | 0, HEAP32[($11 + 576 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 568 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $11, wasm2js_i32$1 = btAlignedObjectArray_btSolverBody___operator_5b_5d_28int_29($12 + 4 | 0 | 0, HEAP32[($11 + 572 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 564 | 0) >> 2] = wasm2js_i32$1; + label$22 : { + label$23 : { + if (!((btTypedConstraint__getOverrideNumSolverIterations_28_29_20const(HEAP32[($11 + 588 | 0) >> 2] | 0 | 0) | 0 | 0) > (0 | 0) & 1 | 0)) { + break label$23 + } + $407 = btTypedConstraint__getOverrideNumSolverIterations_28_29_20const(HEAP32[($11 + 588 | 0) >> 2] | 0 | 0) | 0; + break label$22; + } + $407 = HEAP32[((HEAP32[($11 + 1008 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0; + } + HEAP32[($11 + 560 | 0) >> 2] = $407; + label$24 : { + if (!((HEAP32[($11 + 560 | 0) >> 2] | 0 | 0) > (HEAP32[($12 + 184 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$24 + } + HEAP32[($12 + 184 | 0) >> 2] = HEAP32[($11 + 560 | 0) >> 2] | 0; + } + HEAP32[($11 + 556 | 0) >> 2] = 0; + label$25 : { + label$26 : while (1) { + if (!((HEAP32[($11 + 556 | 0) >> 2] | 0 | 0) < (HEAP32[(HEAP32[($11 + 596 | 0) >> 2] | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$25 + } + __memset((HEAP32[($11 + 592 | 0) >> 2] | 0) + Math_imul(HEAP32[($11 + 556 | 0) >> 2] | 0, 152) | 0 | 0, 0 | 0, 152 | 0) | 0; + HEAPF32[(((HEAP32[($11 + 592 | 0) >> 2] | 0) + Math_imul(HEAP32[($11 + 556 | 0) >> 2] | 0, 152) | 0) + 120 | 0) >> 2] = Math_fround(-3402823466385288598117041.0e14); + HEAPF32[(((HEAP32[($11 + 592 | 0) >> 2] | 0) + Math_imul(HEAP32[($11 + 556 | 0) >> 2] | 0, 152) | 0) + 124 | 0) >> 2] = Math_fround(3402823466385288598117041.0e14); + HEAPF32[(((HEAP32[($11 + 592 | 0) >> 2] | 0) + Math_imul(HEAP32[($11 + 556 | 0) >> 2] | 0, 152) | 0) + 100 | 0) >> 2] = Math_fround(0 | 0); + HEAPF32[(((HEAP32[($11 + 592 | 0) >> 2] | 0) + Math_imul(HEAP32[($11 + 556 | 0) >> 2] | 0, 152) | 0) + 96 | 0) >> 2] = Math_fround(0 | 0); + HEAP32[(((HEAP32[($11 + 592 | 0) >> 2] | 0) + Math_imul(HEAP32[($11 + 556 | 0) >> 2] | 0, 152) | 0) + 144 | 0) >> 2] = HEAP32[($11 + 576 | 0) >> 2] | 0; + HEAP32[(((HEAP32[($11 + 592 | 0) >> 2] | 0) + Math_imul(HEAP32[($11 + 556 | 0) >> 2] | 0, 152) | 0) + 148 | 0) >> 2] = HEAP32[($11 + 572 | 0) >> 2] | 0; + HEAP32[(((HEAP32[($11 + 592 | 0) >> 2] | 0) + Math_imul(HEAP32[($11 + 556 | 0) >> 2] | 0, 152) | 0) + 136 | 0) >> 2] = HEAP32[($11 + 560 | 0) >> 2] | 0; + HEAP32[($11 + 556 | 0) >> 2] = (HEAP32[($11 + 556 | 0) >> 2] | 0) + 1 | 0; + continue label$26; + }; + } + $483 = btSolverBody__internalGetDeltaLinearVelocity_28_29(HEAP32[($11 + 568 | 0) >> 2] | 0 | 0) | 0; + HEAPF32[($11 + 552 | 0) >> 2] = Math_fround(0 | 0); + HEAPF32[($11 + 548 | 0) >> 2] = Math_fround(0 | 0); + HEAPF32[($11 + 544 | 0) >> 2] = Math_fround(0 | 0); + btVector3__setValue_28float_20const__2c_20float_20const__2c_20float_20const__29($483 | 0, $11 + 552 | 0 | 0, $11 + 548 | 0 | 0, $11 + 544 | 0 | 0); + $500 = btSolverBody__internalGetDeltaAngularVelocity_28_29(HEAP32[($11 + 568 | 0) >> 2] | 0 | 0) | 0; + HEAPF32[($11 + 540 | 0) >> 2] = Math_fround(0 | 0); + HEAPF32[($11 + 536 | 0) >> 2] = Math_fround(0 | 0); + HEAPF32[($11 + 532 | 0) >> 2] = Math_fround(0 | 0); + btVector3__setValue_28float_20const__2c_20float_20const__2c_20float_20const__29($500 | 0, $11 + 540 | 0 | 0, $11 + 536 | 0 | 0, $11 + 532 | 0 | 0); + $517 = btSolverBody__internalGetPushVelocity_28_29(HEAP32[($11 + 568 | 0) >> 2] | 0 | 0) | 0; + HEAPF32[($11 + 528 | 0) >> 2] = Math_fround(0 | 0); + HEAPF32[($11 + 524 | 0) >> 2] = Math_fround(0 | 0); + HEAPF32[($11 + 520 | 0) >> 2] = Math_fround(0 | 0); + btVector3__setValue_28float_20const__2c_20float_20const__2c_20float_20const__29($517 | 0, $11 + 528 | 0 | 0, $11 + 524 | 0 | 0, $11 + 520 | 0 | 0); + $534 = btSolverBody__internalGetTurnVelocity_28_29(HEAP32[($11 + 568 | 0) >> 2] | 0 | 0) | 0; + HEAPF32[($11 + 516 | 0) >> 2] = Math_fround(0 | 0); + HEAPF32[($11 + 512 | 0) >> 2] = Math_fround(0 | 0); + HEAPF32[($11 + 508 | 0) >> 2] = Math_fround(0 | 0); + btVector3__setValue_28float_20const__2c_20float_20const__2c_20float_20const__29($534 | 0, $11 + 516 | 0 | 0, $11 + 512 | 0 | 0, $11 + 508 | 0 | 0); + $551 = btSolverBody__internalGetDeltaLinearVelocity_28_29(HEAP32[($11 + 564 | 0) >> 2] | 0 | 0) | 0; + HEAPF32[($11 + 504 | 0) >> 2] = Math_fround(0 | 0); + HEAPF32[($11 + 500 | 0) >> 2] = Math_fround(0 | 0); + HEAPF32[($11 + 496 | 0) >> 2] = Math_fround(0 | 0); + btVector3__setValue_28float_20const__2c_20float_20const__2c_20float_20const__29($551 | 0, $11 + 504 | 0 | 0, $11 + 500 | 0 | 0, $11 + 496 | 0 | 0); + $568 = btSolverBody__internalGetDeltaAngularVelocity_28_29(HEAP32[($11 + 564 | 0) >> 2] | 0 | 0) | 0; + HEAPF32[($11 + 492 | 0) >> 2] = Math_fround(0 | 0); + HEAPF32[($11 + 488 | 0) >> 2] = Math_fround(0 | 0); + HEAPF32[($11 + 484 | 0) >> 2] = Math_fround(0 | 0); + btVector3__setValue_28float_20const__2c_20float_20const__2c_20float_20const__29($568 | 0, $11 + 492 | 0 | 0, $11 + 488 | 0 | 0, $11 + 484 | 0 | 0); + $585 = btSolverBody__internalGetPushVelocity_28_29(HEAP32[($11 + 564 | 0) >> 2] | 0 | 0) | 0; + HEAPF32[($11 + 480 | 0) >> 2] = Math_fround(0 | 0); + HEAPF32[($11 + 476 | 0) >> 2] = Math_fround(0 | 0); + HEAPF32[($11 + 472 | 0) >> 2] = Math_fround(0 | 0); + btVector3__setValue_28float_20const__2c_20float_20const__2c_20float_20const__29($585 | 0, $11 + 480 | 0 | 0, $11 + 476 | 0 | 0, $11 + 472 | 0 | 0); + $602 = btSolverBody__internalGetTurnVelocity_28_29(HEAP32[($11 + 564 | 0) >> 2] | 0 | 0) | 0; + HEAPF32[($11 + 468 | 0) >> 2] = Math_fround(0 | 0); + HEAPF32[($11 + 464 | 0) >> 2] = Math_fround(0 | 0); + HEAPF32[($11 + 460 | 0) >> 2] = Math_fround(0 | 0); + btVector3__setValue_28float_20const__2c_20float_20const__2c_20float_20const__29($602 | 0, $11 + 468 | 0 | 0, $11 + 464 | 0 | 0, $11 + 460 | 0 | 0); + HEAPF32[($11 + 408 | 0) >> 2] = Math_fround(Math_fround(1.0) / Math_fround(HEAPF32[((HEAP32[($11 + 1008 | 0) >> 2] | 0) + 12 | 0) >> 2])); + HEAPF32[($11 + 412 | 0) >> 2] = Math_fround(HEAPF32[((HEAP32[($11 + 1008 | 0) >> 2] | 0) + 32 | 0) >> 2]); + (wasm2js_i32$0 = $11, wasm2js_i32$1 = btVector3__operator_20float__28_29((HEAP32[($11 + 592 | 0) >> 2] | 0) + 16 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 416 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $11, wasm2js_i32$1 = btVector3__operator_20float__28_29(HEAP32[($11 + 592 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 420 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $11, wasm2js_i32$1 = btVector3__operator_20float__28_29((HEAP32[($11 + 592 | 0) >> 2] | 0) + 48 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 424 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $11, wasm2js_i32$1 = btVector3__operator_20float__28_29((HEAP32[($11 + 592 | 0) >> 2] | 0) + 32 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 428 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($11 + 432 | 0) >> 2] = 38; + label$27 : { + if (((HEAP32[($11 + 432 | 0) >> 2] | 0) << 2 | 0 | 0) == (152 | 0) & 1 | 0) { + break label$27 + } + __assert_fail(86267 | 0, 72591 | 0, 1508 | 0, 71285 | 0); + wasm2js_trap(); + } + HEAP32[($11 + 436 | 0) >> 2] = (HEAP32[($11 + 592 | 0) >> 2] | 0) + 112 | 0; + HEAPF32[((HEAP32[($11 + 592 | 0) >> 2] | 0) + 116 | 0) >> 2] = Math_fround(HEAPF32[((HEAP32[($11 + 1008 | 0) >> 2] | 0) + 40 | 0) >> 2]); + HEAPF32[($11 + 456 | 0) >> 2] = Math_fround(HEAPF32[((HEAP32[($11 + 1008 | 0) >> 2] | 0) + 4 | 0) >> 2]); + HEAP32[($11 + 440 | 0) >> 2] = (HEAP32[($11 + 592 | 0) >> 2] | 0) + 116 | 0; + HEAP32[($11 + 444 | 0) >> 2] = (HEAP32[($11 + 592 | 0) >> 2] | 0) + 120 | 0; + HEAP32[($11 + 448 | 0) >> 2] = (HEAP32[($11 + 592 | 0) >> 2] | 0) + 124 | 0; + HEAP32[($11 + 452 | 0) >> 2] = HEAP32[((HEAP32[($11 + 1008 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0; + $676 = HEAP32[((HEAP32[($11 + 1016 | 0) >> 2] | 0) + ((HEAP32[($11 + 612 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; + FUNCTION_TABLE[HEAP32[((HEAP32[$676 >> 2] | 0) + 20 | 0) >> 2] | 0 | 0]($676, $11 + 408 | 0); + HEAP32[($11 + 556 | 0) >> 2] = 0; + label$28 : { + label$29 : while (1) { + if (!((HEAP32[($11 + 556 | 0) >> 2] | 0 | 0) < (HEAP32[(HEAP32[($11 + 596 | 0) >> 2] | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$28 + } + HEAP32[($11 + 404 | 0) >> 2] = (HEAP32[($11 + 592 | 0) >> 2] | 0) + Math_imul(HEAP32[($11 + 556 | 0) >> 2] | 0, 152) | 0; + label$30 : { + if (!(Math_fround(HEAPF32[((HEAP32[($11 + 404 | 0) >> 2] | 0) + 124 | 0) >> 2]) >= Math_fround(btTypedConstraint__getBreakingImpulseThreshold_28_29_20const(HEAP32[((HEAP32[($11 + 1016 | 0) >> 2] | 0) + ((HEAP32[($11 + 612 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0)) & 1 | 0)) { + break label$30 + } + $714 = Math_fround(btTypedConstraint__getBreakingImpulseThreshold_28_29_20const(HEAP32[((HEAP32[($11 + 1016 | 0) >> 2] | 0) + ((HEAP32[($11 + 612 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0)); + HEAPF32[((HEAP32[($11 + 404 | 0) >> 2] | 0) + 124 | 0) >> 2] = $714; + } + label$31 : { + if (!(Math_fround(HEAPF32[((HEAP32[($11 + 404 | 0) >> 2] | 0) + 120 | 0) >> 2]) <= Math_fround(-Math_fround(btTypedConstraint__getBreakingImpulseThreshold_28_29_20const(HEAP32[((HEAP32[($11 + 1016 | 0) >> 2] | 0) + ((HEAP32[($11 + 612 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0))) & 1 | 0)) { + break label$31 + } + $736 = Math_fround(-Math_fround(btTypedConstraint__getBreakingImpulseThreshold_28_29_20const(HEAP32[((HEAP32[($11 + 1016 | 0) >> 2] | 0) + ((HEAP32[($11 + 612 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0))); + HEAPF32[((HEAP32[($11 + 404 | 0) >> 2] | 0) + 120 | 0) >> 2] = $736; + } + HEAP32[((HEAP32[($11 + 404 | 0) >> 2] | 0) + 132 | 0) >> 2] = HEAP32[($11 + 588 | 0) >> 2] | 0; + HEAP32[($11 + 400 | 0) >> 2] = HEAP32[($11 + 404 | 0) >> 2] | 0; + operator__28btMatrix3x3_20const__2c_20btVector3_20const__29($11 + 368 | 0 | 0, btRigidBody__getInvInertiaTensorWorld_28_29_20const(btTypedConstraint__getRigidBodyA_28_29(HEAP32[($11 + 588 | 0) >> 2] | 0 | 0) | 0 | 0) | 0 | 0, HEAP32[($11 + 400 | 0) >> 2] | 0 | 0); + operator__28btVector3_20const__2c_20btVector3_20const__29_1($11 + 384 | 0 | 0, $11 + 368 | 0 | 0, btRigidBody__getAngularFactor_28_29_20const(btTypedConstraint__getRigidBodyA_28_29(HEAP32[($11 + 588 | 0) >> 2] | 0 | 0) | 0 | 0) | 0 | 0); + $759 = (HEAP32[($11 + 404 | 0) >> 2] | 0) + 64 | 0; + i64toi32_i32$2 = $11; + i64toi32_i32$0 = HEAP32[($11 + 384 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($11 + 388 | 0) >> 2] | 0; + $2805 = i64toi32_i32$0; + i64toi32_i32$0 = $759; + HEAP32[i64toi32_i32$0 >> 2] = $2805; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $761 = 8; + i64toi32_i32$2 = ($11 + 384 | 0) + $761 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $2818 = i64toi32_i32$1; + i64toi32_i32$1 = $759 + $761 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $2818; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($11 + 364 | 0) >> 2] = (HEAP32[($11 + 404 | 0) >> 2] | 0) + 32 | 0; + operator__28btMatrix3x3_20const__2c_20btVector3_20const__29($11 + 332 | 0 | 0, btRigidBody__getInvInertiaTensorWorld_28_29_20const(btTypedConstraint__getRigidBodyB_28_29(HEAP32[($11 + 588 | 0) >> 2] | 0 | 0) | 0 | 0) | 0 | 0, HEAP32[($11 + 364 | 0) >> 2] | 0 | 0); + operator__28btVector3_20const__2c_20btVector3_20const__29_1($11 + 348 | 0 | 0, $11 + 332 | 0 | 0, btRigidBody__getAngularFactor_28_29_20const(btTypedConstraint__getRigidBodyB_28_29(HEAP32[($11 + 588 | 0) >> 2] | 0 | 0) | 0 | 0) | 0 | 0); + $788 = (HEAP32[($11 + 404 | 0) >> 2] | 0) + 80 | 0; + i64toi32_i32$2 = $11; + i64toi32_i32$0 = HEAP32[($11 + 348 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($11 + 352 | 0) >> 2] | 0; + $2866 = i64toi32_i32$0; + i64toi32_i32$0 = $788; + HEAP32[i64toi32_i32$0 >> 2] = $2866; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $790 = 8; + i64toi32_i32$2 = ($11 + 348 | 0) + $790 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $2879 = i64toi32_i32$1; + i64toi32_i32$1 = $788 + $790 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $2879; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + $798 = (HEAP32[($11 + 404 | 0) >> 2] | 0) + 16 | 0; + (wasm2js_i32$0 = $11, wasm2js_f32$0 = Math_fround(btRigidBody__getInvMass_28_29_20const(HEAP32[($11 + 584 | 0) >> 2] | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 312 | 0) >> 2] = wasm2js_f32$0; + operator__28btVector3_20const__2c_20float_20const__29($11 + 316 | 0 | 0, $798 | 0, $11 + 312 | 0 | 0); + operator__28btMatrix3x3_20const__2c_20btVector3_20const__29($11 + 296 | 0 | 0, btRigidBody__getInvInertiaTensorWorld_28_29_20const(HEAP32[($11 + 584 | 0) >> 2] | 0 | 0) | 0 | 0, HEAP32[($11 + 404 | 0) >> 2] | 0 | 0); + $815 = (HEAP32[($11 + 404 | 0) >> 2] | 0) + 48 | 0; + (wasm2js_i32$0 = $11, wasm2js_f32$0 = Math_fround(btRigidBody__getInvMass_28_29_20const(HEAP32[($11 + 580 | 0) >> 2] | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 276 | 0) >> 2] = wasm2js_f32$0; + operator__28btVector3_20const__2c_20float_20const__29($11 + 280 | 0 | 0, $815 | 0, $11 + 276 | 0 | 0); + operator__28btMatrix3x3_20const__2c_20btVector3_20const__29($11 + 260 | 0 | 0, btRigidBody__getInvInertiaTensorWorld_28_29_20const(HEAP32[($11 + 580 | 0) >> 2] | 0 | 0) | 0 | 0, (HEAP32[($11 + 404 | 0) >> 2] | 0) + 32 | 0 | 0); + (wasm2js_i32$0 = $11, wasm2js_f32$0 = Math_fround(btVector3__dot_28btVector3_20const__29_20const($11 + 316 | 0 | 0, (HEAP32[($11 + 404 | 0) >> 2] | 0) + 16 | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 256 | 0) >> 2] = wasm2js_f32$0; + $843 = Math_fround(btVector3__dot_28btVector3_20const__29_20const($11 + 296 | 0 | 0, HEAP32[($11 + 404 | 0) >> 2] | 0 | 0)); + HEAPF32[($11 + 256 | 0) >> 2] = Math_fround(Math_fround(HEAPF32[($11 + 256 | 0) >> 2]) + $843); + $852 = Math_fround(btVector3__dot_28btVector3_20const__29_20const($11 + 280 | 0 | 0, (HEAP32[($11 + 404 | 0) >> 2] | 0) + 48 | 0 | 0)); + HEAPF32[($11 + 256 | 0) >> 2] = Math_fround(Math_fround(HEAPF32[($11 + 256 | 0) >> 2]) + $852); + $861 = Math_fround(btVector3__dot_28btVector3_20const__29_20const($11 + 260 | 0 | 0, (HEAP32[($11 + 404 | 0) >> 2] | 0) + 32 | 0 | 0)); + HEAPF32[($11 + 256 | 0) >> 2] = Math_fround(Math_fround(HEAPF32[($11 + 256 | 0) >> 2]) + $861); + (wasm2js_i32$0 = $11, wasm2js_f32$0 = Math_fround(btFabs_28float_29(Math_fround(Math_fround(HEAPF32[($11 + 256 | 0) >> 2]))))), HEAPF32[(wasm2js_i32$0 + 252 | 0) >> 2] = wasm2js_f32$0; + label$32 : { + if (Math_fround(HEAPF32[($11 + 252 | 0) >> 2]) > Math_fround(1.1920928955078125e-07) & 1 | 0) { + break label$32 + } + __assert_fail(84262 | 0, 72591 | 0, 1555 | 0, 71285 | 0); + wasm2js_trap(); + } + HEAPF32[($11 + 248 | 0) >> 2] = Math_fround(1.0); + label$33 : { + label$34 : { + if (!(Math_fround(HEAPF32[($11 + 252 | 0) >> 2]) > Math_fround(1.1920928955078125e-07) & 1 | 0)) { + break label$34 + } + $884 = Math_fround(Math_fround(HEAPF32[($11 + 248 | 0) >> 2]) / Math_fround(HEAPF32[($11 + 256 | 0) >> 2])); + break label$33; + } + $884 = Math_fround(0 | 0); + } + HEAPF32[((HEAP32[($11 + 404 | 0) >> 2] | 0) + 108 | 0) >> 2] = $884; + label$35 : { + label$36 : { + if (!((HEAP32[((HEAP32[($11 + 568 | 0) >> 2] | 0) + 240 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$36 + } + $899 = (HEAP32[($11 + 568 | 0) >> 2] | 0) + 208 | 0; + $900 = 8; + i64toi32_i32$2 = $899 + $900 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $3099 = i64toi32_i32$0; + i64toi32_i32$0 = ($11 + 224 | 0) + $900 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $3099; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$2 = $899; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $3103 = i64toi32_i32$1; + i64toi32_i32$1 = $11; + HEAP32[($11 + 224 | 0) >> 2] = $3103; + HEAP32[($11 + 228 | 0) >> 2] = i64toi32_i32$0; + break label$35; + } + HEAPF32[($11 + 220 | 0) >> 2] = Math_fround(0 | 0); + HEAPF32[($11 + 216 | 0) >> 2] = Math_fround(0 | 0); + HEAPF32[($11 + 212 | 0) >> 2] = Math_fround(0 | 0); + btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($11 + 224 | 0 | 0, $11 + 220 | 0 | 0, $11 + 216 | 0 | 0, $11 + 212 | 0 | 0) | 0; + } + label$37 : { + label$38 : { + if (!((HEAP32[((HEAP32[($11 + 568 | 0) >> 2] | 0) + 240 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$38 + } + $935 = (HEAP32[($11 + 568 | 0) >> 2] | 0) + 224 | 0; + $936 = 8; + i64toi32_i32$2 = $935 + $936 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $3168 = i64toi32_i32$0; + i64toi32_i32$0 = ($11 + 192 | 0) + $936 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $3168; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$2 = $935; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $3172 = i64toi32_i32$1; + i64toi32_i32$1 = $11; + HEAP32[($11 + 192 | 0) >> 2] = $3172; + HEAP32[($11 + 196 | 0) >> 2] = i64toi32_i32$0; + break label$37; + } + HEAPF32[($11 + 188 | 0) >> 2] = Math_fround(0 | 0); + HEAPF32[($11 + 184 | 0) >> 2] = Math_fround(0 | 0); + HEAPF32[($11 + 180 | 0) >> 2] = Math_fround(0 | 0); + btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($11 + 192 | 0 | 0, $11 + 188 | 0 | 0, $11 + 184 | 0 | 0, $11 + 180 | 0 | 0) | 0; + } + label$39 : { + label$40 : { + if (!((HEAP32[((HEAP32[($11 + 564 | 0) >> 2] | 0) + 240 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$40 + } + $971 = (HEAP32[($11 + 564 | 0) >> 2] | 0) + 208 | 0; + $972 = 8; + i64toi32_i32$2 = $971 + $972 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $3237 = i64toi32_i32$0; + i64toi32_i32$0 = ($11 + 160 | 0) + $972 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $3237; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$2 = $971; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $3241 = i64toi32_i32$1; + i64toi32_i32$1 = $11; + HEAP32[($11 + 160 | 0) >> 2] = $3241; + HEAP32[($11 + 164 | 0) >> 2] = i64toi32_i32$0; + break label$39; + } + HEAPF32[($11 + 156 | 0) >> 2] = Math_fround(0 | 0); + HEAPF32[($11 + 152 | 0) >> 2] = Math_fround(0 | 0); + HEAPF32[($11 + 148 | 0) >> 2] = Math_fround(0 | 0); + btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($11 + 160 | 0 | 0, $11 + 156 | 0 | 0, $11 + 152 | 0 | 0, $11 + 148 | 0 | 0) | 0; + } + label$41 : { + label$42 : { + if (!((HEAP32[((HEAP32[($11 + 564 | 0) >> 2] | 0) + 240 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$42 + } + $1007 = (HEAP32[($11 + 564 | 0) >> 2] | 0) + 224 | 0; + $1008 = 8; + i64toi32_i32$2 = $1007 + $1008 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $3306 = i64toi32_i32$0; + i64toi32_i32$0 = ($11 + 128 | 0) + $1008 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $3306; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$2 = $1007; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $3310 = i64toi32_i32$1; + i64toi32_i32$1 = $11; + HEAP32[($11 + 128 | 0) >> 2] = $3310; + HEAP32[($11 + 132 | 0) >> 2] = i64toi32_i32$0; + break label$41; + } + HEAPF32[($11 + 124 | 0) >> 2] = Math_fround(0 | 0); + HEAPF32[($11 + 120 | 0) >> 2] = Math_fround(0 | 0); + HEAPF32[($11 + 116 | 0) >> 2] = Math_fround(0 | 0); + btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($11 + 128 | 0 | 0, $11 + 124 | 0 | 0, $11 + 120 | 0 | 0, $11 + 116 | 0 | 0) | 0; + } + $1035 = (HEAP32[($11 + 404 | 0) >> 2] | 0) + 16 | 0; + operator__28btVector3_20const__2c_20btVector3_20const__29_2($11 + 96 | 0 | 0, btRigidBody__getLinearVelocity_28_29_20const(HEAP32[($11 + 584 | 0) >> 2] | 0 | 0) | 0 | 0, $11 + 224 | 0 | 0); + $1047 = Math_fround(btVector3__dot_28btVector3_20const__29_20const($1035 | 0, $11 + 96 | 0 | 0)); + $1048 = HEAP32[($11 + 404 | 0) >> 2] | 0; + operator__28btVector3_20const__2c_20btVector3_20const__29_2($11 + 80 | 0 | 0, btRigidBody__getAngularVelocity_28_29_20const(HEAP32[($11 + 584 | 0) >> 2] | 0 | 0) | 0 | 0, $11 + 192 | 0 | 0); + (wasm2js_i32$0 = $11, wasm2js_f32$0 = Math_fround($1047 + Math_fround(btVector3__dot_28btVector3_20const__29_20const($1048 | 0, $11 + 80 | 0 | 0)))), HEAPF32[(wasm2js_i32$0 + 112 | 0) >> 2] = wasm2js_f32$0; + $1064 = (HEAP32[($11 + 404 | 0) >> 2] | 0) + 48 | 0; + operator__28btVector3_20const__2c_20btVector3_20const__29_2($11 + 60 | 0 | 0, btRigidBody__getLinearVelocity_28_29_20const(HEAP32[($11 + 580 | 0) >> 2] | 0 | 0) | 0 | 0, $11 + 160 | 0 | 0); + $1076 = Math_fround(btVector3__dot_28btVector3_20const__29_20const($1064 | 0, $11 + 60 | 0 | 0)); + $1079 = (HEAP32[($11 + 404 | 0) >> 2] | 0) + 32 | 0; + operator__28btVector3_20const__2c_20btVector3_20const__29_2($11 + 44 | 0 | 0, btRigidBody__getAngularVelocity_28_29_20const(HEAP32[($11 + 580 | 0) >> 2] | 0 | 0) | 0 | 0, $11 + 128 | 0 | 0); + (wasm2js_i32$0 = $11, wasm2js_f32$0 = Math_fround($1076 + Math_fround(btVector3__dot_28btVector3_20const__29_20const($1079 | 0, $11 + 44 | 0 | 0)))), HEAPF32[(wasm2js_i32$0 + 76 | 0) >> 2] = wasm2js_f32$0; + HEAPF32[($11 + 244 | 0) >> 2] = Math_fround(Math_fround(HEAPF32[($11 + 112 | 0) >> 2]) + Math_fround(HEAPF32[($11 + 76 | 0) >> 2])); + HEAPF32[($11 + 40 | 0) >> 2] = Math_fround(0 | 0); + HEAPF32[($11 + 36 | 0) >> 2] = Math_fround(HEAPF32[((HEAP32[($11 + 404 | 0) >> 2] | 0) + 112 | 0) >> 2]); + HEAPF32[($11 + 32 | 0) >> 2] = Math_fround(Math_fround(Math_fround(-Math_fround(HEAPF32[($11 + 244 | 0) >> 2])) * Math_fround(HEAPF32[($11 + 456 | 0) >> 2])) + Math_fround(HEAPF32[($11 + 40 | 0) >> 2])); + HEAPF32[($11 + 28 | 0) >> 2] = Math_fround(Math_fround(HEAPF32[($11 + 36 | 0) >> 2]) * Math_fround(HEAPF32[((HEAP32[($11 + 404 | 0) >> 2] | 0) + 108 | 0) >> 2])); + HEAPF32[($11 + 24 | 0) >> 2] = Math_fround(Math_fround(HEAPF32[($11 + 32 | 0) >> 2]) * Math_fround(HEAPF32[((HEAP32[($11 + 404 | 0) >> 2] | 0) + 108 | 0) >> 2])); + HEAPF32[((HEAP32[($11 + 404 | 0) >> 2] | 0) + 112 | 0) >> 2] = Math_fround(Math_fround(HEAPF32[($11 + 28 | 0) >> 2]) + Math_fround(HEAPF32[($11 + 24 | 0) >> 2])); + HEAPF32[((HEAP32[($11 + 404 | 0) >> 2] | 0) + 100 | 0) >> 2] = Math_fround(0 | 0); + HEAP32[($11 + 556 | 0) >> 2] = (HEAP32[($11 + 556 | 0) >> 2] | 0) + 1 | 0; + continue label$29; + }; + } + } + $1128 = HEAP32[(btAlignedObjectArray_btTypedConstraint__btConstraintInfo1___operator_5b_5d_28int_29($12 + 164 | 0 | 0, HEAP32[($11 + 612 | 0) >> 2] | 0 | 0) | 0) >> 2] | 0; + HEAP32[($11 + 600 | 0) >> 2] = (HEAP32[($11 + 600 | 0) >> 2] | 0) + $1128 | 0; + HEAP32[($11 + 612 | 0) >> 2] = (HEAP32[($11 + 612 | 0) >> 2] | 0) + 1 | 0; + continue label$19; + }; + } + FUNCTION_TABLE[HEAP32[((HEAP32[$12 >> 2] | 0) + 28 | 0) >> 2] | 0 | 0]($12, HEAP32[($11 + 1024 | 0) >> 2] | 0, HEAP32[($11 + 1020 | 0) >> 2] | 0, HEAP32[($11 + 1008 | 0) >> 2] | 0); + (wasm2js_i32$0 = $11, wasm2js_i32$1 = btAlignedObjectArray_btSolverConstraint___size_28_29_20const($12 + 44 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $11, wasm2js_i32$1 = btAlignedObjectArray_btSolverConstraint___size_28_29_20const($12 + 24 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $11, wasm2js_i32$1 = btAlignedObjectArray_btSolverConstraint___size_28_29_20const($12 + 64 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + btAlignedObjectArray_int___resizeNoInitialize_28int_29($12 + 124 | 0 | 0, HEAP32[($11 + 20 | 0) >> 2] | 0 | 0); + label$43 : { + label$44 : { + if (!((HEAP32[((HEAP32[($11 + 1008 | 0) >> 2] | 0) + 72 | 0) >> 2] | 0) & 16 | 0)) { + break label$44 + } + btAlignedObjectArray_int___resizeNoInitialize_28int_29($12 + 104 | 0 | 0, (HEAP32[($11 + 16 | 0) >> 2] | 0) << 1 | 0 | 0); + break label$43; + } + btAlignedObjectArray_int___resizeNoInitialize_28int_29($12 + 104 | 0 | 0, HEAP32[($11 + 16 | 0) >> 2] | 0 | 0); + } + btAlignedObjectArray_int___resizeNoInitialize_28int_29($12 + 144 | 0 | 0, HEAP32[($11 + 12 | 0) >> 2] | 0 | 0); + HEAP32[($11 + 8 | 0) >> 2] = 0; + label$45 : { + label$46 : while (1) { + if (!((HEAP32[($11 + 8 | 0) >> 2] | 0 | 0) < (HEAP32[($11 + 20 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$45 + } + $1174 = HEAP32[($11 + 8 | 0) >> 2] | 0; + (wasm2js_i32$0 = btAlignedObjectArray_int___operator_5b_5d_28int_29($12 + 124 | 0 | 0, HEAP32[($11 + 8 | 0) >> 2] | 0 | 0) | 0, wasm2js_i32$1 = $1174), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + HEAP32[($11 + 8 | 0) >> 2] = (HEAP32[($11 + 8 | 0) >> 2] | 0) + 1 | 0; + continue label$46; + }; + } + HEAP32[($11 + 8 | 0) >> 2] = 0; + label$47 : { + label$48 : while (1) { + if (!((HEAP32[($11 + 8 | 0) >> 2] | 0 | 0) < (HEAP32[($11 + 16 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$47 + } + $1190 = HEAP32[($11 + 8 | 0) >> 2] | 0; + (wasm2js_i32$0 = btAlignedObjectArray_int___operator_5b_5d_28int_29($12 + 104 | 0 | 0, HEAP32[($11 + 8 | 0) >> 2] | 0 | 0) | 0, wasm2js_i32$1 = $1190), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + HEAP32[($11 + 8 | 0) >> 2] = (HEAP32[($11 + 8 | 0) >> 2] | 0) + 1 | 0; + continue label$48; + }; + } + HEAP32[($11 + 8 | 0) >> 2] = 0; + label$49 : { + label$50 : while (1) { + if (!((HEAP32[($11 + 8 | 0) >> 2] | 0 | 0) < (HEAP32[($11 + 12 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$49 + } + $1206 = HEAP32[($11 + 8 | 0) >> 2] | 0; + (wasm2js_i32$0 = btAlignedObjectArray_int___operator_5b_5d_28int_29($12 + 144 | 0 | 0, HEAP32[($11 + 8 | 0) >> 2] | 0 | 0) | 0, wasm2js_i32$1 = $1206), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + HEAP32[($11 + 8 | 0) >> 2] = (HEAP32[($11 + 8 | 0) >> 2] | 0) + 1 | 0; + continue label$50; + }; + } + CProfileSample___CProfileSample_28_29($11 + 1003 | 0 | 0) | 0; + __stack_pointer = $11 + 1040 | 0; + return Math_fround(Math_fround(0 | 0)); + } + + function btAlignedObjectArray_btSolverBody___resize_28int_2c_20btSolverBody_20const__29($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $5 = 0, $6 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5 = __stack_pointer - 32 | 0; + __stack_pointer = $5; + HEAP32[($5 + 28 | 0) >> 2] = $0; + HEAP32[($5 + 24 | 0) >> 2] = $1; + HEAP32[($5 + 20 | 0) >> 2] = $2; + $6 = HEAP32[($5 + 28 | 0) >> 2] | 0; + (wasm2js_i32$0 = $5, wasm2js_i32$1 = btAlignedObjectArray_btSolverBody___size_28_29_20const($6 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + label$2 : { + if (!((HEAP32[($5 + 24 | 0) >> 2] | 0 | 0) < (HEAP32[($5 + 16 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($5 + 12 | 0) >> 2] = HEAP32[($5 + 24 | 0) >> 2] | 0; + label$3 : { + label$4 : while (1) { + if (!((HEAP32[($5 + 12 | 0) >> 2] | 0 | 0) < (HEAP32[($5 + 16 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$3 + } + HEAP32[($5 + 12 | 0) >> 2] = (HEAP32[($5 + 12 | 0) >> 2] | 0) + 1 | 0; + continue label$4; + }; + } + break label$1; + } + label$5 : { + if (!((HEAP32[($5 + 24 | 0) >> 2] | 0 | 0) > (HEAP32[($5 + 16 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$5 + } + btAlignedObjectArray_btSolverBody___reserve_28int_29($6 | 0, HEAP32[($5 + 24 | 0) >> 2] | 0 | 0); + } + HEAP32[($5 + 8 | 0) >> 2] = HEAP32[($5 + 16 | 0) >> 2] | 0; + label$6 : { + label$7 : while (1) { + if (!((HEAP32[($5 + 8 | 0) >> 2] | 0 | 0) < (HEAP32[($5 + 24 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$6 + } + btSolverBody__btSolverBody_28btSolverBody_20const__29(btSolverBody__operator_20new_28unsigned_20long_2c_20void__29(244 | 0, (HEAP32[($6 + 12 | 0) >> 2] | 0) + Math_imul(HEAP32[($5 + 8 | 0) >> 2] | 0, 244) | 0 | 0) | 0 | 0, HEAP32[($5 + 20 | 0) >> 2] | 0 | 0) | 0; + HEAP32[($5 + 8 | 0) >> 2] = (HEAP32[($5 + 8 | 0) >> 2] | 0) + 1 | 0; + continue label$7; + }; + } + } + HEAP32[($6 + 4 | 0) >> 2] = HEAP32[($5 + 24 | 0) >> 2] | 0; + __stack_pointer = $5 + 32 | 0; + return; + } + + function btTypedConstraint__internalSetAppliedImpulse_28float_29($0, $1) { + $0 = $0 | 0; + $1 = Math_fround($1); + var $4 = 0; + $4 = __stack_pointer - 16 | 0; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAPF32[($4 + 8 | 0) >> 2] = $1; + HEAPF32[((HEAP32[($4 + 12 | 0) >> 2] | 0) + 36 | 0) >> 2] = Math_fround(HEAPF32[($4 + 8 | 0) >> 2]); + return; + } + + function btAlignedObjectArray_btTypedConstraint__btConstraintInfo1___resizeNoInitialize_28int_29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, $5 = 0; + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; + label$1 : { + if (!((HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) > (btAlignedObjectArray_btTypedConstraint__btConstraintInfo1___size_28_29_20const($5 | 0) | 0 | 0) & 1 | 0)) { + break label$1 + } + btAlignedObjectArray_btTypedConstraint__btConstraintInfo1___reserve_28int_29($5 | 0, HEAP32[($4 + 8 | 0) >> 2] | 0 | 0); + } + HEAP32[($5 + 4 | 0) >> 2] = HEAP32[($4 + 8 | 0) >> 2] | 0; + __stack_pointer = $4 + 16 | 0; + return; + } + + function btAlignedObjectArray_btTypedConstraint__btConstraintInfo1___operator_5b_5d_28int_29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, $5 = 0, $32 = 0; + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; + label$1 : { + if ((HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0) { + break label$1 + } + __assert_fail(85840 | 0, 78192 | 0, 183 | 0, 83901 | 0); + wasm2js_trap(); + } + label$2 : { + if ((HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) < (btAlignedObjectArray_btTypedConstraint__btConstraintInfo1___size_28_29_20const($5 | 0) | 0 | 0) & 1 | 0) { + break label$2 + } + __assert_fail(87321 | 0, 78192 | 0, 184 | 0, 83901 | 0); + wasm2js_trap(); + } + $32 = (HEAP32[($5 + 12 | 0) >> 2] | 0) + ((HEAP32[($4 + 8 | 0) >> 2] | 0) << 3 | 0) | 0; + __stack_pointer = $4 + 16 | 0; + return $32 | 0; + } + + function btTypedConstraint__getJointFeedback_28_29($0) { + $0 = $0 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + return HEAP32[((HEAP32[($3 + 12 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0 | 0; + } + + function btTypedConstraint__isEnabled_28_29_20const($0) { + $0 = $0 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + return (HEAPU8[((HEAP32[($3 + 12 | 0) >> 2] | 0) + 20 | 0) >> 0] | 0) & 1 | 0 | 0; + } + + function btAlignedObjectArray_btSolverConstraint___resizeNoInitialize_28int_29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, $5 = 0; + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; + label$1 : { + if (!((HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) > (btAlignedObjectArray_btSolverConstraint___size_28_29_20const($5 | 0) | 0 | 0) & 1 | 0)) { + break label$1 + } + btAlignedObjectArray_btSolverConstraint___reserve_28int_29($5 | 0, HEAP32[($4 + 8 | 0) >> 2] | 0 | 0); + } + HEAP32[($5 + 4 | 0) >> 2] = HEAP32[($4 + 8 | 0) >> 2] | 0; + __stack_pointer = $4 + 16 | 0; + return; + } + + function btTypedConstraint__getOverrideNumSolverIterations_28_29_20const($0) { + $0 = $0 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + return HEAP32[((HEAP32[($3 + 12 | 0) >> 2] | 0) + 24 | 0) >> 2] | 0 | 0; + } + + function btTypedConstraint__getBreakingImpulseThreshold_28_29_20const($0) { + $0 = $0 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + return Math_fround(Math_fround(HEAPF32[((HEAP32[($3 + 12 | 0) >> 2] | 0) + 16 | 0) >> 2])); + } + + function btAlignedObjectArray_int___resizeNoInitialize_28int_29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, $5 = 0; + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; + label$1 : { + if (!((HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) > (btAlignedObjectArray_int___size_28_29_20const($5 | 0) | 0 | 0) & 1 | 0)) { + break label$1 + } + btAlignedObjectArray_int___reserve_28int_29($5 | 0, HEAP32[($4 + 8 | 0) >> 2] | 0 | 0); + } + HEAP32[($5 + 4 | 0) >> 2] = HEAP32[($4 + 8 | 0) >> 2] | 0; + __stack_pointer = $4 + 16 | 0; + return; + } + + function btAlignedObjectArray_btSolverBody___allocate_28int_29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, $5 = 0, $11 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[($4 + 8 | 0) >> 2] = $0; + HEAP32[($4 + 4 | 0) >> 2] = $1; + $5 = HEAP32[($4 + 8 | 0) >> 2] | 0; + label$1 : { + label$2 : { + if (!(HEAP32[($4 + 4 | 0) >> 2] | 0)) { + break label$2 + } + (wasm2js_i32$0 = $4, wasm2js_i32$1 = btAlignedAllocator_btSolverBody_2c_2016u___allocate_28int_2c_20btSolverBody_20const___29($5 | 0, HEAP32[($4 + 4 | 0) >> 2] | 0 | 0, 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + break label$1; + } + HEAP32[($4 + 12 | 0) >> 2] = 0; + } + $11 = HEAP32[($4 + 12 | 0) >> 2] | 0; + __stack_pointer = $4 + 16 | 0; + return $11 | 0; + } + + function btAlignedObjectArray_btSolverBody___copy_28int_2c_20int_2c_20btSolverBody__29_20const($0, $1, $2, $3) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + var $6 = 0, $7 = 0; + $6 = __stack_pointer - 32 | 0; + __stack_pointer = $6; + HEAP32[($6 + 28 | 0) >> 2] = $0; + HEAP32[($6 + 24 | 0) >> 2] = $1; + HEAP32[($6 + 20 | 0) >> 2] = $2; + HEAP32[($6 + 16 | 0) >> 2] = $3; + $7 = HEAP32[($6 + 28 | 0) >> 2] | 0; + HEAP32[($6 + 12 | 0) >> 2] = HEAP32[($6 + 24 | 0) >> 2] | 0; + label$1 : { + label$2 : while (1) { + if (!((HEAP32[($6 + 12 | 0) >> 2] | 0 | 0) < (HEAP32[($6 + 20 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$1 + } + btSolverBody__btSolverBody_28btSolverBody_20const__29(btSolverBody__operator_20new_28unsigned_20long_2c_20void__29(244 | 0, (HEAP32[($6 + 16 | 0) >> 2] | 0) + Math_imul(HEAP32[($6 + 12 | 0) >> 2] | 0, 244) | 0 | 0) | 0 | 0, (HEAP32[($7 + 12 | 0) >> 2] | 0) + Math_imul(HEAP32[($6 + 12 | 0) >> 2] | 0, 244) | 0 | 0) | 0; + HEAP32[($6 + 12 | 0) >> 2] = (HEAP32[($6 + 12 | 0) >> 2] | 0) + 1 | 0; + continue label$2; + }; + } + __stack_pointer = $6 + 32 | 0; + return; + } + + function btAlignedObjectArray_btSolverBody___destroy_28int_2c_20int_29($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $5 = 0; + $5 = __stack_pointer - 16 | 0; + HEAP32[($5 + 12 | 0) >> 2] = $0; + HEAP32[($5 + 8 | 0) >> 2] = $1; + HEAP32[($5 + 4 | 0) >> 2] = $2; + HEAP32[($5 + 12 | 0) >> 2] | 0; + HEAP32[$5 >> 2] = HEAP32[($5 + 8 | 0) >> 2] | 0; + label$1 : { + label$2 : while (1) { + if (!((HEAP32[$5 >> 2] | 0 | 0) < (HEAP32[($5 + 4 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$1 + } + HEAP32[$5 >> 2] = (HEAP32[$5 >> 2] | 0) + 1 | 0; + continue label$2; + }; + } + return; + } + + function btAlignedObjectArray_btSolverBody___deallocate_28_29($0) { + $0 = $0 | 0; + var $4 = 0, $3 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + label$1 : { + if (!((HEAP32[($4 + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + label$2 : { + if (!((HEAPU8[($4 + 16 | 0) >> 0] | 0) & 1 | 0)) { + break label$2 + } + btAlignedAllocator_btSolverBody_2c_2016u___deallocate_28btSolverBody__29($4 | 0, HEAP32[($4 + 12 | 0) >> 2] | 0 | 0); + } + HEAP32[($4 + 12 | 0) >> 2] = 0; + } + __stack_pointer = $3 + 16 | 0; + return; + } + + function btAlignedObjectArray_btTypedConstraint__btConstraintInfo1___size_28_29_20const($0) { + $0 = $0 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + return HEAP32[((HEAP32[($3 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0; + } + + function btAlignedObjectArray_btTypedConstraint__btConstraintInfo1___reserve_28int_29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, $5 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; + label$1 : { + if (!((btAlignedObjectArray_btTypedConstraint__btConstraintInfo1___capacity_28_29_20const($5 | 0) | 0 | 0) < (HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$1 + } + (wasm2js_i32$0 = $4, wasm2js_i32$1 = btAlignedObjectArray_btTypedConstraint__btConstraintInfo1___allocate_28int_29($5 | 0, HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + btAlignedObjectArray_btTypedConstraint__btConstraintInfo1___copy_28int_2c_20int_2c_20btTypedConstraint__btConstraintInfo1__29_20const($5 | 0, 0 | 0, btAlignedObjectArray_btTypedConstraint__btConstraintInfo1___size_28_29_20const($5 | 0) | 0 | 0, HEAP32[($4 + 4 | 0) >> 2] | 0 | 0); + btAlignedObjectArray_btTypedConstraint__btConstraintInfo1___destroy_28int_2c_20int_29($5 | 0, 0 | 0, btAlignedObjectArray_btTypedConstraint__btConstraintInfo1___size_28_29_20const($5 | 0) | 0 | 0); + btAlignedObjectArray_btTypedConstraint__btConstraintInfo1___deallocate_28_29($5 | 0); + HEAP8[($5 + 16 | 0) >> 0] = 1; + HEAP32[($5 + 12 | 0) >> 2] = HEAP32[($4 + 4 | 0) >> 2] | 0; + HEAP32[($5 + 8 | 0) >> 2] = HEAP32[($4 + 8 | 0) >> 2] | 0; + } + __stack_pointer = $4 + 16 | 0; + return; + } + + function btSequentialImpulseConstraintSolver__solveSingleIteration_28int_2c_20btCollisionObject___2c_20int_2c_20btPersistentManifold___2c_20int_2c_20btTypedConstraint___2c_20int_2c_20btContactSolverInfo_20const__2c_20btIDebugDraw__29($0, $1, $2, $3, $4, $5, $6, $7, $8, $9) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + $4 = $4 | 0; + $5 = $5 | 0; + $6 = $6 | 0; + $7 = $7 | 0; + $8 = $8 | 0; + $9 = $9 | 0; + var $12 = 0, $13 = 0, $243 = 0, $50 = 0, $55 = 0, $92 = 0, $97 = 0, $126 = 0, $131 = 0, $570 = Math_fround(0), wasm2js_i32$0 = 0, wasm2js_i32$1 = 0, wasm2js_f32$0 = Math_fround(0); + $12 = __stack_pointer - 224 | 0; + __stack_pointer = $12; + HEAP32[($12 + 220 | 0) >> 2] = $0; + HEAP32[($12 + 216 | 0) >> 2] = $1; + HEAP32[($12 + 212 | 0) >> 2] = $2; + HEAP32[($12 + 208 | 0) >> 2] = $3; + HEAP32[($12 + 204 | 0) >> 2] = $4; + HEAP32[($12 + 200 | 0) >> 2] = $5; + HEAP32[($12 + 196 | 0) >> 2] = $6; + HEAP32[($12 + 192 | 0) >> 2] = $7; + HEAP32[($12 + 188 | 0) >> 2] = $8; + HEAP32[($12 + 184 | 0) >> 2] = $9; + $13 = HEAP32[($12 + 220 | 0) >> 2] | 0; + HEAPF32[($12 + 180 | 0) >> 2] = Math_fround(0 | 0); + (wasm2js_i32$0 = $12, wasm2js_i32$1 = btAlignedObjectArray_btSolverConstraint___size_28_29_20const($13 + 44 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 176 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $12, wasm2js_i32$1 = btAlignedObjectArray_btSolverConstraint___size_28_29_20const($13 + 24 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 172 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $12, wasm2js_i32$1 = btAlignedObjectArray_btSolverConstraint___size_28_29_20const($13 + 64 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 168 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + if (!((HEAP32[((HEAP32[($12 + 188 | 0) >> 2] | 0) + 72 | 0) >> 2] | 0) & 1 | 0)) { + break label$1 + } + HEAP32[($12 + 164 | 0) >> 2] = 0; + label$2 : { + label$3 : while (1) { + if (!((HEAP32[($12 + 164 | 0) >> 2] | 0 | 0) < (HEAP32[($12 + 176 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$2 + } + (wasm2js_i32$0 = $12, wasm2js_i32$1 = HEAP32[(btAlignedObjectArray_int___operator_5b_5d_28int_29($13 + 124 | 0 | 0, HEAP32[($12 + 164 | 0) >> 2] | 0 | 0) | 0) >> 2] | 0), HEAP32[(wasm2js_i32$0 + 160 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $12, wasm2js_i32$1 = btSequentialImpulseConstraintSolver__btRandInt2_28int_29($13 | 0, (HEAP32[($12 + 164 | 0) >> 2] | 0) + 1 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 156 | 0) >> 2] = wasm2js_i32$1; + $50 = HEAP32[(btAlignedObjectArray_int___operator_5b_5d_28int_29($13 + 124 | 0 | 0, HEAP32[($12 + 156 | 0) >> 2] | 0 | 0) | 0) >> 2] | 0; + (wasm2js_i32$0 = btAlignedObjectArray_int___operator_5b_5d_28int_29($13 + 124 | 0 | 0, HEAP32[($12 + 164 | 0) >> 2] | 0 | 0) | 0, wasm2js_i32$1 = $50), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + $55 = HEAP32[($12 + 160 | 0) >> 2] | 0; + (wasm2js_i32$0 = btAlignedObjectArray_int___operator_5b_5d_28int_29($13 + 124 | 0 | 0, HEAP32[($12 + 156 | 0) >> 2] | 0 | 0) | 0, wasm2js_i32$1 = $55), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + HEAP32[($12 + 164 | 0) >> 2] = (HEAP32[($12 + 164 | 0) >> 2] | 0) + 1 | 0; + continue label$3; + }; + } + label$4 : { + if (!((HEAP32[($12 + 216 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($12 + 188 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$4 + } + HEAP32[($12 + 152 | 0) >> 2] = 0; + label$5 : { + label$6 : while (1) { + if (!((HEAP32[($12 + 152 | 0) >> 2] | 0 | 0) < (HEAP32[($12 + 172 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$5 + } + (wasm2js_i32$0 = $12, wasm2js_i32$1 = HEAP32[(btAlignedObjectArray_int___operator_5b_5d_28int_29($13 + 104 | 0 | 0, HEAP32[($12 + 152 | 0) >> 2] | 0 | 0) | 0) >> 2] | 0), HEAP32[(wasm2js_i32$0 + 148 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $12, wasm2js_i32$1 = btSequentialImpulseConstraintSolver__btRandInt2_28int_29($13 | 0, (HEAP32[($12 + 152 | 0) >> 2] | 0) + 1 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 144 | 0) >> 2] = wasm2js_i32$1; + $92 = HEAP32[(btAlignedObjectArray_int___operator_5b_5d_28int_29($13 + 104 | 0 | 0, HEAP32[($12 + 144 | 0) >> 2] | 0 | 0) | 0) >> 2] | 0; + (wasm2js_i32$0 = btAlignedObjectArray_int___operator_5b_5d_28int_29($13 + 104 | 0 | 0, HEAP32[($12 + 152 | 0) >> 2] | 0 | 0) | 0, wasm2js_i32$1 = $92), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + $97 = HEAP32[($12 + 148 | 0) >> 2] | 0; + (wasm2js_i32$0 = btAlignedObjectArray_int___operator_5b_5d_28int_29($13 + 104 | 0 | 0, HEAP32[($12 + 144 | 0) >> 2] | 0 | 0) | 0, wasm2js_i32$1 = $97), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + HEAP32[($12 + 152 | 0) >> 2] = (HEAP32[($12 + 152 | 0) >> 2] | 0) + 1 | 0; + continue label$6; + }; + } + HEAP32[($12 + 140 | 0) >> 2] = 0; + label$7 : { + label$8 : while (1) { + if (!((HEAP32[($12 + 140 | 0) >> 2] | 0 | 0) < (HEAP32[($12 + 168 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$7 + } + (wasm2js_i32$0 = $12, wasm2js_i32$1 = HEAP32[(btAlignedObjectArray_int___operator_5b_5d_28int_29($13 + 144 | 0 | 0, HEAP32[($12 + 140 | 0) >> 2] | 0 | 0) | 0) >> 2] | 0), HEAP32[(wasm2js_i32$0 + 136 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $12, wasm2js_i32$1 = btSequentialImpulseConstraintSolver__btRandInt2_28int_29($13 | 0, (HEAP32[($12 + 140 | 0) >> 2] | 0) + 1 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 132 | 0) >> 2] = wasm2js_i32$1; + $126 = HEAP32[(btAlignedObjectArray_int___operator_5b_5d_28int_29($13 + 144 | 0 | 0, HEAP32[($12 + 132 | 0) >> 2] | 0 | 0) | 0) >> 2] | 0; + (wasm2js_i32$0 = btAlignedObjectArray_int___operator_5b_5d_28int_29($13 + 144 | 0 | 0, HEAP32[($12 + 140 | 0) >> 2] | 0 | 0) | 0, wasm2js_i32$1 = $126), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + $131 = HEAP32[($12 + 136 | 0) >> 2] | 0; + (wasm2js_i32$0 = btAlignedObjectArray_int___operator_5b_5d_28int_29($13 + 144 | 0 | 0, HEAP32[($12 + 132 | 0) >> 2] | 0 | 0) | 0, wasm2js_i32$1 = $131), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + HEAP32[($12 + 140 | 0) >> 2] = (HEAP32[($12 + 140 | 0) >> 2] | 0) + 1 | 0; + continue label$8; + }; + } + } + } + HEAP32[($12 + 128 | 0) >> 2] = 0; + label$9 : { + label$10 : while (1) { + if (!((HEAP32[($12 + 128 | 0) >> 2] | 0 | 0) < (btAlignedObjectArray_btSolverConstraint___size_28_29_20const($13 + 44 | 0 | 0) | 0 | 0) & 1 | 0)) { + break label$9 + } + (wasm2js_i32$0 = $12, wasm2js_i32$1 = btAlignedObjectArray_btSolverConstraint___operator_5b_5d_28int_29($13 + 44 | 0 | 0, HEAP32[(btAlignedObjectArray_int___operator_5b_5d_28int_29($13 + 124 | 0 | 0, HEAP32[($12 + 128 | 0) >> 2] | 0 | 0) | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 124 | 0) >> 2] = wasm2js_i32$1; + label$11 : { + if (!((HEAP32[($12 + 216 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($12 + 124 | 0) >> 2] | 0) + 136 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$11 + } + (wasm2js_i32$0 = $12, wasm2js_f32$0 = Math_fround(btSequentialImpulseConstraintSolver__resolveSingleConstraintRowGeneric_28btSolverBody__2c_20btSolverBody__2c_20btSolverConstraint_20const__29($13 | 0, btAlignedObjectArray_btSolverBody___operator_5b_5d_28int_29($13 + 4 | 0 | 0, HEAP32[((HEAP32[($12 + 124 | 0) >> 2] | 0) + 144 | 0) >> 2] | 0 | 0) | 0 | 0, btAlignedObjectArray_btSolverBody___operator_5b_5d_28int_29($13 + 4 | 0 | 0, HEAP32[((HEAP32[($12 + 124 | 0) >> 2] | 0) + 148 | 0) >> 2] | 0 | 0) | 0 | 0, HEAP32[($12 + 124 | 0) >> 2] | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 120 | 0) >> 2] = wasm2js_f32$0; + HEAPF32[($12 + 180 | 0) >> 2] = Math_fround(Math_fround(Math_fround(HEAPF32[($12 + 120 | 0) >> 2]) * Math_fround(HEAPF32[($12 + 120 | 0) >> 2])) + Math_fround(HEAPF32[($12 + 180 | 0) >> 2])); + } + HEAP32[($12 + 128 | 0) >> 2] = (HEAP32[($12 + 128 | 0) >> 2] | 0) + 1 | 0; + continue label$10; + }; + } + label$12 : { + if (!((HEAP32[($12 + 216 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($12 + 188 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$12 + } + HEAP32[($12 + 116 | 0) >> 2] = 0; + label$13 : { + label$14 : while (1) { + if (!((HEAP32[($12 + 116 | 0) >> 2] | 0 | 0) < (HEAP32[($12 + 192 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$13 + } + label$15 : { + if (!((btTypedConstraint__isEnabled_28_29_20const(HEAP32[((HEAP32[($12 + 196 | 0) >> 2] | 0) + ((HEAP32[($12 + 116 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0) | 0) & 1 | 0)) { + break label$15 + } + (wasm2js_i32$0 = $12, wasm2js_i32$1 = btSequentialImpulseConstraintSolver__getOrInitSolverBody_28btCollisionObject__2c_20float_29($13 | 0, btTypedConstraint__getRigidBodyA_28_29(HEAP32[((HEAP32[($12 + 196 | 0) >> 2] | 0) + ((HEAP32[($12 + 116 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0) | 0 | 0, Math_fround(Math_fround(HEAPF32[((HEAP32[($12 + 188 | 0) >> 2] | 0) + 12 | 0) >> 2]))) | 0), HEAP32[(wasm2js_i32$0 + 112 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $12, wasm2js_i32$1 = btSequentialImpulseConstraintSolver__getOrInitSolverBody_28btCollisionObject__2c_20float_29($13 | 0, btTypedConstraint__getRigidBodyB_28_29(HEAP32[((HEAP32[($12 + 196 | 0) >> 2] | 0) + ((HEAP32[($12 + 116 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0) | 0 | 0, Math_fround(Math_fround(HEAPF32[((HEAP32[($12 + 188 | 0) >> 2] | 0) + 12 | 0) >> 2]))) | 0), HEAP32[(wasm2js_i32$0 + 108 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $12, wasm2js_i32$1 = btAlignedObjectArray_btSolverBody___operator_5b_5d_28int_29($13 + 4 | 0 | 0, HEAP32[($12 + 112 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 104 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $12, wasm2js_i32$1 = btAlignedObjectArray_btSolverBody___operator_5b_5d_28int_29($13 + 4 | 0 | 0, HEAP32[($12 + 108 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 100 | 0) >> 2] = wasm2js_i32$1; + $243 = HEAP32[((HEAP32[($12 + 196 | 0) >> 2] | 0) + ((HEAP32[($12 + 116 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; + FUNCTION_TABLE[HEAP32[((HEAP32[$243 >> 2] | 0) + 24 | 0) >> 2] | 0 | 0]($243, HEAP32[($12 + 104 | 0) >> 2] | 0, HEAP32[($12 + 100 | 0) >> 2] | 0, Math_fround(HEAPF32[((HEAP32[($12 + 188 | 0) >> 2] | 0) + 12 | 0) >> 2])); + } + HEAP32[($12 + 116 | 0) >> 2] = (HEAP32[($12 + 116 | 0) >> 2] | 0) + 1 | 0; + continue label$14; + }; + } + label$16 : { + label$17 : { + if (!((HEAP32[((HEAP32[($12 + 188 | 0) >> 2] | 0) + 72 | 0) >> 2] | 0) & 512 | 0)) { + break label$17 + } + (wasm2js_i32$0 = $12, wasm2js_i32$1 = btAlignedObjectArray_btSolverConstraint___size_28_29_20const($13 + 24 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 96 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($12 + 92 | 0) >> 2] = (HEAP32[((HEAP32[($12 + 188 | 0) >> 2] | 0) + 72 | 0) >> 2] | 0) & 16 | 0 ? 2 : 1; + HEAP32[($12 + 88 | 0) >> 2] = 0; + label$18 : { + label$19 : while (1) { + if (!((HEAP32[($12 + 88 | 0) >> 2] | 0 | 0) < (HEAP32[($12 + 96 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$18 + } + HEAPF32[($12 + 84 | 0) >> 2] = Math_fround(0 | 0); + (wasm2js_i32$0 = $12, wasm2js_i32$1 = btAlignedObjectArray_btSolverConstraint___operator_5b_5d_28int_29($13 + 24 | 0 | 0, HEAP32[(btAlignedObjectArray_int___operator_5b_5d_28int_29($13 + 104 | 0 | 0, HEAP32[($12 + 88 | 0) >> 2] | 0 | 0) | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 80 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $12, wasm2js_f32$0 = Math_fround(btSequentialImpulseConstraintSolver__resolveSingleConstraintRowLowerLimit_28btSolverBody__2c_20btSolverBody__2c_20btSolverConstraint_20const__29($13 | 0, btAlignedObjectArray_btSolverBody___operator_5b_5d_28int_29($13 + 4 | 0 | 0, HEAP32[((HEAP32[($12 + 80 | 0) >> 2] | 0) + 144 | 0) >> 2] | 0 | 0) | 0 | 0, btAlignedObjectArray_btSolverBody___operator_5b_5d_28int_29($13 + 4 | 0 | 0, HEAP32[((HEAP32[($12 + 80 | 0) >> 2] | 0) + 148 | 0) >> 2] | 0 | 0) | 0 | 0, HEAP32[($12 + 80 | 0) >> 2] | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 76 | 0) >> 2] = wasm2js_f32$0; + HEAPF32[($12 + 180 | 0) >> 2] = Math_fround(Math_fround(Math_fround(HEAPF32[($12 + 76 | 0) >> 2]) * Math_fround(HEAPF32[($12 + 76 | 0) >> 2])) + Math_fround(HEAPF32[($12 + 180 | 0) >> 2])); + HEAPF32[($12 + 84 | 0) >> 2] = Math_fround(HEAPF32[((HEAP32[($12 + 80 | 0) >> 2] | 0) + 100 | 0) >> 2]); + HEAP8[($12 + 75 | 0) >> 0] = 1; + label$20 : { + if (!((HEAPU8[($12 + 75 | 0) >> 0] | 0) & 1 | 0)) { + break label$20 + } + (wasm2js_i32$0 = $12, wasm2js_i32$1 = btAlignedObjectArray_btSolverConstraint___operator_5b_5d_28int_29($13 + 64 | 0 | 0, HEAP32[(btAlignedObjectArray_int___operator_5b_5d_28int_29($13 + 144 | 0 | 0, Math_imul(HEAP32[($12 + 88 | 0) >> 2] | 0, HEAP32[($12 + 92 | 0) >> 2] | 0) | 0) | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 68 | 0) >> 2] = wasm2js_i32$1; + label$21 : { + if (!(Math_fround(HEAPF32[($12 + 84 | 0) >> 2]) > Math_fround(0 | 0) & 1 | 0)) { + break label$21 + } + HEAPF32[((HEAP32[($12 + 68 | 0) >> 2] | 0) + 120 | 0) >> 2] = Math_fround(-Math_fround(Math_fround(HEAPF32[((HEAP32[($12 + 68 | 0) >> 2] | 0) + 104 | 0) >> 2]) * Math_fround(HEAPF32[($12 + 84 | 0) >> 2]))); + HEAPF32[((HEAP32[($12 + 68 | 0) >> 2] | 0) + 124 | 0) >> 2] = Math_fround(Math_fround(HEAPF32[((HEAP32[($12 + 68 | 0) >> 2] | 0) + 104 | 0) >> 2]) * Math_fround(HEAPF32[($12 + 84 | 0) >> 2])); + (wasm2js_i32$0 = $12, wasm2js_f32$0 = Math_fround(btSequentialImpulseConstraintSolver__resolveSingleConstraintRowGeneric_28btSolverBody__2c_20btSolverBody__2c_20btSolverConstraint_20const__29($13 | 0, btAlignedObjectArray_btSolverBody___operator_5b_5d_28int_29($13 + 4 | 0 | 0, HEAP32[((HEAP32[($12 + 68 | 0) >> 2] | 0) + 144 | 0) >> 2] | 0 | 0) | 0 | 0, btAlignedObjectArray_btSolverBody___operator_5b_5d_28int_29($13 + 4 | 0 | 0, HEAP32[((HEAP32[($12 + 68 | 0) >> 2] | 0) + 148 | 0) >> 2] | 0 | 0) | 0 | 0, HEAP32[($12 + 68 | 0) >> 2] | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 64 | 0) >> 2] = wasm2js_f32$0; + HEAPF32[($12 + 180 | 0) >> 2] = Math_fround(Math_fround(Math_fround(HEAPF32[($12 + 64 | 0) >> 2]) * Math_fround(HEAPF32[($12 + 64 | 0) >> 2])) + Math_fround(HEAPF32[($12 + 180 | 0) >> 2])); + } + label$22 : { + if (!((HEAP32[((HEAP32[($12 + 188 | 0) >> 2] | 0) + 72 | 0) >> 2] | 0) & 16 | 0)) { + break label$22 + } + (wasm2js_i32$0 = $12, wasm2js_i32$1 = btAlignedObjectArray_btSolverConstraint___operator_5b_5d_28int_29($13 + 64 | 0 | 0, HEAP32[(btAlignedObjectArray_int___operator_5b_5d_28int_29($13 + 144 | 0 | 0, Math_imul(HEAP32[($12 + 88 | 0) >> 2] | 0, HEAP32[($12 + 92 | 0) >> 2] | 0) + 1 | 0 | 0) | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 60 | 0) >> 2] = wasm2js_i32$1; + label$23 : { + if (!(Math_fround(HEAPF32[($12 + 84 | 0) >> 2]) > Math_fround(0 | 0) & 1 | 0)) { + break label$23 + } + HEAPF32[((HEAP32[($12 + 60 | 0) >> 2] | 0) + 120 | 0) >> 2] = Math_fround(-Math_fround(Math_fround(HEAPF32[((HEAP32[($12 + 60 | 0) >> 2] | 0) + 104 | 0) >> 2]) * Math_fround(HEAPF32[($12 + 84 | 0) >> 2]))); + HEAPF32[((HEAP32[($12 + 60 | 0) >> 2] | 0) + 124 | 0) >> 2] = Math_fround(Math_fround(HEAPF32[((HEAP32[($12 + 60 | 0) >> 2] | 0) + 104 | 0) >> 2]) * Math_fround(HEAPF32[($12 + 84 | 0) >> 2])); + (wasm2js_i32$0 = $12, wasm2js_f32$0 = Math_fround(btSequentialImpulseConstraintSolver__resolveSingleConstraintRowGeneric_28btSolverBody__2c_20btSolverBody__2c_20btSolverConstraint_20const__29($13 | 0, btAlignedObjectArray_btSolverBody___operator_5b_5d_28int_29($13 + 4 | 0 | 0, HEAP32[((HEAP32[($12 + 60 | 0) >> 2] | 0) + 144 | 0) >> 2] | 0 | 0) | 0 | 0, btAlignedObjectArray_btSolverBody___operator_5b_5d_28int_29($13 + 4 | 0 | 0, HEAP32[((HEAP32[($12 + 60 | 0) >> 2] | 0) + 148 | 0) >> 2] | 0 | 0) | 0 | 0, HEAP32[($12 + 60 | 0) >> 2] | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 56 | 0) >> 2] = wasm2js_f32$0; + HEAPF32[($12 + 180 | 0) >> 2] = Math_fround(Math_fround(Math_fround(HEAPF32[($12 + 56 | 0) >> 2]) * Math_fround(HEAPF32[($12 + 56 | 0) >> 2])) + Math_fround(HEAPF32[($12 + 180 | 0) >> 2])); + } + } + } + HEAP32[($12 + 88 | 0) >> 2] = (HEAP32[($12 + 88 | 0) >> 2] | 0) + 1 | 0; + continue label$19; + }; + } + break label$16; + } + (wasm2js_i32$0 = $12, wasm2js_i32$1 = btAlignedObjectArray_btSolverConstraint___size_28_29_20const($13 + 24 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 52 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($12 + 48 | 0) >> 2] = 0; + label$24 : { + label$25 : while (1) { + if (!((HEAP32[($12 + 48 | 0) >> 2] | 0 | 0) < (HEAP32[($12 + 52 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$24 + } + (wasm2js_i32$0 = $12, wasm2js_i32$1 = btAlignedObjectArray_btSolverConstraint___operator_5b_5d_28int_29($13 + 24 | 0 | 0, HEAP32[(btAlignedObjectArray_int___operator_5b_5d_28int_29($13 + 104 | 0 | 0, HEAP32[($12 + 48 | 0) >> 2] | 0 | 0) | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 44 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $12, wasm2js_f32$0 = Math_fround(btSequentialImpulseConstraintSolver__resolveSingleConstraintRowLowerLimit_28btSolverBody__2c_20btSolverBody__2c_20btSolverConstraint_20const__29($13 | 0, btAlignedObjectArray_btSolverBody___operator_5b_5d_28int_29($13 + 4 | 0 | 0, HEAP32[((HEAP32[($12 + 44 | 0) >> 2] | 0) + 144 | 0) >> 2] | 0 | 0) | 0 | 0, btAlignedObjectArray_btSolverBody___operator_5b_5d_28int_29($13 + 4 | 0 | 0, HEAP32[((HEAP32[($12 + 44 | 0) >> 2] | 0) + 148 | 0) >> 2] | 0 | 0) | 0 | 0, HEAP32[($12 + 44 | 0) >> 2] | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 40 | 0) >> 2] = wasm2js_f32$0; + HEAPF32[($12 + 180 | 0) >> 2] = Math_fround(Math_fround(Math_fround(HEAPF32[($12 + 40 | 0) >> 2]) * Math_fround(HEAPF32[($12 + 40 | 0) >> 2])) + Math_fround(HEAPF32[($12 + 180 | 0) >> 2])); + HEAP32[($12 + 48 | 0) >> 2] = (HEAP32[($12 + 48 | 0) >> 2] | 0) + 1 | 0; + continue label$25; + }; + } + (wasm2js_i32$0 = $12, wasm2js_i32$1 = btAlignedObjectArray_btSolverConstraint___size_28_29_20const($13 + 64 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 36 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($12 + 48 | 0) >> 2] = 0; + label$26 : { + label$27 : while (1) { + if (!((HEAP32[($12 + 48 | 0) >> 2] | 0 | 0) < (HEAP32[($12 + 36 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$26 + } + (wasm2js_i32$0 = $12, wasm2js_i32$1 = btAlignedObjectArray_btSolverConstraint___operator_5b_5d_28int_29($13 + 64 | 0 | 0, HEAP32[(btAlignedObjectArray_int___operator_5b_5d_28int_29($13 + 144 | 0 | 0, HEAP32[($12 + 48 | 0) >> 2] | 0 | 0) | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 32 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $12, wasm2js_f32$0 = Math_fround(HEAPF32[((btAlignedObjectArray_btSolverConstraint___operator_5b_5d_28int_29($13 + 24 | 0 | 0, HEAP32[((HEAP32[($12 + 32 | 0) >> 2] | 0) + 140 | 0) >> 2] | 0 | 0) | 0) + 100 | 0) >> 2])), HEAPF32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_f32$0; + label$28 : { + if (!(Math_fround(HEAPF32[($12 + 28 | 0) >> 2]) > Math_fround(0 | 0) & 1 | 0)) { + break label$28 + } + HEAPF32[((HEAP32[($12 + 32 | 0) >> 2] | 0) + 120 | 0) >> 2] = Math_fround(-Math_fround(Math_fround(HEAPF32[((HEAP32[($12 + 32 | 0) >> 2] | 0) + 104 | 0) >> 2]) * Math_fround(HEAPF32[($12 + 28 | 0) >> 2]))); + HEAPF32[((HEAP32[($12 + 32 | 0) >> 2] | 0) + 124 | 0) >> 2] = Math_fround(Math_fround(HEAPF32[((HEAP32[($12 + 32 | 0) >> 2] | 0) + 104 | 0) >> 2]) * Math_fround(HEAPF32[($12 + 28 | 0) >> 2])); + (wasm2js_i32$0 = $12, wasm2js_f32$0 = Math_fround(btSequentialImpulseConstraintSolver__resolveSingleConstraintRowGeneric_28btSolverBody__2c_20btSolverBody__2c_20btSolverConstraint_20const__29($13 | 0, btAlignedObjectArray_btSolverBody___operator_5b_5d_28int_29($13 + 4 | 0 | 0, HEAP32[((HEAP32[($12 + 32 | 0) >> 2] | 0) + 144 | 0) >> 2] | 0 | 0) | 0 | 0, btAlignedObjectArray_btSolverBody___operator_5b_5d_28int_29($13 + 4 | 0 | 0, HEAP32[((HEAP32[($12 + 32 | 0) >> 2] | 0) + 148 | 0) >> 2] | 0 | 0) | 0 | 0, HEAP32[($12 + 32 | 0) >> 2] | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 24 | 0) >> 2] = wasm2js_f32$0; + HEAPF32[($12 + 180 | 0) >> 2] = Math_fround(Math_fround(Math_fround(HEAPF32[($12 + 24 | 0) >> 2]) * Math_fround(HEAPF32[($12 + 24 | 0) >> 2])) + Math_fround(HEAPF32[($12 + 180 | 0) >> 2])); + } + HEAP32[($12 + 48 | 0) >> 2] = (HEAP32[($12 + 48 | 0) >> 2] | 0) + 1 | 0; + continue label$27; + }; + } + } + (wasm2js_i32$0 = $12, wasm2js_i32$1 = btAlignedObjectArray_btSolverConstraint___size_28_29_20const($13 + 84 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($12 + 16 | 0) >> 2] = 0; + label$29 : { + label$30 : while (1) { + if (!((HEAP32[($12 + 16 | 0) >> 2] | 0 | 0) < (HEAP32[($12 + 20 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$29 + } + (wasm2js_i32$0 = $12, wasm2js_i32$1 = btAlignedObjectArray_btSolverConstraint___operator_5b_5d_28int_29($13 + 84 | 0 | 0, HEAP32[($12 + 16 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $12, wasm2js_f32$0 = Math_fround(HEAPF32[((btAlignedObjectArray_btSolverConstraint___operator_5b_5d_28int_29($13 + 24 | 0 | 0, HEAP32[((HEAP32[($12 + 12 | 0) >> 2] | 0) + 140 | 0) >> 2] | 0 | 0) | 0) + 100 | 0) >> 2])), HEAPF32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_f32$0; + label$31 : { + if (!(Math_fround(HEAPF32[($12 + 8 | 0) >> 2]) > Math_fround(0 | 0) & 1 | 0)) { + break label$31 + } + HEAPF32[($12 + 4 | 0) >> 2] = Math_fround(Math_fround(HEAPF32[((HEAP32[($12 + 12 | 0) >> 2] | 0) + 104 | 0) >> 2]) * Math_fround(HEAPF32[($12 + 8 | 0) >> 2])); + label$32 : { + if (!(Math_fround(HEAPF32[($12 + 4 | 0) >> 2]) > Math_fround(HEAPF32[((HEAP32[($12 + 12 | 0) >> 2] | 0) + 104 | 0) >> 2]) & 1 | 0)) { + break label$32 + } + HEAPF32[($12 + 4 | 0) >> 2] = Math_fround(HEAPF32[((HEAP32[($12 + 12 | 0) >> 2] | 0) + 104 | 0) >> 2]); + } + HEAPF32[((HEAP32[($12 + 12 | 0) >> 2] | 0) + 120 | 0) >> 2] = Math_fround(-Math_fround(HEAPF32[($12 + 4 | 0) >> 2])); + HEAPF32[((HEAP32[($12 + 12 | 0) >> 2] | 0) + 124 | 0) >> 2] = Math_fround(HEAPF32[($12 + 4 | 0) >> 2]); + (wasm2js_i32$0 = $12, wasm2js_f32$0 = Math_fround(btSequentialImpulseConstraintSolver__resolveSingleConstraintRowGeneric_28btSolverBody__2c_20btSolverBody__2c_20btSolverConstraint_20const__29($13 | 0, btAlignedObjectArray_btSolverBody___operator_5b_5d_28int_29($13 + 4 | 0 | 0, HEAP32[((HEAP32[($12 + 12 | 0) >> 2] | 0) + 144 | 0) >> 2] | 0 | 0) | 0 | 0, btAlignedObjectArray_btSolverBody___operator_5b_5d_28int_29($13 + 4 | 0 | 0, HEAP32[((HEAP32[($12 + 12 | 0) >> 2] | 0) + 148 | 0) >> 2] | 0 | 0) | 0 | 0, HEAP32[($12 + 12 | 0) >> 2] | 0 | 0))), HEAPF32[wasm2js_i32$0 >> 2] = wasm2js_f32$0; + HEAPF32[($12 + 180 | 0) >> 2] = Math_fround(Math_fround(Math_fround(HEAPF32[$12 >> 2]) * Math_fround(HEAPF32[$12 >> 2])) + Math_fround(HEAPF32[($12 + 180 | 0) >> 2])); + } + HEAP32[($12 + 16 | 0) >> 2] = (HEAP32[($12 + 16 | 0) >> 2] | 0) + 1 | 0; + continue label$30; + }; + } + } + $570 = Math_fround(HEAPF32[($12 + 180 | 0) >> 2]); + __stack_pointer = $12 + 224 | 0; + return Math_fround($570); + } + + function btSequentialImpulseConstraintSolver__solveGroupCacheFriendlySplitImpulseIterations_28btCollisionObject___2c_20int_2c_20btPersistentManifold___2c_20int_2c_20btTypedConstraint___2c_20int_2c_20btContactSolverInfo_20const__2c_20btIDebugDraw__29($0, $1, $2, $3, $4, $5, $6, $7, $8) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + $4 = $4 | 0; + $5 = $5 | 0; + $6 = $6 | 0; + $7 = $7 | 0; + $8 = $8 | 0; + var $11 = 0, $12 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0, wasm2js_f32$0 = Math_fround(0); + $11 = __stack_pointer - 64 | 0; + __stack_pointer = $11; + HEAP32[($11 + 60 | 0) >> 2] = $0; + HEAP32[($11 + 56 | 0) >> 2] = $1; + HEAP32[($11 + 52 | 0) >> 2] = $2; + HEAP32[($11 + 48 | 0) >> 2] = $3; + HEAP32[($11 + 44 | 0) >> 2] = $4; + HEAP32[($11 + 40 | 0) >> 2] = $5; + HEAP32[($11 + 36 | 0) >> 2] = $6; + HEAP32[($11 + 32 | 0) >> 2] = $7; + HEAP32[($11 + 28 | 0) >> 2] = $8; + $12 = HEAP32[($11 + 60 | 0) >> 2] | 0; + label$1 : { + if (!(HEAP32[((HEAP32[($11 + 32 | 0) >> 2] | 0) + 52 | 0) >> 2] | 0)) { + break label$1 + } + HEAP32[($11 + 24 | 0) >> 2] = 0; + label$2 : { + label$3 : while (1) { + if (!((HEAP32[($11 + 24 | 0) >> 2] | 0 | 0) < (HEAP32[((HEAP32[($11 + 32 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$2 + } + HEAPF32[($11 + 20 | 0) >> 2] = Math_fround(0 | 0); + (wasm2js_i32$0 = $11, wasm2js_i32$1 = btAlignedObjectArray_btSolverConstraint___size_28_29_20const($12 + 24 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($11 + 12 | 0) >> 2] = 0; + label$4 : { + label$5 : while (1) { + if (!((HEAP32[($11 + 12 | 0) >> 2] | 0 | 0) < (HEAP32[($11 + 16 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$4 + } + (wasm2js_i32$0 = $11, wasm2js_i32$1 = btAlignedObjectArray_btSolverConstraint___operator_5b_5d_28int_29($12 + 24 | 0 | 0, HEAP32[(btAlignedObjectArray_int___operator_5b_5d_28int_29($12 + 104 | 0 | 0, HEAP32[($11 + 12 | 0) >> 2] | 0 | 0) | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $11, wasm2js_f32$0 = Math_fround(btSequentialImpulseConstraintSolver__resolveSplitPenetrationImpulse_28btSolverBody__2c_20btSolverBody__2c_20btSolverConstraint_20const__29($12 | 0, btAlignedObjectArray_btSolverBody___operator_5b_5d_28int_29($12 + 4 | 0 | 0, HEAP32[((HEAP32[($11 + 8 | 0) >> 2] | 0) + 144 | 0) >> 2] | 0 | 0) | 0 | 0, btAlignedObjectArray_btSolverBody___operator_5b_5d_28int_29($12 + 4 | 0 | 0, HEAP32[((HEAP32[($11 + 8 | 0) >> 2] | 0) + 148 | 0) >> 2] | 0 | 0) | 0 | 0, HEAP32[($11 + 8 | 0) >> 2] | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_f32$0; + HEAPF32[($11 + 20 | 0) >> 2] = Math_fround(Math_fround(Math_fround(HEAPF32[($11 + 4 | 0) >> 2]) * Math_fround(HEAPF32[($11 + 4 | 0) >> 2])) + Math_fround(HEAPF32[($11 + 20 | 0) >> 2])); + HEAP32[($11 + 12 | 0) >> 2] = (HEAP32[($11 + 12 | 0) >> 2] | 0) + 1 | 0; + continue label$5; + }; + } + label$6 : { + label$7 : { + if (Math_fround(HEAPF32[($11 + 20 | 0) >> 2]) <= Math_fround(HEAPF32[((HEAP32[($11 + 32 | 0) >> 2] | 0) + 92 | 0) >> 2]) & 1 | 0) { + break label$7 + } + if (!((HEAP32[($11 + 24 | 0) >> 2] | 0 | 0) >= ((HEAP32[((HEAP32[($11 + 32 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0) - 1 | 0 | 0) & 1 | 0)) { + break label$6 + } + } + break label$2; + } + HEAP32[($11 + 24 | 0) >> 2] = (HEAP32[($11 + 24 | 0) >> 2] | 0) + 1 | 0; + continue label$3; + }; + } + } + __stack_pointer = $11 + 64 | 0; + return; + } + + function btSequentialImpulseConstraintSolver__resolveSplitPenetrationImpulse_28btSolverBody__2c_20btSolverBody__2c_20btSolverConstraint_20const__29($0, $1, $2, $3) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + var $6 = 0, $12 = Math_fround(0); + $6 = __stack_pointer - 16 | 0; + __stack_pointer = $6; + HEAP32[($6 + 12 | 0) >> 2] = $0; + HEAP32[($6 + 8 | 0) >> 2] = $1; + HEAP32[($6 + 4 | 0) >> 2] = $2; + HEAP32[$6 >> 2] = $3; + $12 = Math_fround(FUNCTION_TABLE[HEAP32[((HEAP32[($6 + 12 | 0) >> 2] | 0) + 220 | 0) >> 2] | 0 | 0](HEAP32[($6 + 8 | 0) >> 2] | 0, HEAP32[($6 + 4 | 0) >> 2] | 0, HEAP32[$6 >> 2] | 0)); + __stack_pointer = $6 + 16 | 0; + return Math_fround($12); + } + + function btSequentialImpulseConstraintSolver__solveGroupCacheFriendlyIterations_28btCollisionObject___2c_20int_2c_20btPersistentManifold___2c_20int_2c_20btTypedConstraint___2c_20int_2c_20btContactSolverInfo_20const__2c_20btIDebugDraw__29($0, $1, $2, $3, $4, $5, $6, $7, $8) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + $4 = $4 | 0; + $5 = $5 | 0; + $6 = $6 | 0; + $7 = $7 | 0; + $8 = $8 | 0; + var $11 = 0, $12 = 0, $36 = 0, wasm2js_i32$0 = 0, wasm2js_f32$0 = Math_fround(0); + $11 = __stack_pointer - 48 | 0; + __stack_pointer = $11; + HEAP32[($11 + 44 | 0) >> 2] = $0; + HEAP32[($11 + 40 | 0) >> 2] = $1; + HEAP32[($11 + 36 | 0) >> 2] = $2; + HEAP32[($11 + 32 | 0) >> 2] = $3; + HEAP32[($11 + 28 | 0) >> 2] = $4; + HEAP32[($11 + 24 | 0) >> 2] = $5; + HEAP32[($11 + 20 | 0) >> 2] = $6; + HEAP32[($11 + 16 | 0) >> 2] = $7; + HEAP32[($11 + 12 | 0) >> 2] = $8; + $12 = HEAP32[($11 + 44 | 0) >> 2] | 0; + CProfileSample__CProfileSample_28char_20const__29($11 + 11 | 0 | 0, 69692 | 0) | 0; + FUNCTION_TABLE[HEAP32[((HEAP32[$12 >> 2] | 0) + 32 | 0) >> 2] | 0 | 0]($12, HEAP32[($11 + 40 | 0) >> 2] | 0, HEAP32[($11 + 36 | 0) >> 2] | 0, HEAP32[($11 + 32 | 0) >> 2] | 0, HEAP32[($11 + 28 | 0) >> 2] | 0, HEAP32[($11 + 24 | 0) >> 2] | 0, HEAP32[($11 + 20 | 0) >> 2] | 0, HEAP32[($11 + 16 | 0) >> 2] | 0, HEAP32[($11 + 12 | 0) >> 2] | 0); + label$1 : { + label$2 : { + if (!((HEAP32[($12 + 184 | 0) >> 2] | 0 | 0) > (HEAP32[((HEAP32[($11 + 16 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$2 + } + $36 = HEAP32[($12 + 184 | 0) >> 2] | 0; + break label$1; + } + $36 = HEAP32[((HEAP32[($11 + 16 | 0) >> 2] | 0) + 20 | 0) >> 2] | 0; + } + HEAP32[($11 + 4 | 0) >> 2] = $36; + HEAP32[$11 >> 2] = 0; + label$3 : { + label$4 : while (1) { + if (!((HEAP32[$11 >> 2] | 0 | 0) < (HEAP32[($11 + 4 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$3 + } + (wasm2js_i32$0 = $12, wasm2js_f32$0 = Math_fround(FUNCTION_TABLE[HEAP32[((HEAP32[$12 >> 2] | 0) + 40 | 0) >> 2] | 0 | 0]($12, HEAP32[$11 >> 2] | 0, HEAP32[($11 + 40 | 0) >> 2] | 0, HEAP32[($11 + 36 | 0) >> 2] | 0, HEAP32[($11 + 32 | 0) >> 2] | 0, HEAP32[($11 + 28 | 0) >> 2] | 0, HEAP32[($11 + 24 | 0) >> 2] | 0, HEAP32[($11 + 20 | 0) >> 2] | 0, HEAP32[($11 + 16 | 0) >> 2] | 0, HEAP32[($11 + 12 | 0) >> 2] | 0))), HEAPF32[(wasm2js_i32$0 + 228 | 0) >> 2] = wasm2js_f32$0; + label$5 : { + label$6 : { + if (Math_fround(HEAPF32[($12 + 228 | 0) >> 2]) <= Math_fround(HEAPF32[((HEAP32[($11 + 16 | 0) >> 2] | 0) + 92 | 0) >> 2]) & 1 | 0) { + break label$6 + } + if (!((HEAP32[$11 >> 2] | 0 | 0) >= ((HEAP32[($11 + 4 | 0) >> 2] | 0) - 1 | 0 | 0) & 1 | 0)) { + break label$5 + } + } + break label$3; + } + HEAP32[$11 >> 2] = (HEAP32[$11 >> 2] | 0) + 1 | 0; + continue label$4; + }; + } + CProfileSample___CProfileSample_28_29($11 + 11 | 0 | 0) | 0; + __stack_pointer = $11 + 48 | 0; + return Math_fround(Math_fround(0 | 0)); + } + + function btSequentialImpulseConstraintSolver__solveGroupCacheFriendlyFinish_28btCollisionObject___2c_20int_2c_20btContactSolverInfo_20const__29($0, $1, $2, $3) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + var $6 = 0, $7 = 0, $48 = Math_fround(0), $61 = Math_fround(0), $278 = 0, $301 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $6 = __stack_pointer - 288 | 0; + __stack_pointer = $6; + HEAP32[($6 + 284 | 0) >> 2] = $0; + HEAP32[($6 + 280 | 0) >> 2] = $1; + HEAP32[($6 + 276 | 0) >> 2] = $2; + HEAP32[($6 + 272 | 0) >> 2] = $3; + $7 = HEAP32[($6 + 284 | 0) >> 2] | 0; + (wasm2js_i32$0 = $6, wasm2js_i32$1 = btAlignedObjectArray_btSolverConstraint___size_28_29_20const($7 + 24 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 268 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + if (!((HEAP32[((HEAP32[($6 + 272 | 0) >> 2] | 0) + 72 | 0) >> 2] | 0) & 4 | 0)) { + break label$1 + } + HEAP32[($6 + 260 | 0) >> 2] = 0; + label$2 : { + label$3 : while (1) { + if (!((HEAP32[($6 + 260 | 0) >> 2] | 0 | 0) < (HEAP32[($6 + 268 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$2 + } + (wasm2js_i32$0 = $6, wasm2js_i32$1 = btAlignedObjectArray_btSolverConstraint___operator_5b_5d_28int_29($7 + 24 | 0 | 0, HEAP32[($6 + 260 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 256 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($6 + 252 | 0) >> 2] = HEAP32[((HEAP32[($6 + 256 | 0) >> 2] | 0) + 132 | 0) >> 2] | 0; + label$4 : { + if ((HEAP32[($6 + 252 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$4 + } + __assert_fail(67541 | 0, 72591 | 0, 1882 | 0, 77922 | 0); + wasm2js_trap(); + } + HEAPF32[((HEAP32[($6 + 252 | 0) >> 2] | 0) + 132 | 0) >> 2] = Math_fround(HEAPF32[((HEAP32[($6 + 256 | 0) >> 2] | 0) + 100 | 0) >> 2]); + $48 = Math_fround(HEAPF32[((btAlignedObjectArray_btSolverConstraint___operator_5b_5d_28int_29($7 + 64 | 0 | 0, HEAP32[((HEAP32[($6 + 256 | 0) >> 2] | 0) + 140 | 0) >> 2] | 0 | 0) | 0) + 100 | 0) >> 2]); + HEAPF32[((HEAP32[($6 + 252 | 0) >> 2] | 0) + 136 | 0) >> 2] = $48; + label$5 : { + if (!((HEAP32[((HEAP32[($6 + 272 | 0) >> 2] | 0) + 72 | 0) >> 2] | 0) & 16 | 0)) { + break label$5 + } + $61 = Math_fround(HEAPF32[((btAlignedObjectArray_btSolverConstraint___operator_5b_5d_28int_29($7 + 64 | 0 | 0, (HEAP32[((HEAP32[($6 + 256 | 0) >> 2] | 0) + 140 | 0) >> 2] | 0) + 1 | 0 | 0) | 0) + 100 | 0) >> 2]); + HEAPF32[((HEAP32[($6 + 252 | 0) >> 2] | 0) + 140 | 0) >> 2] = $61; + } + HEAP32[($6 + 260 | 0) >> 2] = (HEAP32[($6 + 260 | 0) >> 2] | 0) + 1 | 0; + continue label$3; + }; + } + } + (wasm2js_i32$0 = $6, wasm2js_i32$1 = btAlignedObjectArray_btSolverConstraint___size_28_29_20const($7 + 44 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 268 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($6 + 260 | 0) >> 2] = 0; + label$6 : { + label$7 : while (1) { + if (!((HEAP32[($6 + 260 | 0) >> 2] | 0 | 0) < (HEAP32[($6 + 268 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$6 + } + (wasm2js_i32$0 = $6, wasm2js_i32$1 = btAlignedObjectArray_btSolverConstraint___operator_5b_5d_28int_29($7 + 44 | 0 | 0, HEAP32[($6 + 260 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 248 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($6 + 244 | 0) >> 2] = HEAP32[((HEAP32[($6 + 248 | 0) >> 2] | 0) + 132 | 0) >> 2] | 0; + (wasm2js_i32$0 = $6, wasm2js_i32$1 = btTypedConstraint__getJointFeedback_28_29(HEAP32[($6 + 244 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 240 | 0) >> 2] = wasm2js_i32$1; + label$8 : { + if (!((HEAP32[($6 + 240 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$8 + } + operator__28btVector3_20const__2c_20float_20const__29($6 + 192 | 0 | 0, (HEAP32[($6 + 248 | 0) >> 2] | 0) + 16 | 0 | 0, (HEAP32[($6 + 248 | 0) >> 2] | 0) + 100 | 0 | 0); + operator__28btVector3_20const__2c_20btVector3_20const__29_1($6 + 208 | 0 | 0, $6 + 192 | 0 | 0, btRigidBody__getLinearFactor_28_29_20const(btTypedConstraint__getRigidBodyA_28_29(HEAP32[($6 + 244 | 0) >> 2] | 0 | 0) | 0 | 0) | 0 | 0); + operator__28btVector3_20const__2c_20float_20const__29_1($6 + 224 | 0 | 0, $6 + 208 | 0 | 0, (HEAP32[($6 + 272 | 0) >> 2] | 0) + 12 | 0 | 0); + btVector3__operator___28btVector3_20const__29_1(HEAP32[($6 + 240 | 0) >> 2] | 0 | 0, $6 + 224 | 0 | 0) | 0; + operator__28btVector3_20const__2c_20float_20const__29($6 + 144 | 0 | 0, (HEAP32[($6 + 248 | 0) >> 2] | 0) + 48 | 0 | 0, (HEAP32[($6 + 248 | 0) >> 2] | 0) + 100 | 0 | 0); + operator__28btVector3_20const__2c_20btVector3_20const__29_1($6 + 160 | 0 | 0, $6 + 144 | 0 | 0, btRigidBody__getLinearFactor_28_29_20const(btTypedConstraint__getRigidBodyB_28_29(HEAP32[($6 + 244 | 0) >> 2] | 0 | 0) | 0 | 0) | 0 | 0); + operator__28btVector3_20const__2c_20float_20const__29_1($6 + 176 | 0 | 0, $6 + 160 | 0 | 0, (HEAP32[($6 + 272 | 0) >> 2] | 0) + 12 | 0 | 0); + btVector3__operator___28btVector3_20const__29_1((HEAP32[($6 + 240 | 0) >> 2] | 0) + 32 | 0 | 0, $6 + 176 | 0 | 0) | 0; + operator__28btVector3_20const__2c_20btVector3_20const__29_1($6 + 96 | 0 | 0, HEAP32[($6 + 248 | 0) >> 2] | 0 | 0, btRigidBody__getAngularFactor_28_29_20const(btTypedConstraint__getRigidBodyA_28_29(HEAP32[($6 + 244 | 0) >> 2] | 0 | 0) | 0 | 0) | 0 | 0); + operator__28btVector3_20const__2c_20float_20const__29($6 + 112 | 0 | 0, $6 + 96 | 0 | 0, (HEAP32[($6 + 248 | 0) >> 2] | 0) + 100 | 0 | 0); + operator__28btVector3_20const__2c_20float_20const__29_1($6 + 128 | 0 | 0, $6 + 112 | 0 | 0, (HEAP32[($6 + 272 | 0) >> 2] | 0) + 12 | 0 | 0); + btVector3__operator___28btVector3_20const__29_1((HEAP32[($6 + 240 | 0) >> 2] | 0) + 16 | 0 | 0, $6 + 128 | 0 | 0) | 0; + operator__28btVector3_20const__2c_20btVector3_20const__29_1($6 + 48 | 0 | 0, (HEAP32[($6 + 248 | 0) >> 2] | 0) + 32 | 0 | 0, btRigidBody__getAngularFactor_28_29_20const(btTypedConstraint__getRigidBodyB_28_29(HEAP32[($6 + 244 | 0) >> 2] | 0 | 0) | 0 | 0) | 0 | 0); + operator__28btVector3_20const__2c_20float_20const__29($6 + 64 | 0 | 0, $6 + 48 | 0 | 0, (HEAP32[($6 + 248 | 0) >> 2] | 0) + 100 | 0 | 0); + operator__28btVector3_20const__2c_20float_20const__29_1($6 + 80 | 0 | 0, $6 + 64 | 0 | 0, (HEAP32[($6 + 272 | 0) >> 2] | 0) + 12 | 0 | 0); + btVector3__operator___28btVector3_20const__29_1((HEAP32[($6 + 240 | 0) >> 2] | 0) + 48 | 0 | 0, $6 + 80 | 0 | 0) | 0; + } + btTypedConstraint__internalSetAppliedImpulse_28float_29(HEAP32[($6 + 244 | 0) >> 2] | 0 | 0, Math_fround(Math_fround(HEAPF32[((HEAP32[($6 + 248 | 0) >> 2] | 0) + 100 | 0) >> 2]))); + label$9 : { + if (!(Math_fround(btFabs_28float_29(Math_fround(Math_fround(HEAPF32[((HEAP32[($6 + 248 | 0) >> 2] | 0) + 100 | 0) >> 2])))) >= Math_fround(btTypedConstraint__getBreakingImpulseThreshold_28_29_20const(HEAP32[($6 + 244 | 0) >> 2] | 0 | 0)) & 1 | 0)) { + break label$9 + } + btTypedConstraint__setEnabled_28bool_29(HEAP32[($6 + 244 | 0) >> 2] | 0 | 0, 0 & 1 | 0 | 0); + } + HEAP32[($6 + 260 | 0) >> 2] = (HEAP32[($6 + 260 | 0) >> 2] | 0) + 1 | 0; + continue label$7; + }; + } + HEAP32[($6 + 264 | 0) >> 2] = 0; + label$10 : { + label$11 : while (1) { + if (!((HEAP32[($6 + 264 | 0) >> 2] | 0 | 0) < (btAlignedObjectArray_btSolverBody___size_28_29_20const($7 + 4 | 0 | 0) | 0 | 0) & 1 | 0)) { + break label$10 + } + (wasm2js_i32$0 = $6, wasm2js_i32$1 = HEAP32[((btAlignedObjectArray_btSolverBody___operator_5b_5d_28int_29($7 + 4 | 0 | 0, HEAP32[($6 + 264 | 0) >> 2] | 0 | 0) | 0) + 240 | 0) >> 2] | 0), HEAP32[(wasm2js_i32$0 + 44 | 0) >> 2] = wasm2js_i32$1; + label$12 : { + if (!((HEAP32[($6 + 44 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$12 + } + label$13 : { + label$14 : { + if (!(HEAP32[((HEAP32[($6 + 272 | 0) >> 2] | 0) + 52 | 0) >> 2] | 0)) { + break label$14 + } + btSolverBody__writebackVelocityAndTransform_28float_2c_20float_29(btAlignedObjectArray_btSolverBody___operator_5b_5d_28int_29($7 + 4 | 0 | 0, HEAP32[($6 + 264 | 0) >> 2] | 0 | 0) | 0 | 0, Math_fround(Math_fround(HEAPF32[((HEAP32[($6 + 272 | 0) >> 2] | 0) + 12 | 0) >> 2])), Math_fround(Math_fround(HEAPF32[((HEAP32[($6 + 272 | 0) >> 2] | 0) + 60 | 0) >> 2]))); + break label$13; + } + btSolverBody__writebackVelocity_28_29(btAlignedObjectArray_btSolverBody___operator_5b_5d_28int_29($7 + 4 | 0 | 0, HEAP32[($6 + 264 | 0) >> 2] | 0 | 0) | 0 | 0); + } + $278 = HEAP32[((btAlignedObjectArray_btSolverBody___operator_5b_5d_28int_29($7 + 4 | 0 | 0, HEAP32[($6 + 264 | 0) >> 2] | 0 | 0) | 0) + 240 | 0) >> 2] | 0; + operator__28btVector3_20const__2c_20btVector3_20const__29_2($6 + 28 | 0 | 0, (btAlignedObjectArray_btSolverBody___operator_5b_5d_28int_29($7 + 4 | 0 | 0, HEAP32[($6 + 264 | 0) >> 2] | 0 | 0) | 0) + 176 | 0 | 0, (btAlignedObjectArray_btSolverBody___operator_5b_5d_28int_29($7 + 4 | 0 | 0, HEAP32[($6 + 264 | 0) >> 2] | 0 | 0) | 0) + 208 | 0 | 0); + btRigidBody__setLinearVelocity_28btVector3_20const__29($278 | 0, $6 + 28 | 0 | 0); + $301 = HEAP32[((btAlignedObjectArray_btSolverBody___operator_5b_5d_28int_29($7 + 4 | 0 | 0, HEAP32[($6 + 264 | 0) >> 2] | 0 | 0) | 0) + 240 | 0) >> 2] | 0; + operator__28btVector3_20const__2c_20btVector3_20const__29_2($6 + 12 | 0 | 0, (btAlignedObjectArray_btSolverBody___operator_5b_5d_28int_29($7 + 4 | 0 | 0, HEAP32[($6 + 264 | 0) >> 2] | 0 | 0) | 0) + 192 | 0 | 0, (btAlignedObjectArray_btSolverBody___operator_5b_5d_28int_29($7 + 4 | 0 | 0, HEAP32[($6 + 264 | 0) >> 2] | 0 | 0) | 0) + 224 | 0 | 0); + btRigidBody__setAngularVelocity_28btVector3_20const__29($301 | 0, $6 + 12 | 0 | 0); + label$15 : { + if (!(HEAP32[((HEAP32[($6 + 272 | 0) >> 2] | 0) + 52 | 0) >> 2] | 0)) { + break label$15 + } + btCollisionObject__setWorldTransform_28btTransform_20const__29(HEAP32[((btAlignedObjectArray_btSolverBody___operator_5b_5d_28int_29($7 + 4 | 0 | 0, HEAP32[($6 + 264 | 0) >> 2] | 0 | 0) | 0) + 240 | 0) >> 2] | 0 | 0, btAlignedObjectArray_btSolverBody___operator_5b_5d_28int_29($7 + 4 | 0 | 0, HEAP32[($6 + 264 | 0) >> 2] | 0 | 0) | 0 | 0); + } + btCollisionObject__setCompanionId_28int_29(HEAP32[((btAlignedObjectArray_btSolverBody___operator_5b_5d_28int_29($7 + 4 | 0 | 0, HEAP32[($6 + 264 | 0) >> 2] | 0 | 0) | 0) + 240 | 0) >> 2] | 0 | 0, -1 | 0); + } + HEAP32[($6 + 264 | 0) >> 2] = (HEAP32[($6 + 264 | 0) >> 2] | 0) + 1 | 0; + continue label$11; + }; + } + btAlignedObjectArray_btSolverConstraint___resizeNoInitialize_28int_29($7 + 24 | 0 | 0, 0 | 0); + btAlignedObjectArray_btSolverConstraint___resizeNoInitialize_28int_29($7 + 44 | 0 | 0, 0 | 0); + btAlignedObjectArray_btSolverConstraint___resizeNoInitialize_28int_29($7 + 64 | 0 | 0, 0 | 0); + btAlignedObjectArray_btSolverConstraint___resizeNoInitialize_28int_29($7 + 84 | 0 | 0, 0 | 0); + btAlignedObjectArray_btSolverBody___resizeNoInitialize_28int_29($7 + 4 | 0 | 0, 0 | 0); + __stack_pointer = $6 + 288 | 0; + return Math_fround(Math_fround(0 | 0)); + } + + function btTypedConstraint__setEnabled_28bool_29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0; + $4 = __stack_pointer - 16 | 0; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP8[($4 + 11 | 0) >> 0] = $1; + HEAP8[((HEAP32[($4 + 12 | 0) >> 2] | 0) + 20 | 0) >> 0] = (HEAPU8[($4 + 11 | 0) >> 0] | 0) & 1 | 0; + return; + } + + function btSolverBody__writebackVelocityAndTransform_28float_2c_20float_29($0, $1, $2) { + $0 = $0 | 0; + $1 = Math_fround($1); + $2 = Math_fround($2); + var $6 = 0, $5 = 0; + $5 = __stack_pointer - 96 | 0; + __stack_pointer = $5; + HEAP32[($5 + 92 | 0) >> 2] = $0; + HEAPF32[($5 + 88 | 0) >> 2] = $1; + HEAPF32[($5 + 84 | 0) >> 2] = $2; + $6 = HEAP32[($5 + 92 | 0) >> 2] | 0; + label$1 : { + if (!((HEAP32[($6 + 240 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + btVector3__operator___28btVector3_20const__29_1($6 + 176 | 0 | 0, $6 + 64 | 0 | 0) | 0; + btVector3__operator___28btVector3_20const__29_1($6 + 192 | 0 | 0, $6 + 80 | 0 | 0) | 0; + btTransform__btTransform_28_29($5 + 20 | 0 | 0) | 0; + label$2 : { + label$3 : { + if (Math_fround(HEAPF32[(btVector3__operator_20float__28_29($6 + 144 | 0 | 0) | 0) >> 2]) != Math_fround(0 | 0) & 1 | 0) { + break label$3 + } + if (Math_fround(HEAPF32[((btVector3__operator_20float__28_29($6 + 144 | 0 | 0) | 0) + 4 | 0) >> 2]) != Math_fround(0 | 0) & 1 | 0) { + break label$3 + } + if (Math_fround(HEAPF32[((btVector3__operator_20float__28_29($6 + 144 | 0 | 0) | 0) + 8 | 0) >> 2]) != Math_fround(0 | 0) & 1 | 0) { + break label$3 + } + if (Math_fround(HEAPF32[(btVector3__operator_20float__28_29($6 + 160 | 0 | 0) | 0) >> 2]) != Math_fround(0 | 0) & 1 | 0) { + break label$3 + } + if (Math_fround(HEAPF32[((btVector3__operator_20float__28_29($6 + 160 | 0 | 0) | 0) + 4 | 0) >> 2]) != Math_fround(0 | 0) & 1 | 0) { + break label$3 + } + if (!(Math_fround(HEAPF32[((btVector3__operator_20float__28_29($6 + 160 | 0 | 0) | 0) + 8 | 0) >> 2]) != Math_fround(0 | 0) & 1 | 0)) { + break label$2 + } + } + operator__28btVector3_20const__2c_20float_20const__29($5 + 4 | 0 | 0, $6 + 160 | 0 | 0, $5 + 84 | 0 | 0); + btTransformUtil__integrateTransform_28btTransform_20const__2c_20btVector3_20const__2c_20btVector3_20const__2c_20float_2c_20btTransform__29($6 | 0, $6 + 144 | 0 | 0, $5 + 4 | 0 | 0, Math_fround(Math_fround(HEAPF32[($5 + 88 | 0) >> 2])), $5 + 20 | 0 | 0); + btTransform__operator__28btTransform_20const__29($6 | 0, $5 + 20 | 0 | 0) | 0; + } + } + __stack_pointer = $5 + 96 | 0; + return; + } + + function btSolverBody__writebackVelocity_28_29($0) { + $0 = $0 | 0; + var $4 = 0, $3 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + label$1 : { + if (!((HEAP32[($4 + 240 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + btVector3__operator___28btVector3_20const__29_1($4 + 176 | 0 | 0, $4 + 64 | 0 | 0) | 0; + btVector3__operator___28btVector3_20const__29_1($4 + 192 | 0 | 0, $4 + 80 | 0 | 0) | 0; + } + __stack_pointer = $3 + 16 | 0; + return; + } + + function btCollisionObject__setWorldTransform_28btTransform_20const__29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, $5 = 0; + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; + HEAP32[($5 + 304 | 0) >> 2] = (HEAP32[($5 + 304 | 0) >> 2] | 0) + 1 | 0; + btTransform__operator__28btTransform_20const__29($5 + 4 | 0 | 0, HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) | 0; + __stack_pointer = $4 + 16 | 0; + return; + } + + function btAlignedObjectArray_btSolverBody___resizeNoInitialize_28int_29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, $5 = 0; + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; + label$1 : { + if (!((HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) > (btAlignedObjectArray_btSolverBody___size_28_29_20const($5 | 0) | 0 | 0) & 1 | 0)) { + break label$1 + } + btAlignedObjectArray_btSolverBody___reserve_28int_29($5 | 0, HEAP32[($4 + 8 | 0) >> 2] | 0 | 0); + } + HEAP32[($5 + 4 | 0) >> 2] = HEAP32[($4 + 8 | 0) >> 2] | 0; + __stack_pointer = $4 + 16 | 0; + return; + } + + function btSequentialImpulseConstraintSolver__solveGroup_28btCollisionObject___2c_20int_2c_20btPersistentManifold___2c_20int_2c_20btTypedConstraint___2c_20int_2c_20btContactSolverInfo_20const__2c_20btIDebugDraw__2c_20btDispatcher__29($0, $1, $2, $3, $4, $5, $6, $7, $8, $9) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + $4 = $4 | 0; + $5 = $5 | 0; + $6 = $6 | 0; + $7 = $7 | 0; + $8 = $8 | 0; + $9 = $9 | 0; + var $12 = 0, $13 = 0; + $12 = __stack_pointer - 48 | 0; + __stack_pointer = $12; + HEAP32[($12 + 44 | 0) >> 2] = $0; + HEAP32[($12 + 40 | 0) >> 2] = $1; + HEAP32[($12 + 36 | 0) >> 2] = $2; + HEAP32[($12 + 32 | 0) >> 2] = $3; + HEAP32[($12 + 28 | 0) >> 2] = $4; + HEAP32[($12 + 24 | 0) >> 2] = $5; + HEAP32[($12 + 20 | 0) >> 2] = $6; + HEAP32[($12 + 16 | 0) >> 2] = $7; + HEAP32[($12 + 12 | 0) >> 2] = $8; + HEAP32[($12 + 8 | 0) >> 2] = $9; + $13 = HEAP32[($12 + 44 | 0) >> 2] | 0; + CProfileSample__CProfileSample_28char_20const__29($12 + 7 | 0 | 0, 71314 | 0) | 0; + Math_fround(FUNCTION_TABLE[HEAP32[((HEAP32[$13 >> 2] | 0) + 44 | 0) >> 2] | 0 | 0]($13, HEAP32[($12 + 40 | 0) >> 2] | 0, HEAP32[($12 + 36 | 0) >> 2] | 0, HEAP32[($12 + 32 | 0) >> 2] | 0, HEAP32[($12 + 28 | 0) >> 2] | 0, HEAP32[($12 + 24 | 0) >> 2] | 0, HEAP32[($12 + 20 | 0) >> 2] | 0, HEAP32[($12 + 16 | 0) >> 2] | 0, HEAP32[($12 + 12 | 0) >> 2] | 0)); + Math_fround(FUNCTION_TABLE[HEAP32[((HEAP32[$13 >> 2] | 0) + 48 | 0) >> 2] | 0 | 0]($13, HEAP32[($12 + 40 | 0) >> 2] | 0, HEAP32[($12 + 36 | 0) >> 2] | 0, HEAP32[($12 + 32 | 0) >> 2] | 0, HEAP32[($12 + 28 | 0) >> 2] | 0, HEAP32[($12 + 24 | 0) >> 2] | 0, HEAP32[($12 + 20 | 0) >> 2] | 0, HEAP32[($12 + 16 | 0) >> 2] | 0, HEAP32[($12 + 12 | 0) >> 2] | 0)); + Math_fround(FUNCTION_TABLE[HEAP32[((HEAP32[$13 >> 2] | 0) + 36 | 0) >> 2] | 0 | 0]($13, HEAP32[($12 + 40 | 0) >> 2] | 0, HEAP32[($12 + 36 | 0) >> 2] | 0, HEAP32[($12 + 16 | 0) >> 2] | 0)); + CProfileSample___CProfileSample_28_29($12 + 7 | 0 | 0) | 0; + __stack_pointer = $12 + 48 | 0; + return Math_fround(Math_fround(0 | 0)); + } + + function btSequentialImpulseConstraintSolver__reset_28_29($0) { + $0 = $0 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + HEAP32[((HEAP32[($3 + 12 | 0) >> 2] | 0) + 232 | 0) >> 2] = 0; + return; + } + + function btConstraintSolver__prepareSolve_28int_2c_20int_29($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $5 = 0; + $5 = __stack_pointer - 16 | 0; + HEAP32[($5 + 12 | 0) >> 2] = $0; + HEAP32[($5 + 8 | 0) >> 2] = $1; + HEAP32[($5 + 4 | 0) >> 2] = $2; + return; + } + + function btConstraintSolver__allSolved_28btContactSolverInfo_20const__2c_20btIDebugDraw__29($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $5 = 0; + $5 = __stack_pointer - 16 | 0; + HEAP32[($5 + 12 | 0) >> 2] = $0; + HEAP32[($5 + 8 | 0) >> 2] = $1; + HEAP32[($5 + 4 | 0) >> 2] = $2; + return; + } + + function btSequentialImpulseConstraintSolver__getSolverType_28_29_20const($0) { + $0 = $0 | 0; + HEAP32[((__stack_pointer - 16 | 0) + 12 | 0) >> 2] = $0; + return 1 | 0; + } + + function btConstraintSolver___btConstraintSolver_28_29_1($0) { + $0 = $0 | 0; + HEAP32[((__stack_pointer - 16 | 0) + 12 | 0) >> 2] = $0; + wasm2js_trap(); + } + + function btAlignedAllocator_btSolverBody_2c_2016u___deallocate_28btSolverBody__29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0; + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + btAlignedFreeInternal_28void__29(HEAP32[($4 + 8 | 0) >> 2] | 0 | 0); + __stack_pointer = $4 + 16 | 0; + return; + } + + function btAlignedObjectArray_btSolverConstraint___destroy_28int_2c_20int_29($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $5 = 0; + $5 = __stack_pointer - 16 | 0; + HEAP32[($5 + 12 | 0) >> 2] = $0; + HEAP32[($5 + 8 | 0) >> 2] = $1; + HEAP32[($5 + 4 | 0) >> 2] = $2; + HEAP32[($5 + 12 | 0) >> 2] | 0; + HEAP32[$5 >> 2] = HEAP32[($5 + 8 | 0) >> 2] | 0; + label$1 : { + label$2 : while (1) { + if (!((HEAP32[$5 >> 2] | 0 | 0) < (HEAP32[($5 + 4 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$1 + } + HEAP32[$5 >> 2] = (HEAP32[$5 >> 2] | 0) + 1 | 0; + continue label$2; + }; + } + return; + } + + function btAlignedObjectArray_btSolverConstraint___deallocate_28_29($0) { + $0 = $0 | 0; + var $4 = 0, $3 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + label$1 : { + if (!((HEAP32[($4 + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + label$2 : { + if (!((HEAPU8[($4 + 16 | 0) >> 0] | 0) & 1 | 0)) { + break label$2 + } + btAlignedAllocator_btSolverConstraint_2c_2016u___deallocate_28btSolverConstraint__29($4 | 0, HEAP32[($4 + 12 | 0) >> 2] | 0 | 0); + } + HEAP32[($4 + 12 | 0) >> 2] = 0; + } + __stack_pointer = $3 + 16 | 0; + return; + } + + function btAlignedAllocator_btSolverConstraint_2c_2016u___deallocate_28btSolverConstraint__29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0; + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + btAlignedFreeInternal_28void__29(HEAP32[($4 + 8 | 0) >> 2] | 0 | 0); + __stack_pointer = $4 + 16 | 0; + return; + } + + function btAlignedObjectArray_btTypedConstraint__btConstraintInfo1___destroy_28int_2c_20int_29($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $5 = 0; + $5 = __stack_pointer - 16 | 0; + HEAP32[($5 + 12 | 0) >> 2] = $0; + HEAP32[($5 + 8 | 0) >> 2] = $1; + HEAP32[($5 + 4 | 0) >> 2] = $2; + HEAP32[($5 + 12 | 0) >> 2] | 0; + HEAP32[$5 >> 2] = HEAP32[($5 + 8 | 0) >> 2] | 0; + label$1 : { + label$2 : while (1) { + if (!((HEAP32[$5 >> 2] | 0 | 0) < (HEAP32[($5 + 4 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$1 + } + HEAP32[$5 >> 2] = (HEAP32[$5 >> 2] | 0) + 1 | 0; + continue label$2; + }; + } + return; + } + + function btAlignedObjectArray_btTypedConstraint__btConstraintInfo1___deallocate_28_29($0) { + $0 = $0 | 0; + var $4 = 0, $3 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + label$1 : { + if (!((HEAP32[($4 + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + label$2 : { + if (!((HEAPU8[($4 + 16 | 0) >> 0] | 0) & 1 | 0)) { + break label$2 + } + btAlignedAllocator_btTypedConstraint__btConstraintInfo1_2c_2016u___deallocate_28btTypedConstraint__btConstraintInfo1__29($4 | 0, HEAP32[($4 + 12 | 0) >> 2] | 0 | 0); + } + HEAP32[($4 + 12 | 0) >> 2] = 0; + } + __stack_pointer = $3 + 16 | 0; + return; + } + + function btAlignedAllocator_btTypedConstraint__btConstraintInfo1_2c_2016u___deallocate_28btTypedConstraint__btConstraintInfo1__29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0; + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + btAlignedFreeInternal_28void__29(HEAP32[($4 + 8 | 0) >> 2] | 0 | 0); + __stack_pointer = $4 + 16 | 0; + return; + } + + function btAlignedObjectArray_btSolverConstraint___allocate_28int_29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, $5 = 0, $11 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[($4 + 8 | 0) >> 2] = $0; + HEAP32[($4 + 4 | 0) >> 2] = $1; + $5 = HEAP32[($4 + 8 | 0) >> 2] | 0; + label$1 : { + label$2 : { + if (!(HEAP32[($4 + 4 | 0) >> 2] | 0)) { + break label$2 + } + (wasm2js_i32$0 = $4, wasm2js_i32$1 = btAlignedAllocator_btSolverConstraint_2c_2016u___allocate_28int_2c_20btSolverConstraint_20const___29($5 | 0, HEAP32[($4 + 4 | 0) >> 2] | 0 | 0, 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + break label$1; + } + HEAP32[($4 + 12 | 0) >> 2] = 0; + } + $11 = HEAP32[($4 + 12 | 0) >> 2] | 0; + __stack_pointer = $4 + 16 | 0; + return $11 | 0; + } + + function btAlignedObjectArray_btSolverConstraint___copy_28int_2c_20int_2c_20btSolverConstraint__29_20const($0, $1, $2, $3) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + var $6 = 0, $7 = 0; + $6 = __stack_pointer - 32 | 0; + __stack_pointer = $6; + HEAP32[($6 + 28 | 0) >> 2] = $0; + HEAP32[($6 + 24 | 0) >> 2] = $1; + HEAP32[($6 + 20 | 0) >> 2] = $2; + HEAP32[($6 + 16 | 0) >> 2] = $3; + $7 = HEAP32[($6 + 28 | 0) >> 2] | 0; + HEAP32[($6 + 12 | 0) >> 2] = HEAP32[($6 + 24 | 0) >> 2] | 0; + label$1 : { + label$2 : while (1) { + if (!((HEAP32[($6 + 12 | 0) >> 2] | 0 | 0) < (HEAP32[($6 + 20 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$1 + } + __memcpy(btSolverConstraint__operator_20new_28unsigned_20long_2c_20void__29(152 | 0, (HEAP32[($6 + 16 | 0) >> 2] | 0) + Math_imul(HEAP32[($6 + 12 | 0) >> 2] | 0, 152) | 0 | 0) | 0 | 0, (HEAP32[($7 + 12 | 0) >> 2] | 0) + Math_imul(HEAP32[($6 + 12 | 0) >> 2] | 0, 152) | 0 | 0, 152 | 0) | 0; + HEAP32[($6 + 12 | 0) >> 2] = (HEAP32[($6 + 12 | 0) >> 2] | 0) + 1 | 0; + continue label$2; + }; + } + __stack_pointer = $6 + 32 | 0; + return; + } + + function btAlignedAllocator_btSolverConstraint_2c_2016u___allocate_28int_2c_20btSolverConstraint_20const___29($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $5 = 0, $10 = 0; + $5 = __stack_pointer - 16 | 0; + __stack_pointer = $5; + HEAP32[($5 + 12 | 0) >> 2] = $0; + HEAP32[($5 + 8 | 0) >> 2] = $1; + HEAP32[($5 + 4 | 0) >> 2] = $2; + $10 = btAlignedAllocInternal_28unsigned_20long_2c_20int_29(Math_imul(HEAP32[($5 + 8 | 0) >> 2] | 0, 152) | 0, 16 | 0) | 0; + __stack_pointer = $5 + 16 | 0; + return $10 | 0; + } + + function btSolverConstraint__operator_20new_28unsigned_20long_2c_20void__29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0; + $4 = __stack_pointer - 16 | 0; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + return HEAP32[($4 + 8 | 0) >> 2] | 0 | 0; + } + + function btAlignedAllocator_btSolverBody_2c_2016u___allocate_28int_2c_20btSolverBody_20const___29($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $5 = 0, $10 = 0; + $5 = __stack_pointer - 16 | 0; + __stack_pointer = $5; + HEAP32[($5 + 12 | 0) >> 2] = $0; + HEAP32[($5 + 8 | 0) >> 2] = $1; + HEAP32[($5 + 4 | 0) >> 2] = $2; + $10 = btAlignedAllocInternal_28unsigned_20long_2c_20int_29(Math_imul(HEAP32[($5 + 8 | 0) >> 2] | 0, 244) | 0, 16 | 0) | 0; + __stack_pointer = $5 + 16 | 0; + return $10 | 0; + } + + function btAlignedObjectArray_btTypedConstraint__btConstraintInfo1___capacity_28_29_20const($0) { + $0 = $0 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + return HEAP32[((HEAP32[($3 + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0; + } + + function btAlignedObjectArray_btTypedConstraint__btConstraintInfo1___allocate_28int_29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, $5 = 0, $11 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[($4 + 8 | 0) >> 2] = $0; + HEAP32[($4 + 4 | 0) >> 2] = $1; + $5 = HEAP32[($4 + 8 | 0) >> 2] | 0; + label$1 : { + label$2 : { + if (!(HEAP32[($4 + 4 | 0) >> 2] | 0)) { + break label$2 + } + (wasm2js_i32$0 = $4, wasm2js_i32$1 = btAlignedAllocator_btTypedConstraint__btConstraintInfo1_2c_2016u___allocate_28int_2c_20btTypedConstraint__btConstraintInfo1_20const___29($5 | 0, HEAP32[($4 + 4 | 0) >> 2] | 0 | 0, 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + break label$1; + } + HEAP32[($4 + 12 | 0) >> 2] = 0; + } + $11 = HEAP32[($4 + 12 | 0) >> 2] | 0; + __stack_pointer = $4 + 16 | 0; + return $11 | 0; + } + + function btAlignedObjectArray_btTypedConstraint__btConstraintInfo1___copy_28int_2c_20int_2c_20btTypedConstraint__btConstraintInfo1__29_20const($0, $1, $2, $3) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + var $6 = 0, i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, $7 = 0, i64toi32_i32$1 = 0, $85 = 0; + $6 = __stack_pointer - 32 | 0; + HEAP32[($6 + 28 | 0) >> 2] = $0; + HEAP32[($6 + 24 | 0) >> 2] = $1; + HEAP32[($6 + 20 | 0) >> 2] = $2; + HEAP32[($6 + 16 | 0) >> 2] = $3; + $7 = HEAP32[($6 + 28 | 0) >> 2] | 0; + HEAP32[($6 + 12 | 0) >> 2] = HEAP32[($6 + 24 | 0) >> 2] | 0; + label$1 : { + label$2 : while (1) { + if (!((HEAP32[($6 + 12 | 0) >> 2] | 0 | 0) < (HEAP32[($6 + 20 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$1 + } + i64toi32_i32$2 = (HEAP32[($7 + 12 | 0) >> 2] | 0) + ((HEAP32[($6 + 12 | 0) >> 2] | 0) << 3 | 0) | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $85 = i64toi32_i32$0; + i64toi32_i32$0 = (HEAP32[($6 + 16 | 0) >> 2] | 0) + ((HEAP32[($6 + 12 | 0) >> 2] | 0) << 3 | 0) | 0; + HEAP32[i64toi32_i32$0 >> 2] = $85; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + HEAP32[($6 + 12 | 0) >> 2] = (HEAP32[($6 + 12 | 0) >> 2] | 0) + 1 | 0; + continue label$2; + }; + } + return; + } + + function btAlignedAllocator_btTypedConstraint__btConstraintInfo1_2c_2016u___allocate_28int_2c_20btTypedConstraint__btConstraintInfo1_20const___29($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $5 = 0, $10 = 0; + $5 = __stack_pointer - 16 | 0; + __stack_pointer = $5; + HEAP32[($5 + 12 | 0) >> 2] = $0; + HEAP32[($5 + 8 | 0) >> 2] = $1; + HEAP32[($5 + 4 | 0) >> 2] = $2; + $10 = btAlignedAllocInternal_28unsigned_20long_2c_20int_29((HEAP32[($5 + 8 | 0) >> 2] | 0) << 3 | 0 | 0, 16 | 0) | 0; + __stack_pointer = $5 + 16 | 0; + return $10 | 0; + } + + function _GLOBAL__sub_I_btSequentialImpulseConstraintSolver_cpp() { + __cxx_global_var_init_72(); + return; + } + + function __cxx_global_var_init_73() { + btInfMaskConverter__btInfMaskConverter_28int_29(115436 | 0, 2139095040 | 0) | 0; + return; + } + + function btTypedConstraint__getFixedBody_28_29() { + var $2 = 0, $32 = 0; + $2 = __stack_pointer - 64 | 0; + __stack_pointer = $2; + label$1 : { + if (!(((HEAPU8[(0 + 116116 | 0) >> 0] | 0) & 255 | 0 | 0) == (0 & 255 | 0 | 0) & 1 | 0)) { + break label$1 + } + HEAPF32[($2 + 44 | 0) >> 2] = Math_fround(0 | 0); + HEAPF32[($2 + 40 | 0) >> 2] = Math_fround(0 | 0); + HEAPF32[($2 + 36 | 0) >> 2] = Math_fround(0 | 0); + btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($2 + 48 | 0 | 0, $2 + 44 | 0 | 0, $2 + 40 | 0 | 0, $2 + 36 | 0 | 0) | 0; + $32 = 0; + btRigidBody__btRigidBody_28float_2c_20btMotionState__2c_20btCollisionShape__2c_20btVector3_20const__29(115440 | 0, Math_fround(Math_fround($32 | 0)), $32 | 0, $32 | 0, $2 + 48 | 0 | 0) | 0; + __cxa_atexit(1099 | 0, 0 | 0, 65536 | 0) | 0; + HEAP8[(0 + 116116 | 0) >> 0] = 1; + } + HEAPF32[($2 + 16 | 0) >> 2] = Math_fround(0 | 0); + HEAPF32[($2 + 12 | 0) >> 2] = Math_fround(0 | 0); + HEAPF32[($2 + 8 | 0) >> 2] = Math_fround(0 | 0); + btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($2 + 20 | 0 | 0, $2 + 16 | 0 | 0, $2 + 12 | 0 | 0, $2 + 8 | 0 | 0) | 0; + btRigidBody__setMassProps_28float_2c_20btVector3_20const__29(115440 | 0, Math_fround(Math_fround(0 | 0)), $2 + 20 | 0 | 0); + __stack_pointer = $2 + 64 | 0; + return 115440 | 0; + } + + function __cxx_global_array_dtor_1($0) { + $0 = $0 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + btRigidBody___btRigidBody_28_29(115440 | 0) | 0; + __stack_pointer = $3 + 16 | 0; + return; + } + + function btTypedConstraint__btTypedConstraint_28btTypedConstraintType_2c_20btRigidBody__2c_20btRigidBody__29($0, $1, $2, $3) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + var $7 = 0, $6 = 0; + $6 = __stack_pointer - 16 | 0; + __stack_pointer = $6; + HEAP32[($6 + 12 | 0) >> 2] = $0; + HEAP32[($6 + 8 | 0) >> 2] = $1; + HEAP32[($6 + 4 | 0) >> 2] = $2; + HEAP32[$6 >> 2] = $3; + $7 = HEAP32[($6 + 12 | 0) >> 2] | 0; + btTypedObject__btTypedObject_28int_29($7 + 4 | 0 | 0, HEAP32[($6 + 8 | 0) >> 2] | 0 | 0) | 0; + HEAP32[$7 >> 2] = 102548 + 8 | 0; + HEAP32[($7 + 8 | 0) >> 2] = -1; + HEAP32[($7 + 12 | 0) >> 2] = -1; + HEAPF32[($7 + 16 | 0) >> 2] = Math_fround(3402823466385288598117041.0e14); + HEAP8[($7 + 20 | 0) >> 0] = 1; + HEAP8[($7 + 21 | 0) >> 0] = 0; + HEAP32[($7 + 24 | 0) >> 2] = -1; + HEAP32[($7 + 28 | 0) >> 2] = HEAP32[($6 + 4 | 0) >> 2] | 0; + HEAP32[($7 + 32 | 0) >> 2] = HEAP32[$6 >> 2] | 0; + HEAPF32[($7 + 36 | 0) >> 2] = Math_fround(0 | 0); + HEAPF32[($7 + 40 | 0) >> 2] = Math_fround(.05000000074505806); + HEAP32[($7 + 44 | 0) >> 2] = 0; + __stack_pointer = $6 + 16 | 0; + return $7 | 0; + } + + function btTypedConstraint__getMotorFactor_28float_2c_20float_2c_20float_2c_20float_2c_20float_29($0, $1, $2, $3, $4, $5) { + $0 = $0 | 0; + $1 = Math_fround($1); + $2 = Math_fround($2); + $3 = Math_fround($3); + $4 = Math_fround($4); + $5 = Math_fround($5); + var $8 = 0; + $8 = __stack_pointer - 48 | 0; + HEAP32[($8 + 40 | 0) >> 2] = $0; + HEAPF32[($8 + 36 | 0) >> 2] = $1; + HEAPF32[($8 + 32 | 0) >> 2] = $2; + HEAPF32[($8 + 28 | 0) >> 2] = $3; + HEAPF32[($8 + 24 | 0) >> 2] = $4; + HEAPF32[($8 + 20 | 0) >> 2] = $5; + label$1 : { + label$2 : { + if (!(Math_fround(HEAPF32[($8 + 32 | 0) >> 2]) > Math_fround(HEAPF32[($8 + 28 | 0) >> 2]) & 1 | 0)) { + break label$2 + } + HEAPF32[($8 + 44 | 0) >> 2] = Math_fround(1.0); + break label$1; + } + label$3 : { + if (!(Math_fround(HEAPF32[($8 + 32 | 0) >> 2]) == Math_fround(HEAPF32[($8 + 28 | 0) >> 2]) & 1 | 0)) { + break label$3 + } + HEAPF32[($8 + 44 | 0) >> 2] = Math_fround(0 | 0); + break label$1; + } + HEAPF32[($8 + 16 | 0) >> 2] = Math_fround(1.0); + HEAPF32[($8 + 12 | 0) >> 2] = Math_fround(Math_fround(HEAPF32[($8 + 24 | 0) >> 2]) / Math_fround(HEAPF32[($8 + 20 | 0) >> 2])); + label$4 : { + label$5 : { + if (!(Math_fround(HEAPF32[($8 + 12 | 0) >> 2]) < Math_fround(0 | 0) & 1 | 0)) { + break label$5 + } + label$6 : { + label$7 : { + if (!(Math_fround(HEAPF32[($8 + 36 | 0) >> 2]) >= Math_fround(HEAPF32[($8 + 32 | 0) >> 2]) & 1 | 0)) { + break label$7 + } + if (!(Math_fround(HEAPF32[($8 + 36 | 0) >> 2]) < Math_fround(Math_fround(HEAPF32[($8 + 32 | 0) >> 2]) - Math_fround(HEAPF32[($8 + 12 | 0) >> 2])) & 1 | 0)) { + break label$7 + } + HEAPF32[($8 + 16 | 0) >> 2] = Math_fround(Math_fround(Math_fround(HEAPF32[($8 + 32 | 0) >> 2]) - Math_fround(HEAPF32[($8 + 36 | 0) >> 2])) / Math_fround(HEAPF32[($8 + 12 | 0) >> 2])); + break label$6; + } + label$8 : { + label$9 : { + if (!(Math_fround(HEAPF32[($8 + 36 | 0) >> 2]) < Math_fround(HEAPF32[($8 + 32 | 0) >> 2]) & 1 | 0)) { + break label$9 + } + HEAPF32[($8 + 16 | 0) >> 2] = Math_fround(0 | 0); + break label$8; + } + HEAPF32[($8 + 16 | 0) >> 2] = Math_fround(1.0); + } + } + break label$4; + } + label$10 : { + label$11 : { + if (!(Math_fround(HEAPF32[($8 + 12 | 0) >> 2]) > Math_fround(0 | 0) & 1 | 0)) { + break label$11 + } + label$12 : { + label$13 : { + if (!(Math_fround(HEAPF32[($8 + 36 | 0) >> 2]) <= Math_fround(HEAPF32[($8 + 28 | 0) >> 2]) & 1 | 0)) { + break label$13 + } + if (!(Math_fround(HEAPF32[($8 + 36 | 0) >> 2]) > Math_fround(Math_fround(HEAPF32[($8 + 28 | 0) >> 2]) - Math_fround(HEAPF32[($8 + 12 | 0) >> 2])) & 1 | 0)) { + break label$13 + } + HEAPF32[($8 + 16 | 0) >> 2] = Math_fround(Math_fround(Math_fround(HEAPF32[($8 + 28 | 0) >> 2]) - Math_fround(HEAPF32[($8 + 36 | 0) >> 2])) / Math_fround(HEAPF32[($8 + 12 | 0) >> 2])); + break label$12; + } + label$14 : { + label$15 : { + if (!(Math_fround(HEAPF32[($8 + 36 | 0) >> 2]) > Math_fround(HEAPF32[($8 + 28 | 0) >> 2]) & 1 | 0)) { + break label$15 + } + HEAPF32[($8 + 16 | 0) >> 2] = Math_fround(0 | 0); + break label$14; + } + HEAPF32[($8 + 16 | 0) >> 2] = Math_fround(1.0); + } + } + break label$10; + } + HEAPF32[($8 + 16 | 0) >> 2] = Math_fround(0 | 0); + } + } + HEAPF32[($8 + 44 | 0) >> 2] = Math_fround(HEAPF32[($8 + 16 | 0) >> 2]); + } + return Math_fround(Math_fround(HEAPF32[($8 + 44 | 0) >> 2])); + } + + function btTypedConstraint__serialize_28void__2c_20btSerializer__29_20const($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $5 = 0, $6 = 0, $8 = 0, $14 = 0, $20 = 0, $24 = 0, $38 = 0, $12 = 0, $18 = 0, $28 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5 = __stack_pointer - 32 | 0; + __stack_pointer = $5; + HEAP32[($5 + 28 | 0) >> 2] = $0; + HEAP32[($5 + 24 | 0) >> 2] = $1; + HEAP32[($5 + 20 | 0) >> 2] = $2; + $6 = HEAP32[($5 + 28 | 0) >> 2] | 0; + HEAP32[($5 + 16 | 0) >> 2] = HEAP32[($5 + 24 | 0) >> 2] | 0; + $8 = HEAP32[($5 + 20 | 0) >> 2] | 0; + $12 = FUNCTION_TABLE[HEAP32[((HEAP32[$8 >> 2] | 0) + 28 | 0) >> 2] | 0 | 0]($8, HEAP32[($6 + 28 | 0) >> 2] | 0) | 0; + HEAP32[(HEAP32[($5 + 16 | 0) >> 2] | 0) >> 2] = $12; + $14 = HEAP32[($5 + 20 | 0) >> 2] | 0; + $18 = FUNCTION_TABLE[HEAP32[((HEAP32[$14 >> 2] | 0) + 28 | 0) >> 2] | 0 | 0]($14, HEAP32[($6 + 32 | 0) >> 2] | 0) | 0; + HEAP32[((HEAP32[($5 + 16 | 0) >> 2] | 0) + 4 | 0) >> 2] = $18; + $20 = HEAP32[($5 + 20 | 0) >> 2] | 0; + (wasm2js_i32$0 = $5, wasm2js_i32$1 = FUNCTION_TABLE[HEAP32[((HEAP32[$20 >> 2] | 0) + 40 | 0) >> 2] | 0 | 0]($20, $6) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + $24 = HEAP32[($5 + 20 | 0) >> 2] | 0; + $28 = FUNCTION_TABLE[HEAP32[((HEAP32[$24 >> 2] | 0) + 28 | 0) >> 2] | 0 | 0]($24, HEAP32[($5 + 12 | 0) >> 2] | 0) | 0; + HEAP32[((HEAP32[($5 + 16 | 0) >> 2] | 0) + 8 | 0) >> 2] = $28; + label$1 : { + if (!((HEAP32[((HEAP32[($5 + 16 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + $38 = HEAP32[($5 + 20 | 0) >> 2] | 0; + FUNCTION_TABLE[HEAP32[((HEAP32[$38 >> 2] | 0) + 48 | 0) >> 2] | 0 | 0]($38, HEAP32[($5 + 12 | 0) >> 2] | 0); + } + HEAP32[((HEAP32[($5 + 16 | 0) >> 2] | 0) + 12 | 0) >> 2] = HEAP32[($6 + 4 | 0) >> 2] | 0; + HEAP32[((HEAP32[($5 + 16 | 0) >> 2] | 0) + 24 | 0) >> 2] = (HEAPU8[($6 + 21 | 0) >> 0] | 0) & 1 | 0; + HEAP32[((HEAP32[($5 + 16 | 0) >> 2] | 0) + 40 | 0) >> 2] = HEAP32[($6 + 24 | 0) >> 2] | 0; + HEAPF32[((HEAP32[($5 + 16 | 0) >> 2] | 0) + 44 | 0) >> 2] = Math_fround(HEAPF32[($6 + 16 | 0) >> 2]); + HEAP32[((HEAP32[($5 + 16 | 0) >> 2] | 0) + 48 | 0) >> 2] = (HEAPU8[($6 + 20 | 0) >> 0] | 0) & 1 | 0 ? 1 : 0; + HEAP32[((HEAP32[($5 + 16 | 0) >> 2] | 0) + 20 | 0) >> 2] = HEAP32[($6 + 12 | 0) >> 2] | 0; + HEAP32[((HEAP32[($5 + 16 | 0) >> 2] | 0) + 16 | 0) >> 2] = HEAP32[($6 + 8 | 0) >> 2] | 0; + HEAPF32[((HEAP32[($5 + 16 | 0) >> 2] | 0) + 28 | 0) >> 2] = Math_fround(HEAPF32[($6 + 36 | 0) >> 2]); + HEAPF32[((HEAP32[($5 + 16 | 0) >> 2] | 0) + 32 | 0) >> 2] = Math_fround(HEAPF32[($6 + 40 | 0) >> 2]); + HEAP32[((HEAP32[($5 + 16 | 0) >> 2] | 0) + 36 | 0) >> 2] = 0; + HEAP32[($5 + 8 | 0) >> 2] = 0; + label$2 : { + label$3 : while (1) { + if (!((HEAP32[($5 + 8 | 0) >> 2] | 0 | 0) < (btRigidBody__getNumConstraintRefs_28_29_20const(HEAP32[($6 + 28 | 0) >> 2] | 0 | 0) | 0 | 0) & 1 | 0)) { + break label$2 + } + label$4 : { + if (!((btRigidBody__getConstraintRef_28int_29(HEAP32[($6 + 28 | 0) >> 2] | 0 | 0, HEAP32[($5 + 8 | 0) >> 2] | 0 | 0) | 0 | 0) == ($6 | 0) & 1 | 0)) { + break label$4 + } + HEAP32[((HEAP32[($5 + 16 | 0) >> 2] | 0) + 36 | 0) >> 2] = 1; + } + HEAP32[($5 + 8 | 0) >> 2] = (HEAP32[($5 + 8 | 0) >> 2] | 0) + 1 | 0; + continue label$3; + }; + } + HEAP32[($5 + 8 | 0) >> 2] = 0; + label$5 : { + label$6 : while (1) { + if (!((HEAP32[($5 + 8 | 0) >> 2] | 0 | 0) < (btRigidBody__getNumConstraintRefs_28_29_20const(HEAP32[($6 + 32 | 0) >> 2] | 0 | 0) | 0 | 0) & 1 | 0)) { + break label$5 + } + label$7 : { + if (!((btRigidBody__getConstraintRef_28int_29(HEAP32[($6 + 32 | 0) >> 2] | 0 | 0, HEAP32[($5 + 8 | 0) >> 2] | 0 | 0) | 0 | 0) == ($6 | 0) & 1 | 0)) { + break label$7 + } + HEAP32[((HEAP32[($5 + 16 | 0) >> 2] | 0) + 36 | 0) >> 2] = 1; + } + HEAP32[($5 + 8 | 0) >> 2] = (HEAP32[($5 + 8 | 0) >> 2] | 0) + 1 | 0; + continue label$6; + }; + } + __stack_pointer = $5 + 32 | 0; + return 83291 | 0; + } + + function btRigidBody__getNumConstraintRefs_28_29_20const($0) { + $0 = $0 | 0; + var $3 = 0, $7 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $7 = btAlignedObjectArray_btTypedConstraint____size_28_29_20const((HEAP32[($3 + 12 | 0) >> 2] | 0) + 544 | 0 | 0) | 0; + __stack_pointer = $3 + 16 | 0; + return $7 | 0; + } + + function btRigidBody__getConstraintRef_28int_29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, $10 = 0; + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + $10 = HEAP32[(btAlignedObjectArray_btTypedConstraint____operator_5b_5d_28int_29((HEAP32[($4 + 12 | 0) >> 2] | 0) + 544 | 0 | 0, HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) | 0) >> 2] | 0; + __stack_pointer = $4 + 16 | 0; + return $10 | 0; + } + + function btAlignedObjectArray_btTypedConstraint____size_28_29_20const($0) { + $0 = $0 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + return HEAP32[((HEAP32[($3 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0; + } + + function btAlignedObjectArray_btTypedConstraint____operator_5b_5d_28int_29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, $5 = 0, $32 = 0; + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; + label$1 : { + if ((HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0) { + break label$1 + } + __assert_fail(85840 | 0, 78192 | 0, 183 | 0, 83901 | 0); + wasm2js_trap(); + } + label$2 : { + if ((HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) < (btAlignedObjectArray_btTypedConstraint____size_28_29_20const($5 | 0) | 0 | 0) & 1 | 0) { + break label$2 + } + __assert_fail(87321 | 0, 78192 | 0, 184 | 0, 83901 | 0); + wasm2js_trap(); + } + $32 = (HEAP32[($5 + 12 | 0) >> 2] | 0) + ((HEAP32[($4 + 8 | 0) >> 2] | 0) << 2 | 0) | 0; + __stack_pointer = $4 + 16 | 0; + return $32 | 0; + } + + function btRigidBody___btRigidBody_28_29($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0, $17 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 8 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 8 | 0) >> 2] | 0; + HEAP32[($3 + 12 | 0) >> 2] = $4; + HEAP32[$4 >> 2] = 102668 + 8 | 0; + label$1 : { + if (!(btAlignedObjectArray_btTypedConstraint____size_28_29_20const($4 + 544 | 0 | 0) | 0)) { + break label$1 + } + __assert_fail(86019 | 0, 78085 | 0, 189 | 0, 66084 | 0); + wasm2js_trap(); + } + btAlignedObjectArray_btTypedConstraint_____btAlignedObjectArray_28_29($4 + 544 | 0 | 0) | 0; + btCollisionObject___btCollisionObject_28_29($4 | 0) | 0; + $17 = HEAP32[($3 + 12 | 0) >> 2] | 0; + __stack_pointer = $3 + 16 | 0; + return $17 | 0; + } + + function btAlignedObjectArray_btTypedConstraint_____btAlignedObjectArray_28_29($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + btAlignedObjectArray_btTypedConstraint____clear_28_29($4 | 0); + __stack_pointer = $3 + 16 | 0; + return $4 | 0; + } + + function btAngularLimit__set_28float_2c_20float_2c_20float_2c_20float_2c_20float_29($0, $1, $2, $3, $4, $5) { + $0 = $0 | 0; + $1 = Math_fround($1); + $2 = Math_fround($2); + $3 = Math_fround($3); + $4 = Math_fround($4); + $5 = Math_fround($5); + var $8 = 0, $9 = 0, wasm2js_i32$0 = 0, wasm2js_f32$0 = Math_fround(0); + $8 = __stack_pointer - 32 | 0; + __stack_pointer = $8; + HEAP32[($8 + 28 | 0) >> 2] = $0; + HEAPF32[($8 + 24 | 0) >> 2] = $1; + HEAPF32[($8 + 20 | 0) >> 2] = $2; + HEAPF32[($8 + 16 | 0) >> 2] = $3; + HEAPF32[($8 + 12 | 0) >> 2] = $4; + HEAPF32[($8 + 8 | 0) >> 2] = $5; + $9 = HEAP32[($8 + 28 | 0) >> 2] | 0; + HEAPF32[($9 + 4 | 0) >> 2] = Math_fround(Math_fround(Math_fround(HEAPF32[($8 + 20 | 0) >> 2]) - Math_fround(HEAPF32[($8 + 24 | 0) >> 2])) / Math_fround(2.0)); + (wasm2js_i32$0 = $9, wasm2js_f32$0 = Math_fround(btNormalizeAngle_28float_29(Math_fround(Math_fround(Math_fround(HEAPF32[($8 + 24 | 0) >> 2]) + Math_fround(HEAPF32[($9 + 4 | 0) >> 2])))))), HEAPF32[wasm2js_i32$0 >> 2] = wasm2js_f32$0; + HEAPF32[($9 + 8 | 0) >> 2] = Math_fround(HEAPF32[($8 + 16 | 0) >> 2]); + HEAPF32[($9 + 12 | 0) >> 2] = Math_fround(HEAPF32[($8 + 12 | 0) >> 2]); + HEAPF32[($9 + 16 | 0) >> 2] = Math_fround(HEAPF32[($8 + 8 | 0) >> 2]); + __stack_pointer = $8 + 32 | 0; + return; + } + + function btAngularLimit__test_28float_29($0, $1) { + $0 = $0 | 0; + $1 = Math_fround($1); + var $5 = 0, $4 = 0, wasm2js_i32$0 = 0, wasm2js_f32$0 = Math_fround(0); + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAPF32[($4 + 8 | 0) >> 2] = $1; + $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; + HEAPF32[($5 + 20 | 0) >> 2] = Math_fround(0 | 0); + HEAPF32[($5 + 24 | 0) >> 2] = Math_fround(0 | 0); + HEAP8[($5 + 28 | 0) >> 0] = 0; + label$1 : { + if (!(Math_fround(HEAPF32[($5 + 4 | 0) >> 2]) >= Math_fround(0 | 0) & 1 | 0)) { + break label$1 + } + (wasm2js_i32$0 = $4, wasm2js_f32$0 = Math_fround(btNormalizeAngle_28float_29(Math_fround(Math_fround(Math_fround(HEAPF32[($4 + 8 | 0) >> 2]) - Math_fround(HEAPF32[$5 >> 2])))))), HEAPF32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_f32$0; + label$2 : { + label$3 : { + if (!(Math_fround(HEAPF32[($4 + 4 | 0) >> 2]) < Math_fround(-Math_fround(HEAPF32[($5 + 4 | 0) >> 2])) & 1 | 0)) { + break label$3 + } + HEAP8[($5 + 28 | 0) >> 0] = 1; + HEAPF32[($5 + 20 | 0) >> 2] = Math_fround(-Math_fround(Math_fround(HEAPF32[($4 + 4 | 0) >> 2]) + Math_fround(HEAPF32[($5 + 4 | 0) >> 2]))); + HEAPF32[($5 + 24 | 0) >> 2] = Math_fround(1.0); + break label$2; + } + label$4 : { + if (!(Math_fround(HEAPF32[($4 + 4 | 0) >> 2]) > Math_fround(HEAPF32[($5 + 4 | 0) >> 2]) & 1 | 0)) { + break label$4 + } + HEAP8[($5 + 28 | 0) >> 0] = 1; + HEAPF32[($5 + 20 | 0) >> 2] = Math_fround(Math_fround(HEAPF32[($5 + 4 | 0) >> 2]) - Math_fround(HEAPF32[($4 + 4 | 0) >> 2])); + HEAPF32[($5 + 24 | 0) >> 2] = Math_fround(-1.0); + } + } + } + __stack_pointer = $4 + 16 | 0; + return; + } + + function btAngularLimit__fit_28float__29_20const($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, $5 = 0, $28 = Math_fround(0), $30 = Math_fround(0), wasm2js_i32$0 = 0, wasm2js_f32$0 = Math_fround(0); + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; + label$1 : { + if (!(Math_fround(HEAPF32[($5 + 4 | 0) >> 2]) > Math_fround(0 | 0) & 1 | 0)) { + break label$1 + } + (wasm2js_i32$0 = $4, wasm2js_f32$0 = Math_fround(btNormalizeAngle_28float_29(Math_fround(Math_fround(Math_fround(HEAPF32[(HEAP32[($4 + 8 | 0) >> 2] | 0) >> 2]) - Math_fround(HEAPF32[$5 >> 2])))))), HEAPF32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_f32$0; + label$2 : { + if ((btEqual_28float_2c_20float_29(Math_fround(Math_fround(HEAPF32[($4 + 4 | 0) >> 2])), Math_fround(Math_fround(HEAPF32[($5 + 4 | 0) >> 2]))) | 0) & 1 | 0) { + break label$2 + } + label$3 : { + label$4 : { + if (!(Math_fround(HEAPF32[($4 + 4 | 0) >> 2]) > Math_fround(0 | 0) & 1 | 0)) { + break label$4 + } + $28 = Math_fround(btAngularLimit__getHigh_28_29_20const($5 | 0)); + HEAPF32[(HEAP32[($4 + 8 | 0) >> 2] | 0) >> 2] = $28; + break label$3; + } + $30 = Math_fround(btAngularLimit__getLow_28_29_20const($5 | 0)); + HEAPF32[(HEAP32[($4 + 8 | 0) >> 2] | 0) >> 2] = $30; + } + } + } + __stack_pointer = $4 + 16 | 0; + return; + } + + function btEqual_28float_2c_20float_29($0, $1) { + $0 = Math_fround($0); + $1 = Math_fround($1); + var $4 = 0, $11 = 0; + $4 = __stack_pointer - 16 | 0; + HEAPF32[($4 + 12 | 0) >> 2] = $0; + HEAPF32[($4 + 8 | 0) >> 2] = $1; + $11 = 0; + label$1 : { + if (!(Math_fround(HEAPF32[($4 + 12 | 0) >> 2]) <= Math_fround(HEAPF32[($4 + 8 | 0) >> 2]) & 1 | 0)) { + break label$1 + } + $11 = Math_fround(HEAPF32[($4 + 12 | 0) >> 2]) < Math_fround(-Math_fround(HEAPF32[($4 + 8 | 0) >> 2])) ^ -1 | 0; + } + return $11 & 1 | 0 | 0; + } + + function btAngularLimit__getHigh_28_29_20const($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0, $8 = Math_fround(0); + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + $8 = Math_fround(btNormalizeAngle_28float_29(Math_fround(Math_fround(Math_fround(HEAPF32[$4 >> 2]) + Math_fround(HEAPF32[($4 + 4 | 0) >> 2]))))); + __stack_pointer = $3 + 16 | 0; + return Math_fround($8); + } + + function btAngularLimit__getLow_28_29_20const($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0, $8 = Math_fround(0); + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + $8 = Math_fround(btNormalizeAngle_28float_29(Math_fround(Math_fround(Math_fround(HEAPF32[$4 >> 2]) - Math_fround(HEAPF32[($4 + 4 | 0) >> 2]))))); + __stack_pointer = $3 + 16 | 0; + return Math_fround($8); + } + + function btTypedConstraint___btTypedConstraint_28_29_1($0) { + $0 = $0 | 0; + HEAP32[((__stack_pointer - 16 | 0) + 12 | 0) >> 2] = $0; + wasm2js_trap(); + } + + function btTypedConstraint__buildJacobian_28_29($0) { + $0 = $0 | 0; + HEAP32[((__stack_pointer - 16 | 0) + 12 | 0) >> 2] = $0; + return; + } + + function btTypedConstraint__calculateSerializeBufferSize_28_29_20const($0) { + $0 = $0 | 0; + HEAP32[((__stack_pointer - 16 | 0) + 12 | 0) >> 2] = $0; + return 52 | 0; + } + + function btAlignedObjectArray_btTypedConstraint____clear_28_29($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + btAlignedObjectArray_btTypedConstraint____destroy_28int_2c_20int_29($4 | 0, 0 | 0, btAlignedObjectArray_btTypedConstraint____size_28_29_20const($4 | 0) | 0 | 0); + btAlignedObjectArray_btTypedConstraint____deallocate_28_29($4 | 0); + btAlignedObjectArray_btTypedConstraint____init_28_29($4 | 0); + __stack_pointer = $3 + 16 | 0; + return; + } + + function btAlignedObjectArray_btTypedConstraint____destroy_28int_2c_20int_29($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $5 = 0; + $5 = __stack_pointer - 16 | 0; + HEAP32[($5 + 12 | 0) >> 2] = $0; + HEAP32[($5 + 8 | 0) >> 2] = $1; + HEAP32[($5 + 4 | 0) >> 2] = $2; + HEAP32[($5 + 12 | 0) >> 2] | 0; + HEAP32[$5 >> 2] = HEAP32[($5 + 8 | 0) >> 2] | 0; + label$1 : { + label$2 : while (1) { + if (!((HEAP32[$5 >> 2] | 0 | 0) < (HEAP32[($5 + 4 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$1 + } + HEAP32[$5 >> 2] = (HEAP32[$5 >> 2] | 0) + 1 | 0; + continue label$2; + }; + } + return; + } + + function btAlignedObjectArray_btTypedConstraint____deallocate_28_29($0) { + $0 = $0 | 0; + var $4 = 0, $3 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + label$1 : { + if (!((HEAP32[($4 + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + label$2 : { + if (!((HEAPU8[($4 + 16 | 0) >> 0] | 0) & 1 | 0)) { + break label$2 + } + btAlignedAllocator_btTypedConstraint__2c_2016u___deallocate_28btTypedConstraint___29($4 | 0, HEAP32[($4 + 12 | 0) >> 2] | 0 | 0); + } + HEAP32[($4 + 12 | 0) >> 2] = 0; + } + __stack_pointer = $3 + 16 | 0; + return; + } + + function btAlignedObjectArray_btTypedConstraint____init_28_29($0) { + $0 = $0 | 0; + var $4 = 0, $3 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + HEAP8[($4 + 16 | 0) >> 0] = 1; + HEAP32[($4 + 12 | 0) >> 2] = 0; + HEAP32[($4 + 4 | 0) >> 2] = 0; + HEAP32[($4 + 8 | 0) >> 2] = 0; + return; + } + + function btAlignedAllocator_btTypedConstraint__2c_2016u___deallocate_28btTypedConstraint___29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0; + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + btAlignedFreeInternal_28void__29(HEAP32[($4 + 8 | 0) >> 2] | 0 | 0); + __stack_pointer = $4 + 16 | 0; + return; + } + + function _GLOBAL__sub_I_btTypedConstraint_cpp() { + __cxx_global_var_init_73(); + return; + } + + function __cxx_global_var_init_74() { + btInfMaskConverter__btInfMaskConverter_28int_29(116120 | 0, 2139095040 | 0) | 0; + return; + } + + function btRigidBody__btRigidBody_28btRigidBody__btRigidBodyConstructionInfo_20const__29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $5 = 0, $4 = 0; + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; + btCollisionObject__btCollisionObject_28_29($5 | 0) | 0; + HEAP32[$5 >> 2] = 102668 + 8 | 0; + btMatrix3x3__btMatrix3x3_28_29($5 + 324 | 0 | 0) | 0; + btVector3__btVector3_28_29($5 + 372 | 0 | 0) | 0; + btVector3__btVector3_28_29($5 + 388 | 0 | 0) | 0; + btVector3__btVector3_28_29($5 + 408 | 0 | 0) | 0; + btVector3__btVector3_28_29($5 + 424 | 0 | 0) | 0; + btVector3__btVector3_28_29($5 + 440 | 0 | 0) | 0; + btVector3__btVector3_28_29($5 + 456 | 0 | 0) | 0; + btVector3__btVector3_28_29($5 + 472 | 0 | 0) | 0; + btVector3__btVector3_28_29($5 + 488 | 0 | 0) | 0; + btAlignedObjectArray_btTypedConstraint____btAlignedObjectArray_28_29($5 + 544 | 0 | 0) | 0; + btVector3__btVector3_28_29($5 + 572 | 0 | 0) | 0; + btVector3__btVector3_28_29($5 + 588 | 0 | 0) | 0; + btVector3__btVector3_28_29($5 + 604 | 0 | 0) | 0; + btVector3__btVector3_28_29($5 + 620 | 0 | 0) | 0; + btVector3__btVector3_28_29($5 + 636 | 0 | 0) | 0; + btVector3__btVector3_28_29($5 + 652 | 0 | 0) | 0; + btRigidBody__setupRigidBody_28btRigidBody__btRigidBodyConstructionInfo_20const__29($5 | 0, HEAP32[($4 + 8 | 0) >> 2] | 0 | 0); + __stack_pointer = $4 + 16 | 0; + return $5 | 0; + } + + function btAlignedObjectArray_btTypedConstraint____btAlignedObjectArray_28_29($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + btAlignedAllocator_btTypedConstraint__2c_2016u___btAlignedAllocator_28_29($4 | 0) | 0; + btAlignedObjectArray_btTypedConstraint____init_28_29($4 | 0); + __stack_pointer = $3 + 16 | 0; + return $4 | 0; + } + + function btRigidBody__setupRigidBody_28btRigidBody__btRigidBodyConstructionInfo_20const__29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, $5 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, $168 = 0, $229 = 0, $249 = 0, $251 = 0, $765 = 0, $775 = 0; + $4 = __stack_pointer - 144 | 0; + __stack_pointer = $4; + HEAP32[($4 + 140 | 0) >> 2] = $0; + HEAP32[($4 + 136 | 0) >> 2] = $1; + $5 = HEAP32[($4 + 140 | 0) >> 2] | 0; + HEAP32[($5 + 252 | 0) >> 2] = 2; + HEAPF32[($4 + 132 | 0) >> 2] = Math_fround(0 | 0); + HEAPF32[($4 + 128 | 0) >> 2] = Math_fround(0 | 0); + HEAPF32[($4 + 124 | 0) >> 2] = Math_fround(0 | 0); + btVector3__setValue_28float_20const__2c_20float_20const__2c_20float_20const__29($5 + 372 | 0 | 0, $4 + 132 | 0 | 0, $4 + 128 | 0 | 0, $4 + 124 | 0 | 0); + HEAPF32[($4 + 120 | 0) >> 2] = Math_fround(0 | 0); + HEAPF32[($4 + 116 | 0) >> 2] = Math_fround(0 | 0); + HEAPF32[($4 + 112 | 0) >> 2] = Math_fround(0 | 0); + btVector3__setValue_28float_20const__2c_20float_20const__2c_20float_20const__29($5 + 388 | 0 | 0, $4 + 120 | 0 | 0, $4 + 116 | 0 | 0, $4 + 112 | 0 | 0); + HEAPF32[($4 + 108 | 0) >> 2] = Math_fround(1.0); + HEAPF32[($4 + 104 | 0) >> 2] = Math_fround(1.0); + HEAPF32[($4 + 100 | 0) >> 2] = Math_fround(1.0); + btVector3__setValue_28float_20const__2c_20float_20const__2c_20float_20const__29($5 + 604 | 0 | 0, $4 + 108 | 0 | 0, $4 + 104 | 0 | 0, $4 + 100 | 0 | 0); + HEAPF32[($4 + 96 | 0) >> 2] = Math_fround(1.0); + HEAPF32[($4 + 92 | 0) >> 2] = Math_fround(1.0); + HEAPF32[($4 + 88 | 0) >> 2] = Math_fround(1.0); + btVector3__setValue_28float_20const__2c_20float_20const__2c_20float_20const__29($5 + 408 | 0 | 0, $4 + 96 | 0 | 0, $4 + 92 | 0 | 0, $4 + 88 | 0 | 0); + HEAPF32[($4 + 84 | 0) >> 2] = Math_fround(0 | 0); + HEAPF32[($4 + 80 | 0) >> 2] = Math_fround(0 | 0); + HEAPF32[($4 + 76 | 0) >> 2] = Math_fround(0 | 0); + btVector3__setValue_28float_20const__2c_20float_20const__2c_20float_20const__29($5 + 424 | 0 | 0, $4 + 84 | 0 | 0, $4 + 80 | 0 | 0, $4 + 76 | 0 | 0); + HEAPF32[($4 + 72 | 0) >> 2] = Math_fround(0 | 0); + HEAPF32[($4 + 68 | 0) >> 2] = Math_fround(0 | 0); + HEAPF32[($4 + 64 | 0) >> 2] = Math_fround(0 | 0); + btVector3__setValue_28float_20const__2c_20float_20const__2c_20float_20const__29($5 + 440 | 0 | 0, $4 + 72 | 0 | 0, $4 + 68 | 0 | 0, $4 + 64 | 0 | 0); + HEAPF32[($4 + 60 | 0) >> 2] = Math_fround(0 | 0); + HEAPF32[($4 + 56 | 0) >> 2] = Math_fround(0 | 0); + HEAPF32[($4 + 52 | 0) >> 2] = Math_fround(0 | 0); + btVector3__setValue_28float_20const__2c_20float_20const__2c_20float_20const__29($5 + 472 | 0 | 0, $4 + 60 | 0 | 0, $4 + 56 | 0 | 0, $4 + 52 | 0 | 0); + HEAPF32[($4 + 48 | 0) >> 2] = Math_fround(0 | 0); + HEAPF32[($4 + 44 | 0) >> 2] = Math_fround(0 | 0); + HEAPF32[($4 + 40 | 0) >> 2] = Math_fround(0 | 0); + btVector3__setValue_28float_20const__2c_20float_20const__2c_20float_20const__29($5 + 488 | 0 | 0, $4 + 48 | 0 | 0, $4 + 44 | 0 | 0, $4 + 40 | 0 | 0); + btRigidBody__setDamping_28float_2c_20float_29($5 | 0, Math_fround(Math_fround(HEAPF32[((HEAP32[($4 + 136 | 0) >> 2] | 0) + 92 | 0) >> 2])), Math_fround(Math_fround(HEAPF32[((HEAP32[($4 + 136 | 0) >> 2] | 0) + 96 | 0) >> 2]))); + HEAPF32[($5 + 532 | 0) >> 2] = Math_fround(HEAPF32[((HEAP32[($4 + 136 | 0) >> 2] | 0) + 116 | 0) >> 2]); + HEAPF32[($5 + 536 | 0) >> 2] = Math_fround(HEAPF32[((HEAP32[($4 + 136 | 0) >> 2] | 0) + 120 | 0) >> 2]); + HEAP32[($5 + 540 | 0) >> 2] = HEAP32[((HEAP32[($4 + 136 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0; + HEAP32[($5 + 668 | 0) >> 2] = 0; + HEAP32[($5 + 672 | 0) >> 2] = 0; + HEAP8[($5 + 512 | 0) >> 0] = (HEAPU8[((HEAP32[($4 + 136 | 0) >> 2] | 0) + 124 | 0) >> 0] | 0) & 1 | 0; + HEAPF32[($5 + 516 | 0) >> 2] = Math_fround(HEAPF32[((HEAP32[($4 + 136 | 0) >> 2] | 0) + 128 | 0) >> 2]); + HEAPF32[($5 + 520 | 0) >> 2] = Math_fround(HEAPF32[((HEAP32[($4 + 136 | 0) >> 2] | 0) + 132 | 0) >> 2]); + HEAPF32[($5 + 524 | 0) >> 2] = Math_fround(HEAPF32[((HEAP32[($4 + 136 | 0) >> 2] | 0) + 136 | 0) >> 2]); + HEAPF32[($5 + 528 | 0) >> 2] = Math_fround(HEAPF32[((HEAP32[($4 + 136 | 0) >> 2] | 0) + 140 | 0) >> 2]); + label$1 : { + label$2 : { + if (!((HEAP32[($5 + 540 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$2 + } + $168 = HEAP32[($5 + 540 | 0) >> 2] | 0; + FUNCTION_TABLE[HEAP32[((HEAP32[$168 >> 2] | 0) + 8 | 0) >> 2] | 0 | 0]($168, $5 + 4 | 0); + break label$1; + } + btTransform__operator__28btTransform_20const__29($5 + 4 | 0 | 0, (HEAP32[($4 + 136 | 0) >> 2] | 0) + 8 | 0 | 0) | 0; + } + btTransform__operator__28btTransform_20const__29($5 + 68 | 0 | 0, $5 + 4 | 0 | 0) | 0; + HEAPF32[($4 + 36 | 0) >> 2] = Math_fround(0 | 0); + HEAPF32[($4 + 32 | 0) >> 2] = Math_fround(0 | 0); + HEAPF32[($4 + 28 | 0) >> 2] = Math_fround(0 | 0); + btVector3__setValue_28float_20const__2c_20float_20const__2c_20float_20const__29($5 + 132 | 0 | 0, $4 + 36 | 0 | 0, $4 + 32 | 0 | 0, $4 + 28 | 0 | 0); + HEAPF32[($4 + 24 | 0) >> 2] = Math_fround(0 | 0); + HEAPF32[($4 + 20 | 0) >> 2] = Math_fround(0 | 0); + HEAPF32[($4 + 16 | 0) >> 2] = Math_fround(0 | 0); + btVector3__setValue_28float_20const__2c_20float_20const__2c_20float_20const__29($5 + 148 | 0 | 0, $4 + 24 | 0 | 0, $4 + 20 | 0 | 0, $4 + 16 | 0 | 0); + HEAPF32[($5 + 228 | 0) >> 2] = Math_fround(HEAPF32[((HEAP32[($4 + 136 | 0) >> 2] | 0) + 100 | 0) >> 2]); + HEAPF32[($5 + 236 | 0) >> 2] = Math_fround(HEAPF32[((HEAP32[($4 + 136 | 0) >> 2] | 0) + 104 | 0) >> 2]); + HEAPF32[($5 + 240 | 0) >> 2] = Math_fround(HEAPF32[((HEAP32[($4 + 136 | 0) >> 2] | 0) + 108 | 0) >> 2]); + HEAPF32[($5 + 232 | 0) >> 2] = Math_fround(HEAPF32[((HEAP32[($4 + 136 | 0) >> 2] | 0) + 112 | 0) >> 2]); + FUNCTION_TABLE[HEAP32[((HEAP32[$5 >> 2] | 0) + 8 | 0) >> 2] | 0 | 0]($5, HEAP32[((HEAP32[($4 + 136 | 0) >> 2] | 0) + 72 | 0) >> 2] | 0); + $229 = HEAP32[(0 + 116128 | 0) >> 2] | 0; + HEAP32[(0 + 116128 | 0) >> 2] = $229 + 1 | 0; + HEAP32[($5 + 568 | 0) >> 2] = $229; + btRigidBody__setMassProps_28float_2c_20btVector3_20const__29($5 | 0, Math_fround(Math_fround(HEAPF32[(HEAP32[($4 + 136 | 0) >> 2] | 0) >> 2])), (HEAP32[($4 + 136 | 0) >> 2] | 0) + 76 | 0 | 0); + btRigidBody__updateInertiaTensor_28_29($5 | 0); + HEAP32[($5 + 564 | 0) >> 2] = 8; + btVector3__setZero_28_29($5 + 572 | 0 | 0); + btVector3__setZero_28_29($5 + 588 | 0 | 0); + operator__28float_20const__2c_20btVector3_20const__29($4 | 0, $5 + 404 | 0 | 0, $5 + 408 | 0 | 0); + $249 = $5 + 620 | 0; + i64toi32_i32$2 = $4; + i64toi32_i32$0 = HEAP32[$4 >> 2] | 0; + i64toi32_i32$1 = HEAP32[($4 + 4 | 0) >> 2] | 0; + $765 = i64toi32_i32$0; + i64toi32_i32$0 = $249; + HEAP32[i64toi32_i32$0 >> 2] = $765; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $251 = 8; + i64toi32_i32$2 = $4 + $251 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $775 = i64toi32_i32$1; + i64toi32_i32$1 = $249 + $251 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $775; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + btVector3__setZero_28_29($5 + 636 | 0 | 0); + btVector3__setZero_28_29($5 + 652 | 0 | 0); + __stack_pointer = $4 + 144 | 0; + return; + } + + function btAlignedAllocator_btTypedConstraint__2c_2016u___btAlignedAllocator_28_29($0) { + $0 = $0 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + return HEAP32[($3 + 12 | 0) >> 2] | 0 | 0; + } + + function btRigidBody__setDamping_28float_2c_20float_29($0, $1, $2) { + $0 = $0 | 0; + $1 = Math_fround($1); + $2 = Math_fround($2); + var $5 = 0, $6 = 0, wasm2js_i32$0 = 0, wasm2js_f32$0 = Math_fround(0); + $5 = __stack_pointer - 32 | 0; + __stack_pointer = $5; + HEAP32[($5 + 28 | 0) >> 2] = $0; + HEAPF32[($5 + 24 | 0) >> 2] = $1; + HEAPF32[($5 + 20 | 0) >> 2] = $2; + $6 = HEAP32[($5 + 28 | 0) >> 2] | 0; + HEAPF32[($5 + 16 | 0) >> 2] = Math_fround(0 | 0); + HEAPF32[($5 + 12 | 0) >> 2] = Math_fround(1.0); + (wasm2js_i32$0 = $6, wasm2js_f32$0 = Math_fround(HEAPF32[(float_20const__20btClamped_float__28float_20const__2c_20float_20const__2c_20float_20const__29($5 + 24 | 0 | 0, $5 + 16 | 0 | 0, $5 + 12 | 0 | 0) | 0) >> 2])), HEAPF32[(wasm2js_i32$0 + 504 | 0) >> 2] = wasm2js_f32$0; + HEAPF32[($5 + 8 | 0) >> 2] = Math_fround(0 | 0); + HEAPF32[($5 + 4 | 0) >> 2] = Math_fround(1.0); + (wasm2js_i32$0 = $6, wasm2js_f32$0 = Math_fround(HEAPF32[(float_20const__20btClamped_float__28float_20const__2c_20float_20const__2c_20float_20const__29($5 + 20 | 0 | 0, $5 + 8 | 0 | 0, $5 + 4 | 0 | 0) | 0) >> 2])), HEAPF32[(wasm2js_i32$0 + 508 | 0) >> 2] = wasm2js_f32$0; + __stack_pointer = $5 + 32 | 0; + return; + } + + function btRigidBody__setMassProps_28float_2c_20btVector3_20const__29($0, $1, $2) { + $0 = $0 | 0; + $1 = Math_fround($1); + $2 = $2 | 0; + var $5 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $6 = 0, i64toi32_i32$2 = 0, $33 = 0, $35 = 0, $56 = Math_fround(0), $73 = Math_fround(0), $90 = Math_fround(0), $111 = 0, $113 = 0, $191 = 0, $204 = 0, $42 = 0, $339 = 0, $352 = 0; + $5 = __stack_pointer - 64 | 0; + __stack_pointer = $5; + HEAP32[($5 + 60 | 0) >> 2] = $0; + HEAPF32[($5 + 56 | 0) >> 2] = $1; + HEAP32[($5 + 52 | 0) >> 2] = $2; + $6 = HEAP32[($5 + 60 | 0) >> 2] | 0; + label$1 : { + label$2 : { + if (!(Math_fround(HEAPF32[($5 + 56 | 0) >> 2]) == Math_fround(0 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($6 + 204 | 0) >> 2] = HEAP32[($6 + 204 | 0) >> 2] | 0 | 1 | 0; + HEAPF32[($6 + 404 | 0) >> 2] = Math_fround(0 | 0); + break label$1; + } + HEAP32[($6 + 204 | 0) >> 2] = (HEAP32[($6 + 204 | 0) >> 2] | 0) & -2 | 0; + HEAPF32[($6 + 404 | 0) >> 2] = Math_fround(Math_fround(1.0) / Math_fround(HEAPF32[($5 + 56 | 0) >> 2])); + } + operator__28float_20const__2c_20btVector3_20const__29($5 + 36 | 0 | 0, $5 + 56 | 0 | 0, $6 + 440 | 0 | 0); + $33 = $6 + 424 | 0; + i64toi32_i32$2 = $5; + i64toi32_i32$0 = HEAP32[($5 + 36 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($5 + 40 | 0) >> 2] | 0; + $191 = i64toi32_i32$0; + i64toi32_i32$0 = $33; + HEAP32[i64toi32_i32$0 >> 2] = $191; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $35 = 8; + i64toi32_i32$2 = ($5 + 36 | 0) + $35 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $204 = i64toi32_i32$1; + i64toi32_i32$1 = $33 + $35 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $204; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + $42 = $6 + 456 | 0; + label$3 : { + label$4 : { + if (!(Math_fround(HEAPF32[(btVector3__x_28_29_20const(HEAP32[($5 + 52 | 0) >> 2] | 0 | 0) | 0) >> 2]) != Math_fround(0 | 0) & 1 | 0)) { + break label$4 + } + $56 = Math_fround(Math_fround(1.0) / Math_fround(HEAPF32[(btVector3__x_28_29_20const(HEAP32[($5 + 52 | 0) >> 2] | 0 | 0) | 0) >> 2])); + break label$3; + } + $56 = Math_fround(0 | 0); + } + HEAPF32[($5 + 32 | 0) >> 2] = $56; + label$5 : { + label$6 : { + if (!(Math_fround(HEAPF32[(btVector3__y_28_29_20const(HEAP32[($5 + 52 | 0) >> 2] | 0 | 0) | 0) >> 2]) != Math_fround(0 | 0) & 1 | 0)) { + break label$6 + } + $73 = Math_fround(Math_fround(1.0) / Math_fround(HEAPF32[(btVector3__y_28_29_20const(HEAP32[($5 + 52 | 0) >> 2] | 0 | 0) | 0) >> 2])); + break label$5; + } + $73 = Math_fround(0 | 0); + } + HEAPF32[($5 + 28 | 0) >> 2] = $73; + label$7 : { + label$8 : { + if (!(Math_fround(HEAPF32[(btVector3__z_28_29_20const(HEAP32[($5 + 52 | 0) >> 2] | 0 | 0) | 0) >> 2]) != Math_fround(0 | 0) & 1 | 0)) { + break label$8 + } + $90 = Math_fround(Math_fround(1.0) / Math_fround(HEAPF32[(btVector3__z_28_29_20const(HEAP32[($5 + 52 | 0) >> 2] | 0 | 0) | 0) >> 2])); + break label$7; + } + $90 = Math_fround(0 | 0); + } + HEAPF32[($5 + 24 | 0) >> 2] = $90; + btVector3__setValue_28float_20const__2c_20float_20const__2c_20float_20const__29($42 | 0, $5 + 32 | 0 | 0, $5 + 28 | 0 | 0, $5 + 24 | 0 | 0); + operator__28btVector3_20const__2c_20float_20const__29($5 + 8 | 0 | 0, $6 + 408 | 0 | 0, $6 + 404 | 0 | 0); + $111 = $6 + 620 | 0; + i64toi32_i32$2 = $5; + i64toi32_i32$0 = HEAP32[($5 + 8 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($5 + 12 | 0) >> 2] | 0; + $339 = i64toi32_i32$0; + i64toi32_i32$0 = $111; + HEAP32[i64toi32_i32$0 >> 2] = $339; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $113 = 8; + i64toi32_i32$2 = ($5 + 8 | 0) + $113 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $352 = i64toi32_i32$1; + i64toi32_i32$1 = $111 + $113 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $352; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + __stack_pointer = $5 + 64 | 0; + return; + } + + function btRigidBody__updateInertiaTensor_28_29($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 160 | 0; + __stack_pointer = $3; + HEAP32[($3 + 156 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 156 | 0) >> 2] | 0; + btMatrix3x3__scaled_28btVector3_20const__29_20const($3 + 60 | 0 | 0, btTransform__getBasis_28_29($4 + 4 | 0 | 0) | 0 | 0, $4 + 456 | 0 | 0); + btMatrix3x3__transpose_28_29_20const($3 + 12 | 0 | 0, btTransform__getBasis_28_29($4 + 4 | 0 | 0) | 0 | 0); + operator__28btMatrix3x3_20const__2c_20btMatrix3x3_20const__29($3 + 108 | 0 | 0, $3 + 60 | 0 | 0, $3 + 12 | 0 | 0); + btMatrix3x3__operator__28btMatrix3x3_20const__29($4 + 324 | 0 | 0, $3 + 108 | 0 | 0) | 0; + __stack_pointer = $3 + 160 | 0; + return; + } + + function btRigidBody__btRigidBody_28float_2c_20btMotionState__2c_20btCollisionShape__2c_20btVector3_20const__29($0, $1, $2, $3, $4) { + $0 = $0 | 0; + $1 = Math_fround($1); + $2 = $2 | 0; + $3 = $3 | 0; + $4 = $4 | 0; + var $8 = 0, $7 = 0; + $7 = __stack_pointer - 176 | 0; + __stack_pointer = $7; + HEAP32[($7 + 172 | 0) >> 2] = $0; + HEAPF32[($7 + 168 | 0) >> 2] = $1; + HEAP32[($7 + 164 | 0) >> 2] = $2; + HEAP32[($7 + 160 | 0) >> 2] = $3; + HEAP32[($7 + 156 | 0) >> 2] = $4; + $8 = HEAP32[($7 + 172 | 0) >> 2] | 0; + btCollisionObject__btCollisionObject_28_29($8 | 0) | 0; + HEAP32[$8 >> 2] = 102668 + 8 | 0; + btMatrix3x3__btMatrix3x3_28_29($8 + 324 | 0 | 0) | 0; + btVector3__btVector3_28_29($8 + 372 | 0 | 0) | 0; + btVector3__btVector3_28_29($8 + 388 | 0 | 0) | 0; + btVector3__btVector3_28_29($8 + 408 | 0 | 0) | 0; + btVector3__btVector3_28_29($8 + 424 | 0 | 0) | 0; + btVector3__btVector3_28_29($8 + 440 | 0 | 0) | 0; + btVector3__btVector3_28_29($8 + 456 | 0 | 0) | 0; + btVector3__btVector3_28_29($8 + 472 | 0 | 0) | 0; + btVector3__btVector3_28_29($8 + 488 | 0 | 0) | 0; + btAlignedObjectArray_btTypedConstraint____btAlignedObjectArray_28_29($8 + 544 | 0 | 0) | 0; + btVector3__btVector3_28_29($8 + 572 | 0 | 0) | 0; + btVector3__btVector3_28_29($8 + 588 | 0 | 0) | 0; + btVector3__btVector3_28_29($8 + 604 | 0 | 0) | 0; + btVector3__btVector3_28_29($8 + 620 | 0 | 0) | 0; + btVector3__btVector3_28_29($8 + 636 | 0 | 0) | 0; + btVector3__btVector3_28_29($8 + 652 | 0 | 0) | 0; + btRigidBody__btRigidBodyConstructionInfo__btRigidBodyConstructionInfo_28float_2c_20btMotionState__2c_20btCollisionShape__2c_20btVector3_20const__29($7 + 12 | 0 | 0, Math_fround(Math_fround(HEAPF32[($7 + 168 | 0) >> 2])), HEAP32[($7 + 164 | 0) >> 2] | 0 | 0, HEAP32[($7 + 160 | 0) >> 2] | 0 | 0, HEAP32[($7 + 156 | 0) >> 2] | 0 | 0) | 0; + btRigidBody__setupRigidBody_28btRigidBody__btRigidBodyConstructionInfo_20const__29($8 | 0, $7 + 12 | 0 | 0); + __stack_pointer = $7 + 176 | 0; + return $8 | 0; + } + + function float_20const__20btClamped_float__28float_20const__2c_20float_20const__2c_20float_20const__29($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $5 = 0, $14 = 0, $23 = 0; + $5 = __stack_pointer - 16 | 0; + HEAP32[($5 + 12 | 0) >> 2] = $0; + HEAP32[($5 + 8 | 0) >> 2] = $1; + HEAP32[($5 + 4 | 0) >> 2] = $2; + label$1 : { + label$2 : { + if (!(Math_fround(HEAPF32[(HEAP32[($5 + 12 | 0) >> 2] | 0) >> 2]) < Math_fround(HEAPF32[(HEAP32[($5 + 8 | 0) >> 2] | 0) >> 2]) & 1 | 0)) { + break label$2 + } + $14 = HEAP32[($5 + 8 | 0) >> 2] | 0; + break label$1; + } + label$3 : { + label$4 : { + if (!(Math_fround(HEAPF32[(HEAP32[($5 + 4 | 0) >> 2] | 0) >> 2]) < Math_fround(HEAPF32[(HEAP32[($5 + 12 | 0) >> 2] | 0) >> 2]) & 1 | 0)) { + break label$4 + } + $23 = HEAP32[($5 + 4 | 0) >> 2] | 0; + break label$3; + } + $23 = HEAP32[($5 + 12 | 0) >> 2] | 0; + } + $14 = $23; + } + return $14 | 0; + } + + function btMatrix3x3__scaled_28btVector3_20const__29_20const($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $5 = 0, $6 = 0, wasm2js_i32$0 = 0, wasm2js_f32$0 = Math_fround(0); + $5 = __stack_pointer - 48 | 0; + __stack_pointer = $5; + HEAP32[($5 + 44 | 0) >> 2] = $0; + HEAP32[($5 + 40 | 0) >> 2] = $1; + HEAP32[($5 + 36 | 0) >> 2] = $2; + $6 = HEAP32[($5 + 40 | 0) >> 2] | 0; + (wasm2js_i32$0 = $5, wasm2js_f32$0 = Math_fround(Math_fround(HEAPF32[(btVector3__x_28_29_20const($6 | 0) | 0) >> 2]) * Math_fround(HEAPF32[(btVector3__x_28_29_20const(HEAP32[($5 + 36 | 0) >> 2] | 0 | 0) | 0) >> 2]))), HEAPF32[(wasm2js_i32$0 + 32 | 0) >> 2] = wasm2js_f32$0; + (wasm2js_i32$0 = $5, wasm2js_f32$0 = Math_fround(Math_fround(HEAPF32[(btVector3__y_28_29_20const($6 | 0) | 0) >> 2]) * Math_fround(HEAPF32[(btVector3__y_28_29_20const(HEAP32[($5 + 36 | 0) >> 2] | 0 | 0) | 0) >> 2]))), HEAPF32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_f32$0; + (wasm2js_i32$0 = $5, wasm2js_f32$0 = Math_fround(Math_fround(HEAPF32[(btVector3__z_28_29_20const($6 | 0) | 0) >> 2]) * Math_fround(HEAPF32[(btVector3__z_28_29_20const(HEAP32[($5 + 36 | 0) >> 2] | 0 | 0) | 0) >> 2]))), HEAPF32[(wasm2js_i32$0 + 24 | 0) >> 2] = wasm2js_f32$0; + (wasm2js_i32$0 = $5, wasm2js_f32$0 = Math_fround(Math_fround(HEAPF32[(btVector3__x_28_29_20const($6 + 16 | 0 | 0) | 0) >> 2]) * Math_fround(HEAPF32[(btVector3__x_28_29_20const(HEAP32[($5 + 36 | 0) >> 2] | 0 | 0) | 0) >> 2]))), HEAPF32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_f32$0; + (wasm2js_i32$0 = $5, wasm2js_f32$0 = Math_fround(Math_fround(HEAPF32[(btVector3__y_28_29_20const($6 + 16 | 0 | 0) | 0) >> 2]) * Math_fround(HEAPF32[(btVector3__y_28_29_20const(HEAP32[($5 + 36 | 0) >> 2] | 0 | 0) | 0) >> 2]))), HEAPF32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_f32$0; + (wasm2js_i32$0 = $5, wasm2js_f32$0 = Math_fround(Math_fround(HEAPF32[(btVector3__z_28_29_20const($6 + 16 | 0 | 0) | 0) >> 2]) * Math_fround(HEAPF32[(btVector3__z_28_29_20const(HEAP32[($5 + 36 | 0) >> 2] | 0 | 0) | 0) >> 2]))), HEAPF32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_f32$0; + (wasm2js_i32$0 = $5, wasm2js_f32$0 = Math_fround(Math_fround(HEAPF32[(btVector3__x_28_29_20const($6 + 32 | 0 | 0) | 0) >> 2]) * Math_fround(HEAPF32[(btVector3__x_28_29_20const(HEAP32[($5 + 36 | 0) >> 2] | 0 | 0) | 0) >> 2]))), HEAPF32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_f32$0; + (wasm2js_i32$0 = $5, wasm2js_f32$0 = Math_fround(Math_fround(HEAPF32[(btVector3__y_28_29_20const($6 + 32 | 0 | 0) | 0) >> 2]) * Math_fround(HEAPF32[(btVector3__y_28_29_20const(HEAP32[($5 + 36 | 0) >> 2] | 0 | 0) | 0) >> 2]))), HEAPF32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_f32$0; + (wasm2js_i32$0 = $5, wasm2js_f32$0 = Math_fround(Math_fround(HEAPF32[(btVector3__z_28_29_20const($6 + 32 | 0 | 0) | 0) >> 2]) * Math_fround(HEAPF32[(btVector3__z_28_29_20const(HEAP32[($5 + 36 | 0) >> 2] | 0 | 0) | 0) >> 2]))), HEAPF32[wasm2js_i32$0 >> 2] = wasm2js_f32$0; + btMatrix3x3__btMatrix3x3_28float_20const__2c_20float_20const__2c_20float_20const__2c_20float_20const__2c_20float_20const__2c_20float_20const__2c_20float_20const__2c_20float_20const__2c_20float_20const__29($0 | 0, $5 + 32 | 0 | 0, $5 + 28 | 0 | 0, $5 + 24 | 0 | 0, $5 + 20 | 0 | 0, $5 + 16 | 0 | 0, $5 + 12 | 0 | 0, $5 + 8 | 0 | 0, $5 + 4 | 0 | 0, $5 | 0) | 0; + __stack_pointer = $5 + 48 | 0; + return; + } + + function btRigidBody__predictIntegratedTransform_28float_2c_20btTransform__29($0, $1, $2) { + $0 = $0 | 0; + $1 = Math_fround($1); + $2 = $2 | 0; + var $5 = 0, $6 = 0; + $5 = __stack_pointer - 16 | 0; + __stack_pointer = $5; + HEAP32[($5 + 12 | 0) >> 2] = $0; + HEAPF32[($5 + 8 | 0) >> 2] = $1; + HEAP32[($5 + 4 | 0) >> 2] = $2; + $6 = HEAP32[($5 + 12 | 0) >> 2] | 0; + btTransformUtil__integrateTransform_28btTransform_20const__2c_20btVector3_20const__2c_20btVector3_20const__2c_20float_2c_20btTransform__29($6 + 4 | 0 | 0, $6 + 372 | 0 | 0, $6 + 388 | 0 | 0, Math_fround(Math_fround(HEAPF32[($5 + 8 | 0) >> 2])), HEAP32[($5 + 4 | 0) >> 2] | 0 | 0); + __stack_pointer = $5 + 16 | 0; + return; + } + + function btRigidBody__saveKinematicState_28float_29($0, $1) { + $0 = $0 | 0; + $1 = Math_fround($1); + var $5 = 0, i64toi32_i32$2 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $4 = 0, $19 = 0, $42 = 0, $44 = 0, $51 = 0, $53 = 0, $150 = 0, $160 = 0, $170 = 0, $180 = 0; + $4 = __stack_pointer - 48 | 0; + __stack_pointer = $4; + HEAP32[($4 + 44 | 0) >> 2] = $0; + HEAPF32[($4 + 40 | 0) >> 2] = $1; + $5 = HEAP32[($4 + 44 | 0) >> 2] | 0; + label$1 : { + if (!(Math_fround(HEAPF32[($4 + 40 | 0) >> 2]) != Math_fround(0 | 0) & 1 | 0)) { + break label$1 + } + label$2 : { + if (!((btRigidBody__getMotionState_28_29($5 | 0) | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$2 + } + $19 = btRigidBody__getMotionState_28_29($5 | 0) | 0; + FUNCTION_TABLE[HEAP32[((HEAP32[$19 >> 2] | 0) + 8 | 0) >> 2] | 0 | 0]($19, $5 + 4 | 0); + } + btVector3__btVector3_28_29($4 + 24 | 0 | 0) | 0; + btVector3__btVector3_28_29($4 + 8 | 0 | 0) | 0; + btTransformUtil__calculateVelocity_28btTransform_20const__2c_20btTransform_20const__2c_20float_2c_20btVector3__2c_20btVector3__29($5 + 68 | 0 | 0, $5 + 4 | 0 | 0, Math_fround(Math_fround(HEAPF32[($4 + 40 | 0) >> 2])), $5 + 372 | 0 | 0, $5 + 388 | 0 | 0); + $42 = $5 + 132 | 0; + i64toi32_i32$2 = $5 + 372 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $150 = i64toi32_i32$0; + i64toi32_i32$0 = $42; + HEAP32[i64toi32_i32$0 >> 2] = $150; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $44 = 8; + i64toi32_i32$2 = i64toi32_i32$2 + $44 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $160 = i64toi32_i32$1; + i64toi32_i32$1 = $42 + $44 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $160; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + $51 = $5 + 148 | 0; + i64toi32_i32$2 = $5 + 388 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $170 = i64toi32_i32$0; + i64toi32_i32$0 = $51; + HEAP32[i64toi32_i32$0 >> 2] = $170; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $53 = 8; + i64toi32_i32$2 = i64toi32_i32$2 + $53 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $180 = i64toi32_i32$1; + i64toi32_i32$1 = $51 + $53 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $180; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + btTransform__operator__28btTransform_20const__29($5 + 68 | 0 | 0, $5 + 4 | 0 | 0) | 0; + } + __stack_pointer = $4 + 48 | 0; + return; + } + + function btRigidBody__setGravity_28btVector3_20const__29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, $5 = 0, $23 = 0, $25 = 0, $33 = 0, $35 = 0, $12 = 0, $90 = 0, $103 = 0, $112 = 0, $122 = 0; + $4 = __stack_pointer - 32 | 0; + __stack_pointer = $4; + HEAP32[($4 + 28 | 0) >> 2] = $0; + HEAP32[($4 + 24 | 0) >> 2] = $1; + $5 = HEAP32[($4 + 28 | 0) >> 2] | 0; + label$1 : { + if (!(Math_fround(HEAPF32[($5 + 404 | 0) >> 2]) != Math_fround(0 | 0) & 1 | 0)) { + break label$1 + } + $12 = HEAP32[($4 + 24 | 0) >> 2] | 0; + HEAPF32[($4 + 4 | 0) >> 2] = Math_fround(Math_fround(1.0) / Math_fround(HEAPF32[($5 + 404 | 0) >> 2])); + operator__28btVector3_20const__2c_20float_20const__29($4 + 8 | 0 | 0, $12 | 0, $4 + 4 | 0 | 0); + $23 = $5 + 424 | 0; + i64toi32_i32$2 = $4; + i64toi32_i32$0 = HEAP32[($4 + 8 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($4 + 12 | 0) >> 2] | 0; + $90 = i64toi32_i32$0; + i64toi32_i32$0 = $23; + HEAP32[i64toi32_i32$0 >> 2] = $90; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $25 = 8; + i64toi32_i32$2 = ($4 + 8 | 0) + $25 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $103 = i64toi32_i32$1; + i64toi32_i32$1 = $23 + $25 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $103; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + } + $33 = $5 + 440 | 0; + i64toi32_i32$2 = HEAP32[($4 + 24 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $112 = i64toi32_i32$0; + i64toi32_i32$0 = $33; + HEAP32[i64toi32_i32$0 >> 2] = $112; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $35 = 8; + i64toi32_i32$2 = i64toi32_i32$2 + $35 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $122 = i64toi32_i32$1; + i64toi32_i32$1 = $33 + $35 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $122; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + __stack_pointer = $4 + 32 | 0; + return; + } + + function btRigidBody__applyDamping_28float_29($0, $1) { + $0 = $0 | 0; + $1 = Math_fround($1); + var $4 = 0, $5 = 0, wasm2js_i32$0 = 0, wasm2js_f32$0 = Math_fround(0); + $4 = __stack_pointer - 128 | 0; + __stack_pointer = $4; + HEAP32[($4 + 124 | 0) >> 2] = $0; + HEAPF32[($4 + 120 | 0) >> 2] = $1; + $5 = HEAP32[($4 + 124 | 0) >> 2] | 0; + (wasm2js_i32$0 = $4, wasm2js_f32$0 = Math_fround(btPow_28float_2c_20float_29(Math_fround(Math_fround(Math_fround(1.0) - Math_fround(HEAPF32[($5 + 504 | 0) >> 2]))), Math_fround(Math_fround(HEAPF32[($4 + 120 | 0) >> 2]))))), HEAPF32[(wasm2js_i32$0 + 116 | 0) >> 2] = wasm2js_f32$0; + btVector3__operator___28float_20const__29_1($5 + 372 | 0 | 0, $4 + 116 | 0 | 0) | 0; + (wasm2js_i32$0 = $4, wasm2js_f32$0 = Math_fround(btPow_28float_2c_20float_29(Math_fround(Math_fround(Math_fround(1.0) - Math_fround(HEAPF32[($5 + 508 | 0) >> 2]))), Math_fround(Math_fround(HEAPF32[($4 + 120 | 0) >> 2]))))), HEAPF32[(wasm2js_i32$0 + 112 | 0) >> 2] = wasm2js_f32$0; + btVector3__operator___28float_20const__29_1($5 + 388 | 0 | 0, $4 + 112 | 0 | 0) | 0; + label$1 : { + if (!((HEAPU8[($5 + 512 | 0) >> 0] | 0) & 1 | 0)) { + break label$1 + } + label$2 : { + if (!(Math_fround(btVector3__length2_28_29_20const($5 + 388 | 0 | 0)) < Math_fround(HEAPF32[($5 + 524 | 0) >> 2]) & 1 | 0)) { + break label$2 + } + if (!(Math_fround(btVector3__length2_28_29_20const($5 + 372 | 0 | 0)) < Math_fround(HEAPF32[($5 + 520 | 0) >> 2]) & 1 | 0)) { + break label$2 + } + btVector3__operator___28float_20const__29_1($5 + 388 | 0 | 0, $5 + 516 | 0 | 0) | 0; + btVector3__operator___28float_20const__29_1($5 + 372 | 0 | 0, $5 + 516 | 0 | 0) | 0; + } + (wasm2js_i32$0 = $4, wasm2js_f32$0 = Math_fround(btVector3__length_28_29_20const($5 + 372 | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 108 | 0) >> 2] = wasm2js_f32$0; + label$3 : { + if (!(Math_fround(HEAPF32[($4 + 108 | 0) >> 2]) < Math_fround(HEAPF32[($5 + 504 | 0) >> 2]) & 1 | 0)) { + break label$3 + } + HEAPF32[($4 + 104 | 0) >> 2] = Math_fround(.004999999888241291); + label$4 : { + label$5 : { + if (!(Math_fround(HEAPF32[($4 + 108 | 0) >> 2]) > Math_fround(HEAPF32[($4 + 104 | 0) >> 2]) & 1 | 0)) { + break label$5 + } + btVector3__normalized_28_29_20const($4 + 88 | 0 | 0, $5 + 372 | 0 | 0); + operator__28btVector3_20const__2c_20float_20const__29($4 + 72 | 0 | 0, $4 + 88 | 0 | 0, $4 + 104 | 0 | 0); + btVector3__operator___28btVector3_20const__29($5 + 372 | 0 | 0, $4 + 72 | 0 | 0) | 0; + break label$4; + } + HEAPF32[($4 + 68 | 0) >> 2] = Math_fround(0 | 0); + HEAPF32[($4 + 64 | 0) >> 2] = Math_fround(0 | 0); + HEAPF32[($4 + 60 | 0) >> 2] = Math_fround(0 | 0); + btVector3__setValue_28float_20const__2c_20float_20const__2c_20float_20const__29($5 + 372 | 0 | 0, $4 + 68 | 0 | 0, $4 + 64 | 0 | 0, $4 + 60 | 0 | 0); + } + } + (wasm2js_i32$0 = $4, wasm2js_f32$0 = Math_fround(btVector3__length_28_29_20const($5 + 388 | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 56 | 0) >> 2] = wasm2js_f32$0; + label$6 : { + if (!(Math_fround(HEAPF32[($4 + 56 | 0) >> 2]) < Math_fround(HEAPF32[($5 + 508 | 0) >> 2]) & 1 | 0)) { + break label$6 + } + HEAPF32[($4 + 52 | 0) >> 2] = Math_fround(.004999999888241291); + label$7 : { + label$8 : { + if (!(Math_fround(HEAPF32[($4 + 56 | 0) >> 2]) > Math_fround(HEAPF32[($4 + 52 | 0) >> 2]) & 1 | 0)) { + break label$8 + } + btVector3__normalized_28_29_20const($4 + 36 | 0 | 0, $5 + 388 | 0 | 0); + operator__28btVector3_20const__2c_20float_20const__29($4 + 20 | 0 | 0, $4 + 36 | 0 | 0, $4 + 52 | 0 | 0); + btVector3__operator___28btVector3_20const__29($5 + 388 | 0 | 0, $4 + 20 | 0 | 0) | 0; + break label$7; + } + HEAPF32[($4 + 16 | 0) >> 2] = Math_fround(0 | 0); + HEAPF32[($4 + 12 | 0) >> 2] = Math_fround(0 | 0); + HEAPF32[($4 + 8 | 0) >> 2] = Math_fround(0 | 0); + btVector3__setValue_28float_20const__2c_20float_20const__2c_20float_20const__29($5 + 388 | 0 | 0, $4 + 16 | 0 | 0, $4 + 12 | 0 | 0, $4 + 8 | 0 | 0); + } + } + } + __stack_pointer = $4 + 128 | 0; + return; + } + + function btPow_28float_2c_20float_29($0, $1) { + $0 = Math_fround($0); + $1 = Math_fround($1); + var $4 = 0, $7 = Math_fround(0); + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAPF32[($4 + 12 | 0) >> 2] = $0; + HEAPF32[($4 + 8 | 0) >> 2] = $1; + $7 = Math_fround(powf(Math_fround(Math_fround(HEAPF32[($4 + 12 | 0) >> 2])), Math_fround(Math_fround(HEAPF32[($4 + 8 | 0) >> 2])))); + __stack_pointer = $4 + 16 | 0; + return Math_fround($7); + } + + function btRigidBody__applyGravity_28_29($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + label$1 : { + label$2 : { + if (!((btCollisionObject__isStaticOrKinematicObject_28_29_20const($4 | 0) | 0) & 1 | 0)) { + break label$2 + } + break label$1; + } + btRigidBody__applyCentralForce_28btVector3_20const__29($4 | 0, $4 + 424 | 0 | 0); + } + __stack_pointer = $3 + 16 | 0; + return; + } + + function btRigidBody__proceedToTransform_28btTransform_20const__29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0; + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + btRigidBody__setCenterOfMassTransform_28btTransform_20const__29(HEAP32[($4 + 12 | 0) >> 2] | 0 | 0, HEAP32[($4 + 8 | 0) >> 2] | 0 | 0); + __stack_pointer = $4 + 16 | 0; + return; + } + + function btRigidBody__setCenterOfMassTransform_28btTransform_20const__29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var i64toi32_i32$2 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $5 = 0, $4 = 0, $18 = 0, $20 = 0, $26 = 0, $28 = 0, $80 = 0, $90 = 0, $99 = 0, $109 = 0; + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; + label$1 : { + label$2 : { + if (!((btCollisionObject__isKinematicObject_28_29_20const($5 | 0) | 0) & 1 | 0)) { + break label$2 + } + btTransform__operator__28btTransform_20const__29($5 + 68 | 0 | 0, $5 + 4 | 0 | 0) | 0; + break label$1; + } + btTransform__operator__28btTransform_20const__29($5 + 68 | 0 | 0, HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) | 0; + } + $18 = $5 + 132 | 0; + i64toi32_i32$2 = btRigidBody__getLinearVelocity_28_29_20const($5 | 0) | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $80 = i64toi32_i32$0; + i64toi32_i32$0 = $18; + HEAP32[i64toi32_i32$0 >> 2] = $80; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $20 = 8; + i64toi32_i32$2 = i64toi32_i32$2 + $20 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $90 = i64toi32_i32$1; + i64toi32_i32$1 = $18 + $20 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $90; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + $26 = $5 + 148 | 0; + i64toi32_i32$2 = btRigidBody__getAngularVelocity_28_29_20const($5 | 0) | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $99 = i64toi32_i32$0; + i64toi32_i32$0 = $26; + HEAP32[i64toi32_i32$0 >> 2] = $99; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $28 = 8; + i64toi32_i32$2 = i64toi32_i32$2 + $28 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $109 = i64toi32_i32$1; + i64toi32_i32$1 = $26 + $28 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $109; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + btTransform__operator__28btTransform_20const__29($5 + 4 | 0 | 0, HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) | 0; + btRigidBody__updateInertiaTensor_28_29($5 | 0); + __stack_pointer = $4 + 16 | 0; + return; + } + + function btRigidBody__getLocalInertia_28_29_20const($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, i64toi32_i32$1 = 0, $7 = 0, $8 = 0, $32 = Math_fround(0), $53 = Math_fround(0), $74 = Math_fround(0), $5 = 0, $115 = 0, $119 = 0; + $4 = __stack_pointer - 48 | 0; + __stack_pointer = $4; + HEAP32[($4 + 44 | 0) >> 2] = $1; + $5 = HEAP32[($4 + 44 | 0) >> 2] | 0; + btVector3__btVector3_28_29($0 | 0) | 0; + $7 = $5 + 456 | 0; + $8 = 8; + i64toi32_i32$2 = $7 + $8 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $115 = i64toi32_i32$0; + i64toi32_i32$0 = ($4 + 24 | 0) + $8 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $115; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$2 = $7; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $119 = i64toi32_i32$1; + i64toi32_i32$1 = $4; + HEAP32[($4 + 24 | 0) >> 2] = $119; + HEAP32[($4 + 28 | 0) >> 2] = i64toi32_i32$0; + label$1 : { + label$2 : { + if (!(Math_fround(HEAPF32[(btVector3__x_28_29_20const($4 + 24 | 0 | 0) | 0) >> 2]) != Math_fround(0 | 0) & 1 | 0)) { + break label$2 + } + $32 = Math_fround(Math_fround(1.0) / Math_fround(HEAPF32[(btVector3__x_28_29_20const($4 + 24 | 0 | 0) | 0) >> 2])); + break label$1; + } + $32 = Math_fround(0 | 0); + } + HEAPF32[($4 + 20 | 0) >> 2] = $32; + label$3 : { + label$4 : { + if (!(Math_fround(HEAPF32[(btVector3__y_28_29_20const($4 + 24 | 0 | 0) | 0) >> 2]) != Math_fround(0 | 0) & 1 | 0)) { + break label$4 + } + $53 = Math_fround(Math_fround(1.0) / Math_fround(HEAPF32[(btVector3__y_28_29_20const($4 + 24 | 0 | 0) | 0) >> 2])); + break label$3; + } + $53 = Math_fround(0 | 0); + } + HEAPF32[($4 + 16 | 0) >> 2] = $53; + label$5 : { + label$6 : { + if (!(Math_fround(HEAPF32[(btVector3__z_28_29_20const($4 + 24 | 0 | 0) | 0) >> 2]) != Math_fround(0 | 0) & 1 | 0)) { + break label$6 + } + $74 = Math_fround(Math_fround(1.0) / Math_fround(HEAPF32[(btVector3__z_28_29_20const($4 + 24 | 0 | 0) | 0) >> 2])); + break label$5; + } + $74 = Math_fround(0 | 0); + } + HEAPF32[($4 + 12 | 0) >> 2] = $74; + btVector3__setValue_28float_20const__2c_20float_20const__2c_20float_20const__29($0 | 0, $4 + 20 | 0 | 0, $4 + 16 | 0 | 0, $4 + 12 | 0 | 0); + __stack_pointer = $4 + 48 | 0; + return; + } + + function btRigidBody__computeGyroscopicForceExplicit_28float_29_20const($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = Math_fround($2); + var $5 = 0, $6 = 0, wasm2js_i32$0 = 0, wasm2js_f32$0 = Math_fround(0); + $5 = __stack_pointer - 192 | 0; + __stack_pointer = $5; + HEAP32[($5 + 188 | 0) >> 2] = $1; + HEAPF32[($5 + 184 | 0) >> 2] = $2; + $6 = HEAP32[($5 + 188 | 0) >> 2] | 0; + btRigidBody__getLocalInertia_28_29_20const($5 + 168 | 0 | 0, $6 | 0); + btMatrix3x3__scaled_28btVector3_20const__29_20const($5 + 72 | 0 | 0, btTransform__getBasis_28_29_20const(btCollisionObject__getWorldTransform_28_29_20const($6 | 0) | 0 | 0) | 0 | 0, $5 + 168 | 0 | 0); + btMatrix3x3__transpose_28_29_20const($5 + 24 | 0 | 0, btTransform__getBasis_28_29_20const(btCollisionObject__getWorldTransform_28_29_20const($6 | 0) | 0 | 0) | 0 | 0); + operator__28btMatrix3x3_20const__2c_20btMatrix3x3_20const__29($5 + 120 | 0 | 0, $5 + 72 | 0 | 0, $5 + 24 | 0 | 0); + operator__28btMatrix3x3_20const__2c_20btVector3_20const__29($5 + 8 | 0 | 0, $5 + 120 | 0 | 0, btRigidBody__getAngularVelocity_28_29_20const($6 | 0) | 0 | 0); + btVector3__cross_28btVector3_20const__29_20const($0 | 0, btRigidBody__getAngularVelocity_28_29_20const($6 | 0) | 0 | 0, $5 + 8 | 0 | 0); + (wasm2js_i32$0 = $5, wasm2js_f32$0 = Math_fround(btVector3__length2_28_29_20const($0 | 0))), HEAPF32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_f32$0; + label$1 : { + if (!(Math_fround(HEAPF32[($5 + 4 | 0) >> 2]) > Math_fround(Math_fround(HEAPF32[($5 + 184 | 0) >> 2]) * Math_fround(HEAPF32[($5 + 184 | 0) >> 2])) & 1 | 0)) { + break label$1 + } + (wasm2js_i32$0 = $5, wasm2js_f32$0 = Math_fround(Math_fround(Math_fround(1.0) / Math_fround(btSqrt_28float_29(Math_fround(Math_fround(HEAPF32[($5 + 4 | 0) >> 2]))))) * Math_fround(HEAPF32[($5 + 184 | 0) >> 2]))), HEAPF32[wasm2js_i32$0 >> 2] = wasm2js_f32$0; + btVector3__operator___28float_20const__29_1($0 | 0, $5 | 0) | 0; + } + __stack_pointer = $5 + 192 | 0; + return; + } + + function btRigidBody__computeGyroscopicImpulseImplicit_Body_28float_29_20const($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = Math_fround($2); + var $5 = 0, i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, i64toi32_i32$1 = 0, $6 = 0, $10 = 0, $11 = 0, $217 = 0, $270 = 0, $274 = 0, $43 = 0, $53 = 0, $629 = 0, $633 = 0; + $5 = __stack_pointer - 560 | 0; + __stack_pointer = $5; + HEAP32[($5 + 556 | 0) >> 2] = $1; + HEAPF32[($5 + 552 | 0) >> 2] = $2; + $6 = HEAP32[($5 + 556 | 0) >> 2] | 0; + btRigidBody__getLocalInertia_28_29_20const($5 + 536 | 0 | 0, $6 | 0); + $10 = btRigidBody__getAngularVelocity_28_29_20const($6 | 0) | 0; + $11 = 8; + i64toi32_i32$2 = $10 + $11 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $270 = i64toi32_i32$0; + i64toi32_i32$0 = ($5 + 520 | 0) + $11 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $270; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$2 = $10; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $274 = i64toi32_i32$1; + i64toi32_i32$1 = $5; + HEAP32[($5 + 520 | 0) >> 2] = $274; + HEAP32[($5 + 524 | 0) >> 2] = i64toi32_i32$0; + btTransform__getRotation_28_29_20const($5 + 504 | 0 | 0, btCollisionObject__getWorldTransform_28_29_20const($6 | 0) | 0 | 0); + btQuaternion__inverse_28_29_20const($5 + 472 | 0 | 0, $5 + 504 | 0 | 0); + quatRotate_28btQuaternion_20const__2c_20btVector3_20const__29($5 + 488 | 0 | 0, $5 + 472 | 0 | 0, $5 + 520 | 0 | 0); + btMatrix3x3__btMatrix3x3_28_29($5 + 424 | 0 | 0) | 0; + $43 = btVector3__x_28_29_20const($5 + 536 | 0 | 0) | 0; + HEAPF32[($5 + 420 | 0) >> 2] = Math_fround(0 | 0); + HEAPF32[($5 + 416 | 0) >> 2] = Math_fround(0 | 0); + HEAPF32[($5 + 412 | 0) >> 2] = Math_fround(0 | 0); + $53 = btVector3__y_28_29_20const($5 + 536 | 0 | 0) | 0; + HEAPF32[($5 + 408 | 0) >> 2] = Math_fround(0 | 0); + HEAPF32[($5 + 404 | 0) >> 2] = Math_fround(0 | 0); + HEAPF32[($5 + 400 | 0) >> 2] = Math_fround(0 | 0); + btMatrix3x3__setValue_28float_20const__2c_20float_20const__2c_20float_20const__2c_20float_20const__2c_20float_20const__2c_20float_20const__2c_20float_20const__2c_20float_20const__2c_20float_20const__29($5 + 424 | 0 | 0, $43 | 0, $5 + 420 | 0 | 0, $5 + 416 | 0 | 0, $5 + 412 | 0 | 0, $53 | 0, $5 + 408 | 0 | 0, $5 + 404 | 0 | 0, $5 + 400 | 0 | 0, btVector3__z_28_29_20const($5 + 536 | 0 | 0) | 0 | 0); + operator__28btMatrix3x3_20const__2c_20btVector3_20const__29($5 + 384 | 0 | 0, $5 + 424 | 0 | 0, $5 + 488 | 0 | 0); + btVector3__cross_28btVector3_20const__29_20const($5 + 352 | 0 | 0, $5 + 488 | 0 | 0, $5 + 384 | 0 | 0); + operator__28float_20const__2c_20btVector3_20const__29($5 + 368 | 0 | 0, $5 + 552 | 0 | 0, $5 + 352 | 0 | 0); + btMatrix3x3__btMatrix3x3_28_29($5 + 304 | 0 | 0) | 0; + btVector3__getSkewSymmetricMatrix_28btVector3__2c_20btVector3__2c_20btVector3__29_20const($5 + 488 | 0 | 0, btMatrix3x3__operator_5b_5d_28int_29($5 + 304 | 0 | 0, 0 | 0) | 0 | 0, btMatrix3x3__operator_5b_5d_28int_29($5 + 304 | 0 | 0, 1 | 0) | 0 | 0, btMatrix3x3__operator_5b_5d_28int_29($5 + 304 | 0 | 0, 2 | 0) | 0 | 0); + operator__28btMatrix3x3_20const__2c_20btVector3_20const__29($5 + 288 | 0 | 0, $5 + 424 | 0 | 0, $5 + 488 | 0 | 0); + btMatrix3x3__btMatrix3x3_28_29($5 + 240 | 0 | 0) | 0; + btVector3__getSkewSymmetricMatrix_28btVector3__2c_20btVector3__2c_20btVector3__29_20const($5 + 288 | 0 | 0, btMatrix3x3__operator_5b_5d_28int_29($5 + 240 | 0 | 0, 0 | 0) | 0 | 0, btMatrix3x3__operator_5b_5d_28int_29($5 + 240 | 0 | 0, 1 | 0) | 0 | 0, btMatrix3x3__operator_5b_5d_28int_29($5 + 240 | 0 | 0, 2 | 0) | 0 | 0); + operator__28btMatrix3x3_20const__2c_20btMatrix3x3_20const__29($5 + 48 | 0 | 0, $5 + 304 | 0 | 0, $5 + 424 | 0 | 0); + operator__28btMatrix3x3_20const__2c_20btMatrix3x3_20const__29_1($5 + 96 | 0 | 0, $5 + 48 | 0 | 0, $5 + 240 | 0 | 0); + operator__28btMatrix3x3_20const__2c_20float_20const__29($5 + 144 | 0 | 0, $5 + 96 | 0 | 0, $5 + 552 | 0 | 0); + operator__28btMatrix3x3_20const__2c_20btMatrix3x3_20const__29_2($5 + 192 | 0 | 0, $5 + 424 | 0 | 0, $5 + 144 | 0 | 0); + btMatrix3x3__solve33_28btVector3_20const__29_20const($5 + 32 | 0 | 0, $5 + 192 | 0 | 0, $5 + 368 | 0 | 0); + operator__28btVector3_20const__2c_20btVector3_20const__29($5 + 16 | 0 | 0, $5 + 488 | 0 | 0, $5 + 32 | 0 | 0); + $217 = 8; + i64toi32_i32$2 = ($5 + 16 | 0) + $217 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $629 = i64toi32_i32$0; + i64toi32_i32$0 = ($5 + 488 | 0) + $217 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $629; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$2 = $5; + i64toi32_i32$1 = HEAP32[($5 + 16 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($5 + 20 | 0) >> 2] | 0; + $633 = i64toi32_i32$1; + i64toi32_i32$1 = $5; + HEAP32[($5 + 488 | 0) >> 2] = $633; + HEAP32[($5 + 492 | 0) >> 2] = i64toi32_i32$0; + quatRotate_28btQuaternion_20const__2c_20btVector3_20const__29($5 | 0, $5 + 504 | 0 | 0, $5 + 488 | 0 | 0); + operator__28btVector3_20const__2c_20btVector3_20const__29($0 | 0, $5 | 0, $5 + 520 | 0 | 0); + __stack_pointer = $5 + 560 | 0; + return; + } + + function operator__28btMatrix3x3_20const__2c_20btMatrix3x3_20const__29_1($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $5 = 0, wasm2js_i32$0 = 0, wasm2js_f32$0 = Math_fround(0); + $5 = __stack_pointer - 48 | 0; + __stack_pointer = $5; + HEAP32[($5 + 44 | 0) >> 2] = $0; + HEAP32[($5 + 40 | 0) >> 2] = $1; + HEAP32[($5 + 36 | 0) >> 2] = $2; + (wasm2js_i32$0 = $5, wasm2js_f32$0 = Math_fround(Math_fround(HEAPF32[(btVector3__operator_20float_20const__28_29_20const(btMatrix3x3__operator_5b_5d_28int_29_20const(HEAP32[($5 + 40 | 0) >> 2] | 0 | 0, 0 | 0) | 0 | 0) | 0) >> 2]) - Math_fround(HEAPF32[(btVector3__operator_20float_20const__28_29_20const(btMatrix3x3__operator_5b_5d_28int_29_20const(HEAP32[($5 + 36 | 0) >> 2] | 0 | 0, 0 | 0) | 0 | 0) | 0) >> 2]))), HEAPF32[(wasm2js_i32$0 + 32 | 0) >> 2] = wasm2js_f32$0; + (wasm2js_i32$0 = $5, wasm2js_f32$0 = Math_fround(Math_fround(HEAPF32[((btVector3__operator_20float_20const__28_29_20const(btMatrix3x3__operator_5b_5d_28int_29_20const(HEAP32[($5 + 40 | 0) >> 2] | 0 | 0, 0 | 0) | 0 | 0) | 0) + 4 | 0) >> 2]) - Math_fround(HEAPF32[((btVector3__operator_20float_20const__28_29_20const(btMatrix3x3__operator_5b_5d_28int_29_20const(HEAP32[($5 + 36 | 0) >> 2] | 0 | 0, 0 | 0) | 0 | 0) | 0) + 4 | 0) >> 2]))), HEAPF32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_f32$0; + (wasm2js_i32$0 = $5, wasm2js_f32$0 = Math_fround(Math_fround(HEAPF32[((btVector3__operator_20float_20const__28_29_20const(btMatrix3x3__operator_5b_5d_28int_29_20const(HEAP32[($5 + 40 | 0) >> 2] | 0 | 0, 0 | 0) | 0 | 0) | 0) + 8 | 0) >> 2]) - Math_fround(HEAPF32[((btVector3__operator_20float_20const__28_29_20const(btMatrix3x3__operator_5b_5d_28int_29_20const(HEAP32[($5 + 36 | 0) >> 2] | 0 | 0, 0 | 0) | 0 | 0) | 0) + 8 | 0) >> 2]))), HEAPF32[(wasm2js_i32$0 + 24 | 0) >> 2] = wasm2js_f32$0; + (wasm2js_i32$0 = $5, wasm2js_f32$0 = Math_fround(Math_fround(HEAPF32[(btVector3__operator_20float_20const__28_29_20const(btMatrix3x3__operator_5b_5d_28int_29_20const(HEAP32[($5 + 40 | 0) >> 2] | 0 | 0, 1 | 0) | 0 | 0) | 0) >> 2]) - Math_fround(HEAPF32[(btVector3__operator_20float_20const__28_29_20const(btMatrix3x3__operator_5b_5d_28int_29_20const(HEAP32[($5 + 36 | 0) >> 2] | 0 | 0, 1 | 0) | 0 | 0) | 0) >> 2]))), HEAPF32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_f32$0; + (wasm2js_i32$0 = $5, wasm2js_f32$0 = Math_fround(Math_fround(HEAPF32[((btVector3__operator_20float_20const__28_29_20const(btMatrix3x3__operator_5b_5d_28int_29_20const(HEAP32[($5 + 40 | 0) >> 2] | 0 | 0, 1 | 0) | 0 | 0) | 0) + 4 | 0) >> 2]) - Math_fround(HEAPF32[((btVector3__operator_20float_20const__28_29_20const(btMatrix3x3__operator_5b_5d_28int_29_20const(HEAP32[($5 + 36 | 0) >> 2] | 0 | 0, 1 | 0) | 0 | 0) | 0) + 4 | 0) >> 2]))), HEAPF32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_f32$0; + (wasm2js_i32$0 = $5, wasm2js_f32$0 = Math_fround(Math_fround(HEAPF32[((btVector3__operator_20float_20const__28_29_20const(btMatrix3x3__operator_5b_5d_28int_29_20const(HEAP32[($5 + 40 | 0) >> 2] | 0 | 0, 1 | 0) | 0 | 0) | 0) + 8 | 0) >> 2]) - Math_fround(HEAPF32[((btVector3__operator_20float_20const__28_29_20const(btMatrix3x3__operator_5b_5d_28int_29_20const(HEAP32[($5 + 36 | 0) >> 2] | 0 | 0, 1 | 0) | 0 | 0) | 0) + 8 | 0) >> 2]))), HEAPF32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_f32$0; + (wasm2js_i32$0 = $5, wasm2js_f32$0 = Math_fround(Math_fround(HEAPF32[(btVector3__operator_20float_20const__28_29_20const(btMatrix3x3__operator_5b_5d_28int_29_20const(HEAP32[($5 + 40 | 0) >> 2] | 0 | 0, 2 | 0) | 0 | 0) | 0) >> 2]) - Math_fround(HEAPF32[(btVector3__operator_20float_20const__28_29_20const(btMatrix3x3__operator_5b_5d_28int_29_20const(HEAP32[($5 + 36 | 0) >> 2] | 0 | 0, 2 | 0) | 0 | 0) | 0) >> 2]))), HEAPF32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_f32$0; + (wasm2js_i32$0 = $5, wasm2js_f32$0 = Math_fround(Math_fround(HEAPF32[((btVector3__operator_20float_20const__28_29_20const(btMatrix3x3__operator_5b_5d_28int_29_20const(HEAP32[($5 + 40 | 0) >> 2] | 0 | 0, 2 | 0) | 0 | 0) | 0) + 4 | 0) >> 2]) - Math_fround(HEAPF32[((btVector3__operator_20float_20const__28_29_20const(btMatrix3x3__operator_5b_5d_28int_29_20const(HEAP32[($5 + 36 | 0) >> 2] | 0 | 0, 2 | 0) | 0 | 0) | 0) + 4 | 0) >> 2]))), HEAPF32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_f32$0; + (wasm2js_i32$0 = $5, wasm2js_f32$0 = Math_fround(Math_fround(HEAPF32[((btVector3__operator_20float_20const__28_29_20const(btMatrix3x3__operator_5b_5d_28int_29_20const(HEAP32[($5 + 40 | 0) >> 2] | 0 | 0, 2 | 0) | 0 | 0) | 0) + 8 | 0) >> 2]) - Math_fround(HEAPF32[((btVector3__operator_20float_20const__28_29_20const(btMatrix3x3__operator_5b_5d_28int_29_20const(HEAP32[($5 + 36 | 0) >> 2] | 0 | 0, 2 | 0) | 0 | 0) | 0) + 8 | 0) >> 2]))), HEAPF32[wasm2js_i32$0 >> 2] = wasm2js_f32$0; + btMatrix3x3__btMatrix3x3_28float_20const__2c_20float_20const__2c_20float_20const__2c_20float_20const__2c_20float_20const__2c_20float_20const__2c_20float_20const__2c_20float_20const__2c_20float_20const__29($0 | 0, $5 + 32 | 0 | 0, $5 + 28 | 0 | 0, $5 + 24 | 0 | 0, $5 + 20 | 0 | 0, $5 + 16 | 0 | 0, $5 + 12 | 0 | 0, $5 + 8 | 0 | 0, $5 + 4 | 0 | 0, $5 | 0) | 0; + __stack_pointer = $5 + 48 | 0; + return; + } + + function operator__28btMatrix3x3_20const__2c_20float_20const__29($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $5 = 0, wasm2js_i32$0 = 0, wasm2js_f32$0 = Math_fround(0); + $5 = __stack_pointer - 48 | 0; + __stack_pointer = $5; + HEAP32[($5 + 44 | 0) >> 2] = $0; + HEAP32[($5 + 40 | 0) >> 2] = $1; + HEAP32[($5 + 36 | 0) >> 2] = $2; + (wasm2js_i32$0 = $5, wasm2js_f32$0 = Math_fround(Math_fround(HEAPF32[(btVector3__x_28_29_20const(btMatrix3x3__operator_5b_5d_28int_29_20const(HEAP32[($5 + 40 | 0) >> 2] | 0 | 0, 0 | 0) | 0 | 0) | 0) >> 2]) * Math_fround(HEAPF32[(HEAP32[($5 + 36 | 0) >> 2] | 0) >> 2]))), HEAPF32[(wasm2js_i32$0 + 32 | 0) >> 2] = wasm2js_f32$0; + (wasm2js_i32$0 = $5, wasm2js_f32$0 = Math_fround(Math_fround(HEAPF32[(btVector3__y_28_29_20const(btMatrix3x3__operator_5b_5d_28int_29_20const(HEAP32[($5 + 40 | 0) >> 2] | 0 | 0, 0 | 0) | 0 | 0) | 0) >> 2]) * Math_fround(HEAPF32[(HEAP32[($5 + 36 | 0) >> 2] | 0) >> 2]))), HEAPF32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_f32$0; + (wasm2js_i32$0 = $5, wasm2js_f32$0 = Math_fround(Math_fround(HEAPF32[(btVector3__z_28_29_20const(btMatrix3x3__operator_5b_5d_28int_29_20const(HEAP32[($5 + 40 | 0) >> 2] | 0 | 0, 0 | 0) | 0 | 0) | 0) >> 2]) * Math_fround(HEAPF32[(HEAP32[($5 + 36 | 0) >> 2] | 0) >> 2]))), HEAPF32[(wasm2js_i32$0 + 24 | 0) >> 2] = wasm2js_f32$0; + (wasm2js_i32$0 = $5, wasm2js_f32$0 = Math_fround(Math_fround(HEAPF32[(btVector3__x_28_29_20const(btMatrix3x3__operator_5b_5d_28int_29_20const(HEAP32[($5 + 40 | 0) >> 2] | 0 | 0, 1 | 0) | 0 | 0) | 0) >> 2]) * Math_fround(HEAPF32[(HEAP32[($5 + 36 | 0) >> 2] | 0) >> 2]))), HEAPF32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_f32$0; + (wasm2js_i32$0 = $5, wasm2js_f32$0 = Math_fround(Math_fround(HEAPF32[(btVector3__y_28_29_20const(btMatrix3x3__operator_5b_5d_28int_29_20const(HEAP32[($5 + 40 | 0) >> 2] | 0 | 0, 1 | 0) | 0 | 0) | 0) >> 2]) * Math_fround(HEAPF32[(HEAP32[($5 + 36 | 0) >> 2] | 0) >> 2]))), HEAPF32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_f32$0; + (wasm2js_i32$0 = $5, wasm2js_f32$0 = Math_fround(Math_fround(HEAPF32[(btVector3__z_28_29_20const(btMatrix3x3__operator_5b_5d_28int_29_20const(HEAP32[($5 + 40 | 0) >> 2] | 0 | 0, 1 | 0) | 0 | 0) | 0) >> 2]) * Math_fround(HEAPF32[(HEAP32[($5 + 36 | 0) >> 2] | 0) >> 2]))), HEAPF32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_f32$0; + (wasm2js_i32$0 = $5, wasm2js_f32$0 = Math_fround(Math_fround(HEAPF32[(btVector3__x_28_29_20const(btMatrix3x3__operator_5b_5d_28int_29_20const(HEAP32[($5 + 40 | 0) >> 2] | 0 | 0, 2 | 0) | 0 | 0) | 0) >> 2]) * Math_fround(HEAPF32[(HEAP32[($5 + 36 | 0) >> 2] | 0) >> 2]))), HEAPF32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_f32$0; + (wasm2js_i32$0 = $5, wasm2js_f32$0 = Math_fround(Math_fround(HEAPF32[(btVector3__y_28_29_20const(btMatrix3x3__operator_5b_5d_28int_29_20const(HEAP32[($5 + 40 | 0) >> 2] | 0 | 0, 2 | 0) | 0 | 0) | 0) >> 2]) * Math_fround(HEAPF32[(HEAP32[($5 + 36 | 0) >> 2] | 0) >> 2]))), HEAPF32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_f32$0; + (wasm2js_i32$0 = $5, wasm2js_f32$0 = Math_fround(Math_fround(HEAPF32[(btVector3__z_28_29_20const(btMatrix3x3__operator_5b_5d_28int_29_20const(HEAP32[($5 + 40 | 0) >> 2] | 0 | 0, 2 | 0) | 0 | 0) | 0) >> 2]) * Math_fround(HEAPF32[(HEAP32[($5 + 36 | 0) >> 2] | 0) >> 2]))), HEAPF32[wasm2js_i32$0 >> 2] = wasm2js_f32$0; + btMatrix3x3__btMatrix3x3_28float_20const__2c_20float_20const__2c_20float_20const__2c_20float_20const__2c_20float_20const__2c_20float_20const__2c_20float_20const__2c_20float_20const__2c_20float_20const__29($0 | 0, $5 + 32 | 0 | 0, $5 + 28 | 0 | 0, $5 + 24 | 0 | 0, $5 + 20 | 0 | 0, $5 + 16 | 0 | 0, $5 + 12 | 0 | 0, $5 + 8 | 0 | 0, $5 + 4 | 0 | 0, $5 | 0) | 0; + __stack_pointer = $5 + 48 | 0; + return; + } + + function operator__28btMatrix3x3_20const__2c_20btMatrix3x3_20const__29_2($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $5 = 0, wasm2js_i32$0 = 0, wasm2js_f32$0 = Math_fround(0); + $5 = __stack_pointer - 48 | 0; + __stack_pointer = $5; + HEAP32[($5 + 44 | 0) >> 2] = $0; + HEAP32[($5 + 40 | 0) >> 2] = $1; + HEAP32[($5 + 36 | 0) >> 2] = $2; + (wasm2js_i32$0 = $5, wasm2js_f32$0 = Math_fround(Math_fround(HEAPF32[(btVector3__operator_20float_20const__28_29_20const(btMatrix3x3__operator_5b_5d_28int_29_20const(HEAP32[($5 + 40 | 0) >> 2] | 0 | 0, 0 | 0) | 0 | 0) | 0) >> 2]) + Math_fround(HEAPF32[(btVector3__operator_20float_20const__28_29_20const(btMatrix3x3__operator_5b_5d_28int_29_20const(HEAP32[($5 + 36 | 0) >> 2] | 0 | 0, 0 | 0) | 0 | 0) | 0) >> 2]))), HEAPF32[(wasm2js_i32$0 + 32 | 0) >> 2] = wasm2js_f32$0; + (wasm2js_i32$0 = $5, wasm2js_f32$0 = Math_fround(Math_fround(HEAPF32[((btVector3__operator_20float_20const__28_29_20const(btMatrix3x3__operator_5b_5d_28int_29_20const(HEAP32[($5 + 40 | 0) >> 2] | 0 | 0, 0 | 0) | 0 | 0) | 0) + 4 | 0) >> 2]) + Math_fround(HEAPF32[((btVector3__operator_20float_20const__28_29_20const(btMatrix3x3__operator_5b_5d_28int_29_20const(HEAP32[($5 + 36 | 0) >> 2] | 0 | 0, 0 | 0) | 0 | 0) | 0) + 4 | 0) >> 2]))), HEAPF32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_f32$0; + (wasm2js_i32$0 = $5, wasm2js_f32$0 = Math_fround(Math_fround(HEAPF32[((btVector3__operator_20float_20const__28_29_20const(btMatrix3x3__operator_5b_5d_28int_29_20const(HEAP32[($5 + 40 | 0) >> 2] | 0 | 0, 0 | 0) | 0 | 0) | 0) + 8 | 0) >> 2]) + Math_fround(HEAPF32[((btVector3__operator_20float_20const__28_29_20const(btMatrix3x3__operator_5b_5d_28int_29_20const(HEAP32[($5 + 36 | 0) >> 2] | 0 | 0, 0 | 0) | 0 | 0) | 0) + 8 | 0) >> 2]))), HEAPF32[(wasm2js_i32$0 + 24 | 0) >> 2] = wasm2js_f32$0; + (wasm2js_i32$0 = $5, wasm2js_f32$0 = Math_fround(Math_fround(HEAPF32[(btVector3__operator_20float_20const__28_29_20const(btMatrix3x3__operator_5b_5d_28int_29_20const(HEAP32[($5 + 40 | 0) >> 2] | 0 | 0, 1 | 0) | 0 | 0) | 0) >> 2]) + Math_fround(HEAPF32[(btVector3__operator_20float_20const__28_29_20const(btMatrix3x3__operator_5b_5d_28int_29_20const(HEAP32[($5 + 36 | 0) >> 2] | 0 | 0, 1 | 0) | 0 | 0) | 0) >> 2]))), HEAPF32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_f32$0; + (wasm2js_i32$0 = $5, wasm2js_f32$0 = Math_fround(Math_fround(HEAPF32[((btVector3__operator_20float_20const__28_29_20const(btMatrix3x3__operator_5b_5d_28int_29_20const(HEAP32[($5 + 40 | 0) >> 2] | 0 | 0, 1 | 0) | 0 | 0) | 0) + 4 | 0) >> 2]) + Math_fround(HEAPF32[((btVector3__operator_20float_20const__28_29_20const(btMatrix3x3__operator_5b_5d_28int_29_20const(HEAP32[($5 + 36 | 0) >> 2] | 0 | 0, 1 | 0) | 0 | 0) | 0) + 4 | 0) >> 2]))), HEAPF32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_f32$0; + (wasm2js_i32$0 = $5, wasm2js_f32$0 = Math_fround(Math_fround(HEAPF32[((btVector3__operator_20float_20const__28_29_20const(btMatrix3x3__operator_5b_5d_28int_29_20const(HEAP32[($5 + 40 | 0) >> 2] | 0 | 0, 1 | 0) | 0 | 0) | 0) + 8 | 0) >> 2]) + Math_fround(HEAPF32[((btVector3__operator_20float_20const__28_29_20const(btMatrix3x3__operator_5b_5d_28int_29_20const(HEAP32[($5 + 36 | 0) >> 2] | 0 | 0, 1 | 0) | 0 | 0) | 0) + 8 | 0) >> 2]))), HEAPF32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_f32$0; + (wasm2js_i32$0 = $5, wasm2js_f32$0 = Math_fround(Math_fround(HEAPF32[(btVector3__operator_20float_20const__28_29_20const(btMatrix3x3__operator_5b_5d_28int_29_20const(HEAP32[($5 + 40 | 0) >> 2] | 0 | 0, 2 | 0) | 0 | 0) | 0) >> 2]) + Math_fround(HEAPF32[(btVector3__operator_20float_20const__28_29_20const(btMatrix3x3__operator_5b_5d_28int_29_20const(HEAP32[($5 + 36 | 0) >> 2] | 0 | 0, 2 | 0) | 0 | 0) | 0) >> 2]))), HEAPF32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_f32$0; + (wasm2js_i32$0 = $5, wasm2js_f32$0 = Math_fround(Math_fround(HEAPF32[((btVector3__operator_20float_20const__28_29_20const(btMatrix3x3__operator_5b_5d_28int_29_20const(HEAP32[($5 + 40 | 0) >> 2] | 0 | 0, 2 | 0) | 0 | 0) | 0) + 4 | 0) >> 2]) + Math_fround(HEAPF32[((btVector3__operator_20float_20const__28_29_20const(btMatrix3x3__operator_5b_5d_28int_29_20const(HEAP32[($5 + 36 | 0) >> 2] | 0 | 0, 2 | 0) | 0 | 0) | 0) + 4 | 0) >> 2]))), HEAPF32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_f32$0; + (wasm2js_i32$0 = $5, wasm2js_f32$0 = Math_fround(Math_fround(HEAPF32[((btVector3__operator_20float_20const__28_29_20const(btMatrix3x3__operator_5b_5d_28int_29_20const(HEAP32[($5 + 40 | 0) >> 2] | 0 | 0, 2 | 0) | 0 | 0) | 0) + 8 | 0) >> 2]) + Math_fround(HEAPF32[((btVector3__operator_20float_20const__28_29_20const(btMatrix3x3__operator_5b_5d_28int_29_20const(HEAP32[($5 + 36 | 0) >> 2] | 0 | 0, 2 | 0) | 0 | 0) | 0) + 8 | 0) >> 2]))), HEAPF32[wasm2js_i32$0 >> 2] = wasm2js_f32$0; + btMatrix3x3__btMatrix3x3_28float_20const__2c_20float_20const__2c_20float_20const__2c_20float_20const__2c_20float_20const__2c_20float_20const__2c_20float_20const__2c_20float_20const__2c_20float_20const__29($0 | 0, $5 + 32 | 0 | 0, $5 + 28 | 0 | 0, $5 + 24 | 0 | 0, $5 + 20 | 0 | 0, $5 + 16 | 0 | 0, $5 + 12 | 0 | 0, $5 + 8 | 0 | 0, $5 + 4 | 0 | 0, $5 | 0) | 0; + __stack_pointer = $5 + 48 | 0; + return; + } + + function btMatrix3x3__solve33_28btVector3_20const__29_20const($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $5 = 0, $6 = 0, $44 = Math_fround(0), $45 = 0, $59 = Math_fround(0), $61 = Math_fround(0), $76 = Math_fround(0), $78 = Math_fround(0), $93 = Math_fround(0), wasm2js_i32$0 = 0, wasm2js_f32$0 = Math_fround(0); + $5 = __stack_pointer - 128 | 0; + __stack_pointer = $5; + HEAP32[($5 + 124 | 0) >> 2] = $1; + HEAP32[($5 + 120 | 0) >> 2] = $2; + $6 = HEAP32[($5 + 124 | 0) >> 2] | 0; + btMatrix3x3__getColumn_28int_29_20const($5 + 104 | 0 | 0, $6 | 0, 0 | 0); + btMatrix3x3__getColumn_28int_29_20const($5 + 88 | 0 | 0, $6 | 0, 1 | 0); + btMatrix3x3__getColumn_28int_29_20const($5 + 72 | 0 | 0, $6 | 0, 2 | 0); + btCross_28btVector3_20const__2c_20btVector3_20const__29($5 + 52 | 0 | 0, $5 + 88 | 0 | 0, $5 + 72 | 0 | 0); + (wasm2js_i32$0 = $5, wasm2js_f32$0 = Math_fround(btDot_28btVector3_20const__2c_20btVector3_20const__29($5 + 104 | 0 | 0, $5 + 52 | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 68 | 0) >> 2] = wasm2js_f32$0; + label$1 : { + if (!(Math_fround(btFabs_28float_29(Math_fround(Math_fround(HEAPF32[($5 + 68 | 0) >> 2])))) > Math_fround(1.1920928955078125e-07) & 1 | 0)) { + break label$1 + } + HEAPF32[($5 + 68 | 0) >> 2] = Math_fround(Math_fround(1.0) / Math_fround(HEAPF32[($5 + 68 | 0) >> 2])); + } + btVector3__btVector3_28_29($0 | 0) | 0; + $44 = Math_fround(HEAPF32[($5 + 68 | 0) >> 2]); + $45 = HEAP32[($5 + 120 | 0) >> 2] | 0; + btCross_28btVector3_20const__2c_20btVector3_20const__29($5 + 36 | 0 | 0, $5 + 88 | 0 | 0, $5 + 72 | 0 | 0); + $59 = Math_fround($44 * Math_fround(btDot_28btVector3_20const__2c_20btVector3_20const__29($45 | 0, $5 + 36 | 0 | 0))); + (wasm2js_i32$0 = btVector3__operator_20float__28_29($0 | 0) | 0, wasm2js_f32$0 = $59), HEAPF32[wasm2js_i32$0 >> 2] = wasm2js_f32$0; + $61 = Math_fround(HEAPF32[($5 + 68 | 0) >> 2]); + btCross_28btVector3_20const__2c_20btVector3_20const__29($5 + 20 | 0 | 0, HEAP32[($5 + 120 | 0) >> 2] | 0 | 0, $5 + 72 | 0 | 0); + $76 = Math_fround($61 * Math_fround(btDot_28btVector3_20const__2c_20btVector3_20const__29($5 + 104 | 0 | 0, $5 + 20 | 0 | 0))); + (wasm2js_i32$0 = btVector3__operator_20float__28_29($0 | 0) | 0, wasm2js_f32$0 = $76), HEAPF32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_f32$0; + $78 = Math_fround(HEAPF32[($5 + 68 | 0) >> 2]); + btCross_28btVector3_20const__2c_20btVector3_20const__29($5 + 4 | 0 | 0, $5 + 88 | 0 | 0, HEAP32[($5 + 120 | 0) >> 2] | 0 | 0); + $93 = Math_fround($78 * Math_fround(btDot_28btVector3_20const__2c_20btVector3_20const__29($5 + 104 | 0 | 0, $5 + 4 | 0 | 0))); + (wasm2js_i32$0 = btVector3__operator_20float__28_29($0 | 0) | 0, wasm2js_f32$0 = $93), HEAPF32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_f32$0; + __stack_pointer = $5 + 128 | 0; + return; + } + + function btRigidBody__computeGyroscopicImpulseImplicit_World_28float_29_20const($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = Math_fround($2); + var $5 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, $6 = 0, $10 = 0, $11 = 0, $51 = 0, $119 = 0, $173 = 0, $177 = 0, $252 = 0, $256 = 0, $377 = 0, $381 = 0; + $5 = __stack_pointer - 384 | 0; + __stack_pointer = $5; + HEAP32[($5 + 380 | 0) >> 2] = $1; + HEAPF32[($5 + 376 | 0) >> 2] = $2; + $6 = HEAP32[($5 + 380 | 0) >> 2] | 0; + btRigidBody__getLocalInertia_28_29_20const($5 + 360 | 0 | 0, $6 | 0); + $10 = btRigidBody__getAngularVelocity_28_29_20const($6 | 0) | 0; + $11 = 8; + i64toi32_i32$2 = $10 + $11 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $173 = i64toi32_i32$0; + i64toi32_i32$0 = ($5 + 344 | 0) + $11 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $173; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$2 = $10; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $177 = i64toi32_i32$1; + i64toi32_i32$1 = $5; + HEAP32[($5 + 344 | 0) >> 2] = $177; + HEAP32[($5 + 348 | 0) >> 2] = i64toi32_i32$0; + btMatrix3x3__btMatrix3x3_28_29($5 + 296 | 0 | 0) | 0; + btMatrix3x3__scaled_28btVector3_20const__29_20const($5 + 200 | 0 | 0, btTransform__getBasis_28_29_20const($6 + 4 | 0 | 0) | 0 | 0, $5 + 360 | 0 | 0); + btMatrix3x3__transpose_28_29_20const($5 + 152 | 0 | 0, btTransform__getBasis_28_29_20const($6 + 4 | 0 | 0) | 0 | 0); + operator__28btMatrix3x3_20const__2c_20btMatrix3x3_20const__29($5 + 248 | 0 | 0, $5 + 200 | 0 | 0, $5 + 152 | 0 | 0); + btMatrix3x3__operator__28btMatrix3x3_20const__29($5 + 296 | 0 | 0, $5 + 248 | 0 | 0) | 0; + $51 = 8; + i64toi32_i32$2 = ($5 + 344 | 0) + $51 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $252 = i64toi32_i32$0; + i64toi32_i32$0 = ($5 + 136 | 0) + $51 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $252; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$2 = $5; + i64toi32_i32$1 = HEAP32[($5 + 344 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($5 + 348 | 0) >> 2] | 0; + $256 = i64toi32_i32$1; + i64toi32_i32$1 = $5; + HEAP32[($5 + 136 | 0) >> 2] = $256; + HEAP32[($5 + 140 | 0) >> 2] = i64toi32_i32$0; + HEAPF32[($5 + 100 | 0) >> 2] = Math_fround(0 | 0); + HEAPF32[($5 + 96 | 0) >> 2] = Math_fround(0 | 0); + HEAPF32[($5 + 92 | 0) >> 2] = Math_fround(0 | 0); + btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($5 + 104 | 0 | 0, $5 + 100 | 0 | 0, $5 + 96 | 0 | 0, $5 + 92 | 0 | 0) | 0; + evalEulerEqn_28btVector3_20const__2c_20btVector3_20const__2c_20btVector3_20const__2c_20float_2c_20btMatrix3x3_20const__29($5 + 120 | 0 | 0, $5 + 136 | 0 | 0, $5 + 344 | 0 | 0, $5 + 104 | 0 | 0, Math_fround(Math_fround(HEAPF32[($5 + 376 | 0) >> 2])), $5 + 296 | 0 | 0); + evalEulerEqnDeriv_28btVector3_20const__2c_20btVector3_20const__2c_20float_2c_20btMatrix3x3_20const__29($5 + 44 | 0 | 0, $5 + 136 | 0 | 0, $5 + 344 | 0 | 0, Math_fround(Math_fround(HEAPF32[($5 + 376 | 0) >> 2])), $5 + 296 | 0 | 0); + btVector3__btVector3_28_29($5 + 24 | 0 | 0) | 0; + btMatrix3x3__solve33_28btVector3_20const__29_20const($5 + 8 | 0 | 0, $5 + 44 | 0 | 0, $5 + 120 | 0 | 0); + $119 = 8; + i64toi32_i32$2 = ($5 + 8 | 0) + $119 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $377 = i64toi32_i32$0; + i64toi32_i32$0 = ($5 + 24 | 0) + $119 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $377; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$2 = $5; + i64toi32_i32$1 = HEAP32[($5 + 8 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($5 + 12 | 0) >> 2] | 0; + $381 = i64toi32_i32$1; + i64toi32_i32$1 = $5; + HEAP32[($5 + 24 | 0) >> 2] = $381; + HEAP32[($5 + 28 | 0) >> 2] = i64toi32_i32$0; + btVector3__operator___28btVector3_20const__29($5 + 136 | 0 | 0, $5 + 24 | 0 | 0) | 0; + operator__28btVector3_20const__2c_20btVector3_20const__29($0 | 0, $5 + 136 | 0 | 0, $5 + 344 | 0 | 0); + __stack_pointer = $5 + 384 | 0; + return; + } + + function evalEulerEqn_28btVector3_20const__2c_20btVector3_20const__2c_20btVector3_20const__2c_20float_2c_20btMatrix3x3_20const__29($0, $1, $2, $3, $4, $5) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + $4 = Math_fround($4); + $5 = $5 | 0; + var $8 = 0, $14 = 0; + $8 = __stack_pointer - 160 | 0; + __stack_pointer = $8; + HEAP32[($8 + 156 | 0) >> 2] = $1; + HEAP32[($8 + 152 | 0) >> 2] = $2; + HEAP32[($8 + 148 | 0) >> 2] = $3; + HEAPF32[($8 + 144 | 0) >> 2] = $4; + HEAP32[($8 + 140 | 0) >> 2] = $5; + operator__28btMatrix3x3_20const__2c_20btVector3_20const__29($8 + 108 | 0 | 0, HEAP32[($8 + 140 | 0) >> 2] | 0 | 0, HEAP32[($8 + 156 | 0) >> 2] | 0 | 0); + $14 = HEAP32[($8 + 156 | 0) >> 2] | 0; + operator__28btMatrix3x3_20const__2c_20btVector3_20const__29($8 + 60 | 0 | 0, HEAP32[($8 + 140 | 0) >> 2] | 0 | 0, HEAP32[($8 + 156 | 0) >> 2] | 0 | 0); + btVector3__cross_28btVector3_20const__29_20const($8 + 76 | 0 | 0, $14 | 0, $8 + 60 | 0 | 0); + operator__28btVector3_20const__2c_20float_20const__29($8 + 92 | 0 | 0, $8 + 76 | 0 | 0, $8 + 144 | 0 | 0); + operator__28btVector3_20const__2c_20btVector3_20const__29_2($8 + 124 | 0 | 0, $8 + 108 | 0 | 0, $8 + 92 | 0 | 0); + operator__28btVector3_20const__2c_20float_20const__29($8 + 28 | 0 | 0, HEAP32[($8 + 148 | 0) >> 2] | 0 | 0, $8 + 144 | 0 | 0); + operator__28btMatrix3x3_20const__2c_20btVector3_20const__29($8 + 12 | 0 | 0, HEAP32[($8 + 140 | 0) >> 2] | 0 | 0, HEAP32[($8 + 152 | 0) >> 2] | 0 | 0); + operator__28btVector3_20const__2c_20btVector3_20const__29_2($8 + 44 | 0 | 0, $8 + 28 | 0 | 0, $8 + 12 | 0 | 0); + operator__28btVector3_20const__2c_20btVector3_20const__29($0 | 0, $8 + 124 | 0 | 0, $8 + 44 | 0 | 0); + __stack_pointer = $8 + 160 | 0; + return; + } + + function evalEulerEqnDeriv_28btVector3_20const__2c_20btVector3_20const__2c_20float_2c_20btMatrix3x3_20const__29($0, $1, $2, $3, $4) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = Math_fround($3); + $4 = $4 | 0; + var $7 = 0, $53 = 0; + $7 = __stack_pointer - 288 | 0; + __stack_pointer = $7; + HEAP32[($7 + 284 | 0) >> 2] = $0; + HEAP32[($7 + 280 | 0) >> 2] = $1; + HEAP32[($7 + 276 | 0) >> 2] = $2; + HEAPF32[($7 + 272 | 0) >> 2] = $3; + HEAP32[($7 + 268 | 0) >> 2] = $4; + btMatrix3x3__btMatrix3x3_28_29($7 + 220 | 0 | 0) | 0; + btMatrix3x3__btMatrix3x3_28_29($7 + 172 | 0 | 0) | 0; + operator__28btMatrix3x3_20const__2c_20btVector3_20const__29($7 + 156 | 0 | 0, HEAP32[($7 + 268 | 0) >> 2] | 0 | 0, HEAP32[($7 + 280 | 0) >> 2] | 0 | 0); + btVector3__getSkewSymmetricMatrix_28btVector3__2c_20btVector3__2c_20btVector3__29_20const(HEAP32[($7 + 280 | 0) >> 2] | 0 | 0, btMatrix3x3__operator_5b_5d_28int_29($7 + 220 | 0 | 0, 0 | 0) | 0 | 0, btMatrix3x3__operator_5b_5d_28int_29($7 + 220 | 0 | 0, 1 | 0) | 0 | 0, btMatrix3x3__operator_5b_5d_28int_29($7 + 220 | 0 | 0, 2 | 0) | 0 | 0); + btVector3__getSkewSymmetricMatrix_28btVector3__2c_20btVector3__2c_20btVector3__29_20const($7 + 156 | 0 | 0, btMatrix3x3__operator_5b_5d_28int_29($7 + 172 | 0 | 0, 0 | 0) | 0 | 0, btMatrix3x3__operator_5b_5d_28int_29($7 + 172 | 0 | 0, 1 | 0) | 0 | 0, btMatrix3x3__operator_5b_5d_28int_29($7 + 172 | 0 | 0, 2 | 0) | 0 | 0); + $53 = HEAP32[($7 + 268 | 0) >> 2] | 0; + operator__28btMatrix3x3_20const__2c_20btMatrix3x3_20const__29($7 + 12 | 0 | 0, $7 + 220 | 0 | 0, HEAP32[($7 + 268 | 0) >> 2] | 0 | 0); + operator__28btMatrix3x3_20const__2c_20btMatrix3x3_20const__29_1($7 + 60 | 0 | 0, $7 + 12 | 0 | 0, $7 + 172 | 0 | 0); + operator__28btMatrix3x3_20const__2c_20float_20const__29($7 + 108 | 0 | 0, $7 + 60 | 0 | 0, $7 + 272 | 0 | 0); + operator__28btMatrix3x3_20const__2c_20btMatrix3x3_20const__29_2($0 | 0, $53 | 0, $7 + 108 | 0 | 0); + __stack_pointer = $7 + 288 | 0; + return; + } + + function btRigidBody__addConstraintRef_28btTypedConstraint__29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, $5 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4 = __stack_pointer - 32 | 0; + __stack_pointer = $4; + HEAP32[($4 + 28 | 0) >> 2] = $0; + HEAP32[($4 + 24 | 0) >> 2] = $1; + $5 = HEAP32[($4 + 28 | 0) >> 2] | 0; + (wasm2js_i32$0 = $4, wasm2js_i32$1 = btAlignedObjectArray_btTypedConstraint____findLinearSearch_28btTypedConstraint__20const__29_20const($5 + 544 | 0 | 0, $4 + 24 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + if (!((HEAP32[($4 + 20 | 0) >> 2] | 0 | 0) == (btAlignedObjectArray_btTypedConstraint____size_28_29_20const($5 + 544 | 0 | 0) | 0 | 0) & 1 | 0)) { + break label$1 + } + btAlignedObjectArray_btTypedConstraint____push_back_28btTypedConstraint__20const__29($5 + 544 | 0 | 0, $4 + 24 | 0 | 0); + (wasm2js_i32$0 = $4, wasm2js_i32$1 = btTypedConstraint__getRigidBodyA_28_29(HEAP32[($4 + 24 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $4, wasm2js_i32$1 = btTypedConstraint__getRigidBodyB_28_29(HEAP32[($4 + 24 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + label$2 : { + label$3 : { + if (!((HEAP32[($4 + 16 | 0) >> 2] | 0 | 0) == ($5 | 0) & 1 | 0)) { + break label$3 + } + btCollisionObject__setIgnoreCollisionCheck_28btCollisionObject_20const__2c_20bool_29(HEAP32[($4 + 16 | 0) >> 2] | 0 | 0, HEAP32[($4 + 12 | 0) >> 2] | 0 | 0, 1 & 1 | 0 | 0); + break label$2; + } + btCollisionObject__setIgnoreCollisionCheck_28btCollisionObject_20const__2c_20bool_29(HEAP32[($4 + 12 | 0) >> 2] | 0 | 0, HEAP32[($4 + 16 | 0) >> 2] | 0 | 0, 1 & 1 | 0 | 0); + } + } + __stack_pointer = $4 + 32 | 0; + return; + } + + function btAlignedObjectArray_btTypedConstraint____findLinearSearch_28btTypedConstraint__20const__29_20const($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, $5 = 0, $32 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; + (wasm2js_i32$0 = $4, wasm2js_i32$1 = btAlignedObjectArray_btTypedConstraint____size_28_29_20const($5 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + HEAP32[$4 >> 2] = 0; + label$1 : { + label$2 : while (1) { + if (!((HEAP32[$4 >> 2] | 0 | 0) < (btAlignedObjectArray_btTypedConstraint____size_28_29_20const($5 | 0) | 0 | 0) & 1 | 0)) { + break label$1 + } + label$3 : { + if (!((HEAP32[((HEAP32[($5 + 12 | 0) >> 2] | 0) + ((HEAP32[$4 >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0) == (HEAP32[(HEAP32[($4 + 8 | 0) >> 2] | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$3 + } + HEAP32[($4 + 4 | 0) >> 2] = HEAP32[$4 >> 2] | 0; + break label$1; + } + HEAP32[$4 >> 2] = (HEAP32[$4 >> 2] | 0) + 1 | 0; + continue label$2; + }; + } + $32 = HEAP32[($4 + 4 | 0) >> 2] | 0; + __stack_pointer = $4 + 16 | 0; + return $32 | 0; + } + + function btAlignedObjectArray_btTypedConstraint____push_back_28btTypedConstraint__20const__29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $5 = 0, $4 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; + (wasm2js_i32$0 = $4, wasm2js_i32$1 = btAlignedObjectArray_btTypedConstraint____size_28_29_20const($5 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + if (!((HEAP32[($4 + 4 | 0) >> 2] | 0 | 0) == (btAlignedObjectArray_btTypedConstraint____capacity_28_29_20const($5 | 0) | 0 | 0) & 1 | 0)) { + break label$1 + } + btAlignedObjectArray_btTypedConstraint____reserve_28int_29($5 | 0, btAlignedObjectArray_btTypedConstraint____allocSize_28int_29($5 | 0, btAlignedObjectArray_btTypedConstraint____size_28_29_20const($5 | 0) | 0 | 0) | 0 | 0); + } + HEAP32[((HEAP32[($5 + 12 | 0) >> 2] | 0) + ((HEAP32[($5 + 4 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = HEAP32[(HEAP32[($4 + 8 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($5 + 4 | 0) >> 2] = (HEAP32[($5 + 4 | 0) >> 2] | 0) + 1 | 0; + __stack_pointer = $4 + 16 | 0; + return; + } + + function btAlignedObjectArray_btTypedConstraint____capacity_28_29_20const($0) { + $0 = $0 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + return HEAP32[((HEAP32[($3 + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0; + } + + function btAlignedObjectArray_btTypedConstraint____allocSize_28int_29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, $9 = 0; + $4 = __stack_pointer - 16 | 0; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + label$1 : { + label$2 : { + if (!(HEAP32[($4 + 8 | 0) >> 2] | 0)) { + break label$2 + } + $9 = (HEAP32[($4 + 8 | 0) >> 2] | 0) << 1 | 0; + break label$1; + } + $9 = 1; + } + return $9 | 0; + } + + function btAlignedObjectArray_btTypedConstraint____reserve_28int_29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, $5 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; + label$1 : { + if (!((btAlignedObjectArray_btTypedConstraint____capacity_28_29_20const($5 | 0) | 0 | 0) < (HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$1 + } + (wasm2js_i32$0 = $4, wasm2js_i32$1 = btAlignedObjectArray_btTypedConstraint____allocate_28int_29($5 | 0, HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + btAlignedObjectArray_btTypedConstraint____copy_28int_2c_20int_2c_20btTypedConstraint___29_20const($5 | 0, 0 | 0, btAlignedObjectArray_btTypedConstraint____size_28_29_20const($5 | 0) | 0 | 0, HEAP32[($4 + 4 | 0) >> 2] | 0 | 0); + btAlignedObjectArray_btTypedConstraint____destroy_28int_2c_20int_29($5 | 0, 0 | 0, btAlignedObjectArray_btTypedConstraint____size_28_29_20const($5 | 0) | 0 | 0); + btAlignedObjectArray_btTypedConstraint____deallocate_28_29($5 | 0); + HEAP8[($5 + 16 | 0) >> 0] = 1; + HEAP32[($5 + 12 | 0) >> 2] = HEAP32[($4 + 4 | 0) >> 2] | 0; + HEAP32[($5 + 8 | 0) >> 2] = HEAP32[($4 + 8 | 0) >> 2] | 0; + } + __stack_pointer = $4 + 16 | 0; + return; + } + + function btRigidBody__removeConstraintRef_28btTypedConstraint__29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, $5 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4 = __stack_pointer - 32 | 0; + __stack_pointer = $4; + HEAP32[($4 + 28 | 0) >> 2] = $0; + HEAP32[($4 + 24 | 0) >> 2] = $1; + $5 = HEAP32[($4 + 28 | 0) >> 2] | 0; + (wasm2js_i32$0 = $4, wasm2js_i32$1 = btAlignedObjectArray_btTypedConstraint____findLinearSearch_28btTypedConstraint__20const__29_20const($5 + 544 | 0 | 0, $4 + 24 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + if (!((HEAP32[($4 + 20 | 0) >> 2] | 0 | 0) < (btAlignedObjectArray_btTypedConstraint____size_28_29_20const($5 + 544 | 0 | 0) | 0 | 0) & 1 | 0)) { + break label$1 + } + btAlignedObjectArray_btTypedConstraint____remove_28btTypedConstraint__20const__29($5 + 544 | 0 | 0, $4 + 24 | 0 | 0); + (wasm2js_i32$0 = $4, wasm2js_i32$1 = btTypedConstraint__getRigidBodyA_28_29(HEAP32[($4 + 24 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $4, wasm2js_i32$1 = btTypedConstraint__getRigidBodyB_28_29(HEAP32[($4 + 24 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + label$2 : { + label$3 : { + if (!((HEAP32[($4 + 16 | 0) >> 2] | 0 | 0) == ($5 | 0) & 1 | 0)) { + break label$3 + } + btCollisionObject__setIgnoreCollisionCheck_28btCollisionObject_20const__2c_20bool_29(HEAP32[($4 + 16 | 0) >> 2] | 0 | 0, HEAP32[($4 + 12 | 0) >> 2] | 0 | 0, 0 & 1 | 0 | 0); + break label$2; + } + btCollisionObject__setIgnoreCollisionCheck_28btCollisionObject_20const__2c_20bool_29(HEAP32[($4 + 12 | 0) >> 2] | 0 | 0, HEAP32[($4 + 16 | 0) >> 2] | 0 | 0, 0 & 1 | 0 | 0); + } + } + __stack_pointer = $4 + 32 | 0; + return; + } + + function btAlignedObjectArray_btTypedConstraint____remove_28btTypedConstraint__20const__29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, $5 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; + (wasm2js_i32$0 = $4, wasm2js_i32$1 = btAlignedObjectArray_btTypedConstraint____findLinearSearch_28btTypedConstraint__20const__29_20const($5 | 0, HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + btAlignedObjectArray_btTypedConstraint____removeAtIndex_28int_29($5 | 0, HEAP32[($4 + 4 | 0) >> 2] | 0 | 0); + __stack_pointer = $4 + 16 | 0; + return; + } + + function btAlignedObjectArray_btTypedConstraint____removeAtIndex_28int_29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, $5 = 0; + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; + label$1 : { + if (!((HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) < (btAlignedObjectArray_btTypedConstraint____size_28_29_20const($5 | 0) | 0 | 0) & 1 | 0)) { + break label$1 + } + btAlignedObjectArray_btTypedConstraint____swap_28int_2c_20int_29($5 | 0, HEAP32[($4 + 8 | 0) >> 2] | 0 | 0, (btAlignedObjectArray_btTypedConstraint____size_28_29_20const($5 | 0) | 0) - 1 | 0 | 0); + btAlignedObjectArray_btTypedConstraint____pop_back_28_29($5 | 0); + } + __stack_pointer = $4 + 16 | 0; + return; + } + + function btRigidBody__calculateSerializeBufferSize_28_29_20const($0) { + $0 = $0 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + HEAP32[($3 + 8 | 0) >> 2] = 496; + return HEAP32[($3 + 8 | 0) >> 2] | 0 | 0; + } + + function btRigidBody__serialize_28void__2c_20btSerializer__29_20const($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $5 = 0, $6 = 0; + $5 = __stack_pointer - 16 | 0; + __stack_pointer = $5; + HEAP32[($5 + 12 | 0) >> 2] = $0; + HEAP32[($5 + 8 | 0) >> 2] = $1; + HEAP32[($5 + 4 | 0) >> 2] = $2; + $6 = HEAP32[($5 + 12 | 0) >> 2] | 0; + HEAP32[$5 >> 2] = HEAP32[($5 + 8 | 0) >> 2] | 0; + btCollisionObject__serialize_28void__2c_20btSerializer__29_20const($6 | 0, HEAP32[$5 >> 2] | 0 | 0, HEAP32[($5 + 4 | 0) >> 2] | 0 | 0) | 0; + btMatrix3x3__serialize_28btMatrix3x3FloatData__29_20const($6 + 324 | 0 | 0, (HEAP32[$5 >> 2] | 0) + 264 | 0 | 0); + btVector3__serialize_28btVector3FloatData__29_20const($6 + 372 | 0 | 0, (HEAP32[$5 >> 2] | 0) + 312 | 0 | 0); + btVector3__serialize_28btVector3FloatData__29_20const($6 + 388 | 0 | 0, (HEAP32[$5 >> 2] | 0) + 328 | 0 | 0); + HEAPF32[((HEAP32[$5 >> 2] | 0) + 456 | 0) >> 2] = Math_fround(HEAPF32[($6 + 404 | 0) >> 2]); + btVector3__serialize_28btVector3FloatData__29_20const($6 + 604 | 0 | 0, (HEAP32[$5 >> 2] | 0) + 344 | 0 | 0); + btVector3__serialize_28btVector3FloatData__29_20const($6 + 408 | 0 | 0, (HEAP32[$5 >> 2] | 0) + 360 | 0 | 0); + btVector3__serialize_28btVector3FloatData__29_20const($6 + 424 | 0 | 0, (HEAP32[$5 >> 2] | 0) + 376 | 0 | 0); + btVector3__serialize_28btVector3FloatData__29_20const($6 + 440 | 0 | 0, (HEAP32[$5 >> 2] | 0) + 392 | 0 | 0); + btVector3__serialize_28btVector3FloatData__29_20const($6 + 456 | 0 | 0, (HEAP32[$5 >> 2] | 0) + 408 | 0 | 0); + btVector3__serialize_28btVector3FloatData__29_20const($6 + 472 | 0 | 0, (HEAP32[$5 >> 2] | 0) + 424 | 0 | 0); + btVector3__serialize_28btVector3FloatData__29_20const($6 + 488 | 0 | 0, (HEAP32[$5 >> 2] | 0) + 440 | 0 | 0); + HEAPF32[((HEAP32[$5 >> 2] | 0) + 460 | 0) >> 2] = Math_fround(HEAPF32[($6 + 504 | 0) >> 2]); + HEAPF32[((HEAP32[$5 >> 2] | 0) + 464 | 0) >> 2] = Math_fround(HEAPF32[($6 + 508 | 0) >> 2]); + HEAP32[((HEAP32[$5 >> 2] | 0) + 492 | 0) >> 2] = (HEAPU8[($6 + 512 | 0) >> 0] | 0) & 1 | 0; + HEAPF32[((HEAP32[$5 >> 2] | 0) + 468 | 0) >> 2] = Math_fround(HEAPF32[($6 + 516 | 0) >> 2]); + HEAPF32[((HEAP32[$5 >> 2] | 0) + 472 | 0) >> 2] = Math_fround(HEAPF32[($6 + 520 | 0) >> 2]); + HEAPF32[((HEAP32[$5 >> 2] | 0) + 476 | 0) >> 2] = Math_fround(HEAPF32[($6 + 524 | 0) >> 2]); + HEAPF32[((HEAP32[$5 >> 2] | 0) + 480 | 0) >> 2] = Math_fround(HEAPF32[($6 + 528 | 0) >> 2]); + HEAPF32[((HEAP32[$5 >> 2] | 0) + 484 | 0) >> 2] = Math_fround(HEAPF32[($6 + 532 | 0) >> 2]); + HEAPF32[((HEAP32[$5 >> 2] | 0) + 488 | 0) >> 2] = Math_fround(HEAPF32[($6 + 536 | 0) >> 2]); + __stack_pointer = $5 + 16 | 0; + return 83210 | 0; + } + + function btRigidBody__serializeSingleObject_28btSerializer__29_20const($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, $5 = 0, $6 = 0, $20 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0, wasm2js_i32$2 = 0, wasm2js_i32$3 = 0, wasm2js_i32$4 = 0, wasm2js_i32$5 = 0; + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; + $6 = HEAP32[($4 + 8 | 0) >> 2] | 0; + (wasm2js_i32$0 = $4, wasm2js_i32$1 = ((((wasm2js_i32$3 = $6, wasm2js_i32$4 = FUNCTION_TABLE[HEAP32[((HEAP32[$5 >> 2] | 0) + 16 | 0) >> 2] | 0 | 0]($5) | 0), wasm2js_i32$5 = 1), wasm2js_i32$2 = HEAP32[((HEAP32[$6 >> 2] | 0) + 16 | 0) >> 2] | 0 | 0), FUNCTION_TABLE[wasm2js_i32$2](wasm2js_i32$3 | 0, wasm2js_i32$4 | 0, wasm2js_i32$5 | 0) | 0)), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $4, wasm2js_i32$1 = FUNCTION_TABLE[HEAP32[((HEAP32[$5 >> 2] | 0) + 20 | 0) >> 2] | 0 | 0]($5, HEAP32[((HEAP32[($4 + 4 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0, HEAP32[($4 + 8 | 0) >> 2] | 0) | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + $20 = HEAP32[($4 + 8 | 0) >> 2] | 0; + FUNCTION_TABLE[HEAP32[((HEAP32[$20 >> 2] | 0) + 20 | 0) >> 2] | 0 | 0]($20, HEAP32[($4 + 4 | 0) >> 2] | 0, HEAP32[$4 >> 2] | 0, 1497645650, $5); + __stack_pointer = $4 + 16 | 0; + return; + } + + function btRigidBody___btRigidBody_28_29_1($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + btRigidBody___btRigidBody_28_29($4 | 0) | 0; + btCollisionObject__operator_20delete_28void__29($4 | 0); + __stack_pointer = $3 + 16 | 0; + return; + } + + function btAlignedObjectArray_btTypedConstraint____allocate_28int_29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, $5 = 0, $11 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[($4 + 8 | 0) >> 2] = $0; + HEAP32[($4 + 4 | 0) >> 2] = $1; + $5 = HEAP32[($4 + 8 | 0) >> 2] | 0; + label$1 : { + label$2 : { + if (!(HEAP32[($4 + 4 | 0) >> 2] | 0)) { + break label$2 + } + (wasm2js_i32$0 = $4, wasm2js_i32$1 = btAlignedAllocator_btTypedConstraint__2c_2016u___allocate_28int_2c_20btTypedConstraint__20const___29($5 | 0, HEAP32[($4 + 4 | 0) >> 2] | 0 | 0, 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + break label$1; + } + HEAP32[($4 + 12 | 0) >> 2] = 0; + } + $11 = HEAP32[($4 + 12 | 0) >> 2] | 0; + __stack_pointer = $4 + 16 | 0; + return $11 | 0; + } + + function btAlignedObjectArray_btTypedConstraint____copy_28int_2c_20int_2c_20btTypedConstraint___29_20const($0, $1, $2, $3) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + var $6 = 0, $7 = 0; + $6 = __stack_pointer - 32 | 0; + HEAP32[($6 + 28 | 0) >> 2] = $0; + HEAP32[($6 + 24 | 0) >> 2] = $1; + HEAP32[($6 + 20 | 0) >> 2] = $2; + HEAP32[($6 + 16 | 0) >> 2] = $3; + $7 = HEAP32[($6 + 28 | 0) >> 2] | 0; + HEAP32[($6 + 12 | 0) >> 2] = HEAP32[($6 + 24 | 0) >> 2] | 0; + label$1 : { + label$2 : while (1) { + if (!((HEAP32[($6 + 12 | 0) >> 2] | 0 | 0) < (HEAP32[($6 + 20 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$1 + } + HEAP32[((HEAP32[($6 + 16 | 0) >> 2] | 0) + ((HEAP32[($6 + 12 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = HEAP32[((HEAP32[($7 + 12 | 0) >> 2] | 0) + ((HEAP32[($6 + 12 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; + HEAP32[($6 + 12 | 0) >> 2] = (HEAP32[($6 + 12 | 0) >> 2] | 0) + 1 | 0; + continue label$2; + }; + } + return; + } + + function btAlignedAllocator_btTypedConstraint__2c_2016u___allocate_28int_2c_20btTypedConstraint__20const___29($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $5 = 0, $10 = 0; + $5 = __stack_pointer - 16 | 0; + __stack_pointer = $5; + HEAP32[($5 + 12 | 0) >> 2] = $0; + HEAP32[($5 + 8 | 0) >> 2] = $1; + HEAP32[($5 + 4 | 0) >> 2] = $2; + $10 = btAlignedAllocInternal_28unsigned_20long_2c_20int_29((HEAP32[($5 + 8 | 0) >> 2] | 0) << 2 | 0 | 0, 16 | 0) | 0; + __stack_pointer = $5 + 16 | 0; + return $10 | 0; + } + + function btAlignedObjectArray_btTypedConstraint____swap_28int_2c_20int_29($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $5 = 0, $6 = 0; + $5 = __stack_pointer - 16 | 0; + HEAP32[($5 + 12 | 0) >> 2] = $0; + HEAP32[($5 + 8 | 0) >> 2] = $1; + HEAP32[($5 + 4 | 0) >> 2] = $2; + $6 = HEAP32[($5 + 12 | 0) >> 2] | 0; + HEAP32[$5 >> 2] = HEAP32[((HEAP32[($6 + 12 | 0) >> 2] | 0) + ((HEAP32[($5 + 8 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; + HEAP32[((HEAP32[($6 + 12 | 0) >> 2] | 0) + ((HEAP32[($5 + 8 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = HEAP32[((HEAP32[($6 + 12 | 0) >> 2] | 0) + ((HEAP32[($5 + 4 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; + HEAP32[((HEAP32[($6 + 12 | 0) >> 2] | 0) + ((HEAP32[($5 + 4 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = HEAP32[$5 >> 2] | 0; + return; + } + + function btAlignedObjectArray_btTypedConstraint____pop_back_28_29($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + label$1 : { + if ((HEAP32[($4 + 4 | 0) >> 2] | 0 | 0) > (0 | 0) & 1 | 0) { + break label$1 + } + __assert_fail(85800 | 0, 78192 | 0, 201 | 0, 77711 | 0); + wasm2js_trap(); + } + HEAP32[($4 + 4 | 0) >> 2] = (HEAP32[($4 + 4 | 0) >> 2] | 0) + -1 | 0; + __stack_pointer = $3 + 16 | 0; + return; + } + + function _GLOBAL__sub_I_btRigidBody_cpp() { + __cxx_global_var_init_74(); + return; + } + + function __cxx_global_var_init_75() { + btInfMaskConverter__btInfMaskConverter_28int_29(116132 | 0, 2139095040 | 0) | 0; + return; + } + + function btUnionFind___btUnionFind_28_29($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + btUnionFind__Free_28_29($4 | 0); + btAlignedObjectArray_btElement____btAlignedObjectArray_28_29($4 | 0) | 0; + __stack_pointer = $3 + 16 | 0; + return $4 | 0; + } + + function btUnionFind__Free_28_29($0) { + $0 = $0 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + btAlignedObjectArray_btElement___clear_28_29(HEAP32[($3 + 12 | 0) >> 2] | 0 | 0); + __stack_pointer = $3 + 16 | 0; + return; + } + + function btAlignedObjectArray_btElement____btAlignedObjectArray_28_29($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + btAlignedObjectArray_btElement___clear_28_29($4 | 0); + __stack_pointer = $3 + 16 | 0; + return $4 | 0; + } + + function btAlignedObjectArray_btElement___clear_28_29($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + btAlignedObjectArray_btElement___destroy_28int_2c_20int_29($4 | 0, 0 | 0, btAlignedObjectArray_btElement___size_28_29_20const($4 | 0) | 0 | 0); + btAlignedObjectArray_btElement___deallocate_28_29($4 | 0); + btAlignedObjectArray_btElement___init_28_29($4 | 0); + __stack_pointer = $3 + 16 | 0; + return; + } + + function btUnionFind__btUnionFind_28_29($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + btAlignedObjectArray_btElement___btAlignedObjectArray_28_29($4 | 0) | 0; + __stack_pointer = $3 + 16 | 0; + return $4 | 0; + } + + function btAlignedObjectArray_btElement___btAlignedObjectArray_28_29($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + btAlignedAllocator_btElement_2c_2016u___btAlignedAllocator_28_29($4 | 0) | 0; + btAlignedObjectArray_btElement___init_28_29($4 | 0); + __stack_pointer = $3 + 16 | 0; + return $4 | 0; + } + + function btAlignedAllocator_btElement_2c_2016u___btAlignedAllocator_28_29($0) { + $0 = $0 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + return HEAP32[($3 + 12 | 0) >> 2] | 0 | 0; + } + + function btAlignedObjectArray_btElement___init_28_29($0) { + $0 = $0 | 0; + var $4 = 0, $3 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + HEAP8[($4 + 16 | 0) >> 0] = 1; + HEAP32[($4 + 12 | 0) >> 2] = 0; + HEAP32[($4 + 4 | 0) >> 2] = 0; + HEAP32[($4 + 8 | 0) >> 2] = 0; + return; + } + + function btUnionFind__allocate_28int_29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, $5 = 0, $6 = 0, i64toi32_i32$0 = 0; + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; + $6 = HEAP32[($4 + 8 | 0) >> 2] | 0; + i64toi32_i32$0 = 0; + HEAP32[$4 >> 2] = 0; + HEAP32[($4 + 4 | 0) >> 2] = i64toi32_i32$0; + btAlignedObjectArray_btElement___resize_28int_2c_20btElement_20const__29($5 | 0, $6 | 0, $4 | 0); + __stack_pointer = $4 + 16 | 0; + return; + } + + function btAlignedObjectArray_btElement___resize_28int_2c_20btElement_20const__29($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $5 = 0, $6 = 0, i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, i64toi32_i32$1 = 0, $162 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5 = __stack_pointer - 32 | 0; + __stack_pointer = $5; + HEAP32[($5 + 28 | 0) >> 2] = $0; + HEAP32[($5 + 24 | 0) >> 2] = $1; + HEAP32[($5 + 20 | 0) >> 2] = $2; + $6 = HEAP32[($5 + 28 | 0) >> 2] | 0; + (wasm2js_i32$0 = $5, wasm2js_i32$1 = btAlignedObjectArray_btElement___size_28_29_20const($6 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + label$2 : { + if (!((HEAP32[($5 + 24 | 0) >> 2] | 0 | 0) < (HEAP32[($5 + 16 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($5 + 12 | 0) >> 2] = HEAP32[($5 + 24 | 0) >> 2] | 0; + label$3 : { + label$4 : while (1) { + if (!((HEAP32[($5 + 12 | 0) >> 2] | 0 | 0) < (HEAP32[($5 + 16 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$3 + } + HEAP32[($5 + 12 | 0) >> 2] = (HEAP32[($5 + 12 | 0) >> 2] | 0) + 1 | 0; + continue label$4; + }; + } + break label$1; + } + label$5 : { + if (!((HEAP32[($5 + 24 | 0) >> 2] | 0 | 0) > (HEAP32[($5 + 16 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$5 + } + btAlignedObjectArray_btElement___reserve_28int_29($6 | 0, HEAP32[($5 + 24 | 0) >> 2] | 0 | 0); + } + HEAP32[($5 + 8 | 0) >> 2] = HEAP32[($5 + 16 | 0) >> 2] | 0; + label$6 : { + label$7 : while (1) { + if (!((HEAP32[($5 + 8 | 0) >> 2] | 0 | 0) < (HEAP32[($5 + 24 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$6 + } + i64toi32_i32$2 = HEAP32[($5 + 20 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $162 = i64toi32_i32$0; + i64toi32_i32$0 = (HEAP32[($6 + 12 | 0) >> 2] | 0) + ((HEAP32[($5 + 8 | 0) >> 2] | 0) << 3 | 0) | 0; + HEAP32[i64toi32_i32$0 >> 2] = $162; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + HEAP32[($5 + 8 | 0) >> 2] = (HEAP32[($5 + 8 | 0) >> 2] | 0) + 1 | 0; + continue label$7; + }; + } + } + HEAP32[($6 + 4 | 0) >> 2] = HEAP32[($5 + 24 | 0) >> 2] | 0; + __stack_pointer = $5 + 32 | 0; + return; + } + + function btAlignedObjectArray_btElement___reserve_28int_29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, $5 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; + label$1 : { + if (!((btAlignedObjectArray_btElement___capacity_28_29_20const($5 | 0) | 0 | 0) < (HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$1 + } + (wasm2js_i32$0 = $4, wasm2js_i32$1 = btAlignedObjectArray_btElement___allocate_28int_29($5 | 0, HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + btAlignedObjectArray_btElement___copy_28int_2c_20int_2c_20btElement__29_20const($5 | 0, 0 | 0, btAlignedObjectArray_btElement___size_28_29_20const($5 | 0) | 0 | 0, HEAP32[($4 + 4 | 0) >> 2] | 0 | 0); + btAlignedObjectArray_btElement___destroy_28int_2c_20int_29($5 | 0, 0 | 0, btAlignedObjectArray_btElement___size_28_29_20const($5 | 0) | 0 | 0); + btAlignedObjectArray_btElement___deallocate_28_29($5 | 0); + HEAP8[($5 + 16 | 0) >> 0] = 1; + HEAP32[($5 + 12 | 0) >> 2] = HEAP32[($4 + 4 | 0) >> 2] | 0; + HEAP32[($5 + 8 | 0) >> 2] = HEAP32[($4 + 8 | 0) >> 2] | 0; + } + __stack_pointer = $4 + 16 | 0; + return; + } + + function btAlignedObjectArray_btElement___destroy_28int_2c_20int_29($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $5 = 0; + $5 = __stack_pointer - 16 | 0; + HEAP32[($5 + 12 | 0) >> 2] = $0; + HEAP32[($5 + 8 | 0) >> 2] = $1; + HEAP32[($5 + 4 | 0) >> 2] = $2; + HEAP32[($5 + 12 | 0) >> 2] | 0; + HEAP32[$5 >> 2] = HEAP32[($5 + 8 | 0) >> 2] | 0; + label$1 : { + label$2 : while (1) { + if (!((HEAP32[$5 >> 2] | 0 | 0) < (HEAP32[($5 + 4 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$1 + } + HEAP32[$5 >> 2] = (HEAP32[$5 >> 2] | 0) + 1 | 0; + continue label$2; + }; + } + return; + } + + function btAlignedObjectArray_btElement___deallocate_28_29($0) { + $0 = $0 | 0; + var $4 = 0, $3 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + label$1 : { + if (!((HEAP32[($4 + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + label$2 : { + if (!((HEAPU8[($4 + 16 | 0) >> 0] | 0) & 1 | 0)) { + break label$2 + } + btAlignedAllocator_btElement_2c_2016u___deallocate_28btElement__29($4 | 0, HEAP32[($4 + 12 | 0) >> 2] | 0 | 0); + } + HEAP32[($4 + 12 | 0) >> 2] = 0; + } + __stack_pointer = $3 + 16 | 0; + return; + } + + function btUnionFind__reset_28int_29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, $5 = 0, $15 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; + btUnionFind__allocate_28int_29($5 | 0, HEAP32[($4 + 8 | 0) >> 2] | 0 | 0); + HEAP32[($4 + 4 | 0) >> 2] = 0; + label$1 : { + label$2 : while (1) { + if (!((HEAP32[($4 + 4 | 0) >> 2] | 0 | 0) < (HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$1 + } + $15 = HEAP32[($4 + 4 | 0) >> 2] | 0; + (wasm2js_i32$0 = btAlignedObjectArray_btElement___operator_5b_5d_28int_29($5 | 0, HEAP32[($4 + 4 | 0) >> 2] | 0 | 0) | 0, wasm2js_i32$1 = $15), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = btAlignedObjectArray_btElement___operator_5b_5d_28int_29($5 | 0, HEAP32[($4 + 4 | 0) >> 2] | 0 | 0) | 0, wasm2js_i32$1 = 1), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($4 + 4 | 0) >> 2] = (HEAP32[($4 + 4 | 0) >> 2] | 0) + 1 | 0; + continue label$2; + }; + } + __stack_pointer = $4 + 16 | 0; + return; + } + + function btUnionFind__sortIslands_28_29($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0, $15 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + (wasm2js_i32$0 = $3, wasm2js_i32$1 = btAlignedObjectArray_btElement___size_28_29_20const($4 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($3 + 4 | 0) >> 2] = 0; + label$1 : { + label$2 : while (1) { + if (!((HEAP32[($3 + 4 | 0) >> 2] | 0 | 0) < (HEAP32[($3 + 8 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$1 + } + $15 = btUnionFind__find_28int_29($4 | 0, HEAP32[($3 + 4 | 0) >> 2] | 0 | 0) | 0; + (wasm2js_i32$0 = btAlignedObjectArray_btElement___operator_5b_5d_28int_29($4 | 0, HEAP32[($3 + 4 | 0) >> 2] | 0 | 0) | 0, wasm2js_i32$1 = $15), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + HEAP32[($3 + 4 | 0) >> 2] = (HEAP32[($3 + 4 | 0) >> 2] | 0) + 1 | 0; + continue label$2; + }; + } + void_20btAlignedObjectArray_btElement___quickSort_btUnionFindElementSortPredicate__28btUnionFindElementSortPredicate_20const__29($4 | 0, $3 + 3 | 0 | 0); + __stack_pointer = $3 + 16 | 0; + return; + } + + function void_20btAlignedObjectArray_btElement___quickSort_btUnionFindElementSortPredicate__28btUnionFindElementSortPredicate_20const__29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, $5 = 0; + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; + label$1 : { + if (!((btAlignedObjectArray_btElement___size_28_29_20const($5 | 0) | 0 | 0) > (1 | 0) & 1 | 0)) { + break label$1 + } + void_20btAlignedObjectArray_btElement___quickSortInternal_btUnionFindElementSortPredicate__28btUnionFindElementSortPredicate_20const__2c_20int_2c_20int_29($5 | 0, HEAP32[($4 + 8 | 0) >> 2] | 0 | 0, 0 | 0, (btAlignedObjectArray_btElement___size_28_29_20const($5 | 0) | 0) - 1 | 0 | 0); + } + __stack_pointer = $4 + 16 | 0; + return; + } + + function void_20btAlignedObjectArray_btElement___quickSortInternal_btUnionFindElementSortPredicate__28btUnionFindElementSortPredicate_20const__2c_20int_2c_20int_29($0, $1, $2, $3) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + var $6 = 0, $7 = 0, i64toi32_i32$2 = 0, i64toi32_i32$1 = 0; + $6 = __stack_pointer - 32 | 0; + __stack_pointer = $6; + HEAP32[($6 + 28 | 0) >> 2] = $0; + HEAP32[($6 + 24 | 0) >> 2] = $1; + HEAP32[($6 + 20 | 0) >> 2] = $2; + HEAP32[($6 + 16 | 0) >> 2] = $3; + $7 = HEAP32[($6 + 28 | 0) >> 2] | 0; + HEAP32[($6 + 12 | 0) >> 2] = HEAP32[($6 + 20 | 0) >> 2] | 0; + HEAP32[($6 + 8 | 0) >> 2] = HEAP32[($6 + 16 | 0) >> 2] | 0; + i64toi32_i32$2 = (HEAP32[($7 + 12 | 0) >> 2] | 0) + ((((HEAP32[($6 + 20 | 0) >> 2] | 0) + (HEAP32[($6 + 16 | 0) >> 2] | 0) | 0 | 0) / (2 | 0) | 0) << 3 | 0) | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + HEAP32[$6 >> 2] = HEAP32[i64toi32_i32$2 >> 2] | 0; + HEAP32[($6 + 4 | 0) >> 2] = i64toi32_i32$1; + label$1 : while (1) { + label$2 : { + label$3 : while (1) { + if (!((btUnionFindElementSortPredicate__operator_28_29_28btElement_20const__2c_20btElement_20const__29_20const(HEAP32[($6 + 24 | 0) >> 2] | 0 | 0, (HEAP32[($7 + 12 | 0) >> 2] | 0) + ((HEAP32[($6 + 12 | 0) >> 2] | 0) << 3 | 0) | 0 | 0, $6 | 0) | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($6 + 12 | 0) >> 2] = (HEAP32[($6 + 12 | 0) >> 2] | 0) + 1 | 0; + continue label$3; + }; + } + label$4 : { + label$5 : while (1) { + if (!((btUnionFindElementSortPredicate__operator_28_29_28btElement_20const__2c_20btElement_20const__29_20const(HEAP32[($6 + 24 | 0) >> 2] | 0 | 0, $6 | 0, (HEAP32[($7 + 12 | 0) >> 2] | 0) + ((HEAP32[($6 + 8 | 0) >> 2] | 0) << 3 | 0) | 0 | 0) | 0) & 1 | 0)) { + break label$4 + } + HEAP32[($6 + 8 | 0) >> 2] = (HEAP32[($6 + 8 | 0) >> 2] | 0) + -1 | 0; + continue label$5; + }; + } + label$6 : { + if (!((HEAP32[($6 + 12 | 0) >> 2] | 0 | 0) <= (HEAP32[($6 + 8 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$6 + } + btAlignedObjectArray_btElement___swap_28int_2c_20int_29($7 | 0, HEAP32[($6 + 12 | 0) >> 2] | 0 | 0, HEAP32[($6 + 8 | 0) >> 2] | 0 | 0); + HEAP32[($6 + 12 | 0) >> 2] = (HEAP32[($6 + 12 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($6 + 8 | 0) >> 2] = (HEAP32[($6 + 8 | 0) >> 2] | 0) + -1 | 0; + } + if ((HEAP32[($6 + 12 | 0) >> 2] | 0 | 0) <= (HEAP32[($6 + 8 | 0) >> 2] | 0 | 0) & 1 | 0) { + continue label$1 + } + break label$1; + }; + label$7 : { + if (!((HEAP32[($6 + 20 | 0) >> 2] | 0 | 0) < (HEAP32[($6 + 8 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$7 + } + void_20btAlignedObjectArray_btElement___quickSortInternal_btUnionFindElementSortPredicate__28btUnionFindElementSortPredicate_20const__2c_20int_2c_20int_29($7 | 0, HEAP32[($6 + 24 | 0) >> 2] | 0 | 0, HEAP32[($6 + 20 | 0) >> 2] | 0 | 0, HEAP32[($6 + 8 | 0) >> 2] | 0 | 0); + } + label$8 : { + if (!((HEAP32[($6 + 12 | 0) >> 2] | 0 | 0) < (HEAP32[($6 + 16 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$8 + } + void_20btAlignedObjectArray_btElement___quickSortInternal_btUnionFindElementSortPredicate__28btUnionFindElementSortPredicate_20const__2c_20int_2c_20int_29($7 | 0, HEAP32[($6 + 24 | 0) >> 2] | 0 | 0, HEAP32[($6 + 12 | 0) >> 2] | 0 | 0, HEAP32[($6 + 16 | 0) >> 2] | 0 | 0); + } + __stack_pointer = $6 + 32 | 0; + return; + } + + function btAlignedObjectArray_btElement___capacity_28_29_20const($0) { + $0 = $0 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + return HEAP32[((HEAP32[($3 + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0; + } + + function btAlignedObjectArray_btElement___allocate_28int_29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, $5 = 0, $11 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[($4 + 8 | 0) >> 2] = $0; + HEAP32[($4 + 4 | 0) >> 2] = $1; + $5 = HEAP32[($4 + 8 | 0) >> 2] | 0; + label$1 : { + label$2 : { + if (!(HEAP32[($4 + 4 | 0) >> 2] | 0)) { + break label$2 + } + (wasm2js_i32$0 = $4, wasm2js_i32$1 = btAlignedAllocator_btElement_2c_2016u___allocate_28int_2c_20btElement_20const___29($5 | 0, HEAP32[($4 + 4 | 0) >> 2] | 0 | 0, 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + break label$1; + } + HEAP32[($4 + 12 | 0) >> 2] = 0; + } + $11 = HEAP32[($4 + 12 | 0) >> 2] | 0; + __stack_pointer = $4 + 16 | 0; + return $11 | 0; + } + + function btAlignedObjectArray_btElement___copy_28int_2c_20int_2c_20btElement__29_20const($0, $1, $2, $3) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + var $6 = 0, i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, $7 = 0, i64toi32_i32$1 = 0, $85 = 0; + $6 = __stack_pointer - 32 | 0; + HEAP32[($6 + 28 | 0) >> 2] = $0; + HEAP32[($6 + 24 | 0) >> 2] = $1; + HEAP32[($6 + 20 | 0) >> 2] = $2; + HEAP32[($6 + 16 | 0) >> 2] = $3; + $7 = HEAP32[($6 + 28 | 0) >> 2] | 0; + HEAP32[($6 + 12 | 0) >> 2] = HEAP32[($6 + 24 | 0) >> 2] | 0; + label$1 : { + label$2 : while (1) { + if (!((HEAP32[($6 + 12 | 0) >> 2] | 0 | 0) < (HEAP32[($6 + 20 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$1 + } + i64toi32_i32$2 = (HEAP32[($7 + 12 | 0) >> 2] | 0) + ((HEAP32[($6 + 12 | 0) >> 2] | 0) << 3 | 0) | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $85 = i64toi32_i32$0; + i64toi32_i32$0 = (HEAP32[($6 + 16 | 0) >> 2] | 0) + ((HEAP32[($6 + 12 | 0) >> 2] | 0) << 3 | 0) | 0; + HEAP32[i64toi32_i32$0 >> 2] = $85; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + HEAP32[($6 + 12 | 0) >> 2] = (HEAP32[($6 + 12 | 0) >> 2] | 0) + 1 | 0; + continue label$2; + }; + } + return; + } + + function btAlignedAllocator_btElement_2c_2016u___allocate_28int_2c_20btElement_20const___29($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $5 = 0, $10 = 0; + $5 = __stack_pointer - 16 | 0; + __stack_pointer = $5; + HEAP32[($5 + 12 | 0) >> 2] = $0; + HEAP32[($5 + 8 | 0) >> 2] = $1; + HEAP32[($5 + 4 | 0) >> 2] = $2; + $10 = btAlignedAllocInternal_28unsigned_20long_2c_20int_29((HEAP32[($5 + 8 | 0) >> 2] | 0) << 3 | 0 | 0, 16 | 0) | 0; + __stack_pointer = $5 + 16 | 0; + return $10 | 0; + } + + function btAlignedAllocator_btElement_2c_2016u___deallocate_28btElement__29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0; + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + btAlignedFreeInternal_28void__29(HEAP32[($4 + 8 | 0) >> 2] | 0 | 0); + __stack_pointer = $4 + 16 | 0; + return; + } + + function btUnionFindElementSortPredicate__operator_28_29_28btElement_20const__2c_20btElement_20const__29_20const($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $5 = 0; + $5 = __stack_pointer - 16 | 0; + HEAP32[($5 + 12 | 0) >> 2] = $0; + HEAP32[($5 + 8 | 0) >> 2] = $1; + HEAP32[($5 + 4 | 0) >> 2] = $2; + return (HEAP32[(HEAP32[($5 + 8 | 0) >> 2] | 0) >> 2] | 0 | 0) < (HEAP32[(HEAP32[($5 + 4 | 0) >> 2] | 0) >> 2] | 0 | 0) & 1 | 0 | 0; + } + + function btAlignedObjectArray_btElement___swap_28int_2c_20int_29($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $5 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, $6 = 0, $55 = 0, $79 = 0, $93 = 0; + $5 = __stack_pointer - 32 | 0; + HEAP32[($5 + 28 | 0) >> 2] = $0; + HEAP32[($5 + 24 | 0) >> 2] = $1; + HEAP32[($5 + 20 | 0) >> 2] = $2; + $6 = HEAP32[($5 + 28 | 0) >> 2] | 0; + i64toi32_i32$2 = (HEAP32[($6 + 12 | 0) >> 2] | 0) + ((HEAP32[($5 + 24 | 0) >> 2] | 0) << 3 | 0) | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $55 = i64toi32_i32$0; + i64toi32_i32$0 = $5; + HEAP32[($5 + 8 | 0) >> 2] = $55; + HEAP32[($5 + 12 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$2 = (HEAP32[($6 + 12 | 0) >> 2] | 0) + ((HEAP32[($5 + 20 | 0) >> 2] | 0) << 3 | 0) | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $79 = i64toi32_i32$1; + i64toi32_i32$1 = (HEAP32[($6 + 12 | 0) >> 2] | 0) + ((HEAP32[($5 + 24 | 0) >> 2] | 0) << 3 | 0) | 0; + HEAP32[i64toi32_i32$1 >> 2] = $79; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$2 = $5; + i64toi32_i32$0 = HEAP32[($5 + 8 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($5 + 12 | 0) >> 2] | 0; + $93 = i64toi32_i32$0; + i64toi32_i32$0 = (HEAP32[($6 + 12 | 0) >> 2] | 0) + ((HEAP32[($5 + 20 | 0) >> 2] | 0) << 3 | 0) | 0; + HEAP32[i64toi32_i32$0 >> 2] = $93; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + return; + } + + function _GLOBAL__sub_I_btUnionFind_cpp() { + __cxx_global_var_init_75(); + return; + } + + function __cxx_global_var_init_76() { + btInfMaskConverter__btInfMaskConverter_28int_29(116136 | 0, 2139095040 | 0) | 0; + return; + } + + function btSimulationIslandManager__btSimulationIslandManager_28_29($0) { + $0 = $0 | 0; + var $4 = 0, $3 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + HEAP32[$4 >> 2] = 102732 + 8 | 0; + btUnionFind__btUnionFind_28_29($4 + 4 | 0 | 0) | 0; + btAlignedObjectArray_btPersistentManifold____btAlignedObjectArray_28_29($4 + 24 | 0 | 0) | 0; + btAlignedObjectArray_btCollisionObject____btAlignedObjectArray_28_29($4 + 44 | 0 | 0) | 0; + HEAP8[($4 + 64 | 0) >> 0] = 1; + __stack_pointer = $3 + 16 | 0; + return $4 | 0; + } + + function btSimulationIslandManager___btSimulationIslandManager_28_29($0) { + $0 = $0 | 0; + var $4 = 0, $3 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + HEAP32[$4 >> 2] = 102732 + 8 | 0; + btAlignedObjectArray_btCollisionObject_____btAlignedObjectArray_28_29($4 + 44 | 0 | 0) | 0; + btAlignedObjectArray_btPersistentManifold_____btAlignedObjectArray_28_29($4 + 24 | 0 | 0) | 0; + btUnionFind___btUnionFind_28_29($4 + 4 | 0 | 0) | 0; + __stack_pointer = $3 + 16 | 0; + return $4 | 0; + } + + function btSimulationIslandManager___btSimulationIslandManager_28_29_1($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + FUNCTION_TABLE[1110 | 0]($4) | 0; + operator_20delete_28void__29($4 | 0); + __stack_pointer = $3 + 16 | 0; + return; + } + + function btSimulationIslandManager__initUnionFind_28int_29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0; + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + btUnionFind__reset_28int_29((HEAP32[($4 + 12 | 0) >> 2] | 0) + 4 | 0 | 0, HEAP32[($4 + 8 | 0) >> 2] | 0 | 0); + __stack_pointer = $4 + 16 | 0; + return; + } + + function btSimulationIslandManager__findUnions_28btDispatcher__2c_20btCollisionWorld__29($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $5 = 0, $9 = 0, $14 = 0, $6 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5 = __stack_pointer - 48 | 0; + __stack_pointer = $5; + HEAP32[($5 + 44 | 0) >> 2] = $0; + HEAP32[($5 + 40 | 0) >> 2] = $1; + HEAP32[($5 + 36 | 0) >> 2] = $2; + $6 = HEAP32[($5 + 44 | 0) >> 2] | 0; + (wasm2js_i32$0 = $5, wasm2js_i32$1 = btCollisionWorld__getPairCache_28_29(HEAP32[($5 + 36 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 32 | 0) >> 2] = wasm2js_i32$1; + $9 = HEAP32[($5 + 32 | 0) >> 2] | 0; + (wasm2js_i32$0 = $5, wasm2js_i32$1 = FUNCTION_TABLE[HEAP32[((HEAP32[$9 >> 2] | 0) + 36 | 0) >> 2] | 0 | 0]($9) | 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + if (!(HEAP32[($5 + 28 | 0) >> 2] | 0)) { + break label$1 + } + $14 = HEAP32[($5 + 32 | 0) >> 2] | 0; + (wasm2js_i32$0 = $5, wasm2js_i32$1 = FUNCTION_TABLE[HEAP32[((HEAP32[$14 >> 2] | 0) + 20 | 0) >> 2] | 0 | 0]($14) | 0), HEAP32[(wasm2js_i32$0 + 24 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($5 + 20 | 0) >> 2] = 0; + label$2 : { + label$3 : while (1) { + if (!((HEAP32[($5 + 20 | 0) >> 2] | 0 | 0) < (HEAP32[($5 + 28 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($5 + 16 | 0) >> 2] = (HEAP32[($5 + 24 | 0) >> 2] | 0) + ((HEAP32[($5 + 20 | 0) >> 2] | 0) << 4 | 0) | 0; + HEAP32[($5 + 12 | 0) >> 2] = HEAP32[(HEAP32[(HEAP32[($5 + 16 | 0) >> 2] | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($5 + 8 | 0) >> 2] = HEAP32[(HEAP32[((HEAP32[($5 + 16 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) >> 2] | 0; + label$4 : { + if (!((HEAP32[($5 + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$4 + } + if (!((btCollisionObject__mergesSimulationIslands_28_29_20const(HEAP32[($5 + 12 | 0) >> 2] | 0 | 0) | 0) & 1 | 0)) { + break label$4 + } + if (!((HEAP32[($5 + 8 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$4 + } + if (!((btCollisionObject__mergesSimulationIslands_28_29_20const(HEAP32[($5 + 8 | 0) >> 2] | 0 | 0) | 0) & 1 | 0)) { + break label$4 + } + btUnionFind__unite_28int_2c_20int_29($6 + 4 | 0 | 0, btCollisionObject__getIslandTag_28_29_20const(HEAP32[($5 + 12 | 0) >> 2] | 0 | 0) | 0 | 0, btCollisionObject__getIslandTag_28_29_20const(HEAP32[($5 + 8 | 0) >> 2] | 0 | 0) | 0 | 0); + } + HEAP32[($5 + 20 | 0) >> 2] = (HEAP32[($5 + 20 | 0) >> 2] | 0) + 1 | 0; + continue label$3; + }; + } + } + __stack_pointer = $5 + 48 | 0; + return; + } + + function btCollisionObject__mergesSimulationIslands_28_29_20const($0) { + $0 = $0 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + return ((HEAP32[((HEAP32[($3 + 12 | 0) >> 2] | 0) + 204 | 0) >> 2] | 0) & 7 | 0 | 0) == (0 | 0) & 1 | 0 | 0; + } + + function btSimulationIslandManager__updateActivationState_28btCollisionWorld__2c_20btDispatcher__29($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $5 = 0, $6 = 0, $28 = 0, $27 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5 = __stack_pointer - 32 | 0; + __stack_pointer = $5; + HEAP32[($5 + 28 | 0) >> 2] = $0; + HEAP32[($5 + 24 | 0) >> 2] = $1; + HEAP32[($5 + 20 | 0) >> 2] = $2; + $6 = HEAP32[($5 + 28 | 0) >> 2] | 0; + HEAP32[($5 + 16 | 0) >> 2] = 0; + HEAP32[($5 + 12 | 0) >> 2] = 0; + label$1 : { + label$2 : while (1) { + if (!((HEAP32[($5 + 12 | 0) >> 2] | 0 | 0) < (btAlignedObjectArray_btCollisionObject____size_28_29_20const(btCollisionWorld__getCollisionObjectArray_28_29(HEAP32[($5 + 24 | 0) >> 2] | 0 | 0) | 0 | 0) | 0 | 0) & 1 | 0)) { + break label$1 + } + (wasm2js_i32$0 = $5, wasm2js_i32$1 = HEAP32[(btAlignedObjectArray_btCollisionObject____operator_5b_5d_28int_29(btCollisionWorld__getCollisionObjectArray_28_29(HEAP32[($5 + 24 | 0) >> 2] | 0 | 0) | 0 | 0, HEAP32[($5 + 12 | 0) >> 2] | 0 | 0) | 0) >> 2] | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + label$3 : { + if ((btCollisionObject__isStaticOrKinematicObject_28_29_20const(HEAP32[($5 + 8 | 0) >> 2] | 0 | 0) | 0) & 1 | 0) { + break label$3 + } + $27 = HEAP32[($5 + 8 | 0) >> 2] | 0; + $28 = HEAP32[($5 + 16 | 0) >> 2] | 0; + HEAP32[($5 + 16 | 0) >> 2] = $28 + 1 | 0; + btCollisionObject__setIslandTag_28int_29($27 | 0, $28 | 0); + } + btCollisionObject__setCompanionId_28int_29(HEAP32[($5 + 8 | 0) >> 2] | 0 | 0, -1 | 0); + btCollisionObject__setHitFraction_28float_29(HEAP32[($5 + 8 | 0) >> 2] | 0 | 0, Math_fround(Math_fround(1.0))); + HEAP32[($5 + 12 | 0) >> 2] = (HEAP32[($5 + 12 | 0) >> 2] | 0) + 1 | 0; + continue label$2; + }; + } + btSimulationIslandManager__initUnionFind_28int_29($6 | 0, HEAP32[($5 + 16 | 0) >> 2] | 0 | 0); + btSimulationIslandManager__findUnions_28btDispatcher__2c_20btCollisionWorld__29($6 | 0, HEAP32[($5 + 20 | 0) >> 2] | 0 | 0, HEAP32[($5 + 24 | 0) >> 2] | 0 | 0); + __stack_pointer = $5 + 32 | 0; + return; + } + + function btCollisionWorld__getCollisionObjectArray_28_29($0) { + $0 = $0 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + return (HEAP32[($3 + 12 | 0) >> 2] | 0) + 4 | 0 | 0; + } + + function btCollisionObject__setIslandTag_28int_29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0; + $4 = __stack_pointer - 16 | 0; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + HEAP32[((HEAP32[($4 + 12 | 0) >> 2] | 0) + 208 | 0) >> 2] = HEAP32[($4 + 8 | 0) >> 2] | 0; + return; + } + + function btSimulationIslandManager__storeIslandActivationState_28btCollisionWorld__29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, $5 = 0, $31 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4 = __stack_pointer - 32 | 0; + __stack_pointer = $4; + HEAP32[($4 + 28 | 0) >> 2] = $0; + HEAP32[($4 + 24 | 0) >> 2] = $1; + $5 = HEAP32[($4 + 28 | 0) >> 2] | 0; + HEAP32[($4 + 20 | 0) >> 2] = 0; + HEAP32[($4 + 16 | 0) >> 2] = 0; + label$1 : { + label$2 : while (1) { + if (!((HEAP32[($4 + 16 | 0) >> 2] | 0 | 0) < (btAlignedObjectArray_btCollisionObject____size_28_29_20const(btCollisionWorld__getCollisionObjectArray_28_29(HEAP32[($4 + 24 | 0) >> 2] | 0 | 0) | 0 | 0) | 0 | 0) & 1 | 0)) { + break label$1 + } + (wasm2js_i32$0 = $4, wasm2js_i32$1 = HEAP32[(btAlignedObjectArray_btCollisionObject____operator_5b_5d_28int_29(btCollisionWorld__getCollisionObjectArray_28_29(HEAP32[($4 + 24 | 0) >> 2] | 0 | 0) | 0 | 0, HEAP32[($4 + 16 | 0) >> 2] | 0 | 0) | 0) >> 2] | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + label$3 : { + label$4 : { + if ((btCollisionObject__isStaticOrKinematicObject_28_29_20const(HEAP32[($4 + 12 | 0) >> 2] | 0 | 0) | 0) & 1 | 0) { + break label$4 + } + btCollisionObject__setIslandTag_28int_29(HEAP32[($4 + 12 | 0) >> 2] | 0 | 0, btUnionFind__find_28int_29($5 + 4 | 0 | 0, HEAP32[($4 + 20 | 0) >> 2] | 0 | 0) | 0 | 0); + $31 = HEAP32[($4 + 16 | 0) >> 2] | 0; + (wasm2js_i32$0 = btUnionFind__getElement_28int_29($5 + 4 | 0 | 0, HEAP32[($4 + 20 | 0) >> 2] | 0 | 0) | 0, wasm2js_i32$1 = $31), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + btCollisionObject__setCompanionId_28int_29(HEAP32[($4 + 12 | 0) >> 2] | 0 | 0, -1 | 0); + HEAP32[($4 + 20 | 0) >> 2] = (HEAP32[($4 + 20 | 0) >> 2] | 0) + 1 | 0; + break label$3; + } + btCollisionObject__setIslandTag_28int_29(HEAP32[($4 + 12 | 0) >> 2] | 0 | 0, -1 | 0); + btCollisionObject__setCompanionId_28int_29(HEAP32[($4 + 12 | 0) >> 2] | 0 | 0, -2 | 0); + } + HEAP32[($4 + 16 | 0) >> 2] = (HEAP32[($4 + 16 | 0) >> 2] | 0) + 1 | 0; + continue label$2; + }; + } + __stack_pointer = $4 + 32 | 0; + return; + } + + function btUnionFind__getElement_28int_29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, $7 = 0; + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + $7 = btAlignedObjectArray_btElement___operator_5b_5d_28int_29(HEAP32[($4 + 12 | 0) >> 2] | 0 | 0, HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) | 0; + __stack_pointer = $4 + 16 | 0; + return $7 | 0; + } + + function btSimulationIslandManager__buildIslands_28btDispatcher__2c_20btCollisionWorld__29($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $5 = 0, $6 = 0, $47 = 0, $289 = 0, $301 = 0, $383 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5 = __stack_pointer - 112 | 0; + __stack_pointer = $5; + HEAP32[($5 + 108 | 0) >> 2] = $0; + HEAP32[($5 + 104 | 0) >> 2] = $1; + HEAP32[($5 + 100 | 0) >> 2] = $2; + $6 = HEAP32[($5 + 108 | 0) >> 2] | 0; + CProfileSample__CProfileSample_28char_20const__29($5 + 99 | 0 | 0, 67513 | 0) | 0; + (wasm2js_i32$0 = $5, wasm2js_i32$1 = btCollisionWorld__getCollisionObjectArray_28_29(HEAP32[($5 + 100 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 92 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($5 + 88 | 0) >> 2] = 0; + btAlignedObjectArray_btPersistentManifold____resize_28int_2c_20btPersistentManifold__20const__29($6 + 24 | 0 | 0, 0 | 0, $5 + 88 | 0 | 0); + btUnionFind__sortIslands_28_29(btSimulationIslandManager__getUnionFind_28_29($6 | 0) | 0 | 0); + (wasm2js_i32$0 = $5, wasm2js_i32$1 = btUnionFind__getNumElements_28_29_20const(btSimulationIslandManager__getUnionFind_28_29($6 | 0) | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 84 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($5 + 80 | 0) >> 2] = 1; + HEAP32[($5 + 76 | 0) >> 2] = 0; + label$1 : { + label$2 : while (1) { + if (!((HEAP32[($5 + 76 | 0) >> 2] | 0 | 0) < (HEAP32[($5 + 84 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$1 + } + (wasm2js_i32$0 = $5, wasm2js_i32$1 = HEAP32[(btUnionFind__getElement_28int_29(btSimulationIslandManager__getUnionFind_28_29($6 | 0) | 0 | 0, HEAP32[($5 + 76 | 0) >> 2] | 0 | 0) | 0) >> 2] | 0), HEAP32[(wasm2js_i32$0 + 72 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($5 + 80 | 0) >> 2] = (HEAP32[($5 + 76 | 0) >> 2] | 0) + 1 | 0; + label$3 : while (1) { + $47 = 0; + label$4 : { + if (!((HEAP32[($5 + 80 | 0) >> 2] | 0 | 0) < (HEAP32[($5 + 84 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$4 + } + $47 = (HEAP32[(btUnionFind__getElement_28int_29(btSimulationIslandManager__getUnionFind_28_29($6 | 0) | 0 | 0, HEAP32[($5 + 80 | 0) >> 2] | 0 | 0) | 0) >> 2] | 0 | 0) == (HEAP32[($5 + 72 | 0) >> 2] | 0 | 0); + } + label$5 : { + if (!($47 & 1 | 0)) { + break label$5 + } + HEAP32[($5 + 80 | 0) >> 2] = (HEAP32[($5 + 80 | 0) >> 2] | 0) + 1 | 0; + continue label$3; + } + break label$3; + }; + HEAP8[($5 + 71 | 0) >> 0] = 1; + HEAP32[($5 + 64 | 0) >> 2] = HEAP32[($5 + 76 | 0) >> 2] | 0; + label$6 : { + label$7 : while (1) { + if (!((HEAP32[($5 + 64 | 0) >> 2] | 0 | 0) < (HEAP32[($5 + 80 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$6 + } + (wasm2js_i32$0 = $5, wasm2js_i32$1 = HEAP32[((btUnionFind__getElement_28int_29(btSimulationIslandManager__getUnionFind_28_29($6 | 0) | 0 | 0, HEAP32[($5 + 64 | 0) >> 2] | 0 | 0) | 0) + 4 | 0) >> 2] | 0), HEAP32[(wasm2js_i32$0 + 60 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $5, wasm2js_i32$1 = HEAP32[(btAlignedObjectArray_btCollisionObject____operator_5b_5d_28int_29(HEAP32[($5 + 92 | 0) >> 2] | 0 | 0, HEAP32[($5 + 60 | 0) >> 2] | 0 | 0) | 0) >> 2] | 0), HEAP32[(wasm2js_i32$0 + 56 | 0) >> 2] = wasm2js_i32$1; + label$8 : { + if (!((btCollisionObject__getIslandTag_28_29_20const(HEAP32[($5 + 56 | 0) >> 2] | 0 | 0) | 0 | 0) != (HEAP32[($5 + 72 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$8 + } + if (!((btCollisionObject__getIslandTag_28_29_20const(HEAP32[($5 + 56 | 0) >> 2] | 0 | 0) | 0 | 0) != (-1 | 0) & 1 | 0)) { + break label$8 + } + } + label$9 : { + if ((btCollisionObject__getIslandTag_28_29_20const(HEAP32[($5 + 56 | 0) >> 2] | 0 | 0) | 0 | 0) == (HEAP32[($5 + 72 | 0) >> 2] | 0 | 0) & 1 | 0) { + break label$9 + } + if ((btCollisionObject__getIslandTag_28_29_20const(HEAP32[($5 + 56 | 0) >> 2] | 0 | 0) | 0 | 0) == (-1 | 0) & 1 | 0) { + break label$9 + } + __assert_fail(86552 | 0, 72966 | 0, 245 | 0, 70353 | 0); + wasm2js_trap(); + } + label$10 : { + if (!((btCollisionObject__getIslandTag_28_29_20const(HEAP32[($5 + 56 | 0) >> 2] | 0 | 0) | 0 | 0) == (HEAP32[($5 + 72 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$10 + } + label$11 : { + if (!((btCollisionObject__getActivationState_28_29_20const(HEAP32[($5 + 56 | 0) >> 2] | 0 | 0) | 0 | 0) == (1 | 0) & 1 | 0)) { + break label$11 + } + HEAP8[($5 + 71 | 0) >> 0] = 0; + } + label$12 : { + if (!((btCollisionObject__getActivationState_28_29_20const(HEAP32[($5 + 56 | 0) >> 2] | 0 | 0) | 0 | 0) == (4 | 0) & 1 | 0)) { + break label$12 + } + HEAP8[($5 + 71 | 0) >> 0] = 0; + } + } + HEAP32[($5 + 64 | 0) >> 2] = (HEAP32[($5 + 64 | 0) >> 2] | 0) + 1 | 0; + continue label$7; + }; + } + label$13 : { + label$14 : { + if (!((HEAPU8[($5 + 71 | 0) >> 0] | 0) & 1 | 0)) { + break label$14 + } + HEAP32[($5 + 52 | 0) >> 2] = HEAP32[($5 + 76 | 0) >> 2] | 0; + label$15 : { + label$16 : while (1) { + if (!((HEAP32[($5 + 52 | 0) >> 2] | 0 | 0) < (HEAP32[($5 + 80 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$15 + } + (wasm2js_i32$0 = $5, wasm2js_i32$1 = HEAP32[((btUnionFind__getElement_28int_29(btSimulationIslandManager__getUnionFind_28_29($6 | 0) | 0 | 0, HEAP32[($5 + 52 | 0) >> 2] | 0 | 0) | 0) + 4 | 0) >> 2] | 0), HEAP32[(wasm2js_i32$0 + 48 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $5, wasm2js_i32$1 = HEAP32[(btAlignedObjectArray_btCollisionObject____operator_5b_5d_28int_29(HEAP32[($5 + 92 | 0) >> 2] | 0 | 0, HEAP32[($5 + 48 | 0) >> 2] | 0 | 0) | 0) >> 2] | 0), HEAP32[(wasm2js_i32$0 + 44 | 0) >> 2] = wasm2js_i32$1; + label$17 : { + if (!((btCollisionObject__getIslandTag_28_29_20const(HEAP32[($5 + 44 | 0) >> 2] | 0 | 0) | 0 | 0) != (HEAP32[($5 + 72 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$17 + } + if (!((btCollisionObject__getIslandTag_28_29_20const(HEAP32[($5 + 44 | 0) >> 2] | 0 | 0) | 0 | 0) != (-1 | 0) & 1 | 0)) { + break label$17 + } + } + label$18 : { + if ((btCollisionObject__getIslandTag_28_29_20const(HEAP32[($5 + 44 | 0) >> 2] | 0 | 0) | 0 | 0) == (HEAP32[($5 + 72 | 0) >> 2] | 0 | 0) & 1 | 0) { + break label$18 + } + if ((btCollisionObject__getIslandTag_28_29_20const(HEAP32[($5 + 44 | 0) >> 2] | 0 | 0) | 0 | 0) == (-1 | 0) & 1 | 0) { + break label$18 + } + __assert_fail(86552 | 0, 72966 | 0, 272 | 0, 70353 | 0); + wasm2js_trap(); + } + label$19 : { + if (!((btCollisionObject__getIslandTag_28_29_20const(HEAP32[($5 + 44 | 0) >> 2] | 0 | 0) | 0 | 0) == (HEAP32[($5 + 72 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$19 + } + btCollisionObject__setActivationState_28int_29_20const(HEAP32[($5 + 44 | 0) >> 2] | 0 | 0, 2 | 0); + } + HEAP32[($5 + 52 | 0) >> 2] = (HEAP32[($5 + 52 | 0) >> 2] | 0) + 1 | 0; + continue label$16; + }; + } + break label$13; + } + HEAP32[($5 + 40 | 0) >> 2] = HEAP32[($5 + 76 | 0) >> 2] | 0; + label$20 : { + label$21 : while (1) { + if (!((HEAP32[($5 + 40 | 0) >> 2] | 0 | 0) < (HEAP32[($5 + 80 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$20 + } + (wasm2js_i32$0 = $5, wasm2js_i32$1 = HEAP32[((btUnionFind__getElement_28int_29(btSimulationIslandManager__getUnionFind_28_29($6 | 0) | 0 | 0, HEAP32[($5 + 40 | 0) >> 2] | 0 | 0) | 0) + 4 | 0) >> 2] | 0), HEAP32[(wasm2js_i32$0 + 36 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $5, wasm2js_i32$1 = HEAP32[(btAlignedObjectArray_btCollisionObject____operator_5b_5d_28int_29(HEAP32[($5 + 92 | 0) >> 2] | 0 | 0, HEAP32[($5 + 36 | 0) >> 2] | 0 | 0) | 0) >> 2] | 0), HEAP32[(wasm2js_i32$0 + 32 | 0) >> 2] = wasm2js_i32$1; + label$22 : { + if (!((btCollisionObject__getIslandTag_28_29_20const(HEAP32[($5 + 32 | 0) >> 2] | 0 | 0) | 0 | 0) != (HEAP32[($5 + 72 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$22 + } + if (!((btCollisionObject__getIslandTag_28_29_20const(HEAP32[($5 + 32 | 0) >> 2] | 0 | 0) | 0 | 0) != (-1 | 0) & 1 | 0)) { + break label$22 + } + } + label$23 : { + if ((btCollisionObject__getIslandTag_28_29_20const(HEAP32[($5 + 32 | 0) >> 2] | 0 | 0) | 0 | 0) == (HEAP32[($5 + 72 | 0) >> 2] | 0 | 0) & 1 | 0) { + break label$23 + } + if ((btCollisionObject__getIslandTag_28_29_20const(HEAP32[($5 + 32 | 0) >> 2] | 0 | 0) | 0 | 0) == (-1 | 0) & 1 | 0) { + break label$23 + } + __assert_fail(86552 | 0, 72966 | 0, 293 | 0, 70353 | 0); + wasm2js_trap(); + } + label$24 : { + if (!((btCollisionObject__getIslandTag_28_29_20const(HEAP32[($5 + 32 | 0) >> 2] | 0 | 0) | 0 | 0) == (HEAP32[($5 + 72 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$24 + } + label$25 : { + if (!((btCollisionObject__getActivationState_28_29_20const(HEAP32[($5 + 32 | 0) >> 2] | 0 | 0) | 0 | 0) == (2 | 0) & 1 | 0)) { + break label$25 + } + btCollisionObject__setActivationState_28int_29_20const(HEAP32[($5 + 32 | 0) >> 2] | 0 | 0, 3 | 0); + btCollisionObject__setDeactivationTime_28float_29(HEAP32[($5 + 32 | 0) >> 2] | 0 | 0, Math_fround(Math_fround(0 | 0))); + } + } + HEAP32[($5 + 40 | 0) >> 2] = (HEAP32[($5 + 40 | 0) >> 2] | 0) + 1 | 0; + continue label$21; + }; + } + } + HEAP32[($5 + 76 | 0) >> 2] = HEAP32[($5 + 80 | 0) >> 2] | 0; + continue label$2; + }; + } + $289 = HEAP32[($5 + 104 | 0) >> 2] | 0; + (wasm2js_i32$0 = $5, wasm2js_i32$1 = FUNCTION_TABLE[HEAP32[((HEAP32[$289 >> 2] | 0) + 36 | 0) >> 2] | 0 | 0]($289) | 0), HEAP32[(wasm2js_i32$0 + 24 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($5 + 28 | 0) >> 2] = 0; + label$26 : { + label$27 : while (1) { + if (!((HEAP32[($5 + 28 | 0) >> 2] | 0 | 0) < (HEAP32[($5 + 24 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$26 + } + $301 = HEAP32[($5 + 104 | 0) >> 2] | 0; + (wasm2js_i32$0 = $5, wasm2js_i32$1 = FUNCTION_TABLE[HEAP32[((HEAP32[$301 >> 2] | 0) + 40 | 0) >> 2] | 0 | 0]($301, HEAP32[($5 + 28 | 0) >> 2] | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $5, wasm2js_i32$1 = btPersistentManifold__getBody0_28_29_20const(HEAP32[($5 + 20 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $5, wasm2js_i32$1 = btPersistentManifold__getBody1_28_29_20const(HEAP32[($5 + 20 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + label$28 : { + label$29 : { + label$30 : { + if (!((HEAP32[($5 + 16 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$30 + } + if ((btCollisionObject__getActivationState_28_29_20const(HEAP32[($5 + 16 | 0) >> 2] | 0 | 0) | 0 | 0) != (2 | 0) & 1 | 0) { + break label$29 + } + } + if (!((HEAP32[($5 + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$28 + } + if (!((btCollisionObject__getActivationState_28_29_20const(HEAP32[($5 + 12 | 0) >> 2] | 0 | 0) | 0 | 0) != (2 | 0) & 1 | 0)) { + break label$28 + } + } + label$31 : { + if (!((btCollisionObject__isKinematicObject_28_29_20const(HEAP32[($5 + 16 | 0) >> 2] | 0 | 0) | 0) & 1 | 0)) { + break label$31 + } + if (!((btCollisionObject__getActivationState_28_29_20const(HEAP32[($5 + 16 | 0) >> 2] | 0 | 0) | 0 | 0) != (2 | 0) & 1 | 0)) { + break label$31 + } + label$32 : { + if (!((btCollisionObject__hasContactResponse_28_29_20const(HEAP32[($5 + 16 | 0) >> 2] | 0 | 0) | 0) & 1 | 0)) { + break label$32 + } + btCollisionObject__activate_28bool_29_20const(HEAP32[($5 + 12 | 0) >> 2] | 0 | 0, 0 & 1 | 0 | 0); + } + } + label$33 : { + if (!((btCollisionObject__isKinematicObject_28_29_20const(HEAP32[($5 + 12 | 0) >> 2] | 0 | 0) | 0) & 1 | 0)) { + break label$33 + } + if (!((btCollisionObject__getActivationState_28_29_20const(HEAP32[($5 + 12 | 0) >> 2] | 0 | 0) | 0 | 0) != (2 | 0) & 1 | 0)) { + break label$33 + } + label$34 : { + if (!((btCollisionObject__hasContactResponse_28_29_20const(HEAP32[($5 + 12 | 0) >> 2] | 0 | 0) | 0) & 1 | 0)) { + break label$34 + } + btCollisionObject__activate_28bool_29_20const(HEAP32[($5 + 16 | 0) >> 2] | 0 | 0, 0 & 1 | 0 | 0); + } + } + label$35 : { + if (!((HEAPU8[($6 + 64 | 0) >> 0] | 0) & 1 | 0)) { + break label$35 + } + $383 = HEAP32[($5 + 104 | 0) >> 2] | 0; + label$36 : { + if (!((FUNCTION_TABLE[HEAP32[((HEAP32[$383 >> 2] | 0) + 28 | 0) >> 2] | 0 | 0]($383, HEAP32[($5 + 16 | 0) >> 2] | 0, HEAP32[($5 + 12 | 0) >> 2] | 0) | 0) & 1 | 0)) { + break label$36 + } + btAlignedObjectArray_btPersistentManifold____push_back_28btPersistentManifold__20const__29($6 + 24 | 0 | 0, $5 + 20 | 0 | 0); + } + } + } + HEAP32[($5 + 28 | 0) >> 2] = (HEAP32[($5 + 28 | 0) >> 2] | 0) + 1 | 0; + continue label$27; + }; + } + CProfileSample___CProfileSample_28_29($5 + 99 | 0 | 0) | 0; + __stack_pointer = $5 + 112 | 0; + return; + } + + function btUnionFind__getNumElements_28_29_20const($0) { + $0 = $0 | 0; + var $3 = 0, $5 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $5 = btAlignedObjectArray_btElement___size_28_29_20const(HEAP32[($3 + 12 | 0) >> 2] | 0 | 0) | 0; + __stack_pointer = $3 + 16 | 0; + return $5 | 0; + } + + function btCollisionObject__setDeactivationTime_28float_29($0, $1) { + $0 = $0 | 0; + $1 = Math_fround($1); + var $4 = 0; + $4 = __stack_pointer - 16 | 0; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAPF32[($4 + 8 | 0) >> 2] = $1; + HEAPF32[((HEAP32[($4 + 12 | 0) >> 2] | 0) + 224 | 0) >> 2] = Math_fround(HEAPF32[($4 + 8 | 0) >> 2]); + return; + } + + function btSimulationIslandManager__buildAndProcessIslands_28btDispatcher__2c_20btCollisionWorld__2c_20btSimulationIslandManager__IslandCallback__29($0, $1, $2, $3) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + var $6 = 0, $7 = 0, $22 = 0, $26 = 0, $30 = 0, $73 = 0, $143 = 0, $166 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0, wasm2js_i32$2 = 0, wasm2js_i32$3 = 0, wasm2js_i32$4 = 0, wasm2js_i32$5 = 0, wasm2js_i32$6 = 0; + $6 = __stack_pointer - 96 | 0; + __stack_pointer = $6; + HEAP32[($6 + 92 | 0) >> 2] = $0; + HEAP32[($6 + 88 | 0) >> 2] = $1; + HEAP32[($6 + 84 | 0) >> 2] = $2; + HEAP32[($6 + 80 | 0) >> 2] = $3; + $7 = HEAP32[($6 + 92 | 0) >> 2] | 0; + (wasm2js_i32$0 = $6, wasm2js_i32$1 = btCollisionWorld__getCollisionObjectArray_28_29(HEAP32[($6 + 84 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 76 | 0) >> 2] = wasm2js_i32$1; + btSimulationIslandManager__buildIslands_28btDispatcher__2c_20btCollisionWorld__29($7 | 0, HEAP32[($6 + 88 | 0) >> 2] | 0 | 0, HEAP32[($6 + 84 | 0) >> 2] | 0 | 0); + HEAP32[($6 + 72 | 0) >> 2] = 1; + (wasm2js_i32$0 = $6, wasm2js_i32$1 = btUnionFind__getNumElements_28_29_20const(btSimulationIslandManager__getUnionFind_28_29($7 | 0) | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 64 | 0) >> 2] = wasm2js_i32$1; + CProfileSample__CProfileSample_28char_20const__29($6 + 63 | 0 | 0, 70311 | 0) | 0; + label$1 : { + label$2 : { + if ((HEAPU8[($7 + 64 | 0) >> 0] | 0) & 1 | 0) { + break label$2 + } + $22 = HEAP32[($6 + 88 | 0) >> 2] | 0; + (wasm2js_i32$0 = $6, wasm2js_i32$1 = FUNCTION_TABLE[HEAP32[((HEAP32[$22 >> 2] | 0) + 44 | 0) >> 2] | 0 | 0]($22) | 0), HEAP32[(wasm2js_i32$0 + 56 | 0) >> 2] = wasm2js_i32$1; + $26 = HEAP32[($6 + 88 | 0) >> 2] | 0; + (wasm2js_i32$0 = $6, wasm2js_i32$1 = FUNCTION_TABLE[HEAP32[((HEAP32[$26 >> 2] | 0) + 36 | 0) >> 2] | 0 | 0]($26) | 0), HEAP32[(wasm2js_i32$0 + 52 | 0) >> 2] = wasm2js_i32$1; + $30 = HEAP32[($6 + 80 | 0) >> 2] | 0; + ((((((wasm2js_i32$1 = $30, wasm2js_i32$2 = btAlignedObjectArray_btCollisionObject____operator_5b_5d_28int_29(HEAP32[($6 + 76 | 0) >> 2] | 0 | 0, 0 | 0) | 0), wasm2js_i32$3 = btAlignedObjectArray_btCollisionObject____size_28_29_20const(HEAP32[($6 + 76 | 0) >> 2] | 0 | 0) | 0), wasm2js_i32$4 = HEAP32[($6 + 56 | 0) >> 2] | 0), wasm2js_i32$5 = HEAP32[($6 + 52 | 0) >> 2] | 0), wasm2js_i32$6 = -1), wasm2js_i32$0 = HEAP32[((HEAP32[$30 >> 2] | 0) + 8 | 0) >> 2] | 0 | 0), FUNCTION_TABLE[wasm2js_i32$0](wasm2js_i32$1 | 0, wasm2js_i32$2 | 0, wasm2js_i32$3 | 0, wasm2js_i32$4 | 0, wasm2js_i32$5 | 0, wasm2js_i32$6 | 0); + break label$1; + } + (wasm2js_i32$0 = $6, wasm2js_i32$6 = btAlignedObjectArray_btPersistentManifold____size_28_29_20const($7 + 24 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 48 | 0) >> 2] = wasm2js_i32$6; + void_20btAlignedObjectArray_btPersistentManifold____quickSort_btPersistentManifoldSortPredicate__28btPersistentManifoldSortPredicate_20const__29($7 + 24 | 0 | 0, $6 + 47 | 0 | 0); + HEAP32[($6 + 40 | 0) >> 2] = 0; + HEAP32[($6 + 36 | 0) >> 2] = 1; + HEAP32[($6 + 68 | 0) >> 2] = 0; + label$3 : { + label$4 : while (1) { + if (!((HEAP32[($6 + 68 | 0) >> 2] | 0 | 0) < (HEAP32[($6 + 64 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$3 + } + (wasm2js_i32$0 = $6, wasm2js_i32$6 = HEAP32[(btUnionFind__getElement_28int_29(btSimulationIslandManager__getUnionFind_28_29($7 | 0) | 0 | 0, HEAP32[($6 + 68 | 0) >> 2] | 0 | 0) | 0) >> 2] | 0), HEAP32[(wasm2js_i32$0 + 32 | 0) >> 2] = wasm2js_i32$6; + HEAP8[($6 + 31 | 0) >> 0] = 1; + HEAP32[($6 + 72 | 0) >> 2] = HEAP32[($6 + 68 | 0) >> 2] | 0; + label$5 : while (1) { + $73 = 0; + label$6 : { + if (!((HEAP32[($6 + 72 | 0) >> 2] | 0 | 0) < (HEAP32[($6 + 64 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$6 + } + $73 = (HEAP32[(btUnionFind__getElement_28int_29(btSimulationIslandManager__getUnionFind_28_29($7 | 0) | 0 | 0, HEAP32[($6 + 72 | 0) >> 2] | 0 | 0) | 0) >> 2] | 0 | 0) == (HEAP32[($6 + 32 | 0) >> 2] | 0 | 0); + } + label$7 : { + if (!($73 & 1 | 0)) { + break label$7 + } + (wasm2js_i32$0 = $6, wasm2js_i32$6 = HEAP32[((btUnionFind__getElement_28int_29(btSimulationIslandManager__getUnionFind_28_29($7 | 0) | 0 | 0, HEAP32[($6 + 72 | 0) >> 2] | 0 | 0) | 0) + 4 | 0) >> 2] | 0), HEAP32[(wasm2js_i32$0 + 24 | 0) >> 2] = wasm2js_i32$6; + (wasm2js_i32$0 = $6, wasm2js_i32$6 = HEAP32[(btAlignedObjectArray_btCollisionObject____operator_5b_5d_28int_29(HEAP32[($6 + 76 | 0) >> 2] | 0 | 0, HEAP32[($6 + 24 | 0) >> 2] | 0 | 0) | 0) >> 2] | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$6; + btAlignedObjectArray_btCollisionObject____push_back_28btCollisionObject__20const__29($7 + 44 | 0 | 0, $6 + 20 | 0 | 0); + label$8 : { + if (!((btCollisionObject__isActive_28_29_20const(HEAP32[($6 + 20 | 0) >> 2] | 0 | 0) | 0) & 1 | 0)) { + break label$8 + } + HEAP8[($6 + 31 | 0) >> 0] = 0; + } + HEAP32[($6 + 72 | 0) >> 2] = (HEAP32[($6 + 72 | 0) >> 2] | 0) + 1 | 0; + continue label$5; + } + break label$5; + }; + HEAP32[($6 + 16 | 0) >> 2] = 0; + HEAP32[($6 + 12 | 0) >> 2] = 0; + label$9 : { + if (!((HEAP32[($6 + 40 | 0) >> 2] | 0 | 0) < (HEAP32[($6 + 48 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$9 + } + (wasm2js_i32$0 = $6, wasm2js_i32$6 = getIslandId_28btPersistentManifold_20const__29(HEAP32[(btAlignedObjectArray_btPersistentManifold____operator_5b_5d_28int_29($7 + 24 | 0 | 0, HEAP32[($6 + 40 | 0) >> 2] | 0 | 0) | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$6; + label$10 : { + if (!((HEAP32[($6 + 8 | 0) >> 2] | 0 | 0) == (HEAP32[($6 + 32 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$10 + } + (wasm2js_i32$0 = $6, wasm2js_i32$6 = btAlignedObjectArray_btPersistentManifold____operator_5b_5d_28int_29($7 + 24 | 0 | 0, HEAP32[($6 + 40 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$6; + HEAP32[($6 + 36 | 0) >> 2] = (HEAP32[($6 + 40 | 0) >> 2] | 0) + 1 | 0; + label$11 : while (1) { + $143 = 0; + label$12 : { + if (!((HEAP32[($6 + 36 | 0) >> 2] | 0 | 0) < (HEAP32[($6 + 48 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$12 + } + $143 = (HEAP32[($6 + 32 | 0) >> 2] | 0 | 0) == (getIslandId_28btPersistentManifold_20const__29(HEAP32[(btAlignedObjectArray_btPersistentManifold____operator_5b_5d_28int_29($7 + 24 | 0 | 0, HEAP32[($6 + 36 | 0) >> 2] | 0 | 0) | 0) >> 2] | 0 | 0) | 0 | 0); + } + label$13 : { + if (!($143 & 1 | 0)) { + break label$13 + } + HEAP32[($6 + 36 | 0) >> 2] = (HEAP32[($6 + 36 | 0) >> 2] | 0) + 1 | 0; + continue label$11; + } + break label$11; + }; + HEAP32[($6 + 16 | 0) >> 2] = (HEAP32[($6 + 36 | 0) >> 2] | 0) - (HEAP32[($6 + 40 | 0) >> 2] | 0) | 0; + } + } + label$14 : { + if ((HEAPU8[($6 + 31 | 0) >> 0] | 0) & 1 | 0) { + break label$14 + } + $166 = HEAP32[($6 + 80 | 0) >> 2] | 0; + ((((((wasm2js_i32$6 = $166, wasm2js_i32$5 = btAlignedObjectArray_btCollisionObject____operator_5b_5d_28int_29($7 + 44 | 0 | 0, 0 | 0) | 0), wasm2js_i32$4 = btAlignedObjectArray_btCollisionObject____size_28_29_20const($7 + 44 | 0 | 0) | 0), wasm2js_i32$3 = HEAP32[($6 + 12 | 0) >> 2] | 0), wasm2js_i32$2 = HEAP32[($6 + 16 | 0) >> 2] | 0), wasm2js_i32$1 = HEAP32[($6 + 32 | 0) >> 2] | 0), wasm2js_i32$0 = HEAP32[((HEAP32[$166 >> 2] | 0) + 8 | 0) >> 2] | 0 | 0), FUNCTION_TABLE[wasm2js_i32$0](wasm2js_i32$6 | 0, wasm2js_i32$5 | 0, wasm2js_i32$4 | 0, wasm2js_i32$3 | 0, wasm2js_i32$2 | 0, wasm2js_i32$1 | 0); + } + label$15 : { + if (!(HEAP32[($6 + 16 | 0) >> 2] | 0)) { + break label$15 + } + HEAP32[($6 + 40 | 0) >> 2] = HEAP32[($6 + 36 | 0) >> 2] | 0; + } + HEAP32[($6 + 4 | 0) >> 2] = 0; + btAlignedObjectArray_btCollisionObject____resize_28int_2c_20btCollisionObject__20const__29($7 + 44 | 0 | 0, 0 | 0, $6 + 4 | 0 | 0); + HEAP32[($6 + 68 | 0) >> 2] = HEAP32[($6 + 72 | 0) >> 2] | 0; + continue label$4; + }; + } + } + CProfileSample___CProfileSample_28_29($6 + 63 | 0 | 0) | 0; + __stack_pointer = $6 + 96 | 0; + return; + } + + function void_20btAlignedObjectArray_btPersistentManifold____quickSort_btPersistentManifoldSortPredicate__28btPersistentManifoldSortPredicate_20const__29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, $5 = 0; + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; + label$1 : { + if (!((btAlignedObjectArray_btPersistentManifold____size_28_29_20const($5 | 0) | 0 | 0) > (1 | 0) & 1 | 0)) { + break label$1 + } + void_20btAlignedObjectArray_btPersistentManifold____quickSortInternal_btPersistentManifoldSortPredicate__28btPersistentManifoldSortPredicate_20const__2c_20int_2c_20int_29($5 | 0, HEAP32[($4 + 8 | 0) >> 2] | 0 | 0, 0 | 0, (btAlignedObjectArray_btPersistentManifold____size_28_29_20const($5 | 0) | 0) - 1 | 0 | 0); + } + __stack_pointer = $4 + 16 | 0; + return; + } + + function getIslandId_28btPersistentManifold_20const__29($0) { + $0 = $0 | 0; + var $3 = 0, $18 = 0, $22 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + (wasm2js_i32$0 = $3, wasm2js_i32$1 = btPersistentManifold__getBody0_28_29_20const(HEAP32[($3 + 12 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $3, wasm2js_i32$1 = btPersistentManifold__getBody1_28_29_20const(HEAP32[($3 + 12 | 0) >> 2] | 0 | 0) | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + label$1 : { + label$2 : { + if (!((btCollisionObject__getIslandTag_28_29_20const(HEAP32[($3 + 4 | 0) >> 2] | 0 | 0) | 0 | 0) >= (0 | 0) & 1 | 0)) { + break label$2 + } + $18 = btCollisionObject__getIslandTag_28_29_20const(HEAP32[($3 + 4 | 0) >> 2] | 0 | 0) | 0; + break label$1; + } + $18 = btCollisionObject__getIslandTag_28_29_20const(HEAP32[$3 >> 2] | 0 | 0) | 0; + } + HEAP32[($3 + 8 | 0) >> 2] = $18; + $22 = HEAP32[($3 + 8 | 0) >> 2] | 0; + __stack_pointer = $3 + 16 | 0; + return $22 | 0; + } + + function void_20btAlignedObjectArray_btPersistentManifold____quickSortInternal_btPersistentManifoldSortPredicate__28btPersistentManifoldSortPredicate_20const__2c_20int_2c_20int_29($0, $1, $2, $3) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + var $6 = 0, $7 = 0; + $6 = __stack_pointer - 32 | 0; + __stack_pointer = $6; + HEAP32[($6 + 28 | 0) >> 2] = $0; + HEAP32[($6 + 24 | 0) >> 2] = $1; + HEAP32[($6 + 20 | 0) >> 2] = $2; + HEAP32[($6 + 16 | 0) >> 2] = $3; + $7 = HEAP32[($6 + 28 | 0) >> 2] | 0; + HEAP32[($6 + 12 | 0) >> 2] = HEAP32[($6 + 20 | 0) >> 2] | 0; + HEAP32[($6 + 8 | 0) >> 2] = HEAP32[($6 + 16 | 0) >> 2] | 0; + HEAP32[($6 + 4 | 0) >> 2] = HEAP32[((HEAP32[($7 + 12 | 0) >> 2] | 0) + ((((HEAP32[($6 + 20 | 0) >> 2] | 0) + (HEAP32[($6 + 16 | 0) >> 2] | 0) | 0 | 0) / (2 | 0) | 0) << 2 | 0) | 0) >> 2] | 0; + label$1 : while (1) { + label$2 : { + label$3 : while (1) { + if (!((btPersistentManifoldSortPredicate__operator_28_29_28btPersistentManifold_20const__2c_20btPersistentManifold_20const__29_20const(HEAP32[($6 + 24 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($7 + 12 | 0) >> 2] | 0) + ((HEAP32[($6 + 12 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0, HEAP32[($6 + 4 | 0) >> 2] | 0 | 0) | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($6 + 12 | 0) >> 2] = (HEAP32[($6 + 12 | 0) >> 2] | 0) + 1 | 0; + continue label$3; + }; + } + label$4 : { + label$5 : while (1) { + if (!((btPersistentManifoldSortPredicate__operator_28_29_28btPersistentManifold_20const__2c_20btPersistentManifold_20const__29_20const(HEAP32[($6 + 24 | 0) >> 2] | 0 | 0, HEAP32[($6 + 4 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($7 + 12 | 0) >> 2] | 0) + ((HEAP32[($6 + 8 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0) | 0) & 1 | 0)) { + break label$4 + } + HEAP32[($6 + 8 | 0) >> 2] = (HEAP32[($6 + 8 | 0) >> 2] | 0) + -1 | 0; + continue label$5; + }; + } + label$6 : { + if (!((HEAP32[($6 + 12 | 0) >> 2] | 0 | 0) <= (HEAP32[($6 + 8 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$6 + } + btAlignedObjectArray_btPersistentManifold____swap_28int_2c_20int_29($7 | 0, HEAP32[($6 + 12 | 0) >> 2] | 0 | 0, HEAP32[($6 + 8 | 0) >> 2] | 0 | 0); + HEAP32[($6 + 12 | 0) >> 2] = (HEAP32[($6 + 12 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($6 + 8 | 0) >> 2] = (HEAP32[($6 + 8 | 0) >> 2] | 0) + -1 | 0; + } + if ((HEAP32[($6 + 12 | 0) >> 2] | 0 | 0) <= (HEAP32[($6 + 8 | 0) >> 2] | 0 | 0) & 1 | 0) { + continue label$1 + } + break label$1; + }; + label$7 : { + if (!((HEAP32[($6 + 20 | 0) >> 2] | 0 | 0) < (HEAP32[($6 + 8 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$7 + } + void_20btAlignedObjectArray_btPersistentManifold____quickSortInternal_btPersistentManifoldSortPredicate__28btPersistentManifoldSortPredicate_20const__2c_20int_2c_20int_29($7 | 0, HEAP32[($6 + 24 | 0) >> 2] | 0 | 0, HEAP32[($6 + 20 | 0) >> 2] | 0 | 0, HEAP32[($6 + 8 | 0) >> 2] | 0 | 0); + } + label$8 : { + if (!((HEAP32[($6 + 12 | 0) >> 2] | 0 | 0) < (HEAP32[($6 + 16 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$8 + } + void_20btAlignedObjectArray_btPersistentManifold____quickSortInternal_btPersistentManifoldSortPredicate__28btPersistentManifoldSortPredicate_20const__2c_20int_2c_20int_29($7 | 0, HEAP32[($6 + 24 | 0) >> 2] | 0 | 0, HEAP32[($6 + 12 | 0) >> 2] | 0 | 0, HEAP32[($6 + 16 | 0) >> 2] | 0 | 0); + } + __stack_pointer = $6 + 32 | 0; + return; + } + + function btPersistentManifoldSortPredicate__operator_28_29_28btPersistentManifold_20const__2c_20btPersistentManifold_20const__29_20const($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $5 = 0, $14 = 0; + $5 = __stack_pointer - 16 | 0; + __stack_pointer = $5; + HEAP32[($5 + 12 | 0) >> 2] = $0; + HEAP32[($5 + 8 | 0) >> 2] = $1; + HEAP32[($5 + 4 | 0) >> 2] = $2; + $14 = (getIslandId_28btPersistentManifold_20const__29(HEAP32[($5 + 8 | 0) >> 2] | 0 | 0) | 0 | 0) < (getIslandId_28btPersistentManifold_20const__29(HEAP32[($5 + 4 | 0) >> 2] | 0 | 0) | 0 | 0) & 1 | 0; + __stack_pointer = $5 + 16 | 0; + return $14 | 0; + } + + function _GLOBAL__sub_I_btSimulationIslandManager_cpp() { + __cxx_global_var_init_76(); + return; + } + + function __cxx_global_var_init_77() { + btInfMaskConverter__btInfMaskConverter_28int_29(116140 | 0, 2139095040 | 0) | 0; + return; + } + + function __cxx_global_var_init_2_2() { + var $2 = 0; + $2 = __stack_pointer - 16 | 0; + __stack_pointer = $2; + HEAPF32[($2 + 12 | 0) >> 2] = Math_fround(1.0); + HEAPF32[($2 + 8 | 0) >> 2] = Math_fround(0 | 0); + HEAPF32[($2 + 4 | 0) >> 2] = Math_fround(0 | 0); + btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29(116144 | 0, $2 + 12 | 0 | 0, $2 + 8 | 0 | 0, $2 + 4 | 0 | 0) | 0; + __stack_pointer = $2 + 16 | 0; + return; + } + + function fabs_5babi_v160004_5d_28float_29($0) { + $0 = Math_fround($0); + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + HEAPF32[($3 + 12 | 0) >> 2] = $0; + return Math_fround(Math_fround(Math_abs(Math_fround(HEAPF32[($3 + 12 | 0) >> 2])))); + } + + function btConeTwistConstraint__GetPointForAngle_28float_2c_20float_29_20const($0, $1, $2, $3) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = Math_fround($2); + $3 = Math_fround($3); + var $6 = 0, $7 = 0, wasm2js_i32$0 = 0, wasm2js_f32$0 = Math_fround(0); + $6 = __stack_pointer - 112 | 0; + __stack_pointer = $6; + HEAP32[($6 + 108 | 0) >> 2] = $1; + HEAPF32[($6 + 104 | 0) >> 2] = $2; + HEAPF32[($6 + 100 | 0) >> 2] = $3; + $7 = HEAP32[($6 + 108 | 0) >> 2] | 0; + (wasm2js_i32$0 = $6, wasm2js_f32$0 = Math_fround(btCos_28float_29(Math_fround(Math_fround(HEAPF32[($6 + 104 | 0) >> 2]))))), HEAPF32[(wasm2js_i32$0 + 96 | 0) >> 2] = wasm2js_f32$0; + (wasm2js_i32$0 = $6, wasm2js_f32$0 = Math_fround(btSin_28float_29(Math_fround(Math_fround(HEAPF32[($6 + 104 | 0) >> 2]))))), HEAPF32[(wasm2js_i32$0 + 92 | 0) >> 2] = wasm2js_f32$0; + HEAPF32[($6 + 88 | 0) >> 2] = Math_fround(HEAPF32[($7 + 444 | 0) >> 2]); + label$1 : { + if (!(Math_fround(fabs_5babi_v160004_5d_28float_29(Math_fround(Math_fround(HEAPF32[($6 + 96 | 0) >> 2])))) > Math_fround(1.1920928955078125e-07) & 1 | 0)) { + break label$1 + } + HEAPF32[($6 + 84 | 0) >> 2] = Math_fround(Math_fround(Math_fround(HEAPF32[($6 + 92 | 0) >> 2]) * Math_fround(HEAPF32[($6 + 92 | 0) >> 2])) / Math_fround(Math_fround(HEAPF32[($6 + 96 | 0) >> 2]) * Math_fround(HEAPF32[($6 + 96 | 0) >> 2]))); + HEAPF32[($6 + 80 | 0) >> 2] = Math_fround(Math_fround(1.0) / Math_fround(Math_fround(HEAPF32[($7 + 448 | 0) >> 2]) * Math_fround(HEAPF32[($7 + 448 | 0) >> 2]))); + HEAPF32[($6 + 80 | 0) >> 2] = Math_fround(Math_fround(HEAPF32[($6 + 80 | 0) >> 2]) + Math_fround(Math_fround(HEAPF32[($6 + 84 | 0) >> 2]) / Math_fround(Math_fround(HEAPF32[($7 + 444 | 0) >> 2]) * Math_fround(HEAPF32[($7 + 444 | 0) >> 2])))); + HEAPF32[($6 + 76 | 0) >> 2] = Math_fround(Math_fround(Math_fround(1.0) + Math_fround(HEAPF32[($6 + 84 | 0) >> 2])) / Math_fround(HEAPF32[($6 + 80 | 0) >> 2])); + (wasm2js_i32$0 = $6, wasm2js_f32$0 = Math_fround(sqrt_5babi_v160004_5d_28float_29(Math_fround(Math_fround(HEAPF32[($6 + 76 | 0) >> 2]))))), HEAPF32[(wasm2js_i32$0 + 88 | 0) >> 2] = wasm2js_f32$0; + } + HEAPF32[($6 + 56 | 0) >> 2] = Math_fround(0 | 0); + HEAPF32[($6 + 52 | 0) >> 2] = Math_fround(-Math_fround(HEAPF32[($6 + 92 | 0) >> 2])); + btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($6 + 60 | 0 | 0, $6 + 56 | 0 | 0, $6 + 96 | 0 | 0, $6 + 52 | 0 | 0) | 0; + btQuaternion__btQuaternion_28btVector3_20const__2c_20float_20const__29($6 + 36 | 0 | 0, $6 + 60 | 0 | 0, $6 + 88 | 0 | 0) | 0; + HEAPF32[($6 + 16 | 0) >> 2] = Math_fround(0 | 0); + HEAPF32[($6 + 12 | 0) >> 2] = Math_fround(0 | 0); + btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($6 + 20 | 0 | 0, $6 + 100 | 0 | 0, $6 + 16 | 0 | 0, $6 + 12 | 0 | 0) | 0; + quatRotate_28btQuaternion_20const__2c_20btVector3_20const__29($0 | 0, $6 + 36 | 0 | 0, $6 + 20 | 0 | 0); + __stack_pointer = $6 + 112 | 0; + return; + } + + function _GLOBAL__sub_I_btConeTwistConstraint_cpp() { + __cxx_global_var_init_77(); + __cxx_global_var_init_2_2(); + return; + } + + function __cxx_global_var_init_78() { + btInfMaskConverter__btInfMaskConverter_28int_29(116160 | 0, 2139095040 | 0) | 0; + return; + } + + function btGeneric6DofConstraint__getAngle_28int_29_20const($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, $13 = Math_fround(0); + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + $13 = Math_fround(HEAPF32[((btVector3__operator_20float_20const__28_29_20const((HEAP32[($4 + 12 | 0) >> 2] | 0) + 1192 | 0 | 0) | 0) + ((HEAP32[($4 + 8 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2]); + __stack_pointer = $4 + 16 | 0; + return Math_fround($13); + } + + function _GLOBAL__sub_I_btGeneric6DofConstraint_cpp() { + __cxx_global_var_init_78(); + return; + } + + function __cxx_global_var_init_79() { + btInfMaskConverter__btInfMaskConverter_28int_29(116164 | 0, 2139095040 | 0) | 0; + return; + } + + function btDiscreteDynamicsWorld__btDiscreteDynamicsWorld_28btDispatcher__2c_20btBroadphaseInterface__2c_20btConstraintSolver__2c_20btCollisionConfiguration__29($0, $1, $2, $3, $4) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + $4 = $4 | 0; + var $7 = 0, $8 = 0, $65 = 0, $71 = 0, $76 = 0, $80 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $7 = __stack_pointer - 48 | 0; + __stack_pointer = $7; + HEAP32[($7 + 40 | 0) >> 2] = $0; + HEAP32[($7 + 36 | 0) >> 2] = $1; + HEAP32[($7 + 32 | 0) >> 2] = $2; + HEAP32[($7 + 28 | 0) >> 2] = $3; + HEAP32[($7 + 24 | 0) >> 2] = $4; + $8 = HEAP32[($7 + 40 | 0) >> 2] | 0; + HEAP32[($7 + 44 | 0) >> 2] = $8; + btDynamicsWorld__btDynamicsWorld_28btDispatcher__2c_20btBroadphaseInterface__2c_20btCollisionConfiguration__29($8 | 0, HEAP32[($7 + 36 | 0) >> 2] | 0 | 0, HEAP32[($7 + 32 | 0) >> 2] | 0 | 0, HEAP32[($7 + 24 | 0) >> 2] | 0 | 0) | 0; + HEAP32[$8 >> 2] = 102792 + 8 | 0; + btAlignedObjectArray_btTypedConstraint____btAlignedObjectArray_28_29($8 + 192 | 0 | 0) | 0; + HEAP32[($8 + 212 | 0) >> 2] = 0; + HEAP32[($8 + 216 | 0) >> 2] = HEAP32[($7 + 28 | 0) >> 2] | 0; + btAlignedObjectArray_btTypedConstraint____btAlignedObjectArray_28_29($8 + 224 | 0 | 0) | 0; + btAlignedObjectArray_btRigidBody____btAlignedObjectArray_28_29($8 + 244 | 0 | 0) | 0; + HEAPF32[($7 + 20 | 0) >> 2] = Math_fround(0 | 0); + HEAPF32[($7 + 16 | 0) >> 2] = Math_fround(-10.0); + HEAPF32[($7 + 12 | 0) >> 2] = Math_fround(0 | 0); + btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($8 + 264 | 0 | 0, $7 + 20 | 0 | 0, $7 + 16 | 0 | 0, $7 + 12 | 0 | 0) | 0; + HEAPF32[($8 + 280 | 0) >> 2] = Math_fround(0 | 0); + HEAPF32[($8 + 284 | 0) >> 2] = Math_fround(0 | 0); + HEAP8[($8 + 290 | 0) >> 0] = 0; + HEAP8[($8 + 291 | 0) >> 0] = 0; + btAlignedObjectArray_btActionInterface____btAlignedObjectArray_28_29($8 + 292 | 0 | 0) | 0; + HEAP32[($8 + 312 | 0) >> 2] = 0; + HEAP8[($8 + 316 | 0) >> 0] = 1; + btAlignedObjectArray_btPersistentManifold____btAlignedObjectArray_28_29($8 + 320 | 0 | 0) | 0; + btSpinMutex__btSpinMutex_28_29($8 + 340 | 0 | 0) | 0; + label$1 : { + label$2 : { + if ((HEAP32[($8 + 216 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$2 + } + (wasm2js_i32$0 = $7, wasm2js_i32$1 = btAlignedAllocInternal_28unsigned_20long_2c_20int_29(236 | 0, 16 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + $65 = btSequentialImpulseConstraintSolver__operator_20new_28unsigned_20long_2c_20void__29(236 | 0, HEAP32[($7 + 8 | 0) >> 2] | 0 | 0) | 0; + btSequentialImpulseConstraintSolver__btSequentialImpulseConstraintSolver_28_29($65 | 0) | 0; + HEAP32[($8 + 216 | 0) >> 2] = $65; + HEAP8[($8 + 289 | 0) >> 0] = 1; + break label$1; + } + HEAP8[($8 + 289 | 0) >> 0] = 0; + } + (wasm2js_i32$0 = $7, wasm2js_i32$1 = btAlignedAllocInternal_28unsigned_20long_2c_20int_29(68 | 0, 16 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + $71 = HEAP32[($7 + 4 | 0) >> 2] | 0; + btSimulationIslandManager__btSimulationIslandManager_28_29($71 | 0) | 0; + HEAP32[($8 + 220 | 0) >> 2] = $71; + HEAP8[($8 + 288 | 0) >> 0] = 1; + (wasm2js_i32$0 = $7, wasm2js_i32$1 = btAlignedAllocInternal_28unsigned_20long_2c_20int_29(88 | 0, 16 | 0) | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + $76 = HEAP32[$7 >> 2] | 0; + InplaceSolverIslandCallback__InplaceSolverIslandCallback_28btConstraintSolver__2c_20btStackAlloc__2c_20btDispatcher__29($76 | 0, HEAP32[($8 + 216 | 0) >> 2] | 0 | 0, 0 | 0, HEAP32[($7 + 36 | 0) >> 2] | 0 | 0) | 0; + HEAP32[($8 + 212 | 0) >> 2] = $76; + $80 = HEAP32[($7 + 44 | 0) >> 2] | 0; + __stack_pointer = $7 + 48 | 0; + return $80 | 0; + } + + function btDynamicsWorld__btDynamicsWorld_28btDispatcher__2c_20btBroadphaseInterface__2c_20btCollisionConfiguration__29($0, $1, $2, $3) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + var $6 = 0, $7 = 0; + $6 = __stack_pointer - 16 | 0; + __stack_pointer = $6; + HEAP32[($6 + 12 | 0) >> 2] = $0; + HEAP32[($6 + 8 | 0) >> 2] = $1; + HEAP32[($6 + 4 | 0) >> 2] = $2; + HEAP32[$6 >> 2] = $3; + $7 = HEAP32[($6 + 12 | 0) >> 2] | 0; + btCollisionWorld__btCollisionWorld_28btDispatcher__2c_20btBroadphaseInterface__2c_20btCollisionConfiguration__29($7 | 0, HEAP32[($6 + 8 | 0) >> 2] | 0 | 0, HEAP32[($6 + 4 | 0) >> 2] | 0 | 0, HEAP32[$6 >> 2] | 0 | 0) | 0; + HEAP32[$7 >> 2] = 103056 + 8 | 0; + HEAP32[($7 + 80 | 0) >> 2] = 0; + HEAP32[($7 + 84 | 0) >> 2] = 0; + HEAP32[($7 + 88 | 0) >> 2] = 0; + btContactSolverInfo__btContactSolverInfo_28_29($7 + 92 | 0 | 0) | 0; + __stack_pointer = $6 + 16 | 0; + return $7 | 0; + } + + function btAlignedObjectArray_btRigidBody____btAlignedObjectArray_28_29($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + btAlignedAllocator_btRigidBody__2c_2016u___btAlignedAllocator_28_29($4 | 0) | 0; + btAlignedObjectArray_btRigidBody____init_28_29($4 | 0); + __stack_pointer = $3 + 16 | 0; + return $4 | 0; + } + + function btAlignedObjectArray_btActionInterface____btAlignedObjectArray_28_29($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + btAlignedAllocator_btActionInterface__2c_2016u___btAlignedAllocator_28_29($4 | 0) | 0; + btAlignedObjectArray_btActionInterface____init_28_29($4 | 0); + __stack_pointer = $3 + 16 | 0; + return $4 | 0; + } + + function btSequentialImpulseConstraintSolver__operator_20new_28unsigned_20long_2c_20void__29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0; + $4 = __stack_pointer - 16 | 0; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + return HEAP32[($4 + 8 | 0) >> 2] | 0 | 0; + } + + function InplaceSolverIslandCallback__InplaceSolverIslandCallback_28btConstraintSolver__2c_20btStackAlloc__2c_20btDispatcher__29($0, $1, $2, $3) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + var $7 = 0, $6 = 0; + $6 = __stack_pointer - 16 | 0; + __stack_pointer = $6; + HEAP32[($6 + 12 | 0) >> 2] = $0; + HEAP32[($6 + 8 | 0) >> 2] = $1; + HEAP32[($6 + 4 | 0) >> 2] = $2; + HEAP32[$6 >> 2] = $3; + $7 = HEAP32[($6 + 12 | 0) >> 2] | 0; + btSimulationIslandManager__IslandCallback__IslandCallback_28_29($7 | 0) | 0; + HEAP32[$7 >> 2] = 103204 + 8 | 0; + HEAP32[($7 + 4 | 0) >> 2] = 0; + HEAP32[($7 + 8 | 0) >> 2] = HEAP32[($6 + 8 | 0) >> 2] | 0; + HEAP32[($7 + 12 | 0) >> 2] = 0; + HEAP32[($7 + 16 | 0) >> 2] = 0; + HEAP32[($7 + 20 | 0) >> 2] = 0; + HEAP32[($7 + 24 | 0) >> 2] = HEAP32[$6 >> 2] | 0; + btAlignedObjectArray_btCollisionObject____btAlignedObjectArray_28_29($7 + 28 | 0 | 0) | 0; + btAlignedObjectArray_btPersistentManifold____btAlignedObjectArray_28_29($7 + 48 | 0 | 0) | 0; + btAlignedObjectArray_btTypedConstraint____btAlignedObjectArray_28_29($7 + 68 | 0 | 0) | 0; + __stack_pointer = $6 + 16 | 0; + return $7 | 0; + } + + function btContactSolverInfo__btContactSolverInfo_28_29($0) { + $0 = $0 | 0; + var $4 = 0, $3 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + HEAPF32[$4 >> 2] = Math_fround(.6000000238418579); + HEAPF32[($4 + 4 | 0) >> 2] = Math_fround(1.0); + HEAPF32[($4 + 8 | 0) >> 2] = Math_fround(.30000001192092896); + HEAPF32[($4 + 12 | 0) >> 2] = Math_fround(.01666666753590107); + HEAPF32[($4 + 16 | 0) >> 2] = Math_fround(0 | 0); + HEAPF32[($4 + 24 | 0) >> 2] = Math_fround(20.0); + HEAP32[($4 + 20 | 0) >> 2] = 10; + HEAPF32[($4 + 32 | 0) >> 2] = Math_fround(.20000000298023224); + HEAPF32[($4 + 36 | 0) >> 2] = Math_fround(.20000000298023224); + HEAPF32[($4 + 40 | 0) >> 2] = Math_fround(0 | 0); + HEAPF32[($4 + 44 | 0) >> 2] = Math_fround(.20000000298023224); + HEAPF32[($4 + 48 | 0) >> 2] = Math_fround(0 | 0); + HEAPF32[($4 + 28 | 0) >> 2] = Math_fround(1.0); + HEAP32[($4 + 52 | 0) >> 2] = 1; + HEAPF32[($4 + 56 | 0) >> 2] = Math_fround(-.03999999910593033); + HEAPF32[($4 + 60 | 0) >> 2] = Math_fround(.10000000149011612); + HEAPF32[($4 + 64 | 0) >> 2] = Math_fround(0 | 0); + HEAPF32[($4 + 68 | 0) >> 2] = Math_fround(.8500000238418579); + HEAP32[($4 + 72 | 0) >> 2] = 260; + HEAP32[($4 + 76 | 0) >> 2] = 2; + HEAP32[($4 + 80 | 0) >> 2] = 128; + HEAPF32[($4 + 84 | 0) >> 2] = Math_fround(100.0); + HEAPF32[($4 + 88 | 0) >> 2] = Math_fround(1000000015047466219876688.0e6); + HEAPF32[($4 + 92 | 0) >> 2] = Math_fround(0 | 0); + HEAPF32[($4 + 96 | 0) >> 2] = Math_fround(.20000000298023224); + return $4 | 0; + } + + function btAlignedAllocator_btRigidBody__2c_2016u___btAlignedAllocator_28_29($0) { + $0 = $0 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + return HEAP32[($3 + 12 | 0) >> 2] | 0 | 0; + } + + function btAlignedObjectArray_btRigidBody____init_28_29($0) { + $0 = $0 | 0; + var $4 = 0, $3 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + HEAP8[($4 + 16 | 0) >> 0] = 1; + HEAP32[($4 + 12 | 0) >> 2] = 0; + HEAP32[($4 + 4 | 0) >> 2] = 0; + HEAP32[($4 + 8 | 0) >> 2] = 0; + return; + } + + function btAlignedAllocator_btActionInterface__2c_2016u___btAlignedAllocator_28_29($0) { + $0 = $0 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + return HEAP32[($3 + 12 | 0) >> 2] | 0 | 0; + } + + function btAlignedObjectArray_btActionInterface____init_28_29($0) { + $0 = $0 | 0; + var $4 = 0, $3 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + HEAP8[($4 + 16 | 0) >> 0] = 1; + HEAP32[($4 + 12 | 0) >> 2] = 0; + HEAP32[($4 + 4 | 0) >> 2] = 0; + HEAP32[($4 + 8 | 0) >> 2] = 0; + return; + } + + function btSimulationIslandManager__IslandCallback__IslandCallback_28_29($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + HEAP32[$4 >> 2] = 103320 + 8 | 0; + return $4 | 0; + } + + function btDiscreteDynamicsWorld___btDiscreteDynamicsWorld_28_29($0) { + $0 = $0 | 0; + var $4 = 0, $3 = 0, $11 = 0, $22 = 0, $29 = 0, $43 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 8 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 8 | 0) >> 2] | 0; + HEAP32[($3 + 12 | 0) >> 2] = $4; + HEAP32[$4 >> 2] = 102792 + 8 | 0; + label$1 : { + if (!((HEAPU8[($4 + 288 | 0) >> 0] | 0) & 1 | 0)) { + break label$1 + } + $11 = HEAP32[($4 + 220 | 0) >> 2] | 0; + FUNCTION_TABLE[HEAP32[(HEAP32[$11 >> 2] | 0) >> 2] | 0 | 0]($11) | 0; + btAlignedFreeInternal_28void__29(HEAP32[($4 + 220 | 0) >> 2] | 0 | 0); + } + label$2 : { + if (!((HEAP32[($4 + 212 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$2 + } + $22 = HEAP32[($4 + 212 | 0) >> 2] | 0; + FUNCTION_TABLE[HEAP32[(HEAP32[$22 >> 2] | 0) >> 2] | 0 | 0]($22) | 0; + btAlignedFreeInternal_28void__29(HEAP32[($4 + 212 | 0) >> 2] | 0 | 0); + } + label$3 : { + if (!((HEAPU8[($4 + 289 | 0) >> 0] | 0) & 1 | 0)) { + break label$3 + } + $29 = HEAP32[($4 + 216 | 0) >> 2] | 0; + FUNCTION_TABLE[HEAP32[(HEAP32[$29 >> 2] | 0) >> 2] | 0 | 0]($29) | 0; + btAlignedFreeInternal_28void__29(HEAP32[($4 + 216 | 0) >> 2] | 0 | 0); + } + btAlignedObjectArray_btPersistentManifold_____btAlignedObjectArray_28_29($4 + 320 | 0 | 0) | 0; + btAlignedObjectArray_btActionInterface_____btAlignedObjectArray_28_29($4 + 292 | 0 | 0) | 0; + btAlignedObjectArray_btRigidBody_____btAlignedObjectArray_28_29($4 + 244 | 0 | 0) | 0; + btAlignedObjectArray_btTypedConstraint_____btAlignedObjectArray_28_29($4 + 224 | 0 | 0) | 0; + btAlignedObjectArray_btTypedConstraint_____btAlignedObjectArray_28_29($4 + 192 | 0 | 0) | 0; + btDynamicsWorld___btDynamicsWorld_28_29($4 | 0) | 0; + $43 = HEAP32[($3 + 12 | 0) >> 2] | 0; + __stack_pointer = $3 + 16 | 0; + return $43 | 0; + } + + function btAlignedObjectArray_btActionInterface_____btAlignedObjectArray_28_29($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + btAlignedObjectArray_btActionInterface____clear_28_29($4 | 0); + __stack_pointer = $3 + 16 | 0; + return $4 | 0; + } + + function btAlignedObjectArray_btRigidBody_____btAlignedObjectArray_28_29($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + btAlignedObjectArray_btRigidBody____clear_28_29($4 | 0); + __stack_pointer = $3 + 16 | 0; + return $4 | 0; + } + + function btDynamicsWorld___btDynamicsWorld_28_29($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + btCollisionWorld___btCollisionWorld_28_29($4 | 0) | 0; + __stack_pointer = $3 + 16 | 0; + return $4 | 0; + } + + function btAlignedObjectArray_btActionInterface____clear_28_29($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + btAlignedObjectArray_btActionInterface____destroy_28int_2c_20int_29($4 | 0, 0 | 0, btAlignedObjectArray_btActionInterface____size_28_29_20const($4 | 0) | 0 | 0); + btAlignedObjectArray_btActionInterface____deallocate_28_29($4 | 0); + btAlignedObjectArray_btActionInterface____init_28_29($4 | 0); + __stack_pointer = $3 + 16 | 0; + return; + } + + function btAlignedObjectArray_btRigidBody____clear_28_29($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + btAlignedObjectArray_btRigidBody____destroy_28int_2c_20int_29($4 | 0, 0 | 0, btAlignedObjectArray_btRigidBody____size_28_29_20const($4 | 0) | 0 | 0); + btAlignedObjectArray_btRigidBody____deallocate_28_29($4 | 0); + btAlignedObjectArray_btRigidBody____init_28_29($4 | 0); + __stack_pointer = $3 + 16 | 0; + return; + } + + function btDiscreteDynamicsWorld___btDiscreteDynamicsWorld_28_29_1($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + FUNCTION_TABLE[1114 | 0]($4) | 0; + btDiscreteDynamicsWorld__operator_20delete_28void__29($4 | 0); + __stack_pointer = $3 + 16 | 0; + return; + } + + function btDiscreteDynamicsWorld__operator_20delete_28void__29($0) { + $0 = $0 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + btAlignedFreeInternal_28void__29(HEAP32[($3 + 12 | 0) >> 2] | 0 | 0); + __stack_pointer = $3 + 16 | 0; + return; + } + + function btDiscreteDynamicsWorld__saveKinematicState_28float_29($0, $1) { + $0 = $0 | 0; + $1 = Math_fround($1); + var $4 = 0, $5 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4 = __stack_pointer - 32 | 0; + __stack_pointer = $4; + HEAP32[($4 + 28 | 0) >> 2] = $0; + HEAPF32[($4 + 24 | 0) >> 2] = $1; + $5 = HEAP32[($4 + 28 | 0) >> 2] | 0; + HEAP32[($4 + 20 | 0) >> 2] = 0; + label$1 : { + label$2 : while (1) { + if (!((HEAP32[($4 + 20 | 0) >> 2] | 0 | 0) < (btAlignedObjectArray_btCollisionObject____size_28_29_20const($5 + 4 | 0 | 0) | 0 | 0) & 1 | 0)) { + break label$1 + } + (wasm2js_i32$0 = $4, wasm2js_i32$1 = HEAP32[(btAlignedObjectArray_btCollisionObject____operator_5b_5d_28int_29($5 + 4 | 0 | 0, HEAP32[($4 + 20 | 0) >> 2] | 0 | 0) | 0) >> 2] | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $4, wasm2js_i32$1 = btRigidBody__upcast_28btCollisionObject__29(HEAP32[($4 + 16 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + label$3 : { + if (!((HEAP32[($4 + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$3 + } + if (!((btCollisionObject__getActivationState_28_29_20const(HEAP32[($4 + 12 | 0) >> 2] | 0 | 0) | 0 | 0) != (2 | 0) & 1 | 0)) { + break label$3 + } + label$4 : { + if (!((btCollisionObject__isKinematicObject_28_29_20const(HEAP32[($4 + 12 | 0) >> 2] | 0 | 0) | 0) & 1 | 0)) { + break label$4 + } + btRigidBody__saveKinematicState_28float_29(HEAP32[($4 + 12 | 0) >> 2] | 0 | 0, Math_fround(Math_fround(HEAPF32[($4 + 24 | 0) >> 2]))); + } + } + HEAP32[($4 + 20 | 0) >> 2] = (HEAP32[($4 + 20 | 0) >> 2] | 0) + 1 | 0; + continue label$2; + }; + } + __stack_pointer = $4 + 32 | 0; + return; + } + + function btDiscreteDynamicsWorld__debugDrawWorld_28_29($0) { + $0 = $0 | 0; + var $4 = 0, $3 = 0, $21 = 0, $65 = 0, $82 = 0, $100 = 0, $118 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3 = __stack_pointer - 32 | 0; + __stack_pointer = $3; + HEAP32[($3 + 28 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 28 | 0) >> 2] | 0; + CProfileSample__CProfileSample_28char_20const__29($3 + 27 | 0 | 0, 82255 | 0) | 0; + btCollisionWorld__debugDrawWorld_28_29($4 | 0); + HEAP8[($3 + 26 | 0) >> 0] = 0; + label$1 : { + if (!((FUNCTION_TABLE[HEAP32[((HEAP32[$4 >> 2] | 0) + 20 | 0) >> 2] | 0 | 0]($4) | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + $21 = FUNCTION_TABLE[HEAP32[((HEAP32[$4 >> 2] | 0) + 20 | 0) >> 2] | 0 | 0]($4) | 0; + (wasm2js_i32$0 = $3, wasm2js_i32$1 = FUNCTION_TABLE[HEAP32[((HEAP32[$21 >> 2] | 0) + 56 | 0) >> 2] | 0 | 0]($21) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + label$2 : { + if (!((HEAP32[($3 + 20 | 0) >> 2] | 0) & 6144 | 0)) { + break label$2 + } + HEAP8[($3 + 26 | 0) >> 0] = 1; + } + } + label$3 : { + if (!((HEAPU8[($3 + 26 | 0) >> 0] | 0) & 1 | 0)) { + break label$3 + } + (wasm2js_i32$0 = $3, wasm2js_i32$1 = (FUNCTION_TABLE[HEAP32[((HEAP32[$4 >> 2] | 0) + 104 | 0) >> 2] | 0 | 0]($4) | 0) - 1 | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + label$4 : { + label$5 : while (1) { + if (!((HEAP32[($3 + 16 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0)) { + break label$4 + } + (wasm2js_i32$0 = $3, wasm2js_i32$1 = FUNCTION_TABLE[HEAP32[((HEAP32[$4 >> 2] | 0) + 108 | 0) >> 2] | 0 | 0]($4, HEAP32[($3 + 16 | 0) >> 2] | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + FUNCTION_TABLE[HEAP32[((HEAP32[$4 >> 2] | 0) + 172 | 0) >> 2] | 0 | 0]($4, HEAP32[($3 + 12 | 0) >> 2] | 0); + HEAP32[($3 + 16 | 0) >> 2] = (HEAP32[($3 + 16 | 0) >> 2] | 0) + -1 | 0; + continue label$5; + }; + } + } + label$6 : { + if (!((FUNCTION_TABLE[HEAP32[((HEAP32[$4 >> 2] | 0) + 20 | 0) >> 2] | 0 | 0]($4) | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$6 + } + $65 = FUNCTION_TABLE[HEAP32[((HEAP32[$4 >> 2] | 0) + 20 | 0) >> 2] | 0 | 0]($4) | 0; + if (!((FUNCTION_TABLE[HEAP32[((HEAP32[$65 >> 2] | 0) + 56 | 0) >> 2] | 0 | 0]($65) | 0) & 16387 | 0)) { + break label$6 + } + label$7 : { + if (!((FUNCTION_TABLE[HEAP32[((HEAP32[$4 >> 2] | 0) + 20 | 0) >> 2] | 0 | 0]($4) | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$7 + } + $82 = FUNCTION_TABLE[HEAP32[((HEAP32[$4 >> 2] | 0) + 20 | 0) >> 2] | 0 | 0]($4) | 0; + if (!(FUNCTION_TABLE[HEAP32[((HEAP32[$82 >> 2] | 0) + 56 | 0) >> 2] | 0 | 0]($82) | 0)) { + break label$7 + } + HEAP32[($3 + 8 | 0) >> 2] = 0; + label$8 : { + label$9 : while (1) { + if (!((HEAP32[($3 + 8 | 0) >> 2] | 0 | 0) < (btAlignedObjectArray_btActionInterface____size_28_29_20const($4 + 292 | 0 | 0) | 0 | 0) & 1 | 0)) { + break label$8 + } + $100 = HEAP32[(btAlignedObjectArray_btActionInterface____operator_5b_5d_28int_29($4 + 292 | 0 | 0, HEAP32[($3 + 8 | 0) >> 2] | 0 | 0) | 0) >> 2] | 0; + FUNCTION_TABLE[HEAP32[((HEAP32[$100 >> 2] | 0) + 12 | 0) >> 2] | 0 | 0]($100, HEAP32[($4 + 72 | 0) >> 2] | 0); + HEAP32[($3 + 8 | 0) >> 2] = (HEAP32[($3 + 8 | 0) >> 2] | 0) + 1 | 0; + continue label$9; + }; + } + } + } + label$10 : { + if (!((FUNCTION_TABLE[HEAP32[((HEAP32[$4 >> 2] | 0) + 20 | 0) >> 2] | 0 | 0]($4) | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$10 + } + $118 = FUNCTION_TABLE[HEAP32[((HEAP32[$4 >> 2] | 0) + 20 | 0) >> 2] | 0 | 0]($4) | 0; + FUNCTION_TABLE[HEAP32[((HEAP32[$118 >> 2] | 0) + 104 | 0) >> 2] | 0 | 0]($118); + } + CProfileSample___CProfileSample_28_29($3 + 27 | 0 | 0) | 0; + __stack_pointer = $3 + 32 | 0; + return; + } + + function btAlignedObjectArray_btActionInterface____size_28_29_20const($0) { + $0 = $0 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + return HEAP32[((HEAP32[($3 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0; + } + + function btAlignedObjectArray_btActionInterface____operator_5b_5d_28int_29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, $5 = 0, $32 = 0; + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; + label$1 : { + if ((HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0) { + break label$1 + } + __assert_fail(85840 | 0, 78192 | 0, 183 | 0, 83901 | 0); + wasm2js_trap(); + } + label$2 : { + if ((HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) < (btAlignedObjectArray_btActionInterface____size_28_29_20const($5 | 0) | 0 | 0) & 1 | 0) { + break label$2 + } + __assert_fail(87321 | 0, 78192 | 0, 184 | 0, 83901 | 0); + wasm2js_trap(); + } + $32 = (HEAP32[($5 + 12 | 0) >> 2] | 0) + ((HEAP32[($4 + 8 | 0) >> 2] | 0) << 2 | 0) | 0; + __stack_pointer = $4 + 16 | 0; + return $32 | 0; + } + + function btDiscreteDynamicsWorld__clearForces_28_29($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + HEAP32[($3 + 8 | 0) >> 2] = 0; + label$1 : { + label$2 : while (1) { + if (!((HEAP32[($3 + 8 | 0) >> 2] | 0 | 0) < (btAlignedObjectArray_btRigidBody____size_28_29_20const($4 + 244 | 0 | 0) | 0 | 0) & 1 | 0)) { + break label$1 + } + (wasm2js_i32$0 = $3, wasm2js_i32$1 = HEAP32[(btAlignedObjectArray_btRigidBody____operator_5b_5d_28int_29($4 + 244 | 0 | 0, HEAP32[($3 + 8 | 0) >> 2] | 0 | 0) | 0) >> 2] | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + btRigidBody__clearForces_28_29(HEAP32[($3 + 4 | 0) >> 2] | 0 | 0); + HEAP32[($3 + 8 | 0) >> 2] = (HEAP32[($3 + 8 | 0) >> 2] | 0) + 1 | 0; + continue label$2; + }; + } + __stack_pointer = $3 + 16 | 0; + return; + } + + function btDiscreteDynamicsWorld__applyGravity_28_29($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + HEAP32[($3 + 8 | 0) >> 2] = 0; + label$1 : { + label$2 : while (1) { + if (!((HEAP32[($3 + 8 | 0) >> 2] | 0 | 0) < (btAlignedObjectArray_btRigidBody____size_28_29_20const($4 + 244 | 0 | 0) | 0 | 0) & 1 | 0)) { + break label$1 + } + (wasm2js_i32$0 = $3, wasm2js_i32$1 = HEAP32[(btAlignedObjectArray_btRigidBody____operator_5b_5d_28int_29($4 + 244 | 0 | 0, HEAP32[($3 + 8 | 0) >> 2] | 0 | 0) | 0) >> 2] | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + label$3 : { + if (!((btCollisionObject__isActive_28_29_20const(HEAP32[($3 + 4 | 0) >> 2] | 0 | 0) | 0) & 1 | 0)) { + break label$3 + } + btRigidBody__applyGravity_28_29(HEAP32[($3 + 4 | 0) >> 2] | 0 | 0); + } + HEAP32[($3 + 8 | 0) >> 2] = (HEAP32[($3 + 8 | 0) >> 2] | 0) + 1 | 0; + continue label$2; + }; + } + __stack_pointer = $3 + 16 | 0; + return; + } + + function btDiscreteDynamicsWorld__synchronizeSingleMotionState_28btRigidBody__29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, $5 = 0, $50 = Math_fround(0), $60 = 0, $33 = 0, $35 = 0, $37 = 0; + $4 = __stack_pointer - 80 | 0; + __stack_pointer = $4; + HEAP32[($4 + 76 | 0) >> 2] = $0; + HEAP32[($4 + 72 | 0) >> 2] = $1; + $5 = HEAP32[($4 + 76 | 0) >> 2] | 0; + label$1 : { + if ((HEAP32[($4 + 72 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$1 + } + __assert_fail(66059 | 0, 75653 | 0, 355 | 0, 81262 | 0); + wasm2js_trap(); + } + label$2 : { + if (!((btRigidBody__getMotionState_28_29(HEAP32[($4 + 72 | 0) >> 2] | 0 | 0) | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$2 + } + if ((btCollisionObject__isStaticOrKinematicObject_28_29_20const(HEAP32[($4 + 72 | 0) >> 2] | 0 | 0) | 0) & 1 | 0) { + break label$2 + } + btTransform__btTransform_28_29($4 + 8 | 0 | 0) | 0; + $33 = btCollisionObject__getInterpolationWorldTransform_28_29(HEAP32[($4 + 72 | 0) >> 2] | 0 | 0) | 0; + $35 = btCollisionObject__getInterpolationLinearVelocity_28_29_20const(HEAP32[($4 + 72 | 0) >> 2] | 0 | 0) | 0; + $37 = btCollisionObject__getInterpolationAngularVelocity_28_29_20const(HEAP32[($4 + 72 | 0) >> 2] | 0 | 0) | 0; + label$3 : { + label$4 : { + if (!((HEAPU8[($5 + 316 | 0) >> 0] | 0) & 1 | 0)) { + break label$4 + } + if (!(Math_fround(HEAPF32[($5 + 284 | 0) >> 2]) != Math_fround(0 | 0) & 1 | 0)) { + break label$4 + } + $50 = Math_fround(Math_fround(HEAPF32[($5 + 280 | 0) >> 2]) - Math_fround(HEAPF32[($5 + 284 | 0) >> 2])); + break label$3; + } + $50 = Math_fround(Math_fround(HEAPF32[($5 + 280 | 0) >> 2]) * Math_fround(btCollisionObject__getHitFraction_28_29_20const(HEAP32[($4 + 72 | 0) >> 2] | 0 | 0))); + } + btTransformUtil__integrateTransform_28btTransform_20const__2c_20btVector3_20const__2c_20btVector3_20const__2c_20float_2c_20btTransform__29($33 | 0, $35 | 0, $37 | 0, Math_fround($50), $4 + 8 | 0 | 0); + $60 = btRigidBody__getMotionState_28_29(HEAP32[($4 + 72 | 0) >> 2] | 0 | 0) | 0; + FUNCTION_TABLE[HEAP32[((HEAP32[$60 >> 2] | 0) + 12 | 0) >> 2] | 0 | 0]($60, $4 + 8 | 0); + } + __stack_pointer = $4 + 80 | 0; + return; + } + + function btCollisionObject__getInterpolationLinearVelocity_28_29_20const($0) { + $0 = $0 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + return (HEAP32[($3 + 12 | 0) >> 2] | 0) + 132 | 0 | 0; + } + + function btCollisionObject__getInterpolationAngularVelocity_28_29_20const($0) { + $0 = $0 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + return (HEAP32[($3 + 12 | 0) >> 2] | 0) + 148 | 0 | 0; + } + + function btDiscreteDynamicsWorld__synchronizeMotionStates_28_29($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3 = __stack_pointer - 32 | 0; + __stack_pointer = $3; + HEAP32[($3 + 28 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 28 | 0) >> 2] | 0; + label$1 : { + label$2 : { + if (!((HEAPU8[($4 + 290 | 0) >> 0] | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($3 + 24 | 0) >> 2] = 0; + label$3 : { + label$4 : while (1) { + if (!((HEAP32[($3 + 24 | 0) >> 2] | 0 | 0) < (btAlignedObjectArray_btCollisionObject____size_28_29_20const($4 + 4 | 0 | 0) | 0 | 0) & 1 | 0)) { + break label$3 + } + (wasm2js_i32$0 = $3, wasm2js_i32$1 = HEAP32[(btAlignedObjectArray_btCollisionObject____operator_5b_5d_28int_29($4 + 4 | 0 | 0, HEAP32[($3 + 24 | 0) >> 2] | 0 | 0) | 0) >> 2] | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $3, wasm2js_i32$1 = btRigidBody__upcast_28btCollisionObject__29(HEAP32[($3 + 20 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + label$5 : { + if (!((HEAP32[($3 + 16 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$5 + } + btDiscreteDynamicsWorld__synchronizeSingleMotionState_28btRigidBody__29($4 | 0, HEAP32[($3 + 16 | 0) >> 2] | 0 | 0); + } + HEAP32[($3 + 24 | 0) >> 2] = (HEAP32[($3 + 24 | 0) >> 2] | 0) + 1 | 0; + continue label$4; + }; + } + break label$1; + } + HEAP32[($3 + 12 | 0) >> 2] = 0; + label$6 : { + label$7 : while (1) { + if (!((HEAP32[($3 + 12 | 0) >> 2] | 0 | 0) < (btAlignedObjectArray_btRigidBody____size_28_29_20const($4 + 244 | 0 | 0) | 0 | 0) & 1 | 0)) { + break label$6 + } + (wasm2js_i32$0 = $3, wasm2js_i32$1 = HEAP32[(btAlignedObjectArray_btRigidBody____operator_5b_5d_28int_29($4 + 244 | 0 | 0, HEAP32[($3 + 12 | 0) >> 2] | 0 | 0) | 0) >> 2] | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + label$8 : { + if (!((btCollisionObject__isActive_28_29_20const(HEAP32[($3 + 8 | 0) >> 2] | 0 | 0) | 0) & 1 | 0)) { + break label$8 + } + btDiscreteDynamicsWorld__synchronizeSingleMotionState_28btRigidBody__29($4 | 0, HEAP32[($3 + 8 | 0) >> 2] | 0 | 0); + } + HEAP32[($3 + 12 | 0) >> 2] = (HEAP32[($3 + 12 | 0) >> 2] | 0) + 1 | 0; + continue label$7; + }; + } + } + __stack_pointer = $3 + 32 | 0; + return; + } + + function btDiscreteDynamicsWorld__stepSimulation_28float_2c_20int_2c_20float_29($0, $1, $2, $3) { + $0 = $0 | 0; + $1 = Math_fround($1); + $2 = $2 | 0; + $3 = Math_fround($3); + var $6 = 0, $7 = 0, $22 = Math_fround(0), $28 = 0, $44 = Math_fround(0), $69 = 0, $91 = 0, $122 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $6 = __stack_pointer - 32 | 0; + __stack_pointer = $6; + HEAP32[($6 + 28 | 0) >> 2] = $0; + HEAPF32[($6 + 24 | 0) >> 2] = $1; + HEAP32[($6 + 20 | 0) >> 2] = $2; + HEAPF32[($6 + 16 | 0) >> 2] = $3; + $7 = HEAP32[($6 + 28 | 0) >> 2] | 0; + btDiscreteDynamicsWorld__startProfiling_28float_29($7 | 0, Math_fround(Math_fround(HEAPF32[($6 + 24 | 0) >> 2]))); + HEAP32[($6 + 12 | 0) >> 2] = 0; + label$1 : { + label$2 : { + if (!(HEAP32[($6 + 20 | 0) >> 2] | 0)) { + break label$2 + } + HEAPF32[($7 + 284 | 0) >> 2] = Math_fround(HEAPF32[($6 + 16 | 0) >> 2]); + HEAPF32[($7 + 280 | 0) >> 2] = Math_fround(Math_fround(HEAPF32[($7 + 280 | 0) >> 2]) + Math_fround(HEAPF32[($6 + 24 | 0) >> 2])); + label$3 : { + if (!(Math_fround(HEAPF32[($7 + 280 | 0) >> 2]) >= Math_fround(HEAPF32[($6 + 16 | 0) >> 2]) & 1 | 0)) { + break label$3 + } + $22 = Math_fround(Math_fround(HEAPF32[($7 + 280 | 0) >> 2]) / Math_fround(HEAPF32[($6 + 16 | 0) >> 2])); + label$4 : { + label$5 : { + if (!(Math_fround(Math_abs($22)) < Math_fround(2147483648.0))) { + break label$5 + } + $28 = ~~$22; + break label$4; + } + $28 = -2147483648; + } + HEAP32[($6 + 12 | 0) >> 2] = $28; + HEAPF32[($7 + 280 | 0) >> 2] = Math_fround(Math_fround(Math_fround(-Math_fround(HEAP32[($6 + 12 | 0) >> 2] | 0 | 0)) * Math_fround(HEAPF32[($6 + 16 | 0) >> 2])) + Math_fround(HEAPF32[($7 + 280 | 0) >> 2])); + } + break label$1; + } + HEAPF32[($6 + 16 | 0) >> 2] = Math_fround(HEAPF32[($6 + 24 | 0) >> 2]); + label$6 : { + label$7 : { + if (!((HEAPU8[($7 + 316 | 0) >> 0] | 0) & 1 | 0)) { + break label$7 + } + $44 = Math_fround(0 | 0); + break label$6; + } + $44 = Math_fround(HEAPF32[($6 + 24 | 0) >> 2]); + } + HEAPF32[($7 + 280 | 0) >> 2] = $44; + HEAPF32[($7 + 284 | 0) >> 2] = Math_fround(0 | 0); + label$8 : { + label$9 : { + if (!((btFuzzyZero_28float_29(Math_fround(Math_fround(HEAPF32[($6 + 24 | 0) >> 2]))) | 0) & 1 | 0)) { + break label$9 + } + HEAP32[($6 + 12 | 0) >> 2] = 0; + HEAP32[($6 + 20 | 0) >> 2] = 0; + break label$8; + } + HEAP32[($6 + 12 | 0) >> 2] = 1; + HEAP32[($6 + 20 | 0) >> 2] = 1; + } + } + label$10 : { + if (!((FUNCTION_TABLE[HEAP32[((HEAP32[$7 >> 2] | 0) + 20 | 0) >> 2] | 0 | 0]($7) | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$10 + } + (wasm2js_i32$0 = $6, wasm2js_i32$1 = FUNCTION_TABLE[HEAP32[((HEAP32[$7 >> 2] | 0) + 20 | 0) >> 2] | 0 | 0]($7) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + $69 = HEAP32[($6 + 8 | 0) >> 2] | 0; + (wasm2js_i32$0 = 0, wasm2js_i32$1 = ((FUNCTION_TABLE[HEAP32[((HEAP32[$69 >> 2] | 0) + 56 | 0) >> 2] | 0 | 0]($69) | 0) & 16 | 0 | 0) != (0 | 0) & 1 | 0), HEAP8[(wasm2js_i32$0 + 116124 | 0) >> 0] = wasm2js_i32$1; + } + label$11 : { + label$12 : { + if (!(HEAP32[($6 + 12 | 0) >> 2] | 0)) { + break label$12 + } + label$13 : { + label$14 : { + if (!((HEAP32[($6 + 12 | 0) >> 2] | 0 | 0) > (HEAP32[($6 + 20 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$14 + } + $91 = HEAP32[($6 + 20 | 0) >> 2] | 0; + break label$13; + } + $91 = HEAP32[($6 + 12 | 0) >> 2] | 0; + } + HEAP32[($6 + 4 | 0) >> 2] = $91; + FUNCTION_TABLE[HEAP32[((HEAP32[$7 >> 2] | 0) + 168 | 0) >> 2] | 0 | 0]($7, Math_fround(Math_fround(HEAPF32[($6 + 16 | 0) >> 2]) * Math_fround(HEAP32[($6 + 4 | 0) >> 2] | 0 | 0))); + FUNCTION_TABLE[HEAP32[((HEAP32[$7 >> 2] | 0) + 176 | 0) >> 2] | 0 | 0]($7); + HEAP32[$6 >> 2] = 0; + label$15 : { + label$16 : while (1) { + if (!((HEAP32[$6 >> 2] | 0 | 0) < (HEAP32[($6 + 4 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$15 + } + FUNCTION_TABLE[HEAP32[((HEAP32[$7 >> 2] | 0) + 160 | 0) >> 2] | 0 | 0]($7, Math_fround(HEAPF32[($6 + 16 | 0) >> 2])); + FUNCTION_TABLE[HEAP32[((HEAP32[$7 >> 2] | 0) + 80 | 0) >> 2] | 0 | 0]($7); + HEAP32[$6 >> 2] = (HEAP32[$6 >> 2] | 0) + 1 | 0; + continue label$16; + }; + } + break label$11; + } + FUNCTION_TABLE[HEAP32[((HEAP32[$7 >> 2] | 0) + 80 | 0) >> 2] | 0 | 0]($7); + } + FUNCTION_TABLE[HEAP32[((HEAP32[$7 >> 2] | 0) + 120 | 0) >> 2] | 0 | 0]($7); + $122 = HEAP32[($6 + 12 | 0) >> 2] | 0; + __stack_pointer = $6 + 32 | 0; + return $122 | 0; + } + + function btDiscreteDynamicsWorld__startProfiling_28float_29($0, $1) { + $0 = $0 | 0; + $1 = Math_fround($1); + var $4 = 0; + $4 = __stack_pointer - 16 | 0; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAPF32[($4 + 8 | 0) >> 2] = $1; + return; + } + + function btFuzzyZero_28float_29($0) { + $0 = Math_fround($0); + var $3 = 0, $9 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAPF32[($3 + 12 | 0) >> 2] = $0; + $9 = Math_fround(btFabs_28float_29(Math_fround(Math_fround(HEAPF32[($3 + 12 | 0) >> 2])))) < Math_fround(1.1920928955078125e-07) & 1 | 0; + __stack_pointer = $3 + 16 | 0; + return $9 | 0; + } + + function btDiscreteDynamicsWorld__internalSingleStepSimulation_28float_29($0, $1) { + $0 = $0 | 0; + $1 = Math_fround($1); + var $5 = 0, $4 = 0, $29 = 0, $38 = Math_fround(0), wasm2js_i32$0 = 0, wasm2js_i32$1 = 0, wasm2js_f32$0 = Math_fround(0), wasm2js_i32$2 = 0; + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAPF32[($4 + 8 | 0) >> 2] = $1; + $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; + CProfileSample__CProfileSample_28char_20const__29($4 + 7 | 0 | 0, 76760 | 0) | 0; + label$1 : { + if (!((0 | 0) != (HEAP32[($5 + 84 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$1 + } + FUNCTION_TABLE[HEAP32[($5 + 84 | 0) >> 2] | 0 | 0]($5, Math_fround(HEAPF32[($4 + 8 | 0) >> 2])); + } + FUNCTION_TABLE[HEAP32[((HEAP32[$5 >> 2] | 0) + 140 | 0) >> 2] | 0 | 0]($5, Math_fround(HEAPF32[($4 + 8 | 0) >> 2])); + (wasm2js_i32$0 = $4, wasm2js_i32$1 = btCollisionWorld__getDispatchInfo_28_29($5 | 0) | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + HEAPF32[(HEAP32[$4 >> 2] | 0) >> 2] = Math_fround(HEAPF32[($4 + 8 | 0) >> 2]); + HEAP32[((HEAP32[$4 >> 2] | 0) + 4 | 0) >> 2] = 0; + $29 = FUNCTION_TABLE[HEAP32[((HEAP32[$5 >> 2] | 0) + 20 | 0) >> 2] | 0 | 0]($5) | 0; + HEAP32[((HEAP32[$4 >> 2] | 0) + 20 | 0) >> 2] = $29; + FUNCTION_TABLE[HEAP32[((HEAP32[$5 >> 2] | 0) + 164 | 0) >> 2] | 0 | 0]($5, Math_fround(HEAPF32[($4 + 8 | 0) >> 2])); + FUNCTION_TABLE[HEAP32[((HEAP32[$5 >> 2] | 0) + 44 | 0) >> 2] | 0 | 0]($5); + FUNCTION_TABLE[HEAP32[((HEAP32[$5 >> 2] | 0) + 148 | 0) >> 2] | 0 | 0]($5); + $38 = Math_fround(HEAPF32[($4 + 8 | 0) >> 2]); + (wasm2js_i32$0 = btDynamicsWorld__getSolverInfo_28_29($5 | 0) | 0, wasm2js_f32$0 = $38), HEAPF32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_f32$0; + ((wasm2js_i32$1 = $5, wasm2js_i32$2 = btDynamicsWorld__getSolverInfo_28_29($5 | 0) | 0), wasm2js_i32$0 = HEAP32[((HEAP32[$5 >> 2] | 0) + 152 | 0) >> 2] | 0 | 0), FUNCTION_TABLE[wasm2js_i32$0](wasm2js_i32$1 | 0, wasm2js_i32$2 | 0); + FUNCTION_TABLE[HEAP32[((HEAP32[$5 >> 2] | 0) + 144 | 0) >> 2] | 0 | 0]($5, Math_fround(HEAPF32[($4 + 8 | 0) >> 2])); + btDiscreteDynamicsWorld__updateActions_28float_29($5 | 0, Math_fround(Math_fround(HEAPF32[($4 + 8 | 0) >> 2]))); + FUNCTION_TABLE[HEAP32[((HEAP32[$5 >> 2] | 0) + 156 | 0) >> 2] | 0 | 0]($5, Math_fround(HEAPF32[($4 + 8 | 0) >> 2])); + label$2 : { + if (!((0 | 0) != (HEAP32[($5 + 80 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$2 + } + FUNCTION_TABLE[HEAP32[($5 + 80 | 0) >> 2] | 0 | 0]($5, Math_fround(HEAPF32[($4 + 8 | 0) >> 2])); + } + CProfileSample___CProfileSample_28_29($4 + 7 | 0 | 0) | 0; + __stack_pointer = $4 + 16 | 0; + return; + } + + function btDiscreteDynamicsWorld__updateActions_28float_29($0, $1) { + $0 = $0 | 0; + $1 = Math_fround($1); + var $4 = 0, $5 = 0, $24 = 0; + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAPF32[($4 + 8 | 0) >> 2] = $1; + $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; + CProfileSample__CProfileSample_28char_20const__29($4 + 7 | 0 | 0, 69678 | 0) | 0; + HEAP32[$4 >> 2] = 0; + label$1 : { + label$2 : while (1) { + if (!((HEAP32[$4 >> 2] | 0 | 0) < (btAlignedObjectArray_btActionInterface____size_28_29_20const($5 + 292 | 0 | 0) | 0 | 0) & 1 | 0)) { + break label$1 + } + $24 = HEAP32[(btAlignedObjectArray_btActionInterface____operator_5b_5d_28int_29($5 + 292 | 0 | 0, HEAP32[$4 >> 2] | 0 | 0) | 0) >> 2] | 0; + FUNCTION_TABLE[HEAP32[((HEAP32[$24 >> 2] | 0) + 8 | 0) >> 2] | 0 | 0]($24, $5, Math_fround(HEAPF32[($4 + 8 | 0) >> 2])); + HEAP32[$4 >> 2] = (HEAP32[$4 >> 2] | 0) + 1 | 0; + continue label$2; + }; + } + CProfileSample___CProfileSample_28_29($4 + 7 | 0 | 0) | 0; + __stack_pointer = $4 + 16 | 0; + return; + } + + function btDiscreteDynamicsWorld__setGravity_28btVector3_20const__29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, i64toi32_i32$2 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $5 = 0, $8 = 0, $10 = 0, $63 = 0, $73 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; + $8 = $5 + 264 | 0; + i64toi32_i32$2 = HEAP32[($4 + 8 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $63 = i64toi32_i32$0; + i64toi32_i32$0 = $8; + HEAP32[i64toi32_i32$0 >> 2] = $63; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $10 = 8; + i64toi32_i32$2 = i64toi32_i32$2 + $10 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $73 = i64toi32_i32$1; + i64toi32_i32$1 = $8 + $10 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $73; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($4 + 4 | 0) >> 2] = 0; + label$1 : { + label$2 : while (1) { + if (!((HEAP32[($4 + 4 | 0) >> 2] | 0 | 0) < (btAlignedObjectArray_btRigidBody____size_28_29_20const($5 + 244 | 0 | 0) | 0 | 0) & 1 | 0)) { + break label$1 + } + (wasm2js_i32$0 = $4, wasm2js_i32$1 = HEAP32[(btAlignedObjectArray_btRigidBody____operator_5b_5d_28int_29($5 + 244 | 0 | 0, HEAP32[($4 + 4 | 0) >> 2] | 0 | 0) | 0) >> 2] | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + label$3 : { + if (!((btCollisionObject__isActive_28_29_20const(HEAP32[$4 >> 2] | 0 | 0) | 0) & 1 | 0)) { + break label$3 + } + if ((btRigidBody__getFlags_28_29_20const(HEAP32[$4 >> 2] | 0 | 0) | 0) & 1 | 0) { + break label$3 + } + btRigidBody__setGravity_28btVector3_20const__29(HEAP32[$4 >> 2] | 0 | 0, HEAP32[($4 + 8 | 0) >> 2] | 0 | 0); + } + HEAP32[($4 + 4 | 0) >> 2] = (HEAP32[($4 + 4 | 0) >> 2] | 0) + 1 | 0; + continue label$2; + }; + } + __stack_pointer = $4 + 16 | 0; + return; + } + + function btDiscreteDynamicsWorld__getGravity_28_29_20const($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var i64toi32_i32$2 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $4 = 0, $9 = 0, $27 = 0, $37 = 0; + $4 = __stack_pointer - 16 | 0; + HEAP32[($4 + 12 | 0) >> 2] = $1; + i64toi32_i32$2 = (HEAP32[($4 + 12 | 0) >> 2] | 0) + 264 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $27 = i64toi32_i32$0; + i64toi32_i32$0 = $0; + HEAP32[i64toi32_i32$0 >> 2] = $27; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $9 = 8; + i64toi32_i32$2 = i64toi32_i32$2 + $9 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $37 = i64toi32_i32$1; + i64toi32_i32$1 = $0 + $9 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $37; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + return; + } + + function btDiscreteDynamicsWorld__addCollisionObject_28btCollisionObject__2c_20int_2c_20int_29($0, $1, $2, $3) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + var $6 = 0; + $6 = __stack_pointer - 16 | 0; + __stack_pointer = $6; + HEAP32[($6 + 12 | 0) >> 2] = $0; + HEAP32[($6 + 8 | 0) >> 2] = $1; + HEAP32[($6 + 4 | 0) >> 2] = $2; + HEAP32[$6 >> 2] = $3; + btCollisionWorld__addCollisionObject_28btCollisionObject__2c_20int_2c_20int_29(HEAP32[($6 + 12 | 0) >> 2] | 0 | 0, HEAP32[($6 + 8 | 0) >> 2] | 0 | 0, HEAP32[($6 + 4 | 0) >> 2] | 0 | 0, HEAP32[$6 >> 2] | 0 | 0); + __stack_pointer = $6 + 16 | 0; + return; + } + + function btDiscreteDynamicsWorld__removeCollisionObject_28btCollisionObject__29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, $5 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; + (wasm2js_i32$0 = $4, wasm2js_i32$1 = btRigidBody__upcast_28btCollisionObject__29(HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + label$2 : { + if (!((HEAP32[($4 + 4 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$2 + } + FUNCTION_TABLE[HEAP32[((HEAP32[$5 >> 2] | 0) + 92 | 0) >> 2] | 0 | 0]($5, HEAP32[($4 + 4 | 0) >> 2] | 0); + break label$1; + } + btCollisionWorld__removeCollisionObject_28btCollisionObject__29($5 | 0, HEAP32[($4 + 8 | 0) >> 2] | 0 | 0); + } + __stack_pointer = $4 + 16 | 0; + return; + } + + function btDiscreteDynamicsWorld__removeRigidBody_28btRigidBody__29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, $5 = 0; + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; + btAlignedObjectArray_btRigidBody____remove_28btRigidBody__20const__29($5 + 244 | 0 | 0, $4 + 8 | 0 | 0); + btCollisionWorld__removeCollisionObject_28btCollisionObject__29($5 | 0, HEAP32[($4 + 8 | 0) >> 2] | 0 | 0); + __stack_pointer = $4 + 16 | 0; + return; + } + + function btAlignedObjectArray_btRigidBody____remove_28btRigidBody__20const__29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, $5 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; + (wasm2js_i32$0 = $4, wasm2js_i32$1 = btAlignedObjectArray_btRigidBody____findLinearSearch_28btRigidBody__20const__29_20const($5 | 0, HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + btAlignedObjectArray_btRigidBody____removeAtIndex_28int_29($5 | 0, HEAP32[($4 + 4 | 0) >> 2] | 0 | 0); + __stack_pointer = $4 + 16 | 0; + return; + } + + function btAlignedObjectArray_btRigidBody____findLinearSearch_28btRigidBody__20const__29_20const($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, $5 = 0, $32 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; + (wasm2js_i32$0 = $4, wasm2js_i32$1 = btAlignedObjectArray_btRigidBody____size_28_29_20const($5 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + HEAP32[$4 >> 2] = 0; + label$1 : { + label$2 : while (1) { + if (!((HEAP32[$4 >> 2] | 0 | 0) < (btAlignedObjectArray_btRigidBody____size_28_29_20const($5 | 0) | 0 | 0) & 1 | 0)) { + break label$1 + } + label$3 : { + if (!((HEAP32[((HEAP32[($5 + 12 | 0) >> 2] | 0) + ((HEAP32[$4 >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0) == (HEAP32[(HEAP32[($4 + 8 | 0) >> 2] | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$3 + } + HEAP32[($4 + 4 | 0) >> 2] = HEAP32[$4 >> 2] | 0; + break label$1; + } + HEAP32[$4 >> 2] = (HEAP32[$4 >> 2] | 0) + 1 | 0; + continue label$2; + }; + } + $32 = HEAP32[($4 + 4 | 0) >> 2] | 0; + __stack_pointer = $4 + 16 | 0; + return $32 | 0; + } + + function btAlignedObjectArray_btRigidBody____removeAtIndex_28int_29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, $5 = 0; + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; + label$1 : { + if (!((HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) < (btAlignedObjectArray_btRigidBody____size_28_29_20const($5 | 0) | 0 | 0) & 1 | 0)) { + break label$1 + } + btAlignedObjectArray_btRigidBody____swap_28int_2c_20int_29($5 | 0, HEAP32[($4 + 8 | 0) >> 2] | 0 | 0, (btAlignedObjectArray_btRigidBody____size_28_29_20const($5 | 0) | 0) - 1 | 0 | 0); + btAlignedObjectArray_btRigidBody____pop_back_28_29($5 | 0); + } + __stack_pointer = $4 + 16 | 0; + return; + } + + function btDiscreteDynamicsWorld__addRigidBody_28btRigidBody__29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, $5 = 0, $41 = 0; + $4 = __stack_pointer - 32 | 0; + __stack_pointer = $4; + HEAP32[($4 + 28 | 0) >> 2] = $0; + HEAP32[($4 + 24 | 0) >> 2] = $1; + $5 = HEAP32[($4 + 28 | 0) >> 2] | 0; + label$1 : { + if ((btCollisionObject__isStaticOrKinematicObject_28_29_20const(HEAP32[($4 + 24 | 0) >> 2] | 0 | 0) | 0) & 1 | 0) { + break label$1 + } + if ((btRigidBody__getFlags_28_29_20const(HEAP32[($4 + 24 | 0) >> 2] | 0 | 0) | 0) & 1 | 0) { + break label$1 + } + btRigidBody__setGravity_28btVector3_20const__29(HEAP32[($4 + 24 | 0) >> 2] | 0 | 0, $5 + 264 | 0 | 0); + } + label$2 : { + if (!((btRigidBody__getCollisionShape_28_29(HEAP32[($4 + 24 | 0) >> 2] | 0 | 0) | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$2 + } + label$3 : { + label$4 : { + if ((btCollisionObject__isStaticObject_28_29_20const(HEAP32[($4 + 24 | 0) >> 2] | 0 | 0) | 0) & 1 | 0) { + break label$4 + } + btAlignedObjectArray_btRigidBody____push_back_28btRigidBody__20const__29($5 + 244 | 0 | 0, $4 + 24 | 0 | 0); + break label$3; + } + btCollisionObject__setActivationState_28int_29_20const(HEAP32[($4 + 24 | 0) >> 2] | 0 | 0, 2 | 0); + } + $41 = 1; + label$5 : { + if ((btCollisionObject__isStaticObject_28_29_20const(HEAP32[($4 + 24 | 0) >> 2] | 0 | 0) | 0) & 1 | 0) { + break label$5 + } + $41 = btCollisionObject__isKinematicObject_28_29_20const(HEAP32[($4 + 24 | 0) >> 2] | 0 | 0) | 0; + } + HEAP8[($4 + 23 | 0) >> 0] = ($41 ^ -1 | 0) & 1 | 0; + HEAP32[($4 + 16 | 0) >> 2] = (HEAPU8[($4 + 23 | 0) >> 0] | 0) & 1 | 0 ? 1 : 2; + HEAP32[($4 + 12 | 0) >> 2] = (HEAPU8[($4 + 23 | 0) >> 0] | 0) & 1 | 0 ? -1 : -3; + FUNCTION_TABLE[HEAP32[((HEAP32[$5 >> 2] | 0) + 36 | 0) >> 2] | 0 | 0]($5, HEAP32[($4 + 24 | 0) >> 2] | 0, HEAP32[($4 + 16 | 0) >> 2] | 0, HEAP32[($4 + 12 | 0) >> 2] | 0); + } + __stack_pointer = $4 + 32 | 0; + return; + } + + function btAlignedObjectArray_btRigidBody____push_back_28btRigidBody__20const__29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $5 = 0, $4 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; + (wasm2js_i32$0 = $4, wasm2js_i32$1 = btAlignedObjectArray_btRigidBody____size_28_29_20const($5 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + if (!((HEAP32[($4 + 4 | 0) >> 2] | 0 | 0) == (btAlignedObjectArray_btRigidBody____capacity_28_29_20const($5 | 0) | 0 | 0) & 1 | 0)) { + break label$1 + } + btAlignedObjectArray_btRigidBody____reserve_28int_29($5 | 0, btAlignedObjectArray_btRigidBody____allocSize_28int_29($5 | 0, btAlignedObjectArray_btRigidBody____size_28_29_20const($5 | 0) | 0 | 0) | 0 | 0); + } + HEAP32[((HEAP32[($5 + 12 | 0) >> 2] | 0) + ((HEAP32[($5 + 4 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = HEAP32[(HEAP32[($4 + 8 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($5 + 4 | 0) >> 2] = (HEAP32[($5 + 4 | 0) >> 2] | 0) + 1 | 0; + __stack_pointer = $4 + 16 | 0; + return; + } + + function btAlignedObjectArray_btRigidBody____capacity_28_29_20const($0) { + $0 = $0 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + return HEAP32[((HEAP32[($3 + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0; + } + + function btAlignedObjectArray_btRigidBody____allocSize_28int_29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, $9 = 0; + $4 = __stack_pointer - 16 | 0; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + label$1 : { + label$2 : { + if (!(HEAP32[($4 + 8 | 0) >> 2] | 0)) { + break label$2 + } + $9 = (HEAP32[($4 + 8 | 0) >> 2] | 0) << 1 | 0; + break label$1; + } + $9 = 1; + } + return $9 | 0; + } + + function btAlignedObjectArray_btRigidBody____reserve_28int_29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, $5 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; + label$1 : { + if (!((btAlignedObjectArray_btRigidBody____capacity_28_29_20const($5 | 0) | 0 | 0) < (HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$1 + } + (wasm2js_i32$0 = $4, wasm2js_i32$1 = btAlignedObjectArray_btRigidBody____allocate_28int_29($5 | 0, HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + btAlignedObjectArray_btRigidBody____copy_28int_2c_20int_2c_20btRigidBody___29_20const($5 | 0, 0 | 0, btAlignedObjectArray_btRigidBody____size_28_29_20const($5 | 0) | 0 | 0, HEAP32[($4 + 4 | 0) >> 2] | 0 | 0); + btAlignedObjectArray_btRigidBody____destroy_28int_2c_20int_29($5 | 0, 0 | 0, btAlignedObjectArray_btRigidBody____size_28_29_20const($5 | 0) | 0 | 0); + btAlignedObjectArray_btRigidBody____deallocate_28_29($5 | 0); + HEAP8[($5 + 16 | 0) >> 0] = 1; + HEAP32[($5 + 12 | 0) >> 2] = HEAP32[($4 + 4 | 0) >> 2] | 0; + HEAP32[($5 + 8 | 0) >> 2] = HEAP32[($4 + 8 | 0) >> 2] | 0; + } + __stack_pointer = $4 + 16 | 0; + return; + } + + function btDiscreteDynamicsWorld__addRigidBody_28btRigidBody__2c_20int_2c_20int_29($0, $1, $2, $3) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + var $6 = 0, $7 = 0; + $6 = __stack_pointer - 16 | 0; + __stack_pointer = $6; + HEAP32[($6 + 12 | 0) >> 2] = $0; + HEAP32[($6 + 8 | 0) >> 2] = $1; + HEAP32[($6 + 4 | 0) >> 2] = $2; + HEAP32[$6 >> 2] = $3; + $7 = HEAP32[($6 + 12 | 0) >> 2] | 0; + label$1 : { + if ((btCollisionObject__isStaticOrKinematicObject_28_29_20const(HEAP32[($6 + 8 | 0) >> 2] | 0 | 0) | 0) & 1 | 0) { + break label$1 + } + if ((btRigidBody__getFlags_28_29_20const(HEAP32[($6 + 8 | 0) >> 2] | 0 | 0) | 0) & 1 | 0) { + break label$1 + } + btRigidBody__setGravity_28btVector3_20const__29(HEAP32[($6 + 8 | 0) >> 2] | 0 | 0, $7 + 264 | 0 | 0); + } + label$2 : { + if (!((btRigidBody__getCollisionShape_28_29(HEAP32[($6 + 8 | 0) >> 2] | 0 | 0) | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$2 + } + label$3 : { + label$4 : { + if ((btCollisionObject__isStaticObject_28_29_20const(HEAP32[($6 + 8 | 0) >> 2] | 0 | 0) | 0) & 1 | 0) { + break label$4 + } + btAlignedObjectArray_btRigidBody____push_back_28btRigidBody__20const__29($7 + 244 | 0 | 0, $6 + 8 | 0 | 0); + break label$3; + } + btCollisionObject__setActivationState_28int_29_20const(HEAP32[($6 + 8 | 0) >> 2] | 0 | 0, 2 | 0); + } + FUNCTION_TABLE[HEAP32[((HEAP32[$7 >> 2] | 0) + 36 | 0) >> 2] | 0 | 0]($7, HEAP32[($6 + 8 | 0) >> 2] | 0, HEAP32[($6 + 4 | 0) >> 2] | 0, HEAP32[$6 >> 2] | 0); + } + __stack_pointer = $6 + 16 | 0; + return; + } + + function btDiscreteDynamicsWorld__updateActivationState_28float_29($0, $1) { + $0 = $0 | 0; + $1 = Math_fround($1); + var $4 = 0, $5 = 0, $62 = 0, $84 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4 = __stack_pointer - 80 | 0; + __stack_pointer = $4; + HEAP32[($4 + 76 | 0) >> 2] = $0; + HEAPF32[($4 + 72 | 0) >> 2] = $1; + $5 = HEAP32[($4 + 76 | 0) >> 2] | 0; + CProfileSample__CProfileSample_28char_20const__29($4 + 71 | 0 | 0, 81326 | 0) | 0; + HEAP32[($4 + 64 | 0) >> 2] = 0; + label$1 : { + label$2 : while (1) { + if (!((HEAP32[($4 + 64 | 0) >> 2] | 0 | 0) < (btAlignedObjectArray_btRigidBody____size_28_29_20const($5 + 244 | 0 | 0) | 0 | 0) & 1 | 0)) { + break label$1 + } + (wasm2js_i32$0 = $4, wasm2js_i32$1 = HEAP32[(btAlignedObjectArray_btRigidBody____operator_5b_5d_28int_29($5 + 244 | 0 | 0, HEAP32[($4 + 64 | 0) >> 2] | 0 | 0) | 0) >> 2] | 0), HEAP32[(wasm2js_i32$0 + 60 | 0) >> 2] = wasm2js_i32$1; + label$3 : { + if (!((HEAP32[($4 + 60 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$3 + } + btRigidBody__updateDeactivation_28float_29(HEAP32[($4 + 60 | 0) >> 2] | 0 | 0, Math_fround(Math_fround(HEAPF32[($4 + 72 | 0) >> 2]))); + label$4 : { + label$5 : { + if (!((btRigidBody__wantsSleeping_28_29(HEAP32[($4 + 60 | 0) >> 2] | 0 | 0) | 0) & 1 | 0)) { + break label$5 + } + label$6 : { + label$7 : { + if (!((btCollisionObject__isStaticOrKinematicObject_28_29_20const(HEAP32[($4 + 60 | 0) >> 2] | 0 | 0) | 0) & 1 | 0)) { + break label$7 + } + btCollisionObject__setActivationState_28int_29_20const(HEAP32[($4 + 60 | 0) >> 2] | 0 | 0, 2 | 0); + break label$6; + } + label$8 : { + if (!((btCollisionObject__getActivationState_28_29_20const(HEAP32[($4 + 60 | 0) >> 2] | 0 | 0) | 0 | 0) == (1 | 0) & 1 | 0)) { + break label$8 + } + btCollisionObject__setActivationState_28int_29_20const(HEAP32[($4 + 60 | 0) >> 2] | 0 | 0, 3 | 0); + } + label$9 : { + if (!((btCollisionObject__getActivationState_28_29_20const(HEAP32[($4 + 60 | 0) >> 2] | 0 | 0) | 0 | 0) == (2 | 0) & 1 | 0)) { + break label$9 + } + $62 = HEAP32[($4 + 60 | 0) >> 2] | 0; + HEAPF32[($4 + 40 | 0) >> 2] = Math_fround(0 | 0); + HEAPF32[($4 + 36 | 0) >> 2] = Math_fround(0 | 0); + HEAPF32[($4 + 32 | 0) >> 2] = Math_fround(0 | 0); + btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($4 + 44 | 0 | 0, $4 + 40 | 0 | 0, $4 + 36 | 0 | 0, $4 + 32 | 0 | 0) | 0; + btRigidBody__setAngularVelocity_28btVector3_20const__29($62 | 0, $4 + 44 | 0 | 0); + $84 = HEAP32[($4 + 60 | 0) >> 2] | 0; + HEAPF32[($4 + 12 | 0) >> 2] = Math_fround(0 | 0); + HEAPF32[($4 + 8 | 0) >> 2] = Math_fround(0 | 0); + HEAPF32[($4 + 4 | 0) >> 2] = Math_fround(0 | 0); + btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($4 + 16 | 0 | 0, $4 + 12 | 0 | 0, $4 + 8 | 0 | 0, $4 + 4 | 0 | 0) | 0; + btRigidBody__setLinearVelocity_28btVector3_20const__29($84 | 0, $4 + 16 | 0 | 0); + } + } + break label$4; + } + label$10 : { + if (!((btCollisionObject__getActivationState_28_29_20const(HEAP32[($4 + 60 | 0) >> 2] | 0 | 0) | 0 | 0) != (4 | 0) & 1 | 0)) { + break label$10 + } + btCollisionObject__setActivationState_28int_29_20const(HEAP32[($4 + 60 | 0) >> 2] | 0 | 0, 1 | 0); + } + } + } + HEAP32[($4 + 64 | 0) >> 2] = (HEAP32[($4 + 64 | 0) >> 2] | 0) + 1 | 0; + continue label$2; + }; + } + CProfileSample___CProfileSample_28_29($4 + 71 | 0 | 0) | 0; + __stack_pointer = $4 + 80 | 0; + return; + } + + function btRigidBody__updateDeactivation_28float_29($0, $1) { + $0 = $0 | 0; + $1 = Math_fround($1); + var $5 = 0, $4 = 0; + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAPF32[($4 + 8 | 0) >> 2] = $1; + $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; + label$1 : { + label$2 : { + label$3 : { + if ((btCollisionObject__getActivationState_28_29_20const($5 | 0) | 0 | 0) == (2 | 0) & 1 | 0) { + break label$3 + } + if (!((btCollisionObject__getActivationState_28_29_20const($5 | 0) | 0 | 0) == (4 | 0) & 1 | 0)) { + break label$2 + } + } + break label$1; + } + label$4 : { + if (!(Math_fround(btVector3__length2_28_29_20const(btRigidBody__getLinearVelocity_28_29_20const($5 | 0) | 0 | 0)) < Math_fround(Math_fround(HEAPF32[($5 + 532 | 0) >> 2]) * Math_fround(HEAPF32[($5 + 532 | 0) >> 2])) & 1 | 0)) { + break label$4 + } + if (!(Math_fround(btVector3__length2_28_29_20const(btRigidBody__getAngularVelocity_28_29_20const($5 | 0) | 0 | 0)) < Math_fround(Math_fround(HEAPF32[($5 + 536 | 0) >> 2]) * Math_fround(HEAPF32[($5 + 536 | 0) >> 2])) & 1 | 0)) { + break label$4 + } + HEAPF32[($5 + 224 | 0) >> 2] = Math_fround(Math_fround(HEAPF32[($5 + 224 | 0) >> 2]) + Math_fround(HEAPF32[($4 + 8 | 0) >> 2])); + break label$1; + } + HEAPF32[($5 + 224 | 0) >> 2] = Math_fround(0 | 0); + btCollisionObject__setActivationState_28int_29_20const($5 | 0, 0 | 0); + } + __stack_pointer = $4 + 16 | 0; + return; + } + + function btDiscreteDynamicsWorld__addConstraint_28btTypedConstraint__2c_20bool_29($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $5 = 0; + $5 = __stack_pointer - 16 | 0; + __stack_pointer = $5; + HEAP32[($5 + 12 | 0) >> 2] = $0; + HEAP32[($5 + 8 | 0) >> 2] = $1; + HEAP8[($5 + 7 | 0) >> 0] = $2; + btAlignedObjectArray_btTypedConstraint____push_back_28btTypedConstraint__20const__29((HEAP32[($5 + 12 | 0) >> 2] | 0) + 224 | 0 | 0, $5 + 8 | 0 | 0); + label$1 : { + if ((btTypedConstraint__getRigidBodyA_28_29(HEAP32[($5 + 8 | 0) >> 2] | 0 | 0) | 0 | 0) != (btTypedConstraint__getRigidBodyB_28_29(HEAP32[($5 + 8 | 0) >> 2] | 0 | 0) | 0 | 0) & 1 | 0) { + break label$1 + } + __assert_fail(88204 | 0, 75653 | 0, 660 | 0, 67767 | 0); + wasm2js_trap(); + } + label$2 : { + if (!((HEAPU8[($5 + 7 | 0) >> 0] | 0) & 1 | 0)) { + break label$2 + } + btRigidBody__addConstraintRef_28btTypedConstraint__29(btTypedConstraint__getRigidBodyA_28_29(HEAP32[($5 + 8 | 0) >> 2] | 0 | 0) | 0 | 0, HEAP32[($5 + 8 | 0) >> 2] | 0 | 0); + btRigidBody__addConstraintRef_28btTypedConstraint__29(btTypedConstraint__getRigidBodyB_28_29(HEAP32[($5 + 8 | 0) >> 2] | 0 | 0) | 0 | 0, HEAP32[($5 + 8 | 0) >> 2] | 0 | 0); + } + __stack_pointer = $5 + 16 | 0; + return; + } + + function btDiscreteDynamicsWorld__removeConstraint_28btTypedConstraint__29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0; + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + btAlignedObjectArray_btTypedConstraint____remove_28btTypedConstraint__20const__29((HEAP32[($4 + 12 | 0) >> 2] | 0) + 224 | 0 | 0, $4 + 8 | 0 | 0); + btRigidBody__removeConstraintRef_28btTypedConstraint__29(btTypedConstraint__getRigidBodyA_28_29(HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) | 0 | 0, HEAP32[($4 + 8 | 0) >> 2] | 0 | 0); + btRigidBody__removeConstraintRef_28btTypedConstraint__29(btTypedConstraint__getRigidBodyB_28_29(HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) | 0 | 0, HEAP32[($4 + 8 | 0) >> 2] | 0 | 0); + __stack_pointer = $4 + 16 | 0; + return; + } + + function btDiscreteDynamicsWorld__addAction_28btActionInterface__29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0; + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + btAlignedObjectArray_btActionInterface____push_back_28btActionInterface__20const__29((HEAP32[($4 + 12 | 0) >> 2] | 0) + 292 | 0 | 0, $4 + 8 | 0 | 0); + __stack_pointer = $4 + 16 | 0; + return; + } + + function btAlignedObjectArray_btActionInterface____push_back_28btActionInterface__20const__29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $5 = 0, $4 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; + (wasm2js_i32$0 = $4, wasm2js_i32$1 = btAlignedObjectArray_btActionInterface____size_28_29_20const($5 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + if (!((HEAP32[($4 + 4 | 0) >> 2] | 0 | 0) == (btAlignedObjectArray_btActionInterface____capacity_28_29_20const($5 | 0) | 0 | 0) & 1 | 0)) { + break label$1 + } + btAlignedObjectArray_btActionInterface____reserve_28int_29($5 | 0, btAlignedObjectArray_btActionInterface____allocSize_28int_29($5 | 0, btAlignedObjectArray_btActionInterface____size_28_29_20const($5 | 0) | 0 | 0) | 0 | 0); + } + HEAP32[((HEAP32[($5 + 12 | 0) >> 2] | 0) + ((HEAP32[($5 + 4 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = HEAP32[(HEAP32[($4 + 8 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($5 + 4 | 0) >> 2] = (HEAP32[($5 + 4 | 0) >> 2] | 0) + 1 | 0; + __stack_pointer = $4 + 16 | 0; + return; + } + + function btAlignedObjectArray_btActionInterface____capacity_28_29_20const($0) { + $0 = $0 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + return HEAP32[((HEAP32[($3 + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0; + } + + function btAlignedObjectArray_btActionInterface____allocSize_28int_29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, $9 = 0; + $4 = __stack_pointer - 16 | 0; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + label$1 : { + label$2 : { + if (!(HEAP32[($4 + 8 | 0) >> 2] | 0)) { + break label$2 + } + $9 = (HEAP32[($4 + 8 | 0) >> 2] | 0) << 1 | 0; + break label$1; + } + $9 = 1; + } + return $9 | 0; + } + + function btAlignedObjectArray_btActionInterface____reserve_28int_29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, $5 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; + label$1 : { + if (!((btAlignedObjectArray_btActionInterface____capacity_28_29_20const($5 | 0) | 0 | 0) < (HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$1 + } + (wasm2js_i32$0 = $4, wasm2js_i32$1 = btAlignedObjectArray_btActionInterface____allocate_28int_29($5 | 0, HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + btAlignedObjectArray_btActionInterface____copy_28int_2c_20int_2c_20btActionInterface___29_20const($5 | 0, 0 | 0, btAlignedObjectArray_btActionInterface____size_28_29_20const($5 | 0) | 0 | 0, HEAP32[($4 + 4 | 0) >> 2] | 0 | 0); + btAlignedObjectArray_btActionInterface____destroy_28int_2c_20int_29($5 | 0, 0 | 0, btAlignedObjectArray_btActionInterface____size_28_29_20const($5 | 0) | 0 | 0); + btAlignedObjectArray_btActionInterface____deallocate_28_29($5 | 0); + HEAP8[($5 + 16 | 0) >> 0] = 1; + HEAP32[($5 + 12 | 0) >> 2] = HEAP32[($4 + 4 | 0) >> 2] | 0; + HEAP32[($5 + 8 | 0) >> 2] = HEAP32[($4 + 8 | 0) >> 2] | 0; + } + __stack_pointer = $4 + 16 | 0; + return; + } + + function btDiscreteDynamicsWorld__removeAction_28btActionInterface__29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0; + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + btAlignedObjectArray_btActionInterface____remove_28btActionInterface__20const__29((HEAP32[($4 + 12 | 0) >> 2] | 0) + 292 | 0 | 0, $4 + 8 | 0 | 0); + __stack_pointer = $4 + 16 | 0; + return; + } + + function btAlignedObjectArray_btActionInterface____remove_28btActionInterface__20const__29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, $5 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; + (wasm2js_i32$0 = $4, wasm2js_i32$1 = btAlignedObjectArray_btActionInterface____findLinearSearch_28btActionInterface__20const__29_20const($5 | 0, HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + btAlignedObjectArray_btActionInterface____removeAtIndex_28int_29($5 | 0, HEAP32[($4 + 4 | 0) >> 2] | 0 | 0); + __stack_pointer = $4 + 16 | 0; + return; + } + + function btAlignedObjectArray_btActionInterface____findLinearSearch_28btActionInterface__20const__29_20const($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, $5 = 0, $32 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; + (wasm2js_i32$0 = $4, wasm2js_i32$1 = btAlignedObjectArray_btActionInterface____size_28_29_20const($5 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + HEAP32[$4 >> 2] = 0; + label$1 : { + label$2 : while (1) { + if (!((HEAP32[$4 >> 2] | 0 | 0) < (btAlignedObjectArray_btActionInterface____size_28_29_20const($5 | 0) | 0 | 0) & 1 | 0)) { + break label$1 + } + label$3 : { + if (!((HEAP32[((HEAP32[($5 + 12 | 0) >> 2] | 0) + ((HEAP32[$4 >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0) == (HEAP32[(HEAP32[($4 + 8 | 0) >> 2] | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$3 + } + HEAP32[($4 + 4 | 0) >> 2] = HEAP32[$4 >> 2] | 0; + break label$1; + } + HEAP32[$4 >> 2] = (HEAP32[$4 >> 2] | 0) + 1 | 0; + continue label$2; + }; + } + $32 = HEAP32[($4 + 4 | 0) >> 2] | 0; + __stack_pointer = $4 + 16 | 0; + return $32 | 0; + } + + function btAlignedObjectArray_btActionInterface____removeAtIndex_28int_29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, $5 = 0; + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; + label$1 : { + if (!((HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) < (btAlignedObjectArray_btActionInterface____size_28_29_20const($5 | 0) | 0 | 0) & 1 | 0)) { + break label$1 + } + btAlignedObjectArray_btActionInterface____swap_28int_2c_20int_29($5 | 0, HEAP32[($4 + 8 | 0) >> 2] | 0 | 0, (btAlignedObjectArray_btActionInterface____size_28_29_20const($5 | 0) | 0) - 1 | 0 | 0); + btAlignedObjectArray_btActionInterface____pop_back_28_29($5 | 0); + } + __stack_pointer = $4 + 16 | 0; + return; + } + + function btDiscreteDynamicsWorld__addVehicle_28btActionInterface__29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, $5 = 0; + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; + FUNCTION_TABLE[HEAP32[((HEAP32[$5 >> 2] | 0) + 64 | 0) >> 2] | 0 | 0]($5, HEAP32[($4 + 8 | 0) >> 2] | 0); + __stack_pointer = $4 + 16 | 0; + return; + } + + function btDiscreteDynamicsWorld__removeVehicle_28btActionInterface__29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, $5 = 0; + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; + FUNCTION_TABLE[HEAP32[((HEAP32[$5 >> 2] | 0) + 68 | 0) >> 2] | 0 | 0]($5, HEAP32[($4 + 8 | 0) >> 2] | 0); + __stack_pointer = $4 + 16 | 0; + return; + } + + function btDiscreteDynamicsWorld__addCharacter_28btActionInterface__29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, $5 = 0; + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; + FUNCTION_TABLE[HEAP32[((HEAP32[$5 >> 2] | 0) + 64 | 0) >> 2] | 0 | 0]($5, HEAP32[($4 + 8 | 0) >> 2] | 0); + __stack_pointer = $4 + 16 | 0; + return; + } + + function btDiscreteDynamicsWorld__removeCharacter_28btActionInterface__29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, $5 = 0; + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; + FUNCTION_TABLE[HEAP32[((HEAP32[$5 >> 2] | 0) + 68 | 0) >> 2] | 0 | 0]($5, HEAP32[($4 + 8 | 0) >> 2] | 0); + __stack_pointer = $4 + 16 | 0; + return; + } + + function btDiscreteDynamicsWorld__solveConstraints_28btContactSolverInfo__29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $5 = 0, $4 = 0, $53 = 0, $65 = 0, $69 = 0, $81 = 0, $14 = 0, $33 = 0, $67 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0, wasm2js_i32$2 = 0, wasm2js_i32$3 = 0; + $4 = __stack_pointer - 32 | 0; + __stack_pointer = $4; + HEAP32[($4 + 28 | 0) >> 2] = $0; + HEAP32[($4 + 24 | 0) >> 2] = $1; + $5 = HEAP32[($4 + 28 | 0) >> 2] | 0; + CProfileSample__CProfileSample_28char_20const__29($4 + 23 | 0 | 0, 69190 | 0) | 0; + $14 = btAlignedObjectArray_btTypedConstraint____size_28_29_20const($5 + 224 | 0 | 0) | 0; + HEAP32[($4 + 16 | 0) >> 2] = 0; + btAlignedObjectArray_btTypedConstraint____resize_28int_2c_20btTypedConstraint__20const__29($5 + 192 | 0 | 0, $14 | 0, $4 + 16 | 0 | 0); + HEAP32[($4 + 12 | 0) >> 2] = 0; + label$1 : { + label$2 : while (1) { + if (!((HEAP32[($4 + 12 | 0) >> 2] | 0 | 0) < (FUNCTION_TABLE[HEAP32[((HEAP32[$5 >> 2] | 0) + 104 | 0) >> 2] | 0 | 0]($5) | 0 | 0) & 1 | 0)) { + break label$1 + } + $33 = HEAP32[(btAlignedObjectArray_btTypedConstraint____operator_5b_5d_28int_29($5 + 224 | 0 | 0, HEAP32[($4 + 12 | 0) >> 2] | 0 | 0) | 0) >> 2] | 0; + (wasm2js_i32$0 = btAlignedObjectArray_btTypedConstraint____operator_5b_5d_28int_29($5 + 192 | 0 | 0, HEAP32[($4 + 12 | 0) >> 2] | 0 | 0) | 0, wasm2js_i32$1 = $33), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + HEAP32[($4 + 12 | 0) >> 2] = (HEAP32[($4 + 12 | 0) >> 2] | 0) + 1 | 0; + continue label$2; + }; + } + void_20btAlignedObjectArray_btTypedConstraint____quickSort_btSortConstraintOnIslandPredicate__28btSortConstraintOnIslandPredicate_20const__29($5 + 192 | 0 | 0, $4 + 11 | 0 | 0); + label$3 : { + label$4 : { + if (!(FUNCTION_TABLE[HEAP32[((HEAP32[$5 >> 2] | 0) + 104 | 0) >> 2] | 0 | 0]($5) | 0)) { + break label$4 + } + $53 = btAlignedObjectArray_btTypedConstraint____operator_5b_5d_28int_29($5 + 192 | 0 | 0, 0 | 0) | 0; + break label$3; + } + $53 = 0; + } + HEAP32[($4 + 4 | 0) >> 2] = $53; + InplaceSolverIslandCallback__setup_28btContactSolverInfo__2c_20btTypedConstraint___2c_20int_2c_20btIDebugDraw__29(HEAP32[($5 + 212 | 0) >> 2] | 0 | 0, HEAP32[($4 + 24 | 0) >> 2] | 0 | 0, HEAP32[($4 + 4 | 0) >> 2] | 0 | 0, btAlignedObjectArray_btTypedConstraint____size_28_29_20const($5 + 192 | 0 | 0) | 0 | 0, FUNCTION_TABLE[HEAP32[((HEAP32[$5 >> 2] | 0) + 20 | 0) >> 2] | 0 | 0]($5) | 0 | 0); + $65 = HEAP32[($5 + 216 | 0) >> 2] | 0; + $67 = btCollisionWorld__getNumCollisionObjects_28_29_20const(btDiscreteDynamicsWorld__getCollisionWorld_28_29($5 | 0) | 0 | 0) | 0; + $69 = btCollisionWorld__getDispatcher_28_29(btDiscreteDynamicsWorld__getCollisionWorld_28_29($5 | 0) | 0 | 0) | 0; + (((wasm2js_i32$1 = $65, wasm2js_i32$2 = $67), wasm2js_i32$3 = FUNCTION_TABLE[HEAP32[((HEAP32[$69 >> 2] | 0) + 36 | 0) >> 2] | 0 | 0]($69) | 0), wasm2js_i32$0 = HEAP32[((HEAP32[$65 >> 2] | 0) + 8 | 0) >> 2] | 0 | 0), FUNCTION_TABLE[wasm2js_i32$0](wasm2js_i32$1 | 0, wasm2js_i32$2 | 0, wasm2js_i32$3 | 0); + btSimulationIslandManager__buildAndProcessIslands_28btDispatcher__2c_20btCollisionWorld__2c_20btSimulationIslandManager__IslandCallback__29(HEAP32[($5 + 220 | 0) >> 2] | 0 | 0, btCollisionWorld__getDispatcher_28_29(btDiscreteDynamicsWorld__getCollisionWorld_28_29($5 | 0) | 0 | 0) | 0 | 0, btDiscreteDynamicsWorld__getCollisionWorld_28_29($5 | 0) | 0 | 0, HEAP32[($5 + 212 | 0) >> 2] | 0 | 0); + InplaceSolverIslandCallback__processConstraints_28_29(HEAP32[($5 + 212 | 0) >> 2] | 0 | 0); + $81 = HEAP32[($5 + 216 | 0) >> 2] | 0; + FUNCTION_TABLE[HEAP32[((HEAP32[$81 >> 2] | 0) + 16 | 0) >> 2] | 0 | 0]($81, HEAP32[($4 + 24 | 0) >> 2] | 0, HEAP32[($5 + 72 | 0) >> 2] | 0); + CProfileSample___CProfileSample_28_29($4 + 23 | 0 | 0) | 0; + __stack_pointer = $4 + 32 | 0; + return; + } + + function btAlignedObjectArray_btTypedConstraint____resize_28int_2c_20btTypedConstraint__20const__29($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $5 = 0, $6 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5 = __stack_pointer - 32 | 0; + __stack_pointer = $5; + HEAP32[($5 + 28 | 0) >> 2] = $0; + HEAP32[($5 + 24 | 0) >> 2] = $1; + HEAP32[($5 + 20 | 0) >> 2] = $2; + $6 = HEAP32[($5 + 28 | 0) >> 2] | 0; + (wasm2js_i32$0 = $5, wasm2js_i32$1 = btAlignedObjectArray_btTypedConstraint____size_28_29_20const($6 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + label$2 : { + if (!((HEAP32[($5 + 24 | 0) >> 2] | 0 | 0) < (HEAP32[($5 + 16 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($5 + 12 | 0) >> 2] = HEAP32[($5 + 24 | 0) >> 2] | 0; + label$3 : { + label$4 : while (1) { + if (!((HEAP32[($5 + 12 | 0) >> 2] | 0 | 0) < (HEAP32[($5 + 16 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$3 + } + HEAP32[($5 + 12 | 0) >> 2] = (HEAP32[($5 + 12 | 0) >> 2] | 0) + 1 | 0; + continue label$4; + }; + } + break label$1; + } + label$5 : { + if (!((HEAP32[($5 + 24 | 0) >> 2] | 0 | 0) > (HEAP32[($5 + 16 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$5 + } + btAlignedObjectArray_btTypedConstraint____reserve_28int_29($6 | 0, HEAP32[($5 + 24 | 0) >> 2] | 0 | 0); + } + HEAP32[($5 + 8 | 0) >> 2] = HEAP32[($5 + 16 | 0) >> 2] | 0; + label$6 : { + label$7 : while (1) { + if (!((HEAP32[($5 + 8 | 0) >> 2] | 0 | 0) < (HEAP32[($5 + 24 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$6 + } + HEAP32[((HEAP32[($6 + 12 | 0) >> 2] | 0) + ((HEAP32[($5 + 8 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = HEAP32[(HEAP32[($5 + 20 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($5 + 8 | 0) >> 2] = (HEAP32[($5 + 8 | 0) >> 2] | 0) + 1 | 0; + continue label$7; + }; + } + } + HEAP32[($6 + 4 | 0) >> 2] = HEAP32[($5 + 24 | 0) >> 2] | 0; + __stack_pointer = $5 + 32 | 0; + return; + } + + function void_20btAlignedObjectArray_btTypedConstraint____quickSort_btSortConstraintOnIslandPredicate__28btSortConstraintOnIslandPredicate_20const__29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, $5 = 0; + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; + label$1 : { + if (!((btAlignedObjectArray_btTypedConstraint____size_28_29_20const($5 | 0) | 0 | 0) > (1 | 0) & 1 | 0)) { + break label$1 + } + void_20btAlignedObjectArray_btTypedConstraint____quickSortInternal_btSortConstraintOnIslandPredicate__28btSortConstraintOnIslandPredicate_20const__2c_20int_2c_20int_29($5 | 0, HEAP32[($4 + 8 | 0) >> 2] | 0 | 0, 0 | 0, (btAlignedObjectArray_btTypedConstraint____size_28_29_20const($5 | 0) | 0) - 1 | 0 | 0); + } + __stack_pointer = $4 + 16 | 0; + return; + } + + function InplaceSolverIslandCallback__setup_28btContactSolverInfo__2c_20btTypedConstraint___2c_20int_2c_20btIDebugDraw__29($0, $1, $2, $3, $4) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + $4 = $4 | 0; + var $7 = 0, $8 = 0; + $7 = __stack_pointer - 32 | 0; + __stack_pointer = $7; + HEAP32[($7 + 28 | 0) >> 2] = $0; + HEAP32[($7 + 24 | 0) >> 2] = $1; + HEAP32[($7 + 20 | 0) >> 2] = $2; + HEAP32[($7 + 16 | 0) >> 2] = $3; + HEAP32[($7 + 12 | 0) >> 2] = $4; + $8 = HEAP32[($7 + 28 | 0) >> 2] | 0; + label$1 : { + if ((HEAP32[($7 + 24 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$1 + } + __assert_fail(76208 | 0, 75653 | 0, 121 | 0, 71279 | 0); + wasm2js_trap(); + } + HEAP32[($8 + 4 | 0) >> 2] = HEAP32[($7 + 24 | 0) >> 2] | 0; + HEAP32[($8 + 12 | 0) >> 2] = HEAP32[($7 + 20 | 0) >> 2] | 0; + HEAP32[($8 + 16 | 0) >> 2] = HEAP32[($7 + 16 | 0) >> 2] | 0; + HEAP32[($8 + 20 | 0) >> 2] = HEAP32[($7 + 12 | 0) >> 2] | 0; + HEAP32[($7 + 8 | 0) >> 2] = 0; + btAlignedObjectArray_btCollisionObject____resize_28int_2c_20btCollisionObject__20const__29($8 + 28 | 0 | 0, 0 | 0, $7 + 8 | 0 | 0); + HEAP32[($7 + 4 | 0) >> 2] = 0; + btAlignedObjectArray_btPersistentManifold____resize_28int_2c_20btPersistentManifold__20const__29($8 + 48 | 0 | 0, 0 | 0, $7 + 4 | 0 | 0); + HEAP32[$7 >> 2] = 0; + btAlignedObjectArray_btTypedConstraint____resize_28int_2c_20btTypedConstraint__20const__29($8 + 68 | 0 | 0, 0 | 0, $7 | 0); + __stack_pointer = $7 + 32 | 0; + return; + } + + function btDiscreteDynamicsWorld__getCollisionWorld_28_29($0) { + $0 = $0 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + return HEAP32[($3 + 12 | 0) >> 2] | 0 | 0; + } + + function btCollisionWorld__getNumCollisionObjects_28_29_20const($0) { + $0 = $0 | 0; + var $3 = 0, $7 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $7 = btAlignedObjectArray_btCollisionObject____size_28_29_20const((HEAP32[($3 + 12 | 0) >> 2] | 0) + 4 | 0 | 0) | 0; + __stack_pointer = $3 + 16 | 0; + return $7 | 0; + } + + function InplaceSolverIslandCallback__processConstraints_28_29($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0, $12 = 0, $22 = 0, $32 = 0, $35 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0, wasm2js_i32$2 = 0, wasm2js_i32$3 = 0, wasm2js_i32$4 = 0, wasm2js_i32$5 = 0, wasm2js_i32$6 = 0, wasm2js_i32$7 = 0, wasm2js_i32$8 = 0, wasm2js_i32$9 = 0, wasm2js_i32$10 = 0; + $3 = __stack_pointer - 32 | 0; + __stack_pointer = $3; + HEAP32[($3 + 28 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 28 | 0) >> 2] | 0; + label$1 : { + label$2 : { + if (!(btAlignedObjectArray_btCollisionObject____size_28_29_20const($4 + 28 | 0 | 0) | 0)) { + break label$2 + } + $12 = btAlignedObjectArray_btCollisionObject____operator_5b_5d_28int_29($4 + 28 | 0 | 0, 0 | 0) | 0; + break label$1; + } + $12 = 0; + } + HEAP32[($3 + 24 | 0) >> 2] = $12; + label$3 : { + label$4 : { + if (!(btAlignedObjectArray_btPersistentManifold____size_28_29_20const($4 + 48 | 0 | 0) | 0)) { + break label$4 + } + $22 = btAlignedObjectArray_btPersistentManifold____operator_5b_5d_28int_29($4 + 48 | 0 | 0, 0 | 0) | 0; + break label$3; + } + $22 = 0; + } + HEAP32[($3 + 20 | 0) >> 2] = $22; + label$5 : { + label$6 : { + if (!(btAlignedObjectArray_btTypedConstraint____size_28_29_20const($4 + 68 | 0 | 0) | 0)) { + break label$6 + } + $32 = btAlignedObjectArray_btTypedConstraint____operator_5b_5d_28int_29($4 + 68 | 0 | 0, 0 | 0) | 0; + break label$5; + } + $32 = 0; + } + HEAP32[($3 + 16 | 0) >> 2] = $32; + $35 = HEAP32[($4 + 8 | 0) >> 2] | 0; + ((((((((((wasm2js_i32$1 = $35, wasm2js_i32$2 = HEAP32[($3 + 24 | 0) >> 2] | 0), wasm2js_i32$3 = btAlignedObjectArray_btCollisionObject____size_28_29_20const($4 + 28 | 0 | 0) | 0), wasm2js_i32$4 = HEAP32[($3 + 20 | 0) >> 2] | 0), wasm2js_i32$5 = btAlignedObjectArray_btPersistentManifold____size_28_29_20const($4 + 48 | 0 | 0) | 0), wasm2js_i32$6 = HEAP32[($3 + 16 | 0) >> 2] | 0), wasm2js_i32$7 = btAlignedObjectArray_btTypedConstraint____size_28_29_20const($4 + 68 | 0 | 0) | 0), wasm2js_i32$8 = HEAP32[($4 + 4 | 0) >> 2] | 0), wasm2js_i32$9 = HEAP32[($4 + 20 | 0) >> 2] | 0), wasm2js_i32$10 = HEAP32[($4 + 24 | 0) >> 2] | 0), wasm2js_i32$0 = HEAP32[((HEAP32[$35 >> 2] | 0) + 12 | 0) >> 2] | 0 | 0), Math_fround(FUNCTION_TABLE[wasm2js_i32$0](wasm2js_i32$1 | 0, wasm2js_i32$2 | 0, wasm2js_i32$3 | 0, wasm2js_i32$4 | 0, wasm2js_i32$5 | 0, wasm2js_i32$6 | 0, wasm2js_i32$7 | 0, wasm2js_i32$8 | 0, wasm2js_i32$9 | 0, wasm2js_i32$10 | 0)); + HEAP32[($3 + 12 | 0) >> 2] = 0; + btAlignedObjectArray_btCollisionObject____resize_28int_2c_20btCollisionObject__20const__29($4 + 28 | 0 | 0, 0 | 0, $3 + 12 | 0 | 0); + HEAP32[($3 + 8 | 0) >> 2] = 0; + btAlignedObjectArray_btPersistentManifold____resize_28int_2c_20btPersistentManifold__20const__29($4 + 48 | 0 | 0, 0 | 0, $3 + 8 | 0 | 0); + HEAP32[($3 + 4 | 0) >> 2] = 0; + btAlignedObjectArray_btTypedConstraint____resize_28int_2c_20btTypedConstraint__20const__29($4 + 68 | 0 | 0, 0 | 0, $3 + 4 | 0 | 0); + __stack_pointer = $3 + 32 | 0; + return; + } + + function void_20btAlignedObjectArray_btTypedConstraint____quickSortInternal_btSortConstraintOnIslandPredicate__28btSortConstraintOnIslandPredicate_20const__2c_20int_2c_20int_29($0, $1, $2, $3) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + var $6 = 0, $7 = 0; + $6 = __stack_pointer - 32 | 0; + __stack_pointer = $6; + HEAP32[($6 + 28 | 0) >> 2] = $0; + HEAP32[($6 + 24 | 0) >> 2] = $1; + HEAP32[($6 + 20 | 0) >> 2] = $2; + HEAP32[($6 + 16 | 0) >> 2] = $3; + $7 = HEAP32[($6 + 28 | 0) >> 2] | 0; + HEAP32[($6 + 12 | 0) >> 2] = HEAP32[($6 + 20 | 0) >> 2] | 0; + HEAP32[($6 + 8 | 0) >> 2] = HEAP32[($6 + 16 | 0) >> 2] | 0; + HEAP32[($6 + 4 | 0) >> 2] = HEAP32[((HEAP32[($7 + 12 | 0) >> 2] | 0) + ((((HEAP32[($6 + 20 | 0) >> 2] | 0) + (HEAP32[($6 + 16 | 0) >> 2] | 0) | 0 | 0) / (2 | 0) | 0) << 2 | 0) | 0) >> 2] | 0; + label$1 : while (1) { + label$2 : { + label$3 : while (1) { + if (!((btSortConstraintOnIslandPredicate__operator_28_29_28btTypedConstraint_20const__2c_20btTypedConstraint_20const__29_20const(HEAP32[($6 + 24 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($7 + 12 | 0) >> 2] | 0) + ((HEAP32[($6 + 12 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0, HEAP32[($6 + 4 | 0) >> 2] | 0 | 0) | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($6 + 12 | 0) >> 2] = (HEAP32[($6 + 12 | 0) >> 2] | 0) + 1 | 0; + continue label$3; + }; + } + label$4 : { + label$5 : while (1) { + if (!((btSortConstraintOnIslandPredicate__operator_28_29_28btTypedConstraint_20const__2c_20btTypedConstraint_20const__29_20const(HEAP32[($6 + 24 | 0) >> 2] | 0 | 0, HEAP32[($6 + 4 | 0) >> 2] | 0 | 0, HEAP32[((HEAP32[($7 + 12 | 0) >> 2] | 0) + ((HEAP32[($6 + 8 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0) | 0) & 1 | 0)) { + break label$4 + } + HEAP32[($6 + 8 | 0) >> 2] = (HEAP32[($6 + 8 | 0) >> 2] | 0) + -1 | 0; + continue label$5; + }; + } + label$6 : { + if (!((HEAP32[($6 + 12 | 0) >> 2] | 0 | 0) <= (HEAP32[($6 + 8 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$6 + } + btAlignedObjectArray_btTypedConstraint____swap_28int_2c_20int_29($7 | 0, HEAP32[($6 + 12 | 0) >> 2] | 0 | 0, HEAP32[($6 + 8 | 0) >> 2] | 0 | 0); + HEAP32[($6 + 12 | 0) >> 2] = (HEAP32[($6 + 12 | 0) >> 2] | 0) + 1 | 0; + HEAP32[($6 + 8 | 0) >> 2] = (HEAP32[($6 + 8 | 0) >> 2] | 0) + -1 | 0; + } + if ((HEAP32[($6 + 12 | 0) >> 2] | 0 | 0) <= (HEAP32[($6 + 8 | 0) >> 2] | 0 | 0) & 1 | 0) { + continue label$1 + } + break label$1; + }; + label$7 : { + if (!((HEAP32[($6 + 20 | 0) >> 2] | 0 | 0) < (HEAP32[($6 + 8 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$7 + } + void_20btAlignedObjectArray_btTypedConstraint____quickSortInternal_btSortConstraintOnIslandPredicate__28btSortConstraintOnIslandPredicate_20const__2c_20int_2c_20int_29($7 | 0, HEAP32[($6 + 24 | 0) >> 2] | 0 | 0, HEAP32[($6 + 20 | 0) >> 2] | 0 | 0, HEAP32[($6 + 8 | 0) >> 2] | 0 | 0); + } + label$8 : { + if (!((HEAP32[($6 + 12 | 0) >> 2] | 0 | 0) < (HEAP32[($6 + 16 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$8 + } + void_20btAlignedObjectArray_btTypedConstraint____quickSortInternal_btSortConstraintOnIslandPredicate__28btSortConstraintOnIslandPredicate_20const__2c_20int_2c_20int_29($7 | 0, HEAP32[($6 + 24 | 0) >> 2] | 0 | 0, HEAP32[($6 + 12 | 0) >> 2] | 0 | 0, HEAP32[($6 + 16 | 0) >> 2] | 0 | 0); + } + __stack_pointer = $6 + 32 | 0; + return; + } + + function btAlignedObjectArray_btCollisionObject____resize_28int_2c_20btCollisionObject__20const__29($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $5 = 0, $6 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5 = __stack_pointer - 32 | 0; + __stack_pointer = $5; + HEAP32[($5 + 28 | 0) >> 2] = $0; + HEAP32[($5 + 24 | 0) >> 2] = $1; + HEAP32[($5 + 20 | 0) >> 2] = $2; + $6 = HEAP32[($5 + 28 | 0) >> 2] | 0; + (wasm2js_i32$0 = $5, wasm2js_i32$1 = btAlignedObjectArray_btCollisionObject____size_28_29_20const($6 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + label$2 : { + if (!((HEAP32[($5 + 24 | 0) >> 2] | 0 | 0) < (HEAP32[($5 + 16 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($5 + 12 | 0) >> 2] = HEAP32[($5 + 24 | 0) >> 2] | 0; + label$3 : { + label$4 : while (1) { + if (!((HEAP32[($5 + 12 | 0) >> 2] | 0 | 0) < (HEAP32[($5 + 16 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$3 + } + HEAP32[($5 + 12 | 0) >> 2] = (HEAP32[($5 + 12 | 0) >> 2] | 0) + 1 | 0; + continue label$4; + }; + } + break label$1; + } + label$5 : { + if (!((HEAP32[($5 + 24 | 0) >> 2] | 0 | 0) > (HEAP32[($5 + 16 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$5 + } + btAlignedObjectArray_btCollisionObject____reserve_28int_29($6 | 0, HEAP32[($5 + 24 | 0) >> 2] | 0 | 0); + } + HEAP32[($5 + 8 | 0) >> 2] = HEAP32[($5 + 16 | 0) >> 2] | 0; + label$6 : { + label$7 : while (1) { + if (!((HEAP32[($5 + 8 | 0) >> 2] | 0 | 0) < (HEAP32[($5 + 24 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$6 + } + HEAP32[((HEAP32[($6 + 12 | 0) >> 2] | 0) + ((HEAP32[($5 + 8 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = HEAP32[(HEAP32[($5 + 20 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($5 + 8 | 0) >> 2] = (HEAP32[($5 + 8 | 0) >> 2] | 0) + 1 | 0; + continue label$7; + }; + } + } + HEAP32[($6 + 4 | 0) >> 2] = HEAP32[($5 + 24 | 0) >> 2] | 0; + __stack_pointer = $5 + 32 | 0; + return; + } + + function btDiscreteDynamicsWorld__calculateSimulationIslands_28_29($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0, $9 = 0, $120 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0, wasm2js_i32$2 = 0, wasm2js_i32$3 = 0; + $3 = __stack_pointer - 48 | 0; + __stack_pointer = $3; + HEAP32[($3 + 44 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 44 | 0) >> 2] | 0; + CProfileSample__CProfileSample_28char_20const__29($3 + 43 | 0 | 0, 70326 | 0) | 0; + $9 = btDiscreteDynamicsWorld__getSimulationIslandManager_28_29($4 | 0) | 0; + (((wasm2js_i32$1 = $9, wasm2js_i32$2 = btDiscreteDynamicsWorld__getCollisionWorld_28_29($4 | 0) | 0), wasm2js_i32$3 = btCollisionWorld__getDispatcher_28_29(btDiscreteDynamicsWorld__getCollisionWorld_28_29($4 | 0) | 0 | 0) | 0), wasm2js_i32$0 = HEAP32[((HEAP32[$9 >> 2] | 0) + 8 | 0) >> 2] | 0 | 0), FUNCTION_TABLE[wasm2js_i32$0](wasm2js_i32$1 | 0, wasm2js_i32$2 | 0, wasm2js_i32$3 | 0); + HEAP32[($3 + 36 | 0) >> 2] = 0; + label$1 : { + label$2 : while (1) { + if (!((HEAP32[($3 + 36 | 0) >> 2] | 0 | 0) < (btAlignedObjectArray_btPersistentManifold____size_28_29_20const($4 + 320 | 0 | 0) | 0 | 0) & 1 | 0)) { + break label$1 + } + (wasm2js_i32$0 = $3, wasm2js_i32$3 = HEAP32[(btAlignedObjectArray_btPersistentManifold____operator_5b_5d_28int_29($4 + 320 | 0 | 0, HEAP32[($3 + 36 | 0) >> 2] | 0 | 0) | 0) >> 2] | 0), HEAP32[(wasm2js_i32$0 + 32 | 0) >> 2] = wasm2js_i32$3; + (wasm2js_i32$0 = $3, wasm2js_i32$3 = btPersistentManifold__getBody0_28_29_20const(HEAP32[($3 + 32 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$3; + (wasm2js_i32$0 = $3, wasm2js_i32$3 = btPersistentManifold__getBody1_28_29_20const(HEAP32[($3 + 32 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 24 | 0) >> 2] = wasm2js_i32$3; + label$3 : { + if (!((HEAP32[($3 + 28 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$3 + } + if ((btCollisionObject__isStaticOrKinematicObject_28_29_20const(HEAP32[($3 + 28 | 0) >> 2] | 0 | 0) | 0) & 1 | 0) { + break label$3 + } + if (!((HEAP32[($3 + 24 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$3 + } + if ((btCollisionObject__isStaticOrKinematicObject_28_29_20const(HEAP32[($3 + 24 | 0) >> 2] | 0 | 0) | 0) & 1 | 0) { + break label$3 + } + btUnionFind__unite_28int_2c_20int_29(btSimulationIslandManager__getUnionFind_28_29(btDiscreteDynamicsWorld__getSimulationIslandManager_28_29($4 | 0) | 0 | 0) | 0 | 0, btCollisionObject__getIslandTag_28_29_20const(HEAP32[($3 + 28 | 0) >> 2] | 0 | 0) | 0 | 0, btCollisionObject__getIslandTag_28_29_20const(HEAP32[($3 + 24 | 0) >> 2] | 0 | 0) | 0 | 0); + } + HEAP32[($3 + 36 | 0) >> 2] = (HEAP32[($3 + 36 | 0) >> 2] | 0) + 1 | 0; + continue label$2; + }; + } + (wasm2js_i32$0 = $3, wasm2js_i32$3 = btAlignedObjectArray_btTypedConstraint____size_28_29_20const($4 + 224 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$3; + HEAP32[($3 + 20 | 0) >> 2] = 0; + label$4 : { + label$5 : while (1) { + if (!((HEAP32[($3 + 20 | 0) >> 2] | 0 | 0) < (HEAP32[($3 + 16 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$4 + } + (wasm2js_i32$0 = $3, wasm2js_i32$3 = HEAP32[(btAlignedObjectArray_btTypedConstraint____operator_5b_5d_28int_29($4 + 224 | 0 | 0, HEAP32[($3 + 20 | 0) >> 2] | 0 | 0) | 0) >> 2] | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$3; + label$6 : { + if (!((btTypedConstraint__isEnabled_28_29_20const(HEAP32[($3 + 12 | 0) >> 2] | 0 | 0) | 0) & 1 | 0)) { + break label$6 + } + (wasm2js_i32$0 = $3, wasm2js_i32$3 = btTypedConstraint__getRigidBodyA_28_29(HEAP32[($3 + 12 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$3; + (wasm2js_i32$0 = $3, wasm2js_i32$3 = btTypedConstraint__getRigidBodyB_28_29(HEAP32[($3 + 12 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$3; + label$7 : { + if (!((HEAP32[($3 + 8 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$7 + } + if ((btCollisionObject__isStaticOrKinematicObject_28_29_20const(HEAP32[($3 + 8 | 0) >> 2] | 0 | 0) | 0) & 1 | 0) { + break label$7 + } + if (!((HEAP32[($3 + 4 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$7 + } + if ((btCollisionObject__isStaticOrKinematicObject_28_29_20const(HEAP32[($3 + 4 | 0) >> 2] | 0 | 0) | 0) & 1 | 0) { + break label$7 + } + btUnionFind__unite_28int_2c_20int_29(btSimulationIslandManager__getUnionFind_28_29(btDiscreteDynamicsWorld__getSimulationIslandManager_28_29($4 | 0) | 0 | 0) | 0 | 0, btCollisionObject__getIslandTag_28_29_20const(HEAP32[($3 + 8 | 0) >> 2] | 0 | 0) | 0 | 0, btCollisionObject__getIslandTag_28_29_20const(HEAP32[($3 + 4 | 0) >> 2] | 0 | 0) | 0 | 0); + } + } + HEAP32[($3 + 20 | 0) >> 2] = (HEAP32[($3 + 20 | 0) >> 2] | 0) + 1 | 0; + continue label$5; + }; + } + $120 = btDiscreteDynamicsWorld__getSimulationIslandManager_28_29($4 | 0) | 0; + ((wasm2js_i32$3 = $120, wasm2js_i32$2 = btDiscreteDynamicsWorld__getCollisionWorld_28_29($4 | 0) | 0), wasm2js_i32$0 = HEAP32[((HEAP32[$120 >> 2] | 0) + 12 | 0) >> 2] | 0 | 0), FUNCTION_TABLE[wasm2js_i32$0](wasm2js_i32$3 | 0, wasm2js_i32$2 | 0); + CProfileSample___CProfileSample_28_29($3 + 43 | 0 | 0) | 0; + __stack_pointer = $3 + 48 | 0; + return; + } + + function btDiscreteDynamicsWorld__getSimulationIslandManager_28_29($0) { + $0 = $0 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + return HEAP32[((HEAP32[($3 + 12 | 0) >> 2] | 0) + 220 | 0) >> 2] | 0 | 0; + } + + function btSimulationIslandManager__getUnionFind_28_29($0) { + $0 = $0 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + return (HEAP32[($3 + 12 | 0) >> 2] | 0) + 4 | 0 | 0; + } + + function btCollisionObject__getIslandTag_28_29_20const($0) { + $0 = $0 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + return HEAP32[((HEAP32[($3 + 12 | 0) >> 2] | 0) + 208 | 0) >> 2] | 0 | 0; + } + + function btUnionFind__unite_28int_2c_20int_29($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $5 = 0, $6 = 0, $25 = 0, $18 = 0, $23 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5 = __stack_pointer - 32 | 0; + __stack_pointer = $5; + HEAP32[($5 + 28 | 0) >> 2] = $0; + HEAP32[($5 + 24 | 0) >> 2] = $1; + HEAP32[($5 + 20 | 0) >> 2] = $2; + $6 = HEAP32[($5 + 28 | 0) >> 2] | 0; + (wasm2js_i32$0 = $5, wasm2js_i32$1 = btUnionFind__find_28int_29($6 | 0, HEAP32[($5 + 24 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $5, wasm2js_i32$1 = btUnionFind__find_28int_29($6 | 0, HEAP32[($5 + 20 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + label$2 : { + if (!((HEAP32[($5 + 16 | 0) >> 2] | 0 | 0) == (HEAP32[($5 + 12 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$2 + } + break label$1; + } + $18 = HEAP32[($5 + 12 | 0) >> 2] | 0; + (wasm2js_i32$0 = btAlignedObjectArray_btElement___operator_5b_5d_28int_29($6 | 0, HEAP32[($5 + 16 | 0) >> 2] | 0 | 0) | 0, wasm2js_i32$1 = $18), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + $23 = HEAP32[((btAlignedObjectArray_btElement___operator_5b_5d_28int_29($6 | 0, HEAP32[($5 + 16 | 0) >> 2] | 0 | 0) | 0) + 4 | 0) >> 2] | 0; + $25 = btAlignedObjectArray_btElement___operator_5b_5d_28int_29($6 | 0, HEAP32[($5 + 12 | 0) >> 2] | 0 | 0) | 0; + HEAP32[($25 + 4 | 0) >> 2] = (HEAP32[($25 + 4 | 0) >> 2] | 0) + $23 | 0; + } + __stack_pointer = $5 + 32 | 0; + return; + } + + function btUnionFind__find_28int_29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, $5 = 0, $20 = 0, $25 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; + label$1 : { + label$2 : while (1) { + if (!((HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) != (HEAP32[(btAlignedObjectArray_btElement___operator_5b_5d_28int_29($5 | 0, HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$1 + } + (wasm2js_i32$0 = $4, wasm2js_i32$1 = btAlignedObjectArray_btElement___operator_5b_5d_28int_29($5 | 0, HEAP32[(btAlignedObjectArray_btElement___operator_5b_5d_28int_29($5 | 0, HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + $20 = HEAP32[(HEAP32[($4 + 4 | 0) >> 2] | 0) >> 2] | 0; + (wasm2js_i32$0 = btAlignedObjectArray_btElement___operator_5b_5d_28int_29($5 | 0, HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) | 0, wasm2js_i32$1 = $20), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + HEAP32[($4 + 8 | 0) >> 2] = HEAP32[(HEAP32[($4 + 4 | 0) >> 2] | 0) >> 2] | 0; + continue label$2; + }; + } + $25 = HEAP32[($4 + 8 | 0) >> 2] | 0; + __stack_pointer = $4 + 16 | 0; + return $25 | 0; + } + + function btAlignedObjectArray_btElement___operator_5b_5d_28int_29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, $5 = 0, $32 = 0; + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; + label$1 : { + if ((HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0) { + break label$1 + } + __assert_fail(85840 | 0, 78192 | 0, 183 | 0, 83901 | 0); + wasm2js_trap(); + } + label$2 : { + if ((HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) < (btAlignedObjectArray_btElement___size_28_29_20const($5 | 0) | 0 | 0) & 1 | 0) { + break label$2 + } + __assert_fail(87321 | 0, 78192 | 0, 184 | 0, 83901 | 0); + wasm2js_trap(); + } + $32 = (HEAP32[($5 + 12 | 0) >> 2] | 0) + ((HEAP32[($4 + 8 | 0) >> 2] | 0) << 3 | 0) | 0; + __stack_pointer = $4 + 16 | 0; + return $32 | 0; + } + + function btDiscreteDynamicsWorld__createPredictiveContactsInternal_28btRigidBody___2c_20int_2c_20float_29($0, $1, $2, $3) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = Math_fround($3); + var $6 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, $7 = 0, $93 = 0, $186 = 0, $281 = 0, $283 = 0, $289 = 0, $291 = 0, $85 = 0, $88 = 0, $92 = 0, $274 = Math_fround(0), $278 = 0, $878 = 0, $888 = 0, $897 = 0, $910 = 0, wasm2js_i32$0 = 0, wasm2js_f32$0 = Math_fround(0), wasm2js_i32$1 = 0; + $6 = __stack_pointer - 736 | 0; + __stack_pointer = $6; + HEAP32[($6 + 732 | 0) >> 2] = $0; + HEAP32[($6 + 728 | 0) >> 2] = $1; + HEAP32[($6 + 724 | 0) >> 2] = $2; + HEAPF32[($6 + 720 | 0) >> 2] = $3; + $7 = HEAP32[($6 + 732 | 0) >> 2] | 0; + btTransform__btTransform_28_29($6 + 656 | 0 | 0) | 0; + HEAP32[($6 + 652 | 0) >> 2] = 0; + label$1 : { + label$2 : while (1) { + if (!((HEAP32[($6 + 652 | 0) >> 2] | 0 | 0) < (HEAP32[($6 + 724 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$1 + } + HEAP32[($6 + 648 | 0) >> 2] = HEAP32[((HEAP32[($6 + 728 | 0) >> 2] | 0) + ((HEAP32[($6 + 652 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; + btCollisionObject__setHitFraction_28float_29(HEAP32[($6 + 648 | 0) >> 2] | 0 | 0, Math_fround(Math_fround(1.0))); + label$3 : { + if (!((btCollisionObject__isActive_28_29_20const(HEAP32[($6 + 648 | 0) >> 2] | 0 | 0) | 0) & 1 | 0)) { + break label$3 + } + if ((btCollisionObject__isStaticOrKinematicObject_28_29_20const(HEAP32[($6 + 648 | 0) >> 2] | 0 | 0) | 0) & 1 | 0) { + break label$3 + } + btRigidBody__predictIntegratedTransform_28float_2c_20btTransform__29(HEAP32[($6 + 648 | 0) >> 2] | 0 | 0, Math_fround(Math_fround(HEAPF32[($6 + 720 | 0) >> 2])), $6 + 656 | 0 | 0); + operator__28btVector3_20const__2c_20btVector3_20const__29($6 + 628 | 0 | 0, btTransform__getOrigin_28_29($6 + 656 | 0 | 0) | 0 | 0, btTransform__getOrigin_28_29(btCollisionObject__getWorldTransform_28_29(HEAP32[($6 + 648 | 0) >> 2] | 0 | 0) | 0 | 0) | 0 | 0); + (wasm2js_i32$0 = $6, wasm2js_f32$0 = Math_fround(btVector3__length2_28_29_20const($6 + 628 | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 644 | 0) >> 2] = wasm2js_f32$0; + label$4 : { + if (!((HEAPU8[((btCollisionWorld__getDispatchInfo_28_29($7 | 0) | 0) + 16 | 0) >> 0] | 0) & 1 | 0)) { + break label$4 + } + if (!(Math_fround(btCollisionObject__getCcdSquareMotionThreshold_28_29_20const(HEAP32[($6 + 648 | 0) >> 2] | 0 | 0)) != Math_fround(0 | 0) & 1 | 0)) { + break label$4 + } + if (!(Math_fround(btCollisionObject__getCcdSquareMotionThreshold_28_29_20const(HEAP32[($6 + 648 | 0) >> 2] | 0 | 0)) < Math_fround(HEAPF32[($6 + 644 | 0) >> 2]) & 1 | 0)) { + break label$4 + } + CProfileSample__CProfileSample_28char_20const__29($6 + 627 | 0 | 0, 67428 | 0) | 0; + label$5 : { + if (!((btCollisionShape__isConvex_28_29_20const(btRigidBody__getCollisionShape_28_29(HEAP32[($6 + 648 | 0) >> 2] | 0 | 0) | 0 | 0) | 0) & 1 | 0)) { + break label$5 + } + HEAP32[(0 + 116168 | 0) >> 2] = (HEAP32[(0 + 116168 | 0) >> 2] | 0) + 1 | 0; + $85 = HEAP32[($6 + 648 | 0) >> 2] | 0; + $88 = btTransform__getOrigin_28_29(btCollisionObject__getWorldTransform_28_29(HEAP32[($6 + 648 | 0) >> 2] | 0 | 0) | 0 | 0) | 0; + $92 = btTransform__getOrigin_28_29($6 + 656 | 0 | 0) | 0; + $93 = btCollisionWorld__getBroadphase_28_29($7 | 0) | 0; + btClosestNotMeConvexResultCallback__btClosestNotMeConvexResultCallback_28btCollisionObject__2c_20btVector3_20const__2c_20btVector3_20const__2c_20btOverlappingPairCache__2c_20btDispatcher__29($6 + 524 | 0 | 0, $85 | 0, $88 | 0, $92 | 0, FUNCTION_TABLE[HEAP32[((HEAP32[$93 >> 2] | 0) + 36 | 0) >> 2] | 0 | 0]($93) | 0 | 0, btCollisionWorld__getDispatcher_28_29($7 | 0) | 0 | 0) | 0; + btSphereShape__btSphereShape_28float_29($6 + 464 | 0 | 0, Math_fround(Math_fround(btCollisionObject__getCcdSweptSphereRadius_28_29_20const(HEAP32[($6 + 648 | 0) >> 2] | 0 | 0)))) | 0; + (wasm2js_i32$0 = $6, wasm2js_f32$0 = Math_fround(HEAPF32[((btCollisionWorld__getDispatchInfo_28_29($7 | 0) | 0) + 28 | 0) >> 2])), HEAPF32[(wasm2js_i32$0 + 612 | 0) >> 2] = wasm2js_f32$0; + (wasm2js_i32$0 = $6, wasm2js_i32$1 = HEAP32[((btRigidBody__getBroadphaseProxy_28_29(HEAP32[($6 + 648 | 0) >> 2] | 0 | 0) | 0) + 4 | 0) >> 2] | 0), HEAP32[(wasm2js_i32$0 + 532 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $6, wasm2js_i32$1 = HEAP32[((btRigidBody__getBroadphaseProxy_28_29(HEAP32[($6 + 648 | 0) >> 2] | 0 | 0) | 0) + 8 | 0) >> 2] | 0), HEAP32[(wasm2js_i32$0 + 536 | 0) >> 2] = wasm2js_i32$1; + btTransform__btTransform_28btTransform_20const__29($6 + 400 | 0 | 0, $6 + 656 | 0 | 0) | 0; + btTransform__setBasis_28btMatrix3x3_20const__29($6 + 400 | 0 | 0, btTransform__getBasis_28_29(btCollisionObject__getWorldTransform_28_29(HEAP32[($6 + 648 | 0) >> 2] | 0 | 0) | 0 | 0) | 0 | 0); + btCollisionWorld__convexSweepTest_28btConvexShape_20const__2c_20btTransform_20const__2c_20btTransform_20const__2c_20btCollisionWorld__ConvexResultCallback__2c_20float_29_20const($7 | 0, $6 + 464 | 0 | 0, btCollisionObject__getWorldTransform_28_29(HEAP32[($6 + 648 | 0) >> 2] | 0 | 0) | 0 | 0, $6 + 400 | 0 | 0, $6 + 524 | 0 | 0, Math_fround(Math_fround(0 | 0))); + label$6 : { + if (!((btCollisionWorld__ConvexResultCallback__hasHit_28_29_20const($6 + 524 | 0 | 0) | 0) & 1 | 0)) { + break label$6 + } + if (!(Math_fround(HEAPF32[($6 + 528 | 0) >> 2]) < Math_fround(1.0) & 1 | 0)) { + break label$6 + } + operator__28btVector3_20const__2c_20btVector3_20const__29($6 + 368 | 0 | 0, btTransform__getOrigin_28_29($6 + 656 | 0 | 0) | 0 | 0, btTransform__getOrigin_28_29(btCollisionObject__getWorldTransform_28_29(HEAP32[($6 + 648 | 0) >> 2] | 0 | 0) | 0 | 0) | 0 | 0); + operator__28btVector3_20const__2c_20float_20const__29($6 + 384 | 0 | 0, $6 + 368 | 0 | 0, ($6 + 524 | 0) + 4 | 0 | 0); + operator__28btVector3_20const__29($6 + 348 | 0 | 0, ($6 + 524 | 0) + 52 | 0 | 0); + (wasm2js_i32$0 = $6, wasm2js_f32$0 = Math_fround(btVector3__dot_28btVector3_20const__29_20const($6 + 384 | 0 | 0, $6 + 348 | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 364 | 0) >> 2] = wasm2js_f32$0; + $186 = HEAP32[($7 + 24 | 0) >> 2] | 0; + (wasm2js_i32$0 = $6, wasm2js_i32$1 = FUNCTION_TABLE[HEAP32[((HEAP32[$186 >> 2] | 0) + 12 | 0) >> 2] | 0 | 0]($186, HEAP32[($6 + 648 | 0) >> 2] | 0, HEAP32[($6 + 540 | 0) >> 2] | 0) | 0), HEAP32[(wasm2js_i32$0 + 344 | 0) >> 2] = wasm2js_i32$1; + btMutexLock_28btSpinMutex__29($7 + 340 | 0 | 0); + btAlignedObjectArray_btPersistentManifold____push_back_28btPersistentManifold__20const__29($7 + 320 | 0 | 0, $6 + 344 | 0 | 0); + btMutexUnlock_28btSpinMutex__29($7 + 340 | 0 | 0); + operator__28btVector3_20const__2c_20btVector3_20const__29_2($6 + 328 | 0 | 0, btTransform__getOrigin_28_29(btCollisionObject__getWorldTransform_28_29(HEAP32[($6 + 648 | 0) >> 2] | 0 | 0) | 0 | 0) | 0 | 0, $6 + 384 | 0 | 0); + btTransform__inverse_28_29_20const($6 + 248 | 0 | 0, btCollisionObject__getWorldTransform_28_29_20const(HEAP32[($6 + 540 | 0) >> 2] | 0 | 0) | 0 | 0); + btTransform__operator__28btVector3_20const__29_20const($6 + 312 | 0 | 0, $6 + 248 | 0 | 0, $6 + 328 | 0 | 0); + HEAPF32[($6 + 20 | 0) >> 2] = Math_fround(0 | 0); + HEAPF32[($6 + 16 | 0) >> 2] = Math_fround(0 | 0); + HEAPF32[($6 + 12 | 0) >> 2] = Math_fround(0 | 0); + btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($6 + 24 | 0 | 0, $6 + 20 | 0 | 0, $6 + 16 | 0 | 0, $6 + 12 | 0 | 0) | 0; + btManifoldPoint__btManifoldPoint_28btVector3_20const__2c_20btVector3_20const__2c_20btVector3_20const__2c_20float_29($6 + 40 | 0 | 0, $6 + 24 | 0 | 0, $6 + 312 | 0 | 0, ($6 + 524 | 0) + 52 | 0 | 0, Math_fround(Math_fround(HEAPF32[($6 + 364 | 0) >> 2]))) | 0; + HEAP8[($6 + 11 | 0) >> 0] = 1; + (wasm2js_i32$0 = $6, wasm2js_i32$1 = btPersistentManifold__addManifoldPoint_28btManifoldPoint_20const__2c_20bool_29(HEAP32[($6 + 344 | 0) >> 2] | 0 | 0, $6 + 40 | 0 | 0, (HEAPU8[($6 + 11 | 0) >> 0] | 0) & 1 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $6, wasm2js_i32$1 = btPersistentManifold__getContactPoint_28int_29(HEAP32[($6 + 344 | 0) >> 2] | 0 | 0, HEAP32[($6 + 4 | 0) >> 2] | 0 | 0) | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + HEAPF32[((HEAP32[$6 >> 2] | 0) + 96 | 0) >> 2] = Math_fround(0 | 0); + $274 = Math_fround(btManifoldResult__calculateCombinedFriction_28btCollisionObject_20const__2c_20btCollisionObject_20const__29(HEAP32[($6 + 648 | 0) >> 2] | 0 | 0, HEAP32[($6 + 540 | 0) >> 2] | 0 | 0)); + HEAPF32[((HEAP32[$6 >> 2] | 0) + 84 | 0) >> 2] = $274; + $278 = btTransform__getOrigin_28_29(btCollisionObject__getWorldTransform_28_29(HEAP32[($6 + 648 | 0) >> 2] | 0 | 0) | 0 | 0) | 0; + $281 = (HEAP32[$6 >> 2] | 0) + 48 | 0; + i64toi32_i32$2 = $278; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $878 = i64toi32_i32$0; + i64toi32_i32$0 = $281; + HEAP32[i64toi32_i32$0 >> 2] = $878; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $283 = 8; + i64toi32_i32$2 = i64toi32_i32$2 + $283 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $888 = i64toi32_i32$1; + i64toi32_i32$1 = $281 + $283 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $888; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + $289 = (HEAP32[$6 >> 2] | 0) + 32 | 0; + i64toi32_i32$2 = $6; + i64toi32_i32$0 = HEAP32[($6 + 328 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($6 + 332 | 0) >> 2] | 0; + $897 = i64toi32_i32$0; + i64toi32_i32$0 = $289; + HEAP32[i64toi32_i32$0 >> 2] = $897; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $291 = 8; + i64toi32_i32$2 = ($6 + 328 | 0) + $291 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $910 = i64toi32_i32$1; + i64toi32_i32$1 = $289 + $291 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $910; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + } + btSphereShape___btSphereShape_28_29($6 + 464 | 0 | 0) | 0; + btClosestNotMeConvexResultCallback___btClosestNotMeConvexResultCallback_28_29($6 + 524 | 0 | 0) | 0; + } + CProfileSample___CProfileSample_28_29($6 + 627 | 0 | 0) | 0; + } + } + HEAP32[($6 + 652 | 0) >> 2] = (HEAP32[($6 + 652 | 0) >> 2] | 0) + 1 | 0; + continue label$2; + }; + } + __stack_pointer = $6 + 736 | 0; + return; + } + + function btClosestNotMeConvexResultCallback__btClosestNotMeConvexResultCallback_28btCollisionObject__2c_20btVector3_20const__2c_20btVector3_20const__2c_20btOverlappingPairCache__2c_20btDispatcher__29($0, $1, $2, $3, $4, $5) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + $4 = $4 | 0; + $5 = $5 | 0; + var $8 = 0, $9 = 0; + $8 = __stack_pointer - 32 | 0; + __stack_pointer = $8; + HEAP32[($8 + 28 | 0) >> 2] = $0; + HEAP32[($8 + 24 | 0) >> 2] = $1; + HEAP32[($8 + 20 | 0) >> 2] = $2; + HEAP32[($8 + 16 | 0) >> 2] = $3; + HEAP32[($8 + 12 | 0) >> 2] = $4; + HEAP32[($8 + 8 | 0) >> 2] = $5; + $9 = HEAP32[($8 + 28 | 0) >> 2] | 0; + btCollisionWorld__ClosestConvexResultCallback__ClosestConvexResultCallback_28btVector3_20const__2c_20btVector3_20const__29($9 | 0, HEAP32[($8 + 20 | 0) >> 2] | 0 | 0, HEAP32[($8 + 16 | 0) >> 2] | 0 | 0) | 0; + HEAP32[$9 >> 2] = 103340 + 8 | 0; + HEAP32[($9 + 84 | 0) >> 2] = HEAP32[($8 + 24 | 0) >> 2] | 0; + HEAPF32[($9 + 88 | 0) >> 2] = Math_fround(0 | 0); + HEAP32[($9 + 92 | 0) >> 2] = HEAP32[($8 + 12 | 0) >> 2] | 0; + HEAP32[($9 + 96 | 0) >> 2] = HEAP32[($8 + 8 | 0) >> 2] | 0; + __stack_pointer = $8 + 32 | 0; + return $9 | 0; + } + + function btClosestNotMeConvexResultCallback___btClosestNotMeConvexResultCallback_28_29($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + btCollisionWorld__ClosestConvexResultCallback___ClosestConvexResultCallback_28_29($4 | 0) | 0; + __stack_pointer = $3 + 16 | 0; + return $4 | 0; + } + + function btDiscreteDynamicsWorld__releasePredictiveContacts_28_29($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0, $24 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + CProfileSample__CProfileSample_28char_20const__29($3 + 11 | 0 | 0, 70398 | 0) | 0; + HEAP32[($3 + 4 | 0) >> 2] = 0; + label$1 : { + label$2 : while (1) { + if (!((HEAP32[($3 + 4 | 0) >> 2] | 0 | 0) < (btAlignedObjectArray_btPersistentManifold____size_28_29_20const($4 + 320 | 0 | 0) | 0 | 0) & 1 | 0)) { + break label$1 + } + (wasm2js_i32$0 = $3, wasm2js_i32$1 = HEAP32[(btAlignedObjectArray_btPersistentManifold____operator_5b_5d_28int_29($4 + 320 | 0 | 0, HEAP32[($3 + 4 | 0) >> 2] | 0 | 0) | 0) >> 2] | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + $24 = HEAP32[($4 + 24 | 0) >> 2] | 0; + FUNCTION_TABLE[HEAP32[((HEAP32[$24 >> 2] | 0) + 16 | 0) >> 2] | 0 | 0]($24, HEAP32[$3 >> 2] | 0); + HEAP32[($3 + 4 | 0) >> 2] = (HEAP32[($3 + 4 | 0) >> 2] | 0) + 1 | 0; + continue label$2; + }; + } + btAlignedObjectArray_btPersistentManifold____clear_28_29($4 + 320 | 0 | 0); + CProfileSample___CProfileSample_28_29($3 + 11 | 0 | 0) | 0; + __stack_pointer = $3 + 16 | 0; + return; + } + + function btDiscreteDynamicsWorld__createPredictiveContacts_28float_29($0, $1) { + $0 = $0 | 0; + $1 = Math_fround($1); + var $4 = 0, $5 = 0; + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAPF32[($4 + 8 | 0) >> 2] = $1; + $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; + CProfileSample__CProfileSample_28char_20const__29($4 + 7 | 0 | 0, 69290 | 0) | 0; + btDiscreteDynamicsWorld__releasePredictiveContacts_28_29($5 | 0); + label$1 : { + if (!((btAlignedObjectArray_btRigidBody____size_28_29_20const($5 + 244 | 0 | 0) | 0 | 0) > (0 | 0) & 1 | 0)) { + break label$1 + } + btDiscreteDynamicsWorld__createPredictiveContactsInternal_28btRigidBody___2c_20int_2c_20float_29($5 | 0, btAlignedObjectArray_btRigidBody____operator_5b_5d_28int_29($5 + 244 | 0 | 0, 0 | 0) | 0 | 0, btAlignedObjectArray_btRigidBody____size_28_29_20const($5 + 244 | 0 | 0) | 0 | 0, Math_fround(Math_fround(HEAPF32[($4 + 8 | 0) >> 2]))); + } + CProfileSample___CProfileSample_28_29($4 + 7 | 0 | 0) | 0; + __stack_pointer = $4 + 16 | 0; + return; + } + + function btDiscreteDynamicsWorld__integrateTransformsInternal_28btRigidBody___2c_20int_2c_20float_29($0, $1, $2, $3) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = Math_fround($3); + var $6 = 0, $7 = 0, $93 = 0, $85 = 0, $88 = 0, $92 = 0, wasm2js_i32$0 = 0, wasm2js_f32$0 = Math_fround(0), wasm2js_i32$1 = 0; + $6 = __stack_pointer - 352 | 0; + __stack_pointer = $6; + HEAP32[($6 + 348 | 0) >> 2] = $0; + HEAP32[($6 + 344 | 0) >> 2] = $1; + HEAP32[($6 + 340 | 0) >> 2] = $2; + HEAPF32[($6 + 336 | 0) >> 2] = $3; + $7 = HEAP32[($6 + 348 | 0) >> 2] | 0; + btTransform__btTransform_28_29($6 + 272 | 0 | 0) | 0; + HEAP32[($6 + 268 | 0) >> 2] = 0; + label$1 : { + label$2 : { + label$3 : while (1) { + if (!((HEAP32[($6 + 268 | 0) >> 2] | 0 | 0) < (HEAP32[($6 + 340 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($6 + 264 | 0) >> 2] = HEAP32[((HEAP32[($6 + 344 | 0) >> 2] | 0) + ((HEAP32[($6 + 268 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; + btCollisionObject__setHitFraction_28float_29(HEAP32[($6 + 264 | 0) >> 2] | 0 | 0, Math_fround(Math_fround(1.0))); + label$4 : { + label$5 : { + if (!((btCollisionObject__isActive_28_29_20const(HEAP32[($6 + 264 | 0) >> 2] | 0 | 0) | 0) & 1 | 0)) { + break label$5 + } + if ((btCollisionObject__isStaticOrKinematicObject_28_29_20const(HEAP32[($6 + 264 | 0) >> 2] | 0 | 0) | 0) & 1 | 0) { + break label$5 + } + btRigidBody__predictIntegratedTransform_28float_2c_20btTransform__29(HEAP32[($6 + 264 | 0) >> 2] | 0 | 0, Math_fround(Math_fround(HEAPF32[($6 + 336 | 0) >> 2])), $6 + 272 | 0 | 0); + operator__28btVector3_20const__2c_20btVector3_20const__29($6 + 244 | 0 | 0, btTransform__getOrigin_28_29($6 + 272 | 0 | 0) | 0 | 0, btTransform__getOrigin_28_29(btCollisionObject__getWorldTransform_28_29(HEAP32[($6 + 264 | 0) >> 2] | 0 | 0) | 0 | 0) | 0 | 0); + (wasm2js_i32$0 = $6, wasm2js_f32$0 = Math_fround(btVector3__length2_28_29_20const($6 + 244 | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 260 | 0) >> 2] = wasm2js_f32$0; + label$6 : { + if (!((HEAPU8[((btCollisionWorld__getDispatchInfo_28_29($7 | 0) | 0) + 16 | 0) >> 0] | 0) & 1 | 0)) { + break label$6 + } + if (!(Math_fround(btCollisionObject__getCcdSquareMotionThreshold_28_29_20const(HEAP32[($6 + 264 | 0) >> 2] | 0 | 0)) != Math_fround(0 | 0) & 1 | 0)) { + break label$6 + } + if (!(Math_fround(btCollisionObject__getCcdSquareMotionThreshold_28_29_20const(HEAP32[($6 + 264 | 0) >> 2] | 0 | 0)) < Math_fround(HEAPF32[($6 + 260 | 0) >> 2]) & 1 | 0)) { + break label$6 + } + CProfileSample__CProfileSample_28char_20const__29($6 + 243 | 0 | 0, 80605 | 0) | 0; + label$7 : { + label$8 : { + if (!((btCollisionShape__isConvex_28_29_20const(btRigidBody__getCollisionShape_28_29(HEAP32[($6 + 264 | 0) >> 2] | 0 | 0) | 0 | 0) | 0) & 1 | 0)) { + break label$8 + } + HEAP32[(0 + 116168 | 0) >> 2] = (HEAP32[(0 + 116168 | 0) >> 2] | 0) + 1 | 0; + $85 = HEAP32[($6 + 264 | 0) >> 2] | 0; + $88 = btTransform__getOrigin_28_29(btCollisionObject__getWorldTransform_28_29(HEAP32[($6 + 264 | 0) >> 2] | 0 | 0) | 0 | 0) | 0; + $92 = btTransform__getOrigin_28_29($6 + 272 | 0 | 0) | 0; + $93 = btCollisionWorld__getBroadphase_28_29($7 | 0) | 0; + btClosestNotMeConvexResultCallback__btClosestNotMeConvexResultCallback_28btCollisionObject__2c_20btVector3_20const__2c_20btVector3_20const__2c_20btOverlappingPairCache__2c_20btDispatcher__29($6 + 140 | 0 | 0, $85 | 0, $88 | 0, $92 | 0, FUNCTION_TABLE[HEAP32[((HEAP32[$93 >> 2] | 0) + 36 | 0) >> 2] | 0 | 0]($93) | 0 | 0, btCollisionWorld__getDispatcher_28_29($7 | 0) | 0 | 0) | 0; + btSphereShape__btSphereShape_28float_29($6 + 80 | 0 | 0, Math_fround(Math_fround(btCollisionObject__getCcdSweptSphereRadius_28_29_20const(HEAP32[($6 + 264 | 0) >> 2] | 0 | 0)))) | 0; + (wasm2js_i32$0 = $6, wasm2js_f32$0 = Math_fround(HEAPF32[((btCollisionWorld__getDispatchInfo_28_29($7 | 0) | 0) + 28 | 0) >> 2])), HEAPF32[(wasm2js_i32$0 + 228 | 0) >> 2] = wasm2js_f32$0; + (wasm2js_i32$0 = $6, wasm2js_i32$1 = HEAP32[((btRigidBody__getBroadphaseProxy_28_29(HEAP32[($6 + 264 | 0) >> 2] | 0 | 0) | 0) + 4 | 0) >> 2] | 0), HEAP32[(wasm2js_i32$0 + 148 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $6, wasm2js_i32$1 = HEAP32[((btRigidBody__getBroadphaseProxy_28_29(HEAP32[($6 + 264 | 0) >> 2] | 0 | 0) | 0) + 8 | 0) >> 2] | 0), HEAP32[(wasm2js_i32$0 + 152 | 0) >> 2] = wasm2js_i32$1; + btTransform__btTransform_28btTransform_20const__29($6 + 16 | 0 | 0, $6 + 272 | 0 | 0) | 0; + btTransform__setBasis_28btMatrix3x3_20const__29($6 + 16 | 0 | 0, btTransform__getBasis_28_29(btCollisionObject__getWorldTransform_28_29(HEAP32[($6 + 264 | 0) >> 2] | 0 | 0) | 0 | 0) | 0 | 0); + btCollisionWorld__convexSweepTest_28btConvexShape_20const__2c_20btTransform_20const__2c_20btTransform_20const__2c_20btCollisionWorld__ConvexResultCallback__2c_20float_29_20const($7 | 0, $6 + 80 | 0 | 0, btCollisionObject__getWorldTransform_28_29(HEAP32[($6 + 264 | 0) >> 2] | 0 | 0) | 0 | 0, $6 + 16 | 0 | 0, $6 + 140 | 0 | 0, Math_fround(Math_fround(0 | 0))); + label$9 : { + label$10 : { + if (!((btCollisionWorld__ConvexResultCallback__hasHit_28_29_20const($6 + 140 | 0 | 0) | 0) & 1 | 0)) { + break label$10 + } + if (!(Math_fround(HEAPF32[($6 + 144 | 0) >> 2]) < Math_fround(1.0) & 1 | 0)) { + break label$10 + } + btCollisionObject__setHitFraction_28float_29(HEAP32[($6 + 264 | 0) >> 2] | 0 | 0, Math_fround(Math_fround(HEAPF32[($6 + 144 | 0) >> 2]))); + btRigidBody__predictIntegratedTransform_28float_2c_20btTransform__29(HEAP32[($6 + 264 | 0) >> 2] | 0 | 0, Math_fround(Math_fround(Math_fround(HEAPF32[($6 + 336 | 0) >> 2]) * Math_fround(btCollisionObject__getHitFraction_28_29_20const(HEAP32[($6 + 264 | 0) >> 2] | 0 | 0)))), $6 + 272 | 0 | 0); + btCollisionObject__setHitFraction_28float_29(HEAP32[($6 + 264 | 0) >> 2] | 0 | 0, Math_fround(Math_fround(0 | 0))); + btRigidBody__proceedToTransform_28btTransform_20const__29(HEAP32[($6 + 264 | 0) >> 2] | 0 | 0, $6 + 272 | 0 | 0); + HEAP32[($6 + 12 | 0) >> 2] = 4; + break label$9; + } + HEAP32[($6 + 12 | 0) >> 2] = 0; + } + btSphereShape___btSphereShape_28_29($6 + 80 | 0 | 0) | 0; + btClosestNotMeConvexResultCallback___btClosestNotMeConvexResultCallback_28_29($6 + 140 | 0 | 0) | 0; + if (HEAP32[($6 + 12 | 0) >> 2] | 0) { + break label$7 + } + } + HEAP32[($6 + 12 | 0) >> 2] = 0; + } + CProfileSample___CProfileSample_28_29($6 + 243 | 0 | 0) | 0; + label$11 : { + switch (HEAP32[($6 + 12 | 0) >> 2] | 0 | 0) { + case 1: + case 2: + case 3: + break label$1; + case 4: + break label$4; + default: + break label$11; + }; + } + } + btRigidBody__proceedToTransform_28btTransform_20const__29(HEAP32[($6 + 264 | 0) >> 2] | 0 | 0, $6 + 272 | 0 | 0); + } + } + HEAP32[($6 + 268 | 0) >> 2] = (HEAP32[($6 + 268 | 0) >> 2] | 0) + 1 | 0; + continue label$3; + }; + } + __stack_pointer = $6 + 352 | 0; + return; + } + wasm2js_trap(); + } + + function btDiscreteDynamicsWorld__integrateTransforms_28float_29($0, $1) { + $0 = $0 | 0; + $1 = Math_fround($1); + var $4 = 0, $5 = 0, $146 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0, wasm2js_f32$0 = Math_fround(0); + $4 = __stack_pointer - 144 | 0; + __stack_pointer = $4; + HEAP32[($4 + 140 | 0) >> 2] = $0; + HEAPF32[($4 + 136 | 0) >> 2] = $1; + $5 = HEAP32[($4 + 140 | 0) >> 2] | 0; + CProfileSample__CProfileSample_28char_20const__29($4 + 135 | 0 | 0, 69773 | 0) | 0; + label$1 : { + if (!((btAlignedObjectArray_btRigidBody____size_28_29_20const($5 + 244 | 0 | 0) | 0 | 0) > (0 | 0) & 1 | 0)) { + break label$1 + } + btDiscreteDynamicsWorld__integrateTransformsInternal_28btRigidBody___2c_20int_2c_20float_29($5 | 0, btAlignedObjectArray_btRigidBody____operator_5b_5d_28int_29($5 + 244 | 0 | 0, 0 | 0) | 0 | 0, btAlignedObjectArray_btRigidBody____size_28_29_20const($5 + 244 | 0 | 0) | 0 | 0, Math_fround(Math_fround(HEAPF32[($4 + 136 | 0) >> 2]))); + } + label$2 : { + if (!((HEAPU8[($5 + 291 | 0) >> 0] | 0) & 1 | 0)) { + break label$2 + } + CProfileSample__CProfileSample_28char_20const__29($4 + 134 | 0 | 0, 76238 | 0) | 0; + HEAP32[($4 + 128 | 0) >> 2] = 0; + label$3 : { + label$4 : while (1) { + if (!((HEAP32[($4 + 128 | 0) >> 2] | 0 | 0) < (btAlignedObjectArray_btPersistentManifold____size_28_29_20const($5 + 320 | 0 | 0) | 0 | 0) & 1 | 0)) { + break label$3 + } + (wasm2js_i32$0 = $4, wasm2js_i32$1 = HEAP32[(btAlignedObjectArray_btPersistentManifold____operator_5b_5d_28int_29($5 + 320 | 0 | 0, HEAP32[($4 + 128 | 0) >> 2] | 0 | 0) | 0) >> 2] | 0), HEAP32[(wasm2js_i32$0 + 124 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $4, wasm2js_i32$1 = btRigidBody__upcast_28btCollisionObject__29(btPersistentManifold__getBody0_28_29_20const(HEAP32[($4 + 124 | 0) >> 2] | 0 | 0) | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 120 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $4, wasm2js_i32$1 = btRigidBody__upcast_28btCollisionObject__29(btPersistentManifold__getBody1_28_29_20const(HEAP32[($4 + 124 | 0) >> 2] | 0 | 0) | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 116 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($4 + 112 | 0) >> 2] = 0; + label$5 : { + label$6 : while (1) { + if (!((HEAP32[($4 + 112 | 0) >> 2] | 0 | 0) < (btPersistentManifold__getNumContacts_28_29_20const(HEAP32[($4 + 124 | 0) >> 2] | 0 | 0) | 0 | 0) & 1 | 0)) { + break label$5 + } + (wasm2js_i32$0 = $4, wasm2js_i32$1 = btPersistentManifold__getContactPoint_28int_29(HEAP32[($4 + 124 | 0) >> 2] | 0 | 0, HEAP32[($4 + 112 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 108 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $4, wasm2js_f32$0 = Math_fround(btManifoldResult__calculateCombinedRestitution_28btCollisionObject_20const__2c_20btCollisionObject_20const__29(HEAP32[($4 + 120 | 0) >> 2] | 0 | 0, HEAP32[($4 + 116 | 0) >> 2] | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 104 | 0) >> 2] = wasm2js_f32$0; + label$7 : { + if (!(Math_fround(HEAPF32[($4 + 104 | 0) >> 2]) > Math_fround(0 | 0) & 1 | 0)) { + break label$7 + } + if (!(Math_fround(HEAPF32[((HEAP32[($4 + 108 | 0) >> 2] | 0) + 132 | 0) >> 2]) != Math_fround(0 | 0) & 1 | 0)) { + break label$7 + } + operator__28btVector3_20const__29($4 + 56 | 0 | 0, (HEAP32[($4 + 108 | 0) >> 2] | 0) + 64 | 0 | 0); + operator__28btVector3_20const__2c_20float_20const__29($4 + 72 | 0 | 0, $4 + 56 | 0 | 0, (HEAP32[($4 + 108 | 0) >> 2] | 0) + 132 | 0 | 0); + operator__28btVector3_20const__2c_20float_20const__29($4 + 88 | 0 | 0, $4 + 72 | 0 | 0, $4 + 104 | 0 | 0); + (wasm2js_i32$0 = $4, wasm2js_i32$1 = btManifoldPoint__getPositionWorldOnA_28_29_20const(HEAP32[($4 + 108 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 52 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $4, wasm2js_i32$1 = btManifoldPoint__getPositionWorldOnB_28_29_20const(HEAP32[($4 + 108 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 48 | 0) >> 2] = wasm2js_i32$1; + operator__28btVector3_20const__2c_20btVector3_20const__29($4 + 32 | 0 | 0, HEAP32[($4 + 52 | 0) >> 2] | 0 | 0, btTransform__getOrigin_28_29(btCollisionObject__getWorldTransform_28_29(HEAP32[($4 + 120 | 0) >> 2] | 0 | 0) | 0 | 0) | 0 | 0); + operator__28btVector3_20const__2c_20btVector3_20const__29($4 + 16 | 0 | 0, HEAP32[($4 + 48 | 0) >> 2] | 0 | 0, btTransform__getOrigin_28_29(btCollisionObject__getWorldTransform_28_29(HEAP32[($4 + 116 | 0) >> 2] | 0 | 0) | 0 | 0) | 0 | 0); + label$8 : { + if (!((HEAP32[($4 + 120 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$8 + } + btRigidBody__applyImpulse_28btVector3_20const__2c_20btVector3_20const__29(HEAP32[($4 + 120 | 0) >> 2] | 0 | 0, $4 + 88 | 0 | 0, $4 + 32 | 0 | 0); + } + label$9 : { + if (!((HEAP32[($4 + 116 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$9 + } + $146 = HEAP32[($4 + 116 | 0) >> 2] | 0; + operator__28btVector3_20const__29($4 | 0, $4 + 88 | 0 | 0); + btRigidBody__applyImpulse_28btVector3_20const__2c_20btVector3_20const__29($146 | 0, $4 | 0, $4 + 16 | 0 | 0); + } + } + HEAP32[($4 + 112 | 0) >> 2] = (HEAP32[($4 + 112 | 0) >> 2] | 0) + 1 | 0; + continue label$6; + }; + } + HEAP32[($4 + 128 | 0) >> 2] = (HEAP32[($4 + 128 | 0) >> 2] | 0) + 1 | 0; + continue label$4; + }; + } + CProfileSample___CProfileSample_28_29($4 + 134 | 0 | 0) | 0; + } + CProfileSample___CProfileSample_28_29($4 + 135 | 0 | 0) | 0; + __stack_pointer = $4 + 144 | 0; + return; + } + + function btDiscreteDynamicsWorld__predictUnconstraintMotion_28float_29($0, $1) { + $0 = $0 | 0; + $1 = Math_fround($1); + var $4 = 0, $5 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4 = __stack_pointer - 32 | 0; + __stack_pointer = $4; + HEAP32[($4 + 28 | 0) >> 2] = $0; + HEAPF32[($4 + 24 | 0) >> 2] = $1; + $5 = HEAP32[($4 + 28 | 0) >> 2] | 0; + CProfileSample__CProfileSample_28char_20const__29($4 + 23 | 0 | 0, 76276 | 0) | 0; + HEAP32[($4 + 16 | 0) >> 2] = 0; + label$1 : { + label$2 : while (1) { + if (!((HEAP32[($4 + 16 | 0) >> 2] | 0 | 0) < (btAlignedObjectArray_btRigidBody____size_28_29_20const($5 + 244 | 0 | 0) | 0 | 0) & 1 | 0)) { + break label$1 + } + (wasm2js_i32$0 = $4, wasm2js_i32$1 = HEAP32[(btAlignedObjectArray_btRigidBody____operator_5b_5d_28int_29($5 + 244 | 0 | 0, HEAP32[($4 + 16 | 0) >> 2] | 0 | 0) | 0) >> 2] | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + label$3 : { + if ((btCollisionObject__isStaticOrKinematicObject_28_29_20const(HEAP32[($4 + 12 | 0) >> 2] | 0 | 0) | 0) & 1 | 0) { + break label$3 + } + btRigidBody__applyDamping_28float_29(HEAP32[($4 + 12 | 0) >> 2] | 0 | 0, Math_fround(Math_fround(HEAPF32[($4 + 24 | 0) >> 2]))); + btRigidBody__predictIntegratedTransform_28float_2c_20btTransform__29(HEAP32[($4 + 12 | 0) >> 2] | 0 | 0, Math_fround(Math_fround(HEAPF32[($4 + 24 | 0) >> 2])), btCollisionObject__getInterpolationWorldTransform_28_29(HEAP32[($4 + 12 | 0) >> 2] | 0 | 0) | 0 | 0); + } + HEAP32[($4 + 16 | 0) >> 2] = (HEAP32[($4 + 16 | 0) >> 2] | 0) + 1 | 0; + continue label$2; + }; + } + CProfileSample___CProfileSample_28_29($4 + 23 | 0 | 0) | 0; + __stack_pointer = $4 + 32 | 0; + return; + } + + function btDiscreteDynamicsWorld__debugDrawConstraint_28btTypedConstraint__29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, i64toi32_i32$1 = 0, $5 = 0, $8 = 0, $18 = 0, $19 = 0, $28 = 0, $42 = 0, $65 = 0, $75 = 0, $76 = 0, $92 = 0, $109 = 0, $117 = 0, $118 = 0, $134 = 0, $154 = 0, $175 = 0, $201 = 0, $251 = 0, $286 = 0, $312 = 0, $349 = 0, $390 = 0, $401 = 0, $421 = 0, $434 = 0, $492 = 0, $493 = 0, $518 = 0, $558 = 0, $575 = 0, $627 = 0, $659 = 0, $802 = 0, $830 = 0, $857 = 0, $858 = 0, $868 = 0, $869 = 0, $878 = 0, $904 = 0, $921 = 0, $973 = 0, $1005 = 0, $1148 = 0, $1176 = 0, $1203 = 0, $1204 = 0, $1214 = 0, $1215 = 0, $1224 = 0, $1250 = 0, $1267 = 0, $1283 = 0, $1346 = 0, $1383 = 0, $1454 = 0, $1458 = 0, $1573 = 0, $1577 = 0, $1610 = 0, $1614 = 0, $1662 = 0, $1666 = 0, $1699 = 0, $1703 = 0, $2159 = 0, $2163 = 0, $2240 = 0, $2244 = 0, $2329 = 0, $2333 = 0, $2450 = 0, $2454 = 0, $2797 = 0, $2801 = 0, $703 = Math_fround(0), $712 = Math_fround(0), $732 = Math_fround(0), $755 = Math_fround(0), $763 = Math_fround(0), $3208 = 0, $3212 = 0, $3232 = 0, $3236 = 0, $3522 = 0, $3526 = 0, $1049 = Math_fround(0), $1058 = Math_fround(0), $1078 = Math_fround(0), $1101 = Math_fround(0), $1109 = Math_fround(0), $3933 = 0, $3937 = 0, $3957 = 0, $3961 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0, wasm2js_f32$0 = Math_fround(0), wasm2js_i32$2 = 0, wasm2js_i32$3 = 0, wasm2js_i32$4 = 0; + $4 = __stack_pointer - 1632 | 0; + __stack_pointer = $4; + HEAP32[($4 + 1628 | 0) >> 2] = $0; + HEAP32[($4 + 1624 | 0) >> 2] = $1; + $5 = HEAP32[($4 + 1628 | 0) >> 2] | 0; + $8 = FUNCTION_TABLE[HEAP32[((HEAP32[$5 >> 2] | 0) + 20 | 0) >> 2] | 0 | 0]($5) | 0; + FUNCTION_TABLE[HEAP32[((HEAP32[$8 >> 2] | 0) + 8 | 0) >> 2] | 0 | 0]($4 + 1496 | 0, $8); + $18 = ($4 + 1496 | 0) + 112 | 0; + $19 = 8; + i64toi32_i32$2 = $18 + $19 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $1454 = i64toi32_i32$0; + i64toi32_i32$0 = ($4 + 1480 | 0) + $19 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $1454; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$2 = $18; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $1458 = i64toi32_i32$1; + i64toi32_i32$1 = $4; + HEAP32[($4 + 1480 | 0) >> 2] = $1458; + HEAP32[($4 + 1484 | 0) >> 2] = i64toi32_i32$0; + $28 = FUNCTION_TABLE[HEAP32[((HEAP32[$5 >> 2] | 0) + 20 | 0) >> 2] | 0 | 0]($5) | 0; + (wasm2js_i32$0 = $4, wasm2js_i32$1 = ((FUNCTION_TABLE[HEAP32[((HEAP32[$28 >> 2] | 0) + 56 | 0) >> 2] | 0 | 0]($28) | 0) & 2048 | 0 | 0) != (0 | 0) & 1 | 0), HEAP8[(wasm2js_i32$0 + 1479 | 0) >> 0] = wasm2js_i32$1; + $42 = FUNCTION_TABLE[HEAP32[((HEAP32[$5 >> 2] | 0) + 20 | 0) >> 2] | 0 | 0]($5) | 0; + (wasm2js_i32$0 = $4, wasm2js_i32$1 = ((FUNCTION_TABLE[HEAP32[((HEAP32[$42 >> 2] | 0) + 56 | 0) >> 2] | 0 | 0]($42) | 0) & 4096 | 0 | 0) != (0 | 0) & 1 | 0), HEAP8[(wasm2js_i32$0 + 1478 | 0) >> 0] = wasm2js_i32$1; + (wasm2js_i32$0 = $4, wasm2js_f32$0 = Math_fround(btTypedConstraint__getDbgDrawSize_28_29(HEAP32[($4 + 1624 | 0) >> 2] | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 1472 | 0) >> 2] = wasm2js_f32$0; + label$1 : { + label$2 : { + if (!(Math_fround(HEAPF32[($4 + 1472 | 0) >> 2]) <= Math_fround(0 | 0) & 1 | 0)) { + break label$2 + } + break label$1; + } + $65 = (btTypedConstraint__getConstraintType_28_29_20const(HEAP32[($4 + 1624 | 0) >> 2] | 0 | 0) | 0) + -3 | 0; + label$3 : { + label$4 : { + switch ($65 | 0) { + case 0: + HEAP32[($4 + 1468 | 0) >> 2] = HEAP32[($4 + 1624 | 0) >> 2] | 0; + btTransform__btTransform_28_29($4 + 1404 | 0 | 0) | 0; + btTransform__setIdentity_28_29($4 + 1404 | 0 | 0); + $75 = btPoint2PointConstraint__getPivotInA_28_29_20const(HEAP32[($4 + 1468 | 0) >> 2] | 0 | 0) | 0; + $76 = 8; + i64toi32_i32$2 = $75 + $76 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $1573 = i64toi32_i32$0; + i64toi32_i32$0 = ($4 + 1384 | 0) + $76 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $1573; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$2 = $75; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $1577 = i64toi32_i32$1; + i64toi32_i32$1 = $4; + HEAP32[($4 + 1384 | 0) >> 2] = $1577; + HEAP32[($4 + 1388 | 0) >> 2] = i64toi32_i32$0; + btTransform__operator__28btVector3_20const__29_20const($4 + 1368 | 0 | 0, btRigidBody__getCenterOfMassTransform_28_29_20const(btTypedConstraint__getRigidBodyA_28_29(HEAP32[($4 + 1468 | 0) >> 2] | 0 | 0) | 0 | 0) | 0 | 0, $4 + 1384 | 0 | 0); + $92 = 8; + i64toi32_i32$2 = ($4 + 1368 | 0) + $92 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $1610 = i64toi32_i32$0; + i64toi32_i32$0 = ($4 + 1384 | 0) + $92 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $1610; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$2 = $4; + i64toi32_i32$1 = HEAP32[($4 + 1368 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($4 + 1372 | 0) >> 2] | 0; + $1614 = i64toi32_i32$1; + i64toi32_i32$1 = $4; + HEAP32[($4 + 1384 | 0) >> 2] = $1614; + HEAP32[($4 + 1388 | 0) >> 2] = i64toi32_i32$0; + btTransform__setOrigin_28btVector3_20const__29($4 + 1404 | 0 | 0, $4 + 1384 | 0 | 0); + $109 = FUNCTION_TABLE[HEAP32[((HEAP32[$5 >> 2] | 0) + 20 | 0) >> 2] | 0 | 0]($5) | 0; + FUNCTION_TABLE[HEAP32[((HEAP32[$109 >> 2] | 0) + 64 | 0) >> 2] | 0 | 0]($109, $4 + 1404 | 0, Math_fround(HEAPF32[($4 + 1472 | 0) >> 2])); + $117 = btPoint2PointConstraint__getPivotInB_28_29_20const(HEAP32[($4 + 1468 | 0) >> 2] | 0 | 0) | 0; + $118 = 8; + i64toi32_i32$2 = $117 + $118 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $1662 = i64toi32_i32$0; + i64toi32_i32$0 = ($4 + 1384 | 0) + $118 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $1662; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$2 = $117; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $1666 = i64toi32_i32$1; + i64toi32_i32$1 = $4; + HEAP32[($4 + 1384 | 0) >> 2] = $1666; + HEAP32[($4 + 1388 | 0) >> 2] = i64toi32_i32$0; + btTransform__operator__28btVector3_20const__29_20const($4 + 1352 | 0 | 0, btRigidBody__getCenterOfMassTransform_28_29_20const(btTypedConstraint__getRigidBodyB_28_29(HEAP32[($4 + 1468 | 0) >> 2] | 0 | 0) | 0 | 0) | 0 | 0, $4 + 1384 | 0 | 0); + $134 = 8; + i64toi32_i32$2 = ($4 + 1352 | 0) + $134 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $1699 = i64toi32_i32$0; + i64toi32_i32$0 = ($4 + 1384 | 0) + $134 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $1699; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$2 = $4; + i64toi32_i32$1 = HEAP32[($4 + 1352 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($4 + 1356 | 0) >> 2] | 0; + $1703 = i64toi32_i32$1; + i64toi32_i32$1 = $4; + HEAP32[($4 + 1384 | 0) >> 2] = $1703; + HEAP32[($4 + 1388 | 0) >> 2] = i64toi32_i32$0; + btTransform__setOrigin_28btVector3_20const__29($4 + 1404 | 0 | 0, $4 + 1384 | 0 | 0); + label$11 : { + if (!((HEAPU8[($4 + 1479 | 0) >> 0] | 0) & 1 | 0)) { + break label$11 + } + $154 = FUNCTION_TABLE[HEAP32[((HEAP32[$5 >> 2] | 0) + 20 | 0) >> 2] | 0 | 0]($5) | 0; + FUNCTION_TABLE[HEAP32[((HEAP32[$154 >> 2] | 0) + 64 | 0) >> 2] | 0 | 0]($154, $4 + 1404 | 0, Math_fround(HEAPF32[($4 + 1472 | 0) >> 2])); + } + break label$3; + case 1: + HEAP32[($4 + 1348 | 0) >> 2] = HEAP32[($4 + 1624 | 0) >> 2] | 0; + btTransform__operator__28btTransform_20const__29_20const($4 + 1284 | 0 | 0, btRigidBody__getCenterOfMassTransform_28_29_20const(btHingeConstraint__getRigidBodyA_28_29(HEAP32[($4 + 1348 | 0) >> 2] | 0 | 0) | 0 | 0) | 0 | 0, btHingeConstraint__getAFrame_28_29(HEAP32[($4 + 1348 | 0) >> 2] | 0 | 0) | 0 | 0); + label$12 : { + if (!((HEAPU8[($4 + 1479 | 0) >> 0] | 0) & 1 | 0)) { + break label$12 + } + $175 = FUNCTION_TABLE[HEAP32[((HEAP32[$5 >> 2] | 0) + 20 | 0) >> 2] | 0 | 0]($5) | 0; + FUNCTION_TABLE[HEAP32[((HEAP32[$175 >> 2] | 0) + 64 | 0) >> 2] | 0 | 0]($175, $4 + 1284 | 0, Math_fround(HEAPF32[($4 + 1472 | 0) >> 2])); + } + btTransform__operator__28btTransform_20const__29_20const($4 + 1220 | 0 | 0, btRigidBody__getCenterOfMassTransform_28_29_20const(btHingeConstraint__getRigidBodyB_28_29(HEAP32[($4 + 1348 | 0) >> 2] | 0 | 0) | 0 | 0) | 0 | 0, btHingeConstraint__getBFrame_28_29(HEAP32[($4 + 1348 | 0) >> 2] | 0 | 0) | 0 | 0); + btTransform__operator__28btTransform_20const__29($4 + 1284 | 0 | 0, $4 + 1220 | 0 | 0) | 0; + label$13 : { + if (!((HEAPU8[($4 + 1479 | 0) >> 0] | 0) & 1 | 0)) { + break label$13 + } + $201 = FUNCTION_TABLE[HEAP32[((HEAP32[$5 >> 2] | 0) + 20 | 0) >> 2] | 0 | 0]($5) | 0; + FUNCTION_TABLE[HEAP32[((HEAP32[$201 >> 2] | 0) + 64 | 0) >> 2] | 0 | 0]($201, $4 + 1284 | 0, Math_fround(HEAPF32[($4 + 1472 | 0) >> 2])); + } + (wasm2js_i32$0 = $4, wasm2js_f32$0 = Math_fround(btHingeConstraint__getLowerLimit_28_29_20const(HEAP32[($4 + 1348 | 0) >> 2] | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 1216 | 0) >> 2] = wasm2js_f32$0; + (wasm2js_i32$0 = $4, wasm2js_f32$0 = Math_fround(btHingeConstraint__getUpperLimit_28_29_20const(HEAP32[($4 + 1348 | 0) >> 2] | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 1212 | 0) >> 2] = wasm2js_f32$0; + label$14 : { + if (!(Math_fround(HEAPF32[($4 + 1216 | 0) >> 2]) == Math_fround(HEAPF32[($4 + 1212 | 0) >> 2]) & 1 | 0)) { + break label$14 + } + break label$3; + } + HEAP8[($4 + 1211 | 0) >> 0] = 1; + label$15 : { + if ((btHingeConstraint__hasLimit_28_29_20const(HEAP32[($4 + 1348 | 0) >> 2] | 0 | 0) | 0) & 1 | 0) { + break label$15 + } + HEAPF32[($4 + 1216 | 0) >> 2] = Math_fround(0 | 0); + HEAPF32[($4 + 1212 | 0) >> 2] = Math_fround(6.2831854820251465); + HEAP8[($4 + 1211 | 0) >> 0] = 0; + } + label$16 : { + if (!((HEAPU8[($4 + 1478 | 0) >> 0] | 0) & 1 | 0)) { + break label$16 + } + (wasm2js_i32$0 = $4, wasm2js_i32$1 = btTransform__getOrigin_28_29($4 + 1284 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 1204 | 0) >> 2] = wasm2js_i32$1; + btMatrix3x3__getColumn_28int_29_20const($4 + 1188 | 0 | 0, btTransform__getBasis_28_29($4 + 1284 | 0 | 0) | 0 | 0, 2 | 0); + btMatrix3x3__getColumn_28int_29_20const($4 + 1172 | 0 | 0, btTransform__getBasis_28_29($4 + 1284 | 0 | 0) | 0 | 0, 0 | 0); + $251 = FUNCTION_TABLE[HEAP32[((HEAP32[$5 >> 2] | 0) + 20 | 0) >> 2] | 0 | 0]($5) | 0; + FUNCTION_TABLE[HEAP32[((HEAP32[$251 >> 2] | 0) + 68 | 0) >> 2] | 0 | 0]($251, HEAP32[($4 + 1204 | 0) >> 2] | 0, $4 + 1188 | 0, $4 + 1172 | 0, Math_fround(HEAPF32[($4 + 1472 | 0) >> 2]), Math_fround(HEAPF32[($4 + 1472 | 0) >> 2]), Math_fround(HEAPF32[($4 + 1216 | 0) >> 2]), Math_fround(HEAPF32[($4 + 1212 | 0) >> 2]), $4 + 1480 | 0, (HEAPU8[($4 + 1211 | 0) >> 0] | 0) & 1 | 0, Math_fround(10.0)); + } + break label$3; + case 2: + HEAP32[($4 + 1168 | 0) >> 2] = HEAP32[($4 + 1624 | 0) >> 2] | 0; + btTransform__operator__28btTransform_20const__29_20const($4 + 1104 | 0 | 0, btRigidBody__getCenterOfMassTransform_28_29_20const(btConeTwistConstraint__getRigidBodyA_28_29_20const(HEAP32[($4 + 1168 | 0) >> 2] | 0 | 0) | 0 | 0) | 0 | 0, btConeTwistConstraint__getAFrame_28_29_20const(HEAP32[($4 + 1168 | 0) >> 2] | 0 | 0) | 0 | 0); + label$17 : { + if (!((HEAPU8[($4 + 1479 | 0) >> 0] | 0) & 1 | 0)) { + break label$17 + } + $286 = FUNCTION_TABLE[HEAP32[((HEAP32[$5 >> 2] | 0) + 20 | 0) >> 2] | 0 | 0]($5) | 0; + FUNCTION_TABLE[HEAP32[((HEAP32[$286 >> 2] | 0) + 64 | 0) >> 2] | 0 | 0]($286, $4 + 1104 | 0, Math_fround(HEAPF32[($4 + 1472 | 0) >> 2])); + } + btTransform__operator__28btTransform_20const__29_20const($4 + 1040 | 0 | 0, btRigidBody__getCenterOfMassTransform_28_29_20const(btConeTwistConstraint__getRigidBodyB_28_29_20const(HEAP32[($4 + 1168 | 0) >> 2] | 0 | 0) | 0 | 0) | 0 | 0, btConeTwistConstraint__getBFrame_28_29_20const(HEAP32[($4 + 1168 | 0) >> 2] | 0 | 0) | 0 | 0); + btTransform__operator__28btTransform_20const__29($4 + 1104 | 0 | 0, $4 + 1040 | 0 | 0) | 0; + label$18 : { + if (!((HEAPU8[($4 + 1479 | 0) >> 0] | 0) & 1 | 0)) { + break label$18 + } + $312 = FUNCTION_TABLE[HEAP32[((HEAP32[$5 >> 2] | 0) + 20 | 0) >> 2] | 0 | 0]($5) | 0; + FUNCTION_TABLE[HEAP32[((HEAP32[$312 >> 2] | 0) + 64 | 0) >> 2] | 0 | 0]($312, $4 + 1104 | 0, Math_fround(HEAPF32[($4 + 1472 | 0) >> 2])); + } + label$19 : { + if (!((HEAPU8[($4 + 1478 | 0) >> 0] | 0) & 1 | 0)) { + break label$19 + } + HEAPF32[($4 + 1036 | 0) >> 2] = Math_fround(HEAPF32[($4 + 1472 | 0) >> 2]); + HEAPF32[($4 + 1032 | 0) >> 2] = Math_fround(Math_fround(Math_fround(6.283185005187988) * Math_fround((HEAP32[(0 + 112852 | 0) >> 2] | 0) - 1 | 0 | 0)) / Math_fround(HEAP32[(0 + 112852 | 0) >> 2] | 0 | 0)); + btConeTwistConstraint__GetPointForAngle_28float_2c_20float_29_20const($4 + 1016 | 0 | 0, HEAP32[($4 + 1168 | 0) >> 2] | 0 | 0, Math_fround(Math_fround(HEAPF32[($4 + 1032 | 0) >> 2])), Math_fround(Math_fround(HEAPF32[($4 + 1036 | 0) >> 2]))); + btTransform__operator__28btVector3_20const__29_20const($4 + 1e3 | 0 | 0, $4 + 1104 | 0 | 0, $4 + 1016 | 0 | 0); + $349 = 8; + i64toi32_i32$2 = ($4 + 1e3 | 0) + $349 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $2159 = i64toi32_i32$0; + i64toi32_i32$0 = ($4 + 1016 | 0) + $349 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $2159; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$2 = $4; + i64toi32_i32$1 = HEAP32[($4 + 1e3 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($4 + 1004 | 0) >> 2] | 0; + $2163 = i64toi32_i32$1; + i64toi32_i32$1 = $4; + HEAP32[($4 + 1016 | 0) >> 2] = $2163; + HEAP32[($4 + 1020 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($4 + 996 | 0) >> 2] = 0; + label$20 : { + label$21 : while (1) { + if (!((HEAP32[($4 + 996 | 0) >> 2] | 0 | 0) < (HEAP32[(0 + 112852 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$20 + } + HEAPF32[($4 + 1032 | 0) >> 2] = Math_fround(Math_fround(Math_fround(6.283185005187988) * Math_fround(HEAP32[($4 + 996 | 0) >> 2] | 0 | 0)) / Math_fround(HEAP32[(0 + 112852 | 0) >> 2] | 0 | 0)); + btConeTwistConstraint__GetPointForAngle_28float_2c_20float_29_20const($4 + 976 | 0 | 0, HEAP32[($4 + 1168 | 0) >> 2] | 0 | 0, Math_fround(Math_fround(HEAPF32[($4 + 1032 | 0) >> 2])), Math_fround(Math_fround(HEAPF32[($4 + 1036 | 0) >> 2]))); + btTransform__operator__28btVector3_20const__29_20const($4 + 960 | 0 | 0, $4 + 1104 | 0 | 0, $4 + 976 | 0 | 0); + $390 = 8; + i64toi32_i32$2 = ($4 + 960 | 0) + $390 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $2240 = i64toi32_i32$0; + i64toi32_i32$0 = ($4 + 976 | 0) + $390 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $2240; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$2 = $4; + i64toi32_i32$1 = HEAP32[($4 + 960 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($4 + 964 | 0) >> 2] | 0; + $2244 = i64toi32_i32$1; + i64toi32_i32$1 = $4; + HEAP32[($4 + 976 | 0) >> 2] = $2244; + HEAP32[($4 + 980 | 0) >> 2] = i64toi32_i32$0; + $401 = FUNCTION_TABLE[HEAP32[((HEAP32[$5 >> 2] | 0) + 20 | 0) >> 2] | 0 | 0]($5) | 0; + FUNCTION_TABLE[HEAP32[((HEAP32[$401 >> 2] | 0) + 16 | 0) >> 2] | 0 | 0]($401, $4 + 1016 | 0, $4 + 976 | 0, $4 + 1480 | 0); + label$22 : { + if ((HEAP32[($4 + 996 | 0) >> 2] | 0 | 0) % ((HEAP32[(0 + 112852 | 0) >> 2] | 0 | 0) / (8 | 0) | 0 | 0) | 0) { + break label$22 + } + $421 = FUNCTION_TABLE[HEAP32[((HEAP32[$5 >> 2] | 0) + 20 | 0) >> 2] | 0 | 0]($5) | 0; + ((((wasm2js_i32$1 = $421, wasm2js_i32$2 = btTransform__getOrigin_28_29($4 + 1104 | 0 | 0) | 0), wasm2js_i32$3 = $4 + 976 | 0), wasm2js_i32$4 = $4 + 1480 | 0), wasm2js_i32$0 = HEAP32[((HEAP32[$421 >> 2] | 0) + 16 | 0) >> 2] | 0 | 0), FUNCTION_TABLE[wasm2js_i32$0](wasm2js_i32$1 | 0, wasm2js_i32$2 | 0, wasm2js_i32$3 | 0, wasm2js_i32$4 | 0); + } + $434 = 8; + i64toi32_i32$2 = ($4 + 976 | 0) + $434 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $2329 = i64toi32_i32$0; + i64toi32_i32$0 = ($4 + 1016 | 0) + $434 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $2329; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$2 = $4; + i64toi32_i32$1 = HEAP32[($4 + 976 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($4 + 980 | 0) >> 2] | 0; + $2333 = i64toi32_i32$1; + i64toi32_i32$1 = $4; + HEAP32[($4 + 1016 | 0) >> 2] = $2333; + HEAP32[($4 + 1020 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($4 + 996 | 0) >> 2] = (HEAP32[($4 + 996 | 0) >> 2] | 0) + 1 | 0; + continue label$21; + }; + } + (wasm2js_i32$0 = $4, wasm2js_f32$0 = Math_fround(btConeTwistConstraint__getTwistSpan_28_29_20const(HEAP32[($4 + 1168 | 0) >> 2] | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 956 | 0) >> 2] = wasm2js_f32$0; + (wasm2js_i32$0 = $4, wasm2js_f32$0 = Math_fround(btConeTwistConstraint__getTwistAngle_28_29_20const(HEAP32[($4 + 1168 | 0) >> 2] | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 952 | 0) >> 2] = wasm2js_f32$0; + (wasm2js_i32$0 = $4, wasm2js_i32$4 = Math_fround(btRigidBody__getInvMass_28_29_20const(btConeTwistConstraint__getRigidBodyB_28_29_20const(HEAP32[($4 + 1168 | 0) >> 2] | 0 | 0) | 0 | 0)) > Math_fround(0 | 0) & 1 | 0), HEAP8[(wasm2js_i32$0 + 951 | 0) >> 0] = wasm2js_i32$4; + label$23 : { + label$24 : { + if (!((HEAPU8[($4 + 951 | 0) >> 0] | 0) & 1 | 0)) { + break label$24 + } + btTransform__operator__28btTransform_20const__29_20const($4 + 884 | 0 | 0, btRigidBody__getCenterOfMassTransform_28_29_20const(btConeTwistConstraint__getRigidBodyB_28_29_20const(HEAP32[($4 + 1168 | 0) >> 2] | 0 | 0) | 0 | 0) | 0 | 0, btConeTwistConstraint__getBFrame_28_29_20const(HEAP32[($4 + 1168 | 0) >> 2] | 0 | 0) | 0 | 0); + btTransform__operator__28btTransform_20const__29($4 + 1104 | 0 | 0, $4 + 884 | 0 | 0) | 0; + break label$23; + } + btTransform__operator__28btTransform_20const__29_20const($4 + 820 | 0 | 0, btRigidBody__getCenterOfMassTransform_28_29_20const(btConeTwistConstraint__getRigidBodyA_28_29_20const(HEAP32[($4 + 1168 | 0) >> 2] | 0 | 0) | 0 | 0) | 0 | 0, btConeTwistConstraint__getAFrame_28_29_20const(HEAP32[($4 + 1168 | 0) >> 2] | 0 | 0) | 0 | 0); + btTransform__operator__28btTransform_20const__29($4 + 1104 | 0 | 0, $4 + 820 | 0 | 0) | 0; + } + $492 = btTransform__getOrigin_28_29($4 + 1104 | 0 | 0) | 0; + $493 = 8; + i64toi32_i32$2 = $492 + $493 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $2450 = i64toi32_i32$0; + i64toi32_i32$0 = ($4 + 800 | 0) + $493 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $2450; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$2 = $492; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $2454 = i64toi32_i32$1; + i64toi32_i32$1 = $4; + HEAP32[($4 + 800 | 0) >> 2] = $2454; + HEAP32[($4 + 804 | 0) >> 2] = i64toi32_i32$0; + btMatrix3x3__getColumn_28int_29_20const($4 + 784 | 0 | 0, btTransform__getBasis_28_29($4 + 1104 | 0 | 0) | 0 | 0, 0 | 0); + btMatrix3x3__getColumn_28int_29_20const($4 + 768 | 0 | 0, btTransform__getBasis_28_29($4 + 1104 | 0 | 0) | 0 | 0, 1 | 0); + $518 = FUNCTION_TABLE[HEAP32[((HEAP32[$5 >> 2] | 0) + 20 | 0) >> 2] | 0 | 0]($5) | 0; + FUNCTION_TABLE[HEAP32[((HEAP32[$518 >> 2] | 0) + 68 | 0) >> 2] | 0 | 0]($518, $4 + 800 | 0, $4 + 784 | 0, $4 + 768 | 0, Math_fround(HEAPF32[($4 + 1472 | 0) >> 2]), Math_fround(HEAPF32[($4 + 1472 | 0) >> 2]), Math_fround(Math_fround(-Math_fround(HEAPF32[($4 + 952 | 0) >> 2])) - Math_fround(HEAPF32[($4 + 956 | 0) >> 2])), Math_fround(Math_fround(-Math_fround(HEAPF32[($4 + 952 | 0) >> 2])) + Math_fround(HEAPF32[($4 + 956 | 0) >> 2])), $4 + 1480 | 0, 1 & 1 | 0, Math_fround(10.0)); + } + break label$3; + case 3: + case 6: + HEAP32[($4 + 764 | 0) >> 2] = HEAP32[($4 + 1624 | 0) >> 2] | 0; + btTransform__btTransform_28btTransform_20const__29($4 + 700 | 0 | 0, btGeneric6DofConstraint__getCalculatedTransformA_28_29_20const(HEAP32[($4 + 764 | 0) >> 2] | 0 | 0) | 0 | 0) | 0; + label$25 : { + if (!((HEAPU8[($4 + 1479 | 0) >> 0] | 0) & 1 | 0)) { + break label$25 + } + $558 = FUNCTION_TABLE[HEAP32[((HEAP32[$5 >> 2] | 0) + 20 | 0) >> 2] | 0 | 0]($5) | 0; + FUNCTION_TABLE[HEAP32[((HEAP32[$558 >> 2] | 0) + 64 | 0) >> 2] | 0 | 0]($558, $4 + 700 | 0, Math_fround(HEAPF32[($4 + 1472 | 0) >> 2])); + } + btTransform__operator__28btTransform_20const__29($4 + 700 | 0 | 0, btGeneric6DofConstraint__getCalculatedTransformB_28_29_20const(HEAP32[($4 + 764 | 0) >> 2] | 0 | 0) | 0 | 0) | 0; + label$26 : { + if (!((HEAPU8[($4 + 1479 | 0) >> 0] | 0) & 1 | 0)) { + break label$26 + } + $575 = FUNCTION_TABLE[HEAP32[((HEAP32[$5 >> 2] | 0) + 20 | 0) >> 2] | 0 | 0]($5) | 0; + FUNCTION_TABLE[HEAP32[((HEAP32[$575 >> 2] | 0) + 64 | 0) >> 2] | 0 | 0]($575, $4 + 700 | 0, Math_fround(HEAPF32[($4 + 1472 | 0) >> 2])); + } + label$27 : { + if (!((HEAPU8[($4 + 1478 | 0) >> 0] | 0) & 1 | 0)) { + break label$27 + } + btTransform__operator__28btTransform_20const__29($4 + 700 | 0 | 0, btGeneric6DofConstraint__getCalculatedTransformA_28_29_20const(HEAP32[($4 + 764 | 0) >> 2] | 0 | 0) | 0 | 0) | 0; + (wasm2js_i32$0 = $4, wasm2js_i32$4 = btTransform__getOrigin_28_29_20const(btGeneric6DofConstraint__getCalculatedTransformB_28_29_20const(HEAP32[($4 + 764 | 0) >> 2] | 0 | 0) | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 696 | 0) >> 2] = wasm2js_i32$4; + btMatrix3x3__getColumn_28int_29_20const($4 + 680 | 0 | 0, btTransform__getBasis_28_29($4 + 700 | 0 | 0) | 0 | 0, 2 | 0); + btMatrix3x3__getColumn_28int_29_20const($4 + 664 | 0 | 0, btTransform__getBasis_28_29($4 + 700 | 0 | 0) | 0 | 0, 0 | 0); + (wasm2js_i32$0 = $4, wasm2js_f32$0 = Math_fround(HEAPF32[(btGeneric6DofConstraint__getRotationalLimitMotor_28int_29(HEAP32[($4 + 764 | 0) >> 2] | 0 | 0, 1 | 0) | 0) >> 2])), HEAPF32[(wasm2js_i32$0 + 660 | 0) >> 2] = wasm2js_f32$0; + (wasm2js_i32$0 = $4, wasm2js_f32$0 = Math_fround(HEAPF32[((btGeneric6DofConstraint__getRotationalLimitMotor_28int_29(HEAP32[($4 + 764 | 0) >> 2] | 0 | 0, 1 | 0) | 0) + 4 | 0) >> 2])), HEAPF32[(wasm2js_i32$0 + 656 | 0) >> 2] = wasm2js_f32$0; + (wasm2js_i32$0 = $4, wasm2js_f32$0 = Math_fround(HEAPF32[(btGeneric6DofConstraint__getRotationalLimitMotor_28int_29(HEAP32[($4 + 764 | 0) >> 2] | 0 | 0, 2 | 0) | 0) >> 2])), HEAPF32[(wasm2js_i32$0 + 652 | 0) >> 2] = wasm2js_f32$0; + (wasm2js_i32$0 = $4, wasm2js_f32$0 = Math_fround(HEAPF32[((btGeneric6DofConstraint__getRotationalLimitMotor_28int_29(HEAP32[($4 + 764 | 0) >> 2] | 0 | 0, 2 | 0) | 0) + 4 | 0) >> 2])), HEAPF32[(wasm2js_i32$0 + 648 | 0) >> 2] = wasm2js_f32$0; + $627 = FUNCTION_TABLE[HEAP32[((HEAP32[$5 >> 2] | 0) + 20 | 0) >> 2] | 0 | 0]($5) | 0; + FUNCTION_TABLE[HEAP32[((HEAP32[$627 >> 2] | 0) + 72 | 0) >> 2] | 0 | 0]($627, HEAP32[($4 + 696 | 0) >> 2] | 0, $4 + 680 | 0, $4 + 664 | 0, Math_fround(Math_fround(HEAPF32[($4 + 1472 | 0) >> 2]) * Math_fround(.8999999761581421)), Math_fround(HEAPF32[($4 + 660 | 0) >> 2]), Math_fround(HEAPF32[($4 + 656 | 0) >> 2]), Math_fround(HEAPF32[($4 + 652 | 0) >> 2]), Math_fround(HEAPF32[($4 + 648 | 0) >> 2]), $4 + 1480 | 0, Math_fround(10.0), 1 & 1 | 0); + btMatrix3x3__getColumn_28int_29_20const($4 + 632 | 0 | 0, btTransform__getBasis_28_29($4 + 700 | 0 | 0) | 0 | 0, 1 | 0); + $659 = 8; + i64toi32_i32$2 = ($4 + 632 | 0) + $659 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $2797 = i64toi32_i32$0; + i64toi32_i32$0 = ($4 + 664 | 0) + $659 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $2797; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$2 = $4; + i64toi32_i32$1 = HEAP32[($4 + 632 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($4 + 636 | 0) >> 2] | 0; + $2801 = i64toi32_i32$1; + i64toi32_i32$1 = $4; + HEAP32[($4 + 664 | 0) >> 2] = $2801; + HEAP32[($4 + 668 | 0) >> 2] = i64toi32_i32$0; + (wasm2js_i32$0 = $4, wasm2js_f32$0 = Math_fround(btGeneric6DofConstraint__getAngle_28int_29_20const(HEAP32[($4 + 764 | 0) >> 2] | 0 | 0, 1 | 0))), HEAPF32[(wasm2js_i32$0 + 628 | 0) >> 2] = wasm2js_f32$0; + (wasm2js_i32$0 = $4, wasm2js_f32$0 = Math_fround(btGeneric6DofConstraint__getAngle_28int_29_20const(HEAP32[($4 + 764 | 0) >> 2] | 0 | 0, 2 | 0))), HEAPF32[(wasm2js_i32$0 + 624 | 0) >> 2] = wasm2js_f32$0; + (wasm2js_i32$0 = $4, wasm2js_f32$0 = Math_fround(btCos_28float_29(Math_fround(Math_fround(HEAPF32[($4 + 628 | 0) >> 2]))))), HEAPF32[(wasm2js_i32$0 + 620 | 0) >> 2] = wasm2js_f32$0; + (wasm2js_i32$0 = $4, wasm2js_f32$0 = Math_fround(btSin_28float_29(Math_fround(Math_fround(HEAPF32[($4 + 628 | 0) >> 2]))))), HEAPF32[(wasm2js_i32$0 + 616 | 0) >> 2] = wasm2js_f32$0; + (wasm2js_i32$0 = $4, wasm2js_f32$0 = Math_fround(btCos_28float_29(Math_fround(Math_fround(HEAPF32[($4 + 624 | 0) >> 2]))))), HEAPF32[(wasm2js_i32$0 + 612 | 0) >> 2] = wasm2js_f32$0; + (wasm2js_i32$0 = $4, wasm2js_f32$0 = Math_fround(btSin_28float_29(Math_fround(Math_fround(HEAPF32[($4 + 624 | 0) >> 2]))))), HEAPF32[(wasm2js_i32$0 + 608 | 0) >> 2] = wasm2js_f32$0; + btVector3__btVector3_28_29($4 + 592 | 0 | 0) | 0; + $703 = Math_fround(Math_fround(Math_fround(Math_fround(HEAPF32[($4 + 620 | 0) >> 2]) * Math_fround(HEAPF32[($4 + 612 | 0) >> 2])) * Math_fround(HEAPF32[(btVector3__operator_20float__28_29($4 + 664 | 0 | 0) | 0) >> 2])) + Math_fround(Math_fround(Math_fround(HEAPF32[($4 + 620 | 0) >> 2]) * Math_fround(HEAPF32[($4 + 608 | 0) >> 2])) * Math_fround(HEAPF32[((btVector3__operator_20float__28_29($4 + 664 | 0 | 0) | 0) + 4 | 0) >> 2]))); + $712 = Math_fround(Math_fround(Math_fround(-Math_fround(HEAPF32[($4 + 616 | 0) >> 2])) * Math_fround(HEAPF32[((btVector3__operator_20float__28_29($4 + 664 | 0 | 0) | 0) + 8 | 0) >> 2])) + $703); + (wasm2js_i32$0 = btVector3__operator_20float__28_29($4 + 592 | 0 | 0) | 0, wasm2js_f32$0 = $712), HEAPF32[wasm2js_i32$0 >> 2] = wasm2js_f32$0; + $732 = Math_fround(Math_fround(Math_fround(-Math_fround(HEAPF32[($4 + 608 | 0) >> 2])) * Math_fround(HEAPF32[(btVector3__operator_20float__28_29($4 + 664 | 0 | 0) | 0) >> 2])) + Math_fround(Math_fround(HEAPF32[($4 + 612 | 0) >> 2]) * Math_fround(HEAPF32[((btVector3__operator_20float__28_29($4 + 664 | 0 | 0) | 0) + 4 | 0) >> 2]))); + (wasm2js_i32$0 = btVector3__operator_20float__28_29($4 + 592 | 0 | 0) | 0, wasm2js_f32$0 = $732), HEAPF32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_f32$0; + $755 = Math_fround(Math_fround(Math_fround(Math_fround(HEAPF32[($4 + 612 | 0) >> 2]) * Math_fround(HEAPF32[($4 + 616 | 0) >> 2])) * Math_fround(HEAPF32[(btVector3__operator_20float__28_29($4 + 664 | 0 | 0) | 0) >> 2])) + Math_fround(Math_fround(Math_fround(HEAPF32[($4 + 608 | 0) >> 2]) * Math_fround(HEAPF32[($4 + 616 | 0) >> 2])) * Math_fround(HEAPF32[((btVector3__operator_20float__28_29($4 + 664 | 0 | 0) | 0) + 4 | 0) >> 2]))); + $763 = Math_fround(Math_fround(Math_fround(HEAPF32[($4 + 620 | 0) >> 2]) * Math_fround(HEAPF32[((btVector3__operator_20float__28_29($4 + 664 | 0 | 0) | 0) + 8 | 0) >> 2])) + $755); + (wasm2js_i32$0 = btVector3__operator_20float__28_29($4 + 592 | 0 | 0) | 0, wasm2js_f32$0 = $763), HEAPF32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_f32$0; + btTransform__operator__28btTransform_20const__29($4 + 700 | 0 | 0, btGeneric6DofConstraint__getCalculatedTransformB_28_29_20const(HEAP32[($4 + 764 | 0) >> 2] | 0 | 0) | 0 | 0) | 0; + btMatrix3x3__getColumn_28int_29_20const($4 + 560 | 0 | 0, btTransform__getBasis_28_29($4 + 700 | 0 | 0) | 0 | 0, 0 | 0); + operator__28btVector3_20const__29($4 + 576 | 0 | 0, $4 + 560 | 0 | 0); + (wasm2js_i32$0 = $4, wasm2js_f32$0 = Math_fround(HEAPF32[(btGeneric6DofConstraint__getRotationalLimitMotor_28int_29(HEAP32[($4 + 764 | 0) >> 2] | 0 | 0, 0 | 0) | 0) >> 2])), HEAPF32[(wasm2js_i32$0 + 556 | 0) >> 2] = wasm2js_f32$0; + (wasm2js_i32$0 = $4, wasm2js_f32$0 = Math_fround(HEAPF32[((btGeneric6DofConstraint__getRotationalLimitMotor_28int_29(HEAP32[($4 + 764 | 0) >> 2] | 0 | 0, 0 | 0) | 0) + 4 | 0) >> 2])), HEAPF32[(wasm2js_i32$0 + 552 | 0) >> 2] = wasm2js_f32$0; + label$28 : { + label$29 : { + if (!(Math_fround(HEAPF32[($4 + 556 | 0) >> 2]) > Math_fround(HEAPF32[($4 + 552 | 0) >> 2]) & 1 | 0)) { + break label$29 + } + $802 = FUNCTION_TABLE[HEAP32[((HEAP32[$5 >> 2] | 0) + 20 | 0) >> 2] | 0 | 0]($5) | 0; + FUNCTION_TABLE[HEAP32[((HEAP32[$802 >> 2] | 0) + 68 | 0) >> 2] | 0 | 0]($802, HEAP32[($4 + 696 | 0) >> 2] | 0, $4 + 576 | 0, $4 + 592 | 0, Math_fround(HEAPF32[($4 + 1472 | 0) >> 2]), Math_fround(HEAPF32[($4 + 1472 | 0) >> 2]), Math_fround(-3.1415927410125732), Math_fround(3.1415927410125732), $4 + 1480 | 0, 0 & 1 | 0, Math_fround(10.0)); + break label$28; + } + label$30 : { + if (!(Math_fround(HEAPF32[($4 + 556 | 0) >> 2]) < Math_fround(HEAPF32[($4 + 552 | 0) >> 2]) & 1 | 0)) { + break label$30 + } + $830 = FUNCTION_TABLE[HEAP32[((HEAP32[$5 >> 2] | 0) + 20 | 0) >> 2] | 0 | 0]($5) | 0; + FUNCTION_TABLE[HEAP32[((HEAP32[$830 >> 2] | 0) + 68 | 0) >> 2] | 0 | 0]($830, HEAP32[($4 + 696 | 0) >> 2] | 0, $4 + 576 | 0, $4 + 592 | 0, Math_fround(HEAPF32[($4 + 1472 | 0) >> 2]), Math_fround(HEAPF32[($4 + 1472 | 0) >> 2]), Math_fround(HEAPF32[($4 + 556 | 0) >> 2]), Math_fround(HEAPF32[($4 + 552 | 0) >> 2]), $4 + 1480 | 0, 1 & 1 | 0, Math_fround(10.0)); + } + } + btTransform__operator__28btTransform_20const__29($4 + 700 | 0 | 0, btGeneric6DofConstraint__getCalculatedTransformA_28_29_20const(HEAP32[($4 + 764 | 0) >> 2] | 0 | 0) | 0 | 0) | 0; + $857 = btGeneric6DofConstraint__getTranslationalLimitMotor_28_29(HEAP32[($4 + 764 | 0) >> 2] | 0 | 0) | 0; + $858 = 8; + i64toi32_i32$2 = $857 + $858 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $3208 = i64toi32_i32$0; + i64toi32_i32$0 = ($4 + 536 | 0) + $858 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $3208; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$2 = $857; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $3212 = i64toi32_i32$1; + i64toi32_i32$1 = $4; + HEAP32[($4 + 536 | 0) >> 2] = $3212; + HEAP32[($4 + 540 | 0) >> 2] = i64toi32_i32$0; + $868 = (btGeneric6DofConstraint__getTranslationalLimitMotor_28_29(HEAP32[($4 + 764 | 0) >> 2] | 0 | 0) | 0) + 16 | 0; + $869 = 8; + i64toi32_i32$2 = $868 + $869 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $3232 = i64toi32_i32$0; + i64toi32_i32$0 = ($4 + 520 | 0) + $869 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $3232; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$2 = $868; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $3236 = i64toi32_i32$1; + i64toi32_i32$1 = $4; + HEAP32[($4 + 520 | 0) >> 2] = $3236; + HEAP32[($4 + 524 | 0) >> 2] = i64toi32_i32$0; + $878 = FUNCTION_TABLE[HEAP32[((HEAP32[$5 >> 2] | 0) + 20 | 0) >> 2] | 0 | 0]($5) | 0; + FUNCTION_TABLE[HEAP32[((HEAP32[$878 >> 2] | 0) + 80 | 0) >> 2] | 0 | 0]($878, $4 + 536 | 0, $4 + 520 | 0, $4 + 700 | 0, $4 + 1480 | 0); + } + break label$3; + case 9: + HEAP32[($4 + 516 | 0) >> 2] = HEAP32[($4 + 1624 | 0) >> 2] | 0; + btTransform__btTransform_28btTransform_20const__29($4 + 452 | 0 | 0, btGeneric6DofSpring2Constraint__getCalculatedTransformA_28_29_20const(HEAP32[($4 + 516 | 0) >> 2] | 0 | 0) | 0 | 0) | 0; + label$31 : { + if (!((HEAPU8[($4 + 1479 | 0) >> 0] | 0) & 1 | 0)) { + break label$31 + } + $904 = FUNCTION_TABLE[HEAP32[((HEAP32[$5 >> 2] | 0) + 20 | 0) >> 2] | 0 | 0]($5) | 0; + FUNCTION_TABLE[HEAP32[((HEAP32[$904 >> 2] | 0) + 64 | 0) >> 2] | 0 | 0]($904, $4 + 452 | 0, Math_fround(HEAPF32[($4 + 1472 | 0) >> 2])); + } + btTransform__operator__28btTransform_20const__29($4 + 452 | 0 | 0, btGeneric6DofSpring2Constraint__getCalculatedTransformB_28_29_20const(HEAP32[($4 + 516 | 0) >> 2] | 0 | 0) | 0 | 0) | 0; + label$32 : { + if (!((HEAPU8[($4 + 1479 | 0) >> 0] | 0) & 1 | 0)) { + break label$32 + } + $921 = FUNCTION_TABLE[HEAP32[((HEAP32[$5 >> 2] | 0) + 20 | 0) >> 2] | 0 | 0]($5) | 0; + FUNCTION_TABLE[HEAP32[((HEAP32[$921 >> 2] | 0) + 64 | 0) >> 2] | 0 | 0]($921, $4 + 452 | 0, Math_fround(HEAPF32[($4 + 1472 | 0) >> 2])); + } + label$33 : { + if (!((HEAPU8[($4 + 1478 | 0) >> 0] | 0) & 1 | 0)) { + break label$33 + } + btTransform__operator__28btTransform_20const__29($4 + 452 | 0 | 0, btGeneric6DofSpring2Constraint__getCalculatedTransformA_28_29_20const(HEAP32[($4 + 516 | 0) >> 2] | 0 | 0) | 0 | 0) | 0; + (wasm2js_i32$0 = $4, wasm2js_i32$4 = btTransform__getOrigin_28_29_20const(btGeneric6DofSpring2Constraint__getCalculatedTransformB_28_29_20const(HEAP32[($4 + 516 | 0) >> 2] | 0 | 0) | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 448 | 0) >> 2] = wasm2js_i32$4; + btMatrix3x3__getColumn_28int_29_20const($4 + 432 | 0 | 0, btTransform__getBasis_28_29($4 + 452 | 0 | 0) | 0 | 0, 2 | 0); + btMatrix3x3__getColumn_28int_29_20const($4 + 416 | 0 | 0, btTransform__getBasis_28_29($4 + 452 | 0 | 0) | 0 | 0, 0 | 0); + (wasm2js_i32$0 = $4, wasm2js_f32$0 = Math_fround(HEAPF32[(btGeneric6DofSpring2Constraint__getRotationalLimitMotor_28int_29(HEAP32[($4 + 516 | 0) >> 2] | 0 | 0, 1 | 0) | 0) >> 2])), HEAPF32[(wasm2js_i32$0 + 412 | 0) >> 2] = wasm2js_f32$0; + (wasm2js_i32$0 = $4, wasm2js_f32$0 = Math_fround(HEAPF32[((btGeneric6DofSpring2Constraint__getRotationalLimitMotor_28int_29(HEAP32[($4 + 516 | 0) >> 2] | 0 | 0, 1 | 0) | 0) + 4 | 0) >> 2])), HEAPF32[(wasm2js_i32$0 + 408 | 0) >> 2] = wasm2js_f32$0; + (wasm2js_i32$0 = $4, wasm2js_f32$0 = Math_fround(HEAPF32[(btGeneric6DofSpring2Constraint__getRotationalLimitMotor_28int_29(HEAP32[($4 + 516 | 0) >> 2] | 0 | 0, 2 | 0) | 0) >> 2])), HEAPF32[(wasm2js_i32$0 + 404 | 0) >> 2] = wasm2js_f32$0; + (wasm2js_i32$0 = $4, wasm2js_f32$0 = Math_fround(HEAPF32[((btGeneric6DofSpring2Constraint__getRotationalLimitMotor_28int_29(HEAP32[($4 + 516 | 0) >> 2] | 0 | 0, 2 | 0) | 0) + 4 | 0) >> 2])), HEAPF32[(wasm2js_i32$0 + 400 | 0) >> 2] = wasm2js_f32$0; + $973 = FUNCTION_TABLE[HEAP32[((HEAP32[$5 >> 2] | 0) + 20 | 0) >> 2] | 0 | 0]($5) | 0; + FUNCTION_TABLE[HEAP32[((HEAP32[$973 >> 2] | 0) + 72 | 0) >> 2] | 0 | 0]($973, HEAP32[($4 + 448 | 0) >> 2] | 0, $4 + 432 | 0, $4 + 416 | 0, Math_fround(Math_fround(HEAPF32[($4 + 1472 | 0) >> 2]) * Math_fround(.8999999761581421)), Math_fround(HEAPF32[($4 + 412 | 0) >> 2]), Math_fround(HEAPF32[($4 + 408 | 0) >> 2]), Math_fround(HEAPF32[($4 + 404 | 0) >> 2]), Math_fround(HEAPF32[($4 + 400 | 0) >> 2]), $4 + 1480 | 0, Math_fround(10.0), 1 & 1 | 0); + btMatrix3x3__getColumn_28int_29_20const($4 + 384 | 0 | 0, btTransform__getBasis_28_29($4 + 452 | 0 | 0) | 0 | 0, 1 | 0); + $1005 = 8; + i64toi32_i32$2 = ($4 + 384 | 0) + $1005 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $3522 = i64toi32_i32$0; + i64toi32_i32$0 = ($4 + 416 | 0) + $1005 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $3522; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$2 = $4; + i64toi32_i32$1 = HEAP32[($4 + 384 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($4 + 388 | 0) >> 2] | 0; + $3526 = i64toi32_i32$1; + i64toi32_i32$1 = $4; + HEAP32[($4 + 416 | 0) >> 2] = $3526; + HEAP32[($4 + 420 | 0) >> 2] = i64toi32_i32$0; + (wasm2js_i32$0 = $4, wasm2js_f32$0 = Math_fround(btGeneric6DofSpring2Constraint__getAngle_28int_29_20const(HEAP32[($4 + 516 | 0) >> 2] | 0 | 0, 1 | 0))), HEAPF32[(wasm2js_i32$0 + 380 | 0) >> 2] = wasm2js_f32$0; + (wasm2js_i32$0 = $4, wasm2js_f32$0 = Math_fround(btGeneric6DofSpring2Constraint__getAngle_28int_29_20const(HEAP32[($4 + 516 | 0) >> 2] | 0 | 0, 2 | 0))), HEAPF32[(wasm2js_i32$0 + 376 | 0) >> 2] = wasm2js_f32$0; + (wasm2js_i32$0 = $4, wasm2js_f32$0 = Math_fround(btCos_28float_29(Math_fround(Math_fround(HEAPF32[($4 + 380 | 0) >> 2]))))), HEAPF32[(wasm2js_i32$0 + 372 | 0) >> 2] = wasm2js_f32$0; + (wasm2js_i32$0 = $4, wasm2js_f32$0 = Math_fround(btSin_28float_29(Math_fround(Math_fround(HEAPF32[($4 + 380 | 0) >> 2]))))), HEAPF32[(wasm2js_i32$0 + 368 | 0) >> 2] = wasm2js_f32$0; + (wasm2js_i32$0 = $4, wasm2js_f32$0 = Math_fround(btCos_28float_29(Math_fround(Math_fround(HEAPF32[($4 + 376 | 0) >> 2]))))), HEAPF32[(wasm2js_i32$0 + 364 | 0) >> 2] = wasm2js_f32$0; + (wasm2js_i32$0 = $4, wasm2js_f32$0 = Math_fround(btSin_28float_29(Math_fround(Math_fround(HEAPF32[($4 + 376 | 0) >> 2]))))), HEAPF32[(wasm2js_i32$0 + 360 | 0) >> 2] = wasm2js_f32$0; + btVector3__btVector3_28_29($4 + 344 | 0 | 0) | 0; + $1049 = Math_fround(Math_fround(Math_fround(Math_fround(HEAPF32[($4 + 372 | 0) >> 2]) * Math_fround(HEAPF32[($4 + 364 | 0) >> 2])) * Math_fround(HEAPF32[(btVector3__operator_20float__28_29($4 + 416 | 0 | 0) | 0) >> 2])) + Math_fround(Math_fround(Math_fround(HEAPF32[($4 + 372 | 0) >> 2]) * Math_fround(HEAPF32[($4 + 360 | 0) >> 2])) * Math_fround(HEAPF32[((btVector3__operator_20float__28_29($4 + 416 | 0 | 0) | 0) + 4 | 0) >> 2]))); + $1058 = Math_fround(Math_fround(Math_fround(-Math_fround(HEAPF32[($4 + 368 | 0) >> 2])) * Math_fround(HEAPF32[((btVector3__operator_20float__28_29($4 + 416 | 0 | 0) | 0) + 8 | 0) >> 2])) + $1049); + (wasm2js_i32$0 = btVector3__operator_20float__28_29($4 + 344 | 0 | 0) | 0, wasm2js_f32$0 = $1058), HEAPF32[wasm2js_i32$0 >> 2] = wasm2js_f32$0; + $1078 = Math_fround(Math_fround(Math_fround(-Math_fround(HEAPF32[($4 + 360 | 0) >> 2])) * Math_fround(HEAPF32[(btVector3__operator_20float__28_29($4 + 416 | 0 | 0) | 0) >> 2])) + Math_fround(Math_fround(HEAPF32[($4 + 364 | 0) >> 2]) * Math_fround(HEAPF32[((btVector3__operator_20float__28_29($4 + 416 | 0 | 0) | 0) + 4 | 0) >> 2]))); + (wasm2js_i32$0 = btVector3__operator_20float__28_29($4 + 344 | 0 | 0) | 0, wasm2js_f32$0 = $1078), HEAPF32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_f32$0; + $1101 = Math_fround(Math_fround(Math_fround(Math_fround(HEAPF32[($4 + 364 | 0) >> 2]) * Math_fround(HEAPF32[($4 + 368 | 0) >> 2])) * Math_fround(HEAPF32[(btVector3__operator_20float__28_29($4 + 416 | 0 | 0) | 0) >> 2])) + Math_fround(Math_fround(Math_fround(HEAPF32[($4 + 360 | 0) >> 2]) * Math_fround(HEAPF32[($4 + 368 | 0) >> 2])) * Math_fround(HEAPF32[((btVector3__operator_20float__28_29($4 + 416 | 0 | 0) | 0) + 4 | 0) >> 2]))); + $1109 = Math_fround(Math_fround(Math_fround(HEAPF32[($4 + 372 | 0) >> 2]) * Math_fround(HEAPF32[((btVector3__operator_20float__28_29($4 + 416 | 0 | 0) | 0) + 8 | 0) >> 2])) + $1101); + (wasm2js_i32$0 = btVector3__operator_20float__28_29($4 + 344 | 0 | 0) | 0, wasm2js_f32$0 = $1109), HEAPF32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_f32$0; + btTransform__operator__28btTransform_20const__29($4 + 452 | 0 | 0, btGeneric6DofSpring2Constraint__getCalculatedTransformB_28_29_20const(HEAP32[($4 + 516 | 0) >> 2] | 0 | 0) | 0 | 0) | 0; + btMatrix3x3__getColumn_28int_29_20const($4 + 312 | 0 | 0, btTransform__getBasis_28_29($4 + 452 | 0 | 0) | 0 | 0, 0 | 0); + operator__28btVector3_20const__29($4 + 328 | 0 | 0, $4 + 312 | 0 | 0); + (wasm2js_i32$0 = $4, wasm2js_f32$0 = Math_fround(HEAPF32[(btGeneric6DofSpring2Constraint__getRotationalLimitMotor_28int_29(HEAP32[($4 + 516 | 0) >> 2] | 0 | 0, 0 | 0) | 0) >> 2])), HEAPF32[(wasm2js_i32$0 + 308 | 0) >> 2] = wasm2js_f32$0; + (wasm2js_i32$0 = $4, wasm2js_f32$0 = Math_fround(HEAPF32[((btGeneric6DofSpring2Constraint__getRotationalLimitMotor_28int_29(HEAP32[($4 + 516 | 0) >> 2] | 0 | 0, 0 | 0) | 0) + 4 | 0) >> 2])), HEAPF32[(wasm2js_i32$0 + 304 | 0) >> 2] = wasm2js_f32$0; + label$34 : { + label$35 : { + if (!(Math_fround(HEAPF32[($4 + 308 | 0) >> 2]) > Math_fround(HEAPF32[($4 + 304 | 0) >> 2]) & 1 | 0)) { + break label$35 + } + $1148 = FUNCTION_TABLE[HEAP32[((HEAP32[$5 >> 2] | 0) + 20 | 0) >> 2] | 0 | 0]($5) | 0; + FUNCTION_TABLE[HEAP32[((HEAP32[$1148 >> 2] | 0) + 68 | 0) >> 2] | 0 | 0]($1148, HEAP32[($4 + 448 | 0) >> 2] | 0, $4 + 328 | 0, $4 + 344 | 0, Math_fround(HEAPF32[($4 + 1472 | 0) >> 2]), Math_fround(HEAPF32[($4 + 1472 | 0) >> 2]), Math_fround(-3.1415927410125732), Math_fround(3.1415927410125732), $4 + 1480 | 0, 0 & 1 | 0, Math_fround(10.0)); + break label$34; + } + label$36 : { + if (!(Math_fround(HEAPF32[($4 + 308 | 0) >> 2]) < Math_fround(HEAPF32[($4 + 304 | 0) >> 2]) & 1 | 0)) { + break label$36 + } + $1176 = FUNCTION_TABLE[HEAP32[((HEAP32[$5 >> 2] | 0) + 20 | 0) >> 2] | 0 | 0]($5) | 0; + FUNCTION_TABLE[HEAP32[((HEAP32[$1176 >> 2] | 0) + 68 | 0) >> 2] | 0 | 0]($1176, HEAP32[($4 + 448 | 0) >> 2] | 0, $4 + 328 | 0, $4 + 344 | 0, Math_fround(HEAPF32[($4 + 1472 | 0) >> 2]), Math_fround(HEAPF32[($4 + 1472 | 0) >> 2]), Math_fround(HEAPF32[($4 + 308 | 0) >> 2]), Math_fround(HEAPF32[($4 + 304 | 0) >> 2]), $4 + 1480 | 0, 1 & 1 | 0, Math_fround(10.0)); + } + } + btTransform__operator__28btTransform_20const__29($4 + 452 | 0 | 0, btGeneric6DofSpring2Constraint__getCalculatedTransformA_28_29_20const(HEAP32[($4 + 516 | 0) >> 2] | 0 | 0) | 0 | 0) | 0; + $1203 = btGeneric6DofSpring2Constraint__getTranslationalLimitMotor_28_29(HEAP32[($4 + 516 | 0) >> 2] | 0 | 0) | 0; + $1204 = 8; + i64toi32_i32$2 = $1203 + $1204 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $3933 = i64toi32_i32$0; + i64toi32_i32$0 = ($4 + 288 | 0) + $1204 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $3933; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$2 = $1203; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $3937 = i64toi32_i32$1; + i64toi32_i32$1 = $4; + HEAP32[($4 + 288 | 0) >> 2] = $3937; + HEAP32[($4 + 292 | 0) >> 2] = i64toi32_i32$0; + $1214 = (btGeneric6DofSpring2Constraint__getTranslationalLimitMotor_28_29(HEAP32[($4 + 516 | 0) >> 2] | 0 | 0) | 0) + 16 | 0; + $1215 = 8; + i64toi32_i32$2 = $1214 + $1215 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $3957 = i64toi32_i32$0; + i64toi32_i32$0 = ($4 + 272 | 0) + $1215 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $3957; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$2 = $1214; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $3961 = i64toi32_i32$1; + i64toi32_i32$1 = $4; + HEAP32[($4 + 272 | 0) >> 2] = $3961; + HEAP32[($4 + 276 | 0) >> 2] = i64toi32_i32$0; + $1224 = FUNCTION_TABLE[HEAP32[((HEAP32[$5 >> 2] | 0) + 20 | 0) >> 2] | 0 | 0]($5) | 0; + FUNCTION_TABLE[HEAP32[((HEAP32[$1224 >> 2] | 0) + 80 | 0) >> 2] | 0 | 0]($1224, $4 + 288 | 0, $4 + 272 | 0, $4 + 452 | 0, $4 + 1480 | 0); + } + break label$3; + case 4: + HEAP32[($4 + 268 | 0) >> 2] = HEAP32[($4 + 1624 | 0) >> 2] | 0; + btTransform__btTransform_28btTransform_20const__29($4 + 204 | 0 | 0, btSliderConstraint__getCalculatedTransformA_28_29_20const(HEAP32[($4 + 268 | 0) >> 2] | 0 | 0) | 0 | 0) | 0; + label$37 : { + if (!((HEAPU8[($4 + 1479 | 0) >> 0] | 0) & 1 | 0)) { + break label$37 + } + $1250 = FUNCTION_TABLE[HEAP32[((HEAP32[$5 >> 2] | 0) + 20 | 0) >> 2] | 0 | 0]($5) | 0; + FUNCTION_TABLE[HEAP32[((HEAP32[$1250 >> 2] | 0) + 64 | 0) >> 2] | 0 | 0]($1250, $4 + 204 | 0, Math_fround(HEAPF32[($4 + 1472 | 0) >> 2])); + } + btTransform__operator__28btTransform_20const__29($4 + 204 | 0 | 0, btSliderConstraint__getCalculatedTransformB_28_29_20const(HEAP32[($4 + 268 | 0) >> 2] | 0 | 0) | 0 | 0) | 0; + label$38 : { + if (!((HEAPU8[($4 + 1479 | 0) >> 0] | 0) & 1 | 0)) { + break label$38 + } + $1267 = FUNCTION_TABLE[HEAP32[((HEAP32[$5 >> 2] | 0) + 20 | 0) >> 2] | 0 | 0]($5) | 0; + FUNCTION_TABLE[HEAP32[((HEAP32[$1267 >> 2] | 0) + 64 | 0) >> 2] | 0 | 0]($1267, $4 + 204 | 0, Math_fround(HEAPF32[($4 + 1472 | 0) >> 2])); + } + label$39 : { + if (!((HEAPU8[($4 + 1478 | 0) >> 0] | 0) & 1 | 0)) { + break label$39 + } + label$40 : { + label$41 : { + if (!((btSliderConstraint__getUseLinearReferenceFrameA_28_29(HEAP32[($4 + 268 | 0) >> 2] | 0 | 0) | 0) & 1 | 0)) { + break label$41 + } + $1283 = btSliderConstraint__getCalculatedTransformA_28_29_20const(HEAP32[($4 + 268 | 0) >> 2] | 0 | 0) | 0; + break label$40; + } + $1283 = btSliderConstraint__getCalculatedTransformB_28_29_20const(HEAP32[($4 + 268 | 0) >> 2] | 0 | 0) | 0; + } + btTransform__btTransform_28btTransform_20const__29($4 + 140 | 0 | 0, $1283 | 0) | 0; + (wasm2js_i32$0 = $4, wasm2js_f32$0 = Math_fround(btSliderConstraint__getLowerLinLimit_28_29(HEAP32[($4 + 268 | 0) >> 2] | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 104 | 0) >> 2] = wasm2js_f32$0; + HEAPF32[($4 + 100 | 0) >> 2] = Math_fround(0 | 0); + HEAPF32[($4 + 96 | 0) >> 2] = Math_fround(0 | 0); + btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($4 + 108 | 0 | 0, $4 + 104 | 0 | 0, $4 + 100 | 0 | 0, $4 + 96 | 0 | 0) | 0; + btTransform__operator__28btVector3_20const__29_20const($4 + 124 | 0 | 0, $4 + 140 | 0 | 0, $4 + 108 | 0 | 0); + (wasm2js_i32$0 = $4, wasm2js_f32$0 = Math_fround(btSliderConstraint__getUpperLinLimit_28_29(HEAP32[($4 + 268 | 0) >> 2] | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 60 | 0) >> 2] = wasm2js_f32$0; + HEAPF32[($4 + 56 | 0) >> 2] = Math_fround(0 | 0); + HEAPF32[($4 + 52 | 0) >> 2] = Math_fround(0 | 0); + btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($4 + 64 | 0 | 0, $4 + 60 | 0 | 0, $4 + 56 | 0 | 0, $4 + 52 | 0 | 0) | 0; + btTransform__operator__28btVector3_20const__29_20const($4 + 80 | 0 | 0, $4 + 140 | 0 | 0, $4 + 64 | 0 | 0); + $1346 = FUNCTION_TABLE[HEAP32[((HEAP32[$5 >> 2] | 0) + 20 | 0) >> 2] | 0 | 0]($5) | 0; + FUNCTION_TABLE[HEAP32[((HEAP32[$1346 >> 2] | 0) + 16 | 0) >> 2] | 0 | 0]($1346, $4 + 124 | 0, $4 + 80 | 0, $4 + 1480 | 0); + btMatrix3x3__getColumn_28int_29_20const($4 + 36 | 0 | 0, btTransform__getBasis_28_29($4 + 140 | 0 | 0) | 0 | 0, 0 | 0); + btMatrix3x3__getColumn_28int_29_20const($4 + 20 | 0 | 0, btTransform__getBasis_28_29($4 + 140 | 0 | 0) | 0 | 0, 1 | 0); + (wasm2js_i32$0 = $4, wasm2js_f32$0 = Math_fround(btSliderConstraint__getLowerAngLimit_28_29(HEAP32[($4 + 268 | 0) >> 2] | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_f32$0; + (wasm2js_i32$0 = $4, wasm2js_f32$0 = Math_fround(btSliderConstraint__getUpperAngLimit_28_29(HEAP32[($4 + 268 | 0) >> 2] | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_f32$0; + (wasm2js_i32$0 = $4, wasm2js_i32$4 = btTransform__getOrigin_28_29_20const(btSliderConstraint__getCalculatedTransformB_28_29_20const(HEAP32[($4 + 268 | 0) >> 2] | 0 | 0) | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$4; + $1383 = FUNCTION_TABLE[HEAP32[((HEAP32[$5 >> 2] | 0) + 20 | 0) >> 2] | 0 | 0]($5) | 0; + FUNCTION_TABLE[HEAP32[((HEAP32[$1383 >> 2] | 0) + 68 | 0) >> 2] | 0 | 0]($1383, HEAP32[($4 + 8 | 0) >> 2] | 0, $4 + 36 | 0, $4 + 20 | 0, Math_fround(HEAPF32[($4 + 1472 | 0) >> 2]), Math_fround(HEAPF32[($4 + 1472 | 0) >> 2]), Math_fround(HEAPF32[($4 + 16 | 0) >> 2]), Math_fround(HEAPF32[($4 + 12 | 0) >> 2]), $4 + 1480 | 0, 1 & 1 | 0, Math_fround(10.0)); + } + break label$3; + default: + break label$4; + }; + } + } + } + __stack_pointer = $4 + 1632 | 0; + return; + } + + function btTypedConstraint__getConstraintType_28_29_20const($0) { + $0 = $0 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + return HEAP32[((HEAP32[($3 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0; + } + + function btHingeConstraint__getAFrame_28_29($0) { + $0 = $0 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + return (HEAP32[($3 + 12 | 0) >> 2] | 0) + 552 | 0 | 0; + } + + function btHingeConstraint__getBFrame_28_29($0) { + $0 = $0 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + return (HEAP32[($3 + 12 | 0) >> 2] | 0) + 616 | 0 | 0; + } + + function btHingeConstraint__hasLimit_28_29_20const($0) { + $0 = $0 | 0; + var $3 = 0, $12 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $12 = Math_fround(btAngularLimit__getHalfRange_28_29_20const((HEAP32[($3 + 12 | 0) >> 2] | 0) + 688 | 0 | 0)) > Math_fround(0 | 0) & 1 | 0; + __stack_pointer = $3 + 16 | 0; + return $12 | 0; + } + + function btConeTwistConstraint__getRigidBodyA_28_29_20const($0) { + $0 = $0 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + return HEAP32[((HEAP32[($3 + 12 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0 | 0; + } + + function btConeTwistConstraint__getAFrame_28_29_20const($0) { + $0 = $0 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + return (HEAP32[($3 + 12 | 0) >> 2] | 0) + 300 | 0 | 0; + } + + function btConeTwistConstraint__getRigidBodyB_28_29_20const($0) { + $0 = $0 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + return HEAP32[((HEAP32[($3 + 12 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0 | 0; + } + + function btConeTwistConstraint__getBFrame_28_29_20const($0) { + $0 = $0 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + return (HEAP32[($3 + 12 | 0) >> 2] | 0) + 364 | 0 | 0; + } + + function btConeTwistConstraint__getTwistSpan_28_29_20const($0) { + $0 = $0 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + return Math_fround(Math_fround(HEAPF32[((HEAP32[($3 + 12 | 0) >> 2] | 0) + 452 | 0) >> 2])); + } + + function btConeTwistConstraint__getTwistAngle_28_29_20const($0) { + $0 = $0 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + return Math_fround(Math_fround(HEAPF32[((HEAP32[($3 + 12 | 0) >> 2] | 0) + 512 | 0) >> 2])); + } + + function btGeneric6DofConstraint__getCalculatedTransformA_28_29_20const($0) { + $0 = $0 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + return (HEAP32[($3 + 12 | 0) >> 2] | 0) + 1064 | 0 | 0; + } + + function btGeneric6DofConstraint__getCalculatedTransformB_28_29_20const($0) { + $0 = $0 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + return (HEAP32[($3 + 12 | 0) >> 2] | 0) + 1128 | 0 | 0; + } + + function btGeneric6DofConstraint__getRotationalLimitMotor_28int_29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0; + $4 = __stack_pointer - 16 | 0; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + return ((HEAP32[($4 + 12 | 0) >> 2] | 0) + 868 | 0) + ((HEAP32[($4 + 8 | 0) >> 2] | 0) << 6 | 0) | 0 | 0; + } + + function btGeneric6DofConstraint__getTranslationalLimitMotor_28_29($0) { + $0 = $0 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + return (HEAP32[($3 + 12 | 0) >> 2] | 0) + 680 | 0 | 0; + } + + function btGeneric6DofSpring2Constraint__getCalculatedTransformA_28_29_20const($0) { + $0 = $0 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + return (HEAP32[($3 + 12 | 0) >> 2] | 0) + 1236 | 0 | 0; + } + + function btGeneric6DofSpring2Constraint__getCalculatedTransformB_28_29_20const($0) { + $0 = $0 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + return (HEAP32[($3 + 12 | 0) >> 2] | 0) + 1300 | 0 | 0; + } + + function btGeneric6DofSpring2Constraint__getRotationalLimitMotor_28int_29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0; + $4 = __stack_pointer - 16 | 0; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + return ((HEAP32[($4 + 12 | 0) >> 2] | 0) + 968 | 0) + Math_imul(HEAP32[($4 + 8 | 0) >> 2] | 0, 88) | 0 | 0; + } + + function btGeneric6DofSpring2Constraint__getAngle_28int_29_20const($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, $13 = Math_fround(0); + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + $13 = Math_fround(HEAPF32[((btVector3__operator_20float_20const__28_29_20const((HEAP32[($4 + 12 | 0) >> 2] | 0) + 1364 | 0 | 0) | 0) + ((HEAP32[($4 + 8 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2]); + __stack_pointer = $4 + 16 | 0; + return Math_fround($13); + } + + function btGeneric6DofSpring2Constraint__getTranslationalLimitMotor_28_29($0) { + $0 = $0 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + return (HEAP32[($3 + 12 | 0) >> 2] | 0) + 680 | 0 | 0; + } + + function btSliderConstraint__getCalculatedTransformA_28_29_20const($0) { + $0 = $0 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + return (HEAP32[($3 + 12 | 0) >> 2] | 0) + 824 | 0 | 0; + } + + function btSliderConstraint__getCalculatedTransformB_28_29_20const($0) { + $0 = $0 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + return (HEAP32[($3 + 12 | 0) >> 2] | 0) + 888 | 0 | 0; + } + + function btSliderConstraint__getUseLinearReferenceFrameA_28_29($0) { + $0 = $0 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + return (HEAPU8[((HEAP32[($3 + 12 | 0) >> 2] | 0) + 180 | 0) >> 0] | 0) & 1 | 0 | 0; + } + + function btSliderConstraint__getLowerLinLimit_28_29($0) { + $0 = $0 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + return Math_fround(Math_fround(HEAPF32[((HEAP32[($3 + 12 | 0) >> 2] | 0) + 184 | 0) >> 2])); + } + + function btSliderConstraint__getUpperLinLimit_28_29($0) { + $0 = $0 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + return Math_fround(Math_fround(HEAPF32[((HEAP32[($3 + 12 | 0) >> 2] | 0) + 188 | 0) >> 2])); + } + + function btSliderConstraint__getLowerAngLimit_28_29($0) { + $0 = $0 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + return Math_fround(Math_fround(HEAPF32[((HEAP32[($3 + 12 | 0) >> 2] | 0) + 192 | 0) >> 2])); + } + + function btSliderConstraint__getUpperAngLimit_28_29($0) { + $0 = $0 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + return Math_fround(Math_fround(HEAPF32[((HEAP32[($3 + 12 | 0) >> 2] | 0) + 196 | 0) >> 2])); + } + + function btAngularLimit__getHalfRange_28_29_20const($0) { + $0 = $0 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + return Math_fround(Math_fround(HEAPF32[((HEAP32[($3 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2])); + } + + function btDiscreteDynamicsWorld__setConstraintSolver_28btConstraintSolver__29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, $5 = 0; + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; + label$1 : { + if (!((HEAPU8[($5 + 289 | 0) >> 0] | 0) & 1 | 0)) { + break label$1 + } + btAlignedFreeInternal_28void__29(HEAP32[($5 + 216 | 0) >> 2] | 0 | 0); + } + HEAP8[($5 + 289 | 0) >> 0] = 0; + HEAP32[($5 + 216 | 0) >> 2] = HEAP32[($4 + 8 | 0) >> 2] | 0; + HEAP32[((HEAP32[($5 + 212 | 0) >> 2] | 0) + 8 | 0) >> 2] = HEAP32[($4 + 8 | 0) >> 2] | 0; + __stack_pointer = $4 + 16 | 0; + return; + } + + function btDiscreteDynamicsWorld__getConstraintSolver_28_29($0) { + $0 = $0 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + return HEAP32[((HEAP32[($3 + 12 | 0) >> 2] | 0) + 216 | 0) >> 2] | 0 | 0; + } + + function btDiscreteDynamicsWorld__getNumConstraints_28_29_20const($0) { + $0 = $0 | 0; + var $3 = 0, $7 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $7 = btAlignedObjectArray_btTypedConstraint____size_28_29_20const((HEAP32[($3 + 12 | 0) >> 2] | 0) + 224 | 0 | 0) | 0; + __stack_pointer = $3 + 16 | 0; + return $7 | 0; + } + + function btDiscreteDynamicsWorld__getConstraint_28int_29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, $10 = 0; + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + $10 = HEAP32[(btAlignedObjectArray_btTypedConstraint____operator_5b_5d_28int_29((HEAP32[($4 + 12 | 0) >> 2] | 0) + 224 | 0 | 0, HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) | 0) >> 2] | 0; + __stack_pointer = $4 + 16 | 0; + return $10 | 0; + } + + function btDiscreteDynamicsWorld__getConstraint_28int_29_20const($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, $10 = 0; + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + $10 = HEAP32[(btAlignedObjectArray_btTypedConstraint____operator_5b_5d_28int_29_20const((HEAP32[($4 + 12 | 0) >> 2] | 0) + 224 | 0 | 0, HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) | 0) >> 2] | 0; + __stack_pointer = $4 + 16 | 0; + return $10 | 0; + } + + function btAlignedObjectArray_btTypedConstraint____operator_5b_5d_28int_29_20const($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, $5 = 0, $32 = 0; + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; + label$1 : { + if ((HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0) { + break label$1 + } + __assert_fail(85840 | 0, 78192 | 0, 176 | 0, 83901 | 0); + wasm2js_trap(); + } + label$2 : { + if ((HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) < (btAlignedObjectArray_btTypedConstraint____size_28_29_20const($5 | 0) | 0 | 0) & 1 | 0) { + break label$2 + } + __assert_fail(87321 | 0, 78192 | 0, 177 | 0, 83901 | 0); + wasm2js_trap(); + } + $32 = (HEAP32[($5 + 12 | 0) >> 2] | 0) + ((HEAP32[($4 + 8 | 0) >> 2] | 0) << 2 | 0) | 0; + __stack_pointer = $4 + 16 | 0; + return $32 | 0; + } + + function btDiscreteDynamicsWorld__serializeRigidBodies_28btSerializer__29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, $5 = 0, $25 = 0, $29 = 0, $35 = 0, $42 = 0, $67 = 0, $71 = 0, $77 = 0, $84 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4 = __stack_pointer - 48 | 0; + __stack_pointer = $4; + HEAP32[($4 + 44 | 0) >> 2] = $0; + HEAP32[($4 + 40 | 0) >> 2] = $1; + $5 = HEAP32[($4 + 44 | 0) >> 2] | 0; + HEAP32[($4 + 36 | 0) >> 2] = 0; + label$1 : { + label$2 : while (1) { + if (!((HEAP32[($4 + 36 | 0) >> 2] | 0 | 0) < (btAlignedObjectArray_btCollisionObject____size_28_29_20const($5 + 4 | 0 | 0) | 0 | 0) & 1 | 0)) { + break label$1 + } + (wasm2js_i32$0 = $4, wasm2js_i32$1 = HEAP32[(btAlignedObjectArray_btCollisionObject____operator_5b_5d_28int_29($5 + 4 | 0 | 0, HEAP32[($4 + 36 | 0) >> 2] | 0 | 0) | 0) >> 2] | 0), HEAP32[(wasm2js_i32$0 + 32 | 0) >> 2] = wasm2js_i32$1; + label$3 : { + if (!((btCollisionObject__getInternalType_28_29_20const(HEAP32[($4 + 32 | 0) >> 2] | 0 | 0) | 0) & 2 | 0)) { + break label$3 + } + $25 = HEAP32[($4 + 32 | 0) >> 2] | 0; + (wasm2js_i32$0 = $4, wasm2js_i32$1 = FUNCTION_TABLE[HEAP32[((HEAP32[$25 >> 2] | 0) + 16 | 0) >> 2] | 0 | 0]($25) | 0), HEAP32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_i32$1; + $29 = HEAP32[($4 + 40 | 0) >> 2] | 0; + (wasm2js_i32$0 = $4, wasm2js_i32$1 = FUNCTION_TABLE[HEAP32[((HEAP32[$29 >> 2] | 0) + 16 | 0) >> 2] | 0 | 0]($29, HEAP32[($4 + 28 | 0) >> 2] | 0, 1) | 0), HEAP32[(wasm2js_i32$0 + 24 | 0) >> 2] = wasm2js_i32$1; + $35 = HEAP32[($4 + 32 | 0) >> 2] | 0; + (wasm2js_i32$0 = $4, wasm2js_i32$1 = FUNCTION_TABLE[HEAP32[((HEAP32[$35 >> 2] | 0) + 20 | 0) >> 2] | 0 | 0]($35, HEAP32[((HEAP32[($4 + 24 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0, HEAP32[($4 + 40 | 0) >> 2] | 0) | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + $42 = HEAP32[($4 + 40 | 0) >> 2] | 0; + FUNCTION_TABLE[HEAP32[((HEAP32[$42 >> 2] | 0) + 20 | 0) >> 2] | 0 | 0]($42, HEAP32[($4 + 24 | 0) >> 2] | 0, HEAP32[($4 + 20 | 0) >> 2] | 0, 1497645650, HEAP32[($4 + 32 | 0) >> 2] | 0); + } + HEAP32[($4 + 36 | 0) >> 2] = (HEAP32[($4 + 36 | 0) >> 2] | 0) + 1 | 0; + continue label$2; + }; + } + HEAP32[($4 + 36 | 0) >> 2] = 0; + label$4 : { + label$5 : while (1) { + if (!((HEAP32[($4 + 36 | 0) >> 2] | 0 | 0) < (btAlignedObjectArray_btTypedConstraint____size_28_29_20const($5 + 224 | 0 | 0) | 0 | 0) & 1 | 0)) { + break label$4 + } + (wasm2js_i32$0 = $4, wasm2js_i32$1 = HEAP32[(btAlignedObjectArray_btTypedConstraint____operator_5b_5d_28int_29($5 + 224 | 0 | 0, HEAP32[($4 + 36 | 0) >> 2] | 0 | 0) | 0) >> 2] | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + $67 = HEAP32[($4 + 16 | 0) >> 2] | 0; + (wasm2js_i32$0 = $4, wasm2js_i32$1 = FUNCTION_TABLE[HEAP32[((HEAP32[$67 >> 2] | 0) + 36 | 0) >> 2] | 0 | 0]($67) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + $71 = HEAP32[($4 + 40 | 0) >> 2] | 0; + (wasm2js_i32$0 = $4, wasm2js_i32$1 = FUNCTION_TABLE[HEAP32[((HEAP32[$71 >> 2] | 0) + 16 | 0) >> 2] | 0 | 0]($71, HEAP32[($4 + 12 | 0) >> 2] | 0, 1) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + $77 = HEAP32[($4 + 16 | 0) >> 2] | 0; + (wasm2js_i32$0 = $4, wasm2js_i32$1 = FUNCTION_TABLE[HEAP32[((HEAP32[$77 >> 2] | 0) + 40 | 0) >> 2] | 0 | 0]($77, HEAP32[((HEAP32[($4 + 8 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0, HEAP32[($4 + 40 | 0) >> 2] | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + $84 = HEAP32[($4 + 40 | 0) >> 2] | 0; + FUNCTION_TABLE[HEAP32[((HEAP32[$84 >> 2] | 0) + 20 | 0) >> 2] | 0 | 0]($84, HEAP32[($4 + 8 | 0) >> 2] | 0, HEAP32[($4 + 4 | 0) >> 2] | 0, 1397641027, HEAP32[($4 + 16 | 0) >> 2] | 0); + HEAP32[($4 + 36 | 0) >> 2] = (HEAP32[($4 + 36 | 0) >> 2] | 0) + 1 | 0; + continue label$5; + }; + } + __stack_pointer = $4 + 48 | 0; + return; + } + + function btDiscreteDynamicsWorld__serializeDynamicsWorldInfo_28btSerializer__29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, $5 = 0, $7 = 0, $91 = 0, $24 = Math_fround(0), $27 = Math_fround(0), $30 = Math_fround(0), $33 = Math_fround(0), $36 = Math_fround(0), $39 = Math_fround(0), $42 = Math_fround(0), $45 = Math_fround(0), $48 = Math_fround(0), $51 = Math_fround(0), $54 = Math_fround(0), $57 = Math_fround(0), $60 = Math_fround(0), $63 = Math_fround(0), $66 = Math_fround(0), $69 = Math_fround(0), $72 = 0, $75 = 0, $78 = 0, $81 = 0, $84 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4 = __stack_pointer - 32 | 0; + __stack_pointer = $4; + HEAP32[($4 + 28 | 0) >> 2] = $0; + HEAP32[($4 + 24 | 0) >> 2] = $1; + $5 = HEAP32[($4 + 28 | 0) >> 2] | 0; + HEAP32[($4 + 20 | 0) >> 2] = 104; + $7 = HEAP32[($4 + 24 | 0) >> 2] | 0; + (wasm2js_i32$0 = $4, wasm2js_i32$1 = FUNCTION_TABLE[HEAP32[((HEAP32[$7 >> 2] | 0) + 16 | 0) >> 2] | 0 | 0]($7, HEAP32[($4 + 20 | 0) >> 2] | 0, 1) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($4 + 12 | 0) >> 2] = HEAP32[((HEAP32[($4 + 16 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + __memset(HEAP32[($4 + 12 | 0) >> 2] | 0 | 0, 0 | 0, HEAP32[($4 + 20 | 0) >> 2] | 0 | 0) | 0; + btVector3__serialize_28btVector3FloatData__29_20const($5 + 264 | 0 | 0, (HEAP32[($4 + 12 | 0) >> 2] | 0) + 88 | 0 | 0); + $24 = Math_fround(HEAPF32[(btDynamicsWorld__getSolverInfo_28_29($5 | 0) | 0) >> 2]); + HEAPF32[(HEAP32[($4 + 12 | 0) >> 2] | 0) >> 2] = $24; + $27 = Math_fround(HEAPF32[((btDynamicsWorld__getSolverInfo_28_29($5 | 0) | 0) + 4 | 0) >> 2]); + HEAPF32[((HEAP32[($4 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] = $27; + $30 = Math_fround(HEAPF32[((btDynamicsWorld__getSolverInfo_28_29($5 | 0) | 0) + 8 | 0) >> 2]); + HEAPF32[((HEAP32[($4 + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] = $30; + $33 = Math_fround(HEAPF32[((btDynamicsWorld__getSolverInfo_28_29($5 | 0) | 0) + 12 | 0) >> 2]); + HEAPF32[((HEAP32[($4 + 12 | 0) >> 2] | 0) + 12 | 0) >> 2] = $33; + $36 = Math_fround(HEAPF32[((btDynamicsWorld__getSolverInfo_28_29($5 | 0) | 0) + 16 | 0) >> 2]); + HEAPF32[((HEAP32[($4 + 12 | 0) >> 2] | 0) + 16 | 0) >> 2] = $36; + $39 = Math_fround(HEAPF32[((btDynamicsWorld__getSolverInfo_28_29($5 | 0) | 0) + 24 | 0) >> 2]); + HEAPF32[((HEAP32[($4 + 12 | 0) >> 2] | 0) + 20 | 0) >> 2] = $39; + $42 = Math_fround(HEAPF32[((btDynamicsWorld__getSolverInfo_28_29($5 | 0) | 0) + 28 | 0) >> 2]); + HEAPF32[((HEAP32[($4 + 12 | 0) >> 2] | 0) + 24 | 0) >> 2] = $42; + $45 = Math_fround(HEAPF32[((btDynamicsWorld__getSolverInfo_28_29($5 | 0) | 0) + 32 | 0) >> 2]); + HEAPF32[((HEAP32[($4 + 12 | 0) >> 2] | 0) + 28 | 0) >> 2] = $45; + $48 = Math_fround(HEAPF32[((btDynamicsWorld__getSolverInfo_28_29($5 | 0) | 0) + 36 | 0) >> 2]); + HEAPF32[((HEAP32[($4 + 12 | 0) >> 2] | 0) + 32 | 0) >> 2] = $48; + $51 = Math_fround(HEAPF32[((btDynamicsWorld__getSolverInfo_28_29($5 | 0) | 0) + 40 | 0) >> 2]); + HEAPF32[((HEAP32[($4 + 12 | 0) >> 2] | 0) + 36 | 0) >> 2] = $51; + $54 = Math_fround(HEAPF32[((btDynamicsWorld__getSolverInfo_28_29($5 | 0) | 0) + 56 | 0) >> 2]); + HEAPF32[((HEAP32[($4 + 12 | 0) >> 2] | 0) + 40 | 0) >> 2] = $54; + $57 = Math_fround(HEAPF32[((btDynamicsWorld__getSolverInfo_28_29($5 | 0) | 0) + 60 | 0) >> 2]); + HEAPF32[((HEAP32[($4 + 12 | 0) >> 2] | 0) + 44 | 0) >> 2] = $57; + $60 = Math_fround(HEAPF32[((btDynamicsWorld__getSolverInfo_28_29($5 | 0) | 0) + 64 | 0) >> 2]); + HEAPF32[((HEAP32[($4 + 12 | 0) >> 2] | 0) + 48 | 0) >> 2] = $60; + $63 = Math_fround(HEAPF32[((btDynamicsWorld__getSolverInfo_28_29($5 | 0) | 0) + 68 | 0) >> 2]); + HEAPF32[((HEAP32[($4 + 12 | 0) >> 2] | 0) + 52 | 0) >> 2] = $63; + $66 = Math_fround(HEAPF32[((btDynamicsWorld__getSolverInfo_28_29($5 | 0) | 0) + 84 | 0) >> 2]); + HEAPF32[((HEAP32[($4 + 12 | 0) >> 2] | 0) + 56 | 0) >> 2] = $66; + $69 = Math_fround(HEAPF32[((btDynamicsWorld__getSolverInfo_28_29($5 | 0) | 0) + 88 | 0) >> 2]); + HEAPF32[((HEAP32[($4 + 12 | 0) >> 2] | 0) + 60 | 0) >> 2] = $69; + $72 = HEAP32[((btDynamicsWorld__getSolverInfo_28_29($5 | 0) | 0) + 20 | 0) >> 2] | 0; + HEAP32[((HEAP32[($4 + 12 | 0) >> 2] | 0) + 64 | 0) >> 2] = $72; + $75 = HEAP32[((btDynamicsWorld__getSolverInfo_28_29($5 | 0) | 0) + 72 | 0) >> 2] | 0; + HEAP32[((HEAP32[($4 + 12 | 0) >> 2] | 0) + 68 | 0) >> 2] = $75; + $78 = HEAP32[((btDynamicsWorld__getSolverInfo_28_29($5 | 0) | 0) + 76 | 0) >> 2] | 0; + HEAP32[((HEAP32[($4 + 12 | 0) >> 2] | 0) + 72 | 0) >> 2] = $78; + $81 = HEAP32[((btDynamicsWorld__getSolverInfo_28_29($5 | 0) | 0) + 80 | 0) >> 2] | 0; + HEAP32[((HEAP32[($4 + 12 | 0) >> 2] | 0) + 76 | 0) >> 2] = $81; + $84 = HEAP32[((btDynamicsWorld__getSolverInfo_28_29($5 | 0) | 0) + 52 | 0) >> 2] | 0; + HEAP32[((HEAP32[($4 + 12 | 0) >> 2] | 0) + 80 | 0) >> 2] = $84; + HEAP32[((HEAP32[($4 + 12 | 0) >> 2] | 0) + 84 | 0) >> 2] = 0; + HEAP32[($4 + 8 | 0) >> 2] = 83369; + $91 = HEAP32[($4 + 24 | 0) >> 2] | 0; + FUNCTION_TABLE[HEAP32[((HEAP32[$91 >> 2] | 0) + 20 | 0) >> 2] | 0 | 0]($91, HEAP32[($4 + 16 | 0) >> 2] | 0, HEAP32[($4 + 8 | 0) >> 2] | 0, 1145853764, HEAP32[($4 + 12 | 0) >> 2] | 0); + __stack_pointer = $4 + 32 | 0; + return; + } + + function btDiscreteDynamicsWorld__serialize_28btSerializer__29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, $5 = 0, $6 = 0, $12 = 0; + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; + $6 = HEAP32[($4 + 8 | 0) >> 2] | 0; + FUNCTION_TABLE[HEAP32[((HEAP32[$6 >> 2] | 0) + 32 | 0) >> 2] | 0 | 0]($6); + btDiscreteDynamicsWorld__serializeDynamicsWorldInfo_28btSerializer__29($5 | 0, HEAP32[($4 + 8 | 0) >> 2] | 0 | 0); + btCollisionWorld__serializeCollisionObjects_28btSerializer__29($5 | 0, HEAP32[($4 + 8 | 0) >> 2] | 0 | 0); + btDiscreteDynamicsWorld__serializeRigidBodies_28btSerializer__29($5 | 0, HEAP32[($4 + 8 | 0) >> 2] | 0 | 0); + $12 = HEAP32[($4 + 8 | 0) >> 2] | 0; + FUNCTION_TABLE[HEAP32[((HEAP32[$12 >> 2] | 0) + 36 | 0) >> 2] | 0 | 0]($12); + __stack_pointer = $4 + 16 | 0; + return; + } + + function btDynamicsWorld___btDynamicsWorld_28_29_1($0) { + $0 = $0 | 0; + HEAP32[((__stack_pointer - 16 | 0) + 12 | 0) >> 2] = $0; + wasm2js_trap(); + } + + function btDynamicsWorld__addConstraint_28btTypedConstraint__2c_20bool_29($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $5 = 0; + $5 = __stack_pointer - 16 | 0; + HEAP32[($5 + 12 | 0) >> 2] = $0; + HEAP32[($5 + 8 | 0) >> 2] = $1; + HEAP8[($5 + 7 | 0) >> 0] = $2; + return; + } + + function btDynamicsWorld__removeConstraint_28btTypedConstraint__29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0; + $4 = __stack_pointer - 16 | 0; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + return; + } + + function btDynamicsWorld__getNumConstraints_28_29_20const($0) { + $0 = $0 | 0; + HEAP32[((__stack_pointer - 16 | 0) + 12 | 0) >> 2] = $0; + return 0 | 0; + } + + function btDynamicsWorld__getConstraint_28int_29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0; + $4 = __stack_pointer - 16 | 0; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + return 0 | 0; + } + + function btDynamicsWorld__getConstraint_28int_29_20const($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0; + $4 = __stack_pointer - 16 | 0; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + return 0 | 0; + } + + function btDynamicsWorld__addVehicle_28btActionInterface__29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0; + $4 = __stack_pointer - 16 | 0; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + return; + } + + function btDynamicsWorld__removeVehicle_28btActionInterface__29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0; + $4 = __stack_pointer - 16 | 0; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + return; + } + + function btDynamicsWorld__addCharacter_28btActionInterface__29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0; + $4 = __stack_pointer - 16 | 0; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + return; + } + + function btDynamicsWorld__removeCharacter_28btActionInterface__29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0; + $4 = __stack_pointer - 16 | 0; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + return; + } + + function InplaceSolverIslandCallback___InplaceSolverIslandCallback_28_29($0) { + $0 = $0 | 0; + var $4 = 0, $3 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + HEAP32[$4 >> 2] = 103204 + 8 | 0; + btAlignedObjectArray_btTypedConstraint_____btAlignedObjectArray_28_29($4 + 68 | 0 | 0) | 0; + btAlignedObjectArray_btPersistentManifold_____btAlignedObjectArray_28_29($4 + 48 | 0 | 0) | 0; + btAlignedObjectArray_btCollisionObject_____btAlignedObjectArray_28_29($4 + 28 | 0 | 0) | 0; + btSimulationIslandManager__IslandCallback___IslandCallback_28_29($4 | 0) | 0; + __stack_pointer = $3 + 16 | 0; + return $4 | 0; + } + + function btSimulationIslandManager__IslandCallback___IslandCallback_28_29($0) { + $0 = $0 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + return HEAP32[($3 + 12 | 0) >> 2] | 0 | 0; + } + + function InplaceSolverIslandCallback___InplaceSolverIslandCallback_28_29_1($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + InplaceSolverIslandCallback___InplaceSolverIslandCallback_28_29($4 | 0) | 0; + operator_20delete_28void__29($4 | 0); + __stack_pointer = $3 + 16 | 0; + return; + } + + function InplaceSolverIslandCallback__processIsland_28btCollisionObject___2c_20int_2c_20btPersistentManifold___2c_20int_2c_20int_29($0, $1, $2, $3, $4, $5) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + $4 = $4 | 0; + $5 = $5 | 0; + var $8 = 0, $9 = 0, $17 = 0, $94 = 0; + $8 = __stack_pointer - 48 | 0; + __stack_pointer = $8; + HEAP32[($8 + 44 | 0) >> 2] = $0; + HEAP32[($8 + 40 | 0) >> 2] = $1; + HEAP32[($8 + 36 | 0) >> 2] = $2; + HEAP32[($8 + 32 | 0) >> 2] = $3; + HEAP32[($8 + 28 | 0) >> 2] = $4; + HEAP32[($8 + 24 | 0) >> 2] = $5; + $9 = HEAP32[($8 + 44 | 0) >> 2] | 0; + label$1 : { + label$2 : { + if (!((HEAP32[($8 + 24 | 0) >> 2] | 0 | 0) < (0 | 0) & 1 | 0)) { + break label$2 + } + $17 = HEAP32[($9 + 8 | 0) >> 2] | 0; + Math_fround(FUNCTION_TABLE[HEAP32[((HEAP32[$17 >> 2] | 0) + 12 | 0) >> 2] | 0 | 0]($17, HEAP32[($8 + 40 | 0) >> 2] | 0, HEAP32[($8 + 36 | 0) >> 2] | 0, HEAP32[($8 + 32 | 0) >> 2] | 0, HEAP32[($8 + 28 | 0) >> 2] | 0, HEAP32[($9 + 12 | 0) >> 2] | 0, HEAP32[($9 + 16 | 0) >> 2] | 0, HEAP32[($9 + 4 | 0) >> 2] | 0, HEAP32[($9 + 20 | 0) >> 2] | 0, HEAP32[($9 + 24 | 0) >> 2] | 0)); + break label$1; + } + HEAP32[($8 + 20 | 0) >> 2] = 0; + HEAP32[($8 + 16 | 0) >> 2] = 0; + HEAP32[($8 + 12 | 0) >> 2] = 0; + label$3 : { + label$4 : while (1) { + if (!((HEAP32[($8 + 12 | 0) >> 2] | 0 | 0) < (HEAP32[($9 + 16 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$3 + } + label$5 : { + if (!((btGetConstraintIslandId_28btTypedConstraint_20const__29(HEAP32[((HEAP32[($9 + 12 | 0) >> 2] | 0) + ((HEAP32[($8 + 12 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0) | 0 | 0) == (HEAP32[($8 + 24 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$5 + } + HEAP32[($8 + 20 | 0) >> 2] = (HEAP32[($9 + 12 | 0) >> 2] | 0) + ((HEAP32[($8 + 12 | 0) >> 2] | 0) << 2 | 0) | 0; + break label$3; + } + HEAP32[($8 + 12 | 0) >> 2] = (HEAP32[($8 + 12 | 0) >> 2] | 0) + 1 | 0; + continue label$4; + }; + } + label$6 : { + label$7 : while (1) { + if (!((HEAP32[($8 + 12 | 0) >> 2] | 0 | 0) < (HEAP32[($9 + 16 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$6 + } + label$8 : { + if (!((btGetConstraintIslandId_28btTypedConstraint_20const__29(HEAP32[((HEAP32[($9 + 12 | 0) >> 2] | 0) + ((HEAP32[($8 + 12 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0 | 0) | 0 | 0) == (HEAP32[($8 + 24 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$8 + } + HEAP32[($8 + 16 | 0) >> 2] = (HEAP32[($8 + 16 | 0) >> 2] | 0) + 1 | 0; + } + HEAP32[($8 + 12 | 0) >> 2] = (HEAP32[($8 + 12 | 0) >> 2] | 0) + 1 | 0; + continue label$7; + }; + } + label$9 : { + label$10 : { + if (!((HEAP32[((HEAP32[($9 + 4 | 0) >> 2] | 0) + 80 | 0) >> 2] | 0 | 0) <= (1 | 0) & 1 | 0)) { + break label$10 + } + $94 = HEAP32[($9 + 8 | 0) >> 2] | 0; + Math_fround(FUNCTION_TABLE[HEAP32[((HEAP32[$94 >> 2] | 0) + 12 | 0) >> 2] | 0 | 0]($94, HEAP32[($8 + 40 | 0) >> 2] | 0, HEAP32[($8 + 36 | 0) >> 2] | 0, HEAP32[($8 + 32 | 0) >> 2] | 0, HEAP32[($8 + 28 | 0) >> 2] | 0, HEAP32[($8 + 20 | 0) >> 2] | 0, HEAP32[($8 + 16 | 0) >> 2] | 0, HEAP32[($9 + 4 | 0) >> 2] | 0, HEAP32[($9 + 20 | 0) >> 2] | 0, HEAP32[($9 + 24 | 0) >> 2] | 0)); + break label$9; + } + HEAP32[($8 + 12 | 0) >> 2] = 0; + label$11 : { + label$12 : while (1) { + if (!((HEAP32[($8 + 12 | 0) >> 2] | 0 | 0) < (HEAP32[($8 + 36 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$11 + } + btAlignedObjectArray_btCollisionObject____push_back_28btCollisionObject__20const__29($9 + 28 | 0 | 0, (HEAP32[($8 + 40 | 0) >> 2] | 0) + ((HEAP32[($8 + 12 | 0) >> 2] | 0) << 2 | 0) | 0 | 0); + HEAP32[($8 + 12 | 0) >> 2] = (HEAP32[($8 + 12 | 0) >> 2] | 0) + 1 | 0; + continue label$12; + }; + } + HEAP32[($8 + 12 | 0) >> 2] = 0; + label$13 : { + label$14 : while (1) { + if (!((HEAP32[($8 + 12 | 0) >> 2] | 0 | 0) < (HEAP32[($8 + 28 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$13 + } + btAlignedObjectArray_btPersistentManifold____push_back_28btPersistentManifold__20const__29($9 + 48 | 0 | 0, (HEAP32[($8 + 32 | 0) >> 2] | 0) + ((HEAP32[($8 + 12 | 0) >> 2] | 0) << 2 | 0) | 0 | 0); + HEAP32[($8 + 12 | 0) >> 2] = (HEAP32[($8 + 12 | 0) >> 2] | 0) + 1 | 0; + continue label$14; + }; + } + HEAP32[($8 + 12 | 0) >> 2] = 0; + label$15 : { + label$16 : while (1) { + if (!((HEAP32[($8 + 12 | 0) >> 2] | 0 | 0) < (HEAP32[($8 + 16 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$15 + } + btAlignedObjectArray_btTypedConstraint____push_back_28btTypedConstraint__20const__29($9 + 68 | 0 | 0, (HEAP32[($8 + 20 | 0) >> 2] | 0) + ((HEAP32[($8 + 12 | 0) >> 2] | 0) << 2 | 0) | 0 | 0); + HEAP32[($8 + 12 | 0) >> 2] = (HEAP32[($8 + 12 | 0) >> 2] | 0) + 1 | 0; + continue label$16; + }; + } + label$17 : { + label$18 : { + if (!(((btAlignedObjectArray_btTypedConstraint____size_28_29_20const($9 + 68 | 0 | 0) | 0) + (btAlignedObjectArray_btPersistentManifold____size_28_29_20const($9 + 48 | 0 | 0) | 0) | 0 | 0) > (HEAP32[((HEAP32[($9 + 4 | 0) >> 2] | 0) + 80 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$18 + } + InplaceSolverIslandCallback__processConstraints_28_29($9 | 0); + break label$17; + } + } + } + } + __stack_pointer = $8 + 48 | 0; + return; + } + + function btGetConstraintIslandId_28btTypedConstraint_20const__29($0) { + $0 = $0 | 0; + var $3 = 0, $18 = 0, $22 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + (wasm2js_i32$0 = $3, wasm2js_i32$1 = btTypedConstraint__getRigidBodyA_28_29_20const(HEAP32[($3 + 12 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $3, wasm2js_i32$1 = btTypedConstraint__getRigidBodyB_28_29_20const(HEAP32[($3 + 12 | 0) >> 2] | 0 | 0) | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + label$1 : { + label$2 : { + if (!((btCollisionObject__getIslandTag_28_29_20const(HEAP32[($3 + 4 | 0) >> 2] | 0 | 0) | 0 | 0) >= (0 | 0) & 1 | 0)) { + break label$2 + } + $18 = btCollisionObject__getIslandTag_28_29_20const(HEAP32[($3 + 4 | 0) >> 2] | 0 | 0) | 0; + break label$1; + } + $18 = btCollisionObject__getIslandTag_28_29_20const(HEAP32[$3 >> 2] | 0 | 0) | 0; + } + HEAP32[($3 + 8 | 0) >> 2] = $18; + $22 = HEAP32[($3 + 8 | 0) >> 2] | 0; + __stack_pointer = $3 + 16 | 0; + return $22 | 0; + } + + function btSimulationIslandManager__IslandCallback___IslandCallback_28_29_1($0) { + $0 = $0 | 0; + HEAP32[((__stack_pointer - 16 | 0) + 12 | 0) >> 2] = $0; + wasm2js_trap(); + } + + function btTypedConstraint__getRigidBodyA_28_29_20const($0) { + $0 = $0 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + return HEAP32[((HEAP32[($3 + 12 | 0) >> 2] | 0) + 28 | 0) >> 2] | 0 | 0; + } + + function btTypedConstraint__getRigidBodyB_28_29_20const($0) { + $0 = $0 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + return HEAP32[((HEAP32[($3 + 12 | 0) >> 2] | 0) + 32 | 0) >> 2] | 0 | 0; + } + + function btAlignedObjectArray_btElement___size_28_29_20const($0) { + $0 = $0 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + return HEAP32[((HEAP32[($3 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0; + } + + function btClosestNotMeConvexResultCallback___btClosestNotMeConvexResultCallback_28_29_1($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + btClosestNotMeConvexResultCallback___btClosestNotMeConvexResultCallback_28_29($4 | 0) | 0; + operator_20delete_28void__29($4 | 0); + __stack_pointer = $3 + 16 | 0; + return; + } + + function btClosestNotMeConvexResultCallback__needsCollision_28btBroadphaseProxy__29_20const($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, $5 = 0, $26 = 0, $42 = 0; + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[($4 + 8 | 0) >> 2] = $0; + HEAP32[($4 + 4 | 0) >> 2] = $1; + $5 = HEAP32[($4 + 8 | 0) >> 2] | 0; + label$1 : { + label$2 : { + if (!((HEAP32[(HEAP32[($4 + 4 | 0) >> 2] | 0) >> 2] | 0 | 0) == (HEAP32[($5 + 84 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$2 + } + HEAP8[($4 + 15 | 0) >> 0] = 0 & 1 | 0; + break label$1; + } + label$3 : { + if ((btCollisionWorld__ConvexResultCallback__needsCollision_28btBroadphaseProxy__29_20const($5 | 0, HEAP32[($4 + 4 | 0) >> 2] | 0 | 0) | 0) & 1 | 0) { + break label$3 + } + HEAP8[($4 + 15 | 0) >> 0] = 0 & 1 | 0; + break label$1; + } + HEAP32[$4 >> 2] = HEAP32[(HEAP32[($4 + 4 | 0) >> 2] | 0) >> 2] | 0; + $26 = HEAP32[($5 + 96 | 0) >> 2] | 0; + label$4 : { + if (!((FUNCTION_TABLE[HEAP32[((HEAP32[$26 >> 2] | 0) + 28 | 0) >> 2] | 0 | 0]($26, HEAP32[($5 + 84 | 0) >> 2] | 0, HEAP32[$4 >> 2] | 0) | 0) & 1 | 0)) { + break label$4 + } + HEAP8[($4 + 15 | 0) >> 0] = 1 & 1 | 0; + break label$1; + } + HEAP8[($4 + 15 | 0) >> 0] = 0 & 1 | 0; + } + $42 = (HEAPU8[($4 + 15 | 0) >> 0] | 0) & 1 | 0; + __stack_pointer = $4 + 16 | 0; + return $42 | 0; + } + + function btClosestNotMeConvexResultCallback__addSingleResult_28btCollisionWorld__LocalConvexResult__2c_20bool_29($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $5 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, $7 = 0, $36 = 0, $63 = 0, $186 = 0, $190 = 0, $239 = 0, $243 = 0, $99 = Math_fround(0), wasm2js_i32$0 = 0, wasm2js_f32$0 = Math_fround(0); + $5 = __stack_pointer - 112 | 0; + __stack_pointer = $5; + HEAP32[($5 + 104 | 0) >> 2] = $0; + HEAP32[($5 + 100 | 0) >> 2] = $1; + HEAP8[($5 + 99 | 0) >> 0] = $2; + $7 = HEAP32[($5 + 104 | 0) >> 2] | 0; + label$1 : { + label$2 : { + if (!((HEAP32[(HEAP32[($5 + 100 | 0) >> 2] | 0) >> 2] | 0 | 0) == (HEAP32[($7 + 84 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$2 + } + HEAPF32[($5 + 108 | 0) >> 2] = Math_fround(1.0); + break label$1; + } + label$3 : { + if ((btCollisionObject__hasContactResponse_28_29_20const(HEAP32[(HEAP32[($5 + 100 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0) & 1 | 0) { + break label$3 + } + HEAPF32[($5 + 108 | 0) >> 2] = Math_fround(1.0); + break label$1; + } + btVector3__btVector3_28_29($5 + 80 | 0 | 0) | 0; + btVector3__btVector3_28_29($5 + 64 | 0 | 0) | 0; + operator__28btVector3_20const__2c_20btVector3_20const__29($5 + 48 | 0 | 0, $7 + 36 | 0 | 0, $7 + 20 | 0 | 0); + $36 = 8; + i64toi32_i32$2 = ($5 + 48 | 0) + $36 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $186 = i64toi32_i32$0; + i64toi32_i32$0 = ($5 + 80 | 0) + $36 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $186; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$2 = $5; + i64toi32_i32$1 = HEAP32[($5 + 48 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($5 + 52 | 0) >> 2] | 0; + $190 = i64toi32_i32$1; + i64toi32_i32$1 = $5; + HEAP32[($5 + 80 | 0) >> 2] = $190; + HEAP32[($5 + 84 | 0) >> 2] = i64toi32_i32$0; + HEAPF32[($5 + 28 | 0) >> 2] = Math_fround(0 | 0); + HEAPF32[($5 + 24 | 0) >> 2] = Math_fround(0 | 0); + HEAPF32[($5 + 20 | 0) >> 2] = Math_fround(0 | 0); + btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($5 + 32 | 0 | 0, $5 + 28 | 0 | 0, $5 + 24 | 0 | 0, $5 + 20 | 0 | 0) | 0; + $63 = 8; + i64toi32_i32$2 = ($5 + 32 | 0) + $63 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $239 = i64toi32_i32$0; + i64toi32_i32$0 = ($5 + 64 | 0) + $63 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $239; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$2 = $5; + i64toi32_i32$1 = HEAP32[($5 + 32 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($5 + 36 | 0) >> 2] | 0; + $243 = i64toi32_i32$1; + i64toi32_i32$1 = $5; + HEAP32[($5 + 64 | 0) >> 2] = $243; + HEAP32[($5 + 68 | 0) >> 2] = i64toi32_i32$0; + operator__28btVector3_20const__2c_20btVector3_20const__29($5 + 4 | 0 | 0, $5 + 80 | 0 | 0, $5 + 64 | 0 | 0); + label$4 : { + if (!(Math_fround(btVector3__dot_28btVector3_20const__29_20const((HEAP32[($5 + 100 | 0) >> 2] | 0) + 8 | 0 | 0, $5 + 4 | 0 | 0)) >= Math_fround(-Math_fround(HEAPF32[($7 + 88 | 0) >> 2])) & 1 | 0)) { + break label$4 + } + HEAPF32[($5 + 108 | 0) >> 2] = Math_fround(1.0); + break label$1; + } + (wasm2js_i32$0 = $5, wasm2js_f32$0 = Math_fround(btCollisionWorld__ClosestConvexResultCallback__addSingleResult_28btCollisionWorld__LocalConvexResult__2c_20bool_29($7 | 0, HEAP32[($5 + 100 | 0) >> 2] | 0 | 0, (HEAPU8[($5 + 99 | 0) >> 0] | 0) & 1 | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 108 | 0) >> 2] = wasm2js_f32$0; + } + $99 = Math_fround(HEAPF32[($5 + 108 | 0) >> 2]); + __stack_pointer = $5 + 112 | 0; + return Math_fround($99); + } + + function btAlignedObjectArray_btRigidBody____destroy_28int_2c_20int_29($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $5 = 0; + $5 = __stack_pointer - 16 | 0; + HEAP32[($5 + 12 | 0) >> 2] = $0; + HEAP32[($5 + 8 | 0) >> 2] = $1; + HEAP32[($5 + 4 | 0) >> 2] = $2; + HEAP32[($5 + 12 | 0) >> 2] | 0; + HEAP32[$5 >> 2] = HEAP32[($5 + 8 | 0) >> 2] | 0; + label$1 : { + label$2 : while (1) { + if (!((HEAP32[$5 >> 2] | 0 | 0) < (HEAP32[($5 + 4 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$1 + } + HEAP32[$5 >> 2] = (HEAP32[$5 >> 2] | 0) + 1 | 0; + continue label$2; + }; + } + return; + } + + function btAlignedObjectArray_btRigidBody____deallocate_28_29($0) { + $0 = $0 | 0; + var $4 = 0, $3 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + label$1 : { + if (!((HEAP32[($4 + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + label$2 : { + if (!((HEAPU8[($4 + 16 | 0) >> 0] | 0) & 1 | 0)) { + break label$2 + } + btAlignedAllocator_btRigidBody__2c_2016u___deallocate_28btRigidBody___29($4 | 0, HEAP32[($4 + 12 | 0) >> 2] | 0 | 0); + } + HEAP32[($4 + 12 | 0) >> 2] = 0; + } + __stack_pointer = $3 + 16 | 0; + return; + } + + function btAlignedAllocator_btRigidBody__2c_2016u___deallocate_28btRigidBody___29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0; + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + btAlignedFreeInternal_28void__29(HEAP32[($4 + 8 | 0) >> 2] | 0 | 0); + __stack_pointer = $4 + 16 | 0; + return; + } + + function btAlignedObjectArray_btActionInterface____destroy_28int_2c_20int_29($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $5 = 0; + $5 = __stack_pointer - 16 | 0; + HEAP32[($5 + 12 | 0) >> 2] = $0; + HEAP32[($5 + 8 | 0) >> 2] = $1; + HEAP32[($5 + 4 | 0) >> 2] = $2; + HEAP32[($5 + 12 | 0) >> 2] | 0; + HEAP32[$5 >> 2] = HEAP32[($5 + 8 | 0) >> 2] | 0; + label$1 : { + label$2 : while (1) { + if (!((HEAP32[$5 >> 2] | 0 | 0) < (HEAP32[($5 + 4 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$1 + } + HEAP32[$5 >> 2] = (HEAP32[$5 >> 2] | 0) + 1 | 0; + continue label$2; + }; + } + return; + } + + function btAlignedObjectArray_btActionInterface____deallocate_28_29($0) { + $0 = $0 | 0; + var $4 = 0, $3 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + label$1 : { + if (!((HEAP32[($4 + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + label$2 : { + if (!((HEAPU8[($4 + 16 | 0) >> 0] | 0) & 1 | 0)) { + break label$2 + } + btAlignedAllocator_btActionInterface__2c_2016u___deallocate_28btActionInterface___29($4 | 0, HEAP32[($4 + 12 | 0) >> 2] | 0 | 0); + } + HEAP32[($4 + 12 | 0) >> 2] = 0; + } + __stack_pointer = $3 + 16 | 0; + return; + } + + function btAlignedAllocator_btActionInterface__2c_2016u___deallocate_28btActionInterface___29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0; + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + btAlignedFreeInternal_28void__29(HEAP32[($4 + 8 | 0) >> 2] | 0 | 0); + __stack_pointer = $4 + 16 | 0; + return; + } + + function btAlignedObjectArray_btRigidBody____swap_28int_2c_20int_29($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $5 = 0, $6 = 0; + $5 = __stack_pointer - 16 | 0; + HEAP32[($5 + 12 | 0) >> 2] = $0; + HEAP32[($5 + 8 | 0) >> 2] = $1; + HEAP32[($5 + 4 | 0) >> 2] = $2; + $6 = HEAP32[($5 + 12 | 0) >> 2] | 0; + HEAP32[$5 >> 2] = HEAP32[((HEAP32[($6 + 12 | 0) >> 2] | 0) + ((HEAP32[($5 + 8 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; + HEAP32[((HEAP32[($6 + 12 | 0) >> 2] | 0) + ((HEAP32[($5 + 8 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = HEAP32[((HEAP32[($6 + 12 | 0) >> 2] | 0) + ((HEAP32[($5 + 4 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; + HEAP32[((HEAP32[($6 + 12 | 0) >> 2] | 0) + ((HEAP32[($5 + 4 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = HEAP32[$5 >> 2] | 0; + return; + } + + function btAlignedObjectArray_btRigidBody____pop_back_28_29($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + label$1 : { + if ((HEAP32[($4 + 4 | 0) >> 2] | 0 | 0) > (0 | 0) & 1 | 0) { + break label$1 + } + __assert_fail(85800 | 0, 78192 | 0, 201 | 0, 77711 | 0); + wasm2js_trap(); + } + HEAP32[($4 + 4 | 0) >> 2] = (HEAP32[($4 + 4 | 0) >> 2] | 0) + -1 | 0; + __stack_pointer = $3 + 16 | 0; + return; + } + + function btAlignedObjectArray_btRigidBody____allocate_28int_29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, $5 = 0, $11 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[($4 + 8 | 0) >> 2] = $0; + HEAP32[($4 + 4 | 0) >> 2] = $1; + $5 = HEAP32[($4 + 8 | 0) >> 2] | 0; + label$1 : { + label$2 : { + if (!(HEAP32[($4 + 4 | 0) >> 2] | 0)) { + break label$2 + } + (wasm2js_i32$0 = $4, wasm2js_i32$1 = btAlignedAllocator_btRigidBody__2c_2016u___allocate_28int_2c_20btRigidBody__20const___29($5 | 0, HEAP32[($4 + 4 | 0) >> 2] | 0 | 0, 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + break label$1; + } + HEAP32[($4 + 12 | 0) >> 2] = 0; + } + $11 = HEAP32[($4 + 12 | 0) >> 2] | 0; + __stack_pointer = $4 + 16 | 0; + return $11 | 0; + } + + function btAlignedObjectArray_btRigidBody____copy_28int_2c_20int_2c_20btRigidBody___29_20const($0, $1, $2, $3) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + var $6 = 0, $7 = 0; + $6 = __stack_pointer - 32 | 0; + HEAP32[($6 + 28 | 0) >> 2] = $0; + HEAP32[($6 + 24 | 0) >> 2] = $1; + HEAP32[($6 + 20 | 0) >> 2] = $2; + HEAP32[($6 + 16 | 0) >> 2] = $3; + $7 = HEAP32[($6 + 28 | 0) >> 2] | 0; + HEAP32[($6 + 12 | 0) >> 2] = HEAP32[($6 + 24 | 0) >> 2] | 0; + label$1 : { + label$2 : while (1) { + if (!((HEAP32[($6 + 12 | 0) >> 2] | 0 | 0) < (HEAP32[($6 + 20 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$1 + } + HEAP32[((HEAP32[($6 + 16 | 0) >> 2] | 0) + ((HEAP32[($6 + 12 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = HEAP32[((HEAP32[($7 + 12 | 0) >> 2] | 0) + ((HEAP32[($6 + 12 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; + HEAP32[($6 + 12 | 0) >> 2] = (HEAP32[($6 + 12 | 0) >> 2] | 0) + 1 | 0; + continue label$2; + }; + } + return; + } + + function btAlignedAllocator_btRigidBody__2c_2016u___allocate_28int_2c_20btRigidBody__20const___29($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $5 = 0, $10 = 0; + $5 = __stack_pointer - 16 | 0; + __stack_pointer = $5; + HEAP32[($5 + 12 | 0) >> 2] = $0; + HEAP32[($5 + 8 | 0) >> 2] = $1; + HEAP32[($5 + 4 | 0) >> 2] = $2; + $10 = btAlignedAllocInternal_28unsigned_20long_2c_20int_29((HEAP32[($5 + 8 | 0) >> 2] | 0) << 2 | 0 | 0, 16 | 0) | 0; + __stack_pointer = $5 + 16 | 0; + return $10 | 0; + } + + function btAlignedObjectArray_btActionInterface____allocate_28int_29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, $5 = 0, $11 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[($4 + 8 | 0) >> 2] = $0; + HEAP32[($4 + 4 | 0) >> 2] = $1; + $5 = HEAP32[($4 + 8 | 0) >> 2] | 0; + label$1 : { + label$2 : { + if (!(HEAP32[($4 + 4 | 0) >> 2] | 0)) { + break label$2 + } + (wasm2js_i32$0 = $4, wasm2js_i32$1 = btAlignedAllocator_btActionInterface__2c_2016u___allocate_28int_2c_20btActionInterface__20const___29($5 | 0, HEAP32[($4 + 4 | 0) >> 2] | 0 | 0, 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + break label$1; + } + HEAP32[($4 + 12 | 0) >> 2] = 0; + } + $11 = HEAP32[($4 + 12 | 0) >> 2] | 0; + __stack_pointer = $4 + 16 | 0; + return $11 | 0; + } + + function btAlignedObjectArray_btActionInterface____copy_28int_2c_20int_2c_20btActionInterface___29_20const($0, $1, $2, $3) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + var $6 = 0, $7 = 0; + $6 = __stack_pointer - 32 | 0; + HEAP32[($6 + 28 | 0) >> 2] = $0; + HEAP32[($6 + 24 | 0) >> 2] = $1; + HEAP32[($6 + 20 | 0) >> 2] = $2; + HEAP32[($6 + 16 | 0) >> 2] = $3; + $7 = HEAP32[($6 + 28 | 0) >> 2] | 0; + HEAP32[($6 + 12 | 0) >> 2] = HEAP32[($6 + 24 | 0) >> 2] | 0; + label$1 : { + label$2 : while (1) { + if (!((HEAP32[($6 + 12 | 0) >> 2] | 0 | 0) < (HEAP32[($6 + 20 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$1 + } + HEAP32[((HEAP32[($6 + 16 | 0) >> 2] | 0) + ((HEAP32[($6 + 12 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = HEAP32[((HEAP32[($7 + 12 | 0) >> 2] | 0) + ((HEAP32[($6 + 12 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; + HEAP32[($6 + 12 | 0) >> 2] = (HEAP32[($6 + 12 | 0) >> 2] | 0) + 1 | 0; + continue label$2; + }; + } + return; + } + + function btAlignedAllocator_btActionInterface__2c_2016u___allocate_28int_2c_20btActionInterface__20const___29($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $5 = 0, $10 = 0; + $5 = __stack_pointer - 16 | 0; + __stack_pointer = $5; + HEAP32[($5 + 12 | 0) >> 2] = $0; + HEAP32[($5 + 8 | 0) >> 2] = $1; + HEAP32[($5 + 4 | 0) >> 2] = $2; + $10 = btAlignedAllocInternal_28unsigned_20long_2c_20int_29((HEAP32[($5 + 8 | 0) >> 2] | 0) << 2 | 0 | 0, 16 | 0) | 0; + __stack_pointer = $5 + 16 | 0; + return $10 | 0; + } + + function btAlignedObjectArray_btActionInterface____swap_28int_2c_20int_29($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $5 = 0, $6 = 0; + $5 = __stack_pointer - 16 | 0; + HEAP32[($5 + 12 | 0) >> 2] = $0; + HEAP32[($5 + 8 | 0) >> 2] = $1; + HEAP32[($5 + 4 | 0) >> 2] = $2; + $6 = HEAP32[($5 + 12 | 0) >> 2] | 0; + HEAP32[$5 >> 2] = HEAP32[((HEAP32[($6 + 12 | 0) >> 2] | 0) + ((HEAP32[($5 + 8 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; + HEAP32[((HEAP32[($6 + 12 | 0) >> 2] | 0) + ((HEAP32[($5 + 8 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = HEAP32[((HEAP32[($6 + 12 | 0) >> 2] | 0) + ((HEAP32[($5 + 4 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] | 0; + HEAP32[((HEAP32[($6 + 12 | 0) >> 2] | 0) + ((HEAP32[($5 + 4 | 0) >> 2] | 0) << 2 | 0) | 0) >> 2] = HEAP32[$5 >> 2] | 0; + return; + } + + function btAlignedObjectArray_btActionInterface____pop_back_28_29($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + label$1 : { + if ((HEAP32[($4 + 4 | 0) >> 2] | 0 | 0) > (0 | 0) & 1 | 0) { + break label$1 + } + __assert_fail(85800 | 0, 78192 | 0, 201 | 0, 77711 | 0); + wasm2js_trap(); + } + HEAP32[($4 + 4 | 0) >> 2] = (HEAP32[($4 + 4 | 0) >> 2] | 0) + -1 | 0; + __stack_pointer = $3 + 16 | 0; + return; + } + + function btSortConstraintOnIslandPredicate__operator_28_29_28btTypedConstraint_20const__2c_20btTypedConstraint_20const__29_20const($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $5 = 0, $16 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5 = __stack_pointer - 32 | 0; + __stack_pointer = $5; + HEAP32[($5 + 28 | 0) >> 2] = $0; + HEAP32[($5 + 24 | 0) >> 2] = $1; + HEAP32[($5 + 20 | 0) >> 2] = $2; + (wasm2js_i32$0 = $5, wasm2js_i32$1 = btGetConstraintIslandId_28btTypedConstraint_20const__29(HEAP32[($5 + 20 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $5, wasm2js_i32$1 = btGetConstraintIslandId_28btTypedConstraint_20const__29(HEAP32[($5 + 24 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + $16 = (HEAP32[($5 + 12 | 0) >> 2] | 0 | 0) < (HEAP32[($5 + 16 | 0) >> 2] | 0 | 0) & 1 | 0; + __stack_pointer = $5 + 32 | 0; + return $16 | 0; + } + + function _GLOBAL__sub_I_btDiscreteDynamicsWorld_cpp() { + __cxx_global_var_init_79(); + return; + } + + function __cxx_global_var_init_80() { + btInfMaskConverter__btInfMaskConverter_28int_29(116172 | 0, 2139095040 | 0) | 0; + return; + } + + function cc__ccDiscreteDynamicsWorld__ccDiscreteDynamicsWorld_28btDispatcher__2c_20btBroadphaseInterface__2c_20btConstraintSolver__2c_20btCollisionConfiguration__29($0, $1, $2, $3, $4) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + $4 = $4 | 0; + var $7 = 0, $8 = 0, $19 = 0, $24 = 0, $26 = 0; + $7 = __stack_pointer - 32 | 0; + __stack_pointer = $7; + HEAP32[($7 + 28 | 0) >> 2] = $0; + HEAP32[($7 + 24 | 0) >> 2] = $1; + HEAP32[($7 + 20 | 0) >> 2] = $2; + HEAP32[($7 + 16 | 0) >> 2] = $3; + HEAP32[($7 + 12 | 0) >> 2] = $4; + $8 = HEAP32[($7 + 28 | 0) >> 2] | 0; + btDiscreteDynamicsWorld__btDiscreteDynamicsWorld_28btDispatcher__2c_20btBroadphaseInterface__2c_20btConstraintSolver__2c_20btCollisionConfiguration__29($8 | 0, HEAP32[($7 + 24 | 0) >> 2] | 0 | 0, HEAP32[($7 + 20 | 0) >> 2] | 0 | 0, HEAP32[($7 + 16 | 0) >> 2] | 0 | 0, HEAP32[($7 + 12 | 0) >> 2] | 0 | 0) | 0; + HEAP32[$8 >> 2] = 103416 + 8 | 0; + cc__ccOverlapFilterCallback__ccOverlapFilterCallback_28_29($8 + 344 | 0 | 0) | 0; + HEAPF32[($8 + 56 | 0) >> 2] = Math_fround(.009999999776482582); + $19 = btCollisionWorld__getPairCache_28_29($8 | 0) | 0; + FUNCTION_TABLE[HEAP32[((HEAP32[$19 >> 2] | 0) + 44 | 0) >> 2] | 0 | 0]($19, $8 + 344 | 0); + $24 = btCollisionWorld__getPairCache_28_29($8 | 0) | 0; + $26 = operator_20new_28unsigned_20long_29(4 | 0) | 0; + btGhostPairCallback__btGhostPairCallback_28_29($26 | 0) | 0; + FUNCTION_TABLE[HEAP32[((HEAP32[$24 >> 2] | 0) + 60 | 0) >> 2] | 0 | 0]($24, $26); + __stack_pointer = $7 + 32 | 0; + return $8 | 0; + } + + function cc__ccOverlapFilterCallback__ccOverlapFilterCallback_28_29($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + btOverlapFilterCallback__btOverlapFilterCallback_28_29($4 | 0) | 0; + HEAP32[$4 >> 2] = 103656 + 8 | 0; + __stack_pointer = $3 + 16 | 0; + return $4 | 0; + } + + function btCollisionWorld__getPairCache_28_29($0) { + $0 = $0 | 0; + var $3 = 0, $5 = 0, $8 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $5 = HEAP32[((HEAP32[($3 + 12 | 0) >> 2] | 0) + 68 | 0) >> 2] | 0; + $8 = FUNCTION_TABLE[HEAP32[((HEAP32[$5 >> 2] | 0) + 36 | 0) >> 2] | 0 | 0]($5) | 0; + __stack_pointer = $3 + 16 | 0; + return $8 | 0; + } + + function btGhostPairCallback__btGhostPairCallback_28_29($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + btOverlappingPairCallback__btOverlappingPairCallback_28_29($4 | 0) | 0; + HEAP32[$4 >> 2] = 103776 + 8 | 0; + __stack_pointer = $3 + 16 | 0; + return $4 | 0; + } + + function btOverlapFilterCallback__btOverlapFilterCallback_28_29($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + HEAP32[$4 >> 2] = 103756 + 8 | 0; + return $4 | 0; + } + + function cc__ccDiscreteDynamicsWorld__applyGravity_28_29($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + HEAP32[($3 + 8 | 0) >> 2] = 0; + label$1 : { + label$2 : while (1) { + if (!((HEAP32[($3 + 8 | 0) >> 2] | 0 | 0) < (btAlignedObjectArray_btRigidBody____size_28_29_20const($4 + 244 | 0 | 0) | 0 | 0) & 1 | 0)) { + break label$1 + } + (wasm2js_i32$0 = $3, wasm2js_i32$1 = HEAP32[(btAlignedObjectArray_btRigidBody____operator_5b_5d_28int_29($4 + 244 | 0 | 0, HEAP32[($3 + 8 | 0) >> 2] | 0 | 0) | 0) >> 2] | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + label$3 : { + if (!((btCollisionObject__isActive_28_29_20const(HEAP32[($3 + 4 | 0) >> 2] | 0 | 0) | 0) & 1 | 0)) { + break label$3 + } + if ((btCollisionObject__isKinematicObject_28_29_20const(HEAP32[($3 + 4 | 0) >> 2] | 0 | 0) | 0) & 1 | 0) { + break label$3 + } + label$4 : { + label$5 : { + if (!(+Math_fround(btRigidBody__getLinearDamping_28_29_20const(HEAP32[($3 + 4 | 0) >> 2] | 0 | 0)) == 1.0 & 1 | 0)) { + break label$5 + } + btVector3__setZero_28_29(btRigidBody__getTotalForce_28_29_20const(HEAP32[($3 + 4 | 0) >> 2] | 0 | 0) | 0 | 0); + break label$4; + } + btRigidBody__applyGravity_28_29(HEAP32[($3 + 4 | 0) >> 2] | 0 | 0); + } + label$6 : { + if (!(+Math_fround(btRigidBody__getAngularDamping_28_29_20const(HEAP32[($3 + 4 | 0) >> 2] | 0 | 0)) == 1.0 & 1 | 0)) { + break label$6 + } + btVector3__setZero_28_29(btRigidBody__getTotalTorque_28_29_20const(HEAP32[($3 + 4 | 0) >> 2] | 0 | 0) | 0 | 0); + } + } + HEAP32[($3 + 8 | 0) >> 2] = (HEAP32[($3 + 8 | 0) >> 2] | 0) + 1 | 0; + continue label$2; + }; + } + __stack_pointer = $3 + 16 | 0; + return; + } + + function btAlignedObjectArray_btRigidBody____size_28_29_20const($0) { + $0 = $0 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + return HEAP32[((HEAP32[($3 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0; + } + + function btAlignedObjectArray_btRigidBody____operator_5b_5d_28int_29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, $5 = 0, $32 = 0; + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; + label$1 : { + if ((HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0) { + break label$1 + } + __assert_fail(85840 | 0, 78192 | 0, 183 | 0, 83901 | 0); + wasm2js_trap(); + } + label$2 : { + if ((HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) < (btAlignedObjectArray_btRigidBody____size_28_29_20const($5 | 0) | 0 | 0) & 1 | 0) { + break label$2 + } + __assert_fail(87321 | 0, 78192 | 0, 184 | 0, 83901 | 0); + wasm2js_trap(); + } + $32 = (HEAP32[($5 + 12 | 0) >> 2] | 0) + ((HEAP32[($4 + 8 | 0) >> 2] | 0) << 2 | 0) | 0; + __stack_pointer = $4 + 16 | 0; + return $32 | 0; + } + + function btRigidBody__getLinearDamping_28_29_20const($0) { + $0 = $0 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + return Math_fround(Math_fround(HEAPF32[((HEAP32[($3 + 12 | 0) >> 2] | 0) + 504 | 0) >> 2])); + } + + function btRigidBody__getAngularDamping_28_29_20const($0) { + $0 = $0 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + return Math_fround(Math_fround(HEAPF32[((HEAP32[($3 + 12 | 0) >> 2] | 0) + 508 | 0) >> 2])); + } + + function cc__ccDiscreteDynamicsWorld__createPredictiveContacts_28float_29($0, $1) { + $0 = $0 | 0; + $1 = Math_fround($1); + var $4 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $5 = 0, i64toi32_i32$2 = 0, $177 = 0, $272 = 0, $274 = 0, $280 = 0, $282 = 0, $266 = Math_fround(0), $269 = 0, $856 = 0, $866 = 0, $875 = 0, $888 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0, wasm2js_f32$0 = Math_fround(0); + $4 = __stack_pointer - 736 | 0; + __stack_pointer = $4; + HEAP32[($4 + 732 | 0) >> 2] = $0; + HEAPF32[($4 + 728 | 0) >> 2] = $1; + $5 = HEAP32[($4 + 732 | 0) >> 2] | 0; + CProfileSample__CProfileSample_28char_20const__29($4 + 727 | 0 | 0, 69290 | 0) | 0; + btDiscreteDynamicsWorld__releasePredictiveContacts_28_29($5 | 0); + (wasm2js_i32$0 = $4, wasm2js_i32$1 = btAlignedObjectArray_btRigidBody____size_28_29_20const($5 + 244 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 720 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + if (!((HEAP32[($4 + 720 | 0) >> 2] | 0 | 0) > (0 | 0) & 1 | 0)) { + break label$1 + } + btTransform__btTransform_28_29($4 + 656 | 0 | 0) | 0; + HEAP32[($4 + 652 | 0) >> 2] = 0; + label$2 : { + label$3 : while (1) { + if (!((HEAP32[($4 + 652 | 0) >> 2] | 0 | 0) < (HEAP32[($4 + 720 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$2 + } + (wasm2js_i32$0 = $4, wasm2js_i32$1 = HEAP32[(btAlignedObjectArray_btRigidBody____operator_5b_5d_28int_29($5 + 244 | 0 | 0, HEAP32[($4 + 652 | 0) >> 2] | 0 | 0) | 0) >> 2] | 0), HEAP32[(wasm2js_i32$0 + 648 | 0) >> 2] = wasm2js_i32$1; + btCollisionObject__setHitFraction_28float_29(HEAP32[($4 + 648 | 0) >> 2] | 0 | 0, Math_fround(Math_fround(1.0))); + label$4 : { + if (!((btCollisionObject__isActive_28_29_20const(HEAP32[($4 + 648 | 0) >> 2] | 0 | 0) | 0) & 1 | 0)) { + break label$4 + } + if ((btCollisionObject__isStaticOrKinematicObject_28_29_20const(HEAP32[($4 + 648 | 0) >> 2] | 0 | 0) | 0) & 1 | 0) { + break label$4 + } + btRigidBody__predictIntegratedTransform_28float_2c_20btTransform__29(HEAP32[($4 + 648 | 0) >> 2] | 0 | 0, Math_fround(Math_fround(HEAPF32[($4 + 728 | 0) >> 2])), $4 + 656 | 0 | 0); + (wasm2js_i32$0 = $4, wasm2js_i32$1 = btCollisionObject__getWorldTransform_28_29(HEAP32[($4 + 648 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 644 | 0) >> 2] = wasm2js_i32$1; + operator__28btVector3_20const__2c_20btVector3_20const__29($4 + 624 | 0 | 0, btTransform__getOrigin_28_29($4 + 656 | 0 | 0) | 0 | 0, btTransform__getOrigin_28_29_20const(HEAP32[($4 + 644 | 0) >> 2] | 0 | 0) | 0 | 0); + (wasm2js_i32$0 = $4, wasm2js_f32$0 = Math_fround(btVector3__length2_28_29_20const($4 + 624 | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 640 | 0) >> 2] = wasm2js_f32$0; + label$5 : { + if (!((HEAPU8[((btCollisionWorld__getDispatchInfo_28_29($5 | 0) | 0) + 16 | 0) >> 0] | 0) & 1 | 0)) { + break label$5 + } + if (!(Math_fround(btCollisionObject__getCcdSquareMotionThreshold_28_29_20const(HEAP32[($4 + 648 | 0) >> 2] | 0 | 0)) != Math_fround(0 | 0) & 1 | 0)) { + break label$5 + } + if (!(Math_fround(btCollisionObject__getCcdSquareMotionThreshold_28_29_20const(HEAP32[($4 + 648 | 0) >> 2] | 0 | 0)) < Math_fround(HEAPF32[($4 + 640 | 0) >> 2]) & 1 | 0)) { + break label$5 + } + CProfileSample__CProfileSample_28char_20const__29($4 + 623 | 0 | 0, 67428 | 0) | 0; + label$6 : { + if (!((btCollisionShape__isConvex_28_29_20const(btRigidBody__getCollisionShape_28_29(HEAP32[($4 + 648 | 0) >> 2] | 0 | 0) | 0 | 0) | 0) & 1 | 0)) { + break label$6 + } + cc__ccNotMeClosestConvexResultCallback__ccNotMeClosestConvexResultCallback_28btCollisionObject__2c_20cc__ccDiscreteDynamicsWorld__2c_20btVector3_20const__2c_20btVector3_20const__29($4 + 524 | 0 | 0, HEAP32[($4 + 648 | 0) >> 2] | 0 | 0, $5 | 0, btTransform__getOrigin_28_29_20const(HEAP32[($4 + 644 | 0) >> 2] | 0 | 0) | 0 | 0, btTransform__getOrigin_28_29($4 + 656 | 0 | 0) | 0 | 0) | 0; + btSphereShape__btSphereShape_28float_29($4 + 464 | 0 | 0, Math_fround(Math_fround(btCollisionObject__getCcdSweptSphereRadius_28_29_20const(HEAP32[($4 + 648 | 0) >> 2] | 0 | 0)))) | 0; + (wasm2js_i32$0 = $4, wasm2js_i32$1 = HEAP32[((btRigidBody__getBroadphaseProxy_28_29(HEAP32[($4 + 648 | 0) >> 2] | 0 | 0) | 0) + 4 | 0) >> 2] | 0), HEAP32[(wasm2js_i32$0 + 532 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $4, wasm2js_i32$1 = HEAP32[((btRigidBody__getBroadphaseProxy_28_29(HEAP32[($4 + 648 | 0) >> 2] | 0 | 0) | 0) + 8 | 0) >> 2] | 0), HEAP32[(wasm2js_i32$0 + 536 | 0) >> 2] = wasm2js_i32$1; + btTransform__btTransform_28btTransform_20const__29($4 + 400 | 0 | 0, $4 + 656 | 0 | 0) | 0; + btTransform__setBasis_28btMatrix3x3_20const__29($4 + 400 | 0 | 0, btTransform__getBasis_28_29_20const(HEAP32[($4 + 644 | 0) >> 2] | 0 | 0) | 0 | 0); + btCollisionWorld__convexSweepTest_28btConvexShape_20const__2c_20btTransform_20const__2c_20btTransform_20const__2c_20btCollisionWorld__ConvexResultCallback__2c_20float_29_20const($5 | 0, $4 + 464 | 0 | 0, HEAP32[($4 + 644 | 0) >> 2] | 0 | 0, $4 + 400 | 0 | 0, $4 + 524 | 0 | 0, Math_fround(Math_fround(0 | 0))); + label$7 : { + if (!((btCollisionWorld__ConvexResultCallback__hasHit_28_29_20const($4 + 524 | 0 | 0) | 0) & 1 | 0)) { + break label$7 + } + operator__28btVector3_20const__2c_20btVector3_20const__29($4 + 368 | 0 | 0, btTransform__getOrigin_28_29($4 + 656 | 0 | 0) | 0 | 0, btTransform__getOrigin_28_29_20const(HEAP32[($4 + 644 | 0) >> 2] | 0 | 0) | 0 | 0); + operator__28btVector3_20const__2c_20float_20const__29($4 + 384 | 0 | 0, $4 + 368 | 0 | 0, ($4 + 524 | 0) + 4 | 0 | 0); + operator__28btVector3_20const__29($4 + 348 | 0 | 0, ($4 + 524 | 0) + 52 | 0 | 0); + (wasm2js_i32$0 = $4, wasm2js_f32$0 = Math_fround(btVector3__dot_28btVector3_20const__29_20const($4 + 384 | 0 | 0, $4 + 348 | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 364 | 0) >> 2] = wasm2js_f32$0; + $177 = HEAP32[($5 + 24 | 0) >> 2] | 0; + (wasm2js_i32$0 = $4, wasm2js_i32$1 = FUNCTION_TABLE[HEAP32[((HEAP32[$177 >> 2] | 0) + 12 | 0) >> 2] | 0 | 0]($177, HEAP32[($4 + 648 | 0) >> 2] | 0, HEAP32[($4 + 540 | 0) >> 2] | 0) | 0), HEAP32[(wasm2js_i32$0 + 344 | 0) >> 2] = wasm2js_i32$1; + btMutexLock_28btSpinMutex__29($5 + 340 | 0 | 0); + btAlignedObjectArray_btPersistentManifold____push_back_28btPersistentManifold__20const__29($5 + 320 | 0 | 0, $4 + 344 | 0 | 0); + btMutexUnlock_28btSpinMutex__29($5 + 340 | 0 | 0); + operator__28btVector3_20const__2c_20btVector3_20const__29_2($4 + 328 | 0 | 0, btTransform__getOrigin_28_29_20const(HEAP32[($4 + 644 | 0) >> 2] | 0 | 0) | 0 | 0, $4 + 384 | 0 | 0); + btTransform__inverse_28_29_20const($4 + 248 | 0 | 0, btCollisionObject__getWorldTransform_28_29_20const(HEAP32[($4 + 540 | 0) >> 2] | 0 | 0) | 0 | 0); + btTransform__operator__28btVector3_20const__29_20const($4 + 312 | 0 | 0, $4 + 248 | 0 | 0, $4 + 328 | 0 | 0); + HEAPF32[($4 + 20 | 0) >> 2] = Math_fround(0 | 0); + HEAPF32[($4 + 16 | 0) >> 2] = Math_fround(0 | 0); + HEAPF32[($4 + 12 | 0) >> 2] = Math_fround(0 | 0); + btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($4 + 24 | 0 | 0, $4 + 20 | 0 | 0, $4 + 16 | 0 | 0, $4 + 12 | 0 | 0) | 0; + btManifoldPoint__btManifoldPoint_28btVector3_20const__2c_20btVector3_20const__2c_20btVector3_20const__2c_20float_29($4 + 40 | 0 | 0, $4 + 24 | 0 | 0, $4 + 312 | 0 | 0, ($4 + 524 | 0) + 52 | 0 | 0, Math_fround(Math_fround(HEAPF32[($4 + 364 | 0) >> 2]))) | 0; + (wasm2js_i32$0 = $4, wasm2js_i32$1 = btRigidBody__getCollisionShape_28_29(HEAP32[($4 + 648 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 240 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($4 + 244 | 0) >> 2] = HEAP32[($4 + 608 | 0) >> 2] | 0; + (wasm2js_i32$0 = $4, wasm2js_i32$1 = btPersistentManifold__addManifoldPoint_28btManifoldPoint_20const__2c_20bool_29(HEAP32[($4 + 344 | 0) >> 2] | 0 | 0, $4 + 40 | 0 | 0, 1 & 1 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $4, wasm2js_i32$1 = btPersistentManifold__getContactPoint_28int_29(HEAP32[($4 + 344 | 0) >> 2] | 0 | 0, HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + HEAPF32[((HEAP32[($4 + 4 | 0) >> 2] | 0) + 96 | 0) >> 2] = Math_fround(0 | 0); + $266 = Math_fround(btManifoldResult__calculateCombinedFriction_28btCollisionObject_20const__2c_20btCollisionObject_20const__29(HEAP32[($4 + 648 | 0) >> 2] | 0 | 0, HEAP32[($4 + 540 | 0) >> 2] | 0 | 0)); + HEAPF32[((HEAP32[($4 + 4 | 0) >> 2] | 0) + 84 | 0) >> 2] = $266; + $269 = btTransform__getOrigin_28_29_20const(HEAP32[($4 + 644 | 0) >> 2] | 0 | 0) | 0; + $272 = (HEAP32[($4 + 4 | 0) >> 2] | 0) + 48 | 0; + i64toi32_i32$2 = $269; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $856 = i64toi32_i32$0; + i64toi32_i32$0 = $272; + HEAP32[i64toi32_i32$0 >> 2] = $856; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $274 = 8; + i64toi32_i32$2 = i64toi32_i32$2 + $274 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $866 = i64toi32_i32$1; + i64toi32_i32$1 = $272 + $274 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $866; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + $280 = (HEAP32[($4 + 4 | 0) >> 2] | 0) + 32 | 0; + i64toi32_i32$2 = $4; + i64toi32_i32$0 = HEAP32[($4 + 328 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($4 + 332 | 0) >> 2] | 0; + $875 = i64toi32_i32$0; + i64toi32_i32$0 = $280; + HEAP32[i64toi32_i32$0 >> 2] = $875; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $282 = 8; + i64toi32_i32$2 = ($4 + 328 | 0) + $282 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $888 = i64toi32_i32$1; + i64toi32_i32$1 = $280 + $282 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $888; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + } + btSphereShape___btSphereShape_28_29($4 + 464 | 0 | 0) | 0; + cc__ccNotMeClosestConvexResultCallback___ccNotMeClosestConvexResultCallback_28_29($4 + 524 | 0 | 0) | 0; + } + CProfileSample___CProfileSample_28_29($4 + 623 | 0 | 0) | 0; + } + } + HEAP32[($4 + 652 | 0) >> 2] = (HEAP32[($4 + 652 | 0) >> 2] | 0) + 1 | 0; + continue label$3; + }; + } + } + CProfileSample___CProfileSample_28_29($4 + 727 | 0 | 0) | 0; + __stack_pointer = $4 + 736 | 0; + return; + } + + function cc__ccNotMeClosestConvexResultCallback__ccNotMeClosestConvexResultCallback_28btCollisionObject__2c_20cc__ccDiscreteDynamicsWorld__2c_20btVector3_20const__2c_20btVector3_20const__29($0, $1, $2, $3, $4) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + $4 = $4 | 0; + var $7 = 0, $8 = 0; + $7 = __stack_pointer - 32 | 0; + __stack_pointer = $7; + HEAP32[($7 + 28 | 0) >> 2] = $0; + HEAP32[($7 + 24 | 0) >> 2] = $1; + HEAP32[($7 + 20 | 0) >> 2] = $2; + HEAP32[($7 + 16 | 0) >> 2] = $3; + HEAP32[($7 + 12 | 0) >> 2] = $4; + $8 = HEAP32[($7 + 28 | 0) >> 2] | 0; + btCollisionWorld__ClosestConvexResultCallback__ClosestConvexResultCallback_28btVector3_20const__2c_20btVector3_20const__29($8 | 0, HEAP32[($7 + 16 | 0) >> 2] | 0 | 0, HEAP32[($7 + 12 | 0) >> 2] | 0 | 0) | 0; + HEAP32[$8 >> 2] = 103840 + 8 | 0; + HEAP32[($8 + 84 | 0) >> 2] = 0; + HEAP32[($8 + 88 | 0) >> 2] = HEAP32[($7 + 24 | 0) >> 2] | 0; + HEAP32[($8 + 92 | 0) >> 2] = HEAP32[($7 + 20 | 0) >> 2] | 0; + __stack_pointer = $7 + 32 | 0; + return $8 | 0; + } + + function btRigidBody__getBroadphaseProxy_28_29($0) { + $0 = $0 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + return HEAP32[((HEAP32[($3 + 12 | 0) >> 2] | 0) + 188 | 0) >> 2] | 0 | 0; + } + + function cc__ccNotMeClosestConvexResultCallback___ccNotMeClosestConvexResultCallback_28_29($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + btCollisionWorld__ClosestConvexResultCallback___ClosestConvexResultCallback_28_29($4 | 0) | 0; + __stack_pointer = $3 + 16 | 0; + return $4 | 0; + } + + function cc__ccDiscreteDynamicsWorld___ccDiscreteDynamicsWorld_28_29($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + cc__ccOverlapFilterCallback___ccOverlapFilterCallback_28_29($4 + 344 | 0 | 0) | 0; + btDiscreteDynamicsWorld___btDiscreteDynamicsWorld_28_29($4 | 0) | 0; + __stack_pointer = $3 + 16 | 0; + return $4 | 0; + } + + function cc__ccOverlapFilterCallback___ccOverlapFilterCallback_28_29($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + btOverlapFilterCallback___btOverlapFilterCallback_28_29($4 | 0) | 0; + __stack_pointer = $3 + 16 | 0; + return $4 | 0; + } + + function cc__ccDiscreteDynamicsWorld___ccDiscreteDynamicsWorld_28_29_1($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + cc__ccDiscreteDynamicsWorld___ccDiscreteDynamicsWorld_28_29($4 | 0) | 0; + cc__ccDiscreteDynamicsWorld__operator_20delete_28void__29($4 | 0); + __stack_pointer = $3 + 16 | 0; + return; + } + + function cc__ccDiscreteDynamicsWorld__operator_20delete_28void__29($0) { + $0 = $0 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + btAlignedFreeInternal_28void__29(HEAP32[($3 + 12 | 0) >> 2] | 0 | 0); + __stack_pointer = $3 + 16 | 0; + return; + } + + function btDiscreteDynamicsWorld__getWorldType_28_29_20const($0) { + $0 = $0 | 0; + HEAP32[((__stack_pointer - 16 | 0) + 12 | 0) >> 2] = $0; + return 2 | 0; + } + + function btDiscreteDynamicsWorld__setNumTasks_28int_29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0; + $4 = __stack_pointer - 16 | 0; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + return; + } + + function btDiscreteDynamicsWorld__updateVehicles_28float_29($0, $1) { + $0 = $0 | 0; + $1 = Math_fround($1); + var $4 = 0; + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAPF32[($4 + 8 | 0) >> 2] = $1; + btDiscreteDynamicsWorld__updateActions_28float_29(HEAP32[($4 + 12 | 0) >> 2] | 0 | 0, Math_fround(Math_fround(HEAPF32[($4 + 8 | 0) >> 2]))); + __stack_pointer = $4 + 16 | 0; + return; + } + + function btOverlapFilterCallback___btOverlapFilterCallback_28_29($0) { + $0 = $0 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + return HEAP32[($3 + 12 | 0) >> 2] | 0 | 0; + } + + function cc__ccOverlapFilterCallback___ccOverlapFilterCallback_28_29_1($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + cc__ccOverlapFilterCallback___ccOverlapFilterCallback_28_29($4 | 0) | 0; + operator_20delete_28void__29($4 | 0); + __stack_pointer = $3 + 16 | 0; + return; + } + + function cc__ccOverlapFilterCallback__needBroadphaseCollision_28btBroadphaseProxy__2c_20btBroadphaseProxy__29_20const($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $5 = 0, $21 = 0, $76 = 0; + $5 = __stack_pointer - 32 | 0; + __stack_pointer = $5; + HEAP32[($5 + 24 | 0) >> 2] = $0; + HEAP32[($5 + 20 | 0) >> 2] = $1; + HEAP32[($5 + 16 | 0) >> 2] = $2; + HEAP8[($5 + 15 | 0) >> 0] = ((HEAP32[((HEAP32[($5 + 20 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & (HEAP32[((HEAP32[($5 + 16 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) | 0 | 0) != (0 | 0) & 1 | 0; + $21 = 0; + label$1 : { + if (!((HEAPU8[($5 + 15 | 0) >> 0] | 0) & 1 | 0)) { + break label$1 + } + $21 = ((HEAP32[((HEAP32[($5 + 16 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) & (HEAP32[((HEAP32[($5 + 20 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0) | 0 | 0) != (0 | 0); + } + HEAP8[($5 + 15 | 0) >> 0] = $21 & 1 | 0; + label$2 : { + label$3 : { + if (!((HEAPU8[($5 + 15 | 0) >> 0] | 0) & 1 | 0)) { + break label$3 + } + HEAP32[($5 + 8 | 0) >> 2] = HEAP32[(HEAP32[($5 + 20 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($5 + 4 | 0) >> 2] = HEAP32[(HEAP32[($5 + 16 | 0) >> 2] | 0) >> 2] | 0; + label$4 : { + if (!((btCollisionObject__isStaticObject_28_29_20const(HEAP32[($5 + 8 | 0) >> 2] | 0 | 0) | 0) & 1 | 0)) { + break label$4 + } + if (!((btCollisionObject__isStaticObject_28_29_20const(HEAP32[($5 + 4 | 0) >> 2] | 0 | 0) | 0) & 1 | 0)) { + break label$4 + } + HEAP8[($5 + 31 | 0) >> 0] = 0 & 1 | 0; + break label$2; + } + label$5 : { + if (!((btCollisionObject__getActivationState_28_29_20const(HEAP32[($5 + 8 | 0) >> 2] | 0 | 0) | 0 | 0) == (2 | 0) & 1 | 0)) { + break label$5 + } + if (!((btCollisionObject__getActivationState_28_29_20const(HEAP32[($5 + 4 | 0) >> 2] | 0 | 0) | 0 | 0) == (2 | 0) & 1 | 0)) { + break label$5 + } + HEAP8[($5 + 31 | 0) >> 0] = 0 & 1 | 0; + break label$2; + } + } + HEAP8[($5 + 31 | 0) >> 0] = (HEAPU8[($5 + 15 | 0) >> 0] | 0) & 1 | 0; + } + $76 = (HEAPU8[($5 + 31 | 0) >> 0] | 0) & 1 | 0; + __stack_pointer = $5 + 32 | 0; + return $76 | 0; + } + + function btOverlapFilterCallback___btOverlapFilterCallback_28_29_1($0) { + $0 = $0 | 0; + HEAP32[((__stack_pointer - 16 | 0) + 12 | 0) >> 2] = $0; + wasm2js_trap(); + } + + function btGhostPairCallback___btGhostPairCallback_28_29($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + btOverlappingPairCallback___btOverlappingPairCallback_28_29($4 | 0) | 0; + __stack_pointer = $3 + 16 | 0; + return $4 | 0; + } + + function btGhostPairCallback___btGhostPairCallback_28_29_1($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + btGhostPairCallback___btGhostPairCallback_28_29($4 | 0) | 0; + operator_20delete_28void__29($4 | 0); + __stack_pointer = $3 + 16 | 0; + return; + } + + function btGhostPairCallback__addOverlappingPair_28btBroadphaseProxy__2c_20btBroadphaseProxy__29($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $5 = 0, $21 = 0, $33 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5 = __stack_pointer - 32 | 0; + __stack_pointer = $5; + HEAP32[($5 + 28 | 0) >> 2] = $0; + HEAP32[($5 + 24 | 0) >> 2] = $1; + HEAP32[($5 + 20 | 0) >> 2] = $2; + HEAP32[($5 + 16 | 0) >> 2] = HEAP32[(HEAP32[($5 + 24 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($5 + 12 | 0) >> 2] = HEAP32[(HEAP32[($5 + 20 | 0) >> 2] | 0) >> 2] | 0; + (wasm2js_i32$0 = $5, wasm2js_i32$1 = btGhostObject__upcast_28btCollisionObject__29(HEAP32[($5 + 16 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $5, wasm2js_i32$1 = btGhostObject__upcast_28btCollisionObject__29(HEAP32[($5 + 12 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + if (!((HEAP32[($5 + 8 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + $21 = HEAP32[($5 + 8 | 0) >> 2] | 0; + FUNCTION_TABLE[HEAP32[((HEAP32[$21 >> 2] | 0) + 28 | 0) >> 2] | 0 | 0]($21, HEAP32[($5 + 20 | 0) >> 2] | 0, HEAP32[($5 + 24 | 0) >> 2] | 0); + } + label$2 : { + if (!((HEAP32[($5 + 4 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$2 + } + $33 = HEAP32[($5 + 4 | 0) >> 2] | 0; + FUNCTION_TABLE[HEAP32[((HEAP32[$33 >> 2] | 0) + 28 | 0) >> 2] | 0 | 0]($33, HEAP32[($5 + 24 | 0) >> 2] | 0, HEAP32[($5 + 20 | 0) >> 2] | 0); + } + __stack_pointer = $5 + 32 | 0; + return 0 | 0; + } + + function btGhostObject__upcast_28btCollisionObject__29($0) { + $0 = $0 | 0; + var $3 = 0, $14 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 8 | 0) >> 2] = $0; + label$1 : { + label$2 : { + if (!((btCollisionObject__getInternalType_28_29_20const(HEAP32[($3 + 8 | 0) >> 2] | 0 | 0) | 0 | 0) == (4 | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($3 + 12 | 0) >> 2] = HEAP32[($3 + 8 | 0) >> 2] | 0; + break label$1; + } + HEAP32[($3 + 12 | 0) >> 2] = 0; + } + $14 = HEAP32[($3 + 12 | 0) >> 2] | 0; + __stack_pointer = $3 + 16 | 0; + return $14 | 0; + } + + function btGhostPairCallback__removeOverlappingPair_28btBroadphaseProxy__2c_20btBroadphaseProxy__2c_20btDispatcher__29($0, $1, $2, $3) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + var $6 = 0, $22 = 0, $35 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $6 = __stack_pointer - 32 | 0; + __stack_pointer = $6; + HEAP32[($6 + 28 | 0) >> 2] = $0; + HEAP32[($6 + 24 | 0) >> 2] = $1; + HEAP32[($6 + 20 | 0) >> 2] = $2; + HEAP32[($6 + 16 | 0) >> 2] = $3; + HEAP32[($6 + 12 | 0) >> 2] = HEAP32[(HEAP32[($6 + 24 | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($6 + 8 | 0) >> 2] = HEAP32[(HEAP32[($6 + 20 | 0) >> 2] | 0) >> 2] | 0; + (wasm2js_i32$0 = $6, wasm2js_i32$1 = btGhostObject__upcast_28btCollisionObject__29(HEAP32[($6 + 12 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $6, wasm2js_i32$1 = btGhostObject__upcast_28btCollisionObject__29(HEAP32[($6 + 8 | 0) >> 2] | 0 | 0) | 0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + label$1 : { + if (!((HEAP32[($6 + 4 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$1 + } + $22 = HEAP32[($6 + 4 | 0) >> 2] | 0; + FUNCTION_TABLE[HEAP32[((HEAP32[$22 >> 2] | 0) + 32 | 0) >> 2] | 0 | 0]($22, HEAP32[($6 + 20 | 0) >> 2] | 0, HEAP32[($6 + 16 | 0) >> 2] | 0, HEAP32[($6 + 24 | 0) >> 2] | 0); + } + label$2 : { + if (!((HEAP32[$6 >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$2 + } + $35 = HEAP32[$6 >> 2] | 0; + FUNCTION_TABLE[HEAP32[((HEAP32[$35 >> 2] | 0) + 32 | 0) >> 2] | 0 | 0]($35, HEAP32[($6 + 24 | 0) >> 2] | 0, HEAP32[($6 + 16 | 0) >> 2] | 0, HEAP32[($6 + 20 | 0) >> 2] | 0); + } + __stack_pointer = $6 + 32 | 0; + return 0 | 0; + } + + function btGhostPairCallback__removeOverlappingPairsContainingProxy_28btBroadphaseProxy__2c_20btDispatcher__29($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $5 = 0; + $5 = __stack_pointer - 16 | 0; + __stack_pointer = $5; + HEAP32[($5 + 12 | 0) >> 2] = $0; + HEAP32[($5 + 8 | 0) >> 2] = $1; + HEAP32[($5 + 4 | 0) >> 2] = $2; + __assert_fail(86177 | 0, 78520 | 0, 165 | 0, 65616 | 0); + wasm2js_trap(); + } + + function cc__ccNotMeClosestConvexResultCallback___ccNotMeClosestConvexResultCallback_28_29_1($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + cc__ccNotMeClosestConvexResultCallback___ccNotMeClosestConvexResultCallback_28_29($4 | 0) | 0; + operator_20delete_28void__29($4 | 0); + __stack_pointer = $3 + 16 | 0; + return; + } + + function cc__ccNotMeClosestConvexResultCallback__needsCollision_28btBroadphaseProxy__29_20const($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, $5 = 0, $27 = 0, $43 = 0; + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[($4 + 8 | 0) >> 2] = $0; + HEAP32[($4 + 4 | 0) >> 2] = $1; + $5 = HEAP32[($4 + 8 | 0) >> 2] | 0; + label$1 : { + label$2 : { + if (!((HEAP32[(HEAP32[($4 + 4 | 0) >> 2] | 0) >> 2] | 0 | 0) == (HEAP32[($5 + 88 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$2 + } + HEAP8[($4 + 15 | 0) >> 0] = 0 & 1 | 0; + break label$1; + } + label$3 : { + if ((btCollisionWorld__ConvexResultCallback__needsCollision_28btBroadphaseProxy__29_20const($5 | 0, HEAP32[($4 + 4 | 0) >> 2] | 0 | 0) | 0) & 1 | 0) { + break label$3 + } + HEAP8[($4 + 15 | 0) >> 0] = 0 & 1 | 0; + break label$1; + } + HEAP32[$4 >> 2] = HEAP32[(HEAP32[($4 + 4 | 0) >> 2] | 0) >> 2] | 0; + $27 = btCollisionWorld__getDispatcher_28_29(HEAP32[($5 + 92 | 0) >> 2] | 0 | 0) | 0; + label$4 : { + if ((FUNCTION_TABLE[HEAP32[((HEAP32[$27 >> 2] | 0) + 28 | 0) >> 2] | 0 | 0]($27, HEAP32[($5 + 88 | 0) >> 2] | 0, HEAP32[$4 >> 2] | 0) | 0) & 1 | 0) { + break label$4 + } + HEAP8[($4 + 15 | 0) >> 0] = 0 & 1 | 0; + break label$1; + } + HEAP8[($4 + 15 | 0) >> 0] = 1 & 1 | 0; + } + $43 = (HEAPU8[($4 + 15 | 0) >> 0] | 0) & 1 | 0; + __stack_pointer = $4 + 16 | 0; + return $43 | 0; + } + + function cc__ccNotMeClosestConvexResultCallback__addSingleResult_28btCollisionWorld__LocalConvexResult__2c_20bool_29($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $5 = 0, $7 = 0, $15 = Math_fround(0); + $5 = __stack_pointer - 16 | 0; + __stack_pointer = $5; + HEAP32[($5 + 12 | 0) >> 2] = $0; + HEAP32[($5 + 8 | 0) >> 2] = $1; + HEAP8[($5 + 7 | 0) >> 0] = $2; + $7 = HEAP32[($5 + 12 | 0) >> 2] | 0; + HEAP32[($7 + 84 | 0) >> 2] = HEAP32[((HEAP32[((HEAP32[($5 + 8 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + $15 = Math_fround(btCollisionWorld__ClosestConvexResultCallback__addSingleResult_28btCollisionWorld__LocalConvexResult__2c_20bool_29($7 | 0, HEAP32[($5 + 8 | 0) >> 2] | 0 | 0, (HEAPU8[($5 + 7 | 0) >> 0] | 0) & 1 | 0 | 0)); + __stack_pointer = $5 + 16 | 0; + return Math_fround($15); + } + + function _GLOBAL__sub_I_ccDiscreteDynamicsWorld_cpp() { + __cxx_global_var_init_80(); + return; + } + + function __cxx_global_var_init_81() { + btInfMaskConverter__btInfMaskConverter_28int_29(116176 | 0, 2139095040 | 0) | 0; + return; + } + + function cc__ccCompoundShape__updateChildTransform_28btCollisionShape__2c_20btTransform_20const__2c_20bool_29($0, $1, $2, $3) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + var $6 = 0, $8 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $6 = __stack_pointer - 32 | 0; + __stack_pointer = $6; + HEAP32[($6 + 28 | 0) >> 2] = $0; + HEAP32[($6 + 24 | 0) >> 2] = $1; + HEAP32[($6 + 20 | 0) >> 2] = $2; + HEAP8[($6 + 19 | 0) >> 0] = $3; + $8 = HEAP32[($6 + 28 | 0) >> 2] | 0; + (wasm2js_i32$0 = $6, wasm2js_i32$1 = (btAlignedObjectArray_btCompoundShapeChild___size_28_29_20const($8 + 20 | 0 | 0) | 0) - 1 | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + label$1 : { + label$2 : while (1) { + if (!((HEAP32[($6 + 12 | 0) >> 2] | 0 | 0) >= (0 | 0) & 1 | 0)) { + break label$1 + } + label$3 : { + if (!((HEAP32[((btAlignedObjectArray_btCompoundShapeChild___operator_5b_5d_28int_29($8 + 20 | 0 | 0, HEAP32[($6 + 12 | 0) >> 2] | 0 | 0) | 0) + 64 | 0) >> 2] | 0 | 0) == (HEAP32[($6 + 24 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$3 + } + btCompoundShape__updateChildTransform_28int_2c_20btTransform_20const__2c_20bool_29($8 | 0, HEAP32[($6 + 12 | 0) >> 2] | 0 | 0, HEAP32[($6 + 20 | 0) >> 2] | 0 | 0, (HEAPU8[($6 + 19 | 0) >> 0] | 0) & 1 | 0 | 0); + break label$1; + } + HEAP32[($6 + 12 | 0) >> 2] = (HEAP32[($6 + 12 | 0) >> 2] | 0) + -1 | 0; + continue label$2; + }; + } + __stack_pointer = $6 + 32 | 0; + return; + } + + function _GLOBAL__sub_I_ccCompoundShape_cpp() { + __cxx_global_var_init_81(); + return; + } + + function __cxx_global_var_init_82() { + btInfMaskConverter__btInfMaskConverter_28int_29(116180 | 0, 2139095040 | 0) | 0; + return; + } + + function btGhostObject__btGhostObject_28_29($0) { + $0 = $0 | 0; + var $4 = 0, $3 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + btCollisionObject__btCollisionObject_28_29($4 | 0) | 0; + HEAP32[$4 >> 2] = 103920 + 8 | 0; + btAlignedObjectArray_btCollisionObject____btAlignedObjectArray_28_29($4 + 324 | 0 | 0) | 0; + HEAP32[($4 + 252 | 0) >> 2] = 4; + __stack_pointer = $3 + 16 | 0; + return $4 | 0; + } + + function btGhostObject___btGhostObject_28_29($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0, $17 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 8 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 8 | 0) >> 2] | 0; + HEAP32[($3 + 12 | 0) >> 2] = $4; + HEAP32[$4 >> 2] = 103920 + 8 | 0; + label$1 : { + if (!(btAlignedObjectArray_btCollisionObject____size_28_29_20const($4 + 324 | 0 | 0) | 0)) { + break label$1 + } + __assert_fail(87492 | 0, 72085 | 0, 29 | 0, 68669 | 0); + wasm2js_trap(); + } + btAlignedObjectArray_btCollisionObject_____btAlignedObjectArray_28_29($4 + 324 | 0 | 0) | 0; + btCollisionObject___btCollisionObject_28_29($4 | 0) | 0; + $17 = HEAP32[($3 + 12 | 0) >> 2] | 0; + __stack_pointer = $3 + 16 | 0; + return $17 | 0; + } + + function btGhostObject___btGhostObject_28_29_1($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + FUNCTION_TABLE[1192 | 0]($4) | 0; + btCollisionObject__operator_20delete_28void__29($4 | 0); + __stack_pointer = $3 + 16 | 0; + return; + } + + function btGhostObject__addOverlappingObjectInternal_28btBroadphaseProxy__2c_20btBroadphaseProxy__29($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $5 = 0, $6 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5 = __stack_pointer - 32 | 0; + __stack_pointer = $5; + HEAP32[($5 + 28 | 0) >> 2] = $0; + HEAP32[($5 + 24 | 0) >> 2] = $1; + HEAP32[($5 + 20 | 0) >> 2] = $2; + $6 = HEAP32[($5 + 28 | 0) >> 2] | 0; + HEAP32[($5 + 16 | 0) >> 2] = HEAP32[(HEAP32[($5 + 24 | 0) >> 2] | 0) >> 2] | 0; + label$1 : { + if ((HEAP32[($5 + 16 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$1 + } + __assert_fail(68684 | 0, 72085 | 0, 36 | 0, 77471 | 0); + wasm2js_trap(); + } + (wasm2js_i32$0 = $5, wasm2js_i32$1 = btAlignedObjectArray_btCollisionObject____findLinearSearch_28btCollisionObject__20const__29_20const($6 + 324 | 0 | 0, $5 + 16 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + label$2 : { + if (!((HEAP32[($5 + 12 | 0) >> 2] | 0 | 0) == (btAlignedObjectArray_btCollisionObject____size_28_29_20const($6 + 324 | 0 | 0) | 0 | 0) & 1 | 0)) { + break label$2 + } + btAlignedObjectArray_btCollisionObject____push_back_28btCollisionObject__20const__29($6 + 324 | 0 | 0, $5 + 16 | 0 | 0); + } + __stack_pointer = $5 + 32 | 0; + return; + } + + function btGhostObject__removeOverlappingObjectInternal_28btBroadphaseProxy__2c_20btDispatcher__2c_20btBroadphaseProxy__29($0, $1, $2, $3) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + var $6 = 0, $7 = 0, $44 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $6 = __stack_pointer - 32 | 0; + __stack_pointer = $6; + HEAP32[($6 + 28 | 0) >> 2] = $0; + HEAP32[($6 + 24 | 0) >> 2] = $1; + HEAP32[($6 + 20 | 0) >> 2] = $2; + HEAP32[($6 + 16 | 0) >> 2] = $3; + $7 = HEAP32[($6 + 28 | 0) >> 2] | 0; + HEAP32[($6 + 12 | 0) >> 2] = HEAP32[(HEAP32[($6 + 24 | 0) >> 2] | 0) >> 2] | 0; + label$1 : { + if ((HEAP32[($6 + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$1 + } + __assert_fail(68684 | 0, 72085 | 0, 49 | 0, 77439 | 0); + wasm2js_trap(); + } + (wasm2js_i32$0 = $6, wasm2js_i32$1 = btAlignedObjectArray_btCollisionObject____findLinearSearch_28btCollisionObject__20const__29_20const($7 + 324 | 0 | 0, $6 + 12 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + label$2 : { + if (!((HEAP32[($6 + 8 | 0) >> 2] | 0 | 0) < (btAlignedObjectArray_btCollisionObject____size_28_29_20const($7 + 324 | 0 | 0) | 0 | 0) & 1 | 0)) { + break label$2 + } + $44 = HEAP32[(btAlignedObjectArray_btCollisionObject____operator_5b_5d_28int_29($7 + 324 | 0 | 0, (btAlignedObjectArray_btCollisionObject____size_28_29_20const($7 + 324 | 0 | 0) | 0) - 1 | 0 | 0) | 0) >> 2] | 0; + (wasm2js_i32$0 = btAlignedObjectArray_btCollisionObject____operator_5b_5d_28int_29($7 + 324 | 0 | 0, HEAP32[($6 + 8 | 0) >> 2] | 0 | 0) | 0, wasm2js_i32$1 = $44), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + btAlignedObjectArray_btCollisionObject____pop_back_28_29($7 + 324 | 0 | 0); + } + __stack_pointer = $6 + 32 | 0; + return; + } + + function btPairCachingGhostObject__btPairCachingGhostObject_28_29($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0, $12 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + btGhostObject__btGhostObject_28_29($4 | 0) | 0; + HEAP32[$4 >> 2] = 103964 + 8 | 0; + $12 = btHashedOverlappingPairCache__operator_20new_28unsigned_20long_2c_20void__29(72 | 0, btAlignedAllocInternal_28unsigned_20long_2c_20int_29(72 | 0, 16 | 0) | 0 | 0) | 0; + btHashedOverlappingPairCache__btHashedOverlappingPairCache_28_29($12 | 0) | 0; + HEAP32[($4 + 344 | 0) >> 2] = $12; + __stack_pointer = $3 + 16 | 0; + return $4 | 0; + } + + function btPairCachingGhostObject___btPairCachingGhostObject_28_29($0) { + $0 = $0 | 0; + var $4 = 0, $3 = 0, $8 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + HEAP32[$4 >> 2] = 103964 + 8 | 0; + $8 = HEAP32[($4 + 344 | 0) >> 2] | 0; + FUNCTION_TABLE[HEAP32[(HEAP32[$8 >> 2] | 0) >> 2] | 0 | 0]($8) | 0; + btAlignedFreeInternal_28void__29(HEAP32[($4 + 344 | 0) >> 2] | 0 | 0); + btGhostObject___btGhostObject_28_29($4 | 0) | 0; + __stack_pointer = $3 + 16 | 0; + return $4 | 0; + } + + function btPairCachingGhostObject___btPairCachingGhostObject_28_29_1($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + FUNCTION_TABLE[1193 | 0]($4) | 0; + btCollisionObject__operator_20delete_28void__29($4 | 0); + __stack_pointer = $3 + 16 | 0; + return; + } + + function btPairCachingGhostObject__addOverlappingObjectInternal_28btBroadphaseProxy__2c_20btBroadphaseProxy__29($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $5 = 0, $6 = 0, $15 = 0, $62 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $5 = __stack_pointer - 32 | 0; + __stack_pointer = $5; + HEAP32[($5 + 28 | 0) >> 2] = $0; + HEAP32[($5 + 24 | 0) >> 2] = $1; + HEAP32[($5 + 20 | 0) >> 2] = $2; + $6 = HEAP32[($5 + 28 | 0) >> 2] | 0; + label$1 : { + label$2 : { + if (!((HEAP32[($5 + 20 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$2 + } + $15 = HEAP32[($5 + 20 | 0) >> 2] | 0; + break label$1; + } + $15 = btCollisionObject__getBroadphaseHandle_28_29($6 | 0) | 0; + } + HEAP32[($5 + 16 | 0) >> 2] = $15; + label$3 : { + if ((HEAP32[($5 + 16 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$3 + } + __assert_fail(65600 | 0, 72085 | 0, 73 | 0, 77471 | 0); + wasm2js_trap(); + } + HEAP32[($5 + 12 | 0) >> 2] = HEAP32[(HEAP32[($5 + 24 | 0) >> 2] | 0) >> 2] | 0; + label$4 : { + if ((HEAP32[($5 + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$4 + } + __assert_fail(68684 | 0, 72085 | 0, 76 | 0, 77471 | 0); + wasm2js_trap(); + } + (wasm2js_i32$0 = $5, wasm2js_i32$1 = btAlignedObjectArray_btCollisionObject____findLinearSearch_28btCollisionObject__20const__29_20const($6 + 324 | 0 | 0, $5 + 12 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + label$5 : { + if (!((HEAP32[($5 + 8 | 0) >> 2] | 0 | 0) == (btAlignedObjectArray_btCollisionObject____size_28_29_20const($6 + 324 | 0 | 0) | 0 | 0) & 1 | 0)) { + break label$5 + } + btAlignedObjectArray_btCollisionObject____push_back_28btCollisionObject__20const__29($6 + 324 | 0 | 0, $5 + 12 | 0 | 0); + $62 = HEAP32[($6 + 344 | 0) >> 2] | 0; + FUNCTION_TABLE[HEAP32[((HEAP32[$62 >> 2] | 0) + 8 | 0) >> 2] | 0 | 0]($62, HEAP32[($5 + 16 | 0) >> 2] | 0, HEAP32[($5 + 24 | 0) >> 2] | 0) | 0; + } + __stack_pointer = $5 + 32 | 0; + return; + } + + function btPairCachingGhostObject__removeOverlappingObjectInternal_28btBroadphaseProxy__2c_20btDispatcher__2c_20btBroadphaseProxy__29($0, $1, $2, $3) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + var $6 = 0, $7 = 0, $18 = 0, $73 = 0, $66 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $6 = __stack_pointer - 32 | 0; + __stack_pointer = $6; + HEAP32[($6 + 28 | 0) >> 2] = $0; + HEAP32[($6 + 24 | 0) >> 2] = $1; + HEAP32[($6 + 20 | 0) >> 2] = $2; + HEAP32[($6 + 16 | 0) >> 2] = $3; + $7 = HEAP32[($6 + 28 | 0) >> 2] | 0; + HEAP32[($6 + 12 | 0) >> 2] = HEAP32[(HEAP32[($6 + 24 | 0) >> 2] | 0) >> 2] | 0; + label$1 : { + label$2 : { + if (!((HEAP32[($6 + 16 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$2 + } + $18 = HEAP32[($6 + 16 | 0) >> 2] | 0; + break label$1; + } + $18 = btCollisionObject__getBroadphaseHandle_28_29($7 | 0) | 0; + } + HEAP32[($6 + 8 | 0) >> 2] = $18; + label$3 : { + if ((HEAP32[($6 + 8 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$3 + } + __assert_fail(65600 | 0, 72085 | 0, 89 | 0, 77439 | 0); + wasm2js_trap(); + } + label$4 : { + if ((HEAP32[($6 + 12 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$4 + } + __assert_fail(68684 | 0, 72085 | 0, 91 | 0, 77439 | 0); + wasm2js_trap(); + } + (wasm2js_i32$0 = $6, wasm2js_i32$1 = btAlignedObjectArray_btCollisionObject____findLinearSearch_28btCollisionObject__20const__29_20const($7 + 324 | 0 | 0, $6 + 12 | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + label$5 : { + if (!((HEAP32[($6 + 4 | 0) >> 2] | 0 | 0) < (btAlignedObjectArray_btCollisionObject____size_28_29_20const($7 + 324 | 0 | 0) | 0 | 0) & 1 | 0)) { + break label$5 + } + $66 = HEAP32[(btAlignedObjectArray_btCollisionObject____operator_5b_5d_28int_29($7 + 324 | 0 | 0, (btAlignedObjectArray_btCollisionObject____size_28_29_20const($7 + 324 | 0 | 0) | 0) - 1 | 0 | 0) | 0) >> 2] | 0; + (wasm2js_i32$0 = btAlignedObjectArray_btCollisionObject____operator_5b_5d_28int_29($7 + 324 | 0 | 0, HEAP32[($6 + 4 | 0) >> 2] | 0 | 0) | 0, wasm2js_i32$1 = $66), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + btAlignedObjectArray_btCollisionObject____pop_back_28_29($7 + 324 | 0 | 0); + $73 = HEAP32[($7 + 344 | 0) >> 2] | 0; + FUNCTION_TABLE[HEAP32[((HEAP32[$73 >> 2] | 0) + 12 | 0) >> 2] | 0 | 0]($73, HEAP32[($6 + 8 | 0) >> 2] | 0, HEAP32[($6 + 24 | 0) >> 2] | 0, HEAP32[($6 + 20 | 0) >> 2] | 0) | 0; + } + __stack_pointer = $6 + 32 | 0; + return; + } + + function _GLOBAL__sub_I_btGhostObject_cpp() { + __cxx_global_var_init_82(); + return; + } + + function __cxx_global_var_init_83() { + btInfMaskConverter__btInfMaskConverter_28int_29(116184 | 0, 2139095040 | 0) | 0; + return; + } + + function __cxx_global_var_init_1_1() { + var $2 = 0; + $2 = __stack_pointer - 16 | 0; + __stack_pointer = $2; + HEAP32[($2 + 12 | 0) >> 2] = 116192; + std____2__basic_string_char_2c_20std____2__char_traits_char__2c_20std____2__allocator_char____basic_string_5babi_v160004_5d_std__nullptr_t__28char_20const__29(116192 | 0, 84159 | 0) | 0; + HEAP32[($2 + 12 | 0) >> 2] = 116192 + 12 | 0; + std____2__basic_string_char_2c_20std____2__char_traits_char__2c_20std____2__allocator_char____basic_string_5babi_v160004_5d_std__nullptr_t__28char_20const__29(116192 + 12 | 0 | 0, 84426 | 0) | 0; + HEAP32[($2 + 12 | 0) >> 2] = 116192 + 24 | 0; + std____2__basic_string_char_2c_20std____2__char_traits_char__2c_20std____2__allocator_char____basic_string_5babi_v160004_5d_std__nullptr_t__28char_20const__29(116192 + 24 | 0 | 0, 84257 | 0) | 0; + HEAP32[($2 + 12 | 0) >> 2] = 116192 + 36 | 0; + std____2__basic_string_char_2c_20std____2__char_traits_char__2c_20std____2__allocator_char____basic_string_5babi_v160004_5d_std__nullptr_t__28char_20const__29(116192 + 36 | 0 | 0, 84028 | 0) | 0; + __cxa_atexit(1200 | 0, 0 | 0, 65536 | 0) | 0; + __stack_pointer = $2 + 16 | 0; + return; + } + + function __cxx_global_array_dtor_2($0) { + $0 = $0 | 0; + var $3 = 0, $10 = 0, $7 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $7 = 116192 + 48 | 0; + label$1 : while (1) { + $10 = $7 + -12 | 0; + std____2__basic_string_char_2c_20std____2__char_traits_char__2c_20std____2__allocator_char_____basic_string_28_29($10 | 0) | 0; + $7 = $10; + if (!(($10 | 0) == (116192 | 0) & 1 | 0)) { + continue label$1 + } + break label$1; + }; + __stack_pointer = $3 + 16 | 0; + return; + } + + function btCharacterController__logMovementChange_28_29($0) { + $0 = $0 | 0; + HEAP32[((__stack_pointer - 16 | 0) + 12 | 0) >> 2] = $0; + return; + } + + function btCharacterController__move_28btVector3_20const__2c_20float_2c_20float_29($0, $1, $2, $3) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = Math_fround($2); + $3 = Math_fround($3); + var $7 = 0, $6 = 0, i64toi32_i32$2 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $24 = 0, $26 = 0, $125 = 0, $135 = 0, $68 = 0, wasm2js_i32$0 = 0, wasm2js_f32$0 = Math_fround(0), wasm2js_i32$1 = 0; + $6 = __stack_pointer - 32 | 0; + __stack_pointer = $6; + HEAP32[($6 + 28 | 0) >> 2] = $0; + HEAP32[($6 + 24 | 0) >> 2] = $1; + HEAPF32[($6 + 20 | 0) >> 2] = $2; + HEAPF32[($6 + 16 | 0) >> 2] = $3; + $7 = HEAP32[($6 + 28 | 0) >> 2] | 0; + (wasm2js_i32$0 = $7, wasm2js_f32$0 = Math_fround(FUNCTION_TABLE[HEAP32[((HEAP32[$7 >> 2] | 0) + 20 | 0) >> 2] | 0 | 0]($7))), HEAPF32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_f32$0; + HEAP8[($7 + 65 | 0) >> 0] = 0; + HEAPF32[($6 + 12 | 0) >> 2] = Math_fround(.009999999776482582); + (wasm2js_i32$0 = $7, wasm2js_f32$0 = Math_fround(HEAPF32[(float_20const__20btMax_float__28float_20const__2c_20float_20const__29($7 + 36 | 0 | 0, $6 + 12 | 0 | 0) | 0) >> 2])), HEAPF32[(wasm2js_i32$0 + 36 | 0) >> 2] = wasm2js_f32$0; + $24 = $7 + 136 | 0; + i64toi32_i32$2 = btTransform__getOrigin_28_29(btCollisionObject__getWorldTransform_28_29(HEAP32[($7 + 4 | 0) >> 2] | 0 | 0) | 0 | 0) | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $125 = i64toi32_i32$0; + i64toi32_i32$0 = $24; + HEAP32[i64toi32_i32$0 >> 2] = $125; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $26 = 8; + i64toi32_i32$2 = i64toi32_i32$2 + $26 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $135 = i64toi32_i32$1; + i64toi32_i32$1 = $24 + $26 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $135; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + (wasm2js_i32$0 = $6, wasm2js_i32$1 = btCharacterController__moveCharacter_28btVector3_20const__2c_20float_2c_20float_29($7 | 0, HEAP32[($6 + 24 | 0) >> 2] | 0 | 0, Math_fround(Math_fround(HEAPF32[($6 + 20 | 0) >> 2])), Math_fround(Math_fround(HEAPF32[($6 + 16 | 0) >> 2]))) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + btCharacterController__logMovementChange_28_29($7 | 0); + label$1 : { + if (!((HEAPU8[($7 + 60 | 0) >> 0] | 0) & 1 | 0)) { + break label$1 + } + HEAP8[($7 + 61 | 0) >> 0] = 1; + btTransform__setOrigin_28btVector3_20const__29(btCollisionObject__getWorldTransform_28_29(HEAP32[($7 + 4 | 0) >> 2] | 0 | 0) | 0 | 0, $7 + 136 | 0 | 0); + (wasm2js_i32$0 = $6, wasm2js_i32$1 = btCharacterController__moveCharacter_28btVector3_20const__2c_20float_2c_20float_29($7 | 0, HEAP32[($6 + 24 | 0) >> 2] | 0 | 0, Math_fround(Math_fround(HEAPF32[($6 + 20 | 0) >> 2])), Math_fround(Math_fround(HEAPF32[($6 + 16 | 0) >> 2]))) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + HEAP8[($7 + 61 | 0) >> 0] = 0; + btCharacterController__logMovementChange_28_29($7 | 0); + } + label$2 : { + if (!((HEAPU8[($7 + 65 | 0) >> 0] | 0) & 1 | 0)) { + break label$2 + } + if (!((FUNCTION_TABLE[HEAP32[((HEAP32[$7 >> 2] | 0) + 16 | 0) >> 2] | 0 | 0]($7) | 0 | 0) == (1 | 0) & 1 | 0)) { + break label$2 + } + if (!((HEAP32[($6 + 8 | 0) >> 2] | 0) & 4 | 0)) { + break label$2 + } + HEAP8[($7 + 64 | 0) >> 0] = 1; + btCharacterController__moveCharacter_28btVector3_20const__2c_20float_2c_20float_29($7 | 0, HEAP32[($6 + 24 | 0) >> 2] | 0 | 0, Math_fround(Math_fround(HEAPF32[($6 + 20 | 0) >> 2])), Math_fround(Math_fround(HEAPF32[($6 + 16 | 0) >> 2]))) | 0; + HEAP8[($7 + 64 | 0) >> 0] = 0; + btCharacterController__logMovementChange_28_29($7 | 0); + } + HEAP32[($7 + 132 | 0) >> 2] = HEAP32[($6 + 8 | 0) >> 2] | 0; + $68 = HEAP32[($6 + 8 | 0) >> 2] | 0; + __stack_pointer = $6 + 32 | 0; + return $68 | 0; + } + + function btCharacterController__moveCharacter_28btVector3_20const__2c_20float_2c_20float_29($0, $1, $2, $3) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = Math_fround($2); + $3 = Math_fround($3); + var $6 = 0, $7 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, $76 = 0, $85 = 0, $94 = 0, $107 = 0, $462 = 0, $466 = 0, $482 = 0, $486 = 0, $502 = 0, $506 = 0, $295 = 0, wasm2js_i32$0 = 0, wasm2js_f32$0 = Math_fround(0); + $6 = __stack_pointer - 208 | 0; + __stack_pointer = $6; + HEAP32[($6 + 200 | 0) >> 2] = $0; + HEAP32[($6 + 196 | 0) >> 2] = $1; + HEAPF32[($6 + 192 | 0) >> 2] = $2; + HEAPF32[($6 + 188 | 0) >> 2] = $3; + $7 = HEAP32[($6 + 200 | 0) >> 2] | 0; + HEAP8[($6 + 187 | 0) >> 0] = 0; + HEAP8[($7 + 60 | 0) >> 0] = 0; + HEAP32[($6 + 180 | 0) >> 2] = 0; + HEAP32[($6 + 176 | 0) >> 2] = 10; + HEAP32[($6 + 172 | 0) >> 2] = 10; + HEAP32[($6 + 168 | 0) >> 2] = 10; + HEAP32[($6 + 164 | 0) >> 2] = 1; + HEAP32[($6 + 160 | 0) >> 2] = $7 + 40 | 0; + HEAPF32[($6 + 140 | 0) >> 2] = Math_fround(0 | 0); + HEAPF32[($6 + 136 | 0) >> 2] = Math_fround(0 | 0); + HEAPF32[($6 + 132 | 0) >> 2] = Math_fround(0 | 0); + btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($6 + 144 | 0 | 0, $6 + 140 | 0 | 0, $6 + 136 | 0 | 0, $6 + 132 | 0 | 0) | 0; + HEAPF32[($6 + 108 | 0) >> 2] = Math_fround(0 | 0); + HEAPF32[($6 + 104 | 0) >> 2] = Math_fround(0 | 0); + HEAPF32[($6 + 100 | 0) >> 2] = Math_fround(0 | 0); + btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($6 + 112 | 0 | 0, $6 + 108 | 0 | 0, $6 + 104 | 0 | 0, $6 + 100 | 0 | 0) | 0; + btVector3__btVector3_28_29($6 + 84 | 0 | 0) | 0; + btVector3__btVector3_28_29($6 + 68 | 0 | 0) | 0; + decomposeVector_28btVector3__2c_20btVector3__2c_20btVector3_20const__2c_20btVector3_20const__29($6 + 84 | 0 | 0, $6 + 68 | 0 | 0, HEAP32[($6 + 196 | 0) >> 2] | 0 | 0, HEAP32[($6 + 160 | 0) >> 2] | 0 | 0); + (wasm2js_i32$0 = $6, wasm2js_f32$0 = Math_fround(btVector3__dot_28btVector3_20const__29_20const(HEAP32[($6 + 196 | 0) >> 2] | 0 | 0, HEAP32[($6 + 160 | 0) >> 2] | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 64 | 0) >> 2] = wasm2js_f32$0; + label$1 : { + label$2 : { + if (!(Math_fround(HEAPF32[($6 + 64 | 0) >> 2]) <= Math_fround(0 | 0) & 1 | 0)) { + break label$2 + } + $76 = 8; + i64toi32_i32$2 = ($6 + 84 | 0) + $76 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $462 = i64toi32_i32$0; + i64toi32_i32$0 = ($6 + 112 | 0) + $76 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $462; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$2 = $6; + i64toi32_i32$1 = HEAP32[($6 + 84 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($6 + 88 | 0) >> 2] | 0; + $466 = i64toi32_i32$1; + i64toi32_i32$1 = $6; + HEAP32[($6 + 112 | 0) >> 2] = $466; + HEAP32[($6 + 116 | 0) >> 2] = i64toi32_i32$0; + break label$1; + } + $85 = 8; + i64toi32_i32$2 = ($6 + 84 | 0) + $85 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $482 = i64toi32_i32$0; + i64toi32_i32$0 = ($6 + 144 | 0) + $85 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $482; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$2 = $6; + i64toi32_i32$1 = HEAP32[($6 + 84 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($6 + 88 | 0) >> 2] | 0; + $486 = i64toi32_i32$1; + i64toi32_i32$1 = $6; + HEAP32[($6 + 144 | 0) >> 2] = $486; + HEAP32[($6 + 148 | 0) >> 2] = i64toi32_i32$0; + } + $94 = 8; + i64toi32_i32$2 = ($6 + 68 | 0) + $94 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $502 = i64toi32_i32$0; + i64toi32_i32$0 = ($6 + 48 | 0) + $94 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $502; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$2 = $6; + i64toi32_i32$1 = HEAP32[($6 + 68 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($6 + 72 | 0) >> 2] | 0; + $506 = i64toi32_i32$1; + i64toi32_i32$1 = $6; + HEAP32[($6 + 48 | 0) >> 2] = $506; + HEAP32[($6 + 52 | 0) >> 2] = i64toi32_i32$0; + $107 = 0; + label$3 : { + if ((HEAPU8[($6 + 187 | 0) >> 0] | 0) & 1 | 0) { + break label$3 + } + $107 = btVector3__fuzzyZero_28_29_20const($6 + 48 | 0 | 0) | 0; + } + HEAP8[($6 + 47 | 0) >> 0] = $107 & 1 | 0; + label$4 : { + label$5 : { + if ((HEAPU8[($6 + 47 | 0) >> 0] | 0) & 1 | 0) { + break label$5 + } + HEAP8[($7 + 65 | 0) >> 0] = 1; + break label$4; + } + HEAP8[($7 + 65 | 0) >> 0] = 0; + } + label$6 : { + if ((HEAPU8[($7 + 61 | 0) >> 0] | 0) & 1 | 0) { + break label$6 + } + if ((HEAPU8[($7 + 64 | 0) >> 0] | 0) & 1 | 0) { + break label$6 + } + label$7 : { + if ((HEAPU8[($6 + 47 | 0) >> 0] | 0) & 1 | 0) { + break label$7 + } + operator__28btVector3_20const__2c_20float_20const__29($6 + 28 | 0 | 0, HEAP32[($6 + 160 | 0) >> 2] | 0 | 0, $7 + 32 | 0 | 0); + btVector3__operator___28btVector3_20const__29_1($6 + 144 | 0 | 0, $6 + 28 | 0 | 0) | 0; + } + label$8 : { + if ((btVector3__fuzzyZero_28_29_20const($6 + 144 | 0 | 0) | 0) & 1 | 0) { + break label$8 + } + } + HEAP8[($7 + 108 | 0) >> 0] = 0; + label$9 : { + if (!((btCharacterController__doSweepTest_28btVector3_20const__2c_20float_2c_20SweepPass_2c_20int_29($7 | 0, $6 + 144 | 0 | 0, Math_fround(Math_fround(HEAPF32[($6 + 192 | 0) >> 2])), 0 | 0, 10 | 0) | 0) & 1 | 0)) { + break label$9 + } + HEAP32[($6 + 180 | 0) >> 2] = HEAP32[($6 + 180 | 0) >> 2] | 0 | 2 | 0; + } + } + label$10 : { + if ((HEAPU8[($7 + 64 | 0) >> 0] | 0) & 1 | 0) { + break label$10 + } + label$11 : { + if ((HEAPU8[($7 + 61 | 0) >> 0] | 0) & 1 | 0) { + break label$11 + } + if (!((FUNCTION_TABLE[HEAP32[((HEAP32[$7 >> 2] | 0) + 16 | 0) >> 2] | 0 | 0]($7) | 0 | 0) == (1 | 0) & 1 | 0)) { + break label$11 + } + HEAP8[($7 + 108 | 0) >> 0] = 1; + } + label$12 : { + if (!((btCharacterController__doSweepTest_28btVector3_20const__2c_20float_2c_20SweepPass_2c_20int_29($7 | 0, $6 + 48 | 0 | 0, Math_fround(Math_fround(HEAPF32[($6 + 192 | 0) >> 2])), 1 | 0, 10 | 0) | 0) & 1 | 0)) { + break label$12 + } + HEAP32[($6 + 180 | 0) >> 2] = HEAP32[($6 + 180 | 0) >> 2] | 0 | 1 | 0; + } + label$13 : { + if ((HEAPU8[($7 + 61 | 0) >> 0] | 0) & 1 | 0) { + break label$13 + } + if (!((FUNCTION_TABLE[HEAP32[((HEAP32[$7 >> 2] | 0) + 16 | 0) >> 2] | 0 | 0]($7) | 0 | 0) == (1 | 0) & 1 | 0)) { + break label$13 + } + HEAP8[($7 + 108 | 0) >> 0] = 0; + } + } + label$14 : { + if ((HEAPU8[($6 + 47 | 0) >> 0] | 0) & 1 | 0) { + break label$14 + } + operator__28btVector3_20const__2c_20float_20const__29($6 + 12 | 0 | 0, HEAP32[($6 + 160 | 0) >> 2] | 0 | 0, $7 + 32 | 0 | 0); + btVector3__operator___28btVector3_20const__29($6 + 112 | 0 | 0, $6 + 12 | 0 | 0) | 0; + } + label$15 : { + if ((HEAPU8[($7 + 61 | 0) >> 0] | 0) & 1 | 0) { + break label$15 + } + if (!((FUNCTION_TABLE[HEAP32[((HEAP32[$7 >> 2] | 0) + 16 | 0) >> 2] | 0 | 0]($7) | 0 | 0) == (1 | 0) & 1 | 0)) { + break label$15 + } + HEAP8[($7 + 108 | 0) >> 0] = 1; + } + label$16 : { + label$17 : { + if ((HEAPU8[($7 + 64 | 0) >> 0] | 0) & 1 | 0) { + break label$17 + } + if ((HEAPU8[($7 + 65 | 0) >> 0] | 0) & 1 | 0) { + break label$16 + } + } + HEAP8[($7 + 108 | 0) >> 0] = 0; + } + label$18 : { + label$19 : { + if (!((btCharacterController__doSweepTest_28btVector3_20const__2c_20float_2c_20SweepPass_2c_20int_29($7 | 0, $6 + 112 | 0 | 0, Math_fround(Math_fround(HEAPF32[($6 + 192 | 0) >> 2])), 2 | 0, 1 | 0) | 0) & 1 | 0)) { + break label$19 + } + HEAP32[($6 + 180 | 0) >> 2] = HEAP32[($6 + 180 | 0) >> 2] | 0 | 4 | 0; + label$20 : { + if ((HEAPU8[($7 + 64 | 0) >> 0] | 0) & 1 | 0) { + break label$20 + } + label$21 : { + if (!((testSlope_28btVector3_20const__2c_20btVector3_20const__2c_20float_29($7 + 72 | 0 | 0, $7 + 40 | 0 | 0, Math_fround(Math_fround(btCos_28float_29(Math_fround(Math_fround(HEAPF32[($7 + 28 | 0) >> 2])))))) | 0) & 1 | 0)) { + break label$21 + } + HEAP8[($7 + 60 | 0) >> 0] = 1; + label$22 : { + if ((HEAPU8[($7 + 61 | 0) >> 0] | 0) & 1 | 0) { + break label$22 + } + label$23 : { + if ((HEAPU8[($7 + 64 | 0) >> 0] | 0) & 1 | 0) { + break label$23 + } + if ((HEAPU8[($7 + 61 | 0) >> 0] | 0) & 1 | 0) { + break label$23 + } + if (!((FUNCTION_TABLE[HEAP32[((HEAP32[$7 >> 2] | 0) + 16 | 0) >> 2] | 0 | 0]($7) | 0 | 0) == (1 | 0) & 1 | 0)) { + break label$23 + } + HEAP8[($7 + 108 | 0) >> 0] = 0; + } + HEAP32[($6 + 204 | 0) >> 2] = HEAP32[($6 + 180 | 0) >> 2] | 0; + break label$18; + } + } + } + } + label$24 : { + if ((HEAPU8[($7 + 61 | 0) >> 0] | 0) & 1 | 0) { + break label$24 + } + if (!((FUNCTION_TABLE[HEAP32[((HEAP32[$7 >> 2] | 0) + 16 | 0) >> 2] | 0 | 0]($7) | 0 | 0) == (1 | 0) & 1 | 0)) { + break label$24 + } + HEAP8[($7 + 108 | 0) >> 0] = 0; + } + HEAP32[($6 + 204 | 0) >> 2] = HEAP32[($6 + 180 | 0) >> 2] | 0; + } + $295 = HEAP32[($6 + 204 | 0) >> 2] | 0; + __stack_pointer = $6 + 208 | 0; + return $295 | 0; + } + + function decomposeVector_28btVector3__2c_20btVector3__2c_20btVector3_20const__2c_20btVector3_20const__29($0, $1, $2, $3) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + var $6 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, $17 = 0, $19 = 0, $30 = 0, $32 = 0, $7 = 0, $80 = 0, $93 = 0, $110 = 0, $123 = 0, wasm2js_i32$0 = 0, wasm2js_f32$0 = Math_fround(0); + $6 = __stack_pointer - 64 | 0; + __stack_pointer = $6; + HEAP32[($6 + 60 | 0) >> 2] = $0; + HEAP32[($6 + 56 | 0) >> 2] = $1; + HEAP32[($6 + 52 | 0) >> 2] = $2; + HEAP32[($6 + 48 | 0) >> 2] = $3; + $7 = HEAP32[($6 + 48 | 0) >> 2] | 0; + (wasm2js_i32$0 = $6, wasm2js_f32$0 = Math_fround(btVector3__dot_28btVector3_20const__29_20const(HEAP32[($6 + 52 | 0) >> 2] | 0 | 0, HEAP32[($6 + 48 | 0) >> 2] | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 28 | 0) >> 2] = wasm2js_f32$0; + operator__28btVector3_20const__2c_20float_20const__29($6 + 32 | 0 | 0, $7 | 0, $6 + 28 | 0 | 0); + $17 = HEAP32[($6 + 60 | 0) >> 2] | 0; + i64toi32_i32$2 = $6; + i64toi32_i32$0 = HEAP32[($6 + 32 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($6 + 36 | 0) >> 2] | 0; + $80 = i64toi32_i32$0; + i64toi32_i32$0 = $17; + HEAP32[i64toi32_i32$0 >> 2] = $80; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $19 = 8; + i64toi32_i32$2 = ($6 + 32 | 0) + $19 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $93 = i64toi32_i32$1; + i64toi32_i32$1 = $17 + $19 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $93; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + operator__28btVector3_20const__2c_20btVector3_20const__29($6 + 12 | 0 | 0, HEAP32[($6 + 52 | 0) >> 2] | 0 | 0, HEAP32[($6 + 60 | 0) >> 2] | 0 | 0); + $30 = HEAP32[($6 + 56 | 0) >> 2] | 0; + i64toi32_i32$2 = $6; + i64toi32_i32$0 = HEAP32[($6 + 12 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($6 + 16 | 0) >> 2] | 0; + $110 = i64toi32_i32$0; + i64toi32_i32$0 = $30; + HEAP32[i64toi32_i32$0 >> 2] = $110; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $32 = 8; + i64toi32_i32$2 = ($6 + 12 | 0) + $32 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $123 = i64toi32_i32$1; + i64toi32_i32$1 = $30 + $32 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $123; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + __stack_pointer = $6 + 64 | 0; + return; + } + + function btCharacterController__doSweepTest_28btVector3_20const__2c_20float_2c_20SweepPass_2c_20int_29($0, $1, $2, $3, $4) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = Math_fround($2); + $3 = $3 | 0; + $4 = $4 | 0; + var $7 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, $8 = 0, $20 = 0, $21 = 0, $28 = 0, $41 = 0, $98 = 0, $133 = 0, $135 = 0, $146 = 0, $148 = 0, $156 = 0, $158 = 0, $172 = 0, $205 = 0, $207 = 0, $218 = 0, $220 = 0, $228 = 0, $230 = 0, $237 = 0, $305 = 0, $307 = 0, $317 = 0, $319 = 0, $352 = 0, $354 = 0, $444 = 0, $448 = 0, $464 = 0, $468 = 0, $607 = 0, $611 = 0, $668 = 0, $678 = 0, $693 = 0, $703 = 0, $714 = 0, $727 = 0, $817 = 0, $827 = 0, $842 = 0, $852 = 0, $863 = 0, $876 = 0, $1025 = 0, $1035 = 0, $1049 = 0, $1059 = 0, $1121 = 0, $1134 = 0, $388 = 0, wasm2js_i32$0 = 0, wasm2js_f32$0 = Math_fround(0), wasm2js_i32$1 = 0; + $7 = __stack_pointer - 336 | 0; + __stack_pointer = $7; + HEAP32[($7 + 328 | 0) >> 2] = $0; + HEAP32[($7 + 324 | 0) >> 2] = $1; + HEAPF32[($7 + 320 | 0) >> 2] = $2; + HEAP32[($7 + 316 | 0) >> 2] = $3; + HEAP32[($7 + 312 | 0) >> 2] = $4; + $8 = HEAP32[($7 + 328 | 0) >> 2] | 0; + label$1 : { + label$2 : { + if (!((btVector3__fuzzyZero_28_29_20const(HEAP32[($7 + 324 | 0) >> 2] | 0 | 0) | 0) & 1 | 0)) { + break label$2 + } + HEAP8[($7 + 335 | 0) >> 0] = 0 & 1 | 0; + break label$1; + } + HEAP8[($7 + 311 | 0) >> 0] = 0; + HEAP8[($7 + 310 | 0) >> 0] = 0; + $20 = btTransform__getOrigin_28_29(btCollisionObject__getWorldTransform_28_29(HEAP32[($8 + 4 | 0) >> 2] | 0 | 0) | 0 | 0) | 0; + $21 = 8; + i64toi32_i32$2 = $20 + $21 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $444 = i64toi32_i32$0; + i64toi32_i32$0 = ($7 + 288 | 0) + $21 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $444; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$2 = $20; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $448 = i64toi32_i32$1; + i64toi32_i32$1 = $7; + HEAP32[($7 + 288 | 0) >> 2] = $448; + HEAP32[($7 + 292 | 0) >> 2] = i64toi32_i32$0; + $28 = 8; + i64toi32_i32$2 = ($7 + 288 | 0) + $28 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $464 = i64toi32_i32$0; + i64toi32_i32$0 = ($7 + 272 | 0) + $28 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $464; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$2 = $7; + i64toi32_i32$1 = HEAP32[($7 + 288 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($7 + 292 | 0) >> 2] | 0; + $468 = i64toi32_i32$1; + i64toi32_i32$1 = $7; + HEAP32[($7 + 272 | 0) >> 2] = $468; + HEAP32[($7 + 276 | 0) >> 2] = i64toi32_i32$0; + btVector3__operator___28btVector3_20const__29_1($7 + 272 | 0 | 0, HEAP32[($7 + 324 | 0) >> 2] | 0 | 0) | 0; + label$3 : { + label$4 : while (1) { + $41 = HEAP32[($7 + 312 | 0) >> 2] | 0; + HEAP32[($7 + 312 | 0) >> 2] = $41 + -1 | 0; + if (!$41) { + break label$3 + } + operator__28btVector3_20const__2c_20btVector3_20const__29($7 + 256 | 0 | 0, $7 + 272 | 0 | 0, $7 + 288 | 0 | 0); + (wasm2js_i32$0 = $7, wasm2js_f32$0 = Math_fround(btVector3__length_28_29_20const($7 + 256 | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 252 | 0) >> 2] = wasm2js_f32$0; + label$5 : { + if (!(Math_fround(HEAPF32[($7 + 252 | 0) >> 2]) <= Math_fround(HEAPF32[($7 + 320 | 0) >> 2]) & 1 | 0)) { + break label$5 + } + break label$3; + } + btVector3__operator___28float_20const__29($7 + 256 | 0 | 0, $7 + 252 | 0 | 0) | 0; + label$6 : { + if (!(Math_fround(btVector3__dot_28btVector3_20const__29_20const($7 + 256 | 0 | 0, HEAP32[($7 + 324 | 0) >> 2] | 0 | 0)) <= Math_fround(0 | 0) & 1 | 0)) { + break label$6 + } + break label$3; + } + HEAP8[($7 + 311 | 0) >> 0] = 1; + btSweptContact__btSweptContact_28_29($7 + 208 | 0 | 0) | 0; + HEAPF32[($7 + 240 | 0) >> 2] = Math_fround(Math_fround(HEAPF32[($7 + 252 | 0) >> 2]) + Math_fround(HEAPF32[($8 + 36 | 0) >> 2])); + label$7 : { + if ((btCharacterController__collideGeoms_28btVector3_20const__2c_20btVector3_20const__2c_20btSweptContact__29($8 | 0, $7 + 288 | 0 | 0, $7 + 272 | 0 | 0, $7 + 208 | 0 | 0) | 0) & 1 | 0) { + break label$7 + } + HEAP8[($7 + 310 | 0) >> 0] = 0; + $98 = 8; + i64toi32_i32$2 = ($7 + 272 | 0) + $98 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $607 = i64toi32_i32$0; + i64toi32_i32$0 = ($7 + 288 | 0) + $98 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $607; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$2 = $7; + i64toi32_i32$1 = HEAP32[($7 + 272 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($7 + 276 | 0) >> 2] | 0; + $611 = i64toi32_i32$1; + i64toi32_i32$1 = $7; + HEAP32[($7 + 288 | 0) >> 2] = $611; + HEAP32[($7 + 292 | 0) >> 2] = i64toi32_i32$0; + break label$3; + } + HEAP8[($7 + 310 | 0) >> 0] = 1; + label$8 : { + if (!((HEAP32[($8 + 20 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$8 + } + label$9 : { + label$10 : { + if (!((btCollisionObject__getInternalType_28_29_20const(HEAP32[($7 + 244 | 0) >> 2] | 0 | 0) | 0) & 2 | 0)) { + break label$10 + } + btControllerShapeHit__btControllerShapeHit_28_29($7 + 144 | 0 | 0) | 0; + HEAP32[($7 + 144 | 0) >> 2] = $8; + HEAP32[($7 + 200 | 0) >> 2] = HEAP32[($7 + 248 | 0) >> 2] | 0; + HEAP32[($7 + 204 | 0) >> 2] = HEAP32[($7 + 244 | 0) >> 2] | 0; + $133 = ($7 + 144 | 0) + 20 | 0; + i64toi32_i32$2 = ($7 + 208 | 0) + 16 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $668 = i64toi32_i32$0; + i64toi32_i32$0 = $133; + HEAP32[i64toi32_i32$0 >> 2] = $668; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $135 = 8; + i64toi32_i32$2 = i64toi32_i32$2 + $135 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $678 = i64toi32_i32$1; + i64toi32_i32$1 = $133 + $135 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $678; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + $146 = ($7 + 144 | 0) + 4 | 0; + i64toi32_i32$2 = $7 + 208 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $693 = i64toi32_i32$0; + i64toi32_i32$0 = $146; + HEAP32[i64toi32_i32$0 >> 2] = $693; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $148 = 8; + i64toi32_i32$2 = i64toi32_i32$2 + $148 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $703 = i64toi32_i32$1; + i64toi32_i32$1 = $146 + $148 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $703; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + $156 = ($7 + 144 | 0) + 36 | 0; + i64toi32_i32$2 = $7; + i64toi32_i32$0 = HEAP32[($7 + 256 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($7 + 260 | 0) >> 2] | 0; + $714 = i64toi32_i32$0; + i64toi32_i32$0 = $156; + HEAP32[i64toi32_i32$0 >> 2] = $714; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $158 = 8; + i64toi32_i32$2 = ($7 + 256 | 0) + $158 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $727 = i64toi32_i32$1; + i64toi32_i32$1 = $156 + $158 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $727; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + HEAPF32[($7 + 196 | 0) >> 2] = Math_fround(HEAPF32[($7 + 252 | 0) >> 2]); + label$11 : { + label$12 : { + if (!((HEAP32[($7 + 248 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$12 + } + $172 = HEAP32[($8 + 20 | 0) >> 2] | 0; + FUNCTION_TABLE[HEAP32[(HEAP32[$172 >> 2] | 0) >> 2] | 0 | 0]($172, $7 + 144 | 0); + break label$11; + } + } + break label$9; + } + label$13 : { + if (!((btCollisionObject__getInternalType_28_29_20const(HEAP32[($7 + 244 | 0) >> 2] | 0 | 0) | 0) & 4 | 0)) { + break label$13 + } + (wasm2js_i32$0 = $7, wasm2js_i32$1 = btCollisionObject__getUserPointer_28_29_20const(HEAP32[($7 + 244 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 140 | 0) >> 2] = wasm2js_i32$1; + label$14 : { + if (!((HEAP32[($7 + 140 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$14 + } + HEAP32[($7 + 136 | 0) >> 2] = HEAP32[($7 + 140 | 0) >> 2] | 0; + btControllersHit__btControllersHit_28_29($7 + 76 | 0 | 0) | 0; + HEAP32[($7 + 76 | 0) >> 2] = $8; + HEAP32[($7 + 132 | 0) >> 2] = HEAP32[($7 + 136 | 0) >> 2] | 0; + $205 = ($7 + 76 | 0) + 20 | 0; + i64toi32_i32$2 = ($7 + 208 | 0) + 16 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $817 = i64toi32_i32$0; + i64toi32_i32$0 = $205; + HEAP32[i64toi32_i32$0 >> 2] = $817; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $207 = 8; + i64toi32_i32$2 = i64toi32_i32$2 + $207 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $827 = i64toi32_i32$1; + i64toi32_i32$1 = $205 + $207 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $827; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + $218 = ($7 + 76 | 0) + 4 | 0; + i64toi32_i32$2 = $7 + 208 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $842 = i64toi32_i32$0; + i64toi32_i32$0 = $218; + HEAP32[i64toi32_i32$0 >> 2] = $842; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $220 = 8; + i64toi32_i32$2 = i64toi32_i32$2 + $220 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $852 = i64toi32_i32$1; + i64toi32_i32$1 = $218 + $220 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $852; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + $228 = ($7 + 76 | 0) + 36 | 0; + i64toi32_i32$2 = $7; + i64toi32_i32$0 = HEAP32[($7 + 256 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($7 + 260 | 0) >> 2] | 0; + $863 = i64toi32_i32$0; + i64toi32_i32$0 = $228; + HEAP32[i64toi32_i32$0 >> 2] = $863; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $230 = 8; + i64toi32_i32$2 = ($7 + 256 | 0) + $230 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $876 = i64toi32_i32$1; + i64toi32_i32$1 = $228 + $230 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $876; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + HEAPF32[($7 + 128 | 0) >> 2] = Math_fround(HEAPF32[($7 + 252 | 0) >> 2]); + $237 = HEAP32[($8 + 20 | 0) >> 2] | 0; + FUNCTION_TABLE[HEAP32[((HEAP32[$237 >> 2] | 0) + 4 | 0) >> 2] | 0 | 0]($237, $7 + 76 | 0); + } + } + } + } + label$15 : { + if (!((HEAPU8[($8 + 63 | 0) >> 0] | 0) & 1 | 0)) { + break label$15 + } + if (!(Math_fround(HEAPF32[($7 + 240 | 0) >> 2]) == Math_fround(0 | 0) & 1 | 0)) { + break label$15 + } + (wasm2js_i32$0 = $7, wasm2js_i32$1 = btTransform__getOrigin_28_29(btCollisionObject__getWorldTransform_28_29(HEAP32[($8 + 4 | 0) >> 2] | 0 | 0) | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 72 | 0) >> 2] = wasm2js_i32$1; + HEAP32[($7 + 68 | 0) >> 2] = 0; + label$16 : { + label$17 : while (1) { + if (!((HEAP32[($7 + 68 | 0) >> 2] | 0 | 0) < (4 | 0) & 1 | 0)) { + break label$16 + } + btCharacterController__recoverFromPenetration_28_29($8 | 0) | 0; + HEAP32[($7 + 68 | 0) >> 2] = (HEAP32[($7 + 68 | 0) >> 2] | 0) + 1 | 0; + continue label$17; + }; + } + HEAP8[($7 + 335 | 0) >> 0] = (HEAPU8[($7 + 310 | 0) >> 0] | 0) & 1 | 0; + break label$1; + } + label$18 : { + if (!(Math_fround(Math_fround(HEAPF32[($7 + 240 | 0) >> 2]) - Math_fround(HEAPF32[($8 + 36 | 0) >> 2])) > Math_fround(0 | 0) & 1 | 0)) { + break label$18 + } + HEAPF32[($7 + 48 | 0) >> 2] = Math_fround(Math_fround(HEAPF32[($7 + 240 | 0) >> 2]) - Math_fround(HEAPF32[($8 + 36 | 0) >> 2])); + operator__28btVector3_20const__2c_20float_20const__29($7 + 52 | 0 | 0, $7 + 256 | 0 | 0, $7 + 48 | 0 | 0); + btVector3__operator___28btVector3_20const__29_1($7 + 288 | 0 | 0, $7 + 52 | 0 | 0) | 0; + } + (wasm2js_i32$0 = $8, wasm2js_f32$0 = Math_fround(btVector3__dot_28btVector3_20const__29_20const($7 + 208 | 0 | 0, $8 + 40 | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 68 | 0) >> 2] = wasm2js_f32$0; + $305 = $8 + 88 | 0; + i64toi32_i32$2 = $7 + 208 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $1025 = i64toi32_i32$0; + i64toi32_i32$0 = $305; + HEAP32[i64toi32_i32$0 >> 2] = $1025; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $307 = 8; + i64toi32_i32$2 = i64toi32_i32$2 + $307 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $1035 = i64toi32_i32$1; + i64toi32_i32$1 = $305 + $307 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $1035; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + $317 = $8 + 72 | 0; + i64toi32_i32$2 = ($7 + 208 | 0) + 16 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $1049 = i64toi32_i32$0; + i64toi32_i32$0 = $317; + HEAP32[i64toi32_i32$0 >> 2] = $1049; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $319 = 8; + i64toi32_i32$2 = i64toi32_i32$2 + $319 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $1059 = i64toi32_i32$1; + i64toi32_i32$1 = $317 + $319 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $1059; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + label$19 : { + if (!((HEAPU8[($8 + 61 | 0) >> 0] | 0) & 1 | 0)) { + break label$19 + } + btVector3__btVector3_28_29($7 + 32 | 0 | 0) | 0; + btVector3__btVector3_28_29($7 + 16 | 0 | 0) | 0; + decomposeVector_28btVector3__2c_20btVector3__2c_20btVector3_20const__2c_20btVector3_20const__29($7 + 32 | 0 | 0, $7 + 16 | 0 | 0, $8 + 72 | 0 | 0, $8 + 40 | 0 | 0); + label$20 : { + if (!((btVector3__fuzzyZero_28_29_20const($7 + 16 | 0 | 0) | 0) & 1 | 0)) { + break label$20 + } + HEAP8[($7 + 335 | 0) >> 0] = (HEAPU8[($7 + 310 | 0) >> 0] | 0) & 1 | 0; + break label$1; + } + $352 = $8 + 72 | 0; + i64toi32_i32$2 = $7; + i64toi32_i32$0 = HEAP32[($7 + 16 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($7 + 20 | 0) >> 2] | 0; + $1121 = i64toi32_i32$0; + i64toi32_i32$0 = $352; + HEAP32[i64toi32_i32$0 >> 2] = $1121; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $354 = 8; + i64toi32_i32$2 = ($7 + 16 | 0) + $354 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $1134 = i64toi32_i32$1; + i64toi32_i32$1 = $352 + $354 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $1134; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + btVector3__normalize_28_29($8 + 72 | 0 | 0) | 0; + } + HEAPF32[($7 + 12 | 0) >> 2] = Math_fround(1.0); + btCharacterController__collisionResponse_28btVector3_20const__2c_20btVector3__2c_20btVector3_20const__2c_20btVector3_20const__2c_20float_2c_20bool_29($8 | 0, $7 + 288 | 0 | 0, $7 + 272 | 0 | 0, $7 + 256 | 0 | 0, $8 + 72 | 0 | 0, Math_fround(Math_fround(1.0)), 0 & 1 | 0 | 0); + continue label$4; + }; + } + btTransform__setOrigin_28btVector3_20const__29(btCollisionObject__getWorldTransform_28_29(HEAP32[($8 + 4 | 0) >> 2] | 0 | 0) | 0 | 0, $7 + 288 | 0 | 0); + HEAP8[($7 + 335 | 0) >> 0] = (HEAPU8[($7 + 310 | 0) >> 0] | 0) & 1 | 0; + } + $388 = (HEAPU8[($7 + 335 | 0) >> 0] | 0) & 1 | 0; + __stack_pointer = $7 + 336 | 0; + return $388 | 0; + } + + function testSlope_28btVector3_20const__2c_20btVector3_20const__2c_20float_29($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = Math_fround($2); + var $5 = 0, $16 = 0, wasm2js_i32$0 = 0, wasm2js_f32$0 = Math_fround(0); + $5 = __stack_pointer - 16 | 0; + __stack_pointer = $5; + HEAP32[($5 + 12 | 0) >> 2] = $0; + HEAP32[($5 + 8 | 0) >> 2] = $1; + HEAPF32[($5 + 4 | 0) >> 2] = $2; + (wasm2js_i32$0 = $5, wasm2js_f32$0 = Math_fround(btVector3__dot_28btVector3_20const__29_20const(HEAP32[($5 + 12 | 0) >> 2] | 0 | 0, HEAP32[($5 + 8 | 0) >> 2] | 0 | 0))), HEAPF32[wasm2js_i32$0 >> 2] = wasm2js_f32$0; + $16 = 0; + label$1 : { + if (!(Math_fround(HEAPF32[$5 >> 2]) >= Math_fround(0 | 0) & 1 | 0)) { + break label$1 + } + $16 = Math_fround(HEAPF32[$5 >> 2]) < Math_fround(HEAPF32[($5 + 4 | 0) >> 2]); + } + __stack_pointer = $5 + 16 | 0; + return $16 & 1 | 0 | 0; + } + + function btSweptContact__btSweptContact_28_29($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + btVector3__btVector3_28_29($4 | 0) | 0; + btVector3__btVector3_28_29($4 + 16 | 0 | 0) | 0; + __stack_pointer = $3 + 16 | 0; + return $4 | 0; + } + + function btCharacterController__collideGeoms_28btVector3_20const__2c_20btVector3_20const__2c_20btSweptContact__29($0, $1, $2, $3) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + var $6 = 0, i64toi32_i32$2 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $7 = 0, $91 = 0, $93 = 0, $104 = 0, $106 = 0, $21 = 0, $22 = 0, $326 = 0, $336 = 0, $352 = 0, $362 = 0, $122 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $6 = __stack_pointer - 304 | 0; + __stack_pointer = $6; + HEAP32[($6 + 300 | 0) >> 2] = $0; + HEAP32[($6 + 296 | 0) >> 2] = $1; + HEAP32[($6 + 292 | 0) >> 2] = $2; + HEAP32[($6 + 288 | 0) >> 2] = $3; + $7 = HEAP32[($6 + 300 | 0) >> 2] | 0; + HEAP8[($6 + 287 | 0) >> 0] = 0; + HEAP32[($6 + 280 | 0) >> 2] = HEAP32[($7 + 8 | 0) >> 2] | 0; + label$1 : { + label$2 : { + if (!((HEAPU8[($7 + 108 | 0) >> 0] | 0) & 1 | 0)) { + break label$2 + } + HEAP32[($6 + 280 | 0) >> 2] = HEAP32[($7 + 104 | 0) >> 2] | 0; + break label$1; + } + } + HEAPF32[($6 + 276 | 0) >> 2] = Math_fround(HEAPF32[((HEAP32[($6 + 288 | 0) >> 2] | 0) + 32 | 0) >> 2]); + btTransform__btTransform_28btQuaternion_20const__2c_20btVector3_20const__29($6 + 212 | 0 | 0, btQuaternion__getIdentity_28_29() | 0 | 0, HEAP32[($6 + 296 | 0) >> 2] | 0 | 0) | 0; + $21 = btQuaternion__getIdentity_28_29() | 0; + $22 = HEAP32[($6 + 296 | 0) >> 2] | 0; + operator__28btVector3_20const__2c_20btVector3_20const__29($6 + 100 | 0 | 0, HEAP32[($6 + 292 | 0) >> 2] | 0 | 0, HEAP32[($6 + 296 | 0) >> 2] | 0 | 0); + operator__28btVector3_20const__2c_20float_20const__29($6 + 116 | 0 | 0, btVector3__normalize_28_29($6 + 100 | 0 | 0) | 0 | 0, $6 + 276 | 0 | 0); + operator__28btVector3_20const__2c_20btVector3_20const__29_2($6 + 132 | 0 | 0, $22 | 0, $6 + 116 | 0 | 0); + btTransform__btTransform_28btQuaternion_20const__2c_20btVector3_20const__29($6 + 148 | 0 | 0, $21 | 0, $6 + 132 | 0 | 0) | 0; + btKinematicClosestNotMeConvexResultCallback__btKinematicClosestNotMeConvexResultCallback_28btVector3_20const__2c_20btVector3_20const__2c_20btCollisionObject__29($6 + 8 | 0 | 0, HEAP32[($6 + 296 | 0) >> 2] | 0 | 0, HEAP32[($6 + 292 | 0) >> 2] | 0 | 0, HEAP32[($7 + 4 | 0) >> 2] | 0 | 0) | 0; + (wasm2js_i32$0 = $6, wasm2js_i32$1 = HEAP32[((btCollisionObject__getBroadphaseHandle_28_29(HEAP32[($7 + 4 | 0) >> 2] | 0 | 0) | 0) + 4 | 0) >> 2] | 0), HEAP32[(wasm2js_i32$0 + 16 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $6, wasm2js_i32$1 = HEAP32[((btCollisionObject__getBroadphaseHandle_28_29(HEAP32[($7 + 4 | 0) >> 2] | 0 | 0) | 0) + 8 | 0) >> 2] | 0), HEAP32[(wasm2js_i32$0 + 20 | 0) >> 2] = wasm2js_i32$1; + btCollisionWorld__convexSweepTest_28btConvexShape_20const__2c_20btTransform_20const__2c_20btTransform_20const__2c_20btCollisionWorld__ConvexResultCallback__2c_20float_29_20const(HEAP32[($7 + 12 | 0) >> 2] | 0 | 0, HEAP32[($6 + 280 | 0) >> 2] | 0 | 0, $6 + 212 | 0 | 0, $6 + 148 | 0 | 0, $6 + 8 | 0 | 0, Math_fround(Math_fround(HEAPF32[((btCollisionWorld__getDispatchInfo_28_29(HEAP32[($7 + 12 | 0) >> 2] | 0 | 0) | 0) + 28 | 0) >> 2]))); + label$3 : { + if (!((btCollisionWorld__ConvexResultCallback__hasHit_28_29_20const($6 + 8 | 0 | 0) | 0) & 1 | 0)) { + break label$3 + } + HEAP8[($6 + 287 | 0) >> 0] = 1; + HEAPF32[($6 + 4 | 0) >> 2] = Math_fround(Math_fround(HEAPF32[($6 + 276 | 0) >> 2]) * Math_fround(HEAPF32[($6 + 12 | 0) >> 2])); + $91 = HEAP32[($6 + 288 | 0) >> 2] | 0; + i64toi32_i32$2 = ($6 + 8 | 0) + 68 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $326 = i64toi32_i32$0; + i64toi32_i32$0 = $91; + HEAP32[i64toi32_i32$0 >> 2] = $326; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $93 = 8; + i64toi32_i32$2 = i64toi32_i32$2 + $93 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $336 = i64toi32_i32$1; + i64toi32_i32$1 = $91 + $93 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $336; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + $104 = (HEAP32[($6 + 288 | 0) >> 2] | 0) + 16 | 0; + i64toi32_i32$2 = ($6 + 8 | 0) + 52 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $352 = i64toi32_i32$0; + i64toi32_i32$0 = $104; + HEAP32[i64toi32_i32$0 >> 2] = $352; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $106 = 8; + i64toi32_i32$2 = i64toi32_i32$2 + $106 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $362 = i64toi32_i32$1; + i64toi32_i32$1 = $104 + $106 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $362; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + label$4 : { + if (!((btVector3__fuzzyZero_28_29_20const((HEAP32[($6 + 288 | 0) >> 2] | 0) + 16 | 0 | 0) | 0) & 1 | 0)) { + break label$4 + } + } + HEAPF32[((HEAP32[($6 + 288 | 0) >> 2] | 0) + 32 | 0) >> 2] = Math_fround(HEAPF32[($6 + 4 | 0) >> 2]); + HEAP32[((HEAP32[($6 + 288 | 0) >> 2] | 0) + 36 | 0) >> 2] = HEAP32[($6 + 24 | 0) >> 2] | 0; + HEAP32[((HEAP32[($6 + 288 | 0) >> 2] | 0) + 40 | 0) >> 2] = HEAP32[($6 + 92 | 0) >> 2] | 0; + } + $122 = HEAPU8[($6 + 287 | 0) >> 0] | 0; + btKinematicClosestNotMeConvexResultCallback___btKinematicClosestNotMeConvexResultCallback_28_29($6 + 8 | 0 | 0) | 0; + __stack_pointer = $6 + 304 | 0; + return $122 & 1 | 0 | 0; + } + + function btControllerShapeHit__btControllerShapeHit_28_29($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + btControllerHit__btControllerHit_28_29($4 | 0) | 0; + __stack_pointer = $3 + 16 | 0; + return $4 | 0; + } + + function btCollisionObject__getUserPointer_28_29_20const($0) { + $0 = $0 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + return HEAP32[((HEAP32[($3 + 12 | 0) >> 2] | 0) + 256 | 0) >> 2] | 0 | 0; + } + + function btControllersHit__btControllersHit_28_29($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + btControllerHit__btControllerHit_28_29($4 | 0) | 0; + __stack_pointer = $3 + 16 | 0; + return $4 | 0; + } + + function btCharacterController__recoverFromPenetration_28_29($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0, $15 = 0, $27 = 0, $41 = 0, $56 = 0, $74 = 0, $100 = 0, $54 = 0, $180 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0, wasm2js_i32$2 = 0, wasm2js_i32$3 = 0, wasm2js_i32$4 = 0, wasm2js_i32$5 = 0, wasm2js_f32$0 = Math_fround(0); + $3 = __stack_pointer - 144 | 0; + __stack_pointer = $3; + HEAP32[($3 + 140 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 140 | 0) >> 2] | 0; + HEAP8[($3 + 139 | 0) >> 0] = 0; + (wasm2js_i32$0 = $3, wasm2js_i32$1 = btTransform__getOrigin_28_29(btCollisionObject__getWorldTransform_28_29(HEAP32[($4 + 4 | 0) >> 2] | 0 | 0) | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 132 | 0) >> 2] = wasm2js_i32$1; + btVector3__btVector3_28_29($3 + 116 | 0 | 0) | 0; + btVector3__btVector3_28_29($3 + 100 | 0 | 0) | 0; + $15 = HEAP32[($4 + 8 | 0) >> 2] | 0; + ((((wasm2js_i32$1 = $15, wasm2js_i32$2 = btCollisionObject__getWorldTransform_28_29(HEAP32[($4 + 4 | 0) >> 2] | 0 | 0) | 0), wasm2js_i32$3 = $3 + 116 | 0), wasm2js_i32$4 = $3 + 100 | 0), wasm2js_i32$0 = HEAP32[((HEAP32[$15 >> 2] | 0) + 8 | 0) >> 2] | 0 | 0), FUNCTION_TABLE[wasm2js_i32$0](wasm2js_i32$1 | 0, wasm2js_i32$2 | 0, wasm2js_i32$3 | 0, wasm2js_i32$4 | 0); + $27 = btCollisionWorld__getBroadphase_28_29(HEAP32[($4 + 12 | 0) >> 2] | 0 | 0) | 0; + (((((wasm2js_i32$4 = $27, wasm2js_i32$3 = btCollisionObject__getBroadphaseHandle_28_29(HEAP32[($4 + 4 | 0) >> 2] | 0 | 0) | 0), wasm2js_i32$2 = $3 + 116 | 0), wasm2js_i32$1 = $3 + 100 | 0), wasm2js_i32$5 = btCollisionWorld__getDispatcher_28_29(HEAP32[($4 + 12 | 0) >> 2] | 0 | 0) | 0), wasm2js_i32$0 = HEAP32[((HEAP32[$27 >> 2] | 0) + 16 | 0) >> 2] | 0 | 0), FUNCTION_TABLE[wasm2js_i32$0](wasm2js_i32$4 | 0, wasm2js_i32$3 | 0, wasm2js_i32$2 | 0, wasm2js_i32$1 | 0, wasm2js_i32$5 | 0); + $41 = btCollisionWorld__getDispatcher_28_29(HEAP32[($4 + 12 | 0) >> 2] | 0 | 0) | 0; + ((((wasm2js_i32$5 = $41, wasm2js_i32$1 = btPairCachingGhostObject__getOverlappingPairCache_28_29(HEAP32[($4 + 4 | 0) >> 2] | 0 | 0) | 0), wasm2js_i32$2 = btCollisionWorld__getDispatchInfo_28_29(HEAP32[($4 + 12 | 0) >> 2] | 0 | 0) | 0), wasm2js_i32$3 = btCollisionWorld__getDispatcher_28_29(HEAP32[($4 + 12 | 0) >> 2] | 0 | 0) | 0), wasm2js_i32$0 = HEAP32[((HEAP32[$41 >> 2] | 0) + 32 | 0) >> 2] | 0 | 0), FUNCTION_TABLE[wasm2js_i32$0](wasm2js_i32$5 | 0, wasm2js_i32$1 | 0, wasm2js_i32$2 | 0, wasm2js_i32$3 | 0); + btAlignedObjectArray_btPersistentManifold____btAlignedObjectArray_28_29($3 + 80 | 0 | 0) | 0; + HEAP32[($3 + 76 | 0) >> 2] = 0; + label$1 : { + label$2 : while (1) { + $54 = HEAP32[($3 + 76 | 0) >> 2] | 0; + $56 = btPairCachingGhostObject__getOverlappingPairCache_28_29(HEAP32[($4 + 4 | 0) >> 2] | 0 | 0) | 0; + if (!(($54 | 0) < (FUNCTION_TABLE[HEAP32[((HEAP32[$56 >> 2] | 0) + 36 | 0) >> 2] | 0 | 0]($56) | 0 | 0) & 1 | 0)) { + break label$1 + } + HEAP32[($3 + 72 | 0) >> 2] = 0; + btAlignedObjectArray_btPersistentManifold____resize_28int_2c_20btPersistentManifold__20const__29($3 + 80 | 0 | 0, 0 | 0, $3 + 72 | 0 | 0); + $74 = btPairCachingGhostObject__getOverlappingPairCache_28_29(HEAP32[($4 + 4 | 0) >> 2] | 0 | 0) | 0; + (wasm2js_i32$0 = $3, wasm2js_i32$3 = btAlignedObjectArray_btBroadphasePair___operator_5b_5d_28int_29(FUNCTION_TABLE[HEAP32[((HEAP32[$74 >> 2] | 0) + 28 | 0) >> 2] | 0 | 0]($74) | 0 | 0, HEAP32[($3 + 76 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 68 | 0) >> 2] = wasm2js_i32$3; + HEAP32[($3 + 64 | 0) >> 2] = HEAP32[(HEAP32[(HEAP32[($3 + 68 | 0) >> 2] | 0) >> 2] | 0) >> 2] | 0; + HEAP32[($3 + 60 | 0) >> 2] = HEAP32[(HEAP32[((HEAP32[($3 + 68 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) >> 2] | 0; + label$3 : { + label$4 : { + if ((needsCollision_28btCollisionObject_20const__2c_20btCollisionObject_20const__29(HEAP32[($3 + 64 | 0) >> 2] | 0 | 0, HEAP32[($3 + 60 | 0) >> 2] | 0 | 0) | 0) & 1 | 0) { + break label$4 + } + break label$3; + } + label$5 : { + if (!((HEAP32[((HEAP32[($3 + 68 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0)) { + break label$5 + } + $100 = HEAP32[((HEAP32[($3 + 68 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + FUNCTION_TABLE[HEAP32[((HEAP32[$100 >> 2] | 0) + 16 | 0) >> 2] | 0 | 0]($100, $3 + 80 | 0); + } + HEAP32[($3 + 56 | 0) >> 2] = 0; + label$6 : { + label$7 : while (1) { + if (!((HEAP32[($3 + 56 | 0) >> 2] | 0 | 0) < (btAlignedObjectArray_btPersistentManifold____size_28_29_20const($3 + 80 | 0 | 0) | 0 | 0) & 1 | 0)) { + break label$6 + } + (wasm2js_i32$0 = $3, wasm2js_i32$3 = HEAP32[(btAlignedObjectArray_btPersistentManifold____operator_5b_5d_28int_29($3 + 80 | 0 | 0, HEAP32[($3 + 56 | 0) >> 2] | 0 | 0) | 0) >> 2] | 0), HEAP32[(wasm2js_i32$0 + 52 | 0) >> 2] = wasm2js_i32$3; + (wasm2js_i32$0 = $3, wasm2js_f32$0 = (btPersistentManifold__getBody0_28_29_20const(HEAP32[($3 + 52 | 0) >> 2] | 0 | 0) | 0 | 0) == (HEAP32[($4 + 4 | 0) >> 2] | 0 | 0) & 1 | 0 ? Math_fround(-1.0) : Math_fround(1.0)), HEAPF32[(wasm2js_i32$0 + 48 | 0) >> 2] = wasm2js_f32$0; + HEAP32[($3 + 44 | 0) >> 2] = 0; + label$8 : { + label$9 : while (1) { + if (!((HEAP32[($3 + 44 | 0) >> 2] | 0 | 0) < (btPersistentManifold__getNumContacts_28_29_20const(HEAP32[($3 + 52 | 0) >> 2] | 0 | 0) | 0 | 0) & 1 | 0)) { + break label$8 + } + (wasm2js_i32$0 = $3, wasm2js_i32$3 = btPersistentManifold__getContactPoint_28int_29(HEAP32[($3 + 52 | 0) >> 2] | 0 | 0, HEAP32[($3 + 44 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 40 | 0) >> 2] = wasm2js_i32$3; + (wasm2js_i32$0 = $3, wasm2js_f32$0 = Math_fround(btManifoldPoint__getDistance_28_29_20const(HEAP32[($3 + 40 | 0) >> 2] | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 36 | 0) >> 2] = wasm2js_f32$0; + operator__28btVector3_20const__2c_20float_20const__29($3 + 4 | 0 | 0, (HEAP32[($3 + 40 | 0) >> 2] | 0) + 64 | 0 | 0, $3 + 48 | 0 | 0); + operator__28btVector3_20const__2c_20float_20const__29($3 + 20 | 0 | 0, $3 + 4 | 0 | 0, $3 + 36 | 0 | 0); + btVector3__operator___28btVector3_20const__29_1(HEAP32[($3 + 132 | 0) >> 2] | 0 | 0, $3 + 20 | 0 | 0) | 0; + HEAP8[($3 + 139 | 0) >> 0] = 1; + HEAP32[($3 + 44 | 0) >> 2] = (HEAP32[($3 + 44 | 0) >> 2] | 0) + 1 | 0; + continue label$9; + }; + } + HEAP32[($3 + 56 | 0) >> 2] = (HEAP32[($3 + 56 | 0) >> 2] | 0) + 1 | 0; + continue label$7; + }; + } + } + HEAP32[($3 + 76 | 0) >> 2] = (HEAP32[($3 + 76 | 0) >> 2] | 0) + 1 | 0; + continue label$2; + }; + } + $180 = HEAPU8[($3 + 139 | 0) >> 0] | 0; + btAlignedObjectArray_btPersistentManifold_____btAlignedObjectArray_28_29($3 + 80 | 0 | 0) | 0; + __stack_pointer = $3 + 144 | 0; + return $180 & 1 | 0 | 0; + } + + function btCharacterController__collisionResponse_28btVector3_20const__2c_20btVector3__2c_20btVector3_20const__2c_20btVector3_20const__2c_20float_2c_20bool_29($0, $1, $2, $3, $4, $5, $6) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + $4 = $4 | 0; + $5 = Math_fround($5); + $6 = $6 | 0; + var $9 = 0, i64toi32_i32$2 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $48 = 0, $50 = 0, $185 = 0, $195 = 0, wasm2js_i32$0 = 0, wasm2js_f32$0 = Math_fround(0); + $9 = __stack_pointer - 128 | 0; + __stack_pointer = $9; + HEAP32[($9 + 124 | 0) >> 2] = $0; + HEAP32[($9 + 120 | 0) >> 2] = $1; + HEAP32[($9 + 116 | 0) >> 2] = $2; + HEAP32[($9 + 112 | 0) >> 2] = $3; + HEAP32[($9 + 108 | 0) >> 2] = $4; + HEAPF32[($9 + 104 | 0) >> 2] = $5; + HEAP8[($9 + 103 | 0) >> 0] = $6; + btVector3__btVector3_28_29($9 + 84 | 0 | 0) | 0; + computeReflexionVector_28btVector3__2c_20btVector3_20const__2c_20btVector3_20const__29($9 + 84 | 0 | 0, HEAP32[($9 + 112 | 0) >> 2] | 0 | 0, HEAP32[($9 + 108 | 0) >> 2] | 0 | 0); + btVector3__normalize_28_29($9 + 84 | 0 | 0) | 0; + btVector3__btVector3_28_29($9 + 68 | 0 | 0) | 0; + btVector3__btVector3_28_29($9 + 52 | 0 | 0) | 0; + decomposeVector_28btVector3__2c_20btVector3__2c_20btVector3_20const__2c_20btVector3_20const__29($9 + 68 | 0 | 0, $9 + 52 | 0 | 0, $9 + 84 | 0 | 0, HEAP32[($9 + 108 | 0) >> 2] | 0 | 0); + operator__28btVector3_20const__2c_20btVector3_20const__29($9 + 32 | 0 | 0, HEAP32[($9 + 116 | 0) >> 2] | 0 | 0, HEAP32[($9 + 120 | 0) >> 2] | 0 | 0); + (wasm2js_i32$0 = $9, wasm2js_f32$0 = Math_fround(btVector3__length_28_29_20const($9 + 32 | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 48 | 0) >> 2] = wasm2js_f32$0; + $48 = HEAP32[($9 + 116 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($9 + 120 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $185 = i64toi32_i32$0; + i64toi32_i32$0 = $48; + HEAP32[i64toi32_i32$0 >> 2] = $185; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $50 = 8; + i64toi32_i32$2 = i64toi32_i32$2 + $50 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $195 = i64toi32_i32$1; + i64toi32_i32$1 = $48 + $50 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $195; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + label$1 : { + if (!(Math_fround(HEAPF32[($9 + 104 | 0) >> 2]) != Math_fround(0 | 0) & 1 | 0)) { + break label$1 + } + label$2 : { + if (!((HEAPU8[($9 + 103 | 0) >> 0] | 0) & 1 | 0)) { + break label$2 + } + btVector3__normalize_28_29($9 + 52 | 0 | 0) | 0; + } + operator__28btVector3_20const__2c_20float_20const__29($9 | 0, $9 + 52 | 0 | 0, $9 + 104 | 0 | 0); + operator__28btVector3_20const__2c_20float_20const__29($9 + 16 | 0 | 0, $9 | 0, $9 + 48 | 0 | 0); + btVector3__operator___28btVector3_20const__29_1(HEAP32[($9 + 116 | 0) >> 2] | 0 | 0, $9 + 16 | 0 | 0) | 0; + } + __stack_pointer = $9 + 128 | 0; + return; + } + + function btKinematicClosestNotMeConvexResultCallback__btKinematicClosestNotMeConvexResultCallback_28btVector3_20const__2c_20btVector3_20const__2c_20btCollisionObject__29($0, $1, $2, $3) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + var $6 = 0, $7 = 0; + $6 = __stack_pointer - 16 | 0; + __stack_pointer = $6; + HEAP32[($6 + 12 | 0) >> 2] = $0; + HEAP32[($6 + 8 | 0) >> 2] = $1; + HEAP32[($6 + 4 | 0) >> 2] = $2; + HEAP32[$6 >> 2] = $3; + $7 = HEAP32[($6 + 12 | 0) >> 2] | 0; + btCollisionWorld__ClosestConvexResultCallback__ClosestConvexResultCallback_28btVector3_20const__2c_20btVector3_20const__29($7 | 0, HEAP32[($6 + 8 | 0) >> 2] | 0 | 0, HEAP32[($6 + 4 | 0) >> 2] | 0 | 0) | 0; + HEAP32[$7 >> 2] = 104320 + 8 | 0; + HEAP32[($7 + 84 | 0) >> 2] = 0; + HEAP32[($7 + 88 | 0) >> 2] = HEAP32[$6 >> 2] | 0; + __stack_pointer = $6 + 16 | 0; + return $7 | 0; + } + + function btKinematicClosestNotMeConvexResultCallback___btKinematicClosestNotMeConvexResultCallback_28_29($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + btCollisionWorld__ClosestConvexResultCallback___ClosestConvexResultCallback_28_29($4 | 0) | 0; + __stack_pointer = $3 + 16 | 0; + return $4 | 0; + } + + function btControllerHit__btControllerHit_28_29($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + btVector3__btVector3_28_29($4 + 4 | 0 | 0) | 0; + btVector3__btVector3_28_29($4 + 20 | 0 | 0) | 0; + btVector3__btVector3_28_29($4 + 36 | 0 | 0) | 0; + __stack_pointer = $3 + 16 | 0; + return $4 | 0; + } + + function btPairCachingGhostObject__getOverlappingPairCache_28_29($0) { + $0 = $0 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + return HEAP32[((HEAP32[($3 + 12 | 0) >> 2] | 0) + 344 | 0) >> 2] | 0 | 0; + } + + function needsCollision_28btCollisionObject_20const__2c_20btCollisionObject_20const__29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, $22 = 0, $39 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + (wasm2js_i32$0 = $4, wasm2js_i32$1 = ((HEAP32[((btCollisionObject__getBroadphaseHandle_28_29_20const(HEAP32[($4 + 12 | 0) >> 2] | 0 | 0) | 0) + 4 | 0) >> 2] | 0) & (HEAP32[((btCollisionObject__getBroadphaseHandle_28_29_20const(HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) | 0) + 8 | 0) >> 2] | 0) | 0 | 0) != (0 | 0) & 1 | 0), HEAP8[(wasm2js_i32$0 + 7 | 0) >> 0] = wasm2js_i32$1; + $22 = 0; + label$1 : { + if (!((HEAPU8[($4 + 7 | 0) >> 0] | 0) & 1 | 0)) { + break label$1 + } + $22 = ((HEAP32[((btCollisionObject__getBroadphaseHandle_28_29_20const(HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) | 0) + 4 | 0) >> 2] | 0) & (HEAP32[((btCollisionObject__getBroadphaseHandle_28_29_20const(HEAP32[($4 + 12 | 0) >> 2] | 0 | 0) | 0) + 8 | 0) >> 2] | 0) | 0 | 0) != (0 | 0); + } + HEAP8[($4 + 7 | 0) >> 0] = $22 & 1 | 0; + $39 = (HEAPU8[($4 + 7 | 0) >> 0] | 0) & 1 | 0; + __stack_pointer = $4 + 16 | 0; + return $39 | 0; + } + + function computeReflexionVector_28btVector3__2c_20btVector3_20const__2c_20btVector3_20const__29($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $5 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$2 = 0, $33 = 0, $35 = 0, $6 = 0, $7 = 0, $111 = 0, $124 = 0, wasm2js_i32$0 = 0, wasm2js_f32$0 = Math_fround(0); + $5 = __stack_pointer - 80 | 0; + __stack_pointer = $5; + HEAP32[($5 + 76 | 0) >> 2] = $0; + HEAP32[($5 + 72 | 0) >> 2] = $1; + HEAP32[($5 + 68 | 0) >> 2] = $2; + $6 = HEAP32[($5 + 72 | 0) >> 2] | 0; + $7 = HEAP32[($5 + 68 | 0) >> 2] | 0; + HEAPF32[($5 + 16 | 0) >> 2] = Math_fround(2.0); + operator__28btVector3_20const__2c_20float_20const__29($5 + 20 | 0 | 0, $7 | 0, $5 + 16 | 0 | 0); + (wasm2js_i32$0 = $5, wasm2js_f32$0 = Math_fround(btVector3__dot_28btVector3_20const__29_20const(HEAP32[($5 + 72 | 0) >> 2] | 0 | 0, HEAP32[($5 + 68 | 0) >> 2] | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_f32$0; + operator__28btVector3_20const__2c_20float_20const__29($5 + 36 | 0 | 0, $5 + 20 | 0 | 0, $5 + 12 | 0 | 0); + operator__28btVector3_20const__2c_20btVector3_20const__29($5 + 52 | 0 | 0, $6 | 0, $5 + 36 | 0 | 0); + $33 = HEAP32[($5 + 76 | 0) >> 2] | 0; + i64toi32_i32$2 = $5; + i64toi32_i32$0 = HEAP32[($5 + 52 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($5 + 56 | 0) >> 2] | 0; + $111 = i64toi32_i32$0; + i64toi32_i32$0 = $33; + HEAP32[i64toi32_i32$0 >> 2] = $111; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $35 = 8; + i64toi32_i32$2 = ($5 + 52 | 0) + $35 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $124 = i64toi32_i32$1; + i64toi32_i32$1 = $33 + $35 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $124; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + __stack_pointer = $5 + 80 | 0; + return; + } + + function btCollisionObject__getBroadphaseHandle_28_29_20const($0) { + $0 = $0 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + return HEAP32[((HEAP32[($3 + 12 | 0) >> 2] | 0) + 188 | 0) >> 2] | 0 | 0; + } + + function btCharacterController__btCharacterController_28btCollisionWorld__2c_20btCharacterControllerDesc__2c_20void__29($0, $1, $2, $3) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + var $7 = 0, $6 = 0; + $6 = __stack_pointer - 16 | 0; + __stack_pointer = $6; + HEAP32[($6 + 12 | 0) >> 2] = $0; + HEAP32[($6 + 8 | 0) >> 2] = $1; + HEAP32[($6 + 4 | 0) >> 2] = $2; + HEAP32[$6 >> 2] = $3; + $7 = HEAP32[($6 + 12 | 0) >> 2] | 0; + btActionInterface__btActionInterface_28_29($7 | 0) | 0; + HEAP32[$7 >> 2] = 104076 + 8 | 0; + HEAP32[($7 + 4 | 0) >> 2] = 0; + HEAP32[($7 + 8 | 0) >> 2] = 0; + HEAP32[($7 + 20 | 0) >> 2] = 0; + HEAP32[($7 + 24 | 0) >> 2] = 0; + btVector3__btVector3_28_29($7 + 40 | 0 | 0) | 0; + HEAP8[($7 + 61 | 0) >> 0] = 0; + HEAP8[($7 + 62 | 0) >> 0] = 1; + HEAP8[($7 + 63 | 0) >> 0] = 1; + HEAP8[($7 + 64 | 0) >> 0] = 0; + HEAP8[($7 + 65 | 0) >> 0] = 0; + btVector3__btVector3_28_29($7 + 72 | 0 | 0) | 0; + btVector3__btVector3_28_29($7 + 88 | 0 | 0) | 0; + HEAP32[($7 + 104 | 0) >> 2] = 0; + HEAP8[($7 + 108 | 0) >> 0] = 0; + btAlignedObjectArray_btPersistentManifold____btAlignedObjectArray_28_29($7 + 112 | 0 | 0) | 0; + btVector3__btVector3_28_29($7 + 136 | 0 | 0) | 0; + HEAP32[($7 + 12 | 0) >> 2] = HEAP32[($6 + 8 | 0) >> 2] | 0; + HEAP32[($7 + 24 | 0) >> 2] = HEAP32[$6 >> 2] | 0; + HEAP32[($7 + 56 | 0) >> 2] = HEAP32[((HEAP32[($6 + 4 | 0) >> 2] | 0) + 44 | 0) >> 2] | 0; + btCharacterController__setUp_28btVector3_20const__29($7 | 0, (HEAP32[($6 + 4 | 0) >> 2] | 0) + 12 | 0 | 0); + btCharacterController__setStepHeight_28float_29($7 | 0, Math_fround(Math_fround(HEAPF32[((HEAP32[($6 + 4 | 0) >> 2] | 0) + 4 | 0) >> 2]))); + btCharacterController__setContactOffset_28float_29($7 | 0, Math_fround(Math_fround(HEAPF32[((HEAP32[($6 + 4 | 0) >> 2] | 0) + 8 | 0) >> 2]))); + btCharacterController__setMaxSlope_28float_29($7 | 0, Math_fround(Math_fround(HEAPF32[(HEAP32[($6 + 4 | 0) >> 2] | 0) >> 2]))); + HEAP32[($7 + 20 | 0) >> 2] = HEAP32[((HEAP32[($6 + 4 | 0) >> 2] | 0) + 48 | 0) >> 2] | 0; + HEAP32[($7 + 132 | 0) >> 2] = 0; + __stack_pointer = $6 + 16 | 0; + return $7 | 0; + } + + function btActionInterface__btActionInterface_28_29($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + HEAP32[$4 >> 2] = 104404 + 8 | 0; + return $4 | 0; + } + + function btCharacterController__setUp_28btVector3_20const__29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var i64toi32_i32$2 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $4 = 0, $8 = 0, $10 = 0, $32 = 0, $42 = 0; + $4 = __stack_pointer - 16 | 0; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + $8 = (HEAP32[($4 + 12 | 0) >> 2] | 0) + 40 | 0; + i64toi32_i32$2 = HEAP32[($4 + 8 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $32 = i64toi32_i32$0; + i64toi32_i32$0 = $8; + HEAP32[i64toi32_i32$0 >> 2] = $32; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + $10 = 8; + i64toi32_i32$2 = i64toi32_i32$2 + $10 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $42 = i64toi32_i32$1; + i64toi32_i32$1 = $8 + $10 | 0; + HEAP32[i64toi32_i32$1 >> 2] = $42; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + return; + } + + function btCharacterController__setMaxSlope_28float_29($0, $1) { + $0 = $0 | 0; + $1 = Math_fround($1); + var $4 = 0; + $4 = __stack_pointer - 16 | 0; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAPF32[($4 + 8 | 0) >> 2] = $1; + HEAPF32[((HEAP32[($4 + 12 | 0) >> 2] | 0) + 28 | 0) >> 2] = Math_fround(HEAPF32[($4 + 8 | 0) >> 2]); + return; + } + + function btCharacterController___btCharacterController_28_29($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + HEAP32[$4 >> 2] = 104076 + 8 | 0; + btAlignedObjectArray_btPersistentManifold_____btAlignedObjectArray_28_29($4 + 112 | 0 | 0) | 0; + btActionInterface___btActionInterface_28_29($4 | 0) | 0; + __stack_pointer = $3 + 16 | 0; + return $4 | 0; + } + + function btActionInterface___btActionInterface_28_29($0) { + $0 = $0 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + return HEAP32[($3 + 12 | 0) >> 2] | 0 | 0; + } + + function btCharacterController___btCharacterController_28_29_1($0) { + $0 = $0 | 0; + HEAP32[((__stack_pointer - 16 | 0) + 12 | 0) >> 2] = $0; + wasm2js_trap(); + } + + function btCharacterController__updateAction_28btCollisionWorld__2c_20float_29($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = Math_fround($2); + var $5 = 0, $6 = 0; + $5 = __stack_pointer - 16 | 0; + __stack_pointer = $5; + HEAP32[($5 + 12 | 0) >> 2] = $0; + HEAP32[($5 + 8 | 0) >> 2] = $1; + HEAPF32[($5 + 4 | 0) >> 2] = $2; + $6 = HEAP32[($5 + 12 | 0) >> 2] | 0; + label$1 : { + if (!((HEAPU8[($6 + 62 | 0) >> 0] | 0) & 1 | 0)) { + break label$1 + } + HEAP32[$5 >> 2] = 0; + label$2 : { + label$3 : while (1) { + if (!((HEAP32[$5 >> 2] | 0 | 0) < (4 | 0) & 1 | 0)) { + break label$2 + } + btCharacterController__recoverFromPenetration_28_29($6 | 0) | 0; + HEAP32[$5 >> 2] = (HEAP32[$5 >> 2] | 0) + 1 | 0; + continue label$3; + }; + } + } + __stack_pointer = $5 + 16 | 0; + return; + } + + function btCharacterController__getPosition_28_29($0) { + $0 = $0 | 0; + var $3 = 0, $7 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $7 = btTransform__getOrigin_28_29(btCollisionObject__getWorldTransform_28_29(HEAP32[((HEAP32[($3 + 12 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0 | 0) | 0 | 0) | 0; + __stack_pointer = $3 + 16 | 0; + return $7 | 0; + } + + function btCapsuleCharacterController__btCapsuleCharacterController_28btCollisionWorld__2c_20btCapsuleCharacterControllerDesc__2c_20void__29($0, $1, $2, $3) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + var $6 = 0, $7 = 0, $21 = 0; + $6 = __stack_pointer - 16 | 0; + __stack_pointer = $6; + HEAP32[($6 + 12 | 0) >> 2] = $0; + HEAP32[($6 + 8 | 0) >> 2] = $1; + HEAP32[($6 + 4 | 0) >> 2] = $2; + HEAP32[$6 >> 2] = $3; + $7 = HEAP32[($6 + 12 | 0) >> 2] | 0; + btCharacterController__btCharacterController_28btCollisionWorld__2c_20btCharacterControllerDesc__2c_20void__29($7 | 0, HEAP32[($6 + 8 | 0) >> 2] | 0 | 0, HEAP32[($6 + 4 | 0) >> 2] | 0 | 0, HEAP32[$6 >> 2] | 0 | 0) | 0; + HEAP32[$7 >> 2] = 104108 + 8 | 0; + HEAPF32[($7 + 152 | 0) >> 2] = Math_fround(.5); + HEAPF32[($7 + 156 | 0) >> 2] = Math_fround(1.0); + HEAPF32[($7 + 152 | 0) >> 2] = Math_fround(HEAPF32[((HEAP32[($6 + 4 | 0) >> 2] | 0) + 52 | 0) >> 2]); + HEAPF32[($7 + 156 | 0) >> 2] = Math_fround(HEAPF32[((HEAP32[($6 + 4 | 0) >> 2] | 0) + 56 | 0) >> 2]); + $21 = btCollisionObject__operator_20new_28unsigned_20long_29(348 | 0) | 0; + btPairCachingGhostObject__btPairCachingGhostObject_28_29($21 | 0) | 0; + HEAP32[($7 + 4 | 0) >> 2] = $21; + btCollisionObject__setCollisionFlags_28int_29(HEAP32[($7 + 4 | 0) >> 2] | 0 | 0, 4 | 0); + btTransform__setOrigin_28btVector3_20const__29(btCollisionObject__getWorldTransform_28_29(HEAP32[($7 + 4 | 0) >> 2] | 0 | 0) | 0 | 0, (HEAP32[($6 + 4 | 0) >> 2] | 0) + 28 | 0 | 0); + btCollisionObject__setUserPointer_28void__29(HEAP32[($7 + 4 | 0) >> 2] | 0 | 0, $7 | 0); + btCapsuleCharacterController__ResetShape_28_29($7 | 0); + __stack_pointer = $6 + 16 | 0; + return $7 | 0; + } + + function btCollisionObject__setUserPointer_28void__29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0; + $4 = __stack_pointer - 16 | 0; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + HEAP32[((HEAP32[($4 + 12 | 0) >> 2] | 0) + 256 | 0) >> 2] = HEAP32[($4 + 8 | 0) >> 2] | 0; + return; + } + + function btCapsuleCharacterController__ResetShape_28_29($0) { + $0 = $0 | 0; + var $4 = 0, $3 = 0, $13 = 0, $24 = 0, $49 = 0, wasm2js_i32$0 = 0, wasm2js_f32$0 = Math_fround(0); + $3 = __stack_pointer - 32 | 0; + __stack_pointer = $3; + HEAP32[($3 + 28 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 28 | 0) >> 2] | 0; + label$1 : { + label$2 : { + if ((HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$2 + } + $13 = btCapsuleShape__operator_20new_28unsigned_20long_29(64 | 0) | 0; + btCapsuleShape__btCapsuleShape_28float_2c_20float_29($13 | 0, Math_fround(Math_fround(HEAPF32[($4 + 152 | 0) >> 2])), Math_fround(Math_fround(HEAPF32[($4 + 156 | 0) >> 2]))) | 0; + HEAP32[($4 + 8 | 0) >> 2] = $13; + break label$1; + } + btCapsuleShape__updateProp_28float_2c_20float_2c_20int_29(HEAP32[($4 + 8 | 0) >> 2] | 0 | 0, Math_fround(Math_fround(HEAPF32[($4 + 152 | 0) >> 2])), Math_fround(Math_fround(+Math_fround(HEAPF32[($4 + 156 | 0) >> 2]) * .5)), 1 | 0); + } + $24 = HEAP32[($4 + 4 | 0) >> 2] | 0; + FUNCTION_TABLE[HEAP32[((HEAP32[$24 >> 2] | 0) + 8 | 0) >> 2] | 0 | 0]($24, HEAP32[($4 + 8 | 0) >> 2] | 0); + (wasm2js_i32$0 = $3, wasm2js_f32$0 = Math_fround(FUNCTION_TABLE[HEAP32[((HEAP32[$4 >> 2] | 0) + 20 | 0) >> 2] | 0 | 0]($4))), HEAPF32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_f32$0; + btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($3 + 12 | 0 | 0, $4 + 152 | 0 | 0, $3 + 8 | 0 | 0, $4 + 152 | 0 | 0) | 0; + label$3 : { + label$4 : { + if ((HEAP32[($4 + 104 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$4 + } + $49 = btBoxShape__operator_20new_28unsigned_20long_29(64 | 0) | 0; + btBoxShape__btBoxShape_28btVector3_20const__29($49 | 0, $3 + 12 | 0 | 0) | 0; + HEAP32[($4 + 104 | 0) >> 2] = $49; + break label$3; + } + btBoxShape__setUnscaledHalfExtents_28btVector3_20const__29(HEAP32[($4 + 104 | 0) >> 2] | 0 | 0, $3 + 12 | 0 | 0); + } + __stack_pointer = $3 + 32 | 0; + return; + } + + function btCapsuleCharacterController__getFullHalfHeight_28_29($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + return Math_fround(Math_fround(Math_fround(Math_fround(HEAPF32[($4 + 156 | 0) >> 2]) * Math_fround(.5)) + Math_fround(HEAPF32[($4 + 152 | 0) >> 2]))); + } + + function btCapsuleCharacterController__setRadius_28float_29($0, $1) { + $0 = $0 | 0; + $1 = Math_fround($1); + var $4 = 0, $5 = 0; + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAPF32[($4 + 8 | 0) >> 2] = $1; + $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; + HEAPF32[($5 + 152 | 0) >> 2] = Math_fround(HEAPF32[($4 + 8 | 0) >> 2]); + btCapsuleCharacterController__ResetShape_28_29($5 | 0); + __stack_pointer = $4 + 16 | 0; + return; + } + + function btCapsuleCharacterController__setHeight_28float_29($0, $1) { + $0 = $0 | 0; + $1 = Math_fround($1); + var $4 = 0, $5 = 0; + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAPF32[($4 + 8 | 0) >> 2] = $1; + $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; + HEAPF32[($5 + 156 | 0) >> 2] = Math_fround(HEAPF32[($4 + 8 | 0) >> 2]); + btCapsuleCharacterController__ResetShape_28_29($5 | 0); + __stack_pointer = $4 + 16 | 0; + return; + } + + function btBoxCharacterController__btBoxCharacterController_28btCollisionWorld__2c_20btBoxCharacterControllerDesc__2c_20void__29($0, $1, $2, $3) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + var $7 = 0, $6 = 0, $24 = 0; + $6 = __stack_pointer - 16 | 0; + __stack_pointer = $6; + HEAP32[($6 + 12 | 0) >> 2] = $0; + HEAP32[($6 + 8 | 0) >> 2] = $1; + HEAP32[($6 + 4 | 0) >> 2] = $2; + HEAP32[$6 >> 2] = $3; + $7 = HEAP32[($6 + 12 | 0) >> 2] | 0; + btCharacterController__btCharacterController_28btCollisionWorld__2c_20btCharacterControllerDesc__2c_20void__29($7 | 0, HEAP32[($6 + 8 | 0) >> 2] | 0 | 0, HEAP32[($6 + 4 | 0) >> 2] | 0 | 0, HEAP32[$6 >> 2] | 0 | 0) | 0; + HEAP32[$7 >> 2] = 104140 + 8 | 0; + HEAPF32[($7 + 152 | 0) >> 2] = Math_fround(.5); + HEAPF32[($7 + 156 | 0) >> 2] = Math_fround(.5); + HEAPF32[($7 + 160 | 0) >> 2] = Math_fround(.5); + HEAPF32[($7 + 156 | 0) >> 2] = Math_fround(HEAPF32[((HEAP32[($6 + 4 | 0) >> 2] | 0) + 56 | 0) >> 2]); + HEAPF32[($7 + 152 | 0) >> 2] = Math_fround(HEAPF32[((HEAP32[($6 + 4 | 0) >> 2] | 0) + 52 | 0) >> 2]); + HEAPF32[($7 + 160 | 0) >> 2] = Math_fround(HEAPF32[((HEAP32[($6 + 4 | 0) >> 2] | 0) + 60 | 0) >> 2]); + $24 = btCollisionObject__operator_20new_28unsigned_20long_29(348 | 0) | 0; + btPairCachingGhostObject__btPairCachingGhostObject_28_29($24 | 0) | 0; + HEAP32[($7 + 4 | 0) >> 2] = $24; + btCollisionObject__setCollisionFlags_28int_29(HEAP32[($7 + 4 | 0) >> 2] | 0 | 0, 4 | 0); + btTransform__setOrigin_28btVector3_20const__29(btCollisionObject__getWorldTransform_28_29(HEAP32[($7 + 4 | 0) >> 2] | 0 | 0) | 0 | 0, (HEAP32[($6 + 4 | 0) >> 2] | 0) + 28 | 0 | 0); + btCollisionObject__setUserPointer_28void__29(HEAP32[($7 + 4 | 0) >> 2] | 0 | 0, $7 | 0); + btBoxCharacterController__ResetShape_28_29($7 | 0); + __stack_pointer = $6 + 16 | 0; + return $7 | 0; + } + + function btBoxCharacterController__ResetShape_28_29($0) { + $0 = $0 | 0; + var $4 = 0, $3 = 0, $22 = 0, $30 = 0; + $3 = __stack_pointer - 32 | 0; + __stack_pointer = $3; + HEAP32[($3 + 28 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 28 | 0) >> 2] | 0; + btVector3__btVector3_28float_20const__2c_20float_20const__2c_20float_20const__29($3 + 12 | 0 | 0, $4 + 156 | 0 | 0, $4 + 152 | 0 | 0, $4 + 160 | 0 | 0) | 0; + label$1 : { + label$2 : { + if ((HEAP32[($4 + 8 | 0) >> 2] | 0 | 0) != (0 | 0) & 1 | 0) { + break label$2 + } + $22 = btBoxShape__operator_20new_28unsigned_20long_29(64 | 0) | 0; + btBoxShape__btBoxShape_28btVector3_20const__29($22 | 0, $3 + 12 | 0 | 0) | 0; + HEAP32[($4 + 8 | 0) >> 2] = $22; + break label$1; + } + btBoxShape__setUnscaledHalfExtents_28btVector3_20const__29(HEAP32[($4 + 8 | 0) >> 2] | 0 | 0, $3 + 12 | 0 | 0); + } + $30 = HEAP32[($4 + 4 | 0) >> 2] | 0; + FUNCTION_TABLE[HEAP32[((HEAP32[$30 >> 2] | 0) + 8 | 0) >> 2] | 0 | 0]($30, HEAP32[($4 + 8 | 0) >> 2] | 0); + __stack_pointer = $3 + 32 | 0; + return; + } + + function btBoxCharacterController__getFullHalfHeight_28_29($0) { + $0 = $0 | 0; + var $3 = 0, $9 = Math_fround(0); + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + HEAP32[($3 + 8 | 0) >> 2] = HEAP32[((HEAP32[($3 + 12 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + $9 = Math_fround(HEAPF32[(btVector3__y_28_29_20const(btBoxShape__getHalfExtentsWithoutMargin_28_29_20const(HEAP32[($3 + 8 | 0) >> 2] | 0 | 0) | 0 | 0) | 0) >> 2]); + __stack_pointer = $3 + 16 | 0; + return Math_fround($9); + } + + function btBoxCharacterController__setHalfHeight_28float_29($0, $1) { + $0 = $0 | 0; + $1 = Math_fround($1); + var $4 = 0, $5 = 0; + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAPF32[($4 + 8 | 0) >> 2] = $1; + $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; + HEAPF32[($5 + 152 | 0) >> 2] = Math_fround(HEAPF32[($4 + 8 | 0) >> 2]); + btBoxCharacterController__ResetShape_28_29($5 | 0); + __stack_pointer = $4 + 16 | 0; + return; + } + + function btBoxCharacterController__setHalfSideExtent_28float_29($0, $1) { + $0 = $0 | 0; + $1 = Math_fround($1); + var $4 = 0, $5 = 0; + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAPF32[($4 + 8 | 0) >> 2] = $1; + $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; + HEAPF32[($5 + 156 | 0) >> 2] = Math_fround(HEAPF32[($4 + 8 | 0) >> 2]); + btBoxCharacterController__ResetShape_28_29($5 | 0); + __stack_pointer = $4 + 16 | 0; + return; + } + + function btBoxCharacterController__setHalfForwardExtent_28float_29($0, $1) { + $0 = $0 | 0; + $1 = Math_fround($1); + var $4 = 0, $5 = 0; + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAPF32[($4 + 8 | 0) >> 2] = $1; + $5 = HEAP32[($4 + 12 | 0) >> 2] | 0; + HEAPF32[($5 + 160 | 0) >> 2] = Math_fround(HEAPF32[($4 + 8 | 0) >> 2]); + btBoxCharacterController__ResetShape_28_29($5 | 0); + __stack_pointer = $4 + 16 | 0; + return; + } + + function btCharacterController__debugDraw_28btIDebugDraw__29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0; + $4 = __stack_pointer - 16 | 0; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $1; + return; + } + + function btCharacterController__getType_28_29($0) { + $0 = $0 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + HEAP32[($3 + 12 | 0) >> 2] = $0; + return HEAP32[((HEAP32[($3 + 12 | 0) >> 2] | 0) + 56 | 0) >> 2] | 0 | 0; + } + + function btCapsuleCharacterController___btCapsuleCharacterController_28_29($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + btCharacterController___btCharacterController_28_29($4 | 0) | 0; + __stack_pointer = $3 + 16 | 0; + return $4 | 0; + } + + function btCapsuleCharacterController___btCapsuleCharacterController_28_29_1($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + btCapsuleCharacterController___btCapsuleCharacterController_28_29($4 | 0) | 0; + operator_20delete_28void__29($4 | 0); + __stack_pointer = $3 + 16 | 0; + return; + } + + function btBoxCharacterController___btBoxCharacterController_28_29($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + btCharacterController___btCharacterController_28_29($4 | 0) | 0; + __stack_pointer = $3 + 16 | 0; + return $4 | 0; + } + + function btBoxCharacterController___btBoxCharacterController_28_29_1($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + btBoxCharacterController___btBoxCharacterController_28_29($4 | 0) | 0; + operator_20delete_28void__29($4 | 0); + __stack_pointer = $3 + 16 | 0; + return; + } + + function btKinematicClosestNotMeConvexResultCallback___btKinematicClosestNotMeConvexResultCallback_28_29_1($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + HEAP32[($3 + 12 | 0) >> 2] = $0; + $4 = HEAP32[($3 + 12 | 0) >> 2] | 0; + btKinematicClosestNotMeConvexResultCallback___btKinematicClosestNotMeConvexResultCallback_28_29($4 | 0) | 0; + operator_20delete_28void__29($4 | 0); + __stack_pointer = $3 + 16 | 0; + return; + } + + function btKinematicClosestNotMeConvexResultCallback__addSingleResult_28btCollisionWorld__LocalConvexResult__2c_20bool_29($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $5 = 0, i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, i64toi32_i32$1 = 0, $7 = 0, $34 = 0, $35 = 0, $50 = 0, $147 = 0, $151 = 0, $181 = 0, $185 = 0, $62 = Math_fround(0), wasm2js_i32$0 = 0, wasm2js_f32$0 = Math_fround(0); + $5 = __stack_pointer - 48 | 0; + __stack_pointer = $5; + HEAP32[($5 + 40 | 0) >> 2] = $0; + HEAP32[($5 + 36 | 0) >> 2] = $1; + HEAP8[($5 + 35 | 0) >> 0] = $2; + $7 = HEAP32[($5 + 40 | 0) >> 2] | 0; + label$1 : { + label$2 : { + if (!((HEAP32[(HEAP32[($5 + 36 | 0) >> 2] | 0) >> 2] | 0 | 0) == (HEAP32[($7 + 88 | 0) >> 2] | 0 | 0) & 1 | 0)) { + break label$2 + } + HEAPF32[($5 + 44 | 0) >> 2] = Math_fround(1.0); + break label$1; + } + label$3 : { + if ((btCollisionObject__hasContactResponse_28_29_20const(HEAP32[(HEAP32[($5 + 36 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0) & 1 | 0) { + break label$3 + } + HEAPF32[($5 + 44 | 0) >> 2] = Math_fround(1.0); + break label$1; + } + HEAP32[($7 + 84 | 0) >> 2] = HEAP32[((HEAP32[((HEAP32[($5 + 36 | 0) >> 2] | 0) + 4 | 0) >> 2] | 0) + 8 | 0) >> 2] | 0; + btVector3__btVector3_28_29($5 + 16 | 0 | 0) | 0; + label$4 : { + label$5 : { + if (!((HEAPU8[($5 + 35 | 0) >> 0] | 0) & 1 | 0)) { + break label$5 + } + $34 = (HEAP32[($5 + 36 | 0) >> 2] | 0) + 8 | 0; + $35 = 8; + i64toi32_i32$2 = $34 + $35 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $147 = i64toi32_i32$0; + i64toi32_i32$0 = ($5 + 16 | 0) + $35 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $147; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$2 = $34; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $151 = i64toi32_i32$1; + i64toi32_i32$1 = $5; + HEAP32[($5 + 16 | 0) >> 2] = $151; + HEAP32[($5 + 20 | 0) >> 2] = i64toi32_i32$0; + break label$4; + } + operator__28btMatrix3x3_20const__2c_20btVector3_20const__29($5 | 0, btTransform__getBasis_28_29_20const(btCollisionObject__getWorldTransform_28_29_20const(HEAP32[(HEAP32[($5 + 36 | 0) >> 2] | 0) >> 2] | 0 | 0) | 0 | 0) | 0 | 0, (HEAP32[($5 + 36 | 0) >> 2] | 0) + 8 | 0 | 0); + $50 = 8; + i64toi32_i32$2 = $5 + $50 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $181 = i64toi32_i32$0; + i64toi32_i32$0 = ($5 + 16 | 0) + $50 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $181; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$2 = $5; + i64toi32_i32$1 = HEAP32[$5 >> 2] | 0; + i64toi32_i32$0 = HEAP32[($5 + 4 | 0) >> 2] | 0; + $185 = i64toi32_i32$1; + i64toi32_i32$1 = $5; + HEAP32[($5 + 16 | 0) >> 2] = $185; + HEAP32[($5 + 20 | 0) >> 2] = i64toi32_i32$0; + } + (wasm2js_i32$0 = $5, wasm2js_f32$0 = Math_fround(btCollisionWorld__ClosestConvexResultCallback__addSingleResult_28btCollisionWorld__LocalConvexResult__2c_20bool_29($7 | 0, HEAP32[($5 + 36 | 0) >> 2] | 0 | 0, (HEAPU8[($5 + 35 | 0) >> 0] | 0) & 1 | 0 | 0))), HEAPF32[(wasm2js_i32$0 + 44 | 0) >> 2] = wasm2js_f32$0; + } + $62 = Math_fround(HEAPF32[($5 + 44 | 0) >> 2]); + __stack_pointer = $5 + 48 | 0; + return Math_fround($62); + } + + function btActionInterface___btActionInterface_28_29_1($0) { + $0 = $0 | 0; + HEAP32[((__stack_pointer - 16 | 0) + 12 | 0) >> 2] = $0; + wasm2js_trap(); + } + + function _GLOBAL__sub_I_btCharacterController_cpp() { + __cxx_global_var_init_83(); + __cxx_global_var_init_1_1(); + return; + } + + function __getTypeName($0) { + $0 = $0 | 0; + return strdup(HEAP32[($0 + 4 | 0) >> 2] | 0 | 0) | 0 | 0; + } + + function _embind_initialize_bindings() { + var $0 = 0; + label$1 : { + $0 = HEAP32[(0 + 116240 | 0) >> 2] | 0; + if (!$0) { + break label$1 + } + label$2 : while (1) { + FUNCTION_TABLE[HEAP32[$0 >> 2] | 0 | 0](); + $0 = HEAP32[($0 + 4 | 0) >> 2] | 0; + if ($0) { + continue label$2 + } + break label$2; + }; + } + } + + function _embind_register_bindings($0) { + $0 = $0 | 0; + HEAP32[($0 + 4 | 0) >> 2] = HEAP32[(0 + 116240 | 0) >> 2] | 0; + HEAP32[(0 + 116240 | 0) >> 2] = $0; + } + + function embind_init_builtin_28_29() { + var i64toi32_i32$0 = 0, i64toi32_i32$1 = 0; + _embind_register_void(109656 | 0, 82765 | 0); + _embind_register_bool(109680 | 0, 77266 | 0, 1 | 0, 1 | 0, 0 | 0); + _embind_register_integer(109692 | 0, 71260 | 0, 1 | 0, -128 | 0, 127 | 0); + _embind_register_integer(109716 | 0, 71253 | 0, 1 | 0, -128 | 0, 127 | 0); + _embind_register_integer(109704 | 0, 71251 | 0, 1 | 0, 0 | 0, 255 | 0); + _embind_register_integer(109728 | 0, 67507 | 0, 2 | 0, -32768 | 0, 32767 | 0); + _embind_register_integer(109740 | 0, 67498 | 0, 2 | 0, 0 | 0, 65535 | 0); + _embind_register_integer(109752 | 0, 67790 | 0, 4 | 0, -2147483648 | 0, 2147483647 | 0); + _embind_register_integer(109764 | 0, 67781 | 0, 4 | 0, 0 | 0, -1 | 0); + _embind_register_integer(109776 | 0, 80490 | 0, 4 | 0, -2147483648 | 0, 2147483647 | 0); + _embind_register_integer(109788 | 0, 80481 | 0, 4 | 0, 0 | 0, -1 | 0); + i64toi32_i32$0 = -2147483648; + i64toi32_i32$1 = 2147483647; + legalfunc$_embind_register_bigint(109800 | 0, 68987 | 0, 8 | 0, 0 | 0, i64toi32_i32$0 | 0, -1 | 0, i64toi32_i32$1 | 0); + i64toi32_i32$1 = 0; + i64toi32_i32$0 = -1; + legalfunc$_embind_register_bigint(109812 | 0, 68986 | 0, 8 | 0, 0 | 0, i64toi32_i32$1 | 0, -1 | 0, i64toi32_i32$0 | 0); + _embind_register_float(109824 | 0, 68953 | 0, 4 | 0); + _embind_register_float(109836 | 0, 81899 | 0, 8 | 0); + _embind_register_std_string(111324 | 0, 80521 | 0); + _embind_register_std_string(104492 | 0, 85168 | 0); + _embind_register_std_wstring(104564 | 0, 4 | 0, 80495 | 0); + _embind_register_std_wstring(104640 | 0, 2 | 0, 80533 | 0); + _embind_register_std_wstring(104716 | 0, 4 | 0, 80548 | 0); + _embind_register_emval(110808 | 0, 77294 | 0); + _embind_register_memory_view(104756 | 0, 0 | 0, 85099 | 0); + _embind_register_memory_view(104796 | 0, 0 | 0, 85201 | 0); + _embind_register_memory_view(104836 | 0, 1 | 0, 85129 | 0); + _embind_register_memory_view(104876 | 0, 2 | 0, 84664 | 0); + _embind_register_memory_view(104916 | 0, 3 | 0, 84695 | 0); + _embind_register_memory_view(104956 | 0, 4 | 0, 84735 | 0); + _embind_register_memory_view(104996 | 0, 5 | 0, 84764 | 0); + _embind_register_memory_view(105036 | 0, 4 | 0, 85238 | 0); + _embind_register_memory_view(105076 | 0, 5 | 0, 85268 | 0); + _embind_register_memory_view(104796 | 0, 0 | 0, 84866 | 0); + _embind_register_memory_view(104836 | 0, 1 | 0, 84833 | 0); + _embind_register_memory_view(104876 | 0, 2 | 0, 84932 | 0); + _embind_register_memory_view(104916 | 0, 3 | 0, 84898 | 0); + _embind_register_memory_view(104956 | 0, 4 | 0, 85066 | 0); + _embind_register_memory_view(104996 | 0, 5 | 0, 85032 | 0); + _embind_register_memory_view(105116 | 0, 8 | 0, 84999 | 0); + _embind_register_memory_view(105156 | 0, 9 | 0, 84965 | 0); + _embind_register_memory_view(105196 | 0, 6 | 0, 84802 | 0); + _embind_register_memory_view(105236 | 0, 7 | 0, 85307 | 0); + } + + function _GLOBAL__sub_I_bind_cpp() { + HEAP32[(0 + 116244 | 0) >> 2] = 1217; + HEAP32[(0 + 116248 | 0) >> 2] = 0; + embind_init_builtin_28_29(); + HEAP32[(0 + 116248 | 0) >> 2] = HEAP32[(0 + 116240 | 0) >> 2] | 0; + HEAP32[(0 + 116240 | 0) >> 2] = 116244; + } + + function __cxa_atexit($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + return 0 | 0; + } + + function acosf($0) { + $0 = Math_fround($0); + var $3 = Math_fround(0), $2 = 0, $1 = 0, $4 = Math_fround(0); + label$1 : { + $1 = (wasm2js_scratch_store_f32($0), wasm2js_scratch_load_i32(2)); + $2 = $1 & 2147483647 | 0; + if ($2 >>> 0 < 1065353216 >>> 0) { + break label$1 + } + label$2 : { + if (($2 | 0) != (1065353216 | 0)) { + break label$2 + } + return Math_fround(($1 | 0) > (-1 | 0) ? Math_fround(0.0) : Math_fround(3.141592502593994)); + } + return Math_fround(Math_fround(Math_fround(0.0) / Math_fround($0 - $0))); + } + label$3 : { + label$4 : { + if ($2 >>> 0 > 1056964607 >>> 0) { + break label$4 + } + $3 = Math_fround(1.570796251296997); + if ($2 >>> 0 < 847249409 >>> 0) { + break label$3 + } + return Math_fround(Math_fround(Math_fround(Math_fround(Math_fround(7.549789415861596e-08) - Math_fround($0 * Math_fround(R(Math_fround(Math_fround($0 * $0)))))) - $0) + Math_fround(1.570796251296997))); + } + label$5 : { + if (($1 | 0) > (-1 | 0)) { + break label$5 + } + $0 = Math_fround(Math_fround($0 + Math_fround(1.0)) * Math_fround(.5)); + $3 = Math_fround(sqrtf(Math_fround($0))); + $0 = Math_fround(Math_fround(1.570796251296997) - Math_fround($3 + Math_fround(Math_fround($3 * Math_fround(R(Math_fround($0)))) + Math_fround(-7.549789415861596e-08)))); + return Math_fround(Math_fround($0 + $0)); + } + $3 = Math_fround(Math_fround(Math_fround(1.0) - $0) * Math_fround(.5)); + $4 = Math_fround(sqrtf(Math_fround($3))); + $0 = (wasm2js_scratch_store_i32(2, (wasm2js_scratch_store_f32($4), wasm2js_scratch_load_i32(2)) & -4096 | 0), wasm2js_scratch_load_f32()); + $0 = Math_fround(Math_fround(Math_fround($4 * Math_fround(R(Math_fround($3)))) + Math_fround(Math_fround($3 - Math_fround($0 * $0)) / Math_fround($4 + $0))) + $0); + $3 = Math_fround($0 + $0); + } + return Math_fround($3); + } + + function R($0) { + $0 = Math_fround($0); + return Math_fround(Math_fround(Math_fround(Math_fround(Math_fround($0 * Math_fround(Math_fround($0 * Math_fround(-.008656363002955914)) + Math_fround(-.04274342209100723))) + Math_fround(.16666586697101593)) * $0) / Math_fround(Math_fround($0 * Math_fround(-.7066296339035034)) + Math_fround(1.0)))); + } + + function asinf($0) { + $0 = Math_fround($0); + var $3 = 0.0, $2 = 0, $1 = 0; + label$1 : { + $1 = (wasm2js_scratch_store_f32($0), wasm2js_scratch_load_i32(2)); + $2 = $1 & 2147483647 | 0; + if ($2 >>> 0 < 1065353216 >>> 0) { + break label$1 + } + label$2 : { + if (($2 | 0) != (1065353216 | 0)) { + break label$2 + } + return Math_fround(Math_fround(+$0 * 1.5707963267948966 + 7.52316384526264e-37)); + } + return Math_fround(Math_fround(Math_fround(0.0) / Math_fround($0 - $0))); + } + label$3 : { + label$4 : { + if ($2 >>> 0 > 1056964607 >>> 0) { + break label$4 + } + if (($2 + -8388608 | 0) >>> 0 < 956301312 >>> 0) { + break label$3 + } + return Math_fround(Math_fround(Math_fround($0 * Math_fround(R_1(Math_fround(Math_fround($0 * $0))))) + $0)); + } + $0 = Math_fround(Math_fround(Math_fround(1.0) - Math_fround(fabsf(Math_fround($0)))) * Math_fround(.5)); + $3 = +sqrt(+(+$0)); + $3 = $3 + $3 * +Math_fround(R_1(Math_fround($0))); + $0 = Math_fround(1.5707963267948966 - ($3 + $3)); + $0 = ($1 | 0) < (0 | 0) ? Math_fround(-$0) : $0; + } + return Math_fround($0); + } + + function R_1($0) { + $0 = Math_fround($0); + return Math_fround(Math_fround(Math_fround(Math_fround(Math_fround($0 * Math_fround(Math_fround($0 * Math_fround(-.008656363002955914)) + Math_fround(-.04274342209100723))) + Math_fround(.16666586697101593)) * $0) / Math_fround(Math_fround($0 * Math_fround(-.7066296339035034)) + Math_fround(1.0)))); + } + + function atan2f($0, $1) { + $0 = Math_fround($0); + $1 = Math_fround($1); + var $2 = 0, $4 = 0, $6 = Math_fround(0), $5 = 0, $3 = 0; + label$1 : { + label$2 : { + if (((__FLOAT_BITS(Math_fround($1)) | 0) & 2147483647 | 0) >>> 0 > 2139095040 >>> 0) { + break label$2 + } + if (((__FLOAT_BITS(Math_fround($0)) | 0) & 2147483647 | 0) >>> 0 < 2139095041 >>> 0) { + break label$1 + } + } + return Math_fround(Math_fround($0 + $1)); + } + label$3 : { + $2 = (wasm2js_scratch_store_f32($1), wasm2js_scratch_load_i32(2)); + if (($2 | 0) != (1065353216 | 0)) { + break label$3 + } + return Math_fround(Math_fround(atanf(Math_fround($0)))); + } + $3 = ($2 >>> 30 | 0) & 2 | 0; + $4 = (wasm2js_scratch_store_f32($0), wasm2js_scratch_load_i32(2)); + $5 = $3 | ($4 >>> 31 | 0) | 0; + label$4 : { + label$5 : { + label$6 : { + $4 = $4 & 2147483647 | 0; + if ($4) { + break label$6 + } + $6 = $0; + label$7 : { + switch ($5 | 0) { + case 2: + return Math_fround(Math_fround(3.1415927410125732)); + case 3: + break label$7; + default: + break label$5; + }; + } + return Math_fround(Math_fround(-3.1415927410125732)); + } + label$9 : { + $2 = $2 & 2147483647 | 0; + if (($2 | 0) == (2139095040 | 0)) { + break label$9 + } + label$10 : { + if ($2) { + break label$10 + } + return Math_fround((wasm2js_scratch_store_i32(2, (wasm2js_scratch_store_f32(Math_fround(1.5707963705062866)), wasm2js_scratch_load_i32(2)) & 2147483647 | 0 | ((wasm2js_scratch_store_f32($0), wasm2js_scratch_load_i32(2)) & -2147483648 | 0) | 0), wasm2js_scratch_load_f32())); + } + label$11 : { + label$12 : { + if (($4 | 0) == (2139095040 | 0)) { + break label$12 + } + if (($2 + 218103808 | 0) >>> 0 >= $4 >>> 0) { + break label$11 + } + } + return Math_fround((wasm2js_scratch_store_i32(2, (wasm2js_scratch_store_f32(Math_fround(1.5707963705062866)), wasm2js_scratch_load_i32(2)) & 2147483647 | 0 | ((wasm2js_scratch_store_f32($0), wasm2js_scratch_load_i32(2)) & -2147483648 | 0) | 0), wasm2js_scratch_load_f32())); + } + label$13 : { + label$14 : { + if (!$3) { + break label$14 + } + $6 = Math_fround(0.0); + if (($4 + 218103808 | 0) >>> 0 < $2 >>> 0) { + break label$13 + } + } + $6 = Math_fround(atanf(Math_fround(Math_fround(fabsf(Math_fround(Math_fround($0 / $1))))))); + } + label$15 : { + switch ($5 | 0) { + case 1: + return Math_fround(Math_fround(-$6)); + case 2: + return Math_fround(Math_fround(Math_fround(3.1415927410125732) - Math_fround($6 + Math_fround(8.742277657347586e-08)))); + case 0: + break label$5; + default: + break label$15; + }; + } + return Math_fround(Math_fround(Math_fround($6 + Math_fround(8.742277657347586e-08)) + Math_fround(-3.1415927410125732))); + } + if (($4 | 0) == (2139095040 | 0)) { + break label$4 + } + $6 = Math_fround(HEAPF32[(($5 << 2 | 0) + 105260 | 0) >> 2]); + } + return Math_fround($6); + } + return Math_fround(Math_fround(HEAPF32[(($5 << 2 | 0) + 105244 | 0) >> 2])); + } + + function __FLOAT_BITS($0) { + $0 = Math_fround($0); + return (wasm2js_scratch_store_f32($0), wasm2js_scratch_load_i32(2)) | 0; + } + + function atanf($0) { + $0 = Math_fround($0); + var $2 = 0, $5 = Math_fround(0), $3 = 0, $4 = Math_fround(0), $1 = 0, $6 = Math_fround(0); + label$1 : { + $1 = (wasm2js_scratch_store_f32($0), wasm2js_scratch_load_i32(2)); + $2 = $1 & 2147483647 | 0; + if ($2 >>> 0 < 1283457024 >>> 0) { + break label$1 + } + return Math_fround(((__FLOAT_BITS_1(Math_fround($0)) | 0) & 2147483647 | 0) >>> 0 > 2139095040 >>> 0 ? $0 : (wasm2js_scratch_store_i32(2, (wasm2js_scratch_store_f32(Math_fround(1.570796251296997)), wasm2js_scratch_load_i32(2)) & 2147483647 | 0 | ((wasm2js_scratch_store_f32($0), wasm2js_scratch_load_i32(2)) & -2147483648 | 0) | 0), wasm2js_scratch_load_f32())); + } + label$2 : { + label$3 : { + label$4 : { + if ($2 >>> 0 > 1054867455 >>> 0) { + break label$4 + } + $3 = -1; + if ($2 >>> 0 >= 964689920 >>> 0) { + break label$3 + } + break label$2; + } + $0 = Math_fround(fabsf(Math_fround($0))); + label$5 : { + if ($2 >>> 0 > 1066926079 >>> 0) { + break label$5 + } + label$6 : { + if ($2 >>> 0 > 1060110335 >>> 0) { + break label$6 + } + $0 = Math_fround(Math_fround(Math_fround($0 + $0) + Math_fround(-1.0)) / Math_fround($0 + Math_fround(2.0))); + $3 = 0; + break label$3; + } + $0 = Math_fround(Math_fround($0 + Math_fround(-1.0)) / Math_fround($0 + Math_fround(1.0))); + $3 = 1; + break label$3; + } + label$7 : { + if ($2 >>> 0 > 1075576831 >>> 0) { + break label$7 + } + $0 = Math_fround(Math_fround($0 + Math_fround(-1.5)) / Math_fround(Math_fround($0 * Math_fround(1.5)) + Math_fround(1.0))); + $3 = 2; + break label$3; + } + $0 = Math_fround(Math_fround(-1.0) / $0); + $3 = 3; + } + $4 = Math_fround($0 * $0); + $5 = Math_fround($4 * $4); + $6 = Math_fround($5 * Math_fround(Math_fround($5 * Math_fround(-.106480173766613)) + Math_fround(-.19999158382415771))); + $5 = Math_fround($4 * Math_fround(Math_fround($5 * Math_fround(Math_fround($5 * Math_fround(.06168760731816292)) + Math_fround(.14253635704517365))) + Math_fround(.333333283662796))); + label$8 : { + if ($2 >>> 0 > 1054867455 >>> 0) { + break label$8 + } + return Math_fround(Math_fround($0 - Math_fround($0 * Math_fround($6 + $5)))); + } + $2 = $3 << 2 | 0; + $0 = Math_fround(Math_fround(HEAPF32[($2 + 105280 | 0) >> 2]) - Math_fround(Math_fround(Math_fround($0 * Math_fround($6 + $5)) - Math_fround(HEAPF32[($2 + 105296 | 0) >> 2])) - $0)); + $0 = ($1 | 0) < (0 | 0) ? Math_fround(-$0) : $0; + } + return Math_fround($0); + } + + function __FLOAT_BITS_1($0) { + $0 = Math_fround($0); + return (wasm2js_scratch_store_f32($0), wasm2js_scratch_load_i32(2)) | 0; + } + + function __cosdf($0) { + $0 = +$0; + var $1 = 0.0; + $0 = $0 * $0; + $1 = $0 * $0; + return Math_fround(Math_fround($0 * $1 * ($0 * 2.439044879627741e-05 + -.001388676377460993) + ($1 * .04166662332373906 + ($0 * -.499999997251031 + 1.0)))); + } + + function __sindf($0) { + $0 = +$0; + var $1 = 0.0, $2 = 0.0; + $1 = $0 * $0; + $2 = $1 * $0; + return Math_fround(Math_fround($2 * ($1 * $1) * ($1 * 2.718311493989822e-06 + -1.9839334836096632e-04) + ($2 * ($1 * .008333329385889463 + -.16666666641626524) + $0))); + } + + function __rem_pio2_large($0, $1, $2, $3, $4) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + $4 = $4 | 0; + var $12 = 0.0, $11 = 0, $6 = 0, $5 = 0, $19 = 0.0, $14 = 0, $15 = 0, $8 = 0, $9 = 0, $22 = 0, $10 = 0, $20 = 0, $13 = 0, $23 = 0.0, $7 = 0, $17 = 0, $21 = 0, $16 = 0, $18 = 0, $205 = 0, $208 = 0, $520 = 0.0, $558 = 0.0; + $5 = __stack_pointer - 560 | 0; + __stack_pointer = $5; + $6 = ($2 + -3 | 0 | 0) / (24 | 0) | 0; + $7 = ($6 | 0) > (0 | 0) ? $6 : 0; + $8 = Math_imul($7, -24) + $2 | 0; + label$1 : { + $9 = HEAP32[(($4 << 2 | 0) + 105312 | 0) >> 2] | 0; + $10 = $3 + -1 | 0; + if (($9 + $10 | 0 | 0) < (0 | 0)) { + break label$1 + } + $11 = $9 + $3 | 0; + $2 = $7 - $10 | 0; + $6 = 0; + label$2 : while (1) { + label$3 : { + label$4 : { + if (($2 | 0) >= (0 | 0)) { + break label$4 + } + $12 = 0.0; + break label$3; + } + $12 = +(HEAP32[(($2 << 2 | 0) + 105328 | 0) >> 2] | 0 | 0); + } + HEAPF64[(($5 + 320 | 0) + ($6 << 3 | 0) | 0) >> 3] = $12; + $2 = $2 + 1 | 0; + $6 = $6 + 1 | 0; + if (($6 | 0) != ($11 | 0)) { + continue label$2 + } + break label$2; + }; + } + $13 = $8 + -24 | 0; + $11 = 0; + $14 = ($9 | 0) > (0 | 0) ? $9 : 0; + $15 = ($3 | 0) < (1 | 0); + label$5 : while (1) { + label$6 : { + label$7 : { + if (!$15) { + break label$7 + } + $12 = 0.0; + break label$6; + } + $6 = $11 + $10 | 0; + $2 = 0; + $12 = 0.0; + label$8 : while (1) { + $12 = +HEAPF64[($0 + ($2 << 3 | 0) | 0) >> 3] * +HEAPF64[(($5 + 320 | 0) + (($6 - $2 | 0) << 3 | 0) | 0) >> 3] + $12; + $2 = $2 + 1 | 0; + if (($2 | 0) != ($3 | 0)) { + continue label$8 + } + break label$8; + }; + } + HEAPF64[($5 + ($11 << 3 | 0) | 0) >> 3] = $12; + $2 = ($11 | 0) == ($14 | 0); + $11 = $11 + 1 | 0; + if (!$2) { + continue label$5 + } + break label$5; + }; + $16 = 47 - $8 | 0; + $17 = 48 - $8 | 0; + $18 = $8 + -25 | 0; + $11 = $9; + label$9 : { + label$10 : while (1) { + $12 = +HEAPF64[($5 + ($11 << 3 | 0) | 0) >> 3]; + $2 = 0; + $6 = $11; + label$11 : { + $10 = ($11 | 0) < (1 | 0); + if ($10) { + break label$11 + } + label$12 : while (1) { + label$13 : { + label$14 : { + $19 = $12 * 5.9604644775390625e-08; + if (!(Math_abs($19) < 2147483648.0)) { + break label$14 + } + $15 = ~~$19; + break label$13; + } + $15 = -2147483648; + } + $14 = ($5 + 480 | 0) + ($2 << 2 | 0) | 0; + label$15 : { + label$16 : { + $19 = +($15 | 0); + $12 = $19 * -16777216.0 + $12; + if (!(Math_abs($12) < 2147483648.0)) { + break label$16 + } + $15 = ~~$12; + break label$15; + } + $15 = -2147483648; + } + HEAP32[$14 >> 2] = $15; + $6 = $6 + -1 | 0; + $12 = +HEAPF64[($5 + ($6 << 3 | 0) | 0) >> 3] + $19; + $2 = $2 + 1 | 0; + if (($2 | 0) != ($11 | 0)) { + continue label$12 + } + break label$12; + }; + } + $12 = +scalbn(+$12, $13 | 0); + label$17 : { + label$18 : { + $12 = $12 + +floor(+($12 * .125)) * -8.0; + if (!(Math_abs($12) < 2147483648.0)) { + break label$18 + } + $20 = ~~$12; + break label$17; + } + $20 = -2147483648; + } + $12 = $12 - +($20 | 0); + label$19 : { + label$20 : { + label$21 : { + label$22 : { + label$23 : { + $21 = ($13 | 0) < (1 | 0); + if ($21) { + break label$23 + } + $2 = (($11 << 2 | 0) + ($5 + 480 | 0) | 0) + -4 | 0; + $205 = $2; + $2 = HEAP32[$2 >> 2] | 0; + $208 = $2; + $2 = $2 >> $17 | 0; + $6 = $208 - ($2 << $17 | 0) | 0; + HEAP32[$205 >> 2] = $6; + $22 = $6 >> $16 | 0; + $20 = $2 + $20 | 0; + break label$22; + } + if ($13) { + break label$21 + } + $22 = (HEAP32[((($11 << 2 | 0) + ($5 + 480 | 0) | 0) + -4 | 0) >> 2] | 0) >> 23 | 0; + } + if (($22 | 0) < (1 | 0)) { + break label$19 + } + break label$20; + } + $22 = 2; + if ($12 >= .5) { + break label$20 + } + $22 = 0; + break label$19; + } + $2 = 0; + $15 = 0; + label$24 : { + if ($10) { + break label$24 + } + label$25 : while (1) { + $10 = ($5 + 480 | 0) + ($2 << 2 | 0) | 0; + $6 = HEAP32[$10 >> 2] | 0; + $14 = 16777215; + label$26 : { + label$27 : { + if ($15) { + break label$27 + } + $14 = 16777216; + if ($6) { + break label$27 + } + $15 = 0; + break label$26; + } + HEAP32[$10 >> 2] = $14 - $6 | 0; + $15 = 1; + } + $2 = $2 + 1 | 0; + if (($2 | 0) != ($11 | 0)) { + continue label$25 + } + break label$25; + }; + } + label$28 : { + if ($21) { + break label$28 + } + $2 = 8388607; + label$29 : { + switch ($18 | 0) { + case 1: + $2 = 4194303; + break; + case 0: + break label$29; + default: + break label$28; + }; + } + $6 = (($11 << 2 | 0) + ($5 + 480 | 0) | 0) + -4 | 0; + HEAP32[$6 >> 2] = (HEAP32[$6 >> 2] | 0) & $2 | 0; + } + $20 = $20 + 1 | 0; + if (($22 | 0) != (2 | 0)) { + break label$19 + } + $12 = 1.0 - $12; + $22 = 2; + if (!$15) { + break label$19 + } + $12 = $12 - +scalbn(+(1.0), $13 | 0); + } + label$31 : { + if ($12 != 0.0) { + break label$31 + } + $6 = 0; + $2 = $11; + label$32 : { + if (($2 | 0) <= ($9 | 0)) { + break label$32 + } + label$33 : while (1) { + $2 = $2 + -1 | 0; + $6 = HEAP32[(($5 + 480 | 0) + ($2 << 2 | 0) | 0) >> 2] | 0 | $6 | 0; + if (($2 | 0) > ($9 | 0)) { + continue label$33 + } + break label$33; + }; + if (!$6) { + break label$32 + } + $8 = $13; + label$34 : while (1) { + $8 = $8 + -24 | 0; + $11 = $11 + -1 | 0; + if (!(HEAP32[(($5 + 480 | 0) + ($11 << 2 | 0) | 0) >> 2] | 0)) { + continue label$34 + } + break label$9; + }; + } + $2 = 1; + label$35 : while (1) { + $6 = $2; + $2 = $2 + 1 | 0; + if (!(HEAP32[(($5 + 480 | 0) + (($9 - $6 | 0) << 2 | 0) | 0) >> 2] | 0)) { + continue label$35 + } + break label$35; + }; + $14 = $6 + $11 | 0; + label$36 : while (1) { + $6 = $11 + $3 | 0; + $11 = $11 + 1 | 0; + HEAPF64[(($5 + 320 | 0) + ($6 << 3 | 0) | 0) >> 3] = +(HEAP32[((($11 + $7 | 0) << 2 | 0) + 105328 | 0) >> 2] | 0 | 0); + $2 = 0; + $12 = 0.0; + label$37 : { + if (($3 | 0) < (1 | 0)) { + break label$37 + } + label$38 : while (1) { + $12 = +HEAPF64[($0 + ($2 << 3 | 0) | 0) >> 3] * +HEAPF64[(($5 + 320 | 0) + (($6 - $2 | 0) << 3 | 0) | 0) >> 3] + $12; + $2 = $2 + 1 | 0; + if (($2 | 0) != ($3 | 0)) { + continue label$38 + } + break label$38; + }; + } + HEAPF64[($5 + ($11 << 3 | 0) | 0) >> 3] = $12; + if (($11 | 0) < ($14 | 0)) { + continue label$36 + } + break label$36; + }; + $11 = $14; + continue label$10; + } + break label$10; + }; + label$39 : { + label$40 : { + $12 = +scalbn(+$12, 24 - $8 | 0 | 0); + if (!($12 >= 16777216.0)) { + break label$40 + } + $3 = $11 << 2 | 0; + label$41 : { + label$42 : { + $19 = $12 * 5.9604644775390625e-08; + if (!(Math_abs($19) < 2147483648.0)) { + break label$42 + } + $2 = ~~$19; + break label$41; + } + $2 = -2147483648; + } + $3 = ($5 + 480 | 0) + $3 | 0; + label$43 : { + label$44 : { + $12 = +($2 | 0) * -16777216.0 + $12; + if (!(Math_abs($12) < 2147483648.0)) { + break label$44 + } + $6 = ~~$12; + break label$43; + } + $6 = -2147483648; + } + HEAP32[$3 >> 2] = $6; + $11 = $11 + 1 | 0; + break label$39; + } + label$45 : { + label$46 : { + if (!(Math_abs($12) < 2147483648.0)) { + break label$46 + } + $2 = ~~$12; + break label$45; + } + $2 = -2147483648; + } + $8 = $13; + } + HEAP32[(($5 + 480 | 0) + ($11 << 2 | 0) | 0) >> 2] = $2; + } + $12 = +scalbn(+(1.0), $8 | 0); + label$47 : { + if (($11 | 0) <= (-1 | 0)) { + break label$47 + } + $3 = $11; + label$48 : while (1) { + $2 = $3; + HEAPF64[($5 + ($2 << 3 | 0) | 0) >> 3] = $12 * +(HEAP32[(($5 + 480 | 0) + ($2 << 2 | 0) | 0) >> 2] | 0 | 0); + $3 = $2 + -1 | 0; + $12 = $12 * 5.9604644775390625e-08; + if ($2) { + continue label$48 + } + break label$48; + }; + if (($11 | 0) <= (-1 | 0)) { + break label$47 + } + $6 = $11; + label$49 : while (1) { + $12 = 0.0; + $2 = 0; + label$50 : { + $14 = $11 - $6 | 0; + $0 = ($9 | 0) < ($14 | 0) ? $9 : $14; + if (($0 | 0) < (0 | 0)) { + break label$50 + } + label$51 : while (1) { + $12 = +HEAPF64[(($2 << 3 | 0) + 108096 | 0) >> 3] * +HEAPF64[($5 + (($2 + $6 | 0) << 3 | 0) | 0) >> 3] + $12; + $3 = ($2 | 0) != ($0 | 0); + $2 = $2 + 1 | 0; + if ($3) { + continue label$51 + } + break label$51; + }; + } + HEAPF64[(($5 + 160 | 0) + ($14 << 3 | 0) | 0) >> 3] = $12; + $2 = ($6 | 0) > (0 | 0); + $6 = $6 + -1 | 0; + if ($2) { + continue label$49 + } + break label$49; + }; + } + label$52 : { + label$53 : { + label$54 : { + switch ($4 | 0) { + case 3: + $23 = 0.0; + label$57 : { + if (($11 | 0) < (1 | 0)) { + break label$57 + } + $12 = +HEAPF64[(($5 + 160 | 0) + ($11 << 3 | 0) | 0) >> 3]; + $2 = $11; + label$58 : while (1) { + $3 = $2 + -1 | 0; + $6 = ($5 + 160 | 0) + ($3 << 3 | 0) | 0; + $19 = +HEAPF64[$6 >> 3]; + $520 = $19; + $19 = $19 + $12; + HEAPF64[(($5 + 160 | 0) + ($2 << 3 | 0) | 0) >> 3] = $12 + ($520 - $19); + HEAPF64[$6 >> 3] = $19; + $6 = $2 >>> 0 > 1 >>> 0; + $12 = $19; + $2 = $3; + if ($6) { + continue label$58 + } + break label$58; + }; + if (($11 | 0) < (2 | 0)) { + break label$57 + } + $12 = +HEAPF64[(($5 + 160 | 0) + ($11 << 3 | 0) | 0) >> 3]; + $2 = $11; + label$59 : while (1) { + $3 = $2 + -1 | 0; + $6 = ($5 + 160 | 0) + ($3 << 3 | 0) | 0; + $19 = +HEAPF64[$6 >> 3]; + $558 = $19; + $19 = $19 + $12; + HEAPF64[(($5 + 160 | 0) + ($2 << 3 | 0) | 0) >> 3] = $12 + ($558 - $19); + HEAPF64[$6 >> 3] = $19; + $6 = $2 >>> 0 > 2 >>> 0; + $12 = $19; + $2 = $3; + if ($6) { + continue label$59 + } + break label$59; + }; + $23 = 0.0; + if (($11 | 0) <= (1 | 0)) { + break label$57 + } + label$60 : while (1) { + $23 = $23 + +HEAPF64[(($5 + 160 | 0) + ($11 << 3 | 0) | 0) >> 3]; + $2 = ($11 | 0) > (2 | 0); + $11 = $11 + -1 | 0; + if ($2) { + continue label$60 + } + break label$60; + }; + } + $12 = +HEAPF64[($5 + 160 | 0) >> 3]; + if ($22) { + break label$53 + } + HEAPF64[$1 >> 3] = $12; + $12 = +HEAPF64[($5 + 168 | 0) >> 3]; + HEAPF64[($1 + 16 | 0) >> 3] = $23; + HEAPF64[($1 + 8 | 0) >> 3] = $12; + break label$52; + case 0: + $12 = 0.0; + label$61 : { + if (($11 | 0) < (0 | 0)) { + break label$61 + } + label$62 : while (1) { + $2 = $11; + $11 = $2 + -1 | 0; + $12 = $12 + +HEAPF64[(($5 + 160 | 0) + ($2 << 3 | 0) | 0) >> 3]; + if ($2) { + continue label$62 + } + break label$62; + }; + } + HEAPF64[$1 >> 3] = $22 ? -$12 : $12; + break label$52; + case 1: + case 2: + break label$54; + default: + break label$52; + }; + } + $12 = 0.0; + label$63 : { + if (($11 | 0) < (0 | 0)) { + break label$63 + } + $3 = $11; + label$64 : while (1) { + $2 = $3; + $3 = $2 + -1 | 0; + $12 = $12 + +HEAPF64[(($5 + 160 | 0) + ($2 << 3 | 0) | 0) >> 3]; + if ($2) { + continue label$64 + } + break label$64; + }; + } + HEAPF64[$1 >> 3] = $22 ? -$12 : $12; + $12 = +HEAPF64[($5 + 160 | 0) >> 3] - $12; + $2 = 1; + label$65 : { + if (($11 | 0) < (1 | 0)) { + break label$65 + } + label$66 : while (1) { + $12 = $12 + +HEAPF64[(($5 + 160 | 0) + ($2 << 3 | 0) | 0) >> 3]; + $3 = ($2 | 0) != ($11 | 0); + $2 = $2 + 1 | 0; + if ($3) { + continue label$66 + } + break label$66; + }; + } + HEAPF64[($1 + 8 | 0) >> 3] = $22 ? -$12 : $12; + break label$52; + } + HEAPF64[$1 >> 3] = -$12; + $12 = +HEAPF64[($5 + 168 | 0) >> 3]; + HEAPF64[($1 + 16 | 0) >> 3] = -$23; + HEAPF64[($1 + 8 | 0) >> 3] = -$12; + } + __stack_pointer = $5 + 560 | 0; + return $20 & 7 | 0 | 0; + } + + function __rem_pio2f($0, $1) { + $0 = Math_fround($0); + $1 = $1 | 0; + var $4 = 0, $6 = 0.0, $2 = 0, $3 = 0, $5 = 0.0, $7 = 0.0, $8 = 0; + $2 = __stack_pointer - 16 | 0; + __stack_pointer = $2; + label$1 : { + label$2 : { + $3 = (wasm2js_scratch_store_f32($0), wasm2js_scratch_load_i32(2)); + $4 = $3 & 2147483647 | 0; + if ($4 >>> 0 > 1305022426 >>> 0) { + break label$2 + } + $5 = +$0; + $6 = $5 * .6366197723675814 + 6755399441055744.0 + -6755399441055744.0; + $7 = $5 + $6 * -1.5707963109016418 + $6 * -1.5893254773528196e-08; + HEAPF64[$1 >> 3] = $7; + $3 = $7 < -.7853981852531433; + label$3 : { + label$4 : { + if (!(Math_abs($6) < 2147483648.0)) { + break label$4 + } + $4 = ~~$6; + break label$3; + } + $4 = -2147483648; + } + label$5 : { + if (!$3) { + break label$5 + } + $6 = $6 + -1.0; + HEAPF64[$1 >> 3] = $5 + $6 * -1.5707963109016418 + $6 * -1.5893254773528196e-08; + $4 = $4 + -1 | 0; + break label$1; + } + if (!($7 > .7853981852531433)) { + break label$1 + } + $6 = $6 + 1.0; + HEAPF64[$1 >> 3] = $5 + $6 * -1.5707963109016418 + $6 * -1.5893254773528196e-08; + $4 = $4 + 1 | 0; + break label$1; + } + label$6 : { + if ($4 >>> 0 < 2139095040 >>> 0) { + break label$6 + } + HEAPF64[$1 >> 3] = +Math_fround($0 - $0); + $4 = 0; + break label$1; + } + $8 = ($4 >>> 23 | 0) + -150 | 0; + HEAPF64[($2 + 8 | 0) >> 3] = +(wasm2js_scratch_store_i32(2, $4 - ($8 << 23 | 0) | 0), wasm2js_scratch_load_f32()); + $4 = __rem_pio2_large($2 + 8 | 0 | 0, $2 | 0, $8 | 0, 1 | 0, 0 | 0) | 0; + $6 = +HEAPF64[$2 >> 3]; + label$7 : { + if (($3 | 0) > (-1 | 0)) { + break label$7 + } + HEAPF64[$1 >> 3] = -$6; + $4 = 0 - $4 | 0; + break label$1; + } + HEAPF64[$1 >> 3] = $6; + } + __stack_pointer = $2 + 16 | 0; + return $4 | 0; + } + + function cosf($0) { + $0 = Math_fround($0); + var $4 = Math_fround(0), $1 = 0, $3 = 0, $2 = 0, $5 = 0.0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + label$1 : { + label$2 : { + $2 = (wasm2js_scratch_store_f32($0), wasm2js_scratch_load_i32(2)); + $3 = $2 & 2147483647 | 0; + if ($3 >>> 0 > 1061752794 >>> 0) { + break label$2 + } + $4 = Math_fround(1.0); + if ($3 >>> 0 < 964689920 >>> 0) { + break label$1 + } + $4 = Math_fround(__cosdf(+(+$0))); + break label$1; + } + label$3 : { + if ($3 >>> 0 > 1081824209 >>> 0) { + break label$3 + } + label$4 : { + if ($3 >>> 0 < 1075235812 >>> 0) { + break label$4 + } + $4 = Math_fround(-Math_fround(__cosdf(+((($2 | 0) < (0 | 0) ? 3.141592653589793 : -3.141592653589793) + +$0)))); + break label$1; + } + $5 = +$0; + label$5 : { + if (($2 | 0) > (-1 | 0)) { + break label$5 + } + $4 = Math_fround(__sindf(+($5 + 1.5707963267948966))); + break label$1; + } + $4 = Math_fround(__sindf(+(1.5707963267948966 - $5))); + break label$1; + } + label$6 : { + if ($3 >>> 0 > 1088565717 >>> 0) { + break label$6 + } + label$7 : { + if ($3 >>> 0 < 1085271520 >>> 0) { + break label$7 + } + $4 = Math_fround(__cosdf(+((($2 | 0) < (0 | 0) ? 6.283185307179586 : -6.283185307179586) + +$0))); + break label$1; + } + label$8 : { + if (($2 | 0) > (-1 | 0)) { + break label$8 + } + $4 = Math_fround(__sindf(+(-4.71238898038469 - +$0))); + break label$1; + } + $4 = Math_fround(__sindf(+(+$0 + -4.71238898038469))); + break label$1; + } + label$9 : { + if ($3 >>> 0 < 2139095040 >>> 0) { + break label$9 + } + $4 = Math_fround($0 - $0); + break label$1; + } + label$10 : { + switch ((__rem_pio2f(Math_fround($0), $1 + 8 | 0 | 0) | 0) & 3 | 0 | 0) { + case 0: + $4 = Math_fround(__cosdf(+(+HEAPF64[($1 + 8 | 0) >> 3]))); + break label$1; + case 1: + $4 = Math_fround(__sindf(+-+HEAPF64[($1 + 8 | 0) >> 3])); + break label$1; + case 2: + $4 = Math_fround(-Math_fround(__cosdf(+(+HEAPF64[($1 + 8 | 0) >> 3])))); + break label$1; + default: + break label$10; + }; + } + $4 = Math_fround(__sindf(+(+HEAPF64[($1 + 8 | 0) >> 3]))); + } + __stack_pointer = $1 + 16 | 0; + return Math_fround($4); + } + + function __memcpy($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $4 = 0, $3 = 0, $5 = 0; + label$1 : { + if ($2 >>> 0 < 512 >>> 0) { + break label$1 + } + emscripten_memcpy_big($0 | 0, $1 | 0, $2 | 0); + return $0 | 0; + } + $3 = $0 + $2 | 0; + label$2 : { + label$3 : { + if (($1 ^ $0 | 0) & 3 | 0) { + break label$3 + } + label$4 : { + label$5 : { + if ($0 & 3 | 0) { + break label$5 + } + $2 = $0; + break label$4; + } + label$6 : { + if ($2) { + break label$6 + } + $2 = $0; + break label$4; + } + $2 = $0; + label$7 : while (1) { + HEAP8[$2 >> 0] = HEAPU8[$1 >> 0] | 0; + $1 = $1 + 1 | 0; + $2 = $2 + 1 | 0; + if (!($2 & 3 | 0)) { + break label$4 + } + if ($2 >>> 0 < $3 >>> 0) { + continue label$7 + } + break label$7; + }; + } + label$8 : { + $4 = $3 & -4 | 0; + if ($4 >>> 0 < 64 >>> 0) { + break label$8 + } + $5 = $4 + -64 | 0; + if ($2 >>> 0 > $5 >>> 0) { + break label$8 + } + label$9 : while (1) { + HEAP32[$2 >> 2] = HEAP32[$1 >> 2] | 0; + HEAP32[($2 + 4 | 0) >> 2] = HEAP32[($1 + 4 | 0) >> 2] | 0; + HEAP32[($2 + 8 | 0) >> 2] = HEAP32[($1 + 8 | 0) >> 2] | 0; + HEAP32[($2 + 12 | 0) >> 2] = HEAP32[($1 + 12 | 0) >> 2] | 0; + HEAP32[($2 + 16 | 0) >> 2] = HEAP32[($1 + 16 | 0) >> 2] | 0; + HEAP32[($2 + 20 | 0) >> 2] = HEAP32[($1 + 20 | 0) >> 2] | 0; + HEAP32[($2 + 24 | 0) >> 2] = HEAP32[($1 + 24 | 0) >> 2] | 0; + HEAP32[($2 + 28 | 0) >> 2] = HEAP32[($1 + 28 | 0) >> 2] | 0; + HEAP32[($2 + 32 | 0) >> 2] = HEAP32[($1 + 32 | 0) >> 2] | 0; + HEAP32[($2 + 36 | 0) >> 2] = HEAP32[($1 + 36 | 0) >> 2] | 0; + HEAP32[($2 + 40 | 0) >> 2] = HEAP32[($1 + 40 | 0) >> 2] | 0; + HEAP32[($2 + 44 | 0) >> 2] = HEAP32[($1 + 44 | 0) >> 2] | 0; + HEAP32[($2 + 48 | 0) >> 2] = HEAP32[($1 + 48 | 0) >> 2] | 0; + HEAP32[($2 + 52 | 0) >> 2] = HEAP32[($1 + 52 | 0) >> 2] | 0; + HEAP32[($2 + 56 | 0) >> 2] = HEAP32[($1 + 56 | 0) >> 2] | 0; + HEAP32[($2 + 60 | 0) >> 2] = HEAP32[($1 + 60 | 0) >> 2] | 0; + $1 = $1 + 64 | 0; + $2 = $2 + 64 | 0; + if ($2 >>> 0 <= $5 >>> 0) { + continue label$9 + } + break label$9; + }; + } + if ($2 >>> 0 >= $4 >>> 0) { + break label$2 + } + label$10 : while (1) { + HEAP32[$2 >> 2] = HEAP32[$1 >> 2] | 0; + $1 = $1 + 4 | 0; + $2 = $2 + 4 | 0; + if ($2 >>> 0 < $4 >>> 0) { + continue label$10 + } + break label$2; + }; + } + label$11 : { + if ($3 >>> 0 >= 4 >>> 0) { + break label$11 + } + $2 = $0; + break label$2; + } + label$12 : { + $4 = $3 + -4 | 0; + if ($4 >>> 0 >= $0 >>> 0) { + break label$12 + } + $2 = $0; + break label$2; + } + $2 = $0; + label$13 : while (1) { + HEAP8[$2 >> 0] = HEAPU8[$1 >> 0] | 0; + HEAP8[($2 + 1 | 0) >> 0] = HEAPU8[($1 + 1 | 0) >> 0] | 0; + HEAP8[($2 + 2 | 0) >> 0] = HEAPU8[($1 + 2 | 0) >> 0] | 0; + HEAP8[($2 + 3 | 0) >> 0] = HEAPU8[($1 + 3 | 0) >> 0] | 0; + $1 = $1 + 4 | 0; + $2 = $2 + 4 | 0; + if ($2 >>> 0 <= $4 >>> 0) { + continue label$13 + } + break label$13; + }; + } + label$14 : { + if ($2 >>> 0 >= $3 >>> 0) { + break label$14 + } + label$15 : while (1) { + HEAP8[$2 >> 0] = HEAPU8[$1 >> 0] | 0; + $1 = $1 + 1 | 0; + $2 = $2 + 1 | 0; + if (($2 | 0) != ($3 | 0)) { + continue label$15 + } + break label$15; + }; + } + return $0 | 0; + } + + function __memset($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $3 = 0, i64toi32_i32$0 = 0, $4 = 0, i64toi32_i32$1 = 0, $6 = 0, $5 = 0, $6$hi = 0; + label$1 : { + if (!$2) { + break label$1 + } + HEAP8[$0 >> 0] = $1; + $3 = $2 + $0 | 0; + HEAP8[($3 + -1 | 0) >> 0] = $1; + if ($2 >>> 0 < 3 >>> 0) { + break label$1 + } + HEAP8[($0 + 2 | 0) >> 0] = $1; + HEAP8[($0 + 1 | 0) >> 0] = $1; + HEAP8[($3 + -3 | 0) >> 0] = $1; + HEAP8[($3 + -2 | 0) >> 0] = $1; + if ($2 >>> 0 < 7 >>> 0) { + break label$1 + } + HEAP8[($0 + 3 | 0) >> 0] = $1; + HEAP8[($3 + -4 | 0) >> 0] = $1; + if ($2 >>> 0 < 9 >>> 0) { + break label$1 + } + $4 = (0 - $0 | 0) & 3 | 0; + $3 = $0 + $4 | 0; + $1 = Math_imul($1 & 255 | 0, 16843009); + HEAP32[$3 >> 2] = $1; + $4 = ($2 - $4 | 0) & -4 | 0; + $2 = $3 + $4 | 0; + HEAP32[($2 + -4 | 0) >> 2] = $1; + if ($4 >>> 0 < 9 >>> 0) { + break label$1 + } + HEAP32[($3 + 8 | 0) >> 2] = $1; + HEAP32[($3 + 4 | 0) >> 2] = $1; + HEAP32[($2 + -8 | 0) >> 2] = $1; + HEAP32[($2 + -12 | 0) >> 2] = $1; + if ($4 >>> 0 < 25 >>> 0) { + break label$1 + } + HEAP32[($3 + 24 | 0) >> 2] = $1; + HEAP32[($3 + 20 | 0) >> 2] = $1; + HEAP32[($3 + 16 | 0) >> 2] = $1; + HEAP32[($3 + 12 | 0) >> 2] = $1; + HEAP32[($2 + -16 | 0) >> 2] = $1; + HEAP32[($2 + -20 | 0) >> 2] = $1; + HEAP32[($2 + -24 | 0) >> 2] = $1; + HEAP32[($2 + -28 | 0) >> 2] = $1; + $5 = $3 & 4 | 0 | 24 | 0; + $2 = $4 - $5 | 0; + if ($2 >>> 0 < 32 >>> 0) { + break label$1 + } + i64toi32_i32$0 = 0; + i64toi32_i32$1 = 1; + i64toi32_i32$1 = __wasm_i64_mul($1 | 0, i64toi32_i32$0 | 0, 1 | 0, i64toi32_i32$1 | 0) | 0; + i64toi32_i32$0 = i64toi32_i32$HIGH_BITS; + $6 = i64toi32_i32$1; + $6$hi = i64toi32_i32$0; + $1 = $3 + $5 | 0; + label$2 : while (1) { + i64toi32_i32$0 = $6$hi; + i64toi32_i32$1 = $1; + HEAP32[($1 + 24 | 0) >> 2] = $6; + HEAP32[($1 + 28 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $1; + HEAP32[($1 + 16 | 0) >> 2] = $6; + HEAP32[($1 + 20 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $1; + HEAP32[($1 + 8 | 0) >> 2] = $6; + HEAP32[($1 + 12 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $1; + HEAP32[$1 >> 2] = $6; + HEAP32[($1 + 4 | 0) >> 2] = i64toi32_i32$0; + $1 = $1 + 32 | 0; + $2 = $2 + -32 | 0; + if ($2 >>> 0 > 31 >>> 0) { + continue label$2 + } + break label$2; + }; + } + return $0 | 0; + } + + function __errno_location() { + return 116252 | 0; + } + + function fabsf($0) { + $0 = Math_fround($0); + return Math_fround(Math_fround(Math_abs($0))); + } + + function floor($0) { + $0 = +$0; + return +Math_floor($0); + } + + function fmodf($0, $1) { + $0 = Math_fround($0); + $1 = Math_fround($1); + var $3 = 0, $6 = 0, $4 = 0, $7 = 0, $2 = 0, $5 = 0; + label$1 : { + label$2 : { + $2 = (wasm2js_scratch_store_f32($1), wasm2js_scratch_load_i32(2)); + $3 = $2 << 1 | 0; + if (!$3) { + break label$2 + } + $4 = __FLOAT_BITS_2(Math_fround($1)) | 0; + $5 = (wasm2js_scratch_store_f32($0), wasm2js_scratch_load_i32(2)); + $6 = ($5 >>> 23 | 0) & 255 | 0; + if (($6 | 0) == (255 | 0)) { + break label$2 + } + if (($4 & 2147483647 | 0) >>> 0 < 2139095041 >>> 0) { + break label$1 + } + } + $1 = Math_fround($0 * $1); + return Math_fround(Math_fround($1 / $1)); + } + label$3 : { + $4 = $5 << 1 | 0; + if ($4 >>> 0 > $3 >>> 0) { + break label$3 + } + return Math_fround(($4 | 0) == ($3 | 0) ? Math_fround($0 * Math_fround(0.0)) : $0); + } + $4 = ($2 >>> 23 | 0) & 255 | 0; + label$4 : { + label$5 : { + if ($6) { + break label$5 + } + $6 = 0; + label$6 : { + $3 = $5 << 9 | 0; + if (($3 | 0) < (0 | 0)) { + break label$6 + } + label$7 : while (1) { + $6 = $6 + -1 | 0; + $3 = $3 << 1 | 0; + if (($3 | 0) > (-1 | 0)) { + continue label$7 + } + break label$7; + }; + } + $3 = $5 << (1 - $6 | 0) | 0; + break label$4; + } + $3 = $5 & 8388607 | 0 | 8388608 | 0; + } + label$8 : { + label$9 : { + if ($4) { + break label$9 + } + $4 = 0; + label$10 : { + $7 = $2 << 9 | 0; + if (($7 | 0) < (0 | 0)) { + break label$10 + } + label$11 : while (1) { + $4 = $4 + -1 | 0; + $7 = $7 << 1 | 0; + if (($7 | 0) > (-1 | 0)) { + continue label$11 + } + break label$11; + }; + } + $2 = $2 << (1 - $4 | 0) | 0; + break label$8; + } + $2 = $2 & 8388607 | 0 | 8388608 | 0; + } + label$12 : { + if (($6 | 0) <= ($4 | 0)) { + break label$12 + } + label$13 : while (1) { + label$14 : { + $7 = $3 - $2 | 0; + if (($7 | 0) < (0 | 0)) { + break label$14 + } + $3 = $7; + if ($3) { + break label$14 + } + return Math_fround(Math_fround($0 * Math_fround(0.0))); + } + $3 = $3 << 1 | 0; + $6 = $6 + -1 | 0; + if (($6 | 0) > ($4 | 0)) { + continue label$13 + } + break label$13; + }; + $6 = $4; + } + label$15 : { + $4 = $3 - $2 | 0; + if (($4 | 0) < (0 | 0)) { + break label$15 + } + $3 = $4; + if ($3) { + break label$15 + } + return Math_fround(Math_fround($0 * Math_fround(0.0))); + } + label$16 : { + label$17 : { + if ($3 >>> 0 <= 8388607 >>> 0) { + break label$17 + } + $7 = $3; + break label$16; + } + label$18 : while (1) { + $6 = $6 + -1 | 0; + $4 = $3 >>> 0 < 4194304 >>> 0; + $7 = $3 << 1 | 0; + $3 = $7; + if ($4) { + continue label$18 + } + break label$18; + }; + } + $3 = $5 & -2147483648 | 0; + label$19 : { + label$20 : { + if (($6 | 0) < (1 | 0)) { + break label$20 + } + $6 = $7 + -8388608 | 0 | ($6 << 23 | 0) | 0; + break label$19; + } + $6 = $7 >>> (1 - $6 | 0) | 0; + } + return Math_fround((wasm2js_scratch_store_i32(2, $6 | $3 | 0), wasm2js_scratch_load_f32())); + } + + function __FLOAT_BITS_2($0) { + $0 = Math_fround($0); + return (wasm2js_scratch_store_f32($0), wasm2js_scratch_load_i32(2)) | 0; + } + + function __math_invalidf($0) { + $0 = Math_fround($0); + $0 = Math_fround($0 - $0); + return Math_fround(Math_fround($0 / $0)); + } + + function __math_xflowf($0, $1) { + $0 = $0 | 0; + $1 = Math_fround($1); + return Math_fround(Math_fround(Math_fround(fp_barrierf(Math_fround($0 ? Math_fround(-$1) : $1))) * $1)); + } + + function fp_barrierf($0) { + $0 = Math_fround($0); + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + HEAPF32[($1 + 12 | 0) >> 2] = $0; + return Math_fround(Math_fround(HEAPF32[($1 + 12 | 0) >> 2])); + } + + function __math_oflowf($0) { + $0 = $0 | 0; + return Math_fround(Math_fround(__math_xflowf($0 | 0, Math_fround(Math_fround(1584563250285286751870879.0e5))))); + } + + function __math_uflowf($0) { + $0 = $0 | 0; + return Math_fround(Math_fround(__math_xflowf($0 | 0, Math_fround(Math_fround(2.524354896707238e-29))))); + } + + function powf($0, $1) { + $0 = Math_fround($0); + $1 = Math_fround($1); + var $4 = 0, $3 = 0, $6 = Math_fround(0), $2 = 0, $5 = 0, $7 = 0.0, i64toi32_i32$2 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$3 = 0; + $2 = (wasm2js_scratch_store_f32($1), wasm2js_scratch_load_i32(2)); + $3 = zeroinfnan($2 | 0) | 0; + label$1 : { + label$2 : { + label$3 : { + label$4 : { + label$5 : { + $4 = (wasm2js_scratch_store_f32($0), wasm2js_scratch_load_i32(2)); + if (($4 + -2139095040 | 0) >>> 0 < -2130706432 >>> 0) { + break label$5 + } + $5 = 0; + if ($3) { + break label$4 + } + break label$2; + } + if (!$3) { + break label$3 + } + } + $6 = Math_fround(1.0); + if (($4 | 0) == (1065353216 | 0)) { + break label$1 + } + $3 = $2 << 1 | 0; + if (!$3) { + break label$1 + } + label$6 : { + label$7 : { + $4 = $4 << 1 | 0; + if ($4 >>> 0 > -16777216 >>> 0) { + break label$7 + } + if ($3 >>> 0 < -16777215 >>> 0) { + break label$6 + } + } + return Math_fround(Math_fround($0 + $1)); + } + if (($4 | 0) == (2130706432 | 0)) { + break label$1 + } + return Math_fround($4 >>> 0 > 2130706431 >>> 0 ^ ($2 | 0) > (-1 | 0) | 0 ? Math_fround(0.0) : Math_fround($1 * $1)); + } + label$8 : { + if (!(zeroinfnan($4 | 0) | 0)) { + break label$8 + } + $6 = Math_fround($0 * $0); + label$9 : { + if (($4 | 0) > (-1 | 0)) { + break label$9 + } + $6 = (checkint($2 | 0) | 0 | 0) == (1 | 0) ? Math_fround(-$6) : $6; + } + if (($2 | 0) > (-1 | 0)) { + break label$1 + } + return Math_fround(Math_fround(fp_barrierf_1(Math_fround(Math_fround(Math_fround(1.0) / $6))))); + } + $5 = 0; + label$10 : { + if (($4 | 0) > (-1 | 0)) { + break label$10 + } + label$11 : { + $3 = checkint($2 | 0) | 0; + if ($3) { + break label$11 + } + return Math_fround(Math_fround(__math_invalidf(Math_fround($0)))); + } + $4 = $4 & 2147483647 | 0; + $5 = (($3 | 0) == (1 | 0)) << 16 | 0; + } + if ($4 >>> 0 > 8388607 >>> 0) { + break label$2 + } + $4 = ((wasm2js_scratch_store_f32(Math_fround($0 * Math_fround(8388608.0))), wasm2js_scratch_load_i32(2)) & 2147483647 | 0) + -192937984 | 0; + } + label$12 : { + $7 = +log2_inline($4 | 0) * +$1; + wasm2js_scratch_store_f64(+$7); + i64toi32_i32$0 = wasm2js_scratch_load_i32(1 | 0) | 0; + i64toi32_i32$2 = wasm2js_scratch_load_i32(0 | 0) | 0; + i64toi32_i32$1 = 2147450880; + i64toi32_i32$3 = 0; + i64toi32_i32$1 = i64toi32_i32$0 & i64toi32_i32$1 | 0; + i64toi32_i32$0 = i64toi32_i32$2 & i64toi32_i32$3 | 0; + i64toi32_i32$2 = 1079967744; + i64toi32_i32$3 = 1; + if (i64toi32_i32$1 >>> 0 < i64toi32_i32$2 >>> 0 | ((i64toi32_i32$1 | 0) == (i64toi32_i32$2 | 0) & i64toi32_i32$0 >>> 0 < i64toi32_i32$3 >>> 0 | 0) | 0) { + break label$12 + } + label$13 : { + if (!($7 > 127.99999995700433)) { + break label$13 + } + return Math_fround(Math_fround(__math_oflowf($5 | 0))); + } + if (!($7 <= -150.0)) { + break label$12 + } + return Math_fround(Math_fround(__math_uflowf($5 | 0))); + } + $6 = Math_fround(exp2_inline(+$7, $5 | 0)); + } + return Math_fround($6); + } + + function zeroinfnan($0) { + $0 = $0 | 0; + return (($0 << 1 | 0) + 16777216 | 0) >>> 0 < 16777217 >>> 0 | 0; + } + + function checkint($0) { + $0 = $0 | 0; + var $2 = 0, $1 = 0; + $1 = 0; + label$1 : { + $2 = ($0 >>> 23 | 0) & 255 | 0; + if ($2 >>> 0 < 127 >>> 0) { + break label$1 + } + $1 = 2; + if ($2 >>> 0 > 150 >>> 0) { + break label$1 + } + $1 = 0; + $2 = 1 << (150 - $2 | 0) | 0; + if (($2 + -1 | 0) & $0 | 0) { + break label$1 + } + $1 = $2 & $0 | 0 ? 1 : 2; + } + return $1 | 0; + } + + function fp_barrierf_1($0) { + $0 = Math_fround($0); + var $1 = 0; + $1 = __stack_pointer - 16 | 0; + HEAPF32[($1 + 12 | 0) >> 2] = $0; + return Math_fround(Math_fround(HEAPF32[($1 + 12 | 0) >> 2])); + } + + function log2_inline($0) { + $0 = $0 | 0; + var $2 = 0.0, $1 = 0, $3 = 0.0, $12 = 0.0; + $1 = $0 + -1060306944 | 0; + $12 = +(wasm2js_scratch_store_i32(2, $0 - ($1 & -8388608 | 0) | 0), wasm2js_scratch_load_f32()); + $0 = ($1 >>> 15 | 0) & 240 | 0; + $2 = $12 * +HEAPF64[($0 + 108488 | 0) >> 3] + -1.0; + $3 = $2 * $2; + return +((+HEAPF64[(0 + 108744 | 0) >> 3] * $2 + +HEAPF64[(0 + 108752 | 0) >> 3]) * ($3 * $3) + ((+HEAPF64[(0 + 108760 | 0) >> 3] * $2 + +HEAPF64[(0 + 108768 | 0) >> 3]) * $3 + (+HEAPF64[(0 + 108776 | 0) >> 3] * $2 + (+HEAPF64[($0 + 108496 | 0) >> 3] + +($1 >> 23 | 0 | 0))))); + } + + function exp2_inline($0, $1) { + $0 = +$0; + $1 = $1 | 0; + var i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, i64toi32_i32$1 = 0, i64toi32_i32$3 = 0, i64toi32_i32$5 = 0, i64toi32_i32$4 = 0, $2 = 0.0, $3 = 0.0, $4 = 0, $4$hi = 0, $17 = 0, $27 = 0.0, $32$hi = 0, $34$hi = 0, $40 = 0, $40$hi = 0; + $2 = +HEAPF64[(0 + 108416 | 0) >> 3]; + $3 = $2 + $0; + $0 = $0 - ($3 - $2); + $27 = (+HEAPF64[(0 + 108424 | 0) >> 3] * $0 + +HEAPF64[(0 + 108432 | 0) >> 3]) * ($0 * $0) + (+HEAPF64[(0 + 108440 | 0) >> 3] * $0 + 1.0); + wasm2js_scratch_store_f64(+$3); + i64toi32_i32$0 = wasm2js_scratch_load_i32(1 | 0) | 0; + $4 = wasm2js_scratch_load_i32(0 | 0) | 0; + $4$hi = i64toi32_i32$0; + i64toi32_i32$0 = 0; + $32$hi = i64toi32_i32$0; + i64toi32_i32$0 = $4$hi; + i64toi32_i32$2 = $4; + i64toi32_i32$1 = $32$hi; + i64toi32_i32$3 = $1; + i64toi32_i32$4 = i64toi32_i32$2 + i64toi32_i32$3 | 0; + i64toi32_i32$5 = i64toi32_i32$0 + i64toi32_i32$1 | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + i64toi32_i32$0 = i64toi32_i32$4; + i64toi32_i32$2 = 0; + i64toi32_i32$3 = 47; + i64toi32_i32$1 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + i64toi32_i32$2 = i64toi32_i32$0 << i64toi32_i32$1 | 0; + $17 = 0; + } else { + i64toi32_i32$2 = ((1 << i64toi32_i32$1 | 0) - 1 | 0) & (i64toi32_i32$0 >>> (32 - i64toi32_i32$1 | 0) | 0) | 0 | (i64toi32_i32$5 << i64toi32_i32$1 | 0) | 0; + $17 = i64toi32_i32$0 << i64toi32_i32$1 | 0; + } + $34$hi = i64toi32_i32$2; + i64toi32_i32$2 = $4$hi; + i64toi32_i32$5 = (($4 & 31 | 0) << 3 | 0) + 108160 | 0; + i64toi32_i32$2 = HEAP32[i64toi32_i32$5 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$5 + 4 | 0) >> 2] | 0; + $40 = i64toi32_i32$2; + $40$hi = i64toi32_i32$0; + i64toi32_i32$0 = $34$hi; + i64toi32_i32$5 = $17; + i64toi32_i32$2 = $40$hi; + i64toi32_i32$3 = $40; + i64toi32_i32$1 = i64toi32_i32$5 + i64toi32_i32$3 | 0; + i64toi32_i32$4 = i64toi32_i32$0 + i64toi32_i32$2 | 0; + if (i64toi32_i32$1 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$4 = i64toi32_i32$4 + 1 | 0 + } + wasm2js_scratch_store_i32(0 | 0, i64toi32_i32$1 | 0); + wasm2js_scratch_store_i32(1 | 0, i64toi32_i32$4 | 0); + return Math_fround(Math_fround($27 * +wasm2js_scratch_load_f64())); + } + + function printf($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $2 = 0; + $2 = __stack_pointer - 16 | 0; + __stack_pointer = $2; + HEAP32[($2 + 12 | 0) >> 2] = $1; + $1 = vfprintf(112856 | 0, $0 | 0, $1 | 0) | 0; + __stack_pointer = $2 + 16 | 0; + return $1 | 0; + } + + function scalbn($0, $1) { + $0 = +$0; + $1 = $1 | 0; + var i64toi32_i32$4 = 0, i64toi32_i32$2 = 0, i64toi32_i32$1 = 0, i64toi32_i32$3 = 0, $8 = 0, $32 = 0.0, i64toi32_i32$0 = 0; + label$1 : { + label$2 : { + if (($1 | 0) < (1024 | 0)) { + break label$2 + } + $0 = $0 * 8988465674311579538646525.0e283; + label$3 : { + if ($1 >>> 0 >= 2047 >>> 0) { + break label$3 + } + $1 = $1 + -1023 | 0; + break label$1; + } + $0 = $0 * 8988465674311579538646525.0e283; + $1 = (($1 | 0) < (3069 | 0) ? $1 : 3069) + -2046 | 0; + break label$1; + } + if (($1 | 0) > (-1023 | 0)) { + break label$1 + } + $0 = $0 * 2.004168360008973e-292; + label$4 : { + if ($1 >>> 0 <= -1992 >>> 0) { + break label$4 + } + $1 = $1 + 969 | 0; + break label$1; + } + $0 = $0 * 2.004168360008973e-292; + $1 = (($1 | 0) > (-2960 | 0) ? $1 : -2960) + 1938 | 0; + } + $32 = $0; + i64toi32_i32$0 = 0; + i64toi32_i32$2 = $1 + 1023 | 0; + i64toi32_i32$1 = 0; + i64toi32_i32$3 = 52; + i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4 | 0; + $8 = 0; + } else { + i64toi32_i32$1 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$0 << i64toi32_i32$4 | 0) | 0; + $8 = i64toi32_i32$2 << i64toi32_i32$4 | 0; + } + wasm2js_scratch_store_i32(0 | 0, $8 | 0); + wasm2js_scratch_store_i32(1 | 0, i64toi32_i32$1 | 0); + return +($32 * +wasm2js_scratch_load_f64()); + } + + function sinf($0) { + $0 = Math_fround($0); + var $1 = 0, $3 = 0, $4 = 0.0, $2 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + label$1 : { + label$2 : { + $2 = (wasm2js_scratch_store_f32($0), wasm2js_scratch_load_i32(2)); + $3 = $2 & 2147483647 | 0; + if ($3 >>> 0 > 1061752794 >>> 0) { + break label$2 + } + if ($3 >>> 0 < 964689920 >>> 0) { + break label$1 + } + $0 = Math_fround(__sindf(+(+$0))); + break label$1; + } + label$3 : { + if ($3 >>> 0 > 1081824209 >>> 0) { + break label$3 + } + $4 = +$0; + label$4 : { + if ($3 >>> 0 > 1075235811 >>> 0) { + break label$4 + } + label$5 : { + if (($2 | 0) > (-1 | 0)) { + break label$5 + } + $0 = Math_fround(-Math_fround(__cosdf(+($4 + 1.5707963267948966)))); + break label$1; + } + $0 = Math_fround(__cosdf(+($4 + -1.5707963267948966))); + break label$1; + } + $0 = Math_fround(__sindf(+-((($2 | 0) > (-1 | 0) ? -3.141592653589793 : 3.141592653589793) + $4))); + break label$1; + } + label$6 : { + if ($3 >>> 0 > 1088565717 >>> 0) { + break label$6 + } + label$7 : { + if ($3 >>> 0 > 1085271519 >>> 0) { + break label$7 + } + $4 = +$0; + label$8 : { + if (($2 | 0) > (-1 | 0)) { + break label$8 + } + $0 = Math_fround(__cosdf(+($4 + 4.71238898038469))); + break label$1; + } + $0 = Math_fround(-Math_fround(__cosdf(+($4 + -4.71238898038469)))); + break label$1; + } + $0 = Math_fround(__sindf(+((($2 | 0) < (0 | 0) ? 6.283185307179586 : -6.283185307179586) + +$0))); + break label$1; + } + label$9 : { + if ($3 >>> 0 < 2139095040 >>> 0) { + break label$9 + } + $0 = Math_fround($0 - $0); + break label$1; + } + label$10 : { + switch ((__rem_pio2f(Math_fround($0), $1 + 8 | 0 | 0) | 0) & 3 | 0 | 0) { + case 0: + $0 = Math_fround(__sindf(+(+HEAPF64[($1 + 8 | 0) >> 3]))); + break label$1; + case 1: + $0 = Math_fround(__cosdf(+(+HEAPF64[($1 + 8 | 0) >> 3]))); + break label$1; + case 2: + $0 = Math_fround(__sindf(+-+HEAPF64[($1 + 8 | 0) >> 3])); + break label$1; + default: + break label$10; + }; + } + $0 = Math_fround(-Math_fround(__cosdf(+(+HEAPF64[($1 + 8 | 0) >> 3])))); + } + __stack_pointer = $1 + 16 | 0; + return Math_fround($0); + } + + function sqrt($0) { + $0 = +$0; + return +Math_sqrt($0); + } + + function sqrtf($0) { + $0 = Math_fround($0); + return Math_fround(Math_fround(Math_sqrt($0))); + } + + function __stdio_write($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $4 = 0, $3 = 0, $5 = 0, $8 = 0, $6 = 0, $7 = 0, $9 = 0; + $3 = __stack_pointer - 32 | 0; + __stack_pointer = $3; + $4 = HEAP32[($0 + 28 | 0) >> 2] | 0; + HEAP32[($3 + 16 | 0) >> 2] = $4; + $5 = HEAP32[($0 + 20 | 0) >> 2] | 0; + HEAP32[($3 + 28 | 0) >> 2] = $2; + HEAP32[($3 + 24 | 0) >> 2] = $1; + $1 = $5 - $4 | 0; + HEAP32[($3 + 20 | 0) >> 2] = $1; + $6 = $1 + $2 | 0; + $4 = $3 + 16 | 0; + $7 = 2; + label$1 : { + label$2 : { + label$3 : { + label$4 : { + label$5 : { + if (!(__wasi_syscall_ret(__wasi_fd_write(HEAP32[($0 + 60 | 0) >> 2] | 0 | 0, $3 + 16 | 0 | 0, 2 | 0, $3 + 12 | 0 | 0) | 0 | 0) | 0)) { + break label$5 + } + $5 = $4; + break label$4; + } + label$6 : while (1) { + $1 = HEAP32[($3 + 12 | 0) >> 2] | 0; + if (($6 | 0) == ($1 | 0)) { + break label$3 + } + label$7 : { + if (($1 | 0) > (-1 | 0)) { + break label$7 + } + $5 = $4; + break label$2; + } + $8 = HEAP32[($4 + 4 | 0) >> 2] | 0; + $9 = $1 >>> 0 > $8 >>> 0; + $5 = $4 + ($9 << 3 | 0) | 0; + $8 = $1 - ($9 ? $8 : 0) | 0; + HEAP32[$5 >> 2] = (HEAP32[$5 >> 2] | 0) + $8 | 0; + $4 = $4 + ($9 ? 12 : 4) | 0; + HEAP32[$4 >> 2] = (HEAP32[$4 >> 2] | 0) - $8 | 0; + $6 = $6 - $1 | 0; + $4 = $5; + $7 = $7 - $9 | 0; + if (!(__wasi_syscall_ret(__wasi_fd_write(HEAP32[($0 + 60 | 0) >> 2] | 0 | 0, $4 | 0, $7 | 0, $3 + 12 | 0 | 0) | 0 | 0) | 0)) { + continue label$6 + } + break label$6; + }; + } + if (($6 | 0) != (-1 | 0)) { + break label$2 + } + } + $1 = HEAP32[($0 + 44 | 0) >> 2] | 0; + HEAP32[($0 + 28 | 0) >> 2] = $1; + HEAP32[($0 + 20 | 0) >> 2] = $1; + HEAP32[($0 + 16 | 0) >> 2] = $1 + (HEAP32[($0 + 48 | 0) >> 2] | 0) | 0; + $1 = $2; + break label$1; + } + $1 = 0; + HEAP32[($0 + 28 | 0) >> 2] = 0; + HEAP32[($0 + 16 | 0) >> 2] = 0; + HEAP32[($0 + 20 | 0) >> 2] = 0; + HEAP32[$0 >> 2] = HEAP32[$0 >> 2] | 0 | 32 | 0; + if (($7 | 0) == (2 | 0)) { + break label$1 + } + $1 = $2 - (HEAP32[($5 + 4 | 0) >> 2] | 0) | 0; + } + __stack_pointer = $3 + 32 | 0; + return $1 | 0; + } + + function __emscripten_stdout_close($0) { + $0 = $0 | 0; + return 0 | 0; + } + + function __emscripten_stdout_seek($0, $1, $1$hi, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $1$hi = $1$hi | 0; + $2 = $2 | 0; + i64toi32_i32$HIGH_BITS = 0; + return 0 | 0; + } + + function strcmp($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $3 = 0, $2 = 0; + $2 = HEAPU8[$1 >> 0] | 0; + label$1 : { + $3 = HEAPU8[$0 >> 0] | 0; + if (!$3) { + break label$1 + } + if (($3 | 0) != ($2 & 255 | 0 | 0)) { + break label$1 + } + label$2 : while (1) { + $2 = HEAPU8[($1 + 1 | 0) >> 0] | 0; + $3 = HEAPU8[($0 + 1 | 0) >> 0] | 0; + if (!$3) { + break label$1 + } + $1 = $1 + 1 | 0; + $0 = $0 + 1 | 0; + if (($3 | 0) == ($2 & 255 | 0 | 0)) { + continue label$2 + } + break label$2; + }; + } + return $3 - ($2 & 255 | 0) | 0 | 0; + } + + function strdup($0) { + $0 = $0 | 0; + var $1 = 0, $2 = 0; + label$1 : { + $1 = (strlen($0 | 0) | 0) + 1 | 0; + $2 = dlmalloc($1 | 0) | 0; + if ($2) { + break label$1 + } + return 0 | 0; + } + return __memcpy($2 | 0, $0 | 0, $1 | 0) | 0 | 0; + } + + function strlen($0) { + $0 = $0 | 0; + var $1 = 0, $2 = 0, $3 = 0; + $1 = $0; + label$1 : { + label$2 : { + if (!($1 & 3 | 0)) { + break label$2 + } + label$3 : { + if (HEAPU8[$0 >> 0] | 0) { + break label$3 + } + return $0 - $0 | 0 | 0; + } + $1 = $0; + label$4 : while (1) { + $1 = $1 + 1 | 0; + if (!($1 & 3 | 0)) { + break label$2 + } + if (HEAPU8[$1 >> 0] | 0) { + continue label$4 + } + break label$1; + }; + } + label$5 : while (1) { + $2 = $1; + $1 = $1 + 4 | 0; + $3 = HEAP32[$2 >> 2] | 0; + if (!((($3 ^ -1 | 0) & ($3 + -16843009 | 0) | 0) & -2139062144 | 0)) { + continue label$5 + } + break label$5; + }; + label$6 : while (1) { + $1 = $2; + $2 = $1 + 1 | 0; + if (HEAPU8[$1 >> 0] | 0) { + continue label$6 + } + break label$6; + }; + } + return $1 - $0 | 0 | 0; + } + + function __lockfile($0) { + $0 = $0 | 0; + return 1 | 0; + } + + function __unlockfile($0) { + $0 = $0 | 0; + } + + function emscripten_futex_wake($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + return 0 | 0; + } + + function __lock($0) { + $0 = $0 | 0; + } + + function __unlock($0) { + $0 = $0 | 0; + } + + function __ofl_lock() { + __lock(117288 | 0); + return 117292 | 0; + } + + function __ofl_unlock() { + __unlock(117288 | 0); + } + + function __towrite($0) { + $0 = $0 | 0; + var $1 = 0; + $1 = HEAP32[($0 + 72 | 0) >> 2] | 0; + HEAP32[($0 + 72 | 0) >> 2] = $1 + -1 | 0 | $1 | 0; + label$1 : { + $1 = HEAP32[$0 >> 2] | 0; + if (!($1 & 8 | 0)) { + break label$1 + } + HEAP32[$0 >> 2] = $1 | 32 | 0; + return -1 | 0; + } + HEAP32[($0 + 4 | 0) >> 2] = 0; + HEAP32[($0 + 8 | 0) >> 2] = 0; + $1 = HEAP32[($0 + 44 | 0) >> 2] | 0; + HEAP32[($0 + 28 | 0) >> 2] = $1; + HEAP32[($0 + 20 | 0) >> 2] = $1; + HEAP32[($0 + 16 | 0) >> 2] = $1 + (HEAP32[($0 + 48 | 0) >> 2] | 0) | 0; + return 0 | 0; + } + + function isdigit($0) { + $0 = $0 | 0; + return ($0 + -48 | 0) >>> 0 < 10 >>> 0 | 0; + } + + function memchr($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $3 = 0, $4 = 0; + $3 = ($2 | 0) != (0 | 0); + label$1 : { + label$2 : { + label$3 : { + if (!($0 & 3 | 0)) { + break label$3 + } + if (!$2) { + break label$3 + } + $4 = $1 & 255 | 0; + label$4 : while (1) { + if ((HEAPU8[$0 >> 0] | 0 | 0) == ($4 | 0)) { + break label$2 + } + $2 = $2 + -1 | 0; + $3 = ($2 | 0) != (0 | 0); + $0 = $0 + 1 | 0; + if (!($0 & 3 | 0)) { + break label$3 + } + if ($2) { + continue label$4 + } + break label$4; + }; + } + if (!$3) { + break label$1 + } + label$5 : { + if ((HEAPU8[$0 >> 0] | 0 | 0) == ($1 & 255 | 0 | 0)) { + break label$5 + } + if ($2 >>> 0 < 4 >>> 0) { + break label$5 + } + $4 = Math_imul($1 & 255 | 0, 16843009); + label$6 : while (1) { + $3 = (HEAP32[$0 >> 2] | 0) ^ $4 | 0; + if ((($3 ^ -1 | 0) & ($3 + -16843009 | 0) | 0) & -2139062144 | 0) { + break label$2 + } + $0 = $0 + 4 | 0; + $2 = $2 + -4 | 0; + if ($2 >>> 0 > 3 >>> 0) { + continue label$6 + } + break label$6; + }; + } + if (!$2) { + break label$1 + } + } + $3 = $1 & 255 | 0; + label$7 : while (1) { + label$8 : { + if ((HEAPU8[$0 >> 0] | 0 | 0) != ($3 | 0)) { + break label$8 + } + return $0 | 0; + } + $0 = $0 + 1 | 0; + $2 = $2 + -1 | 0; + if ($2) { + continue label$7 + } + break label$7; + }; + } + return 0 | 0; + } + + function strnlen($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $2 = 0; + $2 = memchr($0 | 0, 0 | 0, $1 | 0) | 0; + return ($2 ? $2 - $0 | 0 : $1) | 0; + } + + function frexp($0, $1) { + $0 = +$0; + $1 = $1 | 0; + var i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$3 = 0, $3 = 0, i64toi32_i32$2 = 0, i64toi32_i32$4 = 0, $2 = 0, $10 = 0, $2$hi = 0; + label$1 : { + wasm2js_scratch_store_f64(+$0); + i64toi32_i32$0 = wasm2js_scratch_load_i32(1 | 0) | 0; + $2 = wasm2js_scratch_load_i32(0 | 0) | 0; + $2$hi = i64toi32_i32$0; + i64toi32_i32$2 = $2; + i64toi32_i32$1 = 0; + i64toi32_i32$3 = 52; + i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + i64toi32_i32$1 = 0; + $10 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0; + } else { + i64toi32_i32$1 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0; + $10 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$0 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$2 >>> i64toi32_i32$4 | 0) | 0; + } + $3 = $10 & 2047 | 0; + if (($3 | 0) == (2047 | 0)) { + break label$1 + } + label$2 : { + if ($3) { + break label$2 + } + label$3 : { + label$4 : { + if ($0 != 0.0) { + break label$4 + } + $3 = 0; + break label$3; + } + $0 = +frexp(+($0 * 18446744073709551615.0), $1 | 0); + $3 = (HEAP32[$1 >> 2] | 0) + -64 | 0; + } + HEAP32[$1 >> 2] = $3; + return +$0; + } + HEAP32[$1 >> 2] = $3 + -1022 | 0; + i64toi32_i32$1 = $2$hi; + i64toi32_i32$0 = $2; + i64toi32_i32$2 = -2146435073; + i64toi32_i32$3 = -1; + i64toi32_i32$2 = i64toi32_i32$1 & i64toi32_i32$2 | 0; + i64toi32_i32$1 = i64toi32_i32$0 & i64toi32_i32$3 | 0; + i64toi32_i32$0 = 1071644672; + i64toi32_i32$3 = 0; + i64toi32_i32$0 = i64toi32_i32$2 | i64toi32_i32$0 | 0; + wasm2js_scratch_store_i32(0 | 0, i64toi32_i32$1 | i64toi32_i32$3 | 0 | 0); + wasm2js_scratch_store_i32(1 | 0, i64toi32_i32$0 | 0); + $0 = +wasm2js_scratch_load_f64(); + } + return +$0; + } + + function __fwritex($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $3 = 0, $4 = 0, $5 = 0; + label$1 : { + label$2 : { + $3 = HEAP32[($2 + 16 | 0) >> 2] | 0; + if ($3) { + break label$2 + } + $4 = 0; + if (__towrite($2 | 0) | 0) { + break label$1 + } + $3 = HEAP32[($2 + 16 | 0) >> 2] | 0; + } + label$3 : { + $5 = HEAP32[($2 + 20 | 0) >> 2] | 0; + if (($3 - $5 | 0) >>> 0 >= $1 >>> 0) { + break label$3 + } + return FUNCTION_TABLE[HEAP32[($2 + 36 | 0) >> 2] | 0 | 0]($2, $0, $1) | 0 | 0; + } + label$4 : { + label$5 : { + if ((HEAP32[($2 + 80 | 0) >> 2] | 0 | 0) >= (0 | 0)) { + break label$5 + } + $3 = 0; + break label$4; + } + $4 = $1; + label$6 : while (1) { + label$7 : { + $3 = $4; + if ($3) { + break label$7 + } + $3 = 0; + break label$4; + } + $4 = $3 + -1 | 0; + if ((HEAPU8[($0 + $4 | 0) >> 0] | 0 | 0) != (10 | 0)) { + continue label$6 + } + break label$6; + }; + $4 = FUNCTION_TABLE[HEAP32[($2 + 36 | 0) >> 2] | 0 | 0]($2, $0, $3) | 0; + if ($4 >>> 0 < $3 >>> 0) { + break label$1 + } + $0 = $0 + $3 | 0; + $1 = $1 - $3 | 0; + $5 = HEAP32[($2 + 20 | 0) >> 2] | 0; + } + __memcpy($5 | 0, $0 | 0, $1 | 0) | 0; + HEAP32[($2 + 20 | 0) >> 2] = (HEAP32[($2 + 20 | 0) >> 2] | 0) + $1 | 0; + $4 = $3 + $1 | 0; + } + return $4 | 0; + } + + function fwrite($0, $1, $2, $3) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + var $4 = 0, $5 = 0; + $4 = Math_imul($2, $1); + label$1 : { + label$2 : { + if ((HEAP32[($3 + 76 | 0) >> 2] | 0 | 0) > (-1 | 0)) { + break label$2 + } + $0 = __fwritex($0 | 0, $4 | 0, $3 | 0) | 0; + break label$1; + } + $5 = __lockfile($3 | 0) | 0; + $0 = __fwritex($0 | 0, $4 | 0, $3 | 0) | 0; + if (!$5) { + break label$1 + } + __unlockfile($3 | 0); + } + label$3 : { + if (($0 | 0) != ($4 | 0)) { + break label$3 + } + return ($1 ? $2 : 0) | 0; + } + return ($0 >>> 0) / ($1 >>> 0) | 0 | 0; + } + + function __vfprintf_internal($0, $1, $2, $3, $4) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + $4 = $4 | 0; + var $5 = 0, i64toi32_i32$0 = 0, $8 = 0, $6 = 0, $7 = 0; + $5 = __stack_pointer - 208 | 0; + __stack_pointer = $5; + HEAP32[($5 + 204 | 0) >> 2] = $2; + $6 = 0; + __memset($5 + 160 | 0 | 0, 0 | 0, 40 | 0) | 0; + HEAP32[($5 + 200 | 0) >> 2] = HEAP32[($5 + 204 | 0) >> 2] | 0; + label$1 : { + label$2 : { + if ((printf_core(0 | 0, $1 | 0, $5 + 200 | 0 | 0, $5 + 80 | 0 | 0, $5 + 160 | 0 | 0, $3 | 0, $4 | 0) | 0 | 0) >= (0 | 0)) { + break label$2 + } + $4 = -1; + break label$1; + } + label$3 : { + if ((HEAP32[($0 + 76 | 0) >> 2] | 0 | 0) < (0 | 0)) { + break label$3 + } + $6 = __lockfile($0 | 0) | 0; + } + $7 = HEAP32[$0 >> 2] | 0; + label$4 : { + if ((HEAP32[($0 + 72 | 0) >> 2] | 0 | 0) > (0 | 0)) { + break label$4 + } + HEAP32[$0 >> 2] = $7 & -33 | 0; + } + label$5 : { + label$6 : { + label$7 : { + label$8 : { + if (HEAP32[($0 + 48 | 0) >> 2] | 0) { + break label$8 + } + HEAP32[($0 + 48 | 0) >> 2] = 80; + HEAP32[($0 + 28 | 0) >> 2] = 0; + i64toi32_i32$0 = 0; + HEAP32[($0 + 16 | 0) >> 2] = 0; + HEAP32[($0 + 20 | 0) >> 2] = i64toi32_i32$0; + $8 = HEAP32[($0 + 44 | 0) >> 2] | 0; + HEAP32[($0 + 44 | 0) >> 2] = $5; + break label$7; + } + $8 = 0; + if (HEAP32[($0 + 16 | 0) >> 2] | 0) { + break label$6 + } + } + $2 = -1; + if (__towrite($0 | 0) | 0) { + break label$5 + } + } + $2 = printf_core($0 | 0, $1 | 0, $5 + 200 | 0 | 0, $5 + 80 | 0 | 0, $5 + 160 | 0 | 0, $3 | 0, $4 | 0) | 0; + } + $4 = $7 & 32 | 0; + label$9 : { + if (!$8) { + break label$9 + } + FUNCTION_TABLE[HEAP32[($0 + 36 | 0) >> 2] | 0 | 0]($0, 0, 0) | 0; + HEAP32[($0 + 48 | 0) >> 2] = 0; + HEAP32[($0 + 44 | 0) >> 2] = $8; + HEAP32[($0 + 28 | 0) >> 2] = 0; + $3 = HEAP32[($0 + 20 | 0) >> 2] | 0; + i64toi32_i32$0 = 0; + HEAP32[($0 + 16 | 0) >> 2] = 0; + HEAP32[($0 + 20 | 0) >> 2] = i64toi32_i32$0; + $2 = $3 ? $2 : -1; + } + $3 = HEAP32[$0 >> 2] | 0; + HEAP32[$0 >> 2] = $3 | $4 | 0; + $4 = $3 & 32 | 0 ? -1 : $2; + if (!$6) { + break label$1 + } + __unlockfile($0 | 0); + } + __stack_pointer = $5 + 208 | 0; + return $4 | 0; + } + + function printf_core($0, $1, $2, $3, $4, $5, $6) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + $4 = $4 | 0; + $5 = $5 | 0; + $6 = $6 | 0; + var $12 = 0, $7 = 0, $15 = 0, $20 = 0, i64toi32_i32$1 = 0, $17 = 0, $18 = 0, $14 = 0, $13 = 0, i64toi32_i32$2 = 0, i64toi32_i32$0 = 0, $11 = 0, $16 = 0, $19 = 0, $22 = 0, i64toi32_i32$3 = 0, i64toi32_i32$5 = 0, $9 = 0, $24 = 0, $10 = 0, $25 = 0, $25$hi = 0, $21 = 0, $23 = 0, $33 = 0, $34 = 0, $35 = 0, $8 = 0, $272 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $7 = __stack_pointer - 80 | 0; + __stack_pointer = $7; + HEAP32[($7 + 76 | 0) >> 2] = $1; + $8 = $7 + 55 | 0; + $9 = $7 + 56 | 0; + $10 = 0; + $11 = 0; + $12 = 0; + label$1 : { + label$2 : { + label$3 : { + label$4 : { + label$5 : while (1) { + $13 = $1; + if (($12 | 0) > ($11 ^ 2147483647 | 0 | 0)) { + break label$4 + } + $11 = $12 + $11 | 0; + $12 = $13; + label$6 : { + label$7 : { + label$8 : { + label$9 : { + label$10 : { + $14 = HEAPU8[$12 >> 0] | 0; + if (!$14) { + break label$10 + } + label$11 : while (1) { + label$12 : { + label$13 : { + label$14 : { + $14 = $14 & 255 | 0; + if ($14) { + break label$14 + } + $1 = $12; + break label$13; + } + if (($14 | 0) != (37 | 0)) { + break label$12 + } + $14 = $12; + label$15 : while (1) { + label$16 : { + if ((HEAPU8[($14 + 1 | 0) >> 0] | 0 | 0) == (37 | 0)) { + break label$16 + } + $1 = $14; + break label$13; + } + $12 = $12 + 1 | 0; + $15 = HEAPU8[($14 + 2 | 0) >> 0] | 0; + $1 = $14 + 2 | 0; + $14 = $1; + if (($15 | 0) == (37 | 0)) { + continue label$15 + } + break label$15; + }; + } + $12 = $12 - $13 | 0; + $14 = $11 ^ 2147483647 | 0; + if (($12 | 0) > ($14 | 0)) { + break label$4 + } + label$17 : { + if (!$0) { + break label$17 + } + out($0 | 0, $13 | 0, $12 | 0); + } + if ($12) { + continue label$5 + } + HEAP32[($7 + 76 | 0) >> 2] = $1; + $12 = $1 + 1 | 0; + $16 = -1; + label$18 : { + if (!(isdigit(HEAP8[($1 + 1 | 0) >> 0] | 0 | 0) | 0)) { + break label$18 + } + if ((HEAPU8[($1 + 2 | 0) >> 0] | 0 | 0) != (36 | 0)) { + break label$18 + } + $12 = $1 + 3 | 0; + $16 = (HEAP8[($1 + 1 | 0) >> 0] | 0) + -48 | 0; + $10 = 1; + } + HEAP32[($7 + 76 | 0) >> 2] = $12; + $17 = 0; + label$19 : { + label$20 : { + $18 = HEAP8[$12 >> 0] | 0; + $1 = $18 + -32 | 0; + if ($1 >>> 0 <= 31 >>> 0) { + break label$20 + } + $15 = $12; + break label$19; + } + $17 = 0; + $15 = $12; + $1 = 1 << $1 | 0; + if (!($1 & 75913 | 0)) { + break label$19 + } + label$21 : while (1) { + $15 = $12 + 1 | 0; + HEAP32[($7 + 76 | 0) >> 2] = $15; + $17 = $1 | $17 | 0; + $18 = HEAP8[($12 + 1 | 0) >> 0] | 0; + $1 = $18 + -32 | 0; + if ($1 >>> 0 >= 32 >>> 0) { + break label$19 + } + $12 = $15; + $1 = 1 << $1 | 0; + if ($1 & 75913 | 0) { + continue label$21 + } + break label$21; + }; + } + label$22 : { + label$23 : { + if (($18 | 0) != (42 | 0)) { + break label$23 + } + label$24 : { + label$25 : { + if (!(isdigit(HEAP8[($15 + 1 | 0) >> 0] | 0 | 0) | 0)) { + break label$25 + } + if ((HEAPU8[($15 + 2 | 0) >> 0] | 0 | 0) != (36 | 0)) { + break label$25 + } + HEAP32[((((HEAP8[($15 + 1 | 0) >> 0] | 0) << 2 | 0) + $4 | 0) + -192 | 0) >> 2] = 10; + $18 = $15 + 3 | 0; + $19 = HEAP32[((((HEAP8[($15 + 1 | 0) >> 0] | 0) << 3 | 0) + $3 | 0) + -384 | 0) >> 2] | 0; + $10 = 1; + break label$24; + } + if ($10) { + break label$9 + } + $18 = $15 + 1 | 0; + label$26 : { + if ($0) { + break label$26 + } + HEAP32[($7 + 76 | 0) >> 2] = $18; + $10 = 0; + $19 = 0; + break label$22; + } + $12 = HEAP32[$2 >> 2] | 0; + HEAP32[$2 >> 2] = $12 + 4 | 0; + $19 = HEAP32[$12 >> 2] | 0; + $10 = 0; + } + HEAP32[($7 + 76 | 0) >> 2] = $18; + if (($19 | 0) > (-1 | 0)) { + break label$22 + } + $19 = 0 - $19 | 0; + $17 = $17 | 8192 | 0; + break label$22; + } + $19 = getint($7 + 76 | 0 | 0) | 0; + if (($19 | 0) < (0 | 0)) { + break label$4 + } + $18 = HEAP32[($7 + 76 | 0) >> 2] | 0; + } + $12 = 0; + $20 = -1; + label$27 : { + label$28 : { + if ((HEAPU8[$18 >> 0] | 0 | 0) == (46 | 0)) { + break label$28 + } + $1 = $18; + $21 = 0; + break label$27; + } + label$29 : { + if ((HEAPU8[($18 + 1 | 0) >> 0] | 0 | 0) != (42 | 0)) { + break label$29 + } + label$30 : { + label$31 : { + if (!(isdigit(HEAP8[($18 + 2 | 0) >> 0] | 0 | 0) | 0)) { + break label$31 + } + if ((HEAPU8[($18 + 3 | 0) >> 0] | 0 | 0) != (36 | 0)) { + break label$31 + } + HEAP32[((((HEAP8[($18 + 2 | 0) >> 0] | 0) << 2 | 0) + $4 | 0) + -192 | 0) >> 2] = 10; + $1 = $18 + 4 | 0; + $20 = HEAP32[((((HEAP8[($18 + 2 | 0) >> 0] | 0) << 3 | 0) + $3 | 0) + -384 | 0) >> 2] | 0; + break label$30; + } + if ($10) { + break label$9 + } + $1 = $18 + 2 | 0; + label$32 : { + if ($0) { + break label$32 + } + $20 = 0; + break label$30; + } + $15 = HEAP32[$2 >> 2] | 0; + HEAP32[$2 >> 2] = $15 + 4 | 0; + $20 = HEAP32[$15 >> 2] | 0; + } + HEAP32[($7 + 76 | 0) >> 2] = $1; + $21 = ($20 ^ -1 | 0) >>> 31 | 0; + break label$27; + } + HEAP32[($7 + 76 | 0) >> 2] = $18 + 1 | 0; + $21 = 1; + $20 = getint($7 + 76 | 0 | 0) | 0; + $1 = HEAP32[($7 + 76 | 0) >> 2] | 0; + } + label$33 : while (1) { + $15 = $12; + $22 = 28; + $18 = $1; + $12 = HEAP8[$18 >> 0] | 0; + if (($12 + -123 | 0) >>> 0 < -58 >>> 0) { + break label$3 + } + $1 = $18 + 1 | 0; + $12 = HEAPU8[(($12 + Math_imul($15, 58) | 0) + 108719 | 0) >> 0] | 0; + if (($12 + -1 | 0) >>> 0 < 8 >>> 0) { + continue label$33 + } + break label$33; + }; + HEAP32[($7 + 76 | 0) >> 2] = $1; + label$34 : { + label$35 : { + label$36 : { + if (($12 | 0) == (27 | 0)) { + break label$36 + } + if (!$12) { + break label$3 + } + label$37 : { + if (($16 | 0) < (0 | 0)) { + break label$37 + } + HEAP32[($4 + ($16 << 2 | 0) | 0) >> 2] = $12; + i64toi32_i32$2 = $3 + ($16 << 3 | 0) | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $272 = i64toi32_i32$0; + i64toi32_i32$0 = $7; + HEAP32[($7 + 64 | 0) >> 2] = $272; + HEAP32[($7 + 68 | 0) >> 2] = i64toi32_i32$1; + break label$35; + } + if (!$0) { + break label$6 + } + pop_arg($7 + 64 | 0 | 0, $12 | 0, $2 | 0, $6 | 0); + break label$34; + } + if (($16 | 0) > (-1 | 0)) { + break label$3 + } + } + $12 = 0; + if (!$0) { + continue label$5 + } + } + $23 = $17 & -65537 | 0; + $17 = $17 & 8192 | 0 ? $23 : $17; + $16 = 0; + $24 = 66643; + $22 = $9; + label$38 : { + label$39 : { + label$40 : { + label$41 : { + label$42 : { + label$43 : { + label$44 : { + label$45 : { + label$46 : { + label$47 : { + label$48 : { + label$49 : { + label$50 : { + label$51 : { + label$52 : { + label$53 : { + $12 = HEAP8[$18 >> 0] | 0; + $12 = $15 ? (($12 & 15 | 0 | 0) == (3 | 0) ? $12 & -33 | 0 : $12) : $12; + switch ($12 + -88 | 0 | 0) { + case 11: + break label$38; + case 9: + case 13: + case 14: + case 15: + break label$39; + case 27: + break label$44; + case 12: + case 17: + break label$47; + case 23: + break label$48; + case 0: + case 32: + break label$49; + case 24: + break label$50; + case 22: + break label$51; + case 29: + break label$52; + case 1: + case 2: + case 3: + case 4: + case 5: + case 6: + case 7: + case 8: + case 10: + case 16: + case 18: + case 19: + case 20: + case 21: + case 25: + case 26: + case 28: + case 30: + case 31: + break label$7; + default: + break label$53; + }; + } + $22 = $9; + label$54 : { + switch ($12 + -65 | 0 | 0) { + case 0: + case 4: + case 5: + case 6: + break label$39; + case 2: + break label$42; + case 1: + case 3: + break label$7; + default: + break label$54; + }; + } + if (($12 | 0) == (83 | 0)) { + break label$43 + } + break label$8; + } + $16 = 0; + $24 = 66643; + i64toi32_i32$2 = $7; + i64toi32_i32$1 = HEAP32[($7 + 64 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($7 + 68 | 0) >> 2] | 0; + $25 = i64toi32_i32$1; + $25$hi = i64toi32_i32$0; + break label$46; + } + $12 = 0; + label$55 : { + switch ($15 & 255 | 0 | 0) { + case 0: + HEAP32[(HEAP32[($7 + 64 | 0) >> 2] | 0) >> 2] = $11; + continue label$5; + case 1: + HEAP32[(HEAP32[($7 + 64 | 0) >> 2] | 0) >> 2] = $11; + continue label$5; + case 2: + i64toi32_i32$1 = $11; + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + i64toi32_i32$1 = HEAP32[($7 + 64 | 0) >> 2] | 0; + HEAP32[i64toi32_i32$1 >> 2] = $11; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + continue label$5; + case 3: + HEAP16[(HEAP32[($7 + 64 | 0) >> 2] | 0) >> 1] = $11; + continue label$5; + case 4: + HEAP8[(HEAP32[($7 + 64 | 0) >> 2] | 0) >> 0] = $11; + continue label$5; + case 6: + HEAP32[(HEAP32[($7 + 64 | 0) >> 2] | 0) >> 2] = $11; + continue label$5; + case 7: + break label$55; + default: + continue label$5; + }; + } + i64toi32_i32$1 = $11; + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + i64toi32_i32$1 = HEAP32[($7 + 64 | 0) >> 2] | 0; + HEAP32[i64toi32_i32$1 >> 2] = $11; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + continue label$5; + } + $20 = $20 >>> 0 > 8 >>> 0 ? $20 : 8; + $17 = $17 | 8 | 0; + $12 = 120; + } + i64toi32_i32$2 = $7; + i64toi32_i32$0 = HEAP32[($7 + 64 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($7 + 68 | 0) >> 2] | 0; + $13 = fmt_x(i64toi32_i32$0 | 0, i64toi32_i32$1 | 0, $9 | 0, $12 & 32 | 0 | 0) | 0; + $16 = 0; + $24 = 66643; + i64toi32_i32$2 = $7; + i64toi32_i32$1 = HEAP32[($7 + 64 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($7 + 68 | 0) >> 2] | 0; + if (!(i64toi32_i32$1 | i64toi32_i32$0 | 0)) { + break label$45 + } + if (!($17 & 8 | 0)) { + break label$45 + } + $24 = ($12 >>> 4 | 0) + 66643 | 0; + $16 = 2; + break label$45; + } + $16 = 0; + $24 = 66643; + i64toi32_i32$2 = $7; + i64toi32_i32$0 = HEAP32[($7 + 64 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[($7 + 68 | 0) >> 2] | 0; + $13 = fmt_o(i64toi32_i32$0 | 0, i64toi32_i32$1 | 0, $9 | 0) | 0; + if (!($17 & 8 | 0)) { + break label$45 + } + $12 = $9 - $13 | 0; + $20 = ($20 | 0) > ($12 | 0) ? $20 : $12 + 1 | 0; + break label$45; + } + label$62 : { + i64toi32_i32$2 = $7; + i64toi32_i32$1 = HEAP32[($7 + 64 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[($7 + 68 | 0) >> 2] | 0; + $25 = i64toi32_i32$1; + $25$hi = i64toi32_i32$0; + i64toi32_i32$2 = i64toi32_i32$1; + i64toi32_i32$1 = -1; + i64toi32_i32$3 = -1; + if ((i64toi32_i32$0 | 0) > (i64toi32_i32$1 | 0)) { + $33 = 1 + } else { + if ((i64toi32_i32$0 | 0) >= (i64toi32_i32$1 | 0)) { + if (i64toi32_i32$2 >>> 0 <= i64toi32_i32$3 >>> 0) { + $34 = 0 + } else { + $34 = 1 + } + $35 = $34; + } else { + $35 = 0 + } + $33 = $35; + } + if ($33) { + break label$62 + } + i64toi32_i32$2 = $25$hi; + i64toi32_i32$2 = 0; + i64toi32_i32$3 = 0; + i64toi32_i32$0 = $25$hi; + i64toi32_i32$1 = $25; + i64toi32_i32$5 = (i64toi32_i32$3 >>> 0 < i64toi32_i32$1 >>> 0) + i64toi32_i32$0 | 0; + i64toi32_i32$5 = i64toi32_i32$2 - i64toi32_i32$5 | 0; + $25 = i64toi32_i32$3 - i64toi32_i32$1 | 0; + $25$hi = i64toi32_i32$5; + i64toi32_i32$3 = $7; + HEAP32[($7 + 64 | 0) >> 2] = $25; + HEAP32[($7 + 68 | 0) >> 2] = i64toi32_i32$5; + $16 = 1; + $24 = 66643; + break label$46; + } + label$63 : { + if (!($17 & 2048 | 0)) { + break label$63 + } + $16 = 1; + $24 = 66644; + break label$46; + } + $16 = $17 & 1 | 0; + $24 = $16 ? 66645 : 66643; + } + i64toi32_i32$5 = $25$hi; + $13 = fmt_u($25 | 0, i64toi32_i32$5 | 0, $9 | 0) | 0; + } + label$64 : { + if (!$21) { + break label$64 + } + if (($20 | 0) < (0 | 0)) { + break label$4 + } + } + $17 = $21 ? $17 & -65537 | 0 : $17; + label$65 : { + i64toi32_i32$2 = $7; + i64toi32_i32$5 = HEAP32[($7 + 64 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[($7 + 68 | 0) >> 2] | 0; + $25 = i64toi32_i32$5; + $25$hi = i64toi32_i32$3; + i64toi32_i32$2 = i64toi32_i32$5; + i64toi32_i32$5 = 0; + i64toi32_i32$1 = 0; + if ((i64toi32_i32$2 | 0) != (i64toi32_i32$1 | 0) | (i64toi32_i32$3 | 0) != (i64toi32_i32$5 | 0) | 0) { + break label$65 + } + if ($20) { + break label$65 + } + $13 = $9; + $22 = $13; + $20 = 0; + break label$7; + } + i64toi32_i32$2 = $25$hi; + $12 = ($9 - $13 | 0) + !($25 | i64toi32_i32$2 | 0) | 0; + $20 = ($20 | 0) > ($12 | 0) ? $20 : $12; + break label$8; + } + $12 = HEAP32[($7 + 64 | 0) >> 2] | 0; + $13 = $12 ? $12 : 86327; + $12 = strnlen($13 | 0, ($20 >>> 0 < 2147483647 >>> 0 ? $20 : 2147483647) | 0) | 0; + $22 = $13 + $12 | 0; + label$66 : { + if (($20 | 0) <= (-1 | 0)) { + break label$66 + } + $17 = $23; + $20 = $12; + break label$7; + } + $17 = $23; + $20 = $12; + if (HEAPU8[$22 >> 0] | 0) { + break label$4 + } + break label$7; + } + label$67 : { + if (!$20) { + break label$67 + } + $14 = HEAP32[($7 + 64 | 0) >> 2] | 0; + break label$41; + } + $12 = 0; + pad($0 | 0, 32 | 0, $19 | 0, 0 | 0, $17 | 0); + break label$40; + } + HEAP32[($7 + 12 | 0) >> 2] = 0; + i64toi32_i32$1 = $7; + i64toi32_i32$2 = HEAP32[($7 + 64 | 0) >> 2] | 0; + i64toi32_i32$3 = HEAP32[($7 + 68 | 0) >> 2] | 0; + HEAP32[($7 + 8 | 0) >> 2] = i64toi32_i32$2; + HEAP32[($7 + 64 | 0) >> 2] = $7 + 8 | 0; + $14 = $7 + 8 | 0; + $20 = -1; + } + $12 = 0; + label$68 : { + label$69 : while (1) { + $15 = HEAP32[$14 >> 2] | 0; + if (!$15) { + break label$68 + } + label$70 : { + $15 = wctomb($7 + 4 | 0 | 0, $15 | 0) | 0; + $13 = ($15 | 0) < (0 | 0); + if ($13) { + break label$70 + } + if ($15 >>> 0 > ($20 - $12 | 0) >>> 0) { + break label$70 + } + $14 = $14 + 4 | 0; + $12 = $15 + $12 | 0; + if ($20 >>> 0 > $12 >>> 0) { + continue label$69 + } + break label$68; + } + break label$69; + }; + if ($13) { + break label$2 + } + } + $22 = 61; + if (($12 | 0) < (0 | 0)) { + break label$3 + } + pad($0 | 0, 32 | 0, $19 | 0, $12 | 0, $17 | 0); + label$71 : { + if ($12) { + break label$71 + } + $12 = 0; + break label$40; + } + $15 = 0; + $14 = HEAP32[($7 + 64 | 0) >> 2] | 0; + label$72 : while (1) { + $13 = HEAP32[$14 >> 2] | 0; + if (!$13) { + break label$40 + } + $13 = wctomb($7 + 4 | 0 | 0, $13 | 0) | 0; + $15 = $13 + $15 | 0; + if ($15 >>> 0 > $12 >>> 0) { + break label$40 + } + out($0 | 0, $7 + 4 | 0 | 0, $13 | 0); + $14 = $14 + 4 | 0; + if ($15 >>> 0 < $12 >>> 0) { + continue label$72 + } + break label$72; + }; + } + pad($0 | 0, 32 | 0, $19 | 0, $12 | 0, $17 ^ 8192 | 0 | 0); + $12 = ($19 | 0) > ($12 | 0) ? $19 : $12; + continue label$5; + } + label$73 : { + if (!$21) { + break label$73 + } + if (($20 | 0) < (0 | 0)) { + break label$4 + } + } + $22 = 61; + $12 = FUNCTION_TABLE[$5 | 0]($0, +HEAPF64[($7 + 64 | 0) >> 3], $19, $20, $17, $12) | 0; + if (($12 | 0) >= (0 | 0)) { + continue label$5 + } + break label$3; + } + i64toi32_i32$1 = $7; + i64toi32_i32$3 = HEAP32[($7 + 64 | 0) >> 2] | 0; + i64toi32_i32$2 = HEAP32[($7 + 68 | 0) >> 2] | 0; + HEAP8[($7 + 55 | 0) >> 0] = i64toi32_i32$3; + $20 = 1; + $13 = $8; + $22 = $9; + $17 = $23; + break label$7; + } + $14 = HEAPU8[($12 + 1 | 0) >> 0] | 0; + $12 = $12 + 1 | 0; + continue label$11; + }; + } + if ($0) { + break label$1 + } + if (!$10) { + break label$6 + } + $12 = 1; + label$74 : { + label$75 : while (1) { + $14 = HEAP32[($4 + ($12 << 2 | 0) | 0) >> 2] | 0; + if (!$14) { + break label$74 + } + pop_arg($3 + ($12 << 3 | 0) | 0 | 0, $14 | 0, $2 | 0, $6 | 0); + $11 = 1; + $12 = $12 + 1 | 0; + if (($12 | 0) != (10 | 0)) { + continue label$75 + } + break label$1; + }; + } + $11 = 1; + if ($12 >>> 0 >= 10 >>> 0) { + break label$1 + } + label$76 : while (1) { + if (HEAP32[($4 + ($12 << 2 | 0) | 0) >> 2] | 0) { + break label$9 + } + $11 = 1; + $12 = $12 + 1 | 0; + if (($12 | 0) == (10 | 0)) { + break label$1 + } + continue label$76; + }; + } + $22 = 28; + break label$3; + } + $22 = $9; + } + $18 = $22 - $13 | 0; + $20 = ($20 | 0) > ($18 | 0) ? $20 : $18; + if (($20 | 0) > ($16 ^ 2147483647 | 0 | 0)) { + break label$4 + } + $22 = 61; + $15 = $16 + $20 | 0; + $12 = ($19 | 0) > ($15 | 0) ? $19 : $15; + if (($12 | 0) > ($14 | 0)) { + break label$3 + } + pad($0 | 0, 32 | 0, $12 | 0, $15 | 0, $17 | 0); + out($0 | 0, $24 | 0, $16 | 0); + pad($0 | 0, 48 | 0, $12 | 0, $15 | 0, $17 ^ 65536 | 0 | 0); + pad($0 | 0, 48 | 0, $20 | 0, $18 | 0, 0 | 0); + out($0 | 0, $13 | 0, $18 | 0); + pad($0 | 0, 32 | 0, $12 | 0, $15 | 0, $17 ^ 8192 | 0 | 0); + continue label$5; + } + break label$5; + }; + $11 = 0; + break label$1; + } + $22 = 61; + } + (wasm2js_i32$0 = __errno_location() | 0, wasm2js_i32$1 = $22), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + } + $11 = -1; + } + __stack_pointer = $7 + 80 | 0; + return $11 | 0; + } + + function out($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + label$1 : { + if ((HEAPU8[$0 >> 0] | 0) & 32 | 0) { + break label$1 + } + __fwritex($1 | 0, $2 | 0, $0 | 0) | 0; + } + } + + function getint($0) { + $0 = $0 | 0; + var $1 = 0, $3 = 0, $2 = 0; + $1 = 0; + label$1 : { + if (isdigit(HEAP8[(HEAP32[$0 >> 2] | 0) >> 0] | 0 | 0) | 0) { + break label$1 + } + return 0 | 0; + } + label$2 : while (1) { + $2 = HEAP32[$0 >> 2] | 0; + $3 = -1; + label$3 : { + if ($1 >>> 0 > 214748364 >>> 0) { + break label$3 + } + $3 = (HEAP8[$2 >> 0] | 0) + -48 | 0; + $1 = Math_imul($1, 10); + $3 = ($3 | 0) > ($1 ^ 2147483647 | 0 | 0) ? -1 : $3 + $1 | 0; + } + HEAP32[$0 >> 2] = $2 + 1 | 0; + $1 = $3; + if (isdigit(HEAP8[($2 + 1 | 0) >> 0] | 0 | 0) | 0) { + continue label$2 + } + break label$2; + }; + return $3 | 0; + } + + function pop_arg($0, $1, $2, $3) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + var i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $21 = 0, $29 = 0, $37 = 0, $45 = 0, $55 = 0, $63 = 0, $71 = 0, $79 = 0, $87 = 0, $97 = 0, $105 = 0, $115 = 0, $125 = 0, $133 = 0, $141 = 0; + label$1 : { + switch ($1 + -9 | 0 | 0) { + case 0: + $1 = HEAP32[$2 >> 2] | 0; + HEAP32[$2 >> 2] = $1 + 4 | 0; + HEAP32[$0 >> 2] = HEAP32[$1 >> 2] | 0; + return; + case 1: + $1 = HEAP32[$2 >> 2] | 0; + HEAP32[$2 >> 2] = $1 + 4 | 0; + i64toi32_i32$0 = HEAP32[$1 >> 2] | 0; + i64toi32_i32$1 = i64toi32_i32$0 >> 31 | 0; + $21 = i64toi32_i32$0; + i64toi32_i32$0 = $0; + HEAP32[i64toi32_i32$0 >> 2] = $21; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + return; + case 2: + $1 = HEAP32[$2 >> 2] | 0; + HEAP32[$2 >> 2] = $1 + 4 | 0; + i64toi32_i32$1 = HEAP32[$1 >> 2] | 0; + i64toi32_i32$0 = 0; + $29 = i64toi32_i32$1; + i64toi32_i32$1 = $0; + HEAP32[i64toi32_i32$1 >> 2] = $29; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + return; + case 4: + $1 = HEAP32[$2 >> 2] | 0; + HEAP32[$2 >> 2] = $1 + 4 | 0; + i64toi32_i32$0 = HEAP32[$1 >> 2] | 0; + i64toi32_i32$1 = i64toi32_i32$0 >> 31 | 0; + $37 = i64toi32_i32$0; + i64toi32_i32$0 = $0; + HEAP32[i64toi32_i32$0 >> 2] = $37; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + return; + case 5: + $1 = HEAP32[$2 >> 2] | 0; + HEAP32[$2 >> 2] = $1 + 4 | 0; + i64toi32_i32$1 = HEAP32[$1 >> 2] | 0; + i64toi32_i32$0 = 0; + $45 = i64toi32_i32$1; + i64toi32_i32$1 = $0; + HEAP32[i64toi32_i32$1 >> 2] = $45; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + return; + case 3: + $1 = ((HEAP32[$2 >> 2] | 0) + 7 | 0) & -8 | 0; + HEAP32[$2 >> 2] = $1 + 8 | 0; + i64toi32_i32$0 = HEAP32[$1 >> 2] | 0; + i64toi32_i32$1 = HEAP32[($1 + 4 | 0) >> 2] | 0; + $55 = i64toi32_i32$0; + i64toi32_i32$0 = $0; + HEAP32[i64toi32_i32$0 >> 2] = $55; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + return; + case 6: + $1 = HEAP32[$2 >> 2] | 0; + HEAP32[$2 >> 2] = $1 + 4 | 0; + i64toi32_i32$1 = HEAP16[$1 >> 1] | 0; + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + $63 = i64toi32_i32$1; + i64toi32_i32$1 = $0; + HEAP32[i64toi32_i32$1 >> 2] = $63; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + return; + case 7: + $1 = HEAP32[$2 >> 2] | 0; + HEAP32[$2 >> 2] = $1 + 4 | 0; + i64toi32_i32$0 = HEAPU16[$1 >> 1] | 0; + i64toi32_i32$1 = 0; + $71 = i64toi32_i32$0; + i64toi32_i32$0 = $0; + HEAP32[i64toi32_i32$0 >> 2] = $71; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + return; + case 8: + $1 = HEAP32[$2 >> 2] | 0; + HEAP32[$2 >> 2] = $1 + 4 | 0; + i64toi32_i32$1 = HEAP8[$1 >> 0] | 0; + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + $79 = i64toi32_i32$1; + i64toi32_i32$1 = $0; + HEAP32[i64toi32_i32$1 >> 2] = $79; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + return; + case 9: + $1 = HEAP32[$2 >> 2] | 0; + HEAP32[$2 >> 2] = $1 + 4 | 0; + i64toi32_i32$0 = HEAPU8[$1 >> 0] | 0; + i64toi32_i32$1 = 0; + $87 = i64toi32_i32$0; + i64toi32_i32$0 = $0; + HEAP32[i64toi32_i32$0 >> 2] = $87; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + return; + case 10: + $1 = ((HEAP32[$2 >> 2] | 0) + 7 | 0) & -8 | 0; + HEAP32[$2 >> 2] = $1 + 8 | 0; + i64toi32_i32$1 = HEAP32[$1 >> 2] | 0; + i64toi32_i32$0 = HEAP32[($1 + 4 | 0) >> 2] | 0; + $97 = i64toi32_i32$1; + i64toi32_i32$1 = $0; + HEAP32[i64toi32_i32$1 >> 2] = $97; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + return; + case 11: + $1 = HEAP32[$2 >> 2] | 0; + HEAP32[$2 >> 2] = $1 + 4 | 0; + i64toi32_i32$0 = HEAP32[$1 >> 2] | 0; + i64toi32_i32$1 = 0; + $105 = i64toi32_i32$0; + i64toi32_i32$0 = $0; + HEAP32[i64toi32_i32$0 >> 2] = $105; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + return; + case 12: + $1 = ((HEAP32[$2 >> 2] | 0) + 7 | 0) & -8 | 0; + HEAP32[$2 >> 2] = $1 + 8 | 0; + i64toi32_i32$1 = HEAP32[$1 >> 2] | 0; + i64toi32_i32$0 = HEAP32[($1 + 4 | 0) >> 2] | 0; + $115 = i64toi32_i32$1; + i64toi32_i32$1 = $0; + HEAP32[i64toi32_i32$1 >> 2] = $115; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + return; + case 13: + $1 = ((HEAP32[$2 >> 2] | 0) + 7 | 0) & -8 | 0; + HEAP32[$2 >> 2] = $1 + 8 | 0; + i64toi32_i32$0 = HEAP32[$1 >> 2] | 0; + i64toi32_i32$1 = HEAP32[($1 + 4 | 0) >> 2] | 0; + $125 = i64toi32_i32$0; + i64toi32_i32$0 = $0; + HEAP32[i64toi32_i32$0 >> 2] = $125; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + return; + case 14: + $1 = HEAP32[$2 >> 2] | 0; + HEAP32[$2 >> 2] = $1 + 4 | 0; + i64toi32_i32$1 = HEAP32[$1 >> 2] | 0; + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + $133 = i64toi32_i32$1; + i64toi32_i32$1 = $0; + HEAP32[i64toi32_i32$1 >> 2] = $133; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + return; + case 15: + $1 = HEAP32[$2 >> 2] | 0; + HEAP32[$2 >> 2] = $1 + 4 | 0; + i64toi32_i32$0 = HEAP32[$1 >> 2] | 0; + i64toi32_i32$1 = 0; + $141 = i64toi32_i32$0; + i64toi32_i32$0 = $0; + HEAP32[i64toi32_i32$0 >> 2] = $141; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + return; + case 16: + $1 = ((HEAP32[$2 >> 2] | 0) + 7 | 0) & -8 | 0; + HEAP32[$2 >> 2] = $1 + 8 | 0; + HEAPF64[$0 >> 3] = +HEAPF64[$1 >> 3]; + return; + case 17: + FUNCTION_TABLE[$3 | 0]($0, $2); + break; + default: + break label$1; + }; + } + } + + function fmt_x($0, $0$hi, $1, $2) { + $0 = $0 | 0; + $0$hi = $0$hi | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, i64toi32_i32$1 = 0, i64toi32_i32$4 = 0, i64toi32_i32$3 = 0, $10 = 0, $3 = 0; + label$1 : { + i64toi32_i32$0 = $0$hi; + if (!($0 | i64toi32_i32$0 | 0)) { + break label$1 + } + label$2 : while (1) { + $1 = $1 + -1 | 0; + i64toi32_i32$0 = $0$hi; + HEAP8[$1 >> 0] = HEAPU8[(($0 & 15 | 0) + 109248 | 0) >> 0] | 0 | $2 | 0; + i64toi32_i32$2 = $0; + i64toi32_i32$1 = 0; + i64toi32_i32$3 = 15; + $3 = i64toi32_i32$0 >>> 0 > i64toi32_i32$1 >>> 0 | ((i64toi32_i32$0 | 0) == (i64toi32_i32$1 | 0) & i64toi32_i32$2 >>> 0 > i64toi32_i32$3 >>> 0 | 0) | 0; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$3 = $0; + i64toi32_i32$0 = 0; + i64toi32_i32$1 = 4; + i64toi32_i32$4 = i64toi32_i32$1 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$1 & 63 | 0) >>> 0) { + i64toi32_i32$0 = 0; + $10 = i64toi32_i32$2 >>> i64toi32_i32$4 | 0; + } else { + i64toi32_i32$0 = i64toi32_i32$2 >>> i64toi32_i32$4 | 0; + $10 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$2 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$3 >>> i64toi32_i32$4 | 0) | 0; + } + $0 = $10; + $0$hi = i64toi32_i32$0; + if ($3) { + continue label$2 + } + break label$2; + }; + } + return $1 | 0; + } + + function fmt_o($0, $0$hi, $1) { + $0 = $0 | 0; + $0$hi = $0$hi | 0; + $1 = $1 | 0; + var i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, i64toi32_i32$1 = 0, i64toi32_i32$4 = 0, i64toi32_i32$3 = 0, $9 = 0, $2 = 0; + label$1 : { + i64toi32_i32$0 = $0$hi; + if (!($0 | i64toi32_i32$0 | 0)) { + break label$1 + } + label$2 : while (1) { + $1 = $1 + -1 | 0; + i64toi32_i32$0 = $0$hi; + HEAP8[$1 >> 0] = $0 & 7 | 0 | 48 | 0; + i64toi32_i32$2 = $0; + i64toi32_i32$1 = 0; + i64toi32_i32$3 = 7; + $2 = i64toi32_i32$0 >>> 0 > i64toi32_i32$1 >>> 0 | ((i64toi32_i32$0 | 0) == (i64toi32_i32$1 | 0) & i64toi32_i32$2 >>> 0 > i64toi32_i32$3 >>> 0 | 0) | 0; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$3 = $0; + i64toi32_i32$0 = 0; + i64toi32_i32$1 = 3; + i64toi32_i32$4 = i64toi32_i32$1 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$1 & 63 | 0) >>> 0) { + i64toi32_i32$0 = 0; + $9 = i64toi32_i32$2 >>> i64toi32_i32$4 | 0; + } else { + i64toi32_i32$0 = i64toi32_i32$2 >>> i64toi32_i32$4 | 0; + $9 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$2 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$3 >>> i64toi32_i32$4 | 0) | 0; + } + $0 = $9; + $0$hi = i64toi32_i32$0; + if ($2) { + continue label$2 + } + break label$2; + }; + } + return $1 | 0; + } + + function fmt_u($0, $0$hi, $1) { + $0 = $0 | 0; + $0$hi = $0$hi | 0; + $1 = $1 | 0; + var i64toi32_i32$2 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $3 = 0, i64toi32_i32$3 = 0, $2 = 0, i64toi32_i32$5 = 0, $2$hi = 0, $4 = 0, $16 = 0, $16$hi = 0, $5 = 0; + label$1 : { + label$2 : { + i64toi32_i32$0 = $0$hi; + i64toi32_i32$2 = $0; + i64toi32_i32$1 = 1; + i64toi32_i32$3 = 0; + if (i64toi32_i32$0 >>> 0 > i64toi32_i32$1 >>> 0 | ((i64toi32_i32$0 | 0) == (i64toi32_i32$1 | 0) & i64toi32_i32$2 >>> 0 >= i64toi32_i32$3 >>> 0 | 0) | 0) { + break label$2 + } + i64toi32_i32$2 = $0$hi; + $2 = $0; + $2$hi = i64toi32_i32$2; + break label$1; + } + label$3 : while (1) { + $1 = $1 + -1 | 0; + i64toi32_i32$2 = $0$hi; + i64toi32_i32$0 = 0; + i64toi32_i32$0 = __wasm_i64_udiv($0 | 0, i64toi32_i32$2 | 0, 10 | 0, i64toi32_i32$0 | 0) | 0; + i64toi32_i32$2 = i64toi32_i32$HIGH_BITS; + $2 = i64toi32_i32$0; + $2$hi = i64toi32_i32$2; + i64toi32_i32$0 = 0; + i64toi32_i32$0 = __wasm_i64_mul($2 | 0, i64toi32_i32$2 | 0, 10 | 0, i64toi32_i32$0 | 0) | 0; + i64toi32_i32$2 = i64toi32_i32$HIGH_BITS; + $16 = i64toi32_i32$0; + $16$hi = i64toi32_i32$2; + i64toi32_i32$2 = $0$hi; + i64toi32_i32$3 = $0; + i64toi32_i32$0 = $16$hi; + i64toi32_i32$1 = $16; + i64toi32_i32$5 = ($0 >>> 0 < i64toi32_i32$1 >>> 0) + i64toi32_i32$0 | 0; + i64toi32_i32$5 = i64toi32_i32$2 - i64toi32_i32$5 | 0; + HEAP8[$1 >> 0] = $0 - i64toi32_i32$1 | 0 | 48 | 0; + i64toi32_i32$5 = i64toi32_i32$2; + i64toi32_i32$5 = i64toi32_i32$2; + i64toi32_i32$2 = $0; + i64toi32_i32$3 = 9; + i64toi32_i32$1 = -1; + $3 = $0$hi >>> 0 > i64toi32_i32$3 >>> 0 | (($0$hi | 0) == (i64toi32_i32$3 | 0) & i64toi32_i32$2 >>> 0 > i64toi32_i32$1 >>> 0 | 0) | 0; + i64toi32_i32$2 = $2$hi; + $0 = $2; + $0$hi = i64toi32_i32$2; + if ($3) { + continue label$3 + } + break label$3; + }; + } + label$4 : { + i64toi32_i32$2 = $2$hi; + $3 = $2; + if (!$3) { + break label$4 + } + label$5 : while (1) { + $1 = $1 + -1 | 0; + $4 = ($3 >>> 0) / (10 >>> 0) | 0; + HEAP8[$1 >> 0] = $3 - Math_imul($4, 10) | 0 | 48 | 0; + $5 = $3 >>> 0 > 9 >>> 0; + $3 = $4; + if ($5) { + continue label$5 + } + break label$5; + }; + } + return $1 | 0; + } + + function pad($0, $1, $2, $3, $4) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + $4 = $4 | 0; + var $5 = 0; + $5 = __stack_pointer - 256 | 0; + __stack_pointer = $5; + label$1 : { + if (($2 | 0) <= ($3 | 0)) { + break label$1 + } + if ($4 & 73728 | 0) { + break label$1 + } + $3 = $2 - $3 | 0; + $2 = $3 >>> 0 < 256 >>> 0; + __memset($5 | 0, $1 & 255 | 0 | 0, ($2 ? $3 : 256) | 0) | 0; + label$2 : { + if ($2) { + break label$2 + } + label$3 : while (1) { + out($0 | 0, $5 | 0, 256 | 0); + $3 = $3 + -256 | 0; + if ($3 >>> 0 > 255 >>> 0) { + continue label$3 + } + break label$3; + }; + } + out($0 | 0, $5 | 0, $3 | 0); + } + __stack_pointer = $5 + 256 | 0; + } + + function vfprintf($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + return __vfprintf_internal($0 | 0, $1 | 0, $2 | 0, 1221 | 0, 1222 | 0) | 0 | 0; + } + + function fmt_fp($0, $1, $2, $3, $4, $5) { + $0 = $0 | 0; + $1 = +$1; + $2 = $2 | 0; + $3 = $3 | 0; + $4 = $4 | 0; + $5 = $5 | 0; + var $11 = 0, $12 = 0, $13 = 0, $19 = 0, $23 = 0, $6 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, $16 = 0, i64toi32_i32$4 = 0, $24 = 0, $25 = 0, i64toi32_i32$2 = 0, i64toi32_i32$3 = 0, i64toi32_i32$5 = 0, $18 = 0, $21 = 0, $9 = 0, $26 = 0.0, $8 = 0, $14 = 0, $8$hi = 0, $15 = 0, $17 = 0, $10 = 0, $22 = 0, $7 = 0, $45 = 0, $46 = 0, $47 = 0, $20$hi = 0, $48 = 0, $20 = 0, $167 = 0, $169$hi = 0, $171$hi = 0, $173 = 0, $173$hi = 0, $175$hi = 0, $179 = 0, $179$hi = 0, $388 = 0.0, $852 = 0; + $6 = __stack_pointer - 560 | 0; + __stack_pointer = $6; + $7 = 0; + HEAP32[($6 + 44 | 0) >> 2] = 0; + label$1 : { + label$2 : { + i64toi32_i32$0 = __DOUBLE_BITS(+$1) | 0; + i64toi32_i32$1 = i64toi32_i32$HIGH_BITS; + $8 = i64toi32_i32$0; + $8$hi = i64toi32_i32$1; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$0 = -1; + i64toi32_i32$3 = -1; + if ((i64toi32_i32$1 | 0) > (i64toi32_i32$0 | 0)) { + $45 = 1 + } else { + if ((i64toi32_i32$1 | 0) >= (i64toi32_i32$0 | 0)) { + if (i64toi32_i32$2 >>> 0 <= i64toi32_i32$3 >>> 0) { + $46 = 0 + } else { + $46 = 1 + } + $47 = $46; + } else { + $47 = 0 + } + $45 = $47; + } + if ($45) { + break label$2 + } + $9 = 1; + $10 = 66653; + $1 = -$1; + i64toi32_i32$2 = __DOUBLE_BITS(+$1) | 0; + i64toi32_i32$1 = i64toi32_i32$HIGH_BITS; + $8 = i64toi32_i32$2; + $8$hi = i64toi32_i32$1; + break label$1; + } + label$3 : { + if (!($4 & 2048 | 0)) { + break label$3 + } + $9 = 1; + $10 = 66656; + break label$1; + } + $9 = $4 & 1 | 0; + $10 = $9 ? 66659 : 66654; + $7 = !$9; + } + label$4 : { + label$5 : { + i64toi32_i32$1 = $8$hi; + i64toi32_i32$3 = $8; + i64toi32_i32$2 = 2146435072; + i64toi32_i32$0 = 0; + i64toi32_i32$2 = i64toi32_i32$1 & i64toi32_i32$2 | 0; + i64toi32_i32$1 = i64toi32_i32$3 & i64toi32_i32$0 | 0; + i64toi32_i32$3 = 2146435072; + i64toi32_i32$0 = 0; + if ((i64toi32_i32$1 | 0) != (i64toi32_i32$0 | 0) | (i64toi32_i32$2 | 0) != (i64toi32_i32$3 | 0) | 0) { + break label$5 + } + $11 = $9 + 3 | 0; + pad($0 | 0, 32 | 0, $2 | 0, $11 | 0, $4 & -65537 | 0 | 0); + out($0 | 0, $10 | 0, $9 | 0); + $12 = $5 & 32 | 0; + out($0 | 0, ($1 != $1 ? ($12 ? 77003 : 84282) : $12 ? 80768 : 84403) | 0, 3 | 0); + pad($0 | 0, 32 | 0, $2 | 0, $11 | 0, $4 ^ 8192 | 0 | 0); + $13 = ($11 | 0) > ($2 | 0) ? $11 : $2; + break label$4; + } + $14 = $6 + 16 | 0; + label$6 : { + label$7 : { + label$8 : { + label$9 : { + $1 = +frexp(+$1, $6 + 44 | 0 | 0); + $1 = $1 + $1; + if ($1 == 0.0) { + break label$9 + } + $11 = HEAP32[($6 + 44 | 0) >> 2] | 0; + HEAP32[($6 + 44 | 0) >> 2] = $11 + -1 | 0; + $15 = $5 | 32 | 0; + if (($15 | 0) != (97 | 0)) { + break label$8 + } + break label$6; + } + $15 = $5 | 32 | 0; + if (($15 | 0) == (97 | 0)) { + break label$6 + } + $16 = ($3 | 0) < (0 | 0) ? 6 : $3; + $17 = HEAP32[($6 + 44 | 0) >> 2] | 0; + break label$7; + } + $17 = $11 + -29 | 0; + HEAP32[($6 + 44 | 0) >> 2] = $17; + $16 = ($3 | 0) < (0 | 0) ? 6 : $3; + $1 = $1 * 268435456.0; + } + $18 = ($6 + 48 | 0) + (($17 | 0) < (0 | 0) ? 0 : 288) | 0; + $12 = $18; + label$10 : while (1) { + label$11 : { + label$12 : { + if (!($1 < 4294967296.0 & $1 >= 0.0 | 0)) { + break label$12 + } + $11 = ~~$1 >>> 0; + break label$11; + } + $11 = 0; + } + HEAP32[$12 >> 2] = $11; + $12 = $12 + 4 | 0; + $1 = ($1 - +($11 >>> 0)) * 1.0e9; + if ($1 != 0.0) { + continue label$10 + } + break label$10; + }; + label$13 : { + label$14 : { + if (($17 | 0) >= (1 | 0)) { + break label$14 + } + $3 = $17; + $11 = $12; + $19 = $18; + break label$13; + } + $19 = $18; + $3 = $17; + label$15 : while (1) { + $3 = ($3 | 0) < (29 | 0) ? $3 : 29; + label$16 : { + $11 = $12 + -4 | 0; + if ($11 >>> 0 < $19 >>> 0) { + break label$16 + } + i64toi32_i32$1 = 0; + $20 = $3; + $20$hi = i64toi32_i32$1; + i64toi32_i32$1 = 0; + $8 = 0; + $8$hi = i64toi32_i32$1; + label$17 : while (1) { + $167 = $11; + i64toi32_i32$0 = $11; + i64toi32_i32$1 = HEAP32[$11 >> 2] | 0; + i64toi32_i32$2 = 0; + $169$hi = i64toi32_i32$2; + i64toi32_i32$2 = $20$hi; + i64toi32_i32$2 = $169$hi; + i64toi32_i32$0 = i64toi32_i32$1; + i64toi32_i32$1 = $20$hi; + i64toi32_i32$3 = $20; + i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + i64toi32_i32$1 = i64toi32_i32$0 << i64toi32_i32$4 | 0; + $48 = 0; + } else { + i64toi32_i32$1 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$0 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$2 << i64toi32_i32$4 | 0) | 0; + $48 = i64toi32_i32$0 << i64toi32_i32$4 | 0; + } + $171$hi = i64toi32_i32$1; + i64toi32_i32$1 = $8$hi; + i64toi32_i32$2 = $8; + i64toi32_i32$0 = 0; + i64toi32_i32$3 = -1; + i64toi32_i32$0 = i64toi32_i32$1 & i64toi32_i32$0 | 0; + $173 = i64toi32_i32$2 & i64toi32_i32$3 | 0; + $173$hi = i64toi32_i32$0; + i64toi32_i32$0 = $171$hi; + i64toi32_i32$1 = $48; + i64toi32_i32$2 = $173$hi; + i64toi32_i32$3 = $173; + i64toi32_i32$4 = i64toi32_i32$1 + i64toi32_i32$3 | 0; + i64toi32_i32$5 = i64toi32_i32$0 + i64toi32_i32$2 | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + $8 = i64toi32_i32$4; + $8$hi = i64toi32_i32$5; + $175$hi = i64toi32_i32$5; + i64toi32_i32$1 = 0; + i64toi32_i32$1 = __wasm_i64_udiv(i64toi32_i32$4 | 0, i64toi32_i32$5 | 0, 1e9 | 0, i64toi32_i32$1 | 0) | 0; + i64toi32_i32$5 = i64toi32_i32$HIGH_BITS; + $8 = i64toi32_i32$1; + $8$hi = i64toi32_i32$5; + i64toi32_i32$1 = 0; + i64toi32_i32$1 = __wasm_i64_mul($8 | 0, i64toi32_i32$5 | 0, 1e9 | 0, i64toi32_i32$1 | 0) | 0; + i64toi32_i32$5 = i64toi32_i32$HIGH_BITS; + $179 = i64toi32_i32$1; + $179$hi = i64toi32_i32$5; + i64toi32_i32$5 = $175$hi; + i64toi32_i32$0 = i64toi32_i32$4; + i64toi32_i32$1 = $179$hi; + i64toi32_i32$3 = $179; + i64toi32_i32$2 = i64toi32_i32$0 - i64toi32_i32$3 | 0; + i64toi32_i32$4 = (i64toi32_i32$0 >>> 0 < i64toi32_i32$3 >>> 0) + i64toi32_i32$1 | 0; + i64toi32_i32$4 = i64toi32_i32$5 - i64toi32_i32$4 | 0; + HEAP32[$167 >> 2] = i64toi32_i32$2; + $11 = $11 + -4 | 0; + if ($11 >>> 0 >= $19 >>> 0) { + continue label$17 + } + break label$17; + }; + i64toi32_i32$4 = $8$hi; + $11 = $8; + if (!$11) { + break label$16 + } + $19 = $19 + -4 | 0; + HEAP32[$19 >> 2] = $11; + } + label$18 : { + label$19 : while (1) { + $11 = $12; + if ($11 >>> 0 <= $19 >>> 0) { + break label$18 + } + $12 = $11 + -4 | 0; + if (!(HEAP32[$12 >> 2] | 0)) { + continue label$19 + } + break label$19; + }; + } + $3 = (HEAP32[($6 + 44 | 0) >> 2] | 0) - $3 | 0; + HEAP32[($6 + 44 | 0) >> 2] = $3; + $12 = $11; + if (($3 | 0) > (0 | 0)) { + continue label$15 + } + break label$15; + }; + } + label$20 : { + if (($3 | 0) > (-1 | 0)) { + break label$20 + } + $21 = ((($16 + 25 | 0) >>> 0) / (9 >>> 0) | 0) + 1 | 0; + $22 = ($15 | 0) == (102 | 0); + label$21 : while (1) { + $12 = 0 - $3 | 0; + $23 = ($12 | 0) < (9 | 0) ? $12 : 9; + label$22 : { + label$23 : { + if ($19 >>> 0 < $11 >>> 0) { + break label$23 + } + $12 = HEAP32[$19 >> 2] | 0; + break label$22; + } + $24 = 1e9 >>> $23 | 0; + $25 = (-1 << $23 | 0) ^ -1 | 0; + $3 = 0; + $12 = $19; + label$24 : while (1) { + $13 = HEAP32[$12 >> 2] | 0; + HEAP32[$12 >> 2] = ($13 >>> $23 | 0) + $3 | 0; + $3 = Math_imul($13 & $25 | 0, $24); + $12 = $12 + 4 | 0; + if ($12 >>> 0 < $11 >>> 0) { + continue label$24 + } + break label$24; + }; + $12 = HEAP32[$19 >> 2] | 0; + if (!$3) { + break label$22 + } + HEAP32[$11 >> 2] = $3; + $11 = $11 + 4 | 0; + } + $3 = (HEAP32[($6 + 44 | 0) >> 2] | 0) + $23 | 0; + HEAP32[($6 + 44 | 0) >> 2] = $3; + $19 = $19 + (!$12 << 2 | 0) | 0; + $12 = $22 ? $18 : $19; + $11 = (($11 - $12 | 0) >> 2 | 0 | 0) > ($21 | 0) ? $12 + ($21 << 2 | 0) | 0 : $11; + if (($3 | 0) < (0 | 0)) { + continue label$21 + } + break label$21; + }; + } + $3 = 0; + label$25 : { + if ($19 >>> 0 >= $11 >>> 0) { + break label$25 + } + $3 = Math_imul(($18 - $19 | 0) >> 2 | 0, 9); + $12 = 10; + $13 = HEAP32[$19 >> 2] | 0; + if ($13 >>> 0 < 10 >>> 0) { + break label$25 + } + label$26 : while (1) { + $3 = $3 + 1 | 0; + $12 = Math_imul($12, 10); + if ($13 >>> 0 >= $12 >>> 0) { + continue label$26 + } + break label$26; + }; + } + label$27 : { + $12 = ($16 - (($15 | 0) == (102 | 0) ? 0 : $3) | 0) - (($16 | 0) != (0 | 0) & ($15 | 0) == (103 | 0) | 0) | 0; + if (($12 | 0) >= (Math_imul(($11 - $18 | 0) >> 2 | 0, 9) + -9 | 0 | 0)) { + break label$27 + } + $13 = $12 + 9216 | 0; + $24 = ($13 | 0) / (9 | 0) | 0; + $23 = (($24 << 2 | 0) + (($6 + 48 | 0) + (($17 | 0) < (0 | 0) ? 4 : 292) | 0) | 0) + -4096 | 0; + $12 = 10; + label$28 : { + $13 = $13 - Math_imul($24, 9) | 0; + if (($13 | 0) > (7 | 0)) { + break label$28 + } + label$29 : while (1) { + $12 = Math_imul($12, 10); + $13 = $13 + 1 | 0; + if (($13 | 0) != (8 | 0)) { + continue label$29 + } + break label$29; + }; + } + $25 = $23 + 4 | 0; + label$30 : { + label$31 : { + $13 = HEAP32[$23 >> 2] | 0; + $21 = ($13 >>> 0) / ($12 >>> 0) | 0; + $24 = $13 - Math_imul($21, $12) | 0; + if ($24) { + break label$31 + } + if (($25 | 0) == ($11 | 0)) { + break label$30 + } + } + label$32 : { + label$33 : { + if ($21 & 1 | 0) { + break label$33 + } + $1 = 9007199254740992.0; + if (($12 | 0) != (1e9 | 0)) { + break label$32 + } + if ($23 >>> 0 <= $19 >>> 0) { + break label$32 + } + if (!((HEAPU8[($23 + -4 | 0) >> 0] | 0) & 1 | 0)) { + break label$32 + } + } + $1 = 9007199254740994.0; + } + $388 = ($25 | 0) == ($11 | 0) ? 1.0 : 1.5; + $25 = $12 >>> 1 | 0; + $26 = $24 >>> 0 < $25 >>> 0 ? .5 : ($24 | 0) == ($25 | 0) ? $388 : 1.5; + label$34 : { + if ($7) { + break label$34 + } + if ((HEAPU8[$10 >> 0] | 0 | 0) != (45 | 0)) { + break label$34 + } + $26 = -$26; + $1 = -$1; + } + $13 = $13 - $24 | 0; + HEAP32[$23 >> 2] = $13; + if ($1 + $26 == $1) { + break label$30 + } + $12 = $13 + $12 | 0; + HEAP32[$23 >> 2] = $12; + label$35 : { + if ($12 >>> 0 < 1e9 >>> 0) { + break label$35 + } + label$36 : while (1) { + HEAP32[$23 >> 2] = 0; + label$37 : { + $23 = $23 + -4 | 0; + if ($23 >>> 0 >= $19 >>> 0) { + break label$37 + } + $19 = $19 + -4 | 0; + HEAP32[$19 >> 2] = 0; + } + $12 = (HEAP32[$23 >> 2] | 0) + 1 | 0; + HEAP32[$23 >> 2] = $12; + if ($12 >>> 0 > 999999999 >>> 0) { + continue label$36 + } + break label$36; + }; + } + $3 = Math_imul(($18 - $19 | 0) >> 2 | 0, 9); + $12 = 10; + $13 = HEAP32[$19 >> 2] | 0; + if ($13 >>> 0 < 10 >>> 0) { + break label$30 + } + label$38 : while (1) { + $3 = $3 + 1 | 0; + $12 = Math_imul($12, 10); + if ($13 >>> 0 >= $12 >>> 0) { + continue label$38 + } + break label$38; + }; + } + $12 = $23 + 4 | 0; + $11 = $11 >>> 0 > $12 >>> 0 ? $12 : $11; + } + label$39 : { + label$40 : while (1) { + $12 = $11; + $13 = $11 >>> 0 <= $19 >>> 0; + if ($13) { + break label$39 + } + $11 = $12 + -4 | 0; + if (!(HEAP32[$11 >> 2] | 0)) { + continue label$40 + } + break label$40; + }; + } + label$41 : { + label$42 : { + if (($15 | 0) == (103 | 0)) { + break label$42 + } + $23 = $4 & 8 | 0; + break label$41; + } + $11 = $16 ? $16 : 1; + $23 = ($11 | 0) > ($3 | 0) & ($3 | 0) > (-5 | 0) | 0; + $16 = ($23 ? $3 ^ -1 | 0 : -1) + $11 | 0; + $5 = ($23 ? -1 : -2) + $5 | 0; + $23 = $4 & 8 | 0; + if ($23) { + break label$41 + } + $11 = -9; + label$43 : { + if ($13) { + break label$43 + } + $23 = HEAP32[($12 + -4 | 0) >> 2] | 0; + if (!$23) { + break label$43 + } + $13 = 10; + $11 = 0; + if (($23 >>> 0) % (10 >>> 0) | 0) { + break label$43 + } + label$44 : while (1) { + $24 = $11; + $11 = $11 + 1 | 0; + $13 = Math_imul($13, 10); + if (!(($23 >>> 0) % ($13 >>> 0) | 0)) { + continue label$44 + } + break label$44; + }; + $11 = $24 ^ -1 | 0; + } + $13 = Math_imul(($12 - $18 | 0) >> 2 | 0, 9); + label$45 : { + if (($5 & -33 | 0 | 0) != (70 | 0)) { + break label$45 + } + $23 = 0; + $11 = ($13 + $11 | 0) + -9 | 0; + $11 = ($11 | 0) > (0 | 0) ? $11 : 0; + $16 = ($16 | 0) < ($11 | 0) ? $16 : $11; + break label$41; + } + $23 = 0; + $11 = (($3 + $13 | 0) + $11 | 0) + -9 | 0; + $11 = ($11 | 0) > (0 | 0) ? $11 : 0; + $16 = ($16 | 0) < ($11 | 0) ? $16 : $11; + } + $13 = -1; + $24 = $16 | $23 | 0; + if (($16 | 0) > (($24 ? 2147483645 : 2147483646) | 0)) { + break label$4 + } + $25 = ($16 + (($24 | 0) != (0 | 0)) | 0) + 1 | 0; + label$46 : { + label$47 : { + $22 = $5 & -33 | 0; + if (($22 | 0) != (70 | 0)) { + break label$47 + } + if (($3 | 0) > ($25 ^ 2147483647 | 0 | 0)) { + break label$4 + } + $11 = ($3 | 0) > (0 | 0) ? $3 : 0; + break label$46; + } + label$48 : { + $11 = $3 >> 31 | 0; + i64toi32_i32$4 = 0; + $11 = fmt_u(($3 ^ $11 | 0) - $11 | 0 | 0, i64toi32_i32$4 | 0, $14 | 0) | 0; + if (($14 - $11 | 0 | 0) > (1 | 0)) { + break label$48 + } + label$49 : while (1) { + $11 = $11 + -1 | 0; + HEAP8[$11 >> 0] = 48; + if (($14 - $11 | 0 | 0) < (2 | 0)) { + continue label$49 + } + break label$49; + }; + } + $21 = $11 + -2 | 0; + HEAP8[$21 >> 0] = $5; + $13 = -1; + HEAP8[($11 + -1 | 0) >> 0] = ($3 | 0) < (0 | 0) ? 45 : 43; + $11 = $14 - $21 | 0; + if (($11 | 0) > ($25 ^ 2147483647 | 0 | 0)) { + break label$4 + } + } + $13 = -1; + $11 = $11 + $25 | 0; + if (($11 | 0) > ($9 ^ 2147483647 | 0 | 0)) { + break label$4 + } + $25 = $11 + $9 | 0; + pad($0 | 0, 32 | 0, $2 | 0, $25 | 0, $4 | 0); + out($0 | 0, $10 | 0, $9 | 0); + pad($0 | 0, 48 | 0, $2 | 0, $25 | 0, $4 ^ 65536 | 0 | 0); + label$50 : { + label$51 : { + label$52 : { + label$53 : { + if (($22 | 0) != (70 | 0)) { + break label$53 + } + $23 = $6 + 16 | 0 | 8 | 0; + $3 = $6 + 16 | 0 | 9 | 0; + $13 = $19 >>> 0 > $18 >>> 0 ? $18 : $19; + $19 = $13; + label$54 : while (1) { + i64toi32_i32$5 = $19; + i64toi32_i32$4 = HEAP32[$19 >> 2] | 0; + i64toi32_i32$0 = 0; + $11 = fmt_u(i64toi32_i32$4 | 0, i64toi32_i32$0 | 0, $3 | 0) | 0; + label$55 : { + label$56 : { + if (($19 | 0) == ($13 | 0)) { + break label$56 + } + if ($11 >>> 0 <= ($6 + 16 | 0) >>> 0) { + break label$55 + } + label$57 : while (1) { + $11 = $11 + -1 | 0; + HEAP8[$11 >> 0] = 48; + if ($11 >>> 0 > ($6 + 16 | 0) >>> 0) { + continue label$57 + } + break label$55; + }; + } + if (($11 | 0) != ($3 | 0)) { + break label$55 + } + HEAP8[($6 + 24 | 0) >> 0] = 48; + $11 = $23; + } + out($0 | 0, $11 | 0, $3 - $11 | 0 | 0); + $19 = $19 + 4 | 0; + if ($19 >>> 0 <= $18 >>> 0) { + continue label$54 + } + break label$54; + }; + label$58 : { + if (!$24) { + break label$58 + } + out($0 | 0, 86179 | 0, 1 | 0); + } + if ($19 >>> 0 >= $12 >>> 0) { + break label$52 + } + if (($16 | 0) < (1 | 0)) { + break label$52 + } + label$59 : while (1) { + label$60 : { + i64toi32_i32$5 = $19; + i64toi32_i32$0 = HEAP32[$19 >> 2] | 0; + i64toi32_i32$4 = 0; + $11 = fmt_u(i64toi32_i32$0 | 0, i64toi32_i32$4 | 0, $3 | 0) | 0; + if ($11 >>> 0 <= ($6 + 16 | 0) >>> 0) { + break label$60 + } + label$61 : while (1) { + $11 = $11 + -1 | 0; + HEAP8[$11 >> 0] = 48; + if ($11 >>> 0 > ($6 + 16 | 0) >>> 0) { + continue label$61 + } + break label$61; + }; + } + out($0 | 0, $11 | 0, (($16 | 0) < (9 | 0) ? $16 : 9) | 0); + $11 = $16 + -9 | 0; + $19 = $19 + 4 | 0; + if ($19 >>> 0 >= $12 >>> 0) { + break label$51 + } + $13 = ($16 | 0) > (9 | 0); + $16 = $11; + if ($13) { + continue label$59 + } + break label$51; + }; + } + label$62 : { + if (($16 | 0) < (0 | 0)) { + break label$62 + } + $24 = $12 >>> 0 > $19 >>> 0 ? $12 : $19 + 4 | 0; + $18 = $6 + 16 | 0 | 8 | 0; + $3 = $6 + 16 | 0 | 9 | 0; + $12 = $19; + label$63 : while (1) { + label$64 : { + i64toi32_i32$5 = $12; + i64toi32_i32$4 = HEAP32[$12 >> 2] | 0; + i64toi32_i32$0 = 0; + $11 = fmt_u(i64toi32_i32$4 | 0, i64toi32_i32$0 | 0, $3 | 0) | 0; + if (($11 | 0) != ($3 | 0)) { + break label$64 + } + HEAP8[($6 + 24 | 0) >> 0] = 48; + $11 = $18; + } + label$65 : { + label$66 : { + if (($12 | 0) == ($19 | 0)) { + break label$66 + } + if ($11 >>> 0 <= ($6 + 16 | 0) >>> 0) { + break label$65 + } + label$67 : while (1) { + $11 = $11 + -1 | 0; + HEAP8[$11 >> 0] = 48; + if ($11 >>> 0 > ($6 + 16 | 0) >>> 0) { + continue label$67 + } + break label$65; + }; + } + out($0 | 0, $11 | 0, 1 | 0); + $11 = $11 + 1 | 0; + if (!($16 | $23 | 0)) { + break label$65 + } + out($0 | 0, 86179 | 0, 1 | 0); + } + $13 = $3 - $11 | 0; + out($0 | 0, $11 | 0, (($16 | 0) < ($13 | 0) ? $16 : $13) | 0); + $16 = $16 - $13 | 0; + $12 = $12 + 4 | 0; + if ($12 >>> 0 >= $24 >>> 0) { + break label$62 + } + if (($16 | 0) > (-1 | 0)) { + continue label$63 + } + break label$63; + }; + } + pad($0 | 0, 48 | 0, $16 + 18 | 0 | 0, 18 | 0, 0 | 0); + out($0 | 0, $21 | 0, $14 - $21 | 0 | 0); + break label$50; + } + $11 = $16; + } + pad($0 | 0, 48 | 0, $11 + 9 | 0 | 0, 9 | 0, 0 | 0); + } + pad($0 | 0, 32 | 0, $2 | 0, $25 | 0, $4 ^ 8192 | 0 | 0); + $13 = ($25 | 0) > ($2 | 0) ? $25 : $2; + break label$4; + } + $25 = $10 + ((($5 << 26 | 0) >> 31 | 0) & 9 | 0) | 0; + label$68 : { + if ($3 >>> 0 > 11 >>> 0) { + break label$68 + } + $11 = 12 - $3 | 0; + $26 = 16.0; + label$69 : while (1) { + $26 = $26 * 16.0; + $11 = $11 + -1 | 0; + if ($11) { + continue label$69 + } + break label$69; + }; + label$70 : { + if ((HEAPU8[$25 >> 0] | 0 | 0) != (45 | 0)) { + break label$70 + } + $1 = -($26 + (-$1 - $26)); + break label$68; + } + $1 = $1 + $26 - $26; + } + label$71 : { + $11 = HEAP32[($6 + 44 | 0) >> 2] | 0; + $852 = $11; + $11 = $11 >> 31 | 0; + i64toi32_i32$0 = 0; + $11 = fmt_u(($852 ^ $11 | 0) - $11 | 0 | 0, i64toi32_i32$0 | 0, $14 | 0) | 0; + if (($11 | 0) != ($14 | 0)) { + break label$71 + } + HEAP8[($6 + 15 | 0) >> 0] = 48; + $11 = $6 + 15 | 0; + } + $23 = $9 | 2 | 0; + $19 = $5 & 32 | 0; + $12 = HEAP32[($6 + 44 | 0) >> 2] | 0; + $24 = $11 + -2 | 0; + HEAP8[$24 >> 0] = $5 + 15 | 0; + HEAP8[($11 + -1 | 0) >> 0] = ($12 | 0) < (0 | 0) ? 45 : 43; + $13 = $4 & 8 | 0; + $12 = $6 + 16 | 0; + label$72 : while (1) { + $11 = $12; + label$73 : { + label$74 : { + if (!(Math_abs($1) < 2147483648.0)) { + break label$74 + } + $12 = ~~$1; + break label$73; + } + $12 = -2147483648; + } + HEAP8[$11 >> 0] = HEAPU8[($12 + 109248 | 0) >> 0] | 0 | $19 | 0; + $1 = ($1 - +($12 | 0)) * 16.0; + label$75 : { + $12 = $11 + 1 | 0; + if (($12 - ($6 + 16 | 0) | 0 | 0) != (1 | 0)) { + break label$75 + } + label$76 : { + if ($13) { + break label$76 + } + if (($3 | 0) > (0 | 0)) { + break label$76 + } + if ($1 == 0.0) { + break label$75 + } + } + HEAP8[($11 + 1 | 0) >> 0] = 46; + $12 = $11 + 2 | 0; + } + if ($1 != 0.0) { + continue label$72 + } + break label$72; + }; + $13 = -1; + $19 = $14 - $24 | 0; + $21 = $23 + $19 | 0; + if ((2147483645 - $21 | 0 | 0) < ($3 | 0)) { + break label$4 + } + $11 = $12 - ($6 + 16 | 0) | 0; + $3 = $3 ? (($11 + -2 | 0 | 0) < ($3 | 0) ? $3 + 2 | 0 : $11) : $11; + $12 = $21 + $3 | 0; + pad($0 | 0, 32 | 0, $2 | 0, $12 | 0, $4 | 0); + out($0 | 0, $25 | 0, $23 | 0); + pad($0 | 0, 48 | 0, $2 | 0, $12 | 0, $4 ^ 65536 | 0 | 0); + out($0 | 0, $6 + 16 | 0 | 0, $11 | 0); + pad($0 | 0, 48 | 0, $3 - $11 | 0 | 0, 0 | 0, 0 | 0); + out($0 | 0, $24 | 0, $19 | 0); + pad($0 | 0, 32 | 0, $2 | 0, $12 | 0, $4 ^ 8192 | 0 | 0); + $13 = ($12 | 0) > ($2 | 0) ? $12 : $2; + } + __stack_pointer = $6 + 560 | 0; + return $13 | 0; + } + + function pop_arg_long_double($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var i64toi32_i32$2 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $2 = 0, $12 = 0, $12$hi = 0, $15 = 0, $15$hi = 0, wasm2js_i32$0 = 0, wasm2js_f64$0 = 0.0; + $2 = ((HEAP32[$1 >> 2] | 0) + 7 | 0) & -8 | 0; + HEAP32[$1 >> 2] = $2 + 16 | 0; + i64toi32_i32$2 = $2; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $12 = i64toi32_i32$0; + $12$hi = i64toi32_i32$1; + i64toi32_i32$2 = i64toi32_i32$2 + 8 | 0; + i64toi32_i32$1 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $15 = i64toi32_i32$1; + $15$hi = i64toi32_i32$0; + i64toi32_i32$0 = $12$hi; + i64toi32_i32$1 = $15$hi; + (wasm2js_i32$0 = $0, wasm2js_f64$0 = +__trunctfdf2($12 | 0, i64toi32_i32$0 | 0, $15 | 0, i64toi32_i32$1 | 0)), HEAPF64[wasm2js_i32$0 >> 3] = wasm2js_f64$0; + } + + function __DOUBLE_BITS($0) { + $0 = +$0; + var i64toi32_i32$0 = 0, i64toi32_i32$1 = 0; + wasm2js_scratch_store_f64(+$0); + i64toi32_i32$0 = wasm2js_scratch_load_i32(1 | 0) | 0; + i64toi32_i32$1 = wasm2js_scratch_load_i32(0 | 0) | 0; + i64toi32_i32$HIGH_BITS = i64toi32_i32$0; + return i64toi32_i32$1 | 0; + } + + function __wasi_syscall_ret($0) { + $0 = $0 | 0; + var wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + label$1 : { + if ($0) { + break label$1 + } + return 0 | 0; + } + (wasm2js_i32$0 = __errno_location() | 0, wasm2js_i32$1 = $0), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + return -1 | 0; + } + + function __syscall_getpid() { + return 42 | 0; + } + + function getpid() { + return __syscall_getpid() | 0 | 0; + } + + function __get_tp() { + return 117352 | 0; + } + + function init_pthread_self() { + var wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + HEAP32[(0 + 117448 | 0) >> 2] = 117328; + (wasm2js_i32$0 = 0, wasm2js_i32$1 = getpid() | 0), HEAP32[(wasm2js_i32$0 + 117376 | 0) >> 2] = wasm2js_i32$1; + } + + function wcrtomb($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $3 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3 = 1; + label$1 : { + label$2 : { + if (!$0) { + break label$2 + } + if ($1 >>> 0 <= 127 >>> 0) { + break label$1 + } + label$3 : { + label$4 : { + if (HEAP32[(HEAP32[((__get_tp() | 0) + 96 | 0) >> 2] | 0) >> 2] | 0) { + break label$4 + } + if (($1 & -128 | 0 | 0) == (57216 | 0)) { + break label$1 + } + (wasm2js_i32$0 = __errno_location() | 0, wasm2js_i32$1 = 25), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + break label$3; + } + label$5 : { + if ($1 >>> 0 > 2047 >>> 0) { + break label$5 + } + HEAP8[($0 + 1 | 0) >> 0] = $1 & 63 | 0 | 128 | 0; + HEAP8[$0 >> 0] = $1 >>> 6 | 0 | 192 | 0; + return 2 | 0; + } + label$6 : { + label$7 : { + if ($1 >>> 0 < 55296 >>> 0) { + break label$7 + } + if (($1 & -8192 | 0 | 0) != (57344 | 0)) { + break label$6 + } + } + HEAP8[($0 + 2 | 0) >> 0] = $1 & 63 | 0 | 128 | 0; + HEAP8[$0 >> 0] = $1 >>> 12 | 0 | 224 | 0; + HEAP8[($0 + 1 | 0) >> 0] = ($1 >>> 6 | 0) & 63 | 0 | 128 | 0; + return 3 | 0; + } + label$8 : { + if (($1 + -65536 | 0) >>> 0 > 1048575 >>> 0) { + break label$8 + } + HEAP8[($0 + 3 | 0) >> 0] = $1 & 63 | 0 | 128 | 0; + HEAP8[$0 >> 0] = $1 >>> 18 | 0 | 240 | 0; + HEAP8[($0 + 2 | 0) >> 0] = ($1 >>> 6 | 0) & 63 | 0 | 128 | 0; + HEAP8[($0 + 1 | 0) >> 0] = ($1 >>> 12 | 0) & 63 | 0 | 128 | 0; + return 4 | 0; + } + (wasm2js_i32$0 = __errno_location() | 0, wasm2js_i32$1 = 25), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + } + $3 = -1; + } + return $3 | 0; + } + HEAP8[$0 >> 0] = $1; + return 1 | 0; + } + + function wctomb($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + label$1 : { + if ($0) { + break label$1 + } + return 0 | 0; + } + return wcrtomb($0 | 0, $1 | 0, 0 | 0) | 0 | 0; + } + + function emscripten_get_heap_size() { + return __wasm_memory_size() << 16 | 0 | 0; + } + + function sbrk($0) { + $0 = $0 | 0; + var $1 = 0, $2 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $1 = HEAP32[(0 + 113004 | 0) >> 2] | 0; + $2 = ($0 + 7 | 0) & -8 | 0; + $0 = $1 + $2 | 0; + label$1 : { + label$2 : { + if (!$2) { + break label$2 + } + if ($0 >>> 0 <= $1 >>> 0) { + break label$1 + } + } + label$3 : { + if ($0 >>> 0 <= (emscripten_get_heap_size() | 0) >>> 0) { + break label$3 + } + if (!(emscripten_resize_heap($0 | 0) | 0)) { + break label$1 + } + } + HEAP32[(0 + 113004 | 0) >> 2] = $0; + return $1 | 0; + } + (wasm2js_i32$0 = __errno_location() | 0, wasm2js_i32$1 = 48), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + return -1 | 0; + } + + function dlmalloc($0) { + $0 = $0 | 0; + var $4 = 0, $7 = 0, $5 = 0, $8 = 0, $3 = 0, $2 = 0, $11 = 0, $6 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, $9 = 0, i64toi32_i32$2 = 0, $10 = 0, $1 = 0, $79 = 0, $191 = 0, $945 = 0, $947 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $1 = __stack_pointer - 16 | 0; + __stack_pointer = $1; + label$1 : { + label$2 : { + label$3 : { + label$4 : { + label$5 : { + label$6 : { + label$7 : { + label$8 : { + label$9 : { + label$10 : { + label$11 : { + label$12 : { + label$13 : { + label$14 : { + label$15 : { + if ($0 >>> 0 > 244 >>> 0) { + break label$15 + } + label$16 : { + $2 = HEAP32[(0 + 117484 | 0) >> 2] | 0; + $3 = $0 >>> 0 < 11 >>> 0 ? 16 : ($0 + 11 | 0) & -8 | 0; + $4 = $3 >>> 3 | 0; + $0 = $2 >>> $4 | 0; + if (!($0 & 3 | 0)) { + break label$16 + } + label$17 : { + label$18 : { + $5 = (($0 ^ -1 | 0) & 1 | 0) + $4 | 0; + $4 = $5 << 3 | 0; + $0 = $4 + 117524 | 0; + $4 = HEAP32[($4 + 117532 | 0) >> 2] | 0; + $3 = HEAP32[($4 + 8 | 0) >> 2] | 0; + if (($0 | 0) != ($3 | 0)) { + break label$18 + } + (wasm2js_i32$0 = 0, wasm2js_i32$1 = $2 & (__wasm_rotl_i32(-2 | 0, $5 | 0) | 0) | 0), HEAP32[(wasm2js_i32$0 + 117484 | 0) >> 2] = wasm2js_i32$1; + break label$17; + } + HEAP32[($3 + 12 | 0) >> 2] = $0; + HEAP32[($0 + 8 | 0) >> 2] = $3; + } + $0 = $4 + 8 | 0; + $5 = $5 << 3 | 0; + HEAP32[($4 + 4 | 0) >> 2] = $5 | 3 | 0; + $4 = $4 + $5 | 0; + HEAP32[($4 + 4 | 0) >> 2] = HEAP32[($4 + 4 | 0) >> 2] | 0 | 1 | 0; + break label$1; + } + $6 = HEAP32[(0 + 117492 | 0) >> 2] | 0; + if ($3 >>> 0 <= $6 >>> 0) { + break label$14 + } + label$19 : { + if (!$0) { + break label$19 + } + label$20 : { + label$21 : { + $79 = $0 << $4 | 0; + $0 = 2 << $4 | 0; + $0 = $79 & ($0 | (0 - $0 | 0) | 0) | 0; + $4 = __wasm_ctz_i32($0 & (0 - $0 | 0) | 0 | 0) | 0; + $0 = $4 << 3 | 0; + $5 = $0 + 117524 | 0; + $0 = HEAP32[($0 + 117532 | 0) >> 2] | 0; + $7 = HEAP32[($0 + 8 | 0) >> 2] | 0; + if (($5 | 0) != ($7 | 0)) { + break label$21 + } + $2 = $2 & (__wasm_rotl_i32(-2 | 0, $4 | 0) | 0) | 0; + HEAP32[(0 + 117484 | 0) >> 2] = $2; + break label$20; + } + HEAP32[($7 + 12 | 0) >> 2] = $5; + HEAP32[($5 + 8 | 0) >> 2] = $7; + } + HEAP32[($0 + 4 | 0) >> 2] = $3 | 3 | 0; + $7 = $0 + $3 | 0; + $4 = $4 << 3 | 0; + $5 = $4 - $3 | 0; + HEAP32[($7 + 4 | 0) >> 2] = $5 | 1 | 0; + HEAP32[($0 + $4 | 0) >> 2] = $5; + label$22 : { + if (!$6) { + break label$22 + } + $3 = ($6 & -8 | 0) + 117524 | 0; + $4 = HEAP32[(0 + 117504 | 0) >> 2] | 0; + label$23 : { + label$24 : { + $8 = 1 << ($6 >>> 3 | 0) | 0; + if ($2 & $8 | 0) { + break label$24 + } + HEAP32[(0 + 117484 | 0) >> 2] = $2 | $8 | 0; + $8 = $3; + break label$23; + } + $8 = HEAP32[($3 + 8 | 0) >> 2] | 0; + } + HEAP32[($3 + 8 | 0) >> 2] = $4; + HEAP32[($8 + 12 | 0) >> 2] = $4; + HEAP32[($4 + 12 | 0) >> 2] = $3; + HEAP32[($4 + 8 | 0) >> 2] = $8; + } + $0 = $0 + 8 | 0; + HEAP32[(0 + 117504 | 0) >> 2] = $7; + HEAP32[(0 + 117492 | 0) >> 2] = $5; + break label$1; + } + $9 = HEAP32[(0 + 117488 | 0) >> 2] | 0; + if (!$9) { + break label$14 + } + $7 = HEAP32[(((__wasm_ctz_i32($9 & (0 - $9 | 0) | 0 | 0) | 0) << 2 | 0) + 117788 | 0) >> 2] | 0; + $4 = ((HEAP32[($7 + 4 | 0) >> 2] | 0) & -8 | 0) - $3 | 0; + $5 = $7; + label$25 : { + label$26 : while (1) { + label$27 : { + $0 = HEAP32[($5 + 16 | 0) >> 2] | 0; + if ($0) { + break label$27 + } + $0 = HEAP32[($5 + 20 | 0) >> 2] | 0; + if (!$0) { + break label$25 + } + } + $5 = ((HEAP32[($0 + 4 | 0) >> 2] | 0) & -8 | 0) - $3 | 0; + $191 = $5; + $5 = $5 >>> 0 < $4 >>> 0; + $4 = $5 ? $191 : $4; + $7 = $5 ? $0 : $7; + $5 = $0; + continue label$26; + }; + } + $10 = HEAP32[($7 + 24 | 0) >> 2] | 0; + label$28 : { + $8 = HEAP32[($7 + 12 | 0) >> 2] | 0; + if (($8 | 0) == ($7 | 0)) { + break label$28 + } + $0 = HEAP32[($7 + 8 | 0) >> 2] | 0; + HEAP32[(0 + 117500 | 0) >> 2] | 0; + HEAP32[($0 + 12 | 0) >> 2] = $8; + HEAP32[($8 + 8 | 0) >> 2] = $0; + break label$2; + } + label$29 : { + $5 = $7 + 20 | 0; + $0 = HEAP32[$5 >> 2] | 0; + if ($0) { + break label$29 + } + $0 = HEAP32[($7 + 16 | 0) >> 2] | 0; + if (!$0) { + break label$13 + } + $5 = $7 + 16 | 0; + } + label$30 : while (1) { + $11 = $5; + $8 = $0; + $5 = $0 + 20 | 0; + $0 = HEAP32[$5 >> 2] | 0; + if ($0) { + continue label$30 + } + $5 = $8 + 16 | 0; + $0 = HEAP32[($8 + 16 | 0) >> 2] | 0; + if ($0) { + continue label$30 + } + break label$30; + }; + HEAP32[$11 >> 2] = 0; + break label$2; + } + $3 = -1; + if ($0 >>> 0 > -65 >>> 0) { + break label$14 + } + $0 = $0 + 11 | 0; + $3 = $0 & -8 | 0; + $6 = HEAP32[(0 + 117488 | 0) >> 2] | 0; + if (!$6) { + break label$14 + } + $11 = 0; + label$31 : { + if ($3 >>> 0 < 256 >>> 0) { + break label$31 + } + $11 = 31; + if ($3 >>> 0 > 16777215 >>> 0) { + break label$31 + } + $0 = Math_clz32($0 >>> 8 | 0); + $11 = ((($3 >>> (38 - $0 | 0) | 0) & 1 | 0) - ($0 << 1 | 0) | 0) + 62 | 0; + } + $4 = 0 - $3 | 0; + label$32 : { + label$33 : { + label$34 : { + label$35 : { + $5 = HEAP32[(($11 << 2 | 0) + 117788 | 0) >> 2] | 0; + if ($5) { + break label$35 + } + $0 = 0; + $8 = 0; + break label$34; + } + $0 = 0; + $7 = $3 << (($11 | 0) == (31 | 0) ? 0 : 25 - ($11 >>> 1 | 0) | 0) | 0; + $8 = 0; + label$36 : while (1) { + label$37 : { + $2 = ((HEAP32[($5 + 4 | 0) >> 2] | 0) & -8 | 0) - $3 | 0; + if ($2 >>> 0 >= $4 >>> 0) { + break label$37 + } + $4 = $2; + $8 = $5; + if ($4) { + break label$37 + } + $4 = 0; + $8 = $5; + $0 = $5; + break label$33; + } + $2 = HEAP32[($5 + 20 | 0) >> 2] | 0; + $5 = HEAP32[(($5 + (($7 >>> 29 | 0) & 4 | 0) | 0) + 16 | 0) >> 2] | 0; + $0 = $2 ? (($2 | 0) == ($5 | 0) ? $0 : $2) : $0; + $7 = $7 << 1 | 0; + if ($5) { + continue label$36 + } + break label$36; + }; + } + label$38 : { + if ($0 | $8 | 0) { + break label$38 + } + $8 = 0; + $0 = 2 << $11 | 0; + $0 = ($0 | (0 - $0 | 0) | 0) & $6 | 0; + if (!$0) { + break label$14 + } + $0 = HEAP32[(((__wasm_ctz_i32($0 & (0 - $0 | 0) | 0 | 0) | 0) << 2 | 0) + 117788 | 0) >> 2] | 0; + } + if (!$0) { + break label$32 + } + } + label$39 : while (1) { + $2 = ((HEAP32[($0 + 4 | 0) >> 2] | 0) & -8 | 0) - $3 | 0; + $7 = $2 >>> 0 < $4 >>> 0; + label$40 : { + $5 = HEAP32[($0 + 16 | 0) >> 2] | 0; + if ($5) { + break label$40 + } + $5 = HEAP32[($0 + 20 | 0) >> 2] | 0; + } + $4 = $7 ? $2 : $4; + $8 = $7 ? $0 : $8; + $0 = $5; + if ($0) { + continue label$39 + } + break label$39; + }; + } + if (!$8) { + break label$14 + } + if ($4 >>> 0 >= ((HEAP32[(0 + 117492 | 0) >> 2] | 0) - $3 | 0) >>> 0) { + break label$14 + } + $11 = HEAP32[($8 + 24 | 0) >> 2] | 0; + label$41 : { + $7 = HEAP32[($8 + 12 | 0) >> 2] | 0; + if (($7 | 0) == ($8 | 0)) { + break label$41 + } + $0 = HEAP32[($8 + 8 | 0) >> 2] | 0; + HEAP32[(0 + 117500 | 0) >> 2] | 0; + HEAP32[($0 + 12 | 0) >> 2] = $7; + HEAP32[($7 + 8 | 0) >> 2] = $0; + break label$3; + } + label$42 : { + $5 = $8 + 20 | 0; + $0 = HEAP32[$5 >> 2] | 0; + if ($0) { + break label$42 + } + $0 = HEAP32[($8 + 16 | 0) >> 2] | 0; + if (!$0) { + break label$12 + } + $5 = $8 + 16 | 0; + } + label$43 : while (1) { + $2 = $5; + $7 = $0; + $5 = $0 + 20 | 0; + $0 = HEAP32[$5 >> 2] | 0; + if ($0) { + continue label$43 + } + $5 = $7 + 16 | 0; + $0 = HEAP32[($7 + 16 | 0) >> 2] | 0; + if ($0) { + continue label$43 + } + break label$43; + }; + HEAP32[$2 >> 2] = 0; + break label$3; + } + label$44 : { + $0 = HEAP32[(0 + 117492 | 0) >> 2] | 0; + if ($0 >>> 0 < $3 >>> 0) { + break label$44 + } + $4 = HEAP32[(0 + 117504 | 0) >> 2] | 0; + label$45 : { + label$46 : { + $5 = $0 - $3 | 0; + if ($5 >>> 0 < 16 >>> 0) { + break label$46 + } + $7 = $4 + $3 | 0; + HEAP32[($7 + 4 | 0) >> 2] = $5 | 1 | 0; + HEAP32[($4 + $0 | 0) >> 2] = $5; + HEAP32[($4 + 4 | 0) >> 2] = $3 | 3 | 0; + break label$45; + } + HEAP32[($4 + 4 | 0) >> 2] = $0 | 3 | 0; + $0 = $4 + $0 | 0; + HEAP32[($0 + 4 | 0) >> 2] = HEAP32[($0 + 4 | 0) >> 2] | 0 | 1 | 0; + $7 = 0; + $5 = 0; + } + HEAP32[(0 + 117492 | 0) >> 2] = $5; + HEAP32[(0 + 117504 | 0) >> 2] = $7; + $0 = $4 + 8 | 0; + break label$1; + } + label$47 : { + $7 = HEAP32[(0 + 117496 | 0) >> 2] | 0; + if ($7 >>> 0 <= $3 >>> 0) { + break label$47 + } + $4 = $7 - $3 | 0; + HEAP32[(0 + 117496 | 0) >> 2] = $4; + $0 = HEAP32[(0 + 117508 | 0) >> 2] | 0; + $5 = $0 + $3 | 0; + HEAP32[(0 + 117508 | 0) >> 2] = $5; + HEAP32[($5 + 4 | 0) >> 2] = $4 | 1 | 0; + HEAP32[($0 + 4 | 0) >> 2] = $3 | 3 | 0; + $0 = $0 + 8 | 0; + break label$1; + } + label$48 : { + label$49 : { + if (!(HEAP32[(0 + 117956 | 0) >> 2] | 0)) { + break label$49 + } + $4 = HEAP32[(0 + 117964 | 0) >> 2] | 0; + break label$48; + } + i64toi32_i32$1 = 0; + i64toi32_i32$0 = -1; + HEAP32[(i64toi32_i32$1 + 117968 | 0) >> 2] = -1; + HEAP32[(i64toi32_i32$1 + 117972 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = 0; + i64toi32_i32$0 = 4096; + HEAP32[(i64toi32_i32$1 + 117960 | 0) >> 2] = 4096; + HEAP32[(i64toi32_i32$1 + 117964 | 0) >> 2] = i64toi32_i32$0; + HEAP32[(0 + 117956 | 0) >> 2] = (($1 + 12 | 0) & -16 | 0) ^ 1431655768 | 0; + HEAP32[(0 + 117976 | 0) >> 2] = 0; + HEAP32[(0 + 117928 | 0) >> 2] = 0; + $4 = 4096; + } + $0 = 0; + $6 = $3 + 47 | 0; + $2 = $4 + $6 | 0; + $11 = 0 - $4 | 0; + $8 = $2 & $11 | 0; + if ($8 >>> 0 <= $3 >>> 0) { + break label$1 + } + $0 = 0; + label$50 : { + $4 = HEAP32[(0 + 117924 | 0) >> 2] | 0; + if (!$4) { + break label$50 + } + $5 = HEAP32[(0 + 117916 | 0) >> 2] | 0; + $9 = $5 + $8 | 0; + if ($9 >>> 0 <= $5 >>> 0) { + break label$1 + } + if ($9 >>> 0 > $4 >>> 0) { + break label$1 + } + } + label$51 : { + label$52 : { + if ((HEAPU8[(0 + 117928 | 0) >> 0] | 0) & 4 | 0) { + break label$52 + } + label$53 : { + label$54 : { + label$55 : { + label$56 : { + label$57 : { + $4 = HEAP32[(0 + 117508 | 0) >> 2] | 0; + if (!$4) { + break label$57 + } + $0 = 117932; + label$58 : while (1) { + label$59 : { + $5 = HEAP32[$0 >> 2] | 0; + if ($5 >>> 0 > $4 >>> 0) { + break label$59 + } + if (($5 + (HEAP32[($0 + 4 | 0) >> 2] | 0) | 0) >>> 0 > $4 >>> 0) { + break label$56 + } + } + $0 = HEAP32[($0 + 8 | 0) >> 2] | 0; + if ($0) { + continue label$58 + } + break label$58; + }; + } + $7 = sbrk(0 | 0) | 0; + if (($7 | 0) == (-1 | 0)) { + break label$53 + } + $2 = $8; + label$60 : { + $0 = HEAP32[(0 + 117960 | 0) >> 2] | 0; + $4 = $0 + -1 | 0; + if (!($4 & $7 | 0)) { + break label$60 + } + $2 = ($8 - $7 | 0) + (($4 + $7 | 0) & (0 - $0 | 0) | 0) | 0; + } + if ($2 >>> 0 <= $3 >>> 0) { + break label$53 + } + label$61 : { + $0 = HEAP32[(0 + 117924 | 0) >> 2] | 0; + if (!$0) { + break label$61 + } + $4 = HEAP32[(0 + 117916 | 0) >> 2] | 0; + $5 = $4 + $2 | 0; + if ($5 >>> 0 <= $4 >>> 0) { + break label$53 + } + if ($5 >>> 0 > $0 >>> 0) { + break label$53 + } + } + $0 = sbrk($2 | 0) | 0; + if (($0 | 0) != ($7 | 0)) { + break label$55 + } + break label$51; + } + $2 = ($2 - $7 | 0) & $11 | 0; + $7 = sbrk($2 | 0) | 0; + if (($7 | 0) == ((HEAP32[$0 >> 2] | 0) + (HEAP32[($0 + 4 | 0) >> 2] | 0) | 0 | 0)) { + break label$54 + } + $0 = $7; + } + if (($0 | 0) == (-1 | 0)) { + break label$53 + } + label$62 : { + if (($3 + 48 | 0) >>> 0 > $2 >>> 0) { + break label$62 + } + $7 = $0; + break label$51; + } + $4 = HEAP32[(0 + 117964 | 0) >> 2] | 0; + $4 = (($6 - $2 | 0) + $4 | 0) & (0 - $4 | 0) | 0; + if ((sbrk($4 | 0) | 0 | 0) == (-1 | 0)) { + break label$53 + } + $2 = $4 + $2 | 0; + $7 = $0; + break label$51; + } + if (($7 | 0) != (-1 | 0)) { + break label$51 + } + } + HEAP32[(0 + 117928 | 0) >> 2] = HEAP32[(0 + 117928 | 0) >> 2] | 0 | 4 | 0; + } + $7 = sbrk($8 | 0) | 0; + $0 = sbrk(0 | 0) | 0; + if (($7 | 0) == (-1 | 0)) { + break label$9 + } + if (($0 | 0) == (-1 | 0)) { + break label$9 + } + if ($7 >>> 0 >= $0 >>> 0) { + break label$9 + } + $2 = $0 - $7 | 0; + if ($2 >>> 0 <= ($3 + 40 | 0) >>> 0) { + break label$9 + } + } + $0 = (HEAP32[(0 + 117916 | 0) >> 2] | 0) + $2 | 0; + HEAP32[(0 + 117916 | 0) >> 2] = $0; + label$63 : { + if ($0 >>> 0 <= (HEAP32[(0 + 117920 | 0) >> 2] | 0) >>> 0) { + break label$63 + } + HEAP32[(0 + 117920 | 0) >> 2] = $0; + } + label$64 : { + label$65 : { + $4 = HEAP32[(0 + 117508 | 0) >> 2] | 0; + if (!$4) { + break label$65 + } + $0 = 117932; + label$66 : while (1) { + $5 = HEAP32[$0 >> 2] | 0; + $8 = HEAP32[($0 + 4 | 0) >> 2] | 0; + if (($7 | 0) == ($5 + $8 | 0 | 0)) { + break label$64 + } + $0 = HEAP32[($0 + 8 | 0) >> 2] | 0; + if ($0) { + continue label$66 + } + break label$11; + }; + } + label$67 : { + label$68 : { + $0 = HEAP32[(0 + 117500 | 0) >> 2] | 0; + if (!$0) { + break label$68 + } + if ($7 >>> 0 >= $0 >>> 0) { + break label$67 + } + } + HEAP32[(0 + 117500 | 0) >> 2] = $7; + } + $0 = 0; + HEAP32[(0 + 117936 | 0) >> 2] = $2; + HEAP32[(0 + 117932 | 0) >> 2] = $7; + HEAP32[(0 + 117516 | 0) >> 2] = -1; + HEAP32[(0 + 117520 | 0) >> 2] = HEAP32[(0 + 117956 | 0) >> 2] | 0; + HEAP32[(0 + 117944 | 0) >> 2] = 0; + label$69 : while (1) { + $4 = $0 << 3 | 0; + $5 = $4 + 117524 | 0; + HEAP32[($4 + 117532 | 0) >> 2] = $5; + HEAP32[($4 + 117536 | 0) >> 2] = $5; + $0 = $0 + 1 | 0; + if (($0 | 0) != (32 | 0)) { + continue label$69 + } + break label$69; + }; + $0 = $2 + -40 | 0; + $4 = ($7 + 8 | 0) & 7 | 0 ? (-8 - $7 | 0) & 7 | 0 : 0; + $5 = $0 - $4 | 0; + HEAP32[(0 + 117496 | 0) >> 2] = $5; + $4 = $7 + $4 | 0; + HEAP32[(0 + 117508 | 0) >> 2] = $4; + HEAP32[($4 + 4 | 0) >> 2] = $5 | 1 | 0; + HEAP32[(($7 + $0 | 0) + 4 | 0) >> 2] = 40; + HEAP32[(0 + 117512 | 0) >> 2] = HEAP32[(0 + 117972 | 0) >> 2] | 0; + break label$10; + } + if ($4 >>> 0 >= $7 >>> 0) { + break label$11 + } + if ($4 >>> 0 < $5 >>> 0) { + break label$11 + } + if ((HEAP32[($0 + 12 | 0) >> 2] | 0) & 8 | 0) { + break label$11 + } + HEAP32[($0 + 4 | 0) >> 2] = $8 + $2 | 0; + $0 = ($4 + 8 | 0) & 7 | 0 ? (-8 - $4 | 0) & 7 | 0 : 0; + $5 = $4 + $0 | 0; + HEAP32[(0 + 117508 | 0) >> 2] = $5; + $7 = (HEAP32[(0 + 117496 | 0) >> 2] | 0) + $2 | 0; + $0 = $7 - $0 | 0; + HEAP32[(0 + 117496 | 0) >> 2] = $0; + HEAP32[($5 + 4 | 0) >> 2] = $0 | 1 | 0; + HEAP32[(($4 + $7 | 0) + 4 | 0) >> 2] = 40; + HEAP32[(0 + 117512 | 0) >> 2] = HEAP32[(0 + 117972 | 0) >> 2] | 0; + break label$10; + } + $8 = 0; + break label$2; + } + $7 = 0; + break label$3; + } + label$70 : { + $8 = HEAP32[(0 + 117500 | 0) >> 2] | 0; + if ($7 >>> 0 >= $8 >>> 0) { + break label$70 + } + HEAP32[(0 + 117500 | 0) >> 2] = $7; + $8 = $7; + } + $5 = $7 + $2 | 0; + $0 = 117932; + label$71 : { + label$72 : { + label$73 : { + label$74 : { + label$75 : while (1) { + if ((HEAP32[$0 >> 2] | 0 | 0) == ($5 | 0)) { + break label$74 + } + $0 = HEAP32[($0 + 8 | 0) >> 2] | 0; + if ($0) { + continue label$75 + } + break label$73; + }; + } + if (!((HEAPU8[($0 + 12 | 0) >> 0] | 0) & 8 | 0)) { + break label$72 + } + } + $0 = 117932; + label$76 : while (1) { + label$77 : { + $5 = HEAP32[$0 >> 2] | 0; + if ($5 >>> 0 > $4 >>> 0) { + break label$77 + } + $5 = $5 + (HEAP32[($0 + 4 | 0) >> 2] | 0) | 0; + if ($5 >>> 0 > $4 >>> 0) { + break label$71 + } + } + $0 = HEAP32[($0 + 8 | 0) >> 2] | 0; + continue label$76; + }; + } + HEAP32[$0 >> 2] = $7; + HEAP32[($0 + 4 | 0) >> 2] = (HEAP32[($0 + 4 | 0) >> 2] | 0) + $2 | 0; + $11 = $7 + (($7 + 8 | 0) & 7 | 0 ? (-8 - $7 | 0) & 7 | 0 : 0) | 0; + HEAP32[($11 + 4 | 0) >> 2] = $3 | 3 | 0; + $2 = $5 + (($5 + 8 | 0) & 7 | 0 ? (-8 - $5 | 0) & 7 | 0 : 0) | 0; + $3 = $11 + $3 | 0; + $0 = $2 - $3 | 0; + label$78 : { + if (($2 | 0) != ($4 | 0)) { + break label$78 + } + HEAP32[(0 + 117508 | 0) >> 2] = $3; + $0 = (HEAP32[(0 + 117496 | 0) >> 2] | 0) + $0 | 0; + HEAP32[(0 + 117496 | 0) >> 2] = $0; + HEAP32[($3 + 4 | 0) >> 2] = $0 | 1 | 0; + break label$4; + } + label$79 : { + if (($2 | 0) != (HEAP32[(0 + 117504 | 0) >> 2] | 0 | 0)) { + break label$79 + } + HEAP32[(0 + 117504 | 0) >> 2] = $3; + $0 = (HEAP32[(0 + 117492 | 0) >> 2] | 0) + $0 | 0; + HEAP32[(0 + 117492 | 0) >> 2] = $0; + HEAP32[($3 + 4 | 0) >> 2] = $0 | 1 | 0; + HEAP32[($3 + $0 | 0) >> 2] = $0; + break label$4; + } + $4 = HEAP32[($2 + 4 | 0) >> 2] | 0; + if (($4 & 3 | 0 | 0) != (1 | 0)) { + break label$5 + } + $6 = $4 & -8 | 0; + label$80 : { + if ($4 >>> 0 > 255 >>> 0) { + break label$80 + } + $5 = HEAP32[($2 + 8 | 0) >> 2] | 0; + $8 = $4 >>> 3 | 0; + $7 = ($8 << 3 | 0) + 117524 | 0; + label$81 : { + $4 = HEAP32[($2 + 12 | 0) >> 2] | 0; + if (($4 | 0) != ($5 | 0)) { + break label$81 + } + (wasm2js_i32$0 = 0, wasm2js_i32$1 = (HEAP32[(0 + 117484 | 0) >> 2] | 0) & (__wasm_rotl_i32(-2 | 0, $8 | 0) | 0) | 0), HEAP32[(wasm2js_i32$0 + 117484 | 0) >> 2] = wasm2js_i32$1; + break label$6; + } + HEAP32[($5 + 12 | 0) >> 2] = $4; + HEAP32[($4 + 8 | 0) >> 2] = $5; + break label$6; + } + $9 = HEAP32[($2 + 24 | 0) >> 2] | 0; + label$82 : { + $7 = HEAP32[($2 + 12 | 0) >> 2] | 0; + if (($7 | 0) == ($2 | 0)) { + break label$82 + } + $4 = HEAP32[($2 + 8 | 0) >> 2] | 0; + HEAP32[($4 + 12 | 0) >> 2] = $7; + HEAP32[($7 + 8 | 0) >> 2] = $4; + break label$7; + } + label$83 : { + $5 = $2 + 20 | 0; + $4 = HEAP32[$5 >> 2] | 0; + if ($4) { + break label$83 + } + $4 = HEAP32[($2 + 16 | 0) >> 2] | 0; + if (!$4) { + break label$8 + } + $5 = $2 + 16 | 0; + } + label$84 : while (1) { + $8 = $5; + $7 = $4; + $5 = $4 + 20 | 0; + $4 = HEAP32[$5 >> 2] | 0; + if ($4) { + continue label$84 + } + $5 = $7 + 16 | 0; + $4 = HEAP32[($7 + 16 | 0) >> 2] | 0; + if ($4) { + continue label$84 + } + break label$84; + }; + HEAP32[$8 >> 2] = 0; + break label$7; + } + $0 = $2 + -40 | 0; + $8 = ($7 + 8 | 0) & 7 | 0 ? (-8 - $7 | 0) & 7 | 0 : 0; + $11 = $0 - $8 | 0; + HEAP32[(0 + 117496 | 0) >> 2] = $11; + $8 = $7 + $8 | 0; + HEAP32[(0 + 117508 | 0) >> 2] = $8; + HEAP32[($8 + 4 | 0) >> 2] = $11 | 1 | 0; + HEAP32[(($7 + $0 | 0) + 4 | 0) >> 2] = 40; + HEAP32[(0 + 117512 | 0) >> 2] = HEAP32[(0 + 117972 | 0) >> 2] | 0; + $0 = ($5 + (($5 + -39 | 0) & 7 | 0 ? (39 - $5 | 0) & 7 | 0 : 0) | 0) + -47 | 0; + $8 = $0 >>> 0 < ($4 + 16 | 0) >>> 0 ? $4 : $0; + HEAP32[($8 + 4 | 0) >> 2] = 27; + i64toi32_i32$2 = 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 117940 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 117944 | 0) >> 2] | 0; + $945 = i64toi32_i32$0; + i64toi32_i32$0 = $8 + 16 | 0; + HEAP32[i64toi32_i32$0 >> 2] = $945; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$2 = 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 117932 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 117936 | 0) >> 2] | 0; + $947 = i64toi32_i32$1; + i64toi32_i32$1 = $8; + HEAP32[($8 + 8 | 0) >> 2] = $947; + HEAP32[($8 + 12 | 0) >> 2] = i64toi32_i32$0; + HEAP32[(0 + 117940 | 0) >> 2] = $8 + 8 | 0; + HEAP32[(0 + 117936 | 0) >> 2] = $2; + HEAP32[(0 + 117932 | 0) >> 2] = $7; + HEAP32[(0 + 117944 | 0) >> 2] = 0; + $0 = $8 + 24 | 0; + label$85 : while (1) { + HEAP32[($0 + 4 | 0) >> 2] = 7; + $7 = $0 + 8 | 0; + $0 = $0 + 4 | 0; + if ($7 >>> 0 < $5 >>> 0) { + continue label$85 + } + break label$85; + }; + if (($8 | 0) == ($4 | 0)) { + break label$10 + } + HEAP32[($8 + 4 | 0) >> 2] = (HEAP32[($8 + 4 | 0) >> 2] | 0) & -2 | 0; + $7 = $8 - $4 | 0; + HEAP32[($4 + 4 | 0) >> 2] = $7 | 1 | 0; + HEAP32[$8 >> 2] = $7; + label$86 : { + if ($7 >>> 0 > 255 >>> 0) { + break label$86 + } + $0 = ($7 & -8 | 0) + 117524 | 0; + label$87 : { + label$88 : { + $5 = HEAP32[(0 + 117484 | 0) >> 2] | 0; + $7 = 1 << ($7 >>> 3 | 0) | 0; + if ($5 & $7 | 0) { + break label$88 + } + HEAP32[(0 + 117484 | 0) >> 2] = $5 | $7 | 0; + $5 = $0; + break label$87; + } + $5 = HEAP32[($0 + 8 | 0) >> 2] | 0; + } + HEAP32[($0 + 8 | 0) >> 2] = $4; + HEAP32[($5 + 12 | 0) >> 2] = $4; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $5; + break label$10; + } + $0 = 31; + label$89 : { + if ($7 >>> 0 > 16777215 >>> 0) { + break label$89 + } + $0 = Math_clz32($7 >>> 8 | 0); + $0 = ((($7 >>> (38 - $0 | 0) | 0) & 1 | 0) - ($0 << 1 | 0) | 0) + 62 | 0; + } + HEAP32[($4 + 28 | 0) >> 2] = $0; + i64toi32_i32$1 = $4; + i64toi32_i32$0 = 0; + HEAP32[($4 + 16 | 0) >> 2] = 0; + HEAP32[($4 + 20 | 0) >> 2] = i64toi32_i32$0; + $5 = ($0 << 2 | 0) + 117788 | 0; + label$90 : { + label$91 : { + label$92 : { + $8 = HEAP32[(0 + 117488 | 0) >> 2] | 0; + $2 = 1 << $0 | 0; + if ($8 & $2 | 0) { + break label$92 + } + HEAP32[(0 + 117488 | 0) >> 2] = $8 | $2 | 0; + HEAP32[$5 >> 2] = $4; + HEAP32[($4 + 24 | 0) >> 2] = $5; + break label$91; + } + $0 = $7 << (($0 | 0) == (31 | 0) ? 0 : 25 - ($0 >>> 1 | 0) | 0) | 0; + $8 = HEAP32[$5 >> 2] | 0; + label$93 : while (1) { + $5 = $8; + if (((HEAP32[($5 + 4 | 0) >> 2] | 0) & -8 | 0 | 0) == ($7 | 0)) { + break label$90 + } + $8 = $0 >>> 29 | 0; + $0 = $0 << 1 | 0; + $2 = ($5 + ($8 & 4 | 0) | 0) + 16 | 0; + $8 = HEAP32[$2 >> 2] | 0; + if ($8) { + continue label$93 + } + break label$93; + }; + HEAP32[$2 >> 2] = $4; + HEAP32[($4 + 24 | 0) >> 2] = $5; + } + HEAP32[($4 + 12 | 0) >> 2] = $4; + HEAP32[($4 + 8 | 0) >> 2] = $4; + break label$10; + } + $0 = HEAP32[($5 + 8 | 0) >> 2] | 0; + HEAP32[($0 + 12 | 0) >> 2] = $4; + HEAP32[($5 + 8 | 0) >> 2] = $4; + HEAP32[($4 + 24 | 0) >> 2] = 0; + HEAP32[($4 + 12 | 0) >> 2] = $5; + HEAP32[($4 + 8 | 0) >> 2] = $0; + } + $0 = HEAP32[(0 + 117496 | 0) >> 2] | 0; + if ($0 >>> 0 <= $3 >>> 0) { + break label$9 + } + $4 = $0 - $3 | 0; + HEAP32[(0 + 117496 | 0) >> 2] = $4; + $0 = HEAP32[(0 + 117508 | 0) >> 2] | 0; + $5 = $0 + $3 | 0; + HEAP32[(0 + 117508 | 0) >> 2] = $5; + HEAP32[($5 + 4 | 0) >> 2] = $4 | 1 | 0; + HEAP32[($0 + 4 | 0) >> 2] = $3 | 3 | 0; + $0 = $0 + 8 | 0; + break label$1; + } + (wasm2js_i32$0 = __errno_location() | 0, wasm2js_i32$1 = 48), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + $0 = 0; + break label$1; + } + $7 = 0; + } + if (!$9) { + break label$6 + } + label$94 : { + label$95 : { + $5 = HEAP32[($2 + 28 | 0) >> 2] | 0; + $4 = ($5 << 2 | 0) + 117788 | 0; + if (($2 | 0) != (HEAP32[$4 >> 2] | 0 | 0)) { + break label$95 + } + HEAP32[$4 >> 2] = $7; + if ($7) { + break label$94 + } + (wasm2js_i32$0 = 0, wasm2js_i32$1 = (HEAP32[(0 + 117488 | 0) >> 2] | 0) & (__wasm_rotl_i32(-2 | 0, $5 | 0) | 0) | 0), HEAP32[(wasm2js_i32$0 + 117488 | 0) >> 2] = wasm2js_i32$1; + break label$6; + } + HEAP32[($9 + ((HEAP32[($9 + 16 | 0) >> 2] | 0 | 0) == ($2 | 0) ? 16 : 20) | 0) >> 2] = $7; + if (!$7) { + break label$6 + } + } + HEAP32[($7 + 24 | 0) >> 2] = $9; + label$96 : { + $4 = HEAP32[($2 + 16 | 0) >> 2] | 0; + if (!$4) { + break label$96 + } + HEAP32[($7 + 16 | 0) >> 2] = $4; + HEAP32[($4 + 24 | 0) >> 2] = $7; + } + $4 = HEAP32[($2 + 20 | 0) >> 2] | 0; + if (!$4) { + break label$6 + } + HEAP32[($7 + 20 | 0) >> 2] = $4; + HEAP32[($4 + 24 | 0) >> 2] = $7; + } + $0 = $6 + $0 | 0; + $2 = $2 + $6 | 0; + $4 = HEAP32[($2 + 4 | 0) >> 2] | 0; + } + HEAP32[($2 + 4 | 0) >> 2] = $4 & -2 | 0; + HEAP32[($3 + 4 | 0) >> 2] = $0 | 1 | 0; + HEAP32[($3 + $0 | 0) >> 2] = $0; + label$97 : { + if ($0 >>> 0 > 255 >>> 0) { + break label$97 + } + $4 = ($0 & -8 | 0) + 117524 | 0; + label$98 : { + label$99 : { + $5 = HEAP32[(0 + 117484 | 0) >> 2] | 0; + $0 = 1 << ($0 >>> 3 | 0) | 0; + if ($5 & $0 | 0) { + break label$99 + } + HEAP32[(0 + 117484 | 0) >> 2] = $5 | $0 | 0; + $0 = $4; + break label$98; + } + $0 = HEAP32[($4 + 8 | 0) >> 2] | 0; + } + HEAP32[($4 + 8 | 0) >> 2] = $3; + HEAP32[($0 + 12 | 0) >> 2] = $3; + HEAP32[($3 + 12 | 0) >> 2] = $4; + HEAP32[($3 + 8 | 0) >> 2] = $0; + break label$4; + } + $4 = 31; + label$100 : { + if ($0 >>> 0 > 16777215 >>> 0) { + break label$100 + } + $4 = Math_clz32($0 >>> 8 | 0); + $4 = ((($0 >>> (38 - $4 | 0) | 0) & 1 | 0) - ($4 << 1 | 0) | 0) + 62 | 0; + } + HEAP32[($3 + 28 | 0) >> 2] = $4; + i64toi32_i32$1 = $3; + i64toi32_i32$0 = 0; + HEAP32[($3 + 16 | 0) >> 2] = 0; + HEAP32[($3 + 20 | 0) >> 2] = i64toi32_i32$0; + $5 = ($4 << 2 | 0) + 117788 | 0; + label$101 : { + label$102 : { + label$103 : { + $7 = HEAP32[(0 + 117488 | 0) >> 2] | 0; + $8 = 1 << $4 | 0; + if ($7 & $8 | 0) { + break label$103 + } + HEAP32[(0 + 117488 | 0) >> 2] = $7 | $8 | 0; + HEAP32[$5 >> 2] = $3; + HEAP32[($3 + 24 | 0) >> 2] = $5; + break label$102; + } + $4 = $0 << (($4 | 0) == (31 | 0) ? 0 : 25 - ($4 >>> 1 | 0) | 0) | 0; + $7 = HEAP32[$5 >> 2] | 0; + label$104 : while (1) { + $5 = $7; + if (((HEAP32[($7 + 4 | 0) >> 2] | 0) & -8 | 0 | 0) == ($0 | 0)) { + break label$101 + } + $7 = $4 >>> 29 | 0; + $4 = $4 << 1 | 0; + $8 = ($5 + ($7 & 4 | 0) | 0) + 16 | 0; + $7 = HEAP32[$8 >> 2] | 0; + if ($7) { + continue label$104 + } + break label$104; + }; + HEAP32[$8 >> 2] = $3; + HEAP32[($3 + 24 | 0) >> 2] = $5; + } + HEAP32[($3 + 12 | 0) >> 2] = $3; + HEAP32[($3 + 8 | 0) >> 2] = $3; + break label$4; + } + $0 = HEAP32[($5 + 8 | 0) >> 2] | 0; + HEAP32[($0 + 12 | 0) >> 2] = $3; + HEAP32[($5 + 8 | 0) >> 2] = $3; + HEAP32[($3 + 24 | 0) >> 2] = 0; + HEAP32[($3 + 12 | 0) >> 2] = $5; + HEAP32[($3 + 8 | 0) >> 2] = $0; + } + $0 = $11 + 8 | 0; + break label$1; + } + label$105 : { + if (!$11) { + break label$105 + } + label$106 : { + label$107 : { + $5 = HEAP32[($8 + 28 | 0) >> 2] | 0; + $0 = ($5 << 2 | 0) + 117788 | 0; + if (($8 | 0) != (HEAP32[$0 >> 2] | 0 | 0)) { + break label$107 + } + HEAP32[$0 >> 2] = $7; + if ($7) { + break label$106 + } + $6 = $6 & (__wasm_rotl_i32(-2 | 0, $5 | 0) | 0) | 0; + HEAP32[(0 + 117488 | 0) >> 2] = $6; + break label$105; + } + HEAP32[($11 + ((HEAP32[($11 + 16 | 0) >> 2] | 0 | 0) == ($8 | 0) ? 16 : 20) | 0) >> 2] = $7; + if (!$7) { + break label$105 + } + } + HEAP32[($7 + 24 | 0) >> 2] = $11; + label$108 : { + $0 = HEAP32[($8 + 16 | 0) >> 2] | 0; + if (!$0) { + break label$108 + } + HEAP32[($7 + 16 | 0) >> 2] = $0; + HEAP32[($0 + 24 | 0) >> 2] = $7; + } + $0 = HEAP32[($8 + 20 | 0) >> 2] | 0; + if (!$0) { + break label$105 + } + HEAP32[($7 + 20 | 0) >> 2] = $0; + HEAP32[($0 + 24 | 0) >> 2] = $7; + } + label$109 : { + label$110 : { + if ($4 >>> 0 > 15 >>> 0) { + break label$110 + } + $0 = $4 + $3 | 0; + HEAP32[($8 + 4 | 0) >> 2] = $0 | 3 | 0; + $0 = $8 + $0 | 0; + HEAP32[($0 + 4 | 0) >> 2] = HEAP32[($0 + 4 | 0) >> 2] | 0 | 1 | 0; + break label$109; + } + HEAP32[($8 + 4 | 0) >> 2] = $3 | 3 | 0; + $7 = $8 + $3 | 0; + HEAP32[($7 + 4 | 0) >> 2] = $4 | 1 | 0; + HEAP32[($7 + $4 | 0) >> 2] = $4; + label$111 : { + if ($4 >>> 0 > 255 >>> 0) { + break label$111 + } + $0 = ($4 & -8 | 0) + 117524 | 0; + label$112 : { + label$113 : { + $5 = HEAP32[(0 + 117484 | 0) >> 2] | 0; + $4 = 1 << ($4 >>> 3 | 0) | 0; + if ($5 & $4 | 0) { + break label$113 + } + HEAP32[(0 + 117484 | 0) >> 2] = $5 | $4 | 0; + $4 = $0; + break label$112; + } + $4 = HEAP32[($0 + 8 | 0) >> 2] | 0; + } + HEAP32[($0 + 8 | 0) >> 2] = $7; + HEAP32[($4 + 12 | 0) >> 2] = $7; + HEAP32[($7 + 12 | 0) >> 2] = $0; + HEAP32[($7 + 8 | 0) >> 2] = $4; + break label$109; + } + $0 = 31; + label$114 : { + if ($4 >>> 0 > 16777215 >>> 0) { + break label$114 + } + $0 = Math_clz32($4 >>> 8 | 0); + $0 = ((($4 >>> (38 - $0 | 0) | 0) & 1 | 0) - ($0 << 1 | 0) | 0) + 62 | 0; + } + HEAP32[($7 + 28 | 0) >> 2] = $0; + i64toi32_i32$1 = $7; + i64toi32_i32$0 = 0; + HEAP32[($7 + 16 | 0) >> 2] = 0; + HEAP32[($7 + 20 | 0) >> 2] = i64toi32_i32$0; + $5 = ($0 << 2 | 0) + 117788 | 0; + label$115 : { + label$116 : { + label$117 : { + $3 = 1 << $0 | 0; + if ($6 & $3 | 0) { + break label$117 + } + HEAP32[(0 + 117488 | 0) >> 2] = $6 | $3 | 0; + HEAP32[$5 >> 2] = $7; + HEAP32[($7 + 24 | 0) >> 2] = $5; + break label$116; + } + $0 = $4 << (($0 | 0) == (31 | 0) ? 0 : 25 - ($0 >>> 1 | 0) | 0) | 0; + $3 = HEAP32[$5 >> 2] | 0; + label$118 : while (1) { + $5 = $3; + if (((HEAP32[($5 + 4 | 0) >> 2] | 0) & -8 | 0 | 0) == ($4 | 0)) { + break label$115 + } + $3 = $0 >>> 29 | 0; + $0 = $0 << 1 | 0; + $2 = ($5 + ($3 & 4 | 0) | 0) + 16 | 0; + $3 = HEAP32[$2 >> 2] | 0; + if ($3) { + continue label$118 + } + break label$118; + }; + HEAP32[$2 >> 2] = $7; + HEAP32[($7 + 24 | 0) >> 2] = $5; + } + HEAP32[($7 + 12 | 0) >> 2] = $7; + HEAP32[($7 + 8 | 0) >> 2] = $7; + break label$109; + } + $0 = HEAP32[($5 + 8 | 0) >> 2] | 0; + HEAP32[($0 + 12 | 0) >> 2] = $7; + HEAP32[($5 + 8 | 0) >> 2] = $7; + HEAP32[($7 + 24 | 0) >> 2] = 0; + HEAP32[($7 + 12 | 0) >> 2] = $5; + HEAP32[($7 + 8 | 0) >> 2] = $0; + } + $0 = $8 + 8 | 0; + break label$1; + } + label$119 : { + if (!$10) { + break label$119 + } + label$120 : { + label$121 : { + $5 = HEAP32[($7 + 28 | 0) >> 2] | 0; + $0 = ($5 << 2 | 0) + 117788 | 0; + if (($7 | 0) != (HEAP32[$0 >> 2] | 0 | 0)) { + break label$121 + } + HEAP32[$0 >> 2] = $8; + if ($8) { + break label$120 + } + (wasm2js_i32$0 = 0, wasm2js_i32$1 = $9 & (__wasm_rotl_i32(-2 | 0, $5 | 0) | 0) | 0), HEAP32[(wasm2js_i32$0 + 117488 | 0) >> 2] = wasm2js_i32$1; + break label$119; + } + HEAP32[($10 + ((HEAP32[($10 + 16 | 0) >> 2] | 0 | 0) == ($7 | 0) ? 16 : 20) | 0) >> 2] = $8; + if (!$8) { + break label$119 + } + } + HEAP32[($8 + 24 | 0) >> 2] = $10; + label$122 : { + $0 = HEAP32[($7 + 16 | 0) >> 2] | 0; + if (!$0) { + break label$122 + } + HEAP32[($8 + 16 | 0) >> 2] = $0; + HEAP32[($0 + 24 | 0) >> 2] = $8; + } + $0 = HEAP32[($7 + 20 | 0) >> 2] | 0; + if (!$0) { + break label$119 + } + HEAP32[($8 + 20 | 0) >> 2] = $0; + HEAP32[($0 + 24 | 0) >> 2] = $8; + } + label$123 : { + label$124 : { + if ($4 >>> 0 > 15 >>> 0) { + break label$124 + } + $0 = $4 + $3 | 0; + HEAP32[($7 + 4 | 0) >> 2] = $0 | 3 | 0; + $0 = $7 + $0 | 0; + HEAP32[($0 + 4 | 0) >> 2] = HEAP32[($0 + 4 | 0) >> 2] | 0 | 1 | 0; + break label$123; + } + HEAP32[($7 + 4 | 0) >> 2] = $3 | 3 | 0; + $5 = $7 + $3 | 0; + HEAP32[($5 + 4 | 0) >> 2] = $4 | 1 | 0; + HEAP32[($5 + $4 | 0) >> 2] = $4; + label$125 : { + if (!$6) { + break label$125 + } + $3 = ($6 & -8 | 0) + 117524 | 0; + $0 = HEAP32[(0 + 117504 | 0) >> 2] | 0; + label$126 : { + label$127 : { + $8 = 1 << ($6 >>> 3 | 0) | 0; + if ($8 & $2 | 0) { + break label$127 + } + HEAP32[(0 + 117484 | 0) >> 2] = $8 | $2 | 0; + $8 = $3; + break label$126; + } + $8 = HEAP32[($3 + 8 | 0) >> 2] | 0; + } + HEAP32[($3 + 8 | 0) >> 2] = $0; + HEAP32[($8 + 12 | 0) >> 2] = $0; + HEAP32[($0 + 12 | 0) >> 2] = $3; + HEAP32[($0 + 8 | 0) >> 2] = $8; + } + HEAP32[(0 + 117504 | 0) >> 2] = $5; + HEAP32[(0 + 117492 | 0) >> 2] = $4; + } + $0 = $7 + 8 | 0; + } + __stack_pointer = $1 + 16 | 0; + return $0 | 0; + } + + function dlfree($0) { + $0 = $0 | 0; + var $2 = 0, $1 = 0, $6 = 0, $4 = 0, $3 = 0, $5 = 0, $7 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + label$1 : { + if (!$0) { + break label$1 + } + $1 = $0 + -8 | 0; + $2 = HEAP32[($0 + -4 | 0) >> 2] | 0; + $0 = $2 & -8 | 0; + $3 = $1 + $0 | 0; + label$2 : { + if ($2 & 1 | 0) { + break label$2 + } + if (!($2 & 3 | 0)) { + break label$1 + } + $2 = HEAP32[$1 >> 2] | 0; + $1 = $1 - $2 | 0; + $4 = HEAP32[(0 + 117500 | 0) >> 2] | 0; + if ($1 >>> 0 < $4 >>> 0) { + break label$1 + } + $0 = $2 + $0 | 0; + label$3 : { + label$4 : { + label$5 : { + if (($1 | 0) == (HEAP32[(0 + 117504 | 0) >> 2] | 0 | 0)) { + break label$5 + } + label$6 : { + if ($2 >>> 0 > 255 >>> 0) { + break label$6 + } + $4 = HEAP32[($1 + 8 | 0) >> 2] | 0; + $5 = $2 >>> 3 | 0; + $6 = ($5 << 3 | 0) + 117524 | 0; + label$7 : { + $2 = HEAP32[($1 + 12 | 0) >> 2] | 0; + if (($2 | 0) != ($4 | 0)) { + break label$7 + } + (wasm2js_i32$0 = 0, wasm2js_i32$1 = (HEAP32[(0 + 117484 | 0) >> 2] | 0) & (__wasm_rotl_i32(-2 | 0, $5 | 0) | 0) | 0), HEAP32[(wasm2js_i32$0 + 117484 | 0) >> 2] = wasm2js_i32$1; + break label$2; + } + HEAP32[($4 + 12 | 0) >> 2] = $2; + HEAP32[($2 + 8 | 0) >> 2] = $4; + break label$2; + } + $7 = HEAP32[($1 + 24 | 0) >> 2] | 0; + label$8 : { + $6 = HEAP32[($1 + 12 | 0) >> 2] | 0; + if (($6 | 0) == ($1 | 0)) { + break label$8 + } + $2 = HEAP32[($1 + 8 | 0) >> 2] | 0; + HEAP32[($2 + 12 | 0) >> 2] = $6; + HEAP32[($6 + 8 | 0) >> 2] = $2; + break label$3; + } + label$9 : { + $4 = $1 + 20 | 0; + $2 = HEAP32[$4 >> 2] | 0; + if ($2) { + break label$9 + } + $2 = HEAP32[($1 + 16 | 0) >> 2] | 0; + if (!$2) { + break label$4 + } + $4 = $1 + 16 | 0; + } + label$10 : while (1) { + $5 = $4; + $6 = $2; + $4 = $2 + 20 | 0; + $2 = HEAP32[$4 >> 2] | 0; + if ($2) { + continue label$10 + } + $4 = $6 + 16 | 0; + $2 = HEAP32[($6 + 16 | 0) >> 2] | 0; + if ($2) { + continue label$10 + } + break label$10; + }; + HEAP32[$5 >> 2] = 0; + break label$3; + } + $2 = HEAP32[($3 + 4 | 0) >> 2] | 0; + if (($2 & 3 | 0 | 0) != (3 | 0)) { + break label$2 + } + HEAP32[(0 + 117492 | 0) >> 2] = $0; + HEAP32[($3 + 4 | 0) >> 2] = $2 & -2 | 0; + HEAP32[($1 + 4 | 0) >> 2] = $0 | 1 | 0; + HEAP32[$3 >> 2] = $0; + return; + } + $6 = 0; + } + if (!$7) { + break label$2 + } + label$11 : { + label$12 : { + $4 = HEAP32[($1 + 28 | 0) >> 2] | 0; + $2 = ($4 << 2 | 0) + 117788 | 0; + if (($1 | 0) != (HEAP32[$2 >> 2] | 0 | 0)) { + break label$12 + } + HEAP32[$2 >> 2] = $6; + if ($6) { + break label$11 + } + (wasm2js_i32$0 = 0, wasm2js_i32$1 = (HEAP32[(0 + 117488 | 0) >> 2] | 0) & (__wasm_rotl_i32(-2 | 0, $4 | 0) | 0) | 0), HEAP32[(wasm2js_i32$0 + 117488 | 0) >> 2] = wasm2js_i32$1; + break label$2; + } + HEAP32[($7 + ((HEAP32[($7 + 16 | 0) >> 2] | 0 | 0) == ($1 | 0) ? 16 : 20) | 0) >> 2] = $6; + if (!$6) { + break label$2 + } + } + HEAP32[($6 + 24 | 0) >> 2] = $7; + label$13 : { + $2 = HEAP32[($1 + 16 | 0) >> 2] | 0; + if (!$2) { + break label$13 + } + HEAP32[($6 + 16 | 0) >> 2] = $2; + HEAP32[($2 + 24 | 0) >> 2] = $6; + } + $2 = HEAP32[($1 + 20 | 0) >> 2] | 0; + if (!$2) { + break label$2 + } + HEAP32[($6 + 20 | 0) >> 2] = $2; + HEAP32[($2 + 24 | 0) >> 2] = $6; + } + if ($1 >>> 0 >= $3 >>> 0) { + break label$1 + } + $2 = HEAP32[($3 + 4 | 0) >> 2] | 0; + if (!($2 & 1 | 0)) { + break label$1 + } + label$14 : { + label$15 : { + label$16 : { + label$17 : { + label$18 : { + if ($2 & 2 | 0) { + break label$18 + } + label$19 : { + if (($3 | 0) != (HEAP32[(0 + 117508 | 0) >> 2] | 0 | 0)) { + break label$19 + } + HEAP32[(0 + 117508 | 0) >> 2] = $1; + $0 = (HEAP32[(0 + 117496 | 0) >> 2] | 0) + $0 | 0; + HEAP32[(0 + 117496 | 0) >> 2] = $0; + HEAP32[($1 + 4 | 0) >> 2] = $0 | 1 | 0; + if (($1 | 0) != (HEAP32[(0 + 117504 | 0) >> 2] | 0 | 0)) { + break label$1 + } + HEAP32[(0 + 117492 | 0) >> 2] = 0; + HEAP32[(0 + 117504 | 0) >> 2] = 0; + return; + } + label$20 : { + if (($3 | 0) != (HEAP32[(0 + 117504 | 0) >> 2] | 0 | 0)) { + break label$20 + } + HEAP32[(0 + 117504 | 0) >> 2] = $1; + $0 = (HEAP32[(0 + 117492 | 0) >> 2] | 0) + $0 | 0; + HEAP32[(0 + 117492 | 0) >> 2] = $0; + HEAP32[($1 + 4 | 0) >> 2] = $0 | 1 | 0; + HEAP32[($1 + $0 | 0) >> 2] = $0; + return; + } + $0 = ($2 & -8 | 0) + $0 | 0; + label$21 : { + if ($2 >>> 0 > 255 >>> 0) { + break label$21 + } + $4 = HEAP32[($3 + 8 | 0) >> 2] | 0; + $5 = $2 >>> 3 | 0; + $6 = ($5 << 3 | 0) + 117524 | 0; + label$22 : { + $2 = HEAP32[($3 + 12 | 0) >> 2] | 0; + if (($2 | 0) != ($4 | 0)) { + break label$22 + } + (wasm2js_i32$0 = 0, wasm2js_i32$1 = (HEAP32[(0 + 117484 | 0) >> 2] | 0) & (__wasm_rotl_i32(-2 | 0, $5 | 0) | 0) | 0), HEAP32[(wasm2js_i32$0 + 117484 | 0) >> 2] = wasm2js_i32$1; + break label$15; + } + HEAP32[($4 + 12 | 0) >> 2] = $2; + HEAP32[($2 + 8 | 0) >> 2] = $4; + break label$15; + } + $7 = HEAP32[($3 + 24 | 0) >> 2] | 0; + label$23 : { + $6 = HEAP32[($3 + 12 | 0) >> 2] | 0; + if (($6 | 0) == ($3 | 0)) { + break label$23 + } + $2 = HEAP32[($3 + 8 | 0) >> 2] | 0; + HEAP32[(0 + 117500 | 0) >> 2] | 0; + HEAP32[($2 + 12 | 0) >> 2] = $6; + HEAP32[($6 + 8 | 0) >> 2] = $2; + break label$16; + } + label$24 : { + $4 = $3 + 20 | 0; + $2 = HEAP32[$4 >> 2] | 0; + if ($2) { + break label$24 + } + $2 = HEAP32[($3 + 16 | 0) >> 2] | 0; + if (!$2) { + break label$17 + } + $4 = $3 + 16 | 0; + } + label$25 : while (1) { + $5 = $4; + $6 = $2; + $4 = $2 + 20 | 0; + $2 = HEAP32[$4 >> 2] | 0; + if ($2) { + continue label$25 + } + $4 = $6 + 16 | 0; + $2 = HEAP32[($6 + 16 | 0) >> 2] | 0; + if ($2) { + continue label$25 + } + break label$25; + }; + HEAP32[$5 >> 2] = 0; + break label$16; + } + HEAP32[($3 + 4 | 0) >> 2] = $2 & -2 | 0; + HEAP32[($1 + 4 | 0) >> 2] = $0 | 1 | 0; + HEAP32[($1 + $0 | 0) >> 2] = $0; + break label$14; + } + $6 = 0; + } + if (!$7) { + break label$15 + } + label$26 : { + label$27 : { + $4 = HEAP32[($3 + 28 | 0) >> 2] | 0; + $2 = ($4 << 2 | 0) + 117788 | 0; + if (($3 | 0) != (HEAP32[$2 >> 2] | 0 | 0)) { + break label$27 + } + HEAP32[$2 >> 2] = $6; + if ($6) { + break label$26 + } + (wasm2js_i32$0 = 0, wasm2js_i32$1 = (HEAP32[(0 + 117488 | 0) >> 2] | 0) & (__wasm_rotl_i32(-2 | 0, $4 | 0) | 0) | 0), HEAP32[(wasm2js_i32$0 + 117488 | 0) >> 2] = wasm2js_i32$1; + break label$15; + } + HEAP32[($7 + ((HEAP32[($7 + 16 | 0) >> 2] | 0 | 0) == ($3 | 0) ? 16 : 20) | 0) >> 2] = $6; + if (!$6) { + break label$15 + } + } + HEAP32[($6 + 24 | 0) >> 2] = $7; + label$28 : { + $2 = HEAP32[($3 + 16 | 0) >> 2] | 0; + if (!$2) { + break label$28 + } + HEAP32[($6 + 16 | 0) >> 2] = $2; + HEAP32[($2 + 24 | 0) >> 2] = $6; + } + $2 = HEAP32[($3 + 20 | 0) >> 2] | 0; + if (!$2) { + break label$15 + } + HEAP32[($6 + 20 | 0) >> 2] = $2; + HEAP32[($2 + 24 | 0) >> 2] = $6; + } + HEAP32[($1 + 4 | 0) >> 2] = $0 | 1 | 0; + HEAP32[($1 + $0 | 0) >> 2] = $0; + if (($1 | 0) != (HEAP32[(0 + 117504 | 0) >> 2] | 0 | 0)) { + break label$14 + } + HEAP32[(0 + 117492 | 0) >> 2] = $0; + return; + } + label$29 : { + if ($0 >>> 0 > 255 >>> 0) { + break label$29 + } + $2 = ($0 & -8 | 0) + 117524 | 0; + label$30 : { + label$31 : { + $4 = HEAP32[(0 + 117484 | 0) >> 2] | 0; + $0 = 1 << ($0 >>> 3 | 0) | 0; + if ($4 & $0 | 0) { + break label$31 + } + HEAP32[(0 + 117484 | 0) >> 2] = $4 | $0 | 0; + $0 = $2; + break label$30; + } + $0 = HEAP32[($2 + 8 | 0) >> 2] | 0; + } + HEAP32[($2 + 8 | 0) >> 2] = $1; + HEAP32[($0 + 12 | 0) >> 2] = $1; + HEAP32[($1 + 12 | 0) >> 2] = $2; + HEAP32[($1 + 8 | 0) >> 2] = $0; + return; + } + $2 = 31; + label$32 : { + if ($0 >>> 0 > 16777215 >>> 0) { + break label$32 + } + $2 = Math_clz32($0 >>> 8 | 0); + $2 = ((($0 >>> (38 - $2 | 0) | 0) & 1 | 0) - ($2 << 1 | 0) | 0) + 62 | 0; + } + HEAP32[($1 + 28 | 0) >> 2] = $2; + HEAP32[($1 + 16 | 0) >> 2] = 0; + HEAP32[($1 + 20 | 0) >> 2] = 0; + $4 = ($2 << 2 | 0) + 117788 | 0; + label$33 : { + label$34 : { + label$35 : { + label$36 : { + $6 = HEAP32[(0 + 117488 | 0) >> 2] | 0; + $3 = 1 << $2 | 0; + if ($6 & $3 | 0) { + break label$36 + } + HEAP32[(0 + 117488 | 0) >> 2] = $6 | $3 | 0; + HEAP32[$4 >> 2] = $1; + HEAP32[($1 + 24 | 0) >> 2] = $4; + break label$35; + } + $2 = $0 << (($2 | 0) == (31 | 0) ? 0 : 25 - ($2 >>> 1 | 0) | 0) | 0; + $6 = HEAP32[$4 >> 2] | 0; + label$37 : while (1) { + $4 = $6; + if (((HEAP32[($6 + 4 | 0) >> 2] | 0) & -8 | 0 | 0) == ($0 | 0)) { + break label$34 + } + $6 = $2 >>> 29 | 0; + $2 = $2 << 1 | 0; + $3 = ($4 + ($6 & 4 | 0) | 0) + 16 | 0; + $6 = HEAP32[$3 >> 2] | 0; + if ($6) { + continue label$37 + } + break label$37; + }; + HEAP32[$3 >> 2] = $1; + HEAP32[($1 + 24 | 0) >> 2] = $4; + } + HEAP32[($1 + 12 | 0) >> 2] = $1; + HEAP32[($1 + 8 | 0) >> 2] = $1; + break label$33; + } + $0 = HEAP32[($4 + 8 | 0) >> 2] | 0; + HEAP32[($0 + 12 | 0) >> 2] = $1; + HEAP32[($4 + 8 | 0) >> 2] = $1; + HEAP32[($1 + 24 | 0) >> 2] = 0; + HEAP32[($1 + 12 | 0) >> 2] = $4; + HEAP32[($1 + 8 | 0) >> 2] = $0; + } + $1 = (HEAP32[(0 + 117516 | 0) >> 2] | 0) + -1 | 0; + HEAP32[(0 + 117516 | 0) >> 2] = $1 ? $1 : -1; + } + } + + function internal_memalign($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $2 = 0, $3 = 0, $6 = 0, $4 = 0, $5 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $2 = 16; + label$1 : { + label$2 : { + $3 = $0 >>> 0 > 16 >>> 0 ? $0 : 16; + if ($3 & ($3 + -1 | 0) | 0) { + break label$2 + } + $0 = $3; + break label$1; + } + label$3 : while (1) { + $0 = $2; + $2 = $0 << 1 | 0; + if ($0 >>> 0 < $3 >>> 0) { + continue label$3 + } + break label$3; + }; + } + label$4 : { + if ((-64 - $0 | 0) >>> 0 > $1 >>> 0) { + break label$4 + } + (wasm2js_i32$0 = __errno_location() | 0, wasm2js_i32$1 = 48), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + return 0 | 0; + } + label$5 : { + $1 = $1 >>> 0 < 11 >>> 0 ? 16 : ($1 + 11 | 0) & -8 | 0; + $2 = dlmalloc(($1 + $0 | 0) + 12 | 0 | 0) | 0; + if ($2) { + break label$5 + } + return 0 | 0; + } + $3 = $2 + -8 | 0; + label$6 : { + label$7 : { + if (($0 + -1 | 0) & $2 | 0) { + break label$7 + } + $0 = $3; + break label$6; + } + $4 = $2 + -4 | 0; + $5 = HEAP32[$4 >> 2] | 0; + $2 = ((($2 + $0 | 0) + -1 | 0) & (0 - $0 | 0) | 0) + -8 | 0; + $0 = $2 + (($2 - $3 | 0) >>> 0 > 15 >>> 0 ? 0 : $0) | 0; + $2 = $0 - $3 | 0; + $6 = ($5 & -8 | 0) - $2 | 0; + label$8 : { + if ($5 & 3 | 0) { + break label$8 + } + $3 = HEAP32[$3 >> 2] | 0; + HEAP32[($0 + 4 | 0) >> 2] = $6; + HEAP32[$0 >> 2] = $3 + $2 | 0; + break label$6; + } + HEAP32[($0 + 4 | 0) >> 2] = $6 | ((HEAP32[($0 + 4 | 0) >> 2] | 0) & 1 | 0) | 0 | 2 | 0; + $6 = $0 + $6 | 0; + HEAP32[($6 + 4 | 0) >> 2] = HEAP32[($6 + 4 | 0) >> 2] | 0 | 1 | 0; + HEAP32[$4 >> 2] = $2 | ((HEAP32[$4 >> 2] | 0) & 1 | 0) | 0 | 2 | 0; + $6 = $3 + $2 | 0; + HEAP32[($6 + 4 | 0) >> 2] = HEAP32[($6 + 4 | 0) >> 2] | 0 | 1 | 0; + dispose_chunk($3 | 0, $2 | 0); + } + label$9 : { + $2 = HEAP32[($0 + 4 | 0) >> 2] | 0; + if (!($2 & 3 | 0)) { + break label$9 + } + $3 = $2 & -8 | 0; + if ($3 >>> 0 <= ($1 + 16 | 0) >>> 0) { + break label$9 + } + HEAP32[($0 + 4 | 0) >> 2] = $1 | ($2 & 1 | 0) | 0 | 2 | 0; + $2 = $0 + $1 | 0; + $1 = $3 - $1 | 0; + HEAP32[($2 + 4 | 0) >> 2] = $1 | 3 | 0; + $3 = $0 + $3 | 0; + HEAP32[($3 + 4 | 0) >> 2] = HEAP32[($3 + 4 | 0) >> 2] | 0 | 1 | 0; + dispose_chunk($2 | 0, $1 | 0); + } + return $0 + 8 | 0 | 0; + } + + function dlposix_memalign($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $3 = 0, $4 = 0; + label$1 : { + label$2 : { + label$3 : { + if (($1 | 0) != (8 | 0)) { + break label$3 + } + $1 = dlmalloc($2 | 0) | 0; + break label$2; + } + $3 = 28; + if ($1 >>> 0 < 4 >>> 0) { + break label$1 + } + if ($1 & 3 | 0) { + break label$1 + } + $4 = $1 >>> 2 | 0; + if ($4 & ($4 + -1 | 0) | 0) { + break label$1 + } + $3 = 48; + if ((-64 - $1 | 0) >>> 0 < $2 >>> 0) { + break label$1 + } + $1 = internal_memalign(($1 >>> 0 > 16 >>> 0 ? $1 : 16) | 0, $2 | 0) | 0; + } + label$4 : { + if ($1) { + break label$4 + } + return 48 | 0; + } + HEAP32[$0 >> 2] = $1; + $3 = 0; + } + return $3 | 0; + } + + function dispose_chunk($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $3 = 0, $6 = 0, $4 = 0, $2 = 0, $5 = 0, $7 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $2 = $0 + $1 | 0; + label$1 : { + label$2 : { + $3 = HEAP32[($0 + 4 | 0) >> 2] | 0; + if ($3 & 1 | 0) { + break label$2 + } + if (!($3 & 3 | 0)) { + break label$1 + } + $3 = HEAP32[$0 >> 2] | 0; + $1 = $3 + $1 | 0; + label$3 : { + label$4 : { + label$5 : { + label$6 : { + $0 = $0 - $3 | 0; + if (($0 | 0) == (HEAP32[(0 + 117504 | 0) >> 2] | 0 | 0)) { + break label$6 + } + label$7 : { + if ($3 >>> 0 > 255 >>> 0) { + break label$7 + } + $4 = HEAP32[($0 + 8 | 0) >> 2] | 0; + $5 = $3 >>> 3 | 0; + $6 = ($5 << 3 | 0) + 117524 | 0; + $3 = HEAP32[($0 + 12 | 0) >> 2] | 0; + if (($3 | 0) != ($4 | 0)) { + break label$5 + } + (wasm2js_i32$0 = 0, wasm2js_i32$1 = (HEAP32[(0 + 117484 | 0) >> 2] | 0) & (__wasm_rotl_i32(-2 | 0, $5 | 0) | 0) | 0), HEAP32[(wasm2js_i32$0 + 117484 | 0) >> 2] = wasm2js_i32$1; + break label$2; + } + $7 = HEAP32[($0 + 24 | 0) >> 2] | 0; + label$8 : { + $6 = HEAP32[($0 + 12 | 0) >> 2] | 0; + if (($6 | 0) == ($0 | 0)) { + break label$8 + } + $3 = HEAP32[($0 + 8 | 0) >> 2] | 0; + HEAP32[(0 + 117500 | 0) >> 2] | 0; + HEAP32[($3 + 12 | 0) >> 2] = $6; + HEAP32[($6 + 8 | 0) >> 2] = $3; + break label$3; + } + label$9 : { + $4 = $0 + 20 | 0; + $3 = HEAP32[$4 >> 2] | 0; + if ($3) { + break label$9 + } + $3 = HEAP32[($0 + 16 | 0) >> 2] | 0; + if (!$3) { + break label$4 + } + $4 = $0 + 16 | 0; + } + label$10 : while (1) { + $5 = $4; + $6 = $3; + $4 = $3 + 20 | 0; + $3 = HEAP32[$4 >> 2] | 0; + if ($3) { + continue label$10 + } + $4 = $6 + 16 | 0; + $3 = HEAP32[($6 + 16 | 0) >> 2] | 0; + if ($3) { + continue label$10 + } + break label$10; + }; + HEAP32[$5 >> 2] = 0; + break label$3; + } + $3 = HEAP32[($2 + 4 | 0) >> 2] | 0; + if (($3 & 3 | 0 | 0) != (3 | 0)) { + break label$2 + } + HEAP32[(0 + 117492 | 0) >> 2] = $1; + HEAP32[($2 + 4 | 0) >> 2] = $3 & -2 | 0; + HEAP32[($0 + 4 | 0) >> 2] = $1 | 1 | 0; + HEAP32[$2 >> 2] = $1; + return; + } + HEAP32[($4 + 12 | 0) >> 2] = $3; + HEAP32[($3 + 8 | 0) >> 2] = $4; + break label$2; + } + $6 = 0; + } + if (!$7) { + break label$2 + } + label$11 : { + label$12 : { + $4 = HEAP32[($0 + 28 | 0) >> 2] | 0; + $3 = ($4 << 2 | 0) + 117788 | 0; + if (($0 | 0) != (HEAP32[$3 >> 2] | 0 | 0)) { + break label$12 + } + HEAP32[$3 >> 2] = $6; + if ($6) { + break label$11 + } + (wasm2js_i32$0 = 0, wasm2js_i32$1 = (HEAP32[(0 + 117488 | 0) >> 2] | 0) & (__wasm_rotl_i32(-2 | 0, $4 | 0) | 0) | 0), HEAP32[(wasm2js_i32$0 + 117488 | 0) >> 2] = wasm2js_i32$1; + break label$2; + } + HEAP32[($7 + ((HEAP32[($7 + 16 | 0) >> 2] | 0 | 0) == ($0 | 0) ? 16 : 20) | 0) >> 2] = $6; + if (!$6) { + break label$2 + } + } + HEAP32[($6 + 24 | 0) >> 2] = $7; + label$13 : { + $3 = HEAP32[($0 + 16 | 0) >> 2] | 0; + if (!$3) { + break label$13 + } + HEAP32[($6 + 16 | 0) >> 2] = $3; + HEAP32[($3 + 24 | 0) >> 2] = $6; + } + $3 = HEAP32[($0 + 20 | 0) >> 2] | 0; + if (!$3) { + break label$2 + } + HEAP32[($6 + 20 | 0) >> 2] = $3; + HEAP32[($3 + 24 | 0) >> 2] = $6; + } + label$14 : { + label$15 : { + label$16 : { + label$17 : { + label$18 : { + $3 = HEAP32[($2 + 4 | 0) >> 2] | 0; + if ($3 & 2 | 0) { + break label$18 + } + label$19 : { + if (($2 | 0) != (HEAP32[(0 + 117508 | 0) >> 2] | 0 | 0)) { + break label$19 + } + HEAP32[(0 + 117508 | 0) >> 2] = $0; + $1 = (HEAP32[(0 + 117496 | 0) >> 2] | 0) + $1 | 0; + HEAP32[(0 + 117496 | 0) >> 2] = $1; + HEAP32[($0 + 4 | 0) >> 2] = $1 | 1 | 0; + if (($0 | 0) != (HEAP32[(0 + 117504 | 0) >> 2] | 0 | 0)) { + break label$1 + } + HEAP32[(0 + 117492 | 0) >> 2] = 0; + HEAP32[(0 + 117504 | 0) >> 2] = 0; + return; + } + label$20 : { + if (($2 | 0) != (HEAP32[(0 + 117504 | 0) >> 2] | 0 | 0)) { + break label$20 + } + HEAP32[(0 + 117504 | 0) >> 2] = $0; + $1 = (HEAP32[(0 + 117492 | 0) >> 2] | 0) + $1 | 0; + HEAP32[(0 + 117492 | 0) >> 2] = $1; + HEAP32[($0 + 4 | 0) >> 2] = $1 | 1 | 0; + HEAP32[($0 + $1 | 0) >> 2] = $1; + return; + } + $1 = ($3 & -8 | 0) + $1 | 0; + label$21 : { + if ($3 >>> 0 > 255 >>> 0) { + break label$21 + } + $4 = HEAP32[($2 + 8 | 0) >> 2] | 0; + $5 = $3 >>> 3 | 0; + $6 = ($5 << 3 | 0) + 117524 | 0; + label$22 : { + $3 = HEAP32[($2 + 12 | 0) >> 2] | 0; + if (($3 | 0) != ($4 | 0)) { + break label$22 + } + (wasm2js_i32$0 = 0, wasm2js_i32$1 = (HEAP32[(0 + 117484 | 0) >> 2] | 0) & (__wasm_rotl_i32(-2 | 0, $5 | 0) | 0) | 0), HEAP32[(wasm2js_i32$0 + 117484 | 0) >> 2] = wasm2js_i32$1; + break label$15; + } + HEAP32[($4 + 12 | 0) >> 2] = $3; + HEAP32[($3 + 8 | 0) >> 2] = $4; + break label$15; + } + $7 = HEAP32[($2 + 24 | 0) >> 2] | 0; + label$23 : { + $6 = HEAP32[($2 + 12 | 0) >> 2] | 0; + if (($6 | 0) == ($2 | 0)) { + break label$23 + } + $3 = HEAP32[($2 + 8 | 0) >> 2] | 0; + HEAP32[(0 + 117500 | 0) >> 2] | 0; + HEAP32[($3 + 12 | 0) >> 2] = $6; + HEAP32[($6 + 8 | 0) >> 2] = $3; + break label$16; + } + label$24 : { + $4 = $2 + 20 | 0; + $3 = HEAP32[$4 >> 2] | 0; + if ($3) { + break label$24 + } + $3 = HEAP32[($2 + 16 | 0) >> 2] | 0; + if (!$3) { + break label$17 + } + $4 = $2 + 16 | 0; + } + label$25 : while (1) { + $5 = $4; + $6 = $3; + $4 = $3 + 20 | 0; + $3 = HEAP32[$4 >> 2] | 0; + if ($3) { + continue label$25 + } + $4 = $6 + 16 | 0; + $3 = HEAP32[($6 + 16 | 0) >> 2] | 0; + if ($3) { + continue label$25 + } + break label$25; + }; + HEAP32[$5 >> 2] = 0; + break label$16; + } + HEAP32[($2 + 4 | 0) >> 2] = $3 & -2 | 0; + HEAP32[($0 + 4 | 0) >> 2] = $1 | 1 | 0; + HEAP32[($0 + $1 | 0) >> 2] = $1; + break label$14; + } + $6 = 0; + } + if (!$7) { + break label$15 + } + label$26 : { + label$27 : { + $4 = HEAP32[($2 + 28 | 0) >> 2] | 0; + $3 = ($4 << 2 | 0) + 117788 | 0; + if (($2 | 0) != (HEAP32[$3 >> 2] | 0 | 0)) { + break label$27 + } + HEAP32[$3 >> 2] = $6; + if ($6) { + break label$26 + } + (wasm2js_i32$0 = 0, wasm2js_i32$1 = (HEAP32[(0 + 117488 | 0) >> 2] | 0) & (__wasm_rotl_i32(-2 | 0, $4 | 0) | 0) | 0), HEAP32[(wasm2js_i32$0 + 117488 | 0) >> 2] = wasm2js_i32$1; + break label$15; + } + HEAP32[($7 + ((HEAP32[($7 + 16 | 0) >> 2] | 0 | 0) == ($2 | 0) ? 16 : 20) | 0) >> 2] = $6; + if (!$6) { + break label$15 + } + } + HEAP32[($6 + 24 | 0) >> 2] = $7; + label$28 : { + $3 = HEAP32[($2 + 16 | 0) >> 2] | 0; + if (!$3) { + break label$28 + } + HEAP32[($6 + 16 | 0) >> 2] = $3; + HEAP32[($3 + 24 | 0) >> 2] = $6; + } + $3 = HEAP32[($2 + 20 | 0) >> 2] | 0; + if (!$3) { + break label$15 + } + HEAP32[($6 + 20 | 0) >> 2] = $3; + HEAP32[($3 + 24 | 0) >> 2] = $6; + } + HEAP32[($0 + 4 | 0) >> 2] = $1 | 1 | 0; + HEAP32[($0 + $1 | 0) >> 2] = $1; + if (($0 | 0) != (HEAP32[(0 + 117504 | 0) >> 2] | 0 | 0)) { + break label$14 + } + HEAP32[(0 + 117492 | 0) >> 2] = $1; + return; + } + label$29 : { + if ($1 >>> 0 > 255 >>> 0) { + break label$29 + } + $3 = ($1 & -8 | 0) + 117524 | 0; + label$30 : { + label$31 : { + $4 = HEAP32[(0 + 117484 | 0) >> 2] | 0; + $1 = 1 << ($1 >>> 3 | 0) | 0; + if ($4 & $1 | 0) { + break label$31 + } + HEAP32[(0 + 117484 | 0) >> 2] = $4 | $1 | 0; + $1 = $3; + break label$30; + } + $1 = HEAP32[($3 + 8 | 0) >> 2] | 0; + } + HEAP32[($3 + 8 | 0) >> 2] = $0; + HEAP32[($1 + 12 | 0) >> 2] = $0; + HEAP32[($0 + 12 | 0) >> 2] = $3; + HEAP32[($0 + 8 | 0) >> 2] = $1; + return; + } + $3 = 31; + label$32 : { + if ($1 >>> 0 > 16777215 >>> 0) { + break label$32 + } + $3 = Math_clz32($1 >>> 8 | 0); + $3 = ((($1 >>> (38 - $3 | 0) | 0) & 1 | 0) - ($3 << 1 | 0) | 0) + 62 | 0; + } + HEAP32[($0 + 28 | 0) >> 2] = $3; + HEAP32[($0 + 16 | 0) >> 2] = 0; + HEAP32[($0 + 20 | 0) >> 2] = 0; + $4 = ($3 << 2 | 0) + 117788 | 0; + label$33 : { + label$34 : { + label$35 : { + $6 = HEAP32[(0 + 117488 | 0) >> 2] | 0; + $2 = 1 << $3 | 0; + if ($6 & $2 | 0) { + break label$35 + } + HEAP32[(0 + 117488 | 0) >> 2] = $6 | $2 | 0; + HEAP32[$4 >> 2] = $0; + HEAP32[($0 + 24 | 0) >> 2] = $4; + break label$34; + } + $3 = $1 << (($3 | 0) == (31 | 0) ? 0 : 25 - ($3 >>> 1 | 0) | 0) | 0; + $6 = HEAP32[$4 >> 2] | 0; + label$36 : while (1) { + $4 = $6; + if (((HEAP32[($6 + 4 | 0) >> 2] | 0) & -8 | 0 | 0) == ($1 | 0)) { + break label$33 + } + $6 = $3 >>> 29 | 0; + $3 = $3 << 1 | 0; + $2 = ($4 + ($6 & 4 | 0) | 0) + 16 | 0; + $6 = HEAP32[$2 >> 2] | 0; + if ($6) { + continue label$36 + } + break label$36; + }; + HEAP32[$2 >> 2] = $0; + HEAP32[($0 + 24 | 0) >> 2] = $4; + } + HEAP32[($0 + 12 | 0) >> 2] = $0; + HEAP32[($0 + 8 | 0) >> 2] = $0; + return; + } + $1 = HEAP32[($4 + 8 | 0) >> 2] | 0; + HEAP32[($1 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $0; + HEAP32[($0 + 24 | 0) >> 2] = 0; + HEAP32[($0 + 12 | 0) >> 2] = $4; + HEAP32[($0 + 8 | 0) >> 2] = $1; + } + } + + function __ashlti3($0, $1, $1$hi, $2, $2$hi, $3) { + $0 = $0 | 0; + $1 = $1 | 0; + $1$hi = $1$hi | 0; + $2 = $2 | 0; + $2$hi = $2$hi | 0; + $3 = $3 | 0; + var i64toi32_i32$1 = 0, i64toi32_i32$4 = 0, i64toi32_i32$2 = 0, i64toi32_i32$0 = 0, i64toi32_i32$3 = 0, $4$hi = 0, $18 = 0, $20 = 0, $21 = 0, $22 = 0, $11$hi = 0, $18$hi = 0, $19 = 0, $19$hi = 0, $4 = 0, $24$hi = 0; + label$1 : { + label$2 : { + if (!($3 & 64 | 0)) { + break label$2 + } + i64toi32_i32$0 = $1$hi; + i64toi32_i32$0 = 0; + $11$hi = i64toi32_i32$0; + i64toi32_i32$0 = $1$hi; + i64toi32_i32$2 = $1; + i64toi32_i32$1 = $11$hi; + i64toi32_i32$3 = $3 + -64 | 0; + i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4 | 0; + $18 = 0; + } else { + i64toi32_i32$1 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$0 << i64toi32_i32$4 | 0) | 0; + $18 = i64toi32_i32$2 << i64toi32_i32$4 | 0; + } + $2 = $18; + $2$hi = i64toi32_i32$1; + i64toi32_i32$1 = 0; + $1 = 0; + $1$hi = i64toi32_i32$1; + break label$1; + } + if (!$3) { + break label$1 + } + i64toi32_i32$1 = $1$hi; + i64toi32_i32$1 = 0; + $18$hi = i64toi32_i32$1; + i64toi32_i32$1 = $1$hi; + i64toi32_i32$0 = $1; + i64toi32_i32$2 = $18$hi; + i64toi32_i32$3 = 64 - $3 | 0; + i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + i64toi32_i32$2 = 0; + $20 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0; + } else { + i64toi32_i32$2 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0; + $20 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$1 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$0 >>> i64toi32_i32$4 | 0) | 0; + } + $19 = $20; + $19$hi = i64toi32_i32$2; + i64toi32_i32$2 = $2$hi; + i64toi32_i32$2 = 0; + $4 = $3; + $4$hi = i64toi32_i32$2; + i64toi32_i32$2 = $2$hi; + i64toi32_i32$1 = $2; + i64toi32_i32$0 = $4$hi; + i64toi32_i32$3 = $3; + i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + i64toi32_i32$0 = i64toi32_i32$1 << i64toi32_i32$4 | 0; + $21 = 0; + } else { + i64toi32_i32$0 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$1 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$2 << i64toi32_i32$4 | 0) | 0; + $21 = i64toi32_i32$1 << i64toi32_i32$4 | 0; + } + $24$hi = i64toi32_i32$0; + i64toi32_i32$0 = $19$hi; + i64toi32_i32$2 = $19; + i64toi32_i32$1 = $24$hi; + i64toi32_i32$3 = $21; + i64toi32_i32$1 = i64toi32_i32$0 | i64toi32_i32$1 | 0; + $2 = i64toi32_i32$2 | i64toi32_i32$3 | 0; + $2$hi = i64toi32_i32$1; + i64toi32_i32$1 = $1$hi; + i64toi32_i32$1 = $4$hi; + i64toi32_i32$1 = $1$hi; + i64toi32_i32$0 = $1; + i64toi32_i32$2 = $4$hi; + i64toi32_i32$3 = $4; + i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + i64toi32_i32$2 = i64toi32_i32$0 << i64toi32_i32$4 | 0; + $22 = 0; + } else { + i64toi32_i32$2 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$0 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$1 << i64toi32_i32$4 | 0) | 0; + $22 = i64toi32_i32$0 << i64toi32_i32$4 | 0; + } + $1 = $22; + $1$hi = i64toi32_i32$2; + } + i64toi32_i32$2 = $1$hi; + i64toi32_i32$0 = $0; + HEAP32[i64toi32_i32$0 >> 2] = $1; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$2; + i64toi32_i32$2 = $2$hi; + HEAP32[(i64toi32_i32$0 + 8 | 0) >> 2] = $2; + HEAP32[(i64toi32_i32$0 + 12 | 0) >> 2] = i64toi32_i32$2; + } + + function __lshrti3($0, $1, $1$hi, $2, $2$hi, $3) { + $0 = $0 | 0; + $1 = $1 | 0; + $1$hi = $1$hi | 0; + $2 = $2 | 0; + $2$hi = $2$hi | 0; + $3 = $3 | 0; + var i64toi32_i32$0 = 0, i64toi32_i32$4 = 0, i64toi32_i32$2 = 0, i64toi32_i32$1 = 0, i64toi32_i32$3 = 0, $4$hi = 0, $18 = 0, $20 = 0, $21 = 0, $22 = 0, $11$hi = 0, $18$hi = 0, $19 = 0, $19$hi = 0, $4 = 0, $24$hi = 0; + label$1 : { + label$2 : { + if (!($3 & 64 | 0)) { + break label$2 + } + i64toi32_i32$0 = $2$hi; + i64toi32_i32$0 = 0; + $11$hi = i64toi32_i32$0; + i64toi32_i32$0 = $2$hi; + i64toi32_i32$2 = $2; + i64toi32_i32$1 = $11$hi; + i64toi32_i32$3 = $3 + -64 | 0; + i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + i64toi32_i32$1 = 0; + $18 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0; + } else { + i64toi32_i32$1 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0; + $18 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$0 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$2 >>> i64toi32_i32$4 | 0) | 0; + } + $1 = $18; + $1$hi = i64toi32_i32$1; + i64toi32_i32$1 = 0; + $2 = 0; + $2$hi = i64toi32_i32$1; + break label$1; + } + if (!$3) { + break label$1 + } + i64toi32_i32$1 = $2$hi; + i64toi32_i32$1 = 0; + $18$hi = i64toi32_i32$1; + i64toi32_i32$1 = $2$hi; + i64toi32_i32$0 = $2; + i64toi32_i32$2 = $18$hi; + i64toi32_i32$3 = 64 - $3 | 0; + i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + i64toi32_i32$2 = i64toi32_i32$0 << i64toi32_i32$4 | 0; + $20 = 0; + } else { + i64toi32_i32$2 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$0 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$1 << i64toi32_i32$4 | 0) | 0; + $20 = i64toi32_i32$0 << i64toi32_i32$4 | 0; + } + $19 = $20; + $19$hi = i64toi32_i32$2; + i64toi32_i32$2 = $1$hi; + i64toi32_i32$2 = 0; + $4 = $3; + $4$hi = i64toi32_i32$2; + i64toi32_i32$2 = $1$hi; + i64toi32_i32$1 = $1; + i64toi32_i32$0 = $4$hi; + i64toi32_i32$3 = $3; + i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + i64toi32_i32$0 = 0; + $21 = i64toi32_i32$2 >>> i64toi32_i32$4 | 0; + } else { + i64toi32_i32$0 = i64toi32_i32$2 >>> i64toi32_i32$4 | 0; + $21 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$2 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$1 >>> i64toi32_i32$4 | 0) | 0; + } + $24$hi = i64toi32_i32$0; + i64toi32_i32$0 = $19$hi; + i64toi32_i32$2 = $19; + i64toi32_i32$1 = $24$hi; + i64toi32_i32$3 = $21; + i64toi32_i32$1 = i64toi32_i32$0 | i64toi32_i32$1 | 0; + $1 = i64toi32_i32$2 | i64toi32_i32$3 | 0; + $1$hi = i64toi32_i32$1; + i64toi32_i32$1 = $2$hi; + i64toi32_i32$1 = $4$hi; + i64toi32_i32$1 = $2$hi; + i64toi32_i32$0 = $2; + i64toi32_i32$2 = $4$hi; + i64toi32_i32$3 = $4; + i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + i64toi32_i32$2 = 0; + $22 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0; + } else { + i64toi32_i32$2 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0; + $22 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$1 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$0 >>> i64toi32_i32$4 | 0) | 0; + } + $2 = $22; + $2$hi = i64toi32_i32$2; + } + i64toi32_i32$2 = $1$hi; + i64toi32_i32$0 = $0; + HEAP32[i64toi32_i32$0 >> 2] = $1; + HEAP32[(i64toi32_i32$0 + 4 | 0) >> 2] = i64toi32_i32$2; + i64toi32_i32$2 = $2$hi; + HEAP32[(i64toi32_i32$0 + 8 | 0) >> 2] = $2; + HEAP32[(i64toi32_i32$0 + 12 | 0) >> 2] = i64toi32_i32$2; + } + + function __trunctfdf2($0, $0$hi, $1, $1$hi) { + $0 = $0 | 0; + $0$hi = $0$hi | 0; + $1 = $1 | 0; + $1$hi = $1$hi | 0; + var i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, i64toi32_i32$4 = 0, i64toi32_i32$5 = 0, i64toi32_i32$3 = 0, i64toi32_i32$1 = 0, $3 = 0, $3$hi = 0, $4$hi = 0, $4 = 0, $2 = 0, $5 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $50 = 0, $12 = 0, $12$hi = 0, $14$hi = 0, $17 = 0, $17$hi = 0, $19$hi = 0, $33 = 0, $33$hi = 0, $36 = 0, $38 = 0, $43 = 0, $43$hi = 0, $45$hi = 0, $73 = 0, $73$hi = 0, $77$hi = 0, $80 = 0, $80$hi = 0, $82 = 0, $82$hi = 0, $86 = 0, $86$hi = 0, $88 = 0, $89$hi = 0, $98$hi = 0, $105 = 0, $105$hi = 0; + $2 = __stack_pointer - 32 | 0; + __stack_pointer = $2; + label$1 : { + label$2 : { + i64toi32_i32$0 = $1$hi; + i64toi32_i32$2 = $1; + i64toi32_i32$1 = 2147483647; + i64toi32_i32$3 = -1; + i64toi32_i32$1 = i64toi32_i32$0 & i64toi32_i32$1 | 0; + $3 = i64toi32_i32$2 & i64toi32_i32$3 | 0; + $3$hi = i64toi32_i32$1; + i64toi32_i32$0 = $3; + i64toi32_i32$2 = -1006698496; + i64toi32_i32$3 = 0; + i64toi32_i32$4 = i64toi32_i32$0 + i64toi32_i32$3 | 0; + i64toi32_i32$5 = i64toi32_i32$1 + i64toi32_i32$2 | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + $12 = i64toi32_i32$4; + $12$hi = i64toi32_i32$5; + i64toi32_i32$5 = $3$hi; + i64toi32_i32$1 = $3; + i64toi32_i32$0 = -1140785152; + i64toi32_i32$3 = 0; + i64toi32_i32$2 = i64toi32_i32$1 + i64toi32_i32$3 | 0; + i64toi32_i32$4 = i64toi32_i32$5 + i64toi32_i32$0 | 0; + if (i64toi32_i32$2 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$4 = i64toi32_i32$4 + 1 | 0 + } + $14$hi = i64toi32_i32$4; + i64toi32_i32$4 = $12$hi; + i64toi32_i32$5 = $12; + i64toi32_i32$1 = $14$hi; + i64toi32_i32$3 = i64toi32_i32$2; + if (i64toi32_i32$4 >>> 0 > i64toi32_i32$1 >>> 0 | ((i64toi32_i32$4 | 0) == (i64toi32_i32$1 | 0) & i64toi32_i32$5 >>> 0 >= i64toi32_i32$2 >>> 0 | 0) | 0) { + break label$2 + } + i64toi32_i32$5 = $0$hi; + i64toi32_i32$3 = $0; + i64toi32_i32$4 = 0; + i64toi32_i32$1 = 60; + i64toi32_i32$0 = i64toi32_i32$1 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$1 & 63 | 0) >>> 0) { + i64toi32_i32$4 = 0; + $44 = i64toi32_i32$5 >>> i64toi32_i32$0 | 0; + } else { + i64toi32_i32$4 = i64toi32_i32$5 >>> i64toi32_i32$0 | 0; + $44 = (((1 << i64toi32_i32$0 | 0) - 1 | 0) & i64toi32_i32$5 | 0) << (32 - i64toi32_i32$0 | 0) | 0 | (i64toi32_i32$3 >>> i64toi32_i32$0 | 0) | 0; + } + $17 = $44; + $17$hi = i64toi32_i32$4; + i64toi32_i32$4 = $1$hi; + i64toi32_i32$5 = $1; + i64toi32_i32$3 = 0; + i64toi32_i32$1 = 4; + i64toi32_i32$0 = i64toi32_i32$1 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$1 & 63 | 0) >>> 0) { + i64toi32_i32$3 = i64toi32_i32$5 << i64toi32_i32$0 | 0; + $45 = 0; + } else { + i64toi32_i32$3 = ((1 << i64toi32_i32$0 | 0) - 1 | 0) & (i64toi32_i32$5 >>> (32 - i64toi32_i32$0 | 0) | 0) | 0 | (i64toi32_i32$4 << i64toi32_i32$0 | 0) | 0; + $45 = i64toi32_i32$5 << i64toi32_i32$0 | 0; + } + $19$hi = i64toi32_i32$3; + i64toi32_i32$3 = $17$hi; + i64toi32_i32$4 = $17; + i64toi32_i32$5 = $19$hi; + i64toi32_i32$1 = $45; + i64toi32_i32$5 = i64toi32_i32$3 | i64toi32_i32$5 | 0; + $3 = i64toi32_i32$4 | i64toi32_i32$1 | 0; + $3$hi = i64toi32_i32$5; + label$3 : { + i64toi32_i32$5 = $0$hi; + i64toi32_i32$3 = $0; + i64toi32_i32$4 = 268435455; + i64toi32_i32$1 = -1; + i64toi32_i32$4 = i64toi32_i32$5 & i64toi32_i32$4 | 0; + $0 = i64toi32_i32$3 & i64toi32_i32$1 | 0; + $0$hi = i64toi32_i32$4; + i64toi32_i32$5 = $0; + i64toi32_i32$3 = 134217728; + i64toi32_i32$1 = 1; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$3 >>> 0 | ((i64toi32_i32$4 | 0) == (i64toi32_i32$3 | 0) & i64toi32_i32$5 >>> 0 < i64toi32_i32$1 >>> 0 | 0) | 0) { + break label$3 + } + i64toi32_i32$5 = $3$hi; + i64toi32_i32$1 = $3; + i64toi32_i32$4 = 1073741824; + i64toi32_i32$3 = 1; + i64toi32_i32$0 = i64toi32_i32$1 + i64toi32_i32$3 | 0; + i64toi32_i32$2 = i64toi32_i32$5 + i64toi32_i32$4 | 0; + if (i64toi32_i32$0 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$2 = i64toi32_i32$2 + 1 | 0 + } + $4 = i64toi32_i32$0; + $4$hi = i64toi32_i32$2; + break label$1; + } + i64toi32_i32$2 = $3$hi; + i64toi32_i32$5 = $3; + i64toi32_i32$1 = 1073741824; + i64toi32_i32$3 = 0; + i64toi32_i32$4 = i64toi32_i32$5 + i64toi32_i32$3 | 0; + i64toi32_i32$0 = i64toi32_i32$2 + i64toi32_i32$1 | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$3 >>> 0) { + i64toi32_i32$0 = i64toi32_i32$0 + 1 | 0 + } + $4 = i64toi32_i32$4; + $4$hi = i64toi32_i32$0; + i64toi32_i32$0 = $0$hi; + i64toi32_i32$2 = $0; + i64toi32_i32$5 = 134217728; + i64toi32_i32$3 = 0; + if ((i64toi32_i32$2 | 0) != (i64toi32_i32$3 | 0) | (i64toi32_i32$0 | 0) != (i64toi32_i32$5 | 0) | 0) { + break label$1 + } + i64toi32_i32$2 = $4$hi; + i64toi32_i32$2 = $3$hi; + i64toi32_i32$3 = $3; + i64toi32_i32$0 = 0; + i64toi32_i32$5 = 1; + i64toi32_i32$0 = i64toi32_i32$2 & i64toi32_i32$0 | 0; + $33 = i64toi32_i32$3 & i64toi32_i32$5 | 0; + $33$hi = i64toi32_i32$0; + i64toi32_i32$0 = $4$hi; + i64toi32_i32$2 = $4; + i64toi32_i32$3 = $33$hi; + i64toi32_i32$5 = $33; + i64toi32_i32$1 = i64toi32_i32$2 + i64toi32_i32$5 | 0; + i64toi32_i32$4 = i64toi32_i32$0 + i64toi32_i32$3 | 0; + if (i64toi32_i32$1 >>> 0 < i64toi32_i32$5 >>> 0) { + i64toi32_i32$4 = i64toi32_i32$4 + 1 | 0 + } + $4 = i64toi32_i32$1; + $4$hi = i64toi32_i32$4; + break label$1; + } + label$4 : { + i64toi32_i32$4 = $0$hi; + $36 = !($0 | i64toi32_i32$4 | 0); + i64toi32_i32$4 = $3$hi; + i64toi32_i32$0 = $3; + i64toi32_i32$2 = 2147418112; + i64toi32_i32$5 = 0; + $38 = i64toi32_i32$4 >>> 0 < i64toi32_i32$2 >>> 0 | ((i64toi32_i32$4 | 0) == (i64toi32_i32$2 | 0) & i64toi32_i32$0 >>> 0 < i64toi32_i32$5 >>> 0 | 0) | 0; + i64toi32_i32$0 = i64toi32_i32$4; + i64toi32_i32$5 = $3; + i64toi32_i32$4 = 2147418112; + i64toi32_i32$2 = 0; + if ((i64toi32_i32$5 | 0) == (i64toi32_i32$2 | 0) & (i64toi32_i32$0 | 0) == (i64toi32_i32$4 | 0) | 0 ? $36 : $38) { + break label$4 + } + i64toi32_i32$5 = $0$hi; + i64toi32_i32$2 = $0; + i64toi32_i32$0 = 0; + i64toi32_i32$4 = 60; + i64toi32_i32$3 = i64toi32_i32$4 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$4 & 63 | 0) >>> 0) { + i64toi32_i32$0 = 0; + $46 = i64toi32_i32$5 >>> i64toi32_i32$3 | 0; + } else { + i64toi32_i32$0 = i64toi32_i32$5 >>> i64toi32_i32$3 | 0; + $46 = (((1 << i64toi32_i32$3 | 0) - 1 | 0) & i64toi32_i32$5 | 0) << (32 - i64toi32_i32$3 | 0) | 0 | (i64toi32_i32$2 >>> i64toi32_i32$3 | 0) | 0; + } + $43 = $46; + $43$hi = i64toi32_i32$0; + i64toi32_i32$0 = $1$hi; + i64toi32_i32$5 = $1; + i64toi32_i32$2 = 0; + i64toi32_i32$4 = 4; + i64toi32_i32$3 = i64toi32_i32$4 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$4 & 63 | 0) >>> 0) { + i64toi32_i32$2 = i64toi32_i32$5 << i64toi32_i32$3 | 0; + $47 = 0; + } else { + i64toi32_i32$2 = ((1 << i64toi32_i32$3 | 0) - 1 | 0) & (i64toi32_i32$5 >>> (32 - i64toi32_i32$3 | 0) | 0) | 0 | (i64toi32_i32$0 << i64toi32_i32$3 | 0) | 0; + $47 = i64toi32_i32$5 << i64toi32_i32$3 | 0; + } + $45$hi = i64toi32_i32$2; + i64toi32_i32$2 = $43$hi; + i64toi32_i32$0 = $43; + i64toi32_i32$5 = $45$hi; + i64toi32_i32$4 = $47; + i64toi32_i32$5 = i64toi32_i32$2 | i64toi32_i32$5 | 0; + i64toi32_i32$2 = i64toi32_i32$0 | i64toi32_i32$4 | 0; + i64toi32_i32$0 = 524287; + i64toi32_i32$4 = -1; + i64toi32_i32$0 = i64toi32_i32$5 & i64toi32_i32$0 | 0; + i64toi32_i32$5 = i64toi32_i32$2 & i64toi32_i32$4 | 0; + i64toi32_i32$2 = 2146959360; + i64toi32_i32$4 = 0; + i64toi32_i32$2 = i64toi32_i32$0 | i64toi32_i32$2 | 0; + $4 = i64toi32_i32$5 | i64toi32_i32$4 | 0; + $4$hi = i64toi32_i32$2; + break label$1; + } + i64toi32_i32$2 = 2146435072; + $4 = 0; + $4$hi = i64toi32_i32$2; + i64toi32_i32$2 = $3$hi; + i64toi32_i32$0 = $3; + i64toi32_i32$5 = 1140785151; + i64toi32_i32$4 = -1; + if (i64toi32_i32$2 >>> 0 > i64toi32_i32$5 >>> 0 | ((i64toi32_i32$2 | 0) == (i64toi32_i32$5 | 0) & i64toi32_i32$0 >>> 0 > i64toi32_i32$4 >>> 0 | 0) | 0) { + break label$1 + } + i64toi32_i32$0 = 0; + $4 = 0; + $4$hi = i64toi32_i32$0; + i64toi32_i32$0 = $3$hi; + i64toi32_i32$4 = $3; + i64toi32_i32$2 = 0; + i64toi32_i32$5 = 48; + i64toi32_i32$3 = i64toi32_i32$5 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$5 & 63 | 0) >>> 0) { + i64toi32_i32$2 = 0; + $48 = i64toi32_i32$0 >>> i64toi32_i32$3 | 0; + } else { + i64toi32_i32$2 = i64toi32_i32$0 >>> i64toi32_i32$3 | 0; + $48 = (((1 << i64toi32_i32$3 | 0) - 1 | 0) & i64toi32_i32$0 | 0) << (32 - i64toi32_i32$3 | 0) | 0 | (i64toi32_i32$4 >>> i64toi32_i32$3 | 0) | 0; + } + $5 = $48; + if ($5 >>> 0 < 15249 >>> 0) { + break label$1 + } + i64toi32_i32$2 = $0$hi; + i64toi32_i32$2 = $1$hi; + i64toi32_i32$0 = $1; + i64toi32_i32$4 = 65535; + i64toi32_i32$5 = -1; + i64toi32_i32$4 = i64toi32_i32$2 & i64toi32_i32$4 | 0; + i64toi32_i32$2 = i64toi32_i32$0 & i64toi32_i32$5 | 0; + i64toi32_i32$0 = 65536; + i64toi32_i32$5 = 0; + i64toi32_i32$0 = i64toi32_i32$4 | i64toi32_i32$0 | 0; + $3 = i64toi32_i32$2 | i64toi32_i32$5 | 0; + $3$hi = i64toi32_i32$0; + i64toi32_i32$0 = $0$hi; + i64toi32_i32$2 = $3$hi; + __ashlti3($2 + 16 | 0 | 0, $0 | 0, i64toi32_i32$0 | 0, $3 | 0, i64toi32_i32$2 | 0, $5 + -15233 | 0 | 0); + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$2 = $3$hi; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$0 = $3$hi; + __lshrti3($2 | 0, $0 | 0, i64toi32_i32$2 | 0, $3 | 0, i64toi32_i32$0 | 0, 15361 - $5 | 0 | 0); + i64toi32_i32$4 = $2; + i64toi32_i32$0 = HEAP32[i64toi32_i32$4 >> 2] | 0; + i64toi32_i32$2 = HEAP32[(i64toi32_i32$4 + 4 | 0) >> 2] | 0; + $3 = i64toi32_i32$0; + $3$hi = i64toi32_i32$2; + i64toi32_i32$4 = i64toi32_i32$0; + i64toi32_i32$0 = 0; + i64toi32_i32$5 = 60; + i64toi32_i32$3 = i64toi32_i32$5 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$5 & 63 | 0) >>> 0) { + i64toi32_i32$0 = 0; + $49 = i64toi32_i32$2 >>> i64toi32_i32$3 | 0; + } else { + i64toi32_i32$0 = i64toi32_i32$2 >>> i64toi32_i32$3 | 0; + $49 = (((1 << i64toi32_i32$3 | 0) - 1 | 0) & i64toi32_i32$2 | 0) << (32 - i64toi32_i32$3 | 0) | 0 | (i64toi32_i32$4 >>> i64toi32_i32$3 | 0) | 0; + } + $73 = $49; + $73$hi = i64toi32_i32$0; + i64toi32_i32$2 = $2 + 8 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$4 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + i64toi32_i32$2 = i64toi32_i32$0; + i64toi32_i32$0 = 0; + i64toi32_i32$5 = 4; + i64toi32_i32$3 = i64toi32_i32$5 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$5 & 63 | 0) >>> 0) { + i64toi32_i32$0 = i64toi32_i32$2 << i64toi32_i32$3 | 0; + $50 = 0; + } else { + i64toi32_i32$0 = ((1 << i64toi32_i32$3 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$3 | 0) | 0) | 0 | (i64toi32_i32$4 << i64toi32_i32$3 | 0) | 0; + $50 = i64toi32_i32$2 << i64toi32_i32$3 | 0; + } + $77$hi = i64toi32_i32$0; + i64toi32_i32$0 = $73$hi; + i64toi32_i32$4 = $73; + i64toi32_i32$2 = $77$hi; + i64toi32_i32$5 = $50; + i64toi32_i32$2 = i64toi32_i32$0 | i64toi32_i32$2 | 0; + $4 = i64toi32_i32$4 | i64toi32_i32$5 | 0; + $4$hi = i64toi32_i32$2; + label$5 : { + i64toi32_i32$2 = $3$hi; + i64toi32_i32$0 = $3; + i64toi32_i32$4 = 268435455; + i64toi32_i32$5 = -1; + i64toi32_i32$4 = i64toi32_i32$2 & i64toi32_i32$4 | 0; + $80 = i64toi32_i32$0 & i64toi32_i32$5 | 0; + $80$hi = i64toi32_i32$4; + i64toi32_i32$2 = $2; + i64toi32_i32$4 = HEAP32[(i64toi32_i32$2 + 16 | 0) >> 2] | 0; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 20 | 0) >> 2] | 0; + $82 = i64toi32_i32$4; + $82$hi = i64toi32_i32$0; + i64toi32_i32$2 = (i64toi32_i32$2 + 16 | 0) + 8 | 0; + i64toi32_i32$0 = HEAP32[i64toi32_i32$2 >> 2] | 0; + i64toi32_i32$4 = HEAP32[(i64toi32_i32$2 + 4 | 0) >> 2] | 0; + $86 = i64toi32_i32$0; + $86$hi = i64toi32_i32$4; + i64toi32_i32$4 = $82$hi; + i64toi32_i32$2 = $82; + i64toi32_i32$0 = $86$hi; + i64toi32_i32$5 = $86; + i64toi32_i32$0 = i64toi32_i32$4 | i64toi32_i32$0 | 0; + i64toi32_i32$4 = i64toi32_i32$2 | i64toi32_i32$5 | 0; + i64toi32_i32$2 = 0; + i64toi32_i32$5 = 0; + $88 = (i64toi32_i32$4 | 0) != (i64toi32_i32$5 | 0) | (i64toi32_i32$0 | 0) != (i64toi32_i32$2 | 0) | 0; + i64toi32_i32$4 = 0; + $89$hi = i64toi32_i32$4; + i64toi32_i32$4 = $80$hi; + i64toi32_i32$5 = $80; + i64toi32_i32$0 = $89$hi; + i64toi32_i32$2 = $88; + i64toi32_i32$0 = i64toi32_i32$4 | i64toi32_i32$0 | 0; + $3 = i64toi32_i32$5 | i64toi32_i32$2 | 0; + $3$hi = i64toi32_i32$0; + i64toi32_i32$4 = $3; + i64toi32_i32$5 = 134217728; + i64toi32_i32$2 = 1; + if (i64toi32_i32$0 >>> 0 < i64toi32_i32$5 >>> 0 | ((i64toi32_i32$0 | 0) == (i64toi32_i32$5 | 0) & i64toi32_i32$4 >>> 0 < i64toi32_i32$2 >>> 0 | 0) | 0) { + break label$5 + } + i64toi32_i32$4 = $4$hi; + i64toi32_i32$2 = $4; + i64toi32_i32$0 = 0; + i64toi32_i32$5 = 1; + i64toi32_i32$3 = i64toi32_i32$2 + i64toi32_i32$5 | 0; + i64toi32_i32$1 = i64toi32_i32$4 + i64toi32_i32$0 | 0; + if (i64toi32_i32$3 >>> 0 < i64toi32_i32$5 >>> 0) { + i64toi32_i32$1 = i64toi32_i32$1 + 1 | 0 + } + $4 = i64toi32_i32$3; + $4$hi = i64toi32_i32$1; + break label$1; + } + i64toi32_i32$1 = $3$hi; + i64toi32_i32$4 = $3; + i64toi32_i32$2 = 134217728; + i64toi32_i32$5 = 0; + if ((i64toi32_i32$4 | 0) != (i64toi32_i32$5 | 0) | (i64toi32_i32$1 | 0) != (i64toi32_i32$2 | 0) | 0) { + break label$1 + } + i64toi32_i32$4 = $4$hi; + i64toi32_i32$5 = $4; + i64toi32_i32$1 = 0; + i64toi32_i32$2 = 1; + i64toi32_i32$1 = i64toi32_i32$4 & i64toi32_i32$1 | 0; + $98$hi = i64toi32_i32$1; + i64toi32_i32$1 = i64toi32_i32$4; + i64toi32_i32$1 = $98$hi; + i64toi32_i32$4 = i64toi32_i32$5 & i64toi32_i32$2 | 0; + i64toi32_i32$5 = $4$hi; + i64toi32_i32$2 = $4; + i64toi32_i32$0 = i64toi32_i32$4 + i64toi32_i32$2 | 0; + i64toi32_i32$3 = i64toi32_i32$1 + i64toi32_i32$5 | 0; + if (i64toi32_i32$0 >>> 0 < i64toi32_i32$2 >>> 0) { + i64toi32_i32$3 = i64toi32_i32$3 + 1 | 0 + } + $4 = i64toi32_i32$0; + $4$hi = i64toi32_i32$3; + } + __stack_pointer = $2 + 32 | 0; + i64toi32_i32$3 = $4$hi; + i64toi32_i32$3 = $1$hi; + i64toi32_i32$1 = $1; + i64toi32_i32$4 = -2147483648; + i64toi32_i32$2 = 0; + i64toi32_i32$4 = i64toi32_i32$3 & i64toi32_i32$4 | 0; + $105 = i64toi32_i32$1 & i64toi32_i32$2 | 0; + $105$hi = i64toi32_i32$4; + i64toi32_i32$4 = $4$hi; + i64toi32_i32$3 = $4; + i64toi32_i32$1 = $105$hi; + i64toi32_i32$2 = $105; + i64toi32_i32$1 = i64toi32_i32$4 | i64toi32_i32$1 | 0; + wasm2js_scratch_store_i32(0 | 0, i64toi32_i32$3 | i64toi32_i32$2 | 0 | 0); + wasm2js_scratch_store_i32(1 | 0, i64toi32_i32$1 | 0); + return +(+wasm2js_scratch_load_f64()); + } + + function aligned_alloc($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $2 = 0, $3 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0, wasm2js_i32$2 = 0; + $2 = __stack_pointer - 16 | 0; + __stack_pointer = $2; + $3 = 0; + label$1 : { + if ($0 & 3 | 0) { + break label$1 + } + if (($1 >>> 0) % ($0 >>> 0) | 0) { + break label$1 + } + $0 = dlposix_memalign($2 + 12 | 0 | 0, $0 | 0, $1 | 0) | 0; + $3 = (wasm2js_i32$0 = 0, wasm2js_i32$1 = HEAP32[($2 + 12 | 0) >> 2] | 0, wasm2js_i32$2 = $0, wasm2js_i32$2 ? wasm2js_i32$0 : wasm2js_i32$1); + } + __stack_pointer = $2 + 16 | 0; + return $3 | 0; + } + + function operator_20new_28unsigned_20long_29($0) { + $0 = $0 | 0; + var $1 = 0; + $1 = $0 >>> 0 > 1 >>> 0 ? $0 : 1; + label$1 : { + label$2 : while (1) { + $0 = dlmalloc($1 | 0) | 0; + if ($0) { + break label$1 + } + label$3 : { + $0 = std__get_new_handler_28_29() | 0; + if (!$0) { + break label$3 + } + FUNCTION_TABLE[$0 | 0](); + continue label$2; + } + break label$2; + }; + abort(); + wasm2js_trap(); + } + return $0 | 0; + } + + function operator_20delete_28void__29($0) { + $0 = $0 | 0; + dlfree($0 | 0); + } + + function operator_20new_28unsigned_20long_2c_20std__align_val_t_29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $3 = 0, $2 = 0; + $2 = $1 >>> 0 > 4 >>> 0 ? $1 : 4; + $0 = $0 >>> 0 > 1 >>> 0 ? $0 : 1; + label$1 : { + label$2 : while (1) { + $3 = std____2____libcpp_aligned_alloc_5babi_v160004_5d_28unsigned_20long_2c_20unsigned_20long_29($2 | 0, $0 | 0) | 0; + if ($3) { + break label$1 + } + $1 = std__get_new_handler_28_29() | 0; + if (!$1) { + break label$1 + } + FUNCTION_TABLE[$1 | 0](); + continue label$2; + }; + } + return $3 | 0; + } + + function std____2____libcpp_aligned_alloc_5babi_v160004_5d_28unsigned_20long_2c_20unsigned_20long_29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $2 = 0; + $2 = (($0 + $1 | 0) + -1 | 0) & (0 - $0 | 0) | 0; + return aligned_alloc($0 | 0, ($2 >>> 0 > $1 >>> 0 ? $2 : $1) | 0) | 0 | 0; + } + + function operator_20delete_28void__2c_20std__align_val_t_29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + std____2____libcpp_aligned_free_5babi_v160004_5d_28void__29($0 | 0); + } + + function std____2____libcpp_aligned_free_5babi_v160004_5d_28void__29($0) { + $0 = $0 | 0; + dlfree($0 | 0); + } + + function __overflow($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $3 = 0, $2 = 0, $4 = 0; + $2 = __stack_pointer - 16 | 0; + __stack_pointer = $2; + HEAP8[($2 + 15 | 0) >> 0] = $1; + label$1 : { + label$2 : { + $3 = HEAP32[($0 + 16 | 0) >> 2] | 0; + if ($3) { + break label$2 + } + $3 = -1; + if (__towrite($0 | 0) | 0) { + break label$1 + } + $3 = HEAP32[($0 + 16 | 0) >> 2] | 0; + } + label$3 : { + $4 = HEAP32[($0 + 20 | 0) >> 2] | 0; + if (($4 | 0) == ($3 | 0)) { + break label$3 + } + $3 = $1 & 255 | 0; + if ((HEAP32[($0 + 80 | 0) >> 2] | 0 | 0) == ($3 | 0)) { + break label$3 + } + HEAP32[($0 + 20 | 0) >> 2] = $4 + 1 | 0; + HEAP8[$4 >> 0] = $1; + break label$1; + } + $3 = -1; + if ((FUNCTION_TABLE[HEAP32[($0 + 36 | 0) >> 2] | 0 | 0]($0, $2 + 15 | 0, 1) | 0 | 0) != (1 | 0)) { + break label$1 + } + $3 = HEAPU8[($2 + 15 | 0) >> 0] | 0; + } + __stack_pointer = $2 + 16 | 0; + return $3 | 0; + } + + function memmove($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $3 = 0, $4 = 0; + label$1 : { + if (($0 | 0) == ($1 | 0)) { + break label$1 + } + label$2 : { + $3 = $0 + $2 | 0; + if (($1 - $3 | 0) >>> 0 > (0 - ($2 << 1 | 0) | 0) >>> 0) { + break label$2 + } + return __memcpy($0 | 0, $1 | 0, $2 | 0) | 0 | 0; + } + $4 = ($1 ^ $0 | 0) & 3 | 0; + label$3 : { + label$4 : { + label$5 : { + if ($0 >>> 0 >= $1 >>> 0) { + break label$5 + } + label$6 : { + if (!$4) { + break label$6 + } + $3 = $0; + break label$3; + } + label$7 : { + if ($0 & 3 | 0) { + break label$7 + } + $3 = $0; + break label$4; + } + $3 = $0; + label$8 : while (1) { + if (!$2) { + break label$1 + } + HEAP8[$3 >> 0] = HEAPU8[$1 >> 0] | 0; + $1 = $1 + 1 | 0; + $2 = $2 + -1 | 0; + $3 = $3 + 1 | 0; + if (!($3 & 3 | 0)) { + break label$4 + } + continue label$8; + }; + } + label$9 : { + if ($4) { + break label$9 + } + label$10 : { + if (!($3 & 3 | 0)) { + break label$10 + } + label$11 : while (1) { + if (!$2) { + break label$1 + } + $2 = $2 + -1 | 0; + $3 = $0 + $2 | 0; + HEAP8[$3 >> 0] = HEAPU8[($1 + $2 | 0) >> 0] | 0; + if ($3 & 3 | 0) { + continue label$11 + } + break label$11; + }; + } + if ($2 >>> 0 <= 3 >>> 0) { + break label$9 + } + label$12 : while (1) { + $2 = $2 + -4 | 0; + HEAP32[($0 + $2 | 0) >> 2] = HEAP32[($1 + $2 | 0) >> 2] | 0; + if ($2 >>> 0 > 3 >>> 0) { + continue label$12 + } + break label$12; + }; + } + if (!$2) { + break label$1 + } + label$13 : while (1) { + $2 = $2 + -1 | 0; + HEAP8[($0 + $2 | 0) >> 0] = HEAPU8[($1 + $2 | 0) >> 0] | 0; + if ($2) { + continue label$13 + } + break label$1; + }; + } + if ($2 >>> 0 <= 3 >>> 0) { + break label$3 + } + label$14 : while (1) { + HEAP32[$3 >> 2] = HEAP32[$1 >> 2] | 0; + $1 = $1 + 4 | 0; + $3 = $3 + 4 | 0; + $2 = $2 + -4 | 0; + if ($2 >>> 0 > 3 >>> 0) { + continue label$14 + } + break label$14; + }; + } + if (!$2) { + break label$1 + } + label$15 : while (1) { + HEAP8[$3 >> 0] = HEAPU8[$1 >> 0] | 0; + $3 = $3 + 1 | 0; + $1 = $1 + 1 | 0; + $2 = $2 + -1 | 0; + if ($2) { + continue label$15 + } + break label$15; + }; + } + return $0 | 0; + } + + function dummy($0) { + $0 = $0 | 0; + return $0 | 0; + } + + function __stdio_close($0) { + $0 = $0 | 0; + return __wasi_fd_close(dummy(HEAP32[($0 + 60 | 0) >> 2] | 0 | 0) | 0 | 0) | 0 | 0; + } + + function __lseek($0, $1, $1$hi, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $1$hi = $1$hi | 0; + $2 = $2 | 0; + var i64toi32_i32$0 = 0, i64toi32_i32$2 = 0, $3 = 0, i64toi32_i32$1 = 0, i64toi32_i32$3 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + i64toi32_i32$0 = $1$hi; + $2 = __wasi_syscall_ret(legalfunc$__wasi_fd_seek($0 | 0, $1 | 0, i64toi32_i32$0 | 0, $2 & 255 | 0 | 0, $3 + 8 | 0 | 0) | 0 | 0) | 0; + i64toi32_i32$2 = $3; + i64toi32_i32$0 = HEAP32[(i64toi32_i32$2 + 8 | 0) >> 2] | 0; + i64toi32_i32$1 = HEAP32[(i64toi32_i32$2 + 12 | 0) >> 2] | 0; + $1 = i64toi32_i32$0; + $1$hi = i64toi32_i32$1; + __stack_pointer = i64toi32_i32$2 + 16 | 0; + i64toi32_i32$1 = -1; + i64toi32_i32$0 = $1$hi; + i64toi32_i32$3 = $2 ? -1 : $1; + i64toi32_i32$2 = $2 ? i64toi32_i32$1 : i64toi32_i32$0; + i64toi32_i32$HIGH_BITS = i64toi32_i32$2; + return i64toi32_i32$3 | 0; + } + + function __stdio_seek($0, $1, $1$hi, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $1$hi = $1$hi | 0; + $2 = $2 | 0; + var i64toi32_i32$0 = 0, i64toi32_i32$1 = 0; + i64toi32_i32$0 = $1$hi; + i64toi32_i32$0 = __lseek(HEAP32[($0 + 60 | 0) >> 2] | 0 | 0, $1 | 0, i64toi32_i32$0 | 0, $2 | 0) | 0; + i64toi32_i32$1 = i64toi32_i32$HIGH_BITS; + i64toi32_i32$HIGH_BITS = i64toi32_i32$1; + return i64toi32_i32$0 | 0; + } + + function char__20std____2____to_address_5babi_v160004_5d_char__28char__29($0) { + $0 = $0 | 0; + return $0 | 0; + } + + function std____2__basic_string_char_2c_20std____2__char_traits_char__2c_20std____2__allocator_char______get_long_cap_5babi_v160004_5d_28_29_20const($0) { + $0 = $0 | 0; + return (HEAP32[((std____2____compressed_pair_std____2__basic_string_char_2c_20std____2__char_traits_char__2c_20std____2__allocator_char______rep_2c_20std____2__allocator_char____first_5babi_v160004_5d_28_29_20const($0 | 0) | 0) + 8 | 0) >> 2] | 0) & 2147483647 | 0 | 0; + } + + function std____2__basic_string_char_2c_20std____2__char_traits_char__2c_20std____2__allocator_char______get_long_pointer_5babi_v160004_5d_28_29($0) { + $0 = $0 | 0; + return HEAP32[(std____2____compressed_pair_std____2__basic_string_char_2c_20std____2__char_traits_char__2c_20std____2__allocator_char______rep_2c_20std____2__allocator_char____first_5babi_v160004_5d_28_29($0 | 0) | 0) >> 2] | 0 | 0; + } + + function std____2__basic_string_char_2c_20std____2__char_traits_char__2c_20std____2__allocator_char______get_short_pointer_5babi_v160004_5d_28_29($0) { + $0 = $0 | 0; + return std____2__pointer_traits_char____pointer_to_5babi_v160004_5d_28char__29(std____2____compressed_pair_std____2__basic_string_char_2c_20std____2__char_traits_char__2c_20std____2__allocator_char______rep_2c_20std____2__allocator_char____first_5babi_v160004_5d_28_29($0 | 0) | 0 | 0) | 0 | 0; + } + + function std____2__char_traits_char___assign_28char__2c_20char_20const__29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + HEAP8[$0 >> 0] = HEAPU8[$1 >> 0] | 0; + } + + function std____2__basic_string_char_2c_20std____2__char_traits_char__2c_20std____2__allocator_char____max_size_5babi_v160004_5d_28_29_20const($0) { + $0 = $0 | 0; + $0 = unsigned_20long_20std____2__allocator_traits_std____2__allocator_char____max_size_5babi_v160004_5d_std____2__allocator_char__2c_20void_2c_20void__28std____2__allocator_char__20const__29(std____2__basic_string_char_2c_20std____2__char_traits_char__2c_20std____2__allocator_char______alloc_5babi_v160004_5d_28_29_20const($0 | 0) | 0 | 0) | 0; + return ($0 >>> ($0 >>> 0 > ((std____2__numeric_limits_unsigned_20long___max_5babi_v160004_5d_28_29() | 0) >>> 1 | 0) >>> 0) | 0) + -16 | 0 | 0; + } + + function std____2__basic_string_char_2c_20std____2__char_traits_char__2c_20std____2__allocator_char______recommend_5babi_v160004_5d_28unsigned_20long_29($0) { + $0 = $0 | 0; + var $1 = 0, $7 = 0; + $1 = 10; + label$1 : { + if ($0 >>> 0 < 11 >>> 0) { + break label$1 + } + $0 = unsigned_20long_20std____2__basic_string_char_2c_20std____2__char_traits_char__2c_20std____2__allocator_char______align_it_5babi_v160004_5d_16ul__28unsigned_20long_29($0 + 1 | 0 | 0) | 0; + $7 = $0; + $0 = $0 + -1 | 0; + $1 = ($0 | 0) == (11 | 0) ? $7 : $0; + } + return $1 | 0; + } + + function std____2__basic_string_char_2c_20std____2__char_traits_char__2c_20std____2__allocator_char______alloc_5babi_v160004_5d_28_29($0) { + $0 = $0 | 0; + return std____2____compressed_pair_std____2__basic_string_char_2c_20std____2__char_traits_char__2c_20std____2__allocator_char______rep_2c_20std____2__allocator_char____second_5babi_v160004_5d_28_29($0 | 0) | 0 | 0; + } + + function std____2____allocation_result_std____2__allocator_traits_std____2__allocator_char____pointer__20std____2____allocate_at_least_5babi_v160004_5d_std____2__allocator_char___28std____2__allocator_char___2c_20unsigned_20long_29($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $1 = std____2__allocator_char___allocate_5babi_v160004_5d_28unsigned_20long_29($1 | 0, $2 | 0) | 0; + HEAP32[($0 + 4 | 0) >> 2] = $2; + HEAP32[$0 >> 2] = $1; + } + + function std____2__basic_string_char_2c_20std____2__char_traits_char__2c_20std____2__allocator_char______begin_lifetime_5babi_v160004_5d_28char__2c_20unsigned_20long_29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + } + + function std____2__char_traits_char___copy_28char__2c_20char_20const__2c_20unsigned_20long_29($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + std____2__enable_if___is_cpp17_random_access_iterator_char_20const____value_2c_20char____type_20std____2__copy_n_5babi_v160004_5d_char_20const__2c_20unsigned_20long_2c_20char___28char_20const__2c_20unsigned_20long_2c_20char__29($1 | 0, $2 | 0, $0 | 0) | 0; + return $0 | 0; + } + + function std____2__allocator_traits_std____2__allocator_char____deallocate_5babi_v160004_5d_28std____2__allocator_char___2c_20char__2c_20unsigned_20long_29($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + std____2__allocator_char___deallocate_5babi_v160004_5d_28char__2c_20unsigned_20long_29($0 | 0, $1 | 0, $2 | 0); + } + + function std____2__basic_string_char_2c_20std____2__char_traits_char__2c_20std____2__allocator_char______set_long_pointer_5babi_v160004_5d_28char__29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + (wasm2js_i32$0 = std____2____compressed_pair_std____2__basic_string_char_2c_20std____2__char_traits_char__2c_20std____2__allocator_char______rep_2c_20std____2__allocator_char____first_5babi_v160004_5d_28_29($0 | 0) | 0, wasm2js_i32$1 = $1), HEAP32[wasm2js_i32$0 >> 2] = wasm2js_i32$1; + } + + function std____2__basic_string_char_2c_20std____2__char_traits_char__2c_20std____2__allocator_char______set_long_cap_5babi_v160004_5d_28unsigned_20long_29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $2 = 0; + $2 = std____2____compressed_pair_std____2__basic_string_char_2c_20std____2__char_traits_char__2c_20std____2__allocator_char______rep_2c_20std____2__allocator_char____first_5babi_v160004_5d_28_29($0 | 0) | 0; + HEAP32[($2 + 8 | 0) >> 2] = (HEAP32[($2 + 8 | 0) >> 2] | 0) & -2147483648 | 0 | ($1 & 2147483647 | 0) | 0; + $0 = std____2____compressed_pair_std____2__basic_string_char_2c_20std____2__char_traits_char__2c_20std____2__allocator_char______rep_2c_20std____2__allocator_char____first_5babi_v160004_5d_28_29($0 | 0) | 0; + HEAP32[($0 + 8 | 0) >> 2] = HEAP32[($0 + 8 | 0) >> 2] | 0 | -2147483648 | 0; + } + + function std____2__basic_string_char_2c_20std____2__char_traits_char__2c_20std____2__allocator_char______set_long_size_5babi_v160004_5d_28unsigned_20long_29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + (wasm2js_i32$0 = std____2____compressed_pair_std____2__basic_string_char_2c_20std____2__char_traits_char__2c_20std____2__allocator_char______rep_2c_20std____2__allocator_char____first_5babi_v160004_5d_28_29($0 | 0) | 0, wasm2js_i32$1 = $1), HEAP32[(wasm2js_i32$0 + 4 | 0) >> 2] = wasm2js_i32$1; + } + + function std____2__basic_string_char_2c_20std____2__char_traits_char__2c_20std____2__allocator_char______throw_length_error_5babi_v160004_5d_28_29_20const($0) { + $0 = $0 | 0; + std____2____throw_length_error_5babi_v160004_5d_28char_20const__29(80508 | 0); + wasm2js_trap(); + } + + function std____2__basic_string_char_2c_20std____2__char_traits_char__2c_20std____2__allocator_char______fits_in_sso_5babi_v160004_5d_28unsigned_20long_29($0) { + $0 = $0 | 0; + return $0 >>> 0 < 11 >>> 0 | 0; + } + + function std____2__basic_string_char_2c_20std____2__char_traits_char__2c_20std____2__allocator_char______set_short_size_5babi_v160004_5d_28unsigned_20long_29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $2 = 0; + $2 = std____2____compressed_pair_std____2__basic_string_char_2c_20std____2__char_traits_char__2c_20std____2__allocator_char______rep_2c_20std____2__allocator_char____first_5babi_v160004_5d_28_29($0 | 0) | 0; + HEAP8[($2 + 11 | 0) >> 0] = (HEAPU8[($2 + 11 | 0) >> 0] | 0) & 128 | 0 | $1 | 0; + $0 = std____2____compressed_pair_std____2__basic_string_char_2c_20std____2__char_traits_char__2c_20std____2__allocator_char______rep_2c_20std____2__allocator_char____first_5babi_v160004_5d_28_29($0 | 0) | 0; + HEAP8[($0 + 11 | 0) >> 0] = (HEAPU8[($0 + 11 | 0) >> 0] | 0) & 127 | 0; + } + + function std____2__basic_string_char_2c_20std____2__char_traits_char__2c_20std____2__allocator_char______alloc_5babi_v160004_5d_28_29_20const($0) { + $0 = $0 | 0; + return std____2____compressed_pair_std____2__basic_string_char_2c_20std____2__char_traits_char__2c_20std____2__allocator_char______rep_2c_20std____2__allocator_char____second_5babi_v160004_5d_28_29_20const($0 | 0) | 0 | 0; + } + + function unsigned_20long_20std____2__allocator_traits_std____2__allocator_char____max_size_5babi_v160004_5d_std____2__allocator_char__2c_20void_2c_20void__28std____2__allocator_char__20const__29($0) { + $0 = $0 | 0; + return std____2__numeric_limits_unsigned_20long___max_5babi_v160004_5d_28_29() | 0 | 0; + } + + function std____2__numeric_limits_unsigned_20long___max_5babi_v160004_5d_28_29() { + return std____2____libcpp_numeric_limits_unsigned_20long_2c_20true___max_5babi_v160004_5d_28_29() | 0 | 0; + } + + function std____2____throw_length_error_5babi_v160004_5d_28char_20const__29($0) { + $0 = $0 | 0; + abort(); + wasm2js_trap(); + } + + function std____2____compressed_pair_std____2__basic_string_char_2c_20std____2__char_traits_char__2c_20std____2__allocator_char______rep_2c_20std____2__allocator_char____first_5babi_v160004_5d_28_29($0) { + $0 = $0 | 0; + return std____2____compressed_pair_elem_std____2__basic_string_char_2c_20std____2__char_traits_char__2c_20std____2__allocator_char______rep_2c_200_2c_20false_____get_5babi_v160004_5d_28_29($0 | 0) | 0 | 0; + } + + function std____2__pointer_traits_char____pointer_to_5babi_v160004_5d_28char__29($0) { + $0 = $0 | 0; + return $0 | 0; + } + + function std____2__allocator_char___allocate_5babi_v160004_5d_28unsigned_20long_29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + label$1 : { + if ((unsigned_20long_20std____2__allocator_traits_std____2__allocator_char____max_size_5babi_v160004_5d_std____2__allocator_char__2c_20void_2c_20void__28std____2__allocator_char__20const__29($0 | 0) | 0) >>> 0 >= $1 >>> 0) { + break label$1 + } + std____throw_bad_array_new_length_5babi_v160004_5d_28_29(); + wasm2js_trap(); + } + return std____2____libcpp_allocate_5babi_v160004_5d_28unsigned_20long_2c_20unsigned_20long_29($1 | 0, 1 | 0) | 0 | 0; + } + + function std____2____compressed_pair_std____2__basic_string_char_2c_20std____2__char_traits_char__2c_20std____2__allocator_char______rep_2c_20std____2__allocator_char____second_5babi_v160004_5d_28_29($0) { + $0 = $0 | 0; + return std____2____compressed_pair_elem_std____2__allocator_char__2c_201_2c_20true_____get_5babi_v160004_5d_28_29($0 | 0) | 0 | 0; + } + + function unsigned_20long_20std____2__basic_string_char_2c_20std____2__char_traits_char__2c_20std____2__allocator_char______align_it_5babi_v160004_5d_16ul__28unsigned_20long_29($0) { + $0 = $0 | 0; + return ($0 + 15 | 0) & -16 | 0 | 0; + } + + function std____2__enable_if___is_cpp17_random_access_iterator_char_20const____value_2c_20char____type_20std____2__copy_n_5babi_v160004_5d_char_20const__2c_20unsigned_20long_2c_20char___28char_20const__2c_20unsigned_20long_2c_20char__29($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + return char__20std____2__copy_5babi_v160004_5d_char_20const__2c_20char___28char_20const__2c_20char_20const__2c_20char__29($0 | 0, $0 + $1 | 0 | 0, $2 | 0) | 0 | 0; + } + + function std____2__basic_string_char_2c_20std____2__char_traits_char__2c_20std____2__allocator_char_____basic_string_28_29($0) { + $0 = $0 | 0; + void_20std____2____debug_db_erase_c_5babi_v160004_5d_std____2__basic_string_char_2c_20std____2__char_traits_char__2c_20std____2__allocator_char____28std____2__basic_string_char_2c_20std____2__char_traits_char__2c_20std____2__allocator_char____29($0 | 0); + label$1 : { + if (!(std____2__basic_string_char_2c_20std____2__char_traits_char__2c_20std____2__allocator_char______is_long_5babi_v160004_5d_28_29_20const($0 | 0) | 0)) { + break label$1 + } + std____2__allocator_traits_std____2__allocator_char____deallocate_5babi_v160004_5d_28std____2__allocator_char___2c_20char__2c_20unsigned_20long_29(std____2__basic_string_char_2c_20std____2__char_traits_char__2c_20std____2__allocator_char______alloc_5babi_v160004_5d_28_29($0 | 0) | 0 | 0, std____2__basic_string_char_2c_20std____2__char_traits_char__2c_20std____2__allocator_char______get_long_pointer_5babi_v160004_5d_28_29($0 | 0) | 0 | 0, std____2__basic_string_char_2c_20std____2__char_traits_char__2c_20std____2__allocator_char______get_long_cap_5babi_v160004_5d_28_29_20const($0 | 0) | 0 | 0); + } + return $0 | 0; + } + + function void_20std____2____debug_db_erase_c_5babi_v160004_5d_std____2__basic_string_char_2c_20std____2__char_traits_char__2c_20std____2__allocator_char____28std____2__basic_string_char_2c_20std____2__char_traits_char__2c_20std____2__allocator_char____29($0) { + $0 = $0 | 0; + } + + function std____2__allocator_char___deallocate_5babi_v160004_5d_28char__2c_20unsigned_20long_29($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + std____2____libcpp_deallocate_5babi_v160004_5d_28void__2c_20unsigned_20long_2c_20unsigned_20long_29($1 | 0, $2 | 0, 1 | 0); + } + + function std____2__basic_string_char_2c_20std____2__char_traits_char__2c_20std____2__allocator_char______init_28char_20const__2c_20unsigned_20long_29($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + label$1 : { + if ((std____2__basic_string_char_2c_20std____2__char_traits_char__2c_20std____2__allocator_char____max_size_5babi_v160004_5d_28_29_20const($0 | 0) | 0) >>> 0 < $2 >>> 0) { + break label$1 + } + label$2 : { + label$3 : { + if (!(std____2__basic_string_char_2c_20std____2__char_traits_char__2c_20std____2__allocator_char______fits_in_sso_5babi_v160004_5d_28unsigned_20long_29($2 | 0) | 0)) { + break label$3 + } + std____2__basic_string_char_2c_20std____2__char_traits_char__2c_20std____2__allocator_char______set_short_size_5babi_v160004_5d_28unsigned_20long_29($0 | 0, $2 | 0); + $4 = std____2__basic_string_char_2c_20std____2__char_traits_char__2c_20std____2__allocator_char______get_short_pointer_5babi_v160004_5d_28_29($0 | 0) | 0; + break label$2; + } + std____2____allocation_result_std____2__allocator_traits_std____2__allocator_char____pointer__20std____2____allocate_at_least_5babi_v160004_5d_std____2__allocator_char___28std____2__allocator_char___2c_20unsigned_20long_29($3 + 8 | 0 | 0, std____2__basic_string_char_2c_20std____2__char_traits_char__2c_20std____2__allocator_char______alloc_5babi_v160004_5d_28_29($0 | 0) | 0 | 0, (std____2__basic_string_char_2c_20std____2__char_traits_char__2c_20std____2__allocator_char______recommend_5babi_v160004_5d_28unsigned_20long_29($2 | 0) | 0) + 1 | 0 | 0); + $4 = HEAP32[($3 + 8 | 0) >> 2] | 0; + std____2__basic_string_char_2c_20std____2__char_traits_char__2c_20std____2__allocator_char______begin_lifetime_5babi_v160004_5d_28char__2c_20unsigned_20long_29($4 | 0, HEAP32[($3 + 12 | 0) >> 2] | 0 | 0); + std____2__basic_string_char_2c_20std____2__char_traits_char__2c_20std____2__allocator_char______set_long_pointer_5babi_v160004_5d_28char__29($0 | 0, $4 | 0); + std____2__basic_string_char_2c_20std____2__char_traits_char__2c_20std____2__allocator_char______set_long_cap_5babi_v160004_5d_28unsigned_20long_29($0 | 0, HEAP32[($3 + 12 | 0) >> 2] | 0 | 0); + std____2__basic_string_char_2c_20std____2__char_traits_char__2c_20std____2__allocator_char______set_long_size_5babi_v160004_5d_28unsigned_20long_29($0 | 0, $2 | 0); + } + std____2__char_traits_char___copy_28char__2c_20char_20const__2c_20unsigned_20long_29(char__20std____2____to_address_5babi_v160004_5d_char__28char__29($4 | 0) | 0 | 0, $1 | 0, $2 | 0) | 0; + HEAP8[($3 + 7 | 0) >> 0] = 0; + std____2__char_traits_char___assign_28char__2c_20char_20const__29($4 + $2 | 0 | 0, $3 + 7 | 0 | 0); + __stack_pointer = $3 + 16 | 0; + return; + } + std____2__basic_string_char_2c_20std____2__char_traits_char__2c_20std____2__allocator_char______throw_length_error_5babi_v160004_5d_28_29_20const($0 | 0); + wasm2js_trap(); + } + + function std____2____compressed_pair_std____2__basic_string_char_2c_20std____2__char_traits_char__2c_20std____2__allocator_char______rep_2c_20std____2__allocator_char____second_5babi_v160004_5d_28_29_20const($0) { + $0 = $0 | 0; + return std____2____compressed_pair_elem_std____2__allocator_char__2c_201_2c_20true_____get_5babi_v160004_5d_28_29_20const($0 | 0) | 0 | 0; + } + + function std____2____libcpp_numeric_limits_unsigned_20long_2c_20true___max_5babi_v160004_5d_28_29() { + return -1 | 0; + } + + function std____2____compressed_pair_elem_std____2__allocator_char__2c_201_2c_20true_____get_5babi_v160004_5d_28_29_20const($0) { + $0 = $0 | 0; + return $0 | 0; + } + + function std____2____compressed_pair_elem_std____2__basic_string_char_2c_20std____2__char_traits_char__2c_20std____2__allocator_char______rep_2c_200_2c_20false_____get_5babi_v160004_5d_28_29($0) { + $0 = $0 | 0; + return $0 | 0; + } + + function std____throw_bad_array_new_length_5babi_v160004_5d_28_29() { + abort(); + wasm2js_trap(); + } + + function std____2____libcpp_allocate_5babi_v160004_5d_28unsigned_20long_2c_20unsigned_20long_29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + label$1 : { + if (!(std____2____is_overaligned_for_new_5babi_v160004_5d_28unsigned_20long_29($1 | 0) | 0)) { + break label$1 + } + return void__20std____2____libcpp_operator_new_5babi_v160004_5d_unsigned_20long_2c_20std__align_val_t__28unsigned_20long_2c_20std__align_val_t_29($0 | 0, $1 | 0) | 0 | 0; + } + return void__20std____2____libcpp_operator_new_5babi_v160004_5d_unsigned_20long__28unsigned_20long_29($0 | 0) | 0 | 0; + } + + function std____2____is_overaligned_for_new_5babi_v160004_5d_28unsigned_20long_29($0) { + $0 = $0 | 0; + return $0 >>> 0 > 8 >>> 0 | 0; + } + + function void__20std____2____libcpp_operator_new_5babi_v160004_5d_unsigned_20long_2c_20std__align_val_t__28unsigned_20long_2c_20std__align_val_t_29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + return operator_20new_28unsigned_20long_2c_20std__align_val_t_29($0 | 0, $1 | 0) | 0 | 0; + } + + function void__20std____2____libcpp_operator_new_5babi_v160004_5d_unsigned_20long__28unsigned_20long_29($0) { + $0 = $0 | 0; + return operator_20new_28unsigned_20long_29($0 | 0) | 0 | 0; + } + + function std____2____compressed_pair_elem_std____2__allocator_char__2c_201_2c_20true_____get_5babi_v160004_5d_28_29($0) { + $0 = $0 | 0; + return $0 | 0; + } + + function char__20std____2__copy_5babi_v160004_5d_char_20const__2c_20char___28char_20const__2c_20char_20const__2c_20char__29($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $3 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + std____2__pair_char_20const__2c_20char___20std____2____copy_5babi_v160004_5d_std____2___ClassicAlgPolicy_2c_20char_20const__2c_20char_20const__2c_20char___28char_20const__2c_20char_20const__2c_20char__29($3 + 8 | 0 | 0, $0 | 0, $1 | 0, $2 | 0); + $2 = HEAP32[($3 + 12 | 0) >> 2] | 0; + __stack_pointer = $3 + 16 | 0; + return $2 | 0; + } + + function std____2__pair_char_20const__2c_20char___20std____2____copy_5babi_v160004_5d_std____2___ClassicAlgPolicy_2c_20char_20const__2c_20char_20const__2c_20char___28char_20const__2c_20char_20const__2c_20char__29($0, $1, $2, $3) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + std____2__pair_char_20const__2c_20char___20std____2____dispatch_copy_or_move_5babi_v160004_5d_std____2___ClassicAlgPolicy_2c_20std____2____copy_loop_std____2___ClassicAlgPolicy__2c_20std____2____copy_trivial_2c_20char_20const__2c_20char_20const__2c_20char___28char_20const__2c_20char_20const__2c_20char__29($0 | 0, $1 | 0, $2 | 0, $3 | 0); + } + + function std____2__pair_char_20const__2c_20char___20std____2____dispatch_copy_or_move_5babi_v160004_5d_std____2___ClassicAlgPolicy_2c_20std____2____copy_loop_std____2___ClassicAlgPolicy__2c_20std____2____copy_trivial_2c_20char_20const__2c_20char_20const__2c_20char___28char_20const__2c_20char_20const__2c_20char__29($0, $1, $2, $3) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + std____2__pair_char_20const__2c_20char___20std____2____unwrap_and_dispatch_5babi_v160004_5d_std____2____overload_std____2____copy_loop_std____2___ClassicAlgPolicy__2c_20std____2____copy_trivial__2c_20char_20const__2c_20char_20const__2c_20char__2c_200__28char_20const__2c_20char_20const__2c_20char__29($0 | 0, $1 | 0, $2 | 0, $3 | 0); + } + + function std____2__pair_char_20const__2c_20char___20std____2____unwrap_and_dispatch_5babi_v160004_5d_std____2____overload_std____2____copy_loop_std____2___ClassicAlgPolicy__2c_20std____2____copy_trivial__2c_20char_20const__2c_20char_20const__2c_20char__2c_200__28char_20const__2c_20char_20const__2c_20char__29($0, $1, $2, $3) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + var $4 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4 = __stack_pointer - 32 | 0; + __stack_pointer = $4; + auto_20std____2____unwrap_range_5babi_v160004_5d_char_20const__2c_20char_20const___28char_20const__2c_20char_20const__29($4 + 24 | 0 | 0, $1 | 0, $2 | 0); + std____2__pair_char_20const__2c_20char___20std____2____copy_trivial__operator_28_29_5babi_v160004_5d_char_20const_2c_20char_2c_200__28char_20const__2c_20char_20const__2c_20char__29_20const($4 + 16 | 0 | 0, $4 + 12 | 0 | 0, HEAP32[($4 + 24 | 0) >> 2] | 0 | 0, HEAP32[($4 + 28 | 0) >> 2] | 0 | 0, decltype_28std____2____unwrap_iter_impl_char__2c_20true_____unwrap_28std__declval_char___28_29_29_29_20std____2____unwrap_iter_5babi_v160004_5d_char__2c_20std____2____unwrap_iter_impl_char__2c_20true__2c_200__28char__29($3 | 0) | 0 | 0); + (wasm2js_i32$0 = $4, wasm2js_i32$1 = char_20const__20std____2____rewrap_range_5babi_v160004_5d_char_20const__2c_20char_20const__2c_20char_20const___28char_20const__2c_20char_20const__29($1 | 0, HEAP32[($4 + 16 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $4, wasm2js_i32$1 = char__20std____2____rewrap_iter_5babi_v160004_5d_char__2c_20char__2c_20std____2____unwrap_iter_impl_char__2c_20true___28char__2c_20char__29($3 | 0, HEAP32[($4 + 20 | 0) >> 2] | 0 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + std____2__pair_std____2____unwrap_ref_decay_char_20const____type_2c_20std____2____unwrap_ref_decay_char____type__20std____2__make_pair_5babi_v160004_5d_char_20const__2c_20char___28char_20const____2c_20char____29($0 | 0, $4 + 12 | 0 | 0, $4 + 8 | 0 | 0); + __stack_pointer = $4 + 32 | 0; + } + + function auto_20std____2____unwrap_range_5babi_v160004_5d_char_20const__2c_20char_20const___28char_20const__2c_20char_20const__29($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + std____2____unwrap_range_impl_char_20const__2c_20char_20const______unwrap_5babi_v160004_5d_28char_20const__2c_20char_20const__29($0 | 0, $1 | 0, $2 | 0); + } + + function decltype_28std____2____unwrap_iter_impl_char__2c_20true_____unwrap_28std__declval_char___28_29_29_29_20std____2____unwrap_iter_5babi_v160004_5d_char__2c_20std____2____unwrap_iter_impl_char__2c_20true__2c_200__28char__29($0) { + $0 = $0 | 0; + return std____2____unwrap_iter_impl_char__2c_20true_____unwrap_5babi_v160004_5d_28char__29($0 | 0) | 0 | 0; + } + + function std____2__pair_char_20const__2c_20char___20std____2____copy_trivial__operator_28_29_5babi_v160004_5d_char_20const_2c_20char_2c_200__28char_20const__2c_20char_20const__2c_20char__29_20const($0, $1, $2, $3, $4) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + $4 = $4 | 0; + std____2__pair_char_20const__2c_20char___20std____2____copy_trivial_impl_5babi_v160004_5d_char_20const_2c_20char__28char_20const__2c_20char_20const__2c_20char__29($0 | 0, $2 | 0, $3 | 0, $4 | 0); + } + + function char_20const__20std____2____rewrap_range_5babi_v160004_5d_char_20const__2c_20char_20const__2c_20char_20const___28char_20const__2c_20char_20const__29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + return std____2____unwrap_range_impl_char_20const__2c_20char_20const______rewrap_5babi_v160004_5d_28char_20const__2c_20char_20const__29($0 | 0, $1 | 0) | 0 | 0; + } + + function char__20std____2____rewrap_iter_5babi_v160004_5d_char__2c_20char__2c_20std____2____unwrap_iter_impl_char__2c_20true___28char__2c_20char__29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + return std____2____unwrap_iter_impl_char__2c_20true_____rewrap_5babi_v160004_5d_28char__2c_20char__29($0 | 0, $1 | 0) | 0 | 0; + } + + function std____2__pair_std____2____unwrap_ref_decay_char_20const____type_2c_20std____2____unwrap_ref_decay_char____type__20std____2__make_pair_5babi_v160004_5d_char_20const__2c_20char___28char_20const____2c_20char____29($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + std____2__pair_char_20const__2c_20char____pair_5babi_v160004_5d_char_20const__2c_20char__2c_20_28void__290__28char_20const____2c_20char____29($0 | 0, $1 | 0, $2 | 0) | 0; + } + + function std____2____unwrap_range_impl_char_20const__2c_20char_20const______unwrap_5babi_v160004_5d_28char_20const__2c_20char_20const__29($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $3 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $3 = __stack_pointer - 16 | 0; + __stack_pointer = $3; + (wasm2js_i32$0 = $3, wasm2js_i32$1 = decltype_28std____2____unwrap_iter_impl_char_20const__2c_20true_____unwrap_28std__declval_char_20const___28_29_29_29_20std____2____unwrap_iter_5babi_v160004_5d_char_20const__2c_20std____2____unwrap_iter_impl_char_20const__2c_20true__2c_200__28char_20const__29($1 | 0) | 0), HEAP32[(wasm2js_i32$0 + 12 | 0) >> 2] = wasm2js_i32$1; + (wasm2js_i32$0 = $3, wasm2js_i32$1 = decltype_28std____2____unwrap_iter_impl_char_20const__2c_20true_____unwrap_28std__declval_char_20const___28_29_29_29_20std____2____unwrap_iter_5babi_v160004_5d_char_20const__2c_20std____2____unwrap_iter_impl_char_20const__2c_20true__2c_200__28char_20const__29($2 | 0) | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + std____2__pair_char_20const__2c_20char_20const____pair_5babi_v160004_5d_char_20const__2c_20char_20const__2c_20_28void__290__28char_20const____2c_20char_20const____29($0 | 0, $3 + 12 | 0 | 0, $3 + 8 | 0 | 0) | 0; + __stack_pointer = $3 + 16 | 0; + } + + function std____2__pair_char_20const__2c_20char___20std____2____copy_trivial_impl_5babi_v160004_5d_char_20const_2c_20char__28char_20const__2c_20char_20const__2c_20char__29($0, $1, $2, $3) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + var $4 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0; + $4 = __stack_pointer - 16 | 0; + __stack_pointer = $4; + HEAP32[($4 + 12 | 0) >> 2] = $2; + $2 = $2 - $1 | 0; + (wasm2js_i32$0 = $4, wasm2js_i32$1 = (memmove($3 | 0, $1 | 0, $2 | 0) | 0) + $2 | 0), HEAP32[(wasm2js_i32$0 + 8 | 0) >> 2] = wasm2js_i32$1; + std____2__pair_std____2____unwrap_ref_decay_char_20const_____type_2c_20std____2____unwrap_ref_decay_char____type__20std____2__make_pair_5babi_v160004_5d_char_20const___2c_20char___28char_20const___2c_20char____29($0 | 0, $4 + 12 | 0 | 0, $4 + 8 | 0 | 0); + __stack_pointer = $4 + 16 | 0; + } + + function std____2____unwrap_iter_impl_char__2c_20true_____unwrap_5babi_v160004_5d_28char__29($0) { + $0 = $0 | 0; + return char__20std____2____to_address_5babi_v160004_5d_char__28char__29($0 | 0) | 0 | 0; + } + + function std____2__pair_char_20const__2c_20char____pair_5babi_v160004_5d_char_20const__2c_20char__2c_20_28void__290__28char_20const____2c_20char____29($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + HEAP32[$0 >> 2] = HEAP32[$1 >> 2] | 0; + HEAP32[($0 + 4 | 0) >> 2] = HEAP32[$2 >> 2] | 0; + return $0 | 0; + } + + function std____2____unwrap_range_impl_char_20const__2c_20char_20const______rewrap_5babi_v160004_5d_28char_20const__2c_20char_20const__29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + return char_20const__20std____2____rewrap_iter_5babi_v160004_5d_char_20const__2c_20char_20const__2c_20std____2____unwrap_iter_impl_char_20const__2c_20true___28char_20const__2c_20char_20const__29($0 | 0, $1 | 0) | 0 | 0; + } + + function std____2____unwrap_iter_impl_char__2c_20true_____rewrap_5babi_v160004_5d_28char__2c_20char__29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + return $0 + ($1 - (char__20std____2____to_address_5babi_v160004_5d_char__28char__29($0 | 0) | 0) | 0) | 0 | 0; + } + + function decltype_28std____2____unwrap_iter_impl_char_20const__2c_20true_____unwrap_28std__declval_char_20const___28_29_29_29_20std____2____unwrap_iter_5babi_v160004_5d_char_20const__2c_20std____2____unwrap_iter_impl_char_20const__2c_20true__2c_200__28char_20const__29($0) { + $0 = $0 | 0; + return std____2____unwrap_iter_impl_char_20const__2c_20true_____unwrap_5babi_v160004_5d_28char_20const__29($0 | 0) | 0 | 0; + } + + function std____2__pair_char_20const__2c_20char_20const____pair_5babi_v160004_5d_char_20const__2c_20char_20const__2c_20_28void__290__28char_20const____2c_20char_20const____29($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + HEAP32[$0 >> 2] = HEAP32[$1 >> 2] | 0; + HEAP32[($0 + 4 | 0) >> 2] = HEAP32[$2 >> 2] | 0; + return $0 | 0; + } + + function std____2____unwrap_iter_impl_char_20const__2c_20true_____unwrap_5babi_v160004_5d_28char_20const__29($0) { + $0 = $0 | 0; + return char_20const__20std____2____to_address_5babi_v160004_5d_char_20const__28char_20const__29($0 | 0) | 0 | 0; + } + + function std____2__pair_std____2____unwrap_ref_decay_char_20const_____type_2c_20std____2____unwrap_ref_decay_char____type__20std____2__make_pair_5babi_v160004_5d_char_20const___2c_20char___28char_20const___2c_20char____29($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + std____2__pair_char_20const__2c_20char____pair_5babi_v160004_5d_char_20const___2c_20char__2c_20_28void__290__28char_20const___2c_20char____29($0 | 0, $1 | 0, $2 | 0) | 0; + } + + function std____2__pair_char_20const__2c_20char____pair_5babi_v160004_5d_char_20const___2c_20char__2c_20_28void__290__28char_20const___2c_20char____29($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + HEAP32[$0 >> 2] = HEAP32[$1 >> 2] | 0; + HEAP32[($0 + 4 | 0) >> 2] = HEAP32[$2 >> 2] | 0; + return $0 | 0; + } + + function char_20const__20std____2____rewrap_iter_5babi_v160004_5d_char_20const__2c_20char_20const__2c_20std____2____unwrap_iter_impl_char_20const__2c_20true___28char_20const__2c_20char_20const__29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + return std____2____unwrap_iter_impl_char_20const__2c_20true_____rewrap_5babi_v160004_5d_28char_20const__2c_20char_20const__29($0 | 0, $1 | 0) | 0 | 0; + } + + function std____2____unwrap_iter_impl_char_20const__2c_20true_____rewrap_5babi_v160004_5d_28char_20const__2c_20char_20const__29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + return $0 + ($1 - (char_20const__20std____2____to_address_5babi_v160004_5d_char_20const__28char_20const__29($0 | 0) | 0) | 0) | 0 | 0; + } + + function std____2____libcpp_deallocate_5babi_v160004_5d_28void__2c_20unsigned_20long_2c_20unsigned_20long_29($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + label$1 : { + if (!(std____2____is_overaligned_for_new_5babi_v160004_5d_28unsigned_20long_29($2 | 0) | 0)) { + break label$1 + } + void_20std____2____do_deallocate_handle_size_5babi_v160004_5d_std__align_val_t__28void__2c_20unsigned_20long_2c_20std__align_val_t_29($0 | 0, $1 | 0, $2 | 0); + return; + } + void_20std____2____do_deallocate_handle_size_5babi_v160004_5d___28void__2c_20unsigned_20long_29($0 | 0, $1 | 0); + } + + function void_20std____2____do_deallocate_handle_size_5babi_v160004_5d_std__align_val_t__28void__2c_20unsigned_20long_2c_20std__align_val_t_29($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + void_20std____2____libcpp_operator_delete_5babi_v160004_5d_void__2c_20std__align_val_t__28void__2c_20std__align_val_t_29($0 | 0, $2 | 0); + } + + function void_20std____2____do_deallocate_handle_size_5babi_v160004_5d___28void__2c_20unsigned_20long_29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + void_20std____2____libcpp_operator_delete_5babi_v160004_5d_void___28void__29($0 | 0); + } + + function void_20std____2____libcpp_operator_delete_5babi_v160004_5d_void__2c_20std__align_val_t__28void__2c_20std__align_val_t_29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + operator_20delete_28void__2c_20std__align_val_t_29($0 | 0, $1 | 0); + } + + function void_20std____2____libcpp_operator_delete_5babi_v160004_5d_void___28void__29($0) { + $0 = $0 | 0; + operator_20delete_28void__29($0 | 0); + } + + function fputc($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + return do_putc($0 | 0, $1 | 0) | 0 | 0; + } + + function do_putc($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $2 = 0, $3 = 0; + label$1 : { + label$2 : { + $2 = HEAP32[($1 + 76 | 0) >> 2] | 0; + if (($2 | 0) < (0 | 0)) { + break label$2 + } + if (!$2) { + break label$1 + } + if (($2 & -1073741825 | 0 | 0) != (HEAP32[((__get_tp() | 0) + 24 | 0) >> 2] | 0 | 0)) { + break label$1 + } + } + label$3 : { + $2 = $0 & 255 | 0; + if (($2 | 0) == (HEAP32[($1 + 80 | 0) >> 2] | 0 | 0)) { + break label$3 + } + $3 = HEAP32[($1 + 20 | 0) >> 2] | 0; + if (($3 | 0) == (HEAP32[($1 + 16 | 0) >> 2] | 0 | 0)) { + break label$3 + } + HEAP32[($1 + 20 | 0) >> 2] = $3 + 1 | 0; + HEAP8[$3 >> 0] = $0; + return $2 | 0; + } + return __overflow($1 | 0, $2 | 0) | 0 | 0; + } + return locking_putc($0 | 0, $1 | 0) | 0 | 0; + } + + function locking_putc($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $3 = 0, $2 = 0, $4 = 0; + label$1 : { + $2 = $1 + 76 | 0; + if (!(a_cas($2 | 0) | 0)) { + break label$1 + } + __lockfile($1 | 0) | 0; + } + label$2 : { + label$3 : { + $3 = $0 & 255 | 0; + if (($3 | 0) == (HEAP32[($1 + 80 | 0) >> 2] | 0 | 0)) { + break label$3 + } + $4 = HEAP32[($1 + 20 | 0) >> 2] | 0; + if (($4 | 0) == (HEAP32[($1 + 16 | 0) >> 2] | 0 | 0)) { + break label$3 + } + HEAP32[($1 + 20 | 0) >> 2] = $4 + 1 | 0; + HEAP8[$4 >> 0] = $0; + break label$2; + } + $3 = __overflow($1 | 0, $3 | 0) | 0; + } + label$4 : { + if (!((a_swap($2 | 0) | 0) & 1073741824 | 0)) { + break label$4 + } + __wake($2 | 0); + } + return $3 | 0; + } + + function a_cas($0) { + $0 = $0 | 0; + var $1 = 0; + $1 = HEAP32[$0 >> 2] | 0; + HEAP32[$0 >> 2] = $1 ? $1 : 1073741823; + return $1 | 0; + } + + function a_swap($0) { + $0 = $0 | 0; + var $1 = 0; + $1 = HEAP32[$0 >> 2] | 0; + HEAP32[$0 >> 2] = 0; + return $1 | 0; + } + + function __wake($0) { + $0 = $0 | 0; + emscripten_futex_wake($0 | 0, 1 | 0) | 0; + } + + function abort_message($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $3 = 0, $2 = 0; + $2 = __stack_pointer - 16 | 0; + __stack_pointer = $2; + $3 = HEAP32[(0 + 109264 | 0) >> 2] | 0; + fwrite(88317 | 0, 11 | 0, 1 | 0, $3 | 0) | 0; + HEAP32[($2 + 12 | 0) >> 2] = $1; + vfprintf($3 | 0, $0 | 0, $1 | 0) | 0; + fputc(10 | 0, $3 | 0) | 0; + abort(); + wasm2js_trap(); + } + + function void_20_28_std____2___28anonymous_20namespace_29____libcpp_atomic_load_5babi_v160004_5d_void_20_28__29_28_29__28void_20_28__20const__29_28_29_2c_20int_29_29_28_29($0) { + $0 = $0 | 0; + return HEAP32[$0 >> 2] | 0 | 0; + } + + function std__get_new_handler_28_29() { + return void_20_28_std____2___28anonymous_20namespace_29____libcpp_atomic_load_5babi_v160004_5d_void_20_28__29_28_29__28void_20_28__20const__29_28_29_2c_20int_29_29_28_29(117988 | 0) | 0 | 0; + } + + function __cxa_pure_virtual() { + abort_message(88287 | 0, 0 | 0); + wasm2js_trap(); + } + + function __cxxabiv1____shim_type_info_____shim_type_info_28_29($0) { + $0 = $0 | 0; + return std__type_info___type_info_28_29($0 | 0) | 0 | 0; + } + + function __cxxabiv1____shim_type_info__noop1_28_29_20const($0) { + $0 = $0 | 0; + } + + function __cxxabiv1____shim_type_info__noop2_28_29_20const($0) { + $0 = $0 | 0; + } + + function __cxxabiv1____fundamental_type_info_____fundamental_type_info_28_29($0) { + $0 = $0 | 0; + operator_20delete_28void__29(__cxxabiv1____shim_type_info_____shim_type_info_28_29($0 | 0) | 0 | 0); + } + + function __cxxabiv1____class_type_info_____class_type_info_28_29($0) { + $0 = $0 | 0; + operator_20delete_28void__29(__cxxabiv1____shim_type_info_____shim_type_info_28_29($0 | 0) | 0 | 0); + } + + function __cxxabiv1____si_class_type_info_____si_class_type_info_28_29($0) { + $0 = $0 | 0; + operator_20delete_28void__29(__cxxabiv1____shim_type_info_____shim_type_info_28_29($0 | 0) | 0 | 0); + } + + function __cxxabiv1____vmi_class_type_info_____vmi_class_type_info_28_29($0) { + $0 = $0 | 0; + operator_20delete_28void__29(__cxxabiv1____shim_type_info_____shim_type_info_28_29($0 | 0) | 0 | 0); + } + + function __cxxabiv1____pointer_type_info_____pointer_type_info_28_29($0) { + $0 = $0 | 0; + operator_20delete_28void__29(__cxxabiv1____shim_type_info_____shim_type_info_28_29($0 | 0) | 0 | 0); + } + + function __cxxabiv1____fundamental_type_info__can_catch_28__cxxabiv1____shim_type_info_20const__2c_20void___29_20const($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + return is_equal_28std__type_info_20const__2c_20std__type_info_20const__2c_20bool_29($0 | 0, $1 | 0, 0 | 0) | 0 | 0; + } + + function is_equal_28std__type_info_20const__2c_20std__type_info_20const__2c_20bool_29($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + label$1 : { + if ($2) { + break label$1 + } + return (HEAP32[($0 + 4 | 0) >> 2] | 0 | 0) == (HEAP32[($1 + 4 | 0) >> 2] | 0 | 0) | 0; + } + label$2 : { + if (($0 | 0) != ($1 | 0)) { + break label$2 + } + return 1 | 0; + } + return !(strcmp(std__type_info__name_5babi_v160004_5d_28_29_20const($0 | 0) | 0 | 0, std__type_info__name_5babi_v160004_5d_28_29_20const($1 | 0) | 0 | 0) | 0) | 0; + } + + function std__type_info__name_5babi_v160004_5d_28_29_20const($0) { + $0 = $0 | 0; + return HEAP32[($0 + 4 | 0) >> 2] | 0 | 0; + } + + function __cxxabiv1____class_type_info__can_catch_28__cxxabiv1____shim_type_info_20const__2c_20void___29_20const($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $3 = 0, $4 = 0; + $3 = __stack_pointer - 64 | 0; + __stack_pointer = $3; + $4 = 1; + label$1 : { + if (is_equal_28std__type_info_20const__2c_20std__type_info_20const__2c_20bool_29($0 | 0, $1 | 0, 0 | 0) | 0) { + break label$1 + } + $4 = 0; + if (!$1) { + break label$1 + } + $4 = 0; + $1 = __dynamic_cast($1 | 0, 109304 | 0, 109352 | 0, 0 | 0) | 0; + if (!$1) { + break label$1 + } + __memset($3 + 12 | 0 | 0, 0 | 0, 52 | 0) | 0; + HEAP32[($3 + 56 | 0) >> 2] = 1; + HEAP32[($3 + 20 | 0) >> 2] = -1; + HEAP32[($3 + 16 | 0) >> 2] = $0; + HEAP32[($3 + 8 | 0) >> 2] = $1; + FUNCTION_TABLE[HEAP32[((HEAP32[$1 >> 2] | 0) + 28 | 0) >> 2] | 0 | 0]($1, $3 + 8 | 0, HEAP32[$2 >> 2] | 0, 1); + label$2 : { + $4 = HEAP32[($3 + 32 | 0) >> 2] | 0; + if (($4 | 0) != (1 | 0)) { + break label$2 + } + HEAP32[$2 >> 2] = HEAP32[($3 + 24 | 0) >> 2] | 0; + } + $4 = ($4 | 0) == (1 | 0); + } + __stack_pointer = $3 + 64 | 0; + return $4 | 0; + } + + function __dynamic_cast($0, $1, $2, $3) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + var $4 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, $6 = 0, $5 = 0, $9 = 0, wasm2js_i32$0 = 0, wasm2js_i32$1 = 0, wasm2js_i32$2 = 0, wasm2js_i32$3 = 0, wasm2js_i32$4 = 0, wasm2js_i32$5 = 0, wasm2js_i32$6 = 0, wasm2js_i32$7 = 0, wasm2js_i32$8 = 0; + $4 = __stack_pointer - 64 | 0; + __stack_pointer = $4; + $5 = HEAP32[$0 >> 2] | 0; + $6 = HEAP32[($5 + -4 | 0) >> 2] | 0; + $5 = HEAP32[($5 + -8 | 0) >> 2] | 0; + i64toi32_i32$1 = $4 + 32 | 0; + i64toi32_i32$0 = 0; + HEAP32[i64toi32_i32$1 >> 2] = 0; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $4 + 40 | 0; + i64toi32_i32$0 = 0; + HEAP32[i64toi32_i32$1 >> 2] = 0; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $4 + 48 | 0; + i64toi32_i32$0 = 0; + HEAP32[i64toi32_i32$1 >> 2] = 0; + HEAP32[(i64toi32_i32$1 + 4 | 0) >> 2] = i64toi32_i32$0; + i64toi32_i32$1 = $4 + 55 | 0; + i64toi32_i32$0 = 0; + $9 = 0; + HEAP8[i64toi32_i32$1 >> 0] = $9; + HEAP8[(i64toi32_i32$1 + 1 | 0) >> 0] = $9 >>> 8 | 0; + HEAP8[(i64toi32_i32$1 + 2 | 0) >> 0] = $9 >>> 16 | 0; + HEAP8[(i64toi32_i32$1 + 3 | 0) >> 0] = $9 >>> 24 | 0; + HEAP8[(i64toi32_i32$1 + 4 | 0) >> 0] = i64toi32_i32$0; + HEAP8[(i64toi32_i32$1 + 5 | 0) >> 0] = i64toi32_i32$0 >>> 8 | 0; + HEAP8[(i64toi32_i32$1 + 6 | 0) >> 0] = i64toi32_i32$0 >>> 16 | 0; + HEAP8[(i64toi32_i32$1 + 7 | 0) >> 0] = i64toi32_i32$0 >>> 24 | 0; + i64toi32_i32$1 = $4; + i64toi32_i32$0 = 0; + HEAP32[($4 + 24 | 0) >> 2] = 0; + HEAP32[($4 + 28 | 0) >> 2] = i64toi32_i32$0; + HEAP32[($4 + 20 | 0) >> 2] = $3; + HEAP32[($4 + 16 | 0) >> 2] = $1; + HEAP32[($4 + 12 | 0) >> 2] = $0; + HEAP32[($4 + 8 | 0) >> 2] = $2; + $0 = $0 + $5 | 0; + $3 = 0; + label$1 : { + label$2 : { + if (!(is_equal_28std__type_info_20const__2c_20std__type_info_20const__2c_20bool_29($6 | 0, $2 | 0, 0 | 0) | 0)) { + break label$2 + } + HEAP32[($4 + 56 | 0) >> 2] = 1; + FUNCTION_TABLE[HEAP32[((HEAP32[$6 >> 2] | 0) + 20 | 0) >> 2] | 0 | 0]($6, $4 + 8 | 0, $0, $0, 1, 0); + $3 = (HEAP32[($4 + 32 | 0) >> 2] | 0 | 0) == (1 | 0) ? $0 : 0; + break label$1; + } + FUNCTION_TABLE[HEAP32[((HEAP32[$6 >> 2] | 0) + 24 | 0) >> 2] | 0 | 0]($6, $4 + 8 | 0, $0, 1, 0); + label$3 : { + switch (HEAP32[($4 + 44 | 0) >> 2] | 0 | 0) { + case 0: + $3 = (wasm2js_i32$0 = (wasm2js_i32$3 = (wasm2js_i32$6 = HEAP32[($4 + 28 | 0) >> 2] | 0, wasm2js_i32$7 = 0, wasm2js_i32$8 = (HEAP32[($4 + 40 | 0) >> 2] | 0 | 0) == (1 | 0), wasm2js_i32$8 ? wasm2js_i32$6 : wasm2js_i32$7), wasm2js_i32$4 = 0, wasm2js_i32$5 = (HEAP32[($4 + 36 | 0) >> 2] | 0 | 0) == (1 | 0), wasm2js_i32$5 ? wasm2js_i32$3 : wasm2js_i32$4), wasm2js_i32$1 = 0, wasm2js_i32$2 = (HEAP32[($4 + 48 | 0) >> 2] | 0 | 0) == (1 | 0), wasm2js_i32$2 ? wasm2js_i32$0 : wasm2js_i32$1); + break label$1; + case 1: + break label$3; + default: + break label$1; + }; + } + label$5 : { + if ((HEAP32[($4 + 32 | 0) >> 2] | 0 | 0) == (1 | 0)) { + break label$5 + } + if (HEAP32[($4 + 48 | 0) >> 2] | 0) { + break label$1 + } + if ((HEAP32[($4 + 36 | 0) >> 2] | 0 | 0) != (1 | 0)) { + break label$1 + } + if ((HEAP32[($4 + 40 | 0) >> 2] | 0 | 0) != (1 | 0)) { + break label$1 + } + } + $3 = HEAP32[($4 + 24 | 0) >> 2] | 0; + } + __stack_pointer = $4 + 64 | 0; + return $3 | 0; + } + + function __cxxabiv1____class_type_info__process_found_base_class_28__cxxabiv1____dynamic_cast_info__2c_20void__2c_20int_29_20const($0, $1, $2, $3) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + var $4 = 0; + label$1 : { + $4 = HEAP32[($1 + 16 | 0) >> 2] | 0; + if ($4) { + break label$1 + } + HEAP32[($1 + 36 | 0) >> 2] = 1; + HEAP32[($1 + 24 | 0) >> 2] = $3; + HEAP32[($1 + 16 | 0) >> 2] = $2; + return; + } + label$2 : { + label$3 : { + if (($4 | 0) != ($2 | 0)) { + break label$3 + } + if ((HEAP32[($1 + 24 | 0) >> 2] | 0 | 0) != (2 | 0)) { + break label$2 + } + HEAP32[($1 + 24 | 0) >> 2] = $3; + return; + } + HEAP8[($1 + 54 | 0) >> 0] = 1; + HEAP32[($1 + 24 | 0) >> 2] = 2; + HEAP32[($1 + 36 | 0) >> 2] = (HEAP32[($1 + 36 | 0) >> 2] | 0) + 1 | 0; + } + } + + function __cxxabiv1____class_type_info__has_unambiguous_public_base_28__cxxabiv1____dynamic_cast_info__2c_20void__2c_20int_29_20const($0, $1, $2, $3) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + label$1 : { + if (!(is_equal_28std__type_info_20const__2c_20std__type_info_20const__2c_20bool_29($0 | 0, HEAP32[($1 + 8 | 0) >> 2] | 0 | 0, 0 | 0) | 0)) { + break label$1 + } + __cxxabiv1____class_type_info__process_found_base_class_28__cxxabiv1____dynamic_cast_info__2c_20void__2c_20int_29_20const($1 | 0, $1 | 0, $2 | 0, $3 | 0); + } + } + + function __cxxabiv1____si_class_type_info__has_unambiguous_public_base_28__cxxabiv1____dynamic_cast_info__2c_20void__2c_20int_29_20const($0, $1, $2, $3) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + label$1 : { + if (!(is_equal_28std__type_info_20const__2c_20std__type_info_20const__2c_20bool_29($0 | 0, HEAP32[($1 + 8 | 0) >> 2] | 0 | 0, 0 | 0) | 0)) { + break label$1 + } + __cxxabiv1____class_type_info__process_found_base_class_28__cxxabiv1____dynamic_cast_info__2c_20void__2c_20int_29_20const($1 | 0, $1 | 0, $2 | 0, $3 | 0); + return; + } + $0 = HEAP32[($0 + 8 | 0) >> 2] | 0; + FUNCTION_TABLE[HEAP32[((HEAP32[$0 >> 2] | 0) + 28 | 0) >> 2] | 0 | 0]($0, $1, $2, $3); + } + + function __cxxabiv1____base_class_type_info__has_unambiguous_public_base_28__cxxabiv1____dynamic_cast_info__2c_20void__2c_20int_29_20const($0, $1, $2, $3) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + var $5 = 0, $4 = 0; + $4 = HEAP32[($0 + 4 | 0) >> 2] | 0; + label$1 : { + label$2 : { + if ($2) { + break label$2 + } + $5 = 0; + break label$1; + } + $5 = $4 >> 8 | 0; + if (!($4 & 1 | 0)) { + break label$1 + } + $5 = update_offset_to_base_28char_20const__2c_20long_29(HEAP32[$2 >> 2] | 0 | 0, $5 | 0) | 0; + } + $0 = HEAP32[$0 >> 2] | 0; + FUNCTION_TABLE[HEAP32[((HEAP32[$0 >> 2] | 0) + 28 | 0) >> 2] | 0 | 0]($0, $1, $2 + $5 | 0, $4 & 2 | 0 ? $3 : 2); + } + + function update_offset_to_base_28char_20const__2c_20long_29($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + return HEAP32[($0 + $1 | 0) >> 2] | 0 | 0; + } + + function __cxxabiv1____vmi_class_type_info__has_unambiguous_public_base_28__cxxabiv1____dynamic_cast_info__2c_20void__2c_20int_29_20const($0, $1, $2, $3) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + var $4 = 0, $5 = 0; + label$1 : { + if (!(is_equal_28std__type_info_20const__2c_20std__type_info_20const__2c_20bool_29($0 | 0, HEAP32[($1 + 8 | 0) >> 2] | 0 | 0, 0 | 0) | 0)) { + break label$1 + } + __cxxabiv1____class_type_info__process_found_base_class_28__cxxabiv1____dynamic_cast_info__2c_20void__2c_20int_29_20const($0 | 0, $1 | 0, $2 | 0, $3 | 0); + return; + } + $4 = HEAP32[($0 + 12 | 0) >> 2] | 0; + $5 = $0 + 16 | 0; + __cxxabiv1____base_class_type_info__has_unambiguous_public_base_28__cxxabiv1____dynamic_cast_info__2c_20void__2c_20int_29_20const($5 | 0, $1 | 0, $2 | 0, $3 | 0); + label$2 : { + $0 = $0 + 24 | 0; + $4 = $5 + ($4 << 3 | 0) | 0; + if ($0 >>> 0 >= $4 >>> 0) { + break label$2 + } + label$3 : while (1) { + __cxxabiv1____base_class_type_info__has_unambiguous_public_base_28__cxxabiv1____dynamic_cast_info__2c_20void__2c_20int_29_20const($0 | 0, $1 | 0, $2 | 0, $3 | 0); + if (HEAPU8[($1 + 54 | 0) >> 0] | 0) { + break label$2 + } + $0 = $0 + 8 | 0; + if ($0 >>> 0 < $4 >>> 0) { + continue label$3 + } + break label$3; + }; + } + } + + function __cxxabiv1____pbase_type_info__can_catch_28__cxxabiv1____shim_type_info_20const__2c_20void___29_20const($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $3 = 0, $4 = 0; + $3 = 1; + label$1 : { + label$2 : { + if ((HEAPU8[($0 + 8 | 0) >> 0] | 0) & 24 | 0) { + break label$2 + } + $3 = 0; + if (!$1) { + break label$1 + } + $4 = __dynamic_cast($1 | 0, 109304 | 0, 109400 | 0, 0 | 0) | 0; + if (!$4) { + break label$1 + } + $3 = ((HEAPU8[($4 + 8 | 0) >> 0] | 0) & 24 | 0 | 0) != (0 | 0); + } + $3 = is_equal_28std__type_info_20const__2c_20std__type_info_20const__2c_20bool_29($0 | 0, $1 | 0, $3 | 0) | 0; + } + return $3 | 0; + } + + function __cxxabiv1____pointer_type_info__can_catch_28__cxxabiv1____shim_type_info_20const__2c_20void___29_20const($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $4 = 0, $3 = 0, $5 = 0, $6 = 0; + $3 = __stack_pointer - 64 | 0; + __stack_pointer = $3; + label$1 : { + label$2 : { + if (!(is_equal_28std__type_info_20const__2c_20std__type_info_20const__2c_20bool_29($1 | 0, 109668 | 0, 0 | 0) | 0)) { + break label$2 + } + HEAP32[$2 >> 2] = 0; + $4 = 1; + break label$1; + } + label$3 : { + if (!(__cxxabiv1____pbase_type_info__can_catch_28__cxxabiv1____shim_type_info_20const__2c_20void___29_20const($0 | 0, $1 | 0, $1 | 0) | 0)) { + break label$3 + } + $4 = 1; + $1 = HEAP32[$2 >> 2] | 0; + if (!$1) { + break label$1 + } + HEAP32[$2 >> 2] = HEAP32[$1 >> 2] | 0; + break label$1; + } + label$4 : { + if (!$1) { + break label$4 + } + $4 = 0; + $1 = __dynamic_cast($1 | 0, 109304 | 0, 109448 | 0, 0 | 0) | 0; + if (!$1) { + break label$1 + } + label$5 : { + $5 = HEAP32[$2 >> 2] | 0; + if (!$5) { + break label$5 + } + HEAP32[$2 >> 2] = HEAP32[$5 >> 2] | 0; + } + $5 = HEAP32[($1 + 8 | 0) >> 2] | 0; + $6 = HEAP32[($0 + 8 | 0) >> 2] | 0; + if (($5 & ($6 ^ -1 | 0) | 0) & 7 | 0) { + break label$1 + } + if ((($5 ^ -1 | 0) & $6 | 0) & 96 | 0) { + break label$1 + } + $4 = 1; + if (is_equal_28std__type_info_20const__2c_20std__type_info_20const__2c_20bool_29(HEAP32[($0 + 12 | 0) >> 2] | 0 | 0, HEAP32[($1 + 12 | 0) >> 2] | 0 | 0, 0 | 0) | 0) { + break label$1 + } + label$6 : { + if (!(is_equal_28std__type_info_20const__2c_20std__type_info_20const__2c_20bool_29(HEAP32[($0 + 12 | 0) >> 2] | 0 | 0, 109656 | 0, 0 | 0) | 0)) { + break label$6 + } + $1 = HEAP32[($1 + 12 | 0) >> 2] | 0; + if (!$1) { + break label$1 + } + $4 = !(__dynamic_cast($1 | 0, 109304 | 0, 109500 | 0, 0 | 0) | 0); + break label$1; + } + $5 = HEAP32[($0 + 12 | 0) >> 2] | 0; + if (!$5) { + break label$4 + } + $4 = 0; + label$7 : { + $6 = __dynamic_cast($5 | 0, 109304 | 0, 109448 | 0, 0 | 0) | 0; + if (!$6) { + break label$7 + } + if (!((HEAPU8[($0 + 8 | 0) >> 0] | 0) & 1 | 0)) { + break label$1 + } + $4 = __cxxabiv1____pointer_type_info__can_catch_nested_28__cxxabiv1____shim_type_info_20const__29_20const($6 | 0, HEAP32[($1 + 12 | 0) >> 2] | 0 | 0) | 0; + break label$1; + } + $4 = 0; + label$8 : { + $6 = __dynamic_cast($5 | 0, 109304 | 0, 109560 | 0, 0 | 0) | 0; + if (!$6) { + break label$8 + } + if (!((HEAPU8[($0 + 8 | 0) >> 0] | 0) & 1 | 0)) { + break label$1 + } + $4 = __cxxabiv1____pointer_to_member_type_info__can_catch_nested_28__cxxabiv1____shim_type_info_20const__29_20const($6 | 0, HEAP32[($1 + 12 | 0) >> 2] | 0 | 0) | 0; + break label$1; + } + $4 = 0; + $0 = __dynamic_cast($5 | 0, 109304 | 0, 109352 | 0, 0 | 0) | 0; + if (!$0) { + break label$1 + } + $1 = HEAP32[($1 + 12 | 0) >> 2] | 0; + if (!$1) { + break label$1 + } + $4 = 0; + $1 = __dynamic_cast($1 | 0, 109304 | 0, 109352 | 0, 0 | 0) | 0; + if (!$1) { + break label$1 + } + __memset($3 + 12 | 0 | 0, 0 | 0, 52 | 0) | 0; + HEAP32[($3 + 56 | 0) >> 2] = 1; + HEAP32[($3 + 20 | 0) >> 2] = -1; + HEAP32[($3 + 16 | 0) >> 2] = $0; + HEAP32[($3 + 8 | 0) >> 2] = $1; + FUNCTION_TABLE[HEAP32[((HEAP32[$1 >> 2] | 0) + 28 | 0) >> 2] | 0 | 0]($1, $3 + 8 | 0, HEAP32[$2 >> 2] | 0, 1); + label$9 : { + $1 = HEAP32[($3 + 32 | 0) >> 2] | 0; + if (($1 | 0) != (1 | 0)) { + break label$9 + } + if (!(HEAP32[$2 >> 2] | 0)) { + break label$9 + } + HEAP32[$2 >> 2] = HEAP32[($3 + 24 | 0) >> 2] | 0; + } + $4 = ($1 | 0) == (1 | 0); + break label$1; + } + $4 = 0; + } + __stack_pointer = $3 + 64 | 0; + return $4 | 0; + } + + function __cxxabiv1____pointer_type_info__can_catch_nested_28__cxxabiv1____shim_type_info_20const__29_20const($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $2 = 0, $3 = 0; + label$1 : { + label$2 : while (1) { + label$3 : { + if ($1) { + break label$3 + } + return 0 | 0; + } + $2 = 0; + $1 = __dynamic_cast($1 | 0, 109304 | 0, 109448 | 0, 0 | 0) | 0; + if (!$1) { + break label$1 + } + if ((HEAP32[($1 + 8 | 0) >> 2] | 0) & ((HEAP32[($0 + 8 | 0) >> 2] | 0) ^ -1 | 0) | 0) { + break label$1 + } + label$4 : { + if (!(is_equal_28std__type_info_20const__2c_20std__type_info_20const__2c_20bool_29(HEAP32[($0 + 12 | 0) >> 2] | 0 | 0, HEAP32[($1 + 12 | 0) >> 2] | 0 | 0, 0 | 0) | 0)) { + break label$4 + } + return 1 | 0; + } + if (!((HEAPU8[($0 + 8 | 0) >> 0] | 0) & 1 | 0)) { + break label$1 + } + $3 = HEAP32[($0 + 12 | 0) >> 2] | 0; + if (!$3) { + break label$1 + } + label$5 : { + $0 = __dynamic_cast($3 | 0, 109304 | 0, 109448 | 0, 0 | 0) | 0; + if (!$0) { + break label$5 + } + $1 = HEAP32[($1 + 12 | 0) >> 2] | 0; + continue label$2; + } + break label$2; + }; + $2 = 0; + $0 = __dynamic_cast($3 | 0, 109304 | 0, 109560 | 0, 0 | 0) | 0; + if (!$0) { + break label$1 + } + $2 = __cxxabiv1____pointer_to_member_type_info__can_catch_nested_28__cxxabiv1____shim_type_info_20const__29_20const($0 | 0, HEAP32[($1 + 12 | 0) >> 2] | 0 | 0) | 0; + } + return $2 | 0; + } + + function __cxxabiv1____pointer_to_member_type_info__can_catch_nested_28__cxxabiv1____shim_type_info_20const__29_20const($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $2 = 0; + $2 = 0; + label$1 : { + if (!$1) { + break label$1 + } + $1 = __dynamic_cast($1 | 0, 109304 | 0, 109560 | 0, 0 | 0) | 0; + if (!$1) { + break label$1 + } + if ((HEAP32[($1 + 8 | 0) >> 2] | 0) & ((HEAP32[($0 + 8 | 0) >> 2] | 0) ^ -1 | 0) | 0) { + break label$1 + } + $2 = 0; + if (!(is_equal_28std__type_info_20const__2c_20std__type_info_20const__2c_20bool_29(HEAP32[($0 + 12 | 0) >> 2] | 0 | 0, HEAP32[($1 + 12 | 0) >> 2] | 0 | 0, 0 | 0) | 0)) { + break label$1 + } + $2 = is_equal_28std__type_info_20const__2c_20std__type_info_20const__2c_20bool_29(HEAP32[($0 + 16 | 0) >> 2] | 0 | 0, HEAP32[($1 + 16 | 0) >> 2] | 0 | 0, 0 | 0) | 0; + } + return $2 | 0; + } + + function __cxxabiv1____class_type_info__process_static_type_above_dst_28__cxxabiv1____dynamic_cast_info__2c_20void_20const__2c_20void_20const__2c_20int_29_20const($0, $1, $2, $3, $4) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + $4 = $4 | 0; + HEAP8[($1 + 53 | 0) >> 0] = 1; + label$1 : { + if ((HEAP32[($1 + 4 | 0) >> 2] | 0 | 0) != ($3 | 0)) { + break label$1 + } + HEAP8[($1 + 52 | 0) >> 0] = 1; + label$2 : { + label$3 : { + $3 = HEAP32[($1 + 16 | 0) >> 2] | 0; + if ($3) { + break label$3 + } + HEAP32[($1 + 36 | 0) >> 2] = 1; + HEAP32[($1 + 24 | 0) >> 2] = $4; + HEAP32[($1 + 16 | 0) >> 2] = $2; + if (($4 | 0) != (1 | 0)) { + break label$1 + } + if ((HEAP32[($1 + 48 | 0) >> 2] | 0 | 0) == (1 | 0)) { + break label$2 + } + break label$1; + } + label$4 : { + if (($3 | 0) != ($2 | 0)) { + break label$4 + } + label$5 : { + $3 = HEAP32[($1 + 24 | 0) >> 2] | 0; + if (($3 | 0) != (2 | 0)) { + break label$5 + } + HEAP32[($1 + 24 | 0) >> 2] = $4; + $3 = $4; + } + if ((HEAP32[($1 + 48 | 0) >> 2] | 0 | 0) != (1 | 0)) { + break label$1 + } + if (($3 | 0) == (1 | 0)) { + break label$2 + } + break label$1; + } + HEAP32[($1 + 36 | 0) >> 2] = (HEAP32[($1 + 36 | 0) >> 2] | 0) + 1 | 0; + } + HEAP8[($1 + 54 | 0) >> 0] = 1; + } + } + + function __cxxabiv1____class_type_info__process_static_type_below_dst_28__cxxabiv1____dynamic_cast_info__2c_20void_20const__2c_20int_29_20const($0, $1, $2, $3) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + label$1 : { + if ((HEAP32[($1 + 4 | 0) >> 2] | 0 | 0) != ($2 | 0)) { + break label$1 + } + if ((HEAP32[($1 + 28 | 0) >> 2] | 0 | 0) == (1 | 0)) { + break label$1 + } + HEAP32[($1 + 28 | 0) >> 2] = $3; + } + } + + function __cxxabiv1____vmi_class_type_info__search_below_dst_28__cxxabiv1____dynamic_cast_info__2c_20void_20const__2c_20int_2c_20bool_29_20const($0, $1, $2, $3, $4) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + $4 = $4 | 0; + var $5 = 0, $8 = 0, $6 = 0, $7 = 0; + label$1 : { + if (!(is_equal_28std__type_info_20const__2c_20std__type_info_20const__2c_20bool_29($0 | 0, HEAP32[($1 + 8 | 0) >> 2] | 0 | 0, $4 | 0) | 0)) { + break label$1 + } + __cxxabiv1____class_type_info__process_static_type_below_dst_28__cxxabiv1____dynamic_cast_info__2c_20void_20const__2c_20int_29_20const($1 | 0, $1 | 0, $2 | 0, $3 | 0); + return; + } + label$2 : { + label$3 : { + if (!(is_equal_28std__type_info_20const__2c_20std__type_info_20const__2c_20bool_29($0 | 0, HEAP32[$1 >> 2] | 0 | 0, $4 | 0) | 0)) { + break label$3 + } + label$4 : { + label$5 : { + if ((HEAP32[($1 + 16 | 0) >> 2] | 0 | 0) == ($2 | 0)) { + break label$5 + } + if ((HEAP32[($1 + 20 | 0) >> 2] | 0 | 0) != ($2 | 0)) { + break label$4 + } + } + if (($3 | 0) != (1 | 0)) { + break label$2 + } + HEAP32[($1 + 32 | 0) >> 2] = 1; + return; + } + HEAP32[($1 + 32 | 0) >> 2] = $3; + label$6 : { + if ((HEAP32[($1 + 44 | 0) >> 2] | 0 | 0) == (4 | 0)) { + break label$6 + } + $5 = $0 + 16 | 0; + $3 = $5 + ((HEAP32[($0 + 12 | 0) >> 2] | 0) << 3 | 0) | 0; + $6 = 0; + $7 = 0; + label$7 : { + label$8 : { + label$9 : { + label$10 : while (1) { + if ($5 >>> 0 >= $3 >>> 0) { + break label$9 + } + HEAP16[($1 + 52 | 0) >> 1] = 0; + __cxxabiv1____base_class_type_info__search_above_dst_28__cxxabiv1____dynamic_cast_info__2c_20void_20const__2c_20void_20const__2c_20int_2c_20bool_29_20const($5 | 0, $1 | 0, $2 | 0, $2 | 0, 1 | 0, $4 | 0); + if (HEAPU8[($1 + 54 | 0) >> 0] | 0) { + break label$9 + } + label$11 : { + if (!(HEAPU8[($1 + 53 | 0) >> 0] | 0)) { + break label$11 + } + label$12 : { + if (!(HEAPU8[($1 + 52 | 0) >> 0] | 0)) { + break label$12 + } + $8 = 1; + if ((HEAP32[($1 + 24 | 0) >> 2] | 0 | 0) == (1 | 0)) { + break label$8 + } + $6 = 1; + $7 = 1; + $8 = 1; + if ((HEAPU8[($0 + 8 | 0) >> 0] | 0) & 2 | 0) { + break label$11 + } + break label$8; + } + $6 = 1; + $8 = $7; + if (!((HEAPU8[($0 + 8 | 0) >> 0] | 0) & 1 | 0)) { + break label$8 + } + } + $5 = $5 + 8 | 0; + continue label$10; + }; + } + $5 = 4; + $8 = $7; + if (!($6 & 1 | 0)) { + break label$7 + } + } + $5 = 3; + } + HEAP32[($1 + 44 | 0) >> 2] = $5; + if ($8 & 1 | 0) { + break label$2 + } + } + HEAP32[($1 + 20 | 0) >> 2] = $2; + HEAP32[($1 + 40 | 0) >> 2] = (HEAP32[($1 + 40 | 0) >> 2] | 0) + 1 | 0; + if ((HEAP32[($1 + 36 | 0) >> 2] | 0 | 0) != (1 | 0)) { + break label$2 + } + if ((HEAP32[($1 + 24 | 0) >> 2] | 0 | 0) != (2 | 0)) { + break label$2 + } + HEAP8[($1 + 54 | 0) >> 0] = 1; + return; + } + $8 = HEAP32[($0 + 12 | 0) >> 2] | 0; + $6 = $0 + 16 | 0; + __cxxabiv1____base_class_type_info__search_below_dst_28__cxxabiv1____dynamic_cast_info__2c_20void_20const__2c_20int_2c_20bool_29_20const($6 | 0, $1 | 0, $2 | 0, $3 | 0, $4 | 0); + $5 = $0 + 24 | 0; + $8 = $6 + ($8 << 3 | 0) | 0; + if ($5 >>> 0 >= $8 >>> 0) { + break label$2 + } + label$13 : { + label$14 : { + $0 = HEAP32[($0 + 8 | 0) >> 2] | 0; + if ($0 & 2 | 0) { + break label$14 + } + if ((HEAP32[($1 + 36 | 0) >> 2] | 0 | 0) != (1 | 0)) { + break label$13 + } + } + label$15 : while (1) { + if (HEAPU8[($1 + 54 | 0) >> 0] | 0) { + break label$2 + } + __cxxabiv1____base_class_type_info__search_below_dst_28__cxxabiv1____dynamic_cast_info__2c_20void_20const__2c_20int_2c_20bool_29_20const($5 | 0, $1 | 0, $2 | 0, $3 | 0, $4 | 0); + $5 = $5 + 8 | 0; + if ($5 >>> 0 < $8 >>> 0) { + continue label$15 + } + break label$2; + }; + } + label$16 : { + if ($0 & 1 | 0) { + break label$16 + } + label$17 : while (1) { + if (HEAPU8[($1 + 54 | 0) >> 0] | 0) { + break label$2 + } + if ((HEAP32[($1 + 36 | 0) >> 2] | 0 | 0) == (1 | 0)) { + break label$2 + } + __cxxabiv1____base_class_type_info__search_below_dst_28__cxxabiv1____dynamic_cast_info__2c_20void_20const__2c_20int_2c_20bool_29_20const($5 | 0, $1 | 0, $2 | 0, $3 | 0, $4 | 0); + $5 = $5 + 8 | 0; + if ($5 >>> 0 < $8 >>> 0) { + continue label$17 + } + break label$2; + }; + } + label$18 : while (1) { + if (HEAPU8[($1 + 54 | 0) >> 0] | 0) { + break label$2 + } + label$19 : { + if ((HEAP32[($1 + 36 | 0) >> 2] | 0 | 0) != (1 | 0)) { + break label$19 + } + if ((HEAP32[($1 + 24 | 0) >> 2] | 0 | 0) == (1 | 0)) { + break label$2 + } + } + __cxxabiv1____base_class_type_info__search_below_dst_28__cxxabiv1____dynamic_cast_info__2c_20void_20const__2c_20int_2c_20bool_29_20const($5 | 0, $1 | 0, $2 | 0, $3 | 0, $4 | 0); + $5 = $5 + 8 | 0; + if ($5 >>> 0 < $8 >>> 0) { + continue label$18 + } + break label$18; + }; + } + } + + function __cxxabiv1____base_class_type_info__search_above_dst_28__cxxabiv1____dynamic_cast_info__2c_20void_20const__2c_20void_20const__2c_20int_2c_20bool_29_20const($0, $1, $2, $3, $4, $5) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + $4 = $4 | 0; + $5 = $5 | 0; + var $6 = 0, $7 = 0; + $6 = HEAP32[($0 + 4 | 0) >> 2] | 0; + $7 = $6 >> 8 | 0; + label$1 : { + if (!($6 & 1 | 0)) { + break label$1 + } + $7 = update_offset_to_base_28char_20const__2c_20long_29(HEAP32[$3 >> 2] | 0 | 0, $7 | 0) | 0; + } + $0 = HEAP32[$0 >> 2] | 0; + FUNCTION_TABLE[HEAP32[((HEAP32[$0 >> 2] | 0) + 20 | 0) >> 2] | 0 | 0]($0, $1, $2, $3 + $7 | 0, $6 & 2 | 0 ? $4 : 2, $5); + } + + function __cxxabiv1____base_class_type_info__search_below_dst_28__cxxabiv1____dynamic_cast_info__2c_20void_20const__2c_20int_2c_20bool_29_20const($0, $1, $2, $3, $4) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + $4 = $4 | 0; + var $5 = 0, $6 = 0; + $5 = HEAP32[($0 + 4 | 0) >> 2] | 0; + $6 = $5 >> 8 | 0; + label$1 : { + if (!($5 & 1 | 0)) { + break label$1 + } + $6 = update_offset_to_base_28char_20const__2c_20long_29(HEAP32[$2 >> 2] | 0 | 0, $6 | 0) | 0; + } + $0 = HEAP32[$0 >> 2] | 0; + FUNCTION_TABLE[HEAP32[((HEAP32[$0 >> 2] | 0) + 24 | 0) >> 2] | 0 | 0]($0, $1, $2 + $6 | 0, $5 & 2 | 0 ? $3 : 2, $4); + } + + function __cxxabiv1____si_class_type_info__search_below_dst_28__cxxabiv1____dynamic_cast_info__2c_20void_20const__2c_20int_2c_20bool_29_20const($0, $1, $2, $3, $4) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + $4 = $4 | 0; + label$1 : { + if (!(is_equal_28std__type_info_20const__2c_20std__type_info_20const__2c_20bool_29($0 | 0, HEAP32[($1 + 8 | 0) >> 2] | 0 | 0, $4 | 0) | 0)) { + break label$1 + } + __cxxabiv1____class_type_info__process_static_type_below_dst_28__cxxabiv1____dynamic_cast_info__2c_20void_20const__2c_20int_29_20const($1 | 0, $1 | 0, $2 | 0, $3 | 0); + return; + } + label$2 : { + label$3 : { + if (!(is_equal_28std__type_info_20const__2c_20std__type_info_20const__2c_20bool_29($0 | 0, HEAP32[$1 >> 2] | 0 | 0, $4 | 0) | 0)) { + break label$3 + } + label$4 : { + label$5 : { + if ((HEAP32[($1 + 16 | 0) >> 2] | 0 | 0) == ($2 | 0)) { + break label$5 + } + if ((HEAP32[($1 + 20 | 0) >> 2] | 0 | 0) != ($2 | 0)) { + break label$4 + } + } + if (($3 | 0) != (1 | 0)) { + break label$2 + } + HEAP32[($1 + 32 | 0) >> 2] = 1; + return; + } + HEAP32[($1 + 32 | 0) >> 2] = $3; + label$6 : { + if ((HEAP32[($1 + 44 | 0) >> 2] | 0 | 0) == (4 | 0)) { + break label$6 + } + HEAP16[($1 + 52 | 0) >> 1] = 0; + $0 = HEAP32[($0 + 8 | 0) >> 2] | 0; + FUNCTION_TABLE[HEAP32[((HEAP32[$0 >> 2] | 0) + 20 | 0) >> 2] | 0 | 0]($0, $1, $2, $2, 1, $4); + label$7 : { + if (!(HEAPU8[($1 + 53 | 0) >> 0] | 0)) { + break label$7 + } + HEAP32[($1 + 44 | 0) >> 2] = 3; + if (!(HEAPU8[($1 + 52 | 0) >> 0] | 0)) { + break label$6 + } + break label$2; + } + HEAP32[($1 + 44 | 0) >> 2] = 4; + } + HEAP32[($1 + 20 | 0) >> 2] = $2; + HEAP32[($1 + 40 | 0) >> 2] = (HEAP32[($1 + 40 | 0) >> 2] | 0) + 1 | 0; + if ((HEAP32[($1 + 36 | 0) >> 2] | 0 | 0) != (1 | 0)) { + break label$2 + } + if ((HEAP32[($1 + 24 | 0) >> 2] | 0 | 0) != (2 | 0)) { + break label$2 + } + HEAP8[($1 + 54 | 0) >> 0] = 1; + return; + } + $0 = HEAP32[($0 + 8 | 0) >> 2] | 0; + FUNCTION_TABLE[HEAP32[((HEAP32[$0 >> 2] | 0) + 24 | 0) >> 2] | 0 | 0]($0, $1, $2, $3, $4); + } + } + + function __cxxabiv1____class_type_info__search_below_dst_28__cxxabiv1____dynamic_cast_info__2c_20void_20const__2c_20int_2c_20bool_29_20const($0, $1, $2, $3, $4) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + $4 = $4 | 0; + label$1 : { + if (!(is_equal_28std__type_info_20const__2c_20std__type_info_20const__2c_20bool_29($0 | 0, HEAP32[($1 + 8 | 0) >> 2] | 0 | 0, $4 | 0) | 0)) { + break label$1 + } + __cxxabiv1____class_type_info__process_static_type_below_dst_28__cxxabiv1____dynamic_cast_info__2c_20void_20const__2c_20int_29_20const($1 | 0, $1 | 0, $2 | 0, $3 | 0); + return; + } + label$2 : { + if (!(is_equal_28std__type_info_20const__2c_20std__type_info_20const__2c_20bool_29($0 | 0, HEAP32[$1 >> 2] | 0 | 0, $4 | 0) | 0)) { + break label$2 + } + label$3 : { + label$4 : { + if ((HEAP32[($1 + 16 | 0) >> 2] | 0 | 0) == ($2 | 0)) { + break label$4 + } + if ((HEAP32[($1 + 20 | 0) >> 2] | 0 | 0) != ($2 | 0)) { + break label$3 + } + } + if (($3 | 0) != (1 | 0)) { + break label$2 + } + HEAP32[($1 + 32 | 0) >> 2] = 1; + return; + } + HEAP32[($1 + 20 | 0) >> 2] = $2; + HEAP32[($1 + 32 | 0) >> 2] = $3; + HEAP32[($1 + 40 | 0) >> 2] = (HEAP32[($1 + 40 | 0) >> 2] | 0) + 1 | 0; + label$5 : { + if ((HEAP32[($1 + 36 | 0) >> 2] | 0 | 0) != (1 | 0)) { + break label$5 + } + if ((HEAP32[($1 + 24 | 0) >> 2] | 0 | 0) != (2 | 0)) { + break label$5 + } + HEAP8[($1 + 54 | 0) >> 0] = 1; + } + HEAP32[($1 + 44 | 0) >> 2] = 4; + } + } + + function __cxxabiv1____vmi_class_type_info__search_above_dst_28__cxxabiv1____dynamic_cast_info__2c_20void_20const__2c_20void_20const__2c_20int_2c_20bool_29_20const($0, $1, $2, $3, $4, $5) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + $4 = $4 | 0; + $5 = $5 | 0; + var $6 = 0, $8 = 0, $7 = 0, $10 = 0, $12 = 0, $11 = 0, $9 = 0; + label$1 : { + if (!(is_equal_28std__type_info_20const__2c_20std__type_info_20const__2c_20bool_29($0 | 0, HEAP32[($1 + 8 | 0) >> 2] | 0 | 0, $5 | 0) | 0)) { + break label$1 + } + __cxxabiv1____class_type_info__process_static_type_above_dst_28__cxxabiv1____dynamic_cast_info__2c_20void_20const__2c_20void_20const__2c_20int_29_20const($1 | 0, $1 | 0, $2 | 0, $3 | 0, $4 | 0); + return; + } + $6 = HEAPU8[($1 + 53 | 0) >> 0] | 0; + $7 = HEAP32[($0 + 12 | 0) >> 2] | 0; + HEAP8[($1 + 53 | 0) >> 0] = 0; + $8 = HEAPU8[($1 + 52 | 0) >> 0] | 0; + HEAP8[($1 + 52 | 0) >> 0] = 0; + $9 = $0 + 16 | 0; + __cxxabiv1____base_class_type_info__search_above_dst_28__cxxabiv1____dynamic_cast_info__2c_20void_20const__2c_20void_20const__2c_20int_2c_20bool_29_20const($9 | 0, $1 | 0, $2 | 0, $3 | 0, $4 | 0, $5 | 0); + $10 = HEAPU8[($1 + 53 | 0) >> 0] | 0; + $11 = $6 | $10 | 0; + $12 = HEAPU8[($1 + 52 | 0) >> 0] | 0; + $8 = $8 | $12 | 0; + label$2 : { + $6 = $0 + 24 | 0; + $7 = $9 + ($7 << 3 | 0) | 0; + if ($6 >>> 0 >= $7 >>> 0) { + break label$2 + } + label$3 : while (1) { + if (HEAPU8[($1 + 54 | 0) >> 0] | 0) { + break label$2 + } + label$4 : { + label$5 : { + if (!($12 & 255 | 0)) { + break label$5 + } + if ((HEAP32[($1 + 24 | 0) >> 2] | 0 | 0) == (1 | 0)) { + break label$2 + } + if ((HEAPU8[($0 + 8 | 0) >> 0] | 0) & 2 | 0) { + break label$4 + } + break label$2; + } + if (!($10 & 255 | 0)) { + break label$4 + } + if (!((HEAPU8[($0 + 8 | 0) >> 0] | 0) & 1 | 0)) { + break label$2 + } + } + HEAP16[($1 + 52 | 0) >> 1] = 0; + __cxxabiv1____base_class_type_info__search_above_dst_28__cxxabiv1____dynamic_cast_info__2c_20void_20const__2c_20void_20const__2c_20int_2c_20bool_29_20const($6 | 0, $1 | 0, $2 | 0, $3 | 0, $4 | 0, $5 | 0); + $10 = HEAPU8[($1 + 53 | 0) >> 0] | 0; + $11 = $10 | $11 | 0; + $12 = HEAPU8[($1 + 52 | 0) >> 0] | 0; + $8 = $12 | $8 | 0; + $6 = $6 + 8 | 0; + if ($6 >>> 0 < $7 >>> 0) { + continue label$3 + } + break label$3; + }; + } + HEAP8[($1 + 53 | 0) >> 0] = ($11 & 255 | 0 | 0) != (0 | 0); + HEAP8[($1 + 52 | 0) >> 0] = ($8 & 255 | 0 | 0) != (0 | 0); + } + + function __cxxabiv1____si_class_type_info__search_above_dst_28__cxxabiv1____dynamic_cast_info__2c_20void_20const__2c_20void_20const__2c_20int_2c_20bool_29_20const($0, $1, $2, $3, $4, $5) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + $4 = $4 | 0; + $5 = $5 | 0; + label$1 : { + if (!(is_equal_28std__type_info_20const__2c_20std__type_info_20const__2c_20bool_29($0 | 0, HEAP32[($1 + 8 | 0) >> 2] | 0 | 0, $5 | 0) | 0)) { + break label$1 + } + __cxxabiv1____class_type_info__process_static_type_above_dst_28__cxxabiv1____dynamic_cast_info__2c_20void_20const__2c_20void_20const__2c_20int_29_20const($1 | 0, $1 | 0, $2 | 0, $3 | 0, $4 | 0); + return; + } + $0 = HEAP32[($0 + 8 | 0) >> 2] | 0; + FUNCTION_TABLE[HEAP32[((HEAP32[$0 >> 2] | 0) + 20 | 0) >> 2] | 0 | 0]($0, $1, $2, $3, $4, $5); + } + + function __cxxabiv1____class_type_info__search_above_dst_28__cxxabiv1____dynamic_cast_info__2c_20void_20const__2c_20void_20const__2c_20int_2c_20bool_29_20const($0, $1, $2, $3, $4, $5) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + $4 = $4 | 0; + $5 = $5 | 0; + label$1 : { + if (!(is_equal_28std__type_info_20const__2c_20std__type_info_20const__2c_20bool_29($0 | 0, HEAP32[($1 + 8 | 0) >> 2] | 0 | 0, $5 | 0) | 0)) { + break label$1 + } + __cxxabiv1____class_type_info__process_static_type_above_dst_28__cxxabiv1____dynamic_cast_info__2c_20void_20const__2c_20void_20const__2c_20int_29_20const($1 | 0, $1 | 0, $2 | 0, $3 | 0, $4 | 0); + } + } + + function std__type_info___type_info_28_29($0) { + $0 = $0 | 0; + return $0 | 0; + } + + function emscripten_stack_init() { + __stack_base = 65536; + __stack_end = (0 + 15 | 0) & -16 | 0; + } + + function emscripten_stack_get_free() { + return __stack_pointer - __stack_end | 0 | 0; + } + + function emscripten_stack_get_base() { + return __stack_base | 0; + } + + function emscripten_stack_get_end() { + return __stack_end | 0; + } + + function stackSave() { + return __stack_pointer | 0; + } + + function stackRestore($0) { + $0 = $0 | 0; + __stack_pointer = $0; + } + + function stackAlloc($0) { + $0 = $0 | 0; + var $1 = 0; + $1 = (__stack_pointer - $0 | 0) & -16 | 0; + __stack_pointer = $1; + return $1 | 0; + } + + function emscripten_stack_get_current() { + return __stack_pointer | 0; + } + + function setTempRet0($0) { + $0 = $0 | 0; + tempRet0 = $0; + } + + function fflush($0) { + $0 = $0 | 0; + var $1 = 0, i64toi32_i32$1 = 0, $2 = 0, i64toi32_i32$0 = 0, $3 = 0; + label$1 : { + if ($0) { + break label$1 + } + $1 = 0; + label$2 : { + if (!(HEAP32[(0 + 113e3 | 0) >> 2] | 0)) { + break label$2 + } + $1 = fflush(HEAP32[(0 + 113e3 | 0) >> 2] | 0 | 0) | 0; + } + label$3 : { + if (!(HEAP32[(0 + 113152 | 0) >> 2] | 0)) { + break label$3 + } + $1 = fflush(HEAP32[(0 + 113152 | 0) >> 2] | 0 | 0) | 0 | $1 | 0; + } + label$4 : { + $0 = HEAP32[(__ofl_lock() | 0) >> 2] | 0; + if (!$0) { + break label$4 + } + label$5 : while (1) { + $2 = 0; + label$6 : { + if ((HEAP32[($0 + 76 | 0) >> 2] | 0 | 0) < (0 | 0)) { + break label$6 + } + $2 = __lockfile($0 | 0) | 0; + } + label$7 : { + if ((HEAP32[($0 + 20 | 0) >> 2] | 0 | 0) == (HEAP32[($0 + 28 | 0) >> 2] | 0 | 0)) { + break label$7 + } + $1 = fflush($0 | 0) | 0 | $1 | 0; + } + label$8 : { + if (!$2) { + break label$8 + } + __unlockfile($0 | 0); + } + $0 = HEAP32[($0 + 56 | 0) >> 2] | 0; + if ($0) { + continue label$5 + } + break label$5; + }; + } + __ofl_unlock(); + return $1 | 0; + } + $2 = 0; + label$9 : { + if ((HEAP32[($0 + 76 | 0) >> 2] | 0 | 0) < (0 | 0)) { + break label$9 + } + $2 = __lockfile($0 | 0) | 0; + } + label$10 : { + label$11 : { + label$12 : { + if ((HEAP32[($0 + 20 | 0) >> 2] | 0 | 0) == (HEAP32[($0 + 28 | 0) >> 2] | 0 | 0)) { + break label$12 + } + FUNCTION_TABLE[HEAP32[($0 + 36 | 0) >> 2] | 0 | 0]($0, 0, 0) | 0; + if (HEAP32[($0 + 20 | 0) >> 2] | 0) { + break label$12 + } + $1 = -1; + if ($2) { + break label$11 + } + break label$10; + } + label$13 : { + $1 = HEAP32[($0 + 4 | 0) >> 2] | 0; + $3 = HEAP32[($0 + 8 | 0) >> 2] | 0; + if (($1 | 0) == ($3 | 0)) { + break label$13 + } + i64toi32_i32$1 = $1 - $3 | 0; + i64toi32_i32$0 = i64toi32_i32$1 >> 31 | 0; + i64toi32_i32$0 = FUNCTION_TABLE[HEAP32[($0 + 40 | 0) >> 2] | 0 | 0]($0, i64toi32_i32$1, i64toi32_i32$0, 1) | 0; + i64toi32_i32$1 = i64toi32_i32$HIGH_BITS; + } + $1 = 0; + HEAP32[($0 + 28 | 0) >> 2] = 0; + i64toi32_i32$0 = $0; + i64toi32_i32$1 = 0; + HEAP32[($0 + 16 | 0) >> 2] = 0; + HEAP32[($0 + 20 | 0) >> 2] = i64toi32_i32$1; + i64toi32_i32$0 = $0; + i64toi32_i32$1 = 0; + HEAP32[($0 + 4 | 0) >> 2] = 0; + HEAP32[($0 + 8 | 0) >> 2] = i64toi32_i32$1; + if (!$2) { + break label$10 + } + } + __unlockfile($0 | 0); + } + return $1 | 0; + } + + function dynCall_jiji(fptr, $0, $1, $1$hi, $2) { + fptr = fptr | 0; + $0 = $0 | 0; + $1 = $1 | 0; + $1$hi = $1$hi | 0; + $2 = $2 | 0; + var i64toi32_i32$0 = 0, i64toi32_i32$1 = 0; + i64toi32_i32$0 = $1$hi; + i64toi32_i32$0 = FUNCTION_TABLE[fptr | 0]($0, $1, i64toi32_i32$0, $2) | 0; + i64toi32_i32$1 = i64toi32_i32$HIGH_BITS; + i64toi32_i32$HIGH_BITS = i64toi32_i32$1; + return i64toi32_i32$0 | 0; + } + + function legalstub$dynCall_jiji($0, $1, $2, $3, $4) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + $4 = $4 | 0; + var i64toi32_i32$2 = 0, i64toi32_i32$4 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$3 = 0, $17 = 0, $18 = 0, $6 = 0, $7 = 0, $9 = 0, $9$hi = 0, $12$hi = 0, $5 = 0, $5$hi = 0; + $6 = $0; + $7 = $1; + i64toi32_i32$0 = 0; + $9 = $2; + $9$hi = i64toi32_i32$0; + i64toi32_i32$0 = 0; + i64toi32_i32$2 = $3; + i64toi32_i32$1 = 0; + i64toi32_i32$3 = 32; + i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4 | 0; + $17 = 0; + } else { + i64toi32_i32$1 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$0 << i64toi32_i32$4 | 0) | 0; + $17 = i64toi32_i32$2 << i64toi32_i32$4 | 0; + } + $12$hi = i64toi32_i32$1; + i64toi32_i32$1 = $9$hi; + i64toi32_i32$0 = $9; + i64toi32_i32$2 = $12$hi; + i64toi32_i32$3 = $17; + i64toi32_i32$2 = i64toi32_i32$1 | i64toi32_i32$2 | 0; + i64toi32_i32$2 = dynCall_jiji($6 | 0, $7 | 0, i64toi32_i32$0 | i64toi32_i32$3 | 0 | 0, i64toi32_i32$2 | 0, $4 | 0) | 0; + i64toi32_i32$0 = i64toi32_i32$HIGH_BITS; + $5 = i64toi32_i32$2; + $5$hi = i64toi32_i32$0; + i64toi32_i32$1 = i64toi32_i32$2; + i64toi32_i32$2 = 0; + i64toi32_i32$3 = 32; + i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + i64toi32_i32$2 = 0; + $18 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0; + } else { + i64toi32_i32$2 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0; + $18 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$0 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$1 >>> i64toi32_i32$4 | 0) | 0; + } + setTempRet0($18 | 0); + i64toi32_i32$2 = $5$hi; + return $5 | 0; + } + + function legalfunc$_embind_register_bigint($0, $1, $2, $3, $3$hi, $4, $4$hi) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + $3$hi = $3$hi | 0; + $4 = $4 | 0; + $4$hi = $4$hi | 0; + var i64toi32_i32$4 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$3 = 0, i64toi32_i32$2 = 0, $18 = 0, $19 = 0, $5 = 0, $6 = 0, $7 = 0, $9 = 0, $12 = 0, $14 = 0; + $5 = $0; + $6 = $1; + $7 = $2; + i64toi32_i32$0 = $3$hi; + $9 = $3; + i64toi32_i32$2 = $3; + i64toi32_i32$1 = 0; + i64toi32_i32$3 = 32; + i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + i64toi32_i32$1 = 0; + $18 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0; + } else { + i64toi32_i32$1 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0; + $18 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$0 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$2 >>> i64toi32_i32$4 | 0) | 0; + } + $12 = $18; + i64toi32_i32$1 = $4$hi; + $14 = $4; + i64toi32_i32$0 = $4; + i64toi32_i32$2 = 0; + i64toi32_i32$3 = 32; + i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + i64toi32_i32$2 = 0; + $19 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0; + } else { + i64toi32_i32$2 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0; + $19 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$1 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$0 >>> i64toi32_i32$4 | 0) | 0; + } + legalimport$_embind_register_bigint($5 | 0, $6 | 0, $7 | 0, $9 | 0, $12 | 0, $14 | 0, $19 | 0); + } + + function legalfunc$__wasi_fd_seek($0, $1, $1$hi, $2, $3) { + $0 = $0 | 0; + $1 = $1 | 0; + $1$hi = $1$hi | 0; + $2 = $2 | 0; + $3 = $3 | 0; + var i64toi32_i32$4 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$3 = 0, $12 = 0, $4 = 0, $6 = 0, i64toi32_i32$2 = 0; + $4 = $0; + i64toi32_i32$0 = $1$hi; + $6 = $1; + i64toi32_i32$2 = $1; + i64toi32_i32$1 = 0; + i64toi32_i32$3 = 32; + i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + i64toi32_i32$1 = 0; + $12 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0; + } else { + i64toi32_i32$1 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0; + $12 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$0 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$2 >>> i64toi32_i32$4 | 0) | 0; + } + return legalimport$__wasi_fd_seek($4 | 0, $6 | 0, $12 | 0, $2 | 0, $3 | 0) | 0 | 0; + } + + function _ZN17compiler_builtins3int3mul3Mul3mul17h070e9a1c69faec5bE(var$0, var$0$hi, var$1, var$1$hi) { + var$0 = var$0 | 0; + var$0$hi = var$0$hi | 0; + var$1 = var$1 | 0; + var$1$hi = var$1$hi | 0; + var i64toi32_i32$4 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, var$2 = 0, i64toi32_i32$2 = 0, i64toi32_i32$3 = 0, var$3 = 0, var$4 = 0, var$5 = 0, $21 = 0, $22 = 0, var$6 = 0, $24 = 0, $17 = 0, $18 = 0, $23 = 0, $29 = 0, $45 = 0, $56$hi = 0, $62$hi = 0; + i64toi32_i32$0 = var$1$hi; + var$2 = var$1; + var$4 = var$2 >>> 16 | 0; + i64toi32_i32$0 = var$0$hi; + var$3 = var$0; + var$5 = var$3 >>> 16 | 0; + $17 = Math_imul(var$4, var$5); + $18 = var$2; + i64toi32_i32$2 = var$3; + i64toi32_i32$1 = 0; + i64toi32_i32$3 = 32; + i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + i64toi32_i32$1 = 0; + $21 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0; + } else { + i64toi32_i32$1 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0; + $21 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$0 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$2 >>> i64toi32_i32$4 | 0) | 0; + } + $23 = $17 + Math_imul($18, $21) | 0; + i64toi32_i32$1 = var$1$hi; + i64toi32_i32$0 = var$1; + i64toi32_i32$2 = 0; + i64toi32_i32$3 = 32; + i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + i64toi32_i32$2 = 0; + $22 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0; + } else { + i64toi32_i32$2 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0; + $22 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$1 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$0 >>> i64toi32_i32$4 | 0) | 0; + } + $29 = $23 + Math_imul($22, var$3) | 0; + var$2 = var$2 & 65535 | 0; + var$3 = var$3 & 65535 | 0; + var$6 = Math_imul(var$2, var$3); + var$2 = (var$6 >>> 16 | 0) + Math_imul(var$2, var$5) | 0; + $45 = $29 + (var$2 >>> 16 | 0) | 0; + var$2 = (var$2 & 65535 | 0) + Math_imul(var$4, var$3) | 0; + i64toi32_i32$2 = 0; + i64toi32_i32$1 = $45 + (var$2 >>> 16 | 0) | 0; + i64toi32_i32$0 = 0; + i64toi32_i32$3 = 32; + i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + i64toi32_i32$0 = i64toi32_i32$1 << i64toi32_i32$4 | 0; + $24 = 0; + } else { + i64toi32_i32$0 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$1 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$2 << i64toi32_i32$4 | 0) | 0; + $24 = i64toi32_i32$1 << i64toi32_i32$4 | 0; + } + $56$hi = i64toi32_i32$0; + i64toi32_i32$0 = 0; + $62$hi = i64toi32_i32$0; + i64toi32_i32$0 = $56$hi; + i64toi32_i32$2 = $24; + i64toi32_i32$1 = $62$hi; + i64toi32_i32$3 = var$2 << 16 | 0 | (var$6 & 65535 | 0) | 0; + i64toi32_i32$1 = i64toi32_i32$0 | i64toi32_i32$1 | 0; + i64toi32_i32$2 = i64toi32_i32$2 | i64toi32_i32$3 | 0; + i64toi32_i32$HIGH_BITS = i64toi32_i32$1; + return i64toi32_i32$2 | 0; + } + + function _ZN17compiler_builtins3int4udiv10divmod_u6417h6026910b5ed08e40E(var$0, var$0$hi, var$1, var$1$hi) { + var$0 = var$0 | 0; + var$0$hi = var$0$hi | 0; + var$1 = var$1 | 0; + var$1$hi = var$1$hi | 0; + var i64toi32_i32$2 = 0, i64toi32_i32$3 = 0, i64toi32_i32$4 = 0, i64toi32_i32$1 = 0, i64toi32_i32$0 = 0, i64toi32_i32$5 = 0, var$2 = 0, var$3 = 0, var$4 = 0, var$5 = 0, var$5$hi = 0, var$6 = 0, var$6$hi = 0, i64toi32_i32$6 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, var$8$hi = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, var$7$hi = 0, $49 = 0, $63$hi = 0, $65 = 0, $65$hi = 0, $120$hi = 0, $129$hi = 0, $134$hi = 0, var$8 = 0, $140 = 0, $140$hi = 0, $142$hi = 0, $144 = 0, $144$hi = 0, $151 = 0, $151$hi = 0, $154$hi = 0, var$7 = 0, $165$hi = 0; + label$1 : { + label$2 : { + label$3 : { + label$4 : { + label$5 : { + label$6 : { + label$7 : { + label$8 : { + label$9 : { + label$10 : { + label$11 : { + i64toi32_i32$0 = var$0$hi; + i64toi32_i32$2 = var$0; + i64toi32_i32$1 = 0; + i64toi32_i32$3 = 32; + i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + i64toi32_i32$1 = 0; + $37 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0; + } else { + i64toi32_i32$1 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0; + $37 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$0 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$2 >>> i64toi32_i32$4 | 0) | 0; + } + var$2 = $37; + if (var$2) { + i64toi32_i32$1 = var$1$hi; + var$3 = var$1; + if (!var$3) { + break label$11 + } + i64toi32_i32$1 = var$1$hi; + i64toi32_i32$0 = var$1; + i64toi32_i32$2 = 0; + i64toi32_i32$3 = 32; + i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) { + i64toi32_i32$2 = 0; + $38 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0; + } else { + i64toi32_i32$2 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0; + $38 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$1 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$0 >>> i64toi32_i32$4 | 0) | 0; + } + var$4 = $38; + if (!var$4) { + break label$9 + } + var$2 = Math_clz32(var$4) - Math_clz32(var$2) | 0; + if (var$2 >>> 0 <= 31 >>> 0) { + break label$8 + } + break label$2; + } + i64toi32_i32$2 = var$1$hi; + i64toi32_i32$1 = var$1; + i64toi32_i32$0 = 1; + i64toi32_i32$3 = 0; + if (i64toi32_i32$2 >>> 0 > i64toi32_i32$0 >>> 0 | ((i64toi32_i32$2 | 0) == (i64toi32_i32$0 | 0) & i64toi32_i32$1 >>> 0 >= i64toi32_i32$3 >>> 0 | 0) | 0) { + break label$2 + } + i64toi32_i32$1 = var$0$hi; + var$2 = var$0; + i64toi32_i32$1 = var$1$hi; + var$3 = var$1; + var$2 = (var$2 >>> 0) / (var$3 >>> 0) | 0; + i64toi32_i32$1 = 0; + __wasm_intrinsics_temp_i64 = var$0 - Math_imul(var$2, var$3) | 0; + __wasm_intrinsics_temp_i64$hi = i64toi32_i32$1; + i64toi32_i32$1 = 0; + i64toi32_i32$2 = var$2; + i64toi32_i32$HIGH_BITS = i64toi32_i32$1; + return i64toi32_i32$2 | 0; + } + i64toi32_i32$2 = var$1$hi; + i64toi32_i32$3 = var$1; + i64toi32_i32$1 = 0; + i64toi32_i32$0 = 32; + i64toi32_i32$4 = i64toi32_i32$0 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) { + i64toi32_i32$1 = 0; + $39 = i64toi32_i32$2 >>> i64toi32_i32$4 | 0; + } else { + i64toi32_i32$1 = i64toi32_i32$2 >>> i64toi32_i32$4 | 0; + $39 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$2 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$3 >>> i64toi32_i32$4 | 0) | 0; + } + var$3 = $39; + i64toi32_i32$1 = var$0$hi; + if (!var$0) { + break label$7 + } + if (!var$3) { + break label$6 + } + var$4 = var$3 + -1 | 0; + if (var$4 & var$3 | 0) { + break label$6 + } + i64toi32_i32$1 = 0; + i64toi32_i32$2 = var$4 & var$2 | 0; + i64toi32_i32$3 = 0; + i64toi32_i32$0 = 32; + i64toi32_i32$4 = i64toi32_i32$0 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) { + i64toi32_i32$3 = i64toi32_i32$2 << i64toi32_i32$4 | 0; + $40 = 0; + } else { + i64toi32_i32$3 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$1 << i64toi32_i32$4 | 0) | 0; + $40 = i64toi32_i32$2 << i64toi32_i32$4 | 0; + } + $63$hi = i64toi32_i32$3; + i64toi32_i32$3 = var$0$hi; + i64toi32_i32$1 = var$0; + i64toi32_i32$2 = 0; + i64toi32_i32$0 = -1; + i64toi32_i32$2 = i64toi32_i32$3 & i64toi32_i32$2 | 0; + $65 = i64toi32_i32$1 & i64toi32_i32$0 | 0; + $65$hi = i64toi32_i32$2; + i64toi32_i32$2 = $63$hi; + i64toi32_i32$3 = $40; + i64toi32_i32$1 = $65$hi; + i64toi32_i32$0 = $65; + i64toi32_i32$1 = i64toi32_i32$2 | i64toi32_i32$1 | 0; + __wasm_intrinsics_temp_i64 = i64toi32_i32$3 | i64toi32_i32$0 | 0; + __wasm_intrinsics_temp_i64$hi = i64toi32_i32$1; + i64toi32_i32$1 = 0; + i64toi32_i32$3 = var$2 >>> ((__wasm_ctz_i32(var$3 | 0) | 0) & 31 | 0) | 0; + i64toi32_i32$HIGH_BITS = i64toi32_i32$1; + return i64toi32_i32$3 | 0; + } + } + var$4 = var$3 + -1 | 0; + if (!(var$4 & var$3 | 0)) { + break label$5 + } + var$2 = (Math_clz32(var$3) + 33 | 0) - Math_clz32(var$2) | 0; + var$3 = 0 - var$2 | 0; + break label$3; + } + var$3 = 63 - var$2 | 0; + var$2 = var$2 + 1 | 0; + break label$3; + } + var$4 = (var$2 >>> 0) / (var$3 >>> 0) | 0; + i64toi32_i32$3 = 0; + i64toi32_i32$2 = var$2 - Math_imul(var$4, var$3) | 0; + i64toi32_i32$1 = 0; + i64toi32_i32$0 = 32; + i64toi32_i32$4 = i64toi32_i32$0 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) { + i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4 | 0; + $41 = 0; + } else { + i64toi32_i32$1 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$3 << i64toi32_i32$4 | 0) | 0; + $41 = i64toi32_i32$2 << i64toi32_i32$4 | 0; + } + __wasm_intrinsics_temp_i64 = $41; + __wasm_intrinsics_temp_i64$hi = i64toi32_i32$1; + i64toi32_i32$1 = 0; + i64toi32_i32$2 = var$4; + i64toi32_i32$HIGH_BITS = i64toi32_i32$1; + return i64toi32_i32$2 | 0; + } + var$2 = Math_clz32(var$3) - Math_clz32(var$2) | 0; + if (var$2 >>> 0 < 31 >>> 0) { + break label$4 + } + break label$2; + } + i64toi32_i32$2 = var$0$hi; + i64toi32_i32$2 = 0; + __wasm_intrinsics_temp_i64 = var$4 & var$0 | 0; + __wasm_intrinsics_temp_i64$hi = i64toi32_i32$2; + if ((var$3 | 0) == (1 | 0)) { + break label$1 + } + i64toi32_i32$2 = var$0$hi; + i64toi32_i32$2 = 0; + $120$hi = i64toi32_i32$2; + i64toi32_i32$2 = var$0$hi; + i64toi32_i32$3 = var$0; + i64toi32_i32$1 = $120$hi; + i64toi32_i32$0 = __wasm_ctz_i32(var$3 | 0) | 0; + i64toi32_i32$4 = i64toi32_i32$0 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) { + i64toi32_i32$1 = 0; + $42 = i64toi32_i32$2 >>> i64toi32_i32$4 | 0; + } else { + i64toi32_i32$1 = i64toi32_i32$2 >>> i64toi32_i32$4 | 0; + $42 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$2 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$3 >>> i64toi32_i32$4 | 0) | 0; + } + i64toi32_i32$3 = $42; + i64toi32_i32$HIGH_BITS = i64toi32_i32$1; + return i64toi32_i32$3 | 0; + } + var$3 = 63 - var$2 | 0; + var$2 = var$2 + 1 | 0; + } + i64toi32_i32$3 = var$0$hi; + i64toi32_i32$3 = 0; + $129$hi = i64toi32_i32$3; + i64toi32_i32$3 = var$0$hi; + i64toi32_i32$2 = var$0; + i64toi32_i32$1 = $129$hi; + i64toi32_i32$0 = var$2 & 63 | 0; + i64toi32_i32$4 = i64toi32_i32$0 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) { + i64toi32_i32$1 = 0; + $43 = i64toi32_i32$3 >>> i64toi32_i32$4 | 0; + } else { + i64toi32_i32$1 = i64toi32_i32$3 >>> i64toi32_i32$4 | 0; + $43 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$3 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$2 >>> i64toi32_i32$4 | 0) | 0; + } + var$5 = $43; + var$5$hi = i64toi32_i32$1; + i64toi32_i32$1 = var$0$hi; + i64toi32_i32$1 = 0; + $134$hi = i64toi32_i32$1; + i64toi32_i32$1 = var$0$hi; + i64toi32_i32$3 = var$0; + i64toi32_i32$2 = $134$hi; + i64toi32_i32$0 = var$3 & 63 | 0; + i64toi32_i32$4 = i64toi32_i32$0 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) { + i64toi32_i32$2 = i64toi32_i32$3 << i64toi32_i32$4 | 0; + $44 = 0; + } else { + i64toi32_i32$2 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$3 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$1 << i64toi32_i32$4 | 0) | 0; + $44 = i64toi32_i32$3 << i64toi32_i32$4 | 0; + } + var$0 = $44; + var$0$hi = i64toi32_i32$2; + label$13 : { + if (var$2) { + i64toi32_i32$2 = var$1$hi; + i64toi32_i32$1 = var$1; + i64toi32_i32$3 = -1; + i64toi32_i32$0 = -1; + i64toi32_i32$4 = i64toi32_i32$1 + i64toi32_i32$0 | 0; + i64toi32_i32$5 = i64toi32_i32$2 + i64toi32_i32$3 | 0; + if (i64toi32_i32$4 >>> 0 < i64toi32_i32$0 >>> 0) { + i64toi32_i32$5 = i64toi32_i32$5 + 1 | 0 + } + var$8 = i64toi32_i32$4; + var$8$hi = i64toi32_i32$5; + label$15 : while (1) { + i64toi32_i32$5 = var$5$hi; + i64toi32_i32$2 = var$5; + i64toi32_i32$1 = 0; + i64toi32_i32$0 = 1; + i64toi32_i32$3 = i64toi32_i32$0 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) { + i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$3 | 0; + $45 = 0; + } else { + i64toi32_i32$1 = ((1 << i64toi32_i32$3 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$3 | 0) | 0) | 0 | (i64toi32_i32$5 << i64toi32_i32$3 | 0) | 0; + $45 = i64toi32_i32$2 << i64toi32_i32$3 | 0; + } + $140 = $45; + $140$hi = i64toi32_i32$1; + i64toi32_i32$1 = var$0$hi; + i64toi32_i32$5 = var$0; + i64toi32_i32$2 = 0; + i64toi32_i32$0 = 63; + i64toi32_i32$3 = i64toi32_i32$0 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) { + i64toi32_i32$2 = 0; + $46 = i64toi32_i32$1 >>> i64toi32_i32$3 | 0; + } else { + i64toi32_i32$2 = i64toi32_i32$1 >>> i64toi32_i32$3 | 0; + $46 = (((1 << i64toi32_i32$3 | 0) - 1 | 0) & i64toi32_i32$1 | 0) << (32 - i64toi32_i32$3 | 0) | 0 | (i64toi32_i32$5 >>> i64toi32_i32$3 | 0) | 0; + } + $142$hi = i64toi32_i32$2; + i64toi32_i32$2 = $140$hi; + i64toi32_i32$1 = $140; + i64toi32_i32$5 = $142$hi; + i64toi32_i32$0 = $46; + i64toi32_i32$5 = i64toi32_i32$2 | i64toi32_i32$5 | 0; + var$5 = i64toi32_i32$1 | i64toi32_i32$0 | 0; + var$5$hi = i64toi32_i32$5; + $144 = var$5; + $144$hi = i64toi32_i32$5; + i64toi32_i32$5 = var$8$hi; + i64toi32_i32$5 = var$5$hi; + i64toi32_i32$5 = var$8$hi; + i64toi32_i32$2 = var$8; + i64toi32_i32$1 = var$5$hi; + i64toi32_i32$0 = var$5; + i64toi32_i32$3 = i64toi32_i32$2 - i64toi32_i32$0 | 0; + i64toi32_i32$6 = i64toi32_i32$2 >>> 0 < i64toi32_i32$0 >>> 0; + i64toi32_i32$4 = i64toi32_i32$6 + i64toi32_i32$1 | 0; + i64toi32_i32$4 = i64toi32_i32$5 - i64toi32_i32$4 | 0; + i64toi32_i32$5 = i64toi32_i32$3; + i64toi32_i32$2 = 0; + i64toi32_i32$0 = 63; + i64toi32_i32$1 = i64toi32_i32$0 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) { + i64toi32_i32$2 = i64toi32_i32$4 >> 31 | 0; + $47 = i64toi32_i32$4 >> i64toi32_i32$1 | 0; + } else { + i64toi32_i32$2 = i64toi32_i32$4 >> i64toi32_i32$1 | 0; + $47 = (((1 << i64toi32_i32$1 | 0) - 1 | 0) & i64toi32_i32$4 | 0) << (32 - i64toi32_i32$1 | 0) | 0 | (i64toi32_i32$5 >>> i64toi32_i32$1 | 0) | 0; + } + var$6 = $47; + var$6$hi = i64toi32_i32$2; + i64toi32_i32$2 = var$1$hi; + i64toi32_i32$2 = var$6$hi; + i64toi32_i32$4 = var$6; + i64toi32_i32$5 = var$1$hi; + i64toi32_i32$0 = var$1; + i64toi32_i32$5 = i64toi32_i32$2 & i64toi32_i32$5 | 0; + $151 = i64toi32_i32$4 & i64toi32_i32$0 | 0; + $151$hi = i64toi32_i32$5; + i64toi32_i32$5 = $144$hi; + i64toi32_i32$2 = $144; + i64toi32_i32$4 = $151$hi; + i64toi32_i32$0 = $151; + i64toi32_i32$1 = i64toi32_i32$2 - i64toi32_i32$0 | 0; + i64toi32_i32$6 = i64toi32_i32$2 >>> 0 < i64toi32_i32$0 >>> 0; + i64toi32_i32$3 = i64toi32_i32$6 + i64toi32_i32$4 | 0; + i64toi32_i32$3 = i64toi32_i32$5 - i64toi32_i32$3 | 0; + var$5 = i64toi32_i32$1; + var$5$hi = i64toi32_i32$3; + i64toi32_i32$3 = var$0$hi; + i64toi32_i32$5 = var$0; + i64toi32_i32$2 = 0; + i64toi32_i32$0 = 1; + i64toi32_i32$4 = i64toi32_i32$0 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) { + i64toi32_i32$2 = i64toi32_i32$5 << i64toi32_i32$4 | 0; + $48 = 0; + } else { + i64toi32_i32$2 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$5 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$3 << i64toi32_i32$4 | 0) | 0; + $48 = i64toi32_i32$5 << i64toi32_i32$4 | 0; + } + $154$hi = i64toi32_i32$2; + i64toi32_i32$2 = var$7$hi; + i64toi32_i32$2 = $154$hi; + i64toi32_i32$3 = $48; + i64toi32_i32$5 = var$7$hi; + i64toi32_i32$0 = var$7; + i64toi32_i32$5 = i64toi32_i32$2 | i64toi32_i32$5 | 0; + var$0 = i64toi32_i32$3 | i64toi32_i32$0 | 0; + var$0$hi = i64toi32_i32$5; + i64toi32_i32$5 = var$6$hi; + i64toi32_i32$2 = var$6; + i64toi32_i32$3 = 0; + i64toi32_i32$0 = 1; + i64toi32_i32$3 = i64toi32_i32$5 & i64toi32_i32$3 | 0; + var$6 = i64toi32_i32$2 & i64toi32_i32$0 | 0; + var$6$hi = i64toi32_i32$3; + var$7 = var$6; + var$7$hi = i64toi32_i32$3; + var$2 = var$2 + -1 | 0; + if (var$2) { + continue label$15 + } + break label$15; + }; + break label$13; + } + } + i64toi32_i32$3 = var$5$hi; + __wasm_intrinsics_temp_i64 = var$5; + __wasm_intrinsics_temp_i64$hi = i64toi32_i32$3; + i64toi32_i32$3 = var$0$hi; + i64toi32_i32$5 = var$0; + i64toi32_i32$2 = 0; + i64toi32_i32$0 = 1; + i64toi32_i32$4 = i64toi32_i32$0 & 31 | 0; + if (32 >>> 0 <= (i64toi32_i32$0 & 63 | 0) >>> 0) { + i64toi32_i32$2 = i64toi32_i32$5 << i64toi32_i32$4 | 0; + $49 = 0; + } else { + i64toi32_i32$2 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$5 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$3 << i64toi32_i32$4 | 0) | 0; + $49 = i64toi32_i32$5 << i64toi32_i32$4 | 0; + } + $165$hi = i64toi32_i32$2; + i64toi32_i32$2 = var$6$hi; + i64toi32_i32$2 = $165$hi; + i64toi32_i32$3 = $49; + i64toi32_i32$5 = var$6$hi; + i64toi32_i32$0 = var$6; + i64toi32_i32$5 = i64toi32_i32$2 | i64toi32_i32$5 | 0; + i64toi32_i32$3 = i64toi32_i32$3 | i64toi32_i32$0 | 0; + i64toi32_i32$HIGH_BITS = i64toi32_i32$5; + return i64toi32_i32$3 | 0; + } + i64toi32_i32$3 = var$0$hi; + __wasm_intrinsics_temp_i64 = var$0; + __wasm_intrinsics_temp_i64$hi = i64toi32_i32$3; + i64toi32_i32$3 = 0; + var$0 = 0; + var$0$hi = i64toi32_i32$3; + } + i64toi32_i32$3 = var$0$hi; + i64toi32_i32$5 = var$0; + i64toi32_i32$HIGH_BITS = i64toi32_i32$3; + return i64toi32_i32$5 | 0; + } + + function __wasm_ctz_i32(var$0) { + var$0 = var$0 | 0; + if (var$0) { + return 31 - Math_clz32((var$0 + -1 | 0) ^ var$0 | 0) | 0 | 0 + } + return 32 | 0; + } + + function __wasm_i64_mul(var$0, var$0$hi, var$1, var$1$hi) { + var$0 = var$0 | 0; + var$0$hi = var$0$hi | 0; + var$1 = var$1 | 0; + var$1$hi = var$1$hi | 0; + var i64toi32_i32$0 = 0, i64toi32_i32$1 = 0; + i64toi32_i32$0 = var$0$hi; + i64toi32_i32$0 = var$1$hi; + i64toi32_i32$0 = var$0$hi; + i64toi32_i32$1 = var$1$hi; + i64toi32_i32$1 = _ZN17compiler_builtins3int3mul3Mul3mul17h070e9a1c69faec5bE(var$0 | 0, i64toi32_i32$0 | 0, var$1 | 0, i64toi32_i32$1 | 0) | 0; + i64toi32_i32$0 = i64toi32_i32$HIGH_BITS; + i64toi32_i32$HIGH_BITS = i64toi32_i32$0; + return i64toi32_i32$1 | 0; + } + + function __wasm_i64_udiv(var$0, var$0$hi, var$1, var$1$hi) { + var$0 = var$0 | 0; + var$0$hi = var$0$hi | 0; + var$1 = var$1 | 0; + var$1$hi = var$1$hi | 0; + var i64toi32_i32$0 = 0, i64toi32_i32$1 = 0; + i64toi32_i32$0 = var$0$hi; + i64toi32_i32$0 = var$1$hi; + i64toi32_i32$0 = var$0$hi; + i64toi32_i32$1 = var$1$hi; + i64toi32_i32$1 = _ZN17compiler_builtins3int4udiv10divmod_u6417h6026910b5ed08e40E(var$0 | 0, i64toi32_i32$0 | 0, var$1 | 0, i64toi32_i32$1 | 0) | 0; + i64toi32_i32$0 = i64toi32_i32$HIGH_BITS; + i64toi32_i32$HIGH_BITS = i64toi32_i32$0; + return i64toi32_i32$1 | 0; + } + + function __wasm_rotl_i32(var$0, var$1) { + var$0 = var$0 | 0; + var$1 = var$1 | 0; + var var$2 = 0; + var$2 = var$1 & 31 | 0; + var$1 = (0 - var$1 | 0) & 31 | 0; + return ((-1 >>> var$2 | 0) & var$0 | 0) << var$2 | 0 | (((-1 << var$1 | 0) & var$0 | 0) >>> var$1 | 0) | 0 | 0; + } + + // EMSCRIPTEN_END_FUNCS +; + bufferView = HEAPU8; + initActiveSegments(imports); + var FUNCTION_TABLE = Table([null, __cxx_global_array_dtor, __cxx_global_array_dtor_5, __cxx_global_array_dtor_6, __cxx_global_array_dtor_7, __cxx_global_array_dtor_8, __cxx_global_array_dtor_9, __cxx_global_array_dtor_10, embind_init_bullet_28_29, void_20const__20emscripten__internal__getActualType_btDebugDraw__28btDebugDraw__29, void_20emscripten__internal__raw_destructor_btDebugDraw__28btDebugDraw__29, void_20const__20emscripten__internal__getActualType_btDebugDrawWrapper__28btDebugDrawWrapper__29, void_20emscripten__internal__raw_destructor_btDebugDrawWrapper__28btDebugDrawWrapper__29, btDebugDrawWrapper__20emscripten__internal__wrapped_new_btDebugDrawWrapper__2c_20btDebugDrawWrapper_2c_20emscripten__val__28emscripten__val___29, emscripten__internal__Invoker_btDebugDrawWrapper__2c_20emscripten__val_____invoke_28btDebugDrawWrapper__20_28__29_28emscripten__val___29_2c_20emscripten___EM_VAL__29, emscripten__val_20emscripten__internal__wrapped_extend_btDebugDrawWrapper__28std____2__basic_string_char_2c_20std____2__char_traits_char__2c_20std____2__allocator_char___20const__2c_20emscripten__val_20const__29, emscripten__internal__Invoker_emscripten__val_2c_20std____2__basic_string_char_2c_20std____2__char_traits_char__2c_20std____2__allocator_char___20const__2c_20emscripten__val_20const____invoke_28emscripten__val_20_28__29_28std____2__basic_string_char_2c_20std____2__char_traits_char__2c_20std____2__allocator_char___20const__2c_20emscripten__val_20const__29_2c_20emscripten__internal__BindingType_std____2__basic_string_char_2c_20std____2__char_traits_char__2c_20std____2__allocator_char___2c_20void____unnamed___2c_20emscripten___EM_VAL__29, void_20const__20emscripten__internal__getActualType_btControllerHitReport__28btControllerHitReport__29, void_20emscripten__internal__raw_destructor_btControllerHitReport__28btControllerHitReport__29, void_20const__20emscripten__internal__getActualType_btControllerHitReportWrapper__28btControllerHitReportWrapper__29, void_20emscripten__internal__raw_destructor_btControllerHitReportWrapper__28btControllerHitReportWrapper__29, btControllerHitReportWrapper__20emscripten__internal__wrapped_new_btControllerHitReportWrapper__2c_20btControllerHitReportWrapper_2c_20emscripten__val__28emscripten__val___29, emscripten__internal__Invoker_btControllerHitReportWrapper__2c_20emscripten__val_____invoke_28btControllerHitReportWrapper__20_28__29_28emscripten__val___29_2c_20emscripten___EM_VAL__29, emscripten__val_20emscripten__internal__wrapped_extend_btControllerHitReportWrapper__28std____2__basic_string_char_2c_20std____2__char_traits_char__2c_20std____2__allocator_char___20const__2c_20emscripten__val_20const__29, void_20const__20emscripten__internal__getActualType_cc__ccMotionState__28cc__ccMotionState__29, void_20emscripten__internal__raw_destructor_cc__ccMotionState__28cc__ccMotionState__29, void_20const__20emscripten__internal__getActualType_ccMotionStateWrapper__28ccMotionStateWrapper__29, void_20emscripten__internal__raw_destructor_ccMotionStateWrapper__28ccMotionStateWrapper__29, ccMotionStateWrapper__20emscripten__internal__wrapped_new_ccMotionStateWrapper__2c_20ccMotionStateWrapper_2c_20emscripten__val__28emscripten__val___29, emscripten__internal__Invoker_ccMotionStateWrapper__2c_20emscripten__val_____invoke_28ccMotionStateWrapper__20_28__29_28emscripten__val___29_2c_20emscripten___EM_VAL__29, emscripten__val_20emscripten__internal__wrapped_extend_ccMotionStateWrapper__28std____2__basic_string_char_2c_20std____2__char_traits_char__2c_20std____2__allocator_char___20const__2c_20emscripten__val_20const__29, _malloc_28int_29, _free_28int_29, _read_f32_28int_29, _write_f32_28int_2c_20float_29, _safe_delete_28int_2c_20int_29, Vec3_new_28float_2c_20float_2c_20float_29, Vec3_x_28int_29, Vec3_y_28int_29, Vec3_z_28int_29, Vec3_set_28int_2c_20float_2c_20float_2c_20float_29, Quat_new_28float_2c_20float_2c_20float_2c_20float_29, Quat_x_28int_29, Quat_y_28int_29, Quat_z_28int_29, Quat_w_28int_29, Quat_set_28int_2c_20float_2c_20float_2c_20float_2c_20float_29, Transform_new_28_29, Transform_setIdentity_28int_29, Transform_setRotation_28int_2c_20int_29, Transform_getOrigin_28int_29, Transform_getRotation_28int_2c_20int_29, Transform_getRotationAndOrigin_28int_2c_20int_29, MotionState_getWorldTransform, MotionState_setWorldTransform, ccMotionState_setup, int_array_size_28int_29, int_array_at_28int_2c_20int_29, Vec3_array_at_28int_2c_20int_29, TypedConstraint_getFixedBody_28_29, TypedConstraint_getDbgDrawSize_28int_29, TypedConstraint_setDbgDrawSize_28int_2c_20float_29, TypedConstraint_setMaxImpulseThreshold_28int_2c_20float_29, HingeConstraint_new_28int_2c_20int_2c_20int_2c_20int_29, HingeConstraint_setFrames_28int_2c_20int_2c_20int_29, HingeConstraint_setLimit_28int_2c_20float_2c_20float_2c_20float_2c_20float_2c_20float_29, HingeConstraint_enableMotor_28int_2c_20bool_29, HingeConstraint_setAngularOnly_28int_2c_20bool_29, HingeConstraint_setMaxMotorImpulse_28int_2c_20float_29, HingeConstraint_setMotorTarget_28int_2c_20float_2c_20float_29, HingeConstraint_setMotorVelocity_28int_2c_20float_29, P2PConstraint_new_28int_2c_20int_2c_20int_2c_20int_29, P2PConstraint_setPivotA_28int_2c_20int_29, P2PConstraint_setPivotB_28int_2c_20int_29, FixedConstraint_new_28int_2c_20int_2c_20int_2c_20int_29, FixedConstraint_setFrames_28int_2c_20int_2c_20int_29, Generic6DofSpring2Constraint_new_28int_2c_20int_2c_20int_2c_20int_2c_20int_29, Generic6DofSpring2Constraint_setFrames_28int_2c_20int_2c_20int_29, Generic6DofSpring2Constraint_setLimit_28int_2c_20int_2c_20float_2c_20float_29, Generic6DofSpring2Constraint_enableSpring_28int_2c_20int_2c_20bool_29, Generic6DofSpring2Constraint_setStiffness_28int_2c_20int_2c_20float_29, Generic6DofSpring2Constraint_setDamping_28int_2c_20int_2c_20float_29, Generic6DofSpring2Constraint_setBounce_28int_2c_20int_2c_20float_29, Generic6DofSpring2Constraint_setEquilibriumPoint_28int_2c_20int_2c_20float_29, Generic6DofSpring2Constraint_enableMotor_28int_2c_20int_2c_20bool_29, Generic6DofSpring2Constraint_setMaxMotorForce_28int_2c_20int_2c_20float_29, Generic6DofSpring2Constraint_setTargetVelocity_28int_2c_20int_2c_20float_29, Generic6DofSpring2Constraint_setServo_28int_2c_20int_2c_20bool_29, Generic6DofSpring2Constraint_setServoTarget_28int_2c_20int_2c_20float_29, CollisionShape_isCompound_28int_29, CollisionShape_setLocalScaling_28int_2c_20int_29, CollisionShape_calculateLocalInertia_28int_2c_20float_2c_20int_29, CollisionShape_getAabb_28int_2c_20int_2c_20int_2c_20int_29, CollisionShape_setMargin_28int_2c_20float_29, CollisionShape_setMaterial_28int_2c_20int_29, CollisionShape_setUserPointer_28int_2c_20int_29, EmptyShape_static_28_29, ConvexInternalShape_getImplicitShapeDimensions_28int_29, BoxShape_new_28int_29, BoxShape_setUnscaledHalfExtents_28int_2c_20int_29, SphereShape_new_28float_29, SphereShape_setUnscaledRadius_28int_2c_20float_29, CylinderShape_new_28int_29, CylinderShape_updateProp_28int_2c_20float_2c_20float_2c_20int_29, CapsuleShape_new_28float_2c_20float_29, CapsuleShape_updateProp_28int_2c_20float_2c_20float_2c_20int_29, ConeShape_new_28float_2c_20float_29, ConeShape_setRadius_28int_2c_20float_29, ConeShape_setHeight_28int_2c_20float_29, ConeShape_setConeUpIndex_28int_2c_20int_29, StaticPlaneShape_new_28int_2c_20float_29, StaticPlaneShape_getPlaneNormal_28int_29, StaticPlaneShape_setPlaneConstant_28int_2c_20float_29, TerrainShape_new_28int_2c_20int_2c_20int_2c_20float_2c_20float_2c_20float_29, TriangleMesh_new_28_29, TriangleMesh_addTriangle_28int_2c_20int_2c_20int_2c_20int_2c_20bool_29, BvhTriangleMeshShape_new_28int_2c_20bool_2c_20bool_29, BvhTriangleMeshShape_getOptimizedBvh_28int_29, BvhTriangleMeshShape_setOptimizedBvh_28int_2c_20int_2c_20float_2c_20float_2c_20float_29, ScaledBvhTriangleMeshShape_new_28int_2c_20float_2c_20float_2c_20float_29, ConvexTriangleMeshShape_new_28int_29, SimplexShape_new_28_29, SimplexShape_addVertex_28int_2c_20int_29, ccCompoundShape_new_28_29, CompoundShape_getNumChildShapes_28int_29, CompoundShape_addChildShape_28int_2c_20int_2c_20int_29, CompoundShape_getChildShape_28int_2c_20int_29, CompoundShape_removeChildShape_28int_2c_20int_29, CompoundShape_updateChildTransform_28int_2c_20int_2c_20int_2c_20bool_29, CollisionObject_new_28_29, CollisionObject_getCollisionShape_28int_29, CollisionObject_setCollisionShape_28int_2c_20int_29, CollisionObject_setContactProcessingThreshold_28int_2c_20int_29, CollisionObject_isSleeping_28int_29, CollisionObject_getActivationState_28int_29, CollisionObject_forceActivationState_28int_2c_20int_29, CollisionObject_activate_28int_2c_20bool_29, CollisionObject_isActive_28int_29, CollisionObject_isKinematicObject_28int_29, CollisionObject_isStaticObject_28int_29, CollisionObject_isStaticOrKinematicObject_28int_29, CollisionObject_getWorldTransform_28int_29, CollisionObject_setCollisionFlags_28int_2c_20int_29, CollisionObject_getCollisionFlags_28int_29, CollisionObject_setCcdMotionThreshold_28int_2c_20float_29, CollisionObject_setCcdSweptSphereRadius_28int_2c_20float_29, CollisionObject_setUserIndex_28int_2c_20int_29, CollisionObject_getUserIndex_28int_29, CollisionObject_setMaterial_28int_2c_20float_2c_20float_2c_20float_2c_20float_29, CollisionObject_setIgnoreCollisionCheck_28int_2c_20int_2c_20bool_29, RigidBody_new_28float_2c_20int_29, RigidBody_getFlags_28int_29, RigidBody_setFlags_28int_2c_20int_29, RigidBody_setGravity_28int_2c_20int_29, RigidBody_setDamping_28int_2c_20float_2c_20float_29, RigidBody_setMass_28int_2c_20float_29, RigidBody_setMassProps_28int_2c_20float_2c_20int_29, RigidBody_setLinearFactor_28int_2c_20int_29, RigidBody_setAngularFactor_28int_2c_20int_29, RigidBody_setLinearVelocity_28int_2c_20int_29, RigidBody_getLinearVelocity_28int_29, RigidBody_setAngularVelocity_28int_2c_20int_29, RigidBody_getAngularVelocity_28int_29, RigidBody_clearState_28int_29, RigidBody_clearForces_28int_29, RigidBody_wantsSleeping_28int_29, RigidBody_setSleepingThresholds_28int_2c_20float_2c_20float_29, RigidBody_getLinearSleepingThreshold_28int_29, RigidBody_getMotionState_28int_29, RigidBody_applyTorque_28int_2c_20int_29, RigidBody_applyForce_28int_2c_20int_2c_20int_29, RigidBody_applyImpulse_28int_2c_20int_2c_20int_29, RigidBody_getWorldTransform_28int_2c_20int_29, DefaultCollisionConfiguration_static_28_29, CollisionDispatcher_new_28_29, Dispatcher_getNumManifolds_28int_29, Dispatcher_getManifoldByIndexInternal_28int_2c_20int_29, ManifoldPoint_getShape0_28int_29, ManifoldPoint_getShape1_28int_29, ManifoldPoint_get_m_index0_28int_29, ManifoldPoint_get_m_index1_28int_29, PersistentManifold_getBody0_28int_29, PersistentManifold_getBody1_28int_29, PersistentManifold_getNumContacts_28int_29, PersistentManifold_getContactPoint_28int_2c_20int_29, ManifoldPoint_get_m_localPointA_28int_29, ManifoldPoint_get_m_localPointB_28int_29, ManifoldPoint_get_m_positionWorldOnA_28int_29, ManifoldPoint_get_m_positionWorldOnB_28int_29, ManifoldPoint_get_m_normalWorldOnB_28int_29, DbvtBroadphase_new_28_29, SequentialImpulseConstraintSolver_new_28_29, CollisionWorld_addCollisionObject_28int_2c_20int_2c_20unsigned_20int_2c_20unsigned_20int_29, CollisionWorld_removeCollisionObject_28int_2c_20int_29, CollisionWorld_rayTest_28int_2c_20int_2c_20int_2c_20int_29, CollisionWorld_convexSweepTest_28int_2c_20int_2c_20int_2c_20int_2c_20int_2c_20float_29, CollisionWorld_setDebugDrawer_28int_2c_20int_29, CollisionWorld_debugDrawWorld_28int_29, ccDiscreteDynamicsWorld_new_28int_2c_20int_2c_20int_29, ccDiscreteDynamicsWorld_setAllowSleep_28int_2c_20bool_29, DynamicsWorld_setGravity_28int_2c_20int_29, DynamicsWorld_stepSimulation_28int_2c_20float_2c_20int_2c_20float_29, DynamicsWorld_addRigidBody_28int_2c_20int_2c_20unsigned_20int_2c_20unsigned_20int_29, DynamicsWorld_removeRigidBody_28int_2c_20int_29, DynamicsWorld_addConstraint_28int_2c_20int_2c_20bool_29, DynamicsWorld_removeConstraint_28int_2c_20int_29, DynamicsWorld_addAction_28int_2c_20int_29, DynamicsWorld_removeAction_28int_2c_20int_29, DebugDraw_setDebugMode_28int_2c_20int_29, DebugDraw_getDebugMode_28int_29, DebugDraw_setActiveObjectColor_28int_2c_20float_2c_20float_2c_20float_29, DebugDraw_setDeactiveObjectColor_28int_2c_20float_2c_20float_2c_20float_29, DebugDraw_setWantsDeactivationObjectColor_28int_2c_20float_2c_20float_2c_20float_29, DebugDraw_setDisabledDeactivationObjectColor_28int_2c_20float_2c_20float_2c_20float_29, DebugDraw_setDisabledSimulationObjectColor_28int_2c_20float_2c_20float_2c_20float_29, DebugDraw_setAABBColor_28int_2c_20float_2c_20float_2c_20float_29, DebugDraw_setContactPointColor_28int_2c_20float_2c_20float_2c_20float_29, DebugDraw_setConstraintLimitColor_28int_2c_20float_2c_20float_2c_20float_29, RayCallback_hasHit_28int_29, ConvexCallback_hasHit_28int_29, ccAllRayCallback_static_28_29, ccAllRayCallback_setFlags_28int_2c_20int_29, ccAllRayCallback_reset_28int_2c_20int_2c_20int_2c_20unsigned_20int_2c_20bool_29, ccAllRayCallback_getHitPointWorld_28int_29, ccAllRayCallback_getHitNormalWorld_28int_29, ccAllRayCallback_getCollisionShapePtrs_28int_29, ccClosestRayCallback_static_28_29, ccClosestRayCallback_setFlags_28int_2c_20int_29, ccClosestRayCallback_reset_28int_2c_20int_2c_20int_2c_20unsigned_20int_2c_20bool_29, ccClosestRayCallback_getHitPointWorld_28int_29, ccClosestRayCallback_getHitNormalWorld_28int_29, ccClosestRayCallback_getCollisionShapePtr_28int_29, ccAllConvexCallback_static_28_29, ccAllConvexCallback_reset_28int_2c_20int_2c_20int_2c_20unsigned_20int_2c_20bool_29, ccAllConvexCallback_getHitPointWorld_28int_29, ccAllConvexCallback_getHitNormalWorld_28int_29, ccAllConvexCallback_getCollisionShapePtrs_28int_29, ccClosestConvexCallback_static_28_29, ccClosestConvexCallback_reset_28int_2c_20int_2c_20int_2c_20unsigned_20int_2c_20bool_29, ccClosestConvexCallback_getHitPointWorld_28int_29, ccClosestConvexCallback_getHitNormalWorld_28int_29, ccClosestConvexCallback_getCollisionShapePtr_28int_29, ccMaterial_new_28_29, ccMaterial_set_28int_2c_20float_2c_20float_2c_20float_2c_20float_29, CharacterController_getGhostObject, CharacterController_getCollisionShape, ControllerHit_getHitWorldPos, ControllerHit_getHitWorldNormal, ControllerHit_getHitMotionDir, ControllerHit_getHitMotionLength, ControllerShapeHit_getHitShape, ControllerShapeHit_getHitCollisionObject, CharacterController_move, CharacterController_getPosition, CharacterController_setContactOffset, CharacterController_setStepOffset, CharacterController_setSlopeLimit, CharacterController_setCollision, CharacterController_setOverlapRecovery, CapsuleCharacterControllerDesc_new, CapsuleCharacterController_new, CapsuleCharacterController_setRadius, CapsuleCharacterController_setHeight, BoxCharacterControllerDesc_new, BoxCharacterController_new, BoxCharacterController_setHalfHeight, BoxCharacterController_setHalfSideExtent, BoxCharacterController_setHalfForwardExtent, emscripten__internal__MethodInvoker_void_20_28btIDebugDraw____29_28_29_2c_20void_2c_20btIDebugDraw____invoke_28void_20_28btIDebugDraw____20const__29_28_29_2c_20btIDebugDraw__29, emscripten__internal__MethodInvoker_void_20_28btDebugDraw____29_28int_2c_20int_2c_20int_29_2c_20void_2c_20btDebugDraw__2c_20int_2c_20int_2c_20int___invoke_28void_20_28btDebugDraw____20const__29_28int_2c_20int_2c_20int_29_2c_20btDebugDraw__2c_20int_2c_20int_2c_20int_29, btDebugDraw__20emscripten__base_btDebugDraw___convertPointer_btDebugDrawWrapper_2c_20btDebugDraw__28btDebugDrawWrapper__29, btDebugDrawWrapper__20emscripten__base_btDebugDraw___convertPointer_btDebugDraw_2c_20btDebugDrawWrapper__28btDebugDraw__29, emscripten__class__btDebugDraw_2c_20emscripten__internal__NoBaseClass__20const__20emscripten__class__btDebugDraw_2c_20emscripten__internal__NoBaseClass___allow_subclass_btDebugDrawWrapper__28char_20const__2c_20emscripten__constructor___29_20const___lambda__28btDebugDrawWrapper__29____invoke_28btDebugDrawWrapper__29, emscripten__internal__FunctionInvoker_void_20_28__29_28btDebugDrawWrapper__29_2c_20void_2c_20btDebugDrawWrapper____invoke_28void_20_28___29_28btDebugDrawWrapper__29_2c_20btDebugDrawWrapper__29, emscripten__internal__MethodInvoker_void_20_28btControllerHitReport____29_28int_2c_20int_29_2c_20void_2c_20btControllerHitReport__2c_20int_2c_20int___invoke_28void_20_28btControllerHitReport____20const__29_28int_2c_20int_29_2c_20btControllerHitReport__2c_20int_2c_20int_29, btControllerHitReport__20emscripten__base_btControllerHitReport___convertPointer_btControllerHitReportWrapper_2c_20btControllerHitReport__28btControllerHitReportWrapper__29, btControllerHitReportWrapper__20emscripten__base_btControllerHitReport___convertPointer_btControllerHitReport_2c_20btControllerHitReportWrapper__28btControllerHitReport__29, emscripten__class__btControllerHitReport_2c_20emscripten__internal__NoBaseClass__20const__20emscripten__class__btControllerHitReport_2c_20emscripten__internal__NoBaseClass___allow_subclass_btControllerHitReportWrapper__28char_20const__2c_20emscripten__constructor___29_20const___lambda__28btControllerHitReportWrapper__29____invoke_28btControllerHitReportWrapper__29, emscripten__internal__FunctionInvoker_void_20_28__29_28btControllerHitReportWrapper__29_2c_20void_2c_20btControllerHitReportWrapper____invoke_28void_20_28___29_28btControllerHitReportWrapper__29_2c_20btControllerHitReportWrapper__29, emscripten__internal__MethodInvoker_void_20_28cc__ccMotionState____29_28int_29_2c_20void_2c_20cc__ccMotionState__2c_20int___invoke_28void_20_28cc__ccMotionState____20const__29_28int_29_2c_20cc__ccMotionState__2c_20int_29, cc__ccMotionState__20emscripten__base_cc__ccMotionState___convertPointer_ccMotionStateWrapper_2c_20cc__ccMotionState__28ccMotionStateWrapper__29, ccMotionStateWrapper__20emscripten__base_cc__ccMotionState___convertPointer_cc__ccMotionState_2c_20ccMotionStateWrapper__28cc__ccMotionState__29, emscripten__class__cc__ccMotionState_2c_20emscripten__internal__NoBaseClass__20const__20emscripten__class__cc__ccMotionState_2c_20emscripten__internal__NoBaseClass___allow_subclass_ccMotionStateWrapper__28char_20const__2c_20emscripten__constructor___29_20const___lambda__28ccMotionStateWrapper__29____invoke_28ccMotionStateWrapper__29, emscripten__internal__FunctionInvoker_void_20_28__29_28ccMotionStateWrapper__29_2c_20void_2c_20ccMotionStateWrapper____invoke_28void_20_28___29_28ccMotionStateWrapper__29_2c_20ccMotionStateWrapper__29, emscripten__internal__Invoker_int_2c_20int___invoke_28int_20_28__29_28int_29_2c_20int_29, emscripten__internal__Invoker_void_2c_20int___invoke_28void_20_28__29_28int_29_2c_20int_29, emscripten__internal__Invoker_float_2c_20int___invoke_28float_20_28__29_28int_29_2c_20int_29, emscripten__internal__Invoker_void_2c_20int_2c_20float___invoke_28void_20_28__29_28int_2c_20float_29_2c_20int_2c_20float_29, emscripten__internal__Invoker_void_2c_20int_2c_20int___invoke_28void_20_28__29_28int_2c_20int_29_2c_20int_2c_20int_29, emscripten__internal__Invoker_int_2c_20float_2c_20float_2c_20float___invoke_28int_20_28__29_28float_2c_20float_2c_20float_29_2c_20float_2c_20float_2c_20float_29, emscripten__internal__Invoker_void_2c_20int_2c_20float_2c_20float_2c_20float___invoke_28void_20_28__29_28int_2c_20float_2c_20float_2c_20float_29_2c_20int_2c_20float_2c_20float_2c_20float_29, emscripten__internal__Invoker_int_2c_20float_2c_20float_2c_20float_2c_20float___invoke_28int_20_28__29_28float_2c_20float_2c_20float_2c_20float_29_2c_20float_2c_20float_2c_20float_2c_20float_29, emscripten__internal__Invoker_void_2c_20int_2c_20float_2c_20float_2c_20float_2c_20float___invoke_28void_20_28__29_28int_2c_20float_2c_20float_2c_20float_2c_20float_29_2c_20int_2c_20float_2c_20float_2c_20float_2c_20float_29, emscripten__internal__Invoker_int___invoke_28int_20_28__29_28_29_29, emscripten__internal__Invoker_int_2c_20int_2c_20int___invoke_28int_20_28__29_28int_2c_20int_29_2c_20int_2c_20int_29, emscripten__internal__Invoker_void_2c_20int_2c_20int_2c_20int___invoke_28void_20_28__29_28int_2c_20int_2c_20int_29_2c_20int_2c_20int_2c_20int_29, emscripten__internal__Invoker_int_2c_20int_2c_20int_2c_20int_2c_20int___invoke_28int_20_28__29_28int_2c_20int_2c_20int_2c_20int_29_2c_20int_2c_20int_2c_20int_2c_20int_29, emscripten__internal__Invoker_void_2c_20int_2c_20float_2c_20float_2c_20float_2c_20float_2c_20float___invoke_28void_20_28__29_28int_2c_20float_2c_20float_2c_20float_2c_20float_2c_20float_29_2c_20int_2c_20float_2c_20float_2c_20float_2c_20float_2c_20float_29, emscripten__internal__Invoker_void_2c_20int_2c_20bool___invoke_28void_20_28__29_28int_2c_20bool_29_2c_20int_2c_20bool_29, emscripten__internal__Invoker_void_2c_20int_2c_20float_2c_20float___invoke_28void_20_28__29_28int_2c_20float_2c_20float_29_2c_20int_2c_20float_2c_20float_29, emscripten__internal__Invoker_int_2c_20int_2c_20int_2c_20int_2c_20int_2c_20int___invoke_28int_20_28__29_28int_2c_20int_2c_20int_2c_20int_2c_20int_29_2c_20int_2c_20int_2c_20int_2c_20int_2c_20int_29, emscripten__internal__Invoker_void_2c_20int_2c_20int_2c_20float_2c_20float___invoke_28void_20_28__29_28int_2c_20int_2c_20float_2c_20float_29_2c_20int_2c_20int_2c_20float_2c_20float_29, emscripten__internal__Invoker_void_2c_20int_2c_20int_2c_20bool___invoke_28void_20_28__29_28int_2c_20int_2c_20bool_29_2c_20int_2c_20int_2c_20bool_29, emscripten__internal__Invoker_void_2c_20int_2c_20int_2c_20float___invoke_28void_20_28__29_28int_2c_20int_2c_20float_29_2c_20int_2c_20int_2c_20float_29, emscripten__internal__Invoker_bool_2c_20int___invoke_28bool_20_28__29_28int_29_2c_20int_29, emscripten__internal__Invoker_void_2c_20int_2c_20float_2c_20int___invoke_28void_20_28__29_28int_2c_20float_2c_20int_29_2c_20int_2c_20float_2c_20int_29, emscripten__internal__Invoker_void_2c_20int_2c_20int_2c_20int_2c_20int___invoke_28void_20_28__29_28int_2c_20int_2c_20int_2c_20int_29_2c_20int_2c_20int_2c_20int_2c_20int_29, emscripten__internal__Invoker_int_2c_20float___invoke_28int_20_28__29_28float_29_2c_20float_29, emscripten__internal__Invoker_void_2c_20int_2c_20float_2c_20float_2c_20int___invoke_28void_20_28__29_28int_2c_20float_2c_20float_2c_20int_29_2c_20int_2c_20float_2c_20float_2c_20int_29, emscripten__internal__Invoker_int_2c_20float_2c_20float___invoke_28int_20_28__29_28float_2c_20float_29_2c_20float_2c_20float_29, emscripten__internal__Invoker_int_2c_20int_2c_20float___invoke_28int_20_28__29_28int_2c_20float_29_2c_20int_2c_20float_29, emscripten__internal__Invoker_int_2c_20int_2c_20int_2c_20int_2c_20float_2c_20float_2c_20float___invoke_28int_20_28__29_28int_2c_20int_2c_20int_2c_20float_2c_20float_2c_20float_29_2c_20int_2c_20int_2c_20int_2c_20float_2c_20float_2c_20float_29, emscripten__internal__Invoker_void_2c_20int_2c_20int_2c_20int_2c_20int_2c_20bool___invoke_28void_20_28__29_28int_2c_20int_2c_20int_2c_20int_2c_20bool_29_2c_20int_2c_20int_2c_20int_2c_20int_2c_20bool_29, emscripten__internal__Invoker_int_2c_20int_2c_20bool_2c_20bool___invoke_28int_20_28__29_28int_2c_20bool_2c_20bool_29_2c_20int_2c_20bool_2c_20bool_29, emscripten__internal__Invoker_void_2c_20int_2c_20int_2c_20float_2c_20float_2c_20float___invoke_28void_20_28__29_28int_2c_20int_2c_20float_2c_20float_2c_20float_29_2c_20int_2c_20int_2c_20float_2c_20float_2c_20float_29, emscripten__internal__Invoker_int_2c_20int_2c_20float_2c_20float_2c_20float___invoke_28int_20_28__29_28int_2c_20float_2c_20float_2c_20float_29_2c_20int_2c_20float_2c_20float_2c_20float_29, emscripten__internal__Invoker_void_2c_20int_2c_20int_2c_20int_2c_20bool___invoke_28void_20_28__29_28int_2c_20int_2c_20int_2c_20bool_29_2c_20int_2c_20int_2c_20int_2c_20bool_29, emscripten__internal__Invoker_int_2c_20float_2c_20int___invoke_28int_20_28__29_28float_2c_20int_29_2c_20float_2c_20int_29, emscripten__internal__Invoker_void_2c_20int_2c_20int_2c_20unsigned_20int_2c_20unsigned_20int___invoke_28void_20_28__29_28int_2c_20int_2c_20unsigned_20int_2c_20unsigned_20int_29_2c_20int_2c_20int_2c_20unsigned_20int_2c_20unsigned_20int_29, emscripten__internal__Invoker_void_2c_20int_2c_20int_2c_20int_2c_20int_2c_20int_2c_20float___invoke_28void_20_28__29_28int_2c_20int_2c_20int_2c_20int_2c_20int_2c_20float_29_2c_20int_2c_20int_2c_20int_2c_20int_2c_20int_2c_20float_29, emscripten__internal__Invoker_int_2c_20int_2c_20int_2c_20int___invoke_28int_20_28__29_28int_2c_20int_2c_20int_29_2c_20int_2c_20int_2c_20int_29, emscripten__internal__Invoker_void_2c_20int_2c_20float_2c_20int_2c_20float___invoke_28void_20_28__29_28int_2c_20float_2c_20int_2c_20float_29_2c_20int_2c_20float_2c_20int_2c_20float_29, emscripten__internal__Invoker_void_2c_20int_2c_20int_2c_20int_2c_20unsigned_20int_2c_20bool___invoke_28void_20_28__29_28int_2c_20int_2c_20int_2c_20unsigned_20int_2c_20bool_29_2c_20int_2c_20int_2c_20int_2c_20unsigned_20int_2c_20bool_29, emscripten__internal__Invoker_int_2c_20int_2c_20int_2c_20float_2c_20float___invoke_28int_20_28__29_28int_2c_20int_2c_20float_2c_20float_29_2c_20int_2c_20int_2c_20float_2c_20float_29, emscripten__internal__Invoker_int_2c_20float_2c_20float_2c_20float_2c_20int_2c_20int_2c_20int_2c_20float_2c_20float___invoke_28int_20_28__29_28float_2c_20float_2c_20float_2c_20int_2c_20int_2c_20int_2c_20float_2c_20float_29_2c_20float_2c_20float_2c_20float_2c_20int_2c_20int_2c_20int_2c_20float_2c_20float_29, emscripten__internal__Invoker_int_2c_20float_2c_20float_2c_20float_2c_20int_2c_20int_2c_20int_2c_20float_2c_20float_2c_20float___invoke_28int_20_28__29_28float_2c_20float_2c_20float_2c_20int_2c_20int_2c_20int_2c_20float_2c_20float_2c_20float_29_2c_20float_2c_20float_2c_20float_2c_20int_2c_20int_2c_20int_2c_20float_2c_20float_2c_20float_29, cc__ccClosestRayResultCallback___ccClosestRayResultCallback_28_29, cc__ccClosestRayResultCallback___ccClosestRayResultCallback_28_29_1, cc__ccClosestRayResultCallback__needsCollision_28btBroadphaseProxy__29_20const, cc__ccClosestRayResultCallback__addSingleResult_28btCollisionWorld__LocalRayResult__2c_20bool_29, btCollisionWorld__ClosestRayResultCallback___ClosestRayResultCallback_28_29, btCollisionWorld__ClosestRayResultCallback___ClosestRayResultCallback_28_29_1, btCollisionWorld__RayResultCallback__needsCollision_28btBroadphaseProxy__29_20const, btCollisionWorld__ClosestRayResultCallback__addSingleResult_28btCollisionWorld__LocalRayResult__2c_20bool_29, btCollisionWorld__RayResultCallback___RayResultCallback_28_29, btCollisionWorld__RayResultCallback___RayResultCallback_28_29_1, __cxa_pure_virtual, cc__ccAllHitsRayResultCallback___ccAllHitsRayResultCallback_28_29, cc__ccAllHitsRayResultCallback___ccAllHitsRayResultCallback_28_29_1, cc__ccAllHitsRayResultCallback__needsCollision_28btBroadphaseProxy__29_20const, cc__ccAllHitsRayResultCallback__addSingleResult_28btCollisionWorld__LocalRayResult__2c_20bool_29, btCollisionWorld__AllHitsRayResultCallback___AllHitsRayResultCallback_28_29, btCollisionWorld__AllHitsRayResultCallback___AllHitsRayResultCallback_28_29_1, btCollisionWorld__AllHitsRayResultCallback__addSingleResult_28btCollisionWorld__LocalRayResult__2c_20bool_29, cc__ccClosestConvexResultCallback___ccClosestConvexResultCallback_28_29, cc__ccClosestConvexResultCallback___ccClosestConvexResultCallback_28_29_1, cc__ccClosestConvexResultCallback__needsCollision_28btBroadphaseProxy__29_20const, cc__ccClosestConvexResultCallback__addSingleResult_28btCollisionWorld__LocalConvexResult__2c_20bool_29, btCollisionWorld__ClosestConvexResultCallback___ClosestConvexResultCallback_28_29, btCollisionWorld__ClosestConvexResultCallback___ClosestConvexResultCallback_28_29_1, btCollisionWorld__ConvexResultCallback__needsCollision_28btBroadphaseProxy__29_20const, btCollisionWorld__ClosestConvexResultCallback__addSingleResult_28btCollisionWorld__LocalConvexResult__2c_20bool_29, btCollisionWorld__ConvexResultCallback___ConvexResultCallback_28_29, btCollisionWorld__ConvexResultCallback___ConvexResultCallback_28_29_1, cc__ccAllHitsConvexResultCallback___ccAllHitsConvexResultCallback_28_29, cc__ccAllHitsConvexResultCallback___ccAllHitsConvexResultCallback_28_29_1, cc__ccAllHitsConvexResultCallback__needsCollision_28btBroadphaseProxy__29_20const, cc__ccAllHitsConvexResultCallback__addSingleResult_28btCollisionWorld__LocalConvexResult__2c_20bool_29, btCollisionWorld__AllHitsConvexResultCallback___AllHitsConvexResultCallback_28_29, btCollisionWorld__AllHitsConvexResultCallback___AllHitsConvexResultCallback_28_29_1, btCollisionWorld__AllHitsConvexResultCallback__addSingleResult_28btCollisionWorld__LocalConvexResult__2c_20bool_29, cc__ccCompoundShape___ccCompoundShape_28_29, cc__ccCompoundShape___ccCompoundShape_28_29_1, btCompoundShape__getAabb_28btTransform_20const__2c_20btVector3__2c_20btVector3__29_20const, btCollisionShape__getBoundingSphere_28btVector3__2c_20float__29_20const, btCollisionShape__getAngularMotionDisc_28_29_20const, btCollisionShape__getContactBreakingThreshold_28float_29_20const, btCompoundShape__setLocalScaling_28btVector3_20const__29, btCompoundShape__getLocalScaling_28_29_20const, btCompoundShape__calculateLocalInertia_28float_2c_20btVector3__29_20const, btCompoundShape__getName_28_29_20const, btCollisionShape__getAnisotropicRollingFrictionDirection_28_29_20const, btCompoundShape__setMargin_28float_29, btCompoundShape__getMargin_28_29_20const, btCompoundShape__calculateSerializeBufferSize_28_29_20const, btCompoundShape__serialize_28void__2c_20btSerializer__29_20const, btCollisionShape__serializeSingleShape_28btSerializer__29_20const, btCompoundShape__removeChildShape_28btCollisionShape__29, btCompoundShape__recalculateLocalAabb_28_29, btMotionState___btMotionState_28_29, btMotionState___btMotionState_28_29_1, btDebugDrawWrapper___btDebugDrawWrapper_28_29, btDebugDrawWrapper___btDebugDrawWrapper_28_29_1, btDebugDraw__getDefaultColors_28_29_20const, btDebugDraw__setDefaultColors_28btIDebugDraw__DefaultColors_20const__29, btDebugDraw__drawLine_28btVector3_20const__2c_20btVector3_20const__2c_20btVector3_20const__29, btIDebugDraw__drawLine_28btVector3_20const__2c_20btVector3_20const__2c_20btVector3_20const__2c_20btVector3_20const__29, btIDebugDraw__drawSphere_28float_2c_20btTransform_20const__2c_20btVector3_20const__29, btIDebugDraw__drawSphere_28btVector3_20const__2c_20float_2c_20btVector3_20const__29, btIDebugDraw__drawTriangle_28btVector3_20const__2c_20btVector3_20const__2c_20btVector3_20const__2c_20btVector3_20const__2c_20btVector3_20const__2c_20btVector3_20const__2c_20btVector3_20const__2c_20float_29, btIDebugDraw__drawTriangle_28btVector3_20const__2c_20btVector3_20const__2c_20btVector3_20const__2c_20btVector3_20const__2c_20float_29, btDebugDraw__drawContactPoint_28btVector3_20const__2c_20btVector3_20const__2c_20float_2c_20int_2c_20btVector3_20const__29, btDebugDraw__reportErrorWarning_28char_20const__29, btDebugDraw__draw3dText_28btVector3_20const__2c_20char_20const__29, btDebugDraw__setDebugMode_28int_29, btDebugDraw__getDebugMode_28_29_20const, btIDebugDraw__drawAabb_28btVector3_20const__2c_20btVector3_20const__2c_20btVector3_20const__29, btIDebugDraw__drawTransform_28btTransform_20const__2c_20float_29, btIDebugDraw__drawArc_28btVector3_20const__2c_20btVector3_20const__2c_20btVector3_20const__2c_20float_2c_20float_2c_20float_2c_20float_2c_20btVector3_20const__2c_20bool_2c_20float_29, btIDebugDraw__drawSpherePatch_28btVector3_20const__2c_20btVector3_20const__2c_20btVector3_20const__2c_20float_2c_20float_2c_20float_2c_20float_2c_20float_2c_20btVector3_20const__2c_20float_2c_20bool_29, btIDebugDraw__drawBox_28btVector3_20const__2c_20btVector3_20const__2c_20btVector3_20const__29, btIDebugDraw__drawBox_28btVector3_20const__2c_20btVector3_20const__2c_20btTransform_20const__2c_20btVector3_20const__29, btIDebugDraw__drawCapsule_28float_2c_20float_2c_20int_2c_20btTransform_20const__2c_20btVector3_20const__29, btIDebugDraw__drawCylinder_28float_2c_20float_2c_20int_2c_20btTransform_20const__2c_20btVector3_20const__29, btIDebugDraw__drawCone_28float_2c_20float_2c_20int_2c_20btTransform_20const__2c_20btVector3_20const__29, btIDebugDraw__drawPlane_28btVector3_20const__2c_20float_2c_20btTransform_20const__2c_20btVector3_20const__29, btDebugDrawWrapper__clearLines_28_29, btDebugDrawWrapper__flushLines_28_29, btDebugDrawWrapper__onDebugDrawLine_28int_2c_20int_2c_20int_29, emscripten__wrapper_btDebugDraw____wrapper_28_29, emscripten__wrapper_btDebugDraw____wrapper_28_29_1, btIDebugDraw__clearLines_28_29, btIDebugDraw__flushLines_28_29, btDebugDraw___btDebugDraw_28_29, btDebugDraw___btDebugDraw_28_29_1, btIDebugDraw___btIDebugDraw_28_29, btIDebugDraw___btIDebugDraw_28_29_1, btIDebugDraw__getDefaultColors_28_29_20const, btIDebugDraw__setDefaultColors_28btIDebugDraw__DefaultColors_20const__29, btControllerHitReport__onShapeHit_28btControllerShapeHit_20const__29, btControllerHitReport__onControllerHit_28btControllersHit_20const__29, btControllerHitReportWrapper___btControllerHitReportWrapper_28_29, btControllerHitReportWrapper___btControllerHitReportWrapper_28_29_1, btControllerHitReportWrapper__onShapeHitExt_28int_2c_20int_29, emscripten__wrapper_btControllerHitReport____wrapper_28_29, emscripten__wrapper_btControllerHitReport____wrapper_28_29_1, btControllerHitReport___btControllerHitReport_28_29, btControllerHitReport___btControllerHitReport_28_29_1, btUserControllerHitReport___btUserControllerHitReport_28_29, btUserControllerHitReport___btUserControllerHitReport_28_29_1, ccMotionStateWrapper___ccMotionStateWrapper_28_29, ccMotionStateWrapper___ccMotionStateWrapper_28_29_1, cc__ccMotionState__getWorldTransform_28btTransform__29_20const, cc__ccMotionState__setWorldTransform_28btTransform_20const__29, ccMotionStateWrapper__syncPhysicsToGraphics_28int_29, emscripten__wrapper_cc__ccMotionState____wrapper_28_29, emscripten__wrapper_cc__ccMotionState____wrapper_28_29_1, cc__ccMotionState___ccMotionState_28_29, cc__ccMotionState___ccMotionState_28_29_1, btAlignedAllocDefault_28unsigned_20long_2c_20int_29, btAlignedFreeDefault_28void__29, btAllocDefault_28unsigned_20long_29, btFreeDefault_28void__29, btDbvtBroadphase___btDbvtBroadphase_28_29, btDbvtBroadphase___btDbvtBroadphase_28_29_1, btDbvtBroadphase__createProxy_28btVector3_20const__2c_20btVector3_20const__2c_20int_2c_20void__2c_20int_2c_20int_2c_20btDispatcher__29, btDbvtBroadphase__destroyProxy_28btBroadphaseProxy__2c_20btDispatcher__29, btDbvtBroadphase__setAabb_28btBroadphaseProxy__2c_20btVector3_20const__2c_20btVector3_20const__2c_20btDispatcher__29, btDbvtBroadphase__getAabb_28btBroadphaseProxy__2c_20btVector3__2c_20btVector3__29_20const, btDbvtBroadphase__rayTest_28btVector3_20const__2c_20btVector3_20const__2c_20btBroadphaseRayCallback__2c_20btVector3_20const__2c_20btVector3_20const__29, btDbvtBroadphase__aabbTest_28btVector3_20const__2c_20btVector3_20const__2c_20btBroadphaseAabbCallback__29, btDbvtBroadphase__calculateOverlappingPairs_28btDispatcher__29, btDbvtBroadphase__getOverlappingPairCache_28_29, btDbvtBroadphase__getOverlappingPairCache_28_29_20const, btDbvtBroadphase__getBroadphaseAabb_28btVector3__2c_20btVector3__29_20const, btDbvtBroadphase__resetPool_28btDispatcher__29, btDbvtBroadphase__printStats_28_29, btBroadphaseInterface___btBroadphaseInterface_28_29, btBroadphaseInterface___btBroadphaseInterface_28_29_1, btBroadphaseInterface__resetPool_28btDispatcher__29, btDbvtTreeCollider___btDbvtTreeCollider_28_29, btDbvtTreeCollider___btDbvtTreeCollider_28_29_1, btDbvtTreeCollider__Process_28btDbvtNode_20const__2c_20btDbvtNode_20const__29, btDbvtTreeCollider__Process_28btDbvtNode_20const__29, btDbvt__ICollide__Process_28btDbvtNode_20const__2c_20float_29, btDbvt__ICollide__Descent_28btDbvtNode_20const__29, btDbvt__ICollide__AllLeaves_28btDbvtNode_20const__29, btDbvt__ICollide___ICollide_28_29, btDbvt__ICollide___ICollide_28_29_1, btDbvt__ICollide__Process_28btDbvtNode_20const__2c_20btDbvtNode_20const__29, btDbvt__ICollide__Process_28btDbvtNode_20const__29, BroadphaseRayTester___BroadphaseRayTester_28_29, BroadphaseRayTester___BroadphaseRayTester_28_29_1, BroadphaseRayTester__Process_28btDbvtNode_20const__29, BroadphaseAabbTester___BroadphaseAabbTester_28_29, BroadphaseAabbTester___BroadphaseAabbTester_28_29_1, BroadphaseAabbTester__Process_28btDbvtNode_20const__29, btEnterProfileZoneDefault_28char_20const__29, btLeaveProfileZoneDefault_28_29, btHashedOverlappingPairCache___btHashedOverlappingPairCache_28_29, btHashedOverlappingPairCache___btHashedOverlappingPairCache_28_29_1, btHashedOverlappingPairCache__addOverlappingPair_28btBroadphaseProxy__2c_20btBroadphaseProxy__29, btHashedOverlappingPairCache__removeOverlappingPair_28btBroadphaseProxy__2c_20btBroadphaseProxy__2c_20btDispatcher__29, btHashedOverlappingPairCache__removeOverlappingPairsContainingProxy_28btBroadphaseProxy__2c_20btDispatcher__29, btHashedOverlappingPairCache__getOverlappingPairArrayPtr_28_29, btHashedOverlappingPairCache__getOverlappingPairArrayPtr_28_29_20const, btHashedOverlappingPairCache__getOverlappingPairArray_28_29, btHashedOverlappingPairCache__cleanOverlappingPair_28btBroadphasePair__2c_20btDispatcher__29, btHashedOverlappingPairCache__getNumOverlappingPairs_28_29_20const, btHashedOverlappingPairCache__cleanProxyFromPairs_28btBroadphaseProxy__2c_20btDispatcher__29, btHashedOverlappingPairCache__setOverlapFilterCallback_28btOverlapFilterCallback__29, btHashedOverlappingPairCache__processAllOverlappingPairs_28btOverlapCallback__2c_20btDispatcher__29, btHashedOverlappingPairCache__findPair_28btBroadphaseProxy__2c_20btBroadphaseProxy__29, btHashedOverlappingPairCache__hasDeferredRemoval_28_29, btHashedOverlappingPairCache__setInternalGhostPairCallback_28btOverlappingPairCallback__29, btHashedOverlappingPairCache__sortOverlappingPairs_28btDispatcher__29, btOverlappingPairCache___btOverlappingPairCache_28_29, btOverlappingPairCache___btOverlappingPairCache_28_29_1, btOverlappingPairCallback___btOverlappingPairCallback_28_29, btOverlappingPairCallback___btOverlappingPairCallback_28_29_1, btHashedOverlappingPairCache__cleanProxyFromPairs_28btBroadphaseProxy__2c_20btDispatcher__29__CleanPairCallback___CleanPairCallback_28_29, btHashedOverlappingPairCache__cleanProxyFromPairs_28btBroadphaseProxy__2c_20btDispatcher__29__CleanPairCallback___CleanPairCallback_28_29_1, btHashedOverlappingPairCache__cleanProxyFromPairs_28btBroadphaseProxy__2c_20btDispatcher__29__CleanPairCallback__processOverlap_28btBroadphasePair__29, btOverlapCallback___btOverlapCallback_28_29, btOverlapCallback___btOverlapCallback_28_29_1, btHashedOverlappingPairCache__removeOverlappingPairsContainingProxy_28btBroadphaseProxy__2c_20btDispatcher__29__RemovePairCallback___RemovePairCallback_28_29, btHashedOverlappingPairCache__removeOverlappingPairsContainingProxy_28btBroadphaseProxy__2c_20btDispatcher__29__RemovePairCallback___RemovePairCallback_28_29_1, btHashedOverlappingPairCache__removeOverlappingPairsContainingProxy_28btBroadphaseProxy__2c_20btDispatcher__29__RemovePairCallback__processOverlap_28btBroadphasePair__29, btDispatcher___btDispatcher_28_29, btDispatcher___btDispatcher_28_29_1, btCollisionDispatcher__defaultNearCallback_28btBroadphasePair__2c_20btCollisionDispatcher__2c_20btDispatcherInfo_20const__29, btCollisionDispatcher___btCollisionDispatcher_28_29, btCollisionDispatcher___btCollisionDispatcher_28_29_1, btCollisionDispatcher__findAlgorithm_28btCollisionObjectWrapper_20const__2c_20btCollisionObjectWrapper_20const__2c_20btPersistentManifold__2c_20ebtDispatcherQueryType_29, btCollisionDispatcher__getNewManifold_28btCollisionObject_20const__2c_20btCollisionObject_20const__29, btCollisionDispatcher__releaseManifold_28btPersistentManifold__29, btCollisionDispatcher__clearManifold_28btPersistentManifold__29, btCollisionDispatcher__needsCollision_28btCollisionObject_20const__2c_20btCollisionObject_20const__29, btCollisionDispatcher__needsResponse_28btCollisionObject_20const__2c_20btCollisionObject_20const__29, btCollisionDispatcher__dispatchAllCollisionPairs_28btOverlappingPairCache__2c_20btDispatcherInfo_20const__2c_20btDispatcher__29, btCollisionDispatcher__getNumManifolds_28_29_20const, btCollisionDispatcher__getManifoldByIndexInternal_28int_29, btCollisionDispatcher__getInternalManifoldPointer_28_29, btCollisionDispatcher__getInternalManifoldPool_28_29, btCollisionDispatcher__getInternalManifoldPool_28_29_20const, btCollisionDispatcher__allocateCollisionAlgorithm_28int_29, btCollisionDispatcher__freeCollisionAlgorithm_28void__29, btDiscreteCollisionDetectorInterface__Result___Result_28_29, btDiscreteCollisionDetectorInterface__Result___Result_28_29_1, btCollisionPairCallback___btCollisionPairCallback_28_29, btCollisionPairCallback___btCollisionPairCallback_28_29_1, btCollisionPairCallback__processOverlap_28btBroadphasePair__29, btCollisionObject___btCollisionObject_28_29, btCollisionObject___btCollisionObject_28_29_1, btCollisionObject__setCollisionShape_28btCollisionShape__29, btCollisionObject__checkCollideWithOverride_28btCollisionObject_20const__29_20const, btCollisionObject__calculateSerializeBufferSize_28_29_20const, btCollisionObject__serialize_28void__2c_20btSerializer__29_20const, btCollisionObject__serializeSingleObject_28btSerializer__29_20const, btCollisionWorld___btCollisionWorld_28_29, btCollisionWorld___btCollisionWorld_28_29_1, btCollisionWorld__updateAabbs_28_29, btCollisionWorld__computeOverlappingPairs_28_29, btCollisionWorld__setDebugDrawer_28btIDebugDraw__29, btCollisionWorld__getDebugDrawer_28_29, btCollisionWorld__debugDrawWorld_28_29, btCollisionWorld__debugDrawObject_28btTransform_20const__2c_20btCollisionShape_20const__2c_20btVector3_20const__29, btCollisionWorld__rayTest_28btVector3_20const__2c_20btVector3_20const__2c_20btCollisionWorld__RayResultCallback__29_20const, btCollisionWorld__addCollisionObject_28btCollisionObject__2c_20int_2c_20int_29, btCollisionWorld__removeCollisionObject_28btCollisionObject__29, btCollisionWorld__performDiscreteCollisionDetection_28_29, btCollisionWorld__serialize_28btSerializer__29, btConvexCast__CastResult__DebugDraw_28float_29, btConvexCast__CastResult__drawCoordSystem_28btTransform_20const__29, btConvexCast__CastResult__reportFailure_28int_2c_20int_29, btConvexCast__CastResult___CastResult_28_29, btConvexCast__CastResult___CastResult_28_29_1, btCollisionWorld__rayTestSingleInternal_28btTransform_20const__2c_20btTransform_20const__2c_20btCollisionObjectWrapper_20const__2c_20btCollisionWorld__RayResultCallback__29__BridgeTriangleRaycastCallback___BridgeTriangleRaycastCallback_28_29, btCollisionWorld__rayTestSingleInternal_28btTransform_20const__2c_20btTransform_20const__2c_20btCollisionObjectWrapper_20const__2c_20btCollisionWorld__RayResultCallback__29__BridgeTriangleRaycastCallback___BridgeTriangleRaycastCallback_28_29_1, btTriangleRaycastCallback__processTriangle_28btVector3__2c_20int_2c_20int_29, btCollisionWorld__rayTestSingleInternal_28btTransform_20const__2c_20btTransform_20const__2c_20btCollisionObjectWrapper_20const__2c_20btCollisionWorld__RayResultCallback__29__BridgeTriangleRaycastCallback__reportHit_28btVector3_20const__2c_20float_2c_20int_2c_20int_29, btCollisionWorld__rayTestSingleInternal_28btTransform_20const__2c_20btTransform_20const__2c_20btCollisionObjectWrapper_20const__2c_20btCollisionWorld__RayResultCallback__29__RayTester___RayTester_28_29, btCollisionWorld__rayTestSingleInternal_28btTransform_20const__2c_20btTransform_20const__2c_20btCollisionObjectWrapper_20const__2c_20btCollisionWorld__RayResultCallback__29__RayTester___RayTester_28_29_1, btCollisionWorld__rayTestSingleInternal_28btTransform_20const__2c_20btTransform_20const__2c_20btCollisionObjectWrapper_20const__2c_20btCollisionWorld__RayResultCallback__29__RayTester__Process_28btDbvtNode_20const__29, btCollisionWorld__rayTestSingleInternal_28btTransform_20const__2c_20btTransform_20const__2c_20btCollisionObjectWrapper_20const__2c_20btCollisionWorld__RayResultCallback__29__LocalInfoAdder2___LocalInfoAdder2_28_29, btCollisionWorld__rayTestSingleInternal_28btTransform_20const__2c_20btTransform_20const__2c_20btCollisionObjectWrapper_20const__2c_20btCollisionWorld__RayResultCallback__29__LocalInfoAdder2___LocalInfoAdder2_28_29_1, btCollisionWorld__rayTestSingleInternal_28btTransform_20const__2c_20btTransform_20const__2c_20btCollisionObjectWrapper_20const__2c_20btCollisionWorld__RayResultCallback__29__LocalInfoAdder2__needsCollision_28btBroadphaseProxy__29_20const, btCollisionWorld__rayTestSingleInternal_28btTransform_20const__2c_20btTransform_20const__2c_20btCollisionObjectWrapper_20const__2c_20btCollisionWorld__RayResultCallback__29__LocalInfoAdder2__addSingleResult_28btCollisionWorld__LocalRayResult__2c_20bool_29, btConvexPenetrationDepthSolver___btConvexPenetrationDepthSolver_28_29, btConvexPenetrationDepthSolver___btConvexPenetrationDepthSolver_28_29_1, btCollisionWorld__objectQuerySingleInternal_28btConvexShape_20const__2c_20btTransform_20const__2c_20btTransform_20const__2c_20btCollisionObjectWrapper_20const__2c_20btCollisionWorld__ConvexResultCallback__2c_20float_29__BridgeTriangleConvexcastCallback___BridgeTriangleConvexcastCallback_28_29, btCollisionWorld__objectQuerySingleInternal_28btConvexShape_20const__2c_20btTransform_20const__2c_20btTransform_20const__2c_20btCollisionObjectWrapper_20const__2c_20btCollisionWorld__ConvexResultCallback__2c_20float_29__BridgeTriangleConvexcastCallback___BridgeTriangleConvexcastCallback_28_29_2, btTriangleConvexcastCallback__processTriangle_28btVector3__2c_20int_2c_20int_29, btCollisionWorld__objectQuerySingleInternal_28btConvexShape_20const__2c_20btTransform_20const__2c_20btTransform_20const__2c_20btCollisionObjectWrapper_20const__2c_20btCollisionWorld__ConvexResultCallback__2c_20float_29__BridgeTriangleConvexcastCallback__reportHit_28btVector3_20const__2c_20btVector3_20const__2c_20float_2c_20int_2c_20int_29, btCollisionWorld__objectQuerySingleInternal_28btConvexShape_20const__2c_20btTransform_20const__2c_20btTransform_20const__2c_20btCollisionObjectWrapper_20const__2c_20btCollisionWorld__ConvexResultCallback__2c_20float_29__BridgeTriangleConvexcastCallback___BridgeTriangleConvexcastCallback_28_29_1, btCollisionWorld__objectQuerySingleInternal_28btConvexShape_20const__2c_20btTransform_20const__2c_20btTransform_20const__2c_20btCollisionObjectWrapper_20const__2c_20btCollisionWorld__ConvexResultCallback__2c_20float_29__BridgeTriangleConvexcastCallback___BridgeTriangleConvexcastCallback_28_29_3, btCollisionWorld__objectQuerySingleInternal_28btConvexShape_20const__2c_20btTransform_20const__2c_20btTransform_20const__2c_20btCollisionObjectWrapper_20const__2c_20btCollisionWorld__ConvexResultCallback__2c_20float_29__BridgeTriangleConvexcastCallback__reportHit_28btVector3_20const__2c_20btVector3_20const__2c_20float_2c_20int_2c_20int_29_1, btCollisionWorld__objectQuerySingleInternal_28btConvexShape_20const__2c_20btTransform_20const__2c_20btTransform_20const__2c_20btCollisionObjectWrapper_20const__2c_20btCollisionWorld__ConvexResultCallback__2c_20float_29__btCompoundLeafCallback___btCompoundLeafCallback_28_29, btCollisionWorld__objectQuerySingleInternal_28btConvexShape_20const__2c_20btTransform_20const__2c_20btTransform_20const__2c_20btCollisionObjectWrapper_20const__2c_20btCollisionWorld__ConvexResultCallback__2c_20float_29__btCompoundLeafCallback___btCompoundLeafCallback_28_29_1, btCollisionWorld__objectQuerySingleInternal_28btConvexShape_20const__2c_20btTransform_20const__2c_20btTransform_20const__2c_20btCollisionObjectWrapper_20const__2c_20btCollisionWorld__ConvexResultCallback__2c_20float_29__btCompoundLeafCallback__Process_28btDbvtNode_20const__29, btCollisionWorld__objectQuerySingleInternal_28btConvexShape_20const__2c_20btTransform_20const__2c_20btTransform_20const__2c_20btCollisionObjectWrapper_20const__2c_20btCollisionWorld__ConvexResultCallback__2c_20float_29__btCompoundLeafCallback__ProcessChild_28int_2c_20btTransform_20const__2c_20btCollisionShape_20const__29__LocalInfoAdder___LocalInfoAdder_28_29, btCollisionWorld__objectQuerySingleInternal_28btConvexShape_20const__2c_20btTransform_20const__2c_20btTransform_20const__2c_20btCollisionObjectWrapper_20const__2c_20btCollisionWorld__ConvexResultCallback__2c_20float_29__btCompoundLeafCallback__ProcessChild_28int_2c_20btTransform_20const__2c_20btCollisionShape_20const__29__LocalInfoAdder___LocalInfoAdder_28_29_1, btCollisionWorld__objectQuerySingleInternal_28btConvexShape_20const__2c_20btTransform_20const__2c_20btTransform_20const__2c_20btCollisionObjectWrapper_20const__2c_20btCollisionWorld__ConvexResultCallback__2c_20float_29__btCompoundLeafCallback__ProcessChild_28int_2c_20btTransform_20const__2c_20btCollisionShape_20const__29__LocalInfoAdder__needsCollision_28btBroadphaseProxy__29_20const, btCollisionWorld__objectQuerySingleInternal_28btConvexShape_20const__2c_20btTransform_20const__2c_20btTransform_20const__2c_20btCollisionObjectWrapper_20const__2c_20btCollisionWorld__ConvexResultCallback__2c_20float_29__btCompoundLeafCallback__ProcessChild_28int_2c_20btTransform_20const__2c_20btCollisionShape_20const__29__LocalInfoAdder__addSingleResult_28btCollisionWorld__LocalConvexResult__2c_20bool_29, btSingleRayCallback___btSingleRayCallback_28_29, btSingleRayCallback___btSingleRayCallback_28_29_1, btSingleRayCallback__process_28btBroadphaseProxy_20const__29, btBroadphaseRayCallback___btBroadphaseRayCallback_28_29, btBroadphaseRayCallback___btBroadphaseRayCallback_28_29_1, btBroadphaseAabbCallback___btBroadphaseAabbCallback_28_29, btBroadphaseAabbCallback___btBroadphaseAabbCallback_28_29_1, btSingleSweepCallback___btSingleSweepCallback_28_29, btSingleSweepCallback___btSingleSweepCallback_28_29_1, btSingleSweepCallback__process_28btBroadphaseProxy_20const__29, DebugDrawcallback___DebugDrawcallback_28_29, DebugDrawcallback___DebugDrawcallback_28_29_1, DebugDrawcallback__processTriangle_28btVector3__2c_20int_2c_20int_29, DebugDrawcallback__internalProcessTriangleIndex_28btVector3__2c_20int_2c_20int_29, non_virtual_20thunk_20to_20DebugDrawcallback___DebugDrawcallback_28_29, non_virtual_20thunk_20to_20DebugDrawcallback___DebugDrawcallback_28_29_1, non_virtual_20thunk_20to_20DebugDrawcallback__internalProcessTriangleIndex_28btVector3__2c_20int_2c_20int_29, btCollisionAlgorithm___btCollisionAlgorithm_28_29_1, btCollisionAlgorithm___btCollisionAlgorithm_28_29, btActivatingCollisionAlgorithm___btActivatingCollisionAlgorithm_28_29, btActivatingCollisionAlgorithm___btActivatingCollisionAlgorithm_28_29_1, btConvexConvexAlgorithm__CreateFunc___CreateFunc_28_29, btConvexConvexAlgorithm___btConvexConvexAlgorithm_28_29, btConvexConvexAlgorithm__btConvexConvexAlgorithm_28btPersistentManifold__2c_20btCollisionAlgorithmConstructionInfo_20const__2c_20btCollisionObjectWrapper_20const__2c_20btCollisionObjectWrapper_20const__2c_20btConvexPenetrationDepthSolver__2c_20int_2c_20int_29, btConvexConvexAlgorithm__CreateFunc___CreateFunc_28_29_1, btConvexConvexAlgorithm__CreateFunc__CreateCollisionAlgorithm_28btCollisionAlgorithmConstructionInfo__2c_20btCollisionObjectWrapper_20const__2c_20btCollisionObjectWrapper_20const__29, btConvexConvexAlgorithm___btConvexConvexAlgorithm_28_29_1, btConvexConvexAlgorithm__processCollision_28btCollisionObjectWrapper_20const__2c_20btCollisionObjectWrapper_20const__2c_20btDispatcherInfo_20const__2c_20btManifoldResult__29, btConvexConvexAlgorithm__calculateTimeOfImpact_28btCollisionObject__2c_20btCollisionObject__2c_20btDispatcherInfo_20const__2c_20btManifoldResult__29, btConvexConvexAlgorithm__getAllContactManifolds_28btAlignedObjectArray_btPersistentManifold____29, btConvexConvexAlgorithm__processCollision_28btCollisionObjectWrapper_20const__2c_20btCollisionObjectWrapper_20const__2c_20btDispatcherInfo_20const__2c_20btManifoldResult__29__btDummyResult___btDummyResult_28_29, btConvexConvexAlgorithm__processCollision_28btCollisionObjectWrapper_20const__2c_20btCollisionObjectWrapper_20const__2c_20btDispatcherInfo_20const__2c_20btManifoldResult__29__btDummyResult___btDummyResult_28_29_1, btConvexConvexAlgorithm__processCollision_28btCollisionObjectWrapper_20const__2c_20btCollisionObjectWrapper_20const__2c_20btDispatcherInfo_20const__2c_20btManifoldResult__29__btDummyResult__setShapeIdentifiersA_28int_2c_20int_29, btConvexConvexAlgorithm__processCollision_28btCollisionObjectWrapper_20const__2c_20btCollisionObjectWrapper_20const__2c_20btDispatcherInfo_20const__2c_20btManifoldResult__29__btDummyResult__setShapeIdentifiersB_28int_2c_20int_29, btConvexConvexAlgorithm__processCollision_28btCollisionObjectWrapper_20const__2c_20btCollisionObjectWrapper_20const__2c_20btDispatcherInfo_20const__2c_20btManifoldResult__29__btDummyResult__addContactPoint_28btVector3_20const__2c_20btVector3_20const__2c_20float_29, btConvexConvexAlgorithm__processCollision_28btCollisionObjectWrapper_20const__2c_20btCollisionObjectWrapper_20const__2c_20btDispatcherInfo_20const__2c_20btManifoldResult__29__btWithoutMarginResult___btWithoutMarginResult_28_29, btConvexConvexAlgorithm__processCollision_28btCollisionObjectWrapper_20const__2c_20btCollisionObjectWrapper_20const__2c_20btDispatcherInfo_20const__2c_20btManifoldResult__29__btWithoutMarginResult___btWithoutMarginResult_28_29_1, btConvexConvexAlgorithm__processCollision_28btCollisionObjectWrapper_20const__2c_20btCollisionObjectWrapper_20const__2c_20btDispatcherInfo_20const__2c_20btManifoldResult__29__btWithoutMarginResult__setShapeIdentifiersA_28int_2c_20int_29, btConvexConvexAlgorithm__processCollision_28btCollisionObjectWrapper_20const__2c_20btCollisionObjectWrapper_20const__2c_20btDispatcherInfo_20const__2c_20btManifoldResult__29__btWithoutMarginResult__setShapeIdentifiersB_28int_2c_20int_29, btConvexConvexAlgorithm__processCollision_28btCollisionObjectWrapper_20const__2c_20btCollisionObjectWrapper_20const__2c_20btDispatcherInfo_20const__2c_20btManifoldResult__29__btWithoutMarginResult__addContactPoint_28btVector3_20const__2c_20btVector3_20const__2c_20float_29, btPerturbedContactResult___btPerturbedContactResult_28_29, btPerturbedContactResult___btPerturbedContactResult_28_29_1, btManifoldResult__setShapeIdentifiersA_28int_2c_20int_29, btManifoldResult__setShapeIdentifiersB_28int_2c_20int_29, btPerturbedContactResult__addContactPoint_28btVector3_20const__2c_20btVector3_20const__2c_20float_29, btConvexTriangleCallback__btConvexTriangleCallback_28btDispatcher__2c_20btCollisionObjectWrapper_20const__2c_20btCollisionObjectWrapper_20const__2c_20bool_29, btConvexTriangleCallback___btConvexTriangleCallback_28_29, btConvexConcaveCollisionAlgorithm___btConvexConcaveCollisionAlgorithm_28_29, btConvexConcaveCollisionAlgorithm___btConvexConcaveCollisionAlgorithm_28_29_1, btConvexConcaveCollisionAlgorithm__processCollision_28btCollisionObjectWrapper_20const__2c_20btCollisionObjectWrapper_20const__2c_20btDispatcherInfo_20const__2c_20btManifoldResult__29, btConvexConcaveCollisionAlgorithm__calculateTimeOfImpact_28btCollisionObject__2c_20btCollisionObject__2c_20btDispatcherInfo_20const__2c_20btManifoldResult__29, btConvexConcaveCollisionAlgorithm__getAllContactManifolds_28btAlignedObjectArray_btPersistentManifold____29, btConvexTriangleCallback___btConvexTriangleCallback_28_29_1, btConvexTriangleCallback__processTriangle_28btVector3__2c_20int_2c_20int_29, btTriangleShape___btTriangleShape_28_29, btTriangleShape___btTriangleShape_28_29_1, btTriangleShape__getAabb_28btTransform_20const__2c_20btVector3__2c_20btVector3__29_20const, btConvexInternalShape__setLocalScaling_28btVector3_20const__29, btConvexInternalShape__getLocalScaling_28_29_20const, btTriangleShape__calculateLocalInertia_28float_2c_20btVector3__29_20const, btTriangleShape__getName_28_29_20const, btConvexInternalShape__setMargin_28float_29, btConvexInternalShape__getMargin_28_29_20const, btConvexInternalShape__calculateSerializeBufferSize_28_29_20const, btConvexInternalShape__serialize_28void__2c_20btSerializer__29_20const, btConvexInternalShape__localGetSupportingVertex_28btVector3_20const__29_20const, btTriangleShape__localGetSupportingVertexWithoutMargin_28btVector3_20const__29_20const, btConvexShape__project_28btTransform_20const__2c_20btVector3_20const__2c_20float__2c_20float__2c_20btVector3__2c_20btVector3__29_20const, btTriangleShape__batchedUnitVectorGetSupportingVertexWithoutMargin_28btVector3_20const__2c_20btVector3__2c_20int_29_20const, btConvexInternalShape__getAabbSlow_28btTransform_20const__2c_20btVector3__2c_20btVector3__29_20const, btTriangleShape__getNumPreferredPenetrationDirections_28_29_20const, btTriangleShape__getPreferredPenetrationDirection_28int_2c_20btVector3__29_20const, btPolyhedralConvexShape__initializePolyhedralFeatures_28int_29, btTriangleShape__getNumVertices_28_29_20const, btTriangleShape__getNumEdges_28_29_20const, btTriangleShape__getEdge_28int_2c_20btVector3__2c_20btVector3__29_20const, btTriangleShape__getVertex_28int_2c_20btVector3__29_20const, btTriangleShape__getNumPlanes_28_29_20const, btTriangleShape__getPlane_28btVector3__2c_20btVector3__2c_20int_29_20const, btTriangleShape__isInside_28btVector3_20const__2c_20float_29_20const, btTriangleShape__getPlaneEquation_28int_2c_20btVector3__2c_20btVector3__29_20const, btConvexConcaveCollisionAlgorithm__calculateTimeOfImpact_28btCollisionObject__2c_20btCollisionObject__2c_20btDispatcherInfo_20const__2c_20btManifoldResult__29__LocalTriangleSphereCastCallback___LocalTriangleSphereCastCallback_28_29, btConvexConcaveCollisionAlgorithm__calculateTimeOfImpact_28btCollisionObject__2c_20btCollisionObject__2c_20btDispatcherInfo_20const__2c_20btManifoldResult__29__LocalTriangleSphereCastCallback___LocalTriangleSphereCastCallback_28_29_1, btConvexConcaveCollisionAlgorithm__calculateTimeOfImpact_28btCollisionObject__2c_20btCollisionObject__2c_20btDispatcherInfo_20const__2c_20btManifoldResult__29__LocalTriangleSphereCastCallback__processTriangle_28btVector3__2c_20int_2c_20int_29, btCompoundCollisionAlgorithm___btCompoundCollisionAlgorithm_28_29, btCompoundCollisionAlgorithm___btCompoundCollisionAlgorithm_28_29_1, btCompoundCollisionAlgorithm__processCollision_28btCollisionObjectWrapper_20const__2c_20btCollisionObjectWrapper_20const__2c_20btDispatcherInfo_20const__2c_20btManifoldResult__29, btCompoundCollisionAlgorithm__calculateTimeOfImpact_28btCollisionObject__2c_20btCollisionObject__2c_20btDispatcherInfo_20const__2c_20btManifoldResult__29, btCompoundCollisionAlgorithm__getAllContactManifolds_28btAlignedObjectArray_btPersistentManifold____29, btCompoundLeafCallback___btCompoundLeafCallback_28_29, btCompoundLeafCallback___btCompoundLeafCallback_28_29_1, btCompoundLeafCallback__Process_28btDbvtNode_20const__29, btCompoundCompoundCollisionAlgorithm___btCompoundCompoundCollisionAlgorithm_28_29, btCompoundCompoundCollisionAlgorithm___btCompoundCompoundCollisionAlgorithm_28_29_1, btCompoundCompoundCollisionAlgorithm__processCollision_28btCollisionObjectWrapper_20const__2c_20btCollisionObjectWrapper_20const__2c_20btDispatcherInfo_20const__2c_20btManifoldResult__29, btCompoundCompoundCollisionAlgorithm__calculateTimeOfImpact_28btCollisionObject__2c_20btCollisionObject__2c_20btDispatcherInfo_20const__2c_20btManifoldResult__29, btCompoundCompoundCollisionAlgorithm__getAllContactManifolds_28btAlignedObjectArray_btPersistentManifold____29, btCompoundCompoundLeafCallback___btCompoundCompoundLeafCallback_28_29, btCompoundCompoundLeafCallback___btCompoundCompoundLeafCallback_28_29_1, btCompoundCompoundLeafCallback__Process_28btDbvtNode_20const__2c_20btDbvtNode_20const__29, btBoxBoxDetector___btBoxBoxDetector_28_29_1, btBoxBoxDetector___btBoxBoxDetector_28_29, btBoxBoxDetector__getClosestPoints_28btDiscreteCollisionDetectorInterface__ClosestPointInput_20const__2c_20btDiscreteCollisionDetectorInterface__Result__2c_20btIDebugDraw__2c_20bool_29, btDiscreteCollisionDetectorInterface___btDiscreteCollisionDetectorInterface_28_29, btDiscreteCollisionDetectorInterface___btDiscreteCollisionDetectorInterface_28_29_1, btBoxBoxCollisionAlgorithm___btBoxBoxCollisionAlgorithm_28_29, btBoxBoxCollisionAlgorithm___btBoxBoxCollisionAlgorithm_28_29_1, btBoxBoxCollisionAlgorithm__processCollision_28btCollisionObjectWrapper_20const__2c_20btCollisionObjectWrapper_20const__2c_20btDispatcherInfo_20const__2c_20btManifoldResult__29, btBoxBoxCollisionAlgorithm__calculateTimeOfImpact_28btCollisionObject__2c_20btCollisionObject__2c_20btDispatcherInfo_20const__2c_20btManifoldResult__29, btBoxBoxCollisionAlgorithm__getAllContactManifolds_28btAlignedObjectArray_btPersistentManifold____29, btConvexPlaneCollisionAlgorithm___btConvexPlaneCollisionAlgorithm_28_29, btConvexPlaneCollisionAlgorithm___btConvexPlaneCollisionAlgorithm_28_29_1, btConvexPlaneCollisionAlgorithm__processCollision_28btCollisionObjectWrapper_20const__2c_20btCollisionObjectWrapper_20const__2c_20btDispatcherInfo_20const__2c_20btManifoldResult__29, btConvexPlaneCollisionAlgorithm__calculateTimeOfImpact_28btCollisionObject__2c_20btCollisionObject__2c_20btDispatcherInfo_20const__2c_20btManifoldResult__29, btConvexPlaneCollisionAlgorithm__getAllContactManifolds_28btAlignedObjectArray_btPersistentManifold____29, btDefaultCollisionConfiguration___btDefaultCollisionConfiguration_28_29, btDefaultCollisionConfiguration___btDefaultCollisionConfiguration_28_29_1, btDefaultCollisionConfiguration__getPersistentManifoldPool_28_29, btDefaultCollisionConfiguration__getCollisionAlgorithmPool_28_29, btDefaultCollisionConfiguration__getCollisionAlgorithmCreateFunc_28int_2c_20int_29, btDefaultCollisionConfiguration__getClosestPointsAlgorithmCreateFunc_28int_2c_20int_29, btCollisionConfiguration___btCollisionConfiguration_28_29, btCollisionConfiguration___btCollisionConfiguration_28_29_1, btConvexConcaveCollisionAlgorithm__CreateFunc___CreateFunc_28_29, btConvexConcaveCollisionAlgorithm__CreateFunc___CreateFunc_28_29_1, btConvexConcaveCollisionAlgorithm__CreateFunc__CreateCollisionAlgorithm_28btCollisionAlgorithmConstructionInfo__2c_20btCollisionObjectWrapper_20const__2c_20btCollisionObjectWrapper_20const__29, btCollisionAlgorithmCreateFunc___btCollisionAlgorithmCreateFunc_28_29, btCollisionAlgorithmCreateFunc___btCollisionAlgorithmCreateFunc_28_29_1, btCollisionAlgorithmCreateFunc__CreateCollisionAlgorithm_28btCollisionAlgorithmConstructionInfo__2c_20btCollisionObjectWrapper_20const__2c_20btCollisionObjectWrapper_20const__29, btConvexConcaveCollisionAlgorithm__SwappedCreateFunc___SwappedCreateFunc_28_29, btConvexConcaveCollisionAlgorithm__SwappedCreateFunc___SwappedCreateFunc_28_29_1, btConvexConcaveCollisionAlgorithm__SwappedCreateFunc__CreateCollisionAlgorithm_28btCollisionAlgorithmConstructionInfo__2c_20btCollisionObjectWrapper_20const__2c_20btCollisionObjectWrapper_20const__29, btCompoundCollisionAlgorithm__CreateFunc___CreateFunc_28_29, btCompoundCollisionAlgorithm__CreateFunc___CreateFunc_28_29_1, btCompoundCollisionAlgorithm__CreateFunc__CreateCollisionAlgorithm_28btCollisionAlgorithmConstructionInfo__2c_20btCollisionObjectWrapper_20const__2c_20btCollisionObjectWrapper_20const__29, btCompoundCompoundCollisionAlgorithm__CreateFunc___CreateFunc_28_29, btCompoundCompoundCollisionAlgorithm__CreateFunc___CreateFunc_28_29_1, btCompoundCompoundCollisionAlgorithm__CreateFunc__CreateCollisionAlgorithm_28btCollisionAlgorithmConstructionInfo__2c_20btCollisionObjectWrapper_20const__2c_20btCollisionObjectWrapper_20const__29, btCompoundCollisionAlgorithm__SwappedCreateFunc___SwappedCreateFunc_28_29, btCompoundCollisionAlgorithm__SwappedCreateFunc___SwappedCreateFunc_28_29_1, btCompoundCollisionAlgorithm__SwappedCreateFunc__CreateCollisionAlgorithm_28btCollisionAlgorithmConstructionInfo__2c_20btCollisionObjectWrapper_20const__2c_20btCollisionObjectWrapper_20const__29, btEmptyAlgorithm__CreateFunc___CreateFunc_28_29, btEmptyAlgorithm__CreateFunc___CreateFunc_28_29_1, btEmptyAlgorithm__CreateFunc__CreateCollisionAlgorithm_28btCollisionAlgorithmConstructionInfo__2c_20btCollisionObjectWrapper_20const__2c_20btCollisionObjectWrapper_20const__29, btSphereSphereCollisionAlgorithm__CreateFunc___CreateFunc_28_29, btSphereSphereCollisionAlgorithm__CreateFunc___CreateFunc_28_29_1, btSphereSphereCollisionAlgorithm__CreateFunc__CreateCollisionAlgorithm_28btCollisionAlgorithmConstructionInfo__2c_20btCollisionObjectWrapper_20const__2c_20btCollisionObjectWrapper_20const__29, btSphereTriangleCollisionAlgorithm__CreateFunc___CreateFunc_28_29, btSphereTriangleCollisionAlgorithm__CreateFunc___CreateFunc_28_29_1, btSphereTriangleCollisionAlgorithm__CreateFunc__CreateCollisionAlgorithm_28btCollisionAlgorithmConstructionInfo__2c_20btCollisionObjectWrapper_20const__2c_20btCollisionObjectWrapper_20const__29, btBoxBoxCollisionAlgorithm__CreateFunc___CreateFunc_28_29, btBoxBoxCollisionAlgorithm__CreateFunc___CreateFunc_28_29_1, btBoxBoxCollisionAlgorithm__CreateFunc__CreateCollisionAlgorithm_28btCollisionAlgorithmConstructionInfo__2c_20btCollisionObjectWrapper_20const__2c_20btCollisionObjectWrapper_20const__29, btConvexPlaneCollisionAlgorithm__CreateFunc___CreateFunc_28_29, btConvexPlaneCollisionAlgorithm__CreateFunc___CreateFunc_28_29_1, btConvexPlaneCollisionAlgorithm__CreateFunc__CreateCollisionAlgorithm_28btCollisionAlgorithmConstructionInfo__2c_20btCollisionObjectWrapper_20const__2c_20btCollisionObjectWrapper_20const__29, btEmptyAlgorithm___btEmptyAlgorithm_28_29, btEmptyAlgorithm___btEmptyAlgorithm_28_29_1, btEmptyAlgorithm__processCollision_28btCollisionObjectWrapper_20const__2c_20btCollisionObjectWrapper_20const__2c_20btDispatcherInfo_20const__2c_20btManifoldResult__29, btEmptyAlgorithm__calculateTimeOfImpact_28btCollisionObject__2c_20btCollisionObject__2c_20btDispatcherInfo_20const__2c_20btManifoldResult__29, btEmptyAlgorithm__getAllContactManifolds_28btAlignedObjectArray_btPersistentManifold____29, btHashedSimplePairCache___btHashedSimplePairCache_28_29, btHashedSimplePairCache___btHashedSimplePairCache_28_29_1, btHashedSimplePairCache__removeOverlappingPair_28int_2c_20int_29, btHashedSimplePairCache__addOverlappingPair_28int_2c_20int_29, btHashedSimplePairCache__getOverlappingPairArrayPtr_28_29, btManifoldResult___btManifoldResult_28_29, btManifoldResult___btManifoldResult_28_29_1, btManifoldResult__addContactPoint_28btVector3_20const__2c_20btVector3_20const__2c_20float_29, btSphereSphereCollisionAlgorithm___btSphereSphereCollisionAlgorithm_28_29, btSphereSphereCollisionAlgorithm___btSphereSphereCollisionAlgorithm_28_29_1, btSphereSphereCollisionAlgorithm__processCollision_28btCollisionObjectWrapper_20const__2c_20btCollisionObjectWrapper_20const__2c_20btDispatcherInfo_20const__2c_20btManifoldResult__29, btSphereSphereCollisionAlgorithm__calculateTimeOfImpact_28btCollisionObject__2c_20btCollisionObject__2c_20btDispatcherInfo_20const__2c_20btManifoldResult__29, btSphereSphereCollisionAlgorithm__getAllContactManifolds_28btAlignedObjectArray_btPersistentManifold____29, btSphereTriangleCollisionAlgorithm___btSphereTriangleCollisionAlgorithm_28_29, btSphereTriangleCollisionAlgorithm___btSphereTriangleCollisionAlgorithm_28_29_1, btSphereTriangleCollisionAlgorithm__processCollision_28btCollisionObjectWrapper_20const__2c_20btCollisionObjectWrapper_20const__2c_20btDispatcherInfo_20const__2c_20btManifoldResult__29, btSphereTriangleCollisionAlgorithm__calculateTimeOfImpact_28btCollisionObject__2c_20btCollisionObject__2c_20btDispatcherInfo_20const__2c_20btManifoldResult__29, btSphereTriangleCollisionAlgorithm__getAllContactManifolds_28btAlignedObjectArray_btPersistentManifold____29, SphereTriangleDetector___SphereTriangleDetector_28_29, SphereTriangleDetector___SphereTriangleDetector_28_29_1, SphereTriangleDetector__getClosestPoints_28btDiscreteCollisionDetectorInterface__ClosestPointInput_20const__2c_20btDiscreteCollisionDetectorInterface__Result__2c_20btIDebugDraw__2c_20bool_29, btBoxShape___btBoxShape_28_29, btBoxShape___btBoxShape_28_29_1, btBoxShape__getAabb_28btTransform_20const__2c_20btVector3__2c_20btVector3__29_20const, btBoxShape__setLocalScaling_28btVector3_20const__29, btBoxShape__calculateLocalInertia_28float_2c_20btVector3__29_20const, btBoxShape__getName_28_29_20const, btBoxShape__setMargin_28float_29, btBoxShape__localGetSupportingVertex_28btVector3_20const__29_20const, btBoxShape__localGetSupportingVertexWithoutMargin_28btVector3_20const__29_20const, btBoxShape__batchedUnitVectorGetSupportingVertexWithoutMargin_28btVector3_20const__2c_20btVector3__2c_20int_29_20const, btBoxShape__getNumPreferredPenetrationDirections_28_29_20const, btBoxShape__getPreferredPenetrationDirection_28int_2c_20btVector3__29_20const, btBoxShape__getNumVertices_28_29_20const, btBoxShape__getNumEdges_28_29_20const, btBoxShape__getEdge_28int_2c_20btVector3__2c_20btVector3__29_20const, btBoxShape__getVertex_28int_2c_20btVector3__29_20const, btBoxShape__getNumPlanes_28_29_20const, btBoxShape__getPlane_28btVector3__2c_20btVector3__2c_20int_29_20const, btBoxShape__isInside_28btVector3_20const__2c_20float_29_20const, btBoxShape__getPlaneEquation_28btVector4__2c_20int_29_20const, btQuantizedBvh___btQuantizedBvh_28_29, btQuantizedBvh__btQuantizedBvh_28_29, btQuantizedBvh___btQuantizedBvh_28_29_1, btQuantizedBvh__serialize_28void__2c_20unsigned_20int_2c_20bool_29_20const, btQuantizedBvh__calculateSerializeBufferSizeNew_28_29_20const, btQuantizedBvh__serialize_28void__2c_20btSerializer__29_20const, btQuantizedBvh__deSerializeFloat_28btQuantizedBvhFloatData__29, btQuantizedBvh__deSerializeDouble_28btQuantizedBvhDoubleData__29, btBvhTriangleMeshShape___btBvhTriangleMeshShape_28_29, btBvhTriangleMeshShape___btBvhTriangleMeshShape_28_29_1, btTriangleMeshShape__getAabb_28btTransform_20const__2c_20btVector3__2c_20btVector3__29_20const, btBvhTriangleMeshShape__setLocalScaling_28btVector3_20const__29, btTriangleMeshShape__getLocalScaling_28_29_20const, btTriangleMeshShape__calculateLocalInertia_28float_2c_20btVector3__29_20const, btBvhTriangleMeshShape__getName_28_29_20const, btConcaveShape__setMargin_28float_29, btConcaveShape__getMargin_28_29_20const, btBvhTriangleMeshShape__calculateSerializeBufferSize_28_29_20const, btBvhTriangleMeshShape__serialize_28void__2c_20btSerializer__29_20const, btBvhTriangleMeshShape__processAllTriangles_28btTriangleCallback__2c_20btVector3_20const__2c_20btVector3_20const__29_20const, btTriangleMeshShape__localGetSupportingVertex_28btVector3_20const__29_20const, btTriangleMeshShape__localGetSupportingVertexWithoutMargin_28btVector3_20const__29_20const, btBvhTriangleMeshShape__serializeSingleBvh_28btSerializer__29_20const, btBvhTriangleMeshShape__serializeSingleTriangleInfoMap_28btSerializer__29_20const, btBvhTriangleMeshShape__performRaycast_28btTriangleCallback__2c_20btVector3_20const__2c_20btVector3_20const__29__MyNodeOverlapCallback___MyNodeOverlapCallback_28_29, btBvhTriangleMeshShape__performRaycast_28btTriangleCallback__2c_20btVector3_20const__2c_20btVector3_20const__29__MyNodeOverlapCallback___MyNodeOverlapCallback_28_29_1, btBvhTriangleMeshShape__performRaycast_28btTriangleCallback__2c_20btVector3_20const__2c_20btVector3_20const__29__MyNodeOverlapCallback__processNode_28int_2c_20int_29, btNodeOverlapCallback___btNodeOverlapCallback_28_29, btNodeOverlapCallback___btNodeOverlapCallback_28_29_1, btBvhTriangleMeshShape__performConvexcast_28btTriangleCallback__2c_20btVector3_20const__2c_20btVector3_20const__2c_20btVector3_20const__2c_20btVector3_20const__29__MyNodeOverlapCallback___MyNodeOverlapCallback_28_29, btBvhTriangleMeshShape__performConvexcast_28btTriangleCallback__2c_20btVector3_20const__2c_20btVector3_20const__2c_20btVector3_20const__2c_20btVector3_20const__29__MyNodeOverlapCallback___MyNodeOverlapCallback_28_29_1, btBvhTriangleMeshShape__performConvexcast_28btTriangleCallback__2c_20btVector3_20const__2c_20btVector3_20const__2c_20btVector3_20const__2c_20btVector3_20const__29__MyNodeOverlapCallback__processNode_28int_2c_20int_29, btBvhTriangleMeshShape__processAllTriangles_28btTriangleCallback__2c_20btVector3_20const__2c_20btVector3_20const__29_20const__MyNodeOverlapCallback___MyNodeOverlapCallback_28_29, btBvhTriangleMeshShape__processAllTriangles_28btTriangleCallback__2c_20btVector3_20const__2c_20btVector3_20const__29_20const__MyNodeOverlapCallback___MyNodeOverlapCallback_28_29_1, btBvhTriangleMeshShape__processAllTriangles_28btTriangleCallback__2c_20btVector3_20const__2c_20btVector3_20const__29_20const__MyNodeOverlapCallback__processNode_28int_2c_20int_29, btCapsuleShape___btCapsuleShape_28_29, btCapsuleShape___btCapsuleShape_28_29_1, btCapsuleShape__getAabb_28btTransform_20const__2c_20btVector3__2c_20btVector3__29_20const, btCapsuleShape__setLocalScaling_28btVector3_20const__29, btCapsuleShape__calculateLocalInertia_28float_2c_20btVector3__29_20const, btCapsuleShape__getName_28_29_20const, btCapsuleShape__getAnisotropicRollingFrictionDirection_28_29_20const, btCapsuleShape__setMargin_28float_29, btCapsuleShape__calculateSerializeBufferSize_28_29_20const, btCapsuleShape__serialize_28void__2c_20btSerializer__29_20const, btCapsuleShape__localGetSupportingVertexWithoutMargin_28btVector3_20const__29_20const, btCapsuleShape__batchedUnitVectorGetSupportingVertexWithoutMargin_28btVector3_20const__2c_20btVector3__2c_20int_29_20const, btConvexInternalShape__getNumPreferredPenetrationDirections_28_29_20const, btConvexInternalShape__getPreferredPenetrationDirection_28int_2c_20btVector3__29_20const, btCollisionShape___btCollisionShape_28_29, btCollisionShape___btCollisionShape_28_29_1, btCollisionShape__calculateSerializeBufferSize_28_29_20const, btCollisionShape__serialize_28void__2c_20btSerializer__29_20const, btCompoundShape___btCompoundShape_28_29, btCompoundShape___btCompoundShape_28_29_1, btConeShape___btConeShape_28_29, btConeShape___btConeShape_28_29_1, btConvexInternalShape__getAabb_28btTransform_20const__2c_20btVector3__2c_20btVector3__29_20const, btConeShape__setLocalScaling_28btVector3_20const__29, btConeShape__calculateLocalInertia_28float_2c_20btVector3__29_20const, btConeShape__getName_28_29_20const, btConeShape__getAnisotropicRollingFrictionDirection_28_29_20const, btConeShape__calculateSerializeBufferSize_28_29_20const, btConeShape__serialize_28void__2c_20btSerializer__29_20const, btConeShape__localGetSupportingVertex_28btVector3_20const__29_20const, btConeShape__localGetSupportingVertexWithoutMargin_28btVector3_20const__29_20const, btConeShape__batchedUnitVectorGetSupportingVertexWithoutMargin_28btVector3_20const__2c_20btVector3__2c_20int_29_20const, btConvexInternalShape___btConvexInternalShape_28_29, btConvexInternalShape___btConvexInternalShape_28_29_1, btConvexShape___btConvexShape_28_29, btConvexShape___btConvexShape_28_29_1, btConvexTriangleMeshShape___btConvexTriangleMeshShape_28_29, btConvexTriangleMeshShape___btConvexTriangleMeshShape_28_29_1, btPolyhedralConvexAabbCachingShape__getAabb_28btTransform_20const__2c_20btVector3__2c_20btVector3__29_20const, btConvexTriangleMeshShape__setLocalScaling_28btVector3_20const__29, btConvexTriangleMeshShape__getLocalScaling_28_29_20const, btPolyhedralConvexShape__calculateLocalInertia_28float_2c_20btVector3__29_20const, btConvexTriangleMeshShape__getName_28_29_20const, btConvexTriangleMeshShape__localGetSupportingVertex_28btVector3_20const__29_20const, btConvexTriangleMeshShape__localGetSupportingVertexWithoutMargin_28btVector3_20const__29_20const, btConvexTriangleMeshShape__batchedUnitVectorGetSupportingVertexWithoutMargin_28btVector3_20const__2c_20btVector3__2c_20int_29_20const, btConvexTriangleMeshShape__getNumVertices_28_29_20const, btConvexTriangleMeshShape__getNumEdges_28_29_20const, btConvexTriangleMeshShape__getEdge_28int_2c_20btVector3__2c_20btVector3__29_20const, btConvexTriangleMeshShape__getVertex_28int_2c_20btVector3__29_20const, btConvexTriangleMeshShape__getNumPlanes_28_29_20const, btConvexTriangleMeshShape__getPlane_28btVector3__2c_20btVector3__2c_20int_29_20const, btConvexTriangleMeshShape__isInside_28btVector3_20const__2c_20float_29_20const, LocalSupportVertexCallback___LocalSupportVertexCallback_28_29, LocalSupportVertexCallback___LocalSupportVertexCallback_28_29_1, LocalSupportVertexCallback__internalProcessTriangleIndex_28btVector3__2c_20int_2c_20int_29, btCylinderShape___btCylinderShape_28_29, btCylinderShape___btCylinderShape_28_29_1, btCylinderShape__getAabb_28btTransform_20const__2c_20btVector3__2c_20btVector3__29_20const, btCylinderShape__setLocalScaling_28btVector3_20const__29, btCylinderShape__calculateLocalInertia_28float_2c_20btVector3__29_20const, btCylinderShape__getName_28_29_20const, btCylinderShape__getAnisotropicRollingFrictionDirection_28_29_20const, btCylinderShape__setMargin_28float_29, btCylinderShape__calculateSerializeBufferSize_28_29_20const, btCylinderShape__serialize_28void__2c_20btSerializer__29_20const, btCylinderShape__localGetSupportingVertex_28btVector3_20const__29_20const, btCylinderShape__localGetSupportingVertexWithoutMargin_28btVector3_20const__29_20const, btCylinderShape__batchedUnitVectorGetSupportingVertexWithoutMargin_28btVector3_20const__2c_20btVector3__2c_20int_29_20const, btCylinderShape__getRadius_28_29_20const, btConcaveShape___btConcaveShape_28_29, btConcaveShape___btConcaveShape_28_29_1, btEmptyShape___btEmptyShape_28_29, btEmptyShape___btEmptyShape_28_29_1, btEmptyShape__getAabb_28btTransform_20const__2c_20btVector3__2c_20btVector3__29_20const, btEmptyShape__setLocalScaling_28btVector3_20const__29, btEmptyShape__getLocalScaling_28_29_20const, btEmptyShape__calculateLocalInertia_28float_2c_20btVector3__29_20const, btEmptyShape__getName_28_29_20const, btEmptyShape__processAllTriangles_28btTriangleCallback__2c_20btVector3_20const__2c_20btVector3_20const__29_20const, btHeightfieldTerrainShape___btHeightfieldTerrainShape_28_29, btHeightfieldTerrainShape___btHeightfieldTerrainShape_28_29_1, btHeightfieldTerrainShape__getAabb_28btTransform_20const__2c_20btVector3__2c_20btVector3__29_20const, btHeightfieldTerrainShape__setLocalScaling_28btVector3_20const__29, btHeightfieldTerrainShape__getLocalScaling_28_29_20const, btHeightfieldTerrainShape__calculateLocalInertia_28float_2c_20btVector3__29_20const, btHeightfieldTerrainShape__getName_28_29_20const, btHeightfieldTerrainShape__processAllTriangles_28btTriangleCallback__2c_20btVector3_20const__2c_20btVector3_20const__29_20const, btHeightfieldTerrainShape__getRawHeightFieldValue_28int_2c_20int_29_20const, btOptimizedBvh___btOptimizedBvh_28_29, btOptimizedBvh___btOptimizedBvh_28_29_1, btOptimizedBvh__serializeInPlace_28void__2c_20unsigned_20int_2c_20bool_29_20const, btOptimizedBvh__build_28btStridingMeshInterface__2c_20bool_2c_20btVector3_20const__2c_20btVector3_20const__29__QuantizedNodeTriangleCallback___QuantizedNodeTriangleCallback_28_29, btOptimizedBvh__build_28btStridingMeshInterface__2c_20bool_2c_20btVector3_20const__2c_20btVector3_20const__29__QuantizedNodeTriangleCallback___QuantizedNodeTriangleCallback_28_29_1, btOptimizedBvh__build_28btStridingMeshInterface__2c_20bool_2c_20btVector3_20const__2c_20btVector3_20const__29__QuantizedNodeTriangleCallback__internalProcessTriangleIndex_28btVector3__2c_20int_2c_20int_29, btOptimizedBvh__build_28btStridingMeshInterface__2c_20bool_2c_20btVector3_20const__2c_20btVector3_20const__29__NodeTriangleCallback___NodeTriangleCallback_28_29, btOptimizedBvh__build_28btStridingMeshInterface__2c_20bool_2c_20btVector3_20const__2c_20btVector3_20const__29__NodeTriangleCallback___NodeTriangleCallback_28_29_1, btOptimizedBvh__build_28btStridingMeshInterface__2c_20bool_2c_20btVector3_20const__2c_20btVector3_20const__29__NodeTriangleCallback__internalProcessTriangleIndex_28btVector3__2c_20int_2c_20int_29, btConvexPolyhedron___btConvexPolyhedron_28_29, btConvexPolyhedron___btConvexPolyhedron_28_29_1, btPolyhedralConvexShape___btPolyhedralConvexShape_28_29, btPolyhedralConvexShape___btPolyhedralConvexShape_28_29_1, btPolyhedralConvexShape__localGetSupportingVertexWithoutMargin_28btVector3_20const__29_20const, btPolyhedralConvexShape__batchedUnitVectorGetSupportingVertexWithoutMargin_28btVector3_20const__2c_20btVector3__2c_20int_29_20const, btPolyhedralConvexAabbCachingShape___btPolyhedralConvexAabbCachingShape_28_29, btPolyhedralConvexAabbCachingShape___btPolyhedralConvexAabbCachingShape_28_29_1, btPolyhedralConvexAabbCachingShape__setLocalScaling_28btVector3_20const__29, btScaledBvhTriangleMeshShape___btScaledBvhTriangleMeshShape_28_29, btScaledBvhTriangleMeshShape___btScaledBvhTriangleMeshShape_28_29_1, btScaledBvhTriangleMeshShape__getAabb_28btTransform_20const__2c_20btVector3__2c_20btVector3__29_20const, btScaledBvhTriangleMeshShape__setLocalScaling_28btVector3_20const__29, btScaledBvhTriangleMeshShape__getLocalScaling_28_29_20const, btScaledBvhTriangleMeshShape__calculateLocalInertia_28float_2c_20btVector3__29_20const, btScaledBvhTriangleMeshShape__getName_28_29_20const, btScaledBvhTriangleMeshShape__calculateSerializeBufferSize_28_29_20const, btScaledBvhTriangleMeshShape__serialize_28void__2c_20btSerializer__29_20const, btScaledBvhTriangleMeshShape__processAllTriangles_28btTriangleCallback__2c_20btVector3_20const__2c_20btVector3_20const__29_20const, btScaledTriangleCallback___btScaledTriangleCallback_28_29, btScaledTriangleCallback___btScaledTriangleCallback_28_29_1, btScaledTriangleCallback__processTriangle_28btVector3__2c_20int_2c_20int_29, btSphereShape___btSphereShape_28_29, btSphereShape___btSphereShape_28_29_1, btSphereShape__getAabb_28btTransform_20const__2c_20btVector3__2c_20btVector3__29_20const, btSphereShape__calculateLocalInertia_28float_2c_20btVector3__29_20const, btSphereShape__getName_28_29_20const, btSphereShape__setMargin_28float_29, btSphereShape__getMargin_28_29_20const, btSphereShape__localGetSupportingVertex_28btVector3_20const__29_20const, btSphereShape__localGetSupportingVertexWithoutMargin_28btVector3_20const__29_20const, btSphereShape__batchedUnitVectorGetSupportingVertexWithoutMargin_28btVector3_20const__2c_20btVector3__2c_20int_29_20const, btStaticPlaneShape___btStaticPlaneShape_28_29, btStaticPlaneShape___btStaticPlaneShape_28_29_1, btStaticPlaneShape__getAabb_28btTransform_20const__2c_20btVector3__2c_20btVector3__29_20const, btStaticPlaneShape__setLocalScaling_28btVector3_20const__29, btStaticPlaneShape__getLocalScaling_28_29_20const, btStaticPlaneShape__calculateLocalInertia_28float_2c_20btVector3__29_20const, btStaticPlaneShape__getName_28_29_20const, btStaticPlaneShape__calculateSerializeBufferSize_28_29_20const, btStaticPlaneShape__serialize_28void__2c_20btSerializer__29_20const, btStaticPlaneShape__processAllTriangles_28btTriangleCallback__2c_20btVector3_20const__2c_20btVector3_20const__29_20const, btBU_Simplex1to4___btBU_Simplex1to4_28_29, btBU_Simplex1to4___btBU_Simplex1to4_28_29_1, btBU_Simplex1to4__getAabb_28btTransform_20const__2c_20btVector3__2c_20btVector3__29_20const, btBU_Simplex1to4__getName_28_29_20const, btBU_Simplex1to4__getNumVertices_28_29_20const, btBU_Simplex1to4__getNumEdges_28_29_20const, btBU_Simplex1to4__getEdge_28int_2c_20btVector3__2c_20btVector3__29_20const, btBU_Simplex1to4__getVertex_28int_2c_20btVector3__29_20const, btBU_Simplex1to4__getNumPlanes_28_29_20const, btBU_Simplex1to4__getPlane_28btVector3__2c_20btVector3__2c_20int_29_20const, btBU_Simplex1to4__isInside_28btVector3_20const__2c_20float_29_20const, btBU_Simplex1to4__getIndex_28int_29_20const, btTriangleCallback___btTriangleCallback_28_29, btTriangleCallback___btTriangleCallback_28_29_1, btInternalTriangleIndexCallback___btInternalTriangleIndexCallback_28_29, btInternalTriangleIndexCallback___btInternalTriangleIndexCallback_28_29_1, btStridingMeshInterface___btStridingMeshInterface_28_29, btStridingMeshInterface___btStridingMeshInterface_28_29_1, btStridingMeshInterface__InternalProcessAllTriangles_28btInternalTriangleIndexCallback__2c_20btVector3_20const__2c_20btVector3_20const__29_20const, btStridingMeshInterface__hasPremadeAabb_28_29_20const, btStridingMeshInterface__setPremadeAabb_28btVector3_20const__2c_20btVector3_20const__29_20const, btStridingMeshInterface__getPremadeAabb_28btVector3__2c_20btVector3__29_20const, btStridingMeshInterface__calculateSerializeBufferSize_28_29_20const, btStridingMeshInterface__serialize_28void__2c_20btSerializer__29_20const, btTriangleIndexVertexArray___btTriangleIndexVertexArray_28_29, btTriangleIndexVertexArray___btTriangleIndexVertexArray_28_29_1, btTriangleIndexVertexArray__getLockedVertexIndexBase_28unsigned_20char___2c_20int__2c_20PHY_ScalarType__2c_20int__2c_20unsigned_20char___2c_20int__2c_20int__2c_20PHY_ScalarType__2c_20int_29, btTriangleIndexVertexArray__getLockedReadOnlyVertexIndexBase_28unsigned_20char_20const___2c_20int__2c_20PHY_ScalarType__2c_20int__2c_20unsigned_20char_20const___2c_20int__2c_20int__2c_20PHY_ScalarType__2c_20int_29_20const, btTriangleIndexVertexArray__unLockVertexBase_28int_29, btTriangleIndexVertexArray__unLockReadOnlyVertexBase_28int_29_20const, btTriangleIndexVertexArray__getNumSubParts_28_29_20const, btTriangleIndexVertexArray__preallocateVertices_28int_29, btTriangleIndexVertexArray__preallocateIndices_28int_29, btTriangleIndexVertexArray__hasPremadeAabb_28_29_20const, btTriangleIndexVertexArray__setPremadeAabb_28btVector3_20const__2c_20btVector3_20const__29_20const, btTriangleIndexVertexArray__getPremadeAabb_28btVector3__2c_20btVector3__29_20const, btTriangleMesh___btTriangleMesh_28_29, btTriangleMesh___btTriangleMesh_28_29_1, btTriangleMesh__preallocateVertices_28int_29, btTriangleMesh__preallocateIndices_28int_29, btTriangleMeshShape___btTriangleMeshShape_28_29, btTriangleMeshShape___btTriangleMeshShape_28_29_1, btTriangleMeshShape__setLocalScaling_28btVector3_20const__29, btTriangleMeshShape__getName_28_29_20const, btTriangleMeshShape__processAllTriangles_28btTriangleCallback__2c_20btVector3_20const__2c_20btVector3_20const__29_20const, btTriangleMeshShape__processAllTriangles_28btTriangleCallback__2c_20btVector3_20const__2c_20btVector3_20const__29_20const__FilteredCallback___FilteredCallback_28_29, btTriangleMeshShape__processAllTriangles_28btTriangleCallback__2c_20btVector3_20const__2c_20btVector3_20const__29_20const__FilteredCallback___FilteredCallback_28_29_1, btTriangleMeshShape__processAllTriangles_28btTriangleCallback__2c_20btVector3_20const__2c_20btVector3_20const__29_20const__FilteredCallback__internalProcessTriangleIndex_28btVector3__2c_20int_2c_20int_29, SupportVertexCallback___SupportVertexCallback_28_29, SupportVertexCallback___SupportVertexCallback_28_29_1, SupportVertexCallback__processTriangle_28btVector3__2c_20int_2c_20int_29, btContinuousConvexCollision___btContinuousConvexCollision_28_29, btContinuousConvexCollision___btContinuousConvexCollision_28_29_1, btContinuousConvexCollision__calcTimeOfImpact_28btTransform_20const__2c_20btTransform_20const__2c_20btTransform_20const__2c_20btTransform_20const__2c_20btConvexCast__CastResult__29, btPointCollector___btPointCollector_28_29, btPointCollector___btPointCollector_28_29_1, btPointCollector__setShapeIdentifiersA_28int_2c_20int_29, btPointCollector__setShapeIdentifiersB_28int_2c_20int_29, btPointCollector__addContactPoint_28btVector3_20const__2c_20btVector3_20const__2c_20float_29, btConvexCast___btConvexCast_28_29, btConvexCast___btConvexCast_28_29_1, btGjkConvexCast___btGjkConvexCast_28_29, btGjkConvexCast___btGjkConvexCast_28_29_1, btGjkConvexCast__calcTimeOfImpact_28btTransform_20const__2c_20btTransform_20const__2c_20btTransform_20const__2c_20btTransform_20const__2c_20btConvexCast__CastResult__29, btConvexShape__localGetSupportVertexNonVirtual_28btVector3_20const__29_20const, btConvexShape__localGetSupportVertexWithoutMarginNonVirtual_28btVector3_20const__29_20const, btGjkEpaPenetrationDepthSolver___btGjkEpaPenetrationDepthSolver_28_29, btGjkEpaPenetrationDepthSolver___btGjkEpaPenetrationDepthSolver_28_29_1, btGjkEpaPenetrationDepthSolver__calcPenDepth_28btVoronoiSimplexSolver__2c_20btConvexShape_20const__2c_20btConvexShape_20const__2c_20btTransform_20const__2c_20btTransform_20const__2c_20btVector3__2c_20btVector3__2c_20btVector3__2c_20btIDebugDraw__29, btGjkPairDetector___btGjkPairDetector_28_29, btGjkPairDetector___btGjkPairDetector_28_29_1, btGjkPairDetector__getClosestPoints_28btDiscreteCollisionDetectorInterface__ClosestPointInput_20const__2c_20btDiscreteCollisionDetectorInterface__Result__2c_20btIDebugDraw__2c_20bool_29, btMinkowskiPenetrationDepthSolver___btMinkowskiPenetrationDepthSolver_28_29, btMinkowskiPenetrationDepthSolver___btMinkowskiPenetrationDepthSolver_28_29_1, btMinkowskiPenetrationDepthSolver__calcPenDepth_28btVoronoiSimplexSolver__2c_20btConvexShape_20const__2c_20btConvexShape_20const__2c_20btTransform_20const__2c_20btTransform_20const__2c_20btVector3__2c_20btVector3__2c_20btVector3__2c_20btIDebugDraw__29, btMinkowskiPenetrationDepthSolver__calcPenDepth_28btVoronoiSimplexSolver__2c_20btConvexShape_20const__2c_20btConvexShape_20const__2c_20btTransform_20const__2c_20btTransform_20const__2c_20btVector3__2c_20btVector3__2c_20btVector3__2c_20btIDebugDraw__29__btIntermediateResult___btIntermediateResult_28_29, btMinkowskiPenetrationDepthSolver__calcPenDepth_28btVoronoiSimplexSolver__2c_20btConvexShape_20const__2c_20btConvexShape_20const__2c_20btTransform_20const__2c_20btTransform_20const__2c_20btVector3__2c_20btVector3__2c_20btVector3__2c_20btIDebugDraw__29__btIntermediateResult___btIntermediateResult_28_29_1, btMinkowskiPenetrationDepthSolver__calcPenDepth_28btVoronoiSimplexSolver__2c_20btConvexShape_20const__2c_20btConvexShape_20const__2c_20btTransform_20const__2c_20btTransform_20const__2c_20btVector3__2c_20btVector3__2c_20btVector3__2c_20btIDebugDraw__29__btIntermediateResult__setShapeIdentifiersA_28int_2c_20int_29, btMinkowskiPenetrationDepthSolver__calcPenDepth_28btVoronoiSimplexSolver__2c_20btConvexShape_20const__2c_20btConvexShape_20const__2c_20btTransform_20const__2c_20btTransform_20const__2c_20btVector3__2c_20btVector3__2c_20btVector3__2c_20btIDebugDraw__29__btIntermediateResult__setShapeIdentifiersB_28int_2c_20int_29, btMinkowskiPenetrationDepthSolver__calcPenDepth_28btVoronoiSimplexSolver__2c_20btConvexShape_20const__2c_20btConvexShape_20const__2c_20btTransform_20const__2c_20btTransform_20const__2c_20btVector3__2c_20btVector3__2c_20btVector3__2c_20btIDebugDraw__29__btIntermediateResult__addContactPoint_28btVector3_20const__2c_20btVector3_20const__2c_20float_29, btTriangleRaycastCallback___btTriangleRaycastCallback_28_29, btTriangleRaycastCallback___btTriangleRaycastCallback_28_29_1, btTriangleConvexcastCallback___btTriangleConvexcastCallback_28_29, btTriangleConvexcastCallback___btTriangleConvexcastCallback_28_29_1, btSubsimplexConvexCast___btSubsimplexConvexCast_28_29, btSubsimplexConvexCast___btSubsimplexConvexCast_28_29_1, btSubsimplexConvexCast__calcTimeOfImpact_28btTransform_20const__2c_20btTransform_20const__2c_20btTransform_20const__2c_20btTransform_20const__2c_20btConvexCast__CastResult__29, btFixedConstraint___btFixedConstraint_28_29, btFixedConstraint___btFixedConstraint_28_29_1, btGeneric6DofSpring2Constraint__buildJacobian_28_29, btTypedConstraint__setupSolverConstraint_28btAlignedObjectArray_btSolverConstraint___2c_20int_2c_20int_2c_20float_29, btGeneric6DofSpring2Constraint__getInfo1_28btTypedConstraint__btConstraintInfo1__29, btGeneric6DofSpring2Constraint__getInfo2_28btTypedConstraint__btConstraintInfo2__29, btTypedConstraint__solveConstraintObsolete_28btSolverBody__2c_20btSolverBody__2c_20float_29, btGeneric6DofSpring2Constraint__setParam_28int_2c_20float_2c_20int_29, btGeneric6DofSpring2Constraint__getParam_28int_2c_20int_29_20const, btGeneric6DofSpring2Constraint__calculateSerializeBufferSize_28_29_20const, btGeneric6DofSpring2Constraint__serialize_28void__2c_20btSerializer__29_20const, btGeneric6DofSpring2Constraint___btGeneric6DofSpring2Constraint_28_29, btGeneric6DofSpring2Constraint___btGeneric6DofSpring2Constraint_28_29_1, btHingeConstraint___btHingeConstraint_28_29, btHingeConstraint___btHingeConstraint_28_29_1, btHingeConstraint__buildJacobian_28_29, btHingeConstraint__getInfo1_28btTypedConstraint__btConstraintInfo1__29, btHingeConstraint__getInfo2_28btTypedConstraint__btConstraintInfo2__29, btHingeConstraint__setParam_28int_2c_20float_2c_20int_29, btHingeConstraint__getParam_28int_2c_20int_29_20const, btHingeConstraint__calculateSerializeBufferSize_28_29_20const, btHingeConstraint__serialize_28void__2c_20btSerializer__29_20const, btHingeConstraint__getFlags_28_29_20const, btPoint2PointConstraint___btPoint2PointConstraint_28_29, btPoint2PointConstraint___btPoint2PointConstraint_28_29_1, btPoint2PointConstraint__buildJacobian_28_29, btPoint2PointConstraint__getInfo1_28btTypedConstraint__btConstraintInfo1__29, btPoint2PointConstraint__getInfo2_28btTypedConstraint__btConstraintInfo2__29, btPoint2PointConstraint__setParam_28int_2c_20float_2c_20int_29, btPoint2PointConstraint__getParam_28int_2c_20int_29_20const, btPoint2PointConstraint__calculateSerializeBufferSize_28_29_20const, btPoint2PointConstraint__serialize_28void__2c_20btSerializer__29_20const, btPoint2PointConstraint__getFlags_28_29_20const, gResolveSingleConstraintRowGeneric_scalar_reference_28btSolverBody__2c_20btSolverBody__2c_20btSolverConstraint_20const__29, gResolveSingleConstraintRowLowerLimit_scalar_reference_28btSolverBody__2c_20btSolverBody__2c_20btSolverConstraint_20const__29, gResolveSplitPenetrationImpulse_scalar_reference_28btSolverBody__2c_20btSolverBody__2c_20btSolverConstraint_20const__29, btSequentialImpulseConstraintSolver___btSequentialImpulseConstraintSolver_28_29, btSequentialImpulseConstraintSolver___btSequentialImpulseConstraintSolver_28_29_1, btConstraintSolver__prepareSolve_28int_2c_20int_29, btSequentialImpulseConstraintSolver__solveGroup_28btCollisionObject___2c_20int_2c_20btPersistentManifold___2c_20int_2c_20btTypedConstraint___2c_20int_2c_20btContactSolverInfo_20const__2c_20btIDebugDraw__2c_20btDispatcher__29, btConstraintSolver__allSolved_28btContactSolverInfo_20const__2c_20btIDebugDraw__29, btSequentialImpulseConstraintSolver__reset_28_29, btSequentialImpulseConstraintSolver__getSolverType_28_29_20const, btSequentialImpulseConstraintSolver__convertContacts_28btPersistentManifold___2c_20int_2c_20btContactSolverInfo_20const__29, btSequentialImpulseConstraintSolver__solveGroupCacheFriendlySplitImpulseIterations_28btCollisionObject___2c_20int_2c_20btPersistentManifold___2c_20int_2c_20btTypedConstraint___2c_20int_2c_20btContactSolverInfo_20const__2c_20btIDebugDraw__29, btSequentialImpulseConstraintSolver__solveGroupCacheFriendlyFinish_28btCollisionObject___2c_20int_2c_20btContactSolverInfo_20const__29, btSequentialImpulseConstraintSolver__solveSingleIteration_28int_2c_20btCollisionObject___2c_20int_2c_20btPersistentManifold___2c_20int_2c_20btTypedConstraint___2c_20int_2c_20btContactSolverInfo_20const__2c_20btIDebugDraw__29, btSequentialImpulseConstraintSolver__solveGroupCacheFriendlySetup_28btCollisionObject___2c_20int_2c_20btPersistentManifold___2c_20int_2c_20btTypedConstraint___2c_20int_2c_20btContactSolverInfo_20const__2c_20btIDebugDraw__29, btSequentialImpulseConstraintSolver__solveGroupCacheFriendlyIterations_28btCollisionObject___2c_20int_2c_20btPersistentManifold___2c_20int_2c_20btTypedConstraint___2c_20int_2c_20btContactSolverInfo_20const__2c_20btIDebugDraw__29, btConstraintSolver___btConstraintSolver_28_29, btConstraintSolver___btConstraintSolver_28_29_1, __cxx_global_array_dtor_1, btTypedConstraint___btTypedConstraint_28_29, btTypedConstraint___btTypedConstraint_28_29_1, btTypedConstraint__buildJacobian_28_29, btTypedConstraint__calculateSerializeBufferSize_28_29_20const, btTypedConstraint__serialize_28void__2c_20btSerializer__29_20const, btRigidBody___btRigidBody_28_29, btRigidBody___btRigidBody_28_29_1, btRigidBody__calculateSerializeBufferSize_28_29_20const, btRigidBody__serialize_28void__2c_20btSerializer__29_20const, btRigidBody__serializeSingleObject_28btSerializer__29_20const, btSimulationIslandManager___btSimulationIslandManager_28_29, btSimulationIslandManager___btSimulationIslandManager_28_29_1, btSimulationIslandManager__updateActivationState_28btCollisionWorld__2c_20btDispatcher__29, btSimulationIslandManager__storeIslandActivationState_28btCollisionWorld__29, btDiscreteDynamicsWorld___btDiscreteDynamicsWorld_28_29, btDiscreteDynamicsWorld___btDiscreteDynamicsWorld_28_29_1, btDiscreteDynamicsWorld__debugDrawWorld_28_29, btDiscreteDynamicsWorld__addCollisionObject_28btCollisionObject__2c_20int_2c_20int_29, btDiscreteDynamicsWorld__removeCollisionObject_28btCollisionObject__29, btDiscreteDynamicsWorld__serialize_28btSerializer__29, btDiscreteDynamicsWorld__stepSimulation_28float_2c_20int_2c_20float_29, btDiscreteDynamicsWorld__addConstraint_28btTypedConstraint__2c_20bool_29, btDiscreteDynamicsWorld__removeConstraint_28btTypedConstraint__29, btDiscreteDynamicsWorld__addAction_28btActionInterface__29, btDiscreteDynamicsWorld__removeAction_28btActionInterface__29, btDiscreteDynamicsWorld__setGravity_28btVector3_20const__29, btDiscreteDynamicsWorld__getGravity_28_29_20const, btDiscreteDynamicsWorld__synchronizeMotionStates_28_29, btDiscreteDynamicsWorld__addRigidBody_28btRigidBody__29, btDiscreteDynamicsWorld__addRigidBody_28btRigidBody__2c_20int_2c_20int_29, btDiscreteDynamicsWorld__removeRigidBody_28btRigidBody__29, btDiscreteDynamicsWorld__setConstraintSolver_28btConstraintSolver__29, btDiscreteDynamicsWorld__getConstraintSolver_28_29, btDiscreteDynamicsWorld__getNumConstraints_28_29_20const, btDiscreteDynamicsWorld__getConstraint_28int_29, btDiscreteDynamicsWorld__getConstraint_28int_29_20const, btDiscreteDynamicsWorld__getWorldType_28_29_20const, btDiscreteDynamicsWorld__clearForces_28_29, btDiscreteDynamicsWorld__addVehicle_28btActionInterface__29, btDiscreteDynamicsWorld__removeVehicle_28btActionInterface__29, btDiscreteDynamicsWorld__addCharacter_28btActionInterface__29, btDiscreteDynamicsWorld__removeCharacter_28btActionInterface__29, btDiscreteDynamicsWorld__predictUnconstraintMotion_28float_29, btDiscreteDynamicsWorld__integrateTransforms_28float_29, btDiscreteDynamicsWorld__calculateSimulationIslands_28_29, btDiscreteDynamicsWorld__solveConstraints_28btContactSolverInfo__29, btDiscreteDynamicsWorld__updateActivationState_28float_29, btDiscreteDynamicsWorld__internalSingleStepSimulation_28float_29, btDiscreteDynamicsWorld__createPredictiveContacts_28float_29, btDiscreteDynamicsWorld__saveKinematicState_28float_29, btDiscreteDynamicsWorld__debugDrawConstraint_28btTypedConstraint__29, btDiscreteDynamicsWorld__applyGravity_28_29, btDiscreteDynamicsWorld__setNumTasks_28int_29, btDiscreteDynamicsWorld__updateVehicles_28float_29, btDynamicsWorld___btDynamicsWorld_28_29, btDynamicsWorld___btDynamicsWorld_28_29_1, btDynamicsWorld__addConstraint_28btTypedConstraint__2c_20bool_29, btDynamicsWorld__removeConstraint_28btTypedConstraint__29, btDynamicsWorld__getNumConstraints_28_29_20const, btDynamicsWorld__getConstraint_28int_29, btDynamicsWorld__getConstraint_28int_29_20const, btDynamicsWorld__addVehicle_28btActionInterface__29, btDynamicsWorld__removeVehicle_28btActionInterface__29, btDynamicsWorld__addCharacter_28btActionInterface__29, btDynamicsWorld__removeCharacter_28btActionInterface__29, InplaceSolverIslandCallback___InplaceSolverIslandCallback_28_29, InplaceSolverIslandCallback___InplaceSolverIslandCallback_28_29_1, InplaceSolverIslandCallback__processIsland_28btCollisionObject___2c_20int_2c_20btPersistentManifold___2c_20int_2c_20int_29, btSimulationIslandManager__IslandCallback___IslandCallback_28_29, btSimulationIslandManager__IslandCallback___IslandCallback_28_29_1, btClosestNotMeConvexResultCallback___btClosestNotMeConvexResultCallback_28_29, btClosestNotMeConvexResultCallback___btClosestNotMeConvexResultCallback_28_29_1, btClosestNotMeConvexResultCallback__needsCollision_28btBroadphaseProxy__29_20const, btClosestNotMeConvexResultCallback__addSingleResult_28btCollisionWorld__LocalConvexResult__2c_20bool_29, cc__ccDiscreteDynamicsWorld___ccDiscreteDynamicsWorld_28_29, cc__ccDiscreteDynamicsWorld___ccDiscreteDynamicsWorld_28_29_1, cc__ccDiscreteDynamicsWorld__createPredictiveContacts_28float_29, cc__ccDiscreteDynamicsWorld__applyGravity_28_29, cc__ccOverlapFilterCallback___ccOverlapFilterCallback_28_29, cc__ccOverlapFilterCallback___ccOverlapFilterCallback_28_29_1, cc__ccOverlapFilterCallback__needBroadphaseCollision_28btBroadphaseProxy__2c_20btBroadphaseProxy__29_20const, btOverlapFilterCallback___btOverlapFilterCallback_28_29, btOverlapFilterCallback___btOverlapFilterCallback_28_29_1, btGhostPairCallback___btGhostPairCallback_28_29, btGhostPairCallback___btGhostPairCallback_28_29_1, btGhostPairCallback__addOverlappingPair_28btBroadphaseProxy__2c_20btBroadphaseProxy__29, btGhostPairCallback__removeOverlappingPair_28btBroadphaseProxy__2c_20btBroadphaseProxy__2c_20btDispatcher__29, btGhostPairCallback__removeOverlappingPairsContainingProxy_28btBroadphaseProxy__2c_20btDispatcher__29, cc__ccNotMeClosestConvexResultCallback___ccNotMeClosestConvexResultCallback_28_29, cc__ccNotMeClosestConvexResultCallback___ccNotMeClosestConvexResultCallback_28_29_1, cc__ccNotMeClosestConvexResultCallback__needsCollision_28btBroadphaseProxy__29_20const, cc__ccNotMeClosestConvexResultCallback__addSingleResult_28btCollisionWorld__LocalConvexResult__2c_20bool_29, btGhostObject___btGhostObject_28_29, btPairCachingGhostObject___btPairCachingGhostObject_28_29, btGhostObject___btGhostObject_28_29_1, btGhostObject__addOverlappingObjectInternal_28btBroadphaseProxy__2c_20btBroadphaseProxy__29, btGhostObject__removeOverlappingObjectInternal_28btBroadphaseProxy__2c_20btDispatcher__2c_20btBroadphaseProxy__29, btPairCachingGhostObject___btPairCachingGhostObject_28_29_1, btPairCachingGhostObject__addOverlappingObjectInternal_28btBroadphaseProxy__2c_20btBroadphaseProxy__29, btPairCachingGhostObject__removeOverlappingObjectInternal_28btBroadphaseProxy__2c_20btDispatcher__2c_20btBroadphaseProxy__29, __cxx_global_array_dtor_2, btCharacterController___btCharacterController_28_29, btCharacterController___btCharacterController_28_29_1, btCharacterController__updateAction_28btCollisionWorld__2c_20float_29, btCharacterController__debugDraw_28btIDebugDraw__29, btCharacterController__getType_28_29, btCapsuleCharacterController___btCapsuleCharacterController_28_29, btCapsuleCharacterController___btCapsuleCharacterController_28_29_1, btCapsuleCharacterController__getFullHalfHeight_28_29, btBoxCharacterController___btBoxCharacterController_28_29, btBoxCharacterController___btBoxCharacterController_28_29_1, btBoxCharacterController__getFullHalfHeight_28_29, btKinematicClosestNotMeConvexResultCallback___btKinematicClosestNotMeConvexResultCallback_28_29, btKinematicClosestNotMeConvexResultCallback___btKinematicClosestNotMeConvexResultCallback_28_29_1, btKinematicClosestNotMeConvexResultCallback__addSingleResult_28btCollisionWorld__LocalConvexResult__2c_20bool_29, btActionInterface___btActionInterface_28_29, btActionInterface___btActionInterface_28_29_1, embind_init_builtin_28_29, __emscripten_stdout_close, __stdio_write, __emscripten_stdout_seek, fmt_fp, pop_arg_long_double, __stdio_close, __stdio_seek, __cxxabiv1____shim_type_info_____shim_type_info_28_29, __cxxabiv1____fundamental_type_info_____fundamental_type_info_28_29, __cxxabiv1____shim_type_info__noop1_28_29_20const, __cxxabiv1____shim_type_info__noop2_28_29_20const, __cxxabiv1____fundamental_type_info__can_catch_28__cxxabiv1____shim_type_info_20const__2c_20void___29_20const, __cxxabiv1____class_type_info_____class_type_info_28_29, __cxxabiv1____class_type_info__can_catch_28__cxxabiv1____shim_type_info_20const__2c_20void___29_20const, __cxxabiv1____class_type_info__search_above_dst_28__cxxabiv1____dynamic_cast_info__2c_20void_20const__2c_20void_20const__2c_20int_2c_20bool_29_20const, __cxxabiv1____class_type_info__search_below_dst_28__cxxabiv1____dynamic_cast_info__2c_20void_20const__2c_20int_2c_20bool_29_20const, __cxxabiv1____class_type_info__has_unambiguous_public_base_28__cxxabiv1____dynamic_cast_info__2c_20void__2c_20int_29_20const, __cxxabiv1____si_class_type_info_____si_class_type_info_28_29, __cxxabiv1____si_class_type_info__search_above_dst_28__cxxabiv1____dynamic_cast_info__2c_20void_20const__2c_20void_20const__2c_20int_2c_20bool_29_20const, __cxxabiv1____si_class_type_info__search_below_dst_28__cxxabiv1____dynamic_cast_info__2c_20void_20const__2c_20int_2c_20bool_29_20const, __cxxabiv1____si_class_type_info__has_unambiguous_public_base_28__cxxabiv1____dynamic_cast_info__2c_20void__2c_20int_29_20const, __cxxabiv1____vmi_class_type_info_____vmi_class_type_info_28_29, __cxxabiv1____vmi_class_type_info__search_above_dst_28__cxxabiv1____dynamic_cast_info__2c_20void_20const__2c_20void_20const__2c_20int_2c_20bool_29_20const, __cxxabiv1____vmi_class_type_info__search_below_dst_28__cxxabiv1____dynamic_cast_info__2c_20void_20const__2c_20int_2c_20bool_29_20const, __cxxabiv1____vmi_class_type_info__has_unambiguous_public_base_28__cxxabiv1____dynamic_cast_info__2c_20void__2c_20int_29_20const, __cxxabiv1____pointer_type_info_____pointer_type_info_28_29, __cxxabiv1____pointer_type_info__can_catch_28__cxxabiv1____shim_type_info_20const__2c_20void___29_20const]); + function __wasm_memory_size() { + return buffer.byteLength / 65536 | 0; + } + + function __wasm_memory_grow(pagesToAdd) { + pagesToAdd = pagesToAdd | 0; + var oldPages = __wasm_memory_size() | 0; + var newPages = oldPages + pagesToAdd | 0; + if ((oldPages < newPages) && (newPages < 65536)) { + var newBuffer = new ArrayBuffer(Math_imul(newPages, 65536)); + var newHEAP8 = new Int8Array(newBuffer); + newHEAP8.set(HEAP8); + HEAP8 = new Int8Array(newBuffer); + HEAP16 = new Int16Array(newBuffer); + HEAP32 = new Int32Array(newBuffer); + HEAPU8 = new Uint8Array(newBuffer); + HEAPU16 = new Uint16Array(newBuffer); + HEAPU32 = new Uint32Array(newBuffer); + HEAPF32 = new Float32Array(newBuffer); + HEAPF64 = new Float64Array(newBuffer); + buffer = newBuffer; + memory.buffer = buffer; + bufferView = HEAPU8; + } + return oldPages; + } + + return { + "__wasm_call_ctors": __wasm_call_ctors, + "malloc": dlmalloc, + "free": dlfree, + "__indirect_function_table": FUNCTION_TABLE, + "__getTypeName": __getTypeName, + "_embind_initialize_bindings": _embind_initialize_bindings, + "__errno_location": __errno_location, + "fflush": fflush, + "emscripten_stack_init": emscripten_stack_init, + "emscripten_stack_get_free": emscripten_stack_get_free, + "emscripten_stack_get_base": emscripten_stack_get_base, + "emscripten_stack_get_end": emscripten_stack_get_end, + "stackSave": stackSave, + "stackRestore": stackRestore, + "stackAlloc": stackAlloc, + "emscripten_stack_get_current": emscripten_stack_get_current, + "dynCall_jiji": legalstub$dynCall_jiji + }; +} + + return asmFunc(info); +} + +)(info); + }, + + instantiate: /** @suppress{checkTypes} */ function(binary, info) { + return { + then: function(ok) { + var module = new WebAssembly.Module(binary); + ok({ + 'instance': new WebAssembly.Instance(module, info) + }); + // Emulate a simple WebAssembly.instantiate(..).then(()=>{}).catch(()=>{}) syntax. + return { catch: function() {} }; + } + }; + }, + + RuntimeError: Error +}; + +// We don't need to actually download a wasm binary, mark it as present but empty. +wasmBinary = []; + +// end include: wasm2js.js +if (typeof WebAssembly != 'object') { + abort('no native wasm support detected'); +} + +// Wasm globals + +var wasmMemory; + +//======================================== +// Runtime essentials +//======================================== + +// whether we are quitting the application. no code should run after this. +// set in exit() and abort() +var ABORT = false; + +// set by exit() and abort(). Passed to 'onExit' handler. +// NOTE: This is also used as the process return code code in shell environments +// but only when noExitRuntime is false. +var EXITSTATUS; + +/** @type {function(*, string=)} */ +function assert(condition, text) { + if (!condition) { + abort('Assertion failed' + (text ? ': ' + text : '')); + } +} + +// We used to include malloc/free by default in the past. Show a helpful error in +// builds with assertions. + +// Memory management + +var HEAP, +/** @type {!Int8Array} */ + HEAP8, +/** @type {!Uint8Array} */ + HEAPU8, +/** @type {!Int16Array} */ + HEAP16, +/** @type {!Uint16Array} */ + HEAPU16, +/** @type {!Int32Array} */ + HEAP32, +/** @type {!Uint32Array} */ + HEAPU32, +/** @type {!Float32Array} */ + HEAPF32, +/** @type {!Float64Array} */ + HEAPF64; + +function updateMemoryViews() { + var b = wasmMemory.buffer; + Module['HEAP8'] = HEAP8 = new Int8Array(b); + Module['HEAP16'] = HEAP16 = new Int16Array(b); + Module['HEAP32'] = HEAP32 = new Int32Array(b); + Module['HEAPU8'] = HEAPU8 = new Uint8Array(b); + Module['HEAPU16'] = HEAPU16 = new Uint16Array(b); + Module['HEAPU32'] = HEAPU32 = new Uint32Array(b); + Module['HEAPF32'] = HEAPF32 = new Float32Array(b); + Module['HEAPF64'] = HEAPF64 = new Float64Array(b); +} + +assert(!Module['STACK_SIZE'], 'STACK_SIZE can no longer be set at runtime. Use -sSTACK_SIZE at link time') + +assert(typeof Int32Array != 'undefined' && typeof Float64Array !== 'undefined' && Int32Array.prototype.subarray != undefined && Int32Array.prototype.set != undefined, + 'JS engine does not provide full typed array support'); + +// In non-standalone/normal mode, we create the memory here. +// include: runtime_init_memory.js +// Create the wasm memory. (Note: this only applies if IMPORTED_MEMORY is defined) + +var INITIAL_MEMORY = Module['INITIAL_MEMORY'] || 16777216;legacyModuleProp('INITIAL_MEMORY', 'INITIAL_MEMORY'); + +assert(INITIAL_MEMORY >= 65536, 'INITIAL_MEMORY should be larger than STACK_SIZE, was ' + INITIAL_MEMORY + '! (STACK_SIZE=' + 65536 + ')'); + +// check for full engine support (use string 'subarray' to avoid closure compiler confusion) + + if (Module['wasmMemory']) { + wasmMemory = Module['wasmMemory']; + } else + { + wasmMemory = new WebAssembly.Memory({ + 'initial': INITIAL_MEMORY / 65536, + // In theory we should not need to emit the maximum if we want "unlimited" + // or 4GB of memory, but VMs error on that atm, see + // https://github.com/emscripten-core/emscripten/issues/14130 + // And in the pthreads case we definitely need to emit a maximum. So + // always emit one. + 'maximum': 2147483648 / 65536 + }); + } + +updateMemoryViews(); + +// If the user provides an incorrect length, just use that length instead rather than providing the user to +// specifically provide the memory length with Module['INITIAL_MEMORY']. +INITIAL_MEMORY = wasmMemory.buffer.byteLength; +assert(INITIAL_MEMORY % 65536 === 0); + +// end include: runtime_init_memory.js + +// include: runtime_init_table.js +// In regular non-RELOCATABLE mode the table is exported +// from the wasm module and this will be assigned once +// the exports are available. +var wasmTable; + +// end include: runtime_init_table.js +// include: runtime_stack_check.js +// Initializes the stack cookie. Called at the startup of main and at the startup of each thread in pthreads mode. +function writeStackCookie() { + var max = _emscripten_stack_get_end(); + assert((max & 3) == 0); + // If the stack ends at address zero we write our cookies 4 bytes into the + // stack. This prevents interference with SAFE_HEAP and ASAN which also + // monitor writes to address zero. + if (max == 0) { + max += 4; + } + // The stack grow downwards towards _emscripten_stack_get_end. + // We write cookies to the final two words in the stack and detect if they are + // ever overwritten. + HEAPU32[((max)>>2)] = 0x02135467; + HEAPU32[(((max)+(4))>>2)] = 0x89BACDFE; + // Also test the global address 0 for integrity. + HEAPU32[((0)>>2)] = 1668509029; +} + +function checkStackCookie() { + if (ABORT) return; + var max = _emscripten_stack_get_end(); + // See writeStackCookie(). + if (max == 0) { + max += 4; + } + var cookie1 = HEAPU32[((max)>>2)]; + var cookie2 = HEAPU32[(((max)+(4))>>2)]; + if (cookie1 != 0x02135467 || cookie2 != 0x89BACDFE) { + abort(`Stack overflow! Stack cookie has been overwritten at ${ptrToString(max)}, expected hex dwords 0x89BACDFE and 0x2135467, but received ${ptrToString(cookie2)} ${ptrToString(cookie1)}`); + } + // Also test the global address 0 for integrity. + if (HEAPU32[((0)>>2)] != 0x63736d65 /* 'emsc' */) { + abort('Runtime error: The application has corrupted its heap memory area (address zero)!'); + } +} + +// end include: runtime_stack_check.js +// include: runtime_assertions.js +// Endianness check +(function() { + var h16 = new Int16Array(1); + var h8 = new Int8Array(h16.buffer); + h16[0] = 0x6373; + if (h8[0] !== 0x73 || h8[1] !== 0x63) throw 'Runtime error: expected the system to be little-endian! (Run with -sSUPPORT_BIG_ENDIAN to bypass)'; +})(); + +// end include: runtime_assertions.js +var __ATPRERUN__ = []; // functions called before the runtime is initialized +var __ATINIT__ = []; // functions called during startup +var __ATEXIT__ = []; // functions called during shutdown +var __ATPOSTRUN__ = []; // functions called after the main() is called + +var runtimeInitialized = false; + +var runtimeKeepaliveCounter = 0; + +function keepRuntimeAlive() { + return noExitRuntime || runtimeKeepaliveCounter > 0; +} + +function preRun() { + if (Module['preRun']) { + if (typeof Module['preRun'] == 'function') Module['preRun'] = [Module['preRun']]; + while (Module['preRun'].length) { + addOnPreRun(Module['preRun'].shift()); + } + } + callRuntimeCallbacks(__ATPRERUN__); +} + +function initRuntime() { + assert(!runtimeInitialized); + runtimeInitialized = true; + + checkStackCookie(); + + + callRuntimeCallbacks(__ATINIT__); +} + +function postRun() { + checkStackCookie(); + + if (Module['postRun']) { + if (typeof Module['postRun'] == 'function') Module['postRun'] = [Module['postRun']]; + while (Module['postRun'].length) { + addOnPostRun(Module['postRun'].shift()); + } + } + + callRuntimeCallbacks(__ATPOSTRUN__); +} + +function addOnPreRun(cb) { + __ATPRERUN__.unshift(cb); +} + +function addOnInit(cb) { + __ATINIT__.unshift(cb); +} + +function addOnExit(cb) { +} + +function addOnPostRun(cb) { + __ATPOSTRUN__.unshift(cb); +} + +// include: runtime_math.js +// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/imul + +// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/fround + +// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/clz32 + +// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/trunc + +assert(Math.imul, 'This browser does not support Math.imul(), build with LEGACY_VM_SUPPORT or POLYFILL_OLD_MATH_FUNCTIONS to add in a polyfill'); +assert(Math.fround, 'This browser does not support Math.fround(), build with LEGACY_VM_SUPPORT or POLYFILL_OLD_MATH_FUNCTIONS to add in a polyfill'); +assert(Math.clz32, 'This browser does not support Math.clz32(), build with LEGACY_VM_SUPPORT or POLYFILL_OLD_MATH_FUNCTIONS to add in a polyfill'); +assert(Math.trunc, 'This browser does not support Math.trunc(), build with LEGACY_VM_SUPPORT or POLYFILL_OLD_MATH_FUNCTIONS to add in a polyfill'); + +// end include: runtime_math.js +// A counter of dependencies for calling run(). If we need to +// do asynchronous work before running, increment this and +// decrement it. Incrementing must happen in a place like +// Module.preRun (used by emcc to add file preloading). +// Note that you can add dependencies in preRun, even though +// it happens right before run - run will be postponed until +// the dependencies are met. +var runDependencies = 0; +var runDependencyWatcher = null; +var dependenciesFulfilled = null; // overridden to take different actions when all run dependencies are fulfilled +var runDependencyTracking = {}; + +function getUniqueRunDependency(id) { + var orig = id; + while (1) { + if (!runDependencyTracking[id]) return id; + id = orig + Math.random(); + } +} + +function addRunDependency(id) { + runDependencies++; + + if (Module['monitorRunDependencies']) { + Module['monitorRunDependencies'](runDependencies); + } + + if (id) { + assert(!runDependencyTracking[id]); + runDependencyTracking[id] = 1; + if (runDependencyWatcher === null && typeof setInterval != 'undefined') { + // Check for missing dependencies every few seconds + runDependencyWatcher = setInterval(() => { + if (ABORT) { + clearInterval(runDependencyWatcher); + runDependencyWatcher = null; + return; + } + var shown = false; + for (var dep in runDependencyTracking) { + if (!shown) { + shown = true; + err('still waiting on run dependencies:'); + } + err('dependency: ' + dep); + } + if (shown) { + err('(end of list)'); + } + }, 10000); + } + } else { + err('warning: run dependency added without ID'); + } +} + +function removeRunDependency(id) { + runDependencies--; + + if (Module['monitorRunDependencies']) { + Module['monitorRunDependencies'](runDependencies); + } + + if (id) { + assert(runDependencyTracking[id]); + delete runDependencyTracking[id]; + } else { + err('warning: run dependency removed without ID'); + } + if (runDependencies == 0) { + if (runDependencyWatcher !== null) { + clearInterval(runDependencyWatcher); + runDependencyWatcher = null; + } + if (dependenciesFulfilled) { + var callback = dependenciesFulfilled; + dependenciesFulfilled = null; + callback(); // can add another dependenciesFulfilled + } + } +} + +/** @param {string|number=} what */ +function abort(what) { + if (Module['onAbort']) { + Module['onAbort'](what); + } + + what = 'Aborted(' + what + ')'; + // TODO(sbc): Should we remove printing and leave it up to whoever + // catches the exception? + err(what); + + ABORT = true; + EXITSTATUS = 1; + + // Use a wasm runtime error, because a JS error might be seen as a foreign + // exception, which means we'd run destructors on it. We need the error to + // simply make the program stop. + // FIXME This approach does not work in Wasm EH because it currently does not assume + // all RuntimeErrors are from traps; it decides whether a RuntimeError is from + // a trap or not based on a hidden field within the object. So at the moment + // we don't have a way of throwing a wasm trap from JS. TODO Make a JS API that + // allows this in the wasm spec. + + // Suppress closure compiler warning here. Closure compiler's builtin extern + // defintion for WebAssembly.RuntimeError claims it takes no arguments even + // though it can. + // TODO(https://github.com/google/closure-compiler/pull/3913): Remove if/when upstream closure gets fixed. + /** @suppress {checkTypes} */ + var e = new WebAssembly.RuntimeError(what); + + readyPromiseReject(e); + // Throw the error whether or not MODULARIZE is set because abort is used + // in code paths apart from instantiation where an exception is expected + // to be thrown when abort is called. + throw e; +} + +// include: memoryprofiler.js +// end include: memoryprofiler.js +// show errors on likely calls to FS when it was not included +var FS = { + error: function() { + abort('Filesystem support (FS) was not included. The problem is that you are using files from JS, but files were not used from C/C++, so filesystem support was not auto-included. You can force-include filesystem support with -sFORCE_FILESYSTEM'); + }, + init: function() { FS.error() }, + createDataFile: function() { FS.error() }, + createPreloadedFile: function() { FS.error() }, + createLazyFile: function() { FS.error() }, + open: function() { FS.error() }, + mkdev: function() { FS.error() }, + registerDevice: function() { FS.error() }, + analyzePath: function() { FS.error() }, + + ErrnoError: function ErrnoError() { FS.error() }, +}; +Module['FS_createDataFile'] = FS.createDataFile; +Module['FS_createPreloadedFile'] = FS.createPreloadedFile; + +// include: URIUtils.js +// Prefix of data URIs emitted by SINGLE_FILE and related options. +var dataURIPrefix = 'data:application/octet-stream;base64,'; + +// Indicates whether filename is a base64 data URI. +function isDataURI(filename) { + // Prefix of data URIs emitted by SINGLE_FILE and related options. + return filename.startsWith(dataURIPrefix); +} + +// Indicates whether filename is delivered via file protocol (as opposed to http/https) +function isFileURI(filename) { + return filename.startsWith('file://'); +} + +// end include: URIUtils.js +/** @param {boolean=} fixedasm */ +function createExportWrapper(name, fixedasm) { + return function() { + var displayName = name; + var asm = fixedasm; + if (!fixedasm) { + asm = Module['asm']; + } + assert(runtimeInitialized, 'native function `' + displayName + '` called before runtime initialization'); + if (!asm[name]) { + assert(asm[name], 'exported native function `' + displayName + '` not found'); + } + return asm[name].apply(null, arguments); + }; +} + +// include: runtime_exceptions.js +// end include: runtime_exceptions.js +var wasmBinaryFile; + wasmBinaryFile = '<<< WASM_BINARY_FILE >>>'; + if (!isDataURI(wasmBinaryFile)) { + wasmBinaryFile = locateFile(wasmBinaryFile); + } + +function getBinary(file) { + try { + if (file == wasmBinaryFile && wasmBinary) { + return new Uint8Array(wasmBinary); + } + var binary = tryParseAsDataURI(file); + if (binary) { + return binary; + } + if (readBinary) { + return readBinary(file); + } + throw "both async and sync fetching of the wasm failed"; + } + catch (err) { + abort(err); + } +} + +function getBinaryPromise(binaryFile) { + // If we don't have the binary yet, try to load it asynchronously. + // Fetch has some additional restrictions over XHR, like it can't be used on a file:// url. + // See https://github.com/github/fetch/pull/92#issuecomment-140665932 + // Cordova or Electron apps are typically loaded from a file:// url. + // So use fetch if it is available and the url is not a file, otherwise fall back to XHR. + if (!wasmBinary && (ENVIRONMENT_IS_WEB || ENVIRONMENT_IS_WORKER)) { + if (typeof fetch == 'function' + ) { + return fetch(binaryFile, { credentials: 'same-origin' }).then((response) => { + if (!response['ok']) { + throw "failed to load wasm binary file at '" + binaryFile + "'"; + } + return response['arrayBuffer'](); + }).catch(() => getBinary(binaryFile)); + } + } + + // Otherwise, getBinary should be able to get it synchronously + return Promise.resolve().then(() => getBinary(binaryFile)); +} + +function instantiateArrayBuffer(binaryFile, imports, receiver) { + return getBinaryPromise(binaryFile).then((binary) => { + return WebAssembly.instantiate(binary, imports); + }).then((instance) => { + return instance; + }).then(receiver, (reason) => { + err('failed to asynchronously prepare wasm: ' + reason); + + // Warn on some common problems. + if (isFileURI(wasmBinaryFile)) { + err('warning: Loading from a file URI (' + wasmBinaryFile + ') is not supported in most browsers. See https://emscripten.org/docs/getting_started/FAQ.html#how-do-i-run-a-local-webserver-for-testing-why-does-my-program-stall-in-downloading-or-preparing'); + } + abort(reason); + }); +} + +function instantiateAsync(binary, binaryFile, imports, callback) { + if (!binary && + typeof WebAssembly.instantiateStreaming == 'function' && + !isDataURI(binaryFile) && + typeof fetch == 'function') { + return fetch(binaryFile, { credentials: 'same-origin' }).then((response) => { + // Suppress closure warning here since the upstream definition for + // instantiateStreaming only allows Promise rather than + // an actual Response. + // TODO(https://github.com/google/closure-compiler/pull/3913): Remove if/when upstream closure is fixed. + /** @suppress {checkTypes} */ + var result = WebAssembly.instantiateStreaming(response, imports); + + return result.then( + callback, + function(reason) { + // We expect the most common failure cause to be a bad MIME type for the binary, + // in which case falling back to ArrayBuffer instantiation should work. + err('wasm streaming compile failed: ' + reason); + err('falling back to ArrayBuffer instantiation'); + return instantiateArrayBuffer(binaryFile, imports, callback); + }); + }); + } else { + return instantiateArrayBuffer(binaryFile, imports, callback); + } +} + +// Create the wasm instance. +// Receives the wasm imports, returns the exports. +function createWasm() { + // prepare imports + var info = { + 'env': wasmImports, + 'wasi_snapshot_preview1': wasmImports, + }; + // Load the wasm module and create an instance of using native support in the JS engine. + // handle a generated wasm instance, receiving its exports and + // performing other necessary setup + /** @param {WebAssembly.Module=} module*/ + function receiveInstance(instance, module) { + var exports = instance.exports; + + Module['asm'] = exports; + + wasmTable = Module['asm']['__indirect_function_table']; + assert(wasmTable, "table not found in wasm exports"); + + addOnInit(Module['asm']['__wasm_call_ctors']); + + removeRunDependency('wasm-instantiate'); + return exports; + } + // wait for the pthread pool (if any) + addRunDependency('wasm-instantiate'); + + // Prefer streaming instantiation if available. + // Async compilation can be confusing when an error on the page overwrites Module + // (for example, if the order of elements is wrong, and the one defining Module is + // later), so we save Module and check it later. + var trueModule = Module; + function receiveInstantiationResult(result) { + // 'result' is a ResultObject object which has both the module and instance. + // receiveInstance() will swap in the exports (to Module.asm) so they can be called + assert(Module === trueModule, 'the Module object should not be replaced during async compilation - perhaps the order of HTML elements is wrong?'); + trueModule = null; + // TODO: Due to Closure regression https://github.com/google/closure-compiler/issues/3193, the above line no longer optimizes out down to the following line. + // When the regression is fixed, can restore the above PTHREADS-enabled path. + receiveInstance(result['instance']); + } + + // User shell pages can write their own Module.instantiateWasm = function(imports, successCallback) callback + // to manually instantiate the Wasm module themselves. This allows pages to + // run the instantiation parallel to any other async startup actions they are + // performing. + // Also pthreads and wasm workers initialize the wasm instance through this + // path. + if (Module['instantiateWasm']) { + + try { + return Module['instantiateWasm'](info, receiveInstance); + } catch(e) { + err('Module.instantiateWasm callback failed with error: ' + e); + // If instantiation fails, reject the module ready promise. + readyPromiseReject(e); + } + } + + // If instantiation fails, reject the module ready promise. + instantiateAsync(wasmBinary, wasmBinaryFile, info, receiveInstantiationResult).catch(readyPromiseReject); + return {}; // no exports yet; we'll fill them in later +} + +// Globals used by JS i64 conversions (see makeSetValue) +var tempDouble; +var tempI64; + +// include: runtime_debug.js +function legacyModuleProp(prop, newName) { + if (!Object.getOwnPropertyDescriptor(Module, prop)) { + Object.defineProperty(Module, prop, { + configurable: true, + get: function() { + abort('Module.' + prop + ' has been replaced with plain ' + newName + ' (the initial value can be provided on Module, but after startup the value is only looked for on a local variable of that name)'); + } + }); + } +} + +function ignoredModuleProp(prop) { + if (Object.getOwnPropertyDescriptor(Module, prop)) { + abort('`Module.' + prop + '` was supplied but `' + prop + '` not included in INCOMING_MODULE_JS_API'); + } +} + +// forcing the filesystem exports a few things by default +function isExportedByForceFilesystem(name) { + return name === 'FS_createPath' || + name === 'FS_createDataFile' || + name === 'FS_createPreloadedFile' || + name === 'FS_unlink' || + name === 'addRunDependency' || + // The old FS has some functionality that WasmFS lacks. + name === 'FS_createLazyFile' || + name === 'FS_createDevice' || + name === 'removeRunDependency'; +} + +function missingGlobal(sym, msg) { + if (typeof globalThis !== 'undefined') { + Object.defineProperty(globalThis, sym, { + configurable: true, + get: function() { + warnOnce('`' + sym + '` is not longer defined by emscripten. ' + msg); + return undefined; + } + }); + } +} + +missingGlobal('buffer', 'Please use HEAP8.buffer or wasmMemory.buffer'); + +function missingLibrarySymbol(sym) { + if (typeof globalThis !== 'undefined' && !Object.getOwnPropertyDescriptor(globalThis, sym)) { + Object.defineProperty(globalThis, sym, { + configurable: true, + get: function() { + // Can't `abort()` here because it would break code that does runtime + // checks. e.g. `if (typeof SDL === 'undefined')`. + var msg = '`' + sym + '` is a library symbol and not included by default; add it to your library.js __deps or to DEFAULT_LIBRARY_FUNCS_TO_INCLUDE on the command line'; + // DEFAULT_LIBRARY_FUNCS_TO_INCLUDE requires the name as it appears in + // library.js, which means $name for a JS name with no prefix, or name + // for a JS name like _name. + var librarySymbol = sym; + if (!librarySymbol.startsWith('_')) { + librarySymbol = '$' + sym; + } + msg += " (e.g. -sDEFAULT_LIBRARY_FUNCS_TO_INCLUDE=" + librarySymbol + ")"; + if (isExportedByForceFilesystem(sym)) { + msg += '. Alternatively, forcing filesystem support (-sFORCE_FILESYSTEM) can export this for you'; + } + warnOnce(msg); + return undefined; + } + }); + } + // Any symbol that is not included from the JS libary is also (by definition) + // not exported on the Module object. + unexportedRuntimeSymbol(sym); +} + +function unexportedRuntimeSymbol(sym) { + if (!Object.getOwnPropertyDescriptor(Module, sym)) { + Object.defineProperty(Module, sym, { + configurable: true, + get: function() { + var msg = "'" + sym + "' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)"; + if (isExportedByForceFilesystem(sym)) { + msg += '. Alternatively, forcing filesystem support (-sFORCE_FILESYSTEM) can export this for you'; + } + abort(msg); + } + }); + } +} + +// Used by XXXXX_DEBUG settings to output debug messages. +function dbg(text) { + // TODO(sbc): Make this configurable somehow. Its not always convenient for + // logging to show up as warnings. + console.warn.apply(console, arguments); +} + +// end include: runtime_debug.js +// === Body === + + +// end include: preamble.js + + /** @constructor */ + function ExitStatus(status) { + this.name = 'ExitStatus'; + this.message = `Program terminated with exit(${status})`; + this.status = status; + } + + function callRuntimeCallbacks(callbacks) { + while (callbacks.length > 0) { + // Pass the module as the first argument. + callbacks.shift()(Module); + } + } + + + /** + * @param {number} ptr + * @param {string} type + */ + function getValue(ptr, type = 'i8') { + if (type.endsWith('*')) type = '*'; + 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': abort('to do getValue(i64) use WASM_BIGINT'); + case 'float': return HEAPF32[((ptr)>>2)]; + case 'double': return HEAPF64[((ptr)>>3)]; + case '*': return HEAPU32[((ptr)>>2)]; + default: abort(`invalid type for getValue: ${type}`); + } + } + + function intArrayToString(array) { + var ret = []; + for (var i = 0; i < array.length; i++) { + var chr = array[i]; + if (chr > 0xFF) { + assert(false, `Character code ${chr} (${String.fromCharCode(chr)}) at offset ${i} not in 0x00-0xFF.`); + chr &= 0xFF; + } + ret.push(String.fromCharCode(chr)); + } + return ret.join(''); + } + + function ptrToString(ptr) { + assert(typeof ptr === 'number'); + return '0x' + ptr.toString(16).padStart(8, '0'); + } + + + /** + * @param {number} ptr + * @param {number} value + * @param {string} type + */ + function setValue(ptr, value, type = 'i8') { + if (type.endsWith('*')) type = '*'; + switch (type) { + case 'i1': HEAP8[((ptr)>>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': abort('to do setValue(i64) use WASM_BIGINT'); + case 'float': HEAPF32[((ptr)>>2)] = value; break; + case 'double': HEAPF64[((ptr)>>3)] = value; break; + case '*': HEAPU32[((ptr)>>2)] = value; break; + default: abort(`invalid type for setValue: ${type}`); + } + } + + function warnOnce(text) { + if (!warnOnce.shown) warnOnce.shown = {}; + if (!warnOnce.shown[text]) { + warnOnce.shown[text] = 1; + err(text); + } + } + + var UTF8Decoder = typeof TextDecoder != 'undefined' ? new TextDecoder('utf8') : undefined; + + /** + * Given a pointer 'idx' to a null-terminated UTF8-encoded string in the given + * array that contains uint8 values, returns a copy of that string as a + * Javascript String object. + * heapOrArray is either a regular array, or a JavaScript typed array view. + * @param {number} idx + * @param {number=} maxBytesToRead + * @return {string} + */ + function UTF8ArrayToString(heapOrArray, idx, maxBytesToRead) { + var endIdx = idx + maxBytesToRead; + var endPtr = idx; + // TextDecoder needs to know the byte length in advance, it doesn't stop on + // null terminator by itself. Also, use the length info to avoid running tiny + // strings through TextDecoder, since .subarray() allocates garbage. + // (As a tiny code save trick, compare endPtr against endIdx using a negation, + // so that undefined means Infinity) + while (heapOrArray[endPtr] && !(endPtr >= endIdx)) ++endPtr; + + if (endPtr - idx > 16 && heapOrArray.buffer && UTF8Decoder) { + return UTF8Decoder.decode(heapOrArray.subarray(idx, endPtr)); + } + var str = ''; + // If building with TextDecoder, we have already computed the string length + // above, so test loop end condition against that + while (idx < endPtr) { + // For UTF8 byte structure, see: + // http://en.wikipedia.org/wiki/UTF-8#Description + // https://www.ietf.org/rfc/rfc2279.txt + // https://tools.ietf.org/html/rfc3629 + var u0 = heapOrArray[idx++]; + if (!(u0 & 0x80)) { str += String.fromCharCode(u0); continue; } + var u1 = heapOrArray[idx++] & 63; + if ((u0 & 0xE0) == 0xC0) { str += String.fromCharCode(((u0 & 31) << 6) | u1); continue; } + var u2 = heapOrArray[idx++] & 63; + if ((u0 & 0xF0) == 0xE0) { + u0 = ((u0 & 15) << 12) | (u1 << 6) | u2; + } else { + if ((u0 & 0xF8) != 0xF0) warnOnce('Invalid UTF-8 leading byte ' + ptrToString(u0) + ' encountered when deserializing a UTF-8 string in wasm memory to a JS string!'); + u0 = ((u0 & 7) << 18) | (u1 << 12) | (u2 << 6) | (heapOrArray[idx++] & 63); + } + + if (u0 < 0x10000) { + str += String.fromCharCode(u0); + } else { + var ch = u0 - 0x10000; + str += String.fromCharCode(0xD800 | (ch >> 10), 0xDC00 | (ch & 0x3FF)); + } + } + return str; + } + + + /** + * Given a pointer 'ptr' to a null-terminated UTF8-encoded string in the + * emscripten HEAP, returns a copy of that string as a Javascript String object. + * + * @param {number} ptr + * @param {number=} maxBytesToRead - An optional length that specifies the + * maximum number of bytes to read. You can omit this parameter to scan the + * string until the first 0 byte. If maxBytesToRead is passed, and the string + * at [ptr, ptr+maxBytesToReadr[ contains a null byte in the middle, then the + * string will cut short at that byte index (i.e. maxBytesToRead will not + * produce a string of exact length [ptr, ptr+maxBytesToRead[) N.B. mixing + * frequent uses of UTF8ToString() with and without maxBytesToRead may throw + * JS JIT optimizations off, so it is worth to consider consistently using one + * @return {string} + */ + function UTF8ToString(ptr, maxBytesToRead) { + assert(typeof ptr == 'number'); + return ptr ? UTF8ArrayToString(HEAPU8, ptr, maxBytesToRead) : ''; + } + function ___assert_fail(condition, filename, line, func) { + abort(`Assertion failed: ${UTF8ToString(condition)}, at: ` + [filename ? UTF8ToString(filename) : 'unknown filename', line, func ? UTF8ToString(func) : 'unknown function']); + } + + var char_0 = 48; + + var char_9 = 57; + function makeLegalFunctionName(name) { + if (undefined === name) { + return '_unknown'; + } + name = name.replace(/[^a-zA-Z0-9_]/g, '$'); + var f = name.charCodeAt(0); + if (f >= char_0 && f <= char_9) { + return `_${name}`; + } + return name; + } + function createNamedFunction(name, body) { + name = makeLegalFunctionName(name); + // Use an abject with a computed property name to create a new function with + // a name specified at runtime, but without using `new Function` or `eval`. + return { + [name]: function() { + return body.apply(this, arguments); + } + }[name]; + } + + /** @constructor */ + function HandleAllocator() { + // Reserve slot 0 so that 0 is always an invalid handle + this.allocated = [undefined]; + this.freelist = []; + this.get = function(id) { + assert(this.allocated[id] !== undefined, `invalid handle: ${id}`); + return this.allocated[id]; + }; + this.has = function(id) { + return this.allocated[id] !== undefined; + }; + this.allocate = function(handle) { + var id = this.freelist.pop() || this.allocated.length; + this.allocated[id] = handle; + return id; + }; + this.free = function(id) { + assert(this.allocated[id] !== undefined); + // Set the slot to `undefined` rather than using `delete` here since + // apparently arrays with holes in them can be less efficient. + this.allocated[id] = undefined; + this.freelist.push(id); + }; + } + var emval_handles = new HandleAllocator();; + + function extendError(baseErrorType, errorName) { + var errorClass = createNamedFunction(errorName, function(message) { + this.name = errorName; + this.message = message; + + var stack = (new Error(message)).stack; + if (stack !== undefined) { + this.stack = this.toString() + '\n' + + stack.replace(/^Error(:[^\n]*)?\n/, ''); + } + }); + errorClass.prototype = Object.create(baseErrorType.prototype); + errorClass.prototype.constructor = errorClass; + errorClass.prototype.toString = function() { + if (this.message === undefined) { + return this.name; + } else { + return `${this.name}: ${this.message}`; + } + }; + + return errorClass; + } + var BindingError = undefined; + function throwBindingError(message) { + throw new BindingError(message); + } + + function count_emval_handles() { + var count = 0; + for (var i = emval_handles.reserved; i < emval_handles.allocated.length; ++i) { + if (emval_handles.allocated[i] !== undefined) { + ++count; + } + } + return count; + } + + function init_emval() { + // reserve some special values. These never get de-allocated. + // The HandleAllocator takes care of reserving zero. + emval_handles.allocated.push( + {value: undefined}, + {value: null}, + {value: true}, + {value: false}, + ); + emval_handles.reserved = emval_handles.allocated.length + Module['count_emval_handles'] = count_emval_handles; + } + var Emval = {toValue:(handle) => { + if (!handle) { + throwBindingError('Cannot use deleted val. handle = ' + handle); + } + return emval_handles.get(handle).value; + },toHandle:(value) => { + switch (value) { + case undefined: return 1; + case null: return 2; + case true: return 3; + case false: return 4; + default:{ + return emval_handles.allocate({refcount: 1, value: value}); + } + } + }}; + + var PureVirtualError = undefined; + + function embind_init_charCodes() { + var codes = new Array(256); + for (var i = 0; i < 256; ++i) { + codes[i] = String.fromCharCode(i); + } + embind_charCodes = codes; + } + var embind_charCodes = undefined; + function readLatin1String(ptr) { + var ret = ""; + var c = ptr; + while (HEAPU8[c]) { + ret += embind_charCodes[HEAPU8[c++]]; + } + return ret; + } + + function getInheritedInstanceCount() { + return Object.keys(registeredInstances).length; + } + + function getLiveInheritedInstances() { + var rv = []; + for (var k in registeredInstances) { + if (registeredInstances.hasOwnProperty(k)) { + rv.push(registeredInstances[k]); + } + } + return rv; + } + + var deletionQueue = []; + function flushPendingDeletes() { + while (deletionQueue.length) { + var obj = deletionQueue.pop(); + obj.$$.deleteScheduled = false; + obj['delete'](); + } + } + + var delayFunction = undefined; + + + function setDelayFunction(fn) { + delayFunction = fn; + if (deletionQueue.length && delayFunction) { + delayFunction(flushPendingDeletes); + } + } + function init_embind() { + Module['getInheritedInstanceCount'] = getInheritedInstanceCount; + Module['getLiveInheritedInstances'] = getLiveInheritedInstances; + Module['flushPendingDeletes'] = flushPendingDeletes; + Module['setDelayFunction'] = setDelayFunction; + } + var registeredInstances = {}; + + function getBasestPointer(class_, ptr) { + if (ptr === undefined) { + throwBindingError('ptr should not be undefined'); + } + while (class_.baseClass) { + ptr = class_.upcast(ptr); + class_ = class_.baseClass; + } + return ptr; + } + + function registerInheritedInstance(class_, ptr, instance) { + ptr = getBasestPointer(class_, ptr); + if (registeredInstances.hasOwnProperty(ptr)) { + throwBindingError(`Tried to register registered instance: ${ptr}`); + } else { + registeredInstances[ptr] = instance; + } + } + + var registeredTypes = {}; + + + + function getTypeName(type) { + var ptr = ___getTypeName(type); + var rv = readLatin1String(ptr); + _free(ptr); + return rv; + } + + function requireRegisteredType(rawType, humanName) { + var impl = registeredTypes[rawType]; + if (undefined === impl) { + throwBindingError(humanName + " has unknown type " + getTypeName(rawType)); + } + return impl; + } + + + + + function unregisterInheritedInstance(class_, ptr) { + ptr = getBasestPointer(class_, ptr); + if (registeredInstances.hasOwnProperty(ptr)) { + delete registeredInstances[ptr]; + } else { + throwBindingError(`Tried to unregister unregistered instance: ${ptr}`); + } + } + + function detachFinalizer(handle) {} + + var finalizationRegistry = false; + + + function runDestructor($$) { + if ($$.smartPtr) { + $$.smartPtrType.rawDestructor($$.smartPtr); + } else { + $$.ptrType.registeredClass.rawDestructor($$.ptr); + } + } + function releaseClassHandle($$) { + $$.count.value -= 1; + var toDelete = 0 === $$.count.value; + if (toDelete) { + runDestructor($$); + } + } + + function downcastPointer(ptr, ptrClass, desiredClass) { + if (ptrClass === desiredClass) { + return ptr; + } + if (undefined === desiredClass.baseClass) { + return null; // no conversion + } + + var rv = downcastPointer(ptr, ptrClass, desiredClass.baseClass); + if (rv === null) { + return null; + } + return desiredClass.downcast(rv); + } + + var registeredPointers = {}; + + + function getInheritedInstance(class_, ptr) { + ptr = getBasestPointer(class_, ptr); + return registeredInstances[ptr]; + } + + var InternalError = undefined; + function throwInternalError(message) { + throw new InternalError(message); + } + + function makeClassHandle(prototype, record) { + if (!record.ptrType || !record.ptr) { + throwInternalError('makeClassHandle requires ptr and ptrType'); + } + var hasSmartPtrType = !!record.smartPtrType; + var hasSmartPtr = !!record.smartPtr; + if (hasSmartPtrType !== hasSmartPtr) { + throwInternalError('Both smartPtrType and smartPtr must be specified'); + } + record.count = { value: 1 }; + return attachFinalizer(Object.create(prototype, { + $$: { + value: record, + }, + })); + } + function RegisteredPointer_fromWireType(ptr) { + // ptr is a raw pointer (or a raw smartpointer) + + // rawPointer is a maybe-null raw pointer + var rawPointer = this.getPointee(ptr); + if (!rawPointer) { + this.destructor(ptr); + return null; + } + + var registeredInstance = getInheritedInstance(this.registeredClass, rawPointer); + if (undefined !== registeredInstance) { + // JS object has been neutered, time to repopulate it + if (0 === registeredInstance.$$.count.value) { + registeredInstance.$$.ptr = rawPointer; + registeredInstance.$$.smartPtr = ptr; + return registeredInstance['clone'](); + } else { + // else, just increment reference count on existing object + // it already has a reference to the smart pointer + var rv = registeredInstance['clone'](); + this.destructor(ptr); + return rv; + } + } + + function makeDefaultHandle() { + if (this.isSmartPointer) { + return makeClassHandle(this.registeredClass.instancePrototype, { + ptrType: this.pointeeType, + ptr: rawPointer, + smartPtrType: this, + smartPtr: ptr, + }); + } else { + return makeClassHandle(this.registeredClass.instancePrototype, { + ptrType: this, + ptr: ptr, + }); + } + } + + var actualType = this.registeredClass.getActualType(rawPointer); + var registeredPointerRecord = registeredPointers[actualType]; + if (!registeredPointerRecord) { + return makeDefaultHandle.call(this); + } + + var toType; + if (this.isConst) { + toType = registeredPointerRecord.constPointerType; + } else { + toType = registeredPointerRecord.pointerType; + } + var dp = downcastPointer( + rawPointer, + this.registeredClass, + toType.registeredClass); + if (dp === null) { + return makeDefaultHandle.call(this); + } + if (this.isSmartPointer) { + return makeClassHandle(toType.registeredClass.instancePrototype, { + ptrType: toType, + ptr: dp, + smartPtrType: this, + smartPtr: ptr, + }); + } else { + return makeClassHandle(toType.registeredClass.instancePrototype, { + ptrType: toType, + ptr: dp, + }); + } + } + function attachFinalizer(handle) { + if ('undefined' === typeof FinalizationRegistry) { + attachFinalizer = (handle) => handle; + return handle; + } + // If the running environment has a FinalizationRegistry (see + // https://github.com/tc39/proposal-weakrefs), then attach finalizers + // for class handles. We check for the presence of FinalizationRegistry + // at run-time, not build-time. + finalizationRegistry = new FinalizationRegistry((info) => { + console.warn(info.leakWarning.stack.replace(/^Error: /, '')); + releaseClassHandle(info.$$); + }); + attachFinalizer = (handle) => { + var $$ = handle.$$; + var hasSmartPtr = !!$$.smartPtr; + if (hasSmartPtr) { + // We should not call the destructor on raw pointers in case other code expects the pointee to live + var info = { $$: $$ }; + // Create a warning as an Error instance in advance so that we can store + // the current stacktrace and point to it when / if a leak is detected. + // This is more useful than the empty stacktrace of `FinalizationRegistry` + // callback. + var cls = $$.ptrType.registeredClass; + info.leakWarning = new Error(`Embind found a leaked C++ instance ${cls.name} <${ptrToString($$.ptr)}>.\n` + + "We'll free it automatically in this case, but this functionality is not reliable across various environments.\n" + + "Make sure to invoke .delete() manually once you're done with the instance instead.\n" + + "Originally allocated"); // `.stack` will add "at ..." after this sentence + if ('captureStackTrace' in Error) { + Error.captureStackTrace(info.leakWarning, RegisteredPointer_fromWireType); + } + finalizationRegistry.register(handle, info, handle); + } + return handle; + }; + detachFinalizer = (handle) => finalizationRegistry.unregister(handle); + return attachFinalizer(handle); + } + function __embind_create_inheriting_constructor(constructorName, wrapperType, properties) { + constructorName = readLatin1String(constructorName); + wrapperType = requireRegisteredType(wrapperType, 'wrapper'); + properties = Emval.toValue(properties); + + var arraySlice = [].slice; + + var registeredClass = wrapperType.registeredClass; + var wrapperPrototype = registeredClass.instancePrototype; + var baseClass = registeredClass.baseClass; + var baseClassPrototype = baseClass.instancePrototype; + var baseConstructor = registeredClass.baseClass.constructor; + var ctor = createNamedFunction(constructorName, function() { + registeredClass.baseClass.pureVirtualFunctions.forEach(function(name) { + if (this[name] === baseClassPrototype[name]) { + throw new PureVirtualError(`Pure virtual function ${name} must be implemented in JavaScript`); + } + }.bind(this)); + + Object.defineProperty(this, '__parent', { + value: wrapperPrototype + }); + this["__construct"].apply(this, arraySlice.call(arguments)); + }); + + // It's a little nasty that we're modifying the wrapper prototype here. + + wrapperPrototype["__construct"] = function __construct() { + if (this === wrapperPrototype) { + throwBindingError("Pass correct 'this' to __construct"); + } + + var inner = baseConstructor["implement"].apply( + undefined, + [this].concat(arraySlice.call(arguments))); + detachFinalizer(inner); + var $$ = inner.$$; + inner["notifyOnDestruction"](); + $$.preservePointerOnDelete = true; + Object.defineProperties(this, { $$: { + value: $$ + }}); + attachFinalizer(this); + registerInheritedInstance(registeredClass, $$.ptr, this); + }; + + wrapperPrototype["__destruct"] = function __destruct() { + if (this === wrapperPrototype) { + throwBindingError("Pass correct 'this' to __destruct"); + } + + detachFinalizer(this); + unregisterInheritedInstance(registeredClass, this.$$.ptr); + }; + + ctor.prototype = Object.create(wrapperPrototype); + for (var p in properties) { + ctor.prototype[p] = properties[p]; + } + return Emval.toHandle(ctor); + } + + function __embind_register_bigint(primitiveType, name, size, minRange, maxRange) {} + + function getShiftFromSize(size) { + switch (size) { + case 1: return 0; + case 2: return 1; + case 4: return 2; + case 8: return 3; + default: + throw new TypeError(`Unknown type size: ${size}`); + } + } + + + var awaitingDependencies = {}; + + + var typeDependencies = {}; + + + + + + function whenDependentTypesAreResolved(myTypes, dependentTypes, getTypeConverters) { + myTypes.forEach(function(type) { + typeDependencies[type] = dependentTypes; + }); + + function onComplete(typeConverters) { + var myTypeConverters = getTypeConverters(typeConverters); + if (myTypeConverters.length !== myTypes.length) { + throwInternalError('Mismatched type converter count'); + } + for (var i = 0; i < myTypes.length; ++i) { + registerType(myTypes[i], myTypeConverters[i]); + } + } + + var typeConverters = new Array(dependentTypes.length); + var unregisteredTypes = []; + var registered = 0; + dependentTypes.forEach((dt, i) => { + if (registeredTypes.hasOwnProperty(dt)) { + typeConverters[i] = registeredTypes[dt]; + } else { + unregisteredTypes.push(dt); + if (!awaitingDependencies.hasOwnProperty(dt)) { + awaitingDependencies[dt] = []; + } + awaitingDependencies[dt].push(() => { + typeConverters[i] = registeredTypes[dt]; + ++registered; + if (registered === unregisteredTypes.length) { + onComplete(typeConverters); + } + }); + } + }); + if (0 === unregisteredTypes.length) { + onComplete(typeConverters); + } + } + /** @param {Object=} options */ + function registerType(rawType, registeredInstance, options = {}) { + if (!('argPackAdvance' in registeredInstance)) { + throw new TypeError('registerType registeredInstance requires argPackAdvance'); + } + + var name = registeredInstance.name; + if (!rawType) { + throwBindingError(`type "${name}" must have a positive integer typeid pointer`); + } + if (registeredTypes.hasOwnProperty(rawType)) { + if (options.ignoreDuplicateRegistrations) { + return; + } else { + throwBindingError(`Cannot register type '${name}' twice`); + } + } + + registeredTypes[rawType] = registeredInstance; + delete typeDependencies[rawType]; + + if (awaitingDependencies.hasOwnProperty(rawType)) { + var callbacks = awaitingDependencies[rawType]; + delete awaitingDependencies[rawType]; + callbacks.forEach((cb) => cb()); + } + } + function __embind_register_bool(rawType, name, size, trueValue, falseValue) { + var shift = getShiftFromSize(size); + + name = readLatin1String(name); + registerType(rawType, { + name: name, + 'fromWireType': function(wt) { + // ambiguous emscripten ABI: sometimes return values are + // true or false, and sometimes integers (0 or 1) + return !!wt; + }, + 'toWireType': function(destructors, o) { + return o ? trueValue : falseValue; + }, + 'argPackAdvance': 8, + 'readValueFromPointer': function(pointer) { + // TODO: if heap is fixed (like in asm.js) this could be executed outside + var heap; + if (size === 1) { + heap = HEAP8; + } else if (size === 2) { + heap = HEAP16; + } else if (size === 4) { + heap = HEAP32; + } else { + throw new TypeError("Unknown boolean type size: " + name); + } + return this['fromWireType'](heap[pointer >> shift]); + }, + destructorFunction: null, // This type does not need a destructor + }); + } + + + function ClassHandle_isAliasOf(other) { + if (!(this instanceof ClassHandle)) { + return false; + } + if (!(other instanceof ClassHandle)) { + return false; + } + + var leftClass = this.$$.ptrType.registeredClass; + var left = this.$$.ptr; + var rightClass = other.$$.ptrType.registeredClass; + var right = other.$$.ptr; + + while (leftClass.baseClass) { + left = leftClass.upcast(left); + leftClass = leftClass.baseClass; + } + + while (rightClass.baseClass) { + right = rightClass.upcast(right); + rightClass = rightClass.baseClass; + } + + return leftClass === rightClass && left === right; + } + + function shallowCopyInternalPointer(o) { + return { + count: o.count, + deleteScheduled: o.deleteScheduled, + preservePointerOnDelete: o.preservePointerOnDelete, + ptr: o.ptr, + ptrType: o.ptrType, + smartPtr: o.smartPtr, + smartPtrType: o.smartPtrType, + }; + } + + function throwInstanceAlreadyDeleted(obj) { + function getInstanceTypeName(handle) { + return handle.$$.ptrType.registeredClass.name; + } + throwBindingError(getInstanceTypeName(obj) + ' instance already deleted'); + } + + function ClassHandle_clone() { + if (!this.$$.ptr) { + throwInstanceAlreadyDeleted(this); + } + + if (this.$$.preservePointerOnDelete) { + this.$$.count.value += 1; + return this; + } else { + var clone = attachFinalizer(Object.create(Object.getPrototypeOf(this), { + $$: { + value: shallowCopyInternalPointer(this.$$), + } + })); + + clone.$$.count.value += 1; + clone.$$.deleteScheduled = false; + return clone; + } + } + + + + + function ClassHandle_delete() { + if (!this.$$.ptr) { + throwInstanceAlreadyDeleted(this); + } + + if (this.$$.deleteScheduled && !this.$$.preservePointerOnDelete) { + throwBindingError('Object already scheduled for deletion'); + } + + detachFinalizer(this); + releaseClassHandle(this.$$); + + if (!this.$$.preservePointerOnDelete) { + this.$$.smartPtr = undefined; + this.$$.ptr = undefined; + } + } + + function ClassHandle_isDeleted() { + return !this.$$.ptr; + } + + + + function ClassHandle_deleteLater() { + if (!this.$$.ptr) { + throwInstanceAlreadyDeleted(this); + } + if (this.$$.deleteScheduled && !this.$$.preservePointerOnDelete) { + throwBindingError('Object already scheduled for deletion'); + } + deletionQueue.push(this); + if (deletionQueue.length === 1 && delayFunction) { + delayFunction(flushPendingDeletes); + } + this.$$.deleteScheduled = true; + return this; + } + function init_ClassHandle() { + ClassHandle.prototype['isAliasOf'] = ClassHandle_isAliasOf; + ClassHandle.prototype['clone'] = ClassHandle_clone; + ClassHandle.prototype['delete'] = ClassHandle_delete; + ClassHandle.prototype['isDeleted'] = ClassHandle_isDeleted; + ClassHandle.prototype['deleteLater'] = ClassHandle_deleteLater; + } + function ClassHandle() { + } + + + + function ensureOverloadTable(proto, methodName, humanName) { + if (undefined === proto[methodName].overloadTable) { + var prevFunc = proto[methodName]; + // Inject an overload resolver function that routes to the appropriate overload based on the number of arguments. + proto[methodName] = function() { + // TODO This check can be removed in -O3 level "unsafe" optimizations. + if (!proto[methodName].overloadTable.hasOwnProperty(arguments.length)) { + throwBindingError(`Function '${humanName}' called with an invalid number of arguments (${arguments.length}) - expects one of (${proto[methodName].overloadTable})!`); + } + return proto[methodName].overloadTable[arguments.length].apply(this, arguments); + }; + // Move the previous function into the overload table. + proto[methodName].overloadTable = []; + proto[methodName].overloadTable[prevFunc.argCount] = prevFunc; + } + } + + /** @param {number=} numArguments */ + function exposePublicSymbol(name, value, numArguments) { + if (Module.hasOwnProperty(name)) { + if (undefined === numArguments || (undefined !== Module[name].overloadTable && undefined !== Module[name].overloadTable[numArguments])) { + throwBindingError(`Cannot register public name '${name}' twice`); + } + + // We are exposing a function with the same name as an existing function. Create an overload table and a function selector + // that routes between the two. + ensureOverloadTable(Module, name, name); + if (Module.hasOwnProperty(numArguments)) { + throwBindingError(`Cannot register multiple overloads of a function with the same number of arguments (${numArguments})!`); + } + // Add the new function into the overload table. + Module[name].overloadTable[numArguments] = value; + } + else { + Module[name] = value; + if (undefined !== numArguments) { + Module[name].numArguments = numArguments; + } + } + } + + + + /** @constructor */ + function RegisteredClass(name, + constructor, + instancePrototype, + rawDestructor, + baseClass, + getActualType, + upcast, + downcast) { + this.name = name; + this.constructor = constructor; + this.instancePrototype = instancePrototype; + this.rawDestructor = rawDestructor; + this.baseClass = baseClass; + this.getActualType = getActualType; + this.upcast = upcast; + this.downcast = downcast; + this.pureVirtualFunctions = []; + } + + + function upcastPointer(ptr, ptrClass, desiredClass) { + while (ptrClass !== desiredClass) { + if (!ptrClass.upcast) { + throwBindingError(`Expected null or instance of ${desiredClass.name}, got an instance of ${ptrClass.name}`); + } + ptr = ptrClass.upcast(ptr); + ptrClass = ptrClass.baseClass; + } + return ptr; + } + function constNoSmartPtrRawPointerToWireType(destructors, handle) { + if (handle === null) { + if (this.isReference) { + throwBindingError(`null is not a valid ${this.name}`); + } + return 0; + } + + if (!handle.$$) { + throwBindingError(`Cannot pass "${embindRepr(handle)}" as a ${this.name}`); + } + if (!handle.$$.ptr) { + throwBindingError(`Cannot pass deleted object as a pointer of type ${this.name}`); + } + var handleClass = handle.$$.ptrType.registeredClass; + var ptr = upcastPointer(handle.$$.ptr, handleClass, this.registeredClass); + return ptr; + } + + + function genericPointerToWireType(destructors, handle) { + var ptr; + if (handle === null) { + if (this.isReference) { + throwBindingError(`null is not a valid ${this.name}`); + } + + if (this.isSmartPointer) { + ptr = this.rawConstructor(); + if (destructors !== null) { + destructors.push(this.rawDestructor, ptr); + } + return ptr; + } else { + return 0; + } + } + + if (!handle.$$) { + throwBindingError(`Cannot pass "${embindRepr(handle)}" as a ${this.name}`); + } + if (!handle.$$.ptr) { + throwBindingError(`Cannot pass deleted object as a pointer of type ${this.name}`); + } + if (!this.isConst && handle.$$.ptrType.isConst) { + throwBindingError(`Cannot convert argument of type ${(handle.$$.smartPtrType ? handle.$$.smartPtrType.name : handle.$$.ptrType.name)} to parameter type ${this.name}`); + } + var handleClass = handle.$$.ptrType.registeredClass; + ptr = upcastPointer(handle.$$.ptr, handleClass, this.registeredClass); + + if (this.isSmartPointer) { + // TODO: this is not strictly true + // We could support BY_EMVAL conversions from raw pointers to smart pointers + // because the smart pointer can hold a reference to the handle + if (undefined === handle.$$.smartPtr) { + throwBindingError('Passing raw pointer to smart pointer is illegal'); + } + + switch (this.sharingPolicy) { + case 0: // NONE + // no upcasting + if (handle.$$.smartPtrType === this) { + ptr = handle.$$.smartPtr; + } else { + throwBindingError(`Cannot convert argument of type ${(handle.$$.smartPtrType ? handle.$$.smartPtrType.name : handle.$$.ptrType.name)} to parameter type ${this.name}`); + } + break; + + case 1: // INTRUSIVE + ptr = handle.$$.smartPtr; + break; + + case 2: // BY_EMVAL + if (handle.$$.smartPtrType === this) { + ptr = handle.$$.smartPtr; + } else { + var clonedHandle = handle['clone'](); + ptr = this.rawShare( + ptr, + Emval.toHandle(function() { + clonedHandle['delete'](); + }) + ); + if (destructors !== null) { + destructors.push(this.rawDestructor, ptr); + } + } + break; + + default: + throwBindingError('Unsupporting sharing policy'); + } + } + return ptr; + } + + + function nonConstNoSmartPtrRawPointerToWireType(destructors, handle) { + if (handle === null) { + if (this.isReference) { + throwBindingError(`null is not a valid ${this.name}`); + } + return 0; + } + + if (!handle.$$) { + throwBindingError(`Cannot pass "${embindRepr(handle)}" as a ${this.name}`); + } + if (!handle.$$.ptr) { + throwBindingError(`Cannot pass deleted object as a pointer of type ${this.name}`); + } + if (handle.$$.ptrType.isConst) { + throwBindingError(`Cannot convert argument of type ${handle.$$.ptrType.name} to parameter type ${this.name}`); + } + var handleClass = handle.$$.ptrType.registeredClass; + var ptr = upcastPointer(handle.$$.ptr, handleClass, this.registeredClass); + return ptr; + } + + function simpleReadValueFromPointer(pointer) { + return this['fromWireType'](HEAP32[((pointer)>>2)]); + } + + function RegisteredPointer_getPointee(ptr) { + if (this.rawGetPointee) { + ptr = this.rawGetPointee(ptr); + } + return ptr; + } + + function RegisteredPointer_destructor(ptr) { + if (this.rawDestructor) { + this.rawDestructor(ptr); + } + } + + function RegisteredPointer_deleteObject(handle) { + if (handle !== null) { + handle['delete'](); + } + } + + function init_RegisteredPointer() { + RegisteredPointer.prototype.getPointee = RegisteredPointer_getPointee; + RegisteredPointer.prototype.destructor = RegisteredPointer_destructor; + RegisteredPointer.prototype['argPackAdvance'] = 8; + RegisteredPointer.prototype['readValueFromPointer'] = simpleReadValueFromPointer; + RegisteredPointer.prototype['deleteObject'] = RegisteredPointer_deleteObject; + RegisteredPointer.prototype['fromWireType'] = RegisteredPointer_fromWireType; + } + /** @constructor + @param {*=} pointeeType, + @param {*=} sharingPolicy, + @param {*=} rawGetPointee, + @param {*=} rawConstructor, + @param {*=} rawShare, + @param {*=} rawDestructor, + */ + function RegisteredPointer( + name, + registeredClass, + isReference, + isConst, + + // smart pointer properties + isSmartPointer, + pointeeType, + sharingPolicy, + rawGetPointee, + rawConstructor, + rawShare, + rawDestructor + ) { + this.name = name; + this.registeredClass = registeredClass; + this.isReference = isReference; + this.isConst = isConst; + + // smart pointer properties + this.isSmartPointer = isSmartPointer; + this.pointeeType = pointeeType; + this.sharingPolicy = sharingPolicy; + this.rawGetPointee = rawGetPointee; + this.rawConstructor = rawConstructor; + this.rawShare = rawShare; + this.rawDestructor = rawDestructor; + + if (!isSmartPointer && registeredClass.baseClass === undefined) { + if (isConst) { + this['toWireType'] = constNoSmartPtrRawPointerToWireType; + this.destructorFunction = null; + } else { + this['toWireType'] = nonConstNoSmartPtrRawPointerToWireType; + this.destructorFunction = null; + } + } else { + this['toWireType'] = genericPointerToWireType; + // Here we must leave this.destructorFunction undefined, since whether genericPointerToWireType returns + // a pointer that needs to be freed up is runtime-dependent, and cannot be evaluated at registration time. + // TODO: Create an alternative mechanism that allows removing the use of var destructors = []; array in + // craftInvokerFunction altogether. + } + } + + /** @param {number=} numArguments */ + function replacePublicSymbol(name, value, numArguments) { + if (!Module.hasOwnProperty(name)) { + throwInternalError('Replacing nonexistant public symbol'); + } + // If there's an overload table for this symbol, replace the symbol in the overload table instead. + if (undefined !== Module[name].overloadTable && undefined !== numArguments) { + Module[name].overloadTable[numArguments] = value; + } + else { + Module[name] = value; + Module[name].argCount = numArguments; + } + } + + + + function dynCallLegacy(sig, ptr, args) { + assert(('dynCall_' + sig) in Module, `bad function pointer type - dynCall function not found for sig '${sig}'`); + if (args && args.length) { + // j (64-bit integer) must be passed in as two numbers [low 32, high 32]. + assert(args.length === sig.substring(1).replace(/j/g, '--').length); + } else { + assert(sig.length == 1); + } + var f = Module['dynCall_' + sig]; + return args && args.length ? f.apply(null, [ptr].concat(args)) : f.call(null, ptr); + } + + var wasmTableMirror = []; + + function getWasmTableEntry(funcPtr) { + var func = wasmTableMirror[funcPtr]; + if (!func) { + if (funcPtr >= wasmTableMirror.length) wasmTableMirror.length = funcPtr + 1; + wasmTableMirror[funcPtr] = func = wasmTable.get(funcPtr); + } + assert(wasmTable.get(funcPtr) == func, "JavaScript-side Wasm function table mirror is out of date!"); + return func; + } + + /** @param {Object=} args */ + function dynCall(sig, ptr, args) { + // Without WASM_BIGINT support we cannot directly call function with i64 as + // part of thier signature, so we rely the dynCall functions generated by + // wasm-emscripten-finalize + if (sig.includes('j')) { + return dynCallLegacy(sig, ptr, args); + } + assert(getWasmTableEntry(ptr), `missing table entry in dynCall: ${ptr}`); + var rtn = getWasmTableEntry(ptr).apply(null, args); + return rtn; + + } + + function getDynCaller(sig, ptr) { + assert(sig.includes('j') || sig.includes('p'), 'getDynCaller should only be called with i64 sigs') + var argCache = []; + return function() { + argCache.length = 0; + Object.assign(argCache, arguments); + return dynCall(sig, ptr, argCache); + }; + } + + + function embind__requireFunction(signature, rawFunction) { + signature = readLatin1String(signature); + + function makeDynCaller() { + if (signature.includes('j')) { + return getDynCaller(signature, rawFunction); + } + return getWasmTableEntry(rawFunction); + } + + var fp = makeDynCaller(); + if (typeof fp != "function") { + throwBindingError(`unknown function pointer with signature ${signature}: ${rawFunction}`); + } + return fp; + } + + + + var UnboundTypeError = undefined; + + function throwUnboundTypeError(message, types) { + var unboundTypes = []; + var seen = {}; + function visit(type) { + if (seen[type]) { + return; + } + if (registeredTypes[type]) { + return; + } + if (typeDependencies[type]) { + typeDependencies[type].forEach(visit); + return; + } + unboundTypes.push(type); + seen[type] = true; + } + types.forEach(visit); + + throw new UnboundTypeError(`${message}: ` + unboundTypes.map(getTypeName).join([', '])); + } + + function __embind_register_class(rawType, + rawPointerType, + rawConstPointerType, + baseClassRawType, + getActualTypeSignature, + getActualType, + upcastSignature, + upcast, + downcastSignature, + downcast, + name, + destructorSignature, + rawDestructor) { + name = readLatin1String(name); + getActualType = embind__requireFunction(getActualTypeSignature, getActualType); + if (upcast) { + upcast = embind__requireFunction(upcastSignature, upcast); + } + if (downcast) { + downcast = embind__requireFunction(downcastSignature, downcast); + } + rawDestructor = embind__requireFunction(destructorSignature, rawDestructor); + var legalFunctionName = makeLegalFunctionName(name); + + exposePublicSymbol(legalFunctionName, function() { + // this code cannot run if baseClassRawType is zero + throwUnboundTypeError(`Cannot construct ${name} due to unbound types`, [baseClassRawType]); + }); + + whenDependentTypesAreResolved( + [rawType, rawPointerType, rawConstPointerType], + baseClassRawType ? [baseClassRawType] : [], + function(base) { + base = base[0]; + + var baseClass; + var basePrototype; + if (baseClassRawType) { + baseClass = base.registeredClass; + basePrototype = baseClass.instancePrototype; + } else { + basePrototype = ClassHandle.prototype; + } + + var constructor = createNamedFunction(legalFunctionName, function() { + if (Object.getPrototypeOf(this) !== instancePrototype) { + throw new BindingError("Use 'new' to construct " + name); + } + if (undefined === registeredClass.constructor_body) { + throw new BindingError(name + " has no accessible constructor"); + } + var body = registeredClass.constructor_body[arguments.length]; + if (undefined === body) { + throw new BindingError(`Tried to invoke ctor of ${name} with invalid number of parameters (${arguments.length}) - expected (${Object.keys(registeredClass.constructor_body).toString()}) parameters instead!`); + } + return body.apply(this, arguments); + }); + + var instancePrototype = Object.create(basePrototype, { + constructor: { value: constructor }, + }); + + constructor.prototype = instancePrototype; + + var registeredClass = new RegisteredClass(name, + constructor, + instancePrototype, + rawDestructor, + baseClass, + getActualType, + upcast, + downcast); + + if (registeredClass.baseClass) { + // Keep track of class hierarchy. Used to allow sub-classes to inherit class functions. + if (registeredClass.baseClass.__derivedClasses === undefined) { + registeredClass.baseClass.__derivedClasses = []; + } + + registeredClass.baseClass.__derivedClasses.push(registeredClass); + } + + var referenceConverter = new RegisteredPointer(name, + registeredClass, + true, + false, + false); + + var pointerConverter = new RegisteredPointer(name + '*', + registeredClass, + false, + false, + false); + + var constPointerConverter = new RegisteredPointer(name + ' const*', + registeredClass, + false, + true, + false); + + registeredPointers[rawType] = { + pointerType: pointerConverter, + constPointerType: constPointerConverter + }; + + replacePublicSymbol(legalFunctionName, constructor); + + return [referenceConverter, pointerConverter, constPointerConverter]; + } + ); + } + + + function runDestructors(destructors) { + while (destructors.length) { + var ptr = destructors.pop(); + var del = destructors.pop(); + del(ptr); + } + } + + function craftInvokerFunction(humanName, argTypes, classType, cppInvokerFunc, cppTargetFunc, /** boolean= */ isAsync) { + // humanName: a human-readable string name for the function to be generated. + // argTypes: An array that contains the embind type objects for all types in the function signature. + // argTypes[0] is the type object for the function return value. + // argTypes[1] is the type object for function this object/class type, or null if not crafting an invoker for a class method. + // argTypes[2...] are the actual function parameters. + // classType: The embind type object for the class to be bound, or null if this is not a method of a class. + // cppInvokerFunc: JS Function object to the C++-side function that interops into C++ code. + // cppTargetFunc: Function pointer (an integer to FUNCTION_TABLE) to the target C++ function the cppInvokerFunc will end up calling. + // isAsync: Optional. If true, returns an async function. Async bindings are only supported with JSPI. + var argCount = argTypes.length; + + if (argCount < 2) { + throwBindingError("argTypes array size mismatch! Must at least get return value and 'this' types!"); + } + + assert(!isAsync, 'Async bindings are only supported with JSPI.'); + + var isClassMethodFunc = (argTypes[1] !== null && classType !== null); + + // Free functions with signature "void function()" do not need an invoker that marshalls between wire types. + // TODO: This omits argument count check - enable only at -O3 or similar. + // if (ENABLE_UNSAFE_OPTS && argCount == 2 && argTypes[0].name == "void" && !isClassMethodFunc) { + // return FUNCTION_TABLE[fn]; + // } + + // Determine if we need to use a dynamic stack to store the destructors for the function parameters. + // TODO: Remove this completely once all function invokers are being dynamically generated. + var needsDestructorStack = false; + + for (var i = 1; i < argTypes.length; ++i) { // Skip return value at index 0 - it's not deleted here. + if (argTypes[i] !== null && argTypes[i].destructorFunction === undefined) { // The type does not define a destructor function - must use dynamic stack + needsDestructorStack = true; + break; + } + } + + var returns = (argTypes[0].name !== "void"); + + var expectedArgCount = argCount - 2; + var argsWired = new Array(expectedArgCount); + var invokerFuncArgs = []; + var destructors = []; + return function() { + if (arguments.length !== expectedArgCount) { + throwBindingError(`function ${humanName} called with ${arguments.length} arguments, expected ${expectedArgCount} args!`); + } + destructors.length = 0; + var thisWired; + invokerFuncArgs.length = isClassMethodFunc ? 2 : 1; + invokerFuncArgs[0] = cppTargetFunc; + if (isClassMethodFunc) { + thisWired = argTypes[1]['toWireType'](destructors, this); + invokerFuncArgs[1] = thisWired; + } + for (var i = 0; i < expectedArgCount; ++i) { + argsWired[i] = argTypes[i + 2]['toWireType'](destructors, arguments[i]); + invokerFuncArgs.push(argsWired[i]); + } + + var rv = cppInvokerFunc.apply(null, invokerFuncArgs); + + function onDone(rv) { + if (needsDestructorStack) { + runDestructors(destructors); + } else { + for (var i = isClassMethodFunc ? 1 : 2; i < argTypes.length; i++) { + var param = i === 1 ? thisWired : argsWired[i - 2]; + if (argTypes[i].destructorFunction !== null) { + argTypes[i].destructorFunction(param); + } + } + } + + if (returns) { + return argTypes[0]['fromWireType'](rv); + } + } + + return onDone(rv); + }; + } + + + function heap32VectorToArray(count, firstElement) { + var array = []; + for (var i = 0; i < count; i++) { + // TODO(https://github.com/emscripten-core/emscripten/issues/17310): + // Find a way to hoist the `>> 2` or `>> 3` out of this loop. + array.push(HEAPU32[(((firstElement)+(i * 4))>>2)]); + } + return array; + } + + + + + function __embind_register_class_class_function(rawClassType, + methodName, + argCount, + rawArgTypesAddr, + invokerSignature, + rawInvoker, + fn, + isAsync) { + var rawArgTypes = heap32VectorToArray(argCount, rawArgTypesAddr); + methodName = readLatin1String(methodName); + rawInvoker = embind__requireFunction(invokerSignature, rawInvoker); + whenDependentTypesAreResolved([], [rawClassType], function(classType) { + classType = classType[0]; + var humanName = `${classType.name}.${methodName}`; + + function unboundTypesHandler() { + throwUnboundTypeError(`Cannot call ${humanName} due to unbound types`, rawArgTypes); + } + + if (methodName.startsWith("@@")) { + methodName = Symbol[methodName.substring(2)]; + } + + var proto = classType.registeredClass.constructor; + if (undefined === proto[methodName]) { + // This is the first function to be registered with this name. + unboundTypesHandler.argCount = argCount-1; + proto[methodName] = unboundTypesHandler; + } else { + // There was an existing function with the same name registered. Set up + // a function overload routing table. + ensureOverloadTable(proto, methodName, humanName); + proto[methodName].overloadTable[argCount-1] = unboundTypesHandler; + } + + whenDependentTypesAreResolved([], rawArgTypes, function(argTypes) { + // Replace the initial unbound-types-handler stub with the proper + // function. If multiple overloads are registered, the function handlers + // go into an overload table. + var invokerArgsArray = [argTypes[0] /* return value */, null /* no class 'this'*/].concat(argTypes.slice(1) /* actual params */); + var func = craftInvokerFunction(humanName, invokerArgsArray, null /* no class 'this'*/, rawInvoker, fn, isAsync); + if (undefined === proto[methodName].overloadTable) { + func.argCount = argCount-1; + proto[methodName] = func; + } else { + proto[methodName].overloadTable[argCount-1] = func; + } + + if (classType.registeredClass.__derivedClasses) { + for (const derivedClass of classType.registeredClass.__derivedClasses) { + if (!derivedClass.constructor.hasOwnProperty(methodName)) { + // TODO: Add support for overloads + derivedClass.constructor[methodName] = func; + } + } + } + + return []; + }); + return []; + }); + } + + + + + + + function __embind_register_class_function(rawClassType, + methodName, + argCount, + rawArgTypesAddr, // [ReturnType, ThisType, Args...] + invokerSignature, + rawInvoker, + context, + isPureVirtual, + isAsync) { + var rawArgTypes = heap32VectorToArray(argCount, rawArgTypesAddr); + methodName = readLatin1String(methodName); + rawInvoker = embind__requireFunction(invokerSignature, rawInvoker); + + whenDependentTypesAreResolved([], [rawClassType], function(classType) { + classType = classType[0]; + var humanName = `${classType.name}.${methodName}`; + + if (methodName.startsWith("@@")) { + methodName = Symbol[methodName.substring(2)]; + } + + if (isPureVirtual) { + classType.registeredClass.pureVirtualFunctions.push(methodName); + } + + function unboundTypesHandler() { + throwUnboundTypeError(`Cannot call ${humanName} due to unbound types`, rawArgTypes); + } + + var proto = classType.registeredClass.instancePrototype; + var method = proto[methodName]; + if (undefined === method || (undefined === method.overloadTable && method.className !== classType.name && method.argCount === argCount - 2)) { + // This is the first overload to be registered, OR we are replacing a + // function in the base class with a function in the derived class. + unboundTypesHandler.argCount = argCount - 2; + unboundTypesHandler.className = classType.name; + proto[methodName] = unboundTypesHandler; + } else { + // There was an existing function with the same name registered. Set up + // a function overload routing table. + ensureOverloadTable(proto, methodName, humanName); + proto[methodName].overloadTable[argCount - 2] = unboundTypesHandler; + } + + whenDependentTypesAreResolved([], rawArgTypes, function(argTypes) { + var memberFunction = craftInvokerFunction(humanName, argTypes, classType, rawInvoker, context, isAsync); + + // Replace the initial unbound-handler-stub function with the appropriate member function, now that all types + // are resolved. If multiple overloads are registered for this function, the function goes into an overload table. + if (undefined === proto[methodName].overloadTable) { + // Set argCount in case an overload is registered later + memberFunction.argCount = argCount - 2; + proto[methodName] = memberFunction; + } else { + proto[methodName].overloadTable[argCount - 2] = memberFunction; + } + + return []; + }); + return []; + }); + } + + function __emval_decref(handle) { + if (handle >= emval_handles.reserved && 0 === --emval_handles.get(handle).refcount) { + emval_handles.free(handle); + } + } + + + + + function __embind_register_emval(rawType, name) { + name = readLatin1String(name); + registerType(rawType, { + name: name, + 'fromWireType': function(handle) { + var rv = Emval.toValue(handle); + __emval_decref(handle); + return rv; + }, + 'toWireType': function(destructors, value) { + return Emval.toHandle(value); + }, + 'argPackAdvance': 8, + 'readValueFromPointer': simpleReadValueFromPointer, + destructorFunction: null, // This type does not need a destructor + + // TODO: do we need a deleteObject here? write a test where + // emval is passed into JS via an interface + }); + } + + function embindRepr(v) { + if (v === null) { + return 'null'; + } + var t = typeof v; + if (t === 'object' || t === 'array' || t === 'function') { + return v.toString(); + } else { + return '' + v; + } + } + + function floatReadValueFromPointer(name, shift) { + switch (shift) { + case 2: return function(pointer) { + return this['fromWireType'](HEAPF32[pointer >> 2]); + }; + case 3: return function(pointer) { + return this['fromWireType'](HEAPF64[pointer >> 3]); + }; + default: + throw new TypeError("Unknown float type: " + name); + } + } + + + + function __embind_register_float(rawType, name, size) { + var shift = getShiftFromSize(size); + name = readLatin1String(name); + registerType(rawType, { + name: name, + 'fromWireType': function(value) { + return value; + }, + 'toWireType': function(destructors, value) { + if (typeof value != "number" && typeof value != "boolean") { + throw new TypeError(`Cannot convert ${embindRepr(value)} to ${this.name}`); + } + // The VM will perform JS to Wasm value conversion, according to the spec: + // https://www.w3.org/TR/wasm-js-api-1/#towebassemblyvalue + return value; + }, + 'argPackAdvance': 8, + 'readValueFromPointer': floatReadValueFromPointer(name, shift), + destructorFunction: null, // This type does not need a destructor + }); + } + + + + + + + + + function __embind_register_function(name, argCount, rawArgTypesAddr, signature, rawInvoker, fn, isAsync) { + var argTypes = heap32VectorToArray(argCount, rawArgTypesAddr); + name = readLatin1String(name); + + rawInvoker = embind__requireFunction(signature, rawInvoker); + + exposePublicSymbol(name, function() { + throwUnboundTypeError(`Cannot call ${name} due to unbound types`, argTypes); + }, argCount - 1); + + whenDependentTypesAreResolved([], argTypes, function(argTypes) { + var invokerArgsArray = [argTypes[0] /* return value */, null /* no class 'this'*/].concat(argTypes.slice(1) /* actual params */); + replacePublicSymbol(name, craftInvokerFunction(name, invokerArgsArray, null /* no class 'this'*/, rawInvoker, fn, isAsync), argCount - 1); + return []; + }); + } + + + + function integerReadValueFromPointer(name, shift, signed) { + // integers are quite common, so generate very specialized functions + switch (shift) { + case 0: return signed ? + function readS8FromPointer(pointer) { return HEAP8[pointer]; } : + function readU8FromPointer(pointer) { return HEAPU8[pointer]; }; + case 1: return signed ? + function readS16FromPointer(pointer) { return HEAP16[pointer >> 1]; } : + function readU16FromPointer(pointer) { return HEAPU16[pointer >> 1]; }; + case 2: return signed ? + function readS32FromPointer(pointer) { return HEAP32[pointer >> 2]; } : + function readU32FromPointer(pointer) { return HEAPU32[pointer >> 2]; }; + default: + throw new TypeError("Unknown integer type: " + name); + } + } + + + function __embind_register_integer(primitiveType, name, size, minRange, maxRange) { + name = readLatin1String(name); + // LLVM doesn't have signed and unsigned 32-bit types, so u32 literals come + // out as 'i32 -1'. Always treat those as max u32. + if (maxRange === -1) { + maxRange = 4294967295; + } + + var shift = getShiftFromSize(size); + + var fromWireType = (value) => value; + + if (minRange === 0) { + var bitshift = 32 - 8*size; + fromWireType = (value) => (value << bitshift) >>> bitshift; + } + + var isUnsignedType = (name.includes('unsigned')); + var checkAssertions = (value, toTypeName) => { + if (typeof value != "number" && typeof value != "boolean") { + throw new TypeError(`Cannot convert "${embindRepr(value)}" to ${toTypeName}`); + } + if (value < minRange || value > maxRange) { + throw new TypeError(`Passing a number "${embindRepr(value)}" from JS side to C/C++ side to an argument of type "${name}", which is outside the valid range [${minRange}, ${maxRange}]!`); + } + } + var toWireType; + if (isUnsignedType) { + toWireType = function(destructors, value) { + checkAssertions(value, this.name); + return value >>> 0; + } + } else { + toWireType = function(destructors, value) { + checkAssertions(value, this.name); + // The VM will perform JS to Wasm value conversion, according to the spec: + // https://www.w3.org/TR/wasm-js-api-1/#towebassemblyvalue + return value; + } + } + registerType(primitiveType, { + name: name, + 'fromWireType': fromWireType, + 'toWireType': toWireType, + 'argPackAdvance': 8, + 'readValueFromPointer': integerReadValueFromPointer(name, shift, minRange !== 0), + destructorFunction: null, // This type does not need a destructor + }); + } + + + function __embind_register_memory_view(rawType, dataTypeIndex, name) { + var typeMapping = [ + Int8Array, + Uint8Array, + Int16Array, + Uint16Array, + Int32Array, + Uint32Array, + Float32Array, + Float64Array, + ]; + + var TA = typeMapping[dataTypeIndex]; + + function decodeMemoryView(handle) { + handle = handle >> 2; + var heap = HEAPU32; + var size = heap[handle]; // in elements + var data = heap[handle + 1]; // byte offset into emscripten heap + return new TA(heap.buffer, data, size); + } + + name = readLatin1String(name); + registerType(rawType, { + name: name, + 'fromWireType': decodeMemoryView, + 'argPackAdvance': 8, + 'readValueFromPointer': decodeMemoryView, + }, { + ignoreDuplicateRegistrations: true, + }); + } + + + + + + function stringToUTF8Array(str, heap, outIdx, maxBytesToWrite) { + assert(typeof str === 'string'); + // Parameter maxBytesToWrite is not optional. Negative values, 0, null, + // undefined and false each don't write out any bytes. + if (!(maxBytesToWrite > 0)) + return 0; + + var startIdx = outIdx; + var endIdx = outIdx + maxBytesToWrite - 1; // -1 for string null terminator. + for (var i = 0; i < str.length; ++i) { + // Gotcha: charCodeAt returns a 16-bit word that is a UTF-16 encoded code + // unit, not a Unicode code point of the character! So decode + // UTF16->UTF32->UTF8. + // See http://unicode.org/faq/utf_bom.html#utf16-3 + // For UTF8 byte structure, see http://en.wikipedia.org/wiki/UTF-8#Description + // and https://www.ietf.org/rfc/rfc2279.txt + // and https://tools.ietf.org/html/rfc3629 + var u = str.charCodeAt(i); // possibly a lead surrogate + if (u >= 0xD800 && u <= 0xDFFF) { + var u1 = str.charCodeAt(++i); + u = 0x10000 + ((u & 0x3FF) << 10) | (u1 & 0x3FF); + } + if (u <= 0x7F) { + if (outIdx >= endIdx) break; + heap[outIdx++] = u; + } else if (u <= 0x7FF) { + if (outIdx + 1 >= endIdx) break; + heap[outIdx++] = 0xC0 | (u >> 6); + heap[outIdx++] = 0x80 | (u & 63); + } else if (u <= 0xFFFF) { + if (outIdx + 2 >= endIdx) break; + heap[outIdx++] = 0xE0 | (u >> 12); + heap[outIdx++] = 0x80 | ((u >> 6) & 63); + heap[outIdx++] = 0x80 | (u & 63); + } else { + if (outIdx + 3 >= endIdx) break; + if (u > 0x10FFFF) warnOnce('Invalid Unicode code point ' + ptrToString(u) + ' encountered when serializing a JS string to a UTF-8 string in wasm memory! (Valid unicode code points should be in range 0-0x10FFFF).'); + heap[outIdx++] = 0xF0 | (u >> 18); + heap[outIdx++] = 0x80 | ((u >> 12) & 63); + heap[outIdx++] = 0x80 | ((u >> 6) & 63); + heap[outIdx++] = 0x80 | (u & 63); + } + } + // Null-terminate the pointer to the buffer. + heap[outIdx] = 0; + return outIdx - startIdx; + } + function stringToUTF8(str, outPtr, maxBytesToWrite) { + assert(typeof maxBytesToWrite == 'number', 'stringToUTF8(str, outPtr, maxBytesToWrite) is missing the third parameter that specifies the length of the output buffer!'); + return stringToUTF8Array(str, HEAPU8,outPtr, maxBytesToWrite); + } + + function lengthBytesUTF8(str) { + var len = 0; + for (var i = 0; i < str.length; ++i) { + // Gotcha: charCodeAt returns a 16-bit word that is a UTF-16 encoded code + // unit, not a Unicode code point of the character! So decode + // UTF16->UTF32->UTF8. + // See http://unicode.org/faq/utf_bom.html#utf16-3 + var c = str.charCodeAt(i); // possibly a lead surrogate + if (c <= 0x7F) { + len++; + } else if (c <= 0x7FF) { + len += 2; + } else if (c >= 0xD800 && c <= 0xDFFF) { + len += 4; ++i; + } else { + len += 3; + } + } + return len; + } + + + + function __embind_register_std_string(rawType, name) { + name = readLatin1String(name); + var stdStringIsUTF8 + //process only std::string bindings with UTF8 support, in contrast to e.g. std::basic_string + = (name === "std::string"); + + registerType(rawType, { + name: name, + 'fromWireType': function(value) { + var length = HEAPU32[((value)>>2)]; + var payload = value + 4; + + var str; + if (stdStringIsUTF8) { + var decodeStartPtr = payload; + // Looping here to support possible embedded '0' bytes + for (var i = 0; i <= length; ++i) { + var currentBytePtr = payload + i; + if (i == length || HEAPU8[currentBytePtr] == 0) { + var maxRead = currentBytePtr - decodeStartPtr; + var stringSegment = UTF8ToString(decodeStartPtr, maxRead); + if (str === undefined) { + str = stringSegment; + } else { + str += String.fromCharCode(0); + str += stringSegment; + } + decodeStartPtr = currentBytePtr + 1; + } + } + } else { + var a = new Array(length); + for (var i = 0; i < length; ++i) { + a[i] = String.fromCharCode(HEAPU8[payload + i]); + } + str = a.join(''); + } + + _free(value); + + return str; + }, + 'toWireType': function(destructors, value) { + if (value instanceof ArrayBuffer) { + value = new Uint8Array(value); + } + + var length; + var valueIsOfTypeString = (typeof value == 'string'); + + if (!(valueIsOfTypeString || value instanceof Uint8Array || value instanceof Uint8ClampedArray || value instanceof Int8Array)) { + throwBindingError('Cannot pass non-string to std::string'); + } + if (stdStringIsUTF8 && valueIsOfTypeString) { + length = lengthBytesUTF8(value); + } else { + length = value.length; + } + + // assumes 4-byte alignment + var base = _malloc(4 + length + 1); + var ptr = base + 4; + HEAPU32[((base)>>2)] = length; + if (stdStringIsUTF8 && valueIsOfTypeString) { + stringToUTF8(value, ptr, length + 1); + } else { + if (valueIsOfTypeString) { + for (var i = 0; i < length; ++i) { + var charCode = value.charCodeAt(i); + if (charCode > 255) { + _free(ptr); + throwBindingError('String has UTF-16 code units that do not fit in 8 bits'); + } + HEAPU8[ptr + i] = charCode; + } + } else { + for (var i = 0; i < length; ++i) { + HEAPU8[ptr + i] = value[i]; + } + } + } + + if (destructors !== null) { + destructors.push(_free, base); + } + return base; + }, + 'argPackAdvance': 8, + 'readValueFromPointer': simpleReadValueFromPointer, + destructorFunction: function(ptr) { _free(ptr); }, + }); + } + + + + + var UTF16Decoder = typeof TextDecoder != 'undefined' ? new TextDecoder('utf-16le') : undefined;; + function UTF16ToString(ptr, maxBytesToRead) { + assert(ptr % 2 == 0, 'Pointer passed to UTF16ToString must be aligned to two bytes!'); + var endPtr = ptr; + // TextDecoder needs to know the byte length in advance, it doesn't stop on + // null terminator by itself. + // Also, use the length info to avoid running tiny strings through + // TextDecoder, since .subarray() allocates garbage. + var idx = endPtr >> 1; + var maxIdx = idx + maxBytesToRead / 2; + // If maxBytesToRead is not passed explicitly, it will be undefined, and this + // will always evaluate to true. This saves on code size. + while (!(idx >= maxIdx) && HEAPU16[idx]) ++idx; + endPtr = idx << 1; + + if (endPtr - ptr > 32 && UTF16Decoder) + return UTF16Decoder.decode(HEAPU8.subarray(ptr, endPtr)); + + // Fallback: decode without UTF16Decoder + var str = ''; + + // If maxBytesToRead is not passed explicitly, it will be undefined, and the + // for-loop's condition will always evaluate to true. The loop is then + // terminated on the first null char. + for (var i = 0; !(i >= maxBytesToRead / 2); ++i) { + var codeUnit = HEAP16[(((ptr)+(i*2))>>1)]; + if (codeUnit == 0) break; + // fromCharCode constructs a character from a UTF-16 code unit, so we can + // pass the UTF16 string right through. + str += String.fromCharCode(codeUnit); + } + + return str; + } + + function stringToUTF16(str, outPtr, maxBytesToWrite) { + assert(outPtr % 2 == 0, 'Pointer passed to stringToUTF16 must be aligned to two bytes!'); + assert(typeof maxBytesToWrite == 'number', 'stringToUTF16(str, outPtr, maxBytesToWrite) is missing the third parameter that specifies the length of the output buffer!'); + // Backwards compatibility: if max bytes is not specified, assume unsafe unbounded write is allowed. + if (maxBytesToWrite === undefined) { + maxBytesToWrite = 0x7FFFFFFF; + } + if (maxBytesToWrite < 2) return 0; + maxBytesToWrite -= 2; // Null terminator. + var startPtr = outPtr; + var numCharsToWrite = (maxBytesToWrite < str.length*2) ? (maxBytesToWrite / 2) : str.length; + for (var i = 0; i < numCharsToWrite; ++i) { + // charCodeAt returns a UTF-16 encoded code unit, so it can be directly written to the HEAP. + var codeUnit = str.charCodeAt(i); // possibly a lead surrogate + HEAP16[((outPtr)>>1)] = codeUnit; + outPtr += 2; + } + // Null-terminate the pointer to the HEAP. + HEAP16[((outPtr)>>1)] = 0; + return outPtr - startPtr; + } + + function lengthBytesUTF16(str) { + return str.length*2; + } + + function UTF32ToString(ptr, maxBytesToRead) { + assert(ptr % 4 == 0, 'Pointer passed to UTF32ToString must be aligned to four bytes!'); + var i = 0; + + var str = ''; + // If maxBytesToRead is not passed explicitly, it will be undefined, and this + // will always evaluate to true. This saves on code size. + while (!(i >= maxBytesToRead / 4)) { + var utf32 = HEAP32[(((ptr)+(i*4))>>2)]; + if (utf32 == 0) break; + ++i; + // Gotcha: fromCharCode constructs a character from a UTF-16 encoded code (pair), not from a Unicode code point! So encode the code point to UTF-16 for constructing. + // See http://unicode.org/faq/utf_bom.html#utf16-3 + if (utf32 >= 0x10000) { + var ch = utf32 - 0x10000; + str += String.fromCharCode(0xD800 | (ch >> 10), 0xDC00 | (ch & 0x3FF)); + } else { + str += String.fromCharCode(utf32); + } + } + return str; + } + + function stringToUTF32(str, outPtr, maxBytesToWrite) { + assert(outPtr % 4 == 0, 'Pointer passed to stringToUTF32 must be aligned to four bytes!'); + assert(typeof maxBytesToWrite == 'number', 'stringToUTF32(str, outPtr, maxBytesToWrite) is missing the third parameter that specifies the length of the output buffer!'); + // Backwards compatibility: if max bytes is not specified, assume unsafe unbounded write is allowed. + if (maxBytesToWrite === undefined) { + maxBytesToWrite = 0x7FFFFFFF; + } + if (maxBytesToWrite < 4) return 0; + var startPtr = outPtr; + var endPtr = startPtr + maxBytesToWrite - 4; + for (var i = 0; i < str.length; ++i) { + // Gotcha: charCodeAt returns a 16-bit word that is a UTF-16 encoded code unit, not a Unicode code point of the character! We must decode the string to UTF-32 to the heap. + // See http://unicode.org/faq/utf_bom.html#utf16-3 + var codeUnit = str.charCodeAt(i); // possibly a lead surrogate + if (codeUnit >= 0xD800 && codeUnit <= 0xDFFF) { + var trailSurrogate = str.charCodeAt(++i); + codeUnit = 0x10000 + ((codeUnit & 0x3FF) << 10) | (trailSurrogate & 0x3FF); + } + HEAP32[((outPtr)>>2)] = codeUnit; + outPtr += 4; + if (outPtr + 4 > endPtr) break; + } + // Null-terminate the pointer to the HEAP. + HEAP32[((outPtr)>>2)] = 0; + return outPtr - startPtr; + } + + function lengthBytesUTF32(str) { + var len = 0; + for (var i = 0; i < str.length; ++i) { + // Gotcha: charCodeAt returns a 16-bit word that is a UTF-16 encoded code unit, not a Unicode code point of the character! We must decode the string to UTF-32 to the heap. + // See http://unicode.org/faq/utf_bom.html#utf16-3 + var codeUnit = str.charCodeAt(i); + if (codeUnit >= 0xD800 && codeUnit <= 0xDFFF) ++i; // possibly a lead surrogate, so skip over the tail surrogate. + len += 4; + } + + return len; + } + function __embind_register_std_wstring(rawType, charSize, name) { + name = readLatin1String(name); + var decodeString, encodeString, getHeap, lengthBytesUTF, shift; + if (charSize === 2) { + decodeString = UTF16ToString; + encodeString = stringToUTF16; + lengthBytesUTF = lengthBytesUTF16; + getHeap = () => HEAPU16; + shift = 1; + } else if (charSize === 4) { + decodeString = UTF32ToString; + encodeString = stringToUTF32; + lengthBytesUTF = lengthBytesUTF32; + getHeap = () => HEAPU32; + shift = 2; + } + registerType(rawType, { + name: name, + 'fromWireType': function(value) { + // Code mostly taken from _embind_register_std_string fromWireType + var length = HEAPU32[value >> 2]; + var HEAP = getHeap(); + var str; + + var decodeStartPtr = value + 4; + // Looping here to support possible embedded '0' bytes + for (var i = 0; i <= length; ++i) { + var currentBytePtr = value + 4 + i * charSize; + if (i == length || HEAP[currentBytePtr >> shift] == 0) { + var maxReadBytes = currentBytePtr - decodeStartPtr; + var stringSegment = decodeString(decodeStartPtr, maxReadBytes); + if (str === undefined) { + str = stringSegment; + } else { + str += String.fromCharCode(0); + str += stringSegment; + } + decodeStartPtr = currentBytePtr + charSize; + } + } + + _free(value); + + return str; + }, + 'toWireType': function(destructors, value) { + if (!(typeof value == 'string')) { + throwBindingError(`Cannot pass non-string to C++ string type ${name}`); + } + + // assumes 4-byte alignment + var length = lengthBytesUTF(value); + var ptr = _malloc(4 + length + charSize); + HEAPU32[ptr >> 2] = length >> shift; + + encodeString(value, ptr + 4, length + charSize); + + if (destructors !== null) { + destructors.push(_free, ptr); + } + return ptr; + }, + 'argPackAdvance': 8, + 'readValueFromPointer': simpleReadValueFromPointer, + destructorFunction: function(ptr) { _free(ptr); }, + }); + } + + + function __embind_register_void(rawType, name) { + name = readLatin1String(name); + registerType(rawType, { + isVoid: true, // void return values can be optimized out sometimes + name: name, + 'argPackAdvance': 0, + 'fromWireType': function() { + return undefined; + }, + 'toWireType': function(destructors, o) { + // TODO: assert if anything else is given? + return undefined; + }, + }); + } + + function emval_allocateDestructors(destructorsRef) { + var destructors = []; + HEAPU32[((destructorsRef)>>2)] = Emval.toHandle(destructors); + return destructors; + } + + var emval_symbols = {}; + + function getStringOrSymbol(address) { + var symbol = emval_symbols[address]; + if (symbol === undefined) { + return readLatin1String(address); + } + return symbol; + } + + var emval_methodCallers = []; + + function __emval_call_void_method(caller, handle, methodName, args) { + caller = emval_methodCallers[caller]; + handle = Emval.toValue(handle); + methodName = getStringOrSymbol(methodName); + caller(handle, methodName, null, args); + } + + + function emval_addMethodCaller(caller) { + var id = emval_methodCallers.length; + emval_methodCallers.push(caller); + return id; + } + + function emval_lookupTypes(argCount, argTypes) { + var a = new Array(argCount); + for (var i = 0; i < argCount; ++i) { + a[i] = requireRegisteredType(HEAPU32[(((argTypes)+(i * 4))>>2)], + "parameter " + i); + } + return a; + } + + + var emval_registeredMethods = []; + function __emval_get_method_caller(argCount, argTypes) { + var types = emval_lookupTypes(argCount, argTypes); + var retType = types[0]; + var signatureName = retType.name + "_$" + types.slice(1).map(function (t) { return t.name; }).join("_") + "$"; + var returnId = emval_registeredMethods[signatureName]; + if (returnId !== undefined) { + return returnId; + } + + var argN = new Array(argCount - 1); + var invokerFunction = (handle, name, destructors, args) => { + var offset = 0; + for (var i = 0; i < argCount - 1; ++i) { + argN[i] = types[i + 1]['readValueFromPointer'](args + offset); + offset += types[i + 1]['argPackAdvance']; + } + var rv = handle[name].apply(handle, argN); + for (var i = 0; i < argCount - 1; ++i) { + if (types[i + 1].deleteObject) { + types[i + 1].deleteObject(argN[i]); + } + } + if (!retType.isVoid) { + return retType['toWireType'](destructors, rv); + } + }; + returnId = emval_addMethodCaller(invokerFunction); + emval_registeredMethods[signatureName] = returnId; + return returnId; + } + + function __emval_incref(handle) { + if (handle > 4) { + emval_handles.get(handle).refcount += 1; + } + } + + function _abort() { + abort('native code called abort()'); + } + + function _emscripten_memcpy_big(dest, src, num) { + HEAPU8.copyWithin(dest, src, src + num); + } + + function getHeapMax() { + // Stay one Wasm page short of 4GB: while e.g. Chrome is able to allocate + // full 4GB Wasm memories, the size will wrap back to 0 bytes in Wasm side + // for any code that deals with heap sizes, which would require special + // casing all heap size related code to treat 0 specially. + return 2147483648; + } + + function emscripten_realloc_buffer(size) { + var b = wasmMemory.buffer; + var pages = (size - b.byteLength + 65535) >>> 16; + try { + // round size grow request up to wasm page size (fixed 64KB per spec) + wasmMemory.grow(pages); // .grow() takes a delta compared to the previous size + updateMemoryViews(); + return 1 /*success*/; + } catch(e) { + err(`emscripten_realloc_buffer: Attempted to grow heap from ${b.byteLength} bytes to ${size} bytes, but got error: ${e}`); + } + // implicit 0 return to save code size (caller will cast "undefined" into 0 + // anyhow) + } + function _emscripten_resize_heap(requestedSize) { + var oldSize = HEAPU8.length; + requestedSize = requestedSize >>> 0; + // With multithreaded builds, races can happen (another thread might increase the size + // in between), so return a failure, and let the caller retry. + assert(requestedSize > oldSize); + + // Memory resize rules: + // 1. Always increase heap size to at least the requested size, rounded up + // to next page multiple. + // 2a. If MEMORY_GROWTH_LINEAR_STEP == -1, excessively resize the heap + // geometrically: increase the heap size according to + // MEMORY_GROWTH_GEOMETRIC_STEP factor (default +20%), At most + // overreserve by MEMORY_GROWTH_GEOMETRIC_CAP bytes (default 96MB). + // 2b. If MEMORY_GROWTH_LINEAR_STEP != -1, excessively resize the heap + // linearly: increase the heap size by at least + // MEMORY_GROWTH_LINEAR_STEP bytes. + // 3. Max size for the heap is capped at 2048MB-WASM_PAGE_SIZE, or by + // MAXIMUM_MEMORY, or by ASAN limit, depending on which is smallest + // 4. If we were unable to allocate as much memory, it may be due to + // over-eager decision to excessively reserve due to (3) above. + // Hence if an allocation fails, cut down on the amount of excess + // growth, in an attempt to succeed to perform a smaller allocation. + + // A limit is set for how much we can grow. We should not exceed that + // (the wasm binary specifies it, so if we tried, we'd fail anyhow). + var maxHeapSize = getHeapMax(); + if (requestedSize > maxHeapSize) { + err(`Cannot enlarge memory, asked to go up to ${requestedSize} bytes, but the limit is ${maxHeapSize} bytes!`); + return false; + } + + var alignUp = (x, multiple) => x + (multiple - x % multiple) % multiple; + + // Loop through potential heap size increases. If we attempt a too eager + // reservation that fails, cut down on the attempted size and reserve a + // smaller bump instead. (max 3 times, chosen somewhat arbitrarily) + for (var cutDown = 1; cutDown <= 4; cutDown *= 2) { + var overGrownHeapSize = oldSize * (1 + 0.2 / cutDown); // ensure geometric growth + // but limit overreserving (default to capping at +96MB overgrowth at most) + overGrownHeapSize = Math.min(overGrownHeapSize, requestedSize + 100663296 ); + + var newSize = Math.min(maxHeapSize, alignUp(Math.max(requestedSize, overGrownHeapSize), 65536)); + + var replacement = emscripten_realloc_buffer(newSize); + if (replacement) { + err('Warning: Enlarging memory arrays, this is not fast! ' + [oldSize, newSize]); + + return true; + } + } + err(`Failed to grow the heap from ${oldSize} bytes to ${newSize} bytes, not enough memory!`); + return false; + } + + var SYSCALLS = {varargs:undefined,get:function() { + assert(SYSCALLS.varargs != undefined); + SYSCALLS.varargs += 4; + var ret = HEAP32[(((SYSCALLS.varargs)-(4))>>2)]; + return ret; + },getStr:function(ptr) { + var ret = UTF8ToString(ptr); + return ret; + }}; + function _fd_close(fd) { + abort('fd_close called without SYSCALLS_REQUIRE_FILESYSTEM'); + } + + function convertI32PairToI53Checked(lo, hi) { + assert(lo == (lo >>> 0) || lo == (lo|0)); // lo should either be a i32 or a u32 + assert(hi === (hi|0)); // hi should be a i32 + return ((hi + 0x200000) >>> 0 < 0x400001 - !!lo) ? (lo >>> 0) + hi * 4294967296 : NaN; + } + + + + + function _fd_seek(fd, offset_low, offset_high, whence, newOffset) { + return 70; + } + + var printCharBuffers = [null,[],[]]; + + function printChar(stream, curr) { + var buffer = printCharBuffers[stream]; + assert(buffer); + if (curr === 0 || curr === 10) { + (stream === 1 ? out : err)(UTF8ArrayToString(buffer, 0)); + buffer.length = 0; + } else { + buffer.push(curr); + } + } + + function flush_NO_FILESYSTEM() { + // flush anything remaining in the buffers during shutdown + _fflush(0); + if (printCharBuffers[1].length) printChar(1, 10); + if (printCharBuffers[2].length) printChar(2, 10); + } + + + function _fd_write(fd, iov, iovcnt, pnum) { + // hack to support printf in SYSCALLS_REQUIRE_FILESYSTEM=0 + var num = 0; + for (var i = 0; i < iovcnt; i++) { + var ptr = HEAPU32[((iov)>>2)]; + var len = HEAPU32[(((iov)+(4))>>2)]; + iov += 8; + for (var j = 0; j < len; j++) { + printChar(fd, HEAPU8[ptr+j]); + } + num += len; + } + HEAPU32[((pnum)>>2)] = num; + return 0; + } +BindingError = Module['BindingError'] = extendError(Error, 'BindingError');; +init_emval();; +PureVirtualError = Module['PureVirtualError'] = extendError(Error, 'PureVirtualError');; +embind_init_charCodes(); +init_embind();; +InternalError = Module['InternalError'] = extendError(Error, 'InternalError');; +init_ClassHandle(); +init_RegisteredPointer(); +UnboundTypeError = Module['UnboundTypeError'] = extendError(Error, 'UnboundTypeError');; +// include: base64Utils.js +// Copied from https://github.com/strophe/strophejs/blob/e06d027/src/polyfills.js#L149 + +// This code was written by Tyler Akins and has been placed in the +// public domain. It would be nice if you left this header intact. +// Base64 code from Tyler Akins -- http://rumkin.com + +/** + * Decodes a base64 string. + * @param {string} input The string to decode. + */ +var decodeBase64 = typeof atob == 'function' ? atob : function (input) { + var keyStr = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/='; + + var output = ''; + var chr1, chr2, chr3; + var enc1, enc2, enc3, enc4; + var i = 0; + // remove all characters that are not A-Z, a-z, 0-9, +, /, or = + input = input.replace(/[^A-Za-z0-9\+\/\=]/g, ''); + do { + enc1 = keyStr.indexOf(input.charAt(i++)); + enc2 = keyStr.indexOf(input.charAt(i++)); + enc3 = keyStr.indexOf(input.charAt(i++)); + enc4 = keyStr.indexOf(input.charAt(i++)); + + chr1 = (enc1 << 2) | (enc2 >> 4); + chr2 = ((enc2 & 15) << 4) | (enc3 >> 2); + chr3 = ((enc3 & 3) << 6) | enc4; + + output = output + String.fromCharCode(chr1); + + if (enc3 !== 64) { + output = output + String.fromCharCode(chr2); + } + if (enc4 !== 64) { + output = output + String.fromCharCode(chr3); + } + } while (i < input.length); + return output; +}; + +// Converts a string of base64 into a byte array. +// Throws error on invalid input. +function intArrayFromBase64(s) { + + try { + var decoded = decodeBase64(s); + var bytes = new Uint8Array(decoded.length); + for (var i = 0 ; i < decoded.length ; ++i) { + bytes[i] = decoded.charCodeAt(i); + } + return bytes; + } catch (_) { + throw new Error('Converting base64 string to bytes failed.'); + } +} + +// If filename is a base64 data URI, parses and returns data (Buffer on node, +// Uint8Array otherwise). If filename is not a base64 data URI, returns undefined. +function tryParseAsDataURI(filename) { + if (!isDataURI(filename)) { + return; + } + + return intArrayFromBase64(filename.slice(dataURIPrefix.length)); +} + + +// end include: base64Utils.js +function checkIncomingModuleAPI() { + ignoredModuleProp('fetchSettings'); +} +var wasmImports = { + "__assert_fail": ___assert_fail, + "_embind_create_inheriting_constructor": __embind_create_inheriting_constructor, + "_embind_register_bigint": __embind_register_bigint, + "_embind_register_bool": __embind_register_bool, + "_embind_register_class": __embind_register_class, + "_embind_register_class_class_function": __embind_register_class_class_function, + "_embind_register_class_function": __embind_register_class_function, + "_embind_register_emval": __embind_register_emval, + "_embind_register_float": __embind_register_float, + "_embind_register_function": __embind_register_function, + "_embind_register_integer": __embind_register_integer, + "_embind_register_memory_view": __embind_register_memory_view, + "_embind_register_std_string": __embind_register_std_string, + "_embind_register_std_wstring": __embind_register_std_wstring, + "_embind_register_void": __embind_register_void, + "_emval_call_void_method": __emval_call_void_method, + "_emval_decref": __emval_decref, + "_emval_get_method_caller": __emval_get_method_caller, + "_emval_incref": __emval_incref, + "abort": _abort, + "emscripten_memcpy_big": _emscripten_memcpy_big, + "emscripten_resize_heap": _emscripten_resize_heap, + "fd_close": _fd_close, + "fd_seek": _fd_seek, + "fd_write": _fd_write, + "memory": wasmMemory +}; +var asm = createWasm(); +/** @type {function(...*):?} */ +var ___wasm_call_ctors = createExportWrapper("__wasm_call_ctors"); +/** @type {function(...*):?} */ +var _malloc = createExportWrapper("malloc"); +/** @type {function(...*):?} */ +var _free = createExportWrapper("free"); +/** @type {function(...*):?} */ +var ___getTypeName = createExportWrapper("__getTypeName"); +/** @type {function(...*):?} */ +var __embind_initialize_bindings = Module["__embind_initialize_bindings"] = createExportWrapper("_embind_initialize_bindings"); +/** @type {function(...*):?} */ +var ___errno_location = createExportWrapper("__errno_location"); +/** @type {function(...*):?} */ +var _fflush = Module["_fflush"] = createExportWrapper("fflush"); +/** @type {function(...*):?} */ +var _emscripten_stack_init = function() { + return (_emscripten_stack_init = Module["asm"]["emscripten_stack_init"]).apply(null, arguments); +}; + +/** @type {function(...*):?} */ +var _emscripten_stack_get_free = function() { + return (_emscripten_stack_get_free = Module["asm"]["emscripten_stack_get_free"]).apply(null, arguments); +}; + +/** @type {function(...*):?} */ +var _emscripten_stack_get_base = function() { + return (_emscripten_stack_get_base = Module["asm"]["emscripten_stack_get_base"]).apply(null, arguments); +}; + +/** @type {function(...*):?} */ +var _emscripten_stack_get_end = function() { + return (_emscripten_stack_get_end = Module["asm"]["emscripten_stack_get_end"]).apply(null, arguments); +}; + +/** @type {function(...*):?} */ +var stackSave = createExportWrapper("stackSave"); +/** @type {function(...*):?} */ +var stackRestore = createExportWrapper("stackRestore"); +/** @type {function(...*):?} */ +var stackAlloc = createExportWrapper("stackAlloc"); +/** @type {function(...*):?} */ +var _emscripten_stack_get_current = function() { + return (_emscripten_stack_get_current = Module["asm"]["emscripten_stack_get_current"]).apply(null, arguments); +}; + +/** @type {function(...*):?} */ +var dynCall_jiji = Module["dynCall_jiji"] = createExportWrapper("dynCall_jiji"); + + +// include: postamble.js +// === Auto-generated postamble setup entry stuff === + +var missingLibrarySymbols = [ + 'zeroMemory', + 'exitJS', + 'isLeapYear', + 'ydayFromDate', + 'arraySum', + 'addDays', + 'setErrNo', + 'inetPton4', + 'inetNtop4', + 'inetPton6', + 'inetNtop6', + 'readSockaddr', + 'writeSockaddr', + 'getHostByName', + 'initRandomFill', + 'randomFill', + 'traverseStack', + 'getCallstack', + 'emscriptenLog', + 'convertPCtoSourceLocation', + 'readEmAsmArgs', + 'jstoi_q', + 'jstoi_s', + 'getExecutableName', + 'listenOnce', + 'autoResumeAudioContext', + 'handleException', + 'runtimeKeepalivePush', + 'runtimeKeepalivePop', + 'callUserCallback', + 'maybeExit', + 'safeSetTimeout', + 'asmjsMangle', + 'asyncLoad', + 'alignMemory', + 'mmapAlloc', + 'getNativeTypeSize', + 'STACK_SIZE', + 'STACK_ALIGN', + 'POINTER_SIZE', + 'ASSERTIONS', + 'writeI53ToI64', + 'writeI53ToI64Clamped', + 'writeI53ToI64Signaling', + 'writeI53ToU64Clamped', + 'writeI53ToU64Signaling', + 'readI53FromI64', + 'readI53FromU64', + 'convertI32PairToI53', + 'convertU32PairToI53', + 'getCFunc', + 'ccall', + 'cwrap', + 'uleb128Encode', + 'sigToWasmTypes', + 'generateFuncType', + 'convertJsFunctionToWasm', + 'getEmptyTableSlot', + 'updateTableMap', + 'getFunctionAddress', + 'addFunction', + 'removeFunction', + 'reallyNegative', + 'unSign', + 'strLen', + 'reSign', + 'formatString', + 'intArrayFromString', + 'AsciiToString', + 'stringToAscii', + 'stringToNewUTF8', + 'stringToUTF8OnStack', + 'writeArrayToMemory', + 'registerKeyEventCallback', + 'maybeCStringToJsString', + 'findEventTarget', + 'findCanvasEventTarget', + 'getBoundingClientRect', + 'fillMouseEventData', + 'registerMouseEventCallback', + 'registerWheelEventCallback', + 'registerUiEventCallback', + 'registerFocusEventCallback', + 'fillDeviceOrientationEventData', + 'registerDeviceOrientationEventCallback', + 'fillDeviceMotionEventData', + 'registerDeviceMotionEventCallback', + 'screenOrientation', + 'fillOrientationChangeEventData', + 'registerOrientationChangeEventCallback', + 'fillFullscreenChangeEventData', + 'registerFullscreenChangeEventCallback', + 'JSEvents_requestFullscreen', + 'JSEvents_resizeCanvasForFullscreen', + 'registerRestoreOldStyle', + 'hideEverythingExceptGivenElement', + 'restoreHiddenElements', + 'setLetterbox', + 'softFullscreenResizeWebGLRenderTarget', + 'doRequestFullscreen', + 'fillPointerlockChangeEventData', + 'registerPointerlockChangeEventCallback', + 'registerPointerlockErrorEventCallback', + 'requestPointerLock', + 'fillVisibilityChangeEventData', + 'registerVisibilityChangeEventCallback', + 'registerTouchEventCallback', + 'fillGamepadEventData', + 'registerGamepadEventCallback', + 'registerBeforeUnloadEventCallback', + 'fillBatteryEventData', + 'battery', + 'registerBatteryEventCallback', + 'setCanvasElementSize', + 'getCanvasElementSize', + 'demangle', + 'demangleAll', + 'jsStackTrace', + 'stackTrace', + 'getEnvStrings', + 'checkWasiClock', + 'wasiRightsToMuslOFlags', + 'wasiOFlagsToMuslOFlags', + 'createDyncallWrapper', + 'setImmediateWrapped', + 'clearImmediateWrapped', + 'polyfillSetImmediate', + 'getPromise', + 'makePromise', + 'idsToPromises', + 'makePromiseCallback', + 'setMainLoop', + 'getSocketFromFD', + 'getSocketAddress', + 'heapObjectForWebGLType', + 'heapAccessShiftForWebGLHeap', + 'webgl_enable_ANGLE_instanced_arrays', + 'webgl_enable_OES_vertex_array_object', + 'webgl_enable_WEBGL_draw_buffers', + 'webgl_enable_WEBGL_multi_draw', + 'emscriptenWebGLGet', + 'computeUnpackAlignedImageSize', + 'colorChannelsInGlTextureFormat', + 'emscriptenWebGLGetTexPixelData', + '__glGenObject', + 'emscriptenWebGLGetUniform', + 'webglGetUniformLocation', + 'webglPrepareUniformLocationsBeforeFirstUse', + 'webglGetLeftBracePos', + 'emscriptenWebGLGetVertexAttrib', + '__glGetActiveAttribOrUniform', + 'writeGLArray', + 'registerWebGlEventCallback', + 'runAndAbortIfError', + 'SDL_unicode', + 'SDL_ttfContext', + 'SDL_audio', + 'GLFW_Window', + 'ALLOC_NORMAL', + 'ALLOC_STACK', + 'allocate', + 'writeStringToMemory', + 'writeAsciiToMemory', + 'enumReadValueFromPointer', + 'validateThis', + 'craftEmvalAllocator', + 'emval_get_global', +]; +missingLibrarySymbols.forEach(missingLibrarySymbol) + +var unexportedSymbols = [ + 'run', + 'addOnPreRun', + 'addOnInit', + 'addOnPreMain', + 'addOnExit', + 'addOnPostRun', + 'addRunDependency', + 'removeRunDependency', + 'FS_createFolder', + 'FS_createPath', + 'FS_createDataFile', + 'FS_createLazyFile', + 'FS_createLink', + 'FS_createDevice', + 'FS_unlink', + 'out', + 'err', + 'callMain', + 'abort', + 'keepRuntimeAlive', + 'wasmMemory', + 'stackAlloc', + 'stackSave', + 'stackRestore', + 'getTempRet0', + 'setTempRet0', + 'writeStackCookie', + 'checkStackCookie', + 'intArrayFromBase64', + 'tryParseAsDataURI', + 'ptrToString', + 'getHeapMax', + 'emscripten_realloc_buffer', + 'ENV', + 'MONTH_DAYS_REGULAR', + 'MONTH_DAYS_LEAP', + 'MONTH_DAYS_REGULAR_CUMULATIVE', + 'MONTH_DAYS_LEAP_CUMULATIVE', + 'ERRNO_CODES', + 'ERRNO_MESSAGES', + 'DNS', + 'Protocols', + 'Sockets', + 'timers', + 'warnOnce', + 'UNWIND_CACHE', + 'readEmAsmArgsArray', + 'dynCallLegacy', + 'getDynCaller', + 'dynCall', + 'HandleAllocator', + 'convertI32PairToI53Checked', + 'freeTableIndexes', + 'functionsInTableMap', + 'setValue', + 'getValue', + 'PATH', + 'PATH_FS', + 'UTF8Decoder', + 'UTF8ArrayToString', + 'UTF8ToString', + 'stringToUTF8Array', + 'stringToUTF8', + 'lengthBytesUTF8', + 'intArrayToString', + 'UTF16Decoder', + 'UTF16ToString', + 'stringToUTF16', + 'lengthBytesUTF16', + 'UTF32ToString', + 'stringToUTF32', + 'lengthBytesUTF32', + 'JSEvents', + 'specialHTMLTargets', + 'currentFullscreenStrategy', + 'restoreOldWindowedStyle', + 'ExitStatus', + 'flush_NO_FILESYSTEM', + 'dlopenMissingError', + 'promiseMap', + 'Browser', + 'wget', + 'SYSCALLS', + 'tempFixedLengthArray', + 'miniTempWebGLFloatBuffers', + 'miniTempWebGLIntBuffers', + 'GL', + 'emscripten_webgl_power_preferences', + 'AL', + 'GLUT', + 'EGL', + 'GLEW', + 'IDBStore', + 'SDL', + 'SDL_gfx', + 'GLFW', + 'allocateUTF8', + 'allocateUTF8OnStack', + 'InternalError', + 'BindingError', + 'UnboundTypeError', + 'PureVirtualError', + 'init_embind', + 'throwInternalError', + 'throwBindingError', + 'throwUnboundTypeError', + 'ensureOverloadTable', + 'exposePublicSymbol', + 'replacePublicSymbol', + 'extendError', + 'createNamedFunction', + 'embindRepr', + 'registeredInstances', + 'getBasestPointer', + 'registerInheritedInstance', + 'unregisterInheritedInstance', + 'getInheritedInstance', + 'getInheritedInstanceCount', + 'getLiveInheritedInstances', + 'registeredTypes', + 'awaitingDependencies', + 'typeDependencies', + 'registeredPointers', + 'registerType', + 'whenDependentTypesAreResolved', + 'embind_charCodes', + 'embind_init_charCodes', + 'readLatin1String', + 'getTypeName', + 'heap32VectorToArray', + 'requireRegisteredType', + 'getShiftFromSize', + 'integerReadValueFromPointer', + 'floatReadValueFromPointer', + 'simpleReadValueFromPointer', + 'runDestructors', + 'craftInvokerFunction', + 'embind__requireFunction', + 'tupleRegistrations', + 'structRegistrations', + 'genericPointerToWireType', + 'constNoSmartPtrRawPointerToWireType', + 'nonConstNoSmartPtrRawPointerToWireType', + 'init_RegisteredPointer', + 'RegisteredPointer', + 'RegisteredPointer_getPointee', + 'RegisteredPointer_destructor', + 'RegisteredPointer_deleteObject', + 'RegisteredPointer_fromWireType', + 'runDestructor', + 'releaseClassHandle', + 'finalizationRegistry', + 'detachFinalizer_deps', + 'detachFinalizer', + 'attachFinalizer', + 'makeClassHandle', + 'init_ClassHandle', + 'ClassHandle', + 'ClassHandle_isAliasOf', + 'throwInstanceAlreadyDeleted', + 'ClassHandle_clone', + 'ClassHandle_delete', + 'deletionQueue', + 'ClassHandle_isDeleted', + 'ClassHandle_deleteLater', + 'flushPendingDeletes', + 'delayFunction', + 'setDelayFunction', + 'RegisteredClass', + 'shallowCopyInternalPointer', + 'downcastPointer', + 'upcastPointer', + 'char_0', + 'char_9', + 'makeLegalFunctionName', + 'emval_handles', + 'emval_symbols', + 'init_emval', + 'count_emval_handles', + 'getStringOrSymbol', + 'Emval', + 'emval_newers', + 'emval_lookupTypes', + 'emval_allocateDestructors', + 'emval_methodCallers', + 'emval_addMethodCaller', + 'emval_registeredMethods', +]; +unexportedSymbols.forEach(unexportedRuntimeSymbol); + + + +var calledRun; + +dependenciesFulfilled = function runCaller() { + // If run has never been called, and we should call run (INVOKE_RUN is true, and Module.noInitialRun is not false) + if (!calledRun) run(); + if (!calledRun) dependenciesFulfilled = runCaller; // try this again later, after new deps are fulfilled +}; + +function stackCheckInit() { + // This is normally called automatically during __wasm_call_ctors but need to + // get these values before even running any of the ctors so we call it redundantly + // here. + _emscripten_stack_init(); + // TODO(sbc): Move writeStackCookie to native to to avoid this. + writeStackCookie(); +} + +function run() { + + if (runDependencies > 0) { + return; + } + + stackCheckInit(); + + preRun(); + + // a preRun added a dependency, run will be called later + if (runDependencies > 0) { + return; + } + + function doRun() { + // run may have just been called through dependencies being fulfilled just in this very frame, + // or while the async setStatus time below was happening + if (calledRun) return; + calledRun = true; + Module['calledRun'] = true; + + if (ABORT) return; + + initRuntime(); + + readyPromiseResolve(Module); + if (Module['onRuntimeInitialized']) Module['onRuntimeInitialized'](); + + assert(!Module['_main'], 'compiled without a main, but one is present. if you added it from JS, use Module["onRuntimeInitialized"]'); + + postRun(); + } + + if (Module['setStatus']) { + Module['setStatus']('Running...'); + setTimeout(function() { + setTimeout(function() { + Module['setStatus'](''); + }, 1); + doRun(); + }, 1); + } else + { + doRun(); + } + checkStackCookie(); +} + +function checkUnflushedContent() { + // Compiler settings do not allow exiting the runtime, so flushing + // the streams is not possible. but in ASSERTIONS mode we check + // if there was something to flush, and if so tell the user they + // should request that the runtime be exitable. + // Normally we would not even include flush() at all, but in ASSERTIONS + // builds we do so just for this check, and here we see if there is any + // content to flush, that is, we check if there would have been + // something a non-ASSERTIONS build would have not seen. + // How we flush the streams depends on whether we are in SYSCALLS_REQUIRE_FILESYSTEM=0 + // mode (which has its own special function for this; otherwise, all + // the code is inside libc) + var oldOut = out; + var oldErr = err; + var has = false; + out = err = (x) => { + has = true; + } + try { // it doesn't matter if it fails + flush_NO_FILESYSTEM(); + } catch(e) {} + out = oldOut; + err = oldErr; + if (has) { + warnOnce('stdio streams had content in them that was not flushed. you should set EXIT_RUNTIME to 1 (see the FAQ), or make sure to emit a newline when you printf etc.'); + warnOnce('(this may also be due to not including full filesystem support - try building with -sFORCE_FILESYSTEM)'); + } +} + +if (Module['preInit']) { + if (typeof Module['preInit'] == 'function') Module['preInit'] = [Module['preInit']]; + while (Module['preInit'].length > 0) { + Module['preInit'].pop()(); + } +} + +run(); + + +// end include: postamble.js + + + return Bullet.ready +} + +); +})(); +if (typeof exports === 'object' && typeof module === 'object') + module.exports = Bullet; +else if (typeof define === 'function' && define['amd']) + define([], function() { return Bullet; }); +else if (typeof exports === 'object') + exports["Bullet"] = Bullet; diff --git a/emscripten/bullet/bullet.debug.wasm.js b/emscripten/bullet/bullet.debug.wasm.js new file mode 100644 index 00000000..9f76722b --- /dev/null +++ b/emscripten/bullet/bullet.debug.wasm.js @@ -0,0 +1,3912 @@ + +var Bullet = (() => { + var _scriptDir = typeof document !== 'undefined' && document.currentScript ? document.currentScript.src : undefined; + + return ( +function(Bullet = {}) { + +// include: shell.js +// The Module object: Our interface to the outside world. We import +// and export values on it. There are various ways Module can be used: +// 1. Not defined. We create it here +// 2. A function parameter, function(Module) { ..generated code.. } +// 3. pre-run appended it, var Module = {}; ..generated code.. +// 4. External script tag defines var Module. +// We need to check if Module already exists (e.g. case 3 above). +// Substitution will be replaced with actual code on later stage of the build, +// this way Closure Compiler will not mangle it (e.g. case 4. above). +// Note that if you want to run closure, and also to use Module +// after the generated code, you will need to define var Module = {}; +// before the code. Then that object will be used in the code, and you +// can continue to use Module afterwards as well. +var Module = typeof Bullet != 'undefined' ? Bullet : {}; + +// Set up the promise that indicates the Module is initialized +var readyPromiseResolve, readyPromiseReject; +Module['ready'] = new Promise((resolve, reject) => { + readyPromiseResolve = resolve; + readyPromiseReject = reject; +}); +["_main","__embind_initialize_bindings","_fflush","onRuntimeInitialized"].forEach((prop) => { + if (!Object.getOwnPropertyDescriptor(Module['ready'], prop)) { + Object.defineProperty(Module['ready'], prop, { + get: () => abort('You are getting ' + prop + ' on the Promise object, instead of the instance. Use .then() to get called back with the instance, see the MODULARIZE docs in src/settings.js'), + set: () => abort('You are setting ' + prop + ' on the Promise object, instead of the instance. Use .then() to get called back with the instance, see the MODULARIZE docs in src/settings.js'), + }); + } +}); + +// --pre-jses are emitted after the Module integration code, so that they can +// refer to Module (if they choose; they can also define Module) + + +// Sometimes an existing Module object exists with properties +// meant to overwrite the default module functionality. Here +// we collect those properties and reapply _after_ we configure +// the current environment's defaults to avoid having to be so +// defensive during initialization. +var moduleOverrides = Object.assign({}, Module); + +var arguments_ = []; +var thisProgram = './this.program'; +var quit_ = (status, toThrow) => { + throw toThrow; +}; + +// Determine the runtime environment we are in. You can customize this by +// setting the ENVIRONMENT setting at compile time (see settings.js). + +var ENVIRONMENT_IS_WEB = true; +var ENVIRONMENT_IS_WORKER = false; +var ENVIRONMENT_IS_NODE = false; +var ENVIRONMENT_IS_SHELL = false; + +if (Module['ENVIRONMENT']) { + throw new Error('Module.ENVIRONMENT has been deprecated. To force the environment, use the ENVIRONMENT compile-time option (for example, -sENVIRONMENT=web or -sENVIRONMENT=node)'); +} + +// `/` should be present at the end if `scriptDirectory` is not empty +var scriptDirectory = ''; +function locateFile(path) { + if (Module['locateFile']) { + return Module['locateFile'](path, scriptDirectory); + } + return scriptDirectory + path; +} + +// Hooks that are implemented differently in different runtime environments. +var read_, + readAsync, + readBinary, + setWindowTitle; + +if (ENVIRONMENT_IS_SHELL) { + + if ((typeof process == 'object' && typeof require === 'function') || typeof window == 'object' || typeof importScripts == 'function') throw new Error('not compiled for this environment (did you build to HTML and try to run it not on the web, or set ENVIRONMENT to something - like node - and run it someplace else - like on the web?)'); + + if (typeof read != 'undefined') { + read_ = (f) => { + return read(f); + }; + } + + readBinary = (f) => { + let data; + if (typeof readbuffer == 'function') { + return new Uint8Array(readbuffer(f)); + } + data = read(f, 'binary'); + assert(typeof data == 'object'); + return data; + }; + + readAsync = (f, onload, onerror) => { + setTimeout(() => onload(readBinary(f)), 0); + }; + + if (typeof clearTimeout == 'undefined') { + globalThis.clearTimeout = (id) => {}; + } + + if (typeof scriptArgs != 'undefined') { + arguments_ = scriptArgs; + } else if (typeof arguments != 'undefined') { + arguments_ = arguments; + } + + if (typeof quit == 'function') { + quit_ = (status, toThrow) => { + // Unlike node which has process.exitCode, d8 has no such mechanism. So we + // have no way to set the exit code and then let the program exit with + // that code when it naturally stops running (say, when all setTimeouts + // have completed). For that reason, we must call `quit` - the only way to + // set the exit code - but quit also halts immediately. To increase + // consistency with node (and the web) we schedule the actual quit call + // using a setTimeout to give the current stack and any exception handlers + // a chance to run. This enables features such as addOnPostRun (which + // expected to be able to run code after main returns). + setTimeout(() => { + if (!(toThrow instanceof ExitStatus)) { + let toLog = toThrow; + if (toThrow && typeof toThrow == 'object' && toThrow.stack) { + toLog = [toThrow, toThrow.stack]; + } + err(`exiting due to exception: ${toLog}`); + } + quit(status); + }); + throw toThrow; + }; + } + + if (typeof print != 'undefined') { + // Prefer to use print/printErr where they exist, as they usually work better. + if (typeof console == 'undefined') console = /** @type{!Console} */({}); + console.log = /** @type{!function(this:Console, ...*): undefined} */ (print); + console.warn = console.error = /** @type{!function(this:Console, ...*): undefined} */ (typeof printErr != 'undefined' ? printErr : print); + } + +} else + +// Note that this includes Node.js workers when relevant (pthreads is enabled). +// Node.js workers are detected as a combination of ENVIRONMENT_IS_WORKER and +// ENVIRONMENT_IS_NODE. +if (ENVIRONMENT_IS_WEB || ENVIRONMENT_IS_WORKER) { + if (ENVIRONMENT_IS_WORKER) { // Check worker, not web, since window could be polyfilled + scriptDirectory = self.location.href; + } else if (typeof document != 'undefined' && document.currentScript) { // web + scriptDirectory = document.currentScript.src; + } + // When MODULARIZE, this JS may be executed later, after document.currentScript + // is gone, so we saved it, and we use it here instead of any other info. + if (_scriptDir) { + scriptDirectory = _scriptDir; + } + // blob urls look like blob:http://site.com/etc/etc and we cannot infer anything from them. + // otherwise, slice off the final part of the url to find the script directory. + // if scriptDirectory does not contain a slash, lastIndexOf will return -1, + // and scriptDirectory will correctly be replaced with an empty string. + // If scriptDirectory contains a query (starting with ?) or a fragment (starting with #), + // they are removed because they could contain a slash. + if (scriptDirectory.indexOf('blob:') !== 0) { + scriptDirectory = scriptDirectory.substr(0, scriptDirectory.replace(/[?#].*/, "").lastIndexOf('/')+1); + } else { + scriptDirectory = ''; + } + + if (!(typeof window == 'object' || typeof importScripts == 'function')) throw new Error('not compiled for this environment (did you build to HTML and try to run it not on the web, or set ENVIRONMENT to something - like node - and run it someplace else - like on the web?)'); + + // Differentiate the Web Worker from the Node Worker case, as reading must + // be done differently. + { +// include: web_or_worker_shell_read.js +read_ = (url) => { + var xhr = new XMLHttpRequest(); + xhr.open('GET', url, false); + xhr.send(null); + return xhr.responseText; + } + + if (ENVIRONMENT_IS_WORKER) { + readBinary = (url) => { + var xhr = new XMLHttpRequest(); + xhr.open('GET', url, false); + xhr.responseType = 'arraybuffer'; + xhr.send(null); + return new Uint8Array(/** @type{!ArrayBuffer} */(xhr.response)); + }; + } + + readAsync = (url, onload, onerror) => { + var xhr = new XMLHttpRequest(); + xhr.open('GET', url, true); + xhr.responseType = 'arraybuffer'; + xhr.onload = () => { + if (xhr.status == 200 || (xhr.status == 0 && xhr.response)) { // file URLs can return 0 + onload(xhr.response); + return; + } + onerror(); + }; + xhr.onerror = onerror; + xhr.send(null); + } + +// end include: web_or_worker_shell_read.js + } + + setWindowTitle = (title) => document.title = title; +} else +{ + throw new Error('environment detection error'); +} + +var out = Module['print'] || console.log.bind(console); +var err = Module['printErr'] || console.error.bind(console); + +// Merge back in the overrides +Object.assign(Module, moduleOverrides); +// Free the object hierarchy contained in the overrides, this lets the GC +// reclaim data used e.g. in memoryInitializerRequest, which is a large typed array. +moduleOverrides = null; +checkIncomingModuleAPI(); + +// Emit code to handle expected values on the Module object. This applies Module.x +// to the proper local x. This has two benefits: first, we only emit it if it is +// expected to arrive, and second, by using a local everywhere else that can be +// minified. + +if (Module['arguments']) arguments_ = Module['arguments'];legacyModuleProp('arguments', 'arguments_'); + +if (Module['thisProgram']) thisProgram = Module['thisProgram'];legacyModuleProp('thisProgram', 'thisProgram'); + +if (Module['quit']) quit_ = Module['quit'];legacyModuleProp('quit', 'quit_'); + +// perform assertions in shell.js after we set up out() and err(), as otherwise if an assertion fails it cannot print the message +// Assertions on removed incoming Module JS APIs. +assert(typeof Module['memoryInitializerPrefixURL'] == 'undefined', 'Module.memoryInitializerPrefixURL option was removed, use Module.locateFile instead'); +assert(typeof Module['pthreadMainPrefixURL'] == 'undefined', 'Module.pthreadMainPrefixURL option was removed, use Module.locateFile instead'); +assert(typeof Module['cdInitializerPrefixURL'] == 'undefined', 'Module.cdInitializerPrefixURL option was removed, use Module.locateFile instead'); +assert(typeof Module['filePackagePrefixURL'] == 'undefined', 'Module.filePackagePrefixURL option was removed, use Module.locateFile instead'); +assert(typeof Module['read'] == 'undefined', 'Module.read option was removed (modify read_ in JS)'); +assert(typeof Module['readAsync'] == 'undefined', 'Module.readAsync option was removed (modify readAsync in JS)'); +assert(typeof Module['readBinary'] == 'undefined', 'Module.readBinary option was removed (modify readBinary in JS)'); +assert(typeof Module['setWindowTitle'] == 'undefined', 'Module.setWindowTitle option was removed (modify setWindowTitle in JS)'); +assert(typeof Module['TOTAL_MEMORY'] == 'undefined', 'Module.TOTAL_MEMORY has been renamed Module.INITIAL_MEMORY'); +legacyModuleProp('read', 'read_'); +legacyModuleProp('readAsync', 'readAsync'); +legacyModuleProp('readBinary', 'readBinary'); +legacyModuleProp('setWindowTitle', 'setWindowTitle'); +var IDBFS = 'IDBFS is no longer included by default; build with -lidbfs.js'; +var PROXYFS = 'PROXYFS is no longer included by default; build with -lproxyfs.js'; +var WORKERFS = 'WORKERFS is no longer included by default; build with -lworkerfs.js'; +var NODEFS = 'NODEFS is no longer included by default; build with -lnodefs.js'; + +assert(!ENVIRONMENT_IS_WORKER, "worker environment detected but not enabled at build time. Add 'worker' to `-sENVIRONMENT` to enable."); + +assert(!ENVIRONMENT_IS_NODE, "node environment detected but not enabled at build time. Add 'node' to `-sENVIRONMENT` to enable."); + +assert(!ENVIRONMENT_IS_SHELL, "shell environment detected but not enabled at build time. Add 'shell' to `-sENVIRONMENT` to enable."); + + +// end include: shell.js +// include: preamble.js +// === Preamble library stuff === + +// Documentation for the public APIs defined in this file must be updated in: +// site/source/docs/api_reference/preamble.js.rst +// A prebuilt local version of the documentation is available at: +// site/build/text/docs/api_reference/preamble.js.txt +// You can also build docs locally as HTML or other formats in site/ +// An online HTML version (which may be of a different version of Emscripten) +// is up at http://kripken.github.io/emscripten-site/docs/api_reference/preamble.js.html + +var wasmBinary; +if (Module['wasmBinary']) wasmBinary = Module['wasmBinary'];legacyModuleProp('wasmBinary', 'wasmBinary'); +var noExitRuntime = Module['noExitRuntime'] || true;legacyModuleProp('noExitRuntime', 'noExitRuntime'); + +if (typeof WebAssembly != 'object') { + abort('no native wasm support detected'); +} + +// Wasm globals + +var wasmMemory; + +//======================================== +// Runtime essentials +//======================================== + +// whether we are quitting the application. no code should run after this. +// set in exit() and abort() +var ABORT = false; + +// set by exit() and abort(). Passed to 'onExit' handler. +// NOTE: This is also used as the process return code code in shell environments +// but only when noExitRuntime is false. +var EXITSTATUS; + +/** @type {function(*, string=)} */ +function assert(condition, text) { + if (!condition) { + abort('Assertion failed' + (text ? ': ' + text : '')); + } +} + +// We used to include malloc/free by default in the past. Show a helpful error in +// builds with assertions. + +// Memory management + +var HEAP, +/** @type {!Int8Array} */ + HEAP8, +/** @type {!Uint8Array} */ + HEAPU8, +/** @type {!Int16Array} */ + HEAP16, +/** @type {!Uint16Array} */ + HEAPU16, +/** @type {!Int32Array} */ + HEAP32, +/** @type {!Uint32Array} */ + HEAPU32, +/** @type {!Float32Array} */ + HEAPF32, +/** @type {!Float64Array} */ + HEAPF64; + +function updateMemoryViews() { + var b = wasmMemory.buffer; + Module['HEAP8'] = HEAP8 = new Int8Array(b); + Module['HEAP16'] = HEAP16 = new Int16Array(b); + Module['HEAP32'] = HEAP32 = new Int32Array(b); + Module['HEAPU8'] = HEAPU8 = new Uint8Array(b); + Module['HEAPU16'] = HEAPU16 = new Uint16Array(b); + Module['HEAPU32'] = HEAPU32 = new Uint32Array(b); + Module['HEAPF32'] = HEAPF32 = new Float32Array(b); + Module['HEAPF64'] = HEAPF64 = new Float64Array(b); +} + +assert(!Module['STACK_SIZE'], 'STACK_SIZE can no longer be set at runtime. Use -sSTACK_SIZE at link time') + +assert(typeof Int32Array != 'undefined' && typeof Float64Array !== 'undefined' && Int32Array.prototype.subarray != undefined && Int32Array.prototype.set != undefined, + 'JS engine does not provide full typed array support'); + +// If memory is defined in wasm, the user can't provide it, or set INITIAL_MEMORY +assert(!Module['wasmMemory'], 'Use of `wasmMemory` detected. Use -sIMPORTED_MEMORY to define wasmMemory externally'); +assert(!Module['INITIAL_MEMORY'], 'Detected runtime INITIAL_MEMORY setting. Use -sIMPORTED_MEMORY to define wasmMemory dynamically'); + +// include: runtime_init_table.js +// In regular non-RELOCATABLE mode the table is exported +// from the wasm module and this will be assigned once +// the exports are available. +var wasmTable; + +// end include: runtime_init_table.js +// include: runtime_stack_check.js +// Initializes the stack cookie. Called at the startup of main and at the startup of each thread in pthreads mode. +function writeStackCookie() { + var max = _emscripten_stack_get_end(); + assert((max & 3) == 0); + // If the stack ends at address zero we write our cookies 4 bytes into the + // stack. This prevents interference with SAFE_HEAP and ASAN which also + // monitor writes to address zero. + if (max == 0) { + max += 4; + } + // The stack grow downwards towards _emscripten_stack_get_end. + // We write cookies to the final two words in the stack and detect if they are + // ever overwritten. + HEAPU32[((max)>>2)] = 0x02135467; + HEAPU32[(((max)+(4))>>2)] = 0x89BACDFE; + // Also test the global address 0 for integrity. + HEAPU32[((0)>>2)] = 1668509029; +} + +function checkStackCookie() { + if (ABORT) return; + var max = _emscripten_stack_get_end(); + // See writeStackCookie(). + if (max == 0) { + max += 4; + } + var cookie1 = HEAPU32[((max)>>2)]; + var cookie2 = HEAPU32[(((max)+(4))>>2)]; + if (cookie1 != 0x02135467 || cookie2 != 0x89BACDFE) { + abort(`Stack overflow! Stack cookie has been overwritten at ${ptrToString(max)}, expected hex dwords 0x89BACDFE and 0x2135467, but received ${ptrToString(cookie2)} ${ptrToString(cookie1)}`); + } + // Also test the global address 0 for integrity. + if (HEAPU32[((0)>>2)] != 0x63736d65 /* 'emsc' */) { + abort('Runtime error: The application has corrupted its heap memory area (address zero)!'); + } +} + +// end include: runtime_stack_check.js +// include: runtime_assertions.js +// Endianness check +(function() { + var h16 = new Int16Array(1); + var h8 = new Int8Array(h16.buffer); + h16[0] = 0x6373; + if (h8[0] !== 0x73 || h8[1] !== 0x63) throw 'Runtime error: expected the system to be little-endian! (Run with -sSUPPORT_BIG_ENDIAN to bypass)'; +})(); + +// end include: runtime_assertions.js +var __ATPRERUN__ = []; // functions called before the runtime is initialized +var __ATINIT__ = []; // functions called during startup +var __ATEXIT__ = []; // functions called during shutdown +var __ATPOSTRUN__ = []; // functions called after the main() is called + +var runtimeInitialized = false; + +var runtimeKeepaliveCounter = 0; + +function keepRuntimeAlive() { + return noExitRuntime || runtimeKeepaliveCounter > 0; +} + +function preRun() { + if (Module['preRun']) { + if (typeof Module['preRun'] == 'function') Module['preRun'] = [Module['preRun']]; + while (Module['preRun'].length) { + addOnPreRun(Module['preRun'].shift()); + } + } + callRuntimeCallbacks(__ATPRERUN__); +} + +function initRuntime() { + assert(!runtimeInitialized); + runtimeInitialized = true; + + checkStackCookie(); + + + callRuntimeCallbacks(__ATINIT__); +} + +function postRun() { + checkStackCookie(); + + if (Module['postRun']) { + if (typeof Module['postRun'] == 'function') Module['postRun'] = [Module['postRun']]; + while (Module['postRun'].length) { + addOnPostRun(Module['postRun'].shift()); + } + } + + callRuntimeCallbacks(__ATPOSTRUN__); +} + +function addOnPreRun(cb) { + __ATPRERUN__.unshift(cb); +} + +function addOnInit(cb) { + __ATINIT__.unshift(cb); +} + +function addOnExit(cb) { +} + +function addOnPostRun(cb) { + __ATPOSTRUN__.unshift(cb); +} + +// include: runtime_math.js +// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/imul + +// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/fround + +// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/clz32 + +// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/trunc + +assert(Math.imul, 'This browser does not support Math.imul(), build with LEGACY_VM_SUPPORT or POLYFILL_OLD_MATH_FUNCTIONS to add in a polyfill'); +assert(Math.fround, 'This browser does not support Math.fround(), build with LEGACY_VM_SUPPORT or POLYFILL_OLD_MATH_FUNCTIONS to add in a polyfill'); +assert(Math.clz32, 'This browser does not support Math.clz32(), build with LEGACY_VM_SUPPORT or POLYFILL_OLD_MATH_FUNCTIONS to add in a polyfill'); +assert(Math.trunc, 'This browser does not support Math.trunc(), build with LEGACY_VM_SUPPORT or POLYFILL_OLD_MATH_FUNCTIONS to add in a polyfill'); + +// end include: runtime_math.js +// A counter of dependencies for calling run(). If we need to +// do asynchronous work before running, increment this and +// decrement it. Incrementing must happen in a place like +// Module.preRun (used by emcc to add file preloading). +// Note that you can add dependencies in preRun, even though +// it happens right before run - run will be postponed until +// the dependencies are met. +var runDependencies = 0; +var runDependencyWatcher = null; +var dependenciesFulfilled = null; // overridden to take different actions when all run dependencies are fulfilled +var runDependencyTracking = {}; + +function getUniqueRunDependency(id) { + var orig = id; + while (1) { + if (!runDependencyTracking[id]) return id; + id = orig + Math.random(); + } +} + +function addRunDependency(id) { + runDependencies++; + + if (Module['monitorRunDependencies']) { + Module['monitorRunDependencies'](runDependencies); + } + + if (id) { + assert(!runDependencyTracking[id]); + runDependencyTracking[id] = 1; + if (runDependencyWatcher === null && typeof setInterval != 'undefined') { + // Check for missing dependencies every few seconds + runDependencyWatcher = setInterval(() => { + if (ABORT) { + clearInterval(runDependencyWatcher); + runDependencyWatcher = null; + return; + } + var shown = false; + for (var dep in runDependencyTracking) { + if (!shown) { + shown = true; + err('still waiting on run dependencies:'); + } + err('dependency: ' + dep); + } + if (shown) { + err('(end of list)'); + } + }, 10000); + } + } else { + err('warning: run dependency added without ID'); + } +} + +function removeRunDependency(id) { + runDependencies--; + + if (Module['monitorRunDependencies']) { + Module['monitorRunDependencies'](runDependencies); + } + + if (id) { + assert(runDependencyTracking[id]); + delete runDependencyTracking[id]; + } else { + err('warning: run dependency removed without ID'); + } + if (runDependencies == 0) { + if (runDependencyWatcher !== null) { + clearInterval(runDependencyWatcher); + runDependencyWatcher = null; + } + if (dependenciesFulfilled) { + var callback = dependenciesFulfilled; + dependenciesFulfilled = null; + callback(); // can add another dependenciesFulfilled + } + } +} + +/** @param {string|number=} what */ +function abort(what) { + if (Module['onAbort']) { + Module['onAbort'](what); + } + + what = 'Aborted(' + what + ')'; + // TODO(sbc): Should we remove printing and leave it up to whoever + // catches the exception? + err(what); + + ABORT = true; + EXITSTATUS = 1; + + // Use a wasm runtime error, because a JS error might be seen as a foreign + // exception, which means we'd run destructors on it. We need the error to + // simply make the program stop. + // FIXME This approach does not work in Wasm EH because it currently does not assume + // all RuntimeErrors are from traps; it decides whether a RuntimeError is from + // a trap or not based on a hidden field within the object. So at the moment + // we don't have a way of throwing a wasm trap from JS. TODO Make a JS API that + // allows this in the wasm spec. + + // Suppress closure compiler warning here. Closure compiler's builtin extern + // defintion for WebAssembly.RuntimeError claims it takes no arguments even + // though it can. + // TODO(https://github.com/google/closure-compiler/pull/3913): Remove if/when upstream closure gets fixed. + /** @suppress {checkTypes} */ + var e = new WebAssembly.RuntimeError(what); + + readyPromiseReject(e); + // Throw the error whether or not MODULARIZE is set because abort is used + // in code paths apart from instantiation where an exception is expected + // to be thrown when abort is called. + throw e; +} + +// include: memoryprofiler.js +// end include: memoryprofiler.js +// show errors on likely calls to FS when it was not included +var FS = { + error: function() { + abort('Filesystem support (FS) was not included. The problem is that you are using files from JS, but files were not used from C/C++, so filesystem support was not auto-included. You can force-include filesystem support with -sFORCE_FILESYSTEM'); + }, + init: function() { FS.error() }, + createDataFile: function() { FS.error() }, + createPreloadedFile: function() { FS.error() }, + createLazyFile: function() { FS.error() }, + open: function() { FS.error() }, + mkdev: function() { FS.error() }, + registerDevice: function() { FS.error() }, + analyzePath: function() { FS.error() }, + + ErrnoError: function ErrnoError() { FS.error() }, +}; +Module['FS_createDataFile'] = FS.createDataFile; +Module['FS_createPreloadedFile'] = FS.createPreloadedFile; + +// include: URIUtils.js +// Prefix of data URIs emitted by SINGLE_FILE and related options. +var dataURIPrefix = 'data:application/octet-stream;base64,'; + +// Indicates whether filename is a base64 data URI. +function isDataURI(filename) { + // Prefix of data URIs emitted by SINGLE_FILE and related options. + return filename.startsWith(dataURIPrefix); +} + +// Indicates whether filename is delivered via file protocol (as opposed to http/https) +function isFileURI(filename) { + return filename.startsWith('file://'); +} + +// end include: URIUtils.js +/** @param {boolean=} fixedasm */ +function createExportWrapper(name, fixedasm) { + return function() { + var displayName = name; + var asm = fixedasm; + if (!fixedasm) { + asm = Module['asm']; + } + assert(runtimeInitialized, 'native function `' + displayName + '` called before runtime initialization'); + if (!asm[name]) { + assert(asm[name], 'exported native function `' + displayName + '` not found'); + } + return asm[name].apply(null, arguments); + }; +} + +// include: runtime_exceptions.js +// end include: runtime_exceptions.js +var wasmBinaryFile; + wasmBinaryFile = 'bullet.debug.wasm.wasm'; + if (!isDataURI(wasmBinaryFile)) { + wasmBinaryFile = locateFile(wasmBinaryFile); + } + +function getBinary(file) { + try { + if (file == wasmBinaryFile && wasmBinary) { + return new Uint8Array(wasmBinary); + } + if (readBinary) { + return readBinary(file); + } + throw "both async and sync fetching of the wasm failed"; + } + catch (err) { + abort(err); + } +} + +function getBinaryPromise(binaryFile) { + // If we don't have the binary yet, try to load it asynchronously. + // Fetch has some additional restrictions over XHR, like it can't be used on a file:// url. + // See https://github.com/github/fetch/pull/92#issuecomment-140665932 + // Cordova or Electron apps are typically loaded from a file:// url. + // So use fetch if it is available and the url is not a file, otherwise fall back to XHR. + if (!wasmBinary && (ENVIRONMENT_IS_WEB || ENVIRONMENT_IS_WORKER)) { + if (typeof fetch == 'function' + ) { + return fetch(binaryFile, { credentials: 'same-origin' }).then((response) => { + if (!response['ok']) { + throw "failed to load wasm binary file at '" + binaryFile + "'"; + } + return response['arrayBuffer'](); + }).catch(() => getBinary(binaryFile)); + } + } + + // Otherwise, getBinary should be able to get it synchronously + return Promise.resolve().then(() => getBinary(binaryFile)); +} + +function instantiateArrayBuffer(binaryFile, imports, receiver) { + return getBinaryPromise(binaryFile).then((binary) => { + return WebAssembly.instantiate(binary, imports); + }).then((instance) => { + return instance; + }).then(receiver, (reason) => { + err('failed to asynchronously prepare wasm: ' + reason); + + // Warn on some common problems. + if (isFileURI(wasmBinaryFile)) { + err('warning: Loading from a file URI (' + wasmBinaryFile + ') is not supported in most browsers. See https://emscripten.org/docs/getting_started/FAQ.html#how-do-i-run-a-local-webserver-for-testing-why-does-my-program-stall-in-downloading-or-preparing'); + } + abort(reason); + }); +} + +function instantiateAsync(binary, binaryFile, imports, callback) { + if (!binary && + typeof WebAssembly.instantiateStreaming == 'function' && + !isDataURI(binaryFile) && + typeof fetch == 'function') { + return fetch(binaryFile, { credentials: 'same-origin' }).then((response) => { + // Suppress closure warning here since the upstream definition for + // instantiateStreaming only allows Promise rather than + // an actual Response. + // TODO(https://github.com/google/closure-compiler/pull/3913): Remove if/when upstream closure is fixed. + /** @suppress {checkTypes} */ + var result = WebAssembly.instantiateStreaming(response, imports); + + return result.then( + callback, + function(reason) { + // We expect the most common failure cause to be a bad MIME type for the binary, + // in which case falling back to ArrayBuffer instantiation should work. + err('wasm streaming compile failed: ' + reason); + err('falling back to ArrayBuffer instantiation'); + return instantiateArrayBuffer(binaryFile, imports, callback); + }); + }); + } else { + return instantiateArrayBuffer(binaryFile, imports, callback); + } +} + +// Create the wasm instance. +// Receives the wasm imports, returns the exports. +function createWasm() { + // prepare imports + var info = { + 'env': wasmImports, + 'wasi_snapshot_preview1': wasmImports, + }; + // Load the wasm module and create an instance of using native support in the JS engine. + // handle a generated wasm instance, receiving its exports and + // performing other necessary setup + /** @param {WebAssembly.Module=} module*/ + function receiveInstance(instance, module) { + var exports = instance.exports; + + Module['asm'] = exports; + + wasmMemory = Module['asm']['memory']; + assert(wasmMemory, "memory not found in wasm exports"); + // This assertion doesn't hold when emscripten is run in --post-link + // mode. + // TODO(sbc): Read INITIAL_MEMORY out of the wasm file in post-link mode. + //assert(wasmMemory.buffer.byteLength === 16777216); + updateMemoryViews(); + + wasmTable = Module['asm']['__indirect_function_table']; + assert(wasmTable, "table not found in wasm exports"); + + addOnInit(Module['asm']['__wasm_call_ctors']); + + removeRunDependency('wasm-instantiate'); + return exports; + } + // wait for the pthread pool (if any) + addRunDependency('wasm-instantiate'); + + // Prefer streaming instantiation if available. + // Async compilation can be confusing when an error on the page overwrites Module + // (for example, if the order of elements is wrong, and the one defining Module is + // later), so we save Module and check it later. + var trueModule = Module; + function receiveInstantiationResult(result) { + // 'result' is a ResultObject object which has both the module and instance. + // receiveInstance() will swap in the exports (to Module.asm) so they can be called + assert(Module === trueModule, 'the Module object should not be replaced during async compilation - perhaps the order of HTML elements is wrong?'); + trueModule = null; + // TODO: Due to Closure regression https://github.com/google/closure-compiler/issues/3193, the above line no longer optimizes out down to the following line. + // When the regression is fixed, can restore the above PTHREADS-enabled path. + receiveInstance(result['instance']); + } + + // User shell pages can write their own Module.instantiateWasm = function(imports, successCallback) callback + // to manually instantiate the Wasm module themselves. This allows pages to + // run the instantiation parallel to any other async startup actions they are + // performing. + // Also pthreads and wasm workers initialize the wasm instance through this + // path. + if (Module['instantiateWasm']) { + + try { + return Module['instantiateWasm'](info, receiveInstance); + } catch(e) { + err('Module.instantiateWasm callback failed with error: ' + e); + // If instantiation fails, reject the module ready promise. + readyPromiseReject(e); + } + } + + // If instantiation fails, reject the module ready promise. + instantiateAsync(wasmBinary, wasmBinaryFile, info, receiveInstantiationResult).catch(readyPromiseReject); + return {}; // no exports yet; we'll fill them in later +} + +// Globals used by JS i64 conversions (see makeSetValue) +var tempDouble; +var tempI64; + +// include: runtime_debug.js +function legacyModuleProp(prop, newName) { + if (!Object.getOwnPropertyDescriptor(Module, prop)) { + Object.defineProperty(Module, prop, { + configurable: true, + get: function() { + abort('Module.' + prop + ' has been replaced with plain ' + newName + ' (the initial value can be provided on Module, but after startup the value is only looked for on a local variable of that name)'); + } + }); + } +} + +function ignoredModuleProp(prop) { + if (Object.getOwnPropertyDescriptor(Module, prop)) { + abort('`Module.' + prop + '` was supplied but `' + prop + '` not included in INCOMING_MODULE_JS_API'); + } +} + +// forcing the filesystem exports a few things by default +function isExportedByForceFilesystem(name) { + return name === 'FS_createPath' || + name === 'FS_createDataFile' || + name === 'FS_createPreloadedFile' || + name === 'FS_unlink' || + name === 'addRunDependency' || + // The old FS has some functionality that WasmFS lacks. + name === 'FS_createLazyFile' || + name === 'FS_createDevice' || + name === 'removeRunDependency'; +} + +function missingGlobal(sym, msg) { + if (typeof globalThis !== 'undefined') { + Object.defineProperty(globalThis, sym, { + configurable: true, + get: function() { + warnOnce('`' + sym + '` is not longer defined by emscripten. ' + msg); + return undefined; + } + }); + } +} + +missingGlobal('buffer', 'Please use HEAP8.buffer or wasmMemory.buffer'); + +function missingLibrarySymbol(sym) { + if (typeof globalThis !== 'undefined' && !Object.getOwnPropertyDescriptor(globalThis, sym)) { + Object.defineProperty(globalThis, sym, { + configurable: true, + get: function() { + // Can't `abort()` here because it would break code that does runtime + // checks. e.g. `if (typeof SDL === 'undefined')`. + var msg = '`' + sym + '` is a library symbol and not included by default; add it to your library.js __deps or to DEFAULT_LIBRARY_FUNCS_TO_INCLUDE on the command line'; + // DEFAULT_LIBRARY_FUNCS_TO_INCLUDE requires the name as it appears in + // library.js, which means $name for a JS name with no prefix, or name + // for a JS name like _name. + var librarySymbol = sym; + if (!librarySymbol.startsWith('_')) { + librarySymbol = '$' + sym; + } + msg += " (e.g. -sDEFAULT_LIBRARY_FUNCS_TO_INCLUDE=" + librarySymbol + ")"; + if (isExportedByForceFilesystem(sym)) { + msg += '. Alternatively, forcing filesystem support (-sFORCE_FILESYSTEM) can export this for you'; + } + warnOnce(msg); + return undefined; + } + }); + } + // Any symbol that is not included from the JS libary is also (by definition) + // not exported on the Module object. + unexportedRuntimeSymbol(sym); +} + +function unexportedRuntimeSymbol(sym) { + if (!Object.getOwnPropertyDescriptor(Module, sym)) { + Object.defineProperty(Module, sym, { + configurable: true, + get: function() { + var msg = "'" + sym + "' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)"; + if (isExportedByForceFilesystem(sym)) { + msg += '. Alternatively, forcing filesystem support (-sFORCE_FILESYSTEM) can export this for you'; + } + abort(msg); + } + }); + } +} + +// Used by XXXXX_DEBUG settings to output debug messages. +function dbg(text) { + // TODO(sbc): Make this configurable somehow. Its not always convenient for + // logging to show up as warnings. + console.warn.apply(console, arguments); +} + +// end include: runtime_debug.js +// === Body === + + +// end include: preamble.js + + /** @constructor */ + function ExitStatus(status) { + this.name = 'ExitStatus'; + this.message = `Program terminated with exit(${status})`; + this.status = status; + } + + function callRuntimeCallbacks(callbacks) { + while (callbacks.length > 0) { + // Pass the module as the first argument. + callbacks.shift()(Module); + } + } + + + /** + * @param {number} ptr + * @param {string} type + */ + function getValue(ptr, type = 'i8') { + if (type.endsWith('*')) type = '*'; + 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': abort('to do getValue(i64) use WASM_BIGINT'); + case 'float': return HEAPF32[((ptr)>>2)]; + case 'double': return HEAPF64[((ptr)>>3)]; + case '*': return HEAPU32[((ptr)>>2)]; + default: abort(`invalid type for getValue: ${type}`); + } + } + + function ptrToString(ptr) { + assert(typeof ptr === 'number'); + return '0x' + ptr.toString(16).padStart(8, '0'); + } + + + /** + * @param {number} ptr + * @param {number} value + * @param {string} type + */ + function setValue(ptr, value, type = 'i8') { + if (type.endsWith('*')) type = '*'; + switch (type) { + case 'i1': HEAP8[((ptr)>>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': abort('to do setValue(i64) use WASM_BIGINT'); + case 'float': HEAPF32[((ptr)>>2)] = value; break; + case 'double': HEAPF64[((ptr)>>3)] = value; break; + case '*': HEAPU32[((ptr)>>2)] = value; break; + default: abort(`invalid type for setValue: ${type}`); + } + } + + function warnOnce(text) { + if (!warnOnce.shown) warnOnce.shown = {}; + if (!warnOnce.shown[text]) { + warnOnce.shown[text] = 1; + err(text); + } + } + + var UTF8Decoder = typeof TextDecoder != 'undefined' ? new TextDecoder('utf8') : undefined; + + /** + * Given a pointer 'idx' to a null-terminated UTF8-encoded string in the given + * array that contains uint8 values, returns a copy of that string as a + * Javascript String object. + * heapOrArray is either a regular array, or a JavaScript typed array view. + * @param {number} idx + * @param {number=} maxBytesToRead + * @return {string} + */ + function UTF8ArrayToString(heapOrArray, idx, maxBytesToRead) { + var endIdx = idx + maxBytesToRead; + var endPtr = idx; + // TextDecoder needs to know the byte length in advance, it doesn't stop on + // null terminator by itself. Also, use the length info to avoid running tiny + // strings through TextDecoder, since .subarray() allocates garbage. + // (As a tiny code save trick, compare endPtr against endIdx using a negation, + // so that undefined means Infinity) + while (heapOrArray[endPtr] && !(endPtr >= endIdx)) ++endPtr; + + if (endPtr - idx > 16 && heapOrArray.buffer && UTF8Decoder) { + return UTF8Decoder.decode(heapOrArray.subarray(idx, endPtr)); + } + var str = ''; + // If building with TextDecoder, we have already computed the string length + // above, so test loop end condition against that + while (idx < endPtr) { + // For UTF8 byte structure, see: + // http://en.wikipedia.org/wiki/UTF-8#Description + // https://www.ietf.org/rfc/rfc2279.txt + // https://tools.ietf.org/html/rfc3629 + var u0 = heapOrArray[idx++]; + if (!(u0 & 0x80)) { str += String.fromCharCode(u0); continue; } + var u1 = heapOrArray[idx++] & 63; + if ((u0 & 0xE0) == 0xC0) { str += String.fromCharCode(((u0 & 31) << 6) | u1); continue; } + var u2 = heapOrArray[idx++] & 63; + if ((u0 & 0xF0) == 0xE0) { + u0 = ((u0 & 15) << 12) | (u1 << 6) | u2; + } else { + if ((u0 & 0xF8) != 0xF0) warnOnce('Invalid UTF-8 leading byte ' + ptrToString(u0) + ' encountered when deserializing a UTF-8 string in wasm memory to a JS string!'); + u0 = ((u0 & 7) << 18) | (u1 << 12) | (u2 << 6) | (heapOrArray[idx++] & 63); + } + + if (u0 < 0x10000) { + str += String.fromCharCode(u0); + } else { + var ch = u0 - 0x10000; + str += String.fromCharCode(0xD800 | (ch >> 10), 0xDC00 | (ch & 0x3FF)); + } + } + return str; + } + + + /** + * Given a pointer 'ptr' to a null-terminated UTF8-encoded string in the + * emscripten HEAP, returns a copy of that string as a Javascript String object. + * + * @param {number} ptr + * @param {number=} maxBytesToRead - An optional length that specifies the + * maximum number of bytes to read. You can omit this parameter to scan the + * string until the first 0 byte. If maxBytesToRead is passed, and the string + * at [ptr, ptr+maxBytesToReadr[ contains a null byte in the middle, then the + * string will cut short at that byte index (i.e. maxBytesToRead will not + * produce a string of exact length [ptr, ptr+maxBytesToRead[) N.B. mixing + * frequent uses of UTF8ToString() with and without maxBytesToRead may throw + * JS JIT optimizations off, so it is worth to consider consistently using one + * @return {string} + */ + function UTF8ToString(ptr, maxBytesToRead) { + assert(typeof ptr == 'number'); + return ptr ? UTF8ArrayToString(HEAPU8, ptr, maxBytesToRead) : ''; + } + function ___assert_fail(condition, filename, line, func) { + abort(`Assertion failed: ${UTF8ToString(condition)}, at: ` + [filename ? UTF8ToString(filename) : 'unknown filename', line, func ? UTF8ToString(func) : 'unknown function']); + } + + var char_0 = 48; + + var char_9 = 57; + function makeLegalFunctionName(name) { + if (undefined === name) { + return '_unknown'; + } + name = name.replace(/[^a-zA-Z0-9_]/g, '$'); + var f = name.charCodeAt(0); + if (f >= char_0 && f <= char_9) { + return `_${name}`; + } + return name; + } + function createNamedFunction(name, body) { + name = makeLegalFunctionName(name); + // Use an abject with a computed property name to create a new function with + // a name specified at runtime, but without using `new Function` or `eval`. + return { + [name]: function() { + return body.apply(this, arguments); + } + }[name]; + } + + /** @constructor */ + function HandleAllocator() { + // Reserve slot 0 so that 0 is always an invalid handle + this.allocated = [undefined]; + this.freelist = []; + this.get = function(id) { + assert(this.allocated[id] !== undefined, `invalid handle: ${id}`); + return this.allocated[id]; + }; + this.has = function(id) { + return this.allocated[id] !== undefined; + }; + this.allocate = function(handle) { + var id = this.freelist.pop() || this.allocated.length; + this.allocated[id] = handle; + return id; + }; + this.free = function(id) { + assert(this.allocated[id] !== undefined); + // Set the slot to `undefined` rather than using `delete` here since + // apparently arrays with holes in them can be less efficient. + this.allocated[id] = undefined; + this.freelist.push(id); + }; + } + var emval_handles = new HandleAllocator();; + + function extendError(baseErrorType, errorName) { + var errorClass = createNamedFunction(errorName, function(message) { + this.name = errorName; + this.message = message; + + var stack = (new Error(message)).stack; + if (stack !== undefined) { + this.stack = this.toString() + '\n' + + stack.replace(/^Error(:[^\n]*)?\n/, ''); + } + }); + errorClass.prototype = Object.create(baseErrorType.prototype); + errorClass.prototype.constructor = errorClass; + errorClass.prototype.toString = function() { + if (this.message === undefined) { + return this.name; + } else { + return `${this.name}: ${this.message}`; + } + }; + + return errorClass; + } + var BindingError = undefined; + function throwBindingError(message) { + throw new BindingError(message); + } + + function count_emval_handles() { + var count = 0; + for (var i = emval_handles.reserved; i < emval_handles.allocated.length; ++i) { + if (emval_handles.allocated[i] !== undefined) { + ++count; + } + } + return count; + } + + function init_emval() { + // reserve some special values. These never get de-allocated. + // The HandleAllocator takes care of reserving zero. + emval_handles.allocated.push( + {value: undefined}, + {value: null}, + {value: true}, + {value: false}, + ); + emval_handles.reserved = emval_handles.allocated.length + Module['count_emval_handles'] = count_emval_handles; + } + var Emval = {toValue:(handle) => { + if (!handle) { + throwBindingError('Cannot use deleted val. handle = ' + handle); + } + return emval_handles.get(handle).value; + },toHandle:(value) => { + switch (value) { + case undefined: return 1; + case null: return 2; + case true: return 3; + case false: return 4; + default:{ + return emval_handles.allocate({refcount: 1, value: value}); + } + } + }}; + + var PureVirtualError = undefined; + + function embind_init_charCodes() { + var codes = new Array(256); + for (var i = 0; i < 256; ++i) { + codes[i] = String.fromCharCode(i); + } + embind_charCodes = codes; + } + var embind_charCodes = undefined; + function readLatin1String(ptr) { + var ret = ""; + var c = ptr; + while (HEAPU8[c]) { + ret += embind_charCodes[HEAPU8[c++]]; + } + return ret; + } + + function getInheritedInstanceCount() { + return Object.keys(registeredInstances).length; + } + + function getLiveInheritedInstances() { + var rv = []; + for (var k in registeredInstances) { + if (registeredInstances.hasOwnProperty(k)) { + rv.push(registeredInstances[k]); + } + } + return rv; + } + + var deletionQueue = []; + function flushPendingDeletes() { + while (deletionQueue.length) { + var obj = deletionQueue.pop(); + obj.$$.deleteScheduled = false; + obj['delete'](); + } + } + + var delayFunction = undefined; + + + function setDelayFunction(fn) { + delayFunction = fn; + if (deletionQueue.length && delayFunction) { + delayFunction(flushPendingDeletes); + } + } + function init_embind() { + Module['getInheritedInstanceCount'] = getInheritedInstanceCount; + Module['getLiveInheritedInstances'] = getLiveInheritedInstances; + Module['flushPendingDeletes'] = flushPendingDeletes; + Module['setDelayFunction'] = setDelayFunction; + } + var registeredInstances = {}; + + function getBasestPointer(class_, ptr) { + if (ptr === undefined) { + throwBindingError('ptr should not be undefined'); + } + while (class_.baseClass) { + ptr = class_.upcast(ptr); + class_ = class_.baseClass; + } + return ptr; + } + + function registerInheritedInstance(class_, ptr, instance) { + ptr = getBasestPointer(class_, ptr); + if (registeredInstances.hasOwnProperty(ptr)) { + throwBindingError(`Tried to register registered instance: ${ptr}`); + } else { + registeredInstances[ptr] = instance; + } + } + + var registeredTypes = {}; + + + + function getTypeName(type) { + var ptr = ___getTypeName(type); + var rv = readLatin1String(ptr); + _free(ptr); + return rv; + } + + function requireRegisteredType(rawType, humanName) { + var impl = registeredTypes[rawType]; + if (undefined === impl) { + throwBindingError(humanName + " has unknown type " + getTypeName(rawType)); + } + return impl; + } + + + + + function unregisterInheritedInstance(class_, ptr) { + ptr = getBasestPointer(class_, ptr); + if (registeredInstances.hasOwnProperty(ptr)) { + delete registeredInstances[ptr]; + } else { + throwBindingError(`Tried to unregister unregistered instance: ${ptr}`); + } + } + + function detachFinalizer(handle) {} + + var finalizationRegistry = false; + + + function runDestructor($$) { + if ($$.smartPtr) { + $$.smartPtrType.rawDestructor($$.smartPtr); + } else { + $$.ptrType.registeredClass.rawDestructor($$.ptr); + } + } + function releaseClassHandle($$) { + $$.count.value -= 1; + var toDelete = 0 === $$.count.value; + if (toDelete) { + runDestructor($$); + } + } + + function downcastPointer(ptr, ptrClass, desiredClass) { + if (ptrClass === desiredClass) { + return ptr; + } + if (undefined === desiredClass.baseClass) { + return null; // no conversion + } + + var rv = downcastPointer(ptr, ptrClass, desiredClass.baseClass); + if (rv === null) { + return null; + } + return desiredClass.downcast(rv); + } + + var registeredPointers = {}; + + + function getInheritedInstance(class_, ptr) { + ptr = getBasestPointer(class_, ptr); + return registeredInstances[ptr]; + } + + var InternalError = undefined; + function throwInternalError(message) { + throw new InternalError(message); + } + + function makeClassHandle(prototype, record) { + if (!record.ptrType || !record.ptr) { + throwInternalError('makeClassHandle requires ptr and ptrType'); + } + var hasSmartPtrType = !!record.smartPtrType; + var hasSmartPtr = !!record.smartPtr; + if (hasSmartPtrType !== hasSmartPtr) { + throwInternalError('Both smartPtrType and smartPtr must be specified'); + } + record.count = { value: 1 }; + return attachFinalizer(Object.create(prototype, { + $$: { + value: record, + }, + })); + } + function RegisteredPointer_fromWireType(ptr) { + // ptr is a raw pointer (or a raw smartpointer) + + // rawPointer is a maybe-null raw pointer + var rawPointer = this.getPointee(ptr); + if (!rawPointer) { + this.destructor(ptr); + return null; + } + + var registeredInstance = getInheritedInstance(this.registeredClass, rawPointer); + if (undefined !== registeredInstance) { + // JS object has been neutered, time to repopulate it + if (0 === registeredInstance.$$.count.value) { + registeredInstance.$$.ptr = rawPointer; + registeredInstance.$$.smartPtr = ptr; + return registeredInstance['clone'](); + } else { + // else, just increment reference count on existing object + // it already has a reference to the smart pointer + var rv = registeredInstance['clone'](); + this.destructor(ptr); + return rv; + } + } + + function makeDefaultHandle() { + if (this.isSmartPointer) { + return makeClassHandle(this.registeredClass.instancePrototype, { + ptrType: this.pointeeType, + ptr: rawPointer, + smartPtrType: this, + smartPtr: ptr, + }); + } else { + return makeClassHandle(this.registeredClass.instancePrototype, { + ptrType: this, + ptr: ptr, + }); + } + } + + var actualType = this.registeredClass.getActualType(rawPointer); + var registeredPointerRecord = registeredPointers[actualType]; + if (!registeredPointerRecord) { + return makeDefaultHandle.call(this); + } + + var toType; + if (this.isConst) { + toType = registeredPointerRecord.constPointerType; + } else { + toType = registeredPointerRecord.pointerType; + } + var dp = downcastPointer( + rawPointer, + this.registeredClass, + toType.registeredClass); + if (dp === null) { + return makeDefaultHandle.call(this); + } + if (this.isSmartPointer) { + return makeClassHandle(toType.registeredClass.instancePrototype, { + ptrType: toType, + ptr: dp, + smartPtrType: this, + smartPtr: ptr, + }); + } else { + return makeClassHandle(toType.registeredClass.instancePrototype, { + ptrType: toType, + ptr: dp, + }); + } + } + function attachFinalizer(handle) { + if ('undefined' === typeof FinalizationRegistry) { + attachFinalizer = (handle) => handle; + return handle; + } + // If the running environment has a FinalizationRegistry (see + // https://github.com/tc39/proposal-weakrefs), then attach finalizers + // for class handles. We check for the presence of FinalizationRegistry + // at run-time, not build-time. + finalizationRegistry = new FinalizationRegistry((info) => { + console.warn(info.leakWarning.stack.replace(/^Error: /, '')); + releaseClassHandle(info.$$); + }); + attachFinalizer = (handle) => { + var $$ = handle.$$; + var hasSmartPtr = !!$$.smartPtr; + if (hasSmartPtr) { + // We should not call the destructor on raw pointers in case other code expects the pointee to live + var info = { $$: $$ }; + // Create a warning as an Error instance in advance so that we can store + // the current stacktrace and point to it when / if a leak is detected. + // This is more useful than the empty stacktrace of `FinalizationRegistry` + // callback. + var cls = $$.ptrType.registeredClass; + info.leakWarning = new Error(`Embind found a leaked C++ instance ${cls.name} <${ptrToString($$.ptr)}>.\n` + + "We'll free it automatically in this case, but this functionality is not reliable across various environments.\n" + + "Make sure to invoke .delete() manually once you're done with the instance instead.\n" + + "Originally allocated"); // `.stack` will add "at ..." after this sentence + if ('captureStackTrace' in Error) { + Error.captureStackTrace(info.leakWarning, RegisteredPointer_fromWireType); + } + finalizationRegistry.register(handle, info, handle); + } + return handle; + }; + detachFinalizer = (handle) => finalizationRegistry.unregister(handle); + return attachFinalizer(handle); + } + function __embind_create_inheriting_constructor(constructorName, wrapperType, properties) { + constructorName = readLatin1String(constructorName); + wrapperType = requireRegisteredType(wrapperType, 'wrapper'); + properties = Emval.toValue(properties); + + var arraySlice = [].slice; + + var registeredClass = wrapperType.registeredClass; + var wrapperPrototype = registeredClass.instancePrototype; + var baseClass = registeredClass.baseClass; + var baseClassPrototype = baseClass.instancePrototype; + var baseConstructor = registeredClass.baseClass.constructor; + var ctor = createNamedFunction(constructorName, function() { + registeredClass.baseClass.pureVirtualFunctions.forEach(function(name) { + if (this[name] === baseClassPrototype[name]) { + throw new PureVirtualError(`Pure virtual function ${name} must be implemented in JavaScript`); + } + }.bind(this)); + + Object.defineProperty(this, '__parent', { + value: wrapperPrototype + }); + this["__construct"].apply(this, arraySlice.call(arguments)); + }); + + // It's a little nasty that we're modifying the wrapper prototype here. + + wrapperPrototype["__construct"] = function __construct() { + if (this === wrapperPrototype) { + throwBindingError("Pass correct 'this' to __construct"); + } + + var inner = baseConstructor["implement"].apply( + undefined, + [this].concat(arraySlice.call(arguments))); + detachFinalizer(inner); + var $$ = inner.$$; + inner["notifyOnDestruction"](); + $$.preservePointerOnDelete = true; + Object.defineProperties(this, { $$: { + value: $$ + }}); + attachFinalizer(this); + registerInheritedInstance(registeredClass, $$.ptr, this); + }; + + wrapperPrototype["__destruct"] = function __destruct() { + if (this === wrapperPrototype) { + throwBindingError("Pass correct 'this' to __destruct"); + } + + detachFinalizer(this); + unregisterInheritedInstance(registeredClass, this.$$.ptr); + }; + + ctor.prototype = Object.create(wrapperPrototype); + for (var p in properties) { + ctor.prototype[p] = properties[p]; + } + return Emval.toHandle(ctor); + } + + function __embind_register_bigint(primitiveType, name, size, minRange, maxRange) {} + + function getShiftFromSize(size) { + switch (size) { + case 1: return 0; + case 2: return 1; + case 4: return 2; + case 8: return 3; + default: + throw new TypeError(`Unknown type size: ${size}`); + } + } + + + var awaitingDependencies = {}; + + + var typeDependencies = {}; + + + + + + function whenDependentTypesAreResolved(myTypes, dependentTypes, getTypeConverters) { + myTypes.forEach(function(type) { + typeDependencies[type] = dependentTypes; + }); + + function onComplete(typeConverters) { + var myTypeConverters = getTypeConverters(typeConverters); + if (myTypeConverters.length !== myTypes.length) { + throwInternalError('Mismatched type converter count'); + } + for (var i = 0; i < myTypes.length; ++i) { + registerType(myTypes[i], myTypeConverters[i]); + } + } + + var typeConverters = new Array(dependentTypes.length); + var unregisteredTypes = []; + var registered = 0; + dependentTypes.forEach((dt, i) => { + if (registeredTypes.hasOwnProperty(dt)) { + typeConverters[i] = registeredTypes[dt]; + } else { + unregisteredTypes.push(dt); + if (!awaitingDependencies.hasOwnProperty(dt)) { + awaitingDependencies[dt] = []; + } + awaitingDependencies[dt].push(() => { + typeConverters[i] = registeredTypes[dt]; + ++registered; + if (registered === unregisteredTypes.length) { + onComplete(typeConverters); + } + }); + } + }); + if (0 === unregisteredTypes.length) { + onComplete(typeConverters); + } + } + /** @param {Object=} options */ + function registerType(rawType, registeredInstance, options = {}) { + if (!('argPackAdvance' in registeredInstance)) { + throw new TypeError('registerType registeredInstance requires argPackAdvance'); + } + + var name = registeredInstance.name; + if (!rawType) { + throwBindingError(`type "${name}" must have a positive integer typeid pointer`); + } + if (registeredTypes.hasOwnProperty(rawType)) { + if (options.ignoreDuplicateRegistrations) { + return; + } else { + throwBindingError(`Cannot register type '${name}' twice`); + } + } + + registeredTypes[rawType] = registeredInstance; + delete typeDependencies[rawType]; + + if (awaitingDependencies.hasOwnProperty(rawType)) { + var callbacks = awaitingDependencies[rawType]; + delete awaitingDependencies[rawType]; + callbacks.forEach((cb) => cb()); + } + } + function __embind_register_bool(rawType, name, size, trueValue, falseValue) { + var shift = getShiftFromSize(size); + + name = readLatin1String(name); + registerType(rawType, { + name: name, + 'fromWireType': function(wt) { + // ambiguous emscripten ABI: sometimes return values are + // true or false, and sometimes integers (0 or 1) + return !!wt; + }, + 'toWireType': function(destructors, o) { + return o ? trueValue : falseValue; + }, + 'argPackAdvance': 8, + 'readValueFromPointer': function(pointer) { + // TODO: if heap is fixed (like in asm.js) this could be executed outside + var heap; + if (size === 1) { + heap = HEAP8; + } else if (size === 2) { + heap = HEAP16; + } else if (size === 4) { + heap = HEAP32; + } else { + throw new TypeError("Unknown boolean type size: " + name); + } + return this['fromWireType'](heap[pointer >> shift]); + }, + destructorFunction: null, // This type does not need a destructor + }); + } + + + function ClassHandle_isAliasOf(other) { + if (!(this instanceof ClassHandle)) { + return false; + } + if (!(other instanceof ClassHandle)) { + return false; + } + + var leftClass = this.$$.ptrType.registeredClass; + var left = this.$$.ptr; + var rightClass = other.$$.ptrType.registeredClass; + var right = other.$$.ptr; + + while (leftClass.baseClass) { + left = leftClass.upcast(left); + leftClass = leftClass.baseClass; + } + + while (rightClass.baseClass) { + right = rightClass.upcast(right); + rightClass = rightClass.baseClass; + } + + return leftClass === rightClass && left === right; + } + + function shallowCopyInternalPointer(o) { + return { + count: o.count, + deleteScheduled: o.deleteScheduled, + preservePointerOnDelete: o.preservePointerOnDelete, + ptr: o.ptr, + ptrType: o.ptrType, + smartPtr: o.smartPtr, + smartPtrType: o.smartPtrType, + }; + } + + function throwInstanceAlreadyDeleted(obj) { + function getInstanceTypeName(handle) { + return handle.$$.ptrType.registeredClass.name; + } + throwBindingError(getInstanceTypeName(obj) + ' instance already deleted'); + } + + function ClassHandle_clone() { + if (!this.$$.ptr) { + throwInstanceAlreadyDeleted(this); + } + + if (this.$$.preservePointerOnDelete) { + this.$$.count.value += 1; + return this; + } else { + var clone = attachFinalizer(Object.create(Object.getPrototypeOf(this), { + $$: { + value: shallowCopyInternalPointer(this.$$), + } + })); + + clone.$$.count.value += 1; + clone.$$.deleteScheduled = false; + return clone; + } + } + + + + + function ClassHandle_delete() { + if (!this.$$.ptr) { + throwInstanceAlreadyDeleted(this); + } + + if (this.$$.deleteScheduled && !this.$$.preservePointerOnDelete) { + throwBindingError('Object already scheduled for deletion'); + } + + detachFinalizer(this); + releaseClassHandle(this.$$); + + if (!this.$$.preservePointerOnDelete) { + this.$$.smartPtr = undefined; + this.$$.ptr = undefined; + } + } + + function ClassHandle_isDeleted() { + return !this.$$.ptr; + } + + + + function ClassHandle_deleteLater() { + if (!this.$$.ptr) { + throwInstanceAlreadyDeleted(this); + } + if (this.$$.deleteScheduled && !this.$$.preservePointerOnDelete) { + throwBindingError('Object already scheduled for deletion'); + } + deletionQueue.push(this); + if (deletionQueue.length === 1 && delayFunction) { + delayFunction(flushPendingDeletes); + } + this.$$.deleteScheduled = true; + return this; + } + function init_ClassHandle() { + ClassHandle.prototype['isAliasOf'] = ClassHandle_isAliasOf; + ClassHandle.prototype['clone'] = ClassHandle_clone; + ClassHandle.prototype['delete'] = ClassHandle_delete; + ClassHandle.prototype['isDeleted'] = ClassHandle_isDeleted; + ClassHandle.prototype['deleteLater'] = ClassHandle_deleteLater; + } + function ClassHandle() { + } + + + + function ensureOverloadTable(proto, methodName, humanName) { + if (undefined === proto[methodName].overloadTable) { + var prevFunc = proto[methodName]; + // Inject an overload resolver function that routes to the appropriate overload based on the number of arguments. + proto[methodName] = function() { + // TODO This check can be removed in -O3 level "unsafe" optimizations. + if (!proto[methodName].overloadTable.hasOwnProperty(arguments.length)) { + throwBindingError(`Function '${humanName}' called with an invalid number of arguments (${arguments.length}) - expects one of (${proto[methodName].overloadTable})!`); + } + return proto[methodName].overloadTable[arguments.length].apply(this, arguments); + }; + // Move the previous function into the overload table. + proto[methodName].overloadTable = []; + proto[methodName].overloadTable[prevFunc.argCount] = prevFunc; + } + } + + /** @param {number=} numArguments */ + function exposePublicSymbol(name, value, numArguments) { + if (Module.hasOwnProperty(name)) { + if (undefined === numArguments || (undefined !== Module[name].overloadTable && undefined !== Module[name].overloadTable[numArguments])) { + throwBindingError(`Cannot register public name '${name}' twice`); + } + + // We are exposing a function with the same name as an existing function. Create an overload table and a function selector + // that routes between the two. + ensureOverloadTable(Module, name, name); + if (Module.hasOwnProperty(numArguments)) { + throwBindingError(`Cannot register multiple overloads of a function with the same number of arguments (${numArguments})!`); + } + // Add the new function into the overload table. + Module[name].overloadTable[numArguments] = value; + } + else { + Module[name] = value; + if (undefined !== numArguments) { + Module[name].numArguments = numArguments; + } + } + } + + + + /** @constructor */ + function RegisteredClass(name, + constructor, + instancePrototype, + rawDestructor, + baseClass, + getActualType, + upcast, + downcast) { + this.name = name; + this.constructor = constructor; + this.instancePrototype = instancePrototype; + this.rawDestructor = rawDestructor; + this.baseClass = baseClass; + this.getActualType = getActualType; + this.upcast = upcast; + this.downcast = downcast; + this.pureVirtualFunctions = []; + } + + + function upcastPointer(ptr, ptrClass, desiredClass) { + while (ptrClass !== desiredClass) { + if (!ptrClass.upcast) { + throwBindingError(`Expected null or instance of ${desiredClass.name}, got an instance of ${ptrClass.name}`); + } + ptr = ptrClass.upcast(ptr); + ptrClass = ptrClass.baseClass; + } + return ptr; + } + function constNoSmartPtrRawPointerToWireType(destructors, handle) { + if (handle === null) { + if (this.isReference) { + throwBindingError(`null is not a valid ${this.name}`); + } + return 0; + } + + if (!handle.$$) { + throwBindingError(`Cannot pass "${embindRepr(handle)}" as a ${this.name}`); + } + if (!handle.$$.ptr) { + throwBindingError(`Cannot pass deleted object as a pointer of type ${this.name}`); + } + var handleClass = handle.$$.ptrType.registeredClass; + var ptr = upcastPointer(handle.$$.ptr, handleClass, this.registeredClass); + return ptr; + } + + + function genericPointerToWireType(destructors, handle) { + var ptr; + if (handle === null) { + if (this.isReference) { + throwBindingError(`null is not a valid ${this.name}`); + } + + if (this.isSmartPointer) { + ptr = this.rawConstructor(); + if (destructors !== null) { + destructors.push(this.rawDestructor, ptr); + } + return ptr; + } else { + return 0; + } + } + + if (!handle.$$) { + throwBindingError(`Cannot pass "${embindRepr(handle)}" as a ${this.name}`); + } + if (!handle.$$.ptr) { + throwBindingError(`Cannot pass deleted object as a pointer of type ${this.name}`); + } + if (!this.isConst && handle.$$.ptrType.isConst) { + throwBindingError(`Cannot convert argument of type ${(handle.$$.smartPtrType ? handle.$$.smartPtrType.name : handle.$$.ptrType.name)} to parameter type ${this.name}`); + } + var handleClass = handle.$$.ptrType.registeredClass; + ptr = upcastPointer(handle.$$.ptr, handleClass, this.registeredClass); + + if (this.isSmartPointer) { + // TODO: this is not strictly true + // We could support BY_EMVAL conversions from raw pointers to smart pointers + // because the smart pointer can hold a reference to the handle + if (undefined === handle.$$.smartPtr) { + throwBindingError('Passing raw pointer to smart pointer is illegal'); + } + + switch (this.sharingPolicy) { + case 0: // NONE + // no upcasting + if (handle.$$.smartPtrType === this) { + ptr = handle.$$.smartPtr; + } else { + throwBindingError(`Cannot convert argument of type ${(handle.$$.smartPtrType ? handle.$$.smartPtrType.name : handle.$$.ptrType.name)} to parameter type ${this.name}`); + } + break; + + case 1: // INTRUSIVE + ptr = handle.$$.smartPtr; + break; + + case 2: // BY_EMVAL + if (handle.$$.smartPtrType === this) { + ptr = handle.$$.smartPtr; + } else { + var clonedHandle = handle['clone'](); + ptr = this.rawShare( + ptr, + Emval.toHandle(function() { + clonedHandle['delete'](); + }) + ); + if (destructors !== null) { + destructors.push(this.rawDestructor, ptr); + } + } + break; + + default: + throwBindingError('Unsupporting sharing policy'); + } + } + return ptr; + } + + + function nonConstNoSmartPtrRawPointerToWireType(destructors, handle) { + if (handle === null) { + if (this.isReference) { + throwBindingError(`null is not a valid ${this.name}`); + } + return 0; + } + + if (!handle.$$) { + throwBindingError(`Cannot pass "${embindRepr(handle)}" as a ${this.name}`); + } + if (!handle.$$.ptr) { + throwBindingError(`Cannot pass deleted object as a pointer of type ${this.name}`); + } + if (handle.$$.ptrType.isConst) { + throwBindingError(`Cannot convert argument of type ${handle.$$.ptrType.name} to parameter type ${this.name}`); + } + var handleClass = handle.$$.ptrType.registeredClass; + var ptr = upcastPointer(handle.$$.ptr, handleClass, this.registeredClass); + return ptr; + } + + function simpleReadValueFromPointer(pointer) { + return this['fromWireType'](HEAP32[((pointer)>>2)]); + } + + function RegisteredPointer_getPointee(ptr) { + if (this.rawGetPointee) { + ptr = this.rawGetPointee(ptr); + } + return ptr; + } + + function RegisteredPointer_destructor(ptr) { + if (this.rawDestructor) { + this.rawDestructor(ptr); + } + } + + function RegisteredPointer_deleteObject(handle) { + if (handle !== null) { + handle['delete'](); + } + } + + function init_RegisteredPointer() { + RegisteredPointer.prototype.getPointee = RegisteredPointer_getPointee; + RegisteredPointer.prototype.destructor = RegisteredPointer_destructor; + RegisteredPointer.prototype['argPackAdvance'] = 8; + RegisteredPointer.prototype['readValueFromPointer'] = simpleReadValueFromPointer; + RegisteredPointer.prototype['deleteObject'] = RegisteredPointer_deleteObject; + RegisteredPointer.prototype['fromWireType'] = RegisteredPointer_fromWireType; + } + /** @constructor + @param {*=} pointeeType, + @param {*=} sharingPolicy, + @param {*=} rawGetPointee, + @param {*=} rawConstructor, + @param {*=} rawShare, + @param {*=} rawDestructor, + */ + function RegisteredPointer( + name, + registeredClass, + isReference, + isConst, + + // smart pointer properties + isSmartPointer, + pointeeType, + sharingPolicy, + rawGetPointee, + rawConstructor, + rawShare, + rawDestructor + ) { + this.name = name; + this.registeredClass = registeredClass; + this.isReference = isReference; + this.isConst = isConst; + + // smart pointer properties + this.isSmartPointer = isSmartPointer; + this.pointeeType = pointeeType; + this.sharingPolicy = sharingPolicy; + this.rawGetPointee = rawGetPointee; + this.rawConstructor = rawConstructor; + this.rawShare = rawShare; + this.rawDestructor = rawDestructor; + + if (!isSmartPointer && registeredClass.baseClass === undefined) { + if (isConst) { + this['toWireType'] = constNoSmartPtrRawPointerToWireType; + this.destructorFunction = null; + } else { + this['toWireType'] = nonConstNoSmartPtrRawPointerToWireType; + this.destructorFunction = null; + } + } else { + this['toWireType'] = genericPointerToWireType; + // Here we must leave this.destructorFunction undefined, since whether genericPointerToWireType returns + // a pointer that needs to be freed up is runtime-dependent, and cannot be evaluated at registration time. + // TODO: Create an alternative mechanism that allows removing the use of var destructors = []; array in + // craftInvokerFunction altogether. + } + } + + /** @param {number=} numArguments */ + function replacePublicSymbol(name, value, numArguments) { + if (!Module.hasOwnProperty(name)) { + throwInternalError('Replacing nonexistant public symbol'); + } + // If there's an overload table for this symbol, replace the symbol in the overload table instead. + if (undefined !== Module[name].overloadTable && undefined !== numArguments) { + Module[name].overloadTable[numArguments] = value; + } + else { + Module[name] = value; + Module[name].argCount = numArguments; + } + } + + + + function dynCallLegacy(sig, ptr, args) { + assert(('dynCall_' + sig) in Module, `bad function pointer type - dynCall function not found for sig '${sig}'`); + if (args && args.length) { + // j (64-bit integer) must be passed in as two numbers [low 32, high 32]. + assert(args.length === sig.substring(1).replace(/j/g, '--').length); + } else { + assert(sig.length == 1); + } + var f = Module['dynCall_' + sig]; + return args && args.length ? f.apply(null, [ptr].concat(args)) : f.call(null, ptr); + } + + var wasmTableMirror = []; + + function getWasmTableEntry(funcPtr) { + var func = wasmTableMirror[funcPtr]; + if (!func) { + if (funcPtr >= wasmTableMirror.length) wasmTableMirror.length = funcPtr + 1; + wasmTableMirror[funcPtr] = func = wasmTable.get(funcPtr); + } + assert(wasmTable.get(funcPtr) == func, "JavaScript-side Wasm function table mirror is out of date!"); + return func; + } + + /** @param {Object=} args */ + function dynCall(sig, ptr, args) { + // Without WASM_BIGINT support we cannot directly call function with i64 as + // part of thier signature, so we rely the dynCall functions generated by + // wasm-emscripten-finalize + if (sig.includes('j')) { + return dynCallLegacy(sig, ptr, args); + } + assert(getWasmTableEntry(ptr), `missing table entry in dynCall: ${ptr}`); + var rtn = getWasmTableEntry(ptr).apply(null, args); + return rtn; + + } + + function getDynCaller(sig, ptr) { + assert(sig.includes('j') || sig.includes('p'), 'getDynCaller should only be called with i64 sigs') + var argCache = []; + return function() { + argCache.length = 0; + Object.assign(argCache, arguments); + return dynCall(sig, ptr, argCache); + }; + } + + + function embind__requireFunction(signature, rawFunction) { + signature = readLatin1String(signature); + + function makeDynCaller() { + if (signature.includes('j')) { + return getDynCaller(signature, rawFunction); + } + return getWasmTableEntry(rawFunction); + } + + var fp = makeDynCaller(); + if (typeof fp != "function") { + throwBindingError(`unknown function pointer with signature ${signature}: ${rawFunction}`); + } + return fp; + } + + + + var UnboundTypeError = undefined; + + function throwUnboundTypeError(message, types) { + var unboundTypes = []; + var seen = {}; + function visit(type) { + if (seen[type]) { + return; + } + if (registeredTypes[type]) { + return; + } + if (typeDependencies[type]) { + typeDependencies[type].forEach(visit); + return; + } + unboundTypes.push(type); + seen[type] = true; + } + types.forEach(visit); + + throw new UnboundTypeError(`${message}: ` + unboundTypes.map(getTypeName).join([', '])); + } + + function __embind_register_class(rawType, + rawPointerType, + rawConstPointerType, + baseClassRawType, + getActualTypeSignature, + getActualType, + upcastSignature, + upcast, + downcastSignature, + downcast, + name, + destructorSignature, + rawDestructor) { + name = readLatin1String(name); + getActualType = embind__requireFunction(getActualTypeSignature, getActualType); + if (upcast) { + upcast = embind__requireFunction(upcastSignature, upcast); + } + if (downcast) { + downcast = embind__requireFunction(downcastSignature, downcast); + } + rawDestructor = embind__requireFunction(destructorSignature, rawDestructor); + var legalFunctionName = makeLegalFunctionName(name); + + exposePublicSymbol(legalFunctionName, function() { + // this code cannot run if baseClassRawType is zero + throwUnboundTypeError(`Cannot construct ${name} due to unbound types`, [baseClassRawType]); + }); + + whenDependentTypesAreResolved( + [rawType, rawPointerType, rawConstPointerType], + baseClassRawType ? [baseClassRawType] : [], + function(base) { + base = base[0]; + + var baseClass; + var basePrototype; + if (baseClassRawType) { + baseClass = base.registeredClass; + basePrototype = baseClass.instancePrototype; + } else { + basePrototype = ClassHandle.prototype; + } + + var constructor = createNamedFunction(legalFunctionName, function() { + if (Object.getPrototypeOf(this) !== instancePrototype) { + throw new BindingError("Use 'new' to construct " + name); + } + if (undefined === registeredClass.constructor_body) { + throw new BindingError(name + " has no accessible constructor"); + } + var body = registeredClass.constructor_body[arguments.length]; + if (undefined === body) { + throw new BindingError(`Tried to invoke ctor of ${name} with invalid number of parameters (${arguments.length}) - expected (${Object.keys(registeredClass.constructor_body).toString()}) parameters instead!`); + } + return body.apply(this, arguments); + }); + + var instancePrototype = Object.create(basePrototype, { + constructor: { value: constructor }, + }); + + constructor.prototype = instancePrototype; + + var registeredClass = new RegisteredClass(name, + constructor, + instancePrototype, + rawDestructor, + baseClass, + getActualType, + upcast, + downcast); + + if (registeredClass.baseClass) { + // Keep track of class hierarchy. Used to allow sub-classes to inherit class functions. + if (registeredClass.baseClass.__derivedClasses === undefined) { + registeredClass.baseClass.__derivedClasses = []; + } + + registeredClass.baseClass.__derivedClasses.push(registeredClass); + } + + var referenceConverter = new RegisteredPointer(name, + registeredClass, + true, + false, + false); + + var pointerConverter = new RegisteredPointer(name + '*', + registeredClass, + false, + false, + false); + + var constPointerConverter = new RegisteredPointer(name + ' const*', + registeredClass, + false, + true, + false); + + registeredPointers[rawType] = { + pointerType: pointerConverter, + constPointerType: constPointerConverter + }; + + replacePublicSymbol(legalFunctionName, constructor); + + return [referenceConverter, pointerConverter, constPointerConverter]; + } + ); + } + + + function runDestructors(destructors) { + while (destructors.length) { + var ptr = destructors.pop(); + var del = destructors.pop(); + del(ptr); + } + } + + function craftInvokerFunction(humanName, argTypes, classType, cppInvokerFunc, cppTargetFunc, /** boolean= */ isAsync) { + // humanName: a human-readable string name for the function to be generated. + // argTypes: An array that contains the embind type objects for all types in the function signature. + // argTypes[0] is the type object for the function return value. + // argTypes[1] is the type object for function this object/class type, or null if not crafting an invoker for a class method. + // argTypes[2...] are the actual function parameters. + // classType: The embind type object for the class to be bound, or null if this is not a method of a class. + // cppInvokerFunc: JS Function object to the C++-side function that interops into C++ code. + // cppTargetFunc: Function pointer (an integer to FUNCTION_TABLE) to the target C++ function the cppInvokerFunc will end up calling. + // isAsync: Optional. If true, returns an async function. Async bindings are only supported with JSPI. + var argCount = argTypes.length; + + if (argCount < 2) { + throwBindingError("argTypes array size mismatch! Must at least get return value and 'this' types!"); + } + + assert(!isAsync, 'Async bindings are only supported with JSPI.'); + + var isClassMethodFunc = (argTypes[1] !== null && classType !== null); + + // Free functions with signature "void function()" do not need an invoker that marshalls between wire types. + // TODO: This omits argument count check - enable only at -O3 or similar. + // if (ENABLE_UNSAFE_OPTS && argCount == 2 && argTypes[0].name == "void" && !isClassMethodFunc) { + // return FUNCTION_TABLE[fn]; + // } + + // Determine if we need to use a dynamic stack to store the destructors for the function parameters. + // TODO: Remove this completely once all function invokers are being dynamically generated. + var needsDestructorStack = false; + + for (var i = 1; i < argTypes.length; ++i) { // Skip return value at index 0 - it's not deleted here. + if (argTypes[i] !== null && argTypes[i].destructorFunction === undefined) { // The type does not define a destructor function - must use dynamic stack + needsDestructorStack = true; + break; + } + } + + var returns = (argTypes[0].name !== "void"); + + var expectedArgCount = argCount - 2; + var argsWired = new Array(expectedArgCount); + var invokerFuncArgs = []; + var destructors = []; + return function() { + if (arguments.length !== expectedArgCount) { + throwBindingError(`function ${humanName} called with ${arguments.length} arguments, expected ${expectedArgCount} args!`); + } + destructors.length = 0; + var thisWired; + invokerFuncArgs.length = isClassMethodFunc ? 2 : 1; + invokerFuncArgs[0] = cppTargetFunc; + if (isClassMethodFunc) { + thisWired = argTypes[1]['toWireType'](destructors, this); + invokerFuncArgs[1] = thisWired; + } + for (var i = 0; i < expectedArgCount; ++i) { + argsWired[i] = argTypes[i + 2]['toWireType'](destructors, arguments[i]); + invokerFuncArgs.push(argsWired[i]); + } + + var rv = cppInvokerFunc.apply(null, invokerFuncArgs); + + function onDone(rv) { + if (needsDestructorStack) { + runDestructors(destructors); + } else { + for (var i = isClassMethodFunc ? 1 : 2; i < argTypes.length; i++) { + var param = i === 1 ? thisWired : argsWired[i - 2]; + if (argTypes[i].destructorFunction !== null) { + argTypes[i].destructorFunction(param); + } + } + } + + if (returns) { + return argTypes[0]['fromWireType'](rv); + } + } + + return onDone(rv); + }; + } + + + function heap32VectorToArray(count, firstElement) { + var array = []; + for (var i = 0; i < count; i++) { + // TODO(https://github.com/emscripten-core/emscripten/issues/17310): + // Find a way to hoist the `>> 2` or `>> 3` out of this loop. + array.push(HEAPU32[(((firstElement)+(i * 4))>>2)]); + } + return array; + } + + + + + function __embind_register_class_class_function(rawClassType, + methodName, + argCount, + rawArgTypesAddr, + invokerSignature, + rawInvoker, + fn, + isAsync) { + var rawArgTypes = heap32VectorToArray(argCount, rawArgTypesAddr); + methodName = readLatin1String(methodName); + rawInvoker = embind__requireFunction(invokerSignature, rawInvoker); + whenDependentTypesAreResolved([], [rawClassType], function(classType) { + classType = classType[0]; + var humanName = `${classType.name}.${methodName}`; + + function unboundTypesHandler() { + throwUnboundTypeError(`Cannot call ${humanName} due to unbound types`, rawArgTypes); + } + + if (methodName.startsWith("@@")) { + methodName = Symbol[methodName.substring(2)]; + } + + var proto = classType.registeredClass.constructor; + if (undefined === proto[methodName]) { + // This is the first function to be registered with this name. + unboundTypesHandler.argCount = argCount-1; + proto[methodName] = unboundTypesHandler; + } else { + // There was an existing function with the same name registered. Set up + // a function overload routing table. + ensureOverloadTable(proto, methodName, humanName); + proto[methodName].overloadTable[argCount-1] = unboundTypesHandler; + } + + whenDependentTypesAreResolved([], rawArgTypes, function(argTypes) { + // Replace the initial unbound-types-handler stub with the proper + // function. If multiple overloads are registered, the function handlers + // go into an overload table. + var invokerArgsArray = [argTypes[0] /* return value */, null /* no class 'this'*/].concat(argTypes.slice(1) /* actual params */); + var func = craftInvokerFunction(humanName, invokerArgsArray, null /* no class 'this'*/, rawInvoker, fn, isAsync); + if (undefined === proto[methodName].overloadTable) { + func.argCount = argCount-1; + proto[methodName] = func; + } else { + proto[methodName].overloadTable[argCount-1] = func; + } + + if (classType.registeredClass.__derivedClasses) { + for (const derivedClass of classType.registeredClass.__derivedClasses) { + if (!derivedClass.constructor.hasOwnProperty(methodName)) { + // TODO: Add support for overloads + derivedClass.constructor[methodName] = func; + } + } + } + + return []; + }); + return []; + }); + } + + + + + + + function __embind_register_class_function(rawClassType, + methodName, + argCount, + rawArgTypesAddr, // [ReturnType, ThisType, Args...] + invokerSignature, + rawInvoker, + context, + isPureVirtual, + isAsync) { + var rawArgTypes = heap32VectorToArray(argCount, rawArgTypesAddr); + methodName = readLatin1String(methodName); + rawInvoker = embind__requireFunction(invokerSignature, rawInvoker); + + whenDependentTypesAreResolved([], [rawClassType], function(classType) { + classType = classType[0]; + var humanName = `${classType.name}.${methodName}`; + + if (methodName.startsWith("@@")) { + methodName = Symbol[methodName.substring(2)]; + } + + if (isPureVirtual) { + classType.registeredClass.pureVirtualFunctions.push(methodName); + } + + function unboundTypesHandler() { + throwUnboundTypeError(`Cannot call ${humanName} due to unbound types`, rawArgTypes); + } + + var proto = classType.registeredClass.instancePrototype; + var method = proto[methodName]; + if (undefined === method || (undefined === method.overloadTable && method.className !== classType.name && method.argCount === argCount - 2)) { + // This is the first overload to be registered, OR we are replacing a + // function in the base class with a function in the derived class. + unboundTypesHandler.argCount = argCount - 2; + unboundTypesHandler.className = classType.name; + proto[methodName] = unboundTypesHandler; + } else { + // There was an existing function with the same name registered. Set up + // a function overload routing table. + ensureOverloadTable(proto, methodName, humanName); + proto[methodName].overloadTable[argCount - 2] = unboundTypesHandler; + } + + whenDependentTypesAreResolved([], rawArgTypes, function(argTypes) { + var memberFunction = craftInvokerFunction(humanName, argTypes, classType, rawInvoker, context, isAsync); + + // Replace the initial unbound-handler-stub function with the appropriate member function, now that all types + // are resolved. If multiple overloads are registered for this function, the function goes into an overload table. + if (undefined === proto[methodName].overloadTable) { + // Set argCount in case an overload is registered later + memberFunction.argCount = argCount - 2; + proto[methodName] = memberFunction; + } else { + proto[methodName].overloadTable[argCount - 2] = memberFunction; + } + + return []; + }); + return []; + }); + } + + function __emval_decref(handle) { + if (handle >= emval_handles.reserved && 0 === --emval_handles.get(handle).refcount) { + emval_handles.free(handle); + } + } + + + + + function __embind_register_emval(rawType, name) { + name = readLatin1String(name); + registerType(rawType, { + name: name, + 'fromWireType': function(handle) { + var rv = Emval.toValue(handle); + __emval_decref(handle); + return rv; + }, + 'toWireType': function(destructors, value) { + return Emval.toHandle(value); + }, + 'argPackAdvance': 8, + 'readValueFromPointer': simpleReadValueFromPointer, + destructorFunction: null, // This type does not need a destructor + + // TODO: do we need a deleteObject here? write a test where + // emval is passed into JS via an interface + }); + } + + function embindRepr(v) { + if (v === null) { + return 'null'; + } + var t = typeof v; + if (t === 'object' || t === 'array' || t === 'function') { + return v.toString(); + } else { + return '' + v; + } + } + + function floatReadValueFromPointer(name, shift) { + switch (shift) { + case 2: return function(pointer) { + return this['fromWireType'](HEAPF32[pointer >> 2]); + }; + case 3: return function(pointer) { + return this['fromWireType'](HEAPF64[pointer >> 3]); + }; + default: + throw new TypeError("Unknown float type: " + name); + } + } + + + + function __embind_register_float(rawType, name, size) { + var shift = getShiftFromSize(size); + name = readLatin1String(name); + registerType(rawType, { + name: name, + 'fromWireType': function(value) { + return value; + }, + 'toWireType': function(destructors, value) { + if (typeof value != "number" && typeof value != "boolean") { + throw new TypeError(`Cannot convert ${embindRepr(value)} to ${this.name}`); + } + // The VM will perform JS to Wasm value conversion, according to the spec: + // https://www.w3.org/TR/wasm-js-api-1/#towebassemblyvalue + return value; + }, + 'argPackAdvance': 8, + 'readValueFromPointer': floatReadValueFromPointer(name, shift), + destructorFunction: null, // This type does not need a destructor + }); + } + + + + + + + + + function __embind_register_function(name, argCount, rawArgTypesAddr, signature, rawInvoker, fn, isAsync) { + var argTypes = heap32VectorToArray(argCount, rawArgTypesAddr); + name = readLatin1String(name); + + rawInvoker = embind__requireFunction(signature, rawInvoker); + + exposePublicSymbol(name, function() { + throwUnboundTypeError(`Cannot call ${name} due to unbound types`, argTypes); + }, argCount - 1); + + whenDependentTypesAreResolved([], argTypes, function(argTypes) { + var invokerArgsArray = [argTypes[0] /* return value */, null /* no class 'this'*/].concat(argTypes.slice(1) /* actual params */); + replacePublicSymbol(name, craftInvokerFunction(name, invokerArgsArray, null /* no class 'this'*/, rawInvoker, fn, isAsync), argCount - 1); + return []; + }); + } + + + + function integerReadValueFromPointer(name, shift, signed) { + // integers are quite common, so generate very specialized functions + switch (shift) { + case 0: return signed ? + function readS8FromPointer(pointer) { return HEAP8[pointer]; } : + function readU8FromPointer(pointer) { return HEAPU8[pointer]; }; + case 1: return signed ? + function readS16FromPointer(pointer) { return HEAP16[pointer >> 1]; } : + function readU16FromPointer(pointer) { return HEAPU16[pointer >> 1]; }; + case 2: return signed ? + function readS32FromPointer(pointer) { return HEAP32[pointer >> 2]; } : + function readU32FromPointer(pointer) { return HEAPU32[pointer >> 2]; }; + default: + throw new TypeError("Unknown integer type: " + name); + } + } + + + function __embind_register_integer(primitiveType, name, size, minRange, maxRange) { + name = readLatin1String(name); + // LLVM doesn't have signed and unsigned 32-bit types, so u32 literals come + // out as 'i32 -1'. Always treat those as max u32. + if (maxRange === -1) { + maxRange = 4294967295; + } + + var shift = getShiftFromSize(size); + + var fromWireType = (value) => value; + + if (minRange === 0) { + var bitshift = 32 - 8*size; + fromWireType = (value) => (value << bitshift) >>> bitshift; + } + + var isUnsignedType = (name.includes('unsigned')); + var checkAssertions = (value, toTypeName) => { + if (typeof value != "number" && typeof value != "boolean") { + throw new TypeError(`Cannot convert "${embindRepr(value)}" to ${toTypeName}`); + } + if (value < minRange || value > maxRange) { + throw new TypeError(`Passing a number "${embindRepr(value)}" from JS side to C/C++ side to an argument of type "${name}", which is outside the valid range [${minRange}, ${maxRange}]!`); + } + } + var toWireType; + if (isUnsignedType) { + toWireType = function(destructors, value) { + checkAssertions(value, this.name); + return value >>> 0; + } + } else { + toWireType = function(destructors, value) { + checkAssertions(value, this.name); + // The VM will perform JS to Wasm value conversion, according to the spec: + // https://www.w3.org/TR/wasm-js-api-1/#towebassemblyvalue + return value; + } + } + registerType(primitiveType, { + name: name, + 'fromWireType': fromWireType, + 'toWireType': toWireType, + 'argPackAdvance': 8, + 'readValueFromPointer': integerReadValueFromPointer(name, shift, minRange !== 0), + destructorFunction: null, // This type does not need a destructor + }); + } + + + function __embind_register_memory_view(rawType, dataTypeIndex, name) { + var typeMapping = [ + Int8Array, + Uint8Array, + Int16Array, + Uint16Array, + Int32Array, + Uint32Array, + Float32Array, + Float64Array, + ]; + + var TA = typeMapping[dataTypeIndex]; + + function decodeMemoryView(handle) { + handle = handle >> 2; + var heap = HEAPU32; + var size = heap[handle]; // in elements + var data = heap[handle + 1]; // byte offset into emscripten heap + return new TA(heap.buffer, data, size); + } + + name = readLatin1String(name); + registerType(rawType, { + name: name, + 'fromWireType': decodeMemoryView, + 'argPackAdvance': 8, + 'readValueFromPointer': decodeMemoryView, + }, { + ignoreDuplicateRegistrations: true, + }); + } + + + + + + function stringToUTF8Array(str, heap, outIdx, maxBytesToWrite) { + assert(typeof str === 'string'); + // Parameter maxBytesToWrite is not optional. Negative values, 0, null, + // undefined and false each don't write out any bytes. + if (!(maxBytesToWrite > 0)) + return 0; + + var startIdx = outIdx; + var endIdx = outIdx + maxBytesToWrite - 1; // -1 for string null terminator. + for (var i = 0; i < str.length; ++i) { + // Gotcha: charCodeAt returns a 16-bit word that is a UTF-16 encoded code + // unit, not a Unicode code point of the character! So decode + // UTF16->UTF32->UTF8. + // See http://unicode.org/faq/utf_bom.html#utf16-3 + // For UTF8 byte structure, see http://en.wikipedia.org/wiki/UTF-8#Description + // and https://www.ietf.org/rfc/rfc2279.txt + // and https://tools.ietf.org/html/rfc3629 + var u = str.charCodeAt(i); // possibly a lead surrogate + if (u >= 0xD800 && u <= 0xDFFF) { + var u1 = str.charCodeAt(++i); + u = 0x10000 + ((u & 0x3FF) << 10) | (u1 & 0x3FF); + } + if (u <= 0x7F) { + if (outIdx >= endIdx) break; + heap[outIdx++] = u; + } else if (u <= 0x7FF) { + if (outIdx + 1 >= endIdx) break; + heap[outIdx++] = 0xC0 | (u >> 6); + heap[outIdx++] = 0x80 | (u & 63); + } else if (u <= 0xFFFF) { + if (outIdx + 2 >= endIdx) break; + heap[outIdx++] = 0xE0 | (u >> 12); + heap[outIdx++] = 0x80 | ((u >> 6) & 63); + heap[outIdx++] = 0x80 | (u & 63); + } else { + if (outIdx + 3 >= endIdx) break; + if (u > 0x10FFFF) warnOnce('Invalid Unicode code point ' + ptrToString(u) + ' encountered when serializing a JS string to a UTF-8 string in wasm memory! (Valid unicode code points should be in range 0-0x10FFFF).'); + heap[outIdx++] = 0xF0 | (u >> 18); + heap[outIdx++] = 0x80 | ((u >> 12) & 63); + heap[outIdx++] = 0x80 | ((u >> 6) & 63); + heap[outIdx++] = 0x80 | (u & 63); + } + } + // Null-terminate the pointer to the buffer. + heap[outIdx] = 0; + return outIdx - startIdx; + } + function stringToUTF8(str, outPtr, maxBytesToWrite) { + assert(typeof maxBytesToWrite == 'number', 'stringToUTF8(str, outPtr, maxBytesToWrite) is missing the third parameter that specifies the length of the output buffer!'); + return stringToUTF8Array(str, HEAPU8,outPtr, maxBytesToWrite); + } + + function lengthBytesUTF8(str) { + var len = 0; + for (var i = 0; i < str.length; ++i) { + // Gotcha: charCodeAt returns a 16-bit word that is a UTF-16 encoded code + // unit, not a Unicode code point of the character! So decode + // UTF16->UTF32->UTF8. + // See http://unicode.org/faq/utf_bom.html#utf16-3 + var c = str.charCodeAt(i); // possibly a lead surrogate + if (c <= 0x7F) { + len++; + } else if (c <= 0x7FF) { + len += 2; + } else if (c >= 0xD800 && c <= 0xDFFF) { + len += 4; ++i; + } else { + len += 3; + } + } + return len; + } + + + + function __embind_register_std_string(rawType, name) { + name = readLatin1String(name); + var stdStringIsUTF8 + //process only std::string bindings with UTF8 support, in contrast to e.g. std::basic_string + = (name === "std::string"); + + registerType(rawType, { + name: name, + 'fromWireType': function(value) { + var length = HEAPU32[((value)>>2)]; + var payload = value + 4; + + var str; + if (stdStringIsUTF8) { + var decodeStartPtr = payload; + // Looping here to support possible embedded '0' bytes + for (var i = 0; i <= length; ++i) { + var currentBytePtr = payload + i; + if (i == length || HEAPU8[currentBytePtr] == 0) { + var maxRead = currentBytePtr - decodeStartPtr; + var stringSegment = UTF8ToString(decodeStartPtr, maxRead); + if (str === undefined) { + str = stringSegment; + } else { + str += String.fromCharCode(0); + str += stringSegment; + } + decodeStartPtr = currentBytePtr + 1; + } + } + } else { + var a = new Array(length); + for (var i = 0; i < length; ++i) { + a[i] = String.fromCharCode(HEAPU8[payload + i]); + } + str = a.join(''); + } + + _free(value); + + return str; + }, + 'toWireType': function(destructors, value) { + if (value instanceof ArrayBuffer) { + value = new Uint8Array(value); + } + + var length; + var valueIsOfTypeString = (typeof value == 'string'); + + if (!(valueIsOfTypeString || value instanceof Uint8Array || value instanceof Uint8ClampedArray || value instanceof Int8Array)) { + throwBindingError('Cannot pass non-string to std::string'); + } + if (stdStringIsUTF8 && valueIsOfTypeString) { + length = lengthBytesUTF8(value); + } else { + length = value.length; + } + + // assumes 4-byte alignment + var base = _malloc(4 + length + 1); + var ptr = base + 4; + HEAPU32[((base)>>2)] = length; + if (stdStringIsUTF8 && valueIsOfTypeString) { + stringToUTF8(value, ptr, length + 1); + } else { + if (valueIsOfTypeString) { + for (var i = 0; i < length; ++i) { + var charCode = value.charCodeAt(i); + if (charCode > 255) { + _free(ptr); + throwBindingError('String has UTF-16 code units that do not fit in 8 bits'); + } + HEAPU8[ptr + i] = charCode; + } + } else { + for (var i = 0; i < length; ++i) { + HEAPU8[ptr + i] = value[i]; + } + } + } + + if (destructors !== null) { + destructors.push(_free, base); + } + return base; + }, + 'argPackAdvance': 8, + 'readValueFromPointer': simpleReadValueFromPointer, + destructorFunction: function(ptr) { _free(ptr); }, + }); + } + + + + + var UTF16Decoder = typeof TextDecoder != 'undefined' ? new TextDecoder('utf-16le') : undefined;; + function UTF16ToString(ptr, maxBytesToRead) { + assert(ptr % 2 == 0, 'Pointer passed to UTF16ToString must be aligned to two bytes!'); + var endPtr = ptr; + // TextDecoder needs to know the byte length in advance, it doesn't stop on + // null terminator by itself. + // Also, use the length info to avoid running tiny strings through + // TextDecoder, since .subarray() allocates garbage. + var idx = endPtr >> 1; + var maxIdx = idx + maxBytesToRead / 2; + // If maxBytesToRead is not passed explicitly, it will be undefined, and this + // will always evaluate to true. This saves on code size. + while (!(idx >= maxIdx) && HEAPU16[idx]) ++idx; + endPtr = idx << 1; + + if (endPtr - ptr > 32 && UTF16Decoder) + return UTF16Decoder.decode(HEAPU8.subarray(ptr, endPtr)); + + // Fallback: decode without UTF16Decoder + var str = ''; + + // If maxBytesToRead is not passed explicitly, it will be undefined, and the + // for-loop's condition will always evaluate to true. The loop is then + // terminated on the first null char. + for (var i = 0; !(i >= maxBytesToRead / 2); ++i) { + var codeUnit = HEAP16[(((ptr)+(i*2))>>1)]; + if (codeUnit == 0) break; + // fromCharCode constructs a character from a UTF-16 code unit, so we can + // pass the UTF16 string right through. + str += String.fromCharCode(codeUnit); + } + + return str; + } + + function stringToUTF16(str, outPtr, maxBytesToWrite) { + assert(outPtr % 2 == 0, 'Pointer passed to stringToUTF16 must be aligned to two bytes!'); + assert(typeof maxBytesToWrite == 'number', 'stringToUTF16(str, outPtr, maxBytesToWrite) is missing the third parameter that specifies the length of the output buffer!'); + // Backwards compatibility: if max bytes is not specified, assume unsafe unbounded write is allowed. + if (maxBytesToWrite === undefined) { + maxBytesToWrite = 0x7FFFFFFF; + } + if (maxBytesToWrite < 2) return 0; + maxBytesToWrite -= 2; // Null terminator. + var startPtr = outPtr; + var numCharsToWrite = (maxBytesToWrite < str.length*2) ? (maxBytesToWrite / 2) : str.length; + for (var i = 0; i < numCharsToWrite; ++i) { + // charCodeAt returns a UTF-16 encoded code unit, so it can be directly written to the HEAP. + var codeUnit = str.charCodeAt(i); // possibly a lead surrogate + HEAP16[((outPtr)>>1)] = codeUnit; + outPtr += 2; + } + // Null-terminate the pointer to the HEAP. + HEAP16[((outPtr)>>1)] = 0; + return outPtr - startPtr; + } + + function lengthBytesUTF16(str) { + return str.length*2; + } + + function UTF32ToString(ptr, maxBytesToRead) { + assert(ptr % 4 == 0, 'Pointer passed to UTF32ToString must be aligned to four bytes!'); + var i = 0; + + var str = ''; + // If maxBytesToRead is not passed explicitly, it will be undefined, and this + // will always evaluate to true. This saves on code size. + while (!(i >= maxBytesToRead / 4)) { + var utf32 = HEAP32[(((ptr)+(i*4))>>2)]; + if (utf32 == 0) break; + ++i; + // Gotcha: fromCharCode constructs a character from a UTF-16 encoded code (pair), not from a Unicode code point! So encode the code point to UTF-16 for constructing. + // See http://unicode.org/faq/utf_bom.html#utf16-3 + if (utf32 >= 0x10000) { + var ch = utf32 - 0x10000; + str += String.fromCharCode(0xD800 | (ch >> 10), 0xDC00 | (ch & 0x3FF)); + } else { + str += String.fromCharCode(utf32); + } + } + return str; + } + + function stringToUTF32(str, outPtr, maxBytesToWrite) { + assert(outPtr % 4 == 0, 'Pointer passed to stringToUTF32 must be aligned to four bytes!'); + assert(typeof maxBytesToWrite == 'number', 'stringToUTF32(str, outPtr, maxBytesToWrite) is missing the third parameter that specifies the length of the output buffer!'); + // Backwards compatibility: if max bytes is not specified, assume unsafe unbounded write is allowed. + if (maxBytesToWrite === undefined) { + maxBytesToWrite = 0x7FFFFFFF; + } + if (maxBytesToWrite < 4) return 0; + var startPtr = outPtr; + var endPtr = startPtr + maxBytesToWrite - 4; + for (var i = 0; i < str.length; ++i) { + // Gotcha: charCodeAt returns a 16-bit word that is a UTF-16 encoded code unit, not a Unicode code point of the character! We must decode the string to UTF-32 to the heap. + // See http://unicode.org/faq/utf_bom.html#utf16-3 + var codeUnit = str.charCodeAt(i); // possibly a lead surrogate + if (codeUnit >= 0xD800 && codeUnit <= 0xDFFF) { + var trailSurrogate = str.charCodeAt(++i); + codeUnit = 0x10000 + ((codeUnit & 0x3FF) << 10) | (trailSurrogate & 0x3FF); + } + HEAP32[((outPtr)>>2)] = codeUnit; + outPtr += 4; + if (outPtr + 4 > endPtr) break; + } + // Null-terminate the pointer to the HEAP. + HEAP32[((outPtr)>>2)] = 0; + return outPtr - startPtr; + } + + function lengthBytesUTF32(str) { + var len = 0; + for (var i = 0; i < str.length; ++i) { + // Gotcha: charCodeAt returns a 16-bit word that is a UTF-16 encoded code unit, not a Unicode code point of the character! We must decode the string to UTF-32 to the heap. + // See http://unicode.org/faq/utf_bom.html#utf16-3 + var codeUnit = str.charCodeAt(i); + if (codeUnit >= 0xD800 && codeUnit <= 0xDFFF) ++i; // possibly a lead surrogate, so skip over the tail surrogate. + len += 4; + } + + return len; + } + function __embind_register_std_wstring(rawType, charSize, name) { + name = readLatin1String(name); + var decodeString, encodeString, getHeap, lengthBytesUTF, shift; + if (charSize === 2) { + decodeString = UTF16ToString; + encodeString = stringToUTF16; + lengthBytesUTF = lengthBytesUTF16; + getHeap = () => HEAPU16; + shift = 1; + } else if (charSize === 4) { + decodeString = UTF32ToString; + encodeString = stringToUTF32; + lengthBytesUTF = lengthBytesUTF32; + getHeap = () => HEAPU32; + shift = 2; + } + registerType(rawType, { + name: name, + 'fromWireType': function(value) { + // Code mostly taken from _embind_register_std_string fromWireType + var length = HEAPU32[value >> 2]; + var HEAP = getHeap(); + var str; + + var decodeStartPtr = value + 4; + // Looping here to support possible embedded '0' bytes + for (var i = 0; i <= length; ++i) { + var currentBytePtr = value + 4 + i * charSize; + if (i == length || HEAP[currentBytePtr >> shift] == 0) { + var maxReadBytes = currentBytePtr - decodeStartPtr; + var stringSegment = decodeString(decodeStartPtr, maxReadBytes); + if (str === undefined) { + str = stringSegment; + } else { + str += String.fromCharCode(0); + str += stringSegment; + } + decodeStartPtr = currentBytePtr + charSize; + } + } + + _free(value); + + return str; + }, + 'toWireType': function(destructors, value) { + if (!(typeof value == 'string')) { + throwBindingError(`Cannot pass non-string to C++ string type ${name}`); + } + + // assumes 4-byte alignment + var length = lengthBytesUTF(value); + var ptr = _malloc(4 + length + charSize); + HEAPU32[ptr >> 2] = length >> shift; + + encodeString(value, ptr + 4, length + charSize); + + if (destructors !== null) { + destructors.push(_free, ptr); + } + return ptr; + }, + 'argPackAdvance': 8, + 'readValueFromPointer': simpleReadValueFromPointer, + destructorFunction: function(ptr) { _free(ptr); }, + }); + } + + + function __embind_register_void(rawType, name) { + name = readLatin1String(name); + registerType(rawType, { + isVoid: true, // void return values can be optimized out sometimes + name: name, + 'argPackAdvance': 0, + 'fromWireType': function() { + return undefined; + }, + 'toWireType': function(destructors, o) { + // TODO: assert if anything else is given? + return undefined; + }, + }); + } + + function emval_allocateDestructors(destructorsRef) { + var destructors = []; + HEAPU32[((destructorsRef)>>2)] = Emval.toHandle(destructors); + return destructors; + } + + var emval_symbols = {}; + + function getStringOrSymbol(address) { + var symbol = emval_symbols[address]; + if (symbol === undefined) { + return readLatin1String(address); + } + return symbol; + } + + var emval_methodCallers = []; + + function __emval_call_void_method(caller, handle, methodName, args) { + caller = emval_methodCallers[caller]; + handle = Emval.toValue(handle); + methodName = getStringOrSymbol(methodName); + caller(handle, methodName, null, args); + } + + + function emval_addMethodCaller(caller) { + var id = emval_methodCallers.length; + emval_methodCallers.push(caller); + return id; + } + + function emval_lookupTypes(argCount, argTypes) { + var a = new Array(argCount); + for (var i = 0; i < argCount; ++i) { + a[i] = requireRegisteredType(HEAPU32[(((argTypes)+(i * 4))>>2)], + "parameter " + i); + } + return a; + } + + + var emval_registeredMethods = []; + function __emval_get_method_caller(argCount, argTypes) { + var types = emval_lookupTypes(argCount, argTypes); + var retType = types[0]; + var signatureName = retType.name + "_$" + types.slice(1).map(function (t) { return t.name; }).join("_") + "$"; + var returnId = emval_registeredMethods[signatureName]; + if (returnId !== undefined) { + return returnId; + } + + var argN = new Array(argCount - 1); + var invokerFunction = (handle, name, destructors, args) => { + var offset = 0; + for (var i = 0; i < argCount - 1; ++i) { + argN[i] = types[i + 1]['readValueFromPointer'](args + offset); + offset += types[i + 1]['argPackAdvance']; + } + var rv = handle[name].apply(handle, argN); + for (var i = 0; i < argCount - 1; ++i) { + if (types[i + 1].deleteObject) { + types[i + 1].deleteObject(argN[i]); + } + } + if (!retType.isVoid) { + return retType['toWireType'](destructors, rv); + } + }; + returnId = emval_addMethodCaller(invokerFunction); + emval_registeredMethods[signatureName] = returnId; + return returnId; + } + + function __emval_incref(handle) { + if (handle > 4) { + emval_handles.get(handle).refcount += 1; + } + } + + function _abort() { + abort('native code called abort()'); + } + + function _emscripten_memcpy_big(dest, src, num) { + HEAPU8.copyWithin(dest, src, src + num); + } + + function getHeapMax() { + // Stay one Wasm page short of 4GB: while e.g. Chrome is able to allocate + // full 4GB Wasm memories, the size will wrap back to 0 bytes in Wasm side + // for any code that deals with heap sizes, which would require special + // casing all heap size related code to treat 0 specially. + return 2147483648; + } + + function emscripten_realloc_buffer(size) { + var b = wasmMemory.buffer; + var pages = (size - b.byteLength + 65535) >>> 16; + try { + // round size grow request up to wasm page size (fixed 64KB per spec) + wasmMemory.grow(pages); // .grow() takes a delta compared to the previous size + updateMemoryViews(); + return 1 /*success*/; + } catch(e) { + err(`emscripten_realloc_buffer: Attempted to grow heap from ${b.byteLength} bytes to ${size} bytes, but got error: ${e}`); + } + // implicit 0 return to save code size (caller will cast "undefined" into 0 + // anyhow) + } + function _emscripten_resize_heap(requestedSize) { + var oldSize = HEAPU8.length; + requestedSize = requestedSize >>> 0; + // With multithreaded builds, races can happen (another thread might increase the size + // in between), so return a failure, and let the caller retry. + assert(requestedSize > oldSize); + + // Memory resize rules: + // 1. Always increase heap size to at least the requested size, rounded up + // to next page multiple. + // 2a. If MEMORY_GROWTH_LINEAR_STEP == -1, excessively resize the heap + // geometrically: increase the heap size according to + // MEMORY_GROWTH_GEOMETRIC_STEP factor (default +20%), At most + // overreserve by MEMORY_GROWTH_GEOMETRIC_CAP bytes (default 96MB). + // 2b. If MEMORY_GROWTH_LINEAR_STEP != -1, excessively resize the heap + // linearly: increase the heap size by at least + // MEMORY_GROWTH_LINEAR_STEP bytes. + // 3. Max size for the heap is capped at 2048MB-WASM_PAGE_SIZE, or by + // MAXIMUM_MEMORY, or by ASAN limit, depending on which is smallest + // 4. If we were unable to allocate as much memory, it may be due to + // over-eager decision to excessively reserve due to (3) above. + // Hence if an allocation fails, cut down on the amount of excess + // growth, in an attempt to succeed to perform a smaller allocation. + + // A limit is set for how much we can grow. We should not exceed that + // (the wasm binary specifies it, so if we tried, we'd fail anyhow). + var maxHeapSize = getHeapMax(); + if (requestedSize > maxHeapSize) { + err(`Cannot enlarge memory, asked to go up to ${requestedSize} bytes, but the limit is ${maxHeapSize} bytes!`); + return false; + } + + var alignUp = (x, multiple) => x + (multiple - x % multiple) % multiple; + + // Loop through potential heap size increases. If we attempt a too eager + // reservation that fails, cut down on the attempted size and reserve a + // smaller bump instead. (max 3 times, chosen somewhat arbitrarily) + for (var cutDown = 1; cutDown <= 4; cutDown *= 2) { + var overGrownHeapSize = oldSize * (1 + 0.2 / cutDown); // ensure geometric growth + // but limit overreserving (default to capping at +96MB overgrowth at most) + overGrownHeapSize = Math.min(overGrownHeapSize, requestedSize + 100663296 ); + + var newSize = Math.min(maxHeapSize, alignUp(Math.max(requestedSize, overGrownHeapSize), 65536)); + + var replacement = emscripten_realloc_buffer(newSize); + if (replacement) { + + return true; + } + } + err(`Failed to grow the heap from ${oldSize} bytes to ${newSize} bytes, not enough memory!`); + return false; + } + + var SYSCALLS = {varargs:undefined,get:function() { + assert(SYSCALLS.varargs != undefined); + SYSCALLS.varargs += 4; + var ret = HEAP32[(((SYSCALLS.varargs)-(4))>>2)]; + return ret; + },getStr:function(ptr) { + var ret = UTF8ToString(ptr); + return ret; + }}; + function _fd_close(fd) { + abort('fd_close called without SYSCALLS_REQUIRE_FILESYSTEM'); + } + + function convertI32PairToI53Checked(lo, hi) { + assert(lo == (lo >>> 0) || lo == (lo|0)); // lo should either be a i32 or a u32 + assert(hi === (hi|0)); // hi should be a i32 + return ((hi + 0x200000) >>> 0 < 0x400001 - !!lo) ? (lo >>> 0) + hi * 4294967296 : NaN; + } + + + + + function _fd_seek(fd, offset_low, offset_high, whence, newOffset) { + return 70; + } + + var printCharBuffers = [null,[],[]]; + + function printChar(stream, curr) { + var buffer = printCharBuffers[stream]; + assert(buffer); + if (curr === 0 || curr === 10) { + (stream === 1 ? out : err)(UTF8ArrayToString(buffer, 0)); + buffer.length = 0; + } else { + buffer.push(curr); + } + } + + function flush_NO_FILESYSTEM() { + // flush anything remaining in the buffers during shutdown + _fflush(0); + if (printCharBuffers[1].length) printChar(1, 10); + if (printCharBuffers[2].length) printChar(2, 10); + } + + + function _fd_write(fd, iov, iovcnt, pnum) { + // hack to support printf in SYSCALLS_REQUIRE_FILESYSTEM=0 + var num = 0; + for (var i = 0; i < iovcnt; i++) { + var ptr = HEAPU32[((iov)>>2)]; + var len = HEAPU32[(((iov)+(4))>>2)]; + iov += 8; + for (var j = 0; j < len; j++) { + printChar(fd, HEAPU8[ptr+j]); + } + num += len; + } + HEAPU32[((pnum)>>2)] = num; + return 0; + } +BindingError = Module['BindingError'] = extendError(Error, 'BindingError');; +init_emval();; +PureVirtualError = Module['PureVirtualError'] = extendError(Error, 'PureVirtualError');; +embind_init_charCodes(); +init_embind();; +InternalError = Module['InternalError'] = extendError(Error, 'InternalError');; +init_ClassHandle(); +init_RegisteredPointer(); +UnboundTypeError = Module['UnboundTypeError'] = extendError(Error, 'UnboundTypeError');; +function checkIncomingModuleAPI() { + ignoredModuleProp('fetchSettings'); +} +var wasmImports = { + "__assert_fail": ___assert_fail, + "_embind_create_inheriting_constructor": __embind_create_inheriting_constructor, + "_embind_register_bigint": __embind_register_bigint, + "_embind_register_bool": __embind_register_bool, + "_embind_register_class": __embind_register_class, + "_embind_register_class_class_function": __embind_register_class_class_function, + "_embind_register_class_function": __embind_register_class_function, + "_embind_register_emval": __embind_register_emval, + "_embind_register_float": __embind_register_float, + "_embind_register_function": __embind_register_function, + "_embind_register_integer": __embind_register_integer, + "_embind_register_memory_view": __embind_register_memory_view, + "_embind_register_std_string": __embind_register_std_string, + "_embind_register_std_wstring": __embind_register_std_wstring, + "_embind_register_void": __embind_register_void, + "_emval_call_void_method": __emval_call_void_method, + "_emval_decref": __emval_decref, + "_emval_get_method_caller": __emval_get_method_caller, + "_emval_incref": __emval_incref, + "abort": _abort, + "emscripten_memcpy_big": _emscripten_memcpy_big, + "emscripten_resize_heap": _emscripten_resize_heap, + "fd_close": _fd_close, + "fd_seek": _fd_seek, + "fd_write": _fd_write +}; +var asm = createWasm(); +/** @type {function(...*):?} */ +var ___wasm_call_ctors = createExportWrapper("__wasm_call_ctors"); +/** @type {function(...*):?} */ +var _malloc = createExportWrapper("malloc"); +/** @type {function(...*):?} */ +var _free = createExportWrapper("free"); +/** @type {function(...*):?} */ +var ___getTypeName = createExportWrapper("__getTypeName"); +/** @type {function(...*):?} */ +var __embind_initialize_bindings = Module["__embind_initialize_bindings"] = createExportWrapper("_embind_initialize_bindings"); +/** @type {function(...*):?} */ +var ___errno_location = createExportWrapper("__errno_location"); +/** @type {function(...*):?} */ +var _fflush = Module["_fflush"] = createExportWrapper("fflush"); +/** @type {function(...*):?} */ +var _emscripten_stack_init = function() { + return (_emscripten_stack_init = Module["asm"]["emscripten_stack_init"]).apply(null, arguments); +}; + +/** @type {function(...*):?} */ +var _emscripten_stack_get_free = function() { + return (_emscripten_stack_get_free = Module["asm"]["emscripten_stack_get_free"]).apply(null, arguments); +}; + +/** @type {function(...*):?} */ +var _emscripten_stack_get_base = function() { + return (_emscripten_stack_get_base = Module["asm"]["emscripten_stack_get_base"]).apply(null, arguments); +}; + +/** @type {function(...*):?} */ +var _emscripten_stack_get_end = function() { + return (_emscripten_stack_get_end = Module["asm"]["emscripten_stack_get_end"]).apply(null, arguments); +}; + +/** @type {function(...*):?} */ +var stackSave = createExportWrapper("stackSave"); +/** @type {function(...*):?} */ +var stackRestore = createExportWrapper("stackRestore"); +/** @type {function(...*):?} */ +var stackAlloc = createExportWrapper("stackAlloc"); +/** @type {function(...*):?} */ +var _emscripten_stack_get_current = function() { + return (_emscripten_stack_get_current = Module["asm"]["emscripten_stack_get_current"]).apply(null, arguments); +}; + +/** @type {function(...*):?} */ +var dynCall_jiji = Module["dynCall_jiji"] = createExportWrapper("dynCall_jiji"); + + +// include: postamble.js +// === Auto-generated postamble setup entry stuff === + +var missingLibrarySymbols = [ + 'zeroMemory', + 'exitJS', + 'isLeapYear', + 'ydayFromDate', + 'arraySum', + 'addDays', + 'setErrNo', + 'inetPton4', + 'inetNtop4', + 'inetPton6', + 'inetNtop6', + 'readSockaddr', + 'writeSockaddr', + 'getHostByName', + 'initRandomFill', + 'randomFill', + 'traverseStack', + 'getCallstack', + 'emscriptenLog', + 'convertPCtoSourceLocation', + 'readEmAsmArgs', + 'jstoi_q', + 'jstoi_s', + 'getExecutableName', + 'listenOnce', + 'autoResumeAudioContext', + 'handleException', + 'runtimeKeepalivePush', + 'runtimeKeepalivePop', + 'callUserCallback', + 'maybeExit', + 'safeSetTimeout', + 'asmjsMangle', + 'asyncLoad', + 'alignMemory', + 'mmapAlloc', + 'getNativeTypeSize', + 'STACK_SIZE', + 'STACK_ALIGN', + 'POINTER_SIZE', + 'ASSERTIONS', + 'writeI53ToI64', + 'writeI53ToI64Clamped', + 'writeI53ToI64Signaling', + 'writeI53ToU64Clamped', + 'writeI53ToU64Signaling', + 'readI53FromI64', + 'readI53FromU64', + 'convertI32PairToI53', + 'convertU32PairToI53', + 'getCFunc', + 'ccall', + 'cwrap', + 'uleb128Encode', + 'sigToWasmTypes', + 'generateFuncType', + 'convertJsFunctionToWasm', + 'getEmptyTableSlot', + 'updateTableMap', + 'getFunctionAddress', + 'addFunction', + 'removeFunction', + 'reallyNegative', + 'unSign', + 'strLen', + 'reSign', + 'formatString', + 'intArrayFromString', + 'intArrayToString', + 'AsciiToString', + 'stringToAscii', + 'stringToNewUTF8', + 'stringToUTF8OnStack', + 'writeArrayToMemory', + 'registerKeyEventCallback', + 'maybeCStringToJsString', + 'findEventTarget', + 'findCanvasEventTarget', + 'getBoundingClientRect', + 'fillMouseEventData', + 'registerMouseEventCallback', + 'registerWheelEventCallback', + 'registerUiEventCallback', + 'registerFocusEventCallback', + 'fillDeviceOrientationEventData', + 'registerDeviceOrientationEventCallback', + 'fillDeviceMotionEventData', + 'registerDeviceMotionEventCallback', + 'screenOrientation', + 'fillOrientationChangeEventData', + 'registerOrientationChangeEventCallback', + 'fillFullscreenChangeEventData', + 'registerFullscreenChangeEventCallback', + 'JSEvents_requestFullscreen', + 'JSEvents_resizeCanvasForFullscreen', + 'registerRestoreOldStyle', + 'hideEverythingExceptGivenElement', + 'restoreHiddenElements', + 'setLetterbox', + 'softFullscreenResizeWebGLRenderTarget', + 'doRequestFullscreen', + 'fillPointerlockChangeEventData', + 'registerPointerlockChangeEventCallback', + 'registerPointerlockErrorEventCallback', + 'requestPointerLock', + 'fillVisibilityChangeEventData', + 'registerVisibilityChangeEventCallback', + 'registerTouchEventCallback', + 'fillGamepadEventData', + 'registerGamepadEventCallback', + 'registerBeforeUnloadEventCallback', + 'fillBatteryEventData', + 'battery', + 'registerBatteryEventCallback', + 'setCanvasElementSize', + 'getCanvasElementSize', + 'demangle', + 'demangleAll', + 'jsStackTrace', + 'stackTrace', + 'getEnvStrings', + 'checkWasiClock', + 'wasiRightsToMuslOFlags', + 'wasiOFlagsToMuslOFlags', + 'createDyncallWrapper', + 'setImmediateWrapped', + 'clearImmediateWrapped', + 'polyfillSetImmediate', + 'getPromise', + 'makePromise', + 'idsToPromises', + 'makePromiseCallback', + 'setMainLoop', + 'getSocketFromFD', + 'getSocketAddress', + 'heapObjectForWebGLType', + 'heapAccessShiftForWebGLHeap', + 'webgl_enable_ANGLE_instanced_arrays', + 'webgl_enable_OES_vertex_array_object', + 'webgl_enable_WEBGL_draw_buffers', + 'webgl_enable_WEBGL_multi_draw', + 'emscriptenWebGLGet', + 'computeUnpackAlignedImageSize', + 'colorChannelsInGlTextureFormat', + 'emscriptenWebGLGetTexPixelData', + '__glGenObject', + 'emscriptenWebGLGetUniform', + 'webglGetUniformLocation', + 'webglPrepareUniformLocationsBeforeFirstUse', + 'webglGetLeftBracePos', + 'emscriptenWebGLGetVertexAttrib', + '__glGetActiveAttribOrUniform', + 'writeGLArray', + 'registerWebGlEventCallback', + 'runAndAbortIfError', + 'SDL_unicode', + 'SDL_ttfContext', + 'SDL_audio', + 'GLFW_Window', + 'ALLOC_NORMAL', + 'ALLOC_STACK', + 'allocate', + 'writeStringToMemory', + 'writeAsciiToMemory', + 'enumReadValueFromPointer', + 'validateThis', + 'craftEmvalAllocator', + 'emval_get_global', +]; +missingLibrarySymbols.forEach(missingLibrarySymbol) + +var unexportedSymbols = [ + 'run', + 'addOnPreRun', + 'addOnInit', + 'addOnPreMain', + 'addOnExit', + 'addOnPostRun', + 'addRunDependency', + 'removeRunDependency', + 'FS_createFolder', + 'FS_createPath', + 'FS_createDataFile', + 'FS_createLazyFile', + 'FS_createLink', + 'FS_createDevice', + 'FS_unlink', + 'out', + 'err', + 'callMain', + 'abort', + 'keepRuntimeAlive', + 'wasmMemory', + 'stackAlloc', + 'stackSave', + 'stackRestore', + 'getTempRet0', + 'setTempRet0', + 'writeStackCookie', + 'checkStackCookie', + 'ptrToString', + 'getHeapMax', + 'emscripten_realloc_buffer', + 'ENV', + 'MONTH_DAYS_REGULAR', + 'MONTH_DAYS_LEAP', + 'MONTH_DAYS_REGULAR_CUMULATIVE', + 'MONTH_DAYS_LEAP_CUMULATIVE', + 'ERRNO_CODES', + 'ERRNO_MESSAGES', + 'DNS', + 'Protocols', + 'Sockets', + 'timers', + 'warnOnce', + 'UNWIND_CACHE', + 'readEmAsmArgsArray', + 'dynCallLegacy', + 'getDynCaller', + 'dynCall', + 'HandleAllocator', + 'convertI32PairToI53Checked', + 'freeTableIndexes', + 'functionsInTableMap', + 'setValue', + 'getValue', + 'PATH', + 'PATH_FS', + 'UTF8Decoder', + 'UTF8ArrayToString', + 'UTF8ToString', + 'stringToUTF8Array', + 'stringToUTF8', + 'lengthBytesUTF8', + 'UTF16Decoder', + 'UTF16ToString', + 'stringToUTF16', + 'lengthBytesUTF16', + 'UTF32ToString', + 'stringToUTF32', + 'lengthBytesUTF32', + 'JSEvents', + 'specialHTMLTargets', + 'currentFullscreenStrategy', + 'restoreOldWindowedStyle', + 'ExitStatus', + 'flush_NO_FILESYSTEM', + 'dlopenMissingError', + 'promiseMap', + 'Browser', + 'wget', + 'SYSCALLS', + 'tempFixedLengthArray', + 'miniTempWebGLFloatBuffers', + 'miniTempWebGLIntBuffers', + 'GL', + 'emscripten_webgl_power_preferences', + 'AL', + 'GLUT', + 'EGL', + 'GLEW', + 'IDBStore', + 'SDL', + 'SDL_gfx', + 'GLFW', + 'allocateUTF8', + 'allocateUTF8OnStack', + 'InternalError', + 'BindingError', + 'UnboundTypeError', + 'PureVirtualError', + 'init_embind', + 'throwInternalError', + 'throwBindingError', + 'throwUnboundTypeError', + 'ensureOverloadTable', + 'exposePublicSymbol', + 'replacePublicSymbol', + 'extendError', + 'createNamedFunction', + 'embindRepr', + 'registeredInstances', + 'getBasestPointer', + 'registerInheritedInstance', + 'unregisterInheritedInstance', + 'getInheritedInstance', + 'getInheritedInstanceCount', + 'getLiveInheritedInstances', + 'registeredTypes', + 'awaitingDependencies', + 'typeDependencies', + 'registeredPointers', + 'registerType', + 'whenDependentTypesAreResolved', + 'embind_charCodes', + 'embind_init_charCodes', + 'readLatin1String', + 'getTypeName', + 'heap32VectorToArray', + 'requireRegisteredType', + 'getShiftFromSize', + 'integerReadValueFromPointer', + 'floatReadValueFromPointer', + 'simpleReadValueFromPointer', + 'runDestructors', + 'craftInvokerFunction', + 'embind__requireFunction', + 'tupleRegistrations', + 'structRegistrations', + 'genericPointerToWireType', + 'constNoSmartPtrRawPointerToWireType', + 'nonConstNoSmartPtrRawPointerToWireType', + 'init_RegisteredPointer', + 'RegisteredPointer', + 'RegisteredPointer_getPointee', + 'RegisteredPointer_destructor', + 'RegisteredPointer_deleteObject', + 'RegisteredPointer_fromWireType', + 'runDestructor', + 'releaseClassHandle', + 'finalizationRegistry', + 'detachFinalizer_deps', + 'detachFinalizer', + 'attachFinalizer', + 'makeClassHandle', + 'init_ClassHandle', + 'ClassHandle', + 'ClassHandle_isAliasOf', + 'throwInstanceAlreadyDeleted', + 'ClassHandle_clone', + 'ClassHandle_delete', + 'deletionQueue', + 'ClassHandle_isDeleted', + 'ClassHandle_deleteLater', + 'flushPendingDeletes', + 'delayFunction', + 'setDelayFunction', + 'RegisteredClass', + 'shallowCopyInternalPointer', + 'downcastPointer', + 'upcastPointer', + 'char_0', + 'char_9', + 'makeLegalFunctionName', + 'emval_handles', + 'emval_symbols', + 'init_emval', + 'count_emval_handles', + 'getStringOrSymbol', + 'Emval', + 'emval_newers', + 'emval_lookupTypes', + 'emval_allocateDestructors', + 'emval_methodCallers', + 'emval_addMethodCaller', + 'emval_registeredMethods', +]; +unexportedSymbols.forEach(unexportedRuntimeSymbol); + + + +var calledRun; + +dependenciesFulfilled = function runCaller() { + // If run has never been called, and we should call run (INVOKE_RUN is true, and Module.noInitialRun is not false) + if (!calledRun) run(); + if (!calledRun) dependenciesFulfilled = runCaller; // try this again later, after new deps are fulfilled +}; + +function stackCheckInit() { + // This is normally called automatically during __wasm_call_ctors but need to + // get these values before even running any of the ctors so we call it redundantly + // here. + _emscripten_stack_init(); + // TODO(sbc): Move writeStackCookie to native to to avoid this. + writeStackCookie(); +} + +function run() { + + if (runDependencies > 0) { + return; + } + + stackCheckInit(); + + preRun(); + + // a preRun added a dependency, run will be called later + if (runDependencies > 0) { + return; + } + + function doRun() { + // run may have just been called through dependencies being fulfilled just in this very frame, + // or while the async setStatus time below was happening + if (calledRun) return; + calledRun = true; + Module['calledRun'] = true; + + if (ABORT) return; + + initRuntime(); + + readyPromiseResolve(Module); + if (Module['onRuntimeInitialized']) Module['onRuntimeInitialized'](); + + assert(!Module['_main'], 'compiled without a main, but one is present. if you added it from JS, use Module["onRuntimeInitialized"]'); + + postRun(); + } + + if (Module['setStatus']) { + Module['setStatus']('Running...'); + setTimeout(function() { + setTimeout(function() { + Module['setStatus'](''); + }, 1); + doRun(); + }, 1); + } else + { + doRun(); + } + checkStackCookie(); +} + +function checkUnflushedContent() { + // Compiler settings do not allow exiting the runtime, so flushing + // the streams is not possible. but in ASSERTIONS mode we check + // if there was something to flush, and if so tell the user they + // should request that the runtime be exitable. + // Normally we would not even include flush() at all, but in ASSERTIONS + // builds we do so just for this check, and here we see if there is any + // content to flush, that is, we check if there would have been + // something a non-ASSERTIONS build would have not seen. + // How we flush the streams depends on whether we are in SYSCALLS_REQUIRE_FILESYSTEM=0 + // mode (which has its own special function for this; otherwise, all + // the code is inside libc) + var oldOut = out; + var oldErr = err; + var has = false; + out = err = (x) => { + has = true; + } + try { // it doesn't matter if it fails + flush_NO_FILESYSTEM(); + } catch(e) {} + out = oldOut; + err = oldErr; + if (has) { + warnOnce('stdio streams had content in them that was not flushed. you should set EXIT_RUNTIME to 1 (see the FAQ), or make sure to emit a newline when you printf etc.'); + warnOnce('(this may also be due to not including full filesystem support - try building with -sFORCE_FILESYSTEM)'); + } +} + +if (Module['preInit']) { + if (typeof Module['preInit'] == 'function') Module['preInit'] = [Module['preInit']]; + while (Module['preInit'].length > 0) { + Module['preInit'].pop()(); + } +} + +run(); + + +// end include: postamble.js + + + return Bullet.ready +} + +); +})(); +if (typeof exports === 'object' && typeof module === 'object') + module.exports = Bullet; +else if (typeof define === 'function' && define['amd']) + define([], function() { return Bullet; }); +else if (typeof exports === 'object') + exports["Bullet"] = Bullet; diff --git a/emscripten/bullet/bullet.debug.wasm.wasm b/emscripten/bullet/bullet.debug.wasm.wasm new file mode 100644 index 0000000000000000000000000000000000000000..a8b56c6a24bbb9a03357fb783fff70cfdea066ae GIT binary patch literal 5730786 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 )ntAfbW3L+0A6kynwJ|yd^Sk+`k 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%0DM>bG(&qkl{tO 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ƎsG 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 _-%ep$bK$TRFWm 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༝#s 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∣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 )vwJ9f`iMpeph! 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 z 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�_ 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 Twt3W_3C($XlM)#lk*7Sf18JVXe8q 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≠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�PML)>#KM4Dx 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%0A&za?&UfjrJ%MYp>A%qF+Vt)C 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

x{ix=|GlKuR1_i_GN{tkYG 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 +gGcli$ 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

>>0?g+1|0:g;if(!i&(g|0)<=0|(g|0)<0){break x}y:{if(!d){break y}if(J[d>>2]!=(a|0)){break x}if(J[d+4>>2]!=(a|0)){break y}g=J[d+12>>2];i=J[J[a+8>>2]+12>>2];v=J[i+96>>2];p=J[g+96>>2]-v|0;y=J[i+92>>2];r=r-v|0;q=P(p,y-q|0)+P(r,J[g+92>>2]-y|0)|0;q=us(q,q>>31,b,m);v=ta;i=J[i+88>>2];g=P(r,i-J[g+88>>2]|0)+P(p,x-i|0)|0;p=us(g,g>>31,f,l);i=p+q|0;g=ta+v|0;g=i>>>0

>>0?g+1|0:g;if(!i&(g|0)<=0|(g|0)<0){break x}}d=a}a=J[a>>2];if((e|0)!=(a|0)){continue}break}J[h+56>>2]=d}z:{if(!(c|d)){break z}he(o,z,w,h+80|0,h+56|0);a=J[h+80>>2];if(a){z=J[a+12>>2];J[h+124>>2]=z}a=J[h+56>>2];if(!a){break z}w=J[a+12>>2];J[h+120>>2]=w;n=J[w+96>>2];j=J[w+92>>2];B=J[w+88>>2]}a=n+1|0;break u}B=J[w+88>>2]+1|0;j=J[w+92>>2];z=J[h+124>>2];a=J[w+96>>2]}p=a;a=z;f=w;i=0;g=0;s=0;k=1;c=0;b=0;t=0;while(1){n=J[f+96>>2];d=J[a+96>>2];e=J[a+92>>2];l=J[f+92>>2];m=J[a+88>>2];q=J[f+88>>2];J[h+116>>2]=-1;l=l-e|0;J[h+108>>2]=l;n=n-d|0;J[h+112>>2]=n;q=q-m|0;J[h+104>>2]=q;E=j-e|0;e=p-d|0;d=P(E,n)-P(e,l)|0;A=d>>31;J[h+80>>2]=d;J[h+84>>2]=A;m=B-m|0;e=P(e,q)-P(m,n)|0;D=e>>31;J[h+88>>2]=e;J[h+92>>2]=D;m=P(l,m)-P(q,E)|0;E=m>>31;J[h+96>>2]=m;J[h+100>>2]=E;v=q>>31;r=us(e,D,q,v);y=ta;x=l>>31;C=us(d,A,l,x);J[h+72>>2]=r-C;J[h+76>>2]=y-(ta+(r>>>0>>0)|0);G=A;A=n>>31;d=us(d,G,n,A);r=ta;q=us(m,E,q,v);J[h+64>>2]=d-q;J[h+68>>2]=r-(ta+(d>>>0>>0)|0);d=us(l,x,m,E);m=ta;e=us(e,D,n,A);J[h+56>>2]=d-e;J[h+60>>2]=m-(ta+(d>>>0>>0)|0);J[h+48>>2]=0;J[h+40>>2]=0;J[h+44>>2]=0;J[h+32>>2]=0;J[h+36>>2]=0;d=h+104|0;e=h+80|0;m=h+56|0;l=ge(o,0,a,d,e,m,h+32|0);J[h+24>>2]=0;J[h+16>>2]=0;J[h+20>>2]=0;J[h+8>>2]=0;J[h+12>>2]=0;m=ge(o,1,f,d,e,m,h+8|0);if(!(m|l)){b=Dc(o,a,f);J[b+4>>2]=b;J[b>>2]=b;J[a+8>>2]=b;a=J[b+8>>2];J[a+4>>2]=a;J[a>>2]=a;J[f+8>>2]=a;break i}n=l?-1:1;if(!(!l|!m)){n=lb(h+32|0,h+8|0)}A:{B:{C:{if(k&1){break C}if((n|0)>=0){if(J[h+16>>2]|J[h+20>>2]|J[h+24>>2]>=0){break C}k=i;f=g;e=c;d=b;break B}if(J[h+40>>2]|J[h+44>>2]|J[h+48>>2]>=0){break C}J[h+4>>2]=l;e=c;d=b;break A}e=Dc(o,a,f);d=e;if(c){J[c+4>>2]=e;d=b}J[e>>2]=c;k=J[e+8>>2];f=k;if(i){J[i>>2]=k;f=g}J[k+4>>2]=i}J[h+4>>2]=l;J[h>>2]=m;c=m;if(!n){he(o,J[h+124>>2],J[h+120>>2],h+4|0,h);c=J[h>>2]}if(!(!c|(n|0)<0)){D:{E:{if(F){a=J[F>>2];if((m|0)!=(a|0)){while(1){i=J[a+8>>2];b=0;j=0;g=J[a>>2];if((g|0)!=(a|0)){J[g+4>>2]=J[a+4>>2];J[J[a+4>>2]>>2]=g;j=g}J[J[i+12>>2]+8>>2]=j;j=J[i>>2];if((j|0)!=(i|0)){J[j+4>>2]=J[i+4>>2];J[J[i+4>>2]>>2]=j;b=j}J[J[a+12>>2]+8>>2]=b;J[a+16>>2]=0;J[a+8>>2]=0;J[a+12>>2]=0;J[a>>2]=0;J[a+4>>2]=0;J[a>>2]=J[o+56>>2];J[o+56>>2]=a;J[i+16>>2]=0;J[i+8>>2]=0;J[i+12>>2]=0;J[i>>2]=0;J[i+4>>2]=0;J[i>>2]=J[o+56>>2];J[o+56>>2]=i;J[o+116>>2]=J[o+116>>2]-1;a=g;if((m|0)!=(a|0)){continue}break}}if(k){break E}break D}if(!k){s=m;break D}F=J[m+4>>2];s=f}J[F>>2]=f;J[f+4>>2]=F;J[k>>2]=m;J[m+4>>2]=k;c=J[h>>2];f=0}g=f;a=J[h+120>>2];p=J[a+96>>2];j=J[a+92>>2];B=J[a+88>>2];J[h+120>>2]=J[c+12>>2];F=J[c+8>>2];i=0;break A}i=k;g=f}F:{G:{if((n|0)<=0){n=J[h+4>>2];if(n){break G}}a=J[h+124>>2];break F}H:{I:{if(H){a=J[H+4>>2];if((l|0)!=(a|0)){while(1){k=J[a+8>>2];j=J[a+4>>2];b=0;c=0;f=J[a>>2];if((f|0)!=(a|0)){J[f+4>>2]=j;J[J[a+4>>2]>>2]=f;c=f}J[J[k+12>>2]+8>>2]=c;c=J[k>>2];if((c|0)!=(k|0)){J[c+4>>2]=J[k+4>>2];J[J[k+4>>2]>>2]=c;b=c}J[J[a+12>>2]+8>>2]=b;J[a+16>>2]=0;J[a+8>>2]=0;J[a+12>>2]=0;J[a>>2]=0;J[a+4>>2]=0;J[a>>2]=J[o+56>>2];J[o+56>>2]=a;J[k+16>>2]=0;J[k+8>>2]=0;J[k+12>>2]=0;J[k>>2]=0;J[k+4>>2]=0;J[k>>2]=J[o+56>>2];J[o+56>>2]=k;J[o+116>>2]=J[o+116>>2]-1;a=j;if((l|0)!=(a|0)){continue}break}}if(!e){break H}J[d>>2]=H;a=H+4|0;break I}if(!e){t=l;break H}a=J[l>>2];J[d>>2]=a;t=d;a=a+4|0}J[a>>2]=d;J[l>>2]=e;J[e+4>>2]=l;d=0;n=J[h+4>>2]}a=J[h+124>>2];p=J[a+96>>2];j=J[a+92>>2];B=J[a+88>>2];a=J[n+12>>2];J[h+124>>2]=a;H=J[n+8>>2];e=0}f=J[h+120>>2];if((a|0)!=(z|0)|(w|0)!=(f|0)){k=0;c=e;b=d;continue}else{J:{if(!H){J[d>>2]=e;J[e+4>>2]=d;J[J[h+124>>2]+8>>2]=e;break J}a=J[H+4>>2];if((t|0)!=(a|0)){while(1){k=J[a+8>>2];f=J[a+4>>2];b=0;c=J[a>>2];if((c|0)!=(a|0)){J[c+4>>2]=f;J[J[a+4>>2]>>2]=c;b=c}J[J[k+12>>2]+8>>2]=b;j=J[k>>2];K:{if((k|0)==(j|0)){j=0;break K}J[j+4>>2]=J[k+4>>2];J[J[k+4>>2]>>2]=j}J[J[a+12>>2]+8>>2]=j;J[a+16>>2]=0;J[a+8>>2]=0;J[a+12>>2]=0;J[a>>2]=0;J[a+4>>2]=0;J[a>>2]=J[o+56>>2];J[o+56>>2]=a;J[k+16>>2]=0;J[k+8>>2]=0;J[k+12>>2]=0;J[k>>2]=0;J[k+4>>2]=0;J[k>>2]=J[o+56>>2];J[o+56>>2]=k;J[o+116>>2]=J[o+116>>2]-1;a=f;if((t|0)!=(a|0)){continue}break}}if(!e){break J}J[d>>2]=H;J[H+4>>2]=d;J[t>>2]=e;J[e+4>>2]=t}if(!F){J[i>>2]=g;J[g+4>>2]=i;J[J[h+120>>2]+8>>2]=i;break i}a=J[F>>2];if((s|0)!=(a|0)){while(1){c=J[a+8>>2];j=0;b=J[a>>2];if((b|0)!=(a|0)){J[b+4>>2]=J[a+4>>2];J[J[a+4>>2]>>2]=b;j=b}J[J[c+12>>2]+8>>2]=j;j=J[c>>2];L:{if((c|0)==(j|0)){j=0;break L}J[j+4>>2]=J[c+4>>2];J[J[c+4>>2]>>2]=j}J[J[a+12>>2]+8>>2]=j;J[a+16>>2]=0;J[a+8>>2]=0;J[a+12>>2]=0;J[a>>2]=0;J[a+4>>2]=0;J[a>>2]=J[o+56>>2];J[o+56>>2]=a;J[c+16>>2]=0;J[c+8>>2]=0;J[c+12>>2]=0;J[c>>2]=0;J[c+4>>2]=0;J[c>>2]=J[o+56>>2];J[o+56>>2]=c;J[o+116>>2]=J[o+116>>2]-1;a=b;if((s|0)!=(a|0)){continue}break}}if(!i){break i}J[F>>2]=g;J[g+4>>2]=F;J[i>>2]=s;J[s+4>>2]=i}break}}sa=h+128|0}sa=u+16|0}function Rd(a){var b=0,c=0,d=0,e=Q(0),f=Q(0),g=0,h=Q(0),i=Q(0),j=Q(0),k=0,l=Q(0),m=Q(0),n=Q(0),o=Q(0),p=Q(0),q=Q(0),r=Q(0),s=0,t=Q(0),u=Q(0),v=Q(0),w=Q(0),x=Q(0),y=Q(0),z=0,A=0,B=0,C=Q(0),D=Q(0),E=0,F=Q(0),G=Q(0),I=Q(0),L=Q(0),M=Q(0),O=Q(0),P=Q(0),R=Q(0),S=Q(0),T=Q(0),U=Q(0),V=0,W=0,X=0,Y=0,Z=Q(0),_=Q(0),$=0;k=sa-16|0;sa=k;a:{if(!K[a+356|0]){c=K[a+312|0];break a}H[a+356|0]=0;H[a+352|0]=0;J[a+344>>2]=0;J[a+348>>2]=0;J[a+336>>2]=0;J[a+340>>2]=0;d=K[a+332|0]&-16;H[a+332|0]=d;b=a+316|0;b:{c:{switch(J[a>>2]-1|0){case 0:c=J[a+168>>2];J[a+260>>2]=J[a+164>>2];J[a+264>>2]=c;c=J[a+88>>2];J[a+244>>2]=J[a+84>>2];J[a+248>>2]=c;c=J[a+176>>2];J[a+268>>2]=J[a+172>>2];J[a+272>>2]=c;c=J[a+96>>2];J[a+252>>2]=J[a+92>>2];J[a+256>>2]=c;H[a+352|0]=0;J[a+288>>2]=0;N[a+280>>2]=N[a+248>>2]-N[a+264>>2];N[a+276>>2]=N[a+244>>2]-N[a+260>>2];N[a+284>>2]=N[a+252>>2]-N[a+268>>2];J[a+344>>2]=0;J[a+348>>2]=0;J[a+336>>2]=1065353216;J[a+340>>2]=0;c=1;break b;case 1:g=1;j=N[a+8>>2];e=Q(N[a+24>>2]-j);i=N[a+12>>2];h=Q(N[a+28>>2]-i);m=Q(h*Q(Q(0)-i));l=N[a+4>>2];i=Q(N[a+20>>2]-l);j=Q(m+Q(Q(i*Q(Q(0)-l))+Q(Q(Q(0)-j)*e)));b=j>Q(0);c=1;d:{if(!b){break d}f=Q(Q(h*h)+Q(Q(i*i)+Q(e*e)));if(!(f>j)){f=Q(1);c=2;break d}f=Q(j/f);c=3}J[a+344>>2]=0;J[a+348>>2]=0;N[a+340>>2]=f;j=Q(Q(1)-f);N[a+336>>2]=j;H[a+332|0]=d|c;J[a+256>>2]=0;e=N[a+92>>2];l=Q(e+Q(f*Q(N[a+108>>2]-e)));N[a+252>>2]=l;e=N[a+88>>2];n=Q(e+Q(f*Q(N[a+104>>2]-e)));N[a+248>>2]=n;e=N[a+84>>2];o=Q(e+Q(f*Q(N[a+100>>2]-e)));N[a+244>>2]=o;m=N[a+180>>2];q=N[a+184>>2];e=N[a+168>>2];r=N[a+188>>2];h=N[a+172>>2];i=N[a+164>>2];J[a+288>>2]=0;h=Q(h+Q(f*Q(r-h)));N[a+284>>2]=l-h;e=Q(e+Q(f*Q(q-e)));N[a+280>>2]=n-e;i=Q(i+Q(f*Q(m-i)));N[a+276>>2]=o-i;J[a+272>>2]=0;N[a+268>>2]=h;N[a+264>>2]=e;N[a+260>>2]=i;if(!b){J[a>>2]=1;g=0}if(!(c&1)){J[a>>2]=g;c=(g<<4)+a|0;b=J[c+16>>2];J[a+12>>2]=J[c+12>>2];J[a+16>>2]=b;b=J[c+8>>2];J[a+4>>2]=J[c+4>>2];J[a+8>>2]=b;b=J[c+96>>2];J[a+92>>2]=J[c+92>>2];J[a+96>>2]=b;b=J[c+88>>2];J[a+84>>2]=J[c+84>>2];J[a+88>>2]=b;b=J[c+176>>2];J[a+172>>2]=J[c+172>>2];J[a+176>>2]=b;b=J[c+168>>2];J[a+164>>2]=J[c+164>>2];J[a+168>>2]=b}c=j>=Q(0)&f>=Q(0);break b;case 2:J[k+8>>2]=0;J[k+12>>2]=0;J[k>>2]=0;J[k+4>>2]=0;qb(k,a+4|0,a+20|0,a+36|0,b);J[a+256>>2]=0;f=N[a+336>>2];e=N[a+340>>2];h=N[a+344>>2];i=Q(Q(Q(f*N[a+92>>2])+Q(e*N[a+108>>2]))+Q(h*N[a+124>>2]));N[a+252>>2]=i;j=Q(Q(Q(f*N[a+88>>2])+Q(e*N[a+104>>2]))+Q(h*N[a+120>>2]));N[a+248>>2]=j;l=Q(Q(Q(f*N[a+84>>2])+Q(e*N[a+100>>2]))+Q(h*N[a+116>>2]));N[a+244>>2]=l;n=N[a+180>>2];o=N[a+196>>2];m=N[a+168>>2];q=N[a+184>>2];r=N[a+200>>2];u=N[a+172>>2];v=N[a+188>>2];w=N[a+204>>2];x=N[a+164>>2];J[a+288>>2]=0;p=i;i=Q(Q(Q(f*u)+Q(e*v))+Q(h*w));N[a+284>>2]=p-i;p=j;j=Q(Q(Q(f*m)+Q(e*q))+Q(h*r));N[a+280>>2]=p-j;m=l;l=Q(Q(Q(f*x)+Q(e*n))+Q(h*o));N[a+276>>2]=m-l;J[a+272>>2]=0;N[a+268>>2]=i;N[a+264>>2]=j;N[a+260>>2]=l;e:{f:{g:{h:{i:{b=J[a>>2];j:{if((b|0)>=4){g=K[a+332|0];if(g&8){c=b;break j}c=b-1|0;J[a>>2]=c;b=(c<<4)+a|0;d=J[b+16>>2];J[a+60>>2]=J[b+12>>2];J[a+64>>2]=d;d=J[b+8>>2];J[a+52>>2]=J[b+4>>2];J[a+56>>2]=d;d=J[b+88>>2];J[a+132>>2]=J[b+84>>2];J[a+136>>2]=d;d=J[b+96>>2];J[a+140>>2]=J[b+92>>2];J[a+144>>2]=d;d=J[b+176>>2];J[a+220>>2]=J[b+172>>2];J[a+224>>2]=d;d=J[b+168>>2];J[a+212>>2]=J[b+164>>2];J[a+216>>2]=d;break j}c=3;if((b|0)!=3){break i}g=K[a+332|0]}if(g&4){break h}c=c-1|0;J[a>>2]=c;b=(c<<4)+a|0;d=J[b+16>>2];J[a+44>>2]=J[b+12>>2];J[a+48>>2]=d;d=J[b+8>>2];J[a+36>>2]=J[b+4>>2];J[a+40>>2]=d;d=J[b+96>>2];J[a+124>>2]=J[b+92>>2];J[a+128>>2]=d;d=J[b+88>>2];J[a+116>>2]=J[b+84>>2];J[a+120>>2]=d;d=J[b+176>>2];J[a+204>>2]=J[b+172>>2];J[a+208>>2]=d;d=J[b+168>>2];J[a+196>>2]=J[b+164>>2];J[a+200>>2]=d;break h}c=2;if((b|0)<2){break g}g=K[a+332|0]}if(g&2){break f}c=c-1|0;J[a>>2]=c;b=(c<<4)+a|0;d=J[b+16>>2];J[a+28>>2]=J[b+12>>2];J[a+32>>2]=d;d=J[b+8>>2];J[a+20>>2]=J[b+4>>2];J[a+24>>2]=d;d=J[b+96>>2];J[a+108>>2]=J[b+92>>2];J[a+112>>2]=d;d=J[b+88>>2];J[a+100>>2]=J[b+84>>2];J[a+104>>2]=d;d=J[b+176>>2];J[a+188>>2]=J[b+172>>2];J[a+192>>2]=d;d=J[b+168>>2];J[a+180>>2]=J[b+164>>2];J[a+184>>2]=d;break f}c=1;if((b|0)!=1){break e}g=K[a+332|0]}if(g&1){break e}c=c-1|0;J[a>>2]=c;c=(c<<4)+a|0;b=J[c+16>>2];J[a+12>>2]=J[c+12>>2];J[a+16>>2]=b;b=J[c+8>>2];J[a+4>>2]=J[c+4>>2];J[a+8>>2]=b;b=J[c+96>>2];J[a+92>>2]=J[c+92>>2];J[a+96>>2]=b;b=J[c+88>>2];J[a+84>>2]=J[c+84>>2];J[a+88>>2]=b;b=J[c+176>>2];J[a+172>>2]=J[c+172>>2];J[a+176>>2]=b;b=J[c+168>>2];J[a+164>>2]=J[c+164>>2];J[a+168>>2]=b}c=0;if(!(h>=Q(0))|(!(f>=Q(0))|!(e>=Q(0)))){break b}c=N[a+348>>2]>=Q(0);break b;case 3:break c;default:break b}}J[k+8>>2]=0;J[k+12>>2]=0;J[k>>2]=0;J[k+4>>2]=0;g=sa-48|0;sa=g;H[g+24|0]=0;d=J[k+12>>2];J[b+8>>2]=J[k+8>>2];J[b+12>>2]=d;d=J[k+4>>2];J[b>>2]=J[k>>2];J[b+4>>2]=d;s=K[b+16|0];H[b+16|0]=s|15;P=N[k+8>>2];d=a+4|0;f=N[d+8>>2];R=Q(P-f);z=a+36|0;p=N[z+8>>2];e=Q(p-f);A=a+52|0;t=N[A>>2];h=N[d>>2];i=Q(t-h);B=a+20|0;j=N[B+4>>2];l=N[d+4>>2];n=Q(j-l);o=N[B>>2];m=Q(o-h);F=N[A+4>>2];q=Q(F-l);C=Q(Q(i*n)-Q(m*q));G=N[z>>2];r=Q(G-h);u=N[B+8>>2];v=Q(u-f);U=N[A+8>>2];w=Q(U-f);D=Q(Q(q*v)-Q(n*w));I=N[z+4>>2];x=Q(I-l);L=Q(Q(w*m)-Q(v*i));y=Q(Q(e*C)+Q(Q(r*D)+Q(x*L)));M=Q(R*C);C=N[k>>2];S=Q(C-h);O=Q(S*D);D=N[k+4>>2];T=Q(D-l);V=Q(y*y)>2];e=Q(h-P);f=Q(e*e);i=N[g+8>>2];e=Q(i-C);l=Q(e*e);j=N[g+12>>2];e=Q(j-D);e=Q(f+Q(l+Q(e*e)));f=Q(34028234663852886e22);if(!(e>2]=N[g+20>>2];N[b+8>>2]=h;N[b+4>>2]=j;N[b>>2]=i;H[b+16|0]=K[g+24|0]&7|s&-16;f=N[g+36>>2];s=J[g+32>>2];E=J[g+28>>2];J[b+32>>2]=0;N[b+28>>2]=f;J[b+20>>2]=E;J[b+24>>2]=s;f=e}m:{if(!W){break m}qb(k,d,z,A,g+8|0);h=N[g+16>>2];e=Q(h-N[k+8>>2]);l=Q(e*e);i=N[g+8>>2];e=Q(i-N[k>>2]);m=Q(e*e);j=N[g+12>>2];e=Q(j-N[k+4>>2]);e=Q(l+Q(m+Q(e*e)));if(!(e>2]=N[g+20>>2];N[b+8>>2]=h;N[b+4>>2]=j;N[b>>2]=i;s=K[g+24|0];H[b+16|0]=K[b+16|0]&240|(s&1|s<<1&12);s=J[g+36>>2];E=J[g+32>>2];f=N[g+28>>2];J[b+24>>2]=0;J[b+28>>2]=E;J[b+32>>2]=s;N[b+20>>2]=f;f=e}n:{if(!V){break n}qb(k,d,A,B,g+8|0);h=N[g+16>>2];e=Q(h-N[k+8>>2]);l=Q(e*e);i=N[g+8>>2];e=Q(i-N[k>>2]);m=Q(e*e);j=N[g+12>>2];e=Q(j-N[k+4>>2]);e=Q(l+Q(m+Q(e*e)));if(!(e>2]=N[g+20>>2];N[b+8>>2]=h;N[b+4>>2]=j;N[b>>2]=i;d=K[g+24|0];H[b+16|0]=K[b+16|0]&240|(d&1|d>>>1&2|d<<2&8);f=N[g+36>>2];h=N[g+28>>2];N[b+32>>2]=N[g+32>>2];J[b+28>>2]=0;N[b+24>>2]=f;N[b+20>>2]=h;f=e}$=1;if(!X){break k}qb(k,B,A,z,g+8|0);j=f;f=N[g+16>>2];e=Q(f-N[k+8>>2]);l=Q(e*e);e=N[g+8>>2];h=Q(e-N[k>>2]);m=Q(h*h);h=N[g+12>>2];i=Q(h-N[k+4>>2]);if(!(j>Q(l+Q(m+Q(i*i))))){break k}N[b+12>>2]=N[g+20>>2];N[b+8>>2]=f;N[b+4>>2]=h;N[b>>2]=e;d=K[g+24|0];H[b+16|0]=K[b+16|0]&240|(d&4|d<<1&2|d<<2&8);f=N[g+36>>2];e=N[g+28>>2];N[b+32>>2]=N[g+32>>2];N[b+28>>2]=f;N[b+24>>2]=e;J[b+20>>2]=0}sa=g+48|0;if($){J[a+256>>2]=0;e=N[a+336>>2];h=N[a+340>>2];i=N[a+344>>2];f=N[a+348>>2];j=Q(Q(Q(Q(e*N[a+92>>2])+Q(h*N[a+108>>2]))+Q(i*N[a+124>>2]))+Q(f*N[a+140>>2]));N[a+252>>2]=j;l=Q(Q(Q(Q(e*N[a+88>>2])+Q(h*N[a+104>>2]))+Q(i*N[a+120>>2]))+Q(f*N[a+136>>2]));N[a+248>>2]=l;n=Q(Q(Q(Q(e*N[a+84>>2])+Q(h*N[a+100>>2]))+Q(i*N[a+116>>2]))+Q(f*N[a+132>>2]));N[a+244>>2]=n;J[a+288>>2]=0;J[a+272>>2]=0;o=Q(Q(Q(Q(e*N[a+164>>2])+Q(h*N[a+180>>2]))+Q(i*N[a+196>>2]))+Q(f*N[a+212>>2]));N[a+260>>2]=o;m=Q(Q(Q(Q(e*N[a+168>>2])+Q(h*N[a+184>>2]))+Q(i*N[a+200>>2]))+Q(f*N[a+216>>2]));N[a+264>>2]=m;e=Q(Q(Q(Q(e*N[a+172>>2])+Q(h*N[a+188>>2]))+Q(i*N[a+204>>2]))+Q(f*N[a+220>>2]));N[a+268>>2]=e;N[a+276>>2]=n-o;N[a+280>>2]=l-m;N[a+284>>2]=j-e;o:{p:{q:{r:{s:{b=J[a>>2];t:{if((b|0)>=4){g=K[a+332|0];if(g&8){c=b;break t}c=b-1|0;J[a>>2]=c;b=(c<<4)+a|0;d=J[b+16>>2];J[a+60>>2]=J[b+12>>2];J[a+64>>2]=d;d=J[b+8>>2];J[a+52>>2]=J[b+4>>2];J[a+56>>2]=d;d=J[b+96>>2];J[a+140>>2]=J[b+92>>2];J[a+144>>2]=d;d=J[b+88>>2];J[a+132>>2]=J[b+84>>2];J[a+136>>2]=d;d=J[b+176>>2];J[a+220>>2]=J[b+172>>2];J[a+224>>2]=d;d=J[b+168>>2];J[a+212>>2]=J[b+164>>2];J[a+216>>2]=d;break t}c=3;if((b|0)!=3){break s}g=K[a+332|0]}if(g&4){break r}c=c-1|0;J[a>>2]=c;b=(c<<4)+a|0;d=J[b+16>>2];J[a+44>>2]=J[b+12>>2];J[a+48>>2]=d;d=J[b+8>>2];J[a+36>>2]=J[b+4>>2];J[a+40>>2]=d;d=J[b+96>>2];J[a+124>>2]=J[b+92>>2];J[a+128>>2]=d;d=J[b+88>>2];J[a+116>>2]=J[b+84>>2];J[a+120>>2]=d;d=J[b+176>>2];J[a+204>>2]=J[b+172>>2];J[a+208>>2]=d;d=J[b+168>>2];J[a+196>>2]=J[b+164>>2];J[a+200>>2]=d;break r}c=2;if((b|0)<2){break q}g=K[a+332|0]}if(g&2){break p}c=c-1|0;J[a>>2]=c;b=(c<<4)+a|0;d=J[b+16>>2];J[a+28>>2]=J[b+12>>2];J[a+32>>2]=d;d=J[b+8>>2];J[a+20>>2]=J[b+4>>2];J[a+24>>2]=d;d=J[b+96>>2];J[a+108>>2]=J[b+92>>2];J[a+112>>2]=d;d=J[b+88>>2];J[a+100>>2]=J[b+84>>2];J[a+104>>2]=d;d=J[b+176>>2];J[a+188>>2]=J[b+172>>2];J[a+192>>2]=d;d=J[b+168>>2];J[a+180>>2]=J[b+164>>2];J[a+184>>2]=d;break p}c=1;if((b|0)!=1){break o}g=K[a+332|0]}if(g&1){break o}c=c-1|0;J[a>>2]=c;c=(c<<4)+a|0;b=J[c+16>>2];J[a+12>>2]=J[c+12>>2];J[a+16>>2]=b;b=J[c+8>>2];J[a+4>>2]=J[c+4>>2];J[a+8>>2]=b;b=J[c+96>>2];J[a+92>>2]=J[c+92>>2];J[a+96>>2]=b;b=J[c+88>>2];J[a+84>>2]=J[c+84>>2];J[a+88>>2]=b;b=J[c+176>>2];J[a+172>>2]=J[c+172>>2];J[a+176>>2]=b;b=J[c+168>>2];J[a+164>>2]=J[c+164>>2];J[a+168>>2]=b}c=N[a+336>>2]>=Q(0)&N[a+340>>2]>=Q(0)&N[a+344>>2]>=Q(0)&f>=Q(0);break b}if(K[a+352|0]){break b}J[a+276>>2]=0;J[a+280>>2]=0;c=1;H[a+312|0]=1;J[a+284>>2]=0;J[a+288>>2]=0;break a}H[a+312|0]=c}sa=k+16|0;return(c&255)!=0}function ie(a){var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=Q(0),j=0,k=0,l=Q(0),m=0,n=0,o=Q(0),p=0,q=Q(0),r=0,s=0,t=Q(0),u=0,v=0,w=Q(0),x=Q(0),y=0,z=Q(0),A=Q(0),B=0,C=Q(0),D=0,E=0,F=0,G=Q(0),O=0,S=Q(0),T=Q(0),U=Q(0),V=Q(0),W=Q(0),X=Q(0),Z=Q(0),_=Q(0),$=Q(0);g=sa-96|0;sa=g;H[g+52|0]=1;J[g+48>>2]=0;H[g+72|0]=1;J[g+40>>2]=0;J[g+44>>2]=0;J[g+68>>2]=0;H[g+92|0]=1;J[g+60>>2]=0;J[g+64>>2]=0;J[g+88>>2]=0;J[g+80>>2]=0;J[g+84>>2]=0;J[g+28>>2]=0;H[g+32|0]=1;J[g+20>>2]=0;J[g+24>>2]=0;J[a+72>>2]=0;J[a+76>>2]=0;J[a+64>>2]=0;J[a+68>>2]=0;a:{b:{j=J[a+28>>2];if((j|0)>0){while(1){D=P(B,36);E=J[(D+J[a+36>>2]|0)+4>>2];if((E|0)>0){F=0;while(1){b=J[(J[a+36>>2]+D|0)+12>>2];e=J[b+(F<<2)>>2];F=F+1|0;O=(E|0)==(F|0);b=J[b+((O?0:F)<<2)>>2];I[g+14>>1]=b;I[g+12>>1]=e;c=e<<16>>16;d=b<<16>>16;if((c|0)<(d|0)){I[g+14>>1]=e;I[g+12>>1]=b;c=b;d=e}v=d<<16>>16;j=0;n=c<<16>>16;b=n+(d<<16)&J[g+64>>2]-1;c:{if(b>>>0>=M[g+20>>2]){break c}b=J[J[g+28>>2]+(b<<2)>>2];if((b|0)==-1){break c}h=J[g+48>>2];e=J[g+88>>2];while(1){k=b<<2;b=k+e|0;if(!(L[b>>1]==(c&65535)&L[b+2>>1]==(d&65535))){b=J[h+k>>2];if((b|0)!=-1){continue}break c}break}j=k+J[g+68>>2]|0}b=J[a+16>>2];e=b+(v<<4)|0;b=b+(n<<4)|0;i=Q(N[e+8>>2]-N[b+8>>2]);G=i;q=Q(N[e>>2]-N[b>>2]);o=Q(N[e+4>>2]-N[b+4>>2]);i=Q(Q(1)/Q(Y(Q(Q(i*i)+Q(Q(q*q)+Q(o*o))))));w=Q(G*i);x=Q(o*i);l=Q(q*i);c=J[a+48>>2];d:{if((c|0)>0){e=J[a+56>>2];b=0;while(1){d=e+(b<<4)|0;q=N[d+8>>2];i=N[d>>2];o=N[d+4>>2];if(!(+Q(R(Q(i-l)))>1e-6|+Q(R(Q(o-x)))>1e-6|+Q(R(Q(q-w)))>1e-6)|!(+Q(R(Q(l+i)))>1e-6|+Q(R(Q(x+o)))>1e-6|+Q(R(Q(w+q)))>1e-6)){break d}b=b+1|0;if((b|0)!=(c|0)){continue}break}}e:{if(J[a+52>>2]!=(c|0)){break e}r=c?c<<1:1;if((r|0)<=(c|0)){break e}f:{if(!r){d=0;break f}J[8456]=J[8456]+1;d=ua[J[8258]](r<<4,16)|0;c=J[a+48>>2]}g:{if((c|0)<=0){break g}v=c&1;b=0;if((c|0)!=1){n=c&-2;c=0;while(1){k=b<<4;h=k+d|0;p=k+J[a+56>>2]|0;e=J[p+4>>2];J[h>>2]=J[p>>2];J[h+4>>2]=e;e=J[p+12>>2];J[h+8>>2]=J[p+8>>2];J[h+12>>2]=e;e=k|16;h=e+d|0;k=e+J[a+56>>2]|0;e=J[k+4>>2];J[h>>2]=J[k>>2];J[h+4>>2]=e;e=J[k+12>>2];J[h+8>>2]=J[k+8>>2];J[h+12>>2]=e;b=b+2|0;c=c+2|0;if((n|0)!=(c|0)){continue}break}}if(!v){break g}b=b<<4;c=b+d|0;e=b+J[a+56>>2]|0;b=J[e+4>>2];J[c>>2]=J[e>>2];J[c+4>>2]=b;b=J[e+12>>2];J[c+8>>2]=J[e+8>>2];J[c+12>>2]=b}b=J[a+56>>2];if(!(b?!b|!K[a+60|0]:1)){J[8457]=J[8457]+1;ua[J[8259]](b)}J[a+56>>2]=d;H[a+60|0]=1;J[a+52>>2]=r;c=J[a+48>>2]}b=J[a+56>>2]+(c<<4)|0;J[b+12>>2]=0;N[b+8>>2]=w;N[b+4>>2]=x;N[b>>2]=l;J[a+48>>2]=J[a+48>>2]+1}h:{if(j){I[j+2>>1]=B;if(O){break h}continue}I[g+8>>1]=B;I[g+10>>1]=65535;i:{j:{d=I[g+12>>1];k=L[g+14>>1];f=g+16|0;e=J[f+48>>2];y=d+(k<<16)&e-1;k:{if(y>>>0>=M[f+4>>2]){break k}b=J[J[f+12>>2]+(y<<2)>>2];if((b|0)==-1){break k}v=J[f+32>>2];n=J[f+72>>2];h=d&65535;while(1){c=b<<2;d=c+n|0;if((h|0)==L[d>>1]&(k|0)==L[d+2>>1]){break j}b=J[c+v>>2];if((b|0)!=-1){continue}break}}v=J[f+44>>2];b=v;l:{if((e|0)!=(b|0)){break l}b=e;p=b?b<<1:1;if((b|0)>=(p|0)){break l}m:{if(!p){m=0;d=e;break m}J[8456]=J[8456]+1;m=ua[J[8258]](p<<2,16)|0;d=J[f+44>>2]}n:{if((d|0)<=0){break n}r=0;b=0;if(d>>>0>=4){n=d&-4;j=0;while(1){k=b<<2;h=k+m|0;c=k+J[f+52>>2]|0;c=L[c>>1]|L[c+2>>1]<<16;I[h>>1]=c;I[h+2>>1]=c>>>16;c=k|4;h=c+m|0;c=c+J[f+52>>2]|0;c=L[c>>1]|L[c+2>>1]<<16;I[h>>1]=c;I[h+2>>1]=c>>>16;c=k|8;h=c+m|0;c=c+J[f+52>>2]|0;c=L[c>>1]|L[c+2>>1]<<16;I[h>>1]=c;I[h+2>>1]=c>>>16;c=k|12;h=c+m|0;c=c+J[f+52>>2]|0;c=L[c>>1]|L[c+2>>1]<<16;I[h>>1]=c;I[h+2>>1]=c>>>16;b=b+4|0;j=j+4|0;if((n|0)!=(j|0)){continue}break}}h=d&3;if(!h){break n}while(1){d=b<<2;c=d+m|0;d=d+J[f+52>>2]|0;d=L[d>>1]|L[d+2>>1]<<16;I[c>>1]=d;I[c+2>>1]=d>>>16;b=b+1|0;r=r+1|0;if((h|0)!=(r|0)){continue}break}}b=J[f+52>>2];if(!(b?!b|!K[f+56|0]:1)){J[8457]=J[8457]+1;ua[J[8259]](b)}J[f+52>>2]=m;H[f+56|0]=1;J[f+48>>2]=p;b=J[f+44>>2]}d=J[f+52>>2]+(b<<2)|0;b=L[g+8>>1]|L[g+10>>1]<<16;I[d>>1]=b;I[d+2>>1]=b>>>16;J[f+44>>2]=J[f+44>>2]+1;p=J[f- -64>>2];o:{if((p|0)!=J[f+68>>2]){break o}n=p?p<<1:1;if((n|0)<=(p|0)){break o}p:{if(!n){m=0;break p}J[8456]=J[8456]+1;m=ua[J[8258]](n<<2,16)|0;p=J[f+64>>2]}q:{if((p|0)<=0){break q}r=0;b=0;if(p>>>0>=4){h=p&-4;j=0;while(1){k=b<<2;c=k+m|0;d=k+J[f+72>>2]|0;d=L[d>>1]|L[d+2>>1]<<16;I[c>>1]=d;I[c+2>>1]=d>>>16;d=k|4;c=d+m|0;d=d+J[f+72>>2]|0;d=L[d>>1]|L[d+2>>1]<<16;I[c>>1]=d;I[c+2>>1]=d>>>16;d=k|8;c=d+m|0;d=d+J[f+72>>2]|0;d=L[d>>1]|L[d+2>>1]<<16;I[c>>1]=d;I[c+2>>1]=d>>>16;d=k|12;c=d+m|0;d=d+J[f+72>>2]|0;d=L[d>>1]|L[d+2>>1]<<16;I[c>>1]=d;I[c+2>>1]=d>>>16;b=b+4|0;j=j+4|0;if((h|0)!=(j|0)){continue}break}}h=p&3;if(!h){break q}while(1){d=b<<2;c=d+m|0;d=d+J[f+72>>2]|0;d=L[d>>1]|L[d+2>>1]<<16;I[c>>1]=d;I[c+2>>1]=d>>>16;b=b+1|0;r=r+1|0;if((h|0)!=(r|0)){continue}break}}b=J[f+72>>2];if(!(b?!b|!K[f+76|0]:1)){J[8457]=J[8457]+1;ua[J[8259]](b)}J[f+72>>2]=m;H[f+76|0]=1;J[f+68>>2]=n;p=J[f+64>>2]}d=J[f+72>>2]+(p<<2)|0;b=L[g+12>>1]|L[g+14>>1]<<16;I[d>>1]=b;I[d+2>>1]=b>>>16;J[f+64>>2]=J[f+64>>2]+1;if((e|0)>2]){j=0;m=0;p=0;y=0;d=J[f+4>>2];u=J[f+48>>2];r:{if((d|0)>=(u|0)){break r}s:{if((u|0)<=J[f+8>>2]){j=J[f+12>>2];break s}if(u){J[8456]=J[8456]+1;j=ua[J[8258]](u<<2,16)|0;b=J[f+4>>2]}else{b=d}n=J[f+12>>2];t:{u:{if((b|0)>0){if(b>>>0>=4){c=b&-4;while(1){h=m<<2;J[h+j>>2]=J[h+n>>2];e=h|4;J[e+j>>2]=J[e+n>>2];e=h|8;J[e+j>>2]=J[e+n>>2];e=h|12;J[e+j>>2]=J[e+n>>2];m=m+4|0;p=p+4|0;if((c|0)!=(p|0)){continue}break}}e=b&3;if(!e){break u}while(1){b=m<<2;J[b+j>>2]=J[b+n>>2];m=m+1|0;y=y+1|0;if((e|0)!=(y|0)){continue}break}break u}if(n){break u}break t}if(n?K[f+16|0]:0){J[8457]=J[8457]+1;ua[J[8259]](n)}}J[f+12>>2]=j;H[f+16|0]=1;J[f+8>>2]=u}b=d<<2;k=u<<2;Fa(b+j|0,0,k-b|0);J[f+4>>2]=u;e=J[f+24>>2];if((e|0)<(u|0)){v:{if((u|0)<=J[f+28>>2]){j=J[f+32>>2];break v}w:{if(!u){j=0;b=e;break w}J[8456]=J[8456]+1;j=ua[J[8258]](k,16)|0;b=J[f+24>>2]}r=J[f+32>>2];x:{if((b|0)>0){y=0;m=0;if(b>>>0>=4){h=b&-4;p=0;while(1){n=m<<2;J[n+j>>2]=J[n+r>>2];c=n|4;J[c+j>>2]=J[c+r>>2];c=n|8;J[c+j>>2]=J[c+r>>2];c=n|12;J[c+j>>2]=J[c+r>>2];m=m+4|0;p=p+4|0;if((h|0)!=(p|0)){continue}break}}c=b&3;if(!c){break x}while(1){b=m<<2;J[b+j>>2]=J[b+r>>2];m=m+1|0;y=y+1|0;if((c|0)!=(y|0)){continue}break}break x}if(r){break x}J[f+32>>2]=j;J[f+28>>2]=u;H[f+36|0]=1;break v}if(r?K[f+36|0]:0){J[8457]=J[8457]+1;ua[J[8259]](r)}J[f+32>>2]=j;H[f+36|0]=1;J[f+28>>2]=u}b=e<<2;Fa(b+j|0,0,k-b|0)}J[f+24>>2]=u;if((u|0)>0){Fa(J[f+12>>2],255,k);Fa(J[f+32>>2],255,k)}if((d|0)<=0){break r}n=J[f+32>>2];h=J[f+72>>2];c=J[f+12>>2];m=0;while(1){e=m<<2;b=e+h|0;b=c+(((L[b+2>>1]<<16)+I[b>>1]&J[f+48>>2]-1)<<2)|0;J[e+n>>2]=J[b>>2];J[b>>2]=m;m=m+1|0;if((d|0)!=(m|0)){continue}break}}y=I[g+12>>1]+(L[g+14>>1]<<16)&J[f+48>>2]-1}b=J[f+12>>2]+(y<<2)|0;J[J[f+32>>2]+(v<<2)>>2]=J[b>>2];J[b>>2]=v;break i}e=J[f+52>>2]+(b<<2)|0;b=L[g+8>>1]|L[g+10>>1]<<16;I[e>>1]=b;I[e+2>>1]=b>>>16}if(!O){continue}}break}j=J[a+28>>2]}B=B+1|0;if((B|0)<(j|0)){continue}break}B=0;d=(j|0)>0;if(d){break b}}i=N[a+72>>2];z=N[a+68>>2];A=N[a+64>>2];break a}D=J[a+16>>2];h=J[a+36>>2];A=N[a+64>>2];z=N[a+68>>2];i=N[a+72>>2];while(1){b=h+P(B,36)|0;k=J[b+4>>2];if((k|0)>=3){v=J[b+12>>2];E=D+(J[v>>2]<<4)|0;c=k-2|0;b=1;while(1){n=D+(J[v+(b<<2)>>2]<<4)|0;V=N[n+8>>2];e=b+1|0;s=D+(J[v+((e|0)%(k|0)<<2)>>2]<<4)|0;W=N[s+8>>2];S=N[E>>2];X=N[n>>2];Z=Q(S-X);T=N[E+4>>2];_=N[s+4>>2];t=Q(T-_);w=N[s>>2];x=Q(S-w);l=N[n+4>>2];o=Q(T-l);$=Q(Q(Z*t)-Q(x*o));U=N[E+8>>2];q=Q(U-W);G=Q(o*q);o=Q(U-V);t=Q(G-Q(t*o));G=i;i=Q(Q(o*x)-Q(q*Z));o=Q(Q(Y(Q(Q($*$)+Q(Q(t*t)+Q(i*i)))))*Q(.5));i=Q(G+Q(Q(Q(Q(U+V)+W)*Q(.3333333432674408))*o));N[a+72>>2]=i;z=Q(z+Q(Q(Q(_+Q(T+l))*Q(.3333333432674408))*o));N[a+68>>2]=z;A=Q(A+Q(Q(Q(w+Q(S+X))*Q(.3333333432674408))*o));N[a+64>>2]=A;C=Q(C+o);s=(b|0)==(c|0);b=e;if(!s){continue}break}}B=B+1|0;if((B|0)!=(j|0)){continue}break}s=d}J[a+96>>2]=2139095039;o=Q(Q(1)/C);w=Q(o*i);N[a+72>>2]=w;x=Q(o*z);N[a+68>>2]=x;l=Q(o*A);N[a+64>>2]=l;q=Q(34028234663852886e22);o=Q(34028234663852886e22);if(s){e=J[a+36>>2];b=0;while(1){s=e+P(b,36)|0;i=Q(R(Q(N[s+32>>2]+Q(Q(w*N[s+28>>2])+Q(Q(l*N[s+20>>2])+Q(x*N[s+24>>2]))))));if(i>2]=i;o=i}b=b+1|0;if((j|0)!=(b|0)){continue}break}}s=J[a+8>>2];y:{if((s|0)<=0){t=Q(-34028234663852886e22);i=Q(34028234663852886e22);z=Q(-34028234663852886e22);A=Q(-34028234663852886e22);C=Q(34028234663852886e22);break y}e=J[a+16>>2];A=Q(-34028234663852886e22);b=0;C=Q(34028234663852886e22);z=Q(-34028234663852886e22);t=Q(-34028234663852886e22);i=Q(34028234663852886e22);while(1){d=e+(b<<4)|0;l=N[d+8>>2];A=l>A?l:A;i=i>l?l:i;l=N[d+4>>2];z=l>z?l:z;q=l>2];t=l>t?l:t;C=l>2]=0;l=Q(A-i);N[a+124>>2]=l;w=Q(z-q);N[a+120>>2]=w;x=Q(t-C);N[a+116>>2]=x;J[a+112>>2]=0;N[a+108>>2]=i+A;N[a+104>>2]=q+z;N[a+100>>2]=t+C;e=w>x;s=l>(e?w:x)?2:e;e=s<<2;i=N[e+(a+116|0)>>2];l=Q(o/Q(1.7320507764816284));N[a+84>>2]=l;N[a+88>>2]=l;N[a+80>>2]=l;d=a+80|0;e=d+e|0;i=Q(i*Q(.5));N[e>>2]=i;q=Q(Q(i-l)*Q(.0009765625));z:{A:{while(1){if(Ec(a)){break A}i=Q(i-q);N[e>>2]=i;b=b+1|0;if((b|0)!=1024){continue}break}N[a+84>>2]=l;N[a+88>>2]=l;N[a+80>>2]=l;break z}b=1<>2];b=d+(b<<2)|0;t=N[b>>2];o=Q(Q(o-l)*Q(.0009765625));N[b>>2]=o+t;q=Q(o+N[e>>2]);N[e>>2]=q;if(Ec(a)){c=0;while(1){i=q;c=c+1|0;if((c|0)==1024){break z}t=N[b>>2];N[b>>2]=o+t;q=Q(o+N[e>>2]);N[e>>2]=q;if(Ec(a)){continue}break}}N[b>>2]=t;N[e>>2]=i}a=J[g+88>>2];if(!(a?!a|!K[g+92|0]:1)){J[8457]=J[8457]+1;ua[J[8259]](a)}J[g+88>>2]=0;H[g+92|0]=1;J[g+80>>2]=0;J[g+84>>2]=0;a=J[g+68>>2];if(!(a?!a|!K[g+72|0]:1)){J[8457]=J[8457]+1;ua[J[8259]](a)}J[g+68>>2]=0;H[g+72|0]=1;J[g+60>>2]=0;J[g+64>>2]=0;a=J[g+48>>2];if(!(a?!a|!K[g+52|0]:1)){J[8457]=J[8457]+1;ua[J[8259]](a)}J[g+48>>2]=0;H[g+52|0]=1;J[g+40>>2]=0;J[g+44>>2]=0;a=J[g+28>>2];if(!(a?!a|!K[g+32|0]:1)){J[8457]=J[8457]+1;ua[J[8259]](a)}sa=g+96|0}function qc(a,b,c){var d=Q(0),e=Q(0),f=Q(0),g=Q(0),h=Q(0),i=Q(0),j=Q(0),k=Q(0),l=Q(0),m=Q(0),n=Q(0),o=Q(0),p=Q(0),q=Q(0),r=Q(0),s=Q(0),t=Q(0),u=Q(0),v=Q(0),w=Q(0),x=Q(0),y=0,z=0,A=Q(0),B=Q(0),C=Q(0),D=Q(0),E=Q(0),F=Q(0),G=0,I=0,K=0,L=0,M=0,O=0,P=0,R=0,S=0,T=0,U=0,V=Q(0),W=0,X=Q(0);A=N[b+52>>2];B=N[b+56>>2];m=N[a+96>>2];n=N[a+100>>2];o=N[a+104>>2];d=N[b+20>>2];e=N[b+24>>2];p=N[a- -64>>2];q=N[a+80>>2];s=N[a+52>>2];t=N[a+68>>2];u=N[a+84>>2];v=N[a+56>>2];f=N[b+36>>2];w=N[a+72>>2];h=N[b+40>>2];x=N[a+88>>2];C=N[b+48>>2];g=N[b+8>>2];i=N[b>>2];l=N[b+4>>2];k=N[b+16>>2];r=N[a+48>>2];j=N[b+32>>2];J[a+1296>>2]=0;J[a+1280>>2]=0;J[a+1264>>2]=0;J[a+1248>>2]=0;b=a+1276|0;N[b>>2]=Q(x*h)+Q(Q(v*j)+Q(w*f));z=a+1272|0;N[z>>2]=Q(u*h)+Q(Q(s*j)+Q(t*f));G=a+1268|0;N[G>>2]=Q(q*h)+Q(Q(r*j)+Q(p*f));I=a+1260|0;N[I>>2]=Q(x*e)+Q(Q(v*k)+Q(w*d));K=a+1256|0;N[K>>2]=Q(u*e)+Q(Q(s*k)+Q(t*d));L=a+1252|0;N[L>>2]=Q(q*e)+Q(Q(r*k)+Q(p*d));M=a+1244|0;N[M>>2]=Q(x*g)+Q(Q(v*i)+Q(l*w));O=a+1240|0;N[O>>2]=Q(u*g)+Q(Q(s*i)+Q(l*t));N[a+1236>>2]=Q(q*g)+Q(Q(r*i)+Q(p*l));P=a+1292|0;N[P>>2]=B+Q(Q(o*h)+Q(Q(m*j)+Q(f*n)));R=a+1288|0;N[R>>2]=A+Q(Q(o*e)+Q(Q(m*k)+Q(d*n)));S=a+1284|0;N[S>>2]=C+Q(Q(o*g)+Q(Q(m*i)+Q(l*n)));A=N[c+52>>2];B=N[c+56>>2];m=N[a+160>>2];n=N[a+164>>2];o=N[a+168>>2];d=N[c+20>>2];e=N[c+24>>2];p=N[a+128>>2];q=N[a+144>>2];s=N[a+116>>2];t=N[a+132>>2];u=N[a+148>>2];v=N[a+120>>2];w=N[a+136>>2];f=N[c+36>>2];x=N[a+152>>2];h=N[c+40>>2];C=N[c+48>>2];g=N[c+8>>2];i=N[c>>2];l=N[c+4>>2];k=N[c+16>>2];r=N[a+112>>2];j=N[c+32>>2];J[a+1360>>2]=0;J[a+1344>>2]=0;J[a+1328>>2]=0;J[a+1312>>2]=0;N[a+1340>>2]=Q(x*h)+Q(Q(v*j)+Q(w*f));N[a+1336>>2]=Q(u*h)+Q(Q(s*j)+Q(t*f));N[a+1332>>2]=Q(q*h)+Q(Q(r*j)+Q(p*f));N[a+1324>>2]=Q(x*e)+Q(Q(v*k)+Q(w*d));N[a+1320>>2]=Q(u*e)+Q(Q(s*k)+Q(t*d));N[a+1316>>2]=Q(q*e)+Q(Q(r*k)+Q(p*d));N[a+1308>>2]=Q(x*g)+Q(Q(v*i)+Q(l*w));N[a+1304>>2]=Q(u*g)+Q(Q(s*i)+Q(l*t));N[a+1300>>2]=Q(q*g)+Q(Q(r*i)+Q(p*l));c=a+1356|0;N[c>>2]=B+Q(Q(o*h)+Q(Q(m*j)+Q(f*n)));T=a+1352|0;N[T>>2]=A+Q(Q(o*e)+Q(Q(m*k)+Q(d*n)));U=a+1348|0;N[U>>2]=C+Q(Q(o*g)+Q(Q(m*i)+Q(l*n)));J[a+1440>>2]=0;f=N[M>>2];i=N[L>>2];l=N[z>>2];k=N[G>>2];j=N[K>>2];e=Q(Q(i*l)-Q(k*j));h=N[a+1236>>2];m=N[b>>2];n=N[I>>2];s=Q(Q(j*m)-Q(l*n));g=N[O>>2];t=Q(Q(n*k)-Q(m*i));d=Q(Q(1)/Q(Q(f*e)+Q(Q(h*s)+Q(g*t))));o=Q(N[c>>2]-N[P>>2]);p=Q(N[U>>2]-N[S>>2]);q=Q(N[T>>2]-N[R>>2]);e=Q(Q(Q(Q(Q(h*j)-Q(i*g))*d)*o)+Q(Q(Q(e*d)*p)+Q(q*Q(Q(Q(g*k)-Q(l*h))*d))));N[a+1436>>2]=e;h=Q(Q(Q(Q(Q(f*i)-Q(n*h))*d)*o)+Q(Q(Q(t*d)*p)+Q(q*Q(Q(Q(h*m)-Q(k*f))*d))));N[a+1432>>2]=h;d=Q(Q(Q(Q(Q(g*n)-Q(j*f))*d)*o)+Q(Q(Q(s*d)*p)+Q(q*Q(Q(Q(f*l)-Q(m*g))*d))));N[a+1428>>2]=d;N[a+940>>2]=d;b=a+924|0;f=Q(0);c=a+908|0;g=N[a+680>>2];i=N[a+696>>2];a:{if(g>i){z=c}else{N[c>>2]=d-g;y=3;if(g==i){break a}f=Q(d-i);y=4;z=b}N[z>>2]=f}N[a+944>>2]=h;J[a+956>>2]=y;d=N[a+684>>2];f=N[a+700>>2];b:{c:{if(d>f){y=0;d=Q(0);z=c;break c}N[a+912>>2]=h-d;y=3;if(d==f){break b}d=Q(h-f);y=4;z=b}N[z+4>>2]=d;e=N[a+1436>>2]}N[a+948>>2]=e;J[a+960>>2]=y;d=N[a+688>>2];f=N[a+704>>2];d:{e:{if(d>f){y=0;d=Q(0);break e}N[a+916>>2]=e-d;y=3;if(d==f){break d}c=b;y=4;d=Q(e-f)}N[c+8>>2]=d}J[a+964>>2]=y;c=sa-48|0;sa=c;o=N[a+1332>>2];p=N[a+1316>>2];q=N[a+1336>>2];s=N[a+1304>>2];t=N[a+1320>>2];u=N[a+1340>>2];v=N[a+1308>>2];w=N[a+1324>>2];h=N[a+1244>>2];i=N[a+1256>>2];l=N[a+1272>>2];g=N[a+1240>>2];f=N[a+1268>>2];k=N[a+1260>>2];j=N[a+1252>>2];m=N[a+1276>>2];x=N[a+1300>>2];e=N[a+1236>>2];J[c+44>>2]=0;J[c+28>>2]=0;n=Q(Q(j*l)-Q(f*i));V=Q(Q(i*m)-Q(l*k));D=Q(Q(k*f)-Q(m*j));d=Q(Q(1)/Q(Q(h*n)+Q(Q(e*V)+Q(g*D))));r=Q(Q(Q(e*i)-Q(j*g))*d);A=Q(n*d);B=Q(Q(Q(g*f)-Q(l*e))*d);n=Q(Q(u*r)+Q(Q(v*A)+Q(w*B)));N[c+40>>2]=n;C=Q(Q(q*r)+Q(Q(s*A)+Q(B*t)));N[c+36>>2]=C;E=Q(Q(Q(h*j)-Q(k*e))*d);D=Q(D*d);F=Q(Q(Q(e*m)-Q(f*h))*d);e=Q(Q(u*E)+Q(Q(v*D)+Q(w*F)));N[c+24>>2]=e;j=Q(Q(q*E)+Q(Q(s*D)+Q(F*t)));N[c+20>>2]=j;J[c+12>>2]=0;f=Q(Q(o*r)+Q(Q(x*A)+Q(p*B)));N[c+32>>2]=f;r=Q(Q(o*E)+Q(Q(x*D)+Q(p*F)));N[c+16>>2]=r;i=Q(Q(Q(g*k)-Q(i*h))*d);k=Q(V*d);h=Q(Q(Q(h*l)-Q(m*g))*d);g=Q(Q(u*i)+Q(Q(v*k)+Q(w*h)));N[c+8>>2]=g;d=Q(Q(q*i)+Q(Q(s*k)+Q(h*t)));N[c+4>>2]=d;h=Q(Q(o*i)+Q(Q(x*k)+Q(p*h)));N[c>>2]=h;f:{g:{h:{i:{j:{k:{l:{m:{b=J[a+1232>>2];switch(b|0){case 5:break h;case 4:break i;case 3:break j;case 2:break k;case 1:break l;case 0:break m;default:break f}}b=a+1372|0;n:{o:{if(fQ(-1)){W=a,X=Ia(Q(-C),n),N[W+1364>>2]=X;d=fQ(1)?Q(1):d),N[W>>2]=X;d=Ia(Q(-r),h);break n}J[a+1368>>2]=-1077342245;W=a,X=Q(-Ia(d,j)),N[W+1364>>2]=X;break o}J[a+1368>>2]=1070141403;W=a,X=Ia(d,j),N[W+1364>>2]=X}d=Q(0)}N[b>>2]=d;break g}b=a+1364|0;d=N[c+16>>2];p:{if(dQ(-1)){W=b,X=Ia(N[c+24>>2],N[c+20>>2]),N[W>>2]=X;W=b,X=Ia(N[c+32>>2],N[c>>2]),N[W+4>>2]=X;d=N[c+16>>2];d=d>Q(1)?Q(-1):Q(-d);W=b,X=hb(d>Q(1)?Q(1):d),N[W+8>>2]=X;break p}d=N[c+40>>2];e=N[c+8>>2];J[b+4>>2]=0;W=b,X=Q(-Ia(Q(-e),d)),N[W>>2]=X;N[b+8>>2]=1.5707963705062866;break p}d=N[c+40>>2];e=N[c+8>>2];J[b+4>>2]=0;W=b,X=Ia(Q(-e),d),N[W>>2]=X;N[b+8>>2]=-1.5707963705062866}break g}b=a+1364|0;d=N[c+36>>2];q:{r:{if(dQ(-1)){d=d>Q(1)?Q(-1):Q(-d);W=b,X=hb(d>Q(1)?Q(1):d),N[W>>2]=X;W=b,X=Ia(N[c+32>>2],N[c+40>>2]),N[W+4>>2]=X;W=b,X=Ia(N[c+4>>2],N[c+20>>2]),N[W+8>>2]=X;break q}J[b>>2]=1070141403;W=b,X=Q(-Ia(Q(-N[c+16>>2]),N[c>>2])),N[W+4>>2]=X;break r}J[b>>2]=-1077342245;W=b,X=Ia(Q(-N[c+16>>2]),N[c>>2]),N[W+4>>2]=X}N[b+8>>2]=0}break g}b=a+1372|0;s:{if(dQ(-1)){W=a,X=Ia(Q(-C),j),N[W+1364>>2]=X;W=a+1368|0,X=Ia(Q(-g),h),N[W>>2]=X;d=dQ(1)?Q(1):d);break s}J[a+1364>>2]=0;W=a+1368|0,X=Q(-Ia(e,n)),N[W>>2]=X;d=Q(-1.5707963705062866);break s}J[a+1364>>2]=0;W=a+1368|0,X=Ia(e,n),N[W>>2]=X;d=Q(1.5707963705062866)}N[b>>2]=d;break g}b=a+1372|0;t:{if(eQ(-1)){d=eQ(1)?Q(1):d),N[W+1364>>2]=X;W=a+1368|0,X=Ia(Q(-g),n),N[W>>2]=X;d=Ia(Q(-r),j);break t}J[a+1364>>2]=-1077342245;J[a+1368>>2]=0;d=Q(-Ia(f,h));break t}J[a+1364>>2]=1070141403;J[a+1368>>2]=0;d=Ia(f,h)}N[b>>2]=d;break g}b=a+1364|0;d=N[c+8>>2];u:{if(dQ(-1)){W=b,X=Ia(N[c+24>>2],N[c+40>>2]),N[W>>2]=X;d=N[c+8>>2];d=d>Q(1)?Q(-1):Q(-d);W=b,X=hb(d>Q(1)?Q(1):d),N[W+4>>2]=X;W=b,X=Ia(N[c+4>>2],N[c>>2]),N[W+8>>2]=X;break u}J[b>>2]=0;J[b+4>>2]=1070141403;W=b,X=Q(-Ia(N[c+16>>2],N[c+32>>2])),N[W+8>>2]=X;break u}J[b>>2]=0;J[b+4>>2]=-1077342245;W=b,X=Ia(Q(-N[c+16>>2]),Q(-N[c+32>>2])),N[W+8>>2]=X}}b=J[a+1232>>2]}v:{w:{x:{switch(b|0){default:l=N[a+1420>>2];e=N[a+1416>>2];f=N[a+1412>>2];k=N[a+1404>>2];h=N[a+1400>>2];j=N[a+1396>>2];g=N[a+1388>>2];i=N[a+1384>>2];d=N[a+1380>>2];break v;case 0:J[a+1408>>2]=0;J[a+1424>>2]=0;J[a+1392>>2]=0;d=N[a+1300>>2];m=N[a+1276>>2];f=N[a+1332>>2];i=N[a+1244>>2];h=Q(Q(d*m)-Q(f*i));n=N[a+1260>>2];g=N[a+1316>>2];j=Q(Q(n*f)-Q(g*m));l=Q(Q(d*h)-Q(j*g));k=Q(Q(i*g)-Q(d*n));e=Q(Q(f*j)-Q(k*d));f=Q(Q(g*k)-Q(h*f));g=Q(Q(j*n)-Q(i*h));i=Q(Q(k*i)-Q(m*j));d=Q(Q(h*m)-Q(n*k));break v;case 1:J[a+1424>>2]=0;J[a+1408>>2]=0;J[a+1392>>2]=0;d=N[a+1316>>2];m=N[a+1272>>2];n=N[a+1256>>2];g=N[a+1332>>2];f=Q(Q(d*m)-Q(n*g));i=N[a+1240>>2];h=N[a+1300>>2];e=Q(Q(g*i)-Q(m*h));k=Q(Q(f*d)-Q(h*e));l=Q(Q(h*n)-Q(i*d));h=Q(Q(l*h)-Q(g*f));j=Q(Q(e*g)-Q(d*l));g=Q(Q(i*e)-Q(f*n));i=Q(Q(m*f)-Q(l*i));d=Q(Q(n*l)-Q(e*m));break v;case 2:J[a+1424>>2]=0;J[a+1408>>2]=0;J[a+1392>>2]=0;e=N[a+1304>>2];k=N[a+1260>>2];m=N[a+1244>>2];f=N[a+1320>>2];g=Q(Q(e*k)-Q(m*f));N[a+1388>>2]=g;n=N[a+1336>>2];l=N[a+1276>>2];i=Q(Q(m*n)-Q(e*l));N[a+1384>>2]=i;d=Q(Q(f*l)-Q(k*n));N[a+1380>>2]=d;h=Q(Q(l*d)-Q(g*m));N[a+1400>>2]=h;j=Q(Q(k*g)-Q(i*l));N[a+1396>>2]=j;l=Q(Q(d*f)-Q(e*i));e=Q(Q(g*e)-Q(n*d));f=Q(Q(i*n)-Q(f*g));k=Q(Q(m*i)-Q(d*k));break v;case 3:J[a+1424>>2]=0;J[a+1408>>2]=0;J[a+1392>>2]=0;d=N[a+1236>>2];m=N[a+1320>>2];i=N[a+1304>>2];g=N[a+1252>>2];l=Q(Q(d*m)-Q(i*g));N[a+1420>>2]=l;j=N[a+1268>>2];n=N[a+1336>>2];e=Q(Q(i*j)-Q(d*n));N[a+1416>>2]=e;f=Q(Q(g*n)-Q(m*j));N[a+1412>>2]=f;k=Q(Q(f*g)-Q(d*e));N[a+1404>>2]=k;h=Q(Q(l*d)-Q(j*f));N[a+1400>>2]=h;j=Q(Q(e*j)-Q(g*l));N[a+1396>>2]=j;g=Q(Q(i*e)-Q(f*m));N[a+1388>>2]=g;i=Q(Q(n*f)-Q(l*i));N[a+1384>>2]=i;d=Q(Q(m*l)-Q(e*n));break w;case 4:J[a+1424>>2]=0;J[a+1408>>2]=0;J[a+1392>>2]=0;e=N[a+1240>>2];j=N[a+1324>>2];h=N[a+1308>>2];f=N[a+1256>>2];g=Q(Q(e*j)-Q(h*f));N[a+1388>>2]=g;k=N[a+1272>>2];m=N[a+1340>>2];i=Q(Q(h*k)-Q(e*m));N[a+1384>>2]=i;d=Q(Q(f*m)-Q(j*k));N[a+1380>>2]=d;l=Q(Q(d*f)-Q(e*i));N[a+1420>>2]=l;e=Q(Q(g*e)-Q(k*d));N[a+1416>>2]=e;f=Q(Q(i*k)-Q(f*g));N[a+1412>>2]=f;k=Q(Q(h*i)-Q(d*j));N[a+1404>>2]=k;h=Q(Q(m*d)-Q(g*h));N[a+1400>>2]=h;j=Q(Q(j*g)-Q(i*m));N[a+1396>>2]=j;break v;case 5:break x}}J[a+1408>>2]=0;J[a+1424>>2]=0;J[a+1392>>2]=0;d=N[a+1308>>2];f=N[a+1252>>2];e=N[a+1236>>2];m=N[a+1324>>2];k=Q(Q(d*f)-Q(e*m));N[a+1404>>2]=k;n=N[a+1340>>2];g=N[a+1268>>2];h=Q(Q(e*n)-Q(d*g));N[a+1400>>2]=h;j=Q(Q(m*g)-Q(f*n));N[a+1396>>2]=j;l=Q(Q(e*h)-Q(j*f));N[a+1420>>2]=l;e=Q(Q(g*j)-Q(k*e));N[a+1416>>2]=e;f=Q(Q(f*k)-Q(h*g));N[a+1412>>2]=f;g=Q(Q(j*m)-Q(d*h));N[a+1388>>2]=g;i=Q(Q(k*d)-Q(n*j));N[a+1384>>2]=i;d=Q(Q(h*n)-Q(m*k))}N[a+1380>>2]=d}m=l;l=Q(Q(1)/Q(Y(Q(Q(l*l)+Q(Q(f*f)+Q(e*e))))));N[a+1420>>2]=m*l;N[a+1416>>2]=e*l;N[a+1412>>2]=f*l;e=Q(Q(1)/Q(Y(Q(Q(k*k)+Q(Q(j*j)+Q(h*h))))));N[a+1404>>2]=k*e;N[a+1400>>2]=h*e;N[a+1396>>2]=j*e;e=Q(Q(1)/Q(Y(Q(Q(g*g)+Q(Q(d*d)+Q(i*i))))));N[a+1388>>2]=g*e;N[a+1384>>2]=i*e;N[a+1380>>2]=d*e;sa=c+48|0;e=N[J[a+28>>2]+404>>2];d=N[J[a+32>>2]+404>>2];H[a+1452|0]=eQ(0)?Q(l/d):Q(.5);N[a+1444>>2]=d;N[a+1448>>2]=Q(1)-d}function Za(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=Q(0),g=Q(0),h=0,i=Q(0),j=Q(0),k=Q(0),l=0,m=Q(0),n=Q(0),o=Q(0),p=Q(0),q=Q(0),r=Q(0),s=Q(0),t=0,u=Q(0),v=Q(0),w=Q(0),x=Q(0),y=Q(0),z=Q(0),A=Q(0),B=Q(0),C=Q(0),D=Q(0),E=Q(0),F=0,G=Q(0),H=Q(0),I=Q(0),L=Q(0),M=Q(0),O=Q(0),P=Q(0),R=Q(0),S=Q(0),T=Q(0),U=Q(0),V=Q(0),W=Q(0),X=Q(0),Z=Q(0),_=Q(0),$=Q(0),aa=Q(0),ba=Q(0),ca=Q(0),da=Q(0),ea=Q(0),fa=Q(0),ga=Q(0);e=sa-272|0;sa=e;J[a+56>>2]=0;J[e+264>>2]=0;J[e+268>>2]=0;J[e+256>>2]=0;J[e+260>>2]=0;h=J[b+12>>2];J[e+168>>2]=J[b+8>>2];J[e+172>>2]=h;h=J[b+4>>2];J[e+160>>2]=J[b>>2];J[e+164>>2]=h;h=J[b+28>>2];J[e+184>>2]=J[b+24>>2];J[e+188>>2]=h;h=J[b+20>>2];J[e+176>>2]=J[b+16>>2];J[e+180>>2]=h;h=J[b+44>>2];J[e+200>>2]=J[b+40>>2];J[e+204>>2]=h;h=J[b+36>>2];J[e+192>>2]=J[b+32>>2];J[e+196>>2]=h;h=J[b+60>>2];J[e+216>>2]=J[b+56>>2];J[e+220>>2]=h;h=J[b+52>>2];J[e+208>>2]=J[b+48>>2];J[e+212>>2]=h;h=J[b+76>>2];J[e+104>>2]=J[b+72>>2];J[e+108>>2]=h;h=J[b+68>>2];J[e+96>>2]=J[b+64>>2];J[e+100>>2]=h;h=J[b+92>>2];J[e+120>>2]=J[b+88>>2];J[e+124>>2]=h;h=J[b+84>>2];J[e+112>>2]=J[b+80>>2];J[e+116>>2]=h;h=J[b+108>>2];J[e+136>>2]=J[b+104>>2];J[e+140>>2]=h;h=J[b+100>>2];J[e+128>>2]=J[b+96>>2];J[e+132>>2]=h;h=J[b+124>>2];J[e+152>>2]=J[b+120>>2];J[e+156>>2]=h;h=J[b+116>>2];J[e+144>>2]=J[b+112>>2];J[e+148>>2]=h;f=N[e+212>>2];i=N[e+148>>2];C=Q(Q(f+i)*Q(.5));N[e+212>>2]=f-C;f=N[e+216>>2];g=N[e+152>>2];D=Q(Q(f+g)*Q(.5));N[e+216>>2]=f-D;N[e+148>>2]=i-C;N[e+152>>2]=g-D;f=N[e+208>>2];i=N[e+144>>2];E=Q(Q(f+i)*Q(.5));N[e+208>>2]=f-E;N[e+144>>2]=i-E;l=J[J[a+28>>2]+4>>2]-17>>>0<=1?J[J[a+32>>2]+4>>2]-17>>>0<2:l;f=N[a+44>>2];i=N[a+48>>2];J[8502]=J[8502]+1;J[a+68>>2]=0;J[a+12>>2]=0;J[a+16>>2]=0;J[a+4>>2]=0;J[a+8>>2]=1065353216;J[a+60>>2]=-1;J[a+64>>2]=0;h=K[a+52|0];Kb(J[a+24>>2]);p=h?Q(0):f;q=h?Q(0):i;s=Q(p+q);h=a+4|0;i=Q(0xde0b6b000000000);a:{b:{c:{while(1){m=N[b+32>>2];r=N[b>>2];o=N[b+16>>2];n=N[b+36>>2];u=N[b+4>>2];w=N[b+20>>2];x=N[b+40>>2];f=N[a+12>>2];k=N[b+8>>2];j=N[a+4>>2];y=N[b+24>>2];g=N[a+8>>2];J[e+252>>2]=0;v=k;k=Q(-j);N[e+248>>2]=Q(Q(v*k)-Q(y*g))-Q(x*f);N[e+244>>2]=Q(Q(u*k)-Q(w*g))-Q(n*f);N[e+240>>2]=Q(Q(r*k)-Q(o*g))-Q(m*f);k=N[b+96>>2];m=N[b+64>>2];r=N[b+80>>2];o=N[b+100>>2];n=N[b+68>>2];u=N[b+84>>2];w=N[b+104>>2];x=N[b+72>>2];y=N[b+88>>2];J[e+236>>2]=0;N[e+232>>2]=Q(w*f)+Q(Q(x*j)+Q(g*y));N[e+228>>2]=Q(o*f)+Q(Q(n*j)+Q(g*u));N[e+224>>2]=Q(k*f)+Q(Q(m*j)+Q(g*r));ab(e+80|0,J[a+28>>2],e+240|0);ab(e- -64|0,J[a+32>>2],e+224|0);J[e+60>>2]=0;f=N[e+88>>2];g=N[e+80>>2];k=N[e+84>>2];j=Q(Q(Q(f*N[e+200>>2])+Q(Q(g*N[e+192>>2])+Q(k*N[e+196>>2])))+N[e+216>>2]);N[e+56>>2]=j;r=Q(Q(Q(f*N[e+184>>2])+Q(Q(g*N[e+176>>2])+Q(k*N[e+180>>2])))+N[e+212>>2]);N[e+52>>2]=r;o=Q(Q(Q(f*N[e+168>>2])+Q(Q(g*N[e+160>>2])+Q(k*N[e+164>>2])))+N[e+208>>2]);N[e+48>>2]=o;J[e+44>>2]=0;f=N[e+72>>2];g=N[e+64>>2];m=N[e+68>>2];k=Q(Q(Q(f*N[e+136>>2])+Q(Q(g*N[e+128>>2])+Q(m*N[e+132>>2])))+N[e+152>>2]);N[e+40>>2]=k;n=Q(Q(Q(f*N[e+120>>2])+Q(Q(g*N[e+112>>2])+Q(m*N[e+116>>2])))+N[e+148>>2]);N[e+36>>2]=n;f=Q(Q(Q(f*N[e+104>>2])+Q(Q(g*N[e+96>>2])+Q(m*N[e+100>>2])))+N[e+144>>2]);N[e+32>>2]=f;if(l){J[e+40>>2]=0;J[e+56>>2]=0;k=Q(0);j=Q(0)}J[e+28>>2]=0;g=Q(j-k);N[e+24>>2]=g;f=Q(o-f);N[e+16>>2]=f;j=Q(r-n);N[e+20>>2]=j;f=Q(Q(N[a+12>>2]*g)+Q(Q(N[a+4>>2]*f)+Q(j*N[a+8>>2])));if(!(!(f>Q(0))|!(Q(f*f)>Q(i*N[b+128>>2])))){J[a+68>>2]=10;break c}if(Pd(J[a+24>>2],e+16|0)){J[a+68>>2]=1;break c}f=Q(i-f);if(f<=Q(i*Q(9.999999974752427e-7))){J[a+68>>2]=f<=Q(0)?2:11;break c}Sd(J[a+24>>2],e+16|0,e+48|0,e+32|0);d:{if(!Qd(J[a+24>>2],e)){l=3;break d}f=N[e+8>>2];g=Q(f*f);f=N[e>>2];k=Q(f*f);f=N[e+4>>2];f=Q(g+Q(k+Q(f*f)));if(f>2];J[h>>2]=J[e>>2];J[h+4>>2]=l;l=J[e+12>>2];J[h+8>>2]=J[e+8>>2];J[h+12>>2]=l;l=6;break d}if(Q(i-f)<=Q(i*Q(1.1920928955078125e-7))){l=12;i=f;break d}t=J[e+4>>2];J[h>>2]=J[e>>2];J[h+4>>2]=t;t=J[e+12>>2];J[h+8>>2]=J[e+8>>2];J[h+12>>2]=t;t=J[a+64>>2];J[a+64>>2]=t+1;if((t|0)>1e3){break b}if(J[J[a+24>>2]>>2]==4){J[a+68>>2]=13;break b}i=f;continue}break}J[a+68>>2]=l}Od(J[a+24>>2],e+240|0,e+224|0);l=J[h+12>>2];J[e+264>>2]=J[h+8>>2];J[e+268>>2]=l;l=J[h+4>>2];J[e+256>>2]=J[h>>2];J[e+260>>2]=l;f=N[a+12>>2];g=N[a+4>>2];j=N[a+8>>2];k=Q(Q(f*f)+Q(Q(g*g)+Q(j*j)));if(k>2]=5}if(k>Q(14210854715202004e-30)){k=Q(Q(1)/Q(Y(k)));N[e+256>>2]=k*N[e+256>>2];N[e+260>>2]=k*N[e+260>>2];N[e+264>>2]=k*N[e+264>>2];m=Q(Y(i));i=Q(p/m);N[e+240>>2]=N[e+240>>2]-Q(i*g);N[e+244>>2]=N[e+244>>2]-Q(i*j);N[e+248>>2]=N[e+248>>2]-Q(i*f);i=Q(q/m);N[e+224>>2]=Q(i*g)+N[e+224>>2];N[e+228>>2]=Q(i*j)+N[e+228>>2];N[e+232>>2]=Q(i*f)+N[e+232>>2];l=1;J[a+60>>2]=1;f=Q(Q(Q(1)/k)-s);break a}J[a+60>>2]=2}l=0;f=Q(0)}F=1;t=J[a+20>>2];if(!(!J[a+68>>2]|(!J[a+72>>2]|!t))){F=!(N[8264]>Q(s+f))}e:{f:{g:{if(!t|l&F){break g}J[8501]=J[8501]+1;J[h+8>>2]=0;J[h+12>>2]=0;J[h>>2]=0;J[h+4>>2]=0;if(ua[J[J[t>>2]+8>>2]](t,J[a+24>>2],J[a+28>>2],J[a+32>>2],e+160|0,e+96|0,h,e+80|0,e- -64|0,d)|0){k=Q(0);g=N[e+72>>2];s=N[e+88>>2];p=Q(g-s);m=N[e+64>>2];r=N[e+80>>2];i=Q(m-r);o=N[e+68>>2];n=N[e+84>>2];q=Q(o-n);j=Q(Q(p*p)+Q(Q(i*i)+Q(q*q)));if(j<=Q(14210854715202004e-30)){k=N[a+16>>2];p=N[a+12>>2];i=N[a+4>>2];q=N[a+8>>2];j=Q(Q(p*p)+Q(Q(i*i)+Q(q*q)))}if(j>Q(14210854715202004e-30)){J[a+60>>2]=3;g=Q(s-g);v=Q(g*g);g=Q(r-m);m=Q(g*g);g=Q(n-o);g=Q(-Q(Y(Q(v+Q(m+Q(g*g))))));if(!(!(g>2];J[e+248>>2]=J[e+88>>2];J[e+252>>2]=d;d=J[e+76>>2];J[e+232>>2]=J[e+72>>2];J[e+236>>2]=d;d=J[e+84>>2];J[e+240>>2]=J[e+80>>2];J[e+244>>2]=d;d=J[e+68>>2];J[e+224>>2]=J[e+64>>2];J[e+228>>2]=d;N[e+268>>2]=k;f=Q(Q(1)/Q(Y(j)));N[e+264>>2]=p*f;N[e+260>>2]=q*f;N[e+256>>2]=i*f;f=g;break f}J[a+60>>2]=8;break f}J[a+60>>2]=9;if(l){break f}break e}g=N[a+12>>2];j=N[a+4>>2];k=N[a+8>>2];if(!(Q(Q(g*g)+Q(Q(j*j)+Q(k*k)))>Q(0))){break g}i=Q(N[e+88>>2]-N[e+72>>2]);o=Q(i*i);i=Q(N[e+80>>2]-N[e+64>>2]);v=Q(i*i);i=Q(N[e+84>>2]-N[e+68>>2]);i=Q(Q(Y(Q(o+Q(v+Q(i*i)))))-s);if(!(!(i>2];J[e+248>>2]=J[e+88>>2];J[e+252>>2]=d;d=J[e+76>>2];J[e+232>>2]=J[e+72>>2];J[e+236>>2]=d;N[e+248>>2]=N[e+248>>2]-Q(p*g);N[e+232>>2]=Q(q*g)+N[e+232>>2];d=J[e+68>>2];J[e+224>>2]=J[e+64>>2];J[e+228>>2]=d;d=J[e+84>>2];J[e+240>>2]=J[e+80>>2];J[e+244>>2]=d;N[e+224>>2]=Q(q*j)+N[e+224>>2];N[e+228>>2]=Q(q*k)+N[e+228>>2];N[e+240>>2]=N[e+240>>2]-Q(p*j);N[e+244>>2]=N[e+244>>2]-Q(p*k);d=J[h+12>>2];J[e+264>>2]=J[h+8>>2];J[e+268>>2]=d;d=J[h+4>>2];J[e+256>>2]=J[h>>2];J[e+260>>2]=d;g=N[e+264>>2];j=N[e+256>>2];k=N[e+260>>2];f=Q(Q(1)/Q(Y(Q(Q(g*g)+Q(Q(j*j)+Q(k*k))))));N[e+264>>2]=g*f;N[e+260>>2]=k*f;N[e+256>>2]=j*f;J[a+60>>2]=6;f=i;break f}J[a+60>>2]=5;break f}if(!l){break e}}if(!(f>2]>Q(f*f))){break e}d=J[e+260>>2];J[h>>2]=J[e+256>>2];J[h+4>>2]=d;d=J[e+268>>2];J[h+8>>2]=J[e+264>>2];J[h+12>>2]=d;N[a+56>>2]=f;k=N[b+32>>2];p=N[b>>2];q=N[b+16>>2];s=N[b+36>>2];m=N[b+4>>2];r=N[b+20>>2];i=N[b+40>>2];g=N[b+8>>2];o=N[b+24>>2];J[e+92>>2]=0;v=i;i=N[e+264>>2];j=N[e+256>>2];n=Q(g*j);g=N[e+260>>2];N[e+88>>2]=Q(v*i)+Q(n+Q(o*g));N[e+84>>2]=Q(s*i)+Q(Q(m*j)+Q(g*r));N[e+80>>2]=Q(k*i)+Q(Q(p*j)+Q(q*g));k=N[b+96>>2];p=N[b+64>>2];q=N[b+80>>2];s=N[b+100>>2];m=N[b+68>>2];r=N[b+84>>2];o=N[b+104>>2];n=N[b+72>>2];u=N[b+88>>2];J[e+76>>2]=0;j=Q(-j);N[e+72>>2]=Q(Q(n*j)-Q(u*g))-Q(o*i);N[e+68>>2]=Q(Q(m*j)-Q(r*g))-Q(s*i);N[e+64>>2]=Q(Q(p*j)-Q(q*g))-Q(k*i);d=e+48|0;h=e+80|0;ab(d,J[a+28>>2],h);l=e+32|0;t=e- -64|0;ab(l,J[a+32>>2],t);i=N[e+264>>2];G=N[e+216>>2];H=N[e+200>>2];I=N[e+192>>2];L=N[e+196>>2];M=N[e+152>>2];O=N[e+136>>2];P=N[e+128>>2];R=N[e+132>>2];S=N[e+208>>2];T=N[e+168>>2];U=N[e+160>>2];V=N[e+164>>2];W=N[e+144>>2];X=N[e+104>>2];Z=N[e+96>>2];_=N[e+100>>2];$=N[e+212>>2];aa=N[e+184>>2];k=N[e+56>>2];ba=N[e+176>>2];p=N[e+48>>2];ca=N[e+180>>2];q=N[e+52>>2];da=N[e+148>>2];ea=N[e+120>>2];s=N[e+40>>2];fa=N[e+112>>2];m=N[e+32>>2];ga=N[e+116>>2];r=N[e+36>>2];j=N[e+256>>2];g=N[e+260>>2];n=N[b+32>>2];u=N[b>>2];w=N[b+16>>2];x=N[b+36>>2];y=N[b+4>>2];z=N[b+20>>2];A=N[b+40>>2];o=N[b+8>>2];B=N[b+24>>2];J[e+92>>2]=0;v=o;o=Q(-j);N[e+88>>2]=Q(Q(v*o)-Q(B*g))-Q(A*i);N[e+84>>2]=Q(Q(y*o)-Q(z*g))-Q(x*i);N[e+80>>2]=Q(Q(u*o)-Q(w*g))-Q(n*i);n=N[b+96>>2];u=N[b+64>>2];w=N[b+80>>2];x=N[b+100>>2];y=N[b+68>>2];z=N[b+84>>2];A=N[b+104>>2];B=N[b+72>>2];v=N[b+88>>2];J[e+76>>2]=0;N[e+72>>2]=Q(A*i)+Q(Q(B*j)+Q(g*v));N[e+68>>2]=Q(x*i)+Q(Q(y*j)+Q(g*z));N[e+64>>2]=Q(n*i)+Q(Q(u*j)+Q(g*w));ab(d,J[a+28>>2],h);ab(l,J[a+32>>2],t);z=N[e+264>>2];j=N[e+56>>2];n=N[e+48>>2];u=N[e+52>>2];w=N[e+40>>2];x=N[e+32>>2];y=N[e+36>>2];v=Q(z*Q(Q(Q(Q(j*N[e+200>>2])+Q(Q(n*N[e+192>>2])+Q(u*N[e+196>>2])))+N[e+216>>2])-Q(Q(Q(w*N[e+136>>2])+Q(Q(x*N[e+128>>2])+Q(y*N[e+132>>2])))+N[e+152>>2])));A=N[e+256>>2];B=Q(A*Q(Q(Q(Q(j*N[e+168>>2])+Q(Q(n*N[e+160>>2])+Q(u*N[e+164>>2])))+N[e+208>>2])-Q(Q(Q(w*N[e+104>>2])+Q(Q(x*N[e+96>>2])+Q(y*N[e+100>>2])))+N[e+144>>2])));n=Q(Q(Q(Q(j*N[e+184>>2])+Q(Q(n*N[e+176>>2])+Q(u*N[e+180>>2])))+N[e+212>>2])-Q(Q(Q(w*N[e+120>>2])+Q(Q(x*N[e+112>>2])+Q(y*N[e+116>>2])))+N[e+148>>2]));j=N[e+260>>2];if(Q(v+Q(B+Q(n*j)))>2]=10;N[e+264>>2]=-z;N[e+260>>2]=-j;N[e+256>>2]=-A}J[e+92>>2]=0;N[e+88>>2]=D+N[e+232>>2];N[e+84>>2]=C+N[e+228>>2];N[e+80>>2]=E+N[e+224>>2];ua[J[J[c>>2]+16>>2]](c,e+256|0,e+80|0,f)}sa=e+272|0}function zb(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;l=sa-16|0;sa=l;a:{b:{c:{d:{e:{f:{g:{h:{i:{j:{k:{l:{m:{n:{if(a>>>0<=244){g=J[8952];h=a>>>0<11?16:a+11&-8;c=h>>>3|0;b=g>>>c|0;if(b&3){c=c+((b^-1)&1)|0;a=c<<3;b=a+35848|0;d=J[a+35856>>2];a=J[d+8>>2];o:{if((b|0)==(a|0)){m=35808,n=vs(c)&g,J[m>>2]=n;break o}J[a+12>>2]=b;J[b+8>>2]=a}a=d+8|0;b=c<<3;J[d+4>>2]=b|3;b=b+d|0;J[b+4>>2]=J[b+4>>2]|1;break a}k=J[8954];if(k>>>0>=h>>>0){break n}if(b){a=2<>2];a=J[e+8>>2];p:{if((b|0)==(a|0)){g=vs(d)&g;J[8952]=g;break p}J[a+12>>2]=b;J[b+8>>2]=a}J[e+4>>2]=h|3;c=e+h|0;a=d<<3;d=a-h|0;J[c+4>>2]=d|1;J[a+e>>2]=d;if(k){b=(k&-8)+35848|0;f=J[8957];a=1<<(k>>>3);q:{if(!(a&g)){J[8952]=a|g;a=b;break q}a=J[b+8>>2]}J[b+8>>2]=f;J[a+12>>2]=f;J[f+12>>2]=b;J[f+8>>2]=a}a=e+8|0;J[8957]=c;J[8954]=d;break a}j=J[8953];if(!j){break n}c=J[(ts(0-j&j)<<2)+36112>>2];f=(J[c+4>>2]&-8)-h|0;b=c;while(1){r:{a=J[b+16>>2];if(!a){a=J[b+20>>2];if(!a){break r}}b=(J[a+4>>2]&-8)-h|0;d=b>>>0>>0;f=d?b:f;c=d?a:c;b=a;continue}break}i=J[c+24>>2];d=J[c+12>>2];if((d|0)!=(c|0)){a=J[c+8>>2];J[a+12>>2]=d;J[d+8>>2]=a;break b}b=c+20|0;a=J[b>>2];if(!a){a=J[c+16>>2];if(!a){break m}b=c+16|0}while(1){e=b;d=a;b=a+20|0;a=J[b>>2];if(a){continue}b=d+16|0;a=J[d+16>>2];if(a){continue}break}J[e>>2]=0;break b}h=-1;if(a>>>0>4294967231){break n}a=a+11|0;h=a&-8;j=J[8953];if(!j){break n}f=0-h|0;g=0;s:{if(h>>>0<256){break s}g=31;if(h>>>0>16777215){break s}a=S(a>>>8|0);g=((h>>>38-a&1)-(a<<1)|0)+62|0}b=J[(g<<2)+36112>>2];t:{u:{v:{if(!b){a=0;break v}a=0;c=h<<((g|0)!=31?25-(g>>>1|0)|0:0);while(1){w:{e=(J[b+4>>2]&-8)-h|0;if(e>>>0>=f>>>0){break w}d=b;f=e;if(e){break w}f=0;a=b;break u}e=J[b+20>>2];b=J[((c>>>29&4)+b|0)+16>>2];a=e?(e|0)==(b|0)?a:e:a;c=c<<1;if(b){continue}break}}if(!(a|d)){d=0;a=2<>2]}if(!a){break t}}while(1){b=(J[a+4>>2]&-8)-h|0;c=b>>>0>>0;f=c?b:f;d=c?a:d;b=J[a+16>>2];if(b){a=b}else{a=J[a+20>>2]}if(a){continue}break}}if(!d|J[8954]-h>>>0<=f>>>0){break n}g=J[d+24>>2];c=J[d+12>>2];if((d|0)!=(c|0)){a=J[d+8>>2];J[a+12>>2]=c;J[c+8>>2]=a;break c}b=d+20|0;a=J[b>>2];if(!a){a=J[d+16>>2];if(!a){break l}b=d+16|0}while(1){e=b;c=a;b=a+20|0;a=J[b>>2];if(a){continue}b=c+16|0;a=J[c+16>>2];if(a){continue}break}J[e>>2]=0;break c}a=J[8954];if(a>>>0>=h>>>0){d=J[8957];b=a-h|0;x:{if(b>>>0>=16){c=d+h|0;J[c+4>>2]=b|1;J[a+d>>2]=b;J[d+4>>2]=h|3;break x}J[d+4>>2]=a|3;a=a+d|0;J[a+4>>2]=J[a+4>>2]|1;c=0;b=0}J[8954]=b;J[8957]=c;a=d+8|0;break a}i=J[8955];if(i>>>0>h>>>0){b=i-h|0;J[8955]=b;c=J[8958];a=c+h|0;J[8958]=a;J[a+4>>2]=b|1;J[c+4>>2]=h|3;a=c+8|0;break a}a=0;j=h+47|0;if(J[9070]){c=J[9072]}else{J[9073]=-1;J[9074]=-1;J[9071]=4096;J[9072]=4096;J[9070]=l+12&-16^1431655768;J[9075]=0;J[9063]=0;c=4096}e=j+c|0;f=0-c|0;b=e&f;if(b>>>0<=h>>>0){break a}d=J[9062];if(d){c=J[9060];g=c+b|0;if(d>>>0>>0|c>>>0>=g>>>0){break a}}y:{if(!(K[36252]&4)){z:{A:{B:{C:{d=J[8958];if(d){a=36256;while(1){c=J[a>>2];if(c>>>0<=d>>>0&d>>>0>2]>>>0){break C}a=J[a+8>>2];if(a){continue}break}}c=gb(0);if((c|0)==-1){break z}g=b;d=J[9071];a=d-1|0;if(a&c){g=(b-c|0)+(a+c&0-d)|0}if(g>>>0<=h>>>0){break z}d=J[9062];if(d){a=J[9060];f=a+g|0;if(d>>>0>>0|a>>>0>=f>>>0){break z}}a=gb(g);if((c|0)!=(a|0)){break B}break y}g=f&e-i;c=gb(g);if((c|0)==(J[a>>2]+J[a+4>>2]|0)){break A}a=c}if((a|0)==-1){break z}if(h+48>>>0<=g>>>0){c=a;break y}c=J[9072];c=c+(j-g|0)&0-c;if((gb(c)|0)==-1){break z}g=c+g|0;c=a;break y}if((c|0)!=-1){break y}}J[9063]=J[9063]|4}c=gb(b);a=gb(0);if((c|0)==-1|(a|0)==-1|a>>>0<=c>>>0){break i}g=a-c|0;if(g>>>0<=h+40>>>0){break i}}a=J[9060]+g|0;J[9060]=a;if(a>>>0>M[9061]){J[9061]=a}D:{e=J[8958];if(e){a=36256;while(1){d=J[a>>2];b=J[a+4>>2];if((d+b|0)==(c|0)){break D}a=J[a+8>>2];if(a){continue}break}break k}a=J[8956];if(!(a>>>0<=c>>>0?a:0)){J[8956]=c}a=0;J[9065]=g;J[9064]=c;J[8960]=-1;J[8961]=J[9070];J[9067]=0;while(1){d=a<<3;b=d+35848|0;J[d+35856>>2]=b;J[d+35860>>2]=b;a=a+1|0;if((a|0)!=32){continue}break}d=g-40|0;a=c+8&7?-8-c&7:0;b=d-a|0;J[8955]=b;a=a+c|0;J[8958]=a;J[a+4>>2]=b|1;J[(c+d|0)+4>>2]=40;J[8959]=J[9074];break j}if(J[a+12>>2]&8|(c>>>0<=e>>>0|d>>>0>e>>>0)){break k}J[a+4>>2]=b+g;a=e+8&7?-8-e&7:0;c=a+e|0;J[8958]=c;b=J[8955]+g|0;a=b-a|0;J[8955]=a;J[c+4>>2]=a|1;J[(b+e|0)+4>>2]=40;J[8959]=J[9074];break j}d=0;break b}c=0;break c}if(M[8956]>c>>>0){J[8956]=c}b=c+g|0;a=36256;E:{F:{G:{while(1){if((b|0)!=J[a>>2]){a=J[a+8>>2];if(a){continue}break G}break}if(!(K[a+12|0]&8)){break F}}a=36256;while(1){b=J[a>>2];if(b>>>0<=e>>>0){f=b+J[a+4>>2]|0;if(f>>>0>e>>>0){break E}}a=J[a+8>>2];continue}}J[a>>2]=c;J[a+4>>2]=J[a+4>>2]+g;j=(c+8&7?-8-c&7:0)+c|0;J[j+4>>2]=h|3;g=b+(b+8&7?-8-b&7:0)|0;i=h+j|0;a=g-i|0;if((e|0)==(g|0)){J[8958]=i;a=J[8955]+a|0;J[8955]=a;J[i+4>>2]=a|1;break d}if(J[8957]==(g|0)){J[8957]=i;a=J[8954]+a|0;J[8954]=a;J[i+4>>2]=a|1;J[a+i>>2]=a;break d}f=J[g+4>>2];if((f&3)!=1){break e}e=f&-8;if(f>>>0<=255){c=J[g+12>>2];b=J[g+8>>2];if((c|0)==(b|0)){m=35808,n=J[8952]&vs(f>>>3|0),J[m>>2]=n;break f}J[b+12>>2]=c;J[c+8>>2]=b;break f}h=J[g+24>>2];c=J[g+12>>2];if((g|0)!=(c|0)){b=J[g+8>>2];J[b+12>>2]=c;J[c+8>>2]=b;break g}b=g+20|0;f=J[b>>2];if(!f){f=J[g+16>>2];if(!f){break h}b=g+16|0}while(1){d=b;c=f;b=c+20|0;f=J[b>>2];if(f){continue}b=c+16|0;f=J[c+16>>2];if(f){continue}break}J[d>>2]=0;break g}d=g-40|0;a=c+8&7?-8-c&7:0;b=d-a|0;J[8955]=b;a=a+c|0;J[8958]=a;J[a+4>>2]=b|1;J[(c+d|0)+4>>2]=40;J[8959]=J[9074];a=(f+(f-39&7?39-f&7:0)|0)-47|0;d=a>>>0>>0?e:a;J[d+4>>2]=27;a=J[9067];J[d+16>>2]=J[9066];J[d+20>>2]=a;a=J[9065];J[d+8>>2]=J[9064];J[d+12>>2]=a;J[9066]=d+8;J[9065]=g;J[9064]=c;J[9067]=0;a=d+24|0;while(1){J[a+4>>2]=7;b=a+8|0;a=a+4|0;if(b>>>0>>0){continue}break}if((d|0)==(e|0)){break j}J[d+4>>2]=J[d+4>>2]&-2;f=d-e|0;J[e+4>>2]=f|1;J[d>>2]=f;if(f>>>0<=255){b=(f&-8)+35848|0;c=J[8952];a=1<<(f>>>3);H:{if(!(c&a)){J[8952]=a|c;a=b;break H}a=J[b+8>>2]}J[b+8>>2]=e;J[a+12>>2]=e;J[e+12>>2]=b;J[e+8>>2]=a;break j}a=31;if(f>>>0<=16777215){a=S(f>>>8|0);a=((f>>>38-a&1)-(a<<1)|0)+62|0}J[e+28>>2]=a;J[e+16>>2]=0;J[e+20>>2]=0;b=(a<<2)+36112|0;I:{d=J[8953];c=1<>2]=e;break J}a=f<<((a|0)!=31?25-(a>>>1|0)|0:0);d=J[b>>2];while(1){b=d;if((f|0)==(J[b+4>>2]&-8)){break I}c=a>>>29|0;a=a<<1;c=(c&4)+b|0;d=J[c+16>>2];if(d){continue}break}J[c+16>>2]=e}J[e+24>>2]=b;J[e+12>>2]=e;J[e+8>>2]=e;break j}a=J[b+8>>2];J[a+12>>2]=e;J[b+8>>2]=e;J[e+24>>2]=0;J[e+12>>2]=b;J[e+8>>2]=a}a=J[8955];if(a>>>0<=h>>>0){break i}b=a-h|0;J[8955]=b;c=J[8958];a=c+h|0;J[8958]=a;J[a+4>>2]=b|1;J[c+4>>2]=h|3;a=c+8|0;break a}J[8951]=48;a=0;break a}c=0}if(!h){break f}d=J[g+28>>2];b=(d<<2)+36112|0;K:{if(J[b>>2]==(g|0)){J[b>>2]=c;if(c){break K}m=35812,n=J[8953]&vs(d),J[m>>2]=n;break f}J[h+(J[h+16>>2]==(g|0)?16:20)>>2]=c;if(!c){break f}}J[c+24>>2]=h;b=J[g+16>>2];if(b){J[c+16>>2]=b;J[b+24>>2]=c}b=J[g+20>>2];if(!b){break f}J[c+20>>2]=b;J[b+24>>2]=c}a=a+e|0;g=e+g|0;f=J[g+4>>2]}J[g+4>>2]=f&-2;J[i+4>>2]=a|1;J[a+i>>2]=a;if(a>>>0<=255){b=(a&-8)+35848|0;c=J[8952];a=1<<(a>>>3);L:{if(!(c&a)){J[8952]=a|c;a=b;break L}a=J[b+8>>2]}J[b+8>>2]=i;J[a+12>>2]=i;J[i+12>>2]=b;J[i+8>>2]=a;break d}f=31;if(a>>>0<=16777215){b=S(a>>>8|0);f=((a>>>38-b&1)-(b<<1)|0)+62|0}J[i+28>>2]=f;J[i+16>>2]=0;J[i+20>>2]=0;b=(f<<2)+36112|0;M:{d=J[8953];c=1<>2]=i;break N}f=a<<((f|0)!=31?25-(f>>>1|0)|0:0);c=J[b>>2];while(1){b=c;if((J[c+4>>2]&-8)==(a|0)){break M}c=f>>>29|0;f=f<<1;d=(c&4)+b|0;c=J[d+16>>2];if(c){continue}break}J[d+16>>2]=i}J[i+24>>2]=b;J[i+12>>2]=i;J[i+8>>2]=i;break d}a=J[b+8>>2];J[a+12>>2]=i;J[b+8>>2]=i;J[i+24>>2]=0;J[i+12>>2]=b;J[i+8>>2]=a}a=j+8|0;break a}O:{if(!g){break O}b=J[d+28>>2];a=(b<<2)+36112|0;P:{if(J[a>>2]==(d|0)){J[a>>2]=c;if(c){break P}j=vs(b)&j;J[8953]=j;break O}J[g+(J[g+16>>2]==(d|0)?16:20)>>2]=c;if(!c){break O}}J[c+24>>2]=g;a=J[d+16>>2];if(a){J[c+16>>2]=a;J[a+24>>2]=c}a=J[d+20>>2];if(!a){break O}J[c+20>>2]=a;J[a+24>>2]=c}Q:{if(f>>>0<=15){a=f+h|0;J[d+4>>2]=a|3;a=a+d|0;J[a+4>>2]=J[a+4>>2]|1;break Q}J[d+4>>2]=h|3;e=d+h|0;J[e+4>>2]=f|1;J[e+f>>2]=f;if(f>>>0<=255){b=(f&-8)+35848|0;c=J[8952];a=1<<(f>>>3);R:{if(!(c&a)){J[8952]=a|c;a=b;break R}a=J[b+8>>2]}J[b+8>>2]=e;J[a+12>>2]=e;J[e+12>>2]=b;J[e+8>>2]=a;break Q}a=31;if(f>>>0<=16777215){a=S(f>>>8|0);a=((f>>>38-a&1)-(a<<1)|0)+62|0}J[e+28>>2]=a;J[e+16>>2]=0;J[e+20>>2]=0;b=(a<<2)+36112|0;S:{c=1<>2]=e;break T}a=f<<((a|0)!=31?25-(a>>>1|0)|0:0);h=J[b>>2];while(1){b=h;if((J[b+4>>2]&-8)==(f|0)){break S}c=a>>>29|0;a=a<<1;c=(c&4)+b|0;h=J[c+16>>2];if(h){continue}break}J[c+16>>2]=e}J[e+24>>2]=b;J[e+12>>2]=e;J[e+8>>2]=e;break Q}a=J[b+8>>2];J[a+12>>2]=e;J[b+8>>2]=e;J[e+24>>2]=0;J[e+12>>2]=b;J[e+8>>2]=a}a=d+8|0;break a}U:{if(!i){break U}b=J[c+28>>2];a=(b<<2)+36112|0;V:{if(J[a>>2]==(c|0)){J[a>>2]=d;if(d){break V}m=35812,n=vs(b)&j,J[m>>2]=n;break U}J[i+(J[i+16>>2]==(c|0)?16:20)>>2]=d;if(!d){break U}}J[d+24>>2]=i;a=J[c+16>>2];if(a){J[d+16>>2]=a;J[a+24>>2]=d}a=J[c+20>>2];if(!a){break U}J[d+20>>2]=a;J[a+24>>2]=d}W:{if(f>>>0<=15){a=f+h|0;J[c+4>>2]=a|3;a=a+c|0;J[a+4>>2]=J[a+4>>2]|1;break W}J[c+4>>2]=h|3;d=c+h|0;J[d+4>>2]=f|1;J[d+f>>2]=f;if(k){b=(k&-8)+35848|0;e=J[8957];a=1<<(k>>>3);X:{if(!(a&g)){J[8952]=a|g;a=b;break X}a=J[b+8>>2]}J[b+8>>2]=e;J[a+12>>2]=e;J[e+12>>2]=b;J[e+8>>2]=a}J[8957]=d;J[8954]=f}a=c+8|0}sa=l+16|0;return a|0}function qi(a,b){a=a|0;b=b|0;var c=0,d=0,e=Q(0),f=0,g=Q(0),h=Q(0),i=0,j=Q(0),k=Q(0),l=Q(0),m=Q(0),n=Q(0),o=Q(0),p=0,q=Q(0),r=Q(0),s=Q(0),t=Q(0),u=0,v=Q(0),w=Q(0),x=Q(0),y=Q(0),z=Q(0),A=Q(0),B=Q(0),C=Q(0),D=Q(0),E=0,F=0,G=Q(0),I=Q(0),L=Q(0),M=0,O=Q(0),R=Q(0),S=Q(0),T=Q(0),U=Q(0),V=Q(0),W=Q(0),X=Q(0),Z=Q(0),_=Q(0),$=Q(0),aa=0,ba=0,ca=Q(0),da=Q(0),ea=Q(0),fa=0,ga=0,ha=Q(0),ia=Q(0),ja=Q(0),ka=Q(0),la=Q(0),ma=0,na=0,oa=0;d=J[a+32>>2];aa=d+388|0;c=J[a+28>>2];ba=c+388|0;d=d+4|0;c=c+4|0;if(K[a+739|0]){e=N[J[a+32>>2]+404>>2];V=N[J[a+28>>2]+404>>2];k=Q(e+V);k=k>Q(0)?Q(e/k):Q(.5);n=Q(Q(1)-k);r=N[a+672>>2];q=N[d+40>>2];h=N[a+664>>2];s=N[d+32>>2];l=N[d+36>>2];g=N[a+668>>2];o=N[d+56>>2];ha=Q(Q(Q(r*q)+Q(Q(h*s)+Q(l*g)))+o);B=Q(ha-o);L=B;o=N[a+592>>2];j=N[c+40>>2];m=N[a+560>>2];y=N[c+32>>2];w=N[a+576>>2];z=N[c+36>>2];R=Q(Q(o*j)+Q(Q(m*y)+Q(w*z)));t=N[a+656>>2];I=Q(t*q);q=N[a+624>>2];O=Q(q*s);s=N[a+640>>2];S=Q(I+Q(O+Q(s*l)));l=Q(Q(R*k)+Q(S*n));I=l;T=Q(l*l);v=N[c+8>>2];A=N[c>>2];D=N[c+4>>2];U=Q(Q(o*v)+Q(Q(m*A)+Q(D*w)));x=N[d+8>>2];W=N[d>>2];X=N[d+4>>2];Z=Q(Q(t*x)+Q(Q(q*W)+Q(X*s)));l=Q(Q(U*k)+Q(Z*n));G=N[c+24>>2];C=N[c+16>>2];O=w;w=N[c+20>>2];ca=Q(Q(o*G)+Q(Q(m*C)+Q(O*w)));O=N[d+24>>2];_=N[d+16>>2];o=s;s=N[d+20>>2];da=Q(Q(t*O)+Q(Q(q*_)+Q(o*s)));t=Q(Q(ca*k)+Q(da*n));q=Q(Q(1)/Q(Y(Q(T+Q(Q(l*l)+Q(t*t))))));o=Q(I*q);I=Q(B*o);m=N[d+48>>2];W=Q(m+Q(Q(r*x)+Q(Q(h*W)+Q(X*g))));B=Q(W-m);m=Q(l*q);g=Q(Q(r*O)+Q(Q(h*_)+Q(s*g)));r=N[d+52>>2];X=Q(g+r);s=Q(X-r);r=Q(t*q);h=Q(I+Q(Q(B*m)+Q(s*r)));l=Q(o*h);O=Q(L-l);g=N[a+608>>2];t=N[a+600>>2];q=N[a+604>>2];x=N[c+56>>2];_=Q(Q(Q(g*j)+Q(Q(t*y)+Q(z*q)))+x);x=Q(_-x);I=N[c+48>>2];ia=Q(I+Q(Q(g*v)+Q(Q(t*A)+Q(D*q))));I=Q(ia-I);L=Q(Q(g*G)+Q(Q(t*C)+Q(w*q)));g=N[c+52>>2];ja=Q(L+g);T=Q(ja-g);g=Q(Q(o*x)+Q(Q(I*m)+Q(T*r)));$=Q(o*g);l=Q($-l);t=Q(O-Q(n*l));q=Q(r*h);ka=Q(s-q);ea=Q(r*g);L=Q(ea-q);q=Q(ka-Q(n*L));h=Q(m*h);la=Q(B-h);g=Q(m*g);h=Q(g-h);s=Q(la-Q(n*h));$=Q(x-$);l=Q($+Q(k*l));T=Q(T-ea);B=Q(T+Q(k*L));g=Q(I-g);x=Q(g+Q(k*h));d=!(eQ(1.1920928955078125e-7)){j=Q(Q(1)/Q(Y(h)));h=Q(e*j);e=Q(V*j);g=Q(g*j);break a}h=N[a+588>>2];e=Q(h*v);v=N[a+556>>2];g=Q(v*A);A=N[a+572>>2];g=Q(e+Q(g+Q(D*A)));e=Q(Q(h*G)+Q(Q(v*C)+Q(A*w)));h=Q(Q(h*j)+Q(Q(v*y)+Q(A*z)))}p=J[b+24>>2];f=J[b+12>>2];N[f+8>>2]=Q(x*e)-Q(g*B);N[f+4>>2]=Q(l*g)-Q(h*x);N[f>>2]=Q(B*h)-Q(e*l);c=J[b+20>>2];N[c+8>>2]=-Q(Q(s*e)-Q(g*q));N[c+4>>2]=-Q(Q(t*g)-Q(h*s));N[c>>2]=-Q(Q(q*h)-Q(e*t));y=Q(Q(o*g)-Q(h*m));w=Q(Q(r*h)-Q(e*o));j=Q(Q(s*y)-Q(w*q));z=Q(Q(m*e)-Q(g*r));v=Q(Q(t*w)-Q(z*s));A=Q(Q(q*z)-Q(y*t));D=Q(Q(x*y)-Q(w*B));G=Q(Q(l*w)-Q(z*x));C=Q(Q(B*z)-Q(y*l));E=K[a+716|0];fa=!E;if(!(fa|d)){D=Q(k*D);G=Q(k*G);C=Q(k*C);v=Q(n*v);A=Q(n*A);j=Q(n*j)}i=p<<2;u=i+f|0;N[u+8>>2]=D;N[u+4>>2]=G;N[u>>2]=C;N[c+i>>2]=-A;M=p+1|0;N[c+(M<<2)>>2]=-v;ga=p+2|0;N[c+(ga<<2)>>2]=-j;j=Q(Q(s*r)+Q(m*Q(-q)));s=Q(Q(t*m)+Q(o*Q(-s)));t=Q(Q(q*o)+Q(r*Q(-t)));q=Q(Q(x*r)+Q(m*Q(-B)));x=Q(Q(l*m)+Q(o*Q(-x)));l=Q(Q(B*o)+Q(r*Q(-l)));if(!d){q=Q(k*q);x=Q(k*x);l=Q(k*l);s=Q(n*s);t=Q(n*t);j=Q(n*j)}n=Q(-r);B=Q(-m);v=Q(-o);ma=p<<3;d=f+ma|0;N[d+8>>2]=q;N[d+4>>2]=x;N[d>>2]=l;u=p<<1;N[c+(u<<2)>>2]=-t;na=u|1;N[c+(na<<2)>>2]=-s;oa=u+2|0;N[c+(oa<<2)>>2]=-j;k=N[(K[a+748|0]&8?a+756|0:b+4|0)>>2];b:{if(K[a+736|0]){s=Q(-z);t=Q(-y);j=Q(-w);x=Q(-h);l=Q(-e);q=Q(-g);d=J[b+28>>2];break b}C=N[b>>2];d=J[b+8>>2];N[d+8>>2]=h;N[d+4>>2]=e;N[d>>2]=g;F=d+i|0;N[F+8>>2]=z;N[F+4>>2]=y;N[F>>2]=w;d=d+ma|0;N[d+8>>2]=o;N[d+4>>2]=r;N[d>>2]=m;d=J[b+16>>2];x=Q(-h);N[d+8>>2]=x;l=Q(-e);N[d+4>>2]=l;q=Q(-g);N[d>>2]=q;F=p<<2;j=Q(-w);N[F+d>>2]=j;t=Q(-y);N[d+(M<<2)>>2]=t;s=Q(-z);N[d+(ga<<2)>>2]=s;u=u<<2;N[u+d>>2]=B;N[d+(na<<2)>>2]=n;N[d+(oa<<2)>>2]=v;d=J[b+28>>2];A=Q(ha-_);D=Q(W-ia);G=Q(X-ja);C=Q(k*C);N[d>>2]=Q(Q(h*A)+Q(Q(g*D)+Q(G*e)))*C;N[d+F>>2]=Q(Q(z*A)+Q(Q(w*D)+Q(G*y)))*C;N[d+u>>2]=C*Q(Q(o*A)+Q(Q(m*D)+Q(G*r)))}p=P(p,12);N[p+f>>2]=g;u=p+8|0;N[u+f>>2]=h;F=p+4|0;N[F+f>>2]=e;i=i<<2;N[i+f>>2]=w;M=i|4;N[M+f>>2]=y;ga=i|8;N[ga+f>>2]=z;N[c+p>>2]=q;N[c+u>>2]=x;N[c+F>>2]=l;N[c+i>>2]=j;N[c+M>>2]=t;N[c+ga>>2]=s;j=Q(Q(U*da)-Q(Z*ca));l=Q(j*h);h=Q(Q(ca*S)-Q(da*R));s=Q(h*g);g=Q(Q(R*Z)-Q(S*U));l=Q(l+Q(s+Q(g*e)));e=Q(k*N[b>>2]);N[d+p>>2]=l*e;N[d+i>>2]=Q(Q(j*z)+Q(Q(h*w)+Q(g*y)))*e;c:{d:{if(E){u=K[a+737|0]!=0;e=Q(N[a+708>>2]*N[a+732>>2]);d=e>Q(0)?1:2;break d}if(!K[a+737|0]){break c}e=Q(0);u=1;d=0}p=P(J[b+24>>2],5);i=p<<2;N[i+f>>2]=m;F=i+8|0;N[F+f>>2]=o;M=f;f=i+4|0;N[M+f>>2]=r;N[c+F>>2]=v;N[c+f>>2]=n;N[c+i>>2]=B;c=a+688|0;n=Eb(c);h=Fb(c);c=J[b+28>>2];J[i+c>>2]=0;i=J[a+748>>2];k=i&2?N[a+764>>2]:k;f=h!=n;if(!(!u|!(f|fa))){if(i&4){N[J[b+32>>2]+(p<<2)>>2]=N[a+752>>2]}n=Hb(N[a+728>>2],n,h,N[a+680>>2],Q(k*N[b>>2]));c=J[b+28>>2];i=p<<2;u=c+i|0;N[u>>2]=Q(Q(n*N[a+680>>2])*N[a+732>>2])+N[u>>2];N[i+J[b+36>>2]>>2]=-N[a+684>>2];N[i+J[b+40>>2]>>2]=N[a+684>>2]}if(!E){break c}i=p<<2;c=i+c|0;N[c>>2]=Q(Q(k*N[b>>2])*e)+N[c>>2];if(H[a+748|0]&1){N[i+J[b+32>>2]>>2]=N[a+760>>2]}e:{if(!f){J[J[b+36>>2]+(p<<2)>>2]=-8388609;e=Q(34028234663852886e22);break e}f=J[b+36>>2]+(p<<2)|0;if((d|0)==1){J[f>>2]=0;e=Q(34028234663852886e22);break e}J[f>>2]=-8388609;e=Q(0)}N[J[b+40>>2]+(p<<2)>>2]=e;k=N[a+704>>2];f:{if(!(k>Q(0))){break f}e=Q(Q(Q(N[ba+8>>2]*o)+Q(Q(N[ba>>2]*m)+Q(N[ba+4>>2]*r)))-Q(Q(N[aa+8>>2]*o)+Q(Q(N[aa>>2]*m)+Q(r*N[aa+4>>2]))));g:{if((d|0)==1){if(!(eN[c>>2]){break g}break f}if(!(e>Q(0))){break f}e=Q(e*Q(-k));if(!(e>2])){break f}}N[c>>2]=e}N[c>>2]=N[a+700>>2]*N[c>>2]}return}h=N[a+656>>2];A=N[d+40>>2];V=Q(h*A);g=N[a+624>>2];D=N[d+32>>2];j=N[a+640>>2];G=N[d+36>>2];ha=Q(Q(g*D)+Q(j*G));C=N[d+24>>2];W=Q(h*C);R=N[d+16>>2];S=N[d+20>>2];X=Q(Q(g*R)+Q(j*S));y=N[a+592>>2];e=N[c+40>>2];O=Q(y*e);w=N[a+560>>2];k=N[c+32>>2];z=N[a+576>>2];n=N[c+36>>2];_=Q(Q(w*k)+Q(z*n));t=N[a+588>>2];I=Q(t*e);q=N[a+556>>2];s=N[a+572>>2];ia=Q(Q(q*k)+Q(s*n));l=N[a+584>>2];ja=Q(l*e);B=N[a+552>>2];x=N[a+568>>2];T=Q(Q(B*k)+Q(x*n));o=N[c+24>>2];$=Q(y*o);m=N[c+16>>2];r=N[c+20>>2];ka=Q(Q(w*m)+Q(z*r));v=N[a+672>>2];L=Q(v*A);A=N[a+664>>2];U=Q(A*D);D=N[a+668>>2];G=Q(Q(L+Q(U+Q(G*D)))+N[d+56>>2]);C=Q(Q(Q(v*C)+Q(Q(A*R)+Q(S*D)))+N[d+52>>2]);R=N[a+608>>2];S=N[a+600>>2];U=N[a+604>>2];Z=N[c+56>>2];ca=Q(Q(Q(R*e)+Q(Q(S*k)+Q(n*U)))+Z);e=N[c+52>>2];da=Q(Q(Q(R*o)+Q(Q(S*m)+Q(r*U)))+e);L=g;g=N[d>>2];ea=N[d+4>>2];L=Q(Q(L*g)+Q(ea*j));j=N[d+8>>2];la=Q(h*j);k=N[c>>2];n=N[c+4>>2];w=Q(Q(w*k)+Q(n*z));h=N[c+8>>2];z=Q(y*h);g=Q(N[d+48>>2]+Q(Q(v*j)+Q(Q(A*g)+Q(ea*D))));j=N[c+48>>2];y=Q(j+Q(Q(R*h)+Q(Q(S*k)+Q(n*U))));p=J[b+24>>2];u=K[a+736|0];if(!u){f=J[b+8>>2];J[f>>2]=1065353216;i=(p<<2)+4|0;J[i+f>>2]=1065353216;E=(p<<3)+8|0;J[E+f>>2]=1065353216;f=J[b+16>>2];J[f>>2]=-1082130432;J[f+i>>2]=-1082130432;J[f+E>>2]=-1082130432;Z=N[c+56>>2];j=N[c+48>>2];e=N[c+52>>2]}c=J[b+12>>2];J[c+12>>2]=0;v=Q(ca-Z);N[c+4>>2]=v;J[c>>2]=0;e=Q(da-e);N[c+8>>2]=-e;i=p<<2;f=i+c|0;J[f+12>>2]=0;j=Q(y-j);N[f+8>>2]=j;J[f+4>>2]=0;N[f>>2]=-v;E=p<<3;f=E+c|0;J[f+8>>2]=0;J[f+12>>2]=0;N[f+4>>2]=-j;N[f>>2]=e;e=N[d+48>>2];j=N[d+56>>2];v=N[d+52>>2];f=J[b+20>>2];J[f+12>>2]=0;J[f>>2]=0;v=Q(C-v);N[f+8>>2]=v;j=Q(G-j);N[f+4>>2]=-j;d=f+i|0;J[d+12>>2]=0;e=Q(g-e);N[d+8>>2]=-e;J[d+4>>2]=0;N[d>>2]=j;d=f+E|0;J[d+8>>2]=0;J[d+12>>2]=0;N[d+4>>2]=e;N[d>>2]=-v;v=N[(K[a+748|0]&8?a+756|0:b+4|0)>>2];e=Q(v*N[b>>2]);d=J[b+28>>2];if(!u){N[d>>2]=e*Q(g-y);N[d+i>>2]=e*Q(C-da);N[d+(p<<3)>>2]=e*Q(G-ca)}i=P(p,12);g=Q(Q(l*h)+Q(Q(B*k)+Q(x*n)));N[i+c>>2]=g;E=i+8|0;j=Q(ja+T);N[E+c>>2]=j;F=i+4|0;y=Q(Q(l*o)+Q(Q(B*m)+Q(x*r)));N[F+c>>2]=y;u=p<<4;h=Q(Q(t*h)+Q(Q(q*k)+Q(n*s)));N[u+c>>2]=h;fa=u|4;m=Q(Q(t*o)+Q(Q(q*m)+Q(s*r)));N[fa+c>>2]=m;M=u|8;r=Q(I+ia);N[M+c>>2]=r;N[f+i>>2]=-g;N[f+E>>2]=-j;N[f+F>>2]=-y;N[f+u>>2]=-h;N[f+fa>>2]=-m;N[f+M>>2]=-r;k=Q(z+w);o=Q(W+X);w=Q(la+L);n=Q($+ka);z=Q(Q(k*o)-Q(w*n));s=Q(z*j);j=Q(V+ha);l=o;o=Q(O+_);t=Q(Q(n*j)-Q(l*o));l=Q(t*g);g=Q(Q(o*w)-Q(j*k));N[d+i>>2]=Q(s+Q(l+Q(y*g)))*e;N[d+u>>2]=Q(Q(z*r)+Q(Q(t*h)+Q(m*g)))*e;u=K[a+716|0];h:{i:{if(u){E=K[a+737|0]!=0;e=Q(N[a+708>>2]*N[a+732>>2]);d=e>Q(0)?1:2;break i}if(!K[a+737|0]){break h}e=Q(0);E=1;d=0}p=P(p,5);i=p<<2;N[i+c>>2]=k;F=i+8|0;N[F+c>>2]=o;M=c;c=i+4|0;N[M+c>>2]=n;N[f+F>>2]=-o;N[c+f>>2]=-n;N[f+i>>2]=-k;c=a+688|0;m=Eb(c);r=Fb(c);c=J[b+28>>2];J[i+c>>2]=0;i=J[a+748>>2];h=i&2?N[a+764>>2]:v;f=m!=r;if(!(!E|!(f|!u))){if(i&4){N[J[b+32>>2]+(p<<2)>>2]=N[a+752>>2]}m=Hb(N[a+728>>2],m,r,N[a+680>>2],Q(h*N[b>>2]));c=J[b+28>>2];i=p<<2;E=c+i|0;N[E>>2]=Q(Q(m*N[a+680>>2])*N[a+732>>2])+N[E>>2];N[i+J[b+36>>2]>>2]=-N[a+684>>2];N[i+J[b+40>>2]>>2]=N[a+684>>2]}if(!u){break h}i=p<<2;c=i+c|0;N[c>>2]=Q(Q(h*N[b>>2])*e)+N[c>>2];if(H[a+748|0]&1){N[i+J[b+32>>2]>>2]=N[a+760>>2]}j:{if(!f){J[J[b+36>>2]+(p<<2)>>2]=-8388609;e=Q(34028234663852886e22);break j}f=J[b+36>>2]+(p<<2)|0;if((d|0)==1){J[f>>2]=0;e=Q(34028234663852886e22);break j}J[f>>2]=-8388609;e=Q(0)}N[J[b+40>>2]+(p<<2)>>2]=e;m=N[a+704>>2];k:{if(!(m>Q(0))){break k}e=Q(Q(Q(N[ba+8>>2]*o)+Q(Q(N[ba>>2]*k)+Q(n*N[ba+4>>2])))-Q(Q(N[aa+8>>2]*o)+Q(Q(N[aa>>2]*k)+Q(n*N[aa+4>>2]))));l:{if((d|0)==1){if(!(eN[c>>2]){break l}break k}if(!(e>Q(0))){break k}e=Q(e*Q(-m));if(!(e>2])){break k}}N[c>>2]=e}N[c>>2]=N[a+700>>2]*N[c>>2]}}function Tc(a,b,c,d,e,f){var g=0,h=Q(0),i=0,j=Q(0),k=Q(0),l=Q(0),m=Q(0),n=Q(0),o=0,p=Q(0),q=Q(0),r=Q(0),s=Q(0),t=Q(0),u=Q(0),v=Q(0),w=Q(0),x=Q(0),y=Q(0),z=Q(0),A=Q(0),B=Q(0),C=Q(0),D=Q(0),E=Q(0),F=0,G=Q(0),I=Q(0),L=0,M=Q(0),O=Q(0),R=Q(0);g=sa-672|0;sa=g;i=J[d+12>>2];F=J[d+4>>2];L=J[F+4>>2];a:{if((L|0)<=19){N[g+644>>2]=f;J[g+640>>2]=0;J[g+472>>2]=13156;N[g+636>>2]=N[e+4>>2];H[g+444|0]=0;J[g+420>>2]=953267991;J[g+36>>2]=22676;o=g+648|0;J[o+20>>2]=0;J[o+16>>2]=F;J[o+12>>2]=a;J[o+8>>2]=g+36;J[o+4>>2]=g+112;J[o>>2]=22452;b:{if(!(ua[J[J[o>>2]+8>>2]](o,b,c,i,i,g+472|0)|0)){break b}j=N[g+612>>2];k=N[g+604>>2];n=N[g+608>>2];h=Q(Q(j*j)+Q(Q(k*k)+Q(n*n)));if(!(h>Q(9999999747378752e-20))){break b}f=N[g+636>>2];if(!(f>2])){break b}h=Q(Q(1)/Q(Y(h)));N[g+612>>2]=j*h;N[g+608>>2]=n*h;N[g+604>>2]=k*h;J[g+60>>2]=F;J[g+68>>2]=J[d+8>>2];J[g+72>>2]=g+52;a=J[g+616>>2];J[g+84>>2]=J[g+612>>2];J[g+88>>2]=a;c=J[g+604>>2];b=J[g+608>>2];a=J[g+632>>2];J[g+100>>2]=J[g+628>>2];J[g+104>>2]=a;J[g+76>>2]=c;J[g+80>>2]=b;a=J[g+624>>2];J[g+92>>2]=J[g+620>>2];J[g+96>>2]=a;N[g+108>>2]=f;Q(ua[J[J[e>>2]+12>>2]](e,g+68|0,1))}break a}o=L-21|0;if(o>>>0<=8){c:{switch(o|0){case 0:r=N[i+20>>2];s=N[i+36>>2];p=N[i+52>>2];t=N[i+24>>2];q=N[i+56>>2];u=N[i+40>>2];A=N[i+32>>2];B=N[i>>2];C=N[i+16>>2];D=N[i+4>>2];E=N[i+8>>2];h=N[i+48>>2];m=N[b+52>>2];l=N[b+56>>2];j=N[b+48>>2];J[g+80>>2]=0;h=Q(-h);k=Q(Q(Q(E*h)-Q(t*p))-Q(u*q));N[g+76>>2]=k+Q(Q(l*u)+Q(Q(j*E)+Q(t*m)));n=Q(Q(Q(D*h)-Q(r*p))-Q(s*q));N[g+72>>2]=n+Q(Q(l*s)+Q(Q(j*D)+Q(r*m)));h=Q(Q(Q(B*h)-Q(C*p))-Q(A*q));N[g+68>>2]=h+Q(Q(l*A)+Q(Q(j*B)+Q(C*m)));m=N[c+52>>2];l=N[c+56>>2];j=N[c+48>>2];J[g+660>>2]=0;N[g+656>>2]=k+Q(Q(l*u)+Q(Q(j*E)+Q(t*m)));N[g+652>>2]=n+Q(Q(l*s)+Q(Q(j*D)+Q(r*m)));N[g+648>>2]=h+Q(Q(l*A)+Q(Q(j*B)+Q(C*m)));G=N[c+20>>2];p=N[c+36>>2];q=N[c+24>>2];m=N[c+40>>2];l=N[c+32>>2];j=N[c>>2];k=N[c+16>>2];n=N[c+4>>2];h=N[c+8>>2];J[g+516>>2]=0;J[g+520>>2]=0;J[g+500>>2]=0;J[g+524>>2]=0;J[g+528>>2]=0;J[g+532>>2]=0;N[g+512>>2]=Q(m*u)+Q(Q(h*E)+Q(t*q));N[g+508>>2]=Q(p*u)+Q(Q(n*E)+Q(t*G));N[g+496>>2]=Q(m*s)+Q(Q(h*D)+Q(r*q));N[g+492>>2]=Q(p*s)+Q(Q(n*D)+Q(r*G));J[g+484>>2]=0;N[g+504>>2]=Q(l*u)+Q(Q(j*E)+Q(t*k));N[g+488>>2]=Q(l*s)+Q(Q(j*D)+Q(r*k));N[g+480>>2]=Q(m*A)+Q(Q(h*B)+Q(C*q));N[g+476>>2]=Q(p*A)+Q(Q(n*B)+Q(C*G));N[g+472>>2]=Q(l*A)+Q(Q(j*B)+Q(C*k));d=J[d+8>>2];b=Ud(g+112|0,a,b,c,i,Q(ua[J[J[F>>2]+48>>2]](F)));J[b+220>>2]=F;J[b+216>>2]=d;J[b+212>>2]=e;J[b>>2]=13756;h=N[e+4>>2];N[b+208>>2]=f;N[b+200>>2]=h;e=g+52|0;d=g+36|0;ua[J[J[a>>2]+8>>2]](a,g+472|0,e,d);L=sa-16|0;sa=L;a=J[F+56>>2];J[L+12>>2]=b;J[L+8>>2]=a;J[L+4>>2]=18824;c=L+4|0;b=g+68|0;a=g+648|0;o=J[F+60>>2];d:{if(K[o+60|0]){ye(o,c,b,a,e,d,J[o+56>>2]);break d}ze(o,c,b,a,e,d)}sa=L+16|0;break a;case 7:N[g+284>>2]=f;J[g+280>>2]=0;J[g+112>>2]=13156;N[g+276>>2]=N[e+4>>2];o=g+68|0;J[o+20>>2]=F;J[o+16>>2]=0;J[o+12>>2]=a;J[o+4>>2]=0;J[o+8>>2]=0;J[o>>2]=22452;e:{if(!(ua[J[J[o>>2]+8>>2]](o,b,c,i,i,g+112|0)|0)){break e}j=N[g+252>>2];k=N[g+244>>2];n=N[g+248>>2];h=Q(Q(j*j)+Q(Q(k*k)+Q(n*n)));if(!(h>Q(9999999747378752e-20))){break e}f=N[g+276>>2];if(!(f>2])){break e}h=Q(Q(1)/Q(Y(h)));N[g+252>>2]=j*h;N[g+248>>2]=n*h;N[g+244>>2]=k*h;J[g+656>>2]=F;J[g+472>>2]=J[d+8>>2];J[g+476>>2]=g+648;a=J[g+256>>2];J[g+488>>2]=J[g+252>>2];J[g+492>>2]=a;c=J[g+244>>2];b=J[g+248>>2];a=J[g+272>>2];J[g+504>>2]=J[g+268>>2];J[g+508>>2]=a;J[g+480>>2]=c;J[g+484>>2]=b;a=J[g+264>>2];J[g+496>>2]=J[g+260>>2];J[g+500>>2]=a;N[g+512>>2]=f;Q(ua[J[J[e>>2]+12>>2]](e,g+472|0,1))}break a;default:break c}}r=N[b+52>>2];s=N[b+56>>2];t=N[i+52>>2];u=N[i+56>>2];A=N[c+52>>2];B=N[c+56>>2];M=N[i+20>>2];O=N[i+36>>2];R=N[i+24>>2];I=N[i+40>>2];C=N[b+48>>2];n=N[i+48>>2];D=N[c+48>>2];v=N[i+32>>2];w=N[i>>2];x=N[i+16>>2];y=N[i+4>>2];z=N[i+8>>2];E=N[c+20>>2];G=N[c+36>>2];p=N[c+24>>2];q=N[c+40>>2];m=N[c+32>>2];l=N[c>>2];j=N[c+16>>2];k=N[c+4>>2];h=N[c+8>>2];J[g+516>>2]=0;J[g+520>>2]=0;J[g+500>>2]=0;J[g+524>>2]=0;J[g+528>>2]=0;J[g+532>>2]=0;N[g+512>>2]=Q(q*I)+Q(Q(h*z)+Q(R*p));N[g+508>>2]=Q(G*I)+Q(Q(k*z)+Q(R*E));N[g+496>>2]=Q(q*O)+Q(Q(h*y)+Q(M*p));N[g+492>>2]=Q(G*O)+Q(Q(k*y)+Q(M*E));J[g+484>>2]=0;N[g+504>>2]=Q(m*I)+Q(Q(l*z)+Q(R*j));N[g+488>>2]=Q(m*O)+Q(Q(l*y)+Q(M*j));N[g+480>>2]=Q(q*v)+Q(Q(h*w)+Q(x*p));N[g+476>>2]=Q(G*v)+Q(Q(k*w)+Q(x*E));N[g+472>>2]=Q(m*v)+Q(Q(l*w)+Q(x*j));d=J[d+8>>2];b=Ud(g+112|0,a,b,c,i,Q(ua[J[J[F>>2]+48>>2]](F)));J[b+220>>2]=F;J[b+216>>2]=d;J[b+212>>2]=e;J[b>>2]=13968;h=N[e+4>>2];N[b+208>>2]=f;N[b+200>>2]=h;ua[J[J[a>>2]+8>>2]](a,g+472|0,g+68|0,g+648|0);J[g+64>>2]=0;f=Q(-n);k=Q(Q(Q(z*f)-Q(R*t))-Q(I*u));h=Q(Q(Q(y*f)-Q(M*t))-Q(O*u));l=Q(h+Q(Q(B*O)+Q(Q(D*y)+Q(M*A))));f=Q(Q(Q(w*f)-Q(x*t))-Q(v*u));p=Q(f+Q(Q(s*v)+Q(Q(C*w)+Q(x*r))));n=p;j=Q(f+Q(Q(B*v)+Q(Q(D*w)+Q(x*A))));if(j>2]=j;n=j}m=Q(h+Q(Q(s*O)+Q(Q(C*y)+Q(M*r))));h=m;if(l>2]=l;h=l}q=Q(k+Q(Q(s*I)+Q(Q(C*z)+Q(R*r))));f=q;k=Q(k+Q(Q(B*I)+Q(Q(D*z)+Q(R*A))));if(k>2]=k;f=k}J[g+48>>2]=0;N[g+52>>2]=N[g+68>>2]+n;N[g+56>>2]=N[g+72>>2]+h;N[g+60>>2]=N[g+76>>2]+f;N[g+36>>2]=N[g+648>>2]+(j>p?j:p);N[g+40>>2]=N[g+652>>2]+(l>m?l:m);N[g+44>>2]=N[g+656>>2]+(k>q?k:q);ua[J[J[F>>2]+64>>2]](F,b,g+52|0,g+36|0);break a}if((L|0)!=31){break a}ua[J[8262]](7733);u=N[i+52>>2];A=N[i+56>>2];B=N[b+52>>2];C=N[b+56>>2];I=N[i+20>>2];v=N[i+36>>2];D=N[b+20>>2];E=N[b+36>>2];G=N[b+24>>2];w=N[i+24>>2];p=N[b+40>>2];x=N[i+40>>2];y=N[i+32>>2];z=N[i>>2];r=N[i+16>>2];q=N[b+32>>2];m=N[b>>2];l=N[b+16>>2];h=N[i+48>>2];j=N[b+48>>2];s=N[i+4>>2];k=N[b+4>>2];n=N[b+8>>2];t=N[i+8>>2];J[g+172>>2]=0;J[g+156>>2]=0;J[g+140>>2]=0;N[g+152>>2]=Q(p*x)+Q(Q(n*t)+Q(w*G));N[g+148>>2]=Q(E*x)+Q(Q(k*t)+Q(w*D));N[g+136>>2]=Q(p*v)+Q(Q(n*s)+Q(I*G));N[g+132>>2]=Q(E*v)+Q(Q(k*s)+Q(I*D));h=Q(-h);N[g+168>>2]=Q(Q(Q(t*h)-Q(w*u))-Q(x*A))+Q(Q(C*x)+Q(Q(j*t)+Q(w*B)));N[g+164>>2]=Q(Q(Q(s*h)-Q(I*u))-Q(v*A))+Q(Q(C*v)+Q(Q(j*s)+Q(I*B)));J[g+124>>2]=0;N[g+144>>2]=Q(q*x)+Q(Q(m*t)+Q(w*l));N[g+128>>2]=Q(q*v)+Q(Q(m*s)+Q(I*l));N[g+120>>2]=Q(p*y)+Q(Q(n*z)+Q(r*G));N[g+116>>2]=Q(E*y)+Q(Q(k*z)+Q(r*D));N[g+112>>2]=Q(q*y)+Q(Q(m*z)+Q(r*l));N[g+160>>2]=Q(Q(Q(z*h)-Q(r*u))-Q(y*A))+Q(Q(C*y)+Q(Q(j*z)+Q(r*B)));o=g+112|0;ua[J[J[a>>2]+8>>2]](a,o,g+52|0,g+36|0);u=N[i+52>>2];A=N[i+56>>2];B=N[c+52>>2];C=N[c+56>>2];I=N[i+20>>2];v=N[i+36>>2];D=N[c+20>>2];E=N[c+36>>2];G=N[c+24>>2];w=N[i+24>>2];p=N[c+40>>2];x=N[i+40>>2];y=N[i+32>>2];z=N[i>>2];r=N[i+16>>2];q=N[c+32>>2];m=N[c>>2];l=N[c+16>>2];h=N[i+48>>2];j=N[c+48>>2];s=N[i+4>>2];k=N[c+4>>2];n=N[c+8>>2];t=N[i+8>>2];J[g+172>>2]=0;J[g+156>>2]=0;J[g+140>>2]=0;N[g+152>>2]=Q(p*x)+Q(Q(n*t)+Q(w*G));N[g+148>>2]=Q(E*x)+Q(Q(k*t)+Q(w*D));N[g+136>>2]=Q(p*v)+Q(Q(n*s)+Q(I*G));N[g+132>>2]=Q(E*v)+Q(Q(k*s)+Q(I*D));h=Q(-h);N[g+168>>2]=Q(Q(Q(t*h)-Q(w*u))-Q(x*A))+Q(Q(C*x)+Q(Q(j*t)+Q(w*B)));N[g+164>>2]=Q(Q(Q(s*h)-Q(I*u))-Q(v*A))+Q(Q(C*v)+Q(Q(j*s)+Q(I*B)));J[g+124>>2]=0;N[g+144>>2]=Q(q*x)+Q(Q(m*t)+Q(w*l));N[g+128>>2]=Q(q*v)+Q(Q(m*s)+Q(I*l));N[g+120>>2]=Q(p*y)+Q(Q(n*z)+Q(r*G));N[g+116>>2]=Q(E*y)+Q(Q(k*z)+Q(r*D));N[g+112>>2]=Q(q*y)+Q(Q(m*z)+Q(r*l));N[g+160>>2]=Q(Q(Q(z*h)-Q(r*u))-Q(y*A))+Q(Q(C*y)+Q(Q(j*z)+Q(r*B)));ua[J[J[a>>2]+8>>2]](a,o,g+16|0,g);h=N[g+16>>2];if(h>2]){N[g+52>>2]=h}h=N[g+20>>2];if(h>2]){N[g+56>>2]=h}h=N[g+24>>2];if(h>2]){N[g+60>>2]=h}h=N[g+28>>2];if(h>2]){N[g+64>>2]=h}h=N[g>>2];if(h>N[g+36>>2]){N[g+36>>2]=h}h=N[g+4>>2];if(h>N[g+40>>2]){N[g+40>>2]=h}h=N[g+8>>2];if(h>N[g+44>>2]){N[g+44>>2]=h}h=N[g+12>>2];if(h>N[g+48>>2]){N[g+48>>2]=h}J[g+504>>2]=e;J[g+500>>2]=i;N[g+492>>2]=f;J[g+488>>2]=c;J[g+484>>2]=b;J[g+480>>2]=a;J[g+476>>2]=d;J[g+472>>2]=14184;J[g+496>>2]=F;b=J[F+72>>2];f:{if(!b){if(J[F+24>>2]<=0){break f}c=0;while(1){a=J[F+32>>2]+P(c,80)|0;d=J[a+64>>2];A=N[a+48>>2];B=N[a+52>>2];C=N[a+56>>2];D=N[a>>2];E=N[a+16>>2];G=N[a+32>>2];p=N[a+4>>2];q=N[a+20>>2];m=N[a+36>>2];l=N[a+8>>2];j=N[a+24>>2];k=N[a+40>>2];a=J[g+500>>2];n=N[a+52>>2];h=N[a+56>>2];v=N[a+20>>2];w=N[a+24>>2];x=N[a+36>>2];y=N[a+40>>2];f=N[a+48>>2];z=N[a+8>>2];r=N[a>>2];s=N[a+4>>2];t=N[a+16>>2];u=N[a+32>>2];J[g+172>>2]=0;J[g+156>>2]=0;J[g+140>>2]=0;J[g+124>>2]=0;N[g+152>>2]=Q(k*y)+Q(Q(l*u)+Q(j*x));N[g+148>>2]=Q(m*y)+Q(Q(p*u)+Q(q*x));N[g+144>>2]=Q(G*y)+Q(Q(D*u)+Q(E*x));N[g+136>>2]=Q(k*w)+Q(Q(l*t)+Q(j*v));N[g+132>>2]=Q(m*w)+Q(Q(p*t)+Q(q*v));N[g+128>>2]=Q(G*w)+Q(Q(D*t)+Q(E*v));N[g+120>>2]=Q(k*z)+Q(Q(l*r)+Q(j*s));N[g+116>>2]=Q(m*z)+Q(Q(p*r)+Q(q*s));N[g+112>>2]=Q(G*z)+Q(Q(D*r)+Q(E*s));N[g+168>>2]=h+Q(Q(C*y)+Q(Q(A*u)+Q(B*x)));N[g+164>>2]=n+Q(Q(C*w)+Q(Q(A*t)+Q(B*v)));N[g+160>>2]=f+Q(Q(C*z)+Q(Q(A*r)+Q(B*s)));J[g+80>>2]=-1;J[g+84>>2]=0;J[g+72>>2]=1065353216;J[g+76>>2]=1;J[g+96>>2]=c;a=J[g+504>>2];J[g+92>>2]=a;J[g+88>>2]=d;J[g+68>>2]=14400;N[g+72>>2]=N[a+4>>2];b=J[g+476>>2];a=J[b+8>>2];J[g+668>>2]=c;J[g+664>>2]=-1;J[g+656>>2]=a;J[g+652>>2]=d;J[g+648>>2]=b;J[g+660>>2]=g+112;Tc(J[g+480>>2],J[g+484>>2],J[g+488>>2],g+648|0,g+68|0,N[g+492>>2]);c=c+1|0;if((c|0)>2]){continue}break}break f}a=J[g+64>>2];J[g+120>>2]=J[g+60>>2];J[g+124>>2]=a;a=J[g+48>>2];J[g+136>>2]=J[g+44>>2];J[g+140>>2]=a;a=J[g+40>>2];J[g+128>>2]=J[g+36>>2];J[g+132>>2]=a;a=J[g+56>>2];J[g+112>>2]=J[g+52>>2];J[g+116>>2]=a;xb(J[b>>2],g+112|0,g+472|0)}ua[J[8263]]()}sa=g+672|0}function Se(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=Q(0),l=0,m=Q(0),n=Q(0),o=Q(0),p=Q(0),q=Q(0),r=0,s=0,t=Q(0),u=Q(0),v=Q(0),w=0,x=Q(0),y=Q(0),z=Q(0),A=Q(0),B=Q(0),C=Q(0),D=Q(0),E=Q(0),F=Q(0),G=Q(0),I=Q(0),L=Q(0),M=Q(0),O=0,R=Q(0),S=Q(0),T=0;f=sa-176|0;sa=f;i=K[a+68|0];T=i?c:b;O=J[T+4>>2];if(J[O+76>>2]!=J[a+80>>2]){j=J[a+52>>2];if((j|0)>0){while(1){s=g<<2;h=J[s+J[a+60>>2]>>2];if(h){ua[J[J[h>>2]>>2]](h)|0;h=J[a+4>>2];ua[J[J[h>>2]+60>>2]](h,J[s+J[a+60>>2]>>2])}g=g+1|0;if((j|0)!=(g|0)){continue}break}}Te(a,b,c);J[a+80>>2]=J[O+76>>2]}h=J[a+52>>2];a:{if(!h){break a}j=J[O+72>>2];g=J[a+60>>2];s=J[a+4>>2];J[f+172>>2]=J[a+72>>2];J[f+168>>2]=g;J[f+164>>2]=e;J[f+160>>2]=d;J[f+156>>2]=s;s=i?b:c;J[f+152>>2]=s;J[f+148>>2]=T;J[f+144>>2]=16264;b=J[a+32>>2];if((b|0)<0){if(J[a+36>>2]<0){c=J[a+40>>2];if(!(c?!c|!K[a+44|0]:1)){J[8457]=J[8457]+1;ua[J[8259]](c)}H[a+44|0]=1;J[a+36>>2]=0;J[a+40>>2]=0}h=0;g=b;c=0-b&3;if(c){while(1){J[J[a+40>>2]+(g<<2)>>2]=0;g=g+1|0;h=h+1|0;if((c|0)!=(h|0)){continue}break}}if(b>>>0<=4294967292){while(1){b=g<<2;J[b+J[a+40>>2]>>2]=0;J[(b+J[a+40>>2]|0)+4>>2]=0;J[(b+J[a+40>>2]|0)+8>>2]=0;J[(b+J[a+40>>2]|0)+12>>2]=0;g=g+4|0;if(g){continue}break}}h=J[a+52>>2]}J[a+32>>2]=0;if((h|0)>0){i=a+28|0;b=0;while(1){c=J[J[a+60>>2]+(b<<2)>>2];if(c){ua[J[J[c>>2]+16>>2]](c,i);g=0;c=J[a+32>>2];if((c|0)>0){while(1){d=J[J[a+40>>2]+(g<<2)>>2];if(J[d+844>>2]){J[e+4>>2]=d;h=J[d+836>>2];r=J[J[e+8>>2]+8>>2];c=(h|0)==(r|0);l=d;d=J[J[e+12>>2]+8>>2];Ua(l,(c?h:d)+4|0,(c?d:r)+4|0);J[e+4>>2]=0;c=J[a+32>>2]}g=g+1|0;if((g|0)<(c|0)){continue}break}}b:{if((c|0)>=0){break b}if(J[a+36>>2]<0){d=J[a+40>>2];if(!(d?!d|!K[a+44|0]:1)){J[8457]=J[8457]+1;ua[J[8259]](d)}H[a+44|0]=1;J[a+36>>2]=0;J[a+40>>2]=0}h=0;g=c;d=0-c&3;if(d){while(1){J[J[a+40>>2]+(g<<2)>>2]=0;g=g+1|0;h=h+1|0;if((d|0)!=(h|0)){continue}break}}if(c>>>0>4294967292){break b}while(1){c=g<<2;J[c+J[a+40>>2]>>2]=0;J[(c+J[a+40>>2]|0)+4>>2]=0;J[(c+J[a+40>>2]|0)+8>>2]=0;J[(c+J[a+40>>2]|0)+12>>2]=0;g=g+4|0;if(g){continue}break}}J[a+32>>2]=0;h=J[a+52>>2]}b=b+1|0;if((h|0)>(b|0)){continue}break}}c:{if(!j){if((h|0)<=0){break c}g=0;while(1){Re(f+144|0,J[(J[O+32>>2]+P(g,80)|0)+64>>2],g);g=g+1|0;if((h|0)!=(g|0)){continue}break}break c}b=J[T+12>>2];x=N[b+52>>2];y=N[b+56>>2];c=J[s+12>>2];z=N[c+52>>2];A=N[c+56>>2];k=N[b+20>>2];m=N[b+36>>2];B=N[c+20>>2];C=N[c+36>>2];D=N[c+24>>2];n=N[b+24>>2];E=N[c+40>>2];o=N[b+40>>2];F=N[c+32>>2];p=N[b+32>>2];G=N[c>>2];q=N[b>>2];I=N[c+16>>2];t=N[b+16>>2];L=N[b+48>>2];M=N[c+48>>2];u=N[b+4>>2];R=N[c+4>>2];S=N[c+8>>2];v=N[b+8>>2];J[f+108>>2]=0;J[f+92>>2]=0;J[f+76>>2]=0;N[f+88>>2]=Q(E*o)+Q(Q(S*v)+Q(n*D));N[f+84>>2]=Q(C*o)+Q(Q(R*v)+Q(n*B));N[f+72>>2]=Q(E*m)+Q(Q(S*u)+Q(k*D));N[f+68>>2]=Q(C*m)+Q(Q(R*u)+Q(k*B));L=Q(-L);N[f+104>>2]=Q(Q(Q(v*L)-Q(n*x))-Q(o*y))+Q(Q(A*o)+Q(Q(M*v)+Q(n*z)));N[f+100>>2]=Q(Q(Q(u*L)-Q(k*x))-Q(m*y))+Q(Q(A*m)+Q(Q(M*u)+Q(k*z)));J[f+60>>2]=0;N[f+48>>2]=Q(F*p)+Q(Q(G*q)+Q(t*I));N[f+80>>2]=Q(F*o)+Q(Q(G*v)+Q(n*I));N[f+64>>2]=Q(F*m)+Q(Q(G*u)+Q(k*I));N[f+56>>2]=Q(E*p)+Q(Q(S*q)+Q(t*D));N[f+52>>2]=Q(C*p)+Q(Q(R*q)+Q(t*B));N[f+96>>2]=Q(Q(Q(q*L)-Q(t*x))-Q(p*y))+Q(Q(A*p)+Q(Q(M*q)+Q(t*z)));b=J[s+4>>2];ua[J[J[b>>2]+8>>2]](b,f+48|0,f+128|0,f+112|0);k=N[e+32>>2];N[f+136>>2]=N[f+136>>2]-k;N[f+120>>2]=k+N[f+120>>2];N[f+128>>2]=N[f+128>>2]-k;N[f+132>>2]=N[f+132>>2]-k;N[f+112>>2]=k+N[f+112>>2];N[f+116>>2]=k+N[f+116>>2];b=J[f+140>>2];J[f+24>>2]=J[f+136>>2];J[f+28>>2]=b;b=J[f+124>>2];J[f+40>>2]=J[f+120>>2];J[f+44>>2]=b;b=J[f+116>>2];J[f+32>>2]=J[f+112>>2];J[f+36>>2]=b;b=J[f+132>>2];J[f+16>>2]=J[f+128>>2];J[f+20>>2]=b;c=0;i=0;h=J[j>>2];if(h){d=J[a+16>>2];k=N[f+40>>2];m=N[f+36>>2];n=N[f+32>>2];o=N[f+24>>2];p=N[f+20>>2];q=N[f+16>>2];e=J[a+12>>2];d:{if((e|0)>=0){break d}if((d|0)<0){b=J[a+20>>2];if(!(b?!b|!K[a+24|0]:1)){J[8457]=J[8457]+1;ua[J[8259]](b)}H[a+24|0]=1;J[a+16>>2]=0;J[a+20>>2]=0;d=0}b=e;g=0-b&3;if(g){while(1){J[J[a+20>>2]+(b<<2)>>2]=0;b=b+1|0;c=c+1|0;if((g|0)!=(c|0)){continue}break}}if(e>>>0>4294967292){break d}while(1){c=b<<2;J[c+J[a+20>>2]>>2]=0;J[(c+J[a+20>>2]|0)+4>>2]=0;J[(c+J[a+20>>2]|0)+8>>2]=0;J[(c+J[a+20>>2]|0)+12>>2]=0;b=b+4|0;if(b){continue}break}}e=0;J[a+12>>2]=0;if((d|0)<=63){J[8456]=J[8456]+1;c=ua[J[8258]](256,16)|0;e=J[a+12>>2];e:{if((e|0)<=0){break e}d=0;b=0;if(e>>>0>=4){j=e&-4;while(1){g=b<<2;J[g+c>>2]=J[g+J[a+20>>2]>>2];r=g|4;J[r+c>>2]=J[r+J[a+20>>2]>>2];r=g|8;J[r+c>>2]=J[r+J[a+20>>2]>>2];g=g|12;J[g+c>>2]=J[g+J[a+20>>2]>>2];b=b+4|0;i=i+4|0;if((j|0)!=(i|0)){continue}break}}g=e&3;if(!g){break e}while(1){j=b<<2;J[j+c>>2]=J[j+J[a+20>>2]>>2];b=b+1|0;d=d+1|0;if((g|0)!=(d|0)){continue}break}}b=J[a+20>>2];if(!(!b|!K[a+24|0])){if(b){J[8457]=J[8457]+1;ua[J[8259]](b)}e=J[a+12>>2]}J[a+20>>2]=c;H[a+24|0]=1;J[a+16>>2]=64;d=64}r=f+144|0;f:{if((d|0)!=(e|0)){break f}j=d<<1;if((j|0)<=(d|0)){e=d;break f}b=0;g:{h:{if(!d){c=0;e=d;break h}J[8456]=J[8456]+1;c=ua[J[8258]](d<<3,16)|0;e=J[a+12>>2];if((e|0)<=0){break g}}if(e-1>>>0>=3){i=e&-4;d=0;while(1){g=b<<2;J[g+c>>2]=J[g+J[a+20>>2]>>2];w=g|4;J[w+c>>2]=J[w+J[a+20>>2]>>2];w=g|8;J[w+c>>2]=J[w+J[a+20>>2]>>2];g=g|12;J[g+c>>2]=J[g+J[a+20>>2]>>2];b=b+4|0;d=d+4|0;if((i|0)!=(d|0)){continue}break}}g=e&3;if(!g){break g}d=0;while(1){i=b<<2;J[i+c>>2]=J[i+J[a+20>>2]>>2];b=b+1|0;d=d+1|0;if((g|0)!=(d|0)){continue}break}}b=J[a+20>>2];if(!(!b|!K[a+24|0])){if(b){J[8457]=J[8457]+1;ua[J[8259]](b)}e=J[a+12>>2]}J[a+20>>2]=c;H[a+24|0]=1;J[a+16>>2]=j}J[J[a+20>>2]+(e<<2)>>2]=h;b=e+1|0;while(1){d=J[a+20>>2];c=b-1|0;j=J[d+(c<<2)>>2];J[a+12>>2]=c;i:{if(!(n>=N[j>>2])){b=c;break i}if(!(q<=N[j+16>>2])){b=c;break i}if(!(m>=N[j+4>>2])){b=c;break i}if(!(p<=N[j+20>>2])){b=c;break i}if(!(k>=N[j+8>>2])){b=c;break i}if(!(o<=N[j+24>>2])){b=c;break i}if(J[j+40>>2]){g=J[a+16>>2];j:{if((g|0)!=(c|0)){break j}g=c?c<<1:1;if((g|0)<(b|0)){g=c;break j}k:{if(!g){d=0;break k}J[8456]=J[8456]+1;d=ua[J[8258]](g<<2,16)|0;c=J[a+12>>2]}l:{if((c|0)<=0){break l}h=0;b=0;if(c>>>0>=4){w=c&-4;e=0;while(1){i=b<<2;J[i+d>>2]=J[i+J[a+20>>2]>>2];l=i|4;J[l+d>>2]=J[l+J[a+20>>2]>>2];l=i|8;J[l+d>>2]=J[l+J[a+20>>2]>>2];i=i|12;J[i+d>>2]=J[i+J[a+20>>2]>>2];b=b+4|0;e=e+4|0;if((w|0)!=(e|0)){continue}break}}e=c&3;if(!e){break l}while(1){i=b<<2;J[i+d>>2]=J[i+J[a+20>>2]>>2];b=b+1|0;h=h+1|0;if((e|0)!=(h|0)){continue}break}}b=J[a+20>>2];if(!(!b|!K[a+24|0])){if(b){J[8457]=J[8457]+1;ua[J[8259]](b)}c=J[a+12>>2]}J[a+20>>2]=d;H[a+24|0]=1;J[a+16>>2]=g}J[(c<<2)+d>>2]=J[j+36>>2];h=c+1|0;J[a+12>>2]=h;m:{if((g|0)!=(h|0)){break m}e=g?g<<1:1;if((e|0)<=(g|0)){h=g;break m}n:{if(!e){c=0;break n}J[8456]=J[8456]+1;c=ua[J[8258]](e<<2,16)|0;g=J[a+12>>2]}h=g;o:{if((g|0)<=0){break o}i=0;b=0;if(h>>>0>=4){w=h&-4;g=0;while(1){d=b<<2;J[d+c>>2]=J[d+J[a+20>>2]>>2];l=d|4;J[l+c>>2]=J[l+J[a+20>>2]>>2];l=d|8;J[l+c>>2]=J[l+J[a+20>>2]>>2];d=d|12;J[d+c>>2]=J[d+J[a+20>>2]>>2];b=b+4|0;g=g+4|0;if((w|0)!=(g|0)){continue}break}}d=h&3;if(!d){break o}while(1){g=b<<2;J[g+c>>2]=J[g+J[a+20>>2]>>2];b=b+1|0;i=i+1|0;if((d|0)!=(i|0)){continue}break}}b=J[a+20>>2];if(!(!b|!K[a+24|0])){if(b){J[8457]=J[8457]+1;ua[J[8259]](b)}h=J[a+12>>2]}J[a+20>>2]=c;H[a+24|0]=1;J[a+16>>2]=e}J[J[a+20>>2]+(h<<2)>>2]=J[j+40>>2];b=h+1|0;J[a+12>>2]=b;break i}ua[J[J[r>>2]+12>>2]](r,j);b=J[a+12>>2]}if((b|0)>0){continue}break}}}j=J[a+52>>2];b=J[a+32>>2];p:{if((b|0)>=0){break p}if(J[a+36>>2]<0){c=J[a+40>>2];if(!(c?!c|!K[a+44|0]:1)){J[8457]=J[8457]+1;ua[J[8259]](c)}H[a+44|0]=1;J[a+36>>2]=0;J[a+40>>2]=0}h=0;g=b;c=0-b&3;if(c){while(1){J[J[a+40>>2]+(g<<2)>>2]=0;g=g+1|0;h=h+1|0;if((c|0)!=(h|0)){continue}break}}if(b>>>0>4294967292){break p}while(1){b=g<<2;J[b+J[a+40>>2]>>2]=0;J[(b+J[a+40>>2]|0)+4>>2]=0;J[(b+J[a+40>>2]|0)+8>>2]=0;J[(b+J[a+40>>2]|0)+12>>2]=0;g=g+4|0;if(g){continue}break}}J[a+32>>2]=0;if((j|0)<=0){break a}e=0;while(1){d=e<<2;q:{if(!J[d+J[a+60>>2]>>2]){break q}b=J[O+32>>2]+P(e,80)|0;g=J[b+64>>2];c=J[T+12>>2];R=N[c+52>>2];S=N[c+56>>2];x=N[b+48>>2];y=N[b+52>>2];z=N[b+56>>2];A=N[b+4>>2];B=N[b+20>>2];C=N[b+36>>2];D=N[b+8>>2];E=N[b+24>>2];F=N[b+40>>2];k=N[c+20>>2];m=N[c+24>>2];G=N[b>>2];I=N[b+16>>2];n=N[c+36>>2];M=N[b+32>>2];o=N[c+40>>2];L=N[c+48>>2];p=N[c+8>>2];q=N[c>>2];t=N[c+4>>2];u=N[c+16>>2];v=N[c+32>>2];h=0;J[f+108>>2]=0;J[f+92>>2]=0;J[f+76>>2]=0;J[f+60>>2]=0;N[f+80>>2]=Q(M*o)+Q(Q(G*v)+Q(n*I));N[f+64>>2]=Q(M*m)+Q(Q(G*u)+Q(k*I));N[f+48>>2]=Q(M*p)+Q(Q(G*q)+Q(t*I));N[f+88>>2]=Q(F*o)+Q(Q(D*v)+Q(n*E));N[f+84>>2]=Q(C*o)+Q(Q(A*v)+Q(n*B));N[f+72>>2]=Q(F*m)+Q(Q(D*u)+Q(k*E));N[f+68>>2]=Q(C*m)+Q(Q(A*u)+Q(k*B));N[f+56>>2]=Q(F*p)+Q(Q(D*q)+Q(t*E));N[f+52>>2]=Q(C*p)+Q(Q(A*q)+Q(t*B));N[f+104>>2]=S+Q(Q(z*o)+Q(Q(x*v)+Q(n*y)));N[f+100>>2]=R+Q(Q(z*m)+Q(Q(x*u)+Q(k*y)));N[f+96>>2]=L+Q(Q(z*p)+Q(Q(x*q)+Q(t*y)));ua[J[J[g>>2]+8>>2]](g,f+48|0,f+16|0,f+128|0);b=J[s+4>>2];ua[J[J[b>>2]+8>>2]](b,J[s+12>>2],f+112|0,f);b=0;r:{if(N[f+16>>2]>N[f>>2]){break r}b=0;if(N[f+128>>2]>2]){break r}b=1}if(!(N[f+20>>2]>N[f+4>>2])&(!(N[f+132>>2]>2])&(N[f+136>>2]>2]|N[f+24>>2]>N[f+8>>2]?h:b))){break q}b=J[d+J[a+60>>2]>>2];ua[J[J[b>>2]>>2]](b)|0;b=J[a+4>>2];ua[J[J[b>>2]+60>>2]](b,J[d+J[a+60>>2]>>2]);J[d+J[a+60>>2]>>2]=0}e=e+1|0;if((j|0)!=(e|0)){continue}break}}sa=f+176|0}function Ii(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;var k=Q(0),l=Q(0),m=0,n=0,o=0,p=Q(0),q=0,r=Q(0),s=Q(0),t=Q(0),u=Q(0),v=Q(0),w=Q(0),x=0,y=0,z=Q(0),A=0,B=0,C=0,D=0,E=Q(0),F=0,G=0,I=0,L=Q(0),O=Q(0),R=Q(0),S=Q(0),T=Q(0),U=Q(0),V=Q(0),W=Q(0),X=0,Z=Q(0);a=sa-80|0;sa=a;k=N[e+52>>2];l=N[f+52>>2];p=N[e+56>>2];s=N[f+56>>2];r=N[e+48>>2];t=N[f+48>>2];J[a+76>>2]=0;N[a+64>>2]=t-r;N[a+72>>2]=s-p;N[a+68>>2]=l-k;o=sa-19040|0;sa=o;q=e;y=a+8|0;e=o+18912|0;Xd(c,q,d,f,y,e,1);b=o+18668|0;J[b>>2]=0;J[b+4>>2]=0;J[o+18660>>2]=0;J[o+18664>>2]=0;J[o+18896>>2]=0;J[o+18900>>2]=0;J[o+18908>>2]=2;J[o+18676>>2]=0;b=a- -64|0;k=N[b>>2];l=N[b+4>>2];p=N[b+8>>2];J[o+32>>2]=0;N[o+28>>2]=-p;N[o+24>>2]=-l;N[o+20>>2]=-k;a:{b:{c:{switch(Wd(o+18532|0,e,o+20|0)-1|0){case 0:J[o+68>>2]=0;J[o+72>>2]=0;J[o+76>>2]=0;J[o+18512>>2]=0;J[o+20>>2]=9;J[o+18516>>2]=0;J[o+18520>>2]=0;J[o+60>>2]=0;J[o+64>>2]=0;e=0;while(1){m=P(255-e|0,56);j=m+(o+20|0)|0;J[j+4204>>2]=A;J[j+4200>>2]=0;j=j+4156|0;if(A){J[A+44>>2]=j}J[o+18524>>2]=j;n=o+4176|0;A=n+P(254-e|0,56)|0;J[A+44>>2]=0;J[A+48>>2]=j;J[(m+n|0)+44>>2]=A;J[o+18524>>2]=A;e=e+2|0;if((e|0)!=256){continue}break};J[o+18528>>2]=256;k=N[b>>2];l=N[b+4>>2];p=N[b+8>>2];A=0;J[o+16>>2]=0;N[o+12>>2]=-p;N[o+8>>2]=-l;N[o+4>>2]=-k;m=o+20|0;C=sa-32|0;sa=C;d:{e:{X=o+18532|0;n=J[X+372>>2];if(M[n+32>>2]<2){break e}if(!Xa(X)){break e}b=J[m+18496>>2];if(b){j=J[m+18508>>2];e=J[m+18500>>2];while(1){x=J[b+48>>2];if(x){J[x+44>>2]=J[b+44>>2]}x=J[b+44>>2];if(x){J[x+48>>2]=J[b+48>>2]}if(J[m+18496>>2]==(b|0)){J[m+18496>>2]=J[b+48>>2]}J[b+44>>2]=0;J[b+48>>2]=J[m+18504>>2];x=J[m+18504>>2];if(x){J[x+44>>2]=b}e=e-1|0;J[m+18504>>2]=b;j=j+1|0;b=J[m+18496>>2];if(b){continue}break}J[m+18508>>2]=j;J[m+18500>>2]=e}J[m+18492>>2]=0;J[m>>2]=0;j=J[n>>2];e=J[n+12>>2];k=N[e+16>>2];s=Q(N[j+16>>2]-k);b=J[n+4>>2];l=N[e+20>>2];r=Q(N[b+20>>2]-l);x=J[n+8>>2];p=N[e+24>>2];t=Q(N[x+24>>2]-p);u=Q(N[j+20>>2]-l);v=Q(N[b+24>>2]-p);w=Q(N[x+16>>2]-k);p=Q(N[j+24>>2]-p);k=Q(N[b+16>>2]-k);l=Q(N[x+20>>2]-l);f:{if(!(Q(Q(Q(Q(s*r)*t)+Q(Q(Q(Q(Q(u*v)*w)+Q(Q(p*k)*l))-Q(Q(v*s)*l))-Q(Q(k*u)*t)))-Q(Q(r*p)*w))>2]=j;J[n>>2]=b;ta=J[n+16>>2];J[n+16>>2]=J[n+20>>2];J[n+20>>2]=ta;e=j}e=rb(m,b,e,x,1);x=rb(m,J[n+4>>2],J[n>>2],J[n+12>>2],1);B=rb(m,J[n+8>>2],J[n+4>>2],J[n+12>>2],1);D=rb(m,J[n>>2],J[n+8>>2],J[n+12>>2],1);if(J[m+18500>>2]!=4){break e}j=J[m+18496>>2];b=J[j+48>>2];if(b){k=N[j+16>>2];k=Q(k*k);while(1){l=N[b+16>>2];l=Q(l*l);n=l>2];if(b){continue}break}}F=J[j+28>>2];G=J[j+24>>2];I=J[j+20>>2];k=N[j+16>>2];v=N[j+12>>2];s=N[j+8>>2];l=N[j+4>>2];p=N[j>>2];J[e+32>>2]=x;H[e+52|0]=0;J[x+32>>2]=e;H[x+52|0]=0;J[e+36>>2]=B;H[e+53|0]=0;J[B+32>>2]=e;H[B+52|0]=1;J[e+40>>2]=D;H[e+54|0]=0;J[D+32>>2]=e;H[D+52|0]=2;J[x+36>>2]=D;H[x+53|0]=2;J[D+40>>2]=x;H[D+54|0]=1;J[x+40>>2]=B;H[x+54|0]=1;J[B+36>>2]=x;H[B+53|0]=2;H[B+54|0]=1;J[B+40>>2]=D;J[D+36>>2]=B;H[D+53|0]=2;J[m>>2]=0;e=0;while(1){g:{h:{n=J[m+18492>>2];if(n>>>0<=127){b=0;J[C+12>>2]=0;J[C+4>>2]=0;J[C+8>>2]=0;J[m+18492>>2]=n+1;e=e+1|0;H[j+55|0]=e;r=N[j+8>>2];t=N[j>>2];u=N[j+4>>2];n=m+(n<<5)|0;J[n+72>>2]=0;E=r;r=Q(Q(1)/Q(Y(Q(Q(r*r)+Q(Q(t*t)+Q(u*u))))));N[n+68>>2]=E*r;N[n- -64>>2]=u*r;x=n+60|0;N[x>>2]=t*r;Ra(C+16|0,X,x);B=J[C+28>>2];J[n+84>>2]=J[C+24>>2];J[n+88>>2]=B;B=J[C+20>>2];J[n+76>>2]=J[C+16>>2];J[n+80>>2]=B;if(!(Q(Q(Q(N[j+8>>2]*N[n+84>>2])+Q(Q(N[j>>2]*N[n+76>>2])+Q(N[j+4>>2]*N[n+80>>2])))-N[j+16>>2])>Q(9999999747378752e-20))){J[m>>2]=7;break g}while(1){n=uc(m,e,x,J[((b<<2)+j|0)+32>>2],K[(b+j|0)+52|0],C+4|0);if(!n){break h}B=b>>>0<2;b=b+1|0;if(B){continue}break}break h}J[m>>2]=6;break g}if(!(n&M[C+12>>2]>2)){J[m>>2]=4;break g}b=J[C+4>>2];n=J[C+8>>2];J[b+36>>2]=n;H[b+53|0]=2;J[n+40>>2]=b;H[n+54|0]=1;b=J[j+48>>2];if(b){J[b+44>>2]=J[j+44>>2]}b=J[j+44>>2];if(b){J[b+48>>2]=J[j+48>>2]}if(J[m+18496>>2]==(j|0)){J[m+18496>>2]=J[j+48>>2]}J[m+18500>>2]=J[m+18500>>2]-1;J[j+44>>2]=0;J[j+48>>2]=J[m+18504>>2];b=J[m+18504>>2];if(b){J[b+44>>2]=j}J[m+18504>>2]=j;J[m+18508>>2]=J[m+18508>>2]+1;j=J[m+18496>>2];b=J[j+48>>2];if(b){k=N[j+16>>2];k=Q(k*k);while(1){l=N[b+16>>2];l=Q(l*l);n=l>2];if(b){continue}break}}F=J[j+28>>2];G=J[j+24>>2];I=J[j+20>>2];k=N[j+16>>2];v=N[j+12>>2];s=N[j+8>>2];l=N[j+4>>2];p=N[j>>2];if((e|0)!=255){continue}}break}N[m+56>>2]=k;N[m+40>>2]=p;J[m+4>>2]=I;N[m+52>>2]=v;N[m+48>>2]=s;N[m+44>>2]=l;J[m+36>>2]=3;J[m+12>>2]=F;J[m+8>>2]=G;p=Q(p*k);r=Q(N[G+16>>2]-p);l=Q(l*k);t=Q(N[F+20>>2]-l);u=Q(N[F+16>>2]-p);v=Q(N[G+20>>2]-l);w=Q(Q(r*t)-Q(u*v));k=Q(s*k);s=Q(N[F+24>>2]-k);E=t;t=Q(N[G+24>>2]-k);v=Q(Q(v*s)-Q(E*t));s=Q(Q(t*u)-Q(s*r));s=Q(Y(Q(Q(w*w)+Q(Q(v*v)+Q(s*s)))));N[m+20>>2]=s;r=Q(N[F+16>>2]-p);t=Q(N[I+20>>2]-l);u=Q(N[I+16>>2]-p);v=Q(N[F+20>>2]-l);w=Q(Q(r*t)-Q(u*v));z=Q(w*w);E=v;v=Q(N[I+24>>2]-k);w=t;t=Q(N[F+24>>2]-k);w=Q(Q(E*v)-Q(w*t));r=Q(Q(t*u)-Q(v*r));r=Q(Y(Q(z+Q(Q(w*w)+Q(r*r)))));N[m+24>>2]=r;t=Q(N[I+16>>2]-p);u=Q(N[G+20>>2]-l);p=Q(N[G+16>>2]-p);l=Q(N[I+20>>2]-l);v=Q(Q(t*u)-Q(p*l));E=l;l=Q(N[G+24>>2]-k);k=Q(N[I+24>>2]-k);u=Q(Q(E*l)-Q(u*k));k=Q(Q(k*p)-Q(l*t));l=Q(Y(Q(Q(v*v)+Q(Q(u*u)+Q(k*k)))));k=Q(l+Q(s+r));N[m+28>>2]=l/k;N[m+24>>2]=r/k;N[m+20>>2]=s/k;b=J[m>>2];break d}b=8;J[m>>2]=8;k=Q(0);p=Q(1);l=Q(0);s=N[o+12>>2];r=N[o+4>>2];t=N[o+8>>2];u=Q(Y(Q(Q(s*s)+Q(Q(r*r)+Q(t*t)))));if(u>Q(0)){p=Q(Q(1)/u);l=Q(p*Q(-s));k=Q(p*Q(-t));p=Q(p*Q(-r))}J[m+52>>2]=0;J[m+56>>2]=0;N[m+48>>2]=l;N[m+44>>2]=k;N[m+40>>2]=p;J[m+36>>2]=1;e=J[n>>2];J[m+20>>2]=1065353216;J[m+4>>2]=e}sa=C+32|0;if((b|0)==9){break b}i:{if(!J[o+56>>2]){k=Q(0);l=Q(0);p=Q(0);break i}j=o+24|0;p=Q(0);l=Q(0);k=Q(0);while(1){b=J[o+19032>>2];m=J[o+19036>>2];e=J[o+18912>>2]+(m>>1)|0;n=A<<2;ua[(m&1?J[b+J[e>>2]>>2]:b)|0](o+4|0,e,J[n+j>>2]);s=N[(o+n|0)+40>>2];p=Q(p+Q(s*N[o+12>>2]));l=Q(l+Q(s*N[o+8>>2]));k=Q(k+Q(N[o+4>>2]*s));A=A+1|0;if(A>>>0>2]){continue}break}}A=1;J[y>>2]=1;s=N[q+52>>2];r=N[q+24>>2];t=N[q+20>>2];u=N[q+56>>2];v=N[q+40>>2];w=N[q+36>>2];z=N[q+48>>2];L=N[q+8>>2];O=N[q>>2];R=N[q+4>>2];S=N[q+16>>2];T=N[q+32>>2];J[y+16>>2]=0;N[y+12>>2]=u+Q(Q(p*v)+Q(Q(k*T)+Q(l*w)));N[y+8>>2]=s+Q(Q(p*r)+Q(Q(k*S)+Q(l*t)));N[y+4>>2]=z+Q(Q(p*L)+Q(Q(k*O)+Q(l*R)));v=N[q+52>>2];w=N[q+20>>2];z=N[q+24>>2];L=N[q+56>>2];O=N[q+36>>2];R=N[q+40>>2];S=N[q+48>>2];T=N[q+8>>2];U=N[q>>2];V=N[q+4>>2];W=N[q+16>>2];Z=N[q+32>>2];r=N[o- -64>>2];t=N[o+68>>2];u=N[o+60>>2];s=N[o+76>>2];J[y+48>>2]=0;J[y+32>>2]=0;N[y+52>>2]=-s;N[y+44>>2]=-t;N[y+40>>2]=-r;N[y+36>>2]=-u;p=Q(p-Q(s*t));k=Q(k-Q(u*s));l=Q(l-Q(s*r));N[y+28>>2]=L+Q(Q(R*p)+Q(Q(Z*k)+Q(O*l)));N[y+24>>2]=v+Q(Q(p*z)+Q(Q(k*W)+Q(l*w)));N[y+20>>2]=S+Q(Q(p*T)+Q(Q(k*U)+Q(l*V)));break a;case 1:break c;default:break a}}J[y>>2]=2;break a}J[y>>2]=3}sa=o+19040|0;j:{if(!A){k=Q(0);l=Q(0);p=Q(0);s=Q(0);r=Q(0);t=Q(0);e=sa-544|0;sa=e;b=e+384|0;Xd(c,q,d,f,a+8|0,b,0);J[e+140>>2]=0;J[e+144>>2]=0;J[e+132>>2]=0;J[e+136>>2]=0;J[e+368>>2]=0;J[e+372>>2]=0;J[e+380>>2]=2;J[e+148>>2]=0;k:{l:{c=Wd(e+4|0,b,a- -64|0);if(!c){d=J[e+376>>2];if(!J[d+32>>2]){break l}f=0;while(1){j=f<<2;m=d+j|0;u=N[m+16>>2];b=J[e+504>>2];n=e+528|0;o=J[e+508>>2];d=J[e+384>>2]+(o>>1)|0;ua[(o&1?J[b+J[d>>2]>>2]:b)|0](n,d,J[m>>2]);b=J[j+J[e+376>>2]>>2];v=Q(-N[b+8>>2]);w=Q(-N[b+4>>2]);z=Q(-N[b>>2]);b=J[e+504>>2];d=J[e+508>>2];j=J[e+388>>2]+(d>>1)|0;b=d&1?J[b+J[j>>2]>>2]:b;k=Q(k+Q(u*N[e+536>>2]));p=Q(p+Q(u*N[e+532>>2]));l=Q(l+Q(u*N[e+528>>2]));J[e+524>>2]=0;N[e+520>>2]=Q(N[e+432>>2]*v)+Q(Q(N[e+424>>2]*z)+Q(N[e+428>>2]*w));N[e+516>>2]=Q(N[e+416>>2]*v)+Q(Q(N[e+408>>2]*z)+Q(N[e+412>>2]*w));N[e+512>>2]=Q(N[e+400>>2]*v)+Q(Q(N[e+392>>2]*z)+Q(N[e+396>>2]*w));ua[b|0](n,j,e+512|0);v=N[e+536>>2];w=N[e+528>>2];z=N[e+532>>2];t=Q(t+Q(u*Q(Q(Q(v*N[e+480>>2])+Q(Q(w*N[e+472>>2])+Q(z*N[e+476>>2])))+N[e+496>>2])));r=Q(r+Q(u*Q(Q(Q(v*N[e+464>>2])+Q(Q(w*N[e+456>>2])+Q(z*N[e+460>>2])))+N[e+492>>2])));s=Q(s+Q(u*Q(Q(Q(v*N[e+448>>2])+Q(Q(w*N[e+440>>2])+Q(z*N[e+444>>2])))+N[e+488>>2])));f=f+1|0;d=J[e+376>>2];if(f>>>0>2]){continue}break}break l}J[a+8>>2]=(c|0)==1?1:2;break k}u=N[q+52>>2];v=N[q+24>>2];w=N[q+20>>2];z=N[q+56>>2];L=N[q+40>>2];O=N[q+36>>2];R=N[q+16>>2];S=N[q+32>>2];T=N[q+48>>2];U=N[q+8>>2];V=N[q>>2];W=N[q+4>>2];J[a+24>>2]=0;N[a+12>>2]=T+Q(Q(k*U)+Q(Q(l*V)+Q(p*W)));N[a+20>>2]=z+Q(Q(k*L)+Q(Q(l*S)+Q(p*O)));N[a+16>>2]=u+Q(Q(k*v)+Q(Q(l*R)+Q(p*w)));v=N[q+52>>2];w=N[q+24>>2];z=N[q+20>>2];L=N[q+56>>2];O=N[q+40>>2];R=N[q+36>>2];S=N[q+48>>2];T=N[q+8>>2];U=N[q>>2];V=N[q+4>>2];W=N[q+16>>2];Z=N[q+32>>2];k=Q(k-t);l=Q(l-s);p=Q(p-r);u=Q(Y(Q(Q(k*k)+Q(Q(l*l)+Q(p*p)))));N[a+60>>2]=u;J[a+56>>2]=0;J[a+40>>2]=0;E=k;k=u>Q(9999999747378752e-20)?Q(Q(1)/u):Q(1);N[a+52>>2]=E*k;N[a+48>>2]=p*k;N[a+44>>2]=l*k;N[a+36>>2]=L+Q(Q(t*O)+Q(Q(s*Z)+Q(r*R)));N[a+32>>2]=v+Q(Q(t*w)+Q(Q(s*W)+Q(r*z)));N[a+28>>2]=S+Q(Q(t*T)+Q(Q(s*U)+Q(r*V)))}sa=e+544|0;if(c){break j}}b=J[a+16>>2];J[h>>2]=J[a+12>>2];J[h+4>>2]=b;b=J[a+24>>2];J[h+8>>2]=J[a+20>>2];J[h+12>>2]=b;b=J[a+40>>2];J[i+8>>2]=J[a+36>>2];J[i+12>>2]=b;b=J[a+32>>2];J[i>>2]=J[a+28>>2];J[i+4>>2]=b;b=J[a+56>>2];J[g+8>>2]=J[a+52>>2];J[g+12>>2]=b;b=J[a+48>>2];J[g>>2]=J[a+44>>2];J[g+4>>2]=b}sa=a+80|0;return A|0}function cm(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=Q(0),n=Q(0),o=Q(0),p=Q(0),q=0,r=0,s=Q(0),t=Q(0),u=Q(0),v=0,w=Q(0),x=Q(0),y=Q(0),z=Q(0),A=0,B=Q(0),C=Q(0),D=0,E=0,F=Q(0),G=Q(0),I=Q(0),L=0,M=Q(0),O=Q(0),S=Q(0),T=Q(0),U=Q(0),V=Q(0),W=Q(0),X=Q(0),Y=Q(0),Z=Q(0),_=0,$=0,aa=Q(0),ba=0,ca=Q(0),da=0,ea=0,fa=0,ga=Q(0),ha=Q(0),ia=Q(0),ja=Q(0);f=sa-3584|0;sa=f;a:{b:{ea=J[b+4>>2];q=J[ea+72>>2];if(q){fa=J[c+4>>2];j=J[fa+72>>2];if(j){break b}}Se(a,b,c,d,e);break a}if(!(J[ea+76>>2]==J[a+108>>2]&J[fa+76>>2]==J[a+112>>2])){g=J[a+84>>2];k=J[g+8>>2];if((k|0)>0){while(1){E=J[(J[g+16>>2]+P(h,12)|0)+8>>2];if(E){ua[J[J[E>>2]>>2]](E)|0;i=J[a+4>>2];ua[J[J[i>>2]+60>>2]](i,E)}h=h+1|0;if((k|0)!=(h|0)){continue}break}g=J[a+84>>2]}Le(g);J[a+108>>2]=J[ea+76>>2];J[a+112>>2]=J[fa+76>>2]}J[f+88>>2]=0;H[f+92|0]=1;h=Lb(f+112|0);Lb(h+868|0);Lb(h+1736|0);Lb(h+2604|0);g=J[f+88>>2];if(!(g?!g|!K[f+92|0]:1)){J[8457]=J[8457]+1;ua[J[8259]](g)}J[f+88>>2]=h;J[f+80>>2]=0;J[f+84>>2]=4;H[f+92|0]=0;E=J[a+84>>2];v=J[E+8>>2];c:{if((v|0)<=0){break c}while(1){g=J[(J[E+16>>2]+P(L,12)|0)+8>>2];if(g){ua[J[J[g>>2]+16>>2]](g,f+76|0);h=0;g=J[f+80>>2];if((g|0)>0){while(1){l=J[J[f+88>>2]+(h<<2)>>2];if(J[l+844>>2]){J[e+4>>2]=l;g=J[l+836>>2];i=J[J[e+8>>2]+8>>2];k=(g|0)==(i|0);$=g;g=J[J[e+12>>2]+8>>2];Ua(l,(k?$:g)+4|0,(k?g:i)+4|0);J[e+4>>2]=0;g=J[f+80>>2]}h=h+1|0;if((h|0)<(g|0)){continue}break}}d:{if((g|0)>=0){break d}if(J[f+84>>2]<0){h=J[f+88>>2];if(!(h?!h|!K[f+92|0]:1)){J[8457]=J[8457]+1;ua[J[8259]](h)}H[f+92|0]=1;J[f+84>>2]=0;J[f+88>>2]=0}v=0;h=g;i=0-g&3;if(i){while(1){J[J[f+88>>2]+(h<<2)>>2]=0;h=h+1|0;v=v+1|0;if((i|0)!=(v|0)){continue}break}}if(g>>>0>4294967292){break d}while(1){g=h<<2;J[g+J[f+88>>2]>>2]=0;J[(g+J[f+88>>2]|0)+4>>2]=0;J[(g+J[f+88>>2]|0)+8>>2]=0;J[(g+J[f+88>>2]|0)+12>>2]=0;h=h+4|0;if(h){continue}break}}J[f+80>>2]=0;v=J[E+8>>2]}L=L+1|0;if((L|0)<(v|0)){continue}break}g=J[f+88>>2];if(!g|!K[f+92|0]){break c}if(g){J[8457]=J[8457]+1;ua[J[8259]](g)}}h=J[a+4>>2];g=J[a+84>>2];J[f+108>>2]=J[a+72>>2];J[f+104>>2]=g;J[f+96>>2]=d;J[f+92>>2]=h;J[f+80>>2]=0;J[f+76>>2]=16420;J[f+100>>2]=e;J[f+88>>2]=c;J[f+84>>2]=b;g=J[q>>2];e:{if(!g){break e}d=J[j>>2];if(!d){break e}i=J[b+12>>2];w=N[i+8>>2];m=Q(-N[i+48>>2]);u=N[i+24>>2];o=N[i+52>>2];x=N[i+40>>2];s=N[i+56>>2];h=J[c+12>>2];t=N[h+56>>2];p=N[h+48>>2];n=N[h+52>>2];ia=Q(Q(Q(Q(w*m)-Q(u*o))-Q(x*s))+Q(Q(t*x)+Q(Q(p*w)+Q(u*n))));y=N[i+4>>2];B=N[i+20>>2];z=N[i+36>>2];ja=Q(Q(Q(Q(y*m)-Q(B*o))-Q(z*s))+Q(Q(t*z)+Q(Q(p*y)+Q(B*n))));M=N[h+40>>2];F=N[h+24>>2];O=N[h+8>>2];G=N[h+36>>2];S=N[h+20>>2];I=N[h+4>>2];Z=N[i>>2];ca=Q(Z*m);m=N[i+16>>2];ca=Q(ca-Q(m*o));o=N[i+32>>2];ca=Q(Q(ca-Q(o*s))+Q(Q(t*o)+Q(Q(p*Z)+Q(m*n))));t=N[h+16>>2];p=N[h>>2];n=N[h+32>>2];aa=N[e+32>>2];J[f+116>>2]=d;J[f+112>>2]=g;C=Q(Q(M*x)+Q(Q(O*w)+Q(u*F)));W=Q(R(C));T=Q(Q(G*x)+Q(Q(I*w)+Q(u*S)));X=Q(R(T));U=Q(Q(n*x)+Q(Q(p*w)+Q(u*t)));Y=Q(R(U));V=Q(Q(M*z)+Q(Q(O*y)+Q(B*F)));w=Q(R(V));u=Q(Q(G*z)+Q(Q(I*y)+Q(B*S)));x=Q(R(u));y=Q(Q(n*z)+Q(Q(p*y)+Q(B*t)));B=Q(R(y));z=Q(Q(M*o)+Q(Q(O*Z)+Q(m*F)));M=Q(R(z));F=Q(Q(G*o)+Q(Q(I*Z)+Q(m*S)));O=Q(R(F));G=Q(Q(n*o)+Q(Q(p*Z)+Q(m*t)));S=Q(R(G));L=124;E=0;g=f+112|0;k=128;d=128;j=1;while(1){f:{g:{h:{q=j-1|0;$=q<<3;h=$+g|0;D=J[h>>2];A=J[h+4>>2];I=N[A+24>>2];m=N[A+8>>2];ga=Q(Q(Q(I-m)*Q(.5))+Q(0));o=N[A+16>>2];s=N[A>>2];ha=Q(Q(Q(o-s)*Q(.5))+Q(0));t=N[A+20>>2];n=N[A+4>>2];Z=Q(Q(Q(t-n)*Q(.5))+Q(0));p=Q(Q(ga*M)+Q(Q(ha*S)+Q(O*Z)));m=Q(Q(I+m)*Q(.5));s=Q(Q(o+s)*Q(.5));t=Q(Q(t+n)*Q(.5));n=Q(ca+Q(Q(m*z)+Q(Q(s*G)+Q(F*t))));i:{if(!(N[D>>2]<=Q(aa+Q(p+n)))|!(N[D+16>>2]>=Q(Q(n-p)-aa))){break i}p=Q(Q(ga*w)+Q(Q(ha*B)+Q(x*Z)));n=Q(ja+Q(Q(m*V)+Q(Q(s*y)+Q(u*t))));if(!(N[D+4>>2]<=Q(aa+Q(p+n)))|!(N[D+20>>2]>=Q(Q(n-p)-aa))){break i}p=Q(Q(ga*W)+Q(Q(ha*Y)+Q(X*Z)));n=Q(ia+Q(Q(m*C)+Q(Q(s*U)+Q(T*t))));if(!(N[D+8>>2]<=Q(aa+Q(p+n)))|!(N[D+24>>2]>=Q(Q(n-p)-aa))){break i}j:{if((q|0)<=(L|0)){h=k;i=g;break j}h=k<<1;k:{if((k|0)>=(h|0)){i=g;break k}if((d|0)>=(h|0)){i=g;break k}l:{if(!k){i=0;break l}J[8456]=J[8456]+1;i=ua[J[8258]](k<<4,16)|0;if((k|0)<=0){break l}v=0;L=0;if(k>>>0>=4){ba=k&-4;_=0;while(1){da=L<<3;r=da+i|0;l=g+da|0;d=J[l+4>>2];J[r>>2]=J[l>>2];J[r+4>>2]=d;d=da|8;r=d+i|0;l=d+g|0;d=J[l+4>>2];J[r>>2]=J[l>>2];J[r+4>>2]=d;d=da|16;r=d+i|0;l=d+g|0;d=J[l+4>>2];J[r>>2]=J[l>>2];J[r+4>>2]=d;d=da|24;r=d+i|0;l=d+g|0;d=J[l+4>>2];J[r>>2]=J[l>>2];J[r+4>>2]=d;L=L+4|0;_=_+4|0;if((ba|0)!=(_|0)){continue}break}}r=k&3;if(!r){break l}while(1){d=L<<3;l=d+i|0;k=d+g|0;d=J[k+4>>2];J[l>>2]=J[k>>2];J[l+4>>2]=d;L=L+1|0;v=v+1|0;if((r|0)!=(v|0)){continue}break}}d=E;E=1;if(g?d:0){J[8457]=J[8457]+1;ua[J[8259]](g)}d=h}L=h-4|0}g=J[A+40>>2];if(J[D+40>>2]){k=J[D+36>>2];if(g){g=i+$|0;J[g+4>>2]=J[A+36>>2];J[g>>2]=k;g=J[D+40>>2];k=(j<<3)+i|0;J[k+4>>2]=J[A+36>>2];J[k>>2]=g;g=J[D+36>>2];J[k+12>>2]=J[A+40>>2];J[k+8>>2]=g;g=J[D+40>>2];J[k+20>>2]=J[A+40>>2];J[k+16>>2]=g;j=j+3|0;break g}g=i+$|0;J[g+4>>2]=A;J[g>>2]=k;k=J[D+40>>2];g=(j<<3)+i|0;J[g+4>>2]=A;J[g>>2]=k;break h}if(g){g=i+$|0;J[g+4>>2]=J[A+36>>2];J[g>>2]=D;g=(j<<3)+i|0;J[g+4>>2]=J[A+40>>2];J[g>>2]=D;break h}ua[J[J[f+76>>2]+8>>2]](f+76|0,D,A);k=h;g=i}j=q;break f}j=j+1|0}k=h;g=i}if(j){continue}break}if(!g|!E){break e}if(g){J[8457]=J[8457]+1;ua[J[8259]](g)}}_=J[a+84>>2];if(J[_+8>>2]>0){g=0;while(1){i=P(g,12);d=i+J[_+16>>2]|0;k=J[d+8>>2];m:{if(!k){break m}j=J[ea+32>>2]+P(J[d>>2],80)|0;h=J[j+64>>2];d=J[b+12>>2];t=N[d+52>>2];p=N[d+56>>2];y=N[j+48>>2];B=N[j+52>>2];z=N[j+56>>2];M=N[j+4>>2];F=N[j+20>>2];O=N[j+36>>2];G=N[j+8>>2];S=N[j+24>>2];I=N[j+40>>2];W=N[d+20>>2];T=N[d+24>>2];m=N[j>>2];X=N[d+36>>2];o=N[j+16>>2];U=N[d+40>>2];s=N[j+32>>2];n=N[d+48>>2];Y=N[d+8>>2];V=N[d>>2];w=N[d+4>>2];u=N[d+16>>2];x=N[d+32>>2];J[f+172>>2]=0;J[f+156>>2]=0;J[f+140>>2]=0;J[f+124>>2]=0;N[f+144>>2]=Q(s*U)+Q(Q(m*x)+Q(X*o));N[f+128>>2]=Q(s*T)+Q(Q(m*u)+Q(W*o));N[f+112>>2]=Q(s*Y)+Q(Q(m*V)+Q(w*o));N[f+152>>2]=Q(I*U)+Q(Q(G*x)+Q(X*S));N[f+148>>2]=Q(O*U)+Q(Q(M*x)+Q(X*F));N[f+136>>2]=Q(I*T)+Q(Q(G*u)+Q(W*S));N[f+132>>2]=Q(O*T)+Q(Q(M*u)+Q(W*F));N[f+120>>2]=Q(I*Y)+Q(Q(G*V)+Q(w*S));N[f+116>>2]=Q(O*Y)+Q(Q(M*V)+Q(w*F));N[f+168>>2]=p+Q(Q(z*U)+Q(Q(y*x)+Q(X*B)));N[f+164>>2]=t+Q(Q(z*T)+Q(Q(y*u)+Q(W*B)));N[f+160>>2]=n+Q(Q(z*Y)+Q(Q(y*V)+Q(w*B)));d=f+112|0;ua[J[J[h>>2]+8>>2]](h,d,f+60|0,f+44|0);C=N[e+32>>2];N[f+60>>2]=N[f+60>>2]-C;N[f+64>>2]=N[f+64>>2]-C;N[f+68>>2]=N[f+68>>2]-C;N[f+44>>2]=C+N[f+44>>2];N[f+48>>2]=C+N[f+48>>2];N[f+52>>2]=C+N[f+52>>2];q=J[fa+32>>2]+P(J[(i+J[_+16>>2]|0)+4>>2],80)|0;h=J[q+64>>2];j=J[c+12>>2];t=N[j+52>>2];p=N[j+56>>2];y=N[q+48>>2];B=N[q+52>>2];z=N[q+56>>2];M=N[q+4>>2];F=N[q+20>>2];O=N[q+36>>2];G=N[q+8>>2];S=N[q+24>>2];I=N[q+40>>2];W=N[j+20>>2];T=N[j+24>>2];m=N[q>>2];X=N[j+36>>2];o=N[q+16>>2];U=N[j+40>>2];s=N[q+32>>2];n=N[j+48>>2];Y=N[j+8>>2];V=N[j>>2];w=N[j+4>>2];u=N[j+16>>2];x=N[j+32>>2];J[f+172>>2]=0;J[f+156>>2]=0;J[f+140>>2]=0;J[f+124>>2]=0;N[f+144>>2]=Q(s*U)+Q(Q(m*x)+Q(X*o));N[f+128>>2]=Q(s*T)+Q(Q(m*u)+Q(W*o));N[f+112>>2]=Q(s*Y)+Q(Q(m*V)+Q(w*o));N[f+152>>2]=Q(I*U)+Q(Q(G*x)+Q(X*S));N[f+148>>2]=Q(O*U)+Q(Q(M*x)+Q(X*F));N[f+136>>2]=Q(I*T)+Q(Q(G*u)+Q(W*S));N[f+132>>2]=Q(O*T)+Q(Q(M*u)+Q(W*F));N[f+120>>2]=Q(I*Y)+Q(Q(G*V)+Q(w*S));N[f+116>>2]=Q(O*Y)+Q(Q(M*V)+Q(w*F));N[f+168>>2]=p+Q(Q(z*U)+Q(Q(y*x)+Q(X*B)));N[f+164>>2]=t+Q(Q(z*T)+Q(Q(y*u)+Q(W*B)));N[f+160>>2]=n+Q(Q(z*Y)+Q(Q(y*V)+Q(w*B)));ua[J[J[h>>2]+8>>2]](h,d,f+28|0,f+12|0);m=Q(N[f+28>>2]-C);N[f+28>>2]=m;o=Q(N[f+32>>2]-C);N[f+32>>2]=o;s=Q(N[f+36>>2]-C);N[f+36>>2]=s;t=Q(C+N[f+12>>2]);N[f+12>>2]=t;p=Q(C+N[f+20>>2]);N[f+20>>2]=p;n=Q(C+N[f+16>>2]);N[f+16>>2]=n;n:{if(n>2]|o>N[f+48>>2]|(p>2]|s>N[f+52>>2])){break n}if(t>2]){break n}if(!(m>N[f+44>>2])){break m}}ua[J[J[k>>2]>>2]](k)|0;d=J[a+4>>2];ua[J[J[d>>2]+60>>2]](d,k);d=i+J[_+16>>2]|0;E=J[d+4>>2];q=J[d>>2];i=J[a+92>>2];o:{if((i|0)!=J[a+96>>2]){break o}ba=i?i<<1:1;if((ba|0)<=(i|0)){break o}p:{if(!ba){v=0;break p}J[8456]=J[8456]+1;v=ua[J[8258]](P(ba,12),16)|0;i=J[a+92>>2]}q:{if((i|0)<=0){break q}j=i&1;h=0;if((i|0)!=1){k=i&-2;i=0;while(1){d=P(h,12);r=d+v|0;l=d+J[a+100>>2]|0;d=J[l+4>>2];J[r>>2]=J[l>>2];J[r+4>>2]=d;J[r+8>>2]=J[l+8>>2];d=P(h|1,12);r=d+v|0;l=d+J[a+100>>2]|0;d=J[l+4>>2];J[r>>2]=J[l>>2];J[r+4>>2]=d;J[r+8>>2]=J[l+8>>2];h=h+2|0;i=i+2|0;if((k|0)!=(i|0)){continue}break}}if(!j){break q}d=P(h,12);i=d+v|0;h=d+J[a+100>>2]|0;d=J[h+4>>2];J[i>>2]=J[h>>2];J[i+4>>2]=d;J[i+8>>2]=J[h+8>>2]}d=J[a+100>>2];if(!(d?!d|!K[a+104|0]:1)){J[8457]=J[8457]+1;ua[J[8259]](d)}J[a+100>>2]=v;H[a+104|0]=1;J[a+96>>2]=ba;i=J[a+92>>2]}d=J[a+100>>2]+P(i,12)|0;J[d+8>>2]=0;J[d+4>>2]=E;J[d>>2]=q;J[a+92>>2]=J[a+92>>2]+1}g=g+1|0;if((g|0)>2]){continue}break}}if(J[a+92>>2]>0){h=0;while(1){c=J[a+84>>2];b=J[a+100>>2]+P(h,12)|0;ua[J[J[c>>2]+8>>2]](c,J[b>>2],J[b+4>>2])|0;h=h+1|0;if((h|0)>2]){continue}break}}b=J[a+100>>2];if(!(b?!b|!K[a+104|0]:1)){J[8457]=J[8457]+1;ua[J[8259]](b)}J[a+100>>2]=0;H[a+104|0]=1;J[a+92>>2]=0;J[a+96>>2]=0}sa=f+3584|0}function If(){var a=0;fa(31140,31152,31168,0,11001,7,11004,0,11004,0,2234,11006,6);a=La(8);J[a>>2]=100;J[a+4>>2]=1;da(31132,4404,2,31184,11025,8,a|0,0,0);a=La(8);J[a>>2]=104;J[a+4>>2]=1;da(31132,4415,2,31184,11025,8,a|0,0,0);a=La(8);J[a>>2]=108;J[a+4>>2]=1;da(31140,7459,5,31216,11029,9,a|0,0,0);fa(31276,31288,31304,31140,11001,13,11001,12,11001,11,5292,11006,10);a=La(4);J[a>>2]=14;da(31276,5645,2,31320,11025,15,a|0,0,0);ea(31140,2650,2,31328,11196,17,16,0);ea(31140,7753,3,31616,11263,19,18,0);fa(31644,31656,31672,0,11001,21,11004,0,11004,0,2346,11006,20);a=La(8);J[a>>2]=16;J[a+4>>2]=1;da(31644,2251,4,31696,11371,22,a|0,0,0);fa(31744,31756,31772,31644,11001,26,11001,25,11001,24,5304,11006,23);a=La(4);J[a>>2]=27;da(31744,5645,2,31788,11025,28,a|0,0,0);ea(31644,2650,2,31796,11196,30,29,0);ea(31644,7753,3,31616,11263,19,31,0);fa(31872,31884,31900,0,11001,33,11004,0,11004,0,7053,11006,32);a=La(8);J[a>>2]=16;J[a+4>>2]=1;da(31872,4677,3,31916,11587,34,a|0,0,0);fa(31960,31972,31988,31872,11001,38,11001,37,11001,36,5331,11006,35);a=La(4);J[a>>2]=39;da(31960,5645,2,32004,11025,40,a|0,0,0);ea(31872,2650,2,32012,11196,42,41,0);ea(31872,7753,3,31616,11263,19,43,0);Z(8259,2,32084,11196,45,44,0);Z(7549,2,32092,11025,47,46,0);Z(10143,2,32100,11709,49,48,0);Z(10132,3,32108,11713,51,50,0);Z(6981,3,32120,11587,53,52,0);Z(2225,4,32144,11718,55,54,0);Z(1593,2,32100,11709,49,56,0);Z(1469,2,32100,11709,49,57,0);Z(1031,2,32100,11709,49,58,0);Z(3127,5,32160,11724,60,59,0);Z(1725,5,32192,11731,62,61,0);Z(1586,2,32100,11709,49,63,0);Z(1462,2,32100,11709,49,64,0);Z(1024,2,32100,11709,49,65,0);Z(2244,2,32100,11709,49,66,0);Z(3103,6,32224,11738,68,67,0);Z(1854,1,32248,11001,70,69,0);Z(1090,2,32092,11025,47,71,0);Z(5750,3,32120,11587,53,72,0);Z(6011,2,32084,11196,45,73,0);Z(5772,3,32252,11263,75,74,0);Z(6031,3,32252,11263,75,76,0);Z(6154,3,32120,11587,53,77,0);Z(6062,3,32120,11587,53,78,0);Z(5364,4,32272,11371,80,79,0);Z(6832,2,32084,11196,45,81,0);Z(3482,3,32252,11263,75,82,0);Z(3495,3,32252,11263,75,83,0);Z(1433,1,32248,11001,70,84,0);Z(6878,2,32100,11709,49,85,0);Z(6847,3,32108,11713,51,86,0);Z(8215,3,32108,11713,51,87,0);Z(1614,5,32288,11746,89,88,0);Z(4426,4,32272,11371,80,90,0);Z(2694,7,32320,11753,92,91,0);Z(4798,3,32348,11587,94,93,0);Z(1345,3,32348,11587,94,95,0);Z(7182,3,32108,11713,51,96,0);Z(3136,4,32368,11762,98,97,0);Z(1159,3,32108,11713,51,99,0);Z(1654,5,32288,11746,89,100,0);Z(9347,3,32120,11587,53,101,0);Z(9219,3,32120,11587,53,102,0);Z(1634,5,32288,11746,89,103,0);Z(4452,4,32272,11371,80,104,0);Z(1672,6,32384,11768,106,105,0);Z(4478,4,32272,11371,80,107,0);Z(2719,5,32416,11776,109,108,0);Z(6627,4,32448,11371,111,110,0);Z(3753,4,32464,11783,113,112,0);Z(6710,4,32464,11783,113,114,0);Z(7668,4,32464,11783,113,115,0);Z(2444,4,32464,11783,113,116,0);Z(4826,4,32448,11371,111,117,0);Z(7622,4,32464,11783,113,118,0);Z(1112,4,32464,11783,113,119,0);Z(5511,4,32448,11371,111,120,0);Z(3167,4,32464,11783,113,121,0);Z(7707,2,32480,11196,123,122,0);Z(6801,3,32120,11587,53,124,0);Z(9112,4,32496,11789,126,125,0);Z(8432,5,32512,11029,128,127,0);Z(5986,3,32108,11713,51,129,0);Z(6370,3,32120,11587,53,130,0);Z(5262,3,32120,11587,53,131,0);Z(8414,1,32248,11001,70,132,0);Z(4143,2,32084,11196,45,133,0);Z(1919,2,32084,11196,45,134,0);Z(3662,3,32120,11587,53,135,0);Z(2043,2,32532,11795,137,136,0);Z(3615,3,32108,11713,51,138,0);Z(1949,2,32084,11196,45,139,0);Z(5424,5,32544,11799,141,140,0);Z(2094,3,32564,11806,143,142,0);Z(5449,5,32544,11799,141,144,0);Z(2059,3,32564,11806,143,145,0);Z(3555,3,32108,11713,51,146,0);Z(2869,3,32108,11713,51,147,0);Z(1561,3,32120,11587,53,148,0);Z(2073,3,32576,11811,150,149,0);Z(6278,2,32084,11196,45,151,0);Z(2660,3,32108,11713,51,152,0);Z(1967,7,32592,11816,154,153,0);Z(1883,1,32248,11001,70,155,0);Z(7517,6,32624,11825,157,156,0);Z(2018,4,32656,11833,159,158,0);Z(6474,2,32084,11196,45,160,0);Z(6437,6,32672,11839,162,161,0);Z(2012,5,32704,11847,164,163,0);Z(1984,2,32084,11196,45,165,0);Z(1932,1,32248,11001,70,166,0);Z(1480,3,32120,11587,53,167,0);Z(2111,1,32248,11001,70,168,0);Z(4372,2,32084,11196,45,169,0);Z(7426,4,32272,11371,80,170,0);Z(7367,3,32252,11263,75,171,0);Z(7395,3,32120,11587,53,172,0);Z(6184,5,32736,11029,174,173,0);Z(1705,1,32248,11001,70,175,0);Z(7282,2,32084,11196,45,176,0);Z(7248,3,32120,11587,53,177,0);Z(8132,3,32120,11587,53,178,0);Z(6774,2,32084,11196,45,179,0);Z(7065,2,32084,11196,45,180,0);Z(7122,3,32120,11587,53,181,0);Z(6994,3,32348,11587,94,182,0);Z(6934,2,32480,11196,123,183,0);Z(3400,2,32480,11196,123,184,0);Z(3369,2,32480,11196,123,185,0);Z(3434,2,32480,11196,123,186,0);Z(6120,2,32084,11196,45,187,0);Z(4304,3,32120,11587,53,188,0);Z(4338,2,32084,11196,45,189,0);Z(8094,3,32108,11713,51,190,0);Z(3575,3,32108,11713,51,191,0);Z(1503,3,32120,11587,53,192,0);Z(1532,2,32084,11196,45,193,0);Z(6342,6,32224,11738,68,194,0);Z(6397,4,32448,11371,111,195,0);Z(1600,3,32756,11854,197,196,0);Z(4285,2,32084,11196,45,198,0);Z(4210,3,32120,11587,53,199,0);Z(1044,3,32120,11587,53,200,0);Z(6689,4,32368,11762,98,201,0);Z(3835,3,32108,11713,51,202,0);Z(4043,4,32496,11789,126,203,0);Z(4894,3,32120,11587,53,204,0);Z(4867,3,32120,11587,53,205,0);Z(1250,3,32120,11587,53,206,0);Z(1278,2,32084,11196,45,207,0);Z(1192,3,32120,11587,53,208,0);Z(1221,2,32084,11196,45,209,0);Z(7019,2,32092,11025,47,210,0);Z(4517,2,32092,11025,47,211,0);Z(6750,2,32480,11196,123,212,0);Z(4581,4,32368,11762,98,213,0);Z(8178,2,32100,11709,49,214,0);Z(7040,2,32084,11196,45,215,0);Z(6959,3,32120,11587,53,216,0);Z(7601,4,32272,11371,80,217,0);Z(7159,4,32272,11371,80,218,0);Z(6092,3,32120,11587,53,219,0);Z(8267,1,32248,11001,70,220,0);Z(1830,1,32248,11001,70,221,0);Z(4650,2,32084,11196,45,222,0);Z(6240,3,32252,11263,75,223,0);Z(10287,2,32084,11196,45,224,0);Z(10208,2,32084,11196,45,225,0);Z(10260,2,32084,11196,45,226,0);Z(10181,2,32084,11196,45,227,0);Z(10232,2,32084,11196,45,228,0);Z(10153,2,32084,11196,45,229,0);Z(3694,2,32084,11196,45,230,0);Z(2409,3,32252,11263,75,231,0);Z(9371,2,32084,11196,45,232,0);Z(9243,2,32084,11196,45,233,0);Z(9403,2,32084,11196,45,234,0);Z(9275,2,32084,11196,45,235,0);Z(9312,2,32084,11196,45,236,0);Z(9275,2,32084,11196,45,235,0);Z(1900,1,32248,11001,70,237,0);Z(1734,1,32248,11001,70,238,0);Z(3335,5,32768,11029,240,239,0);Z(3298,3,32120,11587,53,241,0);Z(2265,5,32512,11029,128,242,0);Z(2288,7,32800,11859,244,243,0);Z(5232,3,32120,11587,53,245,0);Z(7760,2,32092,11025,47,246,0);Z(2131,4,32832,11833,248,247,0);Z(5473,3,32348,11587,94,249,0);Z(1065,3,32120,11587,53,250,0);Z(5843,5,32848,11868,252,251,0);Z(1406,5,32768,11029,240,253,0);Z(1376,3,32120,11587,53,254,0);Z(2524,4,32448,11371,111,255,0);Z(2493,3,32120,11587,53,256,0);Z(5726,3,32120,11587,53,257,0);Z(5699,3,32120,11587,53,258,0);Z(7555,3,32120,11587,53,259,0);Z(7578,2,32084,11196,45,260,0);Z(5148,5,32160,11724,60,261,0);Z(5115,5,32160,11724,60,262,0);Z(4985,5,32160,11724,60,263,0);Z(5027,5,32160,11724,60,264,0);Z(5072,5,32160,11724,60,265,0);Z(5179,5,32160,11724,60,266,0);Z(4920,5,32160,11724,60,267,0);Z(4951,5,32160,11724,60,268,0);Z(2791,2,32480,11196,123,269,0);Z(2810,2,32480,11196,123,270,0);Z(8332,1,32248,11001,70,271,0);Z(4259,3,32120,11587,53,272,0);Z(3024,6,32880,11825,274,273,0);Z(7828,2,32084,11196,45,275,0);Z(7979,2,32084,11196,45,276,0);Z(3853,2,32084,11196,45,277,0);Z(8304,1,32248,11001,70,278,0);Z(4229,3,32120,11587,53,279,0);Z(2997,6,32880,11825,274,280,0);Z(7790,2,32084,11196,45,281,0);Z(7940,2,32084,11196,45,282,0);Z(4711,2,32084,11196,45,283,0);Z(8387,1,32248,11001,70,284,0);Z(3077,6,32880,11825,274,285,0);Z(7903,2,32084,11196,45,286,0);Z(8056,2,32084,11196,45,287,0);Z(3892,2,32084,11196,45,288,0);Z(8356,1,32248,11001,70,289,0);Z(3047,6,32880,11825,274,290,0);Z(7862,2,32084,11196,45,291,0);Z(8014,2,32084,11196,45,292,0);Z(4753,2,32084,11196,45,293,0);Z(1868,1,32248,11001,70,294,0);Z(3112,6,32224,11738,68,295,0);Z(3222,2,32084,11196,45,296,0);Z(7316,2,32084,11196,45,297,0);Z(4066,2,32084,11196,45,298,0);Z(6310,2,32084,11196,45,299,0);Z(5202,2,32084,11196,45,300,0);Z(6511,2,32100,11709,49,301,0);Z(7217,2,32084,11196,45,302,0);Z(3257,2,32084,11196,45,303,0);Z(6909,5,32912,11875,305,304,0);Z(5613,2,32084,11196,45,306,0);Z(2926,3,32108,11713,51,307,0);Z(2963,3,32108,11713,51,308,0);Z(2757,3,32108,11713,51,309,0);Z(5901,3,32348,11587,94,310,0);Z(1306,3,32348,11587,94,311,0);Z(2190,9,32944,11882,313,312,0);Z(1799,4,32832,11833,248,314,0);Z(3518,3,32108,11713,51,315,0);Z(2832,3,32108,11713,51,316,0);Z(2159,10,32992,11893,318,317,0);Z(1772,4,32832,11833,248,319,0);Z(2889,3,32108,11713,51,320,0);Z(2565,3,32108,11713,51,321,0);Z(2606,3,32108,11713,51,322,0)}function he(a,b,c,d,e){var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,K=0,L=0,M=0,N=0,O=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0;l=sa-48|0;sa=l;s=J[e>>2];u=b;S=J[d>>2];if(S){u=J[S+12>>2]}E=J[u+96>>2];n=c;j=J[b+96>>2];F=J[c+96>>2]-j|0;i=J[(S?S:s)+12>>2];r=J[b+92>>2];h=J[i+92>>2]-r|0;M=J[c+92>>2]-r|0;v=J[i+96>>2]-j|0;I=P(F,h)-P(M,v)|0;N=I>>31;w=F>>31;k=us(I,N,F,w);g=ta;q=J[b+88>>2];i=J[i+88>>2]-q|0;T=J[c+88>>2]-q|0;K=P(i,M)-P(h,T)|0;O=K>>31;o=T;p=o>>31;h=us(K,O,o,p);b=k-h|0;z=J[u+92>>2];c=z;G=b;A=g-(ta+(h>>>0>k>>>0)|0)|0;m=us(b,A,c,c>>31);f=ta;c=M;k=c>>31;y=us(K,O,c,k);g=ta;L=P(o,v)-P(i,F)|0;Q=L>>31;i=us(L,Q,F,w);b=y-i|0;u=J[u+88>>2];h=u;H=b;B=g-(ta+(i>>>0>y>>>0)|0)|0;b=us(b,B,h,h>>31);i=b+m|0;f=ta+f|0;f=b>>>0>i>>>0?f+1|0:f;h=us(o,p,L,Q);o=ta;c=us(c,k,I,N);C=h-c|0;D=o-(ta+(c>>>0>h>>>0)|0)|0;c=us(C,D,E,E>>31);b=c+i|0;f=ta+f|0;o=b>>>0>>0?f+1|0:f;c=us(I,N,q,q>>31);h=ta;g=c;c=us(K,O,j,j>>31);i=g+c|0;j=ta+h|0;j=c>>>0>i>>>0?j+1|0:j;h=us(L,Q,r,r>>31);c=h+i|0;g=ta+j|0;q=c;r=c>>>0>>0?g+1|0:g;n=s?J[s+12>>2]:n;y=J[n+96>>2];v=J[n+92>>2];w=J[n+88>>2];c=s;a:{if(!S){break a}c=s;if(!J[S+12>>2]){break a}c=J[J[S+8>>2]+4>>2];m=J[c+12>>2];h=m;i=J[h+92>>2];k=i>>31;g=us(i,k,L,Q);f=ta;n=g;h=J[h+88>>2];p=h>>31;g=us(h,p,I,N);n=n+g|0;f=ta+f|0;f=g>>>0>n>>>0?f+1|0:f;g=J[m+96>>2];R=g>>31;m=us(g,R,K,O);n=m+n|0;f=ta+f|0;f=m>>>0>n>>>0?f+1|0:f;b:{if(n>>>0>>0&(r|0)>=(f|0)|(f|0)<(r|0)){break b}n=c+12|0;t=J[a+100>>2];while(1){if((t|0)==J[c+20>>2]){break b}k=us(i,k,G,A);i=ta;h=us(h,p,H,B);k=h+k|0;f=ta+i|0;f=h>>>0>k>>>0?f+1|0:f;i=us(g,R,C,D);h=i+k|0;f=ta+f|0;f=h>>>0>>0?f+1|0:f;if((o|0)>=(f|0)&b>>>0>=h>>>0|(f|0)<(o|0)){break b}J[d>>2]=c;b=J[n>>2];E=J[b+96>>2];z=J[b+92>>2];u=J[b+88>>2];if(b){c=J[J[c+8>>2]+4>>2];n=c+12|0;b=h;o=f;m=J[c+12>>2];h=m;i=J[h+92>>2];k=i>>31;g=us(i,k,L,Q);f=ta;j=g;h=J[h+88>>2];p=h>>31;g=us(h,p,I,N);j=j+g|0;f=ta+f|0;f=g>>>0>j>>>0?f+1|0:f;g=J[m+96>>2];R=g>>31;m=us(g,R,K,O);x=m+j|0;j=ta+f|0;j=m>>>0>x>>>0?j+1|0:j;if(q>>>0>x>>>0&(r|0)>=(j|0)|(j|0)<(r|0)){break b}continue}break}b=h;o=f}c=J[e>>2]}h=us(G,A,v,v>>31);i=ta;g=h;h=us(H,B,w,w>>31);g=g+h|0;f=ta+i|0;f=g>>>0>>0?f+1|0:f;h=us(C,D,y,y>>31);i=h+g|0;f=ta+f|0;k=h>>>0>i>>>0?f+1|0:f;c:{if(!c){c=0;break c}if(!J[c+12>>2]){break c}n=J[J[c+8>>2]>>2];t=J[n+12>>2];g=t;h=J[g+92>>2];p=h>>31;f=us(h,p,L,Q);m=ta;j=f;g=J[g+88>>2];R=g>>31;f=us(g,R,I,N);x=j+f|0;j=ta+m|0;j=f>>>0>x>>>0?j+1|0:j;m=J[t+96>>2];V=m>>31;f=us(m,V,K,O);t=f+x|0;j=ta+j|0;j=f>>>0>t>>>0?j+1|0:j;if(q>>>0>t>>>0&(r|0)>=(j|0)|(j|0)<(r|0)){break c}W=n+12|0;x=J[a+100>>2];while(1){f=n;if((x|0)==J[f+20>>2]){break c}h=us(h,p,G,A);n=ta;j=h;h=us(g,R,H,B);p=j+h|0;g=ta+n|0;g=h>>>0>p>>>0?g+1|0:g;m=us(C,D,m,V);h=m+p|0;j=ta+g|0;j=h>>>0>>0?j+1|0:j;g=j;if(h>>>0<=i>>>0&(k|0)>=(g|0)|(g|0)<(k|0)){break c}J[e>>2]=f;c=J[W>>2];y=J[c+96>>2];v=J[c+92>>2];w=J[c+88>>2];if(c){n=J[J[f+8>>2]>>2];W=n+12|0;c=f;i=h;k=g;t=J[n+12>>2];g=t;h=J[g+92>>2];p=h>>31;f=us(h,p,L,Q);m=ta;j=f;g=J[g+88>>2];R=g>>31;f=us(g,R,I,N);U=j+f|0;j=ta+m|0;j=f>>>0>U>>>0?j+1|0:j;m=J[t+96>>2];V=m>>31;t=us(m,V,K,O);U=t+U|0;f=ta+j|0;f=t>>>0>U>>>0?f+1|0:f;if(q>>>0>U>>>0&(r|0)>=(f|0)|(f|0)<(r|0)){break c}continue}break}c=f;i=h;k=g}o=k-((b>>>0>i>>>0)+o|0)|0;d:{b=i-b|0;if(!!b&(o|0)>=0|(o|0)>0){t=J[a+100>>2];while(1){c=J[d>>2];while(1){e:{h=(P(v-z|0,M)+P(w-u|0,T)|0)+P(y-E|0,F)|0;p=h>>31;if(!c|!J[c+12>>2]){break e}n=J[J[c>>2]+8>>2];if((t|0)>=J[n+20>>2]){break e}i=J[n+12>>2];s=J[i+92>>2];a=s-z|0;m=J[i+88>>2];k=m-u|0;g=J[i+96>>2];f=g-E|0;q=(P(a,M)+P(k,T)|0)+P(f,F)|0;a=us(G,A,a,a>>31);i=ta;j=a;a=us(H,B,k,k>>31);k=j+a|0;j=ta+i|0;j=a>>>0>k>>>0?j+1|0:j;i=us(C,D,f,f>>31);a=i+k|0;f=ta+j|0;f=a>>>0>>0?f+1|0:f;f:{if(!(f|a)){if((q|0)<0){break f}break e}if((f|0)>0|(f|0)>=0){break e}J[l+32>>2]=0-a;J[l+36>>2]=0-(((a|0)!=0)+f|0);k=(q|0)>0;J[l+40>>2]=k?-1:q>>>31|0;i=(q|0)<0;J[l+24>>2]=k?q:i?0-q|0:0;a=q>>31;J[l+28>>2]=k?a:i?0-(((q|0)!=0)+a|0)|0:0;g:{if((h|0)>0){J[l+16>>2]=1;k=p;f=-1;a=h;break g}if((h|0)<0){J[l+16>>2]=-1;k=0-(((h|0)!=0)+p|0)|0;f=1;a=0-h|0;break g}J[l+16>>2]=0;k=0;f=0;a=0}J[l>>2]=a;J[l+4>>2]=k;a=b;i=o;h:{if(!!a&(i|0)>=0|(i|0)>0){break h}i=0;a=0;if((o|0)>0|(o|0)>=0){break h}J[l+16>>2]=f;i=0-(((b|0)!=0)+o|0)|0;a=0-b|0}J[l+8>>2]=a;J[l+12>>2]=i;if((lb(l+24|0,l)|0)<0){break e}}c=(c|0)!=(S|0)?n:0;J[d>>2]=c;a=v-s|0;a=us(G,A,a,a>>31);b=ta;h=a;a=w-m|0;a=us(H,B,a,a>>31);o=h+a|0;j=ta+b|0;j=a>>>0>o>>>0?j+1|0:j;a=y-g|0;a=us(C,D,a,a>>31);b=a+o|0;f=ta+j|0;o=a>>>0>b>>>0?f+1|0:f;u=m;z=s;E=g;continue}break}a=J[e>>2];if(!a|!J[a+12>>2]){break d}x=J[J[a+8>>2]>>2];if((t|0)>=J[x+20>>2]){break d}i=J[x+12>>2];r=J[i+92>>2];f=r-v|0;q=f>>31;a=us(f,q,L,Q);c=ta;g=a;v=J[i+88>>2];k=v-w|0;n=k>>31;a=us(k,n,I,N);w=g+a|0;g=ta+c|0;g=a>>>0>w>>>0?g+1|0:g;s=J[i+96>>2];i=s-y|0;m=i>>31;c=us(K,O,i,m);if((0-c|0)!=(w|0)|(0-(ta+((c|0)!=0)|0)|0)!=(g|0)){break d}a=r-z|0;a=us(G,A,a,a>>31);c=ta;g=a;a=v-u|0;a=us(H,B,a,a>>31);g=g+a|0;j=ta+c|0;j=a>>>0>g>>>0?j+1|0:j;a=s-E|0;a=us(C,D,a,a>>31);c=a+g|0;j=ta+j|0;j=a>>>0>c>>>0?j+1|0:j;a=j;if(!c&(a|0)<=0|(a|0)<0){break d}s=(P(f,M)+P(k,T)|0)+P(i,F)|0;g=us(f,q,G,A);f=ta;j=g;g=us(H,B,k,n);k=j+g|0;f=ta+f|0;f=g>>>0>k>>>0?f+1|0:f;g=us(C,D,i,m);i=g+k|0;f=ta+f|0;f=g>>>0>i>>>0?f+1|0:f;i:{if(!(f|i)){if((s|0)<0){break i}break d}if((f|0)>0|(f|0)>=0){break d}J[l+32>>2]=0-i;J[l+36>>2]=0-(((i|0)!=0)+f|0);k=(s|0)>0;J[l+40>>2]=k?-1:s>>>31|0;g=(s|0)<0;J[l+24>>2]=k?s:g?0-s|0:0;i=s>>31;J[l+28>>2]=k?i:g?0-(((s|0)!=0)+i|0)|0:0;j:{if((h|0)>0){J[l+16>>2]=1;i=-1;break j}if((h|0)<0){J[l+16>>2]=-1;i=h;h=0-h|0;p=0-(((i|0)!=0)+p|0)|0;i=1;break j}J[l+16>>2]=0;h=0;p=0;i=0}J[l>>2]=h;J[l+4>>2]=p;h=b;g=o;k:{if(!!h&(g|0)>=0|(g|0)>0){break k}g=0;h=0;if((o|0)>0|(o|0)>=0){break k}J[l+16>>2]=i;g=0-(((b|0)!=0)+o|0)|0;h=0-b|0}J[l+8>>2]=h;J[l+12>>2]=g;if((lb(l+24|0,l)|0)<=0){break d}}J[e>>2]=x;b=J[x+12>>2];y=J[b+96>>2];v=J[b+92>>2];w=J[b+88>>2];b=c;o=a;continue}}if((o|0)>0|(o|0)>=0){break d}t=J[a+100>>2];while(1){h=(P(v-z|0,M)+P(w-u|0,T)|0)+P(y-E|0,F)|0;p=h>>31;l:{if(!c|!J[c+12>>2]){break l}r=J[J[c+4>>2]+8>>2];if((t|0)>=J[r+20>>2]){break l}i=J[r+12>>2];m=J[i+92>>2];a=m-v|0;k=J[i+88>>2];f=k-w|0;i=J[i+96>>2];q=i-y|0;j=(P(a,M)+P(f,T)|0)+P(q,F)|0;a=us(G,A,a,a>>31);g=ta;n=a;a=us(H,B,f,f>>31);n=n+a|0;f=ta+g|0;f=a>>>0>n>>>0?f+1|0:f;a=n;n=us(C,D,q,q>>31);a=a+n|0;g=ta+f|0;g=a>>>0>>0?g+1|0:g;m:{if(!(g|a)){if((j|0)>0){break m}break l}if((g|0)>0|(g|0)>=0){break l}J[l+32>>2]=0-a;J[l+36>>2]=0-(((a|0)!=0)+g|0);f=(j|0)>0;J[l+40>>2]=f?-1:j>>>31|0;g=(j|0)<0;J[l+24>>2]=f?j:g?0-j|0:0;a=j>>31;J[l+28>>2]=f?a:g?0-(((j|0)!=0)+a|0)|0:0;n:{if((h|0)>0){J[l+16>>2]=1;n=-1;g=p;a=h;break n}if((h|0)<0){J[l+16>>2]=-1;n=1;g=0-(((h|0)!=0)+p|0)|0;a=0-h|0;break n}n=0;J[l+16>>2]=0;g=0;a=0}J[l>>2]=a;J[l+4>>2]=g;a=b;g=o;o:{if(!!a&(g|0)>=0|(g|0)>0){break o}g=0;a=0;if((o|0)>0|(o|0)>=0){break o}J[l+16>>2]=n;g=0-(((b|0)!=0)+o|0)|0;a=0-b|0}J[l+8>>2]=a;J[l+12>>2]=g;if((lb(l+24|0,l)|0)>0){break l}}c=(c|0)!=(s|0)?r:0;J[e>>2]=c;a=m-z|0;a=us(G,A,a,a>>31);b=ta;h=a;a=k-u|0;a=us(H,B,a,a>>31);o=h+a|0;f=ta+b|0;f=a>>>0>o>>>0?f+1|0:f;a=i-E|0;a=us(C,D,a,a>>31);b=a+o|0;f=ta+f|0;o=a>>>0>b>>>0?f+1|0:f;w=k;v=m;y=i;continue}a=J[d>>2];if(!a|!J[a+12>>2]){break d}x=J[J[a+8>>2]+4>>2];if((t|0)>=J[x+20>>2]){break d}i=J[x+12>>2];r=J[i+92>>2];k=r-z|0;q=k>>31;a=us(k,q,L,Q);c=ta;f=a;z=J[i+88>>2];g=z-u|0;n=g>>31;a=us(g,n,I,N);j=f+a|0;f=ta+c|0;f=a>>>0>j>>>0?f+1|0:f;m=J[i+96>>2];c=m-E|0;u=c>>31;i=us(K,O,c,u);if((0-i|0)!=(j|0)|(0-(ta+((i|0)!=0)|0)|0)!=(f|0)){break d}a=v-r|0;a=us(G,A,a,a>>31);i=ta;f=a;a=w-z|0;a=us(H,B,a,a>>31);f=f+a|0;j=ta+i|0;j=a>>>0>f>>>0?j+1|0:j;a=y-m|0;a=us(C,D,a,a>>31);i=a+f|0;f=ta+j|0;f=a>>>0>i>>>0?f+1|0:f;a=f;if((f|0)>0|(f|0)>=0){break d}m=(P(k,M)+P(g,T)|0)+P(c,F)|0;f=us(k,q,G,A);k=ta;g=us(H,B,g,n);f=g+f|0;j=ta+k|0;k=us(C,D,c,u);c=k+f|0;g=ta+(f>>>0>>0?j+1|0:j)|0;g=c>>>0>>0?g+1|0:g;p:{if(!(g|c)){if((m|0)>0){break p}break d}if((g|0)>0|(g|0)>=0){break d}J[l+32>>2]=0-c;J[l+36>>2]=0-(((c|0)!=0)+g|0);k=(m|0)>0;J[l+40>>2]=k?-1:m>>>31|0;g=(m|0)<0;J[l+24>>2]=k?m:g?0-m|0:0;c=m>>31;J[l+28>>2]=k?c:g?0-(((m|0)!=0)+c|0)|0:0;q:{if((h|0)>0){J[l+16>>2]=1;g=-1;break q}if((h|0)<0){J[l+16>>2]=-1;c=h;h=0-h|0;p=0-(((c|0)!=0)+p|0)|0;g=1;break q}J[l+16>>2]=0;h=0;p=0;g=0}J[l>>2]=h;J[l+4>>2]=p;c=b;h=o;r:{if(!!c&(h|0)>=0|(h|0)>0){break r}h=0;c=0;if((o|0)>0|(o|0)>=0){break r}J[l+16>>2]=g;h=0-(((b|0)!=0)+o|0)|0;c=0-b|0}J[l+8>>2]=c;J[l+12>>2]=h;if((lb(l+24|0,l)|0)>=0){break d}}J[d>>2]=x;b=J[x+12>>2];E=J[b+96>>2];z=J[b+92>>2];c=J[e>>2];u=J[b+88>>2];b=i;o=a;continue}}sa=l+48|0}function jh(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;w=sa-16|0;sa=w;ua[J[8262]](3645);d=J[a+196>>2];j=J[a+228>>2];a:{if((d|0)>=(j|0)){break a}if((j|0)>J[a+200>>2]){if(j){J[8456]=J[8456]+1;g=ua[J[8258]](j<<2,16)|0;c=J[a+196>>2]}else{c=d}b:{if((c|0)<=0){break b}if(c>>>0>=4){i=c&-4;while(1){f=h<<2;J[f+g>>2]=J[f+J[a+204>>2]>>2];m=f|4;J[m+g>>2]=J[m+J[a+204>>2]>>2];m=f|8;J[m+g>>2]=J[m+J[a+204>>2]>>2];f=f|12;J[f+g>>2]=J[f+J[a+204>>2]>>2];h=h+4|0;e=e+4|0;if((i|0)!=(e|0)){continue}break}}c=c&3;if(!c){break b}while(1){e=h<<2;J[e+g>>2]=J[e+J[a+204>>2]>>2];h=h+1|0;q=q+1|0;if((c|0)!=(q|0)){continue}break}}c=J[a+204>>2];if(!(c?!c|!K[a+208|0]:1)){J[8457]=J[8457]+1;ua[J[8259]](c)}J[a+204>>2]=g;H[a+208|0]=1;J[a+200>>2]=j}c=j+(d^-1)|0;e=j-d&3;if(e){h=0;while(1){J[J[a+204>>2]+(d<<2)>>2]=0;d=d+1|0;h=h+1|0;if((e|0)!=(h|0)){continue}break}}if(c>>>0<3){break a}while(1){c=d<<2;J[c+J[a+204>>2]>>2]=0;J[(c+J[a+204>>2]|0)+4>>2]=0;J[(c+J[a+204>>2]|0)+8>>2]=0;J[(c+J[a+204>>2]|0)+12>>2]=0;d=d+4|0;if((j|0)!=(d|0)){continue}break}}J[a+196>>2]=j;if((ua[J[J[a>>2]+104>>2]](a)|0)>0){d=0;while(1){c=d<<2;J[c+J[a+204>>2]>>2]=J[c+J[a+236>>2]>>2];d=d+1|0;if((ua[J[J[a>>2]+104>>2]](a)|0)>(d|0)){continue}break}}d=J[a+196>>2];if((d|0)>=2){xd(a+192|0,w+14|0,0,d-1|0)}d=ua[J[J[a>>2]+104>>2]](a)|0;d=d?J[a+204>>2]:0;c=J[a+196>>2];g=J[a+212>>2];A=g,B=ua[J[J[a>>2]+20>>2]](a)|0,J[A+20>>2]=B;J[g+16>>2]=c;J[g+12>>2]=d;J[g+4>>2]=b;c=J[g+32>>2];c:{if((c|0)>=0){break c}if(J[g+36>>2]<0){d=J[g+40>>2];if(!(d?!d|!K[g+44|0]:1)){J[8457]=J[8457]+1;ua[J[8259]](d)}H[g+44|0]=1;J[g+36>>2]=0;J[g+40>>2]=0}e=0;d=c;j=0-c&3;if(j){while(1){J[J[g+40>>2]+(d<<2)>>2]=0;d=d+1|0;e=e+1|0;if((j|0)!=(e|0)){continue}break}}if(c>>>0>4294967292){break c}while(1){c=d<<2;J[c+J[g+40>>2]>>2]=0;J[(c+J[g+40>>2]|0)+4>>2]=0;J[(c+J[g+40>>2]|0)+8>>2]=0;J[(c+J[g+40>>2]|0)+12>>2]=0;d=d+4|0;if(d){continue}break}}J[g+32>>2]=0;c=J[g+52>>2];d:{if((c|0)>=0){break d}if(J[g+56>>2]<0){d=J[g+60>>2];if(!(d?!d|!K[g- -64|0]:1)){J[8457]=J[8457]+1;ua[J[8259]](d)}H[g+64|0]=1;J[g+56>>2]=0;J[g+60>>2]=0}e=0;d=c;j=0-c&3;if(j){while(1){J[J[g+60>>2]+(d<<2)>>2]=0;d=d+1|0;e=e+1|0;if((j|0)!=(e|0)){continue}break}}if(c>>>0>4294967292){break d}while(1){c=d<<2;J[c+J[g+60>>2]>>2]=0;J[(c+J[g+60>>2]|0)+4>>2]=0;J[(c+J[g+60>>2]|0)+8>>2]=0;J[(c+J[g+60>>2]|0)+12>>2]=0;d=d+4|0;if(d){continue}break}}J[g+52>>2]=0;c=J[g+72>>2];e:{if((c|0)>=0){break e}if(J[g+76>>2]<0){d=J[g+80>>2];if(!(d?!d|!K[g+84|0]:1)){J[8457]=J[8457]+1;ua[J[8259]](d)}H[g+84|0]=1;J[g+76>>2]=0;J[g+80>>2]=0}e=0;d=c;j=0-c&3;if(j){while(1){J[J[g+80>>2]+(d<<2)>>2]=0;d=d+1|0;e=e+1|0;if((j|0)!=(e|0)){continue}break}}if(c>>>0>4294967292){break e}while(1){c=d<<2;J[c+J[g+80>>2]>>2]=0;J[(c+J[g+80>>2]|0)+4>>2]=0;J[(c+J[g+80>>2]|0)+8>>2]=0;J[(c+J[g+80>>2]|0)+12>>2]=0;d=d+4|0;if(d){continue}break}}J[g+72>>2]=0;d=J[a+216>>2];c=J[a+24>>2];B=d,C=J[a+8>>2],D=ua[J[J[c>>2]+36>>2]](c)|0,A=J[J[d>>2]+8>>2],ua[A](B|0,C|0,D|0);f=J[a+220>>2];m=J[a+24>>2];v=J[a+212>>2];g=0;q=0;x=sa-16|0;sa=x;j=a;d=0;t=sa-16|0;sa=t;ua[J[8262]](2381);a=J[f+28>>2];f:{if((a|0)>=0){break f}if(J[f+32>>2]<0){c=J[f+36>>2];if(!(c?!c|!K[f+40|0]:1)){J[8457]=J[8457]+1;ua[J[8259]](c)}H[f+40|0]=1;J[f+32>>2]=0;J[f+36>>2]=0}c=a;e=0-c&3;if(e){while(1){J[J[f+36>>2]+(c<<2)>>2]=0;c=c+1|0;d=d+1|0;if((e|0)!=(d|0)){continue}break}}if(a>>>0>4294967292){break f}while(1){a=c<<2;J[a+J[f+36>>2]>>2]=0;J[(a+J[f+36>>2]|0)+4>>2]=0;J[(a+J[f+36>>2]|0)+8>>2]=0;J[(a+J[f+36>>2]|0)+12>>2]=0;c=c+4|0;if(c){continue}break}}J[f+28>>2]=0;a=0;l=sa-16|0;sa=l;k=f+4|0;h=J[k+4>>2];g:{if((h|0)<=0){break g}i=J[k+12>>2];while(1){d=a;n=i+(a<<3)|0;e=n;c=J[e>>2];if((c|0)!=(a|0)){while(1){d=i+(c<<3)|0;J[e>>2]=J[d>>2];d=J[d>>2];e=i+(d<<3)|0;c=J[e>>2];if((c|0)!=(d|0)){continue}break}}J[n>>2]=d;a=a+1|0;if((h|0)!=(a|0)){continue}break}if((h|0)<2){break g}Cd(k,l+15|0,0,h-1|0)}sa=l+16|0;k=J[f+8>>2];if((k|0)>0){d=0;while(1){a=d;c=a+1|0;h=(c|0)<(k|0)?k:c;e=h-1|0;n=J[f+16>>2];l=J[n+(a<<3)>>2];while(1){h:{c=d;if((e|0)==(c|0)){c=e;d=h;break h}d=c+1|0;if((l|0)==J[n+(d<<3)>>2]){continue}}break}p=(a|0)>(c|0);i:{if(p){break i}i=1;h=(c-a|0)+1|0;r=h&1;o=J[j+16>>2];e=a;if((a|0)!=(c|0)){s=h&-2;h=0;while(1){u=n+(e<<3)|0;z=J[o+(J[u+4>>2]<<2)>>2];if((l|0)==J[z+208>>2]){y=i;i=J[z+220>>2];i=y&((i|0)!=4&(i|0)!=1)}u=J[o+(J[u+12>>2]<<2)>>2];if((l|0)==J[u+208>>2]){y=i;i=J[u+220>>2];i=y&((i|0)!=4&(i|0)!=1)}e=e+2|0;h=h+2|0;if((s|0)!=(h|0)){continue}break}}j:{if(!r){break j}e=J[o+(J[(n+(e<<3)|0)+4>>2]<<2)>>2];if((l|0)!=J[e+208>>2]){break j}e=J[e+220>>2];i=(e|0)!=4&(e|0)!=1&i}if(i){if(p){break i}while(1){e=J[J[j+16>>2]+(J[(J[f+16>>2]+(a<<3)|0)+4>>2]<<2)>>2];if((l|0)==J[e+208>>2]&(J[e+220>>2]&-2)!=4){J[e+220>>2]=2}e=(a|0)==(c|0);a=a+1|0;if(!e){continue}break}break i}while(1){e=a;a=J[J[j+16>>2]+(J[(J[f+16>>2]+(a<<3)|0)+4>>2]<<2)>>2];if(!((l|0)!=J[a+208>>2]|J[a+220>>2]!=2)){if((J[a+220>>2]&-2)!=4){J[a+220>>2]=3}J[a+224>>2]=0}a=e+1|0;if((c|0)!=(e|0)){continue}break}}if((d|0)<(k|0)){continue}break}}o=ua[J[J[m>>2]+36>>2]](m)|0;if((o|0)>0){d=0;while(1){n=ua[J[J[m>>2]+40>>2]](m,d)|0;a=J[n+840>>2];c=J[n+836>>2];k:{if(!(J[c+220>>2]!=2?c:0)&(!a|J[a+220>>2]==2)){break k}e=J[c+204>>2];if(!(!(e&2)|e&4|J[c+220>>2]==2)){Xc(a,0)}e=J[a+204>>2];if(!(!(e&2)|e&4|J[a+220>>2]==2)){Xc(c,0)}if(!K[f+64|0]){break k}if(!(ua[J[J[m>>2]+28>>2]](m,c,a)|0)){break k}e=J[f+28>>2];l:{if((e|0)!=J[f+32>>2]){break l}k=e?e<<1:1;if((k|0)<=(e|0)){break l}m:{if(!k){a=0;break m}J[8456]=J[8456]+1;a=ua[J[8258]](k<<2,16)|0;e=J[f+28>>2]}n:{if((e|0)<=0){break n}i=0;c=0;if(e>>>0>=4){p=e&-4;h=0;while(1){l=c<<2;J[l+a>>2]=J[l+J[f+36>>2]>>2];r=l|4;J[r+a>>2]=J[r+J[f+36>>2]>>2];r=l|8;J[r+a>>2]=J[r+J[f+36>>2]>>2];l=l|12;J[l+a>>2]=J[l+J[f+36>>2]>>2];c=c+4|0;h=h+4|0;if((p|0)!=(h|0)){continue}break}}h=e&3;if(!h){break n}while(1){l=c<<2;J[l+a>>2]=J[l+J[f+36>>2]>>2];c=c+1|0;i=i+1|0;if((h|0)!=(i|0)){continue}break}}c=J[f+36>>2];if(!(!c|!K[f+40|0])){if(c){J[8457]=J[8457]+1;ua[J[8259]](c)}e=J[f+28>>2]}J[f+36>>2]=a;H[f+40|0]=1;J[f+32>>2]=k}J[J[f+36>>2]+(e<<2)>>2]=n;J[f+28>>2]=e+1}d=d+1|0;if((o|0)!=(d|0)){continue}break}}ua[J[8263]]();sa=t+16|0;n=J[f+8>>2];ua[J[8262]](4539);o:{if(!K[f+64|0]){a=ua[J[J[m>>2]+44>>2]](m)|0;d=ua[J[J[m>>2]+36>>2]](m)|0;ua[J[J[v>>2]+8>>2]](v,J[j+16>>2],J[j+8>>2],a,d,-1);break o}m=J[f+28>>2];if((m|0)>=2){Ad(f+24|0,x+14|0,0,m-1|0)}if((n|0)<=0){break o}a=1;while(1){l=J[J[f+16>>2]+(q<<3)>>2];i=1;while(1){d=J[f+16>>2]+(q<<3)|0;if((l|0)==J[d>>2]){t=J[J[j+16>>2]+(J[d+4>>2]<<2)>>2];c=J[f+48>>2];p:{if((c|0)!=J[f+52>>2]){break p}o=c?c<<1:1;if((o|0)<=(c|0)){break p}q:{if(!o){e=0;break q}J[8456]=J[8456]+1;e=ua[J[8258]](o<<2,16)|0;c=J[f+48>>2]}r:{if((c|0)<=0){break r}h=0;d=0;if(c>>>0>=4){r=c&-4;p=0;while(1){k=d<<2;J[k+e>>2]=J[k+J[f+56>>2]>>2];s=k|4;J[s+e>>2]=J[s+J[f+56>>2]>>2];s=k|8;J[s+e>>2]=J[s+J[f+56>>2]>>2];k=k|12;J[k+e>>2]=J[k+J[f+56>>2]>>2];d=d+4|0;p=p+4|0;if((r|0)!=(p|0)){continue}break}}k=c&3;if(!k){break r}while(1){p=d<<2;J[p+e>>2]=J[p+J[f+56>>2]>>2];d=d+1|0;h=h+1|0;if((k|0)!=(h|0)){continue}break}}d=J[f+56>>2];if(!(!d|!K[f+60|0])){if(d){J[8457]=J[8457]+1;ua[J[8259]](d)}c=J[f+48>>2]}J[f+56>>2]=e;H[f+60|0]=1;J[f+52>>2]=o}J[J[f+56>>2]+(c<<2)>>2]=t;J[f+48>>2]=c+1;d=J[t+220>>2];i=((d|0)==2|(d|0)==5)&i;q=q+1|0;if((n|0)>(q|0)){continue}}break}h=0;d=0;s:{if((g|0)>=(m|0)){break s}k=J[f+36>>2];e=k+(g<<2)|0;d=J[e>>2];c=J[J[d+836>>2]+208>>2];if((c|0)<0){c=J[J[d+840>>2]+208>>2]}d=0;if((c|0)!=(l|0)){break s}a=g+1|0;c=(a|0)<(m|0)?m:a;h=c-1|0;a=g;while(1){t:{if((a|0)==(h|0)){a=c;break t}a=a+1|0;o=J[k+(a<<2)>>2];d=J[J[o+836>>2]+208>>2];if((d|0)<0){d=J[J[o+840>>2]+208>>2]}if((d|0)==(l|0)){continue}}break}h=a-g|0;d=e}if(!i){ua[J[J[v>>2]+8>>2]](v,J[f+56>>2],J[f+48>>2],d,h,l)}c=J[f+48>>2];u:{if((c|0)>=0){break u}if(J[f+52>>2]<0){d=J[f+56>>2];if(!(d?!d|!K[f+60|0]:1)){J[8457]=J[8457]+1;ua[J[8259]](d)}H[f+60|0]=1;J[f+52>>2]=0;J[f+56>>2]=0}e=0;d=c;i=0-c&3;if(i){while(1){J[J[f+56>>2]+(d<<2)>>2]=0;d=d+1|0;e=e+1|0;if((i|0)!=(e|0)){continue}break}}if(c>>>0>4294967292){break u}while(1){c=d<<2;J[c+J[f+56>>2]>>2]=0;J[(c+J[f+56>>2]|0)+4>>2]=0;J[(c+J[f+56>>2]|0)+8>>2]=0;J[(c+J[f+56>>2]|0)+12>>2]=0;d=d+4|0;if(d){continue}break}}g=h?a:g;J[f+48>>2]=0;if((n|0)>(q|0)){continue}break}}ua[J[8263]]();sa=x+16|0;wd(J[j+212>>2]);a=J[j+216>>2];ua[J[J[a>>2]+16>>2]](a,b,J[j+72>>2]);ua[J[8263]]();sa=w+16|0}function Uc(a,b,c,d){var e=0,f=0,g=Q(0),h=Q(0),i=Q(0),j=Q(0),k=Q(0),l=Q(0),m=0,n=Q(0),o=Q(0),p=0,q=Q(0),r=0,s=Q(0),t=0,u=Q(0),v=0,w=Q(0),x=Q(0),y=Q(0),z=Q(0),A=Q(0),B=Q(0),C=Q(0),D=Q(0),E=Q(0),F=Q(0),G=Q(0),I=0,L=0,M=Q(0),O=Q(0),R=Q(0),S=0,T=Q(0),U=Q(0),V=Q(0),W=0,X=0,Z=Q(0),_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0;e=sa-704|0;sa=e;t=Sa(e+620|0);f=t;J[f+20>>2]=1065353216;J[f+24>>2]=1065353216;J[f+4>>2]=8;J[f>>2]=21396;J[f+32>>2]=0;J[f+36>>2]=0;J[f+28>>2]=1065353216;J[f+40>>2]=0;J[f+44>>2]=0;J[f+48>>2]=0;J[f+52>>2]=0;J[f+56>>2]=0;f=J[c+12>>2];r=J[c+4>>2];v=J[r+4>>2];a:{if((v|0)<=19){J[e+612>>2]=0;J[e+616>>2]=0;J[e+444>>2]=13156;N[e+608>>2]=N[d+4>>2];H[e+416|0]=0;J[e+392>>2]=953267991;v=e+680|0;J[v+12>>2]=r;J[v+8>>2]=t;p=e+84|0;J[v+4>>2]=p;J[v>>2]=23248;m=e+68|0;J[m+12>>2]=r;J[m+8>>2]=t;J[m+4>>2]=p;J[m>>2]=22600;r=J[d+16>>2]&8?m:v;b:{if(!(ua[J[J[r>>2]+8>>2]](r,a,b,f,f,e+444|0)|0)){break b}g=N[e+584>>2];h=N[e+576>>2];i=N[e+580>>2];j=Q(Q(g*g)+Q(Q(h*h)+Q(i*i)));if(!(j>Q(9999999747378752e-20))){break b}k=N[e+608>>2];if(!(k>2])){break b}n=g;g=Q(Q(1)/Q(Y(j)));N[e+584>>2]=n*g;N[e+580>>2]=i*g;N[e+576>>2]=h*g;a=J[c+8>>2];J[e+44>>2]=0;J[e+40>>2]=a;a=J[e+588>>2];J[e+56>>2]=J[e+584>>2];J[e+60>>2]=a;a=J[e+580>>2];J[e+48>>2]=J[e+576>>2];J[e+52>>2]=a;N[e+64>>2]=k;Q(ua[J[J[d>>2]+12>>2]](d,e+40|0,1))}break a}if(v-21>>>0<=8){q=N[f+20>>2];i=N[f+36>>2];u=N[f+24>>2];s=N[f+52>>2];j=N[f+56>>2];k=N[f+40>>2];l=N[f+32>>2];w=N[f+16>>2];n=N[f>>2];x=N[f+4>>2];o=N[f+48>>2];A=N[f+8>>2];h=N[a+52>>2];y=N[a+56>>2];g=N[a+48>>2];J[e+456>>2]=0;s=Q(-s);D=Q(u*s);z=Q(Q(D-Q(A*o))-Q(k*j));E=Q(y*k);F=Q(u*h);N[e+452>>2]=z+Q(E+Q(Q(g*A)+F));G=Q(q*s);B=Q(Q(G-Q(x*o))-Q(i*j));M=Q(y*i);O=Q(q*h);N[e+448>>2]=B+Q(M+Q(Q(g*x)+O));R=Q(w*s);T=Q(Q(R-Q(n*o))-Q(l*j));U=Q(y*l);V=Q(w*h);N[e+444>>2]=T+Q(U+Q(Q(g*n)+V));y=N[b+52>>2];s=N[b+56>>2];h=N[b+48>>2];J[e+52>>2]=0;C=z;z=Q(s*k);Z=Q(h*A);A=Q(u*y);N[e+48>>2]=C+Q(z+Q(Z+A));C=B;B=Q(s*i);u=Q(h*x);x=Q(q*y);N[e+44>>2]=C+Q(B+Q(u+x));s=Q(s*l);C=Q(h*n);n=Q(w*y);N[e+40>>2]=T+Q(s+Q(C+n));if((v|0)==21){b=J[c+8>>2];v=e+444|0;m=e+40|0;a=Vd(e+84|0,v,m,J[d+16>>2]);J[a+52>>2]=r;J[a+48>>2]=b;J[a+44>>2]=d;J[a>>2]=13224;c=J[f+12>>2];b=a- -64|0;J[b>>2]=J[f+8>>2];J[b+4>>2]=c;b=J[f+4>>2];J[a+56>>2]=J[f>>2];J[a+60>>2]=b;b=J[f+28>>2];J[a+80>>2]=J[f+24>>2];J[a+84>>2]=b;b=J[f+20>>2];J[a+72>>2]=J[f+16>>2];J[a+76>>2]=b;b=J[f+44>>2];J[a+96>>2]=J[f+40>>2];J[a+100>>2]=b;b=J[f+36>>2];J[a+88>>2]=J[f+32>>2];J[a+92>>2]=b;b=J[f+60>>2];J[a+112>>2]=J[f+56>>2];J[a+116>>2]=b;b=J[f+52>>2];J[a+104>>2]=J[f+48>>2];J[a+108>>2]=b;N[a+40>>2]=N[d+4>>2];b=sa-16|0;sa=b;c=J[r+56>>2];J[b+12>>2]=a;J[b+8>>2]=c;J[b+4>>2]=18656;c=J[r+60>>2];d=b+4|0;a=sa-32|0;sa=a;J[a+24>>2]=0;J[a+28>>2]=0;J[a+16>>2]=0;J[a+20>>2]=0;J[a+8>>2]=0;J[a+12>>2]=0;J[a>>2]=0;J[a+4>>2]=0;c:{if(K[c+60|0]){ye(c,d,v,m,a+16|0,a,J[c+56>>2]);break c}ze(c,d,v,m,a+16|0,a)}sa=a+32|0;sa=b+16|0;break a}q=N[f>>2];u=N[f+4>>2];j=Q(-j);C=Q(k*j);k=N[f+8>>2];o=Q(-o);w=Q(C+Q(Q(k*o)+D));N[e+688>>2]=Q(E+Q(Q(g*k)+F))+w;J[e+692>>2]=0;i=Q(Q(i*j)+Q(Q(u*o)+G));N[e+684>>2]=Q(M+Q(Q(g*u)+O))+i;C=Q(U+Q(Q(g*q)+V));g=Q(Q(l*j)+Q(Q(q*o)+R));N[e+680>>2]=C+g;J[e+80>>2]=0;N[e+76>>2]=Q(z+Q(Q(h*k)+A))+w;N[e+72>>2]=Q(B+Q(Q(h*u)+x))+i;N[e+68>>2]=Q(s+Q(Q(h*q)+n))+g;b=J[c+8>>2];a=Vd(e+84|0,e+680|0,e+68|0,J[d+16>>2]);J[a+52>>2]=r;J[a+48>>2]=b;J[a+44>>2]=d;J[a>>2]=13224;c=J[f+12>>2];b=a- -64|0;J[b>>2]=J[f+8>>2];J[b+4>>2]=c;b=J[f+4>>2];J[a+56>>2]=J[f>>2];J[a+60>>2]=b;b=J[f+28>>2];J[a+80>>2]=J[f+24>>2];J[a+84>>2]=b;b=J[f+20>>2];J[a+72>>2]=J[f+16>>2];J[a+76>>2]=b;b=J[f+44>>2];J[a+96>>2]=J[f+40>>2];J[a+100>>2]=b;b=J[f+36>>2];J[a+88>>2]=J[f+32>>2];J[a+92>>2]=b;b=J[f+60>>2];J[a+112>>2]=J[f+56>>2];J[a+116>>2]=b;b=J[f+52>>2];J[a+104>>2]=J[f+48>>2];J[a+108>>2]=b;N[a+40>>2]=N[d+4>>2];b=J[e+692>>2];J[e+32>>2]=J[e+688>>2];J[e+36>>2]=b;b=J[e+684>>2];J[e+24>>2]=J[e+680>>2];J[e+28>>2]=b;g=N[e+68>>2];if(g>2]){N[e+24>>2]=g}h=N[e+72>>2];if(h>2]){N[e+28>>2]=h}i=N[e+76>>2];if(i>2]){N[e+32>>2]=i}j=N[e+80>>2];if(j>2]){N[e+36>>2]=j}b=J[e+692>>2];J[e+16>>2]=J[e+688>>2];J[e+20>>2]=b;b=J[e+684>>2];J[e+8>>2]=J[e+680>>2];J[e+12>>2]=b;if(g>N[e+8>>2]){N[e+8>>2]=g}if(h>N[e+12>>2]){N[e+12>>2]=h}if(i>N[e+16>>2]){N[e+16>>2]=i}if(j>N[e+20>>2]){N[e+20>>2]=j}ua[J[J[r>>2]+64>>2]](r,a,e+24|0,e+8|0);break a}if((v|0)!=31){break a}t=J[r+72>>2];c=J[c+8>>2];J[e+64>>2]=d;J[e+60>>2]=b;J[e+56>>2]=a;J[e+52>>2]=f;J[e+48>>2]=r;J[e+44>>2]=c;J[e+40>>2]=13408;if(t){g=N[f+20>>2];h=N[f+36>>2];i=N[f+24>>2];j=N[f+52>>2];x=N[a+52>>2];k=N[f+40>>2];l=N[f+56>>2];w=N[a+56>>2];A=N[f>>2];o=N[f+16>>2];q=N[f+32>>2];y=N[f+4>>2];n=N[f+8>>2];u=N[f+48>>2];s=N[a+48>>2];J[e+96>>2]=0;w=Q(w-l);z=n;n=Q(s-u);x=Q(x-j);N[e+92>>2]=Q(k*w)+Q(Q(z*n)+Q(i*x));N[e+88>>2]=Q(h*w)+Q(Q(y*n)+Q(x*g));N[e+84>>2]=Q(q*w)+Q(Q(A*n)+Q(x*o));w=N[b+52>>2];n=N[b+56>>2];x=N[f>>2];A=N[f+4>>2];y=N[f+8>>2];s=N[b+48>>2];J[e+456>>2]=0;z=k;k=Q(n-l);l=Q(s-u);n=i;i=Q(w-j);N[e+452>>2]=Q(z*k)+Q(Q(y*l)+Q(n*i));N[e+448>>2]=Q(h*k)+Q(Q(A*l)+Q(g*i));N[e+444>>2]=Q(q*k)+Q(Q(x*l)+Q(o*i));W=e+40|0;v=0;m=sa-544|0;sa=m;a=J[t>>2];d:{if(!a){break d}g=N[e+92>>2];h=N[e+452>>2];i=N[e+84>>2];j=N[e+444>>2];k=N[e+88>>2];l=N[e+448>>2];J[m+32>>2]=a;g=Q(h-g);h=Q(j-i);i=Q(l-k);j=Q(Q(1)/Q(Y(Q(Q(g*g)+Q(Q(h*h)+Q(i*i))))));k=Q(g*j);n=Q(k*g);g=Q(h*j);z=Q(g*h);h=Q(i*j);u=Q(n+Q(z+Q(i*h)));i=k==Q(0)?Q(0xde0b6b000000000):Q(Q(1)/k);a=i>2];p=J[t+4>>2];J[m>>2]=J[t>>2];J[m+4>>2]=p;p=J[t+12>>2];J[m+8>>2]=J[t+8>>2];J[m+12>>2]=p;p=J[t+28>>2];J[m+24>>2]=J[t+24>>2];J[m+28>>2]=p;p=J[t+20>>2];J[m+16>>2]=J[t+16>>2];J[m+20>>2]=p;o=N[e+84>>2];j=Q(g*Q(N[ca>>2]-o));l=N[e+88>>2];k=Q(h*Q(N[ba>>2]-l));e:{if(j>k){break e}l=Q(h*Q(N[$>>2]-l));o=Q(g*Q(N[da>>2]-o));if(l>o){break e}j=j>2];l=Q(i*Q(N[aa>>2]-q));if(j>l){break e}q=Q(i*Q(N[_>>2]-q));k=kk|!(u>(jl?l:k)>Q(0))){break e}if(J[t+40>>2]){if((a|0)>(c|0)){a=d<<1;if((a|0)>(d|0)){if((a|0)>(f|0)){f:{if(!d){c=0;break f}J[8456]=J[8456]+1;c=ua[J[8258]](d<<3,16)|0;if((d|0)<=0){break f}S=0;f=0;if(d>>>0>=4){ea=d&-4;I=0;while(1){p=f<<2;J[p+c>>2]=J[b+p>>2];L=p|4;J[L+c>>2]=J[b+L>>2];L=p|8;J[L+c>>2]=J[b+L>>2];p=p|12;J[p+c>>2]=J[b+p>>2];f=f+4|0;I=I+4|0;if((ea|0)!=(I|0)){continue}break}}p=d&3;if(!p){break f}while(1){I=f<<2;J[I+c>>2]=J[b+I>>2];f=f+1|0;S=S+1|0;if((p|0)!=(S|0)){continue}break}}f=v;v=1;if(b?f:0){J[8457]=J[8457]+1;ua[J[8259]](b)}f=a;b=c}c=d<<2;Fa(c+b|0,0,c)}d=a;c=a-2|0}J[b+X>>2]=J[t+36>>2];J[(r<<2)+b>>2]=J[t+40>>2];a=r+1|0;break e}ua[J[J[W>>2]+12>>2]](W,t)}r=a;if(a){continue}break}if(!v){break d}if(b){J[8457]=J[8457]+1;ua[J[8259]](b)}}sa=m+544|0;break a}d=J[r+24>>2];if((d|0)<=0){break a}c=0;while(1){a=J[J[e+48>>2]+32>>2]+P(c,80)|0;b=J[a+64>>2];w=N[a+56>>2];n=N[a+48>>2];x=N[a+52>>2];A=N[a+32>>2];y=N[a>>2];s=N[a+16>>2];D=N[a+36>>2];z=N[a+4>>2];E=N[a+20>>2];F=N[a+40>>2];G=N[a+8>>2];B=N[a+24>>2];a=J[e+52>>2];M=N[a+52>>2];O=N[a+56>>2];g=N[a+24>>2];h=N[a+20>>2];i=N[a+40>>2];j=N[a+36>>2];R=N[a+48>>2];k=N[a+8>>2];l=N[a>>2];o=N[a+4>>2];q=N[a+16>>2];u=N[a+32>>2];J[e+144>>2]=0;J[e+128>>2]=0;J[e+112>>2]=0;J[e+96>>2]=0;N[e+124>>2]=Q(F*i)+Q(Q(G*u)+Q(B*j));N[e+120>>2]=Q(D*i)+Q(Q(z*u)+Q(E*j));N[e+116>>2]=Q(A*i)+Q(Q(y*u)+Q(s*j));N[e+108>>2]=Q(F*g)+Q(Q(G*q)+Q(B*h));N[e+104>>2]=Q(D*g)+Q(Q(z*q)+Q(E*h));N[e+100>>2]=Q(A*g)+Q(Q(y*q)+Q(s*h));N[e+92>>2]=Q(F*k)+Q(Q(G*l)+Q(o*B));N[e+88>>2]=Q(D*k)+Q(Q(z*l)+Q(o*E));N[e+84>>2]=Q(A*k)+Q(Q(y*l)+Q(s*o));N[e+140>>2]=O+Q(Q(w*i)+Q(Q(n*u)+Q(j*x)));N[e+136>>2]=M+Q(Q(w*g)+Q(Q(n*q)+Q(h*x)));N[e+132>>2]=R+Q(Q(w*k)+Q(Q(n*l)+Q(o*x)));J[e+700>>2]=c;J[e+696>>2]=-1;J[e+688>>2]=J[e+44>>2];J[e+684>>2]=b;J[e+680>>2]=0;J[e+692>>2]=e+84;J[e+460>>2]=0;J[e+448>>2]=1065353216;J[e+452>>2]=0;J[e+472>>2]=c;J[e+464>>2]=b;J[e+444>>2]=13584;a=J[e+64>>2];J[e+468>>2]=a;N[e+448>>2]=N[a+4>>2];J[e+460>>2]=J[a+16>>2];Uc(J[e+56>>2],J[e+60>>2],e+680|0,e+444|0);c=c+1|0;if((d|0)!=(c|0)){continue}break}}sa=e+704|0}function Wd(a,b,c){var d=Q(0),e=0,f=0,g=Q(0),h=Q(0),i=Q(0),j=Q(0),k=0,l=0,m=0,n=Q(0),o=Q(0),p=Q(0),q=Q(0),r=Q(0),s=Q(0),t=Q(0),u=0,v=0,w=0,x=Q(0),y=Q(0),z=Q(0),A=Q(0),B=Q(0),C=Q(0),D=Q(0),E=Q(0),F=Q(0),G=Q(0),H=Q(0),I=Q(0),K=Q(0),L=Q(0),M=0,O=Q(0),R=Q(0),S=Q(0),T=Q(0),U=0,V=0,W=0,X=0,Z=Q(0),_=Q(0),$=0,aa=0;e=sa-96|0;sa=e;J[a+376>>2]=0;J[a+364>>2]=4;J[a+368>>2]=0;k=a+316|0;J[a+360>>2]=k;J[a+356>>2]=a+284;J[a+352>>2]=a+252;J[a+348>>2]=a+220;f=J[b+4>>2];J[a>>2]=J[b>>2];J[a+4>>2]=f;f=J[b+20>>2];J[a+16>>2]=J[b+16>>2];J[a+20>>2]=f;f=J[b+12>>2];J[a+8>>2]=J[b+8>>2];J[a+12>>2]=f;f=J[b+36>>2];J[a+32>>2]=J[b+32>>2];J[a+36>>2]=f;f=J[b+28>>2];J[a+24>>2]=J[b+24>>2];J[a+28>>2]=f;f=J[b+52>>2];J[a+48>>2]=J[b+48>>2];J[a+52>>2]=f;f=J[b+44>>2];J[a+40>>2]=J[b+40>>2];J[a+44>>2]=f;l=b- -64|0;f=J[l+4>>2];w=a- -64|0;J[w>>2]=J[l>>2];J[w+4>>2]=f;f=J[b+60>>2];J[a+56>>2]=J[b+56>>2];J[a+60>>2]=f;f=J[b+84>>2];J[a+80>>2]=J[b+80>>2];J[a+84>>2]=f;f=J[b+76>>2];J[a+72>>2]=J[b+72>>2];J[a+76>>2]=f;f=J[b+100>>2];J[a+96>>2]=J[b+96>>2];J[a+100>>2]=f;f=J[b+92>>2];J[a+88>>2]=J[b+88>>2];J[a+92>>2]=f;f=J[b+108>>2];J[a+104>>2]=J[b+104>>2];J[a+108>>2]=f;f=J[b+116>>2];J[a+112>>2]=J[b+112>>2];J[a+116>>2]=f;f=J[b+124>>2];b=J[b+120>>2];J[a+144>>2]=0;J[a+180>>2]=0;J[a+120>>2]=b;J[a+124>>2]=f;b=J[c+4>>2];J[a+128>>2]=J[c>>2];J[a+132>>2]=b;b=J[c+12>>2];J[a+136>>2]=J[c+8>>2];J[a+140>>2]=b;J[a+364>>2]=3;J[a+164>>2]=0;J[a+328>>2]=0;J[a+180>>2]=1;J[a+148>>2]=k;h=N[a+136>>2];i=N[a+128>>2];d=N[a+132>>2];g=Q(Q(h*h)+Q(Q(i*i)+Q(d*d)));b=g>Q(0);h=b?Q(-h):Q(0);i=b?Q(-i):Q(1);d=b?Q(-d):Q(0);j=Q(Q(1)/Q(Y(Q(Q(h*h)+Q(Q(i*i)+Q(d*d))))));N[a+324>>2]=h*j;N[a+320>>2]=d*j;N[k>>2]=i*j;Ra(e+16|0,a,k);b=J[e+28>>2];J[a+340>>2]=J[e+24>>2];J[a+344>>2]=b;b=J[e+20>>2];J[a+332>>2]=J[e+16>>2];J[a+336>>2]=b;J[a+164>>2]=1065353216;c=J[a+148>>2];b=J[c+20>>2];J[a+128>>2]=J[c+16>>2];J[a+132>>2]=b;b=J[c+28>>2];J[a+136>>2]=J[c+24>>2];J[a+140>>2]=b;b=J[c+28>>2];J[e+72>>2]=J[c+24>>2];J[e+76>>2]=b;b=J[c+20>>2];J[e+64>>2]=J[c+16>>2];J[e+68>>2]=b;b=J[c+28>>2];J[e+56>>2]=J[c+24>>2];J[e+60>>2]=b;b=J[c+20>>2];J[e+48>>2]=J[c+16>>2];J[e+52>>2]=b;b=J[c+28>>2];J[e+40>>2]=J[c+24>>2];J[e+44>>2]=b;b=J[c+20>>2];J[e+32>>2]=J[c+16>>2];J[e+36>>2]=b;b=J[c+28>>2];J[e+24>>2]=J[c+24>>2];J[e+28>>2]=b;b=J[c+20>>2];J[e+16>>2]=J[c+16>>2];J[e+20>>2]=b;d=N[a+136>>2];n=N[a+132>>2];j=N[a+128>>2];u=J[a+368>>2];W=a+148|0;while(1){a:{b:{o=Q(Y(Q(Q(d*d)+Q(Q(j*j)+Q(n*n)))));c:{if(o>2]=1;break c}f=P(u,36);w=f+a|0;c=J[w+180>>2];l=c<<2;J[(l+w|0)+164>>2]=0;b=J[a+364>>2]-1|0;J[a+364>>2]=b;v=f+W|0;f=J[((b<<2)+a|0)+348>>2];J[l+v>>2]=f;J[w+180>>2]=c+1;J[f+12>>2]=0;i=Q(Q(1)/o);N[f+8>>2]=i*Q(-d);N[f+4>>2]=i*Q(-n);N[f>>2]=i*Q(-j);Ra(e+80|0,a,f);b=J[e+92>>2];J[f+24>>2]=J[e+88>>2];J[f+28>>2]=b;b=J[e+84>>2];J[f+16>>2]=J[e+80>>2];J[f+20>>2]=b;d:{f=J[w+180>>2];l=J[((f<<2)+v|0)-4>>2];j=N[l+24>>2];d=Q(j-N[e+24>>2]);s=Q(d*d);h=N[l+16>>2];d=Q(h-N[e+16>>2]);p=Q(d*d);i=N[l+20>>2];d=Q(i-N[e+20>>2]);if(Q(s+Q(p+Q(d*d)))>2]);s=Q(d*d);d=Q(h-N[e+32>>2]);p=Q(d*d);d=Q(i-N[e+36>>2]);if(Q(s+Q(p+Q(d*d)))>2]);s=Q(d*d);d=Q(h-N[e+48>>2]);p=Q(d*d);d=Q(i-N[e+52>>2]);if(Q(s+Q(p+Q(d*d)))>2]);s=Q(d*d);d=Q(h-N[e+64>>2]);p=Q(d*d);d=Q(i-N[e+68>>2]);if(Q(s+Q(p+Q(d*d)))>2];X=X+1&3;c=(e+16|0)+(X<<4)|0;J[c+8>>2]=J[l+24>>2];J[c+12>>2]=b;b=J[l+20>>2];J[c>>2]=J[l+16>>2];J[c+4>>2]=b;d=Q(Q(Q(N[a+136>>2]*j)+Q(Q(N[a+128>>2]*h)+Q(N[a+132>>2]*i)))/o);O=d>O?d:O;if(Q(Q(o*Q(-9999999747378752e-20))+Q(o-O))<=Q(0)){u=J[a+368>>2];c=P(u,36)+a|0;b=J[c+180>>2]-1|0;J[c+180>>2]=b;c=J[(c+(b<<2)|0)+148>>2];b=J[a+364>>2];J[a+364>>2]=b+1;J[((b<<2)+a|0)+348>>2]=c;break c}J[e+12>>2]=0;e:{f:{g:{switch(f-2|0){case 0:c=J[v+4>>2];h=N[c+24>>2];b=J[v>>2];x=N[b+24>>2];n=Q(h-x);i=N[c+16>>2];q=N[b+16>>2];o=Q(i-q);g=N[c+20>>2];r=N[b+20>>2];j=Q(g-r);d=Q(Q(n*n)+Q(Q(o*o)+Q(j*j)));if(!(d>Q(0))){break e}t=Q(Q(-Q(Q(x*n)+Q(Q(q*o)+Q(r*j))))/d);if(t>=Q(1)){J[e+12>>2]=2;J[e+80>>2]=0;J[e+84>>2]=1065353216;g=Q(Q(h*h)+Q(Q(i*i)+Q(g*g)));break f}if(t<=Q(0)){J[e+12>>2]=1;J[e+80>>2]=1065353216;J[e+84>>2]=0;g=Q(Q(x*x)+Q(Q(q*q)+Q(r*r)));break f}J[e+12>>2]=3;N[e+84>>2]=t;N[e+80>>2]=Q(1)-t;d=Q(x+Q(n*t));p=Q(d*d);d=Q(q+Q(o*t));g=Q(d*d);d=Q(r+Q(j*t));g=Q(p+Q(g+Q(d*d)));break f;case 1:g=Nb(J[v>>2]+16|0,J[v+4>>2]+16|0,J[v+8>>2]+16|0,e+80|0,e+12|0);break f;case 2:break g;default:break f}}m=sa-32|0;sa=m;d=Q(-1);l=J[v+4>>2]+16|0;s=N[l+4>>2];k=J[v+12>>2]+16|0;C=N[k+4>>2];D=Q(s-C);f=J[v>>2]+16|0;p=N[f+8>>2];E=N[k+8>>2];F=Q(p-E);Z=Q(D*Q(-F));c=J[v+8>>2]+16|0;i=N[c>>2];G=N[k>>2];z=Q(i-G);R=N[f>>2];H=Q(R-G);_=Q(H*D);t=N[c+8>>2];A=Q(t-E);h=N[l>>2];I=Q(h-G);S=N[f+4>>2];K=Q(S-C);x=Q(I*Q(-K));T=N[l+8>>2];L=Q(T-E);q=Q(L*Q(-H));g=N[c+4>>2];B=Q(g-C);r=Q(K*L);n=Q(F*I);y=Q(Q(Z*z)+Q(Q(_*A)+Q(Q(x*A)+Q(Q(q*B)+Q(Q(r*z)+Q(n*B))))));h:{if(!(y>Q(0)|y>2]=0;J[m+16>>2]=0;J[m+20>>2]=0;J[m+12>>2]=0;if(Q(y*Q(Q(E*Q(_+x))+Q(Q(G*Q(r+Z))+Q(C*Q(n+q)))))>Q(0)){d=Nb(f,l,k,m+16|0,m+12|0);b=J[m+12>>2];J[e+12>>2]=b&3|b<<1&8;N[e+80>>2]=N[m+16>>2];g=N[m+20>>2];J[e+88>>2]=0;N[e+84>>2]=g;N[e+92>>2]=N[m+24>>2]}i:{if(!(Q(y*Q(Q(N[k+8>>2]*Q(Q(I*B)-Q(z*D)))+Q(Q(N[k>>2]*Q(Q(D*A)-Q(B*L)))+Q(N[k+4>>2]*Q(Q(L*z)-Q(A*I))))))>Q(0))){break i}g=Nb(l,c,k,m+16|0,m+12|0);if(!(d>2]=J[m+12>>2]<<1&14;N[e+84>>2]=N[m+16>>2];d=N[m+20>>2];J[e+80>>2]=0;N[e+88>>2]=d;N[e+92>>2]=N[m+24>>2];d=g}j:{if(!(Q(y*Q(Q(N[k+8>>2]*Q(Q(z*K)-Q(H*B)))+Q(Q(N[k>>2]*Q(Q(B*F)-Q(K*A)))+Q(N[k+4>>2]*Q(Q(A*H)-Q(F*z))))))>Q(0))){break j}g=Nb(c,f,k,m+16|0,m+12|0);if(!(d>2];J[e+12>>2]=b>>>1&1|b<<1&8|b<<2&4;N[e+88>>2]=N[m+16>>2];d=N[m+20>>2];J[e+84>>2]=0;N[e+80>>2]=d;N[e+92>>2]=N[m+24>>2];d=g}if(!(d>2]=15;q=N[c>>2];r=N[l+4>>2];n=N[k+8>>2];o=N[c+4>>2];j=N[l+8>>2];h=N[k>>2];i=N[c+8>>2];g=N[l>>2];d=N[k+4>>2];t=Q(Q(Q(Q(Q(q*r)*n)+Q(Q(Q(Q(Q(o*j)*h)+Q(Q(i*g)*d))-Q(Q(j*q)*d))-Q(Q(g*o)*n)))-Q(Q(r*i)*h))/y);N[e+80>>2]=t;q=N[f>>2];r=N[c+4>>2];n=N[k+8>>2];o=N[f+4>>2];j=N[c+8>>2];h=N[k>>2];i=N[f+8>>2];g=N[c>>2];d=N[k+4>>2];x=Q(Q(Q(Q(Q(q*r)*n)+Q(Q(Q(Q(Q(o*j)*h)+Q(Q(i*g)*d))-Q(Q(j*q)*d))-Q(Q(g*o)*n)))-Q(Q(r*i)*h))/y);N[e+84>>2]=x;q=N[l>>2];r=N[f+4>>2];n=N[k+8>>2];o=N[l+4>>2];j=N[f+8>>2];h=N[k>>2];i=N[l+8>>2];g=N[f>>2];d=N[k+4>>2];d=Q(Q(Q(Q(Q(q*r)*n)+Q(Q(Q(Q(Q(o*j)*h)+Q(Q(i*g)*d))-Q(Q(j*q)*d))-Q(Q(g*o)*n)))-Q(Q(r*i)*h))/y);N[e+88>>2]=d;N[e+92>>2]=Q(1)-Q(Q(t+x)+d);d=Q(0)}sa=m+32|0;g=d}if(!(g>=Q(0))){break e}u=1-u|0;b=P(u,36);U=b+a|0;J[U+180>>2]=0;J[a+136>>2]=0;J[a+140>>2]=0;J[a+128>>2]=0;J[a+132>>2]=0;J[a+368>>2]=u;m=J[w+180>>2];if(!m){d=Q(0);V=J[e+12>>2];n=Q(0);j=Q(0);break b}k=b+W|0;c=J[a+364>>2];d=Q(0);M=0;V=J[e+12>>2];n=Q(0);j=Q(0);b=0;while(1){w=b<<2;l=w+v|0;$=J[l>>2];k:{if(V>>>b&1){f=M<<2;J[f+k>>2]=$;h=N[w+(e+80|0)>>2];M=M+1|0;J[U+180>>2]=M;N[(f+U|0)+164>>2]=h;f=J[l>>2];i=N[f+24>>2];d=N[f+20>>2];j=Q(Q(h*N[f+16>>2])+N[a+128>>2]);N[a+128>>2]=j;n=Q(Q(h*d)+N[a+132>>2]);N[a+132>>2]=n;d=Q(Q(h*i)+N[a+136>>2]);N[a+136>>2]=d;break k}f=c+1|0;J[a+364>>2]=f;J[((c<<2)+a|0)+348>>2]=$;c=f}b=b+1|0;if((m|0)!=(b|0)){continue}break}break b}u=J[a+368>>2];c=P(u,36)+a|0;b=J[c+180>>2]-1|0;J[c+180>>2]=b;c=J[(c+(b<<2)|0)+148>>2];b=J[a+364>>2];J[a+364>>2]=b+1;J[((b<<2)+a|0)+348>>2]=c;break c}u=J[a+368>>2];c=P(u,36)+a|0;b=J[c+180>>2]-1|0;J[c+180>>2]=b;c=J[(c+(b<<2)|0)+148>>2];b=J[a+364>>2];J[a+364>>2]=b+1;J[((b<<2)+a|0)+348>>2]=c}b=J[a+376>>2];break a}aa=aa+1|0;b=aa>>>0>=128?2:(V|0)==15?1:J[a+376>>2];J[a+376>>2]=b;if(!b){continue}}break}J[a+372>>2]=(P(u,36)+a|0)+148;d=Q(0);l:{switch(b|0){case 0:d=N[a+136>>2];p=Q(d*d);d=N[a+128>>2];g=Q(d*d);d=N[a+132>>2];d=Q(Y(Q(p+Q(g+Q(d*d)))));case 1:N[a+144>>2]=d;break;default:break l}}sa=e+96|0;return b}function Nd(a,b,c,d,e,f,g,h){var i=0,j=0,k=0,l=0,m=0,n=0,o=Q(0),p=0,q=0,r=0,s=Q(0),t=Q(0),u=Q(0),v=0,w=Q(0),x=0,y=0,z=0,A=Q(0),B=Q(0),C=Q(0),D=Q(0),E=Q(0),F=Q(0),G=Q(0),I=Q(0),L=0,M=0,O=Q(0),R=Q(0),S=Q(0),T=Q(0),U=Q(0),V=0,W=0,X=Q(0),Y=Q(0),Z=Q(0),_=Q(0),$=Q(0),aa=Q(0),ba=Q(0),ca=Q(0);n=sa-32|0;sa=n;if((J[e+4>>2]&J[e+8>>2])<0){j=J[e+12>>2];if(!(j?!j|!K[e+16|0]:1)){J[8457]=J[8457]+1;ua[J[8259]](j)}H[e+16|0]=1;J[e+8>>2]=0;J[e+12>>2]=0}j=0;J[e+4>>2]=0;x=J[d+4>>2];if((x|0)>J[e+8>>2]){a:{if(!x){break a}J[8456]=J[8456]+1;j=ua[J[8258]](x<<4,16)|0;l=J[e+4>>2];if((l|0)<=0){break a}if((l|0)!=1){m=l&-2;while(1){y=i<<4;r=y+j|0;v=y+J[e+12>>2]|0;M=J[v+4>>2];J[r>>2]=J[v>>2];J[r+4>>2]=M;M=J[v+12>>2];J[r+8>>2]=J[v+8>>2];J[r+12>>2]=M;v=y|16;y=v+j|0;v=v+J[e+12>>2]|0;r=J[v+4>>2];J[y>>2]=J[v>>2];J[y+4>>2]=r;r=J[v+12>>2];J[y+8>>2]=J[v+8>>2];J[y+12>>2]=r;i=i+2|0;k=k+2|0;if((m|0)!=(k|0)){continue}break}}if(!(l&1)){break a}i=i<<4;k=i+j|0;i=i+J[e+12>>2]|0;l=J[i+4>>2];J[k>>2]=J[i>>2];J[k+4>>2]=l;l=J[i+12>>2];J[k+8>>2]=J[i+8>>2];J[k+12>>2]=l}i=J[e+12>>2];if(!(i?!i|!K[e+16|0]:1)){J[8457]=J[8457]+1;ua[J[8259]](i)}J[e+12>>2]=j;H[e+16|0]=1;J[e+8>>2]=x}k=J[b+28>>2];b:{if((k|0)<=0){break b}w=N[c+40>>2];A=N[c+36>>2];C=N[c+24>>2];D=N[c+20>>2];l=J[b+36>>2];E=N[a+8>>2];F=N[a+4>>2];I=N[a>>2];O=N[c+32>>2];R=N[c+16>>2];S=N[c+8>>2];T=N[c+4>>2];B=N[c>>2];i=0;o=Q(34028234663852886e22);j=-1;while(1){x=l+P(i,36)|0;u=N[x+28>>2];t=N[x+20>>2];s=N[x+24>>2];u=Q(Q(Q(Q(w*u)+Q(Q(O*t)+Q(s*A)))*E)+Q(Q(Q(Q(S*u)+Q(Q(B*t)+Q(s*T)))*I)+Q(Q(Q(C*u)+Q(Q(R*t)+Q(s*D)))*F)));x=u>2]+P(j,36)|0;W=J[v+4>>2];c:{if((W|0)<=0){j=d;break c}x=0;while(1){j=e;e=x;x=e+1|0;M=(W|0)==(x|0);l=J[b+16>>2];k=J[v+12>>2];i=l+(J[k+((M?0:x)<<2)>>2]<<4)|0;B=N[i+8>>2];G=N[i>>2];U=N[i+4>>2];e=l+(J[k+(e<<2)>>2]<<4)|0;o=N[e+8>>2];u=N[e>>2];t=N[e+4>>2];aa=N[c+56>>2];ba=N[c+48>>2];ca=N[c+52>>2];C=N[c+40>>2];D=N[c+32>>2];E=N[c+36>>2];s=N[v+28>>2];F=N[c+8>>2];w=N[v+20>>2];I=N[c>>2];A=N[v+24>>2];O=N[c+4>>2];R=N[c+24>>2];S=N[c+16>>2];T=N[c+20>>2];J[n+28>>2]=0;B=Q(o-B);G=Q(u-G);U=Q(t-U);X=Q(Q(F*B)+Q(Q(I*G)+Q(O*U)));Y=Q(Q(R*s)+Q(Q(S*w)+Q(T*A)));Z=Q(Q(F*s)+Q(Q(I*w)+Q(O*A)));_=Q(Q(R*B)+Q(Q(S*G)+Q(U*T)));$=Q(Q(X*Y)-Q(Z*_));N[n+24>>2]=-$;B=Q(Q(C*B)+Q(Q(D*G)+Q(U*E)));s=Q(Q(C*s)+Q(Q(D*w)+Q(E*A)));G=Q(Q(B*Z)-Q(s*X));N[n+20>>2]=-G;B=Q(-Q(Q(_*s)-Q(Y*B)));N[n+16>>2]=B;y=0;e=d;V=J[d+4>>2];if((V|0)>=2){d=(J[e+12>>2]+(V<<4)|0)-16|0;s=N[d+8>>2];w=N[d>>2];A=N[d+4>>2];F=Q(-Q(Q(Q(Q(ba+Q(Q(o*F)+Q(Q(u*I)+Q(t*O))))*B)-Q(Q(ca+Q(Q(o*R)+Q(Q(u*S)+Q(t*T))))*G))-Q(Q(aa+Q(Q(o*C)+Q(Q(u*D)+Q(t*E))))*$)));o=Q(Q(Q(N[n+24>>2]*s)+Q(Q(N[n+16>>2]*w)+Q(A*N[n+20>>2])))+F);while(1){d=J[e+12>>2]+(y<<4)|0;u=N[d+8>>2];D=N[d>>2];t=N[d+4>>2];C=Q(Q(Q(N[n+24>>2]*u)+Q(Q(N[n+16>>2]*D)+Q(t*N[n+20>>2])))+F);E=N[d+12>>2];d:{e:{f:{if(o>2];g:{if((d|0)!=J[j+8>>2]){break g}r=d?d<<1:1;if((r|0)<=(d|0)){break g}h:{if(!r){k=0;break h}J[8456]=J[8456]+1;k=ua[J[8258]](r<<4,16)|0;d=J[j+4>>2]}i:{if((d|0)<=0){break i}i=0;if((d|0)!=1){L=d&-2;l=0;while(1){p=i<<4;q=p+k|0;m=p+J[j+12>>2]|0;z=J[m+4>>2];J[q>>2]=J[m>>2];J[q+4>>2]=z;z=J[m+12>>2];J[q+8>>2]=J[m+8>>2];J[q+12>>2]=z;m=p|16;p=m+k|0;m=m+J[j+12>>2]|0;q=J[m+4>>2];J[p>>2]=J[m>>2];J[p+4>>2]=q;q=J[m+12>>2];J[p+8>>2]=J[m+8>>2];J[p+12>>2]=q;i=i+2|0;l=l+2|0;if((L|0)!=(l|0)){continue}break}}if(!(d&1)){break i}d=i<<4;i=d+k|0;d=d+J[j+12>>2]|0;l=J[d+4>>2];J[i>>2]=J[d>>2];J[i+4>>2]=l;l=J[d+12>>2];J[i+8>>2]=J[d+8>>2];J[i+12>>2]=l}d=J[j+12>>2];if(!(d?!d|!K[j+16|0]:1)){J[8457]=J[8457]+1;ua[J[8259]](d)}J[j+12>>2]=k;H[j+16|0]=1;J[j+8>>2]=r;d=J[j+4>>2]}i=J[j+12>>2]+(d<<4)|0;break f}o=Q(o/Q(o-C));E=Q(Q(u-s)*o);I=Q(Q(t-A)*o);w=Q(Q(Q(D-w)*o)+w);d=J[j+4>>2];j:{if((d|0)!=J[j+8>>2]){break j}r=d?d<<1:1;if((r|0)<=(d|0)){break j}k:{if(!r){k=0;break k}J[8456]=J[8456]+1;k=ua[J[8258]](r<<4,16)|0;d=J[j+4>>2]}l:{if((d|0)<=0){break l}i=0;if((d|0)!=1){L=d&-2;l=0;while(1){p=i<<4;q=p+k|0;m=p+J[j+12>>2]|0;z=J[m+4>>2];J[q>>2]=J[m>>2];J[q+4>>2]=z;z=J[m+12>>2];J[q+8>>2]=J[m+8>>2];J[q+12>>2]=z;m=p|16;p=m+k|0;m=m+J[j+12>>2]|0;q=J[m+4>>2];J[p>>2]=J[m>>2];J[p+4>>2]=q;q=J[m+12>>2];J[p+8>>2]=J[m+8>>2];J[p+12>>2]=q;i=i+2|0;l=l+2|0;if((L|0)!=(l|0)){continue}break}}if(!(d&1)){break l}d=i<<4;i=d+k|0;d=d+J[j+12>>2]|0;l=J[d+4>>2];J[i>>2]=J[d>>2];J[i+4>>2]=l;l=J[d+12>>2];J[i+8>>2]=J[d+8>>2];J[i+12>>2]=l}d=J[j+12>>2];if(!(d?!d|!K[j+16|0]:1)){J[8457]=J[8457]+1;ua[J[8259]](d)}J[j+12>>2]=k;H[j+16|0]=1;J[j+8>>2]=r;d=J[j+4>>2]}o=Q(E+s);i=J[j+12>>2]+(d<<4)|0;N[i>>2]=w;E=Q(0);s=Q(I+A);break e}if(!(C>2];m:{if((d|0)!=J[j+8>>2]){break m}r=d?d<<1:1;if((r|0)<=(d|0)){break m}n:{if(!r){k=0;break n}J[8456]=J[8456]+1;k=ua[J[8258]](r<<4,16)|0;d=J[j+4>>2]}o:{if((d|0)<=0){break o}i=0;if((d|0)!=1){L=d&-2;l=0;while(1){p=i<<4;q=p+k|0;m=p+J[j+12>>2]|0;z=J[m+4>>2];J[q>>2]=J[m>>2];J[q+4>>2]=z;z=J[m+12>>2];J[q+8>>2]=J[m+8>>2];J[q+12>>2]=z;m=p|16;p=m+k|0;m=m+J[j+12>>2]|0;q=J[m+4>>2];J[p>>2]=J[m>>2];J[p+4>>2]=q;q=J[m+12>>2];J[p+8>>2]=J[m+8>>2];J[p+12>>2]=q;i=i+2|0;l=l+2|0;if((L|0)!=(l|0)){continue}break}}if(!(d&1)){break o}d=i<<4;i=d+k|0;d=d+J[j+12>>2]|0;l=J[d+4>>2];J[i>>2]=J[d>>2];J[i+4>>2]=l;l=J[d+12>>2];J[i+8>>2]=J[d+8>>2];J[i+12>>2]=l}d=J[j+12>>2];if(!(d?!d|!K[j+16|0]:1)){J[8457]=J[8457]+1;ua[J[8259]](d)}J[j+12>>2]=k;H[j+16|0]=1;J[j+8>>2]=r;d=J[j+4>>2]}d=J[j+12>>2]+(d<<4)|0;J[d+12>>2]=0;N[d+8>>2]=s;N[d+4>>2]=A;N[d>>2]=o;d=J[j+4>>2]+1|0;J[j+4>>2]=d;p:{if(J[j+8>>2]!=(d|0)){break p}r=d?d<<1:1;if((r|0)<=(d|0)){break p}q:{if(!r){k=0;break q}J[8456]=J[8456]+1;k=ua[J[8258]](r<<4,16)|0;d=J[j+4>>2]}r:{if((d|0)<=0){break r}i=0;if((d|0)!=1){L=d&-2;l=0;while(1){p=i<<4;q=p+k|0;m=p+J[j+12>>2]|0;z=J[m+4>>2];J[q>>2]=J[m>>2];J[q+4>>2]=z;z=J[m+12>>2];J[q+8>>2]=J[m+8>>2];J[q+12>>2]=z;m=p|16;p=m+k|0;m=m+J[j+12>>2]|0;q=J[m+4>>2];J[p>>2]=J[m>>2];J[p+4>>2]=q;q=J[m+12>>2];J[p+8>>2]=J[m+8>>2];J[p+12>>2]=q;i=i+2|0;l=l+2|0;if((L|0)!=(l|0)){continue}break}}if(!(d&1)){break r}d=i<<4;i=d+k|0;d=d+J[j+12>>2]|0;l=J[d+4>>2];J[i>>2]=J[d>>2];J[i+4>>2]=l;l=J[d+12>>2];J[i+8>>2]=J[d+8>>2];J[i+12>>2]=l}d=J[j+12>>2];if(!(d?!d|!K[j+16|0]:1)){J[8457]=J[8457]+1;ua[J[8259]](d)}J[j+12>>2]=k;H[j+16|0]=1;J[j+8>>2]=r;d=J[j+4>>2]}i=J[j+12>>2]+(d<<4)|0}N[i>>2]=D;o=u;s=t}N[i+12>>2]=E;N[i+8>>2]=o;N[i+4>>2]=s;J[j+4>>2]=J[j+4>>2]+1}o=C;s=u;A=t;w=D;y=y+1|0;if((V|0)!=(y|0)){continue}break}}d=J[e+4>>2];s:{if((d|0)>=0){break s}if(J[e+8>>2]<0){i=J[e+12>>2];if(!(i?!i|!K[e+16|0]:1)){J[8457]=J[8457]+1;ua[J[8259]](i)}H[e+16|0]=1;J[e+8>>2]=0;J[e+12>>2]=0}k=0;i=d;y=0-d&3;if(y){while(1){r=J[n+4>>2];l=J[e+12>>2]+(i<<4)|0;J[l>>2]=J[n>>2];J[l+4>>2]=r;r=J[n+12>>2];J[l+8>>2]=J[n+8>>2];J[l+12>>2]=r;i=i+1|0;k=k+1|0;if((y|0)!=(k|0)){continue}break}}if(d>>>0>4294967292){break s}while(1){l=J[n+4>>2];d=i<<4;k=d+J[e+12>>2]|0;J[k>>2]=J[n>>2];J[k+4>>2]=l;l=J[n+12>>2];J[k+8>>2]=J[n+8>>2];J[k+12>>2]=l;l=J[n+12>>2];k=d+J[e+12>>2]|0;J[k+24>>2]=J[n+8>>2];J[k+28>>2]=l;l=J[n+4>>2];J[k+16>>2]=J[n>>2];J[k+20>>2]=l;l=J[n+12>>2];k=d+J[e+12>>2]|0;J[k+40>>2]=J[n+8>>2];J[k+44>>2]=l;l=J[n+4>>2];J[k+32>>2]=J[n>>2];J[k+36>>2]=l;k=J[n+12>>2];d=d+J[e+12>>2]|0;J[d+56>>2]=J[n+8>>2];J[d+60>>2]=k;k=J[n+4>>2];J[d+48>>2]=J[n>>2];J[d+52>>2]=k;i=i+4|0;if(i){continue}break}}J[e+4>>2]=0;d=j;if(!M){continue}break}}k=J[j+4>>2];if((k|0)<=0){break b}o=N[v+28>>2];u=N[v+20>>2];t=N[v+24>>2];s=Q(Q(N[c+40>>2]*o)+Q(Q(N[c+32>>2]*u)+Q(t*N[c+36>>2])));w=Q(Q(N[c+8>>2]*o)+Q(Q(N[c>>2]*u)+Q(t*N[c+4>>2])));o=Q(Q(N[c+24>>2]*o)+Q(Q(N[c+16>>2]*u)+Q(t*N[c+20>>2])));u=Q(N[v+32>>2]-Q(Q(s*N[c+56>>2])+Q(Q(w*N[c+48>>2])+Q(o*N[c+52>>2]))));e=0;while(1){b=J[j+12>>2]+(e<<4)|0;t=Q(u+Q(Q(s*N[b+8>>2])+Q(Q(w*N[b>>2])+Q(o*N[b+4>>2]))));t=f>=t?f:t;if(t<=g){c=J[b+12>>2];J[n+24>>2]=J[b+8>>2];J[n+28>>2]=c;c=J[b+4>>2];J[n+16>>2]=J[b>>2];J[n+20>>2]=c;ua[J[J[h>>2]+16>>2]](h,a,n+16|0,t);k=J[j+4>>2]}e=e+1|0;if((k|0)>(e|0)){continue}break}}sa=n+32|0}function an(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=Q(0),h=Q(0),i=0,j=Q(0),k=0,l=Q(0),m=Q(0),n=Q(0),o=Q(0),p=Q(0),q=Q(0),r=Q(0),s=Q(0),t=Q(0),u=Q(0),v=Q(0),w=Q(0),x=Q(0),y=Q(0),z=Q(0),A=Q(0),B=0,C=0,D=Q(0),E=Q(0),F=0,G=0,H=0,I=0,K=0,L=Q(0),M=Q(0),O=Q(0),R=0,S=Q(0),T=0;e=sa-144|0;sa=e;a:{if(!(ua[J[J[a>>2]+20>>2]](a)|0)){break a}f=ua[J[J[a>>2]+20>>2]](a)|0;if(!(ua[J[J[f>>2]+56>>2]](f)&32768)){break a}f=ua[J[J[a>>2]+20>>2]](a)|0;ua[J[J[f>>2]+64>>2]](f,b,Q(.10000000149011612))}b:{c:{d:{e:{f:{g:{h:{i:{j:{k:{f=J[c+4>>2];switch(f|0){case 0:break j;case 31:break k;case 28:break d;case 13:break e;case 11:break f;case 10:break g;case 9:break h;case 8:break i;default:break c}}f=J[c+24>>2];if((f|0)<=0){break b}while(1){k=f-1|0;i=J[c+32>>2]+P(k,80)|0;B=J[i+64>>2];p=N[i+56>>2];q=N[i+48>>2];w=N[i+52>>2];x=N[i+32>>2];y=N[i>>2];z=N[i+16>>2];A=N[i+36>>2];r=N[i+4>>2];s=N[i+20>>2];t=N[i+40>>2];D=N[i+8>>2];E=N[i+24>>2];L=N[b+48>>2];M=N[b+52>>2];O=N[b+56>>2];g=N[b+8>>2];h=N[b>>2];j=N[b+4>>2];l=N[b+24>>2];m=N[b+16>>2];n=N[b+20>>2];u=N[b+40>>2];v=N[b+32>>2];o=N[b+36>>2];J[e+60>>2]=0;J[e+44>>2]=0;J[e+28>>2]=0;J[e+12>>2]=0;N[e+40>>2]=Q(t*u)+Q(Q(D*v)+Q(E*o));N[e+36>>2]=Q(A*u)+Q(Q(r*v)+Q(s*o));N[e+32>>2]=Q(x*u)+Q(Q(y*v)+Q(z*o));N[e+24>>2]=Q(t*l)+Q(Q(D*m)+Q(E*n));N[e+20>>2]=Q(A*l)+Q(Q(r*m)+Q(s*n));N[e+16>>2]=Q(x*l)+Q(Q(y*m)+Q(z*n));N[e+8>>2]=Q(t*g)+Q(Q(D*h)+Q(E*j));N[e+4>>2]=Q(A*g)+Q(Q(r*h)+Q(s*j));N[e>>2]=Q(x*g)+Q(Q(y*h)+Q(z*j));N[e+56>>2]=O+Q(Q(p*u)+Q(Q(q*v)+Q(w*o)));N[e+52>>2]=M+Q(Q(p*l)+Q(Q(q*m)+Q(w*n)));N[e+48>>2]=L+Q(Q(p*g)+Q(Q(q*h)+Q(w*j)));ua[J[J[a>>2]+28>>2]](a,e,B,d);i=f>>>0>1;f=k;if(i){continue}break}break b}f=J[c+48>>2];J[e+8>>2]=J[c+44>>2];J[e+12>>2]=f;f=J[c+40>>2];J[e>>2]=J[c+36>>2];J[e+4>>2]=f;g=Q(ua[J[J[c>>2]+48>>2]](c));h=Q(ua[J[J[c>>2]+48>>2]](c));j=Q(Q(ua[J[J[c>>2]+48>>2]](c))+N[e+8>>2]);N[e+8>>2]=j;g=Q(g+N[e>>2]);N[e>>2]=g;h=Q(h+N[e+4>>2]);N[e+4>>2]=h;a=ua[J[J[a>>2]+20>>2]](a)|0;J[e+140>>2]=0;N[e+136>>2]=-j;N[e+132>>2]=-h;N[e+128>>2]=-g;ua[J[J[a>>2]+80>>2]](a,e+128|0,e,b,d);break b}g=Q(ua[J[J[c>>2]+48>>2]](c));a=ua[J[J[a>>2]+20>>2]](a)|0;ua[J[J[a>>2]+24>>2]](a,g,b,d);break b}f=J[c+100>>2];if((f|0)<=0){break b}while(1){k=f-1|0;i=J[c+108>>2]+(k<<4)|0;g=N[i+8>>2];h=N[i>>2];j=N[i+4>>2];i=ua[J[J[a>>2]+20>>2]](a)|0;x=N[J[c+128>>2]+(k<<2)>>2];y=N[b+48>>2];z=N[b+52>>2];A=N[b+56>>2];l=N[b+8>>2];m=N[b>>2];n=N[b+4>>2];u=N[b+24>>2];v=N[b+16>>2];o=N[b+20>>2];p=N[b+40>>2];q=N[b+32>>2];w=N[b+36>>2];J[e+60>>2]=0;J[e+44>>2]=0;J[e+28>>2]=0;J[e+12>>2]=0;r=Q(q*Q(0));s=Q(w*Q(0));N[e+40>>2]=p+Q(r+s);t=Q(p*Q(0));N[e+36>>2]=t+Q(r+w);N[e+32>>2]=t+Q(q+s);r=Q(v*Q(0));s=Q(o*Q(0));N[e+24>>2]=u+Q(r+s);t=Q(u*Q(0));N[e+20>>2]=t+Q(r+o);N[e+16>>2]=t+Q(v+s);r=Q(m*Q(0));s=Q(n*Q(0));N[e+8>>2]=l+Q(r+s);t=Q(l*Q(0));N[e+4>>2]=t+Q(r+n);N[e>>2]=t+Q(m+s);N[e+56>>2]=A+Q(Q(g*p)+Q(Q(h*q)+Q(j*w)));N[e+52>>2]=z+Q(Q(g*u)+Q(Q(h*v)+Q(j*o)));N[e+48>>2]=y+Q(Q(g*l)+Q(Q(h*m)+Q(j*n)));ua[J[J[i>>2]+24>>2]](i,x,e,d);i=f>>>0>1;f=k;if(i){continue}break}break b}f=J[c+60>>2];c=c+36|0;g=N[(f<<2)+c>>2];h=N[c+((f+2|0)%3<<2)>>2];a=ua[J[J[a>>2]+20>>2]](a)|0;ua[J[J[a>>2]+84>>2]](a,h,g,f,b,d);break b}f=J[c+76>>2];g=N[c+68>>2];h=N[c+64>>2];a=ua[J[J[a>>2]+20>>2]](a)|0;ua[J[J[a>>2]+92>>2]](a,h,g,f,b,d);break b}f=J[c+60>>2];g=Q(ua[J[J[c>>2]+92>>2]](c));k=J[c+48>>2];J[e+8>>2]=J[c+44>>2];J[e+12>>2]=k;k=J[c+40>>2];J[e>>2]=J[c+36>>2];J[e+4>>2]=k;h=Q(ua[J[J[c>>2]+48>>2]](c));j=Q(ua[J[J[c>>2]+48>>2]](c));R=e,S=Q(Q(ua[J[J[c>>2]+48>>2]](c))+N[e+8>>2]),N[R+8>>2]=S;N[e>>2]=h+N[e>>2];N[e+4>>2]=j+N[e+4>>2];h=N[(f<<2)+e>>2];a=ua[J[J[a>>2]+20>>2]](a)|0;ua[J[J[a>>2]+88>>2]](a,g,h,f,b,d);break b}g=N[c+72>>2];a=ua[J[J[a>>2]+20>>2]](a)|0;ua[J[J[a>>2]+96>>2]](a,c+56|0,g,b,d);break b}l:{if((f|0)>6){break l}B=J[c+60>>2];if(B){if(J[B+28>>2]<=0){break l}while(1){i=J[B+36>>2];F=P(G,36);f=i+F|0;H=J[f+4>>2];m:{if((H|0)<=0){g=Q(0);h=Q(0);j=Q(0);break m}k=J[(J[f+12>>2]+(H<<2)|0)-4>>2];j=Q(0);f=0;h=Q(0);g=Q(0);while(1){i=J[J[(i+F|0)+12>>2]+(f<<2)>>2];I=i<<4;C=I+J[B+16>>2]|0;t=N[C>>2];D=N[C+4>>2];E=N[C+8>>2];C=ua[J[J[a>>2]+20>>2]](a)|0;K=J[B+16>>2];k=K+(k<<4)|0;l=N[k+8>>2];m=N[k>>2];n=N[k+4>>2];u=N[b+48>>2];v=N[b+8>>2];o=N[b>>2];p=N[b+4>>2];q=N[b+52>>2];w=N[b+24>>2];x=N[b+16>>2];y=N[b+20>>2];z=N[b+56>>2];A=N[b+40>>2];r=N[b+32>>2];s=N[b+36>>2];J[e+12>>2]=0;N[e+8>>2]=z+Q(Q(l*A)+Q(Q(m*r)+Q(n*s)));N[e+4>>2]=q+Q(Q(l*w)+Q(Q(m*x)+Q(n*y)));N[e>>2]=u+Q(Q(l*v)+Q(Q(m*o)+Q(n*p)));k=I+K|0;l=N[k+8>>2];m=N[k>>2];n=N[k+4>>2];J[e+140>>2]=0;N[e+136>>2]=z+Q(Q(l*A)+Q(Q(m*r)+Q(s*n)));N[e+132>>2]=q+Q(Q(l*w)+Q(Q(m*x)+Q(y*n)));N[e+128>>2]=u+Q(Q(l*v)+Q(Q(m*o)+Q(p*n)));ua[J[J[C>>2]+16>>2]](C,e,e+128|0,d);j=Q(j+E);h=Q(h+D);g=Q(g+t);k=i;f=f+1|0;i=J[B+36>>2];if((f|0)>2]){continue}break}}f=ua[J[J[a>>2]+20>>2]](a)|0;if(ua[J[J[f>>2]+56>>2]](f)&16384){J[e+8>>2]=0;J[e+12>>2]=0;J[e>>2]=1065353216;J[e+4>>2]=1065353216;f=J[B+36>>2]+F|0;r=N[f+28>>2];s=N[f+20>>2];t=N[f+24>>2];f=ua[J[J[a>>2]+20>>2]](a)|0;l=N[b+48>>2];m=N[b+8>>2];n=N[b>>2];u=N[b+4>>2];v=N[b+52>>2];o=N[b+24>>2];p=N[b+16>>2];q=N[b+20>>2];w=N[b+56>>2];x=N[b+40>>2];y=N[b+32>>2];z=N[b+36>>2];J[e+140>>2]=0;A=Q(Q(1)/Q(H|0));j=Q(A*j);g=Q(A*g);h=Q(A*h);N[e+136>>2]=w+Q(Q(x*j)+Q(Q(y*g)+Q(z*h)));N[e+132>>2]=v+Q(Q(j*o)+Q(Q(g*p)+Q(h*q)));N[e+128>>2]=l+Q(Q(j*m)+Q(Q(g*n)+Q(h*u)));J[e+124>>2]=0;j=Q(j+r);g=Q(g+s);h=Q(h+t);N[e+120>>2]=w+Q(Q(x*j)+Q(Q(y*g)+Q(z*h)));N[e+116>>2]=v+Q(Q(j*o)+Q(Q(g*p)+Q(h*q)));N[e+112>>2]=l+Q(Q(j*m)+Q(Q(g*n)+Q(h*u)));ua[J[J[f>>2]+16>>2]](f,e+128|0,e+112|0,e)}G=G+1|0;if((G|0)>2]){continue}break}break l}if((ua[J[J[c>>2]+100>>2]](c)|0)<=0){break l}f=0;while(1){ua[J[J[c>>2]+104>>2]](c,f,e,e+128|0);g=N[b+48>>2];h=N[b+8>>2];j=N[b>>2];l=N[b+4>>2];m=N[b+52>>2];n=N[b+24>>2];u=N[b+16>>2];v=N[b+20>>2];o=N[b+56>>2];p=N[b+40>>2];q=N[b+32>>2];w=N[b+36>>2];J[e+124>>2]=0;x=N[e+8>>2];y=N[e>>2];z=N[e+4>>2];N[e+120>>2]=o+Q(Q(p*x)+Q(Q(q*y)+Q(w*z)));N[e+116>>2]=m+Q(Q(x*n)+Q(Q(y*u)+Q(z*v)));N[e+112>>2]=g+Q(Q(x*h)+Q(Q(y*j)+Q(z*l)));J[e+108>>2]=0;r=o;o=N[e+136>>2];s=Q(p*o);p=N[e+128>>2];t=Q(q*p);q=N[e+132>>2];N[e+104>>2]=r+Q(s+Q(t+Q(w*q)));N[e+100>>2]=m+Q(Q(o*n)+Q(Q(p*u)+Q(v*q)));N[e+96>>2]=g+Q(Q(o*h)+Q(Q(p*j)+Q(l*q)));k=ua[J[J[a>>2]+20>>2]](a)|0;ua[J[J[k>>2]+16>>2]](k,e+112|0,e+96|0,d);f=f+1|0;if((ua[J[J[c>>2]+100>>2]](c)|0)>(f|0)){continue}break}}f=J[c+4>>2];if(f-21>>>0<=8){J[e+136>>2]=1566444395;J[e+140>>2]=0;J[e+128>>2]=1566444395;J[e+132>>2]=1566444395;J[e+120>>2]=-581039253;J[e+124>>2]=0;J[e+112>>2]=-581039253;J[e+116>>2]=-581039253;R=e,T=ua[J[J[a>>2]+20>>2]](a)|0,J[R+8>>2]=T;J[e+4>>2]=14868;J[e>>2]=14844;f=J[d+12>>2];J[e+20>>2]=J[d+8>>2];J[e+24>>2]=f;f=J[d+4>>2];J[e+12>>2]=J[d>>2];J[e+16>>2]=f;f=J[b+12>>2];J[e+36>>2]=J[b+8>>2];J[e+40>>2]=f;f=J[b+4>>2];J[e+28>>2]=J[b>>2];J[e+32>>2]=f;f=J[b+20>>2];J[e+44>>2]=J[b+16>>2];J[e+48>>2]=f;f=J[b+28>>2];J[e+52>>2]=J[b+24>>2];J[e+56>>2]=f;f=J[b+44>>2];J[e+68>>2]=J[b+40>>2];J[e+72>>2]=f;f=J[b+36>>2];J[e+60>>2]=J[b+32>>2];J[e+64>>2]=f;f=J[b+52>>2];J[e+76>>2]=J[b+48>>2];J[e+80>>2]=f;f=J[b+60>>2];J[e+84>>2]=J[b+56>>2];J[e+88>>2]=f;ua[J[J[c>>2]+64>>2]](c,e,e+112|0,e+128|0);f=J[c+4>>2]}if((f|0)!=3){break b}J[e+136>>2]=1566444395;J[e+140>>2]=0;J[e+128>>2]=1566444395;J[e+132>>2]=1566444395;J[e+120>>2]=-581039253;J[e+124>>2]=0;J[e+112>>2]=-581039253;J[e+116>>2]=-581039253;R=e,T=ua[J[J[a>>2]+20>>2]](a)|0,J[R+8>>2]=T;J[e+4>>2]=14868;J[e>>2]=14844;a=J[d+12>>2];J[e+20>>2]=J[d+8>>2];J[e+24>>2]=a;a=J[d+4>>2];J[e+12>>2]=J[d>>2];J[e+16>>2]=a;a=J[b+12>>2];J[e+36>>2]=J[b+8>>2];J[e+40>>2]=a;a=J[b+4>>2];J[e+28>>2]=J[b>>2];J[e+32>>2]=a;a=J[b+20>>2];J[e+44>>2]=J[b+16>>2];J[e+48>>2]=a;a=J[b+28>>2];J[e+52>>2]=J[b+24>>2];J[e+56>>2]=a;a=J[b+44>>2];J[e+68>>2]=J[b+40>>2];J[e+72>>2]=a;a=J[b+36>>2];J[e+60>>2]=J[b+32>>2];J[e+64>>2]=a;a=J[b+52>>2];J[e+76>>2]=J[b+48>>2];J[e+80>>2]=a;a=J[b+60>>2];J[e+84>>2]=J[b+56>>2];J[e+88>>2]=a;a=J[c+100>>2];ua[J[J[a>>2]+8>>2]](a,e+4|0,e+112|0,e+128|0)}sa=e+144|0}function ke(a,b,c,d,e){var f=Q(0),g=0,h=0,i=0,j=0,k=0,l=0,m=Q(0),n=Q(0),o=Q(0),p=Q(0),q=0,r=Q(0),s=0,t=0,u=Q(0),v=Q(0),w=Q(0),x=Q(0),y=Q(0);k=sa-48|0;sa=k;H[a+60|0]=c;a:{if(c){f=N[d>>2];m=N[d+4>>2];n=N[d+8>>2];J[a+16>>2]=0;p=Q(n+Q(-1));N[a+12>>2]=p;m=Q(m+Q(-1));N[a+8>>2]=m;n=Q(f+Q(-1));N[a+4>>2]=n;o=N[e>>2];r=N[e+4>>2];f=N[e+8>>2];H[a+60|0]=1;J[a+48>>2]=0;J[a+32>>2]=0;u=Q(f+Q(1));N[a+28>>2]=u;v=Q(r+Q(1));N[a+24>>2]=v;r=Q(o+Q(1));N[a+20>>2]=r;w=Q(Q(65533)/Q(u-p));N[a+44>>2]=w;o=Q(Q(65533)/Q(v-m));N[a+40>>2]=o;x=Q(Q(65533)/Q(r-n));N[a+36>>2]=x;f=Q(Q(p-p)*w);b:{if(f=Q(0)){c=~~f>>>0;break b}c=0}y=Q((c&65534)>>>0);f=Q(Q(m-m)*o);c:{if(f=Q(0)){c=~~f>>>0;break c}c=0}o=Q(m+Q(Q((c&65534)>>>0)/o));f=Q(Q(n-n)*x);d:{if(f=Q(0)){c=~~f>>>0;break d}c=0}f=Q(Q(n+Q(Q((c&65534)>>>0)/x))+Q(-1));if(f>2]=f;n=f}f=Q(o+Q(-1));if(f>2]=f;m=f}f=Q(Q(p+Q(y/w))+Q(-1));if(f>2]=f;p=f}f=Q(u-p);w=Q(Q(65533)/f);f=Q(Q(f*w)+Q(1));e:{if(f=Q(0)){c=~~f>>>0;break e}c=0}y=Q((c|1)>>>0);f=Q(v-m);o=Q(Q(65533)/f);f=Q(Q(f*o)+Q(1));f:{if(f=Q(0)){c=~~f>>>0;break f}c=0}o=Q(m+Q(Q((c|1)>>>0)/o));f=Q(r-n);x=Q(Q(65533)/f);f=Q(Q(f*x)+Q(1));g:{if(f=Q(0)){c=~~f>>>0;break g}c=0}f=Q(Q(n+Q(Q((c|1)>>>0)/x))+Q(1));if(f>r){N[a+20>>2]=f;r=f}f=Q(o+Q(1));if(f>v){N[a+24>>2]=f;v=f}f=Q(Q(p+Q(y/w))+Q(1));if(f>u){N[a+28>>2]=f;u=f}J[a+48>>2]=0;N[a+44>>2]=Q(65533)/Q(u-p);N[a+40>>2]=Q(65533)/Q(v-m);N[a+36>>2]=Q(65533)/Q(r-n);J[k+32>>2]=a;J[k+28>>2]=a+104;J[k+24>>2]=20556;ua[J[J[b>>2]+8>>2]](b,k+24|0,a+4|0,a+20|0);c=J[a+128>>2];s=J[a+108>>2];j=s<<1;h:{if((c|0)>=(j|0)){break h}if((j|0)>J[a+132>>2]){i:{if(!s){d=0;e=c;break i}J[8456]=J[8456]+1;d=ua[J[8258]](s<<5,16)|0;e=J[a+128>>2]}j:{if((e|0)<=0){break j}b=0;if((e|0)!=1){t=e&-2;while(1){i=b<<4;h=i+d|0;q=i+J[a+136>>2]|0;g=J[q+4>>2];J[h>>2]=J[q>>2];J[h+4>>2]=g;g=J[q+12>>2];J[h+8>>2]=J[q+8>>2];J[h+12>>2]=g;g=i|16;h=g+d|0;i=g+J[a+136>>2]|0;g=J[i+4>>2];J[h>>2]=J[i>>2];J[h+4>>2]=g;g=J[i+12>>2];J[h+8>>2]=J[i+8>>2];J[h+12>>2]=g;b=b+2|0;l=l+2|0;if((t|0)!=(l|0)){continue}break}}if(!(e&1)){break j}b=b<<4;e=b+d|0;g=b+J[a+136>>2]|0;b=J[g+4>>2];J[e>>2]=J[g>>2];J[e+4>>2]=b;b=J[g+12>>2];J[e+8>>2]=J[g+8>>2];J[e+12>>2]=b}b=J[a+136>>2];if(!(b?!b|!K[a+140|0]:1)){J[8457]=J[8457]+1;ua[J[8259]](b)}J[a+136>>2]=d;H[a+140|0]=1;J[a+132>>2]=j}e=j+(c^-1)|0;d=j-c&3;if(d){b=0;while(1){g=J[a+136>>2]+(c<<4)|0;J[g>>2]=0;J[g+4>>2]=0;J[g+8>>2]=0;J[g+12>>2]=0;c=c+1|0;b=b+1|0;if((d|0)!=(b|0)){continue}break}}if(e>>>0<3){break h}while(1){d=c<<4;b=d+J[a+136>>2]|0;J[b>>2]=0;J[b+4>>2]=0;J[b+8>>2]=0;J[b+12>>2]=0;b=d+J[a+136>>2]|0;J[b+24>>2]=0;J[b+28>>2]=0;J[b+16>>2]=0;J[b+20>>2]=0;b=d+J[a+136>>2]|0;J[b+40>>2]=0;J[b+44>>2]=0;J[b+32>>2]=0;J[b+36>>2]=0;b=d+J[a+136>>2]|0;J[b+56>>2]=0;J[b+60>>2]=0;J[b+48>>2]=0;J[b+52>>2]=0;c=c+4|0;if((j|0)!=(c|0)){continue}break}}J[a+128>>2]=j;break a}J[k+40>>2]=20688;J[k+44>>2]=a- -64;J[k+32>>2]=-581039253;J[k+36>>2]=0;J[k+24>>2]=-581039253;J[k+28>>2]=-581039253;J[k+16>>2]=1566444395;J[k+20>>2]=0;J[k+8>>2]=1566444395;J[k+12>>2]=1566444395;ua[J[J[b>>2]+8>>2]](b,k+40|0,k+24|0,k+8|0);b=J[a+88>>2];s=J[a+68>>2];l=s<<1;k:{if((b|0)>=(l|0)){break k}if((l|0)>J[a+92>>2]){if(s){J[8456]=J[8456]+1;q=ua[J[8258]](s<<7,16)|0;c=J[a+88>>2]}else{c=b}l:{if((c|0)<=0){break l}d=0;if((c|0)!=1){t=c&-2;while(1){i=d<<6;h=i+q|0;j=i+J[a+96>>2]|0;e=J[j+4>>2];J[h>>2]=J[j>>2];J[h+4>>2]=e;e=J[j+60>>2];J[h+56>>2]=J[j+56>>2];J[h+60>>2]=e;e=J[j+52>>2];J[h+48>>2]=J[j+48>>2];J[h+52>>2]=e;e=J[j+44>>2];J[h+40>>2]=J[j+40>>2];J[h+44>>2]=e;e=J[j+36>>2];J[h+32>>2]=J[j+32>>2];J[h+36>>2]=e;e=J[j+28>>2];J[h+24>>2]=J[j+24>>2];J[h+28>>2]=e;e=J[j+20>>2];J[h+16>>2]=J[j+16>>2];J[h+20>>2]=e;e=J[j+12>>2];J[h+8>>2]=J[j+8>>2];J[h+12>>2]=e;e=i|64;h=e+q|0;i=e+J[a+96>>2]|0;e=J[i+4>>2];J[h>>2]=J[i>>2];J[h+4>>2]=e;e=J[i+12>>2];J[h+8>>2]=J[i+8>>2];J[h+12>>2]=e;e=J[i+20>>2];J[h+16>>2]=J[i+16>>2];J[h+20>>2]=e;e=J[i+28>>2];J[h+24>>2]=J[i+24>>2];J[h+28>>2]=e;e=J[i+36>>2];J[h+32>>2]=J[i+32>>2];J[h+36>>2]=e;e=J[i+44>>2];J[h+40>>2]=J[i+40>>2];J[h+44>>2]=e;e=J[i+52>>2];J[h+48>>2]=J[i+48>>2];J[h+52>>2]=e;e=J[i+60>>2];J[h+56>>2]=J[i+56>>2];J[h+60>>2]=e;d=d+2|0;g=g+2|0;if((t|0)!=(g|0)){continue}break}}if(!(c&1)){break l}c=d<<6;d=c+q|0;e=c+J[a+96>>2]|0;c=J[e+4>>2];J[d>>2]=J[e>>2];J[d+4>>2]=c;c=J[e+60>>2];J[d+56>>2]=J[e+56>>2];J[d+60>>2]=c;c=J[e+52>>2];J[d+48>>2]=J[e+48>>2];J[d+52>>2]=c;c=J[e+44>>2];J[d+40>>2]=J[e+40>>2];J[d+44>>2]=c;c=J[e+36>>2];J[d+32>>2]=J[e+32>>2];J[d+36>>2]=c;c=J[e+28>>2];J[d+24>>2]=J[e+24>>2];J[d+28>>2]=c;c=J[e+20>>2];J[d+16>>2]=J[e+16>>2];J[d+20>>2]=c;c=J[e+12>>2];J[d+8>>2]=J[e+8>>2];J[d+12>>2]=c}c=J[a+96>>2];if(!(c?!c|!K[a+100|0]:1)){J[8457]=J[8457]+1;ua[J[8259]](c)}J[a+96>>2]=q;H[a+100|0]=1;J[a+92>>2]=l}d=l+(b^-1)|0;c=l-b&3;if(c){e=0;while(1){g=J[a+96>>2]+(b<<6)|0;J[g>>2]=0;J[g+4>>2]=0;J[g+56>>2]=0;J[g+60>>2]=0;J[g+48>>2]=0;J[g+52>>2]=0;J[g+40>>2]=0;J[g+44>>2]=0;J[g+32>>2]=0;J[g+36>>2]=0;J[g+24>>2]=0;J[g+28>>2]=0;J[g+16>>2]=0;J[g+20>>2]=0;J[g+8>>2]=0;J[g+12>>2]=0;b=b+1|0;e=e+1|0;if((c|0)!=(e|0)){continue}break}}if(d>>>0<3){break k}while(1){d=b<<6;c=d+J[a+96>>2]|0;J[c>>2]=0;J[c+4>>2]=0;J[c+56>>2]=0;J[c+60>>2]=0;J[c+48>>2]=0;J[c+52>>2]=0;J[c+40>>2]=0;J[c+44>>2]=0;J[c+32>>2]=0;J[c+36>>2]=0;J[c+24>>2]=0;J[c+28>>2]=0;J[c+16>>2]=0;J[c+20>>2]=0;J[c+8>>2]=0;J[c+12>>2]=0;c=d+J[a+96>>2]|0;J[c+120>>2]=0;J[c+124>>2]=0;J[c+112>>2]=0;J[c+116>>2]=0;J[c+104>>2]=0;J[c+108>>2]=0;J[c+96>>2]=0;J[c+100>>2]=0;J[c+88>>2]=0;J[c+92>>2]=0;J[c+80>>2]=0;J[c+84>>2]=0;J[c+72>>2]=0;J[c+76>>2]=0;c=c- -64|0;J[c>>2]=0;J[c+4>>2]=0;c=d+J[a+96>>2]|0;J[c+184>>2]=0;J[c+188>>2]=0;J[c+176>>2]=0;J[c+180>>2]=0;J[c+168>>2]=0;J[c+172>>2]=0;J[c+160>>2]=0;J[c+164>>2]=0;J[c+152>>2]=0;J[c+156>>2]=0;J[c+144>>2]=0;J[c+148>>2]=0;J[c+136>>2]=0;J[c+140>>2]=0;J[c+128>>2]=0;J[c+132>>2]=0;c=d+J[a+96>>2]|0;J[c+248>>2]=0;J[c+252>>2]=0;J[c+240>>2]=0;J[c+244>>2]=0;J[c+232>>2]=0;J[c+236>>2]=0;J[c+224>>2]=0;J[c+228>>2]=0;J[c+216>>2]=0;J[c+220>>2]=0;J[c+208>>2]=0;J[c+212>>2]=0;J[c+200>>2]=0;J[c+204>>2]=0;J[c+192>>2]=0;J[c+196>>2]=0;b=b+4|0;if((l|0)!=(b|0)){continue}break}}J[a+88>>2]=l}J[a+56>>2]=0;Hc(a,0,s);if(!(J[a+152>>2]|!K[a+60|0])){if(J[a+156>>2]){b=1}else{J[8456]=J[8456]+1;t=ua[J[8258]](32,16)|0;h=J[a+152>>2];m:{if((h|0)<=0){break m}e=0;if((h|0)!=1){d=h&-2;l=0;while(1){g=e<<5;c=g+t|0;i=g+J[a+160>>2]|0;b=J[i+4>>2];J[c>>2]=J[i>>2];J[c+4>>2]=b;b=J[i+28>>2];J[c+24>>2]=J[i+24>>2];J[c+28>>2]=b;b=J[i+20>>2];J[c+16>>2]=J[i+16>>2];J[c+20>>2]=b;b=J[i+12>>2];J[c+8>>2]=J[i+8>>2];J[c+12>>2]=b;b=g|32;c=b+t|0;g=b+J[a+160>>2]|0;b=J[g+4>>2];J[c>>2]=J[g>>2];J[c+4>>2]=b;b=J[g+12>>2];J[c+8>>2]=J[g+8>>2];J[c+12>>2]=b;b=J[g+20>>2];J[c+16>>2]=J[g+16>>2];J[c+20>>2]=b;b=J[g+28>>2];J[c+24>>2]=J[g+24>>2];J[c+28>>2]=b;e=e+2|0;l=l+2|0;if((d|0)!=(l|0)){continue}break}}if(!(h&1)){break m}b=e<<5;c=b+t|0;d=b+J[a+160>>2]|0;b=J[d+4>>2];J[c>>2]=J[d>>2];J[c+4>>2]=b;b=J[d+28>>2];J[c+24>>2]=J[d+24>>2];J[c+28>>2]=b;b=J[d+20>>2];J[c+16>>2]=J[d+16>>2];J[c+20>>2]=b;b=J[d+12>>2];J[c+8>>2]=J[d+8>>2];J[c+12>>2]=b}b=J[a+160>>2];if(!(b?!b|!K[a+164|0]:1)){J[8457]=J[8457]+1;ua[J[8259]](b)}J[a+160>>2]=t;H[a+164|0]=1;J[a+156>>2]=1;b=J[a+152>>2]+1|0}J[a+152>>2]=b;d=J[a+160>>2];c=J[a+136>>2];I[d>>1]=L[c>>1];I[d+2>>1]=L[c+2>>1];I[d+4>>1]=L[c+4>>1];I[d+6>>1]=L[c+6>>1];I[d+8>>1]=L[c+8>>1];b=L[c+10>>1];J[d+12>>2]=0;I[d+10>>1]=b;b=J[c+12>>2];J[d+16>>2]=(b|0)>=0?1:0-b|0}J[a+168>>2]=J[a+152>>2];b=J[a+116>>2];if(!(b?!b|!K[a+120|0]:1)){J[8457]=J[8457]+1;ua[J[8259]](b)}J[a+116>>2]=0;H[a+120|0]=1;J[a+108>>2]=0;J[a+112>>2]=0;b=J[a+76>>2];if(!(b?!b|!K[a+80|0]:1)){J[8457]=J[8457]+1;ua[J[8259]](b)}J[a+76>>2]=0;H[a+80|0]=1;J[a+68>>2]=0;J[a+72>>2]=0;sa=k+48|0}function si(a){a=a|0;var b=0,c=Q(0),d=0,e=Q(0),f=Q(0),g=Q(0),h=Q(0),i=Q(0),j=Q(0),k=Q(0),l=Q(0),m=Q(0),n=Q(0),o=0,p=Q(0),q=Q(0),r=0,s=Q(0),t=Q(0),u=Q(0),v=Q(0),w=Q(0),x=Q(0),y=Q(0),z=Q(0),A=Q(0),B=Q(0),C=Q(0),D=Q(0),E=Q(0),F=Q(0),G=Q(0),H=Q(0),I=Q(0),L=Q(0),M=Q(0),O=Q(0),S=Q(0),T=0,U=0,V=0,W=Q(0),X=Q(0),Z=Q(0),_=0;r=sa-48|0;sa=r;if(K[a+738|0]){J[a+744>>2]=0;J[a+36>>2]=0;if(!K[a+736|0]){e=N[a+672>>2];b=J[a+32>>2];g=N[a+664>>2];h=N[a+668>>2];p=Q(Q(Q(e*N[b+44>>2])+Q(Q(g*N[b+36>>2])+Q(h*N[b+40>>2])))+N[b+60>>2]);f=N[a+608>>2];d=J[a+28>>2];c=N[a+600>>2];j=N[a+604>>2];m=Q(Q(Q(f*N[d+44>>2])+Q(Q(c*N[d+36>>2])+Q(j*N[d+40>>2])))+N[d+60>>2]);i=Q(p-m);t=Q(Q(Q(e*N[b+12>>2])+Q(Q(g*N[b+4>>2])+Q(h*N[b+8>>2])))+N[b+52>>2]);u=Q(Q(Q(f*N[d+12>>2])+Q(Q(c*N[d+4>>2])+Q(j*N[d+8>>2])))+N[d+52>>2]);k=Q(t-u);C=Q(Q(Q(e*N[b+28>>2])+Q(Q(g*N[b+20>>2])+Q(h*N[b+24>>2])))+N[b+56>>2]);D=Q(Q(Q(f*N[d+28>>2])+Q(Q(c*N[d+20>>2])+Q(j*N[d+24>>2])))+N[d+56>>2]);g=Q(C-D);e=Q(Q(i*i)+Q(Q(k*k)+Q(g*g)));a:{if(e>Q(1.1920928955078125e-7)){h=Q(Q(1)/Q(Y(e)));e=Q(i*h);N[r+8>>2]=e;g=Q(g*h);N[r+4>>2]=g;h=Q(k*h);N[r>>2]=h;break a}J[r+8>>2]=0;J[r>>2]=1065353216;J[r+4>>2]=0;h=Q(1);g=Q(0);e=Q(0)}J[r+12>>2]=0;b:{if(Q(R(e))>Q(.7071067690849304)){f=Q(Q(g*g)+Q(e*e));i=Q(Q(1)/Q(Y(f)));f=Q(f*i);c=Q(i*Q(-e));j=Q(c*h);e=Q(g*i);g=Q(e*Q(-h));i=Q(0);break b}c=Q(Q(h*h)+Q(g*g));f=Q(Q(1)/Q(Y(c)));j=Q(c*f);i=Q(f*Q(-g));g=Q(e*i);c=Q(h*f);f=Q(c*Q(-e));e=Q(0)}N[r+40>>2]=j;N[r+36>>2]=g;N[r+20>>2]=c;N[r+32>>2]=f;N[r+24>>2]=e;N[r+16>>2]=i;while(1){E=N[b+404>>2];M=N[d+404>>2];z=N[d+36>>2];A=N[d+4>>2];B=N[d+20>>2];l=N[d+40>>2];v=N[d+8>>2];s=N[d+24>>2];n=N[d+44>>2];q=N[d+12>>2];w=N[d+56>>2];x=N[d+28>>2];y=N[d+60>>2];G=N[d+52>>2];H=N[b+36>>2];I=N[b+4>>2];O=N[b+20>>2];k=N[b+40>>2];S=N[b+8>>2];Z=N[b+24>>2];e=N[b+44>>2];h=N[b+12>>2];g=N[b+56>>2];j=N[b+28>>2];f=N[b+52>>2];c=N[b+60>>2];U=(T<<4)+r|0;_=J[U+4>>2];o=P(T,84)+a|0;V=o+48|0;J[V>>2]=J[U>>2];J[V+4>>2]=_;V=J[U+12>>2];J[o+56>>2]=J[U+8>>2];J[o+60>>2]=V;J[o+92>>2]=0;J[o+76>>2]=0;F=e;i=Q(C-g);e=N[o+48>>2];W=Q(t-f);g=N[o+52>>2];f=Q(Q(i*e)-Q(W*g));L=h;X=Q(p-c);h=N[o+56>>2];c=Q(Q(X*g)-Q(i*h));i=j;j=Q(Q(W*h)-Q(X*e));i=Q(Q(F*f)+Q(Q(L*c)+Q(i*j)));N[o+88>>2]=i;k=Q(Q(k*f)+Q(Q(S*c)+Q(Z*j)));N[o+84>>2]=k;f=Q(Q(H*f)+Q(Q(I*c)+Q(O*j)));N[o+80>>2]=f;F=n;j=Q(u-G);n=Q(D-w);c=Q(Q(g*j)-Q(e*n));L=Q(n*h);n=Q(m-y);g=Q(L-Q(g*n));e=Q(Q(n*e)-Q(h*j));h=Q(Q(F*c)+Q(Q(q*g)+Q(x*e)));N[o+72>>2]=h;j=Q(Q(l*c)+Q(Q(v*g)+Q(s*e)));N[o+68>>2]=j;e=Q(Q(z*c)+Q(Q(A*g)+Q(B*e)));N[o- -64>>2]=e;g=N[d+464>>2];c=N[d+460>>2];z=N[d+456>>2];J[o+108>>2]=0;z=Q(e*z);N[o+96>>2]=z;c=Q(j*c);N[o+100>>2]=c;g=Q(h*g);N[o+104>>2]=g;A=N[b+464>>2];B=N[b+460>>2];l=N[b+456>>2];J[o+124>>2]=0;l=Q(f*l);N[o+112>>2]=l;B=Q(k*B);N[o+116>>2]=B;A=Q(i*A);N[o+120>>2]=A;N[o+128>>2]=Q(E+Q(M+Q(Q(g*h)+Q(Q(z*e)+Q(j*c)))))+Q(Q(A*i)+Q(Q(l*f)+Q(k*B)));T=T+1|0;if((T|0)!=3){continue}break}}e=N[a+576>>2];g=N[a+560>>2];h=N[a+592>>2];c:{if(Q(R(h))>Q(.7071067690849304)){f=Q(Q(e*e)+Q(h*h));i=Q(Q(1)/Q(Y(f)));c=Q(i*Q(-h));j=Q(g*c);k=Q(e*i);p=Q(k*Q(-g));m=Q(0);f=Q(f*i);break c}c=Q(Q(g*g)+Q(e*e));f=Q(Q(1)/Q(Y(c)));j=Q(c*f);m=Q(f*Q(-e));p=Q(h*m);k=Q(0);c=Q(g*f);f=Q(c*Q(-h))}b=J[a+32>>2];q=N[b+36>>2];w=N[b+20>>2];n=N[b+40>>2];x=N[b+8>>2];y=N[b+24>>2];s=N[b+44>>2];G=N[b+12>>2];H=N[b+28>>2];d=J[a+28>>2];t=N[d+44>>2];u=N[d+36>>2];C=N[d+40>>2];D=N[d+12>>2];E=N[d+8>>2];M=N[d+28>>2];z=N[d+20>>2];A=N[d+24>>2];I=N[b+4>>2];B=N[d+4>>2];J[a+308>>2]=0;J[a+312>>2]=0;J[a+300>>2]=0;J[a+304>>2]=0;J[a+344>>2]=0;J[a+328>>2]=0;i=Q(Q(t*k)+Q(Q(u*m)+Q(c*C)));l=Q(Q(D*k)+Q(Q(B*m)+Q(c*E)));c=Q(Q(M*k)+Q(Q(z*m)+Q(c*A)));k=Q(Q(t*i)+Q(Q(D*l)+Q(M*c)));N[a+324>>2]=k;m=Q(Q(C*i)+Q(Q(E*l)+Q(A*c)));N[a+320>>2]=m;v=Q(Q(u*i)+Q(Q(B*l)+Q(z*c)));N[a+316>>2]=v;l=Q(-l);s=Q(Q(Q(G*l)-Q(H*c))-Q(s*i));N[a+340>>2]=s;n=Q(Q(Q(x*l)-Q(y*c))-Q(n*i));N[a+336>>2]=n;c=Q(Q(Q(I*l)-Q(w*c))-Q(q*i));N[a+332>>2]=c;i=N[d+460>>2];l=N[d+464>>2];q=N[d+456>>2];J[a+360>>2]=0;l=Q(k*l);N[a+356>>2]=l;i=Q(m*i);N[a+352>>2]=i;q=Q(v*q);N[a+348>>2]=q;w=N[b+460>>2];x=N[b+464>>2];y=N[b+456>>2];J[a+376>>2]=0;x=Q(s*x);N[a+372>>2]=x;w=Q(n*w);N[a+368>>2]=w;y=Q(c*y);N[a+364>>2]=y;N[a+380>>2]=Q(Q(l*k)+Q(Q(q*v)+Q(m*i)))+Q(Q(x*s)+Q(Q(y*c)+Q(n*w)));v=N[d+36>>2];s=N[d+20>>2];l=N[d+40>>2];n=N[d+8>>2];q=N[d+24>>2];m=N[d+44>>2];w=N[d+12>>2];x=N[d+28>>2];y=N[b+36>>2];G=N[b+20>>2];H=N[b+40>>2];I=N[b+8>>2];O=N[b+24>>2];S=N[b+44>>2];c=N[b+12>>2];Z=N[b+28>>2];W=N[d+4>>2];X=N[b+4>>2];J[a+392>>2]=0;J[a+396>>2]=0;J[a+384>>2]=0;J[a+388>>2]=0;J[a+428>>2]=0;J[a+412>>2]=0;i=Q(Q(D*j)+Q(Q(B*f)+Q(p*E)));k=Q(-i);F=Q(c*k);c=Q(Q(M*j)+Q(Q(z*f)+Q(p*A)));f=Q(Q(t*j)+Q(Q(u*f)+Q(p*C)));j=Q(Q(F-Q(Z*c))-Q(S*f));N[a+424>>2]=j;p=Q(Q(Q(I*k)-Q(O*c))-Q(H*f));N[a+420>>2]=p;k=Q(Q(Q(X*k)-Q(G*c))-Q(y*f));N[a+416>>2]=k;m=Q(Q(m*f)+Q(Q(w*i)+Q(c*x)));N[a+408>>2]=m;l=Q(Q(l*f)+Q(Q(n*i)+Q(c*q)));N[a+404>>2]=l;f=Q(Q(v*f)+Q(Q(W*i)+Q(c*s)));N[a+400>>2]=f;c=N[d+460>>2];i=N[d+464>>2];v=N[d+456>>2];J[a+444>>2]=0;i=Q(m*i);N[a+440>>2]=i;c=Q(l*c);N[a+436>>2]=c;v=Q(f*v);N[a+432>>2]=v;s=N[b+460>>2];n=N[b+464>>2];q=N[b+456>>2];J[a+460>>2]=0;n=Q(j*n);N[a+456>>2]=n;s=Q(p*s);N[a+452>>2]=s;q=Q(k*q);N[a+448>>2]=q;N[a+464>>2]=Q(Q(i*m)+Q(Q(v*f)+Q(l*c)))+Q(Q(n*j)+Q(Q(q*k)+Q(p*s)));p=N[d+36>>2];m=N[d+20>>2];k=N[d+40>>2];l=N[d+8>>2];v=N[d+24>>2];i=N[d+44>>2];s=N[d+12>>2];n=N[d+28>>2];q=N[b+36>>2];w=N[b+20>>2];x=N[b+40>>2];y=N[b+8>>2];G=N[b+24>>2];H=N[b+44>>2];f=N[b+12>>2];I=N[b+28>>2];O=N[d+4>>2];S=N[b+4>>2];J[a+476>>2]=0;J[a+480>>2]=0;J[a+468>>2]=0;J[a+472>>2]=0;J[a+512>>2]=0;J[a+496>>2]=0;c=Q(Q(D*h)+Q(Q(B*g)+Q(e*E)));j=Q(-c);F=Q(f*j);f=Q(Q(M*h)+Q(Q(z*g)+Q(e*A)));e=Q(Q(t*h)+Q(Q(u*g)+Q(e*C)));g=Q(Q(F-Q(I*f))-Q(H*e));N[a+508>>2]=g;h=Q(Q(Q(y*j)-Q(G*f))-Q(x*e));N[a+504>>2]=h;j=Q(Q(Q(S*j)-Q(w*f))-Q(q*e));N[a+500>>2]=j;i=Q(Q(i*e)+Q(Q(s*c)+Q(f*n)));N[a+492>>2]=i;k=Q(Q(k*e)+Q(Q(l*c)+Q(f*v)));N[a+488>>2]=k;e=Q(Q(p*e)+Q(Q(O*c)+Q(f*m)));N[a+484>>2]=e;f=N[d+460>>2];c=N[d+464>>2];p=N[d+456>>2];J[a+528>>2]=0;c=Q(i*c);N[a+524>>2]=c;f=Q(k*f);N[a+520>>2]=f;p=Q(e*p);N[a+516>>2]=p;m=N[b+460>>2];t=N[b+464>>2];u=N[b+456>>2];J[a+724>>2]=0;J[a+544>>2]=0;t=Q(g*t);N[a+540>>2]=t;m=Q(h*m);N[a+536>>2]=m;u=Q(j*u);N[a+532>>2]=u;N[a+548>>2]=Q(Q(c*i)+Q(Q(p*e)+Q(k*f)))+Q(Q(t*g)+Q(Q(u*j)+Q(h*m)));e=N[a+652>>2];g=N[a+620>>2];h=N[a+636>>2];i=Q(Q(N[b+44>>2]*e)+Q(Q(N[b+36>>2]*g)+Q(h*N[b+40>>2])));k=N[d+44>>2];f=N[a+584>>2];p=N[d+36>>2];c=N[a+552>>2];j=N[a+568>>2];m=N[d+40>>2];n=Q(i*Q(Q(k*f)+Q(Q(p*c)+Q(j*m))));t=Q(Q(N[b+12>>2]*e)+Q(Q(N[b+4>>2]*g)+Q(h*N[b+8>>2])));u=N[d+12>>2];C=N[d+4>>2];D=N[d+8>>2];F=Q(t*Q(Q(u*f)+Q(Q(C*c)+Q(j*D))));E=N[d+28>>2];L=Q(E*f);f=N[d+20>>2];l=Q(f*c);c=N[d+24>>2];L=Q(L+Q(l+Q(j*c)));j=Q(Q(N[b+28>>2]*e)+Q(Q(N[b+20>>2]*g)+Q(h*N[b+24>>2])));e=N[a+588>>2];g=N[a+556>>2];h=N[a+572>>2];e=Q(Ia(Q(n+Q(F+Q(L*j))),Q(Q(i*Q(Q(k*e)+Q(Q(p*g)+Q(m*h))))+Q(Q(t*Q(Q(u*e)+Q(Q(C*g)+Q(D*h))))+Q(Q(Q(E*e)+Q(Q(f*g)+Q(c*h)))*j))))*N[a+732>>2]);N[a+728>>2]=e;Id(a+688|0,e);d=a;b=J[a+28>>2];h=N[a+592>>2];f=N[a+560>>2];c=N[a+576>>2];e=Q(Q(N[b+44>>2]*h)+Q(Q(N[b+36>>2]*f)+Q(c*N[b+40>>2])));g=Q(Q(N[b+12>>2]*h)+Q(Q(N[b+4>>2]*f)+Q(c*N[b+8>>2])));h=Q(Q(N[b+28>>2]*h)+Q(Q(N[b+20>>2]*f)+Q(c*N[b+24>>2])));a=J[a+32>>2];N[d+720>>2]=Q(1)/Q(Q(Q(e*Q(Q(e*N[b+364>>2])+Q(Q(N[b+332>>2]*g)+Q(h*N[b+348>>2]))))+Q(Q(g*Q(Q(N[b+356>>2]*e)+Q(Q(g*N[b+324>>2])+Q(h*N[b+340>>2]))))+Q(h*Q(Q(N[b+360>>2]*e)+Q(Q(N[b+328>>2]*g)+Q(h*N[b+344>>2]))))))+Q(Q(e*Q(Q(e*N[a+364>>2])+Q(Q(N[a+332>>2]*g)+Q(h*N[a+348>>2]))))+Q(Q(g*Q(Q(N[a+356>>2]*e)+Q(Q(g*N[a+324>>2])+Q(h*N[a+340>>2]))))+Q(h*Q(Q(N[a+360>>2]*e)+Q(Q(N[a+328>>2]*g)+Q(h*N[a+344>>2])))))))}sa=r+48|0}function Vj(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=Q(0),f=Q(0),g=Q(0),h=0,i=Q(0),j=Q(0),k=Q(0),l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;h=sa-48|0;sa=h;e=N[a+48>>2];f=N[a+32>>2];j=Q(Q(1)/N[a+124>>2]);k=N[a- -64>>2];g=Q(Q(j*N[d+8>>2])+k);g=f>g?f:g;g=e>2])+k);f=f>j?f:j;e=e>2];f=N[a+28>>2];j=Q(Q(1)/N[a+120>>2]);k=N[a+60>>2];g=Q(Q(j*N[d+4>>2])+k);g=f>g?f:g;g=e>2])+k);f=f>j?f:j;e=e>2];f=N[a+24>>2];j=Q(Q(1)/N[a+116>>2]);k=N[a+56>>2];g=Q(Q(j*N[d>>2])+k);g=f>g?f:g;g=e>2])+k);f=f>j?f:j;e=e>2]-1|0;p=J[a+72>>2]-1|0;g:{h:{switch(J[a+112>>2]){case 0:l=(o|0)<(l|0)?o:l;n=(q|0)>0?q:0;p=(p|0)>(r|0)?r:p;t=(s|0)>0?s:0;break g;case 1:l=(o|0)<(l|0)?o:l;n=(q|0)>0?q:0;p=(d|0)<(p|0)?d:p;t=(c|0)>0?c:0;break g;case 2:break h;default:break g}}l=(l|0)>(r|0)?r:l;n=(s|0)>0?s:0;p=(d|0)<(p|0)?d:p;t=(c|0)>0?c:0}if(!((p|0)<=(t|0)|(n|0)>=(l|0))){while(1){q=n&1;o=n+1|0;j=Q(o|0);k=Q(n|0);c=t;while(1){i:{j:{d=c;if(!(!(K[a+110|0]?q:1)|(K[a+108|0]|(c+n&1?0:K[a+109|0])))){g=Q(ua[J[J[a>>2]+68>>2]](a,d,n));k:{l:{switch(J[a+112>>2]){case 2:f=N[a+88>>2];e=N[a+92>>2];i=N[a+64>>2];J[h+12>>2]=0;e=Q(k-Q(e*Q(.5)));f=Q(Q(d|0)-Q(f*Q(.5)));g=Q(g-i);break k;case 1:f=N[a+88>>2];i=N[a+92>>2];e=N[a+60>>2];J[h+12>>2]=0;e=Q(g-e);f=Q(Q(d|0)-Q(f*Q(.5)));g=Q(k-Q(i*Q(.5)));break k;case 0:e=N[a+88>>2];i=N[a+92>>2];f=N[a+56>>2];J[h+12>>2]=0;f=Q(g-f);e=Q(Q(d|0)-Q(e*Q(.5)));g=Q(k-Q(i*Q(.5)));break k;default:break l}}e=N[h+4>>2];f=N[h>>2];g=N[h+8>>2]}N[h>>2]=f*N[a+116>>2];N[h+4>>2]=e*N[a+120>>2];N[h+8>>2]=g*N[a+124>>2];g=Q(ua[J[J[a>>2]+68>>2]](a,d,o));m:{n:{switch(J[a+112>>2]){case 2:f=N[a+88>>2];e=N[a+92>>2];i=N[a+64>>2];J[h+28>>2]=0;e=Q(j-Q(e*Q(.5)));f=Q(Q(d|0)-Q(f*Q(.5)));g=Q(g-i);break m;case 1:f=N[a+88>>2];i=N[a+92>>2];e=N[a+60>>2];J[h+28>>2]=0;e=Q(g-e);f=Q(Q(d|0)-Q(f*Q(.5)));g=Q(j-Q(i*Q(.5)));break m;case 0:e=N[a+88>>2];i=N[a+92>>2];f=N[a+56>>2];J[h+28>>2]=0;f=Q(g-f);e=Q(Q(d|0)-Q(e*Q(.5)));g=Q(j-Q(i*Q(.5)));break m;default:break n}}e=N[h+20>>2];f=N[h+16>>2];g=N[h+24>>2]}N[h+16>>2]=f*N[a+116>>2];N[h+20>>2]=e*N[a+120>>2];N[h+24>>2]=g*N[a+124>>2];c=d+1|0;g=Q(ua[J[J[a>>2]+68>>2]](a,c,n));o:{p:{switch(J[a+112>>2]){case 2:f=N[a+88>>2];e=N[a+92>>2];i=N[a+64>>2];J[h+44>>2]=0;e=Q(k-Q(e*Q(.5)));f=Q(Q(c|0)-Q(f*Q(.5)));g=Q(g-i);break o;case 1:f=N[a+88>>2];i=N[a+92>>2];e=N[a+60>>2];J[h+44>>2]=0;e=Q(g-e);f=Q(Q(c|0)-Q(f*Q(.5)));g=Q(k-Q(i*Q(.5)));break o;case 0:e=N[a+88>>2];i=N[a+92>>2];f=N[a+56>>2];J[h+44>>2]=0;f=Q(g-f);e=Q(Q(c|0)-Q(e*Q(.5)));g=Q(k-Q(i*Q(.5)));break o;default:break p}}e=N[h+36>>2];f=N[h+32>>2];g=N[h+40>>2]}N[h+32>>2]=f*N[a+116>>2];N[h+36>>2]=e*N[a+120>>2];N[h+40>>2]=g*N[a+124>>2];ua[J[J[b>>2]+8>>2]](b,h,d,n);g=Q(ua[J[J[a>>2]+68>>2]](a,c,n));q:{r:{switch(J[a+112>>2]){case 2:f=N[a+88>>2];e=N[a+92>>2];i=N[a+64>>2];J[h+12>>2]=0;e=Q(k-Q(e*Q(.5)));f=Q(Q(c|0)-Q(f*Q(.5)));g=Q(g-i);break q;case 1:f=N[a+88>>2];i=N[a+92>>2];e=N[a+60>>2];J[h+12>>2]=0;e=Q(g-e);f=Q(Q(c|0)-Q(f*Q(.5)));g=Q(k-Q(i*Q(.5)));break q;case 0:e=N[a+88>>2];i=N[a+92>>2];f=N[a+56>>2];J[h+12>>2]=0;f=Q(g-f);e=Q(Q(c|0)-Q(e*Q(.5)));g=Q(k-Q(i*Q(.5)));break q;default:break r}}e=N[h+4>>2];f=N[h>>2];g=N[h+8>>2]}N[h>>2]=f*N[a+116>>2];N[h+4>>2]=e*N[a+120>>2];N[h+8>>2]=g*N[a+124>>2];g=Q(ua[J[J[a>>2]+68>>2]](a,c,o));s:{switch(J[a+112>>2]){case 2:f=N[a+88>>2];e=N[a+92>>2];i=N[a+64>>2];J[h+44>>2]=0;e=Q(j-Q(e*Q(.5)));f=Q(Q(c|0)-Q(f*Q(.5)));g=Q(g-i);break i;case 1:f=N[a+88>>2];i=N[a+92>>2];e=N[a+60>>2];J[h+44>>2]=0;e=Q(g-e);f=Q(Q(c|0)-Q(f*Q(.5)));g=Q(j-Q(i*Q(.5)));break i;case 0:break s;default:break j}}e=N[a+88>>2];i=N[a+92>>2];f=N[a+56>>2];J[h+44>>2]=0;f=Q(g-f);e=Q(Q(c|0)-Q(e*Q(.5)));g=Q(j-Q(i*Q(.5)));break i}g=Q(ua[J[J[a>>2]+68>>2]](a,d,n));t:{u:{switch(J[a+112>>2]){case 2:f=N[a+88>>2];e=N[a+92>>2];i=N[a+64>>2];J[h+12>>2]=0;e=Q(k-Q(e*Q(.5)));f=Q(Q(d|0)-Q(f*Q(.5)));g=Q(g-i);break t;case 1:f=N[a+88>>2];i=N[a+92>>2];e=N[a+60>>2];J[h+12>>2]=0;e=Q(g-e);f=Q(Q(d|0)-Q(f*Q(.5)));g=Q(k-Q(i*Q(.5)));break t;case 0:e=N[a+88>>2];i=N[a+92>>2];f=N[a+56>>2];J[h+12>>2]=0;f=Q(g-f);e=Q(Q(d|0)-Q(e*Q(.5)));g=Q(k-Q(i*Q(.5)));break t;default:break u}}e=N[h+4>>2];f=N[h>>2];g=N[h+8>>2]}N[h>>2]=f*N[a+116>>2];N[h+4>>2]=e*N[a+120>>2];N[h+8>>2]=g*N[a+124>>2];g=Q(ua[J[J[a>>2]+68>>2]](a,d,o));v:{w:{switch(J[a+112>>2]){case 2:f=N[a+88>>2];e=N[a+92>>2];i=N[a+64>>2];J[h+28>>2]=0;e=Q(j-Q(e*Q(.5)));f=Q(Q(d|0)-Q(f*Q(.5)));g=Q(g-i);break v;case 1:f=N[a+88>>2];i=N[a+92>>2];e=N[a+60>>2];J[h+28>>2]=0;e=Q(g-e);f=Q(Q(d|0)-Q(f*Q(.5)));g=Q(j-Q(i*Q(.5)));break v;case 0:e=N[a+88>>2];i=N[a+92>>2];f=N[a+56>>2];J[h+28>>2]=0;f=Q(g-f);e=Q(Q(d|0)-Q(e*Q(.5)));g=Q(j-Q(i*Q(.5)));break v;default:break w}}e=N[h+20>>2];f=N[h+16>>2];g=N[h+24>>2]}N[h+16>>2]=f*N[a+116>>2];N[h+20>>2]=e*N[a+120>>2];N[h+24>>2]=g*N[a+124>>2];c=d+1|0;g=Q(ua[J[J[a>>2]+68>>2]](a,c,o));x:{y:{switch(J[a+112>>2]){case 2:f=N[a+88>>2];e=N[a+92>>2];i=N[a+64>>2];J[h+44>>2]=0;e=Q(j-Q(e*Q(.5)));f=Q(Q(c|0)-Q(f*Q(.5)));g=Q(g-i);break x;case 1:f=N[a+88>>2];i=N[a+92>>2];e=N[a+60>>2];J[h+44>>2]=0;e=Q(g-e);f=Q(Q(c|0)-Q(f*Q(.5)));g=Q(j-Q(i*Q(.5)));break x;case 0:e=N[a+88>>2];i=N[a+92>>2];f=N[a+56>>2];J[h+44>>2]=0;f=Q(g-f);e=Q(Q(c|0)-Q(e*Q(.5)));g=Q(j-Q(i*Q(.5)));break x;default:break y}}e=N[h+36>>2];f=N[h+32>>2];g=N[h+40>>2]}N[h+32>>2]=f*N[a+116>>2];N[h+36>>2]=e*N[a+120>>2];N[h+40>>2]=g*N[a+124>>2];ua[J[J[b>>2]+8>>2]](b,h,d,n);g=Q(ua[J[J[a>>2]+68>>2]](a,c,o));z:{A:{switch(J[a+112>>2]){case 2:f=N[a+88>>2];e=N[a+92>>2];i=N[a+64>>2];J[h+28>>2]=0;e=Q(j-Q(e*Q(.5)));f=Q(Q(c|0)-Q(f*Q(.5)));g=Q(g-i);break z;case 1:f=N[a+88>>2];i=N[a+92>>2];e=N[a+60>>2];J[h+28>>2]=0;e=Q(g-e);f=Q(Q(c|0)-Q(f*Q(.5)));g=Q(j-Q(i*Q(.5)));break z;case 0:e=N[a+88>>2];i=N[a+92>>2];f=N[a+56>>2];J[h+28>>2]=0;f=Q(g-f);e=Q(Q(c|0)-Q(e*Q(.5)));g=Q(j-Q(i*Q(.5)));break z;default:break A}}e=N[h+20>>2];f=N[h+16>>2];g=N[h+24>>2]}N[h+16>>2]=f*N[a+116>>2];N[h+20>>2]=e*N[a+120>>2];N[h+24>>2]=g*N[a+124>>2];g=Q(ua[J[J[a>>2]+68>>2]](a,c,n));B:{switch(J[a+112>>2]){case 2:f=N[a+88>>2];e=N[a+92>>2];i=N[a+64>>2];J[h+44>>2]=0;e=Q(k-Q(e*Q(.5)));f=Q(Q(c|0)-Q(f*Q(.5)));g=Q(g-i);break i;case 1:f=N[a+88>>2];i=N[a+92>>2];e=N[a+60>>2];J[h+44>>2]=0;e=Q(g-e);f=Q(Q(c|0)-Q(f*Q(.5)));g=Q(k-Q(i*Q(.5)));break i;case 0:break B;default:break j}}e=N[a+88>>2];i=N[a+92>>2];f=N[a+56>>2];J[h+44>>2]=0;f=Q(g-f);e=Q(Q(c|0)-Q(e*Q(.5)));g=Q(k-Q(i*Q(.5)));break i}e=N[h+36>>2];f=N[h+32>>2];g=N[h+40>>2]}N[h+32>>2]=f*N[a+116>>2];N[h+36>>2]=e*N[a+120>>2];N[h+40>>2]=g*N[a+124>>2];ua[J[J[b>>2]+8>>2]](b,h,d,n);if((c|0)!=(p|0)){continue}break}n=o;if((l|0)!=(n|0)){continue}break}}sa=h+48|0}function il(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;N[a+20>>2]=O[b+32>>3];N[a+24>>2]=O[b+40>>3];N[a+28>>2]=O[b+48>>3];N[a+32>>2]=O[b+56>>3];N[a+4>>2]=O[b>>3];N[a+8>>2]=O[b+8>>3];N[a+12>>2]=O[b+16>>3];N[a+16>>2]=O[b+24>>3];N[a+36>>2]=O[b+64>>3];N[a+40>>2]=O[b+72>>3];N[a+44>>2]=O[b+80>>3];N[a+48>>2]=O[b+88>>3];J[a+56>>2]=J[b+96>>2];H[a+60|0]=J[b+100>>2]!=0;f=J[a+88>>2];k=J[b+104>>2];a:{if((f|0)>=(k|0)){break a}if((k|0)>J[a+92>>2]){if(k){J[8456]=J[8456]+1;j=ua[J[8258]](k<<6,16)|0;c=J[a+88>>2]}else{c=f}b:{if((c|0)<=0){break b}if((c|0)!=1){m=c&-2;while(1){h=l<<6;g=h+j|0;i=h+J[a+96>>2]|0;e=J[i+4>>2];J[g>>2]=J[i>>2];J[g+4>>2]=e;e=J[i+60>>2];J[g+56>>2]=J[i+56>>2];J[g+60>>2]=e;e=J[i+52>>2];J[g+48>>2]=J[i+48>>2];J[g+52>>2]=e;e=J[i+44>>2];J[g+40>>2]=J[i+40>>2];J[g+44>>2]=e;e=J[i+36>>2];J[g+32>>2]=J[i+32>>2];J[g+36>>2]=e;e=J[i+28>>2];J[g+24>>2]=J[i+24>>2];J[g+28>>2]=e;e=J[i+20>>2];J[g+16>>2]=J[i+16>>2];J[g+20>>2]=e;e=J[i+12>>2];J[g+8>>2]=J[i+8>>2];J[g+12>>2]=e;e=h|64;g=e+j|0;h=e+J[a+96>>2]|0;e=J[h+4>>2];J[g>>2]=J[h>>2];J[g+4>>2]=e;e=J[h+12>>2];J[g+8>>2]=J[h+8>>2];J[g+12>>2]=e;e=J[h+20>>2];J[g+16>>2]=J[h+16>>2];J[g+20>>2]=e;e=J[h+28>>2];J[g+24>>2]=J[h+24>>2];J[g+28>>2]=e;e=J[h+36>>2];J[g+32>>2]=J[h+32>>2];J[g+36>>2]=e;e=J[h+44>>2];J[g+40>>2]=J[h+40>>2];J[g+44>>2]=e;e=J[h+52>>2];J[g+48>>2]=J[h+48>>2];J[g+52>>2]=e;e=J[h+60>>2];J[g+56>>2]=J[h+56>>2];J[g+60>>2]=e;l=l+2|0;d=d+2|0;if((m|0)!=(d|0)){continue}break}}if(!(c&1)){break b}c=l<<6;d=c+j|0;e=c+J[a+96>>2]|0;c=J[e+4>>2];J[d>>2]=J[e>>2];J[d+4>>2]=c;c=J[e+60>>2];J[d+56>>2]=J[e+56>>2];J[d+60>>2]=c;c=J[e+52>>2];J[d+48>>2]=J[e+48>>2];J[d+52>>2]=c;c=J[e+44>>2];J[d+40>>2]=J[e+40>>2];J[d+44>>2]=c;c=J[e+36>>2];J[d+32>>2]=J[e+32>>2];J[d+36>>2]=c;c=J[e+28>>2];J[d+24>>2]=J[e+24>>2];J[d+28>>2]=c;c=J[e+20>>2];J[d+16>>2]=J[e+16>>2];J[d+20>>2]=c;c=J[e+12>>2];J[d+8>>2]=J[e+8>>2];J[d+12>>2]=c}c=J[a+96>>2];if(!(c?!c|!K[a+100|0]:1)){J[8457]=J[8457]+1;ua[J[8259]](c)}J[a+96>>2]=j;H[a+100|0]=1;J[a+92>>2]=k}d=k+(f^-1)|0;c=k-f&3;if(c){j=0;while(1){e=J[a+96>>2]+(f<<6)|0;J[e>>2]=0;J[e+4>>2]=0;J[e+56>>2]=0;J[e+60>>2]=0;J[e+48>>2]=0;J[e+52>>2]=0;J[e+40>>2]=0;J[e+44>>2]=0;J[e+32>>2]=0;J[e+36>>2]=0;J[e+24>>2]=0;J[e+28>>2]=0;J[e+16>>2]=0;J[e+20>>2]=0;J[e+8>>2]=0;J[e+12>>2]=0;f=f+1|0;j=j+1|0;if((c|0)!=(j|0)){continue}break}}if(d>>>0<3){break a}while(1){d=f<<6;c=d+J[a+96>>2]|0;J[c>>2]=0;J[c+4>>2]=0;J[c+56>>2]=0;J[c+60>>2]=0;J[c+48>>2]=0;J[c+52>>2]=0;J[c+40>>2]=0;J[c+44>>2]=0;J[c+32>>2]=0;J[c+36>>2]=0;J[c+24>>2]=0;J[c+28>>2]=0;J[c+16>>2]=0;J[c+20>>2]=0;J[c+8>>2]=0;J[c+12>>2]=0;c=d+J[a+96>>2]|0;J[c+120>>2]=0;J[c+124>>2]=0;J[c+112>>2]=0;J[c+116>>2]=0;J[c+104>>2]=0;J[c+108>>2]=0;J[c+96>>2]=0;J[c+100>>2]=0;J[c+88>>2]=0;J[c+92>>2]=0;J[c+80>>2]=0;J[c+84>>2]=0;J[c+72>>2]=0;J[c+76>>2]=0;c=c- -64|0;J[c>>2]=0;J[c+4>>2]=0;c=d+J[a+96>>2]|0;J[c+184>>2]=0;J[c+188>>2]=0;J[c+176>>2]=0;J[c+180>>2]=0;J[c+168>>2]=0;J[c+172>>2]=0;J[c+160>>2]=0;J[c+164>>2]=0;J[c+152>>2]=0;J[c+156>>2]=0;J[c+144>>2]=0;J[c+148>>2]=0;J[c+136>>2]=0;J[c+140>>2]=0;J[c+128>>2]=0;J[c+132>>2]=0;c=d+J[a+96>>2]|0;J[c+248>>2]=0;J[c+252>>2]=0;J[c+240>>2]=0;J[c+244>>2]=0;J[c+232>>2]=0;J[c+236>>2]=0;J[c+224>>2]=0;J[c+228>>2]=0;J[c+216>>2]=0;J[c+220>>2]=0;J[c+208>>2]=0;J[c+212>>2]=0;J[c+200>>2]=0;J[c+204>>2]=0;J[c+192>>2]=0;J[c+196>>2]=0;f=f+4|0;if((k|0)!=(f|0)){continue}break}}J[a+88>>2]=k;if((k|0)>0){c=J[a+96>>2];d=J[b+112>>2];j=0;while(1){f=c+(j<<6)|0;N[f+16>>2]=O[d+32>>3];N[f+20>>2]=O[d+40>>3];N[f+24>>2]=O[d+48>>3];N[f+28>>2]=O[d+56>>3];N[f>>2]=O[d>>3];N[f+4>>2]=O[d+8>>3];N[f+8>>2]=O[d+16>>3];N[f+12>>2]=O[d+24>>3];J[f+32>>2]=J[d+64>>2];J[f+36>>2]=J[d+68>>2];J[f+40>>2]=J[d+72>>2];d=d+80|0;j=j+1|0;if((k|0)!=(j|0)){continue}break}}d=J[a+128>>2];n=J[b+108>>2];c:{if((d|0)>=(n|0)){break c}if((n|0)>J[a+132>>2]){d:{if(!n){l=0;c=d;break d}J[8456]=J[8456]+1;l=ua[J[8258]](n<<4,16)|0;c=J[a+128>>2]}e:{if((c|0)<=0){break e}f=0;if((c|0)!=1){m=c&-2;i=0;while(1){h=f<<4;g=h+l|0;k=h+J[a+136>>2]|0;e=J[k+4>>2];J[g>>2]=J[k>>2];J[g+4>>2]=e;e=J[k+12>>2];J[g+8>>2]=J[k+8>>2];J[g+12>>2]=e;e=h|16;g=e+l|0;h=e+J[a+136>>2]|0;e=J[h+4>>2];J[g>>2]=J[h>>2];J[g+4>>2]=e;e=J[h+12>>2];J[g+8>>2]=J[h+8>>2];J[g+12>>2]=e;f=f+2|0;i=i+2|0;if((m|0)!=(i|0)){continue}break}}if(!(c&1)){break e}c=f<<4;f=c+l|0;e=c+J[a+136>>2]|0;c=J[e+4>>2];J[f>>2]=J[e>>2];J[f+4>>2]=c;c=J[e+12>>2];J[f+8>>2]=J[e+8>>2];J[f+12>>2]=c}c=J[a+136>>2];if(!(c?!c|!K[a+140|0]:1)){J[8457]=J[8457]+1;ua[J[8259]](c)}J[a+136>>2]=l;H[a+140|0]=1;J[a+132>>2]=n}e=n+(d^-1)|0;c=n-d&3;if(c){f=0;while(1){g=J[a+136>>2]+(d<<4)|0;J[g>>2]=0;J[g+4>>2]=0;J[g+8>>2]=0;J[g+12>>2]=0;d=d+1|0;f=f+1|0;if((c|0)!=(f|0)){continue}break}}if(e>>>0<3){break c}while(1){f=d<<4;c=f+J[a+136>>2]|0;J[c>>2]=0;J[c+4>>2]=0;J[c+8>>2]=0;J[c+12>>2]=0;c=f+J[a+136>>2]|0;J[c+24>>2]=0;J[c+28>>2]=0;J[c+16>>2]=0;J[c+20>>2]=0;c=f+J[a+136>>2]|0;J[c+40>>2]=0;J[c+44>>2]=0;J[c+32>>2]=0;J[c+36>>2]=0;c=f+J[a+136>>2]|0;J[c+56>>2]=0;J[c+60>>2]=0;J[c+48>>2]=0;J[c+52>>2]=0;d=d+4|0;if((n|0)!=(d|0)){continue}break}}J[a+128>>2]=n;if((n|0)>0){c=J[a+136>>2];d=J[b+116>>2];j=0;while(1){f=c+(j<<4)|0;J[f+12>>2]=J[d+12>>2];I[f+6>>1]=L[d+6>>1];I[f+8>>1]=L[d+8>>1];I[f+10>>1]=L[d+10>>1];I[f>>1]=L[d>>1];I[f+2>>1]=L[d+2>>1];I[f+4>>1]=L[d+4>>1];d=d+16|0;j=j+1|0;if((n|0)!=(j|0)){continue}break}}J[a+144>>2]=J[b+120>>2];d=J[a+152>>2];h=J[b+124>>2];if(!((d|0)>=(h|0)|(h|0)<=J[a+156>>2])){f:{if(!h){i=0;break f}J[8456]=J[8456]+1;i=ua[J[8258]](h<<5,16)|0;d=J[a+152>>2]}g:{if((d|0)<=0){break g}l=0;if((d|0)!=1){e=d&-2;j=0;while(1){g=l<<5;f=g+i|0;m=g+J[a+160>>2]|0;c=J[m+4>>2];J[f>>2]=J[m>>2];J[f+4>>2]=c;c=J[m+28>>2];J[f+24>>2]=J[m+24>>2];J[f+28>>2]=c;c=J[m+20>>2];J[f+16>>2]=J[m+16>>2];J[f+20>>2]=c;c=J[m+12>>2];J[f+8>>2]=J[m+8>>2];J[f+12>>2]=c;c=g|32;f=c+i|0;g=c+J[a+160>>2]|0;c=J[g+4>>2];J[f>>2]=J[g>>2];J[f+4>>2]=c;c=J[g+12>>2];J[f+8>>2]=J[g+8>>2];J[f+12>>2]=c;c=J[g+20>>2];J[f+16>>2]=J[g+16>>2];J[f+20>>2]=c;c=J[g+28>>2];J[f+24>>2]=J[g+24>>2];J[f+28>>2]=c;l=l+2|0;j=j+2|0;if((e|0)!=(j|0)){continue}break}}if(!(d&1)){break g}c=l<<5;f=c+i|0;d=c+J[a+160>>2]|0;c=J[d+4>>2];J[f>>2]=J[d>>2];J[f+4>>2]=c;c=J[d+28>>2];J[f+24>>2]=J[d+24>>2];J[f+28>>2]=c;c=J[d+20>>2];J[f+16>>2]=J[d+16>>2];J[f+20>>2]=c;c=J[d+12>>2];J[f+8>>2]=J[d+8>>2];J[f+12>>2]=c}c=J[a+160>>2];if(!(c?!c|!K[a+164|0]:1)){J[8457]=J[8457]+1;ua[J[8259]](c)}J[a+160>>2]=i;H[a+164|0]=1;J[a+156>>2]=h}J[a+152>>2]=h;if((h|0)>0){c=J[a+160>>2];d=J[b+128>>2];a=0;while(1){b=c+(a<<5)|0;I[b+6>>1]=L[d+14>>1];I[b+8>>1]=L[d+16>>1];I[b+10>>1]=L[d+18>>1];I[b>>1]=L[d+8>>1];I[b+2>>1]=L[d+10>>1];I[b+4>>1]=L[d+12>>1];J[b+12>>2]=J[d>>2];J[b+16>>2]=J[d+4>>2];d=d+20|0;a=a+1|0;if((h|0)!=(a|0)){continue}break}}}function jl(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;N[a+20>>2]=N[b+16>>2];N[a+24>>2]=N[b+20>>2];N[a+28>>2]=N[b+24>>2];N[a+32>>2]=N[b+28>>2];N[a+4>>2]=N[b>>2];N[a+8>>2]=N[b+4>>2];N[a+12>>2]=N[b+8>>2];N[a+16>>2]=N[b+12>>2];N[a+36>>2]=N[b+32>>2];N[a+40>>2]=N[b+36>>2];N[a+44>>2]=N[b+40>>2];N[a+48>>2]=N[b+44>>2];J[a+56>>2]=J[b+48>>2];H[a+60|0]=J[b+52>>2]!=0;f=J[a+88>>2];k=J[b+56>>2];a:{if((f|0)>=(k|0)){break a}if((k|0)>J[a+92>>2]){if(k){J[8456]=J[8456]+1;j=ua[J[8258]](k<<6,16)|0;c=J[a+88>>2]}else{c=f}b:{if((c|0)<=0){break b}if((c|0)!=1){m=c&-2;while(1){h=l<<6;g=h+j|0;i=h+J[a+96>>2]|0;e=J[i+4>>2];J[g>>2]=J[i>>2];J[g+4>>2]=e;e=J[i+60>>2];J[g+56>>2]=J[i+56>>2];J[g+60>>2]=e;e=J[i+52>>2];J[g+48>>2]=J[i+48>>2];J[g+52>>2]=e;e=J[i+44>>2];J[g+40>>2]=J[i+40>>2];J[g+44>>2]=e;e=J[i+36>>2];J[g+32>>2]=J[i+32>>2];J[g+36>>2]=e;e=J[i+28>>2];J[g+24>>2]=J[i+24>>2];J[g+28>>2]=e;e=J[i+20>>2];J[g+16>>2]=J[i+16>>2];J[g+20>>2]=e;e=J[i+12>>2];J[g+8>>2]=J[i+8>>2];J[g+12>>2]=e;e=h|64;g=e+j|0;h=e+J[a+96>>2]|0;e=J[h+4>>2];J[g>>2]=J[h>>2];J[g+4>>2]=e;e=J[h+12>>2];J[g+8>>2]=J[h+8>>2];J[g+12>>2]=e;e=J[h+20>>2];J[g+16>>2]=J[h+16>>2];J[g+20>>2]=e;e=J[h+28>>2];J[g+24>>2]=J[h+24>>2];J[g+28>>2]=e;e=J[h+36>>2];J[g+32>>2]=J[h+32>>2];J[g+36>>2]=e;e=J[h+44>>2];J[g+40>>2]=J[h+40>>2];J[g+44>>2]=e;e=J[h+52>>2];J[g+48>>2]=J[h+48>>2];J[g+52>>2]=e;e=J[h+60>>2];J[g+56>>2]=J[h+56>>2];J[g+60>>2]=e;l=l+2|0;d=d+2|0;if((m|0)!=(d|0)){continue}break}}if(!(c&1)){break b}c=l<<6;d=c+j|0;e=c+J[a+96>>2]|0;c=J[e+4>>2];J[d>>2]=J[e>>2];J[d+4>>2]=c;c=J[e+60>>2];J[d+56>>2]=J[e+56>>2];J[d+60>>2]=c;c=J[e+52>>2];J[d+48>>2]=J[e+48>>2];J[d+52>>2]=c;c=J[e+44>>2];J[d+40>>2]=J[e+40>>2];J[d+44>>2]=c;c=J[e+36>>2];J[d+32>>2]=J[e+32>>2];J[d+36>>2]=c;c=J[e+28>>2];J[d+24>>2]=J[e+24>>2];J[d+28>>2]=c;c=J[e+20>>2];J[d+16>>2]=J[e+16>>2];J[d+20>>2]=c;c=J[e+12>>2];J[d+8>>2]=J[e+8>>2];J[d+12>>2]=c}c=J[a+96>>2];if(!(c?!c|!K[a+100|0]:1)){J[8457]=J[8457]+1;ua[J[8259]](c)}J[a+96>>2]=j;H[a+100|0]=1;J[a+92>>2]=k}d=k+(f^-1)|0;c=k-f&3;if(c){j=0;while(1){e=J[a+96>>2]+(f<<6)|0;J[e>>2]=0;J[e+4>>2]=0;J[e+56>>2]=0;J[e+60>>2]=0;J[e+48>>2]=0;J[e+52>>2]=0;J[e+40>>2]=0;J[e+44>>2]=0;J[e+32>>2]=0;J[e+36>>2]=0;J[e+24>>2]=0;J[e+28>>2]=0;J[e+16>>2]=0;J[e+20>>2]=0;J[e+8>>2]=0;J[e+12>>2]=0;f=f+1|0;j=j+1|0;if((c|0)!=(j|0)){continue}break}}if(d>>>0<3){break a}while(1){d=f<<6;c=d+J[a+96>>2]|0;J[c>>2]=0;J[c+4>>2]=0;J[c+56>>2]=0;J[c+60>>2]=0;J[c+48>>2]=0;J[c+52>>2]=0;J[c+40>>2]=0;J[c+44>>2]=0;J[c+32>>2]=0;J[c+36>>2]=0;J[c+24>>2]=0;J[c+28>>2]=0;J[c+16>>2]=0;J[c+20>>2]=0;J[c+8>>2]=0;J[c+12>>2]=0;c=d+J[a+96>>2]|0;J[c+120>>2]=0;J[c+124>>2]=0;J[c+112>>2]=0;J[c+116>>2]=0;J[c+104>>2]=0;J[c+108>>2]=0;J[c+96>>2]=0;J[c+100>>2]=0;J[c+88>>2]=0;J[c+92>>2]=0;J[c+80>>2]=0;J[c+84>>2]=0;J[c+72>>2]=0;J[c+76>>2]=0;c=c- -64|0;J[c>>2]=0;J[c+4>>2]=0;c=d+J[a+96>>2]|0;J[c+184>>2]=0;J[c+188>>2]=0;J[c+176>>2]=0;J[c+180>>2]=0;J[c+168>>2]=0;J[c+172>>2]=0;J[c+160>>2]=0;J[c+164>>2]=0;J[c+152>>2]=0;J[c+156>>2]=0;J[c+144>>2]=0;J[c+148>>2]=0;J[c+136>>2]=0;J[c+140>>2]=0;J[c+128>>2]=0;J[c+132>>2]=0;c=d+J[a+96>>2]|0;J[c+248>>2]=0;J[c+252>>2]=0;J[c+240>>2]=0;J[c+244>>2]=0;J[c+232>>2]=0;J[c+236>>2]=0;J[c+224>>2]=0;J[c+228>>2]=0;J[c+216>>2]=0;J[c+220>>2]=0;J[c+208>>2]=0;J[c+212>>2]=0;J[c+200>>2]=0;J[c+204>>2]=0;J[c+192>>2]=0;J[c+196>>2]=0;f=f+4|0;if((k|0)!=(f|0)){continue}break}}J[a+88>>2]=k;if((k|0)>0){c=J[a+96>>2];d=J[b+64>>2];j=0;while(1){f=c+(j<<6)|0;N[f+16>>2]=N[d+16>>2];N[f+20>>2]=N[d+20>>2];N[f+24>>2]=N[d+24>>2];N[f+28>>2]=N[d+28>>2];N[f>>2]=N[d>>2];N[f+4>>2]=N[d+4>>2];N[f+8>>2]=N[d+8>>2];N[f+12>>2]=N[d+12>>2];J[f+32>>2]=J[d+32>>2];J[f+36>>2]=J[d+36>>2];J[f+40>>2]=J[d+40>>2];d=d+48|0;j=j+1|0;if((k|0)!=(j|0)){continue}break}}d=J[a+128>>2];n=J[b+60>>2];c:{if((d|0)>=(n|0)){break c}if((n|0)>J[a+132>>2]){d:{if(!n){l=0;c=d;break d}J[8456]=J[8456]+1;l=ua[J[8258]](n<<4,16)|0;c=J[a+128>>2]}e:{if((c|0)<=0){break e}f=0;if((c|0)!=1){m=c&-2;i=0;while(1){h=f<<4;g=h+l|0;k=h+J[a+136>>2]|0;e=J[k+4>>2];J[g>>2]=J[k>>2];J[g+4>>2]=e;e=J[k+12>>2];J[g+8>>2]=J[k+8>>2];J[g+12>>2]=e;e=h|16;g=e+l|0;h=e+J[a+136>>2]|0;e=J[h+4>>2];J[g>>2]=J[h>>2];J[g+4>>2]=e;e=J[h+12>>2];J[g+8>>2]=J[h+8>>2];J[g+12>>2]=e;f=f+2|0;i=i+2|0;if((m|0)!=(i|0)){continue}break}}if(!(c&1)){break e}c=f<<4;f=c+l|0;e=c+J[a+136>>2]|0;c=J[e+4>>2];J[f>>2]=J[e>>2];J[f+4>>2]=c;c=J[e+12>>2];J[f+8>>2]=J[e+8>>2];J[f+12>>2]=c}c=J[a+136>>2];if(!(c?!c|!K[a+140|0]:1)){J[8457]=J[8457]+1;ua[J[8259]](c)}J[a+136>>2]=l;H[a+140|0]=1;J[a+132>>2]=n}e=n+(d^-1)|0;c=n-d&3;if(c){f=0;while(1){g=J[a+136>>2]+(d<<4)|0;J[g>>2]=0;J[g+4>>2]=0;J[g+8>>2]=0;J[g+12>>2]=0;d=d+1|0;f=f+1|0;if((c|0)!=(f|0)){continue}break}}if(e>>>0<3){break c}while(1){f=d<<4;c=f+J[a+136>>2]|0;J[c>>2]=0;J[c+4>>2]=0;J[c+8>>2]=0;J[c+12>>2]=0;c=f+J[a+136>>2]|0;J[c+24>>2]=0;J[c+28>>2]=0;J[c+16>>2]=0;J[c+20>>2]=0;c=f+J[a+136>>2]|0;J[c+40>>2]=0;J[c+44>>2]=0;J[c+32>>2]=0;J[c+36>>2]=0;c=f+J[a+136>>2]|0;J[c+56>>2]=0;J[c+60>>2]=0;J[c+48>>2]=0;J[c+52>>2]=0;d=d+4|0;if((n|0)!=(d|0)){continue}break}}J[a+128>>2]=n;if((n|0)>0){c=J[a+136>>2];d=J[b+68>>2];j=0;while(1){f=c+(j<<4)|0;J[f+12>>2]=J[d+12>>2];I[f+6>>1]=L[d+6>>1];I[f+8>>1]=L[d+8>>1];I[f+10>>1]=L[d+10>>1];I[f>>1]=L[d>>1];I[f+2>>1]=L[d+2>>1];I[f+4>>1]=L[d+4>>1];d=d+16|0;j=j+1|0;if((n|0)!=(j|0)){continue}break}}J[a+144>>2]=J[b+76>>2];d=J[a+152>>2];h=J[b+80>>2];if(!((d|0)>=(h|0)|(h|0)<=J[a+156>>2])){f:{if(!h){i=0;break f}J[8456]=J[8456]+1;i=ua[J[8258]](h<<5,16)|0;d=J[a+152>>2]}g:{if((d|0)<=0){break g}l=0;if((d|0)!=1){e=d&-2;j=0;while(1){g=l<<5;f=g+i|0;m=g+J[a+160>>2]|0;c=J[m+4>>2];J[f>>2]=J[m>>2];J[f+4>>2]=c;c=J[m+28>>2];J[f+24>>2]=J[m+24>>2];J[f+28>>2]=c;c=J[m+20>>2];J[f+16>>2]=J[m+16>>2];J[f+20>>2]=c;c=J[m+12>>2];J[f+8>>2]=J[m+8>>2];J[f+12>>2]=c;c=g|32;f=c+i|0;g=c+J[a+160>>2]|0;c=J[g+4>>2];J[f>>2]=J[g>>2];J[f+4>>2]=c;c=J[g+12>>2];J[f+8>>2]=J[g+8>>2];J[f+12>>2]=c;c=J[g+20>>2];J[f+16>>2]=J[g+16>>2];J[f+20>>2]=c;c=J[g+28>>2];J[f+24>>2]=J[g+24>>2];J[f+28>>2]=c;l=l+2|0;j=j+2|0;if((e|0)!=(j|0)){continue}break}}if(!(d&1)){break g}c=l<<5;f=c+i|0;d=c+J[a+160>>2]|0;c=J[d+4>>2];J[f>>2]=J[d>>2];J[f+4>>2]=c;c=J[d+28>>2];J[f+24>>2]=J[d+24>>2];J[f+28>>2]=c;c=J[d+20>>2];J[f+16>>2]=J[d+16>>2];J[f+20>>2]=c;c=J[d+12>>2];J[f+8>>2]=J[d+8>>2];J[f+12>>2]=c}c=J[a+160>>2];if(!(c?!c|!K[a+164|0]:1)){J[8457]=J[8457]+1;ua[J[8259]](c)}J[a+160>>2]=i;H[a+164|0]=1;J[a+156>>2]=h}J[a+152>>2]=h;if((h|0)>0){c=J[a+160>>2];d=J[b+72>>2];a=0;while(1){b=c+(a<<5)|0;I[b+6>>1]=L[d+14>>1];I[b+8>>1]=L[d+16>>1];I[b+10>>1]=L[d+18>>1];I[b>>1]=L[d+8>>1];I[b+2>>1]=L[d+10>>1];I[b+4>>1]=L[d+12>>1];J[b+12>>2]=J[d>>2];J[b+16>>2]=J[d+4>>2];d=d+20|0;a=a+1|0;if((h|0)!=(a|0)){continue}break}}}function Yl(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=Q(0),h=Q(0),i=Q(0),j=Q(0),k=0,l=Q(0),m=Q(0),n=0,o=Q(0),p=0,q=Q(0),r=Q(0),s=Q(0),t=Q(0),u=Q(0),v=Q(0),w=Q(0),x=Q(0),y=Q(0),z=Q(0),A=Q(0),B=Q(0),C=Q(0),D=Q(0),E=Q(0),F=Q(0),G=Q(0),H=Q(0),I=Q(0),L=Q(0),M=Q(0),O=Q(0),P=Q(0),S=Q(0),T=Q(0),U=Q(0),V=0,W=Q(0),X=Q(0),Z=Q(0),_=Q(0),$=Q(0),aa=Q(0),ba=Q(0),ca=Q(0),da=Q(0),ea=Q(0),fa=Q(0),ga=Q(0),ha=Q(0),ia=0,ja=0,ka=Q(0),la=Q(0),ma=0,na=Q(0);d=sa-48|0;sa=d;a:{if(!J[a+12>>2]){break a}n=K[a+16|0];k=n?c:b;f=J[k+12>>2];y=N[f+56>>2];z=N[f+52>>2];A=N[f+48>>2];p=n?b:c;n=J[p+12>>2];B=N[n+56>>2];fa=N[n+48>>2];C=N[n+52>>2];k=J[k+4>>2];w=N[f+32>>2];D=N[f+16>>2];E=N[f>>2];F=N[f+36>>2];m=N[f+20>>2];s=N[f+4>>2];h=N[n+40>>2];j=N[n+24>>2];g=N[n+8>>2];i=N[n+32>>2];o=N[n+16>>2];r=N[n>>2];t=N[n+36>>2];l=N[f+40>>2];u=N[n+20>>2];H=N[f+24>>2];x=N[n+4>>2];I=N[f+8>>2];n=J[p+4>>2];V=n- -64|0;L=N[V>>2];v=N[n+56>>2];M=N[n+60>>2];J[d+28>>2]=0;X=Q(Q(i*l)+Q(Q(r*I)+Q(H*o)));v=Q(-v);Z=Q(Q(t*l)+Q(Q(x*I)+Q(H*u)));l=Q(Q(h*l)+Q(Q(g*I)+Q(H*j)));N[d+24>>2]=Q(Q(X*v)-Q(M*Z))-Q(L*l);H=Q(Q(i*F)+Q(Q(r*s)+Q(m*o)));I=Q(Q(t*F)+Q(Q(x*s)+Q(m*u)));_=Q(Q(h*F)+Q(Q(g*s)+Q(m*j)));N[d+20>>2]=Q(Q(H*v)-Q(M*I))-Q(L*_);$=Q(Q(i*w)+Q(Q(r*E)+Q(D*o)));q=M;M=Q(Q(t*w)+Q(Q(x*E)+Q(D*u)));ga=L;L=Q(Q(h*w)+Q(Q(g*E)+Q(D*j)));N[d+16>>2]=Q(Q($*v)-Q(q*M))-Q(ga*L);ua[J[J[k>>2]+64>>2]](d+32|0,k,d+16|0);f=J[p+12>>2];v=N[f+48>>2];T=N[f+32>>2];U=N[f+16>>2];q=N[f+8>>2];P=N[f+4>>2];O=N[f>>2];S=N[f+56>>2];G=N[f+52>>2];W=N[f+40>>2];aa=N[f+36>>2];ha=N[f+24>>2];ba=N[f+20>>2];ca=N[n+72>>2];F=N[V>>2];m=N[n+56>>2];s=N[n+60>>2];w=N[d+40>>2];D=N[d+32>>2];E=N[d+36>>2];f=J[a+12>>2];da=N[f+848>>2];J[e+4>>2]=f;ea=Q(Q(y*h)+Q(Q(A*g)+Q(z*j)));ga=g;g=Q(-fa);l=Q(Q(ea+Q(Q(Q(ga*g)-Q(j*C))-Q(h*B)))+Q(Q(w*l)+Q(Q(D*L)+Q(_*E))));o=Q(Q(Q(Q(y*i)+Q(Q(A*r)+Q(z*o)))+Q(Q(Q(r*g)-Q(o*C))-Q(i*B)))+Q(Q(w*X)+Q(Q(D*$)+Q(H*E))));r=Q(Q(Q(Q(y*t)+Q(Q(A*x)+Q(z*u)))+Q(Q(Q(x*g)-Q(u*C))-Q(t*B)))+Q(Q(w*Z)+Q(Q(D*M)+Q(I*E))));h=Q(Q(Q(F*l)+Q(Q(m*o)+Q(s*r)))-ca);if(h>2];t=N[f+24>>2];u=N[f+20>>2];x=N[f+40>>2];y=N[f+36>>2];z=N[f+16>>2];A=N[f+32>>2];j=N[n+64>>2];B=N[f+8>>2];g=N[n+56>>2];C=N[f>>2];i=N[n+60>>2];w=N[f+4>>2];J[d+28>>2]=0;N[d+16>>2]=Q(B*j)+Q(Q(C*g)+Q(w*i));N[d+24>>2]=Q(x*j)+Q(Q(A*g)+Q(i*y));N[d+20>>2]=Q(t*j)+Q(Q(z*g)+Q(i*u));J[d+12>>2]=0;j=Q(l-Q(F*h));g=Q(o-Q(m*h));i=Q(r-Q(s*h));N[d+8>>2]=Q(Q(j*W)+Q(Q(g*T)+Q(i*aa)))+S;N[d+4>>2]=Q(Q(j*ha)+Q(Q(g*U)+Q(i*ba)))+G;N[d>>2]=Q(Q(j*q)+Q(Q(g*O)+Q(P*i)))+v;ua[J[J[e>>2]+16>>2]](e,d+16|0,d,h)}b:{if(J[k+4>>2]>6|J[J[e+4>>2]+844>>2]>=J[a+24>>2]){break b}j=N[n+64>>2];c:{if(Q(R(j))>Q(.7071067690849304)){h=N[n+60>>2];g=Q(Q(1)/Q(Y(Q(Q(h*h)+Q(j*j)))));h=Q(h*g);j=Q(g*Q(-j));g=Q(0);break c}h=N[n+56>>2];g=N[n+60>>2];i=Q(Q(1)/Q(Y(Q(Q(h*h)+Q(g*g)))));j=Q(h*i);h=Q(0);g=Q(i*Q(-g))}V=0;i=Q(ua[J[J[k>>2]+16>>2]](k));i=Q(N[8265]/i);i=i>Q(.39269909262657166)?Q(.19634954631328583):Q(i*Q(.5));o=Na(i);f=J[a+20>>2];H=Ma(i);if((f|0)<=0){break b}q=h;h=Q(o/Q(Y(Q(Q(h*h)+Q(Q(g*g)+Q(j*j))))));I=Q(q*h);L=Q(j*h);M=Q(g*h);while(1){j=N[n+60>>2];i=N[n+56>>2];h=N[n+64>>2];g=Q(Q(Q(Q(6.2831854820251465)/Q(f|0))*Q(V|0))*Q(.5));o=Q(Na(g)/Q(Y(Q(Q(h*h)+Q(Q(i*i)+Q(j*j))))));h=Q(h*o);j=Q(j*o);g=Ma(g);i=Q(i*o);o=Q(Q(h*I)+Q(Q(j*L)+Q(Q(g*H)+Q(M*i))));r=Q(Q(h*L)+Q(Q(Q(g*M)-Q(H*i))-Q(j*I)));t=Q(Q(i*I)+Q(Q(Q(g*L)-Q(H*j))-Q(h*M)));u=Q(Q(j*M)+Q(Q(Q(g*I)-Q(H*h))-Q(i*L)));N[d+28>>2]=Q(Q(Q(o*g)-Q(i*r))-Q(t*j))-Q(u*h);N[d+24>>2]=Q(Q(r*j)+Q(Q(o*h)+Q(g*u)))-Q(t*i);N[d+20>>2]=Q(Q(u*i)+Q(Q(o*j)+Q(g*t)))-Q(r*h);N[d+16>>2]=Q(Q(t*h)+Q(Q(o*i)+Q(g*r)))-Q(u*j);f=sa-48|0;sa=f;p=K[a+16|0];ia=p?c:b;k=J[ia+12>>2];fa=N[k+56>>2];X=N[k+52>>2];Z=N[k+48>>2];ja=p?b:c;p=J[ja+12>>2];_=N[p+56>>2];aa=N[p+48>>2];$=N[p+52>>2];ia=J[ia+4>>2];h=N[p+40>>2];j=N[p+8>>2];g=N[p+24>>2];i=N[p+32>>2];o=N[p>>2];r=N[p+16>>2];t=N[p+36>>2];y=N[k+40>>2];z=N[k+32>>2];A=N[k+36>>2];u=N[p+4>>2];B=N[k+8>>2];C=N[k>>2];w=N[k+4>>2];x=N[p+20>>2];D=N[k+24>>2];E=N[k+16>>2];F=N[k+20>>2];s=N[d+28>>2];v=N[d+24>>2];m=N[d+16>>2];l=N[d+20>>2];p=J[ja+4>>2];ma=p- -64|0;T=N[ma>>2];ha=N[p+56>>2];U=N[p+60>>2];J[f+28>>2]=0;q=Q(Q(2)/Q(Q(s*s)+Q(Q(v*v)+Q(Q(m*m)+Q(l*l)))));G=Q(m*q);ba=Q(m*G);P=Q(l*q);ca=Q(l*P);O=Q(Q(1)-Q(ba+ca));q=Q(v*q);da=Q(m*q);ea=Q(s*P);S=Q(da+ea);ka=Q(l*q);la=Q(s*G);l=Q(ka-la);G=Q(Q(y*O)+Q(Q(z*S)+Q(A*l)));W=Q(Q(O*B)+Q(Q(S*C)+Q(w*l)));l=Q(Q(O*D)+Q(Q(S*E)+Q(F*l)));O=Q(-ha);N[f+24>>2]=Q(Q(Q(Q(i*G)+Q(Q(o*W)+Q(r*l)))*O)-Q(U*Q(Q(t*G)+Q(Q(u*W)+Q(x*l)))))-Q(T*Q(Q(h*G)+Q(Q(j*W)+Q(g*l))));l=Q(ka+la);P=Q(m*P);S=Q(s*q);m=Q(P-S);G=Q(v*q);s=Q(Q(1)-Q(ba+G));v=Q(Q(y*l)+Q(Q(z*m)+Q(A*s)));q=Q(Q(l*B)+Q(Q(m*C)+Q(w*s)));m=Q(Q(l*D)+Q(Q(m*E)+Q(F*s)));N[f+20>>2]=Q(Q(Q(Q(i*v)+Q(Q(o*q)+Q(r*m)))*O)-Q(U*Q(Q(t*v)+Q(Q(u*q)+Q(x*m)))))-Q(T*Q(Q(h*v)+Q(Q(j*q)+Q(g*m))));m=Q(da-ea);s=Q(Q(1)-Q(ca+G));l=Q(P+S);v=Q(Q(y*m)+Q(Q(z*s)+Q(A*l)));q=Q(Q(m*B)+Q(Q(s*C)+Q(w*l)));m=Q(Q(m*D)+Q(Q(s*E)+Q(F*l)));N[f+16>>2]=Q(Q(Q(Q(i*v)+Q(Q(o*q)+Q(r*m)))*O)-Q(U*Q(Q(t*v)+Q(Q(u*q)+Q(x*m)))))-Q(T*Q(Q(h*v)+Q(Q(j*q)+Q(g*m))));ua[J[J[ia>>2]+64>>2]](f+32|0,ia,f+16|0);k=J[ja+12>>2];P=N[k+48>>2];O=N[k+32>>2];S=N[k+16>>2];G=N[k+8>>2];W=N[k+4>>2];ha=N[k>>2];ba=N[k+56>>2];ca=N[k+52>>2];da=N[k+40>>2];ea=N[k+36>>2];ka=N[k+24>>2];la=N[k+20>>2];na=N[p+72>>2];v=N[ma>>2];T=N[p+56>>2];U=N[p+60>>2];m=N[f+40>>2];s=N[f+32>>2];l=N[f+36>>2];k=J[a+12>>2];q=N[k+848>>2];J[e+4>>2]=k;ga=q;q=Q(-aa);aa=Q(Q(Q(Q(fa*h)+Q(Q(Z*j)+Q(X*g)))+Q(Q(Q(j*q)-Q(g*$))-Q(h*_)))+Q(Q(m*Q(Q(y*h)+Q(Q(B*j)+Q(D*g))))+Q(Q(s*Q(Q(z*h)+Q(Q(C*j)+Q(E*g))))+Q(l*Q(Q(A*h)+Q(Q(w*j)+Q(F*g)))))));o=Q(Q(Q(Q(fa*i)+Q(Q(Z*o)+Q(X*r)))+Q(Q(Q(o*q)-Q(r*$))-Q(i*_)))+Q(Q(m*Q(Q(y*i)+Q(Q(B*o)+Q(D*r))))+Q(Q(s*Q(Q(z*i)+Q(Q(C*o)+Q(E*r))))+Q(l*Q(Q(A*i)+Q(Q(w*o)+Q(F*r)))))));r=Q(Q(Q(Q(fa*t)+Q(Q(Z*u)+Q(X*x)))+Q(Q(Q(u*q)-Q(x*$))-Q(t*_)))+Q(Q(m*Q(Q(y*t)+Q(Q(B*u)+Q(D*x))))+Q(Q(s*Q(Q(z*t)+Q(Q(C*u)+Q(E*x))))+Q(l*Q(Q(A*t)+Q(Q(w*u)+Q(F*x)))))));h=Q(Q(Q(v*aa)+Q(Q(T*o)+Q(U*r)))-na);if(ga>h){k=J[ja+12>>2];t=N[k+24>>2];u=N[k+20>>2];x=N[k+40>>2];y=N[k+36>>2];z=N[k+16>>2];A=N[k+32>>2];j=N[p+64>>2];B=N[k+8>>2];g=N[p+56>>2];C=N[k>>2];i=N[p+60>>2];w=N[k+4>>2];J[f+28>>2]=0;N[f+16>>2]=Q(B*j)+Q(Q(C*g)+Q(w*i));N[f+24>>2]=Q(x*j)+Q(Q(A*g)+Q(i*y));N[f+20>>2]=Q(t*j)+Q(Q(z*g)+Q(i*u));J[f+12>>2]=0;j=Q(aa-Q(v*h));g=Q(o-Q(T*h));i=Q(r-Q(U*h));N[f+8>>2]=Q(Q(j*da)+Q(Q(g*O)+Q(i*ea)))+ba;N[f+4>>2]=Q(Q(j*ka)+Q(Q(g*S)+Q(i*la)))+ca;N[f>>2]=Q(Q(j*G)+Q(Q(g*ha)+Q(W*i)))+P;ua[J[J[e>>2]+16>>2]](e,f+16|0,f,h)}sa=f+48|0;f=J[a+20>>2];V=V+1|0;if((f|0)>(V|0)){continue}break}}if(!K[a+8|0]|!J[J[a+12>>2]+844>>2]){break a}a=J[e+4>>2];if(!J[a+844>>2]){break a}c=J[a+836>>2];f=J[J[e+8>>2]+8>>2];b=(c|0)==(f|0);k=a;a=J[J[e+12>>2]+8>>2];Ua(k,(b?c:a)+4|0,(b?a:f)+4|0)}sa=d+48|0}function db(a,b,c){var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=Q(0),l=0,m=Q(0),n=Q(0),o=0,p=Q(0),q=Q(0),r=Q(0),s=Q(0),t=Q(0),u=Q(0);g=sa-256|0;sa=g;h=J[b+212>>2];a:{if((h|0)>=0){break a}b:{h=J[b+252>>2];if(!(h&2)){break b}h=h<<30>>31&b;if(N[h+404>>2]==Q(0)&!(K[h+204|0]&2)){break b}h=J[a+8>>2];Fa(g+12|0,0,244);d=h;e=d;c:{if(J[a+12>>2]!=(d|0)){break c}l=d?d<<1:1;e=h;if((l|0)<=(d|0)){break c}if(l){J[8456]=J[8456]+1;i=ua[J[8258]](P(l,244),16)|0;d=J[a+8>>2]}else{d=h}if((d|0)>0){while(1){e=P(o,244);f=e+i|0;e=e+J[a+16>>2]|0;j=J[e+4>>2];J[f>>2]=J[e>>2];J[f+4>>2]=j;j=J[e+12>>2];J[f+8>>2]=J[e+8>>2];J[f+12>>2]=j;j=J[e+28>>2];J[f+24>>2]=J[e+24>>2];J[f+28>>2]=j;j=J[e+20>>2];J[f+16>>2]=J[e+16>>2];J[f+20>>2]=j;j=J[e+44>>2];J[f+40>>2]=J[e+40>>2];J[f+44>>2]=j;j=J[e+36>>2];J[f+32>>2]=J[e+32>>2];J[f+36>>2]=j;j=J[e+52>>2];J[f+48>>2]=J[e+48>>2];J[f+52>>2]=j;j=J[e+60>>2];J[f+56>>2]=J[e+56>>2];J[f+60>>2]=j;Ja(f- -64|0,e- -64|0,180);o=o+1|0;if((d|0)!=(o|0)){continue}break}}d=J[a+16>>2];if(!(d?!d|!K[a+20|0]:1)){J[8457]=J[8457]+1;ua[J[8259]](d)}J[a+16>>2]=i;H[a+20|0]=1;J[a+12>>2]=l;e=J[a+8>>2]}J[a+8>>2]=e+1;e=P(h,244);d=e+J[a+16>>2]|0;J[d>>2]=0;J[d+4>>2]=0;J[d+8>>2]=0;J[d+12>>2]=0;f=J[g+40>>2];J[d+24>>2]=J[g+36>>2];J[d+28>>2]=f;f=J[g+32>>2];J[d+16>>2]=J[g+28>>2];J[d+20>>2]=f;f=J[g+48>>2];J[d+32>>2]=J[g+44>>2];J[d+36>>2]=f;f=J[g+56>>2];J[d+40>>2]=J[g+52>>2];J[d+44>>2]=f;f=J[g+64>>2];J[d+48>>2]=J[g+60>>2];J[d+52>>2]=f;f=J[g+72>>2];J[d+56>>2]=J[g+68>>2];J[d+60>>2]=f;Ja(d- -64|0,g+76|0,180);d=e+J[a+16>>2]|0;a=b?J[b+252>>2]<<30>>31&b:0;J[d+64>>2]=0;J[d+68>>2]=0;J[d+144>>2]=0;J[d+148>>2]=0;J[d+88>>2]=0;J[d+92>>2]=0;J[d+80>>2]=0;J[d+84>>2]=0;J[d+72>>2]=0;J[d+76>>2]=0;J[d+152>>2]=0;J[d+156>>2]=0;J[d+160>>2]=0;J[d+164>>2]=0;J[d+168>>2]=0;J[d+172>>2]=0;d:{if(a){e=J[a+8>>2];J[d>>2]=J[a+4>>2];J[d+4>>2]=e;e=J[a+16>>2];J[d+8>>2]=J[a+12>>2];J[d+12>>2]=e;e=J[a+32>>2];J[d+24>>2]=J[a+28>>2];J[d+28>>2]=e;e=J[a+24>>2];J[d+16>>2]=J[a+20>>2];J[d+20>>2]=e;e=J[a+48>>2];J[d+40>>2]=J[a+44>>2];J[d+44>>2]=e;e=J[a+40>>2];J[d+32>>2]=J[a+36>>2];J[d+36>>2]=e;e=J[a+64>>2];J[d+56>>2]=J[a+60>>2];J[d+60>>2]=e;e=J[a+56>>2];J[d+48>>2]=J[a+52>>2];J[d+52>>2]=e;m=N[a+412>>2];n=N[a+416>>2];p=N[a+408>>2];k=N[a+404>>2];J[d+240>>2]=a;J[d+140>>2]=0;N[d+136>>2]=k*n;N[d+132>>2]=k*m;N[d+128>>2]=k*p;e=J[a+616>>2];J[d+104>>2]=J[a+612>>2];J[d+108>>2]=e;e=J[a+608>>2];J[d+96>>2]=J[a+604>>2];J[d+100>>2]=e;e=J[a+420>>2];J[d+120>>2]=J[a+416>>2];J[d+124>>2]=e;e=J[a+412>>2];J[d+112>>2]=J[a+408>>2];J[d+116>>2]=e;e=J[a+384>>2];J[d+184>>2]=J[a+380>>2];J[d+188>>2]=e;e=J[a+376>>2];J[d+176>>2]=J[a+372>>2];J[d+180>>2]=e;e=J[a+400>>2];J[d+200>>2]=J[a+396>>2];J[d+204>>2]=e;e=J[a+392>>2];J[d+192>>2]=J[a+388>>2];J[d+196>>2]=e;m=N[a+476>>2];n=N[a+480>>2];p=N[a+472>>2];k=N[a+404>>2];J[d+220>>2]=0;N[d+216>>2]=Q(k*n)*c;N[d+212>>2]=Q(k*m)*c;N[d+208>>2]=Q(k*p)*c;p=N[a+332>>2];q=N[a+348>>2];r=N[a+364>>2];s=N[a+340>>2];t=N[a+356>>2];u=N[a+324>>2];k=N[a+496>>2];m=N[a+488>>2];n=N[a+492>>2];N[d+228>>2]=Q(Q(N[a+360>>2]*k)+Q(Q(N[a+328>>2]*m)+Q(n*N[a+344>>2])))*c;N[d+224>>2]=Q(Q(t*k)+Q(Q(u*m)+Q(s*n)))*c;c=Q(Q(Q(r*k)+Q(Q(p*m)+Q(n*q)))*c);break d}J[d+4>>2]=0;J[d+8>>2]=0;J[d>>2]=1065353216;J[d+240>>2]=0;J[d+128>>2]=0;J[d+132>>2]=0;J[d+112>>2]=1065353216;J[d+116>>2]=1065353216;J[d+96>>2]=1065353216;J[d+100>>2]=1065353216;J[d+176>>2]=0;J[d+180>>2]=0;J[d+12>>2]=0;J[d+16>>2]=0;J[d+24>>2]=0;J[d+28>>2]=0;J[d+20>>2]=1065353216;J[d+32>>2]=0;J[d+36>>2]=0;J[d+44>>2]=0;J[d+48>>2]=0;J[d+40>>2]=1065353216;J[d+52>>2]=0;J[d+56>>2]=0;J[d+60>>2]=0;J[d+136>>2]=0;J[d+140>>2]=0;J[d+120>>2]=1065353216;J[d+124>>2]=0;J[d+104>>2]=1065353216;J[d+108>>2]=0;J[d+224>>2]=0;J[d+228>>2]=0;J[d+216>>2]=0;J[d+220>>2]=0;J[d+208>>2]=0;J[d+212>>2]=0;J[d+200>>2]=0;J[d+204>>2]=0;J[d+192>>2]=0;J[d+196>>2]=0;J[d+184>>2]=0;J[d+188>>2]=0;c=Q(0)}J[d+236>>2]=0;N[d+232>>2]=c;J[b+212>>2]=h;break a}h=J[a+188>>2];if((h|0)>=0){break a}b=J[a+8>>2];J[a+188>>2]=b;Fa(g+12|0,0,244);d=b;e:{if((b|0)!=J[a+12>>2]){break e}l=b?b<<1:1;d=b;if((l|0)<=(b|0)){break e}if(l){J[8456]=J[8456]+1;o=ua[J[8258]](P(l,244),16)|0;d=J[a+8>>2]}else{d=b}if((d|0)>0){h=0;while(1){e=P(h,244);f=e+o|0;e=e+J[a+16>>2]|0;i=J[e+4>>2];J[f>>2]=J[e>>2];J[f+4>>2]=i;i=J[e+12>>2];J[f+8>>2]=J[e+8>>2];J[f+12>>2]=i;i=J[e+28>>2];J[f+24>>2]=J[e+24>>2];J[f+28>>2]=i;i=J[e+20>>2];J[f+16>>2]=J[e+16>>2];J[f+20>>2]=i;i=J[e+44>>2];J[f+40>>2]=J[e+40>>2];J[f+44>>2]=i;i=J[e+36>>2];J[f+32>>2]=J[e+32>>2];J[f+36>>2]=i;i=J[e+52>>2];J[f+48>>2]=J[e+48>>2];J[f+52>>2]=i;i=J[e+60>>2];J[f+56>>2]=J[e+56>>2];J[f+60>>2]=i;Ja(f- -64|0,e- -64|0,180);h=h+1|0;if((d|0)!=(h|0)){continue}break}}h=J[a+16>>2];if(!(h?!h|!K[a+20|0]:1)){J[8457]=J[8457]+1;ua[J[8259]](h)}J[a+16>>2]=o;H[a+20|0]=1;J[a+12>>2]=l;d=J[a+8>>2]}J[a+8>>2]=d+1;h=P(b,244);b=h+J[a+16>>2]|0;J[b>>2]=0;J[b+4>>2]=0;J[b+8>>2]=0;J[b+12>>2]=0;d=J[g+40>>2];J[b+24>>2]=J[g+36>>2];J[b+28>>2]=d;d=J[g+32>>2];J[b+16>>2]=J[g+28>>2];J[b+20>>2]=d;d=J[g+48>>2];J[b+32>>2]=J[g+44>>2];J[b+36>>2]=d;d=J[g+56>>2];J[b+40>>2]=J[g+52>>2];J[b+44>>2]=d;d=J[g+64>>2];J[b+48>>2]=J[g+60>>2];J[b+52>>2]=d;d=J[g+72>>2];J[b+56>>2]=J[g+68>>2];J[b+60>>2]=d;Ja(b- -64|0,g+76|0,180);b=h+J[a+16>>2]|0;J[b+64>>2]=0;J[b+68>>2]=0;J[b+144>>2]=0;J[b+148>>2]=0;J[b+4>>2]=0;J[b+8>>2]=0;J[b>>2]=1065353216;J[b+88>>2]=0;J[b+92>>2]=0;J[b+80>>2]=0;J[b+84>>2]=0;J[b+72>>2]=0;J[b+76>>2]=0;J[b+152>>2]=0;J[b+156>>2]=0;J[b+160>>2]=0;J[b+164>>2]=0;J[b+168>>2]=0;J[b+172>>2]=0;J[b+12>>2]=0;J[b+16>>2]=0;J[b+24>>2]=0;J[b+28>>2]=0;J[b+20>>2]=1065353216;J[b+32>>2]=0;J[b+36>>2]=0;J[b+44>>2]=0;J[b+48>>2]=0;J[b+40>>2]=1065353216;J[b+52>>2]=0;J[b+56>>2]=0;J[b+60>>2]=0;J[b+136>>2]=0;J[b+140>>2]=0;J[b+240>>2]=0;J[b+128>>2]=0;J[b+132>>2]=0;J[b+120>>2]=1065353216;J[b+124>>2]=0;J[b+112>>2]=1065353216;J[b+116>>2]=1065353216;J[b+104>>2]=1065353216;J[b+108>>2]=0;J[b+96>>2]=1065353216;J[b+100>>2]=1065353216;J[b+232>>2]=0;J[b+236>>2]=0;J[b+224>>2]=0;J[b+228>>2]=0;J[b+216>>2]=0;J[b+220>>2]=0;J[b+208>>2]=0;J[b+212>>2]=0;J[b+200>>2]=0;J[b+204>>2]=0;J[b+192>>2]=0;J[b+196>>2]=0;J[b+184>>2]=0;J[b+188>>2]=0;J[b+176>>2]=0;J[b+180>>2]=0;h=J[a+188>>2]}sa=g+256|0;return h}function Ao(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=Q(0),h=Q(0),i=Q(0),j=Q(0),k=Q(0),l=Q(0),m=Q(0),n=Q(0),o=Q(0),p=Q(0),q=Q(0),r=Q(0),s=Q(0),t=Q(0),u=Q(0),v=0;f=sa-32|0;sa=f;o=N[d+52>>2];i=N[d+24>>2];j=N[d+20>>2];p=N[d+56>>2];k=N[d+40>>2];q=N[d+36>>2];r=N[d+16>>2];s=N[d+32>>2];t=N[d+48>>2];l=N[d+8>>2];g=N[b+8>>2];u=N[d>>2];h=N[b>>2];n=N[d+4>>2];m=N[b+4>>2];J[f+28>>2]=0;l=Q(g*l);n=Q(m*n);N[f+16>>2]=t+Q(l+Q(Q(h*u)+n));k=Q(g*k);q=Q(m*q);N[f+24>>2]=p+Q(k+Q(Q(h*s)+q));i=Q(g*i);g=Q(h*r);h=Q(m*j);N[f+20>>2]=o+Q(i+Q(g+h));g=N[c>>2];J[f+12>>2]=0;N[f+8>>2]=p+Q(k+Q(Q(g*s)+q));N[f+4>>2]=o+Q(i+Q(Q(g*r)+h));N[f>>2]=t+Q(l+Q(Q(g*u)+n));v=f+16|0;ua[J[J[a>>2]+16>>2]](a,v,f,e);o=N[d+52>>2];i=N[d+24>>2];p=N[d+20>>2];r=N[d+56>>2];j=N[d+40>>2];s=N[d+36>>2];t=N[d+48>>2];k=N[d+8>>2];q=N[d>>2];u=N[d+4>>2];l=N[d+16>>2];g=N[b+8>>2];n=N[d+32>>2];h=N[c>>2];m=N[b+4>>2];J[f+28>>2]=0;j=Q(g*j);n=Q(h*n);N[f+24>>2]=r+Q(j+Q(n+Q(m*s)));i=Q(g*i);l=Q(h*l);N[f+20>>2]=o+Q(i+Q(l+Q(m*p)));k=Q(g*k);h=Q(h*q);N[f+16>>2]=t+Q(k+Q(h+Q(m*u)));g=N[c+4>>2];J[f+12>>2]=0;N[f+8>>2]=r+Q(j+Q(n+Q(s*g)));N[f+4>>2]=o+Q(i+Q(l+Q(p*g)));N[f>>2]=t+Q(k+Q(h+Q(u*g)));ua[J[J[a>>2]+16>>2]](a,v,f,e);o=N[d+52>>2];i=N[d+24>>2];j=N[d+20>>2];p=N[d+56>>2];k=N[d+40>>2];q=N[d+36>>2];r=N[d+48>>2];l=N[d+8>>2];s=N[d>>2];n=N[d+4>>2];t=N[d+16>>2];g=N[b+8>>2];u=N[d+32>>2];h=N[c>>2];m=N[c+4>>2];J[f+28>>2]=0;k=Q(g*k);q=Q(m*q);N[f+24>>2]=p+Q(k+Q(Q(h*u)+q));i=Q(g*i);j=Q(m*j);N[f+20>>2]=o+Q(i+Q(Q(h*t)+j));l=Q(g*l);g=Q(h*s);h=Q(m*n);N[f+16>>2]=r+Q(l+Q(g+h));g=N[b>>2];J[f+12>>2]=0;N[f+8>>2]=p+Q(k+Q(Q(g*u)+q));N[f+4>>2]=o+Q(i+Q(Q(g*t)+j));N[f>>2]=r+Q(l+Q(Q(g*s)+h));ua[J[J[a>>2]+16>>2]](a,v,f,e);o=N[d+52>>2];i=N[d+24>>2];p=N[d+20>>2];r=N[d+56>>2];j=N[d+40>>2];s=N[d+36>>2];t=N[d+48>>2];k=N[d+8>>2];q=N[d>>2];u=N[d+4>>2];l=N[d+16>>2];g=N[b+8>>2];n=N[d+32>>2];h=N[b>>2];m=N[c+4>>2];J[f+28>>2]=0;j=Q(g*j);n=Q(h*n);N[f+24>>2]=r+Q(j+Q(n+Q(m*s)));i=Q(g*i);l=Q(h*l);N[f+20>>2]=o+Q(i+Q(l+Q(m*p)));k=Q(g*k);h=Q(h*q);N[f+16>>2]=t+Q(k+Q(h+Q(m*u)));g=N[b+4>>2];J[f+12>>2]=0;N[f+8>>2]=r+Q(j+Q(n+Q(s*g)));N[f+4>>2]=o+Q(i+Q(l+Q(p*g)));N[f>>2]=t+Q(k+Q(h+Q(u*g)));ua[J[J[a>>2]+16>>2]](a,v,f,e);o=N[d+52>>2];p=N[d+24>>2];i=N[d+20>>2];r=N[d+56>>2];s=N[d+40>>2];j=N[d+36>>2];t=N[d+48>>2];u=N[d+8>>2];k=N[d>>2];q=N[d+4>>2];l=N[d+16>>2];g=N[b+8>>2];n=N[d+32>>2];h=N[b>>2];m=N[b+4>>2];J[f+28>>2]=0;j=Q(Q(h*n)+Q(m*j));N[f+24>>2]=r+Q(Q(g*s)+j);i=Q(Q(h*l)+Q(m*i));N[f+20>>2]=o+Q(Q(g*p)+i);h=Q(Q(h*k)+Q(m*q));N[f+16>>2]=t+Q(Q(g*u)+h);g=N[c+8>>2];J[f+12>>2]=0;N[f+8>>2]=r+Q(Q(g*s)+j);N[f+4>>2]=o+Q(Q(g*p)+i);N[f>>2]=t+Q(Q(g*u)+h);ua[J[J[a>>2]+16>>2]](a,v,f,e);o=N[d+52>>2];p=N[d+24>>2];i=N[d+20>>2];r=N[d+56>>2];s=N[d+40>>2];j=N[d+36>>2];t=N[d+48>>2];u=N[d+8>>2];k=N[d>>2];q=N[d+4>>2];l=N[d+16>>2];g=N[b+8>>2];n=N[d+32>>2];h=N[c>>2];m=N[b+4>>2];J[f+28>>2]=0;j=Q(Q(h*n)+Q(m*j));N[f+24>>2]=r+Q(Q(g*s)+j);i=Q(Q(h*l)+Q(m*i));N[f+20>>2]=o+Q(Q(g*p)+i);h=Q(Q(h*k)+Q(m*q));N[f+16>>2]=t+Q(Q(g*u)+h);g=N[c+8>>2];J[f+12>>2]=0;N[f+8>>2]=r+Q(Q(g*s)+j);N[f+4>>2]=o+Q(Q(g*p)+i);N[f>>2]=t+Q(Q(g*u)+h);ua[J[J[a>>2]+16>>2]](a,v,f,e);o=N[d+52>>2];p=N[d+24>>2];i=N[d+20>>2];r=N[d+56>>2];s=N[d+40>>2];j=N[d+36>>2];t=N[d+48>>2];u=N[d+8>>2];k=N[d>>2];q=N[d+4>>2];l=N[d+16>>2];g=N[b+8>>2];n=N[d+32>>2];h=N[c>>2];m=N[c+4>>2];J[f+28>>2]=0;j=Q(Q(h*n)+Q(m*j));N[f+24>>2]=r+Q(Q(g*s)+j);i=Q(Q(h*l)+Q(m*i));N[f+20>>2]=o+Q(Q(g*p)+i);h=Q(Q(h*k)+Q(m*q));N[f+16>>2]=t+Q(Q(g*u)+h);g=N[c+8>>2];J[f+12>>2]=0;N[f+8>>2]=r+Q(Q(g*s)+j);N[f+4>>2]=o+Q(Q(g*p)+i);N[f>>2]=t+Q(Q(g*u)+h);ua[J[J[a>>2]+16>>2]](a,v,f,e);o=N[d+52>>2];p=N[d+24>>2];i=N[d+20>>2];r=N[d+56>>2];s=N[d+40>>2];j=N[d+36>>2];t=N[d+48>>2];u=N[d+8>>2];k=N[d>>2];q=N[d+4>>2];l=N[d+16>>2];g=N[b+8>>2];n=N[d+32>>2];h=N[b>>2];m=N[c+4>>2];J[f+28>>2]=0;j=Q(Q(h*n)+Q(m*j));N[f+24>>2]=r+Q(Q(g*s)+j);i=Q(Q(h*l)+Q(m*i));N[f+20>>2]=o+Q(Q(g*p)+i);h=Q(Q(h*k)+Q(m*q));N[f+16>>2]=t+Q(Q(g*u)+h);g=N[c+8>>2];J[f+12>>2]=0;N[f+8>>2]=r+Q(Q(g*s)+j);N[f+4>>2]=o+Q(Q(g*p)+i);N[f>>2]=t+Q(Q(g*u)+h);ua[J[J[a>>2]+16>>2]](a,v,f,e);o=N[d+52>>2];i=N[d+24>>2];j=N[d+20>>2];p=N[d+56>>2];k=N[d+40>>2];q=N[d+36>>2];r=N[d+48>>2];l=N[d+8>>2];s=N[d>>2];n=N[d+4>>2];t=N[d+16>>2];g=N[c+8>>2];u=N[d+32>>2];h=N[b>>2];m=N[b+4>>2];J[f+28>>2]=0;k=Q(g*k);q=Q(m*q);N[f+24>>2]=p+Q(k+Q(Q(h*u)+q));i=Q(g*i);j=Q(m*j);N[f+20>>2]=o+Q(i+Q(Q(h*t)+j));l=Q(g*l);g=Q(h*s);h=Q(m*n);N[f+16>>2]=r+Q(l+Q(g+h));g=N[c>>2];J[f+12>>2]=0;N[f+8>>2]=p+Q(k+Q(Q(g*u)+q));N[f+4>>2]=o+Q(i+Q(Q(g*t)+j));N[f>>2]=r+Q(l+Q(Q(g*s)+h));ua[J[J[a>>2]+16>>2]](a,v,f,e);o=N[d+52>>2];i=N[d+24>>2];p=N[d+20>>2];r=N[d+56>>2];j=N[d+40>>2];s=N[d+36>>2];t=N[d+48>>2];k=N[d+8>>2];q=N[d>>2];u=N[d+4>>2];l=N[d+16>>2];g=N[c+8>>2];n=N[d+32>>2];h=N[c>>2];m=N[b+4>>2];J[f+28>>2]=0;j=Q(g*j);n=Q(h*n);N[f+24>>2]=r+Q(j+Q(n+Q(m*s)));i=Q(g*i);l=Q(h*l);N[f+20>>2]=o+Q(i+Q(l+Q(m*p)));k=Q(g*k);h=Q(h*q);N[f+16>>2]=t+Q(k+Q(h+Q(m*u)));g=N[c+4>>2];J[f+12>>2]=0;N[f+8>>2]=r+Q(j+Q(n+Q(s*g)));N[f+4>>2]=o+Q(i+Q(l+Q(p*g)));N[f>>2]=t+Q(k+Q(h+Q(u*g)));ua[J[J[a>>2]+16>>2]](a,v,f,e);o=N[d+52>>2];i=N[d+24>>2];j=N[d+20>>2];p=N[d+56>>2];k=N[d+40>>2];q=N[d+36>>2];r=N[d+48>>2];l=N[d+8>>2];s=N[d>>2];n=N[d+4>>2];t=N[d+16>>2];g=N[c+8>>2];u=N[d+32>>2];h=N[c>>2];m=N[c+4>>2];J[f+28>>2]=0;k=Q(g*k);q=Q(m*q);N[f+24>>2]=p+Q(k+Q(Q(h*u)+q));i=Q(g*i);j=Q(m*j);N[f+20>>2]=o+Q(i+Q(Q(h*t)+j));l=Q(g*l);g=Q(h*s);h=Q(m*n);N[f+16>>2]=r+Q(l+Q(g+h));g=N[b>>2];J[f+12>>2]=0;N[f+8>>2]=p+Q(k+Q(Q(g*u)+q));N[f+4>>2]=o+Q(i+Q(Q(g*t)+j));N[f>>2]=r+Q(l+Q(Q(g*s)+h));ua[J[J[a>>2]+16>>2]](a,v,f,e);o=N[d+52>>2];i=N[d+24>>2];p=N[d+20>>2];r=N[d+56>>2];j=N[d+40>>2];s=N[d+36>>2];t=N[d+48>>2];k=N[d+8>>2];q=N[d>>2];u=N[d+4>>2];l=N[d+16>>2];g=N[c+8>>2];n=N[d+32>>2];h=N[b>>2];m=N[c+4>>2];J[f+28>>2]=0;j=Q(g*j);n=Q(h*n);N[f+24>>2]=r+Q(j+Q(n+Q(m*s)));i=Q(g*i);l=Q(h*l);N[f+20>>2]=o+Q(i+Q(l+Q(m*p)));k=Q(g*k);h=Q(h*q);N[f+16>>2]=t+Q(k+Q(h+Q(m*u)));g=N[b+4>>2];J[f+12>>2]=0;N[f+8>>2]=r+Q(j+Q(n+Q(s*g)));N[f+4>>2]=o+Q(i+Q(l+Q(p*g)));N[f>>2]=t+Q(k+Q(h+Q(u*g)));ua[J[J[a>>2]+16>>2]](a,v,f,e);sa=f+32|0}function jc(a,b,c,d){var e=0,f=0,g=Q(0),h=Q(0),i=Q(0),j=0,k=Q(0),l=Q(0),m=0,n=Q(0),o=Q(0),p=Q(0),q=Q(0),r=0,s=Q(0),t=Q(0),u=Q(0),v=Q(0),w=Q(0),x=Q(0),y=Q(0),z=Q(0),A=Q(0),B=Q(0),C=Q(0),D=Q(0),E=Q(0),F=Q(0),G=Q(0),I=Q(0),L=Q(0);e=sa-144|0;sa=e;g=N[b+8>>2];i=N[b>>2];h=N[b+4>>2];a:{if(Q(Q(g*g)+Q(Q(i*i)+Q(h*h)))>2];j=J[f+64>>2];J[e+136>>2]=J[f+60>>2];J[e+140>>2]=j;j=J[f+56>>2];J[e+128>>2]=J[f+52>>2];J[e+132>>2]=j;j=J[f+64>>2];J[e+120>>2]=J[f+60>>2];J[e+124>>2]=j;j=J[f+56>>2];f=J[f+52>>2];z=Q(g+N[e+120>>2]);N[e+120>>2]=z;J[e+112>>2]=f;J[e+116>>2]=j;A=Q(i+N[e+112>>2]);N[e+112>>2]=A;B=Q(h+N[e+116>>2]);N[e+116>>2]=B;b:{c:{if(!d){f=0;break c}f=0;C=N[e+136>>2];g=Q(z-C);D=N[e+128>>2];i=Q(A-D);E=N[e+132>>2];h=Q(B-E);l=Q(Y(Q(Q(g*g)+Q(Q(i*i)+Q(h*h)))));if(l<=c){break c}while(1){n=g;g=Q(Q(1)/l);n=Q(n*g);u=Q(i*g);v=Q(h*g);if(Q(Q(n*N[b+8>>2])+Q(Q(u*N[b>>2])+Q(v*N[b+4>>2])))<=Q(0)){break c}N[e+100>>2]=l+N[a+36>>2];k=Q(0);i=Q(0);f=sa-224|0;sa=f;m=J[(K[a+108|0]?104:8)+a>>2];j=H[33900]&1;d:{if(j){j=!j;h=N[8474];k=N[8473];i=N[8472];g=N[8471];break d}J[8473]=0;J[8474]=1065353216;J[8471]=0;J[8472]=0;H[33900]=1;h=Q(1);j=0;g=Q(0)}w=N[e+100>>2];J[f+204>>2]=0;J[f+188>>2]=0;p=Q(Q(2)/Q(Q(h*h)+Q(Q(k*k)+Q(Q(g*g)+Q(i*i)))));q=Q(k*p);o=Q(i*q);x=Q(g*p);t=Q(h*x);N[f+196>>2]=o+t;N[f+184>>2]=o-t;o=Q(g*x);p=Q(i*p);x=Q(i*p);N[f+200>>2]=Q(1)-Q(o+x);s=o;o=Q(k*q);N[f+180>>2]=Q(1)-Q(s+o);J[f+172>>2]=0;t=Q(g*q);y=Q(h*p);N[f+192>>2]=t-y;p=Q(g*p);q=Q(h*q);N[f+176>>2]=p+q;N[f+168>>2]=t+y;N[f+164>>2]=p-q;N[f+160>>2]=Q(1)-Q(x+o);r=J[e+140>>2];J[f+216>>2]=J[e+136>>2];J[f+220>>2]=r;r=J[e+132>>2];J[f+208>>2]=J[e+128>>2];J[f+212>>2]=r;if(j){J[8473]=0;J[8474]=1065353216;J[8471]=0;J[8472]=0;H[33900]=1;k=Q(0);h=Q(1);i=Q(0);g=Q(0)}p=N[e+136>>2];y=N[e+120>>2];o=N[e+128>>2];F=N[e+112>>2];x=N[e+132>>2];L=N[e+116>>2];J[f+156>>2]=0;J[f+140>>2]=0;J[f+124>>2]=0;t=Q(Q(2)/Q(Q(h*h)+Q(Q(k*k)+Q(Q(g*g)+Q(i*i)))));q=Q(k*t);s=Q(i*q);G=Q(g*t);I=Q(h*G);N[f+132>>2]=s+I;N[f+120>>2]=s-I;s=Q(g*G);t=Q(i*t);G=Q(i*t);N[f+136>>2]=Q(1)-Q(s+G);i=s;s=Q(k*q);N[f+116>>2]=Q(1)-Q(i+s);k=Q(y-p);y=Q(F-o);F=Q(L-x);i=Q(Q(1)/Q(Y(Q(Q(k*k)+Q(Q(y*y)+Q(F*F))))));N[f+152>>2]=p+Q(w*Q(k*i));N[f+148>>2]=x+Q(w*Q(F*i));J[f+108>>2]=0;k=Q(g*q);p=Q(h*t);N[f+128>>2]=k-p;g=Q(g*t);h=Q(h*q);N[f+112>>2]=g+h;N[f+104>>2]=k+p;N[f+100>>2]=g-h;N[f+96>>2]=Q(1)-Q(G+s);N[f+144>>2]=o+Q(w*Q(y*i));j=J[a+4>>2];J[f+20>>2]=0;J[f+8>>2]=1065353216;r=J[e+140>>2];J[f+32>>2]=J[e+136>>2];J[f+36>>2]=r;r=J[e+132>>2];J[f+24>>2]=J[e+128>>2];J[f+28>>2]=r;r=J[e+124>>2];J[f+48>>2]=J[e+120>>2];J[f+52>>2]=r;r=J[e+116>>2];J[f+40>>2]=J[e+112>>2];J[f+44>>2]=r;J[f+92>>2]=j;J[f+88>>2]=0;J[f+4>>2]=25460;j=J[j+188>>2];J[f+12>>2]=J[j+4>>2];J[f+16>>2]=J[j+8>>2];j=J[a+12>>2];vb(j,m,f+160|0,f+96|0,f+4|0,N[j+56>>2]);j=J[f+20>>2];if(j){g=N[f+8>>2];m=J[f+76>>2];J[e+68>>2]=J[f+72>>2];J[e+72>>2]=m;m=J[f+84>>2];J[e+76>>2]=J[f+80>>2];J[e+80>>2]=m;m=f- -64|0;r=J[m+4>>2];J[e+92>>2]=J[m>>2];J[e+96>>2]=r;m=J[f+60>>2];r=J[f+56>>2];J[e+104>>2]=j;N[e+100>>2]=w*g;J[e+84>>2]=r;J[e+88>>2]=m;J[e+108>>2]=J[f+88>>2]}sa=f+224|0;if(!j){b=J[e+124>>2];J[e+136>>2]=J[e+120>>2];J[e+140>>2]=b;b=J[e+116>>2];J[e+128>>2]=J[e+112>>2];J[e+132>>2]=b;f=0;break c}f=J[a+20>>2];e:{if(!f){break e}j=J[e+104>>2];m=J[j+252>>2];if(m&2){J[e+64>>2]=j;j=J[e+108>>2];J[e+60>>2]=j;J[e+4>>2]=a;m=J[e+96>>2];J[e+32>>2]=J[e+92>>2];J[e+36>>2]=m;m=J[e+88>>2];J[e+24>>2]=J[e+84>>2];J[e+28>>2]=m;m=J[e+80>>2];J[e+16>>2]=J[e+76>>2];J[e+20>>2]=m;m=J[e+72>>2];J[e+8>>2]=J[e+68>>2];J[e+12>>2]=m;N[e+56>>2]=l;J[e+52>>2]=0;N[e+48>>2]=n;N[e+44>>2]=v;N[e+40>>2]=u;if(!j){break e}ua[J[J[f>>2]>>2]](f,e+4|0);break e}if(!(m&4)){break e}j=J[j+256>>2];if(!j){break e}J[e+60>>2]=j;J[e+4>>2]=a;j=J[e+96>>2];J[e+32>>2]=J[e+92>>2];J[e+36>>2]=j;j=J[e+88>>2];J[e+24>>2]=J[e+84>>2];J[e+28>>2]=j;j=J[e+80>>2];J[e+16>>2]=J[e+76>>2];J[e+20>>2]=j;j=J[e+72>>2];J[e+8>>2]=J[e+68>>2];J[e+12>>2]=j;N[e+56>>2]=l;J[e+52>>2]=0;N[e+48>>2]=n;N[e+44>>2]=v;N[e+40>>2]=u;ua[J[J[f>>2]+4>>2]](f,e+4|0)}g=N[e+100>>2];if(!(!K[a+63|0]|g!=Q(0))){$a(a);$a(a);$a(a);$a(a);break b}g=Q(g-N[a+36>>2]);if(g>Q(0)){C=Q(C+Q(n*g));N[e+136>>2]=C;E=Q(E+Q(v*g));N[e+132>>2]=E;D=Q(D+Q(u*g));N[e+128>>2]=D}h=N[a+48>>2];k=N[a+40>>2];w=N[a+44>>2];N[a+68>>2]=Q(N[e+76>>2]*h)+Q(Q(N[e+68>>2]*k)+Q(N[e+72>>2]*w));f=J[e+80>>2];J[a+96>>2]=J[e+76>>2];J[a+100>>2]=f;f=J[e+72>>2];J[a+88>>2]=J[e+68>>2];J[a+92>>2]=f;f=J[e+96>>2];J[a+80>>2]=J[e+92>>2];J[a+84>>2]=f;f=J[e+88>>2];J[a+72>>2]=J[e+84>>2];J[a+76>>2]=f;l=N[a+76>>2];g=N[a+72>>2];f:{if(!K[a+61|0]){i=N[a+80>>2];break f}q=N[a+80>>2];i=Q(Q(q*h)+Q(Q(g*k)+Q(w*l)));h=Q(q-Q(h*i));g=Q(g-Q(k*i));l=Q(l-Q(w*i));i=Q(Q(h*h)+Q(Q(g*g)+Q(l*l)));if(i>2]=0;o=h;h=Q(Q(1)/Q(Y(i)));i=Q(o*h);N[a+80>>2]=i;l=Q(l*h);N[a+76>>2]=l;g=Q(g*h);N[a+72>>2]=g}f=J[e+140>>2];J[e+120>>2]=J[e+136>>2];J[e+124>>2]=f;h=Q(z-C);o=Q(h*h);h=Q(A-D);s=Q(h*h);h=Q(B-E);h=Q(Y(Q(o+Q(s+Q(h*h)))));k=Q(Q(n*i)+Q(Q(u*g)+Q(v*l)));n=Q(n-Q(Q(i+i)*k));o=n;s=Q(n*n);n=Q(u-Q(Q(g+g)*k));k=Q(v-Q(Q(l+l)*k));u=Q(Q(1)/Q(Y(Q(s+Q(Q(n*n)+Q(k*k))))));v=Q(o*u);o=i;n=Q(n*u);k=Q(k*u);i=Q(Q(v*i)+Q(Q(n*g)+Q(l*k)));z=Q(N[e+120>>2]+Q(h*Q(v-Q(o*i))));N[e+120>>2]=z;f=J[e+132>>2];J[e+112>>2]=J[e+128>>2];J[e+116>>2]=f;A=Q(N[e+112>>2]+Q(h*Q(n-Q(g*i))));N[e+112>>2]=A;B=Q(N[e+116>>2]+Q(h*Q(k-Q(l*i))));N[e+116>>2]=B;d=d-1|0;if(d){f=1;g=Q(z-C);i=Q(A-D);h=Q(B-E);l=Q(Y(Q(Q(g*g)+Q(Q(i*i)+Q(h*h)))));if(l<=c){break c}continue}break}f=1}b=J[e+140>>2];a=J[a+4>>2];J[a+60>>2]=J[e+136>>2];J[a+64>>2]=b;b=J[e+132>>2];J[a+52>>2]=J[e+128>>2];J[a+56>>2]=b;break a}f=1}sa=e+144|0;return f}function Xa(a){var b=0,c=0,d=0,e=Q(0),f=0,g=0,h=Q(0),i=Q(0),j=Q(0),k=Q(0),l=0,m=Q(0),n=Q(0),o=Q(0),p=Q(0),q=Q(0),r=Q(0),s=0;d=sa-32|0;sa=d;a:{b:{c:{d:{e:{f:{b=J[a+372>>2];switch(J[b+32>>2]-1|0){case 3:break c;case 2:break d;case 1:break e;case 0:break f;default:break b}}b=J[a+364>>2];c=J[a+372>>2];g=J[c+32>>2];f=(g<<2)+c|0;J[f+16>>2]=0;b=b-1|0;J[a+364>>2]=b;b=J[((b<<2)+a|0)+348>>2];J[f>>2]=b;J[c+32>>2]=g+1;J[b+8>>2]=0;J[b+12>>2]=0;J[b>>2]=1065353216;J[b+4>>2]=0;Ra(d+16|0,a,b);c=J[d+28>>2];J[b+24>>2]=J[d+24>>2];J[b+28>>2]=c;c=J[d+20>>2];J[b+16>>2]=J[d+16>>2];J[b+20>>2]=c;c=1;if(Xa(a)){break a}b=J[a+372>>2];c=J[b+32>>2]-1|0;J[b+32>>2]=c;b=J[b+(c<<2)>>2];J[((J[a+364>>2]<<2)+a|0)+348>>2]=b;c=J[a+372>>2];g=J[c+32>>2];f=(g<<2)+c|0;J[f>>2]=b;J[f+16>>2]=0;J[c+32>>2]=g+1;J[b+8>>2]=-2147483648;J[b+12>>2]=0;J[b>>2]=-1082130432;J[b+4>>2]=-2147483648;Ra(d+16|0,a,b);c=J[d+28>>2];J[b+24>>2]=J[d+24>>2];J[b+28>>2]=c;c=J[d+20>>2];J[b+16>>2]=J[d+16>>2];J[b+20>>2]=c;c=1;if(Xa(a)){break a}b=J[a+372>>2];c=J[b+32>>2]-1|0;J[b+32>>2]=c;c=J[b+(c<<2)>>2];b=J[a+364>>2];J[a+364>>2]=b+1;g=(b<<2)+a|0;J[g+348>>2]=c;c=J[a+372>>2];f=J[c+32>>2];l=(f<<2)+c|0;J[l+16>>2]=0;J[a+364>>2]=b;b=J[g+348>>2];J[l>>2]=b;J[c+32>>2]=f+1;J[b+8>>2]=0;J[b+12>>2]=0;J[b>>2]=0;J[b+4>>2]=1065353216;Ra(d+16|0,a,b);c=J[d+28>>2];J[b+24>>2]=J[d+24>>2];J[b+28>>2]=c;c=J[d+20>>2];J[b+16>>2]=J[d+16>>2];J[b+20>>2]=c;c=1;if(Xa(a)){break a}b=J[a+372>>2];c=J[b+32>>2]-1|0;J[b+32>>2]=c;b=J[b+(c<<2)>>2];J[((J[a+364>>2]<<2)+a|0)+348>>2]=b;c=J[a+372>>2];g=J[c+32>>2];f=(g<<2)+c|0;J[f>>2]=b;J[f+16>>2]=0;J[c+32>>2]=g+1;J[b+8>>2]=-2147483648;J[b+12>>2]=0;J[b>>2]=-2147483648;J[b+4>>2]=-1082130432;Ra(d+16|0,a,b);c=J[d+28>>2];J[b+24>>2]=J[d+24>>2];J[b+28>>2]=c;c=J[d+20>>2];J[b+16>>2]=J[d+16>>2];J[b+20>>2]=c;c=1;if(Xa(a)){break a}b=J[a+372>>2];c=J[b+32>>2]-1|0;J[b+32>>2]=c;c=J[b+(c<<2)>>2];b=J[a+364>>2];J[a+364>>2]=b+1;g=(b<<2)+a|0;J[g+348>>2]=c;c=J[a+372>>2];f=J[c+32>>2];l=(f<<2)+c|0;J[l+16>>2]=0;J[a+364>>2]=b;b=J[g+348>>2];J[l>>2]=b;J[c+32>>2]=f+1;J[b+8>>2]=1065353216;J[b+12>>2]=0;J[b>>2]=0;J[b+4>>2]=0;Ra(d+16|0,a,b);c=J[d+28>>2];J[b+24>>2]=J[d+24>>2];J[b+28>>2]=c;c=J[d+20>>2];J[b+16>>2]=J[d+16>>2];J[b+20>>2]=c;c=1;if(Xa(a)){break a}b=J[a+372>>2];c=J[b+32>>2]-1|0;J[b+32>>2]=c;b=J[b+(c<<2)>>2];J[((J[a+364>>2]<<2)+a|0)+348>>2]=b;c=J[a+372>>2];g=J[c+32>>2];f=(g<<2)+c|0;J[f>>2]=b;J[f+16>>2]=0;J[c+32>>2]=g+1;J[b+8>>2]=-1082130432;J[b+12>>2]=0;J[b>>2]=-2147483648;J[b+4>>2]=-2147483648;Ra(d+16|0,a,b);c=J[d+28>>2];J[b+24>>2]=J[d+24>>2];J[b+28>>2]=c;c=J[d+20>>2];J[b+16>>2]=J[d+16>>2];J[b+20>>2]=c;c=1;if(Xa(a)){break a}b=J[a+372>>2];c=J[b+32>>2]-1|0;J[b+32>>2]=c;b=J[b+(c<<2)>>2];c=J[a+364>>2];J[a+364>>2]=c+1;J[((c<<2)+a|0)+348>>2]=b;break b}c=J[b+4>>2];b=J[b>>2];k=Q(N[c+20>>2]-N[b+20>>2]);m=Q(-k);n=Q(N[c+24>>2]-N[b+24>>2]);p=Q(-n);o=Q(N[c+16>>2]-N[b+16>>2]);r=Q(-o);while(1){g:{J[d+8>>2]=0;J[d+12>>2]=0;J[d>>2]=0;J[d+4>>2]=0;J[d+(g<<2)>>2]=1065353216;e=N[d+4>>2];j=N[d>>2];h=Q(Q(o*e)+Q(j*m));q=N[d+8>>2];i=Q(Q(k*q)+Q(e*p));j=Q(Q(n*j)+Q(q*r));e=Q(Q(h*h)+Q(Q(i*i)+Q(j*j)));if(e>Q(0)){c=J[a+372>>2];f=J[c+32>>2];b=(f<<2)+c|0;J[b+16>>2]=0;l=J[a+364>>2]-1|0;J[a+364>>2]=l;s=b;b=J[((l<<2)+a|0)+348>>2];J[s>>2]=b;J[c+32>>2]=f+1;J[b+12>>2]=0;e=Q(Q(1)/Q(Y(e)));N[b+8>>2]=h*e;N[b+4>>2]=j*e;N[b>>2]=i*e;Ra(d+16|0,a,b);c=J[d+28>>2];J[b+24>>2]=J[d+24>>2];J[b+28>>2]=c;c=J[d+20>>2];J[b+16>>2]=J[d+16>>2];J[b+20>>2]=c;if(Xa(a)){break g}b=J[a+372>>2];c=J[b+32>>2]-1|0;J[b+32>>2]=c;b=J[b+(c<<2)>>2];J[((J[a+364>>2]<<2)+a|0)+348>>2]=b;c=J[a+372>>2];f=J[c+32>>2];l=(f<<2)+c|0;J[l>>2]=b;J[l+16>>2]=0;J[c+32>>2]=f+1;J[b+12>>2]=0;N[b+8>>2]=e*Q(-h);N[b+4>>2]=e*Q(-j);N[b>>2]=e*Q(-i);Ra(d+16|0,a,b);c=J[d+28>>2];J[b+24>>2]=J[d+24>>2];J[b+28>>2]=c;c=J[d+20>>2];J[b+16>>2]=J[d+16>>2];J[b+20>>2]=c;if(Xa(a)){break g}b=J[a+372>>2];c=J[b+32>>2]-1|0;J[b+32>>2]=c;b=J[b+(c<<2)>>2];c=J[a+364>>2];J[a+364>>2]=c+1;J[((c<<2)+a|0)+348>>2]=b}g=g+1|0;if((g|0)!=3){continue}break b}break}c=1;break a}c=J[b+4>>2];g=J[b>>2];e=N[g+16>>2];j=Q(N[c+16>>2]-e);f=J[b+8>>2];h=N[g+20>>2];i=Q(N[f+20>>2]-h);e=Q(N[f+16>>2]-e);k=Q(N[c+20>>2]-h);h=Q(Q(j*i)-Q(e*k));n=k;k=N[g+24>>2];m=Q(N[f+24>>2]-k);k=Q(N[c+24>>2]-k);i=Q(Q(n*m)-Q(i*k));j=Q(Q(k*e)-Q(m*j));e=Q(Q(h*h)+Q(Q(i*i)+Q(j*j)));if(!(e>Q(0))){break b}J[b+28>>2]=0;c=J[a+364>>2]-1|0;J[a+364>>2]=c;c=J[((c<<2)+a|0)+348>>2];J[b+32>>2]=4;J[b+12>>2]=c;J[c+12>>2]=0;e=Q(Q(1)/Q(Y(e)));N[c+8>>2]=h*e;N[c+4>>2]=j*e;N[c>>2]=i*e;Ra(d+16|0,a,c);b=J[d+28>>2];J[c+24>>2]=J[d+24>>2];J[c+28>>2]=b;b=J[d+20>>2];J[c+16>>2]=J[d+16>>2];J[c+20>>2]=b;c=1;if(Xa(a)){break a}b=J[a+372>>2];c=J[b+32>>2]-1|0;J[b+32>>2]=c;b=J[b+(c<<2)>>2];J[((J[a+364>>2]<<2)+a|0)+348>>2]=b;c=J[a+372>>2];g=J[c+32>>2];f=(g<<2)+c|0;J[f>>2]=b;J[f+16>>2]=0;J[c+32>>2]=g+1;J[b+12>>2]=0;N[b+8>>2]=e*Q(-h);N[b+4>>2]=e*Q(-j);N[b>>2]=e*Q(-i);Ra(d+16|0,a,b);c=J[d+28>>2];J[b+24>>2]=J[d+24>>2];J[b+28>>2]=c;c=J[d+20>>2];J[b+16>>2]=J[d+16>>2];J[b+20>>2]=c;c=1;if(Xa(a)){break a}b=J[a+372>>2];c=J[b+32>>2]-1|0;J[b+32>>2]=c;b=J[b+(c<<2)>>2];c=J[a+364>>2];J[a+364>>2]=c+1;J[((c<<2)+a|0)+348>>2]=b;break b}a=J[b>>2];g=J[b+12>>2];e=N[g+16>>2];j=Q(N[a+16>>2]-e);f=J[b+4>>2];h=N[g+20>>2];k=Q(N[f+20>>2]-h);b=J[b+8>>2];i=N[g+24>>2];m=Q(N[b+24>>2]-i);n=Q(N[a+20>>2]-h);p=Q(N[f+24>>2]-i);o=Q(N[b+16>>2]-e);i=Q(N[a+24>>2]-i);e=Q(N[f+16>>2]-e);h=Q(N[b+20>>2]-h);e=Q(Q(Q(Q(j*k)*m)+Q(Q(Q(Q(Q(n*p)*o)+Q(Q(i*e)*h))-Q(Q(p*j)*h))-Q(Q(e*n)*m)))-Q(Q(k*i)*o));c=1;if(e>Q(0)|e>2]-17>>>0<=1?J[d+4>>2]-17>>>0<2:F;while(1){Mb();q=w<<4;k=N[q+34024>>2];n=N[q+34016>>2];l=N[q+34020>>2];r=N[e+32>>2];s=N[e>>2];t=N[e+16>>2];p=N[e+36>>2];x=N[e+4>>2];y=N[e+20>>2];z=N[e+40>>2];m=N[e+8>>2];A=N[e+24>>2];u=q+(a+1264|0)|0;J[u+12>>2]=0;B=m;m=Q(-n);N[u+8>>2]=Q(Q(B*m)-Q(A*l))-Q(z*k);N[u+4>>2]=Q(Q(x*m)-Q(y*l))-Q(p*k);N[u>>2]=Q(Q(s*m)-Q(t*l))-Q(r*k);m=N[f+32>>2];r=N[f>>2];s=N[f+16>>2];t=N[f+36>>2];p=N[f+4>>2];x=N[f+20>>2];y=N[f+40>>2];z=N[f+8>>2];A=N[f+24>>2];q=q+(a+272|0)|0;J[q+12>>2]=0;N[q+8>>2]=Q(y*k)+Q(Q(z*n)+Q(l*A));N[q+4>>2]=Q(t*k)+Q(Q(p*n)+Q(l*x));N[q>>2]=Q(m*k)+Q(Q(r*n)+Q(l*s));w=w+1|0;if((w|0)!=42){continue}break}q=42;E=ua[J[J[c>>2]+84>>2]](c)|0;if((E|0)>0){u=a+3256|0;w=0;while(1){ua[J[J[c>>2]+88>>2]](c,w,a+3248|0);m=N[e+8>>2];r=N[e>>2];s=N[e+4>>2];t=N[e+24>>2];p=N[e+16>>2];x=N[e+20>>2];k=N[u>>2];l=N[a+3248>>2];n=N[a+3252>>2];N[u>>2]=Q(N[e+40>>2]*k)+Q(Q(N[e+32>>2]*l)+Q(n*N[e+36>>2]));J[a+3260>>2]=0;N[a+3252>>2]=Q(t*k)+Q(Q(p*l)+Q(n*x));N[a+3248>>2]=Q(m*k)+Q(Q(r*l)+Q(s*n));Mb();C=J[u+4>>2];o=q<<4;v=o+34024|0;J[v>>2]=J[u>>2];J[v+4>>2]=C;C=J[a+3252>>2];v=o+34016|0;J[v>>2]=J[a+3248>>2];J[v+4>>2]=C;r=N[e+40>>2];s=N[e+8>>2];t=N[e+24>>2];p=N[e+36>>2];x=N[e+4>>2];y=N[e+20>>2];l=N[e+32>>2];k=N[e>>2];z=N[e+16>>2];v=o+(a+1264|0)|0;J[v+12>>2]=0;n=N[a+3248>>2];m=Q(-n);D=Q(k*m);k=N[a+3252>>2];B=l;l=N[u>>2];N[v>>2]=Q(D-Q(z*k))-Q(B*l);N[v+4>>2]=Q(Q(x*m)-Q(y*k))-Q(p*l);N[v+8>>2]=Q(Q(s*m)-Q(t*k))-Q(r*l);m=N[f+32>>2];r=N[f>>2];s=N[f+16>>2];t=N[f+36>>2];p=N[f+4>>2];x=N[f+20>>2];y=N[f+40>>2];z=N[f+8>>2];A=N[f+24>>2];o=o+(a+272|0)|0;J[o+12>>2]=0;N[o+8>>2]=Q(y*l)+Q(Q(z*n)+Q(k*A));N[o+4>>2]=Q(t*l)+Q(Q(p*n)+Q(k*x));N[o>>2]=Q(m*l)+Q(Q(r*n)+Q(k*s));q=q+1|0;w=w+1|0;if((E|0)!=(w|0)){continue}break}}E=ua[J[J[d>>2]+84>>2]](d)|0;if((E|0)>0){u=a+3256|0;w=0;while(1){ua[J[J[d>>2]+88>>2]](d,w,a+3248|0);m=N[f+8>>2];r=N[f>>2];s=N[f+4>>2];t=N[f+24>>2];p=N[f+16>>2];x=N[f+20>>2];k=N[u>>2];l=N[a+3248>>2];n=N[a+3252>>2];N[u>>2]=Q(N[f+40>>2]*k)+Q(Q(N[f+32>>2]*l)+Q(n*N[f+36>>2]));J[a+3260>>2]=0;N[a+3252>>2]=Q(t*k)+Q(Q(p*l)+Q(n*x));N[a+3248>>2]=Q(m*k)+Q(Q(r*l)+Q(s*n));Mb();C=J[u+4>>2];o=q<<4;v=o+34024|0;J[v>>2]=J[u>>2];J[v+4>>2]=C;C=J[a+3252>>2];v=o+34016|0;J[v>>2]=J[a+3248>>2];J[v+4>>2]=C;r=N[e+40>>2];s=N[e+8>>2];t=N[e+24>>2];p=N[e+36>>2];x=N[e+4>>2];y=N[e+20>>2];l=N[e+32>>2];k=N[e>>2];z=N[e+16>>2];v=o+(a+1264|0)|0;J[v+12>>2]=0;n=N[a+3248>>2];m=Q(-n);D=Q(k*m);k=N[a+3252>>2];B=l;l=N[u>>2];N[v>>2]=Q(D-Q(z*k))-Q(B*l);N[v+4>>2]=Q(Q(x*m)-Q(y*k))-Q(p*l);N[v+8>>2]=Q(Q(s*m)-Q(t*k))-Q(r*l);m=N[f+32>>2];r=N[f>>2];s=N[f+16>>2];t=N[f+36>>2];p=N[f+4>>2];x=N[f+20>>2];y=N[f+40>>2];z=N[f+8>>2];A=N[f+24>>2];o=o+(a+272|0)|0;J[o+12>>2]=0;N[o+8>>2]=Q(y*l)+Q(Q(z*n)+Q(k*A));N[o+4>>2]=Q(t*l)+Q(Q(p*n)+Q(k*x));N[o>>2]=Q(m*l)+Q(Q(r*n)+Q(k*s));q=q+1|0;w=w+1|0;if((E|0)!=(w|0)){continue}break}}ua[J[J[c>>2]+76>>2]](c,a+1264|0,a+3248|0,q);ua[J[J[d>>2]+76>>2]](d,a+272|0,a+2256|0,q);a:{if((q|0)<=0){m=Q(0xde0b6b000000000);k=Q(0);l=Q(0);n=Q(0);x=Q(0);break a}w=0;m=Q(0xde0b6b000000000);x=Q(0);n=Q(0);l=Q(0);k=Q(0);while(1){Mb();u=w<<4;r=F?Q(0):N[u+34024>>2];s=N[u+34016>>2];t=N[u+34020>>2];b:{if(!(+Q(Q(r*r)+Q(Q(s*s)+Q(t*t)))>.01)){break b}o=u+(a+2256|0)|0;p=N[o+8>>2];y=N[o>>2];z=N[o+4>>2];o=u+(a+3248|0)|0;A=N[o+8>>2];D=N[o>>2];B=N[o+4>>2];p=Q(Q(r*(F?Q(0):Q(Q(Q(Q(p*N[f+40>>2])+Q(Q(y*N[f+32>>2])+Q(z*N[f+36>>2])))+N[f+56>>2])-Q(Q(Q(A*N[e+40>>2])+Q(Q(D*N[e+32>>2])+Q(B*N[e+36>>2])))+N[e+56>>2]))))+Q(Q(s*Q(Q(Q(Q(p*N[f+8>>2])+Q(Q(y*N[f>>2])+Q(z*N[f+4>>2])))+N[f+48>>2])-Q(Q(Q(A*N[e+8>>2])+Q(Q(D*N[e>>2])+Q(B*N[e+4>>2])))+N[e+48>>2])))+Q(t*Q(Q(Q(Q(p*N[f+24>>2])+Q(Q(y*N[f+16>>2])+Q(z*N[f+20>>2])))+N[f+52>>2])-Q(Q(Q(A*N[e+24>>2])+Q(Q(D*N[e+16>>2])+Q(B*N[e+20>>2])))+N[e+52>>2])))));if(!(p>2];k=s;l=t;n=r;m=p}w=w+1|0;if((w|0)!=(q|0)){continue}break}}Qb(c);Qb(d);q=0;if(!(m>2];p=N[e+56>>2];y=N[e+48>>2];d=J[e+12>>2];c=a- -64|0;J[c>>2]=J[e+8>>2];J[c+4>>2]=d;c=J[e+4>>2];J[a+56>>2]=J[e>>2];J[a+60>>2]=c;c=J[e+28>>2];J[a+80>>2]=J[e+24>>2];J[a+84>>2]=c;c=J[e+20>>2];J[a+72>>2]=J[e+16>>2];J[a+76>>2]=c;c=J[e+40>>2];d=J[e+44>>2];w=J[e+32>>2];e=J[e+36>>2];J[a+116>>2]=0;J[a+96>>2]=c;J[a+100>>2]=d;m=Q(m+Q(Q(r+s)+Q(.5)));N[a+112>>2]=p+Q(n*m);N[a+108>>2]=t+Q(l*m);J[a+88>>2]=w;J[a+92>>2]=e;N[a+104>>2]=y+Q(k*m);c=J[f+12>>2];J[a+128>>2]=J[f+8>>2];J[a+132>>2]=c;c=J[f+4>>2];J[a+120>>2]=J[f>>2];J[a+124>>2]=c;c=J[f+28>>2];J[a+144>>2]=J[f+24>>2];J[a+148>>2]=c;c=J[f+20>>2];J[a+136>>2]=J[f+16>>2];J[a+140>>2]=c;c=J[f+44>>2];J[a+160>>2]=J[f+40>>2];J[a+164>>2]=c;c=J[f+36>>2];J[a+152>>2]=J[f+32>>2];J[a+156>>2]=c;c=J[f+60>>2];J[a+176>>2]=J[f+56>>2];J[a+180>>2]=c;c=J[f+52>>2];J[a+168>>2]=J[f+48>>2];J[a+172>>2]=c;J[a+184>>2]=1566444395;H[a+52|0]=0;J[a+12>>2]=22904;J[b+16>>2]=0;N[b+12>>2]=-n;N[b+8>>2]=-l;N[b+4>>2]=-k;Za(b,a+56|0,a+12|0,j,0);b=K[a+52|0];if(b){r=N[a+36>>2];s=N[a+40>>2];t=N[a+32>>2];p=N[a+48>>2];J[h+12>>2]=0;m=Q(m-p);N[h+8>>2]=s-Q(n*m);N[h+4>>2]=r-Q(l*m);N[h>>2]=t-Q(k*m);c=J[a+44>>2];J[i+8>>2]=J[a+40>>2];J[i+12>>2]=c;c=J[a+36>>2];J[i>>2]=J[a+32>>2];J[i+4>>2]=c;N[g+12>>2]=x;N[g+8>>2]=n;N[g+4>>2]=l;N[g>>2]=k}q=(b|0)!=0}sa=a+4240|0;return q|0}function xe(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;J[a+168>>2]=J[a+152>>2];Ce(b);c=J[a+56>>2];a:{if(d){J[b+56>>2]=c<<24|(c&65280)<<8|(c>>>8&65280|c>>>24);H[b+4|0]=K[a+7|0];H[b+5|0]=K[a+6|0];H[b+6|0]=K[a+5|0];H[b+7|0]=K[a+4|0];H[b+8|0]=K[a+11|0];H[b+9|0]=K[a+10|0];H[b+10|0]=K[a+9|0];H[b+11|0]=K[a+8|0];H[b+12|0]=K[a+15|0];H[b+13|0]=K[a+14|0];H[b+14|0]=K[a+13|0];H[b+15|0]=K[a+12|0];H[b+16|0]=K[a+19|0];H[b+17|0]=K[a+18|0];H[b+18|0]=K[a+17|0];H[b+19|0]=K[a+16|0];H[b+20|0]=K[a+23|0];H[b+21|0]=K[a+22|0];H[b+22|0]=K[a+21|0];H[b+23|0]=K[a+20|0];H[b+24|0]=K[a+27|0];H[b+25|0]=K[a+26|0];H[b+26|0]=K[a+25|0];H[b+27|0]=K[a+24|0];H[b+28|0]=K[a+31|0];H[b+29|0]=K[a+30|0];H[b+30|0]=K[a+29|0];H[b+31|0]=K[a+28|0];H[b+32|0]=K[a+35|0];H[b+33|0]=K[a+34|0];H[b+34|0]=K[a+33|0];H[b+35|0]=K[a+32|0];H[b+36|0]=K[a+39|0];H[b+37|0]=K[a+38|0];H[b+38|0]=K[a+37|0];H[b+39|0]=K[a+36|0];H[b+40|0]=K[a+43|0];H[b+41|0]=K[a+42|0];H[b+42|0]=K[a+41|0];H[b+43|0]=K[a+40|0];H[b+44|0]=K[a+47|0];H[b+45|0]=K[a+46|0];H[b+46|0]=K[a+45|0];H[b+47|0]=K[a+44|0];H[b+48|0]=K[a+51|0];H[b+49|0]=K[a+50|0];H[b+50|0]=K[a+49|0];H[b+51|0]=K[a+48|0];c=J[a+168>>2];g=c<<24|(c&65280)<<8|(c>>>8&65280|c>>>24);c=J[a+144>>2];c=c<<24|(c&65280)<<8|(c>>>8&65280|c>>>24);break a}J[b+56>>2]=c;c=J[a+16>>2];J[b+12>>2]=J[a+12>>2];J[b+16>>2]=c;c=J[a+8>>2];J[b+4>>2]=J[a+4>>2];J[b+8>>2]=c;c=J[a+32>>2];J[b+28>>2]=J[a+28>>2];J[b+32>>2]=c;c=J[a+24>>2];J[b+20>>2]=J[a+20>>2];J[b+24>>2]=c;c=J[a+48>>2];J[b+44>>2]=J[a+44>>2];J[b+48>>2]=c;c=J[a+40>>2];J[b+36>>2]=J[a+36>>2];J[b+40>>2]=c;g=J[a+168>>2];c=J[a+144>>2]}J[b+168>>2]=g;J[b+144>>2]=c;H[b+60|0]=K[a+60|0];i=b+172|0;j=J[a+56>>2];b:{if(K[a+60|0]){c=J[b+136>>2];if(!(c?!c|!K[b+140|0]:1)){J[8457]=J[8457]+1;ua[J[8259]](c)}J[b+136>>2]=i;H[b+140|0]=0;c:{if(!d){if((j|0)<=0){break c}h=J[a+136>>2];g=0;while(1){c=g<<4;f=c+i|0;c=c+h|0;I[f>>1]=L[c>>1];I[f+2>>1]=L[c+2>>1];I[f+4>>1]=L[c+4>>1];I[f+6>>1]=L[c+6>>1];I[f+8>>1]=L[c+8>>1];I[f+10>>1]=L[c+10>>1];J[f+12>>2]=J[c+12>>2];g=g+1|0;if((j|0)!=(g|0)){continue}break}break c}if((j|0)<=0){break c}h=J[a+136>>2];g=0;while(1){c=g<<4;e=c+i|0;f=c+h|0;c=L[f>>1];I[e>>1]=c<<8|c>>>8;c=L[f+2>>1];I[e+2>>1]=c<<8|c>>>8;c=L[f+4>>1];I[e+4>>1]=c<<8|c>>>8;c=L[f+6>>1];I[e+6>>1]=c<<8|c>>>8;c=L[f+8>>1];I[e+8>>1]=c<<8|c>>>8;c=L[f+10>>1];I[e+10>>1]=c<<8|c>>>8;c=J[f+12>>2];J[e+12>>2]=c<<24|(c&65280)<<8|(c>>>8&65280|c>>>24);g=g+1|0;if((j|0)!=(g|0)){continue}break}}h=b+128|0;g=j<<4;break b}c=J[b+96>>2];if(!(c?!c|!K[b+100|0]:1)){J[8457]=J[8457]+1;ua[J[8259]](c)}J[b+96>>2]=i;H[b+100|0]=0;J[b+92>>2]=j;h=b+88|0;J[h>>2]=j;d:{if(!d){c=i;if((j|0)<=0){break d}l=J[a+96>>2];g=0;while(1){k=g<<6;e=k+c|0;f=k+l|0;c=J[f+4>>2];J[e>>2]=J[f>>2];J[e+4>>2]=c;c=J[f+12>>2];J[e+8>>2]=J[f+8>>2];J[e+12>>2]=c;f=k+J[a+96>>2]|0;c=J[f+20>>2];e=k+J[b+96>>2]|0;J[e+16>>2]=J[f+16>>2];J[e+20>>2]=c;c=J[f+28>>2];J[e+24>>2]=J[f+24>>2];J[e+28>>2]=c;c=J[b+96>>2];e=k+c|0;l=J[a+96>>2];f=k+l|0;J[e+32>>2]=J[f+32>>2];J[e+36>>2]=J[f+36>>2];J[e+40>>2]=J[f+40>>2];g=g+1|0;if((j|0)!=(g|0)){continue}break}break d}c=i;if((j|0)<=0){break d}k=J[a+96>>2];while(1){f=l<<6;e=f+c|0;c=f+k|0;H[e|0]=K[c+3|0];H[e+1|0]=K[c+2|0];H[e+2|0]=K[c+1|0];H[e+3|0]=K[c|0];H[e+4|0]=K[c+7|0];H[e+5|0]=K[c+6|0];H[e+6|0]=K[c+5|0];H[e+7|0]=K[c+4|0];H[e+8|0]=K[c+11|0];H[e+9|0]=K[c+10|0];H[e+10|0]=K[c+9|0];H[e+11|0]=K[c+8|0];H[e+12|0]=K[c+15|0];H[e+13|0]=K[c+14|0];H[e+14|0]=K[c+13|0];H[e+15|0]=K[c+12|0];e=f+J[b+96>>2]|0;c=f+J[a+96>>2]|0;H[e+16|0]=K[c+19|0];H[e+17|0]=K[c+18|0];H[e+18|0]=K[c+17|0];H[e+19|0]=K[c+16|0];H[e+20|0]=K[c+23|0];H[e+21|0]=K[c+22|0];H[e+22|0]=K[c+21|0];H[e+23|0]=K[c+20|0];H[e+24|0]=K[c+27|0];H[e+25|0]=K[c+26|0];H[e+26|0]=K[c+25|0];H[e+27|0]=K[c+24|0];H[e+28|0]=K[c+31|0];H[e+29|0]=K[c+30|0];H[e+30|0]=K[c+29|0];H[e+31|0]=K[c+28|0];c=J[b+96>>2];e=f+c|0;k=J[a+96>>2];f=f+k|0;g=J[f+32>>2];J[e+32>>2]=g<<24|(g&65280)<<8|(g>>>8&65280|g>>>24);g=J[f+36>>2];J[e+36>>2]=g<<24|(g&65280)<<8|(g>>>8&65280|g>>>24);f=J[f+40>>2];J[e+40>>2]=f<<24|(f&65280)<<8|(f>>>8&65280|f>>>24);l=l+1|0;if((j|0)!=(l|0)){continue}break}}g=j<<6;if(!K[b+100|0]){break b}if(c){J[8457]=J[8457]+1;ua[J[8259]](c)}}J[h>>2]=0;J[h+4>>2]=0;H[h+5|0]=0;H[h+6|0]=0;H[h+7|0]=0;H[h+8|0]=0;H[h+9|0]=0;H[h+10|0]=0;H[h+11|0]=0;H[h+12|0]=0;h=g+i|0;i=J[a+168>>2];c=J[b+160>>2];if(!(c?!c|!K[b+164|0]:1)){J[8457]=J[8457]+1;ua[J[8259]](c)}J[b+160>>2]=h;H[b+164|0]=0;J[b+156>>2]=i;J[b+152>>2]=i;i=J[a+168>>2];e:{if(!d){if((i|0)<=0){break e}i=J[a+160>>2];d=0;while(1){c=d<<5;f=c+h|0;c=c+i|0;I[f>>1]=L[c>>1];I[f+2>>1]=L[c+2>>1];I[f+4>>1]=L[c+4>>1];I[f+6>>1]=L[c+6>>1];I[f+8>>1]=L[c+8>>1];I[f+10>>1]=L[c+10>>1];J[f+12>>2]=J[c+12>>2];c=J[c+16>>2];J[f+28>>2]=0;J[f+20>>2]=0;J[f+24>>2]=0;J[f+16>>2]=c;d=d+1|0;if((d|0)>2]){continue}break}break e}if((i|0)<=0){break e}c=J[a+160>>2];d=0;while(1){a=d<<5;e=a+h|0;f=a+c|0;a=L[f>>1];I[e>>1]=a<<8|a>>>8;a=L[f+2>>1];I[e+2>>1]=a<<8|a>>>8;a=L[f+4>>1];I[e+4>>1]=a<<8|a>>>8;a=L[f+6>>1];I[e+6>>1]=a<<8|a>>>8;a=L[f+8>>1];I[e+8>>1]=a<<8|a>>>8;a=L[f+10>>1];I[e+10>>1]=a<<8|a>>>8;a=J[f+12>>2];J[e+12>>2]=a<<24|(a&65280)<<8|(a>>>8&65280|a>>>24);a=J[f+16>>2];J[e+16>>2]=a<<24|(a&65280)<<8|(a>>>8&65280|a>>>24);d=d+1|0;if((i|0)!=(d|0)){continue}break}}if(h?K[b+164|0]:0){J[8457]=J[8457]+1;ua[J[8259]](h)}J[b>>2]=0;H[b+157|0]=0;H[b+158|0]=0;H[b+159|0]=0;H[b+160|0]=0;H[b+161|0]=0;H[b+162|0]=0;H[b+163|0]=0;H[b+164|0]=0;J[b+152>>2]=0;J[b+156>>2]=0;return 1}function ff(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;f=sa-96|0;sa=f;H[f+92|0]=1;J[f+60>>2]=0;J[f+64>>2]=0;H[f+52|0]=1;J[f+48>>2]=0;H[f+72|0]=1;J[f+40>>2]=0;J[f+44>>2]=0;J[f+68>>2]=0;J[f+88>>2]=0;J[f+80>>2]=0;J[f+84>>2]=0;J[f+28>>2]=0;H[f+32|0]=1;J[f+20>>2]=0;J[f+24>>2]=0;m=J[a+8>>2];a:{if((m|0)<=0){break a}while(1){g=J[J[J[a+16>>2]+(r<<2)>>2]+192>>2];J[f+12>>2]=g;c=g+(g<<15^-1)|0;c=P(c>>>10^c,9);c=c>>>6^c;c=(c<<11^-1)+c|0;c=J[f+64>>2]-1&(c>>>16^c);b:{c:{if(c>>>0>=M[f+20>>2]){break c}c=J[J[f+28>>2]+(c<<2)>>2];if((c|0)==-1){break c}d=J[f+48>>2];e=J[f+88>>2];while(1){if((g|0)!=J[e+(c<<3)>>2]){c=J[d+(c<<2)>>2];if((c|0)!=-1){continue}break c}break}if(J[f+68>>2]){break b}}J[f+4>>2]=g;g=0;d:{e:{d=f+16|0;m=J[d+48>>2];c=J[f+4>>2];e=(c<<15^-1)+c|0;e=P(e>>>10^e,9);e=e>>>6^e;e=(e<<11^-1)+e|0;o=m-1&(e>>>16^e);f:{if(o>>>0>=M[d+4>>2]){break f}e=J[J[d+12>>2]+(o<<2)>>2];if((e|0)==-1){break f}j=J[d+32>>2];h=J[d+72>>2];while(1){if((c|0)==J[h+(e<<3)>>2]){break e}e=J[j+(e<<2)>>2];if((e|0)!=-1){continue}break}}s=J[d+44>>2];c=s;g:{if((m|0)!=(c|0)){break g}c=m;i=c?c<<1:1;if((c|0)>=(i|0)){break g}h:{if(!i){j=0;c=m;break h}J[8456]=J[8456]+1;j=ua[J[8258]](i<<2,16)|0;c=J[d+44>>2]}i:{if((c|0)<=0){break i}h=0;e=0;if(c>>>0>=4){n=c&-4;while(1){l=e<<2;J[l+j>>2]=J[l+J[d+52>>2]>>2];k=l|4;J[k+j>>2]=J[k+J[d+52>>2]>>2];k=l|8;J[k+j>>2]=J[k+J[d+52>>2]>>2];l=l|12;J[l+j>>2]=J[l+J[d+52>>2]>>2];e=e+4|0;g=g+4|0;if((n|0)!=(g|0)){continue}break}}g=c&3;if(!g){break i}while(1){l=e<<2;J[l+j>>2]=J[l+J[d+52>>2]>>2];e=e+1|0;h=h+1|0;if((g|0)!=(h|0)){continue}break}}g=J[d+52>>2];if(!(!g|!K[d+56|0])){if(g){J[8457]=J[8457]+1;ua[J[8259]](g)}c=J[d+44>>2]}J[d+52>>2]=j;H[d+56|0]=1;J[d+48>>2]=i}J[J[d+52>>2]+(c<<2)>>2]=J[f+12>>2];J[d+44>>2]=c+1;c=J[d- -64>>2];j:{if((c|0)!=J[d+68>>2]){break j}l=c?c<<1:1;if((l|0)<=(c|0)){break j}k:{if(!l){j=0;break k}J[8456]=J[8456]+1;j=ua[J[8258]](l<<3,16)|0;c=J[d+64>>2]}l:{if((c|0)<=0){break l}h=0;e=0;if(c>>>0>=4){n=c&-4;g=0;while(1){i=e<<3;k=i+j|0;p=i+J[d+72>>2]|0;q=J[p+4>>2];J[k>>2]=J[p>>2];J[k+4>>2]=q;k=i|8;p=k+j|0;k=k+J[d+72>>2]|0;q=J[k+4>>2];J[p>>2]=J[k>>2];J[p+4>>2]=q;k=i|16;p=k+j|0;k=k+J[d+72>>2]|0;q=J[k+4>>2];J[p>>2]=J[k>>2];J[p+4>>2]=q;i=i|24;k=i+j|0;i=i+J[d+72>>2]|0;p=J[i+4>>2];J[k>>2]=J[i>>2];J[k+4>>2]=p;e=e+4|0;g=g+4|0;if((n|0)!=(g|0)){continue}break}}c=c&3;if(!c){break l}while(1){g=e<<3;i=g+j|0;g=g+J[d+72>>2]|0;n=J[g+4>>2];J[i>>2]=J[g>>2];J[i+4>>2]=n;e=e+1|0;h=h+1|0;if((c|0)!=(h|0)){continue}break}}c=J[d+72>>2];if(!(c?!c|!K[d+76|0]:1)){J[8457]=J[8457]+1;ua[J[8259]](c)}J[d+72>>2]=j;H[d+76|0]=1;J[d+68>>2]=l;c=J[d+64>>2]}g=J[f+8>>2];c=J[d+72>>2]+(c<<3)|0;J[c>>2]=J[f+4>>2];J[c+4>>2]=g;J[d+64>>2]=J[d+64>>2]+1;if((m|0)>2]){e=0;j=0;l=0;o=0;m=J[d+4>>2];h=J[d+48>>2];m:{if((m|0)>=(h|0)){break m}n:{if((h|0)<=J[d+8>>2]){e=J[d+12>>2];break n}if(h){J[8456]=J[8456]+1;e=ua[J[8258]](h<<2,16)|0;c=J[d+4>>2]}else{c=m}g=J[d+12>>2];o:{p:{if((c|0)>0){if(c>>>0>=4){n=c&-4;while(1){i=j<<2;J[i+e>>2]=J[g+i>>2];k=i|4;J[k+e>>2]=J[g+k>>2];k=i|8;J[k+e>>2]=J[g+k>>2];i=i|12;J[i+e>>2]=J[g+i>>2];j=j+4|0;l=l+4|0;if((n|0)!=(l|0)){continue}break}}c=c&3;if(!c){break p}while(1){i=j<<2;J[i+e>>2]=J[g+i>>2];j=j+1|0;o=o+1|0;if((c|0)!=(o|0)){continue}break}break p}if(g){break p}break o}if(g?K[d+16|0]:0){J[8457]=J[8457]+1;ua[J[8259]](g)}}J[d+12>>2]=e;H[d+16|0]=1;J[d+8>>2]=h}c=m<<2;n=h<<2;Fa(c+e|0,0,n-c|0);J[d+4>>2]=h;g=J[d+24>>2];if((g|0)<(h|0)){q:{if((h|0)<=J[d+28>>2]){e=J[d+32>>2];break q}r:{if(!h){e=0;c=g;break r}J[8456]=J[8456]+1;e=ua[J[8258]](n,16)|0;c=J[d+24>>2]}i=J[d+32>>2];s:{if((c|0)>0){o=0;j=0;if(c>>>0>=4){p=c&-4;l=0;while(1){k=j<<2;J[k+e>>2]=J[i+k>>2];q=k|4;J[q+e>>2]=J[i+q>>2];q=k|8;J[q+e>>2]=J[i+q>>2];k=k|12;J[k+e>>2]=J[i+k>>2];j=j+4|0;l=l+4|0;if((p|0)!=(l|0)){continue}break}}c=c&3;if(!c){break s}while(1){l=j<<2;J[l+e>>2]=J[i+l>>2];j=j+1|0;o=o+1|0;if((c|0)!=(o|0)){continue}break}break s}if(i){break s}J[d+32>>2]=e;J[d+28>>2]=h;H[d+36|0]=1;break q}if(i?K[d+36|0]:0){J[8457]=J[8457]+1;ua[J[8259]](i)}J[d+32>>2]=e;H[d+36|0]=1;J[d+28>>2]=h}c=g<<2;Fa(c+e|0,0,n-c|0)}J[d+24>>2]=h;if((h|0)>0){Fa(J[d+12>>2],255,n);Fa(J[d+32>>2],255,n)}if((m|0)<=0){break m}c=J[d+32>>2];g=J[d+72>>2];e=J[d+12>>2];j=0;while(1){h=J[g+(j<<3)>>2];h=(h<<15^-1)+h|0;h=P(h>>>10^h,9);h=h>>>6^h;h=(h<<11^-1)+h|0;h=e+((J[d+48>>2]-1&(h>>>16^h))<<2)|0;J[c+(j<<2)>>2]=J[h>>2];J[h>>2]=j;j=j+1|0;if((m|0)!=(j|0)){continue}break}}c=J[f+4>>2];c=(c<<15^-1)+c|0;c=P(c>>>10^c,9);c=c>>>6^c;c=(c<<11^-1)+c|0;o=J[d+48>>2]-1&(c>>>16^c)}c=J[d+12>>2]+(o<<2)|0;J[J[d+32>>2]+(s<<2)>>2]=J[c>>2];J[c>>2]=s;break d}J[J[d+52>>2]+(e<<2)>>2]=J[f+12>>2]}c=J[f+12>>2];ua[J[J[c>>2]+60>>2]](c,b);m=J[a+8>>2]}r=r+1|0;if((r|0)<(m|0)){continue}break}if((m|0)<=0){break a}c=0;while(1){g=J[J[a+16>>2]+(c<<2)>>2];d=J[g+252>>2];if(!((d|0)!=64&(d|0)!=1)){ua[J[J[g>>2]+24>>2]](g,b);m=J[a+8>>2]}c=c+1|0;if((c|0)<(m|0)){continue}break}}a=J[f+88>>2];if(!(a?!a|!K[f+92|0]:1)){J[8457]=J[8457]+1;ua[J[8259]](a)}J[f+88>>2]=0;H[f+92|0]=1;J[f+80>>2]=0;J[f+84>>2]=0;a=J[f+68>>2];if(!(a?!a|!K[f+72|0]:1)){J[8457]=J[8457]+1;ua[J[8259]](a)}J[f+68>>2]=0;H[f+72|0]=1;J[f+60>>2]=0;J[f+64>>2]=0;a=J[f+48>>2];if(!(a?!a|!K[f+52|0]:1)){J[8457]=J[8457]+1;ua[J[8259]](a)}J[f+48>>2]=0;H[f+52|0]=1;J[f+40>>2]=0;J[f+44>>2]=0;a=J[f+28>>2];if(!(a?!a|!K[f+32|0]:1)){J[8457]=J[8457]+1;ua[J[8259]](a)}sa=f+96|0}function Th(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=Q(0),g=0,h=Q(0),i=0,j=Q(0),k=Q(0),l=0,m=Q(0),n=Q(0),o=0,p=0;c=J[d+72>>2];a:{if(!(c&4)){break a}b=J[a+28>>2];if((b|0)<=0){break a}l=J[a+76>>2];i=J[a+36>>2];if(c&16){c=0;while(1){e=i+P(c,152)|0;g=J[e+132>>2];N[g+132>>2]=N[e+100>>2];e=l+P(J[e+140>>2],152)|0;N[g+136>>2]=N[e+100>>2];N[g+140>>2]=N[e+252>>2];c=c+1|0;if((b|0)!=(c|0)){continue}break}break a}c=0;if((b|0)!=1){p=b&-2;while(1){g=i+P(c,152)|0;o=J[g+132>>2];N[o+132>>2]=N[g+100>>2];N[o+136>>2]=N[(l+P(J[g+140>>2],152)|0)+100>>2];g=i+P(c|1,152)|0;o=J[g+132>>2];N[o+132>>2]=N[g+100>>2];N[o+136>>2]=N[(l+P(J[g+140>>2],152)|0)+100>>2];c=c+2|0;e=e+2|0;if((p|0)!=(e|0)){continue}break}}if(!(b&1)){break a}b=i+P(c,152)|0;c=J[b+132>>2];N[c+132>>2]=N[b+100>>2];N[c+136>>2]=N[(l+P(J[b+140>>2],152)|0)+100>>2]}p=J[a+48>>2];if((p|0)>0){o=J[a+56>>2];l=0;while(1){c=o+P(l,152)|0;e=J[c+132>>2];b=J[e+44>>2];if(b){i=J[e+28>>2];j=N[i+416>>2];k=N[c+24>>2];m=N[i+412>>2];n=N[c+20>>2];f=N[c+100>>2];h=Q(Q(1)/N[d+12>>2]);N[b>>2]=N[b>>2]+Q(Q(Q(N[c+16>>2]*f)*N[i+408>>2])*h);N[b+4>>2]=Q(Q(m*Q(f*n))*h)+N[b+4>>2];N[b+8>>2]=Q(Q(j*Q(f*k))*h)+N[b+8>>2];g=J[e+32>>2];j=N[g+416>>2];k=N[c+56>>2];m=N[g+412>>2];n=N[c+52>>2];f=N[c+100>>2];h=Q(Q(1)/N[d+12>>2]);N[b+32>>2]=N[b+32>>2]+Q(Q(Q(N[c+48>>2]*f)*N[g+408>>2])*h);N[b+36>>2]=Q(Q(m*Q(f*n))*h)+N[b+36>>2];N[b+40>>2]=Q(Q(j*Q(f*k))*h)+N[b+40>>2];j=N[i+612>>2];k=N[c+8>>2];m=N[i+608>>2];n=N[c+4>>2];f=N[c+100>>2];h=Q(Q(1)/N[d+12>>2]);N[b+16>>2]=N[b+16>>2]+Q(Q(Q(N[c>>2]*N[i+604>>2])*f)*h);N[b+20>>2]=Q(Q(f*Q(n*m))*h)+N[b+20>>2];N[b+24>>2]=Q(Q(f*Q(k*j))*h)+N[b+24>>2];j=N[g+612>>2];k=N[c+40>>2];m=N[g+608>>2];n=N[c+36>>2];f=N[c+100>>2];h=Q(Q(1)/N[d+12>>2]);N[b+48>>2]=N[b+48>>2]+Q(Q(Q(N[c+32>>2]*N[g+604>>2])*f)*h);N[b+52>>2]=Q(Q(f*Q(n*m))*h)+N[b+52>>2];N[b+56>>2]=Q(Q(f*Q(k*j))*h)+N[b+56>>2]}f=N[c+100>>2];N[e+36>>2]=f;if(N[e+16>>2]<=Q(R(f))){H[e+20|0]=0}l=l+1|0;if((p|0)!=(l|0)){continue}break}}l=J[a+8>>2];if((l|0)>0){e=J[a+16>>2];g=0;while(1){i=P(g,244);b=i+e|0;c=J[b+240>>2];if(c){b:{if(J[d+52>>2]){m=N[d+12>>2];f=N[d+60>>2];c=sa-80|0;sa=c;c:{if(!J[b+240>>2]){break c}N[b+176>>2]=N[b+64>>2]+N[b+176>>2];N[b+192>>2]=N[b+80>>2]+N[b+192>>2];N[b+180>>2]=N[b+68>>2]+N[b+180>>2];N[b+184>>2]=N[b+72>>2]+N[b+184>>2];N[b+196>>2]=N[b+84>>2]+N[b+196>>2];N[b+200>>2]=N[b+88>>2]+N[b+200>>2];k=N[b+160>>2];d:{if(!(!(N[b+144>>2]!=Q(0)|N[b+148>>2]!=Q(0))&N[b+152>>2]==Q(0))){h=N[b+168>>2];j=N[b+164>>2];break d}h=N[b+168>>2];j=N[b+164>>2];if(k!=Q(0)|j!=Q(0)){break d}if(h==Q(0)){break c}}J[c+12>>2]=0;N[c+8>>2]=h*f;N[c+4>>2]=j*f;N[c>>2]=k*f;kb(b,b+144|0,c,m,c+16|0);e=J[c+28>>2];J[b+8>>2]=J[c+24>>2];J[b+12>>2]=e;e=J[c+20>>2];J[b>>2]=J[c+16>>2];J[b+4>>2]=e;e=J[c+44>>2];J[b+24>>2]=J[c+40>>2];J[b+28>>2]=e;e=J[c+36>>2];J[b+16>>2]=J[c+32>>2];J[b+20>>2]=e;e=J[c+52>>2];J[b+32>>2]=J[c+48>>2];J[b+36>>2]=e;e=J[c+60>>2];J[b+40>>2]=J[c+56>>2];J[b+44>>2]=e;e=J[c+68>>2];J[b+48>>2]=J[c+64>>2];J[b+52>>2]=e;e=J[c+76>>2];J[b+56>>2]=J[c+72>>2];J[b+60>>2]=e}sa=c+80|0;e=J[a+16>>2];b=i+e|0;f=N[b+176>>2];c=J[b+240>>2];break b}f=Q(N[b+64>>2]+N[b+176>>2]);N[b+176>>2]=f;N[b+192>>2]=N[b+80>>2]+N[b+192>>2];N[b+180>>2]=N[b+68>>2]+N[b+180>>2];N[b+184>>2]=N[b+72>>2]+N[b+184>>2];N[b+196>>2]=N[b+84>>2]+N[b+196>>2];N[b+200>>2]=N[b+88>>2]+N[b+200>>2]}b=e+i|0;h=N[b+212>>2];j=N[b+180>>2];k=N[b+216>>2];m=N[b+184>>2];n=N[b+208>>2];J[c+384>>2]=0;N[c+372>>2]=f+n;J[c+304>>2]=J[c+304>>2]+1;N[c+380>>2]=m+k;N[c+376>>2]=j+h;b=i+J[a+16>>2]|0;f=N[b+228>>2];h=N[b+196>>2];j=N[b+232>>2];k=N[b+200>>2];m=N[b+224>>2];n=N[b+192>>2];b=J[b+240>>2];J[b+400>>2]=0;N[b+388>>2]=n+m;N[b+396>>2]=k+j;N[b+392>>2]=h+f;J[b+304>>2]=J[b+304>>2]+1;if(J[d+52>>2]){c=i+J[a+16>>2]|0;b=J[c+240>>2];J[b+304>>2]=J[b+304>>2]+1;e=J[c+12>>2];J[b+12>>2]=J[c+8>>2];J[b+16>>2]=e;e=J[c+4>>2];J[b+4>>2]=J[c>>2];J[b+8>>2]=e;e=J[c+28>>2];J[b+28>>2]=J[c+24>>2];J[b+32>>2]=e;e=J[c+20>>2];J[b+20>>2]=J[c+16>>2];J[b+24>>2]=e;e=J[c+36>>2];J[b+36>>2]=J[c+32>>2];J[b+40>>2]=e;e=J[c+44>>2];J[b+44>>2]=J[c+40>>2];J[b+48>>2]=e;e=J[c+60>>2];J[b+60>>2]=J[c+56>>2];J[b+64>>2]=e;e=J[c+52>>2];J[b+52>>2]=J[c+48>>2];J[b+56>>2]=e}e=J[a+16>>2];J[J[(i+e|0)+240>>2]+212>>2]=-1;l=J[a+8>>2]}g=g+1|0;if((l|0)>(g|0)){continue}break}}if((J[a+28>>2]&J[a+32>>2])<0){b=J[a+36>>2];if(!(b?!b|!K[a+40|0]:1)){J[8457]=J[8457]+1;ua[J[8259]](b)}H[a+40|0]=1;J[a+32>>2]=0;J[a+36>>2]=0}J[a+28>>2]=0;if((J[a+48>>2]&J[a+52>>2])<0){b=J[a+56>>2];if(!(b?!b|!K[a+60|0]:1)){J[8457]=J[8457]+1;ua[J[8259]](b)}H[a+60|0]=1;J[a+52>>2]=0;J[a+56>>2]=0}J[a+48>>2]=0;if((J[a+68>>2]&J[a+72>>2])<0){b=J[a+76>>2];if(!(b?!b|!K[a+80|0]:1)){J[8457]=J[8457]+1;ua[J[8259]](b)}H[a+80|0]=1;J[a+72>>2]=0;J[a+76>>2]=0}J[a+68>>2]=0;if((J[a+88>>2]&J[a+92>>2])<0){b=J[a+96>>2];if(!(b?!b|!K[a+100|0]:1)){J[8457]=J[8457]+1;ua[J[8259]](b)}H[a+100|0]=1;J[a+92>>2]=0;J[a+96>>2]=0}J[a+88>>2]=0;if((J[a+8>>2]&J[a+12>>2])<0){b=J[a+16>>2];if(!(b?!b|!K[a+20|0]:1)){J[8457]=J[8457]+1;ua[J[8259]](b)}H[a+20|0]=1;J[a+12>>2]=0;J[a+16>>2]=0}J[a+8>>2]=0;return Q(Q(0))}function Wh(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;var k=Q(0),l=0,m=0,n=0,o=Q(0),p=Q(0),q=0,r=0;a:{if(!(H[i+72|0]&1)){break a}j=J[a+68>>2];m=J[a+28>>2];l=J[a+48>>2];if((l|0)>0){c=P(J[a+232>>2],1664525)+1013904223|0;b:{if((l|0)==1){break b}e=J[a+136>>2];d=J[e+4>>2];c=P(c,1664525)+1013904223|0;f=c^c>>>16;f=f>>>8^f;f=f>>>4^f;f=f>>>2^f;f=e+(((f>>>1^f)&1)<<2)|0;J[e+4>>2]=J[f>>2];J[f>>2]=d;if((l|0)==2){break b}d=J[e+8>>2];c=P(c,1664525)+1013904223|0;f=c^c>>>16;f=f>>>8^f;f=f>>>4^f;f=e+(((f>>>2^f)>>>0)%3<<2)|0;J[e+8>>2]=J[f>>2];J[f>>2]=d;if((l|0)==3){break b}d=4;f=J[e+12>>2];c=P(c,1664525)+1013904223|0;n=c^c>>>16;n=n>>>8^n;n=n>>>4^n;n=e+(((n>>>2^n)&3)<<2)|0;J[e+12>>2]=J[n>>2];J[n>>2]=f;if((l|0)==4){break b}while(1){f=e+(d<<2)|0;r=J[f>>2];q=f;c=P(c,1664525)+1013904223|0;f=c;c:{if(d>>>0>65535){break c}n=c>>>16^c;f=n;if(d>>>0>255){break c}n=n^n>>>8;f=n;if(d>>>0>15){break c}f=n^n>>>4}d=d+1|0;f=((f>>>0)%(d>>>0)<<2)+e|0;J[q>>2]=J[f>>2];J[f>>2]=r;if((d|0)!=(l|0)){continue}break}}J[a+232>>2]=c}if(J[i+20>>2]<=(b|0)){break a}if((m|0)>0){c=P(J[a+232>>2],1664525)+1013904223|0;d:{if((m|0)==1){break d}e=J[a+116>>2];d=J[e+4>>2];c=P(c,1664525)+1013904223|0;f=c^c>>>16;f=f>>>8^f;f=f>>>4^f;f=f>>>2^f;f=e+(((f>>>1^f)&1)<<2)|0;J[e+4>>2]=J[f>>2];J[f>>2]=d;if((m|0)==2){break d}d=J[e+8>>2];c=P(c,1664525)+1013904223|0;f=c^c>>>16;f=f>>>8^f;f=f>>>4^f;f=e+(((f>>>2^f)>>>0)%3<<2)|0;J[e+8>>2]=J[f>>2];J[f>>2]=d;if((m|0)==3){break d}d=4;f=J[e+12>>2];c=P(c,1664525)+1013904223|0;l=c^c>>>16;l=l>>>8^l;l=l>>>4^l;l=e+(((l>>>2^l)&3)<<2)|0;J[e+12>>2]=J[l>>2];J[l>>2]=f;if((m|0)==4){break d}while(1){f=e+(d<<2)|0;n=J[f>>2];q=f;c=P(c,1664525)+1013904223|0;f=c;e:{if(d>>>0>65535){break e}l=c>>>16^c;f=l;if(d>>>0>255){break e}l=l^l>>>8;f=l;if(d>>>0>15){break e}f=l^l>>>4}d=d+1|0;f=((f>>>0)%(d>>>0)<<2)+e|0;J[q>>2]=J[f>>2];J[f>>2]=n;if((d|0)!=(m|0)){continue}break}}J[a+232>>2]=c}if((j|0)<=0){break a}c=P(J[a+232>>2],1664525)+1013904223|0;f:{if((j|0)==1){break f}e=J[a+156>>2];d=J[e+4>>2];c=P(c,1664525)+1013904223|0;f=c^c>>>16;f=f>>>8^f;f=f>>>4^f;f=f>>>2^f;f=e+(((f>>>1^f)&1)<<2)|0;J[e+4>>2]=J[f>>2];J[f>>2]=d;if((j|0)==2){break f}d=J[e+8>>2];c=P(c,1664525)+1013904223|0;f=c^c>>>16;f=f>>>8^f;f=f>>>4^f;f=e+(((f>>>2^f)>>>0)%3<<2)|0;J[e+8>>2]=J[f>>2];J[f>>2]=d;if((j|0)==3){break f}d=4;f=J[e+12>>2];c=P(c,1664525)+1013904223|0;m=c^c>>>16;m=m>>>8^m;m=m>>>4^m;m=e+(((m>>>2^m)&3)<<2)|0;J[e+12>>2]=J[m>>2];J[m>>2]=f;if((j|0)==4){break f}while(1){f=e+(d<<2)|0;l=J[f>>2];n=f;c=P(c,1664525)+1013904223|0;f=c;g:{if(d>>>0>65535){break g}m=c>>>16^c;f=m;if(d>>>0>255){break g}m=m^m>>>8;f=m;if(d>>>0>15){break g}f=m^m>>>4}d=d+1|0;f=((f>>>0)%(d>>>0)<<2)+e|0;J[n>>2]=J[f>>2];J[f>>2]=l;if((d|0)!=(j|0)){continue}break}}J[a+232>>2]=c}e=J[a+48>>2];if((e|0)>0){d=0;while(1){c=J[a+56>>2]+P(J[J[a+136>>2]+(d<<2)>>2],152)|0;if(J[c+136>>2]>(b|0)){e=J[a+16>>2];k=Q(ua[J[a+212>>2]](e+P(J[c+144>>2],244)|0,e+P(J[c+148>>2],244)|0,c));p=Q(Q(k*k)+p);e=J[a+48>>2]}d=d+1|0;if((e|0)>(d|0)){continue}break}}h:{if(J[i+20>>2]<=(b|0)){break h}if((h|0)>0){d=0;while(1){b=(d<<2)+g|0;c=J[b>>2];if(K[c+20|0]){c=db(a,J[c+28>>2],N[i+12>>2]);e=db(a,J[J[b>>2]+32>>2],N[i+12>>2]);b=J[b>>2];f=P(c,244);c=J[a+16>>2];ua[J[J[b>>2]+24>>2]](b,f+c|0,c+P(e,244)|0,N[i+12>>2])}d=d+1|0;if((h|0)!=(d|0)){continue}break}}e=J[a+28>>2];b=J[i+72>>2];i:{if(b&512){if((e|0)<=0){break i}d=b>>>4&1;c=0;while(1){f=J[a+16>>2];b=J[a+36>>2]+P(J[J[a+116>>2]+(c<<2)>>2],152)|0;k=Q(ua[J[a+216>>2]](f+P(J[b+144>>2],244)|0,f+P(J[b+148>>2],244)|0,b));p=Q(Q(k*k)+p);k=N[b+100>>2];f=k>Q(0);j:{if(!f){break j}g=c<>2]+P(J[g+J[a+156>>2]>>2],152)|0;o=N[b+104>>2];N[b+124>>2]=k*o;N[b+120>>2]=k*Q(-o);h=J[a+16>>2];o=Q(ua[J[a+212>>2]](h+P(J[b+144>>2],244)|0,h+P(J[b+148>>2],244)|0,b));p=Q(Q(o*o)+p);if(!f|!(J[i+72>>2]&16)){break j}b=J[a+76>>2]+P(J[(g+J[a+156>>2]|0)+4>>2],152)|0;o=N[b+104>>2];N[b+124>>2]=k*o;N[b+120>>2]=k*Q(-o);f=J[a+16>>2];k=Q(ua[J[a+212>>2]](f+P(J[b+144>>2],244)|0,f+P(J[b+148>>2],244)|0,b));p=Q(Q(k*k)+p)}c=c+1|0;if((e|0)!=(c|0)){continue}break}break i}if((e|0)>0){d=0;while(1){c=J[a+16>>2];b=J[a+36>>2]+P(J[J[a+116>>2]+(d<<2)>>2],152)|0;k=Q(ua[J[a+216>>2]](c+P(J[b+144>>2],244)|0,c+P(J[b+148>>2],244)|0,b));p=Q(Q(k*k)+p);d=d+1|0;if((e|0)!=(d|0)){continue}break}}d=J[a+68>>2];if((d|0)<=0){break i}c=0;while(1){b=J[a+76>>2]+P(J[J[a+156>>2]+(c<<2)>>2],152)|0;k=N[(J[a+36>>2]+P(J[b+140>>2],152)|0)+100>>2];if(k>Q(0)){o=N[b+104>>2];N[b+124>>2]=k*o;N[b+120>>2]=k*Q(-o);e=J[a+16>>2];k=Q(ua[J[a+212>>2]](e+P(J[b+144>>2],244)|0,e+P(J[b+148>>2],244)|0,b));p=Q(Q(k*k)+p)}c=c+1|0;if((d|0)!=(c|0)){continue}break}}d=J[a+88>>2];if((d|0)<=0){break h}c=0;while(1){b=J[a+96>>2]+P(c,152)|0;k=N[(J[a+36>>2]+P(J[b+140>>2],152)|0)+100>>2];if(k>Q(0)){o=k;k=N[b+104>>2];o=Q(o*k);k=k>2]=k;N[b+120>>2]=-k;e=J[a+16>>2];k=Q(ua[J[a+212>>2]](e+P(J[b+144>>2],244)|0,e+P(J[b+148>>2],244)|0,b));p=Q(Q(k*k)+p)}c=c+1|0;if((d|0)!=(c|0)){continue}break}}return Q(p)}function Ie(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=Q(0),g=Q(0),h=Q(0),i=Q(0),j=Q(0),k=Q(0),l=Q(0),m=Q(0),n=Q(0),o=Q(0),p=0,q=Q(0),r=0,s=Q(0),t=Q(0),u=Q(0),v=0,w=Q(0),x=Q(0),y=Q(0),z=Q(0),A=Q(0),B=Q(0),C=Q(0),D=Q(0),E=Q(0),F=Q(0),G=0,H=Q(0),I=Q(0),K=Q(0),L=Q(0);d=sa-144|0;sa=d;J[d+108>>2]=0;f=N[b+80>>2];g=N[b+96>>2];w=N[b+120>>2];n=N[b+56>>2];E=N[b+112>>2];y=N[b+116>>2];H=N[b+52>>2];j=N[b+68>>2];k=N[b+84>>2];q=N[b+100>>2];h=N[b+20>>2];s=N[b+36>>2];o=N[b+72>>2];m=N[b+88>>2];t=N[b+24>>2];i=N[b+104>>2];C=N[b+40>>2];l=N[b+64>>2];D=N[b+32>>2];x=N[b>>2];z=N[b+16>>2];I=N[b+48>>2];A=N[b+4>>2];u=N[b+8>>2];J[d+104>>2]=0;J[d+88>>2]=0;J[d+72>>2]=0;N[d+84>>2]=Q(i*C)+Q(Q(o*u)+Q(t*m));N[d+80>>2]=Q(i*s)+Q(Q(o*A)+Q(h*m));N[d+68>>2]=Q(q*C)+Q(Q(j*u)+Q(t*k));N[d- -64>>2]=Q(q*s)+Q(Q(j*A)+Q(h*k));w=Q(n-w);n=Q(I-E);E=Q(H-y);N[d+100>>2]=Q(i*w)+Q(Q(o*n)+Q(m*E));N[d+96>>2]=Q(q*w)+Q(Q(j*n)+Q(E*k));J[d+56>>2]=0;N[d+76>>2]=Q(i*D)+Q(Q(o*x)+Q(z*m));N[d+60>>2]=Q(q*D)+Q(Q(j*x)+Q(z*k));N[d+52>>2]=Q(g*C)+Q(Q(l*u)+Q(f*t));N[d+48>>2]=Q(g*s)+Q(Q(l*A)+Q(f*h));N[d+44>>2]=Q(g*D)+Q(Q(l*x)+Q(f*z));N[d+92>>2]=Q(g*w)+Q(Q(l*n)+Q(E*f));k=N[a+12>>2];s=Q(0);t=Q(0);C=Q(0);p=sa-32|0;sa=p;v=J[a+8>>2];f=N[v+64>>2];q=Q(N[v+80>>2]-f);i=N[v+68>>2];o=Q(N[v+100>>2]-i);m=Q(N[v+96>>2]-f);j=Q(N[v+84>>2]-i);g=Q(Q(q*o)-Q(m*j));n=j;j=N[v+72>>2];l=Q(N[v+104>>2]-j);h=Q(N[v+88>>2]-j);o=Q(Q(n*l)-Q(o*h));m=Q(Q(h*m)-Q(l*q));q=Q(Q(g*g)+Q(Q(o*o)+Q(m*m)));a:{if(!(q>=Q(14210854715202004e-30))){break a}r=J[a+4>>2];D=Q(N[r+36>>2]*N[r+20>>2]);k=Q(D+k);x=N[d+100>>2];h=g;g=Q(Q(1)/Q(Y(q)));q=Q(h*g);h=Q(Q(x-j)*q);j=N[d+92>>2];o=Q(o*g);m=Q(m*g);g=N[d+96>>2];f=Q(h+Q(Q(Q(j-f)*o)+Q(m*Q(g-i))));if(f>2];J[p+24>>2]=J[d+100>>2];J[p+28>>2]=r;r=J[d+96>>2];J[p+16>>2]=J[d+92>>2];J[p+20>>2]=r;J[p+12>>2]=0;N[p+8>>2]=q;N[p+4>>2]=m;N[p>>2]=o;r=v- -64|0;z=N[r+32>>2];A=N[r+40>>2];u=N[r+24>>2];w=Q(A-u);n=N[r+16>>2];F=Q(z-n);i=N[p+4>>2];l=N[p>>2];E=N[r+36>>2];y=N[r+20>>2];h=Q(E-y);H=N[p+24>>2];K=Q(Q(Q(F*i)-Q(l*h))*Q(H-u));B=h;h=N[p+8>>2];I=N[p+16>>2];L=N[p+20>>2];w=Q(K+Q(Q(Q(Q(B*h)-Q(i*w))*Q(I-n))+Q(Q(L-y)*Q(Q(w*l)-Q(h*F)))));B=u;u=N[r+8>>2];F=Q(B-u);B=n;n=N[r>>2];K=Q(B-n);B=y;y=N[r+4>>2];B=Q(B-y);F=Q(Q(Q(Q(K*i)-Q(l*B))*Q(H-u))+Q(Q(Q(Q(B*h)-Q(i*F))*Q(I-n))+Q(Q(L-y)*Q(Q(F*l)-Q(h*K)))));n=Q(n-z);y=Q(y-E);H=Q(Q(Q(n*i)-Q(l*y))*Q(H-A));B=i;i=Q(u-A);i=Q(H+Q(Q(Q(Q(y*h)-Q(B*i))*Q(I-z))+Q(Q(L-E)*Q(Q(i*l)-Q(h*n)))));b:{if(!(!(i>Q(0))|!(F>Q(0)))){r=1;if(w>Q(0)){break b}}r=F<=Q(0)&w<=Q(0)&i<=Q(0)}c:{if(r){s=Q(x-Q(f*q));t=Q(g-Q(f*m));C=Q(j-Q(f*o));z=Q(k*k);break c}if((ua[J[J[v>>2]+100>>2]](v)|0)<=0){break a}z=Q(k*k);r=0;v=0;while(1){G=J[a+8>>2];ua[J[J[G>>2]+104>>2]](G,v,p+16|0,p);g=Q(0);x=N[p+24>>2];i=Q(N[p+8>>2]-x);f=Q(N[d+100>>2]-x);A=N[p+16>>2];l=Q(N[p>>2]-A);k=Q(N[d+92>>2]-A);u=N[p+20>>2];j=Q(N[d+96>>2]-u);h=Q(N[p+4>>2]-u);w=Q(Q(i*f)+Q(Q(l*k)+Q(j*h)));d:{if(!(w>Q(0))){break d}g=Q(Q(i*i)+Q(Q(l*l)+Q(h*h)));if(g>w){g=Q(w/g);f=Q(f-Q(i*g));j=Q(j-Q(h*g));k=Q(k-Q(l*g));break d}f=Q(f-i);j=Q(j-h);k=Q(k-l);g=Q(1)}if(Q(Q(f*f)+Q(Q(k*k)+Q(j*j)))>2];v=v+1|0;if((ua[J[J[G>>2]+100>>2]](G)|0)>(v|0)){continue}break}G=0;if(!r){break a}x=N[d+100>>2];g=N[d+96>>2];j=N[d+92>>2]}f=Q(x-s);j=Q(j-C);g=Q(g-t);k=Q(Q(f*f)+Q(Q(j*j)+Q(g*g)));if(!(kQ(1.1920928955078125e-7)){J[d+124>>2]=0;i=f;k=Q(Y(k));f=Q(Q(1)/k);N[d+120>>2]=i*f;N[d+116>>2]=g*f;N[d+112>>2]=j*f;D=Q(D-k);break e}J[d+124>>2]=0;N[d+120>>2]=q;N[d+116>>2]=m;N[d+112>>2]=o}J[d+140>>2]=0;N[d+136>>2]=s;N[d+132>>2]=t;N[d+128>>2]=C;N[d+108>>2]=-D;G=1}sa=p+32|0;f:{if(!G){break f}if(e){k=N[b+72>>2];q=N[b+64>>2];o=N[b+68>>2];m=N[b+88>>2];i=N[b+80>>2];l=N[b+84>>2];h=N[b+104>>2];s=N[b+96>>2];t=N[b+100>>2];f=N[d+120>>2];g=N[d+112>>2];j=N[d+116>>2];J[d+40>>2]=0;C=Q(Q(h*f)+Q(Q(s*g)+Q(j*t)));N[d+36>>2]=-C;D=Q(Q(m*f)+Q(Q(i*g)+Q(j*l)));N[d+32>>2]=-D;x=Q(Q(k*f)+Q(Q(q*g)+Q(o*j)));N[d+28>>2]=-x;z=N[b+112>>2];A=N[b+116>>2];f=N[b+120>>2];J[d+24>>2]=0;g=N[d+136>>2];n=Q(h*g);j=N[d+128>>2];h=N[d+132>>2];n=Q(f+Q(n+Q(Q(s*j)+Q(t*h))));f=N[d+108>>2];N[d+20>>2]=n+Q(C*f);N[d+16>>2]=Q(A+Q(Q(g*m)+Q(Q(j*i)+Q(l*h))))+Q(D*f);N[d+12>>2]=Q(z+Q(Q(g*k)+Q(Q(j*q)+Q(o*h))))+Q(x*f);ua[J[J[c>>2]+16>>2]](c,d+28|0,d+12|0,f);break f}f=N[b+72>>2];g=N[b+64>>2];j=N[b+68>>2];k=N[b+88>>2];q=N[b+80>>2];o=N[b+84>>2];m=N[b+104>>2];i=N[b+96>>2];l=N[b+100>>2];J[d+40>>2]=0;h=N[d+120>>2];s=N[d+112>>2];t=N[d+116>>2];N[d+36>>2]=Q(m*h)+Q(Q(i*s)+Q(l*t));N[d+32>>2]=Q(k*h)+Q(Q(q*s)+Q(t*o));N[d+28>>2]=Q(f*h)+Q(Q(g*s)+Q(j*t));h=N[b+112>>2];s=N[b+116>>2];t=N[b+120>>2];J[d+24>>2]=0;n=m;m=N[d+136>>2];u=i;i=N[d+128>>2];y=l;l=N[d+132>>2];N[d+20>>2]=t+Q(Q(n*m)+Q(Q(u*i)+Q(y*l)));N[d+16>>2]=s+Q(Q(m*k)+Q(Q(i*q)+Q(o*l)));N[d+12>>2]=h+Q(Q(m*f)+Q(Q(i*g)+Q(j*l)));ua[J[J[c>>2]+16>>2]](c,d+28|0,d+12|0,N[d+108>>2])}sa=d+144|0}function hh(a,b){a=a|0;b=Q(b);var c=0,d=0,e=0,f=0,g=Q(0),h=0,i=Q(0),j=0,k=Q(0),l=Q(0),m=Q(0),n=Q(0),o=0,p=Q(0),q=0,r=0,s=0,t=0,u=0,v=0,w=Q(0),x=0,y=Q(0),z=Q(0),A=Q(0),B=Q(0),C=Q(0),D=Q(0),E=Q(0),F=Q(0),G=0,I=Q(0),L=0,M=Q(0),O=Q(0);x=sa-16|0;sa=x;ua[J[8262]](3728);ua[J[8262]](4613);if(J[a+324>>2]>0){while(1){e=J[a+24>>2];ua[J[J[e>>2]+16>>2]](e,J[J[a+332>>2]+(c<<2)>>2]);c=c+1|0;if((c|0)>2]){continue}break}}c=J[a+332>>2];if(!(c?!c|!K[a+336|0]:1)){J[8457]=J[8457]+1;ua[J[8259]](c)}J[a+332>>2]=0;H[a+336|0]=1;J[a+324>>2]=0;J[a+328>>2]=0;ua[J[8263]]();s=J[a+248>>2];if((s|0)>0){G=J[a+256>>2];c=sa-512|0;sa=c;if((s|0)>0){while(1){e=J[(t<<2)+G>>2];J[e+268>>2]=1065353216;a:{b:{switch(J[e+220>>2]-2|0){case 0:case 3:break a;default:break b}}if(K[e+204|0]&3){break a}pb(e,b,c+448|0);if(!K[a+44|0]){break a}g=N[e+276>>2];g=Q(g*g);if(g==Q(0)){break a}i=Q(N[c+504>>2]-N[e+60>>2]);k=Q(i*i);i=Q(N[c+496>>2]-N[e+52>>2]);p=Q(i*i);i=Q(N[c+500>>2]-N[e+56>>2]);if(!(g>2]+4>>2]<=19){J[8932]=J[8932]+1;d=J[a+68>>2];d=ua[J[J[d>>2]+36>>2]](d)|0;h=J[a+24>>2];J[c+356>>2]=-1;J[c+360>>2]=0;J[c+348>>2]=1065353216;J[c+352>>2]=1;f=J[e+64>>2];J[c+372>>2]=J[e+60>>2];J[c+376>>2]=f;f=J[e+56>>2];J[c+364>>2]=J[e+52>>2];J[c+368>>2]=f;f=J[c+508>>2];J[c+388>>2]=J[c+504>>2];J[c+392>>2]=f;f=J[c+500>>2];J[c+380>>2]=J[c+496>>2];J[c+384>>2]=f;J[c+440>>2]=h;J[c+436>>2]=d;J[c+432>>2]=0;J[c+344>>2]=24500;J[c+428>>2]=e;g=N[e+272>>2];h=Sa(c+284|0);J[h>>2]=21396;J[c+312>>2]=1065353216;J[c+304>>2]=1065353216;J[c+308>>2]=1065353216;J[c+288>>2]=8;J[c+332>>2]=0;J[c+324>>2]=0;J[c+328>>2]=0;J[c+316>>2]=0;J[c+320>>2]=0;J[c+340>>2]=0;N[c+336>>2]=g;N[c+320>>2]=g;N[c+432>>2]=N[a+56>>2];d=J[e+188>>2];J[c+352>>2]=J[d+4>>2];J[c+356>>2]=J[d+8>>2];d=J[c+460>>2];J[c+224>>2]=J[c+456>>2];J[c+228>>2]=d;d=J[c+452>>2];J[c+216>>2]=J[c+448>>2];J[c+220>>2]=d;d=J[c+476>>2];J[c+240>>2]=J[c+472>>2];J[c+244>>2]=d;d=J[c+468>>2];J[c+232>>2]=J[c+464>>2];J[c+236>>2]=d;d=J[c+492>>2];J[c+256>>2]=J[c+488>>2];J[c+260>>2]=d;d=J[c+484>>2];J[c+248>>2]=J[c+480>>2];J[c+252>>2]=d;d=J[c+508>>2];J[c+272>>2]=J[c+504>>2];J[c+276>>2]=d;d=J[c+500>>2];J[c+264>>2]=J[c+496>>2];J[c+268>>2]=d;d=e+4|0;f=J[d+12>>2];J[c+224>>2]=J[d+8>>2];J[c+228>>2]=f;f=J[d+4>>2];J[c+216>>2]=J[d>>2];J[c+220>>2]=f;f=J[e+32>>2];J[c+240>>2]=J[e+28>>2];J[c+244>>2]=f;f=J[e+24>>2];J[c+232>>2]=J[e+20>>2];J[c+236>>2]=f;f=J[e+48>>2];J[c+256>>2]=J[e+44>>2];J[c+260>>2]=f;f=J[e+40>>2];J[c+248>>2]=J[e+36>>2];J[c+252>>2]=f;vb(a,h,d,c+216|0,c+344|0,Q(0));d=J[c+360>>2];c:{if(!d){break c}g=N[c+348>>2];if(!(g>2]-N[e+52>>2]));m=Q(g*Q(N[c+500>>2]-N[e+56>>2]));n=Q(g*Q(N[c+504>>2]-N[e+60>>2]));I=Q(Q(Q(l*Q(-N[c+396>>2]))-Q(m*N[c+400>>2]))-Q(n*N[c+404>>2]));h=J[a+24>>2];u=ua[J[J[h>>2]+12>>2]](h,e,d)|0;d=J[a+324>>2];d:{if((d|0)!=J[a+328>>2]){break d}r=d?d<<1:1;if((r|0)<=(d|0)){break d}e:{if(!r){h=0;break e}J[8456]=J[8456]+1;h=ua[J[8258]](r<<2,16)|0;d=J[a+324>>2]}f:{if((d|0)<=0){break f}v=0;f=0;if(d>>>0>=4){L=d&-4;o=0;while(1){j=f<<2;J[j+h>>2]=J[j+J[a+332>>2]>>2];q=j|4;J[q+h>>2]=J[q+J[a+332>>2]>>2];q=j|8;J[q+h>>2]=J[q+J[a+332>>2]>>2];j=j|12;J[j+h>>2]=J[j+J[a+332>>2]>>2];f=f+4|0;o=o+4|0;if((L|0)!=(o|0)){continue}break}}j=d&3;if(!j){break f}while(1){o=f<<2;J[o+h>>2]=J[o+J[a+332>>2]>>2];f=f+1|0;v=v+1|0;if((j|0)!=(v|0)){continue}break}}f=J[a+332>>2];if(!(!f|!K[a+336|0])){if(f){J[8457]=J[8457]+1;ua[J[8259]](f)}d=J[a+324>>2]}J[a+332>>2]=h;H[a+336|0]=1;J[a+328>>2]=r}J[J[a+332>>2]+(d<<2)>>2]=u;J[a+324>>2]=d+1;d=J[c+360>>2];y=N[d+20>>2];z=N[d+36>>2];A=N[d+40>>2];B=N[d+8>>2];C=N[d+24>>2];g=N[d+60>>2];M=N[d+52>>2];i=N[d+56>>2];D=N[d+44>>2];k=N[d+12>>2];E=N[d+28>>2];F=N[d+4>>2];p=N[e+60>>2];w=N[e+52>>2];O=N[e+56>>2];J[c+16>>2]=0;J[c+20>>2]=0;J[c+8>>2]=0;J[c+12>>2]=0;J[c+36>>2]=0;n=Q(n+p);l=Q(l+w);m=Q(m+O);w=Q(Q(D*n)+Q(Q(k*l)+Q(E*m)));p=k;k=Q(-M);N[c+32>>2]=w+Q(Q(Q(p*k)-Q(E*i))-Q(D*g));N[c+28>>2]=Q(Q(n*A)+Q(Q(l*B)+Q(m*C)))+Q(Q(Q(B*k)-Q(C*i))-Q(A*g));N[c+24>>2]=Q(Q(n*z)+Q(Q(l*F)+Q(m*y)))+Q(Q(Q(F*k)-Q(y*i))-Q(z*g));d=J[c+408>>2];J[c+80>>2]=J[c+404>>2];J[c+84>>2]=d;d=J[c+400>>2];J[c+72>>2]=J[c+396>>2];J[c+76>>2]=d;N[c+88>>2]=I;J[c+100>>2]=0;J[c+104>>2]=0;J[c+92>>2]=0;J[c+96>>2]=0;J[c+172>>2]=0;J[c+164>>2]=0;J[c+168>>2]=0;J[c+156>>2]=0;J[c+160>>2]=0;J[c+148>>2]=0;J[c+152>>2]=0;J[c+140>>2]=0;J[c+144>>2]=0;J[c+132>>2]=0;J[c+136>>2]=0;J[c+124>>2]=0;J[c+128>>2]=0;d=P(rc(u,c+8|0),208)+u|0;J[d+100>>2]=0;g=Q(N[e+228>>2]*N[J[c+360>>2]+228>>2]);g=g>2]=g>Q(10)?Q(10):g;h=J[e+56>>2];J[d+52>>2]=J[e+52>>2];J[d+56>>2]=h;h=J[e+64>>2];J[d+60>>2]=J[e+60>>2];J[d+64>>2]=h;J[d+48>>2]=0;N[d+44>>2]=n;N[d+40>>2]=m;N[d+36>>2]=l}}ua[J[8263]]()}t=t+1|0;if((s|0)!=(t|0)){continue}break}}sa=c+512|0}ua[J[8263]]();sa=x+16|0}function Tg(a,b){a=a|0;b=Q(b);var c=0,d=0,e=0,f=Q(0),g=0,h=0,i=Q(0),j=0,k=Q(0),l=Q(0),m=Q(0),n=Q(0),o=0,p=Q(0),q=0,r=0,s=0,t=0,u=0,v=Q(0),w=0,x=Q(0),y=Q(0),z=Q(0),A=Q(0),B=Q(0),C=Q(0),D=Q(0),E=Q(0),F=Q(0),G=0,I=Q(0),L=Q(0);c=sa-512|0;sa=c;ua[J[8262]](3728);d=sa-16|0;sa=d;ua[J[8262]](4613);if(J[a+324>>2]>0){while(1){h=J[a+24>>2];ua[J[J[h>>2]+16>>2]](h,J[J[a+332>>2]+(e<<2)>>2]);e=e+1|0;if((e|0)>2]){continue}break}}e=J[a+332>>2];if(!(e?!e|!K[a+336|0]:1)){J[8457]=J[8457]+1;ua[J[8259]](e)}J[a+332>>2]=0;H[a+336|0]=1;J[a+324>>2]=0;J[a+328>>2]=0;ua[J[8263]]();sa=d+16|0;w=J[a+248>>2];if((w|0)>0){while(1){e=J[J[a+256>>2]+(s<<2)>>2];J[e+268>>2]=1065353216;a:{b:{switch(J[e+220>>2]-2|0){case 0:case 3:break a;default:break b}}if(K[e+204|0]&3){break a}pb(e,b,c+444|0);if(!K[a+44|0]){break a}f=N[e+276>>2];f=Q(f*f);if(f==Q(0)){break a}i=Q(N[c+500>>2]-N[e+60>>2]);k=Q(i*i);i=Q(N[c+492>>2]-N[e+52>>2]);p=Q(i*i);i=Q(N[c+496>>2]-N[e+56>>2]);if(!(f>2]+4>>2]<=19){J[c+356>>2]=-1;J[c+360>>2]=0;J[c+348>>2]=1065353216;J[c+352>>2]=1;d=J[e+64>>2];J[c+372>>2]=J[e+60>>2];J[c+376>>2]=d;d=J[e+56>>2];J[c+364>>2]=J[e+52>>2];J[c+368>>2]=d;d=J[c+504>>2];J[c+388>>2]=J[c+500>>2];J[c+392>>2]=d;d=J[c+496>>2];J[c+380>>2]=J[c+492>>2];J[c+384>>2]=d;J[c+436>>2]=a;J[c+428>>2]=0;J[c+344>>2]=24980;J[c+432>>2]=e;f=N[e+272>>2];h=Sa(c+284|0);J[h>>2]=21396;J[c+312>>2]=1065353216;J[c+304>>2]=1065353216;J[c+308>>2]=1065353216;J[c+288>>2]=8;J[c+332>>2]=0;J[c+324>>2]=0;J[c+328>>2]=0;J[c+316>>2]=0;J[c+320>>2]=0;J[c+340>>2]=0;N[c+336>>2]=f;N[c+320>>2]=f;d=J[e+188>>2];J[c+352>>2]=J[d+4>>2];J[c+356>>2]=J[d+8>>2];d=J[c+456>>2];J[c+224>>2]=J[c+452>>2];J[c+228>>2]=d;d=J[c+448>>2];J[c+216>>2]=J[c+444>>2];J[c+220>>2]=d;d=J[c+472>>2];J[c+240>>2]=J[c+468>>2];J[c+244>>2]=d;d=J[c+464>>2];J[c+232>>2]=J[c+460>>2];J[c+236>>2]=d;d=J[c+488>>2];J[c+256>>2]=J[c+484>>2];J[c+260>>2]=d;d=J[c+480>>2];J[c+248>>2]=J[c+476>>2];J[c+252>>2]=d;d=J[c+504>>2];J[c+272>>2]=J[c+500>>2];J[c+276>>2]=d;d=J[c+496>>2];J[c+264>>2]=J[c+492>>2];J[c+268>>2]=d;d=e+4|0;g=J[d+12>>2];J[c+224>>2]=J[d+8>>2];J[c+228>>2]=g;g=J[d+4>>2];J[c+216>>2]=J[d>>2];J[c+220>>2]=g;g=J[e+32>>2];J[c+240>>2]=J[e+28>>2];J[c+244>>2]=g;g=J[e+24>>2];J[c+232>>2]=J[e+20>>2];J[c+236>>2]=g;g=J[e+48>>2];J[c+256>>2]=J[e+44>>2];J[c+260>>2]=g;g=J[e+40>>2];J[c+248>>2]=J[e+36>>2];J[c+252>>2]=g;vb(a,h,d,c+216|0,c+344|0,Q(0));d=J[c+360>>2];if(d){f=N[c+348>>2];l=Q(Q(N[c+492>>2]-N[e+52>>2])*f);m=Q(Q(N[c+496>>2]-N[e+56>>2])*f);n=Q(f*Q(N[c+500>>2]-N[e+60>>2]));F=Q(Q(Q(l*Q(-N[c+396>>2]))-Q(m*N[c+400>>2]))-Q(n*N[c+404>>2]));h=J[a+24>>2];t=ua[J[J[h>>2]+12>>2]](h,e,d)|0;d=J[a+324>>2];c:{if((d|0)!=J[a+328>>2]){break c}r=d?d<<1:1;if((r|0)<=(d|0)){break c}d:{if(!r){h=0;break d}J[8456]=J[8456]+1;h=ua[J[8258]](r<<2,16)|0;d=J[a+324>>2]}e:{if((d|0)<=0){break e}u=0;g=0;if(d>>>0>=4){G=d&-4;o=0;while(1){j=g<<2;J[j+h>>2]=J[j+J[a+332>>2]>>2];q=j|4;J[q+h>>2]=J[q+J[a+332>>2]>>2];q=j|8;J[q+h>>2]=J[q+J[a+332>>2]>>2];j=j|12;J[j+h>>2]=J[j+J[a+332>>2]>>2];g=g+4|0;o=o+4|0;if((G|0)!=(o|0)){continue}break}}j=d&3;if(!j){break e}while(1){o=g<<2;J[o+h>>2]=J[o+J[a+332>>2]>>2];g=g+1|0;u=u+1|0;if((j|0)!=(u|0)){continue}break}}g=J[a+332>>2];if(!(!g|!K[a+336|0])){if(g){J[8457]=J[8457]+1;ua[J[8259]](g)}d=J[a+324>>2]}J[a+332>>2]=h;H[a+336|0]=1;J[a+328>>2]=r}J[J[a+332>>2]+(d<<2)>>2]=t;J[a+324>>2]=d+1;d=J[c+360>>2];x=N[d+20>>2];y=N[d+36>>2];z=N[d+40>>2];A=N[d+8>>2];B=N[d+24>>2];f=N[d+60>>2];I=N[d+52>>2];i=N[d+56>>2];C=N[d+44>>2];k=N[d+12>>2];D=N[d+28>>2];E=N[d+4>>2];p=N[e+60>>2];v=N[e+52>>2];L=N[e+56>>2];J[c+16>>2]=0;J[c+20>>2]=0;J[c+8>>2]=0;J[c+12>>2]=0;J[c+36>>2]=0;n=Q(n+p);l=Q(l+v);m=Q(m+L);v=Q(Q(C*n)+Q(Q(k*l)+Q(D*m)));p=k;k=Q(-I);N[c+32>>2]=v+Q(Q(Q(p*k)-Q(D*i))-Q(C*f));N[c+28>>2]=Q(Q(n*z)+Q(Q(l*A)+Q(m*B)))+Q(Q(Q(A*k)-Q(B*i))-Q(z*f));N[c+24>>2]=Q(Q(n*y)+Q(Q(l*E)+Q(m*x)))+Q(Q(Q(E*k)-Q(x*i))-Q(y*f));d=J[c+408>>2];J[c+80>>2]=J[c+404>>2];J[c+84>>2]=d;d=J[c+400>>2];J[c+72>>2]=J[c+396>>2];J[c+76>>2]=d;N[c+88>>2]=F;J[c+100>>2]=0;J[c+104>>2]=0;J[c+92>>2]=0;J[c+96>>2]=0;J[c+172>>2]=0;J[c+164>>2]=0;J[c+168>>2]=0;J[c+156>>2]=0;J[c+160>>2]=0;J[c+148>>2]=0;J[c+152>>2]=0;J[c+140>>2]=0;J[c+144>>2]=0;J[c+132>>2]=0;J[c+136>>2]=0;J[c+124>>2]=0;J[c+128>>2]=0;J[c+208>>2]=J[e+192>>2];J[c+212>>2]=J[c+428>>2];d=P(rc(t,c+8|0),208)+t|0;J[d+100>>2]=0;f=Q(N[e+228>>2]*N[J[c+360>>2]+228>>2]);f=f>2]=f>Q(10)?Q(10):f;h=J[e+56>>2];J[d+52>>2]=J[e+52>>2];J[d+56>>2]=h;h=J[e+64>>2];J[d+60>>2]=J[e+60>>2];J[d+64>>2]=h;J[d+48>>2]=0;N[d+44>>2]=n;N[d+40>>2]=m;N[d+36>>2]=l}}ua[J[8263]]()}s=s+1|0;if((w|0)!=(s|0)){continue}break}}ua[J[8263]]();sa=c+512|0}function rc(a,b){var c=Q(0),d=Q(0),e=Q(0),f=Q(0),g=Q(0),h=Q(0),i=Q(0),j=Q(0),k=0,l=Q(0),m=Q(0),n=Q(0),o=Q(0),p=Q(0),q=Q(0),r=Q(0),s=Q(0),t=Q(0),u=Q(0),v=Q(0),w=Q(0),x=0,y=Q(0),z=Q(0),A=0,B=Q(0),C=Q(0),D=Q(0),E=Q(0),F=Q(0),G=Q(0),H=Q(0),I=Q(0),L=Q(0),M=Q(0),O=Q(0),S=Q(0),T=Q(0),U=Q(0),V=Q(0),W=Q(0),X=Q(0),Y=Q(0),Z=Q(0),_=Q(0),$=Q(0),aa=Q(0),ba=Q(0),ca=Q(0),da=Q(0),ea=0;k=J[a+844>>2];a:{if((k|0)==4){c=N[a+84>>2];e=N[b+80>>2];k=c>2];c=k?c:e;k=f>2];c=k?f:c;x=e>2]<(x?e:c);A=k?3:A;b:{c:{d:{e:{if(K[33064]){if(!A){n=N[a+636>>2];i=N[a+428>>2];h=Q(n-i);q=N[a+632>>2];l=N[a+424>>2];d=Q(q-l);v=N[a+628>>2];w=N[a+420>>2];m=Q(v-w);e=N[b+8>>2];f=N[b+4>>2];j=N[b>>2];break e}j=N[b>>2];s=N[a+212>>2];c=Q(j-s);q=N[a+632>>2];l=N[a+424>>2];d=Q(q-l);v=N[a+628>>2];w=N[a+420>>2];m=Q(v-w);f=N[b+4>>2];t=N[a+216>>2];e=Q(f-t);h=Q(Q(c*d)-Q(m*e));o=Q(h*h);n=N[a+636>>2];i=N[a+428>>2];h=Q(n-i);p=Q(e*h);e=N[b+8>>2];u=N[a+220>>2];g=Q(e-u);p=Q(p-Q(d*g));c=Q(Q(g*m)-Q(h*c));da=Q(o+Q(Q(p*p)+Q(c*c)));if((A|0)!=1){break e}j=Q(j-N[a+4>>2]);g=Q(-j);f=Q(f-N[a+8>>2]);p=Q(-f);e=Q(e-N[a+12>>2]);r=Q(-e);m=Q(0);break d}f:{g:{h:{i:{if(!A){j=N[a+428>>2];h=N[a+636>>2];m=Q(j-h);f=N[a+424>>2];d=N[a+632>>2];y=Q(f-d);e=N[a+420>>2];l=N[a+628>>2];B=Q(e-l);u=N[b+4>>2];H=Q(u-d);W=Q(-H);t=N[b>>2];z=Q(t-l);X=Q(-z);s=N[b+8>>2];I=Q(s-h);Y=Q(-I);E=Q(t-e);D=Q(-E);F=Q(s-j);V=Q(-F);G=Q(u-f);c=Q(-G);break i}t=N[b>>2];g=N[a+212>>2];L=Q(t-g);f=N[a+424>>2];d=N[a+632>>2];y=Q(f-d);e=N[a+420>>2];l=N[a+628>>2];B=Q(e-l);u=N[b+4>>2];p=N[a+216>>2];M=Q(u-p);c=Q(Q(L*y)-Q(B*M));i=Q(c*c);j=N[a+428>>2];h=N[a+636>>2];m=Q(j-h);s=N[b+8>>2];r=N[a+220>>2];O=Q(s-r);c=Q(Q(M*m)-Q(y*O));n=Q(c*c);c=Q(Q(O*B)-Q(m*L));n=Q(i+Q(n+Q(c*c)));E=Q(t-e);C=Q(p-d);c=Q(g-l);G=Q(u-f);i=Q(Q(E*C)-Q(c*G));q=Q(i*i);D=Q(r-h);F=Q(s-j);i=Q(Q(G*D)-Q(C*F));o=Q(i*i);i=Q(Q(F*c)-Q(D*E));i=Q(q+Q(o+Q(i*i)));n=i>2];v=Q(t-n);i=N[a+8>>2];w=Q(u-i);g=Q(Q(v*y)-Q(B*w));o=Q(g*g);q=N[a+12>>2];S=Q(s-q);g=Q(Q(w*m)-Q(y*S));m=Q(Q(S*B)-Q(m*v));m=Q(o+Q(Q(g*g)+Q(m*m)));o=Q(i-d);T=Q(n-l);g=Q(Q(E*o)+Q(T*c));p=Q(g*g);U=Q(q-h);g=Q(Q(G*U)+Q(o*V));r=Q(g*g);g=Q(Q(F*T)+Q(U*D));g=Q(p+Q(r+Q(g*g)));m=g>2];M=Q(u-p);_=Q(-M);g=N[a+212>>2];L=Q(t-g);$=Q(-L);r=N[a+220>>2];O=Q(s-r);aa=Q(-O);ba=Q(-w);ca=Q(-S);if(!(!x|k)){l=Q(q-r);o=Q(i-p);z=Q(n-g);d=Q(0);break f}D=Q(r-h);C=Q(p-d);c=Q(g-l);break g}_=Q(-M);$=Q(-L);aa=Q(-O);n=N[a+4>>2];T=Q(n-l);q=N[a+12>>2];U=Q(q-h);i=N[a+8>>2];o=Q(i-d);v=Q(t-n);Z=Q(-v);w=Q(u-i);ba=Q(-w);S=Q(s-q);ca=Q(-S);m=Q(0)}d=Q(Q(v*C)+Q(c*ba));h=Q(d*d);d=Q(Q(w*D)+Q(C*ca));c=Q(Q(S*c)+Q(D*Z));c=Q(h+Q(Q(d*d)+Q(c*c)));d=Q(Q(L*o)+Q(T*_));h=Q(d*d);d=Q(Q(M*U)+Q(o*aa));l=Q(d*d);d=Q(Q(O*T)+Q(U*$));d=Q(h+Q(l+Q(d*d)));c=c>d?c:d;o=Q(i-p);h=Q(z*o);z=Q(n-g);d=Q(h+Q(z*W));h=Q(d*d);l=Q(q-r);d=Q(Q(H*l)+Q(o*Y));y=Q(d*d);d=Q(Q(I*z)+Q(l*X));d=Q(h+Q(y+Q(d*d)));d=c>d?c:d;c=Q(0);if(k){break b}C=Q(q-j);y=Q(i-f);B=Q(n-e);G=Q(u-f);c=Q(-G);E=Q(t-e);D=Q(-E);F=Q(s-j);V=Q(-F)}f=Q(p-f);e=Q(g-e);h=Q(Q(v*f)+Q(e*ba));j=Q(r-j);f=Q(Q(w*j)+Q(f*ca));e=Q(Q(S*e)+Q(j*Z));e=Q(Q(h*h)+Q(Q(f*f)+Q(e*e)));f=Q(Q(L*y)+Q(B*_));h=Q(f*f);f=Q(Q(M*C)+Q(y*aa));g=Q(f*f);f=Q(Q(O*B)+Q(C*$));f=Q(h+Q(g+Q(f*f)));e=e>f?e:f;c=Q(Q(E*o)+Q(z*c));f=Q(c*c);c=Q(Q(G*l)+Q(o*V));h=Q(c*c);c=Q(Q(F*z)+Q(l*D));c=Q(f+Q(h+Q(c*c)));c=c>2]);f=Q(f-N[a+8>>2]);c=Q(Q(j*d)-Q(m*f));g=Q(c*c);e=Q(e-N[a+12>>2]);c=Q(Q(f*h)-Q(d*e));d=Q(c*c);c=Q(Q(e*m)-Q(h*j));m=Q(g+Q(d+Q(c*c)));u=N[a+220>>2];t=N[a+216>>2];s=N[a+212>>2];g=Q(-j);p=Q(-f);r=Q(-e);if(k){break d}d=Q(0);if(x){break c}}c=Q(q-t);d=Q(v-s);h=Q(Q(j*c)+Q(d*p));q=Q(h*h);h=Q(n-u);c=Q(Q(f*h)+Q(c*r));n=Q(c*c);c=Q(Q(e*d)+Q(h*g));d=Q(q+Q(n+Q(c*c)));c=Q(0);if(k){break b}}c=Q(l-t);h=Q(j*c);j=Q(w-s);l=Q(h+Q(j*p));h=f;f=Q(i-u);c=Q(Q(h*f)+Q(c*r));h=Q(c*c);c=Q(Q(e*j)+Q(f*g));c=Q(Q(l*l)+Q(h+Q(c*c)))}e=Q(R(da));k=e>Q(-0xde0b6b000000000);x=k?0:-1;f=Q(R(m));e=k?e:Q(-0xde0b6b000000000);k=f>e;x=k?1:x;j=Q(R(d));e=k?f:e;k=j>e;k=Q(R(c))>(k?j:e)?3:k?2:x;A=P(k,208)+a|0;x=J[A+120>>2];if(!x){break a}ea=J[8753];if(!ea){break a}ua[ea|0](x)|0;J[A+120>>2]=0;break a}J[a+844>>2]=k+1}x=a;a=(k|0)>0?k:0;Ja((x+P(a,208)|0)+4|0,b,208);return a}function Td(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=Q(0),i=Q(0),j=Q(0),k=Q(0),l=Q(0),m=Q(0),n=Q(0),o=Q(0),p=Q(0),q=Q(0),r=0,s=Q(0),t=Q(0),u=Q(0),v=Q(0),w=Q(0),x=Q(0),y=Q(0),z=Q(0),A=Q(0),B=Q(0),C=Q(0),D=Q(0),E=0,F=Q(0),G=Q(0),H=Q(0),I=Q(0),K=Q(0),L=Q(0),M=Q(0),O=Q(0),P=Q(0),R=Q(0),S=Q(0),T=Q(0),U=Q(0),V=Q(0),W=Q(0),X=Q(0),Z=Q(0),_=Q(0),$=Q(0),aa=Q(0),ba=Q(0),ca=Q(0),da=0,ea=Q(0),fa=0;g=sa-96|0;sa=g;Kb(J[a+4>>2]);V=N[d+40>>2];W=N[d+36>>2];X=N[d+24>>2];Z=N[d+20>>2];G=N[b+20>>2];H=N[b+36>>2];I=N[b+24>>2];y=N[b+52>>2];m=N[c+52>>2];z=N[d+52>>2];l=N[e+52>>2];K=N[b+40>>2];A=N[b+56>>2];h=N[c+56>>2];B=N[d+56>>2];i=N[e+56>>2];_=N[d+32>>2];$=N[d+16>>2];aa=N[d+8>>2];ba=N[d+4>>2];ca=N[d>>2];L=N[b>>2];M=N[b+16>>2];O=N[b+32>>2];P=N[b+4>>2];R=N[b+8>>2];C=N[b+48>>2];j=N[c+48>>2];D=N[d+48>>2];p=N[e+48>>2];r=J[a+8>>2];J[g+60>>2]=0;x=Q(Q(j-C)-Q(p-D));j=Q(-x);t=Q(Q(m-y)-Q(l-z));u=Q(Q(h-A)-Q(i-B));N[g+56>>2]=Q(Q(R*j)-Q(I*t))-Q(K*u);N[g+52>>2]=Q(Q(P*j)-Q(G*t))-Q(H*u);N[g+48>>2]=Q(Q(L*j)-Q(M*t))-Q(O*u);ua[J[J[r>>2]+64>>2]](g+80|0,r,g+48|0);h=N[b+52>>2];i=N[b+24>>2];p=N[b+20>>2];j=N[b+56>>2];m=N[b+40>>2];l=N[b+36>>2];k=N[b+16>>2];n=N[b+48>>2];s=N[b+8>>2];o=N[b>>2];q=N[b+4>>2];v=N[b+32>>2];J[g+76>>2]=0;S=j;j=N[g+88>>2];w=Q(m*j);m=N[g+80>>2];T=l;l=N[g+84>>2];v=Q(S+Q(w+Q(Q(v*m)+Q(T*l))));N[g+72>>2]=v;n=Q(n+Q(Q(j*s)+Q(Q(m*o)+Q(l*q))));N[g+64>>2]=n;h=Q(h+Q(Q(j*i)+Q(Q(m*k)+Q(l*p))));N[g+68>>2]=h;r=J[a+12>>2];j=N[d+20>>2];m=N[d+36>>2];l=N[d+24>>2];i=N[d+40>>2];p=N[d>>2];k=N[d+16>>2];s=N[d+32>>2];o=N[d+4>>2];q=N[d+8>>2];J[g+28>>2]=0;N[g+24>>2]=Q(i*u)+Q(Q(q*x)+Q(t*l));N[g+20>>2]=Q(m*u)+Q(Q(o*x)+Q(t*j));N[g+16>>2]=Q(s*u)+Q(Q(p*x)+Q(t*k));ua[J[J[r>>2]+64>>2]](g+32|0,r,g+16|0);p=N[d+56>>2];k=N[d+40>>2];s=N[d+36>>2];j=N[d+52>>2];m=N[d+24>>2];l=N[d+20>>2];o=N[d+32>>2];i=N[d+48>>2];q=N[d+8>>2];w=N[d>>2];U=N[d+4>>2];F=N[d+16>>2];J[g+60>>2]=0;J[g+92>>2]=0;S=j;j=N[g+40>>2];ea=Q(m*j);m=N[g+32>>2];T=l;l=N[g+36>>2];F=Q(S+Q(ea+Q(Q(F*m)+Q(T*l))));N[g+52>>2]=F;h=Q(h-F);N[g+84>>2]=h;i=Q(i+Q(Q(j*q)+Q(Q(m*w)+Q(l*U))));N[g+48>>2]=i;i=Q(n-i);N[g+80>>2]=i;j=Q(p+Q(Q(j*k)+Q(Q(m*o)+Q(l*s))));N[g+56>>2]=j;k=Q(v-j);N[g+88>>2]=k;s=Q(0);j=Q(0);m=Q(0);l=Q(0);p=Q(0);n=Q(0);a:{b:{if(!(Q(Q(k*k)+Q(Q(i*i)+Q(h*h)))>Q(9999999747378752e-20))){break b}r=32;while(1){if(!r){break b}E=J[a+8>>2];J[g+12>>2]=0;h=Q(-N[g+80>>2]);i=N[g+84>>2];k=N[g+88>>2];N[g+8>>2]=Q(Q(R*h)-Q(I*i))-Q(K*k);N[g+4>>2]=Q(Q(P*h)-Q(G*i))-Q(H*k);N[g>>2]=Q(Q(L*h)-Q(M*i))-Q(O*k);da=g+16|0;ua[J[J[E>>2]+64>>2]](da,E,g);J[g+76>>2]=0;h=N[g+24>>2];i=N[g+16>>2];k=N[g+20>>2];N[g+72>>2]=A+Q(Q(h*K)+Q(Q(i*O)+Q(H*k)));N[g+68>>2]=y+Q(Q(h*I)+Q(Q(i*M)+Q(G*k)));N[g+64>>2]=C+Q(Q(h*R)+Q(Q(i*L)+Q(P*k)));E=J[a+12>>2];J[g+12>>2]=0;h=N[g+88>>2];i=N[g+80>>2];k=N[g+84>>2];N[g+8>>2]=Q(V*h)+Q(Q(aa*i)+Q(X*k));N[g+4>>2]=Q(W*h)+Q(Q(ba*i)+Q(Z*k));N[g>>2]=Q(_*h)+Q(Q(ca*i)+Q($*k));ua[J[J[E>>2]+64>>2]](da,E,g);J[g+60>>2]=0;J[g+44>>2]=0;k=N[g+24>>2];o=N[g+16>>2];q=N[g+20>>2];h=Q(z+Q(Q(k*X)+Q(Q(o*$)+Q(Z*q))));N[g+52>>2]=h;v=Q(N[g+68>>2]-h);N[g+36>>2]=v;h=N[g+84>>2];i=Q(D+Q(Q(k*aa)+Q(Q(o*ca)+Q(ba*q))));N[g+48>>2]=i;w=Q(N[g+64>>2]-i);N[g+32>>2]=w;i=N[g+80>>2];k=Q(B+Q(Q(k*V)+Q(Q(o*_)+Q(W*q))));N[g+56>>2]=k;o=Q(N[g+72>>2]-k);N[g+40>>2]=o;if(n>Q(1)){break a}k=N[g+88>>2];o=Q(Q(k*o)+Q(Q(i*w)+Q(h*v)));if(o>Q(0)){j=Q(Q(k*u)+Q(Q(i*x)+Q(t*h)));if(j>=Q(-14210854715202004e-30)){break a}m=N[b+48>>2];l=N[c+48>>2];p=N[b+52>>2];y=N[c+52>>2];A=N[b+56>>2];C=N[c+56>>2];D=N[d+48>>2];q=N[e+48>>2];z=N[d+52>>2];w=N[e+52>>2];B=N[d+56>>2];U=N[e+56>>2];J[g+44>>2]=0;N[g+36>>2]=v;n=Q(n-Q(o/j));j=Q(Q(1)-n);B=Q(Q(B*j)+Q(n*U));z=Q(Q(j*z)+Q(n*w));D=Q(Q(j*D)+Q(n*q));A=Q(Q(j*A)+Q(n*C));y=Q(Q(j*p)+Q(n*y));C=Q(Q(j*m)+Q(n*l));p=N[g+92>>2];m=h;l=k;j=i}if(!Pd(J[a+4>>2],g+32|0)){Sd(J[a+4>>2],g+32|0,g- -64|0,g+48|0)}if(!Qd(J[a+4>>2],g+80|0)){break b}r=r-1|0;h=N[g+88>>2];i=Q(h*h);h=N[g+80>>2];k=Q(h*h);h=N[g+84>>2];if(Q(i+Q(k+Q(h*h)))>Q(9999999747378752e-20)){continue}break}}N[f+164>>2]=n;n=Q(0);i=Q(0);h=Q(0);k=Q(Q(l*l)+Q(Q(j*j)+Q(m*m)));if(k>=Q(14210854715202004e-30)){h=l;l=Q(Q(1)/Q(Y(k)));i=Q(h*l);n=Q(m*l);s=Q(j*l);h=p}N[f+132>>2]=s;N[f+144>>2]=h;N[f+140>>2]=i;N[f+136>>2]=n;if(Q(-N[f+172>>2])<=Q(Q(i*u)+Q(Q(s*x)+Q(t*n)))){break a}Od(J[a+4>>2],g+16|0,g);a=J[g+12>>2];J[f+156>>2]=J[g+8>>2];J[f+160>>2]=a;a=J[g+4>>2];J[f+148>>2]=J[g>>2];J[f+152>>2]=a;fa=1}sa=g+96|0;return fa|0}function gh(a,b){a=a|0;b=Q(b);var c=0,d=0,e=0,f=Q(0),g=0,h=Q(0),i=Q(0),j=0,k=Q(0),l=Q(0),m=0,n=Q(0),o=Q(0),p=Q(0),q=Q(0),r=0,s=Q(0),t=Q(0),u=Q(0),v=0,w=Q(0),x=Q(0),y=0,z=Q(0),A=0,B=Q(0),C=Q(0),D=Q(0),E=Q(0),F=Q(0),G=Q(0),H=Q(0),I=Q(0);y=sa-16|0;sa=y;ua[J[8262]](4190);j=J[a+248>>2];if((j|0)>0){A=J[a+256>>2];c=sa-304|0;sa=c;if((j|0)>0){while(1){d=J[(m<<2)+A>>2];J[d+268>>2]=1065353216;a:{b:{switch(J[d+220>>2]-2|0){case 0:case 3:break a;default:break b}}if(K[d+204|0]&3){break a}pb(d,b,c+240|0);c:{d:{if(!K[a+44|0]){break d}f=N[d+276>>2];f=Q(f*f);if(f==Q(0)){break d}h=Q(N[c+296>>2]-N[d+60>>2]);k=Q(h*h);h=Q(N[c+288>>2]-N[d+52>>2]);i=Q(h*h);h=Q(N[c+292>>2]-N[d+56>>2]);if(!(f>2]+4>>2]<=19){J[8932]=J[8932]+1;e=J[a+68>>2];e=ua[J[J[e>>2]+36>>2]](e)|0;r=J[a+24>>2];J[c+148>>2]=-1;J[c+152>>2]=0;J[c+140>>2]=1065353216;J[c+144>>2]=1;g=J[d+64>>2];J[c+164>>2]=J[d+60>>2];J[c+168>>2]=g;g=J[d+56>>2];J[c+156>>2]=J[d+52>>2];J[c+160>>2]=g;g=J[c+300>>2];J[c+180>>2]=J[c+296>>2];J[c+184>>2]=g;g=J[c+292>>2];J[c+172>>2]=J[c+288>>2];J[c+176>>2]=g;J[c+232>>2]=r;J[c+228>>2]=e;J[c+224>>2]=0;J[c+136>>2]=24500;J[c+220>>2]=d;f=N[d+272>>2];r=Sa(c+76|0);J[r>>2]=21396;J[c+104>>2]=1065353216;J[c+96>>2]=1065353216;J[c+100>>2]=1065353216;J[c+80>>2]=8;J[c+124>>2]=0;J[c+116>>2]=0;J[c+120>>2]=0;J[c+108>>2]=0;J[c+112>>2]=0;J[c+132>>2]=0;N[c+128>>2]=f;N[c+112>>2]=f;N[c+224>>2]=N[a+56>>2];e=J[d+188>>2];J[c+144>>2]=J[e+4>>2];J[c+148>>2]=J[e+8>>2];e=J[c+252>>2];J[c+16>>2]=J[c+248>>2];J[c+20>>2]=e;e=J[c+244>>2];J[c+8>>2]=J[c+240>>2];J[c+12>>2]=e;e=J[c+268>>2];J[c+32>>2]=J[c+264>>2];J[c+36>>2]=e;e=J[c+260>>2];J[c+24>>2]=J[c+256>>2];J[c+28>>2]=e;e=J[c+284>>2];J[c+48>>2]=J[c+280>>2];J[c+52>>2]=e;e=J[c+276>>2];J[c+40>>2]=J[c+272>>2];J[c+44>>2]=e;e=J[c+300>>2];J[c+64>>2]=J[c+296>>2];J[c+68>>2]=e;e=J[c+292>>2];J[c+56>>2]=J[c+288>>2];J[c+60>>2]=e;e=d+4|0;g=J[e+12>>2];J[c+16>>2]=J[e+8>>2];J[c+20>>2]=g;g=J[e+4>>2];J[c+8>>2]=J[e>>2];J[c+12>>2]=g;g=J[d+32>>2];J[c+32>>2]=J[d+28>>2];J[c+36>>2]=g;g=J[d+24>>2];J[c+24>>2]=J[d+20>>2];J[c+28>>2]=g;g=J[d+48>>2];J[c+48>>2]=J[d+44>>2];J[c+52>>2]=g;g=J[d+40>>2];J[c+40>>2]=J[d+36>>2];J[c+44>>2]=g;vb(a,r,e,c+8|0,c+136|0,Q(0));if(J[c+152>>2]){f=N[c+140>>2];if(f>2]=f;e=c+240|0;pb(d,Q(f*b),e);J[d+268>>2]=0;Fd(d,e);ua[J[8263]]()}m=m+1|0;if((j|0)!=(m|0)){continue}break}}sa=c+304|0}if(K[a+291|0]){ua[J[8262]](5549);c=J[a+324>>2];if((c|0)>0){while(1){j=J[J[a+332>>2]+(v<<2)>>2];if(J[j+844>>2]>0){c=J[j+840>>2];c=J[c+252>>2]<<30>>31&c;d=J[j+836>>2];d=J[d+252>>2]<<30>>31&d;m=0;while(1){b=Q(N[d+232>>2]*N[c+232>>2]);e:{if(!(b>Q(0))){break e}e=j+P(m,208)|0;f=N[e+136>>2];if(f==Q(0)){break e}s=N[e+44>>2];B=N[c+60>>2];t=N[e+40>>2];C=N[c+56>>2];u=N[e+36>>2];D=N[c+52>>2];h=Q(b*Q(f*Q(-N[e+76>>2])));i=Q(b*Q(f*Q(-N[e+72>>2])));f=Q(b*Q(f*Q(-N[e+68>>2])));b=N[d+404>>2];if(b!=Q(0)){n=N[e+56>>2];o=N[e+60>>2];p=N[e+52>>2];q=Q(f*N[d+408>>2]);N[d+372>>2]=Q(b*q)+N[d+372>>2];l=Q(i*N[d+412>>2]);N[d+376>>2]=Q(b*l)+N[d+376>>2];k=b;b=Q(h*N[d+416>>2]);N[d+380>>2]=Q(k*b)+N[d+380>>2];k=N[d+612>>2];w=N[d+364>>2];x=N[d+356>>2];E=N[d+360>>2];F=N[d+608>>2];G=N[d+348>>2];H=N[d+340>>2];I=N[d+344>>2];p=Q(p-N[d+52>>2]);z=Q(n-N[d+56>>2]);n=Q(Q(p*l)-Q(q*z));o=Q(o-N[d+60>>2]);l=Q(Q(z*b)-Q(l*o));b=Q(Q(o*q)-Q(b*p));N[d+388>>2]=Q(Q(Q(N[d+332>>2]*n)+Q(Q(N[d+324>>2]*l)+Q(b*N[d+328>>2])))*N[d+604>>2])+N[d+388>>2];N[d+392>>2]=Q(F*Q(Q(G*n)+Q(Q(H*l)+Q(b*I))))+N[d+392>>2];N[d+396>>2]=Q(k*Q(Q(w*n)+Q(Q(x*l)+Q(b*E))))+N[d+396>>2]}b=N[c+404>>2];if(b==Q(0)){break e}f=Q(N[c+408>>2]*Q(-f));N[c+372>>2]=Q(b*f)+N[c+372>>2];i=Q(N[c+412>>2]*Q(-i));N[c+376>>2]=Q(b*i)+N[c+376>>2];k=b;b=Q(N[c+416>>2]*Q(-h));N[c+380>>2]=Q(k*b)+N[c+380>>2];q=N[c+612>>2];l=N[c+364>>2];n=N[c+356>>2];o=N[c+360>>2];p=N[c+608>>2];k=N[c+348>>2];w=N[c+340>>2];x=N[c+344>>2];u=Q(u-D);t=Q(t-C);h=Q(Q(u*i)-Q(f*t));s=Q(s-B);i=Q(Q(t*b)-Q(i*s));b=Q(Q(s*f)-Q(b*u));N[c+388>>2]=Q(Q(Q(N[c+332>>2]*h)+Q(Q(N[c+324>>2]*i)+Q(b*N[c+328>>2])))*N[c+604>>2])+N[c+388>>2];N[c+392>>2]=Q(p*Q(Q(k*h)+Q(Q(w*i)+Q(b*x))))+N[c+392>>2];N[c+396>>2]=Q(q*Q(Q(l*h)+Q(Q(n*i)+Q(b*o))))+N[c+396>>2]}m=m+1|0;if((m|0)>2]){continue}break}c=J[a+324>>2]}v=v+1|0;if((v|0)<(c|0)){continue}break}}ua[J[8263]]()}ua[J[8263]]();sa=y+16|0}function El(a,b,c,d){a=a|0;b=b|0;c=c|0;d=Q(d);var e=0,f=Q(0),g=0,h=Q(0),i=0,j=Q(0),k=Q(0),l=Q(0),m=Q(0),n=0,o=0,p=Q(0),q=0,r=0,s=0,t=0,u=Q(0),v=Q(0),w=Q(0),x=Q(0),y=Q(0),z=0,A=Q(0),B=Q(0),C=Q(0),D=Q(0),E=Q(0),F=Q(0),G=Q(0),H=Q(0),I=Q(0),L=Q(0),M=0;e=sa-208|0;sa=e;a:{if(N[J[a+4>>2]+848>>2]>2];k=Q(Q(N[b+8>>2]*d)+p);v=N[c+4>>2];h=Q(Q(N[b+4>>2]*d)+v);w=N[c>>2];l=Q(Q(N[b>>2]*d)+w);r=J[a+8>>2];g=J[r+8>>2];q=J[a+4>>2];i=J[q+836>>2];s=(g|0)==(i|0);b:{if(!s){o=J[a+12>>2];i=J[o+8>>2];f=Q(k-N[i+60>>2]);m=Q(l-N[i+52>>2]);j=Q(h-N[i+56>>2]);x=Q(Q(N[i+44>>2]*f)+Q(Q(N[i+12>>2]*m)+Q(j*N[i+28>>2])));y=Q(Q(N[i+40>>2]*f)+Q(Q(N[i+8>>2]*m)+Q(j*N[i+24>>2])));f=Q(Q(N[i+36>>2]*f)+Q(Q(N[i+4>>2]*m)+Q(j*N[i+20>>2])));break b}f=Q(k-N[i+60>>2]);m=Q(l-N[i+52>>2]);j=Q(h-N[i+56>>2]);x=Q(Q(N[i+44>>2]*f)+Q(Q(N[i+12>>2]*m)+Q(j*N[i+28>>2])));y=Q(Q(N[i+40>>2]*f)+Q(Q(N[i+8>>2]*m)+Q(j*N[i+24>>2])));o=J[a+12>>2];g=J[o+8>>2];f=Q(Q(N[i+36>>2]*f)+Q(Q(N[i+4>>2]*m)+Q(j*N[i+20>>2])))}z=J[q+844>>2];A=N[g+20>>2];B=N[g+36>>2];C=N[g+40>>2];D=N[g+8>>2];E=N[g+24>>2];m=N[g+44>>2];j=N[g+60>>2];F=N[g+12>>2];G=N[g+52>>2];H=N[g+28>>2];I=N[g+56>>2];L=N[g+4>>2];J[e+28>>2]=0;u=m;m=Q(p-j);j=Q(w-G);p=Q(v-I);N[e+24>>2]=Q(u*m)+Q(Q(F*j)+Q(H*p));N[e+20>>2]=Q(C*m)+Q(Q(D*j)+Q(p*E));J[e+12>>2]=0;N[e+8>>2]=x;N[e+4>>2]=y;N[e>>2]=f;N[e+16>>2]=Q(B*m)+Q(Q(L*j)+Q(p*A));g=J[b+12>>2];J[e+72>>2]=J[b+8>>2];J[e+76>>2]=g;g=J[b>>2];b=J[b+4>>2];J[e+92>>2]=0;J[e+96>>2]=0;J[e+124>>2]=0;J[e+128>>2]=0;J[e+132>>2]=0;J[e+136>>2]=0;J[e+140>>2]=0;J[e+144>>2]=0;J[e+148>>2]=0;J[e+152>>2]=0;J[e+156>>2]=0;J[e+160>>2]=0;J[e+164>>2]=0;N[e+52>>2]=h;N[e+56>>2]=k;J[e+60>>2]=0;J[e+64>>2]=g;J[e+68>>2]=b;J[e+84>>2]=0;J[e+88>>2]=0;N[e+80>>2]=d;J[e+116>>2]=0;J[e+120>>2]=0;N[e+48>>2]=l;b=J[c+12>>2];J[e+40>>2]=J[c+8>>2];J[e+44>>2]=b;b=J[c+4>>2];J[e+32>>2]=J[c>>2];J[e+36>>2]=b;b=J[r>>2];b=b?b:r;c=J[o>>2];g=c?c:o;c:{if(!s){n=a+24|0;c=a+28|0;t=a+20|0;i=b;b=a+16|0;break c}n=a+28|0;c=a+24|0;t=a+16|0;i=g;g=b;b=a+20|0}g=J[g+4>>2];t=J[t>>2];M=J[b>>2];b=J[c>>2];c=J[n>>2];n=J[i+4>>2];J[e+204>>2]=n;J[e+112>>2]=c;J[e+108>>2]=b;J[e+104>>2]=M;J[e+100>>2]=t;J[e+200>>2]=g;if(J[g+4>>2]==31){g=J[(J[g+32>>2]+P(b,80)|0)+64>>2];J[e+200>>2]=g}if(J[n+4>>2]==31){n=J[(J[n+32>>2]+P(c,80)|0)+64>>2];J[e+204>>2]=n}i=a+4|0;d:{e:{b=J[g+16>>2];if(!b){break e}c=J[n+16>>2];if(!c){break e}h=N[b+12>>2];l=N[c+12>>2];f=N[b+8>>2];m=N[c+8>>2];d=N[c+4>>2];k=N[b+4>>2];N[e+96>>2]=N[b>>2]*N[c>>2];j=Q(k*d);j=j>2]=j>Q(10)?Q(10):j;f=Q(Q(f*d)+Q(k*m));f=f>2]=f>Q(10)?Q(10):f;d=Q(Q(h*d)+Q(k*l));d=dQ(10)?Q(10):d;break d}b=J[r+8>>2];d=N[b+228>>2];c=J[o+8>>2];k=N[c+228>>2];h=Q(d*k);h=h>2]=h>Q(10)?Q(10):h;N[e+96>>2]=N[b+232>>2]*N[c+232>>2];h=Q(Q(k*N[b+236>>2])+Q(d*N[c+236>>2]));h=h>2]=h>Q(10)?Q(10):h;d=Q(Q(k*N[b+240>>2])+Q(d*N[c+240>>2]));d=dQ(10)?Q(10):d}N[e+92>>2]=d;d=N[e+72>>2];f:{if(Q(R(d))>Q(.7071067690849304)){h=N[e+68>>2];l=Q(Q(h*h)+Q(d*d));k=Q(Q(1)/Q(Y(l)));l=Q(l*k);f=Q(k*Q(-d));j=N[e+64>>2];m=Q(f*j);d=Q(h*k);h=Q(d*Q(-j));j=Q(0);break f}l=N[e+64>>2];h=N[e+68>>2];f=Q(Q(l*l)+Q(h*h));k=Q(Q(1)/Q(Y(f)));m=Q(f*k);j=Q(k*Q(-h));h=Q(d*j);f=Q(l*k);l=Q(f*Q(-d));d=Q(0)}N[e+192>>2]=m;N[e+188>>2]=h;N[e+172>>2]=f;N[e+184>>2]=l;N[e+176>>2]=d;N[e+168>>2]=j;g=J[i>>2];o=J[q+844>>2];g:{if((o|0)<=0){b=-1;break g}k=N[e+8>>2];h=N[e+4>>2];l=N[e>>2];d=N[q+848>>2];d=Q(d*d);c=0;b=-1;while(1){n=P(c,208)+q|0;f=Q(N[n+12>>2]-k);m=Q(f*f);f=Q(N[n+4>>2]-l);u=Q(f*f);f=Q(N[n+8>>2]-h);f=Q(m+Q(u+Q(f*f)));n=f=0){b=g+P(n,208)|0;d=N[b+144>>2];k=N[b+140>>2];h=N[b+136>>2];c=J[b+168>>2];i:{if(K[e+128|0]&16){l=Q(Q(N[b+88>>2]*h)+Q(0));if(!(Q(Q(k*k)+Q(d*d))>Q(l*l))){break i}}g=J[b+120>>2];Ja(b+4|0,e,208);J[b+120>>2]=g;N[b+136>>2]=h;N[b+140>>2]=k;N[b+144>>2]=d}J[b+168>>2]=c;break h}n=rc(g,e)}c=J[8469];j:{if(!c){break j}b=J[a+12>>2];a=J[a+8>>2];if(!(K[J[a+8>>2]+204|0]&8|K[J[b+8>>2]+204|0]&8)){break j}ua[c|0]((J[i>>2]+P(n,208)|0)+4|0,s?a:b,J[e+100>>2],J[e+108>>2],s?b:a,J[e+104>>2],J[e+112>>2])|0}if(z){break a}a=J[8755];if(!a){break a}ua[a|0](i)}sa=e+208|0}function yi(a,b,c){a=a|0;b=b|0;c=c|0;var d=Q(0);Gb(a,b,c);N[b+52>>2]=N[a+48>>2];N[b+56>>2]=N[a+52>>2];N[b+60>>2]=N[a+56>>2];N[b- -64>>2]=N[a+60>>2];N[b+68>>2]=N[a- -64>>2];N[b+72>>2]=N[a+68>>2];N[b+76>>2]=N[a+72>>2];N[b+80>>2]=N[a+76>>2];N[b+84>>2]=N[a+80>>2];N[b+88>>2]=N[a+84>>2];N[b+92>>2]=N[a+88>>2];N[b+96>>2]=N[a+92>>2];N[b+100>>2]=N[a+96>>2];N[b+104>>2]=N[a+100>>2];N[b+108>>2]=N[a+104>>2];N[b+112>>2]=N[a+108>>2];N[b+116>>2]=N[a+112>>2];N[b+120>>2]=N[a+116>>2];N[b+124>>2]=N[a+120>>2];N[b+128>>2]=N[a+124>>2];N[b+132>>2]=N[a+128>>2];N[b+136>>2]=N[a+132>>2];N[b+140>>2]=N[a+136>>2];N[b+144>>2]=N[a+140>>2];N[b+148>>2]=N[a+144>>2];N[b+152>>2]=N[a+148>>2];N[b+156>>2]=N[a+152>>2];N[b+160>>2]=N[a+156>>2];N[b+164>>2]=N[a+160>>2];N[b+168>>2]=N[a+164>>2];N[b+172>>2]=N[a+168>>2];N[b+176>>2]=N[a+172>>2];N[b+428>>2]=N[a+968>>2];N[b+412>>2]=N[a+972>>2];N[b+444>>2]=N[a+976>>2];N[b+460>>2]=N[a+980>>2];N[b+476>>2]=N[a+984>>2];N[b+492>>2]=N[a+988>>2];N[b+508>>2]=N[a+992>>2];N[b+524>>2]=N[a+1e3>>2];N[b+540>>2]=N[a+1004>>2];N[b+556>>2]=N[a+1012>>2];N[b+572>>2]=N[a+1020>>2];N[b+588>>2]=N[a+1028>>2];N[b+604>>2]=N[a+1036>>2];N[b+432>>2]=N[a+1056>>2];N[b+416>>2]=N[a+1060>>2];N[b+448>>2]=N[a+1064>>2];N[b+464>>2]=N[a+1068>>2];N[b+480>>2]=N[a+1072>>2];N[b+496>>2]=N[a+1076>>2];N[b+512>>2]=N[a+1080>>2];N[b+528>>2]=N[a+1088>>2];N[b+544>>2]=N[a+1092>>2];N[b+560>>2]=N[a+1100>>2];N[b+576>>2]=N[a+1108>>2];N[b+592>>2]=N[a+1116>>2];N[b+608>>2]=N[a+1124>>2];N[b+436>>2]=N[a+1144>>2];N[b+420>>2]=N[a+1148>>2];N[b+452>>2]=N[a+1152>>2];N[b+468>>2]=N[a+1156>>2];N[b+484>>2]=N[a+1160>>2];N[b+500>>2]=N[a+1164>>2];N[b+516>>2]=N[a+1168>>2];N[b+532>>2]=N[a+1176>>2];N[b+548>>2]=N[a+1180>>2];N[b+564>>2]=N[a+1188>>2];N[b+580>>2]=N[a+1196>>2];N[b+596>>2]=N[a+1204>>2];d=N[a+1212>>2];J[b+440>>2]=0;N[b+612>>2]=d;J[b+616>>2]=0;J[b+600>>2]=0;J[b+584>>2]=0;J[b+568>>2]=0;J[b+552>>2]=0;J[b+536>>2]=0;J[b+520>>2]=0;J[b+504>>2]=0;J[b+488>>2]=0;J[b+472>>2]=0;J[b+456>>2]=0;J[b+424>>2]=0;H[b+620|0]=K[a+996|0];H[b+624|0]=K[a+1008|0];H[b+628|0]=K[a+1016|0];H[b+632|0]=K[a+1024|0];H[b+636|0]=K[a+1032|0];H[b+621|0]=K[a+1084|0];H[b+625|0]=K[a+1096|0];H[b+629|0]=K[a+1104|0];H[b+633|0]=K[a+1112|0];H[b+637|0]=K[a+1120|0];H[b+622|0]=K[a+1172|0];H[b+626|0]=K[a+1184|0];H[b+630|0]=K[a+1192|0];H[b+634|0]=K[a+1200|0];c=K[a+1208|0];H[b+639|0]=0;H[b+635|0]=0;H[b+631|0]=0;H[b+627|0]=0;H[b+623|0]=0;H[b+638|0]=c;N[b+196>>2]=N[a+680>>2];N[b+200>>2]=N[a+684>>2];N[b+204>>2]=N[a+688>>2];N[b+208>>2]=N[a+692>>2];N[b+180>>2]=N[a+696>>2];N[b+184>>2]=N[a+700>>2];N[b+188>>2]=N[a+704>>2];N[b+192>>2]=N[a+708>>2];N[b+212>>2]=N[a+712>>2];N[b+216>>2]=N[a+716>>2];N[b+220>>2]=N[a+720>>2];N[b+224>>2]=N[a+724>>2];N[b+228>>2]=N[a+728>>2];N[b+232>>2]=N[a+732>>2];N[b+236>>2]=N[a+736>>2];N[b+240>>2]=N[a+740>>2];N[b+244>>2]=N[a+744>>2];N[b+248>>2]=N[a+748>>2];N[b+252>>2]=N[a+752>>2];N[b+256>>2]=N[a+756>>2];N[b+260>>2]=N[a+760>>2];N[b+264>>2]=N[a+764>>2];N[b+268>>2]=N[a+768>>2];N[b+272>>2]=N[a+772>>2];N[b+276>>2]=N[a+776>>2];N[b+280>>2]=N[a+780>>2];N[b+284>>2]=N[a+784>>2];N[b+288>>2]=N[a+788>>2];N[b+292>>2]=N[a+876>>2];N[b+296>>2]=N[a+880>>2];N[b+300>>2]=N[a+884>>2];N[b+304>>2]=N[a+888>>2];N[b+308>>2]=N[a+892>>2];N[b+312>>2]=N[a+896>>2];N[b+316>>2]=N[a+900>>2];N[b+320>>2]=N[a+904>>2];N[b+324>>2]=N[a+804>>2];N[b+328>>2]=N[a+808>>2];N[b+332>>2]=N[a+812>>2];N[b+336>>2]=N[a+816>>2];N[b+340>>2]=N[a+820>>2];N[b+344>>2]=N[a+824>>2];N[b+348>>2]=N[a+828>>2];N[b+352>>2]=N[a+832>>2];N[b+356>>2]=N[a+840>>2];N[b+360>>2]=N[a+844>>2];N[b+364>>2]=N[a+848>>2];N[b+368>>2]=N[a+852>>2];N[b+372>>2]=N[a+860>>2];N[b+376>>2]=N[a+864>>2];N[b+380>>2]=N[a+868>>2];N[b+384>>2]=N[a+872>>2];H[b+388|0]=K[a+792|0];H[b+392|0]=K[a+795|0];H[b+396|0]=K[a+798|0];H[b+400|0]=K[a+836|0];H[b+404|0]=K[a+856|0];H[b+389|0]=K[a+793|0];H[b+393|0]=K[a+796|0];H[b+397|0]=K[a+799|0];H[b+401|0]=K[a+837|0];H[b+405|0]=K[a+857|0];H[b+390|0]=K[a+794|0];H[b+394|0]=K[a+797|0];H[b+398|0]=K[a+800|0];H[b+402|0]=K[a+838|0];c=K[a+858|0];H[b+407|0]=0;H[b+403|0]=0;H[b+399|0]=0;H[b+395|0]=0;H[b+391|0]=0;H[b+406|0]=c;a=J[a+1232>>2];J[b+408>>2]=0;J[b+640>>2]=a;return 8485}function xo(a,b,c,d,e,f){a=a|0;b=Q(b);c=Q(c);d=d|0;e=e|0;f=f|0;var g=0,h=Q(0),i=Q(0),j=Q(0),k=Q(0),l=Q(0),m=Q(0),n=Q(0),o=Q(0),p=Q(0),q=Q(0),r=Q(0),s=0,t=Q(0),u=Q(0),v=Q(0),w=0,x=Q(0),y=Q(0),z=Q(0),A=Q(0),B=Q(0),C=Q(0),D=0,E=0,F=0,G=Q(0),H=Q(0),I=Q(0),K=0,L=Q(0);g=sa-144|0;sa=g;t=N[e+56>>2];u=N[e+52>>2];v=N[e+48>>2];J[g+136>>2]=0;J[g+140>>2]=0;J[g+128>>2]=0;J[g+132>>2]=0;s=d<<2;c=Q(c*Q(.5));N[s+(g+128|0)>>2]=c;J[g+120>>2]=0;J[g+124>>2]=0;J[g+112>>2]=0;J[g+116>>2]=0;F=(d+1|0)%3|0;w=F<<2;N[w+(g+112|0)>>2]=b;J[g+104>>2]=0;J[g+108>>2]=0;J[g+96>>2]=0;J[g+100>>2]=0;D=(d+2|0)%3<<2;N[D+(g+96|0)>>2]=b;J[g+88>>2]=0;J[g+92>>2]=0;J[g+80>>2]=0;J[g+84>>2]=0;E=s;s=g+80|0;N[E+s>>2]=-c;D=s+D|0;w=s+w|0;c=N[g+136>>2];k=N[g+132>>2];l=N[g+128>>2];s=0;while(1){m=Q(Q(s|0)*Q(.01745329238474369));K=w,L=Q(Na(m)*b),N[K>>2]=L;K=D,L=Q(Ma(m)*b),N[K>>2]=L;m=N[e+8>>2];n=N[e>>2];o=N[e+4>>2];p=N[e+24>>2];q=N[e+16>>2];r=N[e+20>>2];h=N[e+40>>2];i=N[e+32>>2];j=N[e+36>>2];J[g+76>>2]=0;N[g+72>>2]=t+Q(Q(h*c)+Q(Q(i*l)+Q(k*j)));N[g+68>>2]=u+Q(Q(p*c)+Q(Q(q*l)+Q(k*r)));N[g+64>>2]=v+Q(Q(m*c)+Q(Q(n*l)+Q(o*k)));J[g+60>>2]=0;x=h;h=N[g+88>>2];y=i;i=N[g+80>>2];z=j;j=N[g+84>>2];N[g+56>>2]=t+Q(Q(x*h)+Q(Q(y*i)+Q(z*j)));N[g+52>>2]=u+Q(Q(p*h)+Q(Q(q*i)+Q(r*j)));N[g+48>>2]=v+Q(Q(m*h)+Q(Q(n*i)+Q(o*j)));ua[J[J[a>>2]+16>>2]](a,g- -64|0,g+48|0,f);E=s>>>0<330;s=s+30|0;if(E){continue}break}m=N[e+8>>2];n=N[e>>2];o=N[e+4>>2];p=N[e+24>>2];q=N[e+16>>2];r=N[e+20>>2];h=N[e+40>>2];i=N[e+32>>2];j=N[e+36>>2];J[g+76>>2]=0;N[g+72>>2]=t+Q(Q(h*c)+Q(Q(i*l)+Q(k*j)));N[g+68>>2]=u+Q(Q(p*c)+Q(Q(q*l)+Q(k*r)));N[g+64>>2]=v+Q(Q(m*c)+Q(Q(n*l)+Q(o*k)));J[g+60>>2]=0;x=h;A=N[g+120>>2];h=Q(A-c);y=i;B=N[g+112>>2];i=Q(B-l);z=j;C=N[g+116>>2];j=Q(C-k);N[g+56>>2]=t+Q(Q(x*h)+Q(Q(y*i)+Q(z*j)));N[g+52>>2]=u+Q(Q(p*h)+Q(Q(q*i)+Q(r*j)));N[g+48>>2]=v+Q(Q(m*h)+Q(Q(n*i)+Q(o*j)));s=g- -64|0;w=g+48|0;ua[J[J[a>>2]+16>>2]](a,s,w,f);m=N[e+8>>2];n=N[e>>2];o=N[e+4>>2];p=N[e+24>>2];q=N[e+16>>2];r=N[e+20>>2];h=N[e+40>>2];i=N[e+32>>2];j=N[e+36>>2];J[g+76>>2]=0;N[g+72>>2]=t+Q(Q(h*c)+Q(Q(i*l)+Q(k*j)));N[g+68>>2]=u+Q(Q(p*c)+Q(Q(q*l)+Q(k*r)));N[g+64>>2]=v+Q(Q(m*c)+Q(Q(n*l)+Q(k*o)));J[g+60>>2]=0;x=h;G=Q(-c);h=Q(G-A);y=i;A=Q(-l);i=Q(A-B);z=j;B=Q(-k);j=Q(B-C);N[g+56>>2]=t+Q(Q(x*h)+Q(Q(y*i)+Q(z*j)));N[g+52>>2]=u+Q(Q(p*h)+Q(Q(q*i)+Q(j*r)));N[g+48>>2]=v+Q(Q(m*h)+Q(Q(n*i)+Q(j*o)));ua[J[J[a>>2]+16>>2]](a,s,w,f);m=N[e+8>>2];n=N[e>>2];o=N[e+4>>2];p=N[e+24>>2];q=N[e+16>>2];r=N[e+20>>2];h=N[e+40>>2];i=N[e+32>>2];j=N[e+36>>2];J[g+76>>2]=0;N[g+72>>2]=t+Q(Q(h*c)+Q(Q(i*l)+Q(k*j)));N[g+68>>2]=u+Q(Q(p*c)+Q(Q(q*l)+Q(k*r)));N[g+64>>2]=v+Q(Q(m*c)+Q(Q(n*l)+Q(k*o)));J[g+60>>2]=0;x=h;C=N[g+104>>2];h=Q(C-c);y=i;H=N[g+96>>2];i=Q(H-l);z=j;I=N[g+100>>2];j=Q(I-k);N[g+56>>2]=t+Q(Q(x*h)+Q(Q(y*i)+Q(z*j)));N[g+52>>2]=u+Q(Q(p*h)+Q(Q(q*i)+Q(r*j)));N[g+48>>2]=v+Q(Q(m*h)+Q(Q(n*i)+Q(o*j)));ua[J[J[a>>2]+16>>2]](a,s,w,f);m=N[e+8>>2];n=N[e>>2];o=N[e+4>>2];p=N[e+24>>2];q=N[e+16>>2];r=N[e+20>>2];h=N[e+40>>2];i=N[e+32>>2];j=N[e+36>>2];J[g+76>>2]=0;N[g+72>>2]=t+Q(Q(h*c)+Q(Q(i*l)+Q(k*j)));N[g+68>>2]=u+Q(Q(p*c)+Q(Q(q*l)+Q(k*r)));N[g+64>>2]=v+Q(Q(m*c)+Q(Q(n*l)+Q(k*o)));J[g+60>>2]=0;x=h;h=Q(G-C);y=i;i=Q(A-H);z=j;j=Q(B-I);N[g+56>>2]=t+Q(Q(x*h)+Q(Q(y*i)+Q(z*j)));N[g+52>>2]=u+Q(Q(p*h)+Q(Q(q*i)+Q(j*r)));N[g+48>>2]=v+Q(Q(m*h)+Q(Q(n*i)+Q(j*o)));ua[J[J[a>>2]+16>>2]](a,s,w,f);J[g+72>>2]=0;J[g+76>>2]=0;J[g+64>>2]=0;J[g+68>>2]=0;J[s+(d<<2)>>2]=1065353216;J[g+56>>2]=0;J[g+60>>2]=0;J[g+48>>2]=0;J[g+52>>2]=0;J[w+(F<<2)>>2]=1065353216;m=N[e+8>>2];n=N[e>>2];o=N[e+4>>2];p=N[e+24>>2];q=N[e+16>>2];r=N[e+20>>2];h=N[e+40>>2];i=N[e+32>>2];j=N[e+36>>2];J[g+44>>2]=0;N[g+40>>2]=t-Q(Q(h*c)+Q(Q(i*l)+Q(k*j)));N[g+36>>2]=u-Q(Q(p*c)+Q(Q(q*l)+Q(k*r)));N[g+32>>2]=v-Q(Q(m*c)+Q(Q(n*l)+Q(k*o)));J[g+28>>2]=0;c=N[g+72>>2];k=N[g+64>>2];l=N[g+68>>2];N[g+24>>2]=Q(h*c)+Q(Q(i*k)+Q(j*l));N[g+20>>2]=Q(p*c)+Q(Q(q*k)+Q(r*l));N[g+16>>2]=Q(m*c)+Q(Q(n*k)+Q(o*l));J[g+12>>2]=0;c=N[g+56>>2];k=N[g+48>>2];l=N[g+52>>2];N[g+8>>2]=Q(h*c)+Q(Q(i*k)+Q(j*l));N[g+4>>2]=Q(p*c)+Q(Q(q*k)+Q(r*l));N[g>>2]=Q(m*c)+Q(Q(n*k)+Q(o*l));ua[J[J[a>>2]+68>>2]](a,g+32|0,g+16|0,g,b,b,Q(0),Q(6.2831854820251465),f,0,Q(10));sa=g+144|0}function xc(a,b,c){var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=Q(0),l=0,m=0,n=Q(0),o=Q(0),p=Q(0),q=Q(0),r=Q(0),s=Q(0);a:{b:{if(K[a+165|0]){d=J[a+88>>2];if(!(!c|(d|0)<=0)){e=J[a+96>>2];n=N[a+168>>2];o=N[b+8>>2];p=N[b+4>>2];q=N[b>>2];c=0;while(1){f=e+(c<<4)|0;k=Q(N[f+8>>2]-o);r=Q(k*k);k=Q(N[f>>2]-q);s=Q(k*k);k=Q(N[f+4>>2]-p);if(n>=Q(r+Q(s+Q(k*k)))){break b}c=c+1|0;if((d|0)!=(c|0)){continue}break}}c=J[a+32>>2];J[c+12>>2]=J[c+12>>2]+1;c:{if(J[a+92>>2]!=(d|0)){break c}h=d?d<<1:1;if((h|0)<=(d|0)){break c}if(h){J[8456]=J[8456]+1;g=ua[J[8258]](h<<4,16)|0;d=J[a+88>>2]}d:{if((d|0)<=0){break d}i=d&1;c=0;if((d|0)!=1){l=d&-2;d=0;while(1){j=c<<4;f=j+g|0;m=j+J[a+96>>2]|0;e=J[m+4>>2];J[f>>2]=J[m>>2];J[f+4>>2]=e;e=J[m+12>>2];J[f+8>>2]=J[m+8>>2];J[f+12>>2]=e;e=j|16;f=e+g|0;j=e+J[a+96>>2]|0;e=J[j+4>>2];J[f>>2]=J[j>>2];J[f+4>>2]=e;e=J[j+12>>2];J[f+8>>2]=J[j+8>>2];J[f+12>>2]=e;c=c+2|0;d=d+2|0;if((l|0)!=(d|0)){continue}break}}if(!i){break d}c=c<<4;f=c+g|0;e=c+J[a+96>>2]|0;c=J[e+4>>2];J[f>>2]=J[e>>2];J[f+4>>2]=c;c=J[e+12>>2];J[f+8>>2]=J[e+8>>2];J[f+12>>2]=c}c=J[a+96>>2];if(!(c?!c|!K[a+100|0]:1)){J[8457]=J[8457]+1;ua[J[8259]](c)}J[a+96>>2]=g;H[a+100|0]=1;J[a+92>>2]=h;d=J[a+88>>2]}c=J[b+4>>2];e=J[a+96>>2]+(d<<4)|0;J[e>>2]=J[b>>2];J[e+4>>2]=c;c=J[b+12>>2];J[e+8>>2]=J[b+8>>2];J[e+12>>2]=c;b=J[a+88>>2];J[a+88>>2]=b+1;J[J[a+32>>2]+16>>2]=J[a+96>>2];return b}d=J[a+108>>2];if(!(!c|(d|0)<=0)){e=J[a+116>>2];n=N[a+168>>2];o=N[b+8>>2];p=N[b+4>>2];q=N[b>>2];c=0;while(1){f=e+(c<<2)|0;k=Q(N[f+8>>2]-o);r=Q(k*k);k=Q(N[f>>2]-q);s=Q(k*k);k=Q(N[f+4>>2]-p);if(n>=Q(r+Q(s+Q(k*k)))){break a}c=c+3|0;if((d|0)>(c|0)){continue}break}}e=J[a+112>>2];e:{if((e|0)!=(d|0)){break e}e=d?d<<1:1;if((e|0)<=(d|0)){e=d;break e}if(e){J[8456]=J[8456]+1;h=ua[J[8258]](e<<2,16)|0;d=J[a+108>>2]}i=J[a+116>>2];f:{g:{if((d|0)>0){c=0;if(d>>>0>=4){g=d&-4;while(1){l=c<<2;N[l+h>>2]=N[i+l>>2];f=l|4;N[f+h>>2]=N[f+i>>2];f=l|8;N[f+h>>2]=N[f+i>>2];f=l|12;N[f+h>>2]=N[f+i>>2];c=c+4|0;j=j+4|0;if((g|0)!=(j|0)){continue}break}}g=d&3;if(g){while(1){f=c<<2;N[f+h>>2]=N[f+i>>2];c=c+1|0;m=m+1|0;if((g|0)!=(m|0)){continue}break}}if(K[a+120|0]){break g}break f}if(!i|!K[a+120|0]){break f}}if(i){J[8457]=J[8457]+1;ua[J[8259]](i)}d=J[a+108>>2]}J[a+116>>2]=h;J[a+112>>2]=e;H[a+120|0]=1}g=J[a+116>>2];N[g+(d<<2)>>2]=N[b>>2];d=d+1|0;J[a+108>>2]=d;h:{if((d|0)!=(e|0)){f=e;c=g;e=d;break h}f=e?e<<1:1;if((e|0)>=(f|0)){f=e;c=g;break h}i:{if(!f){c=0;break i}J[8456]=J[8456]+1;c=ua[J[8258]](f<<2,16)|0;g=J[a+116>>2];e=J[a+108>>2]}j:{k:{if((e|0)>0){m=0;h=0;if(e>>>0>=4){l=e&-4;j=0;while(1){i=h<<2;N[i+c>>2]=N[g+i>>2];d=i|4;N[d+c>>2]=N[d+g>>2];d=i|8;N[d+c>>2]=N[d+g>>2];d=i|12;N[d+c>>2]=N[d+g>>2];h=h+4|0;j=j+4|0;if((l|0)!=(j|0)){continue}break}}l=e&3;if(l){while(1){d=h<<2;N[d+c>>2]=N[d+g>>2];h=h+1|0;m=m+1|0;if((l|0)!=(m|0)){continue}break}}if(K[a+120|0]){break k}break j}if(!g|!K[a+120|0]){break j}}if(g){J[8457]=J[8457]+1;ua[J[8259]](g)}e=J[a+108>>2]}J[a+116>>2]=c;J[a+112>>2]=f;H[a+120|0]=1}N[(e<<2)+c>>2]=N[b+4>>2];e=e+1|0;J[a+108>>2]=e;l:{if((e|0)!=(f|0)){d=c;f=e;break l}i=f?f<<1:1;if((i|0)<=(f|0)){d=c;break l}m:{if(!i){d=0;break m}J[8456]=J[8456]+1;d=ua[J[8258]](i<<2,16)|0;c=J[a+116>>2];f=J[a+108>>2]}n:{o:{if((f|0)>0){e=0;h=0;if(f>>>0>=4){l=f&-4;m=0;while(1){j=h<<2;N[j+d>>2]=N[c+j>>2];g=j|4;N[g+d>>2]=N[c+g>>2];g=j|8;N[g+d>>2]=N[c+g>>2];g=j|12;N[g+d>>2]=N[c+g>>2];h=h+4|0;m=m+4|0;if((l|0)!=(m|0)){continue}break}}l=f&3;if(l){while(1){g=h<<2;N[g+d>>2]=N[c+g>>2];h=h+1|0;e=e+1|0;if((l|0)!=(e|0)){continue}break}}if(K[a+120|0]){break o}break n}if(!c|!K[a+120|0]){break n}}if(c){J[8457]=J[8457]+1;ua[J[8259]](c)}f=J[a+108>>2]}J[a+116>>2]=d;J[a+112>>2]=i;H[a+120|0]=1}N[(f<<2)+d>>2]=N[b+8>>2];b=f+1|0;J[a+108>>2]=b;a=J[a+32>>2];J[a+16>>2]=d;J[a+12>>2]=J[a+12>>2]+1;c=((b|0)/3|0)-1|0}return c}return(c>>>0)/3|0}function aj(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=Q(0),j=Q(0),k=Q(0),l=Q(0),m=Q(0),n=Q(0),o=0,p=0,q=0,r=0,s=0;c=sa-80|0;sa=c;s=ua[J[J[a>>2]+28>>2]](a)|0;if((s|0)>0){i=N[a+12>>2];j=N[a+8>>2];k=N[a+4>>2];while(1){ua[J[J[a>>2]+16>>2]](a,c+76|0,c+52|0,c- -64|0,c+56|0,c+72|0,c+68|0,c+48|0,c+60|0,r);a:{b:{switch(J[c+64>>2]){case 0:c:{switch(J[c+60>>2]-2|0){case 0:d=0;if(J[c+48>>2]<=0){break a}while(1){g=J[c+76>>2];h=J[c+56>>2];e=J[c+72>>2]+P(J[c+68>>2],d)|0;f=g+P(h,J[e>>2])|0;l=N[f>>2];m=N[f+4>>2];n=N[f+8>>2];J[c+12>>2]=0;N[c+8>>2]=i*n;N[c+4>>2]=j*m;N[c>>2]=k*l;f=g+P(h,J[e+4>>2])|0;l=N[f>>2];m=N[f+4>>2];n=N[f+8>>2];J[c+28>>2]=0;N[c+24>>2]=i*n;N[c+20>>2]=j*m;N[c+16>>2]=k*l;e=g+P(h,J[e+8>>2])|0;l=N[e>>2];m=N[e+4>>2];n=N[e+8>>2];J[c+44>>2]=0;N[c+40>>2]=i*n;N[c+36>>2]=j*m;N[c+32>>2]=k*l;ua[J[J[b>>2]+8>>2]](b,c,r,d);d=d+1|0;if((d|0)>2]){continue}break};break a;case 1:d=0;if(J[c+48>>2]<=0){break a}while(1){g=J[c+76>>2];h=J[c+56>>2];e=J[c+72>>2]+P(J[c+68>>2],d)|0;f=g+P(h,L[e>>1])|0;l=N[f>>2];m=N[f+4>>2];n=N[f+8>>2];J[c+12>>2]=0;N[c+8>>2]=i*n;N[c+4>>2]=j*m;N[c>>2]=k*l;f=g+P(h,L[e+2>>1])|0;l=N[f>>2];m=N[f+4>>2];n=N[f+8>>2];J[c+28>>2]=0;N[c+24>>2]=i*n;N[c+20>>2]=j*m;N[c+16>>2]=k*l;e=g+P(h,L[e+4>>1])|0;l=N[e>>2];m=N[e+4>>2];n=N[e+8>>2];J[c+44>>2]=0;N[c+40>>2]=i*n;N[c+36>>2]=j*m;N[c+32>>2]=k*l;ua[J[J[b>>2]+8>>2]](b,c,r,d);d=d+1|0;if((d|0)>2]){continue}break};break a;case 3:break c;default:break a}}d=0;if(J[c+48>>2]<=0){break a}while(1){g=J[c+76>>2];h=J[c+56>>2];e=J[c+72>>2]+P(J[c+68>>2],d)|0;f=g+P(h,K[e|0])|0;l=N[f>>2];m=N[f+4>>2];n=N[f+8>>2];J[c+12>>2]=0;N[c+8>>2]=i*n;N[c+4>>2]=j*m;N[c>>2]=k*l;f=g+P(h,K[e+1|0])|0;l=N[f>>2];m=N[f+4>>2];n=N[f+8>>2];J[c+28>>2]=0;N[c+24>>2]=i*n;N[c+20>>2]=j*m;N[c+16>>2]=k*l;e=g+P(h,K[e+2|0])|0;l=N[e>>2];m=N[e+4>>2];n=N[e+8>>2];J[c+44>>2]=0;N[c+40>>2]=i*n;N[c+36>>2]=j*m;N[c+32>>2]=k*l;ua[J[J[b>>2]+8>>2]](b,c,r,d);d=d+1|0;if((d|0)>2]){continue}break};break a;case 1:break b;default:break a}}d:{switch(J[c+60>>2]-2|0){case 0:d=0;if(J[c+48>>2]<=0){break a}while(1){g=J[c+76>>2];h=J[c+56>>2];e=J[c+72>>2]+P(J[c+68>>2],d)|0;f=g+P(h,J[e>>2])|0;o=O[f>>3];p=O[f+8>>3];q=O[f+16>>3];J[c+12>>2]=0;N[c+8>>2]=i*Q(q);N[c+4>>2]=j*Q(p);N[c>>2]=k*Q(o);f=g+P(h,J[e+4>>2])|0;o=O[f>>3];p=O[f+8>>3];q=O[f+16>>3];J[c+28>>2]=0;N[c+24>>2]=i*Q(q);N[c+20>>2]=j*Q(p);N[c+16>>2]=k*Q(o);e=g+P(h,J[e+8>>2])|0;o=O[e>>3];p=O[e+8>>3];q=O[e+16>>3];J[c+44>>2]=0;N[c+40>>2]=i*Q(q);N[c+36>>2]=j*Q(p);N[c+32>>2]=k*Q(o);ua[J[J[b>>2]+8>>2]](b,c,r,d);d=d+1|0;if((d|0)>2]){continue}break};break a;case 1:d=0;if(J[c+48>>2]<=0){break a}while(1){g=J[c+76>>2];h=J[c+56>>2];e=J[c+72>>2]+P(J[c+68>>2],d)|0;f=g+P(h,L[e>>1])|0;o=O[f>>3];p=O[f+8>>3];q=O[f+16>>3];J[c+12>>2]=0;N[c+8>>2]=i*Q(q);N[c+4>>2]=j*Q(p);N[c>>2]=k*Q(o);f=g+P(h,L[e+2>>1])|0;o=O[f>>3];p=O[f+8>>3];q=O[f+16>>3];J[c+28>>2]=0;N[c+24>>2]=i*Q(q);N[c+20>>2]=j*Q(p);N[c+16>>2]=k*Q(o);e=g+P(h,L[e+4>>1])|0;o=O[e>>3];p=O[e+8>>3];q=O[e+16>>3];J[c+44>>2]=0;N[c+40>>2]=i*Q(q);N[c+36>>2]=j*Q(p);N[c+32>>2]=k*Q(o);ua[J[J[b>>2]+8>>2]](b,c,r,d);d=d+1|0;if((d|0)>2]){continue}break};break a;case 3:break d;default:break a}}d=0;if(J[c+48>>2]<=0){break a}while(1){g=J[c+76>>2];h=J[c+56>>2];e=J[c+72>>2]+P(J[c+68>>2],d)|0;f=g+P(h,K[e|0])|0;o=O[f>>3];p=O[f+8>>3];q=O[f+16>>3];J[c+12>>2]=0;N[c+8>>2]=i*Q(q);N[c+4>>2]=j*Q(p);N[c>>2]=k*Q(o);f=g+P(h,K[e+1|0])|0;o=O[f>>3];p=O[f+8>>3];q=O[f+16>>3];J[c+28>>2]=0;N[c+24>>2]=i*Q(q);N[c+20>>2]=j*Q(p);N[c+16>>2]=k*Q(o);e=g+P(h,K[e+2|0])|0;o=O[e>>3];p=O[e+8>>3];q=O[e+16>>3];J[c+44>>2]=0;N[c+40>>2]=i*Q(q);N[c+36>>2]=j*Q(p);N[c+32>>2]=k*Q(o);ua[J[J[b>>2]+8>>2]](b,c,r,d);d=d+1|0;if((d|0)>2]){continue}break}}ua[J[J[a>>2]+24>>2]](a,r);r=r+1|0;if((s|0)!=(r|0)){continue}break}}sa=c+80|0}function am(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=Q(0),f=Q(0),g=Q(0),h=Q(0),i=Q(0),j=Q(0),k=Q(0),l=Q(0),m=Q(0),n=0,o=0,p=Q(0),q=Q(0),r=Q(0),s=Q(0),t=Q(0),u=Q(0),v=Q(0),w=Q(0),x=Q(0),y=Q(0),z=Q(0),A=Q(0),B=0,C=0,D=0,E=0,F=Q(0),G=Q(0),H=Q(0),I=0,K=0,L=0;d=sa-256|0;sa=d;ua[J[8262]](3795);J[a+4>>2]=J[a+4>>2]+1;B=J[c+36>>2];D=P(B,80);E=J[a+12>>2];I=J[E+4>>2];n=J[(D+J[I+32>>2]|0)+64>>2];c=J[a+8>>2];C=J[b+36>>2];b=J[J[c+4>>2]+32>>2]+P(C,80)|0;o=J[b+64>>2];c=J[c+12>>2];F=N[c+52>>2];G=N[c+56>>2];e=N[c+24>>2];f=N[c+20>>2];g=N[c+40>>2];h=N[c+36>>2];H=N[c+48>>2];i=N[c+8>>2];j=N[c>>2];k=N[c+4>>2];l=N[c+16>>2];m=N[c+32>>2];p=N[b+32>>2];q=N[b>>2];r=N[b+16>>2];s=N[b+56>>2];t=N[b+48>>2];u=N[b+52>>2];v=N[b+36>>2];w=N[b+4>>2];x=N[b+20>>2];y=N[b+40>>2];z=N[b+8>>2];A=N[b+24>>2];b=0;J[d+248>>2]=0;J[d+232>>2]=0;J[d+216>>2]=0;N[d+228>>2]=Q(y*g)+Q(Q(z*m)+Q(h*A));N[d+224>>2]=Q(v*g)+Q(Q(w*m)+Q(h*x));N[d+212>>2]=Q(y*e)+Q(Q(z*l)+Q(f*A));N[d+208>>2]=Q(v*e)+Q(Q(w*l)+Q(f*x));N[d+244>>2]=G+Q(Q(s*g)+Q(Q(t*m)+Q(h*u)));N[d+240>>2]=F+Q(Q(s*e)+Q(Q(t*l)+Q(f*u)));J[d+200>>2]=0;N[d+220>>2]=Q(p*g)+Q(Q(q*m)+Q(h*r));N[d+204>>2]=Q(p*e)+Q(Q(q*l)+Q(f*r));N[d+196>>2]=Q(y*i)+Q(Q(z*j)+Q(k*A));N[d+192>>2]=Q(v*i)+Q(Q(w*j)+Q(k*x));N[d+188>>2]=Q(p*i)+Q(Q(q*j)+Q(k*r));N[d+236>>2]=H+Q(Q(s*i)+Q(Q(t*j)+Q(k*u)));c=J[E+12>>2];F=N[c+52>>2];G=N[c+56>>2];e=N[c+24>>2];f=N[c+20>>2];g=N[c+40>>2];h=N[c+36>>2];H=N[c+48>>2];i=N[c+8>>2];j=N[c>>2];k=N[c+4>>2];l=N[c+16>>2];m=N[c+32>>2];c=J[I+32>>2]+D|0;p=N[c+32>>2];q=N[c>>2];r=N[c+16>>2];s=N[c+56>>2];t=N[c+48>>2];u=N[c+52>>2];v=N[c+36>>2];w=N[c+4>>2];x=N[c+20>>2];y=N[c+40>>2];z=N[c+8>>2];A=N[c+24>>2];J[d+184>>2]=0;J[d+168>>2]=0;J[d+152>>2]=0;N[d+164>>2]=Q(y*g)+Q(Q(z*m)+Q(h*A));N[d+160>>2]=Q(v*g)+Q(Q(w*m)+Q(h*x));N[d+148>>2]=Q(y*e)+Q(Q(z*l)+Q(f*A));N[d+144>>2]=Q(v*e)+Q(Q(w*l)+Q(f*x));N[d+180>>2]=G+Q(Q(s*g)+Q(Q(t*m)+Q(h*u)));N[d+176>>2]=F+Q(Q(s*e)+Q(Q(t*l)+Q(f*u)));J[d+136>>2]=0;N[d+156>>2]=Q(p*g)+Q(Q(q*m)+Q(h*r));N[d+140>>2]=Q(p*e)+Q(Q(q*l)+Q(f*r));N[d+132>>2]=Q(y*i)+Q(Q(z*j)+Q(k*A));N[d+128>>2]=Q(v*i)+Q(Q(w*j)+Q(k*x));N[d+124>>2]=Q(p*i)+Q(Q(q*j)+Q(k*r));N[d+172>>2]=H+Q(Q(s*i)+Q(Q(t*j)+Q(k*u)));ua[J[J[o>>2]+8>>2]](o,d+188|0,d+108|0,d+92|0);ua[J[J[n>>2]+8>>2]](n,d+124|0,d+76|0,d+60|0);e=N[J[a+24>>2]+32>>2];f=Q(N[d+108>>2]-e);N[d+108>>2]=f;N[d+112>>2]=N[d+112>>2]-e;N[d+116>>2]=N[d+116>>2]-e;N[d+92>>2]=e+N[d+92>>2];N[d+96>>2]=e+N[d+96>>2];N[d+100>>2]=e+N[d+100>>2];c=J[8465];a:{if(c){if(!(ua[c|0](o,n)|0)){break a}f=N[d+108>>2]}b=f>N[d+60>>2]|N[d+92>>2]>2]?b:1;c=0;if((N[d+100>>2]>2]|N[d+116>>2]>N[d+68>>2]?c:b)^1|N[d+96>>2]>2]|N[d+112>>2]>N[d+64>>2]){break a}b=J[a+8>>2];c=J[b+8>>2];J[d+56>>2]=C;J[d+52>>2]=-1;J[d+44>>2]=c;J[d+40>>2]=o;J[d+36>>2]=b;J[d+48>>2]=d+188;b=J[a+12>>2];c=J[b+8>>2];J[d+32>>2]=B;J[d+28>>2]=-1;J[d+20>>2]=c;J[d+16>>2]=n;J[d+12>>2]=b;J[d+24>>2]=d+124;b=J[a+28>>2];J[8468]=J[8468]+1;c=B<<16|C;c=(c<<15^-1)+c|0;c=P(c>>>10^c,9);c=c>>>6^c;c=(c<<11^-1)+c|0;c=J[b+12>>2]-1&(c>>>16^c);b:{c:{if((c|0)>=J[b+28>>2]){break c}c=J[J[b+36>>2]+(c<<2)>>2];if((c|0)==-1){break c}n=J[b+56>>2];o=J[b+16>>2];while(1){b=o+P(c,12)|0;if(J[b>>2]==(C|0)&J[b+4>>2]==(B|0)){break b}c=J[n+(c<<2)>>2];if((c|0)!=-1){continue}break}}b=0}d:{if(N[J[a+24>>2]+32>>2]>Q(0)){b=J[a+16>>2];b=ua[J[J[b>>2]+8>>2]](b,d+36|0,d+12|0,0,2)|0;break d}if(b){b=J[b+8>>2];break d}b=J[a+16>>2];b=ua[J[J[b>>2]+8>>2]](b,d+36|0,d+12|0,J[a+32>>2],1)|0;c=J[a+28>>2];K=ua[J[J[c>>2]+12>>2]](c,C,B)|0,L=b,J[K+8>>2]=L}c=J[a+24>>2];n=J[c+8>>2];o=J[c+12>>2];D=d+12|0;J[c+12>>2]=D;E=d+36|0;J[c+8>>2]=E;ua[J[J[c>>2]+8>>2]](c,-1,C);c=J[a+24>>2];ua[J[J[c>>2]+12>>2]](c,-1,B);ua[J[J[b>>2]+8>>2]](b,E,D,J[a+20>>2],J[a+24>>2]);a=J[a+24>>2];J[a+8>>2]=n;J[a+12>>2]=o}ua[J[8263]]();sa=d+256|0}function ib(a,b,c,d,e,f,g,h,i,j,k,l){var m=0,n=Q(0),o=Q(0),p=Q(0),q=Q(0),r=0,s=0,t=Q(0),u=Q(0),v=Q(0),w=Q(0),x=Q(0),y=Q(0),z=Q(0),A=Q(0),B=Q(0),C=Q(0),D=Q(0),E=Q(0),F=0,G=Q(0),I=Q(0),L=Q(0),M=Q(0),O=0,R=0,S=Q(0),T=Q(0),U=Q(0),V=Q(0),W=Q(0),X=0,Y=Q(0),Z=Q(0),_=Q(0),$=0;r=J[a+68>>2];s=r;a:{if((r|0)!=J[a+72>>2]){break a}O=r?r<<1:1;if((r|0)>=(O|0)){break a}if(O){J[8456]=J[8456]+1;R=ua[J[8258]](P(O,152),16)|0;m=J[a+68>>2]}else{m=r}b:{if((m|0)<=0){break b}s=0;if((m|0)!=1){$=m&-2;while(1){F=P(s,152);Ja(F+R|0,F+J[a+76>>2]|0,152);F=P(s|1,152);Ja(F+R|0,F+J[a+76>>2]|0,152);s=s+2|0;X=X+2|0;if((X|0)!=($|0)){continue}break}}if(!(m&1)){break b}m=P(s,152);Ja(m+R|0,m+J[a+76>>2]|0,152)}m=J[a+76>>2];if(!(m?!m|!K[a+80|0]:1)){J[8457]=J[8457]+1;ua[J[8259]](m)}J[a+76>>2]=R;H[a+80|0]=1;J[a+72>>2]=O;s=J[a+68>>2]}J[a+68>>2]=s+1;m=J[a+76>>2]+P(r,152)|0;J[m+140>>2]=e;r=J[a+16>>2];a=J[(r+P(d,244)|0)+240>>2];e=J[(r+P(c,244)|0)+240>>2];J[m+148>>2]=d;J[m+144>>2]=c;S=N[f+84>>2];J[m+132>>2]=0;N[m+104>>2]=S;J[m+96>>2]=0;J[m+100>>2]=0;c:{if(e){s=J[b+4>>2];J[m+16>>2]=J[b>>2];J[m+20>>2]=s;s=J[b+12>>2];J[m+24>>2]=J[b+8>>2];J[m+28>>2]=s;p=N[g+8>>2];n=N[g>>2];o=N[g+4>>2];J[m+12>>2]=0;T=N[m+20>>2];U=N[m+16>>2];G=Q(Q(n*T)-Q(o*U));N[m+8>>2]=G;V=N[m+24>>2];I=Q(Q(p*U)-Q(n*V));N[m+4>>2]=I;L=Q(Q(o*V)-Q(T*p));N[m>>2]=L;p=N[e+332>>2];n=N[e+328>>2];o=N[e+608>>2];q=N[e+348>>2];x=N[e+340>>2];A=N[e+344>>2];t=N[e+612>>2];w=N[e+364>>2];B=N[e+356>>2];C=N[e+360>>2];D=N[e+604>>2];v=N[e+324>>2];J[m+76>>2]=0;t=Q(t*Q(Q(w*G)+Q(Q(B*L)+Q(I*C))));N[m+72>>2]=t;q=Q(o*Q(Q(q*G)+Q(Q(x*L)+Q(I*A))));N[m+68>>2]=q;x=Q(D*Q(Q(p*G)+Q(Q(v*L)+Q(I*n))));N[m+64>>2]=x;break c}J[m+64>>2]=0;J[m+68>>2]=0;J[m>>2]=0;J[m+4>>2]=0;J[m+72>>2]=0;J[m+76>>2]=0;J[m+8>>2]=0;J[m+12>>2]=0;J[m+16>>2]=0;J[m+20>>2]=0;J[m+24>>2]=0;J[m+28>>2]=0}d:{if(a){p=N[b>>2];n=N[b+4>>2];o=N[b+8>>2];J[m+60>>2]=0;Y=Q(-o);N[m+56>>2]=Y;Z=Q(-n);N[m+52>>2]=Z;_=Q(-p);N[m+48>>2]=_;u=N[h+8>>2];y=N[h+4>>2];z=N[h>>2];J[m+44>>2]=0;M=Q(Q(p*y)-Q(z*n));N[m+40>>2]=M;z=Q(Q(o*z)-Q(u*p));N[m+36>>2]=z;y=Q(Q(n*u)-Q(y*o));N[m+32>>2]=y;p=N[a+332>>2];o=N[a+328>>2];n=N[a+608>>2];A=N[a+348>>2];w=N[a+340>>2];B=N[a+344>>2];u=N[a+612>>2];C=N[a+364>>2];D=N[a+356>>2];v=N[a+360>>2];W=N[a+604>>2];E=N[a+324>>2];J[m+92>>2]=0;u=Q(u*Q(Q(C*M)+Q(Q(D*y)+Q(z*v))));N[m+88>>2]=u;n=Q(n*Q(Q(A*M)+Q(Q(w*y)+Q(z*B))));N[m+84>>2]=n;o=Q(W*Q(Q(p*M)+Q(Q(E*y)+Q(z*o))));N[m+80>>2]=o;break d}J[m+80>>2]=0;J[m+84>>2]=0;J[m+32>>2]=0;J[m+36>>2]=0;J[m+88>>2]=0;J[m+92>>2]=0;J[m+40>>2]=0;J[m+44>>2]=0;J[m+48>>2]=0;J[m+52>>2]=0;J[m+56>>2]=0;J[m+60>>2]=0;n=Q(0);o=Q(0)}A=Q(0);W=i;if(e){i=N[g+4>>2];w=N[g>>2];v=Q(N[b+8>>2]*Q(Q(x*i)-Q(w*q)));E=q;q=N[g+8>>2];E=Q(N[e+404>>2]+Q(v+Q(Q(N[b>>2]*Q(Q(E*q)-Q(i*t)))+Q(Q(Q(t*w)-Q(q*x))*N[b+4>>2]))))}else{E=Q(0)}if(a){t=N[h>>2];q=N[h+4>>2];v=Q(N[b+8>>2]*Q(Q(n*t)-Q(o*q)));i=n;n=N[h+8>>2];i=Q(N[a+404>>2]+Q(v+Q(Q(N[b>>2]*Q(Q(u*q)-Q(i*n)))+Q(Q(Q(o*n)-Q(u*t))*N[b+4>>2]))))}else{i=Q(0)}p=Q(W/Q(E+i));N[m+108>>2]=p;w=Q(0);t=Q(0);q=Q(0);x=Q(0);u=Q(0);n=Q(0);if(e){c=r+P(c,244)|0;q=Q(N[c+176>>2]+N[c+208>>2]);x=N[c+192>>2];t=Q(N[c+180>>2]+N[c+212>>2]);u=N[c+196>>2];w=Q(N[c+184>>2]+N[c+216>>2]);n=N[c+200>>2]}o=Q(0);B=Q(0);C=Q(0);D=Q(0);v=Q(0);if(a){a=r+P(d,244)|0;A=Q(N[a+176>>2]+N[a+208>>2]);C=N[a+200>>2];D=N[a+196>>2];B=Q(N[a+184>>2]+N[a+216>>2]);v=N[a+192>>2];o=Q(N[a+180>>2]+N[a+212>>2])}i=Q(0);i=K[f+128|0]&16?Q(p*Q(Q(N[j+44>>2]*Q(-Q(Q(Q(N[f+56>>2]-N[f+40>>2])*N[b+8>>2])+Q(Q(Q(N[f+48>>2]-N[f+32>>2])*N[b>>2])+Q(Q(N[f+52>>2]-N[f+36>>2])*N[b+4>>2])))))/N[j+12>>2])):i;J[m+128>>2]=0;N[m+124>>2]=S;N[m+116>>2]=l;N[m+120>>2]=-S;N[m+112>>2]=Q(p*Q(k-Q(Q(Q(Q(V*w)+Q(Q(U*q)+Q(t*T)))+Q(Q(G*n)+Q(Q(L*x)+Q(u*I))))+Q(Q(Q(Y*B)+Q(Q(_*A)+Q(o*Z)))+Q(Q(M*C)+Q(Q(y*v)+Q(D*z)))))))+i}function Kf(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=Q(0),m=Q(0),n=0,o=Q(0),p=Q(0),q=Q(0);J[a+8>>2]=J[b>>2];i=J[a+24>>2];a:{if((i|0)!=J[a+28>>2]){break a}h=i?i<<1:1;if((h|0)<=(i|0)){break a}if(h){J[8456]=J[8456]+1;d=ua[J[8258]](h<<2,16)|0;i=J[a+24>>2]}b:{if((i|0)<=0){break b}if(i>>>0>=4){n=i&-4;while(1){g=f<<2;J[g+d>>2]=J[g+J[a+32>>2]>>2];k=g|4;J[k+d>>2]=J[k+J[a+32>>2]>>2];k=g|8;J[k+d>>2]=J[k+J[a+32>>2]>>2];g=g|12;J[g+d>>2]=J[g+J[a+32>>2]>>2];f=f+4|0;e=e+4|0;if((n|0)!=(e|0)){continue}break}}e=i&3;if(!e){break b}while(1){g=f<<2;J[g+d>>2]=J[g+J[a+32>>2]>>2];f=f+1|0;j=j+1|0;if((e|0)!=(j|0)){continue}break}}f=J[a+32>>2];if(!(!f|!K[a+36|0])){if(f){J[8457]=J[8457]+1;ua[J[8259]](f)}i=J[a+24>>2]}J[a+32>>2]=d;H[a+36|0]=1;J[a+28>>2]=h}J[J[a+32>>2]+(i<<2)>>2]=J[b>>2];J[a+24>>2]=i+1;c:{if(c){o=N[b+16>>2];p=N[b+12>>2];m=N[b+8>>2];l=N[b+20>>2];break c}c=J[a+8>>2];l=N[b+16>>2];m=N[b+8>>2];q=N[b+12>>2];o=Q(Q(N[c+44>>2]*l)+Q(Q(N[c+36>>2]*m)+Q(q*N[c+40>>2])));p=Q(Q(N[c+28>>2]*l)+Q(Q(N[c+20>>2]*m)+Q(q*N[c+24>>2])));m=Q(Q(N[c+12>>2]*l)+Q(Q(N[c+4>>2]*m)+Q(N[c+8>>2]*q)));l=Q(0)}d=J[a+76>>2];d:{if((d|0)!=J[a+80>>2]){break d}i=d?d<<1:1;if((i|0)<=(d|0)){break d}e:{if(!i){c=0;break e}J[8456]=J[8456]+1;c=ua[J[8258]](i<<4,16)|0;d=J[a+76>>2]}f:{if((d|0)<=0){break f}f=0;if((d|0)!=1){n=d&-2;j=0;while(1){g=f<<4;h=g+c|0;e=g+J[a+84>>2]|0;k=J[e+4>>2];J[h>>2]=J[e>>2];J[h+4>>2]=k;k=J[e+12>>2];J[h+8>>2]=J[e+8>>2];J[h+12>>2]=k;e=g|16;g=e+c|0;e=e+J[a+84>>2]|0;h=J[e+4>>2];J[g>>2]=J[e>>2];J[g+4>>2]=h;h=J[e+12>>2];J[g+8>>2]=J[e+8>>2];J[g+12>>2]=h;f=f+2|0;j=j+2|0;if((n|0)!=(j|0)){continue}break}}if(!(d&1)){break f}f=f<<4;d=f+c|0;f=f+J[a+84>>2]|0;e=J[f+4>>2];J[d>>2]=J[f>>2];J[d+4>>2]=e;e=J[f+12>>2];J[d+8>>2]=J[f+8>>2];J[d+12>>2]=e}d=J[a+84>>2];if(!(d?!d|!K[a+88|0]:1)){J[8457]=J[8457]+1;ua[J[8259]](d)}J[a+84>>2]=c;H[a+88|0]=1;J[a+80>>2]=i;d=J[a+76>>2]}c=J[a+84>>2]+(d<<4)|0;N[c+12>>2]=l;N[c+8>>2]=o;N[c+4>>2]=p;N[c>>2]=m;J[a+76>>2]=J[a+76>>2]+1;l=N[b+24>>2];o=Q(Q(1)-l);p=Q(Q(o*N[a+48>>2])+Q(l*N[a- -64>>2]));m=Q(Q(o*N[a+44>>2])+Q(l*N[a+60>>2]));l=Q(Q(o*N[a+40>>2])+Q(l*N[a+56>>2]));d=J[a+96>>2];g:{if((d|0)!=J[a+100>>2]){break g}i=d?d<<1:1;if((i|0)<=(d|0)){break g}h:{if(!i){c=0;break h}J[8456]=J[8456]+1;c=ua[J[8258]](i<<4,16)|0;d=J[a+96>>2]}i:{if((d|0)<=0){break i}f=0;if((d|0)!=1){n=d&-2;j=0;while(1){g=f<<4;h=g+c|0;e=g+J[a+104>>2]|0;k=J[e+4>>2];J[h>>2]=J[e>>2];J[h+4>>2]=k;k=J[e+12>>2];J[h+8>>2]=J[e+8>>2];J[h+12>>2]=k;e=g|16;g=e+c|0;e=e+J[a+104>>2]|0;h=J[e+4>>2];J[g>>2]=J[e>>2];J[g+4>>2]=h;h=J[e+12>>2];J[g+8>>2]=J[e+8>>2];J[g+12>>2]=h;f=f+2|0;j=j+2|0;if((n|0)!=(j|0)){continue}break}}if(!(d&1)){break i}f=f<<4;d=f+c|0;f=f+J[a+104>>2]|0;e=J[f+4>>2];J[d>>2]=J[f>>2];J[d+4>>2]=e;e=J[f+12>>2];J[d+8>>2]=J[f+8>>2];J[d+12>>2]=e}d=J[a+104>>2];if(!(d?!d|!K[a+108|0]:1)){J[8457]=J[8457]+1;ua[J[8259]](d)}J[a+104>>2]=c;H[a+108|0]=1;J[a+100>>2]=i;d=J[a+96>>2]}c=J[a+104>>2]+(d<<4)|0;N[c+8>>2]=p;N[c+4>>2]=m;N[c>>2]=l;J[a+96>>2]=J[a+96>>2]+1;e=J[a+116>>2];j:{if((e|0)!=J[a+120>>2]){break j}g=e?e<<1:1;if((g|0)<=(e|0)){break j}k:{if(!g){d=0;break k}J[8456]=J[8456]+1;d=ua[J[8258]](g<<2,16)|0;e=J[a+116>>2]}c=J[a+124>>2];l:{m:{if((e|0)>0){i=0;f=0;if(e>>>0>=4){n=e&-4;h=0;while(1){j=f<<2;N[j+d>>2]=N[c+j>>2];k=j|4;N[k+d>>2]=N[c+k>>2];k=j|8;N[k+d>>2]=N[c+k>>2];j=j|12;N[j+d>>2]=N[c+j>>2];f=f+4|0;h=h+4|0;if((n|0)!=(h|0)){continue}break}}j=e&3;if(j){while(1){h=f<<2;N[h+d>>2]=N[c+h>>2];f=f+1|0;i=i+1|0;if((j|0)!=(i|0)){continue}break}}if(K[a+128|0]){break m}break l}if(!c|!K[a+128|0]){break l}}if(c){J[8457]=J[8457]+1;ua[J[8259]](c)}e=J[a+116>>2]}J[a+124>>2]=d;J[a+120>>2]=g;H[a+128|0]=1}N[J[a+124>>2]+(e<<2)>>2]=N[b+24>>2];J[a+116>>2]=e+1;return Q(N[a+4>>2])}function vb(a,b,c,d,e,f){var g=0,h=0,i=Q(0),j=0,k=0,l=Q(0),m=Q(0),n=Q(0),o=Q(0),p=Q(0),q=Q(0),r=Q(0),s=Q(0),t=0,u=0,v=0,w=Q(0),x=Q(0),y=Q(0),z=Q(0);g=sa-400|0;sa=g;ua[J[8262]](2330);h=J[c+12>>2];J[g+336>>2]=J[c+8>>2];J[g+340>>2]=h;h=J[c+4>>2];J[g+328>>2]=J[c>>2];J[g+332>>2]=h;h=J[c+28>>2];J[g+352>>2]=J[c+24>>2];J[g+356>>2]=h;h=J[c+20>>2];J[g+344>>2]=J[c+16>>2];J[g+348>>2]=h;h=J[c+44>>2];J[g+368>>2]=J[c+40>>2];J[g+372>>2]=h;h=J[c+36>>2];J[g+360>>2]=J[c+32>>2];J[g+364>>2]=h;h=J[c+60>>2];J[g+384>>2]=J[c+56>>2];J[g+388>>2]=h;h=J[c+52>>2];J[g+376>>2]=J[c+48>>2];J[g+380>>2]=h;h=J[d+12>>2];J[g+272>>2]=J[d+8>>2];J[g+276>>2]=h;h=J[d+4>>2];J[g+264>>2]=J[d>>2];J[g+268>>2]=h;h=J[d+28>>2];J[g+288>>2]=J[d+24>>2];J[g+292>>2]=h;h=J[d+20>>2];J[g+280>>2]=J[d+16>>2];J[g+284>>2]=h;h=J[d+44>>2];J[g+304>>2]=J[d+40>>2];J[g+308>>2]=h;h=J[d+36>>2];J[g+296>>2]=J[d+32>>2];J[g+300>>2]=h;h=J[d+60>>2];J[g+320>>2]=J[d+56>>2];J[g+324>>2]=h;h=J[d+52>>2];J[g+312>>2]=J[d+48>>2];J[g+316>>2]=h;k=g+328|0;u=g+4|0;h=g+248|0;Vb(k,g+264|0,u,h);J[g+228>>2]=0;i=N[g+248>>2];N[g+224>>2]=i*N[g+12>>2];N[g+220>>2]=i*N[g+8>>2];N[g+216>>2]=i*N[g+4>>2];J[g+208>>2]=0;J[g+212>>2]=0;J[g+200>>2]=0;J[g+204>>2]=0;J[g+60>>2]=0;J[g+64>>2]=0;J[g+52>>2]=0;J[g+56>>2]=0;ob(k,h);J[g+48>>2]=0;J[g+32>>2]=0;m=N[g+260>>2];l=N[g+256>>2];i=N[g+248>>2];n=N[g+252>>2];o=Q(Q(2)/Q(Q(m*m)+Q(Q(l*l)+Q(Q(i*i)+Q(n*n)))));p=Q(l*o);q=Q(n*p);r=Q(i*o);s=Q(m*r);N[g+40>>2]=q+s;N[g+28>>2]=q-s;q=Q(i*r);r=n;n=Q(n*o);o=Q(r*n);N[g+44>>2]=Q(1)-Q(q+o);l=Q(l*p);N[g+24>>2]=Q(1)-Q(q+l);J[g+16>>2]=0;q=Q(i*p);r=Q(m*n);N[g+36>>2]=q-r;i=Q(i*n);m=Q(m*p);N[g+20>>2]=i+m;N[g+12>>2]=q+r;N[g+8>>2]=i-m;N[g+4>>2]=Q(1)-Q(o+l);k=g+232|0;ua[J[J[b>>2]+8>>2]](b,u,h,k);i=N[g+224>>2];m=N[g+216>>2];n=N[g+220>>2];q=N[k>>2];r=N[k+4>>2];s=N[k+8>>2];w=N[h>>2];p=N[g+200>>2];x=N[h+4>>2];o=N[g+204>>2];y=N[h+8>>2];l=N[g+208>>2];z=Q(ua[J[J[b>>2]+16>>2]](b));J[h+12>>2]=0;l=Q(l*Q(1));j=l>Q(0);N[h+8>>2]=y+(j?Q(-0):l);o=Q(o*Q(1));t=o>Q(0);N[h+4>>2]=x+(t?Q(-0):o);p=Q(p*Q(1));v=p>Q(0);N[h>>2]=w+(v?Q(-0):p);J[k+12>>2]=0;N[k+8>>2]=s+(j?l:Q(-0));N[k+4>>2]=r+(t?o:Q(-0));N[k>>2]=q+(v?p:Q(-0));i=Q(Q(z*Q(Y(Q(Q(i*i)+Q(Q(m*m)+Q(n*n))))))*Q(1));N[h>>2]=N[h>>2]-i;N[h+4>>2]=N[h+4>>2]-i;N[h+8>>2]=N[h+8>>2]-i;N[k>>2]=i+N[k>>2];N[k+4>>2]=i+N[k+4>>2];N[k+8>>2]=i+N[k+8>>2];J[g+4>>2]=14788;j=J[c+12>>2];J[g+48>>2]=J[c+8>>2];J[g+52>>2]=j;j=J[c+4>>2];J[g+40>>2]=J[c>>2];J[g+44>>2]=j;t=J[c+28>>2];j=g- -64|0;J[j>>2]=J[c+24>>2];J[j+4>>2]=t;j=J[c+20>>2];J[g+56>>2]=J[c+16>>2];J[g+60>>2]=j;j=J[c+44>>2];J[g+80>>2]=J[c+40>>2];J[g+84>>2]=j;j=J[c+36>>2];J[g+72>>2]=J[c+32>>2];J[g+76>>2]=j;j=J[c+60>>2];J[g+96>>2]=J[c+56>>2];J[g+100>>2]=j;j=J[c+52>>2];J[g+88>>2]=J[c+48>>2];J[g+92>>2]=j;c=J[d+12>>2];J[g+112>>2]=J[d+8>>2];J[g+116>>2]=c;c=J[d+4>>2];J[g+104>>2]=J[d>>2];J[g+108>>2]=c;c=J[d+28>>2];J[g+128>>2]=J[d+24>>2];J[g+132>>2]=c;c=J[d+20>>2];J[g+120>>2]=J[d+16>>2];J[g+124>>2]=c;c=J[d+36>>2];J[g+136>>2]=J[d+32>>2];J[g+140>>2]=c;c=J[d+44>>2];J[g+144>>2]=J[d+40>>2];J[g+148>>2]=c;c=J[d+60>>2];J[g+160>>2]=J[d+56>>2];J[g+164>>2]=c;c=J[d+52>>2];J[g+152>>2]=J[d+48>>2];J[g+156>>2]=c;J[g+188>>2]=e;N[g+192>>2]=f;J[g+196>>2]=b;J[g+184>>2]=a;f=Q(N[g+160>>2]-N[g+96>>2]);i=Q(N[g+152>>2]-N[g+88>>2]);m=Q(N[g+156>>2]-N[g+92>>2]);n=Q(Q(1)/Q(Y(Q(Q(f*f)+Q(Q(i*i)+Q(m*m))))));l=Q(f*n);p=l==Q(0)?Q(0xde0b6b000000000):Q(Q(1)/l);N[g+16>>2]=p;o=Q(m*n);q=o==Q(0)?Q(0xde0b6b000000000):Q(Q(1)/o);N[g+12>>2]=q;J[g+32>>2]=p>2]=q>2]=r+Q(Q(f*i)+Q(m*o));f=f==Q(0)?Q(0xde0b6b000000000):Q(Q(1)/f);N[g+8>>2]=f;J[g+24>>2]=f>2];ua[J[J[a>>2]+24>>2]](a,g+376|0,g+312|0,u,h,k);ua[J[8263]]();sa=g+400|0}function Jf(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=Q(0),n=Q(0),o=Q(0),p=Q(0),q=Q(0);f=J[b>>2];J[a+16>>2]=f;i=J[a+24>>2];a:{if((i|0)!=J[a+28>>2]){break a}h=i?i<<1:1;if((h|0)<=(i|0)){break a}if(h){J[8456]=J[8456]+1;d=ua[J[8258]](h<<2,16)|0;i=J[a+24>>2]}b:{if((i|0)<=0){break b}f=0;if(i>>>0>=4){l=i&-4;while(1){g=f<<2;J[g+d>>2]=J[g+J[a+32>>2]>>2];k=g|4;J[k+d>>2]=J[k+J[a+32>>2]>>2];k=g|8;J[k+d>>2]=J[k+J[a+32>>2]>>2];g=g|12;J[g+d>>2]=J[g+J[a+32>>2]>>2];f=f+4|0;e=e+4|0;if((l|0)!=(e|0)){continue}break}}e=i&3;if(!e){break b}while(1){g=f<<2;J[g+d>>2]=J[g+J[a+32>>2]>>2];f=f+1|0;j=j+1|0;if((e|0)!=(j|0)){continue}break}}f=J[a+32>>2];if(!(!f|!K[a+36|0])){if(f){J[8457]=J[8457]+1;ua[J[8259]](f)}i=J[a+24>>2]}J[a+32>>2]=d;H[a+36|0]=1;J[a+28>>2]=h;f=J[a+16>>2]}J[J[a+32>>2]+(i<<2)>>2]=f;J[a+24>>2]=i+1;c:{if(c){p=N[b+16>>2];q=N[b+12>>2];m=N[b+8>>2];n=N[b+20>>2];break c}c=J[a+16>>2];n=N[b+16>>2];m=N[b+8>>2];o=N[b+12>>2];p=Q(Q(N[c+44>>2]*n)+Q(Q(N[c+36>>2]*m)+Q(o*N[c+40>>2])));q=Q(Q(N[c+28>>2]*n)+Q(Q(N[c+20>>2]*m)+Q(o*N[c+24>>2])));m=Q(Q(N[c+12>>2]*n)+Q(Q(N[c+4>>2]*m)+Q(N[c+8>>2]*o)));n=Q(0)}d=J[a+76>>2];d:{if((d|0)!=J[a+80>>2]){break d}i=d?d<<1:1;if((i|0)<=(d|0)){break d}e:{if(!i){c=0;break e}J[8456]=J[8456]+1;c=ua[J[8258]](i<<4,16)|0;d=J[a+76>>2]}f:{if((d|0)<=0){break f}f=0;if((d|0)!=1){l=d&-2;j=0;while(1){g=f<<4;h=g+c|0;e=g+J[a+84>>2]|0;k=J[e+4>>2];J[h>>2]=J[e>>2];J[h+4>>2]=k;k=J[e+12>>2];J[h+8>>2]=J[e+8>>2];J[h+12>>2]=k;e=g|16;g=e+c|0;e=e+J[a+84>>2]|0;h=J[e+4>>2];J[g>>2]=J[e>>2];J[g+4>>2]=h;h=J[e+12>>2];J[g+8>>2]=J[e+8>>2];J[g+12>>2]=h;f=f+2|0;j=j+2|0;if((l|0)!=(j|0)){continue}break}}if(!(d&1)){break f}d=f<<4;f=d+c|0;d=d+J[a+84>>2]|0;e=J[d+4>>2];J[f>>2]=J[d>>2];J[f+4>>2]=e;e=J[d+12>>2];J[f+8>>2]=J[d+8>>2];J[f+12>>2]=e}d=J[a+84>>2];if(!(d?!d|!K[a+88|0]:1)){J[8457]=J[8457]+1;ua[J[8259]](d)}J[a+84>>2]=c;H[a+88|0]=1;J[a+80>>2]=i;d=J[a+76>>2]}c=J[a+84>>2]+(d<<4)|0;N[c+12>>2]=n;N[c+8>>2]=p;N[c+4>>2]=q;N[c>>2]=m;J[a+76>>2]=J[a+76>>2]+1;d=J[a+96>>2];g:{if((d|0)!=J[a+100>>2]){break g}i=d?d<<1:1;if((i|0)<=(d|0)){break g}h:{if(!i){c=0;break h}J[8456]=J[8456]+1;c=ua[J[8258]](i<<4,16)|0;d=J[a+96>>2]}i:{if((d|0)<=0){break i}f=0;if((d|0)!=1){l=d&-2;j=0;while(1){g=f<<4;h=g+c|0;e=g+J[a+104>>2]|0;k=J[e+4>>2];J[h>>2]=J[e>>2];J[h+4>>2]=k;k=J[e+12>>2];J[h+8>>2]=J[e+8>>2];J[h+12>>2]=k;e=g|16;g=e+c|0;e=e+J[a+104>>2]|0;h=J[e+4>>2];J[g>>2]=J[e>>2];J[g+4>>2]=h;h=J[e+12>>2];J[g+8>>2]=J[e+8>>2];J[g+12>>2]=h;f=f+2|0;j=j+2|0;if((l|0)!=(j|0)){continue}break}}if(!(d&1)){break i}d=f<<4;f=d+c|0;d=d+J[a+104>>2]|0;e=J[d+4>>2];J[f>>2]=J[d>>2];J[f+4>>2]=e;e=J[d+12>>2];J[f+8>>2]=J[d+8>>2];J[f+12>>2]=e}d=J[a+104>>2];if(!(d?!d|!K[a+108|0]:1)){J[8457]=J[8457]+1;ua[J[8259]](d)}J[a+104>>2]=c;H[a+108|0]=1;J[a+100>>2]=i;d=J[a+96>>2]}c=J[a+104>>2]+(d<<4)|0;d=J[b+28>>2];J[c>>2]=J[b+24>>2];J[c+4>>2]=d;d=J[b+36>>2];J[c+8>>2]=J[b+32>>2];J[c+12>>2]=d;J[a+96>>2]=J[a+96>>2]+1;e=J[a+116>>2];j:{if((e|0)!=J[a+120>>2]){break j}g=e?e<<1:1;if((g|0)<=(e|0)){break j}k:{if(!g){d=0;break k}J[8456]=J[8456]+1;d=ua[J[8258]](g<<2,16)|0;e=J[a+116>>2]}c=J[a+124>>2];l:{m:{if((e|0)>0){i=0;f=0;if(e>>>0>=4){l=e&-4;h=0;while(1){j=f<<2;N[j+d>>2]=N[c+j>>2];k=j|4;N[k+d>>2]=N[c+k>>2];k=j|8;N[k+d>>2]=N[c+k>>2];j=j|12;N[j+d>>2]=N[c+j>>2];f=f+4|0;h=h+4|0;if((l|0)!=(h|0)){continue}break}}j=e&3;if(j){while(1){h=f<<2;N[h+d>>2]=N[c+h>>2];f=f+1|0;i=i+1|0;if((j|0)!=(i|0)){continue}break}}if(K[a+128|0]){break m}break l}if(!c|!K[a+128|0]){break l}}if(c){J[8457]=J[8457]+1;ua[J[8259]](c)}e=J[a+116>>2]}J[a+124>>2]=d;J[a+120>>2]=g;H[a+128|0]=1}N[J[a+124>>2]+(e<<2)>>2]=N[b+40>>2];J[a+116>>2]=e+1;return Q(N[a+4>>2])}function ab(a,b,c){a=a|0;b=b|0;c=c|0;var d=Q(0),e=0,f=Q(0),g=Q(0),h=Q(0),i=0,j=Q(0),k=0,l=0,m=Q(0),n=Q(0),o=Q(0),p=0,q=Q(0),r=0,s=Q(0),t=0,u=0,v=Q(0),w=Q(0);e=sa-48|0;sa=e;a:{b:{switch(J[b+4>>2]){case 8:J[a>>2]=0;J[a+4>>2]=0;J[a+8>>2]=0;J[a+12>>2]=0;break a;case 0:d=N[b+40>>2];f=N[b+44>>2];h=N[c+4>>2];j=N[c+8>>2];g=N[b+36>>2];o=N[c>>2];J[a+12>>2]=0;N[a>>2]=o>=Q(0)?g:Q(-g);N[a+8>>2]=j>=Q(0)?f:Q(-f);N[a+4>>2]=h>=Q(0)?d:Q(-d);break a;case 1:d=N[c+8>>2];f=N[c>>2];g=N[c+4>>2];h=Q(Q(d*N[b+72>>2])+Q(Q(f*N[b+64>>2])+Q(g*N[b+68>>2])));j=Q(Q(d*N[b+88>>2])+Q(Q(f*N[b+80>>2])+Q(g*N[b+84>>2])));c=h>2])+Q(Q(f*N[b+96>>2])+Q(g*N[b+100>>2])))>(c?j:h)?2:c)<<4)|0;c=J[b>>2];l=J[b+4>>2];d=N[b+8>>2];J[a+12>>2]=0;N[a+8>>2]=d;J[a>>2]=c;J[a+4>>2]=l;break a;case 13:i=J[b+48>>2];J[e+40>>2]=J[b+44>>2];J[e+44>>2]=i;i=J[b+40>>2];J[e+32>>2]=J[b+36>>2];J[e+36>>2]=i;N[e+16>>2]=N[c>>2];N[e+20>>2]=N[c+4>>2];d=N[c+8>>2];J[e+28>>2]=0;N[e+24>>2]=d;c=1;i=2;c:{d:{e:{b=J[b+60>>2];switch(b-1|0){case 0:break d;case 1:break e;default:break c}}i=1}c=0;l=b}k=b<<2;b=e+32|0;d=N[k+b>>2];k=b;b=c<<2;f=N[(k|b)>>2];k=b;b=e+16|0;g=N[k+b>>2];h=N[b+(i<<2)>>2];j=Q(Y(Q(Q(g*g)+Q(h*h))));f:{if(j!=Q(0)){f=Q(f/j);N[(c<<2)+e>>2]=g*f;b=l<<2;N[b+e>>2]=N[b+(e+16|0)>>2]>2]=f;b=l<<2;N[b+e>>2]=N[b+(e+16|0)>>2]>2]=s;b=J[e+4>>2];c=J[e>>2];d=N[e+8>>2];J[a+12>>2]=0;N[a+8>>2]=d;J[a>>2]=c;J[a+4>>2]=b;break a;case 10:k=b;b=J[b+60>>2];l=b<<2;v=N[(k+l|0)+36>>2];m=Q(1);d=N[c+8>>2];f=N[c>>2];g=N[c+4>>2];h=Q(Q(d*d)+Q(Q(f*f)+Q(g*g)));if(!(h>2]=0;J[e+44>>2]=0;J[e+32>>2]=0;J[e+36>>2]=0;N[l+(e+32|0)>>2]=v;d=Q(-0xde0b6b000000000);f=Q(0);g=Q(0);h=N[e+40>>2];j=N[e+32>>2];o=N[e+36>>2];n=Q(Q(w*h)+Q(Q(m*j)+Q(s*o)));if(n>Q(-0xde0b6b000000000)){f=o;g=h;q=j;d=n}J[e+40>>2]=0;J[e+44>>2]=0;J[e+32>>2]=0;J[e+36>>2]=0;N[(e+32|0)+(b<<2)>>2]=-v;h=N[e+40>>2];j=N[e+32>>2];o=N[e+36>>2];J[a+12>>2]=0;b=Q(Q(w*h)+Q(Q(m*j)+Q(s*o)))>d;N[a+8>>2]=b?h:g;N[a+4>>2]=b?o:f;N[a>>2]=b?j:q;break a;case 5:h=N[b+20>>2];j=N[b+28>>2];o=N[b+24>>2];l=J[b+100>>2];b=J[b+104>>2];g:{if((b|0)<=0){i=-1;break g}d=Q(N[c>>2]*h);f=Q(N[c+8>>2]*j);g=Q(N[c+4>>2]*o);t=b&1;h:{if((b|0)==1){b=0;i=-1;m=Q(-34028234663852886e22);break h}u=b&-2;b=0;i=-1;m=Q(-34028234663852886e22);c=0;while(1){k=l+(b<<4)|0;n=Q(Q(N[k+8>>2]*f)+Q(Q(N[k>>2]*d)+Q(g*N[k+4>>2])));k=n>m;r=b|1;p=l+(r<<4)|0;q=Q(Q(N[p+8>>2]*f)+Q(Q(N[p>>2]*d)+Q(g*N[p+4>>2])));n=k?n:m;p=q>n;m=p?q:n;i=p?r:k?b:i;b=b+2|0;c=c+2|0;if((u|0)!=(c|0)){continue}break}}if(!t){break g}c=b;b=l+(b<<4)|0;i=Q(Q(N[b+8>>2]*f)+Q(Q(N[b>>2]*d)+Q(g*N[b+4>>2])))>m?c:i}b=l+(i<<4)|0;d=N[b>>2];f=N[b+4>>2];g=N[b+8>>2];J[a+12>>2]=0;N[a+8>>2]=j*g;N[a+4>>2]=o*f;N[a>>2]=h*d;break a;case 4:h=N[b+20>>2];j=N[b+28>>2];o=N[b+24>>2];l=J[b+112>>2];b=J[b+104>>2];i:{if((b|0)<=0){i=-1;break i}d=Q(N[c>>2]*h);f=Q(N[c+8>>2]*j);g=Q(N[c+4>>2]*o);t=b&1;j:{if((b|0)==1){b=0;i=-1;m=Q(-34028234663852886e22);break j}u=b&-2;b=0;i=-1;m=Q(-34028234663852886e22);c=0;while(1){k=l+(b<<4)|0;n=Q(Q(N[k+8>>2]*f)+Q(Q(N[k>>2]*d)+Q(g*N[k+4>>2])));k=n>m;r=b|1;p=l+(r<<4)|0;q=Q(Q(N[p+8>>2]*f)+Q(Q(N[p>>2]*d)+Q(g*N[p+4>>2])));n=k?n:m;p=q>n;m=p?q:n;i=p?r:k?b:i;b=b+2|0;c=c+2|0;if((u|0)!=(c|0)){continue}break}}if(!t){break i}c=b;b=l+(b<<4)|0;i=Q(Q(N[b+8>>2]*f)+Q(Q(N[b>>2]*d)+Q(g*N[b+4>>2])))>m?c:i}b=l+(i<<4)|0;d=N[b>>2];f=N[b+4>>2];g=N[b+8>>2];J[a+12>>2]=0;N[a+8>>2]=j*g;N[a+4>>2]=o*f;N[a>>2]=h*d;break a;default:break b}}ua[J[J[b>>2]+68>>2]](a,b,c)}sa=e+48|0}function nd(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,w=0,y=0,z=0,A=0;o=sa-16|0;sa=o;s=(B(a),v(2));e=s&2147483647;a:{if(e>>>0<=1305022426){j=+a;d=j*.6366197723675814+6755399441055744+-6755399441055744;r=j+d*-1.5707963109016418+d*-1.5893254773528196e-8;O[b>>3]=r;c=r<-.7853981852531433;if(R(d)<2147483648){e=~~d}else{e=-2147483648}if(c){d=d+-1;O[b>>3]=j+d*-1.5707963109016418+d*-1.5893254773528196e-8;e=e-1|0;break a}if(!(r>.7853981852531433)){break a}d=d+1;O[b>>3]=j+d*-1.5707963109016418+d*-1.5893254773528196e-8;e=e+1|0;break a}if(e>>>0>=2139095040){O[b>>3]=Q(a-a);e=0;break a}c=e;e=(e>>>23|0)-150|0;O[o+8>>3]=(x(2,c-(e<<23)|0),C());t=o+8|0;g=sa-560|0;sa=g;c=(e-3|0)/24|0;p=(c|0)>0?c:0;i=e+P(p,-24)|0;l=J[6604];if((l|0)>=0){e=l+1|0;c=p;while(1){O[(g+320|0)+(f<<3)>>3]=(c|0)<0?0:+J[(c<<2)+26432>>2];c=c+1|0;f=f+1|0;if((e|0)!=(f|0)){continue}break}}k=i-24|0;e=0;f=(l|0)>0?l:0;while(1){c=0;d=0;while(1){d=O[(c<<3)+t>>3]*O[(g+320|0)+(e-c<<3)>>3]+d;c=c+1|0;if((c|0)!=1){continue}break}O[(e<<3)+g>>3]=d;c=(e|0)==(f|0);e=e+1|0;if(!c){continue}break}z=47-i|0;u=48-i|0;A=i-25|0;e=l;b:{while(1){d=O[(e<<3)+g>>3];c=0;f=e;n=(e|0)<=0;if(!n){while(1){m=(g+480|0)+(c<<2)|0;j=d*5.960464477539063e-8;c:{if(R(j)<2147483648){h=~~j;break c}h=-2147483648}j=+(h|0);d=j*-16777216+d;d:{if(R(d)<2147483648){h=~~d;break d}h=-2147483648}J[m>>2]=h;f=f-1|0;d=O[(f<<3)+g>>3]+j;c=c+1|0;if((e|0)!=(c|0)){continue}break}}d=Ab(d,k);d=d+V(d*.125)*-8;e:{if(R(d)<2147483648){m=~~d;break e}m=-2147483648}d=d-+(m|0);f:{g:{h:{w=(k|0)<=0;i:{if(!w){f=(e<<2)+g|0;h=J[f+476>>2];c=h>>u;q=f;f=h-(c<>2]=f;m=c+m|0;h=f>>z;break i}if(k){break h}h=J[((e<<2)+g|0)+476>>2]>>23}if((h|0)<=0){break f}break g}h=2;if(d>=.5){break g}h=0;break f}c=0;f=0;if(!n){while(1){q=(g+480|0)+(c<<2)|0;n=J[q>>2];y=16777215;j:{k:{if(f){break k}y=16777216;if(n){break k}f=0;break j}J[q>>2]=y-n;f=1}c=c+1|0;if((e|0)!=(c|0)){continue}break}}l:{if(w){break l}c=8388607;m:{switch(A|0){case 1:c=4194303;break;case 0:break m;default:break l}}n=(e<<2)+g|0;J[n+476>>2]=J[n+476>>2]&c}m=m+1|0;if((h|0)!=2){break f}d=1-d;h=2;if(!f){break f}d=d-Ab(1,k)}if(d==0){f=0;n:{c=e;if((l|0)>=(e|0)){break n}while(1){c=c-1|0;f=J[(g+480|0)+(c<<2)>>2]|f;if((c|0)>(l|0)){continue}break}if(!f){break n}i=k;while(1){i=i-24|0;e=e-1|0;if(!J[(g+480|0)+(e<<2)>>2]){continue}break}break b}c=1;while(1){f=c;c=c+1|0;if(!J[(g+480|0)+(l-f<<2)>>2]){continue}break}f=e+f|0;while(1){e=e+1|0;O[(g+320|0)+(e<<3)>>3]=J[(e+p<<2)+26432>>2];c=0;d=0;while(1){d=O[(c<<3)+t>>3]*O[(g+320|0)+(e-c<<3)>>3]+d;c=c+1|0;if((c|0)!=1){continue}break}O[(e<<3)+g>>3]=d;if((e|0)<(f|0)){continue}break}e=f;continue}break}d=Ab(d,24-i|0);o:{if(d>=16777216){k=(g+480|0)+(e<<2)|0;j=d*5.960464477539063e-8;p:{if(R(j)<2147483648){c=~~j;break p}c=-2147483648}d=+(c|0)*-16777216+d;q:{if(R(d)<2147483648){f=~~d;break q}f=-2147483648}J[k>>2]=f;e=e+1|0;break o}if(R(d)<2147483648){c=~~d}else{c=-2147483648}i=k}J[(g+480|0)+(e<<2)>>2]=c}d=Ab(1,i);r:{if((e|0)<0){break r}c=e;while(1){f=c;O[(c<<3)+g>>3]=d*+J[(g+480|0)+(c<<2)>>2];c=c-1|0;d=d*5.960464477539063e-8;if(f){continue}break}if((e|0)<0){break r}f=e;while(1){d=0;c=0;i=e-f|0;k=(i|0)>(l|0)?l:i;if((k|0)>=0){while(1){d=O[(c<<3)+29200>>3]*O[(c+f<<3)+g>>3]+d;p=(c|0)!=(k|0);c=c+1|0;if(p){continue}break}}O[(g+160|0)+(i<<3)>>3]=d;c=(f|0)>0;f=f-1|0;if(c){continue}break}}d=0;if((e|0)>=0){while(1){c=e;e=e-1|0;d=d+O[(g+160|0)+(c<<3)>>3];if(c){continue}break}}O[o>>3]=h?-d:d;sa=g+560|0;e=m&7;d=O[o>>3];if((s|0)<0){O[b>>3]=-d;e=0-e|0;break a}O[b>>3]=d}sa=o+16|0;return e}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;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;a:{b:{c:{if((f|0)>=0){i=J[a+16>>2];if((i|0)>0){break c}break b}f=J[a+8>>2];Q(ua[J[J[f>>2]+12>>2]](f,b,c,d,e,J[a+12>>2],J[a+16>>2],J[a+4>>2],J[a+20>>2],J[a+24>>2]));return}m=J[a+12>>2];while(1){q=m+(g<<2)|0;j=J[q>>2];h=J[J[j+28>>2]+208>>2];if((h|0)<0){h=J[J[j+32>>2]+208>>2]}if((f|0)==(h|0)){break b}g=g+1|0;if((i|0)!=(g|0)){continue}break}q=0;break a}if((g|0)>=(i|0)){break a}h=i-g|0;k=h&1;j=J[a+12>>2];if((i|0)!=(g+1|0)){i=h&-2;m=0;while(1){l=j+(g<<2)|0;n=J[l>>2];h=J[J[n+28>>2]+208>>2];if((h|0)<0){h=J[J[n+32>>2]+208>>2]}g=g+2|0;o=((f|0)==(h|0))+o|0;l=J[l+4>>2];h=J[J[l+28>>2]+208>>2];if((h|0)<0){h=J[J[l+32>>2]+208>>2]}o=((f|0)==(h|0))+o|0;m=m+2|0;if((i|0)!=(m|0)){continue}break}}if(!k){break a}h=J[j+(g<<2)>>2];g=J[J[h+28>>2]+208>>2];if((g|0)<0){g=J[J[h+32>>2]+208>>2]}o=((f|0)==(g|0))+o|0}f=J[a+4>>2];if(J[f+80>>2]>=2){if((c|0)>0){g=J[a+36>>2];h=J[a+32>>2];j=0;while(1){n=(j<<2)+b|0;d:{if((g|0)!=(h|0)){break d}i=g?g<<1:1;if((i|0)<=(g|0)){h=g;break d}e:{if(!i){f=0;break e}J[8456]=J[8456]+1;f=ua[J[8258]](i<<2,16)|0;g=J[a+32>>2]}h=g;f:{if((g|0)<=0){break f}m=0;g=0;if(h>>>0>=4){r=h&-4;k=0;while(1){l=g<<2;J[l+f>>2]=J[l+J[a+40>>2]>>2];p=l|4;J[p+f>>2]=J[p+J[a+40>>2]>>2];p=l|8;J[p+f>>2]=J[p+J[a+40>>2]>>2];l=l|12;J[l+f>>2]=J[l+J[a+40>>2]>>2];g=g+4|0;k=k+4|0;if((r|0)!=(k|0)){continue}break}}k=h&3;if(!k){break f}while(1){l=g<<2;J[l+f>>2]=J[l+J[a+40>>2]>>2];g=g+1|0;m=m+1|0;if((k|0)!=(m|0)){continue}break}}g=J[a+40>>2];if(!(!g|!K[a+44|0])){if(g){J[8457]=J[8457]+1;ua[J[8259]](g)}h=J[a+32>>2]}J[a+40>>2]=f;H[a+44|0]=1;J[a+36>>2]=i;g=i}J[J[a+40>>2]+(h<<2)>>2]=J[n>>2];h=h+1|0;J[a+32>>2]=h;j=j+1|0;if((j|0)!=(c|0)){continue}break}}if((e|0)>0){g=J[a+56>>2];h=J[a+52>>2];j=0;while(1){i=(j<<2)+d|0;g:{if((g|0)!=(h|0)){break g}b=g?g<<1:1;if((b|0)<=(g|0)){h=g;break g}h:{if(!b){f=0;break h}J[8456]=J[8456]+1;f=ua[J[8258]](b<<2,16)|0;g=J[a+52>>2]}h=g;i:{if((g|0)<=0){break i}m=0;g=0;if(h>>>0>=4){l=h&-4;k=0;while(1){c=g<<2;J[c+f>>2]=J[c+J[a+60>>2]>>2];n=c|4;J[n+f>>2]=J[n+J[a+60>>2]>>2];n=c|8;J[n+f>>2]=J[n+J[a+60>>2]>>2];c=c|12;J[c+f>>2]=J[c+J[a+60>>2]>>2];g=g+4|0;k=k+4|0;if((l|0)!=(k|0)){continue}break}}c=h&3;if(!c){break i}while(1){k=g<<2;J[k+f>>2]=J[k+J[a+60>>2]>>2];g=g+1|0;m=m+1|0;if((c|0)!=(m|0)){continue}break}}c=J[a+60>>2];if(!(!c|!K[a+64|0])){if(c){J[8457]=J[8457]+1;ua[J[8259]](c)}h=J[a+52>>2]}J[a+60>>2]=f;H[a+64|0]=1;J[a+56>>2]=b;g=b}J[J[a+60>>2]+(h<<2)>>2]=J[i>>2];h=h+1|0;J[a+52>>2]=h;j=j+1|0;if((j|0)!=(e|0)){continue}break}}j:{if(!o){h=J[a+72>>2];break j}g=J[a+76>>2];h=J[a+72>>2];j=0;while(1){d=(j<<2)+q|0;k:{if((g|0)!=(h|0)){break k}b=g?g<<1:1;if((b|0)<=(g|0)){h=g;break k}l:{if(!b){f=0;break l}J[8456]=J[8456]+1;f=ua[J[8258]](b<<2,16)|0;g=J[a+72>>2]}h=g;m:{if((g|0)<=0){break m}m=0;g=0;if(h>>>0>=4){e=h&-4;k=0;while(1){c=g<<2;J[c+f>>2]=J[c+J[a+80>>2]>>2];i=c|4;J[i+f>>2]=J[i+J[a+80>>2]>>2];i=c|8;J[i+f>>2]=J[i+J[a+80>>2]>>2];c=c|12;J[c+f>>2]=J[c+J[a+80>>2]>>2];g=g+4|0;k=k+4|0;if((e|0)!=(k|0)){continue}break}}c=h&3;if(!c){break m}while(1){e=g<<2;J[e+f>>2]=J[e+J[a+80>>2]>>2];g=g+1|0;m=m+1|0;if((c|0)!=(m|0)){continue}break}}c=J[a+80>>2];if(!(!c|!K[a+84|0])){if(c){J[8457]=J[8457]+1;ua[J[8259]](c)}h=J[a+72>>2]}J[a+80>>2]=f;H[a+84|0]=1;J[a+76>>2]=b;g=b}J[J[a+80>>2]+(h<<2)>>2]=J[d>>2];h=h+1|0;J[a+72>>2]=h;j=j+1|0;if((o|0)!=(j|0)){continue}break}}if(J[J[a+4>>2]+80>>2]<(J[a+52>>2]+h|0)){wd(a)}return}g=J[a+8>>2];Q(ua[J[J[g>>2]+12>>2]](g,b,c,d,e,q,o,f,J[a+20>>2],J[a+24>>2]))}function Xn(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=Q(0);f=sa-32|0;sa=f;h=a+4|0;yf(h,((P(J[a+112>>2],J[a+16>>2])|0)/100|0)+1|0);if(J[a+124>>2]){c=((P(J[a+108>>2],J[a+56>>2])|0)/100|0)+1|0;yf(a+44|0,c);c=J[a+124>>2]-c|0;J[a+124>>2]=(c|0)>0?c:0}c=(J[a+104>>2]+1|0)%2|0;J[a+104>>2]=c;c=J[((c<<2)+a|0)+84>>2];if(c){g=a+44|0;while(1){d=J[c+52>>2];e=d?d+56|0:((J[c+60>>2]<<2)+a|0)+84|0;d=J[c+56>>2];J[e>>2]=d;e=J[c+56>>2];if(e){J[e+52>>2]=J[c+52>>2]}J[c+52>>2]=0;J[c+56>>2]=J[a+92>>2];e=J[a+92>>2];if(e){J[e+52>>2]=c}J[a+92>>2]=c;_b(h,J[c+48>>2]);e=J[c+28>>2];J[f+8>>2]=J[c+24>>2];J[f+12>>2]=e;e=J[c+20>>2];J[f>>2]=J[c+16>>2];J[f+4>>2]=e;e=J[c+44>>2];J[f+24>>2]=J[c+40>>2];J[f+28>>2]=e;e=J[c+36>>2];J[f+16>>2]=J[c+32>>2];J[f+20>>2]=e;e=$b(g,f,c);J[c+60>>2]=2;J[c+48>>2]=e;c=d;if(c){continue}break}H[a+154|0]=1;J[a+124>>2]=J[a+56>>2]}J[f>>2]=12044;J[f+4>>2]=a;a:{if(!K[a+153|0]){break a}Zb(h,J[a+4>>2],J[a+44>>2],f);if(!K[a+153|0]){break a}c=J[h>>2];Zb(h,c,c,f)}b:{if(!K[a+154|0]){break b}c=J[a+96>>2];e=ua[J[J[c>>2]+28>>2]](c)|0;c=J[e+4>>2];if((c|0)<=0){break b}c:{d=J[a+120>>2];h=(P(J[a+116>>2],c)|0)/100|0;d=(d|0)>(h|0)?d:h;g=(c|0)<(d|0)?c:d;if((g|0)>0){c=0;while(1){h=J[e+12>>2]+((J[a+144>>2]+c|0)%J[e+4>>2]<<4)|0;i=J[h>>2];d=J[i+48>>2];j=J[h+4>>2];h=J[j+48>>2];d:{e:{if(!(N[d>>2]<=N[h+16>>2])|!(N[d+16>>2]>=N[h>>2])|(!(N[d+4>>2]<=N[h+20>>2])|!(N[d+20>>2]>=N[h+4>>2]))){break e}if(!(N[d+8>>2]<=N[h+24>>2])){break e}if(N[d+24>>2]>=N[h+8>>2]){break d}}d=J[a+96>>2];ua[J[J[d>>2]+12>>2]](d,i,j,b)|0;c=c-1|0;g=g-1|0}c=c+1|0;if((g|0)>(c|0)){continue}break}c=J[e+4>>2];if((c|0)<=0){break c}}J[a+144>>2]=(J[a+144>>2]+g|0)%(c|0);break b}J[a+144>>2]=0}H[a+154|0]=0;J[a+120>>2]=1;J[a+140>>2]=J[a+140>>2]+1;c=J[a+132>>2];d=J[a+128>>2];if(d){m=Q(Q(c>>>0)/Q(d>>>0))}else{m=Q(0)}N[a+136>>2]=m;J[a+132>>2]=c>>>1;J[a+128>>2]=d>>>1;sa=f+32|0;d=0;c=0;j=0;l=sa-16|0;sa=l;f=J[a+96>>2];if(ua[J[J[f>>2]+56>>2]](f)|0){h=a;a=J[a+96>>2];g=ua[J[J[a>>2]+28>>2]](a)|0;a=J[g+4>>2];if((a|0)>=2){Yb(g,l+15|0,0,a-1|0);a=J[g+4>>2]}if((a|0)>0){while(1){i=J[g+12>>2]+(j<<4)|0;f=J[i+4>>2];e=d;d=J[i>>2];f:{g:{if((e|0)==(d|0)&(c|0)==(f|0)){break g}c=J[d+48>>2];e=J[f+48>>2];if(!(N[c>>2]<=N[e+16>>2])|!(N[c+16>>2]>=N[e>>2])|(!(N[c+4>>2]<=N[e+20>>2])|!(N[c+20>>2]>=N[e+4>>2]))){break g}if(!(N[c+8>>2]<=N[e+24>>2])){break g}if(N[c+24>>2]>=N[e+8>>2]){break f}}a=J[h+96>>2];ua[J[J[a>>2]+32>>2]](a,i,b);J[i>>2]=0;J[i+4>>2]=0;k=k+1|0;a=J[g+4>>2]}c=f;j=j+1|0;if((j|0)<(a|0)){continue}break}if((a|0)>=2){Yb(g,l+14|0,0,a-1|0);a=J[g+4>>2]}b=a-k|0;h:{if((k|0)>=0){break h}if((b|0)>J[g+8>>2]){d=0;i:{if((a|0)==(k|0)){break i}J[8456]=J[8456]+1;d=ua[J[8258]](b<<4,16)|0;e=J[g+4>>2];if((e|0)<=0){break i}c=0;while(1){h=c<<4;f=h+d|0;h=h+J[g+12>>2]|0;J[f>>2]=J[h>>2];J[f+4>>2]=J[h+4>>2];J[f+8>>2]=J[h+8>>2];J[f+12>>2]=J[h+12>>2];c=c+1|0;if((e|0)!=(c|0)){continue}break}}c=J[g+12>>2];if(!(c?!c|!K[g+16|0]:1)){J[8457]=J[8457]+1;ua[J[8259]](c)}J[g+12>>2]=d;H[g+16|0]=1;J[g+8>>2]=b}c=0;f=0-k&3;if(f){while(1){d=J[g+12>>2]+(a<<4)|0;J[d>>2]=0;J[d+4>>2]=0;J[d+8>>2]=0;J[d+12>>2]=0;a=a+1|0;c=c+1|0;if((f|0)!=(c|0)){continue}break}}if(k>>>0>4294967292){break h}while(1){c=a<<4;d=c+J[g+12>>2]|0;J[d>>2]=0;J[d+4>>2]=0;J[d+8>>2]=0;J[d+12>>2]=0;d=c+J[g+12>>2]|0;J[d+24>>2]=0;J[d+28>>2]=0;J[d+16>>2]=0;J[d+20>>2]=0;d=c+J[g+12>>2]|0;J[d+40>>2]=0;J[d+44>>2]=0;J[d+32>>2]=0;J[d+36>>2]=0;c=c+J[g+12>>2]|0;J[c+56>>2]=0;J[c+60>>2]=0;J[c+48>>2]=0;J[c+52>>2]=0;a=a+4|0;if((b|0)!=(a|0)){continue}break}}a=b}J[g+4>>2]=a}sa=l+16|0}function wi(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=Q(0),m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,I=0,L=0,M=0,O=0,R=0;h=b;d=J[a+28>>2];n=d+4|0;b=J[a+32>>2];o=b+4|0;p=d+372|0;q=b+372|0;r=d+388|0;s=b+388|0;i=sa-16|0;sa=i;c=a;a=J[c+1232>>2]-1|0;a:{if(a>>>0>4){j=1;a=2;break a}a=a<<2;f=J[a+23524>>2];j=J[a+23504>>2];a=J[a+23484>>2]}e=P(f,88)+c|0;if(J[e+1052>>2]|K[e+996|0]|K[(P(f,88)+c|0)+1016|0]){d=(f<<4)+c|0;k=d+1388|0;b=J[k+4>>2];J[i+8>>2]=J[k>>2];J[i+12>>2]=b;k=d+1380|0;b=J[k+4>>2];J[i>>2]=J[k>>2];J[i+4>>2]=b;b=J[c+1456>>2]>>(f<<2)+12;if(!(b&1)){N[(P(f,88)+c|0)+984>>2]=N[J[h+32>>2]>>2]}if(!(b&2)){N[(P(f,88)+c|0)+980>>2]=N[h+4>>2]}if(!(b&4)){N[(P(f,88)+c|0)+992>>2]=N[J[h+32>>2]>>2]}if(!(b&8)){N[(P(f,88)+c|0)+988>>2]=N[h+4>>2]}k=Ib(c,e+968|0,n,o,p,q,r,s,h,0,i,1,0)}f=P(j,88)+c|0;if(J[f+1052>>2]|K[f+996|0]|K[(P(j,88)+c|0)+1016|0]){e=(j<<4)+c|0;d=e+1388|0;b=J[d+4>>2];J[i+8>>2]=J[d>>2];J[i+12>>2]=b;d=e+1380|0;b=J[d+4>>2];J[i>>2]=J[d>>2];J[i+4>>2]=b;b=J[c+1456>>2]>>(j<<2)+12;if(!(b&1)){N[(P(j,88)+c|0)+984>>2]=N[J[h+32>>2]>>2]}if(!(b&2)){N[(P(j,88)+c|0)+980>>2]=N[h+4>>2]}if(!(b&4)){N[(P(j,88)+c|0)+992>>2]=N[J[h+32>>2]>>2]}if(!(b&8)){N[(P(j,88)+c|0)+988>>2]=N[h+4>>2]}k=Ib(c,f+968|0,n,o,p,q,r,s,h,k,i,1,0)+k|0}f=P(a,88)+c|0;if(J[f+1052>>2]|K[f+996|0]|K[(P(a,88)+c|0)+1016|0]){e=(a<<4)+c|0;d=e+1388|0;b=J[d+4>>2];J[i+8>>2]=J[d>>2];J[i+12>>2]=b;d=e+1380|0;b=J[d+4>>2];J[i>>2]=J[d>>2];J[i+4>>2]=b;b=J[c+1456>>2]>>(a<<2)+12;if(!(b&1)){N[(P(a,88)+c|0)+984>>2]=N[J[h+32>>2]>>2]}if(!(b&2)){N[(P(a,88)+c|0)+980>>2]=N[h+4>>2]}if(!(b&4)){N[(P(a,88)+c|0)+992>>2]=N[J[h+32>>2]>>2]}if(!(b&8)){N[(P(a,88)+c|0)+988>>2]=N[h+4>>2]}k=Ib(c,f+968|0,n,o,p,q,r,s,h,k,i,1,0)+k|0}sa=i+16|0;e=0;b=sa-112|0;sa=b;J[b+44>>2]=1063675494;J[b+48>>2]=0;J[b+36>>2]=1045220557;J[b+40>>2]=0;v=c+760|0;w=c+776|0;t=h+4|0;x=c+728|0;y=c+744|0;z=c+1268|0;A=c+1252|0;B=c+1236|0;C=c+876|0;D=c+892|0;E=c+696|0;F=c+860|0;G=c+840|0;I=c+820|0;L=c+804|0;M=c+924|0;O=c+908|0;R=c+940|0;i=c+712|0;u=c+680|0;while(1){d=K[(e+u|0)+112|0];b:{c:{g=e<<2;j=u+g|0;f=J[j+276>>2];if(f){break c}a=d;d=1;if(a){break c}d=0;if(K[(c+e|0)+798|0]){break c}a=e+1|0;break b}l=N[g+i>>2];J[b+108>>2]=f;N[b+32>>2]=l;N[b+104>>2]=N[g+R>>2];N[b+96>>2]=N[g+O>>2];l=N[g+M>>2];H[b+52|0]=d;N[b+100>>2]=l;a=c+e|0;H[b+64|0]=K[a+795|0];N[b+68>>2]=N[g+L>>2];H[b+72|0]=K[a+798|0];N[b+76>>2]=N[g+I>>2];H[b+80|0]=K[a+836|0];N[b+84>>2]=N[g+G>>2];H[b+88|0]=K[a+856|0];N[b+92>>2]=N[g+F>>2];N[b+28>>2]=N[g+E>>2];N[b+24>>2]=N[j>>2];N[b+60>>2]=N[g+D>>2];N[b+56>>2]=N[g+C>>2];N[b+8>>2]=N[g+B>>2];N[b+12>>2]=N[g+A>>2];l=N[g+z>>2];J[b+20>>2]=0;N[b+16>>2]=l;d=J[c+1456>>2]>>g;N[b+40>>2]=N[(d&1?g+y|0:J[h+32>>2])>>2];N[b+36>>2]=N[(d&2?g+x|0:t)>>2];N[b+48>>2]=N[(d&4?g+w|0:J[h+32>>2])>>2];N[b+44>>2]=N[(d&8?g+v|0:t)>>2];j=1;f=e?e-1|0:2;d=1;d:{e:{f:{g:{a=e+1|0;e=P(e>>>0<2?a:e-2|0,88)+c|0;switch(J[e+1052>>2]-1|0){case 0:case 1:break d;case 3:break f;case 2:break g;default:break e}}m=+N[e+1040>>2];d=m<-.001|m>.001;break d}if(+N[e+1040>>2]<-.001){break d}d=+N[e+1044>>2]>.001;break d}d=0}h:{i:{j:{k:{e=P(f,88)+c|0;switch(J[e+1052>>2]-1|0){case 0:case 1:break i;case 3:break j;case 2:break k;default:break h}}m=+N[e+1040>>2];if(m<-.001|m>.001){break i}break h}if(+N[e+1040>>2]<-.001){break i}if(!(+N[e+1044>>2]>.001)){break h}}j=0}k=Ib(c,b+24|0,n,o,p,q,r,s,h,k,b+8|0,0,d?j:1)+k|0}e=a;if((e|0)!=3){continue}break}sa=b+112|0}function Zd(a,b,c,d){var e=0,f=0,g=Q(0),h=Q(0),i=Q(0),j=Q(0),k=Q(0),l=Q(0),m=Q(0),n=Q(0),o=Q(0),p=Q(0),q=Q(0),r=Q(0),s=0,t=Q(0),u=Q(0),v=Q(0),w=Q(0),x=Q(0),y=Q(0),z=Q(0),A=Q(0),B=Q(0),C=0,D=Q(0),E=Q(0),F=Q(0),G=Q(0),I=Q(0),K=Q(0),L=Q(0),M=0,O=Q(0),P=Q(0),R=Q(0),S=Q(0),T=Q(0),U=Q(0),V=Q(0),W=Q(0),X=Q(0),Y=Q(0),Z=Q(0),_=0,$=0,aa=Q(0),ba=Q(0),ca=Q(0),da=Q(0),ea=Q(0),fa=Q(0);e=sa-240|0;sa=e;a:{if(J[a+16>>2]){Kb(J[a+4>>2]);f=J[a+12>>2];s=J[f+4>>2];M=J[a+16>>2];_=J[M+4>>2];h=Q(ua[J[J[f>>2]+48>>2]](f));C=J[a+16>>2];j=Q(ua[J[J[C>>2]+48>>2]](C));C=J[a+4>>2];$=J[a+8>>2];a=e+160|0;J[a+72>>2]=1;J[a+76>>2]=1;J[a+60>>2]=-1;H[a+52|0]=0;N[a+48>>2]=j;N[a+44>>2]=h;J[a+40>>2]=_;J[a+36>>2]=s;J[a+32>>2]=M;J[a+28>>2]=f;J[a+24>>2]=C;J[a+20>>2]=$;J[a+4>>2]=0;J[a+8>>2]=1065353216;J[a+12>>2]=0;J[a+16>>2]=0;J[a>>2]=22784;J[e+152>>2]=1566444395;f=J[b+12>>2];J[e+32>>2]=J[b+8>>2];J[e+36>>2]=f;f=J[b+4>>2];J[e+24>>2]=J[b>>2];J[e+28>>2]=f;f=J[b+28>>2];J[e+48>>2]=J[b+24>>2];J[e+52>>2]=f;f=J[b+20>>2];J[e+40>>2]=J[b+16>>2];J[e+44>>2]=f;s=J[b+44>>2];f=e- -64|0;J[f>>2]=J[b+40>>2];J[f+4>>2]=s;f=J[b+36>>2];J[e+56>>2]=J[b+32>>2];J[e+60>>2]=f;f=J[b+60>>2];J[e+80>>2]=J[b+56>>2];J[e+84>>2]=f;f=J[b+52>>2];J[e+72>>2]=J[b+48>>2];J[e+76>>2]=f;b=J[c+12>>2];J[e+96>>2]=J[c+8>>2];J[e+100>>2]=b;b=J[c+4>>2];J[e+88>>2]=J[c>>2];J[e+92>>2]=b;b=J[c+20>>2];J[e+104>>2]=J[c+16>>2];J[e+108>>2]=b;b=J[c+28>>2];J[e+112>>2]=J[c+24>>2];J[e+116>>2]=b;b=J[c+44>>2];J[e+128>>2]=J[c+40>>2];J[e+132>>2]=b;b=J[c+36>>2];J[e+120>>2]=J[c+32>>2];J[e+124>>2]=b;b=J[c+52>>2];J[e+136>>2]=J[c+48>>2];J[e+140>>2]=b;b=J[c+60>>2];J[e+144>>2]=J[c+56>>2];J[e+148>>2]=b;Za(a,e+24|0,d,0,0);break a}E=N[b+52>>2];F=N[b+56>>2];G=N[c+52>>2];I=N[c+56>>2];k=N[b+20>>2];l=N[b+36>>2];h=N[c+20>>2];j=N[c+36>>2];g=N[c+24>>2];m=N[b+24>>2];i=N[c+40>>2];p=N[b+40>>2];K=N[b+48>>2];aa=N[c+48>>2];f=J[a+12>>2];q=N[b+32>>2];r=N[b+16>>2];t=N[b>>2];u=N[b+4>>2];y=N[c+32>>2];z=N[c+16>>2];A=N[c>>2];B=N[c+4>>2];n=N[c+8>>2];v=N[b+8>>2];a=J[a+20>>2];w=N[a+60>>2];b=a- -64|0;x=N[b>>2];o=N[a+56>>2];J[e+172>>2]=0;O=Q(Q(p*y)+Q(Q(v*A)+Q(m*z)));o=Q(-o);P=Q(Q(p*j)+Q(Q(v*B)+Q(m*h)));D=Q(Q(p*i)+Q(Q(v*n)+Q(m*g)));N[e+168>>2]=Q(Q(O*o)-Q(w*P))-Q(x*D);R=Q(Q(l*y)+Q(Q(u*A)+Q(k*z)));S=Q(Q(l*j)+Q(Q(u*B)+Q(k*h)));T=Q(Q(l*i)+Q(Q(u*n)+Q(k*g)));N[e+164>>2]=Q(Q(R*o)-Q(w*S))-Q(x*T);U=Q(Q(q*y)+Q(Q(t*A)+Q(r*z)));V=Q(Q(q*j)+Q(Q(t*B)+Q(r*h)));W=Q(Q(q*i)+Q(Q(t*n)+Q(r*g)));N[e+160>>2]=Q(Q(U*o)-Q(w*V))-Q(x*W);s=e+160|0;ua[J[J[f>>2]+64>>2]](e+24|0,f,s);k=N[a+60>>2];l=N[b>>2];ba=N[a+72>>2];m=N[a+56>>2];p=N[e+24>>2];q=N[e+28>>2];r=N[e+32>>2];ca=N[c+52>>2];t=N[c+24>>2];u=N[c+20>>2];da=N[c+56>>2];v=N[c+40>>2];w=N[c+36>>2];ea=N[c+48>>2];x=N[c+8>>2];o=N[c>>2];X=N[c+4>>2];Y=N[c+16>>2];Z=N[c+32>>2];J[e+172>>2]=0;fa=Q(Q(F*i)+Q(Q(K*n)+Q(E*g)));L=n;n=Q(-aa);g=Q(Q(fa+Q(Q(Q(L*n)-Q(g*G))-Q(i*I)))+Q(Q(r*D)+Q(Q(p*W)+Q(T*q))));L=g;D=Q(l*g);g=Q(Q(Q(Q(F*y)+Q(Q(K*A)+Q(E*z)))+Q(Q(Q(A*n)-Q(z*G))-Q(y*I)))+Q(Q(r*O)+Q(Q(p*U)+Q(R*q))));i=Q(Q(Q(Q(F*j)+Q(Q(K*B)+Q(E*h)))+Q(Q(Q(B*n)-Q(h*G))-Q(j*I)))+Q(Q(r*P)+Q(Q(p*V)+Q(S*q))));h=Q(Q(D+Q(Q(m*g)+Q(k*i)))-ba);j=Q(L-Q(l*h));g=Q(g-Q(m*h));i=Q(i-Q(k*h));N[e+168>>2]=da+Q(Q(v*j)+Q(Q(Z*g)+Q(w*i)));N[e+164>>2]=ca+Q(Q(j*t)+Q(Q(g*Y)+Q(i*u)));N[e+160>>2]=ea+Q(Q(j*x)+Q(Q(g*o)+Q(i*X)));J[e+20>>2]=0;N[e+16>>2]=Q(v*l)+Q(Q(Z*m)+Q(k*w));N[e+12>>2]=Q(t*l)+Q(Q(Y*m)+Q(k*u));N[e+8>>2]=Q(x*l)+Q(Q(o*m)+Q(k*X));ua[J[J[d>>2]+16>>2]](d,e+8|0,s,h)}sa=e+240|0}function Hd(a,b){var c=0,d=Q(0),e=Q(0),f=Q(0),g=Q(0),h=Q(0),i=Q(0),j=Q(0),k=Q(0),l=Q(0),m=Q(0),n=Q(0),o=Q(0),p=Q(0),q=Q(0),r=Q(0),s=Q(0),t=0;J[a+372>>2]=0;J[a+376>>2]=0;J[a+252>>2]=2;J[a+604>>2]=1065353216;J[a+608>>2]=1065353216;J[a+408>>2]=1065353216;J[a+412>>2]=1065353216;J[a+472>>2]=0;J[a+476>>2]=0;J[a+380>>2]=0;J[a+384>>2]=0;J[a+388>>2]=0;J[a+392>>2]=0;J[a+396>>2]=0;J[a+400>>2]=0;J[a+612>>2]=1065353216;J[a+616>>2]=0;J[a+420>>2]=0;J[a+424>>2]=0;J[a+416>>2]=1065353216;J[a+428>>2]=0;J[a+432>>2]=0;J[a+436>>2]=0;J[a+440>>2]=0;J[a+444>>2]=0;J[a+448>>2]=0;J[a+452>>2]=0;J[a+480>>2]=0;J[a+484>>2]=0;J[a+488>>2]=0;J[a+492>>2]=0;J[a+496>>2]=0;J[a+500>>2]=0;g=N[b+92>>2];d=N[b+96>>2];N[a+508>>2]=dQ(1)?Q(1):d;N[a+504>>2]=gQ(1)?Q(1):g;N[a+532>>2]=N[b+116>>2];N[a+536>>2]=N[b+120>>2];c=J[b+4>>2];J[a+668>>2]=0;J[a+672>>2]=0;J[a+540>>2]=c;H[a+512|0]=K[b+124|0];N[a+516>>2]=N[b+128>>2];N[a+520>>2]=N[b+132>>2];N[a+524>>2]=N[b+136>>2];N[a+528>>2]=N[b+140>>2];a:{if(c){ua[J[J[c>>2]+8>>2]](c,a+4|0);break a}c=J[b+12>>2];J[a+4>>2]=J[b+8>>2];J[a+8>>2]=c;c=J[b+20>>2];J[a+12>>2]=J[b+16>>2];J[a+16>>2]=c;c=J[b+36>>2];J[a+28>>2]=J[b+32>>2];J[a+32>>2]=c;c=J[b+28>>2];J[a+20>>2]=J[b+24>>2];J[a+24>>2]=c;c=J[b+44>>2];J[a+36>>2]=J[b+40>>2];J[a+40>>2]=c;c=J[b+52>>2];J[a+44>>2]=J[b+48>>2];J[a+48>>2]=c;c=b- -64|0;t=J[c+4>>2];J[a+60>>2]=J[c>>2];J[a+64>>2]=t;c=J[b+60>>2];J[a+52>>2]=J[b+56>>2];J[a+56>>2]=c}J[a+132>>2]=0;J[a+136>>2]=0;c=J[a+8>>2];J[a+68>>2]=J[a+4>>2];J[a+72>>2]=c;J[a+156>>2]=0;J[a+160>>2]=0;J[a+148>>2]=0;J[a+152>>2]=0;J[a+140>>2]=0;J[a+144>>2]=0;c=J[a+24>>2];J[a+84>>2]=J[a+20>>2];J[a+88>>2]=c;c=J[a+16>>2];J[a+76>>2]=J[a+12>>2];J[a+80>>2]=c;c=J[a+32>>2];J[a+92>>2]=J[a+28>>2];J[a+96>>2]=c;c=J[a+40>>2];J[a+100>>2]=J[a+36>>2];J[a+104>>2]=c;c=J[a+48>>2];J[a+108>>2]=J[a+44>>2];J[a+112>>2]=c;c=J[a+56>>2];J[a+116>>2]=J[a+52>>2];J[a+120>>2]=c;c=J[a+64>>2];J[a+124>>2]=J[a+60>>2];J[a+128>>2]=c;N[a+228>>2]=N[b+100>>2];N[a+236>>2]=N[b+104>>2];N[a+240>>2]=N[b+108>>2];N[a+232>>2]=N[b+112>>2];ua[J[J[a>>2]+8>>2]](a,J[b+72>>2]);c=J[8931];J[8931]=c+1;J[a+568>>2]=c;g=Q(0);c=J[a+204>>2];d=N[b>>2];if(d==Q(0)){c=c|1}else{g=Q(Q(1)/d);c=c&-2}N[a+404>>2]=g;J[a+204>>2]=c;J[a+436>>2]=0;N[a+424>>2]=d*N[a+440>>2];N[a+432>>2]=d*N[a+448>>2];N[a+428>>2]=d*N[a+444>>2];e=N[b+84>>2];f=N[b+80>>2];d=N[b+76>>2];J[a+564>>2]=8;J[a+368>>2]=0;J[a+352>>2]=0;J[a+336>>2]=0;J[a+468>>2]=0;d=d!=Q(0)?Q(Q(1)/d):Q(0);N[a+456>>2]=d;f=f!=Q(0)?Q(Q(1)/f):Q(0);N[a+460>>2]=f;e=e!=Q(0)?Q(Q(1)/e):Q(0);N[a+464>>2]=e;m=N[a+12>>2];h=Q(e*m);n=N[a+4>>2];i=Q(d*n);o=N[a+8>>2];j=Q(f*o);N[a+324>>2]=Q(m*h)+Q(Q(n*i)+Q(o*j));p=N[a+28>>2];q=N[a+20>>2];r=N[a+24>>2];N[a+328>>2]=Q(p*h)+Q(Q(q*i)+Q(j*r));s=N[a+44>>2];k=Q(s*h);h=N[a+36>>2];l=Q(h*i);i=N[a+40>>2];N[a+332>>2]=k+Q(l+Q(j*i));j=Q(e*p);k=Q(d*q);l=Q(f*r);N[a+340>>2]=Q(m*j)+Q(Q(n*k)+Q(o*l));N[a+344>>2]=Q(p*j)+Q(Q(q*k)+Q(r*l));N[a+348>>2]=Q(s*j)+Q(Q(h*k)+Q(l*i));e=Q(e*s);d=Q(d*h);f=Q(f*i);N[a+356>>2]=Q(m*e)+Q(Q(n*d)+Q(o*f));N[a+360>>2]=Q(p*e)+Q(Q(q*d)+Q(r*f));N[a+364>>2]=Q(s*e)+Q(Q(h*d)+Q(i*f));d=N[a+408>>2];f=N[a+412>>2];e=N[a+416>>2];J[a+596>>2]=0;J[a+600>>2]=0;J[a+588>>2]=0;J[a+592>>2]=0;J[a+580>>2]=0;J[a+584>>2]=0;J[a+572>>2]=0;J[a+576>>2]=0;N[a+628>>2]=g*e;N[a+624>>2]=g*f;N[a+620>>2]=g*d;J[a+664>>2]=0;J[a+656>>2]=0;J[a+660>>2]=0;J[a+648>>2]=0;J[a+652>>2]=0;J[a+640>>2]=0;J[a+644>>2]=0;J[a+632>>2]=0;J[a+636>>2]=0}function zo(a,b,c,d,e,f){a=a|0;b=Q(b);c=Q(c);d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=Q(0),k=Q(0),l=Q(0),m=0,n=Q(0),o=Q(0),p=Q(0),q=Q(0),r=0,s=Q(0),t=Q(0),u=Q(0),v=Q(0),w=Q(0),x=Q(0),y=Q(0),z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0;g=sa-144|0;sa=g;J[g+136>>2]=0;J[g+140>>2]=0;J[g+128>>2]=0;J[g+132>>2]=0;z=g+128|0;m=d<<2;N[z+m>>2]=-c;J[g+120>>2]=0;J[g+124>>2]=0;J[g+112>>2]=0;J[g+116>>2]=0;A=g+112|0;N[m+A>>2]=c;h=J[e+12>>2];J[g+56>>2]=J[e+8>>2];J[g+60>>2]=h;h=J[e+4>>2];J[g+48>>2]=J[e>>2];J[g+52>>2]=h;h=J[e+28>>2];J[g+72>>2]=J[e+24>>2];J[g+76>>2]=h;h=J[e+20>>2];J[g+64>>2]=J[e+16>>2];J[g+68>>2]=h;h=J[e+44>>2];J[g+88>>2]=J[e+40>>2];J[g+92>>2]=h;h=J[e+36>>2];J[g+80>>2]=J[e+32>>2];J[g+84>>2]=h;k=N[e+8>>2];p=N[e+56>>2];v=N[e+40>>2];w=N[e+36>>2];x=N[e+48>>2];y=N[e>>2];n=N[e+4>>2];o=N[e+32>>2];c=N[g+136>>2];j=N[g+128>>2];l=N[g+132>>2];N[g+100>>2]=Q(Q(c*N[e+24>>2])+Q(Q(j*N[e+16>>2])+Q(l*N[e+20>>2])))+N[e+52>>2];J[g+108>>2]=0;N[g+104>>2]=p+Q(Q(c*v)+Q(Q(j*o)+Q(l*w)));N[g+96>>2]=x+Q(Q(c*k)+Q(Q(j*y)+Q(l*n)));h=J[g+108>>2];J[g+40>>2]=J[g+104>>2];J[g+44>>2]=h;h=J[g+100>>2];J[g+32>>2]=J[g+96>>2];J[g+36>>2]=h;h=(d+1|0)%3<<2;r=g+48|0;D=h+r|0;N[g+16>>2]=N[D>>2];B=g- -64|0;E=B+h|0;N[g+20>>2]=N[E>>2];C=g+80|0;F=C+h|0;c=N[F>>2];J[g+28>>2]=0;N[g+24>>2]=c;B=m+B|0;c=N[B>>2];C=m+C|0;j=N[C>>2];J[g+12>>2]=0;m=m+r|0;N[g>>2]=-N[m>>2];N[g+8>>2]=-j;N[g+4>>2]=-c;r=g+32|0;G=g+16|0;ua[J[J[a>>2]+72>>2]](a,r,G,g,b,Q(-1.5707963705062866),Q(1.5707963705062866),Q(-1.5707963705062866),Q(1.5707963705062866),f,Q(30),0);i=J[e+12>>2];J[g+56>>2]=J[e+8>>2];J[g+60>>2]=i;i=J[e+4>>2];J[g+48>>2]=J[e>>2];J[g+52>>2]=i;i=J[e+28>>2];J[g+72>>2]=J[e+24>>2];J[g+76>>2]=i;i=J[e+20>>2];J[g+64>>2]=J[e+16>>2];J[g+68>>2]=i;i=J[e+44>>2];J[g+88>>2]=J[e+40>>2];J[g+92>>2]=i;i=J[e+36>>2];J[g+80>>2]=J[e+32>>2];J[g+84>>2]=i;k=N[e+8>>2];p=N[e+56>>2];v=N[e+40>>2];w=N[e+36>>2];c=N[e+52>>2];j=N[e+24>>2];l=N[e+20>>2];x=N[e+48>>2];y=N[e>>2];n=N[e+4>>2];o=N[e+32>>2];q=N[e+16>>2];J[g+108>>2]=0;s=c;c=N[g+120>>2];t=Q(j*c);j=N[g+112>>2];u=l;l=N[g+116>>2];N[g+100>>2]=s+Q(t+Q(Q(q*j)+Q(u*l)));N[g+104>>2]=p+Q(Q(c*v)+Q(Q(j*o)+Q(l*w)));N[g+96>>2]=x+Q(Q(c*k)+Q(Q(j*y)+Q(l*n)));i=J[g+108>>2];J[g+40>>2]=J[g+104>>2];J[g+44>>2]=i;i=J[g+100>>2];J[g+32>>2]=J[g+96>>2];J[g+36>>2]=i;N[g+16>>2]=N[D>>2];N[g+20>>2]=N[E>>2];c=N[F>>2];J[g+28>>2]=0;N[g+24>>2]=c;N[g>>2]=N[m>>2];N[g+4>>2]=N[B>>2];c=N[C>>2];J[g+12>>2]=0;N[g+8>>2]=c;ua[J[J[a>>2]+72>>2]](a,r,G,g,b,Q(-1.5707963705062866),Q(1.5707963705062866),Q(-1.5707963705062866),Q(1.5707963705062866),f,Q(30),0);d=(d+2|0)%3<<2;m=d+A|0;r=d+z|0;A=h+A|0;h=h+z|0;c=N[e+56>>2];j=N[e+52>>2];l=N[e+48>>2];d=0;while(1){k=Q(Q(d|0)*Q(.01745329238474369));p=Q(Na(k)*b);N[h>>2]=p;N[A>>2]=p;k=Q(Ma(k)*b);N[r>>2]=k;N[m>>2]=k;k=N[e+8>>2];p=N[e>>2];v=N[e+4>>2];w=N[e+24>>2];x=N[e+16>>2];y=N[e+20>>2];n=N[e+40>>2];o=N[e+32>>2];q=N[e+36>>2];J[g+60>>2]=0;s=N[g+136>>2];u=N[g+128>>2];t=N[g+132>>2];N[g+56>>2]=c+Q(Q(n*s)+Q(Q(o*u)+Q(q*t)));N[g+52>>2]=j+Q(Q(w*s)+Q(Q(x*u)+Q(t*y)));N[g+48>>2]=l+Q(Q(k*s)+Q(Q(p*u)+Q(v*t)));J[g+44>>2]=0;s=n;n=N[g+120>>2];u=o;o=N[g+112>>2];t=q;q=N[g+116>>2];N[g+40>>2]=c+Q(Q(s*n)+Q(Q(u*o)+Q(t*q)));N[g+36>>2]=j+Q(Q(w*n)+Q(Q(x*o)+Q(y*q)));N[g+32>>2]=l+Q(Q(k*n)+Q(Q(p*o)+Q(v*q)));ua[J[J[a>>2]+16>>2]](a,g+48|0,g+32|0,f);z=d>>>0<330;d=d+30|0;if(z){continue}break}sa=g+144|0}function Ib(a,b,c,d,e,f,g,h,i,j,k,l,m){var n=Q(0),o=Q(0),p=0,q=Q(0),r=Q(0),s=0,t=Q(0),u=Q(0),v=Q(0),w=Q(0),x=Q(0),y=Q(0),z=Q(0);j=P(J[i+24>>2],j);a:{b:{c:{switch(J[b+84>>2]-3|0){case 1:p=l?g:e;q=N[p+8>>2];u=N[p>>2];z=N[p+4>>2];p=l?h:f;w=N[p+8>>2];x=N[p>>2];v=N[p+4>>2];o=N[k+8>>2];n=N[k>>2];r=N[k+4>>2];jb(a,c,d,i,j,k,l,m);p=J[i+28>>2]+(j<<2)|0;y=l?Q(-1):Q(1);t=Q(y*Q(Q(N[i>>2]*N[b+12>>2])*N[b+72>>2]));N[p>>2]=t;n=Q(Q(Q(q*o)+Q(Q(u*n)+Q(z*r)))-Q(Q(w*o)+Q(Q(x*n)+Q(r*v))));q=Q(t-Q(n*N[b+12>>2]));d:{e:{if(l){o=Q(0);r=Q(34028234663852886e22);if(!(q>Q(0))){break d}q=Q(n*Q(-N[b+8>>2]));if(t>2]));if(!(t>q)){break d}}N[p>>2]=q}p=j<<2;N[p+J[i+36>>2]>>2]=o;N[p+J[i+40>>2]>>2]=r;N[p+J[i+32>>2]>>2]=N[b+16>>2];j=J[i+24>>2]+j|0;jb(a,c,d,i,j,k,l,m);p=J[i+28>>2]+(j<<2)|0;q=Q(y*Q(Q(N[i>>2]*N[b+12>>2])*N[b+76>>2]));N[p>>2]=q;t=Q(q-Q(n*N[b+12>>2]));f:{g:{if(l){r=Q(0);o=Q(-34028234663852886e22);if(!(t>2]));if(q>n){break g}break f}o=Q(0);r=Q(34028234663852886e22);if(!(t>Q(0))){break f}n=Q(n*Q(-N[b+8>>2]));if(!(q>2]=n}s=b+16|0;p=j<<2;N[p+J[i+36>>2]>>2]=o;N[p+J[i+40>>2]>>2]=r;p=2;break b;case 0:break c;default:break a}}jb(a,c,d,i,j,k,l,m);p=j<<2;N[p+J[i+28>>2]>>2]=Q(Q(N[i>>2]*N[b+12>>2])*N[b+72>>2])*Q((l?-1:1)|0);J[p+J[i+36>>2]>>2]=-8388609;J[p+J[i+40>>2]>>2]=2139095039;s=b+16|0;p=1}N[J[i+32>>2]+(j<<2)>>2]=N[s>>2];j=J[i+24>>2]+j|0}h:{if(!K[b+28|0]){break h}if(!K[b+40|0]){jb(a,c,d,i,j,k,l,m);o=N[b+32>>2];o=Hb(N[b+80>>2],N[b>>2],N[b+4>>2],l?o:Q(-o),Q(N[i>>2]*N[b+20>>2]));s=j<<2;N[s+J[i+28>>2]>>2]=o*N[b+32>>2];N[s+J[i+36>>2]>>2]=-N[b+36>>2];N[s+J[i+40>>2]>>2]=N[b+36>>2];N[s+J[i+32>>2]>>2]=N[b+24>>2];p=p+1|0;j=J[i+24>>2]+j|0;if(!K[b+28|0]|!K[b+40|0]){break h}}o=N[b+44>>2];n=Q(N[b+80>>2]-o);i:{if(!l){break i}s=n>Q(3.1415927410125732);o=s?Q(o+Q(6.2831854820251465)):o;n=s?Q(n+Q(-6.2831854820251465)):n;if(!(n>2];t=n>2];r=N[b>>2];q=N[b+4>>2];j:{if(r>q){q=nQ(0)?o:Q(-34028234663852886e22);break j}q=nQ(0)?o>r?o:r:r}r=Hb(v,n,q,u,Q(N[i>>2]*N[b+20>>2]))}s=j<<2;N[s+J[i+28>>2]>>2]=Q(t*r)*Q((l?-1:1)|0);N[s+J[i+36>>2]>>2]=-N[b+36>>2];N[s+J[i+40>>2]>>2]=N[b+36>>2];N[s+J[i+32>>2]>>2]=N[b+24>>2];p=p+1|0;j=J[i+24>>2]+j|0}if(K[b+48|0]){q=N[b+68>>2];u=N[b+80>>2];jb(a,c,d,i,j,k,l,m);c=l?g:e;o=N[k+8>>2];n=N[k>>2];r=N[k+4>>2];v=Q(Q(N[c+8>>2]*o)+Q(Q(N[c>>2]*n)+Q(N[c+4>>2]*r)));c=l?h:f;t=Q(v-Q(Q(N[c+8>>2]*o)+Q(Q(N[c>>2]*n)+Q(r*N[c+4>>2]))));o=Q(Q(1)/N[J[a+32>>2]+404>>2]);n=Q(Q(1)/N[J[a+28>>2]+404>>2]);r=n>o?o:n;u=Q(u-q);q=N[b+60>>2];n=Q(Q(1)/N[i>>2]);o=N[b+52>>2];if(!(!K[b+56|0]|!(Q(n*Q(Y(Q(o/r))))>Q(.25)))){o=Q(Q(Q(Q(Q(1)/n)/n)*Q(.0625))*r)}a=j<<2;w=Q(n*Q(u*o));v=n;x=Q(t*Q(-(K[b+64|0]?r>2]>>2]=Q(r*n)+t;b=o>r;n=b?o:r;o=b?r:o;k:{if(!l){N[a+J[i+36>>2]>>2]=o>Q(0)?Q(0):o;break k}N[a+J[i+36>>2]>>2]=n>2]>>2]=n>2]>>2]=0;p=p+1|0}return p}function Ld(a,b,c,d,e,f){a=mc(a,12,b,c);J[a>>2]=23392;b=J[d+12>>2];J[a+56>>2]=J[d+8>>2];J[a+60>>2]=b;b=J[d+4>>2];J[a+48>>2]=J[d>>2];J[a+52>>2]=b;b=J[d+28>>2];J[a+72>>2]=J[d+24>>2];J[a+76>>2]=b;c=J[d+20>>2];b=a- -64|0;J[b>>2]=J[d+16>>2];J[b+4>>2]=c;b=J[d+44>>2];J[a+88>>2]=J[d+40>>2];J[a+92>>2]=b;b=J[d+36>>2];J[a+80>>2]=J[d+32>>2];J[a+84>>2]=b;b=J[d+60>>2];J[a+104>>2]=J[d+56>>2];J[a+108>>2]=b;b=J[d+52>>2];J[a+96>>2]=J[d+48>>2];J[a+100>>2]=b;b=J[e+12>>2];J[a+120>>2]=J[e+8>>2];J[a+124>>2]=b;b=J[e+4>>2];J[a+112>>2]=J[e>>2];J[a+116>>2]=b;b=J[e+20>>2];J[a+128>>2]=J[e+16>>2];J[a+132>>2]=b;b=J[e+28>>2];J[a+136>>2]=J[e+24>>2];J[a+140>>2]=b;b=J[e+36>>2];J[a+144>>2]=J[e+32>>2];J[a+148>>2]=b;b=J[e+44>>2];J[a+152>>2]=J[e+40>>2];J[a+156>>2]=b;b=J[e+52>>2];J[a+160>>2]=J[e+48>>2];J[a+164>>2]=b;b=J[e+60>>2];J[a+168>>2]=J[e+56>>2];J[a+172>>2]=b;J[a+680>>2]=0;J[a+684>>2]=0;J[a+688>>2]=0;J[a+692>>2]=0;J[a+696>>2]=0;J[a+700>>2]=0;J[a+704>>2]=0;J[a+708>>2]=0;J[a+712>>2]=0;J[a+716>>2]=0;J[a+720>>2]=0;J[a+724>>2]=0;J[a+728>>2]=1045220557;J[a+732>>2]=1045220557;J[a+736>>2]=1045220557;J[a+756>>2]=0;J[a+748>>2]=0;J[a+752>>2]=0;J[a+740>>2]=0;J[a+744>>2]=0;J[a+760>>2]=1063675494;J[a+764>>2]=1063675494;J[a+768>>2]=1063675494;J[a+812>>2]=0;J[a+804>>2]=0;J[a+808>>2]=0;J[a+828>>2]=0;J[a+820>>2]=0;J[a+824>>2]=0;H[a+838|0]=0;I[a+836>>1]=0;J[a+848>>2]=0;J[a+840>>2]=0;J[a+844>>2]=0;H[a+858|0]=0;I[a+856>>1]=0;J[a+868>>2]=0;J[a+860>>2]=0;J[a+864>>2]=0;J[a+884>>2]=0;J[a+876>>2]=0;J[a+880>>2]=0;J[a+900>>2]=0;J[a+892>>2]=0;J[a+896>>2]=0;H[a+793|0]=0;H[a+794|0]=0;H[a+795|0]=0;H[a+796|0]=0;H[a+797|0]=0;H[a+798|0]=0;H[a+799|0]=0;H[a+800|0]=0;J[a+788>>2]=0;J[a+792>>2]=0;J[a+780>>2]=0;J[a+784>>2]=0;J[a+772>>2]=0;J[a+776>>2]=0;J[a+964>>2]=0;J[a+956>>2]=0;J[a+960>>2]=0;J[a+948>>2]=0;J[a+952>>2]=0;J[a+940>>2]=0;J[a+944>>2]=0;J[a+932>>2]=0;J[a+936>>2]=0;J[a+924>>2]=0;J[a+928>>2]=0;J[a+916>>2]=0;J[a+920>>2]=0;J[a+908>>2]=0;J[a+912>>2]=0;H[a+1032|0]=0;J[a+1028>>2]=0;H[a+1024|0]=0;J[a+1020>>2]=0;H[a+1016|0]=0;J[a+1012>>2]=0;H[a+1008|0]=0;J[a+1e3>>2]=0;J[a+1004>>2]=1036831949;H[a+996|0]=0;J[a+992>>2]=0;J[a+984>>2]=0;J[a+988>>2]=1063675494;J[a+976>>2]=0;J[a+980>>2]=1045220557;J[a+968>>2]=1065353216;J[a+972>>2]=-1082130432;J[a+1052>>2]=0;b=a+1044|0;J[b>>2]=0;J[b+4>>2]=0;b=a+1036|0;J[b>>2]=0;J[b+4>>2]=0;H[a+1120|0]=0;J[a+1116>>2]=0;H[a+1112|0]=0;J[a+1108>>2]=0;H[a+1104|0]=0;J[a+1100>>2]=0;H[a+1096|0]=0;b=a+1088|0;J[b>>2]=0;J[b+4>>2]=1036831949;H[a+1084|0]=0;J[a+1080>>2]=0;b=a+1072|0;J[b>>2]=0;J[b+4>>2]=1063675494;b=a+1064|0;J[b>>2]=0;J[b+4>>2]=1045220557;b=a+1056|0;J[b>>2]=1065353216;J[b+4>>2]=-1082130432;J[a+1140>>2]=0;b=a+1132|0;J[b>>2]=0;J[b+4>>2]=0;b=a+1124|0;J[b>>2]=0;J[b+4>>2]=0;H[a+1208|0]=0;J[a+1204>>2]=0;H[a+1200|0]=0;J[a+1196>>2]=0;H[a+1192|0]=0;J[a+1188>>2]=0;H[a+1184|0]=0;b=a+1176|0;J[b>>2]=0;J[b+4>>2]=1036831949;H[a+1172|0]=0;J[a+1168>>2]=0;b=a+1160|0;J[b>>2]=0;J[b+4>>2]=1063675494;b=a+1152|0;J[b>>2]=0;J[b+4>>2]=1045220557;b=a+1144|0;J[b>>2]=1065353216;J[b+4>>2]=-1082130432;J[a+1228>>2]=0;b=a+1220|0;J[b>>2]=0;J[b+4>>2]=0;b=a+1212|0;J[b>>2]=0;J[b+4>>2]=0;J[a+1456>>2]=0;J[a+1232>>2]=f;qc(a,J[a+28>>2]+4|0,J[a+32>>2]+4|0);return a}function $i(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;e=sa-32|0;sa=e;d=ua[J[J[a>>2]+28>>2]](a)|0;J[b>>2]=0;J[b+20>>2]=d;if(d){p=ua[J[J[c>>2]+16>>2]](c,32,d)|0;j=J[p+8>>2];s=b,t=ua[J[J[c>>2]+28>>2]](c,j)|0,J[s>>2]=t;r=ua[J[J[a>>2]+28>>2]](a)|0;if((r|0)>0){while(1){ua[J[J[a>>2]+16>>2]](a,e+28|0,e+4|0,e+16|0,e+8|0,e+24|0,e+20|0,e,e+12|0,o);d=J[e>>2];J[j+24>>2]=d;f=J[e+4>>2];J[j>>2]=0;J[j+4>>2]=0;J[j+28>>2]=f;J[j+8>>2]=0;J[j+12>>2]=0;J[j+16>>2]=0;J[j+20>>2]=0;a:{b:{switch(J[e+12>>2]-2|0){case 0:if(!d){break a}f=ua[J[J[c>>2]+16>>2]](c,4,P(d,3))|0;k=J[f+8>>2];s=j,t=ua[J[J[c>>2]+28>>2]](c,k)|0,J[s+8>>2]=t;if(J[e>>2]>0){d=0;m=J[e+24>>2];while(1){h=k+P(d,12)|0;g=m+P(J[e+20>>2],d)|0;J[h>>2]=J[g>>2];J[h+4>>2]=J[g+4>>2];J[h+8>>2]=J[g+8>>2];d=d+1|0;if((d|0)>2]){continue}break}}ua[J[J[c>>2]+20>>2]](c,f,8455,1497453121,J[f+8>>2]);break a;case 1:if(!d){break a}h=ua[J[J[c>>2]+16>>2]](c,8,d)|0;k=J[h+8>>2];s=j,t=ua[J[J[c>>2]+28>>2]](c,k)|0,J[s+12>>2]=t;d=0;if(J[e>>2]>0){while(1){f=k+(d<<3)|0;g=J[e+24>>2]+P(J[e+20>>2],d)|0;I[f>>1]=L[g>>1];I[f+2>>1]=L[g+2>>1];g=L[g+4>>1];I[f+6>>1]=0;I[f+4>>1]=g;d=d+1|0;if((d|0)>2]){continue}break}}ua[J[J[c>>2]+20>>2]](c,h,8520,1497453121,J[h+8>>2]);break a;case 3:break b;default:break a}}if(!d){break a}h=ua[J[J[c>>2]+16>>2]](c,4,d)|0;k=J[h+8>>2];s=j,t=ua[J[J[c>>2]+28>>2]](c,k)|0,J[s+16>>2]=t;d=0;if(J[e>>2]>0){while(1){f=k+(d<<2)|0;g=J[e+24>>2]+P(J[e+20>>2],d)|0;H[f|0]=K[g|0];H[f+1|0]=K[g+1|0];g=K[g+2|0];H[f+3|0]=0;H[f+2|0]=g;d=d+1|0;if((d|0)>2]){continue}break}}ua[J[J[c>>2]+20>>2]](c,h,8547,1497453121,J[h+8>>2])}c:{d:{switch(J[e+16>>2]){case 0:d=J[e+4>>2];if(!d){break c}n=ua[J[J[c>>2]+16>>2]](c,16,d)|0;h=J[n+8>>2];s=j,t=ua[J[J[c>>2]+28>>2]](c,h)|0,J[s>>2]=t;g=J[e+4>>2];e:{if((g|0)<=0){break e}d=0;k=J[e+8>>2];m=J[e+28>>2];if((g|0)!=1){q=g&-2;f=0;while(1){l=h+(d<<4)|0;i=m+P(d,k)|0;N[l>>2]=N[i>>2];N[l+4>>2]=N[i+4>>2];N[l+8>>2]=N[i+8>>2];i=d|1;l=h+(i<<4)|0;i=m+P(i,k)|0;N[l>>2]=N[i>>2];N[l+4>>2]=N[i+4>>2];N[l+8>>2]=N[i+8>>2];d=d+2|0;f=f+2|0;if((q|0)!=(f|0)){continue}break}}if(!(g&1)){break e}f=h+(d<<4)|0;d=m+P(d,k)|0;N[f>>2]=N[d>>2];N[f+4>>2]=N[d+4>>2];N[f+8>>2]=N[d+8>>2]}ua[J[J[c>>2]+20>>2]](c,n,8754,1497453121,J[n+8>>2]);break c;case 1:break d;default:break c}}d=J[e+4>>2];if(!d){break c}n=ua[J[J[c>>2]+16>>2]](c,32,d)|0;h=J[n+8>>2];s=j,t=ua[J[J[c>>2]+28>>2]](c,h)|0,J[s+4>>2]=t;g=J[e+4>>2];f:{if((g|0)<=0){break f}d=0;k=J[e+8>>2];m=J[e+28>>2];if((g|0)!=1){q=g&-2;f=0;while(1){l=h+(d<<5)|0;i=m+P(d,k)|0;O[l>>3]=O[i>>3];O[l+8>>3]=O[i+8>>3];O[l+16>>3]=O[i+16>>3];i=d|1;l=h+(i<<5)|0;i=m+P(i,k)|0;O[l>>3]=O[i>>3];O[l+8>>3]=O[i+8>>3];O[l+16>>3]=O[i+16>>3];d=d+2|0;f=f+2|0;if((q|0)!=(f|0)){continue}break}}if(!(g&1)){break f}f=h+(d<<5)|0;d=m+P(d,k)|0;O[f>>3]=O[d>>3];O[f+8>>3]=O[d+8>>3];O[f+16>>3]=O[d+16>>3]}ua[J[J[c>>2]+20>>2]](c,n,8993,1497453121,J[n+8>>2])}ua[J[J[a>>2]+24>>2]](a,o);j=j+32|0;o=o+1|0;if((r|0)!=(o|0)){continue}break}}ua[J[J[c>>2]+20>>2]](c,p,8470,1497453121,J[p+8>>2])}J[b+24>>2]=0;N[b+4>>2]=N[a+4>>2];N[b+8>>2]=N[a+8>>2];N[b+12>>2]=N[a+12>>2];N[b+16>>2]=N[a+16>>2];sa=e+32|0;return 9059}function fl(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=Q(0),j=0,k=Q(0),l=0,m=Q(0),n=Q(0),o=Q(0),p=0,q=Q(0),r=0,s=Q(0),t=Q(0),u=Q(0),v=Q(0),w=Q(0),x=Q(0),y=0,z=0,A=0;l=sa+-64|0;sa=l;g=J[a+56>>2];J[l+60>>2]=0;J[l+8>>2]=b;J[l+4>>2]=g;J[l>>2]=18972;g=sa-16|0;sa=g;f=J[a+60>>2];a:{if(K[f+60|0]){v=N[f+40>>2];s=N[f+24>>2];i=N[f+8>>2];w=N[f+36>>2];t=N[f+20>>2];q=N[f+4>>2];n=N[c>>2];o=N[c+4>>2];u=N[f+28>>2];m=N[f+12>>2];k=N[c+8>>2];k=m>k?m:k;x=N[f+44>>2];k=Q(Q((k>u?u:k)-m)*x);b:{if(k=Q(0)){a=~~k>>>0;break b}a=0}j=a&65534;I[g+14>>1]=j;o=i>o?i:o;o=Q(v*Q((o>s?s:o)-i));c:{if(o=Q(0)){a=~~o>>>0;break c}a=0}r=a&65534;I[g+12>>1]=r;n=nt?t:n)-q)*w);d:{if(n=Q(0)){a=~~n>>>0;break d}a=0}y=a&65534;I[g+10>>1]=y;n=N[d>>2];o=N[d+4>>2];k=N[d+8>>2];k=m>k?m:k;m=Q(Q(x*Q((k>u?u:k)-m))+Q(1));e:{if(m=Q(0)){a=~~m>>>0;break e}a=0}d=a|1;I[g+8>>1]=d;m=i>o?i:o;i=Q(Q(v*Q((m>s?s:m)-i))+Q(1));f:{if(i=Q(0)){a=~~i>>>0;break f}a=0}z=a|1;I[g+6>>1]=z;i=nt?t:i)-q))+Q(1));g:{if(i=Q(0)){a=~~i>>>0;break g}a=0}A=a|1;I[g+4>>1]=A;h:{switch(J[f+144>>2]){case 0:a=J[f+56>>2];if((a|0)>0){e=J[f+136>>2];while(1){p=p+1|0;i:{j:{b=J[e+12>>2];f=(b|0)<0;c=y>>>0<=L[e+6>>1]&A>>>0>=L[e>>1]&L[e+10>>1]>=j>>>0&d>>>0>=L[e+4>>1]&r>>>0<=L[e+8>>1]&z>>>0>=L[e+2>>1];k:{if(!(f|!c)){ua[J[J[l>>2]+8>>2]](l,b>>>21|0,b&2097151);break k}if(f&(c^-1)){break j}}e=e+16|0;h=h+1|0;break i}e=e-(b<<4)|0;h=h-b|0}if((a|0)>(h|0)){continue}break}}if(J[8470]>=(p|0)){break a}J[8470]=p;break a;case 1:if(J[f+152>>2]>0){while(1){a=J[f+160>>2]+(e<<5)|0;l:{if(L[g+10>>1]>L[a+6>>1]|L[g+4>>1]>1]|(L[g+8>>1]>1]|L[g+14>>1]>L[a+10>>1])){break l}if(L[g+6>>1]>1]|L[g+12>>1]>L[a+8>>1]){break l}b=J[a+16>>2];m:{if((b|0)<=0){b=0;break m}j=J[a+12>>2];d=b+j|0;h=J[f+136>>2]+(j<<4)|0;b=0;while(1){n:{o:{a=J[h+12>>2];p=(a|0)<0;c=L[g+10>>1]<=L[h+6>>1]&L[g+4>>1]>=L[h>>1]&L[g+14>>1]<=L[h+10>>1]&L[g+8>>1]>=L[h+4>>1]&L[g+12>>1]<=L[h+8>>1]&L[g+6>>1]>=L[h+2>>1];p:{if(!(p|!c)){ua[J[J[l>>2]+8>>2]](l,a>>>21|0,a&2097151);break p}if(p&(c^-1)){break o}}j=j+1|0;h=h+16|0;break n}j=j-a|0;h=h-(a<<4)|0}b=b+1|0;if((d|0)>(j|0)){continue}break}}if(J[8470]>=(b|0)){break l}J[8470]=b}e=e+1|0;if((e|0)>2]){continue}break}}break a;case 2:break h;default:break a}}Ae(f,J[f+136>>2],l,g+10|0,g+4|0);break a}r=J[f+56>>2];if((r|0)>0){e=J[f+96>>2];while(1){a=0;q:{if(N[c>>2]>N[e+16>>2]){break q}a=0;if(N[d>>2]>2]){break q}a=1}b=0;b=N[d+8>>2]>2]|N[c+8>>2]>N[e+24>>2]?b:a;r:{s:{t:{if(N[d+4>>2]>2]|N[c+4>>2]>N[e+20>>2]){j=J[e+32>>2];a=(j|0)==-1;b=0;break t}j=J[e+32>>2];a=(j|0)==-1;if(!(b&a)){break t}ua[J[J[l>>2]+8>>2]](l,J[e+36>>2],J[e+40>>2]);r=J[f+56>>2];break s}if(a|b){break s}e=(j<<6)+e|0;h=h+j|0;break r}e=e- -64|0;h=h+1|0}p=p+1|0;if((h|0)<(r|0)){continue}break}}if(J[8470]>=(p|0)){break a}J[8470]=p}sa=g+16|0;sa=l- -64|0}function gf(a){a=a|0;var b=0,c=0,d=0,e=0,f=Q(0),g=0,h=Q(0),i=0,j=0,k=0,l=0,m=Q(0),n=Q(0),o=Q(0),p=Q(0);b=sa-208|0;sa=b;a:{if(!(ua[J[J[a>>2]+20>>2]](a)|0)){break a}d=ua[J[J[a>>2]+20>>2]](a)|0;ua[J[J[d>>2]+100>>2]](d);d=ua[J[J[a>>2]+20>>2]](a)|0;ua[J[J[d>>2]+8>>2]](b+80|0,d);d=ua[J[J[a>>2]+20>>2]](a)|0;b:{if(!(ua[J[J[d>>2]+56>>2]](d)&8)){break b}d=J[a+24>>2];if(!d){break b}i=ua[J[J[d>>2]+36>>2]](d)|0;if((i|0)<=0){break b}l=b+176|0;while(1){g=0;d=J[a+24>>2];j=ua[J[J[d>>2]+40>>2]](d,e)|0;k=J[j+844>>2];if((k|0)>0){while(1){d=ua[J[J[a>>2]+20>>2]](a)|0;c=j+P(g,208)|0;ua[J[J[d>>2]+40>>2]](d,c+36|0,c+68|0,N[c+84>>2],J[c+168>>2],l);g=g+1|0;if((k|0)!=(g|0)){continue}break}}e=e+1|0;if((i|0)!=(e|0)){continue}break}}d=ua[J[J[a>>2]+20>>2]](a)|0;if(!(ua[J[J[d>>2]+56>>2]](d)&3)|J[a+8>>2]<=0){break a}i=b+160|0;l=b+96|0;j=b+112|0;k=b+128|0;d=b+144|0;g=0;while(1){e=J[J[a+16>>2]+(g<<2)>>2];c:{if(K[e+204|0]&32){break c}d:{if(!(ua[J[J[a>>2]+20>>2]](a)|0)){break d}c=ua[J[J[a>>2]+20>>2]](a)|0;if(!(ua[J[J[c>>2]+56>>2]](c)&1)){break d}e:{f:{switch(J[e+220>>2]-1|0){case 0:c=J[b+92>>2];J[b+72>>2]=J[b+88>>2];J[b+76>>2]=c;c=J[b+84>>2];J[b+64>>2]=J[b+80>>2];J[b+68>>2]=c;break e;case 1:c=J[l+12>>2];J[b+72>>2]=J[l+8>>2];J[b+76>>2]=c;c=J[l+4>>2];J[b+64>>2]=J[l>>2];J[b+68>>2]=c;break e;case 2:c=J[j+12>>2];J[b+72>>2]=J[j+8>>2];J[b+76>>2]=c;c=J[j+4>>2];J[b+64>>2]=J[j>>2];J[b+68>>2]=c;break e;case 3:c=J[k+12>>2];J[b+72>>2]=J[k+8>>2];J[b+76>>2]=c;c=J[k+4>>2];J[b+64>>2]=J[k>>2];J[b+68>>2]=c;break e;case 4:c=J[d+12>>2];J[b+72>>2]=J[d+8>>2];J[b+76>>2]=c;c=J[d+4>>2];J[b+64>>2]=J[d>>2];J[b+68>>2]=c;break e;default:break f}}J[b+72>>2]=1050253722;J[b+76>>2]=0;J[b+64>>2]=1050253722;J[b+68>>2]=1050253722}if(H[e+205|0]&1){c=J[e+320>>2];J[b+72>>2]=J[e+316>>2];J[b+76>>2]=c;c=J[e+312>>2];J[b+64>>2]=J[e+308>>2];J[b+68>>2]=c}ua[J[J[a>>2]+28>>2]](a,e+4|0,J[e+192>>2],b- -64|0)}c=J[a+72>>2];if(!c){break c}if(!(ua[J[J[c>>2]+56>>2]](c)&2)){break c}c=J[i+12>>2];J[b+40>>2]=J[i+8>>2];J[b+44>>2]=c;c=J[i+4>>2];J[b+32>>2]=J[i>>2];J[b+36>>2]=c;c=J[e+192>>2];ua[J[J[c>>2]+8>>2]](c,e+4|0,b- -64|0,b+48|0);f=N[8265];N[b+64>>2]=N[b+64>>2]-f;N[b+68>>2]=N[b+68>>2]-f;N[b+72>>2]=N[b+72>>2]-f;N[b+48>>2]=f+N[b+48>>2];N[b+52>>2]=f+N[b+52>>2];N[b+56>>2]=f+N[b+56>>2];g:{if(K[e+204|0]&3|(!K[a+44|0]|J[e+252>>2]!=2)){break g}c=J[e+192>>2];ua[J[J[c>>2]+8>>2]](c,e+68|0,b+16|0,b);m=Q(N[b+16>>2]-f);N[b+16>>2]=m;n=Q(N[b+20>>2]-f);N[b+20>>2]=n;h=Q(N[b+24>>2]-f);N[b+24>>2]=h;o=Q(f+N[b>>2]);N[b>>2]=o;p=Q(f+N[b+4>>2]);N[b+4>>2]=p;f=Q(f+N[b+8>>2]);N[b+8>>2]=f;if(m>2]){N[b+64>>2]=m}if(N[b+68>>2]>n){N[b+68>>2]=n}if(N[b+72>>2]>h){N[b+72>>2]=h}h=N[b+28>>2];if(h>2]){N[b+76>>2]=h}if(N[b+48>>2]>2]=o}if(N[b+52>>2]>2]=p}if(f>N[b+56>>2]){N[b+56>>2]=f}h=N[b+12>>2];if(!(h>N[b+60>>2])){break g}N[b+60>>2]=h}c=J[a+72>>2];ua[J[J[c>>2]+60>>2]](c,b- -64|0,b+48|0,b+32|0)}g=g+1|0;if((g|0)>2]){continue}break}}sa=b+208|0}function nc(a,b,c,d,e,f){var g=0,h=Q(0),i=Q(0),j=0,k=Q(0),l=Q(0),m=Q(0),n=Q(0),o=Q(0),p=Q(0),q=Q(0),r=0,s=0,t=0,u=0,v=Q(0),w=Q(0),x=0,y=Q(0),z=0,A=Q(0),B=Q(0),C=Q(0),D=Q(0),E=Q(0),F=Q(0),G=Q(0);j=J[a+88>>2];r=j;a:{if((j|0)!=J[a+92>>2]){break a}t=j?j<<1:1;if((j|0)>=(t|0)){break a}if(t){J[8456]=J[8456]+1;u=ua[J[8258]](P(t,152),16)|0;g=J[a+88>>2]}else{g=j}b:{if((g|0)<=0){break b}r=0;if((g|0)!=1){z=g&-2;while(1){s=P(r,152);Ja(s+u|0,s+J[a+96>>2]|0,152);s=P(r|1,152);Ja(s+u|0,s+J[a+96>>2]|0,152);r=r+2|0;x=x+2|0;if((x|0)!=(z|0)){continue}break}}if(!(g&1)){break b}g=P(r,152);Ja(g+u|0,g+J[a+96>>2]|0,152)}g=J[a+96>>2];if(!(g?!g|!K[a+100|0]:1)){J[8457]=J[8457]+1;ua[J[8259]](g)}J[a+96>>2]=u;H[a+100|0]=1;J[a+92>>2]=t;r=J[a+88>>2]}J[a+88>>2]=r+1;g=J[a+96>>2]+P(j,152)|0;J[g+140>>2]=e;J[g+16>>2]=0;J[g+20>>2]=0;J[g+48>>2]=-2147483648;J[g+52>>2]=-2147483648;J[g+24>>2]=0;J[g+28>>2]=0;J[g+56>>2]=-2147483648;J[g+60>>2]=0;j=J[a+16>>2];a=J[(j+P(d,244)|0)+240>>2];e=J[(j+P(c,244)|0)+240>>2];J[g+148>>2]=d;J[g+144>>2]=c;J[g+132>>2]=0;N[g+104>>2]=f;J[g+96>>2]=0;J[g+100>>2]=0;h=N[b>>2];i=N[b+4>>2];k=N[b+8>>2];J[g+12>>2]=0;n=Q(-k);N[g+8>>2]=n;o=Q(-i);N[g+4>>2]=o;p=Q(-h);N[g>>2]=p;h=Q(0);if(e){h=Q(Q(Q(N[e+364>>2]*n)+Q(Q(N[e+356>>2]*p)+Q(N[e+360>>2]*o)))*N[e+612>>2]);l=Q(Q(Q(N[e+348>>2]*n)+Q(Q(N[e+340>>2]*p)+Q(N[e+344>>2]*o)))*N[e+608>>2]);i=Q(Q(Q(N[e+332>>2]*n)+Q(Q(N[e+324>>2]*p)+Q(N[e+328>>2]*o)))*N[e+604>>2])}else{i=Q(0)}N[g+64>>2]=i;J[g+76>>2]=0;N[g+72>>2]=h;N[g+68>>2]=l;h=N[b>>2];i=N[b+4>>2];k=N[b+8>>2];N[g+44>>2]=N[b+12>>2];N[g+40>>2]=k;N[g+36>>2]=i;N[g+32>>2]=h;if(a){m=Q(Q(Q(N[a+364>>2]*k)+Q(Q(N[a+356>>2]*h)+Q(i*N[a+360>>2])))*N[a+612>>2]);q=Q(Q(Q(N[a+348>>2]*k)+Q(Q(N[a+340>>2]*h)+Q(i*N[a+344>>2])))*N[a+608>>2]);l=Q(Q(Q(N[a+332>>2]*k)+Q(Q(N[a+324>>2]*h)+Q(i*N[a+328>>2])))*N[a+604>>2])}else{l=Q(0)}N[g+80>>2]=l;J[g+92>>2]=0;N[g+88>>2]=m;N[g+84>>2]=q;q=Q(0);m=Q(0);if(e){q=Q(Q(N[e+332>>2]*n)+Q(Q(N[e+324>>2]*p)+Q(N[e+328>>2]*o)));m=Q(Q(N[e+348>>2]*n)+Q(Q(N[e+340>>2]*p)+Q(N[e+344>>2]*o)));l=Q(Q(N[e+364>>2]*n)+Q(Q(N[e+356>>2]*p)+Q(N[e+360>>2]*o)))}else{l=Q(0)}q=Q(Q(Q(l*n)+Q(Q(q*p)+Q(m*o)))+Q(0));if(a){v=Q(Q(N[a+348>>2]*k)+Q(Q(N[a+340>>2]*h)+Q(i*N[a+344>>2])));w=Q(Q(N[a+332>>2]*k)+Q(Q(N[a+324>>2]*h)+Q(N[a+328>>2]*i)));m=Q(Q(N[a+364>>2]*k)+Q(Q(N[a+356>>2]*h)+Q(i*N[a+360>>2])))}else{m=Q(0)}y=Q(Q(1)/Q(q+Q(Q(m*k)+Q(Q(w*h)+Q(v*i)))));N[g+108>>2]=y;w=Q(0);q=Q(0);m=Q(0);v=Q(0);if(e){b=j+P(c,244)|0;w=Q(N[b+176>>2]+N[b+208>>2]);A=N[b+200>>2];v=N[b+196>>2];q=Q(Q(N[b+180>>2]+N[b+212>>2])*Q(0));B=N[b+192>>2];m=Q(N[b+184>>2]+N[b+216>>2])}l=Q(-0);if(a){a=j+P(d,244)|0;C=Q(N[a+176>>2]+N[a+208>>2]);D=Q(N[a+184>>2]+N[a+216>>2]);E=N[a+192>>2];F=N[a+200>>2];G=N[a+196>>2];l=Q(Q(N[a+180>>2]+N[a+212>>2])*Q(-0))}N[g+124>>2]=f;N[g+116>>2]=0;N[g+120>>2]=-f;N[g+112>>2]=y*Q(Q(0)-Q(Q(Q(Q(m*Q(0))+Q(Q(w*Q(0))+q))+Q(Q(n*A)+Q(Q(p*B)+Q(v*o))))+Q(Q(Q(D*Q(-0))+Q(Q(C*Q(-0))+l))+Q(Q(k*F)+Q(Q(h*E)+Q(i*G))))))}function Ga(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;a:{if(!a){break a}d=a-8|0;b=J[a-4>>2];a=b&-8;f=d+a|0;b:{if(b&1){break b}if(!(b&3)){break a}b=J[d>>2];d=d-b|0;if(d>>>0>>0<=255){e=b>>>3|0;b=J[d+12>>2];c=J[d+8>>2];if((b|0)==(c|0)){i=35808,j=J[8952]&vs(e),J[i>>2]=j;break b}J[c+12>>2]=b;J[b+8>>2]=c;break b}g=J[d+24>>2];b=J[d+12>>2];if((d|0)!=(b|0)){c=J[d+8>>2];J[c+12>>2]=b;J[b+8>>2]=c;break c}e=d+20|0;c=J[e>>2];if(!c){c=J[d+16>>2];if(!c){break d}e=d+16|0}while(1){h=e;b=c;e=b+20|0;c=J[e>>2];if(c){continue}e=b+16|0;c=J[b+16>>2];if(c){continue}break}J[h>>2]=0;break c}b=J[f+4>>2];if((b&3)!=3){break b}J[8954]=a;J[f+4>>2]=b&-2;J[d+4>>2]=a|1;J[f>>2]=a;return}b=0}if(!g){break b}c=J[d+28>>2];e=(c<<2)+36112|0;e:{if(J[e>>2]==(d|0)){J[e>>2]=b;if(b){break e}i=35812,j=J[8953]&vs(c),J[i>>2]=j;break b}J[g+(J[g+16>>2]==(d|0)?16:20)>>2]=b;if(!b){break b}}J[b+24>>2]=g;c=J[d+16>>2];if(c){J[b+16>>2]=c;J[c+24>>2]=b}c=J[d+20>>2];if(!c){break b}J[b+20>>2]=c;J[c+24>>2]=b}if(d>>>0>=f>>>0){break a}b=J[f+4>>2];if(!(b&1)){break a}f:{g:{h:{i:{if(!(b&2)){if(J[8958]==(f|0)){J[8958]=d;a=J[8955]+a|0;J[8955]=a;J[d+4>>2]=a|1;if(J[8957]!=(d|0)){break a}J[8954]=0;J[8957]=0;return}if(J[8957]==(f|0)){J[8957]=d;a=J[8954]+a|0;J[8954]=a;J[d+4>>2]=a|1;J[a+d>>2]=a;return}a=(b&-8)+a|0;if(b>>>0<=255){e=b>>>3|0;b=J[f+12>>2];c=J[f+8>>2];if((b|0)==(c|0)){i=35808,j=J[8952]&vs(e),J[i>>2]=j;break g}J[c+12>>2]=b;J[b+8>>2]=c;break g}g=J[f+24>>2];b=J[f+12>>2];if((f|0)!=(b|0)){c=J[f+8>>2];J[c+12>>2]=b;J[b+8>>2]=c;break h}e=f+20|0;c=J[e>>2];if(!c){c=J[f+16>>2];if(!c){break i}e=f+16|0}while(1){h=e;b=c;e=b+20|0;c=J[e>>2];if(c){continue}e=b+16|0;c=J[b+16>>2];if(c){continue}break}J[h>>2]=0;break h}J[f+4>>2]=b&-2;J[d+4>>2]=a|1;J[a+d>>2]=a;break f}b=0}if(!g){break g}c=J[f+28>>2];e=(c<<2)+36112|0;j:{if(J[e>>2]==(f|0)){J[e>>2]=b;if(b){break j}i=35812,j=J[8953]&vs(c),J[i>>2]=j;break g}J[g+(J[g+16>>2]==(f|0)?16:20)>>2]=b;if(!b){break g}}J[b+24>>2]=g;c=J[f+16>>2];if(c){J[b+16>>2]=c;J[c+24>>2]=b}c=J[f+20>>2];if(!c){break g}J[b+20>>2]=c;J[c+24>>2]=b}J[d+4>>2]=a|1;J[a+d>>2]=a;if(J[8957]!=(d|0)){break f}J[8954]=a;return}if(a>>>0<=255){b=(a&-8)+35848|0;c=J[8952];a=1<<(a>>>3);k:{if(!(c&a)){J[8952]=a|c;a=b;break k}a=J[b+8>>2]}J[b+8>>2]=d;J[a+12>>2]=d;J[d+12>>2]=b;J[d+8>>2]=a;return}c=31;if(a>>>0<=16777215){b=S(a>>>8|0);c=((a>>>38-b&1)-(b<<1)|0)+62|0}J[d+28>>2]=c;J[d+16>>2]=0;J[d+20>>2]=0;b=(c<<2)+36112|0;l:{m:{e=J[8953];h=1<>2]=d;J[d+24>>2]=b;break n}c=a<<((c|0)!=31?25-(c>>>1|0)|0:0);b=J[b>>2];while(1){e=b;if((J[b+4>>2]&-8)==(a|0)){break m}b=c>>>29|0;c=c<<1;h=e+(b&4)|0;b=J[h+16>>2];if(b){continue}break}J[h+16>>2]=d;J[d+24>>2]=e}J[d+12>>2]=d;J[d+8>>2]=d;break l}a=J[e+8>>2];J[a+12>>2]=d;J[e+8>>2]=d;J[d+24>>2]=0;J[d+12>>2]=e;J[d+8>>2]=a}a=J[8960]-1|0;J[8960]=a?a:-1}}function Hh(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;c=J[b+8>>2];a:{if((c|0)<=0){break a}d=J[b+16>>2];if((c|0)!=1){g=c&-2;while(1){i=e<<2;h=J[i+d>>2];if(!(K[h+204|0]&3)){J[h+208>>2]=f;f=f+1|0}J[h+268>>2]=1065353216;J[h+212>>2]=-1;h=J[d+(i|4)>>2];if(!(K[h+204|0]&3)){J[h+208>>2]=f;f=f+1|0}J[h+268>>2]=1065353216;J[h+212>>2]=-1;e=e+2|0;k=k+2|0;if((g|0)!=(k|0)){continue}break}}if(!(c&1)){break a}c=J[d+(e<<2)>>2];if(!(K[c+204|0]&3)){J[c+208>>2]=f;f=f+1|0}J[c+268>>2]=1065353216;J[c+212>>2]=-1}d=0;h=0;i=0;k=0;c=J[a+8>>2];b:{if((f|0)<=(c|0)){break b}if(J[a+12>>2]<(f|0)){if(f){J[8456]=J[8456]+1;h=ua[J[8258]](f<<3,16)|0;e=J[a+8>>2]}else{e=c}c:{if((e|0)<=0){break c}if(e>>>0>=4){n=e&-4;while(1){g=d<<3;j=g+h|0;l=g+J[a+16>>2]|0;m=J[l+4>>2];J[j>>2]=J[l>>2];J[j+4>>2]=m;j=g|8;l=j+h|0;j=j+J[a+16>>2]|0;m=J[j+4>>2];J[l>>2]=J[j>>2];J[l+4>>2]=m;j=g|16;l=j+h|0;j=j+J[a+16>>2]|0;m=J[j+4>>2];J[l>>2]=J[j>>2];J[l+4>>2]=m;g=g|24;j=g+h|0;g=g+J[a+16>>2]|0;l=J[g+4>>2];J[j>>2]=J[g>>2];J[j+4>>2]=l;d=d+4|0;i=i+4|0;if((n|0)!=(i|0)){continue}break}}e=e&3;if(!e){break c}while(1){g=d<<3;i=g+h|0;g=g+J[a+16>>2]|0;n=J[g+4>>2];J[i>>2]=J[g>>2];J[i+4>>2]=n;d=d+1|0;k=k+1|0;if((e|0)!=(k|0)){continue}break}}e=J[a+16>>2];if(!(e?!e|!K[a+20|0]:1)){J[8457]=J[8457]+1;ua[J[8259]](e)}J[a+16>>2]=h;H[a+20|0]=1;J[a+12>>2]=f}e=(c^-1)+f|0;h=f-c&3;if(h){d=0;while(1){k=J[a+16>>2]+(c<<3)|0;J[k>>2]=0;J[k+4>>2]=0;c=c+1|0;d=d+1|0;if((h|0)!=(d|0)){continue}break}}if(e>>>0<3){break b}while(1){e=c<<3;d=e+J[a+16>>2]|0;J[d>>2]=0;J[d+4>>2]=0;d=e+J[a+16>>2]|0;J[d+8>>2]=0;J[d+12>>2]=0;d=e+J[a+16>>2]|0;J[d+16>>2]=0;J[d+20>>2]=0;e=e+J[a+16>>2]|0;J[e+24>>2]=0;J[e+28>>2]=0;c=c+4|0;if((f|0)!=(c|0)){continue}break}}J[a+8>>2]=f;d:{if((f|0)<=0){break d}e=J[a+16>>2];d=0;c=0;if(f>>>0>=4){k=f&-4;h=0;while(1){g=e+(c<<3)|0;J[g+4>>2]=1;J[g>>2]=c;g=c|1;i=e+(g<<3)|0;J[i+4>>2]=1;J[i>>2]=g;g=c|2;i=e+(g<<3)|0;J[i+4>>2]=1;J[i>>2]=g;g=c|3;i=e+(g<<3)|0;J[i+4>>2]=1;J[i>>2]=g;c=c+4|0;h=h+4|0;if((k|0)!=(h|0)){continue}break}}f=f&3;if(!f){break d}while(1){h=e+(c<<3)|0;J[h+4>>2]=1;J[h>>2]=c;c=c+1|0;d=d+1|0;if((f|0)!=(d|0)){continue}break}}e=0;b=J[b+68>>2];b=ua[J[J[b>>2]+36>>2]](b)|0;h=ua[J[J[b>>2]+36>>2]](b)|0;e:{if(!h){break e}k=ua[J[J[b>>2]+20>>2]](b)|0;if((h|0)<=0){break e}a=J[a+16>>2];while(1){b=k+(e<<4)|0;c=J[J[b>>2]>>2];f:{if(!c|K[c+204|0]&7){break f}b=J[J[b+4>>2]>>2];if(!b|K[b+204|0]&7){break f}b=J[b+208>>2];c=J[c+208>>2];f=a+(c<<3)|0;d=J[f>>2];if((c|0)!=(d|0)){while(1){c=a+(d<<3)|0;J[f>>2]=J[c>>2];c=J[c>>2];f=a+(c<<3)|0;d=J[f>>2];if((c|0)!=(d|0)){continue}break}}f=a+(b<<3)|0;d=J[f>>2];if((d|0)!=(b|0)){while(1){b=a+(d<<3)|0;J[f>>2]=J[b>>2];b=J[b>>2];f=a+(b<<3)|0;d=J[f>>2];if((b|0)!=(d|0)){continue}break}}if((b|0)==(c|0)){break f}c=a+(c<<3)|0;J[c>>2]=b;b=a+(b<<3)|0;J[b+4>>2]=J[b+4>>2]+J[c+4>>2]}e=e+1|0;if((h|0)!=(e|0)){continue}break}}}function vf(a,b,c,d,e,f,g,h,i){var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=Q(0),r=0,s=Q(0),t=Q(0),u=Q(0),v=0,w=Q(0),x=0,y=0,z=Q(0),A=0,B=0;o=sa-32|0;sa=o;if(a){p=J[h+4>>2];a:{if((p|0)>127){break a}if(J[h+8>>2]<=127){J[8456]=J[8456]+1;m=ua[J[8258]](512,16)|0;n=J[h+4>>2];b:{if((n|0)<=0){break b}if(n>>>0>=4){x=n&-4;while(1){k=j<<2;J[k+m>>2]=J[k+J[h+12>>2]>>2];v=k|4;J[v+m>>2]=J[v+J[h+12>>2]>>2];v=k|8;J[v+m>>2]=J[v+J[h+12>>2]>>2];k=k|12;J[k+m>>2]=J[k+J[h+12>>2]>>2];j=j+4|0;y=y+4|0;if((x|0)!=(y|0)){continue}break}}k=n&3;if(!k){break b}while(1){n=j<<2;J[n+m>>2]=J[n+J[h+12>>2]>>2];j=j+1|0;l=l+1|0;if((k|0)!=(l|0)){continue}break}}j=J[h+12>>2];if(!(j?!j|!K[h+16|0]:1)){J[8457]=J[8457]+1;ua[J[8259]](j)}J[h+12>>2]=m;H[h+16|0]=1;J[h+8>>2]=128}j=p;l=0-j&3;if(l){while(1){J[J[h+12>>2]+(j<<2)>>2]=0;j=j+1|0;r=r+1|0;if((l|0)!=(r|0)){continue}break}}if(p-125>>>0<3){break a}while(1){r=j<<2;J[r+J[h+12>>2]>>2]=0;J[(r+J[h+12>>2]|0)+4>>2]=0;J[(r+J[h+12>>2]|0)+8>>2]=0;J[(r+J[h+12>>2]|0)+12>>2]=0;j=j+4|0;if((j|0)!=128){continue}break}}J[h+4>>2]=128;J[J[h+12>>2]>>2]=a;l=126;r=1;while(1){a=J[h+12>>2];j=r-1|0;y=j<<2;p=J[a+y>>2];s=N[p>>2];t=N[p+4>>2];q=N[g>>2];u=N[g+4>>2];N[o+8>>2]=N[p+8>>2]-N[g+8>>2];N[o+4>>2]=t-u;N[o>>2]=s-q;s=N[p+16>>2];t=N[p+20>>2];q=N[f>>2];u=N[f+4>>2];N[o+24>>2]=N[p+24>>2]-N[f+8>>2];N[o+20>>2]=t-u;N[o+16>>2]=s-q;m=J[d>>2];u=N[b>>2];w=N[c>>2];s=Q(Q(N[(m<<4)+o>>2]-u)*w);q=N[c+4>>2];k=J[d+4>>2];z=N[b+4>>2];t=Q(q*Q(N[((1-k<<4)+o|0)+4>>2]-z));c:{d:{if(s>t){break d}q=Q(Q(N[((k<<4)+o|0)+4>>2]-z)*q);u=Q(w*Q(N[(1-m<<4)+o>>2]-u));if(q>u){break d}s=q>s?q:s;w=N[c+8>>2];m=J[d+8>>2];z=N[b+8>>2];q=Q(w*Q(N[((1-m<<4)+o|0)+8>>2]-z));if(s>q){break d}w=Q(Q(N[((m<<4)+o|0)+8>>2]-z)*w);t=tt|!((sQ(0))){break d}if(J[p+40>>2]){if((j|0)>(l|0)){j=J[h+4>>2];m=j<<1;if((j|0)<(m|0)){if((m|0)>J[h+8>>2]){e:{if(!j){a=0;break e}J[8456]=J[8456]+1;a=ua[J[8258]](j<<3,16)|0;n=J[h+4>>2];if((n|0)<=0){break e}x=0;l=0;if(n>>>0>=4){B=n&-4;v=0;while(1){k=l<<2;J[k+a>>2]=J[k+J[h+12>>2]>>2];A=k|4;J[A+a>>2]=J[A+J[h+12>>2]>>2];A=k|8;J[A+a>>2]=J[A+J[h+12>>2]>>2];k=k|12;J[k+a>>2]=J[k+J[h+12>>2]>>2];l=l+4|0;v=v+4|0;if((B|0)!=(v|0)){continue}break}}k=n&3;if(!k){break e}while(1){n=l<<2;J[n+a>>2]=J[n+J[h+12>>2]>>2];l=l+1|0;x=x+1|0;if((k|0)!=(x|0)){continue}break}}l=J[h+12>>2];if(!(l?!l|!K[h+16|0]:1)){J[8457]=J[8457]+1;ua[J[8259]](l)}J[h+12>>2]=a;H[h+16|0]=1;J[h+8>>2]=m}a=j-1|0;l=0;k=j&3;if(k){while(1){J[J[h+12>>2]+(j<<2)>>2]=0;j=j+1|0;l=l+1|0;if((k|0)!=(l|0)){continue}break}}if(a>>>0>=3){while(1){a=j<<2;J[a+J[h+12>>2]>>2]=0;J[(a+J[h+12>>2]|0)+4>>2]=0;J[(a+J[h+12>>2]|0)+8>>2]=0;J[(a+J[h+12>>2]|0)+12>>2]=0;j=j+4|0;if((m|0)!=(j|0)){continue}break}}a=J[h+12>>2]}J[h+4>>2]=m;l=m-2|0}J[a+y>>2]=J[p+36>>2];J[J[h+12>>2]+(r<<2)>>2]=J[p+40>>2];j=r+1|0;break c}ua[J[J[i>>2]+12>>2]](i,p)}}r=j;if(r){continue}break}}sa=o+32|0}function Mb(){if(!K[35008]){J[8670]=1062847606;J[8671]=0;J[8668]=1042701022;J[8669]=1056964440;J[8666]=1062847606;J[8667]=0;J[8664]=-1093024784;J[8665]=1050556081;J[8662]=1062847606;J[8663]=0;J[8660]=-1093024784;J[8661]=-1096927567;J[8658]=1062847606;J[8659]=0;J[8656]=1042701022;J[8657]=-1090519208;J[8654]=1062847572;J[8655]=0;J[8652]=1057396286;J[8653]=0;J[8650]=1057396386;J[8651]=0;J[8648]=1060121912;J[8649]=1056964507;J[8646]=1057396420;J[8647]=0;J[8644]=-1098475836;J[8645]=1062148969;J[8642]=1057396386;J[8643]=0;J[8640]=-1084636143;J[8641]=0;J[8638]=1057396420;J[8639]=0;J[8636]=-1098475836;J[8637]=-1085334679;J[8634]=1057396386;J[8635]=0;J[8632]=1060121912;J[8633]=-1090519141;J[8630]=-2147483648;J[8631]=0;J[8628]=1058437413;J[8629]=1062149053;J[8626]=-2147483648;J[8627]=0;J[8624]=-2147483648;J[8625]=1065353216;J[8622]=-2147483648;J[8623]=0;J[8620]=-1089046235;J[8621]=1062149053;J[8618]=-2147483648;J[8619]=0;J[8616]=-1082951543;J[8617]=1050556148;J[8614]=-2147483648;J[8615]=0;J[8612]=-1082951543;J[8613]=-1096927500;J[8610]=0;J[8611]=0;J[8608]=-1089046235;J[8609]=-1085334595;J[8606]=0;J[8607]=0;J[8604]=0;J[8605]=-1082130432;J[8602]=0;J[8603]=0;J[8600]=1058437413;J[8601]=-1085334595;J[8598]=0;J[8599]=0;J[8596]=1064532105;J[8597]=-1096927500;J[8594]=0;J[8595]=0;J[8592]=1064532105;J[8593]=1050556148;J[8590]=-1090087228;J[8591]=0;J[8588]=1049007812;J[8589]=1062148969;J[8586]=-1090087262;J[8587]=0;J[8584]=-1087361736;J[8585]=1056964507;J[8582]=-1084636042;J[8583]=0;J[8580]=-1104782626;J[8581]=1056964440;J[8578]=-1090087262;J[8579]=0;J[8576]=-1087361736;J[8577]=-1090519141;J[8574]=-1084636076;J[8575]=0;J[8572]=-1090087362;J[8573]=-2147483648;J[8570]=-1090087262;J[8571]=0;J[8568]=1062847505;J[8569]=-2147483648;J[8566]=-1084636042;J[8567]=0;J[8564]=1054458864;J[8565]=1050556081;J[8562]=-1090087228;J[8563]=0;J[8560]=1049007812;J[8561]=-1085334679;J[8558]=-1084636042;J[8559]=0;J[8556]=-1104782626;J[8557]=-1090519208;J[8554]=-1084636042;J[8555]=0;J[8552]=1054458864;J[8553]=-1096927567;J[8550]=1065353216;J[8551]=0;J[8548]=-2147483648;J[8549]=0;J[8546]=1055193471;J[8547]=0;J[8544]=1063581978;J[8545]=0;J[8542]=1055193572;J[8543]=0;J[8540]=1049461434;J[8541]=1062847522;J[8538]=1055193572;J[8539]=0;J[8536]=-1086767520;J[8537]=1057396202;J[8534]=1055193572;J[8535]=0;J[8532]=-1086767520;J[8533]=-1090087446;J[8530]=1055193605;J[8531]=0;J[8528]=1049461434;J[8529]=-1084636126;J[8526]=-1092290076;J[8527]=0;J[8524]=1060716128;J[8525]=1057396202;J[8522]=-1092290043;J[8523]=0;J[8520]=-1098022214;J[8521]=1062847522;J[8518]=-1092290177;J[8519]=0;J[8516]=-1083901670;J[8517]=-2147483648;J[8514]=-1092290076;J[8515]=0;J[8512]=-1098022214;J[8513]=-1084636126;J[8510]=-1092290076;J[8511]=0;J[8508]=1060716128;J[8509]=-1090087446;J[8506]=-1082130432;J[8507]=0;J[8504]=0;J[8505]=-2147483648;H[35008]=1}}function Nb(a,b,c,d,e){var f=Q(0),g=Q(0),h=Q(0),i=Q(0),j=Q(0),k=Q(0),l=Q(0),m=Q(0),n=Q(0),o=Q(0),p=Q(0),q=Q(0),r=Q(0),s=0,t=Q(0),u=Q(0),v=Q(0),w=Q(0),x=Q(0),y=Q(0),z=Q(0),A=Q(0),B=Q(0),C=Q(0),D=0,E=Q(0);f=Q(-1);l=N[a>>2];i=N[b>>2];g=Q(l-i);k=N[b+4>>2];u=N[c+4>>2];z=Q(k-u);v=N[c>>2];A=Q(i-v);q=N[a+4>>2];j=Q(q-k);m=Q(Q(g*z)-Q(A*j));h=N[b+8>>2];w=N[c+8>>2];B=Q(h-w);r=N[a+8>>2];o=Q(r-h);x=Q(Q(j*B)-Q(z*o));y=Q(Q(o*A)-Q(B*g));E=Q(Q(m*m)+Q(Q(x*x)+Q(y*y)));a:{if(!(E>Q(0))){break a}b:{if(!(Q(Q(r*Q(Q(g*y)+Q(x*Q(-j))))+Q(Q(l*Q(Q(j*m)+Q(y*Q(-o))))+Q(q*Q(Q(o*x)+Q(m*Q(-g))))))>Q(0))){j=Q(-1);g=Q(0);break b}j=Q(-1);o=Q(h-r);n=Q(i-l);p=Q(k-q);f=Q(Q(o*o)+Q(Q(n*n)+Q(p*p)));c:{if(!(f>Q(0))){g=Q(0);s=0;break c}g=Q(1);f=Q(Q(-Q(Q(r*o)+Q(Q(l*n)+Q(q*p))))/f);if(f>=Q(1)){j=Q(Q(h*h)+Q(Q(i*i)+Q(k*k)));D=2;s=2;break c}g=Q(0);if(f<=Q(0)){j=Q(Q(r*r)+Q(Q(l*l)+Q(q*q)));t=Q(1);s=1;break c}g=Q(r+Q(o*f));j=Q(g*g);g=Q(l+Q(n*f));i=Q(g*g);g=Q(q+Q(p*f));j=Q(j+Q(i+Q(g*g)));t=Q(Q(1)-f);D=2;g=f;s=3}J[e>>2]=s&1|D;J[d+8>>2]=0;N[d+4>>2]=g;N[d>>2]=t;h=N[b+8>>2];k=N[b+4>>2];i=N[b>>2]}r=Q(w-r);q=Q(u-q);o=Q(v-l);d:{if(!(Q(Q(h*Q(Q(A*y)-Q(x*z)))+Q(Q(i*Q(Q(z*m)-Q(y*B)))+Q(k*Q(Q(B*x)-Q(m*A)))))>Q(0))){f=j;break d}D=j>2];l=Q(u-h);v=N[c>>2];n=Q(v-i);w=N[c+4>>2];p=Q(w-k);C=Q(Q(l*l)+Q(Q(n*n)+Q(p*p)));f=Q(-1);e:{if(!(C>Q(0))){break e}g=Q(1);f=Q(Q(-Q(Q(h*l)+Q(Q(i*n)+Q(k*p))))/C);if(f>=Q(1)){t=Q(0);s=2;f=Q(Q(u*u)+Q(Q(v*v)+Q(w*w)));break e}g=Q(0);if(f<=Q(0)){t=Q(1);s=1;f=Q(Q(h*h)+Q(Q(i*i)+Q(k*k)));break e}t=Q(Q(1)-f);s=3;g=f;h=Q(h+Q(l*f));i=Q(i+Q(n*f));f=Q(k+Q(p*f));f=Q(Q(h*h)+Q(Q(i*i)+Q(f*f)))}if(!(D|j>f)){f=j;break d}J[e>>2]=s<<1;N[d+8>>2]=g;N[d+4>>2]=t;J[d>>2]=0}k=N[c+8>>2];h=N[c>>2];l=N[c+4>>2];f:{if(!(Q(Q(k*Q(Q(o*y)-Q(x*q)))+Q(Q(h*Q(Q(q*m)-Q(y*r)))+Q(l*Q(Q(r*x)-Q(m*o)))))>Q(0))){break f}i=Q(-1);v=N[a+8>>2];n=Q(v-k);w=N[a>>2];p=Q(w-h);C=N[a+4>>2];u=Q(C-l);j=Q(Q(n*n)+Q(Q(p*p)+Q(u*u)));g:{if(!(j>Q(0))){break g}g=Q(1);j=Q(Q(-Q(Q(k*n)+Q(Q(h*p)+Q(l*u))))/j);if(j>=Q(1)){i=Q(Q(v*v)+Q(Q(w*w)+Q(C*C)));t=Q(0);s=2;break g}g=Q(0);if(j<=Q(0)){i=Q(Q(k*k)+Q(Q(h*h)+Q(l*l)));t=Q(1);s=1;break g}g=Q(k+Q(n*j));i=Q(g*g);g=Q(h+Q(p*j));h=Q(g*g);g=Q(l+Q(u*j));i=Q(i+Q(h+Q(g*g)));t=Q(Q(1)-j);s=3;g=j}if(!(fi)){break f}J[e>>2]=s<<2&4|s>>>1;J[d+4>>2]=0;N[d>>2]=g;N[d+8>>2]=t;f=i}if(!(f>2];g=N[a>>2];j=N[a+4>>2];J[e>>2]=7;j=Q(Q(Q(f*m)+Q(Q(g*x)+Q(y*j)))/E);f=Q(y*j);i=Q(N[b+4>>2]-f);g=Q(x*j);k=Q(N[b>>2]-g);h=Q(Q(A*i)+Q(k*Q(-z)));l=Q(h*h);j=Q(m*j);h=Q(N[b+8>>2]-j);i=Q(Q(z*h)+Q(i*Q(-B)));m=Q(i*i);i=Q(Q(B*k)+Q(h*Q(-A)));h=Q(Y(Q(l+Q(m+Q(i*i)))));i=Q(Y(E));k=Q(h/i);N[d>>2]=k;h=Q(N[c+4>>2]-f);t=Q(N[c>>2]-g);m=Q(Q(o*h)+Q(t*Q(-q)));l=Q(m*m);m=Q(N[c+8>>2]-j);h=Q(Q(q*m)+Q(h*Q(-r)));n=Q(h*h);h=Q(Q(r*t)+Q(m*Q(-o)));i=Q(Q(Y(Q(l+Q(n+Q(h*h)))))/i);N[d+4>>2]=i;N[d+8>>2]=Q(1)-Q(k+i);f=Q(Q(j*j)+Q(Q(g*g)+Q(f*f)))}return f}function xm(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=Q(0),g=Q(0),h=Q(0),i=Q(0),j=Q(0),k=Q(0),l=Q(0),m=Q(0),n=Q(0),o=Q(0),p=Q(0),q=Q(0),r=Q(0),s=Q(0),t=Q(0),u=Q(0),v=Q(0),w=Q(0),x=Q(0),y=Q(0),z=Q(0),A=Q(0),B=Q(0),C=Q(0),D=Q(0),E=Q(0),F=Q(0),G=Q(0),H=Q(0),I=Q(0),L=Q(0),M=Q(0),O=Q(0),P=Q(0),R=Q(0),S=Q(0),T=Q(0),U=Q(0),V=Q(0),W=Q(0),X=Q(0),Y=Q(0),Z=Q(0),_=Q(0),$=Q(0),aa=Q(0),ba=Q(0),ca=Q(0),da=Q(0),ea=Q(0),fa=Q(0),ga=Q(0),ha=Q(0),ia=Q(0),ja=Q(0);d=sa-240|0;sa=d;U=Q(1);e=K[a+76|0];a=e?c:b;k=N[a+60>>2];g=Q(N[a+124>>2]-k);f=Q(g*g);i=N[a+116>>2];u=N[a+52>>2];g=Q(i-u);j=Q(g*g);w=N[a+56>>2];g=Q(N[a+120>>2]-w);f=Q(f+Q(j+Q(g*g)));g=N[a+276>>2];a:{if(f>2];if(J[c+4>>2]-21>>>0>8){break a}h=N[b+12>>2];v=Q(-N[b+52>>2]);f=N[b+28>>2];j=N[b+56>>2];l=N[b+44>>2];m=N[b+60>>2];V=Q(Q(Q(h*v)-Q(f*j))-Q(l*m));n=N[a+124>>2];x=N[a+120>>2];X=Q(Q(n*l)+Q(Q(i*h)+Q(f*x)));o=N[b+8>>2];p=N[b+24>>2];q=N[b+40>>2];W=Q(Q(Q(o*v)-Q(p*j))-Q(q*m));g=Q(W+Q(Q(n*q)+Q(Q(i*o)+Q(p*x))));r=N[b+36>>2];y=N[a+92>>2];Y=Q(f*y);z=N[a+76>>2];Z=Q(z*h);A=N[a+108>>2];B=N[a+88>>2];_=Q(f*B);C=N[a+72>>2];$=Q(C*h);D=N[a+104>>2];E=N[a+84>>2];aa=Q(f*E);F=N[a+68>>2];ba=Q(F*h);G=N[a+100>>2];s=N[b+4>>2];ca=Q(z*s);t=N[b+20>>2];da=Q(t*y);H=N[a+28>>2];ea=Q(f*H);I=N[a+12>>2];fa=Q(I*h);L=N[a+44>>2];M=N[a+24>>2];ga=Q(f*M);O=N[a+8>>2];ha=Q(O*h);P=N[a+40>>2];R=N[a+20>>2];ia=Q(f*R);S=N[a+4>>2];ja=Q(S*h);T=N[a+36>>2];J[d+236>>2]=0;j=Q(Q(Q(s*v)-Q(t*j))-Q(r*m));m=Q(j+Q(Q(k*r)+Q(Q(u*s)+Q(t*w))));v=m;i=Q(j+Q(Q(n*r)+Q(Q(i*s)+Q(t*x))));if(i>2]=i;v=i}n=Q(W+Q(Q(k*q)+Q(Q(u*o)+Q(p*w))));j=n;if(g>2]=g;j=g}k=Q(V+Q(Q(k*l)+Q(Q(u*h)+Q(f*w))));f=k;h=Q(V+X);if(f>h){N[d+232>>2]=h;f=h}J[d+220>>2]=0;u=f;f=N[a+272>>2];N[d+232>>2]=u-f;N[d+228>>2]=j-f;N[d+224>>2]=v-f;N[d+216>>2]=f+(h>k?h:k);N[d+212>>2]=f+(g>n?g:n);N[d+208>>2]=f+(i>m?i:m);J[d+132>>2]=0;N[d+128>>2]=h;N[d+124>>2]=g;N[d+120>>2]=i;J[d+116>>2]=0;N[d+112>>2]=Q(A*l)+Q(Z+Y);N[d+108>>2]=Q(D*l)+Q($+_);N[d+104>>2]=Q(G*l)+Q(ba+aa);J[d+100>>2]=0;N[d+96>>2]=Q(A*q)+Q(Q(z*o)+Q(p*y));N[d+92>>2]=Q(D*q)+Q(Q(C*o)+Q(p*B));N[d+88>>2]=Q(G*q)+Q(Q(F*o)+Q(p*E));J[d+84>>2]=0;N[d+80>>2]=Q(A*r)+Q(ca+da);N[d+76>>2]=Q(D*r)+Q(Q(C*s)+Q(t*B));J[d+68>>2]=0;N[d- -64>>2]=k;N[d+60>>2]=n;N[d+56>>2]=m;J[d+52>>2]=0;N[d+48>>2]=Q(L*l)+Q(fa+ea);N[d+44>>2]=Q(P*l)+Q(ha+ga);N[d+40>>2]=Q(T*l)+Q(ja+ia);J[d+36>>2]=0;N[d+32>>2]=Q(L*q)+Q(Q(I*o)+Q(p*H));N[d+28>>2]=Q(P*q)+Q(Q(O*o)+Q(p*M));N[d+24>>2]=Q(T*q)+Q(Q(S*o)+Q(p*R));J[d+20>>2]=0;N[d+16>>2]=Q(L*r)+Q(Q(I*s)+Q(t*H));N[d+12>>2]=Q(P*r)+Q(Q(O*s)+Q(t*M));N[d+200>>2]=f;N[d+72>>2]=Q(G*r)+Q(Q(F*s)+Q(t*E));N[d+8>>2]=Q(T*r)+Q(Q(S*s)+Q(t*R));J[d+4>>2]=16e3;N[d+204>>2]=N[a+268>>2];ua[J[J[c>>2]+64>>2]](c,d+4|0,d+224|0,d+208|0);g=N[d+204>>2];if(!(g>2])){break a}N[a+268>>2]=g;U=g}sa=d+240|0;return Q(U)}function Zb(a,b,c,d){var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;if(!(!b|!c)){if(!(J[a+24>>2]>127|J[a+28>>2]>127)){J[8456]=J[8456]+1;l=ua[J[8258]](1024,16)|0;g=J[a+24>>2];a:{if((g|0)<=0){break a}if(g>>>0>=4){p=g&-4;while(1){f=n<<3;i=f+l|0;h=f+J[a+32>>2]|0;m=J[h+4>>2];J[i>>2]=J[h>>2];J[i+4>>2]=m;i=f|8;h=i+l|0;i=i+J[a+32>>2]|0;m=J[i+4>>2];J[h>>2]=J[i>>2];J[h+4>>2]=m;i=f|16;h=i+l|0;i=i+J[a+32>>2]|0;m=J[i+4>>2];J[h>>2]=J[i>>2];J[h+4>>2]=m;f=f|24;i=f+l|0;f=f+J[a+32>>2]|0;h=J[f+4>>2];J[i>>2]=J[f>>2];J[i+4>>2]=h;n=n+4|0;e=e+4|0;if((p|0)!=(e|0)){continue}break}}e=g&3;if(!e){break a}while(1){f=n<<3;g=f+l|0;f=f+J[a+32>>2]|0;p=J[f+4>>2];J[g>>2]=J[f>>2];J[g+4>>2]=p;n=n+1|0;j=j+1|0;if((e|0)!=(j|0)){continue}break}}e=J[a+32>>2];if(!(e?!e|!K[a+36|0]:1)){J[8457]=J[8457]+1;ua[J[8259]](e)}J[a+32>>2]=l;H[a+36|0]=1;J[a+28>>2]=128}J[a+24>>2]=128;e=J[a+32>>2];J[e+4>>2]=c;J[e>>2]=b;b=124;e=1;while(1){j=J[a+32>>2];l=e;e=e-1|0;i=e<<3;c=j+i|0;g=J[c+4>>2];f=J[c>>2];if((b|0)<(e|0)){b=J[a+24>>2];p=b<<1;if(!((p|0)<=J[a+28>>2]|(b|0)>=(p|0))){b:{if(!b){j=0;break b}J[8456]=J[8456]+1;j=ua[J[8258]](b<<4,16)|0;m=J[a+24>>2];if((m|0)<=0){break b}b=0;n=0;if(m>>>0>=4){r=m&-4;c=0;while(1){h=n<<3;k=h+j|0;o=h+J[a+32>>2]|0;q=J[o+4>>2];J[k>>2]=J[o>>2];J[k+4>>2]=q;k=h|8;o=k+j|0;k=k+J[a+32>>2]|0;q=J[k+4>>2];J[o>>2]=J[k>>2];J[o+4>>2]=q;k=h|16;o=k+j|0;k=k+J[a+32>>2]|0;q=J[k+4>>2];J[o>>2]=J[k>>2];J[o+4>>2]=q;h=h|24;k=h+j|0;h=h+J[a+32>>2]|0;o=J[h+4>>2];J[k>>2]=J[h>>2];J[k+4>>2]=o;n=n+4|0;c=c+4|0;if((r|0)!=(c|0)){continue}break}}c=m&3;if(!c){break b}while(1){h=n<<3;m=h+j|0;h=h+J[a+32>>2]|0;r=J[h+4>>2];J[m>>2]=J[h>>2];J[m+4>>2]=r;n=n+1|0;b=b+1|0;if((c|0)!=(b|0)){continue}break}}b=J[a+32>>2];if(!(b?!b|!K[a+36|0]:1)){J[8457]=J[8457]+1;ua[J[8259]](b)}J[a+32>>2]=j;H[a+36|0]=1;J[a+28>>2]=p}J[a+24>>2]=p;b=p-4|0}c:{if((f|0)==(g|0)){if(!J[f+40>>2]){break c}c=j+i|0;e=J[f+36>>2];J[c+4>>2]=e;J[c>>2]=e;c=l<<3;e=c+J[a+32>>2]|0;g=J[f+40>>2];J[e+4>>2]=g;J[e>>2]=g;e=J[f+40>>2];c=c+J[a+32>>2]|0;J[c+8>>2]=J[f+36>>2];J[c+12>>2]=e;e=l+2|0;break c}if(!(N[f>>2]<=N[g+16>>2])|!(N[f+16>>2]>=N[g>>2])|(!(N[f+4>>2]<=N[g+20>>2])|!(N[f+20>>2]>=N[g+4>>2]))){break c}if(!(N[f+8>>2]<=N[g+24>>2])|!(N[f+24>>2]>=N[g+8>>2])){break c}c=J[g+40>>2];if(J[f+40>>2]){e=J[f+36>>2];if(c){c=j+i|0;J[c+4>>2]=J[g+36>>2];J[c>>2]=e;e=J[f+40>>2];c=l<<3;j=c+J[a+32>>2]|0;J[j+4>>2]=J[g+36>>2];J[j>>2]=e;e=J[f+36>>2];j=c+J[a+32>>2]|0;J[j+12>>2]=J[g+40>>2];J[j+8>>2]=e;e=J[f+40>>2];c=c+J[a+32>>2]|0;J[c+20>>2]=J[g+40>>2];J[c+16>>2]=e;e=l+3|0;break c}c=j+i|0;J[c+4>>2]=g;J[c>>2]=e;c=J[f+40>>2];e=J[a+32>>2]+(l<<3)|0;J[e+4>>2]=g;J[e>>2]=c;e=l+1|0;break c}if(c){c=j+i|0;J[c+4>>2]=J[g+36>>2];J[c>>2]=f;c=J[a+32>>2]+(l<<3)|0;J[c+4>>2]=J[g+40>>2];J[c>>2]=f;e=l+1|0;break c}ua[J[J[d>>2]+8>>2]](d,f,g)}if(e){continue}break}}}function yo(a,b,c,d,e,f){a=a|0;b=Q(b);c=Q(c);d=d|0;e=e|0;f=f|0;var g=0,h=0,i=Q(0),j=Q(0),k=Q(0),l=Q(0),m=Q(0),n=Q(0),o=Q(0),p=Q(0),q=Q(0),r=Q(0),s=Q(0),t=Q(0),u=Q(0),v=Q(0),w=Q(0),x=Q(0),y=Q(0),z=0,A=0,B=Q(0),C=Q(0),D=Q(0),E=0,F=0,G=0,H=0;g=sa-128|0;sa=g;B=N[e+56>>2];C=N[e+52>>2];D=N[e+48>>2];J[g+120>>2]=0;J[g+124>>2]=0;J[g+112>>2]=0;J[g+116>>2]=0;h=d<<2;N[h+(g+112|0)>>2]=c;J[g+104>>2]=0;J[g+108>>2]=0;J[g+96>>2]=0;J[g+100>>2]=0;z=g+96|0;N[h+z>>2]=-c;J[g+88>>2]=0;J[g+92>>2]=0;J[g+80>>2]=0;J[g+84>>2]=0;A=h;h=g+80|0;N[A+h>>2]=c;E=(d+2|0)%3<<2;F=E+h|0;E=z+E|0;A=h;z=(d+1|0)%3|0;h=z<<2;G=A+h|0;H=h+(g+96|0)|0;h=0;while(1){c=Q(Q(h|0)*Q(.01745329238474369));l=Q(Na(c)*b);N[H>>2]=l;N[G>>2]=l;c=Q(Ma(c)*b);N[E>>2]=c;N[F>>2]=c;c=N[e+8>>2];l=N[e>>2];p=N[e+4>>2];q=N[e+24>>2];r=N[e+16>>2];s=N[e+20>>2];i=N[e+40>>2];j=N[e+32>>2];k=N[e+36>>2];J[g+76>>2]=0;m=N[g+104>>2];n=N[g+96>>2];o=N[g+100>>2];N[g+72>>2]=B+Q(Q(i*m)+Q(Q(j*n)+Q(k*o)));N[g+68>>2]=C+Q(Q(q*m)+Q(Q(r*n)+Q(o*s)));N[g+64>>2]=D+Q(Q(c*m)+Q(Q(l*n)+Q(p*o)));J[g+60>>2]=0;t=i;i=N[g+88>>2];u=j;j=N[g+80>>2];v=k;k=N[g+84>>2];N[g+56>>2]=B+Q(Q(t*i)+Q(Q(u*j)+Q(v*k)));N[g+52>>2]=C+Q(Q(q*i)+Q(Q(r*j)+Q(s*k)));N[g+48>>2]=D+Q(Q(c*i)+Q(Q(l*j)+Q(p*k)));ua[J[J[a>>2]+16>>2]](a,g- -64|0,g+48|0,f);A=h>>>0<330;h=h+30|0;if(A){continue}break}J[g+72>>2]=0;J[g+76>>2]=0;J[g+64>>2]=0;J[g+68>>2]=0;J[(g- -64|0)+(d<<2)>>2]=1065353216;J[g+56>>2]=0;J[g+60>>2]=0;J[g+48>>2]=0;J[g+52>>2]=0;J[(g+48|0)+(z<<2)>>2]=1065353216;m=N[e+8>>2];n=N[e>>2];o=N[e+4>>2];w=N[e+24>>2];x=N[e+16>>2];y=N[e+20>>2];i=N[e+40>>2];j=N[e+32>>2];k=N[e+36>>2];J[g+44>>2]=0;c=N[g+120>>2];l=N[g+112>>2];p=N[g+116>>2];N[g+40>>2]=B-Q(Q(i*c)+Q(Q(j*l)+Q(k*p)));N[g+36>>2]=C-Q(Q(w*c)+Q(Q(x*l)+Q(p*y)));N[g+32>>2]=D-Q(Q(m*c)+Q(Q(n*l)+Q(o*p)));J[g+28>>2]=0;q=N[g+72>>2];r=N[g+64>>2];s=N[g+68>>2];N[g+24>>2]=Q(i*q)+Q(Q(j*r)+Q(k*s));N[g+20>>2]=Q(w*q)+Q(Q(x*r)+Q(y*s));N[g+16>>2]=Q(m*q)+Q(Q(n*r)+Q(o*s));J[g+12>>2]=0;t=i;i=N[g+56>>2];u=j;j=N[g+48>>2];v=k;k=N[g+52>>2];N[g+8>>2]=Q(t*i)+Q(Q(u*j)+Q(v*k));N[g+4>>2]=Q(w*i)+Q(Q(x*j)+Q(y*k));N[g>>2]=Q(m*i)+Q(Q(n*j)+Q(o*k));d=g+32|0;h=g+16|0;ua[J[J[a>>2]+68>>2]](a,d,h,g,b,b,Q(0),Q(6.2831854820251465),f,0,Q(10));m=N[e+8>>2];n=N[e>>2];o=N[e+4>>2];w=N[e+24>>2];x=N[e+16>>2];y=N[e+20>>2];t=N[e+40>>2];u=N[e+32>>2];v=N[e+36>>2];J[g+44>>2]=0;N[g+40>>2]=B+Q(Q(t*c)+Q(Q(u*l)+Q(p*v)));N[g+36>>2]=C+Q(Q(w*c)+Q(Q(x*l)+Q(p*y)));N[g+32>>2]=D+Q(Q(m*c)+Q(Q(n*l)+Q(p*o)));J[g+28>>2]=0;N[g+24>>2]=Q(t*q)+Q(Q(u*r)+Q(s*v));N[g+20>>2]=Q(w*q)+Q(Q(x*r)+Q(s*y));N[g+16>>2]=Q(m*q)+Q(Q(n*r)+Q(s*o));J[g+12>>2]=0;N[g+8>>2]=Q(t*i)+Q(Q(u*j)+Q(k*v));N[g+4>>2]=Q(w*i)+Q(Q(x*j)+Q(k*y));N[g>>2]=Q(m*i)+Q(Q(n*j)+Q(k*o));ua[J[J[a>>2]+68>>2]](a,d,h,g,b,b,Q(0),Q(6.2831854820251465),f,0,Q(10));sa=g+128|0}function ye(a,b,c,d,e,f,g){var h=Q(0),i=Q(0),j=0,k=0,l=Q(0),m=Q(0),n=Q(0),o=Q(0),p=Q(0),q=Q(0),r=Q(0),s=0,t=Q(0),u=0,v=Q(0),w=Q(0),x=Q(0),y=Q(0),z=Q(0),A=Q(0),B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,K=0,M=0,O=0,P=0,R=0,S=0,T=0,U=0;k=sa-32|0;sa=k;x=N[c+4>>2];y=N[d+4>>2];z=N[c>>2];A=N[d>>2];n=N[a+28>>2];p=N[a+12>>2];v=N[d+8>>2];w=N[c+8>>2];h=Q((v>2]);h=h>2];h=Q(Q((h>n?n:h)-p)*l);a:{if(h=Q(0)){C=~~h>>>0;break a}C=0}o=N[a+24>>2];q=N[a+8>>2];h=Q((x>y?y:x)+N[e+4>>2]);h=h>2];h=Q(Q((h>o?o:h)-q)*t);b:{if(h=Q(0)){B=~~h>>>0;break b}B=0}m=N[a+20>>2];r=N[a+4>>2];h=Q((z>A?A:z)+N[e>>2]);h=h>2];h=Q(Q((h>m?m:h)-r)*i);c:{if(h=Q(0)){u=~~h>>>0;break c}u=0}h=Q((v>w?v:w)+N[f+8>>2]);h=hn?n:h)-p)*l)+Q(1));d:{if(h=Q(0)){s=~~h>>>0;break d}s=0}h=Q((x>2]);h=ho?o:h)-q)*t)+Q(1));e:{if(h=Q(0)){j=~~h>>>0;break e}j=0}h=Q((z>2]);h=hm?m:h)-r)*i)+Q(1));f:{if(h=Q(0)){d=~~h>>>0;break f}d=0}if((g|0)>0){i=Q(v-w);m=Q(A-z);t=Q(y-x);h=Q(Q(1)/Q(Y(Q(Q(i*i)+Q(Q(m*m)+Q(t*t))))));l=Q(i*h);n=Q(l*i);i=Q(m*h);h=Q(t*h);t=Q(n+Q(Q(i*m)+Q(t*h)));G=C&65534;H=B&65534;I=u&65534;K=s|1;M=j|1;O=d|1;d=J[a+136>>2];p=l==Q(0)?Q(0xde0b6b000000000):Q(Q(1)/l);s=p>2];u=0;g:{h:{i:{j:{if(L[d+6>>1]>>0){break j}B=L[d>>1];if(O>>>0>>0|L[d+10>>1]>>0){break j}s=L[d+4>>1];if(L[d+8>>1]>>0|s>>>0>K>>>0){break j}j=L[d+2>>1];if(j>>>0>M>>>0){break j}v=N[a+4>>2];w=N[a+36>>2];n=N[a+8>>2];o=N[a+40>>2];m=N[a+12>>2];l=N[a+44>>2];J[k+12>>2]=0;i=Q(m+Q(Q(s>>>0)/l));N[k+8>>2]=i;h=Q(n+Q(Q(j>>>0)/o));N[k+4>>2]=h;u=L[d+10>>1];s=L[d+8>>1];j=L[d+6>>1];J[k+28>>2]=0;N[k>>2]=Q(v+Q(Q(B>>>0)/w))-N[f>>2];N[k+4>>2]=h-N[f+4>>2];N[k+8>>2]=i-N[f+8>>2];N[k+16>>2]=Q(v+Q(Q(j>>>0)/w))-N[e>>2];N[k+20>>2]=Q(n+Q(Q(s>>>0)/o))-N[e+4>>2];N[k+24>>2]=Q(m+Q(Q(u>>>0)/l))-N[e+8>>2];k:{i=N[c>>2];l=Q(r*Q(N[U>>2]-i));h=N[c+4>>2];n=Q(q*Q(N[T>>2]-h));if(l>n){break k}h=Q(q*Q(N[R>>2]-h));o=Q(r*Q(N[C>>2]-i));if(h>o){break k}m=h>l?h:l;h=N[c+8>>2];l=Q(p*Q(N[S>>2]-h));if(m>l){break k}i=Q(p*Q(N[P>>2]-h));h=nh){break k}u=t>(i>m?i:m)&(h>l?l:h)>Q(0);if(!u|(F|0)<0){break j}j=J[d+12>>2];ua[J[J[b>>2]+8>>2]](b,j>>21,j&2097151);break i}u=0}if((F|0)>=0){break i}if(!u){break h}}D=D+1|0;d=d+16|0;break g}j=J[d+12>>2];D=D-j|0;d=d-(j<<4)|0}E=E+1|0;if((g|0)>(D|0)){continue}break}}if(J[8470]<(E|0)){J[8470]=E}sa=k+32|0}function Yd(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=Q(0),i=Q(0),j=Q(0),k=Q(0),l=Q(0),m=Q(0),n=0,o=Q(0),p=Q(0),q=0,r=Q(0),s=Q(0),t=0,u=Q(0),v=Q(0),w=Q(0),x=Q(0);g=sa-304|0;sa=g;h=N[b+52>>2];k=N[c+52>>2];l=N[b+56>>2];i=N[c+56>>2];m=N[b+48>>2];j=N[c+48>>2];J[g+300>>2]=0;p=Q(i-l);N[g+296>>2]=p;o=Q(k-h);N[g+292>>2]=o;u=Q(j-m);N[g+288>>2]=u;t=c;c=g+116|0;n=g+52|0;Vb(b,t,c,n);J[g+284>>2]=0;h=N[g+52>>2];k=Q(h*N[g+124>>2]);N[g+280>>2]=k;l=Q(h*N[g+120>>2]);N[g+276>>2]=l;h=Q(h*N[g+116>>2]);N[g+272>>2]=h;i=N[d+52>>2];m=N[e+52>>2];j=N[d+56>>2];r=N[e+56>>2];s=N[d+48>>2];x=N[e+48>>2];J[g+268>>2]=0;v=Q(r-j);N[g+264>>2]=v;w=Q(m-i);N[g+260>>2]=w;s=Q(x-s);N[g+256>>2]=s;Vb(d,e,c,n);J[g+252>>2]=0;i=N[g+52>>2];m=Q(i*N[g+124>>2]);N[g+248>>2]=m;j=Q(i*N[g+120>>2]);N[g+244>>2]=j;i=Q(i*N[g+116>>2]);N[g+240>>2]=i;c=J[a+12>>2];k=Q(Q(Y(Q(Q(k*k)+Q(Q(h*h)+Q(l*l)))))*Q(ua[J[J[c>>2]+16>>2]](c)));c=J[a+16>>2];if(c){h=Q(ua[J[J[c>>2]+16>>2]](c))}else{h=Q(0)}r=Q(k+Q(h*Q(Y(Q(Q(m*m)+Q(Q(i*i)+Q(j*j)))))));l=Q(v-p);i=Q(s-u);m=Q(w-o);a:{if(Q(r+Q(Y(Q(Q(l*l)+Q(Q(i*i)+Q(m*m))))))==Q(0)){break a}H[g+220|0]=0;J[g+216>>2]=1566444395;J[g+180>>2]=22516;Zd(a,b,d,g+180|0);c=J[g+212>>2];J[g+232>>2]=J[g+208>>2];J[g+236>>2]=c;c=J[g+204>>2];J[g+224>>2]=J[g+200>>2];J[g+228>>2]=c;if(!K[g+220|0]){break a}k=N[g+192>>2];j=N[g+184>>2];p=N[g+188>>2];if(Q(r+Q(Q(l*k)+Q(Q(i*j)+Q(m*p))))<=Q(1.1920928955078125e-7)){break a}b:{o=Q(N[g+216>>2]+N[f+172>>2]);c:{if(!(o>Q(.0010000000474974513))){h=Q(0);l=N[g+196>>2];break c}e=g+28|0;t=g+164|0;c=0;h=Q(0);while(1){q=J[f+168>>2];if(q){J[g+124>>2]=1065353216;J[g+128>>2]=0;J[g+116>>2]=1065353216;J[g+120>>2]=1065353216;ua[J[J[q>>2]+28>>2]](q,g+224|0,Q(.20000000298023224),g+116|0)}q=0;j=Q(r+Q(Q(l*k)+Q(Q(i*j)+Q(m*p))));if(j<=Q(1.1920928955078125e-7)){break a}k=h;h=Q(h+Q(o/j));if(k>=h|h>Q(1)|h>2];if(n){J[g+16>>2]=0;J[g+20>>2]=0;J[g+8>>2]=1065353216;J[g+12>>2]=0;ua[J[J[n>>2]+28>>2]](n,t,Q(.20000000298023224),g+8|0)}ua[J[J[f>>2]>>2]](f,h);H[g+48|0]=0;J[g+44>>2]=1566444395;J[g+8>>2]=22516;Zd(a,g+116|0,g+52|0,g+8|0);if(!K[g+48|0]){break b}o=N[f+172>>2];n=J[e+12>>2];J[g+232>>2]=J[e+8>>2];J[g+236>>2]=n;n=J[e+4>>2];J[g+224>>2]=J[e>>2];J[g+228>>2]=n;if((c|0)==64){ua[J[J[f>>2]+8>>2]](f,-2,65);break a}c=c+1|0;j=N[g+12>>2];p=N[g+16>>2];k=N[g+20>>2];o=Q(N[g+44>>2]+o);if(o>Q(.0010000000474974513)){continue}break}l=N[g+24>>2]}N[f+132>>2]=j;N[f+164>>2]=h;N[f+144>>2]=l;N[f+140>>2]=k;N[f+136>>2]=p;a=J[g+228>>2];J[f+148>>2]=J[g+224>>2];J[f+152>>2]=a;a=J[g+236>>2];J[f+156>>2]=J[g+232>>2];J[f+160>>2]=a;q=1;break a}ua[J[J[f>>2]+8>>2]](f,-1,c)}sa=g+304|0;return q|0}function vc(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=Q(0),j=Q(0),k=Q(0),l=Q(0),m=Q(0),n=Q(0),o=Q(0),p=Q(0),q=Q(0),r=0,s=0,t=Q(0),u=Q(0),v=Q(0);g=sa-272|0;sa=g;Kb(J[a+4>>2]);j=N[b+52>>2];i=N[c+52>>2];n=N[d+52>>2];k=N[e+52>>2];l=N[b+56>>2];m=N[c+56>>2];o=N[d+56>>2];p=N[e+56>>2];q=N[b+48>>2];t=N[c+48>>2];u=N[d+48>>2];v=N[e+48>>2];H[g+252|0]=0;J[g+248>>2]=1566444395;J[g+212>>2]=22516;r=sc(g+132|0,J[a+8>>2],J[a+12>>2],J[a+4>>2],0);J[g+128>>2]=1566444395;a=J[b+12>>2];J[g+8>>2]=J[b+8>>2];J[g+12>>2]=a;a=J[b+4>>2];J[g>>2]=J[b>>2];J[g+4>>2]=a;a=J[b+28>>2];J[g+24>>2]=J[b+24>>2];J[g+28>>2]=a;a=J[b+20>>2];J[g+16>>2]=J[b+16>>2];J[g+20>>2]=a;a=J[b+44>>2];J[g+40>>2]=J[b+40>>2];J[g+44>>2]=a;a=J[b+36>>2];J[g+32>>2]=J[b+32>>2];J[g+36>>2]=a;a=J[b+60>>2];J[g+56>>2]=J[b+56>>2];J[g+60>>2]=a;a=J[b+52>>2];J[g+48>>2]=J[b+48>>2];J[g+52>>2]=a;a=J[d+12>>2];J[g+72>>2]=J[d+8>>2];J[g+76>>2]=a;a=J[d+4>>2];J[g+64>>2]=J[d>>2];J[g+68>>2]=a;a=J[d+20>>2];J[g+80>>2]=J[d+16>>2];J[g+84>>2]=a;a=J[d+28>>2];J[g+88>>2]=J[d+24>>2];J[g+92>>2]=a;a=J[d+44>>2];J[g+104>>2]=J[d+40>>2];J[g+108>>2]=a;a=J[d+36>>2];J[g+96>>2]=J[d+32>>2];J[g+100>>2]=a;a=J[d+52>>2];J[g+112>>2]=J[d+48>>2];J[g+116>>2]=a;a=J[d+60>>2];J[g+120>>2]=J[d+56>>2];J[g+124>>2]=a;Za(r,g,g+212|0,0,0);a=J[g+244>>2];J[g+264>>2]=J[g+240>>2];J[g+268>>2]=a;a=J[g+236>>2];J[g+256>>2]=J[g+232>>2];J[g+260>>2]=a;h=0;a:{if(!K[g+252|0]){break a}o=Q(Q(m-l)-Q(p-o));p=Q(Q(i-j)-Q(k-n));q=Q(Q(t-q)-Q(v-u));k=N[g+224>>2];l=N[g+220>>2];m=N[g+216>>2];i=N[g+248>>2];b:{c:{if(!(i>Q(.0010000000474974513))){j=Q(0);i=N[g+228>>2];break c}s=g+232|0;a=0;n=Q(0);while(1){h=0;if((a|0)==32){break a}j=Q(n-Q(i/Q(Q(o*k)+Q(Q(q*m)+Q(p*l)))));h=0;if(n>=j){break a}h=0;if(j>Q(1)){break a}h=0;if(j>2]>>2]](f,j);i=Q(Q(1)-j);N[g+48>>2]=Q(i*N[b+48>>2])+Q(j*N[c+48>>2]);N[g+52>>2]=Q(i*N[b+52>>2])+Q(j*N[c+52>>2]);N[g+56>>2]=Q(i*N[b+56>>2])+Q(j*N[c+56>>2]);N[g+112>>2]=Q(i*N[d+48>>2])+Q(j*N[e+48>>2]);N[g+116>>2]=Q(i*N[d+52>>2])+Q(j*N[e+52>>2]);N[g+120>>2]=Q(i*N[d+56>>2])+Q(j*N[e+56>>2]);Za(r,g,g+212|0,0,0);h=0;if(!K[g+252|0]){break a}i=N[g+248>>2];if(i>2]=j;i=N[g+228>>2];k=N[g+224>>2];l=N[g+220>>2];m=N[g+216>>2];break b}a=a+1|0;h=J[g+244>>2];J[g+264>>2]=J[g+240>>2];J[g+268>>2]=h;h=J[g+236>>2];J[g+256>>2]=J[g+232>>2];J[g+260>>2]=h;k=N[g+224>>2];l=N[g+220>>2];m=N[g+216>>2];n=j;if(i>Q(.0010000000474974513)){continue}break}i=N[g+228>>2]}h=0;if(Q(-N[f+172>>2])<=Q(Q(k*o)+Q(Q(m*q)+Q(p*l)))){break a}N[f+164>>2]=j;s=g+256|0}N[f+132>>2]=m;N[f+144>>2]=i;N[f+140>>2]=k;N[f+136>>2]=l;a=s;b=J[a+4>>2];J[f+148>>2]=J[a>>2];J[f+152>>2]=b;b=J[a+12>>2];J[f+156>>2]=J[a+8>>2];J[f+160>>2]=b;h=1}sa=g+272|0;return h|0}function Yn(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=Q(0),k=Q(0),l=Q(0),m=Q(0),n=0,o=0,p=Q(0),q=Q(0),r=0,s=Q(0),t=Q(0),u=Q(0),v=Q(0),w=0,x=0;e=sa-48|0;sa=e;f=J[c+12>>2];J[e+24>>2]=J[c+8>>2];J[e+28>>2]=f;f=J[c+4>>2];J[e+16>>2]=J[c>>2];J[e+20>>2]=f;f=J[d+12>>2];J[e+40>>2]=J[d+8>>2];J[e+44>>2]=f;f=J[d+4>>2];J[e+32>>2]=J[d>>2];J[e+36>>2]=f;a:{if(J[b+60>>2]==2){_b(a+44|0,J[b+48>>2]);w=b,x=$b(a+4|0,e+16|0,b),J[w+48>>2]=x;f=1;break a}f=1;J[a+128>>2]=J[a+128>>2]+1;b:{h=J[b+48>>2];if(!(N[h>>2]<=N[e+32>>2])|!(N[h+16>>2]>=N[e+16>>2])|(!(N[h+4>>2]<=N[e+36>>2])|!(N[h+20>>2]>=N[e+20>>2]))){break b}if(!(N[h+8>>2]<=N[e+40>>2])|!(N[h+24>>2]>=N[e+24>>2])){break b}k=N[b+20>>2];p=N[b+24>>2];s=N[c>>2];t=N[c+4>>2];u=N[c+8>>2];q=N[b+16>>2];l=N[b+36>>2];m=N[b+40>>2];v=N[b+32>>2];j=N[a+100>>2];J[e+12>>2]=0;m=Q(j*Q(Q(m-p)*Q(.5)));N[e+8>>2]=m;l=Q(j*Q(Q(l-k)*Q(.5)));N[e+4>>2]=l;j=Q(j*Q(Q(v-q)*Q(.5)));N[e>>2]=j;if(Q(s-q)>2]=-j}if(Q(t-k)>2]=-l}if(Q(u-p)>2]=-m}n=a+4|0;g=e+16|0;k=N[g>>2];c:{d:{if(!(k>=N[h>>2])){j=N[g+4>>2];break d}j=N[g+4>>2];if(!(j>=N[h+4>>2])|!(N[h+8>>2]<=N[g+8>>2])|(!(N[h+16>>2]>=N[g+16>>2])|!(N[h+20>>2]>=N[g+20>>2]))){break d}f=0;if(N[h+24>>2]>=N[g+24>>2]){break c}}N[g+4>>2]=j+Q(-.05000000074505806);N[g>>2]=k+Q(-.05000000074505806);N[g+8>>2]=N[g+8>>2]+Q(-.05000000074505806);N[g+16>>2]=N[g+16>>2]+Q(.05000000074505806);N[g+20>>2]=N[g+20>>2]+Q(.05000000074505806);N[g+24>>2]=N[g+24>>2]+Q(.05000000074505806);j=N[e>>2];f=((j>Q(0))<<4)+g|0;N[f>>2]=j+N[f>>2];j=N[e+4>>2];f=(j>Q(0)?20:4)+g|0;N[f>>2]=j+N[f>>2];j=N[e+8>>2];f=(j>Q(0)?24:8)+g|0;N[f>>2]=j+N[f>>2];f=bc(n,h);e:{if(!f){f=0;break e}o=J[n+8>>2];if((o|0)>=0){if(!o){break e}while(1){i=J[f+32>>2];if(!i){break e}f=i;r=r+1|0;if((o|0)!=(r|0)){continue}break}break e}f=J[n>>2]}i=J[g+4>>2];J[h>>2]=J[g>>2];J[h+4>>2]=i;i=J[g+28>>2];J[h+24>>2]=J[g+24>>2];J[h+28>>2]=i;i=J[g+20>>2];J[h+16>>2]=J[g+16>>2];J[h+20>>2]=i;i=J[g+12>>2];J[h+8>>2]=J[g+8>>2];J[h+12>>2]=i;ac(n,f,h);f=1}if(!f){break a}J[a+132>>2]=J[a+132>>2]+1;break a}_c(a+4|0,h,e+16|0);J[a+132>>2]=J[a+132>>2]+1}i=J[b+52>>2];J[(i?i+56|0:((J[b+60>>2]<<2)+a|0)+84|0)>>2]=J[b+56>>2];i=J[b+56>>2];if(i){J[i+52>>2]=J[b+52>>2]}i=J[c+4>>2];J[b+16>>2]=J[c>>2];J[b+20>>2]=i;i=J[c+12>>2];J[b+24>>2]=J[c+8>>2];J[b+28>>2]=i;c=J[d+4>>2];J[b+32>>2]=J[d>>2];J[b+36>>2]=c;c=J[d+12>>2];J[b+40>>2]=J[d+8>>2];J[b+44>>2]=c;c=J[a+104>>2];J[b+60>>2]=c;J[b+52>>2]=0;c=(c<<2)+a|0;J[b+56>>2]=J[c+84>>2];d=J[c+84>>2];if(d){J[d+52>>2]=b}J[c+84>>2]=b;f:{if(!f){break f}H[a+154|0]=1;if(K[a+153|0]){break f}J[e>>2]=12044;J[e+4>>2]=a;Zb(a+44|0,J[a+44>>2],J[b+48>>2],e);Zb(a+4|0,J[a+4>>2],J[b+48>>2],e)}sa=e+48|0}function Nj(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=Q(0),g=Q(0),h=0,i=0,j=0,k=Q(0),l=Q(0),m=Q(0),n=Q(0),o=Q(0),p=Q(0),q=Q(0),r=Q(0),s=Q(0),t=Q(0),u=Q(0),v=0,w=0,x=0,y=0,z=0;g=N[b+44>>2];m=N[b+40>>2];n=N[b+36>>2];k=N[b+28>>2];o=N[b+24>>2];p=N[b+20>>2];q=N[b+32>>2];r=N[b+16>>2];l=N[b+12>>2];s=N[b+8>>2];t=N[b+4>>2];u=N[b>>2];i=J[a+4>>2];b=J[i+4>>2];a:{if((b|0)!=J[i+8>>2]){break a}v=b?b<<1:1;if((v|0)<=(b|0)){break a}if(v){J[8456]=J[8456]+1;w=ua[J[8258]](v<<6,16)|0;b=J[i+4>>2]}b:{if((b|0)<=0){break b}if((b|0)!=1){z=b&-2;while(1){h=x<<6;e=h+w|0;a=J[i+12>>2]+h|0;j=J[a+4>>2];J[e>>2]=J[a>>2];J[e+4>>2]=j;j=J[a+60>>2];J[e+56>>2]=J[a+56>>2];J[e+60>>2]=j;j=J[a+52>>2];J[e+48>>2]=J[a+48>>2];J[e+52>>2]=j;j=J[a+44>>2];J[e+40>>2]=J[a+40>>2];J[e+44>>2]=j;j=J[a+36>>2];J[e+32>>2]=J[a+32>>2];J[e+36>>2]=j;j=J[a+28>>2];J[e+24>>2]=J[a+24>>2];J[e+28>>2]=j;j=J[a+20>>2];J[e+16>>2]=J[a+16>>2];J[e+20>>2]=j;j=J[a+12>>2];J[e+8>>2]=J[a+8>>2];J[e+12>>2]=j;a=h|64;e=a+w|0;a=a+J[i+12>>2]|0;h=J[a+4>>2];J[e>>2]=J[a>>2];J[e+4>>2]=h;h=J[a+12>>2];J[e+8>>2]=J[a+8>>2];J[e+12>>2]=h;h=J[a+20>>2];J[e+16>>2]=J[a+16>>2];J[e+20>>2]=h;h=J[a+28>>2];J[e+24>>2]=J[a+24>>2];J[e+28>>2]=h;h=J[a+36>>2];J[e+32>>2]=J[a+32>>2];J[e+36>>2]=h;h=J[a+44>>2];J[e+40>>2]=J[a+40>>2];J[e+44>>2]=h;h=J[a+52>>2];J[e+48>>2]=J[a+48>>2];J[e+52>>2]=h;h=J[a+60>>2];J[e+56>>2]=J[a+56>>2];J[e+60>>2]=h;x=x+2|0;y=y+2|0;if((y|0)!=(z|0)){continue}break}}if(!(b&1)){break b}a=x<<6;b=a+w|0;a=a+J[i+12>>2]|0;e=J[a+4>>2];J[b>>2]=J[a>>2];J[b+4>>2]=e;e=J[a+60>>2];J[b+56>>2]=J[a+56>>2];J[b+60>>2]=e;e=J[a+52>>2];J[b+48>>2]=J[a+48>>2];J[b+52>>2]=e;e=J[a+44>>2];J[b+40>>2]=J[a+40>>2];J[b+44>>2]=e;e=J[a+36>>2];J[b+32>>2]=J[a+32>>2];J[b+36>>2]=e;e=J[a+28>>2];J[b+24>>2]=J[a+24>>2];J[b+28>>2]=e;e=J[a+20>>2];J[b+16>>2]=J[a+16>>2];J[b+20>>2]=e;e=J[a+12>>2];J[b+8>>2]=J[a+8>>2];J[b+12>>2]=e}a=J[i+12>>2];if(!(a?!a|!K[i+16|0]:1)){J[8457]=J[8457]+1;ua[J[8259]](a)}J[i+12>>2]=w;H[i+16|0]=1;J[i+8>>2]=v;b=J[i+4>>2]}a=J[i+12>>2]+(b<<6)|0;J[a+40>>2]=d;J[a+36>>2]=c;J[a+32>>2]=-1;f=l>Q(0)?l:Q(0);f=f>2]=g>f?g:f;f=s>Q(-0xde0b6b000000000)?s:Q(-0xde0b6b000000000);f=f>2]=fQ(-0xde0b6b000000000)?t:Q(-0xde0b6b000000000);f=f>2]=fQ(-0xde0b6b000000000)?u:Q(-0xde0b6b000000000);f=f>2]=f>2]=go?o:g;N[a+8>>2]=g>m?m:g;g=tp?p:g;N[a+4>>2]=g>n?n:g;g=ur?r:g;N[a>>2]=g>q?q:g;J[i+4>>2]=J[i+4>>2]+1}function Lc(a){var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;J[8423]=16752;b=J[a+20>>2];J[8456]=J[8456]+1;e=ua[J[8258]](4,16)|0;J[e>>2]=(b?22668:22828)+8;J[8429]=e;J[8456]=J[8456]+1;b=ua[J[8258]](20,16)|0;e=J[8429];J[b+12>>2]=0;J[b+16>>2]=3;H[b+4|0]=0;J[b+8>>2]=e;J[b>>2]=15072;J[8430]=b;J[8456]=J[8456]+1;b=ua[J[8258]](8,16)|0;J[b>>2]=16868;H[b+4|0]=0;J[8431]=b;J[8456]=J[8456]+1;b=ua[J[8258]](8,16)|0;J[b>>2]=16992;H[b+4|0]=0;J[8432]=b;J[8456]=J[8456]+1;b=ua[J[8258]](8,16)|0;J[b>>2]=17084;H[b+4|0]=0;J[8433]=b;J[8456]=J[8456]+1;b=ua[J[8258]](8,16)|0;J[b>>2]=17164;H[b+4|0]=0;J[8434]=b;J[8456]=J[8456]+1;b=ua[J[8258]](8,16)|0;J[b>>2]=17252;H[b+4|0]=0;J[8435]=b;J[8456]=J[8456]+1;b=ua[J[8258]](8,16)|0;J[b>>2]=17336;H[b+4|0]=0;J[8436]=b;J[8456]=J[8456]+1;b=ua[J[8258]](8,16)|0;J[b>>2]=17404;H[b+4|0]=0;J[8437]=b;J[8456]=J[8456]+1;b=ua[J[8258]](8,16)|0;J[b>>2]=17488;H[b+4|0]=0;J[8441]=b;J[8456]=J[8456]+1;b=ua[J[8258]](8,16)|0;J[b>>2]=17488;J[8442]=b;H[b+4|0]=1;J[8456]=J[8456]+1;b=ua[J[8258]](8,16)|0;J[b>>2]=17572;H[b+4|0]=0;J[8440]=b;J[8456]=J[8456]+1;b=ua[J[8258]](16,16)|0;J[b+8>>2]=1;J[b+12>>2]=0;J[b>>2]=17648;H[b+4|0]=0;J[8444]=b;J[8456]=J[8456]+1;b=ua[J[8258]](16,16)|0;J[b+8>>2]=1;J[b+12>>2]=0;J[b>>2]=17648;J[8443]=b;H[b+4|0]=1;h=J[a+16>>2];d=J[a>>2];a:{if(d){H[33704]=0;break a}H[33704]=1;J[8456]=J[8456]+1;d=ua[J[8258]](24,16)|0;b=J[a+8>>2];J[d+20>>2]=0;J[d+4>>2]=b;J[d>>2]=868;J[8456]=J[8456]+1;b=ua[J[8258]](P(b,868),16)|0;J[d+12>>2]=b;J[d+16>>2]=b;i=J[d+4>>2];J[d+8>>2]=i;e=i-1|0;b:{if(!e){break b}f=J[d>>2];j=e&7;if(j){while(1){c=b;b=b+f|0;J[c>>2]=b;e=e-1|0;g=g+1|0;if((j|0)!=(g|0)){continue}break}}if(i-2>>>0<7){break b}while(1){c=b;b=b+f|0;J[c>>2]=b;c=b;b=b+f|0;J[c>>2]=b;c=b;b=b+f|0;J[c>>2]=b;c=b;b=b+f|0;J[c>>2]=b;c=b;b=b+f|0;J[c>>2]=b;c=b;b=b+f|0;J[c>>2]=b;c=b;b=b+f|0;J[c>>2]=b;c=b;b=b+f|0;J[c>>2]=b;e=e-8|0;if(e){continue}break}}J[b>>2]=0}J[8425]=d;b=J[a+4>>2];if(b){H[33712]=0;J[8427]=b;return}H[33712]=1;J[8456]=J[8456]+1;d=ua[J[8258]](24,16)|0;a=J[a+12>>2];g=0;J[d+20>>2]=0;J[d+4>>2]=a;b=(h|0)<=72?72:h;b=((b>>>0<=116?116:b)&2147483632)+16|0;J[d>>2]=b;J[8456]=J[8456]+1;b=ua[J[8258]](P(a,b),16)|0;J[d+12>>2]=b;J[d+16>>2]=b;f=J[d+4>>2];J[d+8>>2]=f;e=f-1|0;c:{if(!e){break c}a=J[d>>2];h=e&7;if(h){while(1){c=b;b=a+b|0;J[c>>2]=b;e=e-1|0;g=g+1|0;if((h|0)!=(g|0)){continue}break}}if(f-2>>>0<7){break c}while(1){c=b;b=a+b|0;J[c>>2]=b;c=b;b=a+b|0;J[c>>2]=b;c=b;b=a+b|0;J[c>>2]=b;c=b;b=a+b|0;J[c>>2]=b;c=b;b=a+b|0;J[c>>2]=b;c=b;b=a+b|0;J[c>>2]=b;c=b;b=a+b|0;J[c>>2]=b;c=b;b=a+b|0;J[c>>2]=b;e=e-8|0;if(e){continue}break}}J[b>>2]=0;J[8427]=d}function Xk(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=Q(0),h=Q(0),i=Q(0),j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=Q(0),r=Q(0),s=Q(0);l=sa-32|0;sa=l;J[a+60>>2]=J[a+60>>2]+1;d=J[a+4>>2];ua[J[J[d>>2]+16>>2]](d,l+28|0,l+24|0,l+20|0,l+16|0,l+12|0,l+8|0,l+4|0,l,b);e=J[a+4>>2];j=J[l+12>>2]+P(J[l+8>>2],c)|0;m=J[l+16>>2];d=J[l+28>>2];f=J[l>>2];a:{if(!J[l+20>>2]){b:{c:{switch(f-2|0){case 0:k=J[j+8>>2];break b;case 1:k=L[j+4>>1];break b;default:break c}}k=K[j+2|0]}k=P(k,m)+d|0;g=N[k>>2];h=N[k+4>>2];i=N[k+8>>2];q=N[e+4>>2];r=N[e+8>>2];s=N[e+12>>2];J[a+56>>2]=0;N[a+52>>2]=i*s;N[a+48>>2]=h*r;N[a+44>>2]=g*q;d:{e:{switch(f-2|0){case 0:k=J[j+4>>2];break d;case 1:k=L[j+2>>1];break d;default:break e}}k=K[j+1|0]}k=P(k,m)+d|0;g=N[k>>2];h=N[k+4>>2];i=N[k+8>>2];q=N[e+4>>2];r=N[e+8>>2];s=N[e+12>>2];J[a+40>>2]=0;N[a+36>>2]=i*s;N[a+32>>2]=h*r;N[a+28>>2]=g*q;f:{g:{switch(f-2|0){case 0:f=J[j>>2];break f;case 1:f=L[j>>1];break f;default:break g}}f=K[j|0]}d=P(f,m)+d|0;k=d+8|0;g=Q(N[d+4>>2]*N[e+8>>2]);i=Q(N[d>>2]*N[e+4>>2]);h=N[e+12>>2];break a}k=e+12|0;h:{switch(f-2|0){case 0:f=P(J[j+8>>2],m)+d|0;n=O[f>>3];o=O[f+8>>3];p=O[f+16>>3];g=N[e+4>>2];h=N[e+8>>2];i=N[e+12>>2];J[a+56>>2]=0;N[a+52>>2]=i*Q(p);N[a+48>>2]=h*Q(o);N[a+44>>2]=g*Q(n);f=P(J[j+4>>2],m)+d|0;n=O[f>>3];o=O[f+8>>3];p=O[f+16>>3];g=N[e+4>>2];h=N[e+8>>2];i=N[e+12>>2];J[a+40>>2]=0;N[a+36>>2]=i*Q(p);N[a+32>>2]=h*Q(o);N[a+28>>2]=g*Q(n);d=P(J[j>>2],m)+d|0;g=Q(N[e+8>>2]*Q(O[d+8>>3]));i=Q(N[e+4>>2]*Q(O[d>>3]));h=Q(O[d+16>>3]);break a;case 1:f=P(L[j+4>>1],m)+d|0;n=O[f>>3];o=O[f+8>>3];p=O[f+16>>3];g=N[e+4>>2];h=N[e+8>>2];i=N[e+12>>2];J[a+56>>2]=0;N[a+52>>2]=i*Q(p);N[a+48>>2]=h*Q(o);N[a+44>>2]=g*Q(n);f=P(L[j+2>>1],m)+d|0;n=O[f>>3];o=O[f+8>>3];p=O[f+16>>3];g=N[e+4>>2];h=N[e+8>>2];i=N[e+12>>2];J[a+40>>2]=0;N[a+36>>2]=i*Q(p);N[a+32>>2]=h*Q(o);N[a+28>>2]=g*Q(n);d=P(L[j>>1],m)+d|0;g=Q(N[e+8>>2]*Q(O[d+8>>3]));i=Q(N[e+4>>2]*Q(O[d>>3]));h=Q(O[d+16>>3]);break a;default:break h}}f=P(K[j+2|0],m)+d|0;n=O[f>>3];o=O[f+8>>3];p=O[f+16>>3];g=N[e+4>>2];h=N[e+8>>2];i=N[e+12>>2];J[a+56>>2]=0;N[a+52>>2]=i*Q(p);N[a+48>>2]=h*Q(o);N[a+44>>2]=g*Q(n);f=P(K[j+1|0],m)+d|0;n=O[f>>3];o=O[f+8>>3];p=O[f+16>>3];g=N[e+4>>2];h=N[e+8>>2];i=N[e+12>>2];J[a+40>>2]=0;N[a+36>>2]=i*Q(p);N[a+32>>2]=h*Q(o);N[a+28>>2]=g*Q(n);d=P(K[j|0],m)+d|0;g=Q(N[e+8>>2]*Q(O[d+8>>3]));i=Q(N[e+4>>2]*Q(O[d>>3]));h=Q(O[d+16>>3])}q=N[k>>2];J[a+24>>2]=0;N[a+16>>2]=g;N[a+12>>2]=i;N[a+20>>2]=q*h;d=J[a+8>>2];ua[J[J[d>>2]+8>>2]](d,a+12|0,b,c);a=J[a+4>>2];ua[J[J[a>>2]+24>>2]](a,b);sa=l+32|0}function Pj(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=Q(0),f=Q(0),g=Q(0),h=0,i=0,j=Q(0),k=0,l=0,m=0,n=Q(0),o=Q(0),p=Q(0),q=Q(0),r=Q(0),s=Q(0),t=0,u=0,v=Q(0),w=Q(0),x=Q(0),y=Q(0),z=Q(0),A=Q(0),B=0,C=0;f=N[b+40>>2];g=N[b+36>>2];e=N[b+24>>2];o=N[b+20>>2];i=J[a+8>>2];v=N[i+44>>2];w=N[i+40>>2];x=N[i+12>>2];y=N[i+8>>2];p=N[b+32>>2];q=N[b+16>>2];n=N[b+8>>2];r=N[b+4>>2];s=N[b>>2];z=N[i+36>>2];A=N[i+4>>2];b=J[a+4>>2];a=J[b+4>>2];a:{if((a|0)!=J[b+8>>2]){break a}t=a?a<<1:1;if((t|0)<=(a|0)){break a}b:{if(!t){i=0;break b}J[8456]=J[8456]+1;i=ua[J[8258]](t<<4,16)|0;a=J[b+4>>2]}c:{if((a|0)<=0){break c}if((a|0)!=1){C=a&-2;while(1){l=k<<4;m=l+i|0;h=l+J[b+12>>2]|0;u=J[h+4>>2];J[m>>2]=J[h>>2];J[m+4>>2]=u;u=J[h+12>>2];J[m+8>>2]=J[h+8>>2];J[m+12>>2]=u;h=l|16;l=h+i|0;h=h+J[b+12>>2]|0;m=J[h+4>>2];J[l>>2]=J[h>>2];J[l+4>>2]=m;m=J[h+12>>2];J[l+8>>2]=J[h+8>>2];J[l+12>>2]=m;k=k+2|0;B=B+2|0;if((B|0)!=(C|0)){continue}break}}if(!(a&1)){break c}a=k<<4;k=a+i|0;a=a+J[b+12>>2]|0;h=J[a+4>>2];J[k>>2]=J[a>>2];J[k+4>>2]=h;h=J[a+12>>2];J[k+8>>2]=J[a+8>>2];J[k+12>>2]=h}a=J[b+12>>2];if(!(a?!a|!K[b+16|0]:1)){J[8457]=J[8457]+1;ua[J[8259]](a)}J[b+12>>2]=i;H[b+16|0]=1;J[b+8>>2]=t;a=J[b+4>>2]}a=J[b+12>>2]+(a<<4)|0;J[a+12>>2]=c<<21|d;j=n>Q(-0xde0b6b000000000)?n:Q(-0xde0b6b000000000);j=e>j?e:j;j=f>j?f:j;n=n=Q(0)){d=~~f>>>0;break d}d=0}I[a+4>>1]=d&65534;f=r>Q(-0xde0b6b000000000)?r:Q(-0xde0b6b000000000);f=fo?o:e;g=e>g?g:e;d=Q(f-g)=Q(0)){h=~~g>>>0;break e}h=0}I[a+2>>1]=h&65534;g=s>Q(-0xde0b6b000000000)?s:Q(-0xde0b6b000000000);g=gq?q:e;e=e>p?p:e;i=Q(g-e)=Q(0)){h=~~e>>>0;break f}h=0}I[a>>1]=h&65534;e=Q(Q(Q((c?Q(j+Q(.0010000000474974513)):j)-x)*v)+Q(1));g:{if(e=Q(0)){c=~~e>>>0;break g}c=0}I[a+10>>1]=c|1;f=Q(Q(Q((d?Q(f+Q(.0010000000474974513)):f)-y)*w)+Q(1));h:{if(f=Q(0)){c=~~f>>>0;break h}c=0}I[a+8>>1]=c|1;f=Q(Q(Q((i?Q(g+Q(.0010000000474974513)):g)-A)*z)+Q(1));i:{if(f=Q(0)){c=~~f>>>0;break i}c=0}I[a+6>>1]=c|1;J[b+4>>2]=J[b+4>>2]+1}function Co(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=Q(e);f=Q(f);g=Q(g);h=Q(h);i=Q(i);j=j|0;k=Q(k);l=l|0;var m=0,n=0,o=0,p=Q(0),q=Q(0),r=Q(0),s=0,t=0,u=Q(0),v=Q(0),w=Q(0),x=Q(0),y=Q(0),z=0,A=Q(0),B=Q(0),C=Q(0),D=Q(0),E=0,F=0,G=Q(0),H=0,I=0,K=Q(0),L=0,M=0,O=Q(0),P=Q(0),S=Q(0),T=0,U=0,V=0,W=0,X=0,Y=Q(0);n=sa-2416|0;sa=n;u=N[b>>2];A=N[c>>2];v=N[b+4>>2];C=N[c+4>>2];w=N[b+8>>2];D=N[c+8>>2];J[n+44>>2]=0;q=Q(D*e);N[n+40>>2]=w+q;r=Q(C*e);N[n+36>>2]=v+r;x=Q(A*e);N[n+32>>2]=u+x;J[n+28>>2]=0;N[n+24>>2]=w-q;N[n+20>>2]=v-r;N[n+16>>2]=u-x;p=Q(k*Q(.01745329238474369));k=Q(p+Q(-1.5707963705062866));I=f<=Q(-1.5707963705062866);x=I?k:f;f=Q(Q(1.5707963705062866)-p);E=g>=Q(1.5707963705062866);g=E?f:g;if(x>g){E=1;I=1;x=k;g=f}q=N[d>>2];r=N[d+4>>2];k=N[d+8>>2];m=h>i;K=m?Q(p+Q(-3.1415927410125732)):h;y=Q((m?Q(3.1415927410125732):i)-K);f=Q(y/p);a:{if(Q(R(f))=Q(6.2831854820251465);m=l^1;g=Q(g-x);f=Q(g/p);b:{if(Q(R(f))>2];v=N[b>>2];w=N[d>>2];q=N[c+4>>2];r=N[b+4>>2];k=N[d+4>>2];i=N[c+8>>2];h=N[b+8>>2];g=N[d+8>>2];J[o+12>>2]=0;f=Q(Q(Q(z|0)*C)+x);G=Q(Ma(f)*e);p=Q(G*y);Y=g;g=Q(G*D);B=Q(Na(f)*e);N[o+8>>2]=Q(Q(O*p)+Q(h+Q(Y*g)))+Q(i*B);N[o+4>>2]=Q(Q(P*p)+Q(r+Q(g*k)))+Q(B*q);N[o>>2]=Q(Q(S*p)+Q(v+Q(g*w)))+Q(B*u);L=(z|0)==(T|0);U=L&I;if(z|E){ua[J[J[a>>2]+16>>2]](a,z?s:n+16|0,o,j)}m=J[o+12>>2];J[n+8>>2]=J[o+8>>2];J[n+12>>2]=m;m=J[o+4>>2];J[n>>2]=J[o>>2];J[n+4>>2]=m;if(U){ua[J[J[a>>2]+16>>2]](a,n+32|0,o,j)}V=!z|L;if(!(!V|X)){ua[J[J[a>>2]+16>>2]](a,b,o,j)}m=1;while(1){u=N[c>>2];v=N[b>>2];w=N[d>>2];q=N[c+4>>2];r=N[b+4>>2];k=N[d+4>>2];i=N[c+8>>2];h=N[b+8>>2];g=N[d+8>>2];W=m<<4;t=W+o|0;J[t+12>>2]=0;H=m;f=Q(Q(Q(m|0)*A)+K);p=Q(G*Na(f));f=Q(G*Ma(f));N[t+8>>2]=Q(Q(O*p)+Q(h+Q(g*f)))+Q(B*i);N[t+4>>2]=Q(Q(P*p)+Q(r+Q(f*k)))+Q(B*q);N[t>>2]=Q(Q(S*p)+Q(v+Q(f*w)))+Q(B*u);c:{d:{if(z){m=s+W|0;break d}m=n+16|0;if(!E){break c}}ua[J[J[a>>2]+16>>2]](a,m,t,j)}ua[J[J[a>>2]+16>>2]](a,t-16|0,t,j);if(U){ua[J[J[a>>2]+16>>2]](a,n+32|0,t,j)}e:{if(!l){break e}f:{if(M){m=n;if((H|0)==(F|0)){break f}break e}m=b;if(!((H|0)==(F|0)&V)){break e}}ua[J[J[a>>2]+16>>2]](a,m,t,j)}m=H+1|0;if((H|0)!=(F|0)){continue}break}z=z+1|0;m=o;o=s;if(!L){continue}break}sa=n+2416|0}function ns(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=Q(0),i=0,j=0,k=0,l=0,m=0,n=Q(0);e=sa-128|0;sa=e;J[a+76>>2]=J[a+76>>2]+1;d=J[b+12>>2];J[e+72>>2]=J[b+8>>2];J[e+76>>2]=d;d=J[b+4>>2];J[e+64>>2]=J[b>>2];J[e+68>>2]=d;d=J[b+28>>2];J[e+88>>2]=J[b+24>>2];J[e+92>>2]=d;d=J[b+20>>2];J[e+80>>2]=J[b+16>>2];J[e+84>>2]=d;d=J[b+44>>2];J[e+104>>2]=J[b+40>>2];J[e+108>>2]=d;d=J[b+36>>2];J[e+96>>2]=J[b+32>>2];J[e+100>>2]=d;d=J[b+60>>2];J[e+120>>2]=J[b+56>>2];J[e+124>>2]=d;d=J[b+52>>2];J[e+112>>2]=J[b+48>>2];J[e+116>>2]=d;m=J[c+4>>2];n=Q(ua[J[J[c>>2]+48>>2]](c));ua[J[J[c>>2]+8>>2]](c,b,e+48|0,e+32|0);h=N[e+48>>2];if(h>2]){N[a+40>>2]=h}h=N[e+32>>2];if(h>N[a+56>>2]){N[a+56>>2]=h}h=N[e+52>>2];if(h>2]){N[a+44>>2]=h}h=N[e+36>>2];if(h>N[a+60>>2]){N[a+60>>2]=h}h=N[e+56>>2];if(h>2]){N[a+48>>2]=h}h=N[e+40>>2];if(h>N[a- -64>>2]){N[a+64>>2]=h}b=J[a+72>>2];if(b){d=J[e+60>>2];J[e+8>>2]=J[e+56>>2];J[e+12>>2]=d;d=J[e+44>>2];J[e+24>>2]=J[e+40>>2];J[e+28>>2]=d;d=J[e+36>>2];J[e+16>>2]=J[e+32>>2];J[e+20>>2]=d;d=J[e+52>>2];J[e>>2]=J[e+48>>2];J[e+4>>2]=d;b=$b(b,e,J[a+24>>2])}else{b=0}i=J[a+24>>2];a:{if((i|0)!=J[a+28>>2]){break a}j=i?i<<1:1;if((j|0)<=(i|0)){break a}if(j){J[8456]=J[8456]+1;l=ua[J[8258]](P(j,80),16)|0;i=J[a+24>>2]}if((i|0)>0){while(1){d=P(k,80);f=d+l|0;d=d+J[a+32>>2]|0;g=J[d+4>>2];J[f>>2]=J[d>>2];J[f+4>>2]=g;g=J[d+12>>2];J[f+8>>2]=J[d+8>>2];J[f+12>>2]=g;g=J[d+28>>2];J[f+24>>2]=J[d+24>>2];J[f+28>>2]=g;g=J[d+20>>2];J[f+16>>2]=J[d+16>>2];J[f+20>>2]=g;g=J[d+44>>2];J[f+40>>2]=J[d+40>>2];J[f+44>>2]=g;g=J[d+36>>2];J[f+32>>2]=J[d+32>>2];J[f+36>>2]=g;g=J[d+60>>2];J[f+56>>2]=J[d+56>>2];J[f+60>>2]=g;g=J[d+52>>2];J[f+48>>2]=J[d+48>>2];J[f+52>>2]=g;g=J[d+68>>2];J[f+64>>2]=J[d+64>>2];J[f+68>>2]=g;g=J[d+76>>2];J[f+72>>2]=J[d+72>>2];J[f+76>>2]=g;k=k+1|0;if((k|0)!=(i|0)){continue}break}}d=J[a+32>>2];if(!(d?!d|!K[a+36|0]:1)){J[8457]=J[8457]+1;ua[J[8259]](d)}J[a+32>>2]=l;H[a+36|0]=1;J[a+28>>2]=j;i=J[a+24>>2]}f=J[e+68>>2];d=J[a+32>>2]+P(i,80)|0;J[d>>2]=J[e+64>>2];J[d+4>>2]=f;f=J[e+76>>2];J[d+8>>2]=J[e+72>>2];J[d+12>>2]=f;f=J[e+92>>2];J[d+24>>2]=J[e+88>>2];J[d+28>>2]=f;f=J[e+84>>2];J[d+16>>2]=J[e+80>>2];J[d+20>>2]=f;f=J[e+100>>2];J[d+32>>2]=J[e+96>>2];J[d+36>>2]=f;f=J[e+108>>2];J[d+40>>2]=J[e+104>>2];J[d+44>>2]=f;f=J[e+116>>2];J[d+48>>2]=J[e+112>>2];J[d+52>>2]=f;f=J[e+124>>2];J[d+56>>2]=J[e+120>>2];J[d+60>>2]=f;J[d+64>>2]=c;J[d+68>>2]=m;N[d+72>>2]=n;J[d+76>>2]=b;J[a+24>>2]=J[a+24>>2]+1;sa=e+128|0}function Or(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;e=sa-32|0;sa=e;J[8456]=J[8456]+1;d=ua[J[8258]](348,16)|0;if(!K[33780]){J[e+24>>2]=0;J[e+28>>2]=1;J[e+16>>2]=4096;J[e+20>>2]=4096;J[e+8>>2]=0;J[e+12>>2]=0;Lc(e+8|0);H[33780]=1}H[d+76|0]=1;J[d+72>>2]=0;J[d+68>>2]=b;b=d;J[b+28>>2]=0;J[b+32>>2]=0;J[b+24>>2]=a;H[b+20|0]=1;J[b>>2]=13068;J[b+16>>2]=0;J[b- -64>>2]=0;H[b+60|0]=0;J[b+56>>2]=1025758986;H[b+54|0]=1;I[b+52>>1]=256;J[b+48>>2]=0;H[b+44|0]=1;J[b+36>>2]=1;J[b+40>>2]=1065353216;J[b+8>>2]=0;J[b+12>>2]=0;J[b+92>>2]=1058642330;J[b+96>>2]=1065353216;J[b+88>>2]=0;J[b+80>>2]=0;J[b+84>>2]=0;J[b>>2]=24120;J[b+100>>2]=1050253722;J[b+104>>2]=1015580809;J[b+132>>2]=0;J[b+136>>2]=1045220557;J[b+124>>2]=1045220557;J[b+128>>2]=1045220557;J[b+108>>2]=0;J[b+112>>2]=10;J[b+184>>2]=0;J[b+188>>2]=1045220557;J[b+176>>2]=1120403456;J[b+180>>2]=1900671690;J[b+172>>2]=128;J[b+164>>2]=260;J[b+168>>2]=2;J[b+156>>2]=0;J[b+160>>2]=1062836634;J[b+148>>2]=-1121724662;J[b+152>>2]=1036831949;J[b+140>>2]=0;J[b+144>>2]=1;J[b+116>>2]=1101004800;J[b+120>>2]=1065353216;H[b+208|0]=1;J[b+204>>2]=0;H[b+240|0]=1;J[b+216>>2]=c;J[b+212>>2]=0;J[b+196>>2]=0;J[b+200>>2]=0;J[b+236>>2]=0;J[b+228>>2]=0;J[b+232>>2]=0;H[b+260|0]=1;I[b+290>>1]=0;J[b+256>>2]=0;J[b+264>>2]=0;J[b+268>>2]=-1054867456;J[b+248>>2]=0;J[b+252>>2]=0;J[b+272>>2]=0;J[b+276>>2]=0;J[b+280>>2]=0;J[b+284>>2]=0;H[b+308|0]=1;J[b+312>>2]=0;J[b+304>>2]=0;J[b+296>>2]=0;J[b+300>>2]=0;H[b+336|0]=1;H[b+316|0]=1;J[b+324>>2]=0;J[b+328>>2]=0;J[b+332>>2]=0;J[b+340>>2]=0;if(c){c=0}else{J[8456]=J[8456]+1;f=d,g=Kd(ua[J[8258]](236,16)|0),J[f+216>>2]=g;c=1}H[b+289|0]=c;J[8456]=J[8456]+1;b=ua[J[8258]](68,16)|0;J[b>>2]=24060;J[b+16>>2]=0;H[b+20|0]=1;J[b+8>>2]=0;J[b+12>>2]=0;J[b+36>>2]=0;H[b+40|0]=1;H[b+60|0]=1;J[b+28>>2]=0;J[b+32>>2]=0;J[b+56>>2]=0;H[b+64|0]=1;J[b+48>>2]=0;J[b+52>>2]=0;H[d+288|0]=1;J[d+220>>2]=b;J[8456]=J[8456]+1;b=ua[J[8258]](88,16)|0;c=J[d+216>>2];H[b+44|0]=1;J[b+24>>2]=a;J[b+20>>2]=0;J[b+12>>2]=0;J[b+16>>2]=0;J[b+8>>2]=c;J[b+4>>2]=0;J[b>>2]=24384;J[b+40>>2]=0;H[b- -64|0]=1;J[b+32>>2]=0;J[b+36>>2]=0;J[b+60>>2]=0;H[b+84|0]=1;J[b+52>>2]=0;J[b+56>>2]=0;J[b+80>>2]=0;J[b+72>>2]=0;J[b+76>>2]=0;J[d+212>>2]=b;J[d+344>>2]=24816;J[d>>2]=24576;J[d+56>>2]=1008981770;a=J[d+68>>2];a=ua[J[J[a>>2]+36>>2]](a)|0;ua[J[J[a>>2]+44>>2]](a,d+344|0);a=J[d+68>>2];a=ua[J[J[a>>2]+36>>2]](a)|0;b=La(4);J[b>>2]=24916;ua[J[J[a>>2]+60>>2]](a,b);sa=e+32|0;return d|0}function Ed(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;a:{d=J[a+548>>2];b:{if((d|0)<=0){break b}e=J[a+556>>2];while(1){if(J[e+(f<<2)>>2]!=(b|0)){f=f+1|0;if((f|0)!=(d|0)){continue}break b}break}if((d|0)!=(f|0)){break a}}c:{if(J[a+552>>2]!=(d|0)){break c}i=d?d<<1:1;if((i|0)<=(d|0)){break c}d:{if(!i){e=0;break d}J[8456]=J[8456]+1;e=ua[J[8258]](i<<2,16)|0;d=J[a+548>>2]}e:{if((d|0)<=0){break e}f=0;if(d>>>0>=4){k=d&-4;while(1){c=f<<2;J[c+e>>2]=J[c+J[a+556>>2]>>2];g=c|4;J[g+e>>2]=J[g+J[a+556>>2]>>2];g=c|8;J[g+e>>2]=J[g+J[a+556>>2]>>2];c=c|12;J[c+e>>2]=J[c+J[a+556>>2]>>2];f=f+4|0;h=h+4|0;if((k|0)!=(h|0)){continue}break}}c=d&3;if(!c){break e}while(1){h=f<<2;J[h+e>>2]=J[h+J[a+556>>2]>>2];f=f+1|0;j=j+1|0;if((c|0)!=(j|0)){continue}break}}f=J[a+556>>2];if(!(!f|!K[a+560|0])){if(f){J[8457]=J[8457]+1;ua[J[8259]](f)}d=J[a+548>>2]}J[a+556>>2]=e;H[a+560|0]=1;J[a+552>>2]=i}J[J[a+556>>2]+(d<<2)>>2]=b;J[a+548>>2]=d+1;f=J[b+32>>2];b=J[b+28>>2];f:{if((b|0)==(a|0)){e=J[a+288>>2];if((e|0)!=J[a+292>>2]){break f}i=e?e<<1:1;if((i|0)<=(e|0)){break f}g:{if(!i){b=0;break g}J[8456]=J[8456]+1;b=ua[J[8258]](i<<2,16)|0;e=J[a+288>>2]}h:{if((e|0)<=0){break h}j=0;d=0;if(e>>>0>=4){k=e&-4;h=0;while(1){c=d<<2;J[c+b>>2]=J[c+J[a+296>>2]>>2];g=c|4;J[g+b>>2]=J[g+J[a+296>>2]>>2];g=c|8;J[g+b>>2]=J[g+J[a+296>>2]>>2];c=c|12;J[c+b>>2]=J[c+J[a+296>>2]>>2];d=d+4|0;h=h+4|0;if((k|0)!=(h|0)){continue}break}}c=e&3;if(!c){break h}while(1){h=d<<2;J[h+b>>2]=J[h+J[a+296>>2]>>2];d=d+1|0;j=j+1|0;if((c|0)!=(j|0)){continue}break}}d=J[a+296>>2];if(!(!d|!K[a+300|0])){if(d){J[8457]=J[8457]+1;ua[J[8259]](d)}e=J[a+288>>2]}J[a+296>>2]=b;H[a+300|0]=1;J[a+292>>2]=i;break f}e=J[f+288>>2];i:{if((e|0)!=J[f+292>>2]){break i}h=e?e<<1:1;if((h|0)<=(e|0)){break i}j:{if(!h){d=0;break j}J[8456]=J[8456]+1;d=ua[J[8258]](h<<2,16)|0;e=J[f+288>>2]}k:{if((e|0)<=0){break k}i=0;a=0;if(e>>>0>=4){k=e&-4;j=0;while(1){c=a<<2;J[c+d>>2]=J[c+J[f+296>>2]>>2];g=c|4;J[g+d>>2]=J[g+J[f+296>>2]>>2];g=c|8;J[g+d>>2]=J[g+J[f+296>>2]>>2];c=c|12;J[c+d>>2]=J[c+J[f+296>>2]>>2];a=a+4|0;j=j+4|0;if((k|0)!=(j|0)){continue}break}}j=e&3;if(!j){break k}while(1){c=a<<2;J[c+d>>2]=J[c+J[f+296>>2]>>2];a=a+1|0;i=i+1|0;if((j|0)!=(i|0)){continue}break}}a=J[f+296>>2];if(!(!a|!K[f+300|0])){if(a){J[8457]=J[8457]+1;ua[J[8259]](a)}e=J[f+288>>2]}J[f+296>>2]=d;H[f+300|0]=1;J[f+292>>2]=h}a=f;f=b}J[J[a+296>>2]+(e<<2)>>2]=f;J[a+280>>2]=(e^-1)>>>31;J[a+288>>2]=e+1}}function Em(a,b,c,d){a=a|0;b=b|0;c=c|0;d=Q(d);var e=Q(0),f=Q(0),g=Q(0),h=Q(0),i=Q(0),j=Q(0),k=Q(0),l=Q(0),m=Q(0),n=0,o=Q(0),p=Q(0),q=Q(0),r=Q(0),s=Q(0),t=Q(0),u=Q(0),v=Q(0),w=Q(0),x=Q(0),y=Q(0),z=Q(0),A=Q(0),B=Q(0),C=Q(0),D=Q(0),E=Q(0),F=Q(0),G=Q(0),H=Q(0),I=Q(0),L=Q(0);n=sa-16|0;sa=n;k=N[b+8>>2];f=N[c+8>>2];q=Q(Q(k*d)+f);C=N[b+4>>2];B=N[c+4>>2];D=Q(Q(C*d)+B);E=N[b>>2];e=Q(E*d);d=N[c>>2];F=Q(e+d);a:{if(K[a+232|0]){r=N[a+48>>2];i=Q(-N[a+88>>2]);s=N[a- -64>>2];h=N[a+92>>2];t=N[a+80>>2];g=N[a+96>>2];y=Q(Q(Q(r*i)-Q(s*h))-Q(t*g));e=N[a+208>>2];u=N[a+40>>2];v=N[a+56>>2];w=N[a+72>>2];z=Q(Q(Q(u*i)-Q(v*h))-Q(w*g));l=N[a+200>>2];x=N[a+44>>2];j=Q(x*i);i=N[a+60>>2];j=Q(j-Q(i*h));h=N[a+76>>2];j=Q(j-Q(h*g));g=N[a+204>>2];e=Q(Q(Q(Q(y*e)+Q(Q(z*l)+Q(j*g)))+N[a+224>>2])+Q(Q(q*Q(Q(t*e)+Q(Q(w*l)+Q(h*g))))+Q(Q(F*Q(Q(r*e)+Q(Q(u*l)+Q(x*g))))+Q(D*Q(Q(s*e)+Q(Q(v*l)+Q(i*g)))))));g=e;l=k;o=Q(Q(e-f)*k);f=N[a+176>>2];e=N[a+168>>2];k=N[a+172>>2];e=Q(Q(Q(q*Q(Q(t*f)+Q(Q(w*e)+Q(h*k))))+Q(Q(F*Q(Q(r*f)+Q(Q(u*e)+Q(x*k))))+Q(D*Q(Q(s*f)+Q(Q(v*e)+Q(i*k))))))+Q(Q(Q(y*f)+Q(Q(z*e)+Q(k*j)))+N[a+216>>2]));p=Q(Q(e-d)*E);k=q;d=N[a+192>>2];f=N[a+184>>2];q=N[a+188>>2];f=Q(Q(Q(k*Q(Q(t*d)+Q(Q(w*f)+Q(h*q))))+Q(Q(F*Q(Q(r*d)+Q(Q(u*f)+Q(x*q))))+Q(D*Q(Q(s*d)+Q(Q(v*f)+Q(i*q))))))+Q(Q(Q(y*d)+Q(Q(z*f)+Q(j*q)))+N[a+220>>2]));d=Q(o+Q(p+Q(C*Q(f-B))));N[n+8>>2]=g+Q(l*d);N[n+4>>2]=f+Q(C*d);N[n>>2]=e+Q(E*d);break a}I=N[a+224>>2];r=N[a+208>>2];s=N[a+200>>2];t=N[a+204>>2];L=N[a+216>>2];e=N[a+172>>2];u=N[a+176>>2];v=N[a+168>>2];w=N[a+112>>2];o=Q(-N[a+152>>2]);l=N[a+128>>2];p=N[a+156>>2];x=N[a+144>>2];A=N[a+160>>2];i=Q(Q(Q(w*o)-Q(l*p))-Q(x*A));h=N[a+104>>2];g=N[a+120>>2];y=N[a+136>>2];z=Q(Q(Q(h*o)-Q(g*p))-Q(y*A));j=N[a+108>>2];m=Q(j*o);o=N[a+124>>2];m=Q(m-Q(o*p));p=N[a+140>>2];A=Q(m-Q(p*A));m=N[a+192>>2];G=N[a+184>>2];H=N[a+188>>2];m=Q(Q(Q(f*Q(Q(x*m)+Q(Q(y*G)+Q(p*H))))+Q(Q(d*Q(Q(w*m)+Q(Q(h*G)+Q(j*H))))+Q(B*Q(Q(l*m)+Q(Q(g*G)+Q(o*H))))))+Q(Q(Q(i*m)+Q(Q(z*G)+Q(A*H)))+N[a+220>>2]));N[n+4>>2]=m;e=Q(Q(Q(f*Q(Q(x*u)+Q(Q(y*v)+Q(p*e))))+Q(Q(d*Q(Q(w*u)+Q(Q(h*v)+Q(j*e))))+Q(B*Q(Q(l*u)+Q(Q(g*v)+Q(o*e))))))+Q(L+Q(Q(i*u)+Q(Q(z*v)+Q(e*A)))));N[n>>2]=e;d=Q(Q(I+Q(Q(i*r)+Q(Q(z*s)+Q(A*t))))+Q(Q(f*Q(Q(x*r)+Q(Q(y*s)+Q(p*t))))+Q(Q(d*Q(Q(w*r)+Q(Q(h*s)+Q(j*t))))+Q(B*Q(Q(l*r)+Q(Q(g*s)+Q(o*t)))))));N[n+8>>2]=d;d=Q(Q(Q(q-d)*k)+Q(Q(Q(F-e)*E)+Q(C*Q(D-m))))}J[n+12>>2]=0;a=J[a+36>>2];ua[J[J[a>>2]+16>>2]](a,b,n,d);sa=n+16|0}function Vb(a,b,c,d){var e=Q(0),f=Q(0),g=Q(0),h=0,i=Q(0),j=Q(0),k=Q(0),l=Q(0),m=Q(0),n=Q(0),o=Q(0),p=Q(0),q=Q(0),r=Q(0),s=Q(0),t=Q(0),u=Q(0),w=Q(0),y=Q(0),z=Q(0),A=Q(0),D=Q(0),E=Q(0),F=Q(0);h=sa+-64|0;sa=h;p=N[b+24>>2];q=N[b+20>>2];r=N[b+40>>2];s=N[b+36>>2];j=N[a+40>>2];k=N[a+20>>2];l=N[a+36>>2];m=N[a+24>>2];t=N[b+8>>2];u=N[b>>2];w=N[b+4>>2];y=N[b+16>>2];z=N[b+32>>2];f=N[a+8>>2];g=N[a+4>>2];o=N[a+32>>2];n=N[a+16>>2];i=N[a>>2];J[h+60>>2]=0;J[h+44>>2]=0;D=Q(Q(n*l)-Q(o*k));E=Q(Q(k*j)-Q(l*m));F=Q(Q(m*o)-Q(j*n));e=Q(Q(1)/Q(Q(f*D)+Q(Q(i*E)+Q(g*F))));A=Q(Q(Q(i*k)-Q(n*g))*e);k=Q(Q(Q(g*m)-Q(k*f))*e);m=Q(Q(Q(f*n)-Q(m*i))*e);N[h+56>>2]=Q(r*A)+Q(Q(z*k)+Q(s*m));n=Q(Q(Q(g*o)-Q(l*i))*e);g=Q(Q(Q(f*l)-Q(j*g))*e);f=Q(Q(Q(i*j)-Q(o*f))*e);N[h+52>>2]=Q(r*n)+Q(Q(z*g)+Q(s*f));N[h+40>>2]=Q(A*p)+Q(Q(k*y)+Q(m*q));N[h+36>>2]=Q(n*p)+Q(Q(g*y)+Q(f*q));J[h+28>>2]=0;i=Q(D*e);j=Q(E*e);e=Q(F*e);N[h+48>>2]=Q(r*i)+Q(Q(z*j)+Q(s*e));N[h+32>>2]=Q(i*p)+Q(Q(j*y)+Q(e*q));N[h+24>>2]=Q(A*t)+Q(Q(k*u)+Q(w*m));N[h+20>>2]=Q(n*t)+Q(Q(g*u)+Q(w*f));N[h+16>>2]=Q(i*t)+Q(Q(j*u)+Q(w*e));ob(h+16|0,h);e=N[h+12>>2];i=N[h+8>>2];j=N[h>>2];k=N[h+4>>2];g=Q(Q(1)/Q(Y(Q(Q(e*e)+Q(Q(i*i)+Q(Q(j*j)+Q(k*k)))))));e=Q(e*g);e=eQ(1)?Q(1):e;b=(B(f),v(2));a=b&2147483647;a:{if(a>>>0>=1065353216){e=(b|0)>=0?Q(0):Q(3.141592502593994);if((a|0)==1065353216){break a}e=Q(Q(0)/Q(f-f));break a}b:{if(a>>>0<=1056964607){e=Q(1.570796251296997);if(a>>>0<847249409){break b}e=Q(f*f);e=Q(Q(Q(Q(7.549789415861596e-8)-Q(f*Q(Q(Q(Q(e*Q(Q(e*Q(-.008656363002955914))+Q(-.04274342209100723)))+Q(.16666586697101593))*e)/Q(Q(e*Q(-.7066296339035034))+Q(1)))))-f)+Q(1.570796251296997));break a}if((b|0)<0){e=Q(Q(f+Q(1))*Q(.5));f=Q(Y(e));e=Q(Q(1.570796251296997)-Q(f+Q(Q(f*Q(Q(Q(Q(e*Q(Q(e*Q(-.008656363002955914))+Q(-.04274342209100723)))+Q(.16666586697101593))*e)/Q(Q(e*Q(-.7066296339035034))+Q(1))))+Q(-7.549789415861596e-8))));e=Q(e+e);break a}e=Q(Q(Q(1)-f)*Q(.5));l=Q(Y(e));f=(x(2,(B(l),v(2))&-4096),C());e=Q(Q(Q(l*Q(Q(Q(Q(e*Q(Q(e*Q(-.008656363002955914))+Q(-.04274342209100723)))+Q(.16666586697101593))*e)/Q(Q(e*Q(-.7066296339035034))+Q(1))))+Q(Q(e-Q(f*f))/Q(l+f)))+f);e=Q(e+e)}}N[d>>2]=e+e;J[c+12>>2]=0;e=Q(i*g);f=Q(j*g);g=Q(k*g);i=Q(Q(e*e)+Q(Q(f*f)+Q(g*g)));c:{if(i>2]=1065353216;J[c+4>>2]=0;e=Q(0);break c}j=g;g=Q(Q(1)/Q(Y(i)));N[c+4>>2]=j*g;N[c>>2]=f*g;e=Q(e*g)}N[c+8>>2]=e;sa=h- -64|0}function Re(a,b,c){var d=0,e=0,f=0,g=Q(0),h=0,i=0,j=Q(0),k=Q(0),l=Q(0),m=Q(0),n=Q(0),o=Q(0),p=Q(0),q=Q(0),r=Q(0),s=Q(0),t=Q(0),u=Q(0),v=Q(0),w=Q(0),x=Q(0),y=Q(0),z=Q(0),A=Q(0),B=Q(0),C=Q(0),D=Q(0),E=Q(0),F=Q(0),G=0;d=sa-160|0;sa=d;f=J[a+4>>2];e=J[f+12>>2];D=N[e+52>>2];E=N[e+56>>2];g=N[e+24>>2];j=N[e+20>>2];k=N[e+40>>2];l=N[e+36>>2];F=N[e+48>>2];m=N[e+8>>2];n=N[e>>2];o=N[e+4>>2];p=N[e+16>>2];q=N[e+32>>2];e=J[J[f+4>>2]+32>>2]+P(c,80)|0;r=N[e+32>>2];s=N[e>>2];t=N[e+16>>2];u=N[e+56>>2];v=N[e+52>>2];w=N[e+48>>2];x=N[e+36>>2];y=N[e+20>>2];z=N[e+4>>2];A=N[e+40>>2];B=N[e+24>>2];C=N[e+8>>2];e=0;J[d+156>>2]=0;J[d+140>>2]=0;J[d+124>>2]=0;N[d+136>>2]=Q(A*k)+Q(Q(C*q)+Q(l*B));N[d+132>>2]=Q(x*k)+Q(Q(z*q)+Q(l*y));N[d+120>>2]=Q(A*g)+Q(Q(C*p)+Q(j*B));N[d+116>>2]=Q(x*g)+Q(Q(z*p)+Q(j*y));N[d+152>>2]=E+Q(Q(u*k)+Q(Q(w*q)+Q(l*v)));N[d+148>>2]=D+Q(Q(u*g)+Q(Q(w*p)+Q(j*v)));J[d+108>>2]=0;N[d+128>>2]=Q(r*k)+Q(Q(s*q)+Q(l*t));N[d+112>>2]=Q(r*g)+Q(Q(s*p)+Q(j*t));N[d+96>>2]=Q(r*m)+Q(Q(s*n)+Q(o*t));N[d+104>>2]=Q(A*m)+Q(Q(C*n)+Q(o*B));N[d+100>>2]=Q(x*m)+Q(Q(z*n)+Q(o*y));N[d+144>>2]=F+Q(Q(u*m)+Q(Q(w*n)+Q(o*v)));ua[J[J[b>>2]+8>>2]](b,d+96|0,d+80|0,d- -64|0);g=N[J[a+20>>2]+32>>2];N[d+80>>2]=N[d+80>>2]-g;N[d+84>>2]=N[d+84>>2]-g;N[d+88>>2]=N[d+88>>2]-g;N[d+64>>2]=g+N[d+64>>2];N[d+68>>2]=g+N[d+68>>2];N[d+72>>2]=g+N[d+72>>2];f=J[a+8>>2];h=J[f+4>>2];ua[J[J[h>>2]+8>>2]](h,J[f+12>>2],d+48|0,d+32|0);f=J[8464];a:{if(f){if(!(ua[f|0](J[J[a+8>>2]+4>>2],b)|0)){break a}}e=N[d+64>>2]>2]|N[d+80>>2]>N[d+32>>2]?e:1;f=0;if((N[d+72>>2]>2]|N[d+88>>2]>N[d+40>>2]?f:e)^1|N[d+68>>2]>2]|N[d+84>>2]>N[d+36>>2]){break a}e=J[a+4>>2];f=J[e+8>>2];J[d+28>>2]=c;J[d+24>>2]=-1;J[d+16>>2]=f;J[d+12>>2]=b;J[d+8>>2]=e;J[d+20>>2]=d+96;b:{if(N[J[a+20>>2]+32>>2]>Q(0)){b=J[a+12>>2];b=ua[J[J[b>>2]+8>>2]](b,d+8|0,J[a+8>>2],0,2)|0;break b}e=c<<2;b=J[e+J[a+24>>2]>>2];if(b){break b}b=J[a+12>>2];b=ua[J[J[b>>2]+8>>2]](b,d+8|0,J[a+8>>2],J[a+28>>2],1)|0;J[e+J[a+24>>2]>>2]=b;b=J[e+J[a+24>>2]>>2]}f=J[a+20>>2];h=J[f+8>>2];c:{if(J[h+8>>2]==J[J[a+4>>2]+8>>2]){i=f+8|0;e=2;break c}h=J[f+12>>2];i=f+12|0;e=3}G=i;i=d+8|0;J[G>>2]=i;ua[J[J[f>>2]+(e<<2)>>2]](f,-1,c);ua[J[J[b>>2]+8>>2]](b,i,J[a+8>>2],J[a+16>>2],J[a+20>>2]);b=J[a+20>>2];J[(J[J[b+8>>2]+8>>2]==J[J[a+4>>2]+8>>2]?8:12)+b>>2]=h}sa=d+160|0}function ue(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=Q(0),i=Q(0),j=Q(0),k=0,l=0,m=Q(0),n=0,o=0,p=Q(0),q=Q(0),r=0;d=sa-80|0;sa=d;e=J[a+4>>2];ua[J[J[e>>2]+16>>2]](e,d+28|0,d+24|0,d+20|0,d+16|0,d+12|0,d+8|0,d+4|0,d,b);g=J[d+12>>2]+P(J[d+8>>2],c)|0;e=J[a+4>>2];k=J[d+16>>2];l=J[d+28>>2];f=J[d>>2];a:{if(!J[d+20>>2]){if((f|0)!=3){f=P(J[g+8>>2],k)+l|0;h=N[f>>2];i=N[f+4>>2];j=N[f+8>>2];m=N[e+4>>2];p=N[e+8>>2];q=N[e+12>>2];J[d+76>>2]=0;N[d+72>>2]=j*q;N[d+68>>2]=i*p;N[d+64>>2]=h*m;f=P(J[g+4>>2],k)+l|0;h=N[f>>2];i=N[f+4>>2];j=N[f+8>>2];m=N[e+4>>2];p=N[e+8>>2];q=N[e+12>>2];J[d+60>>2]=0;N[d+56>>2]=j*q;N[d+52>>2]=i*p;N[d+48>>2]=h*m;g=P(J[g>>2],k)+l|0;h=N[g+4>>2];i=N[g+8>>2];j=N[e+8>>2];m=N[e+12>>2];N[d+32>>2]=N[g>>2]*N[e+4>>2];i=Q(i*m);h=Q(h*j);break a}f=P(L[g+4>>1],k)+l|0;h=N[f>>2];i=N[f+4>>2];j=N[f+8>>2];m=N[e+4>>2];p=N[e+8>>2];q=N[e+12>>2];J[d+76>>2]=0;N[d+72>>2]=j*q;N[d+68>>2]=i*p;N[d+64>>2]=h*m;f=P(L[g+2>>1],k)+l|0;h=N[f>>2];i=N[f+4>>2];j=N[f+8>>2];m=N[e+4>>2];p=N[e+8>>2];q=N[e+12>>2];J[d+60>>2]=0;N[d+56>>2]=j*q;N[d+52>>2]=i*p;N[d+48>>2]=h*m;g=P(L[g>>1],k)+l|0;h=N[g+4>>2];i=N[g+8>>2];j=N[e+8>>2];m=N[e+12>>2];N[d+32>>2]=N[g>>2]*N[e+4>>2];i=Q(i*m);h=Q(h*j);break a}if((f|0)!=3){f=P(J[g+8>>2],k)+l|0;n=O[f>>3];o=O[f+8>>3];r=O[f+16>>3];h=N[e+4>>2];i=N[e+8>>2];j=N[e+12>>2];J[d+76>>2]=0;N[d+72>>2]=j*Q(r);N[d+68>>2]=i*Q(o);N[d+64>>2]=h*Q(n);f=P(J[g+4>>2],k)+l|0;n=O[f>>3];o=O[f+8>>3];r=O[f+16>>3];h=N[e+4>>2];i=N[e+8>>2];j=N[e+12>>2];J[d+60>>2]=0;N[d+56>>2]=j*Q(r);N[d+52>>2]=i*Q(o);N[d+48>>2]=h*Q(n);g=P(J[g>>2],k)+l|0;n=O[g+8>>3];o=O[g+16>>3];h=N[e+8>>2];i=N[e+12>>2];N[d+32>>2]=N[e+4>>2]*Q(O[g>>3]);i=Q(i*Q(o));h=Q(h*Q(n));break a}f=P(L[g+4>>1],k)+l|0;n=O[f>>3];o=O[f+8>>3];r=O[f+16>>3];h=N[e+4>>2];i=N[e+8>>2];j=N[e+12>>2];J[d+76>>2]=0;N[d+72>>2]=j*Q(r);N[d+68>>2]=i*Q(o);N[d+64>>2]=h*Q(n);f=P(L[g+2>>1],k)+l|0;n=O[f>>3];o=O[f+8>>3];r=O[f+16>>3];h=N[e+4>>2];i=N[e+8>>2];j=N[e+12>>2];J[d+60>>2]=0;N[d+56>>2]=j*Q(r);N[d+52>>2]=i*Q(o);N[d+48>>2]=h*Q(n);g=P(L[g>>1],k)+l|0;n=O[g+8>>3];o=O[g+16>>3];h=N[e+8>>2];i=N[e+12>>2];N[d+32>>2]=N[e+4>>2]*Q(O[g>>3]);i=Q(i*Q(o));h=Q(h*Q(n))}J[d+44>>2]=0;N[d+40>>2]=i;N[d+36>>2]=h;e=J[a+8>>2];ua[J[J[e>>2]+8>>2]](e,d+32|0,b,c);a=J[a+4>>2];ua[J[J[a>>2]+24>>2]](a,b);sa=d+80|0}function Ua(a,b,c){var d=0,e=0,f=Q(0),g=Q(0),h=Q(0),i=0,j=0,k=Q(0),l=Q(0),m=Q(0),n=0,o=Q(0),p=Q(0),q=Q(0),r=Q(0),s=Q(0),t=Q(0),u=Q(0),v=Q(0),w=Q(0),x=Q(0),y=Q(0),z=Q(0);j=sa-16|0;sa=j;d=J[a+844>>2];a:{if((d|0)<=0){break a}while(1){o=N[b+48>>2];r=N[b+8>>2];s=N[b>>2];t=N[b+4>>2];p=N[b+52>>2];u=N[b+24>>2];k=N[b+16>>2];v=N[b+20>>2];f=N[b+56>>2];h=N[b+40>>2];g=N[b+32>>2];q=N[b+36>>2];i=d-1|0;e=P(i,208)+a|0;J[e- -64>>2]=0;m=f;f=N[e+12>>2];l=Q(h*f);h=N[e+4>>2];w=Q(g*h);g=N[e+8>>2];q=Q(m+Q(l+Q(w+Q(q*g))));N[e+60>>2]=q;p=Q(p+Q(Q(f*u)+Q(Q(h*k)+Q(g*v))));N[e+56>>2]=p;o=Q(o+Q(Q(f*r)+Q(Q(h*s)+Q(g*t))));N[e+52>>2]=o;r=N[c+56>>2];s=N[c+40>>2];t=N[c+32>>2];u=N[c+36>>2];k=N[c+52>>2];v=N[c+24>>2];w=N[c+16>>2];x=N[c+20>>2];f=N[c+48>>2];h=N[c+8>>2];g=N[c>>2];l=N[c+4>>2];J[e+48>>2]=0;m=f;f=N[e+28>>2];y=Q(h*f);h=N[e+20>>2];z=Q(g*h);g=N[e+24>>2];l=Q(m+Q(y+Q(z+Q(l*g))));N[e+36>>2]=l;k=Q(k+Q(Q(f*v)+Q(Q(h*w)+Q(g*x))));N[e+40>>2]=k;f=Q(r+Q(Q(f*s)+Q(Q(h*t)+Q(g*u))));N[e+44>>2]=f;N[e+84>>2]=Q(Q(q-f)*N[e+76>>2])+Q(Q(Q(o-l)*N[e+68>>2])+Q(Q(p-k)*N[e+72>>2]));J[e+168>>2]=J[e+168>>2]+1;e=d>>>0>1;d=i;if(e){continue}break}b=J[a+844>>2];if((b|0)<=0){break a}while(1){c=b;b=c-1|0;d=P(b,208)+a|0;i=d+4|0;f=N[d+84>>2];h=N[a+848>>2];b:{if(!(f<=h)){e=J[d+120>>2];c:{if(!e){break c}n=J[8753];if(!n){break c}ua[n|0](e)|0;J[d+120>>2]=0}d=J[a+844>>2];if((c|0)!=(d|0)){d=P(d,208)+a|0;Ja(i,d-204|0,208);d=d-208|0;J[d+168>>2]=0;J[d+120>>2]=0;J[d+132>>2]=0;J[d+136>>2]=0;J[d+140>>2]=0;J[d+144>>2]=0;d=J[a+844>>2]}else{d=c}d=d-1|0;J[a+844>>2]=d;i=J[8756];if(d|!i){break b}J[j+8>>2]=a;ua[i|0](j+8|0);break b}g=Q(N[d+44>>2]-Q(N[d+60>>2]-Q(f*N[d+76>>2])));m=Q(g*g);g=Q(N[d+36>>2]-Q(N[d+52>>2]-Q(N[d+68>>2]*f)));f=Q(N[d+40>>2]-Q(N[d+56>>2]-Q(f*N[d+72>>2])));if(Q(m+Q(Q(g*g)+Q(f*f)))>Q(h*h)){e=J[d+120>>2];d:{if(!e){break d}n=J[8753];if(!n){break d}ua[n|0](e)|0;J[d+120>>2]=0}d=J[a+844>>2];if((c|0)!=(d|0)){d=P(d,208)+a|0;Ja(i,d-204|0,208);d=d-208|0;J[d+168>>2]=0;J[d+120>>2]=0;J[d+132>>2]=0;J[d+136>>2]=0;J[d+140>>2]=0;J[d+144>>2]=0;d=J[a+844>>2]}else{d=c}d=d-1|0;J[a+844>>2]=d;i=J[8756];if(d|!i){break b}J[j+12>>2]=a;ua[i|0](j+12|0);break b}d=J[8754];if(!d){break b}ua[d|0](i,J[a+836>>2],J[a+840>>2])|0}if(c>>>0>1){continue}break}}sa=j+16|0}function Bo(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=Q(0),g=Q(0),h=Q(0),i=0;e=sa-32|0;sa=e;N[e+16>>2]=N[b>>2];f=N[b+4>>2];N[e+20>>2]=f;g=N[b+8>>2];J[e+28>>2]=0;N[e+24>>2]=g;h=N[c>>2];J[e+12>>2]=0;N[e+8>>2]=g;N[e+4>>2]=f;N[e>>2]=h;i=e+16|0;ua[J[J[a>>2]+16>>2]](a,i,e,d);f=N[c>>2];N[e+16>>2]=f;N[e+20>>2]=N[b+4>>2];g=N[b+8>>2];J[e+28>>2]=0;N[e+24>>2]=g;N[e>>2]=f;f=N[c+4>>2];J[e+12>>2]=0;N[e+8>>2]=g;N[e+4>>2]=f;ua[J[J[a>>2]+16>>2]](a,i,e,d);N[e+16>>2]=N[c>>2];f=N[c+4>>2];N[e+20>>2]=f;g=N[b+8>>2];J[e+28>>2]=0;N[e+24>>2]=g;h=N[b>>2];J[e+12>>2]=0;N[e+8>>2]=g;N[e+4>>2]=f;N[e>>2]=h;ua[J[J[a>>2]+16>>2]](a,i,e,d);f=N[b>>2];N[e+16>>2]=f;N[e+20>>2]=N[c+4>>2];g=N[b+8>>2];J[e+28>>2]=0;N[e+24>>2]=g;N[e>>2]=f;f=N[b+4>>2];J[e+12>>2]=0;N[e+8>>2]=g;N[e+4>>2]=f;ua[J[J[a>>2]+16>>2]](a,i,e,d);g=N[b>>2];N[e+16>>2]=g;f=N[b+4>>2];N[e+20>>2]=f;h=N[b+8>>2];J[e+28>>2]=0;N[e+24>>2]=h;N[e+4>>2]=f;N[e>>2]=g;g=N[c+8>>2];J[e+12>>2]=0;N[e+8>>2]=g;ua[J[J[a>>2]+16>>2]](a,i,e,d);g=N[c>>2];N[e+16>>2]=g;f=N[b+4>>2];N[e+20>>2]=f;h=N[b+8>>2];J[e+28>>2]=0;N[e+24>>2]=h;N[e+4>>2]=f;N[e>>2]=g;g=N[c+8>>2];J[e+12>>2]=0;N[e+8>>2]=g;ua[J[J[a>>2]+16>>2]](a,i,e,d);g=N[c>>2];N[e+16>>2]=g;f=N[c+4>>2];N[e+20>>2]=f;h=N[b+8>>2];J[e+28>>2]=0;N[e+24>>2]=h;N[e+4>>2]=f;N[e>>2]=g;g=N[c+8>>2];J[e+12>>2]=0;N[e+8>>2]=g;ua[J[J[a>>2]+16>>2]](a,i,e,d);g=N[b>>2];N[e+16>>2]=g;f=N[c+4>>2];N[e+20>>2]=f;h=N[b+8>>2];J[e+28>>2]=0;N[e+24>>2]=h;N[e+4>>2]=f;N[e>>2]=g;g=N[c+8>>2];J[e+12>>2]=0;N[e+8>>2]=g;ua[J[J[a>>2]+16>>2]](a,i,e,d);N[e+16>>2]=N[b>>2];f=N[b+4>>2];N[e+20>>2]=f;g=N[c+8>>2];J[e+28>>2]=0;N[e+24>>2]=g;h=N[c>>2];J[e+12>>2]=0;N[e+8>>2]=g;N[e+4>>2]=f;N[e>>2]=h;ua[J[J[a>>2]+16>>2]](a,i,e,d);f=N[c>>2];N[e+16>>2]=f;N[e+20>>2]=N[b+4>>2];g=N[c+8>>2];J[e+28>>2]=0;N[e+24>>2]=g;N[e>>2]=f;f=N[c+4>>2];J[e+12>>2]=0;N[e+8>>2]=g;N[e+4>>2]=f;ua[J[J[a>>2]+16>>2]](a,i,e,d);N[e+16>>2]=N[c>>2];f=N[c+4>>2];N[e+20>>2]=f;g=N[c+8>>2];J[e+28>>2]=0;N[e+24>>2]=g;h=N[b>>2];J[e+12>>2]=0;N[e+8>>2]=g;N[e+4>>2]=f;N[e>>2]=h;ua[J[J[a>>2]+16>>2]](a,i,e,d);f=N[b>>2];N[e+16>>2]=f;N[e+20>>2]=N[c+4>>2];g=N[c+8>>2];J[e+28>>2]=0;N[e+24>>2]=g;N[e>>2]=f;f=N[b+4>>2];J[e+12>>2]=0;N[e+8>>2]=g;N[e+4>>2]=f;ua[J[J[a>>2]+16>>2]](a,i,e,d);sa=e+32|0}function ge(a,b,c,d,e,f,g){var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;k=sa-48|0;sa=k;h=J[c+8>>2];if(h){p=h;while(1){if(J[p+20>>2]>J[a+100>>2]){j=J[p+12>>2];i=J[j+92>>2];l=J[j+96>>2];h=J[c+88>>2];m=J[j+88>>2];o=J[c+92>>2];j=J[c+96>>2];J[k+44>>2]=-1;j=l-j|0;J[k+40>>2]=j;i=i-o|0;J[k+36>>2]=i;l=m-h|0;J[k+32>>2]=l;m=i;q=i>>31;i=us(i,q,J[e+8>>2],J[e+12>>2]);h=ta;o=l;r=l>>31;l=us(l,r,J[e>>2],J[e+4>>2]);i=l+i|0;h=ta+h|0;h=i>>>0>>0?h+1|0:h;s=j>>31;t=us(j,s,J[e+16>>2],J[e+20>>2]);l=t+i|0;i=ta+h|0;i=l>>>0>>0?i+1|0:i;h=us(J[f+8>>2],J[f+12>>2],m,q);q=ta;o=us(J[f>>2],J[f+4>>2],o,r);m=o+h|0;h=ta+q|0;h=m>>>0>>0?h+1|0:h;u=m;m=us(J[f+16>>2],J[f+20>>2],j,s);j=u+m|0;h=ta+h|0;h=j>>>0>>0?h+1|0:h;m=h;a:{if(!!j&(h|0)>=0|(h|0)>0){J[k+24>>2]=1;o=0;h=-1;break a}if((m|0)<0){J[k+24>>2]=-1;h=j;j=0-j|0;m=0-(((h|0)!=0)+m|0)|0;o=0;h=1;break a}J[k+24>>2]=0;j=0;m=0;o=1;h=0}J[k+8>>2]=j;J[k+12>>2]=m;b:{c:{d:{m=k;if(!l&(i|0)<=0|(i|0)<0){if((i|0)>0|(i|0)>=0){break d}J[k+24>>2]=h;i=0-(((l|0)!=0)+i|0)|0;l=0-l|0}J[m+16>>2]=l;J[k+20>>2]=i;break c}J[k+16>>2]=0;J[k+20>>2]=0;if(o){break b}}if(!n){n=J[k+12>>2];J[g>>2]=J[k+8>>2];J[g+4>>2]=n;J[g+16>>2]=J[k+24>>2];n=J[k+20>>2];J[g+8>>2]=J[k+16>>2];J[g+12>>2]=n;n=p;break b}j=lb(k+8|0,g);if((j|0)<0){n=J[k+12>>2];J[g>>2]=J[k+8>>2];J[g+4>>2]=n;J[g+16>>2]=J[k+24>>2];n=J[k+20>>2];J[g+8>>2]=J[k+16>>2];J[g+12>>2]=n;n=p;break b}if(j){break b}x=n;i=J[n+4>>2];e:{f:{if(J[n>>2]==(p|0)){h=2;if((i|0)!=(p|0)){break f}j=J[p+12>>2];i=J[J[p+8>>2]+12>>2];h=J[i+96>>2];m=J[j+96>>2]-h|0;l=J[n+12>>2];o=J[i+92>>2];q=J[l+92>>2]-o|0;o=J[j+92>>2]-o|0;h=J[l+96>>2]-h|0;r=P(m,q)-P(o,h)|0;n=r;u=r>>31;r=J[d+8>>2];s=J[k+36>>2];t=J[d+4>>2];w=J[k+40>>2];v=P(r,s)-P(t,w)|0;v=us(n,u,v,v>>31);n=ta;i=J[i+88>>2];l=J[l+88>>2]-i|0;u=P(l,o);o=J[j+88>>2]-i|0;j=u-P(o,q)|0;u=j;y=j>>31;q=J[k+32>>2];i=s;s=J[d>>2];j=P(q,t)-P(i,s)|0;t=us(u,y,j,j>>31);i=t+v|0;j=ta+n|0;j=i>>>0>>0?j+1|0:j;n=i;i=P(h,o)-P(l,m)|0;h=i;m=i>>31;i=P(s,w)-P(q,r)|0;l=us(h,m,i,i>>31);i=n+l|0;j=ta+j|0;j=i>>>0>>0?j+1|0:j;h=!!i&(j|0)>=0|(j|0)>0?2:1;break e}h=(i|0)==(p|0)}}n=(h|0)!=2^b?p:x}h=J[c+8>>2]}p=J[p>>2];if((p|0)!=(h|0)){continue}break}}sa=k+48|0;return n}function Fd(a,b){var c=0,d=Q(0),e=Q(0),f=Q(0),g=Q(0),h=Q(0),i=Q(0),j=Q(0),k=Q(0),l=Q(0),m=Q(0),n=Q(0),o=Q(0),p=0,q=0,r=Q(0),s=Q(0),t=Q(0);a:{if(K[a+204|0]&2){c=J[a+8>>2];J[a+68>>2]=J[a+4>>2];J[a+72>>2]=c;c=J[a+16>>2];J[a+76>>2]=J[a+12>>2];J[a+80>>2]=c;c=J[a+24>>2];J[a+84>>2]=J[a+20>>2];J[a+88>>2]=c;c=J[a+32>>2];J[a+92>>2]=J[a+28>>2];J[a+96>>2]=c;c=J[a+40>>2];J[a+100>>2]=J[a+36>>2];J[a+104>>2]=c;c=J[a+48>>2];J[a+108>>2]=J[a+44>>2];J[a+112>>2]=c;c=a+52|0;break a}c=J[b+4>>2];J[a+68>>2]=J[b>>2];J[a+72>>2]=c;c=J[b+12>>2];J[a+76>>2]=J[b+8>>2];J[a+80>>2]=c;c=J[b+20>>2];J[a+84>>2]=J[b+16>>2];J[a+88>>2]=c;c=J[b+28>>2];J[a+92>>2]=J[b+24>>2];J[a+96>>2]=c;c=J[b+36>>2];J[a+100>>2]=J[b+32>>2];J[a+104>>2]=c;c=J[b+44>>2];J[a+108>>2]=J[b+40>>2];J[a+112>>2]=c;c=b+48|0}p=J[c+4>>2];J[a+116>>2]=J[c>>2];J[a+120>>2]=p;p=J[c+8>>2];c=J[c+12>>2];q=J[a+400>>2];J[a+156>>2]=J[a+396>>2];J[a+160>>2]=q;q=J[a+392>>2];J[a+148>>2]=J[a+388>>2];J[a+152>>2]=q;J[a+124>>2]=p;J[a+128>>2]=c;c=J[a+376>>2];J[a+132>>2]=J[a+372>>2];J[a+136>>2]=c;c=J[a+384>>2];J[a+140>>2]=J[a+380>>2];J[a+144>>2]=c;c=J[b+12>>2];J[a+12>>2]=J[b+8>>2];J[a+16>>2]=c;c=J[b+4>>2];J[a+4>>2]=J[b>>2];J[a+8>>2]=c;c=J[b+28>>2];J[a+28>>2]=J[b+24>>2];J[a+32>>2]=c;c=J[b+20>>2];J[a+20>>2]=J[b+16>>2];J[a+24>>2]=c;c=J[b+44>>2];J[a+44>>2]=J[b+40>>2];J[a+48>>2]=c;c=J[b+36>>2];J[a+36>>2]=J[b+32>>2];J[a+40>>2]=c;c=J[b+60>>2];J[a+60>>2]=J[b+56>>2];J[a+64>>2]=c;c=J[b+52>>2];J[a+52>>2]=J[b+48>>2];J[a+56>>2]=c;j=N[a+8>>2];k=N[a+12>>2];l=N[a+28>>2];m=N[a+20>>2];n=N[a+24>>2];g=N[a+44>>2];r=N[a+464>>2];h=N[a+36>>2];i=N[a+40>>2];s=N[a+460>>2];o=N[a+4>>2];t=N[a+456>>2];J[a+368>>2]=0;J[a+352>>2]=0;J[a+336>>2]=0;d=Q(r*g);e=Q(t*h);f=Q(s*i);N[a+364>>2]=Q(g*d)+Q(Q(h*e)+Q(i*f));N[a+360>>2]=Q(l*d)+Q(Q(m*e)+Q(n*f));N[a+356>>2]=Q(k*d)+Q(Q(o*e)+Q(j*f));d=Q(r*l);e=Q(t*m);f=Q(s*n);N[a+348>>2]=Q(g*d)+Q(Q(h*e)+Q(i*f));N[a+344>>2]=Q(l*d)+Q(Q(m*e)+Q(n*f));N[a+340>>2]=Q(k*d)+Q(Q(o*e)+Q(j*f));d=g;g=Q(k*r);e=h;h=Q(o*t);f=i;i=Q(j*s);N[a+332>>2]=Q(d*g)+Q(Q(e*h)+Q(f*i));N[a+328>>2]=Q(l*g)+Q(Q(m*h)+Q(i*n));N[a+324>>2]=Q(k*g)+Q(Q(o*h)+Q(j*i))}function zn(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=Q(0),i=0,j=0,k=Q(0),l=0,m=Q(0),n=0,o=0;g=sa-16|0;sa=g;J[8462]=J[8462]+1;if(J[a+4>>2]&2){d=J[b+192>>2];h=Q(ua[J[J[d>>2]+20>>2]](d,N[8265]));N[g+12>>2]=h;d=J[c+192>>2];k=Q(ua[J[J[d>>2]+20>>2]](d,N[8265]));N[g+8>>2]=k;d=h>2];m=N[c+184>>2];h=N[b+184>>2];e=J[a+72>>2];d=J[e+12>>2];a:{b:{if(d){J[e+12>>2]=J[d>>2];J[e+8>>2]=J[e+8>>2]-1;break b}d=0;if(K[a+4|0]&4){break a}J[8456]=J[8456]+1;d=ua[J[8258]](868,16)|0}J[d>>2]=1025;J[d+120>>2]=0;J[d+124>>2]=0;J[d+128>>2]=0;J[d+132>>2]=0;J[d+136>>2]=0;J[d+140>>2]=0;J[d+144>>2]=0;J[d+148>>2]=0;J[d+152>>2]=0;J[d+156>>2]=0;J[d+160>>2]=0;J[d+164>>2]=0;J[d+168>>2]=0;J[d+328>>2]=0;J[d+332>>2]=0;J[d+336>>2]=0;J[d+340>>2]=0;J[d+344>>2]=0;J[d+348>>2]=0;J[d+352>>2]=0;J[d+356>>2]=0;J[d+360>>2]=0;J[d+364>>2]=0;J[d+368>>2]=0;J[d+372>>2]=0;J[d+376>>2]=0;J[d+536>>2]=0;J[d+540>>2]=0;J[d+544>>2]=0;J[d+548>>2]=0;J[d+552>>2]=0;J[d+556>>2]=0;J[d+560>>2]=0;J[d+564>>2]=0;J[d+568>>2]=0;J[d+572>>2]=0;J[d+576>>2]=0;J[d+580>>2]=0;J[d+584>>2]=0;J[d+792>>2]=0;J[d+784>>2]=0;J[d+788>>2]=0;J[d+776>>2]=0;J[d+780>>2]=0;J[d+768>>2]=0;J[d+772>>2]=0;J[d+760>>2]=0;J[d+764>>2]=0;J[d+752>>2]=0;J[d+756>>2]=0;J[d+744>>2]=0;J[d+748>>2]=0;J[d+836>>2]=b;J[d+840>>2]=c;J[d+844>>2]=0;N[d+848>>2]=k;N[d+852>>2]=h>2];J[d+864>>2]=f;c:{if(J[a+16>>2]!=(f|0)){break c}l=f?f<<1:1;if((l|0)<=(f|0)){break c}d:{if(!l){b=0;break d}J[8456]=J[8456]+1;b=ua[J[8258]](l<<2,16)|0;f=J[a+12>>2]}e:{if((f|0)<=0){break e}c=0;if(f>>>0>=4){o=f&-4;while(1){i=c<<2;J[i+b>>2]=J[i+J[a+20>>2]>>2];e=i|4;J[e+b>>2]=J[e+J[a+20>>2]>>2];e=i|8;J[e+b>>2]=J[e+J[a+20>>2]>>2];e=i|12;J[e+b>>2]=J[e+J[a+20>>2]>>2];c=c+4|0;j=j+4|0;if((o|0)!=(j|0)){continue}break}}e=f&3;if(!e){break e}while(1){j=c<<2;J[j+b>>2]=J[j+J[a+20>>2]>>2];c=c+1|0;n=n+1|0;if((e|0)!=(n|0)){continue}break}}c=J[a+20>>2];if(!(!c|!K[a+24|0])){if(c){J[8457]=J[8457]+1;ua[J[8259]](c)}f=J[a+12>>2]}J[a+20>>2]=b;H[a+24|0]=1;J[a+16>>2]=l}J[J[a+20>>2]+(f<<2)>>2]=d;J[a+12>>2]=f+1}sa=g+16|0;return d|0}function qb(a,b,c,d,e){var f=Q(0),g=Q(0),h=Q(0),i=Q(0),j=Q(0),k=0,l=Q(0),m=Q(0),n=Q(0),o=Q(0),p=Q(0),q=Q(0),r=Q(0),s=Q(0),t=Q(0),u=Q(0),v=Q(0),w=Q(0),x=Q(0),y=Q(0),z=Q(0),A=Q(0),B=Q(0),C=Q(0),D=Q(0);k=K[e+16|0]&-16;H[e+16|0]=k;B=N[d+8>>2];m=N[b+8>>2];r=Q(B-m);l=N[a+8>>2];f=Q(l-m);C=N[d>>2];n=N[b>>2];s=Q(C-n);i=N[a>>2];g=Q(i-n);D=N[d+4>>2];o=N[b+4>>2];t=Q(D-o);p=N[a+4>>2];h=Q(p-o);j=Q(Q(r*f)+Q(Q(s*g)+Q(t*h)));x=N[c+8>>2];u=Q(x-m);y=N[c>>2];v=Q(y-n);z=N[c+4>>2];w=Q(z-o);g=Q(Q(u*f)+Q(Q(v*g)+Q(w*h)));a:{if(!(!(g<=Q(0))|!(j<=Q(0)))){a=J[b+4>>2];J[e>>2]=J[b>>2];J[e+4>>2]=a;a=J[b+12>>2];J[e+8>>2]=J[b+8>>2];J[e+12>>2]=a;H[e+16|0]=k|1;g=Q(0);f=Q(0);h=Q(1);break a}f=Q(l-x);h=Q(i-y);q=Q(p-z);A=Q(Q(r*f)+Q(Q(s*h)+Q(t*q)));h=Q(Q(u*f)+Q(Q(v*h)+Q(w*q)));if(!(!(h>=Q(0))|!(h>=A))){a=J[c+4>>2];J[e>>2]=J[c>>2];J[e+4>>2]=a;a=J[c+12>>2];J[e+8>>2]=J[c+8>>2];J[e+12>>2]=a;H[e+16|0]=k|2;g=Q(1);f=Q(0);h=Q(0);break a}q=Q(Q(g*A)-Q(j*h));b:{if(!(h<=Q(0))|!(g>=Q(0))){break b}f=Q(0);if(!(q<=Q(0))){break b}J[e+12>>2]=0;H[e+16|0]=k|3;g=Q(g/Q(g-h));N[e+8>>2]=m+Q(u*g);N[e+4>>2]=o+Q(w*g);N[e>>2]=n+Q(v*g);h=Q(Q(1)-g);break a}f=Q(l-B);i=Q(i-C);p=Q(p-D);l=Q(Q(u*f)+Q(Q(v*i)+Q(w*p)));f=Q(Q(r*f)+Q(Q(s*i)+Q(t*p)));if(!(!(f>=Q(0))|!(f>=l))){a=J[d+4>>2];J[e>>2]=J[d>>2];J[e+4>>2]=a;a=J[d+12>>2];J[e+8>>2]=J[d+8>>2];J[e+12>>2]=a;H[e+16|0]=k|4;f=Q(1);g=Q(0);h=Q(0);break a}i=Q(Q(l*j)-Q(f*g));c:{if(!(f<=Q(0))|!(j>=Q(0))){break c}g=Q(0);if(!(i<=Q(0))){break c}J[e+12>>2]=0;H[e+16|0]=k|5;f=Q(j/Q(j-f));N[e+8>>2]=m+Q(r*f);N[e+4>>2]=o+Q(t*f);N[e>>2]=n+Q(s*f);h=Q(Q(1)-f);break a}d:{j=Q(Q(h*f)-Q(A*l));if(!(j<=Q(0))){break d}g=Q(A-h);if(!(g>=Q(0))){break d}f=Q(l-f);if(!(f>=Q(0))){break d}J[e+12>>2]=0;H[e+16|0]=k|6;f=Q(g/Q(g+f));N[e+8>>2]=x+Q(Q(B-x)*f);N[e+4>>2]=z+Q(Q(D-z)*f);N[e>>2]=y+Q(Q(C-y)*f);g=Q(Q(1)-f);h=Q(0);break a}J[e+12>>2]=0;H[e+16|0]=k|7;g=Q(Q(1)/Q(q+Q(j+i)));f=Q(q*g);g=Q(i*g);N[e+8>>2]=Q(r*f)+Q(m+Q(u*g));N[e+4>>2]=Q(t*f)+Q(o+Q(w*g));N[e>>2]=Q(s*f)+Q(n+Q(v*g));h=Q(Q(Q(1)-g)-f)}N[e+20>>2]=h;J[e+32>>2]=0;N[e+28>>2]=f;N[e+24>>2]=g}function ji(a){a=a|0;var b=0,c=Q(0),d=0,e=0,f=Q(0),g=Q(0),h=Q(0),i=Q(0),j=Q(0),k=Q(0),l=Q(0),m=0,n=Q(0),o=Q(0),p=Q(0),q=Q(0),r=Q(0),s=0,t=0,u=Q(0),v=0,w=Q(0),x=Q(0),y=Q(0),z=Q(0),A=Q(0),B=Q(0),C=Q(0),D=Q(0),E=Q(0),F=Q(0),G=Q(0),H=Q(0),I=Q(0),K=Q(0),L=Q(0),M=Q(0),O=Q(0),R=Q(0),S=Q(0),T=Q(0),U=Q(0),V=0;J[a+36>>2]=0;m=sa-16|0;b=m+8|0;J[b>>2]=0;J[b+4>>2]=0;J[m>>2]=0;J[m+4>>2]=0;d=J[a+32>>2];e=J[a+28>>2];while(1){v=(s<<2)+m|0;J[v>>2]=1065353216;T=N[d+404>>2];U=N[e+404>>2];l=N[e+56>>2];n=N[e+20>>2];w=N[e+24>>2];x=N[e+28>>2];y=N[e+60>>2];z=N[e+44>>2];A=N[e+36>>2];B=N[e+40>>2];r=N[e+52>>2];j=N[a+308>>2];C=N[e+12>>2];f=N[a+300>>2];D=N[e+4>>2];o=N[a+304>>2];E=N[e+8>>2];g=N[d+56>>2];F=N[d+20>>2];p=N[d+24>>2];q=N[d+28>>2];h=N[d+52>>2];G=N[d+12>>2];H=N[d+4>>2];I=N[d+8>>2];K=N[d+60>>2];i=N[a+324>>2];L=N[d+44>>2];k=N[a+316>>2];M=N[d+36>>2];c=N[a+320>>2];O=N[d+40>>2];V=J[m+4>>2];b=P(s,84)+a|0;t=b+48|0;J[t>>2]=J[m>>2];J[t+4>>2]=V;t=J[m+12>>2];J[b+56>>2]=J[m+8>>2];J[b+60>>2]=t;J[b+92>>2]=0;J[b+76>>2]=0;R=Q(Q(g+Q(Q(i*q)+Q(Q(k*F)+Q(p*c))))-g);g=N[b+48>>2];S=Q(Q(h+Q(Q(i*G)+Q(Q(k*H)+Q(I*c))))-h);h=N[b+52>>2];u=Q(Q(R*g)-Q(S*h));c=Q(Q(K+Q(Q(i*L)+Q(Q(k*M)+Q(O*c))))-K);i=N[b+56>>2];k=Q(Q(c*h)-Q(R*i));c=Q(Q(S*i)-Q(c*g));q=Q(Q(L*u)+Q(Q(G*k)+Q(q*c)));N[b+88>>2]=q;p=Q(Q(O*u)+Q(Q(I*k)+Q(p*c)));N[b+84>>2]=p;k=Q(Q(M*u)+Q(Q(H*k)+Q(F*c)));N[b+80>>2]=k;r=Q(Q(r+Q(Q(j*C)+Q(Q(f*D)+Q(E*o))))-r);l=Q(Q(l+Q(Q(j*x)+Q(Q(f*n)+Q(w*o))))-l);c=Q(Q(h*r)-Q(g*l));f=Q(Q(y+Q(Q(j*z)+Q(Q(f*A)+Q(B*o))))-y);j=Q(Q(l*i)-Q(h*f));f=Q(Q(f*g)-Q(i*r));o=Q(Q(z*c)+Q(Q(C*j)+Q(x*f)));N[b+72>>2]=o;i=Q(Q(B*c)+Q(Q(E*j)+Q(w*f)));N[b+68>>2]=i;j=Q(Q(A*c)+Q(Q(D*j)+Q(n*f)));N[b- -64>>2]=j;f=N[e+464>>2];c=N[e+460>>2];g=N[e+456>>2];J[b+108>>2]=0;g=Q(j*g);N[b+96>>2]=g;c=Q(i*c);N[b+100>>2]=c;f=Q(o*f);N[b+104>>2]=f;h=N[d+464>>2];l=N[d+460>>2];n=N[d+456>>2];J[b+124>>2]=0;n=Q(k*n);N[b+112>>2]=n;l=Q(p*l);N[b+116>>2]=l;h=Q(q*h);N[b+120>>2]=h;N[b+128>>2]=Q(T+Q(U+Q(Q(f*o)+Q(Q(g*j)+Q(i*c)))))+Q(Q(h*q)+Q(Q(n*k)+Q(p*l)));J[v>>2]=0;s=s+1|0;if((s|0)!=3){continue}break}}function hl(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0;N[b+16>>2]=N[a+20>>2];N[b+20>>2]=N[a+24>>2];N[b+24>>2]=N[a+28>>2];N[b+28>>2]=N[a+32>>2];N[b>>2]=N[a+4>>2];N[b+4>>2]=N[a+8>>2];N[b+8>>2]=N[a+12>>2];N[b+12>>2]=N[a+16>>2];N[b+32>>2]=N[a+36>>2];N[b+36>>2]=N[a+40>>2];N[b+40>>2]=N[a+44>>2];N[b+44>>2]=N[a+48>>2];J[b+48>>2]=J[a+56>>2];J[b+52>>2]=K[a+60|0];d=J[a+88>>2];J[b+56>>2]=d;a:{if(!d){J[b+64>>2]=0;break a}d=ua[J[J[c>>2]+28>>2]](c,J[a+96>>2])|0;J[b+64>>2]=d;if(!d){break a}g=J[a+88>>2];h=ua[J[J[c>>2]+16>>2]](c,48,g)|0;if((g|0)>0){d=J[h+8>>2];while(1){e=J[a+96>>2]+(f<<6)|0;N[d+16>>2]=N[e+16>>2];N[d+20>>2]=N[e+20>>2];N[d+24>>2]=N[e+24>>2];N[d+28>>2]=N[e+28>>2];N[d>>2]=N[e>>2];N[d+4>>2]=N[e+4>>2];N[d+8>>2]=N[e+8>>2];N[d+12>>2]=N[e+12>>2];J[d+32>>2]=J[e+32>>2];J[d+36>>2]=J[e+36>>2];e=J[e+40>>2];J[d+44>>2]=0;J[d+40>>2]=e;d=d+48|0;f=f+1|0;if((g|0)!=(f|0)){continue}break}}ua[J[J[c>>2]+20>>2]](c,h,9036,1497453121,J[a+96>>2])}d=J[a+128>>2];J[b+60>>2]=d;b:{if(!d){J[b+68>>2]=0;break b}d=ua[J[J[c>>2]+28>>2]](c,J[a+136>>2])|0;J[b+68>>2]=d;if(!d){break b}f=0;h=J[a+128>>2];i=ua[J[J[c>>2]+16>>2]](c,16,h)|0;c:{if((h|0)<=0){g=J[a+136>>2];break c}g=J[a+136>>2];d=J[i+8>>2];while(1){e=(f<<4)+g|0;J[d+12>>2]=J[e+12>>2];I[d+6>>1]=L[e+6>>1];I[d+8>>1]=L[e+8>>1];I[d+10>>1]=L[e+10>>1];I[d>>1]=L[e>>1];I[d+2>>1]=L[e+2>>1];I[d+4>>1]=L[e+4>>1];d=d+16|0;f=f+1|0;if((h|0)!=(f|0)){continue}break}}ua[J[J[c>>2]+20>>2]](c,i,9013,1497453121,g)}J[b+76>>2]=J[a+144>>2];d=J[a+152>>2];J[b+80>>2]=d;if(!d){J[b+72>>2]=0;return 8705}d=b;b=ua[J[J[c>>2]+28>>2]](c,J[a+160>>2])|0;J[d+72>>2]=b;if(b){f=0;e=J[a+152>>2];g=ua[J[J[c>>2]+16>>2]](c,20,e)|0;d:{if((e|0)<=0){a=J[a+160>>2];break d}a=J[a+160>>2];d=J[g+8>>2];while(1){b=(f<<5)+a|0;I[d+14>>1]=L[b+6>>1];I[d+16>>1]=L[b+8>>1];I[d+18>>1]=L[b+10>>1];I[d+8>>1]=L[b>>1];I[d+10>>1]=L[b+2>>1];I[d+12>>1]=L[b+4>>1];J[d>>2]=J[b+12>>2];J[d+4>>2]=J[b+16>>2];d=d+20|0;f=f+1|0;if((e|0)!=(f|0)){continue}break}}ua[J[J[c>>2]+20>>2]](c,g,8773,1497453121,a)}return 8705}function Dk(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=Q(0),j=Q(0),k=Q(0),l=Q(0),m=Q(0),n=Q(0);c=sa-144|0;sa=c;if(J[a+24>>2]>0){f=c- -64|0;while(1){g=P(h,80);d=g+J[a+32>>2]|0;e=J[d+12>>2];J[c+24>>2]=J[d+8>>2];J[c+28>>2]=e;e=J[d+4>>2];J[c+16>>2]=J[d>>2];J[c+20>>2]=e;e=J[d+28>>2];J[c+40>>2]=J[d+24>>2];J[c+44>>2]=e;e=J[d+20>>2];J[c+32>>2]=J[d+16>>2];J[c+36>>2]=e;e=J[d+44>>2];J[c+56>>2]=J[d+40>>2];J[c+60>>2]=e;e=J[d+36>>2];J[c+48>>2]=J[d+32>>2];J[c+52>>2]=e;e=J[d+60>>2];J[f+8>>2]=J[d+56>>2];J[f+12>>2]=e;e=J[d+52>>2];J[f>>2]=J[d+48>>2];J[f+4>>2]=e;d=J[d+64>>2];d=ua[J[J[d>>2]+28>>2]](d)|0;e=J[d+12>>2];J[c+8>>2]=J[d+8>>2];J[c+12>>2]=e;e=J[d+4>>2];J[c>>2]=J[d>>2];J[c+4>>2]=e;i=N[a+88>>2];j=N[b+4>>2];k=N[a+84>>2];l=N[b>>2];N[c+8>>2]=Q(N[c+8>>2]*N[b+8>>2])/N[a+92>>2];J[c+12>>2]=0;N[c>>2]=Q(l*N[c>>2])/k;N[c+4>>2]=Q(j*N[c+4>>2])/i;d=J[(J[a+32>>2]+g|0)+64>>2];ua[J[J[d>>2]+24>>2]](d,c);i=N[a+84>>2];j=N[b>>2];k=N[a+88>>2];l=N[b+4>>2];m=N[a+92>>2];n=N[b+8>>2];J[c+76>>2]=0;N[c+72>>2]=Q(n*N[c+72>>2])/m;N[c+68>>2]=Q(l*N[c+68>>2])/k;N[c+64>>2]=Q(j*N[c+64>>2])/i;e=J[c+20>>2];d=J[a+32>>2]+g|0;J[d>>2]=J[c+16>>2];J[d+4>>2]=e;e=J[c+28>>2];J[d+8>>2]=J[c+24>>2];J[d+12>>2]=e;e=J[c+44>>2];J[d+24>>2]=J[c+40>>2];J[d+28>>2]=e;e=J[c+36>>2];J[d+16>>2]=J[c+32>>2];J[d+20>>2]=e;e=J[c+60>>2];J[d+40>>2]=J[c+56>>2];J[d+44>>2]=e;e=J[c+52>>2];J[d+32>>2]=J[c+48>>2];J[d+36>>2]=e;e=J[f+12>>2];J[d+56>>2]=J[f+8>>2];J[d+60>>2]=e;e=J[f+4>>2];J[d+48>>2]=J[f>>2];J[d+52>>2]=e;if(J[a+72>>2]){d=J[(J[a+32>>2]+g|0)+64>>2];ua[J[J[d>>2]+8>>2]](d,c+16|0,c+128|0,c+112|0);d=J[c+140>>2];J[c+88>>2]=J[c+136>>2];J[c+92>>2]=d;d=J[c+132>>2];J[c+80>>2]=J[c+128>>2];J[c+84>>2]=d;d=J[c+124>>2];J[c+104>>2]=J[c+120>>2];J[c+108>>2]=d;d=J[c+116>>2];J[c+96>>2]=J[c+112>>2];J[c+100>>2]=d;_c(J[a+72>>2],J[(J[a+32>>2]+g|0)+76>>2],c+80|0)}h=h+1|0;if((h|0)>2]){continue}break}}d=J[b+4>>2];J[a+84>>2]=J[b>>2];J[a+88>>2]=d;d=J[b+12>>2];J[a+92>>2]=J[b+8>>2];J[a+96>>2]=d;ua[J[J[a>>2]+68>>2]](a);sa=c+144|0}function Fo(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=Q(0),g=Q(0),h=Q(0),i=Q(0),j=Q(0),k=Q(0),l=Q(0),m=Q(0),n=Q(0);e=sa-32|0;sa=e;i=N[b>>2];f=N[c>>2];j=N[b+4>>2];g=N[c+4>>2];k=N[b+8>>2];h=N[c+8>>2];J[e+28>>2]=0;J[e+12>>2]=0;l=Q(Q(h+k)*Q(.5));h=Q(Q(h-k)*Q(.5));k=Q(l+h);N[e+24>>2]=k;m=Q(Q(g+j)*Q(.5));g=Q(Q(g-j)*Q(.5));j=Q(m+g);N[e+20>>2]=j;n=Q(Q(f+i)*Q(.5));f=Q(Q(f-i)*Q(.5));i=Q(n+f);N[e+16>>2]=i;N[e+8>>2]=k;N[e+4>>2]=j;f=Q(n-f);N[e>>2]=f;b=e+16|0;ua[J[J[a>>2]+16>>2]](a,b,e,d);N[e+24>>2]=k;N[e+20>>2]=j;N[e+16>>2]=f;J[e+28>>2]=0;J[e+12>>2]=0;N[e+8>>2]=k;g=Q(m-g);N[e+4>>2]=g;N[e>>2]=f;ua[J[J[a>>2]+16>>2]](a,b,e,d);N[e+24>>2]=k;N[e+20>>2]=g;N[e+16>>2]=f;J[e+28>>2]=0;J[e+12>>2]=0;h=Q(l-h);N[e+8>>2]=h;N[e+4>>2]=g;N[e>>2]=f;ua[J[J[a>>2]+16>>2]](a,b,e,d);N[e+24>>2]=h;N[e+20>>2]=g;N[e+16>>2]=i;J[e+28>>2]=0;J[e+12>>2]=0;N[e+8>>2]=h;N[e+4>>2]=g;N[e>>2]=f;ua[J[J[a>>2]+16>>2]](a,b,e,d);N[e+24>>2]=h;N[e+20>>2]=g;N[e+16>>2]=f;J[e+28>>2]=0;J[e+12>>2]=0;N[e+8>>2]=h;N[e+4>>2]=j;N[e>>2]=f;ua[J[J[a>>2]+16>>2]](a,b,e,d);N[e+24>>2]=h;N[e+20>>2]=j;N[e+16>>2]=f;J[e+28>>2]=0;J[e+12>>2]=0;N[e+8>>2]=k;N[e+4>>2]=j;N[e>>2]=f;ua[J[J[a>>2]+16>>2]](a,b,e,d);N[e+24>>2]=h;N[e+20>>2]=j;N[e+16>>2]=f;J[e+28>>2]=0;J[e+12>>2]=0;N[e+8>>2]=h;N[e+4>>2]=j;N[e>>2]=i;ua[J[J[a>>2]+16>>2]](a,b,e,d);N[e+24>>2]=h;N[e+20>>2]=j;N[e+16>>2]=i;J[e+28>>2]=0;J[e+12>>2]=0;N[e+8>>2]=h;N[e+4>>2]=g;N[e>>2]=i;ua[J[J[a>>2]+16>>2]](a,b,e,d);N[e+24>>2]=h;N[e+20>>2]=g;N[e+16>>2]=i;J[e+28>>2]=0;J[e+12>>2]=0;N[e+8>>2]=k;N[e+4>>2]=g;N[e>>2]=i;ua[J[J[a>>2]+16>>2]](a,b,e,d);N[e+24>>2]=k;N[e+20>>2]=g;N[e+16>>2]=f;J[e+28>>2]=0;J[e+12>>2]=0;N[e+8>>2]=k;N[e+4>>2]=g;N[e>>2]=i;ua[J[J[a>>2]+16>>2]](a,b,e,d);N[e+24>>2]=k;N[e+20>>2]=g;N[e+16>>2]=i;J[e+28>>2]=0;J[e+12>>2]=0;N[e+8>>2]=k;N[e+4>>2]=j;N[e>>2]=i;ua[J[J[a>>2]+16>>2]](a,b,e,d);N[e+24>>2]=k;N[e+20>>2]=j;N[e+16>>2]=i;J[e+28>>2]=0;J[e+12>>2]=0;N[e+8>>2]=h;N[e+4>>2]=j;N[e>>2]=i;ua[J[J[a>>2]+16>>2]](a,b,e,d);sa=e+32|0}function ym(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=Q(0),h=0,i=0,j=Q(0),k=Q(0),l=Q(0),m=Q(0),n=Q(0),o=Q(0),p=Q(0),q=Q(0),r=Q(0),s=0,t=Q(0),u=Q(0),v=Q(0),w=Q(0),x=Q(0),y=Q(0),z=Q(0),A=Q(0),B=Q(0),C=Q(0),D=Q(0),E=Q(0),F=Q(0),G=Q(0),H=0,I=Q(0);H=sa-16|0;sa=H;ua[J[8262]](5934);f=K[a+76|0];s=f?b:c;h=J[s+4>>2];a:{if(J[h+4>>2]-21>>>0>8){break a}i=f?c:b;if(J[J[i+4>>2]+4>>2]>19){break a}I=Q(ua[J[J[h>>2]+48>>2]](h));J[e+4>>2]=J[a+72>>2];c=sa+-64|0;sa=c;b=a+8|0;N[b+56>>2]=I;J[b+52>>2]=d;J[b+40>>2]=s;J[b+36>>2]=i;J[b+44>>2]=e;d=J[s+12>>2];t=N[d+52>>2];u=N[d+56>>2];f=J[i+12>>2];v=N[f+52>>2];w=N[f+56>>2];g=N[d+20>>2];j=N[d+36>>2];x=N[f+20>>2];y=N[f+36>>2];z=N[f+24>>2];k=N[d+24>>2];A=N[f+40>>2];l=N[d+40>>2];B=N[f+32>>2];m=N[d+32>>2];C=N[f>>2];n=N[d>>2];D=N[f+16>>2];o=N[d+16>>2];p=N[d+48>>2];E=N[f+48>>2];q=N[d+4>>2];F=N[f+4>>2];G=N[f+8>>2];r=N[d+8>>2];J[c+60>>2]=0;J[c+44>>2]=0;J[c+28>>2]=0;N[c+40>>2]=Q(A*l)+Q(Q(G*r)+Q(k*z));N[c+36>>2]=Q(y*l)+Q(Q(F*r)+Q(k*x));N[c+24>>2]=Q(A*j)+Q(Q(G*q)+Q(g*z));N[c+20>>2]=Q(y*j)+Q(Q(F*q)+Q(g*x));p=Q(-p);N[c+56>>2]=Q(Q(Q(r*p)-Q(k*t))-Q(l*u))+Q(Q(w*l)+Q(Q(E*r)+Q(k*v)));N[c+52>>2]=Q(Q(Q(q*p)-Q(g*t))-Q(j*u))+Q(Q(w*j)+Q(Q(E*q)+Q(g*v)));J[c+12>>2]=0;N[c>>2]=Q(B*m)+Q(Q(C*n)+Q(o*D));N[c+32>>2]=Q(B*l)+Q(Q(C*r)+Q(k*D));N[c+16>>2]=Q(B*j)+Q(Q(C*q)+Q(g*D));N[c+8>>2]=Q(A*m)+Q(Q(G*n)+Q(o*z));N[c+4>>2]=Q(y*m)+Q(Q(F*n)+Q(o*x));N[c+48>>2]=Q(Q(Q(n*p)-Q(o*t))-Q(m*u))+Q(Q(w*m)+Q(Q(E*n)+Q(o*v)));d=J[i+4>>2];ua[J[J[d>>2]+8>>2]](d,c,b+4|0,b+20|0);g=Q(N[e+32>>2]+I);N[b+20>>2]=g+N[b+20>>2];N[b+24>>2]=g+N[b+24>>2];N[b+28>>2]=g+N[b+28>>2];N[b+4>>2]=N[b+4>>2]-g;N[b+8>>2]=N[b+8>>2]-g;N[b+12>>2]=N[b+12>>2]-g;sa=c- -64|0;c=J[i+8>>2];d=J[a+72>>2];J[d+840>>2]=J[s+8>>2];J[d+836>>2]=c;ua[J[J[h>>2]+64>>2]](h,b,a+12|0,a+28|0);b=J[e+4>>2];if(J[b+844>>2]){d=J[b+836>>2];f=J[J[e+8>>2]+8>>2];c=(d|0)==(f|0);h=b;b=J[J[e+12>>2]+8>>2];Ua(h,(c?d:b)+4|0,(c?b:f)+4|0)}J[a+44>>2]=0;J[a+48>>2]=0}ua[J[8263]]();sa=H+16|0}function Hk(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;f=sa-80|0;sa=f;J[a+76>>2]=J[a+76>>2]+1;d=J[a+24>>2];if((d|0)>0){g=f- -64|0;h=f+48|0;i=f+32|0;j=f+16|0;l=d;while(1){k=J[a+32>>2];m=l-1|0;n=P(m,80);c=k+n|0;if(J[c+64>>2]==(b|0)){J[a+76>>2]=J[a+76>>2]+1;e=J[a+72>>2];if(e){_b(e,J[c+76>>2]);k=J[a+32>>2];d=J[a+24>>2]}c=k+n|0;e=c+8|0;o=J[e+4>>2];J[f+8>>2]=J[e>>2];J[f+12>>2]=o;e=J[c+4>>2];J[f>>2]=J[c>>2];J[f+4>>2]=e;e=J[c+28>>2];J[j+8>>2]=J[c+24>>2];J[j+12>>2]=e;e=J[c+20>>2];J[j>>2]=J[c+16>>2];J[j+4>>2]=e;e=J[c+44>>2];J[i+8>>2]=J[c+40>>2];J[i+12>>2]=e;e=J[c+36>>2];J[i>>2]=J[c+32>>2];J[i+4>>2]=e;e=J[c+60>>2];J[h+8>>2]=J[c+56>>2];J[h+12>>2]=e;e=J[c+52>>2];J[h>>2]=J[c+48>>2];J[h+4>>2]=e;e=J[c+76>>2];J[g+8>>2]=J[c+72>>2];J[g+12>>2]=e;e=J[c+68>>2];J[g>>2]=J[c+64>>2];J[g+4>>2]=e;e=k;k=P(d,80)-80|0;d=e+k|0;e=J[d+4>>2];J[c>>2]=J[d>>2];J[c+4>>2]=e;e=J[d+12>>2];J[c+8>>2]=J[d+8>>2];J[c+12>>2]=e;e=J[d+20>>2];J[c+16>>2]=J[d+16>>2];J[c+20>>2]=e;e=J[d+28>>2];J[c+24>>2]=J[d+24>>2];J[c+28>>2]=e;e=J[d+36>>2];J[c+32>>2]=J[d+32>>2];J[c+36>>2]=e;e=J[d+44>>2];J[c+40>>2]=J[d+40>>2];J[c+44>>2]=e;e=J[d+60>>2];J[c+56>>2]=J[d+56>>2];J[c+60>>2]=e;e=J[d+52>>2];J[c+48>>2]=J[d+48>>2];J[c+52>>2]=e;e=J[d+68>>2];J[c+64>>2]=J[d+64>>2];J[c+68>>2]=e;e=J[d+76>>2];J[c+72>>2]=J[d+72>>2];J[c+76>>2]=e;d=J[f+4>>2];c=k+J[a+32>>2]|0;J[c>>2]=J[f>>2];J[c+4>>2]=d;d=J[f+12>>2];J[c+8>>2]=J[f+8>>2];J[c+12>>2]=d;d=J[j+4>>2];J[c+16>>2]=J[j>>2];J[c+20>>2]=d;d=J[j+12>>2];J[c+24>>2]=J[j+8>>2];J[c+28>>2]=d;d=J[i+12>>2];J[c+40>>2]=J[i+8>>2];J[c+44>>2]=d;d=J[i+4>>2];J[c+32>>2]=J[i>>2];J[c+36>>2]=d;d=J[h+4>>2];J[c+48>>2]=J[h>>2];J[c+52>>2]=d;d=J[h+12>>2];J[c+56>>2]=J[h+8>>2];J[c+60>>2]=d;d=J[g+4>>2];J[c+64>>2]=J[g>>2];J[c+68>>2]=d;d=J[g+12>>2];J[c+72>>2]=J[g+8>>2];J[c+76>>2]=d;if(J[a+72>>2]){J[J[(J[a+32>>2]+n|0)+76>>2]+36>>2]=m}d=J[a+24>>2]-1|0;J[a+24>>2]=d}c=l>>>0>1;l=m;if(c){continue}break}}ua[J[J[a>>2]+68>>2]](a);sa=f+80|0}function ze(a,b,c,d,e,f){var g=0,h=0,i=Q(0),j=Q(0),k=Q(0),l=Q(0),m=Q(0),n=Q(0),o=Q(0),p=Q(0),q=0,r=Q(0),s=Q(0),t=0,u=Q(0),v=Q(0),w=Q(0),x=0,y=0,z=Q(0),A=Q(0),B=Q(0),C=0,D=0,E=0,F=0,G=0,H=0;g=sa-32|0;sa=g;if(J[a+56>>2]>0){n=N[d+8>>2];o=N[c+8>>2];j=Q(n-o);p=N[d>>2];l=N[c>>2];k=Q(p-l);m=N[d+4>>2];i=N[c+4>>2];r=Q(m-i);s=Q(Q(1)/Q(Y(Q(Q(j*j)+Q(Q(k*k)+Q(r*r))))));u=Q(j*s);v=Q(u*j);j=Q(k*s);w=Q(j*k);k=Q(r*s);r=Q(v+Q(w+Q(r*k)));s=Q((n>o?n:o)+N[f+8>>2]);v=Q((i>2]);w=Q((l>2]);z=Q((n>2]);A=Q((i>m?m:i)+N[e+4>>2]);B=Q((l>p?p:l)+N[e>>2]);d=J[a+96>>2];n=u==Q(0)?Q(0xde0b6b000000000):Q(Q(1)/u);h=n>2];J[g>>2]=J[d>>2];J[g+4>>2]=h;h=J[d+12>>2];J[g+8>>2]=J[d+8>>2];J[g+12>>2]=h;h=J[d+28>>2];J[g+24>>2]=J[d+24>>2];J[g+28>>2]=h;h=J[d+20>>2];J[g+16>>2]=J[d+16>>2];J[g+20>>2]=h;N[g>>2]=N[g>>2]-N[f>>2];N[g+4>>2]=N[g+4>>2]-N[f+4>>2];N[g+8>>2]=N[g+8>>2]-N[f+8>>2];N[g+16>>2]=N[g+16>>2]-N[e>>2];N[g+20>>2]=N[g+20>>2]-N[e+4>>2];N[g+24>>2]=N[g+24>>2]-N[e+8>>2];h=0;a:{if(N[d+16>>2]>2]>w){break a}h=1}q=0;b:{c:{d:{e:{f:{if((N[d+24>>2]>2]?q:h)^1|N[d+4>>2]>v|N[d+20>>2]>2];l=Q(p*Q(N[G>>2]-j));i=N[c+4>>2];m=Q(o*Q(N[F>>2]-i));if(l>m){break f}i=Q(o*Q(N[D>>2]-i));j=Q(p*Q(N[H>>2]-j));if(i>j){break f}l=i>l?i:l;k=N[c+8>>2];i=Q(n*Q(N[E>>2]-k));if(l>i){break f}k=Q(n*Q(N[C>>2]-k));m=j>m?m:j;if(k>m){break f}y=J[d+32>>2];q=(y|0)==-1;h=r>(k>l?k:l)&(iQ(0);if(!h|(y|0)!=-1){break e}ua[J[J[b>>2]+8>>2]](b,J[d+36>>2],J[d+40>>2]);break d}q=J[d+32>>2]==-1;h=0}if(q){break d}if(!h){break c}}t=t+1|0;d=d- -64|0;break b}h=J[d+32>>2];t=h+t|0;d=(h<<6)+d|0}x=x+1|0;if(J[a+56>>2]>(t|0)){continue}break}}if(J[8470]<(x|0)){J[8470]=x}sa=g+32|0}function ks(){var a=0,b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;J[8456]=J[8456]+1;b=ua[J[8258]](172,16)|0;J[b+4>>2]=1065353216;J[b+8>>2]=1065353216;J[b+48>>2]=0;H[b+36|0]=1;J[b+12>>2]=1065353216;J[b+16>>2]=0;J[b+32>>2]=0;J[b+24>>2]=0;J[b+28>>2]=0;H[b+100|0]=1;J[b>>2]=22040;J[b+96>>2]=0;H[b+120|0]=1;J[b+88>>2]=0;J[b+92>>2]=0;J[b+116>>2]=0;H[b+140|0]=1;J[b+108>>2]=0;J[b+112>>2]=0;J[b+136>>2]=0;H[b+160|0]=1;J[b+128>>2]=0;J[b+132>>2]=0;J[b+168>>2]=0;H[b+164|0]=1;J[b+148>>2]=0;J[b+152>>2]=0;J[b+156>>2]=0;H[b+165|0]=1;J[8456]=J[8456]+1;f=ua[J[8258]](32,16)|0;h=J[b+24>>2];a:{if((h|0)<=0){break a}if((h|0)!=1){j=h&-2;while(1){e=d<<5;c=f+e|0;a=J[b+32>>2]+e|0;g=J[a+4>>2];J[c>>2]=J[a>>2];J[c+4>>2]=g;g=J[a+28>>2];J[c+24>>2]=J[a+24>>2];J[c+28>>2]=g;g=J[a+20>>2];J[c+16>>2]=J[a+16>>2];J[c+20>>2]=g;g=J[a+12>>2];J[c+8>>2]=J[a+8>>2];J[c+12>>2]=g;a=e|32;c=a+f|0;a=a+J[b+32>>2]|0;e=J[a+4>>2];J[c>>2]=J[a>>2];J[c+4>>2]=e;e=J[a+12>>2];J[c+8>>2]=J[a+8>>2];J[c+12>>2]=e;e=J[a+20>>2];J[c+16>>2]=J[a+16>>2];J[c+20>>2]=e;e=J[a+28>>2];J[c+24>>2]=J[a+24>>2];J[c+28>>2]=e;d=d+2|0;i=i+2|0;if((i|0)!=(j|0)){continue}break}}if(!(h&1)){break a}a=d<<5;d=a+f|0;a=a+J[b+32>>2]|0;c=J[a+4>>2];J[d>>2]=J[a>>2];J[d+4>>2]=c;c=J[a+28>>2];J[d+24>>2]=J[a+24>>2];J[d+28>>2]=c;c=J[a+20>>2];J[d+16>>2]=J[a+16>>2];J[d+20>>2]=c;c=J[a+12>>2];J[d+8>>2]=J[a+8>>2];J[d+12>>2]=c}a=J[b+32>>2];if(!(a?!a|!K[b+36|0]:1)){J[8457]=J[8457]+1;ua[J[8259]](a)}J[b+32>>2]=f;H[b+36|0]=1;J[b+28>>2]=1;a=f+(J[b+24>>2]<<5)|0;J[a+24>>2]=2;J[a+28>>2]=0;J[a+16>>2]=0;J[a+20>>2]=16;J[a+8>>2]=12;J[a+12>>2]=0;J[a>>2]=0;J[a+4>>2]=0;J[b+24>>2]=J[b+24>>2]+1;c=K[b+164|0];f=J[(c?b+128|0:b+148|0)>>2];a=J[b+32>>2];J[a+24>>2]=c?2:3;J[a+4>>2]=0;d=12;J[a+8>>2]=c?12:6;J[a>>2]=(f|0)/3;b:{if(K[b+165|0]){d=16;c=J[b+88>>2];break b}c=J[b+108>>2]/3|0}J[a+20>>2]=d;J[a+16>>2]=0;J[a+12>>2]=c;return b|0}function $a(a){var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=Q(0),j=Q(0),k=Q(0),l=Q(0),m=Q(0),n=0,o=0,p=0,q=0,r=Q(0),s=Q(0);c=sa+-64|0;sa=c;b=J[a+8>>2];g=J[a+4>>2];d=c+48|0;e=c+32|0;ua[J[J[b>>2]+8>>2]](b,g+4|0,d,e);b=J[a+12>>2];f=J[b+68>>2];ua[J[J[f>>2]+16>>2]](f,J[J[a+4>>2]+188>>2],d,e,J[b+24>>2]);d=J[a+12>>2];b=J[d+24>>2];ua[J[J[b>>2]+32>>2]](b,J[J[a+4>>2]+344>>2],d+28|0,b);J[c+24>>2]=0;J[c+16>>2]=0;J[c+20>>2]=0;H[c+28|0]=1;b=J[J[a+4>>2]+344>>2];a:{if((ua[J[J[b>>2]+36>>2]](b)|0)<=0){break a}while(1){d=J[c+16>>2];b:{if((d|0)>=0){break b}if(J[c+20>>2]<0){b=J[c+24>>2];if(!(b?!b|!K[c+28|0]:1)){J[8457]=J[8457]+1;ua[J[8259]](b)}H[c+28|0]=1;J[c+20>>2]=0;J[c+24>>2]=0}e=0;b=d;f=0-b&3;if(f){while(1){J[J[c+24>>2]+(b<<2)>>2]=0;b=b+1|0;e=e+1|0;if((f|0)!=(e|0)){continue}break}}if(d>>>0>4294967292){break b}while(1){d=b<<2;J[d+J[c+24>>2]>>2]=0;J[(d+J[c+24>>2]|0)+4>>2]=0;J[(d+J[c+24>>2]|0)+8>>2]=0;J[(d+J[c+24>>2]|0)+12>>2]=0;b=b+4|0;if(b){continue}break}}J[c+16>>2]=0;b=J[J[a+4>>2]+344>>2];b=J[(ua[J[J[b>>2]+28>>2]](b)|0)+12>>2]+(h<<4)|0;d=J[J[J[b+4>>2]>>2]+188>>2];e=J[J[J[b>>2]>>2]+188>>2];c:{if(!(J[d+8>>2]&J[e+4>>2])|!(J[e+8>>2]&J[d+4>>2])){break c}b=J[b+8>>2];if(b){ua[J[J[b>>2]+16>>2]](b,c+12|0)}n=J[c+16>>2];if((n|0)<=0){break c}p=J[a+4>>2];d=0;q=J[c+24>>2];while(1){f=J[(d<<2)+q>>2];o=J[f+844>>2];if((o|0)>0){i=J[f+836>>2]==(p|0)?Q(-1):Q(1);j=N[g+60>>2];k=N[g+56>>2];l=N[g+52>>2];b=0;while(1){e=f+P(b,208)|0;r=N[e+68>>2];s=N[e+72>>2];m=N[e+84>>2];j=Q(Q(m*Q(i*N[e+76>>2]))+j);N[g+60>>2]=j;k=Q(Q(m*Q(i*s))+k);N[g+56>>2]=k;l=Q(Q(m*Q(i*r))+l);N[g+52>>2]=l;b=b+1|0;if((o|0)!=(b|0)){continue}break}}d=d+1|0;if((n|0)!=(d|0)){continue}break}}b=J[J[a+4>>2]+344>>2];h=h+1|0;if((ua[J[J[b>>2]+36>>2]](b)|0)>(h|0)){continue}break}a=J[c+24>>2];if(!a|!K[c+28|0]){break a}if(a){J[8457]=J[8457]+1;ua[J[8259]](a)}}sa=c- -64|0}function Ij(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=Q(0),i=0,j=0,k=0,l=0,m=Q(0),n=0,o=0,p=0,q=0,r=Q(0),s=Q(0),t=Q(0),u=0,v=Q(0),w=0;i=sa-2048|0;sa=i;a:{if((d|0)<=0){break a}if(d>>>0>=8){l=d&-8;while(1){e=f<<4;J[(e+c|0)+12>>2]=-581039253;J[((e|16)+c|0)+12>>2]=-581039253;J[((e|32)+c|0)+12>>2]=-581039253;J[((e|48)+c|0)+12>>2]=-581039253;J[((e|64)+c|0)+12>>2]=-581039253;J[((e|80)+c|0)+12>>2]=-581039253;J[((e|96)+c|0)+12>>2]=-581039253;J[((e|112)+c|0)+12>>2]=-581039253;f=f+8|0;j=j+8|0;if((l|0)!=(j|0)){continue}break}}e=d&7;if(e){while(1){J[((f<<4)+c|0)+12>>2]=-581039253;f=f+1|0;g=g+1|0;if((e|0)!=(g|0)){continue}break}}if((d|0)<=0){break a}while(1){if((ua[J[J[a>>2]+96>>2]](a)|0)>0){e=p<<4;q=e+b|0;l=c+e|0;n=0;while(1){g=128;b:{c:{if(((ua[J[J[a>>2]+96>>2]](a)|0)-n|0)>127){break c}g=(ua[J[J[a>>2]+96>>2]](a)|0)-n|0;if((g|0)>0){break c}h=Q(-34028234663852886e22);g=-1;break b}e=0;j=(g|0)==1;if(!j){k=g&-2;f=0;while(1){ua[J[J[a>>2]+108>>2]](a,e,(e<<4)+i|0);o=e|1;ua[J[J[a>>2]+108>>2]](a,o,(o<<4)+i|0);e=e+2|0;f=f+2|0;if((k|0)!=(f|0)){continue}break}}o=g&1;if(o){ua[J[J[a>>2]+108>>2]](a,e,(e<<4)+i|0)}m=N[q+8>>2];r=N[q+4>>2];s=N[q>>2];d:{if(j){e=0;g=-1;h=Q(-34028234663852886e22);break d}w=g&-2;e=0;g=-1;h=Q(-34028234663852886e22);j=0;while(1){f=(e<<4)+i|0;t=Q(Q(N[f+8>>2]*m)+Q(Q(N[f>>2]*s)+Q(r*N[f+4>>2])));f=t>h;u=e|1;k=(u<<4)+i|0;v=Q(Q(N[k+8>>2]*m)+Q(Q(N[k>>2]*s)+Q(r*N[k+4>>2])));h=f?t:h;k=v>h;h=k?v:h;g=k?u:f?e:g;e=e+2|0;j=j+2|0;if((w|0)!=(j|0)){continue}break}}if(!o){break b}f=(e<<4)+i|0;m=Q(Q(N[f+8>>2]*m)+Q(Q(N[f>>2]*s)+Q(r*N[f+4>>2])));f=m>h;h=f?m:h;g=f?e:g}if(N[l+12>>2]>2]=J[e+8>>2];g=J[e+4>>2];J[l>>2]=J[e>>2];J[l+4>>2]=g;N[l+12>>2]=h}n=n+128|0;if((ua[J[J[a>>2]+96>>2]](a)|0)>(n|0)){continue}break}}p=p+1|0;if((p|0)!=(d|0)){continue}break}}sa=i+2048|0}function qf(a){var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;a:{l=J[a+32>>2];b=J[a+12>>2];if((l|0)>=(b|0)){break a}b:{if((b|0)<=J[a+36>>2]){d=J[a+40>>2];break b}if(b){J[8456]=J[8456]+1;d=ua[J[8258]](b<<2,16)|0;c=J[a+32>>2]}else{c=l}g=J[a+40>>2];c:{if((c|0)>0){if(c>>>0>=4){j=c&-4;while(1){e=f<<2;J[e+d>>2]=J[e+g>>2];h=e|4;J[h+d>>2]=J[g+h>>2];h=e|8;J[h+d>>2]=J[g+h>>2];e=e|12;J[e+d>>2]=J[e+g>>2];f=f+4|0;i=i+4|0;if((j|0)!=(i|0)){continue}break}}c=c&3;if(!c){break c}while(1){e=f<<2;J[e+d>>2]=J[e+g>>2];f=f+1|0;k=k+1|0;if((c|0)!=(k|0)){continue}break}break c}if(g){break c}J[a+40>>2]=d;J[a+36>>2]=b;H[a+44|0]=1;break b}if(g?K[a+44|0]:0){J[8457]=J[8457]+1;ua[J[8259]](g)}J[a+40>>2]=d;H[a+44|0]=1;J[a+36>>2]=b}c=l<<2;j=b<<2;Fa(c+d|0,0,j-c|0);J[a+32>>2]=b;g=J[a+52>>2];if((g|0)<(b|0)){d:{if((b|0)<=J[a+56>>2]){d=J[a+60>>2];break d}e:{if(!b){d=0;c=g;break e}J[8456]=J[8456]+1;d=ua[J[8258]](j,16)|0;c=J[a+52>>2]}e=J[a+60>>2];f:{if((c|0)>0){k=0;f=0;if(c>>>0>=4){n=c&-4;i=0;while(1){h=f<<2;J[h+d>>2]=J[e+h>>2];m=h|4;J[m+d>>2]=J[e+m>>2];m=h|8;J[m+d>>2]=J[e+m>>2];h=h|12;J[h+d>>2]=J[e+h>>2];f=f+4|0;i=i+4|0;if((n|0)!=(i|0)){continue}break}}c=c&3;if(!c){break f}while(1){i=f<<2;J[i+d>>2]=J[e+i>>2];f=f+1|0;k=k+1|0;if((c|0)!=(k|0)){continue}break}break f}if(e){break f}J[a+60>>2]=d;J[a+56>>2]=b;H[a- -64|0]=1;break d}if(e?K[a- -64|0]:0){J[8457]=J[8457]+1;ua[J[8259]](e)}J[a+60>>2]=d;H[a+64|0]=1;J[a+56>>2]=b}c=g<<2;Fa(c+d|0,0,j-c|0)}J[a+52>>2]=b;if((b|0)>0){Fa(J[a+40>>2],255,j);Fa(J[a+60>>2],255,j)}if((l|0)<=0){break a}c=J[a+60>>2];g=J[a+16>>2];d=J[a+40>>2];f=0;while(1){b=g+(f<<4)|0;b=J[J[b+4>>2]+12>>2]<<16|J[J[b>>2]+12>>2];b=(b<<15^-1)+b|0;b=P(b>>>10^b,9);b=b>>>6^b;b=(b<<11^-1)+b|0;b=d+((J[a+12>>2]-1&(b>>>16^b))<<2)|0;J[c+(f<<2)>>2]=J[b>>2];J[b>>2]=f;f=f+1|0;if((l|0)!=(f|0)){continue}break}}}function hi(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=Q(0),g=Q(0),h=0,i=Q(0),j=Q(0),k=Q(0),l=0,m=Q(0),n=Q(0),o=Q(0),p=0,q=0,r=Q(0),s=Q(0),t=Q(0),u=Q(0),v=0,w=0,x=Q(0),y=Q(0),z=Q(0);e=J[a+28>>2];d=J[a+32>>2];c=J[b+8>>2];J[c>>2]=1065353216;p=J[b+24>>2];l=p<<2;v=l+4|0;J[c+v>>2]=1065353216;q=p<<3;w=q+8|0;J[c+w>>2]=1065353216;m=N[e+24>>2];n=N[e+28>>2];o=N[e+40>>2];g=N[a+304>>2];j=N[e+44>>2];f=N[a+308>>2];k=N[e+12>>2];r=N[e+4>>2];s=N[e+8>>2];t=N[e+20>>2];u=N[e+36>>2];i=N[a+300>>2];c=J[b+12>>2];J[c+12>>2]=0;J[c>>2]=0;o=Q(Q(j*f)+Q(Q(u*i)+Q(g*o)));N[c+4>>2]=o;m=Q(Q(n*f)+Q(Q(t*i)+Q(g*m)));N[c+8>>2]=-m;h=c+l|0;J[h+12>>2]=0;n=Q(Q(k*f)+Q(Q(r*i)+Q(s*g)));N[h+8>>2]=n;J[h+4>>2]=0;N[h>>2]=-o;c=c+q|0;J[c+8>>2]=0;J[c+12>>2]=0;N[c+4>>2]=-n;N[c>>2]=m;c=J[b+16>>2];J[c>>2]=-1082130432;J[c+v>>2]=-1082130432;J[c+w>>2]=-1082130432;k=N[d+40>>2];r=N[d+44>>2];j=N[d+24>>2];g=N[a+320>>2];s=N[d+28>>2];f=N[a+324>>2];t=N[d+12>>2];u=N[d+4>>2];x=N[d+8>>2];y=N[d+36>>2];z=N[d+20>>2];i=N[a+316>>2];c=J[b+20>>2];J[c+12>>2]=0;J[c>>2]=0;j=Q(Q(s*f)+Q(Q(z*i)+Q(g*j)));N[c+8>>2]=j;k=Q(Q(r*f)+Q(Q(y*i)+Q(g*k)));N[c+4>>2]=-k;h=c+l|0;J[h+12>>2]=0;g=Q(Q(t*f)+Q(Q(u*i)+Q(x*g)));N[h+8>>2]=-g;J[h+4>>2]=0;N[h>>2]=k;c=c+q|0;J[c+8>>2]=0;J[c+12>>2]=0;N[c+4>>2]=g;N[c>>2]=-j;c=J[b+28>>2];h=J[a+332>>2];f=Q(N[(h&1?a+336|0:b+4|0)>>2]*N[b>>2]);N[c>>2]=f*Q(Q(Q(g+N[d+52>>2])-n)-N[e+52>>2]);N[c+l>>2]=f*Q(Q(Q(j+N[d+56>>2])-m)-N[e+56>>2]);N[c+q>>2]=f*Q(Q(Q(k+N[d+60>>2])-o)-N[e+60>>2]);e=p<<1;if(h&2){d=J[b+32>>2];N[d>>2]=N[a+340>>2];N[d+l>>2]=N[a+340>>2];N[d+(e<<2)>>2]=N[a+340>>2]}f=N[a+356>>2];a:{if(!(f>Q(0))){break a}i=Q(-f);N[J[b+36>>2]>>2]=i;N[J[b+40>>2]>>2]=f;g=N[a+356>>2];if(g>Q(0)){d=p<<2;N[d+J[b+36>>2]>>2]=i;N[d+J[b+40>>2]>>2]=f;g=N[a+356>>2]}if(!(g>Q(0))){break a}e=e<<2;N[e+J[b+36>>2]>>2]=i;N[e+J[b+40>>2]>>2]=f}N[b+48>>2]=N[a+352>>2]}function Jc(a){var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;a:{l=J[a+28>>2];b=J[a+12>>2];if((l|0)>=(b|0)){break a}b:{if((b|0)<=J[a+32>>2]){d=J[a+36>>2];break b}if(b){J[8456]=J[8456]+1;d=ua[J[8258]](b<<2,16)|0;c=J[a+28>>2]}else{c=l}g=J[a+36>>2];c:{if((c|0)>0){if(c>>>0>=4){j=c&-4;while(1){e=f<<2;J[e+d>>2]=J[e+g>>2];h=e|4;J[h+d>>2]=J[g+h>>2];h=e|8;J[h+d>>2]=J[g+h>>2];e=e|12;J[e+d>>2]=J[e+g>>2];f=f+4|0;i=i+4|0;if((j|0)!=(i|0)){continue}break}}c=c&3;if(!c){break c}while(1){e=f<<2;J[e+d>>2]=J[e+g>>2];f=f+1|0;k=k+1|0;if((c|0)!=(k|0)){continue}break}break c}if(g){break c}J[a+36>>2]=d;J[a+32>>2]=b;H[a+40|0]=1;break b}if(g?K[a+40|0]:0){J[8457]=J[8457]+1;ua[J[8259]](g)}J[a+36>>2]=d;H[a+40|0]=1;J[a+32>>2]=b}c=l<<2;j=b<<2;Fa(c+d|0,0,j-c|0);J[a+28>>2]=b;g=J[a+48>>2];if((g|0)<(b|0)){d:{if((b|0)<=J[a+52>>2]){d=J[a+56>>2];break d}e:{if(!b){d=0;c=g;break e}J[8456]=J[8456]+1;d=ua[J[8258]](j,16)|0;c=J[a+48>>2]}e=J[a+56>>2];f:{if((c|0)>0){k=0;f=0;if(c>>>0>=4){n=c&-4;i=0;while(1){h=f<<2;J[h+d>>2]=J[e+h>>2];m=h|4;J[m+d>>2]=J[e+m>>2];m=h|8;J[m+d>>2]=J[e+m>>2];h=h|12;J[h+d>>2]=J[e+h>>2];f=f+4|0;i=i+4|0;if((n|0)!=(i|0)){continue}break}}c=c&3;if(!c){break f}while(1){i=f<<2;J[i+d>>2]=J[e+i>>2];f=f+1|0;k=k+1|0;if((c|0)!=(k|0)){continue}break}break f}if(e){break f}J[a+56>>2]=d;J[a+52>>2]=b;H[a+60|0]=1;break d}if(e?K[a+60|0]:0){J[8457]=J[8457]+1;ua[J[8259]](e)}J[a+56>>2]=d;H[a+60|0]=1;J[a+52>>2]=b}c=g<<2;Fa(c+d|0,0,j-c|0)}J[a+48>>2]=b;if((b|0)>0){Fa(J[a+36>>2],255,j);Fa(J[a+56>>2],255,j)}if((l|0)<=0){break a}c=J[a+56>>2];g=J[a+16>>2];d=J[a+36>>2];f=0;while(1){b=g+P(f,12)|0;b=J[b+4>>2]<<16|J[b>>2];b=(b<<15^-1)+b|0;b=P(b>>>10^b,9);b=b>>>6^b;b=(b<<11^-1)+b|0;b=d+((J[a+12>>2]-1&(b>>>16^b))<<2)|0;J[c+(f<<2)>>2]=J[b>>2];J[b>>2]=f;f=f+1|0;if((l|0)!=(f|0)){continue}break}}}function Xd(a,b,c,d,e,f,g){var h=Q(0),i=Q(0),j=Q(0),k=Q(0),l=Q(0),m=Q(0),n=Q(0),o=Q(0),p=Q(0),q=Q(0),r=Q(0),s=Q(0),t=Q(0),u=Q(0),v=Q(0),w=Q(0),x=Q(0),y=Q(0),z=Q(0),A=Q(0),B=Q(0),C=Q(0),D=Q(0),E=Q(0);J[e>>2]=0;J[e+4>>2]=0;J[e+32>>2]=0;J[e+24>>2]=0;J[e+28>>2]=0;J[e+16>>2]=0;J[e+20>>2]=0;J[e+8>>2]=0;J[e+12>>2]=0;J[f+4>>2]=c;J[f>>2]=a;l=N[d+20>>2];m=N[d+36>>2];h=N[b+20>>2];i=N[b+36>>2];n=N[d+24>>2];o=N[b+24>>2];p=N[d+40>>2];q=N[b+40>>2];j=N[d+32>>2];r=N[d>>2];s=N[d+16>>2];t=N[d+4>>2];u=N[b+32>>2];v=N[b>>2];w=N[b+16>>2];x=N[b+4>>2];y=N[d+8>>2];k=N[b+8>>2];J[f+52>>2]=0;J[f+36>>2]=0;J[f+20>>2]=0;N[f+48>>2]=Q(p*q)+Q(Q(y*k)+Q(o*n));N[f+44>>2]=Q(p*i)+Q(Q(y*x)+Q(h*n));N[f+40>>2]=Q(p*u)+Q(Q(y*v)+Q(w*n));N[f+32>>2]=Q(m*q)+Q(Q(t*k)+Q(o*l));N[f+28>>2]=Q(m*i)+Q(Q(t*x)+Q(h*l));N[f+24>>2]=Q(m*u)+Q(Q(t*v)+Q(w*l));N[f+16>>2]=Q(j*q)+Q(Q(r*k)+Q(s*o));N[f+12>>2]=Q(j*i)+Q(Q(r*x)+Q(s*h));N[f+8>>2]=Q(j*u)+Q(Q(r*v)+Q(s*w));B=N[b+52>>2];C=N[d+52>>2];D=N[b+56>>2];z=N[d+56>>2];l=N[b+20>>2];m=N[b+36>>2];r=N[d+20>>2];s=N[d+36>>2];h=N[b+24>>2];t=N[d+24>>2];i=N[b+40>>2];u=N[d+40>>2];E=N[b+48>>2];A=N[d+48>>2];n=N[b+32>>2];o=N[b>>2];p=N[b+16>>2];q=N[b+4>>2];v=N[d+32>>2];w=N[d>>2];x=N[d+16>>2];y=N[d+4>>2];j=N[b+8>>2];k=N[d+8>>2];J[f+124>>2]=0;J[f+120>>2]=g?904:905;J[f+116>>2]=0;J[f+100>>2]=0;J[f+84>>2]=0;J[f+68>>2]=0;N[f+96>>2]=Q(i*u)+Q(Q(j*k)+Q(t*h));N[f+92>>2]=Q(i*s)+Q(Q(j*y)+Q(r*h));N[f+88>>2]=Q(i*v)+Q(Q(j*w)+Q(x*h));N[f+80>>2]=Q(m*u)+Q(Q(q*k)+Q(t*l));N[f+76>>2]=Q(m*s)+Q(Q(q*y)+Q(r*l));N[f+72>>2]=Q(m*v)+Q(Q(q*w)+Q(x*l));N[f- -64>>2]=Q(n*u)+Q(Q(o*k)+Q(p*t));N[f+60>>2]=Q(n*s)+Q(Q(o*y)+Q(p*r));N[f+56>>2]=Q(n*v)+Q(Q(o*w)+Q(p*x));k=i;i=Q(z-D);z=j;j=Q(A-E);A=h;h=Q(C-B);N[f+112>>2]=Q(k*i)+Q(Q(z*j)+Q(A*h));N[f+108>>2]=Q(m*i)+Q(Q(q*j)+Q(h*l));N[f+104>>2]=Q(n*i)+Q(Q(o*j)+Q(h*p))}function kc(a,b,c){var d=0,e=Q(0),f=Q(0),g=Q(0),h=Q(0),i=Q(0),j=Q(0),k=Q(0),l=0,m=Q(0),n=Q(0),o=Q(0),p=Q(0),q=Q(0),r=Q(0);d=sa-48|0;sa=d;H[a+60|0]=0;J[d+40>>2]=0;J[d+44>>2]=0;J[d+32>>2]=0;J[d+36>>2]=0;J[d+24>>2]=0;J[d+28>>2]=0;J[d+16>>2]=0;J[d+20>>2]=0;e=N[b+8>>2];g=N[a+48>>2];f=N[b>>2];m=N[a+40>>2];i=N[b+4>>2];n=N[a+44>>2];j=Q(Q(e*g)+Q(Q(f*m)+Q(i*n)));h=e;e=Q(g*j);o=Q(h-e);h=Q(n*j);p=Q(i-h);i=f;f=Q(m*j);k=Q(i-f);a:{if(j<=Q(0)){N[d+24>>2]=e;N[d+20>>2]=h;N[d+16>>2]=f;i=h;r=f;h=Q(0);f=Q(0);break a}J[d+44>>2]=0;N[d+40>>2]=e;N[d+36>>2]=h;N[d+32>>2]=f;i=Q(0);q=e;e=Q(0)}b=0;J[d+12>>2]=0;N[d+4>>2]=p;N[d>>2]=k;N[d+8>>2]=o;k=Q(Q(o*o)+Q(Q(k*k)+Q(p*p)));b:{c:{if(k>2];N[d+40>>2]=Q(j*g)+q;N[d+36>>2]=Q(n*g)+h;N[d+32>>2]=Q(m*g)+f}H[a+108|0]=0;b=jc(a,d+32|0,c,10)?2:0;l=K[a+64|0]}d:{if(l){break d}e:{if(K[a+61|0]){break e}if((ua[J[J[a>>2]+16>>2]](a)|0)!=1){break e}H[a+108|0]=1}b=jc(a,d,c,10)|b;if(K[a+61|0]){break d}if((ua[J[J[a>>2]+16>>2]](a)|0)!=1){break d}H[a+108|0]=0}if(!(k>2];q=N[a+44>>2];g=e;e=N[a+32>>2];N[d+24>>2]=g-Q(e*N[a+48>>2]);N[d+20>>2]=i-Q(e*q);N[d+16>>2]=r-Q(f*e)}f:{if(K[a+61|0]){break f}if((ua[J[J[a>>2]+16>>2]](a)|0)!=1){break f}H[a+108|0]=1}if(K[a+65|0]?K[a+64|0]:1){H[a+108|0]=0}g:{h:{i:{if(!jc(a,d+16|0,c,1)){break i}b=b|4;if(K[a+64|0]){break i}c=Q(Q(N[a+80>>2]*N[a+48>>2])+Q(Q(N[a+72>>2]*N[a+40>>2])+Q(N[a+76>>2]*N[a+44>>2])));if(!(c>=Q(0))|!(Ma(N[a+28>>2])>c)){break i}H[a+60|0]=1;if(K[a+61|0]){break g}if((ua[J[J[a>>2]+16>>2]](a)|0)==1){break h}break g}if(K[a+61|0]){break g}if((ua[J[J[a>>2]+16>>2]](a)|0)!=1){break g}}H[a+108|0]=0}sa=d+48|0;return b}function rk(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=Q(0),g=Q(0),h=Q(0),i=Q(0),j=Q(0),k=Q(0),l=Q(0),m=Q(0),n=Q(0),o=Q(0),p=Q(0),q=Q(0),r=0,s=0,t=0,u=Q(0),v=Q(0),w=Q(0),x=Q(0),y=0;e=sa-80|0;sa=e;x=Q(ua[J[J[a>>2]+48>>2]](a));while(1){J[e+72>>2]=0;J[e+76>>2]=0;J[e+64>>2]=0;J[e+68>>2]=0;s=t<<2;y=s+(e- -64|0)|0;J[y>>2]=1065353216;i=N[b+32>>2];j=N[b>>2];k=N[b+16>>2];l=N[b+36>>2];m=N[b+4>>2];n=N[b+20>>2];f=N[b+40>>2];g=N[b+8>>2];h=N[b+24>>2];J[e+44>>2]=0;o=f;f=N[e+72>>2];p=g;g=N[e+64>>2];q=h;h=N[e+68>>2];N[e+40>>2]=Q(o*f)+Q(Q(p*g)+Q(q*h));N[e+36>>2]=Q(l*f)+Q(Q(m*g)+Q(h*n));N[e+32>>2]=Q(i*f)+Q(Q(j*g)+Q(k*h));r=e+32|0;ua[J[J[a>>2]+64>>2]](e+48|0,a,r);i=N[b+48>>2];j=N[b+8>>2];k=N[b>>2];l=N[b+4>>2];m=N[b+52>>2];n=N[b+24>>2];p=N[b+16>>2];q=N[b+20>>2];f=N[b+56>>2];g=N[b+40>>2];h=N[b+32>>2];u=N[b+36>>2];J[e+44>>2]=0;o=f;f=N[e+56>>2];v=Q(g*f);g=N[e+48>>2];w=Q(h*g);h=N[e+52>>2];N[e+40>>2]=o+Q(v+Q(w+Q(u*h)));N[e+36>>2]=m+Q(Q(f*n)+Q(Q(g*p)+Q(h*q)));N[e+32>>2]=i+Q(Q(f*j)+Q(Q(g*k)+Q(h*l)));r=s+r|0;N[d+s>>2]=x+N[r>>2];J[y>>2]=-1082130432;i=N[b+32>>2];j=N[b>>2];k=N[b+16>>2];l=N[b+36>>2];m=N[b+4>>2];n=N[b+20>>2];f=N[b+40>>2];g=N[b+8>>2];h=N[b+24>>2];J[e+12>>2]=0;o=f;f=N[e+72>>2];p=g;g=N[e+64>>2];q=h;h=N[e+68>>2];N[e+8>>2]=Q(o*f)+Q(Q(p*g)+Q(q*h));N[e+4>>2]=Q(l*f)+Q(Q(m*g)+Q(h*n));N[e>>2]=Q(i*f)+Q(Q(j*g)+Q(k*h));ua[J[J[a>>2]+64>>2]](e+16|0,a,e);i=N[b+48>>2];j=N[b+8>>2];k=N[b>>2];l=N[b+4>>2];m=N[b+52>>2];n=N[b+24>>2];p=N[b+16>>2];q=N[b+20>>2];f=N[b+56>>2];g=N[b+40>>2];h=N[b+32>>2];u=N[b+36>>2];J[e+44>>2]=0;o=f;f=N[e+24>>2];v=Q(g*f);g=N[e+16>>2];w=Q(h*g);h=N[e+20>>2];N[e+40>>2]=o+Q(v+Q(w+Q(u*h)));N[e+36>>2]=m+Q(Q(f*n)+Q(Q(g*p)+Q(h*q)));N[e+32>>2]=i+Q(Q(f*j)+Q(Q(g*k)+Q(h*l)));N[c+s>>2]=N[r>>2]-x;t=t+1|0;if((t|0)!=3){continue}break}sa=e+80|0}function ac(a,b,c){var d=0,e=Q(0),f=Q(0),g=Q(0),h=0;if(!J[a>>2]){J[a>>2]=c;J[c+32>>2]=0;return}d=J[b+40>>2];if(d){f=Q(N[c>>2]+N[c+16>>2]);e=Q(N[c+8>>2]+N[c+24>>2]);g=Q(N[c+4>>2]+N[c+20>>2]);while(1){h=b+36|0;b=J[b+36>>2];b=J[h+(!(Q(Q(Q(R(Q(f-Q(N[b>>2]+N[b+16>>2]))))+Q(R(Q(g-Q(N[b+4>>2]+N[b+20>>2])))))+Q(R(Q(e-Q(N[b+8>>2]+N[b+24>>2])))))>2]+N[d+16>>2]))))+Q(R(Q(g-Q(N[d+4>>2]+N[d+20>>2])))))+Q(R(Q(e-Q(N[d+8>>2]+N[d+24>>2]))))))<<2)>>2];d=J[b+40>>2];if(d){continue}break}}h=J[b+32>>2];d=J[a+4>>2];a:{if(d){J[a+4>>2]=0;break a}J[8456]=J[8456]+1;d=ua[J[8258]](44,16)|0;J[d>>2]=0;J[d+4>>2]=0;J[d+40>>2]=0;J[d+32>>2]=0;J[d+36>>2]=0;J[d+24>>2]=0;J[d+28>>2]=0;J[d+16>>2]=0;J[d+20>>2]=0;J[d+8>>2]=0;J[d+12>>2]=0}J[d+36>>2]=0;J[d+40>>2]=0;J[d+32>>2]=h;f=N[c>>2];e=N[b>>2];N[d>>2]=e>f?f:e;f=N[c+16>>2];e=N[b+16>>2];N[d+16>>2]=e>2];e=N[b+4>>2];N[d+4>>2]=e>f?f:e;f=N[c+20>>2];e=N[b+20>>2];N[d+20>>2]=e>2];e=N[b+8>>2];N[d+8>>2]=e>f?f:e;f=N[c+24>>2];e=N[b+24>>2];N[d+24>>2]=e>2]+40>>2]==(b|0))<<2)+h|0)+36>>2]=d;J[d+36>>2]=b;J[b+32>>2]=d;J[d+40>>2]=c;J[c+32>>2]=d;f=N[d>>2];while(1){a=d;d=h;c:{if(!(N[d>>2]<=f)|!(N[d+4>>2]<=N[a+4>>2])|(!(N[d+8>>2]<=N[a+8>>2])|!(N[d+16>>2]>=N[a+16>>2]))){break c}if(!(N[d+20>>2]>=N[a+20>>2])){break c}if(N[d+24>>2]>=N[a+24>>2]){break b}}a=J[d+36>>2];f=N[a>>2];b=J[d+40>>2];e=N[b>>2];f=e>f?f:e;N[d>>2]=f;e=N[a+16>>2];g=N[b+16>>2];N[d+16>>2]=e>g?e:g;e=N[a+4>>2];g=N[b+4>>2];N[d+4>>2]=e>2];g=N[b+20>>2];N[d+20>>2]=e>g?e:g;e=N[a+8>>2];g=N[b+8>>2];N[d+8>>2]=e>2];g=N[b+24>>2];N[d+24>>2]=e>g?e:g;h=J[d+32>>2];if(h){continue}break}break b}J[d+36>>2]=b;J[b+32>>2]=d;J[d+40>>2]=c;J[c+32>>2]=d;J[a>>2]=d}}function Dc(a,b,c){var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;g=J[a+56>>2];a:{if(g){break a}d=J[a+52>>2];b:{if(d){J[a+52>>2]=J[d+8>>2];g=J[d>>2];break b}J[8456]=J[8456]+1;d=ua[J[8258]](12,16)|0;e=J[a+60>>2];J[d+8>>2]=0;J[d+4>>2]=e;J[8456]=J[8456]+1;g=ua[J[8258]](P(e,24),16)|0;J[d>>2]=g;J[d+8>>2]=J[a+48>>2];J[a+48>>2]=d}h=J[d+4>>2];if((h|0)<=0){break a}e=g;if(h>>>0>=4){m=h&-4;d=g;while(1){e=d+96|0;j=i+4|0;J[d+72>>2]=(h|0)>(j|0)?e:0;J[d+48>>2]=(h|0)>(i|3)?d+72|0:0;J[d+24>>2]=(h|0)>(i|2)?d+48|0:0;J[d>>2]=(h|0)>(i|1)?d+24|0:0;i=j;d=e;f=f+4|0;if((m|0)!=(f|0)){continue}break}}d=h&3;if(!d){break a}while(1){f=e;e=e+24|0;j=j+1|0;J[f>>2]=(h|0)>(j|0)?e:0;l=l+1|0;if((d|0)!=(l|0)){continue}break}}J[a+56>>2]=J[g>>2];J[g+16>>2]=0;J[g+20>>2]=0;J[g+8>>2]=0;J[g+12>>2]=0;J[g>>2]=0;J[g+4>>2]=0;f=J[a+56>>2];c:{if(f){break c}d=J[a+52>>2];d:{if(d){J[a+52>>2]=J[d+8>>2];f=J[d>>2];break d}J[8456]=J[8456]+1;d=ua[J[8258]](12,16)|0;e=J[a+60>>2];J[d+8>>2]=0;J[d+4>>2]=e;J[8456]=J[8456]+1;f=ua[J[8258]](P(e,24),16)|0;J[d>>2]=f;J[d+8>>2]=J[a+48>>2];J[a+48>>2]=d}k=J[d+4>>2];if((k|0)<=0){break c}l=0;j=0;e=f;if(k>>>0>=4){m=k&-4;i=0;d=f;h=0;while(1){e=d+96|0;j=i+4|0;J[d+72>>2]=(k|0)>(j|0)?e:0;J[d+48>>2]=(i|3)<(k|0)?d+72|0:0;J[d+24>>2]=(i|2)<(k|0)?d+48|0:0;J[d>>2]=(i|1)<(k|0)?d+24|0:0;i=j;d=e;h=h+4|0;if((m|0)!=(h|0)){continue}break}}d=k&3;if(!d){break c}while(1){i=e;e=e+24|0;j=j+1|0;J[i>>2]=(k|0)>(j|0)?e:0;l=l+1|0;if((d|0)!=(l|0)){continue}break}}J[a+56>>2]=J[f>>2];J[f+16>>2]=0;J[f+20>>2]=0;J[f+8>>2]=0;J[f+12>>2]=0;J[f>>2]=0;J[f+4>>2]=0;J[g+8>>2]=f;J[f+8>>2]=g;e=J[a+100>>2];J[g+20>>2]=e;J[f+20>>2]=e;J[g+12>>2]=c;J[f+12>>2]=b;J[g+16>>2]=0;J[f+16>>2]=0;c=J[a+116>>2];b=c+1|0;J[a+116>>2]=b;if((c|0)>=J[a+120>>2]){J[a+120>>2]=b}return g}function Xr(){var a=0,b=0,c=0,d=0,e=0,f=0,g=0,h=0;a=La(176);e=sa-32|0;sa=e;J[a>>2]=11916;b=a+4|0;J[b+16>>2]=0;J[b+8>>2]=-1;J[b+12>>2]=0;J[b>>2]=0;J[b+4>>2]=0;J[b+32>>2]=0;H[b+36|0]=1;J[b+24>>2]=0;J[b+28>>2]=0;b=a+44|0;J[b+16>>2]=0;J[b+8>>2]=-1;J[b+12>>2]=0;J[b>>2]=0;J[b+4>>2]=0;J[b+32>>2]=0;H[b+36|0]=1;J[b+24>>2]=0;J[b+28>>2]=0;J[a+168>>2]=0;c=1;H[a+172|0]=1;J[a+160>>2]=0;J[a+164>>2]=0;H[a+153|0]=0;H[a+154|0]=1;H[a+152|0]=1;J[a+124>>2]=0;J[a+100>>2]=0;J[a+104>>2]=0;J[a+136>>2]=0;J[a+128>>2]=0;J[a+132>>2]=0;J[a+116>>2]=10;J[a+120>>2]=1;J[a+108>>2]=1;J[a+112>>2]=0;J[8456]=J[8456]+1;d=rf(ua[J[8258]](72,16)|0);b=J[a+160>>2];J[a+148>>2]=0;J[a+96>>2]=d;J[a+140>>2]=0;J[a+144>>2]=0;J[a+84>>2]=0;J[a+88>>2]=0;J[a+92>>2]=0;J[e+24>>2]=0;H[e+28|0]=1;J[e+16>>2]=0;J[e+20>>2]=0;a:{if((b|0)>=2){while(1){d=J[a+168>>2]+P(c,20)|0;f=J[d+12>>2];if(!(f?!f|!K[d+16|0]:1)){J[8457]=J[8457]+1;ua[J[8259]](f)}H[d+16|0]=1;J[d+12>>2]=0;J[d+4>>2]=0;J[d+8>>2]=0;c=c+1|0;if((c|0)!=(b|0)){continue}break a}}if((b|0)==1){break a}c=0;if(J[a+164>>2]<=0){J[8456]=J[8456]+1;f=ua[J[8258]](20,16)|0;d=J[a+160>>2];b:{if((d|0)<=0){break b}while(1){g=P(c,20);xf(g+f|0,g+J[a+168>>2]|0);c=c+1|0;if((d|0)!=(c|0)){continue}break}h=J[a+160>>2];if((h|0)<=0){break b}c=0;while(1){d=J[a+168>>2]+P(c,20)|0;g=J[d+12>>2];if(!(g?!g|!K[d+16|0]:1)){J[8457]=J[8457]+1;ua[J[8259]](g)}H[d+16|0]=1;J[d+12>>2]=0;J[d+4>>2]=0;J[d+8>>2]=0;c=c+1|0;if((h|0)!=(c|0)){continue}break}}c=J[a+168>>2];if(!(c?!c|!K[a+172|0]:1)){J[8457]=J[8457]+1;ua[J[8259]](c)}J[a+168>>2]=f;H[a+172|0]=1;J[a+164>>2]=1}while(1){c=b;xf(J[a+168>>2]+P(b,20)|0,e+12|0);b=b+1|0;if(c){continue}break}}J[a+160>>2]=1;b=J[e+24>>2];if(!(b?!b|!K[e+28|0]:1)){J[8457]=J[8457]+1;ua[J[8259]](b)}sa=e+32|0;return a|0}function en(a){a=a|0;var b=0,c=Q(0),d=0,e=Q(0),f=Q(0),g=0,h=Q(0),i=Q(0),j=Q(0),k=Q(0),l=0,m=0;m=sa-16|0;sa=m;ua[J[8262]](4699);d=J[a+8>>2];if((d|0)>0){while(1){g=J[J[a+16>>2]+(l<<2)>>2];a:{b:{if(K[a+76|0]){break b}switch(J[g+220>>2]-2|0){case 0:case 3:break a;default:break b}}b=sa+-64|0;sa=b;d=J[g+192>>2];ua[J[J[d>>2]+8>>2]](d,g+4|0,b+48|0,b+32|0);c=N[8265];k=Q(N[b+48>>2]-c);N[b+48>>2]=k;h=Q(N[b+52>>2]-c);N[b+52>>2]=h;f=Q(N[b+56>>2]-c);N[b+56>>2]=f;e=Q(c+N[b+32>>2]);N[b+32>>2]=e;i=Q(c+N[b+36>>2]);N[b+36>>2]=i;j=Q(c+N[b+40>>2]);N[b+40>>2]=j;c:{if(K[g+204|0]&3|(!K[a+44|0]|J[g+252>>2]!=2)){break c}d=J[g+192>>2];ua[J[J[d>>2]+8>>2]](d,g+68|0,b+16|0,b);h=Q(N[b+16>>2]-c);N[b+16>>2]=h;f=Q(N[b+20>>2]-c);N[b+20>>2]=f;e=Q(N[b+24>>2]-c);N[b+24>>2]=e;i=Q(c+N[b>>2]);N[b>>2]=i;j=Q(c+N[b+4>>2]);N[b+4>>2]=j;c=Q(c+N[b+8>>2]);N[b+8>>2]=c;k=N[b+48>>2];if(h>2]=h;k=h}h=N[b+52>>2];if(f>2]=f;h=f}f=N[b+56>>2];if(e>2]=e;f=e}e=N[b+28>>2];if(e>2]){N[b+60>>2]=e}e=N[b+32>>2];if(i>e){N[b+32>>2]=i;e=i}i=N[b+36>>2];if(j>i){N[b+36>>2]=j;i=j}j=N[b+40>>2];if(c>j){N[b+40>>2]=c;j=c}c=N[b+12>>2];if(!(c>N[b+44>>2])){break c}N[b+44>>2]=c}d=J[a+68>>2];d:{e:{if(!(H[g+204|0]&1)){c=Q(j-f);f=Q(c*c);c=Q(e-k);e=Q(c*c);c=Q(i-h);if(!(Q(f+Q(e+Q(c*c)))>2]+16>>2]](d,J[g+188>>2],b+48|0,b+32|0,J[a+24>>2]);break d}if((J[g+220>>2]&-2)!=4){J[g+220>>2]=5}if(K[33852]){break d}d=J[a+72>>2];if(!d){break d}H[33852]=1;ua[J[J[d>>2]+44>>2]](d,5794);d=J[a+72>>2];ua[J[J[d>>2]+44>>2]](d,10341);d=J[a+72>>2];ua[J[J[d>>2]+44>>2]](d,10418);d=J[a+72>>2];ua[J[J[d>>2]+44>>2]](d,10409)}sa=b- -64|0;d=J[a+8>>2]}l=l+1|0;if((l|0)<(d|0)){continue}break}}ua[J[8263]]();sa=m+16|0}function Qm(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=Q(0),f=Q(0),g=Q(0),h=Q(0),i=Q(0),j=Q(0),k=Q(0),l=Q(0),m=Q(0),n=Q(0),o=Q(0),p=Q(0),q=Q(0),r=Q(0),s=Q(0),t=0,u=Q(0),v=Q(0),w=Q(0),x=Q(0),y=Q(0),z=Q(0),A=0,B=0;c=sa-96|0;sa=c;e=N[a+76>>2];i=N[a+36>>2];f=N[a+32>>2];j=N[a+80>>2];n=N[a+52>>2];o=N[a+44>>2];p=N[a+48>>2];k=N[a+84>>2];q=N[a+68>>2];w=N[a+60>>2];x=N[a- -64>>2];y=N[a+28>>2];l=N[b+8>>2];g=N[b>>2];h=N[b+4>>2];J[c+92>>2]=0;u=Q(k+Q(Q(l*q)+Q(Q(g*w)+Q(h*x))));N[c+88>>2]=u;v=Q(j+Q(Q(l*n)+Q(Q(g*o)+Q(h*p))));N[c+84>>2]=v;l=Q(e+Q(Q(l*i)+Q(Q(g*y)+Q(h*f))));N[c+80>>2]=l;g=N[b+20>>2];h=N[b+24>>2];m=N[b+16>>2];J[c+76>>2]=0;z=Q(k+Q(Q(h*q)+Q(Q(m*w)+Q(x*g))));N[c+72>>2]=z;r=Q(j+Q(Q(h*n)+Q(Q(m*o)+Q(p*g))));N[c+68>>2]=r;s=Q(e+Q(Q(h*i)+Q(Q(m*y)+Q(f*g))));N[c+64>>2]=s;g=N[b+36>>2];h=N[b+40>>2];m=N[b+32>>2];J[c+60>>2]=0;k=Q(k+Q(Q(h*q)+Q(Q(m*w)+Q(x*g))));N[c+56>>2]=k;j=Q(j+Q(Q(h*n)+Q(Q(m*o)+Q(p*g))));N[c+52>>2]=j;e=Q(e+Q(Q(h*i)+Q(Q(m*y)+Q(f*g))));N[c+48>>2]=e;J[c+44>>2]=0;n=Q(Q(Q(u+z)+k)*Q(.3333333432674408));N[c+40>>2]=n;o=Q(Q(Q(v+r)+j)*Q(.3333333432674408));N[c+36>>2]=o;p=Q(Q(Q(l+s)+e)*Q(.3333333432674408));N[c+32>>2]=p;b=J[a+8>>2];if(ua[J[J[b>>2]+56>>2]](b)&16384){J[c+24>>2]=0;J[c+28>>2]=0;J[c+16>>2]=1065353216;J[c+20>>2]=1065353216;b=J[a+8>>2];J[c+12>>2]=0;i=Q(s-l);f=Q(j-v);j=Q(e-l);q=Q(r-v);e=Q(Q(i*f)-Q(j*q));s=e;r=Q(e*e);k=Q(k-u);e=f;f=Q(z-u);e=Q(Q(q*k)-Q(e*f));i=Q(Q(f*j)-Q(k*i));f=Q(Q(1)/Q(Y(Q(r+Q(Q(e*e)+Q(i*i))))));N[c+8>>2]=Q(s*f)+n;N[c+4>>2]=Q(i*f)+o;N[c>>2]=p+Q(e*f);ua[J[J[b>>2]+16>>2]](b,c+32|0,c,c+16|0)}d=J[a+8>>2];A=c+80|0;t=c- -64|0;b=a+12|0;ua[J[J[d>>2]+16>>2]](d,A,t,b);d=J[a+8>>2];B=t;t=c+48|0;ua[J[J[d>>2]+16>>2]](d,B,t,b);a=J[a+8>>2];ua[J[J[a>>2]+16>>2]](a,t,A,b);sa=c+96|0}function lf(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=Q(0);N[b+16>>2]=N[a+4>>2];N[b+20>>2]=N[a+8>>2];N[b+24>>2]=N[a+12>>2];N[b+28>>2]=N[a+16>>2];N[b+32>>2]=N[a+20>>2];N[b+36>>2]=N[a+24>>2];N[b+40>>2]=N[a+28>>2];N[b+44>>2]=N[a+32>>2];N[b+48>>2]=N[a+36>>2];N[b+52>>2]=N[a+40>>2];N[b+56>>2]=N[a+44>>2];N[b+60>>2]=N[a+48>>2];N[b- -64>>2]=N[a+52>>2];N[b+68>>2]=N[a+56>>2];N[b+72>>2]=N[a+60>>2];N[b+76>>2]=N[a- -64>>2];N[b+80>>2]=N[a+68>>2];N[b+84>>2]=N[a+72>>2];N[b+88>>2]=N[a+76>>2];N[b+92>>2]=N[a+80>>2];N[b+96>>2]=N[a+84>>2];N[b+100>>2]=N[a+88>>2];N[b+104>>2]=N[a+92>>2];N[b+108>>2]=N[a+96>>2];N[b+112>>2]=N[a+100>>2];N[b+116>>2]=N[a+104>>2];N[b+120>>2]=N[a+108>>2];N[b+124>>2]=N[a+112>>2];N[b+128>>2]=N[a+116>>2];N[b+132>>2]=N[a+120>>2];N[b+136>>2]=N[a+124>>2];N[b+140>>2]=N[a+128>>2];N[b+144>>2]=N[a+132>>2];N[b+148>>2]=N[a+136>>2];N[b+152>>2]=N[a+140>>2];N[b+156>>2]=N[a+144>>2];N[b+160>>2]=N[a+148>>2];N[b+164>>2]=N[a+152>>2];N[b+168>>2]=N[a+156>>2];N[b+172>>2]=N[a+160>>2];N[b+176>>2]=N[a+164>>2];N[b+180>>2]=N[a+168>>2];N[b+184>>2]=N[a+172>>2];N[b+188>>2]=N[a+176>>2];J[b+232>>2]=J[a+180>>2];f=N[a+184>>2];J[b>>2]=0;N[b+192>>2]=f;d=ua[J[J[c>>2]+28>>2]](c,J[a+192>>2])|0;J[b+8>>2]=0;J[b+4>>2]=d;J[b+236>>2]=J[a+204>>2];J[b+240>>2]=J[a+208>>2];J[b+244>>2]=J[a+212>>2];J[b+248>>2]=J[a+220>>2];N[b+196>>2]=N[a+224>>2];N[b+200>>2]=N[a+228>>2];N[b+204>>2]=N[a+236>>2];N[b+208>>2]=N[a+244>>2];N[b+212>>2]=N[a+248>>2];N[b+216>>2]=N[a+232>>2];J[b+252>>2]=J[a+252>>2];d=ua[J[J[c>>2]+40>>2]](c,a)|0;e=ua[J[J[c>>2]+28>>2]](c,d)|0;J[b+12>>2]=e;if(e){ua[J[J[c>>2]+48>>2]](c,d)}N[b+220>>2]=N[a+268>>2];N[b+224>>2]=N[a+272>>2];N[b+228>>2]=N[a+276>>2];a=J[a+280>>2];J[b+260>>2]=0;J[b+256>>2]=a;return 8678}function xb(a,b,c){var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=Q(0),q=Q(0),r=Q(0),s=Q(0),t=Q(0),u=Q(0),v=0;n=sa-256|0;sa=n;a:{if(!a){break a}p=N[b+24>>2];q=N[b+20>>2];r=N[b+16>>2];s=N[b+8>>2];t=N[b+4>>2];u=N[b>>2];J[n>>2]=a;d=n;a=64;b=1;while(1){b:{c:{d:{e=b-1|0;l=e<<2;h=J[l+d>>2];e:{if(!(N[h>>2]<=r)|!(N[h+16>>2]>=u)|(!(N[h+4>>2]<=q)|!(N[h+20>>2]>=t))){break e}if(!(N[h+8>>2]<=p)|!(N[h+24>>2]>=s)){break e}if(J[h+40>>2]){if((a|0)!=(e|0)){break d}f=a?a<<1:1;if((f|0)<(b|0)){break d}if(f){J[8456]=J[8456]+1;e=ua[J[8258]](f<<2,16)|0}else{e=0}f:{if(!a){break f}i=0;j=0;if(a>>>0>=4){v=a&-4;g=0;while(1){k=j<<2;J[k+e>>2]=J[d+k>>2];m=k|4;J[m+e>>2]=J[d+m>>2];m=k|8;J[m+e>>2]=J[d+m>>2];k=k|12;J[k+e>>2]=J[d+k>>2];j=j+4|0;g=g+4|0;if((v|0)!=(g|0)){continue}break}}a=a&3;if(!a){break f}while(1){g=j<<2;J[g+e>>2]=J[d+g>>2];j=j+1|0;i=i+1|0;if((a|0)!=(i|0)){continue}break}}a=o;o=1;if(!a){break c}if(d){J[8457]=J[8457]+1;ua[J[8259]](d)}break c}ua[J[J[c>>2]+12>>2]](c,h)}b=e;break b}f=a;e=d}J[e+l>>2]=J[h+36>>2];g:{if((b|0)!=(f|0)){a=f;d=e;break g}a=b?b<<1:1;if((b|0)>=(a|0)){a=b;d=e;break g}if(a){J[8456]=J[8456]+1;d=ua[J[8258]](a<<2,16)|0}else{d=0}h:{if((b|0)<=0){break h}j=0;g=0;if(b>>>0>=4){k=b&-4;i=0;while(1){f=g<<2;J[f+d>>2]=J[e+f>>2];l=f|4;J[l+d>>2]=J[e+l>>2];l=f|8;J[l+d>>2]=J[e+l>>2];f=f|12;J[f+d>>2]=J[e+f>>2];g=g+4|0;i=i+4|0;if((k|0)!=(i|0)){continue}break}}f=b&3;if(!f){break h}while(1){i=g<<2;J[i+d>>2]=J[e+i>>2];g=g+1|0;j=j+1|0;if((f|0)!=(j|0)){continue}break}}f=o;o=1;if(!f){break g}if(e){J[8457]=J[8457]+1;ua[J[8259]](e)}}J[(b<<2)+d>>2]=J[h+40>>2];b=b+1|0}if((b|0)>0){continue}break}if(!o){break a}if(d){J[8457]=J[8457]+1;ua[J[8259]](d)}}sa=n+256|0}function Jm(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=Q(0),g=Q(0),h=Q(0),i=0,j=0,k=0,l=0,m=Q(0),n=0;a=sa-624|0;sa=a;g=Q(N[b+124>>2]-N[b+60>>2]);h=Q(g*g);g=Q(N[b+116>>2]-N[b+52>>2]);f=Q(g*g);g=Q(N[b+120>>2]-N[b+56>>2]);f=Q(h+Q(f+Q(g*g)));g=N[b+276>>2];a:{b:{if(f>2]-N[c+60>>2]);m=Q(f*f);f=Q(N[c+116>>2]-N[c+52>>2]);h=Q(f*f);f=Q(N[c+120>>2]-N[c+56>>2]);h=Q(m+Q(h+Q(f*f)));f=N[c+276>>2];if(h>2];g=N[c+272>>2];d=Sa(a+564|0);J[d+32>>2]=0;J[d+36>>2]=0;J[d+20>>2]=1065353216;J[d+24>>2]=1065353216;J[d+4>>2]=8;J[d>>2]=21396;J[d+56>>2]=0;N[d+52>>2]=g;J[d+28>>2]=1065353216;J[d+40>>2]=0;J[d+44>>2]=0;J[d+48>>2]=0;N[d+36>>2]=g;J[a+560>>2]=0;J[a+552>>2]=1566444395;J[a+556>>2]=0;J[a+388>>2]=13156;H[a+360|0]=0;J[a+336>>2]=953267991;e=a+12|0;J[e+12>>2]=d;J[e+8>>2]=i;J[e+4>>2]=a+28;J[e>>2]=22600;i=b+4|0;j=b+68|0;k=c+4|0;l=c+68|0;g=Q(1);c:{if(!vc(e,i,j,k,l,a+388|0)){break c}f=N[a+552>>2];if(f>2]){N[b+268>>2]=f}if(f>2]){N[c+268>>2]=f}g=Q(1);if(!(f>2];f=N[b+272>>2];d=Sa(a+564|0);J[d+32>>2]=0;J[d+36>>2]=0;J[d+20>>2]=1065353216;J[d+24>>2]=1065353216;J[d+4>>2]=8;J[d>>2]=21396;J[d+56>>2]=0;N[d+52>>2]=f;J[d+28>>2]=1065353216;J[d+40>>2]=0;J[d+44>>2]=0;J[d+48>>2]=0;N[d+36>>2]=f;J[a+560>>2]=0;J[a+552>>2]=1566444395;J[a+556>>2]=0;J[a+388>>2]=13156;H[a+360|0]=0;J[a+336>>2]=953267991;e=a+12|0;J[e+12>>2]=n;J[e+8>>2]=d;J[e+4>>2]=a+28;J[e>>2]=22600;d:{if(!vc(e,i,j,k,l,a+388|0)){break d}f=N[a+552>>2];if(f>2]){N[b+268>>2]=f}if(f>2]){N[c+268>>2]=f}if(!(f>2];m=N[b+20>>2];n=N[b+40>>2];o=N[b+24>>2];p=N[b+4>>2];q=N[b+8>>2];i=N[c+8>>2];r=N[b+32>>2];j=N[c>>2];s=N[b>>2];k=N[c+4>>2];t=N[b+16>>2];J[h+44>>2]=0;N[h+32>>2]=Q(r*i)+Q(Q(s*j)+Q(t*k));N[h+40>>2]=Q(n*i)+Q(Q(q*j)+Q(k*o));N[h+36>>2]=Q(l*i)+Q(Q(p*j)+Q(k*m));u=h+16|0;ua[J[J[a>>2]+64>>2]](u,a,h+32|0);o=N[b+56>>2];p=N[b+40>>2];q=N[b+36>>2];r=N[b+52>>2];s=N[b+24>>2];t=N[b+20>>2];v=N[b+32>>2];w=N[b+48>>2];x=N[b+8>>2];y=N[b>>2];z=N[b+4>>2];A=N[b+16>>2];i=N[h+24>>2];j=N[h+16>>2];k=N[h+20>>2];J[h+12>>2]=0;N[h+8>>2]=-N[h+40>>2];N[h+4>>2]=-N[h+36>>2];N[h>>2]=-N[h+32>>2];ua[J[J[a>>2]+64>>2]](u,a,h);B=N[b+56>>2];C=N[b+40>>2];D=N[b+36>>2];E=N[b+52>>2];F=N[b+24>>2];G=N[b+20>>2];H=N[b+32>>2];I=N[b+48>>2];K=N[b+8>>2];L=N[b>>2];M=N[b+4>>2];O=N[b+16>>2];l=N[h+24>>2];m=N[h+16>>2];n=N[h+20>>2];o=Q(o+Q(Q(i*p)+Q(Q(j*v)+Q(k*q))));p=Q(w+Q(Q(i*x)+Q(Q(j*y)+Q(k*z))));i=Q(r+Q(Q(i*s)+Q(Q(j*A)+Q(k*t))));N[d>>2]=Q(o*N[c+8>>2])+Q(Q(p*N[c>>2])+Q(i*N[c+4>>2]));j=Q(B+Q(Q(l*C)+Q(Q(m*H)+Q(n*D))));k=Q(I+Q(Q(l*K)+Q(Q(m*L)+Q(n*M))));l=Q(E+Q(Q(l*F)+Q(Q(m*O)+Q(n*G))));N[e>>2]=Q(j*N[c+8>>2])+Q(Q(k*N[c>>2])+Q(l*N[c+4>>2]));J[g+12>>2]=0;N[g+8>>2]=j;N[g+4>>2]=l;N[g>>2]=k;J[f+12>>2]=0;N[f+8>>2]=o;N[f+4>>2]=i;N[f>>2]=p;m=N[d>>2];n=N[e>>2];if(m>n){N[d>>2]=n;N[e>>2]=m;J[g+12>>2]=0;N[g+8>>2]=o;N[g+4>>2]=i;N[g>>2]=p;J[f+12>>2]=0;N[f+8>>2]=j;N[f+4>>2]=l;N[f>>2]=k}sa=h+48|0}function nm(a,b,c){a=a|0;b=b|0;c=Q(c);var d=Q(0),e=Q(0),f=0,g=Q(0),h=Q(0),i=Q(0),j=Q(0),k=Q(0),l=Q(0),m=Q(0),n=Q(0),o=Q(0),p=0;f=sa-32|0;sa=f;l=N[a+64>>2];i=Q(N[a+80>>2]-l);d=N[a+68>>2];h=Q(N[a+100>>2]-d);j=Q(N[a+96>>2]-l);e=Q(N[a+84>>2]-d);g=Q(Q(i*h)-Q(j*e));k=g;o=Q(g*g);n=e;e=N[a+72>>2];g=Q(N[a+104>>2]-e);m=Q(N[a+88>>2]-e);h=Q(Q(n*g)-Q(h*m));i=Q(Q(m*j)-Q(g*i));j=Q(Q(1)/Q(Y(Q(o+Q(Q(h*h)+Q(i*i))))));g=Q(k*j);h=Q(h*j);i=Q(i*j);d=Q(Q(Q(N[b+8>>2]*g)+Q(Q(N[b>>2]*h)+Q(N[b+4>>2]*i)))-Q(Q(e*g)+Q(Q(l*h)+Q(d*i))));l=Q(-c);a:{if(!(d>=l)|!(c>=d)){break a}ua[J[J[a>>2]+104>>2]](a,0,f+16|0,f);j=N[f+16>>2];d=Q(N[f>>2]-j);m=N[f+20>>2];e=Q(N[f+4>>2]-m);c=Q(Q(d*i)-Q(h*e));k=c;o=Q(c*c);c=Q(e*g);n=N[f+24>>2];e=Q(N[f+8>>2]-n);c=Q(c-Q(i*e));d=Q(Q(e*h)-Q(g*d));e=Q(Q(1)/Q(Y(Q(o+Q(Q(c*c)+Q(d*d))))));k=Q(k*e);c=Q(c*e);d=Q(d*e);if(l>Q(Q(Q(N[b+8>>2]*k)+Q(Q(N[b>>2]*c)+Q(N[b+4>>2]*d)))-Q(Q(n*k)+Q(Q(j*c)+Q(m*d))))){break a}ua[J[J[a>>2]+104>>2]](a,1,f+16|0,f);j=N[f+16>>2];d=Q(N[f>>2]-j);m=N[f+20>>2];e=Q(N[f+4>>2]-m);c=Q(Q(d*i)-Q(h*e));k=c;o=Q(c*c);c=Q(e*g);n=N[f+24>>2];e=Q(N[f+8>>2]-n);c=Q(c-Q(i*e));d=Q(Q(e*h)-Q(g*d));e=Q(Q(1)/Q(Y(Q(o+Q(Q(c*c)+Q(d*d))))));k=Q(k*e);c=Q(c*e);d=Q(d*e);if(l>Q(Q(Q(N[b+8>>2]*k)+Q(Q(N[b>>2]*c)+Q(N[b+4>>2]*d)))-Q(Q(n*k)+Q(Q(j*c)+Q(m*d))))){break a}ua[J[J[a>>2]+104>>2]](a,2,f+16|0,f);k=l;l=N[f+16>>2];d=Q(N[f>>2]-l);e=N[f+20>>2];j=Q(N[f+4>>2]-e);c=Q(Q(d*i)-Q(h*j));n=c;m=Q(c*c);o=Q(j*g);c=i;i=N[f+24>>2];j=Q(N[f+8>>2]-i);c=Q(o-Q(c*j));g=Q(Q(j*h)-Q(g*d));h=Q(Q(1)/Q(Y(Q(m+Q(Q(c*c)+Q(g*g))))));d=Q(n*h);c=Q(c*h);g=Q(g*h);if(k>Q(Q(Q(N[b+8>>2]*d)+Q(Q(N[b>>2]*c)+Q(N[b+4>>2]*g)))-Q(Q(i*d)+Q(Q(l*c)+Q(e*g))))){break a}p=1}sa=f+32|0;return p|0}function im(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=Q(0),h=Q(0),i=Q(0),j=Q(0),k=Q(0),l=Q(0),m=Q(0),n=Q(0),o=Q(0),p=Q(0),q=Q(0),r=0,s=Q(0),t=Q(0),u=Q(0),v=Q(0),w=Q(0),x=Q(0),y=Q(0),z=Q(0),A=Q(0),B=Q(0),C=Q(0),D=0,E=Q(0),F=Q(0),G=Q(0),H=0,I=Q(0),L=Q(0),M=Q(0),O=Q(0),R=0;D=J[a+52>>2];if((D|0)<=0){return Q(Q(1))}f=K[a+68|0];H=f?b:c;b=f?c:b;I=N[b- -64>>2];E=N[b+60>>2];F=N[b+56>>2];G=N[b+52>>2];L=N[b+48>>2];h=N[b+44>>2];i=N[b+40>>2];j=N[b+36>>2];M=N[b+32>>2];k=N[b+28>>2];l=N[b+24>>2];m=N[b+20>>2];O=N[b+16>>2];n=N[b+12>>2];o=N[b+8>>2];r=J[b+304>>2];p=N[b+4>>2];R=J[b+192>>2];q=Q(1);f=0;while(1){c=J[R+32>>2]+P(f,80)|0;g=N[c+56>>2];s=N[c+52>>2];t=N[c+48>>2];u=N[c+36>>2];v=N[c+20>>2];w=N[c+4>>2];x=N[c+40>>2];y=N[c+24>>2];z=N[c+8>>2];A=N[c+32>>2];B=N[c>>2];C=N[c+16>>2];J[b+64>>2]=0;J[b+48>>2]=0;J[b+32>>2]=0;J[b+16>>2]=0;J[b+304>>2]=r+1;N[b+36>>2]=Q(A*h)+Q(Q(B*j)+Q(i*C));N[b+20>>2]=Q(A*k)+Q(Q(B*m)+Q(l*C));N[b+4>>2]=Q(A*n)+Q(Q(B*p)+Q(o*C));N[b+44>>2]=Q(x*h)+Q(Q(z*j)+Q(i*y));N[b+40>>2]=Q(u*h)+Q(Q(w*j)+Q(i*v));N[b+28>>2]=Q(x*k)+Q(Q(z*m)+Q(l*y));N[b+24>>2]=Q(u*k)+Q(Q(w*m)+Q(l*v));N[b+12>>2]=Q(x*n)+Q(Q(z*p)+Q(o*y));N[b+8>>2]=Q(u*n)+Q(Q(w*p)+Q(o*v));N[b+60>>2]=E+Q(Q(g*h)+Q(Q(t*j)+Q(i*s)));N[b+56>>2]=F+Q(Q(g*k)+Q(Q(t*m)+Q(l*s)));N[b+52>>2]=G+Q(Q(g*n)+Q(Q(t*p)+Q(o*s)));c=J[J[a+60>>2]+(f<<2)>>2];g=Q(ua[J[J[c>>2]+12>>2]](c,b,H,d,e));N[b+64>>2]=I;N[b+60>>2]=E;N[b+56>>2]=F;N[b+52>>2]=G;N[b+48>>2]=L;N[b+44>>2]=h;N[b+40>>2]=i;N[b+36>>2]=j;N[b+32>>2]=M;N[b+28>>2]=k;N[b+24>>2]=l;N[b+20>>2]=m;N[b+16>>2]=O;N[b+12>>2]=n;N[b+8>>2]=o;N[b+4>>2]=p;r=J[b+304>>2]+1|0;J[b+304>>2]=r;q=g>2];k=N[b>>2];j=N[b+8>>2];a:{if(Q(R(j))>Q(.7071067690849304)){h=Q(Q(g*g)+Q(j*j));i=Q(Q(1)/Q(Y(h)));m=Q(h*i);n=Q(g*i);h=Q(n*Q(100));l=Q(i*Q(-j));o=Q(k*l);n=Q(n*Q(-k));i=Q(0);break a}i=Q(Q(k*k)+Q(g*g));h=Q(Q(1)/Q(Y(i)));o=Q(i*h);m=Q(h*Q(-g));i=Q(m*Q(100));n=Q(j*m);l=Q(k*h);m=Q(l*Q(-j));h=Q(0)}p=N[d+52>>2];q=N[d+20>>2];r=N[d+24>>2];s=N[d+56>>2];t=N[d+36>>2];u=N[d+40>>2];v=N[d+48>>2];w=N[d+8>>2];x=N[d>>2];y=N[d+4>>2];z=N[d+16>>2];C=N[d+32>>2];J[f+28>>2]=0;j=Q(j*c);A=Q(j+h);k=Q(k*c);B=Q(k+i);c=Q(g*c);l=Q(l*Q(100));g=Q(c+l);N[f+24>>2]=s+Q(Q(u*A)+Q(Q(C*B)+Q(t*g)));N[f+20>>2]=p+Q(Q(A*r)+Q(Q(B*z)+Q(g*q)));N[f+16>>2]=v+Q(Q(A*w)+Q(Q(B*x)+Q(g*y)));J[f+12>>2]=0;g=Q(j-h);i=Q(k-i);h=Q(c-l);N[f+8>>2]=s+Q(Q(u*g)+Q(Q(C*i)+Q(t*h)));N[f+4>>2]=p+Q(Q(g*r)+Q(Q(i*z)+Q(h*q)));N[f>>2]=v+Q(Q(g*w)+Q(Q(i*x)+Q(h*y)));b=f+16|0;ua[J[J[a>>2]+16>>2]](a,b,f,e);g=N[d+52>>2];i=N[d+24>>2];h=N[d+20>>2];l=N[d+56>>2];p=N[d+40>>2];q=N[d+36>>2];r=N[d+48>>2];s=N[d+8>>2];t=N[d>>2];u=N[d+4>>2];v=N[d+16>>2];w=N[d+32>>2];J[f+28>>2]=0;x=Q(o*Q(100));o=Q(j+x);y=Q(m*Q(100));m=Q(k+y);z=Q(n*Q(100));n=Q(c+z);N[f+24>>2]=l+Q(Q(p*o)+Q(Q(w*m)+Q(q*n)));N[f+20>>2]=g+Q(Q(o*i)+Q(Q(m*v)+Q(n*h)));N[f+16>>2]=r+Q(Q(o*s)+Q(Q(m*t)+Q(n*u)));J[f+12>>2]=0;j=Q(j-x);k=Q(k-y);c=Q(c-z);N[f+8>>2]=l+Q(Q(p*j)+Q(Q(w*k)+Q(q*c)));N[f+4>>2]=g+Q(Q(j*i)+Q(Q(k*v)+Q(c*h)));N[f>>2]=r+Q(Q(j*s)+Q(Q(k*t)+Q(c*u)));ua[J[J[a>>2]+16>>2]](a,b,f,e);sa=f+32|0}function kb(a,b,c,d,e){var f=Q(0),g=Q(0),h=Q(0),i=Q(0),j=Q(0),k=Q(0),l=Q(0),m=Q(0),n=0,o=Q(0),p=Q(0);n=sa-16|0;sa=n;f=N[a+52>>2];g=N[a+56>>2];i=N[a+48>>2];h=N[b>>2];j=N[b+4>>2];k=N[b+8>>2];J[e+60>>2]=0;N[e+56>>2]=g+Q(k*d);N[e+52>>2]=f+Q(j*d);N[e+48>>2]=i+Q(h*d);i=N[c+8>>2];l=N[c>>2];m=N[c+4>>2];f=Q(Q(i*i)+Q(Q(l*l)+Q(m*m)));f=f>Q(1.1920928955078125e-7)?Q(Y(f)):Q(0);g=Q(f*d)>Q(.7853981852531433)?Q(Q(.7853981852531433)/d):f;a:{if(g>2];j=N[n+12>>2];g=Ma(Q(Q(g*d)*Q(.5)));k=N[n>>2];l=Q(l*f);m=Q(m*f);o=Q(i*f);p=N[n+8>>2];f=Q(Q(Q(Q(j*g)-Q(k*l))-Q(h*m))-Q(o*p));i=Q(Q(Q(l*h)+Q(Q(g*p)+Q(o*j)))-Q(m*k));d=Q(Q(Q(m*p)+Q(Q(g*k)+Q(l*j)))-Q(o*h));g=Q(Q(Q(o*k)+Q(Q(g*h)+Q(m*j)))-Q(l*p));h=Q(Q(f*f)+Q(Q(i*i)+Q(Q(d*d)+Q(g*g))));if(h>Q(1.1920928955078125e-7)){h=Q(Q(1)/Q(Y(h)));f=Q(f*h);i=Q(i*h);d=Q(d*h);g=Q(g*h);h=Q(Q(f*f)+Q(Q(i*i)+Q(Q(d*d)+Q(g*g))))}b:{if(h>Q(1.1920928955078125e-7)){J[e+12>>2]=0;J[e+44>>2]=0;J[e+28>>2]=0;j=Q(Q(2)/h);h=Q(i*j);k=Q(g*h);l=Q(d*j);m=Q(f*l);N[e+36>>2]=k+m;o=Q(d*h);j=Q(g*j);p=Q(f*j);N[e+32>>2]=o-p;N[e+24>>2]=k-m;k=Q(d*j);f=Q(f*h);N[e+16>>2]=k+f;N[e+8>>2]=o+p;N[e+4>>2]=k-f;d=Q(d*l);f=Q(g*j);N[e+40>>2]=Q(1)-Q(d+f);g=d;d=Q(i*h);N[e+20>>2]=Q(1)-Q(g+d);N[e>>2]=Q(1)-Q(f+d);break b}b=J[a+4>>2];J[e>>2]=J[a>>2];J[e+4>>2]=b;b=J[a+12>>2];J[e+8>>2]=J[a+8>>2];J[e+12>>2]=b;b=J[a+20>>2];J[e+16>>2]=J[a+16>>2];J[e+20>>2]=b;b=J[a+28>>2];J[e+24>>2]=J[a+24>>2];J[e+28>>2]=b;b=J[a+36>>2];J[e+32>>2]=J[a+32>>2];J[e+36>>2]=b;b=J[a+44>>2];J[e+40>>2]=J[a+40>>2];J[e+44>>2]=b}sa=n+16|0}function Am(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=Q(0),h=Q(0),i=0,j=0,k=Q(0),l=0,m=Q(0),n=0,o=0,p=0;i=sa-144|0;sa=i;ua[J[8262]](7475);g=N[b>>2];h=N[b+16>>2];m=g>2];a:{if(N[a+20>>2]<(k>m?m:k)){break a}e=g>h;if(N[(k<(e?g:h)?!e<<4:32)+b>>2]>2]){break a}g=N[b+8>>2];e=b+24|0;h=N[e>>2];m=g>2];if(N[a+28>>2]<(k>m?m:k)){break a}l=e;e=g>h;if(N[(k<(e?g:h)?e?b+8|0:l:j)>>2]>2]){break a}g=N[b+4>>2];e=b+20|0;h=N[e>>2];m=g>2];if(N[a+24>>2]<(k>m?m:k)){break a}l=e;e=g>h;if(J[J[J[a+36>>2]+4>>2]+4>>2]>19|N[(k<(e?g:h)?e?b+4|0:l:j)>>2]>2]){break a}j=J[a+48>>2];e=Ob(i+28|0);J[e+4>>2]=1;J[e>>2]=15832;f=J[b+12>>2];J[e+72>>2]=J[b+8>>2];J[e+76>>2]=f;f=J[b+4>>2];J[e+64>>2]=J[b>>2];J[e+68>>2]=f;f=J[b+28>>2];J[e+88>>2]=J[b+24>>2];J[e+92>>2]=f;f=J[b+20>>2];J[e+80>>2]=J[b+16>>2];J[e+84>>2]=f;f=J[b+44>>2];J[e+104>>2]=J[b+40>>2];J[e+108>>2]=f;f=J[b+36>>2];J[e+96>>2]=J[b+32>>2];J[e+100>>2]=f;N[e+52>>2]=N[a+56>>2];b=J[a+40>>2];f=J[b+8>>2];n=J[b+12>>2];J[i+24>>2]=d;J[i+20>>2]=c;J[i+12>>2]=f;J[i+16>>2]=n;J[i+8>>2]=e;J[i+4>>2]=b;b=J[a+36>>2];b:{if(N[J[a+44>>2]+32>>2]>Q(0)){b=ua[J[J[j>>2]+8>>2]](j,b,i+4|0,0,2)|0;break b}b=ua[J[J[j>>2]+8>>2]](j,b,i+4|0,J[a+64>>2],1)|0}f=J[a+44>>2];n=J[f+8>>2];c:{if(J[n+8>>2]==J[J[a+40>>2]+8>>2]){l=f+8|0;o=2;break c}n=J[f+12>>2];l=f+12|0;o=3}p=l;l=i+4|0;J[p>>2]=l;ua[J[J[f>>2]+(o<<2)>>2]](f,c,d);ua[J[J[b>>2]+8>>2]](b,J[a+36>>2],l,J[a+52>>2],J[a+44>>2]);c=J[a+44>>2];J[(J[J[c+8>>2]+8>>2]==J[J[a+40>>2]+8>>2]?8:12)+c>>2]=n;ua[J[J[b>>2]>>2]](b)|0;ua[J[J[j>>2]+60>>2]](j,b);sb(e)}ua[J[8263]]();sa=i+144|0}function wd(a){var b=0,c=0,d=0,e=0,f=0,g=0,h=0;b=J[a+8>>2];c=J[a+32>>2];f=c?J[a+40>>2]:0;d=c;c=J[a+52>>2];g=c?J[a+60>>2]:0;h=c;c=J[a+72>>2];Q(ua[J[J[b>>2]+12>>2]](b,f,d,g,h,c?J[a+80>>2]:0,c,J[a+4>>2],J[a+20>>2],J[a+24>>2]));c=J[a+32>>2];a:{if((c|0)>=0){break a}if(J[a+36>>2]<0){b=J[a+40>>2];if(!(b?!b|!K[a+44|0]:1)){J[8457]=J[8457]+1;ua[J[8259]](b)}H[a+44|0]=1;J[a+36>>2]=0;J[a+40>>2]=0}b=c;d=0-b&3;if(d){while(1){J[J[a+40>>2]+(b<<2)>>2]=0;b=b+1|0;e=e+1|0;if((d|0)!=(e|0)){continue}break}}if(c>>>0>4294967292){break a}while(1){c=b<<2;J[c+J[a+40>>2]>>2]=0;J[(c+J[a+40>>2]|0)+4>>2]=0;J[(c+J[a+40>>2]|0)+8>>2]=0;J[(c+J[a+40>>2]|0)+12>>2]=0;b=b+4|0;if(b){continue}break}}J[a+32>>2]=0;c=J[a+52>>2];b:{if((c|0)>=0){break b}if(J[a+56>>2]<0){b=J[a+60>>2];if(!(b?!b|!K[a- -64|0]:1)){J[8457]=J[8457]+1;ua[J[8259]](b)}H[a+64|0]=1;J[a+56>>2]=0;J[a+60>>2]=0}e=0;b=c;d=0-b&3;if(d){while(1){J[J[a+60>>2]+(b<<2)>>2]=0;b=b+1|0;e=e+1|0;if((d|0)!=(e|0)){continue}break}}if(c>>>0>4294967292){break b}while(1){c=b<<2;J[c+J[a+60>>2]>>2]=0;J[(c+J[a+60>>2]|0)+4>>2]=0;J[(c+J[a+60>>2]|0)+8>>2]=0;J[(c+J[a+60>>2]|0)+12>>2]=0;b=b+4|0;if(b){continue}break}}J[a+52>>2]=0;c=J[a+72>>2];c:{if((c|0)>=0){break c}if(J[a+76>>2]<0){b=J[a+80>>2];if(!(b?!b|!K[a+84|0]:1)){J[8457]=J[8457]+1;ua[J[8259]](b)}H[a+84|0]=1;J[a+76>>2]=0;J[a+80>>2]=0}e=0;b=c;d=0-b&3;if(d){while(1){J[J[a+80>>2]+(b<<2)>>2]=0;b=b+1|0;e=e+1|0;if((d|0)!=(e|0)){continue}break}}if(c>>>0>4294967292){break c}while(1){c=b<<2;J[c+J[a+80>>2]>>2]=0;J[(c+J[a+80>>2]|0)+4>>2]=0;J[(c+J[a+80>>2]|0)+8>>2]=0;J[(c+J[a+80>>2]|0)+12>>2]=0;b=b+4|0;if(b){continue}break}}J[a+72>>2]=0}function bn(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=Q(0),h=Q(0),i=Q(0),j=Q(0),k=Q(0),l=Q(0),m=0;e=sa-256|0;sa=e;J[e+36>>2]=14660;f=J[b+12>>2];J[e+80>>2]=J[b+8>>2];J[e+84>>2]=f;f=J[b+4>>2];J[e+72>>2]=J[b>>2];J[e+76>>2]=f;f=J[c+12>>2];J[e+96>>2]=J[c+8>>2];J[e+100>>2]=f;f=J[c>>2];m=J[c+4>>2];J[e+108>>2]=0;J[e+112>>2]=0;J[e+116>>2]=0;J[e+120>>2]=0;J[e+128>>2]=0;J[e+132>>2]=0;J[e+124>>2]=1065353216;J[e+136>>2]=0;J[e+140>>2]=0;J[e+144>>2]=1065353216;J[e+148>>2]=0;J[e+88>>2]=f;J[e+92>>2]=m;J[e+252>>2]=d;J[e+104>>2]=1065353216;J[e+248>>2]=a;d=J[b+4>>2];J[e+152>>2]=J[b>>2];J[e+156>>2]=d;d=J[b+12>>2];J[e+160>>2]=J[b+8>>2];J[e+164>>2]=d;J[e+172>>2]=0;J[e+176>>2]=0;J[e+180>>2]=0;J[e+184>>2]=0;J[e+188>>2]=1065353216;J[e+192>>2]=0;J[e+196>>2]=0;J[e+200>>2]=0;J[e+204>>2]=0;J[e+208>>2]=1065353216;J[e+212>>2]=0;J[e+168>>2]=1065353216;d=J[c+12>>2];J[e+224>>2]=J[c+8>>2];J[e+228>>2]=d;d=J[c+4>>2];J[e+216>>2]=J[c>>2];J[e+220>>2]=d;g=Q(N[c+8>>2]-N[b+8>>2]);j=Q(N[c>>2]-N[b>>2]);h=Q(N[c+4>>2]-N[b+4>>2]);i=Q(Q(1)/Q(Y(Q(Q(g*g)+Q(Q(j*j)+Q(h*h))))));g=Q(g*i);k=g==Q(0)?Q(0xde0b6b000000000):Q(Q(1)/g);N[e+48>>2]=k;h=Q(h*i);l=h==Q(0)?Q(0xde0b6b000000000):Q(Q(1)/h);N[e+44>>2]=l;J[e- -64>>2]=k>2]=l>2]=j;J[e+56>>2]=j>2]=Q(g*Q(N[e+96>>2]-N[e+80>>2]))+Q(Q(i*Q(N[e+88>>2]-N[e+72>>2]))+Q(h*Q(N[e+92>>2]-N[e+76>>2])));a=J[a+68>>2];J[e+24>>2]=0;J[e+28>>2]=0;J[e+16>>2]=0;J[e+20>>2]=0;J[e+8>>2]=0;J[e+12>>2]=0;J[e>>2]=0;J[e+4>>2]=0;ua[J[J[a>>2]+24>>2]](a,b,c,e+36|0,e+16|0,e);sa=e+256|0}function Kc(a){a=a|0;var b=0;J[a>>2]=16752;if(K[a+20|0]){b=J[J[a+16>>2]+16>>2];if(b){J[8457]=J[8457]+1;ua[J[8259]](b)}b=J[a+16>>2];if(b){J[8457]=J[8457]+1;ua[J[8259]](b)}}if(K[a+12|0]){b=J[J[a+8>>2]+16>>2];if(b){J[8457]=J[8457]+1;ua[J[8259]](b)}b=J[a+8>>2];if(b){J[8457]=J[8457]+1;ua[J[8259]](b)}}b=J[a+28>>2];ua[J[J[b>>2]>>2]](b)|0;b=J[a+28>>2];if(b){J[8457]=J[8457]+1;ua[J[8259]](b)}b=J[a+32>>2];ua[J[J[b>>2]>>2]](b)|0;b=J[a+32>>2];if(b){J[8457]=J[8457]+1;ua[J[8259]](b)}b=J[a+36>>2];ua[J[J[b>>2]>>2]](b)|0;b=J[a+36>>2];if(b){J[8457]=J[8457]+1;ua[J[8259]](b)}b=J[a+40>>2];ua[J[J[b>>2]>>2]](b)|0;b=J[a+40>>2];if(b){J[8457]=J[8457]+1;ua[J[8259]](b)}b=J[a+44>>2];ua[J[J[b>>2]>>2]](b)|0;b=J[a+44>>2];if(b){J[8457]=J[8457]+1;ua[J[8259]](b)}b=J[a+48>>2];ua[J[J[b>>2]>>2]](b)|0;b=J[a+48>>2];if(b){J[8457]=J[8457]+1;ua[J[8259]](b)}b=J[a+52>>2];ua[J[J[b>>2]>>2]](b)|0;b=J[a+52>>2];if(b){J[8457]=J[8457]+1;ua[J[8259]](b)}b=J[a+56>>2];ua[J[J[b>>2]>>2]](b)|0;b=J[a+56>>2];if(b){J[8457]=J[8457]+1;ua[J[8259]](b)}b=J[a+72>>2];ua[J[J[b>>2]>>2]](b)|0;b=J[a+72>>2];if(b){J[8457]=J[8457]+1;ua[J[8259]](b)}b=J[a+76>>2];ua[J[J[b>>2]>>2]](b)|0;b=J[a+76>>2];if(b){J[8457]=J[8457]+1;ua[J[8259]](b)}b=J[a+68>>2];ua[J[J[b>>2]>>2]](b)|0;b=J[a+68>>2];if(b){J[8457]=J[8457]+1;ua[J[8259]](b)}b=J[a+84>>2];ua[J[J[b>>2]>>2]](b)|0;b=J[a+84>>2];if(b){J[8457]=J[8457]+1;ua[J[8259]](b)}b=J[a+80>>2];ua[J[J[b>>2]>>2]](b)|0;b=J[a+80>>2];if(b){J[8457]=J[8457]+1;ua[J[8259]](b)}b=J[a+24>>2];ua[J[J[b>>2]>>2]](b)|0;b=J[a+24>>2];if(b){J[8457]=J[8457]+1;ua[J[8259]](b)}return a|0}function aq(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;a:{b:{c:{d:{e:{f:{g:{h:{d=J[J[b>>2]+192>>2];if(J[d+4>>2]!=31){break h}f=J[b+4>>2];if(!f){break h}n=J[J[(J[d+32>>2]+P(J[f>>2],80)|0)+64>>2]+8>>2];d=J[a+136>>2];if((d|0)!=J[a+140>>2]){break a}j=d?d<<1:1;if((j|0)<=(d|0)){break a}if(j){J[8456]=J[8456]+1;g=ua[J[8258]](j<<2,16)|0;d=J[a+136>>2]}f=J[a+144>>2];if((d|0)<=0){break g}if(d>>>0>=4){m=d&-4;while(1){e=h<<2;J[e+g>>2]=J[f+e>>2];i=e|4;J[i+g>>2]=J[f+i>>2];i=e|8;J[i+g>>2]=J[f+i>>2];e=e|12;J[e+g>>2]=J[f+e>>2];h=h+4|0;k=k+4|0;if((m|0)!=(k|0)){continue}break}}d=d&3;if(!d){break c}while(1){e=h<<2;J[e+g>>2]=J[f+e>>2];h=h+1|0;l=l+1|0;if((d|0)!=(l|0)){continue}break}break c}n=J[d+8>>2];d=J[a+136>>2];if((d|0)!=J[a+140>>2]){break a}j=d?d<<1:1;if((j|0)<=(d|0)){break a}if(j){J[8456]=J[8456]+1;g=ua[J[8258]](j<<2,16)|0;d=J[a+136>>2]}f=J[a+144>>2];if((d|0)<=0){break f}if(d>>>0>=4){m=d&-4;while(1){e=h<<2;J[e+g>>2]=J[f+e>>2];i=e|4;J[i+g>>2]=J[f+i>>2];i=e|8;J[i+g>>2]=J[f+i>>2];e=e|12;J[e+g>>2]=J[f+e>>2];h=h+4|0;k=k+4|0;if((m|0)!=(k|0)){continue}break}}d=d&3;if(!d){break e}while(1){e=h<<2;J[e+g>>2]=J[f+e>>2];h=h+1|0;l=l+1|0;if((d|0)!=(l|0)){continue}break}break e}if(f){break c}break b}if(!f){break d}}if(f?K[a+148|0]:0){J[8457]=J[8457]+1;ua[J[8259]](f)}d=J[a+136>>2]}J[a+144>>2]=g;J[a+140>>2]=j;H[a+148|0]=1;break a}if(f?K[a+148|0]:0){J[8457]=J[8457]+1;ua[J[8259]](f)}d=J[a+136>>2]}J[a+144>>2]=g;J[a+140>>2]=j;H[a+148|0]=1}J[J[a+144>>2]+(d<<2)>>2]=n;J[a+136>>2]=J[a+136>>2]+1;return Q(Kf(a,b,c))}function Ec(a){var b=0,c=0,d=Q(0),e=0,f=Q(0),g=Q(0),h=Q(0),i=Q(0),j=Q(0),k=Q(0),l=0;e=J[a+28>>2];if((e|0)<=0){return 1}f=N[a+84>>2];g=N[a+68>>2];i=Q(f+g);h=N[a+88>>2];d=N[a+72>>2];j=Q(h+d);h=Q(d-h);f=Q(g-f);d=N[a+80>>2];k=N[a+64>>2];g=Q(d+k);d=Q(k-d);a=J[a+36>>2];a:{b:{while(1){b=a+P(c,36)|0;if(Q(N[b+32>>2]+Q(Q(j*N[b+28>>2])+Q(Q(g*N[b+20>>2])+Q(i*N[b+24>>2]))))>Q(0)){break b}c=c+1|0;if((e|0)!=(c|0)){continue}break}c=0;while(1){b=a+P(c,36)|0;if(Q(N[b+32>>2]+Q(Q(h*N[b+28>>2])+Q(Q(g*N[b+20>>2])+Q(i*N[b+24>>2]))))>Q(0)){break a}c=c+1|0;if((e|0)!=(c|0)){continue}break}c=0;while(1){b=a+P(c,36)|0;if(Q(N[b+32>>2]+Q(Q(j*N[b+28>>2])+Q(Q(g*N[b+20>>2])+Q(f*N[b+24>>2]))))>Q(0)){break a}c=c+1|0;if((e|0)!=(c|0)){continue}break}c=0;while(1){b=a+P(c,36)|0;if(Q(N[b+32>>2]+Q(Q(h*N[b+28>>2])+Q(Q(g*N[b+20>>2])+Q(f*N[b+24>>2]))))>Q(0)){break a}c=c+1|0;if((e|0)!=(c|0)){continue}break}c=0;while(1){b=a+P(c,36)|0;if(Q(N[b+32>>2]+Q(Q(j*N[b+28>>2])+Q(Q(d*N[b+20>>2])+Q(i*N[b+24>>2]))))>Q(0)){break a}c=c+1|0;if((e|0)!=(c|0)){continue}break}c=0;while(1){b=a+P(c,36)|0;if(Q(N[b+32>>2]+Q(Q(h*N[b+28>>2])+Q(Q(d*N[b+20>>2])+Q(i*N[b+24>>2]))))>Q(0)){break a}c=c+1|0;if((e|0)!=(c|0)){continue}break}c=0;while(1){b=a+P(c,36)|0;if(Q(N[b+32>>2]+Q(Q(j*N[b+28>>2])+Q(Q(d*N[b+20>>2])+Q(f*N[b+24>>2]))))>Q(0)){break a}c=c+1|0;if((e|0)!=(c|0)){continue}break}c=0;while(1){c:{b=a+P(c,36)|0;b=Q(N[b+32>>2]+Q(Q(h*N[b+28>>2])+Q(Q(d*N[b+20>>2])+Q(f*N[b+24>>2]))))>Q(0);l=!b;if(b){break c}c=c+1|0;if((e|0)!=(c|0)){continue}}break}return l}return 0}return 0}function vr(a,b,c){a=a|0;b=Q(b);c=Q(c);var d=Q(0),e=Q(0),f=0,g=0,h=0,i=Q(0),j=Q(0),k=Q(0),l=Q(0),m=Q(0),n=Q(0),o=Q(0),p=Q(0),q=Q(0),r=Q(0),s=Q(0),t=Q(0),u=Q(0),v=Q(0),w=Q(0),x=Q(0),y=0,z=Q(0);h=sa-16|0;sa=h;N[h+12>>2]=b;d=N[a+692>>2];a:{if(!(d>Q(0))){break a}e=N[a+688>>2];b=Qa(Q(N[h+12>>2]-e));b:{if(bQ(3.1415927410125732))){break b}b=Q(b+Q(-6.2831854820251465))}if(!(Q(-d)>b)&b<=d){break a}c:{if(b>Q(0)){b=Qa(Q(d+e));if(bQ(3.1415927410125732))){break c}b=Q(b+Q(-6.2831854820251465));break c}b=Qa(Q(e-d));if(bQ(3.1415927410125732))){break c}b=Q(b+Q(-6.2831854820251465))}N[h+12>>2]=b}f=J[a+32>>2];b=N[a+652>>2];d=N[a+620>>2];e=N[a+636>>2];m=Q(Q(N[f+44>>2]*b)+Q(Q(N[f+36>>2]*d)+Q(e*N[f+40>>2])));g=J[a+28>>2];n=N[g+44>>2];i=N[a+584>>2];o=N[g+36>>2];j=N[a+552>>2];k=N[a+568>>2];p=N[g+40>>2];v=Q(m*Q(Q(n*i)+Q(Q(o*j)+Q(k*p))));q=Q(Q(N[f+12>>2]*b)+Q(Q(N[f+4>>2]*d)+Q(e*N[f+8>>2])));r=N[g+12>>2];s=N[g+4>>2];t=N[g+8>>2];w=Q(q*Q(Q(r*i)+Q(Q(s*j)+Q(k*t))));u=N[g+28>>2];l=Q(u*i);i=N[g+20>>2];x=Q(i*j);j=N[g+24>>2];l=Q(l+Q(x+Q(k*j)));k=Q(Q(N[f+28>>2]*b)+Q(Q(N[f+20>>2]*d)+Q(e*N[f+24>>2])));b=N[a+588>>2];d=N[a+556>>2];e=N[a+572>>2];y=a,z=Q(Q(N[h+12>>2]-Q(Ia(Q(v+Q(w+Q(l*k))),Q(Q(m*Q(Q(n*b)+Q(Q(o*d)+Q(p*e))))+Q(Q(q*Q(Q(r*b)+Q(Q(s*d)+Q(t*e))))+Q(Q(Q(u*b)+Q(Q(i*d)+Q(j*e)))*k))))*N[a+732>>2]))/c),N[y+680>>2]=z;sa=h+16|0}function Ei(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=Q(0),f=Q(0),g=Q(0),h=Q(0),i=0,j=Q(0),k=Q(0),l=Q(0),m=Q(0),n=Q(0),o=Q(0),p=Q(0),q=Q(0),r=Q(0),s=Q(0),t=Q(0),u=Q(0),v=Q(0),w=Q(0),x=Q(0),y=Q(0),z=Q(0),A=0,B=Q(0);i=sa-32|0;sa=i;h=N[b+20>>2];r=N[b+36>>2];s=N[b+24>>2];x=N[b+40>>2];j=N[b+4>>2];t=N[b+32>>2];o=N[b+8>>2];p=N[b>>2];u=N[b+16>>2];J[i+28>>2]=0;g=Q(u-p);k=Q(r-j);e=Q(t-p);l=Q(h-j);f=Q(Q(g*k)-Q(e*l));m=l;l=Q(x-o);n=Q(s-o);k=Q(Q(m*l)-Q(k*n));g=Q(Q(n*e)-Q(l*g));e=Q(Q(o*f)+Q(Q(p*k)+Q(j*g)));v=N[a+12>>2];m=N[a+4>>2];q=N[a+8>>2];l=Q(Q(Q(f*v)+Q(Q(k*m)+Q(g*q)))-e);w=N[a+28>>2];y=N[a+20>>2];z=N[a+24>>2];e=Q(Q(Q(f*w)+Q(Q(k*y)+Q(g*z)))-e);a:{if(Q(l*e)>=Q(0)){break a}b=J[a+36>>2];if(b&1&l<=Q(0)){break a}e=Q(l/Q(l-e));if(!(e>2])){break a}n=Q(Q(1)-e);m=Q(Q(n*m)+Q(y*e));p=Q(p-m);q=Q(Q(n*q)+Q(z*e));h=Q(h-q);u=Q(u-m);j=Q(j-q);n=Q(Q(n*v)+Q(w*e));s=Q(s-n);o=Q(o-n);w=Q(Q(f*f)+Q(Q(k*k)+Q(g*g)));v=Q(w*Q(-9999999747378752e-20));if(!(Q(Q(Q(Q(p*h)-Q(u*j))*f)+Q(Q(Q(Q(j*s)-Q(h*o))*k)+Q(g*Q(Q(o*u)-Q(s*p)))))>=v)){break a}r=Q(r-q);t=Q(t-m);q=Q(Q(Q(u*r)-Q(t*h))*f);m=h;h=Q(x-n);if(!(v<=Q(q+Q(Q(Q(Q(m*h)-Q(r*s))*k)+Q(g*Q(Q(s*t)-Q(h*u))))))|!(v<=Q(Q(Q(Q(t*j)-Q(p*r))*f)+Q(Q(Q(Q(r*o)-Q(j*h))*k)+Q(g*Q(Q(h*p)-Q(o*t))))))){break a}h=f;f=Q(Q(1)/Q(Y(w)));j=Q(h*f);N[i+24>>2]=j;g=Q(g*f);N[i+20>>2]=g;f=Q(k*f);N[i+16>>2]=f;if(!(!(l<=Q(0))|b&2)){J[i+12>>2]=0;N[i+8>>2]=-j;N[i+4>>2]=-g;N[i>>2]=-f;A=a,B=Q(ua[J[J[a>>2]+12>>2]](a,i,e,c,d)),N[A+40>>2]=B;break a}A=a,B=Q(ua[J[J[a>>2]+12>>2]](a,i+16|0,e,c,d)),N[A+40>>2]=B}sa=i+32|0}function Hn(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;c=sa-32|0;sa=c;J[c+24>>2]=0;J[c+16>>2]=0;J[c+20>>2]=0;H[c+28|0]=1;a:{if(J[a+8>>2]<=0){break a}while(1){e=J[a+16>>2]+(j<<4)|0;b:{if(J[c+20>>2]!=(d|0)){break b}f=d?d<<1:1;if((f|0)<=(d|0)){break b}h=0;i=0;if(f){J[8456]=J[8456]+1;i=ua[J[8258]](f<<4,16)|0}if((d|0)>0){while(1){g=h<<4;k=g+i|0;g=g+J[c+24>>2]|0;J[k>>2]=J[g>>2];J[k+4>>2]=J[g+4>>2];J[k+8>>2]=J[g+8>>2];J[k+12>>2]=J[g+12>>2];h=h+1|0;if((h|0)!=(d|0)){continue}break}}d=J[c+24>>2];if(!(d?!d|!K[c+28|0]:1)){J[8457]=J[8457]+1;ua[J[8259]](d)}J[c+24>>2]=i;H[c+28|0]=1;J[c+20>>2]=f;d=J[c+16>>2]}d=J[c+24>>2]+(d<<4)|0;J[d>>2]=J[e>>2];J[d+4>>2]=J[e+4>>2];J[d+8>>2]=J[e+8>>2];J[d+12>>2]=J[e+12>>2];f=J[c+16>>2];d=f+1|0;J[c+16>>2]=d;j=j+1|0;if((j|0)>2]){continue}break}e=0;if((f|0)<0){break a}i=f+1|0;k=i&1;h=J[c+24>>2];if(f){i=i&-2;f=0;while(1){g=e<<4;j=g+h|0;ua[J[J[a>>2]+12>>2]](a,J[j>>2],J[j+4>>2],b)|0;g=h+(g|16)|0;ua[J[J[a>>2]+12>>2]](a,J[g>>2],J[g+4>>2],b)|0;e=e+2|0;f=f+2|0;if((i|0)!=(f|0)){continue}break}}if(!k){break a}e=h+(e<<4)|0;ua[J[J[a>>2]+12>>2]](a,J[e>>2],J[e+4>>2],b)|0}if(J[a+52>>2]>0){b=J[a+60>>2];e=0;while(1){J[b+(e<<2)>>2]=-1;e=e+1|0;if((e|0)>2]){continue}break}d=J[c+16>>2]}if((d|0)>=2){Yb(c+12|0,c+11|0,0,d-1|0);d=J[c+16>>2]}if((d|0)>0){e=0;while(1){b=J[c+24>>2]+(e<<4)|0;ua[J[J[a>>2]+8>>2]](a,J[b>>2],J[b+4>>2])|0;e=e+1|0;if((e|0)>2]){continue}break}}a=J[c+24>>2];if(!(a?!a|!K[c+28|0]:1)){J[8457]=J[8457]+1;ua[J[8259]](a)}sa=c+32|0}function ih(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;k=sa-16|0;sa=k;ua[J[8262]](4554);b=J[a+220>>2];ua[J[J[b>>2]+8>>2]](b,a,J[a+24>>2]);h=J[a+324>>2];if((h|0)>0){i=J[a+332>>2];j=J[a+220>>2];while(1){b=J[i+(g<<2)>>2];c=J[b+836>>2];a:{if(!c){break a}b=J[b+840>>2];if(!b|J[c+204>>2]&3|K[b+204|0]&3){break a}b=J[b+208>>2];d=J[j+16>>2];e=J[c+208>>2];f=d+(e<<3)|0;c=J[f>>2];if((c|0)!=(e|0)){while(1){c=d+(c<<3)|0;J[f>>2]=J[c>>2];e=J[c>>2];f=d+(e<<3)|0;c=J[f>>2];if((c|0)!=(e|0)){continue}break}}f=d+(b<<3)|0;c=J[f>>2];if((c|0)!=(b|0)){while(1){b=d+(c<<3)|0;J[f>>2]=J[b>>2];b=J[b>>2];f=d+(b<<3)|0;c=J[f>>2];if((b|0)!=(c|0)){continue}break}}if((b|0)==(e|0)){break a}c=d+(e<<3)|0;J[c>>2]=b;b=d+(b<<3)|0;J[b+4>>2]=J[b+4>>2]+J[c+4>>2]}g=g+1|0;if((h|0)!=(g|0)){continue}break}}h=J[a+228>>2];if((h|0)>0){i=J[a+236>>2];j=J[a+220>>2];f=0;while(1){b=J[i+(f<<2)>>2];b:{if(!K[b+20|0]){break b}c=J[b+28>>2];if(K[c+204|0]&3){break b}b=J[b+32>>2];if(K[b+204|0]&3){break b}b=J[b+208>>2];d=J[j+16>>2];e=J[c+208>>2];c=d+(e<<3)|0;g=J[c>>2];if((g|0)!=(e|0)){while(1){e=c;c=d+(g<<3)|0;J[e>>2]=J[c>>2];e=J[c>>2];c=d+(e<<3)|0;g=J[c>>2];if((g|0)!=(e|0)){continue}break}}c=d+(b<<3)|0;g=J[c>>2];if((g|0)!=(b|0)){while(1){b=d+(g<<3)|0;J[c>>2]=J[b>>2];b=J[b>>2];c=d+(b<<3)|0;g=J[c>>2];if((b|0)!=(g|0)){continue}break}}if((b|0)==(e|0)){break b}c=d+(e<<3)|0;J[c>>2]=b;b=d+(b<<3)|0;J[b+4>>2]=J[b+4>>2]+J[c+4>>2]}f=f+1|0;if((h|0)!=(f|0)){continue}break}}b=J[a+220>>2];ua[J[J[b>>2]+12>>2]](b,a);ua[J[8263]]();sa=k+16|0}function or(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0;f=J[b+4>>2];J[a+40>>2]=J[b>>2];J[a+44>>2]=f;f=J[b+12>>2];J[a+48>>2]=J[b+8>>2];J[a+52>>2]=f;b=J[c+4>>2];J[a+56>>2]=J[c>>2];J[a+60>>2]=b;f=J[c+12>>2];b=a- -64|0;J[b>>2]=J[c+8>>2];J[b+4>>2]=f;H[a+152|0]=e;J[a+12>>2]=d;J[a+4>>2]=1065353216;J[a+8>>2]=0;c=J[a+136>>2];if((c|0)<0){b=J[a+144>>2];if(J[a+140>>2]<0){if(!(b?!b|!K[a+148|0]:1)){J[8457]=J[8457]+1;ua[J[8259]](b)}H[a+148|0]=1;J[a+140>>2]=0;J[a+144>>2]=0;b=0}d=b;b=c<<2;Fa(d+b|0,0,0-b|0)}J[a+136>>2]=0;c=J[a+116>>2];if((c|0)<0){b=J[a+124>>2];if(J[a+120>>2]<0){if(!(b?!b|!K[a+128|0]:1)){J[8457]=J[8457]+1;ua[J[8259]](b)}H[a+128|0]=1;J[a+120>>2]=0;J[a+124>>2]=0;b=0}d=b;b=c<<2;Fa(d+b|0,0,0-b|0)}J[a+116>>2]=0;c=J[a+24>>2];a:{if((c|0)>=0){break a}if(J[a+28>>2]<0){b=J[a+32>>2];if(!(b?!b|!K[a+36|0]:1)){J[8457]=J[8457]+1;ua[J[8259]](b)}H[a+36|0]=1;J[a+28>>2]=0;J[a+32>>2]=0}d=0;b=c;e=0-b&3;if(e){while(1){J[J[a+32>>2]+(b<<2)>>2]=0;b=b+1|0;d=d+1|0;if((e|0)!=(d|0)){continue}break}}if(c>>>0>4294967292){break a}while(1){c=b<<2;J[c+J[a+32>>2]>>2]=0;J[(c+J[a+32>>2]|0)+4>>2]=0;J[(c+J[a+32>>2]|0)+8>>2]=0;J[(c+J[a+32>>2]|0)+12>>2]=0;b=b+4|0;if(b){continue}break}}J[a+24>>2]=0;if((J[a+96>>2]&J[a+100>>2])<0){b=J[a+104>>2];if(!(b?!b|!K[a+108|0]:1)){J[8457]=J[8457]+1;ua[J[8259]](b)}H[a+108|0]=1;J[a+100>>2]=0;J[a+104>>2]=0}J[a+96>>2]=0;if((J[a+76>>2]&J[a+80>>2])<0){b=J[a+84>>2];if(!(b?!b|!K[a+88|0]:1)){J[8457]=J[8457]+1;ua[J[8259]](b)}H[a+88|0]=1;J[a+80>>2]=0;J[a+84>>2]=0}J[a+76>>2]=0}function Mp(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0;f=J[b+4>>2];J[a+40>>2]=J[b>>2];J[a+44>>2]=f;f=J[b+12>>2];J[a+48>>2]=J[b+8>>2];J[a+52>>2]=f;b=J[c+4>>2];J[a+56>>2]=J[c>>2];J[a+60>>2]=b;f=J[c+12>>2];b=a- -64|0;J[b>>2]=J[c+8>>2];J[b+4>>2]=f;H[a+152|0]=e;J[a+12>>2]=d;J[a+4>>2]=1065353216;c=J[a+136>>2];if((c|0)<0){b=J[a+144>>2];if(J[a+140>>2]<0){if(!(b?!b|!K[a+148|0]:1)){J[8457]=J[8457]+1;ua[J[8259]](b)}H[a+148|0]=1;J[a+140>>2]=0;J[a+144>>2]=0;b=0}d=b;b=c<<2;Fa(d+b|0,0,0-b|0)}J[a+136>>2]=0;c=J[a+116>>2];if((c|0)<0){b=J[a+124>>2];if(J[a+120>>2]<0){if(!(b?!b|!K[a+128|0]:1)){J[8457]=J[8457]+1;ua[J[8259]](b)}H[a+128|0]=1;J[a+120>>2]=0;J[a+124>>2]=0;b=0}d=b;b=c<<2;Fa(d+b|0,0,0-b|0)}J[a+116>>2]=0;c=J[a+24>>2];a:{if((c|0)>=0){break a}if(J[a+28>>2]<0){b=J[a+32>>2];if(!(b?!b|!K[a+36|0]:1)){J[8457]=J[8457]+1;ua[J[8259]](b)}H[a+36|0]=1;J[a+28>>2]=0;J[a+32>>2]=0}d=0;b=c;e=0-b&3;if(e){while(1){J[J[a+32>>2]+(b<<2)>>2]=0;b=b+1|0;d=d+1|0;if((e|0)!=(d|0)){continue}break}}if(c>>>0>4294967292){break a}while(1){c=b<<2;J[c+J[a+32>>2]>>2]=0;J[(c+J[a+32>>2]|0)+4>>2]=0;J[(c+J[a+32>>2]|0)+8>>2]=0;J[(c+J[a+32>>2]|0)+12>>2]=0;b=b+4|0;if(b){continue}break}}J[a+24>>2]=0;if((J[a+96>>2]&J[a+100>>2])<0){b=J[a+104>>2];if(!(b?!b|!K[a+108|0]:1)){J[8457]=J[8457]+1;ua[J[8259]](b)}H[a+108|0]=1;J[a+100>>2]=0;J[a+104>>2]=0}J[a+96>>2]=0;if((J[a+76>>2]&J[a+80>>2])<0){b=J[a+84>>2];if(!(b?!b|!K[a+88|0]:1)){J[8457]=J[8457]+1;ua[J[8259]](b)}H[a+88|0]=1;J[a+80>>2]=0;J[a+84>>2]=0}J[a+76>>2]=0}function gj(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;a:{b:{c:{switch(J[a+100>>2]-2|0){case 0:b=J[a+108>>2];J[c>>2]=J[a+104>>2];J[c+4>>2]=b;b=J[a+116>>2];J[c+8>>2]=J[a+112>>2];J[c+12>>2]=b;a=a+120|0;break b;case 1:d:{switch(b|0){case 0:b=J[a+108>>2];J[c>>2]=J[a+104>>2];J[c+4>>2]=b;b=J[a+116>>2];J[c+8>>2]=J[a+112>>2];J[c+12>>2]=b;a=a+120|0;break b;case 1:b=J[a+132>>2];J[c+8>>2]=J[a+128>>2];J[c+12>>2]=b;b=J[a+124>>2];J[c>>2]=J[a+120>>2];J[c+4>>2]=b;a=a+136|0;break b;case 2:break d;default:break a}}b=J[a+148>>2];J[c+8>>2]=J[a+144>>2];J[c+12>>2]=b;b=J[a+140>>2];J[c>>2]=J[a+136>>2];J[c+4>>2]=b;a=a+104|0;break b;case 2:break c;default:break a}}e:{switch(b|0){case 0:b=J[a+108>>2];J[c>>2]=J[a+104>>2];J[c+4>>2]=b;b=J[a+116>>2];J[c+8>>2]=J[a+112>>2];J[c+12>>2]=b;a=a+120|0;break b;case 1:b=J[a+132>>2];J[c+8>>2]=J[a+128>>2];J[c+12>>2]=b;b=J[a+124>>2];J[c>>2]=J[a+120>>2];J[c+4>>2]=b;a=a+136|0;break b;case 2:b=J[a+148>>2];J[c+8>>2]=J[a+144>>2];J[c+12>>2]=b;b=J[a+140>>2];J[c>>2]=J[a+136>>2];J[c+4>>2]=b;a=a+104|0;break b;case 3:b=J[a+108>>2];J[c>>2]=J[a+104>>2];J[c+4>>2]=b;b=J[a+116>>2];J[c+8>>2]=J[a+112>>2];J[c+12>>2]=b;a=a+152|0;break b;case 4:b=J[a+132>>2];J[c+8>>2]=J[a+128>>2];J[c+12>>2]=b;b=J[a+124>>2];J[c>>2]=J[a+120>>2];J[c+4>>2]=b;a=a+152|0;break b;case 5:break e;default:break a}}b=J[a+148>>2];J[c+8>>2]=J[a+144>>2];J[c+12>>2]=b;b=J[a+140>>2];J[c>>2]=J[a+136>>2];J[c+4>>2]=b;a=a+152|0}b=J[a+4>>2];J[d>>2]=J[a>>2];J[d+4>>2]=b;b=J[a+12>>2];J[d+8>>2]=J[a+8>>2];J[d+12>>2]=b}}function eh(a,b){a=a|0;b=Q(b);var c=0,d=Q(0),e=Q(0),f=Q(0),g=Q(0),h=Q(0),i=Q(0),j=Q(0),k=Q(0),l=0,m=0,n=0,o=Q(0);n=sa-16|0;sa=n;ua[J[8262]](5587);l=J[a+248>>2];if((l|0)>0){while(1){c=J[J[a+256>>2]+(m<<2)>>2];if(!(K[c+204|0]&3)){d=N[c+372>>2];k=N[c+504>>2];e=md(Q(Q(1)-k),b);d=Q(d*e);N[c+372>>2]=d;h=Q(e*N[c+376>>2]);N[c+376>>2]=h;e=Q(e*N[c+380>>2]);N[c+380>>2]=e;g=N[c+388>>2];o=N[c+508>>2];f=md(Q(Q(1)-o),b);g=Q(g*f);N[c+388>>2]=g;i=Q(f*N[c+392>>2]);N[c+392>>2]=i;f=Q(f*N[c+396>>2]);N[c+396>>2]=f;a:{if(!K[c+512|0]){break a}if(!(!(N[c+524>>2]>Q(Q(f*f)+Q(Q(g*g)+Q(i*i))))|!(N[c+520>>2]>Q(Q(e*e)+Q(Q(d*d)+Q(h*h)))))){j=N[c+516>>2];f=Q(f*j);N[c+396>>2]=f;i=Q(i*j);N[c+392>>2]=i;g=Q(g*j);N[c+388>>2]=g;e=Q(e*j);N[c+380>>2]=e;h=Q(h*j);N[c+376>>2]=h;d=Q(d*j);N[c+372>>2]=d}j=Q(Y(Q(Q(e*e)+Q(Q(d*d)+Q(h*h)))));b:{if(!(jQ(.004999999888241291)){k=e;e=Q(Q(1)/j);N[c+380>>2]=k-Q(Q(k*e)*Q(.004999999888241291));N[c+376>>2]=h-Q(Q(h*e)*Q(.004999999888241291));N[c+372>>2]=d-Q(Q(d*e)*Q(.004999999888241291));break b}J[c+372>>2]=0;J[c+376>>2]=0;J[c+380>>2]=0;J[c+384>>2]=0}d=Q(Y(Q(Q(f*f)+Q(Q(g*g)+Q(i*i)))));if(!(dQ(.004999999888241291)){d=Q(Q(1)/d);N[c+396>>2]=f-Q(Q(f*d)*Q(.004999999888241291));N[c+392>>2]=i-Q(Q(i*d)*Q(.004999999888241291));N[c+388>>2]=g-Q(Q(g*d)*Q(.004999999888241291));break a}J[c+388>>2]=0;J[c+392>>2]=0;J[c+396>>2]=0;J[c+400>>2]=0}pb(c,b,c+68|0);l=J[a+248>>2]}m=m+1|0;if((m|0)<(l|0)){continue}break}}ua[J[8263]]();sa=n+16|0}function Jn(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;J[8459]=J[8459]+1;e=J[b+12>>2]>J[c+12>>2];h=e?b:c;f=J[h+12>>2];i=e?c:b;g=J[i+12>>2];b=f<<16|g;b=(b<<15^-1)+b|0;b=P(b>>>10^b,9);b=b>>>6^b;b=(b<<11^-1)+b|0;j=J[a+12>>2]-1&(b>>>16^b);c=J[J[a+40>>2]+(j<<2)>>2];a:{if((c|0)==-1){break a}k=J[a+60>>2];e=J[a+16>>2];while(1){b=e+(c<<4)|0;if(!((g|0)==J[J[b>>2]+12>>2]&(f|0)==J[J[b+4>>2]+12>>2])){c=J[(c<<2)+k>>2];if((c|0)!=-1){continue}break a}break}ua[J[J[a>>2]+32>>2]](a,b,d);l=J[(e+(c<<4)|0)+12>>2];b:{c:{f=J[a+40>>2]+(j<<2)|0;c=J[f>>2];e=b-J[a+16>>2]>>4;if((c|0)==(e|0)){break c}g=J[a+60>>2];while(1){b=c;c=J[g+(b<<2)>>2];if((e|0)!=(c|0)){continue}break}if((b|0)==-1){break c}c=b<<2;b=J[a+60>>2];J[c+b>>2]=J[b+(e<<2)>>2];break b}J[f>>2]=J[J[a+60>>2]+(e<<2)>>2]}f=J[a+8>>2]-1|0;b=J[a+68>>2];if(b){ua[J[J[b>>2]+12>>2]](b,i,h,d)|0}if((e|0)!=(f|0)){d:{e:{h=J[a+16>>2];d=h+(f<<4)|0;b=J[J[d+4>>2]+12>>2]<<16|J[J[d>>2]+12>>2];b=(b<<15^-1)+b|0;b=P(b>>>10^b,9);b=b>>>6^b;b=(b<<11^-1)+b|0;i=J[a+12>>2]-1&(b>>>16^b);g=J[a+40>>2]+(i<<2)|0;c=J[g>>2];if((f|0)==(c|0)){break e}j=J[a+60>>2];while(1){b=c;c=J[j+(b<<2)>>2];if((f|0)!=(c|0)){continue}break}if((b|0)==-1){break e}c=b<<2;b=J[a+60>>2];J[c+b>>2]=J[b+(f<<2)>>2];break d}J[g>>2]=J[J[a+60>>2]+(f<<2)>>2]}c=J[d+4>>2];b=h+(e<<4)|0;J[b>>2]=J[d>>2];J[b+4>>2]=c;c=J[d+12>>2];J[b+8>>2]=J[d+8>>2];J[b+12>>2]=c;b=J[a+40>>2]+(i<<2)|0;J[J[a+60>>2]+(e<<2)>>2]=J[b>>2];J[b>>2]=e}J[a+8>>2]=J[a+8>>2]-1}return l|0}function md(a,b){var c=0,d=0,e=0,f=0,g=0,h=Q(0),i=0,j=0;e=(B(b),v(2));f=(e<<1)+16777216>>>0<16777217;a:{b:{c:{c=(B(a),v(2));d:{if(c-2139095040>>>0>=2164260864){if(f){break d}break b}if(!f){break c}}h=Q(1);if((c|0)==1065353216){break a}g=e<<1;if(!g){break a}c=c<<1;if(!(g>>>0<4278190081&c>>>0<=4278190080)){return Q(a+b)}if((c|0)==2130706432){break a}return c>>>0>2130706431^(e|0)>=0?Q(0):Q(b*b)}if((c<<1)+16777216>>>0<16777217){h=Q(a*a);if((c|0)<0){h=(ld(e)|0)==1?Q(-h):h}if((e|0)>=0){break a}c=sa-16|0;N[c+12>>2]=Q(1)/h;return N[c+12>>2]}if((c|0)<0){e=ld(e);if(!e){a=Q(a-a);return Q(a/a)}g=((e|0)==1)<<16;c=c&2147483647}if(c>>>0>8388607){break b}c=((B(Q(a*Q(8388608))),v(2))&2147483647)-192937984|0}e=c-1060306944|0;f=e>>>15&240;d=+(x(2,c-(e&-8388608)|0),C())*O[f+29592>>3]+-1;i=d*d;d=((O[3731]*d+O[3732])*(i*i)+((O[3733]*d+O[3734])*i+(O[3735]*d+(O[f+29600>>3]+ +(e>>23)))))*+b;A(+d);c=v(1)|0;v(0)|0;e:{c=c&2147450880;if((c|0)==1079967744|c>>>0<1079967744){break e}if(d>127.99999995700433){c=sa-16|0;N[c+12>>2]=g?Q(-15845632502852868e13):Q(15845632502852868e13);return Q(N[c+12>>2]*Q(15845632502852868e13))}if(!(d<=-150)){break e}c=sa-16|0;N[c+12>>2]=g?Q(-2524354896707238e-44):Q(2524354896707238e-44);return Q(N[c+12>>2]*Q(2524354896707238e-44))}i=O[3690];j=i+d;d=d-(j-i);d=(O[3691]*d+O[3692])*(d*d)+(O[3693]*d+1);A(+j);v(1)|0;f=v(0)|0;c=g+f|0;g=((f&31)<<3)+29264|0;f=J[g>>2];e=f;c=J[g+4>>2]+(c<<15)|0;x(0,e|0);x(1,(e>>>0>>0?c+1|0:c)|0);h=Q(d*+z())}return h}function rb(a,b,c,d,e){var f=0,g=0,h=Q(0),i=Q(0),j=Q(0),k=Q(0),l=Q(0),m=Q(0),n=Q(0),o=Q(0),p=0,q=Q(0);f=J[a+18504>>2];if(f){g=J[f+48>>2];if(g){J[g+44>>2]=J[f+44>>2]}g=J[f+44>>2];if(g){J[g+48>>2]=J[f+48>>2]}if(J[a+18504>>2]==(f|0)){J[a+18504>>2]=J[f+48>>2]}g=a+18508|0;J[g>>2]=J[g>>2]-1;J[f+44>>2]=0;J[f+48>>2]=J[a+18496>>2];g=J[a+18496>>2];if(g){J[g+44>>2]=f}J[a+18496>>2]=f;g=a+18500|0;J[g>>2]=J[g>>2]+1;J[f+28>>2]=d;J[f+24>>2]=c;J[f+20>>2]=b;H[f+55|0]=0;k=N[c+24>>2];q=N[d+24>>2];h=N[b+24>>2];l=N[d+20>>2];j=N[b+20>>2];m=N[c+20>>2];n=N[c+16>>2];o=N[d+16>>2];i=N[b+16>>2];J[f+12>>2]=0;n=Q(n-i);l=Q(l-j);i=Q(o-i);m=Q(m-j);j=Q(Q(n*l)-Q(i*m));N[f+8>>2]=j;k=Q(k-h);o=Q(k*i);i=Q(q-h);h=Q(o-Q(i*n));N[f+4>>2]=h;i=Q(Q(m*i)-Q(l*k));N[f>>2]=i;p=2;a:{h=Q(Y(Q(Q(j*j)+Q(Q(i*i)+Q(h*h)))));if(!(h>Q(9999999747378752e-20))){break a}g=f+16|0;b:{if(tc(f,b,c,g)){break b}if(tc(f,c,d,g)){break b}if(tc(f,d,b,g)){break b}N[f+16>>2]=Q(Q(N[b+24>>2]*N[f+8>>2])+Q(Q(N[b+16>>2]*N[f>>2])+Q(N[b+20>>2]*N[f+4>>2])))/h}h=Q(Q(1)/h);N[f>>2]=h*N[f>>2];N[f+4>>2]=h*N[f+4>>2];N[f+8>>2]=h*N[f+8>>2];if(e){return f}p=3;if(!(N[g>>2]>=Q(-9999999747378752e-21))){break a}return f}J[a>>2]=p;b=J[f+48>>2];if(b){J[b+44>>2]=J[f+44>>2]}b=J[f+44>>2];if(b){J[b+48>>2]=J[f+48>>2]}if(J[a+18496>>2]==(f|0)){J[a+18496>>2]=J[f+48>>2]}J[a+18500>>2]=J[a+18500>>2]-1;J[f+44>>2]=0;J[f+48>>2]=J[a+18504>>2];b=J[a+18504>>2];if(b){J[b+44>>2]=f}J[a+18504>>2]=f;J[a+18508>>2]=J[a+18508>>2]+1;return 0}J[a>>2]=5;return 0}function is(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;J[8456]=J[8456]+1;e=ua[J[8258]](84,16)|0;d=sa-48|0;sa=d;J[e+12>>2]=0;J[e+16>>2]=0;J[e+4>>2]=35;J[e+8>>2]=0;J[e+20>>2]=0;J[e>>2]=20152;J[e+56>>2]=a;J[e>>2]=22140;J[e+4>>2]=21;a:{if(ua[J[J[a>>2]+40>>2]](a)|0){ua[J[J[a>>2]+48>>2]](a,e+24|0,e+40|0);break a}J[d+44>>2]=0;J[d+36>>2]=0;J[d+40>>2]=0;J[d+32>>2]=1065353216;g=d+16|0;a=d+32|0;ua[J[J[e>>2]+68>>2]](g,e,a);N[e+40>>2]=N[d+16>>2]+N[e+20>>2];J[d+32>>2]=-1082130432;ua[J[J[e>>2]+68>>2]](d,e,a);f=J[d+12>>2];J[d+24>>2]=J[d+8>>2];J[d+28>>2]=f;f=J[d+4>>2];J[d+16>>2]=J[d>>2];J[d+20>>2]=f;N[e+24>>2]=N[d+16>>2]-N[e+20>>2];J[d+40>>2]=0;J[d+44>>2]=0;J[d+32>>2]=0;J[d+36>>2]=0;J[d+36>>2]=1065353216;ua[J[J[e>>2]+68>>2]](g,e,a);N[e+44>>2]=N[d+20>>2]+N[e+20>>2];J[d+36>>2]=-1082130432;ua[J[J[e>>2]+68>>2]](d,e,a);f=J[d+12>>2];J[d+24>>2]=J[d+8>>2];J[d+28>>2]=f;f=J[d+4>>2];J[d+16>>2]=J[d>>2];J[d+20>>2]=f;N[e+28>>2]=N[d+20>>2]-N[e+20>>2];J[d+40>>2]=0;J[d+44>>2]=0;J[d+40>>2]=1065353216;J[d+32>>2]=0;J[d+36>>2]=0;ua[J[J[e>>2]+68>>2]](g,e,a);N[e+48>>2]=N[d+24>>2]+N[e+20>>2];J[d+40>>2]=-1082130432;ua[J[J[e>>2]+68>>2]](d,e,a);a=J[d+12>>2];J[d+24>>2]=J[d+8>>2];J[d+28>>2]=a;a=J[d+4>>2];J[d+16>>2]=J[d>>2];J[d+20>>2]=a;N[e+32>>2]=N[d+24>>2]-N[e+20>>2]}sa=d+48|0;H[e+69|0]=0;H[e+68|0]=b;J[e+60>>2]=0;J[e+64>>2]=0;J[e>>2]=18524;J[e+4>>2]=21;if(c){J[8456]=J[8456]+1;a=le(ua[J[8258]](172,16)|0);J[e+60>>2]=a;ke(a,J[e+56>>2],K[e+68|0],e+24|0,e+40|0);H[e+69|0]=1}return e|0}function Mh(a,b,c){a=a|0;b=b|0;c=c|0;lf(a,b,c);N[b+264>>2]=N[a+324>>2];N[b+268>>2]=N[a+328>>2];N[b+272>>2]=N[a+332>>2];N[b+276>>2]=N[a+336>>2];N[b+280>>2]=N[a+340>>2];N[b+284>>2]=N[a+344>>2];N[b+288>>2]=N[a+348>>2];N[b+292>>2]=N[a+352>>2];N[b+296>>2]=N[a+356>>2];N[b+300>>2]=N[a+360>>2];N[b+304>>2]=N[a+364>>2];N[b+308>>2]=N[a+368>>2];N[b+312>>2]=N[a+372>>2];N[b+316>>2]=N[a+376>>2];N[b+320>>2]=N[a+380>>2];N[b+324>>2]=N[a+384>>2];N[b+328>>2]=N[a+388>>2];N[b+332>>2]=N[a+392>>2];N[b+336>>2]=N[a+396>>2];N[b+340>>2]=N[a+400>>2];N[b+456>>2]=N[a+404>>2];N[b+344>>2]=N[a+604>>2];N[b+348>>2]=N[a+608>>2];N[b+352>>2]=N[a+612>>2];N[b+356>>2]=N[a+616>>2];N[b+360>>2]=N[a+408>>2];N[b+364>>2]=N[a+412>>2];N[b+368>>2]=N[a+416>>2];N[b+372>>2]=N[a+420>>2];N[b+376>>2]=N[a+424>>2];N[b+380>>2]=N[a+428>>2];N[b+384>>2]=N[a+432>>2];N[b+388>>2]=N[a+436>>2];N[b+392>>2]=N[a+440>>2];N[b+396>>2]=N[a+444>>2];N[b+400>>2]=N[a+448>>2];N[b+404>>2]=N[a+452>>2];N[b+408>>2]=N[a+456>>2];N[b+412>>2]=N[a+460>>2];N[b+416>>2]=N[a+464>>2];N[b+420>>2]=N[a+468>>2];N[b+424>>2]=N[a+472>>2];N[b+428>>2]=N[a+476>>2];N[b+432>>2]=N[a+480>>2];N[b+436>>2]=N[a+484>>2];N[b+440>>2]=N[a+488>>2];N[b+444>>2]=N[a+492>>2];N[b+448>>2]=N[a+496>>2];N[b+452>>2]=N[a+500>>2];N[b+460>>2]=N[a+504>>2];N[b+464>>2]=N[a+508>>2];J[b+492>>2]=K[a+512|0];N[b+468>>2]=N[a+516>>2];N[b+472>>2]=N[a+520>>2];N[b+476>>2]=N[a+524>>2];N[b+480>>2]=N[a+528>>2];N[b+484>>2]=N[a+532>>2];N[b+488>>2]=N[a+536>>2];return 8570}function Eo(a,b,c){a=a|0;b=b|0;c=Q(c);var d=0,e=0,f=Q(0),g=Q(0),h=Q(0),i=Q(0),j=Q(0),k=Q(0),l=Q(0),m=Q(0),n=Q(0),o=0;d=sa-48|0;sa=d;e=J[b+60>>2];J[d+40>>2]=J[b+56>>2];J[d+44>>2]=e;e=J[b+52>>2];J[d+32>>2]=J[b+48>>2];J[d+36>>2]=e;f=N[b+24>>2];g=N[b+20>>2];h=N[b+40>>2];i=N[b+36>>2];j=N[b+8>>2];k=N[b>>2];l=N[b+4>>2];m=N[b+16>>2];n=N[b+32>>2];J[d+28>>2]=0;N[d+24>>2]=Q(Q(h*Q(0))+Q(Q(n*c)+Q(i*Q(0))))+N[d+40>>2];N[d+20>>2]=Q(Q(f*Q(0))+Q(Q(m*c)+Q(g*Q(0))))+N[d+36>>2];N[d+16>>2]=Q(Q(j*Q(0))+Q(Q(k*c)+Q(l*Q(0))))+N[d+32>>2];J[d+8>>2]=1050253722;J[d+12>>2]=0;J[d>>2]=1065353216;J[d+4>>2]=1050253722;e=d+32|0;o=d+16|0;ua[J[J[a>>2]+16>>2]](a,e,o,d);f=N[b+24>>2];g=N[b+20>>2];h=N[b+40>>2];i=N[b+36>>2];j=N[b+8>>2];k=N[b>>2];l=N[b+4>>2];m=N[b+16>>2];n=N[b+32>>2];J[d+28>>2]=0;N[d+24>>2]=Q(Q(h*Q(0))+Q(Q(n*Q(0))+Q(i*c)))+N[d+40>>2];N[d+20>>2]=Q(Q(f*Q(0))+Q(Q(m*Q(0))+Q(g*c)))+N[d+36>>2];N[d+16>>2]=Q(Q(j*Q(0))+Q(Q(k*Q(0))+Q(l*c)))+N[d+32>>2];J[d+8>>2]=1050253722;J[d+12>>2]=0;J[d>>2]=1050253722;J[d+4>>2]=1065353216;ua[J[J[a>>2]+16>>2]](a,e,o,d);f=N[b+24>>2];g=N[b+20>>2];h=N[b+40>>2];i=N[b+36>>2];j=N[b+8>>2];k=N[b>>2];l=N[b+4>>2];m=N[b+16>>2];n=N[b+32>>2];J[d+28>>2]=0;N[d+24>>2]=Q(Q(h*c)+Q(Q(n*Q(0))+Q(i*Q(0))))+N[d+40>>2];N[d+20>>2]=Q(Q(f*c)+Q(Q(m*Q(0))+Q(g*Q(0))))+N[d+36>>2];N[d+16>>2]=Q(Q(j*c)+Q(Q(k*Q(0))+Q(l*Q(0))))+N[d+32>>2];J[d+8>>2]=1065353216;J[d+12>>2]=0;J[d>>2]=1050253722;J[d+4>>2]=1050253722;ua[J[J[a>>2]+16>>2]](a,e,o,d);sa=d+48|0}function yc(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;a:{b:{c:{d:{e:{if(K[a+164|0]){m=a+128|0;c=J[m>>2];if((c|0)!=J[a+132>>2]){break b}i=c?c<<1:1;if((i|0)<=(c|0)){break b}if(i){J[8456]=J[8456]+1;h=ua[J[8258]](i<<2,16)|0;c=J[a+128>>2]}d=J[a+136>>2];if((c|0)<=0){break e}if(c>>>0>=4){k=c&-4;while(1){f=e<<2;J[f+h>>2]=J[d+f>>2];j=f|4;J[j+h>>2]=J[d+j>>2];j=f|8;J[j+h>>2]=J[d+j>>2];f=f|12;J[f+h>>2]=J[d+f>>2];e=e+4|0;l=l+4|0;if((k|0)!=(l|0)){continue}break}}c=c&3;if(!c){break d}while(1){f=e<<2;J[f+h>>2]=J[d+f>>2];e=e+1|0;g=g+1|0;if((c|0)!=(g|0)){continue}break}break d}m=a+148|0;g=J[m>>2];f:{if((g|0)!=J[a+152>>2]){break f}f=g?g<<1:1;if((f|0)<=(g|0)){break f}if(f){J[8456]=J[8456]+1;h=ua[J[8258]](f<<1,16)|0;g=J[a+148>>2]}c=J[a+156>>2];g:{h:{if((g|0)>0){if(g>>>0>=4){i=g&-4;while(1){d=e<<1;I[d+h>>1]=L[c+d>>1];k=d|2;I[k+h>>1]=L[c+k>>1];k=d|4;I[k+h>>1]=L[c+k>>1];d=d|6;I[d+h>>1]=L[c+d>>1];e=e+4|0;j=j+4|0;if((i|0)!=(j|0)){continue}break}}d=g&3;if(d){while(1){i=e<<1;I[i+h>>1]=L[c+i>>1];e=e+1|0;l=l+1|0;if((d|0)!=(l|0)){continue}break}}if(K[a+160|0]){break h}break g}if(!c|!K[a+160|0]){break g}}if(c){J[8457]=J[8457]+1;ua[J[8259]](c)}g=J[a+148>>2]}J[a+156>>2]=h;J[a+152>>2]=f;H[a+160|0]=1}e=J[a+156>>2];I[e+(g<<1)>>1]=b;break a}if(!d){break c}}if(d?K[a+140|0]:0){J[8457]=J[8457]+1;ua[J[8259]](d)}c=J[a+128>>2]}J[a+136>>2]=h;J[a+132>>2]=i;H[a+140|0]=1}e=J[a+136>>2];J[e+(c<<2)>>2]=b;g=J[a+128>>2]}J[m>>2]=g+1;J[J[a+32>>2]+4>>2]=e}function $h(a,b,c){a=a|0;b=b|0;c=c|0;var d=Q(0),e=Q(0),f=Q(0),g=Q(0),h=Q(0),i=Q(0),j=Q(0),k=0;e=N[c+128>>2];a:{if(e==Q(0)){break a}J[8760]=J[8760]+1;d=N[c+96>>2];f=Q(e-Q(d*N[c+116>>2]));g=N[c+24>>2];h=N[c+16>>2];i=N[c+20>>2];e=N[c+108>>2];e=Q(Q(f-Q(Q(Q(Q(g*N[a+152>>2])+Q(Q(h*N[a+144>>2])+Q(i*N[a+148>>2])))+Q(Q(N[c+8>>2]*N[a+168>>2])+Q(Q(N[c>>2]*N[a+160>>2])+Q(N[c+4>>2]*N[a+164>>2]))))*e))-Q(Q(Q(Q(N[c+56>>2]*N[b+152>>2])+Q(Q(N[c+48>>2]*N[b+144>>2])+Q(N[c+52>>2]*N[b+148>>2])))+Q(Q(N[c+40>>2]*N[b+168>>2])+Q(Q(N[c+32>>2]*N[b+160>>2])+Q(N[c+36>>2]*N[b+164>>2]))))*e));j=Q(d+e);f=N[c+120>>2];k=j>2]=k?f:j;d=k?Q(f-d):e;if(J[a+240>>2]){N[a+144>>2]=Q(N[a+112>>2]*Q(d*Q(h*N[a+128>>2])))+N[a+144>>2];N[a+148>>2]=Q(Q(d*Q(i*N[a+132>>2]))*N[a+116>>2])+N[a+148>>2];N[a+152>>2]=Q(Q(d*Q(g*N[a+136>>2]))*N[a+120>>2])+N[a+152>>2];e=N[c+72>>2];f=N[c+68>>2];N[a+160>>2]=Q(Q(d*N[a+96>>2])*N[c+64>>2])+N[a+160>>2];g=N[a+104>>2];N[a+164>>2]=Q(f*Q(d*N[a+100>>2]))+N[a+164>>2];N[a+168>>2]=Q(e*Q(d*g))+N[a+168>>2]}if(!J[b+240>>2]){break a}e=N[c+56>>2];f=N[c+52>>2];N[b+144>>2]=Q(N[b+112>>2]*Q(d*Q(N[c+48>>2]*N[b+128>>2])))+N[b+144>>2];N[b+148>>2]=Q(Q(d*Q(f*N[b+132>>2]))*N[b+116>>2])+N[b+148>>2];N[b+152>>2]=Q(Q(d*Q(e*N[b+136>>2]))*N[b+120>>2])+N[b+152>>2];e=N[c+88>>2];f=N[c+84>>2];N[b+160>>2]=Q(Q(d*N[b+96>>2])*N[c+80>>2])+N[b+160>>2];g=N[b+104>>2];N[b+164>>2]=Q(f*Q(d*N[b+100>>2]))+N[b+164>>2];N[b+168>>2]=Q(e*Q(d*g))+N[b+168>>2]}return Q(d)}function $g(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;ua[J[J[b>>2]+32>>2]](b);d=ua[J[J[b>>2]+16>>2]](b,104,1)|0;c=Fa(J[d+8>>2],0,104);N[c+88>>2]=N[a+264>>2];N[c+92>>2]=N[a+268>>2];N[c+96>>2]=N[a+272>>2];N[c+100>>2]=N[a+276>>2];N[c>>2]=N[a+92>>2];N[c+4>>2]=N[a+96>>2];N[c+8>>2]=N[a+100>>2];N[c+12>>2]=N[a+104>>2];N[c+16>>2]=N[a+108>>2];N[c+20>>2]=N[a+116>>2];N[c+24>>2]=N[a+120>>2];N[c+28>>2]=N[a+124>>2];N[c+32>>2]=N[a+128>>2];N[c+36>>2]=N[a+132>>2];N[c+40>>2]=N[a+148>>2];N[c+44>>2]=N[a+152>>2];N[c+48>>2]=N[a+156>>2];N[c+52>>2]=N[a+160>>2];N[c+56>>2]=N[a+176>>2];N[c+60>>2]=N[a+180>>2];J[c+64>>2]=J[a+112>>2];J[c+68>>2]=J[a+164>>2];J[c+72>>2]=J[a+168>>2];J[c+76>>2]=J[a+172>>2];e=J[a+144>>2];J[c+84>>2]=0;J[c+80>>2]=e;ua[J[J[b>>2]+20>>2]](b,d,8729,1145853764,c);ff(a,b);c=0;e=J[a+8>>2];if((e|0)>0){while(1){d=J[J[a+16>>2]+(c<<2)>>2];if(K[d+252|0]&2){e=(g=b,h=ua[J[J[d>>2]+16>>2]](d)|0,i=1,f=J[J[b>>2]+16>>2],ua[f](g|0,h|0,i|0)|0);i=b,h=e,g=ua[J[J[d>>2]+20>>2]](d,J[e+8>>2],b)|0,j=1497645650,k=d,f=J[J[b>>2]+20>>2],ua[f](i|0,h|0,g|0,j|0,k|0);e=J[a+8>>2]}c=c+1|0;if((e|0)>(c|0)){continue}break}}if(J[a+228>>2]>0){c=0;while(1){d=J[J[a+236>>2]+(c<<2)>>2];e=(k=b,j=ua[J[J[d>>2]+36>>2]](d)|0,g=1,f=J[J[b>>2]+16>>2],ua[f](k|0,j|0,g|0)|0);g=b,j=e,k=ua[J[J[d>>2]+40>>2]](d,J[e+8>>2],b)|0,h=1397641027,i=d,f=J[J[b>>2]+20>>2],ua[f](g|0,j|0,k|0,h|0,i|0);c=c+1|0;if((c|0)>2]){continue}break}}ua[J[J[b>>2]+36>>2]](b)}function Jj(a,b,c){a=a|0;b=b|0;c=c|0;var d=Q(0),e=0,f=0,g=0,h=0,i=Q(0),j=Q(0),k=0,l=Q(0),m=Q(0),n=0,o=0,p=Q(0),q=0,r=Q(0),s=0;g=sa-2048|0;sa=g;J[a>>2]=0;J[a+4>>2]=0;J[a+8>>2]=0;J[a+12>>2]=0;d=N[c+8>>2];i=N[c>>2];l=N[c+4>>2];j=Q(Q(d*d)+Q(Q(i*i)+Q(l*l)));if(j>2]+96>>2]](b)|0)>0){l=Q(-0xde0b6b000000000);while(1){e=128;a:{b:{if(((ua[J[J[b>>2]+96>>2]](b)|0)-o|0)>127){break b}e=(ua[J[J[b>>2]+96>>2]](b)|0)-o|0;if((e|0)>0){break b}d=Q(-34028234663852886e22);f=-1;break a}c=0;h=(e|0)==1;if(!h){k=e&-2;f=0;while(1){ua[J[J[b>>2]+108>>2]](b,c,(c<<4)+g|0);n=c|1;ua[J[J[b>>2]+108>>2]](b,n,(n<<4)+g|0);c=c+2|0;f=f+2|0;if((k|0)!=(f|0)){continue}break}}n=e&1;if(n){ua[J[J[b>>2]+108>>2]](b,c,(c<<4)+g|0)}c:{if(h){c=0;f=-1;d=Q(-34028234663852886e22);break c}s=e&-2;c=0;f=-1;d=Q(-34028234663852886e22);e=0;while(1){h=(c<<4)+g|0;j=Q(Q(N[h+8>>2]*m)+Q(Q(N[h>>2]*i)+Q(p*N[h+4>>2])));h=j>d;q=c|1;k=(q<<4)+g|0;r=Q(Q(N[k+8>>2]*m)+Q(Q(N[k>>2]*i)+Q(p*N[k+4>>2])));d=h?j:d;k=r>d;d=k?r:d;f=k?q:h?c:f;c=c+2|0;e=e+2|0;if((s|0)!=(e|0)){continue}break}}if(!n){break a}e=(c<<4)+g|0;j=Q(Q(N[e+8>>2]*m)+Q(Q(N[e>>2]*i)+Q(p*N[e+4>>2])));e=j>d;d=e?j:d;f=e?c:f}if(d>l){c=(f<<4)+g|0;e=J[c+12>>2];J[a+8>>2]=J[c+8>>2];J[a+12>>2]=e;e=J[c+4>>2];J[a>>2]=J[c>>2];J[a+4>>2]=e;l=d}o=o+128|0;if((ua[J[J[b>>2]+96>>2]](b)|0)>(o|0)){continue}break}}sa=g+2048|0}function de(a,b,c,d){var e=Q(0),f=0,g=0,h=0,i=0,j=0,k=Q(0),l=Q(0),m=Q(0),n=Q(0),o=Q(0),p=Q(0),q=Q(0),r=0,s=0,t=0,u=Q(0),v=Q(0),w=Q(0);i=sa-32|0;sa=i;while(1){r=c;h=J[a+12>>2]+P((c+d|0)/2|0,24)|0;s=J[h+20>>2];m=N[h+16>>2];u=N[h+8>>2];v=N[h+4>>2];w=N[h>>2];h=d;while(1){n=N[b+8>>2];k=Q(u-n);e=Q(k*k);o=N[b>>2];k=Q(w-o);l=Q(k*k);p=N[b+4>>2];k=Q(v-p);k=Q(e+Q(l+Q(k*k)));j=J[a+12>>2];while(1){a:{f=P(c,24)+j|0;e=N[f+16>>2];b:{if(e!=m){if(e>2]-n);l=Q(e*e);e=Q(N[f>>2]-o);q=Q(e*e);e=Q(N[f+4>>2]-p);e=Q(l+Q(q+Q(e*e)));if(((e!=k?e>2]<(s|0))|0)!=1){break a}}c=c+1|0;continue}break}while(1){c:{t=P(h,24);g=t+j|0;e=N[g+16>>2];d:{if(e!=m){if(e>m){break d}break c}e=Q(N[g+8>>2]-n);l=Q(e*e);e=Q(N[g>>2]-o);q=Q(e*e);e=Q(N[g+4>>2]-p);e=Q(l+Q(q+Q(e*e)));if(((e!=k?e>k:J[g+20>>2]>(s|0))|0)!=1){break c}}h=h-1|0;continue}break}if((c|0)<=(h|0)){j=J[f+20>>2];J[i+24>>2]=J[f+16>>2];J[i+28>>2]=j;j=J[f+12>>2];J[i+16>>2]=J[f+8>>2];J[i+20>>2]=j;j=J[f+4>>2];J[i+8>>2]=J[f>>2];J[i+12>>2]=j;j=J[g+4>>2];J[f>>2]=J[g>>2];J[f+4>>2]=j;j=J[g+12>>2];J[f+8>>2]=J[g+8>>2];J[f+12>>2]=j;j=J[g+20>>2];J[f+16>>2]=J[g+16>>2];J[f+20>>2]=j;g=J[i+12>>2];f=J[a+12>>2]+t|0;J[f>>2]=J[i+8>>2];J[f+4>>2]=g;g=J[i+28>>2];J[f+16>>2]=J[i+24>>2];J[f+20>>2]=g;g=J[i+20>>2];J[f+8>>2]=J[i+16>>2];J[f+12>>2]=g;h=h-1|0;c=c+1|0}if((c|0)<=(h|0)){continue}break}if((h|0)>(r|0)){de(a,b,r,h)}if((c|0)<(d|0)){continue}break}sa=i+32|0}function Wm(a,b){a=a|0;b=b|0;var c=0,d=Q(0),e=Q(0),f=Q(0),g=Q(0),h=Q(0),i=Q(0),j=Q(0),k=Q(0),l=Q(0),m=0,n=Q(0),o=Q(0),p=Q(0),q=Q(0),r=Q(0),s=Q(0),t=Q(0),u=Q(0),v=Q(0),w=Q(0),x=Q(0),y=Q(0),z=0,A=Q(0),B=Q(0),C=Q(0),D=0;c=sa-128|0;sa=c;m=J[b+36>>2];b=J[J[a+24>>2]+32>>2]+P(m,80)|0;z=J[b+64>>2];n=N[b+32>>2];o=N[b>>2];p=N[b+16>>2];q=N[b+56>>2];r=N[b+52>>2];s=N[b+48>>2];t=N[b+36>>2];u=N[b+20>>2];v=N[b+4>>2];w=N[b+40>>2];x=N[b+24>>2];y=N[b+8>>2];b=J[a+28>>2];A=N[b+52>>2];B=N[b+56>>2];d=N[b+24>>2];e=N[b+20>>2];f=N[b+40>>2];g=N[b+36>>2];C=N[b+48>>2];h=N[b+8>>2];i=N[b>>2];j=N[b+4>>2];k=N[b+16>>2];l=N[b+32>>2];J[c+124>>2]=0;J[c+108>>2]=0;J[c+92>>2]=0;N[c+104>>2]=Q(w*f)+Q(Q(y*l)+Q(x*g));N[c+100>>2]=Q(t*f)+Q(Q(v*l)+Q(u*g));N[c+88>>2]=Q(w*d)+Q(Q(y*k)+Q(x*e));N[c+84>>2]=Q(t*d)+Q(Q(v*k)+Q(u*e));N[c+120>>2]=B+Q(Q(q*f)+Q(Q(s*l)+Q(r*g)));N[c+116>>2]=A+Q(Q(q*d)+Q(Q(s*k)+Q(r*e)));J[c+76>>2]=0;N[c+72>>2]=Q(w*h)+Q(Q(y*i)+Q(x*j));N[c+68>>2]=Q(t*h)+Q(Q(v*i)+Q(u*j));N[c+64>>2]=Q(n*h)+Q(Q(o*i)+Q(p*j));N[c+112>>2]=C+Q(Q(q*h)+Q(Q(s*i)+Q(r*j)));N[c+96>>2]=Q(n*f)+Q(Q(o*l)+Q(p*g));N[c+80>>2]=Q(n*d)+Q(Q(o*k)+Q(p*e));b=J[a+32>>2];J[c+48>>2]=0;J[c+40>>2]=1;J[c+44>>2]=-1;J[c+60>>2]=m;J[c+56>>2]=b;J[c+52>>2]=z;J[c+32>>2]=14400;N[c+36>>2]=N[b+4>>2];b=J[a+4>>2];D=J[b+8>>2];J[c+28>>2]=m;J[c+24>>2]=-1;J[c+16>>2]=D;J[c+12>>2]=z;J[c+8>>2]=b;J[c+20>>2]=c- -64;Tc(J[a+8>>2],J[a+12>>2],J[a+16>>2],c+8|0,c+32|0,N[a+20>>2]);sa=c+128|0}function Te(a,b,c){var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;h=sa-32|0;sa=h;e=J[a+52>>2];n=K[a+68|0];l=n?c:b;m=J[l+4>>2];f=J[m+24>>2];a:{if((e|0)>=(f|0)){break a}if(J[a+56>>2]<(f|0)){if(f){J[8456]=J[8456]+1;i=ua[J[8258]](f<<2,16)|0;d=J[a+52>>2]}else{d=e}b:{if((d|0)<=0){break b}if(d>>>0>=4){q=d&-4;while(1){g=j<<2;J[g+i>>2]=J[g+J[a+60>>2]>>2];k=g|4;J[k+i>>2]=J[k+J[a+60>>2]>>2];k=g|8;J[k+i>>2]=J[k+J[a+60>>2]>>2];g=g|12;J[g+i>>2]=J[g+J[a+60>>2]>>2];j=j+4|0;o=o+4|0;if((o|0)!=(q|0)){continue}break}}d=d&3;if(!d){break b}while(1){g=j<<2;J[g+i>>2]=J[g+J[a+60>>2]>>2];j=j+1|0;p=p+1|0;if((d|0)!=(p|0)){continue}break}}d=J[a+60>>2];if(!(d?!d|!K[a- -64|0]:1)){J[8457]=J[8457]+1;ua[J[8259]](d)}J[a+60>>2]=i;H[a+64|0]=1;J[a+56>>2]=f}d=(e^-1)+f|0;i=f-e&3;if(i){j=0;while(1){J[J[a+60>>2]+(e<<2)>>2]=0;e=e+1|0;j=j+1|0;if((i|0)!=(j|0)){continue}break}}if(d>>>0<3){break a}while(1){d=e<<2;J[d+J[a+60>>2]>>2]=0;J[(d+J[a+60>>2]|0)+4>>2]=0;J[(d+J[a+60>>2]|0)+8>>2]=0;J[(d+J[a+60>>2]|0)+12>>2]=0;e=e+4|0;if((f|0)!=(e|0)){continue}break}}J[a+52>>2]=f;if((f|0)>0){b=n?b:c;e=0;while(1){c:{if(J[m+72>>2]){J[J[a+60>>2]+(e<<2)>>2]=0;break c}c=J[l+12>>2];d=J[l+8>>2];J[h+12>>2]=J[(J[m+32>>2]+P(e,80)|0)+64>>2];J[h+28>>2]=e;J[h+24>>2]=-1;J[h+16>>2]=d;J[h+20>>2]=c;J[h+8>>2]=l;c=J[a+4>>2];c=ua[J[J[c>>2]+8>>2]](c,h+8|0,b,J[a+72>>2],1)|0;J[J[a+60>>2]+(e<<2)>>2]=c}e=e+1|0;if((f|0)!=(e|0)){continue}break}}sa=h+32|0}function Gn(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;J[8460]=J[8460]+1;d=J[a+24>>2];a:{b:{if(d){if(ua[J[J[d>>2]+8>>2]](d,b,c)|0){break b}break a}if(!(J[c+8>>2]&J[b+4>>2])|!(J[b+8>>2]&J[c+4>>2])){break a}}e=J[b+12>>2]>J[c+12>>2];j=e?b:c;g=J[j+12>>2];k=e?c:b;h=J[k+12>>2];b=g<<16|h;b=(b<<15^-1)+b|0;b=P(b>>>10^b,9);b=b>>>6^b;b=(b<<11^-1)+b|0;m=b>>>16^b;c=a;b=J[c+12>>2];l=m&b-1;a=J[J[c+40>>2]+(l<<2)>>2];c:{if((a|0)!=-1){i=J[c+60>>2];d=J[c+16>>2];while(1){f=a<<4;e=f+d|0;if((h|0)==J[J[e>>2]+12>>2]&(g|0)==J[J[(d+f|0)+4>>2]+12>>2]){break c}a=J[i+(a<<2)>>2];if((a|0)!=-1){continue}break}}h=J[c+8>>2];e=h;a=b;d:{if((e|0)!=(b|0)){break d}e=b;d=b?b<<1:1;if((d|0)<=(b|0)){break d}e:{if(!d){e=0;a=b;break e}J[8456]=J[8456]+1;e=ua[J[8258]](d<<4,16)|0;a=J[c+8>>2]}g=a;if((g|0)>0){a=0;while(1){f=a<<4;i=f+e|0;f=f+J[c+16>>2]|0;J[i>>2]=J[f>>2];J[i+4>>2]=J[f+4>>2];J[i+8>>2]=J[f+8>>2];J[i+12>>2]=J[f+12>>2];a=a+1|0;if((g|0)!=(a|0)){continue}break}}a=J[c+16>>2];if(!(a?!a|!K[c+20|0]:1)){J[8457]=J[8457]+1;ua[J[8259]](a)}J[c+16>>2]=e;H[c+20|0]=1;J[c+12>>2]=d;e=J[c+8>>2];a=d}J[c+8>>2]=e+1;g=J[c+16>>2];e=g+(h<<4)|0;d=J[c+68>>2];if(d){ua[J[J[d>>2]+8>>2]](d,k,j)|0;a=J[c+12>>2]}if((a|0)>(b|0)){qf(c);l=J[c+12>>2]-1&m}b=J[k+12>>2]>2];J[e>>2]=b?k:j;a=g+(h<<4)|0;J[a+8>>2]=0;J[a+12>>2]=0;J[a+4>>2]=b?j:k;a=J[c+40>>2]+(l<<2)|0;J[J[c+60>>2]+(h<<2)>>2]=J[a>>2];J[a>>2]=h}}return e|0}function bi(a,b,c){a=a|0;b=b|0;c=c|0;var d=Q(0),e=Q(0),f=Q(0),g=Q(0),h=Q(0),i=Q(0),j=Q(0);g=N[c+100>>2];h=N[c+24>>2];i=N[c+16>>2];j=N[c+20>>2];e=N[c+108>>2];d=Q(Q(Q(N[c+112>>2]-Q(g*N[c+116>>2]))-Q(Q(Q(Q(h*N[a+72>>2])+Q(Q(i*N[a+64>>2])+Q(j*N[a+68>>2])))+Q(Q(N[c+8>>2]*N[a+88>>2])+Q(Q(N[c>>2]*N[a+80>>2])+Q(N[c+4>>2]*N[a+84>>2]))))*e))-Q(Q(Q(Q(N[c+56>>2]*N[b+72>>2])+Q(Q(N[c+48>>2]*N[b+64>>2])+Q(N[c+52>>2]*N[b+68>>2])))+Q(Q(N[c+40>>2]*N[b+88>>2])+Q(Q(N[c+32>>2]*N[b+80>>2])+Q(N[c+36>>2]*N[b+84>>2]))))*e));e=Q(g+d);f=N[c+120>>2];a:{if(e>2];if(!(f>2]=e;if(J[a+240>>2]){N[a+64>>2]=Q(N[a+112>>2]*Q(d*Q(i*N[a+128>>2])))+N[a+64>>2];N[a+68>>2]=Q(Q(d*Q(j*N[a+132>>2]))*N[a+116>>2])+N[a+68>>2];N[a+72>>2]=Q(Q(d*Q(h*N[a+136>>2]))*N[a+120>>2])+N[a+72>>2];e=N[c+72>>2];f=N[c+68>>2];N[a+80>>2]=Q(Q(d*N[a+96>>2])*N[c+64>>2])+N[a+80>>2];g=N[a+104>>2];N[a+84>>2]=Q(f*Q(d*N[a+100>>2]))+N[a+84>>2];N[a+88>>2]=Q(e*Q(d*g))+N[a+88>>2]}if(J[b+240>>2]){e=N[c+56>>2];f=N[c+52>>2];N[b+64>>2]=Q(N[b+112>>2]*Q(d*Q(N[c+48>>2]*N[b+128>>2])))+N[b+64>>2];N[b+68>>2]=Q(Q(d*Q(f*N[b+132>>2]))*N[b+116>>2])+N[b+68>>2];N[b+72>>2]=Q(Q(d*Q(e*N[b+136>>2]))*N[b+120>>2])+N[b+72>>2];e=N[c+88>>2];f=N[c+84>>2];N[b+80>>2]=Q(Q(d*N[b+96>>2])*N[c+80>>2])+N[b+80>>2];g=N[b+104>>2];N[b+84>>2]=Q(f*Q(d*N[b+100>>2]))+N[b+84>>2];N[b+88>>2]=Q(e*Q(d*g))+N[b+88>>2]}return Q(d)}function os(){var a=0,b=0,c=0,d=0,e=0,f=0;J[8456]=J[8456]+1;d=Fa(ua[J[8258]](100,16)|0,0,100);a=d;J[a+12>>2]=0;J[a+16>>2]=0;J[a+4>>2]=31;J[a+8>>2]=0;J[a+80>>2]=0;J[a+84>>2]=1065353216;J[a+72>>2]=0;J[a+76>>2]=1;J[a+56>>2]=-581039253;J[a+60>>2]=-581039253;J[a+40>>2]=1566444395;J[a+44>>2]=1566444395;H[a+36|0]=1;J[a>>2]=19276;J[a+32>>2]=0;J[a+96>>2]=0;J[a+88>>2]=1065353216;J[a+92>>2]=1065353216;a=a- -64|0;J[a>>2]=-581039253;J[a+4>>2]=0;J[d+48>>2]=1566444395;J[d+52>>2]=0;J[d+24>>2]=0;J[d+28>>2]=0;J[8456]=J[8456]+1;a=ua[J[8258]](40,16)|0;J[a+16>>2]=0;J[a+8>>2]=-1;J[a+12>>2]=0;J[a>>2]=0;J[a+4>>2]=0;J[a+32>>2]=0;H[a+36|0]=1;J[a+24>>2]=0;J[a+28>>2]=0;J[d+72>>2]=a;if(J[d+28>>2]<0){f=J[d+24>>2];if((f|0)>0){while(1){a=P(e,80);b=a+J[d+32>>2]|0;c=J[b+4>>2];J[a>>2]=J[b>>2];J[a+4>>2]=c;c=J[b+12>>2];J[a+8>>2]=J[b+8>>2];J[a+12>>2]=c;c=J[b+28>>2];J[a+24>>2]=J[b+24>>2];J[a+28>>2]=c;c=J[b+20>>2];J[a+16>>2]=J[b+16>>2];J[a+20>>2]=c;c=J[b+44>>2];J[a+40>>2]=J[b+40>>2];J[a+44>>2]=c;c=J[b+36>>2];J[a+32>>2]=J[b+32>>2];J[a+36>>2]=c;c=J[b+60>>2];J[a+56>>2]=J[b+56>>2];J[a+60>>2]=c;c=J[b+52>>2];J[a+48>>2]=J[b+48>>2];J[a+52>>2]=c;c=J[b+68>>2];J[a+64>>2]=J[b+64>>2];J[a+68>>2]=c;c=J[b+76>>2];J[a+72>>2]=J[b+72>>2];J[a+76>>2]=c;e=e+1|0;if((f|0)!=(e|0)){continue}break}}a=J[d+32>>2];if(!(a?!a|!K[d+36|0]:1)){J[8457]=J[8457]+1;ua[J[8259]](a)}J[d+32>>2]=0;H[d+36|0]=1;J[d+28>>2]=0}J[d>>2]=31040;return d|0}function Sc(a,b,c,d,e,f,g,h,i,j,k){var l=Q(0),m=Q(0),n=Q(0),o=Q(0),p=Q(0),q=Q(0),r=Q(0),s=Q(0),t=Q(0),u=Q(0),v=Q(0),w=Q(0),x=Q(0),y=Q(0),z=Q(0);g=(g<<2)+i|0;q=N[g+32>>2];r=Q(N[j+56>>2]-N[i+56>>2]);s=N[g>>2];u=Q(N[j+48>>2]-N[i+48>>2]);o=N[g+16>>2];v=Q(N[j+52>>2]-N[i+52>>2]);t=Q(Q(q*r)+Q(Q(s*u)+Q(o*v)));g=(h<<2)+j|0;w=N[g+32>>2];x=N[g>>2];y=N[g+16>>2];n=Q(-Q(Q(w*r)+Q(Q(x*u)+Q(y*v))));p=Q(Q(q*w)+Q(Q(s*x)+Q(o*y)));m=Q(Q(1)-Q(p*p));a:{if(m==Q(0)){break a}l=Q(-c);m=Q(Q(Q(n*p)+t)/m);if(l>m){break a}l=m;if(!(l>c)){break a}l=c}m=Q(Q(l*p)+n);n=Q(-e);b:{c:{if(me){m=n;break b}if(!(cn){m=e;break b}if(!(cQ(.7071067690849304)){J[a>>2]=0;d=Q(Q(1)/Q(Y(Q(Q(o*o)+Q(q*q)))));c=Q(o*d);N[a+8>>2]=c;l=Q(d*Q(-q));N[a+4>>2]=l;d=Q(0);break d}J[a+8>>2]=0;c=Q(Q(1)/Q(Y(Q(Q(s*s)+Q(o*o)))));l=Q(s*c);N[a+4>>2]=l;d=Q(c*Q(-o));N[a>>2]=d;c=Q(0);break d}J[a+12>>2]=0;d=Q(Q(-1)/t);c=Q(c*d);N[a+8>>2]=c;l=Q(k*d);N[a+4>>2]=l;d=Q(e*d);N[a>>2]=d}e=N[j+48>>2];k=N[j+52>>2];o=N[j+56>>2];J[b+12>>2]=0;N[b+8>>2]=Q(n+o)+Q(c*f);N[b+4>>2]=Q(m+k)+Q(l*f);N[b>>2]=Q(p+e)+Q(d*f)}return r} +function Gb(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=Q(0),j=0,k=0,l=0;k=b,l=ua[J[J[c>>2]+28>>2]](c,J[a+28>>2])|0,J[k>>2]=l;k=b,l=ua[J[J[c>>2]+28>>2]](c,J[a+32>>2])|0,J[k+4>>2]=l;d=ua[J[J[c>>2]+40>>2]](c,a)|0;f=ua[J[J[c>>2]+28>>2]](c,d)|0;J[b+8>>2]=f;if(f){ua[J[J[c>>2]+48>>2]](c,d)}J[b+12>>2]=J[a+4>>2];J[b+24>>2]=K[a+21|0];J[b+40>>2]=J[a+24>>2];N[b+44>>2]=N[a+16>>2];J[b+48>>2]=K[a+20|0];J[b+20>>2]=J[a+12>>2];J[b+16>>2]=J[a+8>>2];N[b+28>>2]=N[a+36>>2];i=N[a+40>>2];c=0;J[b+36>>2]=0;N[b+32>>2]=i;d=J[a+28>>2];e=J[d+548>>2];a:{if((e|0)<=0){break a}f=J[d+556>>2];if(e>>>0>=4){h=e&-4;d=0;while(1){g=c<<2;if(J[g+f>>2]==(a|0)){J[b+36>>2]=1}if(J[f+(g|4)>>2]==(a|0)){J[b+36>>2]=1}if(J[f+(g|8)>>2]==(a|0)){J[b+36>>2]=1}if(J[f+(g|12)>>2]==(a|0)){J[b+36>>2]=1}c=c+4|0;d=d+4|0;if((h|0)!=(d|0)){continue}break}}e=e&3;if(!e){break a}d=0;while(1){if(J[f+(c<<2)>>2]==(a|0)){J[b+36>>2]=1}c=c+1|0;d=d+1|0;if((e|0)!=(d|0)){continue}break}}c=J[a+32>>2];e=J[c+548>>2];b:{if((e|0)<=0){break b}f=J[c+556>>2];d=0;c=0;if(e>>>0>=4){j=e&-4;h=0;while(1){g=c<<2;if(J[g+f>>2]==(a|0)){J[b+36>>2]=1}if(J[f+(g|4)>>2]==(a|0)){J[b+36>>2]=1}if(J[f+(g|8)>>2]==(a|0)){J[b+36>>2]=1}if(J[f+(g|12)>>2]==(a|0)){J[b+36>>2]=1}c=c+4|0;h=h+4|0;if((j|0)!=(h|0)){continue}break}}e=e&3;if(!e){break b}while(1){if(J[f+(c<<2)>>2]==(a|0)){J[b+36>>2]=1}c=c+1|0;d=d+1|0;if((e|0)!=(d|0)){continue}break}}return 8651}function Ym(a,b){a=a|0;b=b|0;var c=0,d=Q(0),e=Q(0),f=Q(0),g=Q(0),h=Q(0),i=Q(0),j=Q(0),k=Q(0),l=Q(0),m=0,n=Q(0),o=Q(0),p=Q(0),q=Q(0),r=Q(0),s=Q(0),t=Q(0),u=Q(0),v=Q(0),w=Q(0),x=Q(0),y=Q(0),z=0,A=Q(0),B=Q(0),C=Q(0);c=sa-128|0;sa=c;m=J[b+36>>2];b=J[J[a+8>>2]+32>>2]+P(m,80)|0;z=J[b+64>>2];n=N[b+32>>2];o=N[b>>2];p=N[b+16>>2];q=N[b+56>>2];r=N[b+52>>2];s=N[b+48>>2];t=N[b+36>>2];u=N[b+20>>2];v=N[b+4>>2];w=N[b+40>>2];x=N[b+24>>2];y=N[b+8>>2];b=J[a+12>>2];A=N[b+52>>2];B=N[b+56>>2];d=N[b+24>>2];e=N[b+20>>2];f=N[b+40>>2];g=N[b+36>>2];C=N[b+48>>2];h=N[b+8>>2];i=N[b>>2];j=N[b+4>>2];k=N[b+16>>2];l=N[b+32>>2];J[c+124>>2]=0;J[c+108>>2]=0;J[c+92>>2]=0;N[c+104>>2]=Q(w*f)+Q(Q(y*l)+Q(x*g));N[c+100>>2]=Q(t*f)+Q(Q(v*l)+Q(u*g));N[c+88>>2]=Q(w*d)+Q(Q(y*k)+Q(x*e));N[c+84>>2]=Q(t*d)+Q(Q(v*k)+Q(u*e));N[c+120>>2]=B+Q(Q(q*f)+Q(Q(s*l)+Q(g*r)));N[c+116>>2]=A+Q(Q(q*d)+Q(Q(s*k)+Q(e*r)));J[c+76>>2]=0;N[c+72>>2]=Q(w*h)+Q(Q(y*i)+Q(j*x));N[c+68>>2]=Q(t*h)+Q(Q(v*i)+Q(j*u));N[c+64>>2]=Q(n*h)+Q(Q(o*i)+Q(p*j));N[c+112>>2]=C+Q(Q(q*h)+Q(Q(s*i)+Q(j*r)));N[c+96>>2]=Q(n*f)+Q(Q(o*l)+Q(p*g));N[c+80>>2]=Q(n*d)+Q(Q(o*k)+Q(p*e));b=J[a+4>>2];J[c+60>>2]=m;J[c+56>>2]=-1;J[c+48>>2]=b;J[c+44>>2]=z;J[c+40>>2]=0;J[c+52>>2]=c- -64;b=J[a+24>>2];J[c+36>>2]=m;J[c+32>>2]=b;J[c+28>>2]=z;J[c+8>>2]=13584;J[c+16>>2]=0;N[c+12>>2]=N[b+4>>2];J[c+24>>2]=J[b+16>>2];Uc(J[a+16>>2],J[a+20>>2],c+40|0,c+8|0);sa=c+128|0}function xf(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;J[a+12>>2]=0;H[a+16|0]=1;J[a+4>>2]=0;J[a+8>>2]=0;f=J[b+4>>2];if((f|0)<=0){J[a+4>>2]=f;return}J[8456]=J[8456]+1;d=ua[J[8258]](f<<2,16)|0;i=J[a+4>>2];a:{if((i|0)<=0){break a}if(i>>>0>=4){k=i&-4;while(1){g=c<<2;J[g+d>>2]=J[g+J[a+12>>2]>>2];j=g|4;J[j+d>>2]=J[j+J[a+12>>2]>>2];j=g|8;J[j+d>>2]=J[j+J[a+12>>2]>>2];g=g|12;J[g+d>>2]=J[g+J[a+12>>2]>>2];c=c+4|0;e=e+4|0;if((k|0)!=(e|0)){continue}break}}e=i&3;if(!e){break a}while(1){g=c<<2;J[g+d>>2]=J[g+J[a+12>>2]>>2];c=c+1|0;h=h+1|0;if((e|0)!=(h|0)){continue}break}}c=J[a+12>>2];if(!(c?!c|!K[a+16|0]:1)){J[8457]=J[8457]+1;ua[J[8259]](c)}J[a+12>>2]=d;H[a+16|0]=1;J[a+8>>2]=f;e=0;c=0;if(f>>>0>=4){g=f&-4;h=0;while(1){d=c<<2;J[d+J[a+12>>2]>>2]=0;J[J[a+12>>2]+(d|4)>>2]=0;J[J[a+12>>2]+(d|8)>>2]=0;J[J[a+12>>2]+(d|12)>>2]=0;c=c+4|0;h=h+4|0;if((g|0)!=(h|0)){continue}break}}h=f&3;if(h){while(1){J[J[a+12>>2]+(c<<2)>>2]=0;c=c+1|0;e=e+1|0;if((h|0)!=(e|0)){continue}break}}J[a+4>>2]=f;b:{if((f|0)<=0){break b}a=J[a+12>>2];h=0;c=0;if(f>>>0>=4){g=f&-4;e=0;while(1){d=c<<2;J[d+a>>2]=J[d+J[b+12>>2]>>2];i=d|4;J[i+a>>2]=J[i+J[b+12>>2]>>2];i=d|8;J[i+a>>2]=J[i+J[b+12>>2]>>2];d=d|12;J[d+a>>2]=J[d+J[b+12>>2]>>2];c=c+4|0;e=e+4|0;if((g|0)!=(e|0)){continue}break}}f=f&3;if(!f){break b}while(1){e=c<<2;J[e+a>>2]=J[e+J[b+12>>2]>>2];c=c+1|0;h=h+1|0;if((f|0)!=(h|0)){continue}break}}}function qj(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=Q(0),f=0,g=Q(0),h=Q(0),i=Q(0),j=Q(0),k=Q(0),l=Q(0),m=Q(0),n=Q(0),o=Q(0),p=Q(0),q=Q(0),r=Q(0),s=Q(0),t=Q(0),u=Q(0),v=Q(0),w=Q(0),x=Q(0);f=sa-48|0;sa=f;n=N[c+8>>2];j=N[d+8>>2];p=N[c+4>>2];q=N[d+4>>2];k=N[c>>2];l=N[d>>2];e=N[a- -64>>2];a:{if(Q(R(e))>Q(.7071067690849304)){i=N[a+60>>2];g=Q(Q(i*i)+Q(e*e));h=Q(Q(1)/Q(Y(g)));m=Q(g*h);t=Q(i*h);g=N[a+56>>2];r=Q(t*Q(-g));o=Q(h*Q(-e));u=Q(g*o);break a}g=N[a+56>>2];i=N[a+60>>2];m=Q(Q(g*g)+Q(i*i));h=Q(Q(1)/Q(Y(m)));u=Q(m*h);v=Q(h*Q(-i));r=Q(e*v);o=Q(g*h);m=Q(o*Q(-e))}h=N[a+72>>2];J[f+44>>2]=0;J[f+28>>2]=0;s=Q(Q(j+n)*Q(.5));w=Q(Q(l+k)*Q(.5));x=Q(Q(q+p)*Q(.5));h=Q(Q(Q(e*s)+Q(Q(g*w)+Q(x*i)))-h);s=Q(s-Q(e*h));e=Q(Q(j-n)*Q(.5));j=Q(e*e);e=Q(Q(l-k)*Q(.5));k=Q(e*e);e=Q(Q(q-p)*Q(.5));e=Q(Y(Q(j+Q(k+Q(e*e)))));j=Q(e*t);p=Q(s-j);n=Q(e*u);q=Q(p-n);N[f+40>>2]=q;k=Q(x-Q(i*h));l=Q(e*o);o=Q(k-l);i=Q(e*r);r=Q(o-i);N[f+36>>2]=r;j=Q(j+s);N[f+24>>2]=j-n;k=Q(l+k);N[f+20>>2]=k-i;J[f+12>>2]=0;g=Q(w-Q(g*h));h=Q(e*v);l=Q(g-h);e=Q(e*m);m=Q(l-e);N[f+32>>2]=m;g=Q(h+g);N[f+16>>2]=g-e;h=Q(n+j);N[f+8>>2]=h;j=Q(i+k);N[f+4>>2]=j;g=Q(e+g);N[f>>2]=g;ua[J[J[b>>2]+8>>2]](b,f,0,0);J[f+44>>2]=0;N[f+40>>2]=h;N[f+36>>2]=j;J[f+28>>2]=0;N[f+24>>2]=n+p;N[f+20>>2]=i+o;N[f+32>>2]=g;N[f+16>>2]=e+l;J[f+12>>2]=0;N[f+8>>2]=q;N[f+4>>2]=r;N[f>>2]=m;ua[J[J[b>>2]+8>>2]](b,f,0,1);sa=f+48|0}function ai(a,b,c){a=a|0;b=b|0;c=c|0;var d=Q(0),e=Q(0),f=Q(0),g=Q(0),h=Q(0),i=Q(0),j=Q(0),k=0;d=N[c+100>>2];g=N[c+24>>2];h=N[c+16>>2];i=N[c+20>>2];e=N[c+108>>2];e=Q(Q(Q(N[c+112>>2]-Q(d*N[c+116>>2]))-Q(Q(Q(Q(g*N[a+72>>2])+Q(Q(h*N[a+64>>2])+Q(i*N[a+68>>2])))+Q(Q(N[c+8>>2]*N[a+88>>2])+Q(Q(N[c>>2]*N[a+80>>2])+Q(N[c+4>>2]*N[a+84>>2]))))*e))-Q(Q(Q(Q(N[c+56>>2]*N[b+72>>2])+Q(Q(N[c+48>>2]*N[b+64>>2])+Q(N[c+52>>2]*N[b+68>>2])))+Q(Q(N[c+40>>2]*N[b+88>>2])+Q(Q(N[c+32>>2]*N[b+80>>2])+Q(N[c+36>>2]*N[b+84>>2]))))*e));j=Q(d+e);f=N[c+120>>2];k=j>2]=k?f:j;d=k?Q(f-d):e;if(J[a+240>>2]){N[a+64>>2]=Q(N[a+112>>2]*Q(d*Q(h*N[a+128>>2])))+N[a+64>>2];N[a+68>>2]=Q(Q(d*Q(i*N[a+132>>2]))*N[a+116>>2])+N[a+68>>2];N[a+72>>2]=Q(Q(d*Q(g*N[a+136>>2]))*N[a+120>>2])+N[a+72>>2];e=N[c+72>>2];f=N[c+68>>2];N[a+80>>2]=Q(Q(d*N[a+96>>2])*N[c+64>>2])+N[a+80>>2];g=N[a+104>>2];N[a+84>>2]=Q(f*Q(d*N[a+100>>2]))+N[a+84>>2];N[a+88>>2]=Q(e*Q(d*g))+N[a+88>>2]}if(J[b+240>>2]){e=N[c+56>>2];f=N[c+52>>2];N[b+64>>2]=Q(N[b+112>>2]*Q(d*Q(N[c+48>>2]*N[b+128>>2])))+N[b+64>>2];N[b+68>>2]=Q(Q(d*Q(f*N[b+132>>2]))*N[b+116>>2])+N[b+68>>2];N[b+72>>2]=Q(Q(d*Q(e*N[b+136>>2]))*N[b+120>>2])+N[b+72>>2];e=N[c+88>>2];f=N[c+84>>2];N[b+80>>2]=Q(Q(d*N[b+96>>2])*N[c+80>>2])+N[b+80>>2];g=N[b+104>>2];N[b+84>>2]=Q(f*Q(d*N[b+100>>2]))+N[b+84>>2];N[b+88>>2]=Q(e*Q(d*g))+N[b+88>>2]}return Q(d)}function Vi(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;a:{b:{if(K[a+165|0]){l=a+92|0;if(J[l>>2]>=(b|0)){break a}if(b){J[8456]=J[8456]+1;f=ua[J[8258]](b<<4,16)|0}else{f=0}e=J[a+88>>2];c:{if((e|0)<=0){break c}if((e|0)!=1){j=e&-2;while(1){g=d<<4;h=g+f|0;c=g+J[a+96>>2]|0;k=J[c+4>>2];J[h>>2]=J[c>>2];J[h+4>>2]=k;k=J[c+12>>2];J[h+8>>2]=J[c+8>>2];J[h+12>>2]=k;c=g|16;g=c+f|0;c=c+J[a+96>>2]|0;h=J[c+4>>2];J[g>>2]=J[c>>2];J[g+4>>2]=h;h=J[c+12>>2];J[g+8>>2]=J[c+8>>2];J[g+12>>2]=h;d=d+2|0;i=i+2|0;if((j|0)!=(i|0)){continue}break}}if(!(e&1)){break c}d=d<<4;e=d+f|0;d=d+J[a+96>>2]|0;c=J[d+4>>2];J[e>>2]=J[d>>2];J[e+4>>2]=c;c=J[d+12>>2];J[e+8>>2]=J[d+8>>2];J[e+12>>2]=c}d=J[a+96>>2];if(!(d?!d|!K[a+100|0]:1)){J[8457]=J[8457]+1;ua[J[8259]](d)}J[a+96>>2]=f;H[a+100|0]=1;break b}l=a+112|0;if(J[l>>2]>=(b|0)){break a}if(b){J[8456]=J[8456]+1;f=ua[J[8258]](b<<2,16)|0}else{f=0}e=J[a+116>>2];g=J[a+108>>2];d:{e:{if((g|0)>0){if(g>>>0>=4){h=g&-4;while(1){c=d<<2;N[c+f>>2]=N[c+e>>2];j=c|4;N[j+f>>2]=N[e+j>>2];j=c|8;N[j+f>>2]=N[e+j>>2];c=c|12;N[c+f>>2]=N[c+e>>2];d=d+4|0;i=i+4|0;if((h|0)!=(i|0)){continue}break}}c=g&3;if(c){while(1){i=d<<2;N[i+f>>2]=N[e+i>>2];d=d+1|0;k=k+1|0;if((c|0)!=(k|0)){continue}break}}if(K[a+120|0]){break e}break d}if(!e|!K[a+120|0]){break d}}if(e){J[8457]=J[8457]+1;ua[J[8259]](e)}}J[a+116>>2]=f;H[a+120|0]=1}J[l>>2]=b}}function jf(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;f=sa-96|0;sa=f;e=J[a+8>>2];J[b+216>>2]=e;a:{if(J[a+12>>2]!=(e|0)){break a}k=e?e<<1:1;if((k|0)<=(e|0)){break a}if(k){J[8456]=J[8456]+1;h=ua[J[8258]](k<<2,16)|0;e=J[a+8>>2]}b:{if((e|0)<=0){break b}if(e>>>0>=4){l=e&-4;while(1){g=i<<2;J[g+h>>2]=J[g+J[a+16>>2]>>2];j=g|4;J[j+h>>2]=J[j+J[a+16>>2]>>2];j=g|8;J[j+h>>2]=J[j+J[a+16>>2]>>2];g=g|12;J[g+h>>2]=J[g+J[a+16>>2]>>2];i=i+4|0;m=m+4|0;if((l|0)!=(m|0)){continue}break}}g=e&3;if(!g){break b}while(1){l=i<<2;J[l+h>>2]=J[l+J[a+16>>2]>>2];i=i+1|0;n=n+1|0;if((g|0)!=(n|0)){continue}break}}i=J[a+16>>2];if(!(!i|!K[a+20|0])){if(i){J[8457]=J[8457]+1;ua[J[8259]](i)}e=J[a+8>>2]}J[a+16>>2]=h;H[a+20|0]=1;J[a+12>>2]=k}J[J[a+16>>2]+(e<<2)>>2]=b;J[a+8>>2]=e+1;e=J[b+16>>2];J[f+40>>2]=J[b+12>>2];J[f+44>>2]=e;e=J[b+8>>2];J[f+32>>2]=J[b+4>>2];J[f+36>>2]=e;e=J[b+32>>2];J[f+56>>2]=J[b+28>>2];J[f+60>>2]=e;e=J[b+24>>2];J[f+48>>2]=J[b+20>>2];J[f+52>>2]=e;e=J[b+48>>2];J[f+72>>2]=J[b+44>>2];J[f+76>>2]=e;e=J[b+40>>2];J[f+64>>2]=J[b+36>>2];J[f+68>>2]=e;e=J[b+64>>2];J[f+88>>2]=J[b+60>>2];J[f+92>>2]=e;e=J[b+56>>2];J[f+80>>2]=J[b+52>>2];J[f+84>>2]=e;e=J[b+192>>2];h=f+16|0;ua[J[J[e>>2]+8>>2]](e,f+32|0,h,f);e=J[a+68>>2];o=b,p=ua[J[J[e>>2]+8>>2]](e,h,f,J[J[b+192>>2]+4>>2],b,c,d,J[a+24>>2])|0,J[o+188>>2]=p;sa=f+96|0}function Fl(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;J[8467]=J[8467]+1;d=c<<16|b;d=(d<<15^-1)+d|0;d=P(d>>>10^d,9);d=d>>>6^d;d=(d<<11^-1)+d|0;m=d>>>16^d;d=J[a+12>>2];k=m&d-1;e=J[J[a+36>>2]+(k<<2)>>2];a:{if((e|0)!=-1){i=J[a+56>>2];j=J[a+16>>2];while(1){f=j+P(e,12)|0;if(J[f>>2]==(b|0)&J[f+4>>2]==(c|0)){break a}e=J[i+(e<<2)>>2];if((e|0)!=-1){continue}break}}b:{c:{i=J[a+8>>2];f=i;if((f|0)==(d|0)){j=d?d<<1:1;n=(j|0)<=(d|0);if(!n){break c}}else{d=f}J[a+8>>2]=d+1;f=J[a+16>>2];break b}d:{if(!j){f=0;break d}J[8456]=J[8456]+1;f=ua[J[8258]](P(j,12),16)|0;d=J[a+8>>2]}e:{if((d|0)<=0){break e}e=0;if((d|0)!=1){p=d&-2;while(1){g=P(e,12);h=g+J[a+16>>2]|0;l=J[h+4>>2];g=f+g|0;J[g>>2]=J[h>>2];J[g+4>>2]=l;J[g+8>>2]=J[h+8>>2];g=P(e|1,12);h=g+J[a+16>>2]|0;l=J[h+4>>2];g=f+g|0;J[g>>2]=J[h>>2];J[g+4>>2]=l;J[g+8>>2]=J[h+8>>2];e=e+2|0;o=o+2|0;if((p|0)!=(o|0)){continue}break}}if(!(d&1)){break e}e=P(e,12);d=e+f|0;e=e+J[a+16>>2]|0;h=J[e+4>>2];J[d>>2]=J[e>>2];J[d+4>>2]=h;J[d+8>>2]=J[e+8>>2]}d=J[a+16>>2];if(!(d?!d|!K[a+20|0]:1)){J[8457]=J[8457]+1;ua[J[8259]](d)}J[a+16>>2]=f;H[a+20|0]=1;J[a+12>>2]=j;J[a+8>>2]=J[a+8>>2]+1;if(n){break b}Jc(a);k=J[a+12>>2]-1&m}f=P(i,12)+f|0;J[f+8>>2]=0;J[f+4>>2]=c;J[f>>2]=b;b=J[a+56>>2]+(i<<2)|0;a=J[a+36>>2]+(k<<2)|0;J[b>>2]=J[a>>2];J[a>>2]=i}return f|0}function yf(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;e=sa-32|0;sa=e;a:{if(!J[a>>2]){break a}g=(b|0)<0?J[a+12>>2]:b;if((g|0)<=0){break a}while(1){h=0;b=J[a>>2];f=b+40|0;if(J[f>>2]){while(1){d=J[b+32>>2];b:{if(d>>>0<=b>>>0){d=b;break b}c=J[d+40>>2];l=(c|0)==(b|0);i=((b|0)!=(c|0))<<2;j=J[(i+d|0)+36>>2];c=J[d+32>>2];if(c){k=(((J[c+40>>2]==(d|0))<<2)+c|0)+36|0}else{k=a}J[k>>2]=b;J[j+32>>2]=b;J[d+32>>2]=b;J[b+32>>2]=c;J[d+36>>2]=J[b+36>>2];J[d+40>>2]=J[f>>2];J[J[b+36>>2]+32>>2]=d;J[J[f>>2]+32>>2]=d;c=b+36|0;J[c+(l<<2)>>2]=d;J[c+i>>2]=j;c=d+24|0;f=J[c+4>>2];J[e+24>>2]=J[c>>2];J[e+28>>2]=f;c=d+16|0;f=J[c+4>>2];J[e+16>>2]=J[c>>2];J[e+20>>2]=f;c=d+8|0;f=J[c+4>>2];J[e+8>>2]=J[c>>2];J[e+12>>2]=f;c=J[d+4>>2];J[e>>2]=J[d>>2];J[e+4>>2]=c;c=b+24|0;f=J[c+4>>2];J[d+24>>2]=J[c>>2];J[d+28>>2]=f;c=b+16|0;f=J[c+4>>2];J[d+16>>2]=J[c>>2];J[d+20>>2]=f;c=b+8|0;f=J[c+4>>2];J[d+8>>2]=J[c>>2];J[d+12>>2]=f;c=J[b+4>>2];J[d>>2]=J[b>>2];J[d+4>>2]=c;c=J[e+28>>2];J[b+24>>2]=J[e+24>>2];J[b+28>>2]=c;c=J[e+20>>2];J[b+16>>2]=J[e+16>>2];J[b+20>>2]=c;c=J[e+12>>2];J[b+8>>2]=J[e+8>>2];J[b+12>>2]=c;c=J[e+4>>2];J[b>>2]=J[e>>2];J[b+4>>2]=c}b=J[a+16>>2]>>>h|0;h=h+1&31;b=J[(((b&1)<<2)+d|0)+36>>2];f=b+40|0;if(J[f>>2]){continue}break}}d=bc(a,b);ac(a,d?J[a>>2]:0,b);J[a+16>>2]=J[a+16>>2]+1;g=g-1|0;if(g){continue}break}}sa=e+32|0}function Jd(a){a=a|0;var b=0;J[a>>2]=23736;b=J[a+204>>2];if(!(b?!b|!K[a+208|0]:1)){J[8457]=J[8457]+1;ua[J[8259]](b)}J[a+204>>2]=0;H[a+208|0]=1;J[a+196>>2]=0;J[a+200>>2]=0;b=J[a+176>>2];if(!(b?!b|!K[a+180|0]:1)){J[8457]=J[8457]+1;ua[J[8259]](b)}J[a+176>>2]=0;H[a+180|0]=1;J[a+168>>2]=0;J[a+172>>2]=0;b=J[a+156>>2];if(!(b?!b|!K[a+160|0]:1)){J[8457]=J[8457]+1;ua[J[8259]](b)}J[a+156>>2]=0;H[a+160|0]=1;J[a+148>>2]=0;J[a+152>>2]=0;b=J[a+136>>2];if(!(b?!b|!K[a+140|0]:1)){J[8457]=J[8457]+1;ua[J[8259]](b)}J[a+136>>2]=0;H[a+140|0]=1;J[a+128>>2]=0;J[a+132>>2]=0;b=J[a+116>>2];if(!(b?!b|!K[a+120|0]:1)){J[8457]=J[8457]+1;ua[J[8259]](b)}J[a+116>>2]=0;H[a+120|0]=1;J[a+108>>2]=0;J[a+112>>2]=0;b=J[a+96>>2];if(!(b?!b|!K[a+100|0]:1)){J[8457]=J[8457]+1;ua[J[8259]](b)}J[a+96>>2]=0;H[a+100|0]=1;J[a+88>>2]=0;J[a+92>>2]=0;b=J[a+76>>2];if(!(b?!b|!K[a+80|0]:1)){J[8457]=J[8457]+1;ua[J[8259]](b)}J[a+76>>2]=0;H[a+80|0]=1;J[a+68>>2]=0;J[a+72>>2]=0;b=J[a+56>>2];if(!(b?!b|!K[a+60|0]:1)){J[8457]=J[8457]+1;ua[J[8259]](b)}J[a+56>>2]=0;H[a+60|0]=1;J[a+48>>2]=0;J[a+52>>2]=0;b=J[a+36>>2];if(!(b?!b|!K[a+40|0]:1)){J[8457]=J[8457]+1;ua[J[8259]](b)}J[a+36>>2]=0;H[a+40|0]=1;J[a+28>>2]=0;J[a+32>>2]=0;b=J[a+16>>2];if(!(b?!b|!K[a+20|0]:1)){J[8457]=J[8457]+1;ua[J[8259]](b)}J[a+16>>2]=0;H[a+20|0]=1;J[a+8>>2]=0;J[a+12>>2]=0;return a|0}function zl(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;g=sa-160|0;sa=g;f=J[a+12>>2];a:{if(!f){break a}h=K[a+16|0];i=h?b:c;j=J[i+4>>2];b=h?c:b;h=J[b+4>>2];J[e+4>>2]=f;c=g+144|0;N[c+12>>2]=N[f+848>>2]+N[e+32>>2];J[c+8>>2]=j;J[c+4>>2]=h;J[c>>2]=18068;J[g+136>>2]=1566444395;b=J[b+12>>2];f=J[b+12>>2];J[g+16>>2]=J[b+8>>2];J[g+20>>2]=f;f=J[b+4>>2];J[g+8>>2]=J[b>>2];J[g+12>>2]=f;f=J[b+28>>2];J[g+32>>2]=J[b+24>>2];J[g+36>>2]=f;f=J[b+20>>2];J[g+24>>2]=J[b+16>>2];J[g+28>>2]=f;f=J[b+44>>2];J[g+48>>2]=J[b+40>>2];J[g+52>>2]=f;f=J[b+36>>2];J[g+40>>2]=J[b+32>>2];J[g+44>>2]=f;h=J[b+60>>2];f=g- -64|0;J[f>>2]=J[b+56>>2];J[f+4>>2]=h;f=J[b+52>>2];J[g+56>>2]=J[b+48>>2];J[g+60>>2]=f;b=J[i+12>>2];f=J[b+12>>2];J[g+80>>2]=J[b+8>>2];J[g+84>>2]=f;f=J[b+4>>2];J[g+72>>2]=J[b>>2];J[g+76>>2]=f;f=J[b+20>>2];J[g+88>>2]=J[b+16>>2];J[g+92>>2]=f;f=J[b+28>>2];J[g+96>>2]=J[b+24>>2];J[g+100>>2]=f;f=J[b+36>>2];J[g+104>>2]=J[b+32>>2];J[g+108>>2]=f;f=J[b+44>>2];J[g+112>>2]=J[b+40>>2];J[g+116>>2]=f;f=J[b+52>>2];J[g+120>>2]=J[b+48>>2];J[g+124>>2]=f;f=J[b+60>>2];J[g+128>>2]=J[b+56>>2];J[g+132>>2]=f;Ie(c,g+8|0,e,J[d+20>>2],K[a+16|0]);if(!K[a+8|0]){break a}a=J[e+4>>2];if(!J[a+844>>2]){break a}c=J[a+836>>2];d=J[J[e+8>>2]+8>>2];b=(c|0)==(d|0);f=a;a=J[J[e+12>>2]+8>>2];Ua(f,(b?c:a)+4|0,(b?a:d)+4|0)}sa=g+160|0}function jg(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;f=sa+-64|0;sa=f;a:{if(Ka(b,30288,0)){J[c>>2]=0;d=1;break a}b:{if(K[a+8|0]&24){e=1}else{if(!b){break b}e=Ta(b,30020);if(!e){break b}e=(K[e+8|0]&24)!=0}g=Ka(a,b,e)}if(g){d=1;a=J[c>>2];if(!a){break a}J[c>>2]=J[a>>2];break a}c:{if(!b){break c}e=Ta(b,30068);if(!e){break a}b=J[c>>2];if(b){J[c>>2]=J[b>>2]}g=J[e+8>>2];b=J[a+8>>2];if(g&(b^-1)&7|b&(g^-1)&96){break a}d=1;if(Ka(J[a+12>>2],J[e+12>>2],0)){break a}if(Ka(J[a+12>>2],30276,0)){a=J[e+12>>2];if(!a){break a}d=!Ta(a,30120);break a}g=J[a+12>>2];if(!g){break c}d=0;b=Ta(g,30068);if(b){if(!(H[a+8|0]&1)){break a}a=J[e+12>>2];c=0;d:{e:{while(1){d=0;if(!a){break d}a=Ta(a,30068);if(!a|J[a+8>>2]&(J[b+8>>2]^-1)){break e}d=1;if(Ka(J[b+12>>2],J[a+12>>2],0)){break d}if(!(H[b+8|0]&1)){break e}d=J[b+12>>2];if(!d){break e}b=Ta(d,30068);if(b){a=J[a+12>>2];continue}break}b=Ta(d,30180);if(!b){break e}c=id(b,J[a+12>>2])}d=c}break a}b=Ta(g,30180);if(b){if(!(H[a+8|0]&1)){break a}d=id(b,J[e+12>>2]);break a}b=Ta(g,29972);if(!b){break a}a=J[e+12>>2];if(!a){break a}a=Ta(a,29972);if(!a){break a}Fa(f+12|0,0,52);J[f+56>>2]=1;J[f+20>>2]=-1;J[f+16>>2]=b;J[f+8>>2]=a;ua[J[J[a>>2]+28>>2]](a,f+8|0,J[c>>2],1);a=J[f+32>>2];if(!(!J[c>>2]|(a|0)!=1)){J[c>>2]=J[f+24>>2]}d=(a|0)==1;break a}d=0}sa=f- -64|0;return d|0}function Ud(a,b,c,d,e,f){var g=0;J[a+4>>2]=b;J[a>>2]=23140;b=J[c+12>>2];J[a+16>>2]=J[c+8>>2];J[a+20>>2]=b;b=J[c+4>>2];J[a+8>>2]=J[c>>2];J[a+12>>2]=b;b=J[c+28>>2];J[a+32>>2]=J[c+24>>2];J[a+36>>2]=b;b=J[c+20>>2];J[a+24>>2]=J[c+16>>2];J[a+28>>2]=b;b=J[c+44>>2];J[a+48>>2]=J[c+40>>2];J[a+52>>2]=b;b=J[c+36>>2];J[a+40>>2]=J[c+32>>2];J[a+44>>2]=b;g=J[c+60>>2];b=a- -64|0;J[b>>2]=J[c+56>>2];J[b+4>>2]=g;b=J[c+52>>2];J[a+56>>2]=J[c+48>>2];J[a+60>>2]=b;b=J[d+12>>2];J[a+80>>2]=J[d+8>>2];J[a+84>>2]=b;b=J[d+4>>2];J[a+72>>2]=J[d>>2];J[a+76>>2]=b;b=J[d+28>>2];J[a+96>>2]=J[d+24>>2];J[a+100>>2]=b;b=J[d+20>>2];J[a+88>>2]=J[d+16>>2];J[a+92>>2]=b;b=J[d+44>>2];J[a+112>>2]=J[d+40>>2];J[a+116>>2]=b;b=J[d+36>>2];J[a+104>>2]=J[d+32>>2];J[a+108>>2]=b;b=J[d+60>>2];J[a+128>>2]=J[d+56>>2];J[a+132>>2]=b;b=J[d+52>>2];J[a+120>>2]=J[d+48>>2];J[a+124>>2]=b;b=J[e+12>>2];J[a+144>>2]=J[e+8>>2];J[a+148>>2]=b;b=J[e+4>>2];J[a+136>>2]=J[e>>2];J[a+140>>2]=b;b=J[e+28>>2];J[a+160>>2]=J[e+24>>2];J[a+164>>2]=b;b=J[e+20>>2];J[a+152>>2]=J[e+16>>2];J[a+156>>2]=b;b=J[e+44>>2];J[a+176>>2]=J[e+40>>2];J[a+180>>2]=b;b=J[e+36>>2];J[a+168>>2]=J[e+32>>2];J[a+172>>2]=b;b=J[e+60>>2];J[a+192>>2]=J[e+56>>2];J[a+196>>2]=b;b=J[e+52>>2];J[a+184>>2]=J[e+48>>2];J[a+188>>2]=b;J[a+208>>2]=0;N[a+204>>2]=f;J[a+200>>2]=1065353216;return a}function Dh(a,b){a=a|0;b=Q(b);var c=0,d=0,e=0,f=Q(0),g=0,h=Q(0),i=Q(0),j=Q(0),k=Q(0);e=J[a+8>>2];if((e|0)>0){while(1){c=J[J[a+16>>2]+(g<<2)>>2];if(!(!c|!(J[c+252>>2]&2)|(!(K[c+204|0]&2)|J[c+220>>2]==2))){e=sa-32|0;sa=e;if(b!=Q(0)){d=J[c+540>>2];if(d){ua[J[J[d>>2]+8>>2]](d,c+4|0)}J[c+384>>2]=0;f=Q(Q(1)/b);N[c+380>>2]=f*Q(N[c+60>>2]-N[c+124>>2]);N[c+376>>2]=f*Q(N[c+56>>2]-N[c+120>>2]);N[c+372>>2]=f*Q(N[c+52>>2]-N[c+116>>2]);Vb(c+68|0,c+4|0,e+16|0,e+12|0);i=N[e+16>>2];j=N[e+20>>2];k=N[e+24>>2];h=N[e+12>>2];J[c+400>>2]=0;N[c+396>>2]=f*Q(h*k);N[c+392>>2]=f*Q(h*j);N[c+388>>2]=f*Q(i*h);d=J[c+384>>2];J[c+140>>2]=J[c+380>>2];J[c+144>>2]=d;d=J[c+376>>2];J[c+132>>2]=J[c+372>>2];J[c+136>>2]=d;d=J[c+392>>2];J[c+148>>2]=J[c+388>>2];J[c+152>>2]=d;d=J[c+400>>2];J[c+156>>2]=J[c+396>>2];J[c+160>>2]=d;d=J[c+8>>2];J[c+68>>2]=J[c+4>>2];J[c+72>>2]=d;d=J[c+16>>2];J[c+76>>2]=J[c+12>>2];J[c+80>>2]=d;d=J[c+24>>2];J[c+84>>2]=J[c+20>>2];J[c+88>>2]=d;d=J[c+32>>2];J[c+92>>2]=J[c+28>>2];J[c+96>>2]=d;d=J[c+48>>2];J[c+108>>2]=J[c+44>>2];J[c+112>>2]=d;d=J[c+40>>2];J[c+100>>2]=J[c+36>>2];J[c+104>>2]=d;d=J[c+64>>2];J[c+124>>2]=J[c+60>>2];J[c+128>>2]=d;d=J[c+56>>2];J[c+116>>2]=J[c+52>>2];J[c+120>>2]=d}sa=e+32|0;e=J[a+8>>2]}g=g+1|0;if((g|0)<(e|0)){continue}break}}}function _l(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;f=sa-160|0;sa=f;g=J[a+12>>2];a:{if(!g){break a}h=J[c+4>>2];i=J[b+4>>2];J[e+4>>2]=g;J[f+152>>2]=1566444395;b=J[b+12>>2];g=J[b+12>>2];J[f+32>>2]=J[b+8>>2];J[f+36>>2]=g;g=J[b+4>>2];J[f+24>>2]=J[b>>2];J[f+28>>2]=g;g=J[b+28>>2];J[f+48>>2]=J[b+24>>2];J[f+52>>2]=g;g=J[b+20>>2];J[f+40>>2]=J[b+16>>2];J[f+44>>2]=g;j=J[b+44>>2];g=f- -64|0;J[g>>2]=J[b+40>>2];J[g+4>>2]=j;g=J[b+36>>2];J[f+56>>2]=J[b+32>>2];J[f+60>>2]=g;g=J[b+60>>2];J[f+80>>2]=J[b+56>>2];J[f+84>>2]=g;g=J[b+52>>2];J[f+72>>2]=J[b+48>>2];J[f+76>>2]=g;b=J[c+12>>2];c=J[b+12>>2];J[f+96>>2]=J[b+8>>2];J[f+100>>2]=c;c=J[b+4>>2];J[f+88>>2]=J[b>>2];J[f+92>>2]=c;c=J[b+20>>2];J[f+104>>2]=J[b+16>>2];J[f+108>>2]=c;c=J[b+28>>2];J[f+112>>2]=J[b+24>>2];J[f+116>>2]=c;c=J[b+36>>2];J[f+120>>2]=J[b+32>>2];J[f+124>>2]=c;c=J[b+44>>2];J[f+128>>2]=J[b+40>>2];J[f+132>>2]=c;c=J[b+52>>2];J[f+136>>2]=J[b+48>>2];J[f+140>>2]=c;c=J[b+60>>2];J[f+144>>2]=J[b+56>>2];J[f+148>>2]=c;b=f+12|0;J[b+8>>2]=h;J[b+4>>2]=i;J[b>>2]=16504;Pe(b,f+24|0,e,J[d+20>>2],0);if(!K[a+8|0]){break a}a=J[e+4>>2];if(!J[a+844>>2]){break a}c=J[a+836>>2];d=J[J[e+8>>2]+8>>2];b=(c|0)==(d|0);g=a;a=J[J[e+12>>2]+8>>2];Ua(g,(b?c:a)+4|0,(b?a:d)+4|0)}sa=f+160|0}function Bk(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;bb(a,b,c);N[b+20>>2]=N[a+80>>2];d=J[a+24>>2];J[b+12>>2]=0;J[b+16>>2]=d;if(d){g=ua[J[J[c>>2]+16>>2]](c,76,d)|0;d=J[g+8>>2];j=b,k=ua[J[J[c>>2]+28>>2]](c,d)|0,J[j+12>>2]=k;if(J[b+16>>2]>0){f=J[a+32>>2];while(1){e=P(h,80);f=e+f|0;N[d+72>>2]=N[f+72>>2];j=d,k=ua[J[J[c>>2]+28>>2]](c,J[f+64>>2])|0,J[j+64>>2]=k;if(!(ua[J[J[c>>2]+24>>2]](c,J[(e+J[a+32>>2]|0)+64>>2])|0)){f=J[(e+J[a+32>>2]|0)+64>>2];f=(k=c,l=ua[J[J[f>>2]+52>>2]](f)|0,m=1,j=J[J[c>>2]+16>>2],ua[j](k|0,l|0,m|0)|0);i=J[(e+J[a+32>>2]|0)+64>>2];m=c,l=f,k=ua[J[J[i>>2]+56>>2]](i,J[f+8>>2],c)|0,n=1346455635,o=J[(e+J[a+32>>2]|0)+64>>2],j=J[J[c>>2]+20>>2],ua[j](m|0,l|0,k|0,n|0,o|0)}f=J[a+32>>2];e=e+f|0;J[d+68>>2]=J[e+68>>2];N[d>>2]=N[e>>2];N[d+4>>2]=N[e+4>>2];N[d+8>>2]=N[e+8>>2];N[d+12>>2]=N[e+12>>2];N[d+16>>2]=N[e+16>>2];N[d+20>>2]=N[e+20>>2];N[d+24>>2]=N[e+24>>2];N[d+28>>2]=N[e+28>>2];N[d+32>>2]=N[e+32>>2];N[d+36>>2]=N[e+36>>2];N[d+40>>2]=N[e+40>>2];N[d+44>>2]=N[e+44>>2];N[d+48>>2]=N[e+48>>2];N[d+52>>2]=N[e+52>>2];N[d+56>>2]=N[e+56>>2];N[d+60>>2]=N[e+60>>2];d=d+76|0;h=h+1|0;if((h|0)>2]){continue}break}}ua[J[J[c>>2]+20>>2]](c,g,9087,1497453121,J[g+8>>2])}return 8973}function lm(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=Q(0);c=sa-800|0;sa=c;ua[J[8262]](7501);J[c+744>>2]=0;J[c+748>>2]=0;J[c+756>>2]=0;J[c+760>>2]=0;J[c+752>>2]=1065353216;J[c+764>>2]=0;J[c+768>>2]=0;J[c+776>>2]=0;J[c+780>>2]=0;J[c+772>>2]=1065353216;J[c+784>>2]=0;J[c+788>>2]=0;J[c+792>>2]=0;J[c+736>>2]=0;J[c+740>>2]=0;J[c+732>>2]=1065353216;J[c+724>>2]=0;J[c+728>>2]=0;J[c+556>>2]=13156;N[c+720>>2]=N[a+200>>2];g=N[a+196>>2];d=Sa(c+496|0);J[d+32>>2]=0;J[d+36>>2]=0;J[d+20>>2]=1065353216;J[d+24>>2]=1065353216;J[d+4>>2]=8;J[d>>2]=21396;J[d+56>>2]=0;N[d+52>>2]=g;J[d+28>>2]=1065353216;J[d+40>>2]=0;J[d+44>>2]=0;J[d+48>>2]=0;N[d+36>>2]=g;e=Ob(c+384|0);J[e+4>>2]=1;J[e>>2]=15832;f=J[b+12>>2];J[e+72>>2]=J[b+8>>2];J[e+76>>2]=f;f=J[b+4>>2];J[e+64>>2]=J[b>>2];J[e+68>>2]=f;f=J[b+20>>2];J[e+80>>2]=J[b+16>>2];J[e+84>>2]=f;f=J[b+28>>2];J[e+88>>2]=J[b+24>>2];J[e+92>>2]=f;f=J[b+36>>2];J[e+96>>2]=J[b+32>>2];J[e+100>>2]=f;f=J[b+44>>2];J[e+104>>2]=J[b+40>>2];J[e+108>>2]=f;H[c+356|0]=0;J[c+332>>2]=953267991;b=c+8|0;J[b+12>>2]=e;J[b+8>>2]=d;J[b+4>>2]=c+24;J[b>>2]=23248;d=b;b=c+732|0;a:{if(!Td(d,a+4|0,a+68|0,b,b,c+556|0)){break a}g=N[c+720>>2];if(!(g>2])){break a}N[a+200>>2]=g}sb(e);ua[J[8263]]();sa=c+800|0}function Ui(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;a:{b:{if(K[a+164|0]){k=a+132|0;if(J[k>>2]>=(b|0)){break a}if(b){J[8456]=J[8456]+1;e=ua[J[8258]](b<<2,16)|0}else{e=0}d=J[a+136>>2];f=J[a+128>>2];c:{d:{if((f|0)>0){if(f>>>0>=4){l=f&-4;while(1){c=g<<2;J[c+e>>2]=J[d+c>>2];h=c|4;J[h+e>>2]=J[d+h>>2];h=c|8;J[h+e>>2]=J[d+h>>2];c=c|12;J[c+e>>2]=J[d+c>>2];g=g+4|0;i=i+4|0;if((l|0)!=(i|0)){continue}break}}c=f&3;if(c){while(1){f=g<<2;J[f+e>>2]=J[d+f>>2];g=g+1|0;j=j+1|0;if((c|0)!=(j|0)){continue}break}}if(K[a+140|0]){break d}break c}if(!d|!K[a+140|0]){break c}}if(d){J[8457]=J[8457]+1;ua[J[8259]](d)}}J[a+136>>2]=e;H[a+140|0]=1;break b}k=a+152|0;if(J[k>>2]>=(b|0)){break a}if(b){J[8456]=J[8456]+1;e=ua[J[8258]](b<<1,16)|0}else{e=0}d=J[a+156>>2];f=J[a+148>>2];e:{f:{if((f|0)>0){if(f>>>0>=4){l=f&-4;while(1){c=g<<1;I[c+e>>1]=L[d+c>>1];h=c|2;I[h+e>>1]=L[d+h>>1];h=c|4;I[h+e>>1]=L[d+h>>1];c=c|6;I[c+e>>1]=L[d+c>>1];g=g+4|0;i=i+4|0;if((l|0)!=(i|0)){continue}break}}c=f&3;if(c){while(1){f=g<<1;I[f+e>>1]=L[d+f>>1];g=g+1|0;j=j+1|0;if((c|0)!=(j|0)){continue}break}}if(K[a+160|0]){break f}break e}if(!d|!K[a+160|0]){break e}}if(d){J[8457]=J[8457]+1;ua[J[8259]](d)}}J[a+156>>2]=e;H[a+160|0]=1}J[k>>2]=b}}function Wb(a){var b=0;J[a+132>>2]=0;J[a+136>>2]=0;J[a+188>>2]=0;J[a+192>>2]=0;J[a+180>>2]=0;J[a+184>>2]=1566444395;J[a+164>>2]=1065353216;J[a+168>>2]=1065353216;J[a+276>>2]=0;J[a+280>>2]=0;J[a+268>>2]=1065353216;J[a+272>>2]=0;J[a+260>>2]=-1;J[a+264>>2]=-1;J[a+252>>2]=1;J[a+256>>2]=0;J[a+244>>2]=1036831949;J[a+248>>2]=1176256512;J[a+236>>2]=0;J[a+240>>2]=0;J[a+228>>2]=1056964608;J[a+232>>2]=0;J[a+220>>2]=1;J[a+224>>2]=0;J[a+212>>2]=-1;J[a+216>>2]=-1;J[a+204>>2]=1;J[a+208>>2]=-1;J[a>>2]=13004;J[a+140>>2]=0;J[a+144>>2]=0;J[a+148>>2]=0;J[a+152>>2]=0;J[a+156>>2]=0;J[a+160>>2]=0;J[a+172>>2]=1065353216;J[a+176>>2]=0;J[a+196>>2]=0;J[a+200>>2]=0;H[a+300|0]=1;J[a+304>>2]=0;J[a+296>>2]=0;J[a+288>>2]=0;J[a+292>>2]=0;J[a+4>>2]=1065353216;J[a+8>>2]=0;J[a+12>>2]=0;J[a+16>>2]=0;J[a+20>>2]=0;J[a+24>>2]=1065353216;J[a+28>>2]=0;J[a+32>>2]=0;J[a+36>>2]=0;J[a+40>>2]=0;J[a+44>>2]=1065353216;J[a+48>>2]=0;J[a+52>>2]=0;J[a+56>>2]=0;J[a+60>>2]=0;b=a- -64|0;J[b>>2]=0;J[b+4>>2]=1065353216;J[a+72>>2]=0;J[a+76>>2]=0;J[a+80>>2]=0;J[a+84>>2]=0;J[a+88>>2]=1065353216;J[a+92>>2]=0;J[a+96>>2]=0;J[a+100>>2]=0;J[a+104>>2]=0;J[a+112>>2]=0;J[a+116>>2]=0;J[a+108>>2]=1065353216;J[a+120>>2]=0;J[a+124>>2]=0;J[a+128>>2]=0;return a}function Cr(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;J[8456]=J[8456]+1;a=mc(ua[J[8258]](768,16)|0,4,a,b);J[a>>2]=23552;b=J[c+12>>2];J[a+560>>2]=J[c+8>>2];J[a+564>>2]=b;b=J[c+4>>2];J[a+552>>2]=J[c>>2];J[a+556>>2]=b;b=J[c+28>>2];J[a+576>>2]=J[c+24>>2];J[a+580>>2]=b;b=J[c+20>>2];J[a+568>>2]=J[c+16>>2];J[a+572>>2]=b;b=J[c+44>>2];J[a+592>>2]=J[c+40>>2];J[a+596>>2]=b;b=J[c+36>>2];J[a+584>>2]=J[c+32>>2];J[a+588>>2]=b;b=J[c+60>>2];J[a+608>>2]=J[c+56>>2];J[a+612>>2]=b;b=J[c+52>>2];J[a+600>>2]=J[c+48>>2];J[a+604>>2]=b;b=J[d+12>>2];J[a+624>>2]=J[d+8>>2];J[a+628>>2]=b;b=J[d+4>>2];J[a+616>>2]=J[d>>2];J[a+620>>2]=b;b=J[d+20>>2];J[a+632>>2]=J[d+16>>2];J[a+636>>2]=b;b=J[d+28>>2];J[a+640>>2]=J[d+24>>2];J[a+644>>2]=b;b=J[d+36>>2];J[a+648>>2]=J[d+32>>2];J[a+652>>2]=b;b=J[d+44>>2];J[a+656>>2]=J[d+40>>2];J[a+660>>2]=b;b=J[d+52>>2];J[a+664>>2]=J[d+48>>2];J[a+668>>2]=b;b=J[d+60>>2];J[a+672>>2]=J[d+56>>2];J[a+676>>2]=b;J[a+688>>2]=0;J[a+692>>2]=-1082130432;J[a+696>>2]=1063675494;J[a+700>>2]=1050253722;J[a+704>>2]=1065353216;J[a+708>>2]=0;J[a+712>>2]=0;H[a+716|0]=0;H[a+740|0]=0;J[a+736>>2]=16777216;J[a+764>>2]=0;J[a+756>>2]=0;J[a+760>>2]=0;J[a+748>>2]=0;J[a+752>>2]=0;N[a+732>>2]=1;return a|0}function Do(a,b,c,d,e,f,g,h,i,j,k){a=a|0;b=b|0;c=c|0;d=d|0;e=Q(e);f=Q(f);g=Q(g);h=Q(h);i=i|0;j=j|0;k=Q(k);var l=0,m=Q(0),n=Q(0),o=Q(0),p=Q(0),q=Q(0),r=Q(0),s=0,t=Q(0),u=Q(0),v=Q(0),w=0,x=Q(0),y=Q(0),z=Q(0);l=sa-32|0;sa=l;t=N[c+8>>2];n=N[d+8>>2];p=N[c>>2];o=N[d+4>>2];q=N[d>>2];u=N[c+4>>2];v=N[b>>2];y=N[b+4>>2];m=N[b+8>>2];J[l+28>>2]=0;r=Na(g);x=Q(Q(Q(p*o)-Q(q*u))*f);z=m;m=Ma(g);N[l+24>>2]=Q(r*x)+Q(z+Q(m*Q(n*e)));p=Q(Q(Q(t*q)-Q(n*p))*f);N[l+20>>2]=Q(y+Q(m*Q(o*e)))+Q(r*p);n=Q(Q(Q(u*n)-Q(o*t))*f);N[l+16>>2]=Q(r*n)+Q(v+Q(m*Q(q*e)));o=Q(h-g);f=Q(R(Q(o/Q(k*Q(.01745329238474369)))));a:{if(Q(R(f))>2]+16>>2]](a,b,l+16|0,i)}w=c>>>0<=1?1:c;if((w|0)>0){k=Q(w|0);c=1;while(1){q=N[d+8>>2];h=Q(Q(Q(o*Q(c|0))/k)+g);f=Ma(h);t=N[b+8>>2];h=Na(h);u=N[b>>2];r=N[d>>2];m=N[b+4>>2];v=N[d+4>>2];N[l+8>>2]=Q(x*h)+Q(t+Q(f*Q(q*e)));J[l+12>>2]=0;N[l+4>>2]=Q(p*h)+Q(m+Q(f*Q(v*e)));N[l>>2]=Q(n*h)+Q(u+Q(f*Q(r*e)));ua[J[J[a>>2]+16>>2]](a,l+16|0,l,i);s=J[l+12>>2];J[l+24>>2]=J[l+8>>2];J[l+28>>2]=s;s=J[l+4>>2];J[l+16>>2]=J[l>>2];J[l+20>>2]=s;s=(c|0)==(w|0);c=c+1|0;if(!s){continue}break}}if(j){ua[J[J[a>>2]+16>>2]](a,b,l+16|0,i)}sa=l+32|0}function lb(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;d=J[a+16>>2];c=J[b+16>>2];if((d|0)!=(c|0)){return d-c|0}if(!d){return 0}n=d;e=J[b+8>>2];f=J[a+4>>2];i=J[b+12>>2];k=J[a>>2];j=us(i,0,k,0);d=ta;g=f;c=0;f=us(i,0,f,c);h=d+f|0;d=ta+c|0;l=e;i=0;e=us(e,i,g,c);c=f>>>0>h>>>0?d+1|0:d;f=ta;g=f+h|0;d=g;f=f>>>0>d>>>0?c+1|0:c;c=0;g=e;e=e+j|0;j=g>>>0>e>>>0?c+1|0:c;g=j+d|0;d=f;d=g>>>0>>0?d+1|0:d;h=g;j=0;f=us(k,m,l,i);i=j+f|0;c=ta+e|0;c=f>>>0>i>>>0?c+1|0:c;g=c;e=(e|0)==(c|0)&i>>>0>>0|c>>>0>>0;c=d;d=e+h|0;c=d>>>0>>0?c+1|0:c;j=d;k=c;e=J[b>>2];d=J[b+4>>2];b=J[a+8>>2];a=J[a+12>>2];c=0;l=b;f=us(d,c,b,0);b=ta;h=a;a=us(d,c,a,0);b=b+a|0;d=ta;d=a>>>0>b>>>0?d+1|0:d;a=us(e,0,h,c);c=d;d=b;b=ta;h=d+b|0;d=h;b=b>>>0>d>>>0?c+1|0:c;c=0;h=a;a=a+f|0;f=h>>>0>a>>>0?c+1|0:c;h=f+d|0;d=b;d=f>>>0>h>>>0?d+1|0:d;f=0;e=us(e,m,l,m);b=f+e|0;c=ta+a|0;c=b>>>0>>0?c+1|0:c;e=c;a=(a|0)==(c|0)&b>>>0>>0|a>>>0>c>>>0;c=d;d=a;a=a+h|0;c=d>>>0>a>>>0?c+1|0:c;d=-1;a:{if((c|0)==(k|0)&a>>>0>j>>>0|c>>>0>k>>>0){break a}d=1;if((c|0)==(k|0)&a>>>0>>0|c>>>0>>0){break a}d=-1;if((e|0)==(g|0)&b>>>0>i>>>0|e>>>0>g>>>0){break a}d=(e|0)==(g|0)&b>>>0>>0|e>>>0>>0}return P(n,d)}function hg(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0;if(Ka(a,J[b+8>>2],e)){if(!(J[b+28>>2]==1|J[b+4>>2]!=(c|0))){J[b+28>>2]=d}return}a:{if(Ka(a,J[b>>2],e)){if(!(J[b+16>>2]!=(c|0)&J[b+20>>2]!=(c|0))){if((d|0)!=1){break a}J[b+32>>2]=1;return}J[b+32>>2]=d;if(J[b+44>>2]!=4){f=a+16|0;h=f+(J[a+12>>2]<<3)|0;d=0;b:{c:{while(1){d:{if(f>>>0>=h>>>0){break d}I[b+52>>1]=0;fc(f,b,c,c,1,e);if(K[b+54|0]){break d}e:{if(!K[b+53|0]){break e}if(K[b+52|0]){d=1;if(J[b+24>>2]==1){break c}g=1;if(K[a+8|0]&2){break e}break c}g=1;if(!(H[a+8|0]&1)){break c}}f=f+8|0;continue}break}a=4;if(!g){break b}}a=3}J[b+44>>2]=a;if(d&1){break a}}J[b+20>>2]=c;J[b+40>>2]=J[b+40>>2]+1;if(J[b+36>>2]!=1|J[b+24>>2]!=2){break a}H[b+54|0]=1;return}g=J[a+12>>2];h=a+16|0;yb(h,b,c,d,e);f=a+24|0;g=h+(g<<3)|0;if(f>>>0>=g>>>0){break a}a=J[a+8>>2];if(!(!(a&2)&J[b+36>>2]!=1)){while(1){if(K[b+54|0]){break a}yb(f,b,c,d,e);f=f+8|0;if(g>>>0>f>>>0){continue}break}break a}if(!(a&1)){while(1){if(K[b+54|0]|J[b+36>>2]==1){break a}yb(f,b,c,d,e);f=f+8|0;if(g>>>0>f>>>0){continue}break a}}while(1){if(K[b+54|0]|J[b+36>>2]==1&J[b+24>>2]==1){break a}yb(f,b,c,d,e);f=f+8|0;if(g>>>0>f>>>0){continue}break}}}function nk(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;e=sa-80|0;sa=e;a:{if((d|0)<=0){break a}if(d>>>0>=8){j=d&-8;while(1){f=i<<4;J[(f+c|0)+12>>2]=-581039253;J[((f|16)+c|0)+12>>2]=-581039253;J[((f|32)+c|0)+12>>2]=-581039253;J[((f|48)+c|0)+12>>2]=-581039253;J[((f|64)+c|0)+12>>2]=-581039253;J[((f|80)+c|0)+12>>2]=-581039253;J[((f|96)+c|0)+12>>2]=-581039253;J[((f|112)+c|0)+12>>2]=-581039253;i=i+8|0;g=g+8|0;if((j|0)!=(g|0)){continue}break}}g=d&7;if(g){while(1){J[((i<<4)+c|0)+12>>2]=-581039253;i=i+1|0;h=h+1|0;if((g|0)!=(h|0)){continue}break}}if((d|0)<=0){break a}f=e- -64|0;i=0;while(1){J[e+40>>2]=19952;J[e+52>>2]=0;J[e+56>>2]=0;J[e+44>>2]=0;J[e+48>>2]=0;J[e+60>>2]=-581039253;g=i<<4;j=g+b|0;h=J[j+12>>2];J[f+8>>2]=J[j+8>>2];J[f+12>>2]=h;h=J[j+4>>2];J[f>>2]=J[j>>2];J[f+4>>2]=h;J[e+32>>2]=1566444395;J[e+36>>2]=0;J[e+24>>2]=1566444395;J[e+28>>2]=1566444395;h=J[a+100>>2];J[e+16>>2]=-581039253;J[e+20>>2]=0;J[e+8>>2]=-581039253;J[e+12>>2]=-581039253;ua[J[J[h>>2]+8>>2]](h,e+40|0,e+8|0,e+24|0);h=J[e+56>>2];g=c+g|0;J[g+8>>2]=J[e+52>>2];J[g+12>>2]=h;h=J[e+48>>2];J[g>>2]=J[e+44>>2];J[g+4>>2]=h;i=i+1|0;if((i|0)!=(d|0)){continue}break}}sa=e+80|0}function Dj(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=Q(0),f=Q(0),g=Q(0),h=Q(0),i=0,j=Q(0),k=Q(0),l=Q(0),m=Q(0),n=Q(0),o=Q(0),p=Q(0),q=Q(0),r=Q(0),s=Q(0),t=Q(0),u=Q(0),v=Q(0),w=Q(0),x=Q(0),y=Q(0),z=Q(0),A=Q(0),B=Q(0);i=J[a+40>>2];e=N[i+32>>2];f=N[a+32>>2];h=N[i+48>>2];k=N[i+28>>2];g=N[a+28>>2];l=N[i+44>>2];m=N[i+24>>2];t=N[i+40>>2];j=N[a+24>>2];n=Q(ua[J[J[i>>2]+48>>2]](i));z=N[b+52>>2];q=N[b+24>>2];u=N[b+20>>2];o=N[b+56>>2];p=N[b+40>>2];r=N[b+36>>2];A=N[b+48>>2];v=N[b+8>>2];w=N[b+4>>2];x=N[b>>2];y=N[b+16>>2];s=N[b+32>>2];J[c+12>>2]=0;B=o;e=Q(e*f);h=Q(h*f);o=f<=Q(0)?e:h;e=f>=Q(0)?e:h;f=Q(Q(o+e)*Q(.5));h=Q(m*j);m=Q(t*j);t=j<=Q(0)?h:m;h=j>=Q(0)?h:m;j=Q(Q(t+h)*Q(.5));k=Q(k*g);l=Q(l*g);m=g<=Q(0)?k:l;k=g>=Q(0)?k:l;g=Q(Q(m+k)*Q(.5));l=Q(B+Q(Q(p*f)+Q(Q(s*j)+Q(r*g))));e=Q(n+Q(Q(o-e)*Q(.5)));o=Q(e*Q(R(p)));p=Q(n+Q(Q(t-h)*Q(.5)));n=Q(n+Q(Q(m-k)*Q(.5)));r=Q(o+Q(Q(p*Q(R(s)))+Q(n*Q(R(r)))));N[c+8>>2]=l-r;s=Q(z+Q(Q(f*q)+Q(Q(j*y)+Q(g*u))));q=Q(Q(e*Q(R(q)))+Q(Q(p*Q(R(y)))+Q(n*Q(R(u)))));N[c+4>>2]=s-q;f=Q(A+Q(Q(f*v)+Q(Q(j*x)+Q(g*w))));g=Q(Q(e*Q(R(v)))+Q(Q(p*Q(R(x)))+Q(n*Q(R(w)))));N[c>>2]=f-g;J[d+12>>2]=0;N[d+8>>2]=r+l;N[d+4>>2]=q+s;N[d>>2]=g+f}function Yb(a,b,c,d){var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;while(1){q=c;g=J[a+12>>2]+((c+d|0)/2<<4)|0;r=J[g+8>>2];l=J[g+4>>2];k=J[g>>2];g=d;while(1){s=J[a+12>>2];while(1){e=-1;i=-1;f=(c<<4)+s|0;m=J[f>>2];if(m){i=J[m+12>>2]}e=k?J[k+12>>2]:e;j=-1;h=-1;n=J[f+4>>2];if(n){h=J[n+12>>2]}j=l?J[l+12>>2]:j;a:{b:{if((e|0)<(i|0)){break b}e=(k|0)==(m|0)&(h|0)>(j|0);if(!(e|(k|0)!=(m|0))){if((l|0)!=(n|0)){break a}if(M[f+8>>2]>r>>>0){break b}break a}if(!e){break a}}c=c+1|0;continue}break}while(1){t=g<<4;e=t+s|0;i=-1;j=-1;j=k?J[k+12>>2]:j;h=J[e>>2];if(h){i=J[h+12>>2]}u=-1;o=-1;o=l?J[l+12>>2]:o;p=J[e+4>>2];if(p){u=J[p+12>>2]}c:{d:{if((i|0)<(j|0)){break d}i=(h|0)==(k|0)&(u|0)<(o|0);if(!(i|(h|0)!=(k|0))){if((l|0)!=(p|0)){break c}if(M[e+8>>2]>>0){break d}break c}if(!i){break c}}g=g-1|0;continue}break}if((c|0)<=(g|0)){i=J[f+8>>2];j=J[f+12>>2];h=J[e+4>>2];J[f>>2]=J[e>>2];J[f+4>>2]=h;h=J[e+12>>2];J[f+8>>2]=J[e+8>>2];J[f+12>>2]=h;f=J[a+12>>2]+t|0;J[f+4>>2]=n;J[f+8>>2]=i;J[f+12>>2]=j;J[f>>2]=m;g=g-1|0;c=c+1|0}if((c|0)<=(g|0)){continue}break}if((g|0)>(q|0)){Yb(a,b,q,g)}if((c|0)<(d|0)){continue}break}}function Ri(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=Q(0),f=Q(0),g=Q(0),h=Q(0),i=Q(0),j=Q(0),k=Q(0),l=Q(0),m=Q(0),n=Q(0),o=Q(0),p=Q(0),q=Q(0),r=Q(0),s=Q(0),t=Q(0),u=Q(0),v=Q(0),w=Q(0),x=Q(0),y=Q(0),z=Q(0),A=Q(0),B=Q(0),C=Q(0),D=Q(0),E=Q(0),F=Q(0);h=N[a+32>>2];f=N[a+48>>2];u=N[a+28>>2];v=N[a+44>>2];w=N[a+24>>2];x=N[a+40>>2];y=Q(ua[J[J[a>>2]+48>>2]](a));z=Q(ua[J[J[a>>2]+48>>2]](a));A=Q(ua[J[J[a>>2]+48>>2]](a));B=N[b+52>>2];i=N[b+24>>2];j=N[b+20>>2];k=N[b+56>>2];l=N[a+28>>2];o=N[a+44>>2];m=N[a+32>>2];C=N[a+48>>2];e=N[b+40>>2];n=N[b+36>>2];D=N[b+48>>2];q=N[b+8>>2];r=N[b>>2];s=N[b+4>>2];t=N[b+16>>2];E=N[a+24>>2];F=N[a+40>>2];g=N[b+32>>2];J[c+12>>2]=0;p=k;k=Q(Q(C+m)*Q(.5));m=Q(Q(F+E)*Q(.5));l=Q(Q(o+l)*Q(.5));o=Q(p+Q(Q(e*k)+Q(Q(g*m)+Q(n*l))));h=Q(A+Q(Q(f-h)*Q(.5)));p=Q(h*Q(R(e)));e=Q(y+Q(Q(x-w)*Q(.5)));f=Q(e*Q(R(g)));g=Q(z+Q(Q(v-u)*Q(.5)));n=Q(p+Q(f+Q(g*Q(R(n)))));N[c+8>>2]=o-n;f=Q(B+Q(Q(k*i)+Q(Q(m*t)+Q(l*j))));i=Q(Q(h*Q(R(i)))+Q(Q(e*Q(R(t)))+Q(g*Q(R(j)))));N[c+4>>2]=f-i;j=Q(D+Q(Q(k*q)+Q(Q(m*r)+Q(l*s))));e=Q(Q(h*Q(R(q)))+Q(Q(e*Q(R(r)))+Q(g*Q(R(s)))));N[c>>2]=j-e;J[d+12>>2]=0;N[d+8>>2]=n+o;N[d+4>>2]=i+f;N[d>>2]=e+j}function Cl(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=Q(0),h=Q(0),i=Q(0),j=Q(0),k=0,l=Q(0),m=Q(0),n=Q(0),o=Q(0),p=0;d=sa-32|0;sa=d;a=J[a+12>>2];a:{if(!a){break a}J[e+4>>2]=a;f=J[b+12>>2];k=J[c+12>>2];i=Q(N[f+56>>2]-N[k+56>>2]);m=Q(N[f+48>>2]-N[k+48>>2]);j=Q(N[f+52>>2]-N[k+52>>2]);g=Q(Q(i*i)+Q(Q(m*m)+Q(j*j)));f=J[c+4>>2];l=N[f+20>>2];h=N[f+36>>2];b=J[b+4>>2];n=N[b+20>>2];o=N[b+36>>2];f=J[a+844>>2];if((f|0)>0){b=0;while(1){f=a+P(b,208)|0;k=J[f+120>>2];b:{if(!k){break b}p=J[8753];if(!p){break b}ua[p|0](k)|0;J[f+120>>2]=0}b=b+1|0;f=J[a+844>>2];if((b|0)<(f|0)){continue}break}}g=Q(Y(g));l=Q(h*l);h=Q(o*n);c:{if(!f){break c}b=J[8756];if(!b){break c}J[d+16>>2]=a;ua[b|0](d+16|0)}J[a+844>>2]=0;h=Q(h+l);if(g>Q(h+N[e+32>>2])){break a}J[d+24>>2]=0;J[d+28>>2]=0;J[d+16>>2]=1065353216;J[d+20>>2]=0;h=Q(g-h);d:{if(!(g>Q(1.1920928955078125e-7))){g=Q(1);i=Q(0);j=Q(0);break d}g=Q(Q(1)/g);i=Q(i*g);N[d+24>>2]=i;j=Q(j*g);N[d+20>>2]=j;g=Q(m*g);N[d+16>>2]=g}a=J[c+12>>2];m=N[a+52>>2];n=N[a+56>>2];o=N[a+48>>2];J[d+12>>2]=0;N[d>>2]=o+Q(l*g);N[d+8>>2]=n+Q(l*i);N[d+4>>2]=m+Q(l*j);ua[J[J[e>>2]+16>>2]](e,d+16|0,d,h)}sa=d+32|0}function Gl(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;J[8466]=J[8466]+1;k=J[a+36>>2];d=c<<16|b;d=(d<<15^-1)+d|0;d=P(d>>>10^d,9);d=d>>>6^d;d=(d<<11^-1)+d|0;i=k+((J[a+12>>2]-1&(d>>>16^d))<<2)|0;d=J[i>>2];a:{if((d|0)==-1){break a}f=J[a+56>>2];g=J[a+16>>2];e=d;while(1){j=g+P(e,12)|0;if(!(J[j>>2]==(b|0)&J[j+4>>2]==(c|0))){e=J[(e<<2)+f>>2];if((e|0)!=-1){continue}break a}break}l=J[(g+P(e,12)|0)+8>>2];b:{c:{if((d|0)==(e|0)){break c}while(1){b=d;d=J[(b<<2)+f>>2];if((e|0)!=(d|0)){continue}break}if((b|0)==-1){break c}J[(b<<2)+f>>2]=J[(e<<2)+f>>2];break b}J[i>>2]=J[(e<<2)+f>>2]}h=J[a+8>>2]-1|0;if((h|0)!=(e|0)){d:{e:{g=g+P(h,12)|0;b=J[g+4>>2]<<16|J[g>>2];b=(b<<15^-1)+b|0;b=P(b>>>10^b,9);b=b>>>6^b;b=(b<<11^-1)+b|0;i=J[a+12>>2]-1&(b>>>16^b);d=k+(i<<2)|0;b=J[d>>2];if((h|0)==(b|0)){break e}while(1){c=b;b=J[(b<<2)+f>>2];if((h|0)!=(b|0)){continue}break}if((c|0)==-1){break e}J[(c<<2)+f>>2]=J[(h<<2)+f>>2];break d}J[d>>2]=J[(h<<2)+f>>2]}b=J[g+4>>2];J[j>>2]=J[g>>2];J[j+4>>2]=b;J[j+8>>2]=J[g+8>>2];b=J[a+36>>2]+(i<<2)|0;J[J[a+56>>2]+(e<<2)>>2]=J[b>>2];J[b>>2]=e;e=J[a+8>>2]-1|0}J[a+8>>2]=e}return l|0}function wc(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=sa-48|0;sa=c;d=J[b+4>>2];e=J[a+56>>2];J[e+4>>2]=J[b>>2];J[e+8>>2]=d;d=J[b+12>>2];J[e+12>>2]=J[b+8>>2];J[e+16>>2]=d;J[c+44>>2]=0;J[c+36>>2]=0;J[c+40>>2]=0;J[c+32>>2]=1065353216;e=c+16|0;b=c+32|0;ua[J[J[a>>2]+68>>2]](e,a,b);N[a+40>>2]=N[c+16>>2]+N[a+20>>2];J[c+32>>2]=-1082130432;ua[J[J[a>>2]+68>>2]](c,a,b);d=J[c+12>>2];J[c+24>>2]=J[c+8>>2];J[c+28>>2]=d;d=J[c+4>>2];J[c+16>>2]=J[c>>2];J[c+20>>2]=d;N[a+24>>2]=N[c+16>>2]-N[a+20>>2];J[c+40>>2]=0;J[c+44>>2]=0;J[c+32>>2]=0;J[c+36>>2]=0;J[c+36>>2]=1065353216;ua[J[J[a>>2]+68>>2]](e,a,b);N[a+44>>2]=N[c+20>>2]+N[a+20>>2];J[c+36>>2]=-1082130432;ua[J[J[a>>2]+68>>2]](c,a,b);d=J[c+12>>2];J[c+24>>2]=J[c+8>>2];J[c+28>>2]=d;d=J[c+4>>2];J[c+16>>2]=J[c>>2];J[c+20>>2]=d;N[a+28>>2]=N[c+20>>2]-N[a+20>>2];J[c+40>>2]=0;J[c+44>>2]=0;J[c+40>>2]=1065353216;J[c+32>>2]=0;J[c+36>>2]=0;ua[J[J[a>>2]+68>>2]](e,a,b);N[a+48>>2]=N[c+24>>2]+N[a+20>>2];J[c+40>>2]=-1082130432;ua[J[J[a>>2]+68>>2]](c,a,b);b=J[c+12>>2];J[c+24>>2]=J[c+8>>2];J[c+28>>2]=b;b=J[c+4>>2];J[c+16>>2]=J[c>>2];J[c+20>>2]=b;N[a+32>>2]=N[c+24>>2]-N[a+20>>2];sa=c+48|0}function Ja(a,b,c){var d=0,e=0,f=0;if(c>>>0>=512){oa(a|0,b|0,c|0);return a}e=a+c|0;a:{if(!((a^b)&3)){b:{if(!(a&3)){c=a;break b}if(!c){c=a;break b}c=a;while(1){H[c|0]=K[b|0];b=b+1|0;c=c+1|0;if(!(c&3)){break b}if(c>>>0>>0){continue}break}}d=e&-4;c:{if(d>>>0<64){break c}f=d+-64|0;if(f>>>0>>0){break c}while(1){J[c>>2]=J[b>>2];J[c+4>>2]=J[b+4>>2];J[c+8>>2]=J[b+8>>2];J[c+12>>2]=J[b+12>>2];J[c+16>>2]=J[b+16>>2];J[c+20>>2]=J[b+20>>2];J[c+24>>2]=J[b+24>>2];J[c+28>>2]=J[b+28>>2];J[c+32>>2]=J[b+32>>2];J[c+36>>2]=J[b+36>>2];J[c+40>>2]=J[b+40>>2];J[c+44>>2]=J[b+44>>2];J[c+48>>2]=J[b+48>>2];J[c+52>>2]=J[b+52>>2];J[c+56>>2]=J[b+56>>2];J[c+60>>2]=J[b+60>>2];b=b- -64|0;c=c- -64|0;if(f>>>0>=c>>>0){continue}break}}if(c>>>0>=d>>>0){break a}while(1){J[c>>2]=J[b>>2];b=b+4|0;c=c+4|0;if(d>>>0>c>>>0){continue}break}break a}if(e>>>0<4){c=a;break a}d=e-4|0;if(d>>>0>>0){c=a;break a}c=a;while(1){H[c|0]=K[b|0];H[c+1|0]=K[b+1|0];H[c+2|0]=K[b+2|0];H[c+3|0]=K[b+3|0];b=b+4|0;c=c+4|0;if(d>>>0>=c>>>0){continue}break}}if(c>>>0>>0){while(1){H[c|0]=K[b|0];b=b+1|0;c=c+1|0;if((e|0)!=(c|0)){continue}break}}return a}function oh(a,b){a=a|0;b=Q(b);var c=0,d=Q(0),e=0,f=Q(0),g=0,h=Q(0),i=0;i=sa-16|0;sa=i;ua[J[8262]](7100);if(J[a+248>>2]>0){while(1){c=J[J[a+256>>2]+(g<<2)>>2];a:{if(!c){break a}b:{c:{d:{e=J[c+220>>2];switch(e-2|0){case 0:case 2:break c;default:break d}}e:{d=N[c+380>>2];f=Q(d*d);d=N[c+372>>2];h=Q(d*d);d=N[c+376>>2];f=Q(f+Q(h+Q(d*d)));d=N[c+532>>2];if(!(f>2];f=Q(d*d);d=N[c+388>>2];h=Q(d*d);d=N[c+392>>2];f=Q(f+Q(h+Q(d*d)));d=N[c+536>>2];if(!(f>2]=N[c+224>>2]+b;break b}J[c+224>>2]=0;if((J[c+220>>2]&-2)!=4){J[c+220>>2]=0}e=J[c+220>>2]}if((e|0)==4){break a}}f:{if(K[35721]){break f}d=N[8267];if(d==Q(0)|!(d>2])&(e&-2)!=2){break f}if(K[c+204|0]&3){if((J[c+220>>2]&-2)!=4){J[c+220>>2]=2}break a}if((e|0)==1){if((J[c+220>>2]&-2)!=4){J[c+220>>2]=3}e=J[c+220>>2]}if((e|0)!=2){break a}J[c+388>>2]=0;J[c+392>>2]=0;J[c+372>>2]=0;J[c+376>>2]=0;J[c+396>>2]=0;J[c+400>>2]=0;J[c+380>>2]=0;J[c+384>>2]=0;J[c+304>>2]=J[c+304>>2]+2;break a}if((J[c+220>>2]&-2)!=4){J[c+220>>2]=1}}g=g+1|0;if((g|0)>2]){continue}break}}ua[J[8263]]();sa=i+16|0}function Bc(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;J[a+12>>2]=0;H[a+16|0]=1;J[a+4>>2]=0;J[a+8>>2]=0;d=J[b+4>>2];if((d|0)<=0){J[a+4>>2]=d;return}J[8456]=J[8456]+1;l=d<<2;e=ua[J[8258]](l,16)|0;g=J[a+12>>2];a:{b:{c:{d:{k=J[a+4>>2];if((k|0)>0){if(k>>>0>=4){m=k&-4;while(1){c=f<<2;J[c+e>>2]=J[c+g>>2];j=c|4;J[j+e>>2]=J[g+j>>2];j=c|8;J[j+e>>2]=J[g+j>>2];c=c|12;J[c+e>>2]=J[c+g>>2];f=f+4|0;h=h+4|0;if((m|0)!=(h|0)){continue}break}}c=k&3;if(c){while(1){h=f<<2;J[h+e>>2]=J[g+h>>2];f=f+1|0;i=i+1|0;if((c|0)!=(i|0)){continue}break}}if(!K[a+16|0]){break c}break d}if(K[a+16|0]?g:0){break d}J[a+12>>2]=e;H[a+16|0]=1;J[a+8>>2]=d;Fa(e,0,l);J[a+4>>2]=d;break b}if(g){J[8457]=J[8457]+1;ua[J[8259]](g)}}J[a+12>>2]=e;H[a+16|0]=1;J[a+8>>2]=d;Fa(e,0,l);J[a+4>>2]=d;if((d|0)<=0){break a}}a=J[b+12>>2];i=0;f=0;if(d>>>0>=4){g=d&-4;h=0;while(1){b=f<<2;J[b+e>>2]=J[a+b>>2];c=b|4;J[c+e>>2]=J[a+c>>2];c=b|8;J[c+e>>2]=J[a+c>>2];b=b|12;J[b+e>>2]=J[a+b>>2];f=f+4|0;h=h+4|0;if((g|0)!=(h|0)){continue}break}}b=d&3;if(!b){break a}while(1){d=f<<2;J[d+e>>2]=J[a+d>>2];f=f+1|0;i=i+1|0;if((b|0)!=(i|0)){continue}break}}}function dl(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;bb(a,b,c);d=J[a+56>>2];ua[J[J[d>>2]+56>>2]](d,b+12|0,c)|0;N[b+52>>2]=N[a+20>>2];a:{b:{if(!J[a+60>>2]){break b}if(ua[J[J[c>>2]+52>>2]](c)&1){break b}d=ua[J[J[c>>2]+24>>2]](c,J[a+60>>2])|0;if(d){J[b+44>>2]=0;J[b+40>>2]=d;break a}d=ua[J[J[c>>2]+28>>2]](c,J[a+60>>2])|0;J[b+44>>2]=0;J[b+40>>2]=d;d=J[a+60>>2];d=(g=c,h=ua[J[J[d>>2]+12>>2]](d)|0,i=1,f=J[J[c>>2]+16>>2],ua[f](g|0,h|0,i|0)|0);e=J[a+60>>2];i=c,h=d,g=ua[J[J[e>>2]+16>>2]](e,J[d+8>>2],c)|0,j=1213612625,k=J[a+60>>2],f=J[J[c>>2]+20>>2],ua[f](i|0,h|0,g|0,j|0,k|0);break a}J[b+40>>2]=0;J[b+44>>2]=0}c:{d:{if(!J[a+64>>2]){break d}if(ua[J[J[c>>2]+52>>2]](c)&2){break d}d=ua[J[J[c>>2]+24>>2]](c,J[a+64>>2])|0;if(d){J[b+48>>2]=d;break c}f=b,k=ua[J[J[c>>2]+28>>2]](c,J[a+64>>2])|0,J[f+48>>2]=k;d=J[a+64>>2];d=(k=c,j=ua[J[J[d>>2]+8>>2]](d)|0,g=1,f=J[J[c>>2]+16>>2],ua[f](k|0,j|0,g|0)|0);e=J[a+64>>2];g=c,j=d,k=ua[J[J[e>>2]+12>>2]](e,J[d+8>>2],c)|0,h=1346456916,i=J[a+64>>2],f=J[J[c>>2]+20>>2],ua[f](g|0,j|0,k|0,h|0,i|0);break c}J[b+48>>2]=0}J[b+56>>2]=0;return 8861}function li(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=Q(0);Gb(a,b,c);N[b+52>>2]=N[a+552>>2];N[b+56>>2]=N[a+556>>2];N[b+60>>2]=N[a+560>>2];N[b- -64>>2]=N[a+564>>2];N[b+68>>2]=N[a+568>>2];N[b+72>>2]=N[a+572>>2];N[b+76>>2]=N[a+576>>2];N[b+80>>2]=N[a+580>>2];N[b+84>>2]=N[a+584>>2];N[b+88>>2]=N[a+588>>2];N[b+92>>2]=N[a+592>>2];N[b+96>>2]=N[a+596>>2];N[b+100>>2]=N[a+600>>2];N[b+104>>2]=N[a+604>>2];N[b+108>>2]=N[a+608>>2];N[b+112>>2]=N[a+612>>2];N[b+116>>2]=N[a+616>>2];N[b+120>>2]=N[a+620>>2];N[b+124>>2]=N[a+624>>2];N[b+128>>2]=N[a+628>>2];N[b+132>>2]=N[a+632>>2];N[b+136>>2]=N[a+636>>2];N[b+140>>2]=N[a+640>>2];N[b+144>>2]=N[a+644>>2];N[b+148>>2]=N[a+648>>2];N[b+152>>2]=N[a+652>>2];N[b+156>>2]=N[a+656>>2];N[b+160>>2]=N[a+660>>2];N[b+164>>2]=N[a+664>>2];N[b+168>>2]=N[a+668>>2];N[b+172>>2]=N[a+672>>2];N[b+176>>2]=N[a+676>>2];J[b+184>>2]=K[a+736|0];J[b+188>>2]=K[a+737|0];N[b+196>>2]=N[a+684>>2];N[b+192>>2]=N[a+680>>2];J[b+180>>2]=K[a+740|0];c=a+688|0;d=b,e=Eb(c),N[d+200>>2]=e;d=b,e=Fb(c),N[d+204>>2]=e;N[b+208>>2]=N[a+696>>2];N[b+212>>2]=N[a+700>>2];N[b+216>>2]=N[a+704>>2];return 8624}function Ql(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;a=J[b>>2];b=Pc(ua[J[J[a>>2]+56>>2]](a,116)|0,b,c,d,0);J[b>>2]=16340;H[b+104|0]=1;J[b+100>>2]=0;J[b+92>>2]=0;J[b+96>>2]=0;J[8456]=J[8456]+1;a=ua[J[8258]](64,16)|0;H[a+20|0]=1;J[a>>2]=17788;J[a+16>>2]=0;H[a+40|0]=1;J[a+8>>2]=0;J[a+12>>2]=0;J[a+36>>2]=0;H[a+60|0]=1;J[a+28>>2]=0;J[a+32>>2]=0;J[a+56>>2]=0;J[a+48>>2]=0;J[a+52>>2]=0;J[8456]=J[8456]+1;i=ua[J[8258]](24,16)|0;g=J[a+8>>2];a:{if((g|0)<=0){break a}if((g|0)!=1){l=g&-2;while(1){e=P(f,12);h=e+J[a+16>>2]|0;j=J[h+4>>2];e=e+i|0;J[e>>2]=J[h>>2];J[e+4>>2]=j;J[e+8>>2]=J[h+8>>2];e=P(f|1,12);h=e+J[a+16>>2]|0;j=J[h+4>>2];e=e+i|0;J[e>>2]=J[h>>2];J[e+4>>2]=j;J[e+8>>2]=J[h+8>>2];f=f+2|0;k=k+2|0;if((l|0)!=(k|0)){continue}break}}if(!(g&1)){break a}g=P(f,12);f=g+J[a+16>>2]|0;h=J[f+4>>2];g=g+i|0;J[g>>2]=J[f>>2];J[g+4>>2]=h;J[g+8>>2]=J[f+8>>2]}f=J[a+16>>2];if(!(f?!f|!K[a+20|0]:1)){J[8457]=J[8457]+1;ua[J[8259]](f)}J[a+16>>2]=i;H[a+20|0]=1;J[a+12>>2]=2;Jc(a);J[b+84>>2]=a;J[b+108>>2]=J[J[c+4>>2]+76>>2];J[b+112>>2]=J[J[d+4>>2]+76>>2];return b|0}function pc(a,b){var c=Q(0),d=Q(0),e=0,f=Q(0),g=Q(0),h=Q(0);d=N[((b<<2)+a|0)+1364>>2];e=P(b,88)+a|0;f=N[e+968>>2];g=N[e+972>>2];a:{if(f>=g){break a}if(dQ(3.1415927410125732))){break b}c=Q(c+Q(-6.2831854820251465))}h=Q(R(c));c=Qa(Q(g-d));c:{if(cQ(3.1415927410125732))){break c}c=Q(c+Q(-6.2831854820251465))}d=hg)){break a}c=Qa(Q(d-g));d:{if(cQ(3.1415927410125732))){break d}c=Q(c+Q(-6.2831854820251465))}h=Q(R(c));c=Qa(Q(d-f));e:{if(cQ(3.1415927410125732))){break e}c=Q(c+Q(-6.2831854820251465))}d=h>Q(R(c))?Q(d+Q(-6.2831854820251465)):d}N[e+1048>>2]=d;e=e+1040|0;if(f>g){J[(P(b,88)+a|0)+1052>>2]=0;J[e>>2]=0;return}N[e>>2]=d-f;if(f==g){J[(P(b,88)+a|0)+1052>>2]=3;return}a=P(b,88)+a|0;J[a+1052>>2]=4;N[a+1044>>2]=d-g}function Ci(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=Q(0),i=Q(0),j=Q(0),k=Q(0),l=Q(0),m=Q(0);e=sa-688|0;sa=e;f=Ob(e+576|0);J[f+4>>2]=1;J[f>>2]=15832;g=J[b+12>>2];J[f+72>>2]=J[b+8>>2];J[f+76>>2]=g;g=J[b+4>>2];J[f+64>>2]=J[b>>2];J[f+68>>2]=g;g=J[b+28>>2];J[f+88>>2]=J[b+24>>2];J[f+92>>2]=g;g=J[b+20>>2];J[f+80>>2]=J[b+16>>2];J[f+84>>2]=g;g=J[b+44>>2];J[f+104>>2]=J[b+40>>2];J[f+108>>2]=g;g=J[b+36>>2];J[f+96>>2]=J[b+32>>2];J[f+100>>2]=g;N[f+52>>2]=N[a+204>>2];H[e+548|0]=0;J[e+524>>2]=953267991;J[e+212>>2]=22676;g=J[a+4>>2];b=e+188|0;J[b+20>>2]=0;J[b+16>>2]=f;J[b+12>>2]=g;J[b+8>>2]=e+212;J[b+4>>2]=e+216;J[b>>2]=22452;J[e+12>>2]=13156;J[e+176>>2]=1065353216;J[e+180>>2]=0;N[e+184>>2]=N[a+208>>2];g=b;b=a+136|0;a:{if(!Yd(g,a+8|0,a+72|0,b,b,e+12|0)){break a}h=N[e+152>>2];i=N[e+144>>2];j=N[e+148>>2];k=Q(Q(h*h)+Q(Q(i*i)+Q(j*j)));if(!(k>Q(9999999747378752e-20))){break a}l=N[e+176>>2];if(!(l>2])){break a}m=h;h=Q(Q(1)/Q(Y(k)));N[e+152>>2]=m*h;N[e+148>>2]=j*h;N[e+144>>2]=i*h;Q(ua[J[J[a>>2]+12>>2]](a,e+144|0,e+160|0,l,c,d))}sb(f);sa=e+688|0}function xi(a,b){a=a|0;b=b|0;var c=0,d=0;qc(a,J[a+28>>2]+4|0,J[a+32>>2]+4|0);J[b>>2]=0;J[b+4>>2]=0;d=2;a:{b:{c:{c=J[a+956>>2];switch(c|0){case 0:break a;case 4:break b;default:break c}}d=1}J[b>>2]=d;c=d}if(K[a+792|0]){c=c+1|0;J[b>>2]=c}if(K[a+798|0]){c=c+1|0;J[b>>2]=c}d=2;d:{switch(J[a+960>>2]){default:d=1;case 4:c=c+d|0;J[b>>2]=c;break;case 0:break d}}if(K[a+793|0]){c=c+1|0;J[b>>2]=c}if(K[a+799|0]){c=c+1|0;J[b>>2]=c}d=2;e:{switch(J[a+964>>2]){default:d=1;case 4:c=c+d|0;J[b>>2]=c;break;case 0:break e}}if(K[a+794|0]){c=c+1|0;J[b>>2]=c}if(K[a+800|0]){J[b>>2]=c+1}pc(a,0);c=2;f:{switch(J[a+1052>>2]){default:c=1;case 4:J[b>>2]=J[b>>2]+c;break;case 0:break f}}if(K[a+996|0]){J[b>>2]=J[b>>2]+1}if(K[a+1016|0]){J[b>>2]=J[b>>2]+1}pc(a,1);c=2;g:{switch(J[a+1140>>2]){default:c=1;case 4:J[b>>2]=J[b>>2]+c;break;case 0:break g}}if(K[a+1084|0]){J[b>>2]=J[b>>2]+1}if(K[a+1104|0]){J[b>>2]=J[b>>2]+1}c=2;pc(a,2);h:{switch(J[a+1228>>2]){default:c=1;case 4:J[b>>2]=J[b>>2]+c;break;case 0:break h}}if(K[a+1172|0]){J[b>>2]=J[b>>2]+1}if(K[a+1192|0]){J[b>>2]=J[b>>2]+1}}function Fk(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=Q(0),f=Q(0),g=Q(0),h=Q(0),i=Q(0),j=Q(0),k=Q(0),l=Q(0),m=Q(0),n=Q(0),o=Q(0),p=Q(0),q=Q(0),r=Q(0),s=Q(0),t=Q(0),u=Q(0),v=Q(0),w=Q(0),x=Q(0),y=Q(0);a:{if(J[a+24>>2]){g=N[a- -64>>2];e=N[a+48>>2];h=Q(Q(g+e)*Q(.5));f=N[a+60>>2];k=N[a+44>>2];i=Q(Q(f+k)*Q(.5));l=Q(Q(g-e)*Q(.5));u=Q(Q(f-k)*Q(.5));e=N[a+56>>2];f=N[a+40>>2];g=Q(Q(e+f)*Q(.5));e=Q(Q(e-f)*Q(.5));break a}e=Q(0)}v=Q(ua[J[J[a>>2]+48>>2]](a));w=Q(ua[J[J[a>>2]+48>>2]](a));p=Q(ua[J[J[a>>2]+48>>2]](a));x=N[b+52>>2];f=N[b+20>>2];k=N[b+24>>2];o=N[b+56>>2];m=N[b+36>>2];j=N[b+40>>2];y=N[b+48>>2];q=N[b+8>>2];r=N[b>>2];s=N[b+4>>2];t=N[b+16>>2];n=N[b+32>>2];J[c+12>>2]=0;o=Q(o+Q(Q(h*j)+Q(Q(g*n)+Q(i*m))));l=Q(l+p);p=Q(l*Q(R(j)));e=Q(e+v);j=Q(u+w);m=Q(p+Q(Q(e*Q(R(n)))+Q(j*Q(R(m)))));N[c+8>>2]=o-m;n=Q(x+Q(Q(h*k)+Q(Q(g*t)+Q(i*f))));f=Q(Q(l*Q(R(k)))+Q(Q(e*Q(R(t)))+Q(j*Q(R(f)))));N[c+4>>2]=n-f;h=Q(y+Q(Q(h*q)+Q(Q(g*r)+Q(i*s))));i=Q(Q(l*Q(R(q)))+Q(Q(e*Q(R(r)))+Q(j*Q(R(s)))));N[c>>2]=h-i;J[d+12>>2]=0;N[d+8>>2]=m+o;N[d+4>>2]=f+n;N[d>>2]=i+h}function Ra(a,b,c){var d=0,e=Q(0),f=0,g=0,h=Q(0),i=Q(0),j=Q(0),k=Q(0),l=Q(0),m=Q(0),n=Q(0),o=Q(0),p=Q(0),q=Q(0),r=Q(0),s=Q(0),t=Q(0),u=Q(0),v=0,w=Q(0),x=Q(0),y=Q(0);d=sa-48|0;sa=d;f=J[b+120>>2];v=J[b+124>>2];g=J[b>>2]+(v>>1)|0;if(v&1){f=J[f+J[g>>2]>>2]}ua[f|0](d,g,c);h=N[c+8>>2];i=N[c+4>>2];k=N[c>>2];f=J[b+124>>2];g=J[b+4>>2]+(f>>1)|0;c=J[b+120>>2];c=f&1?J[J[g>>2]+c>>2]:c;l=N[b+16>>2];m=N[b+12>>2];n=N[b+32>>2];o=N[b+24>>2];p=N[b+28>>2];q=N[b+48>>2];e=N[b+40>>2];r=N[b+44>>2];s=N[b+8>>2];J[d+28>>2]=0;j=e;e=Q(-k);N[d+24>>2]=Q(Q(j*e)-Q(r*i))-Q(q*h);N[d+20>>2]=Q(Q(o*e)-Q(p*i))-Q(n*h);N[d+16>>2]=Q(Q(s*e)-Q(m*i))-Q(l*h);ua[c|0](d+32|0,g,d+16|0);w=N[b+104>>2];x=N[b- -64>>2];y=N[b+60>>2];h=N[b+108>>2];i=N[b+80>>2];k=N[b+72>>2];l=N[b+76>>2];m=N[b+112>>2];n=N[b+96>>2];o=N[b+88>>2];p=N[b+92>>2];q=N[b+56>>2];j=N[d+40>>2];t=N[d+32>>2];u=N[d+36>>2];e=N[d>>2];r=N[d+4>>2];s=N[d+8>>2];J[a+12>>2]=0;N[a+8>>2]=s-Q(m+Q(Q(j*n)+Q(Q(t*o)+Q(u*p))));N[a+4>>2]=r-Q(h+Q(Q(j*i)+Q(Q(t*k)+Q(u*l))));N[a>>2]=e-Q(w+Q(Q(j*x)+Q(Q(t*q)+Q(u*y))));sa=d+48|0}function ri(a,b){a=a|0;b=b|0;var c=Q(0),d=0,e=0,f=Q(0),g=Q(0),h=Q(0),i=Q(0),j=Q(0),k=Q(0),l=Q(0),m=Q(0),n=Q(0),o=Q(0),p=Q(0),q=Q(0),r=Q(0),s=Q(0),t=Q(0),u=Q(0),v=Q(0),w=Q(0);a:{b:{if(K[a+738|0]){J[b>>2]=0;a=0;break b}J[b>>2]=5;J[b+4>>2]=1;d=J[a+32>>2];c=N[a+652>>2];f=N[a+620>>2];g=N[a+636>>2];l=Q(Q(N[d+44>>2]*c)+Q(Q(N[d+36>>2]*f)+Q(g*N[d+40>>2])));e=J[a+28>>2];m=N[e+44>>2];h=N[a+584>>2];n=N[e+36>>2];i=N[a+552>>2];j=N[a+568>>2];o=N[e+40>>2];u=Q(l*Q(Q(m*h)+Q(Q(n*i)+Q(j*o))));p=Q(Q(N[d+12>>2]*c)+Q(Q(N[d+4>>2]*f)+Q(g*N[d+8>>2])));q=N[e+12>>2];r=N[e+4>>2];s=N[e+8>>2];v=Q(p*Q(Q(q*h)+Q(Q(r*i)+Q(j*s))));t=N[e+28>>2];k=Q(t*h);h=N[e+20>>2];w=Q(h*i);i=N[e+24>>2];k=Q(k+Q(w+Q(j*i)));j=Q(Q(N[d+28>>2]*c)+Q(Q(N[d+20>>2]*f)+Q(g*N[d+24>>2])));c=N[a+588>>2];f=N[a+556>>2];g=N[a+572>>2];c=Q(Ia(Q(u+Q(v+Q(k*j))),Q(Q(l*Q(Q(m*c)+Q(Q(n*f)+Q(o*g))))+Q(Q(p*Q(Q(q*c)+Q(Q(r*f)+Q(s*g))))+Q(Q(Q(t*c)+Q(Q(h*f)+Q(i*g)))*j))))*N[a+732>>2]);N[a+728>>2]=c;Id(a+688|0,c);if(!(K[a+716|0]|K[a+737|0])){break a}J[b>>2]=J[b>>2]+1;a=J[b+4>>2]-1|0}J[b+4>>2]=a}}function Ch(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0;d=sa-16|0;sa=d;ua[J[8262]](7775);gf(a);a:{if(!(ua[J[J[a>>2]+20>>2]](a)|0)){break a}b=ua[J[J[a>>2]+20>>2]](a)|0;if(!(ua[J[J[b>>2]+56>>2]](b)&6144)){break a}b=ua[J[J[a>>2]+104>>2]](a)|0;if((b|0)<=0){break a}c=b;if(b&1){c=b-1|0;f=a,g=ua[J[J[a>>2]+108>>2]](a,c)|0,e=J[J[a>>2]+172>>2],ua[e](f|0,g|0)}if((b|0)==1){break a}while(1){b=c-1|0;g=a,f=ua[J[J[a>>2]+108>>2]](a,b)|0,e=J[J[a>>2]+172>>2],ua[e](g|0,f|0);c=c-2|0;f=a,g=ua[J[J[a>>2]+108>>2]](a,c)|0,e=J[J[a>>2]+172>>2],ua[e](f|0,g|0);if(b>>>0>1){continue}break}}b:{if(!(ua[J[J[a>>2]+20>>2]](a)|0)){break b}b=ua[J[J[a>>2]+20>>2]](a)|0;if(!(ua[J[J[b>>2]+56>>2]](b)&16387)){break b}if(!(ua[J[J[a>>2]+20>>2]](a)|0)){break b}b=ua[J[J[a>>2]+20>>2]](a)|0;if(!(ua[J[J[b>>2]+56>>2]](b)|0)|J[a+296>>2]<=0){break b}c=0;while(1){b=J[J[a+304>>2]+(c<<2)>>2];ua[J[J[b>>2]+12>>2]](b,J[a+72>>2]);c=c+1|0;if((c|0)>2]){continue}break}}if(ua[J[J[a>>2]+20>>2]](a)|0){a=ua[J[J[a>>2]+20>>2]](a)|0;ua[J[J[a>>2]+104>>2]](a)}ua[J[8263]]();sa=d+16|0}function Xh(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;d=J[a+288>>2];a:{b:{if(c){c:{if(J[a+292>>2]!=(d|0)){break c}h=d?d<<1:1;if((h|0)<=(d|0)){break c}if(h){J[8456]=J[8456]+1;f=ua[J[8258]](h<<2,16)|0;d=J[a+288>>2]}d:{if((d|0)<=0){break d}c=0;if(d>>>0>=4){i=d&-4;while(1){e=c<<2;J[e+f>>2]=J[e+J[a+296>>2]>>2];g=e|4;J[g+f>>2]=J[g+J[a+296>>2]>>2];g=e|8;J[g+f>>2]=J[g+J[a+296>>2]>>2];e=e|12;J[e+f>>2]=J[e+J[a+296>>2]>>2];c=c+4|0;j=j+4|0;if((i|0)!=(j|0)){continue}break}}e=d&3;if(!e){break d}while(1){i=c<<2;J[i+f>>2]=J[i+J[a+296>>2]>>2];c=c+1|0;k=k+1|0;if((e|0)!=(k|0)){continue}break}}c=J[a+296>>2];if(!(!c|!K[a+300|0])){if(c){J[8457]=J[8457]+1;ua[J[8259]](c)}d=J[a+288>>2]}J[a+296>>2]=f;H[a+300|0]=1;J[a+292>>2]=h}J[J[a+296>>2]+(d<<2)>>2]=b;d=d+1|0;break b}if((d|0)<=0){break a}f=J[a+296>>2];c=0;while(1){e=f+(c<<2)|0;if(J[e>>2]!=(b|0)){c=c+1|0;if((d|0)!=(c|0)){continue}break a}break}if((c|0)>=(d|0)){break a}d=d-1|0;c=d<<2;J[e>>2]=J[c+f>>2];J[c+J[a+296>>2]>>2]=b}J[a+288>>2]=d}J[a+280>>2]=(d|0)>0}function Le(a){var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0;b=J[a+16>>2];if(!(b?!b|!K[a+20|0]:1)){J[8457]=J[8457]+1;ua[J[8259]](b)}J[a+16>>2]=0;H[a+20|0]=1;J[a+8>>2]=0;J[a+12>>2]=0;b=J[a+36>>2];if(!(b?!b|!K[a+40|0]:1)){J[8457]=J[8457]+1;ua[J[8259]](b)}J[a+36>>2]=0;H[a+40|0]=1;J[a+28>>2]=0;J[a+32>>2]=0;b=J[a+56>>2];if(!(b?!b|!K[a+60|0]:1)){J[8457]=J[8457]+1;ua[J[8259]](b)}J[a+56>>2]=0;H[a+60|0]=1;J[a+48>>2]=0;J[a+52>>2]=0;if(J[a+12>>2]<=1){J[8456]=J[8456]+1;f=ua[J[8258]](24,16)|0;d=J[a+8>>2];a:{if((d|0)<=0){break a}b=0;if((d|0)!=1){i=d&-2;while(1){c=P(b,12);e=c+J[a+16>>2]|0;g=J[e+4>>2];c=c+f|0;J[c>>2]=J[e>>2];J[c+4>>2]=g;J[c+8>>2]=J[e+8>>2];c=P(b|1,12);e=c+J[a+16>>2]|0;g=J[e+4>>2];c=c+f|0;J[c>>2]=J[e>>2];J[c+4>>2]=g;J[c+8>>2]=J[e+8>>2];b=b+2|0;h=h+2|0;if((h|0)!=(i|0)){continue}break}}if(!(d&1)){break a}d=P(b,12);b=d+J[a+16>>2]|0;e=J[b+4>>2];d=d+f|0;J[d>>2]=J[b>>2];J[d+4>>2]=e;J[d+8>>2]=J[b+8>>2]}b=J[a+16>>2];if(!(b?!b|!K[a+20|0]:1)){J[8457]=J[8457]+1;ua[J[8259]](b)}J[a+16>>2]=f;H[a+20|0]=1;J[a+12>>2]=2}Jc(a)}function Dg(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;f=J[a+188>>2];j=J[b>>2];d=J[a+328>>2];a:{b:{if((d|0)<=0){break b}g=J[a+336>>2];while(1){if(J[g+(e<<2)>>2]!=(j|0)){e=e+1|0;if((e|0)!=(d|0)){continue}break b}break}if((d|0)!=(e|0)){break a}}m=c?c:f;c:{if(J[a+332>>2]!=(d|0)){break c}g=d?d<<1:1;if((g|0)<=(d|0)){break c}d:{if(!g){c=0;break d}J[8456]=J[8456]+1;c=ua[J[8258]](g<<2,16)|0;d=J[a+328>>2]}e:{if((d|0)<=0){break e}e=0;if(d>>>0>=4){i=d&-4;while(1){f=e<<2;J[f+c>>2]=J[f+J[a+336>>2]>>2];h=f|4;J[h+c>>2]=J[h+J[a+336>>2]>>2];h=f|8;J[h+c>>2]=J[h+J[a+336>>2]>>2];f=f|12;J[f+c>>2]=J[f+J[a+336>>2]>>2];e=e+4|0;k=k+4|0;if((i|0)!=(k|0)){continue}break}}f=d&3;if(!f){break e}while(1){i=e<<2;J[i+c>>2]=J[i+J[a+336>>2]>>2];e=e+1|0;l=l+1|0;if((f|0)!=(l|0)){continue}break}}e=J[a+336>>2];if(!(!e|!K[a+340|0])){if(e){J[8457]=J[8457]+1;ua[J[8259]](e)}d=J[a+328>>2]}J[a+336>>2]=c;H[a+340|0]=1;J[a+332>>2]=g}J[J[a+336>>2]+(d<<2)>>2]=j;J[a+328>>2]=d+1;a=J[a+344>>2];ua[J[J[a>>2]+8>>2]](a,m,b)|0}}function Cb(a){a=a|0;var b=0;J[a>>2]=24120;if(K[a+288|0]){b=J[a+220>>2];ua[J[J[b>>2]>>2]](b)|0;b=J[a+220>>2];if(b){J[8457]=J[8457]+1;ua[J[8259]](b)}}b=J[a+212>>2];if(b){ua[J[J[b>>2]>>2]](b)|0;b=J[a+212>>2];if(b){J[8457]=J[8457]+1;ua[J[8259]](b)}}if(K[a+289|0]){b=J[a+216>>2];ua[J[J[b>>2]>>2]](b)|0;b=J[a+216>>2];if(b){J[8457]=J[8457]+1;ua[J[8259]](b)}}b=J[a+332>>2];if(!(b?!b|!K[a+336|0]:1)){J[8457]=J[8457]+1;ua[J[8259]](b)}J[a+332>>2]=0;H[a+336|0]=1;J[a+324>>2]=0;J[a+328>>2]=0;b=J[a+304>>2];if(!(b?!b|!K[a+308|0]:1)){J[8457]=J[8457]+1;ua[J[8259]](b)}J[a+304>>2]=0;H[a+308|0]=1;J[a+296>>2]=0;J[a+300>>2]=0;b=J[a+256>>2];if(!(b?!b|!K[a+260|0]:1)){J[8457]=J[8457]+1;ua[J[8259]](b)}J[a+256>>2]=0;H[a+260|0]=1;J[a+248>>2]=0;J[a+252>>2]=0;b=J[a+236>>2];if(!(b?!b|!K[a+240|0]:1)){J[8457]=J[8457]+1;ua[J[8259]](b)}J[a+236>>2]=0;H[a+240|0]=1;J[a+228>>2]=0;J[a+232>>2]=0;b=J[a+204>>2];if(!(b?!b|!K[a+208|0]:1)){J[8457]=J[8457]+1;ua[J[8259]](b)}J[a+204>>2]=0;H[a+208|0]=1;J[a+196>>2]=0;J[a+200>>2]=0;return Wc(a)|0}function mb(a,b,c,d,e,f,g){var h=Q(0),i=Q(0),j=0,k=0,l=Q(0),m=Q(0),n=Q(0),o=0;J[d>>2]=2139095039;J[e>>2]=-8388609;o=J[a+8>>2];if((o|0)<=0){h=Q(-34028234663852886e22)}else{while(1){k=J[a+16>>2]+(j<<4)|0;h=N[k+8>>2];i=N[k>>2];l=N[k+4>>2];m=Q(Q(Q(h*N[b+40>>2])+Q(Q(i*N[b+32>>2])+Q(l*N[b+36>>2])))+N[b+56>>2]);n=Q(Q(Q(h*N[b+8>>2])+Q(Q(i*N[b>>2])+Q(l*N[b+4>>2])))+N[b+48>>2]);i=Q(Q(Q(h*N[b+24>>2])+Q(Q(i*N[b+16>>2])+Q(l*N[b+20>>2])))+N[b+52>>2]);h=Q(Q(m*N[c+8>>2])+Q(Q(n*N[c>>2])+Q(i*N[c+4>>2])));if(h>2]){N[d>>2]=h;J[f+12>>2]=0;N[f+8>>2]=m;N[f+4>>2]=i;N[f>>2]=n}if(h>N[e>>2]){N[e>>2]=h;J[g+12>>2]=0;N[g+8>>2]=m;N[g+4>>2]=i;N[g>>2]=n}j=j+1|0;if((o|0)!=(j|0)){continue}break}h=N[e>>2]}i=N[d>>2];if(h>2]=h;N[e>>2]=i;b=J[f+12>>2];a=sa-16|0;J[a+8>>2]=J[f+8>>2];J[a+12>>2]=b;b=J[f+4>>2];J[a>>2]=J[f>>2];J[a+4>>2]=b;b=J[g+12>>2];J[f+8>>2]=J[g+8>>2];J[f+12>>2]=b;b=J[g+4>>2];J[f>>2]=J[g>>2];J[f+4>>2]=b;b=J[a+12>>2];J[g+8>>2]=J[a+8>>2];J[g+12>>2]=b;b=J[a+4>>2];J[g>>2]=J[a>>2];J[g+4>>2]=b}}function fe(a,b,c,d){var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;h=sa-16|0;sa=h;while(1){m=c;g=J[a+12>>2]+((c+d|0)/2<<4)|0;n=J[g+8>>2];k=J[g+4>>2];l=J[g>>2];g=d;while(1){i=J[a+12>>2];while(1){a:{f=(c<<4)+i|0;e=J[f+4>>2];b:{if((e|0)<(k|0)){break b}if((e|0)!=(k|0)){break a}e=J[f>>2];if((e|0)<(l|0)){break b}if((e|0)!=(l|0)|J[f+8>>2]>=(n|0)){break a}}c=c+1|0;continue}break}while(1){c:{o=g<<4;e=o+i|0;j=J[e+4>>2];d:{if((j|0)>(k|0)){break d}if((k|0)!=(j|0)){break c}j=J[e>>2];if((j|0)>(l|0)){break d}if((l|0)!=(j|0)|J[e+8>>2]<=(n|0)){break c}}g=g-1|0;continue}break}if((c|0)<=(g|0)){i=J[f+12>>2];J[h+8>>2]=J[f+8>>2];J[h+12>>2]=i;i=J[f+4>>2];J[h>>2]=J[f>>2];J[h+4>>2]=i;i=J[e+4>>2];J[f>>2]=J[e>>2];J[f+4>>2]=i;i=J[e+12>>2];J[f+8>>2]=J[e+8>>2];J[f+12>>2]=i;e=J[h+4>>2];f=J[a+12>>2]+o|0;J[f>>2]=J[h>>2];J[f+4>>2]=e;e=J[h+12>>2];J[f+8>>2]=J[h+8>>2];J[f+12>>2]=e;g=g-1|0;c=c+1|0}if((c|0)<=(g|0)){continue}break}if((g|0)>(m|0)){fe(a,b,m,g)}if((c|0)<(d|0)){continue}break}sa=h+16|0}function vd(a,b,c){var d=Q(0),e=Q(0),f=Q(0),g=Q(0),h=Q(0),i=Q(0),j=Q(0),k=Q(0),l=Q(0),m=Q(0),n=Q(0),o=Q(0),p=Q(0),q=Q(0),r=Q(0),s=Q(0),t=Q(0),u=Q(0),v=Q(0),w=Q(0),x=Q(0),y=Q(0),z=Q(0),A=Q(0);y=N[b+52>>2];z=N[b+56>>2];m=N[c+52>>2];n=N[c+56>>2];d=N[b+20>>2];e=N[b+24>>2];o=N[c+20>>2];p=N[c+36>>2];f=N[b+36>>2];q=N[c+24>>2];g=N[b+40>>2];r=N[c+40>>2];A=N[b+48>>2];s=N[c+48>>2];h=N[b+16>>2];t=N[c+4>>2];i=N[b+32>>2];u=N[c+8>>2];j=N[b+8>>2];v=N[c+32>>2];k=N[b>>2];w=N[c>>2];l=N[b+4>>2];x=N[c+16>>2];J[a+60>>2]=0;J[a+44>>2]=0;J[a+28>>2]=0;J[a+12>>2]=0;N[a>>2]=Q(v*j)+Q(Q(w*k)+Q(x*l));N[a+40>>2]=Q(r*g)+Q(Q(u*i)+Q(q*f));N[a+36>>2]=Q(p*g)+Q(Q(t*i)+Q(o*f));N[a+32>>2]=Q(v*g)+Q(Q(w*i)+Q(x*f));N[a+24>>2]=Q(r*e)+Q(Q(u*h)+Q(q*d));N[a+20>>2]=Q(p*e)+Q(Q(t*h)+Q(o*d));N[a+16>>2]=Q(v*e)+Q(Q(w*h)+Q(x*d));N[a+8>>2]=Q(r*j)+Q(Q(u*k)+Q(l*q));N[a+4>>2]=Q(p*j)+Q(Q(t*k)+Q(l*o));N[a+56>>2]=z+Q(Q(n*g)+Q(Q(s*i)+Q(f*m)));N[a+52>>2]=y+Q(Q(n*e)+Q(Q(s*h)+Q(d*m)));N[a+48>>2]=A+Q(Q(n*j)+Q(Q(s*k)+Q(l*m)))}function bc(a,b){var c=0,d=0,e=Q(0),f=Q(0),g=Q(0),h=Q(0),i=Q(0),j=Q(0),k=Q(0),l=Q(0),m=Q(0),n=Q(0),o=Q(0),p=Q(0),q=Q(0);if(J[a>>2]==(b|0)){J[a>>2]=0;return 0}d=J[b+32>>2];c=J[(((J[d+40>>2]!=(b|0))<<2)+d|0)+36>>2];b=J[d+32>>2];a:{b:{if(b){J[((((d|0)==J[b+40>>2])<<2)+b|0)+36>>2]=c;J[c+32>>2]=b;c=J[a+4>>2];if(c){J[8457]=J[8457]+1;ua[J[8259]](c)}J[a+4>>2]=d;while(1){q=N[b>>2];d=J[b+36>>2];e=N[d>>2];c=J[b+40>>2];k=N[c>>2];e=e>2]=e;k=N[b+16>>2];f=N[d+16>>2];l=N[c+16>>2];f=f>l?f:l;N[b+16>>2]=f;l=N[b+4>>2];g=N[d+4>>2];m=N[c+4>>2];g=g>2]=g;m=N[b+20>>2];h=N[d+20>>2];n=N[c+20>>2];h=h>n?h:n;N[b+20>>2]=h;n=N[b+8>>2];i=N[d+8>>2];o=N[c+8>>2];i=i>2]=i;o=N[b+24>>2];j=N[d+24>>2];p=N[c+24>>2];j=j>p?j:p;N[b+24>>2]=j;c:{if(e!=q|l!=g|(n!=i|k!=f)){break c}if(m!=h){break c}if(o==j){break a}}b=J[b+32>>2];if(b){continue}break}break b}J[a>>2]=c;J[c+32>>2]=0;b=J[a+4>>2];if(b){J[8457]=J[8457]+1;ua[J[8259]](b)}J[a+4>>2]=d}b=J[a>>2]}return b}function Ad(a,b,c,d){var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;while(1){n=c;m=J[J[a+12>>2]+((c+d|0)/2<<2)>>2];f=d;while(1){k=J[a+12>>2];j=J[J[m+836>>2]+208>>2];g=(j|0)<0;a:{if(!g){while(1){h=c;l=(c<<2)+k|0;i=J[l>>2];e=J[J[i+836>>2]+208>>2];if((e|0)<0){e=J[J[i+840>>2]+208>>2]}c=h+1|0;if((e|0)<(j|0)){continue}break a}}o=J[J[m+840>>2]+208>>2];while(1){h=c;l=(c<<2)+k|0;i=J[l>>2];e=J[J[i+836>>2]+208>>2];if((e|0)<0){e=J[J[i+840>>2]+208>>2]}c=h+1|0;if((e|0)<(o|0)){continue}break}}b:{if(!g){while(1){c=f;g=J[(c<<2)+k>>2];e=J[J[g+836>>2]+208>>2];if((e|0)<0){e=J[J[g+840>>2]+208>>2]}f=c-1|0;if((e|0)>(j|0)){continue}break b}}j=J[J[m+840>>2]+208>>2];while(1){c=f;g=J[(c<<2)+k>>2];e=J[J[g+836>>2]+208>>2];if((e|0)<0){e=J[J[g+840>>2]+208>>2]}f=c-1|0;if((e|0)>(j|0)){continue}break}}c:{if((c|0)<(h|0)){f=c;c=h;break c}J[l>>2]=g;J[J[a+12>>2]+(c<<2)>>2]=i;f=c-1|0;c=h+1|0}if((c|0)<=(f|0)){continue}break}if((f|0)>(n|0)){Ad(a,b,n,f)}if((c|0)<(d|0)){continue}break}}function ls(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0;g=J[a+32>>2];e=J[a+24>>2];a:{while(1){if((e|0)<=0){break a}e=e-1|0;if(J[(g+P(e,80)|0)+64>>2]!=(b|0)){continue}break}b=sa+-64|0;sa=b;f=J[c+4>>2];g=P(e,80);e=g+J[a+32>>2]|0;J[e>>2]=J[c>>2];J[e+4>>2]=f;f=J[c+12>>2];J[e+8>>2]=J[c+8>>2];J[e+12>>2]=f;f=J[c+28>>2];J[e+24>>2]=J[c+24>>2];J[e+28>>2]=f;f=J[c+20>>2];J[e+16>>2]=J[c+16>>2];J[e+20>>2]=f;f=J[c+44>>2];J[e+40>>2]=J[c+40>>2];J[e+44>>2]=f;f=J[c+36>>2];J[e+32>>2]=J[c+32>>2];J[e+36>>2]=f;f=J[c+60>>2];J[e+56>>2]=J[c+56>>2];J[e+60>>2]=f;f=J[c+52>>2];J[e+48>>2]=J[c+48>>2];J[e+52>>2]=f;if(J[a+72>>2]){e=J[(g+J[a+32>>2]|0)+64>>2];ua[J[J[e>>2]+8>>2]](e,c,b+48|0,b+32|0);c=J[b+60>>2];J[b+8>>2]=J[b+56>>2];J[b+12>>2]=c;c=J[b+44>>2];J[b+24>>2]=J[b+40>>2];J[b+28>>2]=c;c=J[b+36>>2];J[b+16>>2]=J[b+32>>2];J[b+20>>2]=c;c=J[b+52>>2];J[b>>2]=J[b+48>>2];J[b+4>>2]=c;_c(J[a+72>>2],J[(g+J[a+32>>2]|0)+76>>2],b)}if(d){ua[J[J[a>>2]+68>>2]](a)}sa=b- -64|0}}function xd(a,b,c,d){var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;while(1){n=c;m=J[J[a+12>>2]+((c+d|0)/2<<2)>>2];f=d;while(1){k=J[a+12>>2];j=J[J[m+28>>2]+208>>2];g=(j|0)<0;a:{if(!g){while(1){h=c;l=(c<<2)+k|0;i=J[l>>2];e=J[J[i+28>>2]+208>>2];if((e|0)<0){e=J[J[i+32>>2]+208>>2]}c=h+1|0;if((e|0)<(j|0)){continue}break a}}o=J[J[m+32>>2]+208>>2];while(1){h=c;l=(c<<2)+k|0;i=J[l>>2];e=J[J[i+28>>2]+208>>2];if((e|0)<0){e=J[J[i+32>>2]+208>>2]}c=h+1|0;if((e|0)<(o|0)){continue}break}}b:{if(!g){while(1){c=f;g=J[(c<<2)+k>>2];e=J[J[g+28>>2]+208>>2];if((e|0)<0){e=J[J[g+32>>2]+208>>2]}f=c-1|0;if((e|0)>(j|0)){continue}break b}}j=J[J[m+32>>2]+208>>2];while(1){c=f;g=J[(c<<2)+k>>2];e=J[J[g+28>>2]+208>>2];if((e|0)<0){e=J[J[g+32>>2]+208>>2]}f=c-1|0;if((e|0)>(j|0)){continue}break}}c:{if((c|0)<(h|0)){f=c;c=h;break c}J[l>>2]=g;J[J[a+12>>2]+(c<<2)>>2]=i;f=c-1|0;c=h+1|0}if((c|0)<=(f|0)){continue}break}if((f|0)>(n|0)){xd(a,b,n,f)}if((c|0)<(d|0)){continue}break}}function qh(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;if(!(K[b+204|0]&3|H[b+564|0]&1)){Db(b,a+264|0)}if(J[b+192>>2]){a:{if(!(H[b+204|0]&1)){c=J[a+248>>2];b:{if((c|0)!=J[a+252>>2]){break b}h=c?c<<1:1;if((h|0)<=(c|0)){break b}if(h){J[8456]=J[8456]+1;f=ua[J[8258]](h<<2,16)|0;c=J[a+248>>2]}c:{if((c|0)<=0){break c}if(c>>>0>=4){i=c&-4;while(1){d=e<<2;J[d+f>>2]=J[d+J[a+256>>2]>>2];g=d|4;J[g+f>>2]=J[g+J[a+256>>2]>>2];g=d|8;J[g+f>>2]=J[g+J[a+256>>2]>>2];d=d|12;J[d+f>>2]=J[d+J[a+256>>2]>>2];e=e+4|0;j=j+4|0;if((i|0)!=(j|0)){continue}break}}d=c&3;if(!d){break c}while(1){i=e<<2;J[i+f>>2]=J[i+J[a+256>>2]>>2];e=e+1|0;k=k+1|0;if((d|0)!=(k|0)){continue}break}}e=J[a+256>>2];if(!(!e|!K[a+260|0])){if(e){J[8457]=J[8457]+1;ua[J[8259]](e)}c=J[a+248>>2]}J[a+256>>2]=f;H[a+260|0]=1;J[a+252>>2]=h}J[J[a+256>>2]+(c<<2)>>2]=b;J[a+248>>2]=c+1;break a}if((J[b+220>>2]&-2)!=4){J[b+220>>2]=2}}c=b;b=J[b+204>>2]&3;ua[J[J[a>>2]+36>>2]](a,c,b?2:1,b?-3:-1)}}function ic(a){var b=0,c=Q(0),d=0,e=Q(0),f=0,g=Q(0),h=Q(0),i=Q(0),j=0,k=0;d=sa-16|0;sa=d;b=J[a+8>>2];a:{if(!b){J[8456]=J[8456]+1;b=te(ua[J[8258]](64,16)|0,N[a+152>>2],N[a+156>>2]);J[a+8>>2]=b;break a}e=N[a+156>>2];c=N[a+152>>2];N[b+52>>2]=c;J[b+48>>2]=0;N[b+44>>2]=c;N[b+36>>2]=c;J[b+28>>2]=1065353216;J[b+32>>2]=0;J[b+20>>2]=1065353216;J[b+24>>2]=1065353216;J[b+60>>2]=1;N[b+40>>2]=e*Q(.5)}f=J[a+4>>2];ua[J[J[f>>2]+8>>2]](f,b);e=Q(ua[J[J[a>>2]+20>>2]](a));c=N[a+152>>2];J[d+12>>2]=0;N[d+8>>2]=c;N[d+4>>2]=e;N[d>>2]=c;b=J[a+104>>2];b:{if(!b){J[8456]=J[8456]+1;j=a,k=Ic(ua[J[8258]](64,16)|0,d),J[j+104>>2]=k;break b}g=Q(ua[J[J[b>>2]+48>>2]](b));h=Q(ua[J[J[b>>2]+48>>2]](b));i=Q(ua[J[J[b>>2]+48>>2]](b));J[b+48>>2]=0;N[b+44>>2]=Q(c*N[b+28>>2])-i;N[b+40>>2]=Q(e*N[b+24>>2])-h;N[b+36>>2]=Q(c*N[b+20>>2])-g;a=c(a?c:e)?!a:2)<<2)+d>>2]*Q(.10000000149011612));if(!(Q(ua[J[J[b>>2]+48>>2]](b))>c)){break b}ua[J[J[b>>2]+44>>2]](b,c)}sa=d+16|0}function Dd(a,b){var c=0,d=0,e=0,f=0;a:{d=J[a+548>>2];if((d|0)<=0){break a}e=J[a+556>>2];while(1){if(J[e+(c<<2)>>2]!=(b|0)){c=c+1|0;if((d|0)!=(c|0)){continue}break a}break}if((c|0)>=(d|0)){break a}c=0;b:{while(1){f=e+(c<<2)|0;if(J[f>>2]!=(b|0)){c=c+1|0;if((d|0)!=(c|0)){continue}break b}break}if((c|0)>=(d|0)){break b}d=d-1|0;c=d<<2;J[f>>2]=J[c+e>>2];J[c+J[a+556>>2]>>2]=b;J[a+548>>2]=d}d=J[b+32>>2];e=J[b+28>>2];c:{if((e|0)==(a|0)){b=J[a+288>>2];if((b|0)<=0){break c}e=J[a+296>>2];c=0;while(1){f=e+(c<<2)|0;if((d|0)!=J[f>>2]){c=c+1|0;if((c|0)!=(b|0)){continue}break c}break}if((b|0)<=(c|0)){break c}b=b-1|0;c=b<<2;J[f>>2]=J[c+e>>2];J[c+J[a+296>>2]>>2]=d;J[a+288>>2]=b;break c}b=J[d+288>>2];d:{if((b|0)<=0){break d}a=J[d+296>>2];c=0;while(1){f=a+(c<<2)|0;if((e|0)!=J[f>>2]){c=c+1|0;if((c|0)!=(b|0)){continue}break d}break}if((b|0)<=(c|0)){break d}c=a;b=b-1|0;a=b<<2;J[f>>2]=J[c+a>>2];J[a+J[d+296>>2]>>2]=e;J[d+288>>2]=b}a=d}J[a+280>>2]=(b|0)>0}}function Ig(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;i=J[b>>2];c=J[a+328>>2];a:{b:{if((c|0)<=0){break b}e=J[a+336>>2];b=0;while(1){if(J[e+(b<<2)>>2]!=(i|0)){b=b+1|0;if((c|0)!=(b|0)){continue}break b}break}if((b|0)!=(c|0)){break a}}c:{if(J[a+332>>2]!=(c|0)){break c}g=c?c<<1:1;if((g|0)<=(c|0)){break c}d:{if(!g){e=0;break d}J[8456]=J[8456]+1;e=ua[J[8258]](g<<2,16)|0;c=J[a+328>>2]}e:{if((c|0)<=0){break e}b=0;if(c>>>0>=4){h=c&-4;while(1){d=b<<2;J[d+e>>2]=J[d+J[a+336>>2]>>2];f=d|4;J[f+e>>2]=J[f+J[a+336>>2]>>2];f=d|8;J[f+e>>2]=J[f+J[a+336>>2]>>2];d=d|12;J[d+e>>2]=J[d+J[a+336>>2]>>2];b=b+4|0;j=j+4|0;if((h|0)!=(j|0)){continue}break}}d=c&3;if(!d){break e}while(1){h=b<<2;J[h+e>>2]=J[h+J[a+336>>2]>>2];b=b+1|0;k=k+1|0;if((d|0)!=(k|0)){continue}break}}b=J[a+336>>2];if(!(!b|!K[a+340|0])){if(b){J[8457]=J[8457]+1;ua[J[8259]](b)}c=J[a+328>>2]}J[a+336>>2]=e;H[a+340|0]=1;J[a+332>>2]=g}J[J[a+336>>2]+(c<<2)>>2]=i;J[a+328>>2]=c+1}}function be(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=Q(0),f=Q(0),g=Q(0),h=Q(0),i=Q(0),j=Q(0),k=Q(0),l=Q(0),m=Q(0),n=Q(0),o=Q(0),p=Q(0),q=Q(0),r=Q(0),s=Q(0),t=Q(0),u=Q(0),v=Q(0),w=Q(0),x=Q(0),y=Q(0),z=Q(0);e=Q(ua[J[J[a>>2]+48>>2]](a));y=N[b+52>>2];i=N[b+24>>2];j=N[b+20>>2];k=N[b+56>>2];g=N[b+40>>2];h=N[a+72>>2];f=N[a+88>>2];l=N[b+36>>2];p=N[a+68>>2];q=N[a+84>>2];z=N[b+48>>2];r=N[b+8>>2];s=N[b>>2];t=N[b+4>>2];u=N[b+16>>2];v=N[b+32>>2];w=N[a+64>>2];x=N[a+80>>2];J[c+12>>2]=0;m=k;k=Q(Q(f+h)*Q(.5));n=Q(Q(x+w)*Q(.5));o=Q(Q(q+p)*Q(.5));m=Q(m+Q(Q(g*k)+Q(Q(v*n)+Q(l*o))));h=Q(e+Q(Q(f-h)*Q(.5)));f=Q(h*Q(R(g)));g=Q(e+Q(Q(x-w)*Q(.5)));e=Q(e+Q(Q(q-p)*Q(.5)));f=Q(f+Q(Q(g*Q(R(v)))+Q(e*Q(R(l)))));N[c+8>>2]=m-f;l=Q(y+Q(Q(k*i)+Q(Q(n*u)+Q(o*j))));i=Q(Q(h*Q(R(i)))+Q(Q(g*Q(R(u)))+Q(e*Q(R(j)))));N[c+4>>2]=l-i;j=Q(z+Q(Q(k*r)+Q(Q(n*s)+Q(o*t))));e=Q(Q(h*Q(R(r)))+Q(Q(g*Q(R(s)))+Q(e*Q(R(t)))));N[c>>2]=j-e;J[d+12>>2]=0;N[d+8>>2]=f+m;N[d+4>>2]=i+l;N[d>>2]=e+j}function Fr(){var a=0,b=0,c=0,d=0,e=0;b=sa-16|0;sa=b;if(!K[35720]){J[b+8>>2]=0;J[b+12>>2]=0;J[b>>2]=0;J[b+4>>2]=0;a=sa-144|0;sa=a;c=Wb(35044);J[c>>2]=23996;H[c+560|0]=1;J[c+556>>2]=0;J[c+548>>2]=0;J[c+552>>2]=0;J[a+72>>2]=0;J[a+4>>2]=0;N[a>>2]=0;d=J[b+12>>2];J[a+84>>2]=J[b+8>>2];J[a+88>>2]=d;e=J[b>>2];d=J[b+4>>2];J[a+20>>2]=0;J[a+24>>2]=0;J[a+12>>2]=0;J[a+16>>2]=0;J[a+28>>2]=1065353216;J[a+40>>2]=0;J[a+44>>2]=0;J[a+32>>2]=0;J[a+36>>2]=0;J[a+48>>2]=1065353216;J[a+52>>2]=0;J[a+56>>2]=0;J[a+60>>2]=0;J[a+64>>2]=0;J[a+68>>2]=0;J[a+76>>2]=e;J[a+80>>2]=d;J[a+136>>2]=1008981770;J[a+140>>2]=1008981770;J[a+128>>2]=1000593162;J[a+132>>2]=1008981770;H[a+124|0]=0;J[a+116>>2]=1061997773;J[a+120>>2]=1065353216;J[a+108>>2]=0;J[a+112>>2]=0;J[a+100>>2]=1056964608;J[a+104>>2]=0;J[a+92>>2]=0;J[a+96>>2]=0;J[a+8>>2]=1065353216;Hd(c,a);sa=a+144|0;H[35720]=1}J[b+8>>2]=0;J[b+12>>2]=0;J[b>>2]=0;J[b+4>>2]=0;lc(35044,Q(0),b);sa=b+16|0;return 35044}function ph(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;if(!(K[b+204|0]&3|H[b+564|0]&1)){Db(b,a+264|0)}if(J[b+192>>2]){a:{if(!(H[b+204|0]&1)){e=J[a+248>>2];b:{if((e|0)!=J[a+252>>2]){break b}j=e?e<<1:1;if((j|0)<=(e|0)){break b}if(j){J[8456]=J[8456]+1;h=ua[J[8258]](j<<2,16)|0;e=J[a+248>>2]}c:{if((e|0)<=0){break c}if(e>>>0>=4){k=e&-4;while(1){f=g<<2;J[f+h>>2]=J[f+J[a+256>>2]>>2];i=f|4;J[i+h>>2]=J[i+J[a+256>>2]>>2];i=f|8;J[i+h>>2]=J[i+J[a+256>>2]>>2];f=f|12;J[f+h>>2]=J[f+J[a+256>>2]>>2];g=g+4|0;l=l+4|0;if((k|0)!=(l|0)){continue}break}}f=e&3;if(!f){break c}while(1){k=g<<2;J[k+h>>2]=J[k+J[a+256>>2]>>2];g=g+1|0;m=m+1|0;if((f|0)!=(m|0)){continue}break}}g=J[a+256>>2];if(!(!g|!K[a+260|0])){if(g){J[8457]=J[8457]+1;ua[J[8259]](g)}e=J[a+248>>2]}J[a+256>>2]=h;H[a+260|0]=1;J[a+252>>2]=j}J[J[a+256>>2]+(e<<2)>>2]=b;J[a+248>>2]=e+1;break a}if((J[b+220>>2]&-2)!=4){J[b+220>>2]=2}}ua[J[J[a>>2]+36>>2]](a,b,c,d)}}function zh(a){a=a|0;var b=0,c=0,d=Q(0),e=0,f=0,g=0,h=0;f=sa+-64|0;sa=f;a:{if(K[a+290|0]){c=J[a+8>>2];if((c|0)<=0){break a}while(1){b=J[J[a+16>>2]+(e<<2)>>2];if(!(!b|!(J[b+252>>2]&2)|(!J[b+540>>2]|K[b+204|0]&3))){c=b+68|0;g=b+132|0;h=b+148|0;b:{c:{if(!K[a+316|0]){break c}d=N[a+284>>2];if(d==Q(0)){break c}d=Q(N[a+280>>2]-d);break b}d=Q(N[a+280>>2]*N[b+268>>2])}kb(c,g,h,d,f);b=J[b+540>>2];ua[J[J[b>>2]+12>>2]](b,f);c=J[a+8>>2]}e=e+1|0;if((c|0)>(e|0)){continue}break}break a}c=J[a+248>>2];if((c|0)<=0){break a}while(1){d:{e:{b=J[J[a+256>>2]+(e<<2)>>2];switch(J[b+220>>2]-2|0){case 0:case 3:break d;default:break e}}if(!J[b+540>>2]|K[b+204|0]&3){break d}c=b+68|0;g=b+132|0;h=b+148|0;f:{g:{if(!K[a+316|0]){break g}d=N[a+284>>2];if(d==Q(0)){break g}d=Q(N[a+280>>2]-d);break f}d=Q(N[a+280>>2]*N[b+268>>2])}kb(c,g,h,d,f);b=J[b+540>>2];ua[J[J[b>>2]+12>>2]](b,f);c=J[a+248>>2]}e=e+1|0;if((c|0)>(e|0)){continue}break}}sa=f- -64|0}function Dq(a,b){a=Q(a);b=b|0;var c=0;c=sa-144|0;sa=c;if(!K[33688]){J[8415]=0;J[8416]=0;J[8413]=35;J[8414]=0;J[8417]=0;J[8412]=20152;J[8413]=27;J[8412]=20260;H[33688]=1}J[c+88>>2]=0;J[c+92>>2]=0;J[c+12>>2]=0;J[c+16>>2]=0;J[c+20>>2]=0;J[c+24>>2]=0;N[c>>2]=a;a=a==Q(0)?Q(0):Q(1.6666666269302368);N[c+84>>2]=a;N[c+80>>2]=a;J[c+136>>2]=1008981770;J[c+140>>2]=1008981770;J[c+128>>2]=1000593162;J[c+132>>2]=1008981770;H[c+124|0]=0;J[c+120>>2]=1065353216;J[c+112>>2]=0;J[c+116>>2]=1061997773;J[c+104>>2]=0;J[c+108>>2]=0;J[c+96>>2]=0;J[c+100>>2]=1056964608;J[c+4>>2]=b;J[c+8>>2]=1065353216;J[c+72>>2]=33648;N[c+76>>2]=a;J[c+32>>2]=0;J[c+36>>2]=0;J[c+28>>2]=1065353216;J[c+40>>2]=0;J[c+44>>2]=0;J[c+48>>2]=1065353216;J[c+52>>2]=0;J[c+56>>2]=0;J[c+60>>2]=0;J[c+64>>2]=0;J[c+68>>2]=0;J[8456]=J[8456]+1;b=Wb(ua[J[8258]](676,16)|0);J[b>>2]=23996;H[b+560|0]=1;J[b+556>>2]=0;J[b+548>>2]=0;J[b+552>>2]=0;Hd(b,c);sa=c+144|0;return b|0}function co(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 i=0,j=0;h=sa-48|0;sa=h;J[8456]=J[8456]+1;d=ua[J[8258]](64,16)|0;J[d+8>>2]=g;J[d+4>>2]=f;J[d>>2]=e;e=J[b+4>>2];J[d+16>>2]=J[b>>2];J[d+20>>2]=e;e=J[b+12>>2];J[d+24>>2]=J[b+8>>2];J[d+28>>2]=e;e=J[c+4>>2];J[d+32>>2]=J[c>>2];J[d+36>>2]=e;e=J[c+12>>2];J[d+40>>2]=J[c+8>>2];J[d+44>>2]=e;J[d+52>>2]=0;J[d+56>>2]=0;e=J[b+12>>2];J[h+24>>2]=J[b+8>>2];J[h+28>>2]=e;e=J[b+4>>2];J[h+16>>2]=J[b>>2];J[h+20>>2]=e;b=J[c+12>>2];J[h+40>>2]=J[c+8>>2];J[h+44>>2]=b;b=J[c+4>>2];J[h+32>>2]=J[c>>2];J[h+36>>2]=b;J[d+60>>2]=J[a+104>>2];b=J[a+148>>2]+1|0;J[a+148>>2]=b;J[d+12>>2]=b;i=d,j=$b(a+4|0,h+16|0,d),J[i+48>>2]=j;b=J[a+104>>2];J[d+52>>2]=0;b=(b<<2)+a|0;J[d+56>>2]=J[b+84>>2];c=J[b+84>>2];if(c){J[c+52>>2]=d}J[b+84>>2]=d;if(!K[a+153|0]){J[h+12>>2]=d;J[h+4>>2]=12044;J[h+8>>2]=a;b=h+16|0;c=h+4|0;xb(J[a+4>>2],b,c);xb(J[a+44>>2],b,c)}sa=h+48|0;return d|0}function uc(a,b,c,d,e,f){var g=0,h=0,i=0;a:{if(K[d+55|0]==(b|0)){break a}g=e<<2;h=J[g+22644>>2];b:{if(Q(Q(Q(N[d+8>>2]*N[c+24>>2])+Q(Q(N[d>>2]*N[c+16>>2])+Q(N[d+4>>2]*N[c+20>>2])))-N[d+16>>2])>2],J[a+g>>2],c,0);if(!a){break a}J[a+32>>2]=d;H[a+52|0]=e;H[(d+e|0)+52|0]=0;J[((e<<2)+d|0)+32>>2]=a;b=J[f>>2];c:{if(b){J[b+36>>2]=a;H[b+53|0]=2;J[a+40>>2]=b;H[a+54|0]=1;break c}J[f+4>>2]=a}J[f>>2]=a;a=f+8|0;break b}H[d+55|0]=b;e=J[g+22656>>2];if(!uc(a,b,c,J[((h<<2)+d|0)+32>>2],K[(d+h|0)+52|0],f)){break a}if(!uc(a,b,c,J[((e<<2)+d|0)+32>>2],K[(d+e|0)+52|0],f)){break a}b=J[d+48>>2];if(b){J[b+44>>2]=J[d+44>>2]}b=J[d+44>>2];if(b){J[b+48>>2]=J[d+48>>2]}if(J[a+18496>>2]==(d|0)){J[a+18496>>2]=J[d+48>>2]}b=a+18500|0;J[b>>2]=J[b>>2]-1;J[d+44>>2]=0;J[d+48>>2]=J[a+18504>>2];b=J[a+18504>>2];if(b){J[b+44>>2]=d}J[a+18504>>2]=d;a=a+18508|0}i=1;J[a>>2]=J[a>>2]+1}return i}function Yj(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=Q(0),f=Q(0),g=Q(0),h=Q(0),i=Q(0),j=Q(0),k=Q(0),l=Q(0),m=Q(0),n=Q(0),o=Q(0),p=Q(0),q=Q(0),r=Q(0),s=Q(0),t=Q(0),u=Q(0),v=Q(0),w=Q(0),x=Q(0),y=Q(0),z=Q(0),A=Q(0),B=Q(0);k=N[b+56>>2];n=N[b+36>>2];o=N[b+40>>2];l=N[b+52>>2];h=N[b+20>>2];f=N[a+120>>2];i=N[a+28>>2];p=N[a+44>>2];g=N[b+24>>2];e=N[a+124>>2];j=N[a+32>>2];q=N[a+48>>2];r=N[b+32>>2];m=N[b+48>>2];s=N[b>>2];t=N[b+4>>2];u=N[b+8>>2];v=N[b+16>>2];w=N[a+116>>2];x=N[a+24>>2];y=N[a+40>>2];z=Q(ua[J[J[a>>2]+48>>2]](a));A=Q(ua[J[J[a>>2]+48>>2]](a));B=Q(ua[J[J[a>>2]+48>>2]](a));J[c+12>>2]=0;e=Q(Q(e*Q(q-j))*Q(.5));j=Q(e*Q(R(g)));g=Q(Q(w*Q(y-x))*Q(.5));f=Q(Q(f*Q(p-i))*Q(.5));h=Q(A+Q(j+Q(Q(g*Q(R(v)))+Q(f*Q(R(h))))));N[c+4>>2]=l-h;i=Q(z+Q(Q(e*Q(R(u)))+Q(Q(g*Q(R(s)))+Q(f*Q(R(t))))));N[c>>2]=m-i;e=Q(B+Q(Q(e*Q(R(o)))+Q(Q(g*Q(R(r)))+Q(f*Q(R(n))))));N[c+8>>2]=k-e;J[d+12>>2]=0;N[d+8>>2]=k+e;N[d+4>>2]=l+h;N[d>>2]=m+i}function Oi(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=Q(0),f=0,g=Q(0),h=Q(0),i=Q(0);d=sa-144|0;sa=d;J[d+72>>2]=0;J[d+76>>2]=0;f=d- -64|0;J[f>>2]=0;J[f+4>>2]=0;J[d+108>>2]=0;J[d+112>>2]=0;J[d+116>>2]=0;J[d+120>>2]=0;J[d+52>>2]=0;J[d+56>>2]=0;J[d+84>>2]=0;J[d+88>>2]=0;J[d+80>>2]=1065353216;J[d+92>>2]=0;J[d+96>>2]=0;J[d+100>>2]=1065353216;J[d+104>>2]=0;J[d+44>>2]=0;J[d+48>>2]=0;J[d+60>>2]=1065353216;J[d+124>>2]=-581039253;J[d+40>>2]=22396;e=N[c+8>>2];g=N[c>>2];h=N[c+4>>2];J[d+140>>2]=0;i=Q(h*Q(0));N[d+136>>2]=e+Q(Q(g*N[d+68>>2])+i);e=Q(e*Q(0));N[d+132>>2]=e+Q(h+Q(g*N[f>>2]));N[d+128>>2]=e+Q(g+i);J[d+32>>2]=1566444395;J[d+36>>2]=0;J[d+24>>2]=1566444395;J[d+28>>2]=1566444395;J[d+16>>2]=-581039253;J[d+20>>2]=0;J[d+8>>2]=-581039253;J[d+12>>2]=-581039253;ua[J[J[b>>2]+64>>2]](b,d+40|0,d+8|0,d+24|0);b=J[d+56>>2];J[a+8>>2]=J[d+52>>2];J[a+12>>2]=b;b=J[d+48>>2];J[a>>2]=J[d+44>>2];J[a+4>>2]=b;sa=d+144|0}function Uf(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=J[b+4>>2];J[a+48>>2]=J[b>>2];J[a+52>>2]=d;d=J[b+12>>2];J[a+56>>2]=J[b+8>>2];J[a+60>>2]=d;d=J[b+28>>2];J[a+72>>2]=J[b+24>>2];J[a+76>>2]=d;e=J[b+20>>2];d=a- -64|0;J[d>>2]=J[b+16>>2];J[d+4>>2]=e;d=J[b+44>>2];J[a+88>>2]=J[b+40>>2];J[a+92>>2]=d;d=J[b+36>>2];J[a+80>>2]=J[b+32>>2];J[a+84>>2]=d;d=J[b+60>>2];J[a+104>>2]=J[b+56>>2];J[a+108>>2]=d;d=J[b+52>>2];J[a+96>>2]=J[b+48>>2];J[a+100>>2]=d;b=J[c+12>>2];J[a+120>>2]=J[c+8>>2];J[a+124>>2]=b;b=J[c+4>>2];J[a+112>>2]=J[c>>2];J[a+116>>2]=b;b=J[c+20>>2];J[a+128>>2]=J[c+16>>2];J[a+132>>2]=b;b=J[c+28>>2];J[a+136>>2]=J[c+24>>2];J[a+140>>2]=b;b=J[c+36>>2];J[a+144>>2]=J[c+32>>2];J[a+148>>2]=b;b=J[c+44>>2];J[a+152>>2]=J[c+40>>2];J[a+156>>2]=b;b=J[c+60>>2];J[a+168>>2]=J[c+56>>2];J[a+172>>2]=b;b=J[c+52>>2];J[a+160>>2]=J[c+48>>2];J[a+164>>2]=b;ua[J[J[a>>2]+8>>2]](a);qc(a,J[a+28>>2]+4|0,J[a+32>>2]+4|0)}function jb(a,b,c,d,e,f,g,h){var i=Q(0),j=Q(0),k=Q(0),l=0,m=Q(0),n=Q(0),o=Q(0),p=0,q=Q(0),r=Q(0),s=0,t=0,u=0,v=0,w=Q(0),x=Q(0),y=0;p=J[(g?20:16)+d>>2];l=J[(g?12:8)+d>>2];s=e<<2;N[l+s>>2]=N[f>>2];t=e+1|0;u=t<<2;N[u+l>>2]=N[f+4>>2];y=l;l=e+2|0;v=l<<2;N[y+v>>2]=N[f+8>>2];N[p+s>>2]=-N[f>>2];N[p+u>>2]=-N[f+4>>2];N[p+v>>2]=-N[f+8>>2];if(!g){m=Q(N[a+1352>>2]-N[c+52>>2]);j=N[f+8>>2];k=N[f+4>>2];n=Q(N[a+1356>>2]-N[c+56>>2]);q=Q(Q(m*j)-Q(k*n));w=Q(N[a+1288>>2]-N[b+52>>2]);x=Q(N[a+1292>>2]-N[b+56>>2]);r=Q(Q(w*j)-Q(k*x));o=Q(N[a+1348>>2]-N[c+48>>2]);i=N[f>>2];m=Q(Q(o*k)-Q(i*m));n=Q(Q(n*i)-Q(j*o));o=Q(N[a+1284>>2]-N[b+48>>2]);k=Q(Q(o*k)-Q(i*w));j=Q(Q(x*i)-Q(j*o));if(!(!K[a+1452|0]|h)){i=N[a+1448>>2];m=Q(i*m);n=Q(i*n);q=Q(q*i);i=N[a+1444>>2];k=Q(i*k);r=Q(r*i);j=Q(i*j)}b=e<<2;a=b+J[d+12>>2]|0;N[a+8>>2]=k;N[a+4>>2]=j;N[a>>2]=r;a=J[d+20>>2];N[a+b>>2]=-q;N[a+(t<<2)>>2]=-n;N[a+(l<<2)>>2]=-m}}function Ia(a,b){var c=0,d=0,e=0,f=Q(0),g=0;if(!(((B(a),v(2))&2147483647)>>>0<2139095041&((B(b),v(2))&2147483647)>>>0<=2139095040)){return Q(a+b)}c=(B(b),v(2));if((c|0)==1065353216){return od(a)}g=c>>>30&2;d=(B(a),v(2));e=g|d>>>31;a:{b:{d=d&2147483647;c:{if(!d){d:{switch(e-2|0){case 0:return Q(3.1415927410125732);case 1:break d;default:break c}}return Q(-3.1415927410125732)}c=c&2147483647;if((c|0)!=2139095040){if(!c|!((d|0)!=2139095040&d>>>0<=c+218103808>>>0)){break a}e:{if(g){f=Q(0);if(c>>>0>d+218103808>>>0){break e}}f=od(Q(R(Q(a/b))))}a=f;f:{switch(e|0){case 1:return Q(-a);case 2:return Q(Q(3.1415927410125732)-Q(a+Q(8.742277657347586e-8)));case 0:break c;default:break f}}return Q(Q(a+Q(8.742277657347586e-8))+Q(-3.1415927410125732))}if((d|0)==2139095040){break b}a=N[(e<<2)+26368>>2]}return a}return N[(e<<2)+26352>>2]}return x(2,(B(a),v(2))&-2147483648|1070141403),C()}function xh(a,b,c,d){a=a|0;b=Q(b);c=c|0;d=Q(d);var e=0,f=0,g=0,h=Q(0),i=0,j=0;a:{if(c){N[a+284>>2]=d;b=Q(N[a+280>>2]+b);N[a+280>>2]=b;if(!(b>=d)){break a}h=b;b=Q(b/d);b:{if(Q(R(b))>2]=h-Q(Q(e|0)*d);break a}J[a+284>>2]=0;N[a+280>>2]=K[a+316|0]?Q(0):b;d=b;e=!(Q(R(b))>2]+20>>2]](a)|0){g=ua[J[J[a>>2]+20>>2]](a)|0;i=35721,j=ua[J[J[g>>2]+56>>2]](g)>>>4&1,H[i|0]=j}c:{if(e){f=(c|0)>(e|0)?e:c;ua[J[J[a>>2]+168>>2]](a,Q(d*Q(f|0)));ua[J[J[a>>2]+176>>2]](a);if((f|0)<=0){break c}if((f|0)!=1){g=f&-2;c=0;while(1){ua[J[J[a>>2]+160>>2]](a,d);ua[J[J[a>>2]+80>>2]](a);ua[J[J[a>>2]+160>>2]](a,d);ua[J[J[a>>2]+80>>2]](a);c=c+2|0;if((g|0)!=(c|0)){continue}break}}if(!(f&1)){break c}ua[J[J[a>>2]+160>>2]](a,d);ua[J[J[a>>2]+80>>2]](a);break c}ua[J[J[a>>2]+80>>2]](a)}ua[J[J[a>>2]+120>>2]](a);return e|0}function eq(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=Q(0),f=Q(0),g=0,h=Q(0),i=0,j=Q(0),k=Q(0),l=Q(0),m=Q(0),n=Q(0),o=Q(0),p=Q(0),q=Q(0),r=Q(0);d=J[b>>2];g=J[d+192>>2];a:{if(J[g+4>>2]!=31){break a}i=J[b+4>>2];if(!i){break a}g=J[(J[g+32>>2]+P(J[i>>2],80)|0)+64>>2]}J[a+84>>2]=J[g+8>>2];e=N[b+24>>2];J[a+8>>2]=d;N[a+4>>2]=e;b:{if(c){c=J[b+12>>2];J[a+52>>2]=J[b+8>>2];J[a+56>>2]=c;c=J[b+20>>2];J[a+60>>2]=J[b+16>>2];J[a+64>>2]=c;break b}j=N[d+8>>2];k=N[d+12>>2];l=N[d+20>>2];m=N[d+24>>2];n=N[d+28>>2];o=N[d+36>>2];p=N[d+40>>2];e=N[b+12>>2];q=N[d+44>>2];f=N[b+16>>2];r=N[d+4>>2];h=N[b+8>>2];J[a- -64>>2]=0;N[a+60>>2]=Q(q*f)+Q(Q(o*h)+Q(e*p));N[a+56>>2]=Q(n*f)+Q(Q(l*h)+Q(e*m));N[a+52>>2]=Q(k*f)+Q(Q(r*h)+Q(j*e))}e=N[b+24>>2];f=Q(Q(1)-e);N[a+68>>2]=Q(f*N[a+20>>2])+Q(e*N[a+36>>2]);N[a+72>>2]=Q(f*N[a+24>>2])+Q(e*N[a+40>>2]);N[a+76>>2]=Q(f*N[a+28>>2])+Q(e*N[a+44>>2]);return Q(N[b+24>>2])}function yk(a,b,c){a=a|0;b=b|0;c=c|0;var d=Q(0),e=Q(0),f=Q(0),g=0,h=Q(0),i=Q(0),j=0,k=0;e=Q(N[b+68>>2]*Q(.5));j=J[b+72>>2];k=J[b+76>>2];g=k<<2;d=N[c+8>>2];i=Q(d*d);d=N[c>>2];f=Q(d*d);d=N[c+4>>2];a:{b:{if(N[g+c>>2]>Q(N[b+60>>2]*Q(Y(Q(i+Q(f+Q(d*d))))))){J[(j<<2)+a>>2]=0;N[a+g>>2]=e;g=J[b+80>>2];break b}d=N[(j<<2)+c>>2];g=J[b+80>>2];f=N[(g<<2)+c>>2];h=Q(Y(Q(Q(d*d)+Q(f*f))));if(h>Q(1.1920928955078125e-7)){i=d;d=Q(N[b+64>>2]/h);N[(j<<2)+a>>2]=i*d;N[(k<<2)+a>>2]=-e;e=Q(f*d);break a}J[(j<<2)+a>>2]=0;N[(k<<2)+a>>2]=-e}e=Q(0)}N[(g<<2)+a>>2]=e;if(Q(ua[J[J[b>>2]+48>>2]](b))!=Q(0)){e=N[c+4>>2];d=N[c>>2];f=N[c+8>>2];h=Q(ua[J[J[b>>2]+48>>2]](b));b=Q(Q(f*f)+Q(Q(d*d)+Q(e*e)))>2]=N[a>>2]+Q(h*Q(i*d));N[a+4>>2]=N[a+4>>2]+Q(h*Q(e*d));N[a+8>>2]=N[a+8>>2]+Q(h*Q(f*d))}}function Vg(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=Q(0),f=Q(0),g=Q(0),h=Q(0),i=Q(0),j=Q(0),k=Q(0),l=Q(0),m=Q(0),n=Q(0),o=Q(0),p=Q(0);e=Q(1);d=J[b>>2];if(!((d|0)==J[a+84>>2]|K[d+204|0]&4|Q(-N[a+88>>2])<=Q(Q(N[b+16>>2]*Q(N[a+44>>2]-N[a+28>>2]))+Q(Q(N[b+8>>2]*Q(N[a+36>>2]-N[a+20>>2]))+Q(Q(N[a+40>>2]-N[a+24>>2])*N[b+12>>2]))))){e=N[b+40>>2];J[a+16>>2]=d;N[a+4>>2]=e;a:{if(c){c=b+8|0;d=J[c+4>>2];J[a+52>>2]=J[c>>2];J[a+56>>2]=d;d=J[c+12>>2];J[a+60>>2]=J[c+8>>2];J[a+64>>2]=d;break a}h=N[d+12>>2];i=N[d+8>>2];j=N[d+28>>2];k=N[d+20>>2];l=N[d+24>>2];m=N[d+44>>2];n=N[d+36>>2];o=N[d+40>>2];p=N[d+4>>2];e=N[b+16>>2];f=N[b+8>>2];g=N[b+12>>2];J[a- -64>>2]=0;N[a+60>>2]=Q(m*e)+Q(Q(n*f)+Q(g*o));N[a+56>>2]=Q(j*e)+Q(Q(k*f)+Q(g*l));N[a+52>>2]=Q(h*e)+Q(Q(p*f)+Q(i*g))}c=J[b+28>>2];J[a+68>>2]=J[b+24>>2];J[a+72>>2]=c;c=J[b+36>>2];J[a+76>>2]=J[b+32>>2];J[a+80>>2]=c;e=N[b+40>>2]}return Q(e)}function Br(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=J[b+4>>2];J[a+552>>2]=J[b>>2];J[a+556>>2]=d;d=J[b+12>>2];J[a+560>>2]=J[b+8>>2];J[a+564>>2]=d;d=J[b+28>>2];J[a+576>>2]=J[b+24>>2];J[a+580>>2]=d;d=J[b+20>>2];J[a+568>>2]=J[b+16>>2];J[a+572>>2]=d;d=J[b+44>>2];J[a+592>>2]=J[b+40>>2];J[a+596>>2]=d;d=J[b+36>>2];J[a+584>>2]=J[b+32>>2];J[a+588>>2]=d;d=J[b+60>>2];J[a+608>>2]=J[b+56>>2];J[a+612>>2]=d;d=J[b+52>>2];J[a+600>>2]=J[b+48>>2];J[a+604>>2]=d;b=J[c+12>>2];J[a+624>>2]=J[c+8>>2];J[a+628>>2]=b;b=J[c+4>>2];J[a+616>>2]=J[c>>2];J[a+620>>2]=b;b=J[c+20>>2];J[a+632>>2]=J[c+16>>2];J[a+636>>2]=b;b=J[c+28>>2];J[a+640>>2]=J[c+24>>2];J[a+644>>2]=b;b=J[c+36>>2];J[a+648>>2]=J[c+32>>2];J[a+652>>2]=b;b=J[c+44>>2];J[a+656>>2]=J[c+40>>2];J[a+660>>2]=b;b=J[c+60>>2];J[a+672>>2]=J[c+56>>2];J[a+676>>2]=b;b=J[c+52>>2];J[a+664>>2]=J[c+48>>2];J[a+668>>2]=b;ua[J[J[a>>2]+8>>2]](a)}function nq(a,b,c){a=a|0;b=b|0;c=c|0;var d=Q(0),e=Q(0),f=Q(0),g=Q(0),h=Q(0),i=Q(0),j=Q(0),k=Q(0),l=Q(0),m=Q(0),n=Q(0),o=Q(0),p=Q(0),q=Q(0),r=Q(0);g=N[a+404>>2];if(g!=Q(0)){e=N[b+8>>2];d=N[b+4>>2];h=N[a+408>>2];N[a+372>>2]=Q(g*Q(N[b>>2]*h))+N[a+372>>2];f=d;d=N[a+412>>2];N[a+376>>2]=Q(g*Q(f*d))+N[a+376>>2];f=e;e=N[a+416>>2];N[a+380>>2]=Q(g*Q(f*e))+N[a+380>>2];j=N[a+612>>2];k=N[a+364>>2];l=N[a+356>>2];m=N[a+360>>2];n=N[a+608>>2];o=N[a+348>>2];p=N[a+340>>2];q=N[a+344>>2];i=N[c>>2];d=Q(d*N[b+4>>2]);h=Q(h*N[b>>2]);f=N[c+4>>2];g=Q(Q(i*d)-Q(h*f));r=f;f=Q(e*N[b+8>>2]);e=d;d=N[c+8>>2];e=Q(Q(r*f)-Q(e*d));d=Q(Q(d*h)-Q(f*i));N[a+388>>2]=Q(Q(Q(N[a+332>>2]*g)+Q(Q(N[a+324>>2]*e)+Q(N[a+328>>2]*d)))*N[a+604>>2])+N[a+388>>2];N[a+392>>2]=Q(n*Q(Q(o*g)+Q(Q(p*e)+Q(d*q))))+N[a+392>>2];N[a+396>>2]=Q(j*Q(Q(k*g)+Q(Q(l*e)+Q(d*m))))+N[a+396>>2]}}function Lb(a){J[a>>2]=1025;J[a+120>>2]=0;J[a+124>>2]=0;J[a+128>>2]=0;J[a+132>>2]=0;J[a+136>>2]=0;J[a+140>>2]=0;J[a+144>>2]=0;J[a+148>>2]=0;J[a+152>>2]=0;J[a+156>>2]=0;J[a+160>>2]=0;J[a+164>>2]=0;J[a+168>>2]=0;J[a+328>>2]=0;J[a+332>>2]=0;J[a+336>>2]=0;J[a+340>>2]=0;J[a+344>>2]=0;J[a+348>>2]=0;J[a+352>>2]=0;J[a+356>>2]=0;J[a+360>>2]=0;J[a+364>>2]=0;J[a+368>>2]=0;J[a+372>>2]=0;J[a+376>>2]=0;J[a+536>>2]=0;J[a+540>>2]=0;J[a+544>>2]=0;J[a+548>>2]=0;J[a+552>>2]=0;J[a+556>>2]=0;J[a+560>>2]=0;J[a+564>>2]=0;J[a+568>>2]=0;J[a+572>>2]=0;J[a+576>>2]=0;J[a+580>>2]=0;J[a+584>>2]=0;J[a+792>>2]=0;J[a+784>>2]=0;J[a+788>>2]=0;J[a+776>>2]=0;J[a+780>>2]=0;J[a+768>>2]=0;J[a+772>>2]=0;J[a+760>>2]=0;J[a+764>>2]=0;J[a+752>>2]=0;J[a+756>>2]=0;J[a+744>>2]=0;J[a+748>>2]=0;J[a+836>>2]=0;J[a+840>>2]=0;J[a+864>>2]=0;J[a+844>>2]=0;return a}function Uk(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=Q(0),i=Q(0),j=Q(0),k=Q(0),l=0,m=0,n=Q(0),o=Q(0),p=Q(0),q=0,r=Q(0),s=Q(0);if((d|0)>0){e=sa-16|0;q=a+36|0;while(1){J[e+8>>2]=0;J[e+12>>2]=0;J[e>>2]=0;J[e+4>>2]=0;g=J[a+60>>2];f=g<<2;h=N[f+q>>2];N[e+f>>2]=h;i=Q(-0xde0b6b000000000);m=l<<4;f=m+b|0;n=N[f+8>>2];k=N[e+8>>2];o=N[f>>2];r=N[e>>2];s=N[e+4>>2];p=N[f+4>>2];j=Q(Q(n*k)+Q(Q(o*r)+Q(s*p)));if(j>Q(-0xde0b6b000000000)){g=c+m|0;N[g+12>>2]=N[e+12>>2];N[g+8>>2]=k;N[g+4>>2]=s;N[g>>2]=r;g=J[a+60>>2];h=N[(g<<2)+q>>2];n=N[f+8>>2];p=N[f+4>>2];o=N[f>>2];i=j}J[e+8>>2]=0;J[e+12>>2]=0;J[e>>2]=0;J[e+4>>2]=0;N[(g<<2)+e>>2]=-h;k=i;i=N[e+8>>2];j=N[e>>2];h=N[e+4>>2];if(k>2]=N[e+12>>2];N[f+8>>2]=i;N[f+4>>2]=h;N[f>>2]=j}l=l+1|0;if((l|0)!=(d|0)){continue}break}}}function nh(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;d=J[a+228>>2];a:{if((d|0)!=J[a+232>>2]){break a}i=d?d<<1:1;if((i|0)<=(d|0)){break a}if(i){J[8456]=J[8456]+1;g=ua[J[8258]](i<<2,16)|0;d=J[a+228>>2]}b:{if((d|0)<=0){break b}if(d>>>0>=4){j=d&-4;while(1){e=f<<2;J[e+g>>2]=J[e+J[a+236>>2]>>2];h=e|4;J[h+g>>2]=J[h+J[a+236>>2]>>2];h=e|8;J[h+g>>2]=J[h+J[a+236>>2]>>2];e=e|12;J[e+g>>2]=J[e+J[a+236>>2]>>2];f=f+4|0;k=k+4|0;if((j|0)!=(k|0)){continue}break}}e=d&3;if(!e){break b}while(1){j=f<<2;J[j+g>>2]=J[j+J[a+236>>2]>>2];f=f+1|0;l=l+1|0;if((e|0)!=(l|0)){continue}break}}f=J[a+236>>2];if(!(!f|!K[a+240|0])){if(f){J[8457]=J[8457]+1;ua[J[8259]](f)}d=J[a+228>>2]}J[a+236>>2]=g;H[a+240|0]=1;J[a+232>>2]=i}J[J[a+236>>2]+(d<<2)>>2]=b;J[a+228>>2]=d+1;if(c){Ed(J[b+28>>2],b);Ed(J[b+32>>2],b)}}function Wk(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=Q(0),f=Q(0),g=Q(0),h=Q(0),i=Q(0),j=Q(0),k=Q(0),l=0,m=Q(0),n=Q(0);d=sa-16|0;J[a>>2]=0;J[a+4>>2]=0;J[a+8>>2]=0;J[a+12>>2]=0;e=N[c+8>>2];f=N[c>>2];g=N[c+4>>2];h=Q(Q(e*e)+Q(Q(f*f)+Q(g*g)));a:{if(h>2]=0;J[d+12>>2]=0;J[d>>2]=0;J[d+4>>2]=0;c=J[b+60>>2]<<2;l=c+d|0;i=N[(b+c|0)+36>>2];N[l>>2]=i;f=Q(-0xde0b6b000000000);j=N[d+8>>2];m=N[d>>2];n=N[d+4>>2];g=Q(Q(k*j)+Q(Q(h*m)+Q(e*n)));if(g>Q(-0xde0b6b000000000)){N[a+12>>2]=N[d+12>>2];N[a+8>>2]=j;N[a+4>>2]=n;N[a>>2]=m;f=g}J[d+8>>2]=0;J[d+12>>2]=0;J[d>>2]=0;J[d+4>>2]=0;N[l>>2]=-i;i=f;f=N[d+8>>2];g=N[d>>2];j=e;e=N[d+4>>2];if(i>2]=N[d+12>>2];N[a+8>>2]=f;N[a+4>>2]=e;N[a>>2]=g}}function pd(){ra(30276,8254);qa(30300,6219,1,1,0);ca(30312,5359,1,-128,127);ca(30336,5352,1,-128,127);ca(30324,5350,1,0,255);ca(30348,2375,2,-32768,32767);ca(30360,2366,2,0,65535);ca(30372,2561,4,-2147483648,2147483647);ca(30384,2552,4,0,-1);ca(30396,6567,4,-2147483648,2147483647);ca(30408,6558,4,0,-1);hd(30420,3510,-2147483648,2147483647);hd(30432,3509,0,-1);ka(30444,3476,4);ka(30456,7542,8);ja(31628,6585);ja(25600,9944);ia(25672,4,6572);ia(25748,2,6597);ia(25824,4,6612);pa(31336,6224);_(25864,0,9875);_(25904,0,9977);_(25944,1,9905);_(25984,2,9440);_(26024,3,9471);_(26064,4,9511);_(26104,5,9540);_(26144,4,10014);_(26184,5,10044);_(25904,0,9642);_(25944,1,9609);_(25984,2,9708);_(26024,3,9674);_(26064,4,9842);_(26104,5,9808);_(26224,8,9775);_(26264,9,9741);_(26304,6,9578);_(26344,7,10083)}function od(a){var b=0,c=0,d=Q(0),e=Q(0),f=0,g=Q(0);f=(B(a),v(2));c=f&2147483647;if(c>>>0>=1283457024){return((B(a),v(2))&2147483647)>>>0>2139095040?a:(x(2,(B(a),v(2))&-2147483648|1070141402),C())}a:{b:{if(c>>>0<=1054867455){b=-1;if(c>>>0>=964689920){break b}break a}a=Q(R(a));if(c>>>0<=1066926079){if(c>>>0<=1060110335){a=Q(Q(Q(a+a)+Q(-1))/Q(a+Q(2)));b=0;break b}a=Q(Q(a+Q(-1))/Q(a+Q(1)));b=1;break b}if(c>>>0<=1075576831){a=Q(Q(a+Q(-1.5))/Q(Q(a*Q(1.5))+Q(1)));b=2;break b}a=Q(Q(-1)/a);b=3}e=Q(a*a);d=Q(e*e);g=Q(d*Q(Q(d*Q(-.106480173766613))+Q(-.19999158382415771)));d=Q(e*Q(Q(d*Q(Q(d*Q(.06168760731816292))+Q(.14253635704517365)))+Q(.333333283662796)));if(c>>>0<=1054867455){return Q(a-Q(a*Q(g+d)))}b=b<<2;a=Q(N[b+26384>>2]-Q(Q(Q(a*Q(g+d))-N[b+26400>>2])-a));a=(f|0)<0?Q(-a):a}return a}function Wp(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;m=J[J[J[b+4>>2]+8>>2]+8>>2];d=J[a+136>>2];a:{if((d|0)!=J[a+140>>2]){break a}j=d?d<<1:1;if((j|0)<=(d|0)){break a}if(j){J[8456]=J[8456]+1;g=ua[J[8258]](j<<2,16)|0;d=J[a+136>>2]}f=J[a+144>>2];b:{c:{if((d|0)>0){if(d>>>0>=4){n=d&-4;while(1){e=h<<2;J[e+g>>2]=J[f+e>>2];i=e|4;J[i+g>>2]=J[f+i>>2];i=e|8;J[i+g>>2]=J[f+i>>2];e=e|12;J[e+g>>2]=J[f+e>>2];h=h+4|0;k=k+4|0;if((k|0)!=(n|0)){continue}break}}d=d&3;if(!d){break c}while(1){e=h<<2;J[e+g>>2]=J[f+e>>2];h=h+1|0;l=l+1|0;if((d|0)!=(l|0)){continue}break}break c}if(!f){break b}}if(f?K[a+148|0]:0){J[8457]=J[8457]+1;ua[J[8259]](f)}d=J[a+136>>2]}J[a+144>>2]=g;J[a+140>>2]=j;H[a+148|0]=1}J[J[a+144>>2]+(d<<2)>>2]=m;J[a+136>>2]=J[a+136>>2]+1;return Q(Jf(a,b,c))}function ok(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=Q(0),f=Q(0),g=Q(0),h=Q(0),i=Q(0);d=sa-80|0;sa=d;J[a>>2]=0;J[a+4>>2]=0;J[a+8>>2]=0;J[a+12>>2]=0;f=N[c+8>>2];h=N[c>>2];g=N[c+4>>2];e=Q(Q(f*f)+Q(Q(h*h)+Q(g*g)));a:{if(e>2];e=Q(h*e)}J[d+52>>2]=0;J[d+56>>2]=0;N[d+76>>2]=g;N[d+72>>2]=f;N[d+68>>2]=i;J[d+44>>2]=0;J[d+48>>2]=0;N[d+64>>2]=e;J[d+60>>2]=-581039253;J[d+40>>2]=19952;J[d+32>>2]=1566444395;J[d+36>>2]=0;J[d+24>>2]=1566444395;J[d+28>>2]=1566444395;b=J[b+100>>2];J[d+16>>2]=-581039253;J[d+20>>2]=0;J[d+8>>2]=-581039253;J[d+12>>2]=-581039253;ua[J[J[b>>2]+8>>2]](b,d+40|0,d+8|0,d+24|0);b=J[d+56>>2];J[a+8>>2]=J[d+52>>2];J[a+12>>2]=b;b=J[d+48>>2];J[a>>2]=J[d+44>>2];J[a+4>>2]=b;sa=d+80|0}function Vk(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=La(164);H[d+108|0]=0;J[d+104>>2]=0;H[d+65|0]=0;H[d+61|0]=0;H[d+62|0]=1;H[d+63|0]=1;H[d+64|0]=0;J[d+20>>2]=0;J[d+4>>2]=0;J[d+8>>2]=0;J[d+24>>2]=c;J[d+12>>2]=a;H[d+128|0]=1;J[d>>2]=25216;J[d+124>>2]=0;J[d+116>>2]=0;J[d+120>>2]=0;J[d+56>>2]=J[b+44>>2];a=J[b+16>>2];J[d+40>>2]=J[b+12>>2];J[d+44>>2]=a;a=J[b+24>>2];J[d+48>>2]=J[b+20>>2];J[d+52>>2]=a;N[d+32>>2]=N[b+4>>2];N[d+36>>2]=N[b+8>>2];N[d+28>>2]=N[b>>2];a=J[b+48>>2];J[d+132>>2]=0;J[d+20>>2]=a;J[d>>2]=25280;N[d+156>>2]=N[b+56>>2];N[d+152>>2]=N[b+52>>2];N[d+160>>2]=N[b+60>>2];J[8456]=J[8456]+1;a=sd(ua[J[8258]](348,16)|0);J[d+4>>2]=a;J[a+204>>2]=4;c=J[b+32>>2];J[a+52>>2]=J[b+28>>2];J[a+56>>2]=c;c=J[b+40>>2];J[a+60>>2]=J[b+36>>2];J[a+64>>2]=c;J[J[d+4>>2]+256>>2]=d;Bb(d);return d|0}function Hm(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;c=J[a+56>>2];if(!(!c|!K[a+52|0])){d=J[b+4>>2];a:{if((d|0)!=J[b+8>>2]){break a}h=d?d<<1:1;if((h|0)<=(d|0)){break a}if(h){J[8456]=J[8456]+1;f=ua[J[8258]](h<<2,16)|0;d=J[b+4>>2]}b:{if((d|0)<=0){break b}c=0;if(d>>>0>=4){i=d&-4;while(1){e=c<<2;J[e+f>>2]=J[e+J[b+12>>2]>>2];g=e|4;J[g+f>>2]=J[g+J[b+12>>2]>>2];g=e|8;J[g+f>>2]=J[g+J[b+12>>2]>>2];e=e|12;J[e+f>>2]=J[e+J[b+12>>2]>>2];c=c+4|0;j=j+4|0;if((i|0)!=(j|0)){continue}break}}e=d&3;if(!e){break b}while(1){i=c<<2;J[i+f>>2]=J[i+J[b+12>>2]>>2];c=c+1|0;k=k+1|0;if((e|0)!=(k|0)){continue}break}}c=J[b+12>>2];if(!(!c|!K[b+16|0])){if(c){J[8457]=J[8457]+1;ua[J[8259]](c)}d=J[b+4>>2]}J[b+12>>2]=f;H[b+16|0]=1;J[b+8>>2]=h;c=J[a+56>>2]}J[J[b+12>>2]+(d<<2)>>2]=c;J[b+4>>2]=d+1}}function Sb(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;c=J[a+12>>2];if(!(!c|!K[a+8|0])){d=J[b+4>>2];a:{if((d|0)!=J[b+8>>2]){break a}h=d?d<<1:1;if((h|0)<=(d|0)){break a}if(h){J[8456]=J[8456]+1;f=ua[J[8258]](h<<2,16)|0;d=J[b+4>>2]}b:{if((d|0)<=0){break b}c=0;if(d>>>0>=4){i=d&-4;while(1){e=c<<2;J[e+f>>2]=J[e+J[b+12>>2]>>2];g=e|4;J[g+f>>2]=J[g+J[b+12>>2]>>2];g=e|8;J[g+f>>2]=J[g+J[b+12>>2]>>2];e=e|12;J[e+f>>2]=J[e+J[b+12>>2]>>2];c=c+4|0;j=j+4|0;if((i|0)!=(j|0)){continue}break}}e=d&3;if(!e){break b}while(1){i=c<<2;J[i+f>>2]=J[i+J[b+12>>2]>>2];c=c+1|0;k=k+1|0;if((e|0)!=(k|0)){continue}break}}c=J[b+12>>2];if(!(!c|!K[b+16|0])){if(c){J[8457]=J[8457]+1;ua[J[8259]](c)}d=J[b+4>>2]}J[b+12>>2]=f;H[b+16|0]=1;J[b+8>>2]=h;c=J[a+12>>2]}J[J[b+12>>2]+(d<<2)>>2]=c;J[b+4>>2]=d+1}}function pk(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=Q(0),f=Q(0),g=Q(0),h=0,i=Q(0),j=Q(0),k=Q(0),l=Q(0);d=sa-32|0;sa=d;h=J[c+12>>2];J[d+24>>2]=J[c+8>>2];J[d+28>>2]=h;h=J[c+4>>2];J[d+16>>2]=J[c>>2];J[d+20>>2]=h;e=N[d+24>>2];f=N[d+16>>2];g=N[d+20>>2];if(Q(Q(e*e)+Q(Q(f*f)+Q(g*g)))>2]=0;g=Q(-1);f=Q(-1);e=Q(-1)}i=e;e=Q(Q(1)/Q(Y(Q(Q(e*e)+Q(Q(f*f)+Q(g*g))))));N[d+24>>2]=i*e;N[d+20>>2]=g*e;N[d+16>>2]=f*e;ab(d,b,d+16|0);a:{b:{switch(J[b+4>>2]){case 8:e=Q(N[b+36>>2]*N[b+20>>2]);break a;case 0:case 1:case 4:case 5:case 10:case 11:case 13:e=N[b+52>>2];break a;default:break b}}e=Q(ua[J[J[b>>2]+48>>2]](b))}f=N[d>>2];g=N[d+16>>2];i=N[d+4>>2];j=N[d+20>>2];k=N[d+8>>2];l=N[d+24>>2];J[a+12>>2]=0;N[a+8>>2]=k+Q(e*l);N[a+4>>2]=i+Q(e*j);N[a>>2]=f+Q(e*g);sa=d+32|0}function Ma(a){var b=Q(0),c=0,d=0,e=0,f=0;c=sa-16|0;sa=c;e=(B(a),v(2));d=e&2147483647;a:{if(d>>>0<=1061752794){b=Q(1);if(d>>>0<964689920){break a}b=Wa(+a);break a}if(d>>>0<=1081824209){if(d>>>0>=1075235812){b=Q(-Wa(((e|0)<0?3.141592653589793:-3.141592653589793)+ +a));break a}f=+a;if((e|0)<0){b=Va(f+1.5707963267948966);break a}b=Va(1.5707963267948966-f);break a}if(d>>>0<=1088565717){if(d>>>0>=1085271520){b=Wa(((e|0)<0?6.283185307179586:-6.283185307179586)+ +a);break a}if((e|0)<0){b=Va(-4.71238898038469-+a);break a}b=Va(+a+-4.71238898038469);break a}b=Q(a-a);if(d>>>0>=2139095040){break a}b:{switch(nd(a,c+8|0)&3){case 0:b=Wa(O[c+8>>3]);break a;case 1:b=Va(-O[c+8>>3]);break a;case 2:b=Q(-Wa(O[c+8>>3]));break a;default:break b}}b=Va(O[c+8>>3])}a=b;sa=c+16|0;return a}function Cm(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;c=J[a+72>>2];if(c){d=J[b+4>>2];a:{if((d|0)!=J[b+8>>2]){break a}h=d?d<<1:1;if((h|0)<=(d|0)){break a}if(h){J[8456]=J[8456]+1;f=ua[J[8258]](h<<2,16)|0;d=J[b+4>>2]}b:{if((d|0)<=0){break b}c=0;if(d>>>0>=4){i=d&-4;while(1){e=c<<2;J[e+f>>2]=J[e+J[b+12>>2]>>2];g=e|4;J[g+f>>2]=J[g+J[b+12>>2]>>2];g=e|8;J[g+f>>2]=J[g+J[b+12>>2]>>2];e=e|12;J[e+f>>2]=J[e+J[b+12>>2]>>2];c=c+4|0;j=j+4|0;if((i|0)!=(j|0)){continue}break}}e=d&3;if(!e){break b}while(1){i=c<<2;J[i+f>>2]=J[i+J[b+12>>2]>>2];c=c+1|0;k=k+1|0;if((e|0)!=(k|0)){continue}break}}c=J[b+12>>2];if(!(!c|!K[b+16|0])){if(c){J[8457]=J[8457]+1;ua[J[8259]](c)}d=J[b+4>>2]}J[b+12>>2]=f;H[b+16|0]=1;J[b+8>>2]=h;c=J[a+72>>2]}J[J[b+12>>2]+(d<<2)>>2]=c;J[b+4>>2]=d+1}}function Na(a){var b=0,c=0,d=0,e=0;b=sa-16|0;sa=b;e=(B(a),v(2));c=e&2147483647;a:{if(c>>>0<=1061752794){if(c>>>0<964689920){break a}a=Va(+a);break a}if(c>>>0<=1081824209){d=+a;if(c>>>0<=1075235811){if((e|0)<0){a=Q(-Wa(d+1.5707963267948966));break a}a=Wa(d+-1.5707963267948966);break a}a=Va(-(((e|0)>=0?-3.141592653589793:3.141592653589793)+d));break a}if(c>>>0<=1088565717){if(c>>>0<=1085271519){d=+a;if((e|0)<0){a=Wa(d+4.71238898038469);break a}a=Q(-Wa(d+-4.71238898038469));break a}a=Va(((e|0)<0?6.283185307179586:-6.283185307179586)+ +a);break a}if(c>>>0>=2139095040){a=Q(a-a);break a}b:{switch(nd(a,b+8|0)&3){case 0:a=Va(O[b+8>>3]);break a;case 1:a=Wa(O[b+8>>3]);break a;case 2:a=Va(-O[b+8>>3]);break a;default:break b}}a=Q(-Wa(O[b+8>>3]))}sa=b+16|0;return a}function wl(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=La(160);H[d+108|0]=0;J[d+104>>2]=0;H[d+65|0]=0;H[d+61|0]=0;H[d+62|0]=1;H[d+63|0]=1;H[d+64|0]=0;J[d+20>>2]=0;J[d+4>>2]=0;J[d+8>>2]=0;J[d+24>>2]=c;J[d+12>>2]=a;H[d+128|0]=1;J[d>>2]=25216;J[d+124>>2]=0;J[d+116>>2]=0;J[d+120>>2]=0;J[d+56>>2]=J[b+44>>2];a=J[b+16>>2];J[d+40>>2]=J[b+12>>2];J[d+44>>2]=a;a=J[b+24>>2];J[d+48>>2]=J[b+20>>2];J[d+52>>2]=a;N[d+32>>2]=N[b+4>>2];N[d+36>>2]=N[b+8>>2];N[d+28>>2]=N[b>>2];a=J[b+48>>2];J[d+132>>2]=0;J[d+20>>2]=a;J[d>>2]=25248;N[d+152>>2]=N[b+52>>2];N[d+156>>2]=N[b+56>>2];J[8456]=J[8456]+1;a=sd(ua[J[8258]](348,16)|0);J[d+4>>2]=a;J[a+204>>2]=4;c=J[b+32>>2];J[a+52>>2]=J[b+28>>2];J[a+56>>2]=c;c=J[b+40>>2];J[a+60>>2]=J[b+36>>2];J[a+64>>2]=c;J[J[d+4>>2]+256>>2]=d;ic(d);return d|0}function vg(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=Q(0),f=Q(0),g=Q(0),h=Q(0),i=Q(0),j=Q(0),k=Q(0),l=Q(0),m=Q(0),n=Q(0),o=Q(0),p=Q(0);e=Q(1);d=J[b>>2];if(!((d|0)==J[a+88>>2]|K[d+204|0]&4)){J[a+84>>2]=J[J[b+4>>2]+8>>2];e=N[b+40>>2];J[a+16>>2]=d;N[a+4>>2]=e;a:{if(c){c=J[b+12>>2];J[a+52>>2]=J[b+8>>2];J[a+56>>2]=c;c=J[b+20>>2];J[a+60>>2]=J[b+16>>2];J[a+64>>2]=c;break a}h=N[d+8>>2];i=N[d+12>>2];j=N[d+20>>2];k=N[d+24>>2];l=N[d+28>>2];m=N[d+36>>2];n=N[d+40>>2];e=N[b+12>>2];o=N[d+44>>2];f=N[b+16>>2];p=N[d+4>>2];g=N[b+8>>2];J[a- -64>>2]=0;N[a+60>>2]=Q(o*f)+Q(Q(m*g)+Q(e*n));N[a+56>>2]=Q(l*f)+Q(Q(j*g)+Q(e*k));N[a+52>>2]=Q(i*f)+Q(Q(p*g)+Q(h*e))}c=J[b+28>>2];J[a+68>>2]=J[b+24>>2];J[a+72>>2]=c;c=J[b+36>>2];J[a+76>>2]=J[b+32>>2];J[a+80>>2]=c;e=N[b+40>>2]}return Q(e)}function lh(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;c=J[a+296>>2];a:{if((c|0)!=J[a+300>>2]){break a}h=c?c<<1:1;if((h|0)<=(c|0)){break a}if(h){J[8456]=J[8456]+1;f=ua[J[8258]](h<<2,16)|0;c=J[a+296>>2]}b:{if((c|0)<=0){break b}if(c>>>0>=4){i=c&-4;while(1){d=e<<2;J[d+f>>2]=J[d+J[a+304>>2]>>2];g=d|4;J[g+f>>2]=J[g+J[a+304>>2]>>2];g=d|8;J[g+f>>2]=J[g+J[a+304>>2]>>2];d=d|12;J[d+f>>2]=J[d+J[a+304>>2]>>2];e=e+4|0;j=j+4|0;if((i|0)!=(j|0)){continue}break}}d=c&3;if(!d){break b}while(1){i=e<<2;J[i+f>>2]=J[i+J[a+304>>2]>>2];e=e+1|0;k=k+1|0;if((d|0)!=(k|0)){continue}break}}e=J[a+304>>2];if(!(!e|!K[a+308|0])){if(e){J[8457]=J[8457]+1;ua[J[8259]](e)}c=J[a+296>>2]}J[a+304>>2]=f;H[a+308|0]=1;J[a+300>>2]=h}J[J[a+304>>2]+(c<<2)>>2]=b;J[a+296>>2]=c+1}function og(a){a=a|0;var b=0,c=Q(0),d=Q(0),e=Q(0),f=Q(0),g=0,h=Q(0),i=Q(0),j=Q(0),k=Q(0),l=Q(0);J[8456]=J[8456]+1;b=Sa(ua[J[8258]](64,16)|0);J[b+60>>2]=1;J[b>>2]=20016;d=N[a>>2];e=N[a+4>>2];c=N[a+8>>2];J[b+48>>2]=0;f=Q(c*N[b+28>>2]);c=N[b+52>>2];N[b+44>>2]=f-c;N[b+40>>2]=Q(e*N[b+24>>2])-c;N[b+36>>2]=Q(d*N[b+20>>2])-c;e=c;c=N[a>>2];d=N[a+4>>2];g=c>2]>(g?c:d)?!g:2)<<2)+a>>2]*Q(.10000000149011612));if(e>c){d=N[b+52>>2];e=Q(ua[J[J[b>>2]+48>>2]](b));f=Q(ua[J[J[b>>2]+48>>2]](b));N[b+52>>2]=c;c=N[b+44>>2];h=N[b+36>>2];i=N[b+40>>2];j=Q(ua[J[J[b>>2]+48>>2]](b));k=Q(ua[J[J[b>>2]+48>>2]](b));l=Q(ua[J[J[b>>2]+48>>2]](b));J[b+48>>2]=0;N[b+40>>2]=Q(e+i)-k;N[b+36>>2]=Q(d+h)-j;N[b+44>>2]=Q(f+c)-l}J[b+4>>2]=13;return b|0}function wk(a,b,c){a=a|0;b=Q(b);c=c|0;var d=0,e=Q(0),f=Q(0),g=Q(0),h=0,i=Q(0),j=Q(0),k=Q(0),l=Q(0);d=sa-96|0;sa=d;J[d+44>>2]=0;J[d+48>>2]=0;J[d+56>>2]=0;J[d+60>>2]=0;J[d+52>>2]=1065353216;h=d- -64|0;J[h>>2]=0;J[h+4>>2]=0;J[d+76>>2]=0;J[d+80>>2]=0;J[d+72>>2]=1065353216;J[d+84>>2]=0;J[d+88>>2]=0;J[d+92>>2]=0;J[d+36>>2]=0;J[d+40>>2]=0;J[d+32>>2]=1065353216;ua[J[J[a>>2]+8>>2]](a,d+32|0,d+16|0,d);i=N[d+24>>2];j=N[d+8>>2];f=N[d+16>>2];g=N[d>>2];k=N[d+20>>2];l=N[d+4>>2];e=Q(ua[J[J[a>>2]+48>>2]](a));J[c+12>>2]=0;b=Q(b*Q(.0833333283662796));f=Q(e+Q(Q(g-f)*Q(.5)));f=Q(f+f);f=Q(f*f);g=Q(e+Q(Q(l-k)*Q(.5)));g=Q(g+g);g=Q(g*g);N[c+8>>2]=b*Q(f+g);e=Q(e+Q(Q(j-i)*Q(.5)));e=Q(e+e);e=Q(e*e);N[c+4>>2]=b*Q(f+e);N[c>>2]=b*Q(g+e);sa=d+96|0}function Gj(a,b,c){a=a|0;b=Q(b);c=c|0;var d=0,e=Q(0),f=Q(0),g=Q(0),h=0,i=Q(0),j=Q(0),k=Q(0),l=Q(0);d=sa-96|0;sa=d;e=Q(ua[J[J[a>>2]+48>>2]](a));J[d+44>>2]=0;J[d+48>>2]=0;J[d+56>>2]=0;J[d+60>>2]=0;J[d+52>>2]=1065353216;h=d- -64|0;J[h>>2]=0;J[h+4>>2]=0;J[d+76>>2]=0;J[d+80>>2]=0;J[d+72>>2]=1065353216;J[d+84>>2]=0;J[d+88>>2]=0;J[d+92>>2]=0;J[d+36>>2]=0;J[d+40>>2]=0;J[d+32>>2]=1065353216;ua[J[J[a>>2]+8>>2]](a,d+32|0,d+16|0,d);i=N[d+24>>2];j=N[d+8>>2];f=N[d+16>>2];g=N[d>>2];k=N[d+20>>2];l=N[d+4>>2];J[c+12>>2]=0;b=Q(b*Q(.0833333283662796));f=Q(e+Q(Q(g-f)*Q(.5)));f=Q(f+f);f=Q(f*f);g=Q(e+Q(Q(l-k)*Q(.5)));g=Q(g+g);g=Q(g*g);N[c+8>>2]=b*Q(f+g);e=Q(e+Q(Q(j-i)*Q(.5)));e=Q(e+e);e=Q(e*e);N[c+4>>2]=b*Q(f+e);N[c>>2]=b*Q(g+e);sa=d+96|0}function zk(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=Q(0),f=0,g=0,h=0,i=Q(0),j=0,k=Q(0),l=0,m=Q(0),n=0,o=0,p=Q(0);if((d|0)>0){f=sa-16|0;while(1){i=Q(N[a+68>>2]*Q(.5));j=J[a+72>>2];o=l<<4;g=o+b|0;e=N[g+8>>2];h=J[a+76>>2]<<2;m=Q(e*e);e=N[g>>2];k=Q(e*e);e=N[g+4>>2];a:{b:{if(N[g+h>>2]>Q(N[a+60>>2]*Q(Y(Q(m+Q(k+Q(e*e))))))){J[(j<<2)+f>>2]=0;N[f+h>>2]=i;j=J[a+80>>2];break b}n=j<<2;e=N[g+n>>2];j=J[a+80>>2];k=N[g+(j<<2)>>2];p=Q(Y(Q(Q(e*e)+Q(k*k))));if(p>Q(1.1920928955078125e-7)){m=e;e=Q(N[a+64>>2]/p);N[f+n>>2]=m*e;N[f+h>>2]=-i;i=Q(k*e);break a}J[f+n>>2]=0;N[f+h>>2]=-i}i=Q(0)}N[(j<<2)+f>>2]=i;h=J[f+12>>2];g=c+o|0;J[g+8>>2]=J[f+8>>2];J[g+12>>2]=h;h=J[f+4>>2];J[g>>2]=J[f>>2];J[g+4>>2]=h;l=l+1|0;if((l|0)!=(d|0)){continue}break}}}function Tl(a,b,c,d){a=a|0;b=b|0;c=Q(c);d=Q(d);var e=0,f=0;f=sa-16|0;sa=f;e=J[b+12>>2];J[f+8>>2]=J[b+8>>2];J[f+12>>2]=e;e=J[b+4>>2];J[f>>2]=J[b>>2];J[f+4>>2]=e;d=Q(ua[J[J[a>>2]+20>>2]](a));H[a+65|0]=0;N[a+16>>2]=d;d=N[a+36>>2];N[a+36>>2]=d>Q(.009999999776482582)?d:Q(.009999999776482582);b=J[a+4>>2];e=J[b+56>>2];J[a+136>>2]=J[b+52>>2];J[a+140>>2]=e;e=J[b+64>>2];J[a+144>>2]=J[b+60>>2];J[a+148>>2]=e;b=kc(a,f,c);if(K[a+60|0]){H[a+61|0]=1;e=J[a+148>>2];b=J[a+4>>2];J[b+60>>2]=J[a+144>>2];J[b+64>>2]=e;e=J[a+140>>2];J[b+52>>2]=J[a+136>>2];J[b+56>>2]=e;b=kc(a,f,c);H[a+61|0]=0}a:{if(!K[a+65|0]){break a}if(!(b&4)|(ua[J[J[a>>2]+16>>2]](a)|0)!=1){break a}H[a+64|0]=1;kc(a,f,c);H[a+64|0]=0}J[a+132>>2]=b;sa=f+16|0;return b|0}function Ta(a,b){var c=0,d=0,e=0;c=sa+-64|0;sa=c;d=J[a>>2];e=J[d-4>>2];d=J[d-8>>2];J[c+32>>2]=0;J[c+36>>2]=0;J[c+40>>2]=0;J[c+44>>2]=0;J[c+48>>2]=0;J[c+52>>2]=0;H[c+55|0]=0;H[c+56|0]=0;H[c+57|0]=0;H[c+58|0]=0;H[c+59|0]=0;H[c+60|0]=0;H[c+61|0]=0;H[c+62|0]=0;J[c+24>>2]=0;J[c+28>>2]=0;J[c+20>>2]=0;J[c+16>>2]=29924;J[c+12>>2]=a;J[c+8>>2]=b;a=a+d|0;d=0;a:{if(Ka(e,b,0)){J[c+56>>2]=1;ua[J[J[e>>2]+20>>2]](e,c+8|0,a,a,1,0);d=J[c+32>>2]==1?a:0;break a}ua[J[J[e>>2]+24>>2]](e,c+8|0,a,1,0);b:{switch(J[c+44>>2]){case 0:d=J[c+48>>2]==1?J[c+36>>2]==1?J[c+40>>2]==1?J[c+28>>2]:0:0:0;break a;case 1:break b;default:break a}}if(J[c+32>>2]!=1){if(J[c+48>>2]|J[c+36>>2]!=1|J[c+40>>2]!=1){break a}}d=J[c+24>>2]}sa=c- -64|0;return d}function Yr(){var a=0,b=0,c=0,d=0,e=0,f=0,g=0,h=0;b=sa-32|0;sa=b;a=La(10448);if(!K[33780]){J[b+24>>2]=0;J[b+28>>2]=1;J[b+16>>2]=4096;J[b+20>>2]=4096;J[b+8>>2]=0;J[b+12>>2]=0;Lc(b+8|0);H[33780]=1}J[a+4>>2]=2;J[a+10444>>2]=33692;J[a+64>>2]=466;H[a+24|0]=1;J[a>>2]=12836;J[a+20>>2]=0;J[a+60>>2]=0;J[a+28>>2]=17852;J[a+12>>2]=0;J[a+16>>2]=0;g=a,h=ua[J[J[8423]+12>>2]](33692)|0,J[g+68>>2]=h;g=a,h=ua[J[J[8423]+8>>2]](33692)|0,J[g+72>>2]=h;while(1){c=0;while(1){e=(P(d,144)+a|0)+(c<<2)|0;f=J[a+10444>>2];g=e,h=ua[J[J[f>>2]+16>>2]](f,d,c)|0,J[g+76>>2]=h;f=e+5260|0;e=J[a+10444>>2];g=f,h=ua[J[J[e>>2]+20>>2]](e,d,c)|0,J[g>>2]=h;c=c+1|0;if((c|0)!=36){continue}break}d=d+1|0;if((d|0)!=36){continue}break}sa=b+32|0;return a|0}function Lo(a,b,c,d){a=a|0;b=Q(b);c=c|0;d=d|0;var e=0,f=0,g=Q(0);e=sa+-64|0;sa=e;f=J[c+60>>2];J[e+56>>2]=J[c+56>>2];J[e+60>>2]=f;f=J[c+52>>2];J[e+48>>2]=J[c+48>>2];J[e+52>>2]=f;N[e+32>>2]=N[c+4>>2];N[e+36>>2]=N[c+20>>2];g=N[c+36>>2];J[e+44>>2]=0;N[e+40>>2]=g;N[e+16>>2]=N[c>>2];N[e+20>>2]=N[c+16>>2];g=N[c+32>>2];J[e+28>>2]=0;N[e+24>>2]=g;c=e+48|0;f=e+32|0;ua[J[J[a>>2]+72>>2]](a,c,f,e+16|0,b,Q(-1.5707963705062866),Q(1.5707963705062866),Q(-1.5707963705062866),Q(1.5707963705062866),d,Q(30),0);J[e+12>>2]=0;N[e+8>>2]=-N[e+24>>2];N[e+4>>2]=-N[e+20>>2];N[e>>2]=-N[e+16>>2];ua[J[J[a>>2]+72>>2]](a,c,f,e,b,Q(-1.5707963705062866),Q(1.5707963705062866),Q(-1.5707963705062866),Q(1.5707963705062866),d,Q(30),0);sa=e- -64|0}function Sk(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=Q(0),f=0,g=Q(0),h=Q(0),i=Q(0),j=Q(0),k=0,l=Q(0),m=Q(0),n=Q(0),o=Q(0),p=Q(0),q=Q(0),r=Q(0),s=Q(0),t=Q(0),u=Q(0);f=sa-16|0;k=a+36|0;a=J[a+60>>2];e=N[k+((a+2|0)%3<<2)>>2];N[f+8>>2]=e;N[f+4>>2]=e;N[f>>2]=e;a=a<<2;N[a+f>>2]=e+N[a+k>>2];l=N[b+52>>2];g=N[b+24>>2];o=N[b+20>>2];m=N[b+56>>2];h=N[b+40>>2];p=N[b+36>>2];n=N[b+48>>2];q=N[b+8>>2];r=N[b>>2];s=N[b+4>>2];t=N[b+16>>2];u=N[b+32>>2];e=N[f+8>>2];i=N[f>>2];j=N[f+4>>2];J[c+12>>2]=0;h=Q(Q(e*Q(R(h)))+Q(Q(i*Q(R(u)))+Q(j*Q(R(p)))));N[c+8>>2]=m-h;g=Q(Q(e*Q(R(g)))+Q(Q(i*Q(R(t)))+Q(j*Q(R(o)))));N[c+4>>2]=l-g;e=Q(Q(e*Q(R(q)))+Q(Q(i*Q(R(r)))+Q(j*Q(R(s)))));N[c>>2]=n-e;J[d+12>>2]=0;N[d+8>>2]=m+h;N[d+4>>2]=l+g;N[d>>2]=n+e}function Zp(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=Q(0),f=Q(0),g=Q(0),h=Q(0),i=Q(0),j=Q(0),k=Q(0),l=Q(0),m=Q(0),n=Q(0),o=Q(0),p=Q(0);J[a+84>>2]=J[J[J[b+4>>2]+8>>2]+8>>2];N[a+4>>2]=N[b+40>>2];d=J[b>>2];J[a+16>>2]=d;a:{if(c){c=J[b+12>>2];J[a+52>>2]=J[b+8>>2];J[a+56>>2]=c;c=J[b+20>>2];J[a+60>>2]=J[b+16>>2];J[a+64>>2]=c;break a}h=N[d+8>>2];i=N[d+12>>2];j=N[d+20>>2];k=N[d+24>>2];l=N[d+28>>2];m=N[d+36>>2];n=N[d+40>>2];e=N[b+12>>2];o=N[d+44>>2];f=N[b+16>>2];p=N[d+4>>2];g=N[b+8>>2];J[a- -64>>2]=0;N[a+60>>2]=Q(o*f)+Q(Q(m*g)+Q(e*n));N[a+56>>2]=Q(l*f)+Q(Q(j*g)+Q(e*k));N[a+52>>2]=Q(i*f)+Q(Q(p*g)+Q(h*e))}c=J[b+28>>2];J[a+68>>2]=J[b+24>>2];J[a+72>>2]=c;c=J[b+36>>2];J[a+76>>2]=J[b+32>>2];J[a+80>>2]=c;return Q(N[b+40>>2])}function bs(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=Q(d);e=Q(e);f=Q(f);var g=0,h=Q(0);J[8456]=J[8456]+1;g=ua[J[8258]](132,16)|0;J[g+12>>2]=0;J[g+16>>2]=0;J[g+4>>2]=35;J[g+8>>2]=0;J[g+20>>2]=0;J[g>>2]=20152;J[g>>2]=20364;J[g+116>>2]=1065353216;J[g+120>>2]=1065353216;J[g+112>>2]=1;H[g+109|0]=0;H[g+110|0]=0;H[g+108|0]=0;J[g+104>>2]=0;J[g+100>>2]=c;N[g+96>>2]=d;N[g+84>>2]=f;N[g+80>>2]=e;J[g+76>>2]=b;J[g+72>>2]=a;J[g+4>>2]=24;J[g+124>>2]=1065353216;J[g+128>>2]=0;d=Q(b-1|0);N[g+92>>2]=d;h=Q(a-1|0);N[g+88>>2]=h;N[g+40>>2]=h;J[g+24>>2]=0;J[g+52>>2]=0;N[g+48>>2]=d;N[g+44>>2]=f;J[g+32>>2]=0;J[g+36>>2]=0;N[g+28>>2]=e;J[g+68>>2]=0;N[g- -64>>2]=Q(d+Q(0))*Q(.5);N[g+60>>2]=Q(e+f)*Q(.5);N[g+56>>2]=Q(h+Q(0))*Q(.5);return g|0}function fd(a){a=a|0;var b=0;J[a>>2]=30840;b=J[a+144>>2];if(!(b?!b|!K[a+148|0]:1)){J[8457]=J[8457]+1;ua[J[8259]](b)}J[a+144>>2]=0;H[a+148|0]=1;J[a+136>>2]=0;J[a+140>>2]=0;J[a>>2]=30888;b=J[a+124>>2];if(!(b?!b|!K[a+128|0]:1)){J[8457]=J[8457]+1;ua[J[8259]](b)}J[a+124>>2]=0;H[a+128|0]=1;J[a+116>>2]=0;J[a+120>>2]=0;b=J[a+104>>2];if(!(b?!b|!K[a+108|0]:1)){J[8457]=J[8457]+1;ua[J[8259]](b)}J[a+104>>2]=0;H[a+108|0]=1;J[a+96>>2]=0;J[a+100>>2]=0;b=J[a+84>>2];if(!(b?!b|!K[a+88|0]:1)){J[8457]=J[8457]+1;ua[J[8259]](b)}J[a+84>>2]=0;H[a+88|0]=1;J[a+76>>2]=0;J[a+80>>2]=0;b=J[a+32>>2];if(!(b?!b|!K[a+36|0]:1)){J[8457]=J[8457]+1;ua[J[8259]](b)}J[a+32>>2]=0;H[a+36|0]=1;J[a+24>>2]=0;J[a+28>>2]=0;J[a>>2]=30816;return a|0}function Fa(a,b,c){var d=0,e=0,f=0,g=0;a:{if(!c){break a}H[a|0]=b;d=a+c|0;H[d-1|0]=b;if(c>>>0<3){break a}H[a+2|0]=b;H[a+1|0]=b;H[d-3|0]=b;H[d-2|0]=b;if(c>>>0<7){break a}H[a+3|0]=b;H[d-4|0]=b;if(c>>>0<9){break a}d=0-a&3;e=d+a|0;b=P(b&255,16843009);J[e>>2]=b;d=c-d&-4;c=d+e|0;J[c-4>>2]=b;if(d>>>0<9){break a}J[e+8>>2]=b;J[e+4>>2]=b;J[c-8>>2]=b;J[c-12>>2]=b;if(d>>>0<25){break a}J[e+24>>2]=b;J[e+20>>2]=b;J[e+16>>2]=b;J[e+12>>2]=b;J[c-16>>2]=b;J[c-20>>2]=b;J[c-24>>2]=b;J[c-28>>2]=b;g=e&4|24;c=d-g|0;if(c>>>0<32){break a}d=us(b,0,1,1);f=ta;b=e+g|0;while(1){J[b+24>>2]=d;J[b+28>>2]=f;J[b+16>>2]=d;J[b+20>>2]=f;J[b+8>>2]=d;J[b+12>>2]=f;J[b>>2]=d;J[b+4>>2]=f;b=b+32|0;c=c-32|0;if(c>>>0>31){continue}break}}return a}function ob(a,b){var c=Q(0),d=0,e=0,f=Q(0),g=0,h=Q(0),i=Q(0),j=0,k=0,l=0,m=0;e=sa-16|0;c=N[a>>2];h=N[a+20>>2];i=N[a+40>>2];f=Q(Q(c+h)+i);a:{if(f>Q(0)){f=Q(Y(Q(f+Q(1))));c=Q(Q(.5)/f);h=Q(c*Q(N[a+16>>2]-N[a+4>>2]));i=Q(c*Q(N[a+8>>2]-N[a+32>>2]));f=Q(f*Q(.5));c=Q(c*Q(N[a+36>>2]-N[a+24>>2]));break a}g=c>>0)%3|0;g=m+(a<<4)|0;a=a<<2;c=Q(Y(Q(Q(Q(N[k+j>>2]-N[l+d>>2])-N[g+a>>2])+Q(1))));N[j+e>>2]=c*Q(.5);c=Q(Q(.5)/c);N[e+12>>2]=Q(N[d+g>>2]-N[a+l>>2])*c;N[e+d>>2]=c*Q(N[j+l>>2]+N[d+k>>2]);N[(a|e)>>2]=c*Q(N[g+j>>2]+N[a+k>>2]);f=N[e+12>>2];h=N[e+8>>2];i=N[e+4>>2];c=N[e>>2]}N[b+12>>2]=f;N[b+8>>2]=h;N[b+4>>2]=i;N[b>>2]=c}function Kg(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=Q(0),f=Q(0),g=Q(0),h=Q(0),i=Q(0),j=Q(0),k=Q(0),l=Q(0),m=Q(0),n=Q(0),o=Q(0),p=Q(0);J[a+84>>2]=J[J[b+4>>2]+8>>2];N[a+4>>2]=N[b+40>>2];d=J[b>>2];J[a+16>>2]=d;a:{if(c){c=J[b+12>>2];J[a+52>>2]=J[b+8>>2];J[a+56>>2]=c;c=J[b+20>>2];J[a+60>>2]=J[b+16>>2];J[a+64>>2]=c;break a}h=N[d+8>>2];i=N[d+12>>2];j=N[d+20>>2];k=N[d+24>>2];l=N[d+28>>2];m=N[d+36>>2];n=N[d+40>>2];e=N[b+12>>2];o=N[d+44>>2];f=N[b+16>>2];p=N[d+4>>2];g=N[b+8>>2];J[a- -64>>2]=0;N[a+60>>2]=Q(o*f)+Q(Q(m*g)+Q(e*n));N[a+56>>2]=Q(l*f)+Q(Q(j*g)+Q(e*k));N[a+52>>2]=Q(i*f)+Q(Q(p*g)+Q(h*e))}c=J[b+28>>2];J[a+68>>2]=J[b+24>>2];J[a+72>>2]=c;c=J[b+36>>2];J[a+76>>2]=J[b+32>>2];J[a+80>>2]=c;return Q(N[b+40>>2])}function dd(a){a=a|0;var b=0;J[a>>2]=30968;b=J[a+144>>2];if(!(b?!b|!K[a+148|0]:1)){J[8457]=J[8457]+1;ua[J[8259]](b)}J[a+144>>2]=0;H[a+148|0]=1;J[a+136>>2]=0;J[a+140>>2]=0;J[a>>2]=31016;b=J[a+124>>2];if(!(b?!b|!K[a+128|0]:1)){J[8457]=J[8457]+1;ua[J[8259]](b)}J[a+124>>2]=0;H[a+128|0]=1;J[a+116>>2]=0;J[a+120>>2]=0;b=J[a+104>>2];if(!(b?!b|!K[a+108|0]:1)){J[8457]=J[8457]+1;ua[J[8259]](b)}J[a+104>>2]=0;H[a+108|0]=1;J[a+96>>2]=0;J[a+100>>2]=0;b=J[a+84>>2];if(!(b?!b|!K[a+88|0]:1)){J[8457]=J[8457]+1;ua[J[8259]](b)}J[a+84>>2]=0;H[a+88|0]=1;J[a+76>>2]=0;J[a+80>>2]=0;b=J[a+32>>2];if(!(b?!b|!K[a+36|0]:1)){J[8457]=J[8457]+1;ua[J[8259]](b)}J[a+32>>2]=0;H[a+36|0]=1;J[a+24>>2]=0;J[a+28>>2]=0;return a|0}function Ip(a){a=a|0;var b=0,c=0;J[8456]=J[8456]+1;b=ua[J[8258]](144,16)|0;J[b+8>>2]=1065353216;J[b+12>>2]=1065353216;J[b+4>>2]=0;J[b+104>>2]=1065353216;J[b+108>>2]=1065353216;J[b+96>>2]=0;J[b+100>>2]=0;J[b+88>>2]=1065353216;J[b+92>>2]=0;J[b+80>>2]=0;J[b+84>>2]=0;J[b+72>>2]=1065353216;J[b+76>>2]=1065353216;c=b- -64|0;J[c>>2]=0;J[c+4>>2]=0;J[b+56>>2]=1065353216;J[b+60>>2]=0;J[b+48>>2]=1065353216;J[b+52>>2]=0;J[b+40>>2]=0;J[b+44>>2]=1065353216;J[b+32>>2]=0;J[b+36>>2]=0;J[b+24>>2]=0;J[b+28>>2]=1065353216;J[b+16>>2]=1065353216;J[b+20>>2]=0;J[b+112>>2]=0;J[b+116>>2]=0;J[b+120>>2]=0;J[b+124>>2]=0;J[b+128>>2]=0;J[b+132>>2]=0;H[b+136|0]=0;J[b+140>>2]=J[a>>2];J[a>>2]=0;J[b>>2]=31352;return b|0}function Vc(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0;d=J[b+188>>2];if(d){c=J[a+68>>2];c=ua[J[J[c>>2]+36>>2]](c)|0;ua[J[J[c>>2]+40>>2]](c,d,J[a+24>>2]);c=J[a+68>>2];ua[J[J[c>>2]+12>>2]](c,d,J[a+24>>2]);J[b+188>>2]=0}c=J[b+216>>2];d=J[a+8>>2];a:{if(!((c|0)<0|(c|0)>=(d|0))){e=J[a+16>>2];f=c<<2;g=e+f|0;h=J[g>>2];i=e;d=d-1|0;e=d<<2;J[g>>2]=J[i+e>>2];J[e+J[a+16>>2]>>2]=h;J[a+8>>2]=d;if((c|0)>=(d|0)){break a}J[J[f+J[a+16>>2]>>2]+216>>2]=c;break a}if((d|0)<=0){break a}e=J[a+16>>2];c=0;while(1){f=e+(c<<2)|0;if(J[f>>2]!=(b|0)){c=c+1|0;if((d|0)!=(c|0)){continue}break a}break}if((c|0)>=(d|0)){break a}d=d-1|0;c=d<<2;J[f>>2]=J[c+e>>2];J[c+J[a+16>>2]>>2]=b;J[a+8>>2]=d}J[b+216>>2]=-1}function Gc(a){a=a|0;var b=0;J[a>>2]=18460;b=J[a+160>>2];if(!(b?!b|!K[a+164|0]:1)){J[8457]=J[8457]+1;ua[J[8259]](b)}J[a+160>>2]=0;H[a+164|0]=1;J[a+152>>2]=0;J[a+156>>2]=0;b=J[a+136>>2];if(!(b?!b|!K[a+140|0]:1)){J[8457]=J[8457]+1;ua[J[8259]](b)}J[a+136>>2]=0;H[a+140|0]=1;J[a+128>>2]=0;J[a+132>>2]=0;b=J[a+116>>2];if(!(b?!b|!K[a+120|0]:1)){J[8457]=J[8457]+1;ua[J[8259]](b)}J[a+116>>2]=0;H[a+120|0]=1;J[a+108>>2]=0;J[a+112>>2]=0;b=J[a+96>>2];if(!(b?!b|!K[a+100|0]:1)){J[8457]=J[8457]+1;ua[J[8259]](b)}J[a+96>>2]=0;H[a+100|0]=1;J[a+88>>2]=0;J[a+92>>2]=0;b=J[a+76>>2];if(!(b?!b|!K[a+80|0]:1)){J[8457]=J[8457]+1;ua[J[8259]](b)}J[a+76>>2]=0;H[a+80|0]=1;J[a+68>>2]=0;J[a+72>>2]=0;return a|0}function Bn(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=Q(0);d=sa-96|0;sa=d;f=J[J[a>>2]>>2];g=J[J[a+4>>2]>>2];a:{if(!(ua[J[J[b>>2]+24>>2]](b,f,g)|0)){break a}e=J[f+192>>2];J[d+88>>2]=-1;J[d+92>>2]=-1;J[d+84>>2]=f+4;J[d+80>>2]=f;J[d+76>>2]=e;J[d+72>>2]=0;e=J[g+192>>2];J[d+64>>2]=-1;J[d+68>>2]=-1;J[d+60>>2]=g+4;J[d+56>>2]=g;J[d+52>>2]=e;J[d+48>>2]=0;if(!J[a+8>>2]){b=ua[J[J[b>>2]+8>>2]](b,d+72|0,d+48|0,0,1)|0;J[a+8>>2]=b;if(!b){break a}}b=d+12|0;J[b+32>>2]=0;J[b+12>>2]=d+48;J[b+8>>2]=d+72;J[b+4>>2]=0;J[b>>2]=17852;a=J[a+8>>2];e=J[a>>2];if(J[c+8>>2]==1){ua[J[e+8>>2]](a,d+72|0,d+48|0,c,b);break a}h=Q(ua[J[e+12>>2]](a,f,g,c,b));if(!(h>2])){break a}N[c+12>>2]=h}sa=d+96|0}function Wn(a,b,c){a=a|0;b=b|0;c=c|0;var d=Q(0),e=Q(0),f=0,g=Q(0),h=Q(0),i=Q(0),j=Q(0),k=Q(0),l=Q(0);f=J[a+44>>2];a=J[a+4>>2];a:{if(a){if(f){e=N[a+24>>2];d=N[f+24>>2];g=e>d?e:d;e=N[a+20>>2];d=N[f+20>>2];h=e>d?e:d;e=N[a+8>>2];d=N[f+8>>2];i=e>2];d=N[f+4>>2];j=e>2];d=N[f+16>>2];k=e>d?e:d;d=N[a>>2];e=N[f>>2];d=e>d?d:e;break a}l=N[a+28>>2];g=N[a+24>>2];h=N[a+20>>2];k=N[a+16>>2];e=N[a+12>>2];i=N[a+8>>2];j=N[a+4>>2];d=N[a>>2];break a}d=Q(0);if(!f){break a}l=N[f+28>>2];g=N[f+24>>2];h=N[f+20>>2];k=N[f+16>>2];e=N[f+12>>2];i=N[f+8>>2];j=N[f+4>>2];d=N[f>>2]}N[b+12>>2]=e;N[b+8>>2]=i;N[b+4>>2]=j;N[b>>2]=d;N[c+12>>2]=l;N[c+8>>2]=g;N[c+4>>2]=h;N[c>>2]=k}function Qa(a){var b=0,c=0,d=0,e=0;e=(B(a),v(2));c=e>>>23&255;if((c|0)==255){a=Q(a*Q(6.2831854820251465));return Q(a/a)}b=e<<1;if(b>>>0<=2173837238){return(b|0)==-2121130058?Q(a*Q(0)):a}a:{if(!c){c=0;b=e<<9;if((b|0)>=0){while(1){c=c-1|0;b=b<<1;if((b|0)>=0){continue}break}}b=e<<1-c;break a}b=e&8388607|8388608}if((c|0)>129){while(1){b:{d=b-13176795|0;if((d|0)<0){break b}b=d;if(b){break b}return Q(a*Q(0))}b=b<<1;c=c-1|0;if((c|0)>129){continue}break}c=129}c:{d=b-13176795|0;if((d|0)<0){break c}b=d;if(b){break c}return Q(a*Q(0))}if(b>>>0<=8388607){while(1){c=c-1|0;d=b>>>0<4194304;b=b<<1;if(d){continue}break}}return x(2,e&-2147483648|((c|0)>0?b-8388608|c<<23:b>>>1-c|0)),C()}function Ej(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=Q(0),g=Q(0),h=Q(0),i=Q(0),j=Q(0),k=Q(0),l=Q(0),m=Q(0),n=Q(0),o=Q(0),p=Q(0);e=sa+-64|0;sa=e;J[e+44>>2]=b;J[e+40>>2]=21336;b=J[a+36>>2];J[e+56>>2]=J[a+32>>2];J[e+60>>2]=b;b=J[a+28>>2];J[e+48>>2]=J[a+24>>2];J[e+52>>2]=b;g=N[a+32>>2];f=N[a+28>>2];h=N[a+24>>2];i=Q(Q(1)/h);j=N[c>>2];k=N[d>>2];N[e+24>>2]=i*(h>=Q(0)?j:k);l=Q(Q(1)/f);m=N[c+4>>2];n=N[d+4>>2];N[e+28>>2]=l*(f>=Q(0)?m:n);o=N[d+8>>2];p=N[c+8>>2];J[e+36>>2]=0;J[e+20>>2]=0;N[e+12>>2]=l*(f<=Q(0)?m:n);N[e+8>>2]=i*(h<=Q(0)?j:k);f=Q(Q(1)/g);N[e+32>>2]=f*(g>=Q(0)?p:o);N[e+16>>2]=f*(g<=Q(0)?p:o);a=J[a+40>>2];ua[J[J[a>>2]+64>>2]](a,e+40|0,e+24|0,e+8|0);sa=e- -64|0}function Ic(a,b){var c=Q(0),d=Q(0),e=Q(0),f=Q(0),g=0,h=Q(0),i=Q(0),j=Q(0),k=Q(0),l=Q(0);a=Ob(a);J[a+4>>2]=0;J[a>>2]=18128;d=N[b>>2];f=N[b+4>>2];c=N[b+8>>2];J[a+48>>2]=0;e=Q(c*N[a+28>>2]);c=N[a+52>>2];N[a+44>>2]=e-c;N[a+40>>2]=Q(f*N[a+24>>2])-c;N[a+36>>2]=Q(d*N[a+20>>2])-c;e=c;c=N[b>>2];d=N[b+4>>2];g=c>2]>(g?c:d)?!g:2)<<2)+b>>2]*Q(.10000000149011612));if(e>c){d=N[a+52>>2];f=Q(ua[J[J[a>>2]+48>>2]](a));h=Q(ua[J[J[a>>2]+48>>2]](a));N[a+52>>2]=c;c=N[a+44>>2];i=N[a+36>>2];j=N[a+40>>2];k=Q(ua[J[J[a>>2]+48>>2]](a));l=Q(ua[J[J[a>>2]+48>>2]](a));e=Q(ua[J[J[a>>2]+48>>2]](a));J[a+48>>2]=0;N[a+40>>2]=Q(f+j)-l;N[a+36>>2]=Q(d+i)-k;N[a+44>>2]=Q(h+c)-e}return a}function He(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=Q(0),f=Q(0),g=Q(0),h=Q(0),i=Q(0),j=Q(0),k=Q(0),l=Q(0),m=Q(0),n=Q(0),o=Q(0),p=Q(0),q=Q(0),r=Q(0),s=Q(0),t=Q(0),u=Q(0);e=Q(ua[J[J[a>>2]+48>>2]](a));j=N[b+52>>2];h=N[b+20>>2];m=N[b+24>>2];k=N[b+56>>2];i=N[b+36>>2];n=N[a+40>>2];f=N[b+40>>2];g=N[a+44>>2];l=N[b+48>>2];o=N[b>>2];p=N[b+4>>2];q=N[b+8>>2];r=N[b+16>>2];s=N[b+32>>2];t=N[a+36>>2];J[c+12>>2]=0;g=Q(e+g);u=Q(g*Q(R(f)));f=Q(e+t);e=Q(e+n);i=Q(u+Q(Q(f*Q(R(s)))+Q(e*Q(R(i)))));N[c+8>>2]=k-i;h=Q(Q(g*Q(R(m)))+Q(Q(f*Q(R(r)))+Q(e*Q(R(h)))));N[c+4>>2]=j-h;e=Q(Q(g*Q(R(q)))+Q(Q(f*Q(R(o)))+Q(e*Q(R(p)))));N[c>>2]=l-e;J[d+12>>2]=0;N[d+8>>2]=k+i;N[d+4>>2]=h+j;N[d>>2]=e+l}function ik(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=Q(0),f=Q(0),g=Q(0),h=Q(0),i=Q(0);f=N[a+20>>2];g=N[a+32>>2];h=N[a+24>>2];i=N[a+28>>2];e=Q(Q(g*N[b+8>>2])+Q(Q(h*N[b>>2])+Q(i*N[b+4>>2])));if(f>2]=e;c=J[b+12>>2];J[a+12>>2]=J[b+8>>2];J[a+16>>2]=c;c=J[b+4>>2];J[a+4>>2]=J[b>>2];J[a+8>>2]=c;f=e}e=Q(Q(g*N[b+24>>2])+Q(Q(h*N[b+16>>2])+Q(i*N[b+20>>2])));if(e>f){N[a+20>>2]=e;c=J[b+28>>2];J[a+12>>2]=J[b+24>>2];J[a+16>>2]=c;c=J[b+20>>2];J[a+4>>2]=J[b+16>>2];J[a+8>>2]=c}else{e=f}f=Q(Q(g*N[b+40>>2])+Q(Q(h*N[b+32>>2])+Q(i*N[b+36>>2])));if(e>2]=f;c=J[b+44>>2];J[a+12>>2]=J[b+40>>2];J[a+16>>2]=c;c=J[b+36>>2];J[a+4>>2]=J[b+32>>2];J[a+8>>2]=c}}function Ok(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=Q(0),f=Q(0),g=0,h=Q(0),i=Q(0),j=Q(0),k=Q(0),l=Q(0),m=Q(0),n=Q(0);d=sa-96|0;sa=d;J[d+44>>2]=0;J[d+48>>2]=0;J[d+56>>2]=0;J[d+60>>2]=0;J[d+52>>2]=1065353216;g=d- -64|0;J[g>>2]=0;J[g+4>>2]=0;J[d+76>>2]=0;J[d+80>>2]=0;J[d+72>>2]=1065353216;J[d+84>>2]=0;J[d+88>>2]=0;J[d+92>>2]=0;J[d+36>>2]=0;J[d+40>>2]=0;J[d+32>>2]=1065353216;ua[J[J[a>>2]+8>>2]](a,d+32|0,d+16|0,d);h=N[d+8>>2];i=N[d+24>>2];e=Q(h-i);m=Q(e*e);e=N[d>>2];j=N[d+16>>2];f=Q(e-j);n=Q(f*f);f=N[d+4>>2];k=N[d+20>>2];l=Q(f-k);N[c>>2]=Q(Y(Q(m+Q(n+Q(l*l)))))*Q(.5);J[b+12>>2]=0;N[b+8>>2]=Q(h+i)*Q(.5);N[b+4>>2]=Q(f+k)*Q(.5);N[b>>2]=Q(e+j)*Q(.5);sa=d+96|0}function Li(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=Q(0),f=Q(0),g=Q(0),h=Q(0),i=Q(0);f=N[a+84>>2];g=N[a+96>>2];h=N[a+88>>2];i=N[a+92>>2];e=Q(Q(g*N[b+8>>2])+Q(Q(h*N[b>>2])+Q(i*N[b+4>>2])));if(f>2]=e;c=J[b+12>>2];J[a+12>>2]=J[b+8>>2];J[a+16>>2]=c;c=J[b+4>>2];J[a+4>>2]=J[b>>2];J[a+8>>2]=c;f=e}e=Q(Q(g*N[b+24>>2])+Q(Q(h*N[b+16>>2])+Q(i*N[b+20>>2])));if(e>f){N[a+84>>2]=e;c=J[b+28>>2];J[a+12>>2]=J[b+24>>2];J[a+16>>2]=c;c=J[b+20>>2];J[a+4>>2]=J[b+16>>2];J[a+8>>2]=c}else{e=f}f=Q(Q(g*N[b+40>>2])+Q(Q(h*N[b+32>>2])+Q(i*N[b+36>>2])));if(e>2]=f;c=J[b+44>>2];J[a+12>>2]=J[b+40>>2];J[a+16>>2]=c;c=J[b+36>>2];J[a+4>>2]=J[b+32>>2];J[a+8>>2]=c}}function Bb(a){var b=0,c=0,d=Q(0),e=Q(0),f=Q(0),g=0,h=Q(0),i=Q(0),j=Q(0),k=0,l=0;c=sa-16|0;sa=c;d=N[a+156>>2];N[c>>2]=d;e=N[a+152>>2];N[c+4>>2]=e;f=N[a+160>>2];J[c+12>>2]=0;N[c+8>>2]=f;b=J[a+8>>2];a:{if(!b){J[8456]=J[8456]+1;k=a,l=Ic(ua[J[8258]](64,16)|0,c),J[k+8>>2]=l;break a}h=Q(ua[J[J[b>>2]+48>>2]](b));i=Q(ua[J[J[b>>2]+48>>2]](b));j=Q(ua[J[J[b>>2]+48>>2]](b));J[b+48>>2]=0;N[b+44>>2]=Q(f*N[b+28>>2])-j;N[b+40>>2]=Q(e*N[b+24>>2])-i;N[b+36>>2]=Q(d*N[b+20>>2])-h;g=d>2]*Q(.10000000149011612));if(!(Q(ua[J[J[b>>2]+48>>2]](b))>d)){break a}ua[J[J[b>>2]+44>>2]](b,d)}b=J[a+4>>2];ua[J[J[b>>2]+8>>2]](b,J[a+8>>2]);sa=c+16|0}function tc(a,b,c,d){var e=Q(0),f=Q(0),g=Q(0),h=Q(0),i=Q(0),j=Q(0),k=Q(0),l=Q(0),m=Q(0),n=Q(0),o=Q(0),p=Q(0);i=N[c+24>>2];e=N[b+24>>2];l=Q(i-e);j=N[c+16>>2];g=N[b+16>>2];m=Q(j-g);f=N[a+4>>2];o=N[a>>2];k=N[c+20>>2];h=N[b+20>>2];n=Q(k-h);p=N[a+8>>2];a=Q(Q(e*Q(Q(m*f)-Q(o*n)))+Q(Q(g*Q(Q(n*p)-Q(f*l)))+Q(h*Q(Q(l*o)-Q(p*m)))))Q(0)){break a}f=Q(Q(i*i)+Q(Q(j*j)+Q(k*k)));if(Q(Q(i*l)+Q(Q(j*m)+Q(k*n)))Q(0)?e:Q(0)}N[d>>2]=Y(f)}return a}function je(a){a=a|0;var b=0,c=0,d=0,e=0;J[a>>2]=20812;b=J[a+56>>2];if(!(b?!b|!K[a+60|0]:1)){J[8457]=J[8457]+1;ua[J[8259]](b)}J[a+56>>2]=0;H[a+60|0]=1;J[a+48>>2]=0;J[a+52>>2]=0;e=J[a+28>>2];if((e|0)>0){while(1){b=J[a+36>>2]+P(c,36)|0;d=J[b+12>>2];if(!(d?!d|!K[b+16|0]:1)){J[8457]=J[8457]+1;ua[J[8259]](d)}J[b+12>>2]=0;H[b+16|0]=1;J[b+4>>2]=0;J[b+8>>2]=0;c=c+1|0;if((e|0)!=(c|0)){continue}break}}b=J[a+36>>2];if(!(b?!b|!K[a+40|0]:1)){J[8457]=J[8457]+1;ua[J[8259]](b)}J[a+36>>2]=0;H[a+40|0]=1;J[a+28>>2]=0;J[a+32>>2]=0;b=J[a+16>>2];if(!(b?!b|!K[a+20|0]:1)){J[8457]=J[8457]+1;ua[J[8259]](b)}J[a+16>>2]=0;H[a+20|0]=1;J[a+8>>2]=0;J[a+12>>2]=0;return a|0}function Kd(a){H[a+20|0]=1;J[a>>2]=23736;J[a+16>>2]=0;H[a+40|0]=1;J[a+8>>2]=0;J[a+12>>2]=0;J[a+36>>2]=0;H[a+60|0]=1;J[a+28>>2]=0;J[a+32>>2]=0;J[a+56>>2]=0;H[a+80|0]=1;J[a+48>>2]=0;J[a+52>>2]=0;J[a+76>>2]=0;H[a+100|0]=1;J[a+68>>2]=0;J[a+72>>2]=0;J[a+96>>2]=0;H[a+120|0]=1;J[a+88>>2]=0;J[a+92>>2]=0;J[a+116>>2]=0;H[a+140|0]=1;J[a+108>>2]=0;J[a+112>>2]=0;J[a+136>>2]=0;J[a+128>>2]=0;J[a+132>>2]=0;H[a+160|0]=1;J[a+156>>2]=0;J[a+148>>2]=0;J[a+152>>2]=0;H[a+180|0]=1;J[a+176>>2]=0;J[a+168>>2]=0;J[a+172>>2]=0;H[a+208|0]=1;J[a+232>>2]=0;J[a+204>>2]=0;J[a+196>>2]=0;J[a+200>>2]=0;J[a+224>>2]=0;J[a+212>>2]=952;J[a+216>>2]=953;J[a+220>>2]=954;return a}function Gk(a){a=a|0;var b=Q(0),c=0,d=0,e=0,f=0;c=sa-32|0;sa=c;J[a+56>>2]=-581039253;J[a+60>>2]=-581039253;J[a+40>>2]=1566444395;J[a+44>>2]=1566444395;d=a- -64|0;J[d>>2]=-581039253;J[d+4>>2]=0;J[a+48>>2]=1566444395;J[a+52>>2]=0;if(J[a+24>>2]>0){while(1){d=J[a+32>>2]+P(e,80)|0;f=J[d+64>>2];ua[J[J[f>>2]+8>>2]](f,d,c+16|0,c);b=N[c+16>>2];if(b>2]){N[a+40>>2]=b}b=N[c>>2];if(b>N[a+56>>2]){N[a+56>>2]=b}b=N[c+20>>2];if(b>2]){N[a+44>>2]=b}b=N[c+4>>2];if(b>N[a+60>>2]){N[a+60>>2]=b}b=N[c+24>>2];if(b>2]){N[a+48>>2]=b}b=N[c+8>>2];if(b>N[a+64>>2]){N[a+64>>2]=b}e=e+1|0;if((e|0)>2]){continue}break}}sa=c+32|0}function hb(a){var b=0,c=0,d=Q(0),e=0;e=(B(a),v(2));c=e&2147483647;if(c>>>0>=1065353216){if((c|0)==1065353216){return Q(+a*1.5707963267948966+752316384526264e-51)}return Q(Q(0)/Q(a-a))}a:{if(c>>>0<=1056964607){if(c-8388608>>>0<956301312){break a}d=Q(a*a);return Q(Q(a*Q(Q(Q(Q(d*Q(Q(d*Q(-.008656363002955914))+Q(-.04274342209100723)))+Q(.16666586697101593))*d)/Q(Q(d*Q(-.7066296339035034))+Q(1))))+a)}a=Q(Q(Q(1)-Q(R(a)))*Q(.5));b=Y(+a);b=b+b*+Q(Q(Q(Q(a*Q(Q(a*Q(-.008656363002955914))+Q(-.04274342209100723)))+Q(.16666586697101593))*a)/Q(Q(a*Q(-.7066296339035034))+Q(1)));a=Q(1.5707963267948966-(b+b));a=(e|0)<0?Q(-a):a}return a}function Iq(a,b){a=a|0;b=b|0;a:{b:{c:{switch(b|0){case 0:if(!a){break b}if(a){J[8457]=J[8457]+1;ua[J[8259]](a)}return;case 1:if(!a){break b}Ga(a);return;case 2:if(!a){break b}Ga(a);return;case 3:if(!a){break b}break a;case 4:if(!a){break b}break a;case 5:if(!a){break b}break a;case 7:if(!a){break b}break a;case 8:if(!a){break b}break a;case 9:if(!a){break b}break a;case 10:if(!a){break b}break a;case 11:if(!a){break b}break a;case 12:if(!a){break b}break a;case 13:if(!a){break b}break a;case 6:if(!a){break b}break a;case 14:break c;default:break b}}if(!a){break b}ua[J[J[a>>2]+4>>2]](a)}return}ua[J[J[a>>2]+4>>2]](a)}function zd(a,b,c,d){var e=Q(0),f=Q(0),g=Q(0),h=Q(0),i=Q(0),j=Q(0),k=Q(0);f=Ma(c);e=N[b+444>>2];c=Na(c);a:{if(!(Q(R(f))>Q(1.1920928955078125e-7))){h=Q(f*f);break a}h=Q(f*f);g=Q(Q(c*c)/h);i=Q(g/Q(e*e));e=N[b+448>>2];e=Q(Y(Q(Q(g+Q(1))/Q(i+Q(Q(1)/Q(e*e))))))}J[a+12>>2]=0;e=Q(e*Q(.5));g=Q(Na(e)/Q(Y(Q(Q(c*c)+Q(h+Q(0))))));c=Q(g*Q(-c));e=Ma(e);i=Q(e*Q(0));h=Q(g*Q(0));j=Q(h*Q(0));k=Q(Q(i+Q(c*d))-j);f=Q(f*g);g=Q(Q(i+j)-Q(f*d));j=Q(c*Q(-0));i=Q(j+Q(Q(f*Q(-0))-Q(h*d)));d=Q(j+Q(Q(e*d)+Q(f*Q(0))));N[a+8>>2]=Q(k*h)+Q(Q(Q(e*g)-Q(i*c))-Q(d*f));N[a+4>>2]=Q(d*c)+Q(Q(Q(e*k)-Q(i*f))-Q(g*h));N[a>>2]=Q(g*f)+Q(Q(Q(e*d)-Q(i*h))-Q(k*c))}function Oc(a){a=a|0;var b=0,c=0,d=0,e=0;J[a>>2]=16192;d=J[a+52>>2];if((d|0)>0){while(1){e=b<<2;c=J[e+J[a+60>>2]>>2];if(c){ua[J[J[c>>2]>>2]](c)|0;c=J[a+4>>2];ua[J[J[c>>2]+60>>2]](c,J[J[a+60>>2]+e>>2])}b=b+1|0;if((d|0)!=(b|0)){continue}break}}b=J[a+60>>2];if(!(b?!b|!K[a- -64|0]:1)){J[8457]=J[8457]+1;ua[J[8259]](b)}J[a+60>>2]=0;H[a+64|0]=1;J[a+52>>2]=0;J[a+56>>2]=0;b=J[a+40>>2];if(!(b?!b|!K[a+44|0]:1)){J[8457]=J[8457]+1;ua[J[8259]](b)}J[a+40>>2]=0;H[a+44|0]=1;J[a+32>>2]=0;J[a+36>>2]=0;b=J[a+20>>2];if(!(b?!b|!K[a+24|0]:1)){J[8457]=J[8457]+1;ua[J[8259]](b)}J[a+20>>2]=0;H[a+24|0]=1;J[a+12>>2]=0;J[a+16>>2]=0;return a|0}function Zf(){var a=0;H[33090]=0;I[16544]=20565;H[33099]=2;J[8275]=1162103123;J[8278]=1314344772;H[33111]=4;H[33123]=4;H[33104]=0;H[33135]=6;H[33116]=0;J[8281]=K[9159]|K[9160]<<8|(K[9161]<<16|K[9162]<<24);H[33130]=0;a=K[9163]|K[9164]<<8;H[33128]=a;H[33129]=a>>>8;J[8447]=0;J[8446]=324;If();J[8447]=J[8948];J[8948]=33784;H[35767]=4;I[17872]=20565;H[35755]=2;H[35779]=4;J[8939]=1162103123;H[35791]=6;J[8942]=1314344772;J[8945]=K[9159]|K[9160]<<8|(K[9161]<<16|K[9162]<<24);a=K[9163]|K[9164]<<8;H[35784]=a;H[35785]=a>>>8;H[35746]=0;H[35760]=0;H[35772]=0;H[35786]=0;J[8949]=1063;J[8950]=0;pd();J[8950]=J[8948];J[8948]=35796}function Ek(a,b,c){a=a|0;b=Q(b);c=c|0;var d=0,e=Q(0),f=Q(0),g=Q(0),h=0,i=Q(0);d=sa-96|0;sa=d;J[d+44>>2]=0;J[d+48>>2]=0;J[d+56>>2]=0;J[d+60>>2]=0;J[d+52>>2]=1065353216;h=d- -64|0;J[h>>2]=0;J[h+4>>2]=0;J[d+76>>2]=0;J[d+80>>2]=0;J[d+72>>2]=1065353216;J[d+84>>2]=0;J[d+88>>2]=0;J[d+92>>2]=0;J[d+36>>2]=0;J[d+40>>2]=0;J[d+32>>2]=1065353216;ua[J[J[a>>2]+8>>2]](a,d+32|0,d+16|0,d);e=N[d+24>>2];i=N[d+8>>2];b=Q(b/Q(12));f=Q(Q(N[d>>2]-N[d+16>>2])*Q(.5));f=Q(f+f);f=Q(f*f);g=Q(Q(N[d+4>>2]-N[d+20>>2])*Q(.5));g=Q(g+g);g=Q(g*g);N[c+8>>2]=b*Q(f+g);e=Q(Q(i-e)*Q(.5));e=Q(e+e);e=Q(e*e);N[c+4>>2]=b*Q(f+e);N[c>>2]=b*Q(g+e);sa=d+96|0}function wh(a,b){a=a|0;b=Q(b);var c=0,d=0,e=0,f=0,g=0;d=sa-16|0;sa=d;ua[J[8262]](5872);c=J[a+84>>2];if(c){ua[c|0](a,b)}ua[J[J[a>>2]+140>>2]](a,b);c=0;J[a+32>>2]=0;N[a+28>>2]=b;f=a,g=ua[J[J[a>>2]+20>>2]](a)|0,J[f+48>>2]=g;ua[J[J[a>>2]+164>>2]](a,b);ua[J[J[a>>2]+44>>2]](a);ua[J[J[a>>2]+148>>2]](a);N[a+104>>2]=b;ua[J[J[a>>2]+152>>2]](a,a+92|0);ua[J[J[a>>2]+144>>2]](a,b);ua[J[8262]](4095);if(J[a+296>>2]>0){while(1){e=J[J[a+304>>2]+(c<<2)>>2];ua[J[J[e>>2]+8>>2]](e,a,b);c=c+1|0;if((c|0)>2]){continue}break}}ua[J[8263]]();ua[J[J[a>>2]+156>>2]](a,b);c=J[a+80>>2];if(c){ua[c|0](a,b)}ua[J[8263]]();sa=d+16|0}function Fj(a,b){a=a|0;b=b|0;var c=Q(0),d=0;d=sa-96|0;sa=d;tb(a,b);H[a+96|0]=1;if(!K[34e3]){J[8477]=0;J[8478]=0;J[8476]=1065353216;J[8479]=0;J[8480]=0;J[8482]=0;J[8483]=0;J[8481]=1065353216;J[8484]=0;J[8485]=0;J[8489]=0;J[8490]=0;J[8488]=-1082130432;J[8486]=1065353216;J[8487]=0;J[8491]=0;J[8492]=0;J[8494]=0;J[8495]=0;J[8493]=-1082130432;J[8496]=0;J[8497]=0;J[8498]=-1082130432;J[8499]=0;H[34e3]=1}b=Fa(d,0,96);ua[J[J[a>>2]+76>>2]](a,33904,b,6);c=N[a+52>>2];N[a+80>>2]=c+N[b>>2];N[a+64>>2]=N[b+48>>2]-c;N[a+84>>2]=c+N[b+20>>2];N[a+68>>2]=N[b+68>>2]-c;N[a+88>>2]=c+N[b+40>>2];N[a+72>>2]=N[b+88>>2]-c;sa=b+96|0}function Zm(a,b,c,d,e){a=a|0;b=b|0;c=Q(c);d=d|0;e=e|0;var f=0,g=Q(0),h=Q(0),i=Q(0),j=Q(0),k=Q(0),l=Q(0),m=Q(0),n=Q(0),o=Q(0),p=Q(0),q=Q(0),r=Q(0);f=sa-48|0;sa=f;J[f+40>>2]=e;J[f+36>>2]=d;J[f+44>>2]=J[a+52>>2];j=N[a- -64>>2];k=N[a+60>>2];l=N[a+80>>2];m=N[a+72>>2];n=N[a+76>>2];o=N[a+96>>2];p=N[a+88>>2];q=N[a+92>>2];r=N[a+56>>2];g=N[b+8>>2];h=N[b>>2];i=N[b+4>>2];b=J[a+48>>2];J[f+28>>2]=0;N[f+24>>2]=Q(o*g)+Q(Q(p*h)+Q(i*q));N[f+20>>2]=Q(l*g)+Q(Q(m*h)+Q(i*n));N[f+32>>2]=c;J[f+8>>2]=b;N[f+16>>2]=Q(j*g)+Q(Q(r*h)+Q(k*i));J[f+12>>2]=f+36;a=J[a+44>>2];c=Q(ua[J[J[a>>2]+12>>2]](a,f+8|0,1));sa=f+48|0;return Q(c)}function eg(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0;if(Ka(a,J[b+8>>2],f)){gc(b,c,d,e);return}g=K[b+53|0];j=J[a+12>>2];H[b+53|0]=0;h=K[b+52|0];H[b+52|0]=0;m=a+16|0;fc(m,b,c,d,e,f);k=K[b+53|0];g=g|k;l=K[b+52|0];h=h|l;i=a+24|0;j=(j<<3)+m|0;a:{if(i>>>0>=j>>>0){break a}while(1){if(K[b+54|0]){break a}b:{if(l){if(J[b+24>>2]==1){break a}if(K[a+8|0]&2){break b}break a}if(!k){break b}if(!(H[a+8|0]&1)){break a}}I[b+52>>1]=0;fc(i,b,c,d,e,f);k=K[b+53|0];g=k|g;l=K[b+52|0];h=l|h;i=i+8|0;if(j>>>0>i>>>0){continue}break}}H[b+53|0]=(g&255)!=0;H[b+52|0]=(h&255)!=0}function Ac(a){var b=0,c=Q(0);b=sa-96|0;sa=b;H[a+96|0]=1;if(!K[34e3]){J[8477]=0;J[8478]=0;J[8476]=1065353216;J[8479]=0;J[8480]=0;J[8482]=0;J[8483]=0;J[8481]=1065353216;J[8484]=0;J[8485]=0;J[8489]=0;J[8490]=0;J[8488]=-1082130432;J[8486]=1065353216;J[8487]=0;J[8491]=0;J[8492]=0;J[8494]=0;J[8495]=0;J[8493]=-1082130432;J[8496]=0;J[8497]=0;J[8498]=-1082130432;J[8499]=0;H[34e3]=1}b=Fa(b,0,96);ua[J[J[a>>2]+76>>2]](a,33904,b,6);c=N[a+52>>2];N[a+80>>2]=N[b>>2]+c;N[a+64>>2]=N[b+48>>2]-c;N[a+84>>2]=c+N[b+20>>2];N[a+68>>2]=N[b+68>>2]-c;N[a+88>>2]=c+N[b+40>>2];N[a+72>>2]=N[b+88>>2]-c;sa=b+96|0}function rf(a){var b=0,c=0,d=0,e=0,f=0;J[a+24>>2]=0;J[a+68>>2]=0;H[a+20|0]=1;J[a>>2]=12284;J[a+16>>2]=0;H[a+44|0]=1;J[a+8>>2]=0;J[a+12>>2]=0;J[a+40>>2]=0;H[a- -64|0]=1;J[a+32>>2]=0;J[a+36>>2]=0;J[a+60>>2]=0;J[a+52>>2]=0;J[a+56>>2]=0;J[8456]=J[8456]+1;e=ua[J[8258]](32,16)|0;f=J[a+8>>2];if((f|0)>0){while(1){c=d<<4;b=c+e|0;c=c+J[a+16>>2]|0;J[b>>2]=J[c>>2];J[b+4>>2]=J[c+4>>2];J[b+8>>2]=J[c+8>>2];J[b+12>>2]=J[c+12>>2];d=d+1|0;if((f|0)!=(d|0)){continue}break}}b=J[a+16>>2];if(!(b?!b|!K[a+20|0]:1)){J[8457]=J[8457]+1;ua[J[8259]](b)}J[a+16>>2]=e;H[a+20|0]=1;J[a+12>>2]=2;qf(a);return a}function Mi(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=Q(0),f=Q(0),g=0,h=Q(0),i=Q(0),j=0,k=0;a:{e=N[b>>2];f=N[b+16>>2];i=e>2];if(N[a+24>>2]<(h>i?i:h)){break a}g=e>f;if(N[(h<(g?e:f)?!g<<4:32)+b>>2]>2]){break a}e=N[b+8>>2];g=b+24|0;f=N[g>>2];i=e>2];if(N[a+32>>2]<(h>i?i:h)){break a}k=g;g=e>f;if(N[(h<(g?e:f)?g?b+8|0:k:j)>>2]>2]){break a}e=N[b+4>>2];g=b+20|0;f=N[g>>2];i=e>2];if(N[a+28>>2]<(h>i?i:h)){break a}k=g;g=e>f;if(N[(h<(g?e:f)?g?b+4|0:k:j)>>2]>2]){break a}a=J[a+4>>2];ua[J[J[a>>2]+8>>2]](a,b,c,d)}}function hk(a,b,c){a=a|0;b=Q(b);c=c|0;var d=Q(0),e=Q(0),f=Q(0),g=Q(0),h=Q(0),i=Q(0),j=Q(0),k=Q(0);f=N[a+44>>2];d=N[a+40>>2];i=N[a+36>>2];j=Q(ua[J[J[a>>2]+48>>2]](a));d=Q(d+Q(ua[J[J[a>>2]+48>>2]](a)));k=Q(ua[J[J[a>>2]+48>>2]](a));e=Q(b*Q(.5));g=Q(b*Q(.25));h=Q(b/Q(12));b=Q(j+i);a:{b:{switch(J[a+60>>2]){case 0:f=e;e=Q(d*d);d=Q(f*e);b=Q(Q(h*Q(b*Q(b*Q(4))))+Q(g*e));e=b;break a;case 2:b=Q(b*b);e=Q(e*b);d=Q(k+f);d=Q(Q(h*Q(d*Q(d*Q(4))))+Q(g*b));b=d;break a;default:break b}}f=e;e=Q(b*b);b=Q(f*e);d=Q(Q(h*Q(d*Q(d*Q(4))))+Q(g*e));e=d}J[c+12>>2]=0;N[c+8>>2]=e;N[c+4>>2]=b;N[c>>2]=d}function $p(a){a=a|0;var b=0;J[a>>2]=30888;b=J[a+124>>2];if(!(b?!b|!K[a+128|0]:1)){J[8457]=J[8457]+1;ua[J[8259]](b)}J[a+124>>2]=0;H[a+128|0]=1;J[a+116>>2]=0;J[a+120>>2]=0;b=J[a+104>>2];if(!(b?!b|!K[a+108|0]:1)){J[8457]=J[8457]+1;ua[J[8259]](b)}J[a+104>>2]=0;H[a+108|0]=1;J[a+96>>2]=0;J[a+100>>2]=0;b=J[a+84>>2];if(!(b?!b|!K[a+88|0]:1)){J[8457]=J[8457]+1;ua[J[8259]](b)}J[a+84>>2]=0;H[a+88|0]=1;J[a+76>>2]=0;J[a+80>>2]=0;b=J[a+32>>2];if(!(b?!b|!K[a+36|0]:1)){J[8457]=J[8457]+1;ua[J[8259]](b)}J[a+32>>2]=0;H[a+36|0]=1;J[a+24>>2]=0;J[a+28>>2]=0;J[a>>2]=30816;return a|0}function $d(a){a=a|0;var b=0;J[a>>2]=22040;b=J[a+156>>2];if(!(b?!b|!K[a+160|0]:1)){J[8457]=J[8457]+1;ua[J[8259]](b)}J[a+156>>2]=0;H[a+160|0]=1;J[a+148>>2]=0;J[a+152>>2]=0;b=J[a+136>>2];if(!(b?!b|!K[a+140|0]:1)){J[8457]=J[8457]+1;ua[J[8259]](b)}J[a+136>>2]=0;H[a+140|0]=1;J[a+128>>2]=0;J[a+132>>2]=0;b=J[a+116>>2];if(!(b?!b|!K[a+120|0]:1)){J[8457]=J[8457]+1;ua[J[8259]](b)}J[a+116>>2]=0;H[a+120|0]=1;J[a+108>>2]=0;J[a+112>>2]=0;b=J[a+96>>2];if(!(b?!b|!K[a+100|0]:1)){J[8457]=J[8457]+1;ua[J[8259]](b)}J[a+96>>2]=0;H[a+100|0]=1;J[a+88>>2]=0;J[a+92>>2]=0;return zc(a)|0}function Pd(a,b){var c=Q(0),d=0,e=0,f=0,g=Q(0),h=Q(0),i=Q(0),j=Q(0),k=Q(0),l=Q(0),m=0;f=J[a>>2];d=0;a:{if((f|0)<=0){break a}i=N[a+308>>2];j=N[b+8>>2];c=Q(j-N[a+12>>2]);g=Q(c*c);k=N[b>>2];c=Q(k-N[a+4>>2]);h=Q(c*c);l=N[b+4>>2];c=Q(l-N[a+8>>2]);d=1;if(i>=Q(g+Q(h+Q(c*c)))){break a}while(1){e=e+1|0;if((f|0)!=(e|0)){d=(e<<4)+a|0;c=Q(j-N[d+12>>2]);g=Q(c*c);c=Q(k-N[d+4>>2]);h=Q(c*c);c=Q(l-N[d+8>>2]);if(!(Q(g+Q(h+Q(c*c)))<=i)){continue}}break}d=(e|0)<(f|0)}if(!(N[b+12>>2]!=N[a+304>>2]|N[b+8>>2]!=N[a+300>>2]|N[b+4>>2]!=N[a+296>>2])){m=N[b>>2]==N[a+292>>2]}return d|m}function lq(){var a=0,b=0;a=sa-32|0;sa=a;if(!K[33644]){J[8375]=-1;J[8376]=0;J[8373]=1065353216;J[8374]=1;H[33524]=1;J[8372]=31016;J[8380]=0;J[8378]=0;J[8379]=0;b=J[a+20>>2];J[8382]=J[a+16>>2];J[8383]=b;b=J[a+28>>2];J[8384]=J[a+24>>2];J[8385]=b;b=J[a+4>>2];J[8386]=J[a>>2];J[8387]=b;b=J[a+12>>2];J[8388]=J[a+8>>2];J[8389]=b;H[33576]=1;J[8393]=0;H[33596]=1;J[8391]=0;J[8392]=0;J[8398]=0;J[8396]=0;J[8397]=0;H[33616]=1;J[8403]=0;J[8401]=0;J[8402]=0;H[33636]=1;J[8372]=30968;J[8408]=0;H[33640]=1;J[8406]=0;J[8407]=0;J[8374]=-1;H[33644]=1}sa=a+32|0;return 33488}function gg(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;if(Ka(a,J[b+8>>2],e)){if(!(J[b+28>>2]==1|J[b+4>>2]!=(c|0))){J[b+28>>2]=d}return}a:{if(Ka(a,J[b>>2],e)){if(!(J[b+16>>2]!=(c|0)&J[b+20>>2]!=(c|0))){if((d|0)!=1){break a}J[b+32>>2]=1;return}J[b+32>>2]=d;b:{if(J[b+44>>2]==4){break b}I[b+52>>1]=0;a=J[a+8>>2];ua[J[J[a>>2]+20>>2]](a,b,c,c,1,e);if(K[b+53|0]){J[b+44>>2]=3;if(!K[b+52|0]){break b}break a}J[b+44>>2]=4}J[b+20>>2]=c;J[b+40>>2]=J[b+40>>2]+1;if(J[b+36>>2]!=1|J[b+24>>2]!=2){break a}H[b+54|0]=1;return}a=J[a+8>>2];ua[J[J[a>>2]+24>>2]](a,b,c,d,e)}}function Vp(a){a=a|0;var b=0;J[a>>2]=31016;b=J[a+124>>2];if(!(b?!b|!K[a+128|0]:1)){J[8457]=J[8457]+1;ua[J[8259]](b)}J[a+124>>2]=0;H[a+128|0]=1;J[a+116>>2]=0;J[a+120>>2]=0;b=J[a+104>>2];if(!(b?!b|!K[a+108|0]:1)){J[8457]=J[8457]+1;ua[J[8259]](b)}J[a+104>>2]=0;H[a+108|0]=1;J[a+96>>2]=0;J[a+100>>2]=0;b=J[a+84>>2];if(!(b?!b|!K[a+88|0]:1)){J[8457]=J[8457]+1;ua[J[8259]](b)}J[a+84>>2]=0;H[a+88|0]=1;J[a+76>>2]=0;J[a+80>>2]=0;b=J[a+32>>2];if(!(b?!b|!K[a+36|0]:1)){J[8457]=J[8457]+1;ua[J[8259]](b)}J[a+32>>2]=0;H[a+36|0]=1;J[a+24>>2]=0;J[a+28>>2]=0;return a|0}function bk(a,b,c){a=a|0;b=b|0;c=c|0;var d=Q(0),e=0,f=Q(0),g=Q(0),h=0,i=Q(0),j=Q(0);e=sa-16|0;sa=e;ua[J[J[b>>2]+68>>2]](e,b,c);h=J[e+12>>2];J[a+8>>2]=J[e+8>>2];J[a+12>>2]=h;h=J[e+4>>2];J[a>>2]=J[e>>2];J[a+4>>2]=h;if(Q(ua[J[J[b>>2]+48>>2]](b))!=Q(0)){f=N[c+4>>2];d=N[c>>2];g=N[c+8>>2];i=Q(ua[J[J[b>>2]+48>>2]](b));b=Q(Q(g*g)+Q(Q(d*d)+Q(f*f)))>2]=N[a>>2]+Q(i*Q(j*d));N[a+4>>2]=N[a+4>>2]+Q(i*Q(f*d));N[a+8>>2]=N[a+8>>2]+Q(i*Q(g*d))}sa=e+16|0}function mm(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=Q(0),f=Q(0),g=Q(0),h=Q(0),i=Q(0),j=Q(0),k=Q(0),l=Q(0),m=Q(0),n=Q(0);h=N[a+96>>2];i=N[a+80>>2];k=N[a+84>>2];l=N[a+104>>2];j=N[a+100>>2];e=N[a+68>>2];f=N[a+72>>2];m=N[a+88>>2];g=N[a+64>>2];J[c+12>>2]=0;i=Q(i-g);j=Q(j-e);g=Q(h-g);h=Q(k-e);e=Q(Q(i*j)-Q(g*h));k=e;n=Q(e*e);e=h;h=Q(l-f);f=Q(m-f);e=Q(Q(e*h)-Q(j*f));f=Q(Q(f*g)-Q(h*i));g=Q(Q(1)/Q(Y(Q(n+Q(Q(e*e)+Q(f*f))))));N[c+8>>2]=k*g;N[c+4>>2]=f*g;N[c>>2]=e*g;b=J[a+76>>2];J[d+8>>2]=J[a+72>>2];J[d+12>>2]=b;b=J[a+68>>2];J[d>>2]=J[a+64>>2];J[d+4>>2]=b}function ui(a,b,c,d){a=a|0;b=b|0;c=Q(c);d=d|0;var e=0;a:{b:{c:{if(d>>>0<=2){d:{switch(b-1|0){case 1:b=((d<<2)+a|0)+728|0;e=2;break b;case 3:b=((d<<2)+a|0)+744|0;e=1;break b;case 0:b=((d<<2)+a|0)+760|0;e=8;break b;case 2:break d;default:break a}}b=((d<<2)+a|0)+776|0;break c}e=d-3|0;if(e>>>0>2){break a}e:{switch(b-1|0){case 1:b=(P(e,88)+a|0)+980|0;e=2;break b;case 3:b=(P(e,88)+a|0)+984|0;e=1;break b;case 0:b=(P(e,88)+a|0)+988|0;e=8;break b;case 2:break e;default:break a}}b=(P(e,88)+a|0)+992|0}e=4}N[b>>2]=c;J[a+1456>>2]=J[a+1456>>2]|e<<(d<<2)}}function Sr(){var a=0,b=0;a=sa-32|0;sa=a;if(!K[33388]){J[8312]=0;J[8309]=1065353216;J[8310]=0;H[33268]=1;J[8308]=30888;J[8316]=0;J[8314]=0;J[8315]=0;b=J[a+20>>2];J[8318]=J[a+16>>2];J[8319]=b;b=J[a+28>>2];J[8320]=J[a+24>>2];J[8321]=b;b=J[a+4>>2];J[8322]=J[a>>2];J[8323]=b;b=J[a+12>>2];J[8324]=J[a+8>>2];J[8325]=b;H[33320]=1;J[8329]=0;H[33340]=1;J[8327]=0;J[8328]=0;J[8334]=0;J[8332]=0;J[8333]=0;H[33360]=1;J[8339]=0;J[8337]=0;J[8338]=0;H[33380]=1;J[8308]=30840;J[8344]=0;H[33384]=1;J[8342]=0;J[8343]=0;J[8311]=-1;H[33388]=1}sa=a+32|0;return 33232}function Vl(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=(b|0)!=8;if(!(d|(c|0)!=8)){return J[a+56>>2]}if(!((c|0)!=1|d)){return J[a+72>>2]}if(!((b|0)!=1|(c|0)!=8)){return J[a+76>>2]}if(!(b|c)){return J[a+68>>2]}if(!((c|0)!=28|(b|0)>19)){return J[a+84>>2]}if(!((b|0)!=28|(c|0)>19)){return J[a+80>>2]}a:{if((b|0)<=19){if((c|0)<=19){return J[a+28>>2]}if(c-21>>>0>8){break a}return J[a+32>>2]}if(!((c|0)>19|b-21>>>0>8)){return J[a+36>>2]}if((b|0)!=31){break a}if((c|0)==31){return J[a+44>>2]}return J[a+40>>2]}if((c|0)==31){return J[a+48>>2]}return J[a+52>>2]}function Ak(a,b,c){a=a|0;b=b|0;c=c|0;var d=Q(0),e=Q(0),f=Q(0),g=0,h=0,i=0,j=Q(0),k=Q(0);e=Q(N[b+68>>2]*Q(.5));g=J[b+72>>2];i=J[b+76>>2];h=i<<2;d=N[c+8>>2];j=Q(d*d);d=N[c>>2];f=Q(d*d);d=N[c+4>>2];a:{b:{if(N[h+c>>2]>Q(N[b+60>>2]*Q(Y(Q(j+Q(f+Q(d*d))))))){J[(g<<2)+a>>2]=0;N[a+h>>2]=e;c=J[b+80>>2];break b}d=N[(g<<2)+c>>2];h=c;c=J[b+80>>2];f=N[h+(c<<2)>>2];k=Q(Y(Q(Q(d*d)+Q(f*f))));if(k>Q(1.1920928955078125e-7)){j=d;d=Q(N[b+64>>2]/k);N[(g<<2)+a>>2]=j*d;N[(i<<2)+a>>2]=-e;e=Q(f*d);break a}J[(g<<2)+a>>2]=0;N[(i<<2)+a>>2]=-e}e=Q(0)}N[(c<<2)+a>>2]=e}function wf(a){a=a|0;var b=0,c=0,d=0,e=0;J[a>>2]=11916;if(K[a+152|0]){b=J[a+96>>2];ua[J[J[b>>2]>>2]](b)|0;b=J[a+96>>2];if(b){J[8457]=J[8457]+1;ua[J[8259]](b)}}e=J[a+160>>2];if((e|0)>0){while(1){b=J[a+168>>2]+P(c,20)|0;d=J[b+12>>2];if(!(d?!d|!K[b+16|0]:1)){J[8457]=J[8457]+1;ua[J[8259]](d)}H[b+16|0]=1;J[b+12>>2]=0;J[b+4>>2]=0;J[b+8>>2]=0;c=c+1|0;if((e|0)!=(c|0)){continue}break}}b=J[a+168>>2];if(!(b?!b|!K[a+172|0]:1)){J[8457]=J[8457]+1;ua[J[8259]](b)}J[a+168>>2]=0;H[a+172|0]=1;J[a+160>>2]=0;J[a+164>>2]=0;$c(a+44|0);$c(a+4|0);return a|0}function Vh(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;var j=Q(0),k=Q(0);a:{if(!J[h+52>>2]){break a}b=J[h+20>>2];if((b|0)<=0){break a}c=0;d=J[a+28>>2];if((d|0)<=0){break a}while(1){e=0;j=Q(0);if((d|0)>0){while(1){f=J[a+16>>2];b=J[a+36>>2]+P(J[J[a+116>>2]+(e<<2)>>2],152)|0;k=Q(ua[J[a+220>>2]](f+P(J[b+144>>2],244)|0,P(J[b+148>>2],244)+f|0,b));j=Q(Q(k*k)+j);e=e+1|0;if((e|0)!=(d|0)){continue}break}b=J[h+20>>2]}if((b-1|0)<=(c|0)|N[h+92>>2]>=j){break a}c=c+1|0;if((c|0)>=(b|0)){break a}d=J[a+28>>2];continue}}}function Ho(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=Q(d);e=e|0;f=f|0;var g=Q(0),h=Q(0),i=Q(0),j=Q(0),k=Q(0),l=Q(0);e=sa-16|0;sa=e;g=N[b>>2];h=N[c>>2];i=N[b+4>>2];j=N[c+4>>2];k=N[b+8>>2];l=N[c+8>>2];J[e+12>>2]=0;N[e+8>>2]=k+Q(l*d);N[e+4>>2]=i+Q(j*d);N[e>>2]=g+Q(h*d);ua[J[J[a>>2]+16>>2]](a,b,e,f);d=N[b>>2];g=N[c>>2];h=N[b+4>>2];i=N[c+4>>2];j=N[b+8>>2];k=N[c+8>>2];J[e+12>>2]=0;N[e+8>>2]=j+Q(k*Q(.009999999776482582));N[e+4>>2]=h+Q(i*Q(.009999999776482582));N[e>>2]=d+Q(g*Q(.009999999776482582));ua[J[J[a>>2]+16>>2]](a,b,e,f);sa=e+16|0}function oq(a,b,c){a=a|0;b=b|0;c=c|0;var d=Q(0),e=Q(0),f=Q(0),g=Q(0),h=Q(0),i=Q(0),j=Q(0),k=Q(0);g=N[b+8>>2];d=N[b+4>>2];e=N[a+408>>2];N[a+472>>2]=Q(N[b>>2]*e)+N[a+472>>2];h=d;d=N[a+412>>2];N[a+476>>2]=Q(h*d)+N[a+476>>2];f=N[a+416>>2];N[a+480>>2]=Q(g*f)+N[a+480>>2];k=N[b>>2];g=N[c>>2];i=N[c+4>>2];f=Q(f*N[b+8>>2]);d=Q(d*N[b+4>>2]);j=N[c+8>>2];N[a+488>>2]=Q(Q(Q(i*f)-Q(d*j))*N[a+604>>2])+N[a+488>>2];h=N[a+612>>2];e=Q(e*k);N[a+492>>2]=Q(Q(Q(j*e)-Q(f*g))*N[a+608>>2])+N[a+492>>2];N[a+496>>2]=Q(h*Q(Q(g*d)-Q(e*i)))+N[a+496>>2]}function tm(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=Q(0),i=Q(0),j=Q(0),k=0,l=Q(0),m=Q(0),n=0;if((d|0)>0){n=a- -64|0;while(1){e=g<<4;f=e+c|0;e=b+e|0;h=N[e+8>>2];i=N[e>>2];j=N[e+4>>2];l=Q(Q(h*N[a+72>>2])+Q(Q(i*N[a+64>>2])+Q(j*N[a+68>>2])));m=Q(Q(h*N[a+88>>2])+Q(Q(i*N[a+80>>2])+Q(j*N[a+84>>2])));e=l>2])+Q(Q(i*N[a+96>>2])+Q(j*N[a+100>>2])))>(e?m:l)?2:e)<<4)+n|0;k=J[e+4>>2];J[f>>2]=J[e>>2];J[f+4>>2]=k;k=J[e+12>>2];J[f+8>>2]=J[e+8>>2];J[f+12>>2]=k;g=g+1|0;if((g|0)!=(d|0)){continue}break}}}function $b(a,b,c){var d=0;d=J[a+4>>2];a:{if(d){J[a+4>>2]=0;break a}J[8456]=J[8456]+1;d=ua[J[8258]](44,16)|0;J[d>>2]=0;J[d+4>>2]=0;J[d+40>>2]=0;J[d+32>>2]=0;J[d+36>>2]=0;J[d+24>>2]=0;J[d+28>>2]=0;J[d+16>>2]=0;J[d+20>>2]=0;J[d+8>>2]=0;J[d+12>>2]=0}J[d+36>>2]=c;J[d+32>>2]=0;J[d+40>>2]=0;c=J[b+4>>2];J[d>>2]=J[b>>2];J[d+4>>2]=c;c=J[b+12>>2];J[d+8>>2]=J[b+8>>2];J[d+12>>2]=c;c=J[b+20>>2];J[d+16>>2]=J[b+16>>2];J[d+20>>2]=c;c=J[b+28>>2];J[d+24>>2]=J[b+24>>2];J[d+28>>2]=c;ac(a,J[a>>2],d);J[a+12>>2]=J[a+12>>2]+1;return d}function Wl(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=(b|0)!=8;if(!(d|(c|0)!=8)){return J[a+56>>2]}if(!((c|0)!=1|d)){return J[a+72>>2]}if(!((b|0)!=1|(c|0)!=8)){return J[a+76>>2]}if(!((c|0)!=28|(b|0)>19)){return J[a+84>>2]}if(!((b|0)!=28|(c|0)>19)){return J[a+80>>2]}a:{if((b|0)<=19){if((c|0)<=19){return J[a+28>>2]}if(c-21>>>0>8){break a}return J[a+32>>2]}if(!((c|0)>19|b-21>>>0>8)){return J[a+36>>2]}if((b|0)!=31){break a}if((c|0)==31){return J[a+44>>2]}return J[a+40>>2]}if((c|0)==31){return J[a+48>>2]}return J[a+52>>2]}function vj(a,b,c){a=a|0;b=b|0;c=c|0;var d=Q(0),e=0,f=Q(0),g=Q(0),h=0,i=Q(0),j=Q(0);e=sa-16|0;sa=e;ua[J[J[b>>2]+68>>2]](e,b,c);h=J[e+12>>2];J[a+8>>2]=J[e+8>>2];J[a+12>>2]=h;h=J[e+4>>2];J[a>>2]=J[e>>2];J[a+4>>2]=h;f=N[c+4>>2];d=N[c>>2];g=N[c+8>>2];i=Q(ua[J[J[b>>2]+48>>2]](b));b=Q(Q(g*g)+Q(Q(d*d)+Q(f*f)))>2]=N[a>>2]+Q(i*Q(j*d));N[a+4>>2]=N[a+4>>2]+Q(i*Q(f*d));N[a+8>>2]=N[a+8>>2]+Q(i*Q(g*d));sa=e+16|0}function rm(a,b,c){a=a|0;b=b|0;c=c|0;var d=Q(0),e=Q(0),f=Q(0),g=Q(0),h=Q(0),i=Q(0),j=Q(0),k=Q(0),l=Q(0),m=Q(0);f=N[a+96>>2];h=N[a+80>>2];j=N[a+84>>2];k=N[a+104>>2];i=N[a+100>>2];d=N[a+68>>2];e=N[a+72>>2];l=N[a+88>>2];g=N[a+64>>2];J[c+12>>2]=0;h=Q(h-g);i=Q(i-d);g=Q(f-g);f=Q(j-d);d=Q(Q(h*i)-Q(g*f));j=d;m=Q(d*d);d=f;f=Q(k-e);e=Q(l-e);d=Q(Q(d*f)-Q(i*e));e=Q(Q(e*g)-Q(f*h));g=Q(Q(1)/Q(Y(Q(m+Q(Q(d*d)+Q(e*e))))));f=Q(j*g);N[c+8>>2]=f;e=Q(e*g);N[c+4>>2]=e;d=Q(d*g);N[c>>2]=d;if(b){N[c+8>>2]=-f;N[c+4>>2]=-e;N[c>>2]=-d}}function Ce(a){H[a+60|0]=0;J[a+52>>2]=287;J[a+144>>2]=0;H[a+80|0]=1;J[a>>2]=18460;J[a+76>>2]=0;H[a+100|0]=1;J[a+68>>2]=0;J[a+72>>2]=0;J[a+96>>2]=0;H[a+120|0]=1;J[a+88>>2]=0;J[a+92>>2]=0;J[a+116>>2]=0;H[a+140|0]=1;J[a+108>>2]=0;J[a+112>>2]=0;J[a+136>>2]=0;H[a+164|0]=1;J[a+128>>2]=0;J[a+132>>2]=0;J[a+160>>2]=0;J[a+168>>2]=0;J[a+152>>2]=0;J[a+156>>2]=0;J[a+4>>2]=-8388609;J[a+8>>2]=-8388609;J[a+12>>2]=-8388609;J[a+16>>2]=0;J[a+20>>2]=2139095039;J[a+24>>2]=2139095039;J[a+28>>2]=2139095039;J[a+32>>2]=0;return a}function Nq(a,b){a=a|0;b=b|0;var c=Q(0),d=Q(0),e=Q(0),f=Q(0),g=Q(0),h=Q(0),i=Q(0),j=Q(0),k=Q(0),l=Q(0),m=Q(0);d=N[b+12>>2];h=N[b+8>>2];c=N[b>>2];f=N[b+4>>2];J[a+44>>2]=0;J[a+28>>2]=0;J[a+12>>2]=0;e=Q(Q(2)/Q(Q(d*d)+Q(Q(h*h)+Q(Q(c*c)+Q(f*f)))));i=Q(h*e);g=Q(f*i);k=Q(c*e);l=Q(d*k);N[a+36>>2]=g+l;m=Q(c*i);e=Q(f*e);j=Q(d*e);N[a+32>>2]=m-j;N[a+24>>2]=g-l;g=Q(c*e);d=Q(d*i);N[a+16>>2]=g+d;N[a+8>>2]=m+j;N[a+4>>2]=g-d;c=Q(c*k);d=Q(f*e);N[a+40>>2]=Q(1)-Q(c+d);j=c;c=Q(h*i);N[a+20>>2]=Q(1)-Q(j+c);N[a>>2]=Q(1)-Q(d+c)}function _p(a){a=a|0;var b=0;J[a>>2]=30888;b=J[a+124>>2];if(!(b?!b|!K[a+128|0]:1)){J[8457]=J[8457]+1;ua[J[8259]](b)}J[a+124>>2]=0;H[a+128|0]=1;J[a+116>>2]=0;J[a+120>>2]=0;b=J[a+104>>2];if(!(b?!b|!K[a+108|0]:1)){J[8457]=J[8457]+1;ua[J[8259]](b)}J[a+104>>2]=0;H[a+108|0]=1;J[a+96>>2]=0;J[a+100>>2]=0;b=J[a+84>>2];if(!(b?!b|!K[a+88|0]:1)){J[8457]=J[8457]+1;ua[J[8259]](b)}J[a+84>>2]=0;H[a+88|0]=1;J[a+76>>2]=0;J[a+80>>2]=0;b=J[a+32>>2];if(!(b?!b|!K[a+36|0]:1)){J[8457]=J[8457]+1;ua[J[8259]](b)}Ga(a)}function Up(a){a=a|0;var b=0;J[a>>2]=31016;b=J[a+124>>2];if(!(b?!b|!K[a+128|0]:1)){J[8457]=J[8457]+1;ua[J[8259]](b)}J[a+124>>2]=0;H[a+128|0]=1;J[a+116>>2]=0;J[a+120>>2]=0;b=J[a+104>>2];if(!(b?!b|!K[a+108|0]:1)){J[8457]=J[8457]+1;ua[J[8259]](b)}J[a+104>>2]=0;H[a+108|0]=1;J[a+96>>2]=0;J[a+100>>2]=0;b=J[a+84>>2];if(!(b?!b|!K[a+88|0]:1)){J[8457]=J[8457]+1;ua[J[8259]](b)}J[a+84>>2]=0;H[a+88|0]=1;J[a+76>>2]=0;J[a+80>>2]=0;b=J[a+32>>2];if(!(b?!b|!K[a+36|0]:1)){J[8457]=J[8457]+1;ua[J[8259]](b)}Ga(a)}function Kn(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;J[8461]=J[8461]+1;d=J[b+12>>2]>J[c+12>>2];e=J[(d?b:c)+12>>2];d=J[(d?c:b)+12>>2];b=e<<16|d;b=(b<<15^-1)+b|0;b=P(b>>>10^b,9);b=b>>>6^b;b=(b<<11^-1)+b|0;b=J[a+12>>2]-1&(b>>>16^b);a:{b:{if((b|0)>=J[a+32>>2]){break b}c=J[J[a+40>>2]+(b<<2)>>2];if((c|0)==-1){break b}g=J[a+60>>2];a=J[a+16>>2];while(1){f=c<<4;b=a+f|0;if((d|0)==J[J[b>>2]+12>>2]&J[J[(a+f|0)+4>>2]+12>>2]==(e|0)){break a}c=J[(c<<2)+g>>2];if((c|0)!=-1){continue}break}}b=0}return b|0}function Cd(a,b,c,d){var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;while(1){k=c;l=J[J[a+12>>2]+((c+d|0)/2<<3)>>2];e=d;while(1){g=J[a+12>>2];h=c;while(1){c=h;h=c+1|0;f=(c<<3)+g|0;if(J[f>>2]<(l|0)){continue}break}i=e;while(1){e=i;i=e-1|0;m=e<<3;j=m+g|0;if(J[j>>2]>(l|0)){continue}break}if((c|0)<=(e|0)){c=J[f>>2];e=J[f+4>>2];g=J[j+4>>2];J[f>>2]=J[j>>2];J[f+4>>2]=g;f=J[a+12>>2]+m|0;J[f>>2]=c;J[f+4>>2]=e;e=i;c=h}if((c|0)<=(e|0)){continue}break}if((e|0)>(k|0)){Cd(a,b,k,e)}if((c|0)<(d|0)){continue}break}}function Qe(a){a=a|0;var b=0,c=0,d=0,e=0,f=0;J[a>>2]=16340;b=J[a+84>>2];e=J[b+8>>2];if((e|0)>0){while(1){c=J[(J[b+16>>2]+P(d,12)|0)+8>>2];if(c){ua[J[J[c>>2]>>2]](c)|0;f=J[a+4>>2];ua[J[J[f>>2]+60>>2]](f,c)}d=d+1|0;if((e|0)!=(d|0)){continue}break}b=J[a+84>>2]}Le(b);b=J[a+84>>2];ua[J[J[b>>2]>>2]](b)|0;b=J[a+84>>2];if(b){J[8457]=J[8457]+1;ua[J[8259]](b)}b=J[a+100>>2];if(!(b?!b|!K[a+104|0]:1)){J[8457]=J[8457]+1;ua[J[8259]](b)}J[a+100>>2]=0;H[a+104|0]=1;J[a+92>>2]=0;J[a+96>>2]=0;return Oc(a)|0} +function Sd(a,b,c,d){var e=0,f=0;e=J[b+4>>2];J[a+292>>2]=J[b>>2];J[a+296>>2]=e;e=J[b+12>>2];J[a+300>>2]=J[b+8>>2];J[a+304>>2]=e;H[a+356|0]=1;f=J[b+4>>2];e=a+(J[a>>2]<<4)|0;J[e+4>>2]=J[b>>2];J[e+8>>2]=f;f=J[b+12>>2];J[e+12>>2]=J[b+8>>2];J[e+16>>2]=f;e=J[c+12>>2];b=(J[a>>2]<<4)+a|0;J[b+92>>2]=J[c+8>>2];J[b+96>>2]=e;e=J[c+4>>2];J[b+84>>2]=J[c>>2];J[b+88>>2]=e;c=J[d+12>>2];b=(J[a>>2]<<4)+a|0;J[b+172>>2]=J[d+8>>2];J[b+176>>2]=c;c=J[d+4>>2];J[b+164>>2]=J[d>>2];J[b+168>>2]=c;J[a>>2]=J[a>>2]+1}function ti(a,b,c){a=a|0;b=b|0;c=c|0;var d=Q(0);a:{b:{if(c>>>0<=2){c:{switch(b-1|0){case 1:a=((c<<2)+a|0)+728|0;break b;case 3:a=((c<<2)+a|0)+744|0;break b;case 0:a=((c<<2)+a|0)+760|0;break b;case 2:break c;default:break a}}a=((c<<2)+a|0)+776|0;break b}c=c-3|0;if(c>>>0>2){break a}d:{switch(b-1|0){case 1:a=(P(c,88)+a|0)+980|0;break b;case 3:a=(P(c,88)+a|0)+984|0;break b;case 0:a=(P(c,88)+a|0)+988|0;break b;case 2:break d;default:break a}}a=(P(c,88)+a|0)+992|0}d=N[a>>2]}return Q(d)}function Fm(a,b,c,d){a=a|0;b=b|0;c=c|0;d=Q(d);var e=0,f=Q(0),g=0,h=Q(0),i=Q(0),j=Q(0),k=Q(0),l=Q(0),m=Q(0);e=sa-16|0;sa=e;N[a+32>>2]=d;g=J[b+4>>2];J[a+8>>2]=J[b>>2];J[a+12>>2]=g;g=J[b+12>>2];J[a+16>>2]=J[b+8>>2];J[a+20>>2]=g;h=N[b+8>>2];i=N[c>>2];j=N[b>>2];k=N[c+4>>2];l=N[b+4>>2];m=N[c+8>>2];f=N[a+28>>2];J[e+12>>2]=0;N[e+8>>2]=m-Q(f*h);N[e+4>>2]=k-Q(f*l);N[e>>2]=i-Q(j*f);d=Q(Q(f+N[a+24>>2])+d);N[a+32>>2]=d;if(d>2];ua[J[J[a>>2]+16>>2]](a,b,e,d);sa=e+16|0}function lc(a,b,c){var d=Q(0),e=0,f=Q(0),g=Q(0);e=J[a+204>>2];a:{if(b==Q(0)){J[a+204>>2]=e|1;break a}J[a+204>>2]=e&-2;d=Q(Q(1)/b)}N[a+404>>2]=d;J[a+436>>2]=0;N[a+424>>2]=N[a+440>>2]*b;N[a+432>>2]=N[a+448>>2]*b;N[a+428>>2]=N[a+444>>2]*b;b=N[c+8>>2];f=N[c+4>>2];g=N[c>>2];N[a+620>>2]=N[a+408>>2]*d;N[a+624>>2]=d*N[a+412>>2];N[a+628>>2]=d*N[a+416>>2];J[a+632>>2]=0;J[a+468>>2]=0;N[a+456>>2]=g!=Q(0)?Q(Q(1)/g):Q(0);N[a+460>>2]=f!=Q(0)?Q(Q(1)/f):Q(0);N[a+464>>2]=b!=Q(0)?Q(Q(1)/b):Q(0)}function yj(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=Q(0),g=Q(0),h=Q(0),i=Q(0),j=Q(0),k=Q(0);e=sa-48|0;sa=e;i=N[a+12>>2];j=N[a+16>>2];f=N[b+4>>2];g=N[b+8>>2];k=N[a+8>>2];h=N[b>>2];J[e+12>>2]=0;N[e>>2]=h*k;N[e+8>>2]=g*j;N[e+4>>2]=f*i;f=N[b+20>>2];g=N[b+24>>2];h=N[b+16>>2];J[e+28>>2]=0;N[e+24>>2]=j*g;N[e+20>>2]=i*f;N[e+16>>2]=k*h;f=N[b+36>>2];g=N[b+40>>2];h=N[b+32>>2];J[e+44>>2]=0;N[e+40>>2]=j*g;N[e+36>>2]=i*f;N[e+32>>2]=k*h;a=J[a+4>>2];ua[J[J[a>>2]+8>>2]](a,e,c,d);sa=e+48|0}function rs(a,b){a=a|0;b=Q(b);var c=0,d=Q(0),e=Q(0),f=Q(0),g=Q(0);J[8456]=J[8456]+1;c=ua[J[8258]](92,16)|0;J[c+12>>2]=0;J[c+16>>2]=0;J[c+4>>2]=35;J[c+8>>2]=0;J[c+20>>2]=0;J[c>>2]=20152;J[c>>2]=21524;d=N[a+8>>2];e=N[a>>2];f=N[a+4>>2];g=N[a+12>>2];J[c+84>>2]=1065353216;J[c+88>>2]=0;J[c+76>>2]=1065353216;J[c+80>>2]=1065353216;N[c+72>>2]=b;N[c+68>>2]=g;J[c+4>>2]=28;b=Q(Q(1)/Q(Y(Q(Q(d*d)+Q(Q(e*e)+Q(f*f))))));N[c- -64>>2]=d*b;N[c+60>>2]=f*b;N[c+56>>2]=e*b;return c|0}function lo(a,b){a=a|0;b=b|0;var c=0,d=0;c=J[b+4>>2];J[a+8>>2]=J[b>>2];J[a+12>>2]=c;c=J[b+12>>2];J[a+16>>2]=J[b+8>>2];J[a+20>>2]=c;c=J[b+28>>2];J[a+32>>2]=J[b+24>>2];J[a+36>>2]=c;c=J[b+20>>2];J[a+24>>2]=J[b+16>>2];J[a+28>>2]=c;c=J[b+44>>2];J[a+48>>2]=J[b+40>>2];J[a+52>>2]=c;c=J[b+36>>2];J[a+40>>2]=J[b+32>>2];J[a+44>>2]=c;d=J[b+60>>2];c=a- -64|0;J[c>>2]=J[b+56>>2];J[c+4>>2]=d;c=J[b+52>>2];J[a+56>>2]=J[b+48>>2];J[a+60>>2]=c;ua[J[J[a>>2]+16>>2]](a,J[a+4>>2])}function bf(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=Q(d);e=e|0;f=f|0;var g=0;g=sa+-64|0;sa=g;J[g+56>>2]=f;J[g+52>>2]=e;J[g+60>>2]=J[a+220>>2];e=J[a+212>>2];if(N[e+4>>2]>=d){J[g+8>>2]=J[a+216>>2];J[g+12>>2]=g+52;a=J[b+12>>2];J[g+24>>2]=J[b+8>>2];J[g+28>>2]=a;a=J[b+4>>2];J[g+16>>2]=J[b>>2];J[g+20>>2]=a;a=J[c+12>>2];J[g+40>>2]=J[c+8>>2];J[g+44>>2]=a;a=J[c+4>>2];J[g+32>>2]=J[c>>2];J[g+36>>2]=a;N[g+48>>2]=d;d=Q(ua[J[J[e>>2]+12>>2]](e,g+8|0,1))}sa=g- -64|0;return Q(d)}function Wc(a){a=a|0;var b=0,c=0,d=0,e=0;J[a>>2]=13068;b=J[a+8>>2];if((b|0)>0){while(1){e=J[J[a+16>>2]+(c<<2)>>2];d=J[e+188>>2];if(d){b=J[a+68>>2];b=ua[J[J[b>>2]+36>>2]](b)|0;ua[J[J[b>>2]+40>>2]](b,d,J[a+24>>2]);b=J[a+68>>2];ua[J[J[b>>2]+12>>2]](b,d,J[a+24>>2]);J[e+188>>2]=0;b=J[a+8>>2]}c=c+1|0;if((c|0)<(b|0)){continue}break}}b=J[a+16>>2];if(!(b?!b|!K[a+20|0]:1)){J[8457]=J[8457]+1;ua[J[8259]](b)}J[a+16>>2]=0;H[a+20|0]=1;J[a+8>>2]=0;J[a+12>>2]=0;return a|0}function ig(a,b,c,d){a=a|0;b=Q(b);c=Q(c);d=d|0;var e=Q(0),f=Q(0);J[a+20>>2]=1065353216;J[a+24>>2]=1065353216;J[a+60>>2]=d;J[a+28>>2]=1065353216;J[a+32>>2]=0;f=b;e=c;a:{b:{switch(d|0){case 0:f=c;e=b;break a;case 1:break a;default:break b}}e=b;b=c}N[a+36>>2]=f;J[a+48>>2]=0;N[a+44>>2]=b;N[a+40>>2]=e;b=Q(ua[J[J[a>>2]+48>>2]](a));c=Q(ua[J[J[a>>2]+48>>2]](a));e=Q(ua[J[J[a>>2]+48>>2]](a));N[a+36>>2]=N[a+36>>2]-b;N[a+40>>2]=N[a+40>>2]-c;N[a+44>>2]=N[a+44>>2]-e}function Uh(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;var j=0,k=0,l=0,m=Q(0),n=0;l=sa-16|0;sa=l;ua[J[8262]](4109);ua[J[J[a>>2]+32>>2]](a,b,c,d,e,f,g,h,i);j=J[a+184>>2];k=J[h+20>>2];k=(j|0)>(k|0)?j:k;a:{if((k|0)<=0){break a}n=k-1|0;j=0;while(1){m=Q(ua[J[J[a>>2]+40>>2]](a,j,b,c,d,e,f,g,h,i));N[a+228>>2]=m;if((j|0)>=(n|0)|N[h+92>>2]>=m){break a}j=j+1|0;if((k|0)!=(j|0)){continue}break}}ua[J[8263]]();sa=l+16|0;return Q(Q(0))}function Ng(a,b){a=a|0;b=b|0;var c=Q(0),d=Q(0),e=0,f=Q(0),g=Q(0),h=Q(0),i=Q(0);c=Q(ua[J[J[a>>2]+48>>2]](a));d=Q(ua[J[J[a>>2]+48>>2]](a));f=Q(ua[J[J[a>>2]+48>>2]](a));g=N[b>>2];h=N[b+4>>2];i=N[b+8>>2];J[a+48>>2]=0;N[a+44>>2]=Q(i*N[a+28>>2])-f;N[a+40>>2]=Q(h*N[a+24>>2])-d;N[a+36>>2]=Q(g*N[a+20>>2])-c;c=N[b>>2];d=N[b+4>>2];e=c>2]>(e?c:d)?!e:2)<<2)+b>>2]*Q(.10000000149011612));if(Q(ua[J[J[a>>2]+48>>2]](a))>c){ua[J[J[a>>2]+44>>2]](a,c)}}function Fh(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;h=J[b+8>>2];if((h|0)>0){d=J[a+16>>2];j=J[b+16>>2];a=0;while(1){c=J[(e<<2)+j>>2];a:{if(!(K[c+204|0]&3)){b=a;i=b<<3;f=i+d|0;g=J[f>>2];if((b|0)!=(g|0)){while(1){b=(g<<3)+d|0;J[f>>2]=J[b>>2];b=J[b>>2];f=(b<<3)+d|0;g=J[f>>2];if((b|0)!=(g|0)){continue}break}}J[c+208>>2]=b;J[(d+i|0)+4>>2]=e;J[c+212>>2]=-1;a=a+1|0;break a}J[c+208>>2]=-1;J[c+212>>2]=-2}e=e+1|0;if((h|0)!=(e|0)){continue}break}}}function xn(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0;J[8462]=J[8462]-1;ua[J[J[a>>2]+20>>2]](a,b);c=J[b+864>>2];e=c<<2;f=J[a+20>>2];d=e+f|0;h=J[d>>2];i=d;d=J[a+12>>2]-1|0;g=d<<2;J[i>>2]=J[f+g>>2];J[J[a+20>>2]+g>>2]=h;J[J[J[a+20>>2]+e>>2]+864>>2]=c;J[a+12>>2]=d;a=J[a+72>>2];c=J[a+16>>2];if(!(c>>>0>b>>>0|c+P(J[a>>2],J[a+4>>2])>>>0<=b>>>0)){J[b>>2]=J[a+12>>2];J[a+12>>2]=b;J[a+8>>2]=J[a+8>>2]+1;return}if(b){J[8457]=J[8457]+1;ua[J[8259]](b)}}function el(a,b){a=a|0;b=b|0;var c=Q(0),d=0,e=Q(0),f=Q(0);d=ua[J[J[a>>2]+28>>2]](a)|0;c=Q(N[d+8>>2]-N[b+8>>2]);e=Q(c*c);c=Q(N[d>>2]-N[b>>2]);f=Q(c*c);c=Q(N[d+4>>2]-N[b+4>>2]);if(Q(e+Q(f+Q(c*c)))>Q(1.1920928955078125e-7)){wc(a,b);if(K[a+69|0]){b=J[a+60>>2];ua[J[J[b>>2]>>2]](b)|0;b=J[a+60>>2];if(b){J[8457]=J[8457]+1;ua[J[8259]](b)}}J[8456]=J[8456]+1;b=le(ua[J[8258]](172,16)|0);J[a+60>>2]=b;ke(b,J[a+56>>2],K[a+68|0],a+24|0,a+40|0);H[a+69|0]=1}}function nr(a,b,c,d){a=a|0;b=b|0;c=Q(c);d=Q(d);if((b|0)<=2){a=(b<<2)+a|0;N[a+696>>2]=d;N[a+680>>2]=c;return}c=Qa(c);a:{if(cQ(3.1415927410125732))){break a}c=Q(c+Q(-6.2831854820251465))}d=Qa(d);b:{if(dQ(3.1415927410125732))){break b}d=Q(d+Q(-6.2831854820251465))}a=P(b,88)+a|0;N[a+708>>2]=d;N[a+704>>2]=c}function Eq(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;J[a+4>>2]=b;b=J[c+12>>2];J[a+16>>2]=J[c+8>>2];J[a+20>>2]=b;b=J[c+4>>2];J[a+8>>2]=J[c>>2];J[a+12>>2]=b;b=J[c+28>>2];J[a+32>>2]=J[c+24>>2];J[a+36>>2]=b;b=J[c+20>>2];J[a+24>>2]=J[c+16>>2];J[a+28>>2]=b;b=J[c+36>>2];J[a+40>>2]=J[c+32>>2];J[a+44>>2]=b;b=J[c+44>>2];J[a+48>>2]=J[c+40>>2];J[a+52>>2]=b;d=J[c+60>>2];b=a- -64|0;J[b>>2]=J[c+56>>2];J[b+4>>2]=d;b=J[c+52>>2];J[a+56>>2]=J[c+48>>2];J[a+60>>2]=b}function re(a,b,c){a=a|0;b=b|0;c=c|0;var d=Q(0),e=Q(0),f=Q(0),g=Q(0),h=Q(0);ua[J[J[b>>2]+68>>2]](a,b,c);if(Q(ua[J[J[b>>2]+48>>2]](b))!=Q(0)){e=N[c+4>>2];d=N[c>>2];f=N[c+8>>2];g=Q(ua[J[J[b>>2]+48>>2]](b));b=Q(Q(f*f)+Q(Q(d*d)+Q(e*e)))>2]=N[a>>2]+Q(g*Q(h*d));N[a+4>>2]=N[a+4>>2]+Q(g*Q(e*d));N[a+8>>2]=N[a+8>>2]+Q(g*Q(f*d))}}function mo(a,b){a=a|0;b=b|0;var c=0,d=0;c=J[a+12>>2];J[b>>2]=J[a+8>>2];J[b+4>>2]=c;c=J[a+20>>2];J[b+8>>2]=J[a+16>>2];J[b+12>>2]=c;c=J[a+36>>2];J[b+24>>2]=J[a+32>>2];J[b+28>>2]=c;c=J[a+28>>2];J[b+16>>2]=J[a+24>>2];J[b+20>>2]=c;c=J[a+44>>2];J[b+32>>2]=J[a+40>>2];J[b+36>>2]=c;c=J[a+52>>2];J[b+40>>2]=J[a+48>>2];J[b+44>>2]=c;c=a- -64|0;d=J[c+4>>2];J[b+56>>2]=J[c>>2];J[b+60>>2]=d;c=J[a+60>>2];J[b+48>>2]=J[a+56>>2];J[b+52>>2]=c}function _g(a){a=a|0;var b=0;J[a>>2]=24384;b=J[a+80>>2];if(!(b?!b|!K[a+84|0]:1)){J[8457]=J[8457]+1;ua[J[8259]](b)}J[a+80>>2]=0;H[a+84|0]=1;J[a+72>>2]=0;J[a+76>>2]=0;b=J[a+60>>2];if(!(b?!b|!K[a- -64|0]:1)){J[8457]=J[8457]+1;ua[J[8259]](b)}J[a+60>>2]=0;H[a+64|0]=1;J[a+52>>2]=0;J[a+56>>2]=0;b=J[a+40>>2];if(!(b?!b|!K[a+44|0]:1)){J[8457]=J[8457]+1;ua[J[8259]](b)}J[a+40>>2]=0;H[a+44|0]=1;J[a+32>>2]=0;J[a+36>>2]=0;return a|0}function pf(a){a=a|0;var b=0;J[a>>2]=12284;b=J[a+60>>2];if(!(b?!b|!K[a- -64|0]:1)){J[8457]=J[8457]+1;ua[J[8259]](b)}J[a+60>>2]=0;H[a+64|0]=1;J[a+52>>2]=0;J[a+56>>2]=0;b=J[a+40>>2];if(!(b?!b|!K[a+44|0]:1)){J[8457]=J[8457]+1;ua[J[8259]](b)}J[a+40>>2]=0;H[a+44|0]=1;J[a+32>>2]=0;J[a+36>>2]=0;b=J[a+16>>2];if(!(b?!b|!K[a+20|0]:1)){J[8457]=J[8457]+1;ua[J[8259]](b)}J[a+16>>2]=0;H[a+20|0]=1;J[a+8>>2]=0;J[a+12>>2]=0;return a|0}function Me(a){a=a|0;var b=0;J[a>>2]=17788;b=J[a+56>>2];if(!(b?!b|!K[a+60|0]:1)){J[8457]=J[8457]+1;ua[J[8259]](b)}J[a+56>>2]=0;H[a+60|0]=1;J[a+48>>2]=0;J[a+52>>2]=0;b=J[a+36>>2];if(!(b?!b|!K[a+40|0]:1)){J[8457]=J[8457]+1;ua[J[8259]](b)}J[a+36>>2]=0;H[a+40|0]=1;J[a+28>>2]=0;J[a+32>>2]=0;b=J[a+16>>2];if(!(b?!b|!K[a+20|0]:1)){J[8457]=J[8457]+1;ua[J[8259]](b)}J[a+16>>2]=0;H[a+20|0]=1;J[a+8>>2]=0;J[a+12>>2]=0;return a|0}function Kl(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0;e=J[b>>2];e=ua[J[J[e>>2]+56>>2]](e,28)|0;f=K[a+4|0];g=J[a+8>>2];a=J[a+12>>2];J[e>>2]=14940;J[e+4>>2]=J[b>>2];J[e+24>>2]=a;J[e+20>>2]=g;H[e+16|0]=f;J[e+12>>2]=0;H[e+8|0]=0;J[e>>2]=16676;a=J[e+4>>2];b=f?d:c;c=f?c:d;if(ua[J[J[a>>2]+24>>2]](a,J[b+8>>2],J[c+8>>2])|0){a=J[e+4>>2];a=ua[J[J[a>>2]+12>>2]](a,J[b+8>>2],J[c+8>>2])|0;H[e+8|0]=1;J[e+12>>2]=a}return e|0}function Bd(a){a=a|0;var b=0;J[a>>2]=24060;b=J[a+56>>2];if(!(b?!b|!K[a+60|0]:1)){J[8457]=J[8457]+1;ua[J[8259]](b)}J[a+56>>2]=0;H[a+60|0]=1;J[a+48>>2]=0;J[a+52>>2]=0;b=J[a+36>>2];if(!(b?!b|!K[a+40|0]:1)){J[8457]=J[8457]+1;ua[J[8259]](b)}J[a+36>>2]=0;H[a+40|0]=1;J[a+28>>2]=0;J[a+32>>2]=0;b=J[a+16>>2];if(!(b?!b|!K[a+20|0]:1)){J[8457]=J[8457]+1;ua[J[8259]](b)}J[a+16>>2]=0;H[a+20|0]=1;J[a+8>>2]=0;J[a+12>>2]=0;return a|0}function Gp(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0;d=sa-32|0;sa=d;e=J[b>>2];if(e>>>0<2147483632){a:{if(e>>>0<=10){H[d+27|0]=e;f=d+16|0;break a}g=(e|15)+1|0;f=La(g);J[d+24>>2]=g|-2147483648;J[d+16>>2]=f;J[d+20>>2]=e}h=Ja(f,b+4|0,e)+e|0,i=0,H[h|0]=i;J[d+12>>2]=c;ua[a|0](d+28|0,d+16|0,d+12|0);la(J[d+28>>2]);a=J[d+28>>2];ba(a|0);ba(J[d+12>>2]);if(H[d+27|0]<0){Ga(J[d+16>>2])}sa=d+32|0;return a|0}ga();D()}function Ug(a){a=a|0;var b=0,c=0;if(J[a+248>>2]>0){while(1){a:{b:{b=J[J[a+256>>2]+(c<<2)>>2];switch(J[b+220>>2]-2|0){case 0:case 3:break a;default:break b}}if(K[b+204|0]&2){break a}c:{if(N[b+504>>2]==Q(1)){J[b+472>>2]=0;J[b+476>>2]=0;J[b+480>>2]=0;J[b+484>>2]=0;break c}Gd(b)}if(N[b+508>>2]!=Q(1)){break a}J[b+488>>2]=0;J[b+492>>2]=0;J[b+496>>2]=0;J[b+500>>2]=0}c=c+1|0;if((c|0)>2]){continue}break}}}function um(a,b,c){a=a|0;b=b|0;c=c|0;var d=Q(0),e=Q(0),f=Q(0),g=Q(0),h=Q(0);d=N[c+8>>2];e=N[c>>2];f=N[c+4>>2];g=Q(Q(d*N[b+72>>2])+Q(Q(e*N[b+64>>2])+Q(f*N[b+68>>2])));h=Q(Q(d*N[b+88>>2])+Q(Q(e*N[b+80>>2])+Q(f*N[b+84>>2])));c=g>2])+Q(Q(e*N[b+96>>2])+Q(f*N[b+100>>2])))>(c?h:g)?2:c)<<4)|0;c=J[b+4>>2];J[a>>2]=J[b>>2];J[a+4>>2]=c;c=J[b+12>>2];J[a+8>>2]=J[b+8>>2];J[a+12>>2]=c}function bl(a,b,c,d,e,f,g,h,i){a=Q(a);b=Q(b);c=Q(c);d=d|0;e=e|0;f=f|0;g=Q(g);h=Q(h);i=Q(i);var j=0,k=0;j=La(64);N[j+8>>2]=c;N[j+4>>2]=b;N[j>>2]=a;J[j+44>>2]=0;k=J[d+4>>2];J[j+12>>2]=J[d>>2];J[j+16>>2]=k;k=J[d+12>>2];J[j+20>>2]=J[d+8>>2];J[j+24>>2]=k;d=J[e+4>>2];J[j+28>>2]=J[e>>2];J[j+32>>2]=d;d=J[e+12>>2];J[j+36>>2]=J[e+8>>2];J[j+40>>2]=d;N[j+60>>2]=i;N[j+56>>2]=h;N[j+52>>2]=g;J[j+48>>2]=f;return j|0}function _c(a,b,c){var d=0,e=0,f=0,g=0;e=bc(a,b);a:{if(!e){e=0;break a}f=J[a+8>>2];if((f|0)>=0){if(!f){break a}while(1){d=J[e+32>>2];if(!d){break a}e=d;g=g+1|0;if((f|0)!=(g|0)){continue}break}break a}e=J[a>>2]}d=J[c+4>>2];J[b>>2]=J[c>>2];J[b+4>>2]=d;d=J[c+28>>2];J[b+24>>2]=J[c+24>>2];J[b+28>>2]=d;d=J[c+20>>2];J[b+16>>2]=J[c+16>>2];J[b+20>>2]=d;d=J[c+12>>2];J[b+8>>2]=J[c+8>>2];J[b+12>>2]=d;ac(a,e,b)}function ur(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;J[8456]=J[8456]+1;a=mc(ua[J[8258]](360,16)|0,3,a,b);J[a>>2]=23640;b=J[c+4>>2];J[a+300>>2]=J[c>>2];J[a+304>>2]=b;b=J[c+12>>2];J[a+308>>2]=J[c+8>>2];J[a+312>>2]=b;b=J[d+4>>2];J[a+316>>2]=J[d>>2];J[a+320>>2]=b;b=J[d+12>>2];J[a+324>>2]=J[d+8>>2];J[a+328>>2]=b;J[a+356>>2]=0;J[a+348>>2]=1050253722;J[a+352>>2]=1065353216;H[a+344|0]=0;J[a+332>>2]=0;return a|0} +function Ge(a,b){a=a|0;b=b|0;var c=Q(0),d=Q(0),e=Q(0),f=Q(0),g=Q(0),h=Q(0),i=Q(0),j=Q(0),k=Q(0);c=Q(ua[J[J[a>>2]+48>>2]](a));d=Q(ua[J[J[a>>2]+48>>2]](a));e=Q(ua[J[J[a>>2]+48>>2]](a));f=N[a+24>>2];g=N[a+40>>2];h=N[a+28>>2];i=N[a+44>>2];j=N[a+20>>2];k=N[a+36>>2];tb(a,b);J[a+48>>2]=0;N[a+44>>2]=Q(Q(Q(e+i)/h)*N[a+28>>2])-e;N[a+40>>2]=Q(Q(Q(d+g)/f)*N[a+24>>2])-d;N[a+36>>2]=Q(Q(Q(c+k)/j)*N[a+20>>2])-c}function gs(a,b,c,d){a=a|0;b=Q(b);c=Q(c);d=Q(d);var e=0,f=0,g=0;f=sa-16|0;sa=f;J[8456]=J[8456]+1;e=ua[J[8258]](44,16)|0;J[f+12>>2]=0;N[f+8>>2]=d;N[f+4>>2]=c;N[f>>2]=b;J[e+12>>2]=0;J[e+16>>2]=0;J[e+4>>2]=35;J[e+8>>2]=0;J[e+20>>2]=0;J[e>>2]=20152;J[e>>2]=21216;g=J[f+4>>2];J[e+24>>2]=J[f>>2];J[e+28>>2]=g;g=J[f+12>>2];J[e+32>>2]=J[f+8>>2];J[e+36>>2]=g;J[e+40>>2]=a;J[e+4>>2]=22;sa=f+16|0;return e|0}function fk(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=Q(0),g=Q(0),h=Q(0),i=0,j=Q(0),k=0,l=Q(0);if((d|0)>0){while(1){f=N[a+40>>2];g=N[a+36>>2];k=i<<4;e=k+b|0;j=N[e>>2];h=N[e+8>>2];l=Q(Y(Q(Q(j*j)+Q(h*h))));a:{if(l!=Q(0)){g=Q(g/l);h=Q(h*g);g=Q(j*g);f=N[e+4>>2]>2]>2]=h;N[e+4>>2]=f;N[e>>2]=g;i=i+1|0;if((i|0)!=(d|0)){continue}break}}}function Im(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0;c=J[b>>2];c=ua[J[J[c>>2]+56>>2]](c,72)|0;e=J[b+4>>2];d=J[a+8>>2];f=J[a+12>>2];a=J[a+16>>2];J[c>>2]=14940;J[c+4>>2]=J[b>>2];J[c>>2]=14968;J[c+8>>2]=d;J[c>>2]=15092;J[c+68>>2]=a;J[c+64>>2]=f;H[c+60|0]=0;J[c+56>>2]=e;H[c+52|0]=0;H[c+28|0]=1;J[c+24>>2]=0;H[c+48|0]=1;J[c+16>>2]=0;J[c+20>>2]=0;J[c+44>>2]=0;J[c+36>>2]=0;J[c+40>>2]=0;return c|0}function af(a){a=a|0;var b=0,c=0;J[a>>2]=15092;a:{if(!K[a+52|0]){break a}b=J[a+56>>2];if(!b){break a}c=J[a+4>>2];ua[J[J[c>>2]+16>>2]](c,b)}b=J[a+44>>2];if(!(b?!b|!K[a+48|0]:1)){J[8457]=J[8457]+1;ua[J[8259]](b)}J[a+44>>2]=0;H[a+48|0]=1;J[a+36>>2]=0;J[a+40>>2]=0;b=J[a+24>>2];if(!(b?!b|!K[a+28|0]:1)){J[8457]=J[8457]+1;ua[J[8259]](b)}J[a+24>>2]=0;H[a+28|0]=1;J[a+16>>2]=0;J[a+20>>2]=0;return a|0}function _f(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;a:{b:{switch(b|0){default:d=J[a+76>>2];c=J[a+72>>2];b=J[a+80>>2];break a;case 0:J[a+72>>2]=1;J[a+76>>2]=0;J[a+80>>2]=2;c=1;b=2;break a;case 1:J[a+72>>2]=0;J[a+76>>2]=1;J[a+80>>2]=2;d=1;b=2;break a;case 2:break b}}J[a+72>>2]=0;J[a+76>>2]=2;J[a+80>>2]=1;d=2;b=1}e=c<<2;c=a+36|0;N[e+c>>2]=N[a+64>>2];N[c+(d<<2)>>2]=N[a+68>>2];N[c+(b<<2)>>2]=N[a+64>>2]}function ol(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=Q(0),g=Q(0),h=Q(0);e=sa-48|0;sa=e;ua[J[J[a>>2]+124>>2]](a,e+32|0,d);f=N[e+32>>2];g=N[e+36>>2];h=N[e+40>>2];J[b+12>>2]=0;N[b+8>>2]=h;N[b+4>>2]=g;N[b>>2]=f;J[e+12>>2]=0;N[e+8>>2]=-h;N[e+4>>2]=-g;N[e>>2]=-f;ua[J[J[a>>2]+64>>2]](e+16|0,a,e);a=J[e+28>>2];J[c+8>>2]=J[e+24>>2];J[c+12>>2]=a;a=J[e+20>>2];J[c>>2]=J[e+16>>2];J[c+4>>2]=a;sa=e+48|0}function Tk(a,b,c){a=a|0;b=Q(b);c=c|0;var d=Q(0),e=Q(0),f=Q(0),g=0,h=0,i=0;h=a+36|0;g=J[a+60>>2];d=N[h+((g+2|0)%3<<2)>>2];a=sa-16|0;J[a+12>>2]=0;N[a+8>>2]=d;N[a+4>>2]=d;N[a>>2]=d;g=g<<2;i=g+a|0;N[i>>2]=N[g+h>>2]+N[i>>2];d=N[a+8>>2];b=Q(b*Q(.0833333283662796));e=N[a>>2];e=Q(e+e);e=Q(e*e);f=N[a+4>>2];f=Q(f+f);f=Q(f*f);N[c+8>>2]=b*Q(e+f);d=Q(d+d);d=Q(d*d);N[c+4>>2]=b*Q(e+d);N[c>>2]=b*Q(f+d)}function Id(a,b){var c=Q(0);J[a+20>>2]=0;J[a+24>>2]=0;H[a+28|0]=0;c=N[a+4>>2];a:{if(!(c>=Q(0))){break a}b=Qa(Q(b-N[a>>2]));b:{if(bQ(3.1415927410125732))){break b}b=Q(b+Q(-6.2831854820251465))}c:{if(Q(-c)>b){H[a+28|0]=1;b=Q(-Q(c+b));c=Q(1);break c}if(!(b>c)){break a}H[a+28|0]=1;b=Q(c-b);c=Q(-1)}N[a+24>>2]=c;N[a+20>>2]=b}}function Fe(a,b){a=a|0;b=Q(b);var c=Q(0),d=Q(0),e=Q(0),f=Q(0),g=Q(0),h=Q(0),i=Q(0),j=Q(0);c=Q(ua[J[J[a>>2]+48>>2]](a));d=Q(ua[J[J[a>>2]+48>>2]](a));e=Q(ua[J[J[a>>2]+48>>2]](a));N[a+52>>2]=b;b=N[a+44>>2];f=N[a+40>>2];g=N[a+36>>2];h=Q(ua[J[J[a>>2]+48>>2]](a));i=Q(ua[J[J[a>>2]+48>>2]](a));j=Q(ua[J[J[a>>2]+48>>2]](a));J[a+48>>2]=0;N[a+40>>2]=Q(d+f)-i;N[a+36>>2]=Q(c+g)-h;N[a+44>>2]=Q(e+b)-j}function Ko(a,b,c,d){a=a|0;b=b|0;c=Q(c);d=d|0;var e=0,f=0;e=sa+-64|0;sa=e;J[e+12>>2]=0;J[e+16>>2]=0;J[e+24>>2]=0;J[e+28>>2]=0;J[e+20>>2]=1065353216;J[e+32>>2]=0;J[e+36>>2]=0;J[e+40>>2]=1065353216;J[e+44>>2]=0;J[e+4>>2]=0;J[e+8>>2]=0;J[e>>2]=1065353216;f=J[b+12>>2];J[e+56>>2]=J[b+8>>2];J[e+60>>2]=f;f=J[b+4>>2];J[e+48>>2]=J[b>>2];J[e+52>>2]=f;ua[J[J[a>>2]+24>>2]](a,c,e,d);sa=e- -64|0}function ll(a,b,c){a=a|0;b=b|0;c=c|0;var d=Q(0),e=Q(0),f=Q(0),g=Q(0),h=Q(0),i=Q(0);g=N[a+44>>2];h=N[a+40>>2];d=N[a+36>>2];e=Q(1);a:{b:{c:{d:{e:{switch(c|0){case 1:e=Q(-1);break b;case 2:f=Q(1);break c;case 3:f=Q(-1);break c;case 4:d=Q(1);break d;case 0:break b;case 5:break e;default:break a}}d=Q(-1)}i=d;e=Q(0);d=g;break b}e=Q(0);d=h}N[b+8>>2]=i;N[b+4>>2]=f;N[b>>2]=e;N[b+12>>2]=-d}}function Tm(a,b){a=a|0;b=b|0;var c=0,d=0,e=Q(0),f=Q(0),g=0,h=0;c=sa-32|0;sa=c;d=J[a+184>>2];e=N[d+4>>2];a:{if(e==Q(0)){break a}b=J[b>>2];if(!(ua[J[J[d>>2]+8>>2]](d,J[b+188>>2])|0)){break a}f=N[a+188>>2];d=J[a+184>>2];g=J[a+192>>2];h=J[b+192>>2];J[c+24>>2]=-1;J[c+28>>2]=-1;J[c+20>>2]=b+4;J[c+16>>2]=b;J[c+12>>2]=h;J[c+8>>2]=0;Tc(g,a+36|0,a+100|0,c+8|0,d,f)}sa=c+32|0;return e!=Q(0)|0}function Bl(a,b,c,d,e,f,g,h){a=Q(a);b=Q(b);c=Q(c);d=d|0;e=e|0;f=f|0;g=Q(g);h=Q(h);var i=0,j=0;i=La(60);N[i+8>>2]=c;N[i+4>>2]=b;N[i>>2]=a;J[i+44>>2]=1;j=J[d+4>>2];J[i+12>>2]=J[d>>2];J[i+16>>2]=j;j=J[d+12>>2];J[i+20>>2]=J[d+8>>2];J[i+24>>2]=j;d=J[e+4>>2];J[i+28>>2]=J[e>>2];J[i+32>>2]=d;d=J[e+12>>2];J[i+36>>2]=J[e+8>>2];J[i+40>>2]=d;N[i+56>>2]=h;N[i+52>>2]=g;J[i+48>>2]=f;return i|0}function ir(a,b,c){a=a|0;b=b|0;c=Q(c);var d=Q(0);a:{if((b|0)<=2){N[((b<<2)+a|0)+804>>2]=c;break a}a=P(b,88)+a|0;c=Q(c+Q(3.1415927410125732));c=Q(Q(Q(V(Q(c/Q(6.2831854820251465))))*Q(-6.2831854820251465))+c);d=Q(0);b:{if(c>=Q(6.2831854820251465)){break b}d=c;if(!(c>2]=d+Q(-3.1415927410125732)}}function eb(a){var b=0,c=0,d=0,e=0,f=Q(0);b=sa-16|0;sa=b;d=J[a+8>>2];e=J[a+12>>2];a:{if((e|0)>0|(e|0)>=0){f=Q(Q(Q(+(d>>>0)+ +(e>>>0)*4294967296)*Q(0x10000000000000000))+Q(+M[a>>2]+ +M[a+4>>2]*4294967296));break a}c=J[a>>2];a=J[a+4>>2];J[b>>2]=0-c;J[b+4>>2]=0-(a+((c|0)!=0)|0);a=!(a|c);c=d^-1;d=a+c|0;a=e^-1;J[b+8>>2]=d;J[b+12>>2]=d>>>0>>0?a+1|0:a;f=Q(-eb(b))}sa=b+16|0;return f}function vl(a,b,c){a=a|0;b=b|0;c=c|0;var d=Q(0),e=Q(0),f=Q(0),g=Q(0),h=Q(0),i=Q(0),j=Q(0),k=Q(0),l=Q(0);d=N[b+40>>2];e=N[b+44>>2];f=N[b+36>>2];g=Q(ua[J[J[b>>2]+48>>2]](b));h=Q(ua[J[J[b>>2]+48>>2]](b));i=Q(ua[J[J[b>>2]+48>>2]](b));j=N[c>>2];k=N[c+4>>2];l=N[c+8>>2];J[a+12>>2]=0;e=Q(e+i);N[a+8>>2]=l>=Q(0)?e:Q(-e);d=Q(d+h);N[a+4>>2]=k>=Q(0)?d:Q(-d);d=Q(f+g);N[a>>2]=j>=Q(0)?d:Q(-d)}function pl(a,b,c){a=a|0;b=b|0;c=c|0;var d=Q(0),e=Q(0),f=Q(0),g=Q(0),h=Q(0),i=Q(0);e=N[a+44>>2];d=N[a+40>>2];f=N[a+36>>2];g=Q(ua[J[J[a>>2]+48>>2]](a));h=Q(ua[J[J[a>>2]+48>>2]](a));i=Q(ua[J[J[a>>2]+48>>2]](a));J[c+12>>2]=0;d=Q(d+h);a=b>>>1&1;N[c+4>>2]=Q(d*Q(!a|0))-Q(Q(a|0)*d);d=Q(f+g);a=b&1;N[c>>2]=Q(d*Q(!a|0))-Q(Q(a|0)*d);e=Q(e+i);a=b>>>2&1;N[c+8>>2]=Q(e*Q(!a|0))-Q(Q(a|0)*e)}function yl(a,b,c){a=a|0;b=Q(b);c=c|0;var d=Q(0),e=Q(0),f=Q(0),g=Q(0),h=Q(0),i=Q(0);d=N[a+44>>2];e=N[a+40>>2];f=N[a+36>>2];g=Q(ua[J[J[a>>2]+48>>2]](a));h=Q(ua[J[J[a>>2]+48>>2]](a));i=Q(ua[J[J[a>>2]+48>>2]](a));J[c+12>>2]=0;b=Q(b/Q(12));f=Q(f+g);f=Q(f+f);f=Q(f*f);e=Q(e+h);e=Q(e+e);e=Q(e*e);N[c+8>>2]=b*Q(f+e);d=Q(d+i);d=Q(d+d);d=Q(d*d);N[c+4>>2]=b*Q(f+d);N[c>>2]=b*Q(e+d)}function ug(a){a=a|0;var b=0,c=0,d=0;a:{b:{c:{c=J[a+4>>2];a=c;if(!(a&3)){break c}b=0;if(!K[c|0]){break a}while(1){a=a+1|0;if(!(a&3)){break c}if(K[a|0]){continue}break}break b}while(1){b=a;a=a+4|0;d=J[b>>2];if(!((d^-1)&d-16843009&-2139062144)){continue}break}while(1){a=b;b=a+1|0;if(K[a|0]){continue}break}}b=a-c|0}a=b+1|0;b=zb(a);if(b){a=Ja(b,c,a)}else{a=0}return a|0}function Zg(a){a=a|0;var b=0;J[a>>2]=24384;b=J[a+80>>2];if(!(b?!b|!K[a+84|0]:1)){J[8457]=J[8457]+1;ua[J[8259]](b)}J[a+80>>2]=0;H[a+84|0]=1;J[a+72>>2]=0;J[a+76>>2]=0;b=J[a+60>>2];if(!(b?!b|!K[a- -64|0]:1)){J[8457]=J[8457]+1;ua[J[8259]](b)}J[a+60>>2]=0;H[a+64|0]=1;J[a+52>>2]=0;J[a+56>>2]=0;b=J[a+40>>2];if(!(b?!b|!K[a+44|0]:1)){J[8457]=J[8457]+1;ua[J[8259]](b)}Ga(a)}function pe(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=Q(0),f=Q(0),g=Q(0),h=Q(0),i=Q(0),j=Q(0);h=Q(ua[J[J[a>>2]+48>>2]](a));i=Q(ua[J[J[a>>2]+48>>2]](a));j=Q(ua[J[J[a>>2]+48>>2]](a));e=N[b+52>>2];f=N[b+56>>2];g=N[b+48>>2];J[c+12>>2]=0;N[c+8>>2]=f-j;N[c+4>>2]=e-i;N[c>>2]=g-h;e=N[b+52>>2];f=N[b+56>>2];g=N[b+48>>2];J[d+12>>2]=0;N[d+8>>2]=j+f;N[d+4>>2]=i+e;N[d>>2]=h+g}function sc(a,b,c,d,e){var f=Q(0),g=0,h=Q(0);J[a+32>>2]=c;J[a+28>>2]=b;J[a+24>>2]=d;J[a+20>>2]=e;J[a+4>>2]=0;J[a+8>>2]=1065353216;J[a+12>>2]=0;J[a+16>>2]=0;J[a>>2]=22784;J[a+36>>2]=J[b+4>>2];J[a+40>>2]=J[c+4>>2];g=a,h=Q(ua[J[J[b>>2]+48>>2]](b)),N[g+44>>2]=h;f=Q(ua[J[J[c>>2]+48>>2]](c));J[a+72>>2]=1;J[a+76>>2]=1;J[a+60>>2]=-1;H[a+52|0]=0;N[a+48>>2]=f;return a}function fg(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;if(Ka(a,J[b+8>>2],e)){if(!(J[b+28>>2]==1|J[b+4>>2]!=(c|0))){J[b+28>>2]=d}return}a:{if(!Ka(a,J[b>>2],e)){break a}if(!(J[b+16>>2]!=(c|0)&J[b+20>>2]!=(c|0))){if((d|0)!=1){break a}J[b+32>>2]=1;return}J[b+20>>2]=c;J[b+32>>2]=d;J[b+40>>2]=J[b+40>>2]+1;if(!(J[b+36>>2]!=1|J[b+24>>2]!=2)){H[b+54|0]=1}J[b+44>>2]=4}}function vh(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=J[b+4>>2];J[a+264>>2]=J[b>>2];J[a+268>>2]=c;c=J[b+12>>2];J[a+272>>2]=J[b+8>>2];J[a+276>>2]=c;c=J[a+248>>2];if((c|0)>0){while(1){a:{b:{e=J[J[a+256>>2]+(d<<2)>>2];switch(J[e+220>>2]-2|0){case 0:case 3:break a;default:break b}}if(H[e+564|0]&1){break a}Db(e,b);c=J[a+248>>2]}d=d+1|0;if((c|0)>(d|0)){continue}break}}}function Cg(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;a:{e=J[a+328>>2];if((e|0)<=0){break a}h=d?d:J[a+188>>2];i=J[b>>2];f=J[a+336>>2];d=0;while(1){g=(d<<2)+f|0;if(J[g>>2]!=(i|0)){d=d+1|0;if((e|0)!=(d|0)){continue}break a}break}if((d|0)>=(e|0)){break a}d=e-1|0;J[g>>2]=J[(d<<2)+f>>2];J[a+328>>2]=d;a=J[a+344>>2];ua[J[J[a>>2]+12>>2]](a,h,b,c)|0}}function tl(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=Q(0),i=Q(0),j=Q(0),k=Q(0),l=Q(0),m=Q(0);if((d|0)>0){while(1){g=f<<4;e=g+b|0;k=N[e>>2];l=N[e+4>>2];m=N[e+8>>2];h=N[a+36>>2];i=N[a+40>>2];j=N[a+44>>2];e=c+g|0;J[e+12>>2]=0;N[e+8>>2]=m>=Q(0)?j:Q(-j);N[e+4>>2]=l>=Q(0)?i:Q(-i);N[e>>2]=k>=Q(0)?h:Q(-h);f=f+1|0;if((f|0)!=(d|0)){continue}break}}}function Ae(a,b,c,d,e){var f=0,g=0;while(1){a:{b:{if(L[e>>1]>1]|L[d>>1]>L[b+6>>1]|(L[e+4>>1]>1]|L[d+4>>1]>L[b+10>>1])){break b}if(L[e+2>>1]>1]|L[d+2>>1]>L[b+8>>1]){break b}f=J[b+12>>2];if((f|0)<0){break a}ua[J[J[c>>2]+8>>2]](c,f>>>21|0,f&2097151)}return}f=b+16|0;Ae(a,f,c,d,e);g=f;f=J[b+28>>2];b=(f|0)<0?g-(f<<4)|0:b+32|0;continue}}function yn(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;a=sa-16|0;sa=a;c=J[b+844>>2];if((c|0)>0){while(1){c=P(d,208)+b|0;e=J[c+120>>2];a:{if(!e){break a}f=J[8753];if(!f){break a}ua[f|0](e)|0;J[c+120>>2]=0}c=J[b+844>>2];d=d+1|0;if((c|0)>(d|0)){continue}break}}b:{if(!c){break b}c=J[8756];if(!c){break b}J[a+12>>2]=b;ua[c|0](a+12|0)}J[b+844>>2]=0;sa=a+16|0}function gc(a,b,c,d){H[a+53|0]=1;a:{if(J[a+4>>2]!=(c|0)){break a}H[a+52|0]=1;c=J[a+16>>2];b:{if(!c){J[a+36>>2]=1;J[a+24>>2]=d;J[a+16>>2]=b;if((d|0)!=1){break a}if(J[a+48>>2]==1){break b}break a}if((b|0)==(c|0)){c=J[a+24>>2];if((c|0)==2){J[a+24>>2]=d;c=d}if(J[a+48>>2]!=1){break a}if((c|0)==1){break b}break a}J[a+36>>2]=J[a+36>>2]+1}H[a+54|0]=1}}function Zn(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0;e=sa-48|0;sa=e;J[e+44>>2]=d;J[e+40>>2]=12212;d=J[b+12>>2];J[e+16>>2]=J[b+8>>2];J[e+20>>2]=d;d=J[b+4>>2];J[e+8>>2]=J[b>>2];J[e+12>>2]=d;b=J[c+12>>2];J[e+32>>2]=J[c+8>>2];J[e+36>>2]=b;b=J[c+4>>2];J[e+24>>2]=J[c>>2];J[e+28>>2]=b;b=e+8|0;c=e+40|0;xb(J[a+4>>2],b,c);xb(J[a+44>>2],b,c);sa=e+48|0}function Pc(a,b,c,d,e){J[a>>2]=14940;J[a+4>>2]=J[b>>2];J[a>>2]=14968;J[a>>2]=16192;H[a+68|0]=e;H[a+24|0]=1;J[a+20>>2]=0;H[a+44|0]=1;J[a+12>>2]=0;J[a+16>>2]=0;J[a+40>>2]=0;H[a- -64|0]=1;J[a+32>>2]=0;J[a+36>>2]=0;J[a+60>>2]=0;J[a+52>>2]=0;J[a+56>>2]=0;b=J[b+4>>2];H[a+76|0]=0;J[a+72>>2]=b;J[a+80>>2]=J[J[(e?d:c)+4>>2]+76>>2];Te(a,c,d);return a}function Um(a,b){a=a|0;b=b|0;var c=0,d=0,e=Q(0),f=0;c=sa-32|0;sa=c;d=J[a+216>>2];e=N[d+4>>2];a:{if(e==Q(0)){break a}b=J[b>>2];if(!(ua[J[J[d>>2]+8>>2]](d,J[b+188>>2])|0)){break a}d=J[a+216>>2];f=J[b+192>>2];J[c+24>>2]=-1;J[c+28>>2]=-1;J[c+20>>2]=b+4;J[c+16>>2]=b;J[c+12>>2]=f;J[c+8>>2]=0;Uc(a+68|0,a+132|0,c+8|0,d)}sa=c+32|0;return e!=Q(0)|0}function Ab(a,b){a:{if((b|0)>=1024){a=a*898846567431158e293;if(b>>>0<2047){b=b-1023|0;break a}a=a*898846567431158e293;b=((b|0)>=3069?3069:b)-2046|0;break a}if((b|0)>-1023){break a}a=a*2004168360008973e-307;if(b>>>0>4294965304){b=b+969|0;break a}a=a*2004168360008973e-307;b=((b|0)<=-2960?-2960:b)+1938|0}x(0,0);x(1,b+1023<<20);return a*+z()}function rg(a,b,c,d){a=a|0;b=Q(b);c=Q(c);d=d|0;var e=Q(0),f=Q(0);J[a+20>>2]=1065353216;J[a+24>>2]=1065353216;J[a+60>>2]=d;J[a+28>>2]=1065353216;J[a+32>>2]=0;f=b;e=c;a:{b:{switch(d|0){case 0:f=c;e=b;break a;case 1:break a;default:break b}}e=b;b=c}N[a+36>>2]=f;J[a+48>>2]=0;N[a+44>>2]=b;N[a+40>>2]=e;N[a+52>>2]=N[(a+36|0)+((d+2|0)%3<<2)>>2]}function Rk(a,b){a=a|0;b=b|0;var c=Q(0),d=Q(0),e=Q(0),f=Q(0),g=Q(0),h=Q(0),i=Q(0),j=Q(0),k=Q(0);c=N[a+24>>2];d=N[a+40>>2];e=N[a+28>>2];f=N[a+44>>2];g=N[a+20>>2];h=N[a+36>>2];tb(a,b);i=N[b>>2];j=N[b+4>>2];k=N[b+8>>2];J[a+48>>2]=0;N[a+44>>2]=k*Q(f/e);N[a+40>>2]=j*Q(d/c);N[a+36>>2]=i*Q(h/g);N[a+52>>2]=N[(a+36|0)+((J[a+60>>2]+2|0)%3<<2)>>2]}function ng(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=sa+-64|0;sa=d;e=1;a:{if(Ka(a,b,0)){break a}e=0;if(!b){break a}b=Ta(b,29972);e=0;if(!b){break a}Fa(d+12|0,0,52);J[d+56>>2]=1;J[d+20>>2]=-1;J[d+16>>2]=a;J[d+8>>2]=b;ua[J[J[b>>2]+28>>2]](b,d+8|0,J[c>>2],1);a=J[d+32>>2];if((a|0)==1){J[c>>2]=J[d+24>>2]}e=(a|0)==1}a=e;sa=d- -64|0;return a|0}function Pi(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0;e=sa-48|0;sa=e;J[e+12>>2]=b;J[e+8>>2]=22260;b=J[c+12>>2];J[e+24>>2]=J[c+8>>2];J[e+28>>2]=b;b=J[c+4>>2];J[e+16>>2]=J[c>>2];J[e+20>>2]=b;b=J[d+12>>2];J[e+40>>2]=J[d+8>>2];J[e+44>>2]=b;b=J[d+4>>2];J[e+32>>2]=J[d>>2];J[e+36>>2]=b;a=J[a+56>>2];ua[J[J[a>>2]+8>>2]](a,e+8|0,c,d);sa=e+48|0}function rr(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;J[8456]=J[8456]+1;a=Ld(ua[J[8258]](1460,16)|0,a,b,c,d,0);J[a>>2]=23308;J[a+968>>2]=0;J[a+972>>2]=0;J[a+680>>2]=0;J[a+684>>2]=0;b=a+1144|0;J[b>>2]=0;J[b+4>>2]=0;b=a+1056|0;J[b>>2]=0;J[b+4>>2]=0;J[a+688>>2]=0;J[a+692>>2]=0;J[a+696>>2]=0;J[a+700>>2]=0;J[a+704>>2]=0;J[a+708>>2]=0;return a|0}function hs(a,b,c,d,e){a=a|0;b=b|0;c=Q(c);d=Q(d);e=Q(e);var f=0;f=sa-16|0;sa=f;J[f+12>>2]=0;N[f+8>>2]=e;N[f+4>>2]=d;N[f>>2]=c;H[a+69|0]=0;J[a+60>>2]=b;b=ua[J[J[a>>2]+28>>2]](a)|0;c=Q(N[b+8>>2]-N[f+8>>2]);d=Q(c*c);c=Q(N[b>>2]-N[f>>2]);e=Q(c*c);c=Q(N[b+4>>2]-N[f+4>>2]);if(Q(d+Q(e+Q(c*c)))>Q(1.1920928955078125e-7)){wc(a,f)}sa=f+16|0}function Ll(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;a=J[b>>2];a=ua[J[J[a>>2]+56>>2]](a,16)|0;J[a>>2]=14940;J[a+4>>2]=J[b>>2];J[a>>2]=14968;J[a+12>>2]=0;H[a+8|0]=0;J[a>>2]=16604;b=J[a+4>>2];if(ua[J[J[b>>2]+24>>2]](b,J[c+8>>2],J[d+8>>2])|0){b=J[a+4>>2];b=ua[J[J[b>>2]+12>>2]](b,J[c+8>>2],J[d+8>>2])|0;H[a+8|0]=1;J[a+12>>2]=b}return a|0}function zq(a,b){a=a|0;b=Q(b);var c=0,d=0;c=sa-16|0;sa=c;J[c+8>>2]=1070945621;J[c+12>>2]=0;J[c>>2]=1070945621;J[c+4>>2]=1070945621;d=J[a+192>>2];a:{if(!kd(ua[J[J[d>>2]+36>>2]](d)|0,1038)){break a}if(J[d+4>>2]==31){if(J[d+24>>2]<=0){break a}ua[J[J[d>>2]+32>>2]](d,b,c);break a}ua[J[J[d>>2]+32>>2]](d,b,c)}lc(a,b,c);sa=c+16|0}function tn(a,b,c){a=a|0;b=b|0;c=c|0;a:{b:{c:{switch(J[b+220>>2]-2|0){case 0:case 3:break c;default:break b}}a=0;switch(J[c+220>>2]-2|0){case 0:case 3:break a;default:break b}}d:{if(J[b+280>>2]){if(!(ua[J[J[b>>2]+12>>2]](b,c)|0)){break d}}a=1;if(!J[c+280>>2]){break a}if(ua[J[J[c>>2]+12>>2]](c,b)|0){break a}}a=0}return a|0}function tk(a,b,c){a=a|0;b=b|0;c=c|0;var d=Q(0);bb(a,b,c);N[b+28>>2]=N[a+36>>2];N[b+32>>2]=N[a+40>>2];N[b+36>>2]=N[a+44>>2];N[b+40>>2]=N[a+48>>2];N[b+12>>2]=N[a+20>>2];N[b+16>>2]=N[a+24>>2];N[b+20>>2]=N[a+28>>2];N[b+24>>2]=N[a+32>>2];d=N[a+52>>2];J[b+48>>2]=0;N[b+44>>2]=d;a=J[a+76>>2];J[b+56>>2]=0;J[b+52>>2]=a;return 8915}function dk(a,b,c){a=a|0;b=b|0;c=c|0;var d=Q(0);bb(a,b,c);N[b+28>>2]=N[a+36>>2];N[b+32>>2]=N[a+40>>2];N[b+36>>2]=N[a+44>>2];N[b+40>>2]=N[a+48>>2];N[b+12>>2]=N[a+20>>2];N[b+16>>2]=N[a+24>>2];N[b+20>>2]=N[a+28>>2];N[b+24>>2]=N[a+32>>2];d=N[a+52>>2];J[b+48>>2]=0;N[b+44>>2]=d;a=J[a+60>>2];J[b+56>>2]=0;J[b+52>>2]=a;return 8794}function Pk(a,b,c){a=a|0;b=b|0;c=c|0;var d=Q(0);bb(a,b,c);N[b+28>>2]=N[a+36>>2];N[b+32>>2]=N[a+40>>2];N[b+36>>2]=N[a+44>>2];N[b+40>>2]=N[a+48>>2];N[b+12>>2]=N[a+20>>2];N[b+16>>2]=N[a+24>>2];N[b+20>>2]=N[a+28>>2];N[b+24>>2]=N[a+32>>2];d=N[a+52>>2];J[b+48>>2]=0;N[b+44>>2]=d;a=J[a+60>>2];J[b+56>>2]=0;J[b+52>>2]=a;return 8954}function cn(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0;c=sa-16|0;sa=c;ua[J[8262]](5665);ua[J[J[a>>2]+8>>2]](a);ua[J[J[a>>2]+12>>2]](a);b=J[a+24>>2];ua[J[8262]](3934);if(b){d=J[a+68>>2];f=b,g=ua[J[J[d>>2]+36>>2]](d)|0,h=a+28|0,i=J[a+24>>2],e=J[J[b>>2]+32>>2],ua[e](f|0,g|0,h|0,i|0)}ua[J[8263]]();ua[J[8263]]();sa=c+16|0}function Ml(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0;e=J[b>>2];e=ua[J[J[e>>2]+56>>2]](e,20)|0;f=J[b+4>>2];a=K[a+4|0];J[e>>2]=14940;J[e+4>>2]=J[b>>2];J[e>>2]=14968;H[e+16|0]=a;J[e+12>>2]=f;H[e+8|0]=0;J[e>>2]=17988;if(!f){a=J[e+4>>2];a=ua[J[J[a>>2]+12>>2]](a,J[c+8>>2],J[d+8>>2])|0;H[e+8|0]=1;J[e+12>>2]=a}return e|0}function mh(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;c=J[a+228>>2];a:{if((c|0)<=0){break a}e=J[a+236>>2];while(1){f=(d<<2)+e|0;if(J[f>>2]!=(b|0)){d=d+1|0;if((c|0)!=(d|0)){continue}break a}break}if((c|0)<=(d|0)){break a}c=c-1|0;d=c<<2;J[f>>2]=J[d+e>>2];J[d+J[a+236>>2]>>2]=b;J[a+228>>2]=c}Dd(J[b+28>>2],b);Dd(J[b+32>>2],b)}function Vn(a,b){a=a|0;b=b|0;if(J[a+16>>2]==(0-J[a+56>>2]|0)){zf(a+4|0);zf(a+44|0);J[a+124>>2]=0;J[a+104>>2]=0;H[a+153|0]=0;H[a+154|0]=1;J[a+116>>2]=10;J[a+120>>2]=1;J[a+108>>2]=1;J[a+112>>2]=0;J[a+84>>2]=0;J[a+88>>2]=0;J[a+92>>2]=0;J[a+128>>2]=0;J[a+132>>2]=0;J[a+136>>2]=0;J[a+140>>2]=0;J[a+144>>2]=0;J[a+148>>2]=0}}function xk(a,b){a=a|0;b=b|0;var c=Q(0),d=0,e=0,f=Q(0);e=J[a+76>>2]<<2;c=N[e+b>>2];d=e;e=a+20|0;f=Q(N[a+68>>2]*Q(c/N[d+e>>2]));N[a+68>>2]=f;d=J[a+72>>2]<<2;c=Q(N[d+b>>2]/N[e+d>>2]);d=J[a+80>>2]<<2;c=Q(N[a+64>>2]*Q(Q(c+Q(N[d+b>>2]/N[e+d>>2]))*Q(.5)));N[a+64>>2]=c;N[a+60>>2]=c/Q(Y(Q(Q(c*c)+Q(f*f))));tb(a,b)}function In(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;f=sa-16|0;sa=f;ua[J[8262]](3960);if(J[a+8>>2]>0){while(1){e=J[a+16>>2]+(d<<4)|0;a:{if(ua[J[J[b>>2]+8>>2]](b,e)|0){ua[J[J[a>>2]+12>>2]](a,J[e>>2],J[e+4>>2],c)|0;J[8458]=J[8458]-1;break a}d=d+1|0}if(J[a+8>>2]>(d|0)){continue}break}}ua[J[8263]]();sa=f+16|0}function _e(a,b,c,d,e){var f=0;J[a>>2]=14940;J[a+4>>2]=J[b>>2];J[a>>2]=14968;J[a>>2]=15696;b=J[b>>2];J[a+60>>2]=0;J[a+56>>2]=b;J[a+8>>2]=15724;f=e?c:d;J[a+48>>2]=f;c=e?d:c;J[a+44>>2]=c;b=ua[J[J[b>>2]+12>>2]](b,J[c+8>>2],J[f+8>>2])|0;J[a+72>>2]=b;c=J[a+56>>2];ua[J[J[c>>2]+20>>2]](c,b);H[a+76|0]=e;return a}function Ar(a,b,c,d,e,f){a=a|0;b=Q(b);c=Q(c);d=Q(d);e=Q(e);f=Q(f);c=Q(Q(c-b)*Q(.5));N[a+692>>2]=c;b=Qa(Q(c+b));a:{if(bQ(3.1415927410125732))){break a}b=Q(b+Q(-6.2831854820251465))}N[a+704>>2]=f;N[a+700>>2]=e;N[a+696>>2]=d;N[a+688>>2]=b}function Wj(a,b,c){a=a|0;b=b|0;c=c|0;var d=Q(0);a:{switch(J[a+104>>2]){case 0:return Q(N[J[a+100>>2]+(P(J[a+72>>2],c)+b<<2)>>2]);case 5:return Q(Q(N[a+96>>2]*Q(K[J[a+100>>2]+(P(J[a+72>>2],c)+b|0)|0])));case 3:d=Q(N[a+96>>2]*Q(I[J[a+100>>2]+(P(J[a+72>>2],c)+b<<1)>>1]));break;default:break a}}return Q(d)}function wq(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0;f=J[b+4>>2];J[a+20>>2]=J[b>>2];J[a+24>>2]=f;f=J[b+12>>2];J[a+28>>2]=J[b+8>>2];J[a+32>>2]=f;b=J[c+4>>2];J[a+36>>2]=J[c>>2];J[a+40>>2]=b;b=J[c+12>>2];J[a+44>>2]=J[c+8>>2];J[a+48>>2]=b;H[a+88|0]=e;J[a+12>>2]=d;J[a+16>>2]=0;J[a+4>>2]=1065353216}function Fg(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0;f=J[b+4>>2];J[a+20>>2]=J[b>>2];J[a+24>>2]=f;f=J[b+12>>2];J[a+28>>2]=J[b+8>>2];J[a+32>>2]=f;b=J[c+4>>2];J[a+36>>2]=J[c>>2];J[a+40>>2]=b;b=J[c+12>>2];J[a+44>>2]=J[c+8>>2];J[a+48>>2]=b;H[a+88|0]=e;J[a+12>>2]=d;J[a+4>>2]=1065353216;J[a+8>>2]=0}function cl(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;c=J[a+60>>2];if(c){c=(f=b,g=ua[J[J[c>>2]+12>>2]](c)|0,h=1,e=J[J[b>>2]+16>>2],ua[e](f|0,g|0,h|0)|0);d=J[a+60>>2];h=b,g=c,f=ua[J[J[d>>2]+16>>2]](d,J[c+8>>2],b)|0,i=1213612625,j=J[a+60>>2],e=J[J[b>>2]+20>>2],ua[e](h|0,g|0,f|0,i|0,j|0)}}function al(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;c=J[a+64>>2];if(c){c=(f=b,g=ua[J[J[c>>2]+8>>2]](c)|0,h=1,e=J[J[b>>2]+16>>2],ua[e](f|0,g|0,h|0)|0);d=J[a+64>>2];h=b,g=c,f=ua[J[J[d>>2]+12>>2]](d,J[c+8>>2],b)|0,i=1346456916,j=J[a+64>>2],e=J[J[b>>2]+20>>2],ua[e](h|0,g|0,f|0,i|0,j|0)}}function pi(a,b,c,d){a=a|0;b=b|0;c=Q(c);d=d|0;a:{b:{switch(d+1|0){case 0:case 6:break b;default:break a}}c:{d:{switch(b-1|0){case 1:d=a+764|0;b=2;break c;case 3:d=a+760|0;b=1;break c;case 2:d=a+752|0;b=4;break c;case 0:break d;default:break a}}d=a+756|0;b=8}N[d>>2]=c;J[a+748>>2]=b|J[a+748>>2]}}function rh(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;c=J[a+248>>2];a:{if((c|0)<=0){break a}e=J[a+256>>2];while(1){f=(d<<2)+e|0;if(J[f>>2]!=(b|0)){d=d+1|0;if((c|0)!=(d|0)){continue}break a}break}if((c|0)<=(d|0)){break a}c=c-1|0;d=c<<2;J[f>>2]=J[d+e>>2];J[d+J[a+256>>2]>>2]=b;J[a+248>>2]=c}Vc(a,b)}function rd(a){a=a|0;var b=0;J[a>>2]=25104;b=J[a+344>>2];ua[J[J[b>>2]>>2]](b)|0;b=J[a+344>>2];if(b){J[8457]=J[8457]+1;ua[J[8259]](b)}J[a>>2]=25060;b=J[a+336>>2];if(!(b?!b|!K[a+340|0]:1)){J[8457]=J[8457]+1;ua[J[8259]](b)}J[a+336>>2]=0;H[a+340|0]=1;J[a+328>>2]=0;J[a+332>>2]=0;return fb(a)|0}function gk(a,b,c){a=a|0;b=b|0;c=c|0;var d=Q(0),e=Q(0),f=Q(0),g=Q(0),h=Q(0),i=Q(0);d=N[b+40>>2];e=N[b+36>>2];f=N[c>>2];g=N[c+8>>2];h=Q(Y(Q(Q(f*f)+Q(g*g))));a:{if(h!=Q(0)){e=Q(e/h);i=Q(g*e);e=Q(f*e);d=N[c+4>>2]>2]>2]=i;N[a+4>>2]=d;N[a>>2]=e}function kj(a,b,c){a=a|0;b=b|0;c=c|0;var d=Q(0);bb(a,b,c);N[b+12>>2]=N[a+76>>2];N[b+16>>2]=N[a+80>>2];N[b+20>>2]=N[a+84>>2];N[b+24>>2]=N[a+88>>2];N[b+28>>2]=N[a+56>>2];N[b+32>>2]=N[a+60>>2];N[b+36>>2]=N[a- -64>>2];N[b+40>>2]=N[a+68>>2];d=N[a+72>>2];J[b+48>>2]=0;N[b+44>>2]=d;return 8931}function bo(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;_b((J[b+60>>2]==2?44:4)+a|0,J[b+48>>2]);d=J[b+52>>2];J[(d?d+56|0:((J[b+60>>2]<<2)+a|0)+84|0)>>2]=J[b+56>>2];d=J[b+56>>2];if(d){J[d+52>>2]=J[b+52>>2]}d=J[a+96>>2];ua[J[J[d>>2]+16>>2]](d,b,c);if(b){J[8457]=J[8457]+1;ua[J[8259]](b)}H[a+154|0]=1}function vm(a,b,c){a=a|0;b=b|0;c=c|0;var d=Q(0);bb(a,b,c);N[b+28>>2]=N[a+36>>2];N[b+32>>2]=N[a+40>>2];N[b+36>>2]=N[a+44>>2];N[b+40>>2]=N[a+48>>2];N[b+12>>2]=N[a+20>>2];N[b+16>>2]=N[a+24>>2];N[b+20>>2]=N[a+28>>2];N[b+24>>2]=N[a+32>>2];d=N[a+52>>2];J[b+48>>2]=0;N[b+44>>2]=d;return 8835}function kh(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;a:{c=J[a+296>>2];if((c|0)<=0){break a}e=J[a+304>>2];while(1){f=(d<<2)+e|0;if(J[f>>2]!=(b|0)){d=d+1|0;if((c|0)!=(d|0)){continue}break a}break}if((c|0)<=(d|0)){break a}c=c-1|0;d=c<<2;J[f>>2]=J[d+e>>2];J[d+J[a+304>>2]>>2]=b;J[a+296>>2]=c}}function Sh(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;j=sa-16|0;sa=j;ua[J[8262]](5413);Q(ua[J[J[a>>2]+44>>2]](a,b,c,d,e,f,g,h,i));Q(ua[J[J[a>>2]+48>>2]](a,b,c,d,e,f,g,h,i));Q(ua[J[J[a>>2]+36>>2]](a,b,c,h));ua[J[8263]]();sa=j+16|0;return Q(Q(0))}function Hg(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0;a:{c=J[a+328>>2];if((c|0)<=0){break a}f=J[b>>2];d=J[a+336>>2];b=0;while(1){e=(b<<2)+d|0;if(J[e>>2]!=(f|0)){b=b+1|0;if((c|0)!=(b|0)){continue}break a}break}if((b|0)>=(c|0)){break a}b=c-1|0;J[e>>2]=J[(b<<2)+d>>2];J[a+328>>2]=b}}function Eg(a){a=Q(a);var b=0;J[8456]=J[8456]+1;b=Sa(ua[J[8258]](60,16)|0);J[b+32>>2]=0;J[b+36>>2]=0;J[b+20>>2]=1065353216;J[b+24>>2]=1065353216;J[b+4>>2]=8;J[b>>2]=21396;J[b+56>>2]=0;N[b+52>>2]=a;J[b+28>>2]=1065353216;J[b+40>>2]=0;J[b+44>>2]=0;J[b+48>>2]=0;N[b+36>>2]=a;return b|0}function Db(a,b){var c=Q(0),d=0,e=Q(0),f=Q(0),g=Q(0);c=N[a+404>>2];if(c!=Q(0)){e=N[b>>2];f=N[b+4>>2];g=N[b+8>>2];J[a+436>>2]=0;c=Q(Q(1)/c);N[a+432>>2]=g*c;N[a+428>>2]=c*f;N[a+424>>2]=c*e}d=J[b+4>>2];J[a+440>>2]=J[b>>2];J[a+444>>2]=d;d=J[b+12>>2];J[a+448>>2]=J[b+8>>2];J[a+452>>2]=d}function Ki(a,b,c,d){a=a|0;b=b|0;c=c|0;d=Q(d);var e=0;if(N[a+36>>2]>d){H[a+40|0]=1;e=J[b+4>>2];J[a+4>>2]=J[b>>2];J[a+8>>2]=e;e=J[b+12>>2];J[a+12>>2]=J[b+8>>2];J[a+16>>2]=e;b=J[c+4>>2];J[a+20>>2]=J[c>>2];J[a+24>>2]=b;b=J[c+12>>2];J[a+28>>2]=J[c+8>>2];J[a+32>>2]=b;N[a+36>>2]=d}}function Xm(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=Q(0);e=sa-16|0;sa=e;d=J[a+28>>2];J[e+8>>2]=d;J[e+4>>2]=d;f=J[b+4>>2];a:{if(!f){J[b+4>>2]=e+4;break a}J[f+4>>2]=d;J[f>>2]=d}d=J[a+24>>2];g=Q(ua[J[J[d>>2]+12>>2]](d,b,c));N[a+4>>2]=N[J[a+24>>2]+4>>2];sa=e+16|0;return Q(g)}function ml(a,b,c){a=a|0;b=b|0;c=Q(c);var d=Q(0),e=Q(0),f=0;d=N[b>>2];e=N[a+36>>2];a:{if(!(d<=Q(e+c))|!(d>=Q(Q(-e)-c))){break a}d=N[b+4>>2];e=N[a+40>>2];if(!(d<=Q(e+c))|!(d>=Q(Q(-e)-c))){break a}d=N[b+8>>2];e=N[a+44>>2];if(!(d<=Q(e+c))){break a}f=d>=Q(Q(-e)-c)}return f|0}function Pq(){var a=0;a=La(64);J[a+4>>2]=0;J[a+8>>2]=0;J[a>>2]=1065353216;J[a+12>>2]=0;J[a+16>>2]=0;J[a+24>>2]=0;J[a+28>>2]=0;J[a+20>>2]=1065353216;J[a+32>>2]=0;J[a+36>>2]=0;J[a+44>>2]=0;J[a+48>>2]=0;J[a+40>>2]=1065353216;J[a+52>>2]=0;J[a+56>>2]=0;J[a+60>>2]=0;return a|0}function oi(a,b,c){a=a|0;b=b|0;c=c|0;var d=Q(0);a:{b:{switch(c+1|0){case 0:case 6:break b;default:break a}}c:{switch(b-1|0){case 1:return Q(N[a+764>>2]);case 3:return Q(N[a+760>>2]);case 2:return Q(N[a+752>>2]);case 0:break c;default:break a}}d=N[a+756>>2]}return Q(d)}function Vd(a,b,c,d){var e=0;J[a>>2]=23116;e=J[b+4>>2];J[a+4>>2]=J[b>>2];J[a+8>>2]=e;e=J[b+12>>2];J[a+12>>2]=J[b+8>>2];J[a+16>>2]=e;b=J[c+4>>2];J[a+20>>2]=J[c>>2];J[a+24>>2]=b;b=J[c+12>>2];J[a+28>>2]=J[c+8>>2];J[a+32>>2]=b;J[a+40>>2]=1065353216;J[a+36>>2]=d;return a}function Nl(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;a=J[b>>2];a=ua[J[J[a>>2]+56>>2]](a,16)|0;J[a>>2]=14940;J[a+4>>2]=J[b>>2];J[a>>2]=14968;J[a+12>>2]=0;H[a+8|0]=0;J[a>>2]=17912;b=J[a+4>>2];b=ua[J[J[b>>2]+12>>2]](b,J[c+8>>2],J[d+8>>2])|0;H[a+8|0]=1;J[a+12>>2]=b;return a|0}function kg(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0;if(Ka(a,J[b+8>>2],0)){hc(b,c,d);return}e=J[a+12>>2];f=a+16|0;jd(f,b,c,d);a=a+24|0;e=(e<<3)+f|0;a:{if(a>>>0>=e>>>0){break a}while(1){jd(a,b,c,d);if(K[b+54|0]){break a}a=a+8|0;if(e>>>0>a>>>0){continue}break}}}function Hb(a,b,c,d,e){var f=Q(0);f=Q(1);a:{if(b>c){break a}f=Q(0);if(b==c){break a}d=Q(d/e);if(d=b)|!(Q(b-d)>a))){return Q(Q(b-a)/d)}return aQ(0))){break a}if(!(!(a<=c)|!(Q(c-d)c?Q(0):Q(1)}return f}function bg(a,b){a=Q(a);b=Q(b);var c=0;J[8456]=J[8456]+1;c=Sa(ua[J[8258]](84,16)|0);N[c+68>>2]=b;N[c+64>>2]=a;J[c>>2]=19388;J[c+72>>2]=0;J[c+76>>2]=1;J[c+4>>2]=11;N[c+36>>2]=a;J[c+80>>2]=2;N[c+44>>2]=a;N[c+40>>2]=b;N[c+60>>2]=a/Q(Y(Q(Q(a*a)+Q(b*b))));return c|0}function ae(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;a=J[a+32>>2]+(j<<5)|0;J[c>>2]=J[a+12>>2];J[b>>2]=J[a+16>>2];J[d>>2]=J[a+28>>2];J[e>>2]=J[a+20>>2];J[h>>2]=J[a>>2];J[f>>2]=J[a+4>>2];J[g>>2]=J[a+8>>2];J[i>>2]=J[a+24>>2]}function Fi(a,b,c,d){a=a|0;b=b|0;c=c|0;d=Q(d);var e=0;e=J[b+4>>2];J[a+4>>2]=J[b>>2];J[a+8>>2]=e;e=J[b+12>>2];J[a+12>>2]=J[b+8>>2];J[a+16>>2]=e;b=J[c+4>>2];J[a+20>>2]=J[c>>2];J[a+24>>2]=b;b=J[c+12>>2];J[a+28>>2]=J[c+8>>2];J[a+32>>2]=b;H[a+40|0]=1;N[a+36>>2]=d}function zf(a){var b=0;b=J[a>>2];if(b){cc(a,b)}b=J[a+4>>2];if(b){J[8457]=J[8457]+1;ua[J[8259]](b)}J[a+4>>2]=0;J[a+8>>2]=-1;b=J[a+32>>2];if(!(b?!b|!K[a+36|0]:1)){J[8457]=J[8457]+1;ua[J[8259]](b)}J[a+32>>2]=0;H[a+36|0]=1;J[a+16>>2]=0;J[a+24>>2]=0;J[a+28>>2]=0}function $c(a){var b=0;b=J[a>>2];if(b){cc(a,b)}b=J[a+4>>2];if(b){J[8457]=J[8457]+1;ua[J[8259]](b)}J[a+4>>2]=0;J[a+8>>2]=-1;b=J[a+32>>2];if(!(b?!b|!K[a+36|0]:1)){J[8457]=J[8457]+1;ua[J[8259]](b)}H[a+36|0]=1;J[a+16>>2]=0;J[a+32>>2]=0;J[a+24>>2]=0;J[a+28>>2]=0}function Fc(a){a=a|0;var b=0;J[a>>2]=19276;b=J[a+72>>2];if(b){$c(b);b=J[a+72>>2];if(b){J[8457]=J[8457]+1;ua[J[8259]](b)}}b=J[a+32>>2];if(!(b?!b|!K[a+36|0]:1)){J[8457]=J[8457]+1;ua[J[8259]](b)}J[a+32>>2]=0;H[a+36|0]=1;J[a+24>>2]=0;J[a+28>>2]=0;return a|0}function Vm(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=Q(0);d=sa-16|0;sa=d;J[d+4>>2]=-1;J[d+8>>2]=J[a+28>>2];J[d+12>>2]=J[a+20>>2];if(!J[b+4>>2]){J[b+4>>2]=d+4}e=J[a+24>>2];f=Q(ua[J[J[e>>2]+12>>2]](e,b,c));N[a+4>>2]=N[J[a+24>>2]+4>>2];sa=d+16|0;return Q(f)}function $n(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0;c=sa-16|0;sa=c;J[c+8>>2]=12140;J[c+12>>2]=d;g=d+4|0;h=d+20|0;i=J[a+168>>2];j=c+8|0;vf(J[a+4>>2],b,g,h,N[d+32>>2],e,f,i,j);vf(J[a+44>>2],b,g,h,N[d+32>>2],e,f,i,j);sa=c+16|0}function kn(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0;c=(e=b,f=ua[J[J[a>>2]+16>>2]](a)|0,g=1,d=J[J[b>>2]+16>>2],ua[d](e|0,f|0,g|0)|0);g=b,f=c,e=ua[J[J[a>>2]+20>>2]](a,J[c+8>>2],b)|0,h=1245859651,i=a,d=J[J[b>>2]+20>>2],ua[d](g|0,f|0,e|0,h|0,i|0)}function Lh(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0;c=(e=b,f=ua[J[J[a>>2]+16>>2]](a)|0,g=1,d=J[J[b>>2]+16>>2],ua[d](e|0,f|0,g|0)|0);g=b,f=c,e=ua[J[J[a>>2]+20>>2]](a,J[c+8>>2],b)|0,h=1497645650,i=a,d=J[J[b>>2]+20>>2],ua[d](g|0,f|0,e|0,h|0,i|0)}function Jk(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0;c=(e=b,f=ua[J[J[a>>2]+52>>2]](a)|0,g=1,d=J[J[b>>2]+16>>2],ua[d](e|0,f|0,g|0)|0);g=b,f=c,e=ua[J[J[a>>2]+56>>2]](a,J[c+8>>2],b)|0,h=1346455635,i=a,d=J[J[b>>2]+20>>2],ua[d](g|0,f|0,e|0,h|0,i|0)}function Oq(a){a=a|0;J[a+4>>2]=0;J[a+8>>2]=0;J[a>>2]=1065353216;J[a+12>>2]=0;J[a+16>>2]=0;J[a+24>>2]=0;J[a+28>>2]=0;J[a+20>>2]=1065353216;J[a+32>>2]=0;J[a+36>>2]=0;J[a+44>>2]=0;J[a+48>>2]=0;J[a+40>>2]=1065353216;J[a+52>>2]=0;J[a+56>>2]=0;J[a+60>>2]=0}function ei(a,b,c){a=a|0;b=b|0;c=c|0;Gb(a,b,c);N[b+52>>2]=N[a+300>>2];N[b+56>>2]=N[a+304>>2];N[b+60>>2]=N[a+308>>2];N[b- -64>>2]=N[a+312>>2];N[b+68>>2]=N[a+316>>2];N[b+72>>2]=N[a+320>>2];N[b+76>>2]=N[a+324>>2];N[b+80>>2]=N[a+328>>2];return 8591} +function Bh(a){a=a|0;var b=0,c=0;if(J[a+248>>2]>0){while(1){b=J[J[a+256>>2]+(c<<2)>>2];J[b+472>>2]=0;J[b+476>>2]=0;J[b+496>>2]=0;J[b+500>>2]=0;J[b+488>>2]=0;J[b+492>>2]=0;J[b+480>>2]=0;J[b+484>>2]=0;c=c+1|0;if((c|0)>2]){continue}break}}}function xq(a,b){a=a|0;b=b|0;var c=0,d=Q(0);c=J[b+4>>2];J[a+408>>2]=J[b>>2];J[a+412>>2]=c;c=J[b+12>>2];J[a+416>>2]=J[b+8>>2];J[a+420>>2]=c;J[a+632>>2]=0;d=N[a+404>>2];N[a+624>>2]=d*N[a+412>>2];N[a+620>>2]=d*N[a+408>>2];N[a+628>>2]=d*N[a+416>>2]}function ul(a,b,c){a=a|0;b=b|0;c=c|0;var d=Q(0),e=Q(0),f=Q(0),g=Q(0),h=Q(0),i=Q(0);d=N[b+40>>2];e=N[b+44>>2];g=N[c+4>>2];h=N[c+8>>2];f=N[b+36>>2];i=N[c>>2];J[a+12>>2]=0;N[a>>2]=i>=Q(0)?f:Q(-f);N[a+8>>2]=h>=Q(0)?e:Q(-e);N[a+4>>2]=g>=Q(0)?d:Q(-d)}function hq(a){a=a|0;J[a+372>>2]=0;J[a+376>>2]=0;J[a+472>>2]=0;J[a+476>>2]=0;J[a+396>>2]=0;J[a+400>>2]=0;J[a+388>>2]=0;J[a+392>>2]=0;J[a+380>>2]=0;J[a+384>>2]=0;J[a+480>>2]=0;J[a+484>>2]=0;J[a+488>>2]=0;J[a+492>>2]=0;J[a+496>>2]=0;J[a+500>>2]=0}function wn(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0;f=sa-16|0;sa=f;J[f+12>>2]=d;J[f+8>>2]=a;a=J[((((e|0)==1?76:5260)+a|0)+P(J[J[b+4>>2]+4>>2],144)|0)+(J[J[c+4>>2]+4>>2]<<2)>>2];a=ua[J[J[a>>2]+8>>2]](a,f+8|0,b,c)|0;sa=f+16|0;return a|0}function qn(a,b){a=a|0;b=b|0;var c=0;a:{if(!b){break a}a=J[a+68>>2];c=J[a+16>>2];if(c>>>0>b>>>0|P(J[a>>2],J[a+4>>2])+c>>>0<=b>>>0){break a}J[b>>2]=J[a+12>>2];J[a+12>>2]=b;J[a+8>>2]=J[a+8>>2]+1;return}if(b){J[8457]=J[8457]+1;ua[J[8259]](b)}}function Yi(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=J[b+4>>2];J[a+52>>2]=J[b>>2];J[a+56>>2]=d;d=J[b+12>>2];J[a+60>>2]=J[b+8>>2];J[a+64>>2]=d;b=J[c+4>>2];J[a+68>>2]=J[c>>2];J[a+72>>2]=b;b=J[c+12>>2];J[a+76>>2]=J[c+8>>2];J[a+80>>2]=b;J[a+48>>2]=1}function ce(a){a=Sa(a);H[a+96|0]=0;J[a+80>>2]=-1082130432;J[a+84>>2]=-1082130432;J[a+64>>2]=1065353216;J[a+68>>2]=1065353216;J[a>>2]=20992;J[a+60>>2]=0;J[a+88>>2]=-1082130432;J[a+92>>2]=0;J[a+72>>2]=1065353216;J[a+76>>2]=0;return a}function Qg(a,b){a=a|0;b=Q(b);var c=0,d=0,e=0;d=sa-16|0;sa=d;ua[J[8262]](4095);if(J[a+296>>2]>0){while(1){e=J[J[a+304>>2]+(c<<2)>>2];ua[J[J[e>>2]+8>>2]](e,a,b);c=c+1|0;if((c|0)>2]){continue}break}}ua[J[8263]]();sa=d+16|0}function Kb(a){H[a+356|0]=1;J[a>>2]=0;H[a+312|0]=0;J[a+292>>2]=1566444395;J[a+296>>2]=1566444395;J[a+336>>2]=0;J[a+340>>2]=0;J[a+300>>2]=1566444395;J[a+304>>2]=0;J[a+344>>2]=0;J[a+348>>2]=0;H[a+352|0]=0;H[a+332|0]=K[a+332|0]&240}function Ah(a){a=a|0;var b=0,c=0,d=0;b=J[a+248>>2];if((b|0)>0){while(1){a:{b:{d=J[J[a+256>>2]+(c<<2)>>2];switch(J[d+220>>2]-2|0){case 0:case 3:break a;default:break b}}Gd(d);b=J[a+248>>2]}c=c+1|0;if((b|0)>(c|0)){continue}break}}}function ao(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;a=J[b+20>>2];J[c>>2]=J[b+16>>2];J[c+4>>2]=a;a=J[b+28>>2];J[c+8>>2]=J[b+24>>2];J[c+12>>2]=a;a=J[b+44>>2];J[d+8>>2]=J[b+40>>2];J[d+12>>2]=a;a=J[b+36>>2];J[d>>2]=J[b+32>>2];J[d+4>>2]=a}function Xi(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=J[a+56>>2];J[b>>2]=J[a+52>>2];J[b+4>>2]=d;d=J[a+64>>2];J[b+8>>2]=J[a+60>>2];J[b+12>>2]=d;b=J[a+80>>2];J[c+8>>2]=J[a+76>>2];J[c+12>>2]=b;b=J[a+72>>2];J[c>>2]=J[a+68>>2];J[c+4>>2]=b}function Od(a,b,c){var d=0;Rd(a);d=J[a+248>>2];J[b>>2]=J[a+244>>2];J[b+4>>2]=d;d=J[a+256>>2];J[b+8>>2]=J[a+252>>2];J[b+12>>2]=d;b=J[a+272>>2];J[c+8>>2]=J[a+268>>2];J[c+12>>2]=b;b=J[a+264>>2];J[c>>2]=J[a+260>>2];J[c+4>>2]=b}function so(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0;e=sa-32|0;sa=e;a=J[a+140>>2];if(!(H[33804]&1)){f=aa(4,31600)|0;H[33804]=1;J[8450]=f}f=J[8450];J[e+24>>2]=d;J[e+16>>2]=c;J[e+8>>2]=b;$(f|0,a|0,7459,e+8|0);sa=e+32|0}function Jh(a){a=a|0;var b=0;J[a>>2]=23996;b=J[a+556>>2];if(!(b?!b|!K[a+560|0]:1)){J[8457]=J[8457]+1;ua[J[8259]](b)}J[a+556>>2]=0;H[a+560|0]=1;J[a+548>>2]=0;J[a+552>>2]=0;a=fb(a);if(a){J[8457]=J[8457]+1;ua[J[8259]](a)}}function gi(a,b,c,d){a=a|0;b=b|0;c=Q(c);d=d|0;a:{if((d|0)!=-1){break a}b:{c:{switch(b-1|0){case 0:case 1:d=a+336|0;b=1;break b;case 2:case 3:break c;default:break a}}d=a+340|0;b=2}N[d>>2]=c;J[a+332>>2]=b|J[a+332>>2]}}function fi(a,b,c){a=a|0;b=b|0;c=c|0;var d=Q(0);d=Q(34028234663852886e22);a:{if((c|0)!=-1){break a}b:{switch(b-1|0){case 0:case 1:return Q(N[a+336>>2]);case 2:case 3:break b;default:break a}}d=N[a+340>>2]}return Q(d)}function Kk(a){a=a|0;var b=0,c=Q(0),d=Q(0),e=Q(0);b=sa-32|0;sa=b;ua[J[J[a>>2]+12>>2]](a,b+16|0,b+12|0);sa=b+32|0;c=N[b+24>>2];d=Q(c*c);c=N[b+16>>2];e=Q(c*c);c=N[b+20>>2];return Q(Q(N[b+12>>2]+Q(Y(Q(d+Q(e+Q(c*c)))))))}function us(a,b,c,d){var e=0,f=0,g=0,h=0,i=0,j=0;e=c>>>16|0;f=a>>>16|0;j=P(e,f);g=c&65535;h=a&65535;i=P(g,h);f=(i>>>16|0)+P(f,g)|0;e=(f&65535)+P(e,h)|0;ta=(P(b,c)+j|0)+P(a,d)+(f>>>16)+(e>>>16)|0;return i&65535|e<<16}function dm(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=J[a+84>>2];d=J[c+8>>2];if((d|0)>0){a=0;while(1){e=J[(J[c+16>>2]+P(a,12)|0)+8>>2];if(e){ua[J[J[e>>2]+16>>2]](e,b);d=J[c+8>>2]}a=a+1|0;if((d|0)>(a|0)){continue}break}}}function hn(a,b){a=a|0;b=b|0;var c=0,d=0;d=J[a+288>>2];c=d;a:{if((d|0)<=0){break a}a=J[a+296>>2];c=0;while(1){if(J[a+(c<<2)>>2]==(b|0)){break a}c=c+1|0;if((d|0)!=(c|0)){continue}break}c=d}return(c|0)>=(d|0)|0}function hc(a,b,c){var d=0;d=J[a+16>>2];if(!d){J[a+36>>2]=1;J[a+24>>2]=c;J[a+16>>2]=b;return}a:{if((b|0)==(d|0)){if(J[a+24>>2]!=2){break a}J[a+24>>2]=c;return}H[a+54|0]=1;J[a+24>>2]=2;J[a+36>>2]=J[a+36>>2]+1}}function Ro(a){a=a|0;var b=0,c=0;J[a>>2]=31472;if(K[a+136|0]){b=J[a+140>>2];if(!(H[33796]&1)){c=aa(1,31584)|0;H[33796]=1;J[8448]=c}$(J[8448],b|0,3211,0)}ba(J[a+140>>2]);if(a){J[8457]=J[8457]+1;ua[J[8259]](a)}}function Pg(a,b,c){a=a|0;b=b|0;c=c|0;a=0;a:{if(!(J[c+8>>2]&J[b+4>>2])|!(J[b+8>>2]&J[c+4>>2])){break a}b=J[b>>2];c=J[c>>2];if(H[b+204|0]&1&(H[c+204|0]&1)|J[b+220>>2]==2&J[c+220>>2]==2){break a}a=1}return a|0}function mc(a,b,c,d){J[a+44>>2]=0;J[a+36>>2]=0;J[a+40>>2]=1028443341;J[a+32>>2]=d;J[a+28>>2]=c;J[a+24>>2]=-1;I[a+20>>1]=1;J[a+16>>2]=2139095039;J[a+8>>2]=-1;J[a+12>>2]=-1;J[a+4>>2]=b;J[a>>2]=23876;return a}function Sa(a){J[a+12>>2]=0;J[a+16>>2]=0;J[a+4>>2]=35;J[a+8>>2]=0;J[a>>2]=19652;J[a+52>>2]=1025758986;J[a+20>>2]=1065353216;J[a+24>>2]=1065353216;J[a>>2]=19516;J[a+28>>2]=1065353216;J[a+32>>2]=0;return a}function zj(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=J[a+40>>2];ua[J[J[d>>2]+56>>2]](d,b,c)|0;J[b+4>>2]=22;N[b+60>>2]=N[a+24>>2];N[b- -64>>2]=N[a+28>>2];N[b+68>>2]=N[a+32>>2];N[b+72>>2]=N[a+36>>2];return 8885}function Lg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=J[b>>2];d=J[a+88>>2];if(!(!(J[b+8>>2]&J[a+8>>2])|(!(J[a+12>>2]&J[b+4>>2])|(c|0)==(d|0)))){a=J[J[a+92>>2]+24>>2];e=ua[J[J[a>>2]+28>>2]](a,d,c)|0}return e|0}function pq(a,b){a=a|0;b=b|0;var c=Q(0),d=Q(0);c=N[b+8>>2];d=N[b+4>>2];N[a+488>>2]=Q(N[b>>2]*N[a+604>>2])+N[a+488>>2];N[a+492>>2]=Q(d*N[a+608>>2])+N[a+492>>2];N[a+496>>2]=Q(c*N[a+612>>2])+N[a+496>>2]}function uj(a,b,c){a=a|0;b=Q(b);c=c|0;var d=Q(0),e=Q(0);d=Q(ua[J[J[a>>2]+48>>2]](a));e=Q(ua[J[J[a>>2]+48>>2]](a));J[c+12>>2]=0;b=Q(e*Q(d*Q(b*Q(.4000000059604645))));N[c+8>>2]=b;N[c+4>>2]=b;N[c>>2]=b}function bb(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=ua[J[J[c>>2]+40>>2]](c,a)|0;e=ua[J[J[c>>2]+28>>2]](c,d)|0;J[b>>2]=e;if(e){ua[J[J[c>>2]+48>>2]](c,d)}a=J[a+4>>2];J[b+8>>2]=0;J[b+4>>2]=a;return 8814}function Qb(a){a:{switch(J[a+4>>2]){case 8:return Q(N[a+36>>2]*N[a+20>>2]);case 0:case 1:case 4:case 5:case 10:case 11:case 13:return N[a+52>>2];default:break a}}return Q(ua[J[J[a>>2]+48>>2]](a))}function Mg(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0;a=J[c>>2];a=J[a+252>>2]==4?a:0;e=J[b>>2];if(!(!e|J[e+252>>2]!=4)){ua[J[J[e>>2]+32>>2]](e,c,d,b)}if(a){ua[J[J[a>>2]+32>>2]](a,b,d,c)}return 0}function rj(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;J[c+8>>2]=-581039253;J[c+12>>2]=0;J[c>>2]=-581039253;J[c+4>>2]=-581039253;J[d+8>>2]=1566444395;J[d+12>>2]=0;J[d>>2]=1566444395;J[d+4>>2]=1566444395}function oo(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=sa-16|0;sa=d;a=J[a+8>>2];if(!(H[33812]&1)){e=aa(3,31860)|0;H[33812]=1;J[8452]=e}e=J[8452];J[d+8>>2]=c;J[d>>2]=b;$(e|0,a|0,2251,d|0);sa=d+16|0}function Wg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=J[b>>2];d=J[a+84>>2];if(!(!(J[b+8>>2]&J[a+8>>2])|(!(J[a+12>>2]&J[b+4>>2])|(c|0)==(d|0)))){a=J[a+96>>2];e=ua[J[J[a>>2]+28>>2]](a,d,c)|0}return e|0}function hm(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=J[a+52>>2];if((c|0)>0){while(1){e=J[J[a+60>>2]+(d<<2)>>2];if(e){ua[J[J[e>>2]+16>>2]](e,b);c=J[a+52>>2]}d=d+1|0;if((c|0)>(d|0)){continue}break}}}function sd(a){var b=0,c=0;a=Wb(a);J[a+252>>2]=4;J[a>>2]=25104;J[a+336>>2]=0;H[a+340|0]=1;J[a+328>>2]=0;J[a+332>>2]=0;J[8456]=J[8456]+1;b=a,c=rf(ua[J[8258]](72,16)|0),J[b+344>>2]=c;return a}function Gd(a){if(!(K[a+204|0]&3)){N[a+472>>2]=Q(N[a+424>>2]*N[a+408>>2])+N[a+472>>2];N[a+476>>2]=Q(N[a+428>>2]*N[a+412>>2])+N[a+476>>2];N[a+480>>2]=Q(N[a+432>>2]*N[a+416>>2])+N[a+480>>2]}}function td(a){a=a|0;var b=0;J[a>>2]=25060;b=J[a+336>>2];if(!(b?!b|!K[a+340|0]:1)){J[8457]=J[8457]+1;ua[J[8259]](b)}J[a+336>>2]=0;H[a+340|0]=1;J[a+328>>2]=0;J[a+332>>2]=0;return fb(a)|0}function kd(a,b){var c=0,d=0;c=K[a|0];d=K[b|0];a:{if(!c|(c|0)!=(d|0)){break a}while(1){d=K[b+1|0];c=K[a+1|0];if(!c){break a}b=b+1|0;a=a+1|0;if((c|0)==(d|0)){continue}break}}return c-d|0}function Kh(a){a=a|0;var b=0;J[a>>2]=23996;b=J[a+556>>2];if(!(b?!b|!K[a+560|0]:1)){J[8457]=J[8457]+1;ua[J[8259]](b)}J[a+556>>2]=0;H[a+560|0]=1;J[a+548>>2]=0;J[a+552>>2]=0;return fb(a)|0}function cs(a,b){a=a|0;b=b|0;var c=0,d=0;c=J[a+100>>2];J[a+100>>2]=c+1;d=J[b+12>>2];c=(c<<4)+a|0;J[c+112>>2]=J[b+8>>2];J[c+116>>2]=d;d=J[b+4>>2];J[c+104>>2]=J[b>>2];J[c+108>>2]=d;Ac(a)}function wg(a){a=a|0;var b=0;J[a>>2]=25216;b=J[a+124>>2];if(!(b?!b|!K[a+128|0]:1)){J[8457]=J[8457]+1;ua[J[8259]](b)}J[a+124>>2]=0;H[a+128|0]=1;J[a+116>>2]=0;J[a+120>>2]=0;return a|0}function fb(a){a=a|0;var b=0;J[a>>2]=13004;b=J[a+296>>2];if(!(b?!b|!K[a+300|0]:1)){J[8457]=J[8457]+1;ua[J[8259]](b)}J[a+296>>2]=0;H[a+300|0]=1;J[a+288>>2]=0;J[a+292>>2]=0;return a|0}function Og(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;a=J[c>>2];a=J[a+252>>2]==4?a:0;d=J[b>>2];if(!(!d|J[d+252>>2]!=4)){ua[J[J[d>>2]+28>>2]](d,c,b)}if(a){ua[J[J[a>>2]+28>>2]](a,b,c)}return 0}function So(a){a=a|0;var b=0,c=0;J[a>>2]=31472;if(K[a+136|0]){b=J[a+140>>2];if(!(H[33796]&1)){c=aa(1,31584)|0;H[33796]=1;J[8448]=c}$(J[8448],b|0,3211,0)}ba(J[a+140>>2]);return a|0}function ko(a,b){a=a|0;b=b|0;var c=0,d=0;c=sa-16|0;sa=c;a=J[a+76>>2];if(!(H[33820]&1)){d=aa(2,32076)|0;H[33820]=1;J[8454]=d}d=J[8454];J[c+8>>2]=b;$(d|0,a|0,4677,c+8|0);sa=c+16|0}function as(){var a=0;a=sa-32|0;sa=a;if(!K[33780]){J[a+24>>2]=0;J[a+28>>2]=1;J[a+16>>2]=4096;J[a+20>>2]=4096;J[a+8>>2]=0;J[a+12>>2]=0;Lc(a+8|0);H[33780]=1}sa=a+32|0;return 33692}function io(a){a=a|0;var b=0,c=0;J[a>>2]=32056;if(K[a+72|0]){b=J[a+76>>2];if(!(H[33796]&1)){c=aa(1,31584)|0;H[33796]=1;J[8448]=c}$(J[8448],b|0,3211,0)}ba(J[a+76>>2]);return a|0}function id(a,b){var c=0;a:{if(!b){break a}b=Ta(b,30180);if(!b|J[b+8>>2]&(J[a+8>>2]^-1)){break a}if(!Ka(J[a+12>>2],J[b+12>>2],0)){break a}c=Ka(J[a+16>>2],J[b+16>>2],0)}return c}function Fb(a){var b=Q(0);b=Qa(Q(N[a>>2]+N[a+4>>2]));if(bQ(3.1415927410125732)?Q(b+Q(-6.2831854820251465)):b}function Eb(a){var b=Q(0);b=Qa(Q(N[a>>2]-N[a+4>>2]));if(bQ(3.1415927410125732)?Q(b+Q(-6.2831854820251465)):b}function zc(a){a=a|0;var b=0;J[a>>2]=21928;b=J[a+32>>2];if(!(b?!b|!K[a+36|0]:1)){J[8457]=J[8457]+1;ua[J[8259]](b)}J[a+32>>2]=0;H[a+36|0]=1;J[a+24>>2]=0;J[a+28>>2]=0;return a|0}function of(a){a=a|0;var b=0;J[a>>2]=12836;b=J[a+20>>2];if(!(b?!b|!K[a+24|0]:1)){J[8457]=J[8457]+1;ua[J[8259]](b)}J[a+20>>2]=0;H[a+24|0]=1;J[a+12>>2]=0;J[a+16>>2]=0;return a|0}function Vq(a,b,c,d){a=a|0;b=Q(b);c=Q(c);d=Q(d);var e=0;e=sa-128|0;sa=e;ua[J[J[a>>2]+8>>2]](e,a);N[e+120>>2]=d;N[e+116>>2]=c;N[e+112>>2]=b;ua[J[J[a>>2]+12>>2]](a,e);sa=e+128|0}function Wq(a,b,c,d){a=a|0;b=Q(b);c=Q(c);d=Q(d);var e=0;e=sa-128|0;sa=e;ua[J[J[a>>2]+8>>2]](e,a);N[e+104>>2]=d;N[e+100>>2]=c;N[e+96>>2]=b;ua[J[J[a>>2]+12>>2]](a,e);sa=e+128|0}function qo(a){a=a|0;var b=0,c=0;J[a>>2]=31840;if(K[a+4|0]){b=J[a+8>>2];if(!(H[33796]&1)){c=aa(1,31584)|0;H[33796]=1;J[8448]=c}$(J[8448],b|0,3211,0)}ba(J[a+8>>2]);return a|0}function gb(a){var b=0,c=0;b=J[8268];c=a+7&-8;a=b+c|0;a:{if(a>>>0<=b>>>0?c:0){break a}if(a>>>0>va()<<16>>>0){if(!(na(a|0)|0)){break a}}J[8268]=a;return b}J[8951]=48;return-1}function ql(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0;if(b>>>0<=11){b=b<<2;e=J[b+18404>>2];b=J[b+18356>>2]}else{b=0}ua[J[J[a>>2]+108>>2]](a,b,c);ua[J[J[a>>2]+108>>2]](a,e,d)}function _q(a,b,c,d){a=a|0;b=Q(b);c=Q(c);d=Q(d);var e=0;e=sa-128|0;sa=e;ua[J[J[a>>2]+8>>2]](e,a);N[e+40>>2]=d;N[e+36>>2]=c;N[e+32>>2]=b;ua[J[J[a>>2]+12>>2]](a,e);sa=e+128|0}function Zq(a,b,c,d){a=a|0;b=Q(b);c=Q(c);d=Q(d);var e=0;e=sa-128|0;sa=e;ua[J[J[a>>2]+8>>2]](e,a);N[e+56>>2]=d;N[e+52>>2]=c;N[e+48>>2]=b;ua[J[J[a>>2]+12>>2]](a,e);sa=e+128|0}function Yq(a,b,c,d){a=a|0;b=Q(b);c=Q(c);d=Q(d);var e=0;e=sa-128|0;sa=e;ua[J[J[a>>2]+8>>2]](e,a);N[e+72>>2]=d;N[e+68>>2]=c;N[e+64>>2]=b;ua[J[J[a>>2]+12>>2]](a,e);sa=e+128|0}function Xq(a,b,c,d){a=a|0;b=Q(b);c=Q(c);d=Q(d);var e=0;e=sa-128|0;sa=e;ua[J[J[a>>2]+8>>2]](e,a);N[e+88>>2]=d;N[e+84>>2]=c;N[e+80>>2]=b;ua[J[J[a>>2]+12>>2]](a,e);sa=e+128|0}function $q(a,b,c,d){a=a|0;b=Q(b);c=Q(c);d=Q(d);var e=0;e=sa-128|0;sa=e;ua[J[J[a>>2]+8>>2]](e,a);N[e+24>>2]=d;N[e+20>>2]=c;N[e+16>>2]=b;ua[J[J[a>>2]+12>>2]](a,e);sa=e+128|0}function no(a){a=a|0;var b=0,c=0;J[a>>2]=32056;if(K[a+72|0]){b=J[a+76>>2];if(!(H[33796]&1)){c=aa(1,31584)|0;H[33796]=1;J[8448]=c}$(J[8448],b|0,3211,0)}ba(J[a+76>>2]);Ga(a)}function iq(a){a=a|0;var b=0,c=Q(0),d=0;b=J[a+220>>2];a:{if(K[35721]|(b|0)==4){break a}c=N[8267];if(c==Q(0)){break a}d=1;if((b&-2)==2){break a}d=N[a+224>>2]>c}return d|0}function po(a){a=a|0;var b=0,c=0;J[a>>2]=31840;if(K[a+4|0]){b=J[a+8>>2];if(!(H[33796]&1)){c=aa(1,31584)|0;H[33796]=1;J[8448]=c}$(J[8448],b|0,3211,0)}ba(J[a+8>>2]);Ga(a)}function Un(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;if((b|0)!=(c|0)){d=J[J[a+4>>2]+96>>2];ua[J[J[d>>2]+8>>2]](d,J[b+36>>2],J[c+36>>2])|0;a=J[a+4>>2];J[a+120>>2]=J[a+120>>2]+1}}function ar(a,b,c,d){a=a|0;b=Q(b);c=Q(c);d=Q(d);var e=0;e=sa-128|0;sa=e;ua[J[J[a>>2]+8>>2]](e,a);N[e+8>>2]=d;N[e+4>>2]=c;N[e>>2]=b;ua[J[J[a>>2]+12>>2]](a,e);sa=e+128|0}function rn(a,b){a=a|0;b=b|0;var c=0;a=J[a+68>>2];c=J[a+12>>2];if(c){J[a+12>>2]=J[c>>2];J[a+8>>2]=J[a+8>>2]-1;return c|0}J[8456]=J[8456]+1;return ua[J[8258]](b,16)|0}function cc(a,b){var c=0;if(J[b+40>>2]){cc(a,J[b+36>>2]);cc(a,J[b+40>>2])}if(J[a>>2]==(b|0)){J[a>>2]=0}c=J[a+4>>2];if(c){J[8457]=J[8457]+1;ua[J[8259]](c)}J[a+4>>2]=b}function jd(a,b,c,d){var e=0,f=0;e=J[a+4>>2];f=J[a>>2];a=0;a:{if(!c){break a}a=e>>8;if(!(e&1)){break a}a=J[a+J[c>>2]>>2]}ua[J[J[f>>2]+28>>2]](f,b,a+c|0,e&2?d:2)}function vq(a,b){a=a|0;b=b|0;var c=0;J[a+304>>2]=J[a+304>>2]+1;c=J[b+4>>2];J[a+604>>2]=J[b>>2];J[a+608>>2]=c;c=J[b+12>>2];J[a+612>>2]=J[b+8>>2];J[a+616>>2]=c}function sq(a,b){a=a|0;b=b|0;var c=0;J[a+304>>2]=J[a+304>>2]+1;c=J[b+4>>2];J[a+372>>2]=J[b>>2];J[a+376>>2]=c;c=J[b+12>>2];J[a+380>>2]=J[b+8>>2];J[a+384>>2]=c}function rq(a,b){a=a|0;b=b|0;var c=0;J[a+304>>2]=J[a+304>>2]+1;c=J[b+4>>2];J[a+388>>2]=J[b>>2];J[a+392>>2]=c;c=J[b+12>>2];J[a+396>>2]=J[b+8>>2];J[a+400>>2]=c}function gr(a,b,c){a=a|0;b=b|0;c=Q(c);a:{if((b|0)<=2){a=a+680|0;N[(a+(b<<2)|0)+140>>2]=c;H[(a+b|0)+156|0]=1;break a}a=P(b,88)+a|0;H[a+760|0]=1;N[a+756>>2]=c}}function fr(a,b,c){a=a|0;b=b|0;c=Q(c);a:{if((b|0)<=2){a=a+680|0;N[(a+(b<<2)|0)+160>>2]=c;H[(a+b|0)+176|0]=1;break a}a=P(b,88)+a|0;H[a+768|0]=1;N[a+764>>2]=c}}function Lf(a,b){a=a|0;b=b|0;var c=0;if(!(J[a+12>>2]&J[b+4>>2])){return 0}c=1;a:{if(K[a+152|0]){break a}a=J[b>>2];if(!a){break a}c=!(K[a+204|0]&4)}return c|0}function ve(a){a=a|0;var b=0;J[a>>2]=18524;if(K[a+69|0]){b=J[a+60>>2];ua[J[J[b>>2]>>2]](b)|0;b=J[a+60>>2];if(b){J[8457]=J[8457]+1;ua[J[8259]](b)}}return a|0}function Mf(a,b){a=a|0;b=b|0;var c=0;if(!(J[a+12>>2]&J[b+4>>2])){return 0}c=1;a:{if(K[a+88|0]){break a}a=J[b>>2];if(!a){break a}c=!(K[a+204|0]&4)}return c|0}function ch(a,b){a=a|0;b=b|0;var c=0;if(K[a+289|0]){c=J[a+216>>2];if(c){J[8457]=J[8457]+1;ua[J[8259]](c)}}J[a+216>>2]=b;H[a+289|0]=0;J[J[a+212>>2]+8>>2]=b}function Va(a){var b=0,c=0;b=a*a;c=b*a;return Q(c*(b*b)*(b*2718311493989822e-21+-.00019839334836096632)+(c*(b*.008333329385889463+-.16666666641626524)+a))}function Qh(a){a=a|0;J[8761]=23996;a=J[8900];if(!(a?!a|!K[35604]:1)){J[8457]=J[8457]+1;ua[J[8259]](a)}H[35604]=1;J[8898]=0;J[8899]=0;J[8900]=0;fb(35044)}function ak(a){a=a|0;var b=Q(0),c=Q(0);b=N[a+36>>2];c=Q(ua[J[J[a>>2]+48>>2]](a));Q(ua[J[J[a>>2]+48>>2]](a));Q(ua[J[J[a>>2]+48>>2]](a));return Q(Q(b+c))}function On(a,b,c){a=a|0;b=b|0;c=c|0;a:{if(!c){break a}a=J[b+8>>2];if(!a){break a}ua[J[J[a>>2]>>2]](a)|0;ua[J[J[c>>2]+60>>2]](c,J[b+8>>2]);J[b+8>>2]=0}}function Io(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=Q(f);ua[J[J[a>>2]+16>>2]](a,b,c,e);ua[J[J[a>>2]+16>>2]](a,c,d,e);ua[J[J[a>>2]+16>>2]](a,d,b,e)}function sn(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0;e=sa-16|0;sa=e;J[e+12>>2]=a;J[e+8>>2]=c;J[e+4>>2]=12944;ua[J[J[b>>2]+48>>2]](b,e+4|0,d);sa=e+16|0}function lk(a,b){a=a|0;b=b|0;var c=0,d=0;d=J[b+4>>2];c=J[a+100>>2];J[c+4>>2]=J[b>>2];J[c+8>>2]=d;d=J[b+12>>2];J[c+12>>2]=J[b+8>>2];J[c+16>>2]=d;Ac(a)}function Rc(a){a=a|0;var b=0;J[a>>2]=15724;b=J[a+48>>2];ua[J[J[b>>2]+20>>2]](b,J[a+64>>2]);b=J[a+48>>2];ua[J[J[b>>2]+16>>2]](b,J[a+64>>2]);return a|0}function tb(a,b){a=a|0;b=b|0;var c=Q(0),d=Q(0),e=Q(0);c=N[b>>2];d=N[b+4>>2];e=N[b+8>>2];J[a+32>>2]=0;N[a+28>>2]=R(e);N[a+24>>2]=R(d);N[a+20>>2]=R(c)}function sb(a){a=a|0;var b=0;J[a>>2]=20860;b=J[a+60>>2];if(b){ua[J[J[b>>2]>>2]](b)|0;b=J[a+60>>2];if(b){J[8457]=J[8457]+1;ua[J[8259]](b)}}return a|0}function Oe(a){a=a|0;var b=0,c=0;J[a>>2]=16604;a:{if(!K[a+8|0]){break a}b=J[a+12>>2];if(!b){break a}c=J[a+4>>2];ua[J[J[c>>2]+16>>2]](c,b)}return a|0}function Ne(a){a=a|0;var b=0,c=0;J[a>>2]=16676;a:{if(!K[a+8|0]){break a}b=J[a+12>>2];if(!b){break a}c=J[a+4>>2];ua[J[J[c>>2]+16>>2]](c,b)}return a|0}function Mn(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=sa-16|0;sa=d;J[d+12>>2]=c;J[d+8>>2]=a;J[d+4>>2]=b;J[d>>2]=12476;ua[J[J[a>>2]+48>>2]](a,d,c);sa=d+16|0}function Ke(a){a=a|0;var b=0,c=0;J[a>>2]=17912;a:{if(!K[a+8|0]){break a}b=J[a+12>>2];if(!b){break a}c=J[a+4>>2];ua[J[J[c>>2]+16>>2]](c,b)}return a|0}function Je(a){a=a|0;var b=0,c=0;J[a>>2]=17988;a:{if(!K[a+8|0]){break a}b=J[a+12>>2];if(!b){break a}c=J[a+4>>2];ua[J[J[c>>2]+16>>2]](c,b)}return a|0}function pm(a,b,c){a=a|0;b=b|0;c=c|0;a=(b<<4)+a|0;b=J[a+76>>2];J[c+8>>2]=J[a+72>>2];J[c+12>>2]=b;a=a- -64|0;b=J[a+4>>2];J[c>>2]=J[a>>2];J[c+4>>2]=b}function dg(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;if(Ka(a,J[b+8>>2],f)){gc(b,c,d,e);return}a=J[a+8>>2];ua[J[J[a>>2]+20>>2]](a,b,c,d,e,f)}function te(a,b,c){a=Sa(a);N[a+52>>2]=b;J[a>>2]=19116;J[a+60>>2]=1;J[a+4>>2]=10;N[a+36>>2]=b;J[a+48>>2]=0;N[a+44>>2]=b;N[a+40>>2]=c*Q(.5);return a}function ld(a){var b=0,c=0;c=a>>>23&255;b=0;a:{if(c>>>0<127){break a}b=2;if(c>>>0>150){break a}c=1<<150-c;b=0;if(c-1&a){break a}b=a&c?1:2}return b}function Tq(a,b,c){a=Q(a);b=Q(b);c=Q(c);var d=0;J[8456]=J[8456]+1;d=ua[J[8258]](16,16)|0;J[d+12>>2]=0;N[d+8>>2]=c;N[d+4>>2]=b;N[d>>2]=a;return d|0}function Dn(a,b){a=a|0;b=b|0;var c=0;c=J[a+4>>2];if(!((c|0)!=J[b>>2]&(c|0)!=J[b+4>>2])){c=J[a+8>>2];ua[J[J[c>>2]+32>>2]](c,b,J[a+12>>2])}return 0}function fj(a,b,c){a=a|0;b=b|0;c=c|0;a=(b<<4)+a|0;b=J[a+116>>2];J[c+8>>2]=J[a+112>>2];J[c+12>>2]=b;b=J[a+108>>2];J[c>>2]=J[a+104>>2];J[c+4>>2]=b}function un(a,b,c){a=a|0;b=b|0;c=c|0;a=0;b=J[b+204>>2];a:{if(b&4){break a}c=J[c+204>>2];if(c&4){break a}if(!(b&3)){return 1}a=!(c&3)}return a|0}function es(){if(!K[33688]){J[8415]=0;J[8416]=0;J[8413]=35;J[8414]=0;J[8417]=0;J[8412]=20152;J[8413]=27;J[8412]=20260;H[33688]=1}return 33648}function Wa(a){var b=0;a=a*a;b=a*a;return Q(a*b*(a*2439044879627741e-20+-.001388676377460993)+(b*.04166662332373906+(a*-.499999997251031+1)))}function Ol(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;a=J[b>>2];a=ua[J[J[a>>2]+56>>2]](a,8)|0;J[a>>2]=14940;J[a+4>>2]=J[b>>2];J[a>>2]=17728;return a|0}function sl(a,b,c){a=a|0;b=b|0;c=c|0;if(b>>>0<=5){J[c+12>>2]=0;a=b<<2;N[c+8>>2]=N[a+18332>>2];N[c+4>>2]=N[a+18308>>2];N[c>>2]=N[a+18284>>2]}}function Qd(a,b){var c=0,d=0;d=Rd(a);c=J[a+288>>2];J[b+8>>2]=J[a+284>>2];J[b+12>>2]=c;c=J[a+280>>2];J[b>>2]=J[a+276>>2];J[b+4>>2]=c;return d}function js(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0;f=J[a+32>>2];J[f>>2]=J[f>>2]+1;yc(a,xc(a,b,e));yc(a,xc(a,c,e));yc(a,xc(a,d,e))}function dj(a,b,c,d,e){a=a|0;b=Q(b);c=Q(c);d=Q(d);e=Q(e);N[a+232>>2]=b;N[a+236>>2]=d;N[a+228>>2]=c;N[a+240>>2]=e;J[a+304>>2]=J[a+304>>2]+4}function Kp(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0;f=J[a>>2];a=J[a+4>>2];b=(a>>1)+b|0;if(a&1){f=J[f+J[b>>2]>>2]}ua[f|0](b,c,d,e)}function dn(a){a=a|0;var b=0,c=0;b=sa-16|0;sa=b;ua[J[8262]](4017);c=J[a+68>>2];ua[J[J[c>>2]+32>>2]](c,J[a+24>>2]);ua[J[8263]]();sa=b+16|0}function Hq(){if(!K[33484]){J[8351]=-1;J[8352]=0;J[8349]=1065353216;J[8350]=-1;H[33480]=1;J[8369]=0;J[8348]=30912;H[33484]=1}return 33392}function fm(){if(!K[33228]){J[8285]=1065353216;J[8286]=0;H[33224]=1;J[8305]=0;J[8284]=30760;J[8287]=-1;J[8288]=0;H[33228]=1}return 33136}function fc(a,b,c,d,e,f){var g=0,h=0;g=J[a+4>>2];h=g>>8;a=J[a>>2];if(g&1){h=J[J[d>>2]+h>>2]}ua[J[J[a>>2]+20>>2]](a,b,c,d+h|0,g&2?e:2,f)}function To(a,b,c,d,e,f,g,h,i,j){a=a|0;b=Q(b);c=Q(c);d=Q(d);e=e|0;f=f|0;g=g|0;h=Q(h);i=Q(i);j=Q(j);return ua[a|0](b,c,d,e,f,g,h,i,j)|0}function jq(a){a=a|0;J[a+472>>2]=0;J[a+476>>2]=0;J[a+496>>2]=0;J[a+500>>2]=0;J[a+488>>2]=0;J[a+492>>2]=0;J[a+480>>2]=0;J[a+484>>2]=0}function yb(a,b,c,d,e){var f=0,g=0;f=J[a+4>>2];g=f>>8;a=J[a>>2];if(f&1){g=J[J[c>>2]+g>>2]}ua[J[J[a>>2]+24>>2]](a,b,c+g|0,f&2?d:2,e)}function uh(a,b){a=a|0;b=b|0;var c=0;c=J[b+268>>2];J[a>>2]=J[b+264>>2];J[a+4>>2]=c;c=J[b+276>>2];J[a+8>>2]=J[b+272>>2];J[a+12>>2]=c}function tr(a,b){a=a|0;b=b|0;var c=0;c=J[b+4>>2];J[a+300>>2]=J[b>>2];J[a+304>>2]=c;c=J[b+12>>2];J[a+308>>2]=J[b+8>>2];J[a+312>>2]=c}function sr(a,b){a=a|0;b=b|0;var c=0;c=J[b+4>>2];J[a+316>>2]=J[b>>2];J[a+320>>2]=c;c=J[b+12>>2];J[a+324>>2]=J[b+8>>2];J[a+328>>2]=c}function fs(a){a=a|0;var b=0;J[8456]=J[8456]+1;b=ce(ua[J[8258]](104,16)|0);J[b+100>>2]=a;J[b>>2]=19780;J[b+4>>2]=3;Ac(b);return b|0}function Uj(a,b){a=a|0;b=b|0;var c=0;c=J[b+4>>2];J[a+116>>2]=J[b>>2];J[a+120>>2]=c;c=J[b+12>>2];J[a+124>>2]=J[b+8>>2];J[a+128>>2]=c}function Ln(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=sa-16|0;sa=d;J[d+12>>2]=b;J[d+8>>2]=12648;ua[J[J[a>>2]+48>>2]](a,d+8|0,c);sa=d+16|0}function La(a){var b=0;a=a>>>0<=1?1:a;a:{while(1){b=zb(a);if(b){break a}b=J[9076];if(b){ua[b|0]();continue}break}ga();D()}return b}function ss(a){a=a|0;if(H[33135]<0){Ga(J[8281])}if(H[33123]<0){Ga(J[8278])}if(H[33111]<0){Ga(J[8275])}if(H[33099]<0){Ga(J[8272])}}function Bg(a){a=a|0;if(H[35791]<0){Ga(J[8945])}if(H[35779]<0){Ga(J[8942])}if(H[35767]<0){Ga(J[8939])}if(H[35755]<0){Ga(J[8936])}}function Fp(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0;e=J[a>>2];a=J[a+4>>2];b=(a>>1)+b|0;if(a&1){e=J[e+J[b>>2]>>2]}ua[e|0](b,c,d)}function nj(a,b){a=a|0;b=b|0;var c=0;c=J[b+4>>2];J[a+76>>2]=J[b>>2];J[a+80>>2]=c;c=J[b+12>>2];J[a+84>>2]=J[b+8>>2];J[a+88>>2]=c}function ne(a,b){a=a|0;b=b|0;var c=0;c=J[b+4>>2];J[a+24>>2]=J[b>>2];J[a+28>>2]=c;c=J[b+12>>2];J[a+32>>2]=J[b+8>>2];J[a+36>>2]=c}function lg(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;if(Ka(a,J[b+8>>2],0)){hc(b,c,d);return}a=J[a+8>>2];ua[J[J[a>>2]+28>>2]](a,b,c,d)}function Gq(){var a=0;a=La(16);J[a+8>>2]=1036831949;J[a+12>>2]=1036831949;J[a>>2]=1036831949;J[a+4>>2]=1058642330;return a|0}function Uo(a,b,c,d,e,f,g,h,i){a=a|0;b=Q(b);c=Q(c);d=Q(d);e=e|0;f=f|0;g=g|0;h=Q(h);i=Q(i);return ua[a|0](b,c,d,e,f,g,h,i)|0}function Rq(a,b,c,d){a=Q(a);b=Q(b);c=Q(c);d=Q(d);var e=0;e=La(16);N[e+12>>2]=d;N[e+8>>2]=c;N[e+4>>2]=b;N[e>>2]=a;return e|0}function qd(a){a=a|0;var b=0;J[a>>2]=25216;b=J[a+124>>2];if(!(b?!b|!K[a+128|0]:1)){J[8457]=J[8457]+1;ua[J[8259]](b)}Ga(a)}function bd(a,b){a=a|0;b=b|0;var c=0;c=sa-16|0;sa=c;J[c+12>>2]=b;a=ua[a|0](c+12|0)|0;ba(J[c+12>>2]);sa=c+16|0;return a|0}function vo(a){a=a|0;var b=0;a=J[a+140>>2];if(!(H[33796]&1)){b=aa(1,31584)|0;H[33796]=1;J[8448]=b}$(J[8448],a|0,4404,0)}function to(a){a=a|0;var b=0;a=J[a+140>>2];if(!(H[33796]&1)){b=aa(1,31584)|0;H[33796]=1;J[8448]=b}$(J[8448],a|0,4415,0)}function _b(a,b){var c=0;bc(a,b);c=J[a+4>>2];if(c){J[8457]=J[8457]+1;ua[J[8259]](c)}J[a+4>>2]=b;J[a+12>>2]=J[a+12>>2]-1}function Jo(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=Q(i);ua[J[J[a>>2]+36>>2]](a,b,c,d,h,i)}function ds(){var a=0;J[8456]=J[8456]+1;a=ce(ua[J[8258]](168,16)|0);J[a+100>>2]=0;J[a>>2]=21636;J[a+4>>2]=2;return a|0}function Bp(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=J[a>>2];a=J[a+4>>2];b=(a>>1)+b|0;if(a&1){d=J[d+J[b>>2]>>2]}ua[d|0](b,c)}function gm(a,b){a=a|0;b=b|0;var c=0,d=0;c=a;d=J[J[J[a+4>>2]+4>>2]+32>>2];a=J[b+36>>2];Re(c,J[(d+P(a,80)|0)+64>>2],a)}function zp(a){a=a|0;var b=0;b=La(80);H[b+72|0]=0;J[b+4>>2]=-1;J[b+76>>2]=J[a>>2];J[a>>2]=0;J[b>>2]=32028;return b|0}function pr(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;J[8456]=J[8456]+1;return Ld(ua[J[8258]](1460,16)|0,a,b,c,d,e)|0}function Aq(a,b,c){a=a|0;b=Q(b);c=Q(c);N[a+508>>2]=cQ(1)?Q(1):c;N[a+504>>2]=bQ(1)?Q(1):b}function qm(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;ua[J[J[a>>2]+108>>2]](a,b,c);ua[J[J[a>>2]+108>>2]](a,(b+1|0)%3|0,d)}function yp(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=a,e=ha((H[b+11|0]<0?J[b>>2]:b)|0,31960,J[c>>2])|0,J[d>>2]=e}function se(a,b){a=a|0;b=b|0;J[a>>2]=0;J[a+4>>2]=0;J[a+8>>2]=0;J[a+12>>2]=0;J[a+(J[b+60>>2]<<2)>>2]=1065353216}function go(a,b){a=a|0;b=b|0;var c=0;a=ua[J[8260]]((a+b|0)+3|0)|0;if(a){c=(a+b|0)+3&0-b;J[c-4>>2]=a}return c|0}function Ka(a,b,c){if(!c){return J[a+4>>2]==J[b+4>>2]}if((a|0)==(b|0)){return 1}return!kd(J[a+4>>2],J[b+4>>2])}function Hp(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=a,e=ha((H[b+11|0]<0?J[b>>2]:b)|0,31276,J[c>>2])|0,J[d>>2]=e}function Cp(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=a,e=ha((H[b+11|0]<0?J[b>>2]:b)|0,31744,J[c>>2])|0,J[d>>2]=e}function Lp(a,b){a=a|0;b=b|0;var c=0;c=J[a>>2];a=J[a+4>>2];b=(a>>1)+b|0;if(a&1){c=J[c+J[b>>2]>>2]}ua[c|0](b)}function mr(a,b,c){a=a|0;b=b|0;c=c|0;a:{if((b|0)<=2){H[(a+b|0)+792|0]=c;break a}H[(P(b,88)+a|0)+732|0]=c}}function jr(a,b,c){a=a|0;b=b|0;c=c|0;a:{if((b|0)<=2){H[(a+b|0)+795|0]=c;break a}H[(P(b,88)+a|0)+744|0]=c}}function hr(a,b,c){a=a|0;b=b|0;c=c|0;a:{if((b|0)<=2){H[(a+b|0)+798|0]=c;break a}H[(P(b,88)+a|0)+752|0]=c}}function Ul(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;a=J[b>>2];return _e(ua[J[J[a>>2]+56>>2]](a,80)|0,b,c,d,0)|0}function Sl(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;a=J[b>>2];return _e(ua[J[J[a>>2]+56>>2]](a,80)|0,b,c,d,1)|0}function Rl(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;a=J[b>>2];return Pc(ua[J[J[a>>2]+56>>2]](a,84)|0,b,c,d,0)|0}function Pl(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;a=J[b>>2];return Pc(ua[J[J[a>>2]+56>>2]](a,84)|0,b,c,d,1)|0}function Nf(a,b,c,d,e){a=a|0;b=Q(b);c=Q(c);d=Q(d);e=Q(e);N[a+12>>2]=e;N[a+8>>2]=d;N[a+4>>2]=c;N[a>>2]=b}function Qp(a,b){a=a|0;b=b|0;J[a+8>>2]=1065353216;J[a+12>>2]=0;J[a>>2]=1065353216;J[a+4>>2]=1065353216}function bp(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=Q(e);f=Q(f);g=Q(g);return ua[a|0](b,c,d,e,f,g)|0}function Dp(a){a=a|0;var b=0;b=La(12);H[b+4|0]=0;J[b+8>>2]=J[a>>2];J[a>>2]=0;J[b>>2]=31812;return b|0}function Yp(a,b){a=a|0;b=b|0;if(!(J[a+12>>2]&J[b+4>>2])){return 0}return(J[b+8>>2]&J[a+8>>2])!=0|0}function sh(a,b){a=a|0;b=b|0;if(!(!b|!(J[b+252>>2]&2))){ua[J[J[a>>2]+92>>2]](a,b);return}Vc(a,b)}function tg(){var a=0;a=J[8948];if(a){while(1){ua[J[a>>2]]();a=J[a+4>>2];if(a){continue}break}}}function cg(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;if(Ka(a,J[b+8>>2],f)){gc(b,c,d,e)}}function lr(a,b,c){a=a|0;b=b|0;c=Q(c);N[((b|0)<3?((b<<2)+a|0)+892|0:(P(b,88)+a|0)+740|0)>>2]=c}function lp(a,b,c,d,e,f,g){a=a|0;b=b|0;c=Q(c);d=Q(d);e=Q(e);f=Q(f);g=Q(g);ua[a|0](b,c,d,e,f,g)}function kr(a,b,c){a=a|0;b=b|0;c=Q(c);N[((b|0)<3?((b<<2)+a|0)+876|0:(P(b,88)+a|0)+736|0)>>2]=c}function dr(a,b,c){a=a|0;b=b|0;c=Q(c);N[((b|0)<3?((b<<2)+a|0)+860|0:(P(b,88)+a|0)+772|0)>>2]=c}function dq(a,b){a=a|0;b=b|0;a=J[a+12>>2];if(!(a&J[b+4>>2])){return 0}return(a&J[b+8>>2])!=0|0}function Sq(a,b,c,d){a=a|0;b=Q(b);c=Q(c);d=Q(d);J[a+12>>2]=0;N[a+8>>2]=d;N[a+4>>2]=c;N[a>>2]=b}function hj(a){a=a|0;a=J[a+100>>2]-2|0;if(a>>>0<=2){a=J[(a<<2)+21796>>2]}else{a=0}return a|0}function mn(a,b){a=a|0;b=b|0;var c=0;c=b;b=J[a+8>>2];ua[J[b+64>>2]](c,b,J[a+4>>2]);return 0}function Xo(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=Q(g);ua[a|0](b,c,d,e,f,g)}function Xc(a,b){if(K[a+204|0]&3?b:1){if((J[a+220>>2]&-2)!=4){J[a+220>>2]=1}J[a+224>>2]=0}}function jp(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 ua[a|0](b,c,d,e,f)|0}function sg(a,b){a=Q(a);b=Q(b);J[8456]=J[8456]+1;return te(ua[J[8258]](64,16)|0,a,b)|0}function uk(a,b){a=a|0;b=b|0;J[a+8>>2]=0;J[a+12>>2]=0;J[a>>2]=0;J[a+4>>2]=1065353216}function Tb(a,b,c){a=a|0;b=Q(b);c=c|0;J[c>>2]=0;J[c+4>>2]=0;J[c+8>>2]=0;J[c+12>>2]=0}function $m(a,b){a=a|0;b=b|0;ua[J[J[b>>2]+32>>2]](b);ff(a,b);ua[J[J[b>>2]+36>>2]](b)}function xj(a,b,c){a=a|0;b=b|0;c=c|0;J[a>>2]=0;J[a+4>>2]=0;J[a+8>>2]=0;J[a+12>>2]=0}function qp(a,b,c,d,e,f){a=a|0;b=b|0;c=Q(c);d=Q(d);e=Q(e);f=Q(f);ua[a|0](b,c,d,e,f)}function rp(a,b,c,d,e){a=a|0;b=Q(b);c=Q(c);d=Q(d);e=Q(e);return ua[a|0](b,c,d,e)|0}function jn(a,b){a=a|0;b=b|0;J[a+200>>2]=b;J[a+192>>2]=b;J[a+304>>2]=J[a+304>>2]+1}function er(a,b,c){a=a|0;b=b|0;c=Q(c);N[((b|0)<3?(b<<2)+a|0:P(b,88)+a|0)+712>>2]=c}function ap(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=Q(d);e=Q(e);f=Q(f);ua[a|0](b,c,d,e,f)}function Mo(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;ua[J[J[a>>2]+16>>2]](a,b,c,d)}function Mm(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;a=a-4|0;ua[J[J[a>>2]+8>>2]](a,b,c,d)}function $o(a,b,c,d,e){a=a|0;b=b|0;c=Q(c);d=Q(d);e=Q(e);return ua[a|0](b,c,d,e)|0}function Vo(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=Q(d);e=Q(e);return ua[a|0](b,c,d,e)|0}function Cf(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;ua[a|0](b,c,d,e,f)}function mp(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return ua[a|0](b,c,d,e)|0}function Hr(a,b,c,d){a=a|0;b=Q(b);c=c|0;d=Q(d);ua[J[J[a>>2]+52>>2]](a,b,c,d)|0}function Cn(a,b){a=a|0;b=b|0;a=J[a+4>>2];return(a|0)==J[b>>2]|(a|0)==J[b+4>>2]}function mg(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;if(Ka(a,J[b+8>>2],0)){hc(b,c,d)}}function Rr(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=Q(f);vb(a,b,c,d,e,f)}function sf(a,b){a=a|0;b=b|0;a=J[a+4>>2];ua[J[J[a>>2]+8>>2]](a,J[b+36>>2])|0}function Ag(a,b,c){a=a|0;b=b|0;c=Q(c);if(K[a+62|0]){$a(a);$a(a);$a(a);$a(a)}}function vs(a){var b=0;b=a&31;a=0-a&31;return(-1>>>b&-2)<>>a} +function om(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;ua[J[J[a>>2]+124>>2]](a,d,b,c)}function df(a,b){a=a|0;b=b|0;a=J[a+24>>2];return ua[J[J[a>>2]+8>>2]](a,b)|0}function Oo(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;ua[J[J[a>>2]+108>>2]](a,b,c,d)}function Zj(a){a=a|0;J[a>>2]=20364;if(a){J[8457]=J[8457]+1;ua[J[8259]](a)}}function Yg(a){a=a|0;J[8456]=J[8456]+1;return Ic(ua[J[8258]](64,16)|0,a)|0}function Xe(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;ua[J[J[a>>2]+80>>2]](a,b,c,d)}function Vr(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;ua[J[J[a>>2]+32>>2]](a,b,c,d)}function Ur(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;ua[J[J[a>>2]+36>>2]](a,b,c,d)}function Mr(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;ua[J[J[a>>2]+88>>2]](a,b,c,d)}function Jb(a){a=a|0;J[a>>2]=23876;if(a){J[8457]=J[8457]+1;ua[J[8259]](a)}}function yd(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;ua[J[J[a>>2]+8>>2]](a,b,c,d)}function sp(a,b,c,d,e){a=a|0;b=b|0;c=Q(c);d=Q(d);e=Q(e);ua[a|0](b,c,d,e)}function Sn(a,b){a=a|0;b=b|0;ua[J[J[a>>2]+8>>2]](a,b,J[J[a+8>>2]+48>>2])}function tp(a,b,c,d){a=a|0;b=Q(b);c=Q(c);d=Q(d);return ua[a|0](b,c,d)|0}function ip(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=Q(d);e=Q(e);ua[a|0](b,c,d,e)}function ep(a,b,c,d,e){a=a|0;b=b|0;c=Q(c);d=Q(d);e=e|0;ua[a|0](b,c,d,e)}function Wo(a,b,c,d,e){a=a|0;b=b|0;c=Q(c);d=d|0;e=Q(e);ua[a|0](b,c,d,e)}function Nk(a,b){a=a|0;b=Q(b);return Q(Q(Q(ua[J[J[a>>2]+16>>2]](a))*b))}function wj(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;if((d|0)>0){Fa(c,0,d<<4)}}function ej(a){a=a|0;a=J[a+100>>2];return((a|0)==4?4:((a|0)==3)<<1)|0}function ad(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;ua[a|0](b,c,d,e)}function Ub(a){a=a|0;a=sb(a);if(a){J[8457]=J[8457]+1;ua[J[8259]](a)}}function Tp(a){a=a|0;a=Fc(a);if(a){J[8457]=J[8457]+1;ua[J[8259]](a)}}function Ti(a){a=a|0;a=$d(a);if(a){J[8457]=J[8457]+1;ua[J[8259]](a)}}function Rg(a){a=a|0;a=Cb(a);if(a){J[8457]=J[8457]+1;ua[J[8259]](a)}}function Bf(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua[a|0](b,c,d)|0}function ub(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Q(Q(1))}function ms(a,b){a=a|0;b=b|0;return J[(J[a+32>>2]+P(b,80)|0)+64>>2]}function ii(a,b){a=a|0;b=b|0;a=K[a+344|0]?0:3;J[b+4>>2]=a;J[b>>2]=a}function fq(a,b){a=a|0;b=b|0;a=J[a+540>>2];ua[J[J[a>>2]+8>>2]](a,b)}function bm(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Q(Q(0))}function zg(a){a=a|0;return Q(Q(Q(N[a+156>>2]*Q(.5))+N[a+152>>2]))}function mk(){J[8456]=J[8456]+1;return Wb(ua[J[8258]](324,16)|0)|0}function ln(a){a=a|0;fb(a);if(a){J[8457]=J[8457]+1;ua[J[8259]](a)}}function gl(a){a=a|0;ve(a);if(a){J[8457]=J[8457]+1;ua[J[8259]](a)}}function _i(a){a=a|0;zc(a);if(a){J[8457]=J[8457]+1;ua[J[8259]](a)}}function _h(a){a=a|0;Jd(a);if(a){J[8457]=J[8457]+1;ua[J[8259]](a)}}function Wr(){J[8456]=J[8456]+1;return Kd(ua[J[8258]](236,16)|0)|0}function Pn(a){a=a|0;pf(a);if(a){J[8457]=J[8457]+1;ua[J[8259]](a)}}function Mj(a){a=a|0;je(a);if(a){J[8457]=J[8457]+1;ua[J[8259]](a)}}function Jg(a){a=a|0;td(a);if(a){J[8457]=J[8457]+1;ua[J[8259]](a)}}function Ik(a){a=a|0;Fc(a);if(a){J[8457]=J[8457]+1;ua[J[8259]](a)}}function Gg(a){a=a|0;rd(a);if(a){J[8457]=J[8457]+1;ua[J[8259]](a)}}function Eh(a){a=a|0;Cb(a);if(a){J[8457]=J[8457]+1;ua[J[8259]](a)}}function Dm(a){a=a|0;Ze(a);if(a){J[8457]=J[8457]+1;ua[J[8259]](a)}}function Cq(a,b,c){a=a|0;b=Q(b);c=Q(c);N[a+536>>2]=c;N[a+532>>2]=b}function Bm(a){a=a|0;Rc(a);if(a){J[8457]=J[8457]+1;ua[J[8259]](a)}}function Be(a){a=a|0;Gc(a);if(a){J[8457]=J[8457]+1;ua[J[8259]](a)}}function Qj(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return xe(a,b,c,d)|0}function Gh(a,b,c){a=a|0;b=Q(b);c=c|0;ua[J[J[a>>2]+32>>2]](a,b,c)}function Yk(a,b,c){a=a|0;b=b|0;c=c|0;ua[J[J[b>>2]+68>>2]](a,b,c)}function Kr(a,b,c){a=a|0;b=b|0;c=c|0;ua[J[J[a>>2]+56>>2]](a,b,c)}function Zr(a,b){a=a|0;b=b|0;return ua[J[J[a>>2]+40>>2]](a,b)|0}function Rn(a,b,c){a=a|0;b=b|0;c=Q(c);ua[J[J[a>>2]+12>>2]](a,b)}function ro(a,b){a=a|0;b=b|0;ua[J[J[a>>2]+16>>2]](a,b,J[b>>2])}function Sm(a,b,c){a=a|0;b=b|0;c=c|0;J[a+24>>2]=c;J[a+16>>2]=b}function Rm(a,b,c){a=a|0;b=b|0;c=c|0;J[a+28>>2]=c;J[a+20>>2]=b}function kp(a,b,c,d){a=a|0;b=b|0;c=Q(c);d=Q(d);ua[a|0](b,c,d)}function ud(a,b){a=a|0;b=b|0;return J[J[a+236>>2]+(b<<2)>>2]}function hp(a,b,c,d){a=a|0;b=b|0;c=c|0;d=Q(d);ua[a|0](b,c,d)}function gp(a,b,c,d){a=a|0;b=b|0;c=Q(c);d=d|0;ua[a|0](b,c,d)}function dp(a,b,c){a=a|0;b=Q(b);c=Q(c);return ua[a|0](b,c)|0}function cb(a){a=a|0;if(a){J[8457]=J[8457]+1;ua[J[8259]](a)}}function on(a,b){a=a|0;b=b|0;return J[J[a+20>>2]+(b<<2)>>2]}function cp(a,b,c){a=a|0;b=b|0;c=Q(c);return ua[a|0](b,c)|0}function _o(a,b,c){a=a|0;b=Q(b);c=c|0;return ua[a|0](b,c)|0}function Jq(a,b){a=a|0;b=b|0;return J[J[a+12>>2]+(b<<2)>>2]}function Df(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;ua[a|0](b,c,d)}function oj(a){a=a|0;a=J[a+220>>2];return(a|0)!=2&(a|0)!=5}function np(a,b,c){a=a|0;b=b|0;c=c|0;return ua[a|0](b,c)|0}function Ob(a){a=Sa(a);J[a+60>>2]=0;J[a>>2]=20860;return a}function th(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;jf(a,b,c,d)}function jj(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;be(a,b,c,d)}function yg(a,b){a=a|0;b=Q(b);N[a+52>>2]=b;N[a+36>>2]=b}function sj(a){a=a|0;return Q(Q(N[a+36>>2]*N[a+20>>2]))}function pg(a,b,c){a=a|0;b=b|0;c=c|0;return Ka(a,b,0)|0}function fh(a,b){a=a|0;b=Q(b);ua[J[J[a>>2]+44>>2]](a,b)}function Ze(a){a=a|0;J[a>>2]=15696;Rc(a+8|0);return a|0}function Kq(a,b){a=a|0;b=b|0;return J[a+12>>2]+(b<<4)|0}function nn(a){a=a|0;return(J[a+12>>2]?J[a+20>>2]:0)|0}function gd(a,b){a=a|0;b=b|0;ua[J[J[a>>2]+68>>2]](a,b)}function ec(a,b){a=a|0;b=b|0;ua[J[J[a>>2]+64>>2]](a,b)}function cr(a,b){a=a|0;b=b|0;ua[J[J[a>>2]+52>>2]](a,b)}function Tr(a,b){a=a|0;b=b|0;ua[J[J[a>>2]+40>>2]](a,b)}function Qr(a,b){a=a|0;b=b|0;ua[J[J[a>>2]+16>>2]](a,b)}function Oh(a,b){a=a|0;b=b|0;ua[J[J[a>>2]+24>>2]](a,b)}function Nr(a,b){a=a|0;b=b|0;ua[J[J[a>>2]+72>>2]](a,b)}function Lr(a,b){a=a|0;b=b|0;ua[J[J[a>>2]+92>>2]](a,b)}function Jr(a,b){a=a|0;b=b|0;ua[J[J[a>>2]+60>>2]](a,b)}function Fq(a,b){a=a|0;b=b|0;ua[J[J[a>>2]+12>>2]](a,b)}function br(a){a=a|0;return ua[J[J[a>>2]+56>>2]](a)|0}function _r(a){a=a|0;return ua[J[J[a>>2]+36>>2]](a)|0}function _d(a,b){a=a|0;b=b|0;ua[J[J[a>>2]+8>>2]](a,b)}function Nn(a,b){a=a|0;b=b|0;return(P(b,208)+a|0)+4|0}function Ai(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=Q(e)}function vp(a,b){a=a|0;b=b|0;return Q(Q(ua[a|0](b)))}function Jl(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0}function ts(a){if(a){return 31-S(a-1^a)|0}return 32}function Gf(a){a=a|0;if(a){ua[J[J[a>>2]+12>>2]](a)}}function up(a,b,c){a=a|0;b=b|0;c=Q(c);ua[a|0](b,c)}function nl(a,b){a=a|0;b=Q(b);N[a+152>>2]=b;ic(a)} +function ho(a){a=a|0;if(a){ua[J[8261]](J[a-4>>2])}}function dc(a){a=a|0;if(a){ua[J[J[a>>2]+4>>2]](a)}}function Lq(a,b){a=a|0;b=b|0;ob(a,b);return a+48|0}function xg(a){a=a|0;return Q(N[J[a+8>>2]+40>>2])}function sk(a,b){a=a|0;b=Q(b);N[a+160>>2]=b;Bb(a)}function kl(a,b){a=a|0;b=Q(b);N[a+156>>2]=b;ic(a)}function fp(a,b){a=a|0;b=Q(b);return ua[a|0](b)|0}function Lk(a,b){a=a|0;b=Q(b);N[a+152>>2]=b;Bb(a)}function Ef(a,b,c){a=a|0;b=b|0;c=c|0;ua[a|0](b,c)}function Ck(a,b){a=a|0;b=Q(b);N[a+156>>2]=b;Bb(a)}function pb(a,b,c){kb(a+4|0,a+372|0,a+388|0,b,c)}function Ff(a,b){a=a|0;b=b|0;return ua[a|0](b)|0}function yq(a,b,c){a=a|0;b=Q(b);c=c|0;lc(a,b,c)}function hd(a,b,c,d){ma(a|0,b|0,8,0,c|0,-1,d|0)}function Xj(a){a=a|0;return(K[a+204|0]&2)>>>1|0}function Mq(a,b){a=a|0;b=b|0;ob(a,b);return b|0}function qe(a,b,c){a=a|0;b=b|0;c=Q(c);return 0}function Oj(a){a=a|0;return(K[a+204|0]&3)!=0|0}function pj(a){a=a|0;J[a>>2]=30816;return a|0}function le(a){a=Ce(a);J[a>>2]=20484;return a}function _j(a){a=a|0;J[a>>2]=20364;return a|0}function Md(a){a=a|0;J[a>>2]=23876;return a|0}function $e(a,b,c,d){a=a|0;b=b|0;c=c|0;d=Q(d)}function mi(a){a=a|0;return J[a+220>>2]==2|0}function Qo(a,b){a=a|0;b=b|0;Ja(a,b+8|0,128)}function Pr(a){a=a|0;ua[J[J[a>>2]+24>>2]](a)}function Po(a,b){a=a|0;b=b|0;Ja(a+8|0,b,128)}function Pb(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0}function Lj(a,b){a=a|0;b=b|0;N[a+184>>2]=b|0}function yh(a){a=a|0;return J[a+4>>2]==31|0}function xr(a,b){a=a|0;b=Q(b);N[a+680>>2]=b}function wr(a,b){a=a|0;b=Q(b);N[a+684>>2]=b}function vn(a){a=a|0;return J[a+16>>2]!=0|0}function nb(a){a=a|0;return J[J[a>>2]-4>>2]}function kk(a){a=a|0;return J[a+100>>2]+4|0}function cd(a,b){a=a|0;b=b|0;ua[J[a>>2]](b)}function Zi(a){a=a|0;return J[a+48>>2]==1|0}function Hi(a,b){a=a|0;b=Q(b);N[a+276>>2]=b}function Di(a,b){a=a|0;b=Q(b);N[a+272>>2]=b}function zm(a,b){a=a|0;b=Q(b);N[a+28>>2]=b}function vi(a,b){a=a|0;b=b|0;J[a+264>>2]=b}function qs(a,b){a=a|0;b=Q(b);N[a+72>>2]=b}function qr(a,b){a=a|0;b=Q(b);N[a+16>>2]=b}function kq(a,b){a=a|0;b=b|0;J[a+564>>2]=b}function ag(a,b){a=a|0;b=Q(b);N[a+64>>2]=b}function _k(a,b){a=a|0;b=Q(b);N[a+20>>2]=b}function Zo(a){a=a|0;return J[a+8>>2]!=0|0}function Ye(a,b){a=a|0;b=Q(b);N[a+52>>2]=b}function Wi(a,b){a=a|0;b=b|0;J[a+204>>2]=b}function Qi(a){a=a|0;return J[a+56>>2]+4|0}function Pp(a,b){a=a|0;b=Q(b);N[a+80>>2]=b}function Om(a,b){a=a|0;b=Q(b);N[a+36>>2]=b}function Il(a){a=a|0;return J[a+4>>2]+52|0}function Hj(a,b){a=a|0;b=b|0;J[a+220>>2]=b}function Gm(a,b){a=a|0;b=Q(b);N[a+32>>2]=b}function Dr(a,b){a=a|0;b=Q(b);N[a+40>>2]=b}function Bq(a){a=a|0;return Q(N[a+532>>2])}function $f(a,b){a=a|0;b=Q(b);N[a+68>>2]=b}function zr(a,b){a=a|0;b=b|0;H[a+736|0]=b}function yr(a,b){a=a|0;b=b|0;H[a+737|0]=b}function oc(a,b){a=a|0;b=b|0;J[a+16>>2]=b}function kf(a){a=a|0;return Q(N[a+52>>2])}function ck(a){a=a|0;return J[a+204>>2]&1}function _m(a,b){a=a|0;b=b|0;J[a+72>>2]=b}function Zk(a){a=a|0;return Q(N[a+20>>2])}function Qq(a){a=a|0;return Q(N[a+12>>2])}function Op(a){a=a|0;return Q(N[a+80>>2])}function Gr(a,b){a=a|0;b=b|0;H[35721]=b^1}function Fn(a,b){a=a|0;b=b|0;J[a+24>>2]=b}function Er(a){a=a|0;return Q(N[a+40>>2])}function En(a,b){a=a|0;b=b|0;J[a+68>>2]=b}function sm(a,b){a=a|0;b=b|0;H[a+62|0]=b}function km(a,b){a=a|0;b=b|0;H[a+63|0]=b}function Qf(a){a=a|0;return Q(N[a+4>>2])}function Ph(a,b){a=a|0;b=b|0;J[a+8>>2]=b}function Pf(a){a=a|0;return Q(N[a+8>>2])}function Go(a,b){a=a|0;b=b|0;J[a+4>>2]=b}function wp(a,b){a=a|0;b=b|0;ua[a|0](b)}function uo(a){a=a|0;return J[a+108>>2]}function pp(a){a=a|0;return ua[a|0]()|0}function mq(a){a=a|0;return J[a+564>>2]}function ki(a){a=a|0;return J[a+748>>2]}function jo(a){a=a|0;return J[a+112>>2]}function ij(a){a=a|0;return J[a+100>>2]}function gq(a){a=a|0;return J[a+540>>2]}function fo(a){a=a|0;return J[a+836>>2]}function di(a){a=a|0;return J[a+332>>2]}function ci(a){a=a|0;return J[a+220>>2]}function bh(a){a=a|0;return J[a+216>>2]}function ah(a){a=a|0;return J[a+228>>2]}function _n(a){a=a|0;return J[a+840>>2]}function Uq(a,b){a=a|0;b=Q(b);N[a>>2]=b}function Tn(a){a=a|0;return J[a+844>>2]}function No(a){a=a|0;return J[a+200>>2]}function Ji(a){a=a|0;return J[a+192>>2]}function Bi(a){a=a|0;return J[a+264>>2]}function Af(a){a=a|0;return J[a+204>>2]}function uf(a){a=a|0;return J[a+96>>2]}function pn(a){a=a|0;return J[a+12>>2]}function hf(a){a=a|0;return J[a+56>>2]}function ed(a){a=a|0;return Q(N[a>>2])}function cf(a){a=a|0;return J[a+60>>2]}function Yc(a){a=a|0;return J[a+72>>2]}function Xf(a){a=a|0;return J[a+24>>2]}function Xb(a){a=a|0;return J[a+16>>2]}function Vf(a){a=a|0;return J[a+84>>2]}function tf(a,b){a=a|0;b=b|0;return 1}function oe(a,b,c){a=a|0;b=Q(b);c=c|0}function cj(a,b){a=a|0;b=b|0;return 0}function Nc(a){a=a|0;return J[a+4>>2]}function Mc(a){a=a|0;return J[a+8>>2]}function qq(a,b){a=a|0;b=b|0;Db(a,b)}function op(a){a=a|0;return a- -64|0}function Oa(a,b,c){a=a|0;b=b|0;c=c|0}function Aj(a,b){a=a|0;b=b|0;Xc(a,b)}function uq(a){a=a|0;return a+372|0}function tq(a){a=a|0;return a+388|0}function Tj(a){a=a|0;return a+116|0}function Sg(a){a=a|0;return Cb(a)|0}function Rj(a){a=a|0;return Gc(a)|0}function Rf(a){a=a|0;return zb(a)|0}function Of(a){a=a|0;return a+132|0}function xp(a){a=a|0;return a+32|0}function ps(a){a=a|0;return a+56|0}function nf(a){a=a|0;return a+20|0}function mj(a){a=a|0;return a+76|0}function mf(a){a=a|0;return a+36|0}function me(a){a=a|0;return a+24|0}function Yo(a){a=a|0;return a+16|0}function Yf(a){a=a|0;return a+52|0}function Wf(a){a=a|0;return a+68|0}function Tf(a){a=a|0;return a+92|0}function Sp(a){a=a|0;return a+84|0}function Sf(a){a=a|0;return a+72|0}function Rh(a){a=a|0;J[a+232>>2]=0}function Mk(a){a=a|0;J[8284]=30816}function Hf(a){a=a|0;return a+48|0}function bj(a){a=a|0;return 10115}function Zc(a){a=a|0;return a+4|0}function Pm(a){a=a|0;return a-4|0}function Jp(a){a=a|0;H[a+136|0]=1}function xl(a){a=a|0;return 1476}function wm(a){a=a|0;return 7533}function vk(a){a=a|0;return 7454}function tj(a){a=a|0;return 9188}function lj(a){a=a|0;return 9195}function jm(a){a=a|0;Oc(a);Ga(a)}function jk(a){a=a|0;return 6544}function fn(a){a=a|0;Wc(a);Ga(a)}function eo(a){a=a|0;wf(a);Ga(a)}function em(a){a=a|0;Qe(a);Ga(a)}function ek(a){a=a|0;return 9149}function Zl(a){a=a|0;Ne(a);Ga(a)}function Xl(a){a=a|0;Kc(a);Ga(a)}function Sj(a){a=a|0;return 9207}function Rp(a){a=a|0;return 7744}function Qk(a){a=a|0;return 7354}function Ni(a){a=a|0;return 9175}function Lm(a){a=a|0;af(a);Ga(a)}function Ih(a){a=a|0;Bd(a);Ga(a)}function Hl(a){a=a|0;Me(a);Ga(a)}function Dl(a){a=a|0;Ke(a);Ga(a)}function Cj(a){a=a|0;return 9166}function Ap(a){a=a|0;H[a+72|0]=1}function An(a){a=a|0;of(a);Ga(a)}function Al(a){a=a|0;Je(a);Ga(a)}function $l(a){a=a|0;Oe(a);Ga(a)}function $k(a){a=a|0;return 9172}function $j(a){a=a|0;return 1038}function zi(a){a=a|0;return 644}function ni(a){a=a|0;return 220}function gn(a){a=a|0;return 264}function Nh(a){a=a|0;return 496}function Ha(a){a=a|0;return a|0}function Ep(a){a=a|0;H[a+4|0]=1}function we(a){a=a|0;return 84}function cq(a){a=a|0;dd(33488)}function bq(a){a=a|0;Ga(fd(a))}function Xp(a){a=a|0;Ga(dd(a))}function Si(a){a=a|0;return 28}function Rb(a){a=a|0;return 60}function Qc(a){a=a|0;return 52}function Np(a){a=a|0;return 24}function Nm(a){a=a|0;Ga(a-4|0)}function Ir(a){a=a|0;fd(33232)}function De(a){a=a|0;return 12}function Bj(a){a=a|0;return 76}function $r(a){a=a|0;Kc(33692)}function wb(a){a=a|0;return 0}function rl(a){a=a|0;return 8}function ef(a,b){a=a|0;b=Q(b)}function We(a){a=a|0;return 2}function Ve(a){a=a|0;return 3}function Ue(a){a=a|0;return 1}function Ee(a){a=a|0;return 6}function Ya(a,b){a=a|0;b=b|0}function Ea(a){a=a|0;Ga(a)}function Pa(a){a=a|0;D()}function qg(){ga();D()}function _a(a){a=a|0}function Qn(){} +// EMSCRIPTEN_END_FUNCS +e=K;p(q);var ua=c([null,Mk,Ir,cq,_a,$r,dc,nb,Lp,Kp,dc,Ha,Ha,nb,Jp,cd,Ip,bd,Hp,Gp,Gf,nb,Fp,Gf,Ha,Ha,nb,Ep,cd,Dp,bd,Cp,dc,nb,Bp,dc,Ha,Ha,nb,Ap,cd,zp,bd,yp,Rf,Ff,Ea,wp,ed,vp,Uq,up,Iq,Ef,Tq,tp,ed,Qf,Pf,Sq,sp,Rq,rp,ed,Qf,Pf,Qq,Nf,qp,Pq,pp,Oq,Nq,Hf,Mq,np,Lq,_d,Fq,Eq,Df,Nc,Jq,Kq,Fr,Er,Dr,qr,Cr,mp,Br,Ar,lp,yr,Ef,zr,wr,vr,kp,xr,ur,tr,sr,rr,Uf,pr,jp,Uf,nr,ip,hr,Df,gr,hp,fr,er,dr,mr,lr,kr,jr,ir,yh,Ff,Oh,Gh,gp,yd,ad,fh,oc,Ph,es,mf,Yg,Ng,Eg,fp,yg,og,ig,ep,sg,dp,rg,bg,ag,$f,_f,rs,cp,ps,qs,bs,bp,ks,js,Cf,is,Bf,cf,hs,ap,gs,$o,fs,ds,cs,os,Xf,ns,ms,ec,ls,ad,mk,Ji,_d,Lj,mi,ci,Hj,Aj,oj,Xj,ck,Oj,Zc,Wi,Af,Hi,Di,vi,Bi,dj,Xh,Dq,_o,mq,kq,qq,Aq,zq,yq,xq,vq,sq,uq,rq,tq,hq,jq,iq,Cq,Bq,gq,pq,oq,nq,fq,as,Yr,_r,Zr,No,Af,uo,jo,fo,_n,Tn,Nn,Ha,Yo,Hf,xp,op,Xr,Wr,Ur,ad,Tr,Vr,Rr,Xo,Qr,Pr,Or,Bf,Gr,Nr,Hr,Wo,Mr,Lr,Kr,Jr,ec,gd,cr,br,ar,$q,_q,Zq,Yq,Xq,Wq,Vq,Zo,vn,Sr,oc,or,Cf,Tf,Sf,Of,fm,oc,Fg,Wf,Yf,Vf,lq,Mp,Tf,Sf,Of,Hq,wq,Wf,Yf,Vf,Gq,Nf,Nc,Mc,Zc,nf,mf,kf,hf,cf,Tl,Vo,Il,Om,Gm,zm,sm,km,Bl,Uo,wl,nl,kl,bl,To,Vk,Lk,Ck,sk,ss,If,pj,Ea,Mf,eq,Pa,dq,qg,fd,bq,Lf,aq,$p,_p,Kf,Ha,Ea,Mf,Zp,dd,Xp,Lf,Wp,Vp,Up,Yp,Jf,Fc,Tp,Fk,Ok,Kk,Nk,Dk,Sp,Ek,Rp,Qp,Pp,Op,Np,Bk,Jk,Hk,Gk,So,Ro,Qo,Po,Oo,Mo,Lo,Ko,Jo,Io,Ho,Ya,Oa,Go,Nc,Fo,Eo,Do,Co,Bo,Ao,zo,yo,xo,wo,vo,to,so,Pa,_a,_a,ro,Ya,qo,po,oo,Pa,io,no,mo,lo,ko,Pa,go,ho,Rf,Ea,wf,eo,co,bo,Yn,ao,$n,Zn,Xn,uf,uf,Wn,Vn,_a,Ha,Ea,Un,Sn,Rn,tf,tf,Ea,Oa,sf,Ea,sf,_a,Qn,pf,Pn,Gn,Jn,Ln,Xb,Xb,Zc,On,Mc,Mn,Fn,In,Kn,wb,En,Hn,Ha,Ea,Dn,Ea,Cn,Bn,of,An,wn,zn,xn,yn,tn,un,sn,pn,on,nn,Yc,Yc,rn,qn,Ea,mn,fb,ln,jn,hn,gn,lf,kn,Wc,fn,en,dn,_m,Yc,gf,an,bn,jf,Vc,cn,$m,ef,Ya,Oa,Ha,Ea,Ha,Ea,Ei,Zm,Ea,Ym,Ea,df,Xm,Ea,Ci,bf,Ea,bf,Ea,Wm,Ea,df,Vm,Ha,Ea,Um,Ea,Tm,Ha,Ea,Qm,yd,Pm,Nm,Mm,Ha,Pa,Ha,Pa,Ha,Ea,Im,af,Lm,Km,Jm,Hm,Ha,Ea,Oa,Oa,$e,Ea,Oa,Oa,Fm,Ea,Sm,Rm,Em,Ze,Dm,ym,xm,Cm,Rc,Bm,Am,sb,Ub,Xe,tb,nf,Tb,wm,Ye,kf,Qc,vm,re,um,qk,tm,rk,We,rm,Kj,Ve,Ve,qm,pm,Ue,om,nm,mm,Ea,lm,Oc,jm,Se,im,hm,Ea,gm,Qe,em,cm,bm,dm,Ea,am,Ya,Ha,Ea,Pe,Oe,$l,_l,ub,Sb,Ne,Zl,Yl,ub,Sb,Kc,Xl,Mc,Xb,Vl,Wl,Ha,Ea,Ul,Ea,Sl,Ea,Rl,Ea,Ql,Ea,Pl,Ea,Ol,Ea,Nl,Ea,Ml,Ea,Ll,Ea,Kl,Ea,Jl,ub,Ya,Me,Hl,Gl,Fl,Xb,Ea,El,Ke,Dl,Cl,ub,Sb,Je,Al,zl,ub,Sb,Ea,Ie,Ub,He,Ge,yl,xl,Fe,vl,ul,tl,Ee,sl,rl,De,ql,pl,Ee,ol,ml,ll,Gc,Be,xe,we,hl,jl,il,ve,gl,Ri,el,Qi,Tb,$k,_k,Zk,Rb,dl,fl,Oi,Yk,cl,al,Ha,Ea,ue,Ea,ue,Ea,Xk,Ha,cb,Sk,Rk,Tk,Qk,se,ef,Rb,Pk,Wk,Uk,wb,Oa,Ik,cb,Xe,xk,wk,vk,uk,Rb,tk,yk,Ak,zk,Pa,Pa,De,bb,Ub,be,lk,kk,Gj,jk,re,ok,nk,wb,wb,Pb,Oa,wb,Pb,qe,Ha,Ea,ik,cb,He,Ge,hk,ek,se,Fe,Rb,dk,bk,gk,fk,ak,Ha,Pa,Ha,cb,pe,ne,me,oe,$j,Pb,_j,Zj,Yj,Uj,Tj,Tb,Sj,Vj,Wj,Rj,Be,Qj,Ea,Pj,Ea,Nj,je,Mj,Pa,Jj,Ij,Pa,Fj,Ha,cb,Dj,ne,me,oe,Cj,Bj,zj,Ej,Ea,yj,cb,pe,uj,tj,Ye,sj,vj,xj,wj,Ha,cb,rj,nj,mj,Tb,lj,Qc,kj,qj,Ub,jj,bj,ij,hj,gj,fj,ej,Pb,qe,cj,zc,_i,aj,ae,ae,Ya,Ya,Xf,Ya,Ya,Zi,Yi,Xi,Si,$i,$d,Ti,Vi,Ui,Ha,cb,wc,Ni,Pi,Ea,Mi,Ea,Li,Ha,Ea,Yd,Ea,Oa,Oa,Ki,Ea,vc,pk,ab,Ha,Ea,Ii,Ea,Za,Ea,Gi,Ea,Oa,Oa,Fi,Pa,Pa,Ea,Td,Md,Jb,_a,Ai,xi,wi,$e,ui,ti,zi,yi,Md,Jb,Jb,si,ri,qi,pi,oi,ni,li,ki,Jb,ji,ii,hi,gi,fi,we,ei,di,bi,ai,$h,Jd,_h,Oa,Sh,Oa,Rh,Ue,Zh,Vh,Th,Wh,Yh,Uh,Qh,Pa,_a,Qc,Gb,Kh,Jh,Nh,Mh,Lh,Bd,Ih,Hh,Fh,Cb,Eh,Ch,th,sh,$g,xh,nh,mh,lh,kh,vh,uh,zh,qh,ph,rh,ch,bh,ah,ud,ud,We,Bh,ec,gd,ec,gd,eh,gh,ih,jh,oh,wh,hh,Dh,dh,Ah,Ya,Qg,_g,Zg,Xg,Ea,Wg,Vg,Sg,Rg,Tg,Ug,Ha,Ea,Pg,Ha,Ea,Og,Mg,Oa,Ea,Lg,Kg,td,Jg,Ig,Hg,rd,Gg,Dg,Cg,Bg,wg,Pa,Ag,Ya,hf,qd,zg,qd,xg,Ea,vg,pd,Ha,Ea,_a,_a,pg,Ea,ng,cg,fg,mg,Ea,dg,gg,lg,Ea,eg,hg,kg,Ea,jg]);function va(){return G.byteLength/65536|0}function Aa(Ba){Ba=Ba|0;var wa=va()|0;var xa=wa+Ba|0;if(wa=65536,"INITIAL_MEMORY should be larger than STACK_SIZE, was "+INITIAL_MEMORY+"! (STACK_SIZE="+65536+")");if(Module["wasmMemory"]){wasmMemory=Module["wasmMemory"]}else{wasmMemory=new WebAssembly.Memory({"initial":INITIAL_MEMORY/65536,"maximum":2147483648/65536})}updateMemoryViews();INITIAL_MEMORY=wasmMemory.buffer.byteLength;var wasmTable;var __ATPRERUN__=[];var __ATINIT__=[];var __ATPOSTRUN__=[];var runtimeInitialized=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 initRuntime(){runtimeInitialized=true;callRuntimeCallbacks(__ATINIT__)}function postRun(){if(Module["postRun"]){if(typeof Module["postRun"]=="function")Module["postRun"]=[Module["postRun"]];while(Module["postRun"].length){addOnPostRun(Module["postRun"].shift())}}callRuntimeCallbacks(__ATPOSTRUN__)}function addOnPreRun(cb){__ATPRERUN__.unshift(cb)}function addOnInit(cb){__ATINIT__.unshift(cb)}function addOnPostRun(cb){__ATPOSTRUN__.unshift(cb)}var runDependencies=0;var runDependencyWatcher=null;var dependenciesFulfilled=null;function addRunDependency(id){runDependencies++;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}}function removeRunDependency(id){runDependencies--;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}if(runDependencies==0){if(runDependencyWatcher!==null){clearInterval(runDependencyWatcher);runDependencyWatcher=null}if(dependenciesFulfilled){var callback=dependenciesFulfilled;dependenciesFulfilled=null;callback()}}}function abort(what){if(Module["onAbort"]){Module["onAbort"](what)}what="Aborted("+what+")";err(what);ABORT=true;EXITSTATUS=1;what+=". Build with -sASSERTIONS for more info.";var e=new WebAssembly.RuntimeError(what);readyPromiseReject(e);throw e}var dataURIPrefix="data:application/octet-stream;base64,";function isDataURI(filename){return filename.startsWith(dataURIPrefix)}var wasmBinaryFile;wasmBinaryFile="<<< WASM_BINARY_FILE >>>";if(!isDataURI(wasmBinaryFile)){wasmBinaryFile=locateFile(wasmBinaryFile)}function getBinary(file){try{if(file==wasmBinaryFile&&wasmBinary){return new Uint8Array(wasmBinary)}var binary=tryParseAsDataURI(file);if(binary){return binary}if(readBinary){return readBinary(file)}throw"both async and sync fetching of the wasm failed"}catch(err){abort(err)}}function getBinaryPromise(binaryFile){if(!wasmBinary&&(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER)){if(typeof fetch=="function"){return fetch(binaryFile,{credentials:"same-origin"}).then(response=>{if(!response["ok"]){throw"failed to load wasm binary file at '"+binaryFile+"'"}return response["arrayBuffer"]()}).catch(()=>getBinary(binaryFile))}}return Promise.resolve().then(()=>getBinary(binaryFile))}function instantiateArrayBuffer(binaryFile,imports,receiver){return getBinaryPromise(binaryFile).then(binary=>{return WebAssembly.instantiate(binary,imports)}).then(instance=>{return instance}).then(receiver,reason=>{err("failed to asynchronously prepare wasm: "+reason);abort(reason)})}function instantiateAsync(binary,binaryFile,imports,callback){if(!binary&&typeof WebAssembly.instantiateStreaming=="function"&&!isDataURI(binaryFile)&&typeof fetch=="function"){return fetch(binaryFile,{credentials:"same-origin"}).then(response=>{var result=WebAssembly.instantiateStreaming(response,imports);return result.then(callback,function(reason){err("wasm streaming compile failed: "+reason);err("falling back to ArrayBuffer instantiation");return instantiateArrayBuffer(binaryFile,imports,callback)})})}else{return instantiateArrayBuffer(binaryFile,imports,callback)}}function createWasm(){var info={"a":wasmImports};function receiveInstance(instance,module){var exports=instance.exports;Module["asm"]=exports;wasmTable=Module["asm"]["z"];addOnInit(Module["asm"]["w"]);removeRunDependency("wasm-instantiate");return exports}addRunDependency("wasm-instantiate");function receiveInstantiationResult(result){receiveInstance(result["instance"])}if(Module["instantiateWasm"]){try{return Module["instantiateWasm"](info,receiveInstance)}catch(e){err("Module.instantiateWasm callback failed with error: "+e);readyPromiseReject(e)}}instantiateAsync(wasmBinary,wasmBinaryFile,info,receiveInstantiationResult).catch(readyPromiseReject);return{}}function callRuntimeCallbacks(callbacks){while(callbacks.length>0){callbacks.shift()(Module)}}function intArrayToString(array){var ret=[];for(var i=0;i255){chr&=255}ret.push(String.fromCharCode(chr))}return ret.join("")}var char_0=48;var char_9=57;function makeLegalFunctionName(name){if(undefined===name){return"_unknown"}name=name.replace(/[^a-zA-Z0-9_]/g,"$");var f=name.charCodeAt(0);if(f>=char_0&&f<=char_9){return`_${name}`}return name}function createNamedFunction(name,body){name=makeLegalFunctionName(name);return{[name]:function(){return body.apply(this,arguments)}}[name]}function HandleAllocator(){this.allocated=[undefined];this.freelist=[];this.get=function(id){return this.allocated[id]};this.has=function(id){return this.allocated[id]!==undefined};this.allocate=function(handle){var id=this.freelist.pop()||this.allocated.length;this.allocated[id]=handle;return id};this.free=function(id){this.allocated[id]=undefined;this.freelist.push(id)}}var emval_handles=new HandleAllocator;function extendError(baseErrorType,errorName){var errorClass=createNamedFunction(errorName,function(message){this.name=errorName;this.message=message;var stack=new Error(message).stack;if(stack!==undefined){this.stack=this.toString()+"\n"+stack.replace(/^Error(:[^\n]*)?\n/,"")}});errorClass.prototype=Object.create(baseErrorType.prototype);errorClass.prototype.constructor=errorClass;errorClass.prototype.toString=function(){if(this.message===undefined){return this.name}else{return`${this.name}: ${this.message}`}};return errorClass}var BindingError=undefined;function throwBindingError(message){throw new BindingError(message)}function count_emval_handles(){var count=0;for(var i=emval_handles.reserved;i{if(!handle){throwBindingError("Cannot use deleted val. handle = "+handle)}return emval_handles.get(handle).value},toHandle:value=>{switch(value){case undefined:return 1;case null:return 2;case true:return 3;case false:return 4;default:{return emval_handles.allocate({refcount:1,value:value})}}}};var PureVirtualError=undefined;function embind_init_charCodes(){var codes=new Array(256);for(var i=0;i<256;++i){codes[i]=String.fromCharCode(i)}embind_charCodes=codes}var embind_charCodes=undefined;function readLatin1String(ptr){var ret="";var c=ptr;while(HEAPU8[c]){ret+=embind_charCodes[HEAPU8[c++]]}return ret}function getInheritedInstanceCount(){return Object.keys(registeredInstances).length}function getLiveInheritedInstances(){var rv=[];for(var k in registeredInstances){if(registeredInstances.hasOwnProperty(k)){rv.push(registeredInstances[k])}}return rv}var deletionQueue=[];function flushPendingDeletes(){while(deletionQueue.length){var obj=deletionQueue.pop();obj.$$.deleteScheduled=false;obj["delete"]()}}var delayFunction=undefined;function setDelayFunction(fn){delayFunction=fn;if(deletionQueue.length&&delayFunction){delayFunction(flushPendingDeletes)}}function init_embind(){Module["getInheritedInstanceCount"]=getInheritedInstanceCount;Module["getLiveInheritedInstances"]=getLiveInheritedInstances;Module["flushPendingDeletes"]=flushPendingDeletes;Module["setDelayFunction"]=setDelayFunction}var registeredInstances={};function getBasestPointer(class_,ptr){if(ptr===undefined){throwBindingError("ptr should not be undefined")}while(class_.baseClass){ptr=class_.upcast(ptr);class_=class_.baseClass}return ptr}function registerInheritedInstance(class_,ptr,instance){ptr=getBasestPointer(class_,ptr);if(registeredInstances.hasOwnProperty(ptr)){throwBindingError(`Tried to register registered instance: ${ptr}`)}else{registeredInstances[ptr]=instance}}var registeredTypes={};function getTypeName(type){var ptr=___getTypeName(type);var rv=readLatin1String(ptr);_free(ptr);return rv}function requireRegisteredType(rawType,humanName){var impl=registeredTypes[rawType];if(undefined===impl){throwBindingError(humanName+" has unknown type "+getTypeName(rawType))}return impl}function unregisterInheritedInstance(class_,ptr){ptr=getBasestPointer(class_,ptr);if(registeredInstances.hasOwnProperty(ptr)){delete registeredInstances[ptr]}else{throwBindingError(`Tried to unregister unregistered instance: ${ptr}`)}}function detachFinalizer(handle){}var finalizationRegistry=false;function runDestructor($$){if($$.smartPtr){$$.smartPtrType.rawDestructor($$.smartPtr)}else{$$.ptrType.registeredClass.rawDestructor($$.ptr)}}function releaseClassHandle($$){$$.count.value-=1;var toDelete=0===$$.count.value;if(toDelete){runDestructor($$)}}function downcastPointer(ptr,ptrClass,desiredClass){if(ptrClass===desiredClass){return ptr}if(undefined===desiredClass.baseClass){return null}var rv=downcastPointer(ptr,ptrClass,desiredClass.baseClass);if(rv===null){return null}return desiredClass.downcast(rv)}var registeredPointers={};function getInheritedInstance(class_,ptr){ptr=getBasestPointer(class_,ptr);return registeredInstances[ptr]}var InternalError=undefined;function throwInternalError(message){throw new InternalError(message)}function makeClassHandle(prototype,record){if(!record.ptrType||!record.ptr){throwInternalError("makeClassHandle requires ptr and ptrType")}var hasSmartPtrType=!!record.smartPtrType;var hasSmartPtr=!!record.smartPtr;if(hasSmartPtrType!==hasSmartPtr){throwInternalError("Both smartPtrType and smartPtr must be specified")}record.count={value:1};return attachFinalizer(Object.create(prototype,{$$:{value:record}}))}function RegisteredPointer_fromWireType(ptr){var rawPointer=this.getPointee(ptr);if(!rawPointer){this.destructor(ptr);return null}var registeredInstance=getInheritedInstance(this.registeredClass,rawPointer);if(undefined!==registeredInstance){if(0===registeredInstance.$$.count.value){registeredInstance.$$.ptr=rawPointer;registeredInstance.$$.smartPtr=ptr;return registeredInstance["clone"]()}else{var rv=registeredInstance["clone"]();this.destructor(ptr);return rv}}function makeDefaultHandle(){if(this.isSmartPointer){return makeClassHandle(this.registeredClass.instancePrototype,{ptrType:this.pointeeType,ptr:rawPointer,smartPtrType:this,smartPtr:ptr})}else{return makeClassHandle(this.registeredClass.instancePrototype,{ptrType:this,ptr:ptr})}}var actualType=this.registeredClass.getActualType(rawPointer);var registeredPointerRecord=registeredPointers[actualType];if(!registeredPointerRecord){return makeDefaultHandle.call(this)}var toType;if(this.isConst){toType=registeredPointerRecord.constPointerType}else{toType=registeredPointerRecord.pointerType}var dp=downcastPointer(rawPointer,this.registeredClass,toType.registeredClass);if(dp===null){return makeDefaultHandle.call(this)}if(this.isSmartPointer){return makeClassHandle(toType.registeredClass.instancePrototype,{ptrType:toType,ptr:dp,smartPtrType:this,smartPtr:ptr})}else{return makeClassHandle(toType.registeredClass.instancePrototype,{ptrType:toType,ptr:dp})}}function attachFinalizer(handle){if("undefined"===typeof FinalizationRegistry){attachFinalizer=handle=>handle;return handle}finalizationRegistry=new FinalizationRegistry(info=>{releaseClassHandle(info.$$)});attachFinalizer=handle=>{var $$=handle.$$;var hasSmartPtr=!!$$.smartPtr;if(hasSmartPtr){var info={$$:$$};finalizationRegistry.register(handle,info,handle)}return handle};detachFinalizer=handle=>finalizationRegistry.unregister(handle);return attachFinalizer(handle)}function __embind_create_inheriting_constructor(constructorName,wrapperType,properties){constructorName=readLatin1String(constructorName);wrapperType=requireRegisteredType(wrapperType,"wrapper");properties=Emval.toValue(properties);var arraySlice=[].slice;var registeredClass=wrapperType.registeredClass;var wrapperPrototype=registeredClass.instancePrototype;var baseClass=registeredClass.baseClass;var baseClassPrototype=baseClass.instancePrototype;var baseConstructor=registeredClass.baseClass.constructor;var ctor=createNamedFunction(constructorName,function(){registeredClass.baseClass.pureVirtualFunctions.forEach(function(name){if(this[name]===baseClassPrototype[name]){throw new PureVirtualError(`Pure virtual function ${name} must be implemented in JavaScript`)}}.bind(this));Object.defineProperty(this,"__parent",{value:wrapperPrototype});this["__construct"].apply(this,arraySlice.call(arguments))});wrapperPrototype["__construct"]=function __construct(){if(this===wrapperPrototype){throwBindingError("Pass correct 'this' to __construct")}var inner=baseConstructor["implement"].apply(undefined,[this].concat(arraySlice.call(arguments)));detachFinalizer(inner);var $$=inner.$$;inner["notifyOnDestruction"]();$$.preservePointerOnDelete=true;Object.defineProperties(this,{$$:{value:$$}});attachFinalizer(this);registerInheritedInstance(registeredClass,$$.ptr,this)};wrapperPrototype["__destruct"]=function __destruct(){if(this===wrapperPrototype){throwBindingError("Pass correct 'this' to __destruct")}detachFinalizer(this);unregisterInheritedInstance(registeredClass,this.$$.ptr)};ctor.prototype=Object.create(wrapperPrototype);for(var p in properties){ctor.prototype[p]=properties[p]}return Emval.toHandle(ctor)}function __embind_register_bigint(primitiveType,name,size,minRange,maxRange){}function getShiftFromSize(size){switch(size){case 1:return 0;case 2:return 1;case 4:return 2;case 8:return 3;default:throw new TypeError(`Unknown type size: ${size}`)}}var awaitingDependencies={};var typeDependencies={};function whenDependentTypesAreResolved(myTypes,dependentTypes,getTypeConverters){myTypes.forEach(function(type){typeDependencies[type]=dependentTypes});function onComplete(typeConverters){var myTypeConverters=getTypeConverters(typeConverters);if(myTypeConverters.length!==myTypes.length){throwInternalError("Mismatched type converter count")}for(var i=0;i{if(registeredTypes.hasOwnProperty(dt)){typeConverters[i]=registeredTypes[dt]}else{unregisteredTypes.push(dt);if(!awaitingDependencies.hasOwnProperty(dt)){awaitingDependencies[dt]=[]}awaitingDependencies[dt].push(()=>{typeConverters[i]=registeredTypes[dt];++registered;if(registered===unregisteredTypes.length){onComplete(typeConverters)}})}});if(0===unregisteredTypes.length){onComplete(typeConverters)}}function registerType(rawType,registeredInstance,options={}){if(!("argPackAdvance"in registeredInstance)){throw new TypeError("registerType registeredInstance requires argPackAdvance")}var name=registeredInstance.name;if(!rawType){throwBindingError(`type "${name}" must have a positive integer typeid pointer`)}if(registeredTypes.hasOwnProperty(rawType)){if(options.ignoreDuplicateRegistrations){return}else{throwBindingError(`Cannot register type '${name}' twice`)}}registeredTypes[rawType]=registeredInstance;delete typeDependencies[rawType];if(awaitingDependencies.hasOwnProperty(rawType)){var callbacks=awaitingDependencies[rawType];delete awaitingDependencies[rawType];callbacks.forEach(cb=>cb())}}function __embind_register_bool(rawType,name,size,trueValue,falseValue){var shift=getShiftFromSize(size);name=readLatin1String(name);registerType(rawType,{name:name,"fromWireType":function(wt){return!!wt},"toWireType":function(destructors,o){return o?trueValue:falseValue},"argPackAdvance":8,"readValueFromPointer":function(pointer){var heap;if(size===1){heap=HEAP8}else if(size===2){heap=HEAP16}else if(size===4){heap=HEAP32}else{throw new TypeError("Unknown boolean type size: "+name)}return this["fromWireType"](heap[pointer>>shift])},destructorFunction:null})}function ClassHandle_isAliasOf(other){if(!(this instanceof ClassHandle)){return false}if(!(other instanceof ClassHandle)){return false}var leftClass=this.$$.ptrType.registeredClass;var left=this.$$.ptr;var rightClass=other.$$.ptrType.registeredClass;var right=other.$$.ptr;while(leftClass.baseClass){left=leftClass.upcast(left);leftClass=leftClass.baseClass}while(rightClass.baseClass){right=rightClass.upcast(right);rightClass=rightClass.baseClass}return leftClass===rightClass&&left===right}function shallowCopyInternalPointer(o){return{count:o.count,deleteScheduled:o.deleteScheduled,preservePointerOnDelete:o.preservePointerOnDelete,ptr:o.ptr,ptrType:o.ptrType,smartPtr:o.smartPtr,smartPtrType:o.smartPtrType}}function throwInstanceAlreadyDeleted(obj){function getInstanceTypeName(handle){return handle.$$.ptrType.registeredClass.name}throwBindingError(getInstanceTypeName(obj)+" instance already deleted")}function ClassHandle_clone(){if(!this.$$.ptr){throwInstanceAlreadyDeleted(this)}if(this.$$.preservePointerOnDelete){this.$$.count.value+=1;return this}else{var clone=attachFinalizer(Object.create(Object.getPrototypeOf(this),{$$:{value:shallowCopyInternalPointer(this.$$)}}));clone.$$.count.value+=1;clone.$$.deleteScheduled=false;return clone}}function ClassHandle_delete(){if(!this.$$.ptr){throwInstanceAlreadyDeleted(this)}if(this.$$.deleteScheduled&&!this.$$.preservePointerOnDelete){throwBindingError("Object already scheduled for deletion")}detachFinalizer(this);releaseClassHandle(this.$$);if(!this.$$.preservePointerOnDelete){this.$$.smartPtr=undefined;this.$$.ptr=undefined}}function ClassHandle_isDeleted(){return!this.$$.ptr}function ClassHandle_deleteLater(){if(!this.$$.ptr){throwInstanceAlreadyDeleted(this)}if(this.$$.deleteScheduled&&!this.$$.preservePointerOnDelete){throwBindingError("Object already scheduled for deletion")}deletionQueue.push(this);if(deletionQueue.length===1&&delayFunction){delayFunction(flushPendingDeletes)}this.$$.deleteScheduled=true;return this}function init_ClassHandle(){ClassHandle.prototype["isAliasOf"]=ClassHandle_isAliasOf;ClassHandle.prototype["clone"]=ClassHandle_clone;ClassHandle.prototype["delete"]=ClassHandle_delete;ClassHandle.prototype["isDeleted"]=ClassHandle_isDeleted;ClassHandle.prototype["deleteLater"]=ClassHandle_deleteLater}function ClassHandle(){}function ensureOverloadTable(proto,methodName,humanName){if(undefined===proto[methodName].overloadTable){var prevFunc=proto[methodName];proto[methodName]=function(){if(!proto[methodName].overloadTable.hasOwnProperty(arguments.length)){throwBindingError(`Function '${humanName}' called with an invalid number of arguments (${arguments.length}) - expects one of (${proto[methodName].overloadTable})!`)}return proto[methodName].overloadTable[arguments.length].apply(this,arguments)};proto[methodName].overloadTable=[];proto[methodName].overloadTable[prevFunc.argCount]=prevFunc}}function exposePublicSymbol(name,value,numArguments){if(Module.hasOwnProperty(name)){if(undefined===numArguments||undefined!==Module[name].overloadTable&&undefined!==Module[name].overloadTable[numArguments]){throwBindingError(`Cannot register public name '${name}' twice`)}ensureOverloadTable(Module,name,name);if(Module.hasOwnProperty(numArguments)){throwBindingError(`Cannot register multiple overloads of a function with the same number of arguments (${numArguments})!`)}Module[name].overloadTable[numArguments]=value}else{Module[name]=value;if(undefined!==numArguments){Module[name].numArguments=numArguments}}}function RegisteredClass(name,constructor,instancePrototype,rawDestructor,baseClass,getActualType,upcast,downcast){this.name=name;this.constructor=constructor;this.instancePrototype=instancePrototype;this.rawDestructor=rawDestructor;this.baseClass=baseClass;this.getActualType=getActualType;this.upcast=upcast;this.downcast=downcast;this.pureVirtualFunctions=[]}function upcastPointer(ptr,ptrClass,desiredClass){while(ptrClass!==desiredClass){if(!ptrClass.upcast){throwBindingError(`Expected null or instance of ${desiredClass.name}, got an instance of ${ptrClass.name}`)}ptr=ptrClass.upcast(ptr);ptrClass=ptrClass.baseClass}return ptr}function constNoSmartPtrRawPointerToWireType(destructors,handle){if(handle===null){if(this.isReference){throwBindingError(`null is not a valid ${this.name}`)}return 0}if(!handle.$$){throwBindingError(`Cannot pass "${embindRepr(handle)}" as a ${this.name}`)}if(!handle.$$.ptr){throwBindingError(`Cannot pass deleted object as a pointer of type ${this.name}`)}var handleClass=handle.$$.ptrType.registeredClass;var ptr=upcastPointer(handle.$$.ptr,handleClass,this.registeredClass);return ptr}function genericPointerToWireType(destructors,handle){var ptr;if(handle===null){if(this.isReference){throwBindingError(`null is not a valid ${this.name}`)}if(this.isSmartPointer){ptr=this.rawConstructor();if(destructors!==null){destructors.push(this.rawDestructor,ptr)}return ptr}else{return 0}}if(!handle.$$){throwBindingError(`Cannot pass "${embindRepr(handle)}" as a ${this.name}`)}if(!handle.$$.ptr){throwBindingError(`Cannot pass deleted object as a pointer of type ${this.name}`)}if(!this.isConst&&handle.$$.ptrType.isConst){throwBindingError(`Cannot convert argument of type ${handle.$$.smartPtrType?handle.$$.smartPtrType.name:handle.$$.ptrType.name} to parameter type ${this.name}`)}var handleClass=handle.$$.ptrType.registeredClass;ptr=upcastPointer(handle.$$.ptr,handleClass,this.registeredClass);if(this.isSmartPointer){if(undefined===handle.$$.smartPtr){throwBindingError("Passing raw pointer to smart pointer is illegal")}switch(this.sharingPolicy){case 0:if(handle.$$.smartPtrType===this){ptr=handle.$$.smartPtr}else{throwBindingError(`Cannot convert argument of type ${handle.$$.smartPtrType?handle.$$.smartPtrType.name:handle.$$.ptrType.name} to parameter type ${this.name}`)}break;case 1:ptr=handle.$$.smartPtr;break;case 2:if(handle.$$.smartPtrType===this){ptr=handle.$$.smartPtr}else{var clonedHandle=handle["clone"]();ptr=this.rawShare(ptr,Emval.toHandle(function(){clonedHandle["delete"]()}));if(destructors!==null){destructors.push(this.rawDestructor,ptr)}}break;default:throwBindingError("Unsupporting sharing policy")}}return ptr}function nonConstNoSmartPtrRawPointerToWireType(destructors,handle){if(handle===null){if(this.isReference){throwBindingError(`null is not a valid ${this.name}`)}return 0}if(!handle.$$){throwBindingError(`Cannot pass "${embindRepr(handle)}" as a ${this.name}`)}if(!handle.$$.ptr){throwBindingError(`Cannot pass deleted object as a pointer of type ${this.name}`)}if(handle.$$.ptrType.isConst){throwBindingError(`Cannot convert argument of type ${handle.$$.ptrType.name} to parameter type ${this.name}`)}var handleClass=handle.$$.ptrType.registeredClass;var ptr=upcastPointer(handle.$$.ptr,handleClass,this.registeredClass);return ptr}function simpleReadValueFromPointer(pointer){return this["fromWireType"](HEAP32[pointer>>2])}function RegisteredPointer_getPointee(ptr){if(this.rawGetPointee){ptr=this.rawGetPointee(ptr)}return ptr}function RegisteredPointer_destructor(ptr){if(this.rawDestructor){this.rawDestructor(ptr)}}function RegisteredPointer_deleteObject(handle){if(handle!==null){handle["delete"]()}}function init_RegisteredPointer(){RegisteredPointer.prototype.getPointee=RegisteredPointer_getPointee;RegisteredPointer.prototype.destructor=RegisteredPointer_destructor;RegisteredPointer.prototype["argPackAdvance"]=8;RegisteredPointer.prototype["readValueFromPointer"]=simpleReadValueFromPointer;RegisteredPointer.prototype["deleteObject"]=RegisteredPointer_deleteObject;RegisteredPointer.prototype["fromWireType"]=RegisteredPointer_fromWireType}function RegisteredPointer(name,registeredClass,isReference,isConst,isSmartPointer,pointeeType,sharingPolicy,rawGetPointee,rawConstructor,rawShare,rawDestructor){this.name=name;this.registeredClass=registeredClass;this.isReference=isReference;this.isConst=isConst;this.isSmartPointer=isSmartPointer;this.pointeeType=pointeeType;this.sharingPolicy=sharingPolicy;this.rawGetPointee=rawGetPointee;this.rawConstructor=rawConstructor;this.rawShare=rawShare;this.rawDestructor=rawDestructor;if(!isSmartPointer&®isteredClass.baseClass===undefined){if(isConst){this["toWireType"]=constNoSmartPtrRawPointerToWireType;this.destructorFunction=null}else{this["toWireType"]=nonConstNoSmartPtrRawPointerToWireType;this.destructorFunction=null}}else{this["toWireType"]=genericPointerToWireType}}function replacePublicSymbol(name,value,numArguments){if(!Module.hasOwnProperty(name)){throwInternalError("Replacing nonexistant public symbol")}if(undefined!==Module[name].overloadTable&&undefined!==numArguments){Module[name].overloadTable[numArguments]=value}else{Module[name]=value;Module[name].argCount=numArguments}}function dynCallLegacy(sig,ptr,args){var f=Module["dynCall_"+sig];return args&&args.length?f.apply(null,[ptr].concat(args)):f.call(null,ptr)}var wasmTableMirror=[];function getWasmTableEntry(funcPtr){var func=wasmTableMirror[funcPtr];if(!func){if(funcPtr>=wasmTableMirror.length)wasmTableMirror.length=funcPtr+1;wasmTableMirror[funcPtr]=func=wasmTable.get(funcPtr)}return func}function dynCall(sig,ptr,args){if(sig.includes("j")){return dynCallLegacy(sig,ptr,args)}var rtn=getWasmTableEntry(ptr).apply(null,args);return rtn}function getDynCaller(sig,ptr){var argCache=[];return function(){argCache.length=0;Object.assign(argCache,arguments);return dynCall(sig,ptr,argCache)}}function embind__requireFunction(signature,rawFunction){signature=readLatin1String(signature);function makeDynCaller(){if(signature.includes("j")){return getDynCaller(signature,rawFunction)}return getWasmTableEntry(rawFunction)}var fp=makeDynCaller();if(typeof fp!="function"){throwBindingError(`unknown function pointer with signature ${signature}: ${rawFunction}`)}return fp}var UnboundTypeError=undefined;function throwUnboundTypeError(message,types){var unboundTypes=[];var seen={};function visit(type){if(seen[type]){return}if(registeredTypes[type]){return}if(typeDependencies[type]){typeDependencies[type].forEach(visit);return}unboundTypes.push(type);seen[type]=true}types.forEach(visit);throw new UnboundTypeError(`${message}: `+unboundTypes.map(getTypeName).join([", "]))}function __embind_register_class(rawType,rawPointerType,rawConstPointerType,baseClassRawType,getActualTypeSignature,getActualType,upcastSignature,upcast,downcastSignature,downcast,name,destructorSignature,rawDestructor){name=readLatin1String(name);getActualType=embind__requireFunction(getActualTypeSignature,getActualType);if(upcast){upcast=embind__requireFunction(upcastSignature,upcast)}if(downcast){downcast=embind__requireFunction(downcastSignature,downcast)}rawDestructor=embind__requireFunction(destructorSignature,rawDestructor);var legalFunctionName=makeLegalFunctionName(name);exposePublicSymbol(legalFunctionName,function(){throwUnboundTypeError(`Cannot construct ${name} due to unbound types`,[baseClassRawType])});whenDependentTypesAreResolved([rawType,rawPointerType,rawConstPointerType],baseClassRawType?[baseClassRawType]:[],function(base){base=base[0];var baseClass;var basePrototype;if(baseClassRawType){baseClass=base.registeredClass;basePrototype=baseClass.instancePrototype}else{basePrototype=ClassHandle.prototype}var constructor=createNamedFunction(legalFunctionName,function(){if(Object.getPrototypeOf(this)!==instancePrototype){throw new BindingError("Use 'new' to construct "+name)}if(undefined===registeredClass.constructor_body){throw new BindingError(name+" has no accessible constructor")}var body=registeredClass.constructor_body[arguments.length];if(undefined===body){throw new BindingError(`Tried to invoke ctor of ${name} with invalid number of parameters (${arguments.length}) - expected (${Object.keys(registeredClass.constructor_body).toString()}) parameters instead!`)}return body.apply(this,arguments)});var instancePrototype=Object.create(basePrototype,{constructor:{value:constructor}});constructor.prototype=instancePrototype;var registeredClass=new RegisteredClass(name,constructor,instancePrototype,rawDestructor,baseClass,getActualType,upcast,downcast);if(registeredClass.baseClass){if(registeredClass.baseClass.__derivedClasses===undefined){registeredClass.baseClass.__derivedClasses=[]}registeredClass.baseClass.__derivedClasses.push(registeredClass)}var referenceConverter=new RegisteredPointer(name,registeredClass,true,false,false);var pointerConverter=new RegisteredPointer(name+"*",registeredClass,false,false,false);var constPointerConverter=new RegisteredPointer(name+" const*",registeredClass,false,true,false);registeredPointers[rawType]={pointerType:pointerConverter,constPointerType:constPointerConverter};replacePublicSymbol(legalFunctionName,constructor);return[referenceConverter,pointerConverter,constPointerConverter]})}function runDestructors(destructors){while(destructors.length){var ptr=destructors.pop();var del=destructors.pop();del(ptr)}}function craftInvokerFunction(humanName,argTypes,classType,cppInvokerFunc,cppTargetFunc,isAsync){var argCount=argTypes.length;if(argCount<2){throwBindingError("argTypes array size mismatch! Must at least get return value and 'this' types!")}var isClassMethodFunc=argTypes[1]!==null&&classType!==null;var needsDestructorStack=false;for(var i=1;i>2])}return array}function __embind_register_class_class_function(rawClassType,methodName,argCount,rawArgTypesAddr,invokerSignature,rawInvoker,fn,isAsync){var rawArgTypes=heap32VectorToArray(argCount,rawArgTypesAddr);methodName=readLatin1String(methodName);rawInvoker=embind__requireFunction(invokerSignature,rawInvoker);whenDependentTypesAreResolved([],[rawClassType],function(classType){classType=classType[0];var humanName=`${classType.name}.${methodName}`;function unboundTypesHandler(){throwUnboundTypeError(`Cannot call ${humanName} due to unbound types`,rawArgTypes)}if(methodName.startsWith("@@")){methodName=Symbol[methodName.substring(2)]}var proto=classType.registeredClass.constructor;if(undefined===proto[methodName]){unboundTypesHandler.argCount=argCount-1;proto[methodName]=unboundTypesHandler}else{ensureOverloadTable(proto,methodName,humanName);proto[methodName].overloadTable[argCount-1]=unboundTypesHandler}whenDependentTypesAreResolved([],rawArgTypes,function(argTypes){var invokerArgsArray=[argTypes[0],null].concat(argTypes.slice(1));var func=craftInvokerFunction(humanName,invokerArgsArray,null,rawInvoker,fn,isAsync);if(undefined===proto[methodName].overloadTable){func.argCount=argCount-1;proto[methodName]=func}else{proto[methodName].overloadTable[argCount-1]=func}if(classType.registeredClass.__derivedClasses){for(const derivedClass of classType.registeredClass.__derivedClasses){if(!derivedClass.constructor.hasOwnProperty(methodName)){derivedClass.constructor[methodName]=func}}}return[]});return[]})}function __embind_register_class_function(rawClassType,methodName,argCount,rawArgTypesAddr,invokerSignature,rawInvoker,context,isPureVirtual,isAsync){var rawArgTypes=heap32VectorToArray(argCount,rawArgTypesAddr);methodName=readLatin1String(methodName);rawInvoker=embind__requireFunction(invokerSignature,rawInvoker);whenDependentTypesAreResolved([],[rawClassType],function(classType){classType=classType[0];var humanName=`${classType.name}.${methodName}`;if(methodName.startsWith("@@")){methodName=Symbol[methodName.substring(2)]}if(isPureVirtual){classType.registeredClass.pureVirtualFunctions.push(methodName)}function unboundTypesHandler(){throwUnboundTypeError(`Cannot call ${humanName} due to unbound types`,rawArgTypes)}var proto=classType.registeredClass.instancePrototype;var method=proto[methodName];if(undefined===method||undefined===method.overloadTable&&method.className!==classType.name&&method.argCount===argCount-2){unboundTypesHandler.argCount=argCount-2;unboundTypesHandler.className=classType.name;proto[methodName]=unboundTypesHandler}else{ensureOverloadTable(proto,methodName,humanName);proto[methodName].overloadTable[argCount-2]=unboundTypesHandler}whenDependentTypesAreResolved([],rawArgTypes,function(argTypes){var memberFunction=craftInvokerFunction(humanName,argTypes,classType,rawInvoker,context,isAsync);if(undefined===proto[methodName].overloadTable){memberFunction.argCount=argCount-2;proto[methodName]=memberFunction}else{proto[methodName].overloadTable[argCount-2]=memberFunction}return[]});return[]})}function __emval_decref(handle){if(handle>=emval_handles.reserved&&0===--emval_handles.get(handle).refcount){emval_handles.free(handle)}}function __embind_register_emval(rawType,name){name=readLatin1String(name);registerType(rawType,{name:name,"fromWireType":function(handle){var rv=Emval.toValue(handle);__emval_decref(handle);return rv},"toWireType":function(destructors,value){return Emval.toHandle(value)},"argPackAdvance":8,"readValueFromPointer":simpleReadValueFromPointer,destructorFunction:null})}function embindRepr(v){if(v===null){return"null"}var t=typeof v;if(t==="object"||t==="array"||t==="function"){return v.toString()}else{return""+v}}function floatReadValueFromPointer(name,shift){switch(shift){case 2:return function(pointer){return this["fromWireType"](HEAPF32[pointer>>2])};case 3:return function(pointer){return this["fromWireType"](HEAPF64[pointer>>3])};default:throw new TypeError("Unknown float type: "+name)}}function __embind_register_float(rawType,name,size){var shift=getShiftFromSize(size);name=readLatin1String(name);registerType(rawType,{name:name,"fromWireType":function(value){return value},"toWireType":function(destructors,value){return value},"argPackAdvance":8,"readValueFromPointer":floatReadValueFromPointer(name,shift),destructorFunction:null})}function __embind_register_function(name,argCount,rawArgTypesAddr,signature,rawInvoker,fn,isAsync){var argTypes=heap32VectorToArray(argCount,rawArgTypesAddr);name=readLatin1String(name);rawInvoker=embind__requireFunction(signature,rawInvoker);exposePublicSymbol(name,function(){throwUnboundTypeError(`Cannot call ${name} due to unbound types`,argTypes)},argCount-1);whenDependentTypesAreResolved([],argTypes,function(argTypes){var invokerArgsArray=[argTypes[0],null].concat(argTypes.slice(1));replacePublicSymbol(name,craftInvokerFunction(name,invokerArgsArray,null,rawInvoker,fn,isAsync),argCount-1);return[]})}function integerReadValueFromPointer(name,shift,signed){switch(shift){case 0:return signed?function readS8FromPointer(pointer){return HEAP8[pointer]}:function readU8FromPointer(pointer){return HEAPU8[pointer]};case 1:return signed?function readS16FromPointer(pointer){return HEAP16[pointer>>1]}:function readU16FromPointer(pointer){return HEAPU16[pointer>>1]};case 2:return signed?function readS32FromPointer(pointer){return HEAP32[pointer>>2]}:function readU32FromPointer(pointer){return HEAPU32[pointer>>2]};default:throw new TypeError("Unknown integer type: "+name)}}function __embind_register_integer(primitiveType,name,size,minRange,maxRange){name=readLatin1String(name);if(maxRange===-1){maxRange=4294967295}var shift=getShiftFromSize(size);var fromWireType=value=>value;if(minRange===0){var bitshift=32-8*size;fromWireType=value=>value<>>bitshift}var isUnsignedType=name.includes("unsigned");var checkAssertions=(value,toTypeName)=>{};var toWireType;if(isUnsignedType){toWireType=function(destructors,value){checkAssertions(value,this.name);return value>>>0}}else{toWireType=function(destructors,value){checkAssertions(value,this.name);return value}}registerType(primitiveType,{name:name,"fromWireType":fromWireType,"toWireType":toWireType,"argPackAdvance":8,"readValueFromPointer":integerReadValueFromPointer(name,shift,minRange!==0),destructorFunction:null})}function __embind_register_memory_view(rawType,dataTypeIndex,name){var typeMapping=[Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array];var TA=typeMapping[dataTypeIndex];function decodeMemoryView(handle){handle=handle>>2;var heap=HEAPU32;var size=heap[handle];var data=heap[handle+1];return new TA(heap.buffer,data,size)}name=readLatin1String(name);registerType(rawType,{name:name,"fromWireType":decodeMemoryView,"argPackAdvance":8,"readValueFromPointer":decodeMemoryView},{ignoreDuplicateRegistrations:true})}function stringToUTF8Array(str,heap,outIdx,maxBytesToWrite){if(!(maxBytesToWrite>0))return 0;var startIdx=outIdx;var endIdx=outIdx+maxBytesToWrite-1;for(var i=0;i=55296&&u<=57343){var u1=str.charCodeAt(++i);u=65536+((u&1023)<<10)|u1&1023}if(u<=127){if(outIdx>=endIdx)break;heap[outIdx++]=u}else if(u<=2047){if(outIdx+1>=endIdx)break;heap[outIdx++]=192|u>>6;heap[outIdx++]=128|u&63}else if(u<=65535){if(outIdx+2>=endIdx)break;heap[outIdx++]=224|u>>12;heap[outIdx++]=128|u>>6&63;heap[outIdx++]=128|u&63}else{if(outIdx+3>=endIdx)break;heap[outIdx++]=240|u>>18;heap[outIdx++]=128|u>>12&63;heap[outIdx++]=128|u>>6&63;heap[outIdx++]=128|u&63}}heap[outIdx]=0;return outIdx-startIdx}function stringToUTF8(str,outPtr,maxBytesToWrite){return stringToUTF8Array(str,HEAPU8,outPtr,maxBytesToWrite)}function lengthBytesUTF8(str){var len=0;for(var i=0;i=55296&&c<=57343){len+=4;++i}else{len+=3}}return len}var UTF8Decoder=typeof TextDecoder!="undefined"?new TextDecoder("utf8"):undefined;function UTF8ArrayToString(heapOrArray,idx,maxBytesToRead){var endIdx=idx+maxBytesToRead;var endPtr=idx;while(heapOrArray[endPtr]&&!(endPtr>=endIdx))++endPtr;if(endPtr-idx>16&&heapOrArray.buffer&&UTF8Decoder){return UTF8Decoder.decode(heapOrArray.subarray(idx,endPtr))}var str="";while(idx>10,56320|ch&1023)}}return str}function UTF8ToString(ptr,maxBytesToRead){return ptr?UTF8ArrayToString(HEAPU8,ptr,maxBytesToRead):""}function __embind_register_std_string(rawType,name){name=readLatin1String(name);var stdStringIsUTF8=name==="std::string";registerType(rawType,{name:name,"fromWireType":function(value){var length=HEAPU32[value>>2];var payload=value+4;var str;if(stdStringIsUTF8){var decodeStartPtr=payload;for(var i=0;i<=length;++i){var currentBytePtr=payload+i;if(i==length||HEAPU8[currentBytePtr]==0){var maxRead=currentBytePtr-decodeStartPtr;var stringSegment=UTF8ToString(decodeStartPtr,maxRead);if(str===undefined){str=stringSegment}else{str+=String.fromCharCode(0);str+=stringSegment}decodeStartPtr=currentBytePtr+1}}}else{var a=new Array(length);for(var i=0;i>2]=length;if(stdStringIsUTF8&&valueIsOfTypeString){stringToUTF8(value,ptr,length+1)}else{if(valueIsOfTypeString){for(var i=0;i255){_free(ptr);throwBindingError("String has UTF-16 code units that do not fit in 8 bits")}HEAPU8[ptr+i]=charCode}}else{for(var i=0;i>1;var maxIdx=idx+maxBytesToRead/2;while(!(idx>=maxIdx)&&HEAPU16[idx])++idx;endPtr=idx<<1;if(endPtr-ptr>32&&UTF16Decoder)return UTF16Decoder.decode(HEAPU8.subarray(ptr,endPtr));var str="";for(var i=0;!(i>=maxBytesToRead/2);++i){var codeUnit=HEAP16[ptr+i*2>>1];if(codeUnit==0)break;str+=String.fromCharCode(codeUnit)}return str}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}function lengthBytesUTF16(str){return str.length*2}function UTF32ToString(ptr,maxBytesToRead){var i=0;var str="";while(!(i>=maxBytesToRead/4)){var utf32=HEAP32[ptr+i*4>>2];if(utf32==0)break;++i;if(utf32>=65536){var ch=utf32-65536;str+=String.fromCharCode(55296|ch>>10,56320|ch&1023)}else{str+=String.fromCharCode(utf32)}}return str}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}function lengthBytesUTF32(str){var len=0;for(var i=0;i=55296&&codeUnit<=57343)++i;len+=4}return len}function __embind_register_std_wstring(rawType,charSize,name){name=readLatin1String(name);var decodeString,encodeString,getHeap,lengthBytesUTF,shift;if(charSize===2){decodeString=UTF16ToString;encodeString=stringToUTF16;lengthBytesUTF=lengthBytesUTF16;getHeap=()=>HEAPU16;shift=1}else if(charSize===4){decodeString=UTF32ToString;encodeString=stringToUTF32;lengthBytesUTF=lengthBytesUTF32;getHeap=()=>HEAPU32;shift=2}registerType(rawType,{name:name,"fromWireType":function(value){var length=HEAPU32[value>>2];var HEAP=getHeap();var str;var decodeStartPtr=value+4;for(var i=0;i<=length;++i){var currentBytePtr=value+4+i*charSize;if(i==length||HEAP[currentBytePtr>>shift]==0){var maxReadBytes=currentBytePtr-decodeStartPtr;var stringSegment=decodeString(decodeStartPtr,maxReadBytes);if(str===undefined){str=stringSegment}else{str+=String.fromCharCode(0);str+=stringSegment}decodeStartPtr=currentBytePtr+charSize}}_free(value);return str},"toWireType":function(destructors,value){if(!(typeof value=="string")){throwBindingError(`Cannot pass non-string to C++ string type ${name}`)}var length=lengthBytesUTF(value);var ptr=_malloc(4+length+charSize);HEAPU32[ptr>>2]=length>>shift;encodeString(value,ptr+4,length+charSize);if(destructors!==null){destructors.push(_free,ptr)}return ptr},"argPackAdvance":8,"readValueFromPointer":simpleReadValueFromPointer,destructorFunction:function(ptr){_free(ptr)}})}function __embind_register_void(rawType,name){name=readLatin1String(name);registerType(rawType,{isVoid:true,name:name,"argPackAdvance":0,"fromWireType":function(){return undefined},"toWireType":function(destructors,o){return undefined}})}var emval_symbols={};function getStringOrSymbol(address){var symbol=emval_symbols[address];if(symbol===undefined){return readLatin1String(address)}return symbol}var emval_methodCallers=[];function __emval_call_void_method(caller,handle,methodName,args){caller=emval_methodCallers[caller];handle=Emval.toValue(handle);methodName=getStringOrSymbol(methodName);caller(handle,methodName,null,args)}function emval_addMethodCaller(caller){var id=emval_methodCallers.length;emval_methodCallers.push(caller);return id}function emval_lookupTypes(argCount,argTypes){var a=new Array(argCount);for(var i=0;i>2],"parameter "+i)}return a}var emval_registeredMethods=[];function __emval_get_method_caller(argCount,argTypes){var types=emval_lookupTypes(argCount,argTypes);var retType=types[0];var signatureName=retType.name+"_$"+types.slice(1).map(function(t){return t.name}).join("_")+"$";var returnId=emval_registeredMethods[signatureName];if(returnId!==undefined){return returnId}var argN=new Array(argCount-1);var invokerFunction=(handle,name,destructors,args)=>{var offset=0;for(var i=0;i4){emval_handles.get(handle).refcount+=1}}function _abort(){abort("")}function _emscripten_memcpy_big(dest,src,num){HEAPU8.copyWithin(dest,src,src+num)}function getHeapMax(){return 2147483648}function emscripten_realloc_buffer(size){var b=wasmMemory.buffer;var pages=size-b.byteLength+65535>>>16;try{wasmMemory.grow(pages);updateMemoryViews();return 1}catch(e){}}function _emscripten_resize_heap(requestedSize){var oldSize=HEAPU8.length;requestedSize=requestedSize>>>0;var maxHeapSize=getHeapMax();if(requestedSize>maxHeapSize){return false}var alignUp=(x,multiple)=>x+(multiple-x%multiple)%multiple;for(var cutDown=1;cutDown<=4;cutDown*=2){var overGrownHeapSize=oldSize*(1+.2/cutDown);overGrownHeapSize=Math.min(overGrownHeapSize,requestedSize+100663296);var newSize=Math.min(maxHeapSize,alignUp(Math.max(requestedSize,overGrownHeapSize),65536));var replacement=emscripten_realloc_buffer(newSize);if(replacement){return true}}return false}BindingError=Module["BindingError"]=extendError(Error,"BindingError");init_emval();PureVirtualError=Module["PureVirtualError"]=extendError(Error,"PureVirtualError");embind_init_charCodes();init_embind();InternalError=Module["InternalError"]=extendError(Error,"InternalError");init_ClassHandle();init_RegisteredPointer();UnboundTypeError=Module["UnboundTypeError"]=extendError(Error,"UnboundTypeError");var decodeBase64=typeof atob=="function"?atob:function(input){var keyStr="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";var output="";var chr1,chr2,chr3;var enc1,enc2,enc3,enc4;var i=0;input=input.replace(/[^A-Za-z0-9\+\/\=]/g,"");do{enc1=keyStr.indexOf(input.charAt(i++));enc2=keyStr.indexOf(input.charAt(i++));enc3=keyStr.indexOf(input.charAt(i++));enc4=keyStr.indexOf(input.charAt(i++));chr1=enc1<<2|enc2>>4;chr2=(enc2&15)<<4|enc3>>2;chr3=(enc3&3)<<6|enc4;output=output+String.fromCharCode(chr1);if(enc3!==64){output=output+String.fromCharCode(chr2)}if(enc4!==64){output=output+String.fromCharCode(chr3)}}while(i0){return}preRun();if(runDependencies>0){return}function doRun(){if(calledRun)return;calledRun=true;Module["calledRun"]=true;if(ABORT)return;initRuntime();readyPromiseResolve(Module);if(Module["onRuntimeInitialized"])Module["onRuntimeInitialized"]();postRun()}if(Module["setStatus"]){Module["setStatus"]("Running...");setTimeout(function(){setTimeout(function(){Module["setStatus"]("")},1);doRun()},1)}else{doRun()}}if(Module["preInit"]){if(typeof Module["preInit"]=="function")Module["preInit"]=[Module["preInit"]];while(Module["preInit"].length>0){Module["preInit"].pop()()}}run(); + + + return Bullet.ready +} + +); +})(); +if (typeof exports === 'object' && typeof module === 'object') + module.exports = Bullet; +else if (typeof define === 'function' && define['amd']) + define([], function() { return Bullet; }); +else if (typeof exports === 'object') + exports["Bullet"] = Bullet; diff --git a/emscripten/bullet/bullet.release.wasm.js b/emscripten/bullet/bullet.release.wasm.js new file mode 100644 index 00000000..9e956122 --- /dev/null +++ b/emscripten/bullet/bullet.release.wasm.js @@ -0,0 +1,21 @@ + +var Bullet = (() => { + var _scriptDir = typeof document !== 'undefined' && document.currentScript ? document.currentScript.src : undefined; + + return ( +function(Bullet = {}) { + +var Module=typeof Bullet!="undefined"?Bullet:{};var readyPromiseResolve,readyPromiseReject;Module["ready"]=new Promise((resolve,reject)=>{readyPromiseResolve=resolve;readyPromiseReject=reject});var moduleOverrides=Object.assign({},Module);var arguments_=[];var thisProgram="./this.program";var quit_=(status,toThrow)=>{throw toThrow};var ENVIRONMENT_IS_WEB=true;var ENVIRONMENT_IS_WORKER=false;var scriptDirectory="";function locateFile(path){if(Module["locateFile"]){return Module["locateFile"](path,scriptDirectory)}return scriptDirectory+path}var read_,readAsync,readBinary,setWindowTitle;if(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER){if(ENVIRONMENT_IS_WORKER){scriptDirectory=self.location.href}else if(typeof document!="undefined"&&document.currentScript){scriptDirectory=document.currentScript.src}if(_scriptDir){scriptDirectory=_scriptDir}if(scriptDirectory.indexOf("blob:")!==0){scriptDirectory=scriptDirectory.substr(0,scriptDirectory.replace(/[?#].*/,"").lastIndexOf("/")+1)}else{scriptDirectory=""}{read_=url=>{var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.send(null);return xhr.responseText};if(ENVIRONMENT_IS_WORKER){readBinary=url=>{var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.responseType="arraybuffer";xhr.send(null);return new Uint8Array(xhr.response)}}readAsync=(url,onload,onerror)=>{var xhr=new XMLHttpRequest;xhr.open("GET",url,true);xhr.responseType="arraybuffer";xhr.onload=()=>{if(xhr.status==200||xhr.status==0&&xhr.response){onload(xhr.response);return}onerror()};xhr.onerror=onerror;xhr.send(null)}}setWindowTitle=title=>document.title=title}else{}var out=Module["print"]||console.log.bind(console);var err=Module["printErr"]||console.error.bind(console);Object.assign(Module,moduleOverrides);moduleOverrides=null;if(Module["arguments"])arguments_=Module["arguments"];if(Module["thisProgram"])thisProgram=Module["thisProgram"];if(Module["quit"])quit_=Module["quit"];var wasmBinary;if(Module["wasmBinary"])wasmBinary=Module["wasmBinary"];var noExitRuntime=Module["noExitRuntime"]||true;if(typeof WebAssembly!="object"){abort("no native wasm support detected")}var wasmMemory;var ABORT=false;var EXITSTATUS;var HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAPF64;function updateMemoryViews(){var b=wasmMemory.buffer;Module["HEAP8"]=HEAP8=new Int8Array(b);Module["HEAP16"]=HEAP16=new Int16Array(b);Module["HEAP32"]=HEAP32=new Int32Array(b);Module["HEAPU8"]=HEAPU8=new Uint8Array(b);Module["HEAPU16"]=HEAPU16=new Uint16Array(b);Module["HEAPU32"]=HEAPU32=new Uint32Array(b);Module["HEAPF32"]=HEAPF32=new Float32Array(b);Module["HEAPF64"]=HEAPF64=new Float64Array(b)}var wasmTable;var __ATPRERUN__=[];var __ATINIT__=[];var __ATPOSTRUN__=[];var runtimeInitialized=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 initRuntime(){runtimeInitialized=true;callRuntimeCallbacks(__ATINIT__)}function postRun(){if(Module["postRun"]){if(typeof Module["postRun"]=="function")Module["postRun"]=[Module["postRun"]];while(Module["postRun"].length){addOnPostRun(Module["postRun"].shift())}}callRuntimeCallbacks(__ATPOSTRUN__)}function addOnPreRun(cb){__ATPRERUN__.unshift(cb)}function addOnInit(cb){__ATINIT__.unshift(cb)}function addOnPostRun(cb){__ATPOSTRUN__.unshift(cb)}var runDependencies=0;var runDependencyWatcher=null;var dependenciesFulfilled=null;function addRunDependency(id){runDependencies++;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}}function removeRunDependency(id){runDependencies--;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}if(runDependencies==0){if(runDependencyWatcher!==null){clearInterval(runDependencyWatcher);runDependencyWatcher=null}if(dependenciesFulfilled){var callback=dependenciesFulfilled;dependenciesFulfilled=null;callback()}}}function abort(what){if(Module["onAbort"]){Module["onAbort"](what)}what="Aborted("+what+")";err(what);ABORT=true;EXITSTATUS=1;what+=". Build with -sASSERTIONS for more info.";var e=new WebAssembly.RuntimeError(what);readyPromiseReject(e);throw e}var dataURIPrefix="data:application/octet-stream;base64,";function isDataURI(filename){return filename.startsWith(dataURIPrefix)}var wasmBinaryFile;wasmBinaryFile="bullet.release.wasm.wasm";if(!isDataURI(wasmBinaryFile)){wasmBinaryFile=locateFile(wasmBinaryFile)}function getBinary(file){try{if(file==wasmBinaryFile&&wasmBinary){return new Uint8Array(wasmBinary)}if(readBinary){return readBinary(file)}throw"both async and sync fetching of the wasm failed"}catch(err){abort(err)}}function getBinaryPromise(binaryFile){if(!wasmBinary&&(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER)){if(typeof fetch=="function"){return fetch(binaryFile,{credentials:"same-origin"}).then(response=>{if(!response["ok"]){throw"failed to load wasm binary file at '"+binaryFile+"'"}return response["arrayBuffer"]()}).catch(()=>getBinary(binaryFile))}}return Promise.resolve().then(()=>getBinary(binaryFile))}function instantiateArrayBuffer(binaryFile,imports,receiver){return getBinaryPromise(binaryFile).then(binary=>{return WebAssembly.instantiate(binary,imports)}).then(instance=>{return instance}).then(receiver,reason=>{err("failed to asynchronously prepare wasm: "+reason);abort(reason)})}function instantiateAsync(binary,binaryFile,imports,callback){if(!binary&&typeof WebAssembly.instantiateStreaming=="function"&&!isDataURI(binaryFile)&&typeof fetch=="function"){return fetch(binaryFile,{credentials:"same-origin"}).then(response=>{var result=WebAssembly.instantiateStreaming(response,imports);return result.then(callback,function(reason){err("wasm streaming compile failed: "+reason);err("falling back to ArrayBuffer instantiation");return instantiateArrayBuffer(binaryFile,imports,callback)})})}else{return instantiateArrayBuffer(binaryFile,imports,callback)}}function createWasm(){var info={"a":wasmImports};function receiveInstance(instance,module){var exports=instance.exports;Module["asm"]=exports;wasmMemory=Module["asm"]["v"];updateMemoryViews();wasmTable=Module["asm"]["z"];addOnInit(Module["asm"]["w"]);removeRunDependency("wasm-instantiate");return exports}addRunDependency("wasm-instantiate");function receiveInstantiationResult(result){receiveInstance(result["instance"])}if(Module["instantiateWasm"]){try{return Module["instantiateWasm"](info,receiveInstance)}catch(e){err("Module.instantiateWasm callback failed with error: "+e);readyPromiseReject(e)}}instantiateAsync(wasmBinary,wasmBinaryFile,info,receiveInstantiationResult).catch(readyPromiseReject);return{}}function callRuntimeCallbacks(callbacks){while(callbacks.length>0){callbacks.shift()(Module)}}var char_0=48;var char_9=57;function makeLegalFunctionName(name){if(undefined===name){return"_unknown"}name=name.replace(/[^a-zA-Z0-9_]/g,"$");var f=name.charCodeAt(0);if(f>=char_0&&f<=char_9){return`_${name}`}return name}function createNamedFunction(name,body){name=makeLegalFunctionName(name);return{[name]:function(){return body.apply(this,arguments)}}[name]}function HandleAllocator(){this.allocated=[undefined];this.freelist=[];this.get=function(id){return this.allocated[id]};this.has=function(id){return this.allocated[id]!==undefined};this.allocate=function(handle){var id=this.freelist.pop()||this.allocated.length;this.allocated[id]=handle;return id};this.free=function(id){this.allocated[id]=undefined;this.freelist.push(id)}}var emval_handles=new HandleAllocator;function extendError(baseErrorType,errorName){var errorClass=createNamedFunction(errorName,function(message){this.name=errorName;this.message=message;var stack=new Error(message).stack;if(stack!==undefined){this.stack=this.toString()+"\n"+stack.replace(/^Error(:[^\n]*)?\n/,"")}});errorClass.prototype=Object.create(baseErrorType.prototype);errorClass.prototype.constructor=errorClass;errorClass.prototype.toString=function(){if(this.message===undefined){return this.name}else{return`${this.name}: ${this.message}`}};return errorClass}var BindingError=undefined;function throwBindingError(message){throw new BindingError(message)}function count_emval_handles(){var count=0;for(var i=emval_handles.reserved;i{if(!handle){throwBindingError("Cannot use deleted val. handle = "+handle)}return emval_handles.get(handle).value},toHandle:value=>{switch(value){case undefined:return 1;case null:return 2;case true:return 3;case false:return 4;default:{return emval_handles.allocate({refcount:1,value:value})}}}};var PureVirtualError=undefined;function embind_init_charCodes(){var codes=new Array(256);for(var i=0;i<256;++i){codes[i]=String.fromCharCode(i)}embind_charCodes=codes}var embind_charCodes=undefined;function readLatin1String(ptr){var ret="";var c=ptr;while(HEAPU8[c]){ret+=embind_charCodes[HEAPU8[c++]]}return ret}function getInheritedInstanceCount(){return Object.keys(registeredInstances).length}function getLiveInheritedInstances(){var rv=[];for(var k in registeredInstances){if(registeredInstances.hasOwnProperty(k)){rv.push(registeredInstances[k])}}return rv}var deletionQueue=[];function flushPendingDeletes(){while(deletionQueue.length){var obj=deletionQueue.pop();obj.$$.deleteScheduled=false;obj["delete"]()}}var delayFunction=undefined;function setDelayFunction(fn){delayFunction=fn;if(deletionQueue.length&&delayFunction){delayFunction(flushPendingDeletes)}}function init_embind(){Module["getInheritedInstanceCount"]=getInheritedInstanceCount;Module["getLiveInheritedInstances"]=getLiveInheritedInstances;Module["flushPendingDeletes"]=flushPendingDeletes;Module["setDelayFunction"]=setDelayFunction}var registeredInstances={};function getBasestPointer(class_,ptr){if(ptr===undefined){throwBindingError("ptr should not be undefined")}while(class_.baseClass){ptr=class_.upcast(ptr);class_=class_.baseClass}return ptr}function registerInheritedInstance(class_,ptr,instance){ptr=getBasestPointer(class_,ptr);if(registeredInstances.hasOwnProperty(ptr)){throwBindingError(`Tried to register registered instance: ${ptr}`)}else{registeredInstances[ptr]=instance}}var registeredTypes={};function getTypeName(type){var ptr=___getTypeName(type);var rv=readLatin1String(ptr);_free(ptr);return rv}function requireRegisteredType(rawType,humanName){var impl=registeredTypes[rawType];if(undefined===impl){throwBindingError(humanName+" has unknown type "+getTypeName(rawType))}return impl}function unregisterInheritedInstance(class_,ptr){ptr=getBasestPointer(class_,ptr);if(registeredInstances.hasOwnProperty(ptr)){delete registeredInstances[ptr]}else{throwBindingError(`Tried to unregister unregistered instance: ${ptr}`)}}function detachFinalizer(handle){}var finalizationRegistry=false;function runDestructor($$){if($$.smartPtr){$$.smartPtrType.rawDestructor($$.smartPtr)}else{$$.ptrType.registeredClass.rawDestructor($$.ptr)}}function releaseClassHandle($$){$$.count.value-=1;var toDelete=0===$$.count.value;if(toDelete){runDestructor($$)}}function downcastPointer(ptr,ptrClass,desiredClass){if(ptrClass===desiredClass){return ptr}if(undefined===desiredClass.baseClass){return null}var rv=downcastPointer(ptr,ptrClass,desiredClass.baseClass);if(rv===null){return null}return desiredClass.downcast(rv)}var registeredPointers={};function getInheritedInstance(class_,ptr){ptr=getBasestPointer(class_,ptr);return registeredInstances[ptr]}var InternalError=undefined;function throwInternalError(message){throw new InternalError(message)}function makeClassHandle(prototype,record){if(!record.ptrType||!record.ptr){throwInternalError("makeClassHandle requires ptr and ptrType")}var hasSmartPtrType=!!record.smartPtrType;var hasSmartPtr=!!record.smartPtr;if(hasSmartPtrType!==hasSmartPtr){throwInternalError("Both smartPtrType and smartPtr must be specified")}record.count={value:1};return attachFinalizer(Object.create(prototype,{$$:{value:record}}))}function RegisteredPointer_fromWireType(ptr){var rawPointer=this.getPointee(ptr);if(!rawPointer){this.destructor(ptr);return null}var registeredInstance=getInheritedInstance(this.registeredClass,rawPointer);if(undefined!==registeredInstance){if(0===registeredInstance.$$.count.value){registeredInstance.$$.ptr=rawPointer;registeredInstance.$$.smartPtr=ptr;return registeredInstance["clone"]()}else{var rv=registeredInstance["clone"]();this.destructor(ptr);return rv}}function makeDefaultHandle(){if(this.isSmartPointer){return makeClassHandle(this.registeredClass.instancePrototype,{ptrType:this.pointeeType,ptr:rawPointer,smartPtrType:this,smartPtr:ptr})}else{return makeClassHandle(this.registeredClass.instancePrototype,{ptrType:this,ptr:ptr})}}var actualType=this.registeredClass.getActualType(rawPointer);var registeredPointerRecord=registeredPointers[actualType];if(!registeredPointerRecord){return makeDefaultHandle.call(this)}var toType;if(this.isConst){toType=registeredPointerRecord.constPointerType}else{toType=registeredPointerRecord.pointerType}var dp=downcastPointer(rawPointer,this.registeredClass,toType.registeredClass);if(dp===null){return makeDefaultHandle.call(this)}if(this.isSmartPointer){return makeClassHandle(toType.registeredClass.instancePrototype,{ptrType:toType,ptr:dp,smartPtrType:this,smartPtr:ptr})}else{return makeClassHandle(toType.registeredClass.instancePrototype,{ptrType:toType,ptr:dp})}}function attachFinalizer(handle){if("undefined"===typeof FinalizationRegistry){attachFinalizer=handle=>handle;return handle}finalizationRegistry=new FinalizationRegistry(info=>{releaseClassHandle(info.$$)});attachFinalizer=handle=>{var $$=handle.$$;var hasSmartPtr=!!$$.smartPtr;if(hasSmartPtr){var info={$$:$$};finalizationRegistry.register(handle,info,handle)}return handle};detachFinalizer=handle=>finalizationRegistry.unregister(handle);return attachFinalizer(handle)}function __embind_create_inheriting_constructor(constructorName,wrapperType,properties){constructorName=readLatin1String(constructorName);wrapperType=requireRegisteredType(wrapperType,"wrapper");properties=Emval.toValue(properties);var arraySlice=[].slice;var registeredClass=wrapperType.registeredClass;var wrapperPrototype=registeredClass.instancePrototype;var baseClass=registeredClass.baseClass;var baseClassPrototype=baseClass.instancePrototype;var baseConstructor=registeredClass.baseClass.constructor;var ctor=createNamedFunction(constructorName,function(){registeredClass.baseClass.pureVirtualFunctions.forEach(function(name){if(this[name]===baseClassPrototype[name]){throw new PureVirtualError(`Pure virtual function ${name} must be implemented in JavaScript`)}}.bind(this));Object.defineProperty(this,"__parent",{value:wrapperPrototype});this["__construct"].apply(this,arraySlice.call(arguments))});wrapperPrototype["__construct"]=function __construct(){if(this===wrapperPrototype){throwBindingError("Pass correct 'this' to __construct")}var inner=baseConstructor["implement"].apply(undefined,[this].concat(arraySlice.call(arguments)));detachFinalizer(inner);var $$=inner.$$;inner["notifyOnDestruction"]();$$.preservePointerOnDelete=true;Object.defineProperties(this,{$$:{value:$$}});attachFinalizer(this);registerInheritedInstance(registeredClass,$$.ptr,this)};wrapperPrototype["__destruct"]=function __destruct(){if(this===wrapperPrototype){throwBindingError("Pass correct 'this' to __destruct")}detachFinalizer(this);unregisterInheritedInstance(registeredClass,this.$$.ptr)};ctor.prototype=Object.create(wrapperPrototype);for(var p in properties){ctor.prototype[p]=properties[p]}return Emval.toHandle(ctor)}function __embind_register_bigint(primitiveType,name,size,minRange,maxRange){}function getShiftFromSize(size){switch(size){case 1:return 0;case 2:return 1;case 4:return 2;case 8:return 3;default:throw new TypeError(`Unknown type size: ${size}`)}}var awaitingDependencies={};var typeDependencies={};function whenDependentTypesAreResolved(myTypes,dependentTypes,getTypeConverters){myTypes.forEach(function(type){typeDependencies[type]=dependentTypes});function onComplete(typeConverters){var myTypeConverters=getTypeConverters(typeConverters);if(myTypeConverters.length!==myTypes.length){throwInternalError("Mismatched type converter count")}for(var i=0;i{if(registeredTypes.hasOwnProperty(dt)){typeConverters[i]=registeredTypes[dt]}else{unregisteredTypes.push(dt);if(!awaitingDependencies.hasOwnProperty(dt)){awaitingDependencies[dt]=[]}awaitingDependencies[dt].push(()=>{typeConverters[i]=registeredTypes[dt];++registered;if(registered===unregisteredTypes.length){onComplete(typeConverters)}})}});if(0===unregisteredTypes.length){onComplete(typeConverters)}}function registerType(rawType,registeredInstance,options={}){if(!("argPackAdvance"in registeredInstance)){throw new TypeError("registerType registeredInstance requires argPackAdvance")}var name=registeredInstance.name;if(!rawType){throwBindingError(`type "${name}" must have a positive integer typeid pointer`)}if(registeredTypes.hasOwnProperty(rawType)){if(options.ignoreDuplicateRegistrations){return}else{throwBindingError(`Cannot register type '${name}' twice`)}}registeredTypes[rawType]=registeredInstance;delete typeDependencies[rawType];if(awaitingDependencies.hasOwnProperty(rawType)){var callbacks=awaitingDependencies[rawType];delete awaitingDependencies[rawType];callbacks.forEach(cb=>cb())}}function __embind_register_bool(rawType,name,size,trueValue,falseValue){var shift=getShiftFromSize(size);name=readLatin1String(name);registerType(rawType,{name:name,"fromWireType":function(wt){return!!wt},"toWireType":function(destructors,o){return o?trueValue:falseValue},"argPackAdvance":8,"readValueFromPointer":function(pointer){var heap;if(size===1){heap=HEAP8}else if(size===2){heap=HEAP16}else if(size===4){heap=HEAP32}else{throw new TypeError("Unknown boolean type size: "+name)}return this["fromWireType"](heap[pointer>>shift])},destructorFunction:null})}function ClassHandle_isAliasOf(other){if(!(this instanceof ClassHandle)){return false}if(!(other instanceof ClassHandle)){return false}var leftClass=this.$$.ptrType.registeredClass;var left=this.$$.ptr;var rightClass=other.$$.ptrType.registeredClass;var right=other.$$.ptr;while(leftClass.baseClass){left=leftClass.upcast(left);leftClass=leftClass.baseClass}while(rightClass.baseClass){right=rightClass.upcast(right);rightClass=rightClass.baseClass}return leftClass===rightClass&&left===right}function shallowCopyInternalPointer(o){return{count:o.count,deleteScheduled:o.deleteScheduled,preservePointerOnDelete:o.preservePointerOnDelete,ptr:o.ptr,ptrType:o.ptrType,smartPtr:o.smartPtr,smartPtrType:o.smartPtrType}}function throwInstanceAlreadyDeleted(obj){function getInstanceTypeName(handle){return handle.$$.ptrType.registeredClass.name}throwBindingError(getInstanceTypeName(obj)+" instance already deleted")}function ClassHandle_clone(){if(!this.$$.ptr){throwInstanceAlreadyDeleted(this)}if(this.$$.preservePointerOnDelete){this.$$.count.value+=1;return this}else{var clone=attachFinalizer(Object.create(Object.getPrototypeOf(this),{$$:{value:shallowCopyInternalPointer(this.$$)}}));clone.$$.count.value+=1;clone.$$.deleteScheduled=false;return clone}}function ClassHandle_delete(){if(!this.$$.ptr){throwInstanceAlreadyDeleted(this)}if(this.$$.deleteScheduled&&!this.$$.preservePointerOnDelete){throwBindingError("Object already scheduled for deletion")}detachFinalizer(this);releaseClassHandle(this.$$);if(!this.$$.preservePointerOnDelete){this.$$.smartPtr=undefined;this.$$.ptr=undefined}}function ClassHandle_isDeleted(){return!this.$$.ptr}function ClassHandle_deleteLater(){if(!this.$$.ptr){throwInstanceAlreadyDeleted(this)}if(this.$$.deleteScheduled&&!this.$$.preservePointerOnDelete){throwBindingError("Object already scheduled for deletion")}deletionQueue.push(this);if(deletionQueue.length===1&&delayFunction){delayFunction(flushPendingDeletes)}this.$$.deleteScheduled=true;return this}function init_ClassHandle(){ClassHandle.prototype["isAliasOf"]=ClassHandle_isAliasOf;ClassHandle.prototype["clone"]=ClassHandle_clone;ClassHandle.prototype["delete"]=ClassHandle_delete;ClassHandle.prototype["isDeleted"]=ClassHandle_isDeleted;ClassHandle.prototype["deleteLater"]=ClassHandle_deleteLater}function ClassHandle(){}function ensureOverloadTable(proto,methodName,humanName){if(undefined===proto[methodName].overloadTable){var prevFunc=proto[methodName];proto[methodName]=function(){if(!proto[methodName].overloadTable.hasOwnProperty(arguments.length)){throwBindingError(`Function '${humanName}' called with an invalid number of arguments (${arguments.length}) - expects one of (${proto[methodName].overloadTable})!`)}return proto[methodName].overloadTable[arguments.length].apply(this,arguments)};proto[methodName].overloadTable=[];proto[methodName].overloadTable[prevFunc.argCount]=prevFunc}}function exposePublicSymbol(name,value,numArguments){if(Module.hasOwnProperty(name)){if(undefined===numArguments||undefined!==Module[name].overloadTable&&undefined!==Module[name].overloadTable[numArguments]){throwBindingError(`Cannot register public name '${name}' twice`)}ensureOverloadTable(Module,name,name);if(Module.hasOwnProperty(numArguments)){throwBindingError(`Cannot register multiple overloads of a function with the same number of arguments (${numArguments})!`)}Module[name].overloadTable[numArguments]=value}else{Module[name]=value;if(undefined!==numArguments){Module[name].numArguments=numArguments}}}function RegisteredClass(name,constructor,instancePrototype,rawDestructor,baseClass,getActualType,upcast,downcast){this.name=name;this.constructor=constructor;this.instancePrototype=instancePrototype;this.rawDestructor=rawDestructor;this.baseClass=baseClass;this.getActualType=getActualType;this.upcast=upcast;this.downcast=downcast;this.pureVirtualFunctions=[]}function upcastPointer(ptr,ptrClass,desiredClass){while(ptrClass!==desiredClass){if(!ptrClass.upcast){throwBindingError(`Expected null or instance of ${desiredClass.name}, got an instance of ${ptrClass.name}`)}ptr=ptrClass.upcast(ptr);ptrClass=ptrClass.baseClass}return ptr}function constNoSmartPtrRawPointerToWireType(destructors,handle){if(handle===null){if(this.isReference){throwBindingError(`null is not a valid ${this.name}`)}return 0}if(!handle.$$){throwBindingError(`Cannot pass "${embindRepr(handle)}" as a ${this.name}`)}if(!handle.$$.ptr){throwBindingError(`Cannot pass deleted object as a pointer of type ${this.name}`)}var handleClass=handle.$$.ptrType.registeredClass;var ptr=upcastPointer(handle.$$.ptr,handleClass,this.registeredClass);return ptr}function genericPointerToWireType(destructors,handle){var ptr;if(handle===null){if(this.isReference){throwBindingError(`null is not a valid ${this.name}`)}if(this.isSmartPointer){ptr=this.rawConstructor();if(destructors!==null){destructors.push(this.rawDestructor,ptr)}return ptr}else{return 0}}if(!handle.$$){throwBindingError(`Cannot pass "${embindRepr(handle)}" as a ${this.name}`)}if(!handle.$$.ptr){throwBindingError(`Cannot pass deleted object as a pointer of type ${this.name}`)}if(!this.isConst&&handle.$$.ptrType.isConst){throwBindingError(`Cannot convert argument of type ${handle.$$.smartPtrType?handle.$$.smartPtrType.name:handle.$$.ptrType.name} to parameter type ${this.name}`)}var handleClass=handle.$$.ptrType.registeredClass;ptr=upcastPointer(handle.$$.ptr,handleClass,this.registeredClass);if(this.isSmartPointer){if(undefined===handle.$$.smartPtr){throwBindingError("Passing raw pointer to smart pointer is illegal")}switch(this.sharingPolicy){case 0:if(handle.$$.smartPtrType===this){ptr=handle.$$.smartPtr}else{throwBindingError(`Cannot convert argument of type ${handle.$$.smartPtrType?handle.$$.smartPtrType.name:handle.$$.ptrType.name} to parameter type ${this.name}`)}break;case 1:ptr=handle.$$.smartPtr;break;case 2:if(handle.$$.smartPtrType===this){ptr=handle.$$.smartPtr}else{var clonedHandle=handle["clone"]();ptr=this.rawShare(ptr,Emval.toHandle(function(){clonedHandle["delete"]()}));if(destructors!==null){destructors.push(this.rawDestructor,ptr)}}break;default:throwBindingError("Unsupporting sharing policy")}}return ptr}function nonConstNoSmartPtrRawPointerToWireType(destructors,handle){if(handle===null){if(this.isReference){throwBindingError(`null is not a valid ${this.name}`)}return 0}if(!handle.$$){throwBindingError(`Cannot pass "${embindRepr(handle)}" as a ${this.name}`)}if(!handle.$$.ptr){throwBindingError(`Cannot pass deleted object as a pointer of type ${this.name}`)}if(handle.$$.ptrType.isConst){throwBindingError(`Cannot convert argument of type ${handle.$$.ptrType.name} to parameter type ${this.name}`)}var handleClass=handle.$$.ptrType.registeredClass;var ptr=upcastPointer(handle.$$.ptr,handleClass,this.registeredClass);return ptr}function simpleReadValueFromPointer(pointer){return this["fromWireType"](HEAP32[pointer>>2])}function RegisteredPointer_getPointee(ptr){if(this.rawGetPointee){ptr=this.rawGetPointee(ptr)}return ptr}function RegisteredPointer_destructor(ptr){if(this.rawDestructor){this.rawDestructor(ptr)}}function RegisteredPointer_deleteObject(handle){if(handle!==null){handle["delete"]()}}function init_RegisteredPointer(){RegisteredPointer.prototype.getPointee=RegisteredPointer_getPointee;RegisteredPointer.prototype.destructor=RegisteredPointer_destructor;RegisteredPointer.prototype["argPackAdvance"]=8;RegisteredPointer.prototype["readValueFromPointer"]=simpleReadValueFromPointer;RegisteredPointer.prototype["deleteObject"]=RegisteredPointer_deleteObject;RegisteredPointer.prototype["fromWireType"]=RegisteredPointer_fromWireType}function RegisteredPointer(name,registeredClass,isReference,isConst,isSmartPointer,pointeeType,sharingPolicy,rawGetPointee,rawConstructor,rawShare,rawDestructor){this.name=name;this.registeredClass=registeredClass;this.isReference=isReference;this.isConst=isConst;this.isSmartPointer=isSmartPointer;this.pointeeType=pointeeType;this.sharingPolicy=sharingPolicy;this.rawGetPointee=rawGetPointee;this.rawConstructor=rawConstructor;this.rawShare=rawShare;this.rawDestructor=rawDestructor;if(!isSmartPointer&®isteredClass.baseClass===undefined){if(isConst){this["toWireType"]=constNoSmartPtrRawPointerToWireType;this.destructorFunction=null}else{this["toWireType"]=nonConstNoSmartPtrRawPointerToWireType;this.destructorFunction=null}}else{this["toWireType"]=genericPointerToWireType}}function replacePublicSymbol(name,value,numArguments){if(!Module.hasOwnProperty(name)){throwInternalError("Replacing nonexistant public symbol")}if(undefined!==Module[name].overloadTable&&undefined!==numArguments){Module[name].overloadTable[numArguments]=value}else{Module[name]=value;Module[name].argCount=numArguments}}function dynCallLegacy(sig,ptr,args){var f=Module["dynCall_"+sig];return args&&args.length?f.apply(null,[ptr].concat(args)):f.call(null,ptr)}var wasmTableMirror=[];function getWasmTableEntry(funcPtr){var func=wasmTableMirror[funcPtr];if(!func){if(funcPtr>=wasmTableMirror.length)wasmTableMirror.length=funcPtr+1;wasmTableMirror[funcPtr]=func=wasmTable.get(funcPtr)}return func}function dynCall(sig,ptr,args){if(sig.includes("j")){return dynCallLegacy(sig,ptr,args)}var rtn=getWasmTableEntry(ptr).apply(null,args);return rtn}function getDynCaller(sig,ptr){var argCache=[];return function(){argCache.length=0;Object.assign(argCache,arguments);return dynCall(sig,ptr,argCache)}}function embind__requireFunction(signature,rawFunction){signature=readLatin1String(signature);function makeDynCaller(){if(signature.includes("j")){return getDynCaller(signature,rawFunction)}return getWasmTableEntry(rawFunction)}var fp=makeDynCaller();if(typeof fp!="function"){throwBindingError(`unknown function pointer with signature ${signature}: ${rawFunction}`)}return fp}var UnboundTypeError=undefined;function throwUnboundTypeError(message,types){var unboundTypes=[];var seen={};function visit(type){if(seen[type]){return}if(registeredTypes[type]){return}if(typeDependencies[type]){typeDependencies[type].forEach(visit);return}unboundTypes.push(type);seen[type]=true}types.forEach(visit);throw new UnboundTypeError(`${message}: `+unboundTypes.map(getTypeName).join([", "]))}function __embind_register_class(rawType,rawPointerType,rawConstPointerType,baseClassRawType,getActualTypeSignature,getActualType,upcastSignature,upcast,downcastSignature,downcast,name,destructorSignature,rawDestructor){name=readLatin1String(name);getActualType=embind__requireFunction(getActualTypeSignature,getActualType);if(upcast){upcast=embind__requireFunction(upcastSignature,upcast)}if(downcast){downcast=embind__requireFunction(downcastSignature,downcast)}rawDestructor=embind__requireFunction(destructorSignature,rawDestructor);var legalFunctionName=makeLegalFunctionName(name);exposePublicSymbol(legalFunctionName,function(){throwUnboundTypeError(`Cannot construct ${name} due to unbound types`,[baseClassRawType])});whenDependentTypesAreResolved([rawType,rawPointerType,rawConstPointerType],baseClassRawType?[baseClassRawType]:[],function(base){base=base[0];var baseClass;var basePrototype;if(baseClassRawType){baseClass=base.registeredClass;basePrototype=baseClass.instancePrototype}else{basePrototype=ClassHandle.prototype}var constructor=createNamedFunction(legalFunctionName,function(){if(Object.getPrototypeOf(this)!==instancePrototype){throw new BindingError("Use 'new' to construct "+name)}if(undefined===registeredClass.constructor_body){throw new BindingError(name+" has no accessible constructor")}var body=registeredClass.constructor_body[arguments.length];if(undefined===body){throw new BindingError(`Tried to invoke ctor of ${name} with invalid number of parameters (${arguments.length}) - expected (${Object.keys(registeredClass.constructor_body).toString()}) parameters instead!`)}return body.apply(this,arguments)});var instancePrototype=Object.create(basePrototype,{constructor:{value:constructor}});constructor.prototype=instancePrototype;var registeredClass=new RegisteredClass(name,constructor,instancePrototype,rawDestructor,baseClass,getActualType,upcast,downcast);if(registeredClass.baseClass){if(registeredClass.baseClass.__derivedClasses===undefined){registeredClass.baseClass.__derivedClasses=[]}registeredClass.baseClass.__derivedClasses.push(registeredClass)}var referenceConverter=new RegisteredPointer(name,registeredClass,true,false,false);var pointerConverter=new RegisteredPointer(name+"*",registeredClass,false,false,false);var constPointerConverter=new RegisteredPointer(name+" const*",registeredClass,false,true,false);registeredPointers[rawType]={pointerType:pointerConverter,constPointerType:constPointerConverter};replacePublicSymbol(legalFunctionName,constructor);return[referenceConverter,pointerConverter,constPointerConverter]})}function runDestructors(destructors){while(destructors.length){var ptr=destructors.pop();var del=destructors.pop();del(ptr)}}function craftInvokerFunction(humanName,argTypes,classType,cppInvokerFunc,cppTargetFunc,isAsync){var argCount=argTypes.length;if(argCount<2){throwBindingError("argTypes array size mismatch! Must at least get return value and 'this' types!")}var isClassMethodFunc=argTypes[1]!==null&&classType!==null;var needsDestructorStack=false;for(var i=1;i>2])}return array}function __embind_register_class_class_function(rawClassType,methodName,argCount,rawArgTypesAddr,invokerSignature,rawInvoker,fn,isAsync){var rawArgTypes=heap32VectorToArray(argCount,rawArgTypesAddr);methodName=readLatin1String(methodName);rawInvoker=embind__requireFunction(invokerSignature,rawInvoker);whenDependentTypesAreResolved([],[rawClassType],function(classType){classType=classType[0];var humanName=`${classType.name}.${methodName}`;function unboundTypesHandler(){throwUnboundTypeError(`Cannot call ${humanName} due to unbound types`,rawArgTypes)}if(methodName.startsWith("@@")){methodName=Symbol[methodName.substring(2)]}var proto=classType.registeredClass.constructor;if(undefined===proto[methodName]){unboundTypesHandler.argCount=argCount-1;proto[methodName]=unboundTypesHandler}else{ensureOverloadTable(proto,methodName,humanName);proto[methodName].overloadTable[argCount-1]=unboundTypesHandler}whenDependentTypesAreResolved([],rawArgTypes,function(argTypes){var invokerArgsArray=[argTypes[0],null].concat(argTypes.slice(1));var func=craftInvokerFunction(humanName,invokerArgsArray,null,rawInvoker,fn,isAsync);if(undefined===proto[methodName].overloadTable){func.argCount=argCount-1;proto[methodName]=func}else{proto[methodName].overloadTable[argCount-1]=func}if(classType.registeredClass.__derivedClasses){for(const derivedClass of classType.registeredClass.__derivedClasses){if(!derivedClass.constructor.hasOwnProperty(methodName)){derivedClass.constructor[methodName]=func}}}return[]});return[]})}function __embind_register_class_function(rawClassType,methodName,argCount,rawArgTypesAddr,invokerSignature,rawInvoker,context,isPureVirtual,isAsync){var rawArgTypes=heap32VectorToArray(argCount,rawArgTypesAddr);methodName=readLatin1String(methodName);rawInvoker=embind__requireFunction(invokerSignature,rawInvoker);whenDependentTypesAreResolved([],[rawClassType],function(classType){classType=classType[0];var humanName=`${classType.name}.${methodName}`;if(methodName.startsWith("@@")){methodName=Symbol[methodName.substring(2)]}if(isPureVirtual){classType.registeredClass.pureVirtualFunctions.push(methodName)}function unboundTypesHandler(){throwUnboundTypeError(`Cannot call ${humanName} due to unbound types`,rawArgTypes)}var proto=classType.registeredClass.instancePrototype;var method=proto[methodName];if(undefined===method||undefined===method.overloadTable&&method.className!==classType.name&&method.argCount===argCount-2){unboundTypesHandler.argCount=argCount-2;unboundTypesHandler.className=classType.name;proto[methodName]=unboundTypesHandler}else{ensureOverloadTable(proto,methodName,humanName);proto[methodName].overloadTable[argCount-2]=unboundTypesHandler}whenDependentTypesAreResolved([],rawArgTypes,function(argTypes){var memberFunction=craftInvokerFunction(humanName,argTypes,classType,rawInvoker,context,isAsync);if(undefined===proto[methodName].overloadTable){memberFunction.argCount=argCount-2;proto[methodName]=memberFunction}else{proto[methodName].overloadTable[argCount-2]=memberFunction}return[]});return[]})}function __emval_decref(handle){if(handle>=emval_handles.reserved&&0===--emval_handles.get(handle).refcount){emval_handles.free(handle)}}function __embind_register_emval(rawType,name){name=readLatin1String(name);registerType(rawType,{name:name,"fromWireType":function(handle){var rv=Emval.toValue(handle);__emval_decref(handle);return rv},"toWireType":function(destructors,value){return Emval.toHandle(value)},"argPackAdvance":8,"readValueFromPointer":simpleReadValueFromPointer,destructorFunction:null})}function embindRepr(v){if(v===null){return"null"}var t=typeof v;if(t==="object"||t==="array"||t==="function"){return v.toString()}else{return""+v}}function floatReadValueFromPointer(name,shift){switch(shift){case 2:return function(pointer){return this["fromWireType"](HEAPF32[pointer>>2])};case 3:return function(pointer){return this["fromWireType"](HEAPF64[pointer>>3])};default:throw new TypeError("Unknown float type: "+name)}}function __embind_register_float(rawType,name,size){var shift=getShiftFromSize(size);name=readLatin1String(name);registerType(rawType,{name:name,"fromWireType":function(value){return value},"toWireType":function(destructors,value){return value},"argPackAdvance":8,"readValueFromPointer":floatReadValueFromPointer(name,shift),destructorFunction:null})}function __embind_register_function(name,argCount,rawArgTypesAddr,signature,rawInvoker,fn,isAsync){var argTypes=heap32VectorToArray(argCount,rawArgTypesAddr);name=readLatin1String(name);rawInvoker=embind__requireFunction(signature,rawInvoker);exposePublicSymbol(name,function(){throwUnboundTypeError(`Cannot call ${name} due to unbound types`,argTypes)},argCount-1);whenDependentTypesAreResolved([],argTypes,function(argTypes){var invokerArgsArray=[argTypes[0],null].concat(argTypes.slice(1));replacePublicSymbol(name,craftInvokerFunction(name,invokerArgsArray,null,rawInvoker,fn,isAsync),argCount-1);return[]})}function integerReadValueFromPointer(name,shift,signed){switch(shift){case 0:return signed?function readS8FromPointer(pointer){return HEAP8[pointer]}:function readU8FromPointer(pointer){return HEAPU8[pointer]};case 1:return signed?function readS16FromPointer(pointer){return HEAP16[pointer>>1]}:function readU16FromPointer(pointer){return HEAPU16[pointer>>1]};case 2:return signed?function readS32FromPointer(pointer){return HEAP32[pointer>>2]}:function readU32FromPointer(pointer){return HEAPU32[pointer>>2]};default:throw new TypeError("Unknown integer type: "+name)}}function __embind_register_integer(primitiveType,name,size,minRange,maxRange){name=readLatin1String(name);if(maxRange===-1){maxRange=4294967295}var shift=getShiftFromSize(size);var fromWireType=value=>value;if(minRange===0){var bitshift=32-8*size;fromWireType=value=>value<>>bitshift}var isUnsignedType=name.includes("unsigned");var checkAssertions=(value,toTypeName)=>{};var toWireType;if(isUnsignedType){toWireType=function(destructors,value){checkAssertions(value,this.name);return value>>>0}}else{toWireType=function(destructors,value){checkAssertions(value,this.name);return value}}registerType(primitiveType,{name:name,"fromWireType":fromWireType,"toWireType":toWireType,"argPackAdvance":8,"readValueFromPointer":integerReadValueFromPointer(name,shift,minRange!==0),destructorFunction:null})}function __embind_register_memory_view(rawType,dataTypeIndex,name){var typeMapping=[Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array];var TA=typeMapping[dataTypeIndex];function decodeMemoryView(handle){handle=handle>>2;var heap=HEAPU32;var size=heap[handle];var data=heap[handle+1];return new TA(heap.buffer,data,size)}name=readLatin1String(name);registerType(rawType,{name:name,"fromWireType":decodeMemoryView,"argPackAdvance":8,"readValueFromPointer":decodeMemoryView},{ignoreDuplicateRegistrations:true})}function stringToUTF8Array(str,heap,outIdx,maxBytesToWrite){if(!(maxBytesToWrite>0))return 0;var startIdx=outIdx;var endIdx=outIdx+maxBytesToWrite-1;for(var i=0;i=55296&&u<=57343){var u1=str.charCodeAt(++i);u=65536+((u&1023)<<10)|u1&1023}if(u<=127){if(outIdx>=endIdx)break;heap[outIdx++]=u}else if(u<=2047){if(outIdx+1>=endIdx)break;heap[outIdx++]=192|u>>6;heap[outIdx++]=128|u&63}else if(u<=65535){if(outIdx+2>=endIdx)break;heap[outIdx++]=224|u>>12;heap[outIdx++]=128|u>>6&63;heap[outIdx++]=128|u&63}else{if(outIdx+3>=endIdx)break;heap[outIdx++]=240|u>>18;heap[outIdx++]=128|u>>12&63;heap[outIdx++]=128|u>>6&63;heap[outIdx++]=128|u&63}}heap[outIdx]=0;return outIdx-startIdx}function stringToUTF8(str,outPtr,maxBytesToWrite){return stringToUTF8Array(str,HEAPU8,outPtr,maxBytesToWrite)}function lengthBytesUTF8(str){var len=0;for(var i=0;i=55296&&c<=57343){len+=4;++i}else{len+=3}}return len}var UTF8Decoder=typeof TextDecoder!="undefined"?new TextDecoder("utf8"):undefined;function UTF8ArrayToString(heapOrArray,idx,maxBytesToRead){var endIdx=idx+maxBytesToRead;var endPtr=idx;while(heapOrArray[endPtr]&&!(endPtr>=endIdx))++endPtr;if(endPtr-idx>16&&heapOrArray.buffer&&UTF8Decoder){return UTF8Decoder.decode(heapOrArray.subarray(idx,endPtr))}var str="";while(idx>10,56320|ch&1023)}}return str}function UTF8ToString(ptr,maxBytesToRead){return ptr?UTF8ArrayToString(HEAPU8,ptr,maxBytesToRead):""}function __embind_register_std_string(rawType,name){name=readLatin1String(name);var stdStringIsUTF8=name==="std::string";registerType(rawType,{name:name,"fromWireType":function(value){var length=HEAPU32[value>>2];var payload=value+4;var str;if(stdStringIsUTF8){var decodeStartPtr=payload;for(var i=0;i<=length;++i){var currentBytePtr=payload+i;if(i==length||HEAPU8[currentBytePtr]==0){var maxRead=currentBytePtr-decodeStartPtr;var stringSegment=UTF8ToString(decodeStartPtr,maxRead);if(str===undefined){str=stringSegment}else{str+=String.fromCharCode(0);str+=stringSegment}decodeStartPtr=currentBytePtr+1}}}else{var a=new Array(length);for(var i=0;i>2]=length;if(stdStringIsUTF8&&valueIsOfTypeString){stringToUTF8(value,ptr,length+1)}else{if(valueIsOfTypeString){for(var i=0;i255){_free(ptr);throwBindingError("String has UTF-16 code units that do not fit in 8 bits")}HEAPU8[ptr+i]=charCode}}else{for(var i=0;i>1;var maxIdx=idx+maxBytesToRead/2;while(!(idx>=maxIdx)&&HEAPU16[idx])++idx;endPtr=idx<<1;if(endPtr-ptr>32&&UTF16Decoder)return UTF16Decoder.decode(HEAPU8.subarray(ptr,endPtr));var str="";for(var i=0;!(i>=maxBytesToRead/2);++i){var codeUnit=HEAP16[ptr+i*2>>1];if(codeUnit==0)break;str+=String.fromCharCode(codeUnit)}return str}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}function lengthBytesUTF16(str){return str.length*2}function UTF32ToString(ptr,maxBytesToRead){var i=0;var str="";while(!(i>=maxBytesToRead/4)){var utf32=HEAP32[ptr+i*4>>2];if(utf32==0)break;++i;if(utf32>=65536){var ch=utf32-65536;str+=String.fromCharCode(55296|ch>>10,56320|ch&1023)}else{str+=String.fromCharCode(utf32)}}return str}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}function lengthBytesUTF32(str){var len=0;for(var i=0;i=55296&&codeUnit<=57343)++i;len+=4}return len}function __embind_register_std_wstring(rawType,charSize,name){name=readLatin1String(name);var decodeString,encodeString,getHeap,lengthBytesUTF,shift;if(charSize===2){decodeString=UTF16ToString;encodeString=stringToUTF16;lengthBytesUTF=lengthBytesUTF16;getHeap=()=>HEAPU16;shift=1}else if(charSize===4){decodeString=UTF32ToString;encodeString=stringToUTF32;lengthBytesUTF=lengthBytesUTF32;getHeap=()=>HEAPU32;shift=2}registerType(rawType,{name:name,"fromWireType":function(value){var length=HEAPU32[value>>2];var HEAP=getHeap();var str;var decodeStartPtr=value+4;for(var i=0;i<=length;++i){var currentBytePtr=value+4+i*charSize;if(i==length||HEAP[currentBytePtr>>shift]==0){var maxReadBytes=currentBytePtr-decodeStartPtr;var stringSegment=decodeString(decodeStartPtr,maxReadBytes);if(str===undefined){str=stringSegment}else{str+=String.fromCharCode(0);str+=stringSegment}decodeStartPtr=currentBytePtr+charSize}}_free(value);return str},"toWireType":function(destructors,value){if(!(typeof value=="string")){throwBindingError(`Cannot pass non-string to C++ string type ${name}`)}var length=lengthBytesUTF(value);var ptr=_malloc(4+length+charSize);HEAPU32[ptr>>2]=length>>shift;encodeString(value,ptr+4,length+charSize);if(destructors!==null){destructors.push(_free,ptr)}return ptr},"argPackAdvance":8,"readValueFromPointer":simpleReadValueFromPointer,destructorFunction:function(ptr){_free(ptr)}})}function __embind_register_void(rawType,name){name=readLatin1String(name);registerType(rawType,{isVoid:true,name:name,"argPackAdvance":0,"fromWireType":function(){return undefined},"toWireType":function(destructors,o){return undefined}})}var emval_symbols={};function getStringOrSymbol(address){var symbol=emval_symbols[address];if(symbol===undefined){return readLatin1String(address)}return symbol}var emval_methodCallers=[];function __emval_call_void_method(caller,handle,methodName,args){caller=emval_methodCallers[caller];handle=Emval.toValue(handle);methodName=getStringOrSymbol(methodName);caller(handle,methodName,null,args)}function emval_addMethodCaller(caller){var id=emval_methodCallers.length;emval_methodCallers.push(caller);return id}function emval_lookupTypes(argCount,argTypes){var a=new Array(argCount);for(var i=0;i>2],"parameter "+i)}return a}var emval_registeredMethods=[];function __emval_get_method_caller(argCount,argTypes){var types=emval_lookupTypes(argCount,argTypes);var retType=types[0];var signatureName=retType.name+"_$"+types.slice(1).map(function(t){return t.name}).join("_")+"$";var returnId=emval_registeredMethods[signatureName];if(returnId!==undefined){return returnId}var argN=new Array(argCount-1);var invokerFunction=(handle,name,destructors,args)=>{var offset=0;for(var i=0;i4){emval_handles.get(handle).refcount+=1}}function _abort(){abort("")}function _emscripten_memcpy_big(dest,src,num){HEAPU8.copyWithin(dest,src,src+num)}function getHeapMax(){return 2147483648}function emscripten_realloc_buffer(size){var b=wasmMemory.buffer;var pages=size-b.byteLength+65535>>>16;try{wasmMemory.grow(pages);updateMemoryViews();return 1}catch(e){}}function _emscripten_resize_heap(requestedSize){var oldSize=HEAPU8.length;requestedSize=requestedSize>>>0;var maxHeapSize=getHeapMax();if(requestedSize>maxHeapSize){return false}var alignUp=(x,multiple)=>x+(multiple-x%multiple)%multiple;for(var cutDown=1;cutDown<=4;cutDown*=2){var overGrownHeapSize=oldSize*(1+.2/cutDown);overGrownHeapSize=Math.min(overGrownHeapSize,requestedSize+100663296);var newSize=Math.min(maxHeapSize,alignUp(Math.max(requestedSize,overGrownHeapSize),65536));var replacement=emscripten_realloc_buffer(newSize);if(replacement){return true}}return false}BindingError=Module["BindingError"]=extendError(Error,"BindingError");init_emval();PureVirtualError=Module["PureVirtualError"]=extendError(Error,"PureVirtualError");embind_init_charCodes();init_embind();InternalError=Module["InternalError"]=extendError(Error,"InternalError");init_ClassHandle();init_RegisteredPointer();UnboundTypeError=Module["UnboundTypeError"]=extendError(Error,"UnboundTypeError");var wasmImports={"k":__embind_create_inheriting_constructor,"p":__embind_register_bigint,"t":__embind_register_bool,"i":__embind_register_class,"h":__embind_register_class_class_function,"g":__embind_register_class_function,"s":__embind_register_emval,"n":__embind_register_float,"a":__embind_register_function,"f":__embind_register_integer,"b":__embind_register_memory_view,"m":__embind_register_std_string,"l":__embind_register_std_wstring,"u":__embind_register_void,"c":__emval_call_void_method,"e":__emval_decref,"d":__emval_get_method_caller,"o":__emval_incref,"j":_abort,"r":_emscripten_memcpy_big,"q":_emscripten_resize_heap};var asm=createWasm();var ___wasm_call_ctors=function(){return(___wasm_call_ctors=Module["asm"]["w"]).apply(null,arguments)};var _malloc=function(){return(_malloc=Module["asm"]["x"]).apply(null,arguments)};var _free=function(){return(_free=Module["asm"]["y"]).apply(null,arguments)};var ___getTypeName=function(){return(___getTypeName=Module["asm"]["A"]).apply(null,arguments)};var __embind_initialize_bindings=Module["__embind_initialize_bindings"]=function(){return(__embind_initialize_bindings=Module["__embind_initialize_bindings"]=Module["asm"]["B"]).apply(null,arguments)};var ___errno_location=function(){return(___errno_location=Module["asm"]["__errno_location"]).apply(null,arguments)};var calledRun;dependenciesFulfilled=function runCaller(){if(!calledRun)run();if(!calledRun)dependenciesFulfilled=runCaller};function run(){if(runDependencies>0){return}preRun();if(runDependencies>0){return}function doRun(){if(calledRun)return;calledRun=true;Module["calledRun"]=true;if(ABORT)return;initRuntime();readyPromiseResolve(Module);if(Module["onRuntimeInitialized"])Module["onRuntimeInitialized"]();postRun()}if(Module["setStatus"]){Module["setStatus"]("Running...");setTimeout(function(){setTimeout(function(){Module["setStatus"]("")},1);doRun()},1)}else{doRun()}}if(Module["preInit"]){if(typeof Module["preInit"]=="function")Module["preInit"]=[Module["preInit"]];while(Module["preInit"].length>0){Module["preInit"].pop()()}}run(); + + + return Bullet.ready +} + +); +})(); +if (typeof exports === 'object' && typeof module === 'object') + module.exports = Bullet; +else if (typeof define === 'function' && define['amd']) + define([], function() { return Bullet; }); +else if (typeof exports === 'object') + exports["Bullet"] = Bullet; diff --git a/emscripten/bullet/bullet.release.wasm.wasm b/emscripten/bullet/bullet.release.wasm.wasm new file mode 100644 index 0000000000000000000000000000000000000000..9d159773e42bc5c799ace141f0f3e498dfa5f646 GIT binary patch literal 468807 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

&+z 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�) zI!Se_1kFNWmkN@~#DLn79HtNrBO;7s+HZ%D0L4fRA1|&la7lp3WPr$&-wj2R)Cnkd zikBpyy^BFJQP;*$`^AJ(IenvesHTprkO4Y;?E3BsLi*do#Z?&YC$z!AY2uUlpaKUw z1A)=vKw#9Jy&Fa=97cA17d?}>U1_)(8W1B~7YQ)3`!`)MGNwpp??&!+1sLsOc$W(! zN)U{8IgBO+BVEFD7zOZXT?IZ9Vv>Z@!f|LAI$OHfBNi=upkd_y$Yh+^Q!()dS<{v)~sCa=ZT%h-m3 zj?!u?1Cl^YQ4flc43~WlDI442N$vLt(CqeI=vwmeTuAMBN|4A;ig$d6C>*yvfWV#EePWz^2 z&h6r_#l?kR1TLfK^Fk?#mwpm02YD7{9q!CZ*`#E0!U4r*7H~qwhoG7tinPt32#(*2 z>;FL{s(6_~MTZs_TI(znlJ~~vjb3><#l>akyZ%gPzDvu_ckzGf%y)U&`DXudXTB@T z&i6)FzN^d5_wrA6)^}~$`EGaRdv)3QuASXOjh0gk} z-?6?%H@-Z;Q{=+4n_by&zPIefo87JUHN6K$ij{}$0rT)YGYkxu1k?O1?Ff ze(AWflNJllmR3^%F?sQZH2fA#3B?oDtqVwwLC+|`urw@lDW1|a?$B`)LCOm@8>ML2 zcQmh=-Z;}*29|7OE2Lwt@(!>b;0+cGu;Msf^nJ|q_Bs>)UHB_SjfR@~H?y0b*NbzE zx2fPVKvko2FNX0gE(B1ZhNG}$kMm&0MhQNwHP+OmvAz`*SF}Uw!P!45GE2}WM~j=h z0Nr;~meDjyO92B0>m6Z%0-Rt03)=|`wibd#Pk;plEeVTo)tqfh2Q1o&`)cEjVQ_6@!=AU9?9w(tQ^e7ekQUEo7UD?( zDiUgF%GXd8X)V-&Aqgs>44?`M8abQ}?!a~fc>Rv+A6%#q3cg-=LMc+pne^gd!Bhrp z>h^b27W+7rh44USrC!!>tE`cCQ`WGT#W{t_8f0t!LQIQ_*KhfV8c*aRj<-TkYqV2L zsP1j$cly!UGD=gRn!5)rBdAemv4=AxHWsR)nt@3oUi(wVRJy?0jI%}Io+;Ox_H%2E z5ElQ&|3|`lH7X|S-{+f%H~-%f_F^~z5|9U!uoys5-wT2p7F_>YPrULe&V*zl0-}Sa zCF1>lOg*MGez37Uml7CZRiD5K1x}b%bOIYZW<%hl0w*z%jxHvbywGB97sUxf$ZrqF zStd@9NI9#^L=SRSrza?|8a^cR*DHDH4MW#@YydlX#75DlL5vkL;JErUsw6oCb~dkL zpf?@Nkq!70zB~t*NOb@^n>^GgOVZWZe1#4RLQb|^mQ5kqpxvs+lD5uK_(WCO-p*Q~ z-72PoA7THCYgNivvFambm5dUWr7J8WpJdi;*_2lUX%>w@M^*2il8N&@%n6?f=DF7^ za1}}>y!fL)>HBaOmq4Az=~V>+WiXh&*T2NsHiwfkZ?1{}qiG;DKSLWDUwrW2SHE|+ z3AT(pgA6Nu5bY%pne0DpZ-C@Tv}(k1)G<4!*GT*f)vsF_Ix03OZ|LO@nt|DD@+O{~ zSRTY9ua0aC5}BU@t6nfVO;qnI>1w?=Qr0#g6&zJYytJh(GZ%0{8blky6;!}*Wa8G= z7YQa;m|l^ToYdr)YgH(Lp$@EXajBTW#lo?FLyp$e|M>1o&&koJVi~BI=W44g?4oc# zh_&QBu6fV3P%PXRYb2{d83?VU1Tr&Xi`CB&Pe1iUNE`?|a|dKV7E#MOws_Xck2abv;6Sl&;?ybPHp~JXK1)j;UubcqdaSd9r+{OsR3(q?DU2C1>@dQ z;iz#qt;WrPjY9v$EqPWkOV&KAm?djEW$J^&S*AM18B`p-ij33r`cto8mL3RfaDf(w zi+pmVC1}?=o)Kt4?pw?NtxL1vdk$CE?EHZe22E6aDw$F68U^#FuEsL6;M4{k%jgKsE!m4>|TL+*84SMVAI^A@Qf z;dQ+3g|q?Wg+K>1DU9o8{-!LuHe<05Z-}iEgT|FOw|W11%#4OQye1cZ@>Sg8;-AxU z=$(d=D}(;Kuhf6iYy=5th2^Kld_1}MYdgejiVfBos?56RLSl{q-Lsd!;DmS1ULSaMQ*@u zQE3^p+5EhkMIX+}HR7mS(oP%a6vjmN{zLwhuucAiAa^8q8qP%o?>4uQ1Hrq+J4S)v zVPtzrf;X4EEy24j)8$U^-jde|-Yt0{cs7Zg;u*C!I(~m*hybm-&9+o1v^BXEXMyU? zCOaM5AbW;K#6Clq;Vpm#+XVwi`9jJEWiu)?BnM3}k*3L#q^;8on}n9(pm46Z;p{Fs z>QPX%x2jD2&ms)4)Zm07#AkvzYcb*lq#bd01d{C?;e1wiax#2D2NUK%LX0OGwuZ66wOxKDDhC0iH z{7Nyq7>p6LFc6})d(u^$Y^@?@lVY}bjMucnYr>ZLF8F5MBUbM*eIR~kZ`uG#lm4*} zeQ>u^Pt1PwW|hT~vBC|~5&l0qO6a(UvLezt{kPDjhcfwL{`KENx9h$bbxsNn_*FR8f;Y6nRrCr5YH;@-anpTs}giJAUZEkP!xou3yFjJKzm`p@53U;vhs!*)pxWKTjd&#D-k?Z#5%A$Uf?YlNz3=88M>c4NVTP7-QV356poz!$#W313Jee8CaE;B?>%Umf_uSBt{`SA1dh{x6I#!juLCr;F$VFK9WW zZPE!UY$B)Jd=Go@R4W**bb?1bcvmZUmj#b`@Saxi9t(~noW+gF}bstuQSWjSHu@8gUOyt2y#lD#l7$V~Mow>CKP8W5Y2?($$@@$f$3563e zg>V{7A)GYJz5TOdtFwOgdnn46WNkb^Ag3N~83N=y411&dZH*l2a8;4KPHL$FN*qmC;j`VlEs zY7tJOjwsdIdyEz;!kLK}Zc!)~DJ)ck6OBW)Z%pmmWX+}!Bl!(tsFaIUicwpL5siln zF@|AGWo@#uh?ytm0fhYDS+z4cfL9iK*XXq|!>&U(KZqpFCX=rUs zn{9zKCElzwSc^F7&|Xf+i$bqSJt$>svTJ8WLx^uXPZO!Pc*l8}D0nCJs*#oquaaLj z5{mlpsAg+OVHS)Ucq7|7^eN|B|W7J z+Tp!i%{LfE<{R4*G{TXrjaqL^f>uq}yYzG;614S*&92ZxxEXmb%c}=2rzlsWB&4GI zdM6C|rsVmg*h&`N?=|lwyc2jwr|5;orKxQqU7^Ko0a*--$Dojmw#Us9CeG2#{&I zWj5b3mp5VAH^b_TGJ$y(l|9DjT)q|l>~2l*k-2=EP1(!JgY~kx{C#XjlwpHqxR(qY z=JM@ixJ&bx3_C2tC1uEz;r%do%Agl$&*b-!VQem+AOkxCQKb9>mI3sFpPi(wI8)9> zPtXBt@+5`bWBUl2IO1*NLe$-sQzLyZk+kDpBCQ=n-er-3(S1ZxCmSBGlgQj6n_%Qx znIbf(O5F=o>fjcY%S8Z^q1XuyqoV3fMY<1M%4o1vvljK!FI)p6Rs5?%nYr zACpJdz44)ue87DuIPY^`b7ykMed*5Rp!=qFCQrBz^^C{y`D|;tXsE)}2kEC+e>e%! z#6cFWDOM@2e~B4`swom6#bWIx>myS-ohM{Un8y`#|K%X!lT&j?ldQ)jMm%L@6HM<; zsSRzRQFn~Vjgmr&zf>e6JUaO>L^K4hg1OaH2qZk@3FH(65_ZkztPmM50_UtCO*W&O zq4zIpHZy)N;if_&B!}RSAs6UJ%J-3S11T>kg|G%m9tdOD1iq2t{iIk=iu0kY10)oZ zP&N3Gs+#=-2{kAktVmVfK7xc06bCM(DgX(sCO4bTr z_HahT07A#O_r*z+tgTq=m;g_TrF1Uf2;F3Rh#xeG zotl^1@S1JI6}V5@0fLHDyBTfO3a)cJEy_EE!xRv804|~f%nN3Gas7tTr?5v4HTyT4PvrD;+8+=DD&IF~An zvTwHB}_Z=7SjW_2H76#?OiCrW-D6a$3b2YIOX z5ie-;xpWjCXU3!X2J<|UN4hwL1$}k`ok>TYOGnD2?s){gHYKe-$(Ddt{y>>gce!K# zA`VNt9W}0h&KL-*QN7{GL$8r-NLdEAz5bTXO)(QgqkEyCXyxIr6md3C*`vbYeNah> zI5p4LnubPA6r=(xm*V4UHTy{Upd};jgO)VR3?(=J;00{V^UY`Gn9W>y4j~8gF+xUp z_m)6i!2>nsxH!d0ygrnCvm#lbCHLTAX@DS0A6DMO`6i`S0-m&1puVBJ;@{KFq_&bb zS>{cTjHan^RAWS9R`^i|gq>S*1khwcvLH!Un|>e5A#bL)o%Y}`xhw1iL9V4=!KxIM z?)wcakfzm5j+Okkm9OSTN#*MCK-}S z*hzKEZY(6IyR&c239*-u;&iPYxQvT25muqmp#zwvzQM7>TC!KbTw~7BIMOQnji|1d z7of|_)Rtj?Qq}5DTcFe2*DOJi(0|T?C%Ci%SJd9Y$0cPodYS7>#1|)Zb~Vb3Pi^>q zemrX`uA1E=XE@s`r>HUH(qYw->1osL5JOruU24za$Czj$~$dIVy2|}9+y+@&2L+Eir z?^fuzLM63V+GAD%^z41&K;TU*^oW%}=sgPE8bTkp5(phvsKoXv;V~-#O8q{k)c0Db zmX@Z-`aK@XllP?6(sH*##d}jixwKT%9dwnpnqwJ^r>Qsi3;y6Nrw`ryaxxD zLryV5aPTUJNu?;euqEc_H9P0^xoA;lPg_&c;3G<)mkDGZw_`YDC0!a#)-XY*-Grp8 z2?+$P-2|xw0_xY|`oE1`?{HQcHP*Kp%c$<;P_wmA{Zvshao#!5u?B|}Hqa0?rRKC` z!9XvFuz@yQx@ZFc(@ygpy1H5|H888Tr2{y;OsWX zZsJuQojYpwfJ|kV*REuSj%#x4H#0VRU@^$6_dVRu76T+}*C4g+GAL3$;|$Cv&cMU$jx0Ds zr9WK%so0bR1&CO^A@E16de`VZhj~u^6HRS`WcT7@R|lTpq+gwQZ)WlsSEzhB$_!NM zqdZbyWqqKX%xaF~>JzlocfPiX72=_;QgEeB%BmS`1j3YtW{`HF0BKMK(5z@Eit7Ko z;@XgJ{XarjZ?9f)7ajn^xp!qKk7d9x0#U4?1Z0p+-(R;&KG7<8=3Nzh!pofrd+-Fa116MN#n@AD4gn-~6?G`~e@RNk_#Wm!4~Qtf0Tb)2pc0 z%aAwl{Pu50%?K=tia#rZZ{Ycz-;VB!q7Re$_D_;u@o(X|%o-RqzM5F*wSOu~rYL-h zmiHTYtpW3RLc9M3UTgPnl#v(kv^wyA@L>&m8BePxm-%Qn?h0S+Hod@?_36dZbFuV% ztMt5z=c|b986X9z-9Hzbzq{R}Bd$JXP$*dUznUfwq^G``R`@4RV^w`W#4g#x3I%oJ zKFXiRjd7p%ETpVo{BU1Y&oSUd)s~+kYK$6T5c@y?&zCnwGxh~Z{RhJmp&R=GdQO>o z5i6Bh3^wvb?Q=QYgxlNL2xe%MwYHNPQCVRZX^)Nugc%bp|0D&Z@s236o6gW*HY=(f zmV*@y9)Y+xOGKGr!lZW{vjAlvog7QY14{5HNIs|QA5m}Bpr}~?W3pKQukoFTi!qpc zAmf+gPsmGFyx8+QMsz%#M)V(RHzc7yM@Q@RZ}wDKj!(oW5U24)%x_~AgR_#_;o`^n z{g|5Sf79qt(&jlbaSHaI`aVH9(WicNlw``T%w_v*`Hp0WvI1kt zS8bLpUA6JE^!6j88G<=wU7@GZP%Kp0GrO^xiGWVJ0)tkf_~>gAmQ+R<|ssdKo# zqc9%{1#tASg+#jpT_U2h~?0DT>W-sn!zRh z#L?+r`xRQX>c@(k04*ub{=4`v318T&en-*GSLXBH7m9hyJr6J3`vS*4eJ{LFoc98W zd@)4!y->Vd2GYQJFNwm}f9@Oe{7K_qA@i>q$1*c>{X5@@KL5av(*{nGO78`k_ld0`hibc~(i_!n?9G$Wpxa zCpHp&#WnMAnX7M}KJ|X(E9&WW3-q48P~7mey{+NcO*i^}6?5=C|I3L7?)%4S|5uAG zMJ{~~}z}cYy8<6)8f9Bj@R%Ik8PNQGZ zIoaONU-{-|CqDDW?y|P22j>GArha2SUnl>8zsbJ+$_w-9y1hUALmU6$OO1cF!qTQGeW@2=fviqG&Iqc>#!sOMgjhX$?nO~un0tQ;Vw}?tbgyhQz-|!p* zN&gs8 zB_uu54eF|H87-g>NvpJM9krp=shTwXykb$z5b{F0ZXVSH)j${g1uO~8)UtIp?mRI_ z-3-5)FLGZm?n`^IFI;e5JT2L2v0++jY}(kWZ=Rdl>{Sr5X4*VP`w@iM-mj;)&RMN` zc^Ek*h!R@+#P`3DukS{h^&Lp_jeLEX@PAjU^S41T7Dw6vxfPWOU0>hsXL(K=03oMKxLRj2&Wg;-gqk-=HrQ(8_1*sneMA)X6#=mM z&;6N2W1H&%BA(0=Db8FXTqPe9Pzr+mDnj*QosUPv#B#)S%1I0n$^qJw4wH@&D!%fi zYgQ(4l++c(+AP}d{WOjE*TIjY>YJ1%L6?Dau+U?9VL)&0PS-J7))#w=vmA6HfC5q2 zqzh@I=pWinxSH(YREY6IJR;l*r~_OLf9PR~;GJfteLNP)@+J<_9_@mId_H zM0RRC8)Y%eno{b#HRT=1JBEQW3=DR(N^+>E z9x4Ogy^W7*-Y}f@bQb8P5jI#D)`Ca}fD28zqS9@PGfo%);Tcc;-g=dLL0K{m9_~Oo0HEnd1V~clro^k>Izm21&Y;d|u@9s~=pH>I%U>tzb{}DxbeR z8hB!gJ88OhDw6hoB`&TL|4X9}L=T+Q*PDFJjTY6$isCK2|M5db4e#uKii`jCgN?yr z<_f#j-;MBH!B;IVe6Ue3=Dx`WtN2ZMuj56^FYk?8adB;;vAQ_*E%p5jx#HqQ^MBj? zui=l2ubF@5cT~jnZz|1s{A@YQe+_@N`0BS5{uch8;}3_D{q$=IJ8yBC{6h$8My?db#69=+qTAw) z-)Ohz8dvfX}FT;8&8?O#i@BmWS&QWNG~!EJm`{lBBAhMjod&uuD_lr1h0Yb?&Q z*l>gFJ#?DkXndJ9QMc1T zy2~wxUft2G>Ba;XtT`iW5(H*5y-2GQ8xcozE znmk3s2oV&{HM=?1{tz)q#6}`0X|KMYgMPVQ)4 zHI|0DnvSu8G*eiti?$WwSyMYG0z--u$Z9HkEFn7*Wx~dx(sz7_rEbOOV6pXqtWZzK z#m2K3N~PW%hNsodsg7>GM}r{rl+ja9r?kzfEY;gx@1?i9I(zFMp|}1Kdg~vHdpqg9 z1@^7p?(gU=hQb0FeQ4QKl&*5PqOR`0V^c0AgN?bn) zt^j@LTt1jq*z$Zf&_u{hCF=>XS&ebwvDmRDH=J``YTn05rC}wNAOvA+l1sNlFL`?! zI1q^_`A(Hb5Am9i1Wr8dXWs+QD2}#_UP(porKpwV;cu%sJ%G-4f;wXFY7F14#u&pc zKC+*!<$}iaTVvi!L2TnrGM)O=b-i+IuaiQ^!fLMLOxmXBF2!Xc^CAiJ7n{my4|bW^ zf~144A0=xTJ&muy{Uc+sPOgQ-uod7_0OOx7k=K7KiFuSSX>6h>RtYrkz=6hQ?da2< zFFqJW(d46&S%{VP$5N42h@`?<^RkhiF@g&>HH7NibM~cjE>*;L&pmhgxi1NHMhOPt zxhZcqEIAdR<%aBelRecC!K?GuFKwe}e^%+VEQ$b8?1->Oo5KvQ@{-OUPMXV;GZ;RB z!UF*r#_fU7GYS5SxTyY(cRd#_gHG=_8A77=Y`9{%?mQhr{L=GbIi
+@=G(v0W_Pi88OZdmWs_;vNZ1SUx^Pya z))UMiW?48_gL7`ao3h}eR2EE@${O>s8m)HyXR4=Mj+6eA@zZVE%^Wk@jpzc}pd%s^ zYtjBe@svi$MbKawdNkoA;}Ee%o)&~qy%g3fY1uSWn+ZmWyw1Dxmd3qR0y$~jzHeF^RXTGyHUz3V$&fOd8&Je`B|vH40R{7xahvT$4d z2u-1p^KfTsajcK?Nmf-uXol2TjLI);2I6;}ADRk}vT5;whnuDtBom!#SLdOl2qSIL zkQU6m1SGV8O9^GIkv^yu!fdsQxZSx{jTS2h@Ss-uvA9+%O||OGo<3Nu;sAi4GDIJj zm5_S<_XpyB4xVWYy#{DWC(tSe1qL82zyg}YuPh}b`eUhb6MjR5UNjF|g2e)WYSDh!RJm+GQoxBSCI}*W^r8?29fb2*)NKfyBN6Q+ zMpFzESRkgbzN*R{>-9pWGJt0^2{f8h)h{}as;@+ zU)rIR!LDMkBc#``OU(`NW16(!$8?f@w}Xj@7W@>^g5Sc37W_Jk0%vq!&<#Hh1zPX} zP22DzXA6EBJ#sDqzw?PS0~p~Q(FOBxLb@1!-FE9W*wXj|0>F#eBKTdv75vTxl7Moh zfdu!QPGh=2((6-6tg%LPNs#m|oJ!E`P&3eMfds*NM&Ul4S|AZmpoTd}$k#QFEs%Ib z3nV&>agZz#;UHO1R3wl@QsLLc2vf>H(o(;_Ln9b8<*aE+VaTbRQdT|}(HXF636f|j zkVHktlp>dd1j1q==)Y?ROvVud$;H@2@@VzHu3Cv#{+v#S2U( z4+C#P{6$)ofe+PCm4Od+QI&xY6;hRfFZD9;aZ&9ERDXh<$&jt`$9O{z@f4TdRqZTF z+s`w1<$ngh)Fji@J5h+Ypj+5YdL~5Q#*cb=S^J>-V2MPCy!J8o(IR9l3ZwSz?xRKH z?&F%=F857fJv23aexyg}wZPxtjAa9IhBNvsIUE(W9`(3ZaXSFKrJ>L!3j@y83Zgq) z8Op%9QbBeH^}$ksP#X7oa3#+K%@Ox;A|auZ~=VC`R&`i-*8fmWIIR+)oknXfNhrsSkclqnf4?d-=!3bq_+=L)23*l2{$ zs9}_jhsjj)RWFkSEboeQi%3_zOoCVV_Q+FTPU?>U)1U*bjU->&lJho@XUWgUYZZz` zci&2{z2)aSH$=8vPO?R0_9`1~h<}K2w zh+`OjpsDg6pGwZ!5^Po`)Ih8mFu|~DU@3M)Cq5L-gv2v3#vX$I8T_Y${}g^K_*sFo z_@C8kz8U~BhoPhCYPf325UQpqVDk>@U>S@$gqfPMc~K!oC))FK+{2iQHdDC=Yh)r! zQ6?*vO&laKDgDvJy&fXMp+1$m)kYmi(WYu`O2_+>4}1QF^i5?>?o5t(>@KH0jNN0* zEmev4aVBN(9+^sR2JaJ7$qn;z*Hj!$7=&ULolO1{kgqn{OtUrQF9-XnK%kjija`Tz z&e{ntBd8T>~H|8#n*lqj7WwbUIJ8iqE-s$woJg!L}HzYg3Wn&R5n|$v|_6v*1Jh8 z*K4k}Vk;rGQs%`dEZ1{vLJzVQR}i_26w)E=uF`hs8R8c{WnqTLndb7Ek)6vlTft+9 z89n_lHULR#M0_N7$-hw{QfrY;$ky@1rp@c-K%w8j-wu3E+r;%;sq$(3qxf1fP zGL6WuQgE+=+2>lYmV|A|*@{56EqPv|Io$b*mLbi6SNWEEHMsvjd+#4x=auI7z4r&n zOJ4rC6e;Rbq@?q{qNFQ{lqs8Ib7;?qcdYejcAXuiQLzeE^6(EK5G0{1X|)6WVOiRZ z8@Lry%!t&&)4GXLxPiMB5O?jQPU>Qu#=CGEFQ6i`h|xNQfesdf!~v%105Op1PCwu0 zIq$uf6lGD)Oi~nMnfILcyyu+vIp=xKbDr~@=R60;6ZZTrAqzE;z)w7?tCWB2(IU}L zi3-O!H?aaZH?a_>CKld^;b&#rQoQD=j9%F&PZk#i25UFN=@LQ^DFvk^E44H$Jo~>7 zed9fy3s>xaUc8n1M!u34?Odm&zehS_yomB~ITUm}+yqoS9b)9VoEE73#u14ih|83s zehEwVdd1&9=k;zzu!1S%esN9SlH|vS9 zHzQ__dSXOZMEyxmjP#IG*9A`%(K)g49I06!>zw12u3@8e4I|}$L(imZd@5ZtvOam4nh7vk-tymBSroJk&lT~zt^jNVQ-5)kKf9Y<|ltIDl$s8)}hUT7!}f9 z#aQbw>C0;e4=gw+tr!aqnyFZj=N5}0!<_XPLJnObhZqP*^on9sdC_CkasyD5NbTwn zMXBdIF-qmH#wa!2iBYOoCs=1hZjEmgd*&pqh401igBadZ_$S|c>tFqo@4fZ6zl!wB zb5qYqw4W$W2mU1H{WOL@RQP8fe(&G>pC5kjEhOpBluyr;xxp5W%G@Os9IwaccjNQh z_Pmh%v4u|;-jDC^#rGe?_y1db|51GZ!}$K=`23Uj{AqlC8BZYk-cLO}`Cfd#8pGun zzDy|i-jDg;jp5rdyc@&UWB6JOS7W$L*nEZ46FQhf^kqd&&(+kKikM2uPnD6!&n%=9 z)~Y5SV*{{!bo)qglytX+ni0!0Nljs8 zBbletZ0n_vP{m7e+9OaaRaA8x3sN_;(<%3E!}?ad%5s=0?^n#~TJtpubt+Iv9KUGO zV8E~W9ndY%TS_Q-rHZ?f4au#A01m{q8dKy}ia-oTsf!VYnzhSoa}Bj}5wl#qy4xA0 zo-Xd~3tLP>rw`iQ&hbONdSxFX)*Gw9eVkVz9l2hbFOF8X^={N{z0Eb<<__2M-V0pm zYg(3MA(G?+}CW+q0byOkxRdlb~ty$UMn zJ_Y5pp&&_9(A4|v&wh6OdRlK@Pb+lmB&&+v<`f<<@x?MJ_gQ#X=2N)vQCPQ~!jFkPySHn0mw zH`4Mco&>^>@Q+UwZTXc_yW$kzmq1yjH2G?vggpJCkuYp#_7ED*bf3$%*?qhXP95m( za&G;oq^U0dNYW_<<#a#mE3CMr9nEv$Ca3~@1d00&DtmX&rw7zuv*|$vbLq5#hT|Zl zEnm9$shM<}y$U$sX*4y*=n1IcsqQG02PKNv9V0cz$S4@$EQb6g_J@qVO3jrM?wi8Y zN;V}V>W`cF_KKa9F;17eOL-LG4r|(vpoGX#`7};>_gtI((^$>!xSu7h4 zFKflqj}r}E?(&!NQ=X;aF?YU1DzyZ!WjxGKXo^Ck6q?mXaK*8@vYe&(*n)nzFGlVa z%GuUtQJw_)X`7Fet?GIm11xDJPC;IwwxoCEBZ{z$KOoXZ`Fc1=qce90LR0sUbV~qE zle|~S`{d|PjkpEKE8zg?JC)A87&{JI12hYMLuu`aa|?o)99 z>;qS1eS})Xr;JJ%G^d^33Gs8nnr!;znhRXxGjHWKZnxlZxK$)&l|h9sD8<6Wt#sm- zc!96}Lh*vo{c(0Ixup~@r7cJrj%rMr-yIo^SLkVd^y9V6gwzXrA*^HW)mNX|z#XuU&OZxh!%DPC??z%s|l$|YZ};6E#DV}+u5N;7>F!ja&D z$$gULCYg%#5KPRIlq>-c$C0E>A&ej;6Pvd@6-`k*fm!*FBqq%~q7SiIdt;s_d8)N? zNF>T|{e`qiY$e69gqfr1*x7bOYY`&wO0;D^hJ6IPBP5a2G@eyI4s6LgzJxQ%B}rx4 zJ;Rx!BtK&2lov$+LMNVgxy%O<7;$0z{x{hB z`U!U!q0LoP*BN2zs;F);icwu&lvF=06uYkB^unBH@SzOb8dh|;#n3|KZC$dYMzG1k zWB&@G6`L5OB*e5yu#(9P*cwKRl*&pbE8knUmZ$}(NS8iBQ9TlusDvkVOrKSzjG&tb z>ahpRayzOBUEh)~4J^Yk39s5Eetf!LpLw%*ivAF2db*oG83=FWPjtuu%r1UYE)jY{ z<#KhmZ6VM}?6_Fhyk`Aj(N*ZRBC(ZVH8$;n z$N1tIkLio=c6{+|`=ZSg@{6*jjRo_YwP70>A^#SmiXqFo%tw@V#3$O($#xV<{J7|k zpqR0^X4IiUo<*yJ^MI132V{=8F{KM z@D|SF9CneK?(I^+B*S@mO6sVo?aEme$Xm{Kn;uLWyljvBoA1@d&u9k&FZQ9Lg1Jj^ z$9U%DPSjq~`DKm3H}=a1Ex9ZBAmZ@=xw-#^+$gP7dh8@ye?Z?$^_3cmuLspVc$vz#hlZ}j*dwpyBO$Yvjp}if zX@JKXb;3C&Nushkxdj6ET`Q)Se1y9d^^)6iw!lPU7wl5Slng3Krrnn5fxrw2m{mBX+gS+}3%gVEsBQ51=nQVc&# zc^w9c<0DQo9AZCL*Pp9>#owULtI-v>px4YV?Op|>;iW!*?ALP1A5CzOGF-mICE}8s z$yhtP1fp#wL=2$9h?Z%*o=NIB&pxX)qy#s41XP4QsWiSxC9O-P@$iiJXKO6O{cTNO2P-mHs>eT91%&M99W1 z8s4Bq0nscXhZd=QTyjyuW*XjH)oiV#Ts%b*;@m!B>Z*Q`giIo7OF|}8A_?j3$3-|R z;c@|y0b$i7BP)$$WaT6oSqUT~SPgk!QC`|>GLq#*MzXw;kt{DVlIML{c^OBNbOoa% zSA`~bTG`hNvGChu_0sPvW}o_jii1X5!&vq=^6c-lvVYLZ{*kihQmkdan`eKwmHoq3 z_K%ev>M-G#`=X;<9H4)qw&WQ{R@b`b7bhom2uB?v(=X+ue@AkX2>MpNP@xHBdEClxL=ldo6* zvw|rPBtVk+bqXnpHtTMz=Z8wN6}{G1%te+F^+?Ru-}$#ie1+a$YS7=#BN>D%W~~6iW4>14JDXLrxn!G83m)7_Y|ZG zrqWD7J>9Kfj+KuTTACph*zGL3o1S-#bV|WIDonEI0&BA9UL0mRU6069NFP&BOJ@~S z(!&bM>EjBL^a&MD*jgpfW;a1d_bJe3H$f%cuVB`9bahQB<#clyUzpVfI@-|`ADLo8 z&!9!xANpA(~_p5Q*2RT#oNCE3Z92&4=d zD=t#!NZq5spNP0nrD|Xi%i}H)}Gd|=K-XjR&bZ#NwtXN1I6Qrfi#NPiEIe@4#lHgXNZv4 zAGS&aMGDk~xOxQ>m5vRSuCA@EVd=~(-DPj=_^7(EpKhdYN4<+pAQBB=nk>)_mpZ%4 zldg^>kgFL2d7~j{-72i>daAm8XH=WKV;Dut%o&jREU6=&>L*7=Nwph#2Rzj+xoIeB zOY2~?oUY?s)O87bX5PQ8`^kBl@^8!64o~u+Lon(v2Re}_5eb2;EC`bHfP!*5r=Ui& za>@|_odTTL&kgl6Z)s+$pQmC!>+)4{azil}Y|k?~b%%VvOe<;(7tXDYKT@+ zs@90GR1T{#B1qk9srx*YliM&vRR4D6kg22%T`k(3&^L4??bNDbHTJDpZe)s&n)N;e za*V3SX#>V616tLk)J^y3rnPQ#U{zLKyx1etiTGmCskWn82UX)qwd$~9$1{3mMzIs| zjDP@~7W|K^!wy+ZS{rnS$CUbnQfFhTPGoJ=Ah?XWahgKgRX67kv`i#cV~N7fz#+v) zGaq=7R!BK2a$$&089<^uR+NKSKQJVo5JX-8N)gpi0C{~SGYOc7NB6O21oi%j2)FIp_w23>2GutC?F5Dv7v&N@Px3l2d^(c6EU zh0%%z-7sTFTg?61RT-9z2vZJrFM6PhVEye&wwZVAM(|-N(U_+gyvhd4VZNa0r+}E1 z8&}W6?NTnA(>w?e;au$>`3)WUGl^LCilf*5xX{W6pRc`-4SYd673Ve27=4LWgcB&* zV<#+@4?f$2>XMBAx{fk1nq9G-4)_y`7C;18S{oJHgX)RK5(v>4r%wiPfikoT(raX8 zj=)ZC6`r>xWy_;W`fZePT>t9My7Gr7qmFlqkq?Pw+KG777MD5J31q8N6} z!DARVvxrby!)>UE1#R#p>S-P@V^+n)ux*|v=5oz(j{(Xtk5T24$Efn8$Efn6$EfnG z$EfcHtWMQX;ZE)Yu4qrre8g(ETGLkXGJK0J^l<{Haa}f8yyMD{kkM93o0e z^rZ2^ATi*mc#Nh8kI_rQAa7~-tjFjhfD{G`{8&q3UG$TXNbciq2v6*oBazsWBazri zM0xiAaHej4TitxvvFZJGLn+>I!e*21Qcoze#9)OV=ovD#!t~9m zir7LoD=j~p@E<#i>{XIVUWi`E3KP-Ck@zuc9hGHhl5AzVVqH9Y zL56JiDt7?$d5tWh?-iL}xet+O5;E=CCSi9i<2SRRV&}|=f`<<&m6L%QqM^E4$mkSa z-cSNjFhZk|&J`^k^H}XErujT=zLhrHN^7*zLMsicJ=H>42tYc3)HZEj)_sH4FDW~+ z4bC$ojVH}j_Wuu*7A0^L7rpbWOJcjTib)+h_hlXbSzIpd!x}VWhqn!Bbv~OiB(mHH2hL@C)k{-k#lRDNhVdH=U)d@)l$yE(f!dK#xt(GEvP=h? z5<7G$DrFyRUQusiS#w}}|Tn~)(c_Ko4JUumFj z1>2oojrfv5kM<9j`6`Kj9cFlYw;W2e)QC;fbEY%q*!tSR2>3on%uC0S6wNUu!hj}q z?ilUSZ698%`Xm!OilsPMP6@86a8GK+Tk;Z_*qJPeIVyW1WKQBG#Bmis;pG)Fdr33kBQ_ zO(lZq`{vYWiggsCC0$uom-mLx~HAWN2qI3nBjE=1t@t(!vKlc94pgKWddg-h=|!P zachLE)hyT;(<;jk&A(u$=-KSKEUj@3QIWOT7B*E7oY~+QLs7`L2T>kq6{Lhga=`&u zV{!dBS_AF9$TKNrb%u8fPYi}G-$TMA1wJE!g~5EyjCCTn>VibLF7=iOgv-YXd)T4b zaf`xURI>PPG!sS2gQtRHs01l6e)_ZhjM=bXT7R_VP9ow*A`DS9lBtc8ljQF)(or%p z_9?0Ty9^}=osp<%fY1Ti(4l2|%oB*ItUoX3*XizO5UAB*o7#s?bnlQ;ASieZh_wkciu7TqpUgP?KXlhiBK69Zb>GpH!`g_ z{elM@54fB)+V69!r==v9Sp?mp-SFLhR^C{%!HV!S2*to;dP(YnAvrKMlzO~wzCr1V z#*mF0Zt>J3->`2{mSml*Hvn0B*tgIDK?lI8RX(<9;9uWDg~L{w=&&``eO{5%&+hU&tadrXz>Yu+HHwc zamb|qn)1&$t4O>1<-rYsB%N_VB`roU*o)t@VF_Loki}4Ax}cLCf(@q)h9GKE(Hw(( zChXD6$IgX@>@J)k?>Ozsnj~FIdKS`v5KK&w zfXms<9KkMagu-AEF@tQ9k8OJOzHUWXGWewXUC}1ptmSwWoPJ_U=R);&d*mD3&ep-o zM3u})B1VqdD9F#G2sgY|v z5e7s|z6XltfG7EaAxl78N|2x!C8)W|xr{LySt{6~k*IT2TrK)!an6G&4@QA(kYUTj zhshGkPUZ*csgw$3aa)rnG*6wj)Dfkk<=h%m8>DJVMr&#{^jQtTQmFysH`U;&la@*i zTf7EO1u!@jH83Gd$s_GGN0}^@8Zewws(a+X|1Ei`!K@>OQHLupD+J%ppuN&i@uZy# zo}{7TNu5rhPA75H`*6xN^mSK{*S#wnj){i%sCFkPARQRRgQG{va-O6tCn)FWG5r|& zT@|Q#-B4YLF+W}B>D`)%M}mKcyPjlqcpdo=3;ZMUh_^^vQ)&B zUMYfVG4+(Cf|*`z63EZGy5=OQRn;)$HF%dFw^V8v@)|t#c}q17w$wm$w4BIUpcKP;_Hs0X^&mWruS6Fv z7w!AJH}CH`(Oj?!NwtZkCn|BzR^RF^mah+LFYL{t?}dSlIS|d1H0PsB`!hVvyOvWM z20YDzH&gW9MTyF%5J=Iky`cwgF+%)=G3#MaT3YmRci<|4gyv5Yc^d6D>!=z#3K~tX zDJL4kIh5oCFRn`K|Ed!0`RZymWCpnL`O0e62P?r}sl!-SV1r%TA3V)FY3f=4o@Sv! z`^>UxMBB+WmzjQQUjn7`HrsGVw34)oe)t9zBVceDPYxeu0ueqGe+C~KMeG68R-SwTS~~G2njsK~9lmq27&=yCPY!jMtZrWS?zy#XMqy zS@&p1gBn=Tz!fBsTje7%_c6UGd__wKjsNfZvhz0)0qB5*pD|` z#88Y`5FEH{`;9`@gOt#nyC8cpMx!^gD+~oRvxRfd{>g{Wf0ZcI7I(-dhwF*XZ}%AR z2DSlgpk~zwEGG5*8xGamx3WHI`TKaGtpbm+G?M0@itiN9@%tTq0bZY}J!L(3!_t3T z@boz)JJ_5x2UeTZTF|o$54}04m2*0z01+6Z3|Bnf*>f_CD-OdSJ0Cgv*k5t%NiFH^ z)R-cQ)s;{?KOLLr!32 zE6nw4u!|qp6vz=E0p@}&Orp|PQoRbRVA6}~cLpiK8SE{p;Zet%8lJ&{;zY`IU@&iG z7XK0P*N~}v;oXJd9pJYh;sdZKsoZ<2|8ce0bN!&0){hJ4^K%A_9$G^GX(ykcUtWTB zqT0q)x8gVpj5W?O;(*m&p)#hjG3CtlHDaNuH>BtpRrCE=mrfg7#`GpLPr%F_ySa_;5@3DF5R4i>) zdQq60Rk`Fbsyyj2Dmv>i^rsg+MtwH~1x2Xvs>i4X6j~y6OC8Pk>&W9xI;M6&^0Un& zLBV{Q`gD@{Jc2S!R1|M_F^!0})tOav=AR(i2h^cko>~%|iD$FvloDrC`dO=zE>#xR z$ZUxV3}u8hat4GKf|{F1B!0fVoZ9(zx!t6AMb_&LR9=X(&mj3EbfxrW3E~e)^T;7( z%~N;PWb7<;;K?@JcMo1L zgtQR_lc0h?)(`ahT>6B9Iv61sb&SlXb9!pH<;)Zv&eLrAB?T3_oFJjg3CbxN72$5L z0-3(F@i0f1Y8RZvBdrM53V3^CS(d=8GHB)?+vTjFxB8~=VeLJ~ZD&oTlmH>A`fW=6 zhQbNtAXHI)hn1hq%kN*esch4Sw*Dze&j!O0nk!18+u_RtdC3DR$*%WI{Icfm@VItz znWSYytTQ@#pvvt4EObksW_$ZaBJ8?LyhLd!K~VeCNP>p)FYyMK1KfY7H|AU*q7YgI z3v>|c-+dA;vF@Ru)&pg*PO2FvOPWdkVo_gdw;?^X;=B_)bNRiTJl-*367vnj=OL!%&PK&WDkBs6lYS=^Xz z7dBxB(Qk)vtlbUU0yMQtl40j>k0t_?vtEB>>%|DNKOOO%QaWe^lCRTxr`Gy zHTz)bj-PzNKiL&XZ-11B_D6YG^U>3gWQ~um{Upwn&Zh(VBxErl|2{)u(6*859z%}9 zVnt~PU3drywP+(?F|#tT7@{UqtWX2A%nJKUypsngV(fAw2Pj4^^!@hDD6RW<#iR$q zaDF)m%AndmK_X*aYd4Y%HSN^%-<~awT{T-y}o+xj>jm4S7EB+8!gfK5j|EqX9Z7Ip&5bSJ0Cy4eZ*U;foM{;zb0 zf=lU6vK2EN6$mE<7PXeT-Gd3wI_ZJ@{2=V$S_mnGzZWK4a@AHJXC1>N2`15Mm#_}Q zsgqDA=T7~doo= zEx>RYn07|KE34HqAZ>3wOXgq~u=R|z(G+_`UsYE|bSXb)?9NRi_=q?nLK3EuV7`I(e$tZ@joQ5n|U<U@@C8xlVCvLk?)Xuj;D2RPGMye@SdGLsWVCbRYE{CA^5CiJbMlmZei>szWtoi64N5$)LL?K>b74I_1E6|b1DxAz z;CM7?(lsMZ7&`2-_NTmKqLrDd5q5(o`Yy0+2iwF>V40!oauAq!ItlWj11_pZWu?9g zcE=|{QecZp`lW#`DGt9-M=CoR|#C8aiuigt@OcDc)+4s zb(*|hasA3bOdse>=cF1Y+ZEhtqlNU&j2XpA1b;U zsGlI~kKRqZlTP`~E9IHQb{UHsO%RnZx20k-5AIEk3R^&O!i`URy7-AkFA zZP8IcWw2RBw{>4Br8j?^T<9z-PDvN20!USC4WSQNm~WS}p`6C#zD^Qa5hsy$&(DzP z3}1rKZ7JoeX)hgH;QQ~1g*KrvwH_1NV{D|{lcJt0ri*kFFG`m^`4bXJMzw0m#h8p) zBB?)4Jhc#0QHSxZB29HaG`UZlA>mdEWWEnWS2_EBq%HeCb|=CuD}@{vT6&7DmegPD z+rgF*oh*I=?&l0;(2O;DN*DN&K%{Z-W`U=Q{Q@TtNsRdmlJ z)0>nkj8V3^y=IHx`<7Qk+Rg3@62*h|W3t9js=~b2tQr>c) zT<}0tFMe^zbX1bkNO9CGK1K|3c0Yb!P_|>tMxhR;Fo}>6g}b`0Yl|P5%zZKOk=OwmuY?;zcz5=7&jjLN@&@8H9eug3$zH8GJ(TT|z7RW~ZD&eqpal z!1GiZ;_!k%tP#{o)g$}9ddb+y^C~rXYJF`gyZ_3IE>dHsh$I#J1QjpCTRnnLD#hmj zj9^v?-0y~DBXrCpCcJL8PomUHC0#h$VaPF6Xeg?S&ez6}(+nZg)Q>WIxsbsU&N@=8 zrDyNsFWmFq!IjuB()tnJKv$-WNAsGBGM1^!%n_4pDD6VFmETK9>soQq|4Bi3h7ZwJ zi~}3R7j2M{c=8Vsr8Eb3p-`+HMyt@p#pHAq@i8lvYR{=vgiZ3>628=NSReSS8^-yS z`&7HShF5ogMKSmKnkc>WhYra+MIDaX;oDVhFAIRH2D6EN_+*eilAwXSOd#zsfwad2 z5~K*~2vQPuP+$^Bb|R=yovjkMp9paYxqOv{Jj+QF#&_yLN8=?sp=VT6ONcM6VG7+s zCFXjQ)w3+c*dpP|5FfH-7d$qcUtk_ov$d?qGJ(p5#g%wId zn%tUjV;%;Id>`qKlS*+-iV$Y}Q^SNKOqa91RxV=q=R$zdCA!CN$KXw zxC<`G_iiN{Wh7i@78^CrgOE4c8qxJ^IPIcqhgEQrW`^N5zJhKWW^BO59cSE*vXN8( z*80~>?x@PBu3nW-2*((^V(u)pTNq=0w~3qUig9vHZk2uo!t|6`cEu+pg-{KY(|CXpsfVjU@IGb_%P54VipCR^|GkqbAeKPtW zA}v@;*YkQqS6!T*%{Hk7jBpJNm@7LXde;w}!AC&>=X+GGp+PlXN4B)QolQtUn?CaOjV>43(6Hd5PCcScweo`!*U(}F;*tBUI`q%s0;ww^-Gqal=&+~MXhnEPGPae{Eu5oZ7HnXRv2iuoe^7B z=7EaNs^J#WW;hUoWbXB%zzx0f?#G#1@yf068W0@VSEz(8odp!j%ett88QEN9iPwnr zV16CCP`t1_kX>I_$~-P{A2FRJ*{C3OlIe??`;@uray{#E=^$fw56~+vUWnyZXfI|G z^axY-s8$Ai7wkiS(=Uz&I5QPGnV|9;=@>JyzGzgHMms>7ao*mv$S84L0Lq zPYZIcBy{2!6me+L-e-8SCHjzd#D>~*z$)u9!Wg~Mx~`PFu5=IQ{fQ9A+Qhglw-p#} zKh=5Q#6;elIP9bAOPRb2ZxYkCQo=aSgZPzf*+l6vu@RAUcMyqntaXEC&$fOvpsm4p z5geq@8r?nzL|QxLuF${-UzYZy%NFU(l=+y~N)$=M+d&lxa!p)S*TRWNDk=pp0z6vVT+fTdeg;HR*Ku3Ev&Us~ z7{>$zYVxoe!$TF>|%8D*+Dm^rhk;h4a;q06}Un<=GJbJjWSjgwnT?A%IwhThIFax zmXB%YU@)$yd0@uuU62BCn3cu3CR{1 ztuA=#`LwLMqy*9~O;6}DgBVHc#8{ap?Db&;XNydWxu~d?^T95}$WnYq%-(se5m2vL z6b|o}&Yy)%;K4MH=&i&9>0rtK)qmVo9JpTAK~^>nDpQEVVumtv>oK;|$3Rq{pHV$L z^k-1lsg&|8Z0K~dpG0`%>15iYr&I8Df+cocD;k;8nm@zP`3z3qAkMHmpE1U#h+_!~ zS|x^6?`G)lY0OKZ=PsIbqRC4yhW@+kI}oqE^kTXdskVz8Ve}=1Nf;vo5jp#zIMhSdXn_h~a42%rHsPs&fxtWZCjQtnR-!(xSjTkjdWy2TrSVofIv5}4N{w0JJ z@}CUUeiFykS=DMf8Hgg%s|NCh4AVy|%#o8Yta2|hQ2H-G4};2s#6!7Ivp3*!LQXJg z&T~~}(65KWZ%;^=fUxi=gN?5Zu+Zb2zT(cgdaL(F*i`I~#M}ij8!td(0iLDE%ZBJ@ zU2bAWR79lED!a_sGliiE^@#{roa~fZVxx9Rk4stK`K)%q2s;o(Tc(WUQBye7R=b;x zzogfkO;SG;I8sS7ec+RJKHH*^ z6RUpJ)uX=R`jVGe%kLt2XBZ%b<^Qfwu=0J%kcM8RX6B;|T=b{i%*kq_@uO1+Nj#lQ z`ym-x%N({{AsH2g*0t~yZfOKd;5nePZxTDnIlx_fg6I-w0Rz$OFF}Z?w$8~K1MXlN z8%mCb%5#hpHrxd54suR}oeWR52!Dfg*5MM}03?x;Nd2$QmZ64VV=@6jRO5hn^>tZl zZ4xG(ZN`m8Iu5tv8&zbf$w2q8>({SN+UcF7g_~UN!T{_vw5r#n?q5#C(qk8FSGQXi zaQ9B$1-si_fZTeHImfyH(}K{gW??O&PT)-8OEh1durutY6YwdkPB6tevxPc=FA6~f zLJ$E63h3q3AC@70pg>FH#D24oc}K)jl3+lc?q5GCGPl@c>w}IB(b2l2E_)R7tA<2$&1kmFHKpQFaaN z{0igBvhbtA7#U7rtO~LF!b=(nE&k}l=5=Sk#&xNUWD0G+#v40(WoJ1^;u#8(OAqW( znUaeyY2%bGWV}#-*k9Hl>XO8&8pf|NA+UZi8^#(^a8xC3Z9-Wry=?zD5kZDTd=r|4 zF+{Qq-HJi#;#CO)qC1*$h>j(CnjV+#x6nw#DUE$y5lg=;wAd39cj~^&D1~lGIhi5X z!^!SundlcNgOZmrmap*VyV>rSuKfqpz@9#cGoboFnFEDzte86XH^_s#Br!B64q-3> zgA*ch3>I5NJ|Xlajy~+TC)7(NL*GOTeTmRVo?m5;+|ic+GQdq-<41)t7uX1W4@4b~ z?}gMB>TvE~O(jNc|9sRj_iu>0=Lc9^#(|pmt_G?)nSrXFWuU@n`V&d3P76vtBMYO4 zj3&Bm{dfY)4;oJ(v~xUx&5rTJF`Ilmv66i7cZ>@G2?cmtco9!_!=ea#s8ys?DBWD04PWb=*q4ew08KKD0#NQrDcGN)= zzlmtZ)HMIMMpT!{bk*P6QyjZKEHklB5;JUqN((ys08L6yU{A-~T1LB}Bp&rdPIqaK z>={oy=}*V~Nv15+5vE1`-4^nUxq2rV$#HuM}GbO`Vg71Qq(;{19WE ztWy}unaF_V#WhMy*WJ=xk${$jqfue&bJ@s5e4CY?F2LbK@#zBlea#vg!{5P_5DO`b z6|~l}x5`9bM1mCaOkK>)#@Q8=Q?=jG8pafh+Vk*oT{g)svcSB=M8JGI`c39$Lb!YW zWwa&FdEzW`i{@zQ^=UCe2zfFT@zuu)V5<4EpOr4@cn*&&RQ=Hw!&pn0=+eB-(v~UO z#LT0z0fI>BjhbeCTWHIYEHHQ5gRC{N!Fo24X%WUot1>j>L;S2D8sSikXIL&jve=Sw zI8J-USJ~h~cv(gG;hf=WDp8e>pnfnUC_Zm}Q3MyPKJfG$+6Zy8YIr4$Yg z1rpVkTR~d}QY;qeAyFB6i>|nV!=cXhW*Y0NxaEc=tG3+M^#Jwn=4FdQHUO*^8L2?)<*p^CS-1;23u>$!@90@?=^>^v?fP?=pAA7 zK$E2xDvBL2b^`WxGP%L$2F(xKwf)II3V<27hV zKc@G0rlXqPFdgmmef2=AqOfQ;7B9ELE(jwnXytPN(3qnj>L3;{(Nc?!5|mDEh0WVQ zz|BNpj3ycIqTkcRqb`zy+S+a06=qtfsPPQvmX2EAr6 z>Ut2CIE?;(lN)<^WXqmzoSBgx=A6Q)kqYU`de6Hu7m*?UCf5E z&*>$N75>CAjjx(gL{-dYU5+h7WktGMQv1#DE_7|Q8>mmNVc5t)R3|eUc()ZcRU`AO zBnkq9StPVp+Lj*^L z`&4mAwH@4NI1tuF0qW!yzvI4SGk=KqkbP@=v$Vu12!_!XC2q<4ONrp){zUMxw)k3n zjHzdth=q^dHTVFFSg_{xuf>PWy~0P?qzZaCc+cTFLu_kG??BQN-CN!eN#$mH|CXX& zgB6Vx?D^&SY%9=N143tCz z>_oE*kC2&FnERMwL*-C`ll0_ezCM46JiLly!4&e$H&7=U=Aw6==4hLtZGO(nr9Ni{ zi~+<4^l6`*rG&GAW!3{u&zjBFaCIDTfDNiZY?zdw%QmnM$Jk~H4IoArWCcmcoG3en z)Jkv^A(UV-ofHBns#EL)@-yz~9l0n|LJdpJa?S@(W$uJ3Y4@8`%0O$4mS6*MGDgm) z-1%rbpb6qMhGDvj2R*&RO_NLpvKxEqy6nLX6DsKov&4VId)5M+mgC;XTRIZK0t^LPN~L@7-{A1*6^AH}@{04YNa4HI zyyAw{MU<;`c^*df^&A?SGSfZ-$9J+FMWTvO;F=XwOF#SB&;AY5`BF%HA+nPjkO4+F zmFfFhY2+V7zQ?g0Ux>H4d%)#iV8n1(2Jb~srfYJF?okn&J>X#t!?|8}Tcg9*JZm{~ z>t?o1zU08yJP>Tt2^UR)EDqe3oW@Xb1wm2=q4d3TDOHmGB?BnB`Q2S)uU4u;EuQ*!YrdiMBizrclf1iI7?%veJIIwFiey$0FzF& zQ#maFi04qxs+!L)YlDJAR0h9jFp+#C9e~?5bk8KGByA-d&Ejiq8%)!JQbjXF)U+J; zx{kK$I`$}aMXgO#^Adz8AOTFA}Z;hfgS$yQxq({+6!S7FsZD;CPvA(s#T zE9tPPjWIgkG7_~#Yhj}v+u(R2melGo7Ohe>&8ntJjdsKuQ^JU?gi_A`qa|t);YuKH z;v>bl;?+l(H1rYlMxqim>9>a=7xhW#R>qU?um7cK1yB8 zgQ{!P>#A@*_@CB`RX-n$DZ zj2QAje8fE>nL>Ab#0?*3AXHJG0v#zPknM=U0$NlbXi*R-*sp>|ZpkCmB#+hjh%cEs zkA3kGS2Hx@+2sGZ{&n_8Dl4~jrNnfe!ZtQ3c>AN9~JHp=o1|GsjM)S{6#l3~dpzVGf#^7ag6ZvsPc}si0p_@|t;*nz2T&?OW z?%Bz{(zWI*Veqz2P^vGxe69j=WCraf8;E)ldd!`)e5|wI#b&y-1HF5@Y^b!d;FU+V ze(D*0U%iBv%z@R|djjP_AQdjZg=D2>s~0;;_inOu==DyZ2K9PJ4MUr)VaOW=72p@3 z)g_}eiW{A+OYBv(^$KZNvZlaufG7@Bko@#BYC?PMGb0$Q|T2XiAZg_HNC)>#()L6A^S3$#{f(IPw zS7MZW*m^?pfm1{?_Vt5Hb!*80C4BKutSNuhzkkt#vmPvYaMFY09vp)>7tae=_(>-S z?-V@4n=yPNhIeB4Y7FsuW^IKNS$IRsla8i*7Sn$m!ym=)lNf#!!+SCOAcpT1=rwo( zOx#J!P{lcEo2?|jCSkbta-j%Qn@LRg<*Tn2paT9i@S(?mEp**CaWuo4S)-`(DyMBc z#yoryeQ3vi)hH=7s6bnfU02YfIi~0aqQjA&mjW>(Rf`#^TFgdSkqIbV&W77XiLNPX z+13^H!KgvTu=Xj&P8Fa*h=VMG#Lz0J4S>`!%6Nz%S-kn)#~-Dx=e@4uUe{4(9UVokZUNTXrv=;@y(~G2r)m#Bh)UHlLJ0*7L`n269)xNs zDOCUKLZSN_Y4j=on~y3ivpOHOwCH$iUaICq$MRXlWF)_GY~y=(Vz`0dAm51OfOhoW zgl8x7%0%A#OP0JO4ij*-u99d)Lz$RdHQ{SiI)ZAMu~YriLIKyUhUqxL9@U+EjO7;a zNZC02Kq}KNJ3yKef;m#_A7Jgs3Cy&MRZ?6x@iB9$WEbnOenOKak-c$Rm++JnJ))oQ zlPg}gLy3}!*WYKBB+U!4n_pV>!>3k1C(U{7Nz9h|B-^dj;z^ZiRck=!krt@GY0xv$ zn&j8z(A9rQ^X_fOvF!b{qGKaSwexn0Ctu&`i3M6Hs#lKSON6yq^-p_C z-PgOXm0rZ!QXQB z!>Gbi&WvQ$>!j4Qe3cRze1aVgb6!(q6uBFIu~VW^$kFQimI#R6@0Sxw3fr79v!|-wH!A1=rwPu<*?d+ zi(p_sz2J16qn@1^k+pZg@ZW3UzNV-ne@M}_*nhOj zy$`H%N556>__xZ}5`aL)GqXU(4U-5U!rBJ`s0n(P2q;ki6&MLnr=w35;+R2Bz}(@`CFnACxO zo7wL#x>wAPzvFCiCK02dz%$4RK0PGEg#^E|mb8&1zfO@^?Mj+INUHy0v`|4Us&cPV zHG*n^N!IF_$0`MnOne78oAoRF-1u{p-<2zuiB`UCPkQt1%UqZvn+jyfo`pnW39;^l zL^Bexu7yMb3bFD+g4Kg!)rCYxWyJax66RdRdKVHT6~!tG+UrqlXdz*nS+T)|gmVUp z4J;%aHBhX7A;FuhVk1(OT5QWgGVHP8g@gr(-qscpJpU@TP0C7(jV&ZwJ+^fr8S~ia zLL!Ym`6d<;X<~?NUr5;dQEYsH4z^f*A(`;lu7!jhBE8+YknHf-j)jEXBc)9)BO$K ze<3;GvBpAj&|{Cu4Ov0?4lN`z9-CQ64tZ>PA$iPWPb?&}9(#NtIqb2+3(4ain_Wnr z5Q)5jIQkGuV0t9ucOIV6c2;zf#3*Nfv0rXe3L)8Ft5KA1X>kG}htR&41!Mu*_+6yy9U<66hHYs%`aV^p& zmczDf&e{!mdVx~ZSkkcU)?$dys!}t%(n470uu%i`Xi?93H8#4VT+d^a>n&z-y~Rwf zx0uWI%GW1ho;2hVN%wJ0+^t2P`qRE_gZW`!&M*$Tg84}0+n2Stu+J3NB+6YLU&Q-n zM@}S8C3de#L^@U?Hz9T8L}W66*Cgh!Ka`5rH%{xe8wK3?)5P)>J9$ZOgSM!{D9j|A z)nORYmK>kzgh{O&(K&!ZT4<)-vf zmH{HL7;mBuhM28R9eCyH6R9j=`9K_#h#42rh8dBn|$94-q!}yY&^aO?$ zaI!Ya$}>r6ArXd&u@hr+&P>9ljSx&4q{{+AG2`79Gu~}6-hE$30f+H&%VWIUV#doYX1v^D#>*{cyxd~O%PnTS++xPd zEoQvjV#doYX1v^D#>*{cyxd~O%Pr=-T!_LVF&f@3fxCz_HUOC-%k3!=zt?e!{ z0ij-4-9*+Y&)V2T)<$kOV_ZNypql|AJE6^vh+bcvDPYQGn@C2Nk+1qFyTi?`zk+gz zN?q5{wULC;)nR?4>DzT3#vIXg7+*%$VWDd|-YA&KmW{S@i)r5B&fTn5M;yX61&$VYWYrL zWlf^i&LsA&NrZjq&W`#f zd}KqzvraX!SgZ6i+MG!KOAxLemU^rDN7Z8O+GzA0y={uhv<_nBqrmRDOwxWmu~qC}3eVVyXE)m0IW>=nnm{Inz8lh-#%eH;SM+YNZqP}mKq?EG??fqG-Rw{E7s z9n?2M(_(WSKANj~dSiXDxnrBDZ>Q#8c97Iq?xs@D9HFWnE>6^KQT?bJ1Uok$*wqcF zrq~?kYqui!x?VHTK1{(W)ce56>KjGogj*PbYYQ42z5U7j}md?B&;B z;5!vdvIF=!4XNUNN}W`!ob6I-rg%lE+_)z86_hGEW<^Udh2o2#g5ryyfkZ~o&k=Bf zY4il!H2C`gYar};E7Z6IX^WJe+aR;>mNxQrKNc!9X{p)nI@zvT{(}7Y@7? zdTw($CA`2?tJ@$f5vOTfxpc%Rp9j_4r<#?UQLEel!PodYU$c=++9+vUnr09g+aRq@ z*Yt;mG+A(!1UK`do@&?^Q_A?Ehl*aH{eGt>3;>ownf=P4?7e!4oTWd;Gv}|v-dMVl z4JfxV4BG9ZTw}Hh17j%U!$I!`D2!`-#@_I0YSB=Eml={@xI_eV@7hkxF|U}TBf+} zUIB6)CgU$>fT?^XZs8wpzMX|Jg2!=4wKa@;N+R3RSc()Wvu;6mu@v!|-G1V^ynhV7Ek8bg{d9gXFA>EJ0aDl?D6o-xgQmo2M`HJRXMPSWB`I z#@1G-VlbwNo^a-_Vs-Nv&dq$Q%=Fx6qa4aUqL*8s5&jsvSg@Gua3|hT z0%7eqW*dcZ+}*Ts{NEK&DwY;)ihu(nvBgbQ25G zzda7w^=%gY*Sz_eEld1WkJMncN!YKQ!tUxDg+gWBu4a+Gq+|KtHaSacAGO5roi)wU zK+?L2XUaDU+a({iJ!*}@x)OwSakVtufo(VN*UkOeJWTNbiE!sN57X5@C=_}h6;gS} zMN20TSq14nFcUeZUE~;bkz-2Y2+Hb3?_~kRhAc4Lwj!%RqQW$(ux{iCOXbegQVZTb zK(th5m!bf#ez#btt%H@8Xiv9Sf$o4OsKd4i=J`H>E(|tE(M`AdbQ-vMnoU^+!#r5p z5a@nd0__43ti8c#iW`iIE;w-jLQCED8cvPILNuO?m6OWt&VGjxMGM4 zZSre{80vv*gBVo0NT?jRNJ!V+&|3P%zo%VAT^FQ%X;@0!m&WCo?MwfSk>cdFvQ})m z;HAWp&5B)66OL=g`9N{W8+%m_`P40TP~svD;^_)=HNhMcG{I5tz!Tn`XS`clHv(Jl z9Fs30-3w)XT=%{@OCOWiz&kR*qW5a>^9>1?K9Lx&TAoFK=c(-1L+PGh1NW>4Cq2-f zYDE{G*(JI)774nl?1ZIq{SuC?Y<*#=I%1%!bLkq0r^b!y%FA{foR}A6@A2&ZLey4a zjzN~;9=8Dm>yZ@>zaud+Eg%kA=`&U*?|V3=!gS(AmmE0l%OTUMFm##U?W`@aL8UU! zDAkK-FRNR?;a^8M_IrQlEEULbf2vf!Jb2bpsR3_lO7;7iwK>(TE9Y>2B2c;vz*C~= z{ls;bdEaD&cD)<-70u$Gmcz#HUQ>pjR9>8qIkAy*%hTUATYZB)v7KUBAUyl?3L@S|tZJHK4CI4}$4=b(})R;sM12pa^ojH`EdgcO3+Wz2*LD_LGlWp!(iWMVo(Z|aE7ys1mjVZ@SB;T5DpVuSN0 z(AiGUS>sU8Fqz0QiWI$N1<{MH?Zaib+Jqzw?$y)eD2=~jtRS;%bKJHyVYYajg`(${YOveKdmtddQUGnKJO8m6qk+2K;+ z!$G@9!i9e7*(fbD;?w=fU5-(`F+`i1>y&O=<}$jHMulOBKI&17i-d%1h;NIxQ|(8i zCHz?L*gFQR4A60iN`H2Xs8`^^9CL+;S75IgVpyzK?ITxw8(*#1n7(mD#{jnS8W7cD z%Il7DRm|<8l)ptc)veB3bloT)QyNZC(%pz`-X-1>>N?08>+DPmM|zE+C|Q>Vo`E&1 zoy-per{t|~Gz`%(`fg7cQ^Qf!Fhe;%py}M0u7O3T8uOVGNF@!Z7hzO(#NbHi{chIF zNerwGt{V4J>iS|)-OPxZxArT1J`J~*CqBpo3ThkoTmkUOXw^+&Wbb$_M;sc?O z2oi??FwzuN-lEU#H3gw79I)y&%og2-y=FkFw48WE8!U{jkoj#e=|WIp%X-u#iba%fca|H5>nN5YnuGpR8-jV1i)nB~QHMyG8 z)r*=e0pDhIpG;#Hny7ch(RWqo%exTiLES?a(j_+b=|bxmQt3h=DfS!JvZ`aywyI;| z3-y?^rEAf8Utdw#g^uo0Yu&N#e4&W0x%vLG%tD~g1ltLbD1$VfJF_WLyW)9omlMWt zH5UBr=A#z;&&!1#aeC_g`J5T^x_+K#*?xY<`tWql5#IaFpzCYQpv&HbN(NcD6*TO_ zt)NRfwa{H!MD{M=%3O|_SlQ5ZfmrTK$3_B|^okCoci9;ru{lG7xxXc7CR`w~6 zw4-iCNQ~2!nhl8^a|2Ui%zZZJ5j{SSJa4Z@(IHOB?N>C7Gj#_3qdOmQ zE#3Ku?obR_Gvtmi#&pS#ra$!BVO##F8IJ?*`D1WFhLw&!ZAH!j&NX7=s<0->B9QJ|~N2^wjtppwFK z>HhQ}JYtp`c9n#gncsk>haG#ds9AQf8Yf7QW(aDml}!RMwKV7E zXXcAPlzlssjcK<@Iy7JWQA`SwN=bTbzW8ZOvQ1TzX6K6^#U$IEBI)pa@#C0e3rCXX z=8K;cp-X(QX*uz=)zCz4;3WPotpd1T6sH2rmf4qXhB<9hXsrajHL}N*lUOBtBD!O! zXVc30K$G zyKta^7LiE%C9C{2Vh$VKNSJKdq+?Y|({Ao**fAR#+&;e!xKzL` z3b=y~+*fWwHK~AG6mSO}xUb#>^{if$3UCJ&A7)?G{Ohbe)U`tn2ow!UJBRp@Rw!Qy~z}u<)hA>;V<(oD@K|>TPoD*Xw*-bw1&B z8se#Qjyh@jOn~qXftrnhEO4G+O`Y9&od?6ytKj(=v>8_0j%V-w(Y~i{iDD0jo$+C} z>Yj`b;Ow!`h!1-@J~*e{iS7O(eLQ3__5`=WTAk^1cxE}>X`P>@#cSbdzMVDr`hM-b zC+y4bxb@x4c9Z5_z;4lV+Bla$-ucMFfBZIM;;;ObzjlNR%C#V86V7soil63f>ID@; z1p;n*yvN26IhHNz$!SrKwG|qE3>t2CrnRje+p#z7i?MyMj|FN$ zJ@VD?)w~tsw89t`t)NSAgt89Q4oDYxnTGJyWre$}0g5@qI+S75bTE8*HGCz9^sqw; ziVkU9J+=nzf)uE}ObN6wUkP8yp_&9L>--!leAKMzzz(Rs9Ciw-uPiH!P!V&edUL40 z1meOxV=&SVgZ{9%!;HrDV>bMA#%29?a5>EYZ9Z_T@lG6Hem64>N)FGC2g5VJ9Cox2 zN^BQIL*VfAwc)|l&{G;%j!ziNtixmYJg^R*fbvv$Y88c-5SEjjA#6Qub#%>BqMi=g z+6CrYBqqP!hOjTu@8QWDl*8h2vto)fjxceA&aMHJC&QDt2*N$h=4t0iBbrF&A|KG* zqMiO6lxOH}2E>}2y~ZCIXMWvoP44vTPS zHG|EFZVuU8)rqH2%5RBe?jCQ!v`N}=m_$8bn_yS?vJq3-97@fwkGr#2eWR=zOD9-T zGsy*s2B}ZN%yjsynk8LgmtIL|(%W5%$r3?MgxFO?NQtjQ>-7|`O$QbFq-%{e5l7Zg zAwH=$p{o1B=R-GBFq$WnHuHqi>dX<26V3{<2_n;>+Uzl}kYT`J{oJD&HfR&7ykjJ@fj~?q8DDeJdFFVs7!l7_z8ABmn$_y=7sj}oN zD=>-#)h^IbftfH93j~QxRv zxsn`f7yS1SHY1#XYY5<7p*1txBUn9 zp2gG;R31~LX3u#X^5Go1S^AHfay?L7k74JSD6zQ&g+IZ=LoG8C2vN!+*MpTH- zd9se(BU0PV6KK%5VHv3L!a9mzo&}WI3r|y(Mk&?VD4inIC=DnRyJV~&cV>evy(UAK zBi#*S1gdkas9P^ee?g;NwVL^hc1OFKKjf@B$0JgdHz_!4epEDjt+8c3t-Q-I^RngU zEx8BCT}&~(qeLO4nX09VCYiwjZ;|Lqn5bp84m4ddj>G5}%P|#mlv_EBtHG>3j5!)H zhwYbI9kwumh26s;^UZW84H{?J6n3~*ye5h%R=zu5$htAvu=|<7h#r5XS-1jKbyrha ztCH;sUfXQ+(2+p?L6Oc=f>8*@qB@9$b_?2o^~$bD3);%cE!eqHM9ot1;K`UJb-$-3 zmWo*&HIbS&i%mW{k>W82cc5 z*cpf=^2a!?Sk1Vs7r!%LMNRau7G&Oj{D7snN=@kPEP^9wJF3&aC# z^uH@i28pn?D%@|`!9r6$<|9{4Vctr)qnMfsS{7OeuXa!0kl_}&;ukmDT zNQmf0RkFy*7&Ik};a7|F2O(@{$8xs)1)RD?XLx44_IlAAT`3<6;XGf8(OJqlb=GAV z`d3rzDZ};`_#p%QZ2NLH`GPrFSAxKIHnswX*|Bmv)RARYR#7FXZaAZAXV7Cc$Ich^ zT7rMhYLgX$mVl5DxYLTCdxVtV%HA~)H&@g_e6yHME@wO1Agc2PXtr$y+Su+OYLj&{ zAX;rHT(*6t!+96%h6%YZACra$QR?>M_86Z6d?; zzRZl!F^^&VL$f=YXR=Id3Tw4)J+0)eqQPnv!Fdpuw~8~H^jv|Nv$h>$u?j0$gvWw> z^wLlk7&nfv5J&m68|fA&uG_-yo+6%`Gw2GN6$ta&v`@63M3!;th9}g} zZIbl^iLBgMYRjnz0MHP+U>9|vIAJ}FmLFlCZ;7~Fy}tzV9lk_@NLCE^SZCE4Ojt}L z8emW2q~H!HsaL&RTx2a+W^}T%^y?E@L3y6niN{1bES6pbd4I$nk%ff!fGyu{Y27Yga$fm*F}|8-<FFEn;bX&MH(@ zu?7=|qelhZyToA`qjT7Zu+Ih-ePg4Uz~EL)0QFM-Q{`%pG^Q;m~_ zrSrovg2lzv+v%ieTT%t1SY``3G-v}NKobTK&vv`BIDXx(oDj*_T+C0uX_t?v2v0Ug zS7K7tya{*H$uvbQsH1me1*`r*XSGs;fq84Q|Chb@kFx8m>;2E(=giERIWv{eJsL*QIFJ_uK30H(`CH(Cg}27wiZ@awTAB2M7=$ z+9*LI1dJG@z(4~Ah}>N0y+(`>AxhMW5hF$k@O`~MpJ(s0_czK5(CzYc%(qgrh(rb0}(@ct;(kUU;Y%A4ZE0 z&Emsk@nNd?Fr7WXV|9UtIC+~kI{rlI(0#+%@I_Ppi~o#0K9)2@A?*i(;WToOHBKX|d7?+#M9~WSNms@CB#h?cnUteXM7? z8)mhlS*-{UnN{o6wEu9HPko&9A9-KO{mg%KFqfyA|5O-bma$^wFh?wxFh}&SSgx}9 z=&E4>&zKPx8L-vw;ooR`ADz6lMvrRsv`!U2}fCQeT zJs)_FabcrWt%z@Qm$k9H{!BsMI$~M~)W)l%-8h#lltoscH3@53hpP}j zbKng>I;3NaP-V(|tun9US7lyrWtydv*P6UhpsSz*(_*1W4^W%y`~l`6p~)XAc|(%v zViP3rGPc~J=~Lh~agp0|F<#Y4HQg5}#MwVZ(SV#;AODUa4E|Sl=>8nLNack!4k~K% z2Zvb=xWJKUtlSyNnFl}PwjF?k!vMH}0BUlTrSfobf_%R2KssnN{~@xp=K)y;p7rSNuxDK*#RUXxv)4ms5Y7@Z+dW^L0_<;o*4T!KqgkJo>1B zuE>iQw9&NjGtVUQGlkPLKa;W%$vw<&L6~VF^lF}O(2p)d;HSdg06&VY!A}#*J3k5X zG6fS2C4uamP{2cjT2#Ucr?@QZ3jNHtCiOFi3pqb*U+8BB^yEk0Y5decC4Oebp42oy zTiu%08e{0`@Lu*)^ebO`{mPYpwH&RdIk1$lfse=;dI>B(7S=I7IfO7-miOsUL)wW4)vDG8S)0&1ALXkLwoR| zREtg{!dT=#{vwV#idu|7VzMHx3IA*#K*s>(tqJfBJBxXTKip{#^3F7;^opEr`6|HUj zN#vWvuR+#vs2c`V6Z;-;5Df!oLZ;1nnAgegnhsa-KqtU6z2?66m+OJ{f`@kM+g1kH ztAMuzu2Kx2s;+;Z;)z?#AP~BxSRRKiApEzHw?{c``qKK*hc z9ttI{5(hknLZayHo3$k`xn6&|!k zRh+#+f9pJO^ie7lyBK~Y-ki>88J9|sSuOHTg_y~$VVW3G4W(>A_I6}bLp5fFgC%6M z!B6l_2x!ph2h-jraKUl8y1*JFsIfL@)he48EFnu1>tf3=zu9W{B^7 zFfKDgeia<;c?F?#vKfjyLl2&G9%N4`%uwN>JVWYxqMSBSre?kr$@H4MXO|gADzCP2M z5O5N~gr6A%6Mm);KFBhK48hZEE78+zi=*w5I$C;4kSKVnwAy;AAXxC!Y&}CyP2>xH z*0r7~;JVg~o@z)NJk?s?r=NQ3Spw={w@Ici@t?c=M`jalHIa!7JK1tv7sUMU1j;_U zY-R@4R=4}SBsw5Xq$M2!^Sm+$T`#EYYd}4(g!ifBnY*-OPXrOpuCBoFrkz(xo$*q| z?J4$NvYM@}Y568XK1!5LkrG3`d%VRP$llU{>^29o5e4L^D4#PyDZA}uJ5(M!EwxQ% zNlJ34REJj+Y)e#`?!5>h{`T<^ym(3J_DK$xfblc8~BoAGR+ad&I(Yw*PZNdW`t z0!S3hTt>c45HY8#odok^Qrk_$5Yik$mo@1D`tSe`Bo`u1ciPz!d)(oV{DiD8CF@JG zhx>WBU*FwGVLDZ9$p_X~XFc`O_0_~v3%us4+E&azjN~FM;xDX>W(z4mSZ6H}n(~x@ zk^D@7iu_E1gZvOOfYrb!h}cdwss*ABmkcC>FiH^Tek7x)69kfh1zcji+E#_IbD4K! zBm<&XwaSQA&>`wt!7UgMKhVH%ii>N5on$B@U|KjChVMV&nCaPbm+An1!6S z729kJKScoUPoV>AP`@Hcm~m?myrF4>jxlmJ={beUg6g@KoUV={7x86myD-cR5&_FM z_It3ANA7DGSzuf=BrM^c8DomIgxQ<4AuZfaPJri2z(Jdya>5dZa>%mQaJ0b_)$S;- zT&4j5WrDCcTDGD!U%fLVZ0xh18*LNQD$IqeJ3Zxu*>MdZn;pE3?rTd}?lho>s)X4Y)<_X+<$ETu(mBcm)=n6Q1ucud zP0*~?G#d%3Rti1?&N+H4swR_+>aqmGe!$4T7RJzum}}LUOJ14&)>k|DSJdAM+Cf1v zL*P)0U1hsk{mr!l6mVzTwW?T-8TP9x%+zqnGNupI-13JJK+zUZ=7X$nV)nd?+46x# z+MYuh;Ab8^zy$K32bkNoB!3gggXEv+Nhekj)}<=&GldKWu+lP-U$Q>H86+}*2|_+k zK}T5EGReP=dm79$uhPaL!?kdP59Ll^#XQonm6>=>ggG2%C+d1V-pj zO=k_!=t)Wsz^nhoKX#vj912GhBXg)8-h_go$QDF+AKuDPlzpYC$95I=pMtnJkRCEi z)@KLe@du-y$Go0wZx3tZR@Bu^Sz~M34QV@=AErDu!(6+{3St;&&^*R0^{wCil>^?UpO?~W#0`Q*%v;d z-Nj|%xXY69f}mD&ntrJUgl);Dh$~S(3p9O0Tc0BIZrpxz1v@WtRX<&*RyLoAzi!|o z1ZHTj?6UJ<0GvqoL}K1ds+n4(<;=+Vo|4Z-`J`$<63$lfU>W&8e6p32`rWA)|N{8gvvBQTFTFwHq-2ZAu-~uY1090 zoNAcN%owV%JqBJqgcbc3-*=d2K(axYv<01T)5I3qSLH~?iO2)ooc{;4kvYMJ=eNjr zB8&K-W@R)fqoItmM1aq9_;teDtJ2}AhDHl->4{YN882%pFKhbAlqGGEvZjMsfL^^# zqn^8vh&F31*@0JpQllWJ7#fg3J$M|SH7Mp!OX$?|NnR2D36XRTeNo|q{jNiNm&5&s zO;Q|;4lYT@F3?%}W%t~@8mvcmjoiRGmFcmgzc315_MToE=jL4xTk6QV!&K{3V z$h%iX6KekHif;+9L33*b`A)AA@bnGLmq8+V7?Yj2wxD` z7jGD7+-$r_%#5IHETt3yU#(O-73Y?funyUu=8~^wtqN_fsm(QOGq=kq34N<&ZN|x7 zp!-8yx(+O)uddUeEhSyY+Of7lVL>8AG-W^`!7^Y}rR$8* z#^8JckE11Xz7yoU55E`Fa}1tqp@aC4xSrDshbQ)wBlVMNgCS|mJIzGi*B)jiU#0_Y}gwK`9XZ?4Q=6+_fFYh^5A2DHp$EfcOl7FXbWul2)_Noc{vPRuUj zBa_ftRS4@fEK|l!njm3wK0#wM zbQN1ZHaDAnZnpT`Y*KX^Ca>03zpT?-P^Kx;OPeJ_ign2lQiM>Pe}nuR;orC;jFvjN z*R_Xzwrta^E?WZ7Q8N-I!~JATc~O=Y6?R_;fMiVMJo~tA*|3 zvpLa%51paG3eGJq+0fu8rujfS8%ml*AoI}+WIoEDm**pR!!|_VMoRO+ED|*`E5AG+ zBcg7SY=>AZHo}RI9H&+_&@+0+B+W3qLwzS{s4z)+3HE6yNOLrr&rz5j3e^NoF=r-& z3!^#Qp44sX7})GVZV6%|VYKzL8LF=QW<71*+U?>E`8ECx5iY9d+dPNTbyg z=jW0VtWwSkQ>l%-IHQ}k1BWn41Dj0}=}RQEOc}1XVgf&_o$SzRYnTZP{1>f8;v60_ zs*$hSxMN(@v52M03n)H%!F{fpv#D%l+6| zw|Gl2`E%({h!Ld5t*ji%+LV{I`N@KY2%YADK`Unw`Gx<-b=hO) z%~5QQ+{xrJF9*VOM$X(vX)*fB9nvojfJAcdu#%nwk_deWoE?^qp5VCtbm^W{v!1wF zlTpDpiFF^zMGhKk;qTytkv6H>(~0EqU<6^Hx=~{!beEyV&>aGHJW7-MOkyfl+A|gA znZn05oEBA6T(igXxsQ$ep6env$QW{kEK+qny8FT?8Z0#fW$@I7^;L{CdONqix;4RY$LiKb z0*GR!3>k3?+Xy!Qo5&%!;Ta}HkjuuS zSMr4pMfpaGX=uw3%P%hS^f451l*MKdK?j4@mqKzVh zZJm$r^3)xQh-)wc=HBC}yW}cnu)7H|@2Pv_3S}@NJpm7t)WDJ|EIDqh7Ey!NF+3(U3kv`dCOmLHc+| zpC^4Hq%V+uJfzQ(K51z&m|OTqQ*?K-F&7$Rf|BX?JWNY!G6hw)1PJ@RFY9EM=0m1o z7i{ZPD10~R(;>Y``V2W{6}txRqM_L#0iWN6IQ@&qe6=8I*{Vq=w>4hm7X1BZq%Sy$ zd9of7P!Uzs@osuP*4j}F)!&G`@QYvS6uu!?!C476`)1J98r3_SK`MXF+d7*Y)y*&W zYRj5+I*6TKWhGwLQx?yAXFVDV0qzr+C)2?Z0XN$)6*v~lY{2hq%R<0J{meGDh>8ELSpH{Ym?SZ9TgALa%3j77c>(lMDHYyr7VrU zMuMUnd|ra|H|Ej`l1t8rIv>lBW9~`VD$S5%8Ir{2fO7_J$g!vSFe4jmMzB;zZpcAF zp+&vI#$fN%%r#sA+R)Oxut(vB9P^aYz-xX6%wmnIB$H^EBZLNST<=VWNglF$b_{FU z#B{@27tm#n!sq2V3Wl`-%@LPxN1aM#2Ica#h9I^7U{ko0YHP&WP5Hn*5 zGsssvQ=JuT#c8JM`AmgLV*2$G7VDTTOqT^`Q05#SHe?UFnb6cw0e#=InXQZ}LtLY` zD58`v_kS{RV0OE06%bdbjeLQIIhr=%lEx_*N{DD?--%@3iOjwe$-Wc4+};NJ4myB9 zZr{=8T1eJ7kqnbx)54%L3<#!A+fNG3hs)4|8XX~ptSEj-ip>O_fVE!v9x~{y zuXD<4g6P#yUaj|z1ZvklaCq@e@WIAv$N}}Y8As@&()_0_!`0fLj>5j;-Hlg`#$#>~ z!4G46hOf-K0%KFHJ(7M$PFu1()k(6Xdk1KNeXxS7@+f_=ZnTTDO1Ph|kRg0U7KUJ%*6Wxn2%!PXLIaj% zOIEIPd>F{8FLdwAsBKCmLzu&*AV^o*kCQO}7*oCyk`5OX1Pr!`%`uybGKUYP3#`97 zbSoKY6EKIia3dCDVI!d7fUbHW)`Vav48EBo>9;C;<31KPb|dy-_@?l{8tJ^j%HMfV zpBax~8sf$sZxSJ3G^VOM{dNTx)TlKPng!a>3>`A`WBlltDn3T~UcN`!_XgDW+!!0apUl5+ z+Er%bW+nhHJ(8KUXyWrcoS5}uweFfDrQ3_y(ooh~du+SsWfkhp8m^4Bt8K@HZ;D+~ ztJH_&8lv)sTa-N~<#XR#$j;iP^H#oHLp!d$7?odF z`817?YH}OX<;UIv-Iz?U7~Onq$M$u-7yq*RX@zQdvf!93PZfzIwyd}t4As3oCMOv5 zSeoEWH|&#$kMyijKIz(Pv?X0@`x=F`FXx}m{dd;tN+3;;p~8v)1<y{#V`?a{Dc z3lA7%Y*g(H9IEq>E!cb~k9FEYS7C!n3}q}OiiwT~CM&iHNoGVnY7=3w(GKTz7zK@{UPXzqPfjdS$xfr#we}a8eZ; zv(ba*YIGH4Gs$)m6>5HKe_k=wj4Rv@s%inL1`;Qnew;)|EyFKNh0FI1>A_!pjt&6=BAnL%-#n zi8EvH<#S7-ty~*zJBg6xx9-Z0$T$UM&01Qc*P3^AnM#dh=zvFW%Lk2~dD}7YS_`vz zV+evSY4BW~6rA~#ccSu_;LK;WyPWcT7W)<4P0=odP#ht!0y~GqO7rPUs_~aqHz^|< zR(-P!VqlZ2#z?;B9`Jy=)s1v|Kx0thRQ4>xL@F$QqaqwZ7HUVW*pwldTN}1~JEy{B zQK`K^&C*`@400IihGgZ0GlUO9_8@MvNqjpwwqa}G#5i^v6Pfgr=zIOJffJsLCe8p? z8zlGBS043N5Kl!EMGK_cqP?j&yfE0RR!UeuWiBn8dDKJG9~8C%^UVw zD3P)750GE<;2%gQ;K4sY7~nx4Py^KP#_H61v!Ie{$|u!e_z9Y2?Z&F|u{fky4E$V6 z2HI#_dc%DTvdUCkRPCX0O~c@NlU=vYZ<8ixd$|BpY*n^-yn9#q@gIC{VY zs?G%78kud$W{+7?DgW6j=e%UU6j%6=|6zP6A}R z;3<&SsYbn`GLJ_MmKZ7&qh6U9sx&6DC)u|v6ZJ~*{QzC__Z9KHVWq{x8j}=e{S%^s z#S;~B4gqA-rSX{`WDwH*f6q=V|CabyN&o485(_E4$X_%}`}_M7>9RhmOq{--vi)pX$>qx3txSdk(&@?tN~2l#h{e?D3(OQZFh%dH8M z`DpFVdZsTwGm&!cg~VTzj!*cU2kJ8#BGAZPe@o`1@wo_(MFeWv}LNk8vBdq&=~XQ^lU&U&`vpS@=?W;hzC z80*lvUQ z{*y}j>~x($7lBrBHjmPe0sRl@4;l0mw*b5VP+fjbI%mN5X@+-yGfF>6&h_an2K*py zM}D#*26x^JWiP#(&zf;V*r-`ejebDraxl9_m?Yr zo&i5lu86@<_ZP}FeaxXpk*N#yf83$(oJt4N)713^>N;9UA9L_WP(0HMfHkY1tfZfC z@W)khXJG%pq2E|r8m(gv{pJslw=*-Ja_Fv`$$OE4wemhwNk8r2U;e=|__%|AXUv#Ym~bk3NT@I|#+n74$94O%Y7*1^(=)=ATA?nc@Fq7KejB-7fb9EL84a zTnPbRBKKdC`&1?6ufQL9CPkkDENuN^CH+$ee{7@-{*r^=FkfoOX@@RNQR6wv_&SAt zxsv{wgI|lrSm?}G9Quu}R-bY3tC{2C#Qb>xgAhgVUpV;7U4?wr!DqU@ z{Mzp?7jnVDU(%cv+Wk)se)|T{@-*EM1^s3v{bvWiQFz%|H5VPahc(Q^ll%2_{@c(_ zho6IL5S`=O&Z!qzuMYq650nt%7hou0;Fq6WD*IIqeZ!3<=&K$2MM^HMrX3D{Z&F&Q zuW{&iIEGN5BERU+&rX+0eyu~liMM0ANRuC?EB`G@cRKi;%G_CyzvR$gQRWVLdYwZL z-6X`Jh__J0>*1OXeovDk4g-D%;9ri?H#qoHUAcEV_;p>m-{|14h`4mx@sLA*cU1}c zutVQE3bZp>ivg;FmuSW#G~>-oje~#j*`=<$#i3^=O9k(7=zEtzLQYV`0g8BAl)lx$ zf6_(o-|pZ)y_HpWj@<7f_pcy8IQYw0*wWqKiP8@OekY^i;7|WhsU7VxNPc37lmjM3(;Qe&T!As?7`E`fxB9v#50RM)AkKu`27^QbP^rPqo#momB zyeJ{HGvV)c=&Np3SD<@=Yy75z|KNuyxxl7=%fVj}xHByW9eQ9LT{%rxB-FkqN`KqI z@5V`|*pBx)`0Mkfb{ul(2~p)v$?tRM(dU(*?|0}o=1L{}jzizNz63q&(9f+emGHX( zD*2|sF+SknH{U`L1`0 zty10(JMCmqyrSAQKLl-ei73TVwLw{B5roe$e<=}5#SL*er z9r~FYl(|E-KjYwcd|#<#92G^KUtNacyJ<9Ati6MApLOWBvGf*(=)XJkKsoOThkl}* z_kTF_uZ2V%8S!%t{q<**pr3c>7lp|MgnQh^~iLTsVaqxvM@EHfcy9@m14*uG7 zso8(w(7#+>ZuVCl{B{JtVkgfAFoItZ{Fe^?P*?813gE8Xf9>GYUEn7!oBN5bN%$Mj z{mCv;{51!^cC}=jh1dx9xhVZx2Y>n6(#rTdhyL+|GQ$f+bOmcZX0DfbYHA@FIb2A#D}rvyDE5w<|_AaVkKctt5QbqM;!veNep z4t=Z)eU(FB{oGOsuXgC$o?F6>9S+?)ON%=i@oOCV&1aRMzv$3^`o0qMwGMrxoR=+b zwf96B`rjP-p>l1%{JC4M~=r*Cxd;*XRD?qP@i){mB;iw=GL^(E+=9D1&shP~P0uPHaDy9sbp>9{!qxKTxjl5r=-ZT;YC)zVVr*(fDL2# z=m*O!d#^*k^&HmU?q7)0uYjNLi_=36{+sVFRrh{}eyyzN{EkB(z6R3J5$X;*^b;#f z(BF0F>!o`Z2;v7E{I)JT$L~4#4HM~bdWgpT6^;8~oE~xTYsbsP_V*q9k+K;1A&2fR zxA{?r{%tcINl#PqKTz^V;`GA~egaR7A{qavgFjU+W67bfDQjmRbLe}@(2pCm@$E4V zdkwrYsc83y7y|4l#2dAfFvSiYKhta*`7<$PDj}D^AJhrJcQuv_W5~;E;ze=J>{@x zxJ}VDwTp=-tGiE_3n}i2mCH1ss@*;Xm18?|IBb9V;3R%Zo84R6y1C*h?Q9?t+YC(- z+r(uDM|*J?-`TvcCBS=6QP}l8Ozls+Pgk#TU@JI0y0qwZ@HVoauMxP0hxd($~#4q;%*9iha-jk z5+G3TMsKU|zlOz)q{c054f3;9NK!m7Gw6QDAqt?jGJDYlG$^AByK$6QJUV0Of*0Tm z=zJ~x`TJVh@Rk>=!VKV3IG}B5KDvV~|Mp1OGaO1t+5RA2$SKG9OSw1&Z##=@XNO$X zH1=7>FL5}F+fAi*Vk}g|%|X^t0=(l(5sCnBy$IpAT9G5go!b4qB2qAC+EKm3vEfcl zH}S!W6G zs!6e2-`k|zd$~!uH=mT3Jef(k*C*vAJ}LKTj5P@Qy;sf_HYw~*0LC z8NZifU4rw;bG;wu6TBbi3y%4h=6siGfIP2pF6qnpJgi#ad{>OAW`k*$N6LLEDRVx< zy7ttJxHjyp69}Ewh!0yclhKMx!zdd zdWwnya%{n!jvwQC#gI1N3)d@$v@x$ealLAp>xuG|`Pp~N_3*Lt87^`?mS^C4RuS@& zb(C}Q@V~(IK$$MCmm!34y(=Qb<+z^9Krq=rU}1OSdhodd*Mk*m6>A=BA#Y)F7M>@J zAWX``x~P#8$BTG#hI5aL4{@82LDw3TbCH0?9mJKBWaQ8!Ai3pJ>fPRHW1mmW?B3lK zu;{90_j_WWPiA)EXP2JcdqWh(n=8gXuXc9(vQM8~xOGRS(X=wj3f|BWX1)vl*+0&7 z5C1f5zAXR5OR8{aD&wDlOm;Cq$fK(#1y(6-p@)A8*uy^qZN4P`40V?IXQ0bZ2mgdR zUx|NmSXnEt#6N!|IK)Aq@$FR{mb8LTFaC>KO>&Y(@G;fWT_P>Q0r^_ET*r+KSNQtQ z%YA&k8pDxm7O=tuO8Vj?Dl$^S$=8ZG#HBkTKXi(&6pn1y8iRb-yxrd)t8DYcDH6vc zmFT{Q>pX=XG4ClPz0F2almSP?kac!_EXf@h0wBV>QuFH(5-qiEeS9}5{2wU@xg-QO ze5t1>WdU(VKuX^kl9aPMBq>~;)yhDb2SSoU_bCaj;=lStMNJ_!jYOv3gx}`N!{Mbn zyn6(Z2!JW~vu5&gn+AcAp>l5TLVcO`{fi zll_KN=K70#zy)3_CLtP07ZBDYfcx{LEee>V!Xa9hltIis#; z=ve1{9vO5~p4!;>g-Fhb-L{AnFPg%MtL8J>ID_h3JiVHaH&V}|Z!zE4xYPPLC90h$ z5jk*!wZ8b%T7LL?R!{mrazzp?KJ>;n=>UFgr^tlj^<<#Q=}~n9@5@^A|7|qZD}TRN z%NQLUjj>KEx4biLJ|`z8Dve)`qaj@AFZF43bLBaH>TtA$8*Ey+wep+^eR%^VW!xZU=#+G#xm2$1&2U1*P!^3 zpE<-tBB6@kNqq^5BJuD`tK}Qbq|j=eDYtSGe#km&QpT*;IHUYl<5cQ(%N_p~^&16b zZKJW1D((Gu(@^WzrQ6AyPCF${dz;p#HS4>Nd;zUkYamt!t!)0)|CEoh6In=Fo5s-k zPWLq zc&!15AZNF@3}Y->jne@1WvwvoK3gamrag(F=1M*99LqNlnI8kd;-yQh9xdKMx<>OI z4Opj&jFwMfBU{#(#tKEKwG=U^b!dcJdVp#1HXMeL;D92rUg9%20daPz$!JEXkV^sc zF@rQ*;?qW>@zE&4#A)o};;R=HmY%m>aUHalHw0*PJ$hRN%$Ky&YBLPrC za;V*k%n`T5c_bIiFf?eC#>o{@1<6H3ob_phcHP8ar4^MQjlg%_vUtRt&?h-@NpX6B z3-DmYNbRigu(t7w0~`)}1_}p~^h_nD+vy40Ocp3J(d2xsv-bSl9K zpK?-+c#g63dOITK@O@lhtm;T6P~OuOo~$0qCQ37Z*xy`34n3zw^DgO)nn5Gd1Ak4k ze~bx`Fd(>MpQbwHf-j3TM~&$42;v;*^Oo|&T9GN^N>LoN5BYrvMC(D^x|*q0>4DQr z{INEXA7tZ*1`E#L`M6|-s8VHaX@F>1dPeP39;&l9&0mXL3iY;ELymH5nJcwcd98=l zbkX~yTC-tbd;-{}rk3g;V>+kc0niG?$tG&C_zIY+BOBlqmL{5^JDzQ#=$@uiaagJq zrjsxMNgJU_%tlA3)oRX4L4a%?d2_p=yvA9VPoPL0wGGZxy?!S zs7YQ324N{SABm{T2nb(Oj0lLLG_#T`;nPPLTwl~2)UZp#jaxUKT~QXzPoIi9f=#Da zjj8@$G#bAWA;bCVsj_-l6Drzf+3sx+Zm$MQqR!ZJ4JWt5|BA)ba`*(+o&bqkrso;T3WLwl*3?qc?Y zZ}7tnvHGctRyk1;YsO|VZAK~rGmDPUR%S-qFh*Bq)pj#=`SXkr#|qUN)=}+&7juj- zWff91S)qPwerkLa8LGk!zg(r$vYXKs6hBuMOr@n@i=?%0SI}|1KJdS(Ygv7p%RRUS|T<_ zRpZHk410sD8?3#$+6F-)K?KoN+y)&nsC0YOwndDAK!=i=L5WFdtwkx{FWHUB5A$j7g3tSHT@;T4iY3unY%bCu7MLR)k!DxImH{J6#~V!> zX{}01LGc}u*uLS=+QNRJwF zHm_-1p8qoe{(w27pE^nvJ9)j{{*DiIptF(>&l4~TBuenlg)Pn3B?NJ*j^TO*J2t1a^5E@%Qa#PGAoU>;SMP(ysl5u?sY zSP zYGg2uk?ZT#s17sHT4M(_h7j3W3pJOkl%$dsV&<6M3aML4jV%pdW~QNs%O(eW?|i`b z&imW`wdq@&Scze35)!`(wh_?~khEoH7fgy8c-z`;N(IMi*)oF+Xqok*zFx4*`oCbA z^%iC9JJSAv%wHjxbe{_*{R%@Gkq02q;uE>G%0Z9ziO3RGP zeLBkwTPRjo@E`mW4%jklI6D6JRiWd8OBQ?%iezE~5Ae8Pu?KT9=d*u{azo?)kga{A zt&kv5wasb=QevgGtrHd*3DiRVNP<)1F0>N3oK`7M{5K6LbFKBKB!sxAnOa^vvun4n zX;rdnjOsGjf=iE-Z5!+kmnbD3E?Y7KFxGacz~D%OpNrzbS4zwYaMKw?fxR8}NTZ66 zrqD?7XI^V!|1RYrdbkw^Nx&2y*LB3Zc}CZ%q6f&JVk#2%0Ls8JL!()A~{G(R9jPo>!?%+X5nVeVlqMA$9tYD5eWF2s3Ijr~te^F-}87KWuCc_`L|} zUM~n$rOM6$@s4Jh+UAe9ugq!&Eo0-6W!zP`LbnDi)VQvArjqWyuG73uqhB-AfvTNH zi;WI986I~rLzGunERajLqh*4beU#niz{By5fN|pL1dJeiQ;i80qI}}oG^KkO)WQo< zn~PB_NRu8H*sIP5HskxdV&i%Y@hMo__VHR&sYFa!&8F5Ox=a0L->JH-i7s+;#UjUY z>A+%)TV`{y-Mp>B|6T-^m?!3WxC)*M4|5v^S7ze2@`M5AI)HNqn0LTK4=Fxc`pe4; zgG*zUgox=1gxgpNthd}f-#*AHISSP z6_8vT$|pHv#b=V$$p}kedNST-c+h;lh{aj76-`}d_LV*b#w-%gjpVNCE<=tC7lcSF z^kR2)@!>KeEwR6A0Gvbohh)Z6wx%bG^ z$R=Hq7i3*!b}2Yx&`VuR*HLno0jVQ_u@ONLL7oB`avg(Bj*de(FY-Hq^dk3*>wbX* z=Av1#D24K(dK}DkN1ASr%M_guBR@34btk^ebtm~=@Fj=7x`X6HhZGJ>i`(gtjQ0ES zlII^pj1MG1b%)8ffl0suL;Rc`B_k$SYv`!GkD_xF40H^U^<H|%P2vF|j5>|t^@ z7aztRlknxF-w=H5BDreB9$iJ}wN_&Bf$frF_@S+(mLT$?Fx`-U!M){&SbNofvio-5-AUhTp~TyDR+e2*0nOEF-CCq<}Q~2hq?7 zw@$oCisXLM`~6m#s)pvCq{>Q8QvLauhVTp@X~L9(+$SRV$;XIv8ItKwtx-#%pt`#N zlaHmK%(_^W0@nfH;sACKlNFMes>yO$gc=>5)yULuzd*P1g4Qk6#MHUOlkFF9ij#m@ z*umJ=`~n@yxLS}wI$X?U754lqWJUtJpsp=E??uoiQ+H1yR*GVumM(@V^!N4mrud>~ zyNfkpug`{T=hz^PwSHo6it+NspI+Mfct^MO@uv9BU8(_Vqc-6rRz7TobfjnP*YRf( z06)l;tbvD>c@)(7X|+X5L?RKh*K4lSCI^T_Z)9{Mh38IYvmAAsW!-I-({8hzberXr z+bq|%%w{=*&62e=i?Py{lvyd8)Jo-bmymrkw_~#;-ti*gN-;)q+Z;`Go8_>eBMxmC zR5nXlDzRCTmw>Vcy`s(XC%YApJFZFrxx3w8`}ni*XcUD;|HqhA`AJX#v}(3>pPv~H z^hgxwL`wxs)+5FYvgnUJVh4c><@{&5vO3$P(h(2zV&P+(E8Z*Z5fmTH7Ev2fdoxyR zo)bL}B#`Za+sEWO0zQS9gYc1MLPQ>AxnO5}JK=Dn`o=h#YJciExBE z$MRZbn$*?WUMu3CYSpF5UMp9i4cxwsIi`)q4HP<*@RZpHY*Fe1p2G)Rdg33z9i_Pk z(^^CPBCl0-vZd&C(k2zbb0|Vrk*iMY1Y18iAg8g$J!Z&#_-9~D^pIQq=#XsySY+C5 zcAcXSjyfJraxuaZ3VO}ZcM8lhh5ai%_`@SGDs z3QV04^E7a_6J>q?nuS$`>x~Sa$Fvq4mfjZ*NAD@8%+M#Cq1)w-b;g*v4Gg`{hsMu? zMa3^*2dCAVoSmDjepTF@p=W-?%pp87>_ePnpqxpD%?Vz8*EzXu$vCs^78Q>UD(86H znSnNX>udSE&ilOL-WBGx8s=33ThF|*7`o;)+$(UYd6hA)WGl0IoxAM3g5kw^jcxw$ zhRdvFn94P;;{iTigfp*w;mm7KIpulP%}lI#n^&oNoq2UZt#GA$kki7v`j9eO%7!;uDDDbU%Np&otu$9jrsl>h9N|%Vl+>+FXgo^l(x$sTsXLoc zhXmzHFNmO0cl${UQup|Y8&X{9HR^A<(hKEJ`MAgnTY^&D<0Zw56xVo7duoA=>co?} z#7in7?{z;Hu5(K6A-UF*x}9sCC-;$@^Q7+Gn)l>kl5iEF^h<969WAvVJm2KW10<#7 z@%|vmElTV*KS2%W9lXIVw3X#nP2Wlc%A@aj->=mGqT!Hn5hSpgj+yrP` z7sf&c`YT>d=63bw3P$1B@1>NzTvR}I$*5~CWKv=A%Voy1Ofp01=XSjD)7n8RR!k-x zDGi!X&F?FuOa;$Dpi`4*1{1BOJORbX+Y(CFwWwu8=&5{Gl|S~555BFd@{am-Ci04@ z$9gmairJX~H6$cXMvbjTV{Wees_o9O`5v{e$T&q$nG_6S5SLr|R2|XvWVmHD-k!!o z4_+&K@#)y?#q{qqHZW!+Oisk8ho0)@Sf&ka>?D_fW=6adq*2BDexVCcwdYqXjT7ot zw7naM8Cx{8_R8BT{7;HuHC<@lhmJ-lo`e9>h{XB-H8{A(Z66=0L~(UsusS$c!!0w` zGR+JJ2Q)=tA9z1$y*s2|gRR%Kat4!uADHSm zH``3Rxo1Obxw6c(R;VL~Vpm6JTa$V`9J^Y&)@?$%js)nz7#%3q(l|~du&Ip5w9-gc z$S-CRMG~#^nBI)>W|iJF^=87~9Mzjq-YnA_Hg1MZQRSPZs65g#40E9^wjW;u8@1^` zN0Xjtbefm1ewi+C}h*zLy=&hr!dTUqc<}+(Xx4KWzDD7n`j?|b% zevj3B8s}SyW^+TUCFtpz&+5sVPv@zc&tve6nsi*5a$l(9+3f0?7(RZqhRu)P6E(N* zt#v1$u_~;B^mmtan^CG25td8P{TT$V~8*XXC8Z&y$tgmb8jbTuLCuNF2d?$ zO5kgCuy%C-ANJf0eH9~H{*9y!fF;<9{OVYx;M=>E9#We+NOnAd5llp|q zayr);IZlF=*pY;5pQA<(0F~PwlDIrK$4(!8SVnGC>Y!L(Y4LE-6 z82~?+n7spF1k+W(BA)u>eoL$GI|oEDZF+kF%G> zk9&-pyM>zH#av&bDYdztEY5X{sRzN93&EOD%MPJT zctb0fJ8FhEMksIK4TUXt{0MKBqHfG6h_+NrILvOj38(A`5HbZE?sEAQFjrsS9!!M5{OSTueaXZNc|J2uc6W0{?elf%~hDAA76L0{2y~ngw1ANVBWzEO2+#@#9>;kADmRAjjJl(JB}!I z>ouI{ z7)idkN-WB805OC5tav$EffrBUQ1;$PBCEx67lb5n?V)E^_CD?$jlRH=<6AHrDE>6*br^DRhs)gFWDaenNk{4F z@cx*;Kgs*LyG6?W~%!L%w>>47o|^zz_-o@cl!Whf2L3q0%-b=Qqeb~IgJd4HQqx;l(ubm5zR^MV_bJVa*HG+M zI*HBZd}a{JulXBnkBG)~O_e5zg&%X*o>o6<){iggkBFfbe^9i1tI!rdP?G=eAkz{K{$t99-9VL&Dr1jmz5DyT>&Frf|&onNx zmAxB99MEK+^0n^EmXaPH&WYX=;Z>k0XIKLzqIWU84>aXG?@L5)*N9Q1YM?4RM!rj; zw>Okyl!YcPj^s@|=&v%Ow?91Y(<0-ZrSKRUcsM);qIWzzhUOg&kKkl!9QzVIFaL3R z{B+GaX#Z3bz4T(;$cxAd>_LpA)?i zHf9_=W?kz$v2_*ZjiQcgxCwj++{+;N3PejjTU6IbgAgG9Tk~T?&^a;{V?rw~a zk#<6IV|<#lQxSGiNjnL-F+NAy>Bo(5r1jM&wS{4ndts>4k_(iOwPg2D5WH#CPSROR z_L0t7vWIlml0&4kmK-46O~&L#THHV}O+c*U>1%+AhiqM@M+VaiNKrRe4s+UMO-_T3 z=!$6G5I16t_BPk~?rq%-nu<;UaLzYzr`&qggkk{7LF&&Ll(9yM1z)v z$7?N%$tREI^_roWioHUw$VeYGc@18&Nr4pYMS4*SQJD$ls^S8wqOo%J!!j=lIKOpN z3RJ_rKcJ-Y2Z6jI(q$6XDi^Le1thr&LY$cTXmTc7nh|4L;(VIA104S_VJgn_DM`Di zqV&9^L?KP!j37VxJp*x#kS~5}ZD58gaK68AunNJLGhx+&qsW2|0|if!I2`$swrrx` z`Iw3po+l~rLbW}PFM9JgqW0ioduZNIT@Bi+c(Gldk1y~EDhhco0-*DD=!(Z3?o4lQ zs_ns0%E)4y;j%+o2zCh0)y4KG?1{maq^A=?i)|w2?yAPLhQQi76sja|2#ulrtcGw& z;r<_b=%>tEj#9Mk0B&%nxIE13`76FqQ)+GMwNj}@h?dtWj+VCwVYAbPx*oC)5~DwK zU+$3OJ+-~DJ#K9ozis4?9(k_W0hGtbar{l~@kM(f)@S2G8`<;AVK#^~z6d+-7pluC zLr2~8dlC7OlRRC6@W%F_)je3Kn>=3k;G3AZyq;YeW`+(Q{2XRO&zKfrJM3J9)v2jc z-Md_22jd9MsS|<1DTO@9qEDDtPT>d#R~ZO1CnO@XvP=lJQ>`CX1oLYGt`38%Urf@{ zvCte>_0Qw~TbKk@bbe zjiq7-8?zfG_8EYKjTvCS0XW#`NNEQfUq4sq6J9(^7=Qd=W4fE0g!spRU|cf4%-MJo zf}WpilaCa}M0!5O;f?$dq#@@SCcTfexj}Gk z$63Mf^FG6`sMBfv9{wo4O-3MbJ3ED4L{4{7YSZJ)@-uLh58)#)YI?wkdlPR*2zz%o zSvkJA)ysSZFTs`j{pTePG+N7|U!X$K%9rwkSKa))H9^)E4n)#cWM{ zbuW_VNJ{r2xs#41o?IX)Jq_p{lF(iycaxm;qy_{6BB;hgy0{&LwEHwnuQM6Zie^+f z2C0%saSBoelj0Dh$|c1aNEyHs6NZk9PVbDivD7LRKLNQ1&s8H<*l}$IzL@BWr6W(W zGztGcXokU>Mr0R7gKXGo?Nxh#^;Odx*^2?PcGeZ^R5nRYBD!n2E*jE06DB_*54Yd$ zqWn4>S)lwn8kj8{bm`-R_D;t(jt$B$^J0`Q;;L(+1=u4#t-(* zvBwoLAV9Y4T3nPW;!m6PgfoyoZPJsi(Zy=0{VqnIujY|s_|X|ce&+BLLhj=u+Peq- z!ht_h=VPqkc8WN1HnEpi9!CFyUKvr2AeQ9a$16>bxE!xU!#Nfwk0^fGU%SShwWrJT zS#8Ski%-;b`ej3y{n?vh_I7X3@5#6&3?s#4&@@`8L(x=?SCAedC9Opw!&`-%n`{X+ z#&P7}9Ve_gkf?Sx6Z#S1t?_W1wZcw84BJ!URLwrzQKhBEX|KaWgu-r66;YCq%`)s% z1|$EgIF?9;DbFySW!R+*BK*v7KExu7YFikqp^5a=?*UA_H2nGRWV|GUVf^NaRp@TX*7@BJ=F&Gs47$)WP0r z7Z)v14x+CZLp`%BZhG7TqADzdeHOzOq*sVm5UWN8$&U2Efpo$Xh(#;#V?Ev^YX%G4 za<_HFxN}N)sNeaMp>$Uk*@5#exX+eP2a78lEk-M#VAwo|M{pcgEwK3}Y(9iypnZPY z6C~I1Z1ZS-@@#&oPwax_teUo~6vAXXm3{$5%~sY5IhL}5{CN5tC=vi3-GFr|z!hT` zT!O`C&cVjwtLpWXwhfn%ZY$M zPhs)&JAGQ>9V`#=4)|SCrOxTqlECTVF*M|~-jOVXJ~&ngeXvvreQ=TAMTi!tXMqq(Sh?6XE@OcZ62lruh#cn;l)xbigdnYi^rZtKjCvr1(aQxwP?V6~ zV|7NKC>|lg&rEW-l*3=eKnOZBsUxuA$YO5{f&m3Ccv*W4rz;~rW1TZuc0o}87aYFo zEh?P83ZbaNxk-!oRz5fB$GISN!&zP7_!XB>Zeug2cyRKm4TLb-8wi0w+7M92Oagy7 z5Q2q1nDNjDvq(Ykle)Y3Ou6e<@S2}%we)V@rKh#-=QEmlm|d@THN*>(dfG1aJVQV8 zEesEkUkSSUL4X!le274lPppK=&b-<0LMHslMkd!IlE z$$WgLHCiWs#6j-zwo9YYqm&>0O7qdL=}7!aKhm=l5B1U)R75P+z ztO82uJUW^szjfj|1rpHVs>fqa{`2w__NMB_cq3MaTx;etiT0vcBoY2C8XI)%IN|mc zGBxUi0wTkSs1+rg6>W0Hg-jf6C;nTA!iQZf=4`rA02qwHC0GdS^~)JAaiUIkS6z^{ zuyz%oT}7y4Dnh>!&B~b(pHP{S*g`FY(vkA@L6$Spr?ibftUHb_1=T5xJ_B>6D1$r^ zbw(>!aR};}2_Ou}WEigLc4js6;Y&hzEFZW_j~2=3u9*d=;)-J&x*^ zF#!zG;zS|9PSlCjqZgb4?*9T#bv6{y&-ry*_Dx1ZeN8DicdA2g$eL+C|jO)lEx`Qy9v*5P!DlxWTqB_ujc7ntVsAGTd+QIOxBd`%>kqxXo%7yqF7$Rwp|@M}iM5mJSKHM)ysKL- z+10JzO;@)TyXp_2tNswW>JPnL-7JLXWUQ?QlN6>{<0|5+3k}g&2Q6w9{=?d{{F{VQ6QZ__1bYg+*6E`wWY) z^9qX~;MCr(Wt7g>%M2tr$Dk1OxoU(XBXX5AtQQMc?F%^!YvBRfU`yQIFjSof;vk8@ z)jI2CngOWf!khZ63`;X8Xm~Rh|MH2<6cYW$ytTAJji+PqV4^a?c?Te#^_FcLjnQNgW;KwU$q?a=8m6Eo zwHLOR5%n=b&SE^bD;okaL3fe{#bfldtq(XNC0d}P<&2~P9kDZp)sEYGkvLZ{j+#=9 z#43qes=uC)L_S$X=-6Zx_mJF&AVA<1z9WAg|B`f;pCtKLDF2E)KeC=&xkJ#So+w67 zy43BIT?doYxIo1ww?$pF$M05P4hp4Gy$yO^F6%gJAIVb$1W;2wnNP?NcculKJ9BRT28*}&6yX*N1js~$QCk(c=-vt64rJF zBxd-i50svkgB48NCQ$uWs3~r{9(Hrdu$xPCBTuhf+7n%>VkL6F4Q0c--CDweXKB!x z{F3Ws0jJeW4;x7fW;&86D@G#f1e;5OPjqA-3mVxMj({qsfl@i5N>n`}+QSiepGv#% zI)sc24HyX@j${=DDj7`DF8=#)Jy`;s4Tz+CvpGn_(Y72BrlgXqy{29z+^E9vX$H{L zrWM0qBqZqx47k$N41HN|jinzdsKsibrW-uV&~&Z#Qnee^!CFY{q^}s3jmS76ax!U% zQRgB<^Ux7mU?BHUWmDUdDHkNMk8f`t26c%9s=19?6%e165DziXx)#*T^pBAOT)S!& zt!-PVGJgi@)mo`GbGr?+mY+ExAyn6qu(qZ>?npR(Ih)-$WtEg8!{>Fx>7ZTC ze0031B*|pAjOIhYg@n2(c9yNt+*mfCVDB$$FAwnL8Ey!Un$#B#684lM*`KPH2?>`a z!CYrb(lCp#(|~26qGee{LI6Gt`iS4W?!z^o3t$^Wmaiy)*$`Xc5^aCa!;C?~4Itb2 zEnJr4{kADdRyq<2{}sM+rBQUo=XM5Z;P#gpMQ5(T%w{sSSzL`#9OV8dmTWT0Q0vks z#*t;>A(!or0?q$XFc6aooK`XN030&_qX{c!-dC#t6%3V2hTyt%e>+mvsBnyKgT%t1 zs$C8yVrF>*9!atY6@7Z5<*;)6~g=U1Q1#4r}-Eh>%!X#0bn7rIa%H8NSoR_*VGl8n=bq&wWJN=J&Xel#p!3e$WAf8!NS%Ef9)5L=N2fOzM-;e}IcE z-d>G{JGGj)e$bdcTAWjscuiXuzuOgk`*y}+Y!E2wRyi`8bkP%Qe=9bOaOo9sR@}_4 zppXz7h=>O~qfxoKPSZt2+=|bOJSeeVKt}q%fR6MQ6$nYN`v;p8HpSf95*pzK9O}xW zFb7H!EU!gt%OR#kBm~!q!)6G*GA+plgVh8vp&AD6R=(z$n_dp$pyl&oGn-G14KA~@ zGs;ooj5*{%GxPzL$EOG-FqV{1f{;iuf^yAE^YchE#FQ6tXU<$Y{YI-1}g z>d{Ei<$KUX`^P0TF@^Aq9Kyi(s-p>0CN!}Nf$E@%-&z!I@u8s|dzj>-ECL@daxNr4 zk~}nD_Y2U(O>4!X%0f?|8K@%pg+QSZj(L2UqhyeJLP*Qvg+NbqjB@9$&M2qhw83z+ zpc+GybNnXeie+d5*r;8GCPGyA&tlZVq~UfPChZ99=I^RlNTc97CpXVW*LUozsaRiW!ciGk&B&^Ex&caj%8>8>S>#V=-sqiQ%-=DLPnu)_PlV1@S<1*wpV9taUddBx64dC~C)zSb1(_b3kMNWE4(m?l%TpB1A_2i@hzPt))03^ty0Y`$Xk_K!r zm~^B8s_7sB(m)3Z`bYy;M1nLz! zk~ncec#Q<{P}I1&5<_YvK7q*>!C$`uDv3f1?_z&Y@nb!=cPMhCH($3hS&EYQZ&w5$t;i~F`y_g$xT5Nl=kN`r zb%k&C>zn-jS_MeWGA~B{L>c!An4YQ_!KA1?ks?ZJ2)*3hR`b(yp;D)oz1~)Z=PeCE zLDvblFTJhm;rcxr_ww%5E+G@r%BaNybK3B`UKu@8-&*G1pJ1(00|zn0xV$wQCS2Rcn)@p@)nk zFqA-8{08j3qH3nKpM#O!S}_sGg92bD0Zk!WFI>|ec>iK3>_BPO4%tMRjSn#vYcI_o zfR?ugg$(eZN>0G{l|J0+6P!`^J}<#$VP?2vkFr@-(PhiC0Se7j`JEAXK(*BxBQ_$n z^oH9Tzmf}(-27ghsl+t(=E|?xtZ6HtCdob0@=}2qt261bXQ8v`_u7SRMZrX8L-5kr z!R{+}Uq{>GS9%4H8dC)u_QGgw4kfTTb__gh9dJxRq>L94$C~R!Rrc1}Ac;~mM*aqB zR8I_A``p|~t@V}u#DPL&d+rd2f3*%kfqJ6oR@pnniU0pH@@IXCQ}=)^5IUOgyB^q& z%6+MFgNeq*nNcL-2Ca4C_J4NYprVYB&Ac=dTTce@6*onDJ{x{d%a_KAv*NwTV_NLK zzXcAZU)oTlmrb3*No=b4M2k>7qWDbPd`fKvF02cTgWUWlcL1*Jl;M)44V_j5V|`CE zFoCG?{Pz+z8A9@)C?n!861<6j%FAcm`+14HRvL(X>C#jfTj*ia%4@uGM_#?4wW{i` z@(auCx8Tv+jB=E3!n00nE-rzJTm~~*%s?6pr z7Smh+(;x|)H;g!|CfyC&Eb+M?UJPgD42GGK=-q-{5OFrxoM870CMC>hk5wU-lvLBv zZOyyn7TILCk)QI7-MSgas^3lZ6sH4z6l4eF^faueo&K)QsY0GIkL!yZBHG3BlHc)p z(mO(W2foJHsU_XzlpV;b=~iybJ*r!|Eyd9y90F7V$Bl4nREk4JFYy$IjPCIiN4#F) zDQ;N0UwUf7VIP|=5fN!L@G}p^&AsmlHy~ckZM%;};r82l!3DpG7{j_`xIo2<@c;%c zqdCY@CW*>$%qnDwR<&*57H$q2!vf)Z>^`8-X_rMq^fkmQj_9BlVWd@OzM(85K3$UhvSXDs`*w*epOGS?q*l* z=Vqt<`jW!WZZo6EjP~`iYuIdSu7l596CKOMc61?jFmt7z6C6c&GgJ1v;8U6JU7?)d zVHYmFYna0Bs=g$T%QPT3*bQrWaB{k!={Ix#I& zF_F-S%;Q8;K&u!wNlu`<3_`|@wz0M@;aaDRZk}m|{ALjH2lJDlID3Pupp|V8Q`Eqo z8nf%eVhyV^=~c&iHKJ7uNI|ZGEf)V^o!^t3t47MhLyHg3a4lFtBTV!5iV@VSVZTgS zui{I;s`h`ScG7*>ZJ<>F;msr~b-U0GsF^AQnkLj5RE(yq+r`U4d-2Z>NR#8w|< zIc+GIJ353#61EY{j&9>_jFPkYyAgbYYfE-SemBdbA5syqA@f1Ra1AM%!XX#=`&q}L zf^{rtYzJ+l@>ae|Dq0Hr`ECACTUyzEHlFxL*O+E&Z1MB|`)O}P<0n)FBf}_x6v7J- zCAFclhoLZCkU(X!EQOmf7~24#A^iktcBSmwbEMgsvh;b< zM?(4n=|@BQBI%`&UO;W6L`d%=eJ-T;lSaz3G7peO3bgb=(icPe5NV`I zgC8c1z-H+qq<4n&qofh?48BAf@z2snNiT-7ag|7p^PLi!A8j^!ErENPDFS^5dmkB0O)(n}$Ip7ha>zCikTNM9scR7me8eLAEUNuLSnJ*3Z8(|`VWrNK5fmt9UcIy=%& zNmMtB6%?V~*j7o;ype061ARz$zu8Eel)QBD&DxtWQgOv4uFTpxW&h&MvGGY2C56B$ zX#UV@vs(yoHfsEQ#nnxPi}>}Mis~laguB7DID7_8$EC;C<=TlBP8GH&`@CIOcx(F_ zd^9uh!}xD>?$h?;wrD0OPN$c1xBQ^C)gjTF+i*13^yDcNbX7{&!qIdU)Eb2jH_=;R zS26rek9%|)9*=VirimDpUHY zOitQ9FfX3Gh7qe_JQ>MqkkcZ-P(xO}@<%W8O0V)0IKS92TVV7f^CqJmHV}FJ5Jh@O z1GD-S;|E~5e%OOtOO~bC>EHR54i%0uR>6M6n01q272mFdg`8`mYJTqXMu9>q@9Yl zF4w)wr)%D2i$trYTW|4X$q)Xk=RMUnslWueymOOOFlkUW;d1B{Q0^7!R6Fav&8nTr zdTSj`lrzK|=v(c&o@(c)V6Layd7$%lOwVRc1Hvjn;(gsuYxZ>=)1*A_SPNqr_JKt8 zHqLnA2zj%m#UXEDxi_DWUc#lDQbW&ykhP7zcIPNec;F_14Xqkv@DP|Lpr2yF^$YDVa2MD$r#dZdwt$RJ(p+6R!`DlRLDToDjK4v-g zMXjNj7J8MtgY`s0tm5$+39>thK`4KEkv6t@c_3mZl;8ba`6q3;3zQ7y-wx)f%>GLD zSk#rZ3+=37;9w;Q|4AV%NDECAq*fp9^7tNc79_`Aeq-C1`G^8^rZFttxIW0m( zZ^q+cj1M!$YQae+OTR}VkceND0fnMvBo|~ZVvRBPh${TwyZ|KLB9UqMhIoUpqEQ|o zi3|e@H$y#Vth>S#pVPCUzGI=j)1kg4iydZY4eKFhj<`4q8U>ob!(t|BG7i&9(nKG| z5s!q>7MPe8LRLBLWQ{Pq#XL4U1O`^@6=oah{r_k0{iCePvirXKepJ<~dR6cW9`NcH zoO^k|1B&jNnQEx%X4JfC)Ppo=23g4BkC`4;%v$LM{YTFXa!5SwW+^CUtWv}j)iQEA zHc7BUCLNnN*d`HLB2HVz4vMiCYnfz`78{=mm<3xVMS0w&$ZZ0~g+5P+VgYO}djZ8@KZ z6|4t>qiz;Dm67QRw)Yz%d=<>c+Q8rJoJ8z~NMR*1W9dNzBBSN!59Tz{kd1p`Q=KYM zZG=bSu```2Ouh7JtH2_bs2FurRZMwd`#V(}=&Isir;0;{ZJx3hhrEgdv5Ng(#gR@G zU+JpiXs3!}AE%0AUd2~p6-T@Z7=mIUG5*~3=?qk@Q-$A(eac?IL(xFNL$QIX7-Fj4 zD0FEyRiW~Jagk9l0n!R|To`V~S-U2y`q*=?Ltb&)1=-zz^FaWu6Lv+ZpN)Y&kh*eN zE#5GdjkpK02GqwhlV3ybhSBCP$eIlbq9C;Nuh#%kx}8`x+MHwN~e2prFk63d7Ze zzGFkNe~v=q5#QJ*)|3={&j`hS83}npUCYT!`PD@3@FZ1M;on|cEWKg+tCd~Jfk@|( zVLydiJ}&Esh+Eiy9~RobcmsV&*B}Nyisv95<%g#{HmpZXo>t#kWhZcNHtT zFcw>)?QLr^kk4lHAuV66maqOMG%YPRmzJ;oCTdAmv>t`mR*P9GZ!zj@2>|IztNv&_ zHjY+@9t7h{2L}lG{`X4=q((`K1Eo00s4$zAj~P*`V~mYn&M)uooY;FcwE*i(Io}X& z8z(Hiod7l$!yH;Xl2j{ADfTnsl%D*=W|UhEs^f<}qpR8^~*A#xHzNSHqdmkOjnvma9W(lw?Db1 z+5gE*WdFyR$W@xiRo~>k8WU+Q6S=B0k^ZjzASX|oNEFN$Po&a0*suD-m`J+?#cjLA zOA|b5sJ6^}miIXipak+Tggv7)SO%puvpm!Gbj_O>> zz6@TMbg`se57tUfl`UWhBnV&#HZe7$*XuTkpUh&^Rjr8M@lfHYRhxos!1;h-gqF*r zjIxKhuF7hN1&aB`R(6lRjNdedp$hZHMDYP%jhiTdHXVQkbGj@w0Syq_Sb>RVt4P^c zT^Yx#;G3qZJ4t0vy|3O~JT^=PB>%B&z&7t!qSh#^ACV^~DHaJfRlHr02rq8iaC7+P zRcz4BAj~Zg#Q5Dz@sxL+v&6!_Zh?GmY;1gP%+jdMjmb9DX&6kRGN|kzGmzI=eyTc+ ze8}NpIW4gS9&|i27L>`+Oeotu{Zw6(WTP{>iy^VAcMu&*sFo$8n@_R}>{R6bNHHzU zq)p*L@9^@8T;Mb1Qv_IO$UkHT3>5Rxu)qp4V3d_+pfeh|+^tnSvT`Gj(mZ49(d({u z4LaypyR22fgRBel69&Hu-5Q~U=QkpV{J|PntzIlk+RtcSET*O6K43WVLlk$(E(dkr z`uMn)gH)<+5U|{$8VlZqn;(+3Ykjje{8rE9C#eLJu(C?<(u9smaCcEr%((c1kck;P z!eVQLUl8KUj!Lk=8ypo6q21DA?rpi|+OFgs^DuDBMOVcx(N#XoU{R?AQ%xc+H{zK@ z7lbZJKT(=H3=ufU<#Z+0Z&&AS2yNY8E}A62$l#%2=zwl?uibC(^#}wO2C*(H+#~W` z1S(~rf}_DM3I&NU@cN2gnc4+)dr|EmbMoW65j$1C_i}OQ&8=_13_Fcl6vr=GjiST# zLi=ntvz;T&fy_AU_l^H-s_yq`Z~K4XR?9tk{(C%k<++CEj9F5;RvhtRZOb&*@v_tzXY{*Ax^Y-e5sC z5loFPR-|jrd=+OuZoNzwB!4#KcYwuoTuEhONPAVc&ID5Cs;n4@G09Qc_edQ)u^6tr z^w7so$`9E6LrnQY`qj%z1&-TSz7c8MIe(gn zVa3-`kb``QZ^D_PEA2-pM24$n&J#t^Dim=z-6V2|CqLKAoy7VdP77OrI899Z;hfbw zpt$3h5XKqA?jO!=y#k8cNH@!=q?w#sr8JdWPn&Yilv1O>$|)lOzqyod5hGpZjH=k` z!-ikj_);Rt$k4Pgtm2xZ=IB&3)r%tks5CN;=TVMeq%p#~GzRNQ8d zqxeyZAD@9rt&)M{?O{DJ*#E19G4*dfVd|85#H@kg!%g#g7NBZ_%$PU6^A=HA14>XW z9LGMQ7q;Gf*e+qt9_jU0+*>kqjC)U(q;VhW9bnv>MF#*3AZJh!t9*&@@PJ*jBLgCK ziBV+Zkr2XtLKP~NJD3@G+%dD!f@pQgjIvt+@WDo9B2s;Xt(84_LZ?1+8Z=6!um*r)sY-lx6TXp#&TF*2J1WKvq{0i#1mkB=Y008=6H+2 z$=1*mC^2R`G`;COL%36Lyi0jlS5pky2ARbi3nXU2;*DLb`5b}DyU|k{GW@Vf3Y|VLA3~OgH@T^LVoAo2Mm6L+>GnpeI@_dzw^20pZu2~IVe)*~ z;K>=EZr1Q^CEwhf!^JbqON(CY2(A2!rdsObM9;P}9W-=%taFN#5if6q5t7AsdNM{P zA>AaIr|m6$HJ+DY3yr2_%!Hai&(^C6G*_eh7L{-Gn=r48G1%urgT?B&(h;5Wk(yq+_wFZoOEP0e<_E8WEYg(9uCEbO6gku~9 zA$__pY|&8gfrO%lJk~4tP{ABk^n@XZ3Oms{s_3YD2p{Cz9ZNpnF>T)iLDcv;2MaI+Fs`?EE6_jlCxIWfRFuPBH|^X znIvHkW^&9s2Ven*TU3q!mCClMk(uXYhXn3oA)8_$4%if8ps`gj=w)TQ@~q4D{4o}8 zEJ+R9PJda>TZt8vW@%grvh^zv*#>B^qLpp3tNfk9OMsd+?lfr4>!lMaB{t$&fC1?w*0sF1<0j%Wh#9_t9oGnV7h_%jz z9bHWTiGtQBoQD<|Qt~qgyW;9(anWl&=;~MqbnRJET68@kj@XJ8lL3A43`y3YDRQwF zT3-xrbUH2y0kpc6)n=75#|$zS z5CF;)OhK>J0ET`G15HSk0LH$`<9Di`9Hab!O~$pNg}jMn?nlD-tfq96z?YCR(?Bvn zC>nJ}?h(F$%F*a-j_AdVJhQ233iaiLqpU3AkO@Jr)fbdNgGTgq({P9@Sv?7r7>6SygzO&Mk+oMUQ=C@PLP=~1J9gRyaadTe zEOnUSri_Sx*{gCZNIHbBn9SEYI&zar_pMwysEQ1adExeLL5#1w=z`Z3g8Gw(LQ!wc_A2Mln&Z69GYn{S&M>`2#IC*3Zb9FFki!r;O(m%!ue_n5R$z* z4bimu7_Ml!Ze=okkcCEvOrE#J9C0Afl9Pl}+GGz}D^s<2xw9 zbqklLEnYBD0%?r3yf_q%=*CRo*)mxjbdrd~J$&0mSY`H)ctanM@3IesGL{r1rj?#iklmw@v1yIjfDFez6I*@aYLgXHC=a4%G z+_?}FFGlxrA=E(?#*gXuugp0V%sJo=Kp0ClmqN^?5OXP{>f5e{?k!Q2c!DTOM(w=> zT!#)|d+Tl(If@BHjGJ!?Uqe1;WvoI8Lrf};`7=}7ljeP2-WFcIp9wbOv`w#j6&O3+VJ#=2Gcin)SeD9WCu=HmpOF&wChF`%DI-4BrN2R;TQGP@&dX^hZms3Z5!gqAk$K{B>SuSrR zanv`~K-0p-G{}V|uu1Mc9e{Cpwj)*L6-EFjffB|kLkZgkbdZK*P_U2z+O?e)n1cmz zfCLW9O0b<<A?U#lnv>;>!PhL%^)J6uy&;J&val#g*PkcRV64%sg$Iu~0 zi99NbP!ffL$Cwun#a=P$Nzu3R^mp_0o1QM_6zTW!bhtA9{as7vtyAe0=PjDi3Dyp= zG-FDnBLCx^=7cYX8&%FRPUwpWP&8L~)FgYSEH-Jx)72zPSCcF~Hi^T!K2wt{T}`s| zPLs0Ep`}B)PRtZv^O5ued+NN4)DOj}pQh8To@KjK)88wwI?y71SV#%e%tE?V?)^f# zO)mPETjZi=*^-O?Wh%tMWbJTg(w&{|JnPObJyv05bL69J!dCXPaw&VKT*}@dm$E12 zQuan;yge?a&uBj0FQ%}J^?+IWDY+o18I9$CR&rC^p0mw}`0_oV<3RAdEX!=iyrwNd351%%0+7>>8 zI}VvYtrT%KHiqYjg0&NNtHa+I1I^| zwBNTz2#s|jU?tWFYmf8v%&_te=hi8ZAO+Orm6`v?F;yh*{2z#NL~6MdP|W`122hmV^m$AM-mqfr-m+)xM-$eh{|s8#X7m$%#N2A zAF11-#t}W>sOYgPnJpm8LnsGbTabWeRvv;+N#U~Ho4k>cHHv4JZ!O|9LlpX?!KVu; z_!+p@n2%Dsz{TA-AFl`bNGyHWbd;cwmQTlPaW+o=|7bE!EuM>0A8RU3GVsVgU-yY% z$G6~Xkn~-n-x+w_&Hm_tUuhkDjDgpM-;Y`a(D8+^DhJcJ3YJHH#43pDIm=f8QunUM zR-Uv9{=fr|XuEsh3BDGGeO_3o9LF76R9*(Y{9zC;{oCabKc6F@x1Rz5{Tnm%7ndNQ ziysdGVeA6kQj`gBb>zBe2#APzA)tlZ*C6d8(5Q2_URJ6IQ}?t_x#c8D%FzMQ!OJh4 zE5KcJd#zH7N(U{Hm&I`Nd`TYg`jVKQWih?WV)_=v@HCz46I7&6(6PwW*RdtKsI3vE zIW~(K)Uh90a*YSj?#Zs6m%QgC^_;;mDfgn%V$bchE^#V4Jzo+-&zHo|^CdC#d`S#F zUlK#lyJ8miJbwkCP0!<%{Y7nE+;i89($ebmoQ1-nHcmSF%9`}Dx-L-Aq$k~zt^ku> zGB7YrY)f7iL)Vw&q3cUx==zcvy1pcau6M;O?z(dlX)IkApJHiS7kAxrFS;LaT8}du zMOytoUM{YG^Tjs;orYYYBo12YBZNn~j)7Po@1k+XRi?*zKLN^0K3-2S3pQdlpj-mM zr7LU%Ru^qQ*R`5eej4Y&KNRhu{O9%dACy<_J>y>Ibhl(~jZ2&#?;Fu0wB{CXIrz-x zCGePN-hgy1{aVKZ9QOJ%)cWDD4l=t}$6`H1kQ(JSo?)7Twxd|W$q^bzM%DH50!Ht- zfCm2(y6(-K3)&NEPvC>X99e{(dsNw3lY3haU<>T>?n!*H+3~)x-ihx7+K>Gvd7UT>w#VJ3x#iL<7FS_`M zvlg$l*kNw1F5U%x?-u6d+^_)Rfy|UjCKUIs#UUd=jCX#HQzLP(e)+xQAKkP7QUk=x z2tFjAO6 ztL7lOnPX%K(Hwr&92}a%ubMNVL;W}vlkYi2(j0!(97Ojz+et2!!pLOE4|3ETkkzYf zNc^2WiaWq@vmYI>)U`}g7c-`#-tI{OOpWtfT=@<4B8AnNqmL1b=w(*GFetZ7`eoVe za+(~+aa!pZ^UsxNkW0PYD^(`Wvuyigp^j$L7%*11>+!JAxFgLWUd-%z6z*>K%qaM% zMbms_nWUNEF(|-}y=80ycrf_JxQ0pZ7#T9|&lm&TeVMVk$`VfjVq~afNW?Ae0BH;o zjHjR&sjZw(Gw;7kOo3DmXrWiE5lP7KpeB<^Zj0BLBNkVlS57fNVlHf5ozC4}qqPWmgXNl507z;t!KX zPsFleg15hwZHHZzeU=${Lj#2g4)u;D$)uL024=G_r4mG%8WfO_%{S{-OM=*ONoK{- zJFg7;#SHN~&Y13^RGOTZy2(eGb-mF?mIWD04HDg2`i$$97&-|nl{z;Ev-&k!A}9jO zvfQ$|Nzi1V2_Ls+8{T)G1`DY;+vTuXx2nq_<4Uy_L|LqH5V;&O%i(J|6>S=tI`tM* ztv<1+a1H=zHl%yqnWVfXYT_;2Ex7DEVFzx&oxq*J9mAc*9mSpMR7?(4MFu%j?zAG3 z%U6l7nGQ6?HG`e^C6i-|1e@>D3SbH!7v}&cJQ#;hg|uwC45=yh1CkMsE5U^CihG~9 z@mPCYs-rpdQs0`On#z~MP8bG&3en*NA_N7EOXp^|tie(OY$XSjhQ;FHGT zF~NouZ4I5uLmw}eSU%8X4Gz| z%({JHkQ`zO5^<&wQ%+j?e$w|_`bN4;`q@1Fl%*da9gHJTvc~Ke_M|j&9yN+_pJh8l zwnK`1l|~LylI1w&Z8%KgVPY9!R=wpvLevpfn|N2Yr^wUUW$5iGM;(kos@i8LmRQb$ zTjZXE3CpZ7Bs-Nl4X>8iGlle71&_di#W@TE7UvNBSDqYTDD?BXeojN{fIJPqF;WT~ zV-1V3Nhaku6h2L3@f@|-LmqoLe9B|#nDxo>9tl$(`>Mqr@x1%NvtwZ=jMH5VxU%o} zgabAXDYL;?Si%8YWx{;NSmtt%`bu)WuACtrdDpJnlJC3#*T7SbP8u#vv3;I%^fg#{S# z>;{_C>5s+iKd$UE=@(=6gK{bSCluXGzoZ~_ep$g*dPqT<@{%R4{!YG+u+7ip&UNT{x5l=-`I|t zh%n-}h3CU&XvkSs!DbuVSF&Dqvu&&dh>0Vw@IVRZK=2tqvP|JcSp4iPY(1Z2^P0fj z6teSSFFRK@ItxAe3*kqggE+cb{;!RNmw~S@z`6fvfbb<;f#Z)FZ~u<~fBT3z43Gcw zxIYDuwp}3bMIiYgQGXO!yc6&ILM)MuU5UMB-&X(gNZg_r(W z`MDRR`%Jiu&M}yOg8iJn@-;-j=y%?NkYiIoS8EpCY~@SXP1y9tp@$*;HqJtOSXJq` zR+nY4lWnI+C`d1DjM6sgTPb*sQ{K4f7E$ArO!;Zt(7^v3X#5*Bhq`E(3Z0v?2I-&! z)kPF-fNtY_f`|n+m2AfFTGx!dHfzg0a`iJ zF3;KP9Z8{Zqe}E3KuBnutqJFnRyl5yT@0t3nr^?g4MLZN5^!74<~S9WFis=g?#Hf{ zH32m{_0RTV={O>eWONZO?c^T`rj|MiEvE!X*KL5(HYH5@h-|k6(_@cAV%zK%k-1V& z71a9h*e=^tygnsfLuHBwSFOJyAvhLVe{t1c9Q7AR{l&5V;;O$m>MxG^i(~!8Rey2R zUz{JLzfxuXr26|wPivzytsE3mfu4@3i>8%?rY9_!RuU#X!Kc*}L?g6zPpie-?TLP> z09@jEt7z}ttB@SSwdYvaq&7!5H6nPd8H)uXn-qSLId5`pBkVF zc4B+#h<&gT+-BE#q}fb@6sip$Ze|=e>kC7QqHUF6mlau8j(Uq@y~R~;adbHb z=LhL6g#3s1Ryffou)D7wyR@esOFsn!zVoxC>JnmqdkPJF@HLSOJL3Ds#uLPnRxu*kB+g6_hqAkJQlR)$tB`ycikK5ZtAi7d-a}ZtJ*BnF_ z_p}Q{2UY;lCD1AL3j+wAbcM~dK(`vD=_G3xkvS%=nGV4sS|KvQsQ?>9rl{4(#U2y2 z8ex>ibknHz1q^jKGhj--Am2Cz8I5WPHWACPM=V3bsE%tuIj|GNNkgSQY*l2h*lSNl zu68r#hl^Y%K(3}jXA4q9x}!?E&_S-OR8gGEkt+$hQ=91b~W&oz^zWc*A%Q zgv;(Z4iSN~u+!Q$Tn3PBr?qW(VW+iixB{4xXgn<6X?uZsP?DG{6)9vIn_X==Dw4fq_~WvT zk`5OkI0e2E9f_!xm)`efd(wWL;i@#$ zZb5gR2D6nM&TOT^1FSck{j^3oNjhq5-F=qLnXN>=N;6^Hdk!&MiF0NvY0b>#sEs`2&Lm3rVyM%bd?!m1cHJy(3J!kfvpNoLs;gc%Lq`YadT`CNQRY4X0cLf z^)an#a=h;RRLi}e)@-FsX=f~qA!=!o-5^YXF3ZP)G#Gm-;}9bl`>)atDehGU#}W@~ zFH}s)F@6!loJoM6?=%{IS%g{IOID z%=+e}^&9$M$p)aHj^gb(AFyLSmX?HWO`E}5^*Tw`4TMiju=R%tK350{Db@)|os@9W ze&=;JlN~|H))xt#l*|I*_kxna{EWZ>nC&>GAWmiyL4-tr2=QN3#*36AK%xZ{W_g4P ziMyoaOR5Hry%{Vg^0Fc?11a3p@wd4tZpN#bPRpU7QBaSFwlVZh5qVBu(kZY86%k>b z!lhIE=ABY9bOp( zy-XWDFL7Fp%*!+Q^YRS*ygY+GFK;>U9n+9ME$}%;egfz@R#u|*elg(r{!8Z$Ff};) znJ8stn7YBv_g^9%=rj)mBGCE%>!7IFAtmm=25{`b6g=bQOO*6vc=LXAz-ckGc|SU! zxER(t{W#+F9JYFvL7MlY183?7fe2^b4~M=8Ww9Tn>c1=(`ras7PmY1W=n!I6IUUeK z4{-ss41jXb>Q_n*3Qq@G=)p0unD#^(K7Sx;nD z=1H=cRu-YS4DnePI*4xp_N=dmZn7_ujy(>x{(eIVN3s#H-hs z4z+*je@dz|g~A&zegFG!zG*j=c+m|y!np7phV;ED>vHPpIyp^ll9KhEVmhRj4AM4Zwwt5otqOy( zBQu0bRanDblC2R7hld#zzs}=pim#!JR3V`kxr3L{gXEY@Yn7=Us>(EMd@m)7WON)-GAE$3dwt8MRj4ViG^6*T>9W!SoD z(zZ@sdcBZchKBqDNv~8lq`k`T{-Wex=(09-=-IWY>KKE?MSNE0uH8p$5rZjE>QiGo22|8RUqGBW@W^B@J?<=1plV7dBS4CsWXt1i@yySwYqoFYc;+ zP4Hh&`%VJyrXWdCd3y;(8=-G}=uU#+HI7{MmLsg4A@CMTLB#~d=`as8>8#X$9_vW} z@Kn|h!-5Qmf`%m9MxFgu)ha8dI{No-l;GJfK)$*-%T@>%VXz$vcx( z$qN=*gKk50o)c2P4o_O3V6!7M2F*KFK^AX_5Y=JgH!B{Yl{lZ4pSL6q5x;@9vDhWH z!7`xupu&MDubqO2&a8P+LnwNRg@tva8rvT8Y*uTnDxzygCZv4a5|p%c%x{(M#; z8#rPe35)`_bO~3~T9Bglz7g6&m1L<0i)SgYJ!;=+4om@eR zpbCCKPup)GIYsfPr}{5ggMzLFlHxMNUnD8s!5c}6D|i=3imQb56`*?!FJopvjW?1M zH}FQ1;$6I&YVzL1D`>!b3$FkM?`^!mv%GikYUuFZ#jBCSt0xm*b?<$=8fRklV4}td z??b#ABD|0AYJ~8FdC*kg+xC?nHvHNbd0bNAV(lPLA;vGR@x|@vzmES-^xwdLx6r-< zg;zC7>mJHSFY9ST=*&aVd`7Vqft6K#ka+x;=x(n60i>e+N=dPxn>MHy_c-nML3H1X z?)yDX3!X}>IHDGLSmh%|iMBhs*l-DUzGSimlR^YEet?A(HFT?Nr#CT&^lvU@*w|QYuT+IJR$nPnt>e>0(c2NWCRvV1zI9 zV4;*%8e|3xw+Sc09B)*QqT#12x!oSCN%J+s6`F_@v)uZdI59 z$1}1DV#)(vUIWXWUS3W6i1n@RWttF_)&|w28C~GATTyFenR1=>yJsy;WlU#l=eWnguC|UXitKCWvrnVkntg_wDbhG< zfVng7l08q;8gwFiK{w0xlDdhpU<~Fny7Dg!uZHGwkas&ZL>?1T_X8p7=?q6|>h6tURHu-1h%n*_A!HDPJ7LC@hCWun8 z)W;P$T{K$Hnt^80G|?K&{Lw>QvvRF5C^Slfa!nn)Xf5Qcv=T*g5opm)(~qK^Dcb7V z6>jxlH#-~p#*Z?7*Zx--TFIjCPQo`Vh2&2Rr zZAgun3o3NZayAu`DA01I3Z-<8(uzq2^!#Xh@`^BN_8(GbwboWOCK?aPq zbamCX6?QnC19v5lxPEV^z_iZtux*-|*f>k`vRN9pd6w~5J4@Tw%xc-q(it5n(;h** zPL9kG5fxgwRujP~-CMa%^}~tNwRtXrL7M8`6Boa93rZ>0vl0KM;ol&*h1}91p3-JB zyEUa_zb@3M=j*t_<{#ViV^w7{=CwS=XE>XcMx%=N>D@T%DqXxe&lqG_plEuskJ1JY z`1qIxjXI~=!*gNJdF>nP!ep2++n&3^XLZ^TSHqx_UBEx59k$dr%S>kr=qE#-MvYi) z6$%~oRN+N^=RiF8njXZkvC@RY+28{PQaoxNKofsQ1FE2|=F51E4WEMCbRRfwm&q&@ zgEg4yV5l|i6lx;{02~+GD2}2c=unD{8t+{k*9AnS@~!D-GS0`t&M+<2(J7WV(?1`k zWYu|ER|3Fq;GXT_8JTY7!XbDw4v2sO^c}}URcN)Z)%w?l!k|!9A2Bted=Is#BH^5vWC_YuY@C*-olDl?YTC?Vi^l_Zb?xZ15Au zk=_DaopGe209hOcn`!I30e}sc!9|DGWGO;tg5?b!l)+CIYr}@Gh>j9X2oP|Pf7HWO zc-?u`0Y+GS;B)v^I^Vm{pYN| z_J={Z&<{joPZp^_jUczrD#EF_i7+j0*$4}XvMmMIQZNNb8bEeFT|-H+4GuwpKbdLhi9qc#O1gH-7baG(=Q>RjhS#o_=fy-qGOV4$!oXHB_ zT>5Eta0+ffYo?!pKEz+sGXYjzT|{>JyuRh+AhYN4a%kX;E~H0*qrx^VbNV);8~0|G zc&n@y?;wvSOwXlTlox_@yC4uR1nCYn#RydhQdzK9-80!UbLq378YX^+cHIr&8&8^s z>P@G77?TWqM3rS|Ni4pndwrxUBGNwRy+|~4l&Av>*K<-C1teI3Jatyq6m5k%-YV4g zg0)qo8d;{8!|g(Vv4v{DT$%}X8eXHBzfT51f%ycW{Hq|c~r)2tyiQS=aN_hed8BL*{Dcrfyz%bzi$3Q&lS zyh`A45!7G`QIUoc*q_Tvg~`pRz)WIesDQeNLiZ+8Oo;r2K4`YzP9{NglQP)m#PCni z8cjUp0?u?A)R^U*@GY_`0s0l^zh%`~IVJ|^w1X`rZ)K+;alh(r0#z?G@d;!NkZOq4 z@eR+#1)D9}txd^U)y9lo!!|vYhc!v;yR`6Gi_%`*(`K(`R~r*J*xIpG!@)tASo^Wf zDi;MmJ?Auu?a{V_8=2S?45vB-@<4-s)6*^+O){=BZPh|`Dm_vFecI!(s~k1N`5vlK z>9&;#)w1ccv+cpOUlzAAnz+uk0?A1td24%r7Gp(VL@z}*qL)%OnAb*QqwX};!|pJN zZmzB@ElzgWwQ&@gk;oB6P6GrH?`}pXH`QV&|X%$I?UjU zQsPK&9d3{}Pcy23<-~bF7sPDO7i|C{ZyO4JTG{|xTUAzq=BtY^sQY*ufdygEp%Y}a zFVYD%M!F#{8bOiK%T`!7?*eTAp9I>Vvr*@?0Y};e+8`{V4c2N;(vH^qqoMSa#DU%` z0X;$-K!vc)%|jeCw5lY{$+z=9P9~PgP^pLmbX1?7I52u;p|oONl~6Ow_=is%U@Pel zL>x4X3N(R`5eH5bB))%$JP?i~8Ph#+inP*q;v(2rE1W%AqhV?HG+qzkBX(7nq#G&Z~$NN?pL_{jaSpFtl z8q8Kp6hOgclx``)KCWcL_A$}p5Ko?=&Y?Tc&@e%Rib8MI3a@txHx5w0CPac6ngpFf z9&0943T+rtEL2LbRU++W(rYRJ^P(2FMlpSg;i`j*Qh7Be6*wor*M^L?l^M!4SjvV% z9DT6N#0+M^^Z z+6VOz%^FJ*Rvl5$Km%H!O$$K;*|}J=rC1QB$=V@!P!X}kn|}!5W3o2?5XuK`EtH== z#O1@)NPrM<&~*wz0AkfJ9#(;-PVv)XU71vk99AAVtR%}pN#tN(ACkPpN#2$jCyUk@Ri5ymv<)9>Tz^>CXn1EtMOL1D9F|1ADKmB5;z#FTY00eIT~4V=#u^865>(&IydM$U`ssZ@vE}(4KnbRg?l*m1}D!!z@h8&O8cm^ ze?CPd6)LRaK59bV#0&5=1cC8<8Vl@K)%>aVbfEk5K7Ao3(f|cemf%%FEfttsQBr#X zGAfQ&0r6B52ccITXHXZP%K@<$+5iEmSgpj8H}P%IXd=dK%5B0x!IAlGoG4*!r92P7 zLezm%^47YXNf)~ga{eSV1KP(KN2rS<%Uw9rX{tJ!B1To_W;wbcjnk5HhRWP3r;%=x zGb#E|!dsj38Tv?QoMFS6<}{777ZD$<6Bo;tOe{;NEctYN90HQYOxw&jN%<9b4zk@= z*w~S^8ZMa<3IZs_Edg`5=oQ?7_*Md2EIiL6(ImwMt;j3~A+?y8?aZr0nLrmKeS~6% zgmbn^tho&lAn^!P4-?PzN3pPp#{`PvnTtcj4>P$ud1CU=iWtu4!C>bl9L8?3&;4p~ z)fGuAMu?=XXdx5UdJ&8spd2pi>%c*lx?pWiY6tu2Eh1Aa(TIQ{iK{b8V&b707Rftp z9U|`>^8tE|5+(N)AL}UoTzq;AKljaSmAtAMKx8^D7m=wM8m9<^^I8VqB5NO_P|0*( z$1f?kSX(FYuY!>%w$~~A0oqgxk7m*_Rm6!!55<5-Y8o_sNQ?;z7s*P6%Wjl`65K20 zbiffF2h!@o>eIrb#pvdAFCSZdEI6$;b|YI$tiB;Fr_{IEbhTFB%8S>&V8Pk)T`iva zfUiC+-e|*&SL7V)wwuSHOT?HFxI+&K+=u1pNhh2J>jP(!m4q|s%VeBo;>fo>Y2Vuk zT*^$$TgwlDx-dp4>NDuQIYM<`v${P(X>IOhNrolQxUGcEN{~vxd6tXm zJRoT`<#zzmU>X25d<9^_x>BDX>O-uC8)QCEU^SmgIpDqm60YbtgLyCpkYa4gD8?p> zV$exZF&`*%9X><`*Y14N z87+qsq@4ngv#<)~p2k%#--+(qxb$h0RwcH~BxW&C7@Ez1i)}yy38t2@#)NA?!+F-% zIz^)dqWlq{z;wvoRooT<4|mkaDZ~gaMnJEG?MiSsz!W119GovI0pkinfefaG*P-fy z5)Atddx9j5LOR$_(`@oZ%Mn1OuwrDVl;!Z8wyCbgth_?>Ivx2 zv=5OcYTr@2L4UWc*-d9#)X_|#(b_n1Dh}ff2Oeoh5;^Ewvot7aXLAV#GH9+i@H8BF zCLMSNeQ%Xz6G|yN43&W)1B`n#R{(McSA%uB?CyK&h5!Uij+qBhZU!LzD8OmsLlsT{ zVhIsloM(>LDSEv}8-Qp(g<5&6;xO4J27~})1U!CTd))_0*s6ql+1n1x5>x_2kv2f) zypMrrx&f(2N*GdtL5Zf11g7?(64odIlZE=iG#c3)ALIaHv?Vi}?~V}0>hn4JOjV9F zW);w`FVH%xK!s@&$euwQY5;-~k?oZ0Xk;eT)HcZ(jqG?hqjji$Xdotf zlI@QKKb{e8`Z0jx8Dm2N$1^AQS@1fZQ6xrz%!R&;l(~@?wp9(nhys@@tBGFV+1f87CkVpo<6a3 zdki=F+1*H|K(=&Bw)DI9J)Kpnj4GkIY8nnrvut=f)!@&o!RyuF=~RQ?tHG03gEy~6 zmL_kbHdKZnZzk2hg|3pcm)=CRr}z`)ebO(|UsPHuCZ$3z#FA1^9&g|6IX);IrWkxk zP)bKJi0Y9H9^}EZy~jnR@ml(cjL*L~R9K;KDKL@cE~=aDJAIwvEPR)6EYHIC2vcAu z|NXw>;>ozu)W4!5(vW(SuAmIHa##BFwP^>dD=Ct;L2H0V(H)`+-b0U)HWh3>@1;k@ zZk5z63i#qsafNQ#n3X%-vYKq*VjNwws%-RP9Nn|JtjjS@T_mzBrLA(8rvDW{$2xKn z)vYVlYIPu?XFN)Ewpe|JI1TcnA=-YQO9axOl#6M| zsNq#Gx8NGb1I>it8nCDQN<4K(sSjd^ zk9b&5Z^t7V89e^8WW;th9E7~A&_joT5b%a(9=Yn`RL~zZtRsoZoPRmv>c%@vy4sg{$Ru{W@*y4fv_&1SJXOafMp@EvFY8Gi&r?_E zc%HO!$Me(=?>Klfc0A~1!MyJd%PUX1r!DF`;QkboE|rZXefP4S)b~7fg}&!WEB8H5 z{dj$6Bx)eo&~G;4%dDsOk`q~pn9}Ee=hm-A-_&=ddgJbG;-xI> z2g!9I^o`ZN9EOjl!|W-L0CqQkbl#VQpt@ByQH|}pEMePoackcU1)a>8KV1#9F0vh8 z@5_p-dWuPs6p|_vLf_ceb@8B-iVoP7T#x{>z&d1hin#W(6|}EcKvl`|I@-5aOi&NB7Hi+=^y8L2$o3J{%=bT`n#(ID zRNt#Xo{O^Ux@t1jxoI-pxo9%eea~dCILHN>x9@~uiv0@gDDLmvGda+?W^%A|%j8h! zlF8xD9g`!SD<)s*+%P%XxnOdvbHC)(&h?VlI=4$+?_4f9*|}SCs&lpETMIW!P8Sw# zmYl(Vmbq7R&*Gnr{#pF_&60EY=VSal{tMB60sq_4|2F=M(SH&DrRcwe|8n$S#{W+A zzk}azmT+c*QvhSl+Hed1+tGg;|Mlp=c z_~9d%|9$-LME_&_*UjHPWB8FOJUAPJ_dIwp2F2oHk}t*JMGsz%!5bcYCkEk9Df5*W zyzjxQF$jN1sn=rgv{!T^2H~hE_1ze}=)qetc*TQvV(^9s@5SJ44?c*&`yTut2CsU( zk7E%2qAEJw?^`CEI0etd;2jU1jY0T8N}Y|t_dR$n2F2bX^+F87o>B1a7=#I<;H4P6 z>cMwn@LdmHjlnx`Y}(f?kWz{EZupL%X?RiORQO?Z??(4#bgxDCa&%!CS$;TC=E5)Y z@1uJ+x-cXy{xYtx=mY4UM|>myd-&gr{txiKZ~pda!&A>EA9(O=3_kXtqqpaif9%1V zG4=O6=s52A#z-KK^&2{{#G2qW>{|BvjV6)8MLW(SJsG zEBepkzY+bH$p3EiU&enk`rpAXmYe!`1wW!9^Iye}Jjwjm@ZXL8>-Z(^QT`kF???Yl z{4l~S{ucg+(SIBNqv*ebAAyhMxrZM~kooW9{~-Dw;77b;@elEzj%)4$hk-NEuLH)} z=+~iQHu`mtI2ZjoJj_S`ui*dr=zkmkx1;~hBL4q4`hNreoE=&Ix88g`{Tb4gv%@vegMwe}QWbzjgM^F5m2TWrMBkoWWh99?eznSb&d zzX3VS-pQ%qzojx(D6KE2yy<3!cC8C_dcgh88V;|Ti3d||-_dhsuzB&`l~-8h>R+Y= z9dRD~4$Vb>DXNTU?*~C42B7+DuqpYBgA>Gi`(~owvk>1}qGdP^wOc%6Ng=Y>1aBOM zFy3yGugJy-kD4_Ml_aQ2r44`n*H*a)|uCvHH zujZgYg7+LPq1toUKrFW}@@oeajRF4;4o@dC=vsRbD|for%K5_?fkF$_zui;ZfJrju zEu6^4;5@*1uDkrG={g-UQbA-3eglrA^*BLXL5Z!5kDb5-AXI}zI3{ozXLM?zdY)S? zh;2+4Vzq+3FzyLT^TCD^5rf1ENI*<`LYLCX6zN8yi#E|s>uM;Dbk|JUufIfUpfPpw#g&;;< ztum!YXT|j~mV8NFFdOsFQF2q6HTyiQIjRD5^`7Ay^3PD4P*Y6et4>Oxi8ie6{sMD} z-dDYwQ8taM2I4?0)6Hk>Jazm$bZh!?HKsp~sOl=fj=(X<(5pX{St(=lDXvURmT|?I zmc@5e1cTuogWMhBYdAY!-`9?>lwKtz2&!jP1ULhX0(30zAJTJQ%B zq0gGt|Ds-6^+w;D#Xrd^IG3Kt5|#m6<8piWM7w~HKsG`xQ2a68Zz}Dp{S;NAM%`#X z{C3gUH3Om1z90QV_#Z?+TnJw)I0>r*r-n2ar^%|qDZ{?QsUzFPX(8~%siZ)%)JoRT z(DzUtZXC}>wXU${0CXa;M|di^tF$bD5)G#=^Afw(Vp&FhPjeJVAy#Tg=b3Yh1p}*1 zEGe~VwHz&6oF+}fDbqBZI!(iA(KH;{KH><_A!@D5kfT|b9Kxtezw9WLm;sui9zfA%7_Gm zc&?5hOeMA%TbQV;*GB-M*ekLP#a>-ibnF(lC8PX~Hpu`3QJu9ba1!?kCjN_JA{_QV7&-nN-FMSc_#}A-%+S2R zS2-}htR*~=~f2mR)(ch#x!L>9wN*(T5h!cDDKT` zLJcH33_e{Ap}Q*OX`zTr8jehgwV%P32S02%>{~XBUo{zT?Pu6tNC8VE?Hdr>B3d|Q z)P6RFDwlGz?Kd)_rCzXuiqDFjDcH1iwAUT8=o#2q($r@dSZ%w#x=1LA8;WGy^pLSO zE}}`%KH)T@n_vyjVi1Iq&^9_}ruky^pKmU%ePc*xrrU^XMJ?K#4+u=BeSe;D`f3Kq zG6=9`z{}|rNaGJOfUCnQnnq963490ep{|T?KLy{PN0DNq=+L0cwcIV^OK$sRVPpIL zd8j2Makc-sKvY$mtfG`jqL|^&cstcUi&)*iTsKtZ?jtWdpQT)xeZutY$L&~ zdzAFXJPYlA9m_hNZB|z%J?9jpOB+iUh5 z`$VgF1D1fGeWHDf7O>~g$BFj4(a!)$!i7~FvZV4(TF>QKh@0AtmB3I4Ufjzn&A!^L z(hZO`7M6bV9IKK6X%+G1C0LP?_@;UUfDEKD_7GRJB{mVVoHWLpX5uODF49J#G$hv* zB@cZLbTY|!v7sj4UZsNFOTYw#3wp(zY}H48}Qg)9Od*0FuZ9KjAjkt?M` zx+}g-PCex@Mv5aF&LBt>rvg^O(c;HRSp4))i@)snJJk#ax@_3I9JcCGnx#F5;;yA_ z)d6~%@0zjDVTqVd@D$;Y{Gq%Ficz zd;rk>RnJl8*ErNHa}OFt^m#X^IL)t@*=0B*x^>Nq2dx2u*uw_we7&Q1(7en7&n1Y2qE)r?kuwNDOtkxe zO%x0P2R-J|6iA?21Ihqw(W7G9r1!8}|Gg}g=?M~lEafVemN7OBfemp{Cfaa5O~Hm{ zu|82uG@Z4HHuGlj#Ij74SjmD$pMo@dwm4cL_MJ{ zw<~h3O z4oa+vn|U2{9@|{)bi)`dd9`pT7zVl{LJx$fKKfPB@5ogz#bQUBnfJ}u1>{rp3=lrL ztSwiYK)b>+nP^v72DV4o1%uha{?2+XYChOr7VXBPtq;y1*9HK8~)+;LL!hadh_%N7ra@bhyG1dlDysWr`z{ z**G&})Wj zKfT7;ORsSbG9uQADR+XJ3?({^D-+(6xH7(tEikU(N%Jq`oGk0Tx|w9+6)^_IoV07G zu#ZX6($pmidNj@l+*y(ogSRTX28Y4pL_Meh8<1rrc!>T*UFv(8ju^IgWWr{NAdbTe zXC{Dib5?i~Y&r}^-p48rt%iKQSU!>U+qq}q)C1I=mS!49M2Uq`%4d@qG7wy!;StTp#^v)*nK{12-7trTxCutAsK(;%8@d-!-O$d}9nM!DK z^taDZ0-@9RTj=V*jn=Y&R?-q6pydGB2ct*}geM4WIgl5*aMu^CW=cgKSe^$!%sY>F zoqNyW)AfiK+hEC7a^%mQJ`qlQ_{`@9uav(y3yLS2gsiJGsz^;&l} z9tcMfV8P(#zOvC8mrI&yVo+mp<~;f)mgQoeerm#pe@WwtGXcRe^SOO^!hm4GjK-Yd<4ETF3R+P=F@M*HF> z9?N?x&-=*oiaQeX-pKP_%ky5(^FFk^L(DlysKb=1zuY4JSGG z2Gmm(PLj25OMstGAK_d%IwCl)3lsGQj+UGjO%xy0Hp1vSH9Lm1MM%p9Cffgu>p|QkzB+&c zmL1{(Dw7^jZIgsy61Yh@B*e4|z_tDc5;l+kVj2=+T9qRv-hS@~k%(_o)GZOT&9@f^ z#q%*=eGg=oafF&3-?(#x$TzJxgumO1lf(%Y{L!ym*WpHi?G=QPFx`6j1z2%W;!{c< zr4rVxR{uev(DQ~0If|sYpgmH7BPa_HfDcOGE18Mf#SG0%Tz;4rWmKackvWV*jYu;k z;mqqUr(9LS0;URKSgbI}BP&M?(X4Du?ka$@Ni2Y~2^th#1;FOD0^smk0nHT)Ktm%I z5GbHp{cf>XeuEoUv{S^PdPD1RWMLCyWM3WgJ_h=YKENwuUzLbhDX(Cc6>(V`+)5uR z2!mf4lXO)DRg?=is3feOK>#5Xt*G#>Qrj&!NQ&z&S~?o&v|ITmqwW+Q%dW+;{l2}G zU0=1OIQ;6AkMK`UFQDs^%}wp~GfP_6bR?SJsMlIq_tV!@~U2D{%mxPB$Twxm6d zTM6RUnfBz;vYk=dCB4W8h z95r;NhI7Yacd8&wxR$Z!pifkoy# z>^nmk$iuSQBiRc#{?U;UoVpF3)PvRPE0c$&PJz?+{gmc6mm-W6; zs_%2klub!jZ@C37B*K@N*W(woVPEv|1v85*yI%q`X&Ts$sV{`xSKAjg`(oI>DD#D& z$NE{){ssu^a!y|u!UsrDMFn3{Ehp{q>UQR*_IC?e@{x}|UhgRk=+fyvNjENupMmxq zgh!R>4TUd>TT_0seerBj|A;fD1}PAv?OOZn&na#g%Ce1>Iktfoi_ULG$bY(kex0dD za2M>$l-<+**4NVtBrUQGk+dZPT#=MITG0*J_v11mmlC@pG3vKGa_}2VKG*Y4z_zGr zG_)!%Cc|>!*RxW2-$I>O^TohhUOcvT^%0l;^yIxilA)oPE%^1DqKsx)*sgRIR~k@m zp7}Un#}&}lSs2t~TkmXq?&?Cxx_$=dQ@!&XC5)rx{Y}j6>S_XyqZjxMWB#qJ;?k^Rz?yb{x`+e1qgbr@87|-O&3N z9D461%;ZNwFB|zX=+zo%LF5z>o3o!6+l4Oxvc>kF{Ce7J-~$kAe4!A?cQoLuM5P%N z2Ms$5cbD2V4P#d>$Je6o9EYP5*yhGEv^@@>+8ZUhy8BDTARARg5@Iz~gwMAD1e7DF#l9;sY5LQSj`zR(qchVQ=?pw?i}5KV?g`^AVug!*y#d z$F9|WYVl$}^|1i+qz~pPop2p2we8A#tDyIHfmH?Nms7Sq67g)Z8tl_X;*i$8`8l(@{e#F|X)-+@q za;s3%8|&m%x1lR(qWI|MgH6lMEC{m#k^|x((uSV)pZXg~`+vOj^MA)K#sULYbA7my zh*d>f3$d-**t^EMZ+Sxp^X7SDV+*m-tMdkp?rLO2%8(u#Aj=#+YSIT_xEZB#)-~qw5;LG+@I9n4=l*vWa3l_380WP8 zA@5NI5|_ecI1pMwJ4UZ|jMb!zcc){Di~)$#4$BR&(XmkYud1uqoR!P&!!(R^MCcgk zuk#77M0~_2C2b{)i?$NpkjU|%ZzXx{(5kU^aq3h%tiV{i`Bb}rbg2DT-pzqjW3Xh> z^HIxZehF4sVbsb$@Tf`P*)?iAOUY+BRWWKiOO?--uw*G;?Xx9}_~oOPe-cOSLq7S) zQBzS}qZW%|tYYovQ|&%#|JiRmVbnwq=BTYPTxQ_fD2oh)RRUnN>wUg>uCx8i9q1Ku z?Hc%~CIPoX=N^L?^BKgLZ_xFZNQK$OS&=H5N&9=hkyJ0PF7>|I`$p+ooHnHnROI-+ z2u;I(HT7kQ-|diA@zYt^@SdokTihQhwx{)jP`N0bC`>C@|%|b_xm1BxaOYkIXuotm z{>Z^$i}=t&o@#K|Uq0!!}8Z{pdprd8)x-Gy9|mr;u-Vz*4^0 zL=JsCc#4Y+#0L|m2doDZ21iVouEnr0&=uwIb?}_C+?I^{y z_X&@Z85%Jf)ev{`l*{jly?feGiYxGmc>(VbPPw$*E>heS9R1pT}q1kLP>%U{aFdxmbo-5H4ZzSDx>@CW7MV- z8MBLD6f7_DoG0hy0A`7&3!TbOsZ6_!sw0o3o?A#gi&x1HsVGNco$7jNTB+P)7R%_+ ziml6=vvQ4j$DUAQ-rQv+!@KLWc6rH46&Fhf`V~qhxvB}U!z*$*XA@PcO(X#Murqg9 z`y(i(>ZR|x<_ZkeYM;&av8p&cMl+OZf3Hye_ZJMRJcDUx5rqdk1RzFGq|#2@Vd)T= z41dFAAZG#beZId~G0V{y2;)|!2Rx+h10x0_$)x_eSb{9#Q%LGhU>#s< zEQ=1EbcY8ZU>tO$5!?^q54DC~cF2wlf-q_UxkN$+MbR$sM?N!*3!`gH8<0zI80nE< zdtgzRPrJhsclRJo$S^7og^Xg5=`w3hd7y|<(B)+~C>jlP^k_VC`iwiz92-!NrMeB+ z+IJA8PkT;7zfj z6LcqBWr|Rc7**LsDM;x(Y2(^?+vwqZB=vrPn$I^hQH{{JBI`%mp++*b_-J3CBvnqI zh|npByiy)Ut4}r4M^#D_^ZE*l>obYj9&lbR?t`u|Zxr`|l5-g$w7Yq88DV1ZjTB4J zQ=ivDdB8$BSSTWLi^n1pm4N}egOE$!N-k39IPlVM-n#W8^Yil=xA;X>;fSKbNvgjM zYWBPEwG&w%=QspyO0yx`FFh8bA{W|xhH^|+N*P)_?AR_x%{y*QLK>)6bLB+P{_8Zu zK#j|al3Pi>ulUwiv%*+bvIXJ!(5)MDs8m*uLzFj``A4jo(!B2bs9lt=a}#~ED7Gv` zN!G)Dfo!3Nf)E zO;m?X-dW*zOGsAzI*=hly=tJ^){jqMf{+fM$t3Hr9r>g|0XVh%OJCQ$j4cXs;IsvY`Gqx=m?~JG>JeIuEutxzN-8t044#Ml}>_^932rxMc|be*td)V!5~; zP*W3H8Mlz5$T%S3BQ!;KaK@cqz{{r!O~N+7fn6#`T99f8^D!Dmts@3&HZRkt9NDm% z4Fabi0bs6k16*QlG>rqacKnAe_dL`Xo-^bONBb{CAB6xw_^r?2f|^ zaG4}u8$*@L;w*S{EbGlNZdum=WoVkrdio;6pMNt>52>#g{{2gMGi&zR)!;!P5v|psZDqH3#8seIc-~+ZXHYi*@#eu(qv1 zjcJLVR$0ViR-ovHPk0I@vle#sYLPWq)f(IfHw2Uf0Q&ZK_b=iRkVEiIgXC8Q0OzGiqclkTWoH^Yw*uRBB14*k2l${ zaVdyll;r4Y1;7z^4y{tuO6gNRUwoh~LUWc^_BB-oCh*F7-vY-WO*ZV9B-Rq&Wfmgs z3#bdN7REptAyK@69LtxnX@ry^Tu}bF!KgVRzn{25jn?2k=o+Y`N_^W~NDnln)aJ4t@?CynPn~rqOa~L%;SQ$; zVB<(v38xMe;_!mZ0;Vdw^xf}%_jBy?0G|jY;R`9Bu=U!H=skgDeKp~QVn(xDxizn|Ds=wV^9P(ZCv{MzuePlEFH%d(s z;+EQ{zMl4%_ED6HrFq;>ic;uj>D2!JviJTmc3x+G-}~dvojY^y%-kXGkRuLBo%iJx zbtw(4ku@gA61|)Yu{OQS-DLw7&>y18BKm_MwOLUn92J#9uB~L%h}p>GIP11bA_QvV zER5E0b`2wOVr`&oosEJju-bL9b|Dl_V-#*7WZlHgx^+L_=Q;2FF*7tN%WHcPS>~K` z&wGA8=Q+=L&htFyIVkj=+LRDBC#-Bvcs1Fa^2U~wx3;9bJ(j{V-O}VX2+F~kI`2d%L2pO8CUaT}$le1m>Sh~SIUg$7lQ^H}(1JSmk)kC=3y+f7#>s_4Af@S}XCsB_w&CZ-*=EjERK*c3)HBuZf< zA}SVzgL~}L6VBUlN9-vm-XyAnP2Y53lnSE?XlAGaDrcyD`wF3VLRVaD2s61wAavy- ztzM#5_taCpRZORKJhCp%Zu-Da+488jbZt)El5}3j42kFM5kk8aZ$_eel+7Ju-#pJQ zc0wEuoh>JpbR8%xoGsf+@DjL7(K1;I{9^Kay!Z~++|T-WXQYq3bqhPJg&k^vdcD>H zU-uYha`i&?r&w_@T#W^7mnn1EMB)LSoth0plAX~>1|=|{VDiDJanpjy{#CiqZvN&( zHu>z7wC-AFO(|iV3OO^&DM7oHEpNqSHp*#_7&=NAWbM^vp-lg5Te2zf4XS1ikJ#_f zHg7@C@dNQqyVnc`bB<=NNArZ)3WGPL;(A|*?Z}XW7c-8*2zrIV zZDDXrDo-^2#T@t`))aw=VX2=^41-A)nrN$?-ux}ojAmg@Gdfo(#i;&Lxr5rbuMkO8 zXdAL->QwBXAY;9e0(SHRKc&f6$LK}dCU{!N3O7fX$e9)A0YENr*Q*hfH_ro&=f8=w z5c^;!#LWmKEhF!u1_?f7m-63R+FuI)}Fa8(#-Yc`urgARzY8v%}s10N?r{URl zotYq7xCDUt15zu+TfqH+xQlK3T1M5&)QBzrLVa>{fM&)S1EAY~$6?6CH` zD5YVKf@Fi=`Z7yGzkfT`3IVg&e4#7sz~sH$PXT;c|0NRY+nMf(T#Swp+lr=qWK&pM zDSgrAp|j=Og?_GGby}uT9TH_8#dK0ZIe&puN&~mt;HC(=w}?2WN+!oxD(XSTF3p$Q*#Y zu18eT2i<0-4qemd@vUb5u-q>b0S;w+Ag|!g4(Kq##pwp4kgpaT6vHM#*sQIGx_dRF>cM@ zC<}ymWhn7appPJ)wxGLiln3;(9+?_}AAw9oD3o-k-r3sE?*rk0Xyn~~X{PLGN=x63 z?q)Z-Q;*0WAbSz0nt(SO^z?b%MsEwjI=ff5A)vl@YV+k%Nl<9=ra%7=uN;4DCe2}u z#9Ocv%dQ5W8j*pRjO7Te9O1B>Z1=G53H6h*F5MsQQVU&Ge~?}mU3G@JaKne#8}UNQ zCN4-h#T1blcs)G*2M4}v2mi!-q&^IL#NknsQr@ITn<}WfHf3GwUMsrHqM13!sSh!D zLJ^z#QaJ^&;p3Fff$Ut`a<>>^W9d9bcASKDU}sdVbMe%8sn}t|Bswrp61Q0gzTSVV zt2uH57amh&i--#v+lNRVI2w!kjOD79Jr|f_uE>^Q*ewn_vZ1!q#a4J~gA<8bAy&Ph z%0zj2by^=we}nsQ!VO4ZvK^_YkCF=3b4x-B_-QTA?@`$Aft2ZaK(k)J*teL)-$u zU|$Up%VR?v8@!50@XpH&6$*4Xc|swK_g3C$jKc=RKzcYalDR%!0U;P1X4LM zN~Zv>WjbdkMU%cDI3DM3&TnFG=)^dCgCA}6nb}MucVpKljhdZj+ZZx6@E69+z?R5> z7Ix)Ei6b5{Ct_pDgQALjftTUS-QjM%zX=0#5LQPIaQC2+(RmHvE}Tc&k0(C}X(=v8 z4{{%hq_v^e_QN^cDDMgPsFI*BVx0>9j@A?cj1wNv_;ip0&UuIpa)yaguv&Lf-np*P zqLDwLr~9pY<^C5Q{s%|@(g);tTf5L#!hYB)8fSnl4X~@;wn_$lNJDKgR9@h7*F;vXP6a5Zx6Y z1l!0VH`YNI>matJ4&NqFyonidx)4o2Pm3-f#q1k1RNKr9nFQ_D%#iIkr#M1Tcdeoe z2$GyG)I=Am0~lBC=zTe@0~pwTCJ@_t2GcDu=)zd8>A0wQqC3(B$uKxuPKpZ}9H3~_ z=t69Wvz47b&jezXY>BRo(SCt3`l9r02dM^su661VpKfgEXCBefYIJE z)_sMJ&K2p;UZ}0x`F} zNzoAaDj;Yhwo~MUfRF=(20$>bDz#~#arKaiIc^Arb(Fz_jmLej)dd5v#m z$6$Oh@3^2pUe2Wh29V8-8V_QPRu#eU48W4D>pw(faW>WM4l`;firGcM5dHitK~PWc zZRu@NT@$vOUptEFY@IR)1j(%=VTcd}OAn&jvJl$)mWB3W((!K6@h;yM@0jRuyraX` z6(A4pMl};1Lj*+cq6~55CbbkYGjvJ>v0b=jn{+SHJAE3rMA$oq9jb8@ZlXLNU_S&~4QGzQwRh zP9B;m0?`+NStcEER?`0O|Es_Kmzmw*S@vpSX)TmF3l^o<@Bf>RUMltrm2#FpL$7)) zT_T+&s4+Nc9T{9CE~tB}b);fAdW`k3Y-(N?L~L#(kq=UJqbBwhg&6!PEu8@d2`oYw z@$wo26N)6XuoC97;1)R%pz_~=$Cd=YP&~H8{6s1jFM~%7k;%!ce%wYEz)JoLs!()$ zKTg(yHY{mKZF^;CSVmUlZ;qd7zAh*Stp%^;SD4}*#Wt$a})RW9aUQmTO>1W4EeaG^Zjf6!GbqN+l!LZa1g!Ce`Tq;0`@AL%e_6KU=+Z#U z`fV{AU0hZ(n!cH^(`o~VlTk)shyBUzR@dan>Kaah&MHGp4zq|qeQKBo&_zeiLpfal zIS=KF#j;9-3|oCnk5E5kU`sYU5br&gphomn5xICgH$!BF9?8#)&O1}}jH#snnT&4S7t z2`S_s)jn`srY6?Nozz5i`>|6johd9~bBhh>RMnjWp@8w&D9erFAbU!&fy@$xnSn>& z)k&|ZknD7{k^?Fd;4bxs1iG~@?NA++1+1Cw0$FOJChRiEYjXS5VxBeM639t&rp`%` ztVYU8l`Od07sB|3m}HSM_2LGFJu0&3F`hrsQnlkFR51-x1Dqyim~3f=-Sh_z-q8P0 z&Npq8lc1Z{wZ+JV8bIj8wY1z2EKCTUl-MeBV|lL#6Ma{agQZ*ZTElx&NBx z%8H*|Dxm69p|EQZ8nSbjte{C3Q5b*`R@k;9GZUVqClC8p`)k<30+?co$!5Wx(lSPE z0kH__2n#ap6nxq#_yowcg`+}FyNQCE7UmRNBz3114=h-kEF+aHV>XB9b%bh)O40V2 zKx|A;Xfr?57%G2iRQ2XX3~j846^0R%yN+?&MfzbPjo3bt9UJ?ZFe2jt*#~rWMB1Zn z4g{dLDQtzFz^)F7jO=2fpjebl19vRjv;u4ZmS%%8$|+HC3CDVBIC($ec@rUfZ|)HC zZ!>pLBds2&SI_AZu`t;6#^w%w0(k>s1rETrN-}7bO)AnHksPViU<0LdD>zz;Jef41 zQJ6GAQWNb01yU0*NM~;ex@|?_ZV#I~u6l|JqpV|nUXI5b^SZS_!c={YT~ZZBH$bW7*N=Cr2@+Asn1!+Rlpov?&HWSELwl#SR1!t;!#s#Ui<= zJmZa%3%^kf`2;CMJ)n!ffIXkgF{h2?VuX5`!?syNKm@Q?G$*H>XgiYiw-r+KSH}4F zTTQ0KsQ&?z5P7Ee$!xOFwN_JUGwqyVu{e>HhI4!(+3&Rla3F!z5ps&%lac`Hp%o}<4hJA*)B+{(>HIJ9>g?&~)%Vq2gUvBKl~`p?KJ{ju!p@zkd2^~2C) zU+$$Mfi&@~Ci+}qN{*zk?Z0E^cX1JJSa{|_F-r;asAg7RJUi}ErAeHwkFj*y>q;Ph zWAY{F1dY;+F)Z99%tY=d`w})08D>U1uY7?DMCK@STkBn(kyg0TH5 zj_f4v98E;#v^5c#(|GZ5S!Bck?xko2MA_%&0;AdzvzWBiW7-mw=b?|ZZCh>0s6u!M z2x&`(XHci0~ky}oH0DGGX`I}cE&LEJf{jC8jyOP7|#&k??TYQ zTZG8^Xf^7XfyF9NeMnDqs5PsPJX$i`+7d%ZVYiH3zn4qeVH)N^t2(f$5wE#+II+hG zZ=+^(kbdnKg?0~PA}r>Dk3n)gAGnKU5V_pkKEXx}6j)c4KwInMou0TD1;u^@OBGvu zgVt`>Dn_#Biqx=}7j(u%yILuTf?Sq4wUsfRAvc6!R6zkp%WSf6{GCf47ScncC6#riXnOX_wB=pE@S$^h`TBH>!) z5VFXqROYQPIZ5YevJ-MhZ12%z2@pvnEoaDkS#AVDYz%kAe6MOOl?%RCEx7n$*S6w^ zg-t6FhXtx}lRe2EdP}lgMeO30WY#3I*6kJqy<$=D1idDU36*L)mnc&@%&k*~YWQ-w zI67tc(9!CQdnD1C9y)hw>^tNgK7Ds+`gktWc1S!LswPYYa4B;k?vVHZ&<=?|--)ny zG?D4sn#lBx7a!jt_ld4F!yTGF#J|8}+cw8%FM4_wk#VQZGDiqbbHsUWCq^FKEv1>^ z^n!(IBszj58WW`aoCCrlm<`c2@CG2>Ds(!);fzD5DF^{PgOG0~8X{n+fB~=sA-o&U zhQ-lDAhb2nAv98a97129_Q8`;U=*+fXI7aK*V+)6STALOQ*f6?q zxQi{iH!HM|;zx8(OcD!+8N$*=kH4xBq?2aYzRbkuO33L^8B+&=S__(Dm1 zsU~Af)l3*9qlsN>>P8ggwX+?0?es_P|AyV$W!XKFg~bRn^h#PL%#Un@KWl7bvR%1k zq+C?8=|ZNuTwTx8wctcRmF^{VWy!HbqGrRayf!~8XnvBL`Cb!WmF?b;n#}%6(MmCdq4YO@3I;?Kk#IV_6SFC%| z@IVmZ#w2ypWpe02CAN(tgjB@liJ96Fh%x(v5fY2l5{pd{i_H^@T_P4oNK7Ntxd}M8 z922Yk`!<#sCTFAjw^>|PGv23WfBj&GRd zVKu#BI`i0)Tr}y8z#U=N!*WRxgP3uLWyA;8Su$$!=5aW<+cSC)GwzHT=asQT#!grW zi=NSgm~kOy>?k8%nzr_l40^_Kj*z$5)mPn;8tLO%@8elA@Ty?gLCp%=8cbufk7vEB zRmPn${ zK~uiQhIk7H|8i=GSmn5t=g@}hN*{e)rE#;pjdhgW)wTJzgap=KiMV{w9cpluIueVmQSy zlH8QJL4o|Cvt@=yof~+P!@W$BT>a&<(O=%VOUyv+?`RH_X8-^DL4HYZgs3;VH{J5y zctCxsm&Xt-Y$%Mqk!z}$`146CL4jo5i6(v|f+Jap@O3ew)R)ZefTR$qgGh3mln9 z-u~CAc_40oGL=Kqe}`kphF1J{$36dER(@L@&oux3{=AN#qg2mLpzfVUO>pHzV*h*V zD^=vU9K)>ua)RK{wWMd{YEMQm8#H2WiA(&(f*(OxC0sImVOU9Wb}2Oe{>$ag|Ej9A z|7U^f&fgNs;@z755vIo zEyQOfY&C)FQqk6t>1IXbL6d(}g->gW@Q>ncP?p-nB&jz1`3!0^QPp-u#N9#p#B?J% zLU^0=TlXSx)(PI1tuG+WYJLH}pj~8q%P`V^R)Z5K@dO4CEaSt;uTXUp^Q%is)HBDv zt;9d4Qy$D6^#ca}e`3Cg69q5sRTy-#Gyytb!y_;u1dnp!Cs>D%nD%oe3s)=Y_{I%B z{DpjogBKpUv)vR%~S9WwoR+V1a6({Fw}!w)fidWQ2|fk@APj&$yw zf(S1v+kpu8b+-i~72gI#BgGv=9S4zIS^}cQO(4=!-vbbJ_%Q&Hc=ue$D80+Og443Z zMnhD}-XSV2S8y6HID!ijbKDe_RNUZ1@sVDP6n8jv9ZtdF)Y}9nB$Y!rA;cWQsTWdy zYQ4b?0w?n*3UPS1P{W9Sw7=tne+LV2yx_>Ne<;*+yZm;b_HGs+cjU$q%jma~px)3Y zIS;!jeOex0eB+}u@N6nRPM>aqR3odWB5&K$r<)+vNO3{;Ju3Vj6&7~@-Tg68;Z2Lh z_ZOF_Ih1y_`A1}CxPTX|w8tm~D zAKAM`iobj8+Okn?qQaZTXXJ3eCH@DvwP${pKD0_Wc$W%e8jb9~d6{>8`~;H0ieq#& zTTgNxZc7D1?y~96$&ft}(hKMpFTl3?yEErDf4y)xN&fD}O+F&9yYRj=`ND=>QXEPb zvrGN-L!Y4II)Jrdn}(9<;> zj^OolWin|VW+44*e^WPr!>xsi9NUJu^@7K5G@88d%ab#jxO5yU+1Sr?OnSuRXl4ZD?c zB;7s&OIJwO`&w%JSb-!>iEGMyBwOwO%h&8pmVbcg?eC`9#It#2N6Dd{T6(_9Fd<^n zQ;xm}%DIW8`(Q|YC+$9*dllzlsK#J&V9i4ViOmLU6^G#)Oik??xT~vUmg(#gY=_0j zvH4R|^NQdADKsxG;d@^%(@{7~NOdu0)YyD3P3uNZdK#~=vgVfy6G>d{GN7JWp4=Gg zp9I$Q4|nF~0AYg$^J}aUA=R*dThh314o=YvJDt12g{~#dzm}y9TNKMqxYQY-C%uVH zdPH6*o+{v1Ot@|p4u6aKsr}>Xkz!YWPF+-Nz5i)I#gib{WoYOB*_0wj%2HSxt@0dM zGGrI}z)Dc@b)I@+F1U_Z;&)mi4eAZ)MwzMw$s#7N%QeVI-juw#yC{fxsZwt|jAv7o z<^nvcNFk8WW!Lzk6eyQ8{~%2#3@(A$5Dhlz9q+K{hl}!L2FDLwn1pl!v`#tUuE(jb z1GHT73zwuA>Qj^fy6>ooquio=suQ;L@(f|e>e1CpRI7suP-4akP-2c(z-=F^fIFR5 zL3i5<(2T|k(2UlaB84wL(44lpd>p%wW>LMihcu$N+KB{kQ)cHmhE!$#7!TgJqKA6CuYy1dvm(a8Kc;hGTDys<~SApjx1)%2W@k zK_uaLSgxKtquXm9jgPS*h@hFCUfRK?-k#gh`_NH-f`?3b-$SFns@rZB?o_te;r11paza zVfvrrI>{;h>hYil1sfZT4mzxr4q?MOlO@yOvNOGNVDh%WT6T(sJ;`%j1T2^n{%x6G z&|ab60ML0g6@y3W0-48QiiGL$g8jyl4W=F)z?5%-Dd?;}m@AISq%aFNaDwmV$xV3w zhCRsh&jdhwkS93&WIu(@6`u?in%b*7k5nxEHZIDw8$KY%Qc59DU<{%9q8n#w~ z)K_?e!~%ohSLDVJFgOgYB6}voiv!Xcl36v#o<&SXT%xVoh1qnu zP4e2Daei3E@Pn5geUFj?3IJ&L%=@}p)BNl8EW5H__=plsPyMM^&WU%>5baohGz zTFv=uY4$-SwN91*f6cGNd3Mae^{eK*cN@bWZUpG9u1O3rc=}=|oeQ1NWFo}g@XCx* z=aq_+8%ynx+EOY)U!~4iYS$Pjwh7t#@H~=lm+N}7hEA-xP0_e5(yDX*i_ZCX+z2VS z5z>lVA2kNnN2;af@4&T-Jpo7Si;Rz;&ASXqntZh0dGDtI8|WU_E{Eg+1Q3&@{Jp^Goh<*atNze=!6$?<M_W+5>!KN`7GI5FGNf8RXcHSp*A?$?!~2^!8L0Ux zTXiz9=>65p=nQG_zM>I@o>PP1WT4B^8ySRk9_6hNjn1!V7-V2M*f8j^#?fZD^BO6y zJT?98!NE|V34GvXLZ=xA!ndxlsatb$m z@~3qGK2^{OEvmr*_-i~;x=7!|5kbB6bfNzD>T$R;vH5@F!RFS-0F8fwM^Yi43#!)p zD$(_eN`yiwfVZl?!Cxum3@J4KC-nN?7?pzSbLz@D_ImT5=Dc)_r~}Gy0%k9sw-J8gdJ74uPOncPa8{C9P*_pE>zcDqd^8nlYJ^mE4LwyM56v z6ARnouu{Je!8ZRYrn(a{WDSH7vv1x9E8Rk-pWIgautwcGz0ZR@TNu43&mL0 z8>NH8e%V@xb(HYcbd#bD%b=IO`(JzUFMeV)Q!Lz>Z@?fUzoZ9Luj>rG?8FhMH791U zT-a(c$em=7q&392TMQ<<EIGwG^06iKNF(FKlr_*|GTgJ#otF{ zWRNg8*jW32<@XZPUWsja2|R#p`LziS2KFZWi|ODk!$qIbOmeFlGb-7f=F@@5y~HS} zz~WU>DFhW3Lnztv7(&V5G31PE9t*m60vzq8h8Rm?+|)?)mD$(UVO`zJ1jiOMkKO`% zgH*QB;vTl<9{eR4d#=MesKVT6GjVzBqwI{7b-b2J%MWi;B&#_->A(g}(!?49P6z>o z+_4jj^EGSoj5mo-6z_mFsb`7lz@vU5XmGr+rcP1X&Vnal=BfH5zpd#LXchQ2=*}B z;w_T|8VH0f5TQ+;Ir+wQq(1XooKw%*%#Yx)oJbm3XCmw-~U z$STyH%du7m%!$YnIz}Gjj85`0k5@;|071{-acoxx#nzF!k#mi`o1j-tR|O@gsO` z>vfJl*VT(}OiR#vKMChquico>8s$T-ppRGw75+bQJsd5x0uW?ozl|A=t<}0}~@V4lL-QEK; zj6_45nH7kD$g}NV>)OcxofdoCF@1@H#bC6i-gQZA0X>&$dGeYw<|MCKGTvnjvj(}B zEm_wYspQxo_c2Re^yHO6?iEXJc=Gxn_qvoK=o50o?zn07O@jMB)Y8_7rpPf&{`TbS zOlzS8A;f4%CIx0o0$QuE2O zNh&?#h}8bitgI+JO%|qKoQ6LwCE&NsE^b|HdtzqUo{U^ujBQWSQqmyYlBg1ca3j7` z48kpmATitaINlt}PAbh}>vqQ0hN15Ak4LXLL>dW&2#FRq2KxdH#od6$hdYFJ1M<;$ z+#zUE`vPe+DXxMT4Xt~O#v?ITOQ?SG#P?%j))rf(wXgl%S#CLu_GkTi9;1YIdViT^ z#bcD!owKdq6X4scb=^4r{raA^}%@tQ8@xR2h{Q~R_j!i>umq0B86Jq;D zC4jN3zMr_QtG>S=Wo9b8P)qzja*=*cH0~B=Q+y#@M9ebEI>rN~aZ!&|yA_K#?NT8O zG^;J`bFT5qTTznVDcDRT)3$T&BF9vINo$oF#xw7B7V}eg$e<>lx<25~K0`m?&$xN; z_9wFbTW`z2rMW}Rc_VFXN6>pWe_gw$>5+aqyC)nIq+AL@*j`M3pu@0M{Lm?pppCVU z_DxHZ@{hC*RFl;yLi{P;w(QtmokNg&#?48TR350N2ETzJP-_f+vov5E#74aEvtohr z?-9TuXZw2}Y~D!IDYF)UkQnI&6Cj>@C9shB7yPs~Oxu{d5HTjSy)GmXze#{wZ3U8_ zCjyRM@YZFE+NU{6FY`m@7ny#rSwM^?5vA~>%a5erHFP}2#m#>HtMQD^fui}3vTW|z zOq8~L5w{DvS}r^OSdj3GJeNz@M}`nO5(b!XnqIDYXBUOv8kJeW ztvNT)V~iwrog0YOYz=1-5@!RV=Ai9tfHZMCHF9=!frGtY;DEqaOu;lgkX;&^I)4!% z*lt{pJ3i`#FkxS1R|flFUnk=3j;!AH{z==c8{vL8wFf6lV{6>yW$vZY#A zg_PieNt#R-#72jJmtBqzae%VVpc0cHmZ+N&-6Z{{rkaB%77KVC(Cad&%Q&hwN|+}- zFT)jaekLU<5W*TS29jDUr6Miu66!a_A7BnBI|Fjq*_s!aG#D%g)p_g#1u-C4^+eDD zxzrrYr78rE)EZbdQ}7bk<}uhq5MkORPc3$P>mkaQ*f|t8);U+hh>x)jvDjjVCZvhe zW{qM^YC8>I`Zc&2HhQy;X#P&dM$>;KZR3)zpFEg6;plW;!GlSk;OZx8N0JYDa>pg; zViC3P5jg6}RmW9n->?2-Gix-Ie8w|hCKtQbvIPFb4rMLh?1|xjPFpIWw{5DB&du=au_$qa)t?RX+d(; zUE7QV_}vjKXB*Py1$K+-*bc|3#BCW$Y4))f)N*iUm+ywhiSR`$AMDY}ClNd@W~e!6g+azvuu6=rXt>T|534ts6r{wf$M7X-Hg8PllSp-PT`Go6sT-T3r31De zVFrjw#$WH_fUGW~m3qIUKkzYi@i8)g;!lk~0D}3VKzsg9<2`E3P+gb(`2(?eLT=)S zwgp&oEu{cc4^FT|IuhkIP?xOhKdF^3&Sr_3_fg#J_wGyOTq@KKCve-79AhM=W@$@C z4QV0J3TMDIwhsdB8yY_AJrS|y;KXvCgUAWVa7IDQcgh)J*vsFfb+;b8FSW-gXq`U% z2(4@9_13$C)&nsP4Ya=ZrmZJ&>`5HEXo-$+KpspLDYCI{00+BWs~jmQQ(LuQr&;>_MUB5k&%YQ^KtGZ%MzsN*0eRkeXB=a0JyLMvomc*j zMtWa*%aMYX26mRmJMYZxjuh;F=as*skseNNHPWUpcG;B}J}zn%MgKGIU4}OyKtp3z zrHSB~NzPsD(@voL8mK56n~q2v|2H{q-Huz$oscif4xQ)I2~KI|tN~`VIc49dTW%ZP z#CH5_ih~Gpt(O@DOh-q=p;oTp3J9;HIyy!ftDhgeJ1wam-u$nl>VZ0}v>hRv7sV#L zn!qMtm!$0hK40{EDwx&*50kPpW4o~C7}V}LfEge%I=NdEbA|KcC9f3b&*jpU2D0ZQ9zE5N(xETHDG*H%ZW(jtatsXQ_4po?i9j~01iGF>(1jZzkWD2)jf1Y3RG1-gs2o`F38D{s5jYdH+z`?9 z@#cpJX-Q~3wuFBneO~5JI|mOIIc1Gb-j;@=)MYU__^Bzp$skkw zdp?wUWj7t-?bVY%lyZV(n3xJ~JJ8$gPlh)qEqPY#y!8Cck`%D|JMsfAJD#t3+y~EGp6jii}`PS5zHYIA8 zFDfP6aj{wM)N6;${?~0K1{{&)iU(Y5CGs-DP(I_M$~EL2bY5vMr_?*4=M)*1!Lw5bwefE2%h9=wx1Mwn*^FfVhhh?NX-nW zcq+ruSFuwW0Izjtr$N{{KvX~`J{yP&&cqR2IjD)_!`q=vyso$aj?0`lr90K!t_se% z!+DqBylY!H=R-IzXwDXZbKBs&5O!VEPxHWbu_<$HWe~Yv7z25VCmI8}sE(!!F+$tn zZdws-67zBN9UR32mgVkIf`|_^s8c-^p41 zPMZagE>ge_bwch1F(adM-u!5gEAYKJfQ*QkvUMI4Vb>zpui9DjYzlgYa)CDpyjI&C z!yvItqK`OIx=QYiV5>$3F}B&J&6Iz*BD{cNu+3!SEm2<<1v*mD_cX!WxIDOsItEF3 z(HkJI-WhBo4ThkvUqmQuI)Z<7TRMVQCuJs+nn-qV4G}|*cnuLl4z!l~iXjJ*6cfJb zEN?LwFo_KK%K2V0YhuW+Bp4%x!AI~|Px2T`Tb9t)VimpPx zMIJ^&S^`)O`8^|9vb;X9WU)>Tc^dIgBwbB4;$vg5IWYp8=UH}1ZARWzuKs}XX0O%mk1ZYb(e*%Vb^Lxv=pB$FX@ST`hgW$C)HRzS0ODmcG;aOh833S~Mms+E=wF0#obu>r3=pSBP~>F) z*Iv_IcM%>2^70rYD0tHRGCLsbJVh0Vhz(i>h&q6%4FK_STG$3-RTT)EhJetuhH6U? zUjiF$!xtJ6WBAA%6l3@Ti73B=gjh{n2x$gH0Y|%m_^}*$)DR^0NRoK|djB84R#`WJ zKLMr5S7S;ft+*E6tTzgLi%7LMCHeMS#oG;=DG%H z@kgQKe4O0wjgl?ifb9_W2$K9}nK41O*vy;rE4)$E?dkL&KBboDh>EF$JeLO22@QD8*9R{Z7MpfZrH@I*M)|ADpd5c+>EM_CLn7YpS z&OldYY7T<@xKY*Z4lvp10VdEly@_jwkjMGOYeA19*#n`kd`#mZcCoLwH;mn>FY8+LDw(NgbL8MD+nH-h1W0C@(Ng0+9;tXqM#^8or2c;IUE)ZsBV(g4)9V5 zfTZA^G%;5GX)phz2j@LF=fNW$oc7=(gm(R+w>ehDmr~F0`51mShN4u;j^4pSc^cPm z(Q<`XrT!fm%J*XW+cErh4Bv|3*JJob48Iz~R}m%1{XJJj9b7h5kBIn-sZtBf7R&X? zB4fkQM9J1f+a%HvCom#$L`7h{Q2a}gM1no1Rc5pg3b0t0nZR0Ku@k*Ela z=pY1b-8W2PC$wQ&+DYw_W@!gQ94Fa(of$=W!YRttw9E!1w6!%^IV25GEEc6hBvlqHT} zwQ4=81j#`8d97D3X@SsTG?BkxlC5A;Q0M`v}jwB#hn={uM$Y{7ZKBCIaytV#~{VV3div3WR}T0_M|E z=lKFtJ}ah|b#PzW7KdlC9pdmT2I4UD`U>L61c6vfNJ0$u&8`qA#;(bBCa#YiUF(J( z8U8l^Va3(i=>%p~5=l-c#?#s9#8^5rwGaN4(+Pw^`8b^zKgZcNvU7GqGj7gKa$V2I z3C(ypgnW^eGgmc{lUo^Za;u}9+}eAboWHAJe4epa7BiO1V()QsMwhclmld#+D|nBS zyZV#nt4`NZ|0VRtf4`ST`2iJ2B z4mroR4BWBz7`T!B>^%nVb{V)6V;KFDVBk(|W#CS~$G{m+`7_VJoiuDoe$xC~;2P{FviknfOjZ{_GH-Nzq zCBoBCrI_{0*xNbp(47#!-eNIMAF9S2%KX-F8ez57x&w(W(O(nH+Ql)X38Oy|caHwl zQQ3MWakx3|LtXZ9PW?O<^o5O(d;u2#(PkUXfb5z1zUgCv#7{Q@0B+jP#tPR|xY7K1 ztZisF?Kgk1hK5Hbo@xJEe>LR>ijX7i|F*|*q!SHG7{C((GQ%A}T?x%v(iaX=X5tqS zhzxpfl_vd{sK_`42F5Ywx#}nL&d=}sM*NEE^{;`>SZE?6(5aj?$t+1OfFP5(l=&lp zTu%|mP|ubK&=aI>!7O7Xh`5sM)x1uHscSqMl<>cE_R1De35{z(tHF~r+xT|67N!SD z65n&$LY(ZUtv@&JeR3K2h~ojp#O?^igmCs2j4ml8-Z-^@MxilMtw6^raer>!A1$2x znt3mc{b_I+=)wMq@we#^_g|Etmlib(Jer>MDBVs&f%N=*|!p z^u5A4`ZNTH4vrDmNS_*xsQFu&thQeMQ)k@$@`!Qw>d>Ow?7X+i1K+(x_r;Lw{>y94 z=HD3-38M}}=c@quM_Gu$2dKT`Iv)Ee+b1(rQ8%nk9IGg}sx~BUYR%qpDzDA7xR`s6t4;Y=F^cb~0;xSq{=P_zK?=f0<(qmNh zw8yCaYRX6^WFHRfux%^@eu3-yW%K-6y|nZeYQvJ8W}vKi_Te&F zl9{Iq(tJHz2Wn~m4O!{VAV)1{0dD`bPf=e|&I!;w#%Pvylsb|OhS%icLk$$&23qNm&L`}NiRye^K9DJ_>(y*Z;ksFl zNS1-dLtdu7pGzf0o*P!LE??jW2JHh8I5qpto}pxDwe;$&OZyfk5JeNEuV6H7*D+Wi$}|GVi|b z*VkAY@ruggbu3rN!)6nmEZuRP$047!I?AbD#@c{o(qd@pPyNGXONJh#v_xzgx=^)@ zDG)QSVn`R;{Y&EW~4V?f-2Yx-c|D=@_?fgS)5`qjcd0cXEM z=1xn+p`T+|Ei5?eyvq@3k1(wk_Nv4IFR^4L@VqN(46VV?0*X|0U1jsA2hVu$9H$Pg z9~4d&@|v=RoRqA=R|s_rZk2%RZ)=` z0!Q#Gfg(T}mWtH;|;xod%`;RHwvB^YiT^HJXIK%%E^O;4f}A;JnV)(#4P+SYc=0s zHSVxq7{A77Uk}wXT}qBQ=R_3dK^*xt)f>R!cgY{4mj98F+>m7D-YGxj=HT3N$0)hA zen)FJdcq*Sg?`9PmrASC5A_-izBCOcP+a zwgJ${x6U$Vs^;<9!H{=c+bHJA%x+^Z23m%law0OQa;&yFm6g}odFrETJ)?{{Hj_j} zJG~-oV|G|Akx~>5| zR!%N)ypr~f2$L(;fTeFIK020`X#0K%P_w&x3rzEiruMrB;^bSJOq;cqKbsbrX6bNp z6~lZz%sQMKA}K1~3Hdp;!uoKQk^ z`)f1~l@e9>teLyAQ@1Y{ljwK*Z<@ujFIR0Y497N4{jn#X8<)&Za^$DXp*0C{aOwlw zc4+bT2&P&3^8`P+IcNz`9*jOhHvj%)56)cRjb3-&$e2JVp>aeSgq#jspTKEJ|Mlnb zmS!CTve@$iANtb;(Cy0sYj$R#KX+M%1ZCcz{&>hg)}MNUXkAhJ+N{2|Ey-BG7DxN^ z;-wN3sLK*nloS0c_Rh0RXQ9E6Ei=S`mcuf);0$%oMI@3Cn)=}xuoZ@Av^bm&bWm)? zB=*ni>L`dh`C;TD9M}D2>Kdn!C{%1*_hz7)m{#fp-{tZO7v^%39><7#w<#V zVd5&kO4cgaRYQHEk1|Z#oKV@Z_&B;rs*KKH=1R?GySb zqa?Y{)tfy2ylXk98Oh!D&tQv8O-$`XK{Xk)bE zYkUV8RH`e}I7~K(l9#VKgNl!B{ z14Kk<7fX<;>4ctG^Kc*fGEygy&~C`O7&K$R5wg=+W&xl3AE}xBKTCupgNW>m)L$_$ zTDpYEQ?N{FwR%&n-qcoas@0o*%)Z9e3q4d4#(f4Mu{wOts{vr}QVoDq8vvwT@Z($< z2av}caR7SmU?fRiI4d*9;ffISeV8`G?g>?*3BwB(F_l%L1|Cgec9?G3N$20jlg_l| zsP$JbG;=OO|C2P8_e>3-)`xQ@LL<6m2mB5vyjNlsisusz2CV&WeAk+@12QqFiH?zC zs3G$mf{6zcmRV$^k487;4jiZf$ChnlPz~#3iiJr4j@-(nC9o7-&P>VqQ8& zrr}rJfU}OU=BQbX%LxR6R*1a@0t>6&#)0rN_SiqG$4UQtK8VD7NuavO`D@hzl=~}d z)NTx_-a)^JZTHps#X1))pe`+C`js?4lj`DR1TpX#^h^>^suG9=>Fr@#^;9j=Np@z* zFp&Ivm(%`h*R0DEaWfQjhy8XiM2I0MP|v8xdX_f-{JRI(_g?s60NV~EKxB2$ZZ+e= zxa}wE)xYcwG#OW%-8T(|D0_|5Yzls0V(jcu`U8WkAZLZRc{*1On3+0G&W1y?pgwovVuhNx#W!K@N|i0RA- zJ*|E`8PZ!Ig{FHX%NyHZMB08XYyOuRE7Wg-N(slZ)R7vYti=$cQZQ1K4$ipXu$fDF zd4Z7mg#qMK-7>PfV>Q>N71g(FYBB0IIX`=CwGNp+CcVY5(#=%O_jLfiL1?j{o@+9!R}{xpvEu!dgK>g-;*`2+#glcLrJ+% zPRC4ex6Pqbj8sbk%r#_r1gpsM2v+n|4Ee}l>IsgpYsmEoR*L%+tQJV}vb1OlcgEc{dbd;d$g3un4Lw-Q4))(;ok{Tc7UVxDgI=b(>_pE<*`(gtbGuYKgzw;ehHwGHbG)>t$DO z+^8bb_jtNhbXTm17L}pk3VSu;UuKAi1m{DGn)ED-J7IEqV%i#rqU= zi&X`S#Rn90iX(#U$>OMlAPIA90H1e&Gbok2LqPx=2)bYcYtxYIjd}qeEIz0f*1`eA zvUvB}FUPME>0ZCi;O@It@^g-ddu}iTcW&IcjvSbYDD_$pch@%fdoiVRUrL!bwt2KaiX zBu7F0x`S~_^36QcQImX=+U9X2mxt%z9jW`2mn*oI$~*}1bz@}*aGu$a!0CO0&b0%620!QHMiUQAU~L(=nBsau(W>83hvffH9WHcO`4+@#X+^dQQV!w z^NAK2!CQmUAwkgCXVeC#<}Z9YOnt%RamP2x+4g>~6`Aiytvfe(cnU%^2ck2Ptc2P2 zK796dMRjl(AYrK1#ZJe8`1TdZ%dKwK(Hv!OTrU@hwpGonY7kM=5`(l{FNHzMN0CVJ zKp8SaV6KZ~s7mTxsS9=>Va5@^8^Xr=P4 z!+Ph}Vo@k)L+A)P#Q~AMy@k=jMQAU-ERf18Y=^b;9I#eR85cfq zO|9I^>{4{M=*u4a3hLYgW|3$_2Tv$;)X~Jo6&?%^84*_p>C`g)po@oZ$p7SiAN3LM zd5@7u^QoPBC%vX~^WHg2g&-}EO6TUibCxP+;38A%8Rd41ZtXD_;jw2VMq;L{>RAUd z4iINo`k?hEmdTqTEhw#wX=;YFJCt_7(~Oo1f9?~faKD~0T!CF+ zKoOTTnq9+Y$aJSN6_&}HAuTAajA?3yv^$h`z|+)>bsn<;V=Jl|7F%I+W3)$X1;3)U zU2Fxv#8xm$Zxamhbd{7WOVr&I|`NM<41E^0sJfsgtjjhlJ2*s?Jj`uMSd{~Zb zh2cLwT}RmpMk3=@`5%u;h)y{XU$cnTO+rpF8>R^mu_fV0w{(*03$#dfwEB0c8#;X_ zOYMz-O_pfZqC_63eoQ_nIfSi^fgu^!_Bi5e^KwZ=&`&A8jpy{(*WQ@ffw8_ZTfa=`pH$+GA9I)p{l`^f}@V zYl;RCccAf+l@hWZNg$Cq&iprN!XZuFM|HRo68$l z7Tw_?InbOriKd;)dGPsLNH0N zVNZi5rdy(4l^aCj>+pOAQ`keDcL~;tLV@1NB#;Mf0x=o{ax+G-0vkXO?Gj)z^-Bf` z1oG}lprW z!9~g@{^5Hu{B{h#PUr-7zo^_Sdza1*-%|1((by$V_9Mkxo*N&!@Ch53p?U5%JvYfq zp6t1~wx2`z#3Vuztaf|rbuIg@zCZ&pW8;g}6u-R97xnY2%F$6t95Sh2;v3hpZ+J4r z*xc0tPsR>Kqkt$G!PX9}+^;Fw4n|9&uAcrQ4|D;p)A$ICJ zsr3IXnPB|bXImJDPj1z%Strn}6KK{6H0uPKbpp*gfo7dRvreE{C(x`DXx0g2Y-Nzd zs=>m~#t=fY-HgAY_vRUgDBNVme_LO+o$=4}MKk`qa%`RPmppm% zjALxD-Hapm+-}CNdL^4@{24NDJK>)boy+@Q=Dnr7{~a9WV_3~!86rRx=ApPc+J4_Y z@R}F#W6-+cS8N9E$(|4iS!7yy%BJLs;S;n*@{>U?+dSz%F58dG{6P83t5hKEqt%ad z{5V(rc$^=PXY2jfOe<{OKv4%`>A-ty2u9T$e$%scmIU!*(J>fx-IJZdF<3vvF&I=J zBL_(|h+$65^tgVUk@v8)z;PKr=p6imK4<;(WBNfqcz5pXQzRK(ga$SWyZ0ge2byHL zyfTgVG67PY9swIcm%!jC8(m7W3soiA{(_g(@evgPry{94bquDY1QZ5h=^-h(x4>u& zwK)HPvup0Nb%sNQuK$(Nck(H0W3qm<*T|&t%}nE)N#mP+%)UmAFDi5;T_TM-_9A>R zGEecSsg4R>KCZDJ5VY-yJn3~aQ#F%hs&PWLb2HgsN=Aw!i^fqO#Mi|7jtx4oCFW*a z)(K2qzbgc4UFf4IQ7Z!Q{0<69n2{nF{tds$ZG088aKm~Zvt_q}R zj`_t?Jg7p7100vtY6-|?=B{p(OdNXIK7L1HQ8_1!g-9J%NUD~I?UEhKFz7?W3xoq` z&6@p}eEUU3o%gS1;+G~9gFy481KEx%K~m_ed!yOD&t|Q}F`_@~qwTj`(64D30;y3U zU9J6n0f+45Jf-HJkmU>+?Z=ZJw#>ckj5hTKM`~=bujFRLg*aJLr{oqzS^MVxoO}PPGcoeHjv|Z!s)DOG@uU-nlSdWGP01^ptyJp$Q7aW52()(Wh2U3F zKf>@y0rV&ps*|Oe>tj!jM2eB~3%OA>a_VO;C-e~EKvr=h1Q&eXi!0t0s4ozaUpXp92|4of>`@5bW%Xa%tue_8ear$ z-MDl*PPuiE1J2|)a3b`jmOZ2O2OL7ZoUEKT0g&Oy)Fte1 zm}Q1Pqsc}%WDA%6JcH9qatj0?h6=Gvm4D<1OMm!_~Qw07MZcTI&=2SHz#6BAIpnI01y$ z4gyEAGk}|8X5t-zFTq4e*a-PCiCUxFr?cbAwUToxk;T%^nXBa;9C`WOEB&O&ss4s@ z$0mv0D{%<1m2ywmCkBo9Dnc8MxP{5)YNefqsi9LAs6DK*Zdr0{zkxge$px+CzCqtlhLJE0P3x?WV$L z!%$H}0+&S)V7)Nz48{F`3z%Le0K!jlR%c{)`JlS=tvvJs(vgEo?Ro0mO1<}mVi|^# z)Cd4^q2=KhiuX|iqr1yTXEogS0!-XNrS?44YS{k*%p8{P14vj6;f12021amKun|}d zX%Xv}ollLU$+% zVr!q}$>3Zs3F}2!Zm$3(q#(p=x=piK_H=2cQSOd!5*n$$UcO)IFFv$^J3&$|jemc@ z)hT@HlzWwb#H7Wc7Q=h1Yx0KB!%U<{Bje!s~wXm(I2U z!k!!9e!u=pLXFWwf7XOx^Ay?lZH6sGTYCTK6oM<;G`M+4zjpG=k^|# zrns0oW`=^l`pS%Ro_TNcv-Znswg1ee0=Klq4hSBG$eQMzQXcNKr}LO+obvV?7{tP^ zVBTpL6FdjRmr(7rRGJL=PUP1O+!w2 z)jpJXX}b+!bhiwc%WAW!;X=6?X0ZlCIH>a{f>LwyL?nwf8}5o14;h=}pm<;YYa?-nNr- z>cmJ9n)Ooppi;igOXtP*b&B0bEZrnywwv_RMN64j+1&nMzpBz(+LnwdY2GGBVq6EF zfsNZ*2aoEa9qgglG&SThxNSDh4V!JTPH_K_5SOX2+pL52w$*UbScL!+tU-XMb@mMk zRv~u;x*J4LgUk_himrk#vW)svwdMs@bZWC`PXA|1A+EJGtz2j}+*C_c%y|11ZQ{k4n} zxpGtWL9g0#bE;Nuk`H*Y=jNQO+_ZR5bZ%d)TSC9PlzPBZJ+n4EOb*m!@X-`BNt=ii zCbUDV`ry^aFR$neJC^DSURV6`G6F+D1YeBp{DjWU6aD22cC|>j$p?%@-1PZ`{W!r7vrdp)7;6RpvBHm)>c=WSR>htNL&4C1_17De$noHHgmWgx zWAcS_1j4zd;~ar-jzBm^AeTFtJw62cSkQVAo(V|HTJ?diZbL_J04%p0J z?x#|Z?{FK79nLb$aEjhyw#p8@=?=(@)mYe_3dp;R9H@~?4^Vkd#%{;j81*lTDVOLz zo<65k77-K6J#q{-1Wu6bx8!nL)>~xc{H4Bqf=6%^W^!!lL@4zD!#|dILF*LWO6vM zv8CJbL}RbD$X;}GY&t9B?05ocjHEPwMt2CPmoCw;2I$w>6M9ODjC-RPg)22k1h6+X zyle|ERYWWoaFZ{{-1_N?vVWhtqU=BBYSt&S!-?LU>3{bVS#<|J>3{W;nZV5jc_MVt z-_ZT6y`kIxJ~??j;|Ftivrz?>v#D2hn+GDq=?DK0;w8GJvlkG0%#Z&#ZGJS4YBdhX z!Onw4m55`T!2pC+4TiRK@h%SLH|yENm3_|&M62Z_Ya-s1mkla1D(2xtIk8meDg;|0 z*CJ5YiLM`zM&?*S_q3}N3Rc-%2v*ot2$ngC5yaQlA$5jtf7L!FPXHzej>Y?GP2N}kYn7Hbp4Re%g>efA2@qjTakxs)DYE^t*u-PXi zf@$+BZ4zK0bvEj9=HNI)_fd$EDk~7_gJkZZR3VU`Na=X}~|1qBvrWLil z`5CYnC5@DttKifA6&J*hcq|;v&UvhNG&`>mKbU+=%8uXszkcuc5KFzTIEqBOGo~3N zO*5FGhgYkpPku*zr;QZKtc$e$*AM__{cmuSB(sOJ&*V@PTjL7vfW>h=I*V6c2_BnQHik*h|5u5>E3C=^-2p;ErNpPY-b0E_qYv2(M zp8Q&eWHBmNM<7R)XBJ+}!vPEOL;b`nfqqV6L1HgZ9S0mWePi2FGP&W&c(7a<^aVMc zJ~#LcBgfjq471L~cu{426K>0$fnv<5Ze^U*T_20Bv&A%jz0Tvd(?Z)|76k$xL{{BB zZGDz*&xQn-z_?19Z)_-f4$U4{SBafbpX&5M?zFBRr$clVgI9o}KPO9uMv7JXh{o9> zFFczl7Y`fD_etf1hW<})C^MZ9U&jx!iOw^2e#lV`Rg(b$gT}7}4L-Y8HqGN51Gg~g z3yHBJW30AupV!gL#-=l`9d*lT6$Sc0L{0FgQ?`68nU4jW(^zQG9}QEU#d0R*@sD(b z6W{n8$dcQ}fMcbNk~(Y*niFP^F<{rb!EEz^8PymWHWD75j0GY;*km`BjUytRV1(9AHtA(&Rs=0^o>Eevo8XiouSFoqABN}$bA zq@Qx_rR*8~ z{8tCaXYTp_w;=&BvT)kz$QdUY=ber`?o{PO0p5y$7#(@UiOU!PF^a(uLvAY))Di&! zOMx;F%^iQyF>9F^T>%CSpa6xz^&m$rzKAsN*(eSKB@&R*oKHI8C~-Y0B7#H|w-q8I zu-^QZUq+Fcn)zwuJ0V)2YD4_F=9kl~c4eaSA!s0z#7sqjW+}B1Y?2rNqNpFxsM(0= z6zkJz&bs};YDr&C(7lpnulOUv5W>^K2*NY^);e2CX~)m=@$wS^p-_ioMon`e&c%pMAFe0S?^V#Qw2wvReu#eFtqcKc1%6A%Ds=)i7a%#N83Y zFMROW^56}x6=#h2ic1jfm&9~#_Za8q7!FhCG*Oy7K4hX}!3^*_l|oD)g^|9r6d z-%qDUwMo34+Ad+ZRqV?&o78(aIaT79fjXX1MaM)}_4>JfT=r>QEf z#RG~z&N-w|-)i#nvZ`1I%>WH?3rQLFmIpVABZ{?3G=Uq%QN@=zx7cTNR2#*bk{ab9 zeg2^0J;ZSKxl`V=Q9P)mT6wQNKcu)UY;#TicVL(OzLtP7WpLm^zIMqGV=~Oa;f%59 z2ST=g!u`8Z8t=@@_5+_jYuQ^c_eH0P_58Hps7nz@>1B+@eGNz&su#T%4{0%jytP`!Hn4KUV+_hJT%Vqax)r0BQwtz%I- zq->Ma#=pmwII4Wzljw@NV@Yp%5>I?G^*b!-4U*K(bNWQ%R~6FhX9yVR)Bg1`zjmwl z_l5WA7$h60Mg6`%tmyX>{JulK9|-T)@AF;^nGVGOP~iXy0LU$)7L}?yOn^<7xZHTk ztitc|)UKsI;uW2-ikOep@Bw8$ZSC{>fLr@{6{kG&34-;Ddc#`#9><_#1Uq!lvXR2{ zb3ml8M=@ijF7f(H`u)MMrr*o_-mBjag$MP!=f%2Kj9%aE{X1y=3s#uaL!R2R)c>Eo z_kohDy6-&SdsWq4>MBXqQh^$E3tl}M++Y!vph1n0O+S!{>?m2~4B62+0iwxpPIM$D z22AE?&*GtD%dryoc(5cAIYT^3LS~f=C!@8QIm`)JE4ySDXEb|Af_JqWB`fbCUN#{+ ziigZ-1!R2fav!y7Gi z!V79!LA0GyKEf?8sAUC_dV{BWK}}Lkb|<___;{Vab>QqEl?$m=jg{opFmL7y|1U#| z*e3#5#Bbwi&Hfdw94h%aGmXQKj+8w}1oILf5&llc@F~k577bv*B0^qggM^9m^1G96 zX#C4jv?o`IW41V*$zt#~zpuX-gl(FbA-0L;1ZxtEa-_BQQ@|2AOr@etXC>RQ+v4<= zIh@UyK4{YpT2B?+ARJR`q{R`&cp5^wA%isz44H3#nMklolSu?_C}r+IPiCQDf;m(o z)MSSgXVHtGwUtRGZ`w#C1k+F|iPDk~Ov9ZBCg3)_n_y+blb8!nvIgcU6)#Z`4*J=? zQiM*2cVT;}g=&W^U9>kOcG0KsBuinQsvQ(JFt1KWiKg!n>7i^;0M}Nad2do^({VFd zolx-k&Qv0)r@F3V+VY~k=tvlF>sZ18f=^>)$?jjT$8R{%+SF!;e$H4p~GWl z<9m&lYD~#B5;_FSx60QD`6%%kFEQkUgR8}wf!X@kUKA+bVmC=GW_~A?er)ivJymo0 zl-gzrAy}W~)yzGq5;|Uj_gPC|j1JTfE7$vhc!4^G#)+A8VRC33+3XlZ%Q>sa+Dsdm z`B|ER_(|Rd`wio5uL_)DB-89LG8jTonqNQ`#C4EfysSZi&9Y4R)5UxE|gFpS`BlyT`o1BK|!So%SF4lTQ48ql%>K$+09TksxT^2 zV;SV-Wls+)88fkIr}oU4Np+O0C?n_p;9|3>hz^?B(vhi$DydC55QcqLw8klZ0VZB1t)NO%a1(SDo^ zn{7X?f|CUqJYv|fd>4+z-=N_RLq$1kMNlF#2)l6T@@+zv`A$XVJK9H*DwAaem`Qf% zhz)PpE808sj@3sqd_P;dHo|-9SoI7|Z$7%b9PvS_#cD{Kd*PnCip+TAX|3OY(NNK7 zQBlI8pAW~RFJ{4Q_CF3BPF6_67~^yAj47k4}gv80ehsiG+L zWGpSzxS}Vl2d0U5Hn#KWUO4YpskAkGrV3R!X?O=!;g-f?7?DWFC`seCaq_9eGqF`# zIfC%QY#*v*c?|Te%IB?itMY{ym0Hms-Xn#nN>5Xjq`@;)rKMSwq_ITOx=U%Q@~o<4 z1$KmIs$qJsGpIFcw+Gz(0s##_Z~XdYLAI0W+m~ZxM#7gcuvBTwH|{e-a?m}@)#V*bu3=Yuw9ze7f;9N3XV94kH;+bkFdcD6rKi4?%2=)^s|MOqxnY5rhbbR#B*qop8Xwb?K-OL;J?lF5PO*%EW}U1muB#@`k}{ldMk1 z?2nCx6;V~o73r8#0#|i0qCwS#m@Ba#=@0p(W7-~F<{`n7IaHhoh9t?-acm0ZK-HTd zNkuAlWK5kum5v7GvVe{kQ96%aRB+N%!H`TG=6VJ7FU9>;#DCI7MA~ql26;83sW-Mf z?Dxi(Xt^{u(~O{93~kPuWd!9I?C=ZU=do zyuku(WU_kI>YI&mJ!we@o+0cDagodQ)OB}$puZB4`Lsxx#$nu3?9qMF?*BMn-JeC% zpq7f2wv`_a&};8c(Z}>N+kZZwXPoc*-k=`Pvg!d$2jg|^fe7hw{ZNdlY>7UmXNoDF z59pa<^bAAcp{J}(^4~s`$jHT9q=qs>n$9Qz(^D}t%r{Ra0%!glJFxH1CUhjQon!#- z`tzT^@MpCx$qC}VC4P|c6x?4+2*Y;r%K()p9T3y-G0poyZ+$dn8_L!ErIXrFwr=rS z4x*)f)~+%$kmN-8eqxUZ>-jEI;VFAI@D9B@-DuA&--c0zD&^Zg#iwCtpc2(|8l^ArOtTS zyDh;dfXD223hDX$G|LH$ZZv5o91lQxE`?F1& zQpAJ1!8>0ygP^oJlCf6WHA*+%p6KI6ZnJ5W>grr%K7|mp=pPFO|KHd_ww1KJzJFCE z#;$;M2|e1m3{oOyx6J}hLx0WwqcirSg!TAFfY+wV3Dvzxo%N0+cFd0 zmFpIUXdst9r1iGOYo=ZK8_8;|eq7qPJ!!{9JfN;b(~Eui;#sJrmgpRTx6WsO-F6 zUEtNtN}%xYN-jJEoI|7gvRS>NhVV*$JVujwbsm1;9@&H&*)1O5l)wJ(VSQ(lw2PDZ zGLTSnD`PFar2)B>A*M|y8;Omy3>H33V7AnoG{ZM}_sRvztQ#W`!W{3U1Az++9@krd!qc#%?6>)EDY{kv_IR-F2dO_Ac&a5e_QBBDFe5I z8U1E-???5(eIt5E?O}V?)Pr_G6wcw0M%nA>tYzl`S8RG9I}h7gZu4N-3Fi(UL62`` z<1@;NWd&d*%F~oeoIQ+CO;+ApIlQ+b>^3hKcT3TmU z7tNN%G5A6zRuX~+LTi2oaP!v#cRI%j%FQ5yTx4v{&)6?prFs8Lp{9T%>-RGu6QiFB?#osxp_W<;fEt!@dSV9wna8#lH>I1+5adD(lOc*N zS=Bn(JN%#gBvxm5F(wA&|^%cI@D zfuxbgojZKq=w_8-SD`EN=w`Ruv+=~vS}roWmA_m3vF*V%9<29Z(gPhJ=2H%g2z@3r zC(Wf@vnylXL1k`eWjow#)uC>~-|yqPtj6blYx_U^i+^$a|Nie!e)vH|r4>t_YvpIVtcj_TL0GsG zMhWy9&iOTIVLE)B-NvY+>MK&>#Wbq;dpiHV#q4{X&%WtmnwH0K35)UVN2XyH)OKY> z{)@1fa(*!5A}of}5}IYMUreu0i!TIwOW%``m|kB@%vNDXAiO~!oc5``WB5(Ga1~%I zrnAUUX3BP>vIz$$u$=8$z2p$6+%ee8z+$-V8U1T0Paj$O9uy|n0EgLE@#}o{CF%X1 zeOKJS(&ph^Y)aYe+ff3oQ41PrM@oF2?$2)T&%c}VFq5Yw-XbDdpAyI~nPz`}kOPWW zYyDMQrMJ*u6Qt|d{iNq-*P$KLN@Z~B#8|RxkCOS=a+*V?O z)9s)u=wJyb89@7eXdIlEnWGh0QCCX&uHJN0JIs~dg0mTj>sAkN$)GFQ;5qUidkwBD zwG%bzcTb|yuRD{IQ&{rQ3T<)8MfqZ9JehamGxu?3qsPHtjV^wM*aaD}Pk(e}Je;lYj4;=x#Z*A?b+KUbJe?Xx`$Gv_ z-0fxdvPfYR-v6cF=xSf}s{KnYebp!MORMOSazz(urt`#|fM$j6DO|~p2%8GNW(HIw zPQcl?;#7%t4nmfb>_X{sPfHZr0$yW+6!*_k&t|)G9F8{jg>0S9Z)Diy?I2lO8Cn%= zCk|d5%}|KVGZs@?OW977iZYN(CA2vm!v@*k0}rdJS? z+{z&@VqFwUhRcT4>lS;59i>o0f56@unqw_qh+eRbxDATF>05B#2Ki~*q`D3!pt%gh zkyW`efykSZU)7uo@@vKPb%&aDE|Mni4$~c@s@Rkt8wsj3ERZutuYN$nJc_K4id+$U;4dl`umd2ep z_qsAX3_5WRaYslgv+2!}_$w}jpfsISpcV-vJWyzR|;lTSWK95`Bv#!Z6Jx&i-9DLi#-kC zt-+Wg9%f82coO(l4P-05RRhVnX854=y#h=+YhAoUDxqx#ONmzeZK)vJfl4W_nrI3W zyX4SBEqafLC!oz3DDWp`(6t9H8Lm>rtSq{^Y@I0$4m@Nm&0^jot zIZOpYjxJIah+Rnq2dOm6<~4JU-*bN4{g$D}-RER4oZ0fw#+{4 z3s)+&OMgN|HlJBV#C&JiRN-EP2wX2O9|O``q{t}{A)S+cE&##% zP$Bz1((-|D_JPf~LZ2;)ZArIzH)cUl9#`rBtgK`o z!|pI4mfyT! zFC^VGqq%6a#)L|N1Pzwn#Q=iD2C0&Q=Re74NZmZ#3#sy8q)He_m6(w#p^++~kt$&z zRbo~%C-LjD(g9^=-(I>sx z(1+sQj5}SF@YXwDclU702)FBmi<2DTQ-K|~3}DCJ0y|)_jvae?j2!HE@O@+C7r~Cr zjvd`}^Dyk#yc9dSf@~1%tz(I>V^)cd9f`0b5q8Xh8Ho@N?C6pNKfie&mu5Kph~6GX z?Y5Md4|{sEuwyXW&An{IEE|THvUt2j*l|lb7g(Ws_cL53K{(VMx)# zj${~ilno>qd~MneV8`Z*V+Xw#$H6vJY$S2)u>JQQc7PkkH(<%EqPg9nR+321CT0}x zBI&IJtG--1Q`_xpL=$+xAuyX#*mOWps%Qe zdrqGuDrOEwJg^TnI=J~X7D)Y8Mq0B>c8eyGN*?L5A%Y*uHWMKck;y%bk|>8ZmD22f zvoJw;z}RV0XKV`6hh6jr7Yul-3}HUMRil4vdb5u{)!2N#r1*j{!2SC}ue#l4>Xu8j zjBN<#HJ0GKWIB67P?oU?UYb84L{BT`2lZBv2)0O9t&cvz!>evcUPzor5q*)Ujsju1 zTM?_)qWMv zd?!>Qp$sdN3d^w2b8Y;e1|79w==;*_iN^b&DU1z|aK1uTsaV9B&>>+1JnYLFJY2r0 zLDfdWnR((4L>j-nowyiKv8uyHBrNHKx7gE*NvK_tfRwNu_9y)391_bM#pJ1&MTC)- zuZ+s8=1uvTk$vo#ZpvRGgqh{f6EfxHCkXFIgD--yr&zFbxC{g;?bNaO(P8IoW&iRm zQL89Z3mIK%B|T#8s17;V62u3cp(oOGRGVQ&5vj0*76|&~d{g=o4FOMmz zjj7(3C;Kl?BsK!tMTIfgMPR5bbSUzcNx-EJ-HBjRTm&}CMPQtlZOYF1LYg>)i%6#%*97D@%GP z%94jl0$NE!#y}!Xb97Q$768BG9d5bw^E`mca_V^rY6Z9SD1$b=`9dE%MsO(?nyM?0VvTKUeR*KW+W6?8LJqHS{7j0hqgiI! zf$Umczy(^Fu8VuwIG2`PiL#htQ6I?$Wn4|wnBfQT={aA>X;j>lav*rLkj zTse(bWmJvoQZ=qZ9Y;M5`L*7P)wD_$jdO`COQ?via6cx%dquB%MI_5aoMbr$i#l%e! z%$WL7{Fr?dMpOCXw_$~K$ITg%H{F1F*%lPj7ClC^i_lxFR4r!BVZO8G>?WhHS#}X~ z_0nFCk#7&NIm>szW28My%*`hbNfYfx6$^^`Qs!8QlJ!YNT?Rf8qNE;Ily)v4+dUuR z7r5*Cq{p#t-oj}Y%aa@;ek#O|6F(E;$B4fi;wOlo3-Oc0UsIeF%^M1D*&3aXd!m!s zmNHkP4c{gKbz7Ld&FNs!C%G(D=#vofl;^VaNwR4>J}MQJ-S_n~Iy=@{*H}+U_?6DE zfkZ0BoYV{lbu`${K=6u8#i`k8?!K_>jo%zeuK1+gPcG9nyrIeFcV`C^VX-wky`!x$ zo^~;}63qGmp^a#qcn#P2x6TYePnr=`;?ns7yz%^a@4(cB@S1)p$i^ zQugZ=URvf={IpjlZ{9qmMP;~iq-V=3V{xmc!?4QO3ZK15WgH!nQh-iuBu6{FlEZO_ z@BU}M@f#mTPS%n71W95YK9q_?eCth<*kI!*trm%R+DnBTbu_!oU&Q9d;|R0!_z}dk zM4I;r0y(w|KIa%yvUfl$)eRikOT$ByT%zGBhUu1J(3b2vJ#y3PfJ-#(m$pr&7)25x zCJ7}tOT$b-UZUK^nArtT*h(f{t^Cak%qkwR_hu+CPq*`H!fvT-Ii-%CHuRt+EcZ@T zNXN1Z2mJ{c$Vo`sqTt+zbyXRQd{>bJMHqLNEqfUu8gQAJa`MkUN_-Ej(c*g@;+!Jj z$U(c8fM*^hv>GSnPASp(sniH6nO8ZSi8JF8=@+7ijaNui;MeK+7m60t?G7bs(2+S& zoxbxUE~j)5kGzEFO7D8YM#&C3=(-{fyJ*J?MTrfN#!2U@A}rYXc{KuFvU}$UbL&au zmIMew>E4$68ov}L759i(ZtQ^&9|Iwb}rntj5V@STO;@fi_{Qv^m}o z2QoaEfDH-5DyH-2sKSXFgEyhUTZjWYWJ7WWlA-8nv^V{G_b5}OZVpf*7@u(&^L#o7 z*W+o{xn8%^*3&eLGJy*z0zkU$F+0@*Au|(a7M2+MXf7Y6ayl_n|dXy^GJOyW^jJC?qaZk9VyzeAP`*r}h ztq<1P2fTR98zkn8^Kn&znTj0n=qvGMopz-XQm+iDV#%wO+ES{_7nBzc#u7khXsMcX znFCwZ4_kIx)KZIdnpoNQSSsx|3kscAR_ZQ|LfQ!o51xD1Ps0u$mN!jiR_)Lmy@`c` z&9LkI)OnzqD%lWfS_PQni@K;)-%ODUw1u^bMn$Sl2qIjuy990}O6Ef*U8(x`A)Cln zA>`_Yk8iu}m{q&Y+cf?1~&d6(g7+9{>& zlp;UkB+fXc=#FZh>QIWH<0N7iPR=={O!ySs_9=MADMbP|3`Q;O{Fcqhq# zKpSaB8_P+A6SP7`@KwYj1QCgZwKb_C7Nv?rWIJMrOI}~GibUE<72+DPD6dFl5;UY_ zyQv)aRg}RCkqGX7^?{kP2VrP{MAm`5R057OwOiF9k+xDzT_6WHDoZ3{XXJZyqEwN{ zlu-aRSQ(*ek%(5}kQKecn8^weiP*vP)oMTbIZHJXsft7bK?u1;5TG*zBjiR%5w8)= zB!=9a;{u(EZ>Bx7h=$A}k0<|(?9hU~5`i!(FlWgdpm8f)zGuQnn@lr4WiVmz;3V;L z2`87EV%}Z9uH8I~V4bNpVv48wXVtJmI5mNGo6D}dKnG}S2k1bs)1}-!F6HiaDfd1X zZv*b?;4@7O2cN588pU_%UQHd)fedqsV5SvZVq;*F>l4n-xt<6SM~AoNrw1k>u?&e- z5I}vRJcb<-kd#NJ2Q{X1&2rSU5jnpGZ^&ak@y|#W-eNZar%90XZ%cMGu8p8(Jw-FDe11>*Hg=8fL*)g%5ge5uRyZ_DU z(;o^M=f_t?Y=kZUU+Y+S6g;Bt|0R`btv(VSLNHpdN7#dqbs_`2J6G1(EZ_-{=_06b z9WK68<{1Y3?##hE2)ghNf?4KO0^M&x5Wx%x!WGriosOQWXaxz{9kgEJIjMqrCsQ!d zxmE++?My3}?Odl|u5-Nt?YI+!`M>I1ZNj-)%eh+HxmuX&Q=jT34OE3E+%BSEqX$zS z=%i*U)nO(ruHW}90l%8+>M?A)NWCTyxtu#pDs@V!8$xPoC7_DSv|PE?)PwQ?r4mRr z&*j&I)V7sCs(BdS5K`qf!yHv*S}R@4T1jXqsnVQU+3mJ+pQThC+n+4A(-F2^njlD3`;{BFRMbpj(>h)T`!Q5Ce{2|3l^@l~a)J)lVZ%7?9c9(Q z&|)y{eIYZ5a##jmOtvNJ=+HO~;-Z`ojAJ`@NRbwigNm#svJk5W;!`9borbS>jn|{* zD2QEd6f5dd;Sf3~*85^&Jd2tbl+vdMofK+L3J(>eAR}`_Ub}Q%n8}kcvs@~0qXb%I zS1JmDP23C<<*bX8bDfUkxQVloqjS~KIn2kpK?eK}Q}&Ec*{M(2x*GVcas0}3oh^rs za)00Y5W7aGBUHaKBygQix?YLGblux)IZ__DMXvYx73I%`=M$yRuh8d0^OR}RKG(qG zJ+Ak;A0jxK*-K&1n$qWOeJ&hNnK3Pgun{sq2hNO$27laK)sai6joUckd`mb#Uf{e? z8~-4}`Ic~gyukS``hiJa;-%8iR0F&WwK>R`jQ%^6L-txqS?P&vp#B7W)(frlqwYh4D z0ED4V$E*vY&bSHO66l*6HS}`R91t1I&$#2B8cIAIoy8My_OeQl2G zAqL^dKz&bBf@+6@8=8Zz9q1cUu5z-6G|G24LQodAhV&gPE`4V!(r|sdL~5JDY<(J} z?%6`>HW6D#%#6xyF*@hmVWwl;A!X*|olcq=v1{(q3XFpZYi0Y~wqux#ov3OZFYt@B zmK!g4VRs_>pmO!P$Ym|$!i(UKk>fV$s*AM0&v46?`IJUw#(~SVO%?QJEV*1AS}C7o z7GmTs$lSOz_Zt~%oAPHI6+R5Kg?B}0WObSz2AxJ&VuTwf0!C=mszKRXrokn`k}2A% zX5yMw%ZfJq=*!YoI3=Cw)pD*WiG*N+5ijE}#0Sv3E@;%9Ge9`!M#tsxVY7QE;|DMYp7F6x9H5v%#wi*oi=Tu~tP zH=wJ76$H?;f~t>7Q2$K$sI+`k+CD0B8UrC4rTjMg=fk;s^E%B-|<^5sHsnEJ zt&S^Hhe>i*G2PjV2dxhCG<~J&SW~>%Gk~aAT~!_WQlK)C$cZA{NdjCM-hq^0yBM(m zWR?WxW%ma;?O!eY#0bwU{xAOGQ~&&r(NqhGEMesqR?Z&%ZQk9ljif;#&GaJq(KnFO zG?s7vJ0hA}Dz*V7;eZ%Lihp6wjM3Y)$4EmgR~mb18$HJUnkID8*j3x^v2=@sd8M(J zw$o$muW6;P3Jn8u34o45=B8L3g*!BIIkW$+@25mkdV!v4pufJ1w4Er@pET{&*Q%BH zi4k|&x{&O54Oaf*w-}TFb_QUV1CasPLCh@?_b8N-(-QQ8KQUZZ#-~65(9<_$SJ0-s$&-6Dd5IYC9`Jd$1OMXOe^^*96gyS zPgZ{_9Pm0F_HEGh3|MQ{k8( zpW`5Jh90>X!?%)q>tarO^t0=THsy%y*3S-}aD2ltdj0H_H#+I2K#T1iAw9lCCOkms z(-Q?LV7^OH?$AnhF{FN^4#%a5@p0kVLLx=z7hZiN@V8m0Wv^k6B)O?b>tlnLa5u-HkY zW6^H2Y)Pr&EXO$Zud2pT6h|n73Mb^eImHeSO_qOF9g&Q4)Xd&(^C%q)$-24Q!RczC zrm)IVXYEcTE!gdGPLJT+9FL|HW7-Bo(&BNNV{}@-g|{=dOFQGOZzfLx*bY@p@gLkWO>U5qTiN5d)uKYNVsY~T3EIm-G{iV>#Qk4EPG@*&w*pe z$scuoQIe`Uo;C3_VHiQ_-L&3mn!b28W8>4)ZLfBPE?^}896O+P=K*VKL4x~>Eq#g^ zkk{MXxfrju>5>LgQokZ0mZ>wBwslYg*ay?um={mOrqf1e%={Z8EMyH&r-d^}pUjh# zA_HfFjdnnhUO?8i=f$-&h6fH#EPd%oLnmm%`88dhBqbyI#e$98{cEr6{aZM*KoSBi zY+JIA7l!^0`<9dz5|<3O{=p-8_4_G2$=TO9%aOqs%+DOd$0xWQW_Xn(BVYzM|CO7< z{I^lpGkTW%PhU0^;HjMY<=-Ec`s)L!zyKb`_6OhM43KF-VjXk2iQy%(sySJi$;6S^ zO(wW8ZN;;|hy0EVC196OFL;kmPUbSE`ISD~78pY!w?*J}ns89LV=DN-N zzx&e9{((dq&)8-V8aGfz>t;GL%nE~PqB&_B z+EfW(y}xEE!kfk;v^<$l?Mxq8w`cscXl(ogqE&0EmHiN8`hz4{P2v7gK!V;{ueqZY zK-6_R<*-%{oCn+~SQS-afDW2DN|Z}u+l)SJ?2xRrYJkytzGG@K$PxyvY5V(p z5rZd;@G+>v-Ugb`d-=7AIv`clxLwFct@`?O%*CD6z!iCbZR7>|- zRBI`jfA#SujU!d3 z2*criu4n~QRQ@s$)P+a~%oBP3qWLIdBbE_k6$-)2JcS`RptBG#62mtYV{D5;jBUQ` zpV^5UDl(+kEei<(j2IsU$Ryu6+m}a^6;D*O`Nf9t2m(WSD4;mQ2q69l3o51zpZ&w+ z9wycH_y;3R@=Y?(_)~}nLo#4$#2$;X8iuin)2E8;&yQPd3lp&Rw7)P%+nnk z8PJLAOdtr@Go$C^MqE*K!cC0jF+8S%wHWTQ?%H9CI4x2q+gMMejv4A zff3N-p%AiZZqJDH79J-Q>`sK|m*CvW&j}w3&xG(?2ww}~c|v`6Av_r7QRNP(Z@&_67h>S!q`_*Y`k7p z`bq|Zp?HAH!C%p{2q`oA0Q@F5w`_?iT7N8u%^|~ckb{?_;vZ4Rj{6^neEBo-HJs7* zzyQo+E13)VRBWLnk&IrI>;I};|7&j!KH-czKvWC{RODYMqKP4y(v0Y&S!%Yb$O;??CJ} z*3jJ9E3-#K!5!LU=;ub(p)ty>E2ZGBI4M$Y`Jn}2yQ;G;$x#DW!4ETiVWp7M)zApt zz>$HQ$SN*4%G<1Qrqn*^s>j90mQ4jCe&jEFj?W^iK|DL62jCsNfNMFZuV0&HPnmAj zgV?D_4F2Sax`r45n)h@$qkQM_$g63!U)X$&KNBpVaX(g8krLNMXgHdNgN zEt7-=dn}C~%NhvU29~CV44RVqTP>{Jvl7;f`C_>wqfiRLBSWW3w`yseMPf;G8A-sH zQaqU@VoFai{~1#PQ8X8ELf>XQOaLnvV#fTVOyyY#*hF z1l6k^V-jIfvnybHnq^Xs(ni4^^tBGvftNQ$ZDSL|*u#Lx?WEKK72ykQo?zVu=(udKFhRBfC}m}UrIH0gW`E@IrZad-p|`Un`Q zTSg`#WenOhSFy9FZcYhb83>yg;KIZ)0JdILcx5Es)}TuxTFgT=hMWnAk3h2;a9uXs zYWlz|#9Fy(BTXH+7|abC+=A|2U7$W#RP_XXv1hgY-@MGJLv*e>>)aHdQXT})T05k?zQhucG zU}(hIkm6ZCl7~s@Q3ssCY)KB}ah#RXs{bd?b zZ=K;=UjqSoMH-==u&r@7>Mq9p?HAOvNH)}sU+8NerKP)2)+f?ikeYs1=0X10slnR@ zj6$0d>S6%IN$r>|C{!An`~(vUf4ns**%U8=l?lJfS+`y+*L3`DEv`S2Kg;L*+2>5f z5$)ic8T}Z~(0o*yRU{Sira!BYATFX=C1%nNvr4R4CAL{5)~phL!rq2ig=M#r9?4b| z{2$ZTdmwr$-G=6#0OBy1pcV#@#b8m9W)ck83`AY+Gp0ya0BabE74#j(QSQ45#24v%VU7^`Zim6c#NiOpobSwz!LeNw8z$RK zGwa9zDFJ2%?yE)#BoqjUV0MC@UWOGRiqgjGF{|zTInbCt@`C#0E1)(Ehbxmn35g=e zMgCZMCt!=!mQ=^xt-*a1>7#~^a;p;oO7PK;SyNFMX_sY33c(1pLoli>!DuE|I3m~- zH|BcE8svW=jEM~SYyUei0)lW!7BmHeFy&OmSO0e}`Oswz*Ya2~OfdNi-!M?C;9+H~ zqMr=CbQi1%8g~F?(?bYt>&_ny5&*;Rt25S7h$nVsok{-naI4wTOS;vpf(C8eY8I6F z*F;a$xT==|`>}NhZ|V}i>(++TBaIK!WzZ&(jLJ*MWRL4nrZqK82YPX)ulJdKc)$?o zK%?=fJ)$Dh$8-B_r090*OMoWd7((F1McI;b_7W^4cSK(VDen3?cKFx~evBw53m+mt z1iIHV-sevX%10_n2n#uO(>Rl0pIrZ>D%^;A-Xb)M_G@u~)v*q$R20bGp!R@VuaVmJ z)HVVl(kiJ?o-6|_Zyi>_KHUA2$WEkIJ+&&aCaseS)?oeNsVyWV#6wCz^pi!wm}-l7 z$wi!vc$3|jdK8qxu6GsA45)l zJn*Kyl#?eP&!8}Hq9EmaT{%smcJm z#&o2$r~D$!whT~fkF8&CqF9p@MWKbw#}rD?44P&2ZHom8w>}?$hAEmgt&Itzh}8M9 zNm5zp>_9wWG;C>@ROW3KFj0XobToz?VoLnD2^7{0F%O-)Gc8FqL-g&+wyO1GY7gny z3-WSLc!K6Y)#4pmE0D8zhhz;l7w_zX<@%nWClKG!)oaXpfrCk?P9y}dI#3`JU+{+B zkD7Gb?>N+A5U2SlxRa0HMn^>t$gJvH!Fl>#DP@%-^a;?qDYTK7uYK_36`m+!e7GQ7!-u^xFHIX(6lGBVyQ!B z{^03AT7Lvt=gXxY#ufSMePXC|83A3LwCxBRvI-es?!FqdtF*&C5x@?pWux~n!Xx)+ zQv(sSo1xNSl^({=2aF_^)5U=CWNgF-j3?IE#enf-OvML`rwP6D0SlcFd!c9iGx-rg zU1Ep@@JQebuPS;l%F<`V)Q!FrvoS37deyLArz`e%;sgoHePg-~%W=0tGK*6LvE^%B zc6kQZx@ZYRCLq3Bq$NNSY9O2TPM8w}RboPTbpbU3`CYR?ENC`}`SLQLVX@}b*O@6k ztC#NC3AjrzVId~ZPON2+P9(#CMD$u(SSGY$z@>wsotg}3oC4+~!Pl^|w~5MfGJl+% zL_RaE4cv*Qu_p8nEfCu;r81~`DXZdA>WrtRz0^dRIGdyZQ9^SAa*hEYjfJ4_F~G%A z!)2+370KumW8oN)?-jyBxmgD*6>(EcQ`BiBT+(JdMp~N8OHzW@yDY){!lO7eh(@J= zO9l+BABXAYobHuk%MSSp4HulE7lbhS$}W$VxlC#-2Md0x`q9yXkyMd-b-YMDU!veCD^ShM^RWle!DdcbIA6u`-9o9`(W;gC922>Xef=Ui zfD}SP3x|oo2XYk(iuvLY&z+)

l@);J<0skhjwYA{wrO#WPljV8RD{Dx;KISmRj? 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 { + var _scriptDir = typeof document !== 'undefined' && document.currentScript ? document.currentScript.src : undefined; + + return ( +function(Bullet = {}) { + +var Module=typeof Bullet!="undefined"?Bullet:{};var readyPromiseResolve,readyPromiseReject;Module["ready"]=new Promise((resolve,reject)=>{readyPromiseResolve=resolve;readyPromiseReject=reject});var moduleOverrides=Object.assign({},Module);var arguments_=[];var thisProgram="./this.program";var quit_=(status,toThrow)=>{throw toThrow};var ENVIRONMENT_IS_WEB=true;var ENVIRONMENT_IS_WORKER=false;var scriptDirectory="";function locateFile(path){if(Module["locateFile"]){return Module["locateFile"](path,scriptDirectory)}return scriptDirectory+path}var read_,readAsync,readBinary,setWindowTitle;if(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER){if(ENVIRONMENT_IS_WORKER){scriptDirectory=self.location.href}else if(typeof document!="undefined"&&document.currentScript){scriptDirectory=document.currentScript.src}if(_scriptDir){scriptDirectory=_scriptDir}if(scriptDirectory.indexOf("blob:")!==0){scriptDirectory=scriptDirectory.substr(0,scriptDirectory.replace(/[?#].*/,"").lastIndexOf("/")+1)}else{scriptDirectory=""}{read_=url=>{try{var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.send(null);return xhr.responseText}catch(err){var data=tryParseAsDataURI(url);if(data){return intArrayToString(data)}throw err}};if(ENVIRONMENT_IS_WORKER){readBinary=url=>{try{var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.responseType="arraybuffer";xhr.send(null);return new Uint8Array(xhr.response)}catch(err){var data=tryParseAsDataURI(url);if(data){return data}throw err}}}readAsync=(url,onload,onerror)=>{var xhr=new XMLHttpRequest;xhr.open("GET",url,true);xhr.responseType="arraybuffer";xhr.onload=()=>{if(xhr.status==200||xhr.status==0&&xhr.response){onload(xhr.response);return}var data=tryParseAsDataURI(url);if(data){onload(data.buffer);return}onerror()};xhr.onerror=onerror;xhr.send(null)}}setWindowTitle=title=>document.title=title}else{}var out=Module["print"]||console.log.bind(console);var err=Module["printErr"]||console.error.bind(console);Object.assign(Module,moduleOverrides);moduleOverrides=null;if(Module["arguments"])arguments_=Module["arguments"];if(Module["thisProgram"])thisProgram=Module["thisProgram"];if(Module["quit"])quit_=Module["quit"];var wasmBinary;if(Module["wasmBinary"])wasmBinary=Module["wasmBinary"];var noExitRuntime=Module["noExitRuntime"]||true;var WebAssembly={Memory:function(opts){this.buffer=new ArrayBuffer(opts["initial"]*65536)},Module:function(binary){},Instance:function(module,info){this.exports=( +// EMSCRIPTEN_START_ASM +function instantiate(Da){function c(d){d.set=function(a,b){this[a]=b};d.get=function(a){return this[a]};return d}var e;var f=new Uint8Array(123);for(var a=25;a>=0;--a){f[48+a]=52+a;f[65+a]=a;f[97+a]=26+a}f[43]=62;f[47]=63;function l(m,n,o){var g,h,a=0,i=n,j=o.length,k=n+(j*3>>2)-(o[j-2]=="=")-(o[j-1]=="=");for(;a>4;if(i>2;if(i>2];if(c){ua[J[J[c>>2]>>2]](c)|0;c=J[a+60>>2];if(c){J[8457]=J[8457]+1;ua[J[8259]](c)}}J[8456]=J[8456]+1;c=ua[J[8258]](132,16)|0;H[c+20|0]=1;J[c>>2]=20812;J[c+16>>2]=0;H[c+40|0]=1;J[c+8>>2]=0;J[c+12>>2]=0;J[c+36>>2]=0;H[c+60|0]=1;J[c+28>>2]=0;J[c+32>>2]=0;J[c+56>>2]=0;J[c+48>>2]=0;J[c+52>>2]=0;J[a+60>>2]=c;J[d+184>>2]=0;J[d+176>>2]=0;J[d+180>>2]=0;H[d+188|0]=1;c=0;if((ua[J[J[a>>2]+96>>2]](a)|0)>0){w=J[d+176>>2];j=w-1|0;c=J[d+184>>2];n=K[d+188|0];e=J[d+180>>2];while(1){a:{if((e|0)!=(w|0)){break a}i=w?w<<1:1;if((i|0)<=(w|0)){break a}if(i){J[8456]=J[8456]+1;c=ua[J[8258]](i<<4,16)|0}else{c=0}b:{if((w|0)<=0){break b}s=0;e=0;if(f+j>>>0>=3){g=w&-4;x=0;while(1){o=e<<4;r=o+c|0;k=h+o|0;l=J[k+4>>2];J[r>>2]=J[k>>2];J[r+4>>2]=l;l=J[k+12>>2];J[r+8>>2]=J[k+8>>2];J[r+12>>2]=l;l=o|16;r=l+c|0;k=h+l|0;l=J[k+12>>2];J[r+8>>2]=J[k+8>>2];J[r+12>>2]=l;l=J[k+4>>2];J[r>>2]=J[k>>2];J[r+4>>2]=l;l=o|32;r=l+c|0;k=h+l|0;l=J[k+12>>2];J[r+8>>2]=J[k+8>>2];J[r+12>>2]=l;l=J[k+4>>2];J[r>>2]=J[k>>2];J[r+4>>2]=l;l=o|48;r=l+c|0;k=h+l|0;l=J[k+12>>2];J[r+8>>2]=J[k+8>>2];J[r+12>>2]=l;l=J[k+4>>2];J[r>>2]=J[k>>2];J[r+4>>2]=l;e=e+4|0;x=x+4|0;if((g|0)!=(x|0)){continue}break}}g=w&3;if(!g){break b}while(1){l=e<<4;r=l+c|0;k=h+l|0;l=J[k+4>>2];J[r>>2]=J[k>>2];J[r+4>>2]=l;l=J[k+12>>2];J[r+8>>2]=J[k+8>>2];J[r+12>>2]=l;e=e+1|0;s=s+1|0;if((g|0)!=(s|0)){continue}break}}if(!(h?!h|!n:1)){J[8457]=J[8457]+1;ua[J[8259]](h)}n=1;e=i}ua[J[J[a>>2]+108>>2]](a,f,(w<<4)+c|0);w=w+1|0;h=c;f=f+1|0;if((ua[J[J[a>>2]+96>>2]](a)|0)>(f|0)){continue}break}H[d+188|0]=n;J[d+180>>2]=e;J[d+176>>2]=w;J[d+184>>2]=c}H[d+148|0]=1;J[d+144>>2]=0;H[d+168|0]=1;J[d+136>>2]=0;J[d+140>>2]=0;J[d+164>>2]=0;J[d+156>>2]=0;J[d+160>>2]=0;J[d+124>>2]=0;H[d+128|0]=1;J[d+116>>2]=0;J[d+120>>2]=0;c:{d:{if(b){w=0;J[d+28>>2]=0;H[d+32|0]=1;J[d+20>>2]=0;J[d+24>>2]=0;c=0;z=J[d+176>>2];if((z|0)>0){while(1){b=c;c=c+1|0;if((z|0)>(c|0)){A=J[d+184>>2]+(b<<4)|0;b=c;while(1){f=b;b=b+1|0;if((z|0)>(b|0)){t=J[d+184>>2]+(f<<4)|0;f=b;while(1){V=N[A>>2];v=Q(N[t>>2]-V);h=J[d+184>>2];i=h+(f<<4)|0;O=N[A+4>>2];y=Q(N[i+4>>2]-O);u=Q(N[i>>2]-V);p=Q(N[t+4>>2]-O);E=Q(Q(v*y)-Q(u*p));B=N[A+8>>2];q=Q(N[i+8>>2]-B);I=Q(p*q);p=Q(N[t+8>>2]-B);y=Q(I-Q(y*p));u=Q(Q(p*u)-Q(q*v));q=Q(Q(E*E)+Q(Q(y*y)+Q(u*u)));j=q>Q(9999999747378752e-20);e:{if(!j){break e}p=Q(Q(1)/Q(Y(q)));D=Q(E*p);G=Q(u*p);v=Q(y*p);i=J[d+20>>2];if((i|0)>0){e=0;n=J[d+28>>2];if(Q(Q(D*N[n+8>>2])+Q(Q(v*N[n>>2])+Q(G*N[n+4>>2])))>Q(.9990000128746033)){break e}while(1){e=e+1|0;if((i|0)!=(e|0)){l=n+(e<<4)|0;if(!(Q(Q(D*N[l+8>>2])+Q(Q(v*N[l>>2])+Q(G*N[l+4>>2])))>Q(.9990000128746033))){continue}}break}if((e|0)<(i|0)){break e}}p=Q(Q(D*B)+Q(Q(v*V)+Q(G*O)));n=J[d+176>>2];if((n|0)>0){e=0;if(Q(Q(Q(Q(D*N[h+8>>2])+Q(Q(v*N[h>>2])+Q(G*N[h+4>>2])))-p)+Q(-.009999999776482582))>Q(0)){break e}while(1){e=e+1|0;if((n|0)!=(e|0)){l=h+(e<<4)|0;if(!(Q(Q(Q(Q(D*N[l+8>>2])+Q(Q(v*N[l>>2])+Q(G*N[l+4>>2])))-p)+Q(-.009999999776482582))>Q(0))){continue}}break}if((e|0)<(n|0)){break e}}p=Q(-p);f:{if(J[d+24>>2]!=(i|0)){break f}m=i?i<<1:1;if((m|0)<=(i|0)){break f}g:{if(!m){n=0;break g}J[8456]=J[8456]+1;n=ua[J[8258]](m<<4,16)|0;i=J[d+20>>2]}h:{if((i|0)<=0){break h}g=i&1;e=0;if((i|0)!=1){r=i&-2;i=0;while(1){k=e<<4;h=k+n|0;o=k+J[d+28>>2]|0;l=J[o+4>>2];J[h>>2]=J[o>>2];J[h+4>>2]=l;l=J[o+12>>2];J[h+8>>2]=J[o+8>>2];J[h+12>>2]=l;l=k|16;h=l+n|0;k=l+J[d+28>>2]|0;l=J[k+4>>2];J[h>>2]=J[k>>2];J[h+4>>2]=l;l=J[k+12>>2];J[h+8>>2]=J[k+8>>2];J[h+12>>2]=l;e=e+2|0;i=i+2|0;if((r|0)!=(i|0)){continue}break}}if(!g){break h}i=e<<4;l=i+n|0;e=i+J[d+28>>2]|0;i=J[e+4>>2];J[l>>2]=J[e>>2];J[l+4>>2]=i;i=J[e+12>>2];J[l+8>>2]=J[e+8>>2];J[l+12>>2]=i}i=J[d+28>>2];if(!(i?!i|!K[d+32|0]:1)){J[8457]=J[8457]+1;ua[J[8259]](i)}J[d+28>>2]=n;H[d+32|0]=1;J[d+24>>2]=m;i=J[d+20>>2]}i=J[d+28>>2]+(i<<4)|0;N[i+12>>2]=p;N[i+8>>2]=D;N[i+4>>2]=G;N[i>>2]=v;J[d+20>>2]=J[d+20>>2]+1}i:{if(!j){break i}p=Q(Q(1)/Q(Y(q)));v=Q(p*Q(-E));u=Q(p*Q(-u));q=Q(p*Q(-y));i=J[d+20>>2];if((i|0)>0){e=0;n=J[d+28>>2];if(Q(Q(v*N[n+8>>2])+Q(Q(q*N[n>>2])+Q(u*N[n+4>>2])))>Q(.9990000128746033)){break i}while(1){e=e+1|0;if((i|0)!=(e|0)){l=n+(e<<4)|0;if(!(Q(Q(v*N[l+8>>2])+Q(Q(q*N[l>>2])+Q(u*N[l+4>>2])))>Q(.9990000128746033))){continue}}break}if((e|0)<(i|0)){break i}}p=Q(Q(v*N[A+8>>2])+Q(Q(q*N[A>>2])+Q(u*N[A+4>>2])));n=J[d+176>>2];if((n|0)>0){e=0;h=J[d+184>>2];if(Q(Q(Q(Q(v*N[h+8>>2])+Q(Q(q*N[h>>2])+Q(u*N[h+4>>2])))-p)+Q(-.009999999776482582))>Q(0)){break i}while(1){e=e+1|0;if((n|0)!=(e|0)){l=h+(e<<4)|0;if(!(Q(Q(Q(Q(v*N[l+8>>2])+Q(Q(q*N[l>>2])+Q(u*N[l+4>>2])))-p)+Q(-.009999999776482582))>Q(0))){continue}}break}if((e|0)<(n|0)){break i}}p=Q(-p);j:{if(J[d+24>>2]!=(i|0)){break j}o=i?i<<1:1;if((o|0)<=(i|0)){break j}k:{if(!o){n=0;break k}J[8456]=J[8456]+1;n=ua[J[8258]](o<<4,16)|0;i=J[d+20>>2]}l:{if((i|0)<=0){break l}g=i&1;e=0;if((i|0)!=1){r=i&-2;i=0;while(1){j=e<<4;h=j+n|0;k=j+J[d+28>>2]|0;l=J[k+4>>2];J[h>>2]=J[k>>2];J[h+4>>2]=l;l=J[k+12>>2];J[h+8>>2]=J[k+8>>2];J[h+12>>2]=l;l=j|16;h=l+n|0;j=l+J[d+28>>2]|0;l=J[j+4>>2];J[h>>2]=J[j>>2];J[h+4>>2]=l;l=J[j+12>>2];J[h+8>>2]=J[j+8>>2];J[h+12>>2]=l;e=e+2|0;i=i+2|0;if((r|0)!=(i|0)){continue}break}}if(!g){break l}i=e<<4;l=i+n|0;e=i+J[d+28>>2]|0;i=J[e+4>>2];J[l>>2]=J[e>>2];J[l+4>>2]=i;i=J[e+12>>2];J[l+8>>2]=J[e+8>>2];J[l+12>>2]=i}i=J[d+28>>2];if(!(i?!i|!K[d+32|0]:1)){J[8457]=J[8457]+1;ua[J[8259]](i)}J[d+28>>2]=n;H[d+32|0]=1;J[d+24>>2]=o;i=J[d+20>>2]}i=J[d+28>>2]+(i<<4)|0;N[i+12>>2]=p;N[i+8>>2]=v;N[i+4>>2]=u;N[i>>2]=q;J[d+20>>2]=J[d+20>>2]+1}f=f+1|0;if((z|0)>(f|0)){continue}break}}if((b|0)!=(z|0)){continue}break}}if((c|0)!=(z|0)){continue}break}}J[d+104>>2]=0;H[d+108|0]=1;J[d+96>>2]=0;J[d+100>>2]=0;if(J[d+20>>2]<=0){break d}while(1){b=J[d+28>>2]+(w<<4)|0;J[d+80>>2]=J[b+8>>2];c=J[b+4>>2];J[d+72>>2]=J[b>>2];J[d+76>>2]=c;p=Q(N[b+12>>2]-Q(ua[J[J[a>>2]+48>>2]](a)));c=J[d+96>>2];m:{if((c|0)!=J[d+100>>2]){break m}g=c?c<<1:1;if((g|0)<=(c|0)){break m}n:{if(!g){h=0;break n}J[8456]=J[8456]+1;h=ua[J[8258]](g<<4,16)|0;c=J[d+96>>2]}o:{if((c|0)<=0){break o}e=0;if((c|0)!=1){l=c&-2;f=0;while(1){n=e<<4;i=n+h|0;r=n+J[d+104>>2]|0;b=J[r+4>>2];J[i>>2]=J[r>>2];J[i+4>>2]=b;b=J[r+12>>2];J[i+8>>2]=J[r+8>>2];J[i+12>>2]=b;b=n|16;i=b+h|0;n=b+J[d+104>>2]|0;b=J[n+4>>2];J[i>>2]=J[n>>2];J[i+4>>2]=b;b=J[n+12>>2];J[i+8>>2]=J[n+8>>2];J[i+12>>2]=b;e=e+2|0;f=f+2|0;if((l|0)!=(f|0)){continue}break}}if(!(c&1)){break o}b=e<<4;c=b+h|0;f=b+J[d+104>>2]|0;b=J[f+4>>2];J[c>>2]=J[f>>2];J[c+4>>2]=b;b=J[f+12>>2];J[c+8>>2]=J[f+8>>2];J[c+12>>2]=b}b=J[d+104>>2];if(!(b?!b|!K[d+108|0]:1)){J[8457]=J[8457]+1;ua[J[8259]](b)}J[d+104>>2]=h;H[d+108|0]=1;J[d+100>>2]=g;c=J[d+96>>2]}b=J[d+76>>2];c=J[d+104>>2]+(c<<4)|0;J[c>>2]=J[d+72>>2];J[c+4>>2]=b;b=J[d+80>>2];N[c+12>>2]=p;J[c+8>>2]=b;J[d+96>>2]=J[d+96>>2]+1;w=w+1|0;if((w|0)>2]){continue}break}break d}ee(d+112|0,c,J[d+176>>2]);break c}J[d+84>>2]=0;H[d+88|0]=1;J[d+76>>2]=0;J[d+80>>2]=0;c=0;t=J[d+96>>2];if((t|0)>0){while(1){b=c;c=c+1|0;if((t|0)>(c|0)){m=J[d+104>>2]+(b<<4)|0;b=c;while(1){f=b;b=b+1|0;if((t|0)>(b|0)){o=J[d+104>>2]+(f<<4)|0;f=b;while(1){W=N[o>>2];e=J[d+104>>2];i=e+(f<<4)|0;v=N[i+4>>2];y=N[i>>2];u=N[o+4>>2];I=Q(Q(W*v)-Q(y*u));q=N[i+8>>2];p=N[o+8>>2];D=Q(Q(u*q)-Q(v*p));G=Q(Q(p*y)-Q(q*W));p:{if(!(Q(Q(I*I)+Q(Q(D*D)+Q(G*G)))>Q(9999999747378752e-20))){break p}Z=N[m+4>>2];_=N[m>>2];E=Q(Q(y*Z)-Q(_*v));L=N[m+8>>2];V=Q(Q(v*L)-Q(Z*q));O=Q(Q(q*_)-Q(L*y));if(!(Q(Q(E*E)+Q(Q(V*V)+Q(O*O)))>Q(9999999747378752e-20))){break p}q=Q(Q(_*u)-Q(W*Z));B=Q(Q(Z*p)-Q(u*L));v=Q(Q(L*W)-Q(p*_));if(!(Q(Q(q*q)+Q(Q(B*B)+Q(v*v)))>Q(9999999747378752e-20))){break p}p=Q(Q(L*I)+Q(Q(_*D)+Q(Z*G)));if(!(Q(R(p))>Q(9.999999974752427e-7))){break p}y=Q(Q(-1)/p);u=N[i+12>>2];L=Q(q*u);q=N[m+12>>2];p=N[o+12>>2];E=Q(y*Q(L+Q(Q(I*q)+Q(E*p))));v=Q(y*Q(Q(v*u)+Q(Q(G*q)+Q(O*p))));p=Q(y*Q(Q(B*u)+Q(Q(D*q)+Q(V*p))));l=J[d+96>>2];if((l|0)>0){i=0;if(Q(Q(N[e+12>>2]+Q(Q(N[e+8>>2]*E)+Q(Q(N[e>>2]*p)+Q(v*N[e+4>>2]))))+Q(-.009999999776482582))>Q(0)){break p}while(1){i=i+1|0;if((l|0)!=(i|0)){n=e+(i<<4)|0;if(!(Q(Q(N[n+12>>2]+Q(Q(N[n+8>>2]*E)+Q(Q(N[n>>2]*p)+Q(v*N[n+4>>2]))))+Q(-.009999999776482582))>Q(0))){continue}}break}if((i|0)<(l|0)){break p}}e=J[d+76>>2];q:{if((e|0)!=J[d+80>>2]){break q}k=e?e<<1:1;if((k|0)<=(e|0)){break q}r:{if(!k){i=0;break r}J[8456]=J[8456]+1;i=ua[J[8258]](k<<4,16)|0;e=J[d+76>>2]}s:{if((e|0)<=0){break s}r=0;if((e|0)!=1){h=e&-2;x=0;while(1){g=r<<4;n=g+i|0;j=g+J[d+84>>2]|0;l=J[j+4>>2];J[n>>2]=J[j>>2];J[n+4>>2]=l;l=J[j+12>>2];J[n+8>>2]=J[j+8>>2];J[n+12>>2]=l;l=g|16;n=l+i|0;g=l+J[d+84>>2]|0;l=J[g+4>>2];J[n>>2]=J[g>>2];J[n+4>>2]=l;l=J[g+12>>2];J[n+8>>2]=J[g+8>>2];J[n+12>>2]=l;r=r+2|0;x=x+2|0;if((h|0)!=(x|0)){continue}break}}if(!(e&1)){break s}l=r<<4;n=l+i|0;e=l+J[d+84>>2]|0;l=J[e+4>>2];J[n>>2]=J[e>>2];J[n+4>>2]=l;l=J[e+12>>2];J[n+8>>2]=J[e+8>>2];J[n+12>>2]=l}l=J[d+84>>2];if(!(l?!l|!K[d+88|0]:1)){J[8457]=J[8457]+1;ua[J[8259]](l)}J[d+84>>2]=i;H[d+88|0]=1;J[d+80>>2]=k;e=J[d+76>>2]}i=J[d+84>>2]+(e<<4)|0;J[i+12>>2]=0;N[i+8>>2]=E;N[i+4>>2]=v;N[i>>2]=p;J[d+76>>2]=J[d+76>>2]+1}f=f+1|0;if((t|0)>(f|0)){continue}break}}if((b|0)!=(t|0)){continue}break}}if((c|0)!=(t|0)){continue}break}}ee(d+112|0,J[d+84>>2],J[d+76>>2]);b=J[d+84>>2];if(!(b?!b|!K[d+88|0]:1)){J[8457]=J[8457]+1;ua[J[8259]](b)}b=J[d+104>>2];if(!(b?!b|!K[d+108|0]:1)){J[8457]=J[8457]+1;ua[J[8259]](b)}b=J[d+28>>2];if(!b|!K[d+32|0]){break c}if(b){J[8457]=J[8457]+1;ua[J[8259]](b)}}t:{u:{l=J[d+156>>2];if((l|0)>=0){if(l){break u}J[d+32>>2]=0;J[d+36>>2]=0;J[d+48>>2]=0;J[d+40>>2]=0;J[d+44>>2]=0;J[d+24>>2]=0;J[d+28>>2]=0;H[d+32|0]=1;J[d+16>>2]=0;J[d+20>>2]=0;J[d+20>>2]=0;break t}J[d+32>>2]=0;J[d+36>>2]=0;J[d+48>>2]=0;J[d+40>>2]=0;J[d+44>>2]=0;J[d+24>>2]=0;J[d+28>>2]=0;H[d+32|0]=1;J[d+16>>2]=0;J[d+20>>2]=0;J[d+20>>2]=0;c=l;while(1){f=P(c,36);b=J[f+12>>2];if(!(b?!b|!K[f+16|0]:1)){J[8457]=J[8457]+1;ua[J[8259]](b)}J[f+12>>2]=0;H[f+16|0]=1;J[f+4>>2]=0;J[f+8>>2]=0;c=c+1|0;if(c){continue}break}break t}J[8456]=J[8456]+1;$=ua[J[8258]](l<<4,16)|0;J[d+32>>2]=0;J[d+36>>2]=0;e=0;J[d+48>>2]=0;J[d+40>>2]=0;J[d+44>>2]=0;J[d+24>>2]=0;J[d+28>>2]=0;H[d+32|0]=1;J[d+16>>2]=0;J[d+20>>2]=0;J[d+20>>2]=0;J[8456]=J[8456]+1;S=ua[J[8258]](P(l,36),16)|0;while(1){c=P(e,36)+S|0;Bc(c,d+16|0);b=J[d+48>>2];J[c+28>>2]=J[d+44>>2];J[c+32>>2]=b;b=J[d+40>>2];J[c+20>>2]=J[d+36>>2];J[c+24>>2]=b;e=e+1|0;if((l|0)!=(e|0)){continue}break}}b=J[d+28>>2];if(!(b?!b|!K[d+32|0]:1)){J[8457]=J[8457]+1;ua[J[8259]](b)}g=J[a+60>>2];h=J[g+8>>2];r=J[d+116>>2];if(!((h|0)>=(r|0)|(r|0)<=J[g+12>>2])){v:{if(!r){s=0;break v}J[8456]=J[8456]+1;s=ua[J[8258]](r<<4,16)|0;h=J[g+8>>2]}w:{if((h|0)<=0){break w}c=0;if((h|0)!=1){i=h&-2;x=0;while(1){n=c<<4;f=n+s|0;e=n+J[g+16>>2]|0;b=J[e+4>>2];J[f>>2]=J[e>>2];J[f+4>>2]=b;b=J[e+12>>2];J[f+8>>2]=J[e+8>>2];J[f+12>>2]=b;b=n|16;f=b+s|0;n=b+J[g+16>>2]|0;b=J[n+4>>2];J[f>>2]=J[n>>2];J[f+4>>2]=b;b=J[n+12>>2];J[f+8>>2]=J[n+8>>2];J[f+12>>2]=b;c=c+2|0;x=x+2|0;if((i|0)!=(x|0)){continue}break}}if(!(h&1)){break w}b=c<<4;c=b+s|0;f=b+J[g+16>>2]|0;b=J[f+4>>2];J[c>>2]=J[f>>2];J[c+4>>2]=b;b=J[f+12>>2];J[c+8>>2]=J[f+8>>2];J[c+12>>2]=b}b=J[g+16>>2];if(!(b?!b|!K[g+20|0]:1)){J[8457]=J[8457]+1;ua[J[8259]](b)}J[g+16>>2]=s;H[g+20|0]=1;J[g+12>>2]=r}J[g+8>>2]=r;x:{if((r|0)<=0){break x}e=0;if((r|0)!=1){f=r&-2;h=0;while(1){i=e<<4;c=i+J[J[a+60>>2]+16>>2]|0;n=i+J[d+124>>2]|0;b=J[n+4>>2];J[c>>2]=J[n>>2];J[c+4>>2]=b;b=J[n+12>>2];J[c+8>>2]=J[n+8>>2];J[c+12>>2]=b;b=i|16;c=b+J[J[a+60>>2]+16>>2]|0;i=b+J[d+124>>2]|0;b=J[i+4>>2];J[c>>2]=J[i>>2];J[c+4>>2]=b;b=J[i+12>>2];J[c+8>>2]=J[i+8>>2];J[c+12>>2]=b;e=e+2|0;h=h+2|0;if((f|0)!=(h|0)){continue}break}}if(!(r&1)){break x}b=e<<4;c=b+J[J[a+60>>2]+16>>2]|0;f=b+J[d+124>>2]|0;b=J[f+4>>2];J[c>>2]=J[f>>2];J[c+4>>2]=b;b=J[f+12>>2];J[c+8>>2]=J[f+8>>2];J[c+12>>2]=b}y:{z:{A:{B:{if((l|0)<=0){break B}h=0;while(1){m=P(h,36)+S|0;f=J[m+4>>2];n=0;g=J[d+144>>2]+P(J[J[d+164>>2]+(h<<2)>>2],12)|0;w=g;C:{while(1){r=J[(P(J[w+4>>2],12)+w|0)+8>>2];D:{if(J[m+8>>2]!=(f|0)){break D}j=f?f<<1:1;if((j|0)<=(f|0)){break D}E:{if(!j){c=0;break E}J[8456]=J[8456]+1;c=ua[J[8258]](j<<2,16)|0;f=J[m+4>>2]}o=J[m+12>>2];F:{G:{if((f|0)>0){s=0;e=0;if(f>>>0>=4){i=f&-4;C=0;while(1){k=e<<2;J[k+c>>2]=J[k+o>>2];b=k|4;J[b+c>>2]=J[b+o>>2];b=k|8;J[b+c>>2]=J[b+o>>2];b=k|12;J[b+c>>2]=J[b+o>>2];e=e+4|0;C=C+4|0;if((i|0)!=(C|0)){continue}break}}f=f&3;if(!f){break G}while(1){b=e<<2;J[b+c>>2]=J[b+o>>2];e=e+1|0;s=s+1|0;if((f|0)!=(s|0)){continue}break}break G}if(!o){break F}}if(o?K[m+16|0]:0){J[8457]=J[8457]+1;ua[J[8259]](o)}f=J[m+4>>2]}J[m+12>>2]=c;H[m+16|0]=1;J[m+8>>2]=j}J[J[m+12>>2]+(f<<2)>>2]=r;f=J[m+4>>2]+1|0;J[m+4>>2]=f;H:{if((n|0)<=1){b=J[d+124>>2];c=b+(r<<4)|0;B=N[c+8>>2];b=b+(J[w+8>>2]<<4)|0;v=N[b+8>>2];y=N[c>>2];u=N[b>>2];q=N[c+4>>2];p=N[b+4>>2];b=(d+16|0)+(n<<4)|0;J[b+12>>2]=0;v=Q(v-B);u=Q(u-y);p=Q(p-q);q=Q(Q(1)/Q(Y(Q(Q(v*v)+Q(Q(u*u)+Q(p*p))))));N[b+8>>2]=v*q;N[b+4>>2]=p*q;N[b>>2]=u*q;n=n+1|0;b=P(J[w+4>>2],12)+w|0;w=P(J[b>>2],12)+b|0;if((g|0)!=(w|0)){continue}if((n|0)==2){break H}b=(h<<4)+$|0;J[b>>2]=0;J[b+4>>2]=0;J[b+8>>2]=0;J[b+12>>2]=0;break C}n=2;b=P(J[w+4>>2],12)+w|0;w=P(J[b>>2],12)+b|0;if((g|0)!=(w|0)){continue}}break}O=N[d+20>>2];q=N[d+36>>2];B=N[d+32>>2];v=N[d+24>>2];y=N[d+16>>2];p=N[d+40>>2];b=(h<<4)+$|0;J[b+12>>2]=0;u=Q(Q(y*q)-Q(B*O));q=Q(Q(O*p)-Q(q*v));p=Q(Q(v*B)-Q(p*y));y=Q(Q(1)/Q(Y(Q(Q(u*u)+Q(Q(q*q)+Q(p*p))))));N[b+8>>2]=u*y;N[b+4>>2]=p*y;p=Q(q*y);N[b>>2]=p;N[m+20>>2]=p;N[m+24>>2]=N[b+4>>2];p=N[b+8>>2];J[m+32>>2]=1900671690;N[m+28>>2]=p}c=J[m+4>>2];I:{if((c|0)<=0){B=Q(1.0000000150474662e30);break I}f=c&1;b=(h<<4)+$|0;v=N[b+8>>2];y=N[b+4>>2];u=N[b>>2];r=J[J[a+60>>2]+16>>2];n=J[m+12>>2];J:{if((c|0)==1){B=Q(1.0000000150474662e30);e=0;break J}c=c&-2;B=Q(1.0000000150474662e30);e=0;s=0;while(1){b=e<<2;i=r+(J[n+(b|4)>>2]<<4)|0;q=Q(Q(N[i+8>>2]*v)+Q(Q(N[i>>2]*u)+Q(N[i+4>>2]*y)));b=r+(J[b+n>>2]<<4)|0;p=Q(Q(N[b+8>>2]*v)+Q(Q(N[b>>2]*u)+Q(N[b+4>>2]*y)));p=pq?q:p;e=e+2|0;s=s+2|0;if((c|0)!=(s|0)){continue}break}}if(!f){break I}b=r+(J[n+(e<<2)>>2]<<4)|0;p=Q(Q(N[b+8>>2]*v)+Q(Q(N[b>>2]*u)+Q(N[b+4>>2]*y)));B=p>2]=-B;h=h+1|0;if((l|0)!=(h|0)){continue}break}f=0;if((l|0)<=0){break B}r=0;b=0;while(1){K:{if((b|0)!=(f|0)){break K}b=f?f<<1:1;if(f>>>0>=b>>>0){b=f;break K}J[8456]=J[8456]+1;c=ua[J[8258]](b<<2,16)|0;L:{M:{if(f){s=0;e=0;if(f>>>0>=4){n=f&2147483644;x=0;while(1){h=e<<2;J[h+c>>2]=J[h+r>>2];i=h|4;J[i+c>>2]=J[i+r>>2];i=h|8;J[i+c>>2]=J[i+r>>2];i=h|12;J[i+c>>2]=J[i+r>>2];e=e+4|0;x=x+4|0;if((n|0)!=(x|0)){continue}break}}n=f&3;if(!n){break M}while(1){i=e<<2;J[i+c>>2]=J[i+r>>2];e=e+1|0;s=s+1|0;if((n|0)!=(s|0)){continue}break}break M}if(r){break M}b=1;break L}if(r){J[8457]=J[8457]+1;ua[J[8259]](r)}}r=c}J[(f<<2)+r>>2]=f;f=f+1|0;if((l|0)!=(f|0)){continue}break}i=l;while(1){c=i-1|0;b=J[(c<<2)+r>>2];J[8456]=J[8456]+1;n=ua[J[8258]](4,16)|0;J[n>>2]=b;N:{O:{if((i|0)<2){i=c;T=1;break O}b=P(b,36)+S|0;u=N[b+20>>2];q=N[b+28>>2];p=N[b+24>>2];e=i-2|0;b=1;i=c;T=1;while(1){h=e;k=J[(e<<2)+r>>2];c=P(k,36)+S|0;if(Q(Q(q*N[c+28>>2])+Q(Q(u*N[c+20>>2])+Q(p*N[c+24>>2])))>Q(.9990000128746033)){P:{Q:{if((b|0)!=(T|0)){break Q}f=b?b<<1:1;if((f|0)<=(b|0)){break Q}if(f){J[8456]=J[8456]+1;c=ua[J[8258]](f<<2,16)|0}else{c=0}R:{if((b|0)>0){s=0;e=0;if(b>>>0>=4){j=b&-4;w=0;while(1){o=e<<2;J[o+c>>2]=J[n+o>>2];g=o|4;J[g+c>>2]=J[g+n>>2];g=o|8;J[g+c>>2]=J[g+n>>2];g=o|12;J[g+c>>2]=J[g+n>>2];e=e+4|0;w=w+4|0;if((j|0)!=(w|0)){continue}break}}g=b&3;if(!g){break R}while(1){b=e<<2;J[b+c>>2]=J[b+n>>2];e=e+1|0;s=s+1|0;if((g|0)!=(s|0)){continue}break}break R}if(!n){break P}}if(n){J[8457]=J[8457]+1;ua[J[8259]](n)}break P}f=b;c=n}J[(T<<2)+c>>2]=k;T=T+1|0;e=0;S:{if((i|0)<=0){break S}while(1){b=(e<<2)+r|0;if((k|0)!=J[b>>2]){e=e+1|0;if((i|0)!=(e|0)){continue}break S}break}if((e|0)>=(i|0)){break S}e=b;i=i-1|0;b=(i<<2)+r|0;J[e>>2]=J[b>>2];J[b>>2]=k}n=c;b=f}e=h-1|0;if((h|0)>0){continue}break}T:{if((T|0)>1){c=0;J[d+104>>2]=0;H[d+108|0]=1;J[d+96>>2]=0;J[d+100>>2]=0;J[d+8>>2]=0;J[d+12>>2]=0;J[d>>2]=0;J[d+4>>2]=0;h=0;while(1){z=P(J[(h<<2)+n>>2],36)+S|0;q=N[z+28>>2];p=N[z+24>>2];N[d>>2]=N[z+20>>2]+N[d>>2];N[d+4>>2]=p+N[d+4>>2];N[d+8>>2]=q+N[d+8>>2];s=J[z+4>>2];if((s|0)>0){f=0;while(1){m=J[J[z+12>>2]+(f<<2)>>2];g=J[J[a+60>>2]+16>>2];U:{if((c|0)>0){e=0;b=J[d+104>>2];while(1){if((m|0)==J[(b+P(e,24)|0)+20>>2]){break U}e=e+1|0;if((e|0)!=(c|0)){continue}break}}e=g+(m<<4)|0;b=J[e+12>>2];J[d+24>>2]=J[e+8>>2];J[d+28>>2]=b;b=J[e+4>>2];J[d+16>>2]=J[e>>2];J[d+20>>2]=b;V:{if(J[d+100>>2]!=(c|0)){break V}o=c?c<<1:1;if((o|0)<=(c|0)){break V}W:{if(!o){s=0;break W}J[8456]=J[8456]+1;s=ua[J[8258]](P(o,24),16)|0;c=J[d+96>>2]}A=J[d+104>>2];X:{if((c|0)<=0){break X}C=0;e=0;if(c>>>0>=4){k=c&-4;b=0;while(1){g=P(e,24);j=g+s|0;t=g+A|0;g=J[t+4>>2];J[j>>2]=J[t>>2];J[j+4>>2]=g;g=J[t+20>>2];J[j+16>>2]=J[t+16>>2];J[j+20>>2]=g;g=J[t+12>>2];J[j+8>>2]=J[t+8>>2];J[j+12>>2]=g;g=P(e|1,24);j=g+s|0;t=g+A|0;g=J[t+20>>2];J[j+16>>2]=J[t+16>>2];J[j+20>>2]=g;g=J[t+12>>2];J[j+8>>2]=J[t+8>>2];J[j+12>>2]=g;g=J[t+4>>2];J[j>>2]=J[t>>2];J[j+4>>2]=g;g=P(e|2,24);j=g+s|0;t=g+A|0;g=J[t+20>>2];J[j+16>>2]=J[t+16>>2];J[j+20>>2]=g;g=J[t+12>>2];J[j+8>>2]=J[t+8>>2];J[j+12>>2]=g;g=J[t+4>>2];J[j>>2]=J[t>>2];J[j+4>>2]=g;g=P(e|3,24);j=g+s|0;t=g+A|0;g=J[t+20>>2];J[j+16>>2]=J[t+16>>2];J[j+20>>2]=g;g=J[t+12>>2];J[j+8>>2]=J[t+8>>2];J[j+12>>2]=g;g=J[t+4>>2];J[j>>2]=J[t>>2];J[j+4>>2]=g;e=e+4|0;b=b+4|0;if((k|0)!=(b|0)){continue}break}}j=c&3;if(!j){break X}while(1){b=P(e,24);g=b+s|0;k=b+A|0;b=J[k+4>>2];J[g>>2]=J[k>>2];J[g+4>>2]=b;b=J[k+20>>2];J[g+16>>2]=J[k+16>>2];J[g+20>>2]=b;b=J[k+12>>2];J[g+8>>2]=J[k+8>>2];J[g+12>>2]=b;e=e+1|0;C=C+1|0;if((j|0)!=(C|0)){continue}break}}if(!(!A|!K[d+108|0])){if(A){J[8457]=J[8457]+1;ua[J[8259]](A)}c=J[d+96>>2]}J[d+104>>2]=s;H[d+108|0]=1;J[d+100>>2]=o}b=J[d+20>>2];g=J[d+104>>2]+P(c,24)|0;c=g;J[c>>2]=J[d+16>>2];J[c+4>>2]=b;e=J[d+28>>2];c=J[d+24>>2];b=J[d+32>>2];J[g+20>>2]=m;J[g+16>>2]=b;J[g+8>>2]=c;J[g+12>>2]=e;c=J[d+96>>2]+1|0;J[d+96>>2]=c;s=J[z+4>>2]}f=f+1|0;if((s|0)>(f|0)){continue}break}}h=h+1|0;if((T|0)!=(h|0)){continue}break}break T}b=(T|0)!=1;T=1;if(b){break N}break O}J[d+28>>2]=0;H[d+32|0]=1;J[d+20>>2]=0;J[d+24>>2]=0;b=P(J[n>>2],36)+S|0;N[d+36>>2]=N[b+20>>2];N[d+40>>2]=N[b+24>>2];N[d+44>>2]=N[b+28>>2];N[d+48>>2]=N[b+32>>2];J[d+84>>2]=0;H[d+88|0]=1;J[d+76>>2]=0;J[d+80>>2]=0;u=N[d+8>>2];q=N[d>>2];p=N[d+4>>2];y=Q(Q(1)/Q(Y(Q(Q(u*u)+Q(Q(q*q)+Q(p*p))))));N[d+8>>2]=u*y;N[d+4>>2]=p*y;N[d>>2]=q*y;t=d+92|0;c=0;C=0;h=0;L=Q(0);W=Q(0);z=sa-32|0;sa=z;v=N[d+8>>2];Y:{if(Q(R(v))>Q(.7071067690849304)){q=N[d+4>>2];p=Q(Q(q*q)+Q(v*v));u=Q(Q(1)/Q(Y(p)));G=Q(p*u);p=N[d>>2];I=Q(u*Q(-v));E=Q(p*I);W=Q(q*u);p=Q(W*Q(-p));break Y}u=N[d>>2];q=N[d+4>>2];p=Q(Q(u*u)+Q(q*q));y=Q(Q(1)/Q(Y(p)));E=Q(p*y);I=Q(u*y);G=Q(I*Q(-v));L=Q(y*Q(-q));p=Q(v*L)}f=J[t+4>>2];Z:{if((f|0)>=2){while(1){g=J[t+12>>2];e=P(c,24);b=g+e|0;if(Q(Q(N[b+8>>2]*W)+Q(Q(N[b>>2]*L)+Q(I*N[b+4>>2])))>2]*W)+Q(Q(N[g>>2]*L)+Q(I*N[g+4>>2])))){f=J[g+20>>2];J[z+24>>2]=J[g+16>>2];J[z+28>>2]=f;f=J[g+12>>2];J[z+16>>2]=J[g+8>>2];J[z+20>>2]=f;f=J[g+4>>2];J[z+8>>2]=J[g>>2];J[z+12>>2]=f;f=J[b+4>>2];J[g>>2]=J[b>>2];J[g+4>>2]=f;f=J[b+12>>2];J[g+8>>2]=J[b+8>>2];J[g+12>>2]=f;f=J[b+20>>2];J[g+16>>2]=J[b+16>>2];J[g+20>>2]=f;b=J[z+12>>2];f=e+J[t+12>>2]|0;J[f>>2]=J[z+8>>2];J[f+4>>2]=b;b=J[z+28>>2];J[f+16>>2]=J[z+24>>2];J[f+20>>2]=b;b=J[z+20>>2];J[f+8>>2]=J[z+16>>2];J[f+12>>2]=b;f=J[t+4>>2]}c=c+1|0;if((f|0)>(c|0)){continue}break}e=J[t+12>>2];J[e+16>>2]=-246811958;if((f|0)>=2){O=N[e+8>>2];B=N[e+4>>2];v=N[e>>2];b=1;while(1){V=Q(0);c=e+P(b,24)|0;y=Q(N[c+8>>2]-O);u=Q(N[c>>2]-v);q=Q(N[c+4>>2]-B);D=Q(Q(E*y)+Q(Q(G*u)+Q(p*q)));u=Q(Q(W*y)+Q(Q(L*u)+Q(I*q)));if(!(Q(Q(D*D)+Q(u*u))=Q(0)?Q(Q(Q(Q(u-q)/Q(u+q))*Q(-.7853981852531433))+Q(.7853981852531433)):Q(Q(Q(Q(u+q)/Q(q-u))*Q(-.7853981852531433))+Q(2.356194496154785));V=D>2]=V;b=b+1|0;if((f|0)!=(b|0)){continue}break}}b=J[e+12>>2];J[z+16>>2]=J[e+8>>2];J[z+20>>2]=b;b=J[e+4>>2];J[z+8>>2]=J[e>>2];J[z+12>>2]=b;de(t,z+8|0,1,f-1|0);e=J[t+12>>2];b=J[d+76>>2];_:{if((b|0)!=J[d+80>>2]){break _}o=b?b<<1:1;if((o|0)<=(b|0)){break _}$:{if(!o){f=0;break $}J[8456]=J[8456]+1;f=ua[J[8258]](P(o,24),16)|0;b=J[d+76>>2]}aa:{if((b|0)<=0){break aa}c=0;if((b|0)!=1){k=b&-2;while(1){g=P(c,24);j=g+f|0;m=g+J[d+84>>2]|0;g=J[m+4>>2];J[j>>2]=J[m>>2];J[j+4>>2]=g;g=J[m+20>>2];J[j+16>>2]=J[m+16>>2];J[j+20>>2]=g;g=J[m+12>>2];J[j+8>>2]=J[m+8>>2];J[j+12>>2]=g;g=P(c|1,24);j=g+f|0;m=g+J[d+84>>2]|0;g=J[m+4>>2];J[j>>2]=J[m>>2];J[j+4>>2]=g;g=J[m+12>>2];J[j+8>>2]=J[m+8>>2];J[j+12>>2]=g;g=J[m+20>>2];J[j+16>>2]=J[m+16>>2];J[j+20>>2]=g;c=c+2|0;h=h+2|0;if((k|0)!=(h|0)){continue}break}}if(!(b&1)){break aa}b=P(c,24);c=b+f|0;h=b+J[d+84>>2]|0;b=J[h+4>>2];J[c>>2]=J[h>>2];J[c+4>>2]=b;b=J[h+20>>2];J[c+16>>2]=J[h+16>>2];J[c+20>>2]=b;b=J[h+12>>2];J[c+8>>2]=J[h+8>>2];J[c+12>>2]=b}b=J[d+84>>2];if(!(b?!b|!K[d+88|0]:1)){J[8457]=J[8457]+1;ua[J[8259]](b)}J[d+84>>2]=f;H[d+88|0]=1;J[d+80>>2]=o;b=J[d+76>>2]}c=J[d+84>>2]+P(b,24)|0;b=J[e+4>>2];J[c>>2]=J[e>>2];J[c+4>>2]=b;b=J[e+20>>2];J[c+16>>2]=J[e+16>>2];J[c+20>>2]=b;b=J[e+12>>2];J[c+8>>2]=J[e+8>>2];J[c+12>>2]=b;b=J[d+76>>2]+1|0;J[d+76>>2]=b;e=J[t+12>>2];ba:{if(J[d+80>>2]!=(b|0)){break ba}o=b?b<<1:1;if((o|0)<=(b|0)){break ba}ca:{if(!o){f=0;break ca}J[8456]=J[8456]+1;f=ua[J[8258]](P(o,24),16)|0;b=J[d+76>>2]}da:{if((b|0)<=0){break da}c=0;if((b|0)!=1){k=b&-2;h=0;while(1){g=P(c,24);j=g+f|0;m=g+J[d+84>>2]|0;g=J[m+4>>2];J[j>>2]=J[m>>2];J[j+4>>2]=g;g=J[m+20>>2];J[j+16>>2]=J[m+16>>2];J[j+20>>2]=g;g=J[m+12>>2];J[j+8>>2]=J[m+8>>2];J[j+12>>2]=g;g=P(c|1,24);j=g+f|0;m=g+J[d+84>>2]|0;g=J[m+4>>2];J[j>>2]=J[m>>2];J[j+4>>2]=g;g=J[m+12>>2];J[j+8>>2]=J[m+8>>2];J[j+12>>2]=g;g=J[m+20>>2];J[j+16>>2]=J[m+16>>2];J[j+20>>2]=g;c=c+2|0;h=h+2|0;if((k|0)!=(h|0)){continue}break}}if(!(b&1)){break da}b=P(c,24);c=b+f|0;h=b+J[d+84>>2]|0;b=J[h+4>>2];J[c>>2]=J[h>>2];J[c+4>>2]=b;b=J[h+20>>2];J[c+16>>2]=J[h+16>>2];J[c+20>>2]=b;b=J[h+12>>2];J[c+8>>2]=J[h+8>>2];J[c+12>>2]=b}b=J[d+84>>2];if(!(b?!b|!K[d+88|0]:1)){J[8457]=J[8457]+1;ua[J[8259]](b)}J[d+84>>2]=f;H[d+88|0]=1;J[d+80>>2]=o;b=J[d+76>>2]}c=J[d+84>>2]+P(b,24)|0;b=J[e+28>>2];J[c>>2]=J[e+24>>2];J[c+4>>2]=b;b=J[e+44>>2];J[c+16>>2]=J[e+40>>2];J[c+20>>2]=b;b=J[e+36>>2];J[c+8>>2]=J[e+32>>2];J[c+12>>2]=b;b=J[d+76>>2]+1|0;J[d+76>>2]=b;if(J[t+4>>2]==2){break Z}s=2;while(1){ea:{if((b|0)<2){break ea}e=J[t+12>>2]+P(s,24)|0;D=N[e+8>>2];G=N[e+4>>2];E=N[e>>2];V=N[d+8>>2];O=N[d+4>>2];B=N[d>>2];f=J[d+84>>2];c=b;while(1){b=P(c,24)+f|0;h=b-48|0;q=N[h>>2];b=b-24|0;v=Q(q-N[b>>2]);p=N[h+4>>2];y=Q(p-G);u=Q(q-E);p=Q(p-N[b+4>>2]);L=Q(Q(Q(v*y)-Q(u*p))*V);I=p;p=N[h+8>>2];q=Q(p-D);p=Q(p-N[b+8>>2]);if(Q(L+Q(Q(Q(Q(I*q)-Q(y*p))*B)+Q(O*Q(Q(p*u)-Q(q*v)))))>Q(0)){fa:{if(J[d+80>>2]!=(c|0)){break fa}j=c<<1;if((j|0)<=(c|0)){break fa}J[8456]=J[8456]+1;f=ua[J[8258]](P(c,48),16)|0;k=J[d+76>>2];ga:{if((k|0)<=0){break ga}c=0;if((k|0)!=1){g=k&-2;w=0;while(1){b=P(c,24);h=b+f|0;o=b+J[d+84>>2]|0;b=J[o+4>>2];J[h>>2]=J[o>>2];J[h+4>>2]=b;b=J[o+20>>2];J[h+16>>2]=J[o+16>>2];J[h+20>>2]=b;b=J[o+12>>2];J[h+8>>2]=J[o+8>>2];J[h+12>>2]=b;b=P(c|1,24);h=b+f|0;o=b+J[d+84>>2]|0;b=J[o+4>>2];J[h>>2]=J[o>>2];J[h+4>>2]=b;b=J[o+12>>2];J[h+8>>2]=J[o+8>>2];J[h+12>>2]=b;b=J[o+20>>2];J[h+16>>2]=J[o+16>>2];J[h+20>>2]=b;c=c+2|0;w=w+2|0;if((g|0)!=(w|0)){continue}break}}if(!(k&1)){break ga}b=P(c,24);c=b+f|0;h=b+J[d+84>>2]|0;b=J[h+4>>2];J[c>>2]=J[h>>2];J[c+4>>2]=b;b=J[h+20>>2];J[c+16>>2]=J[h+16>>2];J[c+20>>2]=b;b=J[h+12>>2];J[c+8>>2]=J[h+8>>2];J[c+12>>2]=b}b=J[d+84>>2];if(!(b?!b|!K[d+88|0]:1)){J[8457]=J[8457]+1;ua[J[8259]](b)}J[d+84>>2]=f;H[d+88|0]=1;J[d+80>>2]=j;c=J[d+76>>2]}b=J[e+4>>2];c=P(c,24)+f|0;J[c>>2]=J[e>>2];J[c+4>>2]=b;b=J[e+20>>2];J[c+16>>2]=J[e+16>>2];J[c+20>>2]=b;b=J[e+12>>2];J[c+8>>2]=J[e+8>>2];J[c+12>>2]=b;b=J[d+76>>2]+1|0;J[d+76>>2]=b;break ea}b=c-1|0;J[d+76>>2]=b;h=c>>>0>2;c=b;if(h){continue}break}}if((b|0)==1){b=J[t+12>>2]+P(s,24)|0;ha:{if(J[d+80>>2]!=1){f=J[d+84>>2];c=1;break ha}J[8456]=J[8456]+1;f=ua[J[8258]](48,16)|0;k=J[d+76>>2];ia:{if((k|0)<=0){break ia}c=0;if((k|0)!=1){j=k&-2;h=0;while(1){e=P(c,24);g=e+f|0;o=e+J[d+84>>2]|0;e=J[o+4>>2];J[g>>2]=J[o>>2];J[g+4>>2]=e;e=J[o+20>>2];J[g+16>>2]=J[o+16>>2];J[g+20>>2]=e;e=J[o+12>>2];J[g+8>>2]=J[o+8>>2];J[g+12>>2]=e;e=P(c|1,24);g=e+f|0;o=e+J[d+84>>2]|0;e=J[o+4>>2];J[g>>2]=J[o>>2];J[g+4>>2]=e;e=J[o+12>>2];J[g+8>>2]=J[o+8>>2];J[g+12>>2]=e;e=J[o+20>>2];J[g+16>>2]=J[o+16>>2];J[g+20>>2]=e;c=c+2|0;h=h+2|0;if((j|0)!=(h|0)){continue}break}}if(!(k&1)){break ia}c=P(c,24);e=c+f|0;h=c+J[d+84>>2]|0;c=J[h+4>>2];J[e>>2]=J[h>>2];J[e+4>>2]=c;c=J[h+20>>2];J[e+16>>2]=J[h+16>>2];J[e+20>>2]=c;c=J[h+12>>2];J[e+8>>2]=J[h+8>>2];J[e+12>>2]=c}c=J[d+84>>2];if(!(c?!c|!K[d+88|0]:1)){J[8457]=J[8457]+1;ua[J[8259]](c)}J[d+84>>2]=f;H[d+88|0]=1;J[d+80>>2]=2;c=J[d+76>>2]}f=P(c,24)+f|0;c=J[b+4>>2];J[f>>2]=J[b>>2];J[f+4>>2]=c;c=J[b+20>>2];J[f+16>>2]=J[b+16>>2];J[f+20>>2]=c;c=J[b+12>>2];J[f+8>>2]=J[b+8>>2];J[f+12>>2]=c;b=J[d+76>>2]+1|0;J[d+76>>2]=b}s=s+1|0;if((s|0)!=J[t+4>>2]){continue}break}break Z}if((f|0)!=1){break Z}b=J[d+76>>2];while(1){e=J[t+12>>2];ja:{if(J[d+80>>2]!=(b|0)){break ja}o=b?b<<1:1;if((o|0)<=(b|0)){break ja}ka:{if(!o){f=0;break ka}J[8456]=J[8456]+1;f=ua[J[8258]](P(o,24),16)|0;b=J[d+76>>2]}la:{if((b|0)<=0){break la}c=0;if((b|0)!=1){k=b&-2;h=0;while(1){g=P(c,24);j=g+f|0;m=g+J[d+84>>2]|0;g=J[m+4>>2];J[j>>2]=J[m>>2];J[j+4>>2]=g;g=J[m+20>>2];J[j+16>>2]=J[m+16>>2];J[j+20>>2]=g;g=J[m+12>>2];J[j+8>>2]=J[m+8>>2];J[j+12>>2]=g;g=P(c|1,24);j=g+f|0;m=g+J[d+84>>2]|0;g=J[m+4>>2];J[j>>2]=J[m>>2];J[j+4>>2]=g;g=J[m+12>>2];J[j+8>>2]=J[m+8>>2];J[j+12>>2]=g;g=J[m+20>>2];J[j+16>>2]=J[m+16>>2];J[j+20>>2]=g;c=c+2|0;h=h+2|0;if((k|0)!=(h|0)){continue}break}}if(!(b&1)){break la}b=P(c,24);c=b+f|0;h=b+J[d+84>>2]|0;b=J[h+4>>2];J[c>>2]=J[h>>2];J[c+4>>2]=b;b=J[h+20>>2];J[c+16>>2]=J[h+16>>2];J[c+20>>2]=b;b=J[h+12>>2];J[c+8>>2]=J[h+8>>2];J[c+12>>2]=b}b=J[d+84>>2];if(!(b?!b|!K[d+88|0]:1)){J[8457]=J[8457]+1;ua[J[8259]](b)}J[d+84>>2]=f;H[d+88|0]=1;J[d+80>>2]=o;b=J[d+76>>2]}c=J[d+84>>2]+P(b,24)|0;b=J[e+4>>2];J[c>>2]=J[e>>2];J[c+4>>2]=b;b=J[e+20>>2];J[c+16>>2]=J[e+16>>2];J[c+20>>2]=b;b=J[e+12>>2];J[c+8>>2]=J[e+8>>2];J[c+12>>2]=b;b=J[d+76>>2]+1|0;J[d+76>>2]=b;C=C+1|0;if((C|0)>2]){continue}break}}sa=z+32|0;ma:{if(J[d+76>>2]<=0){c=J[d+96>>2];break ma}b=0;x=J[d+20>>2];while(1){j=P(b,24);g=j+J[d+84>>2]|0;na:{if(J[d+24>>2]!=(x|0)){break na}o=x?x<<1:1;if((o|0)<=(x|0)){break na}oa:{if(!o){c=0;break oa}J[8456]=J[8456]+1;c=ua[J[8258]](o<<2,16)|0;x=J[d+20>>2]}t=J[d+28>>2];pa:{qa:{if((x|0)>0){k=x&3;s=0;e=0;if(x>>>0>=4){h=x&-4;x=0;while(1){m=e<<2;J[m+c>>2]=J[m+t>>2];f=m|4;J[f+c>>2]=J[f+t>>2];f=m|8;J[f+c>>2]=J[f+t>>2];f=m|12;J[f+c>>2]=J[f+t>>2];e=e+4|0;x=x+4|0;if((h|0)!=(x|0)){continue}break}}if(!k){break qa}while(1){f=e<<2;J[f+c>>2]=J[f+t>>2];e=e+1|0;s=s+1|0;if((k|0)!=(s|0)){continue}break}break qa}if(!t){break pa}}if(t?K[d+32|0]:0){J[8457]=J[8457]+1;ua[J[8259]](t)}x=J[d+20>>2]}J[d+28>>2]=c;H[d+32|0]=1;J[d+24>>2]=o}J[J[d+28>>2]+(x<<2)>>2]=J[g+20>>2];x=J[d+20>>2]+1|0;J[d+20>>2]=x;c=J[d+96>>2];ra:{if((c|0)<=0){break ra}g=J[(j+J[d+84>>2]|0)+20>>2];e=0;h=J[d+104>>2];while(1){f=h+P(e,24)|0;if((g|0)!=J[f+20>>2]){e=e+1|0;if((e|0)!=(c|0)){continue}break ra}break}J[f+20>>2]=-1}b=b+1|0;if((b|0)>2]){continue}break}}sa:{if((c|0)>0){w=0;g=J[d+104>>2];while(1){j=J[(g+P(w,24)|0)+20>>2];ta:{if((j|0)==-1|(l|0)<=0){break ta}h=0;if((T|0)>0){while(1){b=P(h,36)+S|0;e=0;ua:{while(1){if(J[(e<<2)+n>>2]==(h|0)){break ua}e=e+1|0;if((T|0)!=(e|0)){continue}break}f=J[b+4>>2];if((f|0)<=0){break ua}b=J[b+12>>2];e=0;while(1){if((j|0)!=J[b+(e<<2)>>2]){e=e+1|0;if((f|0)!=(e|0)){continue}break ua}break}b=1;break sa}h=h+1|0;if((l|0)!=(h|0)){continue}break ta}}while(1){va:{b=P(h,36)+S|0;f=J[b+4>>2];if((f|0)<=0){break va}b=J[b+12>>2];e=0;while(1){if((j|0)!=J[b+(e<<2)>>2]){e=e+1|0;if((f|0)!=(e|0)){continue}break va}break}b=1;break sa}h=h+1|0;if((l|0)!=(h|0)){continue}break}}w=w+1|0;if((w|0)!=(c|0)){continue}break}}k=J[a+60>>2];c=J[k+28>>2];if((c|0)==J[k+32>>2]){f=0;g=c?c<<1:1;if((g|0)>J[k+32>>2]){if(g){J[8456]=J[8456]+1;c=ua[J[8258]](P(g,36),16)|0}else{c=0}h=J[k+28>>2];wa:{if((h|0)<=0){break wa}while(1){b=P(f,36);j=b+c|0;b=b+J[k+36>>2]|0;Bc(j,b);e=J[b+32>>2];J[j+28>>2]=J[b+28>>2];J[j+32>>2]=e;e=J[b+24>>2];J[j+20>>2]=J[b+20>>2];J[j+24>>2]=e;f=f+1|0;if((h|0)!=(f|0)){continue}break}b=J[k+28>>2];if((b|0)<=0){break wa}f=0;while(1){h=J[k+36>>2]+P(f,36)|0;e=J[h+12>>2];if(!(e?!e|!K[h+16|0]:1)){J[8457]=J[8457]+1;ua[J[8259]](e)}J[h+12>>2]=0;H[h+16|0]=1;J[h+4>>2]=0;J[h+8>>2]=0;f=f+1|0;if((b|0)!=(f|0)){continue}break}}b=J[k+36>>2];if(!(b?!b|!K[k+40|0]:1)){J[8457]=J[8457]+1;ua[J[8259]](b)}J[k+36>>2]=c;H[k+40|0]=1;J[k+32>>2]=g}c=J[k+28>>2]}c=J[k+36>>2]+P(c,36)|0;Bc(c,d+16|0);b=J[d+48>>2];J[c+28>>2]=J[d+44>>2];J[c+32>>2]=b;b=J[d+40>>2];J[c+20>>2]=J[d+36>>2];J[c+24>>2]=b;J[k+28>>2]=J[k+28>>2]+1;b=0}c=J[d+84>>2];if(!(c?!c|!K[d+88|0]:1)){J[8457]=J[8457]+1;ua[J[8259]](c)}c=J[d+28>>2];if(!(c?!c|!K[d+32|0]:1)){J[8457]=J[8457]+1;ua[J[8259]](c)}c=J[d+104>>2];if(!(c?!c|!K[d+108|0]:1)){J[8457]=J[8457]+1;ua[J[8259]](c)}if(!(b&(T|0)>0)){break N}}z=0;while(1){b=0;c=P(J[(z<<2)+n>>2],36)+S|0;U=J[c+4>>2];xa:{if((U|0)<=0){break xa}s=0;J[8456]=J[8456]+1;f=U<<2;b=ua[J[8258]](f,16)|0;k=Fa(b,0,f);j=J[c+12>>2];e=0;if(U>>>0>=4){h=U&-4;x=0;while(1){g=e<<2;J[g+k>>2]=J[g+j>>2];f=g|4;J[f+k>>2]=J[f+j>>2];f=g|8;J[f+k>>2]=J[f+j>>2];f=g|12;J[f+k>>2]=J[f+j>>2];e=e+4|0;x=x+4|0;if((h|0)!=(x|0)){continue}break}}h=U&3;if(!h){break xa}while(1){f=e<<2;J[f+k>>2]=J[f+j>>2];e=e+1|0;s=s+1|0;if((h|0)!=(s|0)){continue}break}}e=K[c+24|0]|K[c+25|0]<<8|(K[c+26|0]<<16|K[c+27|0]<<24);f=K[c+20|0]|K[c+21|0]<<8|(K[c+22|0]<<16|K[c+23|0]<<24);H[d+19|0]=f;H[d+20|0]=f>>>8;H[d+21|0]=f>>>16;H[d+22|0]=f>>>24;H[d+23|0]=e;H[d+24|0]=e>>>8;H[d+25|0]=e>>>16;H[d+26|0]=e>>>24;f=K[c+32|0]|K[c+33|0]<<8|(K[c+34|0]<<16|K[c+35|0]<<24);c=K[c+28|0]|K[c+29|0]<<8|(K[c+30|0]<<16|K[c+31|0]<<24);H[d+27|0]=c;H[d+28|0]=c>>>8;H[d+29|0]=c>>>16;H[d+30|0]=c>>>24;H[d+31|0]=f;H[d+32|0]=f>>>8;H[d+33|0]=f>>>16;H[d+34|0]=f>>>24;M=J[a+60>>2];h=J[M+28>>2];ya:{if((h|0)!=J[M+32>>2]){break ya}t=h?h<<1:1;if((t|0)<=(h|0)){break ya}za:{if(!t){m=0;break za}J[8456]=J[8456]+1;m=ua[J[8258]](P(t,36),16)|0;h=J[M+28>>2]}Aa:{if((h|0)<=0){break Aa}o=0;while(1){f=J[M+36>>2];c=P(o,36);F=c+m|0;J[F+12>>2]=0;H[F+16|0]=1;J[F+4>>2]=0;J[F+8>>2]=0;c=c+f|0;w=J[c+4>>2];Ba:{if((w|0)<=0){J[F+4>>2]=w;break Ba}J[8456]=J[8456]+1;j=w<<2;C=ua[J[8258]](j,16)|0;X=J[F+12>>2];k=J[F+4>>2];Ca:{Da:{if((k|0)>0){s=0;e=0;if(k>>>0>=4){g=k&-4;x=0;while(1){A=e<<2;J[A+C>>2]=J[A+X>>2];f=A|4;J[f+C>>2]=J[f+X>>2];f=A|8;J[f+C>>2]=J[f+X>>2];f=A|12;J[f+C>>2]=J[f+X>>2];e=e+4|0;x=x+4|0;if((g|0)!=(x|0)){continue}break}}g=k&3;if(g){while(1){f=e<<2;J[f+C>>2]=J[f+X>>2];e=e+1|0;s=s+1|0;if((g|0)!=(s|0)){continue}break}}if(K[F+16|0]){break Da}break Ca}if(!X|!K[F+16|0]){break Ca}}if(X){J[8457]=J[8457]+1;ua[J[8259]](X)}}J[F+12>>2]=C;H[F+16|0]=1;J[F+8>>2]=w;s=0;A=Fa(C,0,j);J[F+4>>2]=w;k=J[c+12>>2];e=0;if(w>>>0>=4){g=w&-4;x=0;while(1){j=e<<2;J[j+A>>2]=J[j+k>>2];f=j|4;J[f+A>>2]=J[f+k>>2];f=j|8;J[f+A>>2]=J[f+k>>2];f=j|12;J[f+A>>2]=J[f+k>>2];e=e+4|0;x=x+4|0;if((g|0)!=(x|0)){continue}break}}g=w&3;if(!g){break Ba}while(1){f=e<<2;J[f+A>>2]=J[f+k>>2];e=e+1|0;s=s+1|0;if((g|0)!=(s|0)){continue}break}}f=J[c+24>>2];J[F+20>>2]=J[c+20>>2];J[F+24>>2]=f;f=J[c+32>>2];J[F+28>>2]=J[c+28>>2];J[F+32>>2]=f;o=o+1|0;if((o|0)!=(h|0)){continue}break}c=0;f=J[M+28>>2];if((f|0)<=0){break Aa}while(1){h=J[M+36>>2]+P(c,36)|0;e=J[h+12>>2];if(!(e?!e|!K[h+16|0]:1)){J[8457]=J[8457]+1;ua[J[8259]](e)}J[h+12>>2]=0;H[h+16|0]=1;J[h+4>>2]=0;J[h+8>>2]=0;c=c+1|0;if((f|0)!=(c|0)){continue}break}}c=J[M+36>>2];if(!(c?!c|!K[M+40|0]:1)){J[8457]=J[8457]+1;ua[J[8259]](c)}J[M+36>>2]=m;H[M+40|0]=1;J[M+32>>2]=t;h=J[M+28>>2]}m=J[M+36>>2]+P(h,36)|0;J[m+12>>2]=0;H[m+16|0]=1;J[m+4>>2]=0;J[m+8>>2]=0;Ea:{if((U|0)<=0){J[m+4>>2]=U;break Ea}J[8456]=J[8456]+1;h=U<<2;k=ua[J[8258]](h,16)|0;o=J[m+12>>2];g=J[m+4>>2];Fa:{Ga:{if((g|0)>0){s=0;e=0;if(g>>>0>=4){f=g&-4;x=0;while(1){j=e<<2;J[j+k>>2]=J[j+o>>2];c=j|4;J[c+k>>2]=J[c+o>>2];c=j|8;J[c+k>>2]=J[c+o>>2];c=j|12;J[c+k>>2]=J[c+o>>2];e=e+4|0;x=x+4|0;if((f|0)!=(x|0)){continue}break}}f=g&3;if(f){while(1){c=e<<2;J[c+k>>2]=J[c+o>>2];e=e+1|0;s=s+1|0;if((f|0)!=(s|0)){continue}break}}if(K[m+16|0]){break Ga}break Fa}if(!o|!K[m+16|0]){break Fa}}if(o){J[8457]=J[8457]+1;ua[J[8259]](o)}}J[m+12>>2]=k;H[m+16|0]=1;J[m+8>>2]=U;f=0;j=Fa(k,0,h);J[m+4>>2]=U;e=0;if(U>>>0>=4){h=U&-4;s=0;while(1){g=e<<2;J[g+j>>2]=J[b+g>>2];c=g|4;J[c+j>>2]=J[b+c>>2];c=g|8;J[c+j>>2]=J[b+c>>2];c=g|12;J[c+j>>2]=J[b+c>>2];e=e+4|0;s=s+4|0;if((h|0)!=(s|0)){continue}break}}h=U&3;if(!h){break Ea}while(1){c=e<<2;J[c+j>>2]=J[b+c>>2];e=e+1|0;f=f+1|0;if((h|0)!=(f|0)){continue}break}}f=K[d+23|0]|K[d+24|0]<<8|(K[d+25|0]<<16|K[d+26|0]<<24);c=K[d+19|0]|K[d+20|0]<<8|(K[d+21|0]<<16|K[d+22|0]<<24);H[m+20|0]=c;H[m+21|0]=c>>>8;H[m+22|0]=c>>>16;H[m+23|0]=c>>>24;H[m+24|0]=f;H[m+25|0]=f>>>8;H[m+26|0]=f>>>16;H[m+27|0]=f>>>24;f=K[d+31|0]|K[d+32|0]<<8|(K[d+33|0]<<16|K[d+34|0]<<24);c=K[d+27|0]|K[d+28|0]<<8|(K[d+29|0]<<16|K[d+30|0]<<24);H[m+28|0]=c;H[m+29|0]=c>>>8;H[m+30|0]=c>>>16;H[m+31|0]=c>>>24;H[m+32|0]=f;H[m+33|0]=f>>>8;H[m+34|0]=f>>>16;H[m+35|0]=f>>>24;J[M+28>>2]=J[M+28>>2]+1;if(b){J[8457]=J[8457]+1;ua[J[8259]](b)}z=z+1|0;if((z|0)!=(T|0)){continue}break}}if(n){J[8457]=J[8457]+1;ua[J[8259]](n)}if(i){continue}break}ie(J[a+60>>2]);if(r){J[8457]=J[8457]+1;ua[J[8259]](r)}if((l|0)<=0){break A}c=0;while(1){b=P(c,36)+S|0;a=J[b+12>>2];if(!(a?!a|!K[b+16|0]:1)){J[8457]=J[8457]+1;ua[J[8259]](a)}J[b+12>>2]=0;H[b+16|0]=1;J[b+4>>2]=0;J[b+8>>2]=0;c=c+1|0;if((l|0)!=(c|0)){continue}break}break z}ie(J[a+60>>2])}if(!S){break y}}if(S){J[8457]=J[8457]+1;ua[J[8259]](S)}}if($){J[8457]=J[8457]+1;ua[J[8259]]($)}a=J[d+164>>2];if(!(a?!a|!K[d+168|0]:1)){J[8457]=J[8457]+1;ua[J[8259]](a)}J[d+164>>2]=0;H[d+168|0]=1;J[d+156>>2]=0;J[d+160>>2]=0;a=J[d+144>>2];if(!(a?!a|!K[d+148|0]:1)){J[8457]=J[8457]+1;ua[J[8259]](a)}J[d+144>>2]=0;H[d+148|0]=1;J[d+136>>2]=0;J[d+140>>2]=0;a=J[d+124>>2];if(!(a?!a|!K[d+128|0]:1)){J[8457]=J[8457]+1;ua[J[8259]](a)}a=J[d+184>>2];if(!(a?!a|!K[d+188|0]:1)){J[8457]=J[8457]+1;ua[J[8259]](a)}sa=d+192|0;return 1}function Km(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=Q(0),h=0,i=0,j=Q(0),k=0,l=Q(0),m=Q(0),n=0,o=0,p=Q(0),q=0,r=0,s=Q(0),t=Q(0),u=0,v=0,w=Q(0),x=0,y=Q(0),z=0,A=0,B=Q(0),C=Q(0),D=Q(0),E=Q(0),F=Q(0),G=Q(0),I=Q(0),L=Q(0),M=Q(0),O=Q(0),S=Q(0),T=Q(0),U=Q(0),V=Q(0),W=Q(0),X=Q(0),Z=Q(0),_=Q(0),$=Q(0),aa=Q(0),ba=Q(0),ca=0,da=Q(0),ea=Q(0),fa=Q(0),ga=Q(0),ha=Q(0),ia=Q(0),ja=0,ka=Q(0),la=Q(0),ma=Q(0),na=Q(0),oa=Q(0),pa=0,qa=0,ra=Q(0),ta=Q(0),va=Q(0),wa=0;f=sa-928|0;sa=f;h=J[a+56>>2];if(!h){h=J[a+4>>2];h=ua[J[J[h>>2]+12>>2]](h,J[b+8>>2],J[c+8>>2])|0;H[a+52|0]=1;J[a+56>>2]=h}J[e+4>>2]=h;x=J[c+4>>2];a:{b:{c:{d:{z=J[b+4>>2];switch(J[z+4>>2]-8|0){case 0:break c;case 2:break d;default:break b}}e:{switch(J[x+4>>2]-8|0){case 2:d=z+36|0;a=J[z+60>>2];g=N[d+(a<<2)>>2];l=N[d+((a+2|0)%3<<2)>>2];k=x+36|0;d=J[x+60>>2];j=N[h+848>>2];g=Sc(f+432|0,f+8|0,g,l,N[k+(d<<2)>>2],N[k+((d+2|0)%3<<2)>>2],a,d,J[b+12>>2],J[c+12>>2],j);if(g>2]+16>>2]](e,f+432|0,f+8|0,g)}a=J[e+4>>2];if(!J[a+844>>2]){break a}c=J[a+836>>2];d=J[J[e+8>>2]+8>>2];b=(c|0)==(d|0);r=a;a=J[J[e+12>>2]+8>>2];Ua(r,(b?c:a)+4|0,(b?a:d)+4|0);break a;case 0:break e;default:break b}}d=z+36|0;a=J[z+60>>2];j=N[h+848>>2];g=Sc(f+432|0,f+8|0,N[d+(a<<2)>>2],N[d+((a+2|0)%3<<2)>>2],Q(0),Q(N[x+36>>2]*N[x+20>>2]),a,1,J[b+12>>2],J[c+12>>2],j);if(g>2]+16>>2]](e,f+432|0,f+8|0,g)}a=J[e+4>>2];if(!J[a+844>>2]){break a}c=J[a+836>>2];d=J[J[e+8>>2]+8>>2];b=(c|0)==(d|0);r=a;a=J[J[e+12>>2]+8>>2];Ua(r,(b?c:a)+4|0,(b?a:d)+4|0);break a}if(J[x+4>>2]!=10){break b}d=x+36|0;a=J[x+60>>2];j=N[h+848>>2];g=Sc(f+432|0,f+8|0,Q(0),Q(N[z+36>>2]*N[z+20>>2]),N[d+(a<<2)>>2],N[d+((a+2|0)%3<<2)>>2],1,a,J[b+12>>2],J[c+12>>2],j);if(g>2]+16>>2]](e,f+432|0,f+8|0,g)}a=J[e+4>>2];if(!J[a+844>>2]){break a}c=J[a+836>>2];d=J[J[e+8>>2]+8>>2];b=(c|0)==(d|0);r=a;a=J[J[e+12>>2]+8>>2];Ua(r,(b?c:a)+4|0,(b?a:d)+4|0);break a}J[f+920>>2]=1566444395;H[f+764|0]=0;J[f+740>>2]=953267991;r=sc(f+352|0,z,x,f+432|0,J[a+8>>2]);J[r+32>>2]=x;J[r+28>>2]=z;j=Q(Q(Q(Q(ua[J[J[z>>2]+48>>2]](z))+Q(ua[J[J[x>>2]+48>>2]](x)))+N[J[a+56>>2]+848>>2])+N[e+32>>2]);N[f+920>>2]=j*j;h=J[b+12>>2];k=J[h+12>>2];J[f+800>>2]=J[h+8>>2];J[f+804>>2]=k;k=J[h+4>>2];J[f+792>>2]=J[h>>2];J[f+796>>2]=k;k=J[h+28>>2];J[f+816>>2]=J[h+24>>2];J[f+820>>2]=k;k=J[h+20>>2];J[f+808>>2]=J[h+16>>2];J[f+812>>2]=k;k=J[h+44>>2];J[f+832>>2]=J[h+40>>2];J[f+836>>2]=k;k=J[h+36>>2];J[f+824>>2]=J[h+32>>2];J[f+828>>2]=k;k=J[h+60>>2];J[f+848>>2]=J[h+56>>2];J[f+852>>2]=k;k=J[h+52>>2];J[f+840>>2]=J[h+48>>2];J[f+844>>2]=k;h=J[c+12>>2];k=J[h+12>>2];J[f+864>>2]=J[h+8>>2];J[f+868>>2]=k;k=J[h+4>>2];J[f+856>>2]=J[h>>2];J[f+860>>2]=k;i=J[h+20>>2];k=f+872|0;J[k>>2]=J[h+16>>2];J[k+4>>2]=i;i=J[h+28>>2];J[f+880>>2]=J[h+24>>2];J[f+884>>2]=i;n=J[h+36>>2];i=f+888|0;J[i>>2]=J[h+32>>2];J[i+4>>2]=n;n=J[h+44>>2];J[f+896>>2]=J[h+40>>2];J[f+900>>2]=n;q=J[h+52>>2];n=f+904|0;J[n>>2]=J[h+48>>2];J[n+4>>2]=q;q=J[h+60>>2];J[f+912>>2]=J[h+56>>2];J[f+916>>2]=q;f:{q=J[z+4>>2];if((q|0)>6){break f}h=J[x+4>>2];if((h|0)>6){break f}J[f+348>>2]=15212;if(q){W=Q(ua[J[J[z>>2]+48>>2]](z));h=J[x+4>>2]}if(h){g=Q(ua[J[J[x>>2]+48>>2]](x))}H[f+44|0]=0;N[f+36>>2]=g;N[f+32>>2]=W;J[f+12>>2]=e;J[f+8>>2]=15444;if(!J[z+60>>2]){break f}if(J[x+60>>2]){I=N[J[a+56>>2]+848>>2];g:{h:{if(K[d+24|0]){W=Q(-1.0000000150474662e30);v=J[z+60>>2];u=J[x+60>>2];n=J[b+12>>2];q=J[c+12>>2];i=sa-96|0;sa=i;J[8759]=J[8759]+1;g=N[v+72>>2];j=N[v+64>>2];y=N[v+68>>2];l=N[u+72>>2];w=N[u+64>>2];C=N[u+68>>2];$=Q(Q(Q(Q(g*N[n+40>>2])+Q(Q(j*N[n+32>>2])+Q(y*N[n+36>>2])))+N[n+56>>2])-Q(Q(Q(l*N[q+40>>2])+Q(Q(w*N[q+32>>2])+Q(C*N[q+36>>2])))+N[q+56>>2]));aa=Q(Q(Q(Q(g*N[n+24>>2])+Q(Q(j*N[n+16>>2])+Q(y*N[n+20>>2])))+N[n+52>>2])-Q(Q(Q(l*N[q+24>>2])+Q(Q(w*N[q+16>>2])+Q(C*N[q+20>>2])))+N[q+52>>2]));ba=Q(Q(Q(Q(g*N[n+8>>2])+Q(Q(j*N[n>>2])+Q(y*N[n+4>>2])))+N[n+48>>2])-Q(Q(Q(l*N[q+8>>2])+Q(Q(w*N[q>>2])+Q(C*N[q+4>>2])))+N[q+48>>2]));j=Q(34028234663852886e22);i:{j:{h=J[v+28>>2];if((h|0)>0){while(1){d=J[v+36>>2]+P(A,36)|0;y=N[d+28>>2];l=N[d+20>>2];w=N[d+24>>2];C=N[n+8>>2];D=N[n>>2];F=N[n+4>>2];Z=N[n+24>>2];_=N[n+16>>2];G=N[n+20>>2];L=N[n+40>>2];M=N[n+32>>2];X=N[n+36>>2];J[i+12>>2]=0;g=Q(Q(L*y)+Q(Q(M*l)+Q(w*X)));N[i+8>>2]=g;p=Q(Q(Z*y)+Q(Q(_*l)+Q(w*G)));N[i+4>>2]=p;t=Q(Q(C*y)+Q(Q(D*l)+Q(w*F)));N[i>>2]=t;if(Q(Q($*g)+Q(Q(ba*t)+Q(aa*p)))>2]=g;p=Q(-p);N[i+4>>2]=p;t=Q(-t);N[i>>2]=t}J[8757]=J[8757]+1;k:{if(K[33065]){y=Q(Q($*g)+Q(Q(ba*t)+Q(aa*p)));l=N[v+88>>2];S=Q(-l);B=l;l=Q(Q(L*g)+Q(Q(C*t)+Q(Z*p)));O=Q((l>2];S=Q(-l);B=l;l=Q(Q(M*g)+Q(Q(D*t)+Q(_*p)));B=Q((l>2];l=Q(O+Q(B+Q(l*(l>2];F=l>w?l:w;l=N[u+88>>2];S=Q(-l);B=l;l=Q(Q(N[q+40>>2]*g)+Q(Q(N[q+8>>2]*t)+Q(p*N[q+24>>2])));O=Q((l>2];S=Q(-l);B=l;l=Q(Q(N[q+32>>2]*g)+Q(Q(N[q>>2]*t)+Q(p*N[q+16>>2])));B=Q((l>2]*g)+Q(Q(N[q+4>>2]*t)+Q(p*N[q+20>>2])));l=N[u+84>>2];g=Q(O+Q(B+Q(g*(g>2];g=Q(F+(g>l?g:l));l=Q(y+g);g=Q(g-y);if((g>l?l:g)>j){break k}}J[8758]=J[8758]+1;mb(v,n,i,i+92|0,i+88|0,i- -64|0,i+48|0);mb(u,q,i,i+84|0,i+80|0,i+32|0,i+16|0);g=N[i+88>>2];y=N[i+84>>2];if(g>2];w=N[i+92>>2];if(l>2];J[f+248>>2]=J[i>>2];J[f+252>>2]=d;d=J[i+12>>2];J[f+256>>2]=J[i+8>>2];J[f+260>>2]=d;j=g}A=A+1|0;if((h|0)!=(A|0)){continue}break}}h=J[u+28>>2];if((h|0)>0){A=0;while(1){d=J[u+36>>2]+P(A,36)|0;y=N[d+28>>2];l=N[d+20>>2];w=N[d+24>>2];C=N[q+8>>2];D=N[q>>2];F=N[q+4>>2];Z=N[q+24>>2];_=N[q+16>>2];G=N[q+20>>2];L=N[q+40>>2];M=N[q+32>>2];X=N[q+36>>2];J[i+12>>2]=0;g=Q(Q(L*y)+Q(Q(M*l)+Q(w*X)));N[i+8>>2]=g;p=Q(Q(Z*y)+Q(Q(_*l)+Q(w*G)));N[i+4>>2]=p;t=Q(Q(C*y)+Q(Q(D*l)+Q(w*F)));N[i>>2]=t;if(Q(Q($*g)+Q(Q(ba*t)+Q(aa*p)))>2]=g;p=Q(-p);N[i+4>>2]=p;t=Q(-t);N[i>>2]=t}J[8757]=J[8757]+1;l:{if(K[33065]){y=Q(Q($*g)+Q(Q(ba*t)+Q(aa*p)));l=N[v+88>>2];S=Q(-l);B=l;l=Q(Q(N[n+40>>2]*g)+Q(Q(N[n+8>>2]*t)+Q(p*N[n+24>>2])));O=Q((l>2];S=Q(-l);B=l;l=Q(Q(N[n+32>>2]*g)+Q(Q(N[n>>2]*t)+Q(p*N[n+16>>2])));B=Q((l>2]*g)+Q(Q(N[n+4>>2]*t)+Q(p*N[n+20>>2])));w=N[v+84>>2];l=Q(O+Q(B+Q(l*(l>2];w=l>w?l:w;l=N[u+88>>2];S=Q(-l);B=l;l=Q(Q(L*g)+Q(Q(C*t)+Q(Z*p)));O=Q((l>2];S=Q(-l);B=l;l=Q(Q(M*g)+Q(Q(D*t)+Q(_*p)));B=Q((l>2];g=Q(O+Q(B+Q(g*(g>2];g=Q(w+(g>l?g:l));l=Q(y+g);g=Q(g-y);if((g>l?l:g)>j){break l}}J[8758]=J[8758]+1;mb(v,n,i,i+92|0,i+88|0,i- -64|0,i+48|0);mb(u,q,i,i+84|0,i+80|0,i+32|0,i+16|0);g=N[i+88>>2];y=N[i+84>>2];if(g>2];w=N[i+92>>2];if(l>2];J[f+248>>2]=J[i>>2];J[f+252>>2]=d;d=J[i+12>>2];J[f+256>>2]=J[i+8>>2];J[f+260>>2]=d;j=g}A=A+1|0;if((h|0)!=(A|0)){continue}break}}ca=1;d=J[v+48>>2];m:{if((d|0)<=0){break m}h=0;A=J[u+48>>2];if((A|0)<=0){break m}L=Q(0);r=-1;k=-1;M=Q(0);X=Q(0);Z=Q(0);_=Q(0);G=Q(0);while(1){if((A|0)>0){d=J[v+56>>2]+(h<<4)|0;g=N[d+8>>2];w=N[d>>2];C=N[d+4>>2];y=Q(Q(N[n+24>>2]*g)+Q(Q(N[n+16>>2]*w)+Q(C*N[n+20>>2])));ra=Q(-y);l=Q(Q(N[n+8>>2]*g)+Q(Q(N[n>>2]*w)+Q(C*N[n+4>>2])));ta=Q(-l);w=Q(Q(N[n+40>>2]*g)+Q(Q(N[n+32>>2]*w)+Q(C*N[n+36>>2])));va=Q(-w);d=0;while(1){A=J[u+56>>2]+(d<<4)|0;F=N[A+8>>2];p=N[A>>2];t=N[A+4>>2];O=N[q+40>>2];ea=N[q+32>>2];fa=N[q+36>>2];ga=N[q+24>>2];ka=N[q+16>>2];la=N[q+20>>2];ma=N[q+8>>2];na=N[q>>2];oa=N[q+4>>2];J[i+12>>2]=0;C=Q(Q(ga*F)+Q(Q(ka*p)+Q(t*la)));D=Q(Q(ma*F)+Q(Q(na*p)+Q(t*oa)));g=Q(Q(l*C)+Q(D*ra));F=Q(Q(O*F)+Q(Q(ea*p)+Q(t*fa)));p=Q(Q(w*D)+Q(F*ta));t=Q(Q(y*F)+Q(C*va));n:{if(!(+Q(R(t))>1e-6|+Q(R(p))>1e-6|+Q(R(g))>1e-6)){break n}ha=Q(Q(1)/Q(Y(Q(Q(g*g)+Q(Q(t*t)+Q(p*p))))));g=Q(g*ha);N[i+8>>2]=g;p=Q(p*ha);N[i+4>>2]=p;t=Q(t*ha);N[i>>2]=t;if(Q(Q($*g)+Q(Q(ba*t)+Q(aa*p)))>2]=g;p=Q(-p);N[i+4>>2]=p;t=Q(-t);N[i>>2]=t}J[8757]=J[8757]+1;if(K[33065]){ha=Q(Q($*g)+Q(Q(ba*t)+Q(aa*p)));B=N[v+88>>2];da=Q(-B);S=B;B=Q(Q(N[n+40>>2]*g)+Q(Q(N[n+8>>2]*t)+Q(p*N[n+24>>2])));ia=Q((B>2];da=Q(-B);S=B;B=Q(Q(N[n+32>>2]*g)+Q(Q(N[n>>2]*t)+Q(p*N[n+16>>2])));S=Q((B>2]*g)+Q(Q(N[n+4>>2]*t)+Q(p*N[n+20>>2])));da=N[v+84>>2];B=Q(ia+Q(S+Q(B*(B>2];ia=B>da?B:da;B=N[u+88>>2];O=Q(Q(O*g)+Q(Q(ma*t)+Q(ga*p)));da=Q((O>2];S=Q(-O);B=O;O=Q(Q(ea*g)+Q(Q(na*t)+Q(ka*p)));g=Q(Q(fa*g)+Q(Q(oa*t)+Q(la*p)));p=N[u+84>>2];g=Q(da+Q(Q((O>2];g=Q(ia+(g>p?g:p));p=Q(ha+g);g=Q(g-ha);if((g>p?p:g)>j){break n}}J[8758]=J[8758]+1;mb(v,n,i,i+92|0,i+88|0,i- -64|0,i+48|0);mb(u,q,i,i+84|0,i+80|0,i+32|0,i+16|0);g=N[i+88>>2];p=N[i+84>>2];if(g>2];O=N[i+92>>2];if(t>2];_=N[k+4>>2];k=A?i+48|0:i- -64|0;L=N[k+8>>2];M=N[k+4>>2];j=N[i+16>>2];m=N[i+32>>2];s=N[i+64>>2];E=N[i+48>>2];k=J[i+4>>2];J[f+248>>2]=J[i>>2];J[f+252>>2]=k;k=J[i+12>>2];J[f+256>>2]=J[i+8>>2];J[f+260>>2]=k;X=A?E:s;G=A?m:j;m=D;s=C;E=F;T=l;U=y;V=w;k=h;r=d;j=g}d=d+1|0;A=J[u+48>>2];if((d|0)<(A|0)){continue}break}d=J[v+48>>2]}h=h+1|0;if((h|0)<(d|0)){continue}break}if((k|r)<0){break m}w=Q(Z-L);C=Q(G-X);D=Q(_-M);l=Q(Q(V*w)+Q(Q(T*C)+Q(U*D)));g=Q(0);F=Q(-Q(Q(E*w)+Q(Q(m*C)+Q(s*D))));y=Q(Q(V*E)+Q(Q(T*m)+Q(U*s)));j=Q(Q(1)-Q(y*y));o:{if(j==Q(0)){break o}g=Q(-1.0000000150474662e30);j=Q(Q(Q(F*y)+l)/j);if(jQ(1.0000000150474662e30))){break o}g=Q(1.0000000150474662e30)}p=Q(Q(g*y)+F);p:{if(pQ(1.0000000150474662e30))){p=Q(-1.0000000150474662e30);g=j;break p}p=Q(-1.0000000150474662e30);break p}if(!(p>Q(1.0000000150474662e30))){break p}g=Q(-1.0000000150474662e30);p=Q(1.0000000150474662e30);j=Q(Q(y*Q(1.0000000150474662e30))+l);if(jQ(1.0000000150474662e30))){break p}g=Q(1.0000000150474662e30)}J[i+76>>2]=0;E=Q(E*p);j=Q(E+Q(w-Q(V*g)));V=Q(m*p);m=Q(V+Q(C-Q(T*g)));T=Q(s*p);g=Q(T+Q(D-Q(U*g)));s=Q(Q(j*j)+Q(Q(m*m)+Q(g*g)));if(!(s>Q(1.1920928955078125e-7))){break m}l=j;U=Q(Y(s));j=Q(Q(1)/U);s=Q(l*j);N[i+72>>2]=s;g=Q(g*j);N[i+68>>2]=g;j=Q(m*j);N[i+64>>2]=j;if(Q(Q(s*$)+Q(Q(j*ba)+Q(aa*g)))>2]=-s;N[i+68>>2]=-g;N[i+64>>2]=-j}J[i+60>>2]=0;N[i+56>>2]=Z+E;N[i+52>>2]=_+T;N[i+48>>2]=G+V;ua[J[J[e>>2]+16>>2]](e,i- -64|0,i+48|0,Q(-U))}g=N[f+256>>2];j=N[f+248>>2];m=N[f+252>>2];if(!(Q(Q($*g)+Q(Q(ba*j)+Q(aa*m)))>2]=0;N[f+256>>2]=-g;N[f+252>>2]=-m;N[f+248>>2]=-j;break i}ca=0}sa=i+96|0;if(ca){break h}break g}Za(r,f+792|0,f+8|0,J[d+20>>2],0);d=J[f+28>>2];J[f+256>>2]=J[f+24>>2];J[f+260>>2]=d;d=J[f+20>>2];J[f+248>>2]=J[f+16>>2];J[f+252>>2]=d;if(!K[f+44|0]){break g}W=N[f+40>>2];if(!(W>2]&J[a+20>>2])<0){d=J[a+24>>2];if(!(d?!d|!K[a+28|0]:1)){J[8457]=J[8457]+1;ua[J[8259]](d)}H[a+28|0]=1;J[a+20>>2]=0;J[a+24>>2]=0}J[a+16>>2]=0;ca=J[z+60>>2];n=J[x+60>>2];o=J[b+12>>2];r=J[c+12>>2];i=sa-16|0;sa=i;g=N[f+256>>2];j=N[f+248>>2];m=N[f+252>>2];N[i+12>>2]=N[f+260>>2];l=g;g=Q(Q(1)/Q(Y(Q(Q(g*g)+Q(Q(j*j)+Q(m*m))))));E=Q(l*g);N[i+8>>2]=E;T=Q(m*g);N[i+4>>2]=T;U=Q(j*g);N[i>>2]=U;q=-1;c=J[n+28>>2];if((c|0)>0){V=N[r+40>>2];y=N[r+36>>2];l=N[r+24>>2];w=N[r+20>>2];d=J[n+36>>2];C=N[r+32>>2];D=N[r+16>>2];F=N[r+8>>2];p=N[r+4>>2];t=N[r>>2];h=0;g=Q(-34028234663852886e22);while(1){b=d+P(h,36)|0;j=N[b+28>>2];m=N[b+20>>2];s=N[b+24>>2];j=Q(Q(Q(Q(V*j)+Q(Q(C*m)+Q(s*y)))*E)+Q(Q(Q(Q(F*j)+Q(Q(t*m)+Q(s*p)))*U)+Q(Q(Q(l*j)+Q(Q(D*m)+Q(s*w)))*T)));b=j>g;g=b?j:g;q=b?h:q;h=h+1|0;if((c|0)!=(h|0)){continue}break}}c=a+12|0;if((J[c+4>>2]&J[c+8>>2])<0){b=J[c+12>>2];if(!(b?!b|!K[c+16|0]:1)){J[8457]=J[8457]+1;ua[J[8259]](b)}H[c+16|0]=1;J[c+8>>2]=0;J[c+12>>2]=0}J[c+4>>2]=0;pa=J[n+36>>2]+P(q,36)|0;qa=J[pa+4>>2];if((qa|0)>0){d=0;x=0;while(1){b=J[n+16>>2]+(J[J[pa+12>>2]+(x<<2)>>2]<<4)|0;g=N[b+8>>2];j=N[b>>2];m=N[b+4>>2];s=Q(Q(Q(g*N[r+40>>2])+Q(Q(j*N[r+32>>2])+Q(m*N[r+36>>2])))+N[r+56>>2]);E=Q(Q(Q(g*N[r+24>>2])+Q(Q(j*N[r+16>>2])+Q(m*N[r+20>>2])))+N[r+52>>2]);g=Q(Q(Q(g*N[r+8>>2])+Q(Q(j*N[r>>2])+Q(m*N[r+4>>2])))+N[r+48>>2]);q:{if(J[c+8>>2]!=(d|0)){break q}v=d?d<<1:1;if((v|0)<=(d|0)){break q}r:{if(!v){k=0;break r}J[8456]=J[8456]+1;k=ua[J[8258]](v<<4,16)|0;d=J[c+4>>2]}s:{if((d|0)<=0){break s}h=0;if((d|0)!=1){wa=d&-2;b=0;while(1){z=h<<4;A=z+k|0;u=z+J[c+12>>2]|0;ja=J[u+4>>2];J[A>>2]=J[u>>2];J[A+4>>2]=ja;ja=J[u+12>>2];J[A+8>>2]=J[u+8>>2];J[A+12>>2]=ja;u=z|16;z=u+k|0;u=u+J[c+12>>2]|0;A=J[u+4>>2];J[z>>2]=J[u>>2];J[z+4>>2]=A;A=J[u+12>>2];J[z+8>>2]=J[u+8>>2];J[z+12>>2]=A;h=h+2|0;b=b+2|0;if((wa|0)!=(b|0)){continue}break}}if(!(d&1)){break s}b=h<<4;d=b+k|0;b=b+J[c+12>>2]|0;h=J[b+4>>2];J[d>>2]=J[b>>2];J[d+4>>2]=h;h=J[b+12>>2];J[d+8>>2]=J[b+8>>2];J[d+12>>2]=h}b=J[c+12>>2];if(!(b?!b|!K[c+16|0]:1)){J[8457]=J[8457]+1;ua[J[8259]](b)}J[c+12>>2]=k;H[c+16|0]=1;J[c+8>>2]=v;d=J[c+4>>2]}b=J[c+12>>2]+(d<<4)|0;J[b+12>>2]=0;N[b+8>>2]=s;N[b+4>>2]=E;N[b>>2]=g;d=J[c+4>>2]+1|0;J[c+4>>2]=d;x=x+1|0;if((qa|0)!=(x|0)){continue}break}}if((q|0)>=0){Nd(i,ca,o,c,a+32|0,Q(W-I),I,e)}sa=i+16|0}if(!K[a+52|0]){break a}a=J[e+4>>2];if(!J[a+844>>2]){break a}c=J[a+836>>2];d=J[J[e+8>>2]+8>>2];b=(c|0)==(d|0);r=a;a=J[J[e+12>>2]+8>>2];Ua(r,(b?c:a)+4|0,(b?a:d)+4|0);break a}if(J[x+4>>2]!=1){break f}J[f+252>>2]=0;h=J[c+12>>2];s=N[h+52>>2];E=N[h+20>>2];T=N[h+24>>2];U=N[h+56>>2];V=N[h+36>>2];y=N[h+40>>2];g=N[x+72>>2];j=N[x+68>>2];l=N[h+16>>2];w=N[h+32>>2];C=N[h+48>>2];D=N[h+8>>2];m=N[x+64>>2];F=N[h>>2];p=N[h+4>>2];J[8456]=J[8456]+1;h=ua[J[8258]](16,16)|0;J[f+260>>2]=h;H[f+264|0]=1;J[f+256>>2]=1;J[h+12>>2]=0;N[h>>2]=C+Q(Q(g*D)+Q(Q(m*F)+Q(j*p)));N[h+8>>2]=U+Q(Q(g*y)+Q(Q(m*w)+Q(j*V)));N[h+4>>2]=s+Q(Q(g*T)+Q(Q(m*l)+Q(j*E)));i=J[f+252>>2];h=i+1|0;J[f+252>>2]=h;g=N[x+88>>2];k=J[c+12>>2];j=N[x+80>>2];m=N[x+84>>2];s=Q(Q(Q(g*N[k+40>>2])+Q(Q(j*N[k+32>>2])+Q(m*N[k+36>>2])))+N[k+56>>2]);E=Q(Q(Q(g*N[k+24>>2])+Q(Q(j*N[k+16>>2])+Q(m*N[k+20>>2])))+N[k+52>>2]);g=Q(Q(Q(g*N[k+8>>2])+Q(Q(j*N[k>>2])+Q(m*N[k+4>>2])))+N[k+48>>2]);t:{if(J[f+256>>2]!=(h|0)){break t}n=h?h<<1:1;if((n|0)<=(h|0)){break t}k=0;if(n){J[8456]=J[8456]+1;k=ua[J[8258]](n<<4,16)|0}u:{if((i|0)<0){break u}h=i+1|0;A=h&1;v:{if(!i){h=0;break v}ca=h&-2;h=0;q=0;while(1){v=h<<4;u=v+k|0;i=v+J[f+260>>2]|0;o=J[i+4>>2];J[u>>2]=J[i>>2];J[u+4>>2]=o;o=J[i+12>>2];J[u+8>>2]=J[i+8>>2];J[u+12>>2]=o;i=v|16;v=i+k|0;i=i+J[f+260>>2]|0;u=J[i+4>>2];J[v>>2]=J[i>>2];J[v+4>>2]=u;u=J[i+12>>2];J[v+8>>2]=J[i+8>>2];J[v+12>>2]=u;h=h+2|0;q=q+2|0;if((ca|0)!=(q|0)){continue}break}}if(!A){break u}h=h<<4;i=h+k|0;h=h+J[f+260>>2]|0;q=J[h+4>>2];J[i>>2]=J[h>>2];J[i+4>>2]=q;q=J[h+12>>2];J[i+8>>2]=J[h+8>>2];J[i+12>>2]=q}h=J[f+260>>2];if(!(h?!h|!K[f+264|0]:1)){J[8457]=J[8457]+1;ua[J[8259]](h)}J[f+260>>2]=k;H[f+264|0]=1;J[f+256>>2]=n;h=J[f+252>>2]}h=J[f+260>>2]+(h<<4)|0;J[h+12>>2]=0;N[h+8>>2]=s;N[h+4>>2]=E;N[h>>2]=g;k=J[f+252>>2];h=k+1|0;J[f+252>>2]=h;g=N[x+104>>2];c=J[c+12>>2];j=N[x+96>>2];m=N[x+100>>2];s=Q(Q(Q(g*N[c+40>>2])+Q(Q(j*N[c+32>>2])+Q(m*N[c+36>>2])))+N[c+56>>2]);E=Q(Q(Q(g*N[c+24>>2])+Q(Q(j*N[c+16>>2])+Q(m*N[c+20>>2])))+N[c+52>>2]);g=Q(Q(Q(g*N[c+8>>2])+Q(Q(j*N[c>>2])+Q(m*N[c+4>>2])))+N[c+48>>2]);w:{if(J[f+256>>2]!=(h|0)){break w}i=h?h<<1:1;if((i|0)<=(h|0)){break w}h=0;if(i){J[8456]=J[8456]+1;h=ua[J[8258]](i<<4,16)|0}x:{if((k|0)<0){break x}c=k+1|0;u=c&1;y:{if(!k){c=0;break y}A=c&-2;c=0;k=0;while(1){q=c<<4;v=q+h|0;n=q+J[f+260>>2]|0;ca=J[n+4>>2];J[v>>2]=J[n>>2];J[v+4>>2]=ca;ca=J[n+12>>2];J[v+8>>2]=J[n+8>>2];J[v+12>>2]=ca;n=q|16;q=n+h|0;n=n+J[f+260>>2]|0;v=J[n+4>>2];J[q>>2]=J[n>>2];J[q+4>>2]=v;v=J[n+12>>2];J[q+8>>2]=J[n+8>>2];J[q+12>>2]=v;c=c+2|0;k=k+2|0;if((A|0)!=(k|0)){continue}break}}if(!u){break x}c=c<<4;k=c+h|0;c=c+J[f+260>>2]|0;n=J[c+4>>2];J[k>>2]=J[c>>2];J[k+4>>2]=n;n=J[c+12>>2];J[k+8>>2]=J[c+8>>2];J[k+12>>2]=n}c=J[f+260>>2];if(!(c?!c|!K[f+264|0]:1)){J[8457]=J[8457]+1;ua[J[8259]](c)}J[f+260>>2]=h;H[f+264|0]=1;J[f+256>>2]=i;h=J[f+252>>2]}c=J[f+260>>2]+(h<<4)|0;J[c+12>>2]=0;N[c+8>>2]=s;N[c+4>>2]=E;N[c>>2]=g;J[f+252>>2]=J[f+252>>2]+1;g=N[J[a+56>>2]+848>>2];Za(r,f+792|0,f+348|0,J[d+20>>2],0);j=N[r+12>>2];m=N[r+4>>2];s=N[r+8>>2];E=Q(Q(j*j)+Q(Q(m*m)+Q(s*s)));if(E>Q(1.1920928955078125e-7)){J[f+344>>2]=0;l=j;j=Q(Q(1)/E);N[f+340>>2]=l*j;N[f+336>>2]=s*j;N[f+332>>2]=m*j;j=N[r+56>>2];m=Q(ua[J[J[z>>2]+48>>2]](z));s=Q(ua[J[J[x>>2]+48>>2]](x));h=0;r=0;c=a+32|0;d=J[c+4>>2];z:{if((d|0)>0){break z}n=(d|0)>=0;if(n){break z}if(J[c+8>>2]<0){A:{if((d|0)<=0){break A}if((d|0)!=1){q=d&-2;while(1){k=h<<4;i=k+J[c+12>>2]|0;x=J[i+4>>2];J[k>>2]=J[i>>2];J[k+4>>2]=x;x=J[i+12>>2];J[k+8>>2]=J[i+8>>2];J[k+12>>2]=x;k=k|16;i=k+J[c+12>>2]|0;x=J[i+4>>2];J[k>>2]=J[i>>2];J[k+4>>2]=x;x=J[i+12>>2];J[k+8>>2]=J[i+8>>2];J[k+12>>2]=x;h=h+2|0;r=r+2|0;if((q|0)!=(r|0)){continue}break}}if(!(d&1)){break A}h=h<<4;k=h+J[c+12>>2]|0;r=J[k+4>>2];J[h>>2]=J[k>>2];J[h+4>>2]=r;r=J[k+12>>2];J[h+8>>2]=J[k+8>>2];J[h+12>>2]=r}h=J[c+12>>2];if(!(h?!h|!K[c+16|0]:1)){J[8457]=J[8457]+1;ua[J[8259]](h)}J[c+12>>2]=0;H[c+16|0]=1;J[c+8>>2]=0;if(n){break z}}r=d^-1;i=0-d&3;if(i){h=0;while(1){n=J[f+320>>2];k=J[c+12>>2]+(d<<4)|0;J[k>>2]=J[f+316>>2];J[k+4>>2]=n;n=J[f+328>>2];J[k+8>>2]=J[f+324>>2];J[k+12>>2]=n;d=d+1|0;h=h+1|0;if((i|0)!=(h|0)){continue}break}}if(r>>>0<3){break z}while(1){r=J[f+320>>2];h=d<<4;k=h+J[c+12>>2]|0;J[k>>2]=J[f+316>>2];J[k+4>>2]=r;r=J[f+328>>2];J[k+8>>2]=J[f+324>>2];J[k+12>>2]=r;r=J[f+328>>2];k=h+J[c+12>>2]|0;J[k+24>>2]=J[f+324>>2];J[k+28>>2]=r;r=J[f+320>>2];J[k+16>>2]=J[f+316>>2];J[k+20>>2]=r;r=J[f+328>>2];k=h+J[c+12>>2]|0;J[k+40>>2]=J[f+324>>2];J[k+44>>2]=r;r=J[f+320>>2];J[k+32>>2]=J[f+316>>2];J[k+36>>2]=r;k=J[f+328>>2];h=h+J[c+12>>2]|0;J[h+56>>2]=J[f+324>>2];J[h+60>>2]=k;k=J[f+320>>2];J[h+48>>2]=J[f+316>>2];J[h+52>>2]=k;d=d+4|0;if(d){continue}break}}J[c+4>>2]=0;Nd(f+332|0,J[z+60>>2],J[b+12>>2],f+248|0,c,Q(Q(Q(j-m)-s)-g),g,e)}if(K[a+52|0]){a=J[e+4>>2];if(J[a+844>>2]){c=J[a+836>>2];d=J[J[e+8>>2]+8>>2];b=(c|0)==(d|0);r=a;a=J[J[e+12>>2]+8>>2];Ua(r,(b?c:a)+4|0,(b?a:d)+4|0)}}a=J[f+260>>2];if(!a|!K[f+264|0]){break a}if(a){J[8457]=J[8457]+1;ua[J[8259]](a)}break a}Za(r,f+792|0,e,J[d+20>>2],0);B:{if(!J[a+64>>2]|J[J[e+4>>2]+844>>2]>=J[a+68>>2]){break B}g=N[r+12>>2];j=N[r+4>>2];m=N[r+8>>2];s=Q(Q(g*g)+Q(Q(j*j)+Q(m*m)));if(!(s>Q(1.1920928955078125e-7))){break B}q=f+856|0;v=f+840|0;u=f+824|0;A=f+808|0;l=m;m=Q(Q(1)/s);E=Q(l*m);l=Q(j*m);w=Q(g*m);C:{if(Q(R(w))>Q(.7071067690849304)){g=Q(Q(1)/Q(Y(Q(Q(E*E)+Q(w*w)))));W=Q(E*g);g=Q(g*Q(-w));j=Q(0);break C}j=Q(Q(1)/Q(Y(Q(Q(l*l)+Q(E*E)))));g=Q(l*j);W=Q(0);j=Q(j*Q(-E))}m=Q(ua[J[J[z>>2]+16>>2]](z));s=Q(ua[J[J[x>>2]+16>>2]](x));T=N[8265];x=m>2];J[f+256>>2]=J[h+8>>2];J[f+260>>2]=z;z=J[h+4>>2];J[f+248>>2]=J[h>>2];J[f+252>>2]=z;h=x?A:k;z=J[h+12>>2];J[f+272>>2]=J[h+8>>2];J[f+276>>2]=z;z=J[h+4>>2];J[f+264>>2]=J[h>>2];J[f+268>>2]=z;h=x?u:i;z=J[h+12>>2];J[f+288>>2]=J[h+8>>2];J[f+292>>2]=z;z=J[h+4>>2];J[f+280>>2]=J[h>>2];J[f+284>>2]=z;h=x?v:n;z=J[h+12>>2];J[f+304>>2]=J[h+8>>2];J[f+308>>2]=z;z=J[h+4>>2];J[f+296>>2]=J[h>>2];J[f+300>>2]=z;h=J[a+64>>2];if((h|0)<=0){break B}m=Q(T/(x?m:s));m=m>Q(.39269909262657166)?Q(.19634954631328583):Q(m*Q(.5));s=Na(m);T=Ma(m);m=Q(Q(W*W)+Q(Q(j*j)+Q(g*g)));if(!(m>Q(1.1920928955078125e-7))){break B}m=Q(s/Q(Y(m)));U=Q(W*m);V=Q(g*m);y=Q(j*m);O=Q(Y(Q(Q(w*w)+Q(Q(l*l)+Q(E*E)))));z=f- -64|0;while(1){s=Q(Q(Q(Q(6.2831854820251465)/Q(h|0))*Q(ca|0))*Q(.5));m=Q(Na(s)/O);g=Q(w*m);j=Q(E*m);m=Q(l*m);s=Ma(s);D:{if(!x){h=J[b+12>>2];o=J[h+12>>2];J[f+800>>2]=J[h+8>>2];J[f+804>>2]=o;o=J[h+4>>2];J[f+792>>2]=J[h>>2];J[f+796>>2]=o;o=J[h+28>>2];J[A+8>>2]=J[h+24>>2];J[A+12>>2]=o;o=J[h+20>>2];J[A>>2]=J[h+16>>2];J[A+4>>2]=o;o=J[h+44>>2];J[u+8>>2]=J[h+40>>2];J[u+12>>2]=o;o=J[h+36>>2];J[u>>2]=J[h+32>>2];J[u+4>>2]=o;o=J[h+60>>2];J[v+8>>2]=J[h+56>>2];J[v+12>>2]=o;o=J[h+52>>2];J[v>>2]=J[h+48>>2];J[v+4>>2]=o;h=J[c+12>>2];F=N[h+36>>2];p=N[h+20>>2];t=N[h+40>>2];W=N[h+24>>2];$=N[h+32>>2];aa=N[h>>2];ba=N[h+16>>2];Z=N[h+4>>2];_=N[h+8>>2];J[f+900>>2]=0;J[f+884>>2]=0;J[f+868>>2]=0;G=Q(Q(m*U)+Q(Q(Q(s*V)-Q(T*j))-Q(g*y)));I=Q(Q(g*U)+Q(Q(j*V)+Q(Q(s*T)+Q(y*m))));L=Q(Q(g*V)+Q(Q(Q(s*y)-Q(T*m))-Q(j*U)));M=Q(Q(j*y)+Q(Q(Q(s*U)-Q(T*g))-Q(m*V)));C=Q(Q(Q(G*g)+Q(Q(I*m)+Q(s*L)))-Q(M*j));D=Q(Q(Q(Q(I*s)-Q(m*L))-Q(G*j))-Q(M*g));X=Q(Q(Q(L*j)+Q(Q(I*g)+Q(s*M)))-Q(G*m));g=Q(Q(Q(M*m)+Q(Q(I*j)+Q(s*G)))-Q(L*g));j=Q(Q(2)/Q(Q(D*D)+Q(Q(X*X)+Q(Q(C*C)+Q(g*g)))));I=Q(C*j);L=Q(C*I);m=Q(g*j);M=Q(g*m);s=Q(Q(1)-Q(L+M));j=Q(X*j);ea=Q(C*j);fa=Q(D*m);G=Q(ea-fa);ga=Q(g*j);I=Q(D*I);g=Q(ga+I);N[f+896>>2]=Q(t*s)+Q(Q(_*G)+Q(W*g));N[f+892>>2]=Q(F*s)+Q(Q(Z*G)+Q(g*p));N[f+888>>2]=Q($*s)+Q(Q(aa*G)+Q(g*ba));g=Q(ga-I);s=Q(C*m);C=Q(D*j);m=Q(s+C);D=Q(X*j);j=Q(Q(1)-Q(L+D));N[f+880>>2]=Q(t*g)+Q(Q(_*m)+Q(W*j));N[f+876>>2]=Q(F*g)+Q(Q(Z*m)+Q(j*p));N[f+872>>2]=Q($*g)+Q(Q(aa*m)+Q(j*ba));g=Q(ea+fa);j=Q(Q(1)-Q(M+D));m=Q(s-C);N[f+864>>2]=Q(t*g)+Q(Q(_*j)+Q(W*m));N[f+860>>2]=Q(F*g)+Q(Q(Z*j)+Q(m*p));N[f+856>>2]=Q($*g)+Q(Q(aa*j)+Q(m*ba));break D}h=J[b+12>>2];F=N[h+36>>2];p=N[h+20>>2];t=N[h+40>>2];W=N[h+24>>2];$=N[h+32>>2];aa=N[h>>2];ba=N[h+16>>2];Z=N[h+4>>2];_=N[h+8>>2];J[f+836>>2]=0;J[f+820>>2]=0;J[f+804>>2]=0;G=Q(Q(m*U)+Q(Q(Q(s*V)-Q(T*j))-Q(g*y)));I=Q(Q(g*U)+Q(Q(j*V)+Q(Q(s*T)+Q(y*m))));L=Q(Q(g*V)+Q(Q(Q(s*y)-Q(T*m))-Q(j*U)));M=Q(Q(j*y)+Q(Q(Q(s*U)-Q(T*g))-Q(m*V)));C=Q(Q(Q(G*g)+Q(Q(I*m)+Q(s*L)))-Q(M*j));D=Q(Q(Q(Q(I*s)-Q(m*L))-Q(G*j))-Q(M*g));X=Q(Q(Q(L*j)+Q(Q(I*g)+Q(s*M)))-Q(G*m));g=Q(Q(Q(M*m)+Q(Q(I*j)+Q(s*G)))-Q(L*g));j=Q(Q(2)/Q(Q(D*D)+Q(Q(X*X)+Q(Q(C*C)+Q(g*g)))));I=Q(C*j);L=Q(C*I);m=Q(g*j);M=Q(g*m);s=Q(Q(1)-Q(L+M));j=Q(X*j);ea=Q(C*j);fa=Q(D*m);G=Q(ea-fa);ga=Q(g*j);I=Q(D*I);g=Q(ga+I);N[f+832>>2]=Q(t*s)+Q(Q(_*G)+Q(W*g));N[f+828>>2]=Q(F*s)+Q(Q(Z*G)+Q(g*p));N[f+824>>2]=Q($*s)+Q(Q(aa*G)+Q(g*ba));g=Q(ga-I);s=Q(C*m);C=Q(D*j);m=Q(s+C);D=Q(X*j);j=Q(Q(1)-Q(L+D));N[f+816>>2]=Q(t*g)+Q(Q(_*m)+Q(W*j));N[f+812>>2]=Q(F*g)+Q(Q(Z*m)+Q(j*p));N[f+808>>2]=Q($*g)+Q(Q(aa*m)+Q(j*ba));g=Q(ea+fa);j=Q(Q(1)-Q(M+D));m=Q(s-C);N[f+800>>2]=Q(t*g)+Q(Q(_*j)+Q(W*m));N[f+796>>2]=Q(F*g)+Q(Q(Z*j)+Q(m*p));N[f+792>>2]=Q($*g)+Q(Q(aa*j)+Q(m*ba));h=J[c+12>>2];o=J[h+4>>2];J[q>>2]=J[h>>2];J[q+4>>2]=o;o=J[h+12>>2];J[q+8>>2]=J[h+8>>2];J[q+12>>2]=o;o=J[h+28>>2];J[k+8>>2]=J[h+24>>2];J[k+12>>2]=o;o=J[h+20>>2];J[k>>2]=J[h+16>>2];J[k+4>>2]=o;o=J[h+44>>2];J[i+8>>2]=J[h+40>>2];J[i+12>>2]=o;o=J[h+36>>2];J[i>>2]=J[h+32>>2];J[i+4>>2]=o;o=J[h+60>>2];J[n+8>>2]=J[h+56>>2];J[n+12>>2]=o;o=J[h+52>>2];J[n>>2]=J[h+48>>2];J[n+4>>2]=o}h=J[d+20>>2];J[f+44>>2]=e;J[f+8>>2]=15628;J[f+40>>2]=0;o=J[f+804>>2];J[f+56>>2]=J[f+800>>2];J[f+60>>2]=o;o=J[f+796>>2];J[f+48>>2]=J[f+792>>2];J[f+52>>2]=o;o=J[A+12>>2];J[z+8>>2]=J[A+8>>2];J[z+12>>2]=o;o=J[A+4>>2];J[z>>2]=J[A>>2];J[z+4>>2]=o;o=J[u+12>>2];J[f+88>>2]=J[u+8>>2];J[f+92>>2]=o;o=J[u+4>>2];J[f+80>>2]=J[u>>2];J[f+84>>2]=o;o=J[v+12>>2];J[f+104>>2]=J[v+8>>2];J[f+108>>2]=o;o=J[v+4>>2];J[f+96>>2]=J[v>>2];J[f+100>>2]=o;o=J[q+12>>2];J[f+120>>2]=J[q+8>>2];J[f+124>>2]=o;o=J[q+4>>2];J[f+112>>2]=J[q>>2];J[f+116>>2]=o;o=J[k+12>>2];J[f+136>>2]=J[k+8>>2];J[f+140>>2]=o;o=J[k+4>>2];J[f+128>>2]=J[k>>2];J[f+132>>2]=o;o=J[i+12>>2];J[f+152>>2]=J[i+8>>2];J[f+156>>2]=o;o=J[i+4>>2];J[f+144>>2]=J[i>>2];J[f+148>>2]=o;o=J[n+12>>2];J[f+168>>2]=J[n+8>>2];J[f+172>>2]=o;o=J[n+4>>2];J[f+160>>2]=J[n>>2];J[f+164>>2]=o;o=J[f+260>>2];J[f+184>>2]=J[f+256>>2];J[f+188>>2]=o;o=J[f+252>>2];J[f+176>>2]=J[f+248>>2];J[f+180>>2]=o;o=J[f+276>>2];J[f+200>>2]=J[f+272>>2];J[f+204>>2]=o;o=J[f+268>>2];J[f+192>>2]=J[f+264>>2];J[f+196>>2]=o;o=J[f+292>>2];J[f+216>>2]=J[f+288>>2];J[f+220>>2]=o;o=J[f+284>>2];J[f+208>>2]=J[f+280>>2];J[f+212>>2]=o;o=J[f+300>>2];J[f+224>>2]=J[f+296>>2];J[f+228>>2]=o;o=J[f+308>>2];J[f+232>>2]=J[f+304>>2];J[f+236>>2]=o;J[f+244>>2]=h;H[f+240|0]=x;Za(r,f+792|0,f+8|0,h,0);h=J[a+64>>2];ca=ca+1|0;if((h|0)>(ca|0)){continue}break}}if(!K[a+52|0]){break a}a=J[e+4>>2];if(!J[a+844>>2]){break a}c=J[a+836>>2];d=J[J[e+8>>2]+8>>2];b=(c|0)==(d|0);r=a;a=J[J[e+12>>2]+8>>2];Ua(r,(b?c:a)+4|0,(b?a:d)+4|0)}sa=f+928|0}function Pe(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=Q(0),h=Q(0),i=Q(0),j=Q(0),k=Q(0),l=0,m=Q(0),n=Q(0),o=0,p=Q(0),q=Q(0),r=Q(0),s=Q(0),t=0,u=0,v=Q(0),w=Q(0),x=0,y=Q(0),z=Q(0),A=Q(0),B=Q(0),C=0,D=0,E=Q(0),F=Q(0),G=0,H=Q(0),I=Q(0),K=Q(0),L=Q(0),M=Q(0),O=Q(0),S=Q(0),T=Q(0),U=Q(0),V=Q(0),W=0,X=0,Z=Q(0),_=Q(0),$=Q(0),aa=Q(0),ba=Q(0),ca=Q(0),da=Q(0),ea=Q(0),fa=0,ga=Q(0),ha=Q(0),ia=Q(0),ja=Q(0),ka=Q(0),la=Q(0),ma=0,na=0,oa=Q(0),pa=0,qa=0,ra=0,ta=Q(0),va=0,wa=Q(0);d=sa-160|0;sa=d;N[d+112>>2]=N[b>>2];N[d+64>>2]=N[b+64>>2];N[d+116>>2]=N[b+4>>2];N[d+68>>2]=N[b+68>>2];N[d+120>>2]=N[b+8>>2];N[d+72>>2]=N[b+72>>2];N[d+128>>2]=N[b+16>>2];N[d+80>>2]=N[b+80>>2];N[d+132>>2]=N[b+20>>2];N[d+84>>2]=N[b+84>>2];N[d+136>>2]=N[b+24>>2];N[d+88>>2]=N[b+88>>2];N[d+144>>2]=N[b+32>>2];N[d+96>>2]=N[b+96>>2];N[d+148>>2]=N[b+36>>2];N[d+100>>2]=N[b+100>>2];N[d+152>>2]=N[b+40>>2];N[d+104>>2]=N[b+104>>2];e=J[a+4>>2];j=N[e+44>>2];i=N[e+40>>2];n=N[e+36>>2];g=Q(ua[J[J[e>>2]+48>>2]](e));h=Q(ua[J[J[e>>2]+48>>2]](e));k=Q(ua[J[J[e>>2]+48>>2]](e));J[d+36>>2]=0;i=Q(i+h);N[d+28>>2]=i+i;i=Q(n+g);N[d+24>>2]=i+i;j=Q(j+k);N[d+32>>2]=j+j;a=J[a+8>>2];j=N[a+44>>2];i=N[a+40>>2];n=N[a+36>>2];g=Q(ua[J[J[a>>2]+48>>2]](a));h=Q(ua[J[J[a>>2]+48>>2]](a));k=Q(ua[J[J[a>>2]+48>>2]](a));J[d+20>>2]=0;i=Q(i+h);N[d+12>>2]=i+i;i=Q(n+g);N[d+8>>2]=i+i;j=Q(j+k);N[d+16>>2]=j+j;W=c;f=sa-368|0;sa=f;a=d+112|0;K=N[a+36>>2];U=N[a+4>>2];F=N[a+20>>2];s=N[a+40>>2];ea=N[a+8>>2];L=N[a+24>>2];G=b+48|0;n=N[G+8>>2];c=b+112|0;g=N[c+8>>2];q=N[G>>2];r=N[c>>2];H=N[G+4>>2];A=N[c+4>>2];j=N[a+32>>2];oa=N[a>>2];i=N[a+16>>2];h=Q(N[d+24>>2]*Q(.5));N[f+356>>2]=h;k=Q(N[d+28>>2]*Q(.5));N[f+360>>2]=k;m=Q(N[d+32>>2]*Q(.5));N[f+364>>2]=m;v=Q(N[d+8>>2]*Q(.5));N[f+344>>2]=v;y=Q(N[d+12>>2]*Q(.5));N[f+348>>2]=y;p=Q(N[d+16>>2]*Q(.5));N[f+352>>2]=p;n=Q(g-n);g=Q(r-q);q=Q(A-H);r=Q(Q(j*n)+Q(Q(oa*g)+Q(i*q)));b=d- -64|0;Z=N[b+40>>2];_=N[b+8>>2];M=N[b+24>>2];H=Q(Q(j*Z)+Q(Q(oa*_)+Q(i*M)));ga=Q(R(H));V=N[b+36>>2];I=N[b+4>>2];$=N[b+20>>2];A=Q(Q(j*V)+Q(Q(oa*I)+Q(i*$)));ha=Q(R(A));aa=N[b+32>>2];ba=N[b>>2];ca=N[b+16>>2];B=Q(Q(j*aa)+Q(Q(oa*ba)+Q(i*ca)));ta=Q(R(B));i=Q(Q(R(r))-Q(Q(p*ga)+Q(Q(y*ha)+Q(Q(v*ta)+h))));a:{if(i>Q(0)){break a}w=Q(Q(K*Z)+Q(Q(U*_)+Q(F*M)));ia=Q(R(w));O=Q(Q(K*V)+Q(Q(U*I)+Q(F*$)));S=Q(R(O));T=Q(Q(K*aa)+Q(Q(U*ba)+Q(F*ca)));ja=Q(R(T));j=Q(-34028234663852886e22);if(i>Q(-34028234663852886e22)){l=rQ(0)){break a}F=Q(Q(s*Z)+Q(Q(ea*_)+Q(L*M)));ka=Q(R(F));E=Q(Q(s*V)+Q(Q(ea*I)+Q(L*$)));la=Q(R(E));z=Q(Q(s*aa)+Q(Q(ea*ba)+Q(L*ca)));da=Q(R(z));if(jQ(0)){break a}if(jQ(0)){break a}if(jQ(0)){break a}if(jQ(0)){break a}if(jQ(1.1920928955078125e-7)){break a}L=Q(la+Q(9999999747378752e-21));Z=Q(S+Q(9999999747378752e-21));_=Q(ta+Q(9999999747378752e-21));S=Q(-K);q=Q(0);ja=Q(T*T);la=Q(Q(z*z)+Q(0));M=Q(Y(Q(ja+la)));b:{if(!(M>Q(1.1920928955078125e-7))){g=Q(0);n=Q(0);break b}g=Q(0);i=Q(i/M);n=Q(0);if(!(Q(i*Q(1.0499999523162842))>j)){break b}l=VQ(1.1920928955078125e-7)){break a}M=Q(ka+Q(9999999747378752e-21));V=Q(ia+Q(9999999747378752e-21));ia=Q(O*O);ka=Q(Q(E*E)+Q(0));I=Q(Y(Q(ia+ka)));c:{if(!(I>Q(1.1920928955078125e-7))){break c}i=Q(i/I);if(!(Q(i*Q(1.0499999523162842))>j)){break c}l=daQ(1.1920928955078125e-7)){break a}da=Q(w*w);ga=Q(Q(F*F)+Q(0));I=Q(Y(Q(da+ga)));d:{if(!(I>Q(1.1920928955078125e-7))){break d}i=Q(i/I);if(!(Q(i*Q(1.0499999523162842))>j)){break d}l=SQ(1.1920928955078125e-7)){break a}I=Q(-s);ha=Q(B*B);s=Q(Y(Q(ha+la)));e:{if(!(s>Q(1.1920928955078125e-7))){break e}i=Q(i/s);if(!(Q(i*Q(1.0499999523162842))>j)){break e}l=SQ(1.1920928955078125e-7)){break a}S=Q(A*A);z=Q(Y(Q(S+ka)));f:{if(!(z>Q(1.1920928955078125e-7))){break f}i=Q(i/z);if(!(Q(i*Q(1.0499999523162842))>j)){break f}l=sQ(1.1920928955078125e-7)){break a}s=Q(H*H);E=Q(Y(Q(s+ga)));g:{if(!(E>Q(1.1920928955078125e-7))){break g}i=Q(i/E);if(!(Q(i*Q(1.0499999523162842))>j)){break g}l=zQ(1.1920928955078125e-7)){break a}F=Q(-r);r=Q(Y(Q(Q(ja+ha)+Q(0))));h:{if(!(r>Q(1.1920928955078125e-7))){break h}i=Q(i/r);if(!(Q(i*Q(1.0499999523162842))>j)){break h}l=EQ(1.1920928955078125e-7)){break a}p=Q(Y(Q(Q(ia+S)+Q(0))));i:{if(!(p>Q(1.1920928955078125e-7))){break i}i=Q(i/p);if(!(Q(i*Q(1.0499999523162842))>j)){break i}l=rQ(1.1920928955078125e-7)){break a}j:{k:{l:{m:{p=Q(Y(Q(Q(da+s)+Q(0))));if(!(p>Q(1.1920928955078125e-7))){break m}i=Q(i/p);if(!(Q(i*Q(1.0499999523162842))>j)){break m}l=r>2]=p;r=Q(Q(N[a+24>>2]*g)+Q(Q(N[a+16>>2]*q)+Q(n*N[a+20>>2])));N[d+52>>2]=r;j=Q(Q(N[a+40>>2]*g)+Q(Q(N[a+32>>2]*q)+Q(n*N[a+36>>2])));break j}p=N[u>>2];N[d+48>>2]=p;r=N[u+16>>2];N[d+52>>2]=r;i=j;j=N[u+32>>2]}N[d+56>>2]=j;if(l){N[d+56>>2]=-j;N[d+52>>2]=-r;N[d+48>>2]=-p}N[d+44>>2]=-i;if(C>>>0>=7){J[f+120>>2]=J[G+8>>2];e=J[G+4>>2];J[f+112>>2]=J[G>>2];J[f+116>>2]=e;j=N[d+56>>2];q=N[a+40>>2];n=N[d+48>>2];p=N[a+8>>2];g=N[d+52>>2];r=N[a+24>>2];m=Q(Q(j*q)+Q(Q(n*p)+Q(g*r)))>Q(0)?m:Q(-m);s=Q(m*q);q=N[a+36>>2];H=N[a+4>>2];A=N[a+20>>2];k=Q(Q(j*q)+Q(Q(n*H)+Q(g*A)))>Q(0)?k:Q(-k);z=Q(k*q);q=N[a+32>>2];B=N[a>>2];w=N[a+16>>2];h=Q(Q(j*q)+Q(Q(n*B)+Q(g*w)))>Q(0)?h:Q(-h);N[f+120>>2]=s+Q(z+Q(Q(h*q)+N[f+120>>2]));N[f+112>>2]=Q(m*p)+Q(Q(k*H)+Q(Q(h*B)+N[f+112>>2]));N[f+116>>2]=Q(m*r)+Q(Q(k*A)+Q(Q(h*w)+N[f+116>>2]));J[f+216>>2]=J[c+8>>2];e=J[c+4>>2];J[f+208>>2]=J[c>>2];J[f+212>>2]=e;h=N[f+352>>2];k=N[b+40>>2];m=N[b+8>>2];q=N[b+24>>2];h=Q(Q(j*k)+Q(Q(n*m)+Q(g*q)))>Q(0)?Q(-h):h;B=Q(h*k);w=Q(-y);s=y;y=N[b+36>>2];p=N[b+4>>2];r=N[b+20>>2];k=Q(Q(j*y)+Q(Q(n*p)+Q(g*r)))>Q(0)?w:s;z=Q(-v);s=v;v=N[b+32>>2];w=n;n=N[b>>2];A=g;g=N[b+16>>2];j=Q(Q(j*v)+Q(Q(w*n)+Q(A*g)))>Q(0)?z:s;v=Q(B+Q(Q(k*y)+Q(Q(j*v)+N[f+216>>2])));N[f+216>>2]=v;m=Q(Q(h*m)+Q(Q(k*p)+Q(Q(j*n)+N[f+208>>2])));N[f+208>>2]=m;g=Q(Q(h*q)+Q(Q(k*r)+Q(Q(j*g)+N[f+212>>2])));N[f+212>>2]=g;c=C-7&255;a=((c>>>0)/3<<2)+a|0;N[f+288>>2]=N[a>>2];N[f+292>>2]=N[a+16>>2];N[f+296>>2]=N[a+32>>2];a=b+((c>>>0)%3<<2)|0;h=N[a>>2];N[f+80>>2]=h;k=N[a+16>>2];N[f+84>>2]=k;y=N[a+32>>2];N[f+88>>2]=y;a=f+208|0;b=f- -64|0;n=Q(0);q=N[f+296>>2];p=N[f+88>>2];r=N[f+288>>2];H=N[f+80>>2];A=N[f+292>>2];B=N[f+84>>2];j=Q(Q(q*p)+Q(Q(r*H)+Q(A*B)));w=Q(Q(1)-Q(j*j));if(w<=Q(9999999747378752e-20)){j=Q(0)}else{w=Q(Q(1)/w);n=Q(N[a+8>>2]-N[f+120>>2]);s=Q(q*n);q=Q(N[a>>2]-N[f+112>>2]);z=Q(r*q);r=Q(N[a+4>>2]-N[f+116>>2]);A=Q(s+Q(z+Q(A*r)));q=Q(Q(p*n)+Q(Q(H*q)+Q(B*r)));n=Q(w*Q(Q(j*A)-q));j=Q(w*Q(A-Q(j*q)))}N[f+328>>2]=j;N[b>>2]=n;j=N[f+64>>2];N[f+216>>2]=Q(y*j)+v;N[f+212>>2]=Q(k*j)+g;N[f+208>>2]=Q(h*j)+m;j=N[d+48>>2];n=N[d+52>>2];g=N[d+56>>2];J[f+44>>2]=0;N[f+40>>2]=-g;N[f+36>>2]=-n;N[f+32>>2]=-j;ua[J[J[W>>2]+16>>2]](W,f+32|0,a,i);J[d+40>>2]=C;break a}j=N[d+48>>2];n:{if(C>>>0<=3){n=N[d+56>>2];u=f+356|0;e=c;c=b;o=f+344|0;i=N[d+52>>2];break n}j=Q(-j);n=Q(-N[d+56>>2]);u=f+344|0;e=G;G=c;c=a;a=b;o=f+356|0;i=Q(-N[d+52>>2])}h=Q(Q(N[c+32>>2]*n)+Q(Q(N[c>>2]*j)+Q(i*N[c+16>>2])));N[f+328>>2]=h;k=Q(Q(N[c+36>>2]*n)+Q(Q(N[c+4>>2]*j)+Q(i*N[c+20>>2])));N[f+332>>2]=k;g=Q(Q(N[c+40>>2]*n)+Q(Q(N[c+8>>2]*j)+Q(i*N[c+24>>2])));N[f+336>>2]=g;g=Q(R(g));k=Q(R(k));h=Q(R(h));o:{if(k>h){l=g>2];g=N[b+(f+328|0)>>2]>2])+Q(N[e+8>>2]-N[G+8>>2]));y=Q(Q(g*N[b+16>>2])+Q(N[e+4>>2]-N[G+4>>2]));q=Q(Q(g*N[b>>2])+Q(N[e>>2]-N[G>>2]));pa=l?2:1;b=1;e=2;p:{q:{r:{qa=(C>>>0<4?-1:-4)+C|0;switch(qa|0){case 0:break p;case 1:break r;default:break q}}b=0;break p}e=1;b=0}l=b<<2;b=l+a|0;g=N[b+32>>2];h=N[b>>2];k=N[b+16>>2];b=e<<2;a=b+a|0;m=N[a+32>>2];p=N[a>>2];r=N[a+16>>2];H=Q(Q(v*m)+Q(Q(q*p)+Q(y*r)));a=X<<2;ma=a+c|0;B=N[ma+32>>2];w=N[ma>>2];O=N[ma+16>>2];A=Q(Q(m*B)+Q(Q(p*w)+Q(r*O)));T=N[a+o>>2];K=Q(A*T);F=Q(H+K);a=pa<<2;fa=a+c|0;E=N[fa+32>>2];z=N[fa>>2];s=N[fa+16>>2];p=Q(Q(m*E)+Q(Q(p*z)+Q(r*s)));U=N[a+o>>2];m=Q(p*U);N[f+316>>2]=F-m;r=Q(Q(v*g)+Q(Q(q*h)+Q(y*k)));B=Q(Q(g*B)+Q(Q(h*w)+Q(k*O)));O=Q(T*B);T=Q(r+O);w=Q(Q(g*E)+Q(Q(h*z)+Q(k*s)));g=Q(U*w);N[f+312>>2]=T-g;N[f+308>>2]=F+m;N[f+304>>2]=T+g;h=Q(H-K);N[f+300>>2]=h+m;k=Q(r-O);N[f+296>>2]=k+g;N[f+292>>2]=h-m;N[f+288>>2]=k-g;N[f+280>>2]=N[l+u>>2];N[f+284>>2]=N[b+u>>2];e=f+208|0;l=0;t=sa+-64|0;sa=t;g=N[f+280>>2];m=N[f+288>>2];h=Q(-m);if(g>h){N[e>>2]=m;N[e+4>>2]=N[f+292>>2];g=N[f+280>>2];m=N[f+288>>2];h=Q(-m);l=1;b=e+8|0}else{b=e}a=g>h;h=N[f+296>>2];k=Q(-h);if((a|0)!=(k>2];N[b+4>>2]=Q(Q(Q(N[f+300>>2]-k)/Q(h-m))*Q(Q(-g)-m))+k;N[b>>2]=-N[f+280>>2];l=l+1|0;g=N[f+280>>2];h=N[f+296>>2];k=Q(-h);b=b+8|0}if(g>k){N[b>>2]=h;N[b+4>>2]=N[f+300>>2];l=l+1|0;g=N[f+280>>2];h=N[f+296>>2];k=Q(-h);b=b+8|0}a=g>k;k=N[f+304>>2];m=Q(-k);if((a|0)!=(m>2];N[b+4>>2]=Q(Q(Q(N[f+308>>2]-m)/Q(k-h))*Q(Q(-g)-h))+m;N[b>>2]=-N[f+280>>2];l=l+1|0;g=N[f+280>>2];k=N[f+304>>2];m=Q(-k);b=b+8|0}if(g>m){N[b>>2]=k;N[b+4>>2]=N[f+308>>2];l=l+1|0;g=N[f+280>>2];k=N[f+304>>2];m=Q(-k);b=b+8|0}a=g>m;h=N[f+312>>2];m=Q(-h);if((a|0)!=(m>2];N[b+4>>2]=Q(Q(Q(N[f+316>>2]-m)/Q(h-k))*Q(Q(-g)-k))+m;N[b>>2]=-N[f+280>>2];l=l+1|0;g=N[f+280>>2];h=N[f+312>>2];m=Q(-h);b=b+8|0}if(g>m){N[b>>2]=h;N[b+4>>2]=N[f+316>>2];l=l+1|0;g=N[f+280>>2];h=N[f+312>>2];m=Q(-h);b=b+8|0}s:{t:{u:{k=N[f+288>>2];if((Q(-k)m|0)){m=N[f+316>>2];N[b+4>>2]=Q(Q(Q(N[f+292>>2]-m)/Q(k-h))*Q(Q(-g)-h))+m;N[b>>2]=-N[f+280>>2];b=8;l=l+1|0;if(l&8){break s}break u}if(l){break u}b=0;break t}g=N[f+280>>2];h=N[e>>2];v:{if(!(g>h)){b=0;a=t;break v}N[t>>2]=h;N[t+4>>2]=N[e+4>>2];g=N[f+280>>2];h=N[e>>2];b=1;a=t|8}o=e+8|0;x=l>>>0>1;k=N[e+(x<<3)>>2];if((kh|0)){m=N[e+4>>2];N[a+4>>2]=Q(Q(Q(N[(x?o:e)+4>>2]-m)/Q(k-h))*Q(g-h))+m;N[a>>2]=N[f+280>>2];b=b+1|0;a=a+8|0}w:{if((l|0)<2){break w}g=N[o>>2];h=N[f+280>>2];if(g>2]=g;N[a+4>>2]=N[e+12>>2];b=b+1|0;h=N[f+280>>2];g=N[o>>2];a=a+8|0}o=e+16|0;x=l-3>>>0<4294967294;k=N[e+(x<<4)>>2];if((g>2];N[a+4>>2]=Q(Q(Q(N[(x?o:e)+4>>2]-m)/Q(k-g))*Q(h-g))+m;N[a>>2]=N[f+280>>2];b=b+1|0;if(b&8){break t}a=a+8|0}if((l|0)<3){break w}g=N[o>>2];h=N[f+280>>2];if(g>2]=g;N[a+4>>2]=N[e+20>>2];b=b+1|0;if(b&8){break t}h=N[f+280>>2];g=N[o>>2];a=a+8|0}o=e+24|0;x=(l&254)==2;k=N[e+(x?0:24)>>2];if((g>2];N[a+4>>2]=Q(Q(Q(N[(x?e:o)+4>>2]-m)/Q(k-g))*Q(h-g))+m;N[a>>2]=N[f+280>>2];b=b+1|0;if(b&8){break t}a=a+8|0}if((l|0)<4){break w}g=N[o>>2];h=N[f+280>>2];if(g>2]=g;N[a+4>>2]=N[e+28>>2];b=b+1|0;if(b&8){break t}h=N[f+280>>2];g=N[o>>2];a=a+8|0}o=e+32|0;x=l-5>>>0<4294967294;k=N[e+(x<<5)>>2];if((g>2];N[a+4>>2]=Q(Q(Q(N[(x?o:e)+4>>2]-m)/Q(k-g))*Q(h-g))+m;N[a>>2]=N[f+280>>2];b=b+1|0;if(b&8){break t}a=a+8|0}if((l|0)<5){break w}g=N[o>>2];h=N[f+280>>2];if(g>2]=g;N[a+4>>2]=N[e+36>>2];b=b+1|0;if(b&8){break t}h=N[f+280>>2];g=N[o>>2];a=a+8|0}o=e+40|0;x=(l&254)==4;k=N[e+(x?0:40)>>2];if((g>2];N[a+4>>2]=Q(Q(Q(N[(x?e:o)+4>>2]-m)/Q(k-g))*Q(h-g))+m;N[a>>2]=N[f+280>>2];b=b+1|0;if(b&8){break t}a=a+8|0}if((l|0)<6){break w}g=N[o>>2];h=N[f+280>>2];if(g>2]=g;N[a+4>>2]=N[e+44>>2];b=b+1|0;if(b&8){break t}h=N[f+280>>2];g=N[o>>2];a=a+8|0}o=e+48|0;x=l-7>>>0<4294967294;k=N[e+(x?48:0)>>2];if((g>2];N[a+4>>2]=Q(Q(Q(N[(x?o:e)+4>>2]-m)/Q(k-g))*Q(h-g))+m;N[a>>2]=N[f+280>>2];b=b+1|0;if(b&8){break t}a=a+8|0}if((l|0)<7){break w}g=N[o>>2];h=N[f+280>>2];if(g>2]=g;N[a+4>>2]=N[e+52>>2];b=b+1|0;if(b&8){break t}h=N[f+280>>2];g=N[o>>2];a=a+8|0}o=e+56|0;x=(l&254)==6;k=N[e+(x?0:56)>>2];if((g>2];N[a+4>>2]=Q(Q(Q(N[(x?e:o)+4>>2]-m)/Q(k-g))*Q(h-g))+m;N[a>>2]=N[f+280>>2];b=b+1|0;if(b&8){break t}a=a+8|0}if((l|0)<8){break w}g=N[o>>2];h=N[f+280>>2];if(g>2]=g;N[a+4>>2]=N[e+60>>2];b=b+1|0;if(b&8){break t}h=N[f+280>>2];g=N[o>>2];a=a+8|0}l=e+((l-9>>>0<4294967294)<<6)|0;k=N[l>>2];if((g>2];N[a+4>>2]=Q(Q(Q(N[l+4>>2]-m)/Q(k-g))*Q(h-g))+m;N[a>>2]=N[f+280>>2];b=b+1|0;if(b&8){break t}}if((b|0)<=0){b=0;break t}na=t|4;o=0;a=t;l=e;while(1){g=N[f+284>>2];k=N[a+4>>2];h=Q(-k);if(g>h){N[l>>2]=N[a>>2];N[l+4>>2]=N[a+4>>2];o=o+1|0;if(o&8){b=o;break s}g=N[f+284>>2];k=N[a+4>>2];h=Q(-k);l=l+8|0}x=a+8|0;ra=b>>>0>1;m=N[(ra?a+12|0:na)>>2];if((Q(-m)h|0)){h=N[a>>2];N[l>>2]=Q(Q(Q(N[(ra?x:t)>>2]-h)/Q(m-k))*Q(Q(-g)-k))+h;N[l+4>>2]=-N[f+284>>2];o=o+1|0;if(o&8){b=o;break s}l=l+8|0}ra=(b|0)>1;b=b-1|0;a=x;if(ra){continue}break}b=0;if((o|0)<=0){break t}l=t;a=e;while(1){g=N[f+284>>2];h=N[a+4>>2];if(g>h){N[l>>2]=N[a>>2];N[l+4>>2]=N[a+4>>2];b=b+1|0;if(b&8){break t}g=N[f+284>>2];h=N[a+4>>2];l=l+8|0}x=a+8|0;na=o>>>0>1?x:e;k=N[na+4>>2];if((kh|0)){m=N[a>>2];N[l>>2]=Q(Q(Q(N[na>>2]-m)/Q(k-h))*Q(g-h))+m;N[l+4>>2]=N[f+284>>2];b=b+1|0;if(b&8){break t}l=l+8|0}na=(o|0)>1;o=o-1|0;a=x;if(na){continue}break}}Ja(e,t,b<<3)}sa=t- -64|0;if((b|0)<=0){break a}e=b;g=Q(Q(1)/Q(Q(B*p)-Q(A*w)));k=Q(g*Q(-A));m=Q(g*Q(-w));p=Q(p*g);A=Q(B*g);B=N[(qa<<2)+u>>2];a=(pa<<2)+c|0;w=N[a+32>>2];b=(X<<2)+c|0;O=N[b+32>>2];T=N[a+16>>2];K=N[b+16>>2];F=N[fa>>2];E=N[ma>>2];a=0;b=0;while(1){c=(f+112|0)+P(a,12)|0;l=(f+208|0)+(b<<3)|0;z=N[l>>2];h=Q(z-r);s=N[l+4>>2];U=Q(s-H);g=Q(Q(k*h)+Q(A*U));h=Q(Q(p*h)+Q(m*U));U=Q(Q(g*F)+Q(Q(h*E)+q));N[c>>2]=U;ea=Q(Q(g*T)+Q(Q(h*K)+y));N[c+4>>2]=ea;g=Q(Q(g*w)+Q(Q(h*O)+v));N[c+8>>2]=g;g=Q(B-Q(Q(n*g)+Q(Q(j*U)+Q(i*ea))));N[(f+80|0)+(a<<2)>>2]=g;if(g>=Q(0)){c=(f+208|0)+(a<<3)|0;N[c+4>>2]=s;N[c>>2]=z;a=a+1|0}b=b+1|0;if((e|0)!=(b|0)){continue}break}if((a|0)<=0){break a}b=(a|0)>=4?4:a;X=(b|0)<=1?1:b;x:{if(X>>>0>=a>>>0){if(C>>>0>=4){b=0;while(1){c=(f+112|0)+P(b,12)|0;i=N[d+48>>2];j=N[(f+80|0)+(b<<2)>>2];N[f+32>>2]=Q(N[c>>2]+N[G>>2])-Q(i*j);n=N[d+52>>2];N[f+36>>2]=Q(N[c+4>>2]+N[G+4>>2])-Q(j*n);g=N[d+56>>2];N[f+40>>2]=Q(N[c+8>>2]+N[G+8>>2])-Q(j*g);J[f+76>>2]=0;N[f+72>>2]=-g;N[f+68>>2]=-n;N[f+64>>2]=-i;ua[J[J[W>>2]+16>>2]](W,f- -64|0,f+32|0,Q(-j));b=b+1|0;if((b|0)!=(a|0)){continue}break}break x}b=0;while(1){c=(f+112|0)+P(b,12)|0;N[f+32>>2]=N[c>>2]+N[G>>2];N[f+36>>2]=N[c+4>>2]+N[G+4>>2];N[f+40>>2]=N[c+8>>2]+N[G+8>>2];j=N[d+48>>2];i=N[d+52>>2];n=N[d+56>>2];J[f+76>>2]=0;N[f+72>>2]=-n;N[f+68>>2]=-i;N[f+64>>2]=-j;ua[J[J[W>>2]+16>>2]](W,f- -64|0,f+32|0,Q(-N[(f+80|0)+(b<<2)>>2]));b=b+1|0;if((b|0)!=(a|0)){continue}break}break x}c=0;y:{if(a>>>0<2){break y}b=a-1|0;t=b&3;e=0;n=N[f+80>>2];z:{if(a-2>>>0<3){b=1;break z}ma=b&-4;b=1;while(1){l=f+80|0;fa=b+3|0;j=N[l+(fa<<2)>>2];i=N[l+(b<<2)>>2];u=i>n;pa=b+1|0;g=N[l+(pa<<2)>>2];i=u?i:n;o=g>i;qa=b+2|0;n=N[l+(qa<<2)>>2];i=o?g:i;l=n>i;i=l?n:i;x=i>2];l=j>n;n=l?j:n;c=l?b:c;b=b+1|0;e=e+1|0;if((t|0)!=(e|0)){continue}break}}t=f+208|0;u=f+32|0;e=0;i=Q(0);g=Q(0);h=Q(0);l=sa+-64|0;sa=l;A:{B:{C:{D:{E:{b=a;switch(b-1|0){case 1:break C;case 0:break D;default:break E}}if((b|0)>=2){o=b-2|0;while(1){a=t+(e<<3)|0;n=N[a>>2];k=N[a+12>>2];m=N[a+4>>2];v=N[a+8>>2];j=Q(Q(n*k)-Q(m*v));i=Q(i+j);g=Q(Q(j*Q(k+m))+g);h=Q(Q(j*Q(n+v))+h);a=(e|0)!=(o|0);e=e+1|0;if(a){continue}break}}k=Q(0xde0b6b000000000);y=i;a=t+(b<<3)|0;i=N[a-8>>2];n=N[t+4>>2];m=N[a-4>>2];v=N[t>>2];j=Q(Q(i*n)-Q(m*v));y=Q(y+j);if(Q(R(y))>Q(1.1920928955078125e-7)){k=Q(Q(1)/Q(y*Q(3)))}e=0;if((b|0)<=0){break A}g=Q(Q(Q(j*Q(n+m))+g)*k);j=Q(Q(Q(j*Q(i+v))+h)*k);break B}g=N[t+4>>2];j=N[t>>2];break B}g=Q(Q(N[t+4>>2]+N[t+12>>2])*Q(.5));j=Q(Q(N[t>>2]+N[t+8>>2])*Q(.5))}while(1){a=t+(e<<3)|0;va=(l+32|0)+(e<<2)|0,wa=Ia(Q(N[a+4>>2]-g),Q(N[a>>2]-j)),N[va>>2]=wa;e=e+1|0;if((b|0)!=(e|0)){continue}break}D=0;o=0;if(b-1>>>0>=7){t=b&-8;a=0;while(1){e=o<<2;J[e+l>>2]=1;J[l+(e|4)>>2]=1;J[l+(e|8)>>2]=1;J[l+(e|12)>>2]=1;J[l+(e|16)>>2]=1;J[l+(e|20)>>2]=1;J[l+(e|24)>>2]=1;J[l+(e|28)>>2]=1;o=o+8|0;a=a+8|0;if((t|0)!=(a|0)){continue}break}}a=b&7;if(!a){e=1;break A}while(1){e=1;J[l+(o<<2)>>2]=1;o=o+1|0;D=D+1|0;if((a|0)!=(D|0)){continue}break}}a=c<<2;J[a+l>>2]=0;J[u>>2]=c;F:{if((X|0)<2){break F}D=u+4|0;if(e){n=Q(Q(6.2831854820251465)/Q(X|0));g=N[a+(l+32|0)>>2];u=1;while(1){J[D>>2]=c;j=Q(Q(Q(u|0)*n)+g);h=j>Q(3.1415927410125732)?Q(j+Q(-6.2831854820251465)):j;i=Q(1e9);a=c;e=0;while(1){t=e<<2;G:{if(!J[t+l>>2]){break G}j=Q(R(Q(N[t+(l+32|0)>>2]-h)));j=j>Q(3.1415927410125732)?Q(Q(6.2831854820251465)-j):j;if(!(j>2]=e;a=e;i=j}e=e+1|0;if((b|0)!=(e|0)){continue}break}J[l+(a<<2)>>2]=0;D=D+4|0;u=u+1|0;if((X|0)!=(u|0)){continue}break}break F}b=X-1|0;a=b&7;if(X-2>>>0>=7){b=b&-8;e=0;while(1){J[D+28>>2]=c;J[D+24>>2]=c;J[D+20>>2]=c;J[D+16>>2]=c;J[D+12>>2]=c;J[D+8>>2]=c;J[D+4>>2]=c;J[D>>2]=c;D=D+32|0;e=e+8|0;if((b|0)!=(e|0)){continue}break}}if(!a){break F}e=0;while(1){J[D>>2]=c;D=D+4|0;e=e+1|0;if((a|0)!=(e|0)){continue}break}}sa=l- -64|0;c=C>>>0>3;a=0;while(1){e=J[(f+32|0)+(a<<2)>>2];b=(f+112|0)+P(e,12)|0;h=Q(N[b>>2]+N[G>>2]);N[f+64>>2]=h;k=Q(N[b+4>>2]+N[G+4>>2]);N[f+68>>2]=k;m=Q(N[b+8>>2]+N[G+8>>2]);N[f+72>>2]=m;b=(f+80|0)+(e<<2)|0;H:{if(!c){j=N[d+48>>2];i=N[d+52>>2];n=N[d+56>>2];J[f+28>>2]=0;N[f+24>>2]=-n;N[f+20>>2]=-i;N[f+16>>2]=-j;ua[J[J[W>>2]+16>>2]](W,f+16|0,f- -64|0,Q(-N[b>>2]));break H}i=N[d+48>>2];n=N[d+52>>2];g=N[d+56>>2];J[f+28>>2]=0;N[f+24>>2]=-g;N[f+20>>2]=-n;N[f+16>>2]=-i;j=N[b>>2];J[f+12>>2]=0;N[f+8>>2]=m-Q(g*j);N[f+4>>2]=k-Q(n*j);N[f>>2]=h-Q(i*j);ua[J[J[W>>2]+16>>2]](W,f+16|0,f,Q(-j))}a=a+1|0;if((X|0)!=(a|0)){continue}break}}J[d+40>>2]=C}sa=f+368|0;sa=d+160|0}function dh(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=Q(0),g=Q(0),h=0,i=Q(0),j=0,k=0,l=Q(0),m=0,n=Q(0),o=Q(0),p=Q(0),q=0,r=Q(0),s=Q(0),t=Q(0),u=Q(0),v=Q(0),w=Q(0),x=Q(0),y=Q(0),z=Q(0),A=Q(0),B=Q(0),C=Q(0),D=Q(0),E=Q(0),F=Q(0),G=Q(0),H=Q(0),I=Q(0);c=sa-352|0;sa=c;d=ua[J[J[a>>2]+20>>2]](a)|0;ua[J[J[d>>2]+8>>2]](c+224|0,d);d=J[c+348>>2];J[c+216>>2]=J[c+344>>2];J[c+220>>2]=d;d=J[c+340>>2];J[c+208>>2]=J[c+336>>2];J[c+212>>2]=d;d=ua[J[J[a>>2]+20>>2]](a)|0;d=ua[J[J[d>>2]+56>>2]](d)|0;j=ua[J[J[a>>2]+20>>2]](a)|0;j=ua[J[J[j>>2]+56>>2]](j)|0;w=N[b+40>>2];a:{if(w<=Q(0)){break a}e=d&2048;k=j&4096;b:{switch(J[b+4>>2]-3|0){case 0:J[c+156>>2]=0;J[c+160>>2]=0;J[c+168>>2]=0;J[c+172>>2]=0;J[c+164>>2]=1065353216;J[c+176>>2]=0;J[c+180>>2]=0;J[c+184>>2]=1065353216;J[c+188>>2]=0;J[c+148>>2]=0;J[c+152>>2]=0;J[c+144>>2]=1065353216;d=J[b+28>>2];l=N[d+52>>2];o=N[d+8>>2];p=N[d+12>>2];n=N[d+56>>2];r=N[d+20>>2];s=N[d+24>>2];x=N[d+28>>2];t=N[d+60>>2];u=N[d+36>>2];f=N[b+304>>2];v=N[d+40>>2];g=N[b+308>>2];y=N[d+44>>2];z=N[d+4>>2];i=N[b+300>>2];J[c+204>>2]=0;N[c+200>>2]=t+Q(Q(g*y)+Q(Q(i*u)+Q(f*v)));N[c+196>>2]=n+Q(Q(g*x)+Q(Q(i*r)+Q(f*s)));N[c+192>>2]=l+Q(Q(g*p)+Q(Q(i*z)+Q(f*o)));d=ua[J[J[a>>2]+20>>2]](a)|0;ua[J[J[d>>2]+64>>2]](d,c+144|0,w);d=J[b+32>>2];l=N[d+52>>2];o=N[d+8>>2];p=N[d+12>>2];n=N[d+56>>2];r=N[d+20>>2];s=N[d+24>>2];x=N[d+28>>2];t=N[d+60>>2];u=N[d+36>>2];f=N[b+320>>2];v=N[d+40>>2];g=N[b+324>>2];y=N[d+44>>2];z=N[d+4>>2];i=N[b+316>>2];J[c+204>>2]=0;N[c+200>>2]=t+Q(Q(g*y)+Q(Q(i*u)+Q(f*v)));N[c+196>>2]=n+Q(Q(g*x)+Q(Q(i*r)+Q(f*s)));N[c+192>>2]=l+Q(Q(g*p)+Q(Q(i*z)+Q(f*o)));if(!e){break a}a=ua[J[J[a>>2]+20>>2]](a)|0;ua[J[J[a>>2]+64>>2]](a,c+144|0,w);break a;case 1:d=J[b+28>>2];G=N[d+52>>2];f=N[d+8>>2];g=N[d+12>>2];x=N[b+568>>2];t=N[b+584>>2];H=N[d+56>>2];I=N[d+60>>2];u=N[b+608>>2];v=N[b+600>>2];y=N[b+604>>2];i=N[d+28>>2];l=N[d+20>>2];o=N[d+24>>2];z=N[b+588>>2];A=N[b+556>>2];B=N[b+572>>2];C=N[b+592>>2];p=N[d+44>>2];D=N[b+560>>2];n=N[d+36>>2];E=N[b+576>>2];r=N[d+40>>2];s=N[d+4>>2];F=N[b+552>>2];J[c+204>>2]=0;J[c+188>>2]=0;J[c+172>>2]=0;N[c+184>>2]=Q(C*p)+Q(Q(D*n)+Q(E*r));N[c+180>>2]=Q(z*p)+Q(Q(A*n)+Q(B*r));N[c+168>>2]=Q(C*i)+Q(Q(D*l)+Q(E*o));N[c+164>>2]=Q(z*i)+Q(Q(A*l)+Q(B*o));N[c+200>>2]=I+Q(Q(u*p)+Q(Q(v*n)+Q(r*y)));N[c+196>>2]=H+Q(Q(u*i)+Q(Q(v*l)+Q(o*y)));J[c+156>>2]=0;N[c+176>>2]=Q(t*p)+Q(Q(F*n)+Q(x*r));N[c+160>>2]=Q(t*i)+Q(Q(F*l)+Q(x*o));N[c+152>>2]=Q(C*g)+Q(Q(D*s)+Q(f*E));N[c+148>>2]=Q(z*g)+Q(Q(A*s)+Q(f*B));N[c+144>>2]=Q(t*g)+Q(Q(F*s)+Q(x*f));N[c+192>>2]=G+Q(Q(u*g)+Q(Q(v*s)+Q(f*y)));c:{if(e){d=ua[J[J[a>>2]+20>>2]](a)|0;j=c+144|0;ua[J[J[d>>2]+64>>2]](d,j,w);d=J[b+32>>2];G=N[d+52>>2];H=N[d+56>>2];I=N[d+60>>2];x=N[b+672>>2];t=N[b+664>>2];u=N[b+668>>2];f=N[d+8>>2];g=N[d+12>>2];i=N[d+28>>2];l=N[d+20>>2];o=N[d+24>>2];v=N[b+632>>2];y=N[b+648>>2];z=N[b+652>>2];A=N[b+620>>2];B=N[b+636>>2];C=N[b+656>>2];p=N[d+44>>2];D=N[b+624>>2];n=N[d+36>>2];E=N[b+640>>2];r=N[d+40>>2];s=N[d+4>>2];F=N[b+616>>2];J[c+204>>2]=0;J[c+188>>2]=0;J[c+172>>2]=0;J[c+156>>2]=0;N[c+184>>2]=Q(C*p)+Q(Q(D*n)+Q(E*r));N[c+180>>2]=Q(z*p)+Q(Q(A*n)+Q(B*r));N[c+176>>2]=Q(y*p)+Q(Q(F*n)+Q(v*r));N[c+168>>2]=Q(C*i)+Q(Q(D*l)+Q(E*o));N[c+164>>2]=Q(z*i)+Q(Q(A*l)+Q(B*o));N[c+160>>2]=Q(y*i)+Q(Q(F*l)+Q(v*o));N[c+152>>2]=Q(C*g)+Q(Q(D*s)+Q(f*E));N[c+148>>2]=Q(z*g)+Q(Q(A*s)+Q(f*B));N[c+144>>2]=Q(y*g)+Q(Q(F*s)+Q(v*f));N[c+200>>2]=I+Q(Q(x*p)+Q(Q(t*n)+Q(r*u)));N[c+196>>2]=H+Q(Q(x*i)+Q(Q(t*l)+Q(o*u)));N[c+192>>2]=G+Q(Q(x*g)+Q(Q(t*s)+Q(f*u)));d=ua[J[J[a>>2]+20>>2]](a)|0;ua[J[J[d>>2]+64>>2]](d,j,w);break c}d=J[b+32>>2];G=N[d+52>>2];H=N[d+56>>2];I=N[d+60>>2];x=N[b+672>>2];t=N[b+664>>2];u=N[b+668>>2];f=N[d+8>>2];g=N[d+12>>2];i=N[d+28>>2];l=N[d+20>>2];o=N[d+24>>2];v=N[b+632>>2];y=N[b+648>>2];z=N[b+652>>2];A=N[b+620>>2];B=N[b+636>>2];C=N[b+656>>2];p=N[d+44>>2];D=N[b+624>>2];n=N[d+36>>2];E=N[b+640>>2];r=N[d+40>>2];s=N[d+4>>2];F=N[b+616>>2];J[c+204>>2]=0;J[c+188>>2]=0;J[c+172>>2]=0;J[c+156>>2]=0;N[c+184>>2]=Q(C*p)+Q(Q(D*n)+Q(E*r));N[c+180>>2]=Q(z*p)+Q(Q(A*n)+Q(B*r));N[c+176>>2]=Q(y*p)+Q(Q(F*n)+Q(v*r));N[c+168>>2]=Q(C*i)+Q(Q(D*l)+Q(E*o));N[c+164>>2]=Q(z*i)+Q(Q(A*l)+Q(B*o));N[c+160>>2]=Q(y*i)+Q(Q(F*l)+Q(v*o));N[c+152>>2]=Q(C*g)+Q(Q(D*s)+Q(f*E));N[c+148>>2]=Q(z*g)+Q(Q(A*s)+Q(f*B));N[c+144>>2]=Q(y*g)+Q(Q(F*s)+Q(v*f));N[c+200>>2]=I+Q(Q(x*p)+Q(Q(t*n)+Q(r*u)));N[c+196>>2]=H+Q(Q(x*i)+Q(Q(t*l)+Q(o*u)));N[c+192>>2]=G+Q(Q(x*g)+Q(Q(t*s)+Q(f*u)))}d=b+688|0;f=Eb(d);g=Fb(d);if(!k|f==g){break a}i=N[b+692>>2];N[c+64>>2]=N[c+152>>2];N[c+68>>2]=N[c+168>>2];J[c+76>>2]=0;N[c+72>>2]=N[c+184>>2];N[c+128>>2]=N[c+144>>2];N[c+132>>2]=N[c+160>>2];J[c+140>>2]=0;N[c+136>>2]=N[c+176>>2];b=ua[J[J[a>>2]+20>>2]](a)|0;a=i>Q(0);ua[J[J[b>>2]+68>>2]](b,c+192|0,c- -64|0,c+128|0,w,w,a?f:Q(0),a?g:Q(6.2831854820251465),c+208|0,a,Q(10));break a;case 2:d=J[b+28>>2];G=N[d+52>>2];f=N[d+8>>2];g=N[d+12>>2];x=N[b+316>>2];t=N[b+332>>2];H=N[d+56>>2];I=N[d+60>>2];u=N[b+356>>2];v=N[b+348>>2];y=N[b+352>>2];i=N[d+28>>2];l=N[d+20>>2];o=N[d+24>>2];z=N[b+336>>2];A=N[b+304>>2];B=N[b+320>>2];C=N[b+340>>2];p=N[d+44>>2];D=N[b+308>>2];n=N[d+36>>2];E=N[b+324>>2];r=N[d+40>>2];s=N[d+4>>2];F=N[b+300>>2];J[c+204>>2]=0;J[c+188>>2]=0;J[c+172>>2]=0;N[c+184>>2]=Q(C*p)+Q(Q(D*n)+Q(E*r));N[c+180>>2]=Q(z*p)+Q(Q(A*n)+Q(B*r));N[c+168>>2]=Q(C*i)+Q(Q(D*l)+Q(E*o));N[c+164>>2]=Q(z*i)+Q(Q(A*l)+Q(B*o));N[c+200>>2]=I+Q(Q(u*p)+Q(Q(v*n)+Q(r*y)));N[c+196>>2]=H+Q(Q(u*i)+Q(Q(v*l)+Q(o*y)));J[c+156>>2]=0;N[c+176>>2]=Q(t*p)+Q(Q(F*n)+Q(x*r));N[c+160>>2]=Q(t*i)+Q(Q(F*l)+Q(x*o));N[c+152>>2]=Q(C*g)+Q(Q(D*s)+Q(f*E));N[c+148>>2]=Q(z*g)+Q(Q(A*s)+Q(f*B));N[c+144>>2]=Q(t*g)+Q(Q(F*s)+Q(x*f));N[c+192>>2]=G+Q(Q(u*g)+Q(Q(v*s)+Q(f*y)));d:{if(e){d=ua[J[J[a>>2]+20>>2]](a)|0;j=c+144|0;ua[J[J[d>>2]+64>>2]](d,j,w);d=J[b+32>>2];G=N[d+52>>2];H=N[d+56>>2];I=N[d+60>>2];x=N[b+420>>2];t=N[b+412>>2];u=N[b+416>>2];f=N[d+8>>2];g=N[d+12>>2];i=N[d+28>>2];l=N[d+20>>2];o=N[d+24>>2];v=N[b+380>>2];y=N[b+396>>2];z=N[b+400>>2];A=N[b+368>>2];B=N[b+384>>2];C=N[b+404>>2];p=N[d+44>>2];D=N[b+372>>2];n=N[d+36>>2];E=N[b+388>>2];r=N[d+40>>2];s=N[d+4>>2];F=N[b+364>>2];J[c+204>>2]=0;J[c+188>>2]=0;J[c+172>>2]=0;J[c+156>>2]=0;N[c+184>>2]=Q(C*p)+Q(Q(D*n)+Q(E*r));N[c+180>>2]=Q(z*p)+Q(Q(A*n)+Q(B*r));N[c+176>>2]=Q(y*p)+Q(Q(F*n)+Q(v*r));N[c+168>>2]=Q(C*i)+Q(Q(D*l)+Q(E*o));N[c+164>>2]=Q(z*i)+Q(Q(A*l)+Q(B*o));N[c+160>>2]=Q(y*i)+Q(Q(F*l)+Q(v*o));N[c+152>>2]=Q(C*g)+Q(Q(D*s)+Q(f*E));N[c+148>>2]=Q(z*g)+Q(Q(A*s)+Q(f*B));N[c+144>>2]=Q(y*g)+Q(Q(F*s)+Q(v*f));N[c+200>>2]=I+Q(Q(x*p)+Q(Q(t*n)+Q(r*u)));N[c+196>>2]=H+Q(Q(x*i)+Q(Q(t*l)+Q(o*u)));N[c+192>>2]=G+Q(Q(x*g)+Q(Q(t*s)+Q(f*u)));d=ua[J[J[a>>2]+20>>2]](a)|0;ua[J[J[d>>2]+64>>2]](d,j,w);break d}d=J[b+32>>2];G=N[d+52>>2];H=N[d+56>>2];I=N[d+60>>2];x=N[b+420>>2];t=N[b+412>>2];u=N[b+416>>2];f=N[d+8>>2];g=N[d+12>>2];i=N[d+28>>2];l=N[d+20>>2];o=N[d+24>>2];v=N[b+380>>2];y=N[b+396>>2];z=N[b+400>>2];A=N[b+368>>2];B=N[b+384>>2];C=N[b+404>>2];p=N[d+44>>2];D=N[b+372>>2];n=N[d+36>>2];E=N[b+388>>2];r=N[d+40>>2];s=N[d+4>>2];F=N[b+364>>2];J[c+204>>2]=0;J[c+188>>2]=0;J[c+172>>2]=0;J[c+156>>2]=0;N[c+184>>2]=Q(C*p)+Q(Q(D*n)+Q(E*r));N[c+180>>2]=Q(z*p)+Q(Q(A*n)+Q(B*r));N[c+176>>2]=Q(y*p)+Q(Q(F*n)+Q(v*r));N[c+168>>2]=Q(C*i)+Q(Q(D*l)+Q(E*o));N[c+164>>2]=Q(z*i)+Q(Q(A*l)+Q(B*o));N[c+160>>2]=Q(y*i)+Q(Q(F*l)+Q(v*o));N[c+152>>2]=Q(C*g)+Q(Q(D*s)+Q(f*E));N[c+148>>2]=Q(z*g)+Q(Q(A*s)+Q(f*B));N[c+144>>2]=Q(y*g)+Q(Q(F*s)+Q(v*f));N[c+200>>2]=I+Q(Q(x*p)+Q(Q(t*n)+Q(r*u)));N[c+196>>2]=H+Q(Q(x*i)+Q(Q(t*l)+Q(o*u)));N[c+192>>2]=G+Q(Q(x*g)+Q(Q(t*s)+Q(f*u)))}if(!k){break a}q=b+300|0;d=c+192|0;zd(c+128|0,b,Q(6.0868353843688965),w);J[c+140>>2]=0;f=N[c+136>>2];g=N[c+128>>2];i=N[c+132>>2];N[c+136>>2]=Q(Q(f*N[c+184>>2])+Q(Q(g*N[c+176>>2])+Q(i*N[c+180>>2])))+N[c+200>>2];N[c+132>>2]=Q(Q(f*N[c+168>>2])+Q(Q(g*N[c+160>>2])+Q(i*N[c+164>>2])))+N[c+196>>2];N[c+128>>2]=Q(Q(f*N[c+152>>2])+Q(Q(g*N[c+144>>2])+Q(i*N[c+148>>2])))+N[c+192>>2];j=0;while(1){e=c- -64|0;zd(e,b,Q(Q(Q(j|0)*Q(6.283185005187988))*Q(.03125)),w);J[c+76>>2]=0;f=N[c+72>>2];g=N[c+64>>2];i=N[c+68>>2];N[c+72>>2]=Q(Q(f*N[c+184>>2])+Q(Q(g*N[c+176>>2])+Q(i*N[c+180>>2])))+N[c+200>>2];N[c+68>>2]=Q(Q(f*N[c+168>>2])+Q(Q(g*N[c+160>>2])+Q(i*N[c+164>>2])))+N[c+196>>2];N[c+64>>2]=Q(Q(f*N[c+152>>2])+Q(Q(g*N[c+144>>2])+Q(i*N[c+148>>2])))+N[c+192>>2];k=ua[J[J[a>>2]+20>>2]](a)|0;ua[J[J[k>>2]+16>>2]](k,c+128|0,e,c+208|0);if(!(j&3)){e=ua[J[J[a>>2]+20>>2]](a)|0;ua[J[J[e>>2]+16>>2]](e,d,c- -64|0,c+208|0)}e=J[c+76>>2];J[c+136>>2]=J[c+72>>2];J[c+140>>2]=e;e=J[c+68>>2];J[c+128>>2]=J[c+64>>2];J[c+132>>2]=e;j=j+1|0;if((j|0)!=32){continue}break};f=N[b+512>>2];g=N[b+452>>2];j=J[b+32>>2];e:{if(N[j+404>>2]>Q(0)){vd(c- -64|0,j+4|0,b+364|0);break e}vd(c- -64|0,J[b+28>>2]+4|0,q)}b=J[c+76>>2];J[c+152>>2]=J[c+72>>2];J[c+156>>2]=b;b=J[c+68>>2];J[c+144>>2]=J[c+64>>2];J[c+148>>2]=b;b=J[c+92>>2];J[c+168>>2]=J[c+88>>2];J[c+172>>2]=b;b=J[c+84>>2];J[c+160>>2]=J[c+80>>2];J[c+164>>2]=b;b=J[c+108>>2];J[c+184>>2]=J[c+104>>2];J[c+188>>2]=b;b=J[c+100>>2];J[c+176>>2]=J[c+96>>2];J[c+180>>2]=b;b=J[c+124>>2];J[d+8>>2]=J[c+120>>2];J[d+12>>2]=b;b=J[c+116>>2];J[d>>2]=J[c+112>>2];J[d+4>>2]=b;b=J[d+12>>2];J[c+72>>2]=J[d+8>>2];J[c+76>>2]=b;b=J[d+4>>2];J[c+64>>2]=J[d>>2];J[c+68>>2]=b;N[c+48>>2]=N[c+144>>2];N[c+52>>2]=N[c+160>>2];J[c+60>>2]=0;N[c+56>>2]=N[c+176>>2];N[c+32>>2]=N[c+148>>2];N[c+36>>2]=N[c+164>>2];J[c+44>>2]=0;N[c+40>>2]=N[c+180>>2];a=ua[J[J[a>>2]+20>>2]](a)|0;ua[J[J[a>>2]+68>>2]](a,c- -64|0,c+48|0,c+32|0,w,w,Q(Q(-f)-g),Q(g-f),c+208|0,1,Q(10));break a;case 3:case 6:d=b+1072|0;j=J[d+4>>2];J[c+152>>2]=J[d>>2];J[c+156>>2]=j;d=J[b+1068>>2];J[c+144>>2]=J[b+1064>>2];J[c+148>>2]=d;d=b+1088|0;j=J[d+4>>2];J[c+168>>2]=J[d>>2];J[c+172>>2]=j;d=b+1080|0;j=J[d+4>>2];J[c+160>>2]=J[d>>2];J[c+164>>2]=j;j=b+1104|0;q=J[j+4>>2];J[c+184>>2]=J[j>>2];J[c+188>>2]=q;j=b+1096|0;q=J[j+4>>2];J[c+176>>2]=J[j>>2];J[c+180>>2]=q;q=b+1120|0;h=J[q+4>>2];J[c+200>>2]=J[q>>2];J[c+204>>2]=h;q=b+1112|0;h=J[q+4>>2];J[c+192>>2]=J[q>>2];J[c+196>>2]=h;if(e){e=ua[J[J[a>>2]+20>>2]](a)|0;h=c+144|0;ua[J[J[e>>2]+64>>2]](e,h,w);e=b+1136|0;m=J[e+4>>2];J[c+152>>2]=J[e>>2];J[c+156>>2]=m;e=J[b+1132>>2];J[c+144>>2]=J[b+1128>>2];J[c+148>>2]=e;e=b+1152|0;m=J[e+4>>2];J[c+168>>2]=J[e>>2];J[c+172>>2]=m;e=b+1144|0;m=J[e+4>>2];J[c+160>>2]=J[e>>2];J[c+164>>2]=m;e=b+1168|0;m=J[e+4>>2];J[c+184>>2]=J[e>>2];J[c+188>>2]=m;e=b+1160|0;m=J[e+4>>2];J[c+176>>2]=J[e>>2];J[c+180>>2]=m;e=b+1184|0;m=J[e+4>>2];J[c+200>>2]=J[e>>2];J[c+204>>2]=m;e=b+1176|0;m=J[e+4>>2];J[c+192>>2]=J[e>>2];J[c+196>>2]=m;e=ua[J[J[a>>2]+20>>2]](a)|0;ua[J[J[e>>2]+64>>2]](e,h,w)}if(!k){break a}e=b+1064|0;k=J[e+12>>2];J[c+152>>2]=J[e+8>>2];J[c+156>>2]=k;k=J[e+4>>2];J[c+144>>2]=J[e>>2];J[c+148>>2]=k;k=J[d+12>>2];J[c+168>>2]=J[d+8>>2];J[c+172>>2]=k;k=J[d+4>>2];J[c+160>>2]=J[d>>2];J[c+164>>2]=k;k=J[j+12>>2];J[c+184>>2]=J[j+8>>2];J[c+188>>2]=k;k=J[j+4>>2];J[c+176>>2]=J[j>>2];J[c+180>>2]=k;k=J[q+12>>2];J[c+200>>2]=J[q+8>>2];J[c+204>>2]=k;k=J[q+4>>2];J[c+192>>2]=J[q>>2];J[c+196>>2]=k;N[c+64>>2]=N[c+152>>2];N[c+68>>2]=N[c+168>>2];J[c+76>>2]=0;N[c+72>>2]=N[c+184>>2];N[c+128>>2]=N[c+144>>2];N[c+132>>2]=N[c+160>>2];J[c+140>>2]=0;N[c+136>>2]=N[c+176>>2];f=N[b+1e3>>2];g=N[b+996>>2];i=N[b+936>>2];l=N[b+932>>2];h=ua[J[J[a>>2]+20>>2]](a)|0;k=b+1176|0;ua[J[J[h>>2]+72>>2]](h,k,c- -64|0,c+128|0,Q(w*Q(.8999999761581421)),l,i,g,f,c+208|0,Q(10),1);J[c+140>>2]=0;N[c+136>>2]=N[c+180>>2];N[c+132>>2]=N[c+164>>2];N[c+128>>2]=N[c+148>>2];l=N[b+1196>>2];f=N[c+128>>2];i=N[b+1200>>2];g=Na(i);o=N[c+132>>2];p=Ma(i);N[c+52>>2]=Q(o*p)-Q(g*f);i=Na(l);n=N[c+136>>2];l=Ma(l);N[c+56>>2]=Q(n*l)+Q(Q(f*Q(i*p))+Q(o*Q(i*g)));N[c+48>>2]=Q(Q(f*Q(l*p))+Q(o*Q(l*g)))-Q(i*n);h=b+1136|0;m=J[h+4>>2];J[c+152>>2]=J[h>>2];J[c+156>>2]=m;h=J[b+1132>>2];J[c+144>>2]=J[b+1128>>2];J[c+148>>2]=h;h=b+1152|0;m=J[h+4>>2];J[c+168>>2]=J[h>>2];J[c+172>>2]=m;h=b+1144|0;m=J[h+4>>2];J[c+160>>2]=J[h>>2];J[c+164>>2]=m;h=b+1168|0;m=J[h+4>>2];J[c+184>>2]=J[h>>2];J[c+188>>2]=m;h=b+1160|0;m=J[h+4>>2];J[c+176>>2]=J[h>>2];J[c+180>>2]=m;h=b+1184|0;m=J[h+4>>2];J[c+200>>2]=J[h>>2];J[c+204>>2]=m;h=J[k+4>>2];J[c+192>>2]=J[k>>2];J[c+196>>2]=h;J[c+44>>2]=0;N[c+40>>2]=-N[c+176>>2];N[c+36>>2]=-N[c+160>>2];N[c+32>>2]=-N[c+144>>2];f=N[b+868>>2];g=N[b+872>>2];f:{if(f>g){h=ua[J[J[a>>2]+20>>2]](a)|0;ua[J[J[h>>2]+68>>2]](h,k,c+32|0,c+48|0,w,w,Q(-3.1415927410125732),Q(3.1415927410125732),c+208|0,0,Q(10));break f}if(!(f>2]+20>>2]](a)|0;ua[J[J[h>>2]+68>>2]](h,k,c+32|0,c+48|0,w,w,f,g,c+208|0,1,Q(10))}k=J[e+12>>2];J[c+152>>2]=J[e+8>>2];J[c+156>>2]=k;k=J[e+4>>2];J[c+144>>2]=J[e>>2];J[c+148>>2]=k;e=J[d+12>>2];J[c+168>>2]=J[d+8>>2];J[c+172>>2]=e;e=J[d+4>>2];J[c+160>>2]=J[d>>2];J[c+164>>2]=e;d=J[j+12>>2];J[c+184>>2]=J[j+8>>2];J[c+188>>2]=d;d=J[j+4>>2];J[c+176>>2]=J[j>>2];J[c+180>>2]=d;d=J[q+12>>2];J[c+200>>2]=J[q+8>>2];J[c+204>>2]=d;d=J[q+4>>2];J[c+192>>2]=J[q>>2];J[c+196>>2]=d;d=J[b+692>>2];J[c+24>>2]=J[b+688>>2];J[c+28>>2]=d;d=J[b+684>>2];J[c+16>>2]=J[b+680>>2];J[c+20>>2]=d;d=J[b+708>>2];J[c+8>>2]=J[b+704>>2];J[c+12>>2]=d;d=J[b+700>>2];J[c>>2]=J[b+696>>2];J[c+4>>2]=d;a=ua[J[J[a>>2]+20>>2]](a)|0;ua[J[J[a>>2]+80>>2]](a,c+16|0,c,c+144|0,c+208|0);break a;case 9:d=b+1244|0;j=J[d+4>>2];J[c+152>>2]=J[d>>2];J[c+156>>2]=j;d=J[b+1240>>2];J[c+144>>2]=J[b+1236>>2];J[c+148>>2]=d;d=b+1260|0;j=J[d+4>>2];J[c+168>>2]=J[d>>2];J[c+172>>2]=j;d=b+1252|0;j=J[d+4>>2];J[c+160>>2]=J[d>>2];J[c+164>>2]=j;j=b+1276|0;q=J[j+4>>2];J[c+184>>2]=J[j>>2];J[c+188>>2]=q;j=b+1268|0;q=J[j+4>>2];J[c+176>>2]=J[j>>2];J[c+180>>2]=q;q=b+1292|0;h=J[q+4>>2];J[c+200>>2]=J[q>>2];J[c+204>>2]=h;q=b+1284|0;h=J[q+4>>2];J[c+192>>2]=J[q>>2];J[c+196>>2]=h;if(e){e=ua[J[J[a>>2]+20>>2]](a)|0;h=c+144|0;ua[J[J[e>>2]+64>>2]](e,h,w);e=b+1308|0;m=J[e+4>>2];J[c+152>>2]=J[e>>2];J[c+156>>2]=m;e=J[b+1304>>2];J[c+144>>2]=J[b+1300>>2];J[c+148>>2]=e;e=b+1324|0;m=J[e+4>>2];J[c+168>>2]=J[e>>2];J[c+172>>2]=m;e=b+1316|0;m=J[e+4>>2];J[c+160>>2]=J[e>>2];J[c+164>>2]=m;e=b+1340|0;m=J[e+4>>2];J[c+184>>2]=J[e>>2];J[c+188>>2]=m;e=b+1332|0;m=J[e+4>>2];J[c+176>>2]=J[e>>2];J[c+180>>2]=m;e=b+1356|0;m=J[e+4>>2];J[c+200>>2]=J[e>>2];J[c+204>>2]=m;e=b+1348|0;m=J[e+4>>2];J[c+192>>2]=J[e>>2];J[c+196>>2]=m;e=ua[J[J[a>>2]+20>>2]](a)|0;ua[J[J[e>>2]+64>>2]](e,h,w)}if(!k){break a}e=b+1236|0;k=J[e+12>>2];J[c+152>>2]=J[e+8>>2];J[c+156>>2]=k;k=J[e+4>>2];J[c+144>>2]=J[e>>2];J[c+148>>2]=k;k=J[d+12>>2];J[c+168>>2]=J[d+8>>2];J[c+172>>2]=k;k=J[d+4>>2];J[c+160>>2]=J[d>>2];J[c+164>>2]=k;k=J[j+12>>2];J[c+184>>2]=J[j+8>>2];J[c+188>>2]=k;k=J[j+4>>2];J[c+176>>2]=J[j>>2];J[c+180>>2]=k;k=J[q+12>>2];J[c+200>>2]=J[q+8>>2];J[c+204>>2]=k;k=J[q+4>>2];J[c+192>>2]=J[q>>2];J[c+196>>2]=k;N[c+64>>2]=N[c+152>>2];N[c+68>>2]=N[c+168>>2];J[c+76>>2]=0;N[c+72>>2]=N[c+184>>2];N[c+128>>2]=N[c+144>>2];N[c+132>>2]=N[c+160>>2];J[c+140>>2]=0;N[c+136>>2]=N[c+176>>2];f=N[b+1148>>2];g=N[b+1144>>2];i=N[b+1060>>2];l=N[b+1056>>2];h=ua[J[J[a>>2]+20>>2]](a)|0;k=b+1348|0;ua[J[J[h>>2]+72>>2]](h,k,c- -64|0,c+128|0,Q(w*Q(.8999999761581421)),l,i,g,f,c+208|0,Q(10),1);J[c+140>>2]=0;p=N[c+180>>2];N[c+136>>2]=p;f=N[c+164>>2];N[c+132>>2]=f;g=N[c+148>>2];N[c+128>>2]=g;l=N[b+1372>>2];i=Na(l);l=Ma(l);n=N[b+1368>>2];N[c+52>>2]=Q(l*f)-Q(i*g);o=Na(n);n=Ma(n);N[c+56>>2]=Q(p*n)+Q(Q(g*Q(o*l))+Q(f*Q(o*i)));N[c+48>>2]=Q(Q(g*Q(n*l))+Q(f*Q(n*i)))-Q(o*p);h=b+1308|0;m=J[h+4>>2];J[c+152>>2]=J[h>>2];J[c+156>>2]=m;h=J[b+1304>>2];J[c+144>>2]=J[b+1300>>2];J[c+148>>2]=h;h=b+1324|0;m=J[h+4>>2];J[c+168>>2]=J[h>>2];J[c+172>>2]=m;h=b+1316|0;m=J[h+4>>2];J[c+160>>2]=J[h>>2];J[c+164>>2]=m;h=b+1340|0;m=J[h+4>>2];J[c+184>>2]=J[h>>2];J[c+188>>2]=m;h=b+1332|0;m=J[h+4>>2];J[c+176>>2]=J[h>>2];J[c+180>>2]=m;h=b+1356|0;m=J[h+4>>2];J[c+200>>2]=J[h>>2];J[c+204>>2]=m;h=J[k+4>>2];J[c+192>>2]=J[k>>2];J[c+196>>2]=h;J[c+44>>2]=0;N[c+40>>2]=-N[c+176>>2];N[c+36>>2]=-N[c+160>>2];N[c+32>>2]=-N[c+144>>2];f=N[b+968>>2];g=N[b+972>>2];g:{if(f>g){h=ua[J[J[a>>2]+20>>2]](a)|0;ua[J[J[h>>2]+68>>2]](h,k,c+32|0,c+48|0,w,w,Q(-3.1415927410125732),Q(3.1415927410125732),c+208|0,0,Q(10));break g}if(!(f>2]+20>>2]](a)|0;ua[J[J[h>>2]+68>>2]](h,k,c+32|0,c+48|0,w,w,f,g,c+208|0,1,Q(10))}k=J[e+12>>2];J[c+152>>2]=J[e+8>>2];J[c+156>>2]=k;k=J[e+4>>2];J[c+144>>2]=J[e>>2];J[c+148>>2]=k;e=J[d+12>>2];J[c+168>>2]=J[d+8>>2];J[c+172>>2]=e;e=J[d+4>>2];J[c+160>>2]=J[d>>2];J[c+164>>2]=e;d=J[j+12>>2];J[c+184>>2]=J[j+8>>2];J[c+188>>2]=d;d=J[j+4>>2];J[c+176>>2]=J[j>>2];J[c+180>>2]=d;d=J[q+12>>2];J[c+200>>2]=J[q+8>>2];J[c+204>>2]=d;d=J[q+4>>2];J[c+192>>2]=J[q>>2];J[c+196>>2]=d;d=J[b+692>>2];J[c+24>>2]=J[b+688>>2];J[c+28>>2]=d;d=J[b+684>>2];J[c+16>>2]=J[b+680>>2];J[c+20>>2]=d;d=J[b+708>>2];J[c+8>>2]=J[b+704>>2];J[c+12>>2]=d;d=J[b+700>>2];J[c>>2]=J[b+696>>2];J[c+4>>2]=d;a=ua[J[J[a>>2]+20>>2]](a)|0;ua[J[J[a>>2]+80>>2]](a,c+16|0,c,c+144|0,c+208|0);break a;case 4:break b;default:break a}}d=J[b+836>>2];J[c+152>>2]=J[b+832>>2];J[c+156>>2]=d;d=J[b+828>>2];J[c+144>>2]=J[b+824>>2];J[c+148>>2]=d;d=J[b+852>>2];J[c+168>>2]=J[b+848>>2];J[c+172>>2]=d;d=J[b+844>>2];J[c+160>>2]=J[b+840>>2];J[c+164>>2]=d;d=J[b+868>>2];J[c+184>>2]=J[b+864>>2];J[c+188>>2]=d;d=J[b+860>>2];J[c+176>>2]=J[b+856>>2];J[c+180>>2]=d;d=J[b+884>>2];J[c+200>>2]=J[b+880>>2];J[c+204>>2]=d;d=J[b+876>>2];J[c+192>>2]=J[b+872>>2];J[c+196>>2]=d;h:{if(e){d=ua[J[J[a>>2]+20>>2]](a)|0;j=c+144|0;ua[J[J[d>>2]+64>>2]](d,j,w);d=J[b+900>>2];J[c+152>>2]=J[b+896>>2];J[c+156>>2]=d;d=J[b+892>>2];J[c+144>>2]=J[b+888>>2];J[c+148>>2]=d;d=J[b+916>>2];J[c+168>>2]=J[b+912>>2];J[c+172>>2]=d;d=J[b+908>>2];J[c+160>>2]=J[b+904>>2];J[c+164>>2]=d;d=J[b+932>>2];J[c+184>>2]=J[b+928>>2];J[c+188>>2]=d;d=J[b+924>>2];J[c+176>>2]=J[b+920>>2];J[c+180>>2]=d;d=J[b+948>>2];J[c+200>>2]=J[b+944>>2];J[c+204>>2]=d;d=J[b+940>>2];J[c+192>>2]=J[b+936>>2];J[c+196>>2]=d;d=ua[J[J[a>>2]+20>>2]](a)|0;ua[J[J[d>>2]+64>>2]](d,j,w);break h}d=J[b+900>>2];J[c+152>>2]=J[b+896>>2];J[c+156>>2]=d;d=J[b+892>>2];J[c+144>>2]=J[b+888>>2];J[c+148>>2]=d;d=J[b+916>>2];J[c+168>>2]=J[b+912>>2];J[c+172>>2]=d;d=J[b+908>>2];J[c+160>>2]=J[b+904>>2];J[c+164>>2]=d;d=J[b+932>>2];J[c+184>>2]=J[b+928>>2];J[c+188>>2]=d;d=J[b+924>>2];J[c+176>>2]=J[b+920>>2];J[c+180>>2]=d;d=J[b+948>>2];J[c+200>>2]=J[b+944>>2];J[c+204>>2]=d;d=J[b+940>>2];J[c+192>>2]=J[b+936>>2];J[c+196>>2]=d}if(!k){break a}d=K[b+180|0];f=N[(d?824:888)+b>>2];d=d?b+824|0:b+888|0;o=N[d+48>>2];t=N[d+8>>2];p=N[d+4>>2];n=N[d+52>>2];u=N[d+24>>2];g=N[d+16>>2];r=N[d+20>>2];s=N[d+56>>2];v=N[d+40>>2];i=N[d+32>>2];x=N[d+36>>2];l=N[b+184>>2];J[c+76>>2]=0;v=Q(v*Q(0));y=Q(x*Q(0));N[c+72>>2]=s+Q(v+Q(Q(l*i)+y));u=Q(u*Q(0));z=Q(r*Q(0));N[c+68>>2]=n+Q(u+Q(Q(l*g)+z));t=Q(t*Q(0));A=Q(p*Q(0));N[c+64>>2]=o+Q(t+Q(Q(l*f)+A));l=N[b+188>>2];J[c+140>>2]=0;N[c+136>>2]=s+Q(v+Q(Q(l*i)+y));N[c+132>>2]=n+Q(u+Q(Q(l*g)+z));N[c+128>>2]=o+Q(t+Q(Q(l*f)+A));d=ua[J[J[a>>2]+20>>2]](a)|0;j=c+208|0;ua[J[J[d>>2]+16>>2]](d,c- -64|0,c+128|0,j);J[c+60>>2]=0;N[c+56>>2]=i;N[c+52>>2]=g;N[c+48>>2]=f;J[c+44>>2]=0;N[c+40>>2]=x;N[c+36>>2]=r;N[c+32>>2]=p;f=N[b+196>>2];g=N[b+192>>2];a=ua[J[J[a>>2]+20>>2]](a)|0;ua[J[J[a>>2]+68>>2]](a,b+936|0,c+48|0,c+32|0,w,w,g,f,j,1,Q(10))}sa=c+352|0}function Zh(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=Q(0),f=0,g=Q(0),h=Q(0),i=Q(0),j=0,k=Q(0),l=Q(0),m=0,n=Q(0),o=0,p=0,q=Q(0),r=Q(0),s=0,t=Q(0),u=0,v=Q(0),w=0,x=Q(0),y=0,z=Q(0),A=Q(0),B=Q(0),C=0,D=Q(0),E=0,F=0,G=0,I=0,L=Q(0),M=Q(0),O=Q(0),S=Q(0),T=Q(0),U=0,V=Q(0),W=0,X=0,Z=Q(0),_=0,$=Q(0),aa=0,ba=Q(0),ca=Q(0),da=0,ea=0,fa=0,ga=0,ha=Q(0),ia=Q(0),ja=Q(0),ka=Q(0),la=Q(0),ma=Q(0),na=Q(0),oa=Q(0),pa=Q(0),qa=Q(0),ra=Q(0),ta=Q(0),va=Q(0),wa=Q(0),xa=Q(0),ya=Q(0),za=Q(0),Aa=Q(0),Ba=Q(0),Ca=Q(0),Da=Q(0),Ea=Q(0),Fa=Q(0),Ga=Q(0),Ha=Q(0),Ia=Q(0),Ka=Q(0),La=Q(0),Ma=Q(0),Na=Q(0),Oa=Q(0),Pa=Q(0),Qa=Q(0),Ra=Q(0),Sa=Q(0),Ta=Q(0),Ua=Q(0);if((c|0)>0){while(1){aa=0;s=sa-80|0;sa=s;_=J[(da<<2)+b>>2];o=J[_+840>>2];p=J[_+836>>2];F=db(a,p,N[d+12>>2]);G=db(a,o,N[d+12>>2]);f=J[a+16>>2];C=f+P(F,244)|0;e=N[C+136>>2];k=Q(e*e);e=N[C+128>>2];h=Q(e*e);e=N[C+132>>2];a:{if(Q(k+Q(h+Q(e*e)))>2];k=Q(e*e);e=N[C+128>>2];h=Q(e*e);e=N[C+132>>2];if(Q(k+Q(h+Q(e*e)))>2];if((j|0)<=0){break a}W=f+P(G,244)|0;X=f+P(F,244)|0;while(1){u=P(aa,208)+_|0;if(N[u+84>>2]<=N[_+852>>2]){y=u+4|0;C=J[a+28>>2];j=C;b:{if((j|0)!=J[a+32>>2]){break b}w=j?C<<1:1;if((w|0)<=(j|0)){break b}c:{if(!w){m=0;f=C;break c}J[8456]=J[8456]+1;m=ua[J[8258]](P(w,152),16)|0;f=J[a+28>>2]}d:{if((f|0)<=0){break d}j=0;if((f|0)!=1){U=f&-2;E=0;while(1){I=P(j,152);Ja(I+m|0,I+J[a+36>>2]|0,152);I=P(j|1,152);Ja(I+m|0,I+J[a+36>>2]|0,152);j=j+2|0;E=E+2|0;if((U|0)!=(E|0)){continue}break}}if(!(f&1)){break d}f=P(j,152);Ja(f+m|0,f+J[a+36>>2]|0,152)}f=J[a+36>>2];if(!(f?!f|!K[a+40|0]:1)){J[8457]=J[8457]+1;ua[J[8259]](f)}J[a+36>>2]=m;H[a+40|0]=1;J[a+32>>2]=w;j=J[a+28>>2]}J[a+28>>2]=j+1;f=J[a+36>>2]+P(C,152)|0;J[f+148>>2]=G;J[f+144>>2]=F;J[f+132>>2]=y;i=N[u+52>>2];g=N[u+56>>2];e=N[u+60>>2];h=N[p+52>>2];l=N[p+56>>2];n=N[p+60>>2];J[s+76>>2]=0;e=Q(e-n);N[s+72>>2]=e;g=Q(g-l);N[s+68>>2]=g;i=Q(i-h);N[s+64>>2]=i;n=N[u+36>>2];l=N[u+40>>2];h=N[u+44>>2];k=N[o+52>>2];z=N[o+56>>2];r=N[o+60>>2];J[s+60>>2]=0;h=Q(h-r);N[s+56>>2]=h;l=Q(l-z);N[s+52>>2]=l;n=Q(n-k);N[s+48>>2]=n;z=Q(0);L=Q(0);$=Q(0);ha=Q(0);if(J[X+240>>2]){k=Q(N[X+192>>2]+N[X+224>>2]);r=Q(N[X+196>>2]+N[X+228>>2]);L=Q(Q(N[X+184>>2]+N[X+216>>2])+Q(Q(k*g)-Q(i*r)));t=Q(N[X+200>>2]+N[X+232>>2]);$=Q(Q(N[X+180>>2]+N[X+212>>2])+Q(Q(t*i)-Q(e*k)));ha=Q(Q(N[X+176>>2]+N[X+208>>2])+Q(Q(r*e)-Q(g*t)))}ia=Q(0);ja=Q(0);if(J[W+240>>2]){e=Q(N[W+192>>2]+N[W+224>>2]);g=Q(N[W+196>>2]+N[W+228>>2]);z=Q(Q(N[W+184>>2]+N[W+216>>2])+Q(Q(e*l)-Q(n*g)));i=Q(N[W+200>>2]+N[W+232>>2]);ia=Q(Q(N[W+180>>2]+N[W+212>>2])+Q(Q(i*n)-Q(h*e)));ja=Q(Q(N[W+176>>2]+N[W+208>>2])+Q(Q(g*h)-Q(l*i)))}ka=N[u+76>>2];E=u+68|0;la=N[E>>2];ma=N[u+72>>2];w=s- -64|0;k=Q(0);e=Q(0);V=Q(0);U=J[a+16>>2];ea=U+P(G,244)|0;j=J[ea+240>>2];fa=U+P(F,244)|0;m=J[fa+240>>2];N[s+44>>2]=N[d+28>>2];M=N[d+12>>2];B=N[d+36>>2];g=N[d+40>>2];I=J[y+128>>2];e:{if(I&6){g=I&2?N[y+152>>2]:g;if(!(I&4)){break e}B=N[y+156>>2];break e}if(!(I&8)){break e}i=Q(M*N[y+152>>2]);g=Q(i+N[y+156>>2]);g=g>2];h=N[y+68>>2];l=N[y+64>>2];n=N[w+4>>2];r=Q(Q(i*h)-Q(l*n));q=N[w+8>>2];t=Q(q*l);l=N[y+72>>2];t=Q(t-Q(l*i));q=Q(Q(n*l)-Q(h*q));i=Q(0);h=Q(0);if(m){h=Q(Q(Q(N[m+364>>2]*r)+Q(Q(N[m+356>>2]*q)+Q(t*N[m+360>>2])))*N[m+612>>2]);i=Q(Q(Q(N[m+348>>2]*r)+Q(Q(N[m+340>>2]*q)+Q(t*N[m+344>>2])))*N[m+608>>2]);e=Q(Q(Q(N[m+332>>2]*r)+Q(Q(N[m+324>>2]*q)+Q(t*N[m+328>>2])))*N[m+604>>2])}N[f+64>>2]=e;J[f+76>>2]=0;N[f+72>>2]=h;N[f+68>>2]=i;l=N[s+48>>2];n=N[y+68>>2];x=N[y+64>>2];O=N[s+52>>2];v=Q(Q(l*n)-Q(x*O));S=N[s+56>>2];T=N[y+72>>2];x=Q(Q(S*x)-Q(T*l));O=Q(Q(O*T)-Q(n*S));l=Q(0);n=Q(0);if(j){l=Q(-O);n=Q(Q(Q(Q(N[j+356>>2]*l)-Q(N[j+360>>2]*x))-Q(N[j+364>>2]*v))*N[j+612>>2]);k=Q(Q(Q(Q(N[j+324>>2]*l)-Q(N[j+328>>2]*x))-Q(N[j+332>>2]*v))*N[j+604>>2]);l=Q(Q(Q(Q(N[j+340>>2]*l)-Q(N[j+344>>2]*x))-Q(N[j+348>>2]*v))*N[j+608>>2])}N[f+80>>2]=k;J[f+92>>2]=0;N[f+88>>2]=n;N[f+84>>2]=l;S=N[s+44>>2];M=Q(Q(1)/M);D=Q(M*g);if(m){g=N[w+4>>2];Z=N[w>>2];T=Q(N[y+72>>2]*Q(Q(e*g)-Q(Z*i)));A=i;i=N[w+8>>2];h=Q(N[m+404>>2]+Q(T+Q(Q(N[y+64>>2]*Q(Q(A*i)-Q(g*h)))+Q(Q(Q(h*Z)-Q(i*e))*N[y+68>>2]))))}else{h=Q(0)}if(j){g=N[s+48>>2];i=N[s+52>>2];e=Q(N[y+72>>2]*Q(Q(l*g)-Q(k*i)));A=Q(n*i);i=N[s+56>>2];k=Q(N[j+404>>2]+Q(e+Q(Q(N[y+64>>2]*Q(A-Q(l*i)))+Q(Q(Q(k*i)-Q(n*g))*N[y+68>>2]))))}else{k=Q(0)}N[f+108>>2]=S/Q(D+Q(h+k));f:{if(m){I=y- -64|0;ga=J[I+4>>2];J[f+16>>2]=J[I>>2];J[f+20>>2]=ga;ga=J[I+12>>2];J[f+24>>2]=J[I+8>>2];J[f+28>>2]=ga;J[f+12>>2]=0;N[f+8>>2]=r;N[f+4>>2]=t;N[f>>2]=q;break f}J[f>>2]=0;J[f+4>>2]=0;J[f+24>>2]=0;J[f+28>>2]=0;J[f+16>>2]=0;J[f+20>>2]=0;J[f+8>>2]=0;J[f+12>>2]=0}g:{if(j){e=N[y+64>>2];g=N[y+68>>2];i=N[y+72>>2];J[f+60>>2]=0;J[f+44>>2]=0;N[f+40>>2]=-v;N[f+36>>2]=-x;N[f+32>>2]=-O;N[f+56>>2]=-i;N[f+52>>2]=-g;N[f+48>>2]=-e;break g}J[f+32>>2]=0;J[f+36>>2]=0;J[f+56>>2]=0;J[f+60>>2]=0;J[f+48>>2]=0;J[f+52>>2]=0;J[f+40>>2]=0;J[f+44>>2]=0}i=Q(0);h=Q(0);l=Q(0);n=Q(0);if(m){e=N[m+388>>2];g=N[w+4>>2];h=N[w>>2];k=N[m+392>>2];n=Q(Q(Q(e*g)-Q(h*k))+N[m+380>>2]);r=N[m+396>>2];q=Q(r*h);h=N[w+8>>2];l=Q(Q(q-Q(h*e))+N[m+376>>2]);h=Q(Q(Q(k*h)-Q(g*r))+N[m+372>>2])}q=Q(0);e=Q(0);if(j){g=N[j+388>>2];i=N[s+52>>2];k=N[s+48>>2];r=N[j+392>>2];e=Q(Q(Q(g*i)-Q(k*r))+N[j+380>>2]);t=N[j+396>>2];q=Q(t*k);k=N[s+56>>2];q=Q(Q(q-Q(k*g))+N[j+376>>2]);i=Q(Q(Q(r*k)-Q(i*t))+N[j+372>>2])}t=N[d+64>>2];na=N[y+80>>2];oa=N[y+72>>2];pa=N[y+68>>2];qa=N[y+64>>2];N[f+104>>2]=N[y+84>>2];ra=N[d+96>>2];ta=N[y+96>>2];h:{if(K[d+72|0]&4){g=Q(N[y+132>>2]*N[d+68>>2]);N[f+100>>2]=g;if(!(!m|!J[fa+240>>2])){k=N[m+416>>2];r=N[f+24>>2];v=N[m+412>>2];x=N[f+20>>2];w=U+P(F,244)|0;N[w+64>>2]=Q(N[w+112>>2]*Q(g*Q(Q(N[f+16>>2]*N[w+128>>2])*N[m+408>>2])))+N[w+64>>2];N[w+68>>2]=Q(Q(g*Q(v*Q(x*N[w+132>>2])))*N[w+116>>2])+N[w+68>>2];N[w+72>>2]=Q(Q(g*Q(k*Q(r*N[w+136>>2])))*N[w+120>>2])+N[w+72>>2];k=N[f+72>>2];r=N[f+68>>2];N[w+80>>2]=Q(Q(g*N[w+96>>2])*N[f+64>>2])+N[w+80>>2];v=N[w+104>>2];N[w+84>>2]=Q(r*Q(g*N[w+100>>2]))+N[w+84>>2];N[w+88>>2]=Q(k*Q(g*v))+N[w+88>>2]}if(!j|!J[ea+240>>2]){break h}m=U+P(G,244)|0;k=N[m+120>>2];r=N[j+416>>2];v=N[f+56>>2];x=N[m+136>>2];O=N[m+116>>2];S=N[j+412>>2];T=N[f+52>>2];Z=N[m+132>>2];A=N[f+88>>2];ba=N[f+84>>2];ca=N[f+80>>2];g=N[f+100>>2];N[m+64>>2]=N[m+64>>2]+Q(N[m+112>>2]*Q(Q(Q(N[m+128>>2]*N[f+48>>2])*N[j+408>>2])*g));N[m+80>>2]=N[m+80>>2]+Q(ca*Q(g*N[m+96>>2]));N[m+84>>2]=N[m+84>>2]+Q(ba*Q(g*N[m+100>>2]));N[m+88>>2]=N[m+88>>2]+Q(A*Q(g*N[m+104>>2]));N[m+68>>2]=N[m+68>>2]+Q(O*Q(g*Q(S*Q(Z*T))));N[m+72>>2]=N[m+72>>2]+Q(k*Q(g*Q(r*Q(x*v))));break h}J[f+100>>2]=0}J[f+96>>2]=0;v=Q(0);x=Q(0);O=Q(0);g=Q(0);k=Q(0);S=Q(0);T=Q(0);if(J[fa+240>>2]){j=U+P(F,244)|0;T=N[j+224>>2];k=N[j+232>>2];S=N[j+228>>2];x=N[j+216>>2];O=N[j+212>>2];g=N[j+208>>2]}Z=Q(0);A=Q(0);ba=Q(0);ca=Q(0);if(J[ea+240>>2]){j=U+P(G,244)|0;V=N[j+224>>2];ba=N[j+232>>2];ca=N[j+228>>2];A=N[j+216>>2];Z=N[j+212>>2];v=N[j+208>>2]}j=U+P(F,244)|0;va=N[j+200>>2];wa=N[j+196>>2];xa=N[j+192>>2];ya=N[j+176>>2];za=N[f+20>>2];Aa=N[j+180>>2];Ba=N[f+24>>2];Ca=N[j+184>>2];j=U+P(G,244)|0;Da=N[j+176>>2];Ea=N[f+52>>2];Fa=N[j+180>>2];Ga=N[f+56>>2];Ha=N[j+184>>2];Ia=N[j+192>>2];Ka=N[f+36>>2];La=N[j+196>>2];Ma=N[f+40>>2];Na=N[j+200>>2];Oa=N[f+8>>2];Pa=N[f+4>>2];Qa=N[f>>2];Ra=N[f+16>>2];Sa=N[f+48>>2];Ta=N[f+32>>2];m=J[d+52>>2];Ua=N[d+56>>2];r=N[f+108>>2];J[f+120>>2]=0;J[f+124>>2]=1343554297;N[f+116>>2]=D*r;t=Q(na+t);j=t>Q(0);B=Q(r*(j?Q(0):Q(M*Q(B*Q(-t)))));m=!m|t>Ua;N[f+128>>2]=m?Q(0):B;e=Q(Q(oa*Q(n-e))+Q(Q(qa*Q(h-i))+Q(Q(l-q)*pa)));e=Q(R(e))>2]=Q(r*(j?Q(e-Q(t*M)):e))+(m?B:Q(-0));J[f+140>>2]=J[a+68>>2];i:{if(!(N[u+92>>2]>Q(0))){break i}nc(a,E,F,G,C,N[u+96>>2]);i=N[E+8>>2];j:{if(Q(R(i))>Q(.7071067690849304)){n=N[E+4>>2];e=Q(Q(n*n)+Q(i*i));h=Q(Q(1)/Q(Y(e)));l=Q(e*h);e=Q(h*Q(-i));k=N[E>>2];g=Q(e*k);i=Q(n*h);k=Q(i*Q(-k));h=Q(0);break j}l=N[E>>2];h=N[E+4>>2];g=Q(Q(l*l)+Q(h*h));e=Q(Q(1)/Q(Y(g)));g=Q(g*e);h=Q(e*Q(-h));k=Q(i*h);e=Q(l*e);l=Q(e*Q(-i));i=Q(0)}n=Q(Q(1)/Q(Y(Q(Q(i*i)+Q(Q(h*h)+Q(e*e))))));i=Q(i*n);N[s+36>>2]=i;e=Q(e*n);N[s+32>>2]=e;h=Q(h*n);N[s+28>>2]=h;r=Q(Q(1)/Q(Y(Q(Q(g*g)+Q(Q(l*l)+Q(k*k))))));n=Q(g*r);N[s+20>>2]=n;g=Q(k*r);N[s+16>>2]=g;l=Q(l*r);N[s+12>>2]=l;j=J[p+180>>2]&2;if(j){O=N[p+172>>2];k=N[p+44>>2];r=N[p+12>>2];t=N[p+28>>2];S=N[p+164>>2];q=N[p+36>>2];v=N[p+4>>2];x=N[p+20>>2];T=N[p+168>>2];B=N[p+40>>2];V=N[p+8>>2];M=N[p+24>>2];J[s+40>>2]=0;D=k;k=Q(O*Q(Q(k*i)+Q(Q(r*h)+Q(e*t))));A=q;q=Q(S*Q(Q(q*i)+Q(Q(v*h)+Q(e*x))));h=Q(T*Q(Q(B*i)+Q(Q(V*h)+Q(e*M))));i=Q(Q(D*k)+Q(Q(A*q)+Q(B*h)));N[s+36>>2]=i;e=Q(Q(t*k)+Q(Q(x*q)+Q(M*h)));N[s+32>>2]=e;h=Q(Q(r*k)+Q(Q(v*q)+Q(V*h)));N[s+28>>2]=h}m=J[o+180>>2]&2;if(m){O=N[o+172>>2];k=N[o+44>>2];r=N[o+12>>2];t=N[o+28>>2];S=N[o+164>>2];q=N[o+36>>2];v=N[o+4>>2];x=N[o+20>>2];T=N[o+168>>2];B=N[o+40>>2];V=N[o+8>>2];M=N[o+24>>2];J[s+40>>2]=0;D=k;k=Q(O*Q(Q(k*i)+Q(Q(r*h)+Q(e*t))));A=q;q=Q(S*Q(Q(q*i)+Q(Q(v*h)+Q(x*e))));h=Q(T*Q(Q(B*i)+Q(Q(V*h)+Q(e*M))));i=Q(Q(D*k)+Q(Q(A*q)+Q(B*h)));N[s+36>>2]=i;e=Q(Q(t*k)+Q(Q(x*q)+Q(M*h)));N[s+32>>2]=e;h=Q(Q(r*k)+Q(Q(v*q)+Q(V*h)));N[s+28>>2]=h}if(j){O=N[p+172>>2];k=N[p+44>>2];r=N[p+12>>2];t=N[p+28>>2];S=N[p+164>>2];q=N[p+36>>2];v=N[p+4>>2];x=N[p+20>>2];T=N[p+168>>2];B=N[p+40>>2];V=N[p+8>>2];M=N[p+24>>2];J[s+24>>2]=0;D=k;k=Q(O*Q(Q(k*n)+Q(Q(r*l)+Q(g*t))));A=q;q=Q(S*Q(Q(q*n)+Q(Q(v*l)+Q(g*x))));l=Q(T*Q(Q(B*n)+Q(Q(V*l)+Q(g*M))));n=Q(Q(D*k)+Q(Q(A*q)+Q(B*l)));N[s+20>>2]=n;g=Q(Q(t*k)+Q(Q(x*q)+Q(M*l)));N[s+16>>2]=g;l=Q(Q(r*k)+Q(Q(v*q)+Q(V*l)));N[s+12>>2]=l}if(m){O=N[o+172>>2];k=N[o+44>>2];r=N[o+12>>2];t=N[o+28>>2];S=N[o+164>>2];q=N[o+36>>2];v=N[o+4>>2];x=N[o+20>>2];T=N[o+168>>2];B=N[o+40>>2];V=N[o+8>>2];M=N[o+24>>2];J[s+24>>2]=0;D=k;k=Q(O*Q(Q(k*n)+Q(Q(r*l)+Q(g*t))));A=q;q=Q(S*Q(Q(q*n)+Q(Q(v*l)+Q(x*g))));l=Q(T*Q(Q(B*n)+Q(Q(V*l)+Q(g*M))));n=Q(Q(D*k)+Q(Q(A*q)+Q(B*l)));N[s+20>>2]=n;g=Q(Q(t*k)+Q(Q(x*q)+Q(M*l)));N[s+16>>2]=g;l=Q(Q(r*k)+Q(Q(v*q)+Q(V*l)));N[s+12>>2]=l}if(+Q(Y(Q(Q(i*i)+Q(Q(h*h)+Q(e*e)))))>.001){nc(a,s+28|0,F,G,C,N[u+92>>2])}if(!(+Q(Y(Q(Q(n*n)+Q(Q(l*l)+Q(g*g)))))>.001)){break i}nc(a,s+12|0,F,G,C,N[u+92>>2])}k:{if(!(H[u+132|0]&1?K[d+72|0]&32:0)){k=N[E>>2];e=N[E+4>>2];i=N[E+8>>2];J[u+184>>2]=0;h=Q(L-z);n=Q(ha-ja);l=Q($-ia);g=Q(Q(ka*h)+Q(Q(la*n)+Q(l*ma)));h=Q(h-Q(i*g));N[u+180>>2]=h;l=Q(l-Q(g*e));N[u+176>>2]=l;j=u+172|0;n=Q(n-Q(g*k));N[j>>2]=n;l:{if(K[d+72|0]&64){break l}g=Q(Q(h*h)+Q(Q(n*n)+Q(l*l)));if(!(g>Q(1.1920928955078125e-7))){break l}i=Q(Q(1)/Q(Y(g)));e=Q(h*i);N[j+8>>2]=e;g=Q(l*i);N[j+4>>2]=g;i=Q(n*i);N[j>>2]=i;if(H[p+180|0]&1){x=N[p+172>>2];h=N[p+44>>2];l=N[p+12>>2];n=N[p+28>>2];B=N[p+164>>2];k=N[p+36>>2];z=N[p+4>>2];r=N[p+20>>2];L=N[p+168>>2];t=N[p+40>>2];q=N[p+8>>2];v=N[p+24>>2];J[j+12>>2]=0;D=h;h=Q(x*Q(Q(h*e)+Q(Q(l*i)+Q(g*n))));A=k;k=Q(B*Q(Q(k*e)+Q(Q(z*i)+Q(g*r))));i=Q(L*Q(Q(t*e)+Q(Q(q*i)+Q(g*v))));e=Q(Q(D*h)+Q(Q(A*k)+Q(t*i)));N[j+8>>2]=e;g=Q(Q(n*h)+Q(Q(r*k)+Q(v*i)));N[j+4>>2]=g;i=Q(Q(l*h)+Q(Q(z*k)+Q(q*i)));N[j>>2]=i}if(H[o+180|0]&1){x=N[o+172>>2];h=N[o+44>>2];l=N[o+12>>2];n=N[o+28>>2];B=N[o+164>>2];k=N[o+36>>2];z=N[o+4>>2];r=N[o+20>>2];L=N[o+168>>2];t=N[o+40>>2];q=N[o+8>>2];v=N[o+24>>2];J[j+12>>2]=0;D=h;h=Q(x*Q(Q(h*e)+Q(Q(l*i)+Q(g*n))));A=k;k=Q(B*Q(Q(k*e)+Q(Q(z*i)+Q(r*g))));e=Q(L*Q(Q(t*e)+Q(Q(q*i)+Q(g*v))));N[j+8>>2]=Q(D*h)+Q(Q(A*k)+Q(t*e));N[j+4>>2]=Q(n*h)+Q(Q(r*k)+Q(v*e));N[j>>2]=Q(l*h)+Q(Q(z*k)+Q(q*e))}x=N[s+44>>2];ib(a,j,F,G,C,y,s- -64|0,s+48|0,x,d,Q(0),Q(0));if(!(K[d+72|0]&16)){break k}e=N[j+4>>2];g=N[E+4>>2];i=N[E>>2];h=N[j+8>>2];l=N[j>>2];n=N[E+8>>2];J[u+200>>2]=0;k=Q(Q(l*g)-Q(i*e));z=Q(Q(e*n)-Q(g*h));g=Q(Q(h*i)-Q(n*l));i=Q(Q(1)/Q(Y(Q(Q(k*k)+Q(Q(z*z)+Q(g*g))))));e=Q(k*i);N[u+196>>2]=e;g=Q(g*i);N[u+192>>2]=g;j=u+188|0;i=Q(z*i);N[j>>2]=i;if(H[p+180|0]&1){B=N[p+172>>2];h=N[p+44>>2];l=N[p+12>>2];n=N[p+28>>2];L=N[p+164>>2];k=N[p+36>>2];z=N[p+4>>2];r=N[p+20>>2];$=N[p+168>>2];t=N[p+40>>2];q=N[p+8>>2];v=N[p+24>>2];J[j+12>>2]=0;D=h;h=Q(B*Q(Q(h*e)+Q(Q(l*i)+Q(g*n))));A=k;k=Q(L*Q(Q(k*e)+Q(Q(z*i)+Q(g*r))));i=Q($*Q(Q(t*e)+Q(Q(q*i)+Q(g*v))));e=Q(Q(D*h)+Q(Q(A*k)+Q(t*i)));N[j+8>>2]=e;g=Q(Q(n*h)+Q(Q(r*k)+Q(v*i)));N[j+4>>2]=g;i=Q(Q(l*h)+Q(Q(z*k)+Q(q*i)));N[j>>2]=i}if(H[o+180|0]&1){B=N[o+172>>2];h=N[o+44>>2];l=N[o+12>>2];n=N[o+28>>2];L=N[o+164>>2];k=N[o+36>>2];z=N[o+4>>2];r=N[o+20>>2];$=N[o+168>>2];t=N[o+40>>2];q=N[o+8>>2];v=N[o+24>>2];J[j+12>>2]=0;D=h;h=Q(B*Q(Q(h*e)+Q(Q(l*i)+Q(g*n))));A=k;k=Q(L*Q(Q(k*e)+Q(Q(z*i)+Q(r*g))));e=Q($*Q(Q(t*e)+Q(Q(q*i)+Q(g*v))));N[j+8>>2]=Q(D*h)+Q(Q(A*k)+Q(t*e));N[j+4>>2]=Q(n*h)+Q(Q(r*k)+Q(v*e));N[j>>2]=Q(l*h)+Q(Q(z*k)+Q(q*e))}ib(a,j,F,G,C,y,s- -64|0,s+48|0,x,d,Q(0),Q(0));break k}m=u+188|0;m:{if(Q(R(i))>Q(.7071067690849304)){h=Q(Q(e*e)+Q(i*i));g=Q(Q(1)/Q(Y(h)));n=Q(h*g);h=Q(g*Q(-i));l=Q(k*h);e=Q(e*g);z=Q(e*Q(-k));g=Q(0);break m}g=Q(Q(k*k)+Q(e*e));h=Q(Q(1)/Q(Y(g)));l=Q(g*h);g=Q(h*Q(-e));z=Q(i*g);h=Q(k*h);n=Q(h*Q(-i));e=Q(0)}N[j+8>>2]=e;N[j+4>>2]=h;N[j>>2]=g;N[m+8>>2]=l;N[m+4>>2]=z;N[m>>2]=n;if(H[p+180|0]&1){x=N[p+172>>2];i=N[p+44>>2];l=N[p+12>>2];n=N[p+28>>2];B=N[p+164>>2];k=N[p+36>>2];z=N[p+4>>2];r=N[p+20>>2];L=N[p+168>>2];t=N[p+40>>2];q=N[p+8>>2];v=N[p+24>>2];J[j+12>>2]=0;D=i;i=Q(x*Q(Q(i*e)+Q(Q(l*g)+Q(h*n))));A=k;k=Q(B*Q(Q(k*e)+Q(Q(z*g)+Q(r*h))));g=Q(L*Q(Q(t*e)+Q(Q(q*g)+Q(h*v))));e=Q(Q(D*i)+Q(Q(A*k)+Q(t*g)));N[j+8>>2]=e;h=Q(Q(n*i)+Q(Q(r*k)+Q(v*g)));N[j+4>>2]=h;g=Q(Q(l*i)+Q(Q(z*k)+Q(q*g)));N[j>>2]=g}if(H[o+180|0]&1){x=N[o+172>>2];i=N[o+44>>2];l=N[o+12>>2];n=N[o+28>>2];B=N[o+164>>2];k=N[o+36>>2];z=N[o+4>>2];r=N[o+20>>2];L=N[o+168>>2];t=N[o+40>>2];q=N[o+8>>2];v=N[o+24>>2];J[j+12>>2]=0;D=i;i=Q(x*Q(Q(i*e)+Q(Q(l*g)+Q(h*n))));A=k;k=Q(B*Q(Q(k*e)+Q(Q(z*g)+Q(r*h))));e=Q(L*Q(Q(t*e)+Q(Q(q*g)+Q(h*v))));N[j+8>>2]=Q(D*i)+Q(Q(A*k)+Q(t*e));N[j+4>>2]=Q(n*i)+Q(Q(r*k)+Q(v*e));N[j>>2]=Q(l*i)+Q(Q(z*k)+Q(q*e))}x=N[s+44>>2];ib(a,j,F,G,C,y,s- -64|0,s+48|0,x,d,Q(0),Q(0));j=J[d+72>>2];if(j&16){if(H[p+180|0]&1){t=N[p+172>>2];e=N[p+44>>2];g=N[p+12>>2];i=N[p+28>>2];B=N[p+164>>2];h=N[p+36>>2];l=N[p+4>>2];n=N[p+20>>2];L=N[p+168>>2];k=N[p+40>>2];z=N[p+8>>2];r=N[p+24>>2];J[m+12>>2]=0;D=e;A=t;e=N[m+8>>2];t=N[m>>2];q=N[m+4>>2];v=Q(A*Q(Q(D*e)+Q(Q(g*t)+Q(i*q))));A=h;h=Q(B*Q(Q(h*e)+Q(Q(l*t)+Q(n*q))));e=Q(L*Q(Q(k*e)+Q(Q(z*t)+Q(q*r))));N[m+8>>2]=Q(D*v)+Q(Q(A*h)+Q(k*e));N[m+4>>2]=Q(i*v)+Q(Q(n*h)+Q(r*e));N[m>>2]=Q(g*v)+Q(Q(l*h)+Q(z*e))}if(H[o+180|0]&1){t=N[o+172>>2];e=N[o+44>>2];g=N[o+12>>2];i=N[o+28>>2];B=N[o+164>>2];h=N[o+36>>2];l=N[o+4>>2];n=N[o+20>>2];L=N[o+168>>2];k=N[o+40>>2];z=N[o+8>>2];r=N[o+24>>2];J[m+12>>2]=0;D=e;A=t;e=N[m+8>>2];t=N[m>>2];q=N[m+4>>2];v=Q(A*Q(Q(D*e)+Q(Q(g*t)+Q(i*q))));A=h;h=Q(B*Q(Q(h*e)+Q(Q(l*t)+Q(n*q))));e=Q(L*Q(Q(k*e)+Q(Q(z*t)+Q(q*r))));N[m+8>>2]=Q(D*v)+Q(Q(A*h)+Q(k*e));N[m+4>>2]=Q(i*v)+Q(Q(n*h)+Q(r*e));N[m>>2]=Q(g*v)+Q(Q(l*h)+Q(z*e))}ib(a,m,F,G,C,y,s- -64|0,s+48|0,x,d,Q(0),Q(0));j=J[d+72>>2]}if((j&80)!=80){break k}J[u+132>>2]=J[u+132>>2]|1;break k}e=N[s+44>>2];ib(a,u+172|0,F,G,C,y,s- -64|0,s+48|0,e,d,N[u+148>>2],N[u+164>>2]);if(!(K[d+72|0]&16)){break k}ib(a,u+188|0,F,G,C,y,s- -64|0,s+48|0,e,d,N[u+152>>2],N[u+164>>2])}m=J[a+76>>2];U=J[f+140>>2];I=J[d+72>>2];n:{if(I&4){w=J[a+16>>2];C=J[(w+P(G,244)|0)+240>>2];j=J[(w+P(F,244)|0)+240>>2];u=m+P(U,152)|0;e=Q(N[y+136>>2]*N[d+68>>2]);N[u+100>>2]=e;if(j){i=N[j+416>>2];h=N[u+24>>2];l=N[j+412>>2];n=N[u+20>>2];f=w+P(F,244)|0;g=N[j+404>>2];N[f+64>>2]=Q(Q(e*Q(Q(g*N[u+16>>2])*N[j+408>>2]))*N[f+112>>2])+N[f+64>>2];N[f+68>>2]=Q(Q(e*Q(l*Q(g*n)))*N[f+116>>2])+N[f+68>>2];N[f+72>>2]=Q(Q(e*Q(i*Q(g*h)))*N[f+120>>2])+N[f+72>>2];g=N[u+72>>2];i=N[u+68>>2];N[f+80>>2]=Q(Q(e*N[f+96>>2])*N[u+64>>2])+N[f+80>>2];h=N[f+104>>2];N[f+84>>2]=Q(i*Q(e*N[f+100>>2]))+N[f+84>>2];N[f+88>>2]=Q(g*Q(e*h))+N[f+88>>2]}if(C){E=m+P(U,152)|0;i=N[E+88>>2];h=N[E+84>>2];l=N[E+80>>2];n=N[C+416>>2];k=N[E+56>>2];z=N[C+412>>2];r=N[E+52>>2];f=w+P(G,244)|0;g=N[C+404>>2];e=N[u+100>>2];N[f+64>>2]=N[f+64>>2]+Q(Q(Q(Q(g*N[E+48>>2])*N[C+408>>2])*e)*N[f+112>>2]);N[f+68>>2]=N[f+68>>2]+Q(Q(e*Q(z*Q(g*r)))*N[f+116>>2]);N[f+72>>2]=N[f+72>>2]+Q(Q(e*Q(n*Q(g*k)))*N[f+120>>2]);N[f+80>>2]=N[f+80>>2]+Q(l*Q(e*N[f+96>>2]));g=N[f+104>>2];N[f+84>>2]=N[f+84>>2]+Q(h*Q(e*N[f+100>>2]));N[f+88>>2]=N[f+88>>2]+Q(i*Q(g*e))}if(!(I&16)){break n}E=U+1|0;u=m+P(E,152)|0;e=Q(N[y+140>>2]*N[d+68>>2]);N[u+100>>2]=e;if(j){i=N[u+24>>2];h=N[u+20>>2];f=w+P(F,244)|0;g=N[j+404>>2];N[f+64>>2]=Q(Q(e*Q(g*N[u+16>>2]))*N[f+112>>2])+N[f+64>>2];N[f+68>>2]=Q(Q(e*Q(g*h))*N[f+116>>2])+N[f+68>>2];N[f+72>>2]=Q(Q(e*Q(g*i))*N[f+120>>2])+N[f+72>>2];g=N[u+72>>2];i=N[u+68>>2];N[f+80>>2]=Q(Q(e*N[f+96>>2])*N[u+64>>2])+N[f+80>>2];h=N[f+104>>2];N[f+84>>2]=Q(i*Q(e*N[f+100>>2]))+N[f+84>>2];N[f+88>>2]=Q(g*Q(e*h))+N[f+88>>2]}if(!C){break n}j=m+P(E,152)|0;i=N[j+88>>2];h=N[j+84>>2];l=N[j+56>>2];n=N[j+52>>2];k=N[j+48>>2];g=N[C+404>>2];f=w+P(G,244)|0;e=N[u+100>>2];N[f+80>>2]=N[f+80>>2]+Q(N[j+80>>2]*Q(N[f+96>>2]*e));N[f+64>>2]=N[f+64>>2]+Q(Q(e*Q(g*k))*N[f+112>>2]);N[f+68>>2]=N[f+68>>2]+Q(Q(e*Q(g*n))*N[f+116>>2]);N[f+72>>2]=N[f+72>>2]+Q(Q(e*Q(g*l))*N[f+120>>2]);g=N[f+104>>2];N[f+84>>2]=N[f+84>>2]+Q(h*Q(e*N[f+100>>2]));N[f+88>>2]=N[f+88>>2]+Q(i*Q(g*e));break n}f=m+P(U,152)|0;J[f+100>>2]=0;if(!(I&16)){break n}J[f+252>>2]=0}j=J[_+844>>2]}aa=aa+1|0;if((aa|0)<(j|0)){continue}break}}sa=s+80|0;da=da+1|0;if((da|0)!=(c|0)){continue}break}}}function Yh(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;var j=0,k=0,l=0,m=Q(0),n=0,o=0,p=Q(0),q=Q(0),r=Q(0),s=Q(0),t=Q(0),u=Q(0),v=Q(0),w=Q(0),x=Q(0),y=Q(0),z=0,A=Q(0),B=Q(0),C=Q(0),D=Q(0),E=Q(0),F=0,G=Q(0),I=Q(0),L=Q(0),M=Q(0),O=Q(0),S=Q(0),T=Q(0),U=Q(0),V=Q(0),W=Q(0),X=Q(0),Z=0,_=Q(0),$=0,aa=Q(0),ba=0,ca=0,da=0,ea=0,fa=Q(0),ga=Q(0),ha=Q(0),ia=Q(0),ja=Q(0),ka=Q(0),la=Q(0),ma=Q(0),na=Q(0);o=sa-256|0;sa=o;J[a+188>>2]=-1;ua[J[8262]](5384);i=J[h+72>>2];if((i|0)!=J[a+224>>2]){J[a+224>>2]=i;J[a+220>>2]=954;J[a+216>>2]=953;J[a+212>>2]=952}i=0;J[a+184>>2]=0;a:{if((c|0)<=0){break a}if(c>>>0>=4){j=c&-4;while(1){l=i<<2;J[J[l+b>>2]+212>>2]=-1;J[J[(l|4)+b>>2]+212>>2]=-1;J[J[(l|8)+b>>2]+212>>2]=-1;J[J[(l|12)+b>>2]+212>>2]=-1;i=i+4|0;k=k+4|0;if((j|0)!=(k|0)){continue}break}}l=c&3;if(!l){break a}j=0;while(1){J[J[(i<<2)+b>>2]+212>>2]=-1;i=i+1|0;j=j+1|0;if((l|0)!=(j|0)){continue}break}}l=J[a+12>>2];if((l|0)<=(c|0)){l=c+1|0;if(l){J[8456]=J[8456]+1;i=ua[J[8258]](P(l,244),16)|0}else{i=0}z=J[a+8>>2];if((z|0)>0){k=0;while(1){n=P(k,244);j=n+i|0;n=n+J[a+16>>2]|0;F=J[n+4>>2];J[j>>2]=J[n>>2];J[j+4>>2]=F;F=J[n+12>>2];J[j+8>>2]=J[n+8>>2];J[j+12>>2]=F;F=J[n+28>>2];J[j+24>>2]=J[n+24>>2];J[j+28>>2]=F;F=J[n+20>>2];J[j+16>>2]=J[n+16>>2];J[j+20>>2]=F;F=J[n+44>>2];J[j+40>>2]=J[n+40>>2];J[j+44>>2]=F;F=J[n+36>>2];J[j+32>>2]=J[n+32>>2];J[j+36>>2]=F;F=J[n+52>>2];J[j+48>>2]=J[n+48>>2];J[j+52>>2]=F;F=J[n+60>>2];J[j+56>>2]=J[n+56>>2];J[j+60>>2]=F;Ja(j- -64|0,n- -64|0,180);k=k+1|0;if((z|0)!=(k|0)){continue}break}}j=J[a+16>>2];if(!(j?!j|!K[a+20|0]:1)){J[8457]=J[8457]+1;ua[J[8259]](j)}J[a+16>>2]=i;H[a+20|0]=1;J[a+12>>2]=l}Fa(o+8|0,0,244);j=J[a+8>>2];if((j|0)<0){if((l|0)<0){i=J[a+16>>2];if(!(i?!i|!K[a+20|0]:1)){J[8457]=J[8457]+1;ua[J[8259]](i)}H[a+20|0]=1;J[a+12>>2]=0;J[a+16>>2]=0}l=o+72|0;while(1){i=J[a+16>>2]+P(j,244)|0;J[i>>2]=0;J[i+4>>2]=0;J[i+8>>2]=0;J[i+12>>2]=0;k=J[o+36>>2];J[i+24>>2]=J[o+32>>2];J[i+28>>2]=k;k=J[o+28>>2];J[i+16>>2]=J[o+24>>2];J[i+20>>2]=k;k=J[o+44>>2];J[i+32>>2]=J[o+40>>2];J[i+36>>2]=k;k=J[o+52>>2];J[i+40>>2]=J[o+48>>2];J[i+44>>2]=k;k=J[o+60>>2];J[i+48>>2]=J[o+56>>2];J[i+52>>2]=k;k=J[o+68>>2];J[i+56>>2]=J[o+64>>2];J[i+60>>2]=k;Ja(i- -64|0,l,180);j=j+1|0;if(j){continue}break}}J[a+8>>2]=0;if((c|0)>0){j=0;while(1){i=(j<<2)+b|0;k=db(a,J[i>>2],N[h+12>>2]);i=J[i>>2];b:{if(!i|!(J[i+252>>2]&2)|N[i+404>>2]==Q(0)){break b}n=J[a+16>>2];l=J[i+564>>2];if(l&2){w=N[h+84>>2];m=N[i+396>>2];r=N[i+44>>2];t=N[i+40>>2];s=N[i+36>>2];p=N[i+392>>2];C=N[i+28>>2];q=N[i+12>>2];u=N[i+464>>2];A=N[i+24>>2];D=N[i+8>>2];x=N[i+460>>2];I=N[i+20>>2];v=N[i+388>>2];B=N[i+4>>2];y=N[i+456>>2];J[o+20>>2]=0;G=u!=Q(0)?Q(Q(1)/u):Q(0);u=Q(C*G);y=y!=Q(0)?Q(Q(1)/y):Q(0);E=Q(I*y);x=x!=Q(0)?Q(Q(1)/x):Q(0);M=Q(A*x);L=Q(Q(m*Q(Q(r*u)+Q(Q(s*E)+Q(t*M))))+Q(Q(v*Q(Q(q*u)+Q(Q(B*E)+Q(D*M))))+Q(p*Q(Q(C*u)+Q(Q(I*E)+Q(A*M))))));u=Q(G*q);E=Q(y*B);M=Q(x*D);E=Q(Q(m*Q(Q(r*u)+Q(Q(s*E)+Q(t*M))))+Q(Q(v*Q(Q(q*u)+Q(Q(B*E)+Q(D*M))))+Q(p*Q(Q(C*u)+Q(Q(I*E)+Q(M*A))))));u=Q(Q(v*L)-Q(p*E));N[o+16>>2]=u;W=r;r=Q(G*r);G=s;s=Q(y*s);y=t;t=Q(x*t);r=Q(Q(m*Q(Q(W*r)+Q(Q(G*s)+Q(y*t))))+Q(Q(v*Q(Q(q*r)+Q(Q(B*s)+Q(D*t))))+Q(p*Q(Q(C*r)+Q(Q(I*s)+Q(A*t))))));v=Q(Q(m*E)-Q(v*r));N[o+12>>2]=v;m=Q(Q(p*r)-Q(L*m));N[o+8>>2]=m;p=Q(Q(u*u)+Q(Q(m*m)+Q(v*v)));if(p>Q(w*w)){p=Q(Q(Q(1)/Q(Y(p)))*w);N[o+16>>2]=u*p;N[o+12>>2]=v*p;N[o+8>>2]=m*p}t=N[i+364>>2];s=N[i+332>>2];C=N[i+348>>2];q=N[i+360>>2];A=N[i+328>>2];D=N[i+344>>2];l=n+P(k,244)|0;m=N[o+16>>2];p=N[o+8>>2];v=N[o+12>>2];r=N[h+12>>2];N[l+224>>2]=N[l+224>>2]-Q(Q(Q(N[i+356>>2]*m)+Q(Q(N[i+324>>2]*p)+Q(v*N[i+340>>2])))*r);N[l+228>>2]=N[l+228>>2]-Q(r*Q(Q(q*m)+Q(Q(A*p)+Q(v*D))));N[l+232>>2]=N[l+232>>2]-Q(r*Q(Q(t*m)+Q(Q(s*p)+Q(v*C))));l=J[i+564>>2]}if(l&4){m=N[h+12>>2];p=N[i+396>>2];C=N[i+44>>2];q=N[i+40>>2];A=N[i+36>>2];t=N[i+12>>2];D=N[i+8>>2];v=N[i+392>>2];I=N[i+28>>2];s=N[i+464>>2];B=N[i+24>>2];x=N[i+460>>2];w=N[i+20>>2];r=N[i+388>>2];u=N[i+4>>2];y=N[i+456>>2];J[o+20>>2]=0;M=s!=Q(0)?Q(Q(1)/s):Q(0);L=Q(C*M);O=y!=Q(0)?Q(Q(1)/y):Q(0);T=Q(A*O);S=x!=Q(0)?Q(Q(1)/x):Q(0);V=Q(q*S);y=Q(Q(t*L)+Q(Q(u*T)+Q(D*V)));s=Q(M*I);x=Q(O*w);U=Q(S*B);G=Q(Q(C*s)+Q(Q(A*x)+Q(q*U)));_=Q(p*G);E=Q(Q(t*s)+Q(Q(u*x)+Q(D*U)));X=Q(r*E);x=Q(Q(I*s)+Q(Q(w*x)+Q(B*U)));s=Q(_+Q(X+Q(v*x)));U=Q(M*t);O=Q(O*u);S=Q(S*D);D=Q(Q(t*U)+Q(Q(u*O)+Q(D*S)));M=Q(y+Q(Q(s+Q(Q(y*Q(0))+Q(X-Q(v*D))))*m));u=Q(Q(C*L)+Q(Q(A*T)+Q(q*V)));X=Q(y*r);L=Q(Q(I*L)+Q(Q(w*T)+Q(B*V)));T=Q(v*L);t=Q(Q(p*u)+Q(X+T));B=Q(Q(I*U)+Q(Q(w*O)+Q(S*B)));I=Q(B+Q(Q(Q(T+Q(Q(B*Q(0))-Q(x*p)))+t)*m));A=Q(Q(C*U)+Q(Q(A*O)+Q(S*q)));w=Q(p*A);S=Q(v*B);C=Q(w+Q(Q(D*r)+S));T=Q(m*Q(0));q=Q(Q(s+Q(Q(Q(p*C)-Q(t*r))*m))-Q(T+s));w=Q(G+Q(Q(C+Q(Q(w+Q(G*Q(0)))-Q(u*r)))*m));O=Q(A+Q(Q(Q(Q(u*v)+Q(Q(A*Q(0))-_))-s)*m));B=Q(x+Q(Q(Q(Q(B*p)+Q(x*Q(0)))-Q(L*r))*m));V=Q(Q(I*w)-Q(O*B));y=Q(D+Q(Q(Q(y*v)+Q(Q(D*Q(0))-Q(E*p)))*m));u=Q(u+Q(Q(Q(u*Q(0))+Q(Q(r*G)-Q(A*v)))*m));x=Q(L+Q(Q(Q(Q(L*Q(0))+Q(Q(r*x)-S))-C)*m));L=Q(Q(B*u)-Q(w*x));G=Q(E+Q(Q(Q(Q(Q(D*p)+Q(E*Q(0)))-X)-t)*m));E=Q(Q(x*O)-Q(u*I));A=Q(Q(M*V)+Q(Q(y*L)+Q(G*E)));D=Q(R(A))>Q(1.1920928955078125e-7)?Q(Q(1)/A):A;A=Q(Q(C+Q(Q(Q(v*t)-Q(s*p))*m))-Q(T+C));m=Q(Q(Q(Q(Q(r*s)-Q(C*v))*m)+t)-Q(T+t));N[o+16>>2]=Q(p-Q(Q(Q(M*Q(Q(I*q)-Q(A*B)))+Q(Q(y*Q(Q(B*m)-Q(q*x)))+Q(G*Q(Q(x*A)-Q(m*I)))))*D))-p;N[o+12>>2]=Q(v-Q(Q(Q(M*Q(Q(A*w)-Q(O*q)))+Q(Q(y*Q(Q(q*u)-Q(w*m)))+Q(G*Q(Q(m*O)-Q(u*A)))))*D))-v;N[o+8>>2]=Q(r-Q(Q(Q(m*V)+Q(Q(A*L)+Q(q*E)))*D))-r;m=N[o+16>>2];p=N[o+12>>2];l=n+P(k,244)|0;N[l+224>>2]=N[o+8>>2]+N[l+224>>2];N[l+228>>2]=p+N[l+228>>2];N[l+232>>2]=m+N[l+232>>2];l=J[i+564>>2]}if(!(l&8)){break b}m=N[h+12>>2];l=sa-16|0;sa=l;B=N[i+464>>2];w=N[i+460>>2];A=N[i+396>>2];D=N[i+392>>2];x=N[i+456>>2];I=N[i+388>>2];ob(i+4|0,l);p=N[l+4>>2];v=N[l>>2];r=N[l+12>>2];t=N[l+8>>2];J[o+20>>2]=0;q=Q(Q(p*I)+Q(Q(r*A)-Q(D*v)));u=Q(Q(t*A)+Q(Q(v*I)+Q(D*p)));y=Q(Q(v*A)+Q(Q(r*D)-Q(I*t)));E=Q(Q(t*D)+Q(Q(r*I)-Q(A*p)));s=Q(Q(Q(v*q)+Q(Q(p*u)+Q(r*y)))-Q(t*E));C=Q(Q(Q(E*p)+Q(Q(u*t)+Q(r*q)))-Q(y*v));G=Q(C*Q(0));q=Q(Q(Q(y*t)+Q(Q(u*v)+Q(r*E)))-Q(q*p));E=Q(q*Q(0));w=w!=Q(0)?Q(Q(1)/w):Q(0);u=Q(G+Q(E+Q(s*w)));x=x!=Q(0)?Q(Q(1)/x):Q(0);M=Q(Q(Q(Q(Q(E-Q(s*x))+Q(0))+u)*m)+Q(0));y=B!=Q(0)?Q(Q(1)/B):Q(0);L=Q(s*Q(0));O=Q(Q(y*C)+Q(E+L));B=Q(Q(Q(s*O)-Q(u*C))*m);X=Q(q*Q(-0));T=Q(Q(Q(Q(X+Q(Q(x*C)+Q(0)))-O)*m)+Q(0));S=Q(Q(Q(Q(L+Q(Q(0)-Q(w*C)))+O)*m)+Q(0));V=Q(G+Q(Q(x*q)+L));U=Q(Q(Q(Q(Q(G+Q(0))-Q(y*q))+V)*m)+Q(0));W=Q(C*Q(-0));_=Q(Q(Q(Q(Q(y*s)+Q(W+Q(0)))-u)*m)+Q(0));G=Q(w+Q(Q(X+Q(G+Q(w*Q(0))))*m));X=Q(Q(S*U)-Q(_*G));L=Q(x+Q(Q(L+Q(Q(x*Q(0))+W))*m));W=y;x=Q(y*Q(0));y=Q(s*Q(-0));x=Q(W+Q(Q(x+Q(y+E))*m));y=Q(Q(Q(Q(Q(y+Q(w*q))+Q(0))-V)*m)+Q(0));W=Q(Q(G*x)-Q(U*y));aa=Q(Q(y*_)-Q(x*S));w=Q(Q(M*X)+Q(Q(L*W)+Q(T*aa)));E=Q(R(w))>Q(1.1920928955078125e-7)?Q(Q(1)/w):w;w=Q(Q(Q(C*V)-Q(O*q))*m);m=Q(Q(Q(q*u)-Q(V*s))*m);s=Q(s-Q(Q(Q(M*Q(Q(B*U)-Q(_*w)))+Q(Q(L*Q(Q(w*x)-Q(U*m)))+Q(T*Q(Q(m*_)-Q(x*B)))))*E));q=Q(q-Q(Q(Q(m*X)+Q(Q(B*W)+Q(w*aa)))*E));m=Q(C-Q(Q(Q(M*Q(Q(S*w)-Q(B*G)))+Q(Q(L*Q(Q(G*m)-Q(w*y)))+Q(T*Q(Q(y*B)-Q(m*S)))))*E));C=Q(Q(Q(r*s)+Q(t*q))-Q(v*m));B=Q(Q(Q(r*m)+Q(v*s))-Q(p*q));w=Q(Q(Q(Q(-v)*q)-Q(s*p))-Q(t*m));m=Q(Q(Q(r*q)+Q(p*m))-Q(t*s));N[o+16>>2]=Q(Q(v*C)+Q(Q(Q(r*B)-Q(t*w))-Q(p*m)))-A;N[o+12>>2]=Q(Q(m*t)+Q(Q(Q(r*C)-Q(w*p))-Q(B*v)))-D;N[o+8>>2]=Q(Q(B*p)+Q(Q(Q(r*m)-Q(w*v))-Q(C*t)))-I;sa=l+16|0;m=N[o+16>>2];p=N[o+12>>2];i=n+P(k,244)|0;N[i+224>>2]=N[o+8>>2]+N[i+224>>2];N[i+228>>2]=p+N[i+228>>2];N[i+232>>2]=m+N[i+232>>2]}j=j+1|0;if((j|0)!=(c|0)){continue}break}}c:{if((g|0)<=0){break c}i=0;if((g|0)!=1){l=g&-2;b=0;while(1){j=i<<2;c=J[j+f>>2];ua[J[J[c>>2]+8>>2]](c);J[c+36>>2]=0;c=J[(j|4)+f>>2];ua[J[J[c>>2]+8>>2]](c);J[c+36>>2]=0;i=i+2|0;b=b+2|0;if((l|0)!=(b|0)){continue}break}}if(!(g&1)){break c}b=J[(i<<2)+f>>2];ua[J[J[b>>2]+8>>2]](b);J[b+36>>2]=0}b=J[a+168>>2];if(!((g|0)<=(b|0)|J[a+172>>2]>=(g|0))){d:{if(!g){j=0;break d}J[8456]=J[8456]+1;j=ua[J[8258]](g<<3,16)|0;b=J[a+168>>2]}e:{if((b|0)<=0){break e}k=0;i=0;if(b>>>0>=4){n=b&-4;c=0;while(1){l=i<<3;z=l+j|0;F=l+J[a+176>>2]|0;Z=J[F+4>>2];J[z>>2]=J[F>>2];J[z+4>>2]=Z;z=l|8;F=z+j|0;z=z+J[a+176>>2]|0;Z=J[z+4>>2];J[F>>2]=J[z>>2];J[F+4>>2]=Z;z=l|16;F=z+j|0;z=z+J[a+176>>2]|0;Z=J[z+4>>2];J[F>>2]=J[z>>2];J[F+4>>2]=Z;l=l|24;z=l+j|0;l=l+J[a+176>>2]|0;F=J[l+4>>2];J[z>>2]=J[l>>2];J[z+4>>2]=F;i=i+4|0;c=c+4|0;if((n|0)!=(c|0)){continue}break}}b=b&3;if(!b){break e}while(1){c=i<<3;l=c+j|0;c=c+J[a+176>>2]|0;n=J[c+4>>2];J[l>>2]=J[c>>2];J[l+4>>2]=n;i=i+1|0;k=k+1|0;if((b|0)!=(k|0)){continue}break}}b=J[a+176>>2];if(!(b?!b|!K[a+180|0]:1)){J[8457]=J[8457]+1;ua[J[8259]](b)}J[a+176>>2]=j;H[a+180|0]=1;J[a+172>>2]=g}J[a+168>>2]=g;k=0;if((g|0)>0){j=0;while(1){i=J[a+176>>2];l=(j<<2)+f|0;b=J[l>>2];c=J[b+44>>2];if(c){b=c;J[b>>2]=0;J[b+4>>2]=0;J[b+56>>2]=0;J[b+60>>2]=0;J[b+48>>2]=0;J[b+52>>2]=0;J[b+40>>2]=0;J[b+44>>2]=0;J[b+32>>2]=0;J[b+36>>2]=0;J[b+24>>2]=0;J[b+28>>2]=0;J[b+16>>2]=0;J[b+20>>2]=0;J[b+8>>2]=0;J[b+12>>2]=0;b=J[l>>2]}c=i+(j<<3)|0;f:{if(K[b+20|0]){ua[J[J[b>>2]+16>>2]](b,c);b=J[c>>2];break f}J[c>>2]=0;J[c+4>>2]=0;b=0}k=b+k|0;j=j+1|0;if((j|0)!=(g|0)){continue}break}}b=J[a+48>>2];if(!((k|0)<=(b|0)|J[a+52>>2]>=(k|0))){g:{if(!k){j=0;break g}J[8456]=J[8456]+1;j=ua[J[8258]](P(k,152),16)|0;b=J[a+48>>2]}h:{if((b|0)<=0){break h}c=b&1;i=0;if((b|0)!=1){l=b&-2;b=0;while(1){n=P(i,152);Ja(n+j|0,n+J[a+56>>2]|0,152);n=P(i|1,152);Ja(n+j|0,n+J[a+56>>2]|0,152);i=i+2|0;b=b+2|0;if((l|0)!=(b|0)){continue}break}}if(!c){break h}b=P(i,152);Ja(b+j|0,b+J[a+56>>2]|0,152)}b=J[a+56>>2];if(!(b?!b|!K[a+60|0]:1)){J[8457]=J[8457]+1;ua[J[8259]](b)}J[a+56>>2]=j;H[a+60|0]=1;J[a+52>>2]=k}J[a+48>>2]=k;if((g|0)>0){j=J[a+176>>2];while(1){ea=$;da=ba<<3;Z=da+j|0;if(J[Z>>2]){ca=(ba<<2)+f|0;F=J[ca>>2];j=J[F+32>>2];k=J[a+56>>2];n=J[F+28>>2];c=db(a,n,N[h+12>>2]);i=db(a,j,N[h+12>>2]);l=J[F+24>>2];b=J[h+20>>2];l=(l|0)>0?l:b;if((l|0)>J[a+184>>2]){J[a+184>>2]=l}z=k+P($,152)|0;$=J[a+16>>2];k=0;if(J[Z>>2]>0){while(1){b=Fa(z+P(k,152)|0,0,152);J[b+120>>2]=-8388609;J[b+124>>2]=2139095039;J[b+148>>2]=i;J[b+144>>2]=c;J[b+96>>2]=0;J[b+100>>2]=0;J[b+136>>2]=l;k=k+1|0;if((k|0)>2]){continue}break}b=J[h+20>>2]}c=P(c,244)+$|0;J[c+64>>2]=0;J[c+68>>2]=0;J[c+144>>2]=0;J[c+148>>2]=0;J[c+88>>2]=0;J[c+92>>2]=0;J[c+80>>2]=0;J[c+84>>2]=0;J[c+72>>2]=0;J[c+76>>2]=0;J[c+152>>2]=0;J[c+156>>2]=0;J[c+160>>2]=0;J[c+164>>2]=0;J[c+168>>2]=0;J[c+172>>2]=0;i=P(i,244)+$|0;J[i+88>>2]=0;J[i+92>>2]=0;J[i+80>>2]=0;J[i+84>>2]=0;J[i+72>>2]=0;J[i+76>>2]=0;J[i+64>>2]=0;J[i+68>>2]=0;J[i+144>>2]=0;J[i+148>>2]=0;J[i+152>>2]=0;J[i+156>>2]=0;J[i+160>>2]=0;J[i+164>>2]=0;J[i+168>>2]=0;J[i+172>>2]=0;N[o+8>>2]=Q(1)/N[h+12>>2];m=N[h+32>>2];J[o+36>>2]=z+112;J[o+32>>2]=38;J[o+28>>2]=z+32;J[o+24>>2]=z+48;J[o+20>>2]=z;J[o+16>>2]=z+16;N[o+12>>2]=m;N[z+116>>2]=N[h+40>>2];m=N[h+4>>2];J[o+52>>2]=b;J[o+48>>2]=z+124;J[o+44>>2]=z+120;J[o+40>>2]=z+116;N[o+56>>2]=m;b=J[ca>>2];ua[J[J[b>>2]+20>>2]](b,o+8|0);if(J[Z>>2]>0){l=0;while(1){m=N[J[ca>>2]+16>>2];b=z+P(l,152)|0;if(m<=N[b+124>>2]){N[b+124>>2]=m}m=Q(-m);if(m>=N[b+120>>2]){N[b+120>>2]=m}J[b+132>>2]=F;k=J[F+28>>2];r=N[k+332>>2];t=N[k+328>>2];s=N[k+608>>2];C=N[k+348>>2];q=N[k+340>>2];A=N[k+344>>2];D=N[k+612>>2];I=N[k+364>>2];B=N[k+356>>2];w=N[k+360>>2];u=N[k+604>>2];x=N[k+324>>2];m=N[b+8>>2];p=N[b>>2];v=N[b+4>>2];J[b+76>>2]=0;N[b+72>>2]=D*Q(Q(I*m)+Q(Q(B*p)+Q(v*w)));N[b+68>>2]=s*Q(Q(C*m)+Q(Q(q*p)+Q(v*A)));N[b+64>>2]=u*Q(Q(r*m)+Q(Q(x*p)+Q(t*v)));k=J[F+32>>2];C=N[k+328>>2];q=N[k+332>>2];A=N[k+608>>2];D=N[k+348>>2];I=N[k+340>>2];B=N[k+344>>2];r=N[k+612>>2];t=N[k+364>>2];s=N[k+356>>2];w=N[k+360>>2];u=N[k+604>>2];x=N[k+324>>2];J[b+92>>2]=0;y=r;r=N[b+40>>2];W=Q(t*r);t=N[b+32>>2];G=Q(s*t);s=N[b+36>>2];N[b+88>>2]=y*Q(W+Q(G+Q(w*s)));N[b+84>>2]=A*Q(Q(D*r)+Q(Q(I*t)+Q(s*B)));N[b+80>>2]=u*Q(Q(q*r)+Q(Q(x*t)+Q(C*s)));C=Q(0);q=N[n+404>>2];A=N[b+24>>2];D=N[b+16>>2];I=N[b+20>>2];y=Q(Q(Q(Q(q*A)*A)+Q(Q(Q(q*D)*D)+Q(I*Q(q*I))))+Q(Q(m*Q(Q(m*N[n+364>>2])+Q(Q(p*N[n+356>>2])+Q(v*N[n+360>>2]))))+Q(Q(p*Q(Q(m*N[n+332>>2])+Q(Q(p*N[n+324>>2])+Q(v*N[n+328>>2]))))+Q(v*Q(Q(m*N[n+348>>2])+Q(Q(p*N[n+340>>2])+Q(v*N[n+344>>2])))))));q=N[j+404>>2];B=N[b+56>>2];w=N[b+48>>2];u=N[b+52>>2];q=Q(Q(y+Q(Q(Q(q*B)*B)+Q(Q(Q(q*w)*w)+Q(u*Q(q*u)))))+Q(Q(r*Q(Q(r*N[j+364>>2])+Q(Q(t*N[j+356>>2])+Q(s*N[j+360>>2]))))+Q(Q(t*Q(Q(r*N[j+332>>2])+Q(Q(t*N[j+324>>2])+Q(s*N[j+328>>2]))))+Q(s*Q(Q(r*N[j+348>>2])+Q(Q(t*N[j+340>>2])+Q(s*N[j+344>>2])))))));q=Q(R(q))>Q(1.1920928955078125e-7)?Q(Q(1)/q):Q(0);N[b+108>>2]=q;x=Q(0);y=Q(0);G=Q(0);E=Q(0);M=Q(0);L=Q(0);if(J[c+240>>2]){L=N[c+232>>2];M=N[c+228>>2];E=N[c+224>>2];y=N[c+212>>2];G=N[c+208>>2];x=N[c+216>>2]}O=Q(0);T=Q(0);S=Q(0);V=Q(0);U=Q(0);if(J[i+240>>2]){U=N[i+232>>2];V=N[i+228>>2];S=N[i+224>>2];O=N[i+212>>2];T=N[i+208>>2];C=N[i+216>>2]}_=N[n+380>>2];X=N[n+372>>2];W=N[n+376>>2];aa=N[n+396>>2];fa=N[n+388>>2];ga=N[n+392>>2];ha=N[j+380>>2];ia=N[j+372>>2];ja=N[j+376>>2];ka=N[j+396>>2];la=N[j+388>>2];ma=N[j+392>>2];na=N[o+56>>2];J[b+100>>2]=0;N[b+112>>2]=Q(q*N[b+112>>2])+Q(q*Q(Q(0)-Q(na*Q(Q(Q(Q(A*Q(x+_))+Q(Q(D*Q(G+X))+Q(I*Q(y+W))))+Q(Q(m*Q(L+aa))+Q(Q(p*Q(E+fa))+Q(v*Q(M+ga)))))+Q(Q(Q(B*Q(C+ha))+Q(Q(w*Q(T+ia))+Q(u*Q(O+ja))))+Q(Q(r*Q(U+ka))+Q(Q(t*Q(S+la))+Q(s*Q(V+ma)))))))));l=l+1|0;if((l|0)>2]){continue}break}}j=J[a+176>>2];b=J[da+j>>2]}else{b=0}$=ea+b|0;ba=ba+1|0;if((ba|0)!=(g|0)){continue}break}}ua[J[J[a>>2]+28>>2]](a,d,e,h);e=J[a+68>>2];d=J[a+28>>2];k=J[a+128>>2];f=J[a+48>>2];if(!((k|0)>=(f|0)|(f|0)<=J[a+132>>2])){i:{if(!f){j=0;break i}J[8456]=J[8456]+1;j=ua[J[8258]](f<<2,16)|0;k=J[a+128>>2]}b=J[a+136>>2];j:{k:{if((k|0)>0){c=0;i=0;if(k>>>0>=4){n=k&-4;l=0;while(1){g=i<<2;J[g+j>>2]=J[b+g>>2];z=g|4;J[z+j>>2]=J[b+z>>2];z=g|8;J[z+j>>2]=J[b+z>>2];g=g|12;J[g+j>>2]=J[b+g>>2];i=i+4|0;l=l+4|0;if((n|0)!=(l|0)){continue}break}}g=k&3;if(g){while(1){l=i<<2;J[l+j>>2]=J[b+l>>2];i=i+1|0;c=c+1|0;if((g|0)!=(c|0)){continue}break}}if(K[a+140|0]){break k}break j}if(!b|!K[a+140|0]){break j}}if(b){J[8457]=J[8457]+1;ua[J[8259]](b)}}J[a+136>>2]=j;J[a+132>>2]=f;H[a+140|0]=1}J[a+128>>2]=f;l:{if(K[h+72|0]&16){k=J[a+108>>2];h=d<<1;if(!((k|0)>=(h|0)|(h|0)<=J[a+112>>2])){m:{if(!d){j=0;break m}J[8456]=J[8456]+1;j=ua[J[8258]](d<<3,16)|0;k=J[a+108>>2]}b=J[a+116>>2];n:{o:{if((k|0)>0){c=0;i=0;if(k>>>0>=4){n=k&-4;l=0;while(1){g=i<<2;J[g+j>>2]=J[b+g>>2];z=g|4;J[z+j>>2]=J[b+z>>2];z=g|8;J[z+j>>2]=J[b+z>>2];g=g|12;J[g+j>>2]=J[b+g>>2];i=i+4|0;l=l+4|0;if((n|0)!=(l|0)){continue}break}}g=k&3;if(g){while(1){l=i<<2;J[l+j>>2]=J[b+l>>2];i=i+1|0;c=c+1|0;if((g|0)!=(c|0)){continue}break}}if(K[a+120|0]){break o}break n}if(!b|!K[a+120|0]){break n}}if(b){J[8457]=J[8457]+1;ua[J[8259]](b)}}J[a+116>>2]=j;J[a+112>>2]=h;H[a+120|0]=1}J[a+108>>2]=h;break l}k=J[a+108>>2];if(!((d|0)<=(k|0)|(d|0)<=J[a+112>>2])){p:{if(!d){j=0;break p}J[8456]=J[8456]+1;j=ua[J[8258]](d<<2,16)|0;k=J[a+108>>2]}b=J[a+116>>2];q:{r:{if((k|0)>0){c=0;i=0;if(k>>>0>=4){h=k&-4;l=0;while(1){g=i<<2;J[g+j>>2]=J[b+g>>2];n=g|4;J[n+j>>2]=J[b+n>>2];n=g|8;J[n+j>>2]=J[b+n>>2];g=g|12;J[g+j>>2]=J[b+g>>2];i=i+4|0;l=l+4|0;if((h|0)!=(l|0)){continue}break}}g=k&3;if(g){while(1){h=i<<2;J[h+j>>2]=J[b+h>>2];i=i+1|0;c=c+1|0;if((g|0)!=(c|0)){continue}break}}if(K[a+120|0]){break r}break q}if(!b|!K[a+120|0]){break q}}if(b){J[8457]=J[8457]+1;ua[J[8259]](b)}}J[a+116>>2]=j;J[a+112>>2]=d;H[a+120|0]=1}J[a+108>>2]=d}k=J[a+148>>2];if(!((e|0)<=(k|0)|(e|0)<=J[a+152>>2])){s:{if(!e){j=0;break s}J[8456]=J[8456]+1;j=ua[J[8258]](e<<2,16)|0;k=J[a+148>>2]}b=J[a+156>>2];t:{u:{if((k|0)>0){c=0;i=0;if(k>>>0>=4){h=k&-4;l=0;while(1){g=i<<2;J[g+j>>2]=J[b+g>>2];n=g|4;J[n+j>>2]=J[b+n>>2];n=g|8;J[n+j>>2]=J[b+n>>2];g=g|12;J[g+j>>2]=J[b+g>>2];i=i+4|0;l=l+4|0;if((h|0)!=(l|0)){continue}break}}g=k&3;if(g){while(1){h=i<<2;J[h+j>>2]=J[b+h>>2];i=i+1|0;c=c+1|0;if((g|0)!=(c|0)){continue}break}}if(K[a+160|0]){break u}break t}if(!b|!K[a+160|0]){break t}}if(b){J[8457]=J[8457]+1;ua[J[8259]](b)}}J[a+156>>2]=j;J[a+152>>2]=e;H[a+160|0]=1}J[a+148>>2]=e;v:{if((f|0)<=0){break v}c=J[a+136>>2];b=0;i=0;if(f>>>0>=8){g=f&-8;k=0;while(1){J[c+(i<<2)>>2]=i;h=i|1;J[c+(h<<2)>>2]=h;h=i|2;J[c+(h<<2)>>2]=h;h=i|3;J[c+(h<<2)>>2]=h;h=i|4;J[c+(h<<2)>>2]=h;h=i|5;J[c+(h<<2)>>2]=h;h=i|6;J[c+(h<<2)>>2]=h;h=i|7;J[c+(h<<2)>>2]=h;i=i+8|0;k=k+8|0;if((g|0)!=(k|0)){continue}break}}f=f&7;if(!f){break v}while(1){J[c+(i<<2)>>2]=i;i=i+1|0;b=b+1|0;if((f|0)!=(b|0)){continue}break}}w:{if((d|0)<=0){break w}c=J[a+116>>2];b=0;i=0;if(d>>>0>=8){f=d&-8;k=0;while(1){J[c+(i<<2)>>2]=i;g=i|1;J[c+(g<<2)>>2]=g;g=i|2;J[c+(g<<2)>>2]=g;g=i|3;J[c+(g<<2)>>2]=g;g=i|4;J[c+(g<<2)>>2]=g;g=i|5;J[c+(g<<2)>>2]=g;g=i|6;J[c+(g<<2)>>2]=g;g=i|7;J[c+(g<<2)>>2]=g;i=i+8|0;k=k+8|0;if((f|0)!=(k|0)){continue}break}}d=d&7;if(!d){break w}while(1){J[c+(i<<2)>>2]=i;i=i+1|0;b=b+1|0;if((d|0)!=(b|0)){continue}break}}x:{if((e|0)<=0){break x}a=J[a+156>>2];b=0;i=0;if(e>>>0>=8){c=e&-8;k=0;while(1){J[a+(i<<2)>>2]=i;d=i|1;J[a+(d<<2)>>2]=d;d=i|2;J[a+(d<<2)>>2]=d;d=i|3;J[a+(d<<2)>>2]=d;d=i|4;J[a+(d<<2)>>2]=d;d=i|5;J[a+(d<<2)>>2]=d;d=i|6;J[a+(d<<2)>>2]=d;d=i|7;J[a+(d<<2)>>2]=d;i=i+8|0;k=k+8|0;if((c|0)!=(k|0)){continue}break}}c=e&7;if(!c){break x}while(1){J[a+(i<<2)>>2]=i;i=i+1|0;b=b+1|0;if((c|0)!=(b|0)){continue}break}}ua[J[8263]]();sa=o+256|0;return Q(Q(0))}function ee(a,b,c){var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=Q(0),o=0,p=0,q=0,r=Q(0),s=0,t=Q(0),u=Q(0),v=0,w=Q(0),x=Q(0),y=Q(0),z=Q(0),A=Q(0),B=0,C=0,D=0,E=0,F=0,G=0;i=sa-144|0;sa=i;a:{if((c|0)<=0){b=J[a+12>>2];if(!(b?!b|!K[a+16|0]:1)){J[8457]=J[8457]+1;ua[J[8259]](b)}J[a+12>>2]=0;H[a+16|0]=1;J[a+4>>2]=0;J[a+8>>2]=0;b=J[a+32>>2];if(!(b?!b|!K[a+36|0]:1)){J[8457]=J[8457]+1;ua[J[8259]](b)}J[a+32>>2]=0;H[a+36|0]=1;J[a+24>>2]=0;J[a+28>>2]=0;b=J[a+52>>2];if(!(b?!b|!K[a+56|0]:1)){J[8457]=J[8457]+1;ua[J[8259]](b)}J[a+52>>2]=0;H[a+56|0]=1;J[a+44>>2]=0;J[a+48>>2]=0;break a}H[i+112|0]=1;J[i+88>>2]=0;J[i+92>>2]=256;J[i+72>>2]=0;J[i+76>>2]=256;J[i+56>>2]=0;J[i+60>>2]=256;J[i+108>>2]=0;J[i+100>>2]=0;J[i+104>>2]=0;J[i+80>>2]=0;J[i+84>>2]=0;J[i+64>>2]=0;J[i+68>>2]=0;J[i+48>>2]=0;J[i+52>>2]=0;e=i+16|0;h=sa-48|0;sa=h;w=Q(-1.0000000150474662e30);x=Q(1.0000000150474662e30);k=c;b:{if((c|0)>0){c=b;n=Q(1.0000000150474662e30);r=Q(1.0000000150474662e30);t=Q(-1.0000000150474662e30);u=Q(-1.0000000150474662e30);while(1){y=N[c+8>>2];w=w>2];t=t>2];u=uy?y:x;n=n>z?z:n;r=r>A?A:r;c=c+16|0;l=l+1|0;if((k|0)!=(l|0)){continue}break}break b}u=Q(-1.0000000150474662e30);t=Q(-1.0000000150474662e30);r=Q(1.0000000150474662e30);n=Q(1.0000000150474662e30)}J[e+12>>2]=0;J[e+28>>2]=0;N[e+24>>2]=Q(w+x)*Q(.5);N[e+20>>2]=Q(t+n)*Q(.5);N[e+16>>2]=Q(u+r)*Q(.5);r=Q(u-r);n=Q(t-n);d=r(d?n:r)?2:d;J[e+112>>2]=c;d=t>(d?r:n)?!d:2;d=(c|0)==(d|0)?c+(c>>>0>1?-2:1)|0:d;J[e+104>>2]=d;d=c+d|0;J[e+108>>2]=3-d;t=Q(t*Q(9788566967472434e-20));c=(c|0)==((4-d|0)%3|0);t=c?t:Q(-t);N[e+8>>2]=t;n=Q(n*Q(9788566967472434e-20));n=c?n:Q(-n);N[e+4>>2]=n;r=Q(r*Q(9788566967472434e-20));r=c?r:Q(-r);N[e>>2]=r;H[h+44|0]=1;J[h+36>>2]=0;J[h+40>>2]=0;c:{d:{if((k|0)>0){J[8456]=J[8456]+1;F=h,G=ua[J[8258]](k<<4,16)|0,J[F+40>>2]=G;H[h+44|0]=1;J[h+36>>2]=k;J[h+32>>2]=k;if((k|0)<=0){break c}t=t!=Q(0)?Q(Q(1)/t):t;u=n!=Q(0)?Q(Q(1)/n):n;r=r!=Q(0)?Q(Q(1)/r):r;c=h+8|0;m=c+(J[e+104>>2]<<2)|0;g=c+(J[e+112>>2]<<2)|0;s=c+(J[e+108>>2]<<2)|0;w=N[e+24>>2];x=N[e+20>>2];y=N[e+16>>2];j=J[h+40>>2];l=0;while(1){n=N[b>>2];z=N[b+4>>2];A=N[b+8>>2];J[h+20>>2]=0;N[h+16>>2]=t*Q(A-w);N[h+12>>2]=u*Q(z-x);N[h+8>>2]=r*Q(n-y);c=j+(l<<4)|0;n=N[s>>2];e:{if(Q(R(n))>2]=d;n=N[g>>2];f:{if(Q(R(n))>2]=d;n=N[m>>2];J[c+12>>2]=l;if(Q(R(n))>2]=d;b=b+16|0;l=l+1|0;if((k|0)!=(l|0)){continue}break}break d}J[h+32>>2]=k;break c}if((k|0)<2){break c}fe(h+28|0,h+8|0,0,k-1|0)}J[e+44>>2]=k;J[e+40>>2]=0;J[e+36>>2]=J[e+32>>2];b=J[e+84>>2];g:{if((k|0)<=(b|0)){break g}if((k|0)>J[e+88>>2]){h:{if(!k){l=0;g=b;break h}J[8456]=J[8456]+1;l=ua[J[8258]](k<<2,16)|0;g=J[e+84>>2]}i:{if((g|0)<=0){break i}m=0;c=0;if(g>>>0>=4){j=g&-4;d=0;while(1){s=c<<2;J[s+l>>2]=J[s+J[e+92>>2]>>2];o=s|4;J[o+l>>2]=J[o+J[e+92>>2]>>2];o=s|8;J[o+l>>2]=J[o+J[e+92>>2]>>2];s=s|12;J[s+l>>2]=J[s+J[e+92>>2]>>2];c=c+4|0;d=d+4|0;if((j|0)!=(d|0)){continue}break}}d=g&3;if(!d){break i}while(1){g=c<<2;J[g+l>>2]=J[g+J[e+92>>2]>>2];c=c+1|0;m=m+1|0;if((d|0)!=(m|0)){continue}break}}c=J[e+92>>2];if(!(c?!c|!K[e+96|0]:1)){J[8457]=J[8457]+1;ua[J[8259]](c)}J[e+92>>2]=l;H[e+96|0]=1;J[e+88>>2]=k}d=k+(b^-1)|0;m=k-b&3;if(m){c=0;while(1){J[J[e+92>>2]+(b<<2)>>2]=0;b=b+1|0;c=c+1|0;if((m|0)!=(c|0)){continue}break}}if(d>>>0<3){break g}while(1){c=b<<2;J[c+J[e+92>>2]>>2]=0;J[(c+J[e+92>>2]|0)+4>>2]=0;J[(c+J[e+92>>2]|0)+8>>2]=0;J[(c+J[e+92>>2]|0)+12>>2]=0;b=b+4|0;if((k|0)!=(b|0)){continue}break}}J[e+84>>2]=k;if((k|0)>0){j=0;while(1){d=J[e+40>>2];j:{if(d){break j}b=J[e+36>>2];k:{if(b){J[e+36>>2]=J[b+8>>2];d=J[b>>2];break k}J[8456]=J[8456]+1;b=ua[J[8258]](12,16)|0;c=J[e+44>>2];J[b+8>>2]=0;J[b+4>>2]=c;J[8456]=J[8456]+1;d=ua[J[8258]](P(c,112),16)|0;J[b>>2]=d;J[b+8>>2]=J[e+32>>2];J[e+32>>2]=b}s=J[b+4>>2];if((s|0)<=0){break j}o=0;m=0;c=d;if(s>>>0>=4){p=s&-4;l=0;b=d;g=0;while(1){c=b+448|0;m=l+4|0;J[b+336>>2]=(s|0)>(m|0)?c:0;J[b+224>>2]=(s|0)>(l|3)?b+336|0:0;J[b+112>>2]=(s|0)>(l|2)?b+224|0:0;J[b>>2]=(s|0)>(l|1)?b+112|0:0;l=m;b=c;g=g+4|0;if((p|0)!=(g|0)){continue}break}}b=s&3;if(!b){break j}while(1){l=c;c=c+112|0;m=m+1|0;J[l>>2]=(s|0)>(m|0)?c:0;o=o+1|0;if((b|0)!=(o|0)){continue}break}}J[e+40>>2]=J[d>>2];J[d+16>>2]=0;J[d+8>>2]=0;J[d+12>>2]=0;J[d>>2]=0;J[d+4>>2]=0;J[d+104>>2]=-1;b=J[h+40>>2]+(j<<4)|0;c=J[b+4>>2];J[d+88>>2]=J[b>>2];J[d+92>>2]=c;c=J[b+12>>2];J[d+96>>2]=J[b+8>>2];J[d+100>>2]=c;J[J[e+92>>2]+(j<<2)>>2]=d;j=j+1|0;if((k|0)!=(j|0)){continue}break}}b=J[h+40>>2];if(!(b?!b|!K[h+44|0]:1)){J[8457]=J[8457]+1;ua[J[8259]](b)}J[h+40>>2]=0;H[h+44|0]=1;J[h+32>>2]=0;J[h+36>>2]=0;J[e+116>>2]=0;J[e+120>>2]=0;J[e+60>>2]=P(k,6);J[e+56>>2]=0;J[e+100>>2]=-3;J[e+52>>2]=J[e+48>>2];J[h+16>>2]=0;J[h+20>>2]=0;J[h+8>>2]=0;J[h+12>>2]=0;Cc(e,0,k,h+8|0);J[e+124>>2]=J[h+8>>2];b=J[h+40>>2];if(!(b?!b|!K[h+44|0]:1)){J[8457]=J[8457]+1;ua[J[8259]](b)}sa=h+48|0;if((J[a+4>>2]&J[a+8>>2])<0){b=J[a+12>>2];if(!(b?!b|!K[a+16|0]:1)){J[8457]=J[8457]+1;ua[J[8259]](b)}H[a+16|0]=1;J[a+8>>2]=0;J[a+12>>2]=0}J[a+4>>2]=0;b=J[a+24>>2];l:{if((b|0)>=0){break l}if(J[a+28>>2]<0){c=J[a+32>>2];if(!(c?!c|!K[a+36|0]:1)){J[8457]=J[8457]+1;ua[J[8259]](c)}H[a+36|0]=1;J[a+28>>2]=0;J[a+32>>2]=0}c=b;m=0-b&3;if(m){while(1){d=J[a+32>>2]+P(c,12)|0;J[d>>2]=0;J[d+4>>2]=0;J[d+8>>2]=0;c=c+1|0;f=f+1|0;if((m|0)!=(f|0)){continue}break}}if(b>>>0>4294967292){break l}while(1){b=P(c,12);d=b+J[a+32>>2]|0;J[d>>2]=0;J[d+4>>2]=0;J[d+8>>2]=0;d=b+J[a+32>>2]|0;J[d+20>>2]=0;J[d+12>>2]=0;J[d+16>>2]=0;d=b+J[a+32>>2]|0;J[d+32>>2]=0;J[d+24>>2]=0;J[d+28>>2]=0;b=b+J[a+32>>2]|0;J[b+44>>2]=0;J[b+36>>2]=0;J[b+40>>2]=0;c=c+4|0;if(c){continue}break}}J[a+24>>2]=0;c=J[a+44>>2];if((c|0)<0){b=J[a+52>>2];if(J[a+48>>2]<0){if(!(b?!b|!K[a+56|0]:1)){J[8457]=J[8457]+1;ua[J[8259]](b)}H[a+56|0]=1;J[a+48>>2]=0;J[a+52>>2]=0;b=0}d=b;b=c<<2;Fa(d+b|0,0,0-b|0)}J[a+44>>2]=0;b=J[i+140>>2];m:{if(J[b+104>>2]>=0){break m}J[b+104>>2]=0;J[8456]=J[8456]+1;k=ua[J[8258]](4,16)|0;J[k>>2]=b;c=0;m=1;e=1;while(1){s=c;d=sa-16|0;sa=d;n:{o:{p:{q:{o=J[(c<<2)+k>>2];b=o;r:{if(J[b+100>>2]>=0){N[d+(J[i+124>>2]<<2)>>2]=J[b+88>>2];break r}n=eb(b+24|0);c=b+72|0;r=eb(c);f=J[b+100>>2];N[d+(J[i+124>>2]<<2)>>2]=n/r;if((f|0)<0){break q}}N[d+(J[i+128>>2]<<2)>>2]=J[b+92>>2];break p}n=eb(b+40|0);r=eb(c);c=J[b+100>>2];N[d+(J[i+128>>2]<<2)>>2]=n/r;if((c|0)<0){break o}}n=Q(J[b+96>>2]);break n}n=Q(eb(b+56|0)/eb(b+72|0))}N[d+(J[i+120>>2]<<2)>>2]=n;n=N[i+36>>2];r=N[i+40>>2];t=N[i+32>>2];u=N[i+16>>2];w=N[i+20>>2];x=N[i+24>>2];y=N[d>>2];z=N[d+4>>2];A=N[d+8>>2];J[i+12>>2]=0;N[i+8>>2]=r+Q(A*x);N[i+4>>2]=n+Q(z*w);N[i>>2]=t+Q(y*u);sa=d+16|0;f=J[a+4>>2];s:{if((f|0)!=J[a+8>>2]){break s}l=f?f<<1:1;if((l|0)<=(f|0)){break s}t:{if(!l){d=0;break t}J[8456]=J[8456]+1;d=ua[J[8258]](l<<4,16)|0;f=J[a+4>>2]}u:{if((f|0)<=0){break u}c=0;if((f|0)!=1){p=f&-2;b=0;while(1){h=c<<4;j=h+d|0;g=h+J[a+12>>2]|0;q=J[g+4>>2];J[j>>2]=J[g>>2];J[j+4>>2]=q;q=J[g+12>>2];J[j+8>>2]=J[g+8>>2];J[j+12>>2]=q;g=h|16;h=g+d|0;g=g+J[a+12>>2]|0;j=J[g+4>>2];J[h>>2]=J[g>>2];J[h+4>>2]=j;j=J[g+12>>2];J[h+8>>2]=J[g+8>>2];J[h+12>>2]=j;c=c+2|0;b=b+2|0;if((p|0)!=(b|0)){continue}break}}if(!(f&1)){break u}c=c<<4;b=c+d|0;c=c+J[a+12>>2]|0;f=J[c+4>>2];J[b>>2]=J[c>>2];J[b+4>>2]=f;f=J[c+12>>2];J[b+8>>2]=J[c+8>>2];J[b+12>>2]=f}b=J[a+12>>2];if(!(b?!b|!K[a+16|0]:1)){J[8457]=J[8457]+1;ua[J[8259]](b)}J[a+12>>2]=d;H[a+16|0]=1;J[a+8>>2]=l;f=J[a+4>>2]}c=J[i+4>>2];b=J[a+12>>2]+(f<<4)|0;J[b>>2]=J[i>>2];J[b+4>>2]=c;c=J[i+12>>2];J[b+8>>2]=J[i+8>>2];J[b+12>>2]=c;J[a+4>>2]=J[a+4>>2]+1;b=-1;l=-1;D=J[o+8>>2];c=D;if(c){while(1){if(J[c+20>>2]<0){h=J[a+24>>2];f=h;v:{if((h|0)!=J[a+28>>2]){break v}o=f?h<<1:1;if((o|0)<=(f|0)){break v}w:{if(!o){j=0;d=h;break w}J[8456]=J[8456]+1;j=ua[J[8258]](P(o,12),16)|0;d=J[a+24>>2]}x:{if((d|0)<=0){break x}f=0;if((d|0)!=1){B=d&-2;g=0;while(1){q=P(f,12);p=q+J[a+32>>2]|0;v=J[p+4>>2];q=j+q|0;J[q>>2]=J[p>>2];J[q+4>>2]=v;J[q+8>>2]=J[p+8>>2];q=P(f|1,12);p=q+J[a+32>>2]|0;v=J[p+4>>2];q=j+q|0;J[q>>2]=J[p>>2];J[q+4>>2]=v;J[q+8>>2]=J[p+8>>2];f=f+2|0;g=g+2|0;if((B|0)!=(g|0)){continue}break}}if(!(d&1)){break x}f=P(f,12);d=f+J[a+32>>2]|0;g=J[d+4>>2];f=f+j|0;J[f>>2]=J[d>>2];J[f+4>>2]=g;J[f+8>>2]=J[d+8>>2]}d=J[a+32>>2];if(!(d?!d|!K[a+36|0]:1)){J[8457]=J[8457]+1;ua[J[8259]](d)}J[a+32>>2]=j;H[a+36|0]=1;J[a+28>>2]=o;f=J[a+24>>2]}d=J[a+32>>2]+P(f,12)|0;J[d>>2]=0;J[d+4>>2]=0;J[d+8>>2]=0;g=J[a+24>>2]+1|0;J[a+24>>2]=g;y:{if(J[a+28>>2]!=(g|0)){break y}d=g?g<<1:1;if((d|0)<=(g|0)){break y}z:{if(!d){j=0;break z}J[8456]=J[8456]+1;j=ua[J[8258]](P(d,12),16)|0;g=J[a+24>>2]}A:{if((g|0)<=0){break A}q=g&1;f=0;if((g|0)!=1){B=g&-2;g=0;while(1){p=P(f,12);o=p+J[a+32>>2]|0;v=J[o+4>>2];p=j+p|0;J[p>>2]=J[o>>2];J[p+4>>2]=v;J[p+8>>2]=J[o+8>>2];p=P(f|1,12);o=p+J[a+32>>2]|0;v=J[o+4>>2];p=j+p|0;J[p>>2]=J[o>>2];J[p+4>>2]=v;J[p+8>>2]=J[o+8>>2];f=f+2|0;g=g+2|0;if((B|0)!=(g|0)){continue}break}}if(!q){break A}g=P(f,12);f=g+J[a+32>>2]|0;o=J[f+4>>2];g=g+j|0;J[g>>2]=J[f>>2];J[g+4>>2]=o;J[g+8>>2]=J[f+8>>2]}f=J[a+32>>2];if(!(f?!f|!K[a+36|0]:1)){J[8457]=J[8457]+1;ua[J[8259]](f)}J[a+32>>2]=j;H[a+36|0]=1;J[a+28>>2]=d;g=J[a+24>>2]}d=J[a+32>>2]+P(g,12)|0;J[d>>2]=0;J[d+4>>2]=0;J[d+8>>2]=0;J[a+24>>2]=J[a+24>>2]+1;o=J[a+32>>2];J[c+20>>2]=h;v=h+1|0;J[J[c+8>>2]+20>>2]=v;p=P(h,12)+o|0;J[p+16>>2]=-1;J[p+4>>2]=1;q=J[c+12>>2];d=J[q+104>>2];B:{if((d|0)>=0){f=m;m=d;break B}J[q+104>>2]=m;C:{D:{if((e|0)!=(m|0)){break D}g=e?e<<1:1;if((g|0)<=(e|0)){break D}if(g){J[8456]=J[8456]+1;d=ua[J[8258]](g<<2,16)|0}else{d=0}E:{if((e|0)>0){B=0;f=0;if(e>>>0>=4){E=e&-4;h=0;while(1){j=f<<2;J[j+d>>2]=J[j+k>>2];C=j|4;J[C+d>>2]=J[k+C>>2];C=j|8;J[C+d>>2]=J[k+C>>2];j=j|12;J[j+d>>2]=J[j+k>>2];f=f+4|0;h=h+4|0;if((E|0)!=(h|0)){continue}break}}e=e&3;if(!e){break E}while(1){h=f<<2;J[h+d>>2]=J[h+k>>2];f=f+1|0;B=B+1|0;if((e|0)!=(B|0)){continue}break}break E}if(!k){break C}}if(k){J[8457]=J[8457]+1;ua[J[8259]](k)}break C}d=k;g=e}J[(m<<2)+d>>2]=q;f=m+1|0;k=d;e=g}J[p+8>>2]=m;J[(P(v,12)+o|0)+8>>2]=s;m=f}f=J[c+20>>2];d=f;if((b|0)>=0){J[J[a+32>>2]+P(f,12)>>2]=b-f;d=l}b=f;l=d;c=J[c>>2];if((D|0)!=(c|0)){continue}break}J[J[a+32>>2]+P(l,12)>>2]=b-l}c=s+1|0;if((m|0)>(c|0)){continue}break}h=0;while(1){o=J[J[(h<<2)+k>>2]+8>>2];f=o;if(f){while(1){c=J[f+20>>2];if((c|0)>=0){j=J[a+44>>2];F:{if((j|0)!=J[a+48>>2]){break F}e=j?j<<1:1;if((e|0)<=(j|0)){break F}G:{if(!e){d=0;break G}J[8456]=J[8456]+1;d=ua[J[8258]](e<<2,16)|0;j=J[a+44>>2]}b=J[a+52>>2];H:{I:{if((j|0)>0){g=0;c=0;if(j>>>0>=4){p=j&-4;l=0;while(1){m=c<<2;J[m+d>>2]=J[b+m>>2];q=m|4;J[q+d>>2]=J[b+q>>2];q=m|8;J[q+d>>2]=J[b+q>>2];m=m|12;J[m+d>>2]=J[b+m>>2];c=c+4|0;l=l+4|0;if((p|0)!=(l|0)){continue}break}}m=j&3;if(!m){break I}while(1){l=c<<2;J[l+d>>2]=J[b+l>>2];c=c+1|0;g=g+1|0;if((m|0)!=(g|0)){continue}break}break I}if(!b){break H}}if(b?K[a+56|0]:0){J[8457]=J[8457]+1;ua[J[8259]](b)}j=J[a+44>>2]}J[a+52>>2]=d;H[a+56|0]=1;J[a+48>>2]=e;c=J[f+20>>2]}J[J[a+52>>2]+(j<<2)>>2]=c;J[a+44>>2]=J[a+44>>2]+1;c=f;while(1){J[c+20>>2]=-1;c=J[J[c+8>>2]+4>>2];if((f|0)!=(c|0)){continue}break}}f=J[f>>2];if((o|0)!=(f|0)){continue}break}}b=(h|0)==(s|0);h=h+1|0;if(!b){continue}break}if(!k){break m}if(k){J[8457]=J[8457]+1;ua[J[8259]](k)}}a=J[i+108>>2];if(!(a?!a|!K[i+112|0]:1)){J[8457]=J[8457]+1;ua[J[8259]](a)}J[i+108>>2]=0;H[i+112|0]=1;J[i+100>>2]=0;J[i+104>>2]=0;while(1){a=J[i+80>>2];if(a){J[i+80>>2]=J[a+8>>2];b=J[a>>2];if(b){J[8457]=J[8457]+1;ua[J[8259]](b)}if(a){J[8457]=J[8457]+1;ua[J[8259]](a)}continue}break}while(1){a=J[i+64>>2];if(a){J[i+64>>2]=J[a+8>>2];b=J[a>>2];if(b){J[8457]=J[8457]+1;ua[J[8259]](b)}if(a){J[8457]=J[8457]+1;ua[J[8259]](a)}continue}break}while(1){a=J[i+48>>2];if(!a){break a}J[i+48>>2]=J[a+8>>2];b=J[a>>2];if(b){J[8457]=J[8457]+1;ua[J[8259]](b)}if(a){J[8457]=J[8457]+1;ua[J[8259]](a)}continue}}sa=i+144|0}function Hc(a,b,c){var d=0,e=0,f=Q(0),g=0,h=0,i=0,j=0,k=Q(0),l=0,m=0,n=Q(0),o=Q(0),p=0,q=Q(0),r=Q(0),s=Q(0),t=0,u=Q(0),v=0,w=Q(0),x=Q(0),y=0,z=0,A=0,B=Q(0),C=0,D=0,E=Q(0),F=0,G=0,M=0,O=Q(0),P=Q(0);l=sa-32|0;sa=l;A=J[a+56>>2];a:{if((c-b|0)==1){b:{if(K[a+60|0]){b=J[a+116>>2]+(b<<4)|0;e=J[b+4>>2];c=J[a+136>>2]+(A<<4)|0;J[c>>2]=J[b>>2];J[c+4>>2]=e;break b}b=J[a+76>>2]+(b<<6)|0;e=J[b+4>>2];c=J[a+96>>2]+(A<<6)|0;J[c>>2]=J[b>>2];J[c+4>>2]=e;e=J[b+60>>2];J[c+56>>2]=J[b+56>>2];J[c+60>>2]=e;e=J[b+52>>2];J[c+48>>2]=J[b+48>>2];J[c+52>>2]=e;e=J[b+44>>2];J[c+40>>2]=J[b+40>>2];J[c+44>>2]=e;e=J[b+36>>2];J[c+32>>2]=J[b+32>>2];J[c+36>>2]=e;e=J[b+28>>2];J[c+24>>2]=J[b+24>>2];J[c+28>>2]=e;e=J[b+20>>2];J[c+16>>2]=J[b+16>>2];J[c+20>>2]=e}e=J[b+12>>2];J[c+8>>2]=J[b+8>>2];J[c+12>>2]=e;J[a+56>>2]=J[a+56>>2]+1;break a}p=c;e=b;g=c-e|0;c:{d:{e:{if((e|0)>=(c|0)){E=Q(g|0);break e}f:{if(!K[a+60|0]){d=J[a+76>>2];c=b;while(1){h=d+(c<<6)|0;x=Q(x+Q(Q(N[h+16>>2]+N[h>>2])*Q(.5)));r=Q(r+Q(Q(N[h+24>>2]+N[h+8>>2])*Q(.5)));s=Q(s+Q(Q(N[h+20>>2]+N[h+4>>2])*Q(.5)));c=c+1|0;if((p|0)!=(c|0)){continue}break}break f}u=N[a+12>>2];o=N[a+8>>2];q=N[a+44>>2];k=N[a+40>>2];d=J[a+116>>2];n=N[a+4>>2];f=N[a+36>>2];c=b;while(1){h=d+(c<<4)|0;x=Q(x+Q(Q(Q(Q(Q(L[h+6>>1])/f)+n)+Q(Q(Q(L[h>>1])/f)+n))*Q(.5)));r=Q(r+Q(Q(Q(Q(Q(L[h+10>>1])/q)+u)+Q(Q(Q(L[h+4>>1])/q)+u))*Q(.5)));s=Q(s+Q(Q(Q(Q(Q(L[h+8>>1])/k)+o)+Q(Q(Q(L[h+2>>1])/k)+o))*Q(.5)));c=c+1|0;if((p|0)!=(c|0)){continue}break}}E=Q(g|0);if((e|0)<(p|0)){break d}}r=Q(0);s=Q(0);break c}f=Q(Q(1)/E);O=Q(f*r);P=Q(f*s);x=Q(f*x);s=Q(0);if(!K[a+60|0]){c=J[a+76>>2];r=Q(0);while(1){d=c+(e<<6)|0;f=Q(Q(Q(N[d+16>>2]+N[d>>2])*Q(.5))-x);w=Q(w+Q(f*f));f=Q(Q(Q(N[d+24>>2]+N[d+8>>2])*Q(.5))-O);s=Q(s+Q(f*f));f=Q(Q(Q(N[d+20>>2]+N[d+4>>2])*Q(.5))-P);r=Q(r+Q(f*f));e=e+1|0;if((p|0)!=(e|0)){continue}break}break c}B=N[a+12>>2];u=N[a+8>>2];o=N[a+44>>2];q=N[a+40>>2];c=J[a+116>>2];k=N[a+4>>2];n=N[a+36>>2];r=Q(0);while(1){d=c+(e<<4)|0;f=Q(Q(Q(Q(Q(Q(L[d+6>>1])/n)+k)+Q(Q(Q(L[d>>1])/n)+k))*Q(.5))-x);w=Q(w+Q(f*f));f=Q(Q(Q(Q(Q(Q(L[d+10>>1])/o)+B)+Q(Q(Q(L[d+4>>1])/o)+B))*Q(.5))-O);s=Q(s+Q(f*f));f=Q(Q(Q(Q(Q(Q(L[d+8>>1])/q)+u)+Q(Q(Q(L[d+2>>1])/q)+u))*Q(.5))-P);r=Q(r+Q(f*f));e=e+1|0;if((p|0)!=(e|0)){continue}break}}k=Q(Q(1)/Q(E+Q(-1)));n=Q(k*w);f=Q(k*r);c=n(c?f:n)?2:c;r=Q(0);s=Q(0);w=Q(0);i=sa-96|0;J[i+28>>2]=0;v=p-b|0;d=(b|0)>=(p|0);g:{if(d){break g}if(!K[a+60|0]){e=J[a+76>>2];c=b;while(1){h=e+(c<<6)|0;w=Q(Q(Q(N[h+16>>2]+N[h>>2])*Q(.5))+w);r=Q(Q(Q(N[h+24>>2]+N[h+8>>2])*Q(.5))+r);s=Q(Q(Q(N[h+20>>2]+N[h+4>>2])*Q(.5))+s);c=c+1|0;if((p|0)!=(c|0)){continue}break}break g}u=N[a+12>>2];o=N[a+8>>2];q=N[a+44>>2];k=N[a+40>>2];e=J[a+116>>2];n=N[a+4>>2];f=N[a+36>>2];c=b;while(1){h=e+(c<<4)|0;w=Q(Q(Q(Q(Q(Q(L[h+6>>1])/f)+n)+Q(Q(Q(L[h>>1])/f)+n))*Q(.5))+w);r=Q(Q(Q(Q(Q(Q(L[h+10>>1])/q)+u)+Q(Q(Q(L[h+4>>1])/q)+u))*Q(.5))+r);s=Q(Q(Q(Q(Q(Q(L[h+8>>1])/k)+o)+Q(Q(Q(L[h+2>>1])/k)+o))*Q(.5))+s);c=c+1|0;if((p|0)!=(c|0)){continue}break}}f=Q(Q(1)/Q(v|0));N[i+24>>2]=f*r;N[i+20>>2]=f*s;N[i+16>>2]=f*w;e=b;if(!d){c=g<<2;B=N[c+(i+16|0)>>2];m=c+i|0;c=b;while(1){d=K[a+60|0];h:{if(d){g=J[a+116>>2]+(c<<4)|0;u=N[a+44>>2];o=N[a+12>>2];r=Q(Q(Q(L[g+4>>1])/u)+o);q=N[a+40>>2];k=N[a+8>>2];s=Q(Q(Q(L[g+2>>1])/q)+k);n=N[a+36>>2];f=N[a+4>>2];w=Q(Q(Q(L[g>>1])/n)+f);x=Q(Q(Q(L[g+10>>1])/u)+o);E=Q(Q(Q(L[g+8>>1])/q)+k);f=Q(Q(Q(L[g+6>>1])/n)+f);break h}g=J[a+76>>2]+(c<<6)|0;r=N[g+8>>2];s=N[g+4>>2];w=N[g>>2];x=N[g+24>>2];E=N[g+20>>2];f=N[g+16>>2]}J[i+12>>2]=0;N[i+8>>2]=Q(x+r)*Q(.5);N[i+4>>2]=Q(E+s)*Q(.5);N[i>>2]=Q(f+w)*Q(.5);if(B>2]){i:{if(d){g=J[a+116>>2];t=g+(c<<4)|0;h=t;d=J[h+12>>2];J[i+40>>2]=J[h+8>>2];J[i+44>>2]=d;d=J[h+4>>2];J[i+32>>2]=J[h>>2];J[i+36>>2]=d;h=g;g=e<<4;h=h+g|0;d=J[h+4>>2];J[t>>2]=J[h>>2];J[t+4>>2]=d;d=J[h+12>>2];J[t+8>>2]=J[h+8>>2];J[t+12>>2]=d;d=J[i+36>>2];g=g+J[a+116>>2]|0;J[g>>2]=J[i+32>>2];J[g+4>>2]=d;d=J[i+44>>2];J[g+8>>2]=J[i+40>>2];J[g+12>>2]=d;break i}h=J[a+76>>2];j=h+(c<<6)|0;d=J[j+60>>2];J[i+88>>2]=J[j+56>>2];J[i+92>>2]=d;d=J[j+52>>2];J[i+80>>2]=J[j+48>>2];J[i+84>>2]=d;d=J[j+44>>2];J[i+72>>2]=J[j+40>>2];J[i+76>>2]=d;d=J[j+36>>2];t=i- -64|0;g=t;J[g>>2]=J[j+32>>2];J[g+4>>2]=d;d=J[j+28>>2];J[i+56>>2]=J[j+24>>2];J[i+60>>2]=d;d=J[j+20>>2];J[i+48>>2]=J[j+16>>2];J[i+52>>2]=d;d=J[j+12>>2];J[i+40>>2]=J[j+8>>2];J[i+44>>2]=d;d=J[j+4>>2];J[i+32>>2]=J[j>>2];J[i+36>>2]=d;g=e<<6;h=g+h|0;d=J[h+4>>2];J[j>>2]=J[h>>2];J[j+4>>2]=d;d=J[h+12>>2];J[j+8>>2]=J[h+8>>2];J[j+12>>2]=d;d=J[h+20>>2];J[j+16>>2]=J[h+16>>2];J[j+20>>2]=d;d=J[h+28>>2];J[j+24>>2]=J[h+24>>2];J[j+28>>2]=d;d=J[h+36>>2];J[j+32>>2]=J[h+32>>2];J[j+36>>2]=d;d=J[h+44>>2];J[j+40>>2]=J[h+40>>2];J[j+44>>2]=d;d=J[h+52>>2];J[j+48>>2]=J[h+48>>2];J[j+52>>2]=d;d=J[h+60>>2];J[j+56>>2]=J[h+56>>2];J[j+60>>2]=d;d=J[i+36>>2];g=g+J[a+76>>2]|0;J[g>>2]=J[i+32>>2];J[g+4>>2]=d;d=J[i+44>>2];J[g+8>>2]=J[i+40>>2];J[g+12>>2]=d;d=J[i+52>>2];J[g+16>>2]=J[i+48>>2];J[g+20>>2]=d;d=J[i+60>>2];J[g+24>>2]=J[i+56>>2];J[g+28>>2]=d;d=J[t+4>>2];J[g+32>>2]=J[t>>2];J[g+36>>2]=d;d=J[i+76>>2];J[g+40>>2]=J[i+72>>2];J[g+44>>2]=d;d=J[i+84>>2];J[g+48>>2]=J[i+80>>2];J[g+52>>2]=d;d=J[i+92>>2];J[g+56>>2]=J[i+88>>2];J[g+60>>2]=d}e=e+1|0}c=c+1|0;if((p|0)!=(c|0)){continue}break}}c=(v>>1)+b|0;g=c;c=(v|0)/3|0;j=(b+c|0)>=(e|0)?g:(p+(c^-1)|0)<=(e|0)?g:e;F=J[a+56>>2];j:{if(K[a+60|0]){u=N[a+40>>2];o=N[a+8>>2];q=N[a+24>>2];k=N[a+44>>2];n=N[a+12>>2];f=N[a+28>>2];c=J[a+136>>2]+(F<<4)|0;B=Q(Q(N[a+20>>2]-N[a+4>>2])*N[a+36>>2]);k:{if(B=Q(0)){e=~~B>>>0;break k}e=0}I[c>>1]=e&65534;f=Q(Q(f-n)*k);l:{if(f=Q(0)){e=~~f>>>0;break l}e=0}I[c+4>>1]=e&65534;f=Q(Q(q-o)*u);m:{if(f=Q(0)){e=~~f>>>0;break m}e=0}I[c+2>>1]=e&65534;break j}c=J[a+24>>2];e=J[a+96>>2]+(F<<6)|0;J[e>>2]=J[a+20>>2];J[e+4>>2]=c;c=J[a+32>>2];J[e+8>>2]=J[a+28>>2];J[e+12>>2]=c}c=J[a+56>>2];n:{if(K[a+60|0]){k=N[a+40>>2];o=N[a+8>>2];n=N[a+44>>2];q=N[a+12>>2];c=J[a+136>>2]+(c<<4)|0;f=N[a+4>>2];f=Q(Q(Q(f-f)*N[a+36>>2])+Q(1));o:{if(f=Q(0)){e=~~f>>>0;break o}e=0}I[c+6>>1]=e|1;f=Q(Q(Q(q-q)*n)+Q(1));p:{if(f=Q(0)){e=~~f>>>0;break p}e=0}I[c+10>>1]=e|1;f=Q(Q(Q(o-o)*k)+Q(1));q:{if(f=Q(0)){e=~~f>>>0;break q}e=0}I[c+8>>1]=e|1;break n}e=J[a+96>>2]+(c<<6)|0;c=J[a+8>>2];J[e+16>>2]=J[a+4>>2];J[e+20>>2]=c;c=J[a+16>>2];J[e+24>>2]=J[a+12>>2];J[e+28>>2]=c}if((b|0)<(p|0)){c=b;while(1){r:{if(K[a+60|0]){h=J[a+116>>2]+(c<<4)|0;g=L[h+4>>1];d=L[h+2>>1];e=L[h>>1];u=N[a+44>>2];o=N[a+40>>2];q=N[a+36>>2];J[l+28>>2]=0;k=N[a+4>>2];N[l+16>>2]=Q(Q(e>>>0)/q)+k;n=N[a+8>>2];N[l+20>>2]=Q(Q(d>>>0)/o)+n;f=N[a+12>>2];N[l+24>>2]=Q(Q(g>>>0)/u)+f;g=L[h+6>>1];d=L[h+8>>1];e=L[h+10>>1];J[l+12>>2]=0;N[l+8>>2]=f+Q(Q(e>>>0)/u);N[l+4>>2]=n+Q(Q(d>>>0)/o);N[l>>2]=k+Q(Q(g>>>0)/q);break r}d=J[a+76>>2]+(c<<6)|0;e=J[d+12>>2];J[l+24>>2]=J[d+8>>2];J[l+28>>2]=e;e=J[d+4>>2];J[l+16>>2]=J[d>>2];J[l+20>>2]=e;e=J[d+28>>2];J[l+8>>2]=J[d+24>>2];J[l+12>>2]=e;e=J[d+20>>2];J[l>>2]=J[d+16>>2];J[l+4>>2]=e}y=J[a+56>>2];s:{if(K[a+60|0]){q=N[a+12>>2];k=N[a+44>>2];f=Q(Q(N[l+24>>2]-q)*k);t:{if(f=Q(0)){m=~~f>>>0;break t}m=0}n=N[a+8>>2];f=N[a+40>>2];o=Q(Q(N[l+20>>2]-n)*f);u:{if(o=Q(0)){h=~~o>>>0;break u}h=0}k=Q(Q(k*Q(N[l+8>>2]-q))+Q(1));v:{if(k=Q(0)){g=~~k>>>0;break v}g=0}f=Q(Q(f*Q(N[l+4>>2]-n))+Q(1));w:{if(f=Q(0)){d=~~f>>>0;break w}d=0}n=N[a+4>>2];f=N[a+36>>2];k=Q(Q(N[l+16>>2]-n)*f);x:{if(k=Q(0)){e=~~k>>>0;break x}e=0}v=e&65534;i=J[a+136>>2];z=i+(y<<4)|0;t=v>>>0>=L[z>>1];f=Q(Q(f*Q(N[l>>2]-n))+Q(1));y:{if(f=Q(0)){e=~~f>>>0;break y}e=0}if(!t){I[z>>1]=v}e=e|1;t=i+(y<<4)|0;if(e>>>0>L[t+6>>1]){I[t+6>>1]=e}e=h&65534;if(e>>>0>1]){I[z+2>>1]=e}e=d|1;h=i+(y<<4)|0;if(e>>>0>L[h+8>>1]){I[h+8>>1]=e}e=m&65534;if(e>>>0>1]){I[z+4>>1]=e}e=g|1;d=i+(y<<4)|0;if(e>>>0<=L[d+10>>1]){break s}I[d+10>>1]=e;break s}f=N[l+16>>2];e=J[a+96>>2];d=e+(y<<6)|0;if(f>2]){N[d>>2]=f}f=N[l+20>>2];if(f>2]){N[d+4>>2]=f}f=N[l+24>>2];if(f>2]){N[d+8>>2]=f}f=N[l+28>>2];if(f>2]){N[d+12>>2]=f}f=N[l>>2];e=e+(y<<6)|0;if(f>N[e+16>>2]){N[e+16>>2]=f}f=N[l+4>>2];if(f>N[e+20>>2]){N[e+20>>2]=f}f=N[l+8>>2];if(f>N[e+24>>2]){N[e+24>>2]=f}f=N[l+12>>2];if(!(f>N[e+28>>2])){break s}N[e+28>>2]=f}c=c+1|0;if((p|0)!=(c|0)){continue}break}}G=J[a+56>>2]+1|0;J[a+56>>2]=G;Hc(a,b,j);y=J[a+56>>2];Hc(a,j,p);c=K[a+60|0];z=J[a+56>>2]-A|0;if(!(!c|(z|0)<129)){p=0;A=J[a+136>>2];i=A+(y<<4)|0;b=J[i+12>>2];t=(b|0)>=0?1:0-b|0;j=A+(G<<4)|0;b=J[j+12>>2];h=(b|0)>=0?1:0-b|0;if(h>>>0<=128){e=J[a+152>>2];c=e;z:{if((c|0)!=J[a+156>>2]){break z}v=c?e<<1:1;if((v|0)<=(c|0)){break z}if(v){J[8456]=J[8456]+1;M=ua[J[8258]](v<<5,16)|0;b=J[a+152>>2]}else{b=e}A:{if((b|0)<=0){break A}if((b|0)!=1){g=b&-2;while(1){m=C<<5;d=m+M|0;D=J[a+160>>2]+m|0;c=J[D+4>>2];J[d>>2]=J[D>>2];J[d+4>>2]=c;c=J[D+28>>2];J[d+24>>2]=J[D+24>>2];J[d+28>>2]=c;c=J[D+20>>2];J[d+16>>2]=J[D+16>>2];J[d+20>>2]=c;c=J[D+12>>2];J[d+8>>2]=J[D+8>>2];J[d+12>>2]=c;c=m|32;d=c+M|0;m=c+J[a+160>>2]|0;c=J[m+4>>2];J[d>>2]=J[m>>2];J[d+4>>2]=c;c=J[m+12>>2];J[d+8>>2]=J[m+8>>2];J[d+12>>2]=c;c=J[m+20>>2];J[d+16>>2]=J[m+16>>2];J[d+20>>2]=c;c=J[m+28>>2];J[d+24>>2]=J[m+24>>2];J[d+28>>2]=c;C=C+2|0;p=p+2|0;if((g|0)!=(p|0)){continue}break}}if(!(b&1)){break A}b=C<<5;c=b+M|0;d=b+J[a+160>>2]|0;b=J[d+4>>2];J[c>>2]=J[d>>2];J[c+4>>2]=b;b=J[d+28>>2];J[c+24>>2]=J[d+24>>2];J[c+28>>2]=b;b=J[d+20>>2];J[c+16>>2]=J[d+16>>2];J[c+20>>2]=b;b=J[d+12>>2];J[c+8>>2]=J[d+8>>2];J[c+12>>2]=b}b=J[a+160>>2];if(!(b?!b|!K[a+164|0]:1)){J[8457]=J[8457]+1;ua[J[8259]](b)}J[a+160>>2]=M;H[a+164|0]=1;J[a+156>>2]=v;c=J[a+152>>2]}J[a+152>>2]=c+1;c=J[a+160>>2]+(e<<5)|0;I[c>>1]=L[j>>1];I[c+2>>1]=L[j+2>>1];I[c+4>>1]=L[j+4>>1];b=A+(G<<4)|0;I[c+6>>1]=L[b+6>>1];I[c+8>>1]=L[b+8>>1];b=L[b+10>>1];J[c+16>>2]=h;J[c+12>>2]=G;I[c+10>>1]=b}if((t|0)<=128){e=J[a+152>>2];c=e;B:{if((c|0)!=J[a+156>>2]){break B}v=c?e<<1:1;if((v|0)<=(c|0)){break B}C:{if(!v){b=0;c=e;break C}J[8456]=J[8456]+1;b=ua[J[8258]](v<<5,16)|0;c=J[a+152>>2]}D:{if((c|0)<=0){break D}C=0;if((c|0)!=1){h=c&-2;p=0;while(1){m=C<<5;g=m+b|0;j=m+J[a+160>>2]|0;d=J[j+4>>2];J[g>>2]=J[j>>2];J[g+4>>2]=d;d=J[j+28>>2];J[g+24>>2]=J[j+24>>2];J[g+28>>2]=d;d=J[j+20>>2];J[g+16>>2]=J[j+16>>2];J[g+20>>2]=d;d=J[j+12>>2];J[g+8>>2]=J[j+8>>2];J[g+12>>2]=d;d=m|32;g=d+b|0;m=d+J[a+160>>2]|0;d=J[m+4>>2];J[g>>2]=J[m>>2];J[g+4>>2]=d;d=J[m+12>>2];J[g+8>>2]=J[m+8>>2];J[g+12>>2]=d;d=J[m+20>>2];J[g+16>>2]=J[m+16>>2];J[g+20>>2]=d;d=J[m+28>>2];J[g+24>>2]=J[m+24>>2];J[g+28>>2]=d;C=C+2|0;p=p+2|0;if((h|0)!=(p|0)){continue}break}}if(!(c&1)){break D}c=C<<5;d=c+b|0;g=c+J[a+160>>2]|0;c=J[g+4>>2];J[d>>2]=J[g>>2];J[d+4>>2]=c;c=J[g+28>>2];J[d+24>>2]=J[g+24>>2];J[d+28>>2]=c;c=J[g+20>>2];J[d+16>>2]=J[g+16>>2];J[d+20>>2]=c;c=J[g+12>>2];J[d+8>>2]=J[g+8>>2];J[d+12>>2]=c}c=J[a+160>>2];if(!(c?!c|!K[a+164|0]:1)){J[8457]=J[8457]+1;ua[J[8259]](c)}J[a+160>>2]=b;H[a+164|0]=1;J[a+156>>2]=v;c=J[a+152>>2]}J[a+152>>2]=c+1;c=J[a+160>>2]+(e<<5)|0;I[c>>1]=L[i>>1];I[c+2>>1]=L[i+2>>1];I[c+4>>1]=L[i+4>>1];b=A+(y<<4)|0;I[c+6>>1]=L[b+6>>1];I[c+8>>1]=L[b+8>>1];b=L[b+10>>1];J[c+16>>2]=t;J[c+12>>2]=y;I[c+10>>1]=b}J[a+168>>2]=J[a+152>>2];c=K[a+60|0]}if(c&255){J[(J[a+136>>2]+(F<<4)|0)+12>>2]=0-z;break a}J[(J[a+96>>2]+(F<<6)|0)+32>>2]=z}sa=l+32|0}function Cc(a,b,c,d){var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,K=0;u=sa-16|0;sa=u;a:{b:{c:{d:{e:{f=c-b|0;switch(f|0){case 1:break c;case 2:break d;case 0:break e;default:break b}}J[d>>2]=0;J[d+4>>2]=0;J[d+8>>2]=0;J[d+12>>2]=0;break a}c=J[J[a+92>>2]+(b<<2)>>2];b=c+112|0;f:{g=J[c+88>>2];j=J[c+200>>2];k=(g|0)!=(j|0);f=J[c+204>>2];e=J[c+92>>2];g:{if(!(k|(f|0)!=(e|0))){if(J[c+96>>2]==J[c+208>>2]){break f}e=J[c+96>>2]>J[c+208>>2];f=(e?112:0)+c|0;J[f>>2]=f;f=e?b:c;J[f+4>>2]=f;J[d+4>>2]=f;J[d>>2]=f;b=e?c:b;e=f;c=e;break g}J[c+4>>2]=b;J[c>>2]=b;J[c+116>>2]=c;J[c+112>>2]=c;s=(e|0)<(f|0);i=s&(g|0)==(j|0);g=(g|0)<(j|0);j=i|g;J[d+4>>2]=j?b:c;J[d>>2]=j?c:b;f=s|g&(k&(e|0)==(f|0));e=f?b:c;f=f?c:b}J[d+12>>2]=e;J[d+8>>2]=f;a=Dc(a,c,b);J[a+4>>2]=a;J[a>>2]=a;J[c+8>>2]=a;a=J[a+8>>2];J[a+4>>2]=a;J[a>>2]=a;J[b+8>>2]=a;break a}J[c+8>>2]=0;J[c+4>>2]=c;J[c>>2]=c;J[d+12>>2]=c;J[d+8>>2]=c;J[d+4>>2]=c;J[d>>2]=c;break a}a=J[J[a+92>>2]+(b<<2)>>2];J[a+8>>2]=0;J[a+4>>2]=a;J[a>>2]=a;J[d+12>>2]=a;J[d+8>>2]=a;J[d+4>>2]=a;J[d>>2]=a;break a}e=((f|0)/2|0)+b|0;f=e;h:{if((e|0)>=(c|0)){break h}j=J[a+92>>2];f=J[(j+(e<<2)|0)-4>>2];k=J[f+88>>2];s=J[f+96>>2];i=J[f+92>>2];f=e;while(1){g=J[j+(f<<2)>>2];if((k|0)!=J[g+88>>2]|(i|0)!=J[g+92>>2]|(s|0)!=J[g+96>>2]){break h}f=f+1|0;if((f|0)<(c|0)){continue}break}f=c}Cc(a,b,e,d);J[u+8>>2]=0;J[u+12>>2]=0;J[u>>2]=0;J[u+4>>2]=0;Cc(a,f,c,u);o=a;c=0;h=sa-128|0;sa=h;i:{if(!J[u+4>>2]){break i}if(!J[d+4>>2]){a=J[u+4>>2];J[d>>2]=J[u>>2];J[d+4>>2]=a;a=J[u+12>>2];J[d+8>>2]=J[u+8>>2];J[d+12>>2]=a;break i}J[o+100>>2]=J[o+100>>2]-1;J[h+124>>2]=0;J[h+120>>2]=0;k=0;i=d;a=J[d+12>>2];j=J[u+8>>2];j:{k:{l:{if(J[a+88>>2]!=J[j+88>>2]|J[a+92>>2]!=J[j+92>>2]){break l}d=J[j+4>>2];if((d|0)==(j|0)){J[h+124>>2]=a;b=J[j+8>>2];a=0;if(!b){break k}J[h+120>>2]=J[b+12>>2];a=0;break j}a=J[j>>2];J[d>>2]=a;J[a+4>>2]=d;if(J[u>>2]==(j|0)){g=u;f=J[a+88>>2];e=J[d+88>>2];b=a;m:{if((f|0)<(e|0)){break m}if((e|0)==(f|0)){b=a;if(J[a+92>>2]>2]){break m}}b=d}J[g>>2]=b}if(J[u+4>>2]!=(j|0)){break l}b=J[a+88>>2];f=J[d+88>>2];J[u+4>>2]=(b|0)>(f|0)|(b|0)==(f|0)&J[a+92>>2]>J[d+92>>2]?a:d}m=J[u>>2];w=J[i>>2];B=J[i+4>>2];a=B;z=J[u+4>>2];d=z;j=0;s=1;while(1){l=J[a+88>>2];f=P(J[d+88>>2]-l|0,s);n:{if((f|0)>0){while(1){b=d;g=J[d+92>>2];e=f;while(1){o:{f=J[a+92>>2];l=g-f|0;d=J[(t?a:a+4|0)>>2];if((d|0)==(a|0)){break o}p=J[d+92>>2]-f|0;if((p|0)>0){break o}n=J[d+88>>2];f=P(n-J[a+88>>2]|0,s);if((P(e,p)|0)>(P(f,l)|0)|(f|0)>=0?f:0){break o}e=P(J[b+88>>2]-n|0,s);a=d;continue}break}d=J[(t?b:b+4|0)>>2];if((d|0)==(b|0)){break n}p=J[d+88>>2];f=P(p-J[a+88>>2]|0,s);if((f|0)<=0){break n}n=J[d+92>>2]-g|0;if((n|0)>=0){break n}g=P(p-J[b+88>>2]|0,s);if(!g){continue}if((g|0)>=0){break n}if((P(e,n)|0)<(P(g,l)|0)){continue}break n}}p:{if((f|0)<0){q:while(1){l=J[d+92>>2];b=J[(t?d+4|0:d)>>2];while(1){g=f;e=a;n=J[a+92>>2];p=l-n|0;r:{if((b|0)==(d|0)){break r}f=J[b+92>>2]-l|0;if((f|0)<0){break r}q=J[b+88>>2];a=P(q-J[d+88>>2]|0,s);if((P(f,g)|0)>(P(a,p)|0)|(a|0)>=0?a:0){break r}f=P(q-J[e+88>>2]|0,s);d=b;a=e;continue q}a=J[(t?e+4|0:e)>>2];if((e|0)==(a|0)){break p}q=J[a+88>>2];f=P(J[d+88>>2]-q|0,s);if((f|0)>=0){break p}A=J[a+92>>2]-n|0;if((A|0)<=0){break p}n=P(q-J[e+88>>2]|0,s);if(!n){continue}if((n|0)>=0){break p}if((P(g,A)|0)<(P(n,p)|0)){continue}break}break p}}e=J[a+92>>2];f=a;s:{if(!t){while(1){g=f;f=J[f+4>>2];if((f|0)==(a|0)|(l|0)!=J[f+88>>2]){break s}b=e;e=J[f+92>>2];if((b|0)>=(e|0)){continue}break s}}while(1){g=f;f=J[f>>2];if((f|0)==(a|0)|(l|0)!=J[f+88>>2]){break s}b=e;e=J[f+92>>2];if((b|0)>=(e|0)){continue}break}}f=J[d+92>>2];e=d;a=d;t:{if(!t){while(1){b=e;e=J[e>>2];if((e|0)==(d|0)|(l|0)!=J[e+88>>2]){break t}a=f;f=J[e+92>>2];if((a|0)<=(f|0)){continue}break t}}while(1){b=a;a=J[a+4>>2];if((d|0)==(a|0)|(l|0)!=J[a+88>>2]){break t}e=f;f=J[a+92>>2];if((e|0)<=(f|0)){continue}break}}a=g;break n}b=d;a=e}if(!t){s=-1;j=b;k=a;a=w;b=m}d=b;t=t+1|0;if((t|0)!=2){continue}break}J[a+4>>2]=d;J[d>>2]=a;J[k>>2]=j;J[j+4>>2]=k;if(J[m+88>>2]>2]){J[i>>2]=m}if(J[z+88>>2]>=J[B+88>>2]){J[i+4>>2]=z}J[i+12>>2]=J[u+12>>2];J[h+124>>2]=k;a=1}J[h+120>>2]=j}w=J[h+120>>2];u:{if(a){z=J[h+124>>2];i=J[z+96>>2];n=J[w+96>>2];p=J[z+92>>2];j=J[w+92>>2];d=J[z+8>>2];q=J[z+88>>2];B=J[w+88>>2];J[h+80>>2]=0;a=n-i|0;g=a>>31;b=j-p|0;m=b>>31;k=us(a,g,b,m);A=ta;e=B-q|0;f=0-e|0;l=f>>31;e=us(f,l,e,e>>31);t=ta;D=us(b,m,b,m);s=e-D|0;D=t-(ta+(e>>>0>>0)|0)|0;a=us(f,l,a,g);t=0-a|0;E=0-(ta+((a|0)!=0)|0)|0;if(d){a=d;while(1){r=J[a+12>>2];v=J[r+92>>2];e=v-p|0;g=e;y=e>>31;x=us(e,y,f,l);C=ta;I=J[r+88>>2];e=I-q|0;K=e>>31;G=us(b,m,e,K);v:{if((x|0)!=(0-G|0)|(0-(ta+((G|0)!=0)|0)|0)!=(C|0)){break v}g=us(k,A,g,y);y=ta;x=us(t,E,e,K);g=x+g|0;e=ta+y|0;e=g>>>0>>0?e+1|0:e;G=g;y=J[r+96>>2];g=y-i|0;x=us(s,D,g,g>>31);r=G+x|0;g=ta+e|0;g=r>>>0>>0?g+1|0:g;if(!r&(g|0)<=0|(g|0)<0){break v}w:{if(!c){break w}e=J[c+4>>2];if(J[c>>2]==(a|0)){if((a|0)!=(e|0)){break v}e=J[c+12>>2];g=J[J[a+8>>2]+12>>2];x=J[g+96>>2];r=J[e+96>>2]-x|0;C=J[g+92>>2];y=y-x|0;v=P(r,C-v|0)+P(y,J[e+92>>2]-C|0)|0;v=us(v,v>>31,b,m);x=ta;g=J[g+88>>2];e=P(y,g-J[e+88>>2]|0)+P(r,I-g|0)|0;r=us(e,e>>31,f,l);e=r+v|0;g=ta+x|0;g=e>>>0>>0?g+1|0:g;if(!e&(g|0)<=0|(g|0)<0){break w}break v}if((a|0)!=(e|0)){break v}}c=a}a=J[a>>2];if((d|0)!=(a|0)){continue}break}J[h+80>>2]=c}e=J[w+8>>2];d=0;J[h+56>>2]=0;if(e){a=e;while(1){p=J[a+12>>2];q=J[p+92>>2];g=q-j|0;i=g;r=g>>31;v=us(g,r,f,l);y=ta;x=J[p+88>>2];g=x-B|0;C=g>>31;I=us(b,m,g,C);x:{if((v|0)!=(0-I|0)|(0-(ta+((I|0)!=0)|0)|0)!=(y|0)){break x}i=us(k,A,i,r);r=ta;v=us(t,E,g,C);i=v+i|0;g=ta+r|0;g=i>>>0>>0?g+1|0:g;G=i;r=J[p+96>>2];i=r-n|0;p=us(s,D,i,i>>31);i=G+p|0;g=ta+g|0;g=i>>>0

Q>d;+-BKkV-0^B~@f0*q5 zBH{lw*`M0l^xp3~8peI22Y!F^wJ)f-&rnEfsUsovf(ejDs0)oOz4yuK7~u~;&PC!e zZF7we1v~M3+11)8t-qd7*NiYKGyzpkTS(<}K^twy8HJJVlcmey6u(G6ZtNrR6L`y{ z=i{IsaE1Q`oa}8aN3UWYP~E8nq?uzGBhR6n5r4tTTN}g9AgLFk_MWiC{XVYkNceNM zGktXJ%x^{*5o>~)<8?Ojg1Vqx7Yb_7UIqCJ`OVD;qi{P=hoiqMeBouN-0CGGL3OlQ zuJFnDeYm~3AHpB)(prn(d*BP8^4NtU`jZ7e;Pz^!pCG>v{5j1CIpzm7c`Xd7b60V# zUjb_4_7$6U?)Pzj3VxT|?tZ^i-{ppaS>>$kcfjEt@?Gv%|Jd(-U4#x8hjpD=CmQP5 zp9-nL`$0N>*Be{B{Q?yH=KnGx35^98@smQMI9C;OWu z{B7_@-#PDu-!FDOK#j5^QAB^EVthg|C01OQtXP;(+!-q#M-j~ep2h9=GB1JJ;qH+&)yDjX(M;1Y;8Z8wz86$C`w`LwDB~m}9nFG}Zhp%^x@W8ml_bxGMz(8jQ{#u=s6tv>?G=!ksp+Ck;nj95fBlYjkY#DD!Q z@?YNysJ%?1{+jQf{_=-b|H;eh2fYp5e8l)@vsKs*Hhk>B@$H6>9+)}2->{$klqjro z=7{kV?4`=IEXl7<{!IL*Za%bLaM0$%Ke}!1ANLwso`;x4^z!q;IsEgNpMR(RS6+TT zIJJfUhrWV(2sy-i4G$sh&-WTy2K`6JosHdl>Tb>Y_3wZ3=%K@ET5qz4X9w*lJvhyu zzT;1$&Ts7aljiTg<1hN0ro#QVZQQ$Wlx^smlhvouhmSTR`etKMGs68vMNrqU8j#j5 z>!S5Fr`8E&w^-RLR`yRQM<$e$W99T%IU8m4$Ecse?fV_J82TmXbrhSj_{R>*k1-=X zteMp@BV2_Vfx2~W3F+pt52WeZ8Af)U^I7Uyxc%Nc6VzOMqAR@Y*=Bgz(H=(~ptr{< z7oV7aY(|*Y?F)X1QpU&r?1omVe}C`Dguhs_zls~0HdZtCax>1gq@RR3*T%3v0ir8! z12e)QYVLlIxuqGNHrlhOaB@9w@)}B+*U%MXjM6rydk0v6qOKHoNvw2BV{w5^Cf*dp zjm!w*wqOm3Pc-zLyMAcmEkQiNj3Az5=!)rx$gihBJ)yqPDbS$!*O`z~ zTmtD_xzxxT_;RDPr$aa0jgb;g&Aq6-ckBnX;&}kl37K}2v_2!vVMdsimjHFR%0nFC z)cR;s!@1TBw>MBv_j~t0(+rPk)dG`$oyGS8e2!svIjX@=W`x`E+&3HQ?xF~!pW8vI z;HgHQS+uK83nl-hyXqAC-*Q)7w7pDc-(S1EEZR$?qW(R5iB!~o&t4*(b-%TjsJDID zIBlCwl1Y5-xQWi3X`sLRI18+4CsOJhBR`3vO+adpU)%&Vk?$F=373uA_?~eCWxPzE zHdeY7@u!U+K)g1H-${r+N{IKy;tT57^T*P@yJ$C@l2Jri7d>8v?xX7)hed@`z{8A3d_G1bztxN&zunN~cc8dA#pUZ=?z?F>$C?*$FAka-jg)0; zwM$(y!g6^N_xn_-HU6eL6dgb{Tn`k{%ijHQSCV2VScg^|4HbnZqK*D6-VEHnj57zU zgkm0~C5{EIEvL*DpvAoeYXv@o;Eh`qw9$&0wXCNCRO z=Pmpmy`TEJ86I!VSIm89wsei%doXfm6xH$h){L-po$Xaa&3Ow#TIwkUwI=5p(D6_c zBddeQ&>puxDn12N4<7{SVZu3(@;o0>o^znaIzo_gUkoYt6-IIHkKy**p9huu8<28; zA5!jLLdrdLi;;5A4Jr2`kaDkJ6yF{^gWKD0tD!g5HWb%{KW>!gH8WDf+WC=YghxE( zK^?BjMxHQx7hBqjAJHFcmitTK&+kiKkHY7N4T(=+gw_8yoV8&8K5TFF(?aQ8S$@;e zE(xk*H-$9sxyZ<}aKWXx{pJ7b!K!3%AJi2308%I12k9iL+)YLKf_yDALUXjhZ=tE+ z9%gt|dg4CTt8$l1d{6aqGeXhNfDI{dGo&N21=5jt3sMjt8O23>Z-y7~18!Ts)_MEE z$YYoH6+07(J+Y$nDaykew~iTJ^SZdpc;kK# zr)KchPey9Ko-)eARgJ^idqYsqms%i*29?tjis7+hOtRvNgyQB{aXX4=pj(RDzbNql zsG;WxNSCr_AvOPtkZuoNhjfa)18J~+AJWD9OGu~e_mH}F>Zyv_pRgQeMmV<$ff|&L zfpk)rfpkMs8LCKA)Pj^}eW(n+wvc*uCrC%MyHQwW=!4TA(w+sXluSsaOn_9%6iB7a zgjC90NTtk&RLZT8O1aC(-gfiM-^H*y215GM*bnf2yoJ-%`%CpA3mx7HhRUL$fh!vs zMar`h%9*j?A_OHot9udncb7NDf=vkQv#=^`T5mI=8~$6&2v7Idf;x_GL+ZX2`$+4z zTF03Y{uXl|_xDkxL-6+!UWz~ZXvH=7{mIac?mtnYJMgy`ZU%ePFj-GC(ioZ#Du%DU zQQQlAo8j$o8t&a;g=sZL!SGVuGiHS4i!Gpf)?1KPn0BG{6YYzHGE3h`nGKTiaHF6s ziqpr7im|drtgMSNT46c|w+{gq8hW@>QCt@Gpx=TKeFo^BShE!OYvBM5I^7K0w4(kn z&5Uq>ZUJ?G)X2?(8pOWFkXA<8$G(n`PO2_OUQjoqv_@X}cVOG zcAc02K7~Sc$`7%0-tzSfy_5zJSUw9%f4vADfwO#)S?OCeo)-*c@GkPXfxA(>qc zP4JIlC#ci+>LkHzi1fKpmunMW(fa*hg zAf+#Jc2fHC7)oEwD5P%!s{9U+%I^ay{nbWs`SUQ8egOh6|6Wk(AB9x@^N`YK3{Og* z9Yg8!7=`r5f=XWvQu&P_r5|Gymp>ju>CZ}BOpJ! ziW&QHJO=O76z}(qFrs7KD%P~deNoU1OxBzoYewK+6*TE1m5+b?Kc@^1QGUq&&IVk} zIP{W}aHoa4y56yRu*f_8nXug`kaA3{n3ANJ>I%*9=f;Zb+^Z93ev;z$SaF}oOL-tk zu{Ksbm!#N~q}UoOcDYxj>`qdA5i5QWc_~@WQC$>iPFQE{ks?6twxxP`Y18ZZ{62(o#@k+k>-PG6XP&|wgxpjJP9gHc)cObqWeL*>`sR2 z@auF)bLY#TV9BJUNWwIa(LoemU(4>M6h#C~O;^ zT5ypWezb4H{bRVwK8X>HHXCEjCfxQR4GmhEW6iMlwRORtiD7?gp2nGL97GBP+C(ty&{$g-`h^rzzXWwC*vuIiUVN;MDCqSK2;mdb0m z(+scSF5FLM_ob`+<4x^PGYWwoVnst2S2jxfF?9Z_6O^HM{^1zmue*;i4io07pl+9L zhI9$M9n!^MDWpUH0921^ZZ@(oeLLS4+`i*)7pM-Ca;}jk_F19Qq{d z!B8!uIM4dHJn~IVTz_y7G|HSA!H?9Y{Gff)w4!MsZHPaeGc@f{Jb?r08Zt zitb8CxnB<{&%2D$CWfQ%2u3!aT0eorPo5oy-Ys?_xGr>yo|6=WcZ=&W!WHy3Vsi4Um>? z?uN9KvjNgM_bQ}3OP-&UXBiCTS=lJ$*$`Bm?IFc^Dx^5aLyB`6q&%NDisO6%LwUZ2 zz~kHvD$o6p;>?(0q&Q1KinAJ|JjWZwc}~Poo);qUJg)$i=Pi)pTm~u5O_1W;1}V?u zE=bC=E{5`KY83M91}e`Xkn$W4Db59u;#>+T&y)+3@=V82p4CJ?ziVaeeW?xJ4Tt#w zy$&OK*ZOud!lY|y@M{EoB;kJ|+5cj~|9Z0j{e=G$_j`Z-)C`N^%UjuLc$RHYN=f;z z+-aEDmluD_&2}69kxhUnjp;Xh^w4t$p3!{lkgDAK{Pg ztkYhxe#3^1o-lIYsH#JJV`2Cc%*}=k8!@2Y=n5~q-`~MG z{PTT(zf=D!`~D72{YUrx9YPNAzQ03A`}2K&hmb+iA8+TcpC3XF7QUtQesqWjJ2?yM z=l{4(vBS{e9r}&;9@&5N&(4%^{v_>Fw67Wtw7-lp%+9dTiESg(zwp<=qi+@Je(pDR zE=u$F-?^@ ztAF(IMMZY{RFg;B_x}8kFCOAI4Wm7X3h@{BAV!}il;ZFEX~Jl$q{94*w@OAEAyw9Y zd?RG^?K?&D+uyz`zQT6-*&m^o{O`ZxD*C(f3ir@H$h3Nj?Sa~!C0&aNXI*GUYKCt( z$}}UaGfe?C!M_61vd+y=S#H*DhjbJ308|>^Bajwpo`7`2@FJvTuh${n8N35&S>}Bs zy8-aWsGs2W8=LPzMVED|k)k*X(*1H-s5~WBfpnMM08(VlA>H=0gW99(0V%T6AeBAP z$jbIx=wZ1170`1*tqISDjv@W^P&sHJq`UEZAw3{o32AlXQK%id=O8Wey#!^)x78>v zaXW5*TC^9`UHi9?%Fa2>NVj2yA+50#hqV8tDx`RhgLFgI5ITW!+Cz%xBuHhSVicZ8 z4Z`Wq-OdJclV&ue<@#CB(fBTdN=x=DZ!|zA8 z2dEYv3hC&MgVdUnAsyY>kdE$^kXrM4NJsY$NJsZxNKvmeijVH2xc%rp2kPi8nL5imhq_R61g`;~qPCvRsKpovoNJsZ#NJsYy zNJsa2NYN~UbaYo6#YcCm8*11WecZSR)WYf&kVcCYkk-E*fhy7)pM=UoZ$KKA z_8D1?efvPEi|jr`4??2try6em>Go48e(&~EiGOSR>AG|5Yd`CA_?79XOf#%UYcMQj zMmWk!~V%>84S0H)71BWu{upVN%c6Y}GazC%+CzsFWh5^}GTtZ0@{bd43K zCMyOe6vIFr^-;0*T(r?vr%TN6Sm)sWB*eNMBZ_sm86noa_@h|A#qY7^yc7ws<~NEJ z#c+q(#ELq}ie?E#TTrofinZO*MzIby!($zayF$7Kk%e%yx#3_|bCnx({;hlcJ8D8L5xL*j3Q~WYh`zt<`K;Mf}&Cta)jBGcEq8kcF z(TzjxZ_!T&72Rw|(cOeLitZlV9^L(*qI=jC9^Ip6c!AMJA9W5L>PH`=uP!Q+L;32W z68@`SU5vh(rOf`~uVxi)YP(x^r}=1dHb%4&e6$&1C*?#?SBeWE4K~+6x*pvK>A~G1 zs1}{O7ol&`r{5XGifyG$EXQ>-6RJ{HO z|1~#sX?xo^YzX}r)ETu8()gY-)kt&K?2xYQ#h{u*QX10rwIT87OOgw#|vGH%`LaP64BWqpn`&Z)jEvpMbMR*6K2vYHc zYw8W3=l`)iI(n z8(@SoTZ<|4B=@S!-p(rXG-EHbFW#uk>1Kp7XT^$(QAG7zg%Oqc1V$)xlbABMx>sfH za#oq|8+)0%@!k;nL!OH~6SdrtW`xJSM;p4lD2i=CzSiabw!nJiz5{j>{^*lcuj2PR zzc)e6llMT`iSQ@a`o@~9v&`*7c5YC2Nk>7tOFS0RMxUyX4t8TmV`Pum*VBl+d)vQu zM*5S^z8I-K?-_*D?^n(Sb-!{Rq-oJym-&2r0s zJN{_yyx$G|Z~%>OjLkDU%B7T%jf*9vsEFIAwKYKX()uW@gGi+hWB|6lvkA`Vnrwqy8M!{onyeGr+VtM%o6PA5sY=jVv}V zp#tt&Dy%xFGodZijJkD#bU7IesZ}pCvR>pb@7;;puPk>Pl4dEtXN1GG-VL2}o6veY zyox(5Yi4{>{lff?8Gbfy#~lsC*)LVtzS5A#j4+55 zFm(A5D5i%OKI`@&SeDn5Z>Eg{XbW`y4TqWirMzK-7qwRb>WHupjr ztg~FEa(w!c&5WSU3u=fv$`!s`R6_<$Ul)O&$4x*5aT25kJPpziHxN?Sf7!?mqmN+Q zaQj7M2dKFAK}w(X@~By|8}YZr6wD|L+q$IE*2y54{8z}WJPI3!jEjSE)`XOCDIF)1rjaKchSnw`axcZOfmf~gksE5J&yB-_ zg9D({d9I2w$!nChCLD_981@-GWzx=!(4o8I_qclrIY6hoSoxh}>_KJXjq+RM63_2$ zGeUl=@Oyrb3d!$r7c0M)jXl3t@!l2Aj>=b?VVfcqUoA7j_R9L8)>Ya;ItzNCjRu7N zxc$<0R;)h=p z#xwXmk{9r&g~gm5W_XR?#ofS!=cI?m4-%^zaOk77^%M8e*zMp3v>a?pzZ}J z*TImkiNj;xIH(l5LGzT6kFMj)@S07)y)3+(QtWy&tYuZRs%Atlfq;swGo<;$e6-Pr zdY9lXsrs$~t5M?SSX<-!Y>lsEp>geFSa~Y8KEP(olFB zq#BU6j3b)s=5~v!sfK=;vjkiKBLs}t^{cGEG%d0xa@_S8T4N%9q1*Eg}1V}A2*~seSC+mFNp6dgK-bo)s z@m-jZU%t@g>ZI415hhRz@u!5lmpk$Mcfgl}ny0Ojm_XN}wT`anUc~Kh3%v`fqwj;% z(VN_&e7!@qF(dSdPM{7~FGz=L0Hni}3F&ZMXcQl=%W?bRx(?Lgx)0LfS`F!Ny$tDa z<+{~KhpUxQ+#%1#2p#ewB;IHj8&bnL{2X=2>-pU~YZgM>$ZfQ43OQG=S6^?IE?ssYY>Y48iTKF%nd3Tm-2# zE`!t>cR*^5w;{F05w}@R(Rb8qm=We&^+8Qgdqe7W10mgXj);GqVHEd)OL6UrY$xU;~NNw_lk+r|ybG&PY%C_6pVlsZg*?(6& z;{n5}L?{92cDD?qQ@E;;wVN{aL)Az>0@9f^9@3`lWsn|K-w&yL&lp+x zym9kCC_{S>MU8`8&Cn-?8aQlC7M~c&-=)9F4AtfV)Z|CD9ycT0@;(i!8qY(gQplGf zb^Y5$7R#UdY{N+RmpML?iz4p=eU_F;gaeQ|v(9`=l>ClM3p2dLEs;M8C4LwqDe+@w zDDGO+q{OeA5lZ|vs1kn&9ZP;+L#IG{A(cJ#kfM6o^J9dv7cmaY!IGfLUQQwrszdr* z;aEtu=woEby*qNu@LG&T{wCDo6^x`7ubZJ-e1e+%`GehNgs+Bv0`(*}{b3_bMTH@i z{SYH-HNQ0aS_7 z78q$j7KT)|!yuLINTXP`ipXBJ8lcM708$G!kJ?b9Sl&y_@bXSZo{^rBqUE1?#Ehi8 z&zqt0zJ+RE5_)r*5iV$7gDTOlcqGqq3O^b>ii7efZxlUhA^Xi{Bd|DmpAvn$zmRSNqHq;jP{u4ul0 zQP7OAtSts=DNz^Fg{&c@S-4d^+7?pu4n|h4@-n(2`>MEC^yrU={ly1)3`O<}>7`&M z<+{l|e3g0^ve#`rs3q1LcqCV>caVK~@d2or>@)Z9EBh{FzeIcwYMHcO9x6q~l6br@ zs2Z0rvcc!&JQ~@9)d5w`6Y)q7tLf8_y`1Agm2)y4Njaw=dpW0rD(5Zk;i2asdpYNV zD(6G;P&pUp9)A*4IahJqNBerj8ghLD)I9$#$CF2ZUz_3Mc^C2(VNPzpR6hPxzmpk? z(HAv6{Lsk-W@NUPJ{HuObQz>=)vKd+BcyRV+bGt44o1pfteY!m#aakz3_c-|{$B}c z9$RN*iTsMZ)eJBD+sOBaO`CjAC>P%)J;;o3>K|l$`C?tZ6! z7N`d62kCBTpb-Tc8U7u^5mkJ=kq4h>6gQAw$4EAi-p1Q+F5U-A5Na2s8?N$wmcM+$5HO#*Tk~O9<2(f${gn&elyclvRbvhbYVv@Y#^QE?pjuzkGJ3G4sh9T z5Qm}rDt9b;vVk~YW^thJ`X+>J(lBPzl^9drax&$vgKINjIiJ-2I{I@ z3exRV1xW3b1*xf9LRyS>k6I5STCmGg?ZH?@g ztIl8>JhCB8P>(>}&_01wuJ0iAORbgEN2O{6hF`@vO)`mk7=^iJ0H~fD%i&}n=PG31 zVVDal*r)E{6Z~#uze?9!WvB*gWn}&2H}oBl{UUP?sAbM2kjBxQ_~r|Xf}O}sl*?Z5 zREn9g+DI=M4TR1^dmPf@a5bdM(!tLuSD&29n-S_(7gXI^;gQs>8?x8!B2c-$<{ndzahZf%XMZvHT;E3yx~-k{1c1=4K&F22dq<4a_JB>D?@67?wjf|2I<9*`Ep z_d^<}k3+g_?>Dksefzk?nq>SQZj^dITr&5sm5)CVX}k`DEbf8wL4{sSXf&jw+oE>T zOUcnkA=?oo%~Ip=L~a$RCE*6B28Xvo+F{shWJAm!SpH&$+B4&2h4N}wG9&bEO;Dd_ z3@{?ni16X72q zH;VB(BYV7aLB*SIq=pFpF6T%&l=YBG`Yxo%A3=)zm61jE3&Adobl*%Xy53xTS=Q5# zNQ1(^V>xsJ%4A3pr$UN2!zh+@F|tQFU`U$68~oox?O%^l3R0AckfPKwicwBO_9(X* z5@lZacL9e~&u1Z(Y9pk0TOh@I-zZfjEQt1*;WO(G$cs{bNglRQdHPea(HP+uk}fq4 zr_wY~`@}OK-T2%EX-PQ`QqGSUS^0f|u^ib?#Z{nEZG@C+Go)18jAE)UkUiBdP`UmL zDg8mO8Yz8INa>F-vh7}f>e~?`!}o&D!NuilYvnm>T`B&g;J{um3Z7{9ld!oAUbqme)V^nle-T zBaFQ~N1`SVIorF7cV{Ov!djvyx?ga53#r@ycUHV{#vX4xYSJk4%?ORMT;8NxAAL8V zZ3vUxUVMFZcj)U$v=T<~>G~xYNo%c_LA)|=NYU=H9?8ZAa!;pBQIuWqtrv; z!Q(@3DuO?FTx^DBxHYKB3nj0a5w6!;L0z>?+g!|J4?KSK`r`DWW4pzvEte8tYidvdIv1)A>6WLdQ5-ofFw*@|M_XKuSA;XcPHJ38>4xJP z=QNCz|Mc`VxcGj^jqc-@k=f{e4ZRy|OT2|p4`>CX$gdb#A$+B^5kphNcP^_T_d09% z{bC#*ai_m$sMSY7NXZU2vS>b%s+i&ZQVn@-xC+g5A73B6?uKqrwi}0i-U2%;f&D_R z8l<=x$>`0iSIgBKpeMhxc|5wW23vwESts}K^Dx^CFIgYtg_%BL2E4CaeOkL0!`?2W zx#k;(heeCzqjD{GcP;Xt!^2nCFM(QJZ-V6d7OwUOc4d5o+*fYJNF8Y4Ma1OGUrVpq&bTFj6CgPinikmT1$wx#!EEc(oLN7B8 z_m?X`&8=(Xth%p9^xK-Rq=q)xldBi}$TH~`R$+%=)basP$~bH{R{%9=vLJnIiCib;iGm4@^@j>rgkc=kJ{!KnZ8TZ-Z)HLT|r$J&W9?|x&t8HAB}}H zo~|;o{3@$ZHzGF_&IWZoyBE^^)qH$Y;ZH>`LhdZzW#B+^SOHzGHeUl?Bisb)zIi*O z66`dx`uknWmu4u^Zq#HO^(UNbNl*LOuoXEJFtT*sh=(A1{~VrIFP*Db1T{)(K&nv| zq%*Ivk-hrrW3wH`IDc}Hjf+nmeGJLDKZlEineIX}yl2KEFHQM;lJ$uh_6n0Wdxl^X z@V9M88)u%Tx=a9j6Y)~$GBwdu@Ot4*phn`|kj}RUj4ZCNy&pyPjq;_S-cMMEhh6)W z#YQs(n^BYVbX%f+>#EoK2Q$JM`5Rc1l4X8sq^aa!s0~^PNT*FLBP)&1L3J@wzJPCt zi(i9Uf?8v>bMLw;(CNs{glB=L5V-;!^cN?Gscn$)^2MNL^&23K-h1&)g>!vAvR^HhgPIqfgEWJ$!#BBFY((~}#b!`(w?XwO>qk&i z=nF_~knyFZPp%e)%?RZ>9Mn8e8d6@h@lCE4Cu8UYJYVEji$3n6(1VRbAB_Zcj*gSF z`ezcN&qjAi4XraTSAPb5V3=4|W0dllY$HDYaB?%KtHn-8p})s9xmxT;_NztVuS`#_ z7NyPbF?S5|oB1-lMZQ+rCYqDVnvvN~F^>mNqV?KCjiIiP_QHlk1JI^HeWBTqM#O#4 znP?9iS;>4JUyJOu_yE-P=UYfQ{sQS-N&m*E3hB#0$3cxD_3O!yX6nvRMUI|h6!XbJ z_I$1fmCv1!@|h1QpGA=Jc?D8FpFqlIAEbQJb{Q$30!DU4sH8wgBl|R0+t3@gE*|!$ z-L=RZiD6Tr8g~JP-8oR+$Bo0@>IzWauNireH*ih<1ZMSb^91SZh6dMg=OYO?);K&Z zz7*6d>sm-xvYC()-DyNARD=7G{W0JIP-oCGs478MKwdPXP&A`>uh#rK70ut6zg7n6 zw!5sF?lcZ3^p~K-{gAq#*zP27aii3BiM_ylnU&RS{msa1q~Z<*v&dl_qQFF)Qq54K~G*-tCOp@b$_44JLc;B-QSyc7*{A8q+p!a_+v5k&nve zODjmXXmn)2;Zar*;}Go#P?xE)a#r(JL-d7H7pb9jdgSWk(Yu6&(2 zi^k!>_9jq^o6m7b&bvd{2SK(+XM zs5j}?LAsfHCmwwdQepQ&8gIWES*bkc(fLjGm^DDfJPlIJ!H{BJ9FJZKDdsFlG4C>p zF`q^Dm>WRF+yyCSkpf1FSq{?CN|0hUf)um4k;U}u$Ux+p>Z=i;X7KS)ed>M>)Czhi z9(^2YkM=Hf4)k5r(hf3BQ3@J`cei?i-pe8{+|#)FS+X_AD#!=9`T_LhI)6~X=wH>) z>fm!uyx?r`SM|1m{c!jg^6ipuz-!e+`$5gQMGG4#)KNyUzU7g9 zj;#S|W^Lsje%o@Y8Oo~*YVwM~EAFDp`kTg~`SyTX#1=R>iFSrj93$P4eO)jJ)ND5u zQmTg`m0_O|jiRi7lY_8$k;J345zQmHGIEBnUG(TI4~ad&qWr6;n zy5~X4YqC+i)?AJ3*P5F_U2E=ul-J|+FwNtJ>6n)vGa4w9(S|29v%kc86%{8Ff@E%BA@Fc#;)n+xacirpg$<^jF zGyH1v1@hGJkaKD=r7fphqU+5FYmZyOMzrJ|(5cWPkk%v5LZ_o`fLcO_A8OPCstlb6 z9S3Q)I|=HHb{(YI?r9?{w_nHBo8jf#h&(-%uVryFl80;U%utPcpxW(@j6P3q zN;48Vjr_(zy1AMJWusjMX~A%Zk(I$Gpt~_rJ`^6n#n)kvg4(E93biJ}Gmzpx4{7t_ zWk^v!G_sSzYqrM>uh~B24?@jW9OXHyf;7wwHQHsa`kv_3IMaC%&ohkZeA(U*8si zx>;ThDb;iMCJ)p$O3Cd^LH^Rp(JNELjPSZnNl>$RIj9}kRfTjfR0q=Pv5AqD*srT6nxUv& zUG-_V7tTK44+eF;7ztG&>SRb)${UO<*0~BX2YIaUKJZ+8pM*L>uS1#8JCJ7mFQA%e zyW`Q{Ak7v9%BT%J`VnS?=*NJH-T+ec4v?as2`PF%NYRJJqvIh(zs$&b$fM6d_Oj0g z75!02(O-lVeG{bU??a0ISv zirx}Z^fMquKPMjT2Pyh6BWsz_8YmYdPxrb1N_aGbVFol?i-_C6{)lrS<@7M5oR&k% z>G^o{RY+rgt5Irf*kSkq+1F-284~eVjvpMRg##G&6Eqw+xSaX=_&*BN_%8=l;c!Dp z5e=|*c(*)TnMSulOUD)dPt?78IR6|)IJN0to1$Sa%7MBJgAskA;o+j zQp|55#r!cI%_wi0ViqxqF-s$R%u1m5Bjo)Ec|StlkMU?f$otXA`q9gIF|x(9F zAjP~FQq0F7#e6y*T?;AZt46V$?;(54Pe8@|1yamZ1tY~Q0V!rFNJpzeidoMn#%zJ? zF;4~+vj?P9eIdonffVzicyubHm@|y5?q{mA??xUWd=S+7X$dru(ef;$=xZQF-wY}G z_IUJjNaJ?5QEE&Ww})0V*~e`OLn0n&|E7wC=k8@W?vD@ZfCuBz4v)+*vO6LBE1lk6{_*H2NbNq+ z$m;4bry+aH8$rdq6Vk)gM<7LC3Mu*;NYOXMqi;h)D8*-x^7+ol%I;T`w8|zARZAQM zYTi5y8b_)!kVan>Na^c98XwJ}3i!2+M>|6&pq*=E_35VIgOPnij{>#Ndv3f)WpbY;TsX{kWW=NbOM_Yvj=n*)DKehp^&0q3@Q4R@#qXlBj`3Gi{3&Z z=OdpXTnuVHc^1;0@LEXGH$sa39;E1>#G|_*ueVVgH%C`D*~d+3L&{su{ydP2W9?ES0}M zZ~^i;iZ&W-M_Hyq>ic^kogWWDMLGI3q?$h$k8XrC7Tz+ll6v${kUjc0prWU08Yy}i zNYN`pihdlV=*{BM_K>1?Hj2@+kv;k#P|+`e6nz$?=yyYkz6etEC*#o~*)r*B>o* z26dL53+XHy3F$1m%E(&GuP3)4cTi?`fSUUsgH-CLA(i@NNTq%~9(@l|FMMibt>ZDj zNA{S%fr?q8u90Gvf)ukRq?irj(H4-8N~0LF8?wjj1uA9^q?i{$ig_)hm^a6xcSDLf z-ze7oNo0??3RKL^kYa9!6!U9HG55uz`RbXbn1zgDIZGmY%<`aOHiQ(jIi#2!A;ml^ z9_e=HnI{QtB_5RPZG8Pwa3>9()oT4r1aU4qK||WeSAE6 zC8V=rx{(cZzeL`OTvXBLflBo#q?k`b^*C2vG_o>zs!hnA>U~hDK7*8MFQioI_4A}E zWJXAJG^kV+Af>7UDOFRW)QE82o{Q|~ZBIkWlFjiFVdHZ!$E&Ia*CCge$7b~8w|mkXB)iZlqxgMQbu+??!^cLC|zV z>Y!dYI04f3WqU}snVq868`2~;$jIKK^XG$?A^QsE3PTDzh2yp&Q}|hCc*$==o}7`P zrP{|B$;)+LxS;~?6BFiFqws}%>Nt7(izPL}`@_$p(0v(J)^#sdJu|!n^^t#8 zlaF+ds%r8p%}8$TK;63D0cokZ7-~(Co`v*q=0!-C%~v6H()&i9(T7H{sbYJs-BPTRUP2ES9P2jUV;h8Nn@{ZAAghaWj9oU&0Gm!gS6x*4UOh#Rj4Oa2hymhZ{!6()+n_loVqy}MKWus z=o9hw{r}6*^MxCZt8?`mT=!nN6Wts9eo#RcxQEXGPb2%2%hjN^Ctu9#u_f1Id-T|u z*JF3C$4}8C?RYC+^1L(M46j=T^7REXROK2?RR@2&<~TFLRMQO9)vg_+YtQMySCd8e zT;JZ&V^Cg?9Atk2e-Wr|oC4{2?R0$8!&2;4tO`EqOc+>P~Ad zq-b05O@)qmAK9-PpMrXVy$g@zbBSM&eOKY2W``Gv zwb!}o&adKpg7ht5Y4YBVNAeqapCS9$*aK>8{0wPq6g<&LB`;}YxwTTTa>%C$tAc8W zhEO?jXdbmwAdQXAMwY7=rjHzyeiW!w6C{%UDo88e>y2WnyXBx%3qhq?CXrOnL%v=% zimA5CL8-n1m1?g&BqOjLaw&!D1Zsx6#yxy?y2%V3za2F_yySQv&P}90 z0&4D9ibpa6pF{Q$xDnI{+ybebUqPx{zSfGHrC`O)2>nwY)DpD1MB3~)s4mpp$nx@3 zr^`VB&I6UIzeIdTK}t2zD5knr4qi7YEc}hlIT*?9%L8VF+n2{cEl}4$T2pLxUw_$e8?s+KKLRx-e}%L= zn`&#MTb0A1qLin!QT!X5$07UrsgWVakLP%@u4!t9m$w&<~BH(FIHC+Sg z3bG#3HQ`-Iv-p>guBI975-q6E)A zX$7R{3))-ykP^16^;b7ShqB|ev2z@!;kosQC@uV-W;JEkY zHRwrS&N0LL@=oOBPk!ukAODjdznT#~Dob@R)b*-3q&}-;Wc4Vig4RU#o62LO#|iG? zUD*oRKT&HBsx8iT55E`dC0XHyNEeO-!!I^oWp6A6_%iy(F{IlTUyj zGQ(^9F!G0Cu6hl3zXRJAJ>J8^?m#u8W^^(m`Jlb18DU53NU$+2UIEhVSv~lwT{shK`-NxjF2tJz5x3O)Lq&gXQ)KJ4!YkA<+i|8zt%1>BP^bmgB2*n zbME0IVFR+C>RUmLtM?(TgLXl>MjkM-`unL+xUtlxmQXrSe7}f$Vo_7lKN4Ii$O+X;Hfg(p+?#k)`(z zz6ZIE+UvpSy984Dze{^N`hE;4{Z~=j2k9>DSEG2Bc6b+) zD=YuHpjtS~h@6hIf8$+RGYHo75utUjRTdp`2 z+*JBwpl0!>@JQCkFChEacop%=lX)WZSa&-ii>MV))_J%YzE-;FzE|P;%T>~oBO%h3U7o=1V8pTvk$w8@J z1eI!&L{e>olRJ*~stQIiRRcLFRVz?=og$IE&VrPxmr+bL zLJmqb2~?^n5=nIvq*QZ^;$7NuWbfv8K=sl#BhtK&XL6VJIfuRBcZ2HLU+_p~r;M{q z_7PYF)CfG>$ja!CEGi-UU0N+rGu#08@Y!j&8LGpDsL5U0WSozeJ`L2|aU&kd2)ql~ zN8rPtM&RR+%J~wcy1i#)akCU`7jmZXH&Ay5`MV)f|KgDDOG+78UY@F!9F*z=P^nr= zB-QDVQk`uSQw@@XQjG(ZYO+L9T?;AIEk-fbJUJ-UQc$U$l}M_WAfAxrthYta`H)gCj@q-3=J&Nm@hcFDy${lwVu}0uUD|SFzsRfwH74JObeHxir2DF$prVu~ zt-IwlDJ&dIni1~ON*Qwe7>*}*Y30laBg!ZWYp=*g41GU&d< zs|4!0Ru@t^8seM0<=8UUw_Wr&J+DW1WdBYo8`NWlA&}1B(fFo^Us{`h?Dw9Rf|`Y< z;$c6UpaFSXuE#xKMQZ*a9_itlxdhoi(^xKNJf4GeeS8VukS3b1j4Zv6@*k1wsa+3%S|}ZKzEK16FA6FB5s*q( z#>m>w@7XFL`z>mN=zBaKVk`LYd9C2nD8I8*| z^CPmKHfga-aK>9n~5 zQkTs(vaazN~B8flcXvH zRX{6Y6jN0|_Ea@MrD_2wuahCA>SPpC^+NVk13;y^2vVvmAf>v_D5jc&?5XYpmFg)- zsa8Wu^|Db+^)|An`T$g_?;)l74N|HCee;E~ErWDo?ZPt^9y$Do?ANrkeujF2SF z%Y*6URvoGg)yFq^SGgr}NBN!tYWJWk)D7Pr&_&QiP#uxyNscJDRgl`_ zB_k`DpLwq#`dZR> z(wR2~(wTR$k%jd~ELS3*s4`3kbve1!J^aj@i|l9KLQrSkGDv6M21tGSp^>$zpE=(l zAE&rKff_4^3^3AIIRaAKlr^%_c&a+co~j|JRHs5p)dfSSbX=oh_S$aU3*13+E$Mnm;A8X={>0@6kAI-{_TpM&VTSog)_iy&R-pMsQn zHKa@S%SQGcn%@q7j_loX&>%zgaUmn}E@Jr zg1!}bMTS4;Sc;MC46cYitB{jFW>R3V;`rY_ImC?c_R!&=#$-82>))!7?l&7ks%2Y9 zwd@tOY$HnB*Z#GgZNDS#Z-$p~Aae4@OdiEZ{+P*&W~g7@LA7mg86PC-9#_3lel{cQ z*r#70Z*R9l+)%TYHTFEqp}v=vq4T>VhTW;_&Z4^;=@j^a=syHC`I|*IyNkEc?Pi2E z-(AuD9z4EE^LOGtba&sR{@e`JVz;aQw&71^geBZTLk#^U+{lWRA@^h4P&FDGdo_+n z-4ya!ieW1;RpS{mLf1VHY7*H9slzry>du{zx^Ax#>6PCv$UYsV4>i5hW&*$)$12C zg8L!E68EA;u{WDxB)!?*4fSUC=-&f1>7F~>#k=P|GgSXaT=ni*Vn*nm=Rq~W2KVs# zyzPd%XOFR0V;^eLJ(GuYfQkv3qVp_UhbXNcYU*c+x%d&G33Xgq(EGrx;21KdAiYMDqZm2iw8+$d5MNN8h2S(DHpO_JP^J`GO`6Hy>JOHUT z4;gKw-aN)A_GV>d@6B4Edb2sCvYiI0H@iUU&F)bf0;xB<=UB|-WE*WpXsR)W^yWB@ zC%t*K8D6hx$VqRm!$^Ab6Ei|@{^aiGR833ENL!Uj(tN)hQiOlh>AlXZYy4y~hk0(l4iWpW#DC3>wm}ZuZcj z!|M!A&_UL}GPF9;9>Vh8Xf*zp@dZ-K1(t77~>61MqdsLl)^jGhkR$~Wt z9W^L>*nlDZI`kVoP%ToY&xjFe>3{X;z_b*{{xVrOkXxuuqlS+gZ#iWs-+q?QkUH>!VjpMDlt1v#rN8YDG3 zV@&q29LuJ!RV~RoDQo*-{fBqR9^onb4ISP0f*xZ=jLsR=FMDVYGy9AhG$NXGQ!LFc2Yy8#ZH8Ym zW|c7chqMeW$yQ+4t%r=~%y6HKVJ6>^-+j)^Wty=apZ8z%C|MD8G3Pxk2a6X^LYt-V%U~|s&s)F z;n~QjpleYvIai;OSHC4!pCet~3*1Gmy~x;eeWFjkwA7a&*8>=bWEN7c`TN=>+jn&j zGqlq97Dg#_-(sx}YOPTZk4fRleRB+Z4S`GkNx9x#+{f2I*=}fs)6dvT({YZayfoe0 z;1Y~{p)^y>2&3ROLwA4jF7vQapx0}@!>}KRRN)Vp5q7_e+-<0R=u(glw}+H>cOwth z>Frcn>X{7Bd#o9m$I5qtp?gfk!|r7z-;aks3tA*+HS&_^ycFkE!Ffln^B1|!-$dud z*JY%oehbbS)6K}ASyI^)HY3!#IJ$k5qKwL*`*Wtcapkw_v&23#Jj3siH-*M2cY}F1R(>@>e^^l0(4Di4QuV!bgW#le z7vk;j{#*&Fbk{;E-JSR*rCWgPrF$Gy>6W{Pm+o0JJj48BY;C>YejH3?Dr1)GWzoxI zXll3#o|t)rTy8TXOjP%xTXc=Sr!g*~8`nU3T(L>y9rKoPaQ$4eQtbupr!q-*0M76k zCI8rPmvoeYIe2Z3!LSVRZfxvDJsx#)_|q7-V%UDG%6f+x%4Q*I66Faq!ky82_x9*- zW2C$+U*dC+((ZO2e?jplblc|>Ivr{( zsEC*}Obs(aK}M7hZqts`?bs)w&_CAZ+Z@5{ZZN`FXn=5ch+U6Q$e~a)&uqo{@8&W$wh;K40zF>xz zZY}cukY&~-W?U48StE=Lf}9Rr?8EFVJ)j=fJ_S`Kw^yOM z&~`|Z;w~dAO)cf|J+i-8upd3yOHNIeljfMijJ+I3pzaLixD6xuu=jHrWK{W5rPTAS zTE<}pYk+LOgQHxVyN~+kOnkfqJwVkU2T~2DL8`$lNHuuKDAr&xvZsH_b-w_W{}L z;M4qMe7ehL3fP_~cSAZO9)J}2QKJ}nDY8dig>Jvur4Z}T{n_e!phm&Rc;pK=iC-c6 zTP=G)wQTV#jr93JNh9<1$3W$f{SBI`puYL91GS)($3c~#PEawZn^7#~dC1=P{i5#> z=p=kcLrOK<$Xdrce2yEM1m@yWNmY9kIe7(iDZ1BxHM&hWa(WltZ}fJ78Vlb;)yc8Q zRYoU5M?p$b+9-~SipV}HYJf`L8q%mZ1>a;;^ff~f#-Sz;<|pCoqv9&CBDr0MM^g41 zf;$Ih;^Mu3C#c?E2C4T~K#H)&$RcVXR&rJ7-6b?|xnUNd~&z7P4OQ2QgNDYD;4 zWSOCIwMI>9e~KAl{A7cw{XjgD+7Cze+K-hpWxfSc?dQ0!*M2UtFS#B9b$%^|P9fEk zkgiK_K&r<(MzQuEAbagU1JzQyAf^8vQmWF|s19EH+Gd1nKJtdN3=O3YW`w7k-J-|Y zcpT@?r>DU7yWqO4O~>2Mm|I-;fi=?%4?YVy%ag8h7vEA^XGZA0SEBcNJf`RKqI~J@ zextA_`s_unk)iXu(zPm#KP+!+hG%**aE#&jPjcu>fjCW{*QU zKc0p(L+y-ypF;Wx&~Ko#NU<+!C1#kWct=8-+mA5{^Ganyoi(+kg$vEGxcbe<382pH zR*>%3+Cv)WogmG#-Hfb0K2`Ta_VhzQt$!v!N_8ouS!OEKniAg%b%E}HdO;6EouS8~ z-&0V3v~|!}Xd~o*E@T@x261O}{0h=@(9>=-((5h#X)(9n$hyzvS265`HbT9H zi+>Zf1Jr5%DWt{0cTg6Nzd+h3N!_I8@Oh<_8R4>15p0X^aZnSe1*GOU8Bz!Kf(CGO z05lpJ52@;xLmkkrf&6{#xuCy;`Y?ERJ{+C}ZxXHpCm_BGsYS}&Y@`;c2B}5Pg481S z7^Oyq*DzKg`Yz@e zlikBF7(LDKsp353x6(2+gr~ZXKiR#CA*e=s!o7Xfv>Msxp7o&O?SM4*?7}yhd%j2Z zxu@W5hMFtNK$?3hL7IDNLYjNdjDBZBntOUd8oK?Xc184?3aR6+Hwtslt%homJEeuW z=YCv$?pOe7?s**2-19V~S!6Y&x#vZrIQMKp_Vn99%{^a2O0^r($@UYZxu?MGMw)vL zfi(A&hBWt7gydHP(h1lY8q2_L0r}k10o2@cW_0Wc=}dbT(wVjfQpNW`I@6lXu_`2U z&xsge?rCQn=AKTV=AN@5%{{##%{@aP%{@6r)*L?fT#M{W-kZU;6nY+{xn~ii=6DiP z2X2Bi_iTkU_k01V>U$y0J-~L7#i-fIjy$1~vDb2&qM8Kx&cMkXmFN zq!uZDr_~~vd$P<3XLtic>d=tmKKC@|sLwrJK+QcpAk97fAk95j8^u#<2D0Ds-3ID3 zdeS|7?%8OD&podqC;Kw{@ecbkcO@RBjCcm7h5M2BD4$}QD(Yd_GfWEI2o6(4b2v;D zAG=R2e7-UcQ^g)oQ^n7ariy&`8fmIH2-2xt)F{?#Ax4-gp1{SYif2L9@dfwxsp3^+ zpDNw~74K_E1>TQuDm>)Lm}|066-R=aDr!QSD(XX;Dw;r=D*8mf{*b1Mq0l*0b#l~h zhBW4GhlX?X-l(mNe$PQZ=3WB*FN19YN0DY%^!yQ034et&`K0c%+T_kpNHh8l&3)t4Z8 znyWy?p9Lw+y^zv8WE9dYNAxt$gG#d*Qkor*(tK)U+m(K2dGh@xd-cx*b?)_)NSVe$ zI`>u?*{!LclFws=+2|Eqd?oY-sM+XUNVCz$kY=M@kY=MFj4XLEHA>NWCYKi;3Dzdx z>X7E322cUC6O3#`d#WzTp6XmssfI#Ibs?lwlZ;}jnaG~%E>Ni!LrS$AQmW^TVjER_ zz+`WuEKqIKL?Y$t45^LoFiH&$Yolk7eQmVD5YN>d_etp`jyk>tYJS=QX@2??()?8T zL6zSFl`tdBPo+SeyG`7~=cm)nu=#0YSzfL?LXQjo|I2muqM+Ug{PUOVa$hlv?~DDD z@4dCo9x-~%kofMI-gdM1(Z=>0r}xW-We-VSK=T*j;){04J8gRHCg%Pp&VTYk+CTe> z*q^^;W+S0@j=c*xYS6d_EI8rdI6`={@rS%BU-e=-8&8<)SQ z{>xw4(wzNQUfFtgh`shy({Id*4CN&$Eqp41zO-m)=qstlMyUn)-1!QO+<{6 z=8zmS3WPW9N}CayzXqtKL>8n)VPkxKZ?bK!XV>U?ZuIP(>p3FV^OER!W%Rrj&*V+J zHOStlTMWHVZ@SPtt_@e&_b}{vs|MOvW`w7RdxEZ(%r`FT2N~io{fJz>OkTaV8|e(O zy2hUGk(XG~%^BWI&CCcd2emYGk5AT{$IHRv;0@-HrE(QBbdNDcsrA9*EV9%qz#Hr<_< zVdM`#mb?ac|FCQ`Sc4|`7>{J9W*@RIa#LFjwazSI6g?^;yGMiQ(Grj3`S%Wt41c!q zt+AJ?{O6`Vqtm_>SSr)+o7$TZ9u#*3<ICzs@96cV*wpRLK8fcpMHXRcT16sv21io~k~wr)mN!)rpW&oeU{eXCq7H=W-u2 zyy2glYx27A3h4RwnQ?I#xbrbGd~#o89Bu)Yfm(O3z#$oxYmogNu=Sv>32)@}cqiB6 zgXr-Y9?7UYfRXZ1S@Qm*gmoS__1!SrT#s>dc(?ObGs5IJ53FGSr9T2413e3Ah5rIn z741z(W3R{(BaP%^jJz?*8Kw4ztS-Vx=HY30`$L;qU2HJMmo|h}#M`kF4?+x6yRFllK z_%d1_414@9=fP%#hizj(-Stg|bk{eqj*~pa?`fgAGo`O{L^+ulEMk79YO{c^M zAFu5EDcLb*gbWj7DmNB$#VS)wh$ z!)6M3EJyYaRM(;>CE8(z*Y^YDhYNYnHEu2+e_+wtjL;JuLEZdkLmCt#@y!>08EhP~ zH^&T6jXeueYupvJ#gHcACynCICcTF2MSjDOdTil%@@##p8D8G{Z<;*6fL~C)#3+(k zTK)5r8R3PD0-FuB#dA2M$*&^RmdIIr9OMM#F+)ra19@gA1ni1yu zEuiN5?U3gBo%s4(zdP46tykh%0Fvh+M!~Z*qF+C1M9-|~*%;4ct{;i)^}Ni`i`#?k zrugdlXy0!#w=w94XXw0n6`m9>0-G`H4O6=HYiI5C?==pC;TMF!Nz!`+ZRjTSExLE|rC^5FX$Br%r~5(G=_yEcD!EWO`z&4Fj8MI5 zpw7&bAm!X4YW*SAF2^X=ZXHIb-F{rWcA1MLdkYjXBh>D2P_-)yDUXKuCbesh9BPN| zwYvcf_ek@MeKR`IY`}57t$Hk!pQRW_eeWnicqp&;;#`j>!JzQPcb7*Y2889e=wx_KZbAe18YwqdsD0cHBr9_ zsci2??Q2La@uN{}i6%>Bs3lG`4lQvGsFpb29lYHJVN<#rvuNlV;<>@9Hz zdeRd2qkBs{0;(m}LTZWPPnd82ux86LBV0Nf7}919IbJqQ%cq&)+$hR*ZrW{e}P28t$;MD-!QTWzE=2F zvWCNNpxQC>NfpCADwq*|<-Hy#k4AYty5@THjvj;D!)MYF$o`Gog`h4Vmq0pGugvRv zZLaT4(f79Kdrw~92XlQFM&Bo*@3Zdf@2b9lTv0WBJ$k&2hpk#9zmM!MCVmR)`tl8= zh3`H{E%+;>`J~WOMjDWZ8d=wQq@$2MQdv-usz8cV8&afWAw_BhDN=i*7^xGoN9qPD z(s_^~^@9{?2&708AVs>=$ZF?v>P=?&_`4aoq~CfyhqJG5Uo=!Zyc<2YIKnZC=LzXVaRf0n{PGLCzuhwxt$8??)O$m1NTGs^&$8KIwBeik>BtXeh$D-)@!d-%-M1KEe_08mS#Iqu=x zj!z-`Pa1ClPa?)1NUO54&su)zVRdz;8DYxr32LEoD;~-F`Kxn1UWy(+xQCz31y>}k zUDzn~S(>-zG>m+ib=8`;m=S)Y@oum^WqQ&*8mqc1k*f*Uy536026Vr>+zV`UqqKLk(1Zu3awW0{H!Q$hKD%}d1-j1ZixH%#_eb`LKP;U zC%;v9DSCUg>{L+iblm73KD1{edwbpusu~aAk=(35ihQ(UJcXXDu~+5lujJKV&(*i* z)pzFVyU>%H{)3)N>Q~Sx^-I_jsfJ;DrW&aAqE8m`t-x{$G2d|EEvV`AwdG=2vX~Gdq|MUwL{tGkqKF1$OoBKY8|4xjBuon!HAH4FHQ{pQIUH4BtJ~ko8PhV>;E87*Z+%* z{0g1?qK)eLZ+jUbdAhG$|BX-gOI>a)W9t#`RgC=M@yakW!cEQP=*i=i8M*qry!w({ z{U!9|@yZ4>yk(R31eDj`d{00g|LA)Ha&GpIy(ge0&_DW~fSmu^-xIj~fc3@7{NBMo zU=$2n!I^1xtKhfACBX9BIUEgX@4Y-!1+6aB5NZY;3$=+yPlcMGodfCqV*qqA+OT+Z z3{(*9QAjteD~)_?TxpG+x-X2wmobuYxRq}3o9nO9lX3VVN3oF3a&525#qQ#tsN8Hu*xtV#EXPp47gFG*Mjm0Ak^Qcf)Pie` zZL3u`rDfdEfv&KXnIMCW!;_y$E*I2!bQQYaj?Xsq=(pq1)T1|hQPKUqi8f}0HaHcm zNa)UxG92o@zLA-O?4Rsh25Lk0YCMv^L~=u}$DPsR{=6Oway_1o9;@?uyqN2;C3#;M}V|VoUDX&M`OR=PffGX+XMs}<3n--;!y;^P1)5CM4Y;=EYJ`z-uUWrG(@HNA| zxgN_v&4f?mksdtW%JujfJ^7HL(91FQ(V$}2F^aKI&Gk4RRO~)@B(W#wdfbYh#C|+i ze;!oqx7?$=jJ>%Y1z$;GA8Zt3S4Z}`w?I#YcM{v8S5S}+U~R@oU#KQ@0n`>61+{_3 zLu&QOMpjCH#_^CFdbCh@y}9@}EdlB|Z%-rh_Cl=6^>{IQ6yKl{d%~m52+xBWqbD0n zC+6zsx$Y-yjv0PJj73h~B>KjEn(BPpXGRz#zq;=Gim8pJ`+B7`sAnY=jVxE6IcgyL z$9`F0bz0&SNaxZSkg9&Rk)`s-*1eGZ(OQ2{?L6Ly)YssdEFo^>uxB+J)PtqP?%{8b zK8fs2vl7&1-C8_S;g>EpAbay}lQX$|goh{l)zDk$H^jYRx3lM~W>_z(g>uXYg`eoU zPokHh`%drGpdJ)F2x%lNbl=LV;1kHTgwKLn-@O3o0oM*l`|+O`#eV%7*|+BRf)yzJ zFVVN$Ci!|_XPMzOsgGRS-;+AqU3_1(M|A0#$7O;I8W!@seg_pkVs@4xr~?%(@H$aY2k^yjZz+pmxhA2Y1)pKX!YZ%Fs; zHhfgyyZ_>gq~F{031R-;_d~sN+VmdFPb@1&$h75kcp5n8I z`3EAzJ4xJU-TIXC|N7Ras`%ft^{L|ik*!Z9{I_j=Cf{Kx*Z-dHuvFZC z<4$ez9hUO_-S4oTx!TUM+rwMAJ28@P3%@iYyo|8R(9g4V*O-TG{c0WE>RP$`8TtW+ z{goCLcb^%D75<^u5ycZHd$}sj-`vZU$3ME4>y`UEd$|Yfcxr2!@BEzcsu`2QH&bVu z5f<0IK)nXgAJTrpP)J!!G_uz57Xqf6;kCK}`Q@<4{Lp>;V}oza2zRJIfR$*Q%uPmG z0v`-%34JuAEz?qv5sdY|WKNOAMMV^oo0 zeh^d{Is&Q*m4S30UJ24CVl|=TI9eZS1f2-!M@CMDPC)Aj>CN{ujjWCQCcOu;muxVo zl8uB^vT=|~HVIP6u7Xsun<16#c1R_=7gEXQLn_%KNF`eVsbp&)m25qvlD%OROZE=3 zm+Ui8CEEq5WZy$7*?veR%XrsFB`Xf8WF;Y$tQ@40RfSZtI*>}%6jI4rLn_%RkVGkph`9rQps{4m24uUl3fO=WH&%6*-S_!yAx8$?uS&e1&~ViG^CQPhE%c_ zA(iY^BO8f6{I($buFiH)PoZ`~r5FRdA-%)(6QuY5(zY3C53B&Bk{tr+=;4sQcPR~N zQmzPTQmzq?W*J%ggwK zskB!@D($uL=uJkk6t^LJDeeJPiU%Q;Vj-mHPe9tQdlo82X~Z%7hgS}y4wP;4q4xdaY<$oWqyYl;WvHmM^7&Q zi_m?0bQ!32eGW>I%eVL@4?64u8LIfJQEE-d=j6SL=lOIrBfPSGmh1k~eNS}X`5Oo- z`e;aPdXM{hA1pD$n=*NRs~Z33KfhHm|CgWNo>tJF{9S1uBG5grVw4LXk!>*}T=;f^ zTAO_dY2x__s$>79r!gY*C`g}0>Gb05{A}oBBl*H#@hd(E~GP){cGz}y9ZQ~hcgtyLTx$aBF+syES+>Sggq)I(_5rzSsVJ^hsVFP|N?9y*kkMUaQ}>@NU@67)cl3VMb_Vu-$}vYd<^@m z1soWFi>Dg~D&0ly?GJFKwQ;VpGPq4haQNy%Gm3Z{Q88t?)>}A7g35jwFss3=47dR&t0adq@q<{p0T zyk>^CR+0G@dR9R%%X*9r7G0aEA#-kmKtdf2e=!)zg+YSVk_ee;2kAoC_5~RFuf|U21cyunL zydQ#;_X?5X2`y*uUqrHaSN8jUNKclV-VfzIts^1ECG9!GK(i5ym>cNnHGx9=6 z3%;8m-Ll*X>6YaQsG$9qzRt+AddVoYqJR&FYLA#vCi9p=_|!Ec+{qjd)0*Bx z)EKRck+r4270?~IidwKAsO7*Ar~$qgLMqH9Mlscu$e!v3P^o4@N_8)!RP&8&2JoAT z)yUpe1eh%ka!G+4i7qZ372z<{NF*|pWzMKVv+LqJ+}^Kgckw2g8HbdH&l)sheEo=nh2>0E`#cE^aiLFG!yb$ zRY*64i=gHlT>-U$)D)9G^3cMdu zfeSxwqym?ORNz`h-onX`4`te+^ncHf4=Jnv{I>{`A0IlHmic=>J~WG8DzX)0VVw71 zB)^dLGrv{juW{sSVR#rGB_K`Kl_5>cwW8J>(!|^es!xh;Q5ytlNR5HipH~@qfBvCg zL7Lvn3jAt*zsp;Jk^F(LHD-j%&w5bx+YF^ss!xnO-%pKF@A}zrz8&`8KRXiiPa}^3 zvq+R><{|G&H0Ns1E5nl)?5mO|DO)yd zi>OFQrA?t!LeWlpT0|(Nl#=o(OC&8szt`jWnse?gWi4NRpZ?%JUa$9SW?r+LIdf*_ z%;^kzpzfdo4KngTXLq#krcO&r&O=;xAw-As-S2|#A`cmdcl$p8kHC5bln+`1<%bG% zQViZzA8&%Ea>S*k9+u##G%_J2yUM($p*yaors>gZ&96;iJpLs@ z{;;KelL=v!CdYM#%1{v_ce3jZX8TlFW*LbPy_`781h*NDdR2)0Ww-GU8oy~mcw$}z zD)LoE9&k0b4<>nWojN>I`Z%u9Ayi6t! zHP)IiG_;1g2sWv}4-JjOE3C~yW#k+TqJ4qgOz;>lMZGE%*KCBWDMza{KW{=9vdssN zC+dYzY3O6fZ_ZG4bnBt|(9e*fDZ9={9@H}OMC%wOeV6RnxNf}(i)?@=^P5Zxvw(Mk zx(@G$G**2a(&OD6NH@Dzp;Dy!Hlz;oBd7$rm5}Dy*Fz_u`vKC;GjW5FZj?EoTKswx zq)}sO=u~tSp$1TGs3}w*IsPjYJ@gNI5+ms!NFDAm#6P zs1dpoA*~}cfmDYrjl!f_8E}-(%15%y_K+4llNO`&iQl7>^%F_do@-z)no}Px3 zr+JX_v;b0`mO{$Y7m)Jw9i%+{2q{m=8;z8wT#)iq2vVLZLdsKhqmZZCC_PV2LFK6x zq&!^+DNkJ?<*6^EJPm}Dr{R$DGzwClCPB*6!;tdy6r?=Og_NgvAm!;ZNO}4SQl5T< zl&2k#@|16rk@8d?Ql6?A*=Ixjd1D-EzllvV^lR`@Eb926B;k8A@PmAsgLTztTZ8hh z9dsIPqOXyM@A|8S-x#{0tlKHVuvVVOgwX9B391kayMVV}9~=YO%!d=@*$<5!{H z^sVF8;NM1HI9b=k!;6gvhDYSb5wiJ-es6>yxI#XJ?KTUqG7cl+jiBz~J0Lyw=3ZhX z!$w9H$oI#eh1!pTy9iXzoCYb>l~4lFKWP-Yoq0l(Z^g7crmu`bjGIACF()iFQrw3@ zim|DY^#Hyud5#O}dM_{*q`A@umxE0R?dv-93E{nzo6!4-qGLdHeRsHpcevjmgu{h@ zkcnd72I^TU@qNYTC336@-We4|T`pNQdA4yFZ1zAs)H~b$sOu@ZtHHAB$d(E zObGYhcfiBR=Q2pm;8RFX6YC(guV0M_FZYr@GPPGjPEaLwEF|A5KpL@BgLF;Tighg@ zP2ZerWHY_~u2fIdo}J!?c+{8QvxX|Z)&$Sj^{DMVELGqFgeYH2O$hn=7*rmjp3X<-4BhoKte{Id)n^*-CJpB_;+qOfc-w(kK@>IFrVuA|jKD3FU z1DYCXpK+~^;9fK#^uY67@9ll53#!Z2#-8TaXv=$NU+ZHFnVV3g4V z@pTyc!FD6v*t0Xijnub3Zmf`R8hCnd@$-n#>HLHcEnolYg8Vz|lgK`wQPR9E4MMlDxgk4@h|XQy*#BewO}`oeF{ z6;WiljgqQ+;iZ3S98D(Qf{^5$^Mn3_F7p}AYQj$&hZ(T>pjy%*H}IDGA!_gZR=VEb ztXqS=guLAV7Q(?F-NI)*cA)kp(*mCvD#2rotkrpIsD|24cx#M4nw4mY-iOR>K|M#` z>K1;DPDJf}?^I9^3(rCtF}#IsbPVh#sJ)S_0#%gTAk81-Uujep?+ZcFRfCkHT987V zVPtW7-a4Z$t=xA9^#nK!(ls^?(zQ4-)=h_026K#J@8(Obm==OcYYik%wnOqR`SVD3 zEF|wrK?+gBDE6)eYWMCOP~N3M@@@zu@2-z^6CinapHb3)urcZx)ZVC{Go+N}@_X*^ zaQu-8^8GusiQ)OJ<`*VdGsL{HaZtAcb!DFy3>5TY)Mp4U0ZS8XB&1p$hi!Cl+5@Ql zuKW`EXzaGk1i!XEM18DZFDa|c`dFn{)X)uz8718o?q@?05>k$n%?+6Qscg5n-p?-` zhu+6#6G7b&9)Z+JzJP7iFka2DT>$Eq@je#G;r8+gYQN#H0u|d9NR^ZHrIDr)azdIs z$Zupj0R4Hg0zw!I)iw59oq~2j=(c;iiNBmW)P%6r^afB*#^WJ958q)#flms5r|^qB znP%jXKVp=0oR{f){O*0wC$Yh&7=%JEyV?xA&?gvr40jqOEzjb;RI{&4NJuH8LO;ud z(8Ah-8ijV261Ogc)FS#BSuy*h%q=FU#oUKBDKv>EG4=|ak3O1pTY}yza5<>%c$JJv z;~Pkm3>zU`ZRNgJ_=-y8Tm-x4VBFp~wC8T1tb0ny&sRX24IK>Win__je00xmGeMC~ zMjPG8o^wGrtOdqiY75b>52ZG6jR{fTewz#G?0z;@jD`Oz3s2`H6Qpf|HcF?Z3BmjG zL3!U%O1$q5X{M79kp~WLqmi*HJMzw9%@@9=1B#aA6KH z4j1P7*x)-1wudIxb)Dk#wdlbJb{sM_aHDa!QI7^y8FxWSdlFO ziJ>vSd+*sE3?BqYGxlQYg?4l}1$5m86OuzoZ8af${Wkk|hOLONAf)Q;3@MjAAw6n5 zWMoPBKzI)7ljYc}U~9rJh7|sojYbMz8dCU+jjZ5(pwk1jUvT|FU6NNrDx2YuO73<@ zF-@IE<_)7iObP@m-soTzU>=GK5T@_;OjQ18kD#x(&d8G22MA!IDI(R z3bj8tT>vVko{(Z6jBR2VZH`9mBh1@DU6?Z<-SJ+B%8}}VSoamAhnaPdLhLZI^nDC@ zkG-dD`VYQNZ#FJlyp@XhrfW@yUTfol+w%mJ}8{b z{5ik-6|gG&{uRIH4ijD5Oz?KU9rZ(@-H+d5LNpedY(hBNW(KH5t>+*uKP-hRl5*}J z70R1fVH3iKzK;iMVo?=38EOuxRb6XjZ9JQbcob@Ht6S*?*OZJ99Qd zqTlUD7>6>O09GJB@4A7Xb@DB0ZxBC&x;g%aMM5|YrO5W!qC6;zsz$Lz%M6PSu|*dw zqBG(zL+!6n4Ft>L$JLNL8V+etHwvoGuj3*0Wp_iWo<|_vv1UOktCt`R1m+u=PyVF2 z2(_p9DX0`zLrQTiq!ho0l;SUtQp~c$NGaxplwtu$DVBniVg;i(#pcr8p2$iZ?<^akNp~dM26Rt>;11OT*fH(r@z0XJ*ebA#^nz zL0#K@pwm?cknVG%AWe`hg>)DA$|y{p?=bYVvSi6=FJOkR)!S?c{`h|Q!%Ya|g=0Yt zzRE(yNUJiWE3_V@oV7Hv@RfAQwMFgM>VMGNq4&}cL+_8sBSH1tVBaS`JJFRU$JW-7BAhd_~g8LY0!~ z52$^l{3}?McyriG4c;pkfa;*D3Mtj|j4ZtOh!>-F2S%VD5W48e==}npYDf&z_&rx> za`Fvk;=~{OwH$H?hv3dauhMmBbJu zkK$^hq*p_Ocrit()Ry%dCWL{*yXftPr9yfi{b|BaK;0O=!Xh!HjMVE;dv-U2D(J0P zB!oqil&q$%AmiMin$r=G9>|X|inCrEwYPKtqm%+`dB1}p0z3J=F+zU z+fYnxAvNhMAoa$BjV!(TGQAFUQ{hdZF00$zqK?#eqHZU=A8bOr&q6BPmmuY1zL9z3 zgSI88ebDwPn4eIqA*HYuQpInD6jRP@3SUA=6)+);yo-P(2wxgf$5av0Gf{O&msxEi z%U3mpuaCNwumyMl;m?s0>Hu8`b%E+ZgCNCuEu?|eNF&RWKV^ygBqwjC?(+^ zgDOK$Lh4c$K$>S<31#QkjYbxy-}HY%?QJ75yP-OV9FV%={E(iU3qdOTDv-*f6{HKZ zt&!#3-?i<8x}5TUDX7}H9FoTaAa$ujp)>I52IySq7N|D#Fr+$~VPvs;qk9T<7&L+E zm|lZaii@CTgkKixRzfY%eGMtj+&L`Hq!7_jCWNlPD5z_w40HmaDnY85lOVOAx<=-c zKdCiA?RV3bvF&+~!e0cb6jF_n`lVD>;S53TL#R7IwZglMNb?>nJ<7@a=-1?9pmH)B zItRUEAZN*a@xoEz&l2=-{9UZ;ZzVg9X)>pg5Q^nOR_5307W zhH??daJTh=*&QZ$?{*jJM{*|1<|nuDwX4Kj7SuD72h2w-#US-XRgBChe@HnQwRh{y zKwVpBLAn{87wfu1N~@2NEwK7auOm=Hr=@mE zyR!1>sr@cX@7a;Kg>dspfasVn#E z+hvbVg4^5gOY}(3uj%WrFHLT zXUt_X-rEz?{{1?||HRiRGPk##4@I+=@c)JnI_N&}7e}ClQ_a*X?dhpzGXBR;HIvte z&Z%Z{cVA95Q@{gus#)|w2c>!dj|oe;(vG6AHJlXguO}izuZh<&Av_EkbmlEp5M{gTC=9{c49?&jF9aPE@^&3k(8lZ+3VbDxTTW7VGXHZ0kE2#M%Vuve4@9in8 z`}W@6xS96i+ML8>Me#9$Ei~$8Sa6mJ$NLOiDdRAcP#2VSDJkbo0enObxFgRy{@L zjg{@1CWJ@kQ(f;f2944CblRDqrqj;DB6@7@jM^tex`Ub!Nr$xJauv4GJmC$fi>Y{T z0V{AbyaUn{!+mb+({xi&`<-w)s40foSVWtEo=5F#hi{;dJX&dj=QnzHLN#{?ygLzn zrBSuNo3Av==Fh&;Xr{wRC|Ro^u^Fed)6zskrJrktVxvS&YH$(Z5(zCwgWZeb1|f4w{B2F8b(j3 zK9mlrVGV<{BW?twIlo&WEn!SBG9P`OdA%(ix zC@$)IOz@(<54G)6m1isSnP5BORMuac5GG@P05uV{%`JS&Jjdat_BpM5pu8vt$%`tG zCIwH1%HdBvNYh-6AWeO>fE2c)k)`hw+^H_eu{4>;rXMKf^^mqmj>j}wA-Y=zvV9N~ zJt8F@yZ|ZGt40>eyR5fmD%-`e?U%9b=FGM~A|!cRPR?)9`Fc_=Pz}5kq>1WkP*u{c z73mG;B=hr!qF1uGDP5-|QY4UEdk>$;&)jvY* z+fu#;H5&TaEqqGxH`IOu$$EsLCV=xm>H&^4ve{>mG&_euj~S_ds(|yLYdF z^6pbe-mQk@-C9WAeGe)2Ut(RZBTc8+^BY<0J|$iN!FDiG8OQh!x@{H5+&4&+1*NPF zsckfOQ}?hnYHvMlW7~_MY((2F)(wReez=kO;Pc0$WvW&?A-0_v+rELVZBvoKCnoqc zzXJ8Q;hI09fZ{8xYyKD$!X2X|DBn*s@_;q4wc{vt`8|se9gO`N);|Be2-NUk8KegE z6{JvGjO-HksrO$|mymZ!1r1fm1t1MuiWpf6zR#m1YA>ofpj>MJ6{M(|#k%&8ifWvZ z-7&o}O-Jq5`V2$DJi+f#@w{q+=kj&bc8Ie4?R}JdD5v7N!i2CkJJj`F&$pxZogh;| zRo*jLB!=*7WhvuC}!37*T7P}@;<%Ho4&b={=iZ5c_R!Ad|gu+I;^bdn-V^=WNRfbMOS08ExHH~$hAg#Y$3aQ)Z4QWkpFeGnp zGcs>|VfIec-oEb#mD`6Pjhr5b8j{W&NF%2gAdQ^fhUE8RNGil(aE~rUUDFf1w`iv5X1kzk z;w@*D&1c5pO4{sd?=9;cXMq!a!|Q*H!}9m_pc>6QH}H$_1JphgS>bvw?5*g1%W6Wg zC}eg>l~oXuOUD|;Ra6JHhiU*Sy=IU?od+q@MMiO`L8v{{wV*WSNAW1- zd`4CQrPbt)LhT#Rih^ah5K2R(p^A{6H>*P$!`6m$5!H`>Z3?M_Yz3W2*tU@Gs)~Q@ z3aQi{gERtM1*z$M3+VzbUBY}!3EgEK6TA`DMZGkfme3v{+RU9A+gyVB^I$XCZ3^f* zn{7gI8}0m_kQWg+EDDE$JQ4{8(ZLVk}P;y*y`jq7vt(Exf)hW`7^`d>2i z$)z&c=Q1J0QxJW0hpKFXmB6UNEH6*ec})NO^723Yfw0OAv~V1M6}@syT5s)_Wv7pW z{ceeOe^+Ada4oIc{mG(mSpD63y_lsv{aC+K=gw`?yQfu)zW()l-%TsCKYZqEZ(Yv# z0#n!2ZWgDxypK^tU+mgBhClrRSNz4UJ+%LeFLv!5+T7o(FLv!i4DlDc_95)=zu09F zbWT6FZ>L`Uy7lhcGoz;evR!2Q4%XkZ)pPegF0jhyT`sW7VwVf7ve?rFR!?v@3#|LNJQ*!MDvg7G@lkI6!;6p6 z!Tfq|-sQpknzPxLgZY(>gJxY*-t2x|Gdd7oQwRHdAbzw+sv< zZilot;T}k{PLms!IbvC5=r{^KfCcOe_{^_0g*Cmiv)N;LVq|6mD^12M$Ry4-l z(`_q?;s9-1kz;$lZAIq0-?s8F+g9!m^HTE>qPeR@J8f-Il>b9pTU5J;z}A*_3$5B- zPVlwPHy5c6eeYQ1_Yjz8y*;MwB7YGs_hQ@TQ(67gkzid+i$HatlOSD0y^O47_;mYS zsQs1MSI{ShYj`pG@``OasFzm1fV4`o6)H=-)t4wXp8~IALRk1~0LtQgx9}yY5iaPu zo{GsSO5;_q3Gsan$U$x(Q)Z zNF7ksaVDgpU3+X3L#NpV^+`&i2dJg5v5=PU7Pzfo48fZ;zW$`<9U3K&^P@sbr+}-!?{;wqH0s z5W<#_8!_=MA@gGEWp3>`|E~$2$!}0s^@aAVl`WjFH)c09gVQRrB6p3BIsfNZRA9K){H1NYGW zFV+Kh4!yVQf%_0cydJm@VSm3KXc4ety#Fr+hkB$EthlZJ*z0Qakk;DwA#6q~vcx@# zXd(P}*To*Kd`2%<4@~Rct7~fC-$l@{Q=fkQ)53e&k)htgKC5^4Ug-_fdiU@8`vCf} zscj4Ro%)9xe}R#;PhL4{KuU1J%YEmgmNn?PJT%8J2xAEQiFF*TviH zc)gC=hXuFKIBX+sQtOu2SSz}f<4w^M)d9&wh%zCK*yVjUhgoo%FvwT0O*O=9W z|JgO>_ov$$`>b&9D)hJs*}{ZM856<;ZgsE}kJI&`lF*rucIUQ-H1B!|q+%TpX^Lg4 zk@r>6a<&W(rR8ind?+nv%i%+5Ia^)WfmzO0QV0KXcJx7GbpgBkpz(gKeXBtBZ|z%A z>~if}7JIt(E#p01``g;8{qsy$g)|cCpZilNgj-?%GPu&!R1A zLWrU?s3__|J_&B*QJihW%g~DAN`&Zv;u=|NO8WZPyhI(dSeYeR?~*h}h|F7?5S~BU z7<%l{u@q_p|M2>Lfi>n$)nvU&*Ty)-kMZjW`son8z-AQuK&Txw9MaV$?tD(c&zG9+*hq(Q)BNP~b!<6qx_6k;LNf)F1- z=R+$Xx%p-MYjXW4M0QBkncK)6{&xxcKrUgcH~M!8dry|IRaASkg#AWpc6NDj8KiVG zv^V>8o#ZwlEcz4y6>$|vONDh}T|G#bW%F3q64IFaY$Ly9!k0hw%=Z^x{v7=glKcmWD`7^@YzY3{H>pzEMRL<8EfVhePzmWaRT~szNxMgJT!dE_!5Nh-H@ST z3h_20_jD|}6FlI{u&s!zXy==t{{G|G_LEGuKN|N0E-f^FXn+mW&DnAr9XxAn=v`%wE^-XCSwuguUFsxCh~p)w|f3*#hE zdpPPsdP%sY+xl{82h{%FZ5Q;>DHfNb_vQTopoR)VGh5t{VR1`rG0rVK;6&8Ey#GOF z{fZ2I!4u`T&$5;^!P`lB)YpX9<^Nk#e);HPvk76&^tf84PY#RARZIx4zt;yfN;n%* z`x*u5hBd~>Lb+RaA|!YNnS_aNq%OS{xSQ+2Q?R%L(vbkKyRBab@1ia)cUOZx7hYHC`T6)wO$ck^7lW0E?FvXG zJPc9^UvCuG%Pj~=e&LPB#9v3gAJo;j9E0eKV)`zV?f02%v($^?%^On@$i8(&T*twQzBJJsPWH{Vml}tf zyByRG+_8}MD%_1}^zEPLPFHgap)zhfLa4M8&VDR zfz*-*#=41+hM~_w<;cP-v2Hb_noK;+NG(1WB;5(n34}Nq(i`e$K-!RUE~LC&Xk>Zw zeKOrp`;M4FpekT27SY#~?ndoh^%PK>VrD>U63<{8oxAfMYTp&}8K|pk8>IVsa(yH9 z5P2bW3dck0Yb(dPhLC)1VHC&S6}89S6IASDAjSDmta}O4VHZtwLerAYG|lBJ{i)+p~jHnY-VJ&<+r-CrB==K0F~B&*!E^fX^l6Eb21&Z=j16+ zIr$ip{~Kdnj?+!2lFbjPWRHUsq6DOptrqKQLh`dMB!4cBbps&zbB&St<9m7Ulc{p? zaBTZ>Y`e^Dy_|kP?d6oek)g_|3Z!y66;k>QjO^3|zk{EF+V>ot3u?4;A*AhJ-5_lV z>kVmB@Bm1C<~>GM;(ia9f?$=#h4(lnW#sqMpmO$-8~Bc@w@`auvINxi_6ZizCpA;)9fL zP$vbOP3XP9+X||`OKxtYGzuG8d|rqpQF}R8MeifB;b5{q-b}>8^E3lgo?eBNr;=w7 zDvV7knh-Aj>Y!TfS&&jbKi2hyl)I~q;@mAo2)WDA!c07Oha1LaUkJVDt^}yuRfLpA zLu{kmoq^hOcRqU0-3%~{P2R=AM^kITlPTC7XBugAb2OyeaA6}W5FG zD(Q-;4ysh@xPdprhNyjWeG5=+_FT8{W3w(q?N?nYs2-pvREs3~LuWxlAbB<#l4rLW znP+~%-H8x9n}ms<{qhJX&z^7t_v|^;-t)W)%CmRe!aaK*wR^S#lxM3UdA1H}j%QmS zd6u=Mkvz*`WS*U@!pV=?d+4g@bA;`mO-%67e^b<_B(wM#1#5>x!kpFKi%LO#D{3$I384DFS0I(oTi8Yix*Ty#3+uT zoe5rk=c6v4tl{-&H}UVLJZwTJzvpA?7qECai<@tBbAQ(Q6?4C{B()|asTVZzWR5mU z+LFyT)=WUi9g1cOf*o*%{Y)|RylXXvd&4+vy;%(Ep7Rl;YiSLn>6M?1tjPUx+kx5# z^(ki?>ZW}Zq~a(Bsaq;zWTCuwsD#?@Sto%i&bp9#&z5fM`D}yQ`{fSk6GHyGWauwL zKQLSi*P-`8=M9Era|FNV3ODClGk%`{D)aYZ;a$*_jNhLz^n!hk-{*u~CZ*58IP6&J zCxKL6bF~Hr?-+;lmVi>OhScx=WaJV5Vw5y9ycKZYxr*42B3$W$#z^QD^X=tQFZJ^mdz)uq+r6 zzwsT3U=9#>VNAR{O2pO`Gh0{BWL+B*kEDKVeTG|mXLxod>+>_LJI2;M+}eBW%QIOI zz{DSWhsM?;FvuD%oLe(lPr$@m`@OOC!x$uoZuv#2RhaY9M?LfxCU~u^Lj7atM02(? zA*z+bO$c2~0Yf)G3X89^_=f(W2=+{?LVOOvUUi{B-!KkW_YzPKh07s5=zk9BOu#iz zV}fjeRH@sIEFzyU%X_|3-lRSB`Lv?)|H&TufB5LEJ=|db5A5Xs{r2ZSIit%r*q__C zd#7HPq@|vj+V9fe?b7X>{)eskt^0TCdS36oU89}*Ci8_R`|6Tw_I88&ANSp7I?HQk zr+&97c@IAgrCs2EIN0lN-4{x7!o?;Lt> zxA*Tu4Dt5-~rpx9_3p5ShFjQ?i8$EWDFUSvYFq}k4dFmSsV)I(f1NKYR< zp%lg`k`f(ZhiJA4& zGW0WD?|Fa1gfQ+~V##jK;!lXDn2=Ic9@IBX*_2^Q~RQBxM5$XITzjEzrUYQ{eW z<6b5Nt(p1lsqvjvbmTWS=0_AzSr?7yHq`wo(4KSJ_sJ0#DN zKQWSL`5}2$2$E;TAbC~>l4q45c~%#aXAL2F)*O;&t&L*O+M#yOx`FbnCnV3(A$fKc zB+rIH^6XYfo=t${*}afFn*zzR#~^w393;KMdNVz>1Qu(xpi*F*C5=J?mKMzI%np>{7Of%4*E zNM6i<6#G+Al8K$`5@Vr1`>dFOlQrzWKM z9chNK_cn_^Gp&6}LVeaxCWH?gZ8LO>eLO`odSxmJ=l=ASspuUjSseWDK*`O2_#LPg zIqXG_>ywg|)*^&rVSaC!38C*_4Qe2;7Sgr%3slMeC1&Bip^dypKx$#f7=>xY;wXJO ztTL#0YCwwTbV%`>0V$q~AjOkv6yixk>G50%DxPZ~#WNaGJhwxNXBwncP)|jgpzhN~{N}y{Bci7?NQz zBDQ$iEqvU&*aR=F=#91{iz)HIywRqd9!hVt$>BrkjW#)aD7?{DY_>J*?cwXH2mfnk zchpPFl5|6ONZgE&5H8%UCWN(}gi{SQusZ_MhP={{29XtGT|KBgm)%*AwgjCQ>$*d# z$NrEm&l`;Vs@<Up86kvm(>C~1WP zwdZFK)EV?Z-9ZH!WaNQ%jJ1zfcBcUpm(_PG$!Xud0?K5-C~ zh*!55d9=|Pu<~Yq--A;m`|=)~0`Bj7aDxllOHQ@?F8`=;IIn6J=tIQU3_aV?%U4SH zAAb3&c4PDFxa0y9d^h8iY-%LK4BeSWuQh{BVZiYvLjG{J-X;^m3|x-u4CQVSBM;d1 z2D5!COrecLu<1QTKFS2Q8I5{Xi2P-@Ib1exnh?J3w+K|^tBgG0YHT00HCOyTb$F)8 z$GA|EAMP^_n|r5&S}2_j>9KJEq=;7HyCL)BnMQB5Jy3pkthwFimoEm0ICgX zs<=LM2D(;|W_CJ5JWVEcH=`2HLG+zq}_F6A?5EbNK@etL(1O_NF(dH zkow8jAT`=0kn+47Do@&LAmwiZq`LVPQqAT3&PX{u9I8u*;~?elc&HJ&6Cur9HGx!z zEser6Y#WrGr!JuK)B{qU20+TwP)K>Y1yY{ILCVtukn%JQQl6fMl&5)+^0WX_o|Zz& z(-)BP^c|!;{Rk;f$s3K7r(BToR0vX@DniOrb)%4{+9*9wO+n?U6{I{}2q{lpA?2wr zq&y9Tl&9g4@-zxko+d%c)5DPR^c18#&4rYwcOd2IGe~**3R0eagp{Wpkn)solacaN z9#WpF86^!0(`MsP`vb!?L%#+e#iCBKF1m#8&A_*^H3#de(Y6NVT|4MB+C*O?58w4y z3%@aoU&C3qQ-on1B##N9+dC3eAr^KEzZ|-`pjozbOnfioFfbp}gP%^~Ho`5!u@Tvx&&a7g*b%dE<6wI(Rh1r^}{U5>R@g}h>pz~YeJaC zpJ3=sD>_12?O-=YNXzCgj*xzEho!VM+`f~3Q?fpOJIjQy6T2g*Ua1dsI?efNs5LYS z(%jNgNHz79QMjyk7`o4eZOd84tFqO61DZu}BKo6~b@7ab?W$7wjYkNt%1-wmYLen? z|ge0%C?f!$3$#tQbpP)Dj zfsM&Z8Ax&THj2}}0`;k~od{}h_oZ9-&dKeleX*y)MM}{3^PX*jm;1S>t9Y@$3J(e+ z;I|Oe%YFe3_O+UI#^L3OUqRi0b6;$vv1<`11((|xnWJ9iU0gVvA9`U@Qcm{=rF;;B z=wqKxnc&Vnjrz6FDApoGQ?{i#T2PPtctbZYV`RsAs}Z-sz#p;N8!EkCv1K1DZKtP9 zyLK`mDJ8esdv6oMv(}ZM%JdpYj@}CC^19#1T=u2Chfw++15bqZSNFN_vTiRnpInD z6T*8R7ozr+(RA1QQ`Io^{%XjrU=w`17t$2M*KX^suSe~NhUD*Js6O)oBTJ=%N;@63 z8(#%#crr{%;vEMSf?hGQP(Gsi5MiJf+eS=W{kc_QQX~(LqVs5vcAEsz3j%JE~$(^ z09M7@nUJpApWW8GqdeUdv&O&`jKenPPN1v@Vh~*pH<{q=`)1U3tfOlG(O{!oJ{jB0 zMr~gRmd#QGD_Plm65Fgm{ZOzu=8{Y{rC86sOb8?1*Fjye3$TbvaIp)z z5;9R!jPd-~Hq3YYo+kcEpyyVfkj3WL-cf^e|KJ*Qy)Jw6TFl+QcY| zv_F;}>6qByHVle-s?TB&zSABXe2766H~0|)KO-p1Wl<6dMo}kQ**G|JMr?2<1}A!j ze+(ywuJtRd{SLbkRL7Q-W~2`F2qUX9-#}6nbvfm(G+2!)s3;{=57MJX6G+`tOCxJI z{@!65)c(p~2T+$)7f2(q{@5l4X9i{1UW+~<%vg^^@5^puKs|vz22np_&rDH$#VBpNnTZwgY(PVZt8@D|4%mk{{!3YGmfHeWU&K4gd6HZXLA!ryJh?usuJ+fwTJd9>Dqf+9n-)lj)%DKkPK$?cVP{ z?$rOYjrDsQXU5s)zJ-3@k4OLag#6S_Jv;1KCB}R3RfWHAap83KKl#kU&gaYjuBnEA zfBSZL4NZ5m9bPtv&USdYyD!_}74U#l=GdQV!I#g`h(_BSCprI1FFHB1OM z##2Czbx(&hp1%;%4Y#Y2-A;Yl?lRQAxuq|toBma9;e-5}P4IC{^yYvn=>Oo&0r|F% zZw|=kUA{RWi(S4sAd5YHbHEea&6@-Jxp7iy>~iCzEDrvSlXCMP-Z&Y3pj=NPe|mU) zw4+eo95g!$<<0JQ6yANe?N0eT9QnBsA)1x>$%OE*y#v$}OUgY)>Ng5OW$a&KF-S8; zWgsm9REmFX2`NNtsD=GYYzLhWT@1B@y2ZZ^hZN!_NSE(uBkxVd7$vEG|GrzE~U*-FWu*A{>(^QA^sKVEnrXIOj@Tl^Ob+ux{K`3)h-AFc~ciAuN9lcxP7 z#owy=_ek)>)8|Ab6CDYz*84wlBzUyDDcRas;{NV#QY8DbyGa4}cXw0xbhJ9S-F-Sb zI*D2nPrE;f`aI66F6Hw!bN$?EKXl`J7c`HYudc1V7Soki39LwwwtzGTGs4I&UZ1_b z-v#+P%h)@)kglB7*m`W=XIN&rII_$J$uh4|uq=Yo3#EK)Sv9t- ziDgv7m!tN44l{Ijqpc0<+jg_HK{kJ}wV{wrc4urisNz%KmRvRTM<#1Q^F4S-v=D(1 zzCXPI9!eGc;#w8WQN3(_-KP;w0=2X797w~*iAGk3ZtwtVUre7K+rAE+LbTf;-5s;` zHY$SdRHJxhpfPGMo3^g^C5281VN*nZV=uJ-psnPYdebfZ4f;hUgvR|fSeJy>L-n8^ zpvH0tl0(`1cnWH(g-q}y3Zt&>N&EmGp2F*N=HunER|y?y9IlkYpmu$ia06fQtb*FF zl#^qNdYLU+WLTUNTU>xeQrM7{irUL&kn6o{h9hXH?KY7&&hfB49pUT!vBjgAEFRBf z@oa4II%Eq-g!|AqD=R>5>i5M-N$z z5Y*~gWLWgbY|%5eNYAhsi!%Bs_7oGmiB3hmHNo5HN(8$aRWx6lkaCLmzM%H?{s<}Y zZ0S)HIgD7JR`;+R!4A7t6sr-`xW0>NYfLHq?N|GhJLPzcarBxP>Sz;rjST%MZtjEC z1}>=9&%>s;98CjNS=T^nUbjQKLEQtX0w0C+O!Wk$cK)o9rR&>oUPA55|L=jy{Aw(s zgRIx0_Ius;ptA7`q~?(23dQCdmkO8=I`|@>uKSXZdgJntLRB>~A3W3})q`?-NXXyVfdD<@t?UdtQ?MV`^V3J_1x;%0S9XB}jQWIsUaaq`Wkab7a-Nh>cSt$A29obLLYizF9qT4RYR(@U*$vh=1#d>}ox>JGV*Huk zqkQEU809OcQPNTV@Kn<{>?NpYDCb(omS<zt1JF#6T-fl4?taan<3TssaMI?ORl*IDb3|vU)NtKVKDmk!pZ3E1Z4@2 zqWA4nPq@B?^mEaBJgdPDlv3eAMk?*&p<~fqY-F){ab9kMw}`%|M}<8hV-TVjawf($ z_n@{DWmNy0+{RyaO&Dy^dp~eEsLhPUA?3K0QQSJ)qRuI&F9hXZZ%D0SaAw<4Cb)mM zqORjfHyvV}7z(?a38ApB169}$KuUT&wh5t`{*2lSsn}4(QA&Q4F(DLcCG=L2(zifg zQrH7j+&4ms`#rawgUiq-hU0}lMc+)$tOj)}p>IL$HUBH90#CZe;;`9B1nmmGYh~7-mZ3ibebnH(n&4&74Yi#utj1J!m~8SWei`kn+GZQ@TXQ2Ky<-=9;tfqk1kH9g+_QaL8=gXx!Lr|ma8 z@1L;XhwVJC2CIQHyP6T+CXH~Oe6>1Tp> zCHbuZCtVw+Xb;%7kZ10*wJJL28t>8|uJu&43-3B*% zuWzm62lPiI>;6;mdgGxf{vLESgfOSm+>%2{x6P3-Z}JccUERP%DH>5bZ!oN zdy~(+Epu##cB8UehW4TFW-q5~ z4*tEI(Y;sh9`Jjw?w9*}?=3dlZsc}qkFs#^pV|}c1UZbm-0pUQgmH!Dt@dqPp`g1T zS41C@RgL_`pkWm^)cD^1i{D2r6Wh=i^rzsHZZIC2QcSo1Itbz3evbd3Tz7%Pszk3$ zHrE*YeSR3)A|B<;V4*0VGC}wGw_@A3Gudu64)^)o!%3V%KGw*iEsCzV?=)y+99F+N z#|B+7DB(Nz#>N{VWu@E* z!i1H9Dkg+bCxZ%g5u{M5kV4&S#HdGwFw+Fj*(}sy%f)};Xf`J2$jBs@k$qiPkK;|@ z=(MO-CWL|J1)%2BZ*&XK(?}CMotscs^+@KpiH}xaG9g6rT5SC~7B$^^wOjk^%^PBq z?@*uOCdF@(SN?8PNfRv1lnRW~s@tvL-xqc?3sAXV-!A{aIIU@F_e(BK@76svt?Rj| zefxIm-s=y8w!bpS_?X2`_um6Fs_UHohwozS?Wp6A(-QkI=*cu};tLo%$MEkk?=Pn% z_GXxOX7^rab{Y`9W%gHX@^2mOsi)n|XiqkW&S+2W9Crzo8V0;dLu>aHoJTyg(MRH z&)-Oi=0x?-u)oh`|GsK*AYQdl!#OaoS}3VQ=K)(6-R>T+_v`3d70A9FU3=DYJ45z` z(Ai&MLduDHyt~rS`;M!ym=`RjU{OaFGi9u#XUE2KFn%c*ugoz1Hp6&BY&`3hh;0b&k-VD*O(A|-GDyw^%wN+Yp&6l;A?)P*y32!Avdu_jm#GH zGc1~d^0ifL+ZNl%*Go)rU%R6&m#oLJ#8Bhvicfd)|>qYuGS`SHs7q$(l|`KwE?x4 zr2_`h_R21(eLGnXuryIz4po5$Ksq~bs8Jm11_aywj>*GtSZjRV*xT=1v|+o}8>5Wv zir3|Q#Ap*Vv)D1F$00@bQ><%sYnZF-YY?7eeg>0#W94sB`(dA1$C#JCcQcQnx#=5! zjzsUf(h9rYHzt=r@3V~MGV7~k=udXN$I}44AMDc%)Cr?4A!VtJ+j^(i0kt0{)&Bk_?wO5RPRFVsZIlR89W0i)%lP@Ei;NkEk{tQYcTNe+d!py*f^sSK%K1}_OKN1Z7Ssy>zd*`C&hbXt ztltpQ#nu{9pES|P;`f`-EED`9egd_9=TFvOW9@rjcgUQKCEp&d(xVJK(9uS5pr$5- zKo_9bg@0LWn}+V^EIxrf7F+KmX2upzVDVdUp~f9Vk>YQ7);A&SiERO@p`=1}@a%G^ z7IYWX0-6RjhgKO`m*kiCX4HPUCEsaS6pI3omM1zHk*dn}Qq~l974oJ<(d!-hcc6 zs!ObQx4d+V8%+onV?bGa;uhZIHksh9XEW-@!>Fw0JtjmG42?|)69(u=7`PeLC}FibJQ(|QQ?_^`va*}aO>H^HCff*fsc9K8Pz>g2F@c?fzht?NOR=gpAn zX)L5W=UtFa!JPyt(&r%UJ$>28^5UJ}YX~Xc54?lP>8gz-U}I`yIn)UH9J&Bn1Dy|T zfYgcn3gt(abf4n)uDY-ZVNZPtP+RiLLGq=F+qy5+5mNk(j@p=1lrQx`jSZSYY9p;6 z`PUXYopdjR^g75Dka9iPDBQ{?>Sx9H04QIlLGom#EJLY0iJ%T|8IE1 zCiKZ+eE&0o)hcoShK)ZWO~Qc)XDX@>fVsK<(%JRs(h8J`K{nr3Iud z=I1~Pe}PdPz7uK>-wjk(lnxcgsjDHyG#pa+QAReq>p6P^A;o`q3zo@ykhw?{9~y@g zR)F>S)Q#2+70kkb);qCb&Z9G7P0s5LBs@f>bIMAcd)B6z8fIYEQl%s9d#xbZ=`1 zsr$YdQuuC0mMb6b+=~!$H3^o20MNs8Tr{QmM3r6sE0FoU8j0LarVZQ$GtK>#g8V zjYB*A3e-jR9R|@|KV@ok4P`S*x-QZ0`d1@FC(qnuLYUN;<9fewyoBE8a^K0UUzVZ& z0)1lG*}fUQSIAaSH_U{GjC6a+Ze(eeRy#Qcwc8d4Wm`73t(@7meuiz+*tS({+ZNks z_5TtRywB*4dQ<2#-axRXpi*06LOAPX6)1;(bPK20D(kZv^7Al>G+Kqas%I$i$xFzI*` zLfWT+O1mYbwA(;RyEmk?2SZBxI!I~X3n}f#Af^2zq_ls7ly=$2E$yUGnAJ@Pt?>-> z(LkYXhQ1eiySJ%AhoJX9{2sS={qzj|0`$qzBNKYBw^g9-4_jnRIi$=`njS}P6T&T_ z5~vq$nq;9PCk^l1%?9hLHcpqDTi2Mwc!Phbn zZpdW&BL;q=c9xluZFVDTp?(i2fZ9{8iat4947Jevb4z_tz0`S-`juYT+K0Q9;uWa< zZJD92_t$oYqxU#QgNkDcq&Qx1TMzgeYIo^f*Lxfvp!YaF1r^6;NO9zxmC29%CImkU zyWZm{iQeO=04k39km6|Pw(dtq)b2-j*ZWW@4Z#YB8c4^+;~NAjzS|)EJPp&RY-XYM zsGoDa`}7KWkK=7naeNLbj-TAt1OA5EeailX;`TW5nGoVQ8dMyWAjQ$hZM}}pMD5YF zb-l-N5qkHd8>l!2L5gFn+j_u>sNIjruJ^Ke2qBcs3~W5Ur$NQ{E~NNYV;YssI@BKZ z7T3E^+tGU*DNjam6owQ>H6x3|1J*|EJ~ec`$8iRFkK-IresqTv$JK7@Wpg8Hk8X_X zJ&rrkdmNKM#ql(xI2O9C2V92Q{aERGFPl{e8rbHUZIsQQvkDjo>tjLnFXbTh9#tVd z=rw_KZ|GoTSFH~mx}x?wW?F1J0MfkG)sSMk9ZI6nK5As)J;z7RF~QEH=7%E2;VHQW zsP~lXK_~Ka8>lvPAygMih3Y`Pp;MtD(CN_iP*dm@s3Y_MlnOlpT>?D|$%PkVuV&%;~;YSw84q(`MOkmhve7$x~?z+9Am!&m@%t{_bod^d5=P@DpTm+QQr69#r6OyNmjlxK?6-vKToC|6qqXSf)^6v_1?0ch;wGD5v zHz8PMU@{gHuZxMG(z+j#hmT`wJ3v(`Pi5H7167vqLWPLx3rL~9Gm1m~gxbp`>obN* zAups*B_M^WVifXK3#FHTJy7M}7*hGSgyeo-qp<7rN|c_?2vF&aft1eekkXlKWM$!b zdJMIPdLC4$S0UBf5=gc7HKg!A7zIDKqjWzLpEZ=9IU)I(ACjLZ8zrTN8+BXM-e}qx zQg-e6J$h6AN`Ch{_Mq_lP<}5J=Jv*$;N!*#sBcR0QU13G_6o2@y_-x3Sxk7&uo$Tv z4r%OG9FpPrMpjq;JlDenk2wwXZ6W4qZsT9YnQ21s?gdbD$=|w#$Fj}@k7YgT+e0iz zJ+G8}L9nC=A(k?RZeA7(`-Fs=c@r%B8vw1{;`ZungsrMm(+-7KXAjjEmRj{m@7}Zf zm8o4DTybfo_!#ll{X6wakF=NiY4r8ex?j>OwQH-+JyN@**S9^hoKtUGe|TqQ=a*4_ z7q2$W?(H_!KfZu#3$1^6Maqslcc1E~rSXK?d>P^9O`*!ct>yot8hMm&VI(O=FS)~8{HsIe~TL07m{u;^cW*e|<4xMel za`%9516Hbs&Ng7VdjPiq|960G1AZmhznpp0K--{PS3{MeU~LUWOM`kUDP!cLhm;pB z*lQu!i6(?#bwCf+093HkjXYQ*qog-NuyhPOwW~l6HVjm->x?|u*9$Dz+acI4cOt9! z_H-w*jCZ#aIodiW<6Ul@lf|BHos;pNZk?0yA+mK&z8)G|=k(NZK)24RaQ1NPoV+_A zTj#<@>-9MHrys4q@&-Ff)IOr7g_MU862o~4Pa=e=)Oli_ecp1d=I7sc)?>ypW51#k zhi8hh3PKcP9fS~LV=*zdcCBLU;H(%gGWHnPptaBD$;ZQP^hnf|6*M6{jUQv^=0&iu z57W#1B{%m&YUg9_dwLe4PYiRoAE5VH>=mF^F4jV-)!*FKS2?ndFttxEJQgFK|LQ1g7ow}%1wQi zYCLM60KW%)bbRGx^ltJfsCM@hB(LW}da7Rl$=4M|=7MMNOVs{U|1GFFkY6F)J#vgR zQcU?E#a_?Ip1}QK{yfxfd%hw0y^!CtN3(PM?z3~3p^r`y9Atvm<>#YJ9aVky(X#Pv z35S^witPwPH$M`K>%)_8ZG>p6UA@@mG}OZqy?MNf5S?%Nwh5tmEOxz5Z+?W{i*Y5W z)rAd^nn#vfm5%S9$!0>Z%?GMbk9G^6^{gs^vZ#rHx2jV?HR;xnn(jrA3N;ndG|^Hc zt6nd&k5PNG{Q{I_$m*!WGdE!ItBd+RGAfCjV_xD~>|OA>v}7l+_?b z+{nnwyNOZKO`*JRMu>JK-G#O90-O}|YBMu3^iO5hzm}nYC$oNehW_)+`VATSEt&O6 zW8-vl8k#>o1C-kY_c;%0`zEbAnfeIP;iOGXNGU5f+k>*`VdMeRuzf28d>kP<74TaZ zR7{(U!;JN>pdvYJTog$@qojGEDjFczB)_VnnF*mmw?*%Mw--`D9o<;*U2g17^+g-S zH`z@*zDG?6@jZjy@hvs>_&z}UNVqyGjyJ((zvW+b6T%c{ZBP?(%^+O` z?XgV^Ro)qOSlNv&`nrX8Edx>egz43wu9MMj;WN&+ORd^?PbD!E?L{bscXG*>5-Nus7Gx4VKR_gDIg%5}q<4`l@(# z6G9Q^HgxkmSS$#4)KlHuKTX^UbMMmIg1RfGLfTVysS(+_JpAp?FS_6c8hPYb8O7DJ z1R<)PM(+j;<&lTvS>KSf==lDj{w(nBy^l{9+ex8jjp2xyI z`=Fvqe8z<6g3e(=xEAw)YBhx+tqPQYR8CbPg|83ko_0a3>tIC1Tx@^sUhPxPolI~K zyP)12(w~N4-w4+w^Qs9dmJiU{ja|ZuNV~zczVNWcgwW@1cfA)^j%O8A*+0hE(=3cO zx-T|Fh}vXx6GEG88JnMlMN~u+5TYWw7jwTcO#xLzGa(hx(~yej4M;__3{nw&7wa|| zQA9u3-?)f=G{N2d8Ff@d^`0{!Dx!8Ks8o8Ojf&{w=1C zhOwtv;B|}e^F(hr+uu;^er80?`3Sf>3DTywoNq?d57MtIVqK%RqF*0}>}&Oeo?{%w z3on7XSHBCD=jV^0vMLoLE0t`@=r$7s$!{yF>JmzskWx!n0n{duONDaK8(Fz}d^1pce9wT2FY7xVU;gm-X#4B&6^9gGImmDLMsa*+qxSgPgNkpO z5#G!Rf1l@d4{yxS} z%I922UM++a-!e$?eQuO=d>DajF~M7A(RHSNKOtEQ*U9UZW-WCX$C;4QRQazBHX_w# zP)+Dus2$WB(&F$)s4KcVq4S{0P#fq`Bg>Juyf;w$F10T}UDq2SrML}J4iYyQ9Z&dU zp_8DRP&KFtR2n)PDhZu$6sMDp+S3^gDxG^Fr85muIx``q^A4nRzJ`>}7D(x2`OZk` zWHYkIi&Bc{7}VZ~PB8Sst&GL8EPmNvju4H~9z(Ex4}YID4xbH}2deK_Y~+zF#WebK zX1R@-BI)Xao)CLG>o$Icao8Mi4XC=k8Pdbx1W1AIHNp$!U<&H;!pA`M7EeQ3f}RJt zYew!`{_idPrz*aSLE9Usrqj)Yl#>-zPp~T4902M4iJ?#fbR!|ZXpAhp*VG-T{f_@& zZ1IR&_&&B-s83P~&w$m5?M3J`=nY8C?_EgE?|tYLe*FYeue#DGWaVT#urhiq8H^A; zmb@c@a7AiLEq_ZIhyK4jC}mwp#nH;hBR-|E1^PU+f!-#h6jd2bFm#JMv54jfdNxrS zK1YylLg>`5LLbc$3`6gOmJy&T^A0FGem>^5{xtU_Y9B~F2kK_|I;1&*1(2G>Cy>Tg zYavyCa??nc)rh!r*xz`LAU8soBRB$6A5b0x`uj+b<_PMzsXw_kK<#q`&Cy451g+7# zNjp$Cu`ZCj?g43zU?3!4M;Mt4p21sD`y9apP;&&+AhndIA;mNgQtXd4v+&Uz!Rsc3 zIfD6y1E2J5yvS{ZPJ|@0cYUMjkdg0|@7!wb2bB&3w#o9+O zBVFyyYYck#0gRE z8WcW`5Dg07G(ko8G1_QQ_(i1M>{=fbZZ#oXmx-6j+KV)=3o3x)j6Ka_Xg|x6tm~sC zLUebyzy)TOqJ0lHg61VVs z)^PK_*96bkeW;g*>REx181}AgGa;Dg?G>3HW)#=vDF{(*HgiF>c|mO70c})0_qd5y z&twyn|LLyv>X~gqsGe6r6~Vi1;rUtaf~se;v1elo+NgT2?rlO;J;O~1)iVlI_1p=m zdhUl*Ju@Ix&x=NJ^}K=FtLI%%)w2?kZ|fjc&t^!~vo+S`?qfPt&y_}T^^8UB*%@z0 z_1wYlQT0qS!SnS9>Zp3wAVk%Z^>T~Dhhl{c-TWA%xO$o*MAdVy3#y*f*uERu=wch? zCVsJvHzBxqXKX$Zi>NkNxVhKnmnNt-*SXefbF&GdHWT|As>E^|#TVPrE~qxE8GANP zL>txSN`$C3zcwM%=6X=I`7@;2{0&lV=Iv*s+AL}m*Jf$dUYiv`)n+|NzO{f91Al>4OF1CIqgre$iNNo<__oy~UnBe&ui8`vy`3O;Mer-ai&0k{ki^iM9 zhgp*4(2WSul*3pPLXr~2teCpRfS7YY40zZ3eS4q3?o4;jv^~?)cW(R0Q}6oDIywI3dN&mBr0!$A$E10bELHF-!Sa$Psah?|xaWNWj+ zyJK)VnIDDBTPOG&i0(t(v7jDwJqyxUUn4L|=vc0X?iOooy-ZG>!thw_jQpo+9$-ge#7~23 zfE|OOW5oH;F%HpX!71=pgBw$mxlnUx0j{~#7lz?n9z%XE<=Fv4@&QmP&mqC7JV(eO&77x%;k-{pZs7#)!rNIt5U8wQDm-7ob0f#R z{leg~N}rW>38S*BynBEeP<1YSq1}KB%ORs;W;a>8DiHFD>Z{(DSPo z56X%7JZE=JIG^I}m&j^A9jJqI1E?vk>q0v5>=+cW_LB%ZAbYQUK+TZT@hD3k*Ool) zEIeMtBfmcROUa|zGm(aJZU-snUXXI$C8)@G3bJ!P9aPRY;E{8Fq2%#i;ZgQ%m7H6K zkvfv<-?j@c8JA++2NP0I2zM zJRbSn>4=iYC56W$c$BBlRy>XDKKLd$n09&(8U%d?wSc}0ioKlkFUY>+(fE1g=i_Oo zFw&fce0I8Jc!_=d8=6;zk(%}Q*8PmZ&FG#d?*KK|KL#m!uj8A)(eZZ4_ajipmap*0 zuVwy#>}9~Opi=wY3qf9lLORB80O?ZHjzMui^R1w<7;zY)>PH8=R#Q>)oz3}n@tw^F z!blgQ9s_lJSOjU@zaB(V@20;?*`kts9OT453CfdXqZeblXR9uOcGxtiVpGqe171@3 z{0oC4Z0Ha@AvjG;Cs_7mb1u3krYk{BO!FZXa9LH~%9lfSr)UUjVp<>aBo-90@kBFT zvO3`jRrS+L`kboz?Ir!0s`}d{{rjqV?N`WF>8}@9zZ#@ruzFB24Aw!mZwpYvpgkUW7<57QFz5j) zwe28vzTF`WgHe!%!S=7k{&^T2fRTp5QNga&6x2Kn=Gn!=;Jz?Y1Rn)83|@xRb6yQ% z7`&bSE@6vG@?lUUK4@p&%$XR^-2bonMEzg+LA!Y8WXDk>$Bs;|mgr@d!$u!5WZc*z z_aD8_gmDL#UYgk@-isMGp>zBFBYv^lUw&U^z{rXF4;ne%j(_XR2mki982xh4pMMYL z&lL7Iy@~U0-;aqb|JG7hd0~SO#{c^i{`v>w|C9cI;dg=l{oYahQ4_|DKXmlLyN?<< zYX8x@PdswsgmG0q*6O!-0~atE%g__ z9}`LZnV&HFH@{-=XFBVD*SjrRG5m#hTRN^AkNO{<9(@~uaZEbV+Xo|7S4@s$;56q> z3HF@(9qLJG-)8H{#iuH*Y$)UI!S=tnS-9l;d!3uh-)B+bP&pO@i&fHKB~Tm zk?!xkj%zvt0(C{=3#c~xm2Dtb9|CKIk?!v`K+pI0)Ak~9%jz+pdg_!Q*E9camgIlf zD^&TX36$$U@SUXm(*(-*ul_WFJpSqnLGt*|z7XUL|AU_5sgt$+3x4Sx4&c;v_RHp9r*&bJ67jr^?wo!}K!-5;;&{#?oZ zrNaH6|Gfl7@5z`miq9Fo#spGdv&d)Y`71>~mGr;y_Y$^^39@2Fg=dfF zFq))GTZ@=FJ*pGqkN_&qA zkITxc>$=SO80D4qaV)H=`$lQ<+F=w%UOSAz zNNb0K;k0&`9_*SthZ@iA*QA2qg;BYt0%`Gl%OZ?&KNOP*|nz_8faCo zEbU}g^mYk$o*Rs-lIJ#Iq&x=)+G7YFInSvW`8BDNFjAi9ipleGtM%dEo0aF>V5c}` zeC(IkNWaI(k5k=bL;ep1+kfXn!X=-b--nT3gn2ZKv_^W`y3fvELibwY4NzhE2+|tq zCw%ios`3eiZyiu8i-tkP+4)+??)mG3O06@bzP$yc^;CaI>#0dW#o77k7^$@{4|c6q zJ2ce%LPURz{DQ@HVWg>cH+0{i*h?5&%17H-Q93Nx>D_%;xaOy1$`5D1O5c>O9Yz{J z4Zu}Mq%pKA)D+Tv;7*Y0)Em;eX?UUS9)$m%@i$`Q0X#Ac=RXQLKP7WLMt(}>;V^2j z=PRiBDVaZJ^>eG~>GCjAtbeiYi%PYR(5|ZUTEWh8kTlc3t>bx6JU6MXa2U|%Eq&iqe>NBPn6@VdBm z7%8;|p!)ZE_VA&sg=Do*XX(POV0s#?kKJ|Ua%;TZDBD~1&=`vDlI(?^Zv`I`hHE?l zIY04w0q(wqeO2Kxae8>E7UtG?&_R2b>D?i--$w!|JjOZn1<`prtm z=91J6DxQ>>iIK<3>0zX?avu1*_*Z@fq*k~V()jrUq$XV$#QrMYGsup@%b@0prI5<@ z4WtJXeuUPEf8}MzWvwBkG1)t)cv50Gva7RuAp7je_WY#8_%IydLy+T135|z&82L$w zXTnHB_U*#G+6m#2heIojJRCZNk+SR@=+v*oBR{{m-0pskrP|DJcaNaneY ziXPhm*%9hmc=WP|du%^sr#1*w#|T#BB1?7T2sz@>)Ubs4> zUbs%7Z33y}n+FxWa2I4(VrXC(<-4&x_rg8GaBcQP&PSqaFmi2f3?tR%R!}9sA5yPh z2&rDLK&s9Akd8zv3a#47&c7o57DuAWFr0r)63w>mE_9;}wcvfh&hviMJo0|Fi$7-7_>@S;2g~+>cJB~W9Juzt$Oo=5Hp*kC z^2vq&QK)&baHC!P_T;T$q-J>#-HU~VLehB3&MNL7gPs3&mxSx|bQNGKMp>nQ)plkW zskj#f+Wq?*!Xu8eYMX&`+kyEE_c^G%W3G^D-rTX!$_CTo(Ah6z5=Q5Ee&#u zRJ$VfT9O)nQ;az6RT4eJNW-~5s7!_idB+v!#7}fBN~inX&JAOwly~ni(rxv@;M(N9 z2c)ZZ`#>ts6iDScEy&6C`aV+1Z)5x(BcDF}AcM39E|aV@h6Ja9yelYi45SHWN{|yi zcYgft(`{)`ynzvq=cuBq-yB8@Pfg8((~Q~!RHX+8IgyLEiBpd|yrHu{9Tlv2tZI<-S@N={dG$phjUEr~!4|5>jG22RX6hH?J&R$C-73Z6$y{( zRVCq@Wsq?B7Lt`l?ckJf15jd9NC|fda>APi6$xL7kvqYcGDx_0?^418f>XkSK_xsA zQo@G@IpM>CDjrSEa5qM+)Z3rH+v|_F(DTKgPfL2)mR0onVI=?N==oW%R$(}=MqAXV zR`Ef)_;V0O?kk6ekron1fjU?p3#nCRK`p7{rO?LE9H=vNL$UQKNP9dBZOhhIpkdG- zp`p-w#n$S*^B%Pzb*s8TF7RDD#2w{4^fuU0H=W&2CdweKM=UGAPX(u_zX(cP0x9at zf}HSoabLOg5N_SqvtBQ#qEU6t03(9a^Rb5^r^nhpgVRr0ReK}vSRPcdj(6NLIRBmv zvgeZ^Ed{O!a3N;1G41n0aN6fRWbN~9;rbm~tLn9=@Y-*NtIuRM3v^oDgE)26ey_h3 zMsC{o!${XAz5#Wiq{d>>Ahp$lqN{i%+!iDK#zE&`6}UUTI^paObz-mKkiJ-T1f++8 zW^~Cf0v!tVfzF0@faXHm zLw7=Lq4%NI&?@f)=?=~=kXEw8f{MIHB0KLxLFIiSq`c3Cl=rpJR;2kLq*6Q!sT7|= z%6rXsgOqn)NO@lfDep^yioCBzcHR$w%KLRld4C8g?`rP_Dev_m<=qL|k@D;SsT6xd zD#gu^O7SVAQf#>-NTui-RFq;nWS3$Ls8SpYsT5~Hn~={fkjnEAr1E?ODengF2PyBZ zA>};-Qr>Su%KNRLBJU57op<@tK;_*SQr>MK<-HB0yoW=|dpe{DTnVWZH$y5#wGV<+ zitdm~aTcUfoEub>;!Dm*OB$r8pi^Db9gZid!L-;$cXoSOTdO-#|N2vQY<3E$2%aO6G_Qjcqg$YcDp^qM?-#@$LiVNJ*T9;1d|?mY%&q@fxF6-8&1oN; zPH8#@;@g?cho&odJF(s8O}nJ+!`SYd$%ljKb&uFKmNpw_&%LF-YXg^*ga>|15%2OL)pBONUof%0e$t;t?(Ass=wLCR?B zpeT(mpzMt76WTq%)!1uas10-wr07iwifZ~&!O@b{J~OQQ=x`Rgmq3?->XBDND%Y)$ z`r#u%Q3fByo<{c7_*cPI$ayiO{g*;Il71c(W$*|3mm@b<8Opv3RJ>M#IC_Dw}(e-RO^6cMP9L_c(eDY(fqnLyG1%kjC)} zXj8V<_&!KwS`*UN^`Ta5?G_Zd`iaLO7;3oPMLsC+kFy`*I26-?O6A8mx*+?aR!>m*Zw)oWcN(Oi z-4GN@G1uiGj0#@^e;!V2mzUrp9fog%(+SA;$Tic$Aj>h*&xDo#5I!E?YX(M7a%L^i zUBJHR70GE#7%I)NRlRF350^5Ed#1=ixG*>+cO|IV=>|JgS0eK;%Dv%9Z&0XT!rcSp zkCr_uTKyRQd$>al3{G>+Hi2Zm9h;|AHc{H+*zURJkhJ|!wm+Cpq>shHgXIiR1M5;q z1O6IF1O6UJ{pN+BV!$s(_JIEoR2Tgg(t!U3(txk=Q|y%oeEl%eQDa?D9xd_6HyXMi zyF>K>H>7IYN`xjr8d6gs1$AanCBK0a6Vggfw+53W{7kbu319G(HEl z*D^>`N7>IonmSerioE=$!kWk%DBdkVb?*)mDQkB~hr6u`Z5X7>jH4k%?cksy%_(wK znkR!w^Bjq!c{!vsuPd~BA*J~Qq%>a)iZne)-$eGYdI_lbRsIsB#dAY-kQVj#1Vui6`A_&I5z(X<(%7hqB$N9>-P> zy(>{`rPbLj7}3Q@?tXmS!=3`wLtcjz*LNZHwI3k$wUw*Yp|3eKjl)ROd^1qXr4CRF zlJ5y^1Z@kct#>N4y&x@@#ueIBNQa(Nq3zlC+(Nqo+6nEZLc0&r*m*A~D&`sZYvc~< zdkxD1mCyQ+7M!gMttZr-GzUOx=j|a)-@}3;O)sHFBBxUgP$8TMY3!eDUx)l`WRJp& z(PLeu!rX=KHoYg1eD7y_?Ue9y7@B|=7xYCzzZO)#Jo~LDa$z=ir;8F&Eh@uKPgUH(Cg3G(8U~E+0VZ8DBse zKV=m`>SHSf6=|-5>@=H$N^?UI~3%|VdT+!<1u`$0-`d{B|*5y(#SWKe0I4Jpk_ zAf>qgQkr)|O7j^=X)X#X(tHcqX?_VR%^x78SzbLzX*PnC=K7G*>QQ1O0xMdir2e%HS2XDxBXVaano>BUM8kyTb8c#cGGyCiTseg@zG(R5%DeuFJ zt;ax`+h;!?DABv5vcOig;bu^A*~J8g;bsvkjm2@ zQhB--TepBzo&k``GXzq3h8J7+hE$##gW|y!AHVKJ_Ehi)sC=GP(EcfI2~=pf1oPNO>I{6nS-2A!i`FT$h6F@x7+- zy$@1ZAA>Y=EQWM+_%J9^@=Jf!YK82SYJrMh8%Rgq9+39m2~wSQFSJRJPFto1MVemG zo?=52?ghBGMdyGj!2^&|eFfL@G-LlM3{~%2tDca{YAfkVs#qPa@cBvI;B=&J4r;V) zC=u7bkmk{mK`|cun$JnyyBU6JK`?be~B*3MxX+Lh7AM zp(f=01*B7!nkxlq4sQ??5pvcIF{*nAH^#+-wHer)6xu;r5A}kSe*d6I!Sxu7?6bEK zU<>v-2vQs-RrNi(xAs@8mtT| z+8rQ`+f9R_y!IVj^4+!YJ+knfZeNeOlaM_cXM-B?*Gr_94?&8^TS1Y7_gX3kHPi}F zd)25*QtY)Jq`kTaMSXoj*9Y0%c9?aiHWJ-^;7CyYcDh7Ty9iP(uL>&4aDyCFhKE7z z^^`>RS^{aW&w^qvXYeJ)B%l7&UpZX7{`_5FMV;ic8b*yutu^`w`y$Oi)VIs3tA@vg zkv@0&OyThy9_@UUev^8^Q_~&F&BI6;ZH1l(?>6Y}r8}VK!FeFMms7`s8r|nW8Z%ep zn@_gpBfAoJSoga3#V}m(myz#@AwXDK*4Ms`R>Ei>Mw&1-1(kYFc_^-Z5q<77wAenD z?fIqP$u?BL8Mycy;Z#uKd61@`OL5H~NVq)=m+nsFW)51526FLJaqYrL>%{J$ir*j7 z96b!uS?s}(&NC)K8q>!?8hd9z8r`!Y&EE4No#WgNbt4v!LOLS60QE$B4^qD0LVeLz z{#})7G`FFiGBDUx+8XttbUE)(jH&4{?CJJbJWhw>L+vDbcChz77xk=iH`b6+Gr+c0J$6NQmmC3Vz8;N7zN9%G*|{7JsvJ}Ca4cpZdhS0J z)U0-K;dvvT@oc%`b}O>0dbf37t#}CCE>D1Jo0lQ2jNXJg6St+1)|H<@wb8x{iX42Y z`)6cdvZ}jkpgPhTkjC@6h1L>MtF#Y_nEFW81=%I(QTX{qr0AO%7vo5Th-&ElE;^Y$1;1kYb+1L zx&MUxSejwaU0ntATlyD=k*)|_32Gv`5z>CRukISLV}<9xhQX=Hn}PCfgG0WU)*0DXM*4x8O80_Pp8cSXhb~j!GsxC_*b>q+QjnB`hvR{TF_zE?C z%wEP1INPDxnyQN%bFDDkCTk<-rweA{zB_8J%bj*{ zT^+(y zA?15ZP~_{(?nU;D^9ZPTKLcqA@*2KV(+T-k$S%P*ft28TwpXTem$LPWwCaKy(hVV< zr#FREf{lV=FE1H3NA`7!tw0}Tp=RW;6QrqiPe@l{_l5ei^$@5XbOfZ;z%fD5UOvw| z0ofs*1*(3tAx)^)723^^>U>8~?CgDUb1SzR#l!*tzjXbv1y_-|L$e@a#V=~evCE&OMp&MNl=eBAm<-w#Zk z97Z}mT#$4fEG{qUH(Gb4??Crhx*wGDLVNfy^8&KxkUxStEWZaSnqNa&z?V0Ta>NfL zD2du(q#0>da08;%SR&LM(wR$-ptR2HgXr7EyMb!Ky|q1^m5xF7g7R=s{b4GkOwYtO z|A71X$ZoC6K&5sy9(k_`3&8;`~)hO@@7HGW!0b}m&VA>r75UfTH}#( z>4@xH4nRLNh2=POAF*cy5|tC#UO$c8S#0+i$Q)29-vFtP--~Z~YU)Rj9r&j}b*~rk zhy$|<{W`KQHN0JTe27PR`swN)!|>ev6S5bQ?V39c&CK1yNOj%Px)+i|&|Q;VwL2$}(4N$XAUpu%U+e()64C~Hk zW*E-rMCAN(=sev0a_B9E#{xX^i<<9XwXxSxebei!C7jQlRlV%*)^mx4Mheg)}J`2(bbbN0CUT0V3vw2gu& zZI}2P2VXC+Hx0wZ-3&Ru3v&!cei!D#Fx260K+PBYZprE+R(;rdDvUH>U$X9F^kN$d z(U-x_^DET+R_1!Gm8YMhZ)-#IZ;xR6_e9Mxnt_pHbZQtWM(2Qv(PfZgbTy5{C0%ikxG#VVf{=jQWM47!5_uG1@b$hgfxtjtC>gXqt7$ z=u{hu(WSx8^D@*Nqo*-q&8cbYH5-c2M}_|vDv-w7-bJ10}nv< zit-Rp2f=Cf@YS4|lGVG;l`gyxOz$wxvAcqN1K#dXw^;V^^G1l=Q^M~RtX9ZN52uWQ)>b$`W@`y z=x-ufA@3tyH~>u1-_h=h{&2h<{gIX({r%BhlJV#{`qRU3jgLdl*EBxI$V=-UoiK>l zX(A8NbA!{ky%^NEy%AC<9|&^74+RykrdDjEgx!%>3PZJNXmx!VYlV@ntF{IelFs&U zALwO6qj6ZU^VtnGznc0GMxLCX2qR6-&x1Ojd=paRy$kuE2C4XEoxQ(GR4a@Wy!xQ3 zx;~_-rWNFSW`))p($qgVD9!|ZjdXuxSK@#`VtNqU^Q)=j!fQQ9#oLGfE48Zkb=Bjq3s1J$Oi`% zL7s{1N}Lo(kWXcM4)WY4%O2B)6@y*W_TeSBkH|4PFgOjw z37`UZJft9>ALN8vZx*}fljmJAa>BdYP+N}+wtxF>;gT2CJB5)J)k6dAF$|BqsGfD;hI-$)ed97bWEukM(VHiK=sW=ka|=TNIka$q)_$>iv4}I+7HcHF3u@g3FQ_I1?Krzhhxqme`;{kN8`%C|H5RO!D@;je$H^grqU7d}<` z@Av*&KUMl0QYb!E`WyEBzdu#_8xp7zZa!7|8&W7fRr(wDE%g_Fsx*?=`_TTQ#~n2K z&E${rcnI`2|KL{8zug zsH4e$`~}ARNkt|2&;Ln974ykBw8pa0-;nt4`=p}s`v3Wpiuuck3dH~Tml5+<{M51k z*L=kZ^O21^((+_Y{+V zz*qN_&&*@vAdt@*|95(V9U~20#6=9&$7JwgB~Lbq8o;t^;ia>8{f@ke-0t0n&rx z!yw(X*efW~^z)kgA*aVRKt0NJ5+3>4`71Fd`-17+xcG9}y@BNV0Gs{d#H(ODtAPA- zutT~6bt8v#de`8x%2gH86T?W42%Q0{Vzcbw63s?-NaukH>1~ig`Us?uz8qA9^iAZZ zO6^@xA^ikWNWaE6hjcmehVrepSzs&5UK>)-)`dEvZ2)ZzZ3qp7IztL+x1b`Vy^&pk z?Lmcf6dpOGQ!pm`uHkvOIHczXlI}%pc1Ujq(}y?~1v{j#p*~#AG2N=0T-;5!2_w~g z2T(N|W)Bx>A7sb$5Ku8a0#Zz8LW=46K}Ae2Lv}a48dOZ@L5k^Z_~tHkj~tZq!=Rof zdm7S3_ctKLT2B(-b2_z=X*zAV{yMZYtdj>luBT-*SF?p$nTpFvN zy%|P&i~n6vPr`kSN4{b3J+fm`zImWxvJ#}2G=db9)~6W zygk^A_S+YavUIERU}Tr;Fi=M-~wdd%X$}79GY#Rbp29Bw=hym4*=DzhT~DZpJDf=A0YLmvfhzHMde0vT`7zdzD)v2br9S0^JTlR-N%W; z(W|FNCTC)db2qsLAI}Nb1(L=MY(6|y?rFCB=EAdS`wMKJlEU*f+x@i7w`uz_wjY(A z)Le7R*zUP(tw7RWC;nEnNzbo!4#T6h3-a_b&tR|i38SpiFMBNxBh55RL5-Bp@yMg~ zM`U;K8e0WwwAO<(TGxRzTH6K1UOv!vLG}!`Ij9KtgVf&J;hRV6F38SdB&afsfizkt zLE7tRNMq?#NTcX*{e?&X|HWS?X@GMy~aV>>!zS6VS4Bn*%f;k)bV&J9&tlY zW8)WO57j#T1NAg=jq=gae#Kk$B!J32Q@1ljzj!fkn)*|?8nz; zfQsum5{cUN_?D-!bTe`j?e;LJzWEd$IfkDi`)*pD0af%3!$|rzRrLc)`svnv7dPOko-gBuS_TRN)Z!4Nh~@$Urt9!RGu!ThrO@=X=ja-y@Cu1?Zj`ZVP0;JJ_B- z@$)*{Ju|$Sw!g*pIG`&8zp~vkL)q5ezk2+w=$vMTwZe#*VNA^b)vJB=Pk2kP&$xr* z=MM+OJ;y$A!*SA~qbHQ^ko>mWg@5bqwEysi*xzt_G5_e?|5YE|+xd-m4dY(aKlsMu zziuQRJZkKueMay8Pk1A7(3pbC?jGs@{1@&X{_9r< z|6l*r!PVQuJ>vYkk#}K~RW{dJ{J}8NitBOod^md!-H$CU0(B66AJS5LxqW?buhuqX zKT25>)IwwxNKf}Rg7m^sD@dmiT_IgE*uKzq4C3&(OZ<&RxR05`FycWQHtdC~A1U1r z)bjN(NSjZzs~0wBAo~rD^U-q)UWRU$t3kb{Gapi^Z-=zNT?nbHi-MvEuHc`LeVAVY zYN`1>q@#7khCxbcB}l1v4T@!xmmJ$8+jqx6sHPfdZ)(#^*CENzosYNG9rx9K8 z^=ml&N}f9vp1T#EdzU=NmprEyo-+#1Q}H}Hy`cCgvKNAj0^J$%qX!Dof90bG|N3di z2=>2zZZUPU{A_@_+5h;n0sr;CYxv;-aeFbpeBSrKF!FB(ZW~5AKJIAUmr{qL`#3TZ ztiwz`9@6pg*q}IO_`LZfWc!{C>Zo!N9{Kg>*~mWHUI*5Rf8}>UI)Xk9X_k2|sCfDO zLyYv0^YUO%3IFxKz?h%KPznCmJd5$KUsO!LZuPHURE(Fvrf4Ynm6(71qM}CnKj7I8 z<@3Mr*$&;L`;VXPsCGj1y8N=#1+GBfYTec2`hCzEmL!o_(turC*aSEi!ACFZwI*`Zc^2wcgbVN!ee+vD9Lwayv1P}Ws~3XgS=Q*8>5O{#kI zE_n<9Ro20U?=JY}vhEj#%Q^yo@#4l>PMf9~fXzqurSePdqg%3UuF zBfr(tFO2kf#BS*Mw=&0+^r=<#Q%m}6^!!rX)nT|HT5^lLcuKXW?~zAyZGpb9hF_NZ z7$cr%R4acKM!IEReVafn;a3j|509Kq$iAY}A5@3f4qBhCalCzf&*2ngUn#l_)Ign& zM}B(bc4S`^dI;3y|1uu=9D%NVJCZrHY>R^%IlBkbP@o9H^;b0;G#jb0PKj`+^+i2ZAcDDRVgM4pPRg70!lX zq;J};3w9tx8$j)$j?kvircifiYiJW_IHcvoNJxP`5Kp73tR zsO=BP-xr+jzB~$UMi$RQs?D3YdcONK&?$e0I4f0bgYCjNrn0>%wqY3Q38BuQQtJk( zz`gO!uc!A7!|C-yK0Bp17Ne}vNBQxE&jjSJsymn+2FqtH<+({1>HB7zgH5TyR*+g| z8%S-x6QrKBTTtZTXQ}o^_V>}ofX&!{Jf!^(hqV7RNc+zWiv9iY(CNtD|2$CpUjpf< zc@?Dn=R(?lK~S;(UC7@5L9jXbKMraC=OFF>8l?Rf2gUw=sAws&tMWal=a_zhHYBB$ zhXg6jRUz%)I4Jh_HPxob9>g1g3TpqV9@~{XMid?st9nc>d7NB$Ty77K`Ri<`x85Wd zb=OBE3!g&ub80Vw8iVi1m3n-GXFd$CyuA!PO0{Zmx|!J+R2EHf$RCMsUGnG%D& z;ZZX%4EM!tkY7%t<~{rPZI2%?R&rDP8k}Z>Rdxu}eAqlF@^pRMhM{V0j+$>AZzX5x zgF($&yV}G1jX?I?cnB!py1Ipftx}aDThGX>)0TN^SGdjr_!*UgAqTZ zr5-jPZ`b+O!u>WpVnL@=KB(%x4EL5Qam}3qbsM=JByE)-=h!f)Vqr?6D@J|}4DWj>^0b<+!74jf*|$*` zsok1@dT5{}qy^_DkP5POP_&dE2;3goPZA6Tbz^l;NS%LQNK3r&L9v(bjvpR|(mL9z zXYf-n)^oF+9h{z-ybx?nyI%pdg|3BE!uz3Z&=x|&p=Y4op_idv&^u5!=od(1toklN zYRkGo@tA>^$SuNfv|1rAPc#2)jC}fcT^Om}H-W16A0XBHQAkbldQjBc-Tea_+VD9p zj@);kQurBC3UzkPDXbGzq|nxeQrHL=&q$krnuWK3RJ*~D97hHfDU7qB4Ts_46pjX! z!tsz&I0usB)j>rH3v8$X?}y`XNMN4~cHEvuott`D^I>vv4{aMp>SdilwP80%y=)+) zg!c%F9No+IL3XUhf{N8dNU@p>sh7bD`y;vYeZ&$p0D@M}=?B+p2z4G-DnZVPJv-cVBlwp&mH&&SELk^Ri{ zMWFim^%C)Y4^m&fe77olEeRt{nr(K^9`6T56uca4yhq5M$eIPF#~j)QDg>R;a-6&4 z>;BLOR4*6=scysUYlkzCJzbp-u0ttjLn`GB_{Qrh%H)|a+%uj-ek}Eji$=)DJ!5tl za=r~Uue2WxBdyq;23IAQmmu|*H}G{H?;!dR^dYDgS_Y|wR^Ky74+pISskF@@J*ErX(bPP>Z@-O27D7nQI-sA0Mt4*92Ew#TSQ6~@Jb zWRzu}FddBELa9swwOTt3(m1>tQg59LX{KHPsd{$@75(6qFx(GbMb7KxheyfB>*W<; zr1j=5`vf+n#m|Ct6n`JmJXJp0d#PZXhmlvgU^Di59@1XT_sx6t4vO-4Z9E0pYuiPj z_WIp^L0a4H2Pv7^#jyXyB`fXD0`d~RCp{ww#Oj{ zXOF9c!o&Ui0UMs)%$g3`jKf_)?;RNZ&OLL44Q<#DAE&+mIj4CKy4Qxa#!L6`SvL&# zi>AnLSFdbX-CqrF9d;^EyTYkGPD|1PXaq)HLygAWFKCPfH3>|DRIU?(oX^QY6>paE zIZHlrI-9pLs3iaL5iA0r19bv&p}cQ~X=8B-xmZ!;hb$5Wy9q<#*h zZgwT4r#NqcTCnv_NHKdDQXVe{xgv{#DxORgX+0r~TB#x(!$=j`6jVieLaIn#NEO*O zC@SLav!i5XG8|OKV<2_9qwvkW>pUAenYctQ+V3jl{65U@(S2~b8Px2#5RW`}KN*JW z@)Yt%sSACLkzaXU9!9$QTy0{Y@~H{=jjN#W^%z+V**P|`Zuh2PIG^Uo-=>(IW*>i( z`rI(mD&t~Mw|%dKG^^eWsTrSyGz-1}wV|P2gVcu8y9=Va;x1kh23U-R0pe{{^{4*vg zMGx)|!jSVyhe`D@bG0y1VAck8Bx_dHqkYMvOX1PO9$o?TLH50htwD9I?W=kWEqUx& zca*7%q@8=C_L`6hb!`fN$NvNXPyy!cbwlq2|?WZ@m2} z*a4u9vxD)-?_uwN5l@WM)kopdU#T1bs@G3|RMaDJ&Bx4X$X?gY1eL()_V5z^JY>iC zQuKVDF$dl4eFLcL4h!tzDf=#Dm-<0arG6Zb{EppA$aY=)EQa`sX&W@qCvdO-*mbvqnP&!PUEm2sH5i~JGi7f zA-kXNUU(b`Dfma@n?I{M1KB4erxhOO;*qZcUV`jyc@?N>{trQv_i;S)QmW&z+D*aj z8l1||3)Gvz{UGhXon2kk+cDDXC->vx@;nBr#LwE>@`v_TEWX6WbJ8+Uu~=bm4}i+! zLUs`Af;zx745Du+&})@E)-OC-*~9VdC|S;3LCrY5AXRlcNafrssEF)-$et+<1~uR& zLFyY*AoZbBpcX{)3P@*Y*Fx$g^B~>2xee-v-#t)Q=qYF*v=|x$eE$$PiLdtW;^dgG9Nj&TI2 z=uL+dz4IYOZ(dLly+0s3diR5h-eZu@7$HS(DWvFCn-Qew)q)hg-$9CABS_I}3MqPB zAw_Qxr0DGoDS9IyMQ>k7(HjRTdNUwJ@8X~$dRHMkdUHWV?>0Pg^zOh&(R-le{Y2sY z3J#U&Z0#*%AB{hdv)UDpd>ma~@+d!n%<-rb6dvAjO&Q1=6toc(2S(Ih!D$q21L`2L zFQh92N7>a=-|@&kp*juJNzE)sCoq>oS`A+h=~U)sNNeD`A!Ye+P*H=YkX_WJpnAiv zcvMf5cHNmF`*d+NP&4kjP#Y@H64Ld9PLRgvKpa zg+D+#H>h@EP)D||1gRgb5)}D+SgeKYOBT&Q9eg*06zeXK;?xWBC=QDKy>1(f?D8J~ zYKEQ;sr^ra6qBJNPb^@V|{uJ9UByB zdY(D~BRU+JU4V=G%WP2nWj>_M3n0bj9!RM^U2J_3Qh#|PDAIR-c^BF7{sdHiDLXkx z{blu_qQ9(*?EcacRDbCRDf*j1>MwmDwZk@$`peFc+Ix?n$lv{CG_w24!Jzuf;gI^v zG)VpBWJvp;9TfZf0DBR#%XAf}GR=ilrrRKu>3&FMdJIyTUVxP5>p_vG``|msj>*rU zPJ0@j5~TUQF|;-fvI(Trw}CX@?+7XN-JmY`je_*Fz*I=*(dR(wgBL>s@Vg4q(cngC z5ZZ0f4$!^O5a=;z8|Y7vdd)XMMGyT+vU+IsQ<f+`3_;Ic-(z?qzFWOmRYu;FWyo zdTl$YQ#21wQRxLr9EwAp4@V<=K0FvyyB!XxuTO(CAD#@UFPTdK$Uvs(}L8$n+FyBdqZURr7ocQQcp;I zsXwIF-X2n48V0GgM?vaK2L=`Wdm^&?_Y_e5dj_QbeLAE#T>xqSD}su?cpb9K|1hZe z@C``w;k%Gx@-d|O@M}mVUitJOm9r_N`LGS7`EVmh^I;E2eQ_&D^WnCT=EGee&4*(l z&rv}|Z#!ACdfPeZc|N=Z-SgqqpytDQkmkeNAwP zhhO31{_-QJ{!;slAoZ8JkYckMq*OO3wzh@TUpfax`koKFBRk$(f$A^AA@!GW_~zs1 z;mGbU(?Io?lORR^Y)Jj(5=iYZ2U35T2dTaP5ES`)KD-av{pB%G{pEQ`{pEE?{pCGK z`+pJ?`+Gk87TIO`1yq?T&kRzT>Om^gnvlxW1X7vWKuU9?ph(m6VK-#QWM@$G;aEuX z;h~V`!!sbIJ_pi#I2Tgtw?di^?}0QQz6xnR{1j3j{1(!D_%o#Wu*O+IgP8H^K|4UJ zLqnh@kmkcpAoZGUgNh!ylVtVKJ<#*h#G_04LDt>N#$%-UZ~~m>!%1*jB~J}bmriDa z>M3X7kgv*Ifb3Q2?84*vsvfsUR=Ms%&tGqP7Tvec7J-WH`;bmBKZMk>UqUU3LAA5< z)*6s5W7LBb`!yi-fOgQv>@gV98ON?rZ?wH2MSOp#586~{Aaog|R=5V*1??tiH|Taq z=O}ML)zQ8RiduOYy&T!s$jZ)9oUGRlBVE{81+2xMYvFNpI_X{~3`J>O)cm`>EpT>& zbwJP2>x%BU_XgE61M$c$vx8)%IJ~NUFuLP@7^t|H_I(>IxA{l-I`6O0 zbKXCe^z!rM@A;t%FCNp<9$ZIussVt9taqIR6;W{iE^m_2>NpN$vo) ze-^X9sy4CYFa^|^;0#>yaqRSx$N7cF6?o*|{B#}kFei+JR_ zOK&1O2ur}#De7mCj`ZI{I>P-5>1bJNR?wRGtqZ9-U4n{o^+fh5a(}P_-yx7nINZLz z8#M~q`Huya|0GDq?WvGfZ!@8`q;w{v{I7wO|Ghy){tJsh zf_iK1>dO7T3zedOr}xn?Qu&?+b)0+&QoY|uzB1lNcBfl`UXkXp%8NpGJQ@T>X{*bB zjgsE9s@}S!Z(LRHUefzj)dymvT7Ev~l6?NjpIy71i| z(#mTnq;>dykX9Q<21Q=ZU>dU5OEb~)I_h+EkFfKq>X(%CIp}#tsJKKstKn7(PPZ0* z2dek2nH3mC_LKP!)wEhOCH@p-51!hs>i^R$B@Ef*Qy>PN*<#NkFixfCYC%V z7ar5?;h}OoM(U-fl)TRdRj&)}?aAPZlE<}$$GoZ@x0O8ZDLfvo>hWaBHMV;q~5n7q<*k@P^9U5TU#M}!rBJZnAri3vg9$W z$yS6qg~;#i9KA;%`j3udzZWi7T!D9 z+w~k?^4PoZI0%pGX_A;*sxIJ%j9vEQ>&`Ti(JW=du*pxqJ>Pmu2>FF25o>mztLcDwhU9k&ESq7!{sq zo8r<`J+=*~*|!&@*{?sY`EJ=@ImmYp>z-9dqkDos2-H+_SXGayC65ydk2CNnPp9_h zmpm>9H8Wm^M_KZiU-G!4@OZGQ#}g%w7YdIzs(QRz^7y#$_y&)BZ2cai(p9LuA`0ST z-^!rs)fCdPuT4;t&d1)3klij@SoiQ4fNqx|p!OVA)njDIV@%;O0grqnm|XHW7E~LZ zf=4_rq~+>*zwg~z>BJsvH2JX3fq!XrP``8q~*4}y1a@l~0RKwW|P z0aDAA&kj=2Rtk!8IvS0TeO+OFP%}eENWHW#q&4aALc2UD_Vh|d?&g? z@gS%Oy$WeQS`O(ftk#u5?HHL2AZZ&wo1k@pdO&+aTD=_^6cO+N_X3Qm-f(fSYIq4^ zzIr()jC3_=E~r`XR!FHmgl}%OKiSY_ruT928%m!Q-u15v?;2@ntr13A4Q`4a%T;AR zC=9PU2P5a-oV^PpdZ#AZT5~X{*f5c&uf2lP!e~EGbJ~%R&i+mfa>Azv@%yW)!Z#Sv zpi1~hydC(ms{_^ewIB_aH6S%XM@Zq`6jE4vLOK!d3+c3AC#VG_JrGi7m;iM^I}+*y zO@lUsE`St?YlB?i>w_vzPfymZz{qc>>~oC_O>PGUrvusq%kEl7qPxRRv+nfI3d8B2 zgB(A$s(}1p9|z>uFj7EjTpOr>tPCk2YeNdiCXfQMIi!GW1t}ogKnlokNCBAuDIiBe z3dl4_0htLYAeTc5$h;sI_@z0Ut3-Yw+*4X8&oRzO=2-P+fMZ$5CW z9EQ`YkNk682VnNRFyfR+J>vQ>(rS4=s6*Jpkn&iBZ+`USbsKVd2N#d#4?&4PLE5kG zP1?^#nN`C`4?e67%42Ih^4Bg0VN`gw-4~7(Jk^ay;#s&_S9bA!m)}Yho6Jf@UA{Tm$-8f8~exKaP;AOFq^$T*%j2%YCInK;_kV~ zZn0;q`&_Wb&2rM&@eXi$<$QQ>I$azI>QrTnoE5l9LI?cJV2M{ER!^6M=Z29kXe|Jn zQtG=Qoj|<|wLtp?(%7oJMTK$G>|#Sv*)uo|uF0U5d6z)CKyfvsQ?PkZOH#cZ(k1xU zAYC-5w;)Ito;QJ1r$IqcX`f#ng6#FlIiLtUM~+<~6?bq@ z(KbVoJu!?z&#%~wMfb985~#jA6_0%JXC|^sb0(<#E`+qCyb02z`)E+4>-GM#$ga+- zU?pXH8;^V$>vJ2*aFyFq+qDiT+HT`8Qrm3~s_ptgYP9r$K7Fhat7yCy?5%{PxHuw_S@cQnUtuYP;UU!$@Uc6Fs-x`si-EHlRY;8IRm{J&@gYeL>~7 z9i+C~2U6Qj4l3I2GGzCaKY&`2ya6ePFYzr;pXgtX?1g6eoqmbK<)XyoxNwxyXCEEtwC@qR3qfPFlt)T+gkT{*bJk(kEC1S z<9Turs00tTx3BOVj_k$eOi)YId+p&O*1AWT>KMHvT|E{!mCGac za4t_HJC|2L{&DX7uH<_o*vD%>eVDI_&ia zeDmD=Mi{EuH>f#Xj=8#eNQW1B?n6XiZ$)S(_r~R}$Nz+r2ZWan=Km zyh_*#*`s_AdOn5O8Qm>70#pm`i$^Z^$ziD6SE1%|-+;5reJkkEghwv-0~o2?kK^KU zzlfa6{U*B0{T`@te~L#g_qWI{_X_lwSX7uA4~6daVZFfcx4wEwUl%=}F0}|lJGMhD zPs3;vynVT&7pNoZ@p$Cp!Kug|pVxw#SMGzU=e`drqPo_@DYs4mq54v3w=h!1 zeL#)%Z6F=dhC=Gy`#>AhgT_Ky&>st_2ImJwnjV;!BYVVL2Wmc=k4L^tb_cR2%m>hq zuI#B~9!KvXd>$0N7(~8{@T{3mbAJp&TN^&2oE`Q}!;m_}st4SHN7Q-wRDyGaLtO5_YY@{P#zk)7fdpnAyl z_HaMF8QCM^E>J!H5j=9wds?zG{6NlBVFjd~xBkMM?j}J|W?zyR9)|Wg#Hx!q8D}3k zjsw;6PJz_(E`ZeY=0NIsb0PJ-hajc-YEaSh79+ckAA;(6U*eH_-Vey`7S$dLJ@>p? zVWghd094wm1X07)@ytE1TNv89BWhmf9G=xPtvZVf!$=3pD?!cRH{g+b-aL%d^KLJB z-w!q+@5dqS_X4iD2fcypreA`d``)J|{X0+>^H$)I_pJLk21&0a@&vPvS>2|0aEjut z$hq(BiSE940DA6w6VctMCxS}kIXrUTdllL3@;0cx_mMr^_r5}Q-}@0%->d#aq)|Ps zFINsDrLj7wquGX#`d%MM$Iopc#cpRvtNjBZ4ex0|Q6sN(PC|B#=71{Kz4mYyScvQg zC7uH{2fT(ye#GJ(WIKNhs`lU5!^ivYF)BO_{ECZz^{UpBftrgNKw8SJ1GT4dT0@tIl|I1G>cu+&s!9~nDb>Y*|w-C+(mG%WevgB;0RD{Fx?(*gX1w$8=QuV+h7)`Hn>PC2Bx`KQY#_h4RW|vzq zqI~e<_)ZnH3A3@W!v!$_?#2h@4Q4Uj5v3#98E zcS1Tt?+vv(k0eUA@$;Kpf+s%5z!cpA4yGP6={oPYbH}I)%2u^HoCIB#ac=mY_o09#Uw#KniVNNTJ;pQfPOC6x!jC zLOT*twGV+5&?6uP^cYA1JpoccXF&?+rH}$T2U0+9fE3VMAXWAuNMU>eQW&3y6vkH} zh4BMOVf-9Y7{7xQ#-AaDvEqdw1+PA&;57+y@R|nkqtLn>G8rS^ADND~=ihTd9Zly! zI-1@F=_bJAkgm|@{Og>TJQD4DXT7nruM2C9A5hSVy}Ag!3&K&tqb&=%x55b6gF zfrdc4Lc2gCpgp0{&>-k&XftR*P&B8Ht}ARP5G@vki_hNM1r|O>+0cUYSbSW;^FXcT zZiaLexf|Df2j&SIa(NyXcbiv1b%M7b_1e!MIsO_{q_FaFzA7-^~aQqmRmcT4)m)?JxKZ&N6_tPiR~wt`v{v#wABs5_)~=>zF_ zvs1D4oS@Xc44kHO^%F`su?q?`cQPBa_UU>Ry3sxH@%~u&a_@H8Aq=lDKym zQir1EGrEKEcEAn?6_II>YCa39p!7Ec#a?#37ul!k3qh6nIY?!G4c~ml{2gRpGWi%( z;eUkGuN%J~q}VoxG^KTeYLV;qL6NH`nw@N@k1vBG3!JJg4R_~I8&nRzgVbkQLUQaG zRHWA1hNh*had8{$2xwO=id#d>c)I9mKJ=~y`AB61LwH~N8Y6dCC1A;0JN;hQ3VpMveJsw`gje8C5 zPVOe;+&}&phRXB}YVIGkKMZd-`YNFMM`K8NcY@SE`US;ab{&fB{xK3%|2P0r|Coqx z?jKW--Fh=XwcdG<`o|w2^^f}@^^aE|)%eq(BF10XQ2#jlBWFRpFAh#Q%mJ0dTuA-n zAxNpc9#o|EM;q!N@8jbB@j0meu>w;6SnuN?^^aCTMa?=PyMJ^mJcdBZZ9jZ-|2V*g z`o}~$t1YG==l(GR-TmWqQ2pb4d$>WbKz9GQ9#k9M2PwzOPa?J4KWbv6{!s^B-K&yS zgVS8R4yXl6OGs_k5!c*jHbeI1ubn`Z`5-*1r_O}i6QtR{u zwKUolQakMhDc)ls&Em&Es?oVYk&=%~*C6}7tD6enJ0Kk`AH+Au@=0Vz>LpMI^*13k z_*YPEI!~?7l!F`pcVVR1tOe>g)do@z-3!v3I4Gq;v zppBrlz6cr)HG@V#8$yGj?V$e9@z5w}0i;sh8HDnD{EZfJs9$HZ4}0%|8sWO}-480&$L-C~|NBh9Ubgz`a4OfhRy}`|I${_tD=%b}w8GDhlp?V+|% zZ)gxS2HFKW2-*`;|DO)&%;9!u0$Z0tD%EmGZQ9^_#nTPhD2%kiZVJkyEgtzk{^rO& zV)g@7@7*Bv+biws)NVj_zr5ADuk+rHag-Ck1Fq=_`EEE}eLrwnI?7)d5Ds2fUV;&m z43)V$I330x042VPL!Q$&{2^q|>3f4J;ekQX8(oqMkX^!?K(+XTkVejvkjB7Ekm~vo zq>-~Cs2Dj7mWS+-(+HGrQ^+w4ih}zPv@xIRkb2jXkmky2KL%+|t{oJ)djD0By?CQ{K7~q;cI4(wyENQa(c<_48qn=JdTG&FRNO!)fT#Aob~4&|tJX zp#IS3kmmGtehyNpngy|~Tl|gqIn;gF>?wO&P~%`Eq!zjk-+Zp~4YH?_*1rTQ)s2F} z!>MhB>?v&!s5yNUq+WJ1q&fYfLc0R0Nx80vl;$l#k*4SL+cDCdz62KsemSU~S!YF% zdgiK-dgeNidRu2mJ##=%(KCl5yJwC9wbxik^*$8e+%u;jyMi-7^~}>C^~|dv^~^hh zA_oWH0c6kVPk@@!Ux(E8^?y|kPPT6tsTb}ADhiYE$UiZ11G4+s0`xqme^k=HvhHs_ zEJtsmE?Qo#ZkowgffSYgPzRzu1yUT34~ld>r=N=KIsIBtbNUmI_J0A=oc<}KUQ<~X zq*1dn)RxrSL)zL2(wx2-q&a;jNPYb46Q;)L`S&z&*y)%xATNWEqh z=<_s4tNueEwb2ofj_Sui8i6N3O=zRjAhp}MklO8Hs2y9cgfvH853P)L8>BKX4Dto4 z$Ac;^DE9@bJt|d9zpJ@V7-^^-4ytpXf=B*_&n&yEG?(Jy5j4lLFMwQYLp^mKKAyB6 z1SP(LLr(E+duulT02dF1uR%=}%kAK_f5u3+mTJ~e(LJBQaV|}r8waPeqV}M~E$!eZ zVFn`ms4@gSpJwf7LxmiUkDq}$2$VP-2Or8$MD$tsIiR}QMQkriKbV}qhP9;C-2d#y1GJ>Q&M7KUoE*-CYFfZRR)M!em__r$2~=H53r z757L`ec&`4@&)vBk==ejpyxy9ujrn>Yt)hM2-dctvDqLvEyG)ZI?Qx{G$gl#)L(W9 zDstQd**QLjo^yOo?yA?T)}7-UHWZ$B@o`8$0ySAws~gmXh}MF7LJc5I#cM(>(0W2z zYz%{RP}?6;Wu`*^hqbqW+Nx~Vc6kd>P%ywolx`3uq_GnNK@n6$R3s%76~ykuPB1`4 z!NT}N5wR5&MKDn8#8yNs{_8l;`<^d*jJ5X~d;RMhpW{8Qb6)ehJLWx~=Rvu>DkyU6 zJ;qIvm8-katEGwZ0d)77|A6v%29LZTy^QQ2Z-Uxhy$@+q_7kL|tg0I*Jva1*VWeGh zlR$U>W_UcFrm7P$@_VLG|`C5(i+x@G-pHP8_5ziO10a>Z zKfd{~;0QS=y`i9@jexW;jI*yN@>45)&jeLh7eLy8Ty9^Ne=0^Q{|$0h8q*8!`|M!v z$B@0@o)0RY&*PC_YAvqxc&G4KVGj?M)iyLVs&AD0>iR)tFIDkseK1CT>p38dG|mQt zD(~@-M)PP$+l!MRZ8;`G+CZNJsni!kTAQXqT8M9eG*3*2wB@)9YCw0G18LTO1X8{H zC&+{AiJ-C`&hKAv{(wa3#^KyX-s^!KiB%iY9JU#xEoMEa3s)NjMGtZk&BAaJEs&o| z)538Wd0H41M%r&o0#(+tA-5@e6P_pLkCm0>v5?~!NJatk-v zLaEkPsvW{e`?uY|wzOeiNV}uy&~9k=LwXRH4;_d08l;tLi!Bw?Tc_>9NULTu>&||= zFjO78q2}G>fp~ja7zC<$hC*t9@sI}CIYDt(V}-Z`*=4>OJ^xE3ccc5!>H)AN`Fsvi zBQAo}V?T!U*#9-8b#BM46v>lf*D%sTaIkcxd#aG2w?U`6&7Z{AKMpiMkju|-xq4b2 zpTkId;Klg5ydQun@8^)p`zxgKmTet3l~y!Vx;4T`9eWe>{Cg%_q5GtD8cu%z|{=Gx+A$WiKPUeD8u9vR^@334XG#8~hJs@7Ai-3)DkpEl699 zEg*IJ?Sdi&AA#(E>?Pq?^!#`^3f+MxgKC{iAWarmLrP&5NKuK?9E{)V(_R;{nduGdy!q-eW%pqg@3m z+Jlgy&9kqgeTwXk^9QJCwYF1wj@BWJ6m3sX(T;@_Z4AEg<0rat9an{6Ld zO5bV(>6qulpr}JXQeKJ?T^*Ne<)UC;TXsQyMt7F~lrERD25GL@Iw0ct;H7yOY3y|b zm5ZK`TDKphQVb7@yBaIjcx2BtlhN~Bb1k}yHx1NW^Ejlr<{3zH&HIq%nolA1_uU&R zk}J4R7^&L~x9)A%Dd={&A5<>aLdsa*MvCD>sj*?CkJFzDY9?43MCE;v{;uSTM$T_g zIoIkm4pJ4@3yRV?URPv)JbzbE@umfF&;9A|BV19u`Hk#plUS@*|XV3fuy); z{EY)4pA2k=-y_>jy;$Psp2L#5Z2J(9jpOCvRt#-pxK5PP+%E{2gK0 z`0x+peH-#Q>ErKjU`(kf(>7x%MjSDahxg%VDERwe-}@u#`{~}x z+sdV(?!7jQ)Y`Y8=Uv5}=M3etuDd6;LeC?udl+uPp2+$4Z0@yBxms|I3_|YRUbm`~9vGb3?@&&Rbv|REcjOYRiyaaDo)t8_e{ttWjmDpP3MjG5zcMNPnE;fQxaoYt& zG>_pO!f=Z1k>5y}wHVTX_@>ZS22rCw#NT2-{EU$X#2>hNK&%BdAU5m}qybSsC|uoy zO^`hx+MwqF(E;5q-9UBTJt5_~52OKc1f;x<3W~Tc-~?n3h)JLZ#AT4~zZp^^-Vsy` zh$oS)&kv-O3%Q;L#LHawfLM&42gD~~xCK8$&i~-qejVlGkNo!yBhB`QTX&!d=zcaj z4?X{bXP2UT1-p7(|2bhO=L_xaLcWZ*yZ>TPFGk+MBfsl@A0z!3<4RoiP?TT5ohj*` zkUD%xC*9|6RXvQfEvp5pht;)*`_(qcUZoqM=kGzcM0Xpu2i5vr?BQJZMs}|E0+s6n z@W`(k`Xk$U5U4zl337Fxi0}Ngg4}_T&(&t(?aBHvbT7V73MuU~cGimYRd2y`~80olr>e^5b+&tKEwm{93z@B#TB+w^}Gzs*x?lK)3hVMNL`NCAD z^X=m~^%5J(^R&W$I_k?+%BxYV7s5#YH2o`u$E$cOuj0vc4Mw~(QA?Na97g(hPc1P) zwzR4Jw{^mc$<{H3@4VWfILyl@|c$E-A)&$YW}^Le?ZiN@c7dn9`z+%ifGkAwaR8e5yKs{o@Di+7Se@n!7_KhE_T=RNpHNp zrQFN18~p%u=j2fIvb35E3&RyO9Qn0W;-kCD$FHo1g^|Y77*ONsWJpP#j&DAMIadzK z;w7MJ=PF1ew z3S){d429z)fetbTcW=f|2KB&yx*nfq`2?GY329`cW3=ePEFv;)!e+HfekTkl9v^*##HZsT-(%Tg1ai|hn1 z0hObhAl3G4eDjN~xyX%_k9lA->S7_J8hG8le!^Xf>{@o9a{kvZyY-Tf zSN2`QNGtn3)?My?=zdNg3~J|bJfzWgGNh_FKPYnIa$bh)-O~+)?{r8b{eDP0s%N44 zl;jmiug2dmu6`KAwJ+1(Z@Ho+;%7*6`yWBYzkazUygJT`{ZixGPo6pxx!ZsVe4}FjB&!LCvz~L+xnX%bAl*N-&`ySQ|LH+Rea}Gl2K@n0heak+)ab zmxH?PFQ^6q$_`#9-OX*NW7ZE&d#om)=F2vA@Dst_VJPlE)bg~v9gDNqu92XY+VPMY za}wl_?m&uqOHdTZOU(>qx7F;zV=kmU&pdqneg9_>eG>mVsHcoCxt^EWA0#V}t3c)D zA7~@WUbAnIa!@ZQ?($ZvIkMZQ9jLgS@yH*w?SS1B(DRNN$pGVFoWlQ8kuuq`)cOKwsheSAU%j$vZSG^%!?jIBp zJcA#F?73(Rs8wzz)RIv5Lv5g^p`D;rP;cm8Xg6rXenI;{yFy)|%OP#-o`;l+*Mp+= zJTTh#m!V4Q8l1AUFQ{5O1lpchLm_?0;5?|g;zO;VX^?7nDbyaV{-Fx)QZ@@Cz4zP! zRHPn|K0L7(q!%>DL(0(2L6KA6KLgpnA2|oq{qrE*|2(AoKZkVx=7+6w|8`-d`9^x=-z%k_$Eb0v`F!H!3~e1y!0)3g2(>%^R3sk$rymH>m7y ze0Y$u*)%BPIveefJ&WuN>S<*cJo0yd_C2~uen2Sp^$KJOxX zOnqEkiQuRPP;*NB)@g zl^A8-%iMsAyU6XJX1@C%ZFS~CS|xsgw3qukC~kKWH3o-~4sJIOPHoi?RL^J$X?E!i zX^+r9C~}jIzL0$abq1((FMxEKcLk(+z7bNSd5~K2xu7^X@D}4U>ftS$bO*ak>l`~l*)M?vWLe7fkeNU>($fzb#>+S z`_N0$%knS6P*$rQleewagNnE29We4+^R5`_t$8mvy*2L}>@9CU)T!xc`C+?ks~+-1 z7-@lj#=5)zOX!}`-vG5WSOKYGe!@3b=juw|Dnr9V=P}iTVzcLFs)g(duL~+#Q%J87 zJ3y+uZb8ww?qmHhQdy1*c3F-`&7U5)79-cg%^0a3ZiCakbAx^Fqo^;Y_as%0m5bk# z>~BMLavU6UJFPV_*!P}_nqSj>Zg(H%tqdcz=P%Y>>YB%e?xJiH7$Ln2ZHVsU&lc!; z8Qm=mHTq%p_8NE;-d=u=19dtz3XgnfeIiDBO?MV9eoc2FxHE;g5>nBw$2D&orXjnz zXM&piXWPTO*15=@J)T6*%lWhD?j5gy+8n=S59j(lWas*0P`UmJkNleM2V^_{2D-Z+ zpR0SlptAeYKlU;UBY)5E!7$R=@wj#8@M&~+vR6R`Tn1@&FCV5D&UKA2QjCp36}>s6 zyLN)qNk;`m%D!s?vRAE1pzgX5(p^_Wx@%!j+~u}^8QJ^o#h@DEvmlygHJ8IL?2{DJJ2S_>-LM#Fku(rWrLq%~kM zRG$`l2hwxO3aACz7f>tcJE$4-E2N&b7E&wL9+9)TaZuT<`D?QnQ!47KCkzZDJw^@z z_3(EBq|M7@NJ-rQH6^L(K~ddK9#l4aLCuMG zIHbq8@z4%v*Fh@Smky1Ub=#L1o{hMC*@QC($Nhq(pZH6=Hu#MH~Q4AgPhi z3DA_n@2sH6z9-V_kv;C_fSPU|$74zwSWhB*h`bT#tS!bPzj6KpBLb>E*5Y2Sl9Y|k z?iE4B2b0EN#MheSK3@hItTo0_;JU%77jFZq7q@}bcY6mpAG-vVeJ^nW7!!lSo-JSH z;v(xV!S(3gG)$8Vsm)y1V|Jy-+`?m?J$&f#R2WYEY2?e(npgG2F!Fj?6C-cu-K0z17u9qA!JvlJ07#Eo!{nLv!;`{r{!T}pvr)OW zXRHUBgHd*&tA(U?`-+hp|v|>gL{{$eU~LKgeFbUIvx5<#^DFL-v+`eNY?jK0%avVETI$S304b4E2UiFSKWq*W&c|ZLajgXC-tL^h=?2oZ{HK zroVf}UoTk41QqRn8geQodVUbT--gaRAIHZVo@K}tX|ewZ-NpL>)T2YKGlJCUn+HWY zcGwQNzG|*5sA>3Edo+@KGqTs&8P+{;Hat^doi=erp|vivR~Id2x`gr3XlBQ{S&e~!A55VDj!=0rGM_E z0isLQy|~_=>-hr-MDNB)jx=d?0y2zRW;(^f{pF`!PInDHb3*i!XyZ>;DMSW593t zo|d}&DvbE5IDKS`^TNfaZEXT0x1JXJ*wCbQ5FG!MIsS*^?;IY3oZD?Qy4!6csCJu! zM{c(r&zHN}?S$aeZs&r^%B?u$gWJ21UC%Fps?Rs^@cQsRqBo_hit9BmPy|1k)CnWi zcRlo6-;M30eDuFi7Zm)c;MDfRK(+l?JGf#`Lw26dMb95dy$s#0a~-JGnT|(poqLcS z!&mbLj{0k}Xn_L``;`f9UY3ndjO*8@} zw#FkLOLatcT0KE+YWIRPdmag?H=Gm{<#mW_F(x{}o8dZkngy4T$;S(N0jlNZdox&h zco#9hR`?{0)cd{#8xi1FNO|}h-~4T!ic3QFgTsb_#kUu>Lic8(A*e}q0MwLdLm+Lx z&w;cPo(8G*9}SA!r1jp00xZPEJCIjFJ$1f~L;mrk50Rbjm!Nv-kL!B;f$SWYTpFl} zWiv==w+<@O-XCL}_j?Dx=?8WC!kfB|CkCfJI2AcRCf$VYkNVt+9#1x^>bq=cd_91V zUorg$)C;jUAYJ|v*F58Vi;@2Q=U;JgzyBLKe?zU}vd}&IY#122pA$E$)a#??Ri+ub zPl|Vt3vJT{j~HOe?e54PyL~`4!=aEa55_moU`uSMlYD@S`|%f`#>`fi2WiYSgfwP$ zgVdw<4=Qt;_eXRqjxDZV%=OZ=&|i)0N6cH$^F#1-j4>Vwcfhs%e0nEb&D~*ka4OSF zp!IOKo5{cB|J%YFvc8h_%E$7$IWA-i>Jf~t)=L4`*>WY=61P@ATw9CR?>&X@D~0cpb$vgm^j%r_)|{H-)(MI-I}i1corhMS^00s5 z+kai(qmaFC9R@aL+)RY@3^NDP$AmtIREF<^inM-5_Wf%?jfv`41?ee$GpGYG_k;F; z&W04}lAws>4d^w>Cp?>!)u??C7f{02bE_i2#U^B01OT7CoBwfruqTK)o3E&l*1kAFa_<&qnMRLk2# z%Hv2#wR{q!TudpnOCZ(qHIQ;U4N@)N4XKu2hLqb)Zwyi`Zv&~8n?tJQqafAty+K7S z&qa1EKLx6mUx8GDC6H?QLrAs!C8QEmyD3PuTpLm?Z&7HCA?3Rbr1Eu!RLi{~<$DOE zTAmYB)beA5xotxJ^5}D6uI@lX^ZUVp3b1|?+rD_cOPgosBcizm!DSpW2Ap3`Y2qs zQ_hBgx^FC`dY)ugKbA}nL!OVJ=97R0ID2?62USnM*~6v$2iYxAb!MQ-Q43Q2ZypqR zbBVUHp~M^F;yrOIP<7G)QlH!xlH-t|$dAuJMj$s(K2HN{Q2w*=$R`t5AbX#G1E?AG zc1ZpDUP$Bi8AvDGx0At!Bz6X*53pRguJ2T2kK>y_J(u1IDTUeg zbwM7mp^ow&T)gpG2sS2-S0T;8pFnc_BPhz_!CP`q$lkoy2G`@R&4VKEu82m+?#rz~ z<)yQ`y| ziHocC8qiPJkb2bPkXPrRIOlT*UW)8B{zFi`;7dI6yz&dOOZ^w9T-3cUNOMSwpvbX@ zbbDks#$MJvjrYTd&p}d6<9$Js-6Z@ykDLptUtSFY=!)AozO@?L?MXVjHpq-?J@JM^JxJZ^|F*-g3$+}KfegX8B+D8v52X_+1b zstetNL;MVil6ukJ+Nt~z>^F>SQ1iE=o6J$ba-Bl8w4qMWBiQ~uQM3Q3b^XV!<9}Y^ ze?DsdHudZ<(p&cj3y+8J$ls>^7$bk1dL>5sP~PuiN?LNiR28tMS$W(r*mF>Qsz=d-Za!*KM)$oY$#9UhdAKkL;kj5Mq5YTbM2 zKIonY27ub@4Td(SKw}_v(KCV~Ctd{4M|R~;Eqrf)G*It`Hsby#A?*a8g|wc%Ra{*f zgx8An_fxKDZ~P6UYWyjv_~Pbz4~5)V`Pm*6H4Gw3llU8Rosaig>$0xz5a{aJ5s$mm zXS2p*#OE+Hpr+vNrRgHD6#=h-G;O_vuZQaLKu7xkF?Z$ihr`Gp)2IdLhO?Oq#? z+?9LV-Cg-0++CZ8f$GY~L+Z-IgUHVK^migx)RiX%Ir!;8#W$drV#I@iO7;QXo{&ES zHzCw7kT$91bHg{kG_4UvT5dK4<*}7LT&>$9J6bbPwbRKS?od4>tK#>SE<6xS-+&%y zcdcbZ@OGCz!LmEpiRfPVPC?J#fW9aUm-rIoud9@6hFye_e-2|w7^zEt0;)@Y4XOM6 z1~sM@{(`h|-RzMdWwddS6KE1t_EhRDgD~=!!;Z(>+u(7ac2koeg}5}xAubOpdo6tt ztjD7Y;jilL9!47Mhk;t_MnbL0*(s0?8_s}qAaWt35?l%Cj;n(rTW*kPa!?j#f(?l@ z8`1!L9#Ux+LwclI4(UY_%d;_(IN*)VRO?8CyaN8T&m8<(fdqRDoy`jUQ-Jx+% zXJ{6*AM^;+4_W|em$W=6MxnP)--qFv`w@9w`gGO~kB6~-MP2ph&S9hi_W{+PkAqb5 zi9rr=YEapAsq){(m{QSOAxi%f-h0Zu3%Ea78V~h_W(UQPaJ&b@aJ+|+KTYxWeIktf zd8lK~9viX3>8 zdKHFtD>vfcXN=nrC#TZijlPraydPAVABChn9z<^E#osbZ3%TgSkk?Ri-Mo$N9DZco z{y&A`miYyFaoQvt_GB2b!&Idl6-L@&9tWy)V0<_d}TA3H1FE5VMp z2=(ps``#DN4cVaH_c{LHAKRc)nkbQQ|(o1{YV<4o^$=gs_thZ3Mao z=YbDO9D+msTEi%NYrda=ix>3kK#iisc5v(^80pJTD||tZw`=6CmfCTFqPz3$8b(^G z`heOWO~xaC%=!WwYWzEbU0*X$zsbLc{!AFTzD~!8SJu?^xxuLhE&p9y&Mn}QM~l_NA~=41gLa|;^9x= zj6n35m{MH7itG6-^G0Ov7iNH})+Ko494*60r*9wP;s?L4LG5{dw6~vZe@FJrQ1jV9 zRoG^bA|DtOX*sFQ z#7boM<6lALXl>zJ?Ny~`-#TF=-)%sR-IkE<>I5kdJ%b{bo?`Yyb^{*(>Z#!{dw3cf zjO^AKBWJ2}BBWY56VfbqQBYC(smRXQ^mX;SEA>aMH&(OFM{g#45!CGeH6-mPNPB`c zL6M60UnPrhkjHwUJT?i66EzR1t&lzOb^w*FODf zYVZO`6U~*y)mtDfjWdHHhra0^jPzjkATHh(J^^afJd1;e+pCCvPJJ6xTYSLv{3*51 zk=;YT2Q^i#vWFLhe~?|?iq`^_%dH^ozS;&wG|&5;kX`bgpvt><;d>~getlG-jeu0j zlY*iSUCY;C^z-1q5pLxL_AcC=n}IN(F}@5cW{e+@J!5SCdZ1>E`azL% z&j(GBJs-3KH6L`ghv$QVVW`!{q2_l2r{P>*`q}7tVA_BhSDhf` zqo;knN!b(GuTKsDmFHt2g_?wKZl80IUA{{}^_y$($X|!Q1=%e%160462dUq@iSM!L zaQG)=ciCS888552UN7~Ae=D!oS*$d?v)LgG<*iQucbyo2y@42qUwiK#9tlprfYsp5 z?9eEvEdQMC^BD29cy-Q2VWj7mCFptXe;?f?`UKQy`w7yqOZi*!^%PYjjI^WL7*r46 z2GV-o5Yl_k_D}_R-v!d+{=h;zB8Y2)<8Pdl`EleJjA#fh49C?Yd@QIoI}_67tL*9y za3iw2-0kT3=WOpmx61>dX3BYxa=j2zpL`QiUOx$nEO>_a8rl8kM^L-Hk|ja9zdEFt z9fIQds)3sf**)vPKnimR*YnTW4&=H!@euUh^b-;`{L?9SaDRJ7e7b=Z9&b=XsbqA1=vUWJjiop%PiEHhEl*!w&QX_Igk*pd!%DbxeH0pEP&b4wVGcPny^w+JK0dnb$( z?^96mzK0ZV4Zbb}qk0 z&AIIOei%8IhlG)GITStTas;|_InMsh<*De-<(Z&zd4WBg%gd3S%WKxvZ^KBroC&8~ zE(mrm7oz4|ZnQj%oXa+0q+Iqu&$-+k-MQS){?27zbm#JLP`NzX9?s=3Wao19y83At zDVJx!DVH|}JC`@1o||3?yo!-~-!d7r!Y7uM?006ZV5^fmKBXV%Rt=-7!H!-H^{&*P zI@-mD6uYeB->>lRzpnrJ>-t}{j{nTU|E_iY-&xoHvvvG`FZ@@d=CQWzhwGHKaTsZ= zH4k+5TjKFuI)xo+cfW!fABKA9WUKzD)j46L$E2%3)y6IM@Xq8O8#;M;HrVMrkD5<= zcU%!hKJD!iMp{XFgWA392Wk523+c3X2&8@ExFGIV_D)51FFF(S862eNf*T>7_TE-# z4?}uZ_#~(}?fnzkh4?#=Hebv2eA-*`Q7%nsP}zG`%C+O|ff4@}mG+HCgpqaxCl>Bw z@mP`Er(?u&Dfjzq=xODt!vAU1Y3ZK>9Qd*PJpm30Bdy^lfU1}iAr)sLq)o{Akfz7! zkXG%xAg$zcpavB15vURLBvc=I71Ad33rL4s-$8A-`YY5P`V-Q7sFF{D+M(5kIzi2# zZctlDD`H1zSG4ZX?$B;fFQ_lH7c>gm51Ih=fhIu*LuW&WKo>y=LQg^J9E*b7=Uxvg zyQa(^L)i1vFsh{&$9=*`JG*|M#`?8*w zrbzBeHNr?;bz@NXH-zMS5WacI>>Gyj-VZsC%j+=mCgIjF)ba1K>Tx+Ij5IEv0yQpQ zw1@Mt#D>P@_rXr*N7Vc~#T`BmBah2&VWe@nE2ys42U1t-2dM-@A(d(Zr2YP7g?2>{ z4Rlrfjg6*v#n*)4^shtCzf=4nM*f}R)nTZd>wTeI`And87*e;l>epn=!bls}cGkU5 z>1IP^-apuB_Cd{~_Y%8!^xhjr%HsUO{b@Y%==~lekKQ#lGtkR+^p_U7KNXvf5^}I;^5Qa!$@UW9q4R7Fd{tiN90yuX^oUcAA9~E#!6SAVJ?f;P6P44}L&l7$Qu_aX z`S>bjRjLdfIqsO@11F3bH-7BU!6OHTIb`gxG2@4h8aQO|kmH9A9CymNv7<+iA2@8( zkP#D(89MOjVdKXQ96Vyg_*0@PBKdOS_ZvE7{OGamb8ez3#txgO`2SmPLt3;Lcv8E8KVg;E6{Lrk#!)|9_p|VWY0e?)(bg)ZdB*JM_}ZiPdf%9zCFj1H4IKC?vsLj z?<&;zB7yF0u&rFYw`giZt4)_+``^?cT;k=I{M$E_zh8ds97cNE&p%^>BvEu@!UJs{<^ zPf%pR1?-3HmtTWG9Vd*2bpK>XJBD+DikDxvAX}dnNGb2&dVcvei|c-Tco01rTtOCw z;TEjhJmlPhPhjNNm(PTeTJR04djxL2AJlAmw#gP|<=PBD)1Y2i1bVL#pz!mO+ZNKBVZKf{M005ZS&5 z2U6btT+eNJ1lQe`L(y|vo)m`La`}jmTlhqAgOTCwsi6Vr_UI63-%deg_m$ZB9E`l# zztDz8`qjbdto=@~A-S3hwTGUA^xEX-porjodFiN}N_kM(Emb{V9feUNJ*$igBSoGB zYPWqhr0MA*d`nbu*H?PZEIelyo^vZb7gl;MEtNyArCVE@7lr?QPvvylWV~ceB&OeQCM#+%1fXPP(&K zpgq1^6dtc6kD9NAM>~1c4z$OFpt42DV;UZgF-y)W(44|~lh?!f^_*ZB$$3w(ot*a# zbmX(&4(ASDAr=Rx5wyk9!2D7>`|cEC*;A!eG}@F>Yly9ttx7(_Vx-R zb>RI$c^nkv+YZKeS*oQ|aB!7QE<85+E1%Pn+8U^d1>AX-Q%(u zsGUYzJf@_N)^*2-k8F_AZk65#+s6l=gKa1`LxY{0osNw=^Ui$;M&7v(!$>>#QE=M1 zpBe0X-$0G8^y<)URT$|jt!oO8KkLyzgaI=XHI}%5T45 zr}^~>abJAaND+4%t|0!b(Y|4%z2m{w{aK>{=-y)u25XSe7)UYB3W{R7+Al=5?^I9~ zdLthBvqrZeyWian)`U)uO*Y^^1*WvqM4Kni$r275~-(26NV+-FJpz3>*prXFFM0R~| z2P#^7NVVJ(QqAuHXQmoUVWhhL$GT5_ z*PEzYRpu>&o#s}kaq6oU*$X48SrgzPHnff%TlhbFTDZg~Je0?k7_x#vi(=T~ZD!f*|rh#arflUU=l;&=eyN zhc;oPB-;l%`i^+y;c%?oJseKL-MfRypoYUGkcPwMLBXZhr@uFIMRhkl$iZ(9Du%-v zjNJ59&JS-7hiaf2qAsN7YZ_Dxhc?Kr{!WEQ4|{kx?2ep1MhB`{2HL~JVTk0aajkTW zbm0Ur4Tm%AuHkS#-X0E@S@v+a2HiQi1w9XkIbpcO4%) z9ccG9LB*;#2qUkG!)%nsO{J$6{->eloycsv_+)-=7^zvFLHADN1tBqBwX?GOL9o-` z|K@N#GaV_d?2y~y{+H4t(FYhg*k@s+uj73Ss@Z>rYQ%q~f7{n}S?%_ae5Sb}sQIi8q`S6; zbXSugYFF*P1G4Yx4C=0)knY+8(p?7y#a*t=Az?W03-1W|#VQ^KN8K4l{LYd}dJjgq zC({Rl)1Z3{ROgczlgVK4n>p5x)c$x0h})Bj@n< zdqd4{+4s6nY5JVyfG|?+4gwo+;|Wk3=wwI(@+zns+O1F*=uv1r=*1vcM(c+o`to$h zcR9wE6t_>s2;4{JPxp6k6P54t#3$*8;CeYiEZr)&Skoru$ASYEnsO+DV)Fg~* z>BQk8yuDal4{j3wl}>}op_%ylw03T#=fcAC<-&7urRR!D&+iJ)UklGa@yw^S?H?f- zb*^0lo!x;)mR2cyUuBpaSkXfTI|uA6*9*ZNxbxB=-*j0}*&FGgX+B1Lg;6&?kGI#x zMWA}*eWspN0wmj}Sdwn0wT=RiKc$%0MM*1S%gW#s5{j@}A3BLK;_Fp6W8?^s` zYO{?$3{sbA0;xq?LtAryS4fNPEHcMM6@CcnHOJ?W?)nANU2B4(w4TqatO(f;qSZj%wIQT6 zaBE1d&>$#vrA~-Wv>T|L9t0_;he1m7I7n%Z3Mz7Xwp^9d>p`VC4bok+A>B1MDDLv) z^%zFl-z>t#ZS)DKHu@b>8`bzIXnSgCV@PdOA5#9B1Ql(xi)7_xZ|m-9N20rmjsZ0_ z42QG_84Ia~&VW=y=LZ#KycyZ`dIzX7&Vp3N$03#R>7cmFW9T)>ZbS6^67m;x=Vmpi z+|>LyNV(YrQf{_`l$)kOMQ*wwJ2!`b%FPjwax)rIZYBm5cb$Rkr-lna#hnW2t~(&z zH9IKs>WOAy7#@!YyjK=S-s$Z6q%bOWRESdp?Qt3&^OMI6Ji5r^0XeH4<`&M6;JhF? ze^lxGZKd-Mg>#SJ!}*bPcrgnjAL0BVgU+$nYRQ^U4hT-ewm&Fw7^I1GQjoKJ^#kP* zIPD$Y$A}YRWxDQzVKnv>+%Pz;fn7mOhJAt@x7YhGPeP!m7qCPo3i$X6zq^72fKf1+~2NTw|@xd&n$cv zhARK}0Q;WPt)lWR!+jX}N$lY;(iZHoK)avRD?FZ0`J9JQJ)OtD97Z}{UxA({%kL`n zlHTj+wZcgL4bk&?eA6(T)+1f2YQwE^e1wrJ^V=}e?D0dO-N$zgk2tlK`^^~H{f;n_ z`(1%{zZ;L~C3b(&?%wmfQTV)xJTv*U>!y&qD}JXi($78huW+#S8A>Ucj;3sQeP z@()lRjod;W!$7@284qbXI}P7FZJdW(U%r=u+FV=@X?mDu-zIXHiR{^CHn=UlV=f-~ zXI1ARdvbjNJ?H47FkB~}Am5u7+D_f&Jux}!}BufG*$1<+xiRj%hoZmxV5BZsra_!(=dP8~e zm~FEdgIljH=pT_^htzyC(rBaXZVGnAb!$lb!kwU2XrqFnWZsJ1i0spbh3NTbc-};B zu4wOp9l7%pNUi%P)D*4#TZ-mJ=n_WiL%l(H9A*#ys=$Rd+H>nnT)HWZXTd!XKZcag znoAVf_w5}<>hK4HS{`p%*JD|w$47<7mTxPDr~9^HxR!T7zNea>4pw4pP_eZ}!J07g zr%jdywj)nNVU=bM<;i z(Pu)6J~ya{{xq_qzXmG$a!Ap?gcSWZNYP7|1u6OlkfLt|DSES@Vu$<^vU}-!fv&3e z@whfU1lD>djQn1#ZWw8A*c8;DXc^=i*IT$=m9oFmUy)8a3kX&5I^%`kkaYg0z>p&I$Ry;hCW>j8(JkS;U1lRLErqRJTr$@hWGDzh) z%i6NM8l2L53zYadq35r1OD;pk`Q(ikP;&OVJI7AtJlfK`eCGO)JM;cNv$x-JeBvr$LB12*vIpJA9NRC5V#ek9Rlf5?gV^G zQ?s98L;dIyxhOB!gBmmUL+Z=(A+^ctK@p*`TxF7pJ+D()j-|w zn4CUWawxL9&wxO3If(1|pGO^s5&wE07fuTnoMW+pj2khcYVdd_U4Y-QUK9Q-IPKMc z1h+%1x+X~Fs{<)Oqo7F6yO&nTo*mA#?gjsP^lD1{eo!^@93J@}LRg7$nirR}gh}h6bk{-w1Gb9L|BNLr>$HN8ToXrJAW55M9F!-!+UB zVK-0_hCqri9p8%72cE;FXLW=iQyP;?Os$Y+G)=VirLD) zg!cim`}c}KTJ96BS54LNBiEhNzd^;XSR16AZUrf)ZG$4GuJq2x{ymvJ!TQ8K5Yqnc zSV)iUql4nE_A1mw@&oFK(+QJWkKp|O@ktu&x1N+#J`tB)AYv0l{5&Hc#^$c zVHYDeRD0bI>fmfKq%_`xv{CpIQoZb6uAI5heZoksGX|8$$@cI7JpRy(U-H(6YjJb>Um3YWU`@Kp94v!?lLf8<4KSsh8{pDwTsEO?cy= zrqs(MNTYfxq}IJFC{l3q-;Z2hxtR~{$Xzc&ddB}6>V@`mp;fIGn$p=AI)tlRL3=@6 zA&u=lA=Sx&K~a8h6b2x>v4?=#5sZY?*U!N>kMc{A-3_lpKdqvzvidl>SG6YsN%twP zS5I~P0@u?M7pP&j3{nlOhBWT0RFAv%N*~$XE{rr=HV7nYW3G2ivt>t&_@zQF9Awt6 z<*48^Dn^2ed@-axe;cG(^wFRQ;Cbj9j4577)?W`76|H6<3Dk>ik!B`h>zQlt**HE zOl2RiIbvU^Ei|Oi#zI}tPJ`5kE-JJeAoY#;L6MSI@DGr^bgcx{ZoffV4NGbSY31D- zQd_nQip+W6xifM)R0q|gM&gl2-$}?`^skdMIh<|}FKPE6dqg}AY8*TRwZnIDp?w7D zyyk1DH&<5|TGg7NX+3Na6zMzB!N`r&(kFloxobS6yk3lN{)f@$W5i=KF2BGN{Vs2l z4Z_{MzfK^RH;=z@8sZVw7$g16_OAH4y^aJuW8+Ys7O1KAu1}b|aM@nDdlFRc-h@<= zo#KnakvsR_UBXDK%mJXDibp}38_t0=58ek)kOO8%@3 zW&TZEJWf}D+U@-fDYqMM6r?I{5)?CsbJiBw+tLF;eSly9)R=UKKq})Yazwi#sA%O| zF=FcG!fo)W?t=?)_jjqDL#~?o-isLV`_K3<#>cNAzeFynXsHbTi0&hh#v2D}rWz1b zHabmUry;vElLHBM2G>tXyTaSJ?mgTc>H18r*GolRh>^~O-oV$pq2-`@=kJhuXN^td z>doBFVWb{+IH;3{6QJG6!&qI0u7(upaY!@%0!V%1JxCw>`7|gddH1-IO+$9B%L0j0 zHU36*IrZ%^Vk+Z8cQ{UB;0vv5fLt4#N^?7?_FModH_IU1v@$4yxl>oE6SCKa>Y&=b z8KmCV3DUCGD~O6yJME9`X=?zenRg-|K59)GU2w7Y9-vmcp^%;{PJ>jzR|LgP-c((W?2)|?RL^(?Qp%Dv}KU)Xc`n*a+U6c zk!H_M@FZ^{`s3~fKMc7%m3SaV`~ox?J|!m1I8z*2PHw^g_MhG)h{5 zdM4Qyhx{~io4vIKnT3mMV1a!+=e&mQLH{1uh(fG}G{0@Ib&$r|_CXQ3wF=i9*hOX2Vv4ris0#2;5LjQmB9QDLM*mkHM0 z9+S|0E^{`hm3Jzn_P-O~{6&v@D}CpJnmnGghX=t@85HIN9NZ9}f$H3=AXR_qwn18a z)`K)5bqtC^dy?sn?3r*kQ2FW)>HZUfTqnbW$~G(49_Kc$`>=j_;qW02@!3y#^sFC7 z9EB)5dxVj;tNVk^$@n3Vw(0|+&S*m*<=|XMIk-N^Ik+LH`1aL{82Q^*uVJKbU%dsV zlin|aeeaj3Tf0R!-7aGLr^Q+Z+M#t&S^k>+>lpcK_Dga1Gsg$$`D^x{p}Xe31@#cQ z22zV|u)TcUG@FKzR_m=mZA2PFI(TUXX@cqsslE3NinKiT4o3FK8vts6jDWN$8;kGh zX?t=pvOO*hq+YM!dj4UBt1!~n@^8e~OXh8$qCEgHRQOBfl2hq%j8da*W91YItz!v|~XHwsRm2 zw(Ei%`1+u-*3Q}jICh)L+KV{58@yV0FT$gfy~~@(+Xbl+Mk>fQpbF9uQb9TfIlaz7 zWiO`BX`PLc3-YE7CH^g(UW5DG{Ym`(>b_O@~zW*^nmJxsWE;(w1?5{zdz(Fj9lH40fqn zqjqsc4QwqBe{txA-)P-?!`sk3%6S`+F2p%1=Qm z!>f>1+xH;NINt|F&OLNjA$!978`OZU*da)dl$!-be%Y$*q38}>}6H0=3Uv z3iTky=aA}PgZ9d{mx3+BNOjm4)Sk8%q*m>RZ{ATHiR_8!cu-?@j6_nH1gW&=2E~YU zkG~Vy<(V0X=RI7{|04XuTz4xz3F?^Yc}Nr8a!7gkDX3_te=wrE60X{g;o@1LDX7+O z2Wc+a8B$)4hBT|35)`-lrn8WJ-hVNu99#|QAo31KBkO)hHS}0easL8j-~TeG``?0e z|0j^{{~pr)tAgTwceHd3Sr(oo#-!sBU1M+<9o#K$h5s1T^wcmfI6XBq?VJNP3n~Kk$H*Jmfi{$Z(S`pQ)bw0E zGdMk0zZR&T@Nwb!37&Z)T5IPp@lud@9*5zP ze?8-TjQr~vQ!&z{a*LRrbhlNFtcT4i*(1SD^D)%?y8#<^Q4l|4)d?d_)?0&`23kPs z4&Ct0zZ@mE(VVaMg|CPFz(OsmsL6vhkq`BZ*NUis0P*lA~ZArI~U4zv@ z6>B?4`-e7=b{E}?s|N(d{cf24$lf{~fu0Zf24kG&Y3x*dJo!yRu1F8{Q!vUr!JSv> zb3>pj;U*k@PL=Q_My`bKarYYb8>lRnbq`Wu>jXs>?XWen7nug2o=;mBz8&%P>0mc7 z{c6zu!Ole=)I6>xgptP8DTT+Wc;s<)H%1;;4`ZZpHDAoQdfBSR)!SyZ%(7so`3`FS zF@&{t@k3?R9+3g>f!7bTdySyt#}K+<#K()YaO{V>>!B~Go!Aga`|o3e$kFKZcN|yr zaCLH!gP#&qjPb=7`KJNi!P}#91?Z(7Qa4(QZyw`Sdxq?hRST3y-JtMrSK0>I(Hepp zx1bRi}1J!+3LwWXnADgY_=GLRmP z%NtoJpYI%qV4Gn{tOh0?Lmg1z8bXSz8Keo-QP6<|X%ES(;~;r;ic$2cH)@ab3{Wu* zh7|h*NM2oPWF_cx%BiTmeclo+9)Q$I7ekr`J{zwtgS_;jZY`w8gbhaC2);B*uk1@4 zRgN@HPR^@kLKrE1Us$;<6f|>!@vVE_a=Tes8%;pN-j@^WHDO|D#V-F#z^t*X=Fb5%%Hpp-U2J2o)vyy)Y)zP>i{R25avu-pla%LNbP@wkw-Dg zD6TX=gOE(nOB^jhrBM?OE6q)eJ#167$*s4qoBI$t$b`^&hD7rmERydK&2e+T^)ABP z$IwSX_39TO`Tdd+<*_>aeUmGy$9Ij~m-md~$54tNV?y#-w$dg9Un-;bfv$#-SZlkn zrWMVNJ-(J`FAFR17b7H(7ndW1$BV0+wX8S8IBdhY1ym*9i9xb~`5x4M$9hhBwWAei z{UQH#uslw^4QbZ1UY4QiQ;tpiOErr5t%H!{x1k9kmDcDzzsCxRx}zH_zdemTzrD~V zPkxuXi9h*WmB;?}Xn!Z#C(|<2oGP?4!M1&>tsH7X7~+ovRhh>@s?00g*8AH`1l#X} zUmwEO&)^?0ca!w?Qu}IJVH3iDun(vLJP3=l(AyiK_Ss8YP*u|%(#q)V*d{l-yAaa6 z4===|yyANpEQ=e@LGpSfrpb``Jwm!)*u8^T<4YOikn_r*-t!#+sSMge>dvPaS;F4p z7a`d4CJEN=7@l(vH$c(E{`%CZm64f+F%7lfM!SPbDH~EsIgo~%^NlQ&H?K=j`+l3L zph7KzG&y?(+cDv1dz(=EqR$pXeEFX1Y02KkPIlb~tdgM8?F4Cxbh1$_uimKL@d2O; zYbc~TnT%~Ra8F0=HGdQOWMk6p=>1mknoRJhSZA|1Cv2}f)P(T3RL_v>4Y1)yeSlOatgW0#Z9V(8yBob~GBn7P*M{J7cAl ze!S-(zx{PjcQZ0GU-m1F+Ec0oDy4%UrPK&g2_I`@p?tN!3u^C`-9UvJ1*t5q!gfs9 zBX~DzZz1;@;@l#xCtg3s^$PNJIjCFrE08?+3et%CosoIqQ}fglOzqR4g5W{KyQh>; zZAe2_eMnv%ZDgss+nrGR*5Q$$`u_w-p(aP&t&lwV(8$vF+FUOKdA%7_sGp=H{c~MV;*Y^sWeuw5Z1Zr($Zg{9{)E@5uP@!@lg&GGb)Fh)A>Q>YqYCfn?iy(!1 z5>lvTMi$Du{VLSn($|2hv3DW0j!*L1ZpgLW6m9<*ZPQQ56K^3CLcDu|inkP`cn@$} zAKojY_O@O(S~S8UExdATfx5Cv`e?8cCEXFK2%P{`gL*(}^?jfk=mx~AIgs8RjDYHJ zbsTgEG$~%40;$wiL%Lh+*4;?sS4l{Xs-uzl=!;CJnc%IkFY5WB72b$oKa5g+jCI+1Ylycy(-#%kk|I>T-)?sNxXYOiZ{zB#yc3b5ANqh z+bg2&yLoNDLhU}J^)^(k>?|81U2^aps*45a*RE-nV=q2?}ik^R!ql) z7z$^b5K8p`;}EV6sBo+ov zjdsQ%Tu)Hp&VdweDW)SsxRnT*9_}MdJiYHgg)4em67EDJTe|i1`XYoMbdJQt!%YDd z?iNVtZNxM^vzh$N>}zU|qK=^zkw4EiMent9EU4wN(_~De9_hB;$j0|7OoTL6To!eAL$yfz zK}h4r6OdwG3n|49qVAuNQp`NvQXCa-x)n_brBlg}7^`x_szY~j6Dy8|+A~`Bk)8IelsLb64SejLRmF-^G9;KA%LnefY z$`VjT|16{eeF@U-?KMb`3!fWVcz;It3bjxA{sF2%{sigaCf`6KHL9YJ)(pxUS?BYf zRTZ_*P@938(;g3LGTI&6WD7ucuI;F3du6n})@^<5XC~^f?F7`wIUiD?E^%9T{8`jK zSiA&ka{n5n$>JB-+S8^6i?308yx)PEFs2ML($qLVq@0(86uzpFh4&Gry$Rk>lG97& z&!2dDsp9)Lo?fc-|Kih2RlC1-da3o>Q_r%hNIo4s6Crs&bejpP;JaO0PQn8wgtgsg zK-K3;xA1kOw_MPuy2aS*_B*u6r=v#>HX-@g@^}-%n&d^G`qnf^L)rC^2Escb^_Pc@ z2rrM8qV@ssIZ!!Y3(2=nA@$rZA+^cPQCDDy>D0rIGqM}J-?0Xv_UxQx$k?32_2eVc z6HM@YO+=l1MEXU9Bww$Z5c2gVs62cEDZLGla<~;zzKZ4;X-ZlNlCFvo=~uVEcE?Cp zo)0p?)31d(`H1w{2+25hnF%tUi8lF&^lgduA=mnI;1Ux;e}B&P-nUNRHS7g6=^L<#n;5hGVjZBtx$W;+Jb5zJs=Hm+1QQ_x4O}&y$OspqzcA! zJ*k4JCV2j?LY-8>n+Qo2Y&JnvP++KOlPcKV1Zm5;)~le3384xOcD*~=$OTnFTVqeN z9onQ!MgG>)ret6GAsn8)m4IDq>{mc%hVX zL4F-#?0y}JHtFUw5t8n3n+c)r=7Z|y4?(K2C6MZK1*E!r*NE_P?-SJC%{PGR<|)IC z)VcFR>fF0UU0Fyiql!`N+|5vXCR!L$v#q$EbnfF#@Z6k$I%(+B5RyX>7Mc(m`ZLk| zIV_Sl&(+U0A$jwBhza4I-T>5{yc49norrDn4*FEo{to&yP;-T`kP2lYq|8r_x|<*s zvv1ar?0As&-|+}-4%E)>-Ta)sT?Y5FBb57Rx6K~XH#tCBM?vRiq{HAr z!#J_pzN6bSC*~?Kw$IG=%-KOiy4Kl_$F_rwPa_2#Y~3fTSGFG$yvf9%!HRfV_QFU2B_@=I#9UURmd4|EzB&pcj;EEof7$W0_i$+KrTH?H>TWqEB*#hYYeIP2S`E}~yf&ms zLVav~9i~;TWtV7qa+WRAzEI7WpbRvQ>gv<{WU|ME+wbw%H6;4G~MJx zT&26y6LDoxWV!jiqZ4suaU&ML;Y3_d@K;X6O%8^Y@pcb}O^$Ar#ozzvR=N4SO)G82 zTuje#tC?f^TjBNSlQ-l)CP?du3>KuJZ`v(V71FffEtJr{B+l z?R7lsQ6r7R7N_x`ly^h5x%>d6mtl*IECPS$^gM#Sbj0K>W6#3dX!r5Ni;Q#&<-V8+ z%u3P@G;rHWTo1O#8HW$P_eHH}hey+M(S>i(&&1U4P>)4}$1$kq>24WK1ew*8ZrT{L zuA`I-f_h7KfRSaSmehx$_OCP^4r+5=bEpmec7Pf{$3yj??ocnNKhzl-0(F4Sg|yG< z9;5I$uoR_l9$SSrJ#4;t7rk%a{0OX044b5c3XU~h9cX{3DRek=1k?)BI%ONEE4uDb zPiO>mDl{?LT@0y$XFz&vP zGg8=eNS>8~RB#)ns zy7wS2OGqA<8*e0!YeNcqC?t>DLGm~UlE)LG-NleRz8R9o3yfk}K8V^qTLvojRggUU zH0n~%H=R5y1Ie>ykUZ-MDQp)=o(+WL*;GiL&5m|=Lh@`WB+phDMbFltcF(>575mqa zJS#9E(UpVb+2N2p%Yx+DSmPYV5Igq^trMEUP4(~~tqE3G7aSVFj z9MB0=z_C~)KS;XL1W$4*>is;)r5O9vz3|2I=O9@WGa+ort%KfIM!L93Me^Dc3opFWWQ=ksr1wV`Lx-Z9 z8+8jH4b3k{-RqDl?{i4+vo;yUX7x|h-mD5;VyI@dJEUfH0HhS_KuWP|)SUn+#Su|A z22zSwKuU3jQB3g`)Slu!pi;aaQi{(&N^vcu6t_lQ%B7}LiWMN)Rfd#eLr5teX%tgD z7PY5%5~vh=KuU2Cq?pD-N^y47-3BSe*4>=39zm&WyT0HL--faq8A@iC9t!bQDU-5MTo1;7z zstVnQX|jcBD{8-g<-5{QUA}`+w743zTg;3WUtp2!%1xb`j5ldU=})C(XaK8$kenHK zmH5!QzWBM&0Y?{tKgrFn1rH0`+$L8@KS$W|Ij% zCT>Q(F~m}Kntb%1$W=EX#8S)9%@4+6Q!qan!M=y7QaUBtbVq%-|MF>+ai(v_m>3N% z#Nfpgx40F-CJl;YLA1FC^{c_A&{eYOESo(|2&b!*a=mBu0Q6;5&y~Oy)b2r$`a|oy zw(U^2lI@9k^}W%19A|*qxqS|#G8~oH_9_#+P^O~}_m!tG_WR0v(cl9NYWUsc;pxhY ze;%*+)e_V>OB;u@4+Qme(HPP_?N~@Xae|SRnD?{ksNLh6L4|qRyLBCsJ$OjB{@Gdm&+XPSd&n6%gU;-hGx+R*XQbF0UfywK4YoI4cEI&E zFPl4`**AM|d{?HI-uC|Noa|wGOFb~FfAShFT-{?geZuvV3) z;pBNqn>BDqpFx8MB&}^bR)6{nRm~56<%Ozj{{Amis}8cai4(&Q9#2NFpSS5|)6;~o zQLG=R;c=vqkNnA-SmpCCdlQ?y+El84;j7KebFF07r)22$(4h#)GTz}PgeR8fuJ^IO zr3qeAM^t>x!7`b9sDRs;5DK^*D2q-;9xQnqsjU9}-$u&KfAQPMMZN5G)EB8f zd-}J(GHiFfd2?RqI-?PiIqpOg!o=ZPL$A-|4WqVj{?Rv#Wfxjc|OsE%$Di`SAdN*SGvm33u%BjJYl8ci9B8k|clAK~Zckd8B|QC$jKjgtQw&ucvkW}BuAE^1XsGH- z5t3#$)r2q?z8O?z9yjuUOR;@D^p^Z~h`k-CR6)gFg0t;?gK-5=i(Azo?Z0jgDYC9c z9@%`3yRYrz-&?S)F)6MOOpwQ$4cs<4%U%WaFFwn@#3%MnuC|wBSL5)+bt>3Yehmcm zls_CgftmY6s5LYh(lfwJBlrKl!|i-&+xV`*{vCv*#6LG7bnFd=Zk`-?FY{kH@Lo3m zj}E+76Zj8!6Pg?ouKM|vW5Q*#gJZ(q;_)xOg!|T?|E!s9Mqk2@RcLyxv3=r0-KT>I z;c@g-P(Oz}6Dmmayd6>@K4j$W?GdB&G9K5#*BRRvsTJ4ZCWP%jtw24vw}sTLyFrSp zzma+1kG4Zl`|8rUpgR5~P?}8ekdj!%O&CiT%o!Wmok#@bQeYDIl#4^AA z<@c59iKR^NER;rF$+PeRoP23-r3+f9TWuU(E~d;d)GM?GM&`QvI~*Y#D0dkq{@eN) zpi-Rg*1lfwDC+XkF9Ws0u?Er#UAY?+vwxMT9zysfa~I=qN4N--^-MSL+}>+K7&=fN z<{3NrM#ZtO>ZYd&;R7rEKn=NP%0eDZM(HbzcY#{Id>&G^i`_(AvfRfoEFLxmRimvT zB{Wu+;ny`2b8Tlu+dHD|YPa=xKR3ZMu@3c;6wgKTnaV|ZMc&4Q&{~fNwTw6r(o*Hw zP+jW%5=gapC8Q#|*2v1#i)4WD#eBJ&C5K{+BG` z)Y2kOEiK~I3X3?kw1`uy*Pvd5hSchLc7OZ9#X-FW4LGx3|Lj^>0|pGLd3vJ$9lyi) zBdbL@SvmcBb?Bcp@aIcLzx8(#HmUr*YdybQF0yIO?~US@%SF2$MY3G9Z4BF8{)x*) zztMgN%SGFU{=LgZyAVTMF4~2#KVL4g2yD6Nmn|o*8U13rzSbFcWNpvoX@}S&T>AGK zXS2XD;Y^UeCWLSK4?-XBs3!Orc6D)6ZwX8J|64FhNgp2`NB-*Uk`pg@eGmSFLY@(^*`CtRhP$z*lXxdpZ zMxMt%VNvJAwU+MqLcT6E?M)Ms?^@nrLilFw-Jo77E|wB6UdA>#I`&i4{&j(^;Qm+? zd&{T-R2eD{)r9ti8bSIpVGAQm)i>SrkXkwJ<9dJS$U*N@+w-ND$u(&GyK6Uq`kvfu zNHO09smDG9X$SEVBTLN#y(Uvd^%kg~E`JCq)Yp(geP?93^BMarz z?E4YI2gqN*#OvriP<6B!QXLh3$EdvO4N@JIh2&plqgY2Rq?Rv7yWT&n(gVF0QEyOh ze9wUN&^#DY35|tRLKBT*9m@@AM(3^f+D|ET{$Q1M;?Dby@T zq2?Nyul|_0)CBL+f66-O-(z+2>5{gJ_+)+`T1xG0f^~A0M_UA|Ct6!C1VE9kH9f`6H(__zS~xj(yGRjor`%9k{{%`zSp zzJ1aY!FKXc!RNvwebdafuzk1@{cPi~%j_;tD@XUbfqx71A=KVMmPoHoz8tN8D`PFF z?_zugRU_IhkP<%l7E3JINq@Kty3o$pTUUFu2Y3cX!M3kdEp)sIO6{s>J3Wu>GseMk z4QfUEc{Ke3T{&L?DK^_oeO14fp{HBhDE&ZB_eQu#Fqwn3Z(>^r9z>RwLam_{kQ^*9 zhh)PLxVs4<)PA70&sB$xBvb=Pq0TajgU&b;+@14LH*|MiyIm%}JN0c7!uRJs26d%{(<{D}7t}CRG<#b4Q)kQ`Gms6?pOzov}EU56) zA%%Y*QuuuHjTF9RD)9h{?BCLv^o zE;_}8(AjPR%hDS?RB~s^d)*oxnGHG zGR(b++9Un|tVYRifb=S6liMDsGP3c*)qA4$foWg#Nh%d`^)>VA z>*ng4=GC{()ptUl2wtDuzC2p;J|BIHmyJY7K&gz@pd+^V8HS&?4 z9d3jC9n0On*l_uKm#+V}`fYt+R~P(Qt>+6pyAZ>ly!yRO8;h&o9R~FuPUFk!@9izm z#@e1aI|}xvZ=ux4w}Tb&WNV>p{<4+gWQ(5`wtnXpzdv3)y;)=16r6RTixbyx9z6z7U_QFY^h5OYEI^Ka7%O z%0YT&Yi|_iOI=*hBXG8{r_u*)BhSKoI4!fL5?N$I=D{k6N5T3;{UlTgdI{U2Vbc7r z2_D^hsO@8wTCgbihzYiYtN8XXAvnF4p_`Y)!oDCX^L7Zy9)uHf&4;-@{1yel`ZzvJ z6+<^iS`g_m$Q}l`{=Brl-0-Tgr~W!x8$6Wyb&r`~Yh8+YjtSv&thM3MV*|)dI9>BrD>p zaxKrUA zzOA_y8B3BB>lnpv*VaP_<e7l2+udz{#uS>4Q$%I~~fi%HSqX}9qB zobHX)?g2~>)gV^J^+7FU|!{cjrTyHmaYy@!x|_Itev;o1FL zP#-VP_q36^b5TgW<8UJjP4JkTpk5SW9_lv!^^kEUgkfkV`t;!Jd;~@QXryJ4 z)tqFxznPC~G!T8%tCqfIZ=uLYZ_ zd2McuHn*WJ=q?>@lwQ`O>WP8-GbS30#o(E+ zo#RFB-J*m|`!iDN{zY5FcCx9eMZ-V7wX4=IKe7AsPte*I5r6(Wzu)_u`O7U* zyRcC!&v!-bQ?M!9#<24(QoqrD2V11J4gITIq<;Bmy$ey~$uiHGyAVTs&fJBtKi_3# z5!eG`_>gh@%qh>A`nldVSHh=^x6y|Xe{84KBD!XrpDyAilYgf#L*&}w9I3YWgOz@bh{{Q zLU^hxhCVs(c|Y|2Yn56u;Ze9=UW;bA7M-KTNqH@@b1nLV`W4%dXnQWU$s3-FP4Ju9 zrKr~jU*APYeEr0P;OhqTiLc+GcV7!%h6%nFGl~}bp$@r;7WML4G|RO(3Y4$yqwR6n zCcd6#g8SMJb=3_0R%Rxgtfb60A)M{?D5#Z$Cn5c6>NRZB!j8ZXQTv1S7oav$ed8AX z(6q?}PjEBp6`^p-PBCl$`gC>B&rhvo=*G2;(hqU(`oW2JL$UUKW)nbpcL^l#ZooG2 z?k?2s-Myf^d)O`9yGKp%1RL6iMr{j-c8B%J{r>2Ni)K5FSgX8+!iFWRexB&BPO=Vr-pd>sPE0J#v)&E>O<5X@_Y1l?2Tf~ z_loI#wV=A8tv~rM;toUa`%hYc+8=NXr2cslq}7Yljm$s)ZsuUr{-f=4!B%8-9CRc! z3DVC5r$E|3b+wV@!(X1?gu1#Mn-4Z5)cue?tN9pI4c${v323>Ih4%yW-a_raI9vxR zRH0Xmw3%p6Nbk`1ftnJ&3e*j11+|CT#;aYSUg&y5TBsfe4MsO9UcDUBzJM2uVt!sh z?fLl_RDQmMezJd0I{%I7eDf10edo@)7RZX=a z75L$hs_95b)zr=?mP#+wUQK6%3UxiCYMP_Vq&go`H7$WuO`k%lrmy4GA0YLkqHB%R zj}C>@kB)$JwKb%In`RXAa|3G6&k|7ic^;ByuRzMr+mQ0}iBZf?;Wtg~`PmOtsFslO z(@vMk&+(A*(+^U9ra;QiwejjKNX_m($eZ1ppqkys@$#3DGSv93JQ-?bLdZ}*P#GEw z$+eM?GIRl?3|(dvGjuO%&(Kq#Lal?8q0PEXhJJ#Sp*`O=Qike7%20DiSC4^|p;I8w z(D|S;G&x?L4k<$)8AXRSp!R;0{*IygQ4vV}s05^b)W9hAqmxj3Kk80slB1UGm7o* zYt-KE_IlS))wCa^0Ox4>bcHUH{&kQlVlJd=dIeH7 zy&bQ90;#8b2dN*Gea}e!s2ZfJbs*K!c}6im7oqn2+yyE>_d)V(F{J!F2Pr?RjADK^ zqxSq1cs~hM3sQa>KpMWAL&{GVNckB7DL)h9)ya^W-A#};yJtW(yOr_s8;~+o<%2vK zs%=8ZP-jpX>INx8eIRA%Oh_3TZWJ>#1GQ&pKB!QyLCVm(x=aOq1}Q^7K*~`04~>+e z8j!Bmg_NPzkY{Khs0 zJI5%_1IM6ltOPFvTM_DVNb|t!phoCsLz)N9HL_ADr$CEP*APAf9**q_NEQ4BR2|)i zkg9dPk%h0UK>0o~bqir-P@iJ24XJfDfVvRA6Lcmt1XAA_1s#oU0(73{NH>5pgp0u` z!so!Dn689Wo%?>8CnE=%5HeB^R7RRW%19eX8R-luBR!2`b2tOF=jnW~1!>KOl%@HQ zvUESBEUkc)rLQ1m=?6$zO8?Agyqw<`yiwQ~yh7L-98NOrA!X@eqgXdnQG4CY29>3G zkh1guq%19kl%U7N^b-F%AvC~aNonMV?k|9NQ3D>>T zT?U4m*9oCJP?+9!b7_dqvd(RZ;aJRaA3G6?H76it1`);k|YSqV`U78K~;H22%CRgj78bL8_j$kgDe+ zNY%3*@=la*y`gua%Aj|m+Mqg714z|#zERA`rKmk4H-O5>t&lQuH>8X_3@Ibe8^sp) zGHTD$I#4aH=msNYX>UkbIsj6Z>O;!XiIB3?3sRQOfV{<>4|QuVZfR6QLb??k7A-ia;-y%S9X)rn?6s-BOGVn#Ng_Kf@lDkBBHF;Yf~ zLCVO!kTO!;C|2*Gs69_@LAAJnkg_xkQkKR-%F;EEvh)z7EIkP+OD{m);ywbs#pV0f z&|BOdpjuohNLlJ=6ti>^YR}Rcpt6($DNCavW$8jlS(U~8KwJ%u?tWZ zQJ727`ZDa*Xm^)(7O0kS2c%RVgcRp==$W5azbM!K(Y*R6bM2Sq)vwCc zuR)(43hP7k?pnbgO`j3&1$&r~SwY2722>*}kA*j;s)o9Huyi3y^)YQJeG{-E`R@+x z0cB&G8Ws`yqi!VIA)sy&=ek8rsmGx{MmP!7@N+Yy8`ABN>R^G9#p|u|Vbp#@dm2<* zTn?$tya_4%IwPxdZ*$+E_D8Gl!B+U2`je3!tqMSTwAvji$<>lZma2E+il}|HygI1% zbqFL68|yNm+C!D0OfNx->1`Pj(-ufErKIeZl0G8T&;cfd@vodAmKC|~L*hYP_2<8+sYr)XcUDxE6I6;fG)ad|c-i z-n2HMK2a81K}}TlPc>2-s03+vu4QELdK+ql+S|}kpxRIeNNuPOr0^q*EN?y&8jsqa zEG`E1WN{^=CyN=7(!Ui_s`HIv%{`9V+t9P1N^gaf$|c8Y@$Ux-i<#genngKDNnAqx*Ah7f0LG z(e`6(hlQ4wnQl>dv&wHsT!rj!x_{H9I9I);l>txWdIjiIs0JkedmF`;b{axxX@iXA z^-#C)mNwRe%ws(_pjz79kXqV<*rsM4DT5`sw$FoV2dmuTFj=fc?QQV`um!$lWEiQX z6oJ$O?W3f`>n*K3YHw*ZLAA7ckWx4nQur(*%bPF2_CxKB?krHPYBU)cL|!hX$FTU_;TSg}dQctdElZLeSe6 z{V3bGgO|2%V zJ6AnO6Zc~wZ(l~{d08dU54GQz&I0x0_2H1#Z^uK`NdHnuF-e*IjbfifPmGn5FWtgNoPU@Q z?hq*j4b>v5LTVAUjVxcy6tDqmZ#~UH)$P%4;a{rgjJmUoPX?Rg+ekbS`I1H zYeum}Y(nkTzr_&C@44=(^ul)4TSQ?{_x9qD?ne7UY7t$GVv9H)A;Vt_JP)V))N2*y zKI`6q+MWfg$={+y?1IloYk=vvQPYUOwe4^E`KdB&$W?zVX%4FHkA~V{+8Np%y4c8E z@Ud_zYX7XkZJ@To+>M3L>KCIdqXeD>s}RHMke=h-#WML6LQ2uy!c%FgQTnp5si>j} znN{_;a9FgckA)p^sP`ki5Yoe$C)v@a4{H1Ap=>U98~+vGmC>eIGqahI>Nck$BtK#4 zYl1x^m$lD-W~5xD{agPf-wgge`@WN%{%r>K&K`DL_TZfCVa)~)&Kh1bZvAf7zu##C zvwOGidAjZQ_G{tLsO@bE-(h@z)<*E2Il-Z3{reBQgw}WTd%H(sJ*%-gYsb-q+-3^ZN0i?p>}`o zh_-h_^7jF3Q$t%_jQSw?@H8lYmqUv86}R>3T8rAN>wQo@dzxfa>c z;!0WQ`VDTZS3Wlxdx|%swa;8A#m#QwUyevEY00E3XaP{Ut!HGJ@tSX*YtbfJ40Q`H z>)|GNI_IMPK1{@Kz`B`w#!b;;CKf*gi>I(?DT`;KMX&wL;xM15UkaZaHuqnRkl_!Q zvtW(Bw;Flkx1+lv%}4+8`=#Udk&l%r957nuMmw&{=>&MlCJggYTUUGH;%g}29kmH#0K_Jw5{WD8@@ z)o`@;h35OAn|Sj*q%8JWj~97@7a0dHE(hhsEJ$7~GV+Mm8QC33Pq_8V+4XdlRR=>m zG(nD@jJk@P>j&z2eJIqNWG6r}yw}K{%e);uZGtE94C?cP@0$?Dgj9Y&NOPA`${UA# z7dQ5>6)Twbx)AnQgyiQYolOY$=Hm_B`~)m!hsqzD*L-5G`Nh%v5-hCms<0n(^CHUs zi*<_)NQ?3@j%NiK8?e{=b;)XL1W(hHY^;p^S2-CTq1 zJ6QXR(2rg1t$96q_hb|Lq@wd3nB+LWk)3iS2M#h0A7iK=4Z1Wn13OAv79&gu7FQd3 zp6T&<0gFw}L zQzK72SsYMj*xurR`P+~9?AUWHa9u_ur4;p*F_x)V*tb0u`BH?muvD=e!P+k^XSEpm zz_q$5Zg5u6jmGX*yA~GCG9>k72+0>mt};QDd82E~Ntk0oSV6uIR8cK<3tux@=7J*p z$k@~Q1nr8D&fu0N*nC2{8*V}vpT>fkcwP*t?Op+C`@>8~9pP>x!poxvPVAY&C;gAKI7f%K9TQ9l1HeQ>it-|^=L-YSbtZVeW}vpi0hQek z5t4j;VM55)*P!yS6;gT`t&Ehz;*j!H0n%&vMp1W!5$QLxzjh<=0kDM$p8k=jzX|DI zjF1|>+BMq*70~@??Q=B}9!s<}A`p2>kDh34?OF^&8l$|Jl8>yZ!(BVnW;OA$@ZfmXoC~X~S~ZZ(1wM8%>@s zDf~H0Wf~B7uvC^Y(2fe5kg{FZfggMzrQ1_7WknSNDVe3y#SLa&JiI#Jt z<-%OcrMZ?XqUGz+@@*_fg*(XJoc`{sRaLe*{#{x6%U1UGTxWjS3|=>o1_;RvzNrb} z2Hw)pZ$!xvQ*!d(eqMOpK6YleJ-W#GUI@vfOFxA0=rRxvk1ppKdrrooO~NifNWv~c z2w@+FL)aIMJ?w#lOlz~ue9S72F(J${+Z(z?2P|xsDbGeDB(uy(2w|2vRZJu|x^{Q? z4rk36?lSfm=b}y0eA$GM=Iha7H5N&l`OeIf=AH;4&3(nBQ`xnO39Al4f4ccV* zNZFWrM@Y)(2@{lySJ5VA^k$;n z;94)EO(ujg+Uj~Qqk_W}RAp4!*wZY7HYuYv2uT@rbwOp+C)z(T!c1%-OX@EWlDp>D zCWL0U+0dikf<>|jU3H|)eIcuX31K0tDY&=&OKT7LsFv{AC~g{*=mgxK}~HSiqZ7QT>G zNov(l9qEPj!LX3k!p*gibu`vqDIHzyW7Y}i-IG(%Ckt6;ncz7djQX|kG<-GY{#nsk z(c%^?lKOc8A*r92G55akdNf~+MN&V7M$6pmr?d&7e#(KWpMxRQPaPxUv_|1?Q?96f zS{k{xt&C#*%s@!$=N7EJe(nTSKMz5wpBJ!A>gQ$DUMg=!ix1qw>*sUS9@|%->L+E4 z;_&*(Z$kL7@?O%be)a)F{Zw>w)lYS-y?zdHwbxGr^zKPB^hy16GQo2^`W89{LVsci$ii{9zt3;vS+yoVR7i)X#PGHNpV*=--M*N ztC^rk>bTa6yP*l8xZ8lrQfIgDG<&#^j*r8Q-K`O5lj43KAt~<9ObErj5ma&i0I9gs zCK#!>_k=R+Us^e%Slm@mdvVtSRou-W74lJ#3b}pM^@TF+U)ms}SjZQm_Do!4$n{IP zo)q$BCU|b9piT;TIYLs%>r4oR{8KbkH+YWj77US?Ne7~#x*HDk4 z_lNM6(yJlA52pDm^(}5*hFH?}QH+{t6m>3zzLaxWxPo(exTf)6!W**WNgk zOE&6c8}I-VaODfBhu;Y#%OOGyc9Oc1O`Ykf+>cUT`TOete1Pf9@*arpqF=*eNIE6BEaUj0ev zegAp3>pky%5iB7h%E89d838s!c>$ypZ-A8IY@?Xsqo_T_XY=YmLGLMUMsH17Zk613 zx6ma@8KtjG$xu%@31Li_jGT&~mOo5t9GPSkHW^O^)y(eWvghPkL+@(Op-fgMwjd;{ z6I*5OT{DfB>EW5JM0~|w5^WN;B|;MRXoRq`(H;(Adm4MX;k~}HvrF&wm8Jih_xde) zm7hFb_V@St{wy@agm9x7YUrhxYy(gs{F&PT?k}6ik9QD~`RvCg1V27EbU(tbffBU2 zfAOvXW%YON8rX}y1j$lXLleSM))8@EK@%*JrK|x6$@1ASgs_w~UQ8w@yH-nC*Ep-c zUuWz^ay{B4&7~%UG@p(Z&tQ?Hxd|ajGo?aqnuW!rS<EB`$OaBLiWFaE0rdfM=6$DlKr684l zHKSPiwNZPX8%B#}ZsDbW6l#yHJ*d*}?iOD9*;1>>2TLy;3Wm}j=jJN?NmzU7PjR)E z{&e*2$&Kif(qCYL=lCAfwi2oQ?0c|m{3F*DO;Dos(I(#}Z<1&`y4Lg4&4f(f?R^@k z=i(udem8wCq|ts7q(Z;O$YS*u7PCsIdmAhuc1Ss z?;veJFI-!(yLZJ*2+wx=q8}MP+g=yFFSQ(INDPN_y+F7Hb>_N1RP{%nJn{}h?+=t? zKs~2l;1>SWdLwGTkKGSeAnwPoNOJrd~<%u9eO^Ky{Nyb7c;KMYctw>Gly-bXs4uA+EP0@VU~LDlhP5Y!Yp2hwBcdGYE+ z(2-od3OWgz0i6up7O&n7X@dEJk(Hp|Szbo%mGeEQMY28W7^$R6L1l^Q07x}j+bHI} zK5CDu1*lxK#bQLL+dinhZu=S%SAVV-4AnA>>!A)omDvT5YV%TTlls0U*Y>7pduz0v zm)G{uT-&Fj?TgX&^}M#5QG5H^`%tClt>-Wkf}6*IDw7^=;j6m?QI}P&hk}*J-vyBJ zF%42Xy1~eLz0aK%o8Y~E3F_olTBEMg_FL(>5{Pb@t9930WgKp$Yd|T#fYh#jH1dd3 z>RDX&Roxv$P^`%bRy$IiR14G^1b~CbY z-Xlx9pcZii-|?d(xV`F#OWlYG;N@bc&b)P5WM z98_EQC!~QVy`hm-=L7g4v~i1atwUz>0H-R5f(JpFG`CoiEJ9&SSN z61s~CDwaNIlb6r~673k*`b+2wOb8u+vg>`8ajgrg!8?sT&ADikma+jMX(^jbP?|rw z)>}$uBa7X?JFyq2^4{Mlwv=ivD4mwZo=z*YNlTfFkd*C06GGWO463C(4XH$zLn`k# zA(ibqqu5fuLG3N&dr&Q%JWAcwUj3y2e`|BY_7{#4jw<9F)gyy-R6qZE$rFrc)=C$9H$G$+*B>sX%iARSS z2ah^OgXFg*D(0R3wnP>?{cVXXcKX{AS?tPhOSEMAE59vK5%2W3CAvrcDZefGieH>0 z`=u&0SH1auscI&K9 ZUodJUr0$!!vFf#xvA2WHXp{IRxQWMii3uUTYtVaqHwcMu zmK!U+g~lG=eQ1-7Gam#KHO4PpP*J3`NbFOMqJ1p{nj)3FwpN>L9N3JIY#bfA z%4c-=X+r0|S!ZT%|7Q+`a!v6f1LKeaH&sN>hDZZh-?d)?+@o4B^+bpYR&#pQB`X7>fT%g35R$up*$;%0(`S|H zUwHcL-lMHPUd`~zX>39`IJB9eH)`ze`7-^T%Tt*9g4?TLHJa^5SR`vbn^60Tv%O~s3;M;4qD2MNZc!&%G{a(an2WrF zU|)kL@{Pvs)ylU``(=uEu`MQKHdg8VVCWW|KQoKhLV*l7Ar#0cL$^5QYqPLd;_A~^ zA&k!SFP6+OA#63CjXqfnUVz>oZSM#5OuiISkKTxFa%!zTRflx0`^nUcLr2|$P%yK& zyv^h}*B60{gL=(T8q$+}IjEBTORELdgBnA6;n6Z)JqBvP)f1sM&}mR>Xkfg0Hlzjh zd60^9v5^!44T zDGxKj)0&rM>aRl4zhXkDzSV|q(X*FX+>q*RbUH#>_|C!&CWM8N1z@`UOIv8<0h8bO zsmK4@f8+PSjpq55l#D%a@+$<}II2SZ$%OD_q@p(&YW27bq|0p}W$h#*&sx`+7XH~# zCT}7nk$qr7_;SJLpca9?f_%BtZGCc||7KJBmxFc#^{TW4q)_`pzF=--DR`(uPE?gc_r}0XiI71ZekU;Wv<13cNm@anP)=& zknPGQBx5sJktmu$O0+Gck?3Sdla|vUB`^(2u=@6$~dC|5qhv^60t z26q9~rg}nUiDCd$1sVa>gvLP!LsOs{&~!+fOJ+kFFc&~aaP={$CG-^33VIn*CfFV#9Ny!e#NlE_=@Wv(LlJDOR=b&CLU8yJP!3-U$>G_M9KIKl z!w*4n_*qB}zXZwQw;(zEDI|wCLvna4B!>&%Yb1yFf#h%vBQN2aM(JxaeV%j~Lg~zX zyE*(m*`(3u}YNY0>t3TuDs{sO4+=~YOb z^kXBB;PdtdB0Yf$!mfJhHlW%DE$C8=#y(OE*cap zmoFu~QN~`R-=n;7YS_rz$AmD}4hVWx@|axx1$p&X=jv}npBAQMbJ6=xP#y-ok|34H zDo7E(4^_jDEs(nYkMU};3Z_%%u5QF2qCgE$d+e=2#ohr@?A;+54ull@cu28d6t7+n zDfat}qVF%F_SioG75hd=u@|gpq}ca?6njlbvDb}PTSJQdRHNwoaMT|A6`*3j4pQt3 zA;tbAq}bO$iv8Vq^=nA67d|kL?-fl5u{Q=4dn-t>_ka}pAV{&F4=MJGB9d8(Hi==G^2$DvjYKV{gj?tC`7u zJ`UUlCu3SDhTTf>?dnbSUJJsP!dKRyAJ(|w?-ggOgS zoMRxxc`2mZ+SQO^p93lOg+?*<#i%{@<)C6;3n})GA;tbJq}bD5Gg9nDA;n$>QtVZY z;_cyC)LvC<483~Zz~ZX#EU^3QCM3^CB~1v=M^!+TaSbC6c*4a6Q_|~ZXr!J9r)KW0 zBA#qQxC>5my{9?d1P^*O>e?RkaW^TXpwE~PCcn#~^|x45%TV$aFHu7NuB?>_9%1)s zrhYvoV^8YfLWHD|U1>sipEupm%}1>;i^ZuKdtiP&f;C||aEl3U^Fd$x#i0ETLQ$6O zr=Jh{%(=1&A<9F*-H7E>xA142o+fxKvw71Ie=GQizuz$P$I$PSq5DFWHpaYswcFkiu!8lk>N3D9kEt=kru7Y>x6_|R@TOSR+ z#GsZpr3M|8uKy(CC=1Koadk1IS>iv8tYk{cG^LZNef-W3%3^;bv+(DFb}s0- z=nPEiE8vA-bNrbNX|!L7X=<3vYwR($MLRD1+Ioze_^~Dzm=Fr}Qc%s| zCL<4cGqzJgzye)OD4khex!c`@a5_^-Py^I{kesTIZL&z(1htNp7u?slixKKKF)-ZVH?Jt2zqF%3XSq%>tN%soO>ARWG$&Vdf!Rh22{YIvQUwY z%e_7+UcaB~$%^LlCb&<_P+uO(<2$VV*7%d5A}e-$Vp`lNePJ*?8o}10RCEKP%^=i| z2AlFHn2;J)-76#5t%H(k>=z2aom{Ue-$};dVgGzr`yg@!`h(=oO<*em&Vw|g-0ZfM zWl-isQ+vzpZD>jQP3I!?zDw>2^vMR}FHG>FSdTjSDdMP;Oh}gc#v^FtyAB%dx3@XQ zp`|SX)%%`?4#mIMAl(OdKiQ}Sy3$Yws9e-lg-$?sn33I?-T9*s?A%Z;w8z9phm%0f zg|i@~IUJIE6Ce%3j~Q9ndt56`@I0ScpZ^)ZWL!Q~ohpq?}?FH-^^J10gkZ&ORoD zvG^=dKF+t6?z@(wz1_NYkyAMoc%9qxVhl%zuD7 z$^4$(&Dt}6kfB@DGD?3p6wf0Fb^xq;#50(CYg+{>osS@u&n9e>A2p=*Ftyii0q_v~ z++9kj9CRR54bs%4wvm;MuP4_>?ZZJ6(4XNTmCXs*+Q%D|yB@i=ebA?d+s6R(2g)P| z+?Vt&fYgF7hqUzexRHH!-tR7JPYWyR5;32Mz7;%bhWQJf&^6;KYqL+DR)E1vGO%_f$P zXJ_SP4<6WW(7X-E8Bu@`yJfhy5Gb$jo62DEeiAI4{ov9Hin&VvH6YmJJ@2gZRp>cWwr#d z#by^`h+AxSA?(k$*jNPH*5RvZE>64z}#vbB4WYw-QC2uDqq=qjX_2f&w{wvIWpzf(7jl4{f)4CM!FW<7GRR0ZI zc9iaRx9q$;(aP?S3_X8tg_Bn!1umrUbk{Fp=%trz@KJm_-QXjO-@3ua-Fwjz^xZ&5 zfxq0~^OGslSBFVt$CpePlj*BqCzueH6ncQAXcT=QO;rX!nyQR2vJ85zCY#{7nu7ZI zRR3|y`)=cJ7&n>_W=C7Vio~3`!l*n{1k!}NG^DA0Ip`>^)`D6=^^9V=4NdTL3#~Nu z+>mZJ1UrpO-T8DA!b;UyL9dz^ldHcVuYPK-{<^&S+jI2`T<>|m#{~Cb?^Twp{a8lP zH#Q+`*=lC!7IU!J6f9O?;gz&j#tQdNG;aB_8Qb0vsRx=6jE93>qoWKx=JzrFE*KYK z&z8r$H|WM?4Ba^F@6yx8ukG)u_qs)#EF=#>upjEGV9zxn)c*uf^Wl5l!k>rkGr?2b zZ?y%S9hRfJASBDmCz}v9O!RcUhaF;qhdmqh%J8%@XN|&o)y_2`yn0#)%7cfoNREPD zirUBW7182#Eb4{D$+uDadg3}zA5HrP(j(#bkm5~!!>9sHumGedg_4k#GxvkEzEcs> zl3sPFE+Gzqw8GRB(h65=NZT&jK?h^k)yPUFESsWs&rS#B*;$Z08wSa&uT*QtPv#7T0rvbXh@!QG>V>`fZ9Fl1In`jkUYzQB+r&W^6Xhip1ovbEzz6bYp5%zFTVwrqrN|c z%0OR3dglBN(lSlTn??t5H9sWJc7t@a1f(bIeIX5<6(9|r)#BCKMpiyPjMPW%>(os^ z&1YIcx^J|Fl-n+l%I9QA-u8s#?U|6g9SX^x(U82I0Lj}+;?*mSq8Hbqb}wdv^5Ql~ zUd)FS`yxmS;EzIkP!>x)|ZvvKldJHe4_LZ(T(5Hun^d5R|2kSt2wnfJH_#?K-F2~FdqwOA`Y|B6e zuq|(7PWq36tD^QFcsB>t>f1<(ZBIyjq93FIdK{!7W>VD6hBQ#kgETBJg0#H%I@FN( z-if-@k4&eYRT$Fny&t5$Pzh3BsA&}2NAqVgnocD_@;ksq?)V|?NmrZ^XZVh z8*F6WdE+=2wWoa@sI+HEN!m|AN_#n^v^PLXdvnzNAA9Ek|K;@l|30gwC>mC2@3e=e zXrLh?RJ3VFJEcLSP$Y$nN?JyxWK~Ke*0T}e;yC{ zJg@70opY|U&wcK5-}liUm`-UIfs}R`NNHDvR9bZ)l~#Ai{V_`TgF5&Fx<69NAISZI z+#ksOiFHSRXgc=?a(^KA2XcQP_Xm80wk3a1H(%f4cCfp`p$ya~O zqJ;_J(xA2Ly)rID?@hQHs66zCREIO%*6VPI30|1dV-_mRzwcufpV;h@_Fh(BFf_3Y z+2rm|gR~`gKJj$|HJ$W?bmO!iq(Sr=NYm8~kcQ4F@vnD68blXCS~orlX~0|+|GExR zM@i9eXj1BtMqZlH6B=qAzxafPt}+ki2@O@$U;czf^lEf@^XsohkDkF$t`D(iFuKgN z*0wEtGbPz1ipINTe) z4b)leO^{6YLaK&rbE9fF%qVSFh`1X<^jgxsCWOV~Sl9b2oF<_6tDf6HMYsryk>M)y zHPk*Se`4tMopYX9+?vft+6@TLTUhz^l1U-P4?wl7&mhIU7s_k@QV&4N)RFUzG$bDf z>DMAqN&A;t8ma`fVFN2i!5J<6)gp~HpkkY;*{`DS6 zY0rn0_6n$s{Y!l&{&k~Koc1fIJ?)P`rTqn@wD&krWRNhWdlf85zU~Q=vo{xA%f{;%P8c+y14FFp5K6joL%q z2rAT6NTFsz3N_Ej#xO6tRj9q}HXC}`MNe*N=K5ow+?xBKIrD8epplKoxa^8hWtYo@ zu!gG_^lDTs(R+h$D-$v>F4WZz*kN1tVU0cX<$5*o*a|IhtiW{a`;es za!jrN&v|l8N&Wqw9J{cdJ@>UITyTvwA?$EY0_&=GPBHYJ6+JPgydB&VV;|VFV`;Bz z0?E~ZBs4JO2mO?6K~R%KB_mI_vQgSL1!~LB9;g%Ofx3eVG~CDoWtwh*-VHgcfe=03 zSkHuTq1^;j#OE7%zymj@WlGzUIbFG|HQ9vh8Gg*QfeB&1^h{8@4i`c>8L_%Rhe5+3 z^^O~iJlahs*`sO&)3fsXcg7*k{I$}9!LHh7P}mLf)G>p+Dx0GXJ%(W&5(c*#hevO3 zH*|v?51YaJVYSp^sR_}2&vQ)(H^g%hM+0%qXfng0s)cinJTHx(vGCu7 z8TiF#O(+vCD7Kpr?uva0Y9}V;IV06a4yYK>9t)L$PJ}8zb)ZtvsgQPt&Vs6;YX@l$ zum^N1x)IQ6(DjgJ-rFHLJj2LJ+1H*6Q2YJ5)u23k5t3)yAbIvNB+m{&@+`-CBYAcd zB+m*%@~j*r&uT&PtOX>`+ClQH2PDrfGm1SMiP}B88I)%;AbEB_B+nj)g5+5Pqu8@EQM+fIL3wr=B+rIJ@@zaL&+dZc z+5M0_TMWswRggT}0LinhkUZN3$+P{CJj?#Pkvz+76nj<(wR?6FD9@Tg^6Uagp7n&} z*%(NkO@ZXubV!~pf#lg!kUV=Cl4m<1dG-S&&yLz?B+rgBiajfb+C6Io%CqwzdDaz@ zXM-Vmb|WOuWjA$j&bB+tHqWRD3%q{$2{y5a`+ijrw z=R8Qo{W+9Qy!#;Kt#ZCdSIx-0@zW}GQ2TwEGh&OgA%*IJZB*;SP4Jq#0`*Dh%Km*A z`*T8zKz}5EO>Fy69kZ?BrxUlq(dO=lCWI>Z)X-xd)W9s(hK1b|2wB6MLY_4t+@*UH zef04ErwM(^DM|VxObGVH&_{RIN}1qkeLTX{pM-T^-cbsBgetd+388$?1vSDAhE!Wm zx~=z{4XFM0$h)9w;1evOr^%|1R@BeL=s?G-; zLHP1eQK%{;e`?3So&uHN*9)OqP!~x4^o)P)XB4MB5w)j11ytI1LP~oUq_m%el=jn* z(tbYv^<_wDe*!7(FCeA8Fa9;tRhD+Nk2TqZFtp7#^yYCN7N3Xv3_B2x40psn$J|Gn zY-0@N;PFNtuz*q8nl$eo=OUzpho#zK?Y9v+g9Rv=%OJI@A#Up@pGTthp=6SwM?D#f zRT;inSp8~6?M=3>3E@h!HF%VYUrJ~YqzkYspkvTYfr>zP#=50Yd34JmP4`4mQIvFYeNmm_GBdrUmVp>8fv(84Iu`WhwOT#(Z@d&mrttK!bwwZ|f zolqgG+$Ohd)|n78zX??2?-+UH?_zsTsF3<&lOn+}KTjl-n#0H_jN0_nMZRvdFcH)~Ei`CWI~08lZ0@yM_0(^Mg61)jna}JGLH~Y(2pR`Ed&--bC&I zmHGlBcWDu(TT{I89YBZ%&>Z8;+K)LDHnalv0jC0bpH~_t>(5T;FGj|SEW zCb$nXKQMLqbj^udV7up~dfJ7M;zt&~hb=56kn6)JXzfo;yF1<8AG6bhO;(Z$e4R;Q zfVd6Rp`z)K2F3>=-SK-EQd?gQY1#A~RFbq_h1BY|L+S}TA+`FiAZ@Rw?lP)Qh-{D+ z9{C|H1d2oT`L!H$3RDX^4Qc>2h0cVuEbatpQtfU;^VVd4DQa&MBR~xVS3?@?ZibY< z+o7Y0b1tO(Er2utE{8N#tbx>aH$%$vYfu@&egG+dyC6*(`yt(}&%WD8In52Jf1dy; ze5-(+!aFG#OH!WK+4kwNO^h*Ql8$1l&9U0^0Wt1p3*-vQl1Wjl&51L<*6K`JXJ9Yd8&od^K=@h zJe>(CPZvVUQx`~i>IW%LLm}m9ETlY5fRv{hkn%JaQl6GV%F}X4d0G!CPj5oX(|eHe zvr!tW8RN2TLO!pf&lTrJcex9Ls-~L~ig*~R5g{q#95M8A#G9j!? zA9KBjea-|A+x#mtua&Nn7-pPNNPTy-p_=<-1Gk)Uz$~lzAn}ZGMip7EH*|yjJZc)h z?Bu8pde+oD%4?KXC_Ojc^@WFr`(*-QYx{v{Igf%i$;o zqYy$4ZiVe60NK0;4zF=}&{+$|hmAw>%Ru?}3{-(&8=)f5D@L)WADZBfe2lu1J2Jns z((vy&tuaCM^(xwEgx_vLH~{soTl@9mC+LgH{tHl-Yx^Lz(M(;8G%jX=&cUI>q0UfV zs1H;Qx*VzkU6TTy0ZtO01nM_rs^{(MPW=xCH%) zGU)@V_6A{*5=wIf>I$;B8q{!c0~XOI;2&^vjX|rO^HXf=G51Wo1FF3qcd?O5?NlR6 z#a9CtxS$be6ed-a;+$N)HUHSu3Qbtm>C;Aluol=4RAw{Ox^LtR$>)de*ST$XGxG+{A1ws;te zw9wd=q4tjP5~v~Lbu8@2jH1rgH@3(HsuapXx-vP@h|JXqe^2HY#d4aFl}{zb(jIjk z;U!>e!i<1ALf1g;p&OuP&@@Of-D70_c&%(hNcFie@1fbThq+(WJq~JlxgJux%YT_t_7y-e7xcqP zuuYJ}(ZV=1?#`gP)DTF!F|WI+d;gIOiX*+BB3A}-8izSHAL_KQ>L`W~{I2FdXgD~_ z^$Od@IQ06?peFolFh~vkVIpeZ9-Mnkei!v~n&ul(~Hn!P^`Pzb#rYAFqB9Eg`G$J4A17+#X=QJVm z7t{i)6r}0yBuHmv&VY1T@gSs&lZ-)%$*bU47c@AxG!FYn7obiLlUFD7zSq|i)Hpg2 zs)uJ|A^Ccjk(Gk`xB($Nm+=ZF{xrawpwX$Z=*wpc`-jSJ>DKPh27H@1E<*?K2Jx<|7I6W?C^0aR^f8xo~b z$jJQg{I@_z_rsg#Vd6e@K%Eh~`Ec~UY`GQGsIdf#)G%x=M_o^C;%QL5IR8+yh*lhh zOb8aGL0Mex7CybKMeSbiLm!n?>gA?)uX2DYsggz%Og;M>=cNfhd;d5KR4eNXorCR2 zNMr8J(D~@*KxaT%h8d~loo2)|rtF-B+S^1MP&GLOi|Ey2HzQc5B9iU?gH{$FVD23> zb-3*P<#O3g2s7@2hE!4h}`Uq4iM~sk9 zo=RPWu#?fuSdR8Z`N&A|0C;_Pu;dC8!c=q(sP)*5SVS|_ZK!>RXCA1&`E|0zfrQ23 zBcnLl7{zg1ixA!=zXT4iSbWh~KBbO|7A)yTX+_eNN<(-=*v>x#K?{#gQd8zvLSYBz zM&k@$;!cxkxX60Y1YZj+L|ryr?WX#b3h5g`^-KtJeq*pSaW{uFn4Sx1cpCv#;x)CI~IW7G@E z0riBAg33YVAx!~QAvK$hkaBU4QQQb;BcywwJcx-mmWM&r_-aU(80#VJcWj1K(yu|9 zNZ*3AmHz>x)OSHj{g|tblzLkuD`g*$`l0p`8V71Xnhw<@A9Em;#sWyKZ7I}*U)MtN zYzw3T;_z#fH@|n6--OVDtD;X0Ney=+1(@nT$lWE_d)s^(RIAwT20kQzh}t917^{?g z!I~8zTz=#>4yhgssuYVtYH#H+jcz-gYJzvehN$y-5ATO@Rt>~M4Am>Hi!E=!^8K*I z{tQC&PL_=(gh}WX*ZZiw4ZUAxe+(*L`>{w3Q%%~n613vVXY4-ZM;mUMH!=>JBpqXe zP8bBIZ^XczzCSj20D}^qt5;$B8jtd|H8y!2bvZZ5JkB_JqhVGP+>h+2E4xX5IQr1+ zNT?8Y%I=YCAQMjruHG4Hv7k2aqsEcSwG#Kp%eK3}Ys zGa+>Us;>8ahw3Jn+iUEgUwWoeI_~#>CgJ@??53&AFJSa@^SPrWiMyp$}-${x{7wS66XRzS-c+m_&XslQI9n+f3(yD$1^*QdV; zK17^K7mPQe+jt+e7~7&hGF@ZNXxMgWC0rewT$5ySk8v=#*A0%%M?XGGr-S~F^yA;- z6^;M>ixYqUw<7-NRgCeA=c1R+{qtJH_CDOU@7-}o`;NW3U(%;NZ}t1%7>9cG>fYa8 zyZLYL9<)~#{&?u=G~nOW;q`|}hQIhi#GiTn;lIcEN4>>RgXPb>#W1{>P#5CA_F}^5 z!=p0(!#_MKuRHXyq5P2e@TlDV)8AsKRR6@c7=~BBX*cQDUi}t*+Ed1Vn@@X2FKALD z{IU*1eLyVSq@y$;cf8q~NCu@^N& zkK4-kzuPd)_K>>(Ze*Iv)%#$gX*l%WFM zY~XD$oQRY5zdR8aPSj|V;5VJ9Q6fKiq9zum`26e|Zlo zZ2ZXbmo|Q6@XH%NGWq3=ADJ8~8$VWW4{=2qUyMHM7m}u5kG^oa2Et>nGaeq!%@;xl zXNqdV;q*d%<1kh>Mjbs_*c`ndX*wra-!`G|gx-hQfrj412cs;ZvihH4t>Dqq)d$474*2vGxYlZbm?wS)ao+HS8m7aX~+P z0*B)P`!V-B=s9mPEJ=O}LK;!K8=0x^s}6KQag2A?E&kQ8rn2=$!R41wMh6A9Bc!|6 zU&HofE(v9yWSrr?)LXW$nZVQ0hsuWz%ih1 zWZmG_zKuO4VexouvBoX@AVv9`Ek1iQA4yg>4o#p1>Xfh$7>wRGR9CpUhkeEbHJG>1 zriGIrA7SlYeU3hQedDo{P4D;XIvQFg{0>`h^uFsl2vi3e1*PHCE!ajaV=022PT+?p zG4Wf7>p&Ipn~;9~8q??&Vv$=U=;ly$XDwoS8Hd|g16=L5l7^%Ao3mp;jr|iKHHRr~ z>-T}~PT0-?RcDJJ-4S`*ZM{HNqxQQ>uYmIOQ!JvJ^T$k)r~09Yaj>olN_i#*k@au{ zyJbarT#bpB#{^L2cq^oz7hoEd$2Np;bN)RUs~&fuj&4xzMek*hX{w=eQ_#p#_nNDW z+8bJJunKN8gmiSJ#;SA4Jrx^Hj3k%hT7wt1uD)5AjP>9Qk+jhigO*L zIA4Sm=UYaWTQBv~Z&d=i4{)||Q1?U~y&iP{dOwOV9?XVkGu*-ljQOa&;V%X?7%ayk zdSLB+)ShJd+oX5%>L!F%))-Vjo#Ym!Rq#tuyYZ7UCiP8_Qps_9Qfwz7nA@0iG7iJl zJh$+T9>IDfakhb*dFN{n*Y?7=#W=LDyFlG*nG0z- zvj9??dkoSoniq_$bUcmk5mJ5R%6x~J_|3H=K$XZbMrQ5mBB(<%1JwgZBwLJ4SWE>K z$Btx+Tz6W8;TC*tXU!_JjD5z8x> z;1BrxXm|LOetkQ3x%BVw{T|!3YjkPH%DQ)9+n}8W{I2`bb~~`sfFJEk|L5m>e*DRx zAMIR6ZfdW#(||2c=uC!IA#Kj$njUoj2`c6NX|-ugLIoM1md zy4I>OSdsbse2NL-G)IZe zeTFxjKXJRf(hy7czL4%vge>79f^jB1 zs9D!h4HX1yX%Sc))Oo0qMjkBx2n+T~2=EOk_WOyTeL zbq9I)7k}L$dhfmlfIs%V`_XIa)dl~Y*VLVls6dpVk~-Hyi)jY zUKjs%3425Q)meNu@~Dy~q=a{)9cw~3ol+RoIe{{eHZM7*3F(H(zF7A?q=HB(n>nQUUD3lbrR~&qSovax(ObrA zn-GqGo#J{w=++XwpJ6^vCS>8FWQ(o|i(ausf4A`S(F0BJ92Y%3r@dh~tjt;=L@Tp4 zCWMW>j-Xa%Js_>jh8cMj`#B62AM8HruIP|hUZb?VnbT!{>U0yL(!9V06=Fx@aG1I~ zcr4ku3@Qu_g-SxBA;q=G2shQxo^e4{x(O41@7A}VZoj9_khPzn&2EB%9f>x2pI=cE z!W*orf_n97BPbUs--K=a?#+bl;@EagY@2Ill5fYG5DqYw0@Xq)LQ0_qbT}zAhSV-v z8<}7Ja=4377n8r;!4lYB2IQyg7Iatij3R3vzjKY3(p4kMEdj&v+ zDF><74>Gcn@FN!^QM-Q=z!La36;hhhA=Sh@qd3$NQZKFLk)=Y zK>TaU951I_;cr3v>#3E5wC__Afvd((BUS8)A-ke zrOEjnkREFI5YjOC8KmLnyI7ZbzUg#ywt*2Is0vRR(q~-^!*_>@roOe&<{`6PfqCXNY*b&=$E5sg3evP9Dcxu zx17}>J~R#+5}yUNDkJ3~`KczD6Allj>8{srlk+8;uCG1NXtV|3%iMp_xQH!}Bq zj_KoqCb~hG6ql!?W9u6r(Sds*A?(z=zXQ~1*pO&GSZYh3SB%4_Jo0`om=@njCoyQm4_KwM=|O{+E*DZ!UBQ2R*S3e;TL3sQCm zCfkll*xnG^&W>#tU>iO3umZJ@uFrt#g)d+ctx8@)?c>rXpn7cTQpMqgmJ7k2nW9>c zg44WV9B&+6-BuRVoN+p&;_Z%URCoPQyC1_qt(e9@#fkQ2NDcO3NG)g$q&PPiSxo-m z&TB4c(0v~hFYhlv)nLv?jO0NPBP$8dTp83}@s&X>={i7)YBZ$O?uK;tcM+rsVVzOz z!7He}yT6M53MIA|t+%FqXswW>-;a>$#hU(TSkoP6U`jtDS;mC07OVoQj+#L#@^i5D z#qfDxy5G2NFHLn`@ijnaHd$@Z8j{WY4oLB&%5QZ1B# z)Q>Ad@~x(km4-h`I2g4T@hIu#(m1qUVUs|W_8m}B>iYpmqsuBt>yCdxYJIzm;?nsZ zwXc*jKW-=wPJooBl18C)DuC%;VKt=oWKYJ}TS*I04i3g3dZFAn)a9kW6@B#h(|q*a zW*$q{Z$ud3u6%`!SM~R(qn?-P2}M+l>>gA*~`` zH?my&<<}0>UTViaX{eZrLK^2PLyEIDq~6pnwi^h^ixEZ^r;ku$rB?Hr2rASfNTst9 z(&}*?q_J}kq_;`uTWKUOibE=yQ;jTkf0C{-g1u0k!aoxeUtgRDN;wo#4A(-cuX(ZV zDM+K%2BWk=VX*iFwLj;((~!tNHmw{CGCmETCKA_h@Nb_tr z#l**>b3m0vZ%D0TAf`TA4*^rX+HS+Z=f8(RwTg{U6+C+**1ctf=F{-^3w}|3eP?7I zc^giD%G5rRWj9QFbY#eD4y0#8CXU6*dsbag@ifLF8okd!?eX+RAAR#+IQnv`@vA}2 z(i5O+cy|-F(R=h~qxP%t`RFsk%&-`}$GySO7vmeTm=qS{xmGJ0|8_@y6O>>f*Lu?{ zX+nsvBB*6y6)d9ZvsS{QA^PYd^IQ`=&GS&(Cn0t5Fx_oD%{eA0%_pQ4zG)cTej9Bx zOl7R`$jN^eV~;y4+8H4~wM@v!u9nm(w&;Sz%3!e(!7kfm^Csp#66^xi@D4!ULDw27 zzfB-@-%&;u-rMc<67c6%SF2Uca@H96u(PgJpEh=%*P-1U%A>&37PnsxEjM(FCyml3 zgm>OFct&Y@4>`?*&<0z9O0o^4ZrKr%&;23g=qe-g*{?n)qV|z$KBx}98d9j|AjSD2 zq&Q!VfBhIzoSz$6oZhy-LG5Gy51``Ayw0dJg>wR=rBF>s=`=91@ad}YvrX`PpM!dQ z$oD;NlV5c;--NJNvN!Y0?tm2YZb+$Re>Tz`59zYKs8O75aT7eqJbb=UYBEbIYYg}ecE*kJ&bk3~=s zO6^fdW&HxA0rnNBB)@KhNSqaNgH)@nAx$tBLaK#sP+3y$3zdfkL0SWiGO`l)9y1oTFGi+<>SyyHrMM8% z^tS?1ifbXI^9rOmw?V~~d#D1m3#tTt4QV?3!N}6~**NnCQ+v_p1XZGWAeB)ONG-oK zq!v^W(j-~~Qoc`tl-tvx6G?F-R1TUARfd*9T5LaUWVP-i@hb>ni{vw7Z+~B)y+5?S zdYfclK<&P<31PRk1t=d{OGzphK}zM~Sl7oWOo1a%diJjYwOp70scff0DuTd_$oYYM*9KalJ1{ z&Oq;twGF7g(+7*x(0E46oB|jp^09HUvj*zBjl=LXAJpP)IV6vs$JF+cB)lvG;rF0& zpZ=ne>b?Y|9(E?AYUu{4jSY!)9`qm>@q=fGwtw3E?seS-zV&4U+ z{p80gftQ~gycz6Ba6u|0b8N=@wYRmzBC9@@4W(2&0h_v=C6meAimQmE{R#F z{fPGc=%cz^jNWIBRiMgcJ*1xS5~Q*I!}!-vjPQPM`1?J-C}$Zj8CB=EJdpZqL8vae z5>RcZcKmBSBQ$4(zb*Miy}k{k5v(($%iLZ@=DA;a43vRNc?76DUn3zrks8*si%|PKvKdtEZ^a_|K-7+e#iy~wS8m~h!+zAhJkEH< zP;KN0NTWl3NaJ!RBa7D?+bGmNnvZk6ulFaR_bc7$uJ>Vg4SHXOJP)c(rfwk;@?9O$ zSk?;Cc-j_H8|w;biQflOCm(EN-gxZOPkiyR}vRd*BhWV(yo|n4b2cmTdVLtfS*yn>! z(Y_w$gHyID9-j}+Fd@tbXM-BE+ek?nc7l}4983^&$}8Y()PC9C2Gq#Y2~u75fXa~Ht01jMu7fI|yBX4~eIF#>cR(5|_d`lM zZJUuU4v&H~eit_~FMO6NhuT~D$)I|66G)>_3rJ)2MUc;7M%E&{%Zx%u!KFJzKC#So zRs&jW9QytWP;=OekcN)8F^#snK1A)^GRqs0?cqk|uMZA+QTv5+0Z?U73{t5zhN|LD zb4a6dUr4QKETmR&H>9y(Hl)$!0V7Mt3u6gt-<4SlYQEftMQWJ&-bL**-*ImmYUV2n zX?|z}Y3Az;)xxL2kmkVYkjizgk)`T$;6l`%|EEFu^(LfxeIHWG-UX>;e*+yx?1yic zcRpR`Ga<}@1<^;NXbJR1Rr1w9&4KkHwZA5i*5>WvU)viIf6wsuGW%=sdEpGj%$vfs zpgfrbsm0$8X%)I4{`Dav;#(2^uCc#%vn1>=BG`Ty23w3n-0y)>?sscnpJaYZK{cHm zVH}33qfw`YF|QDMpV~@;ilvg2Byt9%(XW+}<;zFPwlYvTbpaKsmz0FM8uBsI$U=Dn zQ&IaocQ>d|>ma%KHl!Z5$0$zgfDDvYmbcA9@g8ZEc4=6ARYL9KZWTj3sLtRBAo3i2CVBgmC-iT1>o|PjR&`mhMLH&1WvC*0%`K70yaX?Qk8W@ntil8RKR>3zt{ix6hZ8pb|bo`m+=u*36^oA_a@$4m&r-&#=f%T`D^FZ`~zh~oCw=ZT7t z#-18b4cg0@knD#*%HNGpI={{^ayRZVN*fd0_y!^Rrf~XuX6;LpV?Z_T4n{=K1&t=t zp7C#kAVojc$fF-;ly+B^^i%@P{6NurE+2M5)6NRxP{YrFD)|>6&2+CpC5ho3NO9%* zP;q%bEb4-W|8m9|71g^=1{Fg;NVDNEH}!DWqV`h*bI{vY92Ic68!5i0vGMrc05!85 z^O2Eyc3~qcGG9ZMM(qPi9Z;>M1s17c?a&^zuURhz3z4hQki2^y+i0wP6}6AGJ3!3@ zpFrBC`xesfQTC6MQYdahxHVS}RDWm$`AuO+Gv-IxRr}0juQf&ZnRi~1U!wL2>RV8u(svnY#?NVFwmue|=z{uEO-wvoW7N@+p3@~zpsld*_S6w& zv`gI;A;UYu82>?QvPX=)-#vzQS-SVTin~pSj=tpi%!F|CJr>b!#Vx3Pi|$VJegkDbTHl{}2vi?@Ouq-?r%`*`+!$NDg2nJKd~Zd_?8E+h zuuAs}DAhY^${vfuw~TUt8VZkt)O$)mYKQfWtcZPlXo1>&y8u-C=mx3v_J`EIt~ZK9 zO+)RWW`hd#Fr-i`A%%L)$oi+(M4r9!R>Nj7*nXf*Rfoe{XzLk=>$0;zmDTweM0=kd zPN2EV6tTSrjs|6ulFbM(vvpm1B#h$rk4%EG~>K1|?gJ zOjukSTg*tdn4hp%99wK~3onM(f;oA79}{m~srw_Z^BY;3K@FU(-NM!V z5Y#_MVNgQFaSy2LkY$i&zO^#c&o2pmsrMBI-etZAHKt|$UL_aCG!w$Ca5SiXT^Q1= zP~L5Qqp>>ba!RB=s2Q{cq_M6Iq&cfIq~6dA(o$m(q;YbjQCxG^qV`$fc2G@XF&5Eh z?pC4pcDMml-}(U3x;WbbBdu#sfOKtJ-N?fGjl}w>eQ)A4^ii8R3%xJwJAf*i?vQ-A z4$^2e8PfIXJ&>+4?~i}oWMuu-Bg+1R8ThqJdqeAwz8n~Z-mg-wGNgHo;rGm8b$tWB zdla)lrM3W4YR^HckL^a5Gv7b>5Os0Y$LFBhPxeelkVlW~SQEl5TojZ=xnzqvsJ);X z#TG5x!ZXquwKwnfuJ^cmqj!@nDN55b_?ih}+Pzz0#vz@qpwgL!L9~-L3w0R5 zK}GQq7EwA?Gi0uG&W1xeZQzhjXXB7gKTzq+#UM&&5o%9oC8%`vU=gL$AhXPsPJ1|{ za|vu+oV@il4#zD9gC$XphN?s3plZ;~kj9T`MsX{+2enu0@?`zmgnoOn{)2=*C5z(m zg<3WfLTk#0-WDQi2Swc|H!hUJ#(T}_pw`ppLAu_b;if*7EkNx}<55r})JnJT_OK4M zce^)1tu*(#g%7G3SxxOd=_F7NHG#CKxGC06HnIZs$53XW_REGxL5)HiAkRcLBgIq; zQcPDHS&8~?!EG++vTwGtCagy>_u*ru)QaQK9y% zjxfO{QO&f?O$Z~;`JntAiG_WESxH`p+S}q(P;Fv9q=nw&*rtX%4(n0-T4Nhn0-tt5 zS~#4PODTKPZ)rkE;(Sm|zXzn|IK*weBaM=Q+_}y5z5ttUg0v4|pv~+J{=0{J8MP<( zda`~8dY{>|=f(s-iyB$Ec+6!?P|S7sT`{-z-#zAwP(GL#e&nWahAzf)myjSyk zj&SjIErNY@f*+=0>l+6%!Ez`ULE89O29-tkic#D(-$w2Au@h8%WIEDF^^wacu8+c~ zy*?^~s*h74)yG6^qoI5@YOnGKL6yl$NcFMNZGG0yd6YYZb7hS~du{+~iE=&$(K4qa zYF{~wMjtKU#+jfpo{oW*Oe_6&UmiV++QYq=tlx^>Z*k?!g9&bwH;QAfW`bgF#_x)` zm;dfD4@B)Tk3c^l)ZX3bz4m4p67MX2&lPHK4nmr*u^+>>vQk+GY7w**YDBn?Al>ZB zo>!iEV>#Z0Fr1eKweYPAsrH*e8m4+1*<9%(|Dy=0zOLPZiBEQ)g6hU;`DEa2GlvP$ z9X0e(o33ht{B4SX+H_C<-NOw)?QRZF)?ba@d&?s-A%9!k!h6e`CMf2w`CT#R&99U_ z=7J`Km`kFMJ~~sz1bsX`6Q(B+z6>W zcNxW@G94Xlov(nbpA9$K_MeZVEHj!*1dqEZ<^+BLC39w^H^%T0*2BYoy!3IgH|5l{Z0Q>hpVX z%Bne}Fl`})>1-5->4Dl;IhTQ&<%d8y2tO9mNN^jZZIwBY2CxSqt?ZT>S)AT=mZSE0 zX^ZRA<<_evc)quyekSC*%yA0q4Y`sDVR==@^}gCT6}>m6GeFH#XUP~p&v#pIyzNo@ zNOmzO|A!i3c^w+%V-lqN-UewzoDL~RbB!!VUh@l3dybZZ8WESfh39!q!r~3rd!DzO z;CX%<_2h5>VeavYJ*V2t0u#dOVL2$D)<9ZLZ-z9=zXqw~--6U?cR^a-eGTdIKdpd~ z>OVWA<@C{z>i+~t^GXRwi~6ci8Oon~7l8ZzMJk6Q5EZ0hR6ws1QGIfHZo)1j+lYPziqh5YqMAcSfbqrr5_V)5;t(jN&-Fw+^dU9Xt5VVA9}jAdO}CU|sGvc<^>izcx} zi)4#)6Bg}ai_UK06G;!$zTr9$R9z2;)Vsz)s_VNUjU}@o)%7As^VFk|`q^qoz3_EN zmteVz7%3-5LmE-eGP1h&VeWj?zR+(EYAm?eExhP@ORYGDfojV)U||pENj=#F!Ccq+ z>SqDQz5~7#RIZjoYPV}3jRl(^^`AE(jTF0$%tx=@J*fSP^LtPwm0r|HaUKRK-}xY| z(~3iiy{b_hQ*G29(Eg{9!7E(+-jI1yDggg`>vyUpHF!8vq0~OaKNF_84 z(&}O+q*&)cnkN=Qx_*1q$fj~1-=9S7n`m3mM@MtsK<_Q}Gf=g(7t-i_08(4YQOro4 zs(_KzkVjSwwU1UOqE8Ex-$@8I_|m}ZgaGhq&N<=pjYCCr0A<`AgXl7TC~Cjf935MX zmxYXP2g3*bW?|qP8}ES{EqBT`j91^epuy(&;?d|)&?xPW@Xmoz2zD4*869Ur=3MVe0M@x6?~6vbQ>zvLB zeNXh4hsE?z^o1036e#bnG@^2^#xh%o`Fi~<%Nq@S*q(%ieVro}^Zf{Ric|%kR+89c zo*k5{c_B@F$LnW86@^s5Wgtyul_0IiYeK4sQz0$u&xn6*2WjEa*@(22U=P%u_GO^b z9u6t(tMoHzkB5}@O_0*Q6;j%FLrQx-q_h{szpjRSXWhus_Qlo)6TEDmM}1Eyn|)a4 zR>`E7GW7BF2vAjjETo~Yppi#V$cT47d4nIZ~3X2O)LOS0L5t zHc08`Ev=ZmK^|{Hm<3CNvaJYdB&rQ5RCl8|lb4&|J`P8HU+8)J%a~vn9^L@TT2OC^ z*+IpZ57OLI0Md+8F8=joBWuY%STvET>hoey)zlk{=mDhxsC^O`25LEX4I~F9Lh9F3 zAoaRCAyw%tNEQANq$cvTQQT{vN9~35DyZ<=A+3JDfwW5h0V+Ai!3_RU!$>@%Mt05M-R-anDp3{QamJxT z6$NEo4ui!kLj{^Q0z1}sBcC0$WxuV_3X!!Igxn-Ip~ zW6(#ZbBdw&`Km0KMrJOMg_7)L=u!7UIUyXr+aQaKJnG#qnGo{(38<;`3rL+hYb7H! z=L(RDzcr+lLpLK&podY~`f%Mbp|YIhBMJ8XToc0Wi|L>em;OhB8Gin7L37rKU18IyX1hqj|5z-3rB1mP_6;c`Wf>Z_r zjjV3Glqa~Lsr_C!>;bMfwqEdFR=(CcyJK@+M;8>etieG{Lk;C{@Gt^{r8Vl z_Rn-`tv~C_w0sM*bH`pC`$ZqVjJ|FezJvOEf2{Q&zkmAACscd38+d8|0sXpm?A`8H zKf?M)e?ryzd#3^3P+E5F({(_)?bER9r31RP>f38j*M9ogZ_>w7f5xg?CfWSx zTfF}9)n5+uTay1%Kh2un$37c*=zMPV$o}T;RpE`O`I1wJ{D~3h!X31yg?mUy9B9)-1y}#Wxvel=p?6p&Pu)+!eoPcDK)7HYt9N z{`hoV@Saw~IBR$l$eAXD!}zU1P4gE*wU|u1Kqo?17{$~4B!o0yf8T~lSvfl0ZG1~+ z4tie@J&1l}Smy3FLDp$CO`9d`FcmN%ylS!-sDe8ii|Cp8UZ{O>Gg!uWH6pgXU$%<) zY5gpG9@MPaai&c0jm;kX{at#5mHg${zYXsINju_cQy`{f88yd%@Tn zz-F|C(o@lvtZk9_PQ$&1ZZO*@YHTlK;P0dP%niOO^}qR9`v3oB#*da%i7%(es~TI+ z{M9R}pIYa%?AX0u!>$9mb{^2zXRIH8p8lsk1b?vKCGXg)*MOmycJ1%qlK+XX*8j&m z`2V|9va#Z zb6=Zp*u8(}e%8?94iU9FeP90Kj-9(&n^5DkRn5P(%4ikdw_o2reY>~n-uu#CU5A7< z*3Sg_D?UsAP)}P-d=aMgttN!mHopz}t-ALNeWX3a7D}c2THeN{rfa9EErK1Z(DI^_ z31R=WJ1C3cMxM{VW`*^?^6~ax{|ftYS6N*=99FO$5Tb9Y_Aw!Bre1|Uy7P8ZLO(lM zza*i57Jc-v;PWPUUH+9{d_U|>bLp#0>Ds5MW^i1G;~J~@=L%?zpyk` zg*2uhL>sYpnh;i~_o9zBVi%(Kjo3#(?cYBIsT+KTt$o=;?xlShx%bcKdc#UP@wwgy zJKE5GQ2Iiq z9RBAEnRe}6a7pxa?m|Xs-)H!`>hJ%B%$Bd&mnZF^f6Z=#OvtFJS@?28pL&O3u_9R9 zi$!f&ER?aDz>?VbVT@M>v+d7Jt@hoqd=BaZ;(C0IsQzHzO&gdp>OJXKf-i& zLVrQBzC%KPNwU5VdcRXVP$qaaJlW!^gvI#S;wHE7GZMF=_VXDFVvD887RwVBFUJ%IJ2C-fJ(-pjvBLfoYNJj_D0ZS^mt(%k>L%n?kvscCrcf+Iw}0GfjwY0DxtP z_CiQebi+0!6xC1@JicM5w}$wtohBQPuMt9c8Cz@rLB|9xF%Ibr0d)#s9HhJPuVCs| zQ6Ho9lN&#vjm{RFa5@6+l{5-ZmQ?|DYN@Gy4rfd{p*}^0H5AmQ{v=4}24+BK64h2C zOTlaTbJX5Jvz?KoFJwZ{*FqW^(fetK#-L71bbxdl7RIzpylV%E&U|b+#Y1r&YPRVsm{h6N3Iy^wCq5PsoU9GPh7P zI;wPpu~II9GI~XJLleS&&IRbB7d{P6=x;!852h;ct8S!%dLJA2E6bUN>fE`E%-V0r z9fR5%QUy?VzfOZx?`J`3!EGRo16?5Xo!(GmvM~s1291ImLgOKw=9vsBi}Q>uXYT1z z1lv!LK=^kK{aWMZ3R4iFqCdHBm!8W;wrHHd)DGsN({zT)@ENXy7Fm3?p z=I0rhM*C!~WT2w#8e8^nqwjHyaY08%CpoLeZ-LYNsOVkB z;iUc?H#t!iuok`d?TzSjg_C~&Lhl{+El{oYV@NIUOXw6bpV7)lZSV+4c`so^!%zxU z5$tX<#tq=`0<(s0q*6ZHI6RYbm#aOS%h4BBG*5#%)wm7PF!v?4=@~6$@SO~VN1sD7 z!or3b)rD0+#ZZgiQ-Zpg)Us%mtnZr8_mW;F!-eE!48NC`@&+lxaC%EZe-HZ0gTC~+ zCS>!IpXJ~T&qP(@Xg~$k9GgLETwO5rakw{1KZto1+Vs$EZ$t>~`)2sN5q^<11)-of z{HgFKp;=8gL7qQ?HZ|Ple$s@{*1tv{oo3J4+VtM+&onf9AA2uEUrzB{463L1#llY7 zOFaa&kA34o@4Z+=J!63j-enTj&&Ad|+@P%D`xJFC;n$!>nJniS=@dsUBlFr5Y=~gV zP*=?{@#fe%wr=kRKCeHC5Jt-9G4TYqfI4Ts9n#wNBS_=)7f>k@D0RM(d}wDxL~^nR zYLBTusF;RBis>3iF-?RN(^^O|?K85Ne3DMRz|?-LD-T$bR0}}Gp^}h7RW!0t{!mUm z1bb`&lcxTI`df=6{e^IbH5&CRPJ%|EXlK^`&_Mx18w7mjDq(`6tB*D{yzF8;f(`A&GS@g{W09*pn#a+56Wai4 z)v*JM=oytgsC`_od!ZuqN5Yz#5Z)tj4yZPB5f*8|#Y<3o+(SXdJqe4bmK#}cuZ*WryYDZf_e;$R?Li_KFY+PwE!f_|hJKf`>iKhLjT=8WDesQCvc`QF{rUj^0aXmJkQN6?v6r?PRt-desB9sOV>8 zb>}XON?0t7Ej~`R_#U;7ybU|Y>2&}@+4qs!$LV3ts)rG7qk6azwwJ`<;cdoYHd+X3 zCGZ%eR<;Q$jNyBby3sD^M09(h@=!__qm!WQkV-!fR0CZ>NXb<-vcBOn@F}Q$r8fb6 z^tqC$=zVm)8-3O={w_gC^^5N1*qo|3p9ba6ehgB=1w@6ermi51nxMwq)1XuE=`2XT zk2Nx%{Asj_sC`aci#~cD>G^~{?P9s%*90vP)EjOS`9o*#I;+9tzr5 z=%aj%N$4L(AFU)Zx?@CyEk&NMY0es=UNjC<#a7h5LfnD&F!}T;sGhnx5Ky9I4Y2*Q~!q&b?r={Z~2+`x1E3ozk`ywb$-ZJul?_fJOC0**my%f-2 z@m_HoZBH-FxyRnx zUrzb%@SGOhYS3b_|9+2$6xucG-luEFe$6`$==LW*^zi2&NBrqSk$=GH%b$6m_Pq?pSS#P4=m~kUeduzyBGKC2P@6uS6mBc z=zi+-r;hpkrUQM}Y5v>ng!7E?flABHK}HcB;rww7zkG!AH`@Qq5zZfn{%?2VSfa>Kc$vzpMfcz*slQTd}2 zm7mx}Qrdf2y;U`_!n38nzgea&CFwiYoj_fj_k?tj+7Hr3`ZZ8#`I!k@vnD6 zy3kt$Rmbj8NZahI;$PQ6+9XcV)+=^L8hOn{2S3#kfAQd_y2t;ygP+Rv-{jz@>ga#w z;OE>2txtTL$va541tvt_rOIVO7@O(^y|UgCy$?NYWkORPmuxXDVKFDGOd32YmZECI?0Y#7EITi^PO=i#EBheq3% zy6F3FwlAYyNbNKKe!GxwvI`lXHT~Lm94+&E(HHdRowoNkwl6}dv_3E)-2L1ImY}Gz z4lvSEEf=IESRqI^DXJKy6$w+?DF}9JgkY^O@$(a1K<%Fngjlqtu9B(x+!mC6o%@Nj z;Z9Gcfu{F+3V97JV!s1a2EE(Y2X%Az97y*|yFXoTADW3&KOAd9g`2{*^yM_oqQ z-wjqGj&C5{-#u}Nk=}(@15%Ui3Mq$+j4YPM!r->zlFgJ7=#OD)k-cqWdGCW9oHu0Msy% z<#Ho+v;vU!+$$SdD8EzP93k}9)|hx1wg+{e_7*qrdoXvQ_5z;+>SW71kZ$7C9OjY9 zxq2pqo%bf72GZO8wi(yHHqm9Na4SO6u$HoMhZXB$in-b;VB41{6$lbVB**2j~Nova(+HM)YH@a z?)CI8sCwFoh1b&_LwRxlT~tpwMwqGB(=njxsR*QcstKu{nj6LS)D0oj(`A@=JzWl} zo))@+*VALDy`G)|RZrhTs;5>XJu*3WfeE3WI)N&kVUX(S8MpO%`WCghlPa&8JKrlF9^d96`gPa9EtJ^c$*J>?v2r11G5g>MKc{EbF&JuN~A^|Toiucwy{ zsi#-@IalapZ}Yo*y$3u8i^Hxo>H+0}y!{$k3f?svp!QI$L51oGDbxT+p>8#@dh+ui zv!(W?2x|0N25I!#3~BWGz{o;*CGAA*HM$4X=+*WrdE+N>yO^L@hoOy5Pu*rh7;G0v zFOz4`da#XPUUK=al+brrriJ9v$C!aP{TiS~_7O%_4(`y{gvH~rMatFkqOj7-ZbBHb z>w=oD$6yhSy*DH*R>l@tu2CG`Vw;)};+TOxI!*LmLSK8V^j^*lO;F-((MG3ghnf%u zwh3=$}IGS8qpNYu0{31#fLho+PK_AuaLiB#5r4_jIV<<5It#RS@JE%b*Memi=aYng%qmzby27bj4Z=mDxFaKPTmkuIlBpq=#l9~ zZmxdtl>eX>zaDd6NW2VcihKjop@;XO)9`mUR2SL@sq?2@Z=^Ch!6+?XaJ&@iqVk~< zSdLJ&Aa$2Zu#JvlUy9mqun$F_65d_81|i+udCLQ+cYK7s@1lJHYDrM)2F2)y;aVbu z!+KZw532QBjl)grN8H3uF|0)IZS_5wD7S9m-6qonMX%R#9uHe@!Kj6CIIT6x)y0(Q zaS8n{^wH6%z3BZ&0Hj|pF|vp~)O9kDesXN_qFZ>!+ltylmb}SA<_JBdf(fDVH$fjg zj55ju#ka`7FWDCJ`_fcjQD>VfW50*f6d|1LYG)jle?39XXqQ78gO_0%xxGGNyEV4` zD7LMBYm#jv6T)Kd98lY(ogu}$FxmFWgzd)I_Kn!K%xy{Wo@7FZ_cT!co(C!3dy{RK zp!Sxu8mvl9ZjNmW-JTS01rvg8Jy7vBhZOI$WZU_ueWCgosJyLdorka z&w>>1BgwYwP`kgcf%5m`*tX>zN%3|xA=nNAWjhv9ygQR^51@8`kGj)PJ`{swJKiX+ z<7uefhx=pO<*{wiyOM0Hnh@e`1gacbLyC7EA#`LH{-J@@XUcrP{~*bWAj zw`(EAyDQoDhlFje=~29eA=!>Kit~0WYA=U*p!|J2wk?@fyLQWHYFqd~*K*Z#yr6Du*4hZQ}=%;%#k0 zu)P>myn`Uc`&zQ?N2on-`#|L_+k(h;oKae9&9XOvWtmQb;L$yW+8zzoD)k2hdoWZhmCTDQ ztS=&RgW7PZZ)6s!a=w8H9?L1Hi@8&mV(c5ogA8RkF18$xWxjNk*`rwcixO8vmM_MZ zo0BXvJrr9WZ|I2@Fp3gwih(D3No>#!gG%nz&9I&GRn~5aO{So(?k1~}O;*PyYf;yB zlVXdFqc6OaH6dIJR|mDa?BW*w1WnI`#UN1o53}6D*ZTLN_O;wYuJ?^nVUh_N>skZ|A=KD|8yzt5??nofd6<~rw)}i?>NMp&rcje{fUMbj+xpC zpVZ2BZ#?Z=4XPc%k>O}lHxt6uW?%Ht_}||IA4G3G%G7%^`4RCI2=>}F4U$ip;5M}z znEJMGbgDB#bpE`D3E}FpkD;62(9kUGjdL2j9yTGPrXpMpR?>X1%FvCY6Mx!xc2I>({+r{hY4O0psrBg3az>LG-OvKu9=Te*#| zQaie!9^2K}v(e%X3pqN~>vIG`^vG4zoq`Mr=3n*Y)QSI z;hs%II5vECZ;Am`{QPoA>+Lm=_DWxdsK(TsOYHwDgdd;xNXOvs|Dv&W z?d=u$Ta||^3^VF0V`IRR)L_SfHecA;L?f@cS&i(}#`XI7C2(ZMkqWlegwW33MjySA z^F0$h#Unhi^ZhBBBtkJdfhG6ia&K$sPAKo!N5N{KHye2#`joNPUWM2H&xP%yX3G9j6T&TyHK1>|L)z`# z4jqLjAIG|#kS+xF#k%hy)ksR&=uKL~i)YQ0_Gx(g>~e&tYppRM?9r|Vk0*i6kRFwM z4N_!#jXVPzxLAl!LhSI%1q<~a`eNy+#BlNw<6&WHZ;mk1{hS4-`m<^aVU_K&nAXMg zvMh;gmysv^8M>ODM4N{dlfT`#qY2@TTQ^V}_-ap z`zy;J-B{fSsZZ~Ue?4GiIq*&O!GvV3q0JUv$JE#a z&)jLKcW3h4EqT-gdy-u(VxszM8Hby?8$sQC+=79xPToQ3S9QBUwe6J0j8u)e zjm&$$eQ`W$zjiDJs?=&gI%`}PDn+7=pb}8C*zO`Di^*?2U5wgqnD;>+JzhB!y)PI> zgZYSKGNjmUhw`Ai$H*FtJF^0{&vGjb`F%CNXAjq|FY~+Kym=4Q__7CTgl(3`<(bz| z9urjWrCjTGPb)^+8m{#zt-cB2A<@=gQDWI zGx4YMk1({-^3?OA_kt?}s@2tT3-_cU>SFTyOi-S5!y@uzBx?6$3Mfw&xP^Q2p$qcl z2Ta_PtjjEx=u^A7ObDJ71?5RKETV_t>!Ef}nt}49_y1$>%;UD2*8kr#RVs=^Bs4wE zG>}LdG$KNTGBgsYG-%MEC_<*n7^0M6`{Q{%@AcW&y4JYYUVH6z?~O&0lN*seCsRP>7lY!o$d(!fa3}tb~-p=a5p!c)>_16f&|D3dz}Z1k4%L zHxU!ByvJPj&O8U*@0wmW^nr9a7Vm_Cbm$^?SpYZdED(0+)Lbm@?xv0f!sGB0K@F;H zAzjV7Lh6u{jVw`q_gQ{V0z+~NtK0O)+V9`4 z28)sCb&zI@qp?k1C-@+;?-Y3iJz2e;Zvju|8RThuc{<;?O#!8|&#M;K-wjX}%p#p* zj6CA8Mp+v|25%vdFH9Zpz&cxJ%|!I%JGoO+`cvup^C^8>g zC`FmB#Kip#b{qFM9Nqoh1j^rNNd6vnTlY7MK-jS{4->EIXAHfn7htd;d>*#J>q@P9TnGVQ4h+ZmP(fYWF%&*46JNk{FrfauDnxs7l>8zP$ zWR>f4uxF5cpkD-P>bwThL!5Wr*8BA)a70_?0@K6_OK;L(QKGDt~85#Po7V_oRJ|s9?Ds zECboXwTTy=t!$38}uU!QJXjqLNv z>p@*=?uGo`1>5A)#8Z(gD{HgCT+&(!sXA9ds=xOkzh7LH7Qd7QLi~!LPUxc`d1?X4 z(^-%_T?EO~Jw}$3!T^jn% z6Ug3o<{D!8G{;MZRg)DK@U#96n4WD%viEv?1gzY?HS5Ys&WHX!|`>omBUJC(X9F1;T)R7^r;JfYdWi zNVjdCvTYe{J3tzndZ*hCN!gBwws%L{N7HSeNZCFUZI?rp$?tk>lUJpkwqBW6rCkc! zQVK>l7>84N9C$e5L`a7paZ|6$Cy>2?o&ibvW{md$ZGj_hnV~X#H=$Nd7mUAm_Pzmv-GQ?%GMOol3r&=za1xpWScqi~BgvXxG0(yI#Fdv=>daZ`a{6OVpk`{L;&z!aISwcJ0#3K8T%` zjbGRg@U#5`XaDj?9_@j{KU;`Bn@0Zon@0Y=&#>1+y(a0uX}u}=^k?H9?f&7br1Tal z@8&03U$j1$D80LM>(jkYuW+n;=zM7gzxIYIIr#^9{kOl7N)yX}utg=jWJ=SF-}{m& z`TO&4IjPv)_IubDM3vn(1nj3VDrkEPg!P~{U_3KWwi`&H&5dXL+)9 zF+YkxM$UoCZXFAR1(=4e`$fKy1w6;$eNI{s{H^yn?dGQ{lNT!~NB_YWD`QjTz+C&w90_ScdMBjy z=KG)>_w+I-Ps<^BdKZ$XO^`fohvaFOQS_9jgURk`A5fl(LGn}v zlBY_LJk^Hesh*MDqk6w@U;*#&)NY_A~DR%e?I%)II7p0``ss zonAj#Al&2bJ>F1vQzalBZVqMHU*>s6UK6XPS^Qafy|)}R-2(Z7v+@=Q4>oFos@Vom z8Cak?+Xn4SGxSt;EjEKXp4G}Pnn8XU zv@&#q>>SRkwjy@#IsBKy;np3yK(FKmHeUlu)C z=C5D@PitFalMl?+LR`rvX6oG*iw(cldXLdVY2-3$(rK|#ZvTo@C)mevV z-U+pmn@?~Hf4=&x0(8;0B5jLQpocumSs`OjJAWTjOL`wDXPi?-DVH~NgO$0qw{Cr& zY<2j)Q=Rk%!yY?U1WbW z(JERDOSc%AvKSvNmbrzmAbw;4&v`l9!IxFcGkzw!`TQ4B=NhVWb~SLzvB#w>7a0f3 z_YK|PFBp_?SNZCgL56Cetf3p^8fDdUgI=(eUnT>v_D4EH!Goxk>mgO>1Z$<y{?jNqGW4ZAgnpo zbKRewH9@bh7HR?NG;WPW^7yPhvOgQ@0&3O2H>4*US7Dpf=?LV*E2zC7C|3y zTVG_JgzU4tX`mj!&cPxp$n%l?fyNT_BuDRCz^i!!^3(!86{>xLYrz%Cdr96jq|dG4xa}B~ z|FudG!HP3tKSehog=0^y0nd7vg|S3oDK4?}wPIMK**?z@d7^Hr42UMOc+y`m)I1y3?r^chN zL5i^qI)xakAw5D`51oUyF&@oski^IjsY(hNd4~5f%32y~YBqu7_cRNz_PwI7fOU49f76b+55*7Vw;PM?Ty$cC(xK*nLMdxf8jjn>?9rvLKo~ zk6hbLN;FXhym+N85Qd$KpfcOgEqrrY^OQv^P~G=JNFA{=q*z0YtYBV%TP@%PxE=Wj zPx?JK3D+tMggeP?plTM$z$c7I4RPkUt4+cAndK)wGW`9g#l>HnZHu z?_=j#Af)~rsPkh9q{3`)TQAIZ3wWA4kgo}Svv70e%PX?12NbyuY`bLW0u7BrI&DCW zcWD%q(;tS>}P7Q#}hQmBo_n*^HzY6_vB7w~CtInww2!q1o=*fM~f|ULus62n^7T!CvTO{5$^O!aMX5i1xNXSRg7EbTxN{lwK`eKQX1B zjGkoYB6OdbT>@(E)&tU6F$z+rTWMsO_1Vg1WRJBKRIHtlVio;s605aQOsgxh?~IuO zYEJo?TX^sP3OQUlHyUalaDb7e?3eLU$bR)d4%AvqLs_W&Cn5TX&`xTI*A?C44F?r( zlv{Y2#v=Ra@ECgXYl%7NK9)QK>Wo+f>ALwQq%q<{Ba7wNuTKcrmqY0^+c0qt--EgW zW^FR6#^HjHW+o*d6{E5dCyW9|5Xknbt%XTh$tQqi@X#1iUA4e8c_-Of$hopTA1sS) z$7tIX+q_{A>W%Dqyb4q)he4Wu-i~c{xOtd@?3FePJvk$ndq6)N`ve=m*Z2n1Bs1>^ zM%uMe7}5w_)5vPg$B9#seeiD$s$bm>sjff5HrdjbwK>`r0%hA2lI?v)(RLoP4~_Xh zOf1efvXs5&jYjr4-#D-;bu|gnxc4l!*(-J-J16>vXp)Nzfl1U z)?wiNtLn$H@Pc-*KzQkESMUgouY`2nABC-bT~N(9nSj>1cFI6vvrlB<85(4PaE^@t zkHp)pkb3-NY_mh=7ZJz`KlH=I7y8$MM-y)&r1tt0(i|>xi;;XCXkEohVr2E?qvccrS-w?h4kpLR*R!BzkxL+X$oe$#P{fE)TBf-c z@IkWzvc0lj!}??bL&8VfrV+50zmcUE!vXkPIMc6W8K0SZukQSYX6_r;3ZwglkCT7kgK_>;vv~9#9$XG4?W# zLmiRfWuCQF`PT2pGoP|R*oV0kRLi^%DTm*=t)CoOpPTGI0Xx{xs>J(fH3H!+f=%H3 zK6tml-pA{Ek+Z@*+Dx}sb3Ny*!RICHy~8XIvg&RfdM)8*unCQ_9nwwbkC0mPh%by} zSKr9e^Ql!EWWPOZ4{9FQ1JcMm4BKRL_6^9svT-}8%Dx-YU_BMvy+Q|Ag6vhW6g{~I z{g8m|>L#0++hC}G$ldH0)q|mdK8)6d!>1A_8GGAJMh%PLi;cq~_>ySw5(Z(pcoPP` zFuU0e-YEV@zAC5fS-tFyF>SkcYS(o@+eV#wUDmsMkG8#g_UU%nzvZKZzhg7mzy5u` z-?v}v*Ed)Fv-^zxezTPJvDmj9dv@tpvtM|T&d*+y^3Nvn_nVn4k==BWd=u~I9)A6s zc)!#BAAA$<=dmsO9eQ@@Vecnu+o4^DOFFgf)xTHI?%jL0?b5A7*FGIPwGBlkzxLvw zJiFl`z5!=9;{NS7@yx+5d=pP!$~&`9`!l;--lJ=$erfxX;y$NeJQ{Y+rP&AN7p;S@ zKXe~b@;V#c1?|~eCw38GBaKljO$t;7&im`ZtxUC_gwHjGq$%W z>89go3*_i6H<|Upy7Jt}(2ZAOY-^J;{#q8w=y%a#H@8hC-@TLL|KNA;lCPR6onQQ_ z*`EDGnZLQ8D0%;o7Ti|7#nON<3`ag|>%hj(?Ibzo{SpXWxbN2X2{4zPzS> z^}qDxHD&mJ>C0=%@c+`6*EC}MXLqq3KF7}QAHvoD&;KT_G!7Vw!Ha0EJ=d-`!2Wsz=|Ddr2 z0ee3JOC24I!(!%bpiYQ~jJ(GG$X#ojF51Ulh?lL$KSkQ@lk|fshMt)(Sv`ple+q0* zmR$-NSqIWecN=(6*lgC0KzJ0>A0F&WWmg-A6~OC|lh<6_jP8q&V?nJbjf1qpHv!vZ z2g#Eb@NCUPuI$Nwvr{I%3Fs#aghjaQuciB1`#}~6`&5oVPaek9LihE%bGqZ^ka8CeU8cDNqrpF?1|c3F-;S&Amq9`P&3U-vIO| zs5p;9Cllu>s1fv6NPbFuYa~C7jI36?DsD#h2b!B)_lKU_352hJ?ERf0=!__B9M;v3 z0n3xhDUeS18JH#y-CiY-`(o{>pdJ97 z1E~cEK)E=$7t-UAMUc+bbw-vSeb!$l#V-TYJu>8yrt{@Eb&})H@OT{ z%wbq0uO@wnK$aJ2Dki>KKO0otKLhFU=n_Z|RaZdTlCai@(?zBF8reULmM7EjIBIb( zs0p+mbP`koIvXkrm4#{=S+3mE>B#QsJW!rGK=RZTlBYh9JPn5AX_S%W$+yP6i|mzg zOqS`%tgW%q@K_?uaWjgoC?Y31(1AB zF|wBM5$JJb-_NlS)WfumkowuDP%hqgLb@3J0BKanm(NJKIMm2W?T?sGAP`2ib1?DK zv8UVkQ?CK&KHf}E*XN@9gUy#@LfZT0mv@hOqz80exX9QqfbCGj1nw5&FoB!u20M=8 zsm4XNc$$&%zwj&g-}g-6SAPos^9K&U^egA^BJ}pX|K_*e|LijV-#?DfBK1G`RrPMH zi~s$Dh~4;&aoWOu$4;H|{M^H@KZy99_W$5P#Lr{@vkxM6!$W)!u^Vy!_CbU>u>SEY zz31Qlm_S3`+qPe^MCmVbMu((#Z{Q)KFPBptVA#4%T3qsWo*9<((HFN0egbU zY;vo!X0W@AbE;|zo2P)G#Qh*uM@dMN=CV<%1!=coM&*m$*Rhzm*GE8keHxP27a)1v9JPY`m?p0W8%3|V1cKM9n7G&a zpuC;|$?Lh0y!MUSI7nWn8bz;j354$fylm`M{|f5N41ch^&F%fiXx~^MtO|V}&40wg zJ`16?ZeLjL{UspXJfIbi{$ko?xU0Hv8*Lo+ojwR^!DI%cWr0s2`TYheK=kTGl!D({ z)wMtv92&ar{pd^!cwt&0F9}b{Z*rR=a&)H$G(b)h<9?n|xB-6F4Lqe~7I2R%kk@hVC>n4`o%J`(+?}6jZEP z60uzbDb_Zl80#AuC{}jSBvwI4EnE^(tdor_gT8sABZ07IwX?C8{}R-7q5NkYB>TK7 z>UkDW8dtdLr+PmNgaxdjuKOMSNDt_mG6owrpN*Uqn({dU;RnkL{eZTPF2mkWs&$~c zdH#cC>?Ajelrj>5#(dX9G+_i{!`KhJf~LU#h;S4~%A%Lml58ao(?v}1LeA-R4(znD}*K{^;TFD&d;@X?`S=9X zIh|QXDSMmc5XkYTY6lyKTpS6iJsLqe?;pW5dHw#A$o@p&IrOAguTSY8r0bbwqkTa` z^W&S<_eb|Klms>E=0dtC91UswxzNZ`@%rk9?ByB+)}-Zbf^wm0ZtIoz8nW+5Ul%Pt zmWb^)kRCc6RL)Wul5>)(t0RH%^|E2c!NYB!(ikrh4>KTnSYc!ye0N-lTm_W*O2(o4 zUWuF?$}t?>%P|I2IVM0#V==bLNc&f0FUPiMk*7Q&xhM=N7uAenIj$lQ%5k@hRlG+) zr7>3`9+p7z@S#yGM~w;!s2mN9LpeqvXNT44ap*oYPX(2urI4b%1E~*{uc+*J|E*<# z(Dsc%*|xwUxi4soTwXcu1nO!r2n#Ec5rjjh96HnfnHl#TmT+N248}XhgLu*K<`5;*FKev zH1OscnI~V#Khgs7(+oBF$VO|7D@yMS9)+(ykVc$4uuXo^GY8oRghgNlY~PRwZGe1a zsA92(=e$wPM4l!wyB!9#UW9_mZP!)cH_ z^e~DZ<`Wp~E&VDcetA3K2$OTdcwEi`p(c(3RTC#ds)>%+CN(h(*=yo9P`MZ{kzCAx zl#3Ncu_j6!X@O7^#~KF@%|Ll*EfEi$A$b^K6w9%KK=80t#;TwnKzS%s4YznG0m(xh zqv&Bcflw1;F!7rB3$hL0a`!p9m+nVU_r8Z#H`3v%kgg(qjjT?5_#S~=N)}_I?R{?H z5yukuveuYPnn>WJ&inGBvAN+-Jn8;?=FjV^#hty_OAYB{#8JTCl zLS025%L{V@CO#gF26f&{bpy}qbOQFXI?`JJ=lIVCU&7q)E$|Rgn=VpZA1O=tB{dZq0edem#l_51k}y% z(OB5~^CZ_zSu~Co7o=NsPFZw|7T3u_9%dr$Bb+BS^tBBs{bSdCjN69pv*nCq4Rt0I zgS3oL5-LLzRE0FbtZQU_q^uHYjO_PIEkMm8uEHW&V7UgloQ%h%>l4wvKfjQ!ze6C~ zpGt4U#%G*cK-F0Gad?-*s)nJoM@tQ*y&$D`cHK+c4c$vS7*uI*g;d(Rpj=8j9#Xj{ zLn`-Nqgd|ekiFb5fhzY`SS02C0oluaK%F%GPz!`|*FjGn5u8Q9E;1y4J~lo`bOJRh zT@L9{b{|N29|&pYa0{e)_?XYP1pAHf=fdiZ`Cq&%GqX@bz+$YOb)xeU3I8gL@08eax!8D>4C`Ycmd zvAmkASRmAAi*)_$l-@U8zZyMPsf?5f6?-qFaepGDYyLu`*lK?zkmJ2?3nt$Cc7W=A z#ZJIlZcjE0y|0zjP%Ag2^wF++TZ}{Zws;&=Tf73PE#81s7wH z*{h`xsM>076w7f2viH7T>H0u)KkFV!*B27V_TKjzHr~LiK=rV3-~<>_rmy>Ek&#q!?w39|RTG7St><1HZdzBZ8R^C6>HpHq>&K9{EJt5f>Ubp0oE z?|u0j5|!R}FjNUD1F82lFp8FzJ*L?h+21XKsRYEV7sSV(u@4WWi;r$Ei1_K;eu zuaV`#myxbU_RIE2P!omGP&HzWgY=90haugM&46@ye+p8cSp=z7mm0-0Vzo?lTD}Kr z9b*@yQq*WGOs=leF534`xQ_tG;c=R zchYS)rEEWqwmYNkkJu)gBl9&eXMWDq1J#=^hSW|EKu3_*)leq15mNuE&{R3}DPVOA zgcI?MbiGYVADFHWPwA7=^%>~iN^@mGny)~r|CNy1`yHsFas+98XbYqsx>qxm((_iH zK-lwqjTH__)uw))hjgaD z3~9Vs3#q0y7+F8_?0t-Uq&#f{YY=}IB%c|l8p-EgkY>UMLyA$_$UON%UM1w}(rbXa z1{??J8qg5ZHQ*#jV@4Y&KPh%Fig~&W+4Iy3RGzMal&5PT<>^L9c^U^P?TJQKPrkSF zF&RjI4%FS;Do9tD^^nfT&mo-wKSH(0Q{K~znm`9ZCqWgU7Em?leCR|-rD$bjX?sT6 zBKrc}#puZz)KCK9D^DY_@x_!|WRAZ(A)SNwLMr_PNTc&)NV%E;Dc#vdmTtBR`Z|GZ zA5zx)0qL8J1zTM71;Z~b5OzC%2j-H4td>SP(+WcBHIXp|GQw{0uaMozkDx}FN@t{5)U-gbI3AQm-*k(sQx+qm z#Ui(G*GoO1rdTbeknctM5E|r*4EfG9F68~Gh_NCSM@(wGlm$ZjRRYz1H6gX%@sQfD zvr%lntC79^UP8|b?Y9Em+b?e`L$zOFNbT1cQu|#6sr{}sGQZw_qmaG*?f}((;~}-* zTx^qXyFQQX?e_|LvZ?wlbZ@^y&q~v)SRk}tEl}-uyjwI?#k4~9Nx{%AGqmvS zDT{lf#b2;U`oPC2i|x^(`q^puIL-q~@kCe`$y21#l4n5!z5V*Yq5TFME7AzWS!ER4Z!5C5-%+hiPuj1p1w#Av0@Z#4A+_HuNPag%YQL>U zvHf-;d;9$as{Qsl$4KpWxKV7s3dr7m)zOpotB3CGH#}V*jqc~)eW2QJf?Ig|%}4h3 zTMVlGzDT#&m9oe@H?e4H6kE6@vimqUTHJ+2lD`K%pr&|KOsma?)RNCYq5amwq5VEE zR;15l8qS!V76|9xPhc+2@}Fm<^KV~B=U*M8*nVdrd;8sko}A4S(Ea>-3sn341ycL% z-^NJo*9=nowKR(DcMh_*Upr9kcNwJi8-{Ii{@sA=?Kc`d)(^V3-{y3E2fDZ4kD%Hw zyRAHW`yFC|Q1|6PwO<=7lC!I0%Hr~9@kqMGtdzym(c(uel5srW`3k5hion{4e^8{- zP-wq~aA?1ijl(@=FHjC9LRD$A`IsgvK8umP9d?2`1Iu4vq;@#oDB3ngcH4oVY^O!r zh3U4hrED`VOl)f!*?{jWwap0RxRXm@3y{4LaM(97*Vt#YPod5VGuie|n*blWp zSn;?X)Km8dA`K&6TD5~R7}PexYXe*2NP9kOa`Z&3HAz@0k z(0!u+JeW=Hx4MPjzkijoDB2-OsF+dKyS(BGWHBh0OdkSivRn?*FjN)Npmr3b7)^|< zgZe7e=>%*P!9gpyulKskG52cej=WbGBYF}DljZ){cqxX1@_sX<>^_8Pa&pcmU{Cf) zXCWr;d$rqmGk$9UZ^rMDpU#)9)3QM)`SBMMH?u%kOt}cuE%ud=>T9HtySULPYi+i> z*iIlj$9HG#!rH4bUuQ#|W&1#?vI<6)ZNH;G64{@u)&+If*a)gYN!q5{c1YP?5pDZL z+gsCZ?@ZY~9BrS#Vo*3g7F)nevIKcy=xU`eR_^?nM+Fb)8Pie5p;GIBI!n3)1GPt= zl*Pbk@hBF_FN5b>z|zd$l;1t=)Nj}SkNocG#N+<;SGxV?d*gogGFgI-b`4(oP+EH|W{3U4Q#)pNQ?z!IcyQ{2!zCHe}zq|TpJ44#f-0TN!zwk4+-~8d3W#3|2 zf7y+qr}|5D(Z2UTJ~J-i{dzxpOW`kku+?8$mpJO)&2ncW+ON3|C!PJ|DAPvwJXzoB zlF|+w65a%Ui3P&6r#pJ`^stu&e6+r+sLA$qHeI^@!LQK{sAM+l!k1N^CSXrTGy{CW z0%2|GW%OiCY&p7LlGcFQ&F}%Fi|#JB^_!DCl}+|r`+T70Q2Rle#T^7`not4Kb)q&@ zfh*eSQ9IKJw+^O<$5lpS?Cf-d0k^4qj~j=<=p``QBk%jEncN#9 zA4|aAPNT^6Ef5BfMuu)aKHdD~bo1pY^EadUo*!<8Z4Y{-cDOsCcC`#p3(|w!Mvxvv zoD6Ac@&ZV=c%6)bpRS1RX8dSZwQERG3^UtskL!;l+JhREFN0*;6H;;`Al0_CkHq#V_UG(TwyX@1hjC@xgoOu#O`b};h+V{g9sSDKo9Z7;L0 z1#FB`FWbukp??+u_akBnNGmg?AvI}rNO@=gX|`}))Y=-Ent7r9x3YLIZ)X8dzXS4@ zdAwGq5J;AR7Fj@3jMb>gp62z5y46+RwEC3=Lf!n}x^EZRtDmB(%m*8Lnk7)*%i|NW z<^-%-ROYihplNI8Xus$xGkG|){1yVqxV+s0VO-v6=59X0Nas$Rr|YWkvT{fJ}=zM0>N7mQ2p^RxA5ijT*+#on$m@}L3^dYMaewT&9&fp z64u@*r@QQ3`5bi5$wlbN>gE*|@Dle#wqGi$5%0p>*KQ_6i(W&`;?q#!a|k4LGT#Eq z)?!zEv(;-B2&=^FK$UHiTX?7V!UIaOz_27Ig^aRRgmkVWken+wTOgb(W5IpxFLOMk zR+tQ_N}hz&q)Uv5uk5{!?6t58)VaMGQr^CVw0rMcsHFX6W?YkKMIoJ&4UBAN?rYKK zA$xJ!8WQJ1j^_>MU=Is;4PSx0Hk=RB31sHvs!zRcfnffZXnyKAvltp?z`y+){+(0J z+|D+Y|BrdGY!-$6&wh(L`4+a4`eWWAs-*t>FF{D&BC7WOt+$A_wHF^`ty9Sc@iv5d z>UP(H$Lh=&3D%%JM;Up4%`@I2Z3;c=7y`E1tcWLAAe@IyK{-Ch$RlpZ&B~KCJgkZr zEpLJ3{R{_NAe?}uK#j+hpiI)PYveAH*PhDr?tb|@d6}u4?9O+)74cvFZg=vQP&wP( zw}f6>*Ip=^+_OAJAh|Zqwm=wv<{EnSJ%z>eaEnv+1eyE&QBMV^>_skX41Co%T-aBF z5;sB`M0Xmw<8O?j;|}%G9M4h!$C>pd%g0{E!Eq5#VrfW@k2Z40#~4M&4-v43J?d;< zD1hSz{_Sr0XvU|z{n~aKD6t(R$Gwf*aq@muRsVnZtKd%+E|`Ze^QklE7O_C`{nn}$ z2y@grpsqJfA)UYHLd7X#H>fn!2Pz9)1C@YofwcbhAf(%#nNV$x&V`PHUWBScE1?sh zjgZpa0X0V3dtc?zpK+D-Kn4ez8+-k|%!8NsGLrZG$%|QRKtJ4z+O&(Y{nSwHb*crz zW&bQt<4apC{OMT-M4#JS8IRwf3w8)bA7rA$uN2fV%9Dg4A5&AT{!1Mi$E_bF*ct z@;(jfHtr=zo+Y~mznIFDN2CKO=(C?UJ;U~YDShqJ_U|J_NTo~K^3u$Te#o$ z$X``odq4;s+ z4q?mAN_0P;-bC*oO1g$Xu76JLQ)555wxW&+D_uRiSzzDr-ID$m2pd1H19ht345{Cb zh3Zn836KVdSx{lLc}7+m?=#OKdrx~ERC}y~R0r=sYORkUO{Bku)VF>#3TIVLcN5)D zQBZykhUBLdBtJ(&@>3V`)6mGK%-O2cK?H{Qtl?&3uZvqzuMb-y`t~5*oDv#Q23sK1 z#c)v1(r`0;zslKpL>yK*w{mJ*58J15!U74CxkUxRKR{-*w)E z?0LKgR30CMl*bv6^7tgAJT8Wm$JZd`aV?}g{smGVw?fL}SCI0U)ze6MEC4Bw#UbS} z7g8Rp8pS*wh3t832r7@wA?2|(q&!{#DUV$t<*^r}JPw7F$Lk^G@eW9Nybn?yr$Wl( zgOtbBM%LDTdag(IGkE`A%DZ2m%2~jBWO?K}LXW(?w`_a^)ZG>cALknn zYC&iUq;zIto4mpLMFRFsR+@P!CcZcRO;Fd6Pu;-p+Vk{DS?4nj*86}yt-!#(M5!~W zDzbNrV?kYU>O)$XYz?VSJ41@!-N^Fh@vlVo_`^WO9|X}tX><&fAJTg50g%S#lF)e^tphcMnnS9?mPU*Ka^4!*>#aAabgqJw z&Rvkwc>q#6(;%fY2U0pKA*J&^q;xhLS$TYc>oeqXN^%ESl{|e1X^hM4Youj?10eOi zQc)`lH6%u5=p^Wvc(e|r6dM{@$vnm8$evbnXRY&)v(Q&cNl-c1^nNyD8gE(RNF; z-HvUtF!n97FRf?xGt~8~5ab&Gp;F|lX4Gmys*}c1I~h_5&or`J`}MmGvak4b0Cf?$ z9LmAx2)Fea$ip5`*IwwX3GjAf9|d-x{tzbh{rg+Mez7i>*I6J;4ekWBcs~_VDV~Cg zlj6d7^hGEa?d_!V| zAf?j^QaWvnVme)rJ)Qob(isIQoqHjrGcg{W3@M$bqqYE2Ixj*>XQ`2;<0I@c3wYhG zK>i|(um=p4O)=GN9RgXtbbF$4=)5O`O0PAfakmGi$=1+*Dch@~?M>14VYl@giuVZE zCjw}W&-_4Mco&>};&zxN<5#jmpvJ|bkW5P$nW;}(%Om^D`e?8S&gw#%m7M~qUfLR2 zEdOmzM`S-WyMwwK_Jy>>e>J3Q;Ej+*xzUhjfA>R;NoP_#Isg}aj*r#1*!~KnpCPl6``Xcm3cCxB%U>j z>Ag$9-lBo=W=#AR?sHJ_c0oE^WQ0t8P&>#1VQ46gp5(tWy8Gyl-X&!29(14dj58#; z2RL3LETBBXaqr`ELG|(HA*KBawn-m<3)%blCQyC+Ge~_r>pCO#@#03YkC#IBK3)w} zA3qjSA8!n)kGF!<$Ipk<$Gbx6<9*`Mp^*CctxfzPl(8EtL z4tc!TP5k`qf$qape^5PR7*wA0ZiH0gA0VYy^v1OGY7z)N{CMNgI~#+FcN(O4o!!)X zcz0yK`1M0idiYRu@8QeQlOFyBx>xLWL-O_&$4i7~VMT7T_X(} z=eyYgcDj*jG2?JWE)8n+sWPPN@NrNsh9^R5)^j19f!&PEk%sCU%Orbrb9&#C^Tn~k^$m<B&}zUhMt7ro#mxXU6I$XHe%`-@?6+)%Znv2B_9Ydf4gq^EN~$Lt2QTeG z<@Yk^I1cxQPKO3Tx^9htbltiI(%teZNDeRE_AjUFD^vRWu6tV@Hx{SlYOKgR;}=nFeuo`D-#gZ&#$iFO zt09rPb9i9*Mfj~8_i^O*aC|Jsj|k`H{T%nQJOyg)a0R66;995{UUxw15PRKe@pD3D zl_j9O){Ar=l3XM>J_S81wCfT#(pa+7*!$Qws0+gV^t=hO*FMb5=PVFjG_(ZN zRew3846ea8BV35zMfU6eCQw)6&!X*)bldMzwwV(X+k%k%?q_6m>{G~tkSnR~4+nh? z6Kxx~tzV{_A%_bHsI#mq7D-ZQ@Ynk^#nx{;M^l3~4HR z8>F%6E=Xtc14h<*-XhbGJzH}?UGtxURMpQzN^_NwmB4fL4zgF=UqIFDhmdM^tJ}K4 z_sE_?)+9sS$rOOpTZ==Ae;B0rxki>lkAD=hw@e*SbyOcx%QS`5GHr}v%d|)K%w7zt zWx7EsO`oXsGm0%U0@+(;6sVRN11Z%>ZtHHRA$!Zr0p<5ux9~puJhJC}8K_C!YDibo z^*T(C*=l5Y@bZ3z?2Y?9s2a(doMy4F1wxG$2UVkoL8{TJkZSZONb&0!#Tspn?D=X5 zs%&RLs?oNPYP6?OtkD6;Ui6`$YIG!|lHVS+u|}~*Cn0-{P6t(^^B|?V+-=?MTgYCc z?}PIDDHb`Qi|;`8N&fes>hX|AjMT@=Lh85Oj4Tg+VqA&ru?B;Rbw8w7lOV z4_P4G6Ta!X4{-0G`xRuP>z<`8Dg8^=z0ZAz?q$uIW~d%f08-oTYh)$#0k)(El;J9{ z?LMMtwK4ZLYXoXea0;ZJ)*32@;RTT93713abAya51<(C(WWUY36|6|CyCCK3K}d7C z$DleKodY$1o`af0FU6xPpwrOaiP~nU4cbWxM6QnZ1{zCtt>RByfyi{w0h7}-1EG*CTk4y1Ey3AV}8#APy2 zdTY>=SHixB?k({ldfzY!&YWSoj}h61yiD&dJL#p<~T@a;8aNG z&3q#=BNvO1JvYlh^_ex$vE=K$sBMLm!>=K=;!j4FzI)0y(`5IwA1F@;L%LHh4QX~z z6{?T-qai(MJ|0qx7Ld|82U0rij4U1R<(DFRU+4wuEE(e#zC3y#vd_IHfm(Z6?-r$1 z>JN}B3b%sF!`Dz_@|Aa%QA?;WbT)Ko)T%=2_qCvlIoddCt)QdP`a@c;m|sG(#k76rqiM8<46)F4s7IGhptAt(3G zCD45jN?EW9d94CzL}`hwkEGWKIeZg`{p?zb*dYuvpP~Cu__-mb+c{n~81Fqt32O=F z0OQbu%YoIfJ_6GDUN>r|KpK1Xao&R?k#a{6!vghz|*L|60KDrMxi$U!H z+T|8r2^mkAe6;#P0Z@IkC{&%4YeJ==x{&I;u~Dd_GZ6hgvMs2yt`npyST{)L-?flx z_--TX4SuWt5VH5?M?uXf=R@lGd7e}m%P4zCSs*-hJ|3)0u9`rqk5k>&=QU>|d%i9N zb?4p%(s+0^w#g2Nk;uLxbGz&A;~sSPF#(j1X^?y@#x{8g&FjeCO;>|z^39O0XO-ug zZNczt`6vs7GS>yw{*58sBM-*5OK^4{vX8wFptn#>JOr-E<6FVzS->y&Pa%J%snQnE zhDKcnc3B`yb@I%U?w90!ED*YHF;FoNNw+AIvZxd-s=I}sBsDGIsUMAed$uo5On%A& z_AzFqKf?my&5KLW^Mwn?N&;aT@V+9@qMu;xmy@qRRp1YhhJ^f28)-sN7}B|ZD5TDH zgpsA|LuD;wpAa+vHNZB5G$A-0(uANbqzOSsNGD%+s5u$BG9DcQX+m&A)W$-Z5Zni8 zV0;AXLfjeg=sZXhf<;kV2C1WeVq{g}J!m_!56`>6qwrK}zAVC)4-14zc}v&5%eF@M zVc-H#)!zwHm+gyfG7T6k1NEoj=*cwTCUmd=G3fomG+-LKcf}co<`O z&=}I23#|fp#gRe%TA^fOZw6^W-rjs}nzm7h1s1;f*DE7tXN%wRhn(>ff#1P z(W`gQc3rylKC^q*D?9bf^Ur<$yJ@FxoqBfZP^(e*&S&=MX>X>fk#cA+)bLkv^zYHB zi)C5sisMnet*;ZGJpH!Oy?# zE9uGmJ2ap9!#*iK|T*d-n8gm4wiAMuSs|TlJn@rTsLG~)W0#vd4LAvk{iP~+DCbD-K*$)@| z?q?RV7h|@eRY&HN98W5Ko&`L=Pa{t(kge`@U@zstfBawC0wKRuLFKnTr2MvY+b}&u z_9WS>P21vTTl4bm)hEu^$Q zH;S=-LiSjNUr1sd1}WCXkYWuoieLTUK%TU__p$sR2O8IO^W$5g-UWVStUWThcm0=8|GTaNP43i;w znjWRCF61qt9cnGMXy)rk(|q zl{2F4nH(Pzk{xP+9RIq+b&2Uc(ez$S?PVXT`j;^ETlx1vKL<8O<4qWcJnX;33_J(9 zhQ3qf7$eVaZL~!p3m0PRPb3CLi$Pet94zj^;&7E`T(r0ki>Vo&w>1QEf|s|W&01u8 z?VR#o@FnxoU0(J!^qlNtl(jr8S5zfn`vzoFE85gXUKMP*FO|)ivboX%VU2Z=>s~3> zq93PvzY)|3I~I$i8;wWyCC|yAZZRK+w2Ji~n#y zK&{l}f89t!N^v90gWoxpMXs-0RtB{ec>;7IJ+3jNnmYy3(!n{92FDBI(JLUWDE2e5 zT)X#ck=^@^puFD?$@{~QygvrX`#ebApNmIVLh}B$QS`nE*}ZQ8<^4xU-gA~2$$KG4 z-it#z;SY;Pt3&c$+bDW(gzVl=2Ic(%NZva^^4=Aa_kK`m>TO6odK)C~cNsS!4};{rf>HE-46=K#2g>`oki55t_}@Kc%0Yu3wPSd#CFIQ~K@c`aLOqX1YEvr7ug@ z*QE4M)Ab!Gy}+up{O@OhP!AQ-^=c`-iR*rka3;E6M=k_)9T@=WI&urPnZeWBYLIHDeMDx@BA0i?UU&hcmu zNWG@Nk+q#S{7_`i-#AcdJOL?xiy`H2Y1B4D%HQWvE3qbtd#Dlls}%lMk&yCt7o_}+kJ{6a^0z2zpF@hf-H81C z82)F!ZAX;9LXh%z2vh;9vhnB-51g8MUrO_MJJSL0$Lmg%oQlq*!x|Vys2T9_tNIGpuz`CGzqKr029> z8pT+d>td{ZL6!9&NF}TY=>b{|qZq3JvZr-As95Jhiq!>Dte!?O)=*@RbsJcoeBBM{ zx%?E!XUIk|)(glUYbB^yYazw@7*ee5Mln{#J2BS2pj!MONJ|VAA*CB1=6xcPa})vSBD|Ues#DJEJSW5 zLApB3$2K!Oq+f*WkMQ0Dm9MX%TExoxu2Ey?0O(BUP)JA5hZN%?BaU?q|9f&oXWalu z=j08LTKx8SbR495f7r-MP(>H2X~>?dmqDem0aChOK+08~_l(XU<@}J2HiZ=9BqNTU z9salFh;r2tQm%SK>hlBR(Giexb&FBV)t$(mtH(j5@fxIb*FnnFCr~R=-X4!ue?N(F zlo7}3hyP7DqFkK{DOVRje*KI`dqB!nf1{YIp~#-AaiDVb1f*OohLo#S&;_KtJ{~Rc zmn6oaMjWdY{#WCOa#b5ru9`tQk6Xs0=RwL<2cwv)%aA=+BS7Wq0Z6%;4k=d)pthvE zBp%J#ki^Ju#IgOu|ARTAT$P5Ds~S)_td5IE8$rrd3!^yJcSZKGzMCO&uHg7y;bwn8 z>i95FD+4!Sk*o}ik*rQS0X-S}r>69$)AfZZePz17Hl=@rp7_uASFL?ac#Oxq&GmA# z|DjKw?B-+Mf8*CqVh$3>^Rus<{OU90__(Y^yWTy!^sCvgraumD-}~>LAOEVCUw;z) z?|;(VzV}J(I&^Q}rCqni-Fo-r8!YxDd^aCv?s@!tS=&B6Y?DH#c9*yPJzpBJy$rke zu>SwY$IoYUxwuQmhTS{T2kkl2ZuY^;+x5Q0>$H8?C-U1e{QwHIGpJR ztv2)ryfqEo_GqK5XT$5g=Mu1wOv?3(nENK!)u5)UA7GKZ2IDK_@Y9_&hPv@BY7{NX zAiG7)Xwd+R!QnCK`vkK6&hHCj&sD+qOx=;k$DgAukkd$cst?vxaT^)B@k)$855`~1 zLdM@ki+}M0Fsk%l+^KTLHcR?=&*pe|aL(RJd$I+>R_z(+$*)+RM)%FNFMt|HKbM6{ zmAO4B)yYO#FN9LvK_Kycp9O;NhtU(?Gtu4mTu{$*7eY$q3v82lygio#t96`DH?T;h;iyPa{deC~~%V9&pdIHJDwv84DYXqNwT9Dla6|}$1@7>nVv3w7i zkK1{<&&ol7Vz_V;RKUk3Y$SL znrMMR;j%P^fPHM%9AwTk4(r}?K@AoQFi5UBFCzOo;!;r2-b}Yxm$KLpEk42`x#s*t zz}{eB(K8QvILToNqpa;AhZ6|c7CQ~*pAxWlm16&;aTpX!O)@$8iF{29ghA{CP<7EY z-C}UcVq~lR*HD=px)^&|2#VgB8IveGH3y!7)xY4UQ7aoB=(H>kzn<&aFjhIE4M z^+@8lpi$P=;P?^($!CqaTOj-d?mE|fiS}l6|26#Gpd8M^Vn~=QuSNC}Y%%l_>^;RS z?%K;IAxjCoZgG{bH!T!AehB6z`WKLVe+_A6>qkh1+V4>#{d}SXq@$&w^7fZm5z;z! zU8oXTlX$d+k(JUre=B4!%_X4Hz5-I({UCWC0x9j$kkTF(k4}J;_M?!}UI10Hzs#57 z(Pc(4?bXPh_Q#;o-VQ14U69hwGu23G?++>Ml8}y;g_L$>NNLxDD%oFVvv~A0qj*EJ z5!u^lhoQGo@~xJ99Q)6HtL2r)EHewjw>TCyxUwBQ}6^eLe-M zjdrGy)unH_JP$cnHP{LC=U$L*J^Mm+>@Rb$QH(Vl*<;-bD%PElVm$;Y))XTfF8mqW z3&>t~Zy0*rt-@kfUY~IMXFopk$aG8U+b}TgHACg`8Cnqwgu&>9psPw+qI-vLBNGZR zGTq|dl*OcIvC1tx;@cMRqOL>!A-o;F-b|(MA7E)=f$-DiR-i5g?IF#hE{7`EU*=Vi zYI_(|4eeH_3Unu=Cyx(9T7jPloxsrrP$TF?s0s8Yq-RVUAe}!uj6%OQ${L#EV^5n| zX<ffso-IpfWrdQiexD%J7|#GJHQ&&HgeUgOuUfkTU!Nqzo^Gl;L%dGQ0s&hChdt z;U6GnxX9y4hW9hd8Xhv-mq7A~o8cA+8NLZrhVOxt;fEn*cs8UAKMg6vFGI@ka!46| z7gB~lf|TK%kTU!Oqzo6FZKMnz1S!K+jJ$@E?;&N|q0B$#dq_&^f9HEh8dHDkdq{Vk zU|%yD5hiqB5=bU=-&!EN%Oj(np(a8_Azc^BLAnN1iP{N}t^qBf8Z=GosC9uf;P!#k zo+FIBJ$LKFOv&#oRMb7cv-sKXEL6w;1HZFKK60fq>|g!Jm7MI(N3Im{-}R9zIosWj zTqU1sl9T`NrLpq-hfC>}8DpUqK z3Q~UR#G?(NT#lX(9S3!Ul%LDu(Vj*z?OTvN?K?oFeIKN>Cqhd5IY?^@#rc@ zX>Wm)_I5~V?}|tBTw`e`v&=CT2(!#b4Sif5bFEpt5GDq-hAXSyJ?dH@{FLo%u&9bE z5xNr61%D8v*Ua4k>BjNCs67c)CC0OmrV?wQ>S*sqZ6|a*+7FPn#vL%is6JXrNLnpO z9ilFzN@xkG0y`La!6tl>*Vb$$t~ShRp{iaFwp2IR2sXj_r%*lUCnJxZ{0b!p`S<+_ zMP7gFS18F(OXT-ge_A4oU;Sx`68w#ymdNH;e_En+e&eSlvf1;~l082y+4Iv9#)CaS zE!p$a68gcOpO*M9820?M#NIN*PewG)+4Iv9s|ii$_x!ZP=d62vT9T8w=cgrhR_ys{ z$)2B2qLa%yWar7EbE+qziT2LvRaMPQ&GxCj&9*?Mub?v8=mUX?mNEFQms zWv7XYYl@ zQ^sL$%uk@dm}*4M}$D`!g* zt0<&cr69#>YZPN$g6y&SflBLoNU`pM6zff+80&pxkM$X-Sl>a4wb!RftR_Y=)>+6N zs|%=DgCNDa4N_X`jjX!;dHEJ(kM$F%SVcceVwHy!tEW*+YbdhE8Vf4c6i8`33n^Cq zt!c3iv_Obe8C0x#kYb$)Dc1c)mP6mkGZooiY%mwxkIwc6q;=R2-8Nedx>E+iA3>c_ z`9C+(bLRt$tPE~j4%r_>R0U;wOtfvBZrcjkHw3qhwwT{c44&b7i~wS+m1u_4bu~& z?eu8-OuFqVWPgLt`e^%Av@NhLEx)BL5C(xtpz?bnr2L+fZrcOd^V=`l-WF{qVVfD+ z?FnRWi)W+l8c4egHeuT{Y(B`^ZnAgu97B3ee*2$QBs{XHWC0(^svvL7b>CwW%+if4*ZMl`&b}6sVfHRp~)eTUL9Np(q*EGk=2}E zk?LB&J)eNQJ#34<#BKZq-MuUjTBvU{?~ld!kdX>s$z=&$GOJl2yiT|dsOLhhASHhh zr1JMOvW$4Yz8bl#hJ~9z#hM5y)=WsTUNW*+nKE6f0F}8C%JkP)zKyZ(=6WC0W5~@i z4Wr3tDT^J^;ybtSi(=+Z5>z5Zz=|YN5z<;uHAqjgnnD`z&NH%{`FPb1*-yhuKt0~< z4kK$zlO2&#rU2MYx*Pg(Sf7DL>^ z3poPWw=0eUH8;5rDndplM(tTh?Z3jv`{^4-St~=)W_B^ZsmETXWNWKBJ4cXr}`V*)fDEsb`g>UaGZh>$;Ct6R7p7pHfd7pRhC6F?C6;dW|L5jH%Qp_EYV(vDw zn101QhLN6Lk+e_a;_=hY8Y*foNKuPHd2uWQDSkyr@h^oG|8k=kzpZ5T`wf}({z?6g z%=#>hZ0Y5xW-dP7ON&5%pAxFZ;Wd!I!2oIJ@d>1fzSGFE@C(iNl9k1=%=)>cp7(F_ zPrTz$0VC|J+Zp>zyax3@s^=kh$gZm9m=R{#B2aT^m3#P`2%CaCX>Ut`UFcK%nUwHc#E!)3_8k#&t)-F$~5VD^fWkFTa z0FT7U(G=M$Zx5^s?Z+kS5A3NE790NZBklvTQuk%g7#S zEvQKEL5lP-q)0mcpU&_eJ`zg^7BhBB5 zYle%j>g~ZIj9@27uRGoVX`|c^(#bIlQcW3-ryBbQ{>-$?2kGV9-9 zr2B`{2l4S%{tl{@Cn5FRSx7yX{k)M*ll+h-P$@`rw}O%7fG=r8%JfiFgYj3n-S*ZbWlAq3y;K{oQv#paxth}*5Z+vlkXw> zoZJp-PVRRPpGk+1y=P8<>Y3A!M&%r&QOTXvNI4WVvK+kpMaW*h5~%*H38_CXhZLz5 zq)1&LMY_=_M!FT*BMk!;X*8rrlOaW#2`SP%NRgg3vPeEB-^7r^W;v)|cDhF;8Q-G& zOg#*0rv3(Lrv3qGre;ks(oDSoQvLZLg)a%I{_;k#{<@M?QOnGF4~%r5RD<#Hk-5`- zygw(RdoMfyYCL8`>W?QN^~dv&X6iCXGxZ%vGj*ep<>NDThh*jR9eQF$o^~hA$P%d+ zh8bDPD0NMkktZ%wvUqkko?}CcC0aDDZkYetF6mvhM zn7=}bdD6&YmRGaRBKrk5dwQZ&UPz@%Kq^(v$V&O#Y=R+&c5+ato7}^5?Tzla4hNOt z9gs4d0%=A*04dkmkb*9NRO=F>SnC^-Ro8~h`ZpM1Mjpn;N9K(CcstLddpmPyGt|bS zAXJS}C=F>IR)I7R8$z0g&5SGypNH2-_73AgO;VfjIhfjm5a|IrWdAJtYTl*oXdAQp>yxseez1_cn>gf}ZdOAxE zBh{SU$ZGb{%Zu!zcQL4$RvOYcR)RE+mqLo!6jIFgkYaW*iZO3Q_Lu`e#k>tt%nV2| zCqasNKctwCLyGx~k;U|RxCTQGAIL#H^hIWm?~?j4*S&?O(LI~AoQBFF7o;4DL7Jas zAZ1e#Qe~Gy%I0#Tm`zuVFc16S;v+NCeSG#zOzN{-_i>tw9yY$9Z+xL@%+EED=I44y z^Yar(^K++BoQJ<)gpF+e3lj6NfKlq1Fb@x7B-X>DW`ue852$vf=2DPs>d*_!2=lNQ zD6u*oiFsHL*<0HJ)I7Y-J^YGr6S7|s27>DE;gI_KE=avR4N@;Z3MrfUM%E;cv=G@N zEdzCJSqZ89Tae0cfmHreqgZ|yvX}oJ)D`Inq$|=XNRiG%ij*g}ks=i`isM}aLk^eA zLH*J`v&W4|eW2?;`-Y?Y?7It8Z%l#I8xKR8ee)n?^9-cQUV)U&N~4&~#~5MueT|Ec z#}W7O*>^grr{_^w@6+67ggz+_s!vNn%B%vU%<4kwr-qPb3BD?cBIg?$Uq6yy{jbf|sMD|uM1J#m`qi@k-nObrYMrcVD0jxr{DKQ{rDU3*BrbB$uF-$3@j zhof({vI*Z#M&|3)U5AnCmy(IjddT$*7yVXZpa?# zW>8nsQBYeVO@dlOFF=a45>ljJj4YC0&rTuxbt`KHLw#GP5TsJ&jjWB;lypPnmcnLW zHEOs4(iOTdq)#$NL~RUI5x)shdl=H^A&(nbCcb}IgzTTXECtI`>Rm|t)lE^`3#pz% zM)vB1f6Q_Y*#|F6#S8U8V59mdR?eLf# zKH18^qq6oP<3Ue&VsxH_^DiOxix`R6%W?Onu8i)h@R*X*AGpq|B=^FK{;V0{lk^ur z-O{Xwv_0D#e0?@0eGf$6Gtu|F`}*EGTV)I3@0jEPwE-*y>0_hHMsY|kNA`z6EkO-) zSEw9=(=W5{NM!#^{Lbh*1Jakh=D4qq&l7H_oeOaBE%Opk1N$nZ!|%JRZzZ=N`?UWQ z)OX2uLCWkfRFuq)MlEX<)0Axvqu8=S$e!)Rpvu>Plx-vT^=vP9qXL0j;^G;!1(iW3 zND=x%%3w&;?uL}XR3pp4AF$0tzEs2a2w0c!^B_ff1=8udGHM?{O5kU%&QlM{c8*d)DUq|Ey-hD5H&dT119jWI z3R0Wifz+mrklOT-QS6f)$XxLGxQqI~9lyO$0DjSDuLoHCZ^$j2$Zs)FkY3_{d zd+zR_F73S_RWZPQz3$uHP<^AFHS~Ak?lGo-iZKIHjM?t$6Xprz%Ic>DU`2X-38YZ3 zy06#w7KU{sF7Ft7KdwW4Kdg=y){%?9CsWLf@Se;ipjNz!kjAhEq~seIh4(g_BKo)B z+ei(o(zWRRt?rx96MyZjKYAYJKN8efO@$QsF?`EjA*~Y7}h^--UGL_{u28`5xKh{0{1B_$Q<|sr5WgVf*QENUjN!&2MkAp5HR6ndiXUPSj%Uk)n9 z21skcR!CQ$Z{yLUkahy6plir0-=ztyfKiNI3fZGq02RFvr0C6~b~U7!9U#RVWEA^! zG_vpV?gG`5vmm`~H#cfaAsB8@kwSwm{!b2lh z2)VrQ;^x?dMsgUYT8q{k1}{e>On6nr?;k zp7#z&^JFii+3`cvPC?C>MgKxthjL$TbS+vjs26le)apWg&>BOkx1EvY?q_FbWM9w+ zqh}3mx*gqJ#)4WAr$U;~vmk$*1nC~*X(KBi-W5Uid*tPy`eYRzDPg&I2f3;;+6XG{ zN04??yCAJMd!u#~Dobll8(Ac;>m0Jzm9vSV>dI#n>neimb(I8FLlsCh)Q;MfkZNde z6l>^$>^0mBs)oMq;Y-R8WPiqUJE*JbSV(nEgH+c8QF{(5M{8a-igm3-_PREJs%xuz zcwIY?y{@l8)o>V64acH(K~vLILm?xpp{%;Q9CBS@HBjxn3aU>w9U$%BuZOfQ-3)0Z z>Y8noK z)In3BN|bs4(gpVks4?1Ns5SI*Jo+Zo4s8ph&xXE)dZHbGZi9Y`NB@9STY4*H=EHoU z8R79p2~bn29Heb>)u>$wX_(s?Stoe;Zpi+4qz|Zp91JPa6iB6J8pTqNBYUYu(RV4- zhOAda?ITF#KR1fy_aS@vBhmL5r1Gbumj9|m`JzU#d^uze1-?6m&J^7f0i_iCsWwRVi!NJzDgHHzh@BYXKLKrJTELW;B! zQmK!OVyQjIUg~i4Jr3!t`zvY}w@H*QXB5lVMfUP7K-JX_(g=5n+Gt4i-)$7j&ylOn z&8MU9d(n4uX5U@NUe}@M`#Yo_Iu*5IZ4-5sHi~uCLiX~_LFL*8x{4m|6txUUxsEro z^1gh{K(4M_9|hIICn4QnzwN&M0`ewgzxDYT)Z?aaAYIgdgtTP;YGgI|&h`(vs)p2d z=Ap+1c_3|6NDNcn7ql+W&{eFrI@!%@rM-ZbS?5K=xRAmvj%9<2*0i_45+7A=uIi_X!v2c#^9 zK+0l#)TTn$)9weN_6DRZ)<8FLbUkz{v^8pbqThZ<`TS%Q^Z6aw^Z7UWX1~TnPw zJ{6-@3sOD}qt**jK7AnNa~q_5?uthzL&{=?k?o)T_VW>B-#{+}HLqTSG_Tg;oA{>A z`lRot(RW|;JtSXEyAxpe@>bRk7OaZooS?SS)+v586Olxw=6O zi9Q0-Bm5~*n*sIV=(ErRdbIW)xInlaoFzO2E)kwds^`JCq!zx`@Q|>+VNAajx~G2) zsPqRwN`C~T^k+g!|5ZrozYQtQ`CNglzwU_BTv6P=;_x5J^l8er+-UQ?GL`A zoEI6!-*o;KMq0RO!pDby2dLry8PZUlgf#qlI~!^EYZ=AiZ-(r{e>JG#zZKH(4~8`S z(;&rMY!v%%C9?P5+o1YyC#3${2dV$gKuK>DQ9rWQJY#4|C9*i_!K<>xKZ>gUJHT*9^ zT3_D9HF1N!%?&*j{SuejS~d29YQ-T)ljV0vZ9EO>#yZROM%_6Zb3(U31)!nOMNlqi z6r|c`8>My$v+FfvztMT!5YJT{uN!W3)+LXBW#~6Ld+<1zlBQXCaW{+LzYU=h*h=Zw zluEeake+9aH1Yr$Mya#X{bP)rx0qoMBQC(ZkQ;g662@VbE)S{~t3mpHV_istdXA81cr11g@+FFJKd2LGHdKjH^C8Wx=b&b2OQFl4m5@%nbx;Ac z_aW_vwnClJc0e7VuOW@pL8u?v5lGjp6Hqs_bCBYt^fJwwIMyWZv@rH?+WM&s5O)d^)#{(@aLfYkbUX84XlO7D5wE69@4ot8ET0( z18NJ+h7|n?NG)3dX}7W(x*5NBA=Ui>q$hwMLmICy;?WVIj{6wp!%f%qN((jPw$)AwM zCDM8uX~oM0>1atvyUL12HjDh>YZVOp%h(jFgNyfEBTzlp9Ma+Lkb15cq@EiH zspp16>bYrJ+}=~&wT-@=k`MCxgU*U&;5$*J@+T5o;wGr z=d$(TFb%2bbU%dag61zPSlf&-I1WbGOB#(;)TSY$Mw}`o{HbWbedHprUVw zict4X9fp2`)W%ar)(S6Qx^FCB1yuREkjh`C!<4@cQu&@nR^E36{UvLj50AcgLW*<` zqy_Z;c=S1_ATeJyvPk|!_zh&=62A*-#J+M5Z{VL8w(wB&94@}@WbbFFS&|>px>Fp| z=#_yqH>yHfcj`e`5ax17=YDr1%f;87-pIc03;})JfizNgLt1z4gS75E47DZZJV?jL0Wfyi$}BdH%;qKJ|oM~ch$wrP`{UT)z_VBIQ!Xi zDX4yF0;xZ5fpqo^fOPhZfYd`{A)P&sK{|VuLMr>dk=5?&&PT|8_Iv?qW_%6l>^TUj z|9^pW_M9}b^1kl;jqGPn+5khHJ$WGYbzw+nPeVv&PYX!B)E(+ZZ{7-NOa?%oi#~__O3yk8r^BhK4cV5QDd+rTTJ@*cz*6)MVbB7@H-0zTj?lh#HD=^SVJy#i0 z+2%&E=h`59&vgdXbKN2J+^vv$ZV05F%P@*PHy+u0ZYrprdk|93&Cy}{W(}mCdmmEI z?S|BI2O#y_VMsl998%By6^|AeWSV-elu=xF+93OB*%?&yo1h}p-A9L^yCAi3nvu1_ z*PZ2Z(EMEss{H$q%5T+S${&PO{%0dA@9WM<$twR(^i3a}h?E!7x>E$wSyl_u;?c;+ zBKf-00@>G{cA!SApL=)%r@E0sI`=uN;)ikf{oOoJ=j|Ji4sXLXu}}IE+1IPRpk~)0 zNbA+_kVgF!q&amS(t4F+h>=#5{E%8x!^qm;>s13}U$2^jnh9+njc{j3>s1d(>s3Ff zElnB*Df*qzt!Pg`TBR01H>14-sqWVyjo90e+PyIz{T9-C^`nvH=)L$GvY-5?K#lV` zNHL4vW~6bhY!pk?LH1IYfhyG!QmG!0N)0u#Qa(HGkgQRd7=5Qh%6c}W*)cC3eI3&5 zc-zP#`Rv$)?6YG#sM+z8dw9FD4>k8xAM*UhVMY`O)ibrBOX$JIP(`REr2M)W#aYq| z*=NZhP_yKANV8--q**cr(kyuZ(kz(+X&j%1)IV<-SzG+}Z#%M2m|dXOupc4y>VF{J zSsa6|BG12|rcm}_3BNp0ZnVNi7TrG)FNIt~ZK~vYnvB}$-kFUv>n)Rd`^@@vG6>%j z4}Tl2KbRkJIHW7XosibY$wu}o=X_C|hwN_@EksWbO@0Zzrc!zxRG+;KsYgG6)MuYS znkQdD8pHkZ=xIo^JIipj-f!A+nh`pp0H|jJ#UaHk3n^wbNc~+e9=!(AEWX~zdeqm* zTaYU#^Wkb-e1*IgR9_B&)ITF2T{Xu-%I_f~J0A+kcpTYZ z340dQy7m&(fVuEGq;>5bNON+Nk>%pMlaO zI`_{*nyJ}uH`2MEAJRN74(Z%418L4RGm1TNHL`!I-4oQV;SQ)WO_&I&cc(+DaZdDm z0@77uA=H)k3DOx@8`AUg%b@J!b)Avb;Gf>~K=vGN2epFCgmjL~i`r90lzut^n8$R6)2Q1OmJiuZ5SvW)V0`NGe__S55)G_rWUHkQUn^)Quj@z~8kweE+H+7RwGX-hdOIF{A5vSl8pXEmK=yoo0+r8sNcm(R zZKQniL&~Q(q(r0ZyVNatr)NbB#-kk-cj@#sWIvwXUdW#ZSF*~osuoeydq zT?i@WQb;jZLb^J<9gltqX{PQqvY6hphmgHze~-SWAw|kECJ`wIqY`lCP4Jk^MR|6Vy8TynFbVe1H+IGoRq%*O{+C zW$+sgi7Uw|WWSP}2esDaxYI~ik_#bSNiK%8nw2xMeEd0Qb!1w~2k{$`NY%GQuZ z|5`|^b9YFqb8kp9Vlbp0yw520g7DqrhmlJw>v^Eow3i`evJ&6KXMpd>LB1bEkL{T~ zb|pRbM~|P}!(YPu3)v@B%2-34v$-I(rYNMR&84Acw6zL!8B`yt4P6E4>2MoJJI2mX zXO7+kb$|vydfGe!($nU#kj}_yP&fSMLW=hkq_!_M3eVHmg7$T7T-W2^J+>88k9`BF z)c3(v-Sl(P_hj@CW2*Y%KeaHJ_4!Kd?VW!WK;f&kbQQ)0#>BdMo6Qu4bm8W0X5<1-gxu} zs3zK9kOJl%Z_!i2Cl5u;2#v1{YHwW|Dom-%AZ2$Aq;sSzq&ag7r0ecLBTh$EFcR4_ z9tV~u(rifcYaUb`Z6T!lke4ByH!C5XpYK8n__>i~>^Fj6BYX6NU@jv40x6R}+}9V6 ze~|qumUfq+Hf(tzt(-+5tz)Gj^?hX{8!l!JkIy9VFH3!(2J`%9XeLG{&7kjD8pNV~eM zcN=N7xd74{ToBT==HhttQb^aDrbbqeuX$G?`(~~Ks21MCPV6v*-?8O zQi~TDS&KdT3&RsLq7q9+iP%= zcyt}4JT^nh<1b?e2-CZHo-6tL$1gY-Z zA=Nz|Qr%PH(WfBQy~N0x?F;oXWbckOpyv5{NPCSfI!qSdL7H7hj4XHGYn(v#)9`Ol zdyT^P$iu_d$4K?SO^w5+)ZGmIL*(u_90}hxm_0>BFH}38Gb8M?mV)I;WEFHFv=-79 zWId$C`{Q`@Gf0zrw~;06Ssq6Az1uNRG5>}X^Bkm@*`^vPW&ub?i$IE5%E(R(e}(!| zWdGc{37AfHtsr&hwK|N}8&by(GP0b!{6sluvAz#f`B{+4&(~qfzXGZJN~2hQs~l8* z2dMIUAeH|?hbjLjr1Jk5S^j?EE-=kxPo*fBg6}1eB2|JEsct;l3R0x@MwW?3>W%D? z21MWCkRpwN6lroi`WU20Pa4HYE08_X>gc-;Qlt+dMcNUMeh(?q5hH7zuVKfL{Ze?^ zb-(`QzSneLPs@OMEujIV1*g4{#qeinHz51(5V!@@NjLz~Tp0${px0(XItjKL#qxWQ zz5D@C<^Kbz{O^#;=eo~G>v-tg0OAhP$ybJ63^%pT{G9*w3aVmx4EF}xqA=(5; z=hVGXdlAxNwF1%-^%kW5*a&Gmy$#YPXD6f*zd_m>oPxAG6`oqYj{THwv8 z#9^NR^+4s?5mK4HP$NoBhMGb%qV@`;maK%7!#j|&{s2-&mzFIa#UYI>im;77INbjSyvOm~GBRK@r?fh^fFE-LB zbyrwq-^H-SM+G+*}DtIW~zNE*I=yBXVykNEm2uQ(PqI7WyW3Rmw>h^5@ zp3t@jRlC0@^tl<~Qt~6HW%dlD2A+qsgD&upkxu=xM)Aa|f$X!eD|%|U!S5k=r9TkV z-ZeuaX^w-mi@hgmk3zZ}%r~n2LDDa-z?LVK@p>vK}lrKpfaco>Osn&o%?!K9WYY-R-r2{F5e0&gP{`1 zU=*aKZhX`pgeq|KF{7BllgOUI5>OeefRw=&_w}l_VT24m$HnD+pfWfjkvfh+%HVX= zaz1RDGRSWfGboDe8I%Q;K@CV5v~pjssx^kLVM9cIJsajOy5SjZ9IjZ?LCv+NAYB9& zK^mLYkWP~ijl#Y34n&`Gr%_YG_oU9DdkPoKHdNFLAD^)}XF>b(xC3iULK_4Y&ddPjk(cM7C>7r3w2`y587 zcPTC|zX__|_aW8$nGRFi5lHo(FpBk_MfQ4gK5D3Xi$SXQQX}*A3L0W)F7*+GZ)U>b zw^Tjix>mdwjD5v>3H9FWzT!PLM-g*rA}w}93(CvJVf9-FYW4dZQk(WbYSS-}=FZVmfr(({BDqxL?e&FvPW*aO=zd`I|r zGHNyB5VawwsLdcny(((AK#JPmC`KKGp{VOzR)CLi_FQ*?68AzHqaUL752UE6Ph^Uk z4MS0TxU2vJjYHH?pv3WzqE3$5laQi5XB2aN9z#*Lha144ua*F-^U=e=7RY~YE3~%ZMfJd zwxJY;+Azaq6`O~%M_mXi>T8e=e*`J&7m%WUV-%zA!%);VPfAv?8;nELUZA25hjjRU zNKqew6m`B)jQTW&qGo?88MTOUh*}C%)EbbYwuTh76Qro!jbhXu7>atI$VYJo9M0s` zuIsL1opIO|?K1R}dN&R`!%2PH(+ZxV(cEN)&gh?9^&R(bW`xr_%QJ@ZC}dK zw2|fHd(CBLcza(%-WS^2et~?vy^GCI4Vzu{_I_eUXzzERJpOPG&+TtyZ*TTz4b|R) zkRE(p1f`N&8A!R+i&_ICYo))3&{VQ&XbY;9oglTchYk~II8+^)Y!qAhs2SeMImkbS zR@Ppasg?Jep&DLs)mypJjL^ytL3w=b9{$U0zC-p_{tBvggjOyB<*~*+d}F*0*<1M$s8;ThNJe`houofR?N3M-daX8p~3UW^n~0%hGR`Dr02xt3)kad4pGzD^_DApMLEYcxd4XaCD`RAV{lP^YWPj84QuLJYnd0T>{#!-c zg83-f8IQ!1i>?^qqy8Sa_)8-Fkkdkf_qb0@3Qxz!N9r+9v*<}kvuKG93+9;67TWqgtOpa&5`q9AEKqcm?)NRl)5DRdawByHuNfZ+zb^f z^paGcd>5M$+EEjfM@#ppCZjE~H|cs%ldrc#svZRCqA((AlOgT)?~mF8M%K*QiutHy z;Q~_@(mk_I_c8YWUMtZ|^^5g!blp z*-#$kj4ZZ)I8znb+uHzCds{;K45O_MlUpZ9*Zn?G>u(fWIaIQ07z?VElOVNnrVbP7 z8Az>MVH8`r!3=NZCgioDl@GomA8+N4W~hejuS)e+<~1X?)CrdO&&}&?jo6AuaTG8CjP8W$r0*Pz|#{MS3#&KBvRPdgOi>ap*2mJL}(h^Y9~U7PIXCD=({c{iyyKqiPN9-+SozTCMtzx^47`k+nu=+%f#NT75_K z9Wkm_pF4&Q?LWFk-x0$`4j$USR_|fMM${aVkZX;~=-cy}!NdFa&gjs4^q?&NKjPJD zsTy028{T`^;J%}3T{&X-sL>g{2M-^8-H4%M`e#@rJ(YA%CEYV5-BU^bf61Wd|CB)@ zl`L8MjJ~dK@1eajY7V0N`iyQfc=*8n$pmZm9XT>f3J1FN?>l-#Mm_iIKWtRL+j`zH z(wfn~_pqL3_RSbPa&-UUJ^S|VJE(upQR7Bsj2JPx=iuRehu+bzf6qRHM~~{+d+5;7 z<3{!$Wg$|D*sgcq5q$>t9)8vE(HY}RR5hLN=smiB#_+)-hX1cJ3XWYZRKHA#2H6HJ zWANB|V?&~SMt9BVJ$%%F5gEf0@vMe^H;l;W=l1_?OZrx;)^kjqo})(h>(_sPg|L?V zH$(LG82?3tp@aMM>^rpg@PR$+G>l#Nzp3%R^zYTnOY|Dndu*@XLkABW-fQ&#bG|lZ z|BHP8kHc@7Sjqoh?V39OF9E`c(cRWj|IPHRiulR49$SXX5LZfq6;K7oz8~=(#HCxiRUvBYN(Rp8N5f5bn2%j;W zTg51KdWxsp1H)cOQ0w~O?zd-yL3PmGMqaSMDD$0~)eGK?ktleZ8R6C{Bk1a*dy@L} z%=+A<{q^vzLht4sZASLcyCuvBy;~Jj@796TyN&Sm-n}~M*)@9h zh@O3to+Fc<6Qk$7(ept(6TSN(viI&+hMw+Ycbdn8>E22EF%q9{{%S_JT|60dH9PCr zsOK=mUwVuinwpW`NMqW<&^;!tF^|)_v;GvcS1{$V z%Z%{y!68sj{(p53-&vhR_Pgw?YYmlNVIwFU4x`lV z!Q)vxyq{i{vtlog&ILa;=T8%zYDREw1Nvj4YYaW|d7SrTNmGo@pP4Z!J-=%2Zbo=C z(F@cgk^zw3j2i}NT<$Wmaq%tcEHgavY~*cO)6{3*yH5c{K4wOE+J73<9a{PhBi%XV zhV)v;MbM=zI%S|XP%Y?csDV+e_cAlQ-U~iAd0D8pCx*RTqk4y!5vJ+wL07XUCH4C< z>vNL&QDnIuM;( zeQD0N_Nyz0n-QGHfj*)W3_bGqIR6!#bMK7KML~DI*wCG)8l^T!(<7}NIQSK#_%1_# z3ALV~`{vqjzV=6x)tB|nNN**)0&J?3TN%3Z=Qtk?&Zp%e=f9)Jzj(|}^}1^xG^2jF zcW7ot_`XnEuqvZ{1Ej};w?Mk>8w}}XlRF{Z*G+`<5b$0jI}81t%m&7Zv$ zL3WSwpw6jUkj{ptkUqI=1yv*4_K@zQyFjY-MkAZw9%vx4|Gu~kP?7F|6lpr7NV6bC znhPn?(?%A_vwIQQgRTY@X%nPK+aN{y98#n`kRly0is$9`7^(i^!ZBQYHT@gZ*`D(U zBdsm@A&p#lBa7hccr9d4t0|~=Alg9cvu=>?iEoC~(-Vwr9rG_@-h*M?P8ZI?#UHoM z2NmH(ND-Dpitw3H>ckM?OJslW`VG2$8AnbB(S08L3M#YHa;CC#_$GdBar%$ZH$N!f zi=iC&mNl{@{iE9|$o|XxT7sJOZ6)H{2huq)7}CA}6sQJAXGCoYR1R%9q~}CyAl=XJ zhA!jifv9CYWSY*bT##PgDhcUas0is?sA&}EN&{qnd$A3uwWJf2M)V1gM)f`;E9DKF zh3qqIA*c?036I3LW>z43?|u#zCEC{#p}!$L%S`>rNF!Mu(p;?`wT_TxZFflhb}Lkw zC_^A+mtkbt`Q#Xn>~%i{s_w-SDfJf3>G1am5@HA-vw1fI|FH#aKRCk_nl{HGyFPH2Kim>np%Pvhii3PGr~5lBPfq9 zMqcbXe7_2NoN+k#<#R&x=yKdVnxtJo77O8t>3L+lXhwL=<2Cfe&gE@%Uotj;s`02i zG&xgFBr0!jl)52{$9^0m5&Ic4LhL2ziP$U9J@#5qtIbA8wH(7Y@i&ld-w+!4k5TG} zp`O-%D4w^WqZ#3;VK>)(Fm6WoDLe>N^ihz;@HzMOFGq^4e1*Lrs5y2Kq}!Gd-+5o!w!gjz$x>Y8|&^zK6yDFz1%8^F1Qd-+YuuYNw z1*{&-3g0mF0d*O^4bt#tK&tLOsEYkdc?i-a=ka*-8AunO*C9=VHz8eUHpHV_A!U(O zml3m43K)5s%X?d9$HQ#jX-0ZeT9dNJ&^`L}HID^Zy&+Fv*cS-ov%rkd1uMW*3a&Ep zf@_RY?T^(-K97+%{Q?!t*3Ufsid4wZW|UuvE=Kov+pB=O0M^E1Qg}hO8Agh)ZC53| zuXCR=S~7aOp=$dZdo~@Pwvv;>ql}3diFrKTj4*sp8oK-Gh30WmF{(Ug$2FN!YJ(kB zOGEG~`y z3+e(?7*eSckV;iDvKqWpU1TrS7*we%AeCwjsZHf~(MP`J%^fI7c395xh;%hApko`MEO~EquFQq-CSJS)T zJ1IEaijm@TVjwPFZaAoNce{554bRL>-j5``pUv#E3}d2C+xLyV`5RHUWbyfa>+@zz z2=`}8G17cdUtt{fUu!|_EZ@T+@lF2^k$wNV9pp4j`7*P|H%X6!(c>^4mXum?9wXJ4 z)i(m3%s?h7U-_Qdtf2;rN7nhHZRdrVAv%!nRq z-NPr#=Vo|s<$B3N|DM&a%7ZZM`*51*Bg_a}>*=oh)16u9zLlR3rrN)h*YTJX9z}kQ z>=pfD=oRHzY98})`mk)r_{7SprZ3G35&r{bqxdmMu}?#KxA7dLmzfH@Y@~(vVn|2J zLVE3`3RK7br8I@ALRZJ59gM7%K0;lQy)}bC)qOjpy2nC_J_%CYk3p*Y>3DQ8q`F^* zRQG#ORr{B+B_93MDAv6T+3P+6s_qkz>i!E--C15SQr(3h)m;+O(ejY$t_G>@=1^7p zm(nI4z1Ao`(EI_}$LJ43AEQ%v><<@{wy!Exe+bmcjIiq643?wx5J+!B-3e)X_86pF zpasz7_Ag}(loQ%wt)uBaaD59-Q46sm{sosg25XcSA`i|nOlgDUj|q*99@m0D_KXSKiDv;o=s?h8Y2 z&`vyF58J`w%gx9hPU=c#gsWmbuso$(K;S ze&l@33|kv6z$d>MVa;e3bahE5bf54& zD^$NfqwHWt*cfyLb;0TbX+ty&s%-yK?t*GUQ=r<=Y^XZ)1f+YSC6Km8Dcxt=g%KTp71H7)XC|daF5qBB|O-Sknl)Q2~UKS@C--^KLIJ>1yF7K zm+~s4gx`Ra@CHZ;Z-syCHxtrg!e&8_%Nh|PeDrfUq}h(dc#Nw7l)K^btCWL znntPLhL1uX#<(cGxDtLGZ~s8y1+c9BOIZe~`gM>_@ed#^V>=-g&a=u$Rh2UGs!AKB z{u`>g8zb={(M-I(s(D~R`1KrIzmJ0c{P%G~cbq5+kwgJd3;EbYyLA zScs|$Lb@(gfYf=_qt*O{fG~6DTiqr4i|B^m<7a4shMC z&7;x%o^hIVxy(oPE5iaXAMutziu@|175r@|J4ZJdS#4hEE4eDvJ}?g+KSC;X0#d2J zjI6c(L?p|8ll}Qcc2K4ALg|z*0cp_68HH)z2+=ET3M$hskTSgyQk?@K)j8ZKW;#`_ z%5)y6I-iA9Y8j+btBkCaUpUrcr26(?J1#y(2SJU|DM(|K>wr;N@-F~sj7mewuaZ$5 zqbnsVmv*lEPO2BWcTqpE0MTxPE`%~5_0T<#dT6>)Y~$0&-mi;6wee+0ZG00_8`m3I zDL>yok?doLo_NRk1iEK)8dNs9zcW%c1tDcq22wVajbb)Ukv*I1L1l9bq-;h&%4V!l zEOigE@7C`J757m{r4~afwamzJ^+j=`8Gb%?`a0DfFNWuYW6VguR3XM2y2o93ycax{ z;BmP;R>)cXuqryQ#`*o=d?4xkbJF?u=zRI@_U79IDQOCKH%4L!oN7im`)0cCeLol7 zm;I+f-Fm(V3Mq9od`lh9Nbr;do+9-ZaDWeH;1t3w#e# zbd+-Ne9M{<@~r_X-zy;H+sS?XPWA?5KP?A?x`7x8m8I@Gqc#Il|IIdv`7TBFd|xqC z|8hK$?|L&l-#IHxULBs-e1l<+!PUP-UN@tnU!BVvhuiQbp!)AxBM)-@hvvF2TG}v;&0LO=_y~WM8ye1coYlnb#$I+p5p!?s?=!q& z9G;lG4*E6m14H-SjPD28{c2sTsOkyZe~j?>qOWnd);t0#*+oVkWK0Wl{V)vBI~X~_ z4)-H7!gSt`p13Ign$)wl%%tZtBlwp`Pkh=^*$l7im8m8l4^Oy$z$g&L@3X* zXN|*|ung3cT?Oe(*bXW10V5B5&?xnQ#IpA*Y$LJhJVj|_9Vc!1nUl~K|V1Hy?3*E05 ztupIflKQ~R`W;DqCVFCm%`(Gt81#$D--rHQg^?}2m^$ViGs1pn3s{l%e+pHAzJV@< z4njKde}h_}oq-gl@~=i}cw-~4^m3!rqiNpoX}_8AnT>(mA22KII_87gbu5ImKrM&# zFn2YiJ=i9wJhg6vv{dbZbX_ZmGAE>utcpTf(kejB@v9EC zgf4^HKrNv5(6x}B9QA>;%ndf;#L%^JB(l$@iJ;E3dm-&(AA{7sCm}r~dkIqeUW2sk zu7k9*`~cFd{{m8*zlN%k&wn7b?{`RJ^ADtvyWpsiT6!VWgc6rPYF|a@DzrNNxHO zQkxD!YSU3jZ8`<1O=-uB)TUgJ+Eg4;o2o-IE6=~_r_x*1ZN`ax<_ z2BbEPgVd(!klHj0Qk$NG)TWmpwP_8cHm!ryrjH@DX+NYk9fH)RQ;^zp4pN))A2(8) zszPd0T_gJ?<$l972ibQ%OAY-TTzo8>or7}TWtiSUr{7+%ljiIX;MENOuaHiI^G06$ zsSopK;f1#xIBYQ^JbFI>mi7RK?)=PVbABbOJAZ|d9+lz+77_$_QnY z$Iw0QI%FQD)6%K&E#na4Jm_m;fu9n-&Hgao6XB!dK^TeM*C;c>S$U_Shi+HVzSJ^1 zxM!G=URjlo2mLASL_>EjZQpcB{nx&5ESHA@XmhjsTH5IiRpcM`-e5*}zwH)K6LO4uWY-8yK=wCz z9s~8P=`B3$ySDQ94B6k2I|OP1{|#x8%f8Aeg~k*!@`NrjO5GBE=XBZCW^A)df%>Y7 zSz&Q+2x@U}2I-dL8c0tCuY;6tZ>TIa41%=GkAd{eZ~~;$@ByeQevd-cp@mRg=tW2u ztJRR6GH!*G)@MdGJl=(0A^Q^WBd8_d7f3hqe?iJN%NnC1M9&K;+rp3*gL07CQWa85 z8$oJ8bEqO^J3z{|D^wG$52QBV0clk3HVTW>R7B745l|Vt;x~ehn#??~LN|SoKYleR;gx z&}VT|qg4BFQD?!`Z<+CtJ;Km*>0nm4bLt9e1KkHI$LI})>OglwwV;WRE)5StEzll= zu7#e2Izul(T4~onH=wP9`a>T;1EDXV>!CxC9Ozf(-Wa+Xx&mqgb%eBK>Irp3>kIXShCsJKW1(xH2O!OnM~%W9nUClh zE(Dd~a!47jhLqtZNEvQ}l;Ivo86JR?;ZKk<`~y;kDeo95!<>*Z%nvEUQjjvN11ZBs zMj^xIh@N2wP;;m&q)T=WNUO_WNONr@q?KtZqzq?5%J30L89oas!I>D>3ksR{6lm;g!2no(^5!j!#XoE(yQsL*=k05Eyex}l*a))@`i_a zr!hwQM0nvnWBc+dVOAQaH&@BGK#3cmwjBNh>I&_Q+Fm0o?hnp>mx04sC@Yk0eS!)^ zDkbtosDg1Q-bk|darC`D(tt>JM!Fx$QIEX0k;KB^ z1l??gD&B*dcu)4QyJ#Q!mmkPMo3d`Qn*73Ez|j2t)$8Kuz9lOS>QmwB(A5;H2VDkT zV`O!Esq2uv)J>pD4S-Z?7^G778CfacC9TH@?_L-CKnJvQu4Nn^HZ}#7aAzD6Z{v?e z_RlKr2UTnn9*HaSW(?aolImBu_&xC z`c^{rz_p`qNC;r4ln8-z{uuX{d1uJsbu>&=9dpt ze#Ic=*T5*|*DUGVI{J2szQZ&7j!F7X%B)XM>a)=k`5nRt`K4|5O35#`ap=FopzDwXtc8k8FGW*_@^qrPje=w=fMNi~+1S2~cor6++)0^!ROT<4z$p_ZL zp(s=zDh+8GR5P+d{-ud}$Q6}x6Ht4|tDtKs)fKu4x*6&Zje@j$m}g`o;tS?NPw!VJHbRY3kN+(_Suk+|>fXGYjH z-v;U&ooM6*C*k{AD7X|OQE;`qmF`>7{T)22Tm6@!y-`yyd>V@p3hJY$H1yWtJAeGu;6qfT( z5q1}oBYKSIj>H>e2OACNY)e?!&LQoc0Olc>B+;!gpB z+LSbe)SglJ-W6uSDva#DpuK~OUqv^9`AP3vNWJ(Iq})n>WrY%BU&)Lx_BBCm3tB-M z@!KGk9|LK`Uo(nhw+7kAZUd;X`x;WIA0drh$=#Vsl{X`lss*Z4Ye=Q8gH-B4Bdg0l zc7FodU%Xia>elHMs61_53+V=CBcw6^7}AXR0@7H1Z4}3{{2o=Hv21SaW7z_AP586+ zGcfE=U}$t^n-P|+CqVVmB1l`6m)+OzzSl_BDfS+y03YH}B#hrzW_XQzkY7nn(-@ce z+6?vuj4gl4M2o8i&Nml(kSnOV1E9+P0;&87 zNagc>Yozk^jbiyG$X@M$p7;djJi5PTbHP68KIigagkNV`$T*a}#C<%Qis)Xpj@(sk zBUHbNGzWG5Tn*_4wF9J?)y>HA@aJJSBl{J-Kd62h3MuFWd{e>&Y#Oq!70;k2wtUZ{ zdp_&Y6PMu~W_Txmj=VU<*Vdf-71KXoD{Mws^-6$xj9Up(4_{{FAucyceJg|*h>;kl z5qNvgOpNZ6@R*U7rWNm%%(h2SFKVBcSQJe;5NkB%Alj?+w5AKliVm zm!^ALH?+!kHV#v-JE%dt6^Fz#fLdF_>Pk=>j-HUlxF4hw z>MlqZJ~4 zd;ip!l827} z;Lf@MIERBjRw;hWP?y&d{R!HuQK>Z+%v}pKI5f5w>A{!2Ar}1W0Xo z6w+NLk+uDT7`{)ZfQ`#-3lvVIPqk|7Oy=n-TP7uKQeCgYH|JPe5(1cR{M- zTYOW)RLXabfK=HE((a*)QTTkf7pRNXcu0pIhP0M1gBnwKP1N>4s_`JCTj`%6T@g+~ z>ZN}mZML$VH&Tg9AoW~jr~r}MLaMjD5lTn<8Ar4yhkZl`gBsCkklH#Q(ul5wG@|cE z?R!WgdIZw=oPac*&ifn|G?{-L~b{bhuK8f}r`xfG)>%Kj*H&+uofxKW|a;O4n_u357Z0HF!;AsD- zO^4LF*-%N2&WAJ`7D4LaS0K%X)sRYj3aQt3L%QWW1F7D#MnwD9ep<^t*Ie1`ux~1g zfy%WWq%v(F~lC^^kJ?2vUjfA?5lD zq+E07FjBpFjmY&v`)PB-`}GnId#=?%<=PrjnVyi&fbmd6%1@2j5=bq16;ckXA!Yp@ zq^!3<%6bQ+tiOR&;v}T3|ACZs$(%;Y;1VNhEo(nx57*|fXWbN3*4-hM83rlq2OwoV zCu(aTWxWnk4x1rm{TZaJ_dv?}Af&8+fm9;x0wZOe2U6BGA!Sh8h^*_`&zN-!4tv%e zL1jG{QkjX6vVI!U>boRrTOeiqDWn{BL(2L)NLe3&l=TTnS^op6MB!XU%DNP!teZp1 zpoI}xx3Zu1z`-~E*KpVuw<%yDJRXE{Lv!#=d@}qrvOhIg0_uKhIi!_ptqxOa2c)(5 zYopjh2a$cLE1KI-Ygrjc`|2u2v93DEUe{%y>beqAUDxO^b@hi-*Kng)*BE5K3w#w+ zU27oK^`86sC*GTpy{^wd)wKswT?ciTy3RtXD=m-Jl`}LZj~QX)OMtpQl*c2nve!s@ zG>IOq+{14oZ$tLS7o$PlaZZ4WQS-f!vY8`Cv}I6fXpNE8<&pNuK{@;cD$-F%kxoO3 zlr683uF#i2id5MsM!HrGiqsucq~4Gs4TcnHtQ^VY5lE4qG>VZn$U%{|fr|7cq)6XF ziuAJ_iIkcz5h=G(j8qTV`>6@2NLN9M)B#eYo^mA89guRGXcQwYk%Mwt4l2@GNRie< ziu9=*iS!>xk&YSJDqBv)i{>}kJHHgDKCJ{PW^G6@8$pWMI{MuTDdu1!%g$rYM)sIb zMBjywVlIUg^L0ou-;aJ@LyGymQH+`MLX$maeo%Q9hZM6cq?lD9#cUk?x@FjStoAjK>MDP{>sF{?$tR*+(L zFp4opBYVudqVF_FF&}~yb1tNq&qu#?kYa8&O3fd(Tc08O3mALA0?d)`Anj&z2cUc$o(n09XN;_npRXSv`!(bf zP}h*JAno1vL%Np#CPyM=D`Hw1D4$V`)BxEdH3t=`4Wvk&AVumWN6L?d6lt@C)*<%(2m1hY^F)KidSp!nc zCeiPDNHK3Qis$P9WIxM?qbL46^_ZkS(RIHGyDzEF0<{)A4(VK50BKIW1gU%18CiW^ z$;WOe^_{r*R(>C-b?FeK!{;DnT(Gz@^M~jq%m`l(tOn{Hy*{M7)K*bz4Ygt1yG5-h zq%*Rgk+s%aHPj5{Iu$i>-aLr2@93TawYOUA9-hmq$ll7;pq7yLAe~K{b(jneK)MG% zVq`T`QgtVg>kH3`)D0nyI z+QMF-cGiO-^-l(*wfrtf3&k`@&q*GPN0&faaX&V)=)S|;iR=%;zm2{>LW=Yoq&e|t zJev1n(=N>6-Qkq*C*ZVxK*STt)g)Q2nzKQdaLk>Yq*V=w3+ulTt#F{Q8p1j4+Qb0yU4y z;*kfgtIa~^A9yNtDkFL^T+IzivbJI!1%4<8DZG%!QQM%SJJ?H;}#5yP!&a0IAeINTq%^ikTh92=D5i#l<6} zmP$m(1t~&#ND=BA#d@0|d#To->b(|HsX>rRO)|1;zkg&gOR{Fw6QIu3XWheR%Ztc9 zTi1aa!JT*{K0Doq>>uHrlQT0T+a=1)SJ`}Kgg5wVgStMn!z1y8wF|P>G7Qu;|2{kt zPgiCk`yK!D;QwInOyISg+Wp_28mWXxhUU^dX(EkECDLTtmF9LD_udg2Xf7lPrIOHu zQj{bjm8pm#8bpRNL>Vd}{@3?+t^0oVd*1h)_dU+=KkxaR^EuwW*Y*6?TGv|ly4Std zy4Uk;<+0WkzNFrO+XuooL52y6a!egTq{^)?tmH2&D zay6(~Ngou^QJp~v#V}BJ{zynqq)CuwFb_g%zr{vz`sKL2gw>#0{Uu2CeiKsfdLL3w z2OwS3BSvwoCvbaCsg(>BYZ0Tktg~>tq9mwT&xaIiZAc}wfD~&-qd0v!ZcpD6RIE2Z ziuFcFvEB|Tr+XpA`iPPBKR+S#IPNmKR4YKmx(h{eSkQfnyRsBtf$HJkqp+Wbko$N- zk*l&PE~b0sg)V~5f|RP1QJktGZqK&{*c5Gjs4>(WQu@x2(swno^u9>D%MIOT_aix9 z!OR1-AGsJ(uik<*`qljRaeIyTf~xUpRiyCxoMT3atQ@GatD%T$TrZ($0;r!5Es0!2&QX5_e zwZPXa_Dz5q;F|_jgdT)6>OKl-)O`|CO;$nbV(TE)^L0om_Ce*y-{S1$M09+5U6(h9a68) zT|;@ewvZV?dnPDtc}Uu7Xp_TcRcGAEs!BIdvygs}#;GBY?wZjOQoosy+G)O#Mef^P zuS=ku-UXG@E=W0j3Mr@WB_yZ(HKUwPHHvd;fZJng1}dk^Am!8%QcgW3B&QLOVj6E0 z=k%lmifI+7oYq0g=~YNMy)Pj-eFrJ0V@7dK=hiZ}$5b9vPSqjhR1Z>4EhQwU>mlWo zVHD>yO#;O<3sg>zK+5THNI9*Mkes$b%4xTeT|3``NUm*eZ~S~*tc}{?o=Tt~}&W&}?Ldx?cqd3p~xINEr zW9?B$dHw+@&pdUElxI;$aaMzrXFa1h&u+Lq&pxqsFr++(L(20uNO|5J>lQ=GbA^%Z z3;S1Zw&M1u+7bNG*wLu23?;bKI6OZ_f~Dvi6Cp)A4N?TNAk8G^$DckAY5dz@WcmBU zWeaY9CMDG~RGtMO<#`&UJkNoYXW97Eiy`IN(#ZO-KO8!`p~p@?IPClmbJjv`q_OUo z@i?QM-x+3vL3S=!ff_D^%0bH^t#F?+ig$ir#_f}e9iW~8zd?#Tt-iFrTsYZ`@Hi`j zKU#@b#_#LS3qU>n8bS)U1KMZ@D-$E^{N94ZvmOiTIejOjRmc61qIk&268Rmu3AaCC z-Uc;>e*kHx@nc9c$?qhj?s*!RPjkY;MsZGcaeGdULFLp6QchPw%ISIu$?0ZDIgK%j zb6O&SuF2D&a#{;1rwx#D+9n}6eFG_{pNy=1yaN}%(A-|pQlMr5l_2F=8&aMZLCUjD ztm_3S&w)l3o##0Nx92%K);o5jj`?{NO|rzit{}AB6EA5r-6#|97uVV zgOq1gNO?Alb)6yQ+0Dr6?j5i%Zr?5#j6a&~-jwip+@^T@w2) zg)Zf~Umg3pLb@aS7+Gz-R)fs&yBlwG-%Lg9JHK;5?ZGT?g~zfCx7Ttts3GKKNO#lg z`j`mzLE5qV#>h%2ui}2f?K{7}feq27UTky;bTX6<6@_|0=Ry6T@=zbB2BZ=EQb@Z= z?ToB`zUsdkx9|LR2dk3m21xCb4QYls64H1y0n(gwYW(RUNF(lBMwYuzDtF-adE`g2 zc0Z(?4ngV@$Kp>5H!`1kXfdNWr&736)ijkrrLPSs{YCni*gHW=-_6L{)30M+Gn9I; zdwrv1IAY)Bx*gQc?_@|jzxP5)HODA!vjw<)jkgq3`#cLNs+SMo! zuR{u%5&F@&p!!ic6w%IaHQXLUJy89q38a41N*`129+3Lc0He64X5;ozeFUhd!30QU z%|jdQ{4U1rPmUF!`pp_hPmXPno{^s!S!;M$2XT9L1w(=^JV5TqO`K+2)MQCx0Q+@7ipsB$|%N;Lpdsp}{ zh4+>xaC>iE59$hjh$33I?ZfTcUCGT5(=+lLS!_Pao{HNKi=~h-F0n^EJ9zKcf#$rcvn#E&==D5bFe-p&q+`@=w74vPPpF< zRqP=oUfY$RoSP9uJHOj;du?}ts_mzcYI_h;ZGSR~Yx^5+uWi~ThN^8rNVP2rskZeX z)wU_5+FoN6*S0%uuWf%&watQ5+gtT9b({gIw)2hRo!{lSeJ5iLsPXI-NM&t?G@fmb zKRpO(Jj>rgIr+|S2{U}>wkVc1nxcJ0gv^Sq9+yc3Es;mdlHF|4ymejjpg zra53T6?w|Y%UO=rezIEk!si%K!o#RN;W1DN^S6u=7BEWrJ_J|`BMPvA86m)nV|gPK z-voKzobo{ld1frnMlmD&cyijMW)u!TF?*63;cGW%gPNpNgfw{9fz;RyAyuo7kwxco zj(`>St; zH~odUt&VEgi5Pa^PuFa!8DTr(K~O{4BSE1NZb?G1DptJciexFaxsk->{>(UZtJYS` zdueIKQvEeT4YR|5*96oJcLk&e_*AF@S`jBj^E8 zJ?;>SX#XL(L#)ULs^n9QOyO(KVhKeFP=jg(SNJekJ)x)zmL~c}t|+5ww@)ap0aZ$O z6dv3_oE0U_mXsWBg|u5R7G<<|e|JKAf2^GwYZtiI$LbZheJ=A{tbGa6n(#H(`e3{r zx5uz6*6xE8!&k2L8RZe&zE1uv)~0kcr$+MvMk%L+hA(4=cjdCUzX-F2wiwYQqoWz& zZofK~UxQ*>n9SVna(|*uM($I*yIj7YOs-t1xqj3iAV~VP;K^2?4O>>O{eQCt)jDPM z&djPdpm+BHw^VE1JL`t*!9%KLXAT>5L$#iRdk)U3)??U!0ll-U^c*~JNXCHP)w&NH zIJj#6$XzWfvuFBc8H0Lv&urU0yI-#VjQpxKRf)}S9@KqcM$fEj%?1z3%FgVbF(|vk z-~l)G&a^_(6?D3SP7gt+E9n1}2-5#W1W_ota`njW(6jr1?wM8l(R@9!+YPp`YU+Oz zVOH%qWJoUiD=j^;TX*j{xJO3!L6;25&b-;u$oaR^gbzF3JfwH899ac-=iWWD2WQsu zVtWtF>UBf(QRP&;oZ6q$mlz$TlRlAUc2ajBi_Gz zAuJM0`R7X4Mf{IskfXV+q5fp}mh#VqpXe`f7Co}tXY|eJ)pT$#ZVelrdSrLZ>^>-~ z&*02~=Ft7+cl=-94}bd}3isVbYNm^Ah_nB*FaBCiDZgl5(j6R~=6|)!HbA3S`-AaE z$9A&J@IiUzspdYG%lDzyVMGgnSIlrt>L7E^&Fz}&F$#pALLX#C*dZSQ>T70WAuXGy zp!Mnb%!G1btXvu^S0&M_%wUdU&{=A0hpOe#H#SJx6HDfRLj8T^K{Z#Ku4b4car%Ths z&=vc)nBvW#IO#1@)R3aEp(}D$J<`#QfAsGjX~y`E|J@_W|K8s{ihkQ! z;y?4-&Pwv(e>H z4d@!EUhL~*WXXM%m?;CnC}^aYFb&R~rnfbZ8~bwQ3B2V~wb0z@YX9S&2QVZ)5>wh$ z=CkELS?4qMEDGSQ=q*t7YU9+j)6@bNV@Q03Q8?duJ*c;HLm};sA`-K>9tE;BWo3ZH`f%m=i3@oh+SOax%HA;?S2DT zmU?DF)uG8bwbK&X2V(6*v36BX?F$L*hFH55Dnq^pAlsm^^XgDN=m?}z&%Rc5@CZwr z5vo%WRD^XP<#aiuoH{|uDIHQyV~yS0s`-C0KQ^(=|o zuV)2N*RvX=m|CJu4PS4#9JjZ2Cs3`Jjv~6AJrj!lpswdoNY`^Xq^mFmQu=$0;`B3d zdkOPEUC)J(uIExn*Yi0@IlT!fr+1AkC$G$hxV;;G3|6D&`ypNK+&xVj{a$w=Gs3S4 zp9|`(c?GC8sp`hQ29WC16jGhq$Ddve=@icOMiz-5E$xTfk0%ZVbprEdNY`&Hr1HwLU4@gS)=8$3aDy)C(ut(ohqq64Vx|9s3$Wngd-D z`}#tS&<%yULU%*mp$B5$8Yms#2B;6T8Ons-i+vwKqwswZ`||WQUoU*8Ky{$vknXY4 zkj@@fhBPYIhDxKm2vYyP1XAz60#e$3knY)`M)sXVzYf!I`$J{AA^F_L=V{?Q@k4y> zPm!gd?wVC7qVuP(BouFhx@uoRdOZE^+LF2udHR^!CkTZ=JxQdsYKWj(rDeq$m-%hGCTseKm0}+q8!8Lxzoz1^gH<6M~Zv#Cxu@1Fn;e1Hr_9e z;P!rT%#gPHh0pVbAt9w-{CNSe2#V8;tfhPoP|*yZ160Co=YCXPCyeOaMRzm873&?# z`=IzX$fxC$&q>H1j^&S_cq;t8!{Qmr-5aBn8DU;{0jR#)5=Auc>W`7?>S0K{_sn#+ zcl&wxz1J+lADyjx#SLY;2~P2jvn8Q_FQ@)c4*d_XI@js_l`@IuD`)I2Rsrvup-#&% z?3crJfnRV#rEV||_1gi;`6Ys=eg$qYBh;^`aj0K?cl)3}3?rOq8;Qp6gmLb6%|r~{ z&Kq*5Hz(BFa;o3QQ0;z(!rwIb1GV?4A_Jm|o@$hGf%l9i#^KCZOGEYSYh&egIh2zV z$_24tA%abz+q{Ls=b2x}if>RnlH{f3A81B&y6jXlyyZ{Fy(DM`x~7#{KHH3N=iiFo zt1(H;eoxjRu$6WsM3|WWXLx=Sql%3IiK&yd6h7I7d{^fzU#CfuIc2qAT%T9XP@vT7_ zeFhKc<)?9aWdFqhu^!o14(p!XJ9Cirm*^x-6OKOh?sY|v{&tkCNoHnu4&B&E7fynC zRytD?0Nq==N&syW( zTbsloC_gl3wfU1-M2F`7I)}e`2+ohdS#|$G{l9W(?ypn--3yrG)ES57{zMM(nYTZY z_Ad|3{fP{6gwLV5Kaqol?Cw$~m6cHO;Gg;_nV3(E-!wh+U`bi~-RN z@DC3`|LI5TH1Gabj@DH_*A5(w3uo23VvG)7jp~JA+quk4GhqA96FkD$=N(7zP7Y~H zpC?JG=1LXZkp4nr*I(GgB(uU_LhOlQ--DFCzZqe{ImpoEgPWP+i(IM7?wqlPa29r6AkF4sI3R|Q>M)6m6t8KwLb#H&#F`K=d0Ka#aR7FWB(#CDobVNAua zhEO2ixZ!iVq!yMo#q(c!m8op{u7&p(7}50oTQkBpq<#i#(V_*eCMk55k!P{4o2B|G z*|Yc(BU&^4XhxXFA2W3M?g6H#l&W_bCl54%&wWdSzC~Hb(6#l9Ql3n5@i>eqy2)-R zlo`fh7w|E#4Dqdm6!S(%Uk(1=$a3)MaPpw2l<3T+`p^ITGn?nz>CKdh$-XwY4kJ3V z*@GjV{w5;>RO^f|^45$Fd#axQ?T0;8>Oaq6Plfy6c-XTBM?jxQ^Q(F@MxHR@Og1BY zS7;Vkj_$n#()HbeHd<*NFvBl)ba+(t_?w4Ei;uO0tHS#6dW_s@MKoFrG9#Q=9g9EO z3B4!bUzpRsGU0y%f3&85%M6buI;g5>{>_7`Qv9O_RlRb5=b-8z_Ib*Ox%>|(U%Azc z(P@QM&#TP{FX_60+HdLuX=isJq@9XejjR=X%Vnw=UaM)iZSd4S;HR$f7CdZ5c*A-O zEWoKW#?nU)!wMA9H!#8=4W09yc*`#X=NEg5n(% z{^;5*vBLT|7B}B+Vmn)}rW|BO5Z?^?b8e)e=lm(+<3W7Vd$ITo(8a|KT|Cw(rB15$ zW#2*I&zoZJ8~O%fEkoB{V3hJ=vWr(^h+Y>T!R@=dDLV{x zp-(l66{T^zqE@VEf?`zYS|4Mi`d;o~V~?uN2j;y$JO#5bY!6JA`xY}o(($04a?iNJ zpK`0r@LbOM&=M{Pxpc&^KfbA4t}`QS8}@L&r_D0M(+XkMG2a4^Y$z&-=Z&yib8tT zb`GSM3S}U@rl|y7fUYJ~7itXYB~(jDFQG1nbTpuok+qD^MAC74Wc@)!HWX51!y!dB z8d78vAVoF~%T{?#{o)5m8=c1?y=cg_$EXUQ=7AJhK}esT4%Oh(vmp)Wr6CRI72{897+L%H z+oXE9{U@p#fqE^|0@Bm0Eu`9Zgw#IQL5j8qq-cjgiuNW*@r;5L?RZGh-Wh*-uTdPu zgSb74`Jkd$3@M7IAm#onq*o>{LWQaA#`x3CkX|%zgDUgsPDtb9Cy*X}-$8mwcErfe zVfo`^)<iRV|bn&~04+ZftDKx148Y@nq zn3m#$SM_~nToCr|FE%6mzCtTdL0<)F=esMUZj=GlBg&hgs?aD%9eKQwjoSWOJ9pyt z*D-TIHSBT}(XYO&#_c_F6R2u#fz;sJ(fWI-T{!)lLtlagDEE*)4=<#T;`X0pP5snR zjZ?tLO7oxMDT><_WkAhrszJIi4I!O*Xb!2%w1IT%wTD#dHAdEXJfpt2{nvsrLFIHC zq?{%~%4sU3obH2^(;Oqq$)j6@+cRASDyI#Qa(WX|PVYj>=|f04eQaboc~|-rBmDL9 z!$|yRF@6R0D9-npk!E;>AzisLMwWyB(pNRy9#%u}G+O&oNNv^`(v8psQcI6Cve~4+ zhPn;Inw?}*k@$~z%mS6eB1kzbgOtNoBYXUN4%>12@qu0V?KPc5`|x`|I0!1TV-i!? z?`WfUeQBS^+QOi;#i6`tOBq>^e#YW_+jeMw)KPj^-UNW=FzknV+YknV-5MsZ)MgWFFnUJB+T&vsBM zG!oKPonU0Cykb*vdk=dURD&)?5&ibna@^j!?}BHL+fF&5Um*>?wrLZtWEn_(wQ}sc z98#~n8dAGm4{2!b4=K7#Ba6;E$1S+M?Af5oepF7%-UO-aw;=VR?;w?ZH1?f&z(hyHd$&#=u8rdS`I zSNCI#N;^3}Va+uo>?|(8AB}9w@%sR=8q^5#3Zz&MqmAloE3#0|Z$`Xh)*aRIC*|km zTy92~?ss;-H*gpH-Yxrq$~_Cxb(!y4zb-4y@cPXD!?J!Ucd8ob7)HME-NrO~n-Zp5 zr-JG?XF>WpL`g{3t{SAtQ$wh>{g>Q4{9y)+=<>BFeh%_4a>~C?$dAPGuGUs5zX$nzjHJ*A^f)ur zZ#U4QUeZ=jL-Pq2_=@WfGdzHP)}ATjQas)#Frpk^bwhXNTeQ08xD!0x{!7kdw}GiW z$9!gZj^l0QOL;78_q>S_ZTEa=M!4y}#UE|={F?9=wrNc4KbJX;4-&QTM>lI-GrX+m zo4>@A{D0s4&Fgc||GD4%{l<1jQWk{%dwOAAYyZ)`l4gV+R@TrjZ#fi?2YI`k^7MrK z`dIz~iutMDmp{)bKbVjoj^)d`oBaDQa{ZfML)M+@}Zr|#= z55Gq;7r*_qnDSX>hSzvG?t`JpzsHDb{IeMnCry&q&xz(WBTO~V02O&jS9r5kaYGlP zrLmXO3hz6ioaGqyheFk|tIY^Al69b-;BP=`<98s<0X~M*l@A$_Uf~_Z?R7i>s*ea;Wb~sORO>EXA;w2bMwd%f?=x;tS0CLoT0mJc=4swM#+Wdjy4c#nGu@kVz2<256Gz)l~7EM6{}t0eeqp0JeK#CTGlJV z^5DPr2Mrc4v!Z?p)z0^nS4sC{VKYKiFAo0P)T$kRzfZ4|1n1oDfwjNLkN*oAPfNq7VLSvxn&@`wr^Z?`=;gD8L z%b|<;bREyQH83Mt@^AO-v-q=1h?3it%1fD1fhq=1V- z3b?Y7w{VG-7UPNVQvaXlhc8aCnj}yBJ3oAp-Yq#-$}UxSq+wbkU5Ig@f0b!6Sd*;o zGV%tQYLv1y3% z!5Sp0VdRNw8l~(}qU-qB6ZHT+Q3j|)BaA%JHM=d**!;e=ao-*V>rddv%?SJbE5Oqz z?Ik&(?P#MvH1{QLpHH0t)xC;*WK6MV zs50k4O0^VHs+C5T$_MV%7-8wK1&LpyeW0$nqB-dkBSmv6q-aV)il%~598E*q9!)1u(R76r&0t8;3^$5X z-Gr5uKx2>4q-t zT4z;pi?OF2S=8k9eTngeaX41A0`%c}qoHeWY+~9?p>5Y<$QRzUe*(1&Ha5?%zTDXBsBf^W`v%TZ=9hjbheQv>@~r(&xS)~ zQ!t|S=~OdZb2si!L+0yU0I3&CpmeXFT?PJjD^ zzi&?eu!MgK{;0{Pn&B~Ac+lL3Qay%o-8eZh;S>QuscGib3B(>h3>5n#m@AXQWwcK1gp(&VY2Ql!Y3RwldTdY5-jd zHG$edS3r6v+XK?=lVL=M&>%Skx4$$W1?v6Kcu0@#dm+{DK}hf17elJwQ;=@w7aQ@fB1Yd2aF4PiIKf2r~ zOhP*0^g8tfRj2-t>NFfuokl~d(_N72Gy_td9)VP+C6Ma08d9CsL8{XhNOjr{sZRSK z)#(tVIvs^nr_{qns#5_-bt(p_PL(0msg_ZwQv;k{r%OTA=?X}7>H?`wy&%;o6H=XS zhE%7Ckm@uQQk~{Qs?%afb$S+3onC}gr_GS+v=>sHzJOGxqmb(KJES@l{@zG+stBo0 zHI3}&p?r=w1Gmp_mKgdynDv7x=7rOZk7L+=hHk+XW`tSC8uxqJH_h<0KhDXYD`i=# z&-3feH6wa6*20W1hFpg~8lE!}{!uyocP9Mv@ke9D0yDg<<+l~&+Yefm))`|Q4YC)T z5l&3D0MDnVwuRIdouG^Hje;(K7C}X!bw)NB^2yzHjPS~FHxl36{1j9V_$ml=FCTY9 zGud2YP2xjiK~T;TMphBut16G%$I+^wO0R<=I{(xVw@(c(0W|@;3_62IuZ8kJ1B@)+ z3W_2dcRAr0P!HZID5AeEb`NeJ&gX%7$>SMUc)i!+E~7j)fK^d!hSY-FA&rf@pvHXq zDWnncE2tH|V^DACcc>SXHqK}ObP{v}bShLCssd>VSR2y)(H&AP9yQ`BE3kzasop5d zkoXTItO9k#H$Ym4ZiaL>ZG+U(JE03H^Ao56bO2K6-$5$9*mxtAew~rEvY%Ye#O*CK z8PwC`VW=KCErQeJ=Zmz$fEh;`YqbCaNTF#k?3PKHWaWIFx!8s8%cuslQc08l8@4W`^H} zcj4Y2CNi&KMBkx#+l=tUe&79mu5S;1AAr6F742^*qTdlqnIuC4R#9Uwsc5-Va-|$d zO4W6_7$cgHUt&h+7Of0j-WtWU@M`t%{VwHb#NULx7hyzsFEbUM4dsf%6;Dceqvvh8Q&+4eU|IT*5i z2V-=azoprMVLuc|K;MNA;MqgWpX`swMX=2r@jv67rV2PK?H*$<>m$77Q+4Cz8)~um zE2y%DE+}Ude}%ClM)VcNYcaxC7`wqXVo*?~v8T<#8-4w8K1P&w5k^S+BplMdWbA2Q z#v7&m4kJqY6GljT91dwu%8b$$G)nm~G+w{A?$xa7A!n8Ou(6jpA8%CVYi5Kp zH^+)CD55fd!HCLC%TAP8SWKD4-K#RoIjhVH#$IMcyjA=@Z8}VOoTZD>%8YP+w;ibG zz*SH+a_$N>fqFyDpaD=RXf&iQKEcS^!rz16g}bya^-NGtlzEVD(uI)5gQuV#_U)c>_wrH_|Ad!054-?rTP@G5^g_dT@zIQs}E_m(%7{=-EQWFI!Rq^fCbJLJ2G&8SI<5C3r0e(#q0?bR2J$9RfaUf zZDC|J@N(MX_HsIcDyJKya{53jXCS0<#zQLSPDtg|Z6Uv-JA%5SyFj|5dqKK~ZZL|A%*5?Qjs#WY zI7mg_0jbCtkcylQX*gL3sqm$c7rqiy;V(ied?Td7Hyg#BdmC;aPIiK7n@=F!5=plz zP`_>Snh~^xKxvCY($;mYXLhj!>b#eL>K>Ots!9h)(Ohd}P2s~ycicXl^aC}V42CqE z+z2VpDMoP}?!oOh=uEIQS9%_#8+0M08+0k88+4_SmFmOETHJnvz5=F@{tZYs=sT|U zez_eZ+@QN8Ry_M+^;Za@iT`2Te&ZYib>k$DFw%{a4^qn%hSX~-K)P|NLAr4+gmmLH zg>>Vj8(9rJs-C#Loc^H783w7G5s=Cm3#pvhkji-kQaQ^Ym9q*`Ia`h58*~S5FY;?c zzd;Y8SR5v5siPE@pC~&GBiWZM#f`&lUK-Rorj`+neTfVG%Srt)?9?$I3`OcY12=;T z{WhouA5Vm|N}LL{!gn8}3%?jrCwt1svheg^&!+1-^Y+{ zsQu7reBVODprcSabOKV~siSk0Sip?%r+JHlD)AghC6<9yViiaw)`oQBHiA@k3rJ2NEdX zy`c8hzJOG_gOH;6(a1{huNVD-+jnV_ZZp))m=`*U_A3Ob+m$wo>rfH5f0w2Ps2jW< zr0d)W(qPmA(q4C4BP-Q=R7c!CE?ozvQC1J=Y$(IEzV;u0k>XpCSrV&`x5Vl(2%@$3 zWZd4Zrh$rQHl*wM2&9%-0%`YbJ#;1Iz7BPO-h=u=yCDsBM~tin9@THSy_}TW4OLD- zNadUkshqPRl~Ws1ITu1IrzNCvE{9Z3hEX`mHw0&j>O0QRZ}0JZ{!UV=n)NA+X!X7} zA%7{Bzl`GjApbh2{Afb{ODz8t#m7Njc1(`kYnTy&xxmnasf*%|Ab;28zSuozh9dtR zZ}d&Gw6T^+W%;XsdZN~c8q(U=L#faJ=qzZgQQUK;;BKPy_k+4$pMk2P-3lrFZb)xb zel)W3eUwZa7e$`iDCMgVd3B7a880#;RJ3s{Z-U~xAip7}{HBEb)>u9gh5a&vF47s} zmAkh~O*0gKbG*snHfm!=7?H9-ZEcK()SnhYs@Kzy?&CL%EM~tA-@)z2ZT5hgvmA%Y z(JrS?FjD%GkkZ#Tirb})8Gc3E;=VH_HJNlvQ2XyBtjC{(GkapF!9)X3G|4FbS*2$& zqF3i@-OwZa?O4Axr~X7veextFmi}~O&%Y?%=x3XnyTo73x5}YUkM&*fR`v~;vBqg7 zb!$zG1(Og&hiae4h<-|8J#xRv-^TC#X1kEuf9PTb_?58-_%+@rzq2Rj$gi{+A;0SQ zJ--Wt?a^jXl3*c%!Sj*Nkvg z4@*tDq$!a$*(hZ~QmQ5`=bI6m?o8bN7Gor+Ql`7YD=-VUm+~a2{myl+aQ7zM{z!iZR4HG$!XrJ1 z+e`TaRHL49m+Io~GtCGuSxSQ{r6Gzup@Ey@_8CnZPy=0iNCQW2BfpG&jZ$`m%Xrl^ zGi)ZL5+|4u#;mEJo}sg#)6|iT_;*40cL|?pVY9+09=X=w_UgV2YUFzt()0IINKc6$ zASl!WbwQ=S6jJ(YAf@jQDg6Q?tG_SNUN%Er?LGIFlCcM|zeoEF)Nt?( zRDuY8L>s+}`W3f7lT+?BR2}m}mC+V~)D~w!YKxMw?|ev$l^RfcQq+rmjUkNzcS6_m z=?thBG#ly$ZG?1fcNm9+}@@ifJ*fVq*R9?wQiOBl**@vb<9XBud*6} zN_8ouR98b<4BuyDW%+y1hj9BfSp=#tFNf5Z*TlY8AiY)j8PWo>+5JW;=Q2p;q(kLs zoyA60&iM*y1@0=s=RwWKHb70$Zh>^|zlGBA)qB85xi^87`;}06KAmF}-<$K?ka#f? zzpTq}N4;+~ey{0fQ1iHtA@#!_A@!iEW*VuqVMcNKQMi3saaT_N{gSI@3qjpE&q5W6 z^HoUwdk3UGQf5|;e5;rdhQNlPYS$JzpY&azO3*+^y=9G29M>zj{XO+IP^tDqO7#n* z4YGm{8mZr0V-%g+Z4GC#&UDZJv$H&O7RDPB#e8w`{49{f_?s4J!t*^Sq3*BZ$D0D|G z{}9FPsXo)L`j8oRELVkIU`80;F9M5FXfx<^sI@+Zx*Ek-Y$%3p>GQ#GBtArr2Gz3T zAobKcAZ@lzH?kbUjlr?z=+F7tJ#xCC&dzRA)27q@o{Km@o!I z>UlRpXW|cfV*7YaZc1It4ixT->G_bx^jueZq{GrUa(=LcxxZV?WukSl`3grlqw&jRHqnOS^h{bhTHpNNl@)~K8mEEsF6_A zj}=W&MDNjB$*p+XNz6648d8gNLmSNn`{MSKI9d3kU4vWk`+VV!oceq5`vdz?*ZZ7o zof#@|n|r;l?n3Q@)~BHQ>bH<)zQq?Q68|}+(q@GAss!r!Uk8%*3fFpOSK;=@`E>Vt z6&}Rzzk)a))P3|ObPa8=4Z0rM30(~(FE&z-%nvETqL7}RR~p4_)e*zawUI1cV%4}W zs2B&h+GEVd?J?e*(|x4k8C!m=l20uc>5m4?d^LURQpzY+(_+P4^sO! zfz-Y?L5lS@NU=_X)V_O+;`aR*Bed_A5~~%Cfr|Eot3BG>PmrAyr-O>NxRK@OiZTgB zZBQj%h{BGcDPd=qpTs4&K@8pIUOkW>GnRBM&giQ?8_ftWJKh7e0{aNkOd;h-qr7Bw zjgiIUrS-t=5#IooMv)C^R&yVuSQ_inr7crbo~WQ1VU~LasCiKds2ugH z2x;7@4Jo>YMpnL$cr9@I1-k-N`B$UJ6GqbRxP8nS0%~@?6lz8Z&q7x~uR`j7TcH8? zK8Cd7%Jr0y(xyOnCGqi@;N8M1;61{opufmm1ga%pH?pYx9(@;gbzO~u%MG<>c?P6a zMCI6*327!d4C+dulOe@97wUm;1=JBLy27Y3R2R}7W)mYjxa8X%tugH3grox!Z<`*V z>NgKk+bo9EHqSvSb3LTCc^6XK`~WHK5y;yn-_wTPHs^reHZ?$RoBKhv&1$2#ZC=Lh z55cXVYJbu*M*gM%QY%%AeS;zCG9k6n1V|A-2&t8pL29K!D~;4j)gZM}eWSRQnqY*# z_S71QZyUD~`oR8hkR^Xcln~?yBkq4}y(QJPIkY zrI1psG79^aZwP(5zYT%!Q0)PApL_#p@cGfDz8d%qw-4%Rs|;&XRzXPf#xo#|K6Rn? zeA*bg9J(ITM82Pq#a}`}55es-!kfTKXm5jbr6xlfSMPd!dMa=j~3H`|I_4k^2($fml8Z z#h5gop|@J2VEou*Co|I8ds~BA<@I!hU%dXfef~QX)YZ7z6@EVAHr&2@G7;3XcPiA9 z=DQE-49$VAg&u`^L5~~RHO#9JR^axtSkHm#8!tiS(7p=kj(Q7fhVMNi8(}=aA2ICU z5Fh-4#N7p-kD9r#QOc3<^~xR?NonV4sghwvIPWpU{T|Xy_iR z-FmlC{F6;JUr^}&lTG!_2!}WtgL)l!1*CTEjyC$qrhd5noyyQyG29hCjL^NCfNHw+4F8li}$tt}IZD`Le}C_Gs= zoM{T7FQ`YzAU==&xbls-t4J{hf3))i@2R0TB?xy1!umDRYttGx`W zDsMol${&!blJ_+uRpk^&RcQ&SDy<=}N;lA}k_~!QCWETVcaWkx2B|7}UN=%zIvClH zdi&5Y4Y%*~%>ql&6puifXg>jIIlcwblyoaJ5Z&j{VCXnB6e{?JQBNq#$oi3&vmCdV zvj$W-uRtniGo(r2E=VQ*3aP~3A(eRQn?@?J0;CcfLMrhQBP-Ddsnu?%@-HLtF=`*E ziR+0V@H=p`x&5{}9n>gL2a>kEk>%`H@jBc-`5OqTrEi2vQ}5Aeqh;YF+R)l=%b1~>kpZ1_HefogD^w|umyB##L_YrbWuY4nAV7Ch}@-~EslJhLDzc$Pwnb3LR5&-+kEB5v@uQDx{lNRPhWM)87Y z5Jp%Q-h{;4W&)`CZGhA^TOhT~9!O<=0jX_{Kx&(!TaA>q802kJ1@yLQ0(#qY0=;ck zgKC=(jpDZ1hdbgfu&vfHXC{Q@9&0vZX8g?u=l zVrbR$$@M+>eZD^vR0Ge0%8_g#R2N!m6wmUvV1!xzb|fD50mCo{L-1K>hyCxF(J=f3 z!VegBYJog|F%BnTlHNBw8|P_|KCWnFZS0ey?eYtm-?>u~GK&7DbAT?GwNaJ^1BP-rF z1DoRZaii>!66DZ;jidzcW_MaE0eF z2e-e5d<@juU?qy^M@nD7ovI4Fjz2BDihKvZcdniIqdV@18Q#;5;@*^!s(POLp&8Ku z&T?jiDpxdgd1Vyes((a1BO zY!t6`Kf#E8toHzF?~LDp>cuA@U7|vJOdG9ri<%K;Z|8whlyilzb*td^+-ifmh|OH# zYu(mzt3O{Qzc3vPYu&ys*HAMEwNE35x!bSW2>d>e9EU$z>)vOE*Z6+i--hn|0&+j5 z`&z7c14Y!~Px{Cd-r>^?J&&$NDVuZq)>QWAW~8MRS6>@#M%eb92x`4N4bts16KztM zWIDLxnE2xf;@`X_$ zI!S&b%gf&k7QyXP>0)3x6y+gp&sIa57BZ`g+ml@k>ZWReBASt0o=|j(6Bg@k>dIGnP>d%0c(5{0tKih;hitsJm z{$P0@)FXYbD?GRTxIMS;K;?EEQf|5SD>q+0{5Riw!rPrjkaK8GUx;~gStRksP=}`Is+liac+gQi!#>8>h9a?ci{HA z&jJ=e6 zAw_VekN6Y+1_&K@THNic|qv*B%J4gzE-IYj+eIycoUz`fpnWKfOI)mL2AjQuW~e6 zeltRxr-G_TX-E}m?pm+u?YO-nQ$SVZUPw2_tB|Vn8>Gcf+Sf*!-WG&Z&E}A*)Djw_ z;M2iz!lB><;RJ9vRr&@}m41R$rPObXRHb%C@j2%kFp_+5xlK$4_qkVN<`2*XWN_v|qXN(%BP+lM`>k5*iOF_Nhh| zosTOI;P$PDhrx1am!L=qv&y&3P^;|6Ys&-~hYt~X(Nl--^+d>skGn4+7pn*>sH@O>zQ4K5$e&&IMkyTsGR$|+Ut>( zP>cbU-((aiVb=SQ%eB;7gv3Ydr@$&)splZ|p7oG&*bJ%nyk}&2c|Sgc+xubu9~7oP zky@G&Ccf>!YUFzjq*l2F(zAagbP1nMhgw35pjOZeknY%WKN{&i7-3}X=;f@z?NhZ^ zK$Wu@QaJ}9m2(JEIjKJxshnbv%Bc#eoSBfy`OYYQGSok!LiH$VY8)mj?LoC!7Nk32 z1k%*7^D!Q`Ki{T;y5bK&x+fn-n-b2lFTw4v_@4&#R9g!v#*L7kYHvXrEB8X02_7)A zR`D_CFmB&L%6-&O!{a$d){T6AUkf9*FHJ8(;t$44K;79Lp?q9}u1KRhv@dSILx+Nz zG28;RK|2<@7`h8mZSRNFPv;rMF>WwJpYL*S9vPn@_R;7dsHgp}kYBrFMwgNQ$xw5s zD%2gS3-y5-L)wkI5z@0}G~|2ecY|~FESd=}6V3T>Rb z)B(PRbW8ma`&#@G=~_Vg_S2U0mJAeHkfG?)~-q3%%Q-&CSEL@P5w9Xo)k<3vbxoCc|m3u52FSa%3g z9aB#jsqA8q%B}*bj?<0eI?l%JbzA_djyoZh_$j0kkHx-*zel>pkjm)@shob0>No;Y z9rqd8_4QK3GQACULRc@R~ChL%tRe`U88uouc5KVuMxLRw> z-;ww_%zh6s^x=X~IWjvF(&M}&q$n#vdRW#rvM9Zl(L+JqtG7UE|8bC7A8vnKJp`7etj8hU5zjz%@x1^wg*HJN zbGJfj!!L}irD z#^udH<=ViwqRe5;zmLKjv-))u!VhO$(+%D)<5D9EyF|D8A-PaF>x{ zT~7aN3IB)qbBFIpd}oGlH66x1CHxt~3sV)7f32aV8R6Z12T-khEu?Fg32FOj3Y0=j zvyD94xkf3|@}?%^o|s$N7SmOkZbrB@9t3rlJqoG&Jb^aaJ9svsT^DO#i?v(PM*A@z z;P(Bek3n^-11O?5(1#L=W3l276e%H~0(mT9XEo!gU|*sy4po85K)N+58(F@7)obJS zIp>9-Mt~NOy4DqFlf%e%6>gvMcLQ6IZ(m3=xj|4%e8V8EghxW^GUJS_)VvCCo*9A_ z?)Cn$2C?6J>p@+#El>+`eGk$gxI6ZJ25A~{QeLC0(VYfq8DAXIu-hCO%%_(@zA%k|4eZiA(jx~xye#i`kyxhGW@^gqw$^SB_W$tE3W9_Gqn&fLplfCa_-_MY$ zRwJL$HI!K&(!NAvNEOO}hVto9$hT5PfkAky=i$T@sJtM18iUR%s zBm6ky$4GpvIE*{`z1^Sjd-wPQRQJfA-$+@UVq{tP!{S`r-T}*l>VP$%8ws;9q^@`w zq^{V}DDH|~aC=#OK$SHNQdb;}HtLF#aC=vr4z{L**-$6wF-SA2Wsth!vyi&tOGfc^ z{mcy2}IdtuR!Q5~@JzYjq&?wMMb8C8XHzhOQ;W1JEF7 z5v2aN3i3k;FM{(G=c}Oag1rSQBNLDJbW4kS^^YBhPq&ZKrI=EK}CuEHc0iKWMujJG;tbk zPc;)%s(Fx7Jq{_=(?+(W@qLXKaeJywpze{kAw7V0pp9On?n`LDinTw)+F#J7g~!0@ zr&$)Ks=P{|?#^0J8S2mostUD$G$-v0HNrO((%o=7bUD7s&~?y#P;Y1sq%xKoS)4u& zEyoCJxflEcUEkM{`&4@ysMi>~AU(N1fmG{5kRH~57+H7oNn@VV&FyVf2-I5k4CpkX zInT(7&7*+Ilu_|+9Y z>qseTZtr6G!P8L`F|w=Vin9`mlCk1^6w&5%4ctEStuHZoG={XAX$h(2dqF4j>0%=* z!7uW1+@Ah9P<{I)NaReF>CZny<@+^gj-hMN&D|Os`Wc7UBM(Us8go&?|B=gm z`BmXeg`^vxhH+SxH32ITa}P+R_eUE2`gs;^e-MrUwZCTu6T|xQ>Acgj$k-ZY| z>zrK7-0gIo3xHCb2I-2QYh-2l%C$Uhf5BTlR59x{eCX~Ua+aaGd?E!tC<_mDKTK_1hiZnUPii+MsbT%Vg-u~|Q zZMrP{zMDM~RLX^}@H)OAgRFc#FUIZIB8U+!ApWM6~3fs(xfYU;5W>Wub1*VdEZBit7X_k;aV9D+2P z`x&|!U((qY{pc`2-GY(qRA+njEB3mXW={6xv3fup0kZ>4}}+?4vG;{1Y03>ti4cP zKKbtTn>P=BZ`ln?4*WbylG&>y!~B@5K;JRVZ( z+y$wk_d`m*5K<@KXcYe3%3C;ntk?loq@?|jQXi8tR4-SFSep-&wiqOBMWeV?YT@=) zX$GoQE`yp;LMKQsPrE|h@b!hVp&`%+=w`^5CS$;98Vl|KRpxg_)+T;K9mDPYBv(m8 zwL~FE^*_VNv_97@fxE2os17!vwE9qUs1FPH1Pw+QqSUjcffLeFe7{ zu?*iUd4 zLB8;O$^92i*PEg0yzgFLBkVIH)a+YOLwj09Bh9x@fi%@P2Wm^M7eE7{i=e(xPe^m! z2O(8^KBRg5?%222DC`t`fzxl6BcLW-X_buhvf^||sV_ION_&%CZ-zHa58V6mr6yDU zTNrkRSNG3{7^yyU`OG-no!^1V@d%_Xm(?%!QCrHAR~g z_D@>j_Op2HKwYS7P>c-jOxzxRwjuG}#OHRW=z>f#!|OB!_n}ayesxqzVbv+y4TU-# zwiiZZ^q_GxK?F4!S_0`Ndk&KDO(W~X{!rM4+aESNK@AvRKx+G+p<-m8QuqI{_a0DM z6+a?`tFVOnyl1P}<09 z@AqhBWPgad)ODYSE<^WCW;?J1xpl+C)=bs9FUH&9=xHcEepERgEQT}k}a`FSP>wVSn%(YCaS?7aARF zw?ZoQ0V6Bb2f$)vKNMO9YL~qV(iF4~-{=j_He|n5_JewLbrMp4b!jAD?~$HnguAgn zs6jXy(i6!feC;ppsJhdU>k01yTM+q!kZQgWQoRaZsuKLoH$3oX?4xk;87@|cm@L@^Wr+YrNr zkYczDQVb6p#W6gN>@mCmDuz9H3<*=s&&Yn?oi-%b-?&~n%o;hG+I1g)ML>;&3n5L_ zbs*i>ZH%mD{$8^SaxF#M6D&u*lOaVr6W{1Z;O{~97*}M~U&z$Ap-&DIz%g{6V7@gZ z=aXE|AA0r=jPU2|ayK(ykE1ZC5naN_BK3)>3UWS0S|3y!HiuNxs~|0xLyatz-%68^ zJ1Et3PzQGRLb|Kx;~Ral|1o5r%%29eCEOAF?u9gq9Wt_1K3gX@58Hua23D>g@RTtl zG(#oy=wk%6(Y->=LEYt-XZ7fu>2V#X(}Dq6J%(p`Oa_(5bUdQZecpxaPq7bz+8wTk zv>3e}Yx|87-bIHIJjH0MIfr-o5n&-%!|-ZTf*(*2-P^!HFmZ8pouTEQLe z!UzZJ56W5Tmb#C(;IrsH+BUko2lpnr&wcNKnjOEvBR$Ndxm%j-2h({CiQ^pmH{plx z7jo6lk}80@(`s_vb~*~935E?j61K<1N8L4`MqL`DQ8ymasJqL^68V|>LgcQ>>o zNniysSOjSlER(M;uR`=?bUj!Y&)0Q5ys~&F(_?q+@d+Nu;ce#;WM4H;f=$TdG^EH< zS{bQH^BGx;K1CKqZlNGbf*nXz391a$gA{EuBP*+>TstCPCcFx)iElrsEHo6~q~JR- z)A!cc_nz2y9=@sJ!FdUCUFEw1)LQi>q*3xI)Qb|ng0x}(CBFJAG+R#{Nv#bZ6cz-P z`aDQ2P|7HromEEkGq{UE?ONKzo_*yR-UALsuB7NjqenkvcQd-*DR+aqBOZdZPCW`~ z549Fj`t3&6nm+9IAp3G~5Y!k?y4*;+l>9~^+Vc>7=UXbi-U!l*oA&Yy`=RcczI|ff z@v-k6S$*%%^j#49u7PUN+V5ob-JR+CN$mRzq5D^3 zpKcVVAC2tkZvs{S`ykbS8KnBZ45|J(+h<8%(2S7&0#IeugjD}lkm`Rer20Q;6qmmm z*~{MmD*m02;{Os-p1(qh|MCu5(swo^q`wAK`r(k$-wG-HJV@z}8rhxg&-15{OKVJ> z0re!2tD}*2%!Q0BR$qRLBm4PQx!9w+d$?Q=*|$ZlDKH7E9 z<0f>^V>YOL+8juEEOKAZV;Qo~rfWd$WL|}IZ@lHc{;usqjPS>2+jdg5N)uF9dd?`=>SGPu`${i}NOk;}^CF;F{`r`@BlcHZG0 z-W+?8eVscBYIQo5)#FU2M~=>sM*$=2D{q-%$X-erQ0-CGJ^aqCi|ifS1XOT+A;tUv zzV<^Fl9wR+C|wC^{$B@a{(lY9{J$4cl5dUTmHQ`TUrql6YtU{*uQXDhmNYV7KbftB z>X^%L}H4|4?F_pB$u_O!ui z=mzL-XdqOotI-&!GBgdk81kQNxfC3Ycq61>CqWv-v!Uu--DhNBdr+St`@Z&6?0W`} zD7Zxt8^gcjxuTJCGgOId zvyANHEMAcZkbSmU1gf<6q1O0*40VQ1#o8s;M1Bn*jnIxz27djZanN{ZFm%w!TG5Bf zQDmP%z5_KsmA%&Ja(t^nS3)gf?G8wOcS0&>38Zq?LK8@_9U21F>}e%N-ydsWMyO*; zP<0#!sgBbi)p2gDeG>Z}f>g(!AeEi7myyc85K5c5u+CWfy^AS)NQau4(0&RtKhPKPdK3(Exr5|C~djMQM$Him$4pc0^LW(8n zIwQqW4^k{w8Cfj8>*$N@+nEudVi^y$Ap4u49?)7yv&LRXx6)@uiD|mSz6QhZZhVJ> zpOc&c^%S1e*GPMs+(uTu*X1HN^zd8}7r#GhfhwbcJNSIm9NBkVZ9(m&yF!|sheJv= z*2v1JpxCA$``Pks;1$&8UP!I{Fr-wE8CfddrmaBsx$gx~yY-DwZPIUrl1XFK0hU2Z?aDk=NTrNhc0b^?%T3PhNNrC^|!2ORjnfq zp71JA0ri8_AVZ;ZNOrqX;^(R1oa!m`6y@-=Ar32XxGx$O>u~Vd^)*lr*>6J$oWI36 zM_9&wMQ*ChlF|%Cxs0rOzR;bA?5lLC*rSqr_`F>oxrI_Tk3HJp5&c-`)yRIE_XV}Z z9*jry8stV~-?&Z!)y%UXTP`-B`|AFT-W`zDe3#z~K4Kh-Hmo$popaQbjp+;8y5_FHfF?tkxM>D+q z&dAYMLtb{D6vdu%FbSyAwIY9tyxurOH3-au!$inm7#MlRcN-<_e2L|IAuGGlF|T zL(jc19?_ua>Fz!#(s1`lU@)lKjfYgbS@=e^yARoGH$SWXD7x2fIeJvP^=5ea8<0B6mV=O5{7a}1L+?jOLoa!lr`Mg7%ZzY(Q~=a4Eek2O+E7u_H-NOzG>f&a zP!X>7G_r}pKf*Z%*{d_wkn0n;o;~#6EHk`bcOrio>a`mqs@KP6gnE4rst(5?mG>j0 z8YT@lQoRa7n!u{WS~VleuWA3<#OyayZ8N<5I>&A#|$;lGSuh`4$nsF zCRhDbbgLO*ti9*Duc9Bjp}zdq*vmYQ8vR9u!Xs3s_vHmK?v2yov0&y$h=Q54eXvG98wzMmZ&2 z_!Af&I?lSgHV&yHEfa5tyoMHu-;IUQJ(A++(U1LAGsA0K1Nm^?lw>+CIm3+TuMiZ* z2)}G_k#X4ZmIoC~b@%oiZv$lC@ivP+u5b_E@peP@9dFOrqaPl=`V2wzjlzwf_5_n- z&*^xkhSl$0WUt~vP{VX7q<(n;(lFg@WHs_O-HGh`*?pj%6TX79FF57C{>Xb8*+*Q` zSVP_Fxgq%$GO~RALF6Ljc50IfU=`Z39;AM436)1{7i-<1N@zWeET<&cN7r zxcinO|C(iTH{{#h1lt03)=*BV)be#ZK$9F*!EP^mtUNS+6v3eaIA zYhzFKC$g7y){yH-%eqUy(SU*5YoN#Ii%h7F(a#$A3ywn9CqiR#z11Cks>Ju>5iyn zWTpDV))cw3O1&KHNm*AyI)3gA4MiIQO@l^5{y~Mw@#Q<9h1$g42kJTEF-Vj73L}fu zd;NK2Z`2K-mfX+rm=qmBOfuQm+JqscX19M6xx@R9bGYtv<@unt6{R7Kw)&7he9+0r z>gp?0FJzyM2Z5SbM?q?#+aS%b3ymz5KkYw(?CaXIpytY*km~qRterBlRDN%rLG~l0 zzd_B5rEfB7Ky9i(ZJ;_(H>feBJF6X}yQQm zo~t0`xz5P)^flp4`dNSnqPMu`dG`Ee<-uL;Wx@qCKw`NAFWJlB18e;F)=$95MOxtXFm4yspw!Xx@=-9M52xFmIoVNLQV0x7bpkW$q#vV47oX^!mm?f|M4 zyF(gnLm^&bvJcdhGMYbB$-S?72F24uK@ncADxepsz+|8BfJLK-d zGhjbbB~3MI4&{T!K*gckb<36o{R2nU{Gp9_yMRc{1{Rf9){F~$04mZzeDQGb8azGXBLOl znPrXQ&a8^;o!J6ZXI|qT-kH}UduOJD>dYG>ZwI`dXYoiQ6yXUs8*J98njcjgnI zy5Lzzow*KD`c071Z!?NJb1$-Y=BJ=K^J_>s{RF8qlWsNg&dddRXBGx^y(HwFSrJrc zHh|Qb&5h#DY=i8bc_paMoQTJ@;r5-6?9=rEL%MP?*Qza#)FqnUUH>4eReFJ*{*&klM z05x6aoM9f5!@O6~jL@`|4GFs%*Ykww;Zm;qUaS?U=Inq+^yTeqk-a$wf@;p;km8vR zsX6BxS#x?%KZ)$ku@1bEk~c|&_CQsj&mh(DYooYkzaV?d{snf#H^)pP4WGi$b!a6Z zMN-bl%FnGntcL9KLrYLI{I%}k6Jr{(-%CS4b<=1__tIoYchGc5JG(m}JqgV zS%iGCid_aaA+D8BV`x33^shlm|F)6E>JMW3kbUSK0{fEc7^IwjhDMK zNb@Y$`zW)upoY$?cqE1KvK`qsCi_6GzlR`gOn!zmbaLHpsS;t1Jl~Ae8(Xz zAPtkc_(nHCOJpA=?Z9h^vOA<_eRw1`m zH0!}DDd9D!GxQFm*8RZ9^7Vbi$H+c94ucv}-$GibeulJA<+($t{AER9Gs2iC0hXqO z@^~bN&tp|b_N{YWP{XP*PlY&D>IVkcTvB!0IL<4UavJborP}{z#kOtmtXfiR( zhx{wSOF;jT*{9>{>mdKR*-fAZ-Y!T@^O2E-8LT+{jjTtp&!6qjmMn)egM~Dwi)(i4RvQXGr}WSPf#tAhDRbiyADJ4 zC44-nTXZT^ox*2A>WjHh3fdD!R)WuqYuqTwh1YOtt}@;N6~cS&;Jd&5$i4^v64V3w zw~!j^H%RGo-KjEa%P3+-*rJyL)mIfIQfz%lTlD6TqP@b%Vr-=JU6DHpuLXOPDh<+u z&=6=i+E~c{?!aWwKj$_hzJ52fM3c;1P<{Ovr0}0Iiu?LGWbf;Bp!#|@9yf&(h~voq z_;%8e0KVsX&d}FqxbB<6v!HfjsdpLa2G0w1AXQ07w`2vV7g}}b2BpIbbE8exvH55Wgff611jaqtC(o#v_kzcnMQ z5I=wo$^2KSIrKNA*2{ahkzy)ou8myvO6 z=t`&q)CcMYr9(ZT2~Zj|UDX*3>ZIsyBO5;cdgMW5A4!YA)+AdB=^Wq%=sdKypsS$W zv9=eQh;|V273^4i`2?hy>?b2D(vMEgBKzr0u6qr2^iTk*KvpFo1zOX{?qy$r>mmEP z+5}Xftso7K_K?PYS4iz}Eu_J5J>=mH0)6a{057D>d5{MDqed2KPK}Kxk^QlK6{uNb zEu^9F3ZxCpE~pDR?Srm^K818QAA@?Loq=?Kkn=t(CpFB5c`(NL^Fuk~a9mXZId|}> zjA6g-N;W->eGK(R-4({r^>fUyZxCu|4mBgSv8pi|6ivdz&%$m+EGTsrsM~IC?70xn z=-BE>WS`_-1a%Cz5z0q6+adMX0V7LQL)jih_ATg1P%GJKNM)VHH#$bmKG$SFMa&PL zOTI;o%){@~fo`aihU4NVxf!5l?#Ymj(PrS92nRj)A$L$f^Fj5)5~wU?tbo)@t0Cp| z5>%S2uN%d!@HTQ0<+LmIH~^_f54*2#4o)I>l^C$K_hKK3qm8%&WE&X zDg|k+s%(_VP&Ta)z3VPFBt<)}7790V53YL)_6F601Mr9rbw?rlHfA!YzMBE*(RL1$ zOukEvtk%_3?keOfh3h~~)UQFhbGG4|6h7m$3)$Dmk3b!6edZqiQSz^mecC?-YUg;` zJ#wg!f)9n$nz9BKg>NpZnh^r32WlVF6l$lIfEq*nA+`2Us6X0hNQVOxA&r2?p_#gy zo(6prv=;Pv;t;6e@D-#L?yQkj)((1kkTN9 zG!OESmVh48bD)QG6jVs3AdR}eAO%-qzJe>IRxEEu_#Qze28XT7xS$la%O_BYjNk{N93b+bV zaD5>KHyBcIcR&j6en`PR1}V6GkO%h}=)s)=J-BiU3>92;NWnFR6kKm3TV(x~8i-t8 zO*aC(nBc}kd7zu|jh=pHAs3hL1E5y8g^*^rCm=oBtb}yGtdIS68ri7!Iqf54pI3iD z9~o|qq6FR;`@n{8U*60Z7?(Prio}OT2<@%z38*)|E z;9gJ*{6a`ISO#g^veL-v?RVz;W+=_qsL>kvJwiul2+pzeJgwuvgf-ERJnT~<@;q;-ybr4e~*2$FOGbR8rdhceWs}AMpX*z2HWTJ z;56JlwjrRzagbuW8P_PbdyqZ0d7xrj3MsZ1v--Y~>AOAl-52|Qh3~X*S7v`ihGHuV zho9T2W*mC>5>P$d1cxZ1_Q)PlcTf>s4=JJ{P*bWo0qP3f5^Hxux=ZF6#rMWCWN(pG zpjzZ*NGV43CTRIdyIpi}D-A^5E&+7lI8NOdziTq*sNZD8JbB^|FC(Q_toqxOTu_Y~u z(k6@&^O93^68kHL{hpZ87Je+;ndJ>k^=7MWMi}}{KG4?JTi+X41hBw^byWyZ28bqg1qsjJnGeS3Hf5K4Rkl!foh6|8= zMW_I(8*1W_5(ZXtGraVc$Y+yN^ej0Y!#<&}LGXwhO1#WCtZb`6ZL?l-2On1NnBh6T ziyVDyvCuN*=%48-W=1&XD+Ovvs0pcsTi_c#)U`qO`TokR`qk*Z>AVg-`q<(~Gras8 zk(Zs5qGhVga^>ld!Obwj-{831IGi|i1U1mQL)t0yf;!Qw{h(e@Iy3|t1&xKqLn>*p zkwx#@^(T;hhJFUr;C%sVO{xu$2I}ijU$kw|2xupyr{KMia{t4~a`&B2@{=a}X-O_n zu@`{kTg}L-nWUl9#|&?m>yX!kcDW5BDb@dK?*ndVTQ)cLe-O1sN*+Rb-8i*_hQ;RC zVG9m*+~E`s>2ml!cK88@N0a=Vqrg)tF(IGx&G4v-Ay@NE>KUh&l0$>op&<^3vZZKG zG6=)ETs~vmP@QMQ{wE>qFiZMi-!! zhon_BLaAc^#{0c$W_X2aAV;6N%)p2~b$O2&>XRj?@w0HGZgABPGF~?$+$wLo?%T5u z-AE9?QDZOjE7Yisiaf0{y^Tt_p*E^*?EZC7qc)m^5w+1RW`s7n15_K$fz(C|Ahpp7 zNbRu!QXB1#wGWL5@gw^;ZljOQ@bW)Fj@qd7GiF3>bg3C?qmHOi8+DJ=8(j4^8g52t zqp_}g8{OiD+UNmeFLMrR)JAV$MC0f^H`GRlV*k%kqfbAVepdcIja4#3G1hj~A3qzI z5f;iTKu!N$+{5SMK5i(k@x~t4MAYch&nGaVzWB+E&=?^Xmxa{Z7engpmPT=Jw?+2ez7kY# z_k+~O>5%$(RIJ?!sgLh7iu-s4vRC36L;83X*P}jOZHCw8dE}^1PGLlSlJ9xT!~3L^ zp}99bKU=nxY%iz4Nq^+e$3IEg%(DM3YgDtxn1Q3m)EqW2ZP=umtp<)6nlW-z&5Y4w zM+~jme`NoWV`}yrJ8am%jOzVI4j+|1Y+%i_;loGP7!t`f$BgdZyF>bjfoY>VrezGy z_V38AW=oaWYT}5r;pzRy)Vyruh%p(X)6z#|bQ?Kr+`!RRNN)w*TS4~@LHAbB|CR`P z|3d^(DA}_0%jniWZCKjq8iQ%Rei_{-jv6>1Gr$`CM~%vs{Ld~7MjkkP%z&Z2$Bwe< z3``r|+syu>(??|t9MQXfTK~ZVdyknoX7tFB8NJg-^dB~Mz`)-9(lf^NP8&8X!%7)r zMJ5!08X-%W%DP`hi(%=5MhqO#x!;h1{WDsO9-THZ3bJeZp!5MPM-D)+QP3~rD)SgQ zx{hD}?*`SsYSrH3YWE(KF<`*J8$76gF^m452i5wA9EPR$>)n4?+K55DYuArk<9|}( zKlSh1*HiQzo;IOx8m-ee<9|6`8-@QQ-v6{GEfP!lua&M*@V}Bl=rNkx8tPvR-%|c- z;b)GQIE(+ueG^7;i($h?_D{1xYGpE4*-Ut`{hRn*dxbP`T55hRYJ<%PFa1WMM?XJ1 z#tfe<3ym>(dQys>b^2h~SJahus2Sl!@93aw#ko0Czdft|V5YuEy1but7lpRk*h`(Z z&I&rCaKMc42znSjI+ZzU zhNoP(wSe}qDten4sU?;2Gq99${L;{!7r$lB&x9Z8-iKjF0dn7OhWmVsY~Ke~hIzJG zE+gfU&(J-p+iIHl%l^!T^j5yMTE#9$pPS@Qy+<+ZFiJiZU$CXv`|({+1LU-kdH9R9 z>@S+^uX>7tZD^?qP&sG>q^uq^B45?)IWs(_)5w>2(S6pKbCSFV8zwURDSsrgryGx) zH+15?7W#x~l7^JqT zX529oOw?&`Pe24w#T$vdE;`xKApPX`=9&aYNE z4l0iyA#EG8uQ$@eT|THZ0Th9%K*ga-P#H+CVJkz*uc48Z<9pKP$bO$+0jesUpi-po z0V#cN$X_-XS*5)-Zg4~44adblE|vl69O))Vm+!?jI!AgG!!n_e$6@o@URIAskp0u3%j8Tnn;_-871B}F4kOFg*U~-6z9b$1Rl-RlQvZ!-G+Sif zXqWx&&Ig`@M|mUb20ulvhU`;m9Z(N&jqr$$;X7n{bOSYVdb&qN6`hvpF&HdQDI?vZ zoIJ*5dQ1V!;4#BJd@*@4(_KAVW85Fg>=`?fb=r=AtOuW&(w>NYpHT8(5HqsLYvV& z;5QAa=QgfK(eCEDNBb$L(vCoi_BfW5b zi|o<%K#!swf$q_cG9=nDT=zQOW$5?&-H7v2Qk3%>7|{Z0zp2Z3-+n;Qa{E_>5YzN&?)xV4Ve?VOnwu3$2P~QHqk!D6Xxf%>=(HaTq zbZ82s32cUuMdaiAPULbb{Q*$Z!NZV-(Gp1Yf6~ZO`J%r{4obDwb^n0aE9ky0+2XoS zzuVD$cKN_{Up~Gt!`tBq^0H8`{+m^nzwaF5hQG%O7u1+=^n2{ap~seiifp|*_{YCC zA^Qhuw}LgvVh5y&XAh*C?0}Kg(igEt3a$h0{?fJ^s3Lkox;zZm=EnNp|Z5eY)E(Dy^zMrLy#8Ory))M8;rbLUN%a661wGkjOZNT z4Bq9{=x0F{kouO9?xehsGAn81nUyk1>wO<@8pwM{;L za#PWauol!s_eHItkk)SM&I+)zvB%v7HF||MU(Vr2YaTTt9FQyrb!h)Qq@CJJknXl^ zkOss@kUH=CSo_h4;(xJ!<5y^B%<%GmLylgdHGA8P=oQ+vW~e`hqDHUKMn~!lSAC0l zrx{`J&2imdp*`w`>b%<6%X}X7lWe{SedaE{sCmNHc@J-Uxh8!_gFk)wx4 zf&BBM=6`q-@t>aT|KmHF)NIx)R_g&*j~qR~i~8?onR#OFZ&)nLe=&>b4afe3ZQ$s1dxJJ<;J@X4 z%zRsf5@)j6PR*7o9s+Hx^b>R2u7~w$<<%x{5ASS_Vnk1nC(Q^yQ}QdQ&1#-&qBj^9 z82J)6)+k{=X{deaN{lFrwRrn4oxBdVA&@?1nJc||sE!C-z#d8?ZTEET=t@Ybc zvxjZWJ~P58)(Q0JZ0S3U@JGr1$n+_6gM9pX;UY7_*DK3|O$n+2qz9nOAU#gBH?lZ< zx76DVkM%m_2f{D9ZFC>s(QP&(9O}H|x_>F^eRMxh{Rq@1;wwl^_A9>8M^OLH^vyZQ zJk)mujBJPGk0s|J`$^|TpmM7P>8!LVq&-(_BYOkmZ=tTk2xp!njlC|TP=5w3Qo1qqwV+M?|Hh7$p{G_Z#SXj6A7c2Oy+)n#qA3eba!ao{26BC2(4SfjL^DOK(%gdNUhrdUvJ&ZGd;V< zp1oqvewm)5GCilpo- zqZ8t<&G7urn`-jj6t71UGg2F<7A*|jqqseWa7?J-a6Lx$@WOb68KDx>(W5_KbbqG4 zJgdGYQ-23Nny240!^`?=hsoPRG}xBU0*3A})+n(fcsz=S$NRLL)u5|l=fXS9 zd1q8PGlFv)&`-TO7<$fsRAep^<3Zl=C4tG*&rU+ucr{RJ~ThVyn? zvG&}qx;HT+^k@r1_gIdHeLGwp@8jV;`iYzs)@QMEt3Bpyn;1EdFe5lm1ieS67<$fM z;QU)~&ii5Pd>-h|#SPtgx>2HDil&tJaq#t~*j__lU+WmU?O)}_9D`xsxYO-3$&8S6Ca6{JMfdQDZLJxe%Z2+bp`AD@VRsCB@g$>{8DZDa&vj2b z#tct87TLZEp+;Q(vC{e%{a2b1nsE)N2sYvoeaL?^vLC*`AA5X+N4>D#A42waIRWas z%0EFmIs6?`zDWm+%F;MFq4H2ss48?JR2eD_A}a(bvSN@TD+MXCijX3!0V%S^kRrPb zQe^EQMb^bAj_ev_kL(6ekqw6wSq7xYZh{oqt&k$S4^m|FAVu~Fq{x;*itJfPk-ZEl zvNs?__BN!*b{W}7^x?M;*bX#D zu9ko_p_hd;p;w8o);6;C@$<$8$iAU&25QTFIi$O*Bc$4Phtxj3AVu2`QnaHWMLQl+ zJX0Y>I}=j0cg0ud7{yU6K=vpe0~N(nkfL}FQts;@9sRxv6`;0n##i5kDx&R%szDz^ znjb%h%AuWt^tknlk?p{IIeGX~GwjD6aCy$yXPXZWnfhHepQ+B6k=jJ_)E|cK@fRNV zC44@rb=ZtcQcK9EsTtw@Q(I7RTn*{%!gY{FMmp4hg2zKOpsA3?=1e1-i2beDUC91g zWf7>hT8&5aIJX|z2iaCoZ<%&LYQsJF`cC!$qVErnfq5wRJ6#Vix=theyPcFT47E_^ zF|yM9>9Q!Ydz1sUS*Z!Bt(!nPgl`3D6tstQH+6+n>a|8T9z3H#$o>pJ8dOdC^H`95D)0_NK`zK#{+phkjE2i=N~i8l?qTZ$kEa@?KD@!V8dAy}eKcBKsB6(vbTbrT1NFDKmT(D2@C|0^gQk@$gvJ){Jlr z(g~DDS0hi>4c~p?;c+4k{#-I8_W1KB^Vpg#B{x}L@v|9rE6V6(M%XG}<+|6T54!jN zU{FPlfz$wxxvw|C8Z$hSb;$NfYAq-&e=%cZs{h%Qwq}I(x)MEl0>2vF_Yv2jM-L7o zF%tffv2mF`Q;>b(nT6`xvisyf-8N-j-zh{q6w`^A{uKEgocFW>QXiKPld4Kg4Pv@1 zrmiui#WX6WX^K??shBM-B@*@<70 zy=yyTL?0LHg{O~%zJ~6;5szPk`_ZiKKV-W961&f|S|*+dM>pFsqNAJr)Zg#+ljzaF z`6E*=V8boeFJkPue;xGbF0F5dhqlBPnZ$w++Hs8Ni}gR65e}x#f?A1-(j*%GWuOA~ ze{w@3OXc@(J2O1z4#+cYn}yFVj8frbaGx3BsqzR|29M*AR+!%)?bxz$SC-6aVdkUQ8dpE$auWiHAZO)1x63 zcN_huh_EjQnAq%|5_9eOFP$&?5BRL~(SVEh~fC z#MHuLTKGMbrWnb-KDEyD?&dzFx!sb}+)y+FjXj#d6D(!)iJRvzqOZ=bGb2>vRZttt zw;^r$c0ua*Lr{wSpL`0^vYcaLq~$W=T3-9tMv{-V{APIh1(2gp++2kby@eZPh62A8 zHTuNOtVmtxs&6zOHzV8>f6D z|01Z-x1Jlji@#I4%#5%CUJ<*u!DB}@Ul=F3yZ{}^6odA z5#0&B%m{ZvKT!AIa7b;O0qO3T4ynWD7?ED#EkO1~pQB2T&{s!g&HUm{mo%`l=bkzZ#2F{uxpWr#!5}{joET8DWJl1Zrqjh0eAA zlN&;6$~N)Uo<`<=5e68^#V`!ao&8u|!W zhQkk`5x&QW8sQA?e&e166=J>xMyhN{BMZ?TDj@qejH-hr?f>Kkv2P1}eHVNM7-sEj zj6I5;s1JrHUctx__WN7R2>bf&pvwLd(lGlL-=uKU{($Uj^{=3sx8On}jnDHTjg6AA zRvXfYZeSGW)JzU4;c`%^I!ZJvxi6$tHyFkD?_e{$K0}bVh0ln-f?%?O>iz|h@$JZ2tmhc)*ghCSzM;{MW%aF2WoUSR(x{{Si6Ki$^{MUKZ! z_Q#|Apl0E7A*Ct-DOE)yE5TD;jO?izf=bmKQmQK;rRr*AseFIg-wcm^0P?})6x|bZ z-NzrV7Ml?YSslB-fX5rbz3@^q3WZO?USLKTU!}p~_J49sJfar`^^pC;+fBgIc(jK! z%XGzeT5z}?!#=f+%OG4l-3U zpN3TSCa8-2pS&%;y3;5wdoQw={SBzHe}q)_Z;;B)_KcCrE&{3S3n5)C2dV6;kjicb zRk8n*+r(Ep8^xc8_!8M~qMr?Y6utATd2GtzeN<_s85gErlpDvIW`yVMMqpLM7LXo_ zIzSE3x*1soeXr0H*?&@SAgITtVNe}>$3vGwQ;p(OGm$;jeV|g!gOuuVNU2sB*{Jh3 z8*d0g%BG+>D50m=RXGra@QpUy1HhQZKoX>#VFE3o|{I#~vTL zhbP=`hL?W;`L7gj&}OSuzJF+-qZwfv)g9C<*AFU1iNm2v&`pq<;8v&>+I>(pXddM6 z%OE}Mt%jO%braMI+6r9`?SXU*av0J```O3?K5dk^CDjA&^?a6q)6ED0j{+6&R7e5O zf)wyPNC7_r)w2JSpM@0gi;x0-15&^{AO(B?Qox5H1^gYPfd7INaDf-1fD0KVW`=;r zW7sK(hU`o;Lcn){3U~pefR{lE_(ezozYHnhw;=_*3sS(JLJIg8q<~LD3ivNb0q1$q zNC6jv6mT^oZ{bpFEXKdWXMZMRL?4lwZARE$%m)kG|H+R+DbR9!eP^>K({pp|`A+Ql zex~Q4OwSXs=TEWc?|4QZk*c$nVssa@GW2l!G)>NyI31qUZ#N@V2Pw%9fKBB5kfA%z z$N9Fff%pj{+Ccn{yYH8hni&?MsKSt@weparuxhc^6w(xSC3G<p!YcYt|_WiO;f z?kgkD;%lSCCq6{4x66L2aUR$}CiRd7{G= z5;pF0_<364ie^N?USLL8JJh#@8Q~RYXRriW z^nvn010c1*WJuZGZRFXmA7Vc{a&!3L?;$h7M&u7e_juz*^VpW#V?Teiex<}8_{*9R zo?mK!1t_isq(Zvjn-pI8UW4op0ylzczzL8B*R)u>AJTquzL9Ose4F_^vJdwc4Jm0I z*Q1|mdC3fq_hsZKa{Hus-WbK;@s=?o#9JLyyv-rSd!_sOe(GvuUm(&!t=*%bGL$_& z)@DI!-usN=cvm2Myw4btW);_?cwaNa!{fO}jH}qWG$v8B{RWAE0 z*FNZeOg7MUFLaO@o_{*>&Ec?br~CNX+yOJfm)3s-a}eck^3d?lHqJyp-^dGU)-4Qa zV3mQCrk;`2%%8e}$2a{$B6wsq?kecp@;K9`m=4tGXl zP#JbM@=SVcHP=_e%zQUS^t3eBjL=k%gG%_iktf`Y??>UtF~?hGDca<{jS)R1?=mBF%s#LJZSX0ix#0*@4((4!%TwLF zMk?S^NHL8yB2S+OF~Z;Pz7H3F5Sa&hE#2EcB6S)$JbUMhJnBNqdAJdMqnxLi;WfG$ z**?K1pH=STA1GVnhQ|6vXBE1`*wa2$$kN)1qSjbeSos%KMk~z-O}hrvPW{ zv@jolw3H``D7_yQ6>~!;B+X%!d=+Fr|3VhSjl&H)7R-e>8HeaME9M}VQFWgNtK#tn zq!156%JvAPqAomF>3trkW=7bAHb#&BB6}-zKay$>Y6|a)NA%_GYmxn+W)P^G<|g;> zW5rp>9^1oUO=4RCskwiEw6FLLQr#{t8fljpSu}p)(iqu~qT0nCT_L3!f^XF8lg;p+ zn}XcXpU0oU**}W;Jm_bWZ^piF;rnJ-%+5bg`GsvVhMi6ke1GGx*}osu9Pqf27dWnk zxo!=2;YN&{VJG;G8DZ8rgdV*oJCUg;walWQV@B{VhaSBrt7L|k_3c!XkB0}Pb8l8! zp8@Nb5t_XRcnOh@ht!F$xv$?&JCJ=-bOcn#9LFR2hEAfm%hX(6yEXufV)pXxn>wDz!FBD@Is@+o8e30JuvJq-Ksjh@%F=`{-BPUZiFcNTm74L3#k10u@7h2-3D? zajdO_s&n;KNRL+gAgxZH#@cD9F@AqR^`WA-88wG4grwDjG)S93>X<7bwOM~7uh;;i z#JcbS`PmrJ>!y2RpL>zN2p#f<`}mi@-!>yueix|BzcBL5kKnsBbV#$?vt)k18yZcI z8i%!LC8!o$18E`I0V(6pj6CDRMv2cPmbpXO`p@TAHX}@O^+8SSZQaA~v}=Mpt<^Wv zdwA?UEvxrEZYYiiaq%It2vq6M8F@(0;~M>r-&u@k0?j+iynWkN+Rz%9NqA5Bw1O(8QOO_OsV)o%f$z1LHa>h~O^sqq?zFgNPXDJ zD4dD(K=eBG2UVvbkm@u6Qk|wjs?*(&>NFQpogRl&rxlRuv>sBOHbJV>4oG#{1F24j zA=T+SNOd|5sZJ^18>votAl0cDq&iiDRHr&dp-znuy-saF)u}V2I`x56rvZ@aG#XN! zCPJ#y?U3qp52QLh2B}U@L8{X_NOgJ@Qk~v~RHs9b>U0!RolZll(^*J$D)57m>Qn_% zoh~-AzuN34wR4gEAz_7~--Ba*G!Of;3%cu`#)uw!o;M?GbvL-~X}6o%9@VobuQL z>Iv^%NG-Sr(p-4}((d64NHgR&P+Q_U0}X`ELIa@G8AijPywFgnFjNhy4(Sl7E~NV< z4N@(Z8qv!NY&k}XH_9qpsz_c7s>ioL+5x=_>F(MMsii-L^e*FbNL$XYA(eg#Qt8EJ z8maVNM%K#y?X=Oz-a@lLttLyL2Grw8NUiZ4q|vqxx`L})Aw{+iDu9;%Hr34^J`qEB&o3z4HTe73d<)d5_{<$r)GWu4J@eGtRg$-2PK@v!|ANM$)C)kh zVp&MztvasJgMlw+$ouy7Nvm!V13E^&E=jAi7UT--3$vPduVyr^FpH zG-nhw_L7QLD3~qrbyA96Cp5)~PKjEZ5r#!uLwBEshkYDP?oVcQUzO?pLhOF(1#^Ee zhi^r$d{Mdk(cRT%gonH9K+Wgl+{0@$1=*i1=75?GH{g*yOai-*{Q>bPSdl*e1Ih*E zSYxF5?R+DT{{o}Lwp0(O%vv+H+l;DNy0TfJW$T058#RSA96CU%b~i}zra@&WYcQl; z(m1FT+7w7L>79_)qz53~l}jKU**^)@CB<4uPa1DS3Tu~<^@)$TeaOCo9sxC99)~m+ z{st-9Z0n44Pv(ad?YWTF(z1~1QUy{?8$hZ-GpGXbbc7UbcStisydw{TNa#pBu%yiz+Xf>^p=@4Sf_hF-q8vk;wh>4Q9M!E18B%N3+6o+8xw` zbw8*qJ(><_mK+b&M4Jj}XLT3U0&Nb|8Cn2!fu4di|E`0sMtc>~YV;;F2yHji13C(6 zg*{;ukK&(@{m|@pP;H#^Wh1rXIgsvx3n8^#IY{@?#gNv6hS24d(;U)MLno*nT5qTm z)F0{%4S}wMCO{paJ0Xpc2aLiPc^J_nTmmY>RgfZF3n{`akRsd;DZ>4bBK!Gm6viMD|nEgP=Ae#~?-W9i;SsLrPz%t)-844h_xl_Wf`E-tPZ~pT+(Ee+4r9 zHst@2zXGXU`G58+kakDkz;8pwe*H-Z~<%= z;A-z0hmRE2F%FAeBjo6(>pPm^!@CpmjPUW$$r#hZEqp76?RClXcG&Jsc!9B}U4&ZM zLwo-{dHZ|2gKjA1W5(en#&2L%^2oi@s1bAlq-U5OMplL|&1uN~tZ*Y(1>ajBJ=@(6 zX${$76sOvc?2kTQfm*A7hDwq?d6$uP6HScbRBe&{-S*X>W|)DHb|Yh;f}~$%6sLL_ z*`J-agXQoz0O?%hTPQDD`S-J=s%=Ji{nG-}&Y=sW=hHN(7^xN+#brH(>`&n@ffez1 z8`7$>AJU0Wfe*5zDq%)=8(R(3`q~&$8+L#+FFs@xR>4OR{lj@rfm-pNhc2Vcm!VW> ztC5Wke^}UwTvIE_N1$5pb3CHI1OE+jEqVM1s%QRi4{!RE-6mI+M?O$1e^DdLBYeNz z4L#;v>@25Caj&eDtw7E2z1_j%8;I=jjRY0n1o!X<@>`HERUUVOYOA^K;Xy4%ZY+-{ zK|Ob_b`O6kz5%(OJhp(^AMU`zeyLmX_htxk?UCwhT_H2V-&HLIYDd%*kLYe_;qIzf zJ6tL%muo@YlY=1L52JBSgduh_vfohmg4(M*j7OC7Q^?+SuYkHc--mQoa0F7SnjdCK z)zpk|lF=2c#)!B9(!OXCr2X$!Ba6n5adsk?Qsf_j+Od3&N7TdLAbZ_@1XZIy+#`&V zy(WiI0{SR1vNrb3TS?@yDy0&r5nkIp{B~`GTtOa}ftsfJ;$c7eEcqT}-+jzOx8p+T zOVGUrD?p8s7a*N`ZibZGdq&}o+6~&Pa+>IKIDGQ?JDmNV{zcxQqf+*n?w_H^ZD=w1 z;aV|te;Hf})b6Drq!Qaens25X#r^vLvhRcDXVss~)K{XXgrD}_VunxdZz8{wEk*0s zx48RzmQ%6E_jt?;Kbbw?Bb8cJJIf3+Qd_CXZUxnkZ$O%T-*Mk+a`+gzweV|DJG~0~ zjnrf{jI1{PxyEK@cyuk0zX@eu_pyBZC)o#@5srh$g35Uo9?=g1JmKz|($_kx3113M z^wb{LbqgOb4s+r$Pzis)AtfvTe^+>vrmF_pCWGZEZZ@PD zWq~fEt%5p0YoYGY7N{MxH}>0agz{DR_XqpeTFgIG_A72alCytesGcYa(LocRxnh+pP!}$a~{wrrS9yyu~<7-S2{G&^=HqE`I`P1M{nqW#+>#|L2)G zmofH0%AuA`(avL{d-(g!+sz2C86E^R8!Uo!BDfmTJ-sp3HbI(~cR*U{4?vo+4#!u2 zfwW3wI~=7*Koto8oLD;_QfVb1wQMOPkGzZ#zy7CfYLPF@NKHLglTaBm!e+2Cs6gsN zs%BG2OHgY_8_aG{EsF06Y4bA}(y}%ZD#O)rkcP($s5RQ1&=t_bkhV)pAPxQ}jjRt+ zG`e0u_Rpid4ypmSLArVNLRz*CLaN!9km5cCsoDO7v=vNzX{70+Afzefd`KxuLaIR( zNL$7RP-CKP1~r8`LfVvfhm@k1Q5^RT$R2kFsJL%}6!$Dhao-0i?s<@+cpOsPt0Bd` z9#Y&}A;rA|Qi?s0qBsO8?h}yW{s~gtNk@zncTPwt&M}I=XTKEL_gZTVec-IaJ*dG(=sIW{G!ohaX;=BVk(KP5sS}cw)vutsvclK$C@1-1GeR>r1$ChdE7`h zV<{tRRe$cNWQJO)5o$`<8(faFZ+JU`709&*R1WG5b%I71SuEbrlaT#^>=sbHJPXou z!hQHo3uAZ*M#3BISzLVndkIv{U&kT(w9t-BkNx1elzkYFl+fKLk;|(lKZ9E5|G*>q z+-vd)lYO(E8&r=LgmREuStILPzf)>s*hYy94RG;YOfxV);^mMo_rx_h?DlRz_M2)7 zdi3X{)}ebNZ3b1t1McA!{}dy9;vU39DY*2&k*FY%{WX8yIl6*J~zX2KaBik$o>59mAh{W@W`IR zh?b4#%ur-oT=i*nrx{`5JpgK2{Q{3@*LO6y6Z?rw?_Xo@q#smD8D*Z+j1XZFP&al< zJfg**ZKg*LP$f=x4}Zv>o$2u)s7Y^m3D7R+ zYADBPk$vBo0czR16OXAOk3xT#Ve2Rz*&a^#UTB7Ki11b9=yyf; zVA%Jx@&6tlKds64r(u1>>X6#Avyr)aKQC}Y>*qRWJ$N0&-It8yzYKNoT?tAhw+=>x zq;7c#*{7n3!T3x*97h{A!G`-nbUAy1d zd;9?EkJvgME>TLUSw zjj`WmNRjP>6xk6-k^KlMvfpCAY&o(-R>X`DSs74~)q)gReMpftg%nv=NReF+DY6le zA{!g~O@^Txoze{uEGfxksgrRrTMMjBZ;ZQCmKiP&K3Mwsw+oowu zy&!v)h&snO6uc4Ch}n`MS!a1NeH5(!2^d+R6 zzJ-+250G;D)hN#CZ)AT(nZ1Caa;gC-r>mg7+=b1y%B z|LgG>J>T!o`<(MW`}v&D=X1V_>2ydj4TBWZXd{csN1-Vuc{Z3fktS)atN~#XW zOxlbPCd#T6jKgu)&7GB@j>h3;v~w>(JqiOZp`#Jn2PqN(P=@}iXjH8de?;+%~>s_{$Q zNDXTZHogu`tw_=e*%l1v=Z=BxE{cTCH}(>ofp$(P!QO|+#D6~HcoV|YyFsA*ItxVR$%q#dF;P+N4* zL%PZM(ufQxr^$y#IZ8F+U{_`IT?DIo^@=?vgtc9n$_ncbCl59uly6nA3hA_R3y-}c zYG0+F2G+%5Jd_5_g|zs))yRDE#oyzoeXna1s7?4ikX$ZbMZWp&TxAnNKdS-OBHlib z(mEGXYxxtTb?7TbasJ;o!E1B}>IcIu_o%~6NDlcw+k~)BGaHl_SIa_p6G|Ur?gn+U z@c^VIwgQsjdLt`U?~QMv_CB&3eRLwyUi7tPpHS6MvuX*W*rF_Ix2PCfRCNm<7Hgq) zkD7zp_vwj6^yYeh)OD1~iJ)#5anXAIwQk@O%iSh;Io^vpI>@kM zHO1)f(N;AfjN7%)M+X@;LGKS0jsi8Bb%Es7agfHfp+=SiUq}r{?RgvnYP`D;(k;SV zNOxCv#8)3SvhY6cKaSdOsaB(pZnd642nQK%#m1{^8|vsF!|e#+Aj40KY<@KKLP$8= z45FV4JRQL{$kdsJnGkMVM!Vj#laJnS4JU$Heq979V>e(M{l3I)MYi{X>OxDfh<+~c zQPe(rKLskbS0N2T??QSy^P!Pt%O|abBjl*cy1cRHr2^XM@YQy1;%A$5H6aY*N5|$p zv4{>|o#5uaeRC1!evf!LsFmX_kow7OM)cl$!@u`)MNTd;a$lAj#fPt!t}b`|@YMxgH3rgV!<&E7^u9o5=ZQpa#D_T({5er0$0hey4t5k@ab@b)g&h zur$L2FUJc}M?ZSG5+O0QwtD1qCWL1B3aG*IO}FqZ_pPWs`43$0)7!Tucd7LsB}Vycb{_9iwp$YM)!r1GQ|rEVjKGThG^xVAw>z&)B_Kg!Zk_ zR$i8M*w5bVf)@GPjKl1|!_b3%h{5|I=a$V%TUAp)t-daXR8?0Lx4j9qFFfu5eWr(W6S=Io?JCrM zFY!F6&CJ&!jdpJpxBUopEw%42K&=J8hja&$RJT}3l{F#cz9OjH*MOA!`o(QqqV@*W z9@GHP3(^MSvBhmqL+#x@9aQ5R1L;1a&}}`k$*8^f&IdJ;U+NYf#hfCG8$hjsZ+8o? z=7)tRRF3T+%{*O=;$GGpwYT-- zK>2xcY&*$qeTcct1owCr>PN%xk}SvCH%6a9uL=5%*me`T=&bN64V1P|&^1g@aW-_V zmu)i>!aI;%Kut$|-6BQiC%d3U$yj6eDIaZgR`@1_=&bN}O$h6m4?*?J-H=9-y^wl# z$%aO9|4<{sE4?F7`;=T4RN1$MG#PbR&js@S?T%x(+fu?{3qf|>!uXD=jG&N7i8z{O8m08#|KR@XpGXYg@s@d*}N51?H=6YWaEiu7^E=3)^HPo-E z()T;bfhL3{^l9j$t*UhNe#1W!RNEO3X>a0ExAnItu0riM%h!XtRk{<>;(Z~cJMYIJ zEjnI+v}}Dp*6lE&BtEi#ZCA*v|5F6J&F8{yOnozEFQ{cw$!12nT*b&teM71SYTqPp zfIc~_kD8))lQy6h`Q0FS-3RhVD3E*|X=L$w2J=w+7U%NwI0e!Tgxy1yp!M9Q08@9SzHkXYrQrnvl_9wc5TD6=2 zsircqjdqbnq4tGhL2Pl3TX_D?L+!gA7lA5)Yu&(RR>Z=#P@SRb3R1!=tri$GC`S6Z7HvOo285i z(jM+wzh$grLg+`0T_1LhT~HVAYwT(EL)*Z+_G1S&&N@QMTtlb){C2%BTw@-!qJC)7=~I z7}Q?Ig`n>GCrL>zW6ns?*gj8j)OFDq`Rq)zavqHu^yDe6R?Q9zY?{_wh(lt*GZMaT_0_ z9yKA%+E2vhPhw%4D>6@LuWWf2DPe*Nx14KzbET3Ap=s3xlL zp|#BwrSl|0w7K$(386?{0(}^P)aqLg2PM*`{$!UjjM%_ z7Ppfi<>wMe-ritjV`V!zaU1G1;k}^V2zd~yO#^rgQZcVIvRwG^_Z(_}A$c9BR5wEE z5L+QFGe0o0P`(8D47D%bz6SMJ=zAw^x@)CYeKa->3y_welszG@I3tgEd*6x)$v1|G%N%1uw6;0Ogy2UdLo?simOZlf zbrRi=w zfQ%ctMg(i)_7K8$=l@2p30)u#bV^=+4m~ z@uE}A_=WJRUpo+@`RX$h!dm6eU<>BN(u0h&dZ=RLQH(Q6UKgTRgb+pXFxI}@c?#@J z6dNE#@t%=K@$P9BYGIPE?3xZ%6#iyX8xz9$9(}=9L@^9H3K|U^3(bTS?R+DTc7ajy z^qG3cOT+X%K&v2BixC!JO=)S3QyaFujxw!nwQAur#)PoddX}MEW4Eu|!Axu?Tk2yF zqBoufm=G2>L(%&l!!RMfWV^8fo@4CsRqJ7#}T5euQnlM{aHgde+~uS_~1GzS~*x(kv(Xbh{$F>br3GZ?X-vIkoYIV$%KEy371%^%6 zgQfOOhr^7+4n<8@`xapX^zKPB^wE7#HxoR^&HJ0$?%|ZIuLd$`*{-SaGm z0{>PSiDwSg3> zlTnx}mn)8RcgYLe!DJmp~-_j+0tZ4>S%f`7}_<97vu|GxCU+q+1}{omRwq z5u*KugbcIxEtnFZ_7*BYx^u1!$>sWxqHPOR!Iu+a-9RHWC)>aA?(`rNJpI#9+wQc| zpNA0bPCsUXs$?zN=ncsYk#>h`eY13@2_d^*yWaP;5;7H3k(W32G%KLBZ3Z>ZE(p;! zLq8XE=YM)^KNPL){kV^A;@#&i6XfG!*ZSViBPN8spJza&v)(Pd4ZP)oBHUx_e*GD( z?fpnSbeIWIT?{uN)WsN3dp{E()xb1J^)nk%UEE?sc)2$pwRf2NKsARIkZ#%6K-&9R z8|!vJ@_eUJy!VruWopkv2}5djfBQGy`zd3B=jH&^w)dkr`XWSoKiMXPy`Rak`9tH) zBAQyaAw*N_hX`S6-3f=W_9tUc>a7W;ji%P5i59z`mbRavTa+-0r`A>o(bU=nAxy2u zh}BwMtEn~JS+$aB>@m)nWZ|NzZ8<_TzOOPN6wxz=ZvGq=Q3q}@S?2ys`8)|E`l_o{ zIh%|_i+&fBayO*fO`Q@&yx1t7;@?4tMuzuY@J1Hfe~UJn;u}nry+5pOYC`b4BYGd3 zy9sfxmm4d-LB^i3+83BMaLpU!{13JgyC-p zsG)8Iq^T$uQYlPp_eO&K_agqz_J;RMX%@Js$spx8iXezqR1x-auV*90Nqp9c{ zH}O{Sg9)mb)Y}w`Peo-+2vgBvplY{{Tlgs6%mw*%jIsOGA8j-hEk%gxVz~*SE>?k> zie7?L1Fu1u!pqx(Qx`3pU$H^e=?k ze;pyJ{kKdAwZGlJKIBrMBRNgH8jsvW0`O` zbTSuK&p*$|qdp&94Ub~Aafo6IYV9wS?Gm0t)-doeHI1S$1B^qMVW<^mTx@zay1E|y zgSsA`yghD0m>*VyS`xkB7XEtH785+Zw^29pNal1kPEKv8jNV{EYD*RLZJ=JoxEqVa zP;U>QZYGOoK(B4L@Q3ZMnV{=i&_+Lz^&ZBJrQZwc7A>KhEPUWCZ9*7u4gobdRfE*3 z8$lZVIv82JjTBjT)b4R#un{e32;{YeZDQDB8il&Mf}I6wyJ`ZYd4F1Q+Y5_qXT`R2 zW7`|CO$y`d?WldOc^K3H`z)ls^fFWvzg~wrK|74hFE6p3sJ&Dz%;%L}~O#?Ss>a=%=X|&H&H$Z>`5;;hk)vAzn`5 za=CD%*lZKL`CN{ALD-;s7Qw~>wV!n+gg0C^gPFwg8Kj!~!N{Zd(TF<%b)Km`Ot4e< z6vf2|DL#J9H4bZ(TR|;c7CeArN0XG zO(`jAs5{-p-|G3+gpm68vH1^JJQYUTBYP@JKk2Et38BxnbG>`k!30mL6YA}uqMt>u zqdQg6uOftb>}}&v(I0`T=r15u^d3kRy$@1Fm+57simqy85qT}tLfu>?+z{+XF*JiT zw|0fp+j|>X(Rf84huSOpWKb2IjYU+^V^P;uypup}Jx_<4s)`_0{#8a6%A4KwsJ*4! z32IDQ2x&}P3dyhKM&^y1u0rjf#l7Tu-`@Ga1+CRShQrs5yNc|;cN32%sdpStS;ORl z@QOe^^xni87~+2;u9puzy`u@C_E2|B(dvCXY{y=x@}`;)Dr_dGWx)+b9_}V=Uknf5 zcO7Gbogb!vW&25JOrjNyQ#-0mtAbiD)N%uFM@>-s`sQTxsiEbcj^0PJ4D^Yi5oV+J z<08j`ihDd39^Z5@)f?3;4E#gI>p;yMw?aqa-2IS-rxix#zc2mP$W-yJ1@+3<>yXCv zw;;U+@xGDykp-zRGpc@To5XpyB$P=NyT)hmECpQ~e8}U)P&T&dg7aAFdM%MzY zMYwj5N}vxU!@)+D7av+OP`iKGU|m8@fwV-Q>$Yxiy9>H-FD9;j2voS2Azj|#rf%>x z!We%rc+l}?;+?yqA*mf||0Y)si;e0gs39JO*1i&#(A9)cWqm;1rkn(6DRDZa@+^Qf z0$pTex%BW?psuH=t^+mD-3h5%ErR6t!$wwjHD&q)>K4K^pwik5Y1n_yZGG_j1ho$Z zUx9VV+4qn_l|R8K4PAYx1=JK$w>ky3(F4Qy*C4VHS7S#e$ z3G{(vc&3q+fUn#}qV|oL@#qV}a^o8G-k7d4#D^QXZodJhjNgI~e*1I*w%&2>2UQD? zLCWJQNItv?sTMvnifiE;)LskwK-EI2fkvu@3XnXnVq~Gb7HXpQT4)F=tjQIMl)wplabd zNF{JTB*QgEmKPtSUPA3RqZ`2nl=qiVX{h8$vh`(mITOOXaX9*Dsa&^6-w}OYsL3Jd zy(Z5vB)$x;_ekxfnjFRTqlNik5*CHQay*tBqZQgTuGg07&7f#LCZ)n4yacu9X$7b? z&ofXNqJ0Ze0$&eNsIiQn_3P^+b0Uq@nw9BP$`# z($lDYgnbEAbK8zZO}-swvZQb?ad4>BS6P!*I9Eg<>O9+D3|Ao(y9k`IMOu@93` zyALx!`EU~!kq>vGb{|%wPYMJ5izcX&-a{K5B=iZ^wWQw-Y8w6y(!J*4ry41ZRz`6e z-BJ5@1exfw!Xj%rdS6;yU`Scc&Nycgtc*Z*L(6uo8T$+Lj7KNVf=@|3fov=lZRMXUvKUYs!x2JTgs3%ZbliQ7zbwfETz(ff|d z&7i!x6N_l|xDd4)uL8BceBLd55?PPhAAoNM)jvLkx>6^*q2AD5=maR?bR&%_wTvt+ z_qZ-X3GZsnF!61cwxH7Oj6wAEQeV_Q+@6U(HMG6a2#F+fHdM;*tFIVzOUNZgRwq8sJStNa;ZvX{n&+X;B(NS*zj?!mb*oI@LrC%&@MBE;?rs;T<=|eZ zqe|ioBTY~TLOsznfV41d3JpWo209h$0u@5Npvlm&&_rlBBqt^qnG?Q?J`J_s7G4Ny zT)Z4=N2qHcjqNuZS$%kg--)`lVp|AmBv}q=G+gDjKI*)L+I#8yuJ^L|1if!TdytG+8|i>l0Xg z)ZR8ap^r8*dZPEtXMq|n3Ltf<$xu&Hz5qHAx(pf#&4n~QKWSt`fhX{+3ChYkv`L}A zy@9dU*}LfNusj)kj^6us^$gP=m)cwU`X;3I6gCAl95go~<rIKRlOvUDdY*iCH#lulQ6t*|A z-KL*X9BV@A3G)AJP@QB77Kve9c0rNFC9%boZsFbaI@G@Xb1SHo?-EEI_Zg@@-n|6r zj`q#?>K3RgSKot%UMMwCduOQ+HXyb% zNF~tTZN1*Rq4t}EKA`e92vWSG+}7hg3$@2P0aW9j1}WZ4-PSwdO(uBzyan~sp%cFE zHoiIei3uT3UxE$s^UsiOsDFYq$d?^yq%vt_v96;Lnd)Ny z+6e4pYIlUt(E4KPQ8+qqW0D8dFZ1D!xy1)RmB zIg26r`jk=J44*~qi^G>eEjHhU6#jEajrtp-_`z`5)uwiRIYazD*#3Pql(L$|#G+vVZW#-9*ur$gpXVeW12>Dc@k zEM7_Q+n7dt!f1m? z__dMM3EkrixFhEMduoS@|4+7HNLY?GW3E`RTa@ z!}IdTM7Af|NngW?WiQxyU3AME7X0{E^H+3`)&DnVrxiOn?7s(}{qpuw?BKHj*(0)t zg*Ip}t!5O)t@otD?3}0t_s`DlpFSayey;6@F9v_1Ph;#vM2kIH!-IyX|JhwS=zGsj z_K}?Z_wSs;cAcH^nEY*m->R)Zh#t4EGQp?qEjgw>(qCmiU<~PLiBSvmwP|ZZw{2^b zd|#p)Uw{z3Gk>uQnn>mvhi#=hLEWb=g<7zrcpB18(w9aSgWq5#s-)Xz9$Z|n!xhS?=T4cGZ$Z~yb`9^H{4wh5G{cxo` zOUm7?Z|H^6z=+@6Q{D$7L~Fkc%>7;`8x9!0qJX1K2#dG;px65J z+#>zV;`*zL^fyT_>-*e9d)14LJ=G;>XNA%&TWCUwP`Xu32&LN)ROvQ@RJv`k_0sKG zWO-t2IXJe=D6$+|WH~jqoDo}IhGkT`YfyXXZZvdv=ZrUt%Tm2`-$6)BJy0!lrwQRU zoF>t>AD-_Y7ko-2hH9vYPOFhS?@~%vYeckDK)b;XSwUH^_FG z5cVp*1vQAIt~b(NP8p~*!$}oL8?rT^-ssYxo=|I}INf$8c)I()V(LX9-606}rjT+p z%7oBh&I)=J-LxY8g~j!Ai}W`Z*WXj5U+j9%`w|n}hf1$nvi7-x^4`&eP@`Q9-C_Y2 z-vo>GSa^+Yk+Iy`8XNc6V8%AqE4o}0g7HMqYjldC$NV0~dxLSA*J9&Jpc@}%=*H(8 zCAapyg!LHs3{m-YL*L$LVd%E4jFO*7a^pu3_Dl6oYSv)xTh*_F4XK_TSVV6=euLWg zChUoLsOW=?VvAa+-J(To(G`oSp=oVJNb%=$yNund)^C{hnlNt_AVi- zQcxZ&$08~0N~}WdyYlN}i#M=n9cJivP{LkG-V6O3Zd2BCJ(hJ*5K z3?$DAA$c|ll4sK)d3FUP&#r~!*)5Pfn-9se`yhGt7$nbDLh|f6NS>`TvXY;lTY6NY9G(NryY3lnN(gTrijBL&1 z)5-O3n_w@i5$pkDA8ks%W7@A1e4XCPgw!6I+`54NqC*cuH+}`UeYpq-K;2wM91`Y64A#)R1Qw*{JPLVJ<`M zJDxXzD%izXL?4wtg4$c;8c>_qYatc*25fzyx*4S}|2_gslkOL~9-dw7LG2IKQrA|{tC;dDqPJ;lgYlm4*k zT!iqWiL){BhXmJyis3FuG29O+hIK|Z{d)`>Q2WODX7tf(tlQ9gJJ<=zvu|Zgi}(>+ zJ5yW{rf!dI%Ym{z3@V9jO(S#CKNf9(+8*L-Nuh!kqxRB$1*}ADo1}!khcx)wp+})6YeQV09a56^8c1os1gRB$4k_(DvF^|hO{cVL zLQ14LmH| zG4(Ma>~b6n%3^?#2OEg(#&D-O5d*)8nG#zJ_|hyor0h@3^WdrBtFgOG2#@?8Kp%}% zkD>PtzYu{+FUYIxj zWKlmEHgCQ~D3yAU3Qpfo*HZQmvVDASV^tt+y@0S^s^8YXiHF`jK0}`vZhgKl(wDOd zKh_`4?CjR~GsKl37aMmQ;G9YXc6pS2PH{04P9s7dToNCW3yNDGk!O0c^9 zC8;dcovN5FEF$#lz8+5+mWrn}q9{Ap-*KOvM25AF9G zW|lsk9c*aL%crr!(EF`c15mSPQ!J*1uai0pr(Z{AuZy5a9eKBQWuBxuC*LcI!F}K1r7pv%a#(`qtt$ix6zD3HzsvJ^QQBKAYe@ z@60<*m=gBL?m;*BB`pP)WRW%lvI$9C8FdzaeoU{ME4`4OjWqoNJH{rkgnE*>e*jX1E?9)5o!qa zjIZ`LvRryEJ`uI&W+bSz&w`Zp1W2(@gOv6hNNL{`U%dlT+V?_Adj-_c{*s=JufA*) zr~Nu=Py1s~Y43)V_FhP7CoD8l+6O~QyBegcwIQW_B&4)ELk;aOsds$!IHUNv(fg>q zj=nbZI@*JU9n7;o*ZSNiSAE0vcoV{KdOBDOi&2o?ZW<41)i(#yoz*Q+d;3dT29<)I zHS(mMH%eYn!ka_=MJ7~BJzVLgnGp8N+JQ$Buq&h)zaP{V-9RHNOP@|oLtR%Tm<4K0 zkOQ^Ac043!rW(beW}x;^SAYt2Eu>JlLke||kqsBVb+r<;m))y|o}t&UcrdIoE8lNI zi7;B!Ga<~EEx_7@?h2_C`$Jk$4u+KQ2uLM%HI&5P0wYiAZlmPy!oXDO0TZI1_9|yW z7>qgvy^7>`^xohH%Y+CoE^cvSk;Q`8;x)JMfNz@M>2F58FU9Mw^J1m%E7krcgeAj? zpk~4hNK2(LP<{JLnglh0rbA7kE1*WuwUF<kQ{yt zlEcqIa(Epihu?jX8# z?s%vZTcvwA*o@%Kj66_tBl{V0 zl!LkKfigf3lnpA-WFrrhFwX+nSt|0c4MNn#I++k|n0kSVc#x3?JavoNp1*&J)K|Zy zfPR+by(WbH_y9jmT-1JRaS^C^uYwfn4oIOE8JVv>g0C{c`{R#ul5MXvj5_V+ny`Nu zb-J1m9(f%Hs)kO7JtBhh3?sm(I-Xpi4yF+Co(V9z!owWT~e$IvY%VX-1u%*Ud= zEEdaH#k({%ei-AYg7MZO<4=l=KaY*upJiu-UYg`%(`1Bb8aUsC(5WwRy;teg=zZ$D z3DkZ4U63+(zuS7zJ!yjHU?u8j!%%i;z6sHRm$gg?TZm1-ax}-Tkc#O9Y@>rm2BG#( zU(W(HFiwCp08Wc_S3=q*xz32YX%*6gs687G8Isa6u18h zkNkbo1owCDVpBgHcC$7k*jB9C$RQ7!P}f%|wT;6bM+Z>lcbt(&a?%Tj^{ zyTV541caJlqjZ`H;T@$5K^5oakfOZ?(i-Jvs2;_2C#21!Me)_8(2-nS4z++*L5-mo zSM7KukOb83-jbL4(eH+rkU^`SB-4BqK z!7a-esT|rvD!Oq-#Hp5hF@k-aORy_2sU!8ZpjU=l`)fUWPm`#j4Wnv zSkp}K9G#2W-a3=b{chv;%?NiPO zP}9pKx9~yqV$|;2^vwNI*jV~YWhLXE;U zs`bexc+E{geU$GFFT~hiAAAt>W#7}W?K9XuUBVZnhgMR2;dUG$>{DhMhvn3jpgPX& zMxNl=UCne&7%Y|}lni&A&zlg2)_2fH>&~4;`owO<^aq*{>}#Wso<7w#!PEL=s;NH> zdp{M=Rak#k(ZYmK>?eV(DE9G?D)C9T_3pG5wcinK2URhjVi7%RY<-@h*5K38IP7K~ z1Il`U8~8JhJk!5z*U?bEQdON7$kp2$5-=> z;^% z-o1w2JQiZ{Wq8u@K0<{s)qIJ$4?v|ZFqDH;jXYpAqvWTPz1N(CkeFIm*%^YhKgh@g zwLCftQoEYqwtllT4YiLjR~dTLbFo+%He_1chkh2dH`$IRgcaGzpeDW3rKI@JhIHdF z1*(kh8c1u6n`7NFNK@StkhX9(LYkf4j&*yW4#ct#Y6Bf|p-~s88YEq7NR6~3q>4En zQki8MdB%nrB`*svbzg#DcS0(&*|E*#sO=CS4Z$nj#($#eITJ$W*MW-sJtL2NJGOU( z3h6wvSmal_pw@J&ahQu1fhxhJkS3C~kRsk{2=` z$80;#_I1hk_Sf_d7|x&lD|mtY+Ue}3G1v@WqzqiVX(R$)Gg{fNQ3nKke+`& z45{C(hP1MK0n!5WO-Ma(E2Lie8KfTgHPjS8lRh`n=4dHMYokh#)+%+N&e%1AxnB5=TuOG(hNuyHV0DvZh*9!yBkve9)L6$KLKgl zdKywcdKFThH$e?a?n6lV`y5i;`~a!u_W#02IV}%qtT_Tw{^~+U6H7}-V@)qeb$F~% z*uFUlrROOVRGvmb%F_f$d71_(PqQH9X)dHZ-3}>F_dv?iBarg60#csVLdw$yNO{@@ zDNkQO%F`Z5c}m%3q&$^|l&8v&^3(`Yo>~}%JhemVdFl-+Psc&Z)9H}%Gz?On@*(AE zBBVUcgp{Y*kn(gJq&(dXDNoBF<>?7Xd3q62p5B3!ryY>;va2=%O=G%~} zX**Plu%E_uyCF^Sdm#-vC4Mwg6_vCGo=Ldw?-Q~PTee+xWbuD%cUB*C4KhSQ&n+~w8X4oFCzqYR$V-7xZa zs0->u!;Qmx*M*>bp5zApI`(wbemiz?Y;gq^(SftqqW0~fyFj_N+%3GMSE2UV`gu_0 zu^v)|zX7S5-+|Q6cR+G+C#1&ml@Ym60^gzbI1_sqDyEW&WpyJf8NcJGhuW8XO+Y2m8jI-bjgF{&PJZ@I^=^xB+TS%9|mL@$W&M z(R~c{fxd;ZpdX=OQ0fInIZzpBG;|Qu2x<&zf4C*2mX!`E7k3y@%W`Z1LO9gAs8+Gn4Scfx2(?F^I#VfmDV9XA69aLpym3gi3aC=71*yF?#x&YQ>288|!&#_5 z2)BXHB1E6wzidM2`>(scgv#zM^!^C%6Hwm%fQ9|Cp)8UwlA!tF5Mxj2@w5XIl3Vze z=l)HNqZiQ2n-JbYt&BcuBDK-`;BzFX_)e9DlF2djsBc_TE`bk-RngCykm|p+yA|{U zt=>0u_Dn`lArn*BlA2#6yyH!+H8kiJnxechB zzfO?)Mn6dFuz`^LO^0fd)<~!}bT(8SngVHBxfE)M?kY$_)I6v;y1Ss3(8G{cWY0lz zYn_pmnm6c;sQngUJE+OyQ%DoTUP#_1EHlyoRTh%B6(QX$)Pj_khLCdF7E%s6Lv`_| zKO}EYgfx6-K+5wtNVPKAD6DJGN9i733ChFkAbGd|l81{RdAJ;shpQlYxE_*+Z$R>J z2P6-7Lh|rCNFF9WVk8d_gydmONFFvY3LZ8^=^l0h)tkFR^0hA{Uk5?*btoiX$3XJ6 z5R$LcA^CbSBwufWm-uYZE%>obsi-2};(ca7rPr-pwrwXe+D8;0I!lx(ln zYR2vPs0q*8w65mT-=r|NoCsF;nrsk)i5$IlpPJ(toT5jw#id*qlsQo#^cc99+GfMZc zKd3fzBBTY%U`V4&Hl(&T7ShOcJ|qt>f#l(pkUYEBtHfH_|UVjLn!Uz{XA^^Zt`wWgUw2)JSF)FB=^37 zN}@}9#ezq-?`=#7;X8wB7$-rBX)>gk?t~Q61CV0+*vMk?Mg5nkeKq(4sJZ{(SEEoz zK->V*r+KX^FsC-W}@~CUQWwBiu8dHCSs4<;tLh$NzLpLw%Wj~iW zH@u*c+S>&CIT{W1WlRVQq^h7ws3D{+q}Gt?yd$IzH{8gQ^PG=C?F+0zP@yh>6zVES zwRa1o@Xs2>;a^7W+ZS(vx}Eq4k|$q43jY(N@b&vx_-O5alnI{4Hq%Z0Q({UPD&Z9b zdzP*|?leKY>qoTFH{Pk|TZE0IZwz)K+)G39cj%K6(JSDYqim&KzGC2$|_ko(0 zABVJD_&(N^$&R8pz$p2-R9|v8F(Gw=ilh}dQqH#n)5&}%BTu=DQS!e1Qq-X9j55J~ zT0sFDnGl}Lv;fr?+F_9xo^*FDvgjRK9EU}z&^=F)T8W>5-rxDkLhDPa98fLk94T?` zGAyIIn}fQpVz>d+uF-9fmL+#X?FjV%q<*~&(o*FKNUh{)BlFt_jkT!jDbCkG#kmEN zCm%x!wadst`Tp3qsQnTDPvDWHT4J=3?pVu0+Rdy8X?$#GWZ`}1r5S1;={kd&czZ%> zMg1YAdZLkq^82;HsJ+)^fMrQ_6c(xB#`+x8{;tn?U~MdBL5gi7w$T_}Hb+7uOb$0r zZK6_W0?K;48-#aqQTt+Yv7tAZ{jRVm=Bv54F-+~E#?lG&m$8oqHJA>Bw5mAE$b(O5 zY^T`HOH9!%*L;L%IJ?h;Fw`tIbn~59*muY>Ke$OT^TSLC=0_Ns`H_t|_x3Bjef8gS zZ}SS$GREcPWED2f%o{T{J0~kGeax7=CZi&CT0ws1kZ!Vwj=N2ZAmOjhz3r8io0XrP z*}6yG@M33OhGR4{3jgXz+P^po_ivnI`}1)|$I|}%DYWr=le+LcmMHIW;Lq+{ZnQ&ul=*9%*yyzKV?>4pP6e%Y5XBhnU%Z0q|bhfQZ;qRVpD~o^jY+El>JG=JpooyQqH`%r&d)VKUc=x%H<8v?%ZGt|(#`Eo4&9L#qVH~+H8{F~T(h7B3qyr~dgK=}0! zky2X!KOZ9XgH0~UuZKE1#fE#UQvdipld->rhVfCLHc+NR9qcb@Hl(eThanZ@N=Vyt zZyH%lz8mnd3Em>2Bdau^_OdMmn>2ohM^??UE#&0Qp-@WM9*SkfcMQw3q2hCF4N&`z zEwG5rDs6{4Ma9+?ee}CdBTSHXVsYzpvG)C{nP3z9OPT{Uh89A4sPZbLRlz4l_A-PQ z?e`{l(e6XNKKMMy-s!ZI{a4V2nh;(O7!B&JrSlE%$G{Ut4fR5hz0_3}+daYcS& zf~OW8>ZO74?;h%<_)Ux&Twf{A4Q{hC)CqA(O~GST`)$CZ z?Jubdq`l>VMqaGZnP7_G4|XP4bSRd5Kl4s2hu`a=Sn}|9awwKM(64bQmLmQw4#iSw z{`XKUy7ce%P%Jfu-{w#(HHZI8hhk~u|7{M%QrZ149*U*(|44^o$>BfJp;&VGk8~)O zTK{izD3+4?;~a{mG4-E46ifB~hdmTaHS^03#fpxDQEB}K$HByPlSojIXMexoxd)K)6`ITHUp zb0WM=|KBqwqVpZpJX+hy3f7+gPn_@YZ+?FneJ2^@gEp-cjF1R|F zbBFpuk@cIg^(V!x_qw3hEfapQ2>r2N2~eq5G4k9V!Z$u2hVtly5Iqh!ny-BPaX_E= zE1&3-AZ7R;eG)W{=*u5QPwMUi_1@k?km`Sp+cwq)-&)kYg&V-0q_-K;d#~Fd zy*Ky~q_^n4FtVca@Ow~u_czcT$-w0`&l4 zDWp6thm@yPkn;4rQCueLQG56|K!tw?QurN^!taC>{wt%nOuj?yWs=y$P-RjQlCM=E z?TXienowh{;;U^Tz4_ZC*7b%|CIgJ(C*P+^t$e1VkDh!_GQqn{^pSx2z%ThoKmq^z zk$@Ne|LKneUgOh&j{coTiPw#%rB+vStz<$NEb4)J2-gPEqqhQVCxz!jOA$)=7mLd= z2?qjz8sfJ=YRMl!8b7OVv_LkLt0C7jA-s3e1XSPY0qG5t(U8KQ4e2)T0V50VA1N$D z?e8(K1ogiACP<;SL;7N)+8f0})ixo7N&^+D7o<=FA%(ik$kOr;(62@9?_A#w>g$Px zP;L73BamJ&UInS2zX;Xj>Z=eBFq1YJS>N@Epf=xXgfBQc8+$+Am3&Y_@+HasB)ol! z2{wnQc6yl*JRb(P^1^ znZM*s=%P0<{msmT?(K#sks(TCNJwOe60wW_F%P=u<>X`+Was6k#ndCaU~GC}=Ez?s znPb!Q^Yg|ZKQg@_D^Br0nNn0uMK72CDy7veKQDdQ*k3IdanTf2%fON8W3vhp{_0hE ztFFxatir4)hPMcHMhd_%tCK#eR7BA`K!_yg@5rL{lEI^@&A0= z-M);-DD0Y(Jt8-2Sl67Kyv+2%ynKI=KGq+XF)AywuxoyP`o!qU&u1ujJ}`UCxSaGt zYp{I^a?*2$^-s@DACX0@cF<2o;fW*jv(kqZL{XhEF1;`-Ki8}yOOh zP3<23)rSW5g80vT(O|9*Gaqrp9`0Mt^3!t*hUevvi4>8i$LD3|@~XSJ`>$45(YxZq zvW8m}R$;#|icEWD-QxI}80;WFBZf3-4MJ7uTm^cgdDTn>YMZb4ywx)q&|I%cSbAGhn13bS)esm6X1UAAX- zF0Eg^X5iS7S@~Iik%HQNbN#<4?kLvY*|{T%B^jyBFzdwe*3M=&radstTfU+YbCcGiSGxeP?L6G17$axnmysXdzl)f-mJhw^eBJo}?5lfNR>vqPCPPqs3ujBw{B45YQ~Zq&H)b?7n@f{D@-GnVr^glfHwap=mTqP=)nh-zIDGe6 z4fG^2h`t0q8MS|NembZqF2!Q17MS;e3ihOtds?Eo=`IXjv@#)_q1oP0fsQqB)4c9x zYTx{8*?O%BslDXxtzZ`!-(l#+KVtkrFs|DpHf{pCadSgAo@Ku$-S*V3co{^@56@@p*HYS7y*%#E^&@f2f-j0TjCEA&gqMdK# z(JnAbzCJ|zG6o$~pc}zfD*w%~@rt2l{B^R0$%zGSpn*zYOoPI0pdsdePaHqbx&-eKs*TXM|!$Q0d;|Fhpd$@o|Q_DNfw zzyEKaD%d)iz9e^l^G}$RYS}__A^LHyswRZDej9>1bFCSqVXG~+{;hh?BFhtF%fYc_ zMv>*%BFm|<<&4U-;c<=&h{X*=A8Kr7pea4tQE>ZMDgJ5WFhtCPKM9CmNt2lbBemrxx{e}XhDwHdF-d@rP%31M%eS8@FS^flEXPn8LAoaq)m z?2SO}?@i~r-p}xx>Vjs$D~&yCbI@Lv>h=E{ex229f~C7Kq&pFzM3`7FHX(fVbUmn2 zzXwurZp1b^dE!G8JRcvSUX|kcs5H^6eE>TgY^U<718T>;o{e5PK1qLs5RG16nGg+jh92R~x0;3hmWF(N79kqqH<%FKR)53L&5xgN7EdLmsF_bd zh+>~+LWuo*LpP7U=2E};yI*t3;-CGROU51l!Pi_r+4bZ%6Z~wC6V{n9E&NLTAQQr# z|4>kSfx{s^GZ+IYiAhG5L2u!+P4HY@f!bzPJy&?oZTy!hc9{^)SojvKO>0kGZ=~6w z4AdH36{sat1Jd-F2K7YO+9*!9oe7@q{;!yNQAl?PLSo3#C=RCarCN!-`e_?U` z+#>yr#r5|T=@+}+^S;Cc_o33OmaH8#sJwSHA+?!Cmac|wu>gy2g2j3)d}*{r#&T?-!?Jr#qAwN-5Tb3_b4&=Wat5f!S`WE}&jk;g;N?*5O$#_b#Bw4+^zp}F6T*|h z4A*v2RZ~g5~>F2;FQ{s9$+2`wc=`XNXIaBf%LGh z7u24s$3j{`pJZeuQ(o{QX1CE z2g$Q0kUZ-E$+PZ|JnIX|vlEPB&jz7(&xV8YYz!pN3L$wm36f{iA$fKMB+sseBd zJev>6v-==<_8273RzmXZIY^$ZGqRTG&2J;>TB_K$!5Y;3cIYr@H>CUJy-J{*ZEeBBb&e z49VLJNZyWxlXUKU@SV-$OF18Vo;Hc(#N4atiKAjQ56(lYM}s2pYS zbbR$is2;jkp+?Xqs3G(&q^a+7NcS(_7_nWTYPkMw6HJLrtKmkQ(v~BYVDI zLRq>DwJ%(60#&e!v53C@djz$&$Tgszk*4 zgk=99aTg|jLc#Z-)?B6DH_{5P9Hg47ZDcX{J5Xt;-K~zG76H8>mD$OVI>PCYN_vWs zttS0s=5rCO*r}x1nE2Zy*Mo}TE=V!l4=ILqMz&4nF>F9xQu@v4lS4z=hThx3PEekG zD`OJ-5!>iD`%<^Zw&g(C9tM@fwx*Fe=?~i*p!NgIx`Ar-eWb)T15%&JhBQD=hcv`o z9P8#o8mR7vG%PQJniI<#klsJo8tW2wm`**bG^F9X8l=8Z7gAqnVidQP)~Nm5vff}R zVm}^Afu=yJ)eDU*lxJ){<`EW( z`tKcKAOP;gT;%_F7no5XJb63+nVQ(Jj3bZUQUXUs4IH3bXbYOPSy?&agq1Q#n*oztO22 zO6$L;a)gHQo1My`hV}bDl|!BD4|XbteE!u><#^nZNxm(`d;fNXXybM#4tS5>W$0b| z3tN%#qbOWUO1H(UnfoKlF|1_$kgqAAruJD-8*Fce6zX*<Tl-4Ye=LzXY|UPh=Na zw^!vMEdu)(#Y4?$Cb&P(pk5UQuVL02ZK>eLu8gK>`c27HP&ZyzVG-SVFGNW83(JbE zp9i({eGO`Ee@WXR#qf<$979yfzZWPBg z4Z)n}!c0v3Mfs~h?U`H;>GDE1_5FjVU0{??+5(5iI0-fpcp3Gx;K?6^GAcxfs(3OH zdqtdU=;o77Gm8!3;qF5S(X71OgixftVEmjlBrh%r@=S;pK<(E|*D);{E_3**A$kHV(h0Rrw03>kv(CV^2H{ zQZ<~(^^|baGy-)Kb=b4OZuXZn9r}Oly$6^U<+`rf-G4WrU;xx*CJB-xqhvvXiiiqE zM4<@+N)k{(5i?*wOc)TvfLT-&F=IkZ7?wFJ3Pwzr^St--d{y0h&N;Ks>^XbSS#!<0 zmKXQ?*7L>sa@AkW%`dqYQs$RH3cog};Dy1LI2%-PMkibt{`i|f+Rx3y$Oe!r!mwsO z?(9vDr^85Za(tXC)}i<_#nSI0#j>S}J1~s2ogD=38vm7)L+zl^(7w<~kb3T%pvZ-{ zIhWw}R`GUFdzyP7wf2V~?N6V8+Qxq+&q6wc`vg+SehG>={rj4~al5x}dU00B&4TiZ zXdXst3oUX*{{^9l<*{n^-~WzK_8}nkk$P*JGTuZ%|i7+-IkUpvNQZ$ar=AeUBPhAx=?;t7t zf2HprDZ~Ft-$7D_|CPRjq}Kmm^Bp85^{?|CB#o*6v)@6|egBvH4$`MXN{R~a6qwpJ zA6gQ72JKG%0d~-8aYwK<*INg99oQzQ@U8+K&SeK020G9fP=TfgIZ)Bn5om3ZUkBO^ zBl|W@w=mLAa`yxk@u5KucwgJnIQUI}wDA*+_`eaA~{J6n4*! z;eDpaA5Rz;M%mU1d2FC#pM>I_qEel7T#XS6X=!f7h`kXpE*C?O*}ECM+N?BR2zHD& zc8+jor~JN#5!+!{zc5mK`v+P+0L4Y=?+4#ux&Qd?a^ybrdf0wH zs>JnZv$qDmuh9MhY6K|l9g5Pl>#QC|dKIe{sMvOb^sKB6q&wU(DBim8Z?^|vq}x3_ z*ku`k_o<>%#c>)&>`GPjXXKhQaleo>*HqSAmuoKBGc?zyI(Y~qtHLM3NLBb$pp$(X z#p=|CezV*^64-dJko&EonxLLh)P-tr0~-YKZ}aqTE3T-p?SdTnu0e%cQeNg@#CMlf zrb|%!&EqS<+C+5=r2Fs?+LE-(d;+(hLa)vhuUO&NKHkRd*w%o$Q{P(QGl!q$)~Har zH*pI$0t>uMcKfexHo@Cx=+7il%)N5(Xddb&%uDTNTU{{VSO7& z)!P_Sv>l*r(H)Tc1_t3dIR1^M=OfEQ!*Ke8aL3E19&0eNPu)BahH7&)-Z-k2@k-`h zXRlv>SRY0z?hp3+HH@O+3aZhdX0X$&h4=k50(Qs94zl{$C?Uf~HeG#>0VqFM0n-sdfaYcw}EO7Dk!~43}mT+;62??u$`U)<~UnOc+T%J(oXrY$%@E*hgmn0-yA|`-I4E zHU+Q2$fn>=G13&g9!_KO-@&e$cc+Fon}SQGMQwNrt`cZP)u4O|ZjX^o!QC;^6uggE zy~|!r!R2N(uHnIs@#2#rTs8$hh>?xokB58e1>pGJ`lIBlm(?iu?u86^6$-D*s4 z1*abPAt>htNUgE#@oQDiHJ_bqomKDOaLlk zDXff)miQNlBg05_GbWcGjUt=E7g+8o{5IsC!tVw(g+C5y3V$+) z8hs)C`!ZLQ$=8FNmp6m*DZJ%OW!Gcsu3@A}w=1X-t{4PRu1r|>J})-ZX4{K8woG=(p>T(1K@jM|gSO1ph?p2P2)yn;WQ!qMU~~ZR><$j`j)0BJOQ{?$Z#A;xsrP6-GAIfa(wD207s1m7(3Tv=QOX2~O|dUJ$5yyDq@W z#V8|3nyX&K$OfF(!$|k!b5KeA66An)ycXKlrMr;CdvN^JN~@Uo_cP0EsJ}dDRywPL9rom{Lf+92E^ZA@sVoJ3Q&$FB`_Z`2E=<*1bG*{o zLYdk+j3lpPzXz6jVK{7k+}EbCeXa4=gANEI-I{}P`K@P!{JZpo93}I7e;Dh z8=Xl=YH0f)r!!(^XqTto5}kvQEo;sX!(kRHdOSv%FPx6VSwA~h--{sL)>6Z??slhmrNgYiwwXaaXQihBw<{{Ah`%!#~2%Eh@W4v3QG7BaGChwgWY- zHMGL3^VT+$uYH1@uYK`mTa0BG*}Zr$jC3y^2Q_Rz59toP3hDlQ4C!8cA4GU%?>F3@ z0E@2;)WBOC(%8H$q%B6h+}87;&zY=Z^?SZcov=`I^+6USX z(i;uKAiWVWCWyACdomHXe-beR)EIjfq>aMGkjgh7(l07*f>gdcAU!I77}DDmD2b<7)@$#j`yjHQ@e1Y3w}+ zr^_@PRGE&3RHmtr%5(~(GR=Whrb{4|=~_r-x*1ZL?uAsQ6_Cob8d8~FfmEh7kjnH8 zq%!>ksZ6Ec2B}QdA(d$xNM&jcsZ4EyQkgp8beZ-7Ri^zQmFWmbWf}pgOp_p$X&R(5 z&4N^>^C6Y#8c1cj2~wGsLn_n5kjnHNq%yq^sZ8r2mFXu)W%>(JnKu6}NM&jYsZ4Ex zVh;2;dI@eXhHegYmz}&J6pPYtS8u_HpSx%wwKR-0mfUZ@!#*2^!?v$lrKoUfslVb; zj*+c#$AppI@HiG!#Y}~it?5CI;^d&h+i6vOJw_JA5~ht82K-)mE&(^EJ3Itw=kt=a zPV^1j-r~FuYD)YZQrW+S)D-@P%7|&R$w7^w#*lnXgYfJU|HjnmQMVOFdN*=6q+X?T z12rw|3u(9+VyU;gN8xre9*@6}=7Zz#TQVI~1D*vb*XKjqkc)+o^0g!=vfu(P!|h+$ zJP7JFt>+A~5Q-z|)?y2?}^unBqD7gF~*2&MM+>L~%gIXAzgQAey z{e`%_&|d_qwcl-pTfl?3cTyZrfGtSnIY>453Z&`uZKyj}KY}!geh%%8?`LQv^cOS& zDmyc1EK~zJ2C5A;hjxLq7;Oh>NG*p{itB>%c5?$psVn7nBu$mydqCasC!p5E`W&PI z_+>~n{T9@js~c|FsUIE`wd|LTC*gJtoegTiaW&L|m~Mnr8+Slz zZOfrOx%woeoV^Zd+}U)d%H~twe}s`*a69}ZDXHleDZpjEpzJO~@3y%LRIB*F0*^7D z;Z8@&vy_sTEY&ayUSHM>PN{ASsumkSYHzzB%|64@GYt3IIk@9JclC#-Fyj3|jk_;| zkrsKc+3z3vzKh>;))%01`v;0R#nnwL%$A|aWUFAO)a{4(GJm`ftK$Fr-}KKups(Bb zKmP%J#r{A00e!{&?|(pl5nr30Q(UUq;3p5tx#N)SP=5~W`^#>Ss2*{ z^1Lw8$aOJTm-MfK)P`=f)<3Pd9k-j)efGP>ue6~Oy&vo>etT~ub4_unTKcy4DNP@~ zHVh-pYfSZ>rOc8dMT_|iEFc9b_Kj8v!#1D%TyTS1L(4@25!z7*t$ zZ+|sFNr=<78fStog`EG~bi?@zKve(UG#kXIu z<2wLvc9LhjvL}*H{n~yeo%5_bJ_7+g<=DSd2Pr2^L?VZn~ zpkjL&(r)HMNS)@>p!_LUQ5|JebzL*qWvPWXd&odV6xma*sg`@7 zosHaEpShrh;;SGnEv^ZovE7pXy`3w{S;KCEpWM%r0*2X%M)THyu3!8X*ACk8v6 zNqDov+P5&W!`ctSNYl-ypmyaOAhn}kA=N;&ra@|yTL%$d*{g%w_puSE{?-A~USxMj zhqZlj-w;SSKPo6ctUU#{3vpT?HF+l2v%}h%VYoE2aA$|LD>1Ue+K*S z>p^);?@6E()`AN4rJNM{Pe`Fkn@6auV^j&l#jl3@sdOAP03%zwTx~-$;Qes=iQu!r z4ts3;U5|=C6f!&iD<9|Jf1}ucDCC&&VN6NS&L)MCHel00EsRfvG`XIKwnmv7`C^RY zD8zC|%d^KtUc5XLoTUH6Jw43_KVn3aAY}1`(70{Y1a(j9Kx&#TAqhtZrOq`?Na%BN zx-_S2p%c77S_W_I2p-K9tD)o45(?hbV@majk(iI6b_|T_^bptzzlWFI@E4~F>W1G3 zAN|1kWN84T&M?SYzw~*O4OQY8xWwrn510D5c6M+|XRhTAdntaOwJZSDS{9=yq|e&i zX+vwL$B{U<&)_aj&sAT--&5`IO>hvo{QznNeFJG#`EyWY&-b|Iu~}QH9TZQ!HPnoS zPf3qDCx?-C+b4p}i0(8bA-NODk;>46;B=g;Ebv<7O$;UYWssZn zdVJZUZre$U&TlZ+#Yl^~hHzTcbqIFYj(D@MqcE}s;W&&Gb`qSzo)zq{Gx5g9Q5%rU z+rmgs{qM~c_oMi-$en82$zdFyG<7l5O*=p*x?+05@kw?f>>Hd$vIFE+wG0+=eN;}9 zL_TVn7Mwzziu;7@&pBcE7$eB}e+J*PMWwnY&88@6@2xx9P|w@bthxLkF{ux?S3PpF zS!eefWLDF>&#ZV>iBZ39uR^XhYYO_ttk(IbS%|V(OT$Q;gL`tt zaunI-XDvqd8s0Y;Y4h`&m^_vpFRyB8bFMF|ssI zz({GHE+)-6_A1TG%}R5Au+zK}Z%6OIp9;=?lbs9JA^0xMBco3Uh2IcAH84_FBc2^B zm~W@M_O*z8G=CrdY=Bs0kpip<7JP4~L;fB{I=ienwNl7B7%9!2gB7wP&TLNY5k@*X zJOqE1=17bf@Tin0gB9|F0N28YT+R*;Hl3z`u9Mm}RBMfbt=}1Mra!2%eo!U-xLiLT zZ&wej3z9-z=h`romwR&Ua;|3w6Q5b^gNbj#Nb9LT@OuSZd?HA}sz7N}`$w?zx;5S` zzP^??z5~KY@g0fZ@eLOe-)M_f_G!V6??k*=gSaJ()F2+huU`Fpu6+UDr$wde_&=ic z+gi0w%3|9hs4%m{BkGkHvF}sW+z>{ZotJ_dQXYbKB6Ckb8X#VVQ~@6a#a;G1`W5ar zs@xwyt>jCm2WjfA9u$?;OoCdtz0uePRJ?Vq@HucN+}`!{1J$JlLRvNsf|`=Aagg>e zCkI7tyeB>rxA(;7f?B#RM3KD;v>3O)G;%AbMdUIRCzLf;E}zHkoAhEJslCkgP18jF zaTvZw>u_J0YPEPq81eZK)#{EI@l8AeH!v%+Ei6(xhXxCdw!qmwEsV4VxExflMJTdQ zE8c+Hb#xb~IPOQ0eS~in2J6B|{rO-iKCr?Iv7f?7AL}eWB~Z0c4QfQ7+K?8kjUYA6 zU4tS8-|DWocT&6ugPJyuK#{#7HUhVICDZYroc@C1Jp3MiE(;{JE4jW=T4_DWb+6Xm z0CoECHPi}i*{MN#ic$+wi~mPZv}d=V9=N@f90=-_k)xqq2!9%+I-MC5y5t^|m&hPjf7z{8Qg%i};`08XBp4Z-#-FjEvUdukwtgX0k5n#)G>R-K|=#CHgEG;}015gG}NfsTa~^Kn7Zt3BLZh@rl4IRf92MW7bW ztGHZ9b^m4M9Et~YVBPi%@6wqMXYrd*`c`G3WtDo z2{i#y8$TXxahh*W#_bXNOi(@MTq``QUmu3zy4T+NGFBjVBUy$2q||&q!0#DmO&}?+ z<$BfB2|mS$f^uO4T0hkM6I3}jIwz-3kzQ7 zeSEG`PmhYiNEPrM{z5vR`2#~kQ{lW+%QXVxx(~B!hmj6#x5FPlk5*~wGxQ0N#*gcQDC?c+-(_6U!ODX{krO`|cnY@{ zm@j}DJ2#-n-c0xrqu{Lkfy8&bFo#%FnwEiO9fh4i-M!r*tpxUzGNpH@3^FzZfs1`q zAg&X+7$;JS>MSXpp$p7vLKi0y0j{c~xfMswzKM)oV6_BIq3$eeiID{XXSiQlVc4y2ql(K6d*!Zof43y#0PGz81ez`ce{#z5zucZP|Xs?Gdu( zMekDdqasYy|tS?t6CgQJ>TImTD{<-+G_b4x|@Gr!lJs(_L z;eW_}Py0{c_XzPisM`Mwg=_yCoDI}ie*#teMHee(D;kC2``sA#no>8Zc^KL1>@EjT zPkA^v^^~VU^^{j3tv=p?)MvhcRAs*f(a4pJDwl-YJE2WL6^90*Je=#LX`ORg7%s&bxX(?cD4G{W_FajpVWc=}gDOrBDU`E*IK6N@1XRg} zLt1Sg4Jl{SAeHRwpeUJl4fAk&g}DIKO5`?3GsfL$v(@$kxLpg6ff_qsfz*cHh8j@H zHBbv^J*4sO+n`9*1JBR6J(d0is#8|EG!)tTyiORY-1P!g%UsXa=k3FA-R+9|@>F+6 zV-%-@#KmExIBv-0H=_0G#rVK^_p z;Eq4YrrX@{a^=@YFTKM^kCqR&zo`-)hTp^082cUPiD5X-lW=Db&X-%WlgjsS7-_^< z1?o0GZ-pDztGK<*e8+zGhV@}M_OEegZ@Cvi%=R?CtgTyHO*;_7?@cW?WWKahX zXF^)LUJR*wUKbQ~=Vj(CxVsXWs`(vYg-4kqaC=6bj6XY&KR$_w@?gjx~o zUT9b7DM$mv%a9t@+Mr0y2dY&UhTF5KXf$ljFtFpRYH{?vZg-`DtEe?NjcvMRkQNM+b6DDvbT-43{|Z3Jq@ zZh<0uQ>r~~Z-TmjimgASv&zAc7InjeqHDOyr(>k226KX4mhd@6#Pjy)1I;H7}xG6>)l~RoM!RcOf2Q|9)gH*EvA+6npL7LPj1x0XAuQPDB zP|chLs(H_Yw02v7He0(b4@1hQ@n-9=7ZH0ndL7if{+<;cCD!70?S2WWZU1eBXZ9+K z!|f)z38;HnFDO#+GN&dZkywA$C;|y$d?$|dU-<_Y0@gYF|ZA>Yzt|os|W3a zuN|b8&^su?yG(mwM7Kn;9}>@>2ZN1q9trIM9R>A(#zBpsDbNwn%%F(Xoqi5(A01ti zYZpKYzZmLHs9Pb`-CaTP?v3yC;}`{RxSv7d&hsJeY$W&?Bf31%{NM|k2a0Y|SarRc z!LGsDcrPgPGW%SNY|nXF7^wv=!Jj<|t8udoHJ94Kf`)c_L~I^LY6ERS&H9}nwW1zq zv)t}gq1`Xn9-M2BM4LSUn-GR`eJt*UDc28SWVwDijFjv5lV2HJhu?jFJ*f8ZJ)}AP zx60b$TXJnRP}$GP4T-tTY_4n>;$RF?us^B@pP@w_5n2?_eYVfcn-qtNp&!& z*v3OD@pMRy=!~Fz#j^k-t$3CMyDYck%~m|GTjCYZdts#RwI-K;gd$t~|}CF${-&33s+Vu7111dV5?e zjC3ou1GO%xZ-s}TCb&I`wz5AB;9)rSp18B^@$J@ldwfqAX@GkOf3`h-3cqXNWl&Y~ z7Nj}oGe|3!UxMOpxo7;1+m&ABjzHbdI*_)s5qGvdJ{cozkI$^oTo&j`xB@}8Jzk5EZI8c1?)Ci!P+2U#Gf0K49TZu# zU|ZbY9@hgktTxZJ?a}(?b_Ub-xL>eyu`k{`QX`oyb$W0=H;n9<$$rOkZx{}HAMRx- z?Dy7erZvfLVWhA%my&}tMAi?(VH@DSKZQNg8u#^)VWhCr?RUC!!f@F0aj!^WpRva2 zz7$3Z`>Fj7`%4%O`y1|6DeP-^DQ_N{H(+Q={3|Fe7&g8;P>ZOVkY>_$L3tC~9k-iE zUr=|b9MZ@%5mKb521O{Z9nQn;W!lA{j%%-j)QInZG{!B@eUCsoUSAayhq3iFYZVvP|jktWb@@DC;Kd3GS@XGl+lpOaBh!ib^~vDDv)PhT*QK zuwy{g&O}H*r=AY&M?7ah2Sf8A<^9GWh9L#N19t=AaL3x?l;`Y?qp|Za_{<_NHo}kLwA5tDh zq0QR%oG{$R=HkviMX~d8X*_tg2qUG_9)C7ab-|y;bx@1g0g#5QqpbCl%yGCqK1~5t zucttopl3pAPxBy6Ki5NzDgTPx_h=BFC*t3H`MwGxE#IF<>OtmJP+PW-AuZp3wAAa4 zKX7{`UwUsukv&4G9!6T4)B<(1z5}FO?*!?ktG1Bx+A}D!-~#r=?Sr)gK=rQSkis7e z>F!Joiaz1SbRlm0FAk)XmvKG&6vb6scb~l;f3^T!9)|DWeYn3&Upy|mFO0ZT8rf=u zkxEnt)ct8~g{Qv`xEm^0yMx+7^@UWvLDqW4I3^6II1cyE={5M@F(Ow=aqs(OXcE{z zI8FM8*zKYJNc>KIr2X#nWAVHGCfn~DdLn)|r_=0re$K=1Y4+~Q{uTH=k*=%k{|>+7 z+2jFb)BSPBFkG%WxZ|^gYBRm9N#)8leQ~c(f0Ap4HGZA;>@d<;a{;K)@wy;Kem&az z(~HzcJQzm2lcGu+9Y)&6P5|rD2&O`9pi6S!WkGnZPX8|EiiX}>gW@LmPAuwa^JcjJYT1OH*iIb_1B<0zOskH-B$6{02SYskOt83p>ZSOR@YRQ^L0S#ehBOK^2#P#;E8hj<6kq58r-QV9$eqGKP|au% zq~p5s+;<|R6wZQ_!n~k7h1)Sw3U|Y4jDG;Ri}M($>U;@OfBnc(50#(e_OSdds2ced zMOKblkA~Z^H4ltLEN_e7Ta`|r?#kYf_GpKp%|1>u6t@!`1u93!L%J8U(Ppn5&&BQj zc`2x-z7SFk+-$A40(au}dD^|8%C`zqyl-0T%KiYiyEeaV_EyG z5md-#{lysBPjPPzBhC7E;m>CM`|*3$e-u=^eGyWgKDO4K;tSla&hJ3Ag+Cz8`h~}X zH0#%bl+XH*^4>Z3bq%64-Q(YU*6)dtT0~!@o+J(cHR}(BRAZAY^{hV)w`cv+@Mp9B zZ2XqY1vTr>hm`AUAkF%BLdxr-L3w+53b$vi7eI|JA3_TMHKf+}V^BWpZ~8>I?cY3* zQf?9d=Cl5GTzAW=k3XCB+lJv0rakU;X>V}oN@=_|I1WS0_~}7qyDIfFz`mq&4m1S1 z5Ypg#OHkCXZ|^<0JtaR1>YlBJ{D2YCp#Bl0n%)o;HPS*!{e`=iuGf|Oe3z>Onb35T=(9gBd7z7?kM5_SuyN`+vD27px$^m z0#eHy3u$FCJt*pMCxx1gyNz%zxDzQaf^?^EK%31V5KSTc+x5vPZp9<9D-R&Xus|JvA*%aD?{B{h=bJ-oYr>udX z#)jdLN^~@&nd#V|xT~(cQ!(QC7tzf^;_5jc?1Xb3)C*bw9SB_q9SPk6wT12piXR|* z>-hq155X@5a{U#q*GfCWx4GU~iLL?FCx1bay^dY?>8#(^3o4wN)~I`9WUpf%5JpPn zpj>`1ik79CnNCIE_iWAuy;q!@YcD|iV0v}?K8!5tN0GY#D|7iO6#pzLZAf{VKO?zc z>1`WEYJ*)swUC~W#*)5}#?*n3e?S$K-@9_$o8{sZ?XsSXZ% zHjM1&Ya_x)4=s-YHD6AFR0k(P>XGL_%IW-|7*RYNUW40x=oV1p(dlx+y#%4ZWuNs`( z+XlKKwnvctSZ5YS_6dX6WKf5VR?DqJ`dxz4pxX|Vvk#=II4sB!A0AZrwu&G0{QZJr z@P2E{7iDNESuZ%P+I9i8K5h@G-}izvB_0?Q_tD$W!MOc~$Oura>=iL_}x}-0ad#XK|4_9m5}DW=OESW+d8<;D5TakIw#%yZYaltO$jv{+6B4*(&%+r?z<5> zfUEaH8t)!~2H{%;od~@EO@&^A)KAw1McVGCg@1+-4Gu~5;M7lRfojp)K)T!vY4-8L z{V}%k)6YYZc$^#x>fz%kNUwO0hbEH1S$|mC7-=Tm3fzlSc7Rmd4bf&lFxjO-+b-93 z&b2+QZKjluvC)X=CL?ijCxRNkPJ`6uE=QWZYJN3tAEe$0DzdUylneKQ`eCHGpd;9t zB=&&%KnFr8 zA)tE8JV?FpDzt@E|2N?7qhNP{hZ5U;kb1zokm_JvP}H*v{sV3wIQ(Y67X}->hFr1j z92oj0GIqspeHZ-MPl|ivcVF!fYMplo)Qfz~L7Uy%OL6a^=oWzoqj(rn53TmP;`LH) z`!Le|Yz1n?+zZl5U@^20;h%;EL;r*{Ue$X;F?q??0wWf-NOlWOg8BSgY7g+ zUHsE=`)-~Cs$I{6G@dQA*0pv$Zm%64uzw#F^9lS%2v>tTV|WwNsP`eHJbWG$ne-1w zHsE%h{tl{6OW({w)qvFcwu2P@(4YwK+zgdKsZPih521*uRPG-w*Su2ut+;U4DUPRI z7-dN_~Qd)$8FQ+ONnQhnp#q^N1P4a^zK&!=nOK5z}(% zNk~^!^`!bKMm#N)xbz*xtzE-r!D%D7EvSWeBd8U1wF{)?(FM{1qhC;D&CU8y+&z@^ z5U?qsCO~Q$$D@r>OK>u7FL%xawMe=W#mVV6C(CgAjxG-*uKT%e*OOfJJ7Uk`%^q}o z8-}ZA1MZhonGbna8gH1V*iZqcnKcic6`UISd7wJQB1o5)A}vY%_F3F}t0=F7L&@KJ z&}e8aq)^`mMJV6+t=`LWw{=kA-ITkP?<;p+=Dck~efE>!RAE1WTHO2rX{fCJL6DX? z+XY1`9^f0`_6*ky)UeSDQmB4tvt`bKxV_97hCf^89F5=0oMS=V_p=~%$vKb)?n@wb z`0IkA6MC6*D{go5yFoR!)hMzW{1|r!)!>()mN^?BEpvW_G|1QbFi3-F6G+RP)NXwj8k+^xk18SM`5u}#z6Vhy%v)!67(lVz(a9ZXx1GUU)18JGl5t>LI_J_30 zIRx@DXFTX-&T(K9l=Fh(Ubqn~#O-CyVo=MRhfrk8oF{O5ne!~Dmj5z}>~6h{+Xn_~ zKrM4VgH+q!qRpnlUn;bJ=h`YCW!g=HLhEHkdmD|&bXO!^=JW!)Qn=40}Epx`; z_G~{9R6BYeMRDo{U*Pt%Rroki%bXfeAL88+Qmbqm6m7}VOBdW;74!zx+WMo&CZI!b zdv!PzRJ>y#wbn_H#>?rD!Y>TU!`~pc^7~+A|H=ygH~4+;Hh}5Hh@!P=VDA(V@wun% zm3fcD>$zq|U^+~>3h&jYr1PXlxZuZNj|EZ@D-nFc6zFmDee9>Id9E1rNf_CiIa6(@ zF`pTnYWG}FE#@jnm+wRx-}F;4pTX^U;WhA3l6@D_sJRwWsBeSfPWaUJmoOB3<4+Zr zOV$`8ePOFzaM}cR2ek?82Q?;zfsjVbVUP~NCIv;lJTT3`?d`=(PzM{ALYny&qAgAt zUyR%9o?Ad2XDo%3!hMysk5p)%%(bg??JH=r#}Dtzt#W=2Y9;qAq&EK(q;i#g7No_- zmO&A|o&s%;+hu3~HlyUtARTD5L0eolP}+{T2MN1_8lU!t^w48}v~kid!6CT)KFBCg zGx#(}hoq-Ms;}9Q7XFt*x{o&n#pvVN=nmW-ogV~si1ANIqw|}P`pa5K`LFSLka~ab zpvaT^LO@>a6r*#+1Qgl0dpz#?D&omt6YA?ss4H|XR2RA~DB|@J z;}+ZwwG>pS`yhpS1X8Fsf+8)SWBw3^QmX!i;_?VnJB;)IVsHDc9vg<#XH-_7i`tpE z9n_tA4aK;$eEI>mhk~C1$@{NdKQSGsZ~J9jcjwtYkn45g-@*=Q9O!}(%O@_35B4Z9 z5%14w6!_8-ub!%{mtMy(wS!X++!0huZ3?M|T0`m|-65@1_7930a@!b;+fNaOgSw-W zA+1zSM4KH$pN88HZf1j8b6kNUd%yc?+>ZE0P^0_pD6)6&@4@ZP{}8B+*Aq}XivKL6 zP_G8XcbNQ8{VUuaG`|T%xq<81M>DtnDyy|^g9?|YA6s|-C5+;-7K-qYFv_~?{?4%9 zabJbMf&8!8?{m5J_&vWBehpL)+YHk0=<7qOf%ZX>ibM6o?NGx(g_-~jCD*4z3NYGHZ}oO=1{&?_9@$axS*Oi`3h2`}xk@pw^}jKw4LR3aMPp zeph;4IS#O);*1GSGyk!m(wL7R8>_Fy?KGBvif=87csWw}Utgj49#k%VgOrPQe`KM~ z35rn8#lteFxm7`m=slELr~L|b;9|+2L5-k}L3x|*f>H3Fis_BS&x!lvjz15h=nlc} zL3Ajnc0UH%hxjHz1EG_ky`cp`c@D1+LlHg1b>-_#Ncma=DPLRvr7#}P>V=U`e4B!r zH`+qG6Mq+IPpCJfar7uiH-COm+ALoesI(v8s?vTPQraItN_(rnmA1QooiNgQLt{{* zX6wp|P8EutxuTyHzAFdePLCNuZIMSq%Hb(!vtQesZbLo&0yymmu0ZaleJ!Yv_gU-~ z^Ssnl!}}s9^OYr%{}in9Z&I`+DY_dp3nRtc4u5f)tOwxt2r$)tPraAoPa~iGUS++B zzpmn618T(h0_sVozK8aQ{(!V{D=Q8<9^aaU1OsY7j8k~b;RAcvljUf ze$Q)9g3S=W0PO|60qqNY2=#%AOBCLBXX7xG>v{oh619pM!K8{tiklvRWafT_?b4cZQU9FGy*h6clMYzh{P_{9cJS z+nFs!?2&Q_{*toZ56!i~PL;DUEfI=7B$;1GrkHG|0y|L6NS9fvs_ShOGyx z?=^+AzU*(Uo9I=zeXjU}{jRK%vhe!>@Mhpvq*n*hqrCQz^4d2j%HT)agK+z)|5#9c z{R~KbeGa5C_R^p{zl(4?zc+!(?@~zlea%|uw_%lVJHICdMjTa@jmz+-<6r#QBj!TY z@OuSO8&vA`AuVQ_LmJcD2IY5dKiuBPj03edcnn20FZ`og7{_~n>kynaFr5OasjghE zk#2JzuDeU_2kMR;iXxlC%PSN|=ZeWz_?}M3?P1_7Q0wUPA+_1Xkjn8;P{ivM{gYv+ zdfvwyZ*j@^6tS!GTd*EE{uR=URkBf#MuO^)`bl$0L*3Azh~Fd0aEyYhax4V_cR%3w zt1*9qO1(<;AoZTjAdPcdK{|J-106_xG=bFL+CYQwb%cgMdq77*{UD8pKLzFM(qCzW6rLK+cHgBp>*eL)ecN4&>y z`#wAiY9#wy3PrUcP_WS^aaD0PgcN5BNO6t~ia4E*@nI;;S$MO)bv|OxmY0EA2rfra zoTisYaQluu4QizQC!~J(wza<1zu@+&c*ji@hr3LdFw!hG%zn@J$KZFZP6yQw&Vtmx z&abS!tU`NJu3egIAE>N-qC)#>u6-}peo|TcO@+2-vn&rALCQm|pr{MC#um66s}^_5 zwcVjU+`|FTA<*HF+SUkYB))ObSm=02?QN6I6}ulDGz%kjpMyb-1-Dt@Vf>y7#VSxa ze6h0P%?icmxnhGAz8Amac66mRvp6;hic(s!6>cl)LEz8{*#baq%S}kpWcLYrtvqV(~*s81!?Bl0cuID zH-g$g`$8IhM?<=wGoekmIyWfl!nwR0x2MxZpw4+#L5lrFs4k&?f|SRi+Ckgl+X7PT zZ6L+oIVfUxl)Z4f-1~wm_aTtVJp)plvmllG0!Zba52@UbK`QrikaG3`q;h`-soa}w z5u|cAfRwWykaE^HC~{U^?t!?Sv%#Rog_ErCaCZf6_k~A5ovdxJ!oB-<-0s~qwhUD7 z-V)MH-!UlCvvz0P)^^CXJ#uYdYds?l#O={>aIQECQZ7$Hn>`P?61UHu7K2(RFM%|Z zEQgfyL0c&|?&n9?(Dvh~;567z05#f9gLL@rmCMe=^ zd1uM3V1;eMpX~^$V3d{hC+KFuX$;>QcQymo!|x{16x0m3w-vr$1Hw?;W4NxCeHPS_ zXwQdshMo+HSUm&2fZO-@4bWRED;(?JVJOzEwvFqGwGE_LJ41?fQc%R|FeinfFc;y? z=D;fvyR9zJ#jD z%b$whE&ps#z2qWDz2wTu+Qk*xdvfiHT>DgI?MoHfHM#bST>E`x?H?7|O}5YSuoa{{ z)Cr1mxUF=??S9`Y*X|4T;Vuq=)UroIngfr8GzXptX%0LCQcK)+2gUC3wnG?c4jc|@ z4!qwAPf3qgC|&`T!*?qy)>SBe$`yZG;d@bS#|Y@?YJ!Sm+o1ezHKxx5~?C#>5*&4I5#iv3+kb6}xv zkn*?*q&cu2q}X?d6#HI55xb*20JqCM2voU8Kq~jSkm9@qQn?pGD))_$%KZYQa=!^F zXX_!A`$tIS-o9Rt%H0Z5&iX^j*&#uZGmpVTaXV*YK#dEtt?+<%18(<))u6`lzpZfZ zu2w(X?%msf>fQAr-SlQbk)E~fDzv?GZU0<*h_xOchvH6o19k2`8PZXs$LN|7cz;t~FP;+2w zNXn^Frg7~OxfN{lMiE0c2iC?Y_10?p;B-RK5O+2Qw!rUv>;`HMJlKkAigHL8g5$Za zHN-_w2YTg|P$TH&porD?_#NCnw_Xcs4lL}9LQ&NS6f_8MoV!Dcb1z77o)Q#sIv=yc zP?$w{v*$TCA+9U`Qc$znvye8wuRwc~zmM{(>mZHkUqj=$`d5CnL1U%quF*V<^hl;X z*cfeBs5f)~)E62F?Fc;s=}G7oO)AB-Ll`NhMxbJ90V$?EAjNbrq?qo76jMo4#pKq# zV;Jdt;xzkxKCuYDXZn@)d&c+(zi02N%@mLO?B-#ln%f3cf2dbk(X>L*Hdl1E!d2c2 zcN5kAzM%Ta!I195k=8ojC*pRn(?RvFb0LMg1XAx>0I7E^hSc77YaThz+I1IsvEHs#ZD4G40?=wEEhkH`06BH zUm^abLi|TA{uA-9#g4i2E@8yqlTzG!hLJri0kzCK64C%MJ;-G_IjC@TacL8Zcs)k+ zEJbk}YCl`OGnX$#@kf%sgQAthpMt(UU*_WVh!-dE7A-2py&ebGDQ!xvd}F!4 zlkz)qH?zNUc~Q%dpHZ;9DMt21kzK<`@=k#+XlE2ZB>5D}{eIl3$UPIz0=0X(0#eIg z8009f3M%}TqIeo3`@rw3QcM13E`JNf>m{YlC{LkP#J9U{+h$+~iE9Ts?k$1}ZzgfK z3US{GasOPrAL191cs7c?6!RtEp^EuRc}e+pNTcOlK~8O1P+@I~;8z4~6+w;Gf%`gZ zU|S++4mF2%4{`+Eg9k(g@p8lu zB=Lt8;`J5cZ*%c?h~w{GD&`&9M09>Q-VpR)*)Gs|ZXZ;5B#Dne;ZOXI1iddBlZ%f= z{8$oSR3V;UA-*aXFGBo85I0Nnc6!2k;;`Hh0XHa`KdQ|JUnz>+!$?u| z0Tso;kfIn9t)` zj)hc)sn&XyJ_UD6X=j33SImJlrdI zRtAp+)saqvRQI#d#^fTwT-;vl-2ke_mssJWf@QcpSw9Hs{=W?=4{NOTI`T8zzU$wB z9Vy#S&>qmAkQPl_cM8&~u})Cr#)C~G+`cutfXaD0NcGtnQmCOp@y?jbI}Nw%^Q1sh zn!)w#OYn2UaC^TH_v5L(&*&URmGm=&b1;g%owzVKmH2W{CB7F@iC0+KOZE38?tO%- zLG8d_K@p$Sko#@iuHkiHf&6`g!ddpzGYBk%q86(cUwi<090H} zA+_?>)_QL0fO|J-ch9wbAhqayt@U2zK-^w69G+{3L5;}Gn9ACT71|SW?TlP|7TWBC z^ylIBBz$qMoeybsdJWp*)KqW6-9!1kBiAm6T9Su{t#v)D#O-=`F4w*csUF^{to^V; z`)RKII@kV)Hv6IZAGq5o4~4FQs^5(v-Iba_kzaR)t#Nmhwoa~X1Zio$i?!V)Xoq`$ zVdq@C2h@$S?QN|Kv_I~i(jJm)kAzyI9f>yk4a->Eour+dYfpsK%T7aEoI2!e+j2w72HkyK?RQ);h9BaSu?uPvzPdpzg%`8rqWdR}A09?G@a|x%LZ4 z>)7wm7N^1c7u+t}-?_F*w{WU#n*@c{dDsHC^ROML`&J)P9-3I|2kNbG_fdX#%eCF0 zcI3A=+U$1({c!sQk%75(5Y!ZHIohnBkH%eJ@lMUPr=TcHliPV1u{t8?#YjBT%?BIc zyawt8-2`c*dp;=2=>^dHVR$6_5ckh%B-?p+MeH|TTZEAY_n!7UnZEc-l)nS)_n3WX zg@1_s9*mBv@Q;&UL8svL)NwZ6ENAn>aL%s8o&K8aeW?A7st0nxg9zde39BB~V?>>3 z(eZVz`3Cp%NmILf#4}SQ7Vt;iYHK9oD`p;*jtLvbHx`Z<|W0ZJwnk>ip>LEmYP9@ z%aWo!iv6V6Emw3z@k)``-qTQcnRa2I?#pulG@SS2Uq|{uP@!|FA}ZS>LhLBqDA0n9 zgYq~#pm3ZA=8A(+#GfnI664#RVZ@S6vHToHYSkO}3e>V;$DsV6r6F!ld(A-&%xxic z^-hqMTRk8(`n@2%xUwHKj`AD~od_KP%`OHGjtKLG`i6A;tGkNQ>k(LD4YlDdx{`w-h_B--qmQ#r;-PV7V^UUW{!9Y5$&B&T4cvYms*FG^hq zYT17^q!QhUG%L})xLu+Zpi1-xq!PUksYL4_mFS23YLz~U$>T&_jOjjh>=>MK**TDV z)s4&5(#p0s*S&i02ev>l1k#O~j5hnN+KITmGdm5`3_KfZPN=!iZqTKW8qh-MKzxg# zQP8c>6zDGKbTy#+LEZW_K~dqZ*|iu2*V{KpJkb3HY8hX=XBKXAsElaq2IaS`8E)U{ zHeg*89p!}fft2omp!lwf%XbWJ9|(;LL^+Y`C21FM64#xVnV|AA2U1*%AmwFQP@b2^ zaeIt^7HmYkFUtvi3Dtsr2#UOTA5(iTB2(MiGLY+A$G>@A8gkuvX$>kb9Uw_XMX_<%Hd07>R@)@pYKUsN`>wf;c2Gl0=8%Sf! zFOZJIOZE=ZdDF&F4`Qkf>ET!tNX>qaporaFYfp^$#6w<4~=iqi%xDeFB_i{*&BJYNj zqbGw3Tc#Ynj}hN6C#yfg@ry`!+kLZI+CHdoTdIS9^q0hSuwxkM6@iAJhT7(kHf)_C zrMO>EUI#-lBGaTY3W-k+#)D099tWwUGm&O>cNs>!myF~#ByR4HS>vA^tj6yZ>>HpS zYJCrBdTY0z;`3D0D~vSy9tf)2jewNIosdF(7ZeG5^V?*98OnXD;FSB$U_-Jt5Yj`` zL6D}!A&?$x9|bA!)S$dLf5k@+T+`@hjZ*^^`0$K+<%{F-7FDg}i z4#kMYoqFe38*0fX=lWCdW_7d*Bj!x$pARF|(W{{9=mSV~^a-Ro`Vmqcl?@D19qkCo zS2u_{Y7qbCb<{8n=XYn^SsjhT$m(cT7^_XxUf0q6VWc{G%zoF=^EOmR z?*}{05AbGnw8?==({;3s4b@T8VC$RXomX%>Iv=BInGe6`g^^nO0#Lo=9!NQV2yJ$( z`ULK@ngBHdeGI9dzJT1fa$n(~@TrbB4$5PyiQ9wc)}TVwk&~Kk4JlNIAO-R>Sl zyH@u4;Px9z`+};yA&};eqaYnZj>~;BA?18dP<-XnqvZ{_U5J|ksry^GUM1D|k}zDF z+i|~@dgYfG@nd<_+Qx@Q9KJz21X^AvD6iz97+EEc3PYusXs;{zgfLPi&jgj#3#@Sd z7T8cFFAsJ)_uDu@%RfhveU$LPVUl|syH*C(_PyPz%-@33EKxi>P|n(r z^3f>B5pREN#Px3a`(3>-vK4v1Fj7m}KhW|QCWRuNE@}t#6-GAa{uqWeKjDt2?9yyI zIgIR&W^W&cH9O#rN8r*Nh!H=OR`CxHBPBb`e(y3ShY?|4>rhlwTJ%{}xcK)?H{qY+ zqOjusJv+5LX!6KOlUt4*Sw8l}mc2$!K4!{k zA2IPiEumi1#+Q#9GkkK(45Ac+)occ<*$ht2X0V#ge@+qe8XP#feB#K-MMcA=3>;oQ zwtP~H(KO`Y!{c5KpEPpH$SjYCOqeuwM2q1QCl-|;-gESX$y4?lcJ#>MQzAqGS01IM z$-95_hB1?)0Z!SseEgWBCPXBoqx*!u$JjBW#*ZA~NP0|~R6fmVSBmN1CQxx(_MbFi zD(W)g`L{V7T~wt~Lm2 zIegNXiILaA!^?+{9yxgOw8@huOqeow%=qDBj~g*^@USscCJ!zjJ9f&nsIrJ6hJayF ztSOVmOl>MlsxRkoW&n3}eR(8$5h$`S?+TTkn<^`Trut|E_+>5Qi8tu6*i{a_;aDiu~WE z_U~49Dl++vYWt7G;E?~Z)OD->pF~h8`%zKa<;S(?TEmB@YkkIyoiZ}6j2%0yeE2bOF@}Ku(Fmc7|D9O# zuVvh+U=)}=qhY#;LVf^tUr}iwLJcVTT$did-Y2xUSlSclVEFU;J`s)aK zU<_3;0Q`4{sx%Nd;=RX50mhe)trX4wr~qk*>!O?AE#~$3Us*|;NGV>(WRX)2o>Jx) zCP#;n4qzwXkHwxAm6OBpI^*k_;r^+lRI8r)wZbS)e`l>p80m>k7f_0Qf*kPj+M$g< z45WqA3XE(K^LQB6oYgAa=N26KHy9_U1Bf3nv;(Q$I%tMt-zqpg(bxfWk_fV=QU~Mq z`|L-6isD=pGgPqKKm~gw$hoN6CVVqfF4~8YUOMX>s6hP#EN$64q-PYDYU^=6Mz(tU z(uOyC#eGQHLDn4{s(49Ihb%iBq99(UHVh+e2U>wTRqhEX*8_qa#gd@Hvnh&o7}-+y zE7aam`~tS+4p%=ki(=a#M{!(G;l&ii5{xX0dr&)yN5Q>_;uT1__$bIxd^jjV-CE*; zv^rc-_%Gk>7Dj3beZlrbF#^(~tYe`5_+~+h_WB@4dqYs+iWKb&2)bw)`#R`nW^d=> z6+=S&LlS?6kuA2r4vNkw%{zkf|1GJ2_wlr2(}M?KPE&{-XAm$bardS zf{IqIu6qPVwzoJYjC5*0Df!hyPOb3Is_dUv;a?!XJE0{Sj_wS0s-2FHgmx&^gMjPc zQ__q6H)Et@^+(LwSw3r4dwMN6J>UBntV?tI4r&Pf4e1PGw-XeZhq*n%NXOlKR`w6T zUtf7WOcLT4YK43FDBM0kA8)@8&}Z0C(Jl;j(Jsb&UYRTOeM|g@AJ>PG9`Jpi{7SZX zYVNNV7{&LqlC3KIJ5=`XVngY+40gJ$@!p!!orY004c=#mkq+;#02@)ln;})_>u9sj z3V#}gAlP+@gaEJD#iid!UB1>T;EYrhcU7m~PZ7)iVr=odHp1v=(4 zUJdcCr8>oVDLD1&ZC(qkrHI=GT3h}7(Ed>5A)tL2WxbS(?qFAmdj(oN;JXlavG!_s zMmiS0F^u%s^$z^mO!feNpG-dn>b`sXl#J2ht347_>K6M?rf+ zK{_Y79a0~8B*@wPGDf+=x@x}Vd&cwJc<|tC9?rvE&y2%B{l4iKNZFhO)s6p3WpkMxqM2j3JbrcdG#uctcTtlMv8q&pku!s#doR2y^5l% zZtR=6V%YFdTvhB^y$qwI%p=}aVWiXIJHbNySF$X~Q7;cFe3|B+zcDsVKd7oQB9uNE z+#)b?=p)wc@O#PE1k~|!D-@@s$N$|h(uZ<;SEvVC<74r18_LbdVCUw&b0g%}Y4uz4 zyolY;ei{eHYdB@$DA^T`<5ReY80wePAy7I+Jv`VkKY4z5<3w4(PMa%<&m%v5OzJ*GsdTSOSMVvl_{u{TSBW!wcR>;kQ@``94MrsQ!az+0Ip@;!e>!ukPSudIuM(RcL16^we zT@#9@Qy+O3BVLJDoqQZddT#Uus0HbFkfQ#>TCZWMUK?&dfY=n&uYR_K6l!}&p>__6 z6dbAzZing!DpYq!q4tCnYCuqg@)B`)7|#3S*M1c zoqIt&3|@gCdnw^b-2NfPYOqH9SMo|_#oHB%HM!z56f;s;{>F&Es7%mpuFrC~T@Z_T z-QDXjPD!=99wWU7@qKW*>Gf_1clNc;wqc~`yMd~Uv6U4wDimkuihHeaZT&M0*VbRS zA1e0jKkP=O<2QSz+Ne+7&j?Q2s4GB?-7i9F6hA{6pEkNFi}DgVYvp2y#+41r>fvZE>SJ!pMH$x_KC>{dG%zRmuMN-Bk~lghthlm5 zaYL?n)d~lEGYqHS;_gWDowN^_i?MClHfmIthLQF$H-Ku0OCY_5^)RISxf0qr{wsME zQs7ON1*t{u804ht1{MBHNlnM7nzp*FFWt?sf4<>R^XnOyl& zh4TFh<@#LteXjfsWwzCAdk@K|c6$XnyGL{@iQ}!*fo6q~*6Z1z3C^sdv+gEVRf_HdTKiVrBsTcBHc<~8y*4Wf!;)Hb z2g%{!(DHVQ1(iBNfN!G;`fwW2NWB}3(6b!_ba=;7adC#_cUpdcQg}b*o>%^e{cfvQ z(C>MvPZQNVzD_E}y!njUjL<88lhXb~%%mcDI28DOJf*NCjPP_-j;PS8laynPNh%|U zfG`=`OTCVzf&Pra^#}V}2GEO+NdkA4kKjY6F^7%Bo(XEEdRlBzZ@&k8FCL#%M#VoRwk8V%Bz9+w_f;r5Rd3$n}Qs8 za}WpfO3Mry(G-t4RJ%@HO;nw_jimdqgxY8_{BpWI&0=+|SYw4>Uc64XLwlE~JN2a% z9&CLlx6+a9!mx$Ki3xWn<>mJL{tDpmm|4|sKSI~0-zjNCe>Cf;Jq%y*J=t($rkR5O zo<=m&EUh2Tbpa?!R3BE3RG!(mFG;yji=>QfLDI0MN9;QeM14>EMG0|(*$al_KbdaK zG*kT7(THZ6Jp@DE)$~R)&DKQT5A5|!v(I3Ja{aCSe&$Z=uTxcW%Yq$eIeO8TtFX4E z5e>Av*-)o)O03VK7qhFJMoT=q>Sh@7-es>l+y`KUD!GcNyZgKq4&+T6O4nwv)3t?O zO#D%ZSp#51_hKN7a4&`u%Q8pDl5__ONV-2WNxB!;f_T0HyNPa>gM~!Z`=um3k*p+X z;?L^X_W?;M{|tl<-ml{_bKrIgivpRB68IZW{3!*)S5um9O#D$Uccl@{uF8cG3c~nU z-gX8Q8^eR~U>eboegupl&j&j6rk6r7J>5@reP~4T{xE`k5YY14i=aTOp~9I(12fi@ zvVkz7tR?E6TmbTkeO5rbr{9%M2WM8)S+jx4+4%q~Z=@0_QhV?mji?=a8Ahn>pAZ$r z7LZT8b1k%ulGT})Z;_*Z=sg&UWHZ3p^+Pl9emh)t*AoSH+tnKHpwa_I$g&e+`2jN^e=9AyJJaDHJYifI)o*H!UjvP#~MAm5BpU&A*qJgD48 zBO0jQ4I@rnHMHM*$Bz+vgxGeotB?+1bI zDHHStkT+2~DXfdEodu&H3@jVcNN0?lVmcY*^Lo>FU{dc>rh>y1-}$lNCJOfT z9jMUHK( z8}-l&==LCH5m5zy8A+va6-jN~GbBC9y$M2G?yKIT+XZj~QGL}$lFmx!oJ0BcC-R4|ur4}InV8P*LvzFSxTeJ>2(<7l#_lDzYiEhYauCtKFUw9CZD z>3*$!G>xcmpUA11;ek1xo7sno&x8Ej!tx7K^4YQcVk+vopzc3Vf%|oDYZ=U+cBBl~ z=I-FIeExW%+KE1r>cR)m>Dx9YK0ZyygL|G0Jx|_Fi3i^g5LK9$kyI_7C28REHVBvP z#f%&1Zmj6OCaM-@3<7C5Tml5Gi&{ClJ<_jizl(M)`kl^(M71sLNL6^rT}XQJKZc~j zmjyz&e!DV=ZtnpzoT#q(d@Ef3X4CE0(U%hy!#pb*De?EyeVA}5u?u5fNz$vSw@E$e z+eA|J{uzW@;R{L*hTEIrlq5E!wi2l^=|Ga+LDh?Wtw{>A8|ftKjwfZ2dXoxB{Yeu@ zr;$pN&H~~3oqt!@&}CmoiSOdgMD+`IkaYM_OZ{TuNxHk}nx7{g$Bp_2dNcC{~+v(J? z#3LEaWYS@z8%Tplt4O^_KY?(*bF=d4a5vQXhZ5^jkx$Zhy9pqq&Ar7Gx{s1}CNZ1Z z%SnpsVUn8G6(GdmkAQ3FcJut2{0iV>iG@XmNbT#~6Gl*1pg$w*Vpg4g7y9}{mGAyk zq=(H=hS1$rA&w@V%G6y#8cced+Ki~u)7{Lm4+W}>??4AD{RhfFfT*F)5G(8+O}A_J1Y$$Rem_(CD9Aim!=eXagr%yF5*5imsfhLpf7kMk4E{48(95K6D0gH315tfQI+r2n z(YzQ*_q9U29wA!3paQYuH>!6R}SX_b#E?@L%xF2(n&qQKSiZq!>x~$ zn_}f=D$96GTODg3GHWUy>HrmHn|Ni!pr`FbbAAg2Z?SnNOhR97fEW0UL&cBd;$t@4l>SAP)cxd zaCp^JhFFj1S0m{fn~{{Otx27Ev;*lBQcsdX9|#JePaPs-Z-NqdDFq-Qo$`T7z@=zG5-?!~Bo2@1uSIW|_5B1*9b2w^mlVn4cFvZ@f3*|iEQ8m1J@ zV?`S)+|r#0LxJVm>(_uID0X)?hNz*>M3P#{E39=0_rOpHE9`X$PgCp=UL-1n*GO(_ zt@R^Ei8G_TEd@%vp5`0TiAMD1_$U~me>s7u5$th7mfy-Nr|ulmR8~ z3EksGH1PgGp#p-&jCWIk=DHjvf?W>v|dqznc1llA6kbuVZy$LLqfU8VQd9 ztAWFh%GM!j5ZuUWe?DnJw?9lBMr_PHKZ2x}T-`|;)(<8rZD)ewv|UUCFHU*dtv;aE z=UK4x^m%$0hTNz+QRjLsd~F!vyW&B_dJN=Xk{&M)wbsuths&U#8>zsZPCtr0&>9Uy zgeT!mU^4A&y_5dGU)cEXUh(#KFRjEvl)@|Met&)2R?Dt-b|Dnjqj>EXzKQQ*5YgJN zZ9~}ZTCP8cal888S^KqZY&*QaW73M4a zh5Lv*u!|Sv6=Az@QClx6Ll9iJHFU)A(ZdFKWfd1sq5as}9aen)R;vY~TPs5Vm<|0G zmRv2FhPl$1y`f(IeHzgxyH8<+{%#}Ct?UyQK!KI*lDEH5a(~`@mj<3#*>-*m4v(~D zXD}3>d^VfZ_^Zj4Zb>1(n*JjG%2u^NEw`ud)`t;V?xsZbUWbts%@HK^8a+rg81(>> zx`uoZ66AiofNnozpGVXvXckHD{4XQvfqpKjDnnWr>z0BLQeAb2E9v&@#nr@i)UF|E zyz>dQ(QM(*XpHj*hRjKjcpy*|h`!7nN(mZaLSY3kvTATEb}kRk^kLhqvrjFvj#qTE{rYX^R(Sn)yeNE|rO-V_XLH>pHVKHBi5-BY>s+6X$!*)L&+KbO@4nBccFrO zLVoU$sC2i>?$?iYF?KD#vzj?toT@%)$BR>+?Tg;| zlQ2nhGmYq5<}WZpzm$<3b@S^7L4i?$p0`R2mfY)z%fbkwf<1xm*u(Nvb;>(hp4wt4 zLc?>K#OKn81{~9DsPmo!4xhGeB&wHROwzOV3X-0%zXBlyPtd?RtdOE;5v;QCzh@Dw zlKU@P1RJdsRjmKQm7;r3#64S^^fa+HFv23qc0d=XXjP_C_J^x7rP$e3nG)}4Rc477 zkh(?b9@X}tf!~ePYn9VrgqLa~gJ0FJAmu-=uzya#*VbfQsmi z+a|jG{wVP>P$Tp`K(V44-BvV-744{qmhP;hk@RwjFTuWo=C8nu_nB&sM$w3Vo$D+Z zp=F#xRC{x;6>e|tgW*sry^0fW3ZWcN13!YP?CuRCe7o;wzt0^7!{?5s`-Si}aKURj z*9C47jPTU5n5YyyOhra!W!>Y)>Gn6^=VQeyR5TAS0Nkd(5kNlMubB&Fq=6}dVu1T^`hG;8%R{jhLV)Be3DW&j--^GO;XBcla#W{NlMwZB&F;ol2W#i zq?A2GQpz49DP>QRl(OeQD2Xn9FVkI3H})-}zT3S|s=yNRHA&N1z9-e9FYQf`W_T1O zDP_BnbaYRWzJpXGHRl=CNSeD?CqCK;g#7WF`4)8h>(*gJJ?9@mO7i^fBwg+CB;`+U zl2Y4`q|}ZeDYaurO3y@+QagpD)Ls}Ly#y4e;wrkGitC9=#VsVI;!cu6zn`RU9FLI7 zFpVqXqfe7+()S{%9_clb+Q)ZD8W(**(%XkkAZ}};+i>MuFz}jzr`-v5Yx6U92}sON zBolNW^e&8MVOr;*Fv2(7E=0w0B1!LEP9^ES=aMw}V+^SQLz+lZ$(sT~Gwb&*7t-xd zuh$Tj6L(P&t=M^hZWp1IM18wlO;Qf6q1N+KU#HV^CO#&XWV{=7JWQkBOt-(mCf5U% z4JAQ{%?pV3qT7n71AV< zLYhiaNHa+a=~9wHx(0-hoVuIocA)nW71DB&LVAj%kX|4uq*qA_X&ne5`QERmk?_2{ zFDdc5svn8!JBz;u(s!CNB;C2{AcRmv+18M5C#wxnQ~WxUlxICjD!HeSbjkz}KACvk z$s`)ccHX3!l=$=hl|+SbGf5%bK~f0MfzV$&gf(;*lmB)4qi^`{((iKc8BrJpLTbtI*2TW`58zYHDoIj%TZyE)P=lnp&;S&dmF9GpQSNjm7H62p zkdmYcB;D2XKsd`6Hj{3buyL=5!k4T%*pV#s%&? zx}#4u(`evF;TX~Elx9BAg)-WcLy6k?Jvnrh|7Ck}47dS#@n+a#We$z#h2mToA@}YA zI%n>o;;|s#V?K;>VFT^`V1y+$RfrmYH>4tZPHaxMr`xw7s>MB$R0;nwj-?jstkjkD zrGY7VJTQn7yN3~V-gv7IlzMt0^+hT5yuzAAH1G<6AwCNB^+a2e$ldowNdD8dBq@C> z5_Ls!kMmd4cm}scWp@p%P#r!ZDlfhy>2kg!sW$yW(q!Fow}JM-zl;hb9j!{z<4J8& zBOYx-szW*=KH43Go9PO5Jl(E}gNcfJBuR0PB`Nd*lH$IEq`0q%kIpA4?%PO;dnu_7 z{$)H7AAJ@S$Gw(r$NdRWaeqxx+~1QFciQbB#a*7HxGRx#v^q&~*Ci?L!$@`TFQapO z^k`7LA;f!hyBGcz=u#AI)uHJB4O?}*ekW4+bJAtxu)CC1-eaOWj4)(8o~Y4FKaxhp zLrJypFJl}@Pk?8W4x(>1sUGQalHV?n^bCI&=};bBO6o{jNjieGhSZewE=f7_Eyx+R z8I+iu=>+$_yHJ92VT1&aAS%HVNlNfEk`jD5NeRA|bP)b!EF>wx_mY(0$4E->YLXKC zI!OtBm!t%5Bq_l^la$~x_e2RU2TDu{2_8cu+QnlEjF8|9iAwNQBqjJJk`jC`NeO<4 zqy#@nQi7i&DZy`%l;Dp^O7Lcq68tks2`+grND1DTqy*OkIfpARMjElDin_4>o-I{M z;z}}hw57^b$6;rb4QWZ$=SN|LsmM#TkeDy8oz$g)>RJMZ=UQ--R)L{P< zl13{7NJ_+bQU;SV1LRE5=c=G$?MOqLmbPNvwuyaV)-% z;zxscT}r$mCH^87KX4kB(_^Kr!gw1-xac2&j(bx+6mJDZz0okDh0vXB=rQ9ca2Tfd zwA-%~PNClqmpS&kl^X=Z;pfslDeNfntTmqB^E!+$m*#7t-VS{)g_4_g2AqEWDn(Q+ z*n^}@uS(K6%|Yn)eUV4oP{AHZ4%@k20CtKlr1!cYzdcBl--~0-ye=>Z5G4;_MH0h?k7RdC@1^hiOFLRUd~Du5}gA@+YalL@r%klkt)#m4L}I z80m|4D=Dvm!>5RMh;n{SQa)r(hypGGN=!-kRy3dy4Gf#Z2%~_OvHUJ7Fy&wAc-wNP z<2@U?%+0a>J9?J}eeH<~-rI{G1S4E#8~R-g+Y5O$oh(*(y}-_gUYNrhKesHW5k0p& z1tUDSyg+~S-0~*=W&n;J`Gz)>wgzD!)fIXRX z6DHHZt^_I!=feo^4rkf#7jl=;@8|cqL=}gHBwg52YNI#2D^uEMiHhZADxy7^-lE&H z^WG;aw9O>-Y{@Ag6|<5cT$bmQSEmu`UNf+-r8&LWOG&YuYKf;VQ1lyb9u8N(#K;c}lLAur-Gf z<~Ot32c=JQIq)u=9zUwAt) z?4@+S$X*p?t~GF@*_mu z;uWOgy!4l;jV5cpPq)kQr$k-OH&*ylz$O@uu;f)Z5kD>^%?UKp!xnJ!Z7B97V5Lf81CyWAlKWEd zB#o#cc@9SCAzvoepyDl3Bhve%>ZG4Y8n-nq1yTg9NJ`Ua5X01+n?@tUgT~pE_<{Cv zqRxBNYJX|nOt-hOs9!o#G$kqIp&*3p2D1Q$uV@n8m4m@mDq^rR` z_m*-v_q=rH#!Y)D{Jj*}A{ZfS7ZcT|FCiVmJXlWZNP3;5F>a!~&UeAv*M_P|Te4#A zNeV06hJr)!8BJ6H8&5&Bm&YY^S5-#dMy$*D9wRA>XN4>9G`gL(D~Vb&cq>WS{S`^g%=aW+ zTjRYVUo#L=<5sIR-LA!5W5ux~oplakz~N!|LnB)xZB$eI0NE$HKCskueO-V{mtN3VplG>zGNG+)wKvH^6kB{bo z;<#tg?YJ)^D(<-?#eE}5aW5k&?o}kk{Y-rHC6eO)l%%-7CMoXk>P!~R6Q zZ5&Bbxf*M&$07xEyK%S}=%D9N@mP5HZ$3pqyU4bI5k@gRiRxcYk(1ef21!Go2_$tX zmyxRS=-k+MKdC-_kC1ASUM8tyc`Np9Cbj0#pGgOk_Bs#LmQ;x(UvrWQX&aJm%rPY8 zS$~i(Yyc>6f0!aSod$+sDgrZO%`Cdtha2*kHGaZ*5=OZA=ZFe?J;;H-Pwo70Lk^o- zDDaDHs5H$3hi+sMQ8~Dnq#k-TNdd0|IpB9e*zk*&T=jefTU2ST4I_M$IGCt5xr-I9 zX}yA+r)H(pLt}M8Vf9QKO2?&?xQJXsRP1+xoTR%ceLd`-^$U%t0WCERYLDHj0Fl9N za2nF@o}y!6|FJ3mpu+yqDgSi(qlR@R45y*!Jh-v_rAAOk(ZDJmWy}dMLgM=n^?Wjj zRGv98jHG;@KvIt}gQQnk3u50bAnI?&Ukv$OOBTU!{CCogxsHl|6OCvQ^X}JWdLeHW z08-@{HMJsdOMCtCz8#Fv$8@pZti@?*#1)b#WbRO@i2^V zFCHhBWsW{W(j9n-r2F$8N%!I#5YJb9KhW(~F#QIgy0Se;db_h9Nex_;*w>Pzl(Yk( z`Sr-=WV(G3eSoSHJRbe-Z8i*FO+UJ$-@TnjBijCQDU47MUWnzjxDqN}9(I`5Lg6ag z(Z6R>w`3f-AbhNzOd~xrok_Sd98f_chmSxH6w*8ecFI=MyPt!sFc}N8ytPLYAWl?F z!^t7=sbJ;e^#F%(0}qD~UId2_-ltnPbyF<;j=n06Z1mX*)qAguhY_}&IESbq!*nY= z7=MLEm_+j)CDoLSABm!ja~PhmI50dN>`7E#QIVv3U6&+b8&Le{)`f02Eq&?F2z$qj zgyAb4MRx-yztp*mE^HmM2aJ&X{fJ6_6)T+lVK($kc@`y3{>4Nk@p2@>e&`V*2 zpr5B-8TM|heUH9XAsLrXRovb!W+jZUOVsnk8oaDEBt6fri+%5r)O~CKG3`oEi}PV* zcocFNIFzd+h$>gzDTvfp+fcc>nG%<)WkdzHN&?|Cbo!zBHKMA;J0z8>jU)-vrzr`( z^QB>gYEg~;s6^DIzozt!i5fN?Lee!IPi<66a$q=*2hqJYYsijjKrt=}nRf*T*E)#*MLW3rV%{S5Tby zB`>5@v6cbG{(b1LBmV(JJw?ur`H$BU1(v%sjdZI&Q+7@VD#-Jd^9JA7Dv z9)68HC$D49K>jLhM%va3Wp{SzD%Zm1;g@jx^he-X`FYv+#b*SFFPdAeyxn1dTW?{p z3qgbxp;=i&bA}GjJCnaW9sij1-x=Iry3TmnDzj}@GHUCq?2ip4@^VIv${CO~0>4MR zYq|fMRArr!n=|GwC5=D$9dZf3jGdn|C@*_RR{!C{M&)Pg7rp<=-55A#0Djk-x#vsW z>Nm>!|*SH zLlEeQ`k}?kM^pHh?&Q$y{K0=Ifc^|&SBlbKj~Rt9clfSEtrK_gs@eVQ;;D7(_Bo?b zpZ@(B#I7Ves(fR1IRu~i*OEVm!?9gSzE1p0asTxYvaoFjYT{&?n4-1dPr$>c6c<`hqdzHFrT3UQLnnIkn}RT4yArU)i$TO1CREC zQO^9%UNBP*LU