From 9030b4e98a22533413db5aad035d7774a1eb34bc Mon Sep 17 00:00:00 2001 From: Darragh Van Tichelen Date: Sun, 2 Jun 2024 14:36:16 +0200 Subject: [PATCH 01/20] WIP --- client/src/core/components/ClickGroup.vue | 58 ++ client/src/game/ui/tools/DiceTool.vue | 728 +++++++++++++++------- 2 files changed, 558 insertions(+), 228 deletions(-) create mode 100644 client/src/core/components/ClickGroup.vue diff --git a/client/src/core/components/ClickGroup.vue b/client/src/core/components/ClickGroup.vue new file mode 100644 index 000000000..6dd6c20e2 --- /dev/null +++ b/client/src/core/components/ClickGroup.vue @@ -0,0 +1,58 @@ + + + + + diff --git a/client/src/game/ui/tools/DiceTool.vue b/client/src/game/ui/tools/DiceTool.vue index dabeb741d..410e7d953 100644 --- a/client/src/game/ui/tools/DiceTool.vue +++ b/client/src/game/ui/tools/DiceTool.vue @@ -1,281 +1,553 @@ - +// watch( +// () => diceTool.state.history.length, +// async () => { +// await nextTick(() => { +// historyDiv.value!.scrollTop = historyDiv.value!.scrollHeight; +// }); +// }, +// ); + +// function add(die: number): void { +// if (diceTool.state.autoRoll) { +// button.value?.classList.remove("transition"); +// button.value!.clientWidth; // force reflow +// button.value?.classList.add("transition"); + +// clearTimeout(timeout); +// timeout = window.setTimeout(() => void go(), 1000); +// } +// const d = diceArray.value.find((d) => d.die === die); +// if (d === undefined) { +// diceArray.value.push({ die, amount: 1 }); +// } else { +// d.amount++; +// } +// } + +// const diceText = computed(() => { +// let text = ""; +// for (const [i, d] of diceArray.value.entries()) { +// text += `${d.amount}d${d.die}`; +// if (i < diceArray.value.length - 1) { +// text += " + "; +// } +// } +// return text; +// }); + +// async function reroll(roll: string): Promise { +// const key = await diceTool.roll(roll); +// const result = diceStore.getTotal(key); +// diceTool.state.history.push({ roll, result, player: coreStore.state.username }); +// sendDiceRollResult({ +// player: coreStore.state.username, +// roll, +// result, +// shareWithAll: diceTool.state.shareWithAll, +// }); +// } + +// async function go(): Promise { +// clearTimeout(timeout); +// button.value?.classList.remove("transition"); +// const roll = diceText.value; +// const key = await diceTool.roll(roll); +// const result = diceStore.getTotal(key); +// diceTool.state.history.push({ roll, result, player: coreStore.state.username }); +// sendDiceRollResult({ +// player: coreStore.state.username, +// roll, +// result, +// shareWithAll: diceTool.state.shareWithAll, +// }); +// diceArray.value = []; +// } + +function addSegment(seg: Segment): void { + const lastSeg = input.value?.at(-1); + if (lastSeg !== undefined && lastSeg.type !== SegmentType.Operator) + input.value.push({ type: SegmentType.Operator, value: "+" }); + input.value.push(seg); +} - diff --git a/client/src/game/ui/tools/DiceTool.vue b/client/src/game/ui/tools/DiceTool.vue index a287807f3..b4eae17ff 100644 --- a/client/src/game/ui/tools/DiceTool.vue +++ b/client/src/game/ui/tools/DiceTool.vue @@ -1,16 +1,15 @@ diff --git a/client/tsconfig.json b/client/tsconfig.json index 4199ae7c3..4455ec3e7 100644 --- a/client/tsconfig.json +++ b/client/tsconfig.json @@ -5,7 +5,7 @@ "strict": true, "jsx": "preserve", "importHelpers": true, - "moduleResolution": "node", + "moduleResolution": "bundler", "noUnusedLocals": true, "esModuleInterop": true, "allowSyntheticDefaultImports": true, From fe29aa58a4b84a2e04f36f21ceeddac60cdf8b8b Mon Sep 17 00:00:00 2001 From: Darragh Van Tichelen Date: Sat, 10 Aug 2024 19:24:13 +0200 Subject: [PATCH 17/20] Upgrade to @planarally/dice 0.6 --- CHANGELOG.md | 10 + client/package-lock.json | 140 ++++- client/package.json | 7 +- client/src/apiTypes.ts | 1 - client/src/fa.ts | 2 + client/src/game/api/events.ts | 2 +- client/src/game/api/events/dice.ts | 14 - client/src/game/dice/ammo.ts | 22 - client/src/game/dice/environment.ts | 194 ------- client/src/game/dice/state.ts | 112 ---- client/src/game/{ => systems}/dice/dx.ts | 15 +- .../emits/dice.ts => systems/dice/emits.ts} | 2 +- client/src/game/systems/dice/environment.ts | 120 +++++ client/src/game/systems/dice/events.ts | 19 + client/src/game/systems/dice/index.ts | 39 ++ client/src/game/systems/dice/state.ts | 21 + client/src/game/tools/variants/dice.ts | 149 +++--- client/src/game/ui/dice/DiceResults.vue | 141 +++-- client/src/game/ui/tools/DiceTool.vue | 497 ++++-------------- client/src/game/ui/tools/Tools.vue | 4 +- client/vite.config.ts | 3 +- server/src/api/models/dice/roll.py | 1 - server/static/extern/js/ammo.js | 41 -- 23 files changed, 597 insertions(+), 959 deletions(-) delete mode 100644 client/src/game/api/events/dice.ts delete mode 100644 client/src/game/dice/ammo.ts delete mode 100644 client/src/game/dice/environment.ts delete mode 100644 client/src/game/dice/state.ts rename client/src/game/{ => systems}/dice/dx.ts (86%) rename client/src/game/{api/emits/dice.ts => systems/dice/emits.ts} (74%) create mode 100644 client/src/game/systems/dice/environment.ts create mode 100644 client/src/game/systems/dice/events.ts create mode 100644 client/src/game/systems/dice/index.ts create mode 100644 client/src/game/systems/dice/state.ts delete mode 100644 server/static/extern/js/ammo.js diff --git a/CHANGELOG.md b/CHANGELOG.md index 357c2c907..6a70860e4 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -30,6 +30,16 @@ tech changes will usually be stripped from release notes for the public - shape bar is no longer visible, only hex is available in hex grid mode for now - Ruler tool: - now defaults to sharing with other users +- Dice + - non-3D mode + - option to use a click interface to build dice strings + - extra operators and selectors (e.g. keep highest 2) + - 3D code & assets are only loaded when settin "use 3D" to true in the tool config for the first time + - 3D physics now uses havok engine instead of ammo (babylonjs upgraded from 4 to 7) + - history & result UI slightly changed + - Option to share result with nobody + - clicking on the notification of another player's roll shows the details + - clicking on a history entry shows the details ### Fixed diff --git a/client/package-lock.json b/client/package-lock.json index 5ad3e400c..d7cc9aa84 100644 --- a/client/package-lock.json +++ b/client/package-lock.json @@ -8,13 +8,14 @@ "name": "client", "version": "2024.2.0", "dependencies": { - "@babylonjs/materials": "^7.19.1", + "@babylonjs/core": "^7.20.1", + "@babylonjs/materials": "^7.20.1", "@fortawesome/fontawesome-svg-core": "^6.5.2", "@fortawesome/free-brands-svg-icons": "^6.5.2", "@fortawesome/free-regular-svg-icons": "^6.5.2", "@fortawesome/free-solid-svg-icons": "^6.5.2", "@fortawesome/vue-fontawesome": "^3.0.8", - "@planarally/dice": "^0.5.0", + "@planarally/dice": "^0.6.0", "mathjs": "^12.4.2", "path-data-polyfill": "^1.0.6", "socket.io-client": "^4.7.5", @@ -728,19 +729,87 @@ } }, "node_modules/@babylonjs/core": { - "version": "7.19.1", - "resolved": "https://registry.npmjs.org/@babylonjs/core/-/core-7.19.1.tgz", - "integrity": "sha512-3KIs7r69wsCNedN56EvAyOJkKNumWt/PWtGvOnTuVb+0WKFvj1EfldrcA27332fXUpk0ssg18K0nLnRSgBsftw==", - "peer": true + "version": "7.20.1", + "resolved": "https://registry.npmjs.org/@babylonjs/core/-/core-7.20.1.tgz", + "integrity": "sha512-gVsU460ZXH0Xb40t9Y8PkZhJ6ZQlAqHPG8vP8/mEuiURFm64v78s+IXG/hb/GQT1Wm5IJcX8MvG0+WWbO2xLbQ==" + }, + "node_modules/@babylonjs/gui": { + "version": "7.20.1", + "resolved": "https://registry.npmjs.org/@babylonjs/gui/-/gui-7.20.1.tgz", + "integrity": "sha512-AqOYCdgo4Z05z6O7geb0m1TDXLi/gKbTD84X2kzce0Zaxg5HEOOfXXPmkAtLu093ycsaf9Jw+ILG8i3qlFOD9Q==", + "peer": true, + "peerDependencies": { + "@babylonjs/core": "^7.0.0" + } + }, + "node_modules/@babylonjs/gui-editor": { + "version": "7.20.1", + "resolved": "https://registry.npmjs.org/@babylonjs/gui-editor/-/gui-editor-7.20.1.tgz", + "integrity": "sha512-JDNEt6U2UJxhkN9JOoiDpQqhU6rxFAJaG99tcl/32+YuHOZgSoR1H51irq+tDALWFmm3+sPkK0zp9x6I7fJQ8A==", + "peer": true, + "peerDependencies": { + "@babylonjs/core": "^7.0.0", + "@babylonjs/gui": "^7.0.0", + "@types/react": ">=16.7.3", + "@types/react-dom": ">=16.0.9" + } + }, + "node_modules/@babylonjs/havok": { + "version": "1.3.8", + "resolved": "https://registry.npmjs.org/@babylonjs/havok/-/havok-1.3.8.tgz", + "integrity": "sha512-FD6fWe4q5Hu4j9ykoDWQxY2Yw//ftxIaULYhVwq2mYGR4YjSsE1hXCt4IjukJGo/SMgp4ZOoJjZysSPxGJwAWg==", + "dependencies": { + "@types/emscripten": "^1.39.6" + } + }, + "node_modules/@babylonjs/inspector": { + "version": "7.20.1", + "resolved": "https://registry.npmjs.org/@babylonjs/inspector/-/inspector-7.20.1.tgz", + "integrity": "sha512-R5h5GHXv8FjVibETJX8kwXSjidw4Bo5umhZsjl+Dc9FLplI9qQ3rmV/3ApLmKXtB+9R73fTaPBTmM/CD3++l6g==", + "dependencies": { + "@fortawesome/fontawesome-svg-core": "^6.1.0", + "@fortawesome/free-regular-svg-icons": "^6.0.0", + "@fortawesome/free-solid-svg-icons": "^6.0.0" + }, + "peerDependencies": { + "@babylonjs/core": "^7.0.0", + "@babylonjs/gui": "^7.0.0", + "@babylonjs/gui-editor": "^7.0.0", + "@babylonjs/loaders": "^7.0.0", + "@babylonjs/materials": "^7.0.0", + "@babylonjs/serializers": "^7.0.0", + "@types/react": ">=16.7.3", + "@types/react-dom": ">=16.0.9" + } + }, + "node_modules/@babylonjs/loaders": { + "version": "7.20.1", + "resolved": "https://registry.npmjs.org/@babylonjs/loaders/-/loaders-7.20.1.tgz", + "integrity": "sha512-yhw4CwoJLnfNX6rlbN9jyEhCATuuCs4qvgWsYF8fxr3wOLUld/vwmtvhd6SwOs4mK61pq3lggS9AfrCtCllqnA==", + "peer": true, + "peerDependencies": { + "@babylonjs/core": "^7.0.0", + "babylonjs-gltf2interface": "^7.0.0" + } }, "node_modules/@babylonjs/materials": { - "version": "7.19.1", - "resolved": "https://registry.npmjs.org/@babylonjs/materials/-/materials-7.19.1.tgz", - "integrity": "sha512-Pd618caR9mVpyB4KFnwBTCo4gXSeQU3OybEFUwzKX26/xDmU/BqhvV0yVtIE36SkkxviAUlQif1lJMGuO6w/yg==", + "version": "7.20.1", + "resolved": "https://registry.npmjs.org/@babylonjs/materials/-/materials-7.20.1.tgz", + "integrity": "sha512-b+8lSwYDC4xiJ9dwiYrpIBsne2nWipxNd1eUQoISMDjId4MRiE0tLNL9Kpm6ba8/PXvjNF7YkeaQlsq+OEZUfA==", "peerDependencies": { "@babylonjs/core": "^7.0.0" } }, + "node_modules/@babylonjs/serializers": { + "version": "7.20.1", + "resolved": "https://registry.npmjs.org/@babylonjs/serializers/-/serializers-7.20.1.tgz", + "integrity": "sha512-ND5L0nbu9r3i3oBDwJ3l7GHTKl9YVQtmKO0n2un/fg4BTo15zBISbJaviqCmd1+qkzh9Z18DvgXoW7+pVwzaxA==", + "peer": true, + "peerDependencies": { + "@babylonjs/core": "^7.0.0", + "babylonjs-gltf2interface": "^7.0.0" + } + }, "node_modules/@bcoe/v8-coverage": { "version": "0.2.3", "resolved": "https://registry.npmjs.org/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz", @@ -1673,11 +1742,13 @@ } }, "node_modules/@planarally/dice": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/@planarally/dice/-/dice-0.5.0.tgz", - "integrity": "sha512-cryL9VQbfr2D+28wvMqtaIKUrBOaZx7gabBhbjYEKEV9X+nVWkIwX3UQQQaPeqjfvvAReGSc+230SEhE8ptN4w==", - "peerDependencies": { - "ammo.js": "github:kripken/ammo.js" + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/@planarally/dice/-/dice-0.6.0.tgz", + "integrity": "sha512-hY2OXW2aCiUKuBUJxJA0YAfCqYZ55bzGV8/Oo2zJ2duWxEjMwWXiC2xmCNANHQ+Axs8dDU6RbRVb/fY+xZFzUg==", + "dependencies": { + "@babylonjs/core": "^7.20.1", + "@babylonjs/havok": "^1.3.8", + "@babylonjs/inspector": "^7.20.1" } }, "node_modules/@polka/url": { @@ -1914,6 +1985,11 @@ "resolved": "https://registry.npmjs.org/@socket.io/component-emitter/-/component-emitter-3.1.0.tgz", "integrity": "sha512-+9jVqKhRSpsc591z5vX+X5Yyw+he/HCB4iQ/RYxw35CEPaY1gnsNE43nf9n9AaYjAQrTiI/mOwKUKdUs9vf7Xg==" }, + "node_modules/@types/emscripten": { + "version": "1.39.13", + "resolved": "https://registry.npmjs.org/@types/emscripten/-/emscripten-1.39.13.tgz", + "integrity": "sha512-cFq+fO/isvhvmuP/+Sl4K4jtU6E23DoivtbO4r50e3odaxAiVdbfSYRDdJ4gCdxx+3aRjhphS5ZMwIH4hFy/Cw==" + }, "node_modules/@types/estree": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.5.tgz", @@ -1977,6 +2053,31 @@ "undici-types": "~5.26.4" } }, + "node_modules/@types/prop-types": { + "version": "15.7.12", + "resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.12.tgz", + "integrity": "sha512-5zvhXYtRNRluoE/jAp4GVsSduVUzNWKkOZrCDBWYtE7biZywwdC2AcEzg+cSMLFRfVgeAFqpfNabiPjxFddV1Q==", + "peer": true + }, + "node_modules/@types/react": { + "version": "18.3.3", + "resolved": "https://registry.npmjs.org/@types/react/-/react-18.3.3.tgz", + "integrity": "sha512-hti/R0pS0q1/xx+TsI73XIqk26eBsISZ2R0wUijXIngRK9R/e7Xw/cXVxQK7R5JjW+SV4zGcn5hXjudkN/pLIw==", + "peer": true, + "dependencies": { + "@types/prop-types": "*", + "csstype": "^3.0.2" + } + }, + "node_modules/@types/react-dom": { + "version": "18.3.0", + "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-18.3.0.tgz", + "integrity": "sha512-EhwApuTmMBmXuFOikhQLIBUn6uFg81SwLMOAUgodJF14SOBOCMdU04gDoYi0WOJJHD144TL32z4yDqCW3dnkQg==", + "peer": true, + "dependencies": { + "@types/react": "*" + } + }, "node_modules/@types/swiper": { "version": "5.4.3", "resolved": "https://registry.npmjs.org/@types/swiper/-/swiper-5.4.3.tgz", @@ -2668,11 +2769,6 @@ "url": "https://github.com/sponsors/epoberezkin" } }, - "node_modules/ammo.js": { - "version": "0.0.2", - "resolved": "git+ssh://git@github.com/kripken/ammo.js.git#1ed8b58c7058a5f697f2642ceef8ee20fdd55e10", - "peer": true - }, "node_modules/ansi-regex": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", @@ -2862,6 +2958,12 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/babylonjs-gltf2interface": { + "version": "7.20.1", + "resolved": "https://registry.npmjs.org/babylonjs-gltf2interface/-/babylonjs-gltf2interface-7.20.1.tgz", + "integrity": "sha512-t+vUGmeUcwvBVCLJQR2ERkJBoopGcdiuKBQqdj+dJZk/QDR+/XRMlHWe15ySM0WgMs+LuhRMo27JOoYjFmVnJg==", + "peer": true + }, "node_modules/balanced-match": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", diff --git a/client/package.json b/client/package.json index a9f0ccd41..fc5f5f963 100644 --- a/client/package.json +++ b/client/package.json @@ -18,13 +18,14 @@ "coverage": "vitest run --coverage" }, "dependencies": { - "@babylonjs/materials": "^7.19.1", + "@babylonjs/core": "^7.20.1", + "@babylonjs/materials": "^7.20.1", "@fortawesome/fontawesome-svg-core": "^6.5.2", "@fortawesome/free-brands-svg-icons": "^6.5.2", "@fortawesome/free-regular-svg-icons": "^6.5.2", "@fortawesome/free-solid-svg-icons": "^6.5.2", "@fortawesome/vue-fontawesome": "^3.0.8", - "@planarally/dice": "^0.5.0", + "@planarally/dice": "^0.6.0", "mathjs": "^12.4.2", "path-data-polyfill": "^1.0.6", "socket.io-client": "^4.7.5", @@ -79,4 +80,4 @@ } } } -} \ No newline at end of file +} diff --git a/client/src/apiTypes.ts b/client/src/apiTypes.ts index 02ec1a322..4f9473a46 100644 --- a/client/src/apiTypes.ts +++ b/client/src/apiTypes.ts @@ -469,7 +469,6 @@ export interface Viewport { export interface DiceRollResult { player: string; roll: string; - result: string; shareWith: "all" | "dm" | "none"; } export interface FloorBackgroundSet { diff --git a/client/src/fa.ts b/client/src/fa.ts index c7d32cade..2b81850d3 100644 --- a/client/src/fa.ts +++ b/client/src/fa.ts @@ -30,6 +30,7 @@ import { faCogs, faCommentDots, faCut, + faDiceSix, faDoorClosed, faDownload, faDrawPolygon, @@ -101,6 +102,7 @@ export function loadFontAwesome(): void { faCommentDots, faCut, faDAndD, + faDiceSix, faDiscord, faDoorClosed, faDownload, diff --git a/client/src/game/api/events.ts b/client/src/game/api/events.ts index d7e07f4a1..734e5fa9b 100644 --- a/client/src/game/api/events.ts +++ b/client/src/game/api/events.ts @@ -2,6 +2,7 @@ import "../systems/access/events"; import "../systems/auras/events"; import "../systems/characters/events"; import "../systems/chat/events"; +import "../systems/dice/events"; import "../systems/groups/events"; import "../systems/labels/events"; import "../systems/logic/door/events"; @@ -12,7 +13,6 @@ import "../systems/room/events"; import "../systems/trackers/events"; import "./events/client"; -import "./events/dice"; import "./events/floor"; import "./events/initiative"; import "./events/lg"; diff --git a/client/src/game/api/events/dice.ts b/client/src/game/api/events/dice.ts deleted file mode 100644 index c38d24287..000000000 --- a/client/src/game/api/events/dice.ts +++ /dev/null @@ -1,14 +0,0 @@ -import { POSITION, useToast } from "vue-toastification"; - -import type { DiceRollResult } from "../../../apiTypes"; -import { diceTool } from "../../tools/variants/dice"; -import { socket } from "../socket"; - -const toast = useToast(); - -socket.on("Dice.Roll.Result", (data: DiceRollResult) => { - toast.info(`${data.player} rolled ${data.roll} and threw a ${data.result}`, { - position: POSITION.TOP_RIGHT, - }); - diceTool.state.history.push(data); -}); diff --git a/client/src/game/dice/ammo.ts b/client/src/game/dice/ammo.ts deleted file mode 100644 index a857f68d0..000000000 --- a/client/src/game/dice/ammo.ts +++ /dev/null @@ -1,22 +0,0 @@ -import { baseAdjust } from "../../core/http"; - -const loadScriptAsync = (url: string): Promise => { - return new Promise((resolve) => { - const tag = document.createElement("script"); - tag.onload = () => { - resolve(); - }; - tag.onerror = () => { - throw new Error(`failed to load ${url}`); - }; - tag.async = true; - tag.src = url; - document.head.appendChild(tag); - }); -}; - -export const loadAmmoModule = async (): Promise => { - // console.log(wasmSupported ? 'WebAssembly is supported' : 'WebAssembly is not supported') - // if (wasmSupported) loadScriptAsync(`${path}/ammo.wasm.js`, () => doneCallback()) - await loadScriptAsync(baseAdjust("/static/extern/js/ammo.js")); -}; diff --git a/client/src/game/dice/environment.ts b/client/src/game/dice/environment.ts deleted file mode 100644 index adeaa6863..000000000 --- a/client/src/game/dice/environment.ts +++ /dev/null @@ -1,194 +0,0 @@ -// import "@babylonjs/core/Lights/Shadows/shadowGeneratorSceneComponent"; -// import "@babylonjs/core/Physics/physicsEngineComponent"; -// import "@babylonjs/core/Physics/v1/physicsEngineComponent"; -// import "@babylonjs/core/Materials/PBR/pbrBaseMaterial"; -// import "@babylonjs/materials/shadowOnly/shadowOnly.fragment"; -// import "@babylonjs/materials/shadowOnly/shadowOnly.vertex"; - -// import { ArcRotateCamera } from "@babylonjs/core/Cameras/arcRotateCamera"; -// import { Engine } from "@babylonjs/core/Engines/engine"; -// import { Vector3 } from "@babylonjs/core/Maths/math.vector"; -// import { Scene } from "@babylonjs/core/scene"; -// import { ShadowOnlyMaterial } from "@babylonjs/materials/shadowOnly/shadowOnlyMaterial"; -// import { Color3 } from "@babylonjs/core/Maths/math.color"; - -import { ArcRotateCamera } from "@babylonjs/core/Cameras/arcRotateCamera"; -import { Camera } from "@babylonjs/core/Cameras/camera"; -import { DirectionalLight } from "@babylonjs/core/Lights/directionalLight"; -import { HemisphericLight } from "@babylonjs/core/Lights/hemisphericLight"; -// import { ShadowGenerator } from "@babylonjs/core/Lights/Shadows/shadowGenerator"; -import { Color4, Vector3 } from "@babylonjs/core/Maths/math"; -import type { AbstractMesh } from "@babylonjs/core/Meshes/abstractMesh"; -import { MeshBuilder } from "@babylonjs/core/Meshes/meshBuilder"; -import { PhysicsAggregate, PhysicsShapeType } from "@babylonjs/core/Physics"; -import type { Scene } from "@babylonjs/core/scene"; -// import { ShadowOnlyMaterial } from "@babylonjs/materials/shadowOnly"; -import { ShadowOnlyMaterial } from "@babylonjs/materials"; -import { DiceThrower } from "@planarally/dice/3d"; -// import type { DieOptions } from "@planarally/dice"; - -import { baseAdjust } from "../../core/http"; - -import { loadAmmoModule } from "./ammo"; -// import { diceStore } from "./state"; - -let diceThrower: DiceThrower | undefined; -// let dndParser: DndParser | undefined; - -let light: DirectionalLight; - -// This is in fact used in dice.ts using dynamic import -// eslint-disable-next-line import/no-unused-modules -export async function loadDiceEnv(): Promise { - const canvas = document.getElementById("babylon") as HTMLCanvasElement; - - await loadAmmoModule(); - // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment, @typescript-eslint/no-unsafe-member-access - const Ammo = (window as any).Ammo; - - diceThrower = new DiceThrower({ canvas, tresholds: { linear: 0.05, angular: 0.1 } }); - const scene = diceThrower.scene; - // eslint-disable-next-line @typescript-eslint/no-unsafe-call - await diceThrower.load(baseAdjust("/static/all_dice.babylon"), Ammo(), scene); - - /* - * Currently the camera looks in such a way that the x-axis goes from negative right to positive left - * and the y-axis goes from negative top to positive bottom - * With (0, 0) at the center of the screen - */ - scene.clearColor = new Color4(0, 0, 0, 0); - const camera = new ArcRotateCamera("camera", 0, 0, 0, new Vector3(0, 0, 0), scene); - camera.setPosition(new Vector3(0, 40, 0)); - camera.attachControl(canvas); - camera.fovMode = Camera.FOVMODE_HORIZONTAL_FIXED; - new HemisphericLight("light", new Vector3(0, 1, 0), scene); - light = new DirectionalLight("DirectionalLight", new Vector3(0, -1, 0), scene); - light.position = new Vector3(0, 5, 0); - light.intensity = 1; - - // scene.registerBeforeRender(() => { - // const meshes = scene.getActiveMeshCandidates(); - // for (const meshData of meshes.data) { - // const i = meshData.getPhysicsImpostor(); - // if (i === null || i === undefined) continue; - // const pos = meshData.position; - // if (pos.y > 3) continue; - // const linVel = i.getLinearVelocity()!; - // const linVelZero = linVel.x === 0 && linVel.y === 0 && linVel.z === 0; - // if (!linVelZero) i.setLinearVelocity(i.getLinearVelocity()!.multiplyByFloats(0.99, 0.99, 0.99)); - // const angVel = i.getAngularVelocity()!; - // const angVelZero = angVel.x === 0 && angVel.y === 0 && angVel.z === 0; - // if (!angVelZero) i.setAngularVelocity(i.getAngularVelocity()!.multiplyByFloats(0.99, 0.99, 0.99)); - - // // if (!(linVelZero && angVelZero)) { - // // const dim = diceStore.state.dimensions; - // // if (pos.y < 0) pos.y = 19; - // // else if (pos.y > 20) pos.y = 1; - // // if (pos.x < -dim.width / 2) pos.x = 0.9 * (dim.width / 2); - // // else if (pos.x > dim.width / 2) pos.x = 0.9 * (-dim.width / 2); - // // if (pos.z < -dim.height / 2) pos.z = 0.9 * (dim.height / 2); - // // else if (pos.z > dim.height / 2) pos.z = 0.9 * (-dim.height / 2); - // // } - // } - // }); - - // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access - // (window as any).shadowGenerator = new ShadowGenerator(1024, light); - - loadDiceBox(scene); - - diceThrower.startRenderLoop(); - - // dndParser = new DndParser(diceThrower); - - // // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access - // (window as any).diceThrower = diceThrower; - // // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access - // (window as any).Dice = Dice; - // // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access - // (window as any).p = dndParser; - // // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access - // (window as any).V3 = Vector3; - // // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access - // (window as any).r = async (inp: string, options?: DieOptions[]): Promise => { - // diceStore.setIsPending(true); - // const results = await dndParser!.fromString(inp, options); - // diceStore.setResults(results.key, results.data); - // diceStore.setIsPending(false); - // diceStore.setShowDiceResults(results.key); - // }; - - // return diceThrower; -} - -function paPredicate(mesh: AbstractMesh): boolean { - return mesh.isPickable && mesh.isEnabled(); -} - -function loadDiceBox(scene: Scene): void { - // Visual - const ground = MeshBuilder.CreateGround("ground", { width: 2000, height: 2000, subdivisions: 2 }, scene); - const material = new ShadowOnlyMaterial("shadowOnly", scene); - material.activeLight = light; - ground.material = material; - ground.receiveShadows = true; - - const topLeft = scene.pick(0, 0, paPredicate).pickedPoint!; - const topRight = scene.pick(window.innerWidth, 0, paPredicate).pickedPoint!; - const botLeft = scene.pick(0, window.innerHeight, paPredicate).pickedPoint!; - - const width = Math.abs(topRight.x - topLeft.x); - const height = Math.abs(botLeft.z - topLeft.z); - // diceStore.setDimensions(width, height); - - const wall1 = MeshBuilder.CreateBox("north", { width, depth: 1, height: 40 }, scene); - wall1.isVisible = false; - wall1.position.z = height / 2; - wall1.position.y = 20; - const wall2 = MeshBuilder.CreateBox("south", { width, depth: 1, height: 40 }, scene); - wall2.position.z = -height / 2; - wall2.isVisible = false; - wall2.position.y = 20; - const wall3 = MeshBuilder.CreateBox("east", { width: 1, depth: height, height: 40 }, scene); - wall3.position.x = width / 2; - wall3.isVisible = false; - wall3.position.y = 20; - const wall4 = MeshBuilder.CreateBox("west", { width: 1, depth: height, height: 40 }, scene); - wall4.position.x = -width / 2; - wall4.isVisible = false; - wall4.position.y = 20; - const roof = MeshBuilder.CreateBox("roof", { width, depth: height }, scene); - roof.position.y = 40; - - // // Physics - // new PhysicsAggregate(ground, PhysicsShapeType.BOX, { - // mass: 0, - // restitution: 0.1, - // friction: 10, - // }); - // new PhysicsAggregate(wall1, PhysicsShapeType.BOX, { - // mass: 0, - // restitution: 0.5, - // friction: 0.5, - // }); - // new PhysicsAggregate(wall2, PhysicsShapeType.BOX, { - // mass: 0, - // restitution: 0.5, - // friction: 0.5, - // }); - // new PhysicsAggregate(wall3, PhysicsShapeType.BOX, { - // mass: 0, - // restitution: 0.5, - // friction: 0.5, - // }); - // new PhysicsAggregate(wall4, PhysicsShapeType.BOX, { - // mass: 0, - // restitution: 0.5, - // friction: 0.5, - // }); - // new PhysicsAggregate(roof, PhysicsShapeType.BOX, { - // mass: 0, - // restitution: 0.5, - // friction: 0.5, - // }); -} diff --git a/client/src/game/dice/state.ts b/client/src/game/dice/state.ts deleted file mode 100644 index c3f2df432..000000000 --- a/client/src/game/dice/state.ts +++ /dev/null @@ -1,112 +0,0 @@ -// import type { DiceThrower, DndParser, DndResult } from "@planarally/dice"; -import { Store } from "../../core/store"; - -import { loadDiceEnv } from "./environment"; - -// eslint-disable-next-line @typescript-eslint/explicit-function-return-type -// const env = () => import("./environment"); -// eslint-disable-next-line @typescript-eslint/explicit-function-return-type -// const dice = () => import("@planarally/dice"); - -interface DiceState { - showKey: string | undefined; - pending: boolean; - // results: Map; - dimensions: { width: number; height: number }; - loaded: boolean; -} - -class DiceStore extends Store { - // private diceThrower!: DiceThrower; - // private dndParser!: DndParser; - - protected data(): DiceState { - return { - showKey: undefined, - pending: false, - // results: new Map(), - dimensions: { width: 0, height: 0 }, - loaded: false, - }; - } - - async loadEnv(): Promise { - if (this._state.loaded) { - return; - } - // const e = await env(); - // const { DndParser } = await dice(); - // const { Vector3 } = await math(); - // this.diceThrower = await e.loadDiceEnv(); - // await e.loadDiceEnv(); - await loadDiceEnv(); - // this.dndParser = new DndParser(this.diceThrower); - this._state.loaded = true; - } - - // async getDiceThrower(): Promise { - // if (!this._state.loaded) { - // await this.loadEnv(); - // } - // return this.diceThrower; - // } - - // async getDndParser(): Promise { - // if (!this._state.loaded) { - // await this.loadEnv(); - // } - // return this.dndParser; - // } - - // getResults(key: string): DndResult[] { - // return this._state.results.get(key)?.results ?? []; - // } - - // getTotal(key: string): number { - // let result = 0; - // for (const data of this._state.results.get(key)?.results ?? []) { - // result += data.total; - // } - // return result; - // } - - // getResultString(key: string): string { - // const result = this._state.results.get(key)?.results[0]; - // if (result === undefined) { - // return ""; - // } - // return ( - // "(" + - // result.details - // .map((part) => - // part.type === "dice" - // ? part.output.join("+") - // : part.type === "fixed" - // ? part.output - // : `) ${part.value} (`, - // ) - // .join("") + - // `) = ${result.total}` - // ); - // } - - // setResults(key: string, results: DndResult[], position?: [number, number]): void { - // this._state.results.set(key, { position, results }); - // } - - setShowDiceResults(key: string | undefined): void { - this._state.showKey = key; - } - - setIsPending(pending: boolean): void { - this._state.pending = pending; - } - - setDimensions(width: number, height: number): void { - this._state.dimensions = { width, height }; - } -} - -export const diceStore = new DiceStore(); -// eslint-disable-next-line @typescript-eslint/no-unsafe-member-access -(window as any).diceStore = diceStore; diff --git a/client/src/game/dice/dx.ts b/client/src/game/systems/dice/dx.ts similarity index 86% rename from client/src/game/dice/dx.ts rename to client/src/game/systems/dice/dx.ts index 1f1ecbf17..319016ee0 100644 --- a/client/src/game/dice/dx.ts +++ b/client/src/game/systems/dice/dx.ts @@ -7,7 +7,7 @@ const symbolOptions = ["+", "-"] as const; // , "*", "/", "(", ")"] as const; function addSegment(partsRef: Ref, segment: DxSegment): void { const parts = partsRef.value; if (parts.length > 0 && parts.at(-1)?.type !== DxSegmentType.Operator) { - parts.push({ type: DxSegmentType.Operator, value: "+" }); + parts.push({ type: DxSegmentType.Operator, input: "+" }); } parts.push(segment); } @@ -16,11 +16,12 @@ function addDie(parts: Ref, die: (typeof addOptions)[number]): void const seg = parts.value.at(-1); if (seg?.type === DxSegmentType.Die && seg.die === die) { seg.amount += 1; + seg.input = `${seg.amount}${die}`; } else if (seg?.type === DxSegmentType.Literal) { parts.value.pop(); - addSegment(parts, { type: DxSegmentType.Die, amount: seg.value, die }); + addSegment(parts, { type: DxSegmentType.Die, amount: seg.value, die, input: `${seg.value}${die}` }); } else { - addSegment(parts, { type: DxSegmentType.Die, amount: 1, die }); + addSegment(parts, { type: DxSegmentType.Die, amount: 1, die, input: `1${die}` }); } } @@ -32,12 +33,12 @@ function addLiteral(parts: Ref, value: number): void { } else if (seg?.type === DxSegmentType.Literal) { seg.value = seg.value * 10 + value; } else { - addSegment(parts, { type: DxSegmentType.Literal, value }); + addSegment(parts, { type: DxSegmentType.Literal, input: value.toString(), value }); } } -function addOperator(parts: Ref, value: (typeof symbolOptions)[number]): void { - addSegment(parts, { type: DxSegmentType.Operator, value }); +function addOperator(parts: Ref, input: (typeof symbolOptions)[number]): void { + addSegment(parts, { type: DxSegmentType.Operator, input }); } function stringifySegments(parts: DxSegment[]): string { @@ -59,7 +60,7 @@ function stringifySegments(parts: DxSegment[]): string { else if (seg.selector !== undefined) text += seg.selector; if (seg.selectorValue !== undefined) text += seg.selectorValue; } - if (seg.type === DxSegmentType.Operator) text += ` ${seg.value} `; + if (seg.type === DxSegmentType.Operator) text += ` ${seg.input} `; if (seg.type === DxSegmentType.Literal) text += seg.value; } return text; diff --git a/client/src/game/api/emits/dice.ts b/client/src/game/systems/dice/emits.ts similarity index 74% rename from client/src/game/api/emits/dice.ts rename to client/src/game/systems/dice/emits.ts index 18c3a1813..b47e54019 100644 --- a/client/src/game/api/emits/dice.ts +++ b/client/src/game/systems/dice/emits.ts @@ -1,4 +1,4 @@ import type { DiceRollResult } from "../../../apiTypes"; -import { wrapSocket } from "../helpers"; +import { wrapSocket } from "../../api/helpers"; export const sendDiceRollResult = wrapSocket("Dice.Roll.Result"); diff --git a/client/src/game/systems/dice/environment.ts b/client/src/game/systems/dice/environment.ts new file mode 100644 index 000000000..bd7aa13a1 --- /dev/null +++ b/client/src/game/systems/dice/environment.ts @@ -0,0 +1,120 @@ +import { ArcRotateCamera } from "@babylonjs/core/Cameras/arcRotateCamera"; +import { Camera } from "@babylonjs/core/Cameras/camera"; +import { DirectionalLight } from "@babylonjs/core/Lights/directionalLight"; +import { HemisphericLight } from "@babylonjs/core/Lights/hemisphericLight"; +import { Color4, Vector3 } from "@babylonjs/core/Maths/math"; +import type { AbstractMesh } from "@babylonjs/core/Meshes/abstractMesh"; +import { MeshBuilder } from "@babylonjs/core/Meshes/meshBuilder"; +import { PhysicsAggregate, PhysicsShapeType } from "@babylonjs/core/Physics"; +import type { Scene } from "@babylonjs/core/scene"; +import { ShadowOnlyMaterial } from "@babylonjs/materials/shadowOnly"; +import { DiceThrower } from "@planarally/dice/3d"; + +import { baseAdjust } from "../../../core/http"; + +import { diceSystem } from "."; + +export let diceThrower: DiceThrower | undefined; + +let light: DirectionalLight; + +// This is in fact used in dice.ts using dynamic import +// eslint-disable-next-line import/no-unused-modules +export async function loadDiceEnv(): Promise { + const canvas = document.getElementById("babylon") as HTMLCanvasElement; + + diceThrower = new DiceThrower({ canvas, tresholds: { linear: 0.05, angular: 0.1 } }); + const scene = diceThrower.scene; + + scene.clearColor = new Color4(0, 0, 0, 0); + + await diceThrower.loadPhysics(); + await diceThrower.loadMeshes(baseAdjust("/static/all_dice.babylon"), scene); + + /* + * Currently the camera looks in such a way that the x-axis goes from negative right to positive left + * and the y-axis goes from negative top to positive bottom + * With (0, 0) at the center of the screen + */ + const camera = new ArcRotateCamera("camera", 0, 0, 0, new Vector3(0, 0, 0), scene); + camera.setPosition(new Vector3(0, 40, 0)); + camera.attachControl(canvas); + camera.fovMode = Camera.FOVMODE_HORIZONTAL_FIXED; + new HemisphericLight("light", new Vector3(0, 1, 0), scene); + light = new DirectionalLight("DirectionalLight", new Vector3(0, -1, 0), scene); + light.position = new Vector3(0, 5, 0); + light.intensity = 1; + + loadDiceBox(scene); + + diceThrower.startRenderLoop(); +} + +function paPredicate(mesh: AbstractMesh): boolean { + return mesh.isPickable && mesh.isEnabled(); +} + +function loadDiceBox(scene: Scene): void { + const ground = MeshBuilder.CreateGround("ground", { width: 100, height: 100 }, scene); + ground.position = new Vector3(0, 0, 0); + const material = new ShadowOnlyMaterial("shadowOnly", scene); + material.activeLight = light; + ground.material = material; + ground.receiveShadows = true; + + new PhysicsAggregate(ground, PhysicsShapeType.BOX, { mass: 0 }); + + // Visual + const topLeft = scene.pick(0, 0, paPredicate).pickedPoint!; + const topRight = scene.pick(window.innerWidth, 0, paPredicate).pickedPoint!; + const botLeft = scene.pick(0, window.innerHeight, paPredicate).pickedPoint!; + + const width = Math.abs(topRight.x - topLeft.x); + const height = Math.abs(botLeft.z - topLeft.z); + diceSystem.set3dDimensions(width, height); + + const wall1 = MeshBuilder.CreateBox("north", { width, depth: 1, height: 40 }, scene); + wall1.isVisible = false; + wall1.position.z = height / 2; + wall1.position.y = 20; + const wall2 = MeshBuilder.CreateBox("south", { width, depth: 1, height: 40 }, scene); + wall2.position.z = -height / 2; + wall2.isVisible = false; + wall2.position.y = 20; + const wall3 = MeshBuilder.CreateBox("east", { width: 1, depth: height, height: 40 }, scene); + wall3.position.x = width / 2; + wall3.isVisible = false; + wall3.position.y = 20; + const wall4 = MeshBuilder.CreateBox("west", { width: 1, depth: height, height: 40 }, scene); + wall4.position.x = -width / 2; + wall4.isVisible = false; + wall4.position.y = 20; + const roof = MeshBuilder.CreateBox("roof", { width, depth: height }, scene); + roof.position.y = 40; + + new PhysicsAggregate(wall1, PhysicsShapeType.BOX, { + mass: 0, + restitution: 0.5, + friction: 0.5, + }); + new PhysicsAggregate(wall2, PhysicsShapeType.BOX, { + mass: 0, + restitution: 0.5, + friction: 0.5, + }); + new PhysicsAggregate(wall3, PhysicsShapeType.BOX, { + mass: 0, + restitution: 0.5, + friction: 0.5, + }); + new PhysicsAggregate(wall4, PhysicsShapeType.BOX, { + mass: 0, + restitution: 0.5, + friction: 0.5, + }); + new PhysicsAggregate(roof, PhysicsShapeType.BOX, { + mass: 0, + restitution: 0.5, + friction: 0.5, + }); +} diff --git a/client/src/game/systems/dice/events.ts b/client/src/game/systems/dice/events.ts new file mode 100644 index 000000000..4c4647847 --- /dev/null +++ b/client/src/game/systems/dice/events.ts @@ -0,0 +1,19 @@ +import type { Part, RollResult } from "@planarally/dice/core"; +import { POSITION, useToast } from "vue-toastification"; + +import type { DiceRollResult } from "../../../apiTypes"; +import { socket } from "../../api/socket"; + +import { diceSystem } from "."; + +const toast = useToast(); + +socket.on("Dice.Roll.Result", (data: DiceRollResult) => { + const roll = JSON.parse(data.roll) as RollResult; + const rollString = diceSystem.addToHistory(roll, data.player); + + toast.info(`${data.player} rolled ${rollString} and threw a ${roll.result}`, { + position: POSITION.TOP_RIGHT, + onClick: () => diceSystem.showResults(roll), + }); +}); diff --git a/client/src/game/systems/dice/index.ts b/client/src/game/systems/dice/index.ts new file mode 100644 index 000000000..0e5c7d227 --- /dev/null +++ b/client/src/game/systems/dice/index.ts @@ -0,0 +1,39 @@ +import type { Part, RollResult } from "@planarally/dice/core"; +import type { DeepReadonly } from "vue"; + +import { registerSystem } from ".."; +import type { System } from ".."; + +import { loadDiceEnv } from "./environment"; +import { diceState } from "./state"; + +const { mutableReactive: $ } = diceState; + +class DiceSystem implements System { + clear(): void {} + + addToHistory(roll: RollResult, player: string, name?: string): string { + let rollString = ""; + for (const part of roll.parts) rollString += ` ${part.input}`; + $.history.push({ roll, player, name: name ?? rollString }); + return rollString; + } + + async load3d(): Promise { + if (!diceState.raw.loaded3d) { + await loadDiceEnv(); + $.loaded3d = true; + } + } + + set3dDimensions(width: number, height: number): void { + $.dimensions3d = { width, height }; + } + + showResults(roll: DeepReadonly>): void { + $.result = roll; + } +} + +export const diceSystem = new DiceSystem(); +registerSystem("dice", diceSystem, false, diceState); diff --git a/client/src/game/systems/dice/state.ts b/client/src/game/systems/dice/state.ts new file mode 100644 index 000000000..a89d52b39 --- /dev/null +++ b/client/src/game/systems/dice/state.ts @@ -0,0 +1,21 @@ +import type { Part, RollResult } from "@planarally/dice/core"; +import type { DeepReadonly } from "vue"; + +import { buildState } from "../state"; + +interface DiceState { + dimensions3d: { width: number; height: number }; + history: { roll: RollResult; name: string; player: string }[]; + loaded3d: boolean; + result?: DeepReadonly>; +} + +const state = buildState({ + dimensions3d: { width: 0, height: 0 }, + history: [], + loaded3d: false, +}); + +export const diceState = { + ...state, +}; diff --git a/client/src/game/tools/variants/dice.ts b/client/src/game/tools/variants/dice.ts index afbd2d0ac..d148556c0 100644 --- a/client/src/game/tools/variants/dice.ts +++ b/client/src/game/tools/variants/dice.ts @@ -1,19 +1,64 @@ -// import type { ShadowGenerator } from "@babylonjs/core/Lights/Shadows/shadowGenerator"; -// import { Vector3 } from "@babylonjs/core/Maths/math.vector"; -// import type { Mesh } from "@babylonjs/core/Meshes/mesh"; -// import type { Dice } from "@planarally/dice"; -// import tinycolor from "tinycolor2"; +import { Vector3 } from "@babylonjs/core/Maths/math"; +import { type Part, type RollResult, rollString, SYSTEMS } from "@planarally/dice/core"; +import tinycolor from "tinycolor2"; import { reactive } from "vue"; -// import { randomInterval } from "../../../core/utils"; +import type { DiceRollResult } from "../../../apiTypes"; +import { randomInterval } from "../../../core/utils"; import { i18n } from "../../../i18n"; -import { diceStore } from "../../dice/state"; +import { coreStore } from "../../../store/core"; import { ToolName } from "../../models/tools"; import type { ITool, ToolPermission } from "../../models/tools"; -// import { playerSettingsState } from "../../systems/settings/players/state"; +import { diceSystem } from "../../systems/dice"; +import { sendDiceRollResult } from "../../systems/dice/emits"; +import { diceThrower } from "../../systems/dice/environment"; +import { diceState } from "../../systems/dice/state"; +import { playerSettingsState } from "../../systems/settings/players/state"; import { SelectFeatures } from "../models/select"; import { Tool } from "../tool"; +export const { DX } = await SYSTEMS.DX(); +const { DX3 } = await SYSTEMS.DX3(); + +function generate3dOptions(): { + color: string; + physics: () => { + angular: Vector3; + linear: Vector3; + position: Vector3; + }; +} { + const targetColor = playerSettingsState.raw.rulerColour.value; + const color = tinycolor(targetColor).toHexString(); + + const xDir = Math.random(); + const yDir = Math.random(); + const side = Math.random() > 0.5 ? true : false; + const signX = Math.random() > 0.5 ? 1 : -1; + const signY = Math.random() > 0.5 ? 1 : -1; + + const w = (diceState.raw.dimensions3d.width / 2) * 0.85; + const h = (diceState.raw.dimensions3d.height / 2) * 0.85; + + // Aim from side to center + const physics = (): { angular: Vector3; linear: Vector3; position: Vector3 } => { + const position = new Vector3(signX * (side ? 0.9 * w : xDir * w), 4.5, signY * (side ? yDir * h : 0.9 * h)); + const linear = Vector3.Zero() + .subtract(position) + // Slightly deviate from center + .add(new Vector3(randomInterval(0, 20) - 10, randomInterval(0, 5) - 2.5, randomInterval(0, 20) - 10)) + // Power up + .multiplyByFloats(randomInterval(6, 9), 1, randomInterval(6, 9)); + const angular = new Vector3(linear.x / 2, 0, 0); + return { angular, linear, position }; + }; + + return { + color, + physics, + }; +} + class DiceTool extends Tool implements ITool { readonly toolName = ToolName.Dice; readonly toolTranslation = i18n.global.t("tool.Dice"); @@ -21,12 +66,10 @@ class DiceTool extends Tool implements ITool { state = reactive<{ shareWithAll: boolean; autoRoll: boolean; - history: { roll: string; result: string; player: string }[]; timeouts: Record; }>({ shareWithAll: false, autoRoll: true, - history: [], timeouts: {}, }); @@ -42,77 +85,31 @@ class DiceTool extends Tool implements ITool { // ); // } - async onSelect(): Promise { - if (!diceStore.state.loaded) { - await diceStore.loadEnv(); - } - } - get permittedTools(): ToolPermission[] { return [{ name: ToolName.Select, features: { disabled: [SelectFeatures.Resize, SelectFeatures.Rotate] } }]; } - // async roll( - // inp: string, - // options?: { color?: string; startPosition?: [number, number]; throwKey: string }, - // ): Promise { - // return ""; - // if (options?.throwKey !== undefined && options.throwKey in this.state.timeouts) { - // clearTimeout(this.state.timeouts[options.throwKey]); - // delete this.state.timeouts[options.throwKey]; - // } + async roll(input: string, use3d: boolean, shareWith: DiceRollResult["shareWith"]): Promise> { + let roll: RollResult; + if (use3d) { + const dieDefaults = generate3dOptions(); + roll = await rollString(input, DX3, { thrower: diceThrower!, dieDefaults }); + } else { + roll = await rollString(input, DX); + } + + if (shareWith !== "none") { + sendDiceRollResult({ + player: coreStore.state.username, + roll: JSON.stringify(roll), + shareWith, + }); + } - // const xDir = Math.random(); - // const yDir = Math.random(); - // const side = Math.random() > 0.5 ? true : false; - // const signX = Math.random() > 0.5 ? 1 : -1; - // const signY = Math.random() > 0.5 ? 1 : -1; - - // const w = (diceStore.state.dimensions.width / 2) * 0.85; - // const h = (diceStore.state.dimensions.height / 2) * 0.85; - - // const targetColor = options?.color ?? playerSettingsState.raw.rulerColour.value; - // const color = tinycolor(targetColor).toHexString(); - - // const position = new Vector3(signX * (side ? 0.9 * w : xDir * w), 4.5, signY * (side ? yDir * h : 0.9 * h)); - - // // Aim from side to center - // const linear = Vector3.Zero() - // .subtract(position) - // // Slightly deviate from center - // .add(new Vector3(randomInterval(0, 20) - 10, randomInterval(0, 5) - 2.5, randomInterval(0, 20) - 10)) - // // Power up - // .multiplyByFloats(randomInterval(6, 9), 1, randomInterval(6, 9)); - // const dieOptions: Omit = { - // position, - // linear, - // angular: new Vector3(linear.x / 2, 0, 0), - // color, - // }; - - // const parser = await diceStore.getDndParser(); - // const results = await parser.fromString(inp, dieOptions, { - // cb: (die, mesh) => this.addShadow(die, mesh), - // key: options?.throwKey, - // resetAllDice: false, - // }); - // diceStore.setResults(results.key, results.data, options?.startPosition); - - // const timeoutId = window.setTimeout(() => { - // diceStore - // .getDiceThrower() - // .then((thrower) => { - // thrower.reset(results.key); - // delete this.state.timeouts[results.key]; - // }) - // .catch(() => { - // console.error("Failed to retrieve diceThrower instance"); - // delete this.state.timeouts[results.key]; - // }); - // }, 5_000); - // this.state.timeouts[results.key] = timeoutId; - - // return results.key; + diceSystem.addToHistory(roll, coreStore.state.username); + + return roll; + } } // addShadow(die: Dice, mesh: Mesh): void { diff --git a/client/src/game/ui/dice/DiceResults.vue b/client/src/game/ui/dice/DiceResults.vue index a6714c208..7b2b955e9 100644 --- a/client/src/game/ui/dice/DiceResults.vue +++ b/client/src/game/ui/dice/DiceResults.vue @@ -1,91 +1,81 @@ diff --git a/client/src/game/ui/tools/DiceTool.vue b/client/src/game/ui/tools/DiceTool.vue index b4eae17ff..e27d9d825 100644 --- a/client/src/game/ui/tools/DiceTool.vue +++ b/client/src/game/ui/tools/DiceTool.vue @@ -1,5 +1,4 @@ +
- -
-
= {{ lastOutput }}
-
({{ lastResolved }})
- - + + + +
@@ -479,8 +188,6 @@ async function roll(): Promise { #dice { display: flex; flex-direction: column; - min-width: 10rem; - min-height: 10rem; .header { display: flex; @@ -525,20 +232,48 @@ async function roll(): Promise { } } - #input { - padding: 0.5rem 1rem; - } - #buttons { margin-top: 0.5rem; display: flex; - justify-content: flex-end; + justify-content: space-between; align-items: center; + #input { + padding: 0.5rem 1rem; + margin: 0 0.5rem; + } + > button { margin-left: 0.5rem; padding: 0.25rem 0.5rem; } + + svg { + font-size: 1.5em; + } + + svg:last-of-type { + font-size: 1.75em; + } + } +} + +#dice-history { + display: grid; + grid-template-columns: auto 1fr auto; + + max-height: 80vh; + overflow-y: auto; + + row-gap: 0.5rem; + column-gap: 1rem; + + padding: 0.5rem 1rem; + + overflow-anchor: none; + + div:hover { + cursor: pointer; } } diff --git a/client/src/game/ui/tools/Tools.vue b/client/src/game/ui/tools/Tools.vue index 818abbd7a..db6a3d4ab 100644 --- a/client/src/game/ui/tools/Tools.vue +++ b/client/src/game/ui/tools/Tools.vue @@ -158,9 +158,7 @@ function toggleFakePlayer(): void { - - - + diff --git a/client/vite.config.ts b/client/vite.config.ts index 7ecf04fc9..b3478a3c5 100644 --- a/client/vite.config.ts +++ b/client/vite.config.ts @@ -44,7 +44,7 @@ export default defineConfig({ outDir: "../server", chunkSizeWarningLimit: 2500, rollupOptions: { - external: ["ammo.js", "vue"], + external: ["vue"], output: { globals: { vue: "Vue" } }, }, commonjsOptions: { @@ -55,6 +55,7 @@ export default defineConfig({ esbuildOptions: { plugins: [EsmExternalsPlugin({ externals: ["vue"] })], }, + exclude: ["@babylonjs/havok"], }, resolve: { alias: [ diff --git a/server/src/api/models/dice/roll.py b/server/src/api/models/dice/roll.py index 396d8f9f9..5b71298f2 100644 --- a/server/src/api/models/dice/roll.py +++ b/server/src/api/models/dice/roll.py @@ -6,5 +6,4 @@ class DiceRollResult(BaseModel): player: str roll: str - result: str shareWith: Literal["all", "dm", "none"] diff --git a/server/static/extern/js/ammo.js b/server/static/extern/js/ammo.js deleted file mode 100644 index 72f003811..000000000 --- a/server/static/extern/js/ammo.js +++ /dev/null @@ -1,41 +0,0 @@ - - // This is ammo.js, a port of Bullet Physics to JavaScript. zlib licensed. - -var Ammo = (function() { - var _scriptDir = typeof document !== 'undefined' && document.currentScript ? document.currentScript.src : undefined; - return ( -function(Ammo) { - Ammo = Ammo || {}; - -var Module=typeof Ammo!=="undefined"?Ammo:{};var moduleOverrides={};var key;for(key in Module){if(Module.hasOwnProperty(key)){moduleOverrides[key]=Module[key]}}Module["arguments"]=[];Module["thisProgram"]="./this.program";Module["quit"]=function(status,toThrow){throw toThrow};Module["preRun"]=[];Module["postRun"]=[];var ENVIRONMENT_IS_WEB=false;var ENVIRONMENT_IS_WORKER=false;var ENVIRONMENT_IS_NODE=false;var ENVIRONMENT_HAS_NODE=false;var ENVIRONMENT_IS_SHELL=false;ENVIRONMENT_IS_WEB=typeof window==="object";ENVIRONMENT_IS_WORKER=typeof importScripts==="function";ENVIRONMENT_HAS_NODE=typeof process==="object"&&typeof process.versions==="object"&&typeof process.versions.node==="string";ENVIRONMENT_IS_NODE=ENVIRONMENT_HAS_NODE&&!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_WORKER;ENVIRONMENT_IS_SHELL=!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_NODE&&!ENVIRONMENT_IS_WORKER;var scriptDirectory="";function locateFile(path){if(Module["locateFile"]){return Module["locateFile"](path,scriptDirectory)}else{return scriptDirectory+path}}var read_,readAsync,readBinary,setWindowTitle;if(ENVIRONMENT_IS_NODE){scriptDirectory=__dirname+"/";var nodeFS;var nodePath;read_=function shell_read(filename,binary){var ret;ret=tryParseAsDataURI(filename);if(!ret){if(!nodeFS)nodeFS=require("fs");if(!nodePath)nodePath=require("path");filename=nodePath["normalize"](filename);ret=nodeFS["readFileSync"](filename)}return binary?ret:ret.toString()};readBinary=function readBinary(filename){var ret=read_(filename,true);if(!ret.buffer){ret=new Uint8Array(ret)}assert(ret.buffer);return ret};if(process["argv"].length>1){Module["thisProgram"]=process["argv"][1].replace(/\\/g,"/")}Module["arguments"]=process["argv"].slice(2);process["on"]("uncaughtException",function(ex){if(!(ex instanceof ExitStatus)){throw ex}});process["on"]("unhandledRejection",abort);Module["quit"]=function(status){process["exit"](status)};Module["inspect"]=function(){return"[Emscripten Module object]"}}else if(ENVIRONMENT_IS_SHELL){if(typeof read!="undefined"){read_=function shell_read(f){var data=tryParseAsDataURI(f);if(data){return intArrayToString(data)}return read(f)}}readBinary=function readBinary(f){var 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};if(typeof scriptArgs!="undefined"){Module["arguments"]=scriptArgs}else if(typeof arguments!="undefined"){Module["arguments"]=arguments}if(typeof quit==="function"){Module["quit"]=function(status){quit(status)}}}else if(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER){if(ENVIRONMENT_IS_WORKER){scriptDirectory=self.location.href}else if(document.currentScript){scriptDirectory=document.currentScript.src}if(_scriptDir){scriptDirectory=_scriptDir}if(scriptDirectory.indexOf("blob:")!==0){scriptDirectory=scriptDirectory.substr(0,scriptDirectory.lastIndexOf("/")+1)}else{scriptDirectory=""}read_=function shell_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=function 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=function readAsync(url,onload,onerror){var xhr=new XMLHttpRequest;xhr.open("GET",url,true);xhr.responseType="arraybuffer";xhr.onload=function xhr_onload(){if(xhr.status==200||xhr.status==0&&xhr.response){onload(xhr.response);return}var data=tryParseAsDataURI(url);if(data){onload(data.buffer);return}onerror()};xhr.onerror=onerror;xhr.send(null)};setWindowTitle=function(title){document.title=title}}else{}var out=Module["print"]||(typeof console!=="undefined"?console.log.bind(console):typeof print!=="undefined"?print:null);var err=Module["printErr"]||(typeof printErr!=="undefined"?printErr:typeof console!=="undefined"&&console.warn.bind(console)||out);for(key in moduleOverrides){if(moduleOverrides.hasOwnProperty(key)){Module[key]=moduleOverrides[key]}}moduleOverrides=undefined;var STACK_ALIGN=16;function dynamicAlloc(size){var ret=HEAP32[DYNAMICTOP_PTR>>2];var end=ret+size+15&-16;if(end>_emscripten_get_heap_size()){abort()}HEAP32[DYNAMICTOP_PTR>>2]=end;return ret}function getNativeTypeSize(type){switch(type){case"i1":case"i8":return 1;case"i16":return 2;case"i32":return 4;case"i64":return 8;case"float":return 4;case"double":return 8;default:{if(type[type.length-1]==="*"){return 4}else if(type[0]==="i"){var bits=parseInt(type.substr(1));assert(bits%8===0,"getNativeTypeSize invalid bits "+bits+", type "+type);return bits/8}else{return 0}}}}function warnOnce(text){if(!warnOnce.shown)warnOnce.shown={};if(!warnOnce.shown[text]){warnOnce.shown[text]=1;err(text)}}var jsCallStartIndex=1;var functionPointers=new Array(20);function addFunction(func,sig){var base=0;for(var i=base;i>0]=value;break;case"i8":HEAP8[ptr>>0]=value;break;case"i16":HEAP16[ptr>>1]=value;break;case"i32":HEAP32[ptr>>2]=value;break;case"i64":tempI64=[value>>>0,(tempDouble=value,+Math_abs(tempDouble)>=+1?tempDouble>+0?(Math_min(+Math_floor(tempDouble/+4294967296),+4294967295)|0)>>>0:~~+Math_ceil((tempDouble-+(~~tempDouble>>>0))/+4294967296)>>>0:0)],HEAP32[ptr>>2]=tempI64[0],HEAP32[ptr+4>>2]=tempI64[1];break;case"float":HEAPF32[ptr>>2]=value;break;case"double":HEAPF64[ptr>>3]=value;break;default:abort("invalid type for setValue: "+type)}}var ABORT=false;var EXITSTATUS=0;function assert(condition,text){if(!condition){abort("Assertion failed: "+text)}}function getCFunc(ident){var func=Module["_"+ident];assert(func,"Cannot call unknown function "+ident+", make sure it is exported");return func}function ccall(ident,returnType,argTypes,args,opts){var toC={"string":function(str){var ret=0;if(str!==null&&str!==undefined&&str!==0){var len=(str.length<<2)+1;ret=stackAlloc(len);stringToUTF8(str,ret,len)}return ret},"array":function(arr){var ret=stackAlloc(arr.length);writeArrayToMemory(arr,ret);return ret}};function convertReturnValue(ret){if(returnType==="string")return UTF8ToString(ret);if(returnType==="boolean")return Boolean(ret);return ret}var func=getCFunc(ident);var cArgs=[];var stack=0;if(args){for(var i=0;i=endIdx))++endPtr;if(endPtr-idx>16&&u8Array.subarray&&UTF8Decoder){return UTF8Decoder.decode(u8Array.subarray(idx,endPtr))}else{var str="";while(idx>10,56320|ch&1023)}}}return str}function UTF8ToString(ptr,maxBytesToRead){return ptr?UTF8ArrayToString(HEAPU8,ptr,maxBytesToRead):""}function stringToUTF8Array(str,outU8Array,outIdx,maxBytesToWrite){if(!(maxBytesToWrite>0))return 0;var startIdx=outIdx;var endIdx=outIdx+maxBytesToWrite-1;for(var i=0;i=55296&&u<=57343){var u1=str.charCodeAt(++i);u=65536+((u&1023)<<10)|u1&1023}if(u<=127){if(outIdx>=endIdx)break;outU8Array[outIdx++]=u}else if(u<=2047){if(outIdx+1>=endIdx)break;outU8Array[outIdx++]=192|u>>6;outU8Array[outIdx++]=128|u&63}else if(u<=65535){if(outIdx+2>=endIdx)break;outU8Array[outIdx++]=224|u>>12;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}else{if(outIdx+3>=endIdx)break;outU8Array[outIdx++]=240|u>>18;outU8Array[outIdx++]=128|u>>12&63;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}}outU8Array[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&&u<=57343)u=65536+((u&1023)<<10)|str.charCodeAt(++i)&1023;if(u<=127)++len;else if(u<=2047)len+=2;else if(u<=65535)len+=3;else len+=4}return len}var UTF16Decoder=typeof TextDecoder!=="undefined"?new TextDecoder("utf-16le"):undefined;function writeArrayToMemory(array,buffer){HEAP8.set(array,buffer)}function writeAsciiToMemory(str,buffer,dontAddNull){for(var i=0;i>0]=str.charCodeAt(i)}if(!dontAddNull)HEAP8[buffer>>0]=0}function demangle(func){return func}function demangleAll(text){var regex=/__Z[\w\d_]+/g;return text.replace(regex,function(x){var y=demangle(x);return x===y?x:y+" ["+x+"]"})}function jsStackTrace(){var err=new Error;if(!err.stack){try{throw new Error(0)}catch(e){err=e}if(!err.stack){return"(no stack trace available)"}}return err.stack.toString()}var buffer,HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAPF64;function updateGlobalBufferViews(){Module["HEAP8"]=HEAP8=new Int8Array(buffer);Module["HEAP16"]=HEAP16=new Int16Array(buffer);Module["HEAP32"]=HEAP32=new Int32Array(buffer);Module["HEAPU8"]=HEAPU8=new Uint8Array(buffer);Module["HEAPU16"]=HEAPU16=new Uint16Array(buffer);Module["HEAPU32"]=HEAPU32=new Uint32Array(buffer);Module["HEAPF32"]=HEAPF32=new Float32Array(buffer);Module["HEAPF64"]=HEAPF64=new Float64Array(buffer)}var STACK_BASE=28320,DYNAMIC_BASE=5271200,DYNAMICTOP_PTR=28288;var TOTAL_STACK=5242880;var INITIAL_TOTAL_MEMORY=Module["TOTAL_MEMORY"]||134217728;if(INITIAL_TOTAL_MEMORY>2]=DYNAMIC_BASE;function callRuntimeCallbacks(callbacks){while(callbacks.length>0){var callback=callbacks.shift();if(typeof callback=="function"){callback();continue}var func=callback.func;if(typeof func==="number"){if(callback.arg===undefined){Module["dynCall_v"](func)}else{Module["dynCall_vi"](func,callback.arg)}}else{func(callback.arg===undefined?null:callback.arg)}}}var __ATPRERUN__=[];var __ATINIT__=[];var __ATMAIN__=[];var __ATPOSTRUN__=[];var runtimeInitialized=false;var runtimeExited=false;function preRun(){if(Module["preRun"]){if(typeof Module["preRun"]=="function")Module["preRun"]=[Module["preRun"]];while(Module["preRun"].length){addOnPreRun(Module["preRun"].shift())}}callRuntimeCallbacks(__ATPRERUN__)}function initRuntime(){runtimeInitialized=true;callRuntimeCallbacks(__ATINIT__)}function preMain(){callRuntimeCallbacks(__ATMAIN__)}function exitRuntime(){runtimeExited=true}function postRun(){if(Module["postRun"]){if(typeof Module["postRun"]=="function")Module["postRun"]=[Module["postRun"]];while(Module["postRun"].length){addOnPostRun(Module["postRun"].shift())}}callRuntimeCallbacks(__ATPOSTRUN__)}function addOnPreRun(cb){__ATPRERUN__.unshift(cb)}function addOnPreMain(cb){__ATMAIN__.unshift(cb)}function addOnPostRun(cb){__ATPOSTRUN__.unshift(cb)}if(!Math.imul||Math.imul(4294967295,5)!==-5)Math.imul=function imul(a,b){var ah=a>>>16;var al=a&65535;var bh=b>>>16;var bl=b&65535;return al*bl+(ah*bl+al*bh<<16)|0};if(!Math.clz32)Math.clz32=function(x){var n=32;var y=x>>16;if(y){n-=16;x=y}y=x>>8;if(y){n-=8;x=y}y=x>>4;if(y){n-=4;x=y}y=x>>2;if(y){n-=2;x=y}y=x>>1;if(y)return n-2;return n-x};if(!Math.trunc)Math.trunc=function(x){return x<0?Math.ceil(x):Math.floor(x)};var Math_abs=Math.abs;var Math_ceil=Math.ceil;var Math_floor=Math.floor;var Math_min=Math.min;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()}}}Module["preloadedImages"]={};Module["preloadedAudios"]={};var memoryInitializer=null;var dataURIPrefix="data:application/octet-stream;base64,";function isDataURI(filename){return String.prototype.startsWith?filename.startsWith(dataURIPrefix):filename.indexOf(dataURIPrefix)===0}var tempDouble;var tempI64;var ASM_CONSTS=[function($0,$1,$2,$3,$4,$5,$6,$7){var self=Module["getCache"](Module["ConcreteContactResultCallback"])[$0];if(!self.hasOwnProperty("addSingleResult"))throw"a JSImplementation must implement all functions, you forgot ConcreteContactResultCallback::addSingleResult.";return self["addSingleResult"]($1,$2,$3,$4,$5,$6,$7)},function($0,$1,$2,$3){var self=Module["getCache"](Module["DebugDrawer"])[$0];if(!self.hasOwnProperty("drawLine"))throw"a JSImplementation must implement all functions, you forgot DebugDrawer::drawLine.";self["drawLine"]($1,$2,$3)},function($0,$1,$2,$3,$4,$5){var self=Module["getCache"](Module["DebugDrawer"])[$0];if(!self.hasOwnProperty("drawContactPoint"))throw"a JSImplementation must implement all functions, you forgot DebugDrawer::drawContactPoint.";self["drawContactPoint"]($1,$2,$3,$4,$5)},function($0,$1){var self=Module["getCache"](Module["DebugDrawer"])[$0];if(!self.hasOwnProperty("reportErrorWarning"))throw"a JSImplementation must implement all functions, you forgot DebugDrawer::reportErrorWarning.";self["reportErrorWarning"]($1)},function($0,$1,$2){var self=Module["getCache"](Module["DebugDrawer"])[$0];if(!self.hasOwnProperty("draw3dText"))throw"a JSImplementation must implement all functions, you forgot DebugDrawer::draw3dText.";self["draw3dText"]($1,$2)},function($0,$1){var self=Module["getCache"](Module["DebugDrawer"])[$0];if(!self.hasOwnProperty("setDebugMode"))throw"a JSImplementation must implement all functions, you forgot DebugDrawer::setDebugMode.";self["setDebugMode"]($1)},function($0){var self=Module["getCache"](Module["DebugDrawer"])[$0];if(!self.hasOwnProperty("getDebugMode"))throw"a JSImplementation must implement all functions, you forgot DebugDrawer::getDebugMode.";return self["getDebugMode"]()}];function _emscripten_asm_const_diiiiiiii(code,a0,a1,a2,a3,a4,a5,a6,a7){return ASM_CONSTS[code](a0,a1,a2,a3,a4,a5,a6,a7)}function _emscripten_asm_const_iiii(code,a0,a1,a2){return ASM_CONSTS[code](a0,a1,a2)}function _emscripten_asm_const_iiiidii(code,a0,a1,a2,a3,a4,a5){return ASM_CONSTS[code](a0,a1,a2,a3,a4,a5)}function _emscripten_asm_const_iiiii(code,a0,a1,a2,a3){return ASM_CONSTS[code](a0,a1,a2,a3)}function _emscripten_asm_const_ii(code,a0){return ASM_CONSTS[code](a0)}function _emscripten_asm_const_iii(code,a0,a1){return ASM_CONSTS[code](a0,a1)}__ATINIT__.push({func:function(){__GLOBAL__sub_I_btQuickprof_cpp()}});memoryInitializer="data:application/octet-stream;base64,AAAAAAAAAAARAAoAERERAAAAAAUAAAAAAAAJAAAAAAsAAAAAAAAAABEADwoREREDCgcAARMJCwsAAAkGCwAACwAGEQAAABEREQAAAAAAAAAAAAAAAAAAAAALAAAAAAAAAAARAAoKERERAAoAAAIACQsAAAAJAAsAAAsAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAAAAAAAAAAAAAAADAAAAAAMAAAAAAkMAAAAAAAMAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4AAAAAAAAAAAAAAA0AAAAEDQAAAAAJDgAAAAAADgAADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAPAAAAAA8AAAAACRAAAAAAABAAABAAABIAAAASEhIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEgAAABISEgAAAAAAAAkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAsAAAAAAAAAAAAAAAoAAAAACgAAAAAJCwAAAAAACwAACwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAAAAAAAAAAAAAMAAAAAAwAAAAACQwAAAAAAAwAAAwAADAxMjM0NTY3ODlBQkNERUYwKwAA0isAAFgrAACgKwAA8AEAAAAAAAAwKwAALCwAAFgrAAD9KwAACAIAAAAAAAAwKwAAVCwAADArAACALAAAWCsAAGksAAAoAgAAAAAAADArAACmLAAAWCsAAJAsAABAAgAAAAAAAFgrAADCLAAACAIAAAAAAAAwKwAAES0AAFgrAADxLAAAaAIAAAAAAAAwKwAAcy4AAFgrAABlLgAAgAIAAAAAAAAwKwAACDQAAIArAAD0MwAAAAAAAAEAAACYAgAAAgQAAFgrAABYNAAAyAIAAAAAAAAwKwAAcjQAAFgrAACFNAAAcAYAAAAAAABYKwAAsTQAAPACAAAAAAAAMCsAAOw0AABYKwAADTUAAPACAAAAAAAAWCsAAEE1AADwAgAAAAAAAFgrAABvNQAA8AIAAAAAAABYKwAAVzYAACAGAAAAAAAAWCsAAGQ2AABIAwAAAAAAADArAACENgAAMCsAAJc2AABYKwAArDYAAFADAAAAAAAAWCsAAMs2AADgCgAAAAAAAFgrAABcNwAAmAMAAAAAAABYKwAAPjcAAFAKAAAAAAAAWCsAAH43AABIAwAAAAAAAFgrAACfNwAASAMAAAAAAABYKwAAwjcAAEgDAAAAAAAAWCsAAOQ3AACYAwAAAAAAAFgrAAAGOAAA6AMAAAAAAAAwKwAAJjgAAFgrAAAyOQAA6AMAAAAAAABYKwAAdTgAAIAKAAAAAAAAWCsAAEY4AAAICgAAAAAAADArAABYOAAAWCsAABU5AACACgAAAAAAAFgrAADmOQAAkAQAAAAAAABYKwAAlzkAAFgEAAAAAAAAWCsAALE5AABoBAAAAAAAADArAADLOQAAWCsAAAE6AADoAwAAAAAAAFgrAAA1OgAAIAYAAAAAAABYKwAA5TsAALAEAAAAAAAAWCsAAMc6AAD4AQAAAAAAAFgrAAD/OwAAqAcAAAAAAABYKwAAETwAANAEAAAAAAAAMCsAAC88AABYKwAAXTwAABgFAAAAAAAAWCsAAI08AAAYBQAAAAAAAFgrAADJPAAA6AQAAAAAAABYKwAACj0AABgFAAAAAAAAgCsAAD89AAAAAAAAAQAAADAFAAACBAAAMCsAAFM9AABYKwAAej0AABgFAAAAAAAAWCsAAKk9AAAYBQAAAAAAAFgrAADcPQAAGAUAAAAAAABYKwAAOj4AAHgFAAAAAAAAMCsAAGA+AABYKwAAdT4AAJAFAAAAAAAAMCsAAIg+AABYKwAAnD4AACACAAAAAAAAWCsAAPY+AAAgAgAAAAAAAFgrAAC4PgAACAIAAAAAAABYKwAA1j4AAPABAAAAAAAAWCsAAD8/AAD4BQAAAAAAAFgrAAARPwAA+AEAAAAAAABYKwAAYD8AAJAFAAAAAAAAWCsAAIE/AAAYBgAAAAAAADArAACaPwAAMCsAAMQ/AABYKwAA2D8AACAGAAAAAAAAWCsAAOg/AAAoBgAAAAAAAFgrAAAxQAAAOAwAAAAAAABYKwAAA0AAAGgGAAAAAAAAMCsAAB1AAABYKwAASUAAAIAGAAAAAAAAMCsAAGtAAABYKwAAhkAAAPACAAAAAAAAWCsAALZAAADwAgAAAAAAAFgrAADhQAAA8AIAAAAAAABYKwAAFEEAAPACAAAAAAAAWCsAAEVBAADwAgAAAAAAAFgrAABmQQAA8AIAAAAAAABYKwAAmkEAAPACAAAAAAAAWCsAAM9BAADwAgAAAAAAAFgrAAD8QQAA8AIAAAAAAABYKwAANUIAAPACAAAAAAAAMCsAAGdCAABYKwAArkIAAOgDAAAAAAAAWCsAAIlDAADoDAAAAAAAAFgrAADQQgAAgAoAAAAAAABYKwAAbkMAAIAKAAAAAAAAWCsAAK1DAADoDAAAAAAAAFgrAADKQwAAgAoAAAAAAABYKwAA5EMAAKAHAAAAAAAAMCsAAPdDAAAwKwAAnkcAAFgrAACORgAAWAQAAAAAAABYKwAAY0QAAAgCAAAAAAAAWCsAAOhEAABIAwAAAAAAAFgrAABmRQAASAwAAAAAAABYKwAA+0UAAEgMAAAAAAAAgCsAAKRGAAAAAAAAAgAAAIAKAAACAAAAiAoAAAIEAABYKwAAxUcAAPABAAAAAAAAWCsAAGJIAABYDAAAAAAAAFgrAAATSQAAWAwAAAAAAABYKwAA0kkAAFgEAAAAAAAAWCsAAARKAABoBAAAAAAAAFgrAADqSQAAkAcAAAAAAABYKwAAHkoAAOgMAAAAAAAAWCsAAIpLAADwAgAAAAAAAFgrAABwSwAA6AwAAAAAAABYKwAAQ0oAAJAHAAAAAAAAWCsAAF5KAACgBwAAAAAAAFgrAADrSgAAoAcAAAAAAABYKwAAy0sAAOgMAAAAAAAAWCsAALJLAABIAwAAAAAAAFgrAAALTAAA6AwAAAAAAABYKwAA6ksAAEgDAAAAAAAAWCsAAGhMAAA4CgAAAAAAAFgrAACPTAAAUAoAAAAAAABYKwAAo0wAADAJAAAAAAAAWCsAALhMAAAwCQAAAAAAAFgrAAD+TAAAYAoAAAAAAABYKwAAGk0AAFAKAAAAAAAAWCsAANhNAADICQAAAAAAAFgrAAAqTQAAoAkAAAAAAAAwKwAAmE0AAFgrAADxTQAAoAkAAAAAAABYKwAAWU4AAKAJAAAAAAAAWCsAAFVPAADgCgAAAAAAAFgrAADKTgAAgAoAAAAAAABYKwAA4k4AAIgKAAAAAAAAWCsAAI5PAADgCgAAAAAAAFgrAACjTwAAUAoAAAAAAABYKwAAvU8AAAgKAAAAAAAAWCsAAOhPAADgCgAAAAAAADArAAAMUAAAWCsAAB9QAAA4CgAAAAAAAFgrAAAvUAAAQAoAAAAAAABYKwAAR1AAAFAKAAAAAAAAWCsAAIdQAAAYCgAAAAAAADArAACbUAAAMCsAALBQAABYKwAA8lAAAFAKAAAAAAAAWCsAAAxRAACQCgAAAAAAAFgrAAAnUQAAkAoAAAAAAABYKwAAZFEAABgKAAAAAAAAWCsAADlRAACICgAAAAAAAFgrAACAUQAAOAoAAAAAAABYKwAAlVEAAAgKAAAAAAAAWCsAAKJRAABADAAAAAAAAFgrAACzUQAAiAoAAAAAAABYKwAADlIAAIgKAAAAAAAAWCsAAH5SAADgCgAAAAAAAFgrAAC4UgAAUAoAAAAAAABYKwAA1FIAAEALAAAAAAAAWCsAAPFSAABACwAAAAAAAFgrAAAEUwAASA0AAAAAAABYKwAAR1MAAJALAAAAAAAAWCsAABVTAACgCwAAAAAAADArAAAvUwAAWCsAAFZTAAC4CwAAAAAAAFgrAABoUwAAQAIAAAAAAABYKwAAcFQAALgLAAAAAAAAWCsAAIFTAABoBgAAAAAAAFgrAADvUwAAaAYAAAAAAABYKwAA0VQAAKALAAAAAAAAWCsAAI9UAABIAwAAAAAAAFgrAACkVAAASAMAAAAAAABYKwAAu1QAAEgDAAAAAAAAMCsAAORUAAAwKwAATlUAAFgrAABfVQAAgAoAAAAAAABYKwAAe1UAAIAKAAAAAAAAWCsAAEVWAACIDAAAAAAAAFgrAACaVQAAoAcAAAAAAAAwKwAAaVYAAFgrAACKVgAAiAwAAAAAAABYKwAAvlYAABgGAAAAAAAAWCsAAKtWAACgBwAAAAAAAFgrAADQVgAAGAYAAAAAAABYKwAA7lYAAOAMAAAAAAAAMCsAAAJXAABYKwAAKVcAAOgDAAAAAAAAWCsAAEpXAADoAwAAAAAAAFgrAABdVwAA6AwAAAAAAABYKwAAgFcAAOAMAAAAAAAAWCsAAJNXAADgDAAAAAAAADArAACsVwAAMCsAAMZXAABYKwAA21cAAFgNAAAAAAAAMCsAAItYAAAFAAAAAAAAAAAAAACBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4AAAALAAAAL1tAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAD//////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABYKwAAPVkAAAAOAAAAAAAAWCsAAOpYAAAQDgAAAAAAADArAAALWQAAWCsAABhZAADwDQAAAAAAAFgrAACTWQAAAA4AAAAAAABYKwAAtVkAACgOAAAAAAAAWCsAANlZAADwDQAAAAAAAAAAAAD4AQAAFQAAABYAAAAVAAAAFQAAAAAAAADwAQAAFwAAABgAAAAVAAAAFQAAAAAAAAAQAgAAGQAAABoAAAAWAAAAFgAAAAAAAAAIAgAAGwAAABwAAAAWAAAAFQAAAAAAAAAgAgAAHQAAAB4AAAAVAAAAAAAAADACAAAfAAAAIAAAABUAAAAWAAAAAAAAACgCAAAhAAAAIgAAABUAAAAVAAAAAAAAAEgCAAAjAAAAJAAAABUAAAAVAAAAFQAAAAAAAABAAgAAJQAAACYAAAAVAAAAFQAAABUAAAAAAAAAWAIAACcAAAAoAAAAFgAAABcAAAAAAAAAcAIAACkAAAAqAAAAFwAAABUAAAAAAAAAaAIAACsAAAAsAAAAFwAAABUAAAAAAAAAiAIAAC0AAAAuAAAAFQAAABUAAAAVAAAAFQAAABUAAAAVAAAAFQAAABcAAAAWAAAAGAAAABUAAAAWAAAAFQAAABUAAAAVAAAAFwAAABYAAAAVAAAAFgAAABcAAAAVAAAAAAAAAIACAAAvAAAAMAAAABUAAAAVAAAAFQAAABUAAAAVAAAAFQAAABUAAAAVAAAAFQAAABUAAAAVAAAAFgAAABUAAAAVAAAAFQAAABcAAAAWAAAAFQAAABYAAAAXAAAAFQAAAAAAAACgAgAAMQAAADIAAAAWAAAAFgAAAAAAAAC4AgAAMwAAADQAAAAXAAAAGAAAABcAAAAZAAAAFQAAABYAAAA1AAAAGAAAABkAAAAaAAAAGQAAABsAAAAaAAAAGgAAAAAAAADQAgAANgAAADcAAAAbAAAAHAAAABcAAAAdAAAAAAAAABgDAAA4AAAAOQAAABYAAAAAAAAACAMAADgAAAA6AAAAFwAAAAAAAAD4AgAAOAAAADsAAAAYAAAAAAAAAOACAAA4AAAAPAAAABkAAAAAAAAAKAMAABgAAAA9AAAAPgAAABwAAAAeAAAAGAAAAB0AAAAbAAAAAAAAADgDAAA/AAAAQAAAABwAAAAeAAAAFgAAABkAAAAaAAAAAAAAAFgDAABBAAAAQgAAABUAAAAVAAAAFwAAAB8AAAAAAAAAaAMAAEMAAABEAAAAGAAAAB0AAAAVAAAAFQAAAB8AAAAgAAAAFgAAACEAAAAgAAAAGAAAABYAAAAiAAAAGQAAACEAAAAZAAAAAAAAAKgDAAA/AAAARQAAABwAAAAiAAAAFgAAABkAAAAaAAAAAAAAAHgDAAA/AAAARgAAABwAAAAjAAAAFgAAABkAAAAaAAAAAAAAAIgDAABHAAAASAAAABoAAAAdAAAAFQAAABUAAAAkAAAAIwAAABcAAAAkAAAAIAAAABkAAAAXAAAAJQAAABoAAAAhAAAAHgAAAB8AAAAXAAAAGwAAABwAAAAmAAAAIAAAACcAAAAAAAAAyAMAAD8AAABJAAAAIQAAACUAAAAWAAAAGQAAABoAAAAAAAAAuAMAAD8AAABKAAAAIgAAACUAAAAWAAAAGQAAABoAAAAAAAAA2AMAAEsAAABMAAAAGAAAABUAAAAmAAAAAAAAAPADAABNAAAATgAAABkAAAAWAAAAJwAAAAAAAAAABAAATwAAAFAAAAAdAAAAAAAAACAEAAAaAAAAKAAAACMAAABRAAAAUgAAAAAAAAAQBAAAUwAAAFQAAAAeAAAAHQAAABUAAAAVAAAAJAAAACMAAAAYAAAAKAAAACAAAAAbAAAAGAAAACUAAAAaAAAAIQAAACQAAAAlAAAAFwAAAB8AAAAcAAAAKQAAACYAAAAbAAAAKgAAACsAAAAgAAAAJwAAACwAAAAhAAAAFQAAACIAAAAAAAAAKAQAAFUAAABWAAAAIwAAAAAAAAA4BAAAVwAAAFgAAABZAAAAWgAAACkAAAAtAAAAWwAAACQAAAAlAAAAJgAAACoAAABcAAAAKwAAABUAAAAoAAAALAAAAC0AAAAuAAAALwAAADAAAABdAAAAMQAAACcAAAAyAAAAMwAAAC4AAAAvAAAAHAAAAB0AAAAwAAAAXgAAADQAAAA1AAAANgAAADcAAAAcAAAAHQAAAF8AAAA4AAAAHgAAAB8AAAAgAAAAYAAAADkAAAAhAAAAAAAAAEgEAABhAAAAYgAAAB4AAAAAAAAAcAQAAGMAAABkAAAAGgAAABcAAAA6AAAAAAAAAIAEAAAfAAAAZQAAAGYAAAA7AAAAMQAAABsAAAA8AAAAAAAAAJAEAABnAAAAaAAAAFkAAABaAAAAKQAAAC0AAABpAAAAJAAAACgAAAAmAAAAPQAAAFwAAAA+AAAAFQAAACgAAAAsAAAALQAAAC4AAAAvAAAAMAAAAF0AAAAxAAAAJwAAADIAAAAzAAAALgAAAC8AAAAcAAAAHQAAADIAAABeAAAANAAAADUAAAA2AAAANwAAACIAAAAdAAAAXwAAADgAAAAeAAAAIwAAACAAAABgAAAAOQAAACEAAAAAAAAAoAQAABcAAABqAAAAIAAAABgAAAAAAAAAwAQAAGsAAABsAAAAFQAAAAAAAADYBAAAbQAAAG4AAABvAAAAFQAAAD8AAABAAAAAFQAAABYAAAAZAAAAMwAAABwAAAAAAAAA6AQAAHAAAABxAAAAcgAAABUAAABBAAAAQgAAABUAAAAXAAAAGgAAADQAAAAdAAAAcwAAAAAAAAD4BAAAcAAAAHQAAAByAAAAFQAAAEEAAABDAAAAFQAAABcAAAAaAAAANQAAAB4AAABzAAAAKQAAAAAAAAAIBQAAcAAAAHUAAAB2AAAAFQAAAEQAAABFAAAAFQAAABgAAAAbAAAANgAAAB8AAAAAAAAAGAUAAHAAAAB3AAAAbwAAABUAAAAVAAAAFQAAABUAAAAVAAAAFQAAADMAAAAcAAAAAAAAADgFAABwAAAAeAAAAG8AAAAVAAAARgAAAEcAAAAVAAAAGQAAABwAAAA3AAAAIAAAAAAAAABIBQAAcAAAAHkAAAB6AAAAFQAAAEgAAABJAAAAFgAAABoAAAAdAAAAOAAAACEAAAAqAAAAAAAAAFgFAABwAAAAewAAAHwAAAAVAAAASgAAAEsAAAAVAAAAGwAAAB4AAAA5AAAAIgAAAAAAAABoBQAAfQAAAH4AAAArAAAAFQAAACwAAAB/AAAAOgAAACkAAAAVAAAAFQAAABYAAAAVAAAAFgAAAAAAAACABQAAgAAAAIEAAAAXAAAATAAAACQAAAAlAAAAKgAAAAAAAACYBQAAHQAAAIIAAAAaAAAAAAAAAKgFAAAdAAAAgwAAABsAAAAAAAAAuAUAABsAAACEAAAAFgAAAB8AAAAAAAAAyAUAABcAAACFAAAAFQAAACAAAAAAAAAA2AUAAIYAAACHAAAAGAAAAE0AAABOAAAAGQAAAE8AAABQAAAAUQAAABoAAAA7AAAAiAAAADwAAABSAAAAAAAAAOgFAAAXAAAAiQAAABUAAAAhAAAAAAAAAAgGAACKAAAAiwAAABUAAAABAAAAAgAAAAAAAAACAAAAAAAAAAEAAAAAAAAAIAYAABgAAACMAAAAjQAAADsAAAA9AAAAIwAAAB0AAAAAAAAAKAYAABgAAACOAAAAjwAAADsAAAA9AAAAIwAAAB0AAAAtAAAAKwAAAAAAAAA4BgAAGAAAAJAAAACRAAAAOwAAAD0AAAAjAAAAHQAAAC4AAAAsAAAAAAAAAEgGAACSAAAAkwAAABwAAAAkAAAAUwAAAFQAAAAlAAAAJgAAAC0AAAA+AAAAIQAAAD8AAABAAAAAQQAAACIAAABVAAAAAAAAAFgGAACUAAAAlQAAACMAAAAAAAAAcAYAAJYAAACXAAAAGwAAABwAAAAnAAAAHQAAAAAAAAAYBwAAOAAAAJgAAAAdAAAAAAAAAAgHAAA4AAAAmQAAAB4AAAAAAAAA+AYAADgAAACaAAAAHwAAAAAAAADoBgAAOAAAAJsAAAAgAAAAAAAAANgGAAA4AAAAnAAAACEAAAAAAAAAyAYAADgAAACdAAAAIgAAAAAAAAC4BgAAOAAAAJ4AAAAjAAAAAAAAAKgGAAA4AAAAnwAAACQAAAAAAAAAmAYAADgAAACgAAAAJQAAAAAAAACIBgAAOAAAAKEAAAAmAAAAAAAAACgHAACiAAAAowAAAC8AAABWAAAAAAAAADAHAACkAAAApQAAABsAAAAYAAAAVwAAAAAAAABABwAApgAAAKcAAAAcAAAAGQAAAFgAAAAAAAAAUAcAAE8AAACoAAAALgAAAAAAAABgBwAAqQAAAKoAAAAvAAAAAAAAAHAHAACrAAAArAAAAB0AAAAaAAAAWQAAAAAAAACABwAATwAAAK0AAAAwAAAAAAAAAJAHAACuAAAArwAAADAAAAAxAAAAFwAAAAAAAACoBwAAsAAAALEAAABZAAAAWgAAACkAAAAtAAAAsgAAACQAAAAoAAAAMQAAAFoAAABcAAAAWwAAAAAAAACwBwAAYQAAALMAAAAkAAAAAAAAAPAHAABPAAAAtAAAADIAAAAVAAAAAAAAAOAHAABPAAAAtQAAADIAAAAWAAAAAAAAANAHAAA/AAAAtgAAABwAAABcAAAAFgAAABkAAAAaAAAAAAAAAMAHAAAbAAAAtwAAACUAAAAiAAAAAAAAAAAIAAC4AAAAuQAAADMAAAA0AAAA/P///wAIAAC6AAAAuwAAADUAAAAAAAAAQAgAAE8AAAC8AAAANgAAABUAAAAAAAAAMAgAAE8AAAC9AAAANgAAABYAAAAAAAAAIAgAABcAAAC+AAAAJgAAACMAAAAAAAAAUAgAAGEAAAC/AAAAJwAAAAAAAABgCAAAYQAAAMAAAAAoAAAAAAAAAHAIAACuAAAAwQAAADAAAAAxAAAAGAAAAAAAAACACAAAwgAAAMMAAAAeAAAAGwAAAF0AAAAAAAAAkAgAAMQAAADFAAAAJwAAAAAAAACgCAAAxgAAAMcAAAAfAAAAHAAAAF4AAAAAAAAA0AgAAK4AAADIAAAAMgAAADMAAAAZAAAAAAAAAMAIAACuAAAAyQAAADQAAAA1AAAAGgAAAAAAAACwCAAArgAAAMoAAAAwAAAAMQAAABsAAAAAAAAA4AgAAMsAAADMAAAAIAAAAB0AAABfAAAAAAAAAPAIAAA/AAAAzQAAABwAAABgAAAAFgAAABkAAAAaAAAAAAAAAAAJAADOAAAAzwAAACEAAAAeAAAAYQAAAAAAAAAQCQAAPwAAANAAAAA2AAAAJQAAABYAAAAZAAAAGgAAAAAAAAAgCQAA0QAAANIAAAA3AAAAHQAAABUAAAAVAAAAYgAAAEIAAAAZAAAAQwAAACAAAAAmAAAAGQAAAEQAAAAoAAAAIQAAAGMAAADTAAAAAAAAADAJAABHAAAA1AAAADgAAAAdAAAAFQAAABUAAABkAAAAIwAAABoAAABFAAAAZQAAABsAAAAYAAAARgAAACkAAAAhAAAANwAAADgAAAAXAAAAOQAAABwAAAAmAAAAIAAAAAAAAABACQAARwAAANUAAAA4AAAAHQAAABUAAAAVAAAAZAAAACMAAAAaAAAARwAAAGYAAAAbAAAAGAAAAEYAAAApAAAAIQAAADcAAAA4AAAAFwAAADkAAAAcAAAAJgAAACAAAAAAAAAAUAkAAEcAAADWAAAAOAAAAB0AAAAVAAAAFQAAAGQAAAAjAAAAGgAAAEgAAABnAAAAGwAAABgAAABGAAAAKQAAACEAAAA3AAAAOAAAABcAAAA5AAAAHAAAACYAAAAgAAAAAAAAAGAJAADXAAAA2AAAADoAAAAdAAAAFQAAABUAAABoAAAAIwAAABsAAABJAAAAIAAAABsAAAAYAAAASgAAACoAAAAhAAAAJAAAADkAAAAXAAAAOwAAABwAAAAmAAAAIAAAAAAAAABwCQAARwAAANkAAAA8AAAAHQAAABUAAAAVAAAAJAAAACMAAAAcAAAASwAAACAAAAAnAAAAGgAAACUAAAAaAAAAIQAAADoAAAA7AAAAFwAAAD0AAAAcAAAAJgAAACAAAAAAAAAAgAkAANoAAADbAAAAPgAAAB0AAAAVAAAAFQAAAGkAAABMAAAAHQAAAE0AAAAgAAAAGAAAABYAAABOAAAAKwAAACEAAAA/AAAAPAAAAD0AAABqAAAAawAAAAAAAACQCQAA3AAAAN0AAAA+AAAAAAAAAKgJAADcAAAA3gAAAD8AAAAAAAAAuAkAANwAAADfAAAAQAAAAAAAAADICQAA4AAAAOEAAAA+AAAAHQAAABUAAAAVAAAAbAAAAEwAAAAdAAAATwAAACAAAAAYAAAAFgAAACIAAAAZAAAAIQAAAEAAAAA8AAAAPQAAAAAAAADYCQAATwAAAOIAAABBAAAAAAAAAOgJAADjAAAA5AAAAEIAAAAAAAAA+AkAAOUAAADmAAAAQwAAAB0AAAAVAAAAFQAAAG0AAABQAAAAHgAAAFEAAAAgAAAAGAAAABYAAABSAAAALAAAACEAAABEAAAAAAAAAAgKAABTAAAA5wAAADgAAAAdAAAAFQAAABUAAAAkAAAAIwAAAB8AAAAVAAAAIAAAABsAAAAYAAAAJQAAABoAAAAhAAAAJAAAAEEAAAAXAAAARQAAABwAAAAmAAAAIAAAABsAAAAVAAAAFQAAABUAAAAVAAAAFQAAABUAAAAVAAAAAAAAACgKAADoAAAA6QAAAEYAAAAdAAAAFQAAABUAAABuAAAAUwAAACAAAABUAAAAIAAAABgAAAAWAAAAIgAAABkAAAAhAAAARwAAAAAAAABQCgAARwAAAOoAAAA4AAAAHQAAABUAAAAVAAAAJAAAACMAAAAVAAAAFQAAACAAAAAbAAAAGAAAACUAAAAaAAAAIQAAACQAAAAVAAAAFwAAABUAAAAcAAAAJgAAACAAAAAAAAAAcAoAAOsAAADsAAAASAAAAB0AAAAVAAAAFQAAAG8AAAAjAAAAHwAAAFUAAAAgAAAAGwAAABgAAABWAAAALQAAACEAAABCAAAAQwAAABcAAABJAAAAHAAAACYAAAAgAAAAGwAAAFcAAABYAAAASgAAAEQAAABZAAAASwAAABYAAAAVAAAAAAAAAJAKAABHAAAA7QAAAEwAAAAdAAAAFQAAABUAAABwAAAAIwAAACEAAABaAAAAcQAAACgAAAAYAAAAWwAAAC4AAAAhAAAAJAAAAEUAAAAXAAAATQAAABwAAAAmAAAAIAAAAAAAAACgCgAARwAAAO4AAABMAAAAHQAAABUAAAAVAAAAcAAAACMAAAAhAAAAXAAAAHEAAAAoAAAAGAAAAFsAAAAuAAAAIQAAACQAAABFAAAAFwAAAE0AAAAcAAAAJgAAACAAAAAAAAAAsAoAAEcAAADvAAAATAAAAB0AAAAVAAAAFQAAAHAAAAAjAAAAIQAAAF0AAABxAAAAKAAAABgAAABbAAAALgAAACEAAAAkAAAARQAAABcAAABNAAAAHAAAACYAAAAgAAAAAAAAAMAKAABTAAAA8AAAAEgAAAAdAAAAFQAAABUAAAByAAAAXgAAAB8AAABfAAAAIAAAABsAAAAYAAAAJQAAABoAAAAhAAAARgAAAEcAAAAXAAAATgAAABwAAAAmAAAAIAAAABsAAABgAAAAYQAAAE8AAABIAAAAYgAAAFAAAAAXAAAAAAAAANAKAADjAAAA8QAAAFEAAAAAAAAA8AoAAFMAAADyAAAAUgAAAB0AAAAVAAAAFQAAAHMAAAAjAAAAIgAAAGMAAAAgAAAAKQAAABgAAAAlAAAAGgAAACEAAABJAAAASgAAABcAAABTAAAAHAAAAGQAAABLAAAAGwAAAGUAAABmAAAAVAAAAEwAAABnAAAAVQAAABgAAABNAAAAAAAAAAALAADzAAAA9AAAACgAAABoAAAALwAAAHQAAAB1AAAAKQAAAAAAAAAgCwAA4wAAAPUAAABWAAAAAAAAABALAADjAAAA9gAAAFcAAAAAAAAAMAsAAPcAAAD4AAAAWAAAAB0AAAAVAAAAFQAAAHYAAABpAAAAIwAAAGoAAAAgAAAAGAAAABYAAAAiAAAAGQAAACEAAABZAAAAJAAAAAAAAABACwAARwAAAPkAAABaAAAAHQAAABUAAAAVAAAAdwAAACMAAAAkAAAAawAAAHgAAAAqAAAAGAAAAGwAAAAwAAAAIQAAAE4AAABPAAAAFwAAAFsAAAAcAAAAJgAAACAAAAAbAAAAAAAAAFALAABHAAAA+gAAAFoAAAAdAAAAFQAAABUAAAB3AAAAIwAAACQAAABtAAAAeAAAACoAAAAYAAAAbAAAADAAAAAhAAAATgAAAFAAAAAXAAAAXAAAABwAAAAmAAAAIAAAABwAAAAAAAAAYAsAAEcAAAD7AAAAWgAAAB0AAAAVAAAAFQAAAHcAAAAjAAAAJAAAAG4AAAB4AAAAKgAAABgAAABsAAAAMAAAACEAAABOAAAAUQAAABcAAABdAAAAHAAAACYAAAAgAAAAHQAAAAAAAABwCwAA/AAAAP0AAABeAAAAFQAAABYAAAB5AAAAegAAAG8AAAB7AAAAfAAAAHAAAABSAAAAUwAAAHEAAAAxAAAAAAAAAIALAAD+AAAA/wAAABUAAABUAAAAIgAAAF8AAAAWAAAAYAAAAH0AAAByAAAAcwAAAFUAAAB+AAAAAAEAAAAAAACQCwAA/gAAAAEBAAAVAAAAVAAAACIAAABfAAAAFgAAAGAAAAB9AAAAcgAAAHMAAABVAAAAfgAAAAABAAAAAAAAqAsAAAIBAAADAQAAMgAAACoAAABWAAAAdAAAAHUAAAB2AAAAVwAAAHcAAABYAAAAfwAAAFkAAAAzAAAAeAAAAIAAAACBAAAAAAAAAMgLAAAEAQAABQEAADQAAAArAAAAWgAAAHkAAAB6AAAAewAAAFsAAAB8AAAAXAAAAIIAAABdAAAANQAAAH0AAACDAAAAhAAAAAAAAADYCwAAlAAAAAYBAAApAAAAAAAAAOgLAACUAAAABwEAACoAAAAAAAAA+AsAAAgBAAAJAQAAFgAAAF4AAAAjAAAAYQAAABcAAABiAAAAhQAAAH4AAAB/AAAAXwAAAIYAAAAKAQAAAAAAAAgMAAA/AAAACwEAAGAAAACHAAAAFgAAABkAAAAaAAAAAAAAABgMAAA/AAAADAEAABwAAACIAAAAFgAAABkAAAAaAAAAAAAAACgMAAA/AAAADQEAABwAAACJAAAAFgAAABkAAAAaAAAAAAAAAEAMAAAOAQAADwEAACgAAABoAAAALwAAAHQAAAB1AAAAAAAAAFgMAABPAAAAEAEAADYAAAAVAAAAAAAAAGgMAAARAQAAEgEAABUAAAAAAAAAeAwAAK4AAAATAQAAYQAAAGIAAAAcAAAAAAAAAJAMAAARAQAAFAEAABYAAAAAAAAAoAwAAIoAAAAVAQAAFgAAAAAAAACwDAAArgAAABYBAABjAAAAZAAAAB0AAAAAAAAAwAwAAIoAAAAXAQAAFwAAAAAAAADQDAAAGAEAABkBAAAkAAAAAAAAAPgMAAAaAQAAGwEAACUAAAAfAAAAigAAAAAAAAAIDQAAHAEAAB0BAAAmAAAAIAAAAIsAAAAAAAAAGA0AABgBAAAeAQAAJwAAAAAAAAAoDQAAGAEAAB8BAAAoAAAAAAAAADgNAAAgAQAAIQEAADYAAAA3AAAAgAAAAAAAAABADQAAIgEAACMBAAAAAAAASA0AACQBAAAlAQAAXgAAABUAAAAWAAAAeQAAAHoAAABvAAAAjAAAAI0AAABwAAAAUgAAAFMAAABxAAAAMQAAAFBrAAD/////AAAAAPANAAAmAQAAJwEAACgBAAApAQAAOQAAABgAAAApAAAAYwAAAAAAAAAYDgAAJgEAACoBAAAoAQAAKQEAADkAAAAZAAAAKgAAAGQAAAAAAAAASA4AACYBAAArAQAAKAEAACkBAAA5AAAAGgAAACsAAABlAAAATjE2YnRDb2xsaXNpb25Xb3JsZDI3Q2xvc2VzdENvbnZleFJlc3VsdENhbGxiYWNrRQBOMTZidENvbGxpc2lvbldvcmxkMjBDb252ZXhSZXN1bHRDYWxsYmFja0UATjE2YnRDb2xsaXNpb25Xb3JsZDI0QWxsSGl0c1JheVJlc3VsdENhbGxiYWNrRQBOMTZidENvbGxpc2lvbldvcmxkMTdSYXlSZXN1bHRDYWxsYmFja0UAMThidFZlaGljbGVSYXljYXN0ZXIAMjBidERlZmF1bHRNb3Rpb25TdGF0ZQAxM2J0TW90aW9uU3RhdGUAMTlidEdob3N0UGFpckNhbGxiYWNrADI1YnRPdmVybGFwcGluZ1BhaXJDYWxsYmFjawBOMTZidENvbGxpc2lvbldvcmxkMjRDbG9zZXN0UmF5UmVzdWx0Q2FsbGJhY2tFADI5Q29uY3JldGVDb250YWN0UmVzdWx0Q2FsbGJhY2sATjE2YnRDb2xsaXNpb25Xb3JsZDIxQ29udGFjdFJlc3VsdENhbGxiYWNrRQB7IHZhciBzZWxmID0gTW9kdWxlWydnZXRDYWNoZSddKE1vZHVsZVsnQ29uY3JldGVDb250YWN0UmVzdWx0Q2FsbGJhY2snXSlbJDBdOyBpZiAoIXNlbGYuaGFzT3duUHJvcGVydHkoJ2FkZFNpbmdsZVJlc3VsdCcpKSB0aHJvdyAnYSBKU0ltcGxlbWVudGF0aW9uIG11c3QgaW1wbGVtZW50IGFsbCBmdW5jdGlvbnMsIHlvdSBmb3Jnb3QgQ29uY3JldGVDb250YWN0UmVzdWx0Q2FsbGJhY2s6OmFkZFNpbmdsZVJlc3VsdC4nOyByZXR1cm4gc2VsZlsnYWRkU2luZ2xlUmVzdWx0J10oJDEsJDIsJDMsJDQsJDUsJDYsJDcpOyB9ADExRGVidWdEcmF3ZXIAMTJidElEZWJ1Z0RyYXcAeyB2YXIgc2VsZiA9IE1vZHVsZVsnZ2V0Q2FjaGUnXShNb2R1bGVbJ0RlYnVnRHJhd2VyJ10pWyQwXTsgaWYgKCFzZWxmLmhhc093blByb3BlcnR5KCdkcmF3TGluZScpKSB0aHJvdyAnYSBKU0ltcGxlbWVudGF0aW9uIG11c3QgaW1wbGVtZW50IGFsbCBmdW5jdGlvbnMsIHlvdSBmb3Jnb3QgRGVidWdEcmF3ZXI6OmRyYXdMaW5lLic7IHNlbGZbJ2RyYXdMaW5lJ10oJDEsJDIsJDMpOyB9AHsgdmFyIHNlbGYgPSBNb2R1bGVbJ2dldENhY2hlJ10oTW9kdWxlWydEZWJ1Z0RyYXdlciddKVskMF07IGlmICghc2VsZi5oYXNPd25Qcm9wZXJ0eSgnZHJhd0NvbnRhY3RQb2ludCcpKSB0aHJvdyAnYSBKU0ltcGxlbWVudGF0aW9uIG11c3QgaW1wbGVtZW50IGFsbCBmdW5jdGlvbnMsIHlvdSBmb3Jnb3QgRGVidWdEcmF3ZXI6OmRyYXdDb250YWN0UG9pbnQuJzsgc2VsZlsnZHJhd0NvbnRhY3RQb2ludCddKCQxLCQyLCQzLCQ0LCQ1KTsgfQB7IHZhciBzZWxmID0gTW9kdWxlWydnZXRDYWNoZSddKE1vZHVsZVsnRGVidWdEcmF3ZXInXSlbJDBdOyBpZiAoIXNlbGYuaGFzT3duUHJvcGVydHkoJ3JlcG9ydEVycm9yV2FybmluZycpKSB0aHJvdyAnYSBKU0ltcGxlbWVudGF0aW9uIG11c3QgaW1wbGVtZW50IGFsbCBmdW5jdGlvbnMsIHlvdSBmb3Jnb3QgRGVidWdEcmF3ZXI6OnJlcG9ydEVycm9yV2FybmluZy4nOyBzZWxmWydyZXBvcnRFcnJvcldhcm5pbmcnXSgkMSk7IH0AeyB2YXIgc2VsZiA9IE1vZHVsZVsnZ2V0Q2FjaGUnXShNb2R1bGVbJ0RlYnVnRHJhd2VyJ10pWyQwXTsgaWYgKCFzZWxmLmhhc093blByb3BlcnR5KCdkcmF3M2RUZXh0JykpIHRocm93ICdhIEpTSW1wbGVtZW50YXRpb24gbXVzdCBpbXBsZW1lbnQgYWxsIGZ1bmN0aW9ucywgeW91IGZvcmdvdCBEZWJ1Z0RyYXdlcjo6ZHJhdzNkVGV4dC4nOyBzZWxmWydkcmF3M2RUZXh0J10oJDEsJDIpOyB9AHsgdmFyIHNlbGYgPSBNb2R1bGVbJ2dldENhY2hlJ10oTW9kdWxlWydEZWJ1Z0RyYXdlciddKVskMF07IGlmICghc2VsZi5oYXNPd25Qcm9wZXJ0eSgnc2V0RGVidWdNb2RlJykpIHRocm93ICdhIEpTSW1wbGVtZW50YXRpb24gbXVzdCBpbXBsZW1lbnQgYWxsIGZ1bmN0aW9ucywgeW91IGZvcmdvdCBEZWJ1Z0RyYXdlcjo6c2V0RGVidWdNb2RlLic7IHNlbGZbJ3NldERlYnVnTW9kZSddKCQxKTsgfQB7IHZhciBzZWxmID0gTW9kdWxlWydnZXRDYWNoZSddKE1vZHVsZVsnRGVidWdEcmF3ZXInXSlbJDBdOyBpZiAoIXNlbGYuaGFzT3duUHJvcGVydHkoJ2dldERlYnVnTW9kZScpKSB0aHJvdyAnYSBKU0ltcGxlbWVudGF0aW9uIG11c3QgaW1wbGVtZW50IGFsbCBmdW5jdGlvbnMsIHlvdSBmb3Jnb3QgRGVidWdEcmF3ZXI6OmdldERlYnVnTW9kZS4nOyByZXR1cm4gc2VsZlsnZ2V0RGVidWdNb2RlJ10oKTsgfQAxN2J0VHJpYW5nbGVJbmZvTWFwADlidEhhc2hNYXBJOWJ0SGFzaEludDE0YnRUcmlhbmdsZUluZm9FAGJ0VHJpYW5nbGVJbmZvRGF0YQBidFRyaWFuZ2xlSW5mb01hcERhdGEAMjNidERlZmF1bHRTb2Z0Qm9keVNvbHZlcgAxNmJ0U29mdEJvZHlTb2x2ZXIANDFidFNvZnRCb2R5UmlnaWRCb2R5Q29sbGlzaW9uQ29uZmlndXJhdGlvbgBOMzVidFNvZnRCb2R5Q29uY2F2ZUNvbGxpc2lvbkFsZ29yaXRobTE3U3dhcHBlZENyZWF0ZUZ1bmNFADMwYnRDb2xsaXNpb25BbGdvcml0aG1DcmVhdGVGdW5jAE4zNWJ0U29mdEJvZHlDb25jYXZlQ29sbGlzaW9uQWxnb3JpdGhtMTBDcmVhdGVGdW5jRQBOMjlidFNvZnRSaWdpZENvbGxpc2lvbkFsZ29yaXRobTEwQ3JlYXRlRnVuY0UATjI4YnRTb2Z0U29mdENvbGxpc2lvbkFsZ29yaXRobTEwQ3JlYXRlRnVuY0UAU29mdEJvZHlNYXRlcmlhbERhdGEAU29mdEJvZHlOb2RlRGF0YQBTb2Z0Qm9keUxpbmtEYXRhAFNvZnRCb2R5RmFjZURhdGEAU29mdEJvZHlUZXRyYURhdGEAU29mdFJpZ2lkQW5jaG9yRGF0YQBTb2Z0Qm9keVBvc2VEYXRhAFNvZnRCb2R5Q2x1c3RlckRhdGEAYnRTb2Z0Qm9keUpvaW50RGF0YQBidFNvZnRCb2R5RmxvYXREYXRhADEwYnRTb2Z0Qm9keQBOMTBidFNvZnRCb2R5MTVSYXlGcm9tVG9DYXN0ZXJFAE42YnREYnZ0OElDb2xsaWRlRQBOMTBidFNvZnRCb2R5NUpvaW50RQBOMTBidFNvZnRCb2R5NkNKb2ludEUAU29mdEJvZHkAMjRidFNvZnRCb2R5Q29sbGlzaW9uU2hhcGUAVXBkYXRlQ2x1c3RlcnMAU29mdEJvZHkgYXBwbHlGb3JjZXMAQXBwbHlDbHVzdGVycwBidENvbnZleEludGVybmFsU2hhcGVEYXRhAFNPRlRDTFVTVEVSADI3YnRTb2Z0Q2x1c3RlckNvbGxpc2lvblNoYXBlAE4xNWJ0U29mdENvbGxpZGVyczEyQ29sbGlkZUNMX1JTRQBOMTVidFNvZnRDb2xsaWRlcnMxMUNsdXN0ZXJCYXNlRQBOMTVidFNvZnRDb2xsaWRlcnMxM0NvbGxpZGVTREZfUlNFAE4xNWJ0U29mdENvbGxpZGVyczEyQ29sbGlkZVZGX1NTRQBOMTVidFNvZnRDb2xsaWRlcnMxMkNvbGxpZGVDTF9TU0UAMjlidFNvZnRSaWdpZENvbGxpc2lvbkFsZ29yaXRobQAyMGJ0Q29sbGlzaW9uQWxnb3JpdGhtAFRyaWFuZ2xlADE1YnRUcmlhbmdsZVNoYXBlAE4xMmJ0Q29udmV4Q2FzdDEwQ2FzdFJlc3VsdEUAWk4zNWJ0U29mdEJvZHlDb25jYXZlQ29sbGlzaW9uQWxnb3JpdGhtMjFjYWxjdWxhdGVUaW1lT2ZJbXBhY3RFUDE3YnRDb2xsaXNpb25PYmplY3RTMV9SSzE2YnREaXNwYXRjaGVySW5mb1AxNmJ0TWFuaWZvbGRSZXN1bHRFMzFMb2NhbFRyaWFuZ2xlU3BoZXJlQ2FzdENhbGxiYWNrADI2YnRTb2Z0Qm9keVRyaWFuZ2xlQ2FsbGJhY2sAMzVidFNvZnRCb2R5Q29uY2F2ZUNvbGxpc2lvbkFsZ29yaXRobQBzb2x2ZVNvZnRDb25zdHJhaW50cwBwcmVkaWN0VW5jb25zdHJhaW50TW90aW9uU29mdEJvZHkAcmF5VGVzdAAyM2J0U29mdFNpbmdsZVJheUNhbGxiYWNrADIzYnRCcm9hZHBoYXNlUmF5Q2FsbGJhY2sAMjRidEJyb2FkcGhhc2VBYWJiQ2FsbGJhY2sAMjRidFNvZnRSaWdpZER5bmFtaWNzV29ybGQAMjhidFNvZnRTb2Z0Q29sbGlzaW9uQWxnb3JpdGhtAGJ0UmlnaWRCb2R5RmxvYXREYXRhADExYnRSaWdpZEJvZHkAaW50ZXJuYWxTaW5nbGVTdGVwU2ltdWxhdGlvbgB1cGRhdGVBY3Rpb25zAGNyZWF0ZVByZWRpY3RpdmVDb250YWN0cwByZWxlYXNlIHByZWRpY3RpdmUgY29udGFjdCBtYW5pZm9sZHMAcHJlZGljdGl2ZSBjb252ZXhTd2VlcFRlc3QAMzRidENsb3Nlc3ROb3RNZUNvbnZleFJlc3VsdENhbGxiYWNrAHVwZGF0ZUFjdGl2YXRpb25TdGF0ZQBzb2x2ZUNvbnN0cmFpbnRzAGNhbGN1bGF0ZVNpbXVsYXRpb25Jc2xhbmRzAGludGVncmF0ZVRyYW5zZm9ybXMAQ0NEIG1vdGlvbiBjbGFtcGluZwBhcHBseSBzcGVjdWxhdGl2ZSBjb250YWN0IHJlc3RpdHV0aW9uAHByZWRpY3RVbmNvbnN0cmFpbnRNb3Rpb24Ac3luY2hyb25pemVNb3Rpb25TdGF0ZXMAc3RlcFNpbXVsYXRpb24AYnREeW5hbWljc1dvcmxkRmxvYXREYXRhAGRlYnVnRHJhd1dvcmxkADIzYnREaXNjcmV0ZUR5bmFtaWNzV29ybGQAMTVidER5bmFtaWNzV29ybGQAMjdJbnBsYWNlU29sdmVySXNsYW5kQ2FsbGJhY2sATjI1YnRTaW11bGF0aW9uSXNsYW5kTWFuYWdlcjE0SXNsYW5kQ2FsbGJhY2tFADE3YnRGaXhlZENvbnN0cmFpbnQAYnRHZW5lcmljNkRvZkNvbnN0cmFpbnREYXRhADIzYnRHZW5lcmljNkRvZkNvbnN0cmFpbnQAYnRHZW5lcmljNkRvZlNwcmluZ0NvbnN0cmFpbnREYXRhADI5YnRHZW5lcmljNkRvZlNwcmluZ0NvbnN0cmFpbnQAYnRQb2ludDJQb2ludENvbnN0cmFpbnRGbG9hdERhdGEAMjNidFBvaW50MlBvaW50Q29uc3RyYWludABidFR5cGVkQ29uc3RyYWludEZsb2F0RGF0YQAxN2J0VHlwZWRDb25zdHJhaW50ADEzYnRUeXBlZE9iamVjdABidFNsaWRlckNvbnN0cmFpbnREYXRhADE4YnRTbGlkZXJDb25zdHJhaW50AGJ0Q29uZVR3aXN0Q29uc3RyYWludERhdGEAMjFidENvbmVUd2lzdENvbnN0cmFpbnQAYnRIaW5nZUNvbnN0cmFpbnRGbG9hdERhdGEAMTdidEhpbmdlQ29uc3RyYWludABzb2x2ZUdyb3VwQ2FjaGVGcmllbmRseUl0ZXJhdGlvbnMAc29sdmVHcm91cENhY2hlRnJpZW5kbHlTZXR1cABzb2x2ZUdyb3VwADM1YnRTZXF1ZW50aWFsSW1wdWxzZUNvbnN0cmFpbnRTb2x2ZXIAMThidENvbnN0cmFpbnRTb2x2ZXIAMTZidFJheWNhc3RWZWhpY2xlADE3YnRBY3Rpb25JbnRlcmZhY2UAMjVidERlZmF1bHRWZWhpY2xlUmF5Y2FzdGVyADI3U21vb3RoUmF5Q2FzdFJlc3VsdENhbGxiYWNrADI5U21vb3RoU2hhcGVDYXN0UmVzdWx0Q2FsbGJhY2sAMjRidFNtb290aFZlaGljbGVSYXljYXN0ZXIANDNidEtpbmVtYXRpY0Nsb3Nlc3ROb3RNZUNvbnZleFJlc3VsdENhbGxiYWNrADMwYnRLaW5lbWF0aWNDaGFyYWN0ZXJDb250cm9sbGVyADMwYnRDaGFyYWN0ZXJDb250cm9sbGVySW50ZXJmYWNlADIyYnRTdWJzaW1wbGV4Q29udmV4Q2FzdAAxMmJ0Q29udmV4Q2FzdABidENvbGxpc2lvbk9iamVjdEZsb2F0RGF0YQAxN2J0Q29sbGlzaW9uT2JqZWN0ADEzYnRHaG9zdE9iamVjdAAyNGJ0UGFpckNhY2hpbmdHaG9zdE9iamVjdAAyM2J0Q29sbGlzaW9uUGFpckNhbGxiYWNrADE3YnRPdmVybGFwQ2FsbGJhY2sAMjFidENvbGxpc2lvbkRpc3BhdGNoZXIAMzFidERlZmF1bHRDb2xsaXNpb25Db25maWd1cmF0aW9uADI0YnRDb2xsaXNpb25Db25maWd1cmF0aW9uAE4zMWJ0Q29udmV4UGxhbmVDb2xsaXNpb25BbGdvcml0aG0xMENyZWF0ZUZ1bmNFAE4yNmJ0Qm94Qm94Q29sbGlzaW9uQWxnb3JpdGhtMTBDcmVhdGVGdW5jRQBOMzRidFNwaGVyZVRyaWFuZ2xlQ29sbGlzaW9uQWxnb3JpdGhtMTBDcmVhdGVGdW5jRQBOMzJidFNwaGVyZVNwaGVyZUNvbGxpc2lvbkFsZ29yaXRobTEwQ3JlYXRlRnVuY0UATjE2YnRFbXB0eUFsZ29yaXRobTEwQ3JlYXRlRnVuY0UATjI4YnRDb21wb3VuZENvbGxpc2lvbkFsZ29yaXRobTE3U3dhcHBlZENyZWF0ZUZ1bmNFAE4zNmJ0Q29tcG91bmRDb21wb3VuZENvbGxpc2lvbkFsZ29yaXRobTEwQ3JlYXRlRnVuY0UATjI4YnRDb21wb3VuZENvbGxpc2lvbkFsZ29yaXRobTEwQ3JlYXRlRnVuY0UATjMzYnRDb252ZXhDb25jYXZlQ29sbGlzaW9uQWxnb3JpdGhtMTdTd2FwcGVkQ3JlYXRlRnVuY0UATjMzYnRDb252ZXhDb25jYXZlQ29sbGlzaW9uQWxnb3JpdGhtMTBDcmVhdGVGdW5jRQAyNWJ0U2ltdWxhdGlvbklzbGFuZE1hbmFnZXIAaXNsYW5kVW5pb25GaW5kQW5kUXVpY2tTb3J0AHByb2Nlc3NJc2xhbmRzADMxYnRDb252ZXhQbGFuZUNvbGxpc2lvbkFsZ29yaXRobQBaTjMzYnRDb252ZXhDb25jYXZlQ29sbGlzaW9uQWxnb3JpdGhtMjFjYWxjdWxhdGVUaW1lT2ZJbXBhY3RFUDE3YnRDb2xsaXNpb25PYmplY3RTMV9SSzE2YnREaXNwYXRjaGVySW5mb1AxNmJ0TWFuaWZvbGRSZXN1bHRFMzFMb2NhbFRyaWFuZ2xlU3BoZXJlQ2FzdENhbGxiYWNrADI0YnRDb252ZXhUcmlhbmdsZUNhbGxiYWNrADMzYnRDb252ZXhDb25jYXZlQ29sbGlzaW9uQWxnb3JpdGhtADI2YnRCb3hCb3hDb2xsaXNpb25BbGdvcml0aG0AMjNidENvbm5lY3Rpdml0eVByb2Nlc3NvcgAxNmJ0TWFuaWZvbGRSZXN1bHQATjM2YnREaXNjcmV0ZUNvbGxpc2lvbkRldGVjdG9ySW50ZXJmYWNlNlJlc3VsdEUAcGVyZm9ybURpc2NyZXRlQ29sbGlzaW9uRGV0ZWN0aW9uAGRpc3BhdGNoQWxsQ29sbGlzaW9uUGFpcnMAWk4xNmJ0Q29sbGlzaW9uV29ybGQyMXJheVRlc3RTaW5nbGVJbnRlcm5hbEVSSzExYnRUcmFuc2Zvcm1TMl9QSzI0YnRDb2xsaXNpb25PYmplY3RXcmFwcGVyUk5TXzE3UmF5UmVzdWx0Q2FsbGJhY2tFRTE1TG9jYWxJbmZvQWRkZXIyAFpOMTZidENvbGxpc2lvbldvcmxkMjFyYXlUZXN0U2luZ2xlSW50ZXJuYWxFUksxMWJ0VHJhbnNmb3JtUzJfUEsyNGJ0Q29sbGlzaW9uT2JqZWN0V3JhcHBlclJOU18xN1JheVJlc3VsdENhbGxiYWNrRUU5UmF5VGVzdGVyAFpOMTZidENvbGxpc2lvbldvcmxkMjFyYXlUZXN0U2luZ2xlSW50ZXJuYWxFUksxMWJ0VHJhbnNmb3JtUzJfUEsyNGJ0Q29sbGlzaW9uT2JqZWN0V3JhcHBlclJOU18xN1JheVJlc3VsdENhbGxiYWNrRUUyOUJyaWRnZVRyaWFuZ2xlUmF5Y2FzdENhbGxiYWNrXzAAWk4xNmJ0Q29sbGlzaW9uV29ybGQyMXJheVRlc3RTaW5nbGVJbnRlcm5hbEVSSzExYnRUcmFuc2Zvcm1TMl9QSzI0YnRDb2xsaXNpb25PYmplY3RXcmFwcGVyUk5TXzE3UmF5UmVzdWx0Q2FsbGJhY2tFRTI5QnJpZGdlVHJpYW5nbGVSYXljYXN0Q2FsbGJhY2sAMTlidFNpbmdsZVJheUNhbGxiYWNrADE3RGVidWdEcmF3Y2FsbGJhY2sAY2FsY3VsYXRlT3ZlcmxhcHBpbmdQYWlycwB1cGRhdGVBYWJicwABT3ZlcmZsb3cgaW4gQUFCQiwgb2JqZWN0IHJlbW92ZWQgZnJvbSBzaW11bGF0aW9uAElmIHlvdSBjYW4gcmVwcm9kdWNlIHRoaXMsIHBsZWFzZSBlbWFpbCBidWdzQGNvbnRpbnVvdXNwaHlzaWNzLmNvbQoAUGxlYXNlIGluY2x1ZGUgYWJvdmUgaW5mb3JtYXRpb24sIHlvdXIgUGxhdGZvcm0sIHZlcnNpb24gb2YgT1MuCgBUaGFua3MuCgAxNmJ0Q29sbGlzaW9uV29ybGQAY29udmV4U3dlZXBDb21wb3VuZABaTjE2YnRDb2xsaXNpb25Xb3JsZDI1b2JqZWN0UXVlcnlTaW5nbGVJbnRlcm5hbEVQSzEzYnRDb252ZXhTaGFwZVJLMTFidFRyYW5zZm9ybVM1X1BLMjRidENvbGxpc2lvbk9iamVjdFdyYXBwZXJSTlNfMjBDb252ZXhSZXN1bHRDYWxsYmFja0VmRTE0TG9jYWxJbmZvQWRkZXIAWk4xNmJ0Q29sbGlzaW9uV29ybGQyNW9iamVjdFF1ZXJ5U2luZ2xlSW50ZXJuYWxFUEsxM2J0Q29udmV4U2hhcGVSSzExYnRUcmFuc2Zvcm1TNV9QSzI0YnRDb2xsaXNpb25PYmplY3RXcmFwcGVyUk5TXzIwQ29udmV4UmVzdWx0Q2FsbGJhY2tFZkUzMkJyaWRnZVRyaWFuZ2xlQ29udmV4Y2FzdENhbGxiYWNrXzAAWk4xNmJ0Q29sbGlzaW9uV29ybGQyNW9iamVjdFF1ZXJ5U2luZ2xlSW50ZXJuYWxFUEsxM2J0Q29udmV4U2hhcGVSSzExYnRUcmFuc2Zvcm1TNV9QSzI0YnRDb2xsaXNpb25PYmplY3RXcmFwcGVyUk5TXzIwQ29udmV4UmVzdWx0Q2FsbGJhY2tFZkUzMkJyaWRnZVRyaWFuZ2xlQ29udmV4Y2FzdENhbGxiYWNrAGNvbnZleFN3ZWVwVGVzdAAyMWJ0U2luZ2xlU3dlZXBDYWxsYmFjawAyM2J0QnJpZGdlZE1hbmlmb2xkUmVzdWx0ADIzYnRTaW5nbGVDb250YWN0Q2FsbGJhY2sAMzRidFNwaGVyZVRyaWFuZ2xlQ29sbGlzaW9uQWxnb3JpdGhtADI0YnRQZXJ0dXJiZWRDb250YWN0UmVzdWx0AFpOMjNidENvbnZleENvbnZleEFsZ29yaXRobTE2cHJvY2Vzc0NvbGxpc2lvbkVQSzI0YnRDb2xsaXNpb25PYmplY3RXcmFwcGVyUzJfUksxNmJ0RGlzcGF0Y2hlckluZm9QMTZidE1hbmlmb2xkUmVzdWx0RTIxYnRXaXRob3V0TWFyZ2luUmVzdWx0AFpOMjNidENvbnZleENvbnZleEFsZ29yaXRobTE2cHJvY2Vzc0NvbGxpc2lvbkVQSzI0YnRDb2xsaXNpb25PYmplY3RXcmFwcGVyUzJfUksxNmJ0RGlzcGF0Y2hlckluZm9QMTZidE1hbmlmb2xkUmVzdWx0RTEzYnREdW1teVJlc3VsdAAyM2J0Q29udmV4Q29udmV4QWxnb3JpdGhtAE4yM2J0Q29udmV4Q29udmV4QWxnb3JpdGhtMTBDcmVhdGVGdW5jRQAyMmJ0Q29tcG91bmRMZWFmQ2FsbGJhY2sAMjhidENvbXBvdW5kQ29sbGlzaW9uQWxnb3JpdGhtADMwYnRDb21wb3VuZENvbXBvdW5kTGVhZkNhbGxiYWNrADM2YnRDb21wb3VuZENvbXBvdW5kQ29sbGlzaW9uQWxnb3JpdGhtAGJ0Q29tcG91bmRTaGFwZUNoaWxkRGF0YQBidENvbXBvdW5kU2hhcGVEYXRhAENvbXBvdW5kADE1YnRDb21wb3VuZFNoYXBlAGJ0Q29uZVNoYXBlRGF0YQBDb25lADExYnRDb25lU2hhcGUAQ29uZVoAMTJidENvbmVTaGFwZVoAQ29uZVgAMTJidENvbmVTaGFwZVgAYnRQb3NpdGlvbkFuZFJhZGl1cwBidE11bHRpU3BoZXJlU2hhcGVEYXRhAE11bHRpU3BoZXJlADE4YnRNdWx0aVNwaGVyZVNoYXBlAFNQSEVSRQAxM2J0U3BoZXJlU2hhcGUAWk5LMjJidEJ2aFRyaWFuZ2xlTWVzaFNoYXBlMTlwcm9jZXNzQWxsVHJpYW5nbGVzRVAxOGJ0VHJpYW5nbGVDYWxsYmFja1JLOWJ0VmVjdG9yM1M0X0UyMU15Tm9kZU92ZXJsYXBDYWxsYmFjawAyMWJ0Tm9kZU92ZXJsYXBDYWxsYmFjawBidFRyaWFuZ2xlTWVzaFNoYXBlRGF0YQBCVkhUUklBTkdMRU1FU0gAMjJidEJ2aFRyaWFuZ2xlTWVzaFNoYXBlAFpOMjJidEJ2aFRyaWFuZ2xlTWVzaFNoYXBlMTRwZXJmb3JtUmF5Y2FzdEVQMThidFRyaWFuZ2xlQ2FsbGJhY2tSSzlidFZlY3RvcjNTNF9FMjFNeU5vZGVPdmVybGFwQ2FsbGJhY2sAWk4yMmJ0QnZoVHJpYW5nbGVNZXNoU2hhcGUxN3BlcmZvcm1Db252ZXhjYXN0RVAxOGJ0VHJpYW5nbGVDYWxsYmFja1JLOWJ0VmVjdG9yM1M0X1M0X1M0X0UyMU15Tm9kZU92ZXJsYXBDYWxsYmFjawAyMVN1cHBvcnRWZXJ0ZXhDYWxsYmFjawBaTksxOWJ0VHJpYW5nbGVNZXNoU2hhcGUxOXByb2Nlc3NBbGxUcmlhbmdsZXNFUDE4YnRUcmlhbmdsZUNhbGxiYWNrUks5YnRWZWN0b3IzUzRfRTE2RmlsdGVyZWRDYWxsYmFjawBUUklBTkdMRU1FU0gAMTlidFRyaWFuZ2xlTWVzaFNoYXBlAGJ0U3RhdGljUGxhbmVTaGFwZURhdGEAU1RBVElDUExBTkUAMThidFN0YXRpY1BsYW5lU2hhcGUAMjNidFBvbHloZWRyYWxDb252ZXhTaGFwZQAzNGJ0UG9seWhlZHJhbENvbnZleEFhYmJDYWNoaW5nU2hhcGUARW1wdHkAMTJidEVtcHR5U2hhcGUAYnRDb2xsaXNpb25TaGFwZURhdGEAMTZidENvbGxpc2lvblNoYXBlADEzYnRDb252ZXhTaGFwZQAyMWJ0Q29udmV4SW50ZXJuYWxTaGFwZQAzMmJ0Q29udmV4SW50ZXJuYWxBYWJiQ2FjaGluZ1NoYXBlAGJ0Q29udmV4SHVsbFNoYXBlRGF0YQBDb252ZXgAMTdidENvbnZleEh1bGxTaGFwZQAxOGJ0VHJpYW5nbGVDYWxsYmFjawAzMWJ0SW50ZXJuYWxUcmlhbmdsZUluZGV4Q2FsbGJhY2sAYnRDYXBzdWxlU2hhcGVEYXRhAENhcHN1bGVTaGFwZQAxNGJ0Q2Fwc3VsZVNoYXBlAENhcHN1bGVYADE1YnRDYXBzdWxlU2hhcGVYAENhcHN1bGVaADE1YnRDYXBzdWxlU2hhcGVaADI2TG9jYWxTdXBwb3J0VmVydGV4Q2FsbGJhY2sAQ29udmV4VHJpbWVzaAAyNWJ0Q29udmV4VHJpYW5nbGVNZXNoU2hhcGUAMTRidENvbmNhdmVTaGFwZQBCb3gAMTBidEJveFNoYXBlADE0YnRPcHRpbWl6ZWRCdmgAWk4xNGJ0T3B0aW1pemVkQnZoNWJ1aWxkRVAyM2J0U3RyaWRpbmdNZXNoSW50ZXJmYWNlYlJLOWJ0VmVjdG9yM1M0X0UyME5vZGVUcmlhbmdsZUNhbGxiYWNrAFpOMTRidE9wdGltaXplZEJ2aDVidWlsZEVQMjNidFN0cmlkaW5nTWVzaEludGVyZmFjZWJSSzlidFZlY3RvcjNTNF9FMjlRdWFudGl6ZWROb2RlVHJpYW5nbGVDYWxsYmFjawBIRUlHSFRGSUVMRAAyNWJ0SGVpZ2h0ZmllbGRUZXJyYWluU2hhcGUAYnRDeWxpbmRlclNoYXBlRGF0YQBDeWxpbmRlclkAMTVidEN5bGluZGVyU2hhcGUAQ3lsaW5kZXJYADE2YnRDeWxpbmRlclNoYXBlWABDeWxpbmRlcloAMTZidEN5bGluZGVyU2hhcGVaADE0YnRUcmlhbmdsZU1lc2gAMjBidEF4aXNTd2VlcDNJbnRlcm5hbEl0RQAyMWJ0QnJvYWRwaGFzZUludGVyZmFjZQAxMmJ0QXhpc1N3ZWVwMwAxNWJ0TnVsbFBhaXJDYWNoZQAyMmJ0T3ZlcmxhcHBpbmdQYWlyQ2FjaGUAWk4yOGJ0SGFzaGVkT3ZlcmxhcHBpbmdQYWlyQ2FjaGUxOWNsZWFuUHJveHlGcm9tUGFpcnNFUDE3YnRCcm9hZHBoYXNlUHJveHlQMTJidERpc3BhdGNoZXJFMTdDbGVhblBhaXJDYWxsYmFjawBaTjI4YnRIYXNoZWRPdmVybGFwcGluZ1BhaXJDYWNoZTM3cmVtb3ZlT3ZlcmxhcHBpbmdQYWlyc0NvbnRhaW5pbmdQcm94eUVQMTdidEJyb2FkcGhhc2VQcm94eVAxMmJ0RGlzcGF0Y2hlckUxOFJlbW92ZVBhaXJDYWxsYmFjawAyOGJ0SGFzaGVkT3ZlcmxhcHBpbmdQYWlyQ2FjaGUAMThidERidnRUcmVlQ29sbGlkZXIAMjBCcm9hZHBoYXNlQWFiYlRlc3RlcgAxOUJyb2FkcGhhc2VSYXlUZXN0ZXIAMTZidERidnRCcm9hZHBoYXNlADEyYnREaXNwYXRjaGVyAGJ0T3B0aW1pemVkQnZoTm9kZURhdGEAYnRRdWFudGl6ZWRCdmhOb2RlRGF0YQBidEJ2aFN1YnRyZWVJbmZvRGF0YQBidFF1YW50aXplZEJ2aEZsb2F0RGF0YQAxNGJ0UXVhbnRpemVkQnZoADI1YnRUcmlhbmdsZVJheWNhc3RDYWxsYmFjawAyOGJ0VHJpYW5nbGVDb252ZXhjYXN0Q2FsbGJhY2sAWk4zM2J0TWlua293c2tpUGVuZXRyYXRpb25EZXB0aFNvbHZlcjEyY2FsY1BlbkRlcHRoRVIyMmJ0Vm9yb25vaVNpbXBsZXhTb2x2ZXJQSzEzYnRDb252ZXhTaGFwZVM0X1JLMTFidFRyYW5zZm9ybVM3X1I5YnRWZWN0b3IzUzlfUzlfUDEyYnRJRGVidWdEcmF3RTIwYnRJbnRlcm1lZGlhdGVSZXN1bHQAMzNidE1pbmtvd3NraVBlbmV0cmF0aW9uRGVwdGhTb2x2ZXIAMzBidENvbnZleFBlbmV0cmF0aW9uRGVwdGhTb2x2ZXIAMzBidEdqa0VwYVBlbmV0cmF0aW9uRGVwdGhTb2x2ZXIAMTZidFBvaW50Q29sbGVjdG9yADE1YnRHamtDb252ZXhDYXN0ADI3YnRDb250aW51b3VzQ29udmV4Q29sbGlzaW9uADE3YnRHamtQYWlyRGV0ZWN0b3IAMzZidERpc2NyZXRlQ29sbGlzaW9uRGV0ZWN0b3JJbnRlcmZhY2UAMzBidEFjdGl2YXRpbmdDb2xsaXNpb25BbGdvcml0aG0AMTZidEVtcHR5QWxnb3JpdGhtADMyYnRTcGhlcmVTcGhlcmVDb2xsaXNpb25BbGdvcml0aG0AMTZidEJveEJveERldGVjdG9yADIyU3BoZXJlVHJpYW5nbGVEZXRlY3RvcgAyM2J0SGFzaGVkU2ltcGxlUGFpckNhY2hlADE4YnRDb252ZXhQb2x5aGVkcm9uADI2YnRUcmlhbmdsZUluZGV4VmVydGV4QXJyYXkAYnRJbnRJbmRleERhdGEAYnRTaG9ydEludEluZGV4VHJpcGxldERhdGEAYnRDaGFySW5kZXhUcmlwbGV0RGF0YQBidFZlY3RvcjNGbG9hdERhdGEAYnRWZWN0b3IzRG91YmxlRGF0YQBidE1lc2hQYXJ0RGF0YQBidFN0cmlkaW5nTWVzaEludGVyZmFjZURhdGEAMjNidFN0cmlkaW5nTWVzaEludGVyZmFjZQBSb290AC0rICAgMFgweAAobnVsbCkALTBYKzBYIDBYLTB4KzB4IDB4AGluZgBJTkYAbmFuAE5BTgB0ZXJtaW5hdGluZwBOMTBfX2N4eGFiaXYxMTZfX3NoaW1fdHlwZV9pbmZvRQBTdDl0eXBlX2luZm8ATjEwX19jeHhhYml2MTIwX19zaV9jbGFzc190eXBlX2luZm9FAE4xMF9fY3h4YWJpdjExN19fY2xhc3NfdHlwZV9pbmZvRQB0ZXJtaW5hdGVfaGFuZGxlciB1bmV4cGVjdGVkbHkgcmV0dXJuZWQAaW50AGZsb2F0AC4ATjEwX19jeHhhYml2MTE3X19wYmFzZV90eXBlX2luZm9FAE4xMF9fY3h4YWJpdjExOV9fcG9pbnRlcl90eXBlX2luZm9FAE4xMF9fY3h4YWJpdjEyMV9fdm1pX2NsYXNzX3R5cGVfaW5mb0U=";var tempDoublePtr=28304;var ___exception_infos={};var ___exception_caught=[];function ___exception_addRef(ptr){if(!ptr)return;var info=___exception_infos[ptr];info.refcount++}function ___exception_deAdjust(adjusted){if(!adjusted||___exception_infos[adjusted])return adjusted;for(var key in ___exception_infos){var ptr=+key;var adj=___exception_infos[ptr].adjusted;var len=adj.length;for(var i=0;i=0;i--){var last=parts[i];if(last==="."){parts.splice(i,1)}else if(last===".."){parts.splice(i,1);up++}else if(up){parts.splice(i,1);up--}}if(allowAboveRoot){for(;up;up--){parts.unshift("..")}}return parts},normalize:function(path){var isAbsolute=path.charAt(0)==="/",trailingSlash=path.substr(-1)==="/";path=PATH.normalizeArray(path.split("/").filter(function(p){return!!p}),!isAbsolute).join("/");if(!path&&!isAbsolute){path="."}if(path&&trailingSlash){path+="/"}return(isAbsolute?"/":"")+path},dirname:function(path){var result=PATH.splitPath(path),root=result[0],dir=result[1];if(!root&&!dir){return"."}if(dir){dir=dir.substr(0,dir.length-1)}return root+dir},basename:function(path){if(path==="/")return"/";var lastSlash=path.lastIndexOf("/");if(lastSlash===-1)return path;return path.substr(lastSlash+1)},extname:function(path){return PATH.splitPath(path)[3]},join:function(){var paths=Array.prototype.slice.call(arguments,0);return PATH.normalize(paths.join("/"))},join2:function(l,r){return PATH.normalize(l+"/"+r)}};var SYSCALLS={buffers:[null,[],[]],printChar:function(stream,curr){var buffer=SYSCALLS.buffers[stream];if(curr===0||curr===10){(stream===1?out:err)(UTF8ArrayToString(buffer,0));buffer.length=0}else{buffer.push(curr)}},varargs:0,get:function(varargs){SYSCALLS.varargs+=4;var ret=HEAP32[SYSCALLS.varargs-4>>2];return ret},getStr:function(){var ret=UTF8ToString(SYSCALLS.get());return ret},get64:function(){var low=SYSCALLS.get(),high=SYSCALLS.get();return low},getZero:function(){SYSCALLS.get()}};function ___syscall140(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),offset_high=SYSCALLS.get(),offset_low=SYSCALLS.get(),result=SYSCALLS.get(),whence=SYSCALLS.get();return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function flush_NO_FILESYSTEM(){var fflush=Module["_fflush"];if(fflush)fflush(0);var buffers=SYSCALLS.buffers;if(buffers[1].length)SYSCALLS.printChar(1,10);if(buffers[2].length)SYSCALLS.printChar(2,10)}function ___syscall146(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.get(),iov=SYSCALLS.get(),iovcnt=SYSCALLS.get();var ret=0;for(var i=0;i>2];var len=HEAP32[iov+(i*8+4)>>2];for(var j=0;j>2]=now/1e3|0;HEAP32[ptr+4>>2]=now%1e3*1e3|0;return 0}function _llvm_trap(){abort("trap!")}function _emscripten_memcpy_big(dest,src,num){HEAPU8.set(HEAPU8.subarray(src,src+num),dest)}function ___setErrNo(value){if(Module["___errno_location"])HEAP32[Module["___errno_location"]()>>2]=value;return value}function abortOnCannotGrowMemory(requestedSize){abort("OOM")}function _emscripten_resize_heap(requestedSize){abortOnCannotGrowMemory(requestedSize)}var ASSERTIONS=false;function intArrayFromString(stringy,dontAddNull,length){var len=length>0?length:lengthBytesUTF8(stringy)+1;var u8array=new Array(len);var numBytesWritten=stringToUTF8Array(stringy,u8array,0,u8array.length);if(dontAddNull)u8array.length=numBytesWritten;return u8array}function intArrayToString(array){var ret=[];for(var i=0;i255){if(ASSERTIONS){assert(false,"Character code "+chr+" ("+String.fromCharCode(chr)+") at offset "+i+" not in 0x00-0xFF.")}chr&=255}ret.push(String.fromCharCode(chr))}return ret.join("")}var decodeBase64=typeof atob==="function"?atob:function(input){var keyStr="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";var output="";var chr1,chr2,chr3;var enc1,enc2,enc3,enc4;var i=0;input=input.replace(/[^A-Za-z0-9\+\/\=]/g,"");do{enc1=keyStr.indexOf(input.charAt(i++));enc2=keyStr.indexOf(input.charAt(i++));enc3=keyStr.indexOf(input.charAt(i++));enc4=keyStr.indexOf(input.charAt(i++));chr1=enc1<<2|enc2>>4;chr2=(enc2&15)<<4|enc3>>2;chr3=(enc3&3)<<6|enc4;output=output+String.fromCharCode(chr1);if(enc3!==64){output=output+String.fromCharCode(chr2)}if(enc4!==64){output=output+String.fromCharCode(chr3)}}while(i>2]|0;if((d|0)!=4){c[a+748>>2]=d+1;g=d;e=(g|0)>0;g=e?g:0;a=a+4+(g*184|0)|0;oi(a|0,b|0,184)|0;return g|0}C=+f[b+80>>2];B=+f[a+84>>2];A=B>2];y=z>2];g=+f[a+636>>2]<(x>31;C=+f[b>>2];if(d){h=+f[a+188>>2];n=+f[b+4>>2];i=+f[a+192>>2];p=+f[b+8>>2];j=+f[a+196>>2];l=+f[a+556>>2];t=+f[a+372>>2];m=+f[a+560>>2];y=+f[a+376>>2];o=+f[a+564>>2];w=+f[a+380>>2];k=((C-h)*(m-y)-(n-i)*(l-t))*((C-h)*(m-y)-(n-i)*(l-t))+(((n-i)*(o-w)-(p-j)*(m-y))*((n-i)*(o-w)-(p-j)*(m-y))+((p-j)*(l-t)-(C-h)*(o-w))*((p-j)*(l-t)-(C-h)*(o-w)));if((d|0)==1){v=l;x=m;u=i;q=j;s=w;w=y;j=0.0;m=C-+f[a+4>>2];l=p-+f[a+12>>2];i=n-+f[a+8>>2];e=7}else{u=i;i=n;s=w;z=o;B=y;x=m;A=t;v=l;q=l-t;o=o-w;n=m-y;e=6}}else{t=+f[a+556>>2];q=+f[a+372>>2];y=+f[a+560>>2];n=+f[a+376>>2];w=+f[a+564>>2];o=+f[a+380>>2];h=+f[a+188>>2];u=+f[a+192>>2];j=+f[a+196>>2];i=+f[b+4>>2];p=+f[b+8>>2];s=o;z=w;B=n;x=y;A=q;v=t;k=0.0;q=t-q;o=w-o;n=y-n;e=6}if((e|0)==6){m=C-+f[a+4>>2];i=i-+f[a+8>>2];l=p-+f[a+12>>2];y=i*o-l*n;p=l*q-m*o;n=m*n-i*q;if((d|0)==2){t=A;x=h;v=B;q=j;h=0.0;j=n*n+(y*y+p*p);e=8}else{o=z;q=j;w=B;t=A;j=n*n+(y*y+p*p);e=7}}if((e|0)==7){p=v-h;C=x-u;o=o-q;n=i*o-l*C;o=l*p-m*o;p=m*C-i*p;if(g){h=p*p+(n*n+o*o);i=0.0}else{x=h;v=w;h=p*p+(n*n+o*o);e=8}}if((e|0)==8){A=t-x;z=v-u;C=s-q;B=i*C-l*z;C=l*A-m*C;i=m*z-i*A;i=i*i+(B*B+C*C)}C=+r(+k);A=+r(+j);y=+r(+h);x=+r(+i);B=C>-999999984306749440.0?C:-999999984306749440.0;z=A>B?A:B;g=x>(y>z?y:z)?3:y>z?2:A>B?1:(C>-999999984306749440.0^1)<<31>>31;d=c[a+4+(g*184|0)+112>>2]|0;if(!d){e=(g|0)>0;g=e?g:0;a=a+4+(g*184|0)|0;oi(a|0,b|0,184)|0;return g|0}e=c[6851]|0;if(!e){e=(g|0)>0;g=e?g:0;a=a+4+(g*184|0)|0;oi(a|0,b|0,184)|0;return g|0}eb[e&255](d)|0;c[a+4+(g*184|0)+112>>2]=0;e=(g|0)>0;g=e?g:0;a=a+4+(g*184|0)|0;oi(a|0,b|0,184)|0;return g|0}function Je(){if(a[25496]|0)return;if(!(kP(25496)|0))return;c[5784]=0;c[5785]=-2147483648;c[5786]=-1082130432;f[5787]=0.0;c[5788]=1060716128;c[5789]=-1090087446;c[5790]=-1092290076;f[5791]=0.0;c[5792]=-1098022214;c[5793]=-1084636126;c[5794]=-1092290076;f[5795]=0.0;c[5796]=-1083901670;c[5797]=-2147483648;c[5798]=-1092290177;f[5799]=0.0;c[5800]=-1098022214;c[5801]=1062847522;c[5802]=-1092290043;f[5803]=0.0;c[5804]=1060716128;c[5805]=1057396202;c[5806]=-1092290076;f[5807]=0.0;c[5808]=1049461434;c[5809]=-1084636126;c[5810]=1055193605;f[5811]=0.0;c[5812]=-1086767520;c[5813]=-1090087446;c[5814]=1055193572;f[5815]=0.0;c[5816]=-1086767520;c[5817]=1057396202;c[5818]=1055193572;f[5819]=0.0;c[5820]=1049461434;c[5821]=1062847522;c[5822]=1055193572;f[5823]=0.0;c[5824]=1063581978;c[5825]=0;c[5826]=1055193471;f[5827]=0.0;c[5828]=-2147483648;c[5829]=0;c[5830]=1065353216;f[5831]=0.0;c[5832]=1054458864;c[5833]=-1096927567;c[5834]=-1084636042;f[5835]=0.0;c[5836]=-1104782626;c[5837]=-1090519208;c[5838]=-1084636042;f[5839]=0.0;c[5840]=1049007812;c[5841]=-1085334679;c[5842]=-1090087228;f[5843]=0.0;c[5844]=1054458864;c[5845]=1050556081;c[5846]=-1084636042;f[5847]=0.0;c[5848]=1062847505;c[5849]=-2147483648;c[5850]=-1090087262;f[5851]=0.0;c[5852]=-1090087362;c[5853]=-2147483648;c[5854]=-1084636076;f[5855]=0.0;c[5856]=-1087361736;c[5857]=-1090519141;c[5858]=-1090087262;f[5859]=0.0;c[5860]=-1104782626;c[5861]=1056964440;c[5862]=-1084636042;f[5863]=0.0;c[5864]=-1087361736;c[5865]=1056964507;c[5866]=-1090087262;f[5867]=0.0;c[5868]=1049007812;c[5869]=1062148969;c[5870]=-1090087228;f[5871]=0.0;c[5872]=1064532105;c[5873]=1050556148;c[5874]=0;f[5875]=0.0;c[5876]=1064532105;c[5877]=-1096927500;c[5878]=0;f[5879]=0.0;c[5880]=1058437413;c[5881]=-1085334595;c[5882]=0;f[5883]=0.0;c[5884]=0;c[5885]=-1082130432;c[5886]=0;f[5887]=0.0;c[5888]=-1089046235;c[5889]=-1085334595;c[5890]=0;f[5891]=0.0;c[5892]=-1082951543;c[5893]=-1096927500;c[5894]=-2147483648;f[5895]=0.0;c[5896]=-1082951543;c[5897]=1050556148;c[5898]=-2147483648;f[5899]=0.0;c[5900]=-1089046235;c[5901]=1062149053;c[5902]=-2147483648;f[5903]=0.0;c[5904]=-2147483648;c[5905]=1065353216;c[5906]=-2147483648;f[5907]=0.0;c[5908]=1058437413;c[5909]=1062149053;c[5910]=-2147483648;f[5911]=0.0;c[5912]=1060121912;c[5913]=-1090519141;c[5914]=1057396386;f[5915]=0.0;c[5916]=-1098475836;c[5917]=-1085334679;c[5918]=1057396420;f[5919]=0.0;c[5920]=-1084636143;c[5921]=0;c[5922]=1057396386;f[5923]=0.0;c[5924]=-1098475836;c[5925]=1062148969;c[5926]=1057396420;f[5927]=0.0;c[5928]=1060121912;c[5929]=1056964507;c[5930]=1057396386;f[5931]=0.0;c[5932]=1057396286;c[5933]=0;c[5934]=1062847572;f[5935]=0.0;c[5936]=1042701022;c[5937]=-1090519208;c[5938]=1062847606;f[5939]=0.0;c[5940]=-1093024784;c[5941]=-1096927567;c[5942]=1062847606;f[5943]=0.0;c[5944]=-1093024784;c[5945]=1050556081;c[5946]=1062847606;f[5947]=0.0;c[5948]=1042701022;c[5949]=1056964440;c[5950]=1062847606;f[5951]=0.0;kO(25496);return}function Ke(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;c[b+16>>2]=c[a+84>>2];c[b+20>>2]=c[a+88>>2];c[b+24>>2]=c[a+92>>2];c[b+28>>2]=c[a+96>>2];c[b+32>>2]=c[a+104>>2];i=D$(c[a+4+4>>2]|0)|0;c[b+40>>2]=i;if(i){h=c[(c[d>>2]|0)+28>>2]|0;i=aV(c[a+4+12>>2]|0,0)|0;i=gb[h&63](d,i)|0;c[b>>2]=i;if(i|0){e=c[b+40>>2]|0;f=ib[c[(c[d>>2]|0)+16>>2]&63](d,4,e)|0;g=0;h=c[f+8>>2]|0;while(1){if((g|0)>=(e|0))break;c[h>>2]=c[(aV(c[a+4+12>>2]|0,g)|0)>>2];g=g+1|0;h=h+4|0}h=c[(c[d>>2]|0)+20>>2]|0;i=aV(c[a+4+12>>2]|0,0)|0;Gb[h&63](d,f,22919,1497453121,i)}}else c[b>>2]=0;i=D$(c[a+4+24>>2]|0)|0;c[b+36>>2]=i;if(i){h=c[(c[d>>2]|0)+28>>2]|0;i=aV(c[a+4+32>>2]|0,0)|0;i=gb[h&63](d,i)|0;c[b+4>>2]=i;if(i|0){e=c[b+36>>2]|0;f=ib[c[(c[d>>2]|0)+16>>2]&63](d,4,e)|0;g=0;h=c[f+8>>2]|0;while(1){if((g|0)>=(e|0))break;c[h>>2]=c[(aV(c[a+4+32>>2]|0,g)|0)>>2];g=g+1|0;h=h+4|0}h=c[(c[d>>2]|0)+20>>2]|0;i=aV(c[a+4+32>>2]|0,0)|0;Gb[h&63](d,f,22919,1497453121,i)}}else c[b+4>>2]=0;i=D$(c[a+4+44>>2]|0)|0;c[b+44>>2]=i;if(i){h=c[(c[d>>2]|0)+28>>2]|0;e=a+4+52|0;i=_W(c[e>>2]|0,0)|0;i=gb[h&63](d,i)|0;c[b+8>>2]=i;if(i|0){f=c[b+44>>2]|0;g=ib[c[(c[d>>2]|0)+16>>2]&63](d,16,f)|0;h=0;i=c[g+8>>2]|0;while(1){if((h|0)>=(f|0))break;c[i+4>>2]=c[(_W(c[e>>2]|0,h)|0)+4>>2];c[i+8>>2]=c[(_W(c[e>>2]|0,h)|0)+8>>2];c[i+12>>2]=c[(_W(c[e>>2]|0,h)|0)+12>>2];c[i>>2]=c[(_W(c[e>>2]|0,h)|0)>>2];h=h+1|0;i=i+16|0}h=c[(c[d>>2]|0)+20>>2]|0;i=_W(c[e>>2]|0,0)|0;Gb[h&63](d,g,13359,1497453121,i)}}else c[b+8>>2]=0;i=D$(c[a+4+64>>2]|0)|0;c[b+48>>2]=i;if(!i){c[b+12>>2]=0;return 13378}h=c[(c[d>>2]|0)+28>>2]|0;i=aV(c[a+4+72>>2]|0,0)|0;i=gb[h&63](d,i)|0;c[b+12>>2]=i;if(!i)return 13378;e=c[b+44>>2]|0;f=ib[c[(c[d>>2]|0)+16>>2]&63](d,4,e)|0;g=0;h=c[f+8>>2]|0;while(1){if((g|0)>=(e|0))break;c[h>>2]=D$(c[(aV(c[a+4+72>>2]|0,g)|0)>>2]|0)|0;g=g+1|0;h=h+4|0}b=c[(c[d>>2]|0)+20>>2]|0;a=aV(c[a+4+72>>2]|0,0)|0;Gb[b&63](d,f,22919,1497453121,a);return 13378}function Le(b,d,e){b=b|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0;m=Ta;Ta=Ta+16|0;l=qx()|0;c[l+8>>2]=0;c[l+12>>2]=1065353216;c[l+16>>2]=1065353216;c[l+20>>2]=1065353216;f[l+24>>2]=0.0;f[l+44>>2]=.03999999910593033;c[l+52>>2]=1065353216;c[l+56>>2]=1065353216;c[l+60>>2]=1065353216;f[l+64>>2]=0.0;c[l+68>>2]=-1082130432;c[l+72>>2]=-1082130432;c[l+76>>2]=-1082130432;f[l+80>>2]=0.0;a[l+84>>0]=0;c[l>>2]=8008;a[l+104>>0]=1;c[l+100>>2]=0;c[l+92>>2]=0;c[l+96>>2]=0;a[l+124>>0]=1;c[l+120>>2]=0;c[l+112>>2]=0;c[l+116>>2]=0;c[l+4>>2]=9;if((e|0)>0){c[6879]=(c[6879]|0)+1;g=Zb((e<<4|3)+16|0)|0;if(!g)i=0;else{c[(g+4+15&-16)+-4>>2]=g;i=g+4+15&-16}g=c[l+92>>2]|0;if((g|0)>0){h=0;do{k=i+(h<<4)|0;j=(c[l+100>>2]|0)+(h<<4)|0;c[k>>2]=c[j>>2];c[k+4>>2]=c[j+4>>2];c[k+8>>2]=c[j+8>>2];c[k+12>>2]=c[j+12>>2];h=h+1|0}while((h|0)!=(g|0))}g=c[l+100>>2]|0;if(g|0){if(a[l+104>>0]|0){c[6880]=(c[6880]|0)+1;kd(c[g+-4>>2]|0)}c[l+100>>2]=0}a[l+104>>0]=1;c[l+100>>2]=i;c[l+96>>2]=e;c[i>>2]=c[m>>2];c[i+4>>2]=c[m+4>>2];c[i+8>>2]=c[m+8>>2];c[i+12>>2]=c[m+12>>2];if((e|0)!=1){g=1;do{k=(c[l+100>>2]|0)+(g<<4)|0;c[k>>2]=c[m>>2];c[k+4>>2]=c[m+4>>2];c[k+8>>2]=c[m+8>>2];c[k+12>>2]=c[m+12>>2];g=g+1|0}while((g|0)!=(e|0))}k=c[l+112>>2]|0}else k=0;c[l+92>>2]=e;if((k|0)<(e|0)){do if((c[l+116>>2]|0)<(e|0)){if(!e){j=k;g=0}else{c[6879]=(c[6879]|0)+1;g=Zb((e<<2|3)+16|0)|0;if(!g)g=0;else{c[(g+4+15&-16)+-4>>2]=g;g=g+4+15&-16}j=c[l+112>>2]|0}h=c[l+120>>2]|0;if((j|0)<=0){if(!h){a[l+124>>0]=1;c[l+120>>2]=g;c[l+116>>2]=e;break}}else{i=0;do{c[g+(i<<2)>>2]=c[h+(i<<2)>>2];i=i+1|0}while((i|0)!=(j|0))}if(a[l+124>>0]|0){c[6880]=(c[6880]|0)+1;kd(c[h+-4>>2]|0)}a[l+124>>0]=1;c[l+120>>2]=g;c[l+116>>2]=e}else g=c[l+120>>2]|0;while(0);el(g+(k<<2)|0,0,e-k<<2|0)|0}c[l+112>>2]=e;if((e|0)<=0){xj(l);Ta=m;return l|0}g=0;do{j=b+(g<<4)|0;k=(c[l+100>>2]|0)+(g<<4)|0;c[k>>2]=c[j>>2];c[k+4>>2]=c[j+4>>2];c[k+8>>2]=c[j+8>>2];c[k+12>>2]=c[j+12>>2];c[(c[l+120>>2]|0)+(g<<2)>>2]=c[d+(g<<2)>>2];g=g+1|0}while((g|0)!=(e|0));xj(l);Ta=m;return l|0}function Me(b,d,e,g,h){b=b|0;d=d|0;e=e|0;g=g|0;h=h|0;var i=0,j=0.0,k=0,l=0.0,m=0.0,n=0.0,o=0.0,p=0.0;k=c[b+9288>>2]|0;if(!k){c[b>>2]=5;b=0;return b|0}i=c[k+48>>2]|0;if(i|0)c[i+44>>2]=c[k+44>>2];i=c[k+44>>2]|0;if(i|0)c[i+48>>2]=c[k+48>>2];if((c[b+9288>>2]|0)==(k|0))c[b+9288>>2]=c[k+48>>2];c[b+9292>>2]=(c[b+9292>>2]|0)+-1;c[k+44>>2]=0;c[k+48>>2]=c[b+9280>>2];i=c[b+9280>>2]|0;if(i|0)c[i+44>>2]=k;c[b+9280>>2]=k;c[b+9284>>2]=(c[b+9284>>2]|0)+1;a[k+55>>0]=0;c[k+20>>2]=d;c[k+24>>2]=e;c[k+28>>2]=g;j=+f[d+16>>2];n=+f[e+16>>2]-j;m=+f[d+20>>2];l=+f[e+20>>2]-m;o=+f[d+24>>2];p=+f[e+24>>2]-o;j=+f[g+16>>2]-j;m=+f[g+20>>2]-m;o=+f[g+24>>2]-o;f[k>>2]=l*o-p*m;f[k+4>>2]=p*j-n*o;f[k+8>>2]=n*m-l*j;f[k+12>>2]=0.0;j=+s(+((l*o-p*m)*(l*o-p*m)+(p*j-n*o)*(p*j-n*o)+(n*m-l*j)*(n*m-l*j)));if(!(j>9.999999747378752e-05)){c[b>>2]=2;i=c[k+48>>2]|0;if(i|0)c[i+44>>2]=c[k+44>>2];i=c[k+44>>2]|0;if(i|0)c[i+48>>2]=c[k+48>>2];if((c[b+9280>>2]|0)==(k|0))c[b+9280>>2]=c[k+48>>2];c[b+9284>>2]=(c[b+9284>>2]|0)+-1;c[k+44>>2]=0;c[k+48>>2]=c[b+9288>>2];i=c[b+9288>>2]|0;if(i|0)c[i+44>>2]=k;c[b+9288>>2]=k;c[b+9292>>2]=(c[b+9292>>2]|0)+1;b=0;return b|0}if((!(fl(+f[k>>2],+f[k+4>>2],+f[k+8>>2],+f[d+16>>2],+f[d+20>>2],+f[d+24>>2],+f[e+16>>2],+f[e+20>>2],+f[e+24>>2],k+16|0)|0)?!(fl(+f[k>>2],+f[k+4>>2],+f[k+8>>2],+f[e+16>>2],+f[e+20>>2],+f[e+24>>2],+f[g+16>>2],+f[g+20>>2],+f[g+24>>2],k+16|0)|0):0)?!(fl(+f[k>>2],+f[k+4>>2],+f[k+8>>2],+f[g+16>>2],+f[g+20>>2],+f[g+24>>2],+f[d+16>>2],+f[d+20>>2],+f[d+24>>2],k+16|0)|0):0)f[k+16>>2]=(+f[d+16>>2]*+f[k>>2]+ +f[d+20>>2]*+f[k+4>>2]+ +f[d+24>>2]*+f[k+8>>2])/j;f[k>>2]=1.0/j*+f[k>>2];f[k+4>>2]=1.0/j*+f[k+4>>2];f[k+8>>2]=1.0/j*+f[k+8>>2];if(h){b=k;return b|0}if(+f[k+16>>2]>=-9.999999747378752e-06){b=k;return b|0}c[b>>2]=3;i=c[k+48>>2]|0;if(i|0)c[i+44>>2]=c[k+44>>2];i=c[k+44>>2]|0;if(i|0)c[i+48>>2]=c[k+48>>2];if((c[b+9280>>2]|0)==(k|0))c[b+9280>>2]=c[k+48>>2];c[b+9284>>2]=(c[b+9284>>2]|0)+-1;c[k+44>>2]=0;c[k+48>>2]=c[b+9288>>2];i=c[b+9288>>2]|0;if(i|0)c[i+44>>2]=k;c[b+9288>>2]=k;c[b+9292>>2]=(c[b+9292>>2]|0)+1;b=0;return b|0}function Ne(a,b){a=a|0;b=b|0;var d=0.0,e=0.0,g=0.0,h=0.0,i=0.0,j=0.0,k=0.0,l=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,t=0.0,x=0.0;c[a+556>>2]=c[b>>2];c[a+556+4>>2]=c[b+4>>2];c[a+556+8>>2]=c[b+8>>2];c[a+556+12>>2]=c[b+12>>2];k=+f[a+568>>2];l=+f[a+560>>2];m=+f[a+564>>2];n=+f[a+556>>2];g=-n-l*0.0-m*0.0;e=(m+k*0.0-n*0.0)*-m+(k*(k+l*0.0-m*0.0)+g*-n)-(k*0.0+n*0.0-l)*-l;d=(k*0.0+n*0.0-l)*-n+(k*(m+k*0.0-n*0.0)+g*-l)-(k+l*0.0-m*0.0)*-m;g=(k+l*0.0-m*0.0)*-l+(g*-m+k*(k*0.0+n*0.0-l))-(m+k*0.0-n*0.0)*-n;if(g*0.0+(d*0.0+e)<-.9999998807907104){h=-0.0;i=0.0;j=0.0;d=1.0}else{x=+s(+((g*0.0+(d*0.0+e)+1.0)*2.0));h=(g*0.0-d*0.0)*(1.0/x);i=(d-e*0.0)*(1.0/x);j=x*.5;d=(e*0.0-g)*(1.0/x)}o=1.0/+s(+(h*h+d*d+i*i+j*j));t=h*o;x=d*o;p=i*o;o=j*o;e=1.0/+s(+((k*o-n*-t-l*-x-m*-p)*(k*o-n*-t-l*-x-m*-p)+((l*-t+(m*o+k*-p)-n*-x)*(l*-t+(m*o+k*-p)-n*-x)+((m*-x+(n*o+k*-t)-l*-p)*(m*-x+(n*o+k*-t)-l*-p)+(n*-p+(k*-x+l*o)-m*-t)*(n*-p+(k*-x+l*o)-m*-t)))));h=(m*-x+(n*o+k*-t)-l*-p)*e;d=(n*-p+(k*-x+l*o)-m*-t)*e;g=(l*-t+(m*o+k*-p)-n*-x)*e;n=(k*o-n*-t-l*-x-m*-p)*e;e=+f[a+444>>2];if(e>=.05000000074505806?(q=+f[a+448>>2],q>=.05000000074505806):0){j=o<-1.0?-1.0:o;j=+w(+(j>1.0?1.0:j))*2.0;if(j>1.1920928955078125e-07){i=1.0/+s(+(p*p+(t*t+x*x)));if(+r(+(x*i))>1.1920928955078125e-07){e=+s(+((p*i*(p*i)/(x*i*(x*i))+1.0)/(p*i*(p*i)/(x*i*(x*i))/(e*e)+1.0/(q*q))));k=t*i;l=x*i;i=p*i}else{k=t*i;l=x*i;i=p*i}}else{e=0.0;k=0.0;l=0.0;i=0.0}if(+r(+j)>1.1920928955078125e-07){if(!(j>e)){e=-e;if(!(j>2];if(l>=.05000000074505806){e=n<-1.0?-1.0:n;e=+w(+(e>1.0?1.0:e))*2.0;if(e>3.1415927410125732){e=-n<-1.0?-1.0:-n;i=-h;j=-d;k=-g;e=+w(+(e>1.0?1.0:e))*2.0}else{i=h;j=d;k=g}if(e>1.1920928955078125e-07){x=1.0/+s(+(i*i+j*j+k*k));i=i*x;j=j*x;k=k*x}if(+r(+e)>1.1920928955078125e-07){if(!(e>l))if(e<-l)d=-l;else d=e;else d=l;e=d*.5;d=+v(+e)/+s(+(k*k+(j*j+i*i)));h=i*d;g=k*d;e=+u(+e);d=j*d}else e=n}else e=n;f[a+556>>2]=m*g+(o*h+t*e)-p*d;f[a+560>>2]=p*h+(o*d+m*e)-t*g;f[a+564>>2]=t*d+(o*g+p*e)-m*h;f[a+568>>2]=o*e-t*h-m*d-p*g;return}function Oe(a,b,d,e,g,h){a=a|0;b=+b;d=+d;e=e|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0.0,m=0.0,n=0.0,o=0,p=0,q=0,r=0.0;o=Ta;Ta=Ta+352|0;k=vZ(g)|0;l=+f[k>>2];m=+f[k+4>>2];n=+f[k+8>>2];f[o+328>>2]=0.0;f[o+324>>2]=0.0;f[o+320>>2]=0.0;bx(o+336|0,o+328|0,o+324|0,o+320|0);f[(D$(o+336|0)|0)+(e<<2)>>2]=d;f[o+296>>2]=0.0;f[o+292>>2]=0.0;f[o+288>>2]=0.0;bx(o+304|0,o+296|0,o+292|0,o+288|0);k=D$(o+304|0)|0;f[k+(e<<2)>>2]=-d;f[o+264>>2]=0.0;f[o+260>>2]=0.0;f[o+256>>2]=0.0;bx(o+272|0,o+264|0,o+260|0,o+256|0);j=D$(o+272|0)|0;f[j+(e<<2)>>2]=d;i=0;while(1){if(i>>>0>=360)break;d=+(i|0)*.01745329238474369;r=+s$(d)*b;f[k+(((e+1|0)%3|0)<<2)>>2]=r;f[j+(((e+1|0)%3|0)<<2)>>2]=r;d=+t$(d)*b;f[k+(((e+2|0)%3|0)<<2)>>2]=d;f[j+(((e+2|0)%3|0)<<2)>>2]=d;p=c[(c[a>>2]|0)+8>>2]|0;q=D$(g)|0;lm(o+224|0,q,+f[o+304>>2],+f[o+304+4>>2],+f[o+304+8>>2]);sq(o+240|0,l,m,n,+f[o+224>>2],+f[o+224+4>>2],+f[o+224+8>>2]);lm(o+192|0,q,+f[o+272>>2],+f[o+272+4>>2],+f[o+272+8>>2]);sq(o+208|0,l,m,n,+f[o+192>>2],+f[o+192+4>>2],+f[o+192+8>>2]);Cb[p&127](a,o+240|0,o+208|0,h);i=i+30|0}f[o+168>>2]=0.0;f[o+164>>2]=0.0;f[o+160>>2]=0.0;bx(o+176|0,o+168|0,o+164|0,o+160|0);f[(D$(o+176|0)|0)+(e<<2)>>2]=1.0;f[o+136>>2]=0.0;f[o+132>>2]=0.0;f[o+128>>2]=0.0;bx(o+144|0,o+136|0,o+132|0,o+128|0);f[(D$(o+144|0)|0)+(((e+1|0)%3|0)<<2)>>2]=1.0;q=c[(c[a>>2]|0)+60>>2]|0;p=D$(g)|0;lm(o+96|0,p,+f[o+336>>2],+f[o+336+4>>2],+f[o+336+8>>2]);uq(o+112|0,l,m,n,+f[o+96>>2],+f[o+96+4>>2],+f[o+96+8>>2]);lm(o+80|0,p,+f[o+176>>2],+f[o+176+4>>2],+f[o+176+8>>2]);lm(o+64|0,p,+f[o+144>>2],+f[o+144+4>>2],+f[o+144+8>>2]);Fb[q&31](a,o+112|0,o+80|0,o+64|0,b,b,0.0,6.2831854820251465,h,0,10.0);q=c[(c[a>>2]|0)+60>>2]|0;lm(o+32|0,p,+f[o+336>>2],+f[o+336+4>>2],+f[o+336+8>>2]);sq(o+48|0,l,m,n,+f[o+32>>2],+f[o+32+4>>2],+f[o+32+8>>2]);lm(o+16|0,p,+f[o+176>>2],+f[o+176+4>>2],+f[o+176+8>>2]);lm(o,p,+f[o+144>>2],+f[o+144+4>>2],+f[o+144+8>>2]);Fb[q&31](a,o+48|0,o+16|0,o,b,b,0.0,6.2831854820251465,h,0,10.0);Ta=o;return}function Pe(a,b){a=a|0;b=b|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0.0,l=0,m=0.0,n=0.0,o=0.0;i=c[a+192>>2]|0;k=+Wa[c[(c[i>>2]|0)+48>>2]&31](i);i=c[a+712>>2]|0;if((i|0)>0){l=0;do{j=c[a+720>>2]|0;d=j+(l*104|0)+8|0;m=+f[b>>2]*+f[d>>2];f[d>>2]=m;d=j+(l*104|0)+12|0;o=+f[b+4>>2]*+f[d>>2];f[d>>2]=o;d=j+(l*104|0)+16|0;n=+f[b+8>>2]*+f[d>>2];f[d>>2]=n;d=j+(l*104|0)+24|0;f[d>>2]=+f[b>>2]*+f[d>>2];d=j+(l*104|0)+28|0;f[d>>2]=+f[b+4>>2]*+f[d>>2];d=j+(l*104|0)+32|0;f[d>>2]=+f[b+8>>2]*+f[d>>2];j=c[j+(l*104|0)+96>>2]|0;d=ch(a+928|0,j)|0;a:do if(d){g=c[a+936>>2]|0;if((g|0)<=-1){d=c[a+928>>2]|0;break}if(g){h=0;e=d;while(1){d=c[e+32>>2]|0;h=h+1|0;if(!d){d=e;break a}if((h|0)>=(g|0))break;else e=d}}}else d=0;while(0);f[j>>2]=m-k;f[j+4>>2]=o-k;f[j+8>>2]=n-k;f[j+12>>2]=0.0;f[j+16>>2]=k+m;f[j+20>>2]=k+o;f[j+24>>2]=k+n;f[j+28>>2]=0.0;bf(a+928|0,d,j);l=l+1|0}while((l|0)!=(i|0))}wg(a);d=c[a+928>>2]|0;if(d){b=c[a+192>>2]|0;m=+Wa[c[(c[b>>2]|0)+48>>2]&31](b);o=+f[d+4>>2]-m;n=+f[d+8>>2]-m;f[a+892>>2]=+f[d>>2]-m;f[a+896>>2]=o;f[a+900>>2]=n;f[a+904>>2]=0.0;n=m+ +f[d+20>>2];o=m+ +f[d+24>>2];f[a+908>>2]=m+ +f[d+16>>2];f[a+912>>2]=n;f[a+916>>2]=o;f[a+920>>2]=0.0;d=c[a+188>>2]|0;if(d|0){b=c[a+684>>2]|0;l=c[b+32>>2]|0;Gb[c[(c[l>>2]|0)+16>>2]&63](l,d,a+892|0,a+908|0,c[b+36>>2]|0)}}else{c[a+892>>2]=0;c[a+892+4>>2]=0;c[a+892+8>>2]=0;c[a+892+12>>2]=0;c[a+892+16>>2]=0;c[a+892+20>>2]=0;c[a+892+24>>2]=0;c[a+892+28>>2]=0}e=c[a+732>>2]|0;if((e|0)<=0){Sf(a);return}g=c[a+740>>2]|0;d=0;do{l=c[g+(d*52|0)+8>>2]|0;b=c[g+(d*52|0)+12>>2]|0;m=+f[l+8>>2]-+f[b+8>>2];n=+f[l+12>>2]-+f[b+12>>2];o=+f[l+16>>2]-+f[b+16>>2];o=+s(+(m*m+n*n+o*o));f[g+(d*52|0)+16>>2]=o;f[g+(d*52|0)+28>>2]=o*o;d=d+1|0}while((d|0)!=(e|0));d=0;do{f[g+(d*52|0)+24>>2]=(+f[(c[g+(d*52|0)+8>>2]|0)+88>>2]+ +f[(c[g+(d*52|0)+12>>2]|0)+88>>2])/+f[(c[g+(d*52|0)+4>>2]|0)+4>>2];d=d+1|0}while((d|0)!=(e|0));Sf(a);return}function Qe(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;if(!b)if(!e){if(f|0){c[f>>2]=(a>>>0)%(d>>>0);c[f+4>>2]=0}e=0;f=(a>>>0)/(d>>>0)>>>0;return (C(e|0),f)|0}else{if(!f){e=0;f=0;return (C(e|0),f)|0}c[f>>2]=a|0;c[f+4>>2]=b&0;e=0;f=0;return (C(e|0),f)|0}do if(d){if(e|0){h=(A(e|0)|0)-(A(b|0)|0)|0;if(h>>>0<=31){n=h+1|0;i=a>>>((h+1|0)>>>0)&h-31>>31|b<<31-h;m=b>>>((h+1|0)>>>0)&h-31>>31;g=0;h=a<<31-h;break}if(!f){e=0;f=0;return (C(e|0),f)|0}c[f>>2]=a|0;c[f+4>>2]=b|b&0;e=0;f=0;return (C(e|0),f)|0}if(d-1&d|0){h=(A(d|0)|0)+33-(A(b|0)|0)|0;n=h;i=32-h-1>>31&b>>>((h-32|0)>>>0)|(b<<32-h|a>>>(h>>>0))&h-32>>31;m=h-32>>31&b>>>(h>>>0);g=a<<64-h&32-h>>31;h=(b<<64-h|a>>>((h-32|0)>>>0))&32-h>>31|a<<32-h&h-33>>31;break}if(f|0){c[f>>2]=d-1&a;c[f+4>>2]=0}if((d|0)==1){e=b|b&0;f=a|0|0;return (C(e|0),f)|0}else{f=nV(d|0)|0;e=b>>>(f>>>0)|0;f=b<<32-f|a>>>(f>>>0)|0;return (C(e|0),f)|0}}else{if(!e){if(f|0){c[f>>2]=(b>>>0)%(d>>>0);c[f+4>>2]=0}e=0;f=(b>>>0)/(d>>>0)>>>0;return (C(e|0),f)|0}if(!a){if(f|0){c[f>>2]=0;c[f+4>>2]=(b>>>0)%(e>>>0)}d=0;f=(b>>>0)/(e>>>0)>>>0;return (C(d|0),f)|0}if(!(e-1&e)){if(f|0){c[f>>2]=a|0;c[f+4>>2]=e-1&b|b&0}d=0;f=b>>>((nV(e|0)|0)>>>0);return (C(d|0),f)|0}h=(A(e|0)|0)-(A(b|0)|0)|0;if(h>>>0<=30){n=h+1|0;i=b<<31-h|a>>>((h+1|0)>>>0);m=b>>>((h+1|0)>>>0);g=0;h=a<<31-h;break}if(!f){e=0;f=0;return (C(e|0),f)|0}c[f>>2]=a|0;c[f+4>>2]=b|b&0;e=0;f=0;return (C(e|0),f)|0}while(0);if(!n){j=h;b=m;a=0;h=0}else{k=hD(d|0|0,e|e&0|0,-1,-1)|0;l=D()|0;j=h;b=m;a=n;h=0;do{p=j;j=g>>>31|j<<1;g=h|g<<1;p=i<<1|p>>>31|0;o=i>>>31|b<<1|0;xC(k|0,l|0,p|0,o|0)|0;n=D()|0;m=n>>31|((n|0)<0?-1:0)<<1;h=m&1;i=xC(p|0,o|0,m&(d|0)|0,(((n|0)<0?-1:0)>>31|((n|0)<0?-1:0)<<1)&(e|e&0)|0)|0;b=D()|0;a=a-1|0}while((a|0)!=0);a=0}if(f|0){c[f>>2]=i;c[f+4>>2]=b}o=(g|0)>>>31|j<<1|(0<<1|g>>>31)&0|a;p=(g<<1|0>>>31)&-2|h;return (C(o|0),p)|0}function Re(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0.0,r=0,s=0,t=0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0;if(!a)return;u=+f[b>>2];v=+f[b+4>>2];w=+f[b+8>>2];x=+f[b+16>>2];y=+f[b+20>>2];q=+f[b+24>>2];c[6879]=(c[6879]|0)+1;b=Zb(275)|0;if(!b)b=0;else{c[(b+4+15&-16)+-4>>2]=b;b=b+4+15&-16}c[b>>2]=a;m=b;l=b;g=b;h=b;n=64;e=1;a=b;while(1){j=e+-1|0;p=c[a+(j<<2)>>2]|0;do if(((((+f[p>>2]<=x?+f[p+16>>2]>=u:0)?+f[p+4>>2]<=y:0)?+f[p+20>>2]>=v:0)?+f[p+8>>2]<=q:0)?+f[p+24>>2]>=w:0){if(!(c[p+40>>2]|0)){vb[c[(c[d>>2]|0)+12>>2]&255](d,p);k=l;b=m;i=n;e=j;break}o=c[p+36>>2]|0;do if((j|0)==(n|0)){k=(n|0)==0?1:n<<1;if((e|0)<=(k|0)){if((k|0)!=0?(c[6879]=(c[6879]|0)+1,s=Zb((k<<2|3)+16|0)|0,(s|0)!=0):0){c[(s+4+15&-16)+-4>>2]=s;i=s+4+15&-16}else i=0;if((e|0)<=1){if(!a){j=0;h=i;e=i;g=i;b=i;n=k;m=i;break}}else{b=0;do{c[i+(b<<2)>>2]=c[a+(b<<2)>>2];b=b+1|0}while((b|0)!=(n|0))}if(!m){j=n;h=i;e=i;g=i;b=i;n=k;m=i}else{c[6880]=(c[6880]|0)+1;kd(c[m+-4>>2]|0);j=n;h=i;e=i;g=i;b=i;n=k;m=i}}else{j=n;e=l;b=m;m=a}}else{e=l;b=m;m=a}while(0);c[m+(j<<2)>>2]=o;l=j+1|0;k=c[p+40>>2]|0;do if((l|0)==(n|0)?(t=(n|0)==0?1:n<<1,(n|0)<(t|0)):0){if((t|0)!=0?(c[6879]=(c[6879]|0)+1,r=Zb((t<<2|3)+16|0)|0,(r|0)!=0):0){c[(r+4+15&-16)+-4>>2]=r;a=r+4+15&-16}else a=0;if((j|0)>-1){b=0;do{c[a+(b<<2)>>2]=c[m+(b<<2)>>2];b=b+1|0}while((b|0)!=(n|0));if(!h){e=a;g=a;h=a;b=a;i=t;break}}else if((m|0)==0|(h|0)==0){e=a;g=a;h=a;b=a;i=t;break}c[6880]=(c[6880]|0)+1;kd(c[h+-4>>2]|0);e=a;g=a;h=a;b=a;i=t}else{i=n;a=m}while(0);c[a+(l<<2)>>2]=k;k=e;e=j+2|0}else{k=l;b=m;i=n;e=j}while(0);if((e|0)<=0)break;m=b;l=k;n=i}if((a|0)==0|(k|0)==0)return;c[6880]=(c[6880]|0)+1;kd(c[k+-4>>2]|0);return}function Se(a,b,d,e,g,h){a=a|0;b=+b;d=+d;e=e|0;g=g|0;h=h|0;var i=0,j=0.0,k=0.0,l=0,m=0,n=0,o=0,p=0,q=0.0,r=0.0;n=Ta;Ta=Ta+400|0;f[n+376>>2]=0.0;f[n+372>>2]=0.0;f[n+368>>2]=0.0;bx(n+384|0,n+376|0,n+372|0,n+368|0);l=D$(n+384|0)|0;f[l+(e<<2)>>2]=-d;f[n+344>>2]=0.0;f[n+340>>2]=0.0;f[n+336>>2]=0.0;bx(n+352|0,n+344|0,n+340|0,n+336|0);m=D$(n+352|0)|0;f[m+(e<<2)>>2]=d;Ps(n+272|0,g);VD(n+256|0,g,+f[n+384>>2],+f[n+384+4>>2],+f[n+384+8>>2]);i=vZ(n+272|0)|0;c[i>>2]=c[n+256>>2];c[i+4>>2]=c[n+256+4>>2];c[i+8>>2]=c[n+256+8>>2];c[i+12>>2]=c[n+256+12>>2];c[n+240>>2]=c[n+256>>2];c[n+240+4>>2]=c[n+256+4>>2];c[n+240+8>>2]=c[n+256+8>>2];c[n+240+12>>2]=c[n+256+12>>2];i=D$(n+272|0)|0;$t(n+224|0,i,(e+1|0)%3|0);$t(n+192|0,i,e);zt(n+208|0,+f[n+192>>2],+f[n+192+4>>2],+f[n+192+8>>2]);Eb[c[(c[a>>2]|0)+64>>2]&31](a,n+240|0,n+224|0,n+208|0,b,-1.5707963705062866,1.5707963705062866,-1.5707963705062866,1.5707963705062866,h,30.0,0);Ps(n+128|0,g);VD(n+112|0,g,+f[n+352>>2],+f[n+352+4>>2],+f[n+352+8>>2]);i=vZ(n+128|0)|0;c[i>>2]=c[n+112>>2];c[i+4>>2]=c[n+112+4>>2];c[i+8>>2]=c[n+112+8>>2];c[i+12>>2]=c[n+112+12>>2];c[n+96>>2]=c[n+112>>2];c[n+96+4>>2]=c[n+112+4>>2];c[n+96+8>>2]=c[n+112+8>>2];c[n+96+12>>2]=c[n+112+12>>2];i=D$(n+128|0)|0;$t(n+80|0,i,(e+1|0)%3|0);$t(n+64|0,i,e);Eb[c[(c[a>>2]|0)+64>>2]&31](a,n+96|0,n+80|0,n+64|0,b,-1.5707963705062866,1.5707963705062866,-1.5707963705062866,1.5707963705062866,h,30.0,0);i=vZ(g)|0;d=+f[i>>2];j=+f[i+4>>2];k=+f[i+8>>2];i=0;while(1){if(i>>>0>=360)break;q=+(i|0)*.01745329238474369;r=+s$(q)*b;f[l+(((e+1|0)%3|0)<<2)>>2]=r;f[m+(((e+1|0)%3|0)<<2)>>2]=r;q=+t$(q)*b;f[l+(((e+2|0)%3|0)<<2)>>2]=q;f[m+(((e+2|0)%3|0)<<2)>>2]=q;o=c[(c[a>>2]|0)+8>>2]|0;p=D$(g)|0;lm(n+32|0,p,+f[n+384>>2],+f[n+384+4>>2],+f[n+384+8>>2]);sq(n+48|0,d,j,k,+f[n+32>>2],+f[n+32+4>>2],+f[n+32+8>>2]);lm(n,p,+f[n+352>>2],+f[n+352+4>>2],+f[n+352+8>>2]);sq(n+16|0,d,j,k,+f[n>>2],+f[n+4>>2],+f[n+8>>2]);Cb[o&127](a,n+48|0,n+16|0,h);i=i+30|0}Ta=n;return}function Te(b,d,e){b=b|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0;g=c[d+8>>2]|0;if((g|0)>0){h=c[d+16>>2]|0;j=0;e=0;do{i=c[h+(j<<2)>>2]|0;if(!(c[i+204>>2]&3)){c[i+208>>2]=e;e=e+1|0}c[i+212>>2]=-1;f[i+244>>2]=1.0;j=j+1|0}while((j|0)!=(g|0));j=e}else j=0;i=c[b+8>>2]|0;if((i|0)<(j|0)){if((c[b+12>>2]|0)<(j|0)){if(!j){g=i;h=0}else{c[6879]=(c[6879]|0)+1;e=Zb((j<<3|3)+16|0)|0;if(!e)e=0;else{c[(e+4+15&-16)+-4>>2]=e;e=e+4+15&-16}g=c[b+8>>2]|0;h=e}if((g|0)>0){e=0;do{m=(c[b+16>>2]|0)+(e<<3)|0;k=c[m+4>>2]|0;l=h+(e<<3)|0;c[l>>2]=c[m>>2];c[l+4>>2]=k;e=e+1|0}while((e|0)!=(g|0))}e=c[b+16>>2]|0;if(e|0){if(a[b+20>>0]|0){c[6880]=(c[6880]|0)+1;kd(c[e+-4>>2]|0)}c[b+16>>2]=0}a[b+20>>0]=1;c[b+16>>2]=h;c[b+12>>2]=j;g=b+16|0}else g=b+16|0;e=i;do{m=(c[g>>2]|0)+(e<<3)|0;c[m>>2]=0;c[m+4>>2]=0;e=e+1|0}while((e|0)!=(j|0))}c[b+8>>2]=j;if((j|0)>0){e=c[b+16>>2]|0;g=0;do{c[e+(g<<3)>>2]=g;c[e+(g<<3)+4>>2]=1;g=g+1|0}while((g|0)!=(j|0))}e=c[d+68>>2]|0;e=eb[c[(c[e>>2]|0)+36>>2]&255](e)|0;l=eb[c[(c[e>>2]|0)+36>>2]&255](e)|0;if(!l)return;d=eb[c[(c[e>>2]|0)+20>>2]&255](e)|0;if((l|0)<=0)return;k=0;do{e=c[c[d+(k<<4)>>2]>>2]|0;g=c[c[d+(k<<4)+4>>2]>>2]|0;if((e|0?(g|0?(c[e+204>>2]&7|0)==0:0):0)?(c[g+204>>2]&7|0)==0:0){h=c[e+208>>2]|0;e=c[g+208>>2]|0;j=c[b+16>>2]|0;g=c[j+(h<<3)>>2]|0;if((g|0)!=(h|0)){c[j+(h<<3)>>2]=c[j+(g<<3)>>2];h=c[j+(g<<3)>>2]|0;g=c[j+(h<<3)>>2]|0;if((h|0)!=(g|0)){i=j+(h<<3)|0;do{h=j+(g<<3)|0;c[i>>2]=c[h>>2];h=c[h>>2]|0;i=j+(h<<3)|0;g=c[i>>2]|0}while((h|0)!=(g|0))}}g=c[j+(e<<3)>>2]|0;if((g|0)!=(e|0)){c[j+(e<<3)>>2]=c[j+(g<<3)>>2];e=c[j+(g<<3)>>2]|0;g=c[j+(e<<3)>>2]|0;if((e|0)!=(g|0)){i=j+(e<<3)|0;do{e=j+(g<<3)|0;c[i>>2]=c[e>>2];e=c[e>>2]|0;i=j+(e<<3)|0;g=c[i>>2]|0}while((e|0)!=(g|0))}}if((h|0)!=(e|0)){c[j+(h<<3)>>2]=e;m=j+(e<<3)+4|0;c[m>>2]=(c[m>>2]|0)+(c[j+(h<<3)+4>>2]|0)}}k=k+1|0}while((k|0)!=(l|0));return}function Ue(b,d,e,g){b=b|0;d=d|0;e=e|0;g=g|0;var h=0;h=Ta;Ta=Ta+48|0;c[b+8>>2]=0;f[b+12>>2]=0.0;c[b>>2]=8360;c[b+48>>2]=d;c[b+4>>2]=21;if(eb[c[(c[d>>2]|0)+40>>2]&255](d)|0)zb[c[(c[d>>2]|0)+48>>2]&127](d,b+16|0,b+32|0);else{d=h+32+4|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;f[h+32>>2]=1.0;zb[c[(c[b>>2]|0)+68>>2]&127](h+16|0,b,h+32|0);f[b+32>>2]=+f[h+16>>2]+ +f[b+12>>2];f[h+32>>2]=-1.0;zb[c[(c[b>>2]|0)+68>>2]&127](h,b,h+32|0);c[h+16>>2]=c[h>>2];c[h+16+4>>2]=c[h+4>>2];c[h+16+8>>2]=c[h+8>>2];c[h+16+12>>2]=c[h+12>>2];f[b+16>>2]=+f[h+16>>2]-+f[b+12>>2];c[h+32>>2]=0;c[h+32+4>>2]=0;c[h+32+8>>2]=0;c[h+32+12>>2]=0;f[d>>2]=1.0;zb[c[(c[b>>2]|0)+68>>2]&127](h+16|0,b,h+32|0);f[b+36>>2]=+f[h+16+4>>2]+ +f[b+12>>2];f[d>>2]=-1.0;zb[c[(c[b>>2]|0)+68>>2]&127](h,b,h+32|0);c[h+16>>2]=c[h>>2];c[h+16+4>>2]=c[h+4>>2];c[h+16+8>>2]=c[h+8>>2];c[h+16+12>>2]=c[h+12>>2];f[b+20>>2]=+f[h+16+4>>2]-+f[b+12>>2];c[h+32>>2]=0;c[h+32+4>>2]=0;c[h+32+8>>2]=0;c[h+32+12>>2]=0;f[h+32+8>>2]=1.0;zb[c[(c[b>>2]|0)+68>>2]&127](h+16|0,b,h+32|0);f[b+40>>2]=+f[h+16+8>>2]+ +f[b+12>>2];f[h+32+8>>2]=-1.0;zb[c[(c[b>>2]|0)+68>>2]&127](h,b,h+32|0);c[h+16>>2]=c[h>>2];c[h+16+4>>2]=c[h+4>>2];c[h+16+8>>2]=c[h+8>>2];c[h+16+12>>2]=c[h+12>>2];f[b+24>>2]=+f[h+16+8>>2]-+f[b+12>>2]}c[b>>2]=8208;c[b+52>>2]=0;c[b+56>>2]=0;a[b+60>>0]=e&1;a[b+61>>0]=0;c[b+4>>2]=21;if(!g){Ta=h;return}c[6879]=(c[6879]|0)+1;g=Zb(191)|0;if(!g)g=0;else{c[(g+4+15&-16)+-4>>2]=g;g=g+4+15&-16}c[g+52>>2]=282;a[g+60>>0]=0;a[g+80>>0]=1;c[g+76>>2]=0;c[g+68>>2]=0;c[g+72>>2]=0;a[g+100>>0]=1;c[g+96>>2]=0;c[g+88>>2]=0;c[g+92>>2]=0;a[g+120>>0]=1;c[g+116>>2]=0;c[g+108>>2]=0;c[g+112>>2]=0;a[g+140>>0]=1;c[g+136>>2]=0;c[g+128>>2]=0;c[g+132>>2]=0;c[g+144>>2]=0;a[g+164>>0]=1;c[g+160>>2]=0;c[g+152>>2]=0;c[g+156>>2]=0;c[g+168>>2]=0;c[g+4>>2]=-8388609;c[g+8>>2]=-8388609;c[g+12>>2]=-8388609;f[g+16>>2]=0.0;c[g+20>>2]=2139095039;c[g+24>>2]=2139095039;c[g+28>>2]=2139095039;f[g+32>>2]=0.0;c[g>>2]=9592;c[b+52>>2]=g;Tc(g,c[b+48>>2]|0,(a[b+60>>0]|0)!=0,b+16|0,b+32|0);a[b+61>>0]=1;Ta=h;return}function Ve(b,d,e,g,h){b=b|0;d=d|0;e=e|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0,C=0.0,D=0.0,E=0.0,F=0.0,G=0.0,H=0.0,I=0.0,J=0.0;j=Ta;Ta=Ta+64|0;k=(a[b+8>>0]|0)!=0;i=k?e:d;e=k?d:e;d=c[e+4>>2]|0;if(((c[d+4>>2]|0)+-21|0)>>>0>=9){Ta=j;return}if((c[(c[i+4>>2]|0)+4>>2]|0)>=20){Ta=j;return}l=+Wa[c[(c[d>>2]|0)+48>>2]&31](d);c[h+4>>2]=c[b+76>>2];c[b+16>>2]=i;c[b+20>>2]=e;c[b+64>>2]=g;f[b+68>>2]=l;c[b+56>>2]=h;k=c[e+12>>2]|0;A=+f[k>>2];z=+f[k+16>>2];y=+f[k+32>>2];x=+f[k+4>>2];w=+f[k+20>>2];v=+f[k+36>>2];r=+f[k+8>>2];p=+f[k+24>>2];n=+f[k+40>>2];u=-+f[k+48>>2];t=-+f[k+52>>2];s=-+f[k+56>>2];k=c[i+12>>2]|0;J=+f[k>>2];I=+f[k+16>>2];H=+f[k+32>>2];G=+f[k+4>>2];F=+f[k+20>>2];E=+f[k+36>>2];D=+f[k+8>>2];C=+f[k+24>>2];B=+f[k+40>>2];q=+f[k+48>>2];o=+f[k+52>>2];m=+f[k+56>>2];f[j>>2]=A*J+z*I+y*H;f[j+4>>2]=A*G+z*F+y*E;f[j+8>>2]=A*D+z*C+y*B;f[j+12>>2]=0.0;f[j+16>>2]=x*J+w*I+v*H;f[j+20>>2]=x*G+w*F+v*E;f[j+24>>2]=x*D+w*C+v*B;f[j+28>>2]=0.0;f[j+32>>2]=r*J+p*I+n*H;f[j+36>>2]=r*G+p*F+n*E;f[j+40>>2]=r*D+p*C+n*B;f[j+44>>2]=0.0;f[j+48>>2]=A*u+z*t+y*s+(A*q+z*o+y*m);f[j+52>>2]=x*u+w*t+v*s+(x*q+w*o+v*m);f[j+56>>2]=r*u+p*t+n*s+(r*q+p*o+n*m);f[j+60>>2]=0.0;k=c[i+4>>2]|0;Cb[c[(c[k>>2]|0)+8>>2]&127](k,j,b+24|0,b+40|0);f[b+40>>2]=+f[b+40>>2]+l;f[b+44>>2]=+f[b+44>>2]+l;f[b+48>>2]=+f[b+48>>2]+l;f[b+24>>2]=+f[b+24>>2]-l;f[b+28>>2]=+f[b+28>>2]-l;f[b+32>>2]=+f[b+32>>2]-l;k=c[b+76>>2]|0;g=c[e+8>>2]|0;c[k+740>>2]=c[i+8>>2];c[k+744>>2]=g;Cb[c[(c[d>>2]|0)+64>>2]&127](d,b+12|0,b+24|0,b+40|0);d=c[h+4>>2]|0;do if(c[d+748>>2]|0){e=c[d+740>>2]|0;i=c[(c[h+8>>2]|0)+8>>2]|0;if((e|0)==(i|0)){ye(d,e+4|0,(c[(c[h+12>>2]|0)+8>>2]|0)+4|0);break}else{ye(d,(c[(c[h+12>>2]|0)+8>>2]|0)+4|0,i+4|0);break}}while(0);c[b+16>>2]=0;c[b+20>>2]=0;Ta=j;return}function We(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var g=0,h=0.0,i=0.0,j=0.0,k=0,l=0,m=0,n=0,o=0.0,p=0;n=Ta;Ta=Ta+128|0;h=+f[b>>2];i=+f[b+16>>2];o=h>2];if((o+f[a+28>>2]){Ta=n;return}l=h>i?b:b+16|0;if(+f[(+f[l>>2]>j?l:b+32|0)>>2]<+f[a+12>>2]){Ta=n;return}j=+f[b+8>>2];h=+f[b+24>>2];o=j>2];if((o+f[a+36>>2]){Ta=n;return}l=j>h?b+8|0:b+24|0;if(+f[(+f[l>>2]>i?l:b+40|0)>>2]<+f[a+20>>2]){Ta=n;return}h=+f[b+4>>2];i=+f[b+20>>2];o=h>2];if((o+f[a+32>>2]){Ta=n;return}l=h>i?b+4|0:b+20|0;if(+f[(+f[l>>2]>j?l:b+36|0)>>2]<+f[a+16>>2]){Ta=n;return}g=c[a+4>>2]|0;if((c[(c[g+4>>2]|0)+4>>2]|0)>=20){Ta=n;return}l=c[a+48>>2]|0;c[n+24+8>>2]=0;c[n+24+12>>2]=1065353216;c[n+24+16>>2]=1065353216;c[n+24+20>>2]=1065353216;f[n+24+24>>2]=0.0;c[n+24+52>>2]=0;c[n+24>>2]=4916;c[n+24+4>>2]=1;c[n+24+56>>2]=c[b>>2];c[n+24+56+4>>2]=c[b+4>>2];c[n+24+56+8>>2]=c[b+8>>2];c[n+24+56+12>>2]=c[b+12>>2];c[n+24+72>>2]=c[b+16>>2];c[n+24+72+4>>2]=c[b+16+4>>2];c[n+24+72+8>>2]=c[b+16+8>>2];c[n+24+72+12>>2]=c[b+16+12>>2];c[n+24+88>>2]=c[b+32>>2];c[n+24+88+4>>2]=c[b+32+4>>2];c[n+24+88+8>>2]=c[b+32+8>>2];c[n+24+88+12>>2]=c[b+32+12>>2];c[n+24+44>>2]=c[a+56>>2];p=c[a+8>>2]|0;b=c[p+8>>2]|0;k=c[p+12>>2]|0;c[n>>2]=p;c[n+4>>2]=n+24;c[n+8>>2]=b;c[n+12>>2]=k;c[n+16>>2]=d;c[n+20>>2]=e;k=jb[c[(c[l>>2]|0)+8>>2]&63](l,g,n,c[a+64>>2]|0)|0;b=c[a+44>>2]|0;g=c[b+8>>2]|0;if((c[g+8>>2]|0)==(c[(c[a+8>>2]|0)+8>>2]|0)){c[b+8>>2]=n;zb[c[(c[b>>2]|0)+8>>2]&127](b,d,e)}else{g=c[b+12>>2]|0;c[b+12>>2]=n;zb[c[(c[b>>2]|0)+12>>2]&127](b,d,e)}Gb[c[(c[k>>2]|0)+8>>2]&63](k,c[a+4>>2]|0,n,c[a+52>>2]|0,c[a+44>>2]|0);p=c[a+44>>2]|0;c[((c[(c[p+8>>2]|0)+8>>2]|0)==(c[(c[a+8>>2]|0)+8>>2]|0)?p+8|0:p+12|0)>>2]=g;pb[c[c[k>>2]>>2]&511](k);vb[c[(c[l>>2]|0)+60>>2]&255](l,k);c[n+24>>2]=8560;g=c[n+24+52>>2]|0;if(g|0?(pb[c[c[g>>2]>>2]&511](g),m=c[n+24+52>>2]|0,m|0):0){c[6880]=(c[6880]|0)+1;kd(c[m+-4>>2]|0)}Ta=n;return}function Xe(b,d,e,g,h){b=b|0;d=d|0;e=e|0;g=g|0;h=h|0;var i=0.0,j=0.0,k=0.0,l=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0,y=0.0,z=0.0;x=a[h+16>>0]&-16;a[h+16>>0]=x;n=+f[e>>2];o=+f[d>>2];p=+f[e+4>>2];q=+f[d+4>>2];r=+f[e+8>>2];s=+f[d+8>>2];t=+f[g>>2];u=+f[g+4>>2];v=+f[g+8>>2];l=+f[b>>2];m=+f[b+4>>2];i=+f[b+8>>2];z=(n-o)*(l-o)+(p-q)*(m-q)+(r-s)*(i-s);y=(t-o)*(l-o)+(u-q)*(m-q)+(v-s)*(i-s);do if(z<=0.0&y<=0.0){c[h>>2]=c[d>>2];c[h+4>>2]=c[d+4>>2];c[h+8>>2]=c[d+8>>2];c[h+12>>2]=c[d+12>>2];a[h+16>>0]=x|1;j=0.0;k=0.0;i=1.0}else{w=(n-o)*(l-n)+(p-q)*(m-p)+(r-s)*(i-r);k=(t-o)*(l-n)+(u-q)*(m-p)+(v-s)*(i-r);if(!(!(w>=0.0)|!(k<=w))){c[h>>2]=c[e>>2];c[h+4>>2]=c[e+4>>2];c[h+8>>2]=c[e+8>>2];c[h+12>>2]=c[e+12>>2];a[h+16>>0]=x|2;j=0.0;k=1.0;i=0.0;break}if(w<=0.0&(z>=0.0?z*k-w*y<=0.0:0)){f[h>>2]=o+(n-o)*(z/(z-w));f[h+4>>2]=q+(p-q)*(z/(z-w));f[h+8>>2]=s+(r-s)*(z/(z-w));f[h+12>>2]=0.0;a[h+16>>0]=x|3;j=0.0;k=z/(z-w);i=1.0-z/(z-w);break}j=(n-o)*(l-t)+(p-q)*(m-u)+(r-s)*(i-v);i=(t-o)*(l-t)+(u-q)*(m-u)+(v-s)*(i-v);if(!(!(i>=0.0)|!(j<=i))){c[h>>2]=c[g>>2];c[h+4>>2]=c[g+4>>2];c[h+8>>2]=c[g+8>>2];c[h+12>>2]=c[g+12>>2];a[h+16>>0]=x|4;j=1.0;k=0.0;i=0.0;break}if(i<=0.0&(y>=0.0?j*y-z*i<=0.0:0)){f[h>>2]=o+(t-o)*(y/(y-i));f[h+4>>2]=q+(u-q)*(y/(y-i));f[h+8>>2]=s+(v-s)*(y/(y-i));f[h+12>>2]=0.0;a[h+16>>0]=x|5;j=y/(y-i);k=0.0;i=1.0-y/(y-i);break}if((w*i-j*k<=0.0?k-w>=0.0:0)?j-i>=0.0:0){k=(k-w)/(k-w+(j-i));f[h>>2]=n+(t-n)*k;f[h+4>>2]=p+(u-p)*k;f[h+8>>2]=r+(v-r)*k;f[h+12>>2]=0.0;a[h+16>>0]=x|6;j=k;k=1.0-k;i=0.0;break}l=1.0/(z*k-w*y+(w*i-j*k+(j*y-z*i)));m=(j*y-z*i)*l;i=(z*k-w*y)*l;f[h>>2]=(t-o)*i+(o+(n-o)*m);f[h+4>>2]=(u-q)*i+(q+(p-q)*m);f[h+8>>2]=(v-s)*i+(s+(r-s)*m);f[h+12>>2]=0.0;a[h+16>>0]=x|7;j=i;k=m;i=1.0-m-i}while(0);f[h+20>>2]=i;f[h+24>>2]=k;f[h+28>>2]=j;f[h+32>>2]=0.0;return}function Ye(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var g=0,h=0.0,i=0.0,j=0.0,k=0,l=0,m=0.0,n=0.0,o=0.0,p=0.0;g=Ta;Ta=Ta+256|0;Aj(14735);c[g+32>>2]=5260;k=g+32+36|0;c[k>>2]=c[b>>2];c[k+4>>2]=c[b+4>>2];c[k+8>>2]=c[b+8>>2];c[k+12>>2]=c[b+12>>2];l=g+32+52|0;c[l>>2]=c[d>>2];c[l+4>>2]=c[d+4>>2];c[l+8>>2]=c[d+8>>2];c[l+12>>2]=c[d+12>>2];c[g+32+212>>2]=a;c[g+32+216>>2]=e;c[g+32+68>>2]=1065353216;c[g+32+72>>2]=0;c[g+32+72+4>>2]=0;c[g+32+72+8>>2]=0;c[g+32+72+12>>2]=0;c[g+32+88>>2]=1065353216;c[g+32+92>>2]=0;c[g+32+92+4>>2]=0;c[g+32+92+8>>2]=0;c[g+32+92+12>>2]=0;c[g+32+108>>2]=1065353216;c[g+32+112>>2]=0;c[g+32+116>>2]=c[k>>2];c[g+32+116+4>>2]=c[k+4>>2];c[g+32+116+8>>2]=c[k+8>>2];c[g+32+116+12>>2]=c[k+12>>2];c[g+32+132>>2]=1065353216;c[g+32+136>>2]=0;c[g+32+136+4>>2]=0;c[g+32+136+8>>2]=0;c[g+32+136+12>>2]=0;c[g+32+152>>2]=1065353216;c[g+32+156>>2]=0;c[g+32+156+4>>2]=0;c[g+32+156+8>>2]=0;c[g+32+156+12>>2]=0;c[g+32+172>>2]=1065353216;c[g+32+176>>2]=0;c[g+32+180>>2]=c[d>>2];c[g+32+180+4>>2]=c[d+4>>2];c[g+32+180+8>>2]=c[d+8>>2];c[g+32+180+12>>2]=c[d+12>>2];m=+f[d>>2]-+f[b>>2];j=+f[d+4>>2]-+f[b+4>>2];i=+f[d+8>>2]-+f[b+8>>2];h=1.0/+s(+(m*m+j*j+i*i));p=m*h==0.0?1000000015047466219876688.0e6:1.0/(m*h);f[g+32+4>>2]=p;o=j*h==0.0?1000000015047466219876688.0e6:1.0/(j*h);f[g+32+8>>2]=o;n=i*h==0.0?1000000015047466219876688.0e6:1.0/(i*h);f[g+32+12>>2]=n;c[g+32+20>>2]=p<0.0&1;c[g+32+24>>2]=o<0.0&1;c[g+32+28>>2]=n<0.0&1;f[g+32+32>>2]=m*h*(+f[l>>2]-+f[k>>2])+j*h*(+f[g+32+56>>2]-+f[g+32+40>>2])+i*h*(+f[g+32+60>>2]-+f[g+32+44>>2]);a=c[a+68>>2]|0;e=c[(c[a>>2]|0)+24>>2]|0;c[g+16>>2]=0;c[g+16+4>>2]=0;c[g+16+8>>2]=0;c[g+16+12>>2]=0;c[g>>2]=0;c[g+4>>2]=0;c[g+8>>2]=0;c[g+12>>2]=0;Ib[e&31](a,b,d,g+32|0,g+16|0,g);b=c[2760]|0;a=(c[b+16>>2]|0)+-1|0;c[b+16>>2]=a;if(a|0){Ta=g;return}do if(c[b+4>>2]|0){Pa(g+32|0,0)|0;l=c[6878]|0;f[b+8>>2]=+f[b+8>>2]+ +(((c[g+32+4>>2]|0)-(c[l+4>>2]|0)+(((c[g+32>>2]|0)-(c[l>>2]|0)|0)*1e6|0)-(c[b+12>>2]|0)|0)>>>0)/1.0e3;if(!(c[b+16>>2]|0)){b=c[2760]|0;break}else{Ta=g;return}}while(0);c[2760]=c[b+20>>2];Ta=g;return}function Ze(a,b,h){a=a|0;b=b|0;h=h|0;var i=0,j=0.0,k=0,l=0.0,m=0.0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0.0;t=Ta;Ta=Ta+32|0;o=c[a+4>>2]|0;Mb[c[(c[o>>2]|0)+16>>2]&31](o,t+28|0,t+24|0,t+20|0,t+16|0,t+12|0,t+8|0,t+4|0,t,b);o=(c[t+12>>2]|0)+(z(c[t+8>>2]|0,h)|0)|0;r=c[a+4>>2]|0;n=c[t>>2]|0;switch(n|0){case 3:{i=e[o+4>>1]|0;break}case 2:{i=c[o+8>>2]|0;break}default:i=d[o+2>>0]|0}s=(c[t+20>>2]|0)==0;p=c[t+28>>2]|0;q=c[t+16>>2]|0;i=p+(z(q,i)|0)|0;if(s){k=i+8|0;l=+f[r+12>>2];m=+f[i>>2]*+f[r+4>>2];j=+f[i+4>>2]*+f[r+8>>2]}else{k=r+12|0;l=+g[i+16>>3];m=+f[r+4>>2]*+g[i>>3];j=+f[r+8>>2]*+g[i+8>>3]}l=+f[k>>2]*l;f[a+44>>2]=m;f[a+48>>2]=j;f[a+52>>2]=l;f[a+56>>2]=0.0;switch(n|0){case 3:{i=e[o+2>>1]|0;break}case 2:{i=c[o+4>>2]|0;break}default:i=d[o+1>>0]|0}i=p+(z(q,i)|0)|0;if(s){k=i+8|0;l=+f[r+12>>2];m=+f[i>>2]*+f[r+4>>2];j=+f[i+4>>2]*+f[r+8>>2]}else{k=r+12|0;l=+g[i+16>>3];m=+f[r+4>>2]*+g[i>>3];j=+f[r+8>>2]*+g[i+8>>3]}l=+f[k>>2]*l;f[a+28>>2]=m;f[a+32>>2]=j;f[a+36>>2]=l;f[a+40>>2]=0.0;switch(n|0){case 3:{i=e[o>>1]|0;break}case 2:{i=c[o>>2]|0;break}default:i=d[o>>0]|0}i=p+(z(q,i)|0)|0;if(s){q=i+8|0;m=+f[r+12>>2];j=+f[i>>2]*+f[r+4>>2];l=+f[i+4>>2]*+f[r+8>>2];u=+f[q>>2];m=u*m;r=a+12|0;f[r>>2]=j;r=a+16|0;f[r>>2]=l;r=a+20|0;f[r>>2]=m;r=a+24|0;f[r>>2]=0.0;r=a+8|0;r=c[r>>2]|0;q=c[r>>2]|0;q=q+8|0;q=c[q>>2]|0;s=a+12|0;Cb[q&127](r,s,b,h);a=c[a+4>>2]|0;h=c[a>>2]|0;h=h+24|0;h=c[h>>2]|0;vb[h&255](a,b);Ta=t;return}else{q=r+12|0;u=+g[i+16>>3];l=+f[r+4>>2]*+g[i>>3];m=+f[r+8>>2]*+g[i+8>>3];j=+f[q>>2];u=j*u;r=a+12|0;f[r>>2]=l;r=a+16|0;f[r>>2]=m;r=a+20|0;f[r>>2]=u;r=a+24|0;f[r>>2]=0.0;r=a+8|0;r=c[r>>2]|0;q=c[r>>2]|0;q=q+8|0;q=c[q>>2]|0;s=a+12|0;Cb[q&127](r,s,b,h);a=c[a+4>>2]|0;h=c[a>>2]|0;h=h+24|0;h=c[h>>2]|0;vb[h&255](a,b);Ta=t;return}}function _e(b){b=b|0;var d=0,e=0;c[b>>2]=6540;if(a[b+20>>0]|0){d=c[b+16>>2]|0;e=c[d+16>>2]|0;if(e){c[6880]=(c[6880]|0)+1;kd(c[e+-4>>2]|0);d=c[b+16>>2]|0}if(d|0){c[6880]=(c[6880]|0)+1;kd(c[d+-4>>2]|0)}}if(a[b+12>>0]|0){d=c[b+8>>2]|0;e=c[d+16>>2]|0;if(e){c[6880]=(c[6880]|0)+1;kd(c[e+-4>>2]|0);d=c[b+8>>2]|0}if(d|0){c[6880]=(c[6880]|0)+1;kd(c[d+-4>>2]|0)}}d=c[b+32>>2]|0;pb[c[c[d>>2]>>2]&511](d);d=c[b+32>>2]|0;if(d|0){c[6880]=(c[6880]|0)+1;kd(c[d+-4>>2]|0)}d=c[b+36>>2]|0;pb[c[c[d>>2]>>2]&511](d);d=c[b+36>>2]|0;if(d|0){c[6880]=(c[6880]|0)+1;kd(c[d+-4>>2]|0)}d=c[b+40>>2]|0;pb[c[c[d>>2]>>2]&511](d);d=c[b+40>>2]|0;if(d|0){c[6880]=(c[6880]|0)+1;kd(c[d+-4>>2]|0)}d=c[b+44>>2]|0;pb[c[c[d>>2]>>2]&511](d);d=c[b+44>>2]|0;if(d|0){c[6880]=(c[6880]|0)+1;kd(c[d+-4>>2]|0)}d=c[b+48>>2]|0;pb[c[c[d>>2]>>2]&511](d);d=c[b+48>>2]|0;if(d|0){c[6880]=(c[6880]|0)+1;kd(c[d+-4>>2]|0)}d=c[b+52>>2]|0;pb[c[c[d>>2]>>2]&511](d);d=c[b+52>>2]|0;if(d|0){c[6880]=(c[6880]|0)+1;kd(c[d+-4>>2]|0)}d=c[b+56>>2]|0;pb[c[c[d>>2]>>2]&511](d);d=c[b+56>>2]|0;if(d|0){c[6880]=(c[6880]|0)+1;kd(c[d+-4>>2]|0)}d=c[b+60>>2]|0;pb[c[c[d>>2]>>2]&511](d);d=c[b+60>>2]|0;if(d|0){c[6880]=(c[6880]|0)+1;kd(c[d+-4>>2]|0)}d=c[b+76>>2]|0;pb[c[c[d>>2]>>2]&511](d);d=c[b+76>>2]|0;if(d|0){c[6880]=(c[6880]|0)+1;kd(c[d+-4>>2]|0)}d=c[b+80>>2]|0;pb[c[c[d>>2]>>2]&511](d);d=c[b+80>>2]|0;if(d|0){c[6880]=(c[6880]|0)+1;kd(c[d+-4>>2]|0)}d=c[b+72>>2]|0;pb[c[c[d>>2]>>2]&511](d);d=c[b+72>>2]|0;if(d|0){c[6880]=(c[6880]|0)+1;kd(c[d+-4>>2]|0)}d=c[b+88>>2]|0;pb[c[c[d>>2]>>2]&511](d);d=c[b+88>>2]|0;if(d|0){c[6880]=(c[6880]|0)+1;kd(c[d+-4>>2]|0)}d=c[b+84>>2]|0;pb[c[c[d>>2]>>2]&511](d);d=c[b+84>>2]|0;if(d|0){c[6880]=(c[6880]|0)+1;kd(c[d+-4>>2]|0)}d=c[b+24>>2]|0;if(d|0){c[6880]=(c[6880]|0)+1;kd(c[d+-4>>2]|0)}d=c[b+28>>2]|0;pb[c[c[d>>2]>>2]&511](d);d=c[b+28>>2]|0;if(!d)return;c[6880]=(c[6880]|0)+1;kd(c[d+-4>>2]|0);return}function $e(b,d){b=b|0;d=+d;var e=0,g=0.0,h=0.0,i=0.0,j=0.0,k=0.0,l=0.0,m=0.0,n=0.0,o=0.0,p=0,q=0,r=0,u=0.0;r=Ta;Ta=Ta+16|0;Aj(15228);e=c[b+232>>2]|0;if((e|0)>0){q=0;do{p=c[(c[b+240>>2]|0)+(q<<2)>>2]|0;if(!(c[p+204>>2]&3)){n=+f[p+444>>2];j=+t(+(1.0-n),+d);g=+f[p+312>>2]*j;f[p+312>>2]=g;h=j*+f[p+316>>2];f[p+316>>2]=h;j=j*+f[p+320>>2];f[p+320>>2]=j;o=+f[p+448>>2];i=+t(+(1.0-o),+d);l=+f[p+328>>2]*i;f[p+328>>2]=l;k=i*+f[p+332>>2];f[p+332>>2]=k;i=i*+f[p+336>>2];f[p+336>>2]=i;do if(a[p+452>>0]|0){if(l*l+k*k+i*i<+f[p+464>>2]?g*g+h*h+j*j<+f[p+460>>2]:0){u=+f[p+456>>2];f[p+328>>2]=l*u;f[p+332>>2]=k*u;f[p+336>>2]=i*u;f[p+312>>2]=g*u;f[p+316>>2]=h*u;f[p+320>>2]=j*u;g=g*u;m=h*u;j=j*u;l=l*u;k=k*u;i=i*u}else m=h;h=+s(+(g*g+m*m+j*j));do if(h.004999999888241291){f[p+312>>2]=g-g*(1.0/h)*.004999999888241291;f[p+316>>2]=m-m*(1.0/h)*.004999999888241291;f[p+320>>2]=j-j*(1.0/h)*.004999999888241291;break}else{c[p+312>>2]=0;c[p+312+4>>2]=0;c[p+312+8>>2]=0;c[p+312+12>>2]=0;break}while(0);g=+s(+(l*l+k*k+i*i));if(g.004999999888241291){f[p+328>>2]=l-l*(1.0/g)*.004999999888241291;f[p+332>>2]=k-k*(1.0/g)*.004999999888241291;f[p+336>>2]=i-i*(1.0/g)*.004999999888241291;break}else{c[p+328>>2]=0;c[p+328+4>>2]=0;c[p+328+8>>2]=0;c[p+328+12>>2]=0;break}}while(0);Vg(p+4|0,+f[p+312>>2],+f[p+316>>2],+f[p+320>>2],p+328|0,d,p+68|0);e=c[b+232>>2]|0}q=q+1|0}while((q|0)<(e|0))}e=c[2760]|0;b=(c[e+16>>2]|0)+-1|0;c[e+16>>2]=b;if(b|0){Ta=r;return}do if(c[e+4>>2]|0){Pa(r|0,0)|0;b=c[6878]|0;f[e+8>>2]=+f[e+8>>2]+ +(((c[r+4>>2]|0)-(c[b+4>>2]|0)+(((c[r>>2]|0)-(c[b>>2]|0)|0)*1e6|0)-(c[e+12>>2]|0)|0)>>>0)/1.0e3;if(!(c[e+16>>2]|0)){e=c[2760]|0;break}else{Ta=r;return}}while(0);c[2760]=c[e+20>>2];Ta=r;return}function af(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;c[b+16>>2]=c[a+4>>2];c[b+20>>2]=c[a+8>>2];c[b+24>>2]=c[a+12>>2];c[b+28>>2]=c[a+16>>2];c[b+32>>2]=c[a+20>>2];c[b+36>>2]=c[a+24>>2];c[b+40>>2]=c[a+28>>2];c[b+44>>2]=c[a+32>>2];c[b+48>>2]=c[a+36>>2];c[b+52>>2]=c[a+40>>2];c[b+56>>2]=c[a+44>>2];c[b+60>>2]=c[a+48>>2];c[b+64>>2]=c[a+52>>2];c[b+68>>2]=c[a+56>>2];c[b+72>>2]=c[a+60>>2];c[b+76>>2]=c[a+64>>2];c[b+80>>2]=c[a+68>>2];c[b+84>>2]=c[a+72>>2];c[b+88>>2]=c[a+76>>2];c[b+92>>2]=c[a+80>>2];c[b+96>>2]=c[a+84>>2];c[b+100>>2]=c[a+88>>2];c[b+104>>2]=c[a+92>>2];c[b+108>>2]=c[a+96>>2];c[b+112>>2]=c[a+100>>2];c[b+116>>2]=c[a+104>>2];c[b+120>>2]=c[a+108>>2];c[b+124>>2]=c[a+112>>2];c[b+128>>2]=c[a+116>>2];c[b+132>>2]=c[a+120>>2];c[b+136>>2]=c[a+124>>2];c[b+140>>2]=c[a+128>>2];c[b+144>>2]=c[a+132>>2];c[b+148>>2]=c[a+136>>2];c[b+152>>2]=c[a+140>>2];c[b+156>>2]=c[a+144>>2];c[b+160>>2]=c[a+148>>2];c[b+164>>2]=c[a+152>>2];c[b+168>>2]=c[a+156>>2];c[b+172>>2]=c[a+160>>2];c[b+176>>2]=c[a+164>>2];c[b+180>>2]=c[a+168>>2];c[b+184>>2]=c[a+172>>2];c[b+188>>2]=c[a+176>>2];c[b+224>>2]=c[a+180>>2];c[b+192>>2]=c[a+184>>2];c[b>>2]=0;c[b+4>>2]=gb[c[(c[d>>2]|0)+28>>2]&63](d,c[a+192>>2]|0)|0;c[b+8>>2]=0;c[b+228>>2]=c[a+204>>2];c[b+232>>2]=c[a+208>>2];c[b+236>>2]=c[a+212>>2];c[b+240>>2]=c[a+216>>2];c[b+196>>2]=c[a+220>>2];c[b+200>>2]=c[a+224>>2];c[b+204>>2]=c[a+232>>2];c[b+208>>2]=c[a+228>>2];c[b+244>>2]=c[a+236>>2];e=gb[c[(c[d>>2]|0)+40>>2]&63](d,a)|0;f=gb[c[(c[d>>2]|0)+28>>2]&63](d,e)|0;c[b+12>>2]=f;if(!f){d=a+244|0;d=c[d>>2]|0;f=b+212|0;c[f>>2]=d;f=a+248|0;f=c[f>>2]|0;d=b+216|0;c[d>>2]=f;d=a+252|0;d=c[d>>2]|0;f=b+220|0;c[f>>2]=d;a=a+256|0;a=c[a>>2]|0;f=b+248|0;c[f>>2]=a;return 16297}vb[c[(c[d>>2]|0)+48>>2]&255](d,e);d=a+244|0;d=c[d>>2]|0;f=b+212|0;c[f>>2]=d;f=a+248|0;f=c[f>>2]|0;d=b+216|0;c[d>>2]=f;d=a+252|0;d=c[d>>2]|0;f=b+220|0;c[f>>2]=d;a=a+256|0;a=c[a>>2]|0;f=b+248|0;c[f>>2]=a;return 16297}function bf(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,g=0,h=0.0,i=0,j=0.0,k=0.0,l=0,m=0,n=0.0;if(!(c[a>>2]|0)){c[a>>2]=d;c[d+32>>2]=0;return}e=c[b+40>>2]|0;if(!e)m=b;else{h=+f[d>>2]+ +f[d+16>>2];k=+f[d+4>>2]+ +f[d+20>>2];j=+f[d+8>>2]+ +f[d+24>>2];do{m=c[b+36>>2]|0;n=+r(+(h-(+f[m>>2]+ +f[m+16>>2])))+ +r(+(k-(+f[m+4>>2]+ +f[m+20>>2])))+ +r(+(j-(+f[m+8>>2]+ +f[m+24>>2])));b=c[b+36+((!(n<+r(+(h-(+f[e>>2]+ +f[e+16>>2])))+ +r(+(k-(+f[e+4>>2]+ +f[e+20>>2])))+ +r(+(j-(+f[e+8>>2]+ +f[e+24>>2]))))&1)<<2)>>2]|0;e=c[b+40>>2]|0}while((e|0)!=0);m=b}l=m+32|0;g=c[l>>2]|0;b=c[a+4>>2]|0;if(!b){c[6879]=(c[6879]|0)+1;e=Zb(63)|0;if(!e)b=0;else{c[(e+4+15&-16)+-4>>2]=e;b=e+4+15&-16}e=b;i=e+44|0;do{c[e>>2]=0;e=e+4|0}while((e|0)<(i|0))}else c[a+4>>2]=0;c[b+32>>2]=g;c[b+36>>2]=0;e=b+40|0;c[e>>2]=0;n=+f[d>>2];k=+f[m>>2];f[b>>2]=n>2];n=+f[m+16>>2];f[b+16>>2]=k>n?k:n;n=+f[d+4>>2];k=+f[m+4>>2];f[b+4>>2]=n>2];n=+f[m+20>>2];f[b+20>>2]=k>n?k:n;n=+f[d+8>>2];k=+f[m+8>>2];f[b+8>>2]=n>2];n=+f[m+24>>2];f[b+24>>2]=k>n?k:n;if(!g){c[b+36>>2]=m;c[l>>2]=b;c[e>>2]=d;c[d+32>>2]=b;c[a>>2]=b;return}c[g+36+(((c[(c[l>>2]|0)+40>>2]|0)==(m|0)&1)<<2)>>2]=b;c[b+36>>2]=m;c[l>>2]=b;c[e>>2]=d;c[d+32>>2]=b;h=+f[b>>2];while(1){e=g+4|0;if(((((+f[g>>2]<=h?+f[e>>2]<=+f[b+4>>2]:0)?+f[g+8>>2]<=+f[b+8>>2]:0)?+f[g+16>>2]>=+f[b+16>>2]:0)?+f[g+20>>2]>=+f[b+20>>2]:0)?+f[g+24>>2]>=+f[b+24>>2]:0){e=21;break}d=c[g+36>>2]|0;a=c[g+40>>2]|0;k=+f[d>>2];h=+f[a>>2];h=k>2]=h;k=+f[d+16>>2];n=+f[a+16>>2];f[g+16>>2]=k>n?k:n;n=+f[d+4>>2];k=+f[a+4>>2];f[e>>2]=n>2];n=+f[a+20>>2];f[g+20>>2]=k>n?k:n;n=+f[d+8>>2];k=+f[a+8>>2];f[g+8>>2]=n>2];n=+f[a+24>>2];f[g+24>>2]=k>n?k:n;e=c[g+32>>2]|0;if(!e){e=21;break}else{b=g;g=e}}if((e|0)==21)return}function cf(b,d){b=b|0;d=d|0;var e=0,g=0.0,i=0.0,j=0.0,k=0,l=0.0,m=0.0;if(a[b+48>>0]|0){c[d>>2]=0;c[d+4>>2]=0;return}c[d>>2]=4;c[d+4>>2]=2;Oc(b,(c[b+28>>2]|0)+4|0,(c[b+32>>2]|0)+4|0);f[b+1088>>2]=0.0;a[b+297>>0]=0;l=+f[b+192>>2];m=+f[b+196>>2];do if(l<=m){i=+f[b+892>>2];j=+f[b+908>>2];g=+f[b+924>>2];g=+y(+(+f[b+832>>2]*i+ +f[b+848>>2]*j+ +f[b+864>>2]*g),+(+f[b+828>>2]*i+ +f[b+844>>2]*j+ +f[b+860>>2]*g));do if(!(l>=m)){if(g3.1415927410125732)i=(l-g)%6.2831854820251465+-6.2831854820251465;else i=(l-g)%6.2831854820251465;else i=(l-g)%6.2831854820251465+6.2831854820251465;i=+r(+i);if(!((m-g)%6.2831854820251465<-3.1415927410125732))if((m-g)%6.2831854820251465>3.1415927410125732)j=(m-g)%6.2831854820251465+-6.2831854820251465;else j=(m-g)%6.2831854820251465;else j=(m-g)%6.2831854820251465+6.2831854820251465;k=i<+r(+j);g=k?g:g+6.2831854820251465;break}if(g>m){if(!((g-m)%6.2831854820251465<-3.1415927410125732))if((g-m)%6.2831854820251465>3.1415927410125732)i=(g-m)%6.2831854820251465+-6.2831854820251465;else i=(g-m)%6.2831854820251465;else i=(g-m)%6.2831854820251465+6.2831854820251465;i=+r(+i);if(!((g-l)%6.2831854820251465<-3.1415927410125732))if((g-l)%6.2831854820251465>3.1415927410125732)j=(g-l)%6.2831854820251465+-6.2831854820251465;else j=(g-l)%6.2831854820251465;else j=(g-l)%6.2831854820251465+6.2831854820251465;k=+r(+j)>2]=g;if(g>2]=g-l;a[b+297>>0]=1;k=1;break}if(g>m){f[b+1088>>2]=g-m;a[b+297>>0]=1;k=1}else k=0}else k=0;while(0);a[b+296>>0]=0;e=c[b+1032>>2]|0;c[b+1080>>2]=e;g=+f[b+184>>2];i=+f[b+188>>2];j=(c[h>>2]=e,+f[h>>2]);do if(!(g<=i))e=32;else{if(!(ij)){e=32;break}}else g=i;f[b+1032>>2]=j-g;a[b+296>>0]=1;e=34}while(0);if((e|0)==32?(f[b+1032>>2]=0.0,a[b+1096>>0]|0):0)e=34;if((e|0)==34){c[d>>2]=(c[d>>2]|0)+1;c[d+4>>2]=(c[d+4>>2]|0)+-1}if(k<<24>>24==0?(a[b+1112>>0]|0)==0:0)return;c[d>>2]=(c[d>>2]|0)+1;c[d+4>>2]=(c[d+4>>2]|0)+-1;return}function df(b,d,e){b=b|0;d=d|0;e=+e;var g=0.0,h=0.0,i=0.0,j=0.0,k=0.0,l=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0,r=0;q=Ta;Ta=Ta+64|0;Pg(c[b+116>>2]|0,d,0,e);e=+f[d+204>>2]+ +f[d+212>>2];o=e*+f[d+56>>2]+ +f[d+40>>2];p=e*+f[d+60>>2]+ +f[d+44>>2];f[d+16>>2]=+f[d+52>>2]*e+ +f[d+36>>2];f[d+20>>2]=o;f[d+24>>2]=p;f[d+28>>2]=0.0;f[q+32>>2]=-1.0;r=c[b+100>>2]|0;r=jb[c[(c[r>>2]|0)+8>>2]&63](r,d+36|0,d+16|0,q)|0;c[d+88>>2]=0;if(!r){c[d+32>>2]=c[d+204>>2];f[d+272>>2]=0.0;p=-+f[d+56>>2];o=-+f[d+60>>2];f[d>>2]=-+f[d+52>>2];f[d+4>>2]=p;f[d+8>>2]=o;f[d+12>>2]=0.0;o=1.0;p=-1.0;r=d+268|0;f[r>>2]=o;Ta=q;return +p}p=e*+f[q+32>>2];c[d>>2]=c[q+16>>2];c[d+4>>2]=c[q+16+4>>2];c[d+8>>2]=c[q+16+8>>2];c[d+12>>2]=c[q+16+12>>2];a[d+84>>0]=1;if((a[25480]|0)==0?kP(25480)|0:0){c[q+40>>2]=0;c[q+40+4>>2]=0;c[q+40+8>>2]=0;c[q+40+12>>2]=0;kg(26788,0.0,0,0,q+40|0);kO(25480)}c[6748]=c[6748]|1;f[6783]=0.0;o=+f[6793]*0.0;e=+f[6794]*0.0;f[6788]=+f[6792]*0.0;f[6789]=o;f[6790]=e;f[6791]=0.0;c[6796]=0;c[6797]=0;c[6798]=0;c[6799]=0;e=+f[6785]*0.0;o=+f[6786]*0.0;f[6837]=+f[6784]*0.0;f[6838]=e;f[6839]=o;f[6840]=0.0;c[d+88>>2]=26788;o=p-+f[d+212>>2];f[d+32>>2]=o;e=+f[d+204>>2];h=+f[d+208>>2]*.009999999776482582;g=oe+h)f[d+32>>2]=g>e+h?e+h:g;c[d+16>>2]=c[q>>2];c[d+16+4>>2]=c[q+4>>2];c[d+16+8>>2]=c[q+8>>2];c[d+16+12>>2]=c[q+12>>2];l=+f[d>>2];m=+f[d+4>>2];n=+f[d+8>>2];o=l*+f[d+52>>2]+m*+f[d+56>>2]+n*+f[d+60>>2];b=c[b+116>>2]|0;i=+f[d+16>>2]-+f[b+52>>2];k=+f[d+20>>2]-+f[b+56>>2];j=+f[d+24>>2]-+f[b+60>>2];e=+f[b+332>>2];g=+f[b+336>>2];h=+f[b+328>>2];if(!(o>=-.10000000149011612)){f[d+272>>2]=-1.0/o*(l*(e*j-k*g+ +f[b+312>>2])+m*(i*g-j*h+ +f[b+316>>2])+n*(k*h-i*e+ +f[b+320>>2]));o=-1.0/o;r=d+268|0;f[r>>2]=o;Ta=q;return +p}else{f[d+272>>2]=0.0;o=10.0;r=d+268|0;f[r>>2]=o;Ta=q;return +p}return 0.0}function ef(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var g=0.0,h=0.0,i=0.0,j=0.0,k=0,l=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0;k=Ta;Ta=Ta+128|0;a=c[a+16>>2]|0;n=+f[a+892>>2];x=+f[a+896>>2];y=+f[a+900>>2];w=+f[a+908>>2];l=+f[a+912>>2];h=+f[a+916>>2];v=+f[b>>2];u=+f[b+4>>2];t=+f[b+8>>2];r=+f[b+16>>2];q=+f[b+20>>2];p=+f[b+24>>2];m=+f[b+32>>2];g=+f[b+36>>2];i=+f[b+40>>2];s=+f[b+48>>2];o=+f[b+52>>2];j=+f[b+56>>2];f[k>>2]=n*v+x*u+y*t+s;f[k+4>>2]=n*r+x*q+y*p+o;f[k+8>>2]=n*m+x*g+y*i+j;f[k+12>>2]=0.0;f[k+16>>2]=w*v+x*u+y*t+s;f[k+20>>2]=w*r+x*q+y*p+o;f[k+24>>2]=w*m+x*g+y*i+j;f[k+28>>2]=0.0;f[k+32>>2]=w*v+l*u+y*t+s;f[k+36>>2]=w*r+l*q+y*p+o;f[k+40>>2]=w*m+l*g+y*i+j;f[k+44>>2]=0.0;f[k+48>>2]=n*v+l*u+y*t+s;f[k+52>>2]=n*r+l*q+y*p+o;f[k+56>>2]=n*m+l*g+y*i+j;f[k+60>>2]=0.0;f[k+64>>2]=n*v+x*u+h*t+s;f[k+68>>2]=n*r+x*q+h*p+o;f[k+72>>2]=n*m+x*g+h*i+j;f[k+76>>2]=0.0;f[k+80>>2]=w*v+x*u+h*t+s;f[k+84>>2]=w*r+x*q+h*p+o;f[k+88>>2]=w*m+x*g+h*i+j;f[k+92>>2]=0.0;f[k+96>>2]=w*v+l*u+h*t+s;f[k+100>>2]=w*r+l*q+h*p+o;f[k+104>>2]=w*m+l*g+h*i+j;f[k+108>>2]=0.0;f[k+112>>2]=n*v+l*u+h*t+s;f[k+116>>2]=n*r+l*q+h*p+o;f[k+120>>2]=n*m+l*g+h*i+j;f[k+124>>2]=0.0;c[e>>2]=c[k>>2];c[e+4>>2]=c[k+4>>2];c[e+8>>2]=c[k+8>>2];c[e+12>>2]=c[k+12>>2];c[d>>2]=c[k>>2];c[d+4>>2]=c[k+4>>2];c[d+8>>2]=c[k+8>>2];c[d+12>>2]=c[k+12>>2];b=1;do{g=+f[k+(b<<4)>>2];if(g<+f[d>>2])f[d>>2]=g;h=+f[k+(b<<4)+4>>2];if(h<+f[d+4>>2])f[d+4>>2]=h;i=+f[k+(b<<4)+8>>2];if(i<+f[d+8>>2])f[d+8>>2]=i;j=+f[k+(b<<4)+12>>2];if(j<+f[d+12>>2])f[d+12>>2]=j;if(+f[e>>2]>2]=g;if(+f[e+4>>2]>2]=h;if(+f[e+8>>2]>2]=i;if(+f[e+12>>2]>2]=j;b=b+1|0}while((b|0)!=8);Ta=k;return}function ff(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,g=0.0,h=0.0,i=0.0,j=0.0,k=0.0,l=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0,C=0.0;v=+f[b>>2];u=+f[b+4>>2];t=+f[b+8>>2];r=1.0/+s(+(v*v+u*u+t*t));z=+f[d>>2];y=+f[d+4>>2];x=+f[d+8>>2];w=1.0/+s(+(z*z+y*y+x*x));C=t*r*(y*w)-u*r*(x*w);B=v*r*(x*w)-t*r*(z*w);A=u*r*(z*w)-v*r*(y*w);d=c[a+28>>2]|0;e=+f[d+4>>2];h=+f[d+20>>2];j=+f[d+36>>2];g=+f[d+8>>2];i=+f[d+24>>2];k=+f[d+40>>2];l=+f[d+12>>2];n=+f[d+28>>2];p=+f[d+44>>2];m=-+f[d+52>>2];o=-+f[d+56>>2];q=-+f[d+60>>2];f[a+48>>2]=j*A+(e*C+h*B);f[a+52>>2]=j*(x*w)+(e*(z*w)+h*(y*w));f[a+56>>2]=e*(v*r)+u*r*h+t*r*j;f[a+60>>2]=0.0;f[a+64>>2]=A*k+(g*C+i*B);f[a+68>>2]=z*w*g+y*w*i+x*w*k;f[a+72>>2]=v*r*g+u*r*i+t*r*k;f[a+76>>2]=0.0;f[a+80>>2]=C*l+B*n+A*p;f[a+84>>2]=z*w*l+y*w*n+x*w*p;f[a+88>>2]=v*r*l+u*r*n+t*r*p;f[a+92>>2]=0.0;f[a+96>>2]=e*0.0+h*0.0+j*0.0+(e*m+h*o+j*q);f[a+100>>2]=g*0.0+i*0.0+k*0.0+(g*m+i*o+k*q);f[a+104>>2]=l*0.0+n*0.0+p*0.0+(l*m+n*o+p*q);f[a+108>>2]=0.0;d=c[a+32>>2]|0;q=+f[d+4>>2];p=+f[d+20>>2];o=+f[d+36>>2];n=+f[d+8>>2];m=+f[d+24>>2];l=+f[d+40>>2];k=+f[d+12>>2];i=+f[d+28>>2];g=+f[d+44>>2];j=-+f[d+52>>2];h=-+f[d+56>>2];e=-+f[d+60>>2];f[a+112>>2]=C*q+B*p+A*o;f[a+116>>2]=z*w*q+y*w*p+x*w*o;f[a+120>>2]=v*r*q+u*r*p+t*r*o;f[a+124>>2]=0.0;f[a+128>>2]=C*n+B*m+A*l;f[a+132>>2]=z*w*n+y*w*m+x*w*l;f[a+136>>2]=v*r*n+u*r*m+t*r*l;f[a+140>>2]=0.0;f[a+144>>2]=C*k+B*i+A*g;f[a+148>>2]=z*w*k+y*w*i+x*w*g;f[a+152>>2]=v*r*k+u*r*i+t*r*g;f[a+156>>2]=0.0;f[a+160>>2]=q*0.0+p*0.0+o*0.0+(q*j+p*h+o*e);f[a+164>>2]=n*0.0+m*0.0+l*0.0+(n*j+m*h+l*e);f[a+168>>2]=k*0.0+i*0.0+g*0.0+(k*j+i*h+g*e);f[a+172>>2]=0.0;Xc(a,(c[a+28>>2]|0)+4|0,(c[a+32>>2]|0)+4|0);return}function gf(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0;a:do if(!(zy(b,c[d+8>>2]|0,g)|0)){if(!(zy(b,c[d>>2]|0,g)|0)){i=c[b+12>>2]|0;wo(b+16|0,d,e,f,g);if((i|0)<=1)break;h=c[b+8>>2]|0;if((h&2|0)==0?(c[d+36>>2]|0)!=1:0){if(!(h&1)){h=b+24|0;while(1){if(a[d+54>>0]|0)break a;if((c[d+36>>2]|0)==1)break a;wo(h,d,e,f,g);h=h+8|0;if(h>>>0>=(b+16+(i<<3)|0)>>>0)break a}}h=b+24|0;while(1){if(a[d+54>>0]|0)break a;if((c[d+36>>2]|0)==1?(c[d+24>>2]|0)==1:0)break a;wo(h,d,e,f,g);h=h+8|0;if(h>>>0>=(b+16+(i<<3)|0)>>>0)break a}}h=b+24|0;while(1){if(a[d+54>>0]|0)break a;wo(h,d,e,f,g);h=h+8|0;if(h>>>0>=(b+16+(i<<3)|0)>>>0)break a}}if((c[d+16>>2]|0)!=(e|0)?(c[d+20>>2]|0)!=(e|0):0){c[d+32>>2]=f;if((c[d+44>>2]|0)!=4){f=b+16+(c[b+12>>2]<<3)|0;h=0;i=0;j=b+16|0;b:while(1){if(j>>>0>=f>>>0){f=18;break}a[d+52>>0]=0;a[d+53>>0]=0;eo(j,d,e,e,1,g);if(a[d+54>>0]|0){f=18;break}do if(a[d+53>>0]|0){if(!(a[d+52>>0]|0))if(!(c[b+8>>2]&1)){f=19;break b}else{i=1;break}if((c[d+24>>2]|0)==1){h=1;f=19;break b}if(!(c[b+8>>2]&2)){h=1;f=19;break b}else{h=1;i=1}}while(0);j=j+8|0}if((f|0)==18)if(i)f=19;else i=4;if((f|0)==19)i=3;c[d+44>>2]=i;if(h&1)break}c[d+20>>2]=e;c[d+40>>2]=(c[d+40>>2]|0)+1;if((c[d+36>>2]|0)!=1)break;if((c[d+24>>2]|0)!=2)break;a[d+54>>0]=1;break}if((f|0)==1)c[d+32>>2]=1}else wv(d,e,f);while(0);return}function hf(b){b=b|0;var d=0.0,e=0.0,g=0.0,h=0,i=0,j=0,k=0;h=Ta;Ta=Ta+16|0;if(!(a[b+1308>>0]|0)){Ta=h;return}f[b+928>>2]=0.0;f[b+992>>2]=0.0;f[b+1056>>2]=0.0;c[b+712>>2]=0;c[b+712+4>>2]=0;c[b+712+8>>2]=0;c[b+712+12>>2]=0;Xc(b,(c[b+28>>2]|0)+4|0,(c[b+32>>2]|0)+4|0);pb[c[(c[b>>2]|0)+44>>2]&511](b);d=+f[b+1284>>2];e=+f[b+1288>>2];g=+f[b+1292>>2];if(+f[b+696>>2]>=+f[b+680>>2]){k=(a[b+1300>>0]|0)==0;i=c[(k?b+1160|0:b+1096|0)>>2]|0;j=c[(k?b+1144|0:b+1080|0)>>2]|0;c[h>>2]=c[(k?b+1128|0:b+1064|0)>>2];c[h+4>>2]=j;c[h+8>>2]=i;f[h+12>>2]=0.0;Fh(c[b+28>>2]|0,c[b+32>>2]|0,b+176|0,h,d,e,g,d,e,g)}if(+f[b+700>>2]>=+f[b+684>>2]){i=(a[b+1300>>0]|0)==0;k=c[(i?b+1164|0:b+1100|0)>>2]|0;j=c[(i?b+1148|0:b+1084|0)>>2]|0;c[h>>2]=c[(i?b+1132|0:b+1068|0)>>2];c[h+4>>2]=j;c[h+8>>2]=k;f[h+12>>2]=0.0;Fh(c[b+28>>2]|0,c[b+32>>2]|0,b+260|0,h,d,e,g,d,e,g)}if(+f[b+704>>2]>=+f[b+688>>2]){i=(a[b+1300>>0]|0)==0;k=c[(i?b+1168|0:b+1104|0)>>2]|0;j=c[(i?b+1152|0:b+1088|0)>>2]|0;c[h>>2]=c[(i?b+1136|0:b+1072|0)>>2];c[h+4>>2]=j;c[h+8>>2]=k;f[h+12>>2]=0.0;Fh(c[b+28>>2]|0,c[b+32>>2]|0,b+344|0,h,d,e,g,d,e,g)}if(Yf(b,0)|0){c[h>>2]=c[b+1208>>2];c[h+4>>2]=c[b+1208+4>>2];c[h+8>>2]=c[b+1208+8>>2];c[h+12>>2]=c[b+1208+12>>2];Lg(c[b+28>>2]|0,c[b+32>>2]|0,b+428|0,h)}if(Yf(b,1)|0){c[h>>2]=c[b+1224>>2];c[h+4>>2]=c[b+1224+4>>2];c[h+8>>2]=c[b+1224+8>>2];c[h+12>>2]=c[b+1224+12>>2];Lg(c[b+28>>2]|0,c[b+32>>2]|0,b+512|0,h)}if(Yf(b,2)|0){c[h>>2]=c[b+1240>>2];c[h+4>>2]=c[b+1240+4>>2];c[h+8>>2]=c[b+1240+8>>2];c[h+12>>2]=c[b+1240+12>>2];Lg(c[b+28>>2]|0,c[b+32>>2]|0,b+596|0,h)}Ta=h;return}function jf(d,e,f){d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;c[6857]=(c[6857]|0)+1;g=c[d+24>>2]|0;if(!g){if(!((b[f+6>>1]&b[e+4>>1])<<16>>16)){d=0;return d|0}if(!((b[e+6>>1]&b[f+4>>1])<<16>>16)){d=0;return d|0}}else if(!(ib[c[(c[g>>2]|0)+8>>2]&63](g,e,f)|0)){d=0;return d|0}l=(c[e+12>>2]|0)>(c[f+12>>2]|0);m=l?f:e;i=c[m+12>>2]|0;l=l?e:f;f=c[l+12>>2]|0;k=(f<<16|i)+~((f<<16|i)<<15)|0;k=((10?k>>10:k)^k)*9|0;k=(6?k>>6:k)^k;k=(16?k+~(k<<11)>>16:k+~(k<<11)|0)^k+~(k<<11);j=c[d+12>>2]|0;g=c[(c[d+44>>2]|0)+((k&j+-1)<<2)>>2]|0;a:do if((g|0)!=-1){h=c[d+16>>2]|0;e=g;while(1){g=h+(e<<4)|0;if((c[(c[g>>2]|0)+12>>2]|0)==(i|0)?(c[(c[h+(e<<4)+4>>2]|0)+12>>2]|0)==(f|0):0)break;e=c[(c[d+64>>2]|0)+(e<<2)>>2]|0;if((e|0)==-1)break a}return g|0}while(0);i=c[d+8>>2]|0;if((i|0)==(j|0)){g=(j|0)==0?1:j<<1;if((j|0)<(g|0)){if(!g){f=j;h=0}else{c[6879]=(c[6879]|0)+1;e=Zb((g<<4|3)+16|0)|0;if(!e)e=0;else{c[(e+4+15&-16)+-4>>2]=e;e=e+4+15&-16}f=c[d+8>>2]|0;h=e}if((f|0)>0){e=0;do{n=c[d+16>>2]|0;c[h+(e<<4)>>2]=c[n+(e<<4)>>2];c[h+(e<<4)+4>>2]=c[n+(e<<4)+4>>2];c[h+(e<<4)+8>>2]=c[n+(e<<4)+8>>2];c[h+(e<<4)+12>>2]=c[n+(e<<4)+12>>2];e=e+1|0}while((e|0)!=(f|0))}e=c[d+16>>2]|0;if(e|0){if(a[d+20>>0]|0){c[6880]=(c[6880]|0)+1;kd(c[e+-4>>2]|0)}c[d+16>>2]=0}a[d+20>>0]=1;c[d+16>>2]=h;c[d+12>>2]=g;e=c[d+8>>2]|0}else{e=j;g=j}}else{e=i;g=j}c[d+8>>2]=e+1;f=c[d+16>>2]|0;e=c[d+72>>2]|0;if(e){ib[c[(c[e>>2]|0)+8>>2]&63](e,m,l)|0;g=c[d+12>>2]|0}if((j|0)<(g|0)){yf(d);g=(c[d+12>>2]|0)+-1&k}else g=k&j+-1;n=(c[m+12>>2]|0)<(c[l+12>>2]|0);c[f+(i<<4)>>2]=n?m:l;c[f+(i<<4)+4>>2]=n?l:m;c[f+(i<<4)+8>>2]=0;c[f+(i<<4)+8+4>>2]=0;n=(c[d+44>>2]|0)+(g<<2)|0;c[(c[d+64>>2]|0)+(i<<2)>>2]=c[n>>2];c[n>>2]=i;n=f+(i<<4)|0;return n|0}function kf(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var g=0,h=0,i=0.0,j=0.0,k=0.0,l=0,m=0,n=0.0,o=0.0,p=0.0,q=0.0,r=0,s=0.0,t=0,u=0.0,v=0.0,w=0.0,x=0;x=Ta;Ta=Ta+32|0;r=c[a+12>>2]|0;s=+f[r+(((e+d|0)/2|0)*24|0)>>2];u=+f[r+(((e+d|0)/2|0)*24|0)+4>>2];v=+f[r+(((e+d|0)/2|0)*24|0)+8>>2];w=+f[r+(((e+d|0)/2|0)*24|0)+16>>2];t=c[r+(((e+d|0)/2|0)*24|0)+20>>2]|0;g=d;h=e;while(1){n=+f[b>>2];o=+f[b+4>>2];p=+f[b+8>>2];q=(s-n)*(s-n)+(u-o)*(u-o)+(v-p)*(v-p);a:while(1){m=r+(g*24|0)|0;i=+f[r+(g*24|0)+16>>2];do if(i!=w){if(!(i>2]-n;k=+f[r+(g*24|0)+4>>2]-o;j=+f[r+(g*24|0)+8>>2]-p;if(i*i+k*k+j*j!=q)if(i*i+k*k+j*j>2]|0)<(t|0))break;else break a}while(0);g=g+1|0}b:while(1){l=r+(h*24|0)|0;i=+f[r+(h*24|0)+16>>2];do if(w!=i){if(!(w>2]-n;k=+f[r+(h*24|0)+4>>2]-o;j=+f[r+(h*24|0)+8>>2]-p;if(q!=i*i+k*k+j*j)if(q>2]|0))break;else break b}while(0);h=h+-1|0}if((g|0)<=(h|0)){c[x>>2]=c[m>>2];c[x+4>>2]=c[m+4>>2];c[x+8>>2]=c[m+8>>2];c[x+12>>2]=c[m+12>>2];c[x+16>>2]=c[m+16>>2];c[x+20>>2]=c[m+20>>2];c[m>>2]=c[l>>2];c[m+4>>2]=c[l+4>>2];c[m+8>>2]=c[l+8>>2];c[m+12>>2]=c[l+12>>2];c[m+16>>2]=c[l+16>>2];c[m+20>>2]=c[l+20>>2];r=(c[a+12>>2]|0)+(h*24|0)|0;c[r>>2]=c[x>>2];c[r+4>>2]=c[x+4>>2];c[r+8>>2]=c[x+8>>2];c[r+12>>2]=c[x+12>>2];c[r+16>>2]=c[x+16>>2];c[r+20>>2]=c[x+20>>2];g=g+1|0;h=h+-1|0}if((g|0)>(h|0))break;r=c[a+12>>2]|0}if((h|0)>(d|0))kf(a,b,d,h);if((g|0)>=(e|0)){Ta=x;return}kf(a,b,g,e);Ta=x;return}function lf(a,b){a=a|0;b=b|0;var d=0.0,e=0,g=0.0,h=0,i=0,j=0,k=0,l=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0;j=c[a+28>>2]|0;k=c[a+32>>2]|0;h=c[b+8>>2]|0;f[h>>2]=1.0;e=c[b+24>>2]|0;f[h+(e+1<<2)>>2]=1.0;f[h+((e<<1)+2<<2)>>2]=1.0;l=+f[a+300>>2];q=+f[a+304>>2];g=+f[a+308>>2];o=+f[j+4>>2]*l+ +f[j+8>>2]*q+ +f[j+12>>2]*g;m=l*+f[j+20>>2]+q*+f[j+24>>2]+g*+f[j+28>>2];g=l*+f[j+36>>2]+q*+f[j+40>>2]+g*+f[j+44>>2];h=c[b+12>>2]|0;c[h>>2]=0;f[h+4>>2]=g;f[h+8>>2]=-m;f[h+12>>2]=0.0;f[h+(e<<2)>>2]=-g;c[h+(e<<2)+4>>2]=0;f[h+(e<<2)+8>>2]=o;f[h+(e<<2)+12>>2]=0.0;f[h+(e<<1<<2)>>2]=m;f[h+(e<<1<<2)+4>>2]=-o;c[h+(e<<1<<2)+8>>2]=0;f[h+(e<<1<<2)+12>>2]=0.0;h=c[b+16>>2]|0;f[h>>2]=-1.0;f[h+(e+1<<2)>>2]=-1.0;f[h+((e<<1)+2<<2)>>2]=-1.0;q=+f[a+316>>2];l=+f[a+320>>2];d=+f[a+324>>2];p=+f[k+4>>2]*q+ +f[k+8>>2]*l+ +f[k+12>>2]*d;n=q*+f[k+20>>2]+l*+f[k+24>>2]+d*+f[k+28>>2];d=q*+f[k+36>>2]+l*+f[k+40>>2]+d*+f[k+44>>2];h=c[b+20>>2]|0;c[h>>2]=0;f[h+4>>2]=-d;f[h+8>>2]=n;f[h+12>>2]=0.0;f[h+(e<<2)>>2]=d;c[h+(e<<2)+4>>2]=0;f[h+(e<<2)+8>>2]=-p;f[h+(e<<2)+12>>2]=0.0;f[h+(e<<1<<2)>>2]=-n;f[h+(e<<1<<2)+4>>2]=p;c[h+(e<<1<<2)+8>>2]=0;f[h+(e<<1<<2)+12>>2]=0.0;h=c[a+332>>2]|0;l=+f[((h&1|0)==0?b+4|0:a+336|0)>>2]*+f[b>>2];i=c[b+28>>2]|0;f[i>>2]=l*(p+ +f[k+52>>2]-o-+f[j+52>>2]);f[i+(e<<2)>>2]=l*(n+ +f[k+56>>2]-m-+f[j+56>>2]);f[i+(e<<1<<2)>>2]=l*(d+ +f[k+60>>2]-g-+f[j+60>>2]);if(h&2|0){k=c[b+32>>2]|0;c[k>>2]=c[a+340>>2];c[k+(e<<2)>>2]=c[a+340>>2];c[k+(e<<1<<2)>>2]=c[a+340>>2]}g=+f[a+356>>2];if(g>0.0){f[c[b+36>>2]>>2]=-g;f[c[b+40>>2]>>2]=g;d=+f[a+356>>2]}else d=g;if(d>0.0){f[(c[b+36>>2]|0)+(e<<2)>>2]=-g;f[(c[b+40>>2]|0)+(e<<2)>>2]=g;d=+f[a+356>>2]}if(!(d>0.0)){j=a+352|0;j=c[j>>2]|0;k=b+52|0;c[k>>2]=j;return}f[(c[b+36>>2]|0)+(e<<1<<2)>>2]=-g;f[(c[b+40>>2]|0)+(e<<1<<2)>>2]=g;j=a+352|0;j=c[j>>2]|0;k=b+52|0;c[k>>2]=j;return}function mf(b,d,e,g,h){b=b|0;d=d|0;e=e|0;g=g|0;h=h|0;var i=0.0,j=0,k=0,l=0,m=0.0,n=0.0,o=0.0,p=0,q=0.0,r=0.0,s=0.0,t=0,u=0.0,v=0.0,w=0.0,x=0,y=0.0,z=0.0,A=0,B=0.0,C=0,D=0.0,E=0,F=0.0,G=0.0,H=0.0,I=0.0,J=0.0,K=0.0,L=0.0,M=0.0,N=0.0,O=0.0,P=0.0;j=(a[b+28>>0]|0)!=0;C=j?e:d;j=j?d:e;d=c[b+12>>2]|0;if((d|0)<=0){B=1.0;return +B}l=(c[C+192>>2]|0)+24|0;m=+f[C+4>>2];y=+f[C+8>>2];z=+f[C+12>>2];A=c[C+16>>2]|0;B=+f[C+20>>2];n=+f[C+24>>2];o=+f[C+28>>2];p=c[C+32>>2]|0;q=+f[C+36>>2];r=+f[C+40>>2];s=+f[C+44>>2];t=c[C+48>>2]|0;u=+f[C+52>>2];v=+f[C+56>>2];w=+f[C+60>>2];x=c[C+64>>2]|0;e=c[C+260>>2]|0;i=1.0;k=0;do{E=c[l>>2]|0;P=+f[E+(k*80|0)>>2];O=+f[E+(k*80|0)+16>>2];N=+f[E+(k*80|0)+32>>2];M=+f[E+(k*80|0)+4>>2];L=+f[E+(k*80|0)+20>>2];K=+f[E+(k*80|0)+36>>2];J=+f[E+(k*80|0)+8>>2];I=+f[E+(k*80|0)+24>>2];H=+f[E+(k*80|0)+40>>2];G=+f[E+(k*80|0)+48>>2];F=+f[E+(k*80|0)+52>>2];D=+f[E+(k*80|0)+56>>2];c[C+260>>2]=e+1;f[C+4>>2]=m*P+y*O+z*N;f[C+8>>2]=m*M+y*L+z*K;f[C+12>>2]=m*J+y*I+z*H;f[C+16>>2]=0.0;f[C+20>>2]=B*P+n*O+o*N;f[C+24>>2]=B*M+n*L+o*K;f[C+28>>2]=B*J+n*I+o*H;f[C+32>>2]=0.0;f[C+36>>2]=q*P+r*O+s*N;f[C+40>>2]=q*M+r*L+s*K;f[C+44>>2]=q*J+r*I+s*H;f[C+48>>2]=0.0;f[C+52>>2]=u+(m*G+y*F+z*D);f[C+56>>2]=v+(B*G+n*F+o*D);f[C+60>>2]=w+(q*G+r*F+s*D);f[C+64>>2]=0.0;E=c[(c[b+20>>2]|0)+(k<<2)>>2]|0;D=+ab[c[(c[E>>2]|0)+12>>2]&63](E,C,j,g,h);i=D>2]|0)+1|0;c[C+260>>2]=e;f[C+4>>2]=m;f[C+8>>2]=y;f[C+12>>2]=z;c[C+16>>2]=A;f[C+20>>2]=B;f[C+24>>2]=n;f[C+28>>2]=o;c[C+32>>2]=p;f[C+36>>2]=q;f[C+40>>2]=r;f[C+44>>2]=s;c[C+48>>2]=t;f[C+52>>2]=u;f[C+56>>2]=v;f[C+60>>2]=w;c[C+64>>2]=x;k=k+1|0}while((k|0)!=(d|0));return +i}function nf(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;c[6856]=(c[6856]|0)+1;j=(c[b+12>>2]|0)>(c[d+12>>2]|0);l=j?d:b;h=c[l+12>>2]|0;j=j?b:d;g=c[j+12>>2]|0;i=(g<<16|h)+~((g<<16|h)<<15)|0;i=((10?i>>10:i)^i)*9|0;i=(6?i>>6:i)^i;i=((16?i+~(i<<11)>>16:i+~(i<<11)|0)^i+~(i<<11))&(c[a+12>>2]|0)+-1;b=c[(c[a+44>>2]|0)+(i<<2)>>2]|0;if((b|0)==-1){o=0;return o|0}f=c[a+16>>2]|0;while(1){d=f+(b<<4)|0;if((c[(c[d>>2]|0)+12>>2]|0)==(h|0)?(c[(c[f+(b<<4)+4>>2]|0)+12>>2]|0)==(g|0):0)break;b=c[(c[a+64>>2]|0)+(b<<2)>>2]|0;if((b|0)==-1){b=0;o=25;break}}if((o|0)==25)return b|0;zb[c[(c[a>>2]|0)+32>>2]&127](a,d,e);n=c[f+(b<<4)+12>>2]|0;m=d-(c[a+16>>2]|0)|0;m=4?m>>4:m;h=(c[a+44>>2]|0)+(i<<2)|0;b=c[h>>2]|0;d=c[a+64>>2]|0;if((b|0)!=(m|0)){g=b;while(1){f=d+(g<<2)|0;b=c[f>>2]|0;if((b|0)==(m|0))break;else g=b}b=c[d+(m<<2)>>2]|0;if((g|0)==-1)o=12;else c[f>>2]=b}else{b=c[d+(m<<2)>>2]|0;o=12}if((o|0)==12)c[h>>2]=b;k=(c[a+8>>2]|0)+-1|0;b=c[a+72>>2]|0;if(b|0)jb[c[(c[b>>2]|0)+12>>2]&63](b,l,j,e)|0;if((k|0)==(m|0)){c[a+8>>2]=(c[a+8>>2]|0)+-1;o=n;return o|0}h=c[a+16>>2]|0;i=c[(c[h+(k<<4)+4>>2]|0)+12>>2]<<16|c[(c[h+(k<<4)>>2]|0)+12>>2];i=((10?i+~(i<<15)>>10:i+~(i<<15)|0)^i+~(i<<15))*9|0;i=(6?i>>6:i)^i;i=((16?i+~(i<<11)>>16:i+~(i<<11)|0)^i+~(i<<11))&(c[a+12>>2]|0)+-1;j=(c[a+44>>2]|0)+(i<<2)|0;b=c[j>>2]|0;d=c[a+64>>2]|0;if((b|0)!=(k|0)){g=b;while(1){f=d+(g<<2)|0;b=c[f>>2]|0;if((b|0)==(k|0))break;else g=b}b=c[d+(k<<2)>>2]|0;if((g|0)==-1)o=23;else c[f>>2]=b}else{b=c[d+(k<<2)>>2]|0;o=23}if((o|0)==23)c[j>>2]=b;c[h+(m<<4)>>2]=c[h+(k<<4)>>2];c[h+(m<<4)+4>>2]=c[h+(k<<4)+4>>2];c[h+(m<<4)+8>>2]=c[h+(k<<4)+8>>2];c[h+(m<<4)+12>>2]=c[h+(k<<4)+12>>2];o=(c[a+44>>2]|0)+(i<<2)|0;c[(c[a+64>>2]|0)+(m<<2)>>2]=c[o>>2];c[o>>2]=m;c[a+8>>2]=(c[a+8>>2]|0)+-1;o=n;return o|0}function of(b,d){b=b|0;d=d|0;var e=0,g=0.0,h=0.0,i=0.0,j=0.0,k=0.0,l=0.0,m=0.0,n=0.0,o=0;o=Ta;Ta=Ta+64|0;e=c[d+192>>2]|0;Cb[c[(c[e>>2]|0)+8>>2]&127](e,d+4|0,o+48|0,o+32|0);k=+f[o+48>>2]+-.019999999552965164;f[o+48>>2]=k;l=+f[o+48+4>>2]+-.019999999552965164;f[o+48+4>>2]=l;j=+f[o+48+8>>2]+-.019999999552965164;f[o+48+8>>2]=j;g=+f[o+32>>2]+.019999999552965164;f[o+32>>2]=g;h=+f[o+32+4>>2]+.019999999552965164;f[o+32+4>>2]=h;i=+f[o+32+8>>2]+.019999999552965164;f[o+32+8>>2]=i;if(((a[b+44>>0]|0)!=0?(c[d+236>>2]|0)==2:0)?(c[d+204>>2]&3|0)==0:0){e=c[d+192>>2]|0;Cb[c[(c[e>>2]|0)+8>>2]&127](e,d+68|0,o+16|0,o);k=+f[o+16>>2]+-.019999999552965164;f[o+16>>2]=k;l=+f[o+16+4>>2]+-.019999999552965164;f[o+16+4>>2]=l;h=+f[o+16+8>>2]+-.019999999552965164;f[o+16+8>>2]=h;i=+f[o>>2]+.019999999552965164;f[o>>2]=i;j=+f[o+4>>2]+.019999999552965164;f[o+4>>2]=j;m=+f[o+8>>2]+.019999999552965164;f[o+8>>2]=m;g=+f[o+48>>2];if(k>2]=k;else k=g;g=+f[o+48+4>>2];if(l>2]=l;else l=g;g=+f[o+48+8>>2];if(h>2]=h;n=h}else n=g;g=+f[o+16+12>>2];if(g<+f[o+48+12>>2])f[o+48+12>>2]=g;g=+f[o+32>>2];if(g>2]=i;g=i}h=+f[o+32+4>>2];if(h>2]=j;h=j}i=+f[o+32+8>>2];if(i>2]=m;i=m}j=+f[o+12>>2];if(+f[o+32+12>>2]>2]=j;j=n}e=c[b+68>>2]|0;if((c[d+204>>2]&1|0)==0?(k=g-k,m=h-l,n=i-j,!(k*k+m*m+n*n<999999995904.0)):0){if((c[d+216>>2]&-2|0)!=4)c[d+216>>2]=5;if(!(a[18142]|0)){Ta=o;return}e=c[b+72>>2]|0;if(!e){Ta=o;return}a[18142]=0;vb[c[(c[e>>2]|0)+36>>2]&255](e,18143);d=c[b+72>>2]|0;vb[c[(c[d>>2]|0)+36>>2]&255](d,18192);d=c[b+72>>2]|0;vb[c[(c[d>>2]|0)+36>>2]&255](d,18260);b=c[b+72>>2]|0;vb[c[(c[b>>2]|0)+36>>2]&255](b,18325);Ta=o;return}Gb[c[(c[e>>2]|0)+16>>2]&63](e,c[d+188>>2]|0,o+48|0,o+32|0,c[b+24>>2]|0);Ta=o;return}function pf(a,b,e){a=a|0;b=b|0;e=e|0;var g=0.0,h=0.0,i=0.0,j=0;Xh(a,b,e)|0;c[b+52>>2]=c[a+552>>2];c[b+56>>2]=c[a+556>>2];c[b+60>>2]=c[a+560>>2];c[b+64>>2]=c[a+564>>2];c[b+68>>2]=c[a+568>>2];c[b+72>>2]=c[a+572>>2];c[b+76>>2]=c[a+576>>2];c[b+80>>2]=c[a+580>>2];c[b+84>>2]=c[a+584>>2];c[b+88>>2]=c[a+588>>2];c[b+92>>2]=c[a+592>>2];c[b+96>>2]=c[a+596>>2];c[b+100>>2]=c[a+600>>2];c[b+104>>2]=c[a+604>>2];c[b+108>>2]=c[a+608>>2];c[b+112>>2]=c[a+612>>2];c[b+116>>2]=c[a+616>>2];c[b+120>>2]=c[a+620>>2];c[b+124>>2]=c[a+624>>2];c[b+128>>2]=c[a+628>>2];c[b+132>>2]=c[a+632>>2];c[b+136>>2]=c[a+636>>2];c[b+140>>2]=c[a+640>>2];c[b+144>>2]=c[a+644>>2];c[b+148>>2]=c[a+648>>2];c[b+152>>2]=c[a+652>>2];c[b+156>>2]=c[a+656>>2];c[b+160>>2]=c[a+660>>2];c[b+164>>2]=c[a+664>>2];c[b+168>>2]=c[a+668>>2];c[b+172>>2]=c[a+672>>2];c[b+176>>2]=c[a+676>>2];c[b+184>>2]=d[a+736>>0];c[b+188>>2]=d[a+737>>0];c[b+196>>2]=c[a+684>>2];c[b+192>>2]=c[a+680>>2];c[b+180>>2]=d[a+740>>0];g=+f[a+688>>2];h=+f[a+692>>2];if(!((g-h)%6.2831854820251465<-3.1415927410125732))if((g-h)%6.2831854820251465>3.1415927410125732)i=(g-h)%6.2831854820251465+-6.2831854820251465;else i=(g-h)%6.2831854820251465;else i=(g-h)%6.2831854820251465+6.2831854820251465;f[b+200>>2]=i;if((g+h)%6.2831854820251465<-3.1415927410125732){i=(g+h)%6.2831854820251465+6.2831854820251465;e=b+204|0;f[e>>2]=i;e=a+696|0;e=c[e>>2]|0;j=b+208|0;c[j>>2]=e;j=a+700|0;j=c[j>>2]|0;e=b+212|0;c[e>>2]=j;e=a+704|0;e=c[e>>2]|0;a=b+216|0;c[a>>2]=e;return 15809}if(!((g+h)%6.2831854820251465>3.1415927410125732)){i=(g+h)%6.2831854820251465;j=b+204|0;f[j>>2]=i;j=a+696|0;j=c[j>>2]|0;e=b+208|0;c[e>>2]=j;e=a+700|0;e=c[e>>2]|0;j=b+212|0;c[j>>2]=e;a=a+704|0;a=c[a>>2]|0;j=b+216|0;c[j>>2]=a;return 15809}i=(g+h)%6.2831854820251465+-6.2831854820251465;j=b+204|0;f[j>>2]=i;j=a+696|0;j=c[j>>2]|0;e=b+208|0;c[e>>2]=j;e=a+700|0;e=c[e>>2]|0;j=b+212|0;c[j>>2]=e;a=a+704|0;a=c[a>>2]|0;j=b+216|0;c[j>>2]=a;return 15809}function qf(b,d,e,g,h){b=b|0;d=d|0;e=e|0;g=g|0;h=h|0;var i=0;i=nx()|0;c[i+4>>2]=7;c[i+8>>2]=-1;c[i+12>>2]=-1;f[i+16>>2]=3402823466385288598117041.0e14;a[i+20>>0]=1;a[i+21>>0]=0;c[i+24>>2]=-1;c[i+28>>2]=b;c[i+32>>2]=d;f[i+36>>2]=0.0;f[i+40>>2]=.30000001192092896;c[i+44>>2]=0;c[i>>2]=5848;a[i+48>>0]=0;c[i+52>>2]=c[e>>2];c[i+52+4>>2]=c[e+4>>2];c[i+52+8>>2]=c[e+8>>2];c[i+52+12>>2]=c[e+12>>2];c[i+68>>2]=c[e+16>>2];c[i+68+4>>2]=c[e+16+4>>2];c[i+68+8>>2]=c[e+16+8>>2];c[i+68+12>>2]=c[e+16+12>>2];c[i+84>>2]=c[e+32>>2];c[i+84+4>>2]=c[e+32+4>>2];c[i+84+8>>2]=c[e+32+8>>2];c[i+84+12>>2]=c[e+32+12>>2];c[i+100>>2]=c[e+48>>2];c[i+100+4>>2]=c[e+48+4>>2];c[i+100+8>>2]=c[e+48+8>>2];c[i+100+12>>2]=c[e+48+12>>2];c[i+116>>2]=c[g>>2];c[i+116+4>>2]=c[g+4>>2];c[i+116+8>>2]=c[g+8>>2];c[i+116+12>>2]=c[g+12>>2];c[i+132>>2]=c[g+16>>2];c[i+132+4>>2]=c[g+16+4>>2];c[i+132+8>>2]=c[g+16+8>>2];c[i+132+12>>2]=c[g+16+12>>2];c[i+148>>2]=c[g+32>>2];c[i+148+4>>2]=c[g+32+4>>2];c[i+148+8>>2]=c[g+32+8>>2];c[i+148+12>>2]=c[g+32+12>>2];c[i+164>>2]=c[g+48>>2];c[i+164+4>>2]=c[g+48+4>>2];c[i+164+8>>2]=c[g+48+8>>2];c[i+164+12>>2]=c[g+48+12>>2];a[i+180>>0]=h&1;f[i+184>>2]=1.0;f[i+188>>2]=-1.0;f[i+192>>2]=0.0;f[i+196>>2]=0.0;f[i+200>>2]=1.0;f[i+204>>2]=.699999988079071;f[i+208>>2]=0.0;f[i+212>>2]=0.0;f[i+216>>2]=1.0;f[i+220>>2]=.699999988079071;f[i+224>>2]=0.0;f[i+228>>2]=0.0;f[i+264>>2]=1.0;f[i+268>>2]=.699999988079071;f[i+272>>2]=1.0;f[i+276>>2]=0.0;f[i+280>>2]=1.0;f[i+284>>2]=.699999988079071;f[i+288>>2]=1.0;f[i+292>>2]=0.0;f[i+232>>2]=1.0;f[i+236>>2]=.699999988079071;f[i+240>>2]=1.0;f[i+244>>2]=0.0;f[i+248>>2]=1.0;f[i+252>>2]=.699999988079071;f[i+256>>2]=1.0;f[i+260>>2]=0.0;a[i+1096>>0]=0;f[i+1116>>2]=0.0;f[i+1120>>2]=0.0;f[i+1124>>2]=0.0;c[i+300>>2]=0;c[i+1100>>2]=0;c[i+1100+4>>2]=0;c[i+1100+8>>2]=0;a[i+1100+12>>0]=0;a[i+49>>0]=1;Oc(i,(c[i+28>>2]|0)+4|0,(c[i+32>>2]|0)+4|0);return i|0}function rf(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;o=Ta;Ta=Ta+32|0;a[o+16>>0]=1;c[o+12>>2]=0;c[o+4>>2]=0;c[o+8>>2]=0;if((c[b+8>>2]|0)>0){g=0;f=0;e=0;h=0;m=0;do{k=c[b+16>>2]|0;l=k+(m<<4)|0;if((g|0)==(f|0)){j=(f|0)==0?1:f<<1;if((f|0)<(j|0)){if(j){c[6879]=(c[6879]|0)+1;e=Zb((j<<4|3)+16|0)|0;if(!e){f=g;h=0}else{c[(e+4+15&-16)+-4>>2]=e;f=g;h=e+4+15&-16}}else h=0;if((f|0)>0){e=0;do{i=c[o+12>>2]|0;c[h+(e<<4)>>2]=c[i+(e<<4)>>2];c[h+(e<<4)+4>>2]=c[i+(e<<4)+4>>2];c[h+(e<<4)+8>>2]=c[i+(e<<4)+8>>2];c[h+(e<<4)+12>>2]=c[i+(e<<4)+12>>2];e=e+1|0}while((e|0)!=(f|0))}e=c[o+12>>2]|0;if(!e)g=f;else{if(!(a[o+16>>0]|0))g=f;else{c[6880]=(c[6880]|0)+1;kd(c[e+-4>>2]|0)}c[o+12>>2]=0}a[o+16>>0]=1;c[o+12>>2]=h;e=h;i=g;f=j;h=j}else i=f}else i=g;c[e+(i<<4)>>2]=c[l>>2];c[e+(i<<4)+4>>2]=c[k+(m<<4)+4>>2];c[e+(i<<4)+8>>2]=c[k+(m<<4)+8>>2];c[e+(i<<4)+12>>2]=c[k+(m<<4)+12>>2];g=i+1|0;m=m+1|0}while((m|0)<(c[b+8>>2]|0));c[o+4>>2]=g;c[o+8>>2]=h;if((i|0)>-1){e=c[o+12>>2]|0;f=0;while(1){jb[c[(c[b>>2]|0)+12>>2]&63](b,c[e+(f<<4)>>2]|0,c[e+(f<<4)+4>>2]|0,d)|0;if((f|0)<(i|0))f=f+1|0;else break}}}else g=0;if((c[b+56>>2]|0)>0){e=c[b+64>>2]|0;f=0;do{c[e+(f<<2)>>2]=-1;f=f+1|0}while((f|0)<(c[b+56>>2]|0))}if((g|0)<=1)if((g|0)<=0){e=c[o+12>>2]|0;if(!e){Ta=o;return}}else n=26;else{ie(o,0,g+-1|0);n=26}if((n|0)==26){e=c[o+12>>2]|0;f=0;do{ib[c[(c[b>>2]|0)+8>>2]&63](b,c[e+(f<<4)>>2]|0,c[e+(f<<4)+4>>2]|0)|0;f=f+1|0}while((f|0)<(g|0))}c[6880]=(c[6880]|0)+1;kd(c[e+-4>>2]|0);c[o+12>>2]=0;Ta=o;return}function sf(b,d,e){b=b|0;d=d|0;e=e|0;var g=0,h=0,i=0.0,j=0.0,k=0,l=0,m=0.0;c[6853]=(c[6853]|0)+1;if(!(c[b+4>>2]&2))j=.019999999552965164;else{k=c[d+192>>2]|0;i=+Xa[c[(c[k>>2]|0)+20>>2]&31](k,.019999999552965164);k=c[e+192>>2]|0;j=+Xa[c[(c[k>>2]|0)+20>>2]&31](k,.019999999552965164);j=i>2];i=+f[e+184>>2];i=m>2]|0;h=c[g+8>>2]|0;if(!h){if(c[b+4>>2]&4|0){b=0;return b|0}c[6879]=(c[6879]|0)+1;g=Zb(791)|0;if(!g)g=0;else{c[(g+4+15&-16)+-4>>2]=g;g=g+4+15&-16}h=g;k=g}else{k=c[g+12>>2]|0;c[g+12>>2]=c[k>>2];c[g+8>>2]=h+-1;h=k}c[h>>2]=1025;c[k+116>>2]=0;a[k+120>>0]=0;g=k+124|0;c[g>>2]=0;c[g+4>>2]=0;c[g+8>>2]=0;c[g+12>>2]=0;c[g+16>>2]=0;c[g+20>>2]=0;c[g+24>>2]=0;c[g+28>>2]=0;c[k+300>>2]=0;a[k+304>>0]=0;g=k+308|0;c[g>>2]=0;c[g+4>>2]=0;c[g+8>>2]=0;c[g+12>>2]=0;c[g+16>>2]=0;c[g+20>>2]=0;c[g+24>>2]=0;c[g+28>>2]=0;c[k+484>>2]=0;a[k+488>>0]=0;g=k+492|0;c[g>>2]=0;c[g+4>>2]=0;c[g+8>>2]=0;c[g+12>>2]=0;c[g+16>>2]=0;c[g+20>>2]=0;c[g+24>>2]=0;c[g+28>>2]=0;c[k+668>>2]=0;a[k+672>>0]=0;g=k+676|0;c[g>>2]=0;c[g+4>>2]=0;c[g+8>>2]=0;c[g+12>>2]=0;c[g+16>>2]=0;c[g+20>>2]=0;c[g+24>>2]=0;c[g+28>>2]=0;c[k+740>>2]=d;c[k+744>>2]=e;c[k+748>>2]=0;f[k+752>>2]=j;f[k+756>>2]=i;e=k;g=c[b+12>>2]|0;c[k+768>>2]=g;if((g|0)==(c[b+16>>2]|0)?(l=(g|0)==0?1:g<<1,(g|0)<(l|0)):0){if(!l)h=0;else{c[6879]=(c[6879]|0)+1;g=Zb((l<<2|3)+16|0)|0;if(!g)h=0;else{c[(g+4+15&-16)+-4>>2]=g;h=g+4+15&-16}g=c[b+12>>2]|0}if((g|0)>0){d=0;do{c[h+(d<<2)>>2]=c[(c[b+20>>2]|0)+(d<<2)>>2];d=d+1|0}while((d|0)!=(g|0))}d=c[b+20>>2]|0;if(d){if(a[b+24>>0]|0){c[6880]=(c[6880]|0)+1;kd(c[d+-4>>2]|0);g=c[b+12>>2]|0}c[b+20>>2]=0}a[b+24>>0]=1;c[b+20>>2]=h;c[b+16>>2]=l}c[(c[b+20>>2]|0)+(g<<2)>>2]=e;c[b+12>>2]=g+1;b=k;return b|0}function tf(b,d,e,g,h){b=b|0;d=d|0;e=e|0;g=g|0;h=h|0;var i=0;i=Ww(460)|0;Qd(i,b,d,e);c[i>>2]=5072;a[i+340>>0]=1;c[i+336>>2]=0;c[i+328>>2]=0;c[i+332>>2]=0;f[i+352>>2]=1.2000000476837158;f[i+356>>2]=0.0;f[i+360>>2]=0.0;f[i+364>>2]=1.0e3;c[i+368>>2]=0;c[i+368+4>>2]=0;c[i+368+8>>2]=0;c[i+368+12>>2]=0;c[i+368+16>>2]=0;c[i+368+20>>2]=0;c[i+368+24>>2]=0;c[i+396>>2]=-1054867456;c[i+400>>2]=0;f[i+404>>2]=0.0;a[i+424>>0]=1;c[i+420>>2]=0;c[i+412>>2]=0;c[i+416>>2]=0;c[i+452>>2]=h;a[i+456>>0]=0;if(!h){c[6879]=(c[6879]|0)+1;g=Zb(59)|0;if(!g)g=0;else{c[(g+4+15&-16)+-4>>2]=g;g=g+4+15&-16}f[g+12>>2]=1.0;c[g+8>>2]=0;c[g+4>>2]=5;c[g>>2]=4196;a[g+36>>0]=1;c[g+32>>2]=0;c[g+24>>2]=0;c[g+28>>2]=0;a[g+16>>0]=1;c[i+452>>2]=g;a[i+456>>0]=1}c[i+344>>2]=4302;a[i+348>>0]=1;a[i+349>>0]=0;a[i+350>>0]=0;c[i+384>>2]=d;c[i+388>>2]=b;Bi(i+408|0);e=c[i+412>>2]|0;if((e|0)<=0){d=i+428|0;f[d>>2]=.25;d=i+432|0;c[d>>2]=0;d=i+436|0;c[d>>2]=0;d=i+444|0;c[d>>2]=1;d=i+448|0;c[d>>2]=1;f[i+352>>2]=1.2000000476837158;f[i+356>>2]=0.0;f[i+360>>2]=0.0;d=i+392|0;c[d>>2]=0;c[i+368>>2]=0;c[i+368+4>>2]=0;c[i+368+8>>2]=0;c[i+368+12>>2]=0;c[i+396>>2]=-1054867456;c[i+400>>2]=0;f[i+404>>2]=0.0;Bi(i+408|0);return i|0}h=0;do{d=(c[i+420>>2]|0)+(h<<2)|0;g=c[d>>2]|0;c[d>>2]=0;if(g|0)do{d=g;g=c[g+280>>2]|0;B$(d)}while((g|0)!=0);h=h+1|0}while((h|0)!=(e|0));d=i+428|0;f[d>>2]=.25;d=i+432|0;c[d>>2]=0;d=i+436|0;c[d>>2]=0;d=i+444|0;c[d>>2]=1;d=i+448|0;c[d>>2]=1;f[i+352>>2]=1.2000000476837158;f[i+356>>2]=0.0;f[i+360>>2]=0.0;d=i+392|0;c[d>>2]=0;c[i+368>>2]=0;c[i+368+4>>2]=0;c[i+368+8>>2]=0;c[i+368+12>>2]=0;c[i+396>>2]=-1054867456;c[i+400>>2]=0;f[i+404>>2]=0.0;Bi(i+408|0);return i|0}function uf(a,b,e){a=a|0;b=b|0;e=e|0;Xh(a,b,e)|0;c[b+52>>2]=c[a+48>>2];c[b+56>>2]=c[a+52>>2];c[b+60>>2]=c[a+56>>2];c[b+64>>2]=c[a+60>>2];c[b+68>>2]=c[a+64>>2];c[b+72>>2]=c[a+68>>2];c[b+76>>2]=c[a+72>>2];c[b+80>>2]=c[a+76>>2];c[b+84>>2]=c[a+80>>2];c[b+88>>2]=c[a+84>>2];c[b+92>>2]=c[a+88>>2];c[b+96>>2]=c[a+92>>2];c[b+100>>2]=c[a+96>>2];c[b+104>>2]=c[a+100>>2];c[b+108>>2]=c[a+104>>2];c[b+112>>2]=c[a+108>>2];c[b+116>>2]=c[a+112>>2];c[b+120>>2]=c[a+116>>2];c[b+124>>2]=c[a+120>>2];c[b+128>>2]=c[a+124>>2];c[b+132>>2]=c[a+128>>2];c[b+136>>2]=c[a+132>>2];c[b+140>>2]=c[a+136>>2];c[b+144>>2]=c[a+140>>2];c[b+148>>2]=c[a+144>>2];c[b+152>>2]=c[a+148>>2];c[b+156>>2]=c[a+152>>2];c[b+160>>2]=c[a+156>>2];c[b+164>>2]=c[a+160>>2];c[b+168>>2]=c[a+164>>2];c[b+172>>2]=c[a+168>>2];c[b+176>>2]=c[a+172>>2];c[b+228>>2]=c[a+868>>2];c[b+212>>2]=c[a+872>>2];c[b+196>>2]=c[a+680>>2];c[b+180>>2]=c[a+696>>2];c[b+232>>2]=c[a+932>>2];c[b+216>>2]=c[a+936>>2];c[b+200>>2]=c[a+684>>2];c[b+184>>2]=c[a+700>>2];c[b+236>>2]=c[a+996>>2];c[b+220>>2]=c[a+1e3>>2];c[b+204>>2]=c[a+688>>2];c[b+188>>2]=c[a+704>>2];c[b+244>>2]=d[a+1300>>0];c[b+248>>2]=d[a+1301>>0];c[b+276>>2]=c[a+1316>>2];c[b+324>>2]=c[a+1364>>2];c[b+252>>2]=d[a+1309>>0];c[b+300>>2]=c[a+1340>>2];c[b+280>>2]=c[a+1320>>2];c[b+328>>2]=c[a+1368>>2];c[b+256>>2]=d[a+1310>>0];c[b+304>>2]=c[a+1344>>2];c[b+284>>2]=c[a+1324>>2];c[b+332>>2]=c[a+1372>>2];c[b+260>>2]=d[a+1311>>0];c[b+308>>2]=c[a+1348>>2];c[b+288>>2]=c[a+1328>>2];c[b+336>>2]=c[a+1376>>2];c[b+264>>2]=d[a+1312>>0];c[b+312>>2]=c[a+1352>>2];c[b+292>>2]=c[a+1332>>2];c[b+340>>2]=c[a+1380>>2];c[b+268>>2]=d[a+1313>>0];c[b+316>>2]=c[a+1356>>2];c[b+296>>2]=c[a+1336>>2];c[b+344>>2]=c[a+1384>>2];c[b+272>>2]=d[a+1314>>0];c[b+320>>2]=c[a+1360>>2];return 15527}function vf(a,b,d){a=a|0;b=b|0;d=+d;var e=0.0,g=0.0,h=0.0,i=0,j=0.0,k=0.0,l=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0;i=Ta;Ta=Ta+32|0;k=+f[a+56>>2];p=+f[a+72>>2]-k;j=+f[a+60>>2];n=+f[a+76>>2]-j;l=+f[a+64>>2];q=+f[a+80>>2]-l;m=+f[a+88>>2]-k;o=+f[a+92>>2]-j;g=+f[a+96>>2]-l;h=1.0/+s(+((p*o-n*m)*(p*o-n*m)+((n*g-q*o)*(n*g-q*o)+(q*m-p*g)*(q*m-p*g))));e=(n*g-q*o)*h;g=(q*m-p*g)*h;h=(p*o-n*m)*h;j=+f[b+8>>2]*h+(+f[b>>2]*e+ +f[b+4>>2]*g)-(l*h+(k*e+j*g));if(!(j>=-d)|!(j<=d)){a=0;Ta=i;return a|0}Cb[c[(c[a>>2]|0)+104>>2]&127](a,0,i+16|0,i);l=+f[i+16>>2];p=+f[i>>2]-l;n=+f[i+16+4>>2];m=+f[i+4>>2]-n;k=+f[i+16+8>>2];o=+f[i+8>>2]-k;q=1.0/+s(+((g*p-e*m)*(g*p-e*m)+((h*m-g*o)*(h*m-g*o)+(e*o-h*p)*(e*o-h*p))));if(+f[b+8>>2]*((g*p-e*m)*q)+(+f[b>>2]*((h*m-g*o)*q)+ +f[b+4>>2]*((e*o-h*p)*q))-(k*((g*p-e*m)*q)+(l*((h*m-g*o)*q)+n*((e*o-h*p)*q)))<-d){a=0;Ta=i;return a|0}Cb[c[(c[a>>2]|0)+104>>2]&127](a,1,i+16|0,i);l=+f[i+16>>2];p=+f[i>>2]-l;n=+f[i+16+4>>2];m=+f[i+4>>2]-n;k=+f[i+16+8>>2];o=+f[i+8>>2]-k;q=1.0/+s(+((g*p-e*m)*(g*p-e*m)+((h*m-g*o)*(h*m-g*o)+(e*o-h*p)*(e*o-h*p))));if(+f[b+8>>2]*((g*p-e*m)*q)+(+f[b>>2]*((h*m-g*o)*q)+ +f[b+4>>2]*((e*o-h*p)*q))-(k*((g*p-e*m)*q)+(l*((h*m-g*o)*q)+n*((e*o-h*p)*q)))<-d){a=0;Ta=i;return a|0}Cb[c[(c[a>>2]|0)+104>>2]&127](a,2,i+16|0,i);l=+f[i+16>>2];p=+f[i>>2]-l;n=+f[i+16+4>>2];m=+f[i+4>>2]-n;k=+f[i+16+8>>2];o=+f[i+8>>2]-k;q=1.0/+s(+((g*p-e*m)*(g*p-e*m)+((h*m-g*o)*(h*m-g*o)+(e*o-h*p)*(e*o-h*p))));if(+f[b+8>>2]*((g*p-e*m)*q)+(+f[b>>2]*((h*m-g*o)*q)+ +f[b+4>>2]*((e*o-h*p)*q))-(k*((g*p-e*m)*q)+(l*((h*m-g*o)*q)+n*((e*o-h*p)*q)))<-d){a=0;Ta=i;return a|0}a=1;Ta=i;return a|0}function wf(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;i=c[b+4>>2]|0;if((i|0)==(c[b+8>>2]|0)?(h=(i|0)==0?1:i<<1,(i|0)<(h|0)):0){if(!h){f=i;g=0}else{c[6879]=(c[6879]|0)+1;e=Zb((h*244|3)+16|0)|0;if(!e)e=0;else{c[(e+4+15&-16)+-4>>2]=e;e=e+4+15&-16}f=c[b+4>>2]|0;g=e}if((f|0)>0){e=0;do{k=g+(e*244|0)|0;j=c[b+12>>2]|0;l=j+(e*244|0)|0;c[k>>2]=c[l>>2];c[k+4>>2]=c[l+4>>2];c[k+8>>2]=c[l+8>>2];c[k+12>>2]=c[l+12>>2];k=j+(e*244|0)+16|0;l=g+(e*244|0)+16|0;c[l>>2]=c[k>>2];c[l+4>>2]=c[k+4>>2];c[l+8>>2]=c[k+8>>2];c[l+12>>2]=c[k+12>>2];l=j+(e*244|0)+32|0;k=g+(e*244|0)+32|0;c[k>>2]=c[l>>2];c[k+4>>2]=c[l+4>>2];c[k+8>>2]=c[l+8>>2];c[k+12>>2]=c[l+12>>2];k=g+(e*244|0)+48|0;l=j+(e*244|0)+48|0;c[k>>2]=c[l>>2];c[k+4>>2]=c[l+4>>2];c[k+8>>2]=c[l+8>>2];c[k+12>>2]=c[l+12>>2];oi(g+(e*244|0)+64|0,j+(e*244|0)+64|0,180)|0;e=e+1|0}while((e|0)!=(f|0))}e=c[b+12>>2]|0;if(e|0){if(a[b+16>>0]|0){c[6880]=(c[6880]|0)+1;kd(c[e+-4>>2]|0)}c[b+12>>2]=0}a[b+16>>0]=1;c[b+12>>2]=g;c[b+8>>2]=h;e=c[b+4>>2]|0}else e=i;c[b+4>>2]=e+1;l=c[b+12>>2]|0;c[l+(i*244|0)>>2]=c[d>>2];c[l+(i*244|0)+4>>2]=c[d+4>>2];c[l+(i*244|0)+8>>2]=c[d+8>>2];c[l+(i*244|0)+12>>2]=c[d+12>>2];c[l+(i*244|0)+16>>2]=c[d+16>>2];c[l+(i*244|0)+16+4>>2]=c[d+16+4>>2];c[l+(i*244|0)+16+8>>2]=c[d+16+8>>2];c[l+(i*244|0)+16+12>>2]=c[d+16+12>>2];c[l+(i*244|0)+32>>2]=c[d+32>>2];c[l+(i*244|0)+32+4>>2]=c[d+32+4>>2];c[l+(i*244|0)+32+8>>2]=c[d+32+8>>2];c[l+(i*244|0)+32+12>>2]=c[d+32+12>>2];c[l+(i*244|0)+48>>2]=c[d+48>>2];c[l+(i*244|0)+48+4>>2]=c[d+48+4>>2];c[l+(i*244|0)+48+8>>2]=c[d+48+8>>2];c[l+(i*244|0)+48+12>>2]=c[d+48+12>>2];oi(l+(i*244|0)+64|0,d+64|0,180)|0;return (c[b+12>>2]|0)+(i*244|0)|0}function xf(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var g=0.0,h=0.0,i=0.0,j=0.0,k=0,l=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,t=0.0,u=0.0,v=0.0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0;k=Ta;Ta=Ta+64|0;m=+f[a+20>>2];u=+f[a+40>>2];o=+f[a+24>>2];r=+f[a+36>>2];t=+f[a+32>>2];l=+f[a+16>>2];j=+f[a>>2];i=+f[a+4>>2];p=+f[a+8>>2];h=1.0/((m*u-o*r)*j+i*(o*t-u*l)+(r*l-m*t)*p);A=+f[b>>2];z=+f[b+4>>2];B=+f[b+8>>2];y=+f[b+16>>2];x=+f[b+20>>2];v=+f[b+24>>2];q=+f[b+32>>2];n=+f[b+36>>2];g=+f[b+40>>2];f[k+16>>2]=B*((r*l-m*t)*h)+(A*((m*u-o*r)*h)+z*((o*t-u*l)*h));f[k+16+4>>2]=B*((t*i-r*j)*h)+(A*((r*p-u*i)*h)+z*((u*j-t*p)*h));f[k+16+8>>2]=B*((m*j-l*i)*h)+(A*((o*i-m*p)*h)+z*((l*p-o*j)*h));f[k+16+12>>2]=0.0;f[k+16+16>>2]=(m*u-o*r)*h*y+(o*t-u*l)*h*x+(r*l-m*t)*h*v;f[k+16+20>>2]=(r*p-u*i)*h*y+(u*j-t*p)*h*x+(t*i-r*j)*h*v;f[k+16+24>>2]=(o*i-m*p)*h*y+(l*p-o*j)*h*x+(m*j-l*i)*h*v;f[k+16+28>>2]=0.0;f[k+16+32>>2]=(m*u-o*r)*h*q+(o*t-u*l)*h*n+(r*l-m*t)*h*g;f[k+16+36>>2]=(r*p-u*i)*h*q+(u*j-t*p)*h*n+(t*i-r*j)*h*g;f[k+16+40>>2]=(o*i-m*p)*h*q+(l*p-o*j)*h*n+(m*j-l*i)*h*g;f[k+16+44>>2]=0.0;zh(k+16|0,k);g=+f[k>>2];h=+f[k+4>>2];i=+f[k+8>>2];l=+f[k+12>>2];j=1.0/+s(+(g*g+h*h+i*i+l*l));f[k>>2]=g*j;f[k+4>>2]=h*j;f[k+8>>2]=i*j;f[k+12>>2]=l*j;l=l*j<-1.0?-1.0:l*j;f[e>>2]=+w(+(l>1.0?1.0:l))*2.0;f[d>>2]=g*j;f[d+4>>2]=h*j;f[d+8>>2]=i*j;f[d+12>>2]=0.0;if(g*j*(g*j)+h*j*(h*j)+i*j*(i*j)<1.4210854715202004e-14){c[d>>2]=1065353216;c[d+4>>2]=0;c[d+8>>2]=0;f[d+12>>2]=0.0;Ta=k;return}else{B=1.0/+s(+(g*j*(g*j)+h*j*(h*j)+i*j*(i*j)));f[d>>2]=g*j*B;f[d+4>>2]=h*j*B;f[d+8>>2]=i*j*B;Ta=k;return}}function yf(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;j=c[b+12>>2]|0;k=c[b+36>>2]|0;if((k|0)>=(j|0))return;do if((c[b+40>>2]|0)<(j|0)){if(!j){g=k;d=0}else{c[6879]=(c[6879]|0)+1;d=Zb((j<<2|3)+16|0)|0;if(!d)d=0;else{c[(d+4+15&-16)+-4>>2]=d;d=d+4+15&-16}g=c[b+36>>2]|0}e=c[b+44>>2]|0;if((g|0)<=0){if(!e){a[b+48>>0]=1;c[b+44>>2]=d;c[b+40>>2]=j;i=b+44|0;break}}else{f=0;do{c[d+(f<<2)>>2]=c[e+(f<<2)>>2];f=f+1|0}while((f|0)!=(g|0))}if(a[b+48>>0]|0){c[6880]=(c[6880]|0)+1;kd(c[e+-4>>2]|0)}a[b+48>>0]=1;c[b+44>>2]=d;c[b+40>>2]=j;i=b+44|0}else{d=c[b+44>>2]|0;i=b+44|0}while(0);el(d+(k<<2)|0,0,(j<<2)-(k<<2)|0)|0;c[b+36>>2]=j;h=c[b+56>>2]|0;if((h|0)<(j|0)){do if((c[b+60>>2]|0)<(j|0)){if(!j){g=h;d=0}else{c[6879]=(c[6879]|0)+1;d=Zb((j<<2|3)+16|0)|0;if(!d)d=0;else{c[(d+4+15&-16)+-4>>2]=d;d=d+4+15&-16}g=c[b+56>>2]|0}e=c[b+64>>2]|0;if((g|0)<=0){if(!e){a[b+68>>0]=1;c[b+64>>2]=d;c[b+60>>2]=j;break}}else{f=0;do{c[d+(f<<2)>>2]=c[e+(f<<2)>>2];f=f+1|0}while((f|0)!=(g|0))}if(a[b+68>>0]|0){c[6880]=(c[6880]|0)+1;kd(c[e+-4>>2]|0)}a[b+68>>0]=1;c[b+64>>2]=d;c[b+60>>2]=j}else d=c[b+64>>2]|0;while(0);el(d+(h<<2)|0,0,(j<<2)-(h<<2)|0)|0}c[b+56>>2]=j;if((j|0)>0){el(c[i>>2]|0,-1,j<<2|0)|0;el(c[b+64>>2]|0,-1,j<<2|0)|0}if((k|0)<=0)return;g=c[b+16>>2]|0;d=c[i>>2]|0;e=c[b+64>>2]|0;f=0;do{j=c[(c[g+(f<<4)+4>>2]|0)+12>>2]<<16|c[(c[g+(f<<4)>>2]|0)+12>>2];j=((10?j+~(j<<15)>>10:j+~(j<<15)|0)^j+~(j<<15))*9|0;j=(6?j>>6:j)^j;j=d+((((16?j+~(j<<11)>>16:j+~(j<<11)|0)^j+~(j<<11))&(c[b+12>>2]|0)+-1)<<2)|0;c[e+(f<<2)>>2]=c[j>>2];c[j>>2]=f;f=f+1|0}while((f|0)!=(k|0));return}function zf(b,d,e){b=b|0;d=d|0;e=e|0;var g=0,h=0.0,i=0.0,j=0.0,k=0.0,l=0.0;g=tx()|0;c[g+4>>2]=4;c[g>>2]=5796;c[g+8>>2]=-1;c[g+12>>2]=-1;f[g+16>>2]=3402823466385288598117041.0e14;a[g+20>>0]=1;a[g+21>>0]=0;c[g+24>>2]=-1;c[g+28>>2]=b;Fl();c[g+32>>2]=26168;f[g+36>>2]=0.0;f[g+40>>2]=.30000001192092896;c[g+44>>2]=0;c[g>>2]=5956;c[g+552>>2]=c[d>>2];c[g+552+4>>2]=c[d+4>>2];c[g+552+8>>2]=c[d+8>>2];c[g+552+12>>2]=c[d+12>>2];c[g+568>>2]=c[d+16>>2];c[g+568+4>>2]=c[d+16+4>>2];c[g+568+8>>2]=c[d+16+8>>2];c[g+568+12>>2]=c[d+16+12>>2];c[g+584>>2]=c[d+32>>2];c[g+584+4>>2]=c[d+32+4>>2];c[g+584+8>>2]=c[d+32+8>>2];c[g+584+12>>2]=c[d+32+12>>2];c[g+600>>2]=c[d+48>>2];c[g+600+4>>2]=c[d+48+4>>2];c[g+600+8>>2]=c[d+48+8>>2];c[g+600+12>>2]=c[d+48+12>>2];c[g+616>>2]=c[d>>2];c[g+616+4>>2]=c[d+4>>2];c[g+616+8>>2]=c[d+8>>2];c[g+616+12>>2]=c[d+12>>2];c[g+632>>2]=c[d+16>>2];c[g+632+4>>2]=c[d+16+4>>2];c[g+632+8>>2]=c[d+16+8>>2];c[g+632+12>>2]=c[d+16+12>>2];c[g+648>>2]=c[d+32>>2];c[g+648+4>>2]=c[d+32+4>>2];c[g+648+8>>2]=c[d+32+8>>2];c[g+648+12>>2]=c[d+32+12>>2];c[g+664>>2]=c[d+48>>2];c[g+664+4>>2]=c[d+48+4>>2];c[g+664+8>>2]=c[d+48+8>>2];c[g+664+12>>2]=c[d+48+12>>2];f[g+688>>2]=0.0;f[g+692>>2]=-1.0;f[g+696>>2]=.8999999761581421;f[g+700>>2]=.30000001192092896;f[g+704>>2]=1.0;f[g+708>>2]=0.0;f[g+712>>2]=0.0;a[g+716>>0]=0;a[g+736>>0]=0;a[g+737>>0]=0;a[g+738>>0]=0;a[g+739>>0]=1;a[g+740>>0]=e&1;c[g+748>>2]=0;d=c[g+28>>2]|0;l=+f[g+600>>2];k=+f[g+604>>2];j=+f[g+608>>2];i=l*+f[d+20>>2]+k*+f[d+24>>2]+j*+f[d+28>>2]+ +f[d+56>>2];h=l*+f[d+36>>2]+k*+f[d+40>>2]+j*+f[d+44>>2]+ +f[d+60>>2];f[g+664>>2]=l*+f[d+4>>2]+k*+f[d+8>>2]+j*+f[d+12>>2]+ +f[d+52>>2];f[g+668>>2]=i;f[g+672>>2]=h;f[g+676>>2]=0.0;f[g+732>>2]=e?-1.0:1.0;return g|0}function Af(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;j=c[b+12>>2]|0;k=c[b+32>>2]|0;if((k|0)>=(j|0))return;do if((c[b+36>>2]|0)<(j|0)){if(!j){g=k;d=0}else{c[6879]=(c[6879]|0)+1;d=Zb((j<<2|3)+16|0)|0;if(!d)d=0;else{c[(d+4+15&-16)+-4>>2]=d;d=d+4+15&-16}g=c[b+32>>2]|0}e=c[b+40>>2]|0;if((g|0)<=0){if(!e){a[b+44>>0]=1;c[b+40>>2]=d;c[b+36>>2]=j;i=b+40|0;break}}else{f=0;do{c[d+(f<<2)>>2]=c[e+(f<<2)>>2];f=f+1|0}while((f|0)!=(g|0))}if(a[b+44>>0]|0){c[6880]=(c[6880]|0)+1;kd(c[e+-4>>2]|0)}a[b+44>>0]=1;c[b+40>>2]=d;c[b+36>>2]=j;i=b+40|0}else{d=c[b+40>>2]|0;i=b+40|0}while(0);el(d+(k<<2)|0,0,(j<<2)-(k<<2)|0)|0;c[b+32>>2]=j;h=c[b+52>>2]|0;if((h|0)<(j|0)){do if((c[b+56>>2]|0)<(j|0)){if(!j){g=h;d=0}else{c[6879]=(c[6879]|0)+1;d=Zb((j<<2|3)+16|0)|0;if(!d)d=0;else{c[(d+4+15&-16)+-4>>2]=d;d=d+4+15&-16}g=c[b+52>>2]|0}e=c[b+60>>2]|0;if((g|0)<=0){if(!e){a[b+64>>0]=1;c[b+60>>2]=d;c[b+56>>2]=j;break}}else{f=0;do{c[d+(f<<2)>>2]=c[e+(f<<2)>>2];f=f+1|0}while((f|0)!=(g|0))}if(a[b+64>>0]|0){c[6880]=(c[6880]|0)+1;kd(c[e+-4>>2]|0)}a[b+64>>0]=1;c[b+60>>2]=d;c[b+56>>2]=j}else d=c[b+60>>2]|0;while(0);el(d+(h<<2)|0,0,(j<<2)-(h<<2)|0)|0}c[b+52>>2]=j;if((j|0)>0){el(c[i>>2]|0,-1,j<<2|0)|0;el(c[b+60>>2]|0,-1,j<<2|0)|0}if((k|0)<=0)return;g=c[b+16>>2]|0;d=c[i>>2]|0;e=c[b+60>>2]|0;f=0;do{j=c[g+(f*12|0)+4>>2]<<16|c[g+(f*12|0)>>2];j=((10?j+~(j<<15)>>10:j+~(j<<15)|0)^j+~(j<<15))*9|0;j=(6?j>>6:j)^j;j=d+((((16?j+~(j<<11)>>16:j+~(j<<11)|0)^j+~(j<<11))&(c[b+12>>2]|0)+-1)<<2)|0;c[e+(f<<2)>>2]=c[j>>2];c[j>>2]=f;f=f+1|0}while((f|0)!=(k|0));return}function Bf(b,d){b=b|0;d=d|0;var e=0,g=0.0,h=0.0,i=0.0,j=0.0,k=0.0;e=tx()|0;c[e+4>>2]=4;c[e>>2]=5796;c[e+8>>2]=-1;c[e+12>>2]=-1;f[e+16>>2]=3402823466385288598117041.0e14;a[e+20>>0]=1;a[e+21>>0]=0;c[e+24>>2]=-1;c[e+28>>2]=b;Fl();c[e+32>>2]=26168;f[e+36>>2]=0.0;f[e+40>>2]=.30000001192092896;c[e+44>>2]=0;c[e>>2]=5956;c[e+552>>2]=c[d>>2];c[e+552+4>>2]=c[d+4>>2];c[e+552+8>>2]=c[d+8>>2];c[e+552+12>>2]=c[d+12>>2];c[e+568>>2]=c[d+16>>2];c[e+568+4>>2]=c[d+16+4>>2];c[e+568+8>>2]=c[d+16+8>>2];c[e+568+12>>2]=c[d+16+12>>2];c[e+584>>2]=c[d+32>>2];c[e+584+4>>2]=c[d+32+4>>2];c[e+584+8>>2]=c[d+32+8>>2];c[e+584+12>>2]=c[d+32+12>>2];c[e+600>>2]=c[d+48>>2];c[e+600+4>>2]=c[d+48+4>>2];c[e+600+8>>2]=c[d+48+8>>2];c[e+600+12>>2]=c[d+48+12>>2];c[e+616>>2]=c[d>>2];c[e+616+4>>2]=c[d+4>>2];c[e+616+8>>2]=c[d+8>>2];c[e+616+12>>2]=c[d+12>>2];c[e+632>>2]=c[d+16>>2];c[e+632+4>>2]=c[d+16+4>>2];c[e+632+8>>2]=c[d+16+8>>2];c[e+632+12>>2]=c[d+16+12>>2];c[e+648>>2]=c[d+32>>2];c[e+648+4>>2]=c[d+32+4>>2];c[e+648+8>>2]=c[d+32+8>>2];c[e+648+12>>2]=c[d+32+12>>2];c[e+664>>2]=c[d+48>>2];c[e+664+4>>2]=c[d+48+4>>2];c[e+664+8>>2]=c[d+48+8>>2];c[e+664+12>>2]=c[d+48+12>>2];f[e+688>>2]=0.0;f[e+692>>2]=-1.0;f[e+696>>2]=.8999999761581421;f[e+700>>2]=.30000001192092896;f[e+704>>2]=1.0;f[e+708>>2]=0.0;f[e+712>>2]=0.0;a[e+716>>0]=0;a[e+736>>0]=0;a[e+737>>0]=0;a[e+738>>0]=0;a[e+739>>0]=1;a[e+740>>0]=0;c[e+748>>2]=0;d=c[e+28>>2]|0;k=+f[e+600>>2];j=+f[e+604>>2];i=+f[e+608>>2];h=k*+f[d+20>>2]+j*+f[d+24>>2]+i*+f[d+28>>2]+ +f[d+56>>2];g=k*+f[d+36>>2]+j*+f[d+40>>2]+i*+f[d+44>>2]+ +f[d+60>>2];f[e+664>>2]=k*+f[d+4>>2]+j*+f[d+8>>2]+i*+f[d+12>>2]+ +f[d+52>>2];f[e+668>>2]=h;f[e+672>>2]=g;f[e+676>>2]=0.0;f[e+732>>2]=1.0;return e|0}function Cf(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;f=Ta;Ta=Ta+384|0;h=c[(c[a>>2]|0)+8>>2]|0;g=D$(b)|0;bx(f+368|0,g,g+4|0,g+8|0);d=D$(d)|0;bx(f+352|0,d,g+4|0,g+8|0);Cb[h&127](a,f+368|0,f+352|0,e);b=c[(c[a>>2]|0)+8>>2]|0;bx(f+336|0,d,g+4|0,g+8|0);bx(f+320|0,d,d+4|0,g+8|0);Cb[b&127](a,f+336|0,f+320|0,e);b=c[(c[a>>2]|0)+8>>2]|0;bx(f+304|0,d,d+4|0,g+8|0);bx(f+288|0,g,d+4|0,g+8|0);Cb[b&127](a,f+304|0,f+288|0,e);b=c[(c[a>>2]|0)+8>>2]|0;bx(f+272|0,g,d+4|0,g+8|0);bx(f+256|0,g,g+4|0,g+8|0);Cb[b&127](a,f+272|0,f+256|0,e);b=c[(c[a>>2]|0)+8>>2]|0;bx(f+240|0,g,g+4|0,g+8|0);bx(f+224|0,g,g+4|0,d+8|0);Cb[b&127](a,f+240|0,f+224|0,e);b=c[(c[a>>2]|0)+8>>2]|0;bx(f+208|0,d,g+4|0,g+8|0);bx(f+192|0,d,g+4|0,d+8|0);Cb[b&127](a,f+208|0,f+192|0,e);b=c[(c[a>>2]|0)+8>>2]|0;bx(f+176|0,d,d+4|0,g+8|0);bx(f+160|0,d,d+4|0,d+8|0);Cb[b&127](a,f+176|0,f+160|0,e);b=c[(c[a>>2]|0)+8>>2]|0;bx(f+144|0,g,d+4|0,g+8|0);bx(f+128|0,g,d+4|0,d+8|0);Cb[b&127](a,f+144|0,f+128|0,e);b=c[(c[a>>2]|0)+8>>2]|0;bx(f+112|0,g,g+4|0,d+8|0);bx(f+96|0,d,g+4|0,d+8|0);Cb[b&127](a,f+112|0,f+96|0,e);b=c[(c[a>>2]|0)+8>>2]|0;bx(f+80|0,d,g+4|0,d+8|0);bx(f+64|0,d,d+4|0,d+8|0);Cb[b&127](a,f+80|0,f+64|0,e);b=c[(c[a>>2]|0)+8>>2]|0;bx(f+48|0,d,d+4|0,d+8|0);bx(f+32|0,g,d+4|0,d+8|0);Cb[b&127](a,f+48|0,f+32|0,e);b=c[(c[a>>2]|0)+8>>2]|0;bx(f+16|0,g,d+4|0,d+8|0);bx(f,g,g+4|0,d+8|0);Cb[b&127](a,f+16|0,f,e);Ta=f;return}function Df(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;e=gb[c[(c[d>>2]|0)+40>>2]&63](d,a)|0;g=gb[c[(c[d>>2]|0)+28>>2]&63](d,e)|0;c[b>>2]=g;if(g|0)vb[c[(c[d>>2]|0)+48>>2]&255](d,e);c[b+4>>2]=c[a+4>>2];c[b+20>>2]=c[a+72>>2];e=c[a+16>>2]|0;c[b+16>>2]=e;c[b+12>>2]=0;if(!e)return 19531;g=ib[c[(c[d>>2]|0)+16>>2]&63](d,76,e)|0;e=c[g+8>>2]|0;c[b+12>>2]=gb[c[(c[d>>2]|0)+28>>2]&63](d,e)|0;if((c[b+16>>2]|0)>0){f=0;while(1){h=c[a+24>>2]|0;c[e+72>>2]=c[h+(f*80|0)+72>>2];c[e+64>>2]=gb[c[(c[d>>2]|0)+28>>2]&63](d,c[h+(f*80|0)+64>>2]|0)|0;if(!(gb[c[(c[d>>2]|0)+24>>2]&63](d,c[(c[a+24>>2]|0)+(f*80|0)+64>>2]|0)|0)){h=c[(c[d>>2]|0)+16>>2]|0;i=c[(c[a+24>>2]|0)+(f*80|0)+64>>2]|0;i=eb[c[(c[i>>2]|0)+52>>2]&255](i)|0;i=ib[h&63](d,i,1)|0;h=c[(c[a+24>>2]|0)+(f*80|0)+64>>2]|0;h=ib[c[(c[h>>2]|0)+56>>2]&63](h,c[i+8>>2]|0,d)|0;Gb[c[(c[d>>2]|0)+20>>2]&63](d,i,h,1346455635,c[(c[a+24>>2]|0)+(f*80|0)+64>>2]|0)}i=c[a+24>>2]|0;c[e+68>>2]=c[i+(f*80|0)+68>>2];c[e>>2]=c[i+(f*80|0)>>2];c[e+4>>2]=c[i+(f*80|0)+4>>2];c[e+8>>2]=c[i+(f*80|0)+8>>2];c[e+12>>2]=c[i+(f*80|0)+12>>2];c[e+16>>2]=c[i+(f*80|0)+16>>2];c[e+20>>2]=c[i+(f*80|0)+20>>2];c[e+24>>2]=c[i+(f*80|0)+24>>2];c[e+28>>2]=c[i+(f*80|0)+28>>2];c[e+32>>2]=c[i+(f*80|0)+32>>2];c[e+36>>2]=c[i+(f*80|0)+36>>2];c[e+40>>2]=c[i+(f*80|0)+40>>2];c[e+44>>2]=c[i+(f*80|0)+44>>2];c[e+48>>2]=c[i+(f*80|0)+48>>2];c[e+52>>2]=c[i+(f*80|0)+52>>2];c[e+56>>2]=c[i+(f*80|0)+56>>2];c[e+60>>2]=c[i+(f*80|0)+60>>2];f=f+1|0;if((f|0)>=(c[b+16>>2]|0)){e=d;break}else e=e+76|0}}else e=d;Gb[c[(c[e>>2]|0)+20>>2]&63](d,g,19506,1497453121,c[g+8>>2]|0);return 19531}function Ef(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var g=0,h=0.0,i=0.0,j=0.0,k=0,l=0,m=0.0,n=0.0,o=0.0,p=0.0;g=Ta;Ta=Ta+256|0;c[g+32>>2]=7028;k=g+32+36|0;c[k>>2]=c[b>>2];c[k+4>>2]=c[b+4>>2];c[k+8>>2]=c[b+8>>2];c[k+12>>2]=c[b+12>>2];l=g+32+52|0;c[l>>2]=c[d>>2];c[l+4>>2]=c[d+4>>2];c[l+8>>2]=c[d+8>>2];c[l+12>>2]=c[d+12>>2];c[g+32+212>>2]=a;c[g+32+216>>2]=e;c[g+32+68>>2]=1065353216;c[g+32+72>>2]=0;c[g+32+72+4>>2]=0;c[g+32+72+8>>2]=0;c[g+32+72+12>>2]=0;c[g+32+88>>2]=1065353216;c[g+32+92>>2]=0;c[g+32+92+4>>2]=0;c[g+32+92+8>>2]=0;c[g+32+92+12>>2]=0;c[g+32+108>>2]=1065353216;c[g+32+112>>2]=0;c[g+32+116>>2]=c[k>>2];c[g+32+116+4>>2]=c[k+4>>2];c[g+32+116+8>>2]=c[k+8>>2];c[g+32+116+12>>2]=c[k+12>>2];c[g+32+132>>2]=1065353216;c[g+32+136>>2]=0;c[g+32+136+4>>2]=0;c[g+32+136+8>>2]=0;c[g+32+136+12>>2]=0;c[g+32+152>>2]=1065353216;c[g+32+156>>2]=0;c[g+32+156+4>>2]=0;c[g+32+156+8>>2]=0;c[g+32+156+12>>2]=0;c[g+32+172>>2]=1065353216;c[g+32+176>>2]=0;c[g+32+180>>2]=c[d>>2];c[g+32+180+4>>2]=c[d+4>>2];c[g+32+180+8>>2]=c[d+8>>2];c[g+32+180+12>>2]=c[d+12>>2];m=+f[d>>2]-+f[b>>2];j=+f[d+4>>2]-+f[b+4>>2];i=+f[d+8>>2]-+f[b+8>>2];h=1.0/+s(+(m*m+j*j+i*i));p=m*h==0.0?999999984306749440.0:1.0/(m*h);f[g+32+4>>2]=p;o=j*h==0.0?999999984306749440.0:1.0/(j*h);f[g+32+8>>2]=o;n=i*h==0.0?999999984306749440.0:1.0/(i*h);f[g+32+12>>2]=n;c[g+32+20>>2]=p<0.0&1;c[g+32+24>>2]=o<0.0&1;c[g+32+28>>2]=n<0.0&1;f[g+32+32>>2]=m*h*(+f[l>>2]-+f[k>>2])+j*h*(+f[g+32+56>>2]-+f[g+32+40>>2])+i*h*(+f[g+32+60>>2]-+f[g+32+44>>2]);a=c[a+68>>2]|0;e=c[(c[a>>2]|0)+24>>2]|0;c[g+16>>2]=0;c[g+16+4>>2]=0;c[g+16+8>>2]=0;c[g+16+12>>2]=0;c[g>>2]=0;c[g+4>>2]=0;c[g+8>>2]=0;c[g+12>>2]=0;Ib[e&31](a,b,d,g+32|0,g+16|0,g);Ta=g;return}function Ff(a,b,c,d,e,g,h,i){a=a|0;b=+b;c=+c;d=+d;e=e|0;g=+g;h=+h;i=+i;var j=0.0,k=0.0,l=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0;z=+f[e>>2];y=+f[e+16>>2];x=+f[e+32>>2];w=+f[e+4>>2];v=+f[e+20>>2];u=+f[e+36>>2];t=+f[e+8>>2];s=+f[e+24>>2];r=+f[e+40>>2];j=d-((z*0.0+y*-i+x*h)*0.0+(w*0.0+v*-i+u*h)*i+(t*0.0+s*-i+r*h)*-h)+c;o=0.0-((z*0.0+y*-i+x*h)*-i+(w*0.0+v*-i+u*h)*0.0+(t*0.0+s*-i+r*h)*g)+0.0;l=0.0-((z*0.0+y*-i+x*h)*h+(w*0.0+v*-i+u*h)*-g+(t*0.0+s*-i+r*h)*0.0)+0.0;m=0.0-((z*i+y*0.0+x*-g)*0.0+(w*i+v*0.0+u*-g)*i+(t*i+s*0.0+r*-g)*-h)+0.0;n=d-((z*i+y*0.0+x*-g)*-i+(w*i+v*0.0+u*-g)*0.0+(t*i+s*0.0+r*-g)*g)+c;k=0.0-((z*i+y*0.0+x*-g)*h+(w*i+v*0.0+u*-g)*-g+(t*i+s*0.0+r*-g)*0.0)+0.0;p=0.0-((z*-h+y*g+x*0.0)*0.0+(w*-h+v*g+u*0.0)*i+(t*-h+s*g+r*0.0)*-h)+0.0;q=0.0-((z*-h+y*g+x*0.0)*-i+(w*-h+v*g+u*0.0)*0.0+(t*-h+s*g+r*0.0)*g)+0.0;h=d-((z*-h+y*g+x*0.0)*h+(w*-h+v*g+u*0.0)*-g+(t*-h+s*g+r*0.0)*0.0)+c;i=1.0/(l*(q*m-n*p)+(j*(n*h-k*q)+o*(k*p-h*m)));f[a>>2]=(q*m-n*p)*i*0.0+(1.0/b*((n*h-k*q)*i)+(k*p-h*m)*i*0.0);f[a+4>>2]=(p*o-q*j)*i*0.0+(1.0/b*((q*l-h*o)*i)+(h*j-p*l)*i*0.0);f[a+8>>2]=(n*j-m*o)*i*0.0+(1.0/b*((k*o-n*l)*i)+(m*l-k*j)*i*0.0);f[a+12>>2]=0.0;f[a+16>>2]=(q*m-n*p)*i*0.0+((n*h-k*q)*i*0.0+1.0/b*((k*p-h*m)*i));f[a+20>>2]=(p*o-q*j)*i*0.0+((q*l-h*o)*i*0.0+1.0/b*((h*j-p*l)*i));f[a+24>>2]=(n*j-m*o)*i*0.0+((k*o-n*l)*i*0.0+1.0/b*((m*l-k*j)*i));f[a+28>>2]=0.0;f[a+32>>2]=1.0/b*((q*m-n*p)*i)+((n*h-k*q)*i*0.0+(k*p-h*m)*i*0.0);f[a+36>>2]=1.0/b*((p*o-q*j)*i)+((q*l-h*o)*i*0.0+(h*j-p*l)*i*0.0);f[a+40>>2]=1.0/b*((n*j-m*o)*i)+((k*o-n*l)*i*0.0+(m*l-k*j)*i*0.0);f[a+44>>2]=0.0;return}function Gf(a,b,d,e,g){a=a|0;b=b|0;d=d|0;e=e|0;g=g|0;var h=0,i=0.0,j=0.0,k=0.0,l=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0;h=Ta;Ta=Ta+128|0;if(!b){Ta=h;return}if(c[b+40>>2]|0){Gf(a,c[b+36>>2]|0,d+1|0,e,g);Gf(a,c[b+40>>2]|0,d+1|0,e,g)}if((d|0)<0){Ta=h;return}l=+f[b>>2];q=+f[b+16>>2];j=+f[b+4>>2];p=+f[b+20>>2];i=+f[b+8>>2];o=+f[b+24>>2];k=(l+q)*.5-(q-l)*.5;m=(j+p)*.5-(p-j)*.5;n=(i+o)*.5-(o-i)*.5;l=(l+q)*.5+(q-l)*.5;j=(j+p)*.5+(p-j)*.5;i=(i+o)*.5+(o-i)*.5;b=(c[b+40>>2]|0)==0?g:e;f[h>>2]=k;f[h+4>>2]=m;f[h+8>>2]=n;f[h+12>>2]=0.0;f[h+16>>2]=l;f[h+20>>2]=m;f[h+24>>2]=n;f[h+28>>2]=0.0;f[h+32>>2]=l;f[h+36>>2]=j;f[h+40>>2]=n;f[h+44>>2]=0.0;f[h+48>>2]=k;f[h+52>>2]=j;f[h+56>>2]=n;f[h+60>>2]=0.0;f[h+64>>2]=k;f[h+68>>2]=m;f[h+72>>2]=i;f[h+76>>2]=0.0;f[h+80>>2]=l;f[h+84>>2]=m;f[h+88>>2]=i;f[h+92>>2]=0.0;f[h+96>>2]=l;f[h+100>>2]=j;f[h+104>>2]=i;f[h+108>>2]=0.0;f[h+112>>2]=k;f[h+116>>2]=j;f[h+120>>2]=i;f[h+124>>2]=0.0;Cb[c[(c[a>>2]|0)+8>>2]&127](a,h,h+16|0,b);Cb[c[(c[a>>2]|0)+8>>2]&127](a,h+16|0,h+32|0,b);Cb[c[(c[a>>2]|0)+8>>2]&127](a,h+32|0,h+48|0,b);Cb[c[(c[a>>2]|0)+8>>2]&127](a,h+48|0,h,b);Cb[c[(c[a>>2]|0)+8>>2]&127](a,h+64|0,h+80|0,b);Cb[c[(c[a>>2]|0)+8>>2]&127](a,h+80|0,h+96|0,b);Cb[c[(c[a>>2]|0)+8>>2]&127](a,h+96|0,h+112|0,b);Cb[c[(c[a>>2]|0)+8>>2]&127](a,h+112|0,h+64|0,b);Cb[c[(c[a>>2]|0)+8>>2]&127](a,h,h+64|0,b);Cb[c[(c[a>>2]|0)+8>>2]&127](a,h+16|0,h+80|0,b);Cb[c[(c[a>>2]|0)+8>>2]&127](a,h+32|0,h+96|0,b);Cb[c[(c[a>>2]|0)+8>>2]&127](a,h+48|0,h+112|0,b);Ta=h;return}function Hf(b,d,e,g,h,i){b=b|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0;q=Ta;Ta=Ta+96|0;m=q;n=m+96|0;do{c[m>>2]=0;m=m+4|0}while((m|0)<(n|0));if(!i)p=c[c[b+880>>2]>>2]|0;else p=i;i=c[b+772>>2]|0;if((i|0)==(c[b+776>>2]|0)?(o=(i|0)==0?1:i<<1,(i|0)<(o|0)):0){if(!o)j=0;else{c[6879]=(c[6879]|0)+1;i=Zb((o*104|3)+16|0)|0;if(!i)j=0;else{c[(i+4+15&-16)+-4>>2]=i;j=i+4+15&-16}i=c[b+772>>2]|0}if((i|0)>0){k=0;do{m=j+(k*104|0)|0;l=(c[b+780>>2]|0)+(k*104|0)|0;n=m+104|0;do{c[m>>2]=c[l>>2];m=m+4|0;l=l+4|0}while((m|0)<(n|0));k=k+1|0}while((k|0)!=(i|0))}i=c[b+780>>2]|0;if(i|0){if(a[b+784>>0]|0){c[6880]=(c[6880]|0)+1;kd(c[i+-4>>2]|0)}c[b+780>>2]=0}a[b+784>>0]=1;c[b+780>>2]=j;c[b+776>>2]=o;i=c[b+772>>2]|0}m=c[b+780>>2]|0;c[m+(i*104|0)>>2]=0;c[m+(i*104|0)+4>>2]=p;m=m+(i*104|0)+8|0;l=q;n=m+96|0;do{c[m>>2]=c[l>>2];m=m+4|0;l=l+4|0}while((m|0)<(n|0));p=c[b+772>>2]|0;c[b+772>>2]=p+1;o=c[b+780>>2]|0;k=c[b+720>>2]|0;c[o+(p*104|0)+8>>2]=k+(d*104|0);n=c[b+720>>2]|0;c[o+(p*104|0)+12>>2]=n+(e*104|0);l=c[b+720>>2]|0;c[o+(p*104|0)+16>>2]=l+(g*104|0);m=c[b+720>>2]|0;c[o+(p*104|0)+20>>2]=m+(h*104|0);y=+f[k+(d*104|0)+8>>2];v=+f[k+(d*104|0)+12>>2];z=+f[k+(d*104|0)+16>>2];s=+f[l+(g*104|0)+8>>2]-y;x=+f[l+(g*104|0)+12>>2]-v;u=+f[l+(g*104|0)+16>>2]-z;t=+f[m+(h*104|0)+8>>2]-y;w=+f[m+(h*104|0)+12>>2]-v;r=+f[m+(h*104|0)+16>>2]-z;f[o+(p*104|0)+24>>2]=(+f[n+(e*104|0)+16>>2]-z)*(s*w-x*t)+((+f[n+(e*104|0)+8>>2]-y)*(x*r-u*w)+(+f[n+(e*104|0)+12>>2]-v)*(u*t-s*r));a[b+924>>0]=1;Ta=q;return}function If(b,d,e,g){b=b|0;d=d|0;e=e|0;g=g|0;var h=0.0;g=Ta;Ta=Ta+784|0;c[g+712>>2]=1065353216;c[g+712+4>>2]=0;c[g+712+4+4>>2]=0;c[g+712+4+8>>2]=0;c[g+712+4+12>>2]=0;c[g+712+20>>2]=1065353216;c[g+712+24>>2]=0;c[g+712+24+4>>2]=0;c[g+712+24+8>>2]=0;c[g+712+24+12>>2]=0;c[g+712+40>>2]=1065353216;e=g+712+44|0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;c[e+16>>2]=0;c[g+536>>2]=4888;c[g+536+168>>2]=0;f[g+536+172>>2]=0.0;c[g+536+164>>2]=c[b+200>>2];e=c[b+196>>2]|0;c[g+480+8>>2]=0;c[g+480+12>>2]=1065353216;c[g+480+16>>2]=1065353216;c[g+480+20>>2]=1065353216;f[g+480+24>>2]=0.0;c[g+480>>2]=8108;c[g+480+4>>2]=8;c[g+480+28>>2]=e;c[g+480+44>>2]=e;c[g+376+8>>2]=0;c[g+376+12>>2]=1065353216;c[g+376+16>>2]=1065353216;c[g+376+20>>2]=1065353216;f[g+376+24>>2]=0.0;f[g+376+44>>2]=.03999999910593033;c[g+376+52>>2]=0;c[g+376>>2]=4916;c[g+376+4>>2]=1;c[g+376+56>>2]=c[d>>2];c[g+376+56+4>>2]=c[d+4>>2];c[g+376+56+8>>2]=c[d+8>>2];c[g+376+56+12>>2]=c[d+12>>2];c[g+376+72>>2]=c[d+16>>2];c[g+376+72+4>>2]=c[d+16+4>>2];c[g+376+72+8>>2]=c[d+16+8>>2];c[g+376+72+12>>2]=c[d+16+12>>2];c[g+376+88>>2]=c[d+32>>2];c[g+376+88+4>>2]=c[d+32+4>>2];c[g+376+88+8>>2]=c[d+32+8>>2];c[g+376+88+12>>2]=c[d+32+12>>2];f[g+16+308>>2]=9.999999747378752e-05;a[g+16+332>>0]=0;c[g>>2]=6280;c[g+4>>2]=g+16;c[g+8>>2]=g+480;c[g+12>>2]=g+376;if(Uc(g,b+4|0,b+68|0,g+712|0,g+712|0,g+536|0)|0?(h=+f[g+536+164>>2],+f[b+200>>2]>h):0)f[b+200>>2]=h;c[g+376>>2]=8560;e=c[g+376+52>>2]|0;if(!e){Ta=g;return}pb[c[c[e>>2]>>2]&511](e);e=c[g+376+52>>2]|0;if(!e){Ta=g;return}c[6880]=(c[6880]|0)+1;kd(c[e+-4>>2]|0);Ta=g;return}function Jf(d,e,f,g,h,i,j,k,l){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;var m=0,n=0;n=Ta;Ta=Ta+48|0;c[6879]=(c[6879]|0)+1;g=Zb(83)|0;if(!g)m=0;else{c[(g+4+15&-16)+-4>>2]=g;m=g+4+15&-16}c[m>>2]=h;b[m+4>>1]=i;b[m+6>>1]=j;i=m+16|0;c[i>>2]=c[e>>2];c[i+4>>2]=c[e+4>>2];c[i+8>>2]=c[e+8>>2];c[i+12>>2]=c[e+12>>2];i=m+32|0;c[i>>2]=c[f>>2];c[i+4>>2]=c[f+4>>2];c[i+8>>2]=c[f+8>>2];c[i+12>>2]=c[f+12>>2];c[m+8>>2]=0;i=m+56|0;c[i>>2]=0;j=m+52|0;c[j>>2]=0;c[n+16>>2]=c[e>>2];c[n+16+4>>2]=c[e+4>>2];c[n+16+8>>2]=c[e+8>>2];c[n+16+12>>2]=c[e+12>>2];c[n+16+16>>2]=c[f>>2];c[n+16+16+4>>2]=c[f+4>>2];c[n+16+16+8>>2]=c[f+8>>2];c[n+16+16+12>>2]=c[f+12>>2];c[m+60>>2]=c[d+144>>2];g=(c[d+188>>2]|0)+1|0;c[d+188>>2]=g;c[m+12>>2]=g;g=c[d+8>>2]|0;if(!g){c[6879]=(c[6879]|0)+1;g=Zb(63)|0;if(!g)g=0;else{c[(g+4+15&-16)+-4>>2]=g;g=g+4+15&-16}k=g;l=k+44|0;do{c[k>>2]=0;k=k+4|0}while((k|0)<(l|0))}else c[d+8>>2]=0;c[g+32>>2]=0;c[g+36>>2]=m;c[g+40>>2]=0;c[g>>2]=c[n+16>>2];c[g+4>>2]=c[n+16+4>>2];c[g+8>>2]=c[n+16+8>>2];c[g+12>>2]=c[n+16+12>>2];c[g+16>>2]=c[n+16+16>>2];c[g+20>>2]=c[n+16+20>>2];c[g+24>>2]=c[n+16+24>>2];c[g+28>>2]=c[n+16+28>>2];bf(d+4|0,c[d+4>>2]|0,g);c[d+16>>2]=(c[d+16>>2]|0)+1;c[m+48>>2]=g;k=d+124+(c[d+144>>2]<<2)|0;c[j>>2]=0;c[i>>2]=c[k>>2];g=c[k>>2]|0;if(g|0)c[g+52>>2]=m;c[k>>2]=m;if(a[d+193>>0]|0){Ta=n;return m|0}c[n>>2]=10516;c[n+4>>2]=d;c[n+8>>2]=m;Re(c[d+4>>2]|0,n+16|0,n);Re(c[d+64>>2]|0,n+16|0,n);Ta=n;return m|0}function Kf(a,b,d){a=a|0;b=+b;d=+d;var e=0.0,g=0.0,h=0.0,i=0.0,j=0.0,k=0.0,l=0,m=0,n=0,o=0,p=0.0,q=0,r=0,s=0,t=0,u=0.0,v=0.0,w=0.0,x=0,y=0.0;x=c[a+832>>2]|0;if((x|0)<=0)return;a=c[a+840>>2]|0;q=0;do{l=c[a+(q*56|0)>>2]|0;o=c[a+(q*56|0)+4>>2]|0;m=c[o+8>>2]|0;n=c[o+12>>2]|0;o=c[o+16>>2]|0;r=a+(q*56|0)+8|0;j=+f[r>>2];s=a+(q*56|0)+12|0;i=+f[s>>2];t=a+(q*56|0)+16|0;v=+f[t>>2];b=+f[m+8>>2]*j+ +f[n+8>>2]*i+ +f[o+8>>2]*v;e=+f[m+12>>2]*j+ +f[n+12>>2]*i+ +f[o+12>>2]*v;d=+f[m+16>>2]*j+ +f[n+16>>2]*i+ +f[o+16>>2]*v;p=+f[l+8>>2];g=+f[l+12>>2];h=+f[l+16>>2];u=p-+f[l+24>>2]-(b-(j*+f[m+24>>2]+i*+f[n+24>>2]+v*+f[o+24>>2]));w=g-+f[l+28>>2]-(e-(j*+f[m+28>>2]+i*+f[n+28>>2]+v*+f[o+28>>2]));v=h-+f[l+32>>2]-(d-(j*+f[m+32>>2]+i*+f[n+32>>2]+v*+f[o+32>>2]));i=+f[a+(q*56|0)+24>>2];j=+f[a+(q*56|0)+28>>2];k=+f[a+(q*56|0)+32>>2];if(u*i+w*j+v*k<0.0){e=+f[a+(q*56|0)+40>>2]-(p*i+g*j+h*k-(b*i+e*j+d*k));b=i*e+0.0;d=j*e+0.0;e=k*e+0.0}else{b=0.0;d=0.0;e=0.0}y=+f[a+(q*56|0)+44>>2];b=b-y*(u-i*(u*i+w*j+v*k));d=d-y*(w-j*(u*i+w*j+v*k));v=e-y*(v-k*(u*i+w*j+v*k));w=+f[a+(q*56|0)+48>>2];f[l+8>>2]=p+w*b;f[l+12>>2]=g+w*d;f[l+16>>2]=h+w*v;l=a+(q*56|0)+52|0;w=+f[l>>2]*+f[r>>2];f[m+8>>2]=+f[m+8>>2]-b*w;f[m+12>>2]=+f[m+12>>2]-d*w;f[m+16>>2]=+f[m+16>>2]-v*w;w=+f[l>>2]*+f[s>>2];f[n+8>>2]=+f[n+8>>2]-b*w;f[n+12>>2]=+f[n+12>>2]-d*w;f[n+16>>2]=+f[n+16>>2]-v*w;w=+f[l>>2]*+f[t>>2];f[o+8>>2]=+f[o+8>>2]-b*w;f[o+12>>2]=+f[o+12>>2]-d*w;f[o+16>>2]=+f[o+16>>2]-v*w;q=q+1|0}while((q|0)!=(x|0));return}function Lf(b,d,e,g,h){b=b|0;d=d|0;e=e|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0;k=Ta;Ta=Ta+160|0;i=c[b+12>>2]|0;if(!i){Ta=k;return}l=(a[b+16>>0]|0)!=0;m=l?e:d;e=l?d:e;o=c[m+4>>2]|0;n=c[e+4>>2]|0;c[h+4>>2]=i;d=c[i+752>>2]|0;c[k+136>>2]=10916;c[k+136+4>>2]=o;c[k+136+8>>2]=n;c[k+136+12>>2]=d;f[k+128>>2]=999999984306749440.0;d=c[m+12>>2]|0;c[k>>2]=c[d>>2];c[k+4>>2]=c[d+4>>2];c[k+8>>2]=c[d+8>>2];c[k+12>>2]=c[d+12>>2];c[k+16>>2]=c[d+16>>2];c[k+16+4>>2]=c[d+16+4>>2];c[k+16+8>>2]=c[d+16+8>>2];c[k+16+12>>2]=c[d+16+12>>2];c[k+32>>2]=c[d+32>>2];c[k+32+4>>2]=c[d+32+4>>2];c[k+32+8>>2]=c[d+32+8>>2];c[k+32+12>>2]=c[d+32+12>>2];c[k+48>>2]=c[d+48>>2];c[k+48+4>>2]=c[d+48+4>>2];c[k+48+8>>2]=c[d+48+8>>2];c[k+48+12>>2]=c[d+48+12>>2];e=c[e+12>>2]|0;c[k+64>>2]=c[e>>2];c[k+64+4>>2]=c[e+4>>2];c[k+64+8>>2]=c[e+8>>2];c[k+64+12>>2]=c[e+12>>2];c[k+80>>2]=c[e+16>>2];c[k+80+4>>2]=c[e+16+4>>2];c[k+80+8>>2]=c[e+16+8>>2];c[k+80+12>>2]=c[e+16+12>>2];c[k+96>>2]=c[e+32>>2];c[k+96+4>>2]=c[e+32+4>>2];c[k+96+8>>2]=c[e+32+8>>2];c[k+96+12>>2]=c[e+32+12>>2];c[k+112>>2]=c[e+48>>2];c[k+112+4>>2]=c[e+48+4>>2];c[k+112+8>>2]=c[e+48+8>>2];c[k+112+12>>2]=c[e+48+12>>2];Kd(k+136|0,k,h,c[g+20>>2]|0,l);do if(a[b+8>>0]|0?(j=c[h+4>>2]|0,c[j+748>>2]|0):0){i=c[j+740>>2]|0;d=c[(c[h+8>>2]|0)+8>>2]|0;if((i|0)==(d|0)){ye(j,i+4|0,(c[(c[h+12>>2]|0)+8>>2]|0)+4|0);break}else{ye(j,(c[(c[h+12>>2]|0)+8>>2]|0)+4|0,d+4|0);break}}while(0);Ta=k;return}function Mf(b,d,e,g,h){b=b|0;d=d|0;e=e|0;g=g|0;h=h|0;var i=0.0,j=0.0,k=0.0,l=0.0,m=0.0,n=0.0,o=0.0;g=Ta;Ta=Ta+608|0;o=+f[d+116>>2]-+f[d+52>>2];n=+f[d+120>>2]-+f[d+56>>2];m=+f[d+124>>2]-+f[d+60>>2];i=+f[e+116>>2]-+f[e+52>>2];k=+f[e+120>>2]-+f[e+56>>2];j=+f[e+124>>2]-+f[e+60>>2];l=+f[d+252>>2];if(o*o+n*n+m*m>2],i*i+k*k+j*j>2]|0;h=c[e+248>>2]|0;c[g+552+8>>2]=0;c[g+552+12>>2]=1065353216;c[g+552+16>>2]=1065353216;c[g+552+20>>2]=1065353216;f[g+552+24>>2]=0.0;c[g+552>>2]=8108;c[g+552+4>>2]=8;c[g+552+28>>2]=h;c[g+552+44>>2]=h;c[g+376>>2]=4888;f[g+376+164>>2]=999999984306749440.0;c[g+376+168>>2]=0;f[g+376+172>>2]=0.0;f[g+16+308>>2]=9.999999747378752e-05;a[g+16+332>>0]=0;c[g>>2]=10752;c[g+4>>2]=g+16;c[g+8>>2]=b;c[g+12>>2]=g+552;if(od(g,d+4|0,d+68|0,e+4|0,e+68|0,g+376|0)|0){i=+f[g+376+164>>2];if(+f[d+244>>2]>i)f[d+244>>2]=i;if(+f[e+244>>2]>i)f[e+244>>2]=i;if(i<1.0)j=i;else j=1.0}else j=1.0;b=c[e+192>>2]|0;h=c[d+248>>2]|0;c[g+552+8>>2]=0;c[g+552+12>>2]=1065353216;c[g+552+16>>2]=1065353216;c[g+552+20>>2]=1065353216;f[g+552+24>>2]=0.0;c[g+552>>2]=8108;c[g+552+4>>2]=8;c[g+552+28>>2]=h;c[g+552+44>>2]=h;c[g+376>>2]=4888;f[g+376+164>>2]=999999984306749440.0;c[g+376+168>>2]=0;f[g+376+172>>2]=0.0;f[g+16+308>>2]=9.999999747378752e-05;a[g+16+332>>0]=0;c[g>>2]=10752;c[g+4>>2]=g+16;c[g+8>>2]=g+552;c[g+12>>2]=b;if(od(g,d+4|0,d+68|0,e+4|0,e+68|0,g+376|0)|0){i=+f[g+376+164>>2];if(+f[d+244>>2]>i)f[d+244>>2]=i;if(+f[e+244>>2]>i)f[e+244>>2]=i;if(!(j>i))i=j}else i=j;o=i;Ta=g;return +o}function Nf(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;e=c[a+56>>2]|0;if(!e){e=c[a+52>>2]|0;if(!e){c[6879]=(c[6879]|0)+1;e=Zb(31)|0;if(!e)e=0;else{c[(e+4+15&-16)+-4>>2]=e;e=e+4+15&-16}f=c[a+60>>2]|0;c[e+4>>2]=f;g=e+8|0;c[g>>2]=0;c[6879]=(c[6879]|0)+1;f=Zb((f*24|3)+16|0)|0;if(!f)f=0;else{c[(f+4+15&-16)+-4>>2]=f;f=f+4+15&-16}c[e>>2]=f;c[g>>2]=c[a+48>>2];c[a+48>>2]=e}else c[a+52>>2]=c[e+8>>2];h=c[e>>2]|0;e=c[e+4>>2]|0;if((e|0)>0?(c[h>>2]=(e|0)!=1?h+24|0:0,(e|0)!=1):0){f=1;g=h+24|0;do{f=f+1|0;i=(f|0)<(e|0);j=g;g=g+24|0;c[j>>2]=i?g:0}while(i)}}else h=e;c[a+56>>2]=c[h>>2];c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;c[h+16>>2]=0;c[h+20>>2]=0;e=c[a+56>>2]|0;if(!e){e=c[a+52>>2]|0;if(!e){c[6879]=(c[6879]|0)+1;e=Zb(31)|0;if(!e)f=0;else{c[(e+4+15&-16)+-4>>2]=e;f=e+4+15&-16}e=c[a+60>>2]|0;c[f+4>>2]=e;g=f+8|0;c[g>>2]=0;c[6879]=(c[6879]|0)+1;e=Zb((e*24|3)+16|0)|0;if(!e)e=0;else{c[(e+4+15&-16)+-4>>2]=e;e=e+4+15&-16}c[f>>2]=e;c[g>>2]=c[a+48>>2];c[a+48>>2]=f}else{c[a+52>>2]=c[e+8>>2];f=e}e=c[f>>2]|0;f=c[f+4>>2]|0;if((f|0)>0?(c[e>>2]=(f|0)!=1?e+24|0:0,(f|0)!=1):0){g=1;i=e+24|0;do{g=g+1|0;j=(g|0)<(f|0);k=i;i=i+24|0;c[k>>2]=j?i:0}while(j)}}c[a+56>>2]=c[e>>2];k=e;c[k>>2]=0;c[k+4>>2]=0;c[h+8>>2]=e;c[e+8>>2]=h;k=c[a+100>>2]|0;c[h+20>>2]=k;c[e+20>>2]=k;c[h+12>>2]=d;c[e+12>>2]=b;c[h+16>>2]=0;c[e+16>>2]=0;e=c[a+116>>2]|0;c[a+116>>2]=e+1;if((e|0)<(c[a+120>>2]|0))return h|0;c[a+120>>2]=e+1;return h|0}function Of(a,d){a=a|0;d=d|0;var e=0,g=0,h=0,i=0.0,j=0.0,k=0.0,l=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0,C=0.0,D=0.0,E=0.0,F=0;e=Ta;Ta=Ta+128|0;F=c[(c[a+8>>2]|0)+24>>2]|0;h=c[F+(d*80|0)+64>>2]|0;g=c[a+12>>2]|0;w=+f[F+(d*80|0)>>2];C=+f[g>>2];v=+f[F+(d*80|0)+16>>2];B=+f[g+4>>2];u=+f[F+(d*80|0)+32>>2];A=+f[g+8>>2];t=+f[F+(d*80|0)+4>>2];s=+f[F+(d*80|0)+20>>2];r=+f[F+(d*80|0)+36>>2];q=+f[F+(d*80|0)+8>>2];o=+f[F+(d*80|0)+24>>2];m=+f[F+(d*80|0)+40>>2];z=+f[g+16>>2];y=+f[g+20>>2];x=+f[g+24>>2];p=+f[g+32>>2];n=+f[g+36>>2];l=+f[g+40>>2];E=+f[F+(d*80|0)+48>>2];D=+f[F+(d*80|0)+52>>2];i=+f[F+(d*80|0)+56>>2];k=+f[g+48>>2]+(C*E+B*D+A*i);j=z*E+y*D+x*i+ +f[g+52>>2];i=p*E+n*D+l*i+ +f[g+56>>2];f[e+56>>2]=w*C+v*B+u*A;f[e+56+4>>2]=C*t+B*s+A*r;f[e+56+8>>2]=C*q+B*o+A*m;f[e+56+12>>2]=0.0;f[e+56+16>>2]=w*z+v*y+u*x;f[e+56+20>>2]=t*z+s*y+r*x;f[e+56+24>>2]=q*z+o*y+m*x;f[e+56+28>>2]=0.0;f[e+56+32>>2]=w*p+v*n+u*l;f[e+56+36>>2]=t*p+s*n+r*l;f[e+56+40>>2]=q*p+o*n+m*l;f[e+56+44>>2]=0.0;f[e+56+48>>2]=k;f[e+56+52>>2]=j;f[e+56+56>>2]=i;f[e+56+60>>2]=0.0;g=c[a+4>>2]|0;c[e+32>>2]=0;c[e+32+4>>2]=h;c[e+32+8>>2]=g;c[e+32+12>>2]=e+56;c[e+32+16>>2]=-1;c[e+32+20>>2]=d;g=c[a+24>>2]|0;f[e+4>>2]=1.0;c[e+8>>2]=0;b[e+12>>1]=1;b[e+14>>1]=-1;c[e+16>>2]=0;c[e>>2]=7132;c[e+20>>2]=g;c[e+24>>2]=d;c[e+4>>2]=c[g+4>>2];c[e+16>>2]=c[g+16>>2];Cc(c[a+16>>2]|0,c[a+20>>2]|0,e+32|0,e);Ta=e;return}function Pf(b,d,e,g,h,i,j,k,l){b=b|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0,q=0;q=Ta;Ta=Ta+80|0;f[q+16+60>>2]=0.0;f[q+16+8>>2]=0.0;f[q+16+12>>2]=.10000000149011612;f[q+16+16>>2]=300.0;f[q+16>>2]=1.0;f[q+16+4>>2]=-1.0;f[q+16+28>>2]=0.0;f[q+16+32>>2]=.20000000298023224;f[q+16+36>>2]=0.0;f[q+16+40>>2]=0.0;f[q+16+20>>2]=1.0;f[q+16+24>>2]=.5;c[q+16+56>>2]=0;f[q+16+48>>2]=0.0;a[q+16+44>>0]=0;o=0;do{n=c[b+856+(o<<2)>>2]|0;m=a[b+788+o>>0]|0;if(!n){if(m<<24>>24){m=1;p=5}}else p=5;if((p|0)==5){p=0;f[q+16+40>>2]=0.0;c[q+16+56>>2]=n;c[q+16+52>>2]=c[b+840+(o<<2)>>2];c[q+16+48>>2]=c[b+824+(o<<2)>>2];c[q+16+20>>2]=c[b+732>>2];a[q+16+44>>0]=m;c[q+16+4>>2]=c[b+696+(o<<2)>>2];c[q+16+24>>2]=c[b+728>>2];c[q+16>>2]=c[b+680+(o<<2)>>2];f[q+16+16>>2]=0.0;c[q+16+12>>2]=c[b+808+(o<<2)>>2];c[q+16+8>>2]=c[b+792+(o<<2)>>2];c[q>>2]=c[b+1064+(o<<2)>>2];c[q+4>>2]=c[b+1080+(o<<2)>>2];c[q+8>>2]=c[b+1096+(o<<2)>>2];f[q+12>>2]=0.0;n=c[b+1304>>2]|0;m=o*3|0;n=m?n>>m:n;if(!(n&1))m=c[d+32>>2]|0;else m=b+740+(o<<2)|0;c[q+16+28>>2]=c[m>>2];if(!(n&2))m=c[d+32>>2]|0;else m=b+772+(o<<2)|0;c[q+16+36>>2]=c[m>>2];c[q+16+32>>2]=c[((n&4|0)==0?d+4|0:b+756+(o<<2)|0)>>2];if(a[b+1301>>0]|0){n=o+1|0;if(!(c[b+868+(((n|0)==3?0:n)<<6)+56>>2]|0))m=1;else m=(c[b+868+((((o+2|0)>>>0)%3|0)<<6)+56>>2]|0)==0&1}else m=0;e=(nd(b,q+16|0,g,h,i,j,k,l,d,e,q,0,m)|0)+e|0}o=o+1|0}while((o|0)!=3);Ta=q;return e|0}function Qf(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var g=0.0,h=0,i=0,j=0,k=0.0,l=0.0,m=0.0,n=0.0,o=0.0,p=0;i=Ta;Ta=Ta+80|0;g=+Wa[c[(c[a>>2]|0)+48>>2]&31](a);h=0;do{p=i+64+(h<<2)|0;c[i+64>>2]=0;c[i+64+4>>2]=0;c[i+64+8>>2]=0;c[i+64+12>>2]=0;f[p>>2]=1.0;j=c[(c[a>>2]|0)+64>>2]|0;k=+f[i+64>>2];l=+f[i+64+4>>2];m=+f[i+64+8>>2];n=k*+f[b+4>>2]+l*+f[b+20>>2]+m*+f[b+36>>2];o=k*+f[b+8>>2]+l*+f[b+24>>2]+m*+f[b+40>>2];f[i+32>>2]=+f[b>>2]*k+ +f[b+16>>2]*l+ +f[b+32>>2]*m;f[i+32+4>>2]=n;f[i+32+8>>2]=o;f[i+32+12>>2]=0.0;zb[j&127](i+48|0,a,i+32|0);o=+f[i+48>>2];n=+f[i+48+4>>2];m=+f[i+48+8>>2];l=o*+f[b+16>>2]+n*+f[b+20>>2]+m*+f[b+24>>2]+ +f[b+52>>2];k=o*+f[b+32>>2]+n*+f[b+36>>2]+m*+f[b+40>>2]+ +f[b+56>>2];f[i+32>>2]=o*+f[b>>2]+n*+f[b+4>>2]+m*+f[b+8>>2]+ +f[b+48>>2];f[i+32+4>>2]=l;f[i+32+8>>2]=k;f[i+32+12>>2]=0.0;j=i+32+(h<<2)|0;f[e+(h<<2)>>2]=g+ +f[j>>2];f[p>>2]=-1.0;p=c[(c[a>>2]|0)+64>>2]|0;k=+f[i+64>>2];l=+f[i+64+4>>2];m=+f[i+64+8>>2];n=k*+f[b+4>>2]+l*+f[b+20>>2]+m*+f[b+36>>2];o=k*+f[b+8>>2]+l*+f[b+24>>2]+m*+f[b+40>>2];f[i>>2]=+f[b>>2]*k+ +f[b+16>>2]*l+ +f[b+32>>2]*m;f[i+4>>2]=n;f[i+8>>2]=o;f[i+12>>2]=0.0;zb[p&127](i+16|0,a,i);o=+f[i+16>>2];n=+f[i+16+4>>2];m=+f[i+16+8>>2];l=o*+f[b+16>>2]+n*+f[b+20>>2]+m*+f[b+24>>2]+ +f[b+52>>2];k=o*+f[b+32>>2]+n*+f[b+36>>2]+m*+f[b+40>>2]+ +f[b+56>>2];f[i+32>>2]=o*+f[b>>2]+n*+f[b+4>>2]+m*+f[b+8>>2]+ +f[b+48>>2];f[i+32+4>>2]=l;f[i+32+8>>2]=k;f[i+32+12>>2]=0.0;f[d+(h<<2)>>2]=+f[j>>2]-g;h=h+1|0}while((h|0)!=3);Ta=i;return}function Rf(b,d,e,g,h){b=b|0;d=d|0;e=e|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0;k=Ta;Ta=Ta+144|0;i=c[b+12>>2]|0;if(!i){Ta=k;return}m=c[d+4>>2]|0;l=c[e+4>>2]|0;c[h+4>>2]=i;f[k+12+128>>2]=999999984306749440.0;d=c[d+12>>2]|0;c[k+12>>2]=c[d>>2];c[k+12+4>>2]=c[d+4>>2];c[k+12+8>>2]=c[d+8>>2];c[k+12+12>>2]=c[d+12>>2];c[k+12+16>>2]=c[d+16>>2];c[k+12+16+4>>2]=c[d+16+4>>2];c[k+12+16+8>>2]=c[d+16+8>>2];c[k+12+16+12>>2]=c[d+16+12>>2];c[k+12+32>>2]=c[d+32>>2];c[k+12+32+4>>2]=c[d+32+4>>2];c[k+12+32+8>>2]=c[d+32+8>>2];c[k+12+32+12>>2]=c[d+32+12>>2];c[k+12+48>>2]=c[d+48>>2];c[k+12+48+4>>2]=c[d+48+4>>2];c[k+12+48+8>>2]=c[d+48+8>>2];c[k+12+48+12>>2]=c[d+48+12>>2];e=c[e+12>>2]|0;c[k+12+64>>2]=c[e>>2];c[k+12+64+4>>2]=c[e+4>>2];c[k+12+64+8>>2]=c[e+8>>2];c[k+12+64+12>>2]=c[e+12>>2];c[k+12+80>>2]=c[e+16>>2];c[k+12+80+4>>2]=c[e+16+4>>2];c[k+12+80+8>>2]=c[e+16+8>>2];c[k+12+80+12>>2]=c[e+16+12>>2];c[k+12+96>>2]=c[e+32>>2];c[k+12+96+4>>2]=c[e+32+4>>2];c[k+12+96+8>>2]=c[e+32+8>>2];c[k+12+96+12>>2]=c[e+32+12>>2];c[k+12+112>>2]=c[e+48>>2];c[k+12+112+4>>2]=c[e+48+4>>2];c[k+12+112+8>>2]=c[e+48+8>>2];c[k+12+112+12>>2]=c[e+48+12>>2];c[k>>2]=10896;c[k+4>>2]=m;c[k+8>>2]=l;Xb(k,k+12|0,h,c[g+20>>2]|0,0);do if(a[b+8>>0]|0?(j=c[h+4>>2]|0,c[j+748>>2]|0):0){d=c[j+740>>2]|0;i=c[(c[h+8>>2]|0)+8>>2]|0;if((d|0)==(i|0)){ye(j,d+4|0,(c[(c[h+12>>2]|0)+8>>2]|0)+4|0);break}else{ye(j,(c[(c[h+12>>2]|0)+8>>2]|0)+4|0,i+4|0);break}}while(0);Ta=k;return}function Sf(a){a=a|0;var b=0,d=0,e=0,g=0,h=0,i=0,j=0.0,k=0.0,l=0.0,m=0.0,n=0.0,o=0.0,p=0,q=0;b=c[a+752>>2]|0;if((b|0)>0){d=c[a+760>>2]|0;e=0;do{g=c[d+(e*44|0)+8>>2]|0;h=c[d+(e*44|0)+12>>2]|0;i=c[d+(e*44|0)+16>>2]|0;l=+f[g+8>>2];n=+f[g+12>>2];j=+f[g+16>>2];k=+f[h+8>>2]-l;o=+f[h+12>>2]-n;m=+f[h+16>>2]-j;l=+f[i+8>>2]-l;n=+f[i+12>>2]-n;j=+f[i+16>>2]-j;f[d+(e*44|0)+36>>2]=+s(+((k*n-o*l)*(k*n-o*l)+((o*j-m*n)*(o*j-m*n)+(m*l-k*j)*(m*l-k*j))));e=e+1|0}while((e|0)!=(b|0))}d=c[a+712>>2]|0;if((d|0)>0){c[6879]=(c[6879]|0)+1;b=Zb((d<<2|3)+16|0)|0;if(!b)g=0;else{c[(b+4+15&-16)+-4>>2]=b;g=b+4+15&-16}el(g|0,0,d<<2|0)|0;d=c[a+712>>2]|0;if((d|0)>0){b=c[a+720>>2]|0;e=0;do{f[b+(e*104|0)+92>>2]=0.0;e=e+1|0}while((e|0)!=(d|0));i=g;h=g}else{i=g;h=g}}else{i=0;h=0}g=c[a+752>>2]|0;if((g|0)>0){b=c[a+760>>2]|0;d=c[a+720>>2]|0;e=0;do{o=+r(+(+f[b+(e*44|0)+36>>2]));p=c[b+(e*44|0)+8>>2]|0;q=h+(((p-d|0)/104|0)<<2)|0;c[q>>2]=(c[q>>2]|0)+1;f[p+92>>2]=o+ +f[p+92>>2];p=c[b+(e*44|0)+12>>2]|0;q=h+(((p-d|0)/104|0)<<2)|0;c[q>>2]=(c[q>>2]|0)+1;f[p+92>>2]=o+ +f[p+92>>2];p=c[b+(e*44|0)+16>>2]|0;q=h+(((p-d|0)/104|0)<<2)|0;c[q>>2]=(c[q>>2]|0)+1;f[p+92>>2]=o+ +f[p+92>>2];e=e+1|0}while((e|0)!=(g|0));d=c[a+712>>2]|0}if((d|0)>0){e=0;do{b=c[h+(e<<2)>>2]|0;if((b|0)>0){q=(c[a+720>>2]|0)+(e*104|0)+92|0;f[q>>2]=+f[q>>2]/+(b|0)}else f[(c[a+720>>2]|0)+(e*104|0)+92>>2]=0.0;e=e+1|0}while((e|0)!=(d|0));if(!i)return}else if((h|0)==0|(i|0)==0)return;c[6880]=(c[6880]|0)+1;kd(c[i+-4>>2]|0);return}function Tf(b,d,e,g,h){b=b|0;d=d|0;e=e|0;g=g|0;h=+h;var i=0,j=0,k=0,l=0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0,B=0;B=Ta;Ta=Ta+96|0;m=+f[e+4>>2];s=+f[e+20>>2];t=+f[e+36>>2];u=+f[e+8>>2];v=+f[e+24>>2];w=+f[e+40>>2];x=+f[e+12>>2];n=+f[e+28>>2];o=+f[e+44>>2];y=-+f[e+52>>2];z=-+f[e+56>>2];A=-+f[e+60>>2];k=c[b+720>>2]|0;p=+f[k+(d*104|0)+8>>2];q=+f[k+(d*104|0)+12>>2];r=+f[k+(d*104|0)+16>>2];a:do if(g){g=c[b+268>>2]|0;b:do if((g|0)>0){j=c[b+276>>2]|0;i=0;while(1){if((c[j+(i<<2)>>2]|0)==(e|0))break;i=i+1|0;if((i|0)>=(g|0))break b}if((i|0)!=(g|0)){g=k;break a}}while(0);if((g|0)==(c[b+272>>2]|0)?(l=(g|0)==0?1:g<<1,(g|0)<(l|0)):0){if(!l)i=0;else{c[6879]=(c[6879]|0)+1;g=Zb((l<<2|3)+16|0)|0;if(!g)i=0;else{c[(g+4+15&-16)+-4>>2]=g;i=g+4+15&-16}g=c[b+268>>2]|0}if((g|0)>0){j=0;do{c[i+(j<<2)>>2]=c[(c[b+276>>2]|0)+(j<<2)>>2];j=j+1|0}while((j|0)!=(g|0))}j=c[b+276>>2]|0;if(j){if(a[b+280>>0]|0){c[6880]=(c[6880]|0)+1;kd(c[j+-4>>2]|0);g=c[b+268>>2]|0}c[b+276>>2]=0}a[b+280>>0]=1;c[b+276>>2]=i;c[b+272>>2]=l}c[(c[b+276>>2]|0)+(g<<2)>>2]=e;c[b+268>>2]=g+1;g=c[b+720>>2]|0}else g=k;while(0);c[B>>2]=g+(d*104|0);c[B+20>>2]=e;f[B+4>>2]=m*y+s*z+t*A+(m*p+s*q+t*r);f[B+8>>2]=u*y+v*z+w*A+(u*p+v*q+w*r);f[B+12>>2]=x*y+n*z+o*A+(x*p+n*q+o*r);f[B+16>>2]=0.0;d=g+(d*104|0)+100|0;a[d>>0]=a[d>>0]|1;f[B+24>>2]=h;Wn(b+788|0,B);Ta=B;return}function Uf(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var g=0.0,h=0.0,i=0.0,j=0.0,k=0.0,l=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0,B=0,C=0.0,D=0.0,E=0.0,F=0.0,G=0.0,H=0;H=Ta;Ta=Ta+32|0;j=+f[b+16>>2];g=+f[b>>2];k=+f[b+20>>2];h=+f[b+4>>2];n=+f[b+24>>2];i=+f[b+8>>2];t=+f[b+32>>2];x=+f[b+36>>2];y=+f[b+40>>2];E=(k-h)*(y-i)-(n-i)*(x-h);F=(n-i)*(t-g)-(j-g)*(y-i);G=(j-g)*(x-h)-(k-h)*(t-g);f[H+16>>2]=E;f[H+16+4>>2]=F;f[H+16+8>>2]=G;f[H+16+12>>2]=0.0;o=+f[a+4>>2];q=+f[a+8>>2];v=+f[a+12>>2];D=E*o+F*q+G*v-(i*G+(g*E+h*F));m=+f[a+20>>2];r=+f[a+24>>2];w=+f[a+28>>2];if(D*(E*m+F*r+G*w-(i*G+(g*E+h*F)))>=0.0){Ta=H;return}B=c[a+36>>2]|0;if(D<=0.0&(B&1|0)!=0){Ta=H;return}C=D/(D-(E*m+F*r+G*w-(i*G+(g*E+h*F))));if(!(C<+f[a+40>>2])){Ta=H;return}A=(G*G+(E*E+F*F))*-9.999999747378752e-05;z=g-(m*C+o*(1.0-C));u=h-(r*C+q*(1.0-C));p=i-(w*C+v*(1.0-C));l=j-(m*C+o*(1.0-C));k=k-(r*C+q*(1.0-C));j=n-(w*C+v*(1.0-C));if(!(G*(k*z-u*l)+(E*(u*j-p*k)+F*(p*l-j*z))>=A)){Ta=H;return}i=t-(m*C+o*(1.0-C));h=x-(r*C+q*(1.0-C));g=y-(w*C+v*(1.0-C));if(!(G*(h*l-k*i)+(E*(k*g-j*h)+F*(j*i-g*l))>=A)){Ta=H;return}if(!(G*(u*i-h*z)+(E*(h*p-g*u)+F*(g*z-p*i))>=A)){Ta=H;return}g=1.0/+s(+(G*G+(E*E+F*F)));f[H+16>>2]=E*g;f[H+16+4>>2]=F*g;f[H+16+8>>2]=G*g;b=c[(c[a>>2]|0)+12>>2]|0;if(D<=0.0&(B&2|0)==0){f[H>>2]=-(E*g);f[H+4>>2]=-(F*g);f[H+8>>2]=-(G*g);f[H+12>>2]=0.0;f[a+40>>2]=+Ya[b&31](a,H,C,d,e);Ta=H;return}else{f[a+40>>2]=+Ya[b&31](a,H+16|0,C,d,e);Ta=H;return}}function Vf(b,d,e,g,h){b=b|0;d=d|0;e=e|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0.0,r=0.0,t=0.0,u=0.0,v=0.0,w=0.0;p=Ta;Ta=Ta+48|0;if((g|0)==(d|0)|((d|0)==(e|0)|(e|0)==(g|0))){Ta=p;return}l=p;m=l+36|0;do{c[l>>2]=0;l=l+4|0}while((l|0)<(m|0));if(!h)o=c[c[b+880>>2]>>2]|0;else o=h;h=c[b+752>>2]|0;if((h|0)==(c[b+756>>2]|0)?(n=(h|0)==0?1:h<<1,(h|0)<(n|0)):0){if(!n)i=0;else{c[6879]=(c[6879]|0)+1;h=Zb((n*44|3)+16|0)|0;if(!h)i=0;else{c[(h+4+15&-16)+-4>>2]=h;i=h+4+15&-16}h=c[b+752>>2]|0}if((h|0)>0){j=0;do{l=i+(j*44|0)|0;k=(c[b+760>>2]|0)+(j*44|0)|0;m=l+44|0;do{c[l>>2]=c[k>>2];l=l+4|0;k=k+4|0}while((l|0)<(m|0));j=j+1|0}while((j|0)!=(h|0))}h=c[b+760>>2]|0;if(h|0){if(a[b+764>>0]|0){c[6880]=(c[6880]|0)+1;kd(c[h+-4>>2]|0)}c[b+760>>2]=0}a[b+764>>0]=1;c[b+760>>2]=i;c[b+756>>2]=n;h=c[b+752>>2]|0}l=c[b+760>>2]|0;c[l+(h*44|0)>>2]=0;c[l+(h*44|0)+4>>2]=o;l=l+(h*44|0)+8|0;k=p;m=l+36|0;do{c[l>>2]=c[k>>2];l=l+4|0;k=k+4|0}while((l|0)<(m|0));o=c[b+752>>2]|0;c[b+752>>2]=o+1;n=c[b+760>>2]|0;k=c[b+720>>2]|0;c[n+(o*44|0)+8>>2]=k+(d*104|0);l=c[b+720>>2]|0;c[n+(o*44|0)+12>>2]=l+(e*104|0);m=c[b+720>>2]|0;c[n+(o*44|0)+16>>2]=m+(g*104|0);t=+f[k+(d*104|0)+8>>2];v=+f[k+(d*104|0)+12>>2];q=+f[k+(d*104|0)+16>>2];r=+f[l+(e*104|0)+8>>2]-t;w=+f[l+(e*104|0)+12>>2]-v;u=+f[l+(e*104|0)+16>>2]-q;t=+f[m+(g*104|0)+8>>2]-t;v=+f[m+(g*104|0)+12>>2]-v;q=+f[m+(g*104|0)+16>>2]-q;f[n+(o*44|0)+36>>2]=+s(+((r*v-w*t)*(r*v-w*t)+((w*q-u*v)*(w*q-u*v)+(u*t-r*q)*(u*t-r*q))));a[b+924>>0]=1;Ta=p;return}function Wf(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;i=Ta;Ta=Ta+64|0;h=c[a+24>>2]|0;c[h+(b*80|0)>>2]=c[d>>2];c[h+(b*80|0)+4>>2]=c[d+4>>2];c[h+(b*80|0)+8>>2]=c[d+8>>2];c[h+(b*80|0)+12>>2]=c[d+12>>2];c[h+(b*80|0)+16>>2]=c[d+16>>2];c[h+(b*80|0)+16+4>>2]=c[d+16+4>>2];c[h+(b*80|0)+16+8>>2]=c[d+16+8>>2];c[h+(b*80|0)+16+12>>2]=c[d+16+12>>2];c[h+(b*80|0)+32>>2]=c[d+32>>2];c[h+(b*80|0)+32+4>>2]=c[d+32+4>>2];c[h+(b*80|0)+32+8>>2]=c[d+32+8>>2];c[h+(b*80|0)+32+12>>2]=c[d+32+12>>2];c[h+(b*80|0)+48>>2]=c[d+48>>2];c[h+(b*80|0)+48+4>>2]=c[d+48+4>>2];c[h+(b*80|0)+48+8>>2]=c[d+48+8>>2];c[h+(b*80|0)+48+12>>2]=c[d+48+12>>2];if(!(c[a+64>>2]|0)){h=c[a>>2]|0;h=h+68|0;h=c[h>>2]|0;pb[h&511](a);Ta=i;return}h=c[(c[a+24>>2]|0)+(b*80|0)+64>>2]|0;Cb[c[(c[h>>2]|0)+8>>2]&127](h,d,i+48|0,i+32|0);c[i>>2]=c[i+48>>2];c[i+4>>2]=c[i+48+4>>2];c[i+8>>2]=c[i+48+8>>2];c[i+12>>2]=c[i+48+12>>2];c[i+16>>2]=c[i+32>>2];c[i+16+4>>2]=c[i+32+4>>2];c[i+16+8>>2]=c[i+32+8>>2];c[i+16+12>>2]=c[i+32+12>>2];h=c[a+64>>2]|0;g=c[(c[a+24>>2]|0)+(b*80|0)+76>>2]|0;d=ch(h,g)|0;a:do if(d){e=c[h+8>>2]|0;if((e|0)<=-1){d=c[h>>2]|0;break}if(e){f=0;b=d;while(1){d=c[b+32>>2]|0;f=f+1|0;if(!d){d=b;break a}if((f|0)>=(e|0))break;else b=d}}}else d=0;while(0);c[g>>2]=c[i>>2];c[g+4>>2]=c[i+4>>2];c[g+8>>2]=c[i+8>>2];c[g+12>>2]=c[i+12>>2];c[g+16>>2]=c[i+16>>2];c[g+20>>2]=c[i+20>>2];c[g+24>>2]=c[i+24>>2];c[g+28>>2]=c[i+28>>2];bf(h,d,g);h=c[a>>2]|0;h=h+68|0;h=c[h>>2]|0;pb[h&511](a);Ta=i;return}function Xf(a,b,d,e,g,h,i,j,k,l,m){a=a|0;b=b|0;d=d|0;e=e|0;g=+g;h=+h;i=+i;j=+j;k=k|0;l=l|0;m=+m;var n=0,o=0.0,p=0.0,q=0,r=0.0,s=0.0;q=Ta;Ta=Ta+208|0;Gp(q+192|0,+f[d>>2],+f[d+4>>2],+f[d+8>>2],+f[e>>2],+f[e+4>>2],+f[e+8>>2]);n=(~~((j-i)/(m*.01745329238474369))|0)==0?1:~~((j-i)/(m*.01745329238474369));LI(q+128|0,g,+f[e>>2],+f[e+4>>2],+f[e+8>>2]);m=+t$(i);Xq(q+144|0,+f[q+128>>2],+f[q+128+4>>2],+f[q+128+8>>2],m);sq(q+160|0,+f[b>>2],+f[b+4>>2],+f[b+8>>2],+f[q+144>>2],+f[q+144+4>>2],+f[q+144+8>>2]);m=+f[q+192>>2];o=+f[q+192+4>>2];p=+f[q+192+8>>2];LI(q+96|0,h,m,o,p);r=+s$(i);Xq(q+112|0,+f[q+96>>2],+f[q+96+4>>2],+f[q+96+8>>2],r);sq(q+176|0,+f[q+160>>2],+f[q+160+4>>2],+f[q+160+8>>2],+f[q+112>>2],+f[q+112+4>>2],+f[q+112+8>>2]);if(l)Cb[c[(c[a>>2]|0)+8>>2]&127](a,b,q+176|0,k);d=1;while(1){if((d|0)>(n|0))break;r=(j-i)*+(d|0)/+(n|0)+i;LI(q+32|0,g,+f[e>>2],+f[e+4>>2],+f[e+8>>2]);s=+t$(r);Xq(q+48|0,+f[q+32>>2],+f[q+32+4>>2],+f[q+32+8>>2],s);sq(q+64|0,+f[b>>2],+f[b+4>>2],+f[b+8>>2],+f[q+48>>2],+f[q+48+4>>2],+f[q+48+8>>2]);LI(q,h,m,o,p);r=+s$(r);Xq(q+16|0,+f[q>>2],+f[q+4>>2],+f[q+8>>2],r);sq(q+80|0,+f[q+64>>2],+f[q+64+4>>2],+f[q+64+8>>2],+f[q+16>>2],+f[q+16+4>>2],+f[q+16+8>>2]);Cb[c[(c[a>>2]|0)+8>>2]&127](a,q+176|0,q+80|0,k);c[q+176>>2]=c[q+80>>2];c[q+176+4>>2]=c[q+80+4>>2];c[q+176+8>>2]=c[q+80+8>>2];c[q+176+12>>2]=c[q+80+12>>2];d=d+1|0}if(!l){Ta=q;return}Cb[c[(c[a>>2]|0)+8>>2]&127](a,b,q+176|0,k);Ta=q;return}function Yf(b,d){b=b|0;d=d|0;var e=0.0,g=0.0,h=0.0,i=0.0,j=0.0,k=0,l=0,m=0;e=+f[b+1192+(d<<2)>>2];i=+f[b+868+(d<<6)>>2];j=+f[b+868+(d<<6)+4>>2];do if(!(i>=j)){if(e3.1415927410125732)g=(i-e)%6.2831854820251465+-6.2831854820251465;else g=(i-e)%6.2831854820251465;else g=(i-e)%6.2831854820251465+6.2831854820251465;g=+r(+g);if(!((j-e)%6.2831854820251465<-3.1415927410125732))if((j-e)%6.2831854820251465>3.1415927410125732)h=(j-e)%6.2831854820251465+-6.2831854820251465;else h=(j-e)%6.2831854820251465;else h=(j-e)%6.2831854820251465+6.2831854820251465;m=g<+r(+h);e=m?e:e+6.2831854820251465;break}if(e>j){if(!((e-j)%6.2831854820251465<-3.1415927410125732))if((e-j)%6.2831854820251465>3.1415927410125732)g=(e-j)%6.2831854820251465+-6.2831854820251465;else g=(e-j)%6.2831854820251465;else g=(e-j)%6.2831854820251465+6.2831854820251465;g=+r(+g);if(!((e-i)%6.2831854820251465<-3.1415927410125732))if((e-i)%6.2831854820251465>3.1415927410125732)h=(e-i)%6.2831854820251465+-6.2831854820251465;else h=(e-i)%6.2831854820251465;else h=(e-i)%6.2831854820251465+6.2831854820251465;m=+r(+h)>2]=e;do if(!(i>j)){if(i>e){c[b+868+(d<<6)+56>>2]=1;e=e-i;f[b+868+(d<<6)+48>>2]=e;if(e>3.1415927410125732){f[b+868+(d<<6)+48>>2]=e+-6.2831854820251465;break}if(!(e<-3.1415927410125732))break;f[b+868+(d<<6)+48>>2]=e+6.2831854820251465;break}if(j>2]=2;e=e-j;f[b+868+(d<<6)+48>>2]=e;if(e>3.1415927410125732){f[b+868+(d<<6)+48>>2]=e+-6.2831854820251465;break}if(e<-3.1415927410125732)f[b+868+(d<<6)+48>>2]=e+6.2831854820251465}else{k=b+868+(d<<6)+56|0;l=34}}else{k=b+868+(d<<6)+56|0;l=34}while(0);if((l|0)==34?(c[k>>2]=0,(a[b+868+(d<<6)+44>>0]|0)==0):0){m=0;return m|0}m=1;return m|0}function Zf(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;j=Ta;Ta=Ta+64|0;i=c[a+24>>2]|0;c[i+(b*80|0)>>2]=c[d>>2];c[i+(b*80|0)+4>>2]=c[d+4>>2];c[i+(b*80|0)+8>>2]=c[d+8>>2];c[i+(b*80|0)+12>>2]=c[d+12>>2];c[i+(b*80|0)+16>>2]=c[d+16>>2];c[i+(b*80|0)+16+4>>2]=c[d+16+4>>2];c[i+(b*80|0)+16+8>>2]=c[d+16+8>>2];c[i+(b*80|0)+16+12>>2]=c[d+16+12>>2];c[i+(b*80|0)+32>>2]=c[d+32>>2];c[i+(b*80|0)+32+4>>2]=c[d+32+4>>2];c[i+(b*80|0)+32+8>>2]=c[d+32+8>>2];c[i+(b*80|0)+32+12>>2]=c[d+32+12>>2];c[i+(b*80|0)+48>>2]=c[d+48>>2];c[i+(b*80|0)+48+4>>2]=c[d+48+4>>2];c[i+(b*80|0)+48+8>>2]=c[d+48+8>>2];c[i+(b*80|0)+48+12>>2]=c[d+48+12>>2];if(c[a+64>>2]|0){i=c[(c[a+24>>2]|0)+(b*80|0)+64>>2]|0;Cb[c[(c[i>>2]|0)+8>>2]&127](i,d,j+48|0,j+32|0);c[j>>2]=c[j+48>>2];c[j+4>>2]=c[j+48+4>>2];c[j+8>>2]=c[j+48+8>>2];c[j+12>>2]=c[j+48+12>>2];c[j+16>>2]=c[j+32>>2];c[j+16+4>>2]=c[j+32+4>>2];c[j+16+8>>2]=c[j+32+8>>2];c[j+16+12>>2]=c[j+32+12>>2];i=c[a+64>>2]|0;h=c[(c[a+24>>2]|0)+(b*80|0)+76>>2]|0;d=ch(i,h)|0;a:do if(d){f=c[i+8>>2]|0;if((f|0)<=-1){d=c[i>>2]|0;break}if(f){g=0;b=d;while(1){d=c[b+32>>2]|0;g=g+1|0;if(!d){d=b;break a}if((g|0)>=(f|0))break;else b=d}}}else d=0;while(0);c[h>>2]=c[j>>2];c[h+4>>2]=c[j+4>>2];c[h+8>>2]=c[j+8>>2];c[h+12>>2]=c[j+12>>2];c[h+16>>2]=c[j+16>>2];c[h+20>>2]=c[j+20>>2];c[h+24>>2]=c[j+24>>2];c[h+28>>2]=c[j+28>>2];bf(i,d,h)}if(!e){Ta=j;return}pb[c[(c[a>>2]|0)+68>>2]&511](a);Ta=j;return}function _f(b,d){b=b|0;d=+d;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0.0,n=0.0,o=0.0,p=0.0;l=Ta;Ta=Ta+16|0;Aj(15084);e=c[b+232>>2]|0;if((e|0)>0){k=(a[28084]|0)==0;j=0;do{i=c[(c[b+240>>2]|0)+(j<<2)>>2]|0;a:do if(i){g=c[i+216>>2]|0;b:do switch(g|0){case 4:case 2:{if((g|0)==4)break a;break}default:{p=+f[i+312>>2];o=+f[i+316>>2];n=+f[i+320>>2];m=+f[i+472>>2];if(p*p+o*o+n*n>2],n=+f[i+332>>2],o=+f[i+336>>2],p=+f[i+476>>2],m*m+n*n+o*o>2]=+f[i+220>>2]+d;break b}f[i+220>>2]=0.0;if((g&-2|0)!=4){c[i+216>>2]=0;g=0}}}while(0);h=g&-2;do if(k){if((h|0)!=2?!(+f[i+220>>2]>2.0):0)break;if(c[i+204>>2]&3|0){if((h|0)==4)break a;c[i+216>>2]=2;break a}if((g|0)==1){c[i+216>>2]=3;break a}if((g|0)!=2)break a;e=(c[i+260>>2]|0)+2|0;c[i+328>>2]=0;c[i+328+4>>2]=0;c[i+328+8>>2]=0;c[i+328+12>>2]=0;c[i+260>>2]=e;c[i+312>>2]=0;c[i+312+4>>2]=0;c[i+312+8>>2]=0;c[i+312+12>>2]=0;e=c[b+232>>2]|0;break a}while(0);if((h|0)!=4)c[i+216>>2]=1}while(0);j=j+1|0}while((j|0)<(e|0))}e=c[2760]|0;k=(c[e+16>>2]|0)+-1|0;c[e+16>>2]=k;if(k|0){Ta=l;return}do if(c[e+4>>2]|0){Pa(l|0,0)|0;k=c[6878]|0;f[e+8>>2]=+f[e+8>>2]+ +(((c[l+4>>2]|0)-(c[k+4>>2]|0)+(((c[l>>2]|0)-(c[k>>2]|0)|0)*1e6|0)-(c[e+12>>2]|0)|0)>>>0)/1.0e3;if(!(c[e+16>>2]|0)){e=c[2760]|0;break}else{Ta=l;return}}while(0);c[2760]=c[e+20>>2];Ta=l;return}function $f(b){b=b|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;m=c[b+4>>2]|0;if((m|0)<=0)return;d=c[b+12>>2]|0;e=0;j=0;do{l=c[(c[d+(e<<2)>>2]|0)+384>>2]|0;j=(j|0)>(l|0)?j:l;e=e+1|0}while((e|0)!=(m|0));e=0;while(1){d=c[d+(e<<2)>>2]|0;if((c[d+852>>2]|0)>0){g=0;do{l=c[(c[d+860>>2]|0)+(g<<2)>>2]|0;tb[c[(c[l>>2]|0)+8>>2]&63](l,+f[d+452>>2],j);g=g+1|0}while((g|0)<(c[d+852>>2]|0))}e=e+1|0;if((e|0)==(m|0))break;d=c[b+12>>2]|0}if((j|0)>0){h=0;do{i=0;do{d=c[(c[b+12>>2]|0)+(i<<2)>>2]|0;e=c[d+852>>2]|0;if((e|0)>0){g=0;do{l=c[(c[d+860>>2]|0)+(g<<2)>>2]|0;rb[c[(c[l>>2]|0)+12>>2]&31](l,+f[d+452>>2],1.0);g=g+1|0}while((g|0)!=(e|0))}i=i+1|0}while((i|0)!=(m|0));h=h+1|0}while((h|0)!=(j|0))}l=0;do{k=c[(c[b+12>>2]|0)+(l<<2)>>2]|0;if((c[k+852>>2]|0)>0){g=0;do{d=c[(c[k+860>>2]|0)+(g<<2)>>2]|0;qb[c[(c[d>>2]|0)+16>>2]&63](d,+f[k+452>>2]);d=c[k+860>>2]|0;e=c[d+(g<<2)>>2]|0;a:do if(a[e+152>>0]|0){if(!e)j=d;else{c[6880]=(c[6880]|0)+1;kd(c[e+-4>>2]|0);j=c[k+860>>2]|0}d=g+-1|0;e=c[k+852>>2]|0;if((e|0)>0){i=c[j+(g<<2)>>2]|0;g=0;while(1){h=j+(g<<2)|0;if((c[h>>2]|0)==(i|0))break;g=g+1|0;if((g|0)>=(e|0))break a}if((g|0)<(e|0)){c[h>>2]=c[j+(e+-1<<2)>>2];c[(c[k+860>>2]|0)+(e+-1<<2)>>2]=i;c[k+852>>2]=e+-1;e=e+-1|0}}}else{e=c[k+852>>2]|0;d=g}while(0);g=d+1|0}while((g|0)<(e|0))}l=l+1|0}while((l|0)!=(m|0));return}function ag(a,b,d){a=a|0;b=+b;d=+d;var e=0.0,g=0.0,h=0.0,i=0.0,j=0.0,k=0.0,l=0,m=0.0,n=0.0,o=0.0,p=0,q=0,r=0.0,s=0,t=0,u=0,v=0.0,w=0.0,x=0.0,y=0.0;u=Ta;Ta=Ta+16|0;k=+f[a+452>>2];p=c[a+192>>2]|0;r=+Wa[c[(c[p>>2]|0)+48>>2]&31](p);p=c[a+812>>2]|0;if((p|0)<=0){Ta=u;return}s=0;do{q=c[a+820>>2]|0;t=c[q+(s*104|0)>>2]|0;t=(c[t+236>>2]&2|0)==0?0:t;if(t|0){o=+f[t+332>>2];e=+f[q+(s*104|0)+84>>2];j=+f[t+336>>2];m=+f[q+(s*104|0)+80>>2];g=+f[q+(s*104|0)+76>>2];n=+f[t+328>>2];d=k*(o*e-j*m+ +f[t+312>>2]);e=k*(+f[t+316>>2]+(j*g-e*n));g=k*(m*n-o*g+ +f[t+320>>2])}else{d=0.0;e=0.0;g=0.0}l=c[q+(s*104|0)+24>>2]|0;m=+f[l+8>>2];n=+f[l+12>>2];o=+f[l+16>>2];j=m-+f[l+24>>2]-d;i=n-+f[l+28>>2]-e;h=o-+f[l+32>>2]-g;d=+f[q+(s*104|0)+4>>2];e=+f[q+(s*104|0)+8>>2];g=+f[q+(s*104|0)+12>>2];if(j*d+i*e+h*g<=1.1920928955078125e-07?(x=m*d+n*e+o*g+ +f[q+(s*104|0)+20>>2],y=+f[q+(s*104|0)+96>>2],x=(x>2],w=(j-(j-d*(j*d+i*e+h*g))*y+d*x)*b,v=(i-(i-e*(j*d+i*e+h*g))*y+e*x)*b,i=(h-(h-g*(j*d+i*e+h*g))*y+g*x)*b,g=+f[q+(s*104|0)+36>>2]*i+(+f[q+(s*104|0)+28>>2]*w+ +f[q+(s*104|0)+32>>2]*v),h=w*+f[q+(s*104|0)+44>>2]+v*+f[q+(s*104|0)+48>>2]+i*+f[q+(s*104|0)+52>>2],i=w*+f[q+(s*104|0)+60>>2]+v*+f[q+(s*104|0)+64>>2]+i*+f[q+(s*104|0)+68>>2],f[u>>2]=g,f[u+4>>2]=h,f[u+8>>2]=i,f[u+12>>2]=0.0,j=+f[q+(s*104|0)+92>>2],f[l+8>>2]=m-g*j,f[l+12>>2]=n-h*j,f[l+16>>2]=o-i*j,t|0):0)ql(t,u,q+(s*104|0)+76|0);s=s+1|0}while((s|0)!=(p|0));Ta=u;return}function bg(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0.0;g=Ta;Ta=Ta+224|0;uq(g+192|0,+f[d>>2],+f[d+4>>2],+f[d+8>>2],+f[b>>2],+f[b+4>>2],+f[b+8>>2]);Xq(g+208|0,+f[g+192>>2],+f[g+192+4>>2],+f[g+192+8>>2],.5);sq(g+160|0,+f[d>>2],+f[d+4>>2],+f[d+8>>2],+f[b>>2],+f[b+4>>2],+f[b+8>>2]);Xq(g+176|0,+f[g+160>>2],+f[g+160+4>>2],+f[g+160+8>>2],.5);f[g+136>>2]=1.0;f[g+132>>2]=1.0;f[g+128>>2]=1.0;bx(g+144|0,g+136|0,g+132|0,g+128|0);b=0;while(1){if((b|0)==4)break;d=0;while(1){if((d|0)==3)break;i=D$(g+144|0)|0;k=+f[i>>2];h=D$(g+208|0)|0;f[g+72>>2]=k*+f[h>>2];f[g+68>>2]=+f[i+4>>2]*+f[h+4>>2];f[g+64>>2]=+f[i+8>>2]*+f[h+8>>2];bx(g+80|0,g+72|0,g+68|0,g+64|0);c[g+112>>2]=c[g+80>>2];c[g+112+4>>2]=c[g+80+4>>2];c[g+112+8>>2]=c[g+80+8>>2];c[g+112+12>>2]=c[g+80+12>>2];Iv(g+112|0,g+176|0)|0;j=i+(((d>>>0)%3|0)<<2)|0;f[j>>2]=-+f[j>>2];f[g+40>>2]=+f[i>>2]*+f[h>>2];f[g+36>>2]=+f[i+4>>2]*+f[h+4>>2];f[g+32>>2]=+f[i+8>>2]*+f[h+8>>2];bx(g+48|0,g+40|0,g+36|0,g+32|0);c[g+96>>2]=c[g+48>>2];c[g+96+4>>2]=c[g+48+4>>2];c[g+96+8>>2]=c[g+48+8>>2];c[g+96+12>>2]=c[g+48+12>>2];Iv(g+96|0,g+176|0)|0;Cb[c[(c[a>>2]|0)+8>>2]&127](a,g+112|0,g+96|0,e);d=d+1|0}f[g+8>>2]=-1.0;f[g+4>>2]=-1.0;f[g>>2]=-1.0;bx(g+16|0,g+8|0,g+4|0,g);c[g+144>>2]=c[g+16>>2];c[g+144+4>>2]=c[g+16+4>>2];c[g+144+8>>2]=c[g+16+8>>2];c[g+144+12>>2]=c[g+16+12>>2];if(b>>>0<3){j=(D$(g+144|0)|0)+(b<<2)|0;f[j>>2]=-+f[j>>2]}b=b+1|0}Ta=g;return}function cg(b,d,e){b=b|0;d=d|0;e=e|0;var g=0,h=0,i=0;c[b+4>>2]=1065353216;c[b+8>>2]=1065353216;c[b+12>>2]=1065353216;f[b+16>>2]=0.0;a[b+36>>0]=1;c[b+32>>2]=0;c[b+24>>2]=0;c[b+28>>2]=0;c[b+48>>2]=0;c[b>>2]=10064;a[b+100>>0]=1;c[b+96>>2]=0;c[b+88>>2]=0;c[b+92>>2]=0;a[b+120>>0]=1;c[b+116>>2]=0;c[b+108>>2]=0;c[b+112>>2]=0;a[b+140>>0]=1;c[b+136>>2]=0;c[b+128>>2]=0;c[b+132>>2]=0;a[b+160>>0]=1;c[b+156>>2]=0;c[b+148>>2]=0;c[b+152>>2]=0;a[b+164>>0]=d&1;a[b+165>>0]=e&1;f[b+168>>2]=0.0;c[6879]=(c[6879]|0)+1;d=Zb(51)|0;if(!d)g=0;else{c[(d+4+15&-16)+-4>>2]=d;g=d+4+15&-16}d=c[b+24>>2]|0;if((d|0)>0){e=0;do{h=g+(e<<5)|0;i=(c[b+32>>2]|0)+(e<<5)|0;c[h>>2]=c[i>>2];c[h+4>>2]=c[i+4>>2];c[h+8>>2]=c[i+8>>2];c[h+12>>2]=c[i+12>>2];c[h+16>>2]=c[i+16>>2];c[h+20>>2]=c[i+20>>2];c[h+24>>2]=c[i+24>>2];c[h+28>>2]=c[i+28>>2];e=e+1|0}while((e|0)!=(d|0))}d=c[b+32>>2]|0;if(d|0){if(a[b+36>>0]|0){c[6880]=(c[6880]|0)+1;kd(c[d+-4>>2]|0)}c[b+32>>2]=0}a[b+36>>0]=1;c[b+32>>2]=g;c[b+28>>2]=1;i=c[b+24>>2]|0;c[g+(i<<5)>>2]=0;c[g+(i<<5)+4>>2]=0;c[g+(i<<5)+8>>2]=12;c[g+(i<<5)+12>>2]=0;c[g+(i<<5)+16>>2]=0;c[g+(i<<5)+20>>2]=16;c[g+(i<<5)+24>>2]=2;c[g+(i<<5)+28>>2]=0;c[b+24>>2]=(c[b+24>>2]|0)+1;i=(a[b+164>>0]|0)==0;d=c[b+32>>2]|0;c[d>>2]=(c[(i?b+148|0:b+128|0)>>2]|0)/3|0;c[d+4>>2]=0;c[d+24>>2]=i?3:2;c[d+8>>2]=i?6:12;if(!(a[b+165>>0]|0)){h=12;b=(c[b+108>>2]|0)/3|0;i=d+12|0;c[i>>2]=b;i=d+16|0;c[i>>2]=0;i=d+20|0;c[i>>2]=h;return}else{h=16;b=c[b+88>>2]|0;i=d+12|0;c[i>>2]=b;i=d+16|0;c[i>>2]=0;i=d+20|0;c[i>>2]=h;return}}function dg(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;m=Ta;Ta=Ta+32|0;if((b|0)<0)b=c[a+12>>2]|0;d=c[a>>2]|0;if(!((b|0)>0&(d|0)!=0)){Ta=m;return}while(1){e=d+40|0;if(c[e>>2]|0){l=0;while(1){k=d+32|0;f=c[k>>2]|0;if(f>>>0>d>>>0){i=(c[f+40>>2]|0)==(d|0);g=c[f+36+(((i^1)&1)<<2)>>2]|0;h=c[f+32>>2]|0;if(!h)j=a;else j=h+36+(((c[h+40>>2]|0)==(f|0)&1)<<2)|0;c[j>>2]=d;c[g+32>>2]=d;c[f+32>>2]=d;c[k>>2]=h;k=d+36|0;c[f+36>>2]=c[k>>2];c[f+40>>2]=c[e>>2];c[(c[k>>2]|0)+32>>2]=f;c[(c[e>>2]|0)+32>>2]=f;c[d+36+((i&1)<<2)>>2]=f;c[d+36+(((i^1)&1)<<2)>>2]=g;c[m>>2]=c[f>>2];c[m+4>>2]=c[f+4>>2];c[m+8>>2]=c[f+8>>2];c[m+12>>2]=c[f+12>>2];c[m+16>>2]=c[f+16>>2];c[m+20>>2]=c[f+20>>2];c[m+24>>2]=c[f+24>>2];c[m+28>>2]=c[f+28>>2];c[f>>2]=c[d>>2];c[f+4>>2]=c[d+4>>2];c[f+8>>2]=c[d+8>>2];c[f+12>>2]=c[d+12>>2];c[f+16>>2]=c[d+16>>2];c[f+20>>2]=c[d+20>>2];c[f+24>>2]=c[d+24>>2];c[f+28>>2]=c[d+28>>2];c[d>>2]=c[m>>2];c[d+4>>2]=c[m+4>>2];c[d+8>>2]=c[m+8>>2];c[d+12>>2]=c[m+12>>2];c[d+16>>2]=c[m+16>>2];c[d+20>>2]=c[m+20>>2];c[d+24>>2]=c[m+24>>2];c[d+28>>2]=c[m+28>>2];d=f}e=c[a+16>>2]|0;d=c[d+36+(((l?e>>>l:e)&1)<<2)>>2]|0;e=d+40|0;if(!(c[e>>2]|0))break;else l=l+1&31}}if(!(ch(a,d)|0))e=0;else e=c[a>>2]|0;bf(a,e,d);c[a+16>>2]=(c[a+16>>2]|0)+1;b=b+-1|0;if(!b)break;d=c[a>>2]|0}Ta=m;return}function eg(b){b=b|0;var d=0,e=0.0,g=0,h=0,i=0.0,j=0.0,k=0;k=Ta;Ta=Ta+64|0;Aj(15254);a:do if(!(a[b+274>>0]|0)){d=c[b+232>>2]|0;if((d|0)>0){h=0;while(1){g=c[(c[b+240>>2]|0)+(h<<2)>>2]|0;switch(c[g+216>>2]|0){case 2:case 5:break;default:if((c[g+480>>2]|0)!=0?(c[g+204>>2]&3|0)==0:0){if((a[b+300>>0]|0)!=0?(j=+f[b+268>>2],j!=0.0):0)e=+f[b+264>>2]-j;else e=+f[b+264>>2]*+f[g+244>>2];Vg(g+68|0,+f[g+132>>2],+f[g+136>>2],+f[g+140>>2],g+148|0,e,k);d=c[g+480>>2]|0;vb[c[(c[d>>2]|0)+12>>2]&255](d,k);d=c[b+232>>2]|0}}h=h+1|0;if((h|0)>=(d|0))break a}}}else{d=c[b+8>>2]|0;if((d|0)>0){h=0;do{g=c[(c[b+16>>2]|0)+(h<<2)>>2]|0;if((!((g|0)==0?1:(c[g+236>>2]&2|0)==0)?(c[g+480>>2]|0)!=0:0)?(c[g+204>>2]&3|0)==0:0){if((a[b+300>>0]|0)!=0?(i=+f[b+268>>2],i!=0.0):0)e=+f[b+264>>2]-i;else e=+f[b+264>>2]*+f[g+244>>2];Vg(g+68|0,+f[g+132>>2],+f[g+136>>2],+f[g+140>>2],g+148|0,e,k);d=c[g+480>>2]|0;vb[c[(c[d>>2]|0)+12>>2]&255](d,k);d=c[b+8>>2]|0}h=h+1|0}while((h|0)<(d|0))}}while(0);d=c[2760]|0;b=(c[d+16>>2]|0)+-1|0;c[d+16>>2]=b;if(b|0){Ta=k;return}do if(c[d+4>>2]|0){Pa(k|0,0)|0;b=c[6878]|0;f[d+8>>2]=+f[d+8>>2]+ +(((c[k+4>>2]|0)-(c[b+4>>2]|0)+(((c[k>>2]|0)-(c[b>>2]|0)|0)*1e6|0)-(c[d+12>>2]|0)|0)>>>0)/1.0e3;if(!(c[d+16>>2]|0)){d=c[2760]|0;break}else{Ta=k;return}}while(0);c[2760]=c[d+20>>2];Ta=k;return}function fg(b,d,e,g,h){b=b|0;d=d|0;e=e|0;g=g|0;h=h|0;var i=0,j=0.0,k=0.0,l=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0,C=0.0,D=0.0;i=Ta;Ta=Ta+32|0;d=(a[b+8>>0]|0)==0?e:d;if(((c[(c[d+4>>2]|0)+4>>2]|0)+-21|0)>>>0>=9){Ta=i;return}e=c[(c[d+8>>2]|0)+192>>2]|0;w=+Wa[c[(c[e>>2]|0)+48>>2]&31](e);c[b+64>>2]=g;f[b+68>>2]=w+.05999999865889549;c[b+56>>2]=h;h=c[b+16>>2]|0;zb[c[(c[h>>2]|0)+28>>2]&127](h,i+16|0,i);w=+f[i>>2];v=+f[i+16>>2];q=+f[i+4>>2];p=+f[i+16+4>>2];y=+f[i+8>>2];x=+f[i+16+8>>2];h=c[d+12>>2]|0;C=+f[h>>2];B=+f[h+16>>2];n=+f[h+32>>2];A=+f[h+4>>2];z=+f[h+20>>2];l=+f[h+36>>2];u=+f[h+8>>2];t=+f[h+24>>2];s=+f[h+40>>2];D=-+f[h+48>>2];j=-+f[h+52>>2];k=-+f[h+56>>2];o=(w+v)*.5*C+(q+p)*.5*B+(y+x)*.5*n+(C*D+B*j+n*k);m=(w+v)*.5*A+(q+p)*.5*z+(y+x)*.5*l+(A*D+z*j+l*k);k=(w+v)*.5*u+(q+p)*.5*t+(y+x)*.5*s+(u*D+t*j+s*k);j=+f[b+68>>2];n=+r(+(n+(C*0.0+B*0.0)))*((y-x)*.5+j)+(+r(+(C+B*0.0+n*0.0))*((w-v)*.5+j)+ +r(+(C*0.0+B+n*0.0))*((q-p)*.5+j));l=+r(+(l+(A*0.0+z*0.0)))*((y-x)*.5+j)+(+r(+(A+z*0.0+l*0.0))*((w-v)*.5+j)+ +r(+(A*0.0+z+l*0.0))*((q-p)*.5+j));j=+r(+(s+(u*0.0+t*0.0)))*((y-x)*.5+j)+(+r(+(u+t*0.0+s*0.0))*((w-v)*.5+j)+ +r(+(u*0.0+t+s*0.0))*((q-p)*.5+j));f[b+24>>2]=o-n;f[b+28>>2]=m-l;f[b+32>>2]=k-j;f[b+36>>2]=0.0;f[b+40>>2]=o+n;f[b+44>>2]=m+l;f[b+48>>2]=k+j;f[b+52>>2]=0.0;Cb[c[(c[e>>2]|0)+64>>2]&127](e,b+12|0,b+24|0,b+40|0);Ta=i;return}function gg(b,d,e,g){b=b|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0;k=Ta;Ta=Ta+16|0;c[b+8>>2]=0;c[b+12>>2]=1065353216;c[b+16>>2]=1065353216;c[b+20>>2]=1065353216;f[b+24>>2]=0.0;f[b+44>>2]=.03999999910593033;c[b+52>>2]=0;c[b+56>>2]=1065353216;c[b+60>>2]=1065353216;c[b+64>>2]=1065353216;f[b+68>>2]=0.0;c[b+72>>2]=-1082130432;c[b+76>>2]=-1082130432;c[b+80>>2]=-1082130432;f[b+84>>2]=0.0;a[b+88>>0]=0;c[b>>2]=8868;a[b+108>>0]=1;c[b+104>>2]=0;c[b+96>>2]=0;c[b+100>>2]=0;c[b+4>>2]=4;if((e|0)<=0){c[b+96>>2]=e;wj(b);Ta=k;return}c[6879]=(c[6879]|0)+1;h=Zb((e<<4|3)+16|0)|0;if(!h)j=0;else{c[(h+4+15&-16)+-4>>2]=h;j=h+4+15&-16}h=c[b+96>>2]|0;if((h|0)>0){i=0;do{l=j+(i<<4)|0;m=(c[b+104>>2]|0)+(i<<4)|0;c[l>>2]=c[m>>2];c[l+4>>2]=c[m+4>>2];c[l+8>>2]=c[m+8>>2];c[l+12>>2]=c[m+12>>2];i=i+1|0}while((i|0)!=(h|0))}h=c[b+104>>2]|0;if(h|0){if(a[b+108>>0]|0){c[6880]=(c[6880]|0)+1;kd(c[h+-4>>2]|0)}c[b+104>>2]=0}a[b+108>>0]=1;c[b+104>>2]=j;c[b+100>>2]=e;c[j>>2]=c[k>>2];c[j+4>>2]=c[k+4>>2];c[j+8>>2]=c[k+8>>2];c[j+12>>2]=c[k+12>>2];if((e|0)!=1){h=1;do{m=(c[b+104>>2]|0)+(h<<4)|0;c[m>>2]=c[k>>2];c[m+4>>2]=c[k+4>>2];c[m+8>>2]=c[k+8>>2];c[m+12>>2]=c[k+12>>2];h=h+1|0}while((h|0)!=(e|0))}c[b+96>>2]=e;i=0;h=d;while(1){d=c[h+4>>2]|0;l=c[h+8>>2]|0;m=c[b+104>>2]|0;c[m+(i<<4)>>2]=c[h>>2];c[m+(i<<4)+4>>2]=d;c[m+(i<<4)+8>>2]=l;f[m+(i<<4)+12>>2]=0.0;i=i+1|0;if((i|0)==(e|0))break;else h=h+g|0}wj(b);Ta=k;return}function hg(b,d,e,f,g,h,i,j,k){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;var l=0,m=0;m=Ta;Ta=Ta+16|0;if(!((c[b+924>>2]|0)==0?(a[b+912>>0]|0)==0:0)){c[m>>2]=c[b+1208>>2];c[m+4>>2]=c[b+1208+4>>2];c[m+8>>2]=c[b+1208+8>>2];c[m+12>>2]=c[b+1208+12>>2];l=c[b+1304>>2]|0;if(!(l&512))c[b+896>>2]=c[c[d+32>>2]>>2];if(!(l&1024))c[b+904>>2]=c[c[d+32>>2]>>2];if(!(l&2048))c[b+900>>2]=c[d+4>>2];e=(nd(b,b+868|0,f,g,h,i,j,k,d,e,m,1,0)|0)+e|0}if(!((c[b+988>>2]|0)==0?(a[b+976>>0]|0)==0:0)){c[m>>2]=c[b+1224>>2];c[m+4>>2]=c[b+1224+4>>2];c[m+8>>2]=c[b+1224+8>>2];c[m+12>>2]=c[b+1224+12>>2];l=c[b+1304>>2]|0;if(!(l&4096))c[b+960>>2]=c[c[d+32>>2]>>2];if(!(l&8192))c[b+968>>2]=c[c[d+32>>2]>>2];if(!(l&16384))c[b+964>>2]=c[d+4>>2];e=(nd(b,b+932|0,f,g,h,i,j,k,d,e,m,1,0)|0)+e|0}if((c[b+1052>>2]|0)==0?(a[b+1040>>0]|0)==0:0){g=e;Ta=m;return g|0}c[m>>2]=c[b+1240>>2];c[m+4>>2]=c[b+1240+4>>2];c[m+8>>2]=c[b+1240+8>>2];c[m+12>>2]=c[b+1240+12>>2];l=c[b+1304>>2]|0;if(!(l&32768))c[b+1024>>2]=c[c[d+32>>2]>>2];if(!(l&65536))c[b+1032>>2]=c[c[d+32>>2]>>2];if(!(l&131072))c[b+1028>>2]=c[d+4>>2];g=(nd(b,b+996|0,f,g,h,i,j,k,d,e,m,1,0)|0)+e|0;Ta=m;return g|0}function ig(b){b=b|0;var d=0;c[b>>2]=6008;d=c[b+176>>2]|0;if(d|0){if(a[b+180>>0]|0){c[6880]=(c[6880]|0)+1;kd(c[d+-4>>2]|0)}c[b+176>>2]=0}a[b+180>>0]=1;c[b+176>>2]=0;c[b+168>>2]=0;c[b+172>>2]=0;d=c[b+156>>2]|0;if(d|0){if(a[b+160>>0]|0){c[6880]=(c[6880]|0)+1;kd(c[d+-4>>2]|0)}c[b+156>>2]=0}a[b+160>>0]=1;c[b+156>>2]=0;c[b+148>>2]=0;c[b+152>>2]=0;d=c[b+136>>2]|0;if(d|0){if(a[b+140>>0]|0){c[6880]=(c[6880]|0)+1;kd(c[d+-4>>2]|0)}c[b+136>>2]=0}a[b+140>>0]=1;c[b+136>>2]=0;c[b+128>>2]=0;c[b+132>>2]=0;d=c[b+116>>2]|0;if(d|0){if(a[b+120>>0]|0){c[6880]=(c[6880]|0)+1;kd(c[d+-4>>2]|0)}c[b+116>>2]=0}a[b+120>>0]=1;c[b+116>>2]=0;c[b+108>>2]=0;c[b+112>>2]=0;d=c[b+96>>2]|0;if(d|0){if(a[b+100>>0]|0){c[6880]=(c[6880]|0)+1;kd(c[d+-4>>2]|0)}c[b+96>>2]=0}a[b+100>>0]=1;c[b+96>>2]=0;c[b+88>>2]=0;c[b+92>>2]=0;d=c[b+76>>2]|0;if(d|0){if(a[b+80>>0]|0){c[6880]=(c[6880]|0)+1;kd(c[d+-4>>2]|0)}c[b+76>>2]=0}a[b+80>>0]=1;c[b+76>>2]=0;c[b+68>>2]=0;c[b+72>>2]=0;d=c[b+56>>2]|0;if(d|0){if(a[b+60>>0]|0){c[6880]=(c[6880]|0)+1;kd(c[d+-4>>2]|0)}c[b+56>>2]=0}a[b+60>>0]=1;c[b+56>>2]=0;c[b+48>>2]=0;c[b+52>>2]=0;d=c[b+36>>2]|0;if(d|0){if(a[b+40>>0]|0){c[6880]=(c[6880]|0)+1;kd(c[d+-4>>2]|0)}c[b+36>>2]=0}a[b+40>>0]=1;c[b+36>>2]=0;c[b+28>>2]=0;c[b+32>>2]=0;d=c[b+16>>2]|0;if(!d){a[b+20>>0]=1;c[b+16>>2]=0;c[b+8>>2]=0;b=b+12|0;c[b>>2]=0;return}if(a[b+20>>0]|0){c[6880]=(c[6880]|0)+1;kd(c[d+-4>>2]|0)}c[b+16>>2]=0;a[b+20>>0]=1;c[b+16>>2]=0;c[b+8>>2]=0;b=b+12|0;c[b>>2]=0;return}function jg(a,b,e){a=a|0;b=b|0;e=e|0;af(a,b,e)|0;c[b+256>>2]=c[a+264>>2];c[b+260>>2]=c[a+268>>2];c[b+264>>2]=c[a+272>>2];c[b+268>>2]=c[a+276>>2];c[b+272>>2]=c[a+280>>2];c[b+276>>2]=c[a+284>>2];c[b+280>>2]=c[a+288>>2];c[b+284>>2]=c[a+292>>2];c[b+288>>2]=c[a+296>>2];c[b+292>>2]=c[a+300>>2];c[b+296>>2]=c[a+304>>2];c[b+300>>2]=c[a+308>>2];c[b+304>>2]=c[a+312>>2];c[b+308>>2]=c[a+316>>2];c[b+312>>2]=c[a+320>>2];c[b+316>>2]=c[a+324>>2];c[b+320>>2]=c[a+328>>2];c[b+324>>2]=c[a+332>>2];c[b+328>>2]=c[a+336>>2];c[b+332>>2]=c[a+340>>2];c[b+448>>2]=c[a+344>>2];c[b+336>>2]=c[a+544>>2];c[b+340>>2]=c[a+548>>2];c[b+344>>2]=c[a+552>>2];c[b+348>>2]=c[a+556>>2];c[b+352>>2]=c[a+348>>2];c[b+356>>2]=c[a+352>>2];c[b+360>>2]=c[a+356>>2];c[b+364>>2]=c[a+360>>2];c[b+368>>2]=c[a+364>>2];c[b+372>>2]=c[a+368>>2];c[b+376>>2]=c[a+372>>2];c[b+380>>2]=c[a+376>>2];c[b+384>>2]=c[a+380>>2];c[b+388>>2]=c[a+384>>2];c[b+392>>2]=c[a+388>>2];c[b+396>>2]=c[a+392>>2];c[b+400>>2]=c[a+396>>2];c[b+404>>2]=c[a+400>>2];c[b+408>>2]=c[a+404>>2];c[b+412>>2]=c[a+408>>2];c[b+416>>2]=c[a+412>>2];c[b+420>>2]=c[a+416>>2];c[b+424>>2]=c[a+420>>2];c[b+428>>2]=c[a+424>>2];c[b+432>>2]=c[a+428>>2];c[b+436>>2]=c[a+432>>2];c[b+440>>2]=c[a+436>>2];c[b+444>>2]=c[a+440>>2];c[b+452>>2]=c[a+444>>2];c[b+456>>2]=c[a+448>>2];c[b+484>>2]=d[a+452>>0];c[b+460>>2]=c[a+456>>2];c[b+464>>2]=c[a+460>>2];c[b+468>>2]=c[a+464>>2];c[b+472>>2]=c[a+468>>2];c[b+476>>2]=c[a+472>>2];c[b+480>>2]=c[a+476>>2];return 14880}function kg(b,d,e,g,h){b=b|0;d=+d;e=e|0;g=g|0;h=h|0;var i=0;i=Ta;Ta=Ta+144|0;c[b+164>>2]=1065353216;c[b+168>>2]=1065353216;c[b+172>>2]=1065353216;f[b+176>>2]=0.0;c[b+180>>2]=0;f[b+184>>2]=999999984306749440.0;c[b+188>>2]=0;c[b+188+4>>2]=0;c[b+188+8>>2]=0;c[b+188+12>>2]=0;c[b+204>>2]=1;c[b+208>>2]=-1;c[b+212>>2]=-1;c[b+216>>2]=1;f[b+220>>2]=0.0;f[b+224>>2]=.5;f[b+228>>2]=0.0;f[b+232>>2]=0.0;c[b+236>>2]=1;c[b+240>>2]=0;f[b+244>>2]=1.0;c[b+248>>2]=0;c[b+248+4>>2]=0;c[b+248+8>>2]=0;c[b+248+12>>2]=0;c[b+4>>2]=1065353216;c[b+8>>2]=0;c[b+8+4>>2]=0;c[b+8+8>>2]=0;c[b+8+12>>2]=0;c[b+24>>2]=1065353216;c[b+28>>2]=0;c[b+28+4>>2]=0;c[b+28+8>>2]=0;c[b+28+12>>2]=0;c[b+44>>2]=1065353216;c[b+48>>2]=0;c[b+48+4>>2]=0;c[b+48+8>>2]=0;c[b+48+12>>2]=0;c[b+48+16>>2]=0;c[b>>2]=5308;a[b+500>>0]=1;c[b+496>>2]=0;c[b+488>>2]=0;c[b+492>>2]=0;f[i>>2]=d;c[i+4>>2]=e;c[i+72>>2]=g;c[i+76>>2]=c[h>>2];c[i+76+4>>2]=c[h+4>>2];c[i+76+8>>2]=c[h+8>>2];c[i+76+12>>2]=c[h+12>>2];f[i+92>>2]=0.0;f[i+96>>2]=0.0;f[i+100>>2]=.5;f[i+104>>2]=0.0;f[i+108>>2]=0.0;f[i+112>>2]=.800000011920929;f[i+116>>2]=1.0;a[i+120>>0]=0;f[i+124>>2]=.004999999888241291;f[i+128>>2]=.009999999776482582;f[i+132>>2]=.009999999776482582;f[i+136>>2]=.009999999776482582;c[i+8>>2]=1065353216;c[i+12>>2]=0;c[i+12+4>>2]=0;c[i+12+8>>2]=0;c[i+12+12>>2]=0;c[i+28>>2]=1065353216;c[i+32>>2]=0;c[i+32+4>>2]=0;c[i+32+8>>2]=0;c[i+32+12>>2]=0;c[i+48>>2]=1065353216;c[i+52>>2]=0;c[i+52+4>>2]=0;c[i+52+8>>2]=0;c[i+52+12>>2]=0;c[i+52+16>>2]=0;td(b,i);Ta=i;return}function lg(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var g=0.0,h=0.0,i=0.0,j=0.0,k=0.0,l=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0,y=0,z=0.0,A=0.0;y=Ta;Ta=Ta+48|0;u=+f[e>>2];v=+f[d>>2];w=+f[e+4>>2];x=+f[d+4>>2];t=+f[e+8>>2];i=+f[d+8>>2];j=+s(+((u-v)*.5*((u-v)*.5)+(w-x)*.5*((w-x)*.5)+(t-i)*.5*((t-i)*.5)));k=+f[a+56>>2];if(+r(+k)>.7071067690849304){z=+f[a+52>>2];q=1.0/+s(+(k*k+z*z));A=+f[a+48>>2];g=A;h=z;l=A*-(k*q);m=0.0;n=-(k*q);o=z*q;p=(k*k+z*z)*q;q=-(A*(z*q))}else{p=+f[a+48>>2];A=+f[a+52>>2];q=1.0/+s(+(p*p+A*A));g=p;h=A;l=(p*p+A*A)*q;m=-(A*q);n=p*q;o=0.0;p=-(k*(p*q));q=k*-(A*q)}A=k*((t+i)*.5)+((u+v)*.5*g+(w+x)*.5*h)-+f[a+64>>2];w=(w+x)*.5-h*A;h=(u+v)*.5-g*A;m=j*m;v=j*n;z=j*o;p=j*p;u=j*q;x=j*l;f[y>>2]=p+(m+h);f[y+4>>2]=u+(v+w);f[y+8>>2]=x+(z+((t+i)*.5-k*A));f[y+12>>2]=0.0;f[y+16>>2]=m+h-p;f[y+20>>2]=v+w-u;f[y+24>>2]=z+((t+i)*.5-k*A)-x;f[y+28>>2]=0.0;f[y+32>>2]=h-m-p;f[y+36>>2]=w-v-u;f[y+40>>2]=(t+i)*.5-k*A-z-x;f[y+44>>2]=0.0;Cb[c[(c[b>>2]|0)+8>>2]&127](b,y,0,0);f[y>>2]=h-m-p;f[y+4>>2]=w-v-u;f[y+8>>2]=(t+i)*.5-k*A-z-x;f[y+12>>2]=0.0;f[y+16>>2]=p+(h-m);f[y+20>>2]=u+(w-v);f[y+24>>2]=x+((t+i)*.5-k*A-z);f[y+28>>2]=0.0;f[y+32>>2]=p+(m+h);f[y+36>>2]=u+(v+w);f[y+40>>2]=x+(z+((t+i)*.5-k*A));f[y+44>>2]=0.0;Cb[c[(c[b>>2]|0)+8>>2]&127](b,y,0,1);Ta=y;return}function mg(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;Md(b,d);c[b>>2]=4268;c[6879]=(c[6879]|0)+1;e=Zb(27)|0;i=e+4+15&-16;c[i+-4>>2]=e;a[i+4>>0]=0;c[(e+4+15&-16)>>2]=4300;c[b+92>>2]=i;c[6879]=(c[6879]|0)+1;i=Zb(27)|0;e=i+4+15&-16;c[e+-4>>2]=i;a[e+4>>0]=0;c[(i+4+15&-16)>>2]=4320;c[b+96>>2]=e;c[6879]=(c[6879]|0)+1;e=Zb(27)|0;if(!e)e=0;else{c[(e+4+15&-16)+-4>>2]=e;e=e+4+15&-16}c[e>>2]=4320;c[b+100>>2]=e;a[e+4>>0]=1;c[6879]=(c[6879]|0)+1;i=Zb(27)|0;e=i+4+15&-16;c[e+-4>>2]=i;a[e+4>>0]=0;c[(i+4+15&-16)>>2]=4340;c[b+104>>2]=e;c[6879]=(c[6879]|0)+1;e=Zb(27)|0;if(!e)e=0;else{c[(e+4+15&-16)+-4>>2]=e;e=e+4+15&-16}c[e>>2]=4360;c[b+108>>2]=e;a[e+4>>0]=1;if(!(a[b+20>>0]|0))return;e=c[b+16>>2]|0;if(!e)return;if((c[e>>2]|0)>=156)return;f=c[e+16>>2]|0;if(f){c[6880]=(c[6880]|0)+1;kd(c[f+-4>>2]|0);e=c[b+16>>2]|0;if(!e)i=b+16|0;else{f=b+16|0;g=11}}else{f=b+16|0;g=11}if((g|0)==11){c[6880]=(c[6880]|0)+1;kd(c[e+-4>>2]|0);i=f}c[6879]=(c[6879]|0)+1;e=Zb(39)|0;if(!e)h=0;else{c[(e+4+15&-16)+-4>>2]=e;h=e+4+15&-16}e=c[d+12>>2]|0;c[h>>2]=156;f=h+4|0;c[f>>2]=e;c[6879]=(c[6879]|0)+1;e=Zb((e*156|3)+16|0)|0;if(!e)e=0;else{c[(e+4+15&-16)+-4>>2]=e;e=e+4+15&-16}c[h+16>>2]=e;c[h+12>>2]=e;f=c[f>>2]|0;c[h+8>>2]=f;if(f+-1|0){b=c[h>>2]|0;g=f+-1|0;d=e;do{j=d;d=d+b|0;c[j>>2]=d;g=g+-1|0}while((g|0)!=0);e=e+(z(b,f+-1|0)|0)|0}c[e>>2]=0;c[i>>2]=h;return}function ng(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;l=c[d>>2]|0;l=gb[c[(c[l>>2]|0)+56>>2]&63](l,48)|0;c[l+4>>2]=c[d>>2];c[l>>2]=7564;a[l+28>>0]=1;c[l+24>>2]=0;c[l+16>>2]=0;c[l+20>>2]=0;c[l+32>>2]=c[d+4>>2];a[l+36>>0]=0;c[6879]=(c[6879]|0)+1;b=Zb(87)|0;if(!b)k=0;else{c[(b+4+15&-16)+-4>>2]=b;k=b+4+15&-16}c[k>>2]=10936;h=k+20|0;a[h>>0]=1;j=k+16|0;c[j>>2]=0;d=k+8|0;c[d>>2]=0;i=k+12|0;c[i>>2]=0;a[k+24>>0]=0;a[k+44>>0]=1;c[k+40>>2]=0;c[k+32>>2]=0;c[k+36>>2]=0;a[k+64>>0]=1;c[k+60>>2]=0;c[k+52>>2]=0;c[k+56>>2]=0;c[6879]=(c[6879]|0)+1;b=Zb(43)|0;if(!b)g=0;else{c[(b+4+15&-16)+-4>>2]=b;g=b+4+15&-16}b=c[d>>2]|0;if((b|0)>0){d=0;do{m=g+(d*12|0)|0;n=(c[j>>2]|0)+(d*12|0)|0;c[m>>2]=c[n>>2];c[m+4>>2]=c[n+4>>2];c[m+8>>2]=c[n+8>>2];d=d+1|0}while((d|0)!=(b|0))}b=c[j>>2]|0;if(!b){a[h>>0]=1;c[j>>2]=g;c[i>>2]=2;Af(k);n=l+8|0;c[n>>2]=k;n=e+4|0;n=c[n>>2]|0;n=n+68|0;n=c[n>>2]|0;m=l+40|0;c[m>>2]=n;m=f+4|0;m=c[m>>2]|0;m=m+68|0;m=c[m>>2]|0;n=l+44|0;c[n>>2]=m;return l|0}if(a[h>>0]|0){c[6880]=(c[6880]|0)+1;kd(c[b+-4>>2]|0)}c[j>>2]=0;a[h>>0]=1;c[j>>2]=g;c[i>>2]=2;Af(k);n=l+8|0;c[n>>2]=k;n=e+4|0;n=c[n>>2]|0;n=n+68|0;n=c[n>>2]|0;m=l+40|0;c[m>>2]=n;m=f+4|0;m=c[m>>2]|0;m=m+68|0;m=c[m>>2]|0;n=l+44|0;c[n>>2]=m;return l|0}function og(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;c[6865]=(c[6865]|0)+1;g=(d<<16|b)+~((d<<16|b)<<15)|0;g=((10?g>>10:g)^g)*9|0;g=(6?g>>6:g)^g;l=c[a+40>>2]|0;g=l+(((c[a+12>>2]|0)+-1&((16?g+~(g<<11)>>16:g+~(g<<11)|0)^g+~(g<<11)))<<2)|0;f=c[g>>2]|0;if((f|0)==-1){n=0;return n|0}m=c[a+16>>2]|0;e=f;while(1){k=m+(e*12|0)|0;if((c[k>>2]|0)==(b|0)?(c[m+(e*12|0)+4>>2]|0)==(d|0):0)break;e=c[(c[a+60>>2]|0)+(e<<2)>>2]|0;if((e|0)==-1){e=0;n=23;break}}if((n|0)==23)return e|0;if(!k){n=0;return n|0}j=c[m+(e*12|0)+8>>2]|0;i=(e*12|0)/12|0;h=c[a+60>>2]|0;if((f|0)!=(i|0)){d=f;while(1){b=h+(d<<2)|0;e=c[b>>2]|0;if((e|0)==(i|0))break;else d=e}e=c[h+(i<<2)>>2]|0;if((d|0)==-1)n=12;else c[b>>2]=e}else{e=c[h+(f<<2)>>2]|0;n=12}if((n|0)==12)c[g>>2]=e;g=(c[a+8>>2]|0)+-1|0;if((g|0)==(i|0)){c[a+8>>2]=i;n=j;return n|0}f=c[m+(g*12|0)+4>>2]<<16|c[m+(g*12|0)>>2];f=((10?f+~(f<<15)>>10:f+~(f<<15)|0)^f+~(f<<15))*9|0;f=(6?f>>6:f)^f;f=((16?f+~(f<<11)>>16:f+~(f<<11)|0)^f+~(f<<11))&(c[a+12>>2]|0)+-1;e=c[l+(f<<2)>>2]|0;if((e|0)!=(g|0)){d=e;while(1){b=h+(d<<2)|0;e=c[b>>2]|0;if((e|0)==(g|0))break;else d=e}e=c[h+(g<<2)>>2]|0;if((d|0)==-1)n=21;else c[b>>2]=e}else{e=c[h+(g<<2)>>2]|0;n=21}if((n|0)==21)c[l+(f<<2)>>2]=e;c[k>>2]=c[m+(g*12|0)>>2];c[k+4>>2]=c[m+(g*12|0)+4>>2];c[k+8>>2]=c[m+(g*12|0)+8>>2];n=(c[a+40>>2]|0)+(f<<2)|0;c[(c[a+60>>2]|0)+(i<<2)>>2]=c[n>>2];c[n>>2]=i;c[a+8>>2]=(c[a+8>>2]|0)+-1;n=j;return n|0}function pg(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;pb[c[(c[b>>2]|0)+32>>2]&511](b);e=ib[c[(c[b>>2]|0)+16>>2]&63](b,104,1)|0;d=c[e+8>>2]|0;f=d;g=f+104|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(g|0));c[d+88>>2]=c[a+248>>2];c[d+92>>2]=c[a+252>>2];c[d+96>>2]=c[a+256>>2];c[d+100>>2]=c[a+260>>2];c[d>>2]=c[a+92>>2];c[d+4>>2]=c[a+96>>2];c[d+8>>2]=c[a+100>>2];c[d+12>>2]=c[a+104>>2];c[d+16>>2]=c[a+108>>2];c[d+20>>2]=c[a+116>>2];c[d+24>>2]=c[a+120>>2];c[d+28>>2]=c[a+124>>2];c[d+32>>2]=c[a+128>>2];c[d+36>>2]=c[a+132>>2];c[d+40>>2]=c[a+140>>2];c[d+44>>2]=c[a+144>>2];c[d+48>>2]=c[a+148>>2];c[d+52>>2]=c[a+152>>2];c[d+56>>2]=c[a+168>>2];c[d+60>>2]=c[a+172>>2];c[d+64>>2]=c[a+112>>2];c[d+68>>2]=c[a+156>>2];c[d+72>>2]=c[a+160>>2];c[d+76>>2]=c[a+164>>2];c[d+80>>2]=c[a+136>>2];Gb[c[(c[b>>2]|0)+20>>2]&63](b,e,15293,1145853764,d);d=c[a+8>>2]|0;if((d|0)<=0){mj(a,b);cd(a,b);a=c[b>>2]|0;a=a+36|0;a=c[a>>2]|0;pb[a&511](b);return}f=0;do{e=c[(c[a+16>>2]|0)+(f<<2)>>2]|0;if(c[e+236>>2]&8){g=eb[c[(c[e>>2]|0)+16>>2]&255](e)|0;g=ib[c[(c[b>>2]|0)+16>>2]&63](b,g,1)|0;d=ib[c[(c[e>>2]|0)+20>>2]&63](e,c[g+8>>2]|0,b)|0;Gb[c[(c[b>>2]|0)+20>>2]&63](b,g,d,1497645651,e);d=c[a+8>>2]|0}f=f+1|0}while((f|0)<(d|0));mj(a,b);cd(a,b);a=c[b>>2]|0;a=a+36|0;a=c[a>>2]|0;pb[a&511](b);return}function qg(a,b){a=a|0;b=+b;var d=0,e=0,g=0,h=0,i=0.0,j=0.0,k=0.0;h=Ta;Ta=Ta+32|0;d=c[a+8>>2]|0;if((d|0)<=0){Ta=h;return}g=0;do{e=c[(c[a+16>>2]|0)+(g<<2)>>2]|0;if((!((e|0)==0?1:(c[e+236>>2]&2|0)==0)?(c[e+216>>2]|0)!=2:0)?!(b==0.0?1:(c[e+204>>2]&2|0)==0):0){d=c[e+480>>2]|0;if(!d)d=e+4|0;else{vb[c[(c[d>>2]|0)+8>>2]&255](d,e+4|0);d=e+4|0}j=1.0/b*(+f[e+56>>2]-+f[e+120>>2]);k=1.0/b*(+f[e+60>>2]-+f[e+124>>2]);f[e+312>>2]=1.0/b*(+f[e+52>>2]-+f[e+116>>2]);f[e+316>>2]=j;f[e+320>>2]=k;f[e+324>>2]=0.0;xf(e+68|0,d,h+8|0,h);k=+f[h>>2];j=1.0/b*(k*+f[h+8+4>>2]);i=1.0/b*(k*+f[h+8+8>>2]);f[e+328>>2]=1.0/b*(+f[h+8>>2]*k);f[e+332>>2]=j;f[e+336>>2]=i;f[e+340>>2]=0.0;c[e+132>>2]=c[e+312>>2];c[e+132+4>>2]=c[e+312+4>>2];c[e+132+8>>2]=c[e+312+8>>2];c[e+132+12>>2]=c[e+312+12>>2];c[e+148>>2]=c[e+328>>2];c[e+148+4>>2]=c[e+328+4>>2];c[e+148+8>>2]=c[e+328+8>>2];c[e+148+12>>2]=c[e+328+12>>2];c[e+68>>2]=c[d>>2];c[e+68+4>>2]=c[d+4>>2];c[e+68+8>>2]=c[d+8>>2];c[e+68+12>>2]=c[d+12>>2];c[e+84>>2]=c[e+20>>2];c[e+84+4>>2]=c[e+20+4>>2];c[e+84+8>>2]=c[e+20+8>>2];c[e+84+12>>2]=c[e+20+12>>2];c[e+100>>2]=c[e+36>>2];c[e+100+4>>2]=c[e+36+4>>2];c[e+100+8>>2]=c[e+36+8>>2];c[e+100+12>>2]=c[e+36+12>>2];c[e+116>>2]=c[e+52>>2];c[e+116+4>>2]=c[e+52+4>>2];c[e+116+8>>2]=c[e+52+8>>2];c[e+116+12>>2]=c[e+52+12>>2];d=c[a+8>>2]|0}g=g+1|0}while((g|0)<(d|0));Ta=h;return}function rg(b,d){b=b|0;d=d|0;var e=0;e=jx()|0;c[e+4>>2]=5;c[e>>2]=5796;c[e+8>>2]=-1;c[e+12>>2]=-1;f[e+16>>2]=3402823466385288598117041.0e14;a[e+20>>0]=1;a[e+21>>0]=0;c[e+24>>2]=-1;c[e+28>>2]=b;Fl();c[e+32>>2]=26168;f[e+36>>2]=0.0;f[e+40>>2]=.30000001192092896;c[e+44>>2]=0;c[e>>2]=5900;c[e+300>>2]=c[d>>2];c[e+300+4>>2]=c[d+4>>2];c[e+300+8>>2]=c[d+8>>2];c[e+300+12>>2]=c[d+12>>2];c[e+316>>2]=c[d+16>>2];c[e+316+4>>2]=c[d+16+4>>2];c[e+316+8>>2]=c[d+16+8>>2];c[e+316+12>>2]=c[d+16+12>>2];c[e+332>>2]=c[d+32>>2];c[e+332+4>>2]=c[d+32+4>>2];c[e+332+8>>2]=c[d+32+8>>2];c[e+332+12>>2]=c[d+32+12>>2];c[e+348>>2]=c[d+48>>2];c[e+348+4>>2]=c[d+48+4>>2];c[e+348+8>>2]=c[d+48+8>>2];c[e+348+12>>2]=c[d+48+12>>2];a[e+527>>0]=0;c[e+364>>2]=c[e+300>>2];c[e+364+4>>2]=c[e+300+4>>2];c[e+364+8>>2]=c[e+300+8>>2];c[e+364+12>>2]=c[e+300+12>>2];c[e+380>>2]=c[e+316>>2];c[e+380+4>>2]=c[e+316+4>>2];c[e+380+8>>2]=c[e+316+8>>2];c[e+380+12>>2]=c[e+316+12>>2];c[e+396>>2]=c[e+332>>2];c[e+396+4>>2]=c[e+332+4>>2];c[e+396+8>>2]=c[e+332+8>>2];c[e+396+12>>2]=c[e+332+12>>2];a[e+524>>0]=0;a[e+525>>0]=0;a[e+526>>0]=0;a[e+552>>0]=0;c[e+412>>2]=0;c[e+412+4>>2]=0;c[e+412+8>>2]=0;c[e+412+12>>2]=0;f[e+572>>2]=-1.0;f[e+444>>2]=999999984306749440.0;f[e+448>>2]=999999984306749440.0;f[e+452>>2]=999999984306749440.0;f[e+428>>2]=1.0;f[e+432>>2]=.30000001192092896;f[e+436>>2]=1.0;f[e+440>>2]=.009999999776482582;f[e+456>>2]=.05000000074505806;c[e+592>>2]=0;f[e+596>>2]=0.0;f[e+600>>2]=.699999988079071;f[e+604>>2]=0.0;return e|0}function sg(a,b,d,e,g){a=a|0;b=b|0;d=d|0;e=e|0;g=g|0;var h=0.0,i=0.0,j=0.0,k=0.0,l=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0,t=0;t=Ta;Ta=Ta+32|0;r=c[a+12>>2]|0;if(!r){Ta=t;return}c[g+4>>2]=r;a=c[b+4>>2]|0;e=c[d+4>>2]|0;b=c[b+12>>2]|0;d=c[d+12>>2]|0;n=+f[d+48>>2];h=+f[b+48>>2]-n;o=+f[d+52>>2];i=+f[b+52>>2]-o;l=+f[d+56>>2];k=+f[b+56>>2]-l;m=+s(+(h*h+i*i+k*k));q=+f[e+28>>2]*+f[e+12>>2];p=+f[a+28>>2]*+f[a+12>>2]+q;if(m>p){if(!(c[r+748>>2]|0)){Ta=t;return}e=c[r+740>>2]|0;a=c[(c[g+8>>2]|0)+8>>2]|0;if((e|0)==(a|0)){ye(r,e+4|0,(c[(c[g+12>>2]|0)+8>>2]|0)+4|0);Ta=t;return}else{ye(r,(c[(c[g+12>>2]|0)+8>>2]|0)+4|0,a+4|0);Ta=t;return}}c[t+16>>2]=1065353216;c[t+16+4>>2]=0;c[t+16+8>>2]=0;f[t+16+12>>2]=0.0;if(m>1.1920928955078125e-07){f[t+16>>2]=h*(1.0/m);f[t+16+4>>2]=i*(1.0/m);f[t+16+8>>2]=k*(1.0/m);f[t+16+12>>2]=0.0;j=h*(1.0/m);i=i*(1.0/m);h=k*(1.0/m)}else{j=1.0;i=0.0;h=0.0}f[t>>2]=n+q*j;f[t+4>>2]=o+q*i;f[t+8>>2]=l+q*h;f[t+12>>2]=0.0;Ab[c[(c[g>>2]|0)+16>>2]&31](g,t+16|0,t,m-p);e=c[g+4>>2]|0;do if(c[e+748>>2]|0){a=c[e+740>>2]|0;b=c[(c[g+8>>2]|0)+8>>2]|0;if((a|0)==(b|0)){ye(e,a+4|0,(c[(c[g+12>>2]|0)+8>>2]|0)+4|0);break}else{ye(e,(c[(c[g+12>>2]|0)+8>>2]|0)+4|0,b+4|0);break}}while(0);Ta=t;return}function tg(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;d=c[b+236>>2]|0;if((b|0)==0|(d|0)!=8){if(!((b|0)==0|(d&2|0)==0)){vb[c[(c[a>>2]|0)+92>>2]&255](a,b);return}d=c[b+188>>2]|0;if(d|0){h=c[a+68>>2]|0;h=eb[c[(c[h>>2]|0)+36>>2]&255](h)|0;zb[c[(c[h>>2]|0)+40>>2]&127](h,d,c[a+24>>2]|0);h=c[a+68>>2]|0;zb[c[(c[h>>2]|0)+12>>2]&127](h,d,c[a+24>>2]|0);c[b+188>>2]=0}d=c[a+8>>2]|0;if((d|0)<=0)return;e=c[a+16>>2]|0;g=0;while(1){f=e+(g<<2)|0;if((c[f>>2]|0)==(b|0))break;h=g+1|0;if((h|0)<(d|0))g=h;else{i=26;break}}if((i|0)==26)return;if((g|0)>=(d|0))return;c[f>>2]=c[e+(d+-1<<2)>>2];c[(c[a+16>>2]|0)+(d+-1<<2)>>2]=b;c[a+8>>2]=d+-1;return}f=c[a+328>>2]|0;a:do if((f|0)>0){g=c[a+336>>2]|0;d=0;while(1){e=g+(d<<2)|0;if((c[e>>2]|0)==(b|0))break;d=d+1|0;if((d|0)>=(f|0))break a}if((d|0)<(f|0)){c[e>>2]=c[g+(f+-1<<2)>>2];c[(c[a+336>>2]|0)+(f+-1<<2)>>2]=b;c[a+328>>2]=f+-1}}while(0);d=c[b+188>>2]|0;if(d|0){h=c[a+68>>2]|0;h=eb[c[(c[h>>2]|0)+36>>2]&255](h)|0;zb[c[(c[h>>2]|0)+40>>2]&127](h,d,c[a+24>>2]|0);h=c[a+68>>2]|0;zb[c[(c[h>>2]|0)+12>>2]&127](h,d,c[a+24>>2]|0);c[b+188>>2]=0}d=c[a+8>>2]|0;if((d|0)<=0)return;e=c[a+16>>2]|0;g=0;while(1){f=e+(g<<2)|0;if((c[f>>2]|0)==(b|0))break;h=g+1|0;if((h|0)<(d|0))g=h;else{i=26;break}}if((i|0)==26)return;if((g|0)>=(d|0))return;c[f>>2]=c[e+(d+-1<<2)>>2];c[(c[a+16>>2]|0)+(d+-1<<2)>>2]=b;c[a+8>>2]=d+-1;return}function ug(b,d,e,g){b=b|0;d=+d;e=e|0;g=+g;var h=0,i=0.0,j=0,k=0;k=Ta;Ta=Ta+16|0;Pa(c[6878]|0,0)|0;du(27472);c[6869]=(c[6869]|0)+1;j=c[6872]|0;c[6872]=j+1;if(!j){Pa(k|0,0)|0;j=c[6878]|0;c[6871]=(c[k+4>>2]|0)-(c[j+4>>2]|0)+(((c[k>>2]|0)-(c[j>>2]|0)|0)*1e6|0)}c[6877]=0;Pa(k|0,0)|0;Aj(15278);if(e){f[b+268>>2]=g;i=+f[b+264>>2]+d;f[b+264>>2]=i;if(!(i>=g)){d=g;j=0}else{f[b+264>>2]=i-+(~~(i/g)|0)*g;d=g;j=~~(i/g)}}else{f[b+264>>2]=(a[b+300>>0]|0)==0?d:0.0;f[b+268>>2]=0.0;j=!(+r(+d)<1.1920928955078125e-07)&1;e=j}if(eb[c[(c[b>>2]|0)+20>>2]&255](b)|0){h=eb[c[(c[b>>2]|0)+20>>2]&255](b)|0;h=eb[c[(c[h>>2]|0)+48>>2]&255](h)|0;a[28084]=(4?h>>>4:h)&1}if(j){e=(j|0)>(e|0)?e:j;qb[c[(c[b>>2]|0)+164>>2]&63](b,d*+(e|0));pb[c[(c[b>>2]|0)+168>>2]&511](b);if((e|0)>0){h=0;do{qb[c[(c[b>>2]|0)+160>>2]&63](b,d);pb[c[(c[b>>2]|0)+80>>2]&511](b);h=h+1|0}while((h|0)<(e|0));e=b}else e=b}else{pb[c[(c[b>>2]|0)+80>>2]&511](b);e=b}pb[c[(c[e>>2]|0)+120>>2]&511](b);c[6877]=(c[6877]|0)+1;e=c[2760]|0;b=(c[e+16>>2]|0)+-1|0;c[e+16>>2]=b;if(b|0){Ta=k;return j|0}do if(c[e+4>>2]|0){Pa(k|0,0)|0;b=c[6878]|0;f[e+8>>2]=+f[e+8>>2]+ +(((c[k+4>>2]|0)-(c[b+4>>2]|0)+(((c[k>>2]|0)-(c[b>>2]|0)|0)*1e6|0)-(c[e+12>>2]|0)|0)>>>0)/1.0e3;if(!(c[e+16>>2]|0)){e=c[2760]|0;break}else{Ta=k;return j|0}}while(0);c[2760]=c[e+20>>2];Ta=k;return j|0}function vg(a,b,d){a=a|0;b=b|0;d=+d;var e=0,g=0,h=0;e=Ta;Ta=Ta+288|0;f[e+280>>2]=d;h=vZ(b)|0;c[e+264>>2]=c[h>>2];c[e+264+4>>2]=c[h+4>>2];c[e+264+8>>2]=c[h+8>>2];c[e+264+12>>2]=c[h+12>>2];h=c[(c[a>>2]|0)+8>>2]|0;g=D$(b)|0;f[e+212>>2]=0.0;f[e+208>>2]=0.0;bx(e+216|0,e+280|0,e+212|0,e+208|0);lm(e+232|0,g,+f[e+216>>2],+f[e+216+4>>2],+f[e+216+8>>2]);sq(e+248|0,+f[e+264>>2],+f[e+264+4>>2],+f[e+264+8>>2],+f[e+232>>2],+f[e+232+4>>2],+f[e+232+8>>2]);f[e+184>>2]=.699999988079071;f[e+180>>2]=0.0;f[e+176>>2]=0.0;bx(e+192|0,e+184|0,e+180|0,e+176|0);Cb[h&127](a,e+264|0,e+248|0,e+192|0);b=c[(c[a>>2]|0)+8>>2]|0;f[e+124>>2]=0.0;f[e+120>>2]=0.0;bx(e+128|0,e+124|0,e+280|0,e+120|0);lm(e+144|0,g,+f[e+128>>2],+f[e+128+4>>2],+f[e+128+8>>2]);sq(e+160|0,+f[e+264>>2],+f[e+264+4>>2],+f[e+264+8>>2],+f[e+144>>2],+f[e+144+4>>2],+f[e+144+8>>2]);f[e+96>>2]=0.0;f[e+92>>2]=.699999988079071;f[e+88>>2]=0.0;bx(e+104|0,e+96|0,e+92|0,e+88|0);Cb[b&127](a,e+264|0,e+160|0,e+104|0);b=c[(c[a>>2]|0)+8>>2]|0;f[e+36>>2]=0.0;f[e+32>>2]=0.0;bx(e+40|0,e+36|0,e+32|0,e+280|0);lm(e+56|0,g,+f[e+40>>2],+f[e+40+4>>2],+f[e+40+8>>2]);sq(e+72|0,+f[e+264>>2],+f[e+264+4>>2],+f[e+264+8>>2],+f[e+56>>2],+f[e+56+4>>2],+f[e+56+8>>2]);f[e+8>>2]=0.0;f[e+4>>2]=0.0;f[e>>2]=.699999988079071;bx(e+16|0,e+8|0,e+4|0,e);Cb[b&127](a,e+264|0,e+72|0,e+16|0);Ta=e;return}function wg(a){a=a|0;var b=0,d=0,e=0.0,g=0.0,h=0.0,i=0.0,j=0,k=0,l=0,m=0.0,n=0.0,o=0,p=0.0;b=c[a+712>>2]|0;if((b|0)>0){d=0;do{l=(c[a+720>>2]|0)+(d*104|0)+72|0;d=d+1|0;c[l>>2]=0;c[l+4>>2]=0;c[l+8>>2]=0;c[l+12>>2]=0}while((d|0)!=(b|0))}b=c[a+752>>2]|0;if((b|0)>0){d=0;do{o=c[a+760>>2]|0;k=c[o+(d*44|0)+12>>2]|0;j=c[o+(d*44|0)+8>>2]|0;i=+f[j+8>>2];e=+f[k+8>>2]-i;g=+f[j+12>>2];h=+f[k+12>>2]-g;m=+f[j+16>>2];n=+f[k+16>>2]-m;l=c[o+(d*44|0)+16>>2]|0;i=+f[l+8>>2]-i;g=+f[l+12>>2]-g;m=+f[l+16>>2]-m;p=1.0/+s(+((e*g-h*i)*(e*g-h*i)+((h*m-n*g)*(h*m-n*g)+(n*i-e*m)*(n*i-e*m))));f[o+(d*44|0)+20>>2]=(h*m-n*g)*p;f[o+(d*44|0)+24>>2]=(n*i-e*m)*p;f[o+(d*44|0)+28>>2]=(e*g-h*i)*p;c[o+(d*44|0)+32>>2]=0;f[j+72>>2]=h*m-n*g+ +f[j+72>>2];f[j+76>>2]=n*i-e*m+ +f[j+76>>2];f[j+80>>2]=e*g-h*i+ +f[j+80>>2];f[k+72>>2]=h*m-n*g+ +f[k+72>>2];f[k+76>>2]=n*i-e*m+ +f[k+76>>2];f[k+80>>2]=e*g-h*i+ +f[k+80>>2];f[l+72>>2]=h*m-n*g+ +f[l+72>>2];f[l+76>>2]=n*i-e*m+ +f[l+76>>2];f[l+80>>2]=e*g-h*i+ +f[l+80>>2];d=d+1|0}while((d|0)!=(b|0))}l=c[a+712>>2]|0;if((l|0)<=0)return;b=c[a+720>>2]|0;k=0;do{d=b+(k*104|0)+72|0;e=+f[d>>2];j=b+(k*104|0)+76|0;g=+f[j>>2];a=b+(k*104|0)+80|0;h=+f[a>>2];i=+s(+(e*e+g*g+h*h));if(i>1.1920928955078125e-07){f[d>>2]=e*(1.0/i);f[j>>2]=g*(1.0/i);f[a>>2]=h*(1.0/i)}k=k+1|0}while((k|0)!=(l|0));return}function xg(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,g=0.0,h=0.0,i=0.0,j=0.0,k=0.0,l=0.0;h=+f[d+100>>2];j=+f[d+16>>2];k=+f[d+20>>2];l=+f[d+24>>2];e=+f[d+108>>2];e=+f[d+112>>2]-h*+f[d+116>>2]-(j*+f[a+64>>2]+k*+f[a+68>>2]+l*+f[a+72>>2]+(+f[d>>2]*+f[a+80>>2]+ +f[d+4>>2]*+f[a+84>>2]+ +f[d+8>>2]*+f[a+88>>2]))*e-e*(+f[d+48>>2]*+f[b+64>>2]+ +f[d+52>>2]*+f[b+68>>2]+ +f[d+56>>2]*+f[b+72>>2]+(+f[d+32>>2]*+f[b+80>>2]+ +f[d+36>>2]*+f[b+84>>2]+ +f[d+40>>2]*+f[b+88>>2]));g=+f[d+120>>2];if(!(h+e>2];if(h+e>g){i=g;e=g-h}else i=h+e}else{i=g;e=g-h}f[d+100>>2]=i;if(c[a+240>>2]|0){i=e*(k*+f[a+132>>2])*+f[a+116>>2];k=e*(l*+f[a+136>>2])*+f[a+120>>2];f[a+64>>2]=+f[a+112>>2]*(e*(j*+f[a+128>>2]))+ +f[a+64>>2];f[a+68>>2]=i+ +f[a+68>>2];f[a+72>>2]=k+ +f[a+72>>2];k=e*+f[a+100>>2]*+f[d+68>>2];l=e*+f[a+104>>2]*+f[d+72>>2];f[a+80>>2]=e*+f[a+96>>2]*+f[d+64>>2]+ +f[a+80>>2];f[a+84>>2]=k+ +f[a+84>>2];f[a+88>>2]=l+ +f[a+88>>2]}if(!(c[b+240>>2]|0))return;l=e*(+f[d+52>>2]*+f[b+132>>2])*+f[b+116>>2];k=e*(+f[d+56>>2]*+f[b+136>>2])*+f[b+120>>2];f[b+64>>2]=+f[b+112>>2]*(e*(+f[d+48>>2]*+f[b+128>>2]))+ +f[b+64>>2];f[b+68>>2]=l+ +f[b+68>>2];f[b+72>>2]=k+ +f[b+72>>2];k=e*+f[b+100>>2]*+f[d+84>>2];l=e*+f[b+104>>2]*+f[d+88>>2];f[b+80>>2]=e*+f[b+96>>2]*+f[d+80>>2]+ +f[b+80>>2];f[b+84>>2]=k+ +f[b+84>>2];f[b+88>>2]=l+ +f[b+88>>2];return}function yg(b,d,e,g){b=b|0;d=d|0;e=e|0;g=g|0;var h=0;h=jx()|0;c[h+4>>2]=5;c[h+8>>2]=-1;c[h+12>>2]=-1;f[h+16>>2]=3402823466385288598117041.0e14;a[h+20>>0]=1;a[h+21>>0]=0;c[h+24>>2]=-1;c[h+28>>2]=b;c[h+32>>2]=d;f[h+36>>2]=0.0;f[h+40>>2]=.30000001192092896;c[h+44>>2]=0;c[h>>2]=5900;c[h+300>>2]=c[e>>2];c[h+300+4>>2]=c[e+4>>2];c[h+300+8>>2]=c[e+8>>2];c[h+300+12>>2]=c[e+12>>2];c[h+316>>2]=c[e+16>>2];c[h+316+4>>2]=c[e+16+4>>2];c[h+316+8>>2]=c[e+16+8>>2];c[h+316+12>>2]=c[e+16+12>>2];c[h+332>>2]=c[e+32>>2];c[h+332+4>>2]=c[e+32+4>>2];c[h+332+8>>2]=c[e+32+8>>2];c[h+332+12>>2]=c[e+32+12>>2];c[h+348>>2]=c[e+48>>2];c[h+348+4>>2]=c[e+48+4>>2];c[h+348+8>>2]=c[e+48+8>>2];c[h+348+12>>2]=c[e+48+12>>2];c[h+364>>2]=c[g>>2];c[h+364+4>>2]=c[g+4>>2];c[h+364+8>>2]=c[g+8>>2];c[h+364+12>>2]=c[g+12>>2];c[h+380>>2]=c[g+16>>2];c[h+380+4>>2]=c[g+16+4>>2];c[h+380+8>>2]=c[g+16+8>>2];c[h+380+12>>2]=c[g+16+12>>2];c[h+396>>2]=c[g+32>>2];c[h+396+4>>2]=c[g+32+4>>2];c[h+396+8>>2]=c[g+32+8>>2];c[h+396+12>>2]=c[g+32+12>>2];c[h+412>>2]=c[g+48>>2];c[h+412+4>>2]=c[g+48+4>>2];c[h+412+8>>2]=c[g+48+8>>2];c[h+412+12>>2]=c[g+48+12>>2];a[h+552>>0]=0;c[h+524>>2]=0;f[h+572>>2]=-1.0;f[h+444>>2]=999999984306749440.0;f[h+448>>2]=999999984306749440.0;f[h+452>>2]=999999984306749440.0;f[h+428>>2]=1.0;f[h+432>>2]=.30000001192092896;f[h+436>>2]=1.0;f[h+440>>2]=.009999999776482582;f[h+456>>2]=.05000000074505806;c[h+592>>2]=0;f[h+596>>2]=0.0;f[h+600>>2]=.699999988079071;f[h+604>>2]=0.0;return h|0}function zg(b,d,e,g){b=b|0;d=d|0;e=e|0;g=g|0;var h=0.0,i=0.0,j=0.0,k=0.0,l=0,m=0.0;l=Ta;Ta=Ta+672|0;c[l+568+8>>2]=0;c[l+568+12>>2]=1065353216;c[l+568+16>>2]=1065353216;c[l+568+20>>2]=1065353216;f[l+568+24>>2]=0.0;c[l+568+52>>2]=0;c[l+568>>2]=4916;c[l+568+4>>2]=1;c[l+568+56>>2]=c[d>>2];c[l+568+56+4>>2]=c[d+4>>2];c[l+568+56+8>>2]=c[d+8>>2];c[l+568+56+12>>2]=c[d+12>>2];c[l+568+72>>2]=c[d+16>>2];c[l+568+72+4>>2]=c[d+16+4>>2];c[l+568+72+8>>2]=c[d+16+8>>2];c[l+568+72+12>>2]=c[d+16+12>>2];c[l+568+88>>2]=c[d+32>>2];c[l+568+88+4>>2]=c[d+32+4>>2];c[l+568+88+8>>2]=c[d+32+8>>2];c[l+568+88+12>>2]=c[d+32+12>>2];c[l+568+44>>2]=c[b+204>>2];f[l+208+308>>2]=9.999999747378752e-05;a[l+208+332>>0]=0;c[l+200>>2]=10732;d=c[b+4>>2]|0;c[l+176>>2]=10800;c[l+176+4>>2]=l+208;c[l+176+8>>2]=l+200;c[l+176+12>>2]=d;c[l+176+16>>2]=l+568;c[l+176+20>>2]=0;c[l>>2]=4888;c[l+168>>2]=0;f[l+164>>2]=1.0;c[l+172>>2]=c[b+208>>2];if((Id(l+176|0,b+8|0,b+72|0,b+136|0,b+136|0,l)|0?(j=+f[l+132>>2],k=+f[l+136>>2],h=+f[l+140>>2],j*j+k*k+h*h>9.999999747378752e-05):0)?(i=+f[l+164>>2],i<+f[b+200>>2]):0){m=1.0/+s(+(j*j+k*k+h*h));f[l+132>>2]=j*m;f[l+136>>2]=k*m;f[l+140>>2]=h*m;+_a[c[(c[b>>2]|0)+12>>2]&31](b,l+132|0,l+148|0,i,e,g)}c[l+568>>2]=8560;e=c[l+568+52>>2]|0;if(!e){Ta=l;return}pb[c[c[e>>2]>>2]&511](e);e=c[l+568+52>>2]|0;if(!e){Ta=l;return}c[6880]=(c[6880]|0)+1;kd(c[e+-4>>2]|0);Ta=l;return}function Ag(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,g=0.0,h=0.0,i=0.0,j=0.0,k=0.0,l=0.0;e=+f[d+128>>2];if(!(e!=0.0))return;c[6696]=(c[6696]|0)+1;k=+f[d+96>>2];g=+f[d+16>>2];h=+f[d+20>>2];i=+f[d+24>>2];j=+f[d+108>>2];j=e-k*+f[d+116>>2]-(g*+f[a+144>>2]+h*+f[a+148>>2]+i*+f[a+152>>2]+(+f[d>>2]*+f[a+160>>2]+ +f[d+4>>2]*+f[a+164>>2]+ +f[d+8>>2]*+f[a+168>>2]))*j-j*(+f[d+48>>2]*+f[b+144>>2]+ +f[d+52>>2]*+f[b+148>>2]+ +f[d+56>>2]*+f[b+152>>2]+(+f[d+32>>2]*+f[b+160>>2]+ +f[d+36>>2]*+f[b+164>>2]+ +f[d+40>>2]*+f[b+168>>2]));l=+f[d+120>>2];e=k+j>2]=k+j>2]|0){l=e*(h*+f[a+132>>2])*+f[a+116>>2];k=e*(i*+f[a+136>>2])*+f[a+120>>2];f[a+144>>2]=+f[a+112>>2]*(e*(g*+f[a+128>>2]))+ +f[a+144>>2];f[a+148>>2]=l+ +f[a+148>>2];f[a+152>>2]=k+ +f[a+152>>2];k=e*+f[a+100>>2]*+f[d+68>>2];l=e*+f[a+104>>2]*+f[d+72>>2];f[a+160>>2]=e*+f[a+96>>2]*+f[d+64>>2]+ +f[a+160>>2];f[a+164>>2]=k+ +f[a+164>>2];f[a+168>>2]=l+ +f[a+168>>2]}if(!(c[b+240>>2]|0))return;l=e*(+f[d+52>>2]*+f[b+132>>2])*+f[b+116>>2];k=e*(+f[d+56>>2]*+f[b+136>>2])*+f[b+120>>2];f[b+144>>2]=+f[b+112>>2]*(e*(+f[d+48>>2]*+f[b+128>>2]))+ +f[b+144>>2];f[b+148>>2]=l+ +f[b+148>>2];f[b+152>>2]=k+ +f[b+152>>2];k=e*+f[b+100>>2]*+f[d+84>>2];l=e*+f[b+104>>2]*+f[d+88>>2];f[b+160>>2]=e*+f[b+96>>2]*+f[d+80>>2]+ +f[b+160>>2];f[b+164>>2]=k+ +f[b+164>>2];f[b+168>>2]=l+ +f[b+168>>2];return}function Bg(d,e){d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0;if(!(a[d+164>>0]|0)){f=c[d+148>>2]|0;if((f|0)==(c[d+152>>2]|0)?(k=(f|0)==0?1:f<<1,(f|0)<(k|0)):0){if(!k)g=0;else{c[6879]=(c[6879]|0)+1;f=Zb((k<<1)+19|0)|0;if(!f)g=0;else{c[(f+4+15&-16)+-4>>2]=f;g=f+4+15&-16}f=c[d+148>>2]|0}i=c[d+156>>2]|0;if((f|0)<=0)if(!i)h=d+160|0;else l=29;else{h=0;do{b[g+(h<<1)>>1]=b[i+(h<<1)>>1]|0;h=h+1|0}while((h|0)!=(f|0));l=29}if((l|0)==29){if(a[d+160>>0]|0){c[6880]=(c[6880]|0)+1;kd(c[i+-4>>2]|0);f=c[d+148>>2]|0}c[d+156>>2]=0;h=d+160|0}a[h>>0]=1;c[d+156>>2]=g;c[d+152>>2]=k}l=c[d+156>>2]|0;b[l+(f<<1)>>1]=e;c[d+148>>2]=f+1;c[(c[d+32>>2]|0)+4>>2]=l;return}else{f=c[d+128>>2]|0;if((f|0)==(c[d+132>>2]|0)?(j=(f|0)==0?1:f<<1,(f|0)<(j|0)):0){if(!j)g=0;else{c[6879]=(c[6879]|0)+1;f=Zb((j<<2|3)+16|0)|0;if(!f)g=0;else{c[(f+4+15&-16)+-4>>2]=f;g=f+4+15&-16}f=c[d+128>>2]|0}i=c[d+136>>2]|0;if((f|0)<=0)if(!i)h=d+140|0;else l=13;else{h=0;do{c[g+(h<<2)>>2]=c[i+(h<<2)>>2];h=h+1|0}while((h|0)!=(f|0));l=13}if((l|0)==13){if(a[d+140>>0]|0){c[6880]=(c[6880]|0)+1;kd(c[i+-4>>2]|0)}c[d+136>>2]=0;f=c[d+128>>2]|0;h=d+140|0}a[h>>0]=1;c[d+136>>2]=g;c[d+132>>2]=j}l=c[d+136>>2]|0;c[l+(f<<2)>>2]=e;c[d+128>>2]=(c[d+128>>2]|0)+1;c[(c[d+32>>2]|0)+4>>2]=l;return}}function Cg(a,b,d){a=a|0;b=+b;d=+d;var e=0,g=0,h=0,i=0,j=0,k=0.0,l=0.0,m=0.0,n=0,o=0.0,p=0.0,q=0.0,r=0.0,s=0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0;h=Ta;Ta=Ta+16|0;b=+f[a+336>>2]*b;d=+f[a+452>>2];e=c[a+792>>2]|0;if((e|0)<=0){Ta=h;return}g=0;do{s=c[a+800>>2]|0;j=c[s+(g*96|0)+20>>2]|0;n=c[s+(g*96|0)>>2]|0;x=+f[s+(g*96|0)+4>>2];w=+f[s+(g*96|0)+8>>2];v=+f[s+(g*96|0)+12>>2];i=s+(g*96|0)+76|0;u=+f[j+332>>2];o=+f[s+(g*96|0)+84>>2];y=+f[j+336>>2];l=+f[s+(g*96|0)+80>>2];k=+f[i>>2];m=+f[j+328>>2];r=+f[n+8>>2];q=+f[n+12>>2];p=+f[n+16>>2];t=b*(x*+f[j+4>>2]+w*+f[j+8>>2]+v*+f[j+12>>2]+ +f[j+52>>2]-r)+(d*(u*o-y*l+ +f[j+312>>2])-(r-+f[n+24>>2]));o=b*(x*+f[j+20>>2]+w*+f[j+24>>2]+v*+f[j+28>>2]+ +f[j+56>>2]-q)+(d*(+f[j+316>>2]+(y*k-o*m))-(q-+f[n+28>>2]));k=b*(x*+f[j+36>>2]+w*+f[j+40>>2]+v*+f[j+44>>2]+ +f[j+60>>2]-p)+(d*(l*m-u*k+ +f[j+320>>2])-(p-+f[n+32>>2]));u=+f[s+(g*96|0)+24>>2];m=(t*+f[s+(g*96|0)+28>>2]+o*+f[s+(g*96|0)+32>>2]+ +f[s+(g*96|0)+36>>2]*k)*u;l=(t*+f[s+(g*96|0)+44>>2]+o*+f[s+(g*96|0)+48>>2]+k*+f[s+(g*96|0)+52>>2])*u;k=u*(t*+f[s+(g*96|0)+60>>2]+o*+f[s+(g*96|0)+64>>2]+k*+f[s+(g*96|0)+68>>2]);o=+f[s+(g*96|0)+92>>2];f[n+8>>2]=r+m*o;f[n+12>>2]=q+o*l;f[n+16>>2]=p+o*k;f[h>>2]=-m;f[h+4>>2]=-l;f[h+8>>2]=-k;f[h+12>>2]=0.0;ql(j,h,i);g=g+1|0}while((g|0)!=(e|0));Ta=h;return}function Dg(a,b,c,d,e,g,h,i,j){a=+a;b=+b;c=+c;d=+d;e=+e;g=+g;h=h|0;i=+i;j=j|0;var k=0.0,l=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,t=0.0,w=0.0;o=1.0/+s(+((e*a-d*b)*(e*a-d*b)+((g*b-e*c)*(g*b-e*c)+(d*c-g*a)*(d*c-g*a))));q=+f[h>>2];r=+f[h+4>>2];p=+f[h+8>>2];d=+y(+(p*((e*a-d*b)*o)+(q*((g*b-e*c)*o)+r*((d*c-g*a)*o))),+(q*d+r*e+p*g));do if(!(i<0.0&d=0.0&d>i){t=+v(+((i-d)*.5))/+s(+(c*c+(b*b+a*a)));w=+u(+((i-d)*.5));d=2.0/(w*w+(t*c*(t*c)+(t*a*(t*a)+t*b*(t*b))));e=t*b*(t*b*d)+t*c*(t*c*d);g=t*a*(t*c*d)+w*(t*b*d);i=t*a*(t*b*d)+w*(t*c*d);k=t*a*(t*a*d)+t*c*(t*c*d);l=t*b*(t*c*d)+w*(t*a*d);m=t*a*(t*a*d)+t*b*(t*b*d);n=t*a*(t*b*d)-w*(t*c*d);o=t*b*(t*c*d)-w*(t*a*d);d=t*a*(t*c*d)-w*(t*b*d);break}else{j=0;return j|0}else{w=+v(+((i-d)*.5))/+s(+(c*c+(b*b+a*a)));t=+u(+((i-d)*.5));d=2.0/(t*t+(w*c*(w*c)+(w*a*(w*a)+w*b*(w*b))));e=w*b*(w*b*d)+w*c*(w*c*d);g=w*a*(w*c*d)+t*(w*b*d);i=w*a*(w*b*d)+t*(w*c*d);k=w*a*(w*a*d)+w*c*(w*c*d);l=w*b*(w*c*d)+t*(w*a*d);m=w*a*(w*a*d)+w*b*(w*b*d);n=w*a*(w*b*d)-t*(w*c*d);o=w*b*(w*c*d)-t*(w*a*d);d=w*a*(w*c*d)-t*(w*b*d)}while(0);f[j>>2]=p*g+(r*n+q*(1.0-e));f[j+4>>2]=p*o+(q*i+r*(1.0-k));f[j+8>>2]=q*d+r*l+p*(1.0-m);f[j+12>>2]=0.0;j=1;return j|0}function Eg(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;c[6866]=(c[6866]|0)+1;l=(e<<16|d)+~((e<<16|d)<<15)|0;l=((10?l>>10:l)^l)*9|0;l=(6?l>>6:l)^l;l=(16?l+~(l<<11)>>16:l+~(l<<11)|0)^l+~(l<<11);k=c[b+12>>2]|0;f=c[(c[b+40>>2]|0)+((k+-1&l)<<2)>>2]|0;a:do if((f|0)!=-1){h=c[b+16>>2]|0;while(1){g=h+(f*12|0)|0;if((c[g>>2]|0)==(d|0)?(c[h+(f*12|0)+4>>2]|0)==(e|0):0)break;f=c[(c[b+60>>2]|0)+(f<<2)>>2]|0;if((f|0)==-1)break a}if(g|0){b=g;return b|0}}while(0);j=c[b+8>>2]|0;if((j|0)==(k|0)){h=(k|0)==0?1:k<<1;if((k|0)<(h|0)){if(!h){g=k;i=0}else{c[6879]=(c[6879]|0)+1;f=Zb((h*12|3)+16|0)|0;if(!f)f=0;else{c[(f+4+15&-16)+-4>>2]=f;f=f+4+15&-16}g=c[b+8>>2]|0;i=f}if((g|0)>0){f=0;do{m=i+(f*12|0)|0;n=(c[b+16>>2]|0)+(f*12|0)|0;c[m>>2]=c[n>>2];c[m+4>>2]=c[n+4>>2];c[m+8>>2]=c[n+8>>2];f=f+1|0}while((f|0)!=(g|0))}f=c[b+16>>2]|0;if(f|0){if(a[b+20>>0]|0){c[6880]=(c[6880]|0)+1;kd(c[f+-4>>2]|0)}c[b+16>>2]=0}a[b+20>>0]=1;c[b+16>>2]=i;c[b+12>>2]=h;f=c[b+8>>2]|0}else{f=k;h=k}}else{f=j;h=k}c[b+8>>2]=f+1;g=c[b+16>>2]|0;if((k|0)<(h|0)){Af(b);f=(c[b+12>>2]|0)+-1&l}else f=k+-1&l;c[g+(j*12|0)>>2]=d;c[g+(j*12|0)+4>>2]=e;c[g+(j*12|0)+8>>2]=0;n=(c[b+40>>2]|0)+(f<<2)|0;c[(c[b+60>>2]|0)+(j<<2)>>2]=c[n>>2];c[n>>2]=j;n=g+(j*12|0)|0;return n|0}function Fg(b,d,e,g,h){b=b|0;d=d|0;e=e|0;g=g|0;h=h|0;var i=0;i=tx()|0;c[i+4>>2]=4;c[i+8>>2]=-1;c[i+12>>2]=-1;f[i+16>>2]=3402823466385288598117041.0e14;a[i+20>>0]=1;a[i+21>>0]=0;c[i+24>>2]=-1;c[i+28>>2]=b;c[i+32>>2]=d;f[i+36>>2]=0.0;f[i+40>>2]=.30000001192092896;c[i+44>>2]=0;c[i>>2]=5956;c[i+552>>2]=c[e>>2];c[i+552+4>>2]=c[e+4>>2];c[i+552+8>>2]=c[e+8>>2];c[i+552+12>>2]=c[e+12>>2];c[i+568>>2]=c[e+16>>2];c[i+568+4>>2]=c[e+16+4>>2];c[i+568+8>>2]=c[e+16+8>>2];c[i+568+12>>2]=c[e+16+12>>2];c[i+584>>2]=c[e+32>>2];c[i+584+4>>2]=c[e+32+4>>2];c[i+584+8>>2]=c[e+32+8>>2];c[i+584+12>>2]=c[e+32+12>>2];c[i+600>>2]=c[e+48>>2];c[i+600+4>>2]=c[e+48+4>>2];c[i+600+8>>2]=c[e+48+8>>2];c[i+600+12>>2]=c[e+48+12>>2];c[i+616>>2]=c[g>>2];c[i+616+4>>2]=c[g+4>>2];c[i+616+8>>2]=c[g+8>>2];c[i+616+12>>2]=c[g+12>>2];c[i+632>>2]=c[g+16>>2];c[i+632+4>>2]=c[g+16+4>>2];c[i+632+8>>2]=c[g+16+8>>2];c[i+632+12>>2]=c[g+16+12>>2];c[i+648>>2]=c[g+32>>2];c[i+648+4>>2]=c[g+32+4>>2];c[i+648+8>>2]=c[g+32+8>>2];c[i+648+12>>2]=c[g+32+12>>2];c[i+664>>2]=c[g+48>>2];c[i+664+4>>2]=c[g+48+4>>2];c[i+664+8>>2]=c[g+48+8>>2];c[i+664+12>>2]=c[g+48+12>>2];f[i+688>>2]=0.0;f[i+692>>2]=-1.0;f[i+696>>2]=.8999999761581421;f[i+700>>2]=.30000001192092896;f[i+704>>2]=1.0;f[i+708>>2]=0.0;f[i+712>>2]=0.0;a[i+716>>0]=0;a[i+736>>0]=0;a[i+737>>0]=0;a[i+738>>0]=0;a[i+739>>0]=1;a[i+740>>0]=h&1;c[i+748>>2]=0;f[i+732>>2]=h?-1.0:1.0;return i|0}function Gg(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;e=gb[c[(c[d>>2]|0)+40>>2]&63](d,a)|0;g=gb[c[(c[d>>2]|0)+28>>2]&63](d,e)|0;c[b>>2]=g;if(g|0)vb[c[(c[d>>2]|0)+48>>2]&255](d,e);c[b+4>>2]=c[a+4>>2];g=c[a+48>>2]|0;ib[c[(c[g>>2]|0)+56>>2]&63](g,b+12|0,d)|0;c[b+52>>2]=c[a+12>>2];do if((c[a+52>>2]|0)!=0?((eb[c[(c[d>>2]|0)+52>>2]&255](d)|0)&1|0)==0:0){e=gb[c[(c[d>>2]|0)+24>>2]&63](d,c[a+52>>2]|0)|0;if(!e){c[b+40>>2]=gb[c[(c[d>>2]|0)+28>>2]&63](d,c[a+52>>2]|0)|0;c[b+44>>2]=0;e=c[a+52>>2]|0;e=eb[c[(c[e>>2]|0)+12>>2]&255](e)|0;e=ib[c[(c[d>>2]|0)+16>>2]&63](d,e,1)|0;g=c[a+52>>2]|0;g=ib[c[(c[g>>2]|0)+16>>2]&63](g,c[e+8>>2]|0,d)|0;Gb[c[(c[d>>2]|0)+20>>2]&63](d,e,g,1213612625,c[a+52>>2]|0);break}else{c[b+40>>2]=e;c[b+44>>2]=0;break}}else f=8;while(0);if((f|0)==8){c[b+40>>2]=0;c[b+44>>2]=0}if(c[a+56>>2]|0?((eb[c[(c[d>>2]|0)+52>>2]&255](d)|0)&2|0)==0:0){e=gb[c[(c[d>>2]|0)+24>>2]&63](d,c[a+56>>2]|0)|0;if(!e){c[b+48>>2]=gb[c[(c[d>>2]|0)+28>>2]&63](d,c[a+56>>2]|0)|0;b=c[a+56>>2]|0;b=eb[c[(c[b>>2]|0)+8>>2]&255](b)|0;b=ib[c[(c[d>>2]|0)+16>>2]&63](d,b,1)|0;g=c[a+56>>2]|0;g=ib[c[(c[g>>2]|0)+12>>2]&63](g,c[b+8>>2]|0,d)|0;Gb[c[(c[d>>2]|0)+20>>2]&63](d,b,g,1346456916,c[a+56>>2]|0);return 19888}else{c[b+48>>2]=e;return 19888}}c[b+48>>2]=0;return 19888}function Hg(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var g=0.0,h=0,i=0,j=0,k=0,l=0.0,m=0.0,n=0.0,o=0,p=0.0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0.0,z=0.0,A=0.0,B=0;x=Ta;Ta=Ta+2048|0;if((e|0)<=0){Ta=x;return}v=0;do{q=c[a+92>>2]|0;if((q|0)>0){r=b+(v<<4)|0;u=b+(v<<4)+4|0;s=b+(v<<4)+8|0;t=d+(v<<4)|0;w=0;p=-999999984306749440.0;j=c[a+100>>2]|0;i=c[a+120>>2]|0;while(1){k=q-w|0;o=(k|0)<128?k:128;if((k|0)>0){l=+f[r>>2];m=+f[u>>2];n=+f[s>>2];h=0;do{y=+f[i>>2];A=+f[j>>2]+l*+f[a+12>>2]*y;z=m*+f[a+16>>2]*y+ +f[j+4>>2];y=y*(n*+f[a+20>>2])+ +f[j+8>>2];g=+Wa[c[(c[a>>2]|0)+48>>2]&31](a);l=+f[r>>2];m=+f[u>>2];n=+f[s>>2];f[x+(h<<4)>>2]=A-g*l;f[x+(h<<4)+4>>2]=z-g*m;f[x+(h<<4)+8>>2]=y-g*n;f[x+(h<<4)+12>>2]=0.0;j=j+16|0;i=i+4|0;h=h+1|0}while((h|0)<(o|0));k=0;g=-3402823466385288598117041.0e14;h=-1;do{A=l*+f[x+(k<<4)>>2]+m*+f[x+(k<<4)+4>>2]+n*+f[x+(k<<4)+8>>2];B=A>g;h=B?k:h;g=B?A:g;k=k+1|0}while((k|0)!=(o|0))}else{g=-3402823466385288598117041.0e14;h=-1}if(g>p){B=x+(h<<4)|0;c[t>>2]=c[B>>2];c[t+4>>2]=c[B+4>>2];c[t+8>>2]=c[B+8>>2];c[t+12>>2]=c[B+12>>2]}else g=p;w=w+128|0;if((q|0)<=(w|0))break;else p=g}}v=v+1|0}while((v|0)!=(e|0));Ta=x;return}function Ig(b,d,e,g){b=b|0;d=d|0;e=e|0;g=g|0;var h=0;h=tx()|0;c[h+4>>2]=4;c[h+8>>2]=-1;c[h+12>>2]=-1;f[h+16>>2]=3402823466385288598117041.0e14;a[h+20>>0]=1;a[h+21>>0]=0;c[h+24>>2]=-1;c[h+28>>2]=b;c[h+32>>2]=d;f[h+36>>2]=0.0;f[h+40>>2]=.30000001192092896;c[h+44>>2]=0;c[h>>2]=5956;c[h+552>>2]=c[e>>2];c[h+552+4>>2]=c[e+4>>2];c[h+552+8>>2]=c[e+8>>2];c[h+552+12>>2]=c[e+12>>2];c[h+568>>2]=c[e+16>>2];c[h+568+4>>2]=c[e+16+4>>2];c[h+568+8>>2]=c[e+16+8>>2];c[h+568+12>>2]=c[e+16+12>>2];c[h+584>>2]=c[e+32>>2];c[h+584+4>>2]=c[e+32+4>>2];c[h+584+8>>2]=c[e+32+8>>2];c[h+584+12>>2]=c[e+32+12>>2];c[h+600>>2]=c[e+48>>2];c[h+600+4>>2]=c[e+48+4>>2];c[h+600+8>>2]=c[e+48+8>>2];c[h+600+12>>2]=c[e+48+12>>2];c[h+616>>2]=c[g>>2];c[h+616+4>>2]=c[g+4>>2];c[h+616+8>>2]=c[g+8>>2];c[h+616+12>>2]=c[g+12>>2];c[h+632>>2]=c[g+16>>2];c[h+632+4>>2]=c[g+16+4>>2];c[h+632+8>>2]=c[g+16+8>>2];c[h+632+12>>2]=c[g+16+12>>2];c[h+648>>2]=c[g+32>>2];c[h+648+4>>2]=c[g+32+4>>2];c[h+648+8>>2]=c[g+32+8>>2];c[h+648+12>>2]=c[g+32+12>>2];c[h+664>>2]=c[g+48>>2];c[h+664+4>>2]=c[g+48+4>>2];c[h+664+8>>2]=c[g+48+8>>2];c[h+664+12>>2]=c[g+48+12>>2];f[h+688>>2]=0.0;f[h+692>>2]=-1.0;f[h+696>>2]=.8999999761581421;f[h+700>>2]=.30000001192092896;f[h+704>>2]=1.0;f[h+708>>2]=0.0;f[h+712>>2]=0.0;a[h+716>>0]=0;a[h+736>>0]=0;a[h+737>>0]=0;a[h+738>>0]=0;a[h+739>>0]=1;a[h+740>>0]=0;c[h+748>>2]=0;f[h+732>>2]=1.0;return h|0}function Jg(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,g=0.0,h=0.0,i=0.0,j=0.0,k=0.0,l=0.0;k=+f[d+100>>2];e=+f[d+16>>2];g=+f[d+20>>2];h=+f[d+24>>2];j=+f[d+108>>2];j=+f[d+112>>2]-k*+f[d+116>>2]-(e*+f[a+64>>2]+g*+f[a+68>>2]+h*+f[a+72>>2]+(+f[d>>2]*+f[a+80>>2]+ +f[d+4>>2]*+f[a+84>>2]+ +f[d+8>>2]*+f[a+88>>2]))*j-j*(+f[d+48>>2]*+f[b+64>>2]+ +f[d+52>>2]*+f[b+68>>2]+ +f[d+56>>2]*+f[b+72>>2]+(+f[d+32>>2]*+f[b+80>>2]+ +f[d+36>>2]*+f[b+84>>2]+ +f[d+40>>2]*+f[b+88>>2]));l=+f[d+120>>2];i=k+j>2]=k+j>2]|0){l=i*(g*+f[a+132>>2])*+f[a+116>>2];k=i*(h*+f[a+136>>2])*+f[a+120>>2];f[a+64>>2]=+f[a+112>>2]*(i*(e*+f[a+128>>2]))+ +f[a+64>>2];f[a+68>>2]=l+ +f[a+68>>2];f[a+72>>2]=k+ +f[a+72>>2];k=i*+f[a+100>>2]*+f[d+68>>2];l=i*+f[a+104>>2]*+f[d+72>>2];f[a+80>>2]=i*+f[a+96>>2]*+f[d+64>>2]+ +f[a+80>>2];f[a+84>>2]=k+ +f[a+84>>2];f[a+88>>2]=l+ +f[a+88>>2]}if(!(c[b+240>>2]|0))return;l=i*(+f[d+52>>2]*+f[b+132>>2])*+f[b+116>>2];k=i*(+f[d+56>>2]*+f[b+136>>2])*+f[b+120>>2];f[b+64>>2]=+f[b+112>>2]*(i*(+f[d+48>>2]*+f[b+128>>2]))+ +f[b+64>>2];f[b+68>>2]=l+ +f[b+68>>2];f[b+72>>2]=k+ +f[b+72>>2];k=i*+f[b+100>>2]*+f[d+84>>2];l=i*+f[b+104>>2]*+f[d+88>>2];f[b+80>>2]=i*+f[b+96>>2]*+f[d+80>>2]+ +f[b+80>>2];f[b+84>>2]=k+ +f[b+84>>2];f[b+88>>2]=l+ +f[b+88>>2];return}function Kg(b,d,e,g,h,i){b=b|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0.0,n=0.0,o=0.0,p=0.0,q=0,r=0;c[6879]=(c[6879]|0)+1;b=Zb((h+2|0)>>>0>268435455?18:(h+2<<4|3)+16|0)|0;if(!b)k=0;else{c[(b+4+15&-16)+-4>>2]=b;k=b+4+15&-16}j=w$((h+2|0)>>>0>1073741823?-1:h+2<<2)|0;if((h|0)>-2){b=0;do{p=+(b|0)/+(h+1|0);o=+f[e>>2];n=+f[e+4>>2];n=n+p*(+f[g+4>>2]-n);m=+f[e+8>>2];m=m+p*(+f[g+8>>2]-m);f[k+(b<<4)>>2]=o+p*(+f[g>>2]-o);f[k+(b<<4)+4>>2]=n;f[k+(b<<4)+8>>2]=m;f[k+(b<<4)+12>>2]=0.0;f[j+(b<<2)>>2]=1.0;b=b+1|0}while((b|0)<(h+2|0))}c[6879]=(c[6879]|0)+1;b=Zb(1271)|0;if(!b)l=0;else{c[(b+4+15&-16)+-4>>2]=b;l=b+4+15&-16}jc(l,d,h+2|0,k,j);if(i&1|0){f[(c[l+720>>2]|0)+88>>2]=0.0;a[l+924>>0]=1}if(i&2|0){f[(c[l+720>>2]|0)+((h+1|0)*104|0)+88>>2]=0.0;a[l+924>>0]=1}if(k|0){c[6880]=(c[6880]|0)+1;kd(c[k+-4>>2]|0)}x$(j);if((h|0)<=-1)return l|0;k=l+720|0;g=l+732|0;e=l+740|0;b=l+924|0;j=1;do{r=j+-1|0;q=c[k>>2]|0;fi(l,0);d=(c[g>>2]|0)+-1|0;i=c[e>>2]|0;c[i+(d*52|0)+8>>2]=q+(r*104|0);c[i+(d*52|0)+12>>2]=q+(j*104|0);n=+f[q+(r*104|0)+8>>2]-+f[q+(j*104|0)+8>>2];o=+f[q+(r*104|0)+12>>2]-+f[q+(j*104|0)+12>>2];p=+f[q+(r*104|0)+16>>2]-+f[q+(j*104|0)+16>>2];f[i+(d*52|0)+16>>2]=+s(+(n*n+o*o+p*p));a[b>>0]=1;j=j+1|0}while((j|0)<(h+2|0));return l|0}function Lg(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var g=0.0,h=0.0,i=0.0,j=0.0,k=0.0,l=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0,C=0.0,D=0.0,E=0.0,F=0.0,G=0.0,H=0.0,I=0.0,J=0.0;J=+f[a+4>>2];I=+f[a+20>>2];H=+f[a+36>>2];F=+f[a+8>>2];E=+f[a+24>>2];D=+f[a+40>>2];B=+f[a+12>>2];z=+f[a+28>>2];x=+f[a+44>>2];u=+f[b+4>>2];t=+f[b+20>>2];s=+f[b+36>>2];q=+f[b+8>>2];p=+f[b+24>>2];o=+f[b+40>>2];m=+f[b+12>>2];k=+f[b+28>>2];i=+f[b+44>>2];c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;A=+f[e>>2];y=+f[e+4>>2];w=+f[e+8>>2];f[d+16>>2]=J*A+I*y+H*w;f[d+20>>2]=F*A+E*y+D*w;f[d+24>>2]=B*A+z*y+x*w;f[d+28>>2]=0.0;l=-+f[e>>2];j=-+f[e+4>>2];h=-+f[e+8>>2];f[d+32>>2]=u*l+t*j+s*h;f[d+36>>2]=q*l+p*j+o*h;f[d+40>>2]=m*l+k*j+i*h;f[d+44>>2]=0.0;G=(J*A+I*y+H*w)*+f[a+396>>2];C=(F*A+E*y+D*w)*+f[a+400>>2];v=(B*A+z*y+x*w)*+f[a+404>>2];f[d+48>>2]=G;f[d+52>>2]=C;f[d+56>>2]=v;f[d+60>>2]=0.0;r=(u*l+t*j+s*h)*+f[b+396>>2];n=(q*l+p*j+o*h)*+f[b+400>>2];g=(m*l+k*j+i*h)*+f[b+404>>2];f[d+64>>2]=r;f[d+68>>2]=n;f[d+72>>2]=g;f[d+76>>2]=0.0;f[d+80>>2]=(J*A+I*y+H*w)*G+(F*A+E*y+D*w)*C+(B*A+z*y+x*w)*v+((u*l+t*j+s*h)*r+(q*l+p*j+o*h)*n+(m*l+k*j+i*h)*g);return}function Mg(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0;k=Ta;Ta=Ta+96|0;g=c[b+8>>2]|0;if((g|0)==(c[b+12>>2]|0)?(j=(g|0)==0?1:g<<1,(g|0)<(j|0)):0){if(!j)h=0;else{c[6879]=(c[6879]|0)+1;g=Zb((j<<2|3)+16|0)|0;if(!g)h=0;else{c[(g+4+15&-16)+-4>>2]=g;h=g+4+15&-16}g=c[b+8>>2]|0}if((g|0)>0){i=0;do{c[h+(i<<2)>>2]=c[(c[b+16>>2]|0)+(i<<2)>>2];i=i+1|0}while((i|0)!=(g|0))}i=c[b+16>>2]|0;if(i){if(a[b+20>>0]|0){c[6880]=(c[6880]|0)+1;kd(c[i+-4>>2]|0);g=c[b+8>>2]|0}c[b+16>>2]=0}a[b+20>>0]=1;c[b+16>>2]=h;c[b+12>>2]=j}c[(c[b+16>>2]|0)+(g<<2)>>2]=d;c[b+8>>2]=g+1;c[k+32>>2]=c[d+4>>2];c[k+32+4>>2]=c[d+4+4>>2];c[k+32+8>>2]=c[d+4+8>>2];c[k+32+12>>2]=c[d+4+12>>2];c[k+32+16>>2]=c[d+20>>2];c[k+32+16+4>>2]=c[d+20+4>>2];c[k+32+16+8>>2]=c[d+20+8>>2];c[k+32+16+12>>2]=c[d+20+12>>2];c[k+32+32>>2]=c[d+36>>2];c[k+32+32+4>>2]=c[d+36+4>>2];c[k+32+32+8>>2]=c[d+36+8>>2];c[k+32+32+12>>2]=c[d+36+12>>2];c[k+32+48>>2]=c[d+52>>2];c[k+32+48+4>>2]=c[d+52+4>>2];c[k+32+48+8>>2]=c[d+52+8>>2];c[k+32+48+12>>2]=c[d+52+12>>2];j=c[d+192>>2]|0;Cb[c[(c[j>>2]|0)+8>>2]&127](j,k+32|0,k+16|0,k);j=c[b+68>>2]|0;c[d+188>>2]=mb[c[(c[j>>2]|0)+8>>2]&31](j,k+16|0,k,c[(c[d+192>>2]|0)+4>>2]|0,d,e,f,c[b+24>>2]|0,0)|0;Ta=k;return}function Ng(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var g=0,h=0,i=0.0,j=0.0,k=0.0,l=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0,u=0,v=0.0,w=0,x=0;w=Ta;Ta=Ta+16|0;g=c[a+52>>2]|0;v=+f[a+28+(((g+2|0)%3|0)<<2)>>2];if((e|0)<=0){Ta=w;return}h=0;while(1){c[w>>2]=0;c[w+4>>2]=0;c[w+8>>2]=0;c[w+12>>2]=0;c[w+(g<<2)>>2]=c[a+28+(g<<2)>>2];g=b+(h<<4)|0;t=b+(h<<4)+4|0;u=b+(h<<4)+8|0;l=v*+f[g>>2]+ +f[w>>2];n=v*+f[t>>2]+ +f[w+4>>2];m=v*+f[u>>2]+ +f[w+8>>2];o=+Wa[c[(c[a>>2]|0)+48>>2]&31](a);i=+f[g>>2];j=+f[t>>2];k=+f[u>>2];if(i*(l-o*i)+j*(n-o*j)+k*(m-o*k)>-999999984306749440.0){f[d+(h<<4)>>2]=l-o*i;f[d+(h<<4)+4>>2]=n-o*j;f[d+(h<<4)+8>>2]=m-o*k;f[d+(h<<4)+12>>2]=0.0;p=+f[g>>2];r=+f[t>>2];s=+f[u>>2];q=i*(l-o*i)+j*(n-o*j)+k*(m-o*k)}else{p=i;r=j;s=k;q=-999999984306749440.0}c[w>>2]=0;c[w+4>>2]=0;c[w+8>>2]=0;c[w+12>>2]=0;x=c[a+52>>2]|0;f[w+(x<<2)>>2]=-+f[a+28+(x<<2)>>2];o=v*p+ +f[w>>2];n=v*r+ +f[w+4>>2];l=v*s+ +f[w+8>>2];m=+Wa[c[(c[a>>2]|0)+48>>2]&31](a);k=+f[g>>2];j=+f[t>>2];i=+f[u>>2];if(k*(o-m*k)+j*(n-m*j)+i*(l-m*i)>q){f[d+(h<<4)>>2]=o-m*k;f[d+(h<<4)+4>>2]=n-m*j;f[d+(h<<4)+8>>2]=l-m*i;f[d+(h<<4)+12>>2]=0.0}h=h+1|0;if((h|0)==(e|0))break;g=c[a+52>>2]|0}Ta=w;return}function Og(b){b=b|0;var d=0,e=0,f=0;c[b>>2]=5344;if(a[b+272>>0]|0?(d=c[b+204>>2]|0,pb[c[c[d>>2]>>2]&511](d),d=c[b+204>>2]|0,d|0):0){c[6880]=(c[6880]|0)+1;kd(c[d+-4>>2]|0)}d=c[b+196>>2]|0;if(d|0?(pb[c[c[d>>2]>>2]&511](d),f=c[b+196>>2]|0,f|0):0){c[6880]=(c[6880]|0)+1;kd(c[f+-4>>2]|0)}if(a[b+273>>0]|0?(e=c[b+200>>2]|0,pb[c[c[e>>2]>>2]&511](e),e=c[b+200>>2]|0,e|0):0){c[6880]=(c[6880]|0)+1;kd(c[e+-4>>2]|0)}d=c[b+316>>2]|0;if(d|0){if(a[b+320>>0]|0){c[6880]=(c[6880]|0)+1;kd(c[d+-4>>2]|0)}c[b+316>>2]=0}a[b+320>>0]=1;c[b+316>>2]=0;c[b+308>>2]=0;c[b+312>>2]=0;d=c[b+288>>2]|0;if(d|0){if(a[b+292>>0]|0){c[6880]=(c[6880]|0)+1;kd(c[d+-4>>2]|0)}c[b+288>>2]=0}a[b+292>>0]=1;c[b+288>>2]=0;c[b+280>>2]=0;c[b+284>>2]=0;d=c[b+240>>2]|0;if(d|0){if(a[b+244>>0]|0){c[6880]=(c[6880]|0)+1;kd(c[d+-4>>2]|0)}c[b+240>>2]=0}a[b+244>>0]=1;c[b+240>>2]=0;c[b+232>>2]=0;c[b+236>>2]=0;d=c[b+220>>2]|0;if(d|0){if(a[b+224>>0]|0){c[6880]=(c[6880]|0)+1;kd(c[d+-4>>2]|0)}c[b+220>>2]=0}a[b+224>>0]=1;c[b+220>>2]=0;c[b+212>>2]=0;c[b+216>>2]=0;d=c[b+188>>2]|0;if(!d){a[b+192>>0]=1;c[b+188>>2]=0;c[b+180>>2]=0;f=b+184|0;c[f>>2]=0;Uj(b);return}if(a[b+192>>0]|0){c[6880]=(c[6880]|0)+1;kd(c[d+-4>>2]|0)}c[b+188>>2]=0;a[b+192>>0]=1;c[b+188>>2]=0;c[b+180>>2]=0;f=b+184|0;c[f>>2]=0;Uj(b);return}function Pg(b,d,e,g){b=b|0;d=d|0;e=e|0;g=+g;var h=0,i=0,j=0.0,k=0.0,l=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0;i=Ta;Ta=Ta+64|0;a[d+84>>0]=0;c[i>>2]=c[b+4>>2];c[i+4>>2]=c[b+4+4>>2];c[i+8>>2]=c[b+4+8>>2];c[i+12>>2]=c[b+4+12>>2];c[i+16>>2]=c[b+20>>2];c[i+16+4>>2]=c[b+20+4>>2];c[i+16+8>>2]=c[b+20+8>>2];c[i+16+12>>2]=c[b+20+12>>2];c[i+32>>2]=c[b+36>>2];c[i+32+4>>2]=c[b+36+4>>2];c[i+32+8>>2]=c[b+36+8>>2];c[i+32+12>>2]=c[b+36+12>>2];c[i+48>>2]=c[b+52>>2];c[i+48+4>>2]=c[b+52+4>>2];c[i+48+8>>2]=c[b+52+8>>2];c[i+48+12>>2]=c[b+52+12>>2];if(e?(h=c[b+480>>2]|0,h|0):0)vb[c[(c[h>>2]|0)+8>>2]&255](h,i);v=+f[d+156>>2]*g;u=+f[d+160>>2]*g;m=+f[d+164>>2]*g;t=+f[i>>2];s=+f[i+4>>2];r=+f[i+8>>2];q=+f[i+16>>2];p=+f[i+20>>2];o=+f[i+24>>2];n=+f[i+32>>2];l=+f[i+36>>2];j=+f[i+40>>2];k=v*q+u*p+m*o+ +f[i+52>>2];g=v*n+u*l+m*j+ +f[i+56>>2];f[d+36>>2]=v*t+u*s+m*r+ +f[i+48>>2];f[d+40>>2]=k;f[d+44>>2]=g;f[d+48>>2]=0.0;g=+f[d+172>>2];k=+f[d+176>>2];m=+f[d+180>>2];f[d+52>>2]=t*g+s*k+r*m;f[d+56>>2]=g*q+k*p+m*o;f[d+60>>2]=g*n+k*l+m*j;f[d+64>>2]=0.0;m=+f[d+188>>2];k=+f[d+192>>2];g=+f[d+196>>2];f[d+68>>2]=t*m+s*k+r*g;f[d+72>>2]=q*m+p*k+o*g;f[d+76>>2]=n*m+l*k+j*g;f[d+80>>2]=0.0;Ta=i;return}function Qg(b,d,e,g,h,i,j,k,l){b=b|0;d=d|0;e=e|0;g=+g;h=+h;i=+i;j=j|0;k=k|0;l=l|0;var m=0.0,n=0.0,o=0.0,p=0;p=cx()|0;c[p+8>>2]=0;f[p+12>>2]=0.0;c[p>>2]=9672;c[p+4>>2]=24;c[p+64>>2]=b;c[p+68>>2]=d;f[p+72>>2]=h;f[p+76>>2]=i;f[p+80>>2]=+(b+-1|0);f[p+84>>2]=+(d+-1|0);f[p+88>>2]=g;c[p+92>>2]=e;c[p+96>>2]=k;a[p+100>>0]=l&1;a[p+101>>0]=0;a[p+102>>0]=0;c[p+104>>2]=j;c[p+108>>2]=1065353216;c[p+112>>2]=1065353216;c[p+116>>2]=1065353216;f[p+120>>2]=0.0;switch(j|0){case 0:{f[p+16>>2]=h;c[p+20>>2]=0;c[p+24>>2]=0;f[p+28>>2]=0.0;f[p+32>>2]=i;f[p+36>>2]=+(b+-1|0);f[p+40>>2]=+(d+-1|0);f[p+44>>2]=0.0;n=+(b+-1|0);o=0.0;g=+(d+-1|0);m=h;h=0.0;break}case 1:{c[p+16>>2]=0;f[p+20>>2]=h;c[p+24>>2]=0;f[p+28>>2]=0.0;f[p+32>>2]=+(b+-1|0);f[p+36>>2]=i;f[p+40>>2]=+(d+-1|0);f[p+44>>2]=0.0;n=i;o=0.0;g=+(d+-1|0);m=0.0;i=+(b+-1|0);break}case 2:{c[p+16>>2]=0;c[p+20>>2]=0;f[p+24>>2]=h;f[p+28>>2]=0.0;f[p+32>>2]=+(b+-1|0);f[p+36>>2]=+(d+-1|0);f[p+40>>2]=i;f[p+44>>2]=0.0;n=+(d+-1|0);o=h;g=i;m=0.0;i=+(b+-1|0);h=0.0;break}default:{n=+f[p+36>>2];o=+f[p+24>>2];g=+f[p+40>>2];m=+f[p+16>>2];i=+f[p+32>>2];h=+f[p+20>>2]}}f[p+48>>2]=(m+i)*.5;f[p+52>>2]=(h+n)*.5;f[p+56>>2]=(o+g)*.5;f[p+60>>2]=0.0;return p|0}function Rg(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;while(1){m=c[a+12>>2]|0;n=c[m+(((b+d|0)/2|0)<<2)>>2]|0;e=b;f=d;while(1){l=c[(c[n+740>>2]|0)+208>>2]|0;if((l|0)>-1)while(1){i=m+(e<<2)|0;h=c[i>>2]|0;g=c[(c[h+740>>2]|0)+208>>2]|0;if((g|0)<=-1)g=c[(c[h+744>>2]|0)+208>>2]|0;if((g|0)<(l|0))e=e+1|0;else{k=i;break}}else{j=c[(c[n+744>>2]|0)+208>>2]|0;while(1){i=m+(e<<2)|0;h=c[i>>2]|0;g=c[(c[h+740>>2]|0)+208>>2]|0;if((g|0)<=-1)g=c[(c[h+744>>2]|0)+208>>2]|0;if((g|0)<(j|0))e=e+1|0;else{k=i;break}}}if((l|0)>-1)while(1){g=m+(f<<2)|0;i=c[g>>2]|0;h=c[(c[i+740>>2]|0)+208>>2]|0;if((h|0)<=-1)h=c[(c[i+744>>2]|0)+208>>2]|0;if((l|0)<(h|0))f=f+-1|0;else break}else{j=c[(c[n+744>>2]|0)+208>>2]|0;while(1){g=m+(f<<2)|0;i=c[g>>2]|0;h=c[(c[i+740>>2]|0)+208>>2]|0;if((h|0)<=-1)h=c[(c[i+744>>2]|0)+208>>2]|0;if((j|0)<(h|0))f=f+-1|0;else break}}if((e|0)<=(f|0)){m=c[k>>2]|0;c[k>>2]=c[g>>2];c[(c[a+12>>2]|0)+(f<<2)>>2]=m;e=e+1|0;f=f+-1|0}if((e|0)>(f|0))break;m=c[a+12>>2]|0}if((f|0)>(b|0))Rg(a,b,f);if((e|0)<(d|0))b=e;else break}return}function Sg(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;while(1){m=c[a+12>>2]|0;n=c[m+(((b+d|0)/2|0)<<2)>>2]|0;e=b;f=d;while(1){l=c[(c[n+28>>2]|0)+208>>2]|0;if((l|0)>-1)while(1){i=m+(e<<2)|0;h=c[i>>2]|0;g=c[(c[h+28>>2]|0)+208>>2]|0;if((g|0)<=-1)g=c[(c[h+32>>2]|0)+208>>2]|0;if((g|0)<(l|0))e=e+1|0;else{k=i;break}}else{j=c[(c[n+32>>2]|0)+208>>2]|0;while(1){i=m+(e<<2)|0;h=c[i>>2]|0;g=c[(c[h+28>>2]|0)+208>>2]|0;if((g|0)<=-1)g=c[(c[h+32>>2]|0)+208>>2]|0;if((g|0)<(j|0))e=e+1|0;else{k=i;break}}}if((l|0)>-1)while(1){g=m+(f<<2)|0;i=c[g>>2]|0;h=c[(c[i+28>>2]|0)+208>>2]|0;if((h|0)<=-1)h=c[(c[i+32>>2]|0)+208>>2]|0;if((l|0)<(h|0))f=f+-1|0;else break}else{j=c[(c[n+32>>2]|0)+208>>2]|0;while(1){g=m+(f<<2)|0;i=c[g>>2]|0;h=c[(c[i+28>>2]|0)+208>>2]|0;if((h|0)<=-1)h=c[(c[i+32>>2]|0)+208>>2]|0;if((j|0)<(h|0))f=f+-1|0;else break}}if((e|0)<=(f|0)){m=c[k>>2]|0;c[k>>2]=c[g>>2];c[(c[a+12>>2]|0)+(f<<2)>>2]=m;e=e+1|0;f=f+-1|0}if((e|0)>(f|0))break;m=c[a+12>>2]|0}if((f|0)>(b|0))Sg(a,b,f);if((e|0)<(d|0))b=e;else break}return}function Tg(a,b,d,e,g,h,i,j,k,l){a=a|0;b=b|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;j=+j;k=k|0;l=+l;var m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0;c[a>>2]=c[h>>2];c[a+4>>2]=c[h+4>>2];c[a+8>>2]=c[h+8>>2];c[a+12>>2]=c[h+12>>2];t=+f[e+4>>2];q=+f[a+8>>2];o=+f[e+8>>2];u=+f[a+4>>2];n=+f[a>>2];w=+f[e>>2];x=(t*q-o*u)*+f[b>>2]+ +f[b+4>>2]*(o*n-q*w)+(u*w-t*n)*+f[b+8>>2];v=(t*q-o*u)*+f[b+16>>2]+(o*n-q*w)*+f[b+20>>2]+(u*w-t*n)*+f[b+24>>2];t=(t*q-o*u)*+f[b+32>>2]+(o*n-q*w)*+f[b+36>>2]+(u*w-t*n)*+f[b+40>>2];f[a+16>>2]=x;f[a+20>>2]=v;f[a+24>>2]=t;f[a+28>>2]=0.0;w=+f[g+4>>2];o=+f[g+8>>2];s=+f[g>>2];r=+f[d>>2]*(w*-q-o*-u)+ +f[d+4>>2]*(o*-n-s*-q)+(s*-u-w*-n)*+f[d+8>>2];p=(w*-q-o*-u)*+f[d+16>>2]+(o*-n-s*-q)*+f[d+20>>2]+(s*-u-w*-n)*+f[d+24>>2];n=(w*-q-o*-u)*+f[d+32>>2]+(o*-n-s*-q)*+f[d+36>>2]+(s*-u-w*-n)*+f[d+40>>2];f[a+32>>2]=r;f[a+36>>2]=p;f[a+40>>2]=n;f[a+44>>2]=0.0;w=+f[i>>2]*x;u=+f[i+4>>2]*v;s=+f[i+8>>2]*t;f[a+48>>2]=w;f[a+52>>2]=u;f[a+56>>2]=s;f[a+60>>2]=0.0;q=+f[k>>2]*r;o=+f[k+4>>2]*p;m=+f[k+8>>2]*n;f[a+64>>2]=q;f[a+68>>2]=o;f[a+72>>2]=m;f[a+76>>2]=0.0;f[a+80>>2]=x*w+v*u+t*s+j+l+(r*q+p*o+n*m);return}function Ug(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var g=0,h=0,i=0.0,j=0.0,k=0.0,l=0.0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0.0,x=0;v=Ta;Ta=Ta+2048|0;if((e|0)<=0){Ta=v;return}g=0;do{f[d+(g<<4)+12>>2]=-999999984306749440.0;g=g+1|0}while((g|0)!=(e|0));s=0;do{if((eb[c[(c[a>>2]|0)+96>>2]&255](a)|0)>0){o=b+(s<<4)|0;r=b+(s<<4)+4|0;n=b+(s<<4)+8|0;q=d+(s<<4)+12|0;p=d+(s<<4)|0;t=0;do{if(((eb[c[(c[a>>2]|0)+96>>2]&255](a)|0)-t|0)<128){g=(eb[c[(c[a>>2]|0)+96>>2]&255](a)|0)-t|0;if((g|0)>0)u=11;else{i=-3402823466385288598117041.0e14;g=-1}}else{g=128;u=11}if((u|0)==11){u=0;h=0;do{zb[c[(c[a>>2]|0)+108>>2]&127](a,h,v+(h<<4)|0);h=h+1|0}while((h|0)!=(g|0));j=+f[o>>2];k=+f[r>>2];l=+f[n>>2];m=0;i=-3402823466385288598117041.0e14;h=-1;do{w=j*+f[v+(m<<4)>>2]+k*+f[v+(m<<4)+4>>2]+l*+f[v+(m<<4)+8>>2];x=w>i;h=x?m:h;i=x?w:i;m=m+1|0}while((m|0)!=(g|0));g=h}if(i>+f[q>>2]){x=v+(g<<4)|0;c[p>>2]=c[x>>2];c[p+4>>2]=c[x+4>>2];c[p+8>>2]=c[x+8>>2];c[p+12>>2]=c[x+12>>2];f[q>>2]=i}t=t+128|0}while((t|0)<(eb[c[(c[a>>2]|0)+96>>2]&255](a)|0))}s=s+1|0}while((s|0)!=(e|0));Ta=v;return}function Vg(a,b,c,d,e,g,h){a=a|0;b=+b;c=+c;d=+d;e=e|0;g=+g;h=h|0;var i=0.0,j=0.0,k=0,l=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0;k=Ta;Ta=Ta+16|0;j=c*g+ +f[a+52>>2];i=d*g+ +f[a+56>>2];f[h+48>>2]=b*g+ +f[a+48>>2];f[h+52>>2]=j;f[h+56>>2]=i;f[h+60>>2]=0.0;i=+f[e>>2];j=+f[e+4>>2];b=+f[e+8>>2];c=+s(+(i*i+j*j+b*b));c=c*g>.7853981852531433?.7853981852531433/g:c;if(c<1.0000000474974513e-03)d=g*.5-c*(g*g*g*.02083333395421505*c);else d=+v(+(c*.5*g))/c;b=b*d;m=j*d;o=i*d;q=+u(+(c*g*.5));zh(a,k);n=+f[k>>2];p=+f[k+12>>2];i=+f[k+8>>2];g=+f[k+4>>2];c=1.0/+s(+((q*p-o*n-m*g-b*i)*(q*p-o*n-m*g-b*i)+((b*p+q*i+o*g-m*n)*(b*p+q*i+o*g-m*n)+((q*n+o*p+m*i-b*g)*(q*n+o*p+m*i-b*g)+(b*n+(m*p+q*g)-o*i)*(b*n+(m*p+q*g)-o*i)))));d=(q*n+o*p+m*i-b*g)*c;j=(b*n+(m*p+q*g)-o*i)*c;l=(b*p+q*i+o*g-m*n)*c;c=(q*p-o*n-m*g-b*i)*c;i=d*(2.0/(c*c+(l*l+(d*d+j*j))));g=j*(2.0/(c*c+(l*l+(d*d+j*j))));b=l*(2.0/(c*c+(l*l+(d*d+j*j))));f[h>>2]=1.0-(j*g+l*b);f[h+4>>2]=d*g-c*b;f[h+8>>2]=d*b+c*g;f[h+12>>2]=0.0;f[h+16>>2]=d*g+c*b;f[h+20>>2]=1.0-(d*i+l*b);f[h+24>>2]=j*b-c*i;f[h+28>>2]=0.0;f[h+32>>2]=d*b-c*g;f[h+36>>2]=j*b+c*i;f[h+40>>2]=1.0-(d*i+j*g);f[h+44>>2]=0.0;Ta=k;return}function Wg(b,d,e){b=b|0;d=+d;e=e|0;var g=0,h=0.0,i=0.0,j=0.0,k=0.0,l=0.0;g=c[b+8>>2]|0;if(g|0?(c[g+204>>2]&3|0)==0:0){if((c[g+216>>2]&-2|0)!=4)c[g+216>>2]=1;f[g+220>>2]=0.0}g=c[b+12>>2]|0;if(g|0?(c[g+204>>2]&3|0)==0:0){if((c[g+216>>2]&-2|0)!=4)c[g+216>>2]=1;f[g+220>>2]=0.0}g=c[b+20>>2]|0;if(g|0?(c[g+204>>2]&3|0)==0:0){if((c[g+216>>2]&-2|0)!=4)c[g+216>>2]=1;f[g+220>>2]=0.0}g=c[b+24>>2]|0;if(g|0?(c[g+204>>2]&3|0)==0:0){if((c[g+216>>2]&-2|0)!=4)c[g+216>>2]=1;f[g+220>>2]=0.0}g=c[b+156>>2]|0;c[b+156>>2]=g+1;a[b+152>>0]=(g|0)>=(c[b+160>>2]|0)&1;if(g|0){c[b+72>>2]=0;c[b+72+4>>2]=0;c[b+72+8>>2]=0;c[b+72+12>>2]=0;c[b+72+16>>2]=0;c[b+72+20>>2]=0;c[b+72+24>>2]=0;c[b+72+28>>2]=0;return}j=+f[b+64>>2];i=1.0/d*(+f[b+72>>2]*j);h=1.0/d*(j*+f[b+76>>2]);d=1.0/d*(j*+f[b+80>>2]);f[b+72>>2]=i;f[b+76>>2]=h;f[b+80>>2]=d;f[b+84>>2]=0.0;j=+f[b+68>>2];if(j>0.0){l=j*i*+f[b+120>>2]+j*h*+f[b+124>>2]+j*d*+f[b+128>>2];k=j*i*+f[b+136>>2]+j*h*+f[b+140>>2]+j*d*+f[b+144>>2];f[b+88>>2]=j*i*+f[b+104>>2]+j*h*+f[b+108>>2]+j*d*+f[b+112>>2];f[b+92>>2]=l;f[b+96>>2]=k;f[b+100>>2]=0.0;f[b+72>>2]=(1.0-j)*i;f[b+76>>2]=(1.0-j)*h;f[b+80>>2]=(1.0-j)*d;i=(1.0-j)*i;h=(1.0-j)*h;d=(1.0-j)*d}f[b+72>>2]=1.0/+(e|0)*i;f[b+76>>2]=1.0/+(e|0)*h;f[b+80>>2]=1.0/+(e|0)*d;return}function Xg(a,b,d,e,g,i,j){a=a|0;b=b|0;d=d|0;e=e|0;g=g|0;i=i|0;j=j|0;var k=0.0,l=0,m=0.0,n=0.0,o=0.0,p=0,q=0,r=0.0,s=0;q=Ta;Ta=Ta+16|0;f[e>>2]=3402823466385288598117041.0e14;f[g>>2]=-3402823466385288598117041.0e14;l=c[a+96>>2]|0;if((l|0)>0){p=0;do{s=c[a+104>>2]|0;r=+f[s+(p<<4)>>2]*+f[a+12>>2];m=+f[s+(p<<4)+4>>2]*+f[a+16>>2];n=+f[s+(p<<4)+8>>2]*+f[a+20>>2];k=r*+f[b>>2]+m*+f[b+4>>2]+n*+f[b+8>>2]+ +f[b+48>>2];o=r*+f[b+16>>2]+m*+f[b+20>>2]+n*+f[b+24>>2]+ +f[b+52>>2];n=r*+f[b+32>>2]+m*+f[b+36>>2]+n*+f[b+40>>2]+ +f[b+56>>2];m=k*+f[d>>2]+o*+f[d+4>>2]+n*+f[d+8>>2];if(m<+f[e>>2]){f[e>>2]=m;f[i>>2]=k;f[i+4>>2]=o;f[i+8>>2]=n;f[i+12>>2]=0.0}if(m>+f[g>>2]){f[g>>2]=m;f[j>>2]=k;f[j+4>>2]=o;f[j+8>>2]=n;f[j+12>>2]=0.0}p=p+1|0}while((p|0)!=(l|0));m=+f[g>>2];l=(f[h>>2]=m,c[h>>2]|0)}else{l=-8388609;m=-3402823466385288598117041.0e14}k=+f[e>>2];if(!(k>m)){Ta=q;return}c[e>>2]=l;f[g>>2]=k;c[q>>2]=c[i>>2];c[q+4>>2]=c[i+4>>2];c[q+8>>2]=c[i+8>>2];c[q+12>>2]=c[i+12>>2];c[i>>2]=c[j>>2];c[i+4>>2]=c[j+4>>2];c[i+8>>2]=c[j+8>>2];c[i+12>>2]=c[j+12>>2];c[j>>2]=c[q>>2];c[j+4>>2]=c[q+4>>2];c[j+8>>2]=c[q+8>>2];c[j+12>>2]=c[q+12>>2];Ta=q;return}function Yg(a,b){a=a|0;b=b|0;var d=0,e=0;d=Ta;Ta=Ta+48|0;e=(c[a+48>>2]|0)+4|0;c[e>>2]=c[b>>2];c[e+4>>2]=c[b+4>>2];c[e+8>>2]=c[b+8>>2];c[e+12>>2]=c[b+12>>2];b=d+32+4|0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;f[d+32>>2]=1.0;zb[c[(c[a>>2]|0)+68>>2]&127](d+16|0,a,d+32|0);f[a+32>>2]=+f[d+16>>2]+ +f[a+12>>2];f[d+32>>2]=-1.0;zb[c[(c[a>>2]|0)+68>>2]&127](d,a,d+32|0);c[d+16>>2]=c[d>>2];c[d+16+4>>2]=c[d+4>>2];c[d+16+8>>2]=c[d+8>>2];c[d+16+12>>2]=c[d+12>>2];f[a+16>>2]=+f[d+16>>2]-+f[a+12>>2];c[d+32>>2]=0;c[d+32+4>>2]=0;c[d+32+8>>2]=0;c[d+32+12>>2]=0;f[b>>2]=1.0;zb[c[(c[a>>2]|0)+68>>2]&127](d+16|0,a,d+32|0);f[a+36>>2]=+f[d+16+4>>2]+ +f[a+12>>2];f[b>>2]=-1.0;zb[c[(c[a>>2]|0)+68>>2]&127](d,a,d+32|0);c[d+16>>2]=c[d>>2];c[d+16+4>>2]=c[d+4>>2];c[d+16+8>>2]=c[d+8>>2];c[d+16+12>>2]=c[d+12>>2];f[a+20>>2]=+f[d+16+4>>2]-+f[a+12>>2];c[d+32>>2]=0;c[d+32+4>>2]=0;c[d+32+8>>2]=0;c[d+32+12>>2]=0;f[d+32+8>>2]=1.0;zb[c[(c[a>>2]|0)+68>>2]&127](d+16|0,a,d+32|0);f[a+40>>2]=+f[d+16+8>>2]+ +f[a+12>>2];f[d+32+8>>2]=-1.0;zb[c[(c[a>>2]|0)+68>>2]&127](d,a,d+32|0);c[d+16>>2]=c[d>>2];c[d+16+4>>2]=c[d+4>>2];c[d+16+8>>2]=c[d+8>>2];c[d+16+12>>2]=c[d+12>>2];f[a+24>>2]=+f[d+16+8>>2]-+f[a+12>>2];Ta=d;return}function Zg(a,b,d,e,g){a=a|0;b=b|0;d=d|0;e=e|0;g=g|0;var h=0.0,i=0.0,j=0,k=0.0,l=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0;j=Ta;Ta=Ta+48|0;m=+f[d>>2];n=+f[d+4>>2];l=+f[d+8>>2];o=m*+f[b+4>>2]+n*+f[b+20>>2]+l*+f[b+36>>2];p=m*+f[b+8>>2]+n*+f[b+24>>2]+l*+f[b+40>>2];f[j+32>>2]=+f[b>>2]*m+ +f[b+16>>2]*n+ +f[b+32>>2]*l;f[j+32+4>>2]=o;f[j+32+8>>2]=p;f[j+32+12>>2]=0.0;zb[c[(c[a>>2]|0)+64>>2]&127](j+16|0,a,j+32|0);p=+f[j+16>>2];o=+f[j+16+4>>2];l=+f[j+16+8>>2];n=p*+f[b>>2]+o*+f[b+4>>2]+l*+f[b+8>>2]+ +f[b+48>>2];m=p*+f[b+16>>2]+o*+f[b+20>>2]+l*+f[b+24>>2]+ +f[b+52>>2];l=p*+f[b+32>>2]+o*+f[b+36>>2]+l*+f[b+40>>2]+ +f[b+56>>2];q=c[(c[a>>2]|0)+64>>2]|0;o=-+f[j+32+4>>2];p=-+f[j+32+8>>2];f[j>>2]=-+f[j+32>>2];f[j+4>>2]=o;f[j+8>>2]=p;f[j+12>>2]=0.0;zb[q&127](j+16|0,a,j);p=+f[j+16>>2];o=+f[j+16+4>>2];i=+f[j+16+8>>2];k=p*+f[b>>2]+o*+f[b+4>>2]+i*+f[b+8>>2]+ +f[b+48>>2];h=p*+f[b+16>>2]+o*+f[b+20>>2]+i*+f[b+24>>2]+ +f[b+52>>2];i=p*+f[b+32>>2]+o*+f[b+36>>2]+i*+f[b+40>>2]+ +f[b+56>>2];f[e>>2]=n*+f[d>>2]+m*+f[d+4>>2]+l*+f[d+8>>2];i=k*+f[d>>2]+h*+f[d+4>>2]+i*+f[d+8>>2];f[g>>2]=i;h=+f[e>>2];if(!(h>i)){Ta=j;return}f[e>>2]=i;f[g>>2]=h;Ta=j;return}function _g(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,g=0.0,h=0.0,i=0,j=0,k=0,l=0,m=0,n=0,o=0.0,p=0.0,q=0,r=0.0,t=0.0,u=0.0,v=0;q=Ta;Ta=Ta+2048|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;c[a+12>>2]=0;e=+f[d>>2];g=+f[d+4>>2];h=+f[d+8>>2];if(e*e+g*g+h*h<1.4210854715202004e-14){p=1.0;o=0.0;h=0.0}else{r=1.0/+s(+(e*e+g*g+h*h));p=e*r;o=g*r;h=h*r}m=c[b+92>>2]|0;if((m|0)<=0){Ta=q;return}n=0;g=-999999984306749440.0;i=c[b+100>>2]|0;j=c[b+120>>2]|0;while(1){k=m-n|0;l=(k|0)<128?k:128;if((k|0)>0){d=0;do{e=+f[j>>2];u=+f[i>>2]+p*+f[b+12>>2]*e;t=o*+f[b+16>>2]*e+ +f[i+4>>2];e=e*(h*+f[b+20>>2])+ +f[i+8>>2];r=+Wa[c[(c[b>>2]|0)+48>>2]&31](b);f[q+(d<<4)>>2]=u-p*r;f[q+(d<<4)+4>>2]=t-o*r;f[q+(d<<4)+8>>2]=e-h*r;f[q+(d<<4)+12>>2]=0.0;i=i+16|0;j=j+4|0;d=d+1|0}while((d|0)<(l|0));k=0;e=-3402823466385288598117041.0e14;d=-1;do{u=p*+f[q+(k<<4)>>2]+o*+f[q+(k<<4)+4>>2]+h*+f[q+(k<<4)+8>>2];v=u>e;d=v?k:d;e=v?u:e;k=k+1|0}while((k|0)!=(l|0))}else{e=-3402823466385288598117041.0e14;d=-1}if(e>g){v=q+(d<<4)|0;c[a>>2]=c[v>>2];c[a+4>>2]=c[v+4>>2];c[a+8>>2]=c[v+8>>2];c[a+12>>2]=c[v+12>>2]}else e=g;n=n+128|0;if((m|0)<=(n|0))break;else g=e}Ta=q;return}function $g(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,h=0.0;a:do if(b>>>0<=20)do switch(b|0){case 9:{e=(c[d>>2]|0)+(4-1)&~(4-1);b=c[e>>2]|0;c[d>>2]=e+4;c[a>>2]=b;break a}case 10:{b=(c[d>>2]|0)+(4-1)&~(4-1);e=c[b>>2]|0;c[d>>2]=b+4;c[a>>2]=e;c[a+4>>2]=((e|0)<0)<<31>>31;break a}case 11:{b=(c[d>>2]|0)+(4-1)&~(4-1);e=c[b>>2]|0;c[d>>2]=b+4;c[a>>2]=e;c[a+4>>2]=0;break a}case 12:{f=(c[d>>2]|0)+(8-1)&~(8-1);b=c[f>>2]|0;e=c[f+4>>2]|0;c[d>>2]=f+8;c[a>>2]=b;c[a+4>>2]=e;break a}case 13:{e=(c[d>>2]|0)+(4-1)&~(4-1);f=c[e>>2]|0;c[d>>2]=e+4;c[a>>2]=(f&65535)<<16>>16;c[a+4>>2]=(((f&65535)<<16>>16|0)<0)<<31>>31;break a}case 14:{e=(c[d>>2]|0)+(4-1)&~(4-1);f=c[e>>2]|0;c[d>>2]=e+4;c[a>>2]=f&65535;c[a+4>>2]=0;break a}case 15:{e=(c[d>>2]|0)+(4-1)&~(4-1);f=c[e>>2]|0;c[d>>2]=e+4;c[a>>2]=(f&255)<<24>>24;c[a+4>>2]=(((f&255)<<24>>24|0)<0)<<31>>31;break a}case 16:{e=(c[d>>2]|0)+(4-1)&~(4-1);f=c[e>>2]|0;c[d>>2]=e+4;c[a>>2]=f&255;c[a+4>>2]=0;break a}case 17:{f=(c[d>>2]|0)+(8-1)&~(8-1);h=+g[f>>3];c[d>>2]=f+8;g[a>>3]=h;break a}case 18:{Lz(a,d);break a}default:break a}while(0);while(0);return}function ah(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;n=Ta;Ta=Ta+16|0;j=c[a+12>>2]|0;k=c[j+(((d+b|0)/2|0)<<4)>>2]|0;l=c[j+(((d+b|0)/2|0)<<4)+4>>2]|0;m=c[j+(((d+b|0)/2|0)<<4)+8>>2]|0;e=b;f=d;while(1){while(1){i=j+(e<<4)|0;g=c[j+(e<<4)+4>>2]|0;if((g|0)>=(l|0)){if((g|0)!=(l|0))break;g=c[i>>2]|0;if((g|0)>=(k|0)){if((g|0)!=(k|0))break;if((c[j+(e<<4)+8>>2]|0)>=(m|0))break}}e=e+1|0}while(1){h=j+(f<<4)|0;g=c[j+(f<<4)+4>>2]|0;if((l|0)>=(g|0)){if((l|0)!=(g|0))break;g=c[h>>2]|0;if((k|0)>=(g|0)){if((k|0)!=(g|0))break;if((m|0)>=(c[j+(f<<4)+8>>2]|0))break}}f=f+-1|0}if((e|0)<=(f|0)){c[n>>2]=c[i>>2];c[n+4>>2]=c[i+4>>2];c[n+8>>2]=c[i+8>>2];c[n+12>>2]=c[i+12>>2];c[i>>2]=c[h>>2];c[i+4>>2]=c[h+4>>2];c[i+8>>2]=c[h+8>>2];c[i+12>>2]=c[h+12>>2];j=(c[a+12>>2]|0)+(f<<4)|0;c[j>>2]=c[n>>2];c[j+4>>2]=c[n+4>>2];c[j+8>>2]=c[n+8>>2];c[j+12>>2]=c[n+12>>2];e=e+1|0;f=f+-1|0}if((e|0)>(f|0))break;j=c[a+12>>2]|0}if((f|0)>(b|0))ah(a,b,f);if((e|0)>=(d|0)){Ta=n;return}ah(a,e,d);Ta=n;return}function bh(a){a=a|0;var b=0,d=0,e=0.0,g=0.0,h=0.0,i=0,j=0;i=c[a+28>>2]|0;e=0.0;g=0.0;h=0.0;j=0;a:while(1){switch(j&2147483647|0){case 0:{e=+f[a+80>>2]+ +f[a+64>>2];g=+f[a+84>>2]+ +f[a+68>>2];h=+f[a+88>>2]+ +f[a+72>>2];break}case 1:{e=+f[a+80>>2]+ +f[a+64>>2];g=+f[a+84>>2]+ +f[a+68>>2];h=+f[a+72>>2]-+f[a+88>>2];break}case 2:{e=+f[a+80>>2]+ +f[a+64>>2];g=+f[a+68>>2]-+f[a+84>>2];h=+f[a+88>>2]+ +f[a+72>>2];break}case 3:{e=+f[a+80>>2]+ +f[a+64>>2];g=+f[a+68>>2]-+f[a+84>>2];h=+f[a+72>>2]-+f[a+88>>2];break}case 4:{e=+f[a+64>>2]-+f[a+80>>2];g=+f[a+84>>2]+ +f[a+68>>2];h=+f[a+88>>2]+ +f[a+72>>2];break}case 5:{e=+f[a+64>>2]-+f[a+80>>2];g=+f[a+84>>2]+ +f[a+68>>2];h=+f[a+72>>2]-+f[a+88>>2];break}case 6:{e=+f[a+64>>2]-+f[a+80>>2];g=+f[a+68>>2]-+f[a+84>>2];h=+f[a+88>>2]+ +f[a+72>>2];break}case 7:{e=+f[a+64>>2]-+f[a+80>>2];g=+f[a+68>>2]-+f[a+84>>2];h=+f[a+72>>2]-+f[a+88>>2];break}default:{}}if((i|0)>0){b=c[a+36>>2]|0;d=0;do{if(+f[b+(d*36|0)+32>>2]+(e*+f[b+(d*36|0)+20>>2]+g*+f[b+(d*36|0)+24>>2]+h*+f[b+(d*36|0)+28>>2])>0.0){b=0;d=16;break a}d=d+1|0}while((d|0)<(i|0))}j=j+1|0;if(j>>>0>=8){b=1;d=16;break}}if((d|0)==16)return b|0;return 0}function ch(a,b){a=a|0;b=b|0;var d=0,e=0,g=0,h=0.0,i=0.0,j=0.0,k=0.0,l=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0,v=0,w=0,x=0,y=0;if((c[a>>2]|0)==(b|0)){c[a>>2]=0;a=0;return a|0}e=c[b+32>>2]|0;d=c[e+32>>2]|0;b=c[e+36+(((c[e+40>>2]|0)!=(b|0)&1)<<2)>>2]|0;if(!d){c[a>>2]=b;c[b+32>>2]=0;d=c[a+4>>2]|0;if(!d)d=b;else{c[6880]=(c[6880]|0)+1;kd(c[d+-4>>2]|0);d=c[a>>2]|0}c[a+4>>2]=e;a=d;return a|0}c[d+36+(((c[d+40>>2]|0)==(e|0)&1)<<2)>>2]=b;c[b+32>>2]=d;b=c[a+4>>2]|0;if(b|0){c[6880]=(c[6880]|0)+1;kd(c[b+-4>>2]|0)}c[a+4>>2]=e;do{q=+f[d>>2];x=d+4|0;o=+f[x>>2];v=d+8|0;m=+f[v>>2];y=d+16|0;s=+f[y>>2];w=d+20|0;k=+f[w>>2];e=d+24|0;i=+f[e>>2];u=c[d+36>>2]|0;b=c[d+40>>2]|0;t=+f[u>>2];p=+f[b>>2];p=t>2]=p;t=+f[u+16>>2];r=+f[b+16>>2];r=t>r?t:r;f[y>>2]=r;t=+f[u+4>>2];n=+f[b+4>>2];n=t>2]=n;t=+f[u+20>>2];j=+f[b+20>>2];j=t>j?t:j;f[w>>2]=j;t=+f[u+8>>2];l=+f[b+8>>2];l=t>2]=l;t=+f[u+24>>2];h=+f[b+24>>2];h=t>h?t:h;f[e>>2]=h;if(!(s!=r|(q!=p|o!=n|m!=l))?!(k!=j|i!=h):0){g=14;break}d=c[d+32>>2]|0}while((d|0)!=0);if((g|0)==14)return d|0;y=c[a>>2]|0;return y|0}function dh(a,b,d,e,g,i,j){a=a|0;b=b|0;d=d|0;e=e|0;g=g|0;i=i|0;j=j|0;var k=0.0,l=0,m=0.0,n=0.0,o=0.0,p=0,q=0,r=0.0,s=0;q=Ta;Ta=Ta+16|0;f[e>>2]=3402823466385288598117041.0e14;f[g>>2]=-3402823466385288598117041.0e14;l=c[a+8>>2]|0;if((l|0)>0){p=0;do{s=c[a+16>>2]|0;r=+f[s+(p<<4)>>2];m=+f[s+(p<<4)+4>>2];n=+f[s+(p<<4)+8>>2];k=r*+f[b>>2]+m*+f[b+4>>2]+n*+f[b+8>>2]+ +f[b+48>>2];o=r*+f[b+16>>2]+m*+f[b+20>>2]+n*+f[b+24>>2]+ +f[b+52>>2];n=r*+f[b+32>>2]+m*+f[b+36>>2]+n*+f[b+40>>2]+ +f[b+56>>2];m=k*+f[d>>2]+o*+f[d+4>>2]+n*+f[d+8>>2];if(m<+f[e>>2]){f[e>>2]=m;f[i>>2]=k;f[i+4>>2]=o;f[i+8>>2]=n;f[i+12>>2]=0.0}if(m>+f[g>>2]){f[g>>2]=m;f[j>>2]=k;f[j+4>>2]=o;f[j+8>>2]=n;f[j+12>>2]=0.0}p=p+1|0}while((p|0)!=(l|0));m=+f[g>>2];l=(f[h>>2]=m,c[h>>2]|0)}else{l=-8388609;m=-3402823466385288598117041.0e14}k=+f[e>>2];if(!(k>m)){Ta=q;return}c[e>>2]=l;f[g>>2]=k;c[q>>2]=c[i>>2];c[q+4>>2]=c[i+4>>2];c[q+8>>2]=c[i+8>>2];c[q+12>>2]=c[i+12>>2];c[i>>2]=c[j>>2];c[i+4>>2]=c[j+4>>2];c[i+8>>2]=c[j+8>>2];c[i+12>>2]=c[j+12>>2];c[j>>2]=c[q>>2];c[j+4>>2]=c[q+4>>2];c[j+8>>2]=c[q+8>>2];c[j+12>>2]=c[q+12>>2];Ta=q;return}function eh(a,b,d,e,g){a=a|0;b=b|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0.0,k=0.0,l=0,m=0,n=0.0,o=0.0,p=0;m=Ta;Ta=Ta+16|0;if((g|0)>-3){c[6879]=(c[6879]|0)+1;a=Zb((g+3<<4|3)+16|0)|0;if(!a)l=0;else{c[(a+4+15&-16)+-4>>2]=a;l=a+4+15&-16}a=0;do{i=l+(a<<4)|0;c[i>>2]=c[m>>2];c[i+4>>2]=c[m+4>>2];c[i+8>>2]=c[m+8>>2];c[i+12>>2]=c[m+12>>2];a=a+1|0}while((a|0)!=(g+3|0));h=0;i=l;while(1){if(!h)j=0.0;else{a=h;k=.5;j=0.0;while(1){j=(a&1|0)==0?j:j+k;a=1?a>>1:a;if(!a)break;else k=k*.5}}k=j*2.0+-1.0;o=(+(h<<1|0)*3.1415927410125732+3.1415927410125732)/+(g+3|0);n=+s(+(1.0-k*k));j=+v(+o)*n;f[i>>2]=+u(+o)*n;f[i+4>>2]=j;f[i+8>>2]=k;f[i+12>>2]=0.0;h=h+1|0;if((h|0)==(g+3|0))break;else i=i+16|0}a=0;do{p=l+(a<<4)|0;h=l+(a<<4)+4|0;i=l+(a<<4)+8|0;n=+f[h>>2]*+f[e+4>>2]+ +f[d+4>>2];o=+f[i>>2]*+f[e+8>>2]+ +f[d+8>>2];f[p>>2]=+f[p>>2]*+f[e>>2]+ +f[d>>2];f[h>>2]=n;f[i>>2]=o;f[l+(a<<4)+12>>2]=0.0;a=a+1|0}while((a|0)<(g+3|0));i=l;h=l}else{i=0;h=0}a=md(b,h,g+3|0,1)|0;if((h|0)==0|(i|0)==0){Ta=m;return a|0}c[6880]=(c[6880]|0)+1;kd(c[i+-4>>2]|0);Ta=m;return a|0}function fh(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0;l=Ta;Ta=Ta+32|0;j=(a[b+28>>0]|0)!=0;k=j?e:d;j=j?d:e;h=c[k+4>>2]|0;i=c[h+16>>2]|0;g=c[b+12>>2]|0;if((g|0)<(i|0)){if((c[b+16>>2]|0)<(i|0)){if(!i){e=g;f=0}else{c[6879]=(c[6879]|0)+1;d=Zb((i<<2|3)+16|0)|0;if(!d)d=0;else{c[(d+4+15&-16)+-4>>2]=d;d=d+4+15&-16}e=c[b+12>>2]|0;f=d}if((e|0)>0){d=0;do{c[f+(d<<2)>>2]=c[(c[b+20>>2]|0)+(d<<2)>>2];d=d+1|0}while((d|0)!=(e|0))}d=c[b+20>>2]|0;if(d|0){if(a[b+24>>0]|0){c[6880]=(c[6880]|0)+1;kd(c[d+-4>>2]|0)}c[b+20>>2]=0}a[b+24>>0]=1;c[b+20>>2]=f;c[b+16>>2]=i;e=b+20|0}else e=b+20|0;d=g;do{c[(c[e>>2]|0)+(d<<2)>>2]=0;d=d+1|0}while((d|0)!=(i|0))}c[b+12>>2]=i;if((i|0)<=0){Ta=l;return}d=0;do{if(!(c[h+64>>2]|0)){e=c[(c[h+24>>2]|0)+(d*80|0)+64>>2]|0;f=c[k+8>>2]|0;g=c[k+12>>2]|0;c[l>>2]=k;c[l+4>>2]=e;c[l+8>>2]=f;c[l+12>>2]=g;c[l+16>>2]=-1;c[l+20>>2]=d;g=c[b+4>>2]|0;g=jb[c[(c[g>>2]|0)+8>>2]&63](g,l,j,c[b+32>>2]|0)|0;c[(c[b+20>>2]|0)+(d<<2)>>2]=g}else c[(c[b+20>>2]|0)+(d<<2)>>2]=0;d=d+1|0}while((d|0)!=(i|0));Ta=l;return}function gh(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;d=c[b+32>>2]|0;if(!d)g=0;else g=c[b+40>>2]|0;e=c[b+52>>2]|0;if(!e)h=0;else h=c[b+60>>2]|0;f=c[b+72>>2]|0;if(!f)i=0;else i=c[b+80>>2]|0;j=c[b+8>>2]|0;+db[c[(c[j>>2]|0)+12>>2]&31](j,g,d,h,e,i,f,c[b+4>>2]|0,c[b+20>>2]|0,c[b+24>>2]|0);d=c[b+32>>2]|0;if((d|0)<0){if((c[b+36>>2]|0)<0){e=c[b+40>>2]|0;if(e|0){if(a[b+44>>0]|0){c[6880]=(c[6880]|0)+1;kd(c[e+-4>>2]|0)}c[b+40>>2]=0}a[b+44>>0]=1;c[b+40>>2]=0;c[b+36>>2]=0}do{c[(c[b+40>>2]|0)+(d<<2)>>2]=0;d=d+1|0}while((d|0)!=0)}c[b+32>>2]=0;d=c[b+52>>2]|0;if((d|0)<0){if((c[b+56>>2]|0)<0){e=c[b+60>>2]|0;if(e|0){if(a[b+64>>0]|0){c[6880]=(c[6880]|0)+1;kd(c[e+-4>>2]|0)}c[b+60>>2]=0}a[b+64>>0]=1;c[b+60>>2]=0;c[b+56>>2]=0}do{c[(c[b+60>>2]|0)+(d<<2)>>2]=0;d=d+1|0}while((d|0)!=0)}c[b+52>>2]=0;d=c[b+72>>2]|0;if((d|0)>=0){c[b+72>>2]=0;return}if((c[b+76>>2]|0)<0){e=c[b+80>>2]|0;if(e|0){if(a[b+84>>0]|0){c[6880]=(c[6880]|0)+1;kd(c[e+-4>>2]|0)}c[b+80>>2]=0}a[b+84>>0]=1;c[b+80>>2]=0;c[b+76>>2]=0}do{c[(c[b+80>>2]|0)+(d<<2)>>2]=0;d=d+1|0}while((d|0)!=0);c[b+72>>2]=0;return}function hh(a,b,e){a=a|0;b=b|0;e=e|0;Xh(a,b,e)|0;c[b+52>>2]=c[a+48>>2];c[b+56>>2]=c[a+52>>2];c[b+60>>2]=c[a+56>>2];c[b+64>>2]=c[a+60>>2];c[b+68>>2]=c[a+64>>2];c[b+72>>2]=c[a+68>>2];c[b+76>>2]=c[a+72>>2];c[b+80>>2]=c[a+76>>2];c[b+84>>2]=c[a+80>>2];c[b+88>>2]=c[a+84>>2];c[b+92>>2]=c[a+88>>2];c[b+96>>2]=c[a+92>>2];c[b+100>>2]=c[a+96>>2];c[b+104>>2]=c[a+100>>2];c[b+108>>2]=c[a+104>>2];c[b+112>>2]=c[a+108>>2];c[b+116>>2]=c[a+112>>2];c[b+120>>2]=c[a+116>>2];c[b+124>>2]=c[a+120>>2];c[b+128>>2]=c[a+124>>2];c[b+132>>2]=c[a+128>>2];c[b+136>>2]=c[a+132>>2];c[b+140>>2]=c[a+136>>2];c[b+144>>2]=c[a+140>>2];c[b+148>>2]=c[a+144>>2];c[b+152>>2]=c[a+148>>2];c[b+156>>2]=c[a+152>>2];c[b+160>>2]=c[a+156>>2];c[b+164>>2]=c[a+160>>2];c[b+168>>2]=c[a+164>>2];c[b+172>>2]=c[a+168>>2];c[b+176>>2]=c[a+172>>2];c[b+228>>2]=c[a+868>>2];c[b+212>>2]=c[a+872>>2];c[b+196>>2]=c[a+680>>2];c[b+180>>2]=c[a+696>>2];c[b+232>>2]=c[a+932>>2];c[b+216>>2]=c[a+936>>2];c[b+200>>2]=c[a+684>>2];c[b+184>>2]=c[a+700>>2];c[b+236>>2]=c[a+996>>2];c[b+220>>2]=c[a+1e3>>2];c[b+204>>2]=c[a+688>>2];c[b+188>>2]=c[a+704>>2];c[b+244>>2]=d[a+1300>>0];c[b+248>>2]=d[a+1301>>0];return 15473}function ih(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;c[6879]=(c[6879]|0)+1;d=Zb(39)|0;if(!d)i=0;else{c[(d+4+15&-16)+-4>>2]=d;i=d+4+15&-16}g=i;c[i>>2]=0;c[i+4>>2]=0;c[i+8>>2]=0;c[i+12>>2]=0;c[i+16>>2]=0;if((c[b+872>>2]|0)>0){h=c[c[b+880>>2]>>2]|0;c[i>>2]=c[h>>2];c[i+4>>2]=c[h+4>>2];c[i+8>>2]=c[h+8>>2];c[i+12>>2]=c[h+12>>2];c[i+16>>2]=c[h+16>>2]}else{c[i>>2]=0;c[i+4>>2]=0;c[i+8>>2]=0;c[i+12>>2]=0;c[i+16>>2]=0}d=c[b+872>>2]|0;if((d|0)!=(c[b+876>>2]|0)){h=d;f=b+880|0;f=c[f>>2]|0;f=f+(h<<2)|0;c[f>>2]=g;h=h+1|0;c[b+872>>2]=h;return i|0}h=(d|0)==0?1:d<<1;if((d|0)>=(h|0)){h=d;f=b+880|0;f=c[f>>2]|0;f=f+(h<<2)|0;c[f>>2]=g;h=h+1|0;c[b+872>>2]=h;return i|0}if(!h)e=0;else{c[6879]=(c[6879]|0)+1;d=Zb((h<<2|3)+16|0)|0;if(!d)e=0;else{c[(d+4+15&-16)+-4>>2]=d;e=d+4+15&-16}d=c[b+872>>2]|0}if((d|0)>0){f=0;do{c[e+(f<<2)>>2]=c[(c[b+880>>2]|0)+(f<<2)>>2];f=f+1|0}while((f|0)!=(d|0))}f=c[b+880>>2]|0;if(f){if(a[b+884>>0]|0){c[6880]=(c[6880]|0)+1;kd(c[f+-4>>2]|0);d=c[b+872>>2]|0}c[b+880>>2]=0}a[b+884>>0]=1;c[b+880>>2]=e;c[b+876>>2]=h;h=d;f=b+880|0;f=c[f>>2]|0;f=f+(h<<2)|0;c[f>>2]=g;h=h+1|0;c[b+872>>2]=h;return i|0}function jh(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;e=c[b+4>>2]|0;if((e|0)==(c[b+8>>2]|0)){Cn(b,(e|0)==0?1:e<<1);e=c[b+4>>2]|0}o=c[b+12>>2]|0;l=o+(e*36|0)+16|0;a[l>>0]=1;k=o+(e*36|0)+12|0;c[k>>2]=0;m=o+(e*36|0)+4|0;c[m>>2]=0;j=o+(e*36|0)+8|0;c[j>>2]=0;p=c[d+4>>2]|0;if((p|0)<=0){c[m>>2]=p;p=o+(e*36|0)+20|0;d=d+20|0;c[p>>2]=c[d>>2];c[p+4>>2]=c[d+4>>2];c[p+8>>2]=c[d+8>>2];c[p+12>>2]=c[d+12>>2];d=c[b+4>>2]|0;d=d+1|0;c[b+4>>2]=d;return}c[6879]=(c[6879]|0)+1;f=Zb((p<<2|3)+16|0)|0;if(!f)i=0;else{c[(f+4+15&-16)+-4>>2]=f;i=f+4+15&-16}g=c[m>>2]|0;h=c[k>>2]|0;if((g|0)<=0){if(h|0)n=10}else{f=0;do{c[i+(f<<2)>>2]=c[h+(f<<2)>>2];f=f+1|0}while((f|0)!=(g|0));n=10}if((n|0)==10?a[l>>0]|0:0){c[6880]=(c[6880]|0)+1;kd(c[h+-4>>2]|0)}a[l>>0]=1;c[k>>2]=i;c[j>>2]=p;el(i|0,0,p<<2|0)|0;c[m>>2]=p;f=c[k>>2]|0;g=c[d+12>>2]|0;h=0;do{c[f+(h<<2)>>2]=c[g+(h<<2)>>2];h=h+1|0}while((h|0)!=(p|0));p=o+(e*36|0)+20|0;d=d+20|0;c[p>>2]=c[d>>2];c[p+4>>2]=c[d+4>>2];c[p+8>>2]=c[d+8>>2];c[p+12>>2]=c[d+12>>2];d=c[b+4>>2]|0;d=d+1|0;c[b+4>>2]=d;return}function kh(a,b,d,e,g){a=a|0;b=b|0;d=d|0;e=e|0;g=+g;var h=0,i=0.0,j=0,k=0,l=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0;l=+f[d>>2];if(+f[b>>2]<=l){i=+f[d+4>>2];if((((+f[b+4>>2]<=i?+f[b+8>>2]<=+f[d+8>>2]:0)?+f[b+16>>2]>=+f[d+16>>2]:0)?+f[b+20>>2]>=+f[d+20>>2]:0)?+f[b+24>>2]>=+f[d+24>>2]:0){d=0;return d|0}else h=d+4|0}else{i=+f[d+4>>2];h=d+4|0}f[d>>2]=l-g;n=i-g;f[h>>2]=n;i=+f[d+8>>2]-g;f[d+8>>2]=i;q=+f[d+16>>2]+g;f[d+16>>2]=q;o=+f[d+20>>2]+g;f[d+20>>2]=o;m=+f[d+24>>2]+g;f[d+24>>2]=m;p=+f[e>>2];f[(p>0.0?d+16|0:d)>>2]=(p>0.0?q:l-g)+p;g=+f[e+4>>2];f[(g>0.0?d+20|0:h)>>2]=(g>0.0?o:n)+g;g=+f[e+8>>2];f[(g>0.0?d+24|0:d+8|0)>>2]=(g>0.0?m:i)+g;h=ch(a,b)|0;a:do if(h){j=c[a+8>>2]|0;if((j|0)<=-1){h=c[a>>2]|0;break}if(j){k=0;e=h;while(1){h=c[e+32>>2]|0;k=k+1|0;if(!h){h=e;break a}if((k|0)>=(j|0))break;else e=h}}}else h=0;while(0);c[b>>2]=c[d>>2];c[b+4>>2]=c[d+4>>2];c[b+8>>2]=c[d+8>>2];c[b+12>>2]=c[d+12>>2];c[b+16>>2]=c[d+16>>2];c[b+20>>2]=c[d+20>>2];c[b+24>>2]=c[d+24>>2];c[b+28>>2]=c[d+28>>2];bf(a,h,b);d=1;return d|0}function lh(a,b,d,e,g,i){a=a|0;b=b|0;d=d|0;e=e|0;g=g|0;i=i|0;var j=0,k=0,l=0,m=0,n=0.0,o=0,p=0.0,q=0.0;Cb[c[(c[a>>2]|0)+8>>2]&127](a,b,g,i);l=c[i>>2]|0;o=c[i+4>>2]|0;j=c[i+8>>2]|0;m=c[g>>2]|0;k=c[g+4>>2]|0;b=c[g+8>>2]|0;n=+f[d>>2];p=+f[d+4>>2];q=+f[d+8>>2];if(n>0.0)l=(f[h>>2]=n+(c[h>>2]=l,+f[h>>2]),c[h>>2]|0);else m=(f[h>>2]=n+(c[h>>2]=m,+f[h>>2]),c[h>>2]|0);if(p>0.0)d=(f[h>>2]=p+(c[h>>2]=o,+f[h>>2]),c[h>>2]|0);else{d=o;k=(f[h>>2]=p+(c[h>>2]=k,+f[h>>2]),c[h>>2]|0)}if(q>0.0)j=(f[h>>2]=q+(c[h>>2]=j,+f[h>>2]),c[h>>2]|0);else b=(f[h>>2]=q+(c[h>>2]=b,+f[h>>2]),c[h>>2]|0);n=+f[e>>2];p=+f[e+4>>2];q=+f[e+8>>2];q=+s(+(n*n+p*p+q*q));q=q*+Wa[c[(c[a>>2]|0)+16>>2]&31](a);c[g>>2]=m;c[g+4>>2]=k;c[g+8>>2]=b;f[g+12>>2]=0.0;c[i>>2]=l;c[i+4>>2]=d;c[i+8>>2]=j;f[i+12>>2]=0.0;f[g>>2]=+f[g>>2]-q;f[g+4>>2]=+f[g+4>>2]-q;f[g+8>>2]=+f[g+8>>2]-q;f[i>>2]=q+ +f[i>>2];f[i+4>>2]=q+ +f[i+4>>2];f[i+8>>2]=q+ +f[i+8>>2];return}function mh(b,d,e){b=b|0;d=+d;e=e|0;var g=0,h=0.0,i=0,j=0,k=0,l=0,m=0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0;j=c[b+712>>2]|0;if(e){if((j|0)>0){e=c[b+720>>2]|0;g=0;do{f[e+(g*104|0)+88>>2]=0.0;g=g+1|0}while((g|0)!=(j|0))}e=c[b+752>>2]|0;if((e|0)>0){g=c[b+760>>2]|0;i=0;do{m=c[g+(i*44|0)+8>>2]|0;l=c[g+(i*44|0)+12>>2]|0;k=c[g+(i*44|0)+16>>2]|0;o=+f[m+8>>2];q=+f[m+12>>2];h=+f[m+16>>2];n=+f[l+8>>2]-o;r=+f[l+12>>2]-q;p=+f[l+16>>2]-h;o=+f[k+8>>2]-o;q=+f[k+12>>2]-q;h=+f[k+16>>2]-h;h=+s(+((n*q-r*o)*(n*q-r*o)+((r*h-p*q)*(r*h-p*q)+(p*o-n*h)*(p*o-n*h))));f[m+88>>2]=h+ +f[m+88>>2];f[l+88>>2]=h+ +f[l+88>>2];f[k+88>>2]=h+ +f[k+88>>2];i=i+1|0}while((i|0)!=(e|0))}if((j|0)<=0){m=b+924|0;a[m>>0]=1;return}e=c[b+720>>2]|0;g=0;do{m=e+(g*104|0)+88|0;f[m>>2]=1.0/+f[m>>2];g=g+1|0}while((g|0)!=(j|0))}if((j|0)<=0){m=b+924|0;a[m>>0]=1;return}g=c[b+720>>2]|0;e=0;h=0.0;do{r=+f[g+(e*104|0)+88>>2];h=h+(r>0.0?1.0/r:0.0);e=e+1|0}while((e|0)!=(j|0));h=1.0/h*d;e=0;do{m=g+(e*104|0)+88|0;f[m>>2]=+f[m>>2]/h;e=e+1|0}while((e|0)!=(j|0));m=b+924|0;a[m>>0]=1;return}function nh(b,d){b=b|0;d=d|0;var e=0,g=0,h=0.0,i=0,j=0,k=0.0,l=0.0;e=c[d+204>>2]|0;if((e&3|0)==0?(c[d+504>>2]&1|0)==0:0){h=+f[d+344>>2];if(h!=0.0){l=1.0/h*+f[b+252>>2];k=1.0/h*+f[b+256>>2];f[d+364>>2]=1.0/h*+f[b+248>>2];f[d+368>>2]=l;f[d+372>>2]=k;f[d+376>>2]=0.0}c[d+380>>2]=c[b+248>>2];c[d+380+4>>2]=c[b+248+4>>2];c[d+380+8>>2]=c[b+248+8>>2];c[d+380+12>>2]=c[b+248+12>>2]}if(!(c[d+192>>2]|0))return;if(e&1)if((c[d+216>>2]&-2|0)==4)e=e&3;else{c[d+216>>2]=2;e=e&3}else{g=c[b+232>>2]|0;if((g|0)==(c[b+236>>2]|0)?(j=(g|0)==0?1:g<<1,(g|0)<(j|0)):0){if(!j)e=0;else{c[6879]=(c[6879]|0)+1;e=Zb((j<<2|3)+16|0)|0;if(!e)e=0;else{c[(e+4+15&-16)+-4>>2]=e;e=e+4+15&-16}g=c[b+232>>2]|0}if((g|0)>0){i=0;do{c[e+(i<<2)>>2]=c[(c[b+240>>2]|0)+(i<<2)>>2];i=i+1|0}while((i|0)!=(g|0))}i=c[b+240>>2]|0;if(i){if(a[b+244>>0]|0){c[6880]=(c[6880]|0)+1;kd(c[i+-4>>2]|0);g=c[b+232>>2]|0}c[b+240>>2]=0}a[b+244>>0]=1;c[b+240>>2]=e;c[b+236>>2]=j;e=c[d+204>>2]&3}else e=e&3;c[(c[b+240>>2]|0)+(g<<2)>>2]=d;c[b+232>>2]=g+1}j=(e|0)!=0;Cb[c[(c[b>>2]|0)+36>>2]&127](b,d,j?2:1,j?-3:-1);return}function oh(a,b,d,e,g){a=a|0;b=b|0;d=+d;e=e|0;g=g|0;var h=0,i=0.0,j=0.0;h=Ta;Ta=Ta+240|0;Xq(h+224|0,+f[b>>2],+f[b+4>>2],+f[b+8>>2],d);mk(b,h+208|0,h+192|0);Xq(h+160|0,+f[h+208>>2],+f[h+208+4>>2],+f[h+208+8>>2],100.0);j=+f[h+224>>2];i=+f[h+224+4>>2];d=+f[h+224+8>>2];sq(h+176|0,j,i,d,+f[h+160>>2],+f[h+160+4>>2],+f[h+160+8>>2]);Xq(h+128|0,+f[h+208>>2],+f[h+208+4>>2],+f[h+208+8>>2],100.0);uq(h+144|0,j,i,d,+f[h+128>>2],+f[h+128+4>>2],+f[h+128+8>>2]);Xq(h+96|0,+f[h+192>>2],+f[h+192+4>>2],+f[h+192+8>>2],100.0);sq(h+112|0,j,i,d,+f[h+96>>2],+f[h+96+4>>2],+f[h+96+8>>2]);Xq(h+64|0,+f[h+192>>2],+f[h+192+4>>2],+f[h+192+8>>2],100.0);uq(h+80|0,j,i,d,+f[h+64>>2],+f[h+64+4>>2],+f[h+64+8>>2]);b=c[(c[a>>2]|0)+8>>2]|0;VD(h+48|0,e,+f[h+176>>2],+f[h+176+4>>2],+f[h+176+8>>2]);VD(h+32|0,e,+f[h+144>>2],+f[h+144+4>>2],+f[h+144+8>>2]);Cb[b&127](a,h+48|0,h+32|0,g);b=c[(c[a>>2]|0)+8>>2]|0;VD(h+16|0,e,+f[h+112>>2],+f[h+112+4>>2],+f[h+112+8>>2]);VD(h,e,+f[h+80>>2],+f[h+80+4>>2],+f[h+80+8>>2]);Cb[b&127](a,h+16|0,h,g);Ta=h;return}function ph(a,b,d,e,g,h,i,j,k,l){a=a|0;b=b|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;var m=0.0,n=0.0;l=Ta;Ta=Ta+80|0;n=+f[h+52>>2]-+f[g+52>>2];m=+f[h+56>>2]-+f[g+56>>2];f[l+56>>2]=+f[h+48>>2]-+f[g+48>>2];f[l+56+4>>2]=n;f[l+56+8>>2]=m;f[l+56+12>>2]=0.0;if(qc(d,g,e,h,l+56|0,l,1)|0){c[j>>2]=c[l+4>>2];c[j+4>>2]=c[l+4+4>>2];c[j+8>>2]=c[l+4+8>>2];c[j+12>>2]=c[l+4+12>>2];c[k>>2]=c[l+20>>2];c[k+4>>2]=c[l+20+4>>2];c[k+8>>2]=c[l+20+8>>2];c[k+12>>2]=c[l+20+12>>2];c[i>>2]=c[l+36>>2];c[i+4>>2]=c[l+36+4>>2];c[i+8>>2]=c[l+36+8>>2];c[i+12>>2]=c[l+36+12>>2];k=1;Ta=l;return k|0}if(!(wd(d,g,e,h,l+56|0,l)|0)){k=0;Ta=l;return k|0}c[j>>2]=c[l+4>>2];c[j+4>>2]=c[l+4+4>>2];c[j+8>>2]=c[l+4+8>>2];c[j+12>>2]=c[l+4+12>>2];c[k>>2]=c[l+20>>2];c[k+4>>2]=c[l+20+4>>2];c[k+8>>2]=c[l+20+8>>2];c[k+12>>2]=c[l+20+12>>2];c[i>>2]=c[l+36>>2];c[i+4>>2]=c[l+36+4>>2];c[i+8>>2]=c[l+36+8>>2];c[i+12>>2]=c[l+36+12>>2];k=0;Ta=l;return k|0}function qh(b,e,g,h,i,j){b=b|0;e=e|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0;if((d[h+55>>0]|0|0)==(e|0)){h=0;return h|0}k=c[6292+(i<<2)>>2]|0;if(+f[h>>2]*+f[g+16>>2]+ +f[h+4>>2]*+f[g+20>>2]+ +f[h+8>>2]*+f[g+24>>2]-+f[h+16>>2]<-9.999999747378752e-06){k=Me(b,c[h+20+(k<<2)>>2]|0,c[h+20+(i<<2)>>2]|0,g,0)|0;if(!k){h=0;return h|0}a[k+52>>0]=i;c[k+32>>2]=h;a[h+52+i>>0]=0;c[h+32+(i<<2)>>2]=k;i=c[j>>2]|0;if(!i)c[j+4>>2]=k;else{a[i+53>>0]=2;c[i+36>>2]=k;a[k+54>>0]=1;c[k+40>>2]=i}c[j>>2]=k;c[j+8>>2]=(c[j+8>>2]|0)+1;h=1;return h|0}i=c[6304+(i<<2)>>2]|0;a[h+55>>0]=e;if(!(qh(b,e,g,c[h+32+(k<<2)>>2]|0,d[h+52+k>>0]|0,j)|0)){h=0;return h|0}if(!(qh(b,e,g,c[h+32+(i<<2)>>2]|0,d[h+52+i>>0]|0,j)|0)){h=0;return h|0}i=c[h+48>>2]|0;if(i|0)c[i+44>>2]=c[h+44>>2];i=c[h+44>>2]|0;if(i|0)c[i+48>>2]=c[h+48>>2];if((c[b+9280>>2]|0)==(h|0))c[b+9280>>2]=c[h+48>>2];c[b+9284>>2]=(c[b+9284>>2]|0)+-1;c[h+44>>2]=0;c[h+48>>2]=c[b+9288>>2];i=c[b+9288>>2]|0;if(i|0)c[i+44>>2]=h;c[b+9288>>2]=h;c[b+9292>>2]=(c[b+9292>>2]|0)+1;h=1;return h|0}function rh(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,g=0.0,h=0.0,i=0,j=0,k=0,l=0.0,m=0.0,n=0,o=0,p=0.0,q=0;o=Ta;Ta=Ta+2048|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;c[a+12>>2]=0;g=+f[d>>2];h=+f[d+4>>2];e=+f[d+8>>2];if(g*g+h*h+e*e<9.999999747378752e-05){m=0.0;l=1.0;h=0.0}else{p=1.0/+s(+(g*g+h*h+e*e));m=e*p;l=g*p;h=h*p}if((eb[c[(c[b>>2]|0)+96>>2]&255](b)|0)<=0){Ta=o;return}k=0;g=-999999984306749440.0;while(1){if(((eb[c[(c[b>>2]|0)+96>>2]&255](b)|0)-k|0)<128){d=(eb[c[(c[b>>2]|0)+96>>2]&255](b)|0)-k|0;if((d|0)>0)n=8;else{e=-3402823466385288598117041.0e14;d=-1}}else{d=128;n=8}if((n|0)==8){n=0;i=0;do{zb[c[(c[b>>2]|0)+108>>2]&127](b,i,o+(i<<4)|0);i=i+1|0}while((i|0)!=(d|0));j=0;e=-3402823466385288598117041.0e14;i=-1;do{p=l*+f[o+(j<<4)>>2]+h*+f[o+(j<<4)+4>>2]+m*+f[o+(j<<4)+8>>2];q=p>e;i=q?j:i;e=q?p:e;j=j+1|0}while((j|0)!=(d|0));d=i}if(e>g){q=o+(d<<4)|0;c[a>>2]=c[q>>2];c[a+4>>2]=c[q+4>>2];c[a+8>>2]=c[q+8>>2];c[a+12>>2]=c[q+12>>2]}else e=g;k=k+128|0;if((k|0)>=(eb[c[(c[b>>2]|0)+96>>2]&255](b)|0))break;else g=e}Ta=o;return}function sh(a,d,f,g){a=a|0;d=d|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;i=c[a+68+(d<<2)>>2]|0;h=b[i+((f&65535)<<2)+-4>>1]|0;if((e[i+((f&65535)<<2)>>1]|0)>=(h&65535))return;j=c[a+60>>2]|0;o=j+((e[i+((f&65535)<<2)+2>>1]|0)<<6)+54+(d<<1)|0;k=i+((f&65535)<<2)|0;f=i+((f&65535)<<2)+-4|0;while(1){i=e[k+-2>>1]|0;if(!(h&1)){h=e[k+2>>1]|0;if(((((e[j+(h<<6)+54+((1<>1]|0)>=(e[j+(i<<6)+48+((1<>1]|0)?(e[j+(i<<6)+54+((1<>1]|0)>=(e[j+(h<<6)+48+((1<>1]|0):0)?(e[j+(h<<6)+54+((1<<(1<>1]|0)>=(e[j+(i<<6)+48+((1<<(1<>1]|0):0)?(e[j+(i<<6)+54+((1<<(1<>1]|0)>=(e[j+(h<<6)+48+((1<<(1<>1]|0):0)?(n=c[a+92>>2]|0,l=j+(h<<6)|0,m=j+(i<<6)|0,jb[c[(c[n>>2]|0)+12>>2]&63](n,l,m,g)|0,n=c[a+96>>2]|0,n|0):0)jb[c[(c[n>>2]|0)+12>>2]&63](n,l,m,g)|0;h=j+(i<<6)+48+(d<<1)|0}else h=j+(i<<6)+54+(d<<1)|0;b[h>>1]=(b[h>>1]|0)+1<<16>>16;b[o>>1]=(b[o>>1]|0)+-1<<16>>16;i=e[k>>1]|e[k+2>>1]<<16;h=e[f>>1]|e[f+2>>1]<<16;b[k>>1]=h;b[k+2>>1]=h>>>16;b[f>>1]=i;b[f+2>>1]=i>>>16;i=k+-4|0;f=f+-4|0;h=b[f>>1]|0;if((e[i>>1]|0)>=(h&65535))break;j=c[a+60>>2]|0;k=i}return}function th(a,d,f,g){a=a|0;d=d|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0;i=c[a+68+(d<<2)>>2]|0;h=b[i+((f&65535)<<2)+6>>1]|0;if(!(h<<16>>16))return;n=(c[a+60>>2]|0)+((e[i+((f&65535)<<2)+2>>1]|0)<<6)+48+(d<<1)|0;k=i+((f&65535)<<2)|0;while(1){l=k;k=k+4|0;i=b[k>>1]|0;if((e[l>>1]|0)<(i&65535)){h=14;break}j=c[a+60>>2]|0;f=h&65535;if(!(i&1))h=j+(f<<6)+48+(d<<1)|0;else{h=e[l+2>>1]|0;if(((((e[j+(h<<6)+54+((1<>1]|0)>=(e[j+(f<<6)+48+((1<>1]|0)?(e[j+(f<<6)+54+((1<>1]|0)>=(e[j+(h<<6)+48+((1<>1]|0):0)?(e[j+(h<<6)+54+((1<<(1<>1]|0)>=(e[j+(f<<6)+48+((1<<(1<>1]|0):0)?(e[j+(f<<6)+54+((1<<(1<>1]|0)>=(e[j+(h<<6)+48+((1<<(1<>1]|0):0)?(m=c[a+92>>2]|0,jb[c[(c[m>>2]|0)+12>>2]&63](m,j+(h<<6)|0,j+(f<<6)|0,g)|0,m=c[a+96>>2]|0,m|0):0)jb[c[(c[m>>2]|0)+12>>2]&63](m,j+(h<<6)|0,j+(f<<6)|0,g)|0;h=j+(f<<6)+54+(d<<1)|0}b[h>>1]=(b[h>>1]|0)+-1<<16>>16;b[n>>1]=(b[n>>1]|0)+1<<16>>16;h=e[l>>1]|e[l+2>>1]<<16;j=e[k>>1]|e[k+2>>1]<<16;b[l>>1]=j;b[l+2>>1]=j>>>16;b[k>>1]=h;b[k+2>>1]=h>>>16;h=b[l+10>>1]|0;if(!(h<<16>>16)){h=14;break}}if((h|0)==14)return}function uh(b,d,e,g){b=b|0;d=d|0;e=e|0;g=g|0;var h=0,i=0.0,j=0,k=0,l=0,m=0.0,n=0.0;h=c[d+204>>2]|0;if((h&3|0)==0?(c[d+504>>2]&1|0)==0:0){i=+f[d+344>>2];if(i!=0.0){n=1.0/i*+f[b+252>>2];m=1.0/i*+f[b+256>>2];f[d+364>>2]=1.0/i*+f[b+248>>2];f[d+368>>2]=n;f[d+372>>2]=m;f[d+376>>2]=0.0}c[d+380>>2]=c[b+248>>2];c[d+380+4>>2]=c[b+248+4>>2];c[d+380+8>>2]=c[b+248+8>>2];c[d+380+12>>2]=c[b+248+12>>2]}if(!(c[d+192>>2]|0))return;if(h&1){if((c[d+216>>2]&-2|0)!=4)c[d+216>>2]=2}else{h=c[b+232>>2]|0;if((h|0)==(c[b+236>>2]|0)?(l=(h|0)==0?1:h<<1,(h|0)<(l|0)):0){if(!l)j=0;else{c[6879]=(c[6879]|0)+1;h=Zb((l<<2|3)+16|0)|0;if(!h)j=0;else{c[(h+4+15&-16)+-4>>2]=h;j=h+4+15&-16}h=c[b+232>>2]|0}if((h|0)>0){k=0;do{c[j+(k<<2)>>2]=c[(c[b+240>>2]|0)+(k<<2)>>2];k=k+1|0}while((k|0)!=(h|0))}k=c[b+240>>2]|0;if(k){if(a[b+244>>0]|0){c[6880]=(c[6880]|0)+1;kd(c[k+-4>>2]|0);h=c[b+232>>2]|0}c[b+240>>2]=0}a[b+244>>0]=1;c[b+240>>2]=j;c[b+236>>2]=l}c[(c[b+240>>2]|0)+(h<<2)>>2]=d;c[b+232>>2]=h+1}Cb[c[(c[b>>2]|0)+36>>2]&127](b,d,e,g);return}function vh(a,d,f){a=a|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;h=c[a+68+(d<<2)>>2]|0;k=c[a+60>>2]|0;n=e[h+((f&65535)<<2)+2>>1]|0;g=b[h+((f&65535)<<2)+6>>1]|0;if(!(g<<16>>16))return;i=h+((f&65535)<<2)|0;while(1){j=i;i=i+4|0;h=b[i>>1]|0;if((e[j>>1]|0)<(h&65535)){g=14;break}f=c[a+60>>2]|0;g=g&65535;if(!(h&1)){if(((((e[k+(n<<6)+54+((1<>1]|0)>=(e[f+(g<<6)+48+((1<>1]|0)?(e[f+(g<<6)+54+((1<>1]|0)>=(e[k+(n<<6)+48+((1<>1]|0):0)?(e[k+(n<<6)+54+((1<<(1<>1]|0)>=(e[f+(g<<6)+48+((1<<(1<>1]|0):0)?(e[f+(g<<6)+54+((1<<(1<>1]|0)>=(e[k+(n<<6)+48+((1<<(1<>1]|0):0)?(m=c[a+92>>2]|0,l=f+((e[j+2>>1]|0)<<6)|0,ib[c[(c[m>>2]|0)+8>>2]&63](m,l,f+(g<<6)|0)|0,m=c[a+96>>2]|0,m|0):0)ib[c[(c[m>>2]|0)+8>>2]&63](m,l,f+(g<<6)|0)|0;g=f+(g<<6)+48+(d<<1)|0}else g=f+(g<<6)+54+(d<<1)|0;b[g>>1]=(b[g>>1]|0)+-1<<16>>16;b[k+(n<<6)+54+(d<<1)>>1]=(b[k+(n<<6)+54+(d<<1)>>1]|0)+1<<16>>16;g=e[j>>1]|e[j+2>>1]<<16;f=e[i>>1]|e[i+2>>1]<<16;b[j>>1]=f;b[j+2>>1]=f>>>16;b[i>>1]=g;b[i+2>>1]=g>>>16;g=b[j+10>>1]|0;if(!(g<<16>>16)){g=14;break}}if((g|0)==14)return}function wh(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var g=0.0,h=0.0,i=0.0,j=0.0,k=0.0,l=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0,C=0.0,D=0.0,E=0.0,F=0.0,G=0.0;o=(+f[a+32>>2]-+f[a+16>>2])*.5;l=(+f[a+36>>2]-+f[a+20>>2])*.5;i=(+f[a+40>>2]-+f[a+24>>2])*.5;n=+Wa[c[(c[a>>2]|0)+48>>2]&31](a);k=+Wa[c[(c[a>>2]|0)+48>>2]&31](a);i=i+ +Wa[c[(c[a>>2]|0)+48>>2]&31](a);C=(+f[a+32>>2]+ +f[a+16>>2])*.5;A=(+f[a+36>>2]+ +f[a+20>>2])*.5;y=(+f[a+40>>2]+ +f[a+24>>2])*.5;G=+f[b>>2];x=+r(+G);F=+f[b+4>>2];w=+r(+F);u=+f[b+8>>2];v=+r(+u);E=+f[b+16>>2];t=+r(+E);D=+f[b+20>>2];s=+r(+D);p=+f[b+24>>2];q=+r(+p);B=+f[b+32>>2];m=+r(+B);z=+f[b+36>>2];j=+r(+z);g=+f[b+40>>2];h=+r(+g);u=C*G+A*F+y*u+ +f[b+48>>2];p=C*E+A*D+y*p+ +f[b+52>>2];g=C*B+A*z+y*g+ +f[b+56>>2];f[d>>2]=u-((o+n)*x+(l+k)*w+i*v);f[d+4>>2]=p-((o+n)*t+(l+k)*s+i*q);f[d+8>>2]=g-((o+n)*m+(l+k)*j+i*h);f[d+12>>2]=0.0;f[e>>2]=(o+n)*x+(l+k)*w+i*v+u;f[e+4>>2]=(o+n)*t+(l+k)*s+i*q+p;f[e+8>>2]=(o+n)*m+(l+k)*j+i*h+g;f[e+12>>2]=0.0;return}function xh(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var g=0.0,h=0.0,i=0.0,j=0.0,k=0.0,l=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0,C=0.0,D=0.0,E=0.0,F=0.0,G=0,H=0.0,I=0.0;I=+f[a+48>>2];A=+f[a+32>>2];H=+f[a+52>>2];y=+f[a+36>>2];F=+f[a+56>>2];w=+f[a+40>>2];G=(c[a+16>>2]|0)==0;m=+Wa[c[(c[a>>2]|0)+48>>2]&31](a);k=+Wa[c[(c[a>>2]|0)+48>>2]&31](a);i=+Wa[c[(c[a>>2]|0)+48>>2]&31](a);m=(G?0.0:(I-A)*.5)+m;k=(G?0.0:(H-y)*.5)+k;i=(G?0.0:(F-w)*.5)+i;E=+f[b>>2];v=+r(+E);D=+f[b+4>>2];u=+r(+D);s=+f[b+8>>2];t=+r(+s);C=+f[b+16>>2];q=+r(+C);B=+f[b+20>>2];p=+r(+B);n=+f[b+24>>2];o=+r(+n);z=+f[b+32>>2];l=+r(+z);x=+f[b+36>>2];j=+r(+x);g=+f[b+40>>2];h=+r(+g);A=G?0.0:(I+A)*.5;y=G?0.0:(H+y)*.5;w=G?0.0:(F+w)*.5;s=A*E+y*D+w*s+ +f[b+48>>2];n=A*C+y*B+w*n+ +f[b+52>>2];g=A*z+y*x+w*g+ +f[b+56>>2];f[d>>2]=s-(m*v+k*u+i*t);f[d+4>>2]=n-(m*q+k*p+i*o);f[d+8>>2]=g-(m*l+k*j+i*h);f[d+12>>2]=0.0;f[e>>2]=m*v+k*u+i*t+s;f[e+4>>2]=m*q+k*p+i*o+n;f[e+8>>2]=m*l+k*j+i*h+g;f[e+12>>2]=0.0;return}function yh(a,d,f){a=a|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;h=c[a+68+(d<<2)>>2]|0;k=c[a+60>>2]|0;n=e[h+((f&65535)<<2)+2>>1]|0;g=b[h+((f&65535)<<2)+-4>>1]|0;if((e[h+((f&65535)<<2)>>1]|0)>=(g&65535))return;j=k;i=h+((f&65535)<<2)|0;f=h+((f&65535)<<2)+-4|0;while(1){h=e[i+-2>>1]|0;if(!(g&1))g=j+(h<<6)+48+(d<<1)|0;else{if(((((e[k+(n<<6)+54+((1<>1]|0)>=(e[j+(h<<6)+48+((1<>1]|0)?(e[j+(h<<6)+54+((1<>1]|0)>=(e[k+(n<<6)+48+((1<>1]|0):0)?(e[k+(n<<6)+54+((1<<(1<>1]|0)>=(e[j+(h<<6)+48+((1<<(1<>1]|0):0)?(e[j+(h<<6)+54+((1<<(1<>1]|0)>=(e[k+(n<<6)+48+((1<<(1<>1]|0):0)?(m=c[a+92>>2]|0,l=j+(h<<6)|0,ib[c[(c[m>>2]|0)+8>>2]&63](m,k+(n<<6)|0,l)|0,m=c[a+96>>2]|0,m|0):0)ib[c[(c[m>>2]|0)+8>>2]&63](m,k+(n<<6)|0,l)|0;g=j+(h<<6)+54+(d<<1)|0}b[g>>1]=(b[g>>1]|0)+1<<16>>16;b[k+(n<<6)+48+(d<<1)>>1]=(b[k+(n<<6)+48+(d<<1)>>1]|0)+-1<<16>>16;h=e[i>>1]|e[i+2>>1]<<16;g=e[f>>1]|e[f+2>>1]<<16;b[i>>1]=g;b[i+2>>1]=g>>>16;b[f>>1]=h;b[f+2>>1]=h>>>16;h=i+-4|0;f=f+-4|0;g=b[f>>1]|0;if((e[h>>1]|0)>=(g&65535))break;j=c[a+60>>2]|0;i=h}return}function zh(a,b){a=a|0;b=b|0;var c=0.0,d=0.0,e=0.0,g=0,h=0,i=0,j=0;g=Ta;Ta=Ta+16|0;c=+f[(D$(a)|0)>>2];d=+f[(R_(a+16|0)|0)>>2];e=+f[(Q_(a+32|0)|0)>>2];if(c+d+e>0.0){e=+g$(c+d+e+1.0);f[g+12>>2]=e*.5;d=+f[(R_(a+32|0)|0)>>2];f[g>>2]=(d-+f[(Q_(a+16|0)|0)>>2])*(.5/e);d=+f[(Q_(a)|0)>>2];f[g+4>>2]=(d-+f[(D$(a+32|0)|0)>>2])*(.5/e);d=+f[(D$(a+16|0)|0)>>2];f[g+8>>2]=(d-+f[(R_(a)|0)>>2])*(.5/e);j=g;i=g+4|0;h=g+8|0;a=g+12|0;Mu(b,j,i,h,a);Ta=g;return}else{h=c>2];j=D$(a+((((h+1|0)>>>0)%3|0)<<4)|0)|0;e=e-+f[j+((((h+1|0)>>>0)%3|0)<<2)>>2];a=D$(a+((((h+2|0)>>>0)%3|0)<<4)|0)|0;e=+g$(e-+f[a+((((h+2|0)>>>0)%3|0)<<2)>>2]+1.0);f[g+(h<<2)>>2]=e*.5;f[g+12>>2]=(+f[a+((((h+1|0)>>>0)%3|0)<<2)>>2]-+f[j+((((h+2|0)>>>0)%3|0)<<2)>>2])*(.5/e);f[g+((((h+1|0)>>>0)%3|0)<<2)>>2]=(+f[j+(h<<2)>>2]+ +f[i+((((h+1|0)>>>0)%3|0)<<2)>>2])*(.5/e);f[g+((((h+2|0)>>>0)%3|0)<<2)>>2]=(+f[a+(h<<2)>>2]+ +f[i+((((h+2|0)>>>0)%3|0)<<2)>>2])*(.5/e);a=g;h=g+4|0;i=g+8|0;j=g+12|0;Mu(b,a,h,i,j);Ta=g;return}}function Ah(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;f=c[a+212>>2]|0;a:do if((f|0)>0){g=c[a+220>>2]|0;d=0;while(1){e=g+(d<<2)|0;if((c[e>>2]|0)==(b|0))break;d=d+1|0;if((d|0)>=(f|0))break a}if((d|0)<(f|0)){c[e>>2]=c[g+(f+-1<<2)>>2];c[(c[a+220>>2]|0)+(f+-1<<2)>>2]=b;c[a+212>>2]=f+-1}}while(0);a=c[b+28>>2]|0;d=c[a+488>>2]|0;b:do if((d|0)>0){g=c[a+496>>2]|0;e=0;while(1){f=g+(e<<2)|0;if((c[f>>2]|0)==(b|0))break;e=e+1|0;if((e|0)>=(d|0))break b}if((e|0)<(d|0)){c[f>>2]=c[g+(d+-1<<2)>>2];c[(c[a+496>>2]|0)+(d+-1<<2)>>2]=b;c[a+488>>2]=d+-1;d=d+-1|0}}while(0);c[a+256>>2]=(d|0)>0&1;a=c[b+32>>2]|0;d=c[a+488>>2]|0;if((d|0)<=0){b=d;b=(b|0)>0;b=b&1;h=a+256|0;c[h>>2]=b;return}g=c[a+496>>2]|0;e=0;while(1){f=g+(e<<2)|0;if((c[f>>2]|0)==(b|0))break;e=e+1|0;if((e|0)>=(d|0)){h=19;break}}if((h|0)==19){b=(d|0)>0;b=b&1;h=a+256|0;c[h>>2]=b;return}if((e|0)>=(d|0)){b=d;b=(b|0)>0;b=b&1;h=a+256|0;c[h>>2]=b;return}c[f>>2]=c[g+(d+-1<<2)>>2];c[(c[a+496>>2]|0)+(d+-1<<2)>>2]=b;c[a+488>>2]=d+-1;b=d+-1|0;b=(b|0)>0;b=b&1;h=a+256|0;c[h>>2]=b;return}function Bh(b,d){b=b|0;d=d|0;var e=0,g=0.0,h=0.0,i=0.0,j=0;j=eb[c[(c[b>>2]|0)+28>>2]&255](b)|0;i=+f[j>>2]-+f[d>>2];h=+f[j+4>>2]-+f[d+4>>2];g=+f[j+8>>2]-+f[d+8>>2];if(!(i*i+h*h+g*g>1.1920928955078125e-07))return;Yg(b,d);if((a[b+61>>0]|0)!=0?(e=c[b+52>>2]|0,pb[c[c[e>>2]>>2]&511](e),e=c[b+52>>2]|0,(e|0)!=0):0){c[6880]=(c[6880]|0)+1;kd(c[e+-4>>2]|0);d=b+52|0}else d=b+52|0;c[6879]=(c[6879]|0)+1;e=Zb(191)|0;if(!e)e=0;else{c[(e+4+15&-16)+-4>>2]=e;e=e+4+15&-16}c[e+52>>2]=282;a[e+60>>0]=0;a[e+80>>0]=1;c[e+76>>2]=0;c[e+68>>2]=0;c[e+72>>2]=0;a[e+100>>0]=1;c[e+96>>2]=0;c[e+88>>2]=0;c[e+92>>2]=0;a[e+120>>0]=1;c[e+116>>2]=0;c[e+108>>2]=0;c[e+112>>2]=0;a[e+140>>0]=1;c[e+136>>2]=0;c[e+128>>2]=0;c[e+132>>2]=0;c[e+144>>2]=0;a[e+164>>0]=1;c[e+160>>2]=0;c[e+152>>2]=0;c[e+156>>2]=0;c[e+168>>2]=0;c[e+4>>2]=-8388609;c[e+8>>2]=-8388609;c[e+12>>2]=-8388609;f[e+16>>2]=0.0;c[e+20>>2]=2139095039;c[e+24>>2]=2139095039;c[e+28>>2]=2139095039;f[e+32>>2]=0.0;c[e>>2]=9592;c[d>>2]=e;Tc(e,c[b+48>>2]|0,(a[b+60>>0]|0)!=0,b+16|0,b+32|0);a[b+61>>0]=1;return}function Ch(b,d){b=b|0;d=d|0;var e=0.0,g=0.0;if(a[b+1309>>0]|0){e=(+f[b+1256>>2]-+f[b+1316>>2])*+f[b+1340>>2];f[b+792>>2]=e*(+f[d>>2]*+f[b+1364>>2]/+(c[d+48>>2]|0));e=+r(+e);f[b+808>>2]=e/+f[d>>2]}if(a[b+1310>>0]|0){e=(+f[b+1260>>2]-+f[b+1320>>2])*+f[b+1344>>2];f[b+796>>2]=e*(+f[d>>2]*+f[b+1368>>2]/+(c[d+48>>2]|0));e=+r(+e);f[b+812>>2]=e/+f[d>>2]}if(a[b+1311>>0]|0){e=(+f[b+1264>>2]-+f[b+1324>>2])*+f[b+1348>>2];f[b+800>>2]=e*(+f[d>>2]*+f[b+1372>>2]/+(c[d+48>>2]|0));e=+r(+e);f[b+816>>2]=e/+f[d>>2]}if(a[b+1312>>0]|0){g=-((+f[b+1192>>2]-+f[b+1328>>2])*+f[b+1352>>2]);e=+f[d>>2];f[b+876>>2]=e*+f[b+1376>>2]/+(c[d+48>>2]|0)*g;f[b+880>>2]=+r(+g)/e}if(a[b+1313>>0]|0){e=-((+f[b+1196>>2]-+f[b+1332>>2])*+f[b+1356>>2]);g=+f[d>>2];f[b+940>>2]=g*+f[b+1380>>2]/+(c[d+48>>2]|0)*e;f[b+944>>2]=+r(+e)/g}if(!(a[b+1314>>0]|0)){nk(b,d);return}e=-((+f[b+1200>>2]-+f[b+1336>>2])*+f[b+1360>>2]);g=+f[d>>2];f[b+1004>>2]=g*+f[b+1384>>2]/+(c[d+48>>2]|0)*e;f[b+1008>>2]=+r(+e)/g;nk(b,d);return}function Dh(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,g=0,h=0.0,i=0.0,j=0.0;e=Ta;Ta=Ta+160|0;c[e+136>>2]=0;c[e+136+4>>2]=0;c[e+136+8>>2]=0;c[e+136+12>>2]=0;c[e+136+16>>2]=0;c[e+32>>2]=8444;g=e+32+4|0;c[g>>2]=0;c[g+4>>2]=0;c[g+8>>2]=0;c[g+12>>2]=0;c[e+32+20>>2]=1065353216;c[e+32+24>>2]=0;c[e+32+24+4>>2]=0;c[e+32+24+8>>2]=0;c[e+32+24+12>>2]=0;c[e+32+40>>2]=1065353216;c[e+32+44>>2]=0;c[e+32+44+4>>2]=0;c[e+32+44+8>>2]=0;c[e+32+44+12>>2]=0;c[e+32+60>>2]=1065353216;c[e+32+64>>2]=0;c[e+32+68>>2]=c[e+136+4>>2];c[e+32+68+4>>2]=c[e+136+4+4>>2];c[e+32+68+8>>2]=c[e+136+4+8>>2];c[e+32+68+12>>2]=c[e+136+4+12>>2];f[e+32+84>>2]=-999999984306749440.0;j=+f[d>>2];i=+f[d+4>>2];h=+f[d+8>>2];f[e+32+88>>2]=j+i*0.0+h*0.0;f[e+32+92>>2]=j*0.0+i+h*0.0;f[e+32+96>>2]=j*0.0+i*0.0+h;f[e+32+100>>2]=0.0;c[e+16>>2]=1566444395;c[e+16+4>>2]=1566444395;c[e+16+8>>2]=1566444395;f[e+16+12>>2]=0.0;d=c[(c[b>>2]|0)+64>>2]|0;f[e>>2]=-999999984306749440.0;f[e+4>>2]=-999999984306749440.0;f[e+8>>2]=-999999984306749440.0;f[e+12>>2]=0.0;Cb[d&127](b,e+32|0,e,e+16|0);c[a>>2]=c[g>>2];c[a+4>>2]=c[g+4>>2];c[a+8>>2]=c[g+8>>2];c[a+12>>2]=c[g+12>>2];Ta=e;return}function Eh(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,g=0.0,h=0.0,i=0.0,j=0.0,k=0.0,l=0.0,m=0.0,n=0.0,o=0.0,p=0;p=Ta;Ta=Ta+16|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;c[a+12>>2]=0;e=+f[d>>2];g=+f[d+4>>2];h=+f[d+8>>2];if(e*e+g*g+h*h<9.999999747378752e-05){o=1.0;n=0.0;m=0.0}else{m=1.0/+s(+(e*e+g*g+h*h));o=e*m;n=g*m;m=h*m}d=c[b+52>>2]|0;l=+f[b+28+(((d+2|0)%3|0)<<2)>>2];c[p>>2]=0;c[p+4>>2]=0;c[p+8>>2]=0;c[p+12>>2]=0;c[p+(d<<2)>>2]=c[b+28+(d<<2)>>2];j=o*l;k=n*l;l=m*l;g=j+ +f[p>>2];i=k+ +f[p+4>>2];e=l+ +f[p+8>>2];h=+Wa[c[(c[b>>2]|0)+48>>2]&31](b);g=g-o*h;i=i-n*h;h=e-m*h;e=m*h+(o*g+n*i);if(e>-999999984306749440.0){f[a>>2]=g;f[a+4>>2]=i;f[a+8>>2]=h;f[a+12>>2]=0.0;i=e}else i=-999999984306749440.0;c[p>>2]=0;c[p+4>>2]=0;c[p+8>>2]=0;c[p+12>>2]=0;d=c[b+52>>2]|0;f[p+(d<<2)>>2]=-+f[b+28+(d<<2)>>2];e=j+ +f[p>>2];h=k+ +f[p+4>>2];l=l+ +f[p+8>>2];g=+Wa[c[(c[b>>2]|0)+48>>2]&31](b);e=e-o*g;h=h-n*g;g=l-m*g;if(!(m*g+(o*e+n*h)>i)){Ta=p;return}f[a>>2]=e;f[a+4>>2]=h;f[a+8>>2]=g;f[a+12>>2]=0.0;Ta=p;return}function Fh(a,b,d,e,g,h,i,j,k,l){a=a|0;b=b|0;d=d|0;e=e|0;g=+g;h=+h;i=+i;j=+j;k=+k;l=+l;var m=0;m=Ta;Ta=Ta+128|0;c[m+80>>2]=c[a+4>>2];c[m+80+4>>2]=c[a+20>>2];c[m+80+8>>2]=c[a+36>>2];f[m+80+12>>2]=0.0;c[m+80+16>>2]=c[a+8>>2];c[m+80+20>>2]=c[a+24>>2];c[m+80+24>>2]=c[a+40>>2];f[m+80+28>>2]=0.0;c[m+80+32>>2]=c[a+12>>2];c[m+80+36>>2]=c[a+28>>2];c[m+80+40>>2]=c[a+44>>2];f[m+80+44>>2]=0.0;c[m+32>>2]=c[b+4>>2];c[m+32+4>>2]=c[b+20>>2];c[m+32+8>>2]=c[b+36>>2];f[m+32+12>>2]=0.0;c[m+32+16>>2]=c[b+8>>2];c[m+32+20>>2]=c[b+24>>2];c[m+32+24>>2]=c[b+40>>2];f[m+32+28>>2]=0.0;c[m+32+32>>2]=c[b+12>>2];c[m+32+36>>2]=c[b+28>>2];c[m+32+40>>2]=c[b+44>>2];f[m+32+44>>2]=0.0;h=h-+f[a+56>>2];i=i-+f[a+60>>2];f[m+16>>2]=g-+f[a+52>>2];f[m+16+4>>2]=h;f[m+16+8>>2]=i;f[m+16+12>>2]=0.0;k=k-+f[b+56>>2];l=l-+f[b+60>>2];f[m>>2]=j-+f[b+52>>2];f[m+4>>2]=k;f[m+8>>2]=l;f[m+12>>2]=0.0;Tg(d,m+80|0,m+32|0,m+16|0,m,e,a+396|0,+f[a+344>>2],b+396|0,+f[b+344>>2]);Ta=m;return}function Gh(b){b=b|0;var d=0,e=0;if(!b)return;d=c[b+32>>2]|0;if(d|0){if(a[b+36>>0]|0){c[6880]=(c[6880]|0)+1;kd(c[d+-4>>2]|0)}c[b+32>>2]=0}a[b+36>>0]=1;c[b+32>>2]=0;c[b+24>>2]=0;c[b+28>>2]=0;d=c[b+12>>2]|0;do if(d){if(!(a[b+16>>0]|0)){a[b+16>>0]=1;c[b+12>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;d=b+8|0;e=14;break}c[6880]=(c[6880]|0)+1;kd(c[d+-4>>2]|0);d=c[b+32>>2]|0;a[b+16>>0]=1;c[b+12>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;if(d){if(!(a[b+36>>0]|0)){a[b+36>>0]=1;c[b+32>>2]=0;c[b+24>>2]=0;c[b+28>>2]=0;d=b+8|0;break}c[6880]=(c[6880]|0)+1;kd(c[d+-4>>2]|0);d=c[b+12>>2]|0;a[b+36>>0]=1;c[b+32>>2]=0;c[b+24>>2]=0;c[b+28>>2]=0;if(!d)d=b+8|0;else{if(a[b+16>>0]|0){c[6880]=(c[6880]|0)+1;kd(c[d+-4>>2]|0)}c[b+12>>2]=0;d=b+8|0}}else{d=b+8|0;e=14}}else{a[b+16>>0]=1;c[b+12>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;d=b+8|0;e=14}while(0);if((e|0)==14){a[b+36>>0]=1;c[b+32>>2]=0;c[b+24>>2]=0;c[b+28>>2]=0}a[b+16>>0]=1;c[b+12>>2]=0;c[b+4>>2]=0;c[d>>2]=0;dI(b);return}function Hh(a,b,d,e,g){a=a|0;b=+b;d=+d;e=+e;g=g|0;var h=0,i=0,j=0,k=0,l=0.0,m=0.0;j=Ta;Ta=Ta+48|0;l=1.0/+s(+(b*b+d*d+e*e));f[g>>2]=l*b;f[g+4>>2]=l*d;f[g+8>>2]=l*e;f[g+12>>2]=0.0;h=c[a+120>>2]|0;k=c[a+124>>2]|0;i=(c[a>>2]|0)+(1?k>>1:k)|0;if(k&1)h=c[(c[i>>2]|0)+h>>2]|0;zb[h&127](j,i,g);b=-+f[g>>2];d=-+f[g+4>>2];e=-+f[g+8>>2];h=c[a+120>>2]|0;k=c[a+124>>2]|0;i=(c[a+4>>2]|0)+(1?k>>1:k)|0;if(k&1)h=c[(c[i>>2]|0)+h>>2]|0;l=+f[a+24>>2]*b+ +f[a+28>>2]*d+ +f[a+32>>2]*e;m=+f[a+40>>2]*b+ +f[a+44>>2]*d+ +f[a+48>>2]*e;f[j+16>>2]=+f[a+8>>2]*b+ +f[a+12>>2]*d+ +f[a+16>>2]*e;f[j+16+4>>2]=l;f[j+16+8>>2]=m;f[j+16+12>>2]=0.0;zb[h&127](j+32|0,i,j+16|0);m=+f[j+32>>2];b=+f[j+32+4>>2];d=+f[j+32+8>>2];e=+f[j+4>>2]-(m*+f[a+72>>2]+b*+f[a+76>>2]+d*+f[a+80>>2]+ +f[a+108>>2]);l=+f[j+8>>2]-(m*+f[a+88>>2]+b*+f[a+92>>2]+d*+f[a+96>>2]+ +f[a+112>>2]);f[g+16>>2]=+f[j>>2]-(m*+f[a+56>>2]+b*+f[a+60>>2]+d*+f[a+64>>2]+ +f[a+104>>2]);f[g+20>>2]=e;f[g+24>>2]=l;f[g+28>>2]=0.0;Ta=j;return}function Ih(a,b,c,d,e,g,h,i,j,k,l,m,n,o){a=a|0;b=+b;c=+c;d=+d;e=+e;g=+g;h=+h;i=+i;j=+j;k=+k;l=+l;m=+m;n=+n;o=+o;var p=0.0,q=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0;q=(j-g)*(n-h)-(k-h)*(m-g);s=(k-h)*(l-e)-(i-e)*(n-h);t=(i-e)*(m-g)-(j-g)*(l-e);if(+r(+(t*d+(q*b+s*c)))<1.1920928955078125e-07){t=-1.0;return +t}u=+f[a>>2];w=+f[a+4>>2];v=+f[a+8>>2];p=-(q*u+s*w+t*v-(t*h+(q*e+s*g)))/(t*d+(q*b+s*c));if(((p>1.1920928955078125e-06&p-1.1920928955078125e-06:0)?t*((m-(w+p*c))*(i-(u+p*b))-(j-(w+p*c))*(l-(u+p*b)))+(q*((j-(w+p*c))*(n-(v+p*d))-(k-(v+p*d))*(m-(w+p*c)))+s*((k-(v+p*d))*(l-(u+p*b))-(n-(v+p*d))*(i-(u+p*b))))>-1.1920928955078125e-06:0)?t*((g-(w+p*c))*(l-(u+p*b))-(m-(w+p*c))*(e-(u+p*b)))+(q*((m-(w+p*c))*(h-(v+p*d))-(n-(v+p*d))*(g-(w+p*c)))+s*((n-(v+p*d))*(e-(u+p*b))-(h-(v+p*d))*(l-(u+p*b))))>-1.1920928955078125e-06:0){w=p;return +w}w=-1.0;return +w}function Jh(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,g=0.0,h=0.0,i=0.0,j=0.0,k=0.0;e=c[b>>2]|0;if((e|0)==(c[a+80>>2]|0)){i=1.0;return +i}if(c[e+204>>2]&4|0){i=1.0;return +i}if(d){g=+f[b+8>>2];h=+f[b+12>>2];i=+f[b+16>>2]}else{k=+f[b+8>>2];j=+f[b+12>>2];i=+f[b+16>>2];g=+f[e+4>>2]*k+ +f[e+8>>2]*j+ +f[e+12>>2]*i;h=k*+f[e+20>>2]+j*+f[e+24>>2]+i*+f[e+28>>2];i=k*+f[e+36>>2]+j*+f[e+40>>2]+i*+f[e+44>>2]}if(g*+f[a+84>>2]+h*+f[a+88>>2]+i*+f[a+92>>2]<+f[a+100>>2]){k=1.0;return +k}c[a+4>>2]=c[b+40>>2];c[a+76>>2]=e;if(d){c[a+44>>2]=c[b+8>>2];c[a+44+4>>2]=c[b+8+4>>2];c[a+44+8>>2]=c[b+8+8>>2];c[a+44+12>>2]=c[b+8+12>>2]}else{g=+f[b+8>>2];h=+f[b+12>>2];i=+f[b+16>>2];j=g*+f[e+20>>2]+h*+f[e+24>>2]+i*+f[e+28>>2];k=g*+f[e+36>>2]+h*+f[e+40>>2]+i*+f[e+44>>2];f[a+44>>2]=+f[e+4>>2]*g+ +f[e+8>>2]*h+ +f[e+12>>2]*i;f[a+48>>2]=j;f[a+52>>2]=k;f[a+56>>2]=0.0}c[a+60>>2]=c[b+24>>2];c[a+60+4>>2]=c[b+24+4>>2];c[a+60+8>>2]=c[b+24+8>>2];c[a+60+12>>2]=c[b+24+12>>2];k=+f[b+40>>2];return +k}function Kh(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;if(a[b+165>>0]|0){if((c[b+92>>2]|0)>=(d|0))return;if((d|0)!=0?(c[6879]=(c[6879]|0)+1,f=Zb((d<<4|3)+16|0)|0,(f|0)!=0):0){c[(f+4+15&-16)+-4>>2]=f;g=f+4+15&-16}else g=0;e=c[b+88>>2]|0;if((e|0)>0){f=0;do{i=g+(f<<4)|0;h=(c[b+96>>2]|0)+(f<<4)|0;c[i>>2]=c[h>>2];c[i+4>>2]=c[h+4>>2];c[i+8>>2]=c[h+8>>2];c[i+12>>2]=c[h+12>>2];f=f+1|0}while((f|0)!=(e|0))}e=c[b+96>>2]|0;if(e|0){if(a[b+100>>0]|0){c[6880]=(c[6880]|0)+1;kd(c[e+-4>>2]|0)}c[b+96>>2]=0}a[b+100>>0]=1;c[b+96>>2]=g;c[b+92>>2]=d;return}if((c[b+112>>2]|0)>=(d|0))return;if((d|0)!=0?(c[6879]=(c[6879]|0)+1,e=Zb((d<<2|3)+16|0)|0,(e|0)!=0):0){c[(e+4+15&-16)+-4>>2]=e;h=e+4+15&-16}else h=0;f=c[b+108>>2]|0;g=c[b+116>>2]|0;if((f|0)<=0)if(!g)e=b+120|0;else i=23;else{e=0;do{c[h+(e<<2)>>2]=c[g+(e<<2)>>2];e=e+1|0}while((e|0)!=(f|0));i=23}if((i|0)==23){if(a[b+120>>0]|0){c[6880]=(c[6880]|0)+1;kd(c[g+-4>>2]|0)}c[b+116>>2]=0;e=b+120|0}a[e>>0]=1;c[b+116>>2]=h;c[b+112>>2]=d;return}function Lh(a,b,d,e,f,g,h,i,j){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;if(!(c[i+44>>2]|0))return;b=c[i+20>>2]|0;if(!(c[i+64>>2]&256)){if((b|0)<=0)return;j=0;do{g=c[a+28>>2]|0;if((g|0)>0){b=0;do{f=c[(c[a+116>>2]|0)+(b<<2)>>2]|0;h=c[a+36>>2]|0;d=c[a+16>>2]|0;Ag(d+((c[h+(f*152|0)+144>>2]|0)*244|0)|0,d+((c[h+(f*152|0)+148>>2]|0)*244|0)|0,h+(f*152|0)|0);b=b+1|0}while((b|0)!=(g|0));b=c[i+20>>2]|0}j=j+1|0}while((j|0)<(b|0));return}else{if((b|0)<=0)return;j=0;do{g=c[a+28>>2]|0;if((g|0)>0){b=0;do{f=c[(c[a+116>>2]|0)+(b<<2)>>2]|0;h=c[a+36>>2]|0;d=c[a+16>>2]|0;Ag(d+((c[h+(f*152|0)+144>>2]|0)*244|0)|0,d+((c[h+(f*152|0)+148>>2]|0)*244|0)|0,h+(f*152|0)|0);b=b+1|0}while((b|0)!=(g|0));b=c[i+20>>2]|0}j=j+1|0}while((j|0)<(b|0));return}}function Mh(d,e){d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;if(!(a[d+164>>0]|0)){if((c[d+152>>2]|0)>=(e|0))return;if((e|0)!=0?(c[6879]=(c[6879]|0)+1,f=Zb((e<<1)+19|0)|0,(f|0)!=0):0){c[(f+4+15&-16)+-4>>2]=f;i=f+4+15&-16}else i=0;g=c[d+148>>2]|0;h=c[d+156>>2]|0;if((g|0)<=0)if(!h)f=d+160|0;else j=24;else{f=0;do{b[i+(f<<1)>>1]=b[h+(f<<1)>>1]|0;f=f+1|0}while((f|0)!=(g|0));j=24}if((j|0)==24){if(a[d+160>>0]|0){c[6880]=(c[6880]|0)+1;kd(c[h+-4>>2]|0)}c[d+156>>2]=0;f=d+160|0}a[f>>0]=1;c[d+156>>2]=i;c[d+152>>2]=e;return}else{if((c[d+132>>2]|0)>=(e|0))return;if((e|0)!=0?(c[6879]=(c[6879]|0)+1,g=Zb((e<<2|3)+16|0)|0,(g|0)!=0):0){c[(g+4+15&-16)+-4>>2]=g;i=g+4+15&-16}else i=0;g=c[d+128>>2]|0;h=c[d+136>>2]|0;if((g|0)<=0)if(!h)f=d+140|0;else j=11;else{f=0;do{c[i+(f<<2)>>2]=c[h+(f<<2)>>2];f=f+1|0}while((f|0)!=(g|0));j=11}if((j|0)==11){if(a[d+140>>0]|0){c[6880]=(c[6880]|0)+1;kd(c[h+-4>>2]|0)}c[d+136>>2]=0;f=d+140|0}a[f>>0]=1;c[d+136>>2]=i;c[d+132>>2]=e;return}}function Nh(a,b,d){a=a|0;b=b|0;d=d|0;Xh(a,b,d)|0;c[b+52>>2]=c[a+300>>2];c[b+56>>2]=c[a+304>>2];c[b+60>>2]=c[a+308>>2];c[b+64>>2]=c[a+312>>2];c[b+68>>2]=c[a+316>>2];c[b+72>>2]=c[a+320>>2];c[b+76>>2]=c[a+324>>2];c[b+80>>2]=c[a+328>>2];c[b+84>>2]=c[a+332>>2];c[b+88>>2]=c[a+336>>2];c[b+92>>2]=c[a+340>>2];c[b+96>>2]=c[a+344>>2];c[b+100>>2]=c[a+348>>2];c[b+104>>2]=c[a+352>>2];c[b+108>>2]=c[a+356>>2];c[b+112>>2]=c[a+360>>2];c[b+116>>2]=c[a+364>>2];c[b+120>>2]=c[a+368>>2];c[b+124>>2]=c[a+372>>2];c[b+128>>2]=c[a+376>>2];c[b+132>>2]=c[a+380>>2];c[b+136>>2]=c[a+384>>2];c[b+140>>2]=c[a+388>>2];c[b+144>>2]=c[a+392>>2];c[b+148>>2]=c[a+396>>2];c[b+152>>2]=c[a+400>>2];c[b+156>>2]=c[a+404>>2];c[b+160>>2]=c[a+408>>2];c[b+164>>2]=c[a+412>>2];c[b+168>>2]=c[a+416>>2];c[b+172>>2]=c[a+420>>2];c[b+176>>2]=c[a+424>>2];c[b+180>>2]=c[a+444>>2];c[b+184>>2]=c[a+448>>2];c[b+188>>2]=c[a+452>>2];c[b+192>>2]=c[a+428>>2];c[b+196>>2]=c[a+432>>2];c[b+200>>2]=c[a+436>>2];c[b+204>>2]=c[a+440>>2];return 15759}function Oh(b,d,e,g){b=b|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0;c[6879]=(c[6879]|0)+1;h=Zb(55)|0;if(!h)j=0;else{c[(h+4+15&-16)+-4>>2]=h;j=h+4+15&-16}c[j>>2]=d;c[j+4>>2]=e;c[j+8>>2]=g;c[j+12>>2]=-1;c[j+16>>2]=-1;c[j+20>>2]=-1;c[j+28>>2]=-1;f[j+32>>2]=0.0;g=j;h=c[b+4>>2]|0;c[j+24>>2]=h;if((h|0)!=(c[b+8>>2]|0)){i=h;e=b+12|0;e=c[e>>2]|0;e=e+(i<<2)|0;c[e>>2]=g;i=i+1|0;c[b+4>>2]=i;return j|0}i=(h|0)==0?1:h<<1;if((h|0)>=(i|0)){i=h;e=b+12|0;e=c[e>>2]|0;e=e+(i<<2)|0;c[e>>2]=g;i=i+1|0;c[b+4>>2]=i;return j|0}if(!i)d=0;else{c[6879]=(c[6879]|0)+1;h=Zb((i<<2|3)+16|0)|0;if(!h)d=0;else{c[(h+4+15&-16)+-4>>2]=h;d=h+4+15&-16}h=c[b+4>>2]|0}if((h|0)>0){e=0;do{c[d+(e<<2)>>2]=c[(c[b+12>>2]|0)+(e<<2)>>2];e=e+1|0}while((e|0)!=(h|0))}e=c[b+12>>2]|0;if(e){if(a[b+16>>0]|0){c[6880]=(c[6880]|0)+1;kd(c[e+-4>>2]|0);h=c[b+4>>2]|0}c[b+12>>2]=0}a[b+16>>0]=1;c[b+12>>2]=d;c[b+8>>2]=i;i=h;e=b+12|0;e=c[e>>2]|0;e=e+(i<<2)|0;c[e>>2]=g;i=i+1|0;c[b+4>>2]=i;return j|0}function Ph(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var g=0.0,h=0.0,i=0.0,j=0.0,k=0.0,l=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0,C=0.0,D=0.0,E=0.0,F=0.0;o=+Wa[c[(c[a>>2]|0)+48>>2]&31](a);v=+f[a+72>>2];u=+f[a+56>>2];s=+f[a+76>>2];q=+f[a+60>>2];n=+f[a+80>>2];m=+f[a+64>>2];F=+f[b>>2];z=+r(+F);E=+f[b+4>>2];y=+r(+E);k=+f[b+8>>2];l=+r(+k);D=+f[b+16>>2];x=+r(+D);C=+f[b+20>>2];w=+r(+C);i=+f[b+24>>2];j=+r(+i);B=+f[b+32>>2];t=+r(+B);A=+f[b+36>>2];p=+r(+A);g=+f[b+40>>2];h=+r(+g);k=(v+u)*.5*F+(s+q)*.5*E+(n+m)*.5*k+ +f[b+48>>2];i=(v+u)*.5*D+(s+q)*.5*C+(n+m)*.5*i+ +f[b+52>>2];g=(v+u)*.5*B+(s+q)*.5*A+(n+m)*.5*g+ +f[b+56>>2];l=(o+(v-u)*.5)*z+(o+(s-q)*.5)*y+(o+(n-m)*.5)*l;j=(o+(v-u)*.5)*x+(o+(s-q)*.5)*w+(o+(n-m)*.5)*j;h=(o+(v-u)*.5)*t+(o+(s-q)*.5)*p+(o+(n-m)*.5)*h;f[d>>2]=k-l;f[d+4>>2]=i-j;f[d+8>>2]=g-h;f[d+12>>2]=0.0;f[e>>2]=l+k;f[e+4>>2]=j+i;f[e+8>>2]=h+g;f[e+12>>2]=0.0;return}function Qh(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var g=0.0,h=0.0,i=0.0,j=0.0,k=0.0,l=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0,C=0.0,D=0.0,E=0.0,F=0.0;o=+Wa[c[(c[a>>2]|0)+48>>2]&31](a);v=+f[a+68>>2];u=+f[a+52>>2];s=+f[a+72>>2];q=+f[a+56>>2];n=+f[a+76>>2];m=+f[a+60>>2];F=+f[b>>2];z=+r(+F);E=+f[b+4>>2];y=+r(+E);k=+f[b+8>>2];l=+r(+k);D=+f[b+16>>2];x=+r(+D);C=+f[b+20>>2];w=+r(+C);i=+f[b+24>>2];j=+r(+i);B=+f[b+32>>2];t=+r(+B);A=+f[b+36>>2];p=+r(+A);g=+f[b+40>>2];h=+r(+g);k=(v+u)*.5*F+(s+q)*.5*E+(n+m)*.5*k+ +f[b+48>>2];i=(v+u)*.5*D+(s+q)*.5*C+(n+m)*.5*i+ +f[b+52>>2];g=(v+u)*.5*B+(s+q)*.5*A+(n+m)*.5*g+ +f[b+56>>2];l=(o+(v-u)*.5)*z+(o+(s-q)*.5)*y+(o+(n-m)*.5)*l;j=(o+(v-u)*.5)*x+(o+(s-q)*.5)*w+(o+(n-m)*.5)*j;h=(o+(v-u)*.5)*t+(o+(s-q)*.5)*p+(o+(n-m)*.5)*h;f[d>>2]=k-l;f[d+4>>2]=i-j;f[d+8>>2]=g-h;f[d+12>>2]=0.0;f[e>>2]=l+k;f[e+4>>2]=j+i;f[e+8>>2]=h+g;f[e+12>>2]=0.0;return} -function fd(b,d,e){b=b|0;d=d|0;e=e|0;var g=0,h=0.0,i=0,j=0,k=0.0,l=0.0,m=0.0,n=0,o=0.0,p=0.0,q=0.0,r=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0,C=0.0,D=0.0,E=0.0,F=0.0,G=0.0,H=0.0,I=0.0,J=0.0,K=0.0,L=0.0,M=0.0,N=0.0,O=0.0,P=0.0,Q=0.0,R=0.0,S=0.0,T=0.0,U=0.0,V=0.0,W=0,X=0,Y=0;X=c[d+36>>2]|0;W=c[e+36>>2]|0;K=+f[X+8>>2];M=+f[X+12>>2];L=+f[X+16>>2];e=c[W+8>>2]|0;T=+f[e+8>>2];U=+f[e+12>>2];V=+f[e+16>>2];g=c[W+12>>2]|0;P=+f[g+8>>2];N=+f[g+12>>2];O=+f[g+16>>2];d=c[W+16>>2]|0;Q=+f[d+8>>2];R=+f[d+12>>2];S=+f[d+16>>2];x=P-K-(T-K);E=N-M-(U-M);z=O-L-(V-L);w=E*(S-L-(V-L))-z*(R-M-(U-M));D=z*(Q-K-(T-K))-x*(S-L-(V-L));B=x*(R-M-(U-M))-E*(Q-K-(T-K));do if(B*B+(w*w+D*D)>1.1920928955078125e-07?(H=1.0/+s(+(B*B+(w*w+D*D))),F=(V-L)*(B*H)+((T-K)*(w*H)+(U-M)*(D*H)),F*F<3402823466385288598117041.0e14):0){q=T-K-w*H*F;v=U-M-D*H*F;t=V-L-B*H*F;h=P-K-w*H*F;u=N-M-D*H*F;r=O-L-B*H*F;if((B*(u*q-v*h)+(w*(v*r-t*u)+D*(t*h-r*q))>0.0?(y=Q-K-w*H*F,C=R-M-D*H*F,A=S-L-B*H*F,B*(C*h-u*y)+(w*(u*A-r*C)+D*(r*y-A*h))>0.0):0)?B*(v*y-C*q)+(w*(C*t-A*v)+D*(A*q-t*y))>0.0:0){p=F*F;o=w*H*F;m=B*H*F;l=D*H*F;break}if(x*x+E*E+z*z>1.1920928955078125e-07?(G=-((T-K)*x+(U-M)*E+(V-L)*z)/(x*x+E*E+z*z),G=G<0.0?0.0:G>1.0?1.0:G,p=(V-L+z*G)*(V-L+z*G)+((T-K+x*G)*(T-K+x*G)+(U-M+E*G)*(U-M+E*G)),p<3402823466385288598117041.0e14):0){r=T-K+x*G;t=V-L+z*G;q=U-M+E*G}else{p=3402823466385288598117041.0e14;r=0.0;t=0.0;q=0.0}h=(Q-K-(P-K))*(Q-K-(P-K))+(R-M-(N-M))*(R-M-(N-M))+(S-L-(O-L))*(S-L-(O-L));if(h>1.1920928955078125e-07?(m=-((P-K)*(Q-K-(P-K))+(N-M)*(R-M-(N-M))+(O-L)*(S-L-(O-L)))/h,m=m<0.0?0.0:m>1.0?1.0:m,o=P-K+(Q-K-(P-K))*m,k=N-M+(R-M-(N-M))*m,m=O-L+(S-L-(O-L))*m,m*m+(o*o+k*k)1.1920928955078125e-07?(J=-((Q-K)*(T-K-(Q-K))+(R-M)*(U-M-(R-M))+(S-L)*(V-L-(S-L)))/h,J=J<0.0?0.0:J>1.0?1.0:J,I=Q-K+(T-K-(Q-K))*J,l=R-M+(U-M-(R-M))*J,J=S-L+(V-L-(S-L))*J,J*J+(I*I+l*l)>2];J=M-+f[X+28>>2];v=L-+f[X+32>>2];v=+f[b+12>>2]+ +s(+(I*I+J*J+v*v))*2.0;if(!(p>2];V=+f[e+88>>2];h=+f[g+88>>2];U=+f[d+88>>2];h=!(V<=0.0)&!(h<=0.0)&!(U<=0.0)?U*(u*(1.0/(r+(u+t))))+(V*(t*(1.0/(r+(u+t))))+h*(r*(1.0/(r+(u+t))))):0.0;if(!(k+h>0.0))return;V=1.0/-+s(+p);q=o*V;p=V*l;o=V*m;n=c[b+4>>2]|0;d=c[b+8>>2]|0;m=+f[n+316>>2];l=+f[d+316>>2];l=m>l?m:l;m=k/(k+h)*+f[n+332>>2];h=h/(k+h)*+f[d+332>>2];d=c[n+832>>2]|0;if((d|0)==(c[n+836>>2]|0)?(Y=(d|0)==0?1:d<<1,(d|0)<(Y|0)):0){if(!Y)e=0;else{c[6879]=(c[6879]|0)+1;d=Zb((Y*56|3)+16|0)|0;if(!d)e=0;else{c[(d+4+15&-16)+-4>>2]=d;e=d+4+15&-16}d=c[n+832>>2]|0}if((d|0)>0){g=0;do{b=e+(g*56|0)|0;i=(c[n+840>>2]|0)+(g*56|0)|0;j=b+56|0;do{c[b>>2]=c[i>>2];b=b+4|0;i=i+4|0}while((b|0)<(j|0));g=g+1|0}while((g|0)!=(d|0))}d=c[n+840>>2]|0;if(d|0){if(a[n+844>>0]|0){c[6880]=(c[6880]|0)+1;kd(c[d+-4>>2]|0)}c[n+840>>2]=0}a[n+844>>0]=1;c[n+840>>2]=e;c[n+836>>2]=Y;d=c[n+832>>2]|0}Y=c[n+840>>2]|0;c[Y+(d*56|0)>>2]=X;c[Y+(d*56|0)+4>>2]=W;f[Y+(d*56|0)+8>>2]=t*(1.0/(r+(u+t)));f[Y+(d*56|0)+12>>2]=r*(1.0/(r+(u+t)));f[Y+(d*56|0)+16>>2]=u*(1.0/(r+(u+t)));f[Y+(d*56|0)+20>>2]=0.0;f[Y+(d*56|0)+24>>2]=q;f[Y+(d*56|0)+28>>2]=p;f[Y+(d*56|0)+32>>2]=o;f[Y+(d*56|0)+36>>2]=0.0;f[Y+(d*56|0)+40>>2]=v;f[Y+(d*56|0)+44>>2]=l;f[Y+(d*56|0)+48>>2]=m;f[Y+(d*56|0)+52>>2]=h;c[n+832>>2]=(c[n+832>>2]|0)+1;return}function gd(b,d){b=b|0;d=+d;var e=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;q=Ta;Ta=Ta+1136|0;e=c[b+44>>2]|0;e=eb[c[(c[e>>2]|0)+84>>2]&255](e)|0;if((e|0)>0){g=0;h=42;while(1){o=c[b+44>>2]|0;zb[c[(c[o>>2]|0)+88>>2]&127](o,g,q);Je();o=23136+(h<<4)|0;c[o>>2]=c[q>>2];c[o+4>>2]=c[q+4>>2];c[o+8>>2]=c[q+8>>2];c[o+12>>2]=c[q+12>>2];g=g+1|0;if((g|0)==(e|0))break;else h=h+1|0}g=e+42|0}else g=42;e=0;do{o=c[b+44>>2]|0;n=c[(c[o>>2]|0)+64>>2]|0;Je();zb[n&127](q+1104|0,o,23136+(e<<4)|0);o=q+(e<<4)|0;c[o>>2]=c[q+1104>>2];c[o+4>>2]=c[q+1104+4>>2];c[o+8>>2]=c[q+1104+8>>2];c[o+12>>2]=c[q+1104+12>>2];e=e+1|0}while(e>>>0>>0);f[q+1104+16>>2]=1.0000000474974513e-03;c[q+1104+20>>2]=4096;c[q+1104+24>>2]=4096;c[q+1104>>2]=1;c[q+1104+4>>2]=g;c[q+1104+8>>2]=q;c[q+1104+12>>2]=16;a[q+1064+16>>0]=1;c[q+1064+12>>2]=0;c[q+1064+4>>2]=0;c[q+1064+8>>2]=0;a[q+1064+36>>0]=1;c[q+1064+32>>2]=0;c[q+1064+24>>2]=0;c[q+1064+28>>2]=0;a[q+1008+24>>0]=1;o=q+1008+20|0;c[o>>2]=0;c[q+1008+12>>2]=0;c[q+1008+16>>2]=0;n=q+1008+52|0;a[n>>0]=1;m=q+1008+48|0;c[m>>2]=0;c[q+1008+40>>2]=0;c[q+1008+44>>2]=0;a[q+1008>>0]=1;l=q+1008+4|0;c[l>>2]=0;c[q+1008+28>>2]=0;c[q+1008+32>>2]=0;if((Pb(q+1064|0,q+1104|0,q+1008|0)|0)!=1){j=c[l>>2]|0;i=c[b+4>>2]|0;if((i|0)<(j|0)){if((c[b+8>>2]|0)<(j|0)){if(!j){g=i;h=0}else{c[6879]=(c[6879]|0)+1;e=Zb((j<<4|3)+16|0)|0;if(!e)e=0;else{c[(e+4+15&-16)+-4>>2]=e;e=e+4+15&-16}g=c[b+4>>2]|0;h=e}if((g|0)>0){e=0;do{k=h+(e<<4)|0;r=(c[b+12>>2]|0)+(e<<4)|0;c[k>>2]=c[r>>2];c[k+4>>2]=c[r+4>>2];c[k+8>>2]=c[r+8>>2];c[k+12>>2]=c[r+12>>2];e=e+1|0}while((e|0)!=(g|0))}e=c[b+12>>2]|0;if(e|0){if(a[b+16>>0]|0){c[6880]=(c[6880]|0)+1;kd(c[e+-4>>2]|0)}c[b+12>>2]=0}a[b+16>>0]=1;c[b+12>>2]=h;c[b+8>>2]=j;g=b+12|0}else g=b+12|0;e=i;do{r=(c[g>>2]|0)+(e<<4)|0;c[r>>2]=c[q+992>>2];c[r+4>>2]=c[q+992+4>>2];c[r+8>>2]=c[q+992+8>>2];c[r+12>>2]=c[q+992+12>>2];e=e+1|0}while((e|0)!=(j|0));e=c[l>>2]|0}else e=j;c[b+4>>2]=j;if((e|0)>0){e=c[o>>2]|0;g=0;do{k=e+(g<<4)|0;r=(c[b+12>>2]|0)+(g<<4)|0;c[r>>2]=c[k>>2];c[r+4>>2]=c[k+4>>2];c[r+8>>2]=c[k+8>>2];c[r+12>>2]=c[k+12>>2];g=g+1|0}while((g|0)<(c[l>>2]|0))}k=c[q+1008+32>>2]|0;c[b+40>>2]=k;j=c[b+24>>2]|0;if((k|0)>(j|0)){do if((c[b+28>>2]|0)<(k|0)){if(!k){i=j;e=0}else{c[6879]=(c[6879]|0)+1;e=Zb((k<<2|3)+16|0)|0;if(!e)e=0;else{c[(e+4+15&-16)+-4>>2]=e;e=e+4+15&-16}i=c[b+24>>2]|0}g=c[b+32>>2]|0;if((i|0)<=0){if(!g){a[b+36>>0]=1;c[b+32>>2]=e;c[b+28>>2]=k;break}}else{h=0;do{c[e+(h<<2)>>2]=c[g+(h<<2)>>2];h=h+1|0}while((h|0)!=(i|0))}if(a[b+36>>0]|0){c[6880]=(c[6880]|0)+1;kd(c[g+-4>>2]|0)}a[b+36>>0]=1;c[b+32>>2]=e;c[b+28>>2]=k}else e=c[b+32>>2]|0;while(0);el(e+(j<<2)|0,0,k-j<<2|0)|0;e=c[b+40>>2]|0}else e=k;c[b+24>>2]=k;if((e|0)>0){e=c[m>>2]|0;g=c[b+32>>2]|0;h=0;do{c[g+(h<<2)>>2]=c[e+(h<<2)>>2];h=h+1|0}while((h|0)<(c[b+40>>2]|0))}if(c[q+1008+12>>2]|0){c[l>>2]=0;e=c[o>>2]|0;if(e|0){if(a[q+1008+24>>0]|0){c[6880]=(c[6880]|0)+1;kd(c[e+-4>>2]|0)}c[o>>2]=0}a[q+1008+24>>0]=1;c[o>>2]=0;c[q+1008+12>>2]=0;c[q+1008+16>>2]=0}if(!(c[q+1008+40>>2]|0)){g=1;p=60}else{c[q+1008+32>>2]=0;e=c[m>>2]|0;if(e|0){if(a[n>>0]|0){c[6880]=(c[6880]|0)+1;kd(c[e+-4>>2]|0)}c[m>>2]=0}a[n>>0]=1;c[m>>2]=0;c[q+1008+40>>2]=0;c[q+1008+44>>2]=0;g=1}}else{g=0;p=60}if((p|0)==60){e=c[m>>2]|0;if(e){if(a[n>>0]|0){c[6880]=(c[6880]|0)+1;kd(c[e+-4>>2]|0)}c[m>>2]=0}}a[n>>0]=1;c[m>>2]=0;c[q+1008+40>>2]=0;c[q+1008+44>>2]=0;e=c[o>>2]|0;if(e|0){if(a[q+1008+24>>0]|0){c[6880]=(c[6880]|0)+1;kd(c[e+-4>>2]|0)}c[o>>2]=0}e=c[q+1064+32>>2]|0;if(e|0){if(a[q+1064+36>>0]|0){c[6880]=(c[6880]|0)+1;kd(c[e+-4>>2]|0)}c[q+1064+32>>2]=0}a[q+1064+36>>0]=1;c[q+1064+32>>2]=0;c[q+1064+24>>2]=0;c[q+1064+28>>2]=0;e=c[q+1064+12>>2]|0;if(!e){Ta=q;return g|0}if(a[q+1064+16>>0]|0){c[6880]=(c[6880]|0)+1;kd(c[e+-4>>2]|0)}c[q+1064+12>>2]=0;Ta=q;return g|0}function hd(d,e){d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;n=Ta;Ta=Ta+64|0;c[d+20>>2]=c[e+16>>2];c[d+24>>2]=c[e+20>>2];c[d+28>>2]=c[e+24>>2];c[d+32>>2]=c[e+28>>2];c[d+4>>2]=c[e>>2];c[d+8>>2]=c[e+4>>2];c[d+12>>2]=c[e+8>>2];c[d+16>>2]=c[e+12>>2];c[d+36>>2]=c[e+32>>2];c[d+40>>2]=c[e+36>>2];c[d+44>>2]=c[e+40>>2];c[d+48>>2]=c[e+44>>2];c[d+56>>2]=c[e+48>>2];a[d+60>>0]=(c[e+52>>2]|0)!=0&1;m=c[e+56>>2]|0;i=n;k=i+64|0;do{c[i>>2]=0;i=i+4|0}while((i|0)<(k|0));l=c[d+88>>2]|0;if((l|0)<(m|0)){if((c[d+92>>2]|0)<(m|0)){if(!m){g=l;h=0}else{c[6879]=(c[6879]|0)+1;f=Zb(m<<6|19)|0;if(!f)f=0;else{c[(f+4+15&-16)+-4>>2]=f;f=f+4+15&-16}g=c[d+88>>2]|0;h=f}if((g|0)>0){f=0;do{i=h+(f<<6)|0;j=(c[d+96>>2]|0)+(f<<6)|0;k=i+64|0;do{c[i>>2]=c[j>>2];i=i+4|0;j=j+4|0}while((i|0)<(k|0));f=f+1|0}while((f|0)!=(g|0))}f=c[d+96>>2]|0;if(f|0){if(a[d+100>>0]|0){c[6880]=(c[6880]|0)+1;kd(c[f+-4>>2]|0)}c[d+96>>2]=0}a[d+100>>0]=1;c[d+96>>2]=h;c[d+92>>2]=m;g=d+96|0}else g=d+96|0;f=l;do{i=(c[g>>2]|0)+(f<<6)|0;j=n;k=i+64|0;do{c[i>>2]=c[j>>2];i=i+4|0;j=j+4|0}while((i|0)<(k|0));f=f+1|0}while((f|0)!=(m|0))}c[d+88>>2]=m;if((m|0)>0){f=c[d+96>>2]|0;g=0;h=c[e+64>>2]|0;while(1){c[f+(g<<6)+16>>2]=c[h+16>>2];c[f+(g<<6)+20>>2]=c[h+20>>2];c[f+(g<<6)+24>>2]=c[h+24>>2];c[f+(g<<6)+28>>2]=c[h+28>>2];c[f+(g<<6)>>2]=c[h>>2];c[f+(g<<6)+4>>2]=c[h+4>>2];c[f+(g<<6)+8>>2]=c[h+8>>2];c[f+(g<<6)+12>>2]=c[h+12>>2];c[f+(g<<6)+32>>2]=c[h+32>>2];c[f+(g<<6)+36>>2]=c[h+36>>2];c[f+(g<<6)+40>>2]=c[h+40>>2];g=g+1|0;if((g|0)==(m|0))break;else h=h+48|0}}j=c[e+60>>2]|0;c[n>>2]=0;c[n+4>>2]=0;c[n+8>>2]=0;c[n+12>>2]=0;i=c[d+128>>2]|0;if((i|0)<(j|0)){if((c[d+132>>2]|0)<(j|0)){if(!j){g=i;h=0}else{c[6879]=(c[6879]|0)+1;f=Zb((j<<4|3)+16|0)|0;if(!f)f=0;else{c[(f+4+15&-16)+-4>>2]=f;f=f+4+15&-16}g=c[d+128>>2]|0;h=f}if((g|0)>0){f=0;do{m=h+(f<<4)|0;l=(c[d+136>>2]|0)+(f<<4)|0;c[m>>2]=c[l>>2];c[m+4>>2]=c[l+4>>2];c[m+8>>2]=c[l+8>>2];c[m+12>>2]=c[l+12>>2];f=f+1|0}while((f|0)!=(g|0))}f=c[d+136>>2]|0;if(f|0){if(a[d+140>>0]|0){c[6880]=(c[6880]|0)+1;kd(c[f+-4>>2]|0)}c[d+136>>2]=0}a[d+140>>0]=1;c[d+136>>2]=h;c[d+132>>2]=j;g=d+136|0}else g=d+136|0;f=i;do{m=(c[g>>2]|0)+(f<<4)|0;c[m>>2]=c[n>>2];c[m+4>>2]=c[n+4>>2];c[m+8>>2]=c[n+8>>2];c[m+12>>2]=c[n+12>>2];f=f+1|0}while((f|0)!=(j|0))}c[d+128>>2]=j;if((j|0)>0){f=c[d+136>>2]|0;g=0;h=c[e+68>>2]|0;while(1){c[f+(g<<4)+12>>2]=c[h+12>>2];b[f+(g<<4)+6>>1]=b[h+6>>1]|0;b[f+(g<<4)+8>>1]=b[h+8>>1]|0;b[f+(g<<4)+10>>1]=b[h+10>>1]|0;b[f+(g<<4)>>1]=b[h>>1]|0;b[f+(g<<4)+2>>1]=b[h+2>>1]|0;b[f+(g<<4)+4>>1]=b[h+4>>1]|0;g=g+1|0;if((g|0)==(j|0))break;else h=h+16|0}}c[d+144>>2]=c[e+76>>2];j=c[e+80>>2]|0;i=c[d+152>>2]|0;if((i|0)<(j|0)){if((c[d+156>>2]|0)<(j|0)){if(!j){g=i;h=0}else{c[6879]=(c[6879]|0)+1;f=Zb(j<<5|19)|0;if(!f)f=0;else{c[(f+4+15&-16)+-4>>2]=f;f=f+4+15&-16}g=c[d+152>>2]|0;h=f}if((g|0)>0){f=0;do{m=h+(f<<5)|0;l=(c[d+160>>2]|0)+(f<<5)|0;c[m>>2]=c[l>>2];c[m+4>>2]=c[l+4>>2];c[m+8>>2]=c[l+8>>2];c[m+12>>2]=c[l+12>>2];c[m+16>>2]=c[l+16>>2];c[m+20>>2]=c[l+20>>2];c[m+24>>2]=c[l+24>>2];c[m+28>>2]=c[l+28>>2];f=f+1|0}while((f|0)!=(g|0))}f=c[d+160>>2]|0;if(f|0){if(a[d+164>>0]|0){c[6880]=(c[6880]|0)+1;kd(c[f+-4>>2]|0)}c[d+160>>2]=0}a[d+164>>0]=1;c[d+160>>2]=h;c[d+156>>2]=j;g=d+160|0}else g=d+160|0;f=i;do{m=(c[g>>2]|0)+(f<<5)|0;c[m>>2]=c[n>>2];c[m+4>>2]=c[n+4>>2];c[m+8>>2]=c[n+8>>2];c[m+12>>2]=c[n+12>>2];c[m+16>>2]=c[n+16>>2];c[m+20>>2]=c[n+20>>2];c[m+24>>2]=c[n+24>>2];c[m+28>>2]=c[n+28>>2];f=f+1|0}while((f|0)!=(j|0))}c[d+152>>2]=j;if((j|0)<=0){Ta=n;return}g=c[d+160>>2]|0;h=0;f=c[e+72>>2]|0;while(1){b[g+(h<<5)+6>>1]=b[f+14>>1]|0;b[g+(h<<5)+8>>1]=b[f+16>>1]|0;b[g+(h<<5)+10>>1]=b[f+18>>1]|0;b[g+(h<<5)>>1]=b[f+8>>1]|0;b[g+(h<<5)+2>>1]=b[f+10>>1]|0;b[g+(h<<5)+4>>1]=b[f+12>>1]|0;c[g+(h<<5)+12>>2]=c[f>>2];c[g+(h<<5)+16>>2]=c[f+4>>2];h=h+1|0;if((h|0)==(j|0))break;else f=f+20|0}Ta=n;return}function id(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;c[b>>2]=4380;d=c[b+192>>2]|0;if(d|0)pb[c[(c[d>>2]|0)+4>>2]&511](d);a:do if((c[b+1112>>2]|0)>0)do{h=c[c[b+1120>>2]>>2]|0;d=c[h+348>>2]|0;if(d|0){ch(b+1048|0,d)|0;e=c[b+1052>>2]|0;if(e|0){c[6880]=(c[6880]|0)+1;kd(c[e+-4>>2]|0)}c[b+1052>>2]=d;c[b+1060>>2]=(c[b+1060>>2]|0)+-1}d=c[h+52>>2]|0;if(d|0){if(a[h+56>>0]|0){c[6880]=(c[6880]|0)+1;kd(c[d+-4>>2]|0)}c[h+52>>2]=0}a[h+56>>0]=1;c[h+52>>2]=0;c[h+44>>2]=0;c[h+48>>2]=0;d=c[h+32>>2]|0;if(d|0){if(a[h+36>>0]|0){c[6880]=(c[6880]|0)+1;kd(c[d+-4>>2]|0)}c[h+32>>2]=0}a[h+36>>0]=1;c[h+32>>2]=0;c[h+24>>2]=0;c[h+28>>2]=0;d=c[h+12>>2]|0;if(d|0){if(a[h+16>>0]|0){c[6880]=(c[6880]|0)+1;kd(c[d+-4>>2]|0)}c[h+12>>2]=0}a[h+16>>0]=1;c[h+12>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[6880]=(c[6880]|0)+1;kd(c[h+-4>>2]|0);d=c[b+1112>>2]|0;if((d|0)<=0)break a;g=c[b+1120>>2]|0;e=0;do{f=g+(e<<2)|0;if((c[f>>2]|0)==(h|0)){i=25;break}e=e+1|0}while((e|0)<(d|0));if((i|0)==25){i=0;if((e|0)<(d|0)){c[f>>2]=c[g+(d+-1<<2)>>2];c[(c[b+1120>>2]|0)+(d+-1<<2)>>2]=h;c[b+1112>>2]=d+-1;d=d+-1|0}}}while((d|0)>0);while(0);d=c[b+872>>2]|0;if((d|0)>0){f=0;do{e=c[(c[b+880>>2]|0)+(f<<2)>>2]|0;if(e){c[6880]=(c[6880]|0)+1;kd(c[e+-4>>2]|0);d=c[b+872>>2]|0}f=f+1|0}while((f|0)<(d|0))}d=c[b+852>>2]|0;if((d|0)>0){f=0;do{e=c[(c[b+860>>2]|0)+(f<<2)>>2]|0;if(e){c[6880]=(c[6880]|0)+1;kd(c[e+-4>>2]|0);d=c[b+852>>2]|0}f=f+1|0}while((f|0)<(d|0))}d=c[b+1244>>2]|0;if(d|0){if(a[b+1248>>0]|0){c[6880]=(c[6880]|0)+1;kd(c[d+-4>>2]|0)}c[b+1244>>2]=0}a[b+1248>>0]=1;c[b+1244>>2]=0;c[b+1236>>2]=0;c[b+1240>>2]=0;d=c[b+1140>>2]|0;if(d|0){if(a[b+1144>>0]|0){c[6880]=(c[6880]|0)+1;kd(c[d+-4>>2]|0)}c[b+1140>>2]=0}a[b+1144>>0]=1;c[b+1140>>2]=0;c[b+1132>>2]=0;c[b+1136>>2]=0;d=c[b+1120>>2]|0;if(d|0){if(a[b+1124>>0]|0){c[6880]=(c[6880]|0)+1;kd(c[d+-4>>2]|0)}c[b+1120>>2]=0}a[b+1124>>0]=1;c[b+1120>>2]=0;c[b+1112>>2]=0;c[b+1116>>2]=0;mi(b+1048|0);mi(b+988|0);mi(b+928|0);d=c[b+880>>2]|0;if(d|0){if(a[b+884>>0]|0){c[6880]=(c[6880]|0)+1;kd(c[d+-4>>2]|0)}c[b+880>>2]=0}a[b+884>>0]=1;c[b+880>>2]=0;c[b+872>>2]=0;c[b+876>>2]=0;d=c[b+860>>2]|0;if(d|0){if(a[b+864>>0]|0){c[6880]=(c[6880]|0)+1;kd(c[d+-4>>2]|0)}c[b+860>>2]=0}a[b+864>>0]=1;c[b+860>>2]=0;c[b+852>>2]=0;c[b+856>>2]=0;d=c[b+840>>2]|0;if(d|0){if(a[b+844>>0]|0){c[6880]=(c[6880]|0)+1;kd(c[d+-4>>2]|0)}c[b+840>>2]=0}a[b+844>>0]=1;c[b+840>>2]=0;c[b+832>>2]=0;c[b+836>>2]=0;d=c[b+820>>2]|0;if(d|0){if(a[b+824>>0]|0){c[6880]=(c[6880]|0)+1;kd(c[d+-4>>2]|0)}c[b+820>>2]=0}a[b+824>>0]=1;c[b+820>>2]=0;c[b+812>>2]=0;c[b+816>>2]=0;d=c[b+800>>2]|0;if(d|0){if(a[b+804>>0]|0){c[6880]=(c[6880]|0)+1;kd(c[d+-4>>2]|0)}c[b+800>>2]=0}a[b+804>>0]=1;c[b+800>>2]=0;c[b+792>>2]=0;c[b+796>>2]=0;d=c[b+780>>2]|0;if(d|0){if(a[b+784>>0]|0){c[6880]=(c[6880]|0)+1;kd(c[d+-4>>2]|0)}c[b+780>>2]=0}a[b+784>>0]=1;c[b+780>>2]=0;c[b+772>>2]=0;c[b+776>>2]=0;d=c[b+760>>2]|0;if(d|0){if(a[b+764>>0]|0){c[6880]=(c[6880]|0)+1;kd(c[d+-4>>2]|0)}c[b+760>>2]=0}a[b+764>>0]=1;c[b+760>>2]=0;c[b+752>>2]=0;c[b+756>>2]=0;d=c[b+740>>2]|0;if(d|0){if(a[b+744>>0]|0){c[6880]=(c[6880]|0)+1;kd(c[d+-4>>2]|0)}c[b+740>>2]=0}a[b+744>>0]=1;c[b+740>>2]=0;c[b+732>>2]=0;c[b+736>>2]=0;d=c[b+720>>2]|0;if(d|0){if(a[b+724>>0]|0){c[6880]=(c[6880]|0)+1;kd(c[d+-4>>2]|0)}c[b+720>>2]=0}a[b+724>>0]=1;c[b+720>>2]=0;c[b+712>>2]=0;c[b+716>>2]=0;d=c[b+700>>2]|0;if(d|0){if(a[b+704>>0]|0){c[6880]=(c[6880]|0)+1;kd(c[d+-4>>2]|0)}c[b+700>>2]=0}a[b+704>>0]=1;c[b+700>>2]=0;c[b+692>>2]=0;c[b+696>>2]=0;d=c[b+512>>2]|0;if(d|0){if(a[b+516>>0]|0){c[6880]=(c[6880]|0)+1;kd(c[d+-4>>2]|0)}c[b+512>>2]=0}a[b+516>>0]=1;c[b+512>>2]=0;c[b+504>>2]=0;c[b+508>>2]=0;d=c[b+492>>2]|0;if(d|0){if(a[b+496>>0]|0){c[6880]=(c[6880]|0)+1;kd(c[d+-4>>2]|0)}c[b+492>>2]=0}a[b+496>>0]=1;c[b+492>>2]=0;c[b+484>>2]=0;c[b+488>>2]=0;qA(b+288|0);d=c[b+276>>2]|0;if(!d){a[b+280>>0]=1;c[b+276>>2]=0;c[b+268>>2]=0;i=b+272|0;c[i>>2]=0;c[b>>2]=6324;return}if(a[b+280>>0]|0){c[6880]=(c[6880]|0)+1;kd(c[d+-4>>2]|0)}c[b+276>>2]=0;a[b+280>>0]=1;c[b+276>>2]=0;c[b+268>>2]=0;i=b+272|0;c[i>>2]=0;c[b>>2]=6324;return}function jd(b,e){b=b|0;e=+e;var g=0,h=0.0,i=0,j=0,k=0,l=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0,t=0,u=0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0;u=Ta;Ta=Ta+32|0;g=c[b+156>>2]|0;if((g|0)>0){i=0;do{me(c[b+116>>2]|0,c[b+164>>2]|0,i,0);i=i+1|0;g=c[b+156>>2]|0}while((i|0)<(g|0))}q=c[b+116>>2]|0;o=+f[q+312>>2];p=+f[q+316>>2];h=+f[q+320>>2];h=+s(+(o*o+p*p+h*h))*3.5999999046325684;f[b+112>>2]=h;k=c[b+128>>2]|0;if(+f[q+4+(k<<2)>>2]*+f[q+312>>2]+ +f[q+20+(k<<2)>>2]*+f[q+316>>2]+ +f[q+36+(k<<2)>>2]*+f[q+320>>2]<0.0)f[b+112>>2]=-h;if((g|0)>0){g=c[b+164>>2]|0;k=0;j=0;while(1){+df(b,g+(k*284|0)|0,1.0);g=c[b+164>>2]|0;i=g+(k*284|0)|0;if(!(a[g+(k*284|0)+84>>0]|0))if(!(a[b+132>>0]|0))i=g;else{+df(b,i,.949999988079071);q=c[b+164>>2]|0;i=q;j=j+(d[q+(k*284|0)+84>>0]|0)|0}else{i=g;j=j+1|0}k=k+1|0;g=c[b+156>>2]|0;if((k|0)>=(g|0))break;else g=i}if(!j)t=14;else q=j}else t=14;if((t|0)==14)if(+f[b+144>>2]>0.0){g=c[b+116>>2]|0;v=+f[g+8>>2];l=+f[g+24>>2];y=+f[g+40>>2];m=+f[g+380>>2];h=+f[g+384>>2];x=+f[g+388>>2];n=1.0/+s(+(m*m+h*h+x*x));c[g+260>>2]=(c[g+260>>2]|0)+1;f[g+328>>2]=0.0;f[g+336>>2]=0.0;g=c[b+116>>2]|0;w=+f[b+144>>2];o=(w*(l*-(x*n)-y*-(h*n))*+f[g+280>>2]+w*(y*-(m*n)-v*-(x*n))*+f[g+284>>2]+w*(v*-(h*n)-l*-(m*n))*+f[g+288>>2])*+f[g+548>>2];p=(w*(l*-(x*n)-y*-(h*n))*+f[g+296>>2]+w*(y*-(m*n)-v*-(x*n))*+f[g+300>>2]+w*(v*-(h*n)-l*-(m*n))*+f[g+304>>2])*+f[g+552>>2];f[g+328>>2]=(+f[g+264>>2]*(w*(l*-(x*n)-y*-(h*n)))+ +f[g+268>>2]*(w*(y*-(m*n)-v*-(x*n)))+w*(v*-(h*n)-l*-(m*n))*+f[g+272>>2])*+f[g+544>>2]+ +f[g+328>>2];f[g+332>>2]=o+ +f[g+332>>2];f[g+336>>2]=p+ +f[g+336>>2];g=c[b+156>>2]|0;q=0}else q=0;i=c[b+116>>2]|0;l=1.0/+f[i+344>>2];a:do if((g|0)>0){j=c[b+164>>2]|0;k=0;do{do if(!(a[j+(k*284|0)+84>>0]|0)){h=+f[b+140>>2];if(h>0.0){f[j+(k*284|0)+276>>2]=-(l*h);break}else{f[j+(k*284|0)+276>>2]=0.0;break}}else{y=+f[j+(k*284|0)+272>>2];y=l*(+f[j+(k*284|0)+216>>2]*(+f[j+(k*284|0)+204>>2]-+f[j+(k*284|0)+32>>2])*+f[j+(k*284|0)+268>>2]-y*+f[(y<0.0?j+(k*284|0)+220|0:j+(k*284|0)+224|0)>>2]);f[j+(k*284|0)+276>>2]=y<0.0?0.0:y;g=c[b+156>>2]|0}while(0);k=k+1|0}while((k|0)<(g|0));if((g|0)>0){g=0;while(1){w=+f[j+(g*284|0)+276>>2];y=+f[j+(g*284|0)+248>>2];w=w>y?y:w;y=w*+f[j+(g*284|0)+4>>2]*e;x=w*+f[j+(g*284|0)+8>>2]*e;f[u+16>>2]=+f[j+(g*284|0)>>2]*w*e;f[u+16+4>>2]=y;f[u+16+8>>2]=x;f[u+16+12>>2]=0.0;x=+f[j+(g*284|0)+20>>2]-+f[i+56>>2];y=+f[j+(g*284|0)+24>>2]-+f[i+60>>2];f[u>>2]=+f[j+(g*284|0)+16>>2]-+f[i+52>>2];f[u+4>>2]=x;f[u+8>>2]=y;f[u+12>>2]=0.0;ql(i,u+16|0,u);g=g+1|0;if((g|0)>=(c[b+156>>2]|0))break a;j=c[b+164>>2]|0;i=c[b+116>>2]|0}}}while(0);qb[c[(c[b>>2]|0)+20>>2]&63](b,e);h=+f[b+148>>2];if(h>0.0?(t=c[b+136>>2]|0,!((t|0)<1|(q|0)<(t|0))):0){t=c[b+116>>2]|0;p=+f[t+312>>2];w=+f[t+316>>2];y=+f[t+320>>2];n=-(h*+r(+(+s(+(p*p+w*w+y*y)))));o=+f[t+344>>2];v=(+f[t+20>>2]*0.0+ +f[t+24>>2]*n+ +f[t+28>>2]*0.0)*+f[t+352>>2]*o;x=o*((+f[t+36>>2]*0.0+ +f[t+40>>2]*n+ +f[t+44>>2]*0.0)*+f[t+356>>2]);f[t+312>>2]=(+f[t+12>>2]*0.0+(+f[t+4>>2]*0.0+ +f[t+8>>2]*n))*+f[t+348>>2]*o+p;f[t+316>>2]=v+w;f[t+320>>2]=x+y}j=c[b+156>>2]|0;if((j|0)<=0){Ta=u;return}k=c[b+164>>2]|0;q=c[b+116>>2]|0;t=0;do{n=+f[k+(t*284|0)+36>>2]-+f[q+52>>2];p=+f[k+(t*284|0)+40>>2]-+f[q+56>>2];o=+f[k+(t*284|0)+44>>2]-+f[q+60>>2];h=+f[q+332>>2];l=+f[q+336>>2];m=+f[q+328>>2];if(!(a[k+(t*284|0)+84>>0]|0)){g=k+(t*284|0)+240|0;m=+f[g>>2];i=k+(t*284|0)+236|0;h=m;l=+f[i>>2]}else{g=c[b+128>>2]|0;A=+f[q+4+(g<<2)>>2];v=+f[q+20+(g<<2)>>2];x=+f[q+36+(g<<2)>>2];z=+f[k+(t*284|0)>>2];w=+f[k+(t*284|0)+4>>2];y=+f[k+(t*284|0)+8>>2];m=((p*m-n*h+ +f[q+320>>2])*(x-y*(A*z+v*w+x*y))+((h*o-p*l+ +f[q+312>>2])*(A-z*(A*z+v*w+x*y))+(n*l-o*m+ +f[q+316>>2])*(v-w*(A*z+v*w+x*y))))*e/+f[k+(t*284|0)+212>>2];g=k+(t*284|0)+240|0;f[g>>2]=m;i=k+(t*284|0)+236|0;h=+f[i>>2];l=m}f[i>>2]=h+l;f[g>>2]=m*.9900000095367432;t=t+1|0}while((t|0)!=(j|0));Ta=u;return}function kd(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;if(!a)return;b=c[6901]|0;d=c[a+-4>>2]|0;k=a+-8+(d&-8)|0;do if(!(d&1)){e=c[a+-8>>2]|0;if(!(d&3))return;g=a+-8+(0-e)|0;h=e+(d&-8)|0;if(g>>>0>>0)return;if((c[6902]|0)==(g|0)){a=c[k+4>>2]|0;if((a&3|0)!=3){i=g;j=g;a=h;break}c[6899]=h;c[k+4>>2]=a&-2;c[g+4>>2]=h|1;c[g+h>>2]=h;return}d=3?e>>>3:e;if(e>>>0<256){a=c[g+8>>2]|0;b=c[g+12>>2]|0;if((b|0)==(a|0)){c[6897]=c[6897]&~(1<>2]=b;c[b+8>>2]=a;i=g;j=g;a=h;break}}f=c[g+24>>2]|0;a=c[g+12>>2]|0;do if((a|0)==(g|0)){a=c[g+16+4>>2]|0;if(!a){a=c[g+16>>2]|0;if(!a){a=0;break}else b=g+16|0}else b=g+16+4|0;while(1){e=a+20|0;d=c[e>>2]|0;if(!d){e=a+16|0;d=c[e>>2]|0;if(!d)break;else{a=d;b=e}}else{a=d;b=e}}c[b>>2]=0}else{j=c[g+8>>2]|0;c[j+12>>2]=a;c[a+8>>2]=j}while(0);if(f){b=c[g+28>>2]|0;if((c[27892+(b<<2)>>2]|0)==(g|0)){c[27892+(b<<2)>>2]=a;if(!a){c[6898]=c[6898]&~(1<>2]|0)==(g|0)?f+16|0:f+20|0)>>2]=a;if(!a){i=g;j=g;a=h;break}}c[a+24>>2]=f;b=c[g+16>>2]|0;if(b|0){c[a+16>>2]=b;c[b+24>>2]=a}b=c[g+16+4>>2]|0;if(b){c[a+20>>2]=b;c[b+24>>2]=a;i=g;j=g;a=h}else{i=g;j=g;a=h}}else{i=g;j=g;a=h}}else{i=a+-8|0;j=a+-8|0;a=d&-8}while(0);if(i>>>0>=k>>>0)return;b=c[k+4>>2]|0;if(!(b&1))return;if(!(b&2)){if((c[6903]|0)==(k|0)){k=(c[6900]|0)+a|0;c[6900]=k;c[6903]=j;c[j+4>>2]=k|1;if((j|0)!=(c[6902]|0))return;c[6902]=0;c[6899]=0;return}if((c[6902]|0)==(k|0)){k=(c[6899]|0)+a|0;c[6899]=k;c[6902]=i;c[j+4>>2]=k|1;c[i+k>>2]=k;return}f=(b&-8)+a|0;d=3?b>>>3:b;do if(b>>>0<256){b=c[k+8>>2]|0;a=c[k+12>>2]|0;if((a|0)==(b|0)){c[6897]=c[6897]&~(1<>2]=a;c[a+8>>2]=b;break}}else{g=c[k+24>>2]|0;a=c[k+12>>2]|0;do if((a|0)==(k|0)){a=c[k+16+4>>2]|0;if(!a){a=c[k+16>>2]|0;if(!a){b=0;break}else b=k+16|0}else b=k+16+4|0;while(1){e=a+20|0;d=c[e>>2]|0;if(!d){e=a+16|0;d=c[e>>2]|0;if(!d)break;else{a=d;b=e}}else{a=d;b=e}}c[b>>2]=0;b=a}else{b=c[k+8>>2]|0;c[b+12>>2]=a;c[a+8>>2]=b;b=a}while(0);if(g|0){a=c[k+28>>2]|0;if((c[27892+(a<<2)>>2]|0)==(k|0)){c[27892+(a<<2)>>2]=b;if(!b){c[6898]=c[6898]&~(1<>2]|0)==(k|0)?g+16|0:g+20|0)>>2]=b;if(!b)break}c[b+24>>2]=g;a=c[k+16>>2]|0;if(a|0){c[b+16>>2]=a;c[a+24>>2]=b}a=c[k+16+4>>2]|0;if(a|0){c[b+20>>2]=a;c[a+24>>2]=b}}}while(0);c[j+4>>2]=f|1;c[i+f>>2]=f;if((j|0)==(c[6902]|0)){c[6899]=f;return}}else{c[k+4>>2]=b&-2;c[j+4>>2]=a|1;c[i+a>>2]=a;f=a}d=3?f>>>3:f;if(f>>>0<256){a=c[6897]|0;if(!(a&1<>2]|0}c[a>>2]=j;c[b+12>>2]=j;c[j+8>>2]=b;c[j+12>>2]=27628+(d<<1<<2);return}a=8?f>>>8:f;if(a)if(f>>>0>16777215)e=31;else{i=(16?(a+1048320|0)>>>16:a+1048320|0)&8;k=(16?((a<>>16:(a<>>16:(a<>>15:a<>>(e+7|0):f)&1|e<<1}else e=0;b=27892+(e<<2)|0;c[j+28>>2]=e;c[j+20>>2]=0;c[j+16>>2]=0;a=c[6898]|0;d=1<>2]=j;c[j+24>>2]=b;c[j+12>>2]=j;c[j+8>>2]=j}else{a=c[b>>2]|0;b:do if((c[a+4>>2]&-8|0)!=(f|0)){e=f<<((e|0)==31?0:25-(1?e>>>1:e)|0);while(1){d=a+16+((31?e>>>31:e)<<2)|0;b=c[d>>2]|0;if(!b)break;if((c[b+4>>2]&-8|0)==(f|0)){a=b;break b}else{e=e<<1;a=b}}c[d>>2]=j;c[j+24>>2]=a;c[j+12>>2]=j;c[j+8>>2]=j;break a}while(0);i=a+8|0;k=c[i>>2]|0;c[k+12>>2]=j;c[i>>2]=j;c[j+8>>2]=k;c[j+12>>2]=a;c[j+24>>2]=0}while(0);k=(c[6905]|0)+-1|0;c[6905]=k;if(k|0)return;a=28044;while(1){a=c[a>>2]|0;if(!a)break;else a=a+8|0}c[6905]=-1;return}function ld(a,b,d,e,f,g,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,A=0,B=0,C=0,E=0,F=0,G=0,H=0,I=0;i=c[d+8>>2]|0;if(!i){a=0;return a|0}j=i;E=i;i=0;do{if((c[E+20>>2]|0)>(c[a+100>>2]|0)){y=c[E+12>>2]|0;w=c[y+88>>2]|0;A=w-(c[d+88>>2]|0)|0;x=c[y+92>>2]|0;B=x-(c[d+92>>2]|0)|0;y=c[y+96>>2]|0;C=y-(c[d+96>>2]|0)|0;k=nw(c[g>>2]|0,c[g+4>>2]|0,A|0,((A|0)<0)<<31>>31|0)|0;n=D()|0;j=nw(c[g+8>>2]|0,c[g+8+4>>2]|0,B|0,((B|0)<0)<<31>>31|0)|0;n=hD(j|0,D()|0,k|0,n|0)|0;k=D()|0;j=nw(c[g+16>>2]|0,c[g+16+4>>2]|0,C|0,((C|0)<0)<<31>>31|0)|0;j=hD(n|0,k|0,j|0,D()|0)|0;k=D()|0;n=nw(c[f>>2]|0,c[f+4>>2]|0,A|0,((A|0)<0)<<31>>31|0)|0;v=D()|0;m=nw(c[f+8>>2]|0,c[f+8+4>>2]|0,B|0,((B|0)<0)<<31>>31|0)|0;v=hD(m|0,D()|0,n|0,v|0)|0;n=D()|0;m=nw(c[f+16>>2]|0,c[f+16+4>>2]|0,C|0,((C|0)<0)<<31>>31|0)|0;m=hD(v|0,n|0,m|0,D()|0)|0;n=D()|0;if((k|0)>0|(k|0)==0&j>>>0>0){u=j;v=k;o=-1;l=1}else{u=xC(0,0,j|0,k|0)|0;v=D()|0;u=(j|0)!=0|(k|0)!=0?u:0;v=(j|0)!=0|(k|0)!=0?v:0;o=((j|0)!=0|(k|0)!=0)&1;l=((j|0)!=0|(k|0)!=0)<<31>>31}if(!((n|0)>0|(n|0)==0&m>>>0>0)){j=xC(0,0,m|0,n|0)|0;k=D()|0;j=(m|0)!=0|(n|0)!=0?j:0;k=(m|0)!=0|(n|0)!=0?k:0;if(!((((m|0)!=0|(n|0)!=0?o:l)|0)==0&((j|0)==0&(k|0)==0))){t=j;l=(m|0)!=0|(n|0)!=0?o:l;p=8}}else{t=m;k=n;p=8}a:do if((p|0)==8){p=0;if(!i){c[h>>2]=u;c[h+4>>2]=v;c[h+8>>2]=t;c[h+8+4>>2]=k;c[h+16>>2]=l;i=E;break}j=c[h+16>>2]|0;if((l|0)==(j|0)){if(l|0){n=c[h+8>>2]|0;q=c[h+8+4>>2]|0;m=nw(n|0,0,u|0,0)|0;j=D()|0;r=nw(q|0,0,u|0,0)|0;p=D()|0;n=nw(n|0,0,v|0,0)|0;o=D()|0;q=nw(q|0,0,v|0,0)|0;H=D()|0;n=hD(r|0,0,n|0,0)|0;r=D()|0;H=hD(p|0,0,q|0,H|0)|0;o=hD(H|0,D()|0,o|0,0)|0;r=hD(o|0,D()|0,r|0,0)|0;o=D()|0;j=hD(0,n|0,m|0,j|0)|0;m=D()|0;n=hD(r|0,o|0,(m>>>0>>0|(m|0)==(n|0)&j>>>0<0)&1|0,0)|0;o=D()|0;r=c[h>>2]|0;H=c[h+4>>2]|0;q=nw(r|0,0,t|0,0)|0;p=D()|0;F=nw(H|0,0,t|0,0)|0;I=D()|0;r=nw(r|0,0,k|0,0)|0;s=D()|0;H=nw(H|0,0,k|0,0)|0;G=D()|0;r=hD(F|0,0,r|0,0)|0;F=D()|0;G=hD(I|0,0,H|0,G|0)|0;s=hD(G|0,D()|0,s|0,0)|0;F=hD(s|0,D()|0,F|0,0)|0;s=D()|0;p=hD(0,r|0,q|0,p|0)|0;q=D()|0;r=hD(F|0,s|0,(q>>>0>>0|(q|0)==(r|0)&p>>>0<0)&1|0,0)|0;s=D()|0;if(!(o>>>0>>0|(o|0)==(s|0)&n>>>0>>0))if(o>>>0>s>>>0|(o|0)==(s|0)&n>>>0>r>>>0)j=1;else j=m>>>0>>0|(m|0)==(q|0)&j>>>0

>>0?-1:(m>>>0>q>>>0|(m|0)==(q|0)&j>>>0>p>>>0)&1;else j=-1;j=z(j,l)|0;p=17}}else{j=l-j|0;p=17}do if((p|0)==17){p=0;if((j|0)>=0)if(!j)break;else break a;else{c[h>>2]=u;c[h+4>>2]=v;c[h+8>>2]=t;c[h+8+4>>2]=k;c[h+16>>2]=l;i=E;break a}}while(0);j=(c[i+4>>2]|0)==(E|0);if((c[i>>2]|0)==(E|0))if(j){I=c[e+8>>2]|0;F=z(I,B)|0;u=c[e+4>>2]|0;F=F-(z(u,C)|0)|0;H=c[e>>2]|0;I=(z(H,C)|0)-(z(I,A)|0)|0;H=(z(u,A)|0)-(z(H,B)|0)|0;u=c[i+12>>2]|0;j=c[(c[E+8>>2]|0)+12>>2]|0;C=c[j+88>>2]|0;A=(c[u+88>>2]|0)-C|0;v=c[j+92>>2]|0;B=(c[u+92>>2]|0)-v|0;j=c[j+96>>2]|0;u=(c[u+96>>2]|0)-j|0;G=(z(y-j|0,B)|0)-(z(u,x-v|0)|0)|0;j=(z(u,w-C|0)|0)-(z(y-j|0,A)|0)|0;C=(z(x-v|0,A)|0)-(z(B,w-C|0)|0)|0;F=nw(G|0,((G|0)<0)<<31>>31|0,F|0,((F|0)<0)<<31>>31|0)|0;G=D()|0;I=nw(j|0,((j|0)<0)<<31>>31|0,I|0,((I|0)<0)<<31>>31|0)|0;j=D()|0;H=nw(C|0,((C|0)<0)<<31>>31|0,H|0,((H|0)<0)<<31>>31|0)|0;H=hD(F|0,G|0,H|0,D()|0)|0;j=hD(H|0,D()|0,I|0,j|0)|0;I=D()|0;j=(I|0)>0|(I|0)==0&j>>>0>0?2:1}else j=2;else j=j&1;i=(j|0)==2^b?i:E}while(0);j=c[d+8>>2]|0}E=c[E>>2]|0}while((E|0)!=(j|0));return i|0}function md(b,d,e,g){b=b|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,t=0,u=0.0,v=0.0,w=0.0,x=0;q=Ta;Ta=Ta+176|0;c[q+96>>2]=1;c[q+96+4>>2]=e;c[q+96+8>>2]=d;c[q+96+12>>2]=16;f[q+96+16>>2]=1.0000000474974513e-03;a[q+40+24>>0]=1;p=q+40+20|0;c[p>>2]=0;c[q+40+12>>2]=0;c[q+40+16>>2]=0;o=q+40+52|0;a[o>>0]=1;n=q+40+48|0;c[n>>2]=0;c[q+40+40>>2]=0;c[q+40+44>>2]=0;a[q+40>>0]=1;c[q+40+4>>2]=0;c[q+40+28>>2]=0;c[q+40+32>>2]=0;a[q+16>>0]=1;c[q+12>>2]=0;c[q+4>>2]=0;c[q+8>>2]=0;a[q+36>>0]=1;c[q+32>>2]=0;c[q+24>>2]=0;c[q+28>>2]=0;c[q+96+20>>2]=e;Pb(q,q+96|0,q+40|0)|0;c[6879]=(c[6879]|0)+1;d=Zb(1271)|0;if(!d)m=0;else{c[(d+4+15&-16)+-4>>2]=d;m=d+4+15&-16}jc(m,b,c[q+40+4>>2]|0,c[p>>2]|0,0);if((c[q+40+28>>2]|0)>0){j=m+720|0;l=m+732|0;k=m+740|0;h=m+924|0;i=0;do{b=i*3|0;r=c[n>>2]|0;d=c[r+(b<<2)>>2]|0;e=c[r+(b+1<<2)>>2]|0;b=c[r+(b+2<<2)>>2]|0;if((d|0)<(e|0)){x=c[j>>2]|0;fi(m,0);r=(c[l>>2]|0)+-1|0;t=c[k>>2]|0;c[t+(r*52|0)+8>>2]=x+(d*104|0);c[t+(r*52|0)+12>>2]=x+(e*104|0);w=+f[x+(d*104|0)+8>>2]-+f[x+(e*104|0)+8>>2];v=+f[x+(d*104|0)+12>>2]-+f[x+(e*104|0)+12>>2];u=+f[x+(d*104|0)+16>>2]-+f[x+(e*104|0)+16>>2];f[t+(r*52|0)+16>>2]=+s(+(w*w+v*v+u*u));a[h>>0]=1}if((e|0)<(b|0)){r=c[j>>2]|0;fi(m,0);x=(c[l>>2]|0)+-1|0;t=c[k>>2]|0;c[t+(x*52|0)+8>>2]=r+(e*104|0);c[t+(x*52|0)+12>>2]=r+(b*104|0);u=+f[r+(e*104|0)+8>>2]-+f[r+(b*104|0)+8>>2];v=+f[r+(e*104|0)+12>>2]-+f[r+(b*104|0)+12>>2];w=+f[r+(e*104|0)+16>>2]-+f[r+(b*104|0)+16>>2];f[t+(x*52|0)+16>>2]=+s(+(u*u+v*v+w*w));a[h>>0]=1}if((b|0)<(d|0)){r=c[j>>2]|0;fi(m,0);x=(c[l>>2]|0)+-1|0;t=c[k>>2]|0;c[t+(x*52|0)+8>>2]=r+(b*104|0);c[t+(x*52|0)+12>>2]=r+(d*104|0);u=+f[r+(b*104|0)+8>>2]-+f[r+(d*104|0)+8>>2];v=+f[r+(b*104|0)+12>>2]-+f[r+(d*104|0)+12>>2];w=+f[r+(b*104|0)+16>>2]-+f[r+(d*104|0)+16>>2];f[t+(x*52|0)+16>>2]=+s(+(u*u+v*v+w*w));a[h>>0]=1}Vf(m,d,e,b,0);i=i+1|0}while((i|0)<(c[q+40+28>>2]|0))}if(c[q+40+12>>2]|0){c[q+40+4>>2]=0;d=c[p>>2]|0;if(d|0){if(a[q+40+24>>0]|0){c[6880]=(c[6880]|0)+1;kd(c[d+-4>>2]|0)}c[p>>2]=0}a[q+40+24>>0]=1;c[p>>2]=0;c[q+40+12>>2]=0;c[q+40+16>>2]=0}if(c[q+40+40>>2]|0){c[q+40+32>>2]=0;d=c[n>>2]|0;if(d|0){if(a[o>>0]|0){c[6880]=(c[6880]|0)+1;kd(c[d+-4>>2]|0)}c[n>>2]=0}a[o>>0]=1;c[n>>2]=0;c[q+40+40>>2]=0;c[q+40+44>>2]=0}if(g){e=c[m+732>>2]|0;if((e|0)>0){j=m+740|0;i=0;d=243703;do{b=c[j>>2]|0;h=b+(i*52|0)|0;d=(z(d,1664525)|0)+1013904223|0;k=q+124|0;l=h;g=k+52|0;do{c[k>>2]=c[l>>2];k=k+4|0;l=l+4|0}while((k|0)<(g|0));k=h;l=b+(((d>>>0)%(e>>>0)|0)*52|0)|0;g=k+52|0;do{c[k>>2]=c[l>>2];k=k+4|0;l=l+4|0}while((k|0)<(g|0));k=b+(((d>>>0)%(e>>>0)|0)*52|0)|0;l=q+124|0;g=k+52|0;do{c[k>>2]=c[l>>2];k=k+4|0;l=l+4|0}while((k|0)<(g|0));i=i+1|0}while((i|0)!=(e|0))}else d=243703;h=c[m+752>>2]|0;if((h|0)>0){j=m+760|0;i=0;do{e=c[j>>2]|0;b=e+(i*44|0)|0;d=(z(d,1664525)|0)+1013904223|0;e=e+(((d>>>0)%(h>>>0)|0)*44|0)|0;k=q+124|0;l=b;g=k+44|0;do{c[k>>2]=c[l>>2];k=k+4|0;l=l+4|0}while((k|0)<(g|0));k=b;l=e;g=k+44|0;do{c[k>>2]=c[l>>2];k=k+4|0;l=l+4|0}while((k|0)<(g|0));k=e;l=q+124|0;g=k+44|0;do{c[k>>2]=c[l>>2];k=k+4|0;l=l+4|0}while((k|0)<(g|0));i=i+1|0}while((i|0)!=(h|0))}}d=c[q+32>>2]|0;if(d|0){if(a[q+36>>0]|0){c[6880]=(c[6880]|0)+1;kd(c[d+-4>>2]|0)}c[q+32>>2]=0}a[q+36>>0]=1;c[q+32>>2]=0;c[q+24>>2]=0;c[q+28>>2]=0;d=c[q+12>>2]|0;if(d|0){if(a[q+16>>0]|0){c[6880]=(c[6880]|0)+1;kd(c[d+-4>>2]|0)}c[q+12>>2]=0}d=c[n>>2]|0;if(d|0){if(a[o>>0]|0){c[6880]=(c[6880]|0)+1;kd(c[d+-4>>2]|0)}c[n>>2]=0}a[o>>0]=1;c[n>>2]=0;c[q+40+40>>2]=0;c[q+40+44>>2]=0;d=c[p>>2]|0;if(!d){Ta=q;return m|0}if(a[q+40+24>>0]|0){c[6880]=(c[6880]|0)+1;kd(c[d+-4>>2]|0)}c[p>>2]=0;Ta=q;return m|0}function nd(b,d,e,g,h,i,j,k,l,m,n,o,p){b=b|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;var q=0.0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0,y=0,A=0,B=0,C=0,D=0,E=0.0,F=0.0,G=0.0,H=0.0,I=0.0,J=0.0,K=0.0,L=0.0;B=z(c[l+24>>2]|0,m)|0;y=a[d+44>>0]|0;C=c[d+56>>2]|0;if(!(y<<24>>24!=0|(C|0)!=0)){d=0;return d|0}D=c[(o|0?l+12|0:l+8|0)>>2]|0;m=c[(o|0?l+20|0:l+16|0)>>2]|0;c[D+(B<<2)>>2]=c[n>>2];c[D+(B+1<<2)>>2]=c[n+4>>2];c[D+(B+2<<2)>>2]=c[n+8>>2];f[m+(B<<2)>>2]=-+f[n>>2];f[m+(B+1<<2)>>2]=-+f[n+4>>2];f[m+(B+2<<2)>>2]=-+f[n+8>>2];do if(!o){q=+f[b+1176>>2];if(!(a[b+1301>>0]|0)){t=q-+f[e+48>>2];w=+f[b+1180>>2]-+f[e+52>>2];x=+f[b+1184>>2]-+f[e+56>>2];v=+f[n+8>>2];s=+f[n+4>>2];u=+f[n>>2];D=c[l+12>>2]|0;f[D+(B<<2)>>2]=w*v-x*s;f[D+(B+1<<2)>>2]=x*u-t*v;f[D+(B+2<<2)>>2]=t*s-w*u;u=+f[b+1176>>2]-+f[g+48>>2];w=+f[b+1180>>2]-+f[g+52>>2];s=+f[b+1184>>2]-+f[g+56>>2];t=+f[n+8>>2];v=+f[n+4>>2];x=+f[n>>2];D=c[l+20>>2]|0;f[D+(B<<2)>>2]=-(w*t-s*v);f[D+(B+1<<2)>>2]=-(s*x-u*t);f[D+(B+2<<2)>>2]=-(u*v-w*x);break}J=q-+f[g+48>>2];H=+f[b+1180>>2]-+f[g+52>>2];F=+f[b+1184>>2]-+f[g+56>>2];I=+f[n>>2];G=+f[n+4>>2];E=+f[n+8>>2];L=+f[b+1112>>2]-+f[e+48>>2];u=+f[b+1116>>2]-+f[e+52>>2];q=+f[b+1120>>2]-+f[e+56>>2];v=+f[d+52>>2]-+f[d+48>>2];K=I*(I*L+G*u+E*q)+I*v-I*(J*I+H*G+F*E);t=G*(I*L+G*u+E*q)+G*v-G*(J*I+H*G+F*E);v=E*(I*L+G*u+E*q)+E*v-E*(J*I+H*G+F*E);x=+f[b+1272>>2];w=+f[b+1276>>2];s=E*(u-G*(I*L+G*u+E*q)+x*t)-G*(q-E*(I*L+G*u+E*q)+x*v);r=I*(q-E*(I*L+G*u+E*q)+x*v)-E*(L-I*(I*L+G*u+E*q)+x*K);q=G*(L-I*(I*L+G*u+E*q)+x*K)-I*(u-G*(I*L+G*u+E*q)+x*t);u=E*(H-G*(J*I+H*G+F*E)-w*t)-G*(F-E*(J*I+H*G+F*E)-w*v);v=I*(F-E*(J*I+H*G+F*E)-w*v)-E*(J-I*(J*I+H*G+F*E)-w*K);t=G*(J-I*(J*I+H*G+F*E)-w*K)-I*(H-G*(J*I+H*G+F*E)-w*t);if(!((p|0)!=0|(a[b+1280>>0]|0)==0)){u=w*u;v=w*v;t=w*t;s=x*s;r=x*r;q=x*q}D=(c[l+12>>2]|0)+(B<<2)|0;f[D>>2]=s;f[D+4>>2]=r;f[D+8>>2]=q;D=c[l+20>>2]|0;f[D+(B<<2)>>2]=-u;f[D+(B+1<<2)>>2]=-v;f[D+(B+2<<2)>>2]=-t}while(0);if(C|0?+f[d>>2]==+f[d+4>>2]:0){m=(c[l+28>>2]|0)+(B<<2)|0;f[m>>2]=0.0;q=0.0}else A=11;do if((A|0)==11){m=(c[l+28>>2]|0)+(B<<2)|0;f[m>>2]=0.0;if(!(y<<24>>24)){if(C|0){q=0.0;break}else k=1;return k|0}c[(c[l+32>>2]|0)+(B<<2)>>2]=c[d+28>>2];if(C|0){q=+f[m>>2];break}v=+f[d+8>>2];t=o|0?v:-v;q=+f[d+52>>2];r=+f[d>>2];s=+f[d+4>>2];u=+f[l>>2]*+f[d+32>>2];do if(!(r>s))if(!(r==s)){if(t/u<0.0)if(q>=r?r-t/u>q:0){q=(r-q)/(t/u);break}else{q=q0.0)if(q<=s?s-t/us?0.0:1.0;break}else q=0.0}else q=0.0;else q=1.0;while(0);f[m>>2]=q*v+ +f[m>>2];f[(c[l+36>>2]|0)+(B<<2)>>2]=-+f[d+12>>2];c[(c[l+40>>2]|0)+(B<<2)>>2]=c[d+12>>2];D=1;return D|0}while(0);L=+f[l>>2]*+f[d+32>>2]*+f[d+48>>2];f[m>>2]=q+(o|0?-L:L);c[(c[l+32>>2]|0)+(B<<2)>>2]=c[d+36>>2];if(+f[d>>2]==+f[d+4>>2]){f[(c[l+36>>2]|0)+(B<<2)>>2]=-3402823466385288598117041.0e14;f[(c[l+40>>2]|0)+(B<<2)>>2]=3402823466385288598117041.0e14;D=1;return D|0}f[(c[l+36>>2]|0)+(B<<2)>>2]=(C|0)==1?0.0:-3402823466385288598117041.0e14;f[(c[l+40>>2]|0)+(B<<2)>>2]=(C|0)==1?3402823466385288598117041.0e14:0.0;v=+f[d+40>>2];if(!(v>0.0)){D=1;return D|0}if(o|0){L=+f[n>>2];u=+f[n+4>>2];q=+f[n+8>>2];r=q;s=u;t=L;u=+f[j>>2]*L+ +f[j+4>>2]*u;q=+f[j+8>>2]*q}else{L=+f[n>>2];u=+f[n+4>>2];q=+f[n+8>>2];r=q;s=u;t=L;u=+f[h>>2]*L+ +f[h+4>>2]*u;k=i;q=+f[h+8>>2]*q}q=u+q-(t*+f[k>>2]+s*+f[k+4>>2]+r*+f[k+8>>2]);if((C|0)==1){if(!(q<0.0)){D=1;return D|0}if(!(+f[m>>2]<-(v*q))){D=1;return D|0}f[m>>2]=-(v*q);D=1;return D|0}else{if(!(q>0.0)){D=1;return D|0}if(!(+f[m>>2]>-(v*q))){D=1;return D|0}f[m>>2]=-(v*q);D=1;return D|0}return 0}function od(b,d,e,g,i,j){b=b|0;d=d|0;e=e|0;g=g|0;i=i|0;j=j|0;var k=0.0,l=0,m=0.0,n=0,o=0,p=0,q=0.0,r=0.0,s=0.0,t=0,u=0.0,v=0.0;t=Ta;Ta=Ta+288|0;p=c[b+4>>2]|0;a[p+312>>0]=0;c[p>>2]=0;a[p+356>>0]=1;c[p+292>>2]=1566444395;c[p+296>>2]=1566444395;c[p+300>>2]=1566444395;f[p+304>>2]=0.0;c[p+336>>2]=0;c[p+336+4>>2]=0;c[p+336+8>>2]=0;c[p+336+12>>2]=0;a[p+336+16>>0]=0;a[p+332>>0]=a[p+332>>0]&-16;q=+f[e+48>>2]-+f[d+48>>2]-(+f[i+48>>2]-+f[g+48>>2]);s=+f[e+52>>2]-+f[d+52>>2]-(+f[i+52>>2]-+f[g+52>>2]);r=+f[e+56>>2]-+f[d+56>>2]-(+f[i+56>>2]-+f[g+56>>2]);c[t+216>>2]=10772;f[t+216+36>>2]=999999984306749440.0;a[t+216+40>>0]=0;p=c[b+8>>2]|0;o=c[b+12>>2]|0;n=c[b+4>>2]|0;c[t+136>>2]=10820;c[t+136+4>>2]=0;c[t+136+8>>2]=1065353216;c[t+136+12>>2]=0;f[t+136+16>>2]=0.0;c[t+136+20>>2]=0;c[t+136+24>>2]=n;c[t+136+28>>2]=p;c[t+136+32>>2]=o;c[t+136+36>>2]=c[p+4>>2];c[t+136+40>>2]=c[o+4>>2];f[t+136+44>>2]=+Wa[c[(c[p>>2]|0)+48>>2]&31](p);f[t+136+48>>2]=+Wa[c[(c[o>>2]|0)+48>>2]&31](o);a[t+136+52>>0]=0;c[t+136+60>>2]=-1;c[t+136+72>>2]=1;c[t+136+76>>2]=1;f[t+128>>2]=999999984306749440.0;c[t>>2]=c[d>>2];c[t+4>>2]=c[d+4>>2];c[t+8>>2]=c[d+8>>2];c[t+12>>2]=c[d+12>>2];c[t+16>>2]=c[d+16>>2];c[t+16+4>>2]=c[d+16+4>>2];c[t+16+8>>2]=c[d+16+8>>2];c[t+16+12>>2]=c[d+16+12>>2];c[t+32>>2]=c[d+32>>2];c[t+32+4>>2]=c[d+32+4>>2];c[t+32+8>>2]=c[d+32+8>>2];c[t+32+12>>2]=c[d+32+12>>2];c[t+48>>2]=c[d+48>>2];c[t+48+4>>2]=c[d+48+4>>2];c[t+48+8>>2]=c[d+48+8>>2];c[t+48+12>>2]=c[d+48+12>>2];c[t+64>>2]=c[g>>2];c[t+64+4>>2]=c[g+4>>2];c[t+64+8>>2]=c[g+8>>2];c[t+64+12>>2]=c[g+12>>2];c[t+80>>2]=c[g+16>>2];c[t+80+4>>2]=c[g+16+4>>2];c[t+80+8>>2]=c[g+16+8>>2];c[t+80+12>>2]=c[g+16+12>>2];c[t+96>>2]=c[g+32>>2];c[t+96+4>>2]=c[g+32+4>>2];c[t+96+8>>2]=c[g+32+8>>2];c[t+96+12>>2]=c[g+32+12>>2];c[t+112>>2]=c[g+48>>2];c[t+112+4>>2]=c[g+48+4>>2];c[t+112+8>>2]=c[g+48+8>>2];c[t+112+12>>2]=c[g+48+12>>2];wc(t+136|0,t,t+216|0,0,0);o=(a[t+216+40>>0]|0)==0;p=t+216+20|0;c[t+264>>2]=c[p>>2];c[t+264+4>>2]=c[p+4>>2];c[t+264+8>>2]=c[p+8>>2];c[t+264+12>>2]=c[p+12>>2];if(o){j=0;Ta=t;return j|0}m=+f[t+216+36>>2];k=+f[t+216+16>>2];b=c[t+216+12>>2]|0;l=c[t+216+8>>2]|0;n=c[t+216+4>>2]|0;do if(m>1.0000000474974513e-03){k=0.0;o=0;while(1){if(o>>>0>31){b=0;o=13;break}v=q*(c[h>>2]=n,+f[h>>2]);v=s*(c[h>>2]=l,+f[h>>2])+v;u=k;k=k-m/(r*(c[h>>2]=b,+f[h>>2])+v);if(!(!(k<=u)&(!(k<0.0)&!(k>1.0)))){b=0;o=13;break}qb[c[c[j>>2]>>2]&63](j,k);v=1.0-k;f[t+48>>2]=v*+f[d+48>>2]+k*+f[e+48>>2];f[t+52>>2]=v*+f[d+52>>2]+k*+f[e+52>>2];f[t+56>>2]=v*+f[d+56>>2]+k*+f[e+56>>2];f[t+112>>2]=v*+f[g+48>>2]+k*+f[i+48>>2];f[t+116>>2]=v*+f[g+52>>2]+k*+f[i+52>>2];f[t+120>>2]=v*+f[g+56>>2]+k*+f[i+56>>2];wc(t+136|0,t,t+216|0,0,0);if(!(a[t+216+40>>0]|0)){b=0;o=13;break}m=+f[t+216+36>>2];if(m<0.0){o=8;break}c[t+264>>2]=c[p>>2];c[t+264+4>>2]=c[p+4>>2];c[t+264+8>>2]=c[p+8>>2];c[t+264+12>>2]=c[p+12>>2];b=c[t+216+12>>2]|0;l=c[t+216+8>>2]|0;n=c[t+216+4>>2]|0;if(!(m>1.0000000474974513e-03)){o=10;break}else o=o+1|0}if((o|0)==8){f[j+164>>2]=k;g=c[t+216+8>>2]|0;e=c[t+216+12>>2]|0;i=c[t+216+16>>2]|0;c[j+132>>2]=c[t+216+4>>2];c[j+136>>2]=g;c[j+140>>2]=e;c[j+144>>2]=i;c[j+148>>2]=c[p>>2];c[j+148+4>>2]=c[p+4>>2];c[j+148+8>>2]=c[p+8>>2];c[j+148+12>>2]=c[p+12>>2];j=1;Ta=t;return j|0}else if((o|0)==10){m=k;k=+f[t+216+16>>2];break}else if((o|0)==13){Ta=t;return b|0}}else m=0.0;while(0);v=q*(c[h>>2]=n,+f[h>>2]);v=s*(c[h>>2]=l,+f[h>>2])+v;if(r*(c[h>>2]=b,+f[h>>2])+v>=-+f[j+172>>2]){j=0;Ta=t;return j|0}f[j+164>>2]=m;c[j+132>>2]=n;c[j+136>>2]=l;c[j+140>>2]=b;f[j+144>>2]=k;c[j+148>>2]=c[t+264>>2];c[j+148+4>>2]=c[t+264+4>>2];c[j+148+8>>2]=c[t+264+8>>2];c[j+148+12>>2]=c[t+264+12>>2];j=1;Ta=t;return j|0}function pd(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0,C=0.0,D=0.0,E=0.0,F=0.0,G=0.0,H=0.0,I=0.0,J=0,K=0;l=Ta;Ta=Ta+240|0;c[a+4>>2]=(c[a+4>>2]|0)+1;j=c[b+36>>2]|0;i=c[d+36>>2]|0;J=c[a+8>>2]|0;g=c[a+12>>2]|0;K=c[(c[J+4>>2]|0)+24>>2]|0;d=c[K+(j*80|0)+64>>2]|0;b=(c[g+4>>2]|0)+24|0;e=c[(c[b>>2]|0)+(i*80|0)+64>>2]|0;J=c[J+12>>2]|0;m=+f[J>>2];H=+f[J+4>>2];I=+f[J+8>>2];p=+f[J+16>>2];r=+f[J+20>>2];t=+f[J+24>>2];q=+f[J+32>>2];u=+f[J+36>>2];C=+f[J+40>>2];v=+f[K+(j*80|0)>>2];w=+f[K+(j*80|0)+16>>2];x=+f[K+(j*80|0)+32>>2];y=+f[K+(j*80|0)+4>>2];z=+f[K+(j*80|0)+20>>2];A=+f[K+(j*80|0)+36>>2];s=+f[K+(j*80|0)+8>>2];B=+f[K+(j*80|0)+24>>2];D=+f[K+(j*80|0)+40>>2];n=+f[K+(j*80|0)+48>>2];o=+f[K+(j*80|0)+52>>2];G=+f[K+(j*80|0)+56>>2];E=+f[J+48>>2]+(m*n+H*o+I*G);F=+f[J+52>>2]+(p*n+r*o+t*G);G=+f[J+56>>2]+(q*n+u*o+C*G);f[l+176>>2]=m*v+H*w+I*x;f[l+176+4>>2]=m*y+H*z+I*A;f[l+176+8>>2]=m*s+H*B+I*D;f[l+176+12>>2]=0.0;f[l+176+16>>2]=p*v+r*w+t*x;f[l+176+20>>2]=p*y+r*z+t*A;f[l+176+24>>2]=p*s+r*B+t*D;f[l+176+28>>2]=0.0;f[l+176+32>>2]=q*v+u*w+C*x;f[l+176+36>>2]=q*y+u*z+C*A;f[l+176+40>>2]=q*s+u*B+C*D;f[l+176+44>>2]=0.0;f[l+176+48>>2]=E;f[l+176+52>>2]=F;f[l+176+56>>2]=G;f[l+176+60>>2]=0.0;g=c[g+12>>2]|0;G=+f[g>>2];F=+f[g+4>>2];E=+f[g+8>>2];D=+f[g+16>>2];C=+f[g+20>>2];B=+f[g+24>>2];u=+f[g+32>>2];s=+f[g+36>>2];q=+f[g+40>>2];b=c[b>>2]|0;A=+f[b+(i*80|0)>>2];z=+f[b+(i*80|0)+16>>2];y=+f[b+(i*80|0)+32>>2];x=+f[b+(i*80|0)+4>>2];w=+f[b+(i*80|0)+20>>2];v=+f[b+(i*80|0)+36>>2];t=+f[b+(i*80|0)+8>>2];r=+f[b+(i*80|0)+24>>2];p=+f[b+(i*80|0)+40>>2];I=+f[b+(i*80|0)+48>>2];H=+f[b+(i*80|0)+52>>2];m=+f[b+(i*80|0)+56>>2];o=+f[g+48>>2]+(G*I+F*H+E*m);n=+f[g+52>>2]+(D*I+C*H+B*m);m=+f[g+56>>2]+(u*I+s*H+q*m);f[l+112>>2]=G*A+F*z+E*y;f[l+112+4>>2]=G*x+F*w+E*v;f[l+112+8>>2]=G*t+F*r+E*p;f[l+112+12>>2]=0.0;f[l+112+16>>2]=D*A+C*z+B*y;f[l+112+20>>2]=D*x+C*w+B*v;f[l+112+24>>2]=D*t+C*r+B*p;f[l+112+28>>2]=0.0;f[l+112+32>>2]=u*A+s*z+q*y;f[l+112+36>>2]=u*x+s*w+q*v;f[l+112+40>>2]=u*t+s*r+q*p;f[l+112+44>>2]=0.0;f[l+112+48>>2]=o;f[l+112+52>>2]=n;f[l+112+56>>2]=m;f[l+112+60>>2]=0.0;Cb[c[(c[d>>2]|0)+8>>2]&127](d,l+176|0,l+96|0,l+80|0);Cb[c[(c[e>>2]|0)+8>>2]&127](e,l+112|0,l+64|0,l+48|0);if(!(+f[l+96>>2]>+f[l+48>>2])?!(+f[l+80>>2]<+f[l+64>>2]):0)b=1;else b=0;if(!(!(+f[l+96+8>>2]>+f[l+48+8>>2])?!(+f[l+80+8>>2]<+f[l+64+8>>2]):0))b=0;if(+f[l+96+4>>2]>+f[l+48+4>>2]){Ta=l;return}if(+f[l+80+4>>2]<+f[l+64+4>>2]|b^1){Ta=l;return}g=c[a+8>>2]|0;b=c[g+8>>2]|0;c[l+24>>2]=g;c[l+24+4>>2]=d;c[l+24+8>>2]=b;c[l+24+12>>2]=l+176;c[l+24+16>>2]=-1;c[l+24+20>>2]=j;b=c[a+12>>2]|0;g=c[b+8>>2]|0;c[l>>2]=b;c[l+4>>2]=e;c[l+8>>2]=g;c[l+12>>2]=l+112;c[l+16>>2]=-1;c[l+20>>2]=i;g=c[a+28>>2]|0;c[6867]=(c[6867]|0)+1;b=(i<<16|j)+~((i<<16|j)<<15)|0;b=((10?b>>10:b)^b)*9|0;b=(6?b>>6:b)^b;b=(c[g+12>>2]|0)+-1&((16?b+~(b<<11)>>16:b+~(b<<11)|0)^b+~(b<<11));a:do if((b|0)<(c[g+32>>2]|0)?(h=c[(c[g+40>>2]|0)+(b<<2)>>2]|0,(h|0)!=-1):0){e=c[g+16>>2]|0;b=h;while(1){d=e+(b*12|0)|0;if((c[d>>2]|0)==(j|0)?(c[e+(b*12|0)+4>>2]|0)==(i|0):0)break;b=c[(c[g+60>>2]|0)+(b<<2)>>2]|0;if((b|0)==-1){k=16;break a}}if(d)b=c[e+(b*12|0)+8>>2]|0;else k=16}else k=16;while(0);if((k|0)==16){b=c[a+16>>2]|0;b=jb[c[(c[b>>2]|0)+8>>2]&63](b,l+24|0,l,c[a+32>>2]|0)|0;K=c[a+28>>2]|0;c[(ib[c[(c[K>>2]|0)+12>>2]&63](K,j,i)|0)+8>>2]=b}K=c[a+24>>2]|0;k=c[K+8>>2]|0;J=c[K+12>>2]|0;c[K+8>>2]=l+24;c[K+12>>2]=l;zb[c[(c[K>>2]|0)+8>>2]&127](K,-1,j);K=c[a+24>>2]|0;zb[c[(c[K>>2]|0)+12>>2]&127](K,-1,i);Gb[c[(c[b>>2]|0)+8>>2]&63](b,l+24|0,l,c[a+20>>2]|0,c[a+24>>2]|0);K=c[a+24>>2]|0;c[K+8>>2]=k;c[K+12>>2]=J;Ta=l;return}function qd(a,b){a=a|0;b=b|0;var d=0,h=0.0,i=0.0,j=0,k=0.0,l=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0,s=0,t=0.0,u=0,v=0.0,w=0.0,x=0,y=0,A=0,B=0;B=Ta;Ta=Ta+144|0;if(c[a+56>>2]|0){Ta=B;return}c[a+56>>2]=b;x=c[a+48>>2]|0;if((eb[c[(c[x>>2]|0)+28>>2]&255](x)|0)<=0){Ta=B;return}y=0;do{c[B+132>>2]=0;c[B+128>>2]=0;c[B+124>>2]=2;c[B+120>>2]=0;c[B+116>>2]=0;c[B+112>>2]=0;c[B+108>>2]=0;c[B+104>>2]=2;Mb[c[(c[x>>2]|0)+16>>2]&31](x,B+132|0,B+128|0,B+124|0,B+120|0,B+116|0,B+112|0,B+108|0,B+104|0,y);if((c[B+108>>2]|0)>0){A=0;do{s=(c[B+116>>2]|0)+(z(c[B+112>>2]|0,A)|0)|0;u=(c[B+124>>2]|0)==0;r=c[B+132>>2]|0;do if((c[B+104>>2]|0)==3){j=c[B+120>>2]|0;d=r+(z(j,e[s+4>>1]|0)|0)|0;if(u){l=+f[d>>2]*+f[x+4>>2];m=+f[d+4>>2]*+f[x+8>>2];n=+f[d+8>>2]*+f[x+12>>2]}else{l=+g[d>>3]*+f[x+4>>2];m=+g[d+8>>3]*+f[x+8>>2];n=+g[d+16>>3]*+f[x+12>>2]}f[B+32>>2]=l;f[B+36>>2]=m;f[B+40>>2]=n;f[B+44>>2]=0.0;d=r+(z(j,e[s+2>>1]|0)|0)|0;if(u){k=+f[d>>2]*+f[x+4>>2];i=+f[d+4>>2]*+f[x+8>>2];h=+f[d+8>>2]*+f[x+12>>2]}else{k=+g[d>>3]*+f[x+4>>2];i=+g[d+8>>3]*+f[x+8>>2];h=+g[d+16>>3]*+f[x+12>>2]}f[B+16>>2]=k;f[B+20>>2]=i;f[B+24>>2]=h;f[B+28>>2]=0.0;d=r+(z(j,e[s>>1]|0)|0)|0;if(u){w=l;v=m;t=n;q=+f[d+8>>2]*+f[x+12>>2];o=+f[d+4>>2]*+f[x+8>>2];l=+f[d>>2]*+f[x+4>>2];break}else{w=l;v=m;t=n;q=+g[d+16>>3]*+f[x+12>>2];o=+g[d+8>>3]*+f[x+8>>2];l=+g[d>>3]*+f[x+4>>2];break}}else{j=c[B+120>>2]|0;d=r+(z(j,c[s+8>>2]|0)|0)|0;if(u){l=+f[d>>2]*+f[x+4>>2];m=+f[d+4>>2]*+f[x+8>>2];n=+f[d+8>>2]*+f[x+12>>2]}else{l=+g[d>>3]*+f[x+4>>2];m=+g[d+8>>3]*+f[x+8>>2];n=+g[d+16>>3]*+f[x+12>>2]}f[B+32>>2]=l;f[B+36>>2]=m;f[B+40>>2]=n;f[B+44>>2]=0.0;d=r+(z(j,c[s+4>>2]|0)|0)|0;if(u){k=+f[d>>2]*+f[x+4>>2];i=+f[d+4>>2]*+f[x+8>>2];h=+f[d+8>>2]*+f[x+12>>2]}else{k=+g[d>>3]*+f[x+4>>2];i=+g[d+8>>3]*+f[x+8>>2];h=+g[d+16>>3]*+f[x+12>>2]}f[B+16>>2]=k;f[B+20>>2]=i;f[B+24>>2]=h;f[B+28>>2]=0.0;d=r+(z(j,c[s>>2]|0)|0)|0;if(u){w=l;v=m;t=n;q=+f[d+8>>2]*+f[x+12>>2];o=+f[d+4>>2]*+f[x+8>>2];l=+f[d>>2]*+f[x+4>>2];break}else{w=l;v=m;t=n;q=+g[d+16>>3]*+f[x+12>>2];o=+g[d+8>>3]*+f[x+8>>2];l=+g[d>>3]*+f[x+4>>2];break}}while(0);f[B>>2]=l;f[B+4>>2]=o;f[B+8>>2]=q;f[B+12>>2]=0.0;c[B+88>>2]=1566444395;c[B+88+4>>2]=1566444395;c[B+88+8>>2]=1566444395;f[B+88+12>>2]=0.0;c[B+72>>2]=-581039253;c[B+72+4>>2]=-581039253;c[B+72+8>>2]=-581039253;f[B+72+12>>2]=0.0;if(l<999999984306749440.0){f[B+88>>2]=l;m=l}else m=999999984306749440.0;if(o<999999984306749440.0){f[B+88+4>>2]=o;p=o}else p=999999984306749440.0;if(q<999999984306749440.0){f[B+88+8>>2]=q;n=q}else n=999999984306749440.0;if(l>-999999984306749440.0)f[B+72>>2]=l;else l=-999999984306749440.0;if(o>-999999984306749440.0)f[B+72+4>>2]=o;else o=-999999984306749440.0;if(q>-999999984306749440.0)f[B+72+8>>2]=q;else q=-999999984306749440.0;if(k>2]=k;m=k}if(i>2]=i;p=i}if(h>2]=h;n=h}if(l>2]=k;else k=l;if(o>2]=i;else i=o;if(q>2]=h;else h=q;if(w>2]=w;if(v>2]=v;if(t>2]=t;if(k>2]=w;if(i>2]=v;if(h>2]=t;c[B+48>>2]=6920;c[B+48+4>>2]=y;c[B+48+8>>2]=A;c[B+48+12>>2]=B;c[B+48+16>>2]=b;Cb[c[(c[a>>2]|0)+64>>2]&127](a,B+48|0,B+88|0,B+72|0);A=A+1|0}while((A|0)<(c[B+108>>2]|0))}y=y+1|0}while((y|0)<(eb[c[(c[x>>2]|0)+28>>2]&255](x)|0));Ta=B;return}function rd(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,g=0,i=0.0,j=0.0,k=0.0,l=0.0,m=0.0,n=0,o=0,p=0.0,q=0.0,r=0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0;z=Ta;Ta=Ta+48|0;switch(c[b+4>>2]|0){case 8:{c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;c[a+12>>2]=0;Ta=z;return}case 0:{w=+f[b+28>>2];x=+f[b+28+4>>2];x=+f[d+4>>2]>=0.0?x:-x;y=+f[b+28+8>>2];y=+f[d+8>>2]>=0.0?y:-y;f[a>>2]=+f[d>>2]>=0.0?w:-w;f[a+4>>2]=x;f[a+8>>2]=y;f[a+12>>2]=0.0;Ta=z;return}case 1:{u=+f[d>>2];v=+f[d+4>>2];y=+f[d+8>>2];x=u*+f[b+56>>2]+v*+f[b+56+4>>2]+y*+f[b+56+8>>2];w=u*+f[b+56+16>>2]+v*+f[b+56+20>>2]+y*+f[b+56+24>>2];y=u*+f[b+56+32>>2]+v*+f[b+56+36>>2]+y*+f[b+56+40>>2];n=x>2]|0;r=c[b+56+(n<<4)+8>>2]|0;c[a>>2]=c[b+56+(n<<4)>>2];c[a+4>>2]=o;c[a+8>>2]=r;f[a+12>>2]=0.0;Ta=z;return}case 13:{c[z+32>>2]=c[b+28>>2];c[z+32+4>>2]=c[b+28+4>>2];c[z+32+8>>2]=c[b+28+8>>2];c[z+32+12>>2]=c[b+28+12>>2];c[z+16>>2]=c[d>>2];g=c[d+4>>2]|0;c[z+16+4>>2]=g;r=c[d+8>>2]|0;c[z+16+8>>2]=r;f[z+16+12>>2]=0.0;d=c[b+52>>2]|0;e=(c[h>>2]=r,+f[h>>2]);switch(d|0){case 2:{e=(c[h>>2]=g,+f[h>>2]);g=0;b=2;n=1;break}case 1:{g=0;b=1;n=2;break}default:{g=1;b=0;n=2}}m=+f[z+32+(g<<2)>>2];i=+f[z+32+(d<<2)>>2];k=+f[z+16+(g<<2)>>2];l=+s(+(k*k+e*e));if(l!=0.0){j=e*(m/l);i=+f[z+16+(b<<2)>>2]<0.0?-i:i;e=k*(m/l)}else{j=0.0;i=+f[z+16+(b<<2)>>2]<0.0?-i:i;e=m}f[z+(g<<2)>>2]=e;f[z+(b<<2)>>2]=i;f[z+(n<<2)>>2]=j;c[a>>2]=c[z>>2];c[a+4>>2]=c[z+4>>2];c[a+8>>2]=c[z+8>>2];f[a+12>>2]=0.0;Ta=z;return}case 10:{e=+f[d>>2];i=+f[d+4>>2];j=+f[d+8>>2];g=c[b+52>>2]|0;x=+f[b+28+(g<<2)>>2];k=+f[b+28+(((g+2|0)%3|0)<<2)>>2];if(e*e+i*i+j*j<9.999999747378752e-05){y=1.0;w=0.0;v=0.0}else{v=1.0/+s(+(e*e+i*i+j*j));y=e*v;w=i*v;v=j*v}c[z+32>>2]=0;c[z+32+4>>2]=0;c[z+32+8>>2]=0;c[z+32+12>>2]=0;f[z+32+(g<<2)>>2]=x;t=k*y;u=k*w;q=k*v;p=+f[b+44>>2];l=y*p;m=w*p;p=v*p;k=t+ +f[z+32>>2]-l;j=u+ +f[z+32+4>>2]-m;i=q+ +f[z+32+8>>2]-p;e=v*i+(y*k+w*j);if(e>-999999984306749440.0){o=(f[h>>2]=i,c[h>>2]|0);r=(f[h>>2]=j,c[h>>2]|0);i=e;n=(f[h>>2]=k,c[h>>2]|0)}else{i=-999999984306749440.0;n=0;o=0;r=0}c[z+32>>2]=0;c[z+32+4>>2]=0;c[z+32+8>>2]=0;c[z+32+12>>2]=0;f[z+32+(g<<2)>>2]=-x;t=t+ +f[z+32>>2]-l;x=u+ +f[z+32+4>>2]-m;e=q+ +f[z+32+8>>2]-p;b=y*t+w*x+v*e>i;g=(f[h>>2]=t,c[h>>2]|0);d=(f[h>>2]=x,c[h>>2]|0);o=b?(f[h>>2]=e,c[h>>2]|0):o;c[a>>2]=b?g:n;c[a+4>>2]=b?d:r;c[a+8>>2]=o;f[a+12>>2]=0.0;Ta=z;return}case 5:{o=c[b+92>>2]|0;n=c[b+96>>2]|0;p=+f[b+12>>2];q=+f[b+16>>2];m=+f[b+20>>2];k=+f[d>>2]*p;l=+f[d+4>>2]*q;j=+f[d+8>>2]*m;if((n|0)>0){b=0;i=-3402823466385288598117041.0e14;g=-1;while(1){e=k*+f[o+(b<<4)>>2]+l*+f[o+(b<<4)+4>>2]+j*+f[o+(b<<4)+8>>2];d=e>i;g=d?b:g;b=b+1|0;if((b|0)==(n|0))break;else i=d?e:i}}else g=-1;x=q*+f[o+(g<<4)+4>>2];y=m*+f[o+(g<<4)+8>>2];f[a>>2]=p*+f[o+(g<<4)>>2];f[a+4>>2]=x;f[a+8>>2]=y;f[a+12>>2]=0.0;Ta=z;return}case 4:{o=c[b+104>>2]|0;n=c[b+96>>2]|0;p=+f[b+12>>2];q=+f[b+16>>2];m=+f[b+20>>2];k=+f[d>>2]*p;l=+f[d+4>>2]*q;j=+f[d+8>>2]*m;if((n|0)>0){b=0;i=-3402823466385288598117041.0e14;g=-1;while(1){e=k*+f[o+(b<<4)>>2]+l*+f[o+(b<<4)+4>>2]+j*+f[o+(b<<4)+8>>2];d=e>i;g=d?b:g;b=b+1|0;if((b|0)==(n|0))break;else i=d?e:i}}else g=-1;x=q*+f[o+(g<<4)+4>>2];y=m*+f[o+(g<<4)+8>>2];f[a>>2]=p*+f[o+(g<<4)>>2];f[a+4>>2]=x;f[a+8>>2]=y;f[a+12>>2]=0.0;Ta=z;return}default:{zb[c[(c[b>>2]|0)+68>>2]&127](a,b,d);Ta=z;return}}}function sd(b,d,e,g,i,j){b=b|0;d=d|0;e=e|0;g=g|0;i=i|0;j=j|0;var k=0,l=0,m=0.0,n=0,o=0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0,B=0,C=0,D=0;D=c[b+88>>2]|0;if((D|0)==(c[b+92>>2]|0)?(o=(D|0)==0?1:D<<1,(D|0)<(o|0)):0){if(!o){l=D;n=0}else{c[6879]=(c[6879]|0)+1;k=Zb((o*152|3)+16|0)|0;if(!k)k=0;else{c[(k+4+15&-16)+-4>>2]=k;k=k+4+15&-16}l=c[b+88>>2]|0;n=k}if((l|0)>0){k=0;do{oi(n+(k*152|0)|0,(c[b+96>>2]|0)+(k*152|0)|0,152)|0;k=k+1|0}while((k|0)!=(l|0))}k=c[b+96>>2]|0;if(k|0){if(a[b+100>>0]|0){c[6880]=(c[6880]|0)+1;kd(c[k+-4>>2]|0)}c[b+96>>2]=0}a[b+100>>0]=1;c[b+96>>2]=n;c[b+92>>2]=o;k=c[b+88>>2]|0}else k=D;c[b+88>>2]=k+1;C=c[b+96>>2]|0;c[C+(D*152|0)+140>>2]=i;c[C+(D*152|0)+16>>2]=0;c[C+(D*152|0)+16+4>>2]=0;c[C+(D*152|0)+16+8>>2]=0;c[C+(D*152|0)+16+12>>2]=0;f[C+(D*152|0)+48>>2]=-0.0;f[C+(D*152|0)+52>>2]=-0.0;f[C+(D*152|0)+56>>2]=-0.0;f[C+(D*152|0)+60>>2]=0.0;b=c[b+16>>2]|0;o=c[b+(e*244|0)+240>>2]|0;B=c[b+(g*244|0)+240>>2]|0;c[C+(D*152|0)+144>>2]=e;c[C+(D*152|0)+148>>2]=g;i=c[j+88>>2]|0;c[C+(D*152|0)+104>>2]=i;c[C+(D*152|0)+132>>2]=0;f[C+(D*152|0)+100>>2]=0.0;f[C+(D*152|0)+96>>2]=0.0;x=-+f[d>>2];y=-+f[d+4>>2];z=-+f[d+8>>2];f[C+(D*152|0)>>2]=x;f[C+(D*152|0)+4>>2]=y;f[C+(D*152|0)+8>>2]=z;f[C+(D*152|0)+12>>2]=0.0;A=(c[h>>2]=i,+f[h>>2]);if(o|0){k=(f[h>>2]=(+f[o+264>>2]*x+ +f[o+268>>2]*y+ +f[o+272>>2]*z)*+f[o+544>>2],c[h>>2]|0);l=(f[h>>2]=(+f[o+280>>2]*x+ +f[o+284>>2]*y+ +f[o+288>>2]*z)*+f[o+548>>2],c[h>>2]|0);n=(f[h>>2]=(+f[o+296>>2]*x+ +f[o+300>>2]*y+ +f[o+304>>2]*z)*+f[o+552>>2],c[h>>2]|0)}else{k=0;l=0;n=0}c[C+(D*152|0)+64>>2]=k;c[C+(D*152|0)+68>>2]=l;c[C+(D*152|0)+72>>2]=n;f[C+(D*152|0)+76>>2]=0.0;u=+f[d>>2];v=+f[d+4>>2];w=+f[d+8>>2];d=c[d+12>>2]|0;f[C+(D*152|0)+32>>2]=u;f[C+(D*152|0)+36>>2]=v;f[C+(D*152|0)+40>>2]=w;c[C+(D*152|0)+44>>2]=d;if(B|0){k=(f[h>>2]=(u*+f[B+264>>2]+v*+f[B+268>>2]+w*+f[B+272>>2])*+f[B+544>>2],c[h>>2]|0);l=(f[h>>2]=(u*+f[B+280>>2]+v*+f[B+284>>2]+w*+f[B+288>>2])*+f[B+548>>2],c[h>>2]|0);n=(f[h>>2]=(u*+f[B+296>>2]+v*+f[B+300>>2]+w*+f[B+304>>2])*+f[B+552>>2],c[h>>2]|0)}else{k=0;l=0;n=0}c[C+(D*152|0)+80>>2]=k;c[C+(D*152|0)+84>>2]=l;c[C+(D*152|0)+88>>2]=n;f[C+(D*152|0)+92>>2]=0.0;if(o|0){m=+f[o+264>>2]*x+ +f[o+268>>2]*y+ +f[o+272>>2]*z;p=+f[o+280>>2]*x+ +f[o+284>>2]*y+ +f[o+288>>2]*z;q=+f[o+296>>2]*x+ +f[o+300>>2]*y+ +f[o+304>>2]*z}else{m=0.0;p=0.0;q=0.0}if(B|0){r=+f[B+264>>2]*u+ +f[B+268>>2]*v+ +f[B+272>>2]*w;s=u*+f[B+280>>2]+v*+f[B+284>>2]+w*+f[B+288>>2];t=u*+f[B+296>>2]+v*+f[B+300>>2]+w*+f[B+304>>2]}else{r=0.0;s=0.0;t=0.0}s=1.0/(m*x+p*y+q*z+0.0+(r*u+s*v+t*w));f[C+(D*152|0)+108>>2]=s;if(o|0){p=+f[b+(e*244|0)+192>>2];q=+f[b+(e*244|0)+196>>2];r=+f[b+(e*244|0)+200>>2];m=(+f[b+(e*244|0)+176>>2]+ +f[b+(e*244|0)+208>>2])*0.0+(+f[b+(e*244|0)+180>>2]+ +f[b+(e*244|0)+212>>2])*0.0+(+f[b+(e*244|0)+184>>2]+ +f[b+(e*244|0)+216>>2])*0.0}else{p=0.0;q=0.0;r=0.0;m=0.0}m=m+(r*z+(q*y+p*x));if(!B){z=0.0;t=0.0;x=0.0;y=-0.0;z=u*z;v=v*t;z=v+z;x=w*x;z=x+z;z=y+z;z=m+z;z=0.0-z;z=s*z;g=C+(D*152|0)+112|0;f[g>>2]=z;g=C+(D*152|0)+116|0;f[g>>2]=0.0;A=-A;g=C+(D*152|0)+120|0;f[g>>2]=A;g=C+(D*152|0)+124|0;c[g>>2]=i;return}z=+f[b+(g*244|0)+192>>2];t=+f[b+(g*244|0)+196>>2];x=+f[b+(g*244|0)+200>>2];y=(+f[b+(g*244|0)+176>>2]+ +f[b+(g*244|0)+208>>2])*-0.0+(+f[b+(g*244|0)+180>>2]+ +f[b+(g*244|0)+212>>2])*-0.0+(+f[b+(g*244|0)+184>>2]+ +f[b+(g*244|0)+216>>2])*-0.0;z=u*z;v=v*t;z=v+z;x=w*x;z=x+z;z=y+z;z=m+z;z=0.0-z;z=s*z;g=C+(D*152|0)+112|0;f[g>>2]=z;g=C+(D*152|0)+116|0;f[g>>2]=0.0;A=-A;g=C+(D*152|0)+120|0;f[g>>2]=A;g=C+(D*152|0)+124|0;c[g>>2]=i;return}function td(b,d){b=b|0;d=d|0;var e=0,g=0.0,i=0,j=0,k=0,l=0.0,m=0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0;m=Ta;Ta=Ta+16|0;c[b+236>>2]=2;c[b+312>>2]=0;c[b+312+4>>2]=0;c[b+312+8>>2]=0;c[b+312+12>>2]=0;c[b+312+16>>2]=0;c[b+312+20>>2]=0;c[b+312+24>>2]=0;c[b+312+28>>2]=0;c[b+544>>2]=1065353216;c[b+548>>2]=1065353216;c[b+552>>2]=1065353216;f[b+556>>2]=0.0;c[b+348>>2]=1065353216;c[b+352>>2]=1065353216;c[b+356>>2]=1065353216;e=b+360|0;i=e+36|0;do{c[e>>2]=0;e=e+4|0}while((e|0)<(i|0));c[b+412>>2]=0;c[b+412+4>>2]=0;c[b+412+8>>2]=0;c[b+412+12>>2]=0;c[b+412+16>>2]=0;c[b+412+20>>2]=0;c[b+412+24>>2]=0;c[b+412+28>>2]=0;g=+f[d+92>>2];l=+f[d+96>>2];f[m+12>>2]=g;f[m+8>>2]=l;f[m+4>>2]=0.0;f[m>>2]=1.0;c[b+444>>2]=c[(g<0.0?m+4|0:g>1.0?m:m+12|0)>>2];f[m+4>>2]=0.0;f[m>>2]=1.0;c[b+448>>2]=c[(l<0.0?m+4|0:l>1.0?m:m+8|0)>>2];c[b+472>>2]=c[d+112>>2];c[b+476>>2]=c[d+116>>2];e=c[d+4>>2]|0;c[b+480>>2]=e;c[b+608>>2]=0;c[b+612>>2]=0;a[b+452>>0]=a[d+120>>0]|0;c[b+456>>2]=c[d+124>>2];c[b+460>>2]=c[d+128>>2];c[b+464>>2]=c[d+132>>2];c[b+468>>2]=c[d+136>>2];if(!e){c[b+4>>2]=c[d+8>>2];c[b+4+4>>2]=c[d+8+4>>2];c[b+4+8>>2]=c[d+8+8>>2];c[b+4+12>>2]=c[d+8+12>>2];c[b+20>>2]=c[d+24>>2];c[b+20+4>>2]=c[d+24+4>>2];c[b+20+8>>2]=c[d+24+8>>2];c[b+20+12>>2]=c[d+24+12>>2];c[b+36>>2]=c[d+40>>2];c[b+36+4>>2]=c[d+40+4>>2];c[b+36+8>>2]=c[d+40+8>>2];c[b+36+12>>2]=c[d+40+12>>2];c[b+52>>2]=c[d+56>>2];c[b+52+4>>2]=c[d+56+4>>2];c[b+52+8>>2]=c[d+56+8>>2];c[b+52+12>>2]=c[d+56+12>>2];e=b+20|0;i=b+36|0;j=b+52|0;k=b+4|0}else{vb[c[(c[e>>2]|0)+8>>2]&255](e,b+4|0);e=b+20|0;i=b+36|0;j=b+52|0;k=b+4|0}c[b+68>>2]=c[k>>2];c[b+68+4>>2]=c[k+4>>2];c[b+68+8>>2]=c[k+8>>2];c[b+68+12>>2]=c[k+12>>2];c[b+84>>2]=c[e>>2];c[b+84+4>>2]=c[e+4>>2];c[b+84+8>>2]=c[e+8>>2];c[b+84+12>>2]=c[e+12>>2];c[b+100>>2]=c[i>>2];c[b+100+4>>2]=c[i+4>>2];c[b+100+8>>2]=c[i+8>>2];c[b+100+12>>2]=c[i+12>>2];c[b+116>>2]=c[j>>2];c[b+116+4>>2]=c[j+4>>2];c[b+116+8>>2]=c[j+8>>2];c[b+116+12>>2]=c[j+12>>2];c[b+132>>2]=0;c[b+132+4>>2]=0;c[b+132+8>>2]=0;c[b+132+12>>2]=0;c[b+132+16>>2]=0;c[b+132+20>>2]=0;c[b+132+24>>2]=0;c[b+132+28>>2]=0;c[b+224>>2]=c[d+100>>2];c[b+232>>2]=c[d+104>>2];c[b+228>>2]=c[d+108>>2];vb[c[(c[b>>2]|0)+12>>2]&255](b,c[d+72>>2]|0);e=c[6540]|0;c[6540]=e+1;c[b+508>>2]=e;g=+f[d>>2];e=c[b+204>>2]|0;if(g==0.0){c[b+204>>2]=e|1;l=0.0}else{c[b+204>>2]=e&-2;l=1.0/g}f[b+344>>2]=l;o=g*+f[b+384>>2];n=g*+f[b+388>>2];f[b+364>>2]=g*+f[b+380>>2];f[b+368>>2]=o;f[b+372>>2]=n;f[b+376>>2]=0.0;g=+f[d+76>>2];i=g!=0.0?(f[h>>2]=1.0/g,c[h>>2]|0):0;g=+f[d+80>>2];e=g!=0.0?(f[h>>2]=1.0/g,c[h>>2]|0):0;g=+f[d+84>>2];d=g!=0.0?(f[h>>2]=1.0/g,c[h>>2]|0):0;c[b+396>>2]=i;c[b+400>>2]=e;c[b+404>>2]=d;f[b+408>>2]=0.0;q=l*+f[b+352>>2];x=l*+f[b+356>>2];f[b+560>>2]=l*+f[b+348>>2];f[b+564>>2]=q;f[b+568>>2]=x;f[b+572>>2]=0.0;x=+f[b+4>>2];q=(c[h>>2]=i,+f[h>>2]);w=+f[b+8>>2];g=(c[h>>2]=e,+f[h>>2]);v=+f[b+12>>2];n=(c[h>>2]=d,+f[h>>2]);u=+f[b+20>>2];t=+f[b+24>>2];s=+f[b+28>>2];r=+f[b+36>>2];p=+f[b+40>>2];o=+f[b+44>>2];f[b+264>>2]=x*(x*q)+w*(w*g)+v*(v*n);f[b+268>>2]=x*q*u+w*g*t+v*n*s;f[b+272>>2]=x*q*r+w*g*p+v*n*o;f[b+276>>2]=0.0;f[b+280>>2]=x*(u*q)+w*(t*g)+v*(s*n);f[b+284>>2]=u*(u*q)+t*(t*g)+s*(s*n);f[b+288>>2]=u*q*r+t*g*p+s*n*o;f[b+292>>2]=0.0;f[b+296>>2]=x*(r*q)+w*(p*g)+v*(o*n);f[b+300>>2]=u*(r*q)+t*(p*g)+s*(o*n);f[b+304>>2]=r*(r*q)+p*(p*g)+o*(o*n);f[b+308>>2]=0.0;c[b+504>>2]=0;c[b+512>>2]=0;c[b+512+4>>2]=0;c[b+512+8>>2]=0;c[b+512+12>>2]=0;c[b+512+16>>2]=0;c[b+512+20>>2]=0;c[b+512+24>>2]=0;c[b+512+28>>2]=0;n=l*+f[b+352>>2];o=l*+f[b+356>>2];f[b+560>>2]=l*+f[b+348>>2];f[b+564>>2]=n;f[b+568>>2]=o;e=b+572|0;i=e+36|0;do{c[e>>2]=0;e=e+4|0}while((e|0)<(i|0));Ta=m;return}function ud(a,b,d,e,g,h){a=a|0;b=+b;d=+d;e=e|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0.0,n=0.0,o=0.0,p=0,q=0,r=0;p=Ta;Ta=Ta+704|0;l=vZ(g)|0;m=+f[l>>2];n=+f[l+4>>2];o=+f[l+8>>2];f[p+680>>2]=0.0;f[p+676>>2]=0.0;f[p+672>>2]=0.0;bx(p+688|0,p+680|0,p+676|0,p+672|0);f[(D$(p+688|0)|0)+(e<<2)>>2]=d*.5;f[p+648>>2]=0.0;f[p+644>>2]=0.0;f[p+640>>2]=0.0;bx(p+656|0,p+648|0,p+644|0,p+640|0);f[(D$(p+656|0)|0)+(((e+1|0)%3|0)<<2)>>2]=b;f[p+616>>2]=0.0;f[p+612>>2]=0.0;f[p+608>>2]=0.0;bx(p+624|0,p+616|0,p+612|0,p+608|0);f[(D$(p+624|0)|0)+(((e+2|0)%3|0)<<2)>>2]=b;f[p+584>>2]=0.0;f[p+580>>2]=0.0;f[p+576>>2]=0.0;bx(p+592|0,p+584|0,p+580|0,p+576|0);l=D$(p+592|0)|0;f[l+(e<<2)>>2]=-(d*.5);j=p+688+4|0;k=p+688+8|0;i=0;while(1){if(i>>>0>=360)break;d=+(i|0)*.01745329238474369;f[l+(((e+1|0)%3|0)<<2)>>2]=+s$(d)*b;f[l+(((e+2|0)%3|0)<<2)>>2]=+t$(d)*b;q=c[(c[a>>2]|0)+8>>2]|0;r=D$(g)|0;lm(p+544|0,r,+f[p+688>>2],+f[j>>2],+f[k>>2]);sq(p+560|0,m,n,o,+f[p+544>>2],+f[p+544+4>>2],+f[p+544+8>>2]);lm(p+512|0,r,+f[p+592>>2],+f[p+592+4>>2],+f[p+592+8>>2]);sq(p+528|0,m,n,o,+f[p+512>>2],+f[p+512+4>>2],+f[p+512+8>>2]);Cb[q&127](a,p+560|0,p+528|0,h);i=i+30|0}r=c[(c[a>>2]|0)+8>>2]|0;q=D$(g)|0;lm(p+480|0,q,+f[p+688>>2],+f[j>>2],+f[k>>2]);sq(p+496|0,m,n,o,+f[p+480>>2],+f[p+480+4>>2],+f[p+480+8>>2]);zt(p+416|0,+f[p+688>>2],+f[j>>2],+f[k>>2]);sq(p+432|0,+f[p+416>>2],+f[p+416+4>>2],+f[p+416+8>>2],+f[p+656>>2],+f[p+656+4>>2],+f[p+656+8>>2]);lm(p+448|0,q,+f[p+432>>2],+f[p+432+4>>2],+f[p+432+8>>2]);sq(p+464|0,m,n,o,+f[p+448>>2],+f[p+448+4>>2],+f[p+448+8>>2]);Cb[r&127](a,p+496|0,p+464|0,h);r=c[(c[a>>2]|0)+8>>2]|0;lm(p+384|0,q,+f[p+688>>2],+f[j>>2],+f[k>>2]);sq(p+400|0,m,n,o,+f[p+384>>2],+f[p+384+4>>2],+f[p+384+8>>2]);zt(p+320|0,+f[p+688>>2],+f[j>>2],+f[k>>2]);uq(p+336|0,+f[p+320>>2],+f[p+320+4>>2],+f[p+320+8>>2],+f[p+656>>2],+f[p+656+4>>2],+f[p+656+8>>2]);lm(p+352|0,q,+f[p+336>>2],+f[p+336+4>>2],+f[p+336+8>>2]);sq(p+368|0,m,n,o,+f[p+352>>2],+f[p+352+4>>2],+f[p+352+8>>2]);Cb[r&127](a,p+400|0,p+368|0,h);r=c[(c[a>>2]|0)+8>>2]|0;lm(p+288|0,q,+f[p+688>>2],+f[j>>2],+f[k>>2]);sq(p+304|0,m,n,o,+f[p+288>>2],+f[p+288+4>>2],+f[p+288+8>>2]);zt(p+224|0,+f[p+688>>2],+f[j>>2],+f[k>>2]);sq(p+240|0,+f[p+224>>2],+f[p+224+4>>2],+f[p+224+8>>2],+f[p+624>>2],+f[p+624+4>>2],+f[p+624+8>>2]);lm(p+256|0,q,+f[p+240>>2],+f[p+240+4>>2],+f[p+240+8>>2]);sq(p+272|0,m,n,o,+f[p+256>>2],+f[p+256+4>>2],+f[p+256+8>>2]);Cb[r&127](a,p+304|0,p+272|0,h);r=c[(c[a>>2]|0)+8>>2]|0;lm(p+192|0,q,+f[p+688>>2],+f[j>>2],+f[k>>2]);sq(p+208|0,m,n,o,+f[p+192>>2],+f[p+192+4>>2],+f[p+192+8>>2]);zt(p+128|0,+f[p+688>>2],+f[j>>2],+f[k>>2]);uq(p+144|0,+f[p+128>>2],+f[p+128+4>>2],+f[p+128+8>>2],+f[p+624>>2],+f[p+624+4>>2],+f[p+624+8>>2]);lm(p+160|0,q,+f[p+144>>2],+f[p+144+4>>2],+f[p+144+8>>2]);sq(p+176|0,m,n,o,+f[p+160>>2],+f[p+160+4>>2],+f[p+160+8>>2]);Cb[r&127](a,p+208|0,p+176|0,h);f[p+104>>2]=0.0;f[p+100>>2]=0.0;f[p+96>>2]=0.0;bx(p+112|0,p+104|0,p+100|0,p+96|0);f[(D$(p+112|0)|0)+(e<<2)>>2]=1.0;f[p+72>>2]=0.0;f[p+68>>2]=0.0;f[p+64>>2]=0.0;bx(p+80|0,p+72|0,p+68|0,p+64|0);f[(D$(p+80|0)|0)+(((e+1|0)%3|0)<<2)>>2]=1.0;r=c[(c[a>>2]|0)+60>>2]|0;lm(p+32|0,q,+f[p+688>>2],+f[j>>2],+f[k>>2]);uq(p+48|0,m,n,o,+f[p+32>>2],+f[p+32+4>>2],+f[p+32+8>>2]);lm(p+16|0,q,+f[p+112>>2],+f[p+112+4>>2],+f[p+112+8>>2]);lm(p,q,+f[p+80>>2],+f[p+80+4>>2],+f[p+80+8>>2]);Fb[r&31](a,p+48|0,p+16|0,p,b,b,0.0,6.2831854820251465,h,0,10.0);Ta=p;return}function vd(b,d,e,g){b=b|0;d=d|0;e=e|0;g=g|0;var h=0,i=0.0,j=0.0,k=0.0,l=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0,C=0.0,D=0.0,E=0.0,F=0.0,G=0.0,H=0.0,I=0.0,J=0,K=0,L=0,M=0,N=0;h=Ta;Ta=Ta+240|0;if(!(c[b+16>>2]|0)){J=c[b+12>>2]|0;b=c[b+20>>2]|0;w=+f[d>>2];p=+f[d+4>>2];t=+f[d+8>>2];j=+f[d+16>>2];q=+f[d+20>>2];i=+f[d+24>>2];l=+f[d+32>>2];r=+f[d+36>>2];m=+f[d+40>>2];E=+f[d+48>>2];D=+f[d+52>>2];C=+f[d+56>>2];I=+f[e>>2];H=+f[e+16>>2];y=+f[e+32>>2];G=+f[e+4>>2];F=+f[e+20>>2];x=+f[e+36>>2];u=+f[e+8>>2];k=+f[e+24>>2];o=+f[e+40>>2];B=-+f[e+48>>2];A=-+f[e+52>>2];v=-+f[e+56>>2];d=c[(c[J>>2]|0)+64>>2]|0;z=-+f[b+48>>2];s=-+f[b+52>>2];n=-+f[b+56>>2];f[h+16>>2]=(w*I+j*H+l*y)*z+(w*G+j*F+l*x)*s+(w*u+j*k+l*o)*n;f[h+16+4>>2]=(p*I+q*H+r*y)*z+(p*G+q*F+r*x)*s+(p*u+q*k+r*o)*n;f[h+16+8>>2]=(t*I+i*H+m*y)*z+(t*G+i*F+m*x)*s+(t*u+i*k+m*o)*n;f[h+16+12>>2]=0.0;zb[d&127](h+152|0,J,h+16|0);n=+f[h+152>>2];s=+f[h+152+4>>2];z=+f[h+152+8>>2];y=E*I+D*H+C*y+(I*B+H*A+y*v)+((w*I+j*H+l*y)*n+(p*I+q*H+r*y)*s+(t*I+i*H+m*y)*z);x=E*G+D*F+C*x+(G*B+F*A+x*v)+((w*G+j*F+l*x)*n+(p*G+q*F+r*x)*s+(t*G+i*F+m*x)*z);z=E*u+D*k+C*o+(u*B+k*A+o*v)+((w*u+j*k+l*o)*n+(p*u+q*k+r*o)*s+(t*u+i*k+m*o)*z);o=+f[b+48>>2];m=+f[b+52>>2];k=+f[b+56>>2];i=k*z+(o*y+m*x)-+f[b+64>>2];u=+f[e>>2];t=+f[e+4>>2];s=+f[e+8>>2];r=+f[e+16>>2];q=+f[e+20>>2];p=+f[e+24>>2];n=+f[e+32>>2];l=+f[e+36>>2];j=+f[e+40>>2];w=(y-o*i)*r+(x-m*i)*q+(z-k*i)*p+ +f[e+52>>2];v=(y-o*i)*n+(x-m*i)*l+(z-k*i)*j+ +f[e+56>>2];f[h+16>>2]=s*(z-k*i)+(u*(y-o*i)+t*(x-m*i))+ +f[e+48>>2];f[h+16+4>>2]=w;f[h+16+8>>2]=v;f[h+16+12>>2]=0.0;f[h>>2]=o*u+m*t+k*s;f[h+4>>2]=o*r+m*q+k*p;f[h+8>>2]=o*n+m*l+k*j;f[h+12>>2]=0.0;Ab[c[(c[g>>2]|0)+16>>2]&31](g,h,h+16|0,i);Ta=h;return}else{M=c[b+4>>2]|0;a[M+312>>0]=0;c[M>>2]=0;a[M+356>>0]=1;c[M+292>>2]=1566444395;c[M+296>>2]=1566444395;c[M+300>>2]=1566444395;f[M+304>>2]=0.0;c[M+336>>2]=0;c[M+336+4>>2]=0;c[M+336+8>>2]=0;c[M+336+12>>2]=0;a[M+336+16>>0]=0;a[M+332>>0]=a[M+332>>0]&-16;M=c[b+12>>2]|0;L=c[b+16>>2]|0;K=c[M+4>>2]|0;J=c[L+4>>2]|0;H=+Wa[c[(c[M>>2]|0)+48>>2]&31](M);N=c[b+16>>2]|0;I=+Wa[c[(c[N>>2]|0)+48>>2]&31](N);N=c[b+4>>2]|0;b=c[b+8>>2]|0;c[h+152>>2]=10820;c[h+152+4>>2]=0;c[h+152+8>>2]=1065353216;c[h+152+12>>2]=0;f[h+152+16>>2]=0.0;c[h+152+20>>2]=b;c[h+152+24>>2]=N;c[h+152+28>>2]=M;c[h+152+32>>2]=L;c[h+152+36>>2]=K;c[h+152+40>>2]=J;f[h+152+44>>2]=H;f[h+152+48>>2]=I;a[h+152+52>>0]=0;c[h+152+60>>2]=-1;c[h+152+72>>2]=1;c[h+152+76>>2]=1;f[h+16+128>>2]=999999984306749440.0;c[h+16>>2]=c[d>>2];c[h+16+4>>2]=c[d+4>>2];c[h+16+8>>2]=c[d+8>>2];c[h+16+12>>2]=c[d+12>>2];c[h+16+16>>2]=c[d+16>>2];c[h+16+16+4>>2]=c[d+16+4>>2];c[h+16+16+8>>2]=c[d+16+8>>2];c[h+16+16+12>>2]=c[d+16+12>>2];c[h+16+32>>2]=c[d+32>>2];c[h+16+32+4>>2]=c[d+32+4>>2];c[h+16+32+8>>2]=c[d+32+8>>2];c[h+16+32+12>>2]=c[d+32+12>>2];c[h+16+48>>2]=c[d+48>>2];c[h+16+48+4>>2]=c[d+48+4>>2];c[h+16+48+8>>2]=c[d+48+8>>2];c[h+16+48+12>>2]=c[d+48+12>>2];c[h+16+64>>2]=c[e>>2];c[h+16+64+4>>2]=c[e+4>>2];c[h+16+64+8>>2]=c[e+8>>2];c[h+16+64+12>>2]=c[e+12>>2];c[h+16+80>>2]=c[e+16>>2];c[h+16+80+4>>2]=c[e+16+4>>2];c[h+16+80+8>>2]=c[e+16+8>>2];c[h+16+80+12>>2]=c[e+16+12>>2];c[h+16+96>>2]=c[e+32>>2];c[h+16+96+4>>2]=c[e+32+4>>2];c[h+16+96+8>>2]=c[e+32+8>>2];c[h+16+96+12>>2]=c[e+32+12>>2];c[h+16+112>>2]=c[e+48>>2];c[h+16+112+4>>2]=c[e+48+4>>2];c[h+16+112+8>>2]=c[e+48+8>>2];c[h+16+112+12>>2]=c[e+48+12>>2];wc(h+152|0,h+16|0,g,0,0);Ta=h;return}}function wd(a,b,d,e,g,h){a=a|0;b=b|0;d=d|0;e=e|0;g=g|0;h=h|0;var i=0.0,j=0,k=0,l=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,t=0.0,u=0.0,v=0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0,C=0.0,D=0.0,E=0.0,F=0.0,G=0.0,H=0.0,I=0.0;v=Ta;Ta=Ta+544|0;j=h;k=j+36|0;do{c[j>>2]=0;j=j+4|0}while((j|0)<(k|0));c[v+384>>2]=a;c[v+384+4>>2]=d;A=+f[e>>2];G=+f[b>>2];z=+f[e+16>>2];F=+f[b+16>>2];y=+f[e+32>>2];E=+f[b+32>>2];D=+f[b+4>>2];C=+f[b+20>>2];B=+f[b+36>>2];l=+f[b+8>>2];n=+f[b+24>>2];p=+f[b+40>>2];x=+f[e+4>>2];w=+f[e+20>>2];i=+f[e+36>>2];m=+f[e+8>>2];o=+f[e+24>>2];q=+f[e+40>>2];f[v+384+8>>2]=A*G+z*F+y*E;f[v+384+12>>2]=A*D+z*C+y*B;f[v+384+16>>2]=A*l+z*n+y*p;f[v+384+20>>2]=0.0;f[v+384+24>>2]=G*x+F*w+E*i;f[v+384+28>>2]=D*x+C*w+B*i;f[v+384+32>>2]=l*x+n*w+p*i;f[v+384+36>>2]=0.0;f[v+384+40>>2]=G*m+F*o+E*q;f[v+384+44>>2]=D*m+C*o+B*q;f[v+384+48>>2]=l*m+n*o+p*q;f[v+384+52>>2]=0.0;I=+f[e+48>>2]-+f[b+48>>2];H=+f[e+52>>2]-+f[b+52>>2];u=+f[e+56>>2]-+f[b+56>>2];r=I*+f[b>>2]+H*+f[b+16>>2]+u*+f[b+32>>2];t=I*+f[b+4>>2]+H*+f[b+20>>2]+u*+f[b+36>>2];u=I*+f[b+8>>2]+H*+f[b+24>>2]+u*+f[b+40>>2];f[v+384+56>>2]=A*G+z*F+y*E;f[v+384+60>>2]=G*x+F*w+E*i;f[v+384+64>>2]=G*m+F*o+E*q;f[v+384+68>>2]=0.0;f[v+384+72>>2]=A*D+z*C+y*B;f[v+384+76>>2]=D*x+C*w+B*i;f[v+384+80>>2]=D*m+C*o+B*q;f[v+384+84>>2]=0.0;f[v+384+88>>2]=A*l+z*n+y*p;f[v+384+92>>2]=l*x+n*w+p*i;f[v+384+96>>2]=l*m+n*o+p*q;f[v+384+100>>2]=0.0;f[v+384+104>>2]=r;f[v+384+108>>2]=t;f[v+384+112>>2]=u;f[v+384+116>>2]=0.0;c[v+384+120>>2]=102;c[v+384+124>>2]=0;c[v+364>>2]=0;c[v+128>>2]=0;c[v+128+4>>2]=0;c[v+128+8>>2]=0;c[v+128+12>>2]=0;c[v+376>>2]=2;c[v+368>>2]=0;f[v+144>>2]=0.0;g=sc(v,v+384|0,g)|0;if(g|0){c[h>>2]=(g|0)==1?1:2;b=0;Ta=v;return b|0}g=c[v+372>>2]|0;if(!(c[g+32>>2]|0)){p=0.0;o=0.0;n=0.0;m=0.0;l=0.0;i=0.0}else{i=0.0;l=0.0;m=0.0;n=0.0;o=0.0;p=0.0;e=0;do{u=+f[g+16+(e<<2)>>2];a=c[v+384+120>>2]|0;k=c[v+384+124>>2]|0;d=(c[v+384>>2]|0)+(1?k>>1:k)|0;if(k&1)a=c[(c[d>>2]|0)+a>>2]|0;zb[a&127](v+528|0,d,c[g+(e<<2)>>2]|0);n=n+u*+f[v+528>>2];o=o+u*+f[v+528+4>>2];p=p+u*+f[v+528+8>>2];g=c[(c[v+372>>2]|0)+(e<<2)>>2]|0;q=-+f[g>>2];r=-+f[g+4>>2];t=-+f[g+8>>2];g=c[v+384+120>>2]|0;k=c[v+384+124>>2]|0;a=(c[v+384+4>>2]|0)+(1?k>>1:k)|0;if(k&1)g=c[(c[a>>2]|0)+g>>2]|0;H=+f[v+384+24>>2]*q+ +f[v+384+28>>2]*r+ +f[v+384+32>>2]*t;G=+f[v+384+40>>2]*q+ +f[v+384+44>>2]*r+ +f[v+384+48>>2]*t;f[v+512>>2]=+f[v+384+8>>2]*q+ +f[v+384+12>>2]*r+ +f[v+384+16>>2]*t;f[v+512+4>>2]=H;f[v+512+8>>2]=G;f[v+512+12>>2]=0.0;zb[g&127](v+528|0,a,v+512|0);G=+f[v+528>>2];H=+f[v+528+4>>2];I=+f[v+528+8>>2];i=i+u*(G*+f[v+384+56>>2]+H*+f[v+384+60>>2]+I*+f[v+384+64>>2]+ +f[v+384+104>>2]);l=l+u*(G*+f[v+384+72>>2]+H*+f[v+384+76>>2]+I*+f[v+384+80>>2]+ +f[v+384+108>>2]);m=m+u*(G*+f[v+384+88>>2]+H*+f[v+384+92>>2]+I*+f[v+384+96>>2]+ +f[v+384+112>>2]);e=e+1|0;g=c[v+372>>2]|0}while(e>>>0<(c[g+32>>2]|0)>>>0)}F=n*+f[b+16>>2]+o*+f[b+20>>2]+p*+f[b+24>>2]+ +f[b+52>>2];G=n*+f[b+32>>2]+o*+f[b+36>>2]+p*+f[b+40>>2]+ +f[b+56>>2];f[h+4>>2]=n*+f[b>>2]+o*+f[b+4>>2]+p*+f[b+8>>2]+ +f[b+48>>2];f[h+8>>2]=F;f[h+12>>2]=G;f[h+16>>2]=0.0;G=i*+f[b+16>>2]+l*+f[b+20>>2]+m*+f[b+24>>2]+ +f[b+52>>2];F=i*+f[b+32>>2]+l*+f[b+36>>2]+m*+f[b+40>>2]+ +f[b+56>>2];f[h+20>>2]=i*+f[b>>2]+l*+f[b+4>>2]+m*+f[b+8>>2]+ +f[b+48>>2];f[h+24>>2]=G;f[h+28>>2]=F;f[h+32>>2]=0.0;F=n-i;G=o-l;H=p-m;f[h+48>>2]=0.0;I=+s(+(F*F+G*G+H*H));f[h+52>>2]=I;I=I>9.999999747378752e-05?1.0/I:1.0;f[h+36>>2]=F*I;f[h+40>>2]=G*I;f[h+44>>2]=H*I;b=1;Ta=v;return b|0}function xd(a,b,d,e,g,h){a=a|0;b=b|0;d=d|0;e=e|0;g=g|0;h=+h;var i=0,j=0,k=0,l=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0,t=0.0;i=Ta;Ta=Ta+464|0;Aj(18882);c[i+128>>2]=c[d>>2];c[i+128+4>>2]=c[d+4>>2];c[i+128+8>>2]=c[d+8>>2];c[i+128+12>>2]=c[d+12>>2];c[i+128+16>>2]=c[d+16>>2];c[i+128+16+4>>2]=c[d+16+4>>2];c[i+128+16+8>>2]=c[d+16+8>>2];c[i+128+16+12>>2]=c[d+16+12>>2];c[i+128+32>>2]=c[d+32>>2];c[i+128+32+4>>2]=c[d+32+4>>2];c[i+128+32+8>>2]=c[d+32+8>>2];c[i+128+32+12>>2]=c[d+32+12>>2];k=i+128+48|0;c[k>>2]=c[d+48>>2];c[k+4>>2]=c[d+48+4>>2];c[k+8>>2]=c[d+48+8>>2];c[k+12>>2]=c[d+48+12>>2];c[i+64>>2]=c[e>>2];c[i+64+4>>2]=c[e+4>>2];c[i+64+8>>2]=c[e+8>>2];c[i+64+12>>2]=c[e+12>>2];c[i+64+16>>2]=c[e+16>>2];c[i+64+16+4>>2]=c[e+16+4>>2];c[i+64+16+8>>2]=c[e+16+8>>2];c[i+64+16+12>>2]=c[e+16+12>>2];c[i+64+32>>2]=c[e+32>>2];c[i+64+32+4>>2]=c[e+32+4>>2];c[i+64+32+8>>2]=c[e+32+8>>2];c[i+64+32+12>>2]=c[e+32+12>>2];j=i+64+48|0;c[j>>2]=c[e+48>>2];c[j+4>>2]=c[e+48+4>>2];c[j+8>>2]=c[e+48+8>>2];c[j+12>>2]=c[e+48+12>>2];xf(i+128|0,i+64|0,i+256|0,i+192|0);t=+f[i+192>>2];l=t*+f[i+256+4>>2];q=t*+f[i+256+8>>2];f[i+16>>2]=+f[i+256>>2]*t;f[i+16+4>>2]=l;f[i+16+8>>2]=q;f[i+16+12>>2]=0.0;c[i+256>>2]=0;c[i+256+4>>2]=0;c[i+256+8>>2]=0;c[i+256+12>>2]=0;c[i+192+48>>2]=0;c[i+192+48+4>>2]=0;c[i+192+48+8>>2]=0;c[i+192+48+12>>2]=0;zh(i+128|0,i);q=+f[i>>2];l=+f[i+4>>2];t=+f[i+8>>2];p=+f[i+12>>2];n=q*(2.0/(q*q+l*l+t*t+p*p));m=l*(2.0/(q*q+l*l+t*t+p*p));o=t*(2.0/(q*q+l*l+t*t+p*p));f[i+192>>2]=1.0-(l*m+t*o);f[i+192+4>>2]=q*m-p*o;f[i+192+8>>2]=q*o+p*m;f[i+192+12>>2]=0.0;f[i+192+16>>2]=q*m+p*o;f[i+192+20>>2]=1.0-(q*n+t*o);f[i+192+24>>2]=l*o-p*n;f[i+192+28>>2]=0.0;f[i+192+32>>2]=q*o-p*m;f[i+192+36>>2]=l*o+p*n;f[i+192+40>>2]=1.0-(q*n+l*m);f[i+192+44>>2]=0.0;lh(b,i+192|0,i+256|0,i+16|0,i+48|0,i+32|0);c[i+256>>2]=7272;c[i+256+36>>2]=c[d>>2];c[i+256+36+4>>2]=c[d+4>>2];c[i+256+36+8>>2]=c[d+8>>2];c[i+256+36+12>>2]=c[d+12>>2];c[i+256+52>>2]=c[d+16>>2];c[i+256+52+4>>2]=c[d+16+4>>2];c[i+256+52+8>>2]=c[d+16+8>>2];c[i+256+52+12>>2]=c[d+16+12>>2];c[i+256+68>>2]=c[d+32>>2];c[i+256+68+4>>2]=c[d+32+4>>2];c[i+256+68+8>>2]=c[d+32+8>>2];c[i+256+68+12>>2]=c[d+32+12>>2];r=i+256+84|0;c[r>>2]=c[d+48>>2];c[r+4>>2]=c[d+48+4>>2];c[r+8>>2]=c[d+48+8>>2];c[r+12>>2]=c[d+48+12>>2];c[i+256+100>>2]=c[e>>2];c[i+256+100+4>>2]=c[e+4>>2];c[i+256+100+8>>2]=c[e+8>>2];c[i+256+100+12>>2]=c[e+12>>2];c[i+256+116>>2]=c[e+16>>2];c[i+256+116+4>>2]=c[e+16+4>>2];c[i+256+116+8>>2]=c[e+16+8>>2];c[i+256+116+12>>2]=c[e+16+12>>2];c[i+256+132>>2]=c[e+32>>2];c[i+256+132+4>>2]=c[e+32+4>>2];c[i+256+132+8>>2]=c[e+32+8>>2];c[i+256+132+12>>2]=c[e+32+12>>2];d=i+256+148|0;c[d>>2]=c[e+48>>2];c[d+4>>2]=c[e+48+4>>2];c[d+8>>2]=c[e+48+8>>2];c[d+12>>2]=c[e+48+12>>2];c[i+256+180>>2]=a;c[i+256+184>>2]=g;f[i+256+188>>2]=h;c[i+256+192>>2]=b;m=+f[d>>2]-+f[r>>2];l=+f[i+256+152>>2]-+f[i+256+88>>2];n=+f[i+256+156>>2]-+f[i+256+92>>2];h=1.0/+s(+(m*m+l*l+n*n));q=m*h==0.0?999999984306749440.0:1.0/(m*h);f[i+256+4>>2]=q;p=l*h==0.0?999999984306749440.0:1.0/(l*h);f[i+256+8>>2]=p;o=n*h==0.0?999999984306749440.0:1.0/(n*h);f[i+256+12>>2]=o;c[i+256+20>>2]=q<0.0&1;c[i+256+24>>2]=p<0.0&1;c[i+256+28>>2]=o<0.0&1;f[i+256+32>>2]=n*(n*h)+(m*(m*h)+l*(l*h));b=c[a+68>>2]|0;Ib[c[(c[b>>2]|0)+24>>2]&31](b,k,j,i+256|0,i+48|0,i+32|0);b=c[2760]|0;a=(c[b+16>>2]|0)+-1|0;c[b+16>>2]=a;if(a|0){Ta=i;return}do if(c[b+4>>2]|0){Pa(i+256|0,0)|0;r=c[6878]|0;f[b+8>>2]=+f[b+8>>2]+ +(((c[i+256+4>>2]|0)-(c[r+4>>2]|0)+(((c[i+256>>2]|0)-(c[r>>2]|0)|0)*1e6|0)-(c[b+12>>2]|0)|0)>>>0)/1.0e3;if(!(c[b+16>>2]|0)){b=c[2760]|0;break}else{Ta=i;return}}while(0);c[2760]=c[b+20>>2];Ta=i;return}function yd(d,e,f){d=d|0;e=e|0;f=f|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;s=Ta;Ta=Ta+32|0;h=eb[c[(c[d>>2]|0)+28>>2]&255](d)|0;c[e+20>>2]=h;c[e>>2]=0;if(!h){r=d+4|0;f=e+4|0;r=c[r>>2]|0;c[f>>2]=r;f=d+8|0;f=c[f>>2]|0;r=e+8|0;c[r>>2]=f;r=d+12|0;r=c[r>>2]|0;f=e+12|0;c[f>>2]=r;f=d+16|0;f=c[f>>2]|0;d=e+16|0;c[d>>2]=f;Ta=s;return 22639}r=ib[c[(c[f>>2]|0)+16>>2]&63](f,32,h)|0;h=c[r+8>>2]|0;c[e>>2]=gb[c[(c[f>>2]|0)+28>>2]&63](f,h)|0;q=eb[c[(c[d>>2]|0)+28>>2]&255](d)|0;a:do if((q|0)>0){p=0;while(1){Mb[c[(c[d>>2]|0)+16>>2]&31](d,s+28|0,s+4|0,s+16|0,s+8|0,s+24|0,s+20|0,s,s+12|0,p);i=c[s>>2]|0;c[h+24>>2]=i;c[h+28>>2]=c[s+4>>2];j=h+12|0;l=h+16|0;o=h+4|0;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;c[h+16>>2]=0;c[h+20>>2]=0;switch(c[s+12>>2]|0){case 2:{if(i|0){k=ib[c[(c[f>>2]|0)+16>>2]&63](f,4,i*3|0)|0;i=c[k+8>>2]|0;c[h+8>>2]=gb[c[(c[f>>2]|0)+28>>2]&63](f,i)|0;if((c[s>>2]|0)>0){j=c[s+24>>2]|0;l=0;do{m=j+(z(c[s+20>>2]|0,l)|0)|0;n=l*3|0;c[i+(n<<2)>>2]=c[m>>2];c[i+(n+1<<2)>>2]=c[m+4>>2];c[i+(n+2<<2)>>2]=c[m+8>>2];l=l+1|0}while((l|0)<(c[s>>2]|0))}Gb[c[(c[f>>2]|0)+20>>2]&63](f,k,22520,1497453121,c[k+8>>2]|0)}break}case 3:{if(i|0){n=ib[c[(c[f>>2]|0)+16>>2]&63](f,8,i)|0;m=c[n+8>>2]|0;c[j>>2]=gb[c[(c[f>>2]|0)+28>>2]&63](f,m)|0;i=c[s>>2]|0;if((i|0)>0){j=c[s+24>>2]|0;k=c[s+20>>2]|0;l=0;do{t=j+(z(k,l)|0)|0;b[m+(l<<3)>>1]=b[t>>1]|0;b[m+(l<<3)+2>>1]=b[t+2>>1]|0;b[m+(l<<3)+4>>1]=b[t+4>>1]|0;l=l+1|0}while((l|0)!=(i|0))}Gb[c[(c[f>>2]|0)+20>>2]&63](f,n,22535,1497453121,c[n+8>>2]|0)}break}case 5:{if(i|0){k=ib[c[(c[f>>2]|0)+16>>2]&63](f,4,i)|0;j=c[k+8>>2]|0;c[l>>2]=gb[c[(c[f>>2]|0)+28>>2]&63](f,j)|0;if((c[s>>2]|0)>0){i=0;do{t=(c[s+24>>2]|0)+(z(c[s+20>>2]|0,i)|0)|0;a[j+(i<<2)>>0]=a[t>>0]|0;a[j+(i<<2)+1>>0]=a[t+1>>0]|0;a[j+(i<<2)+2>>0]=a[t+2>>0]|0;i=i+1|0}while((i|0)<(c[s>>2]|0))}Gb[c[(c[f>>2]|0)+20>>2]&63](f,k,22562,1497453121,c[k+8>>2]|0)}break}default:{}}switch(c[s+16>>2]|0){case 0:{i=c[s+4>>2]|0;if(i|0){m=ib[c[(c[f>>2]|0)+16>>2]&63](f,16,i)|0;i=c[m+8>>2]|0;c[h>>2]=gb[c[(c[f>>2]|0)+28>>2]&63](f,i)|0;j=c[s+4>>2]|0;if((j|0)>0){k=c[s+28>>2]|0;l=c[s+8>>2]|0;n=0;do{t=k+(z(l,n)|0)|0;c[i+(n<<4)>>2]=c[t>>2];c[i+(n<<4)+4>>2]=c[t+4>>2];c[i+(n<<4)+8>>2]=c[t+8>>2];n=n+1|0}while((n|0)!=(j|0))}Gb[c[(c[f>>2]|0)+20>>2]&63](f,m,22585,1497453121,c[m+8>>2]|0)}break}case 1:{i=c[s+4>>2]|0;if(i|0){n=ib[c[(c[f>>2]|0)+16>>2]&63](f,32,i)|0;m=c[n+8>>2]|0;c[o>>2]=gb[c[(c[f>>2]|0)+28>>2]&63](f,m)|0;i=c[s+4>>2]|0;if((i|0)>0){j=c[s+28>>2]|0;k=c[s+8>>2]|0;l=0;do{t=j+(z(k,l)|0)|0;g[m+(l<<5)>>3]=+g[t>>3];g[m+(l<<5)+8>>3]=+g[t+8>>3];g[m+(l<<5)+16>>3]=+g[t+16>>3];l=l+1|0}while((l|0)!=(i|0))}Gb[c[(c[f>>2]|0)+20>>2]&63](f,n,22604,1497453121,c[n+8>>2]|0)}break}default:{}}vb[c[(c[d>>2]|0)+24>>2]&255](d,p);p=p+1|0;if((p|0)==(q|0)){h=f;break a}else h=h+32|0}}else h=f;while(0);Gb[c[(c[h>>2]|0)+20>>2]&63](f,r,22624,1497453121,c[r+8>>2]|0);f=d+4|0;t=e+4|0;f=c[f>>2]|0;c[t>>2]=f;t=d+8|0;t=c[t>>2]|0;f=e+8|0;c[f>>2]=t;f=d+12|0;f=c[f>>2]|0;t=e+12|0;c[t>>2]=f;d=d+16|0;d=c[d>>2]|0;t=e+16|0;c[t>>2]=d;Ta=s;return 22639}function zd(a,b){a=a|0;b=b|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0.0,l=0.0,m=0.0,n=0.0,o=0,p=0.0,q=0.0,r=0.0,t=0.0,u=0.0;i=c[a+192>>2]|0;n=+Wa[c[(c[i>>2]|0)+48>>2]&31](i);i=c[a+712>>2]|0;if((i|0)>0){o=0;do{j=c[a+720>>2]|0;g=j+(o*104|0)+8|0;q=+f[g>>2];h=j+(o*104|0)+12|0;p=+f[h>>2];d=j+(o*104|0)+16|0;l=+f[d>>2];k=q*+f[b>>2]+p*+f[b+4>>2]+l*+f[b+8>>2]+ +f[b+48>>2];m=q*+f[b+16>>2]+p*+f[b+20>>2]+l*+f[b+24>>2]+ +f[b+52>>2];l=q*+f[b+32>>2]+p*+f[b+36>>2]+l*+f[b+40>>2]+ +f[b+56>>2];f[g>>2]=k;f[h>>2]=m;f[d>>2]=l;f[j+(o*104|0)+20>>2]=0.0;d=j+(o*104|0)+24|0;p=+f[d>>2];h=j+(o*104|0)+28|0;q=+f[h>>2];g=j+(o*104|0)+32|0;r=+f[g>>2];t=p*+f[b+16>>2]+q*+f[b+20>>2]+r*+f[b+24>>2]+ +f[b+52>>2];u=p*+f[b+32>>2]+q*+f[b+36>>2]+r*+f[b+40>>2]+ +f[b+56>>2];f[d>>2]=p*+f[b>>2]+q*+f[b+4>>2]+r*+f[b+8>>2]+ +f[b+48>>2];f[h>>2]=t;f[g>>2]=u;f[j+(o*104|0)+36>>2]=0.0;g=j+(o*104|0)+72|0;u=+f[g>>2];h=j+(o*104|0)+76|0;t=+f[h>>2];d=j+(o*104|0)+80|0;r=+f[d>>2];q=u*+f[b+16>>2]+t*+f[b+20>>2]+r*+f[b+24>>2];p=u*+f[b+32>>2]+t*+f[b+36>>2]+r*+f[b+40>>2];f[g>>2]=+f[b>>2]*u+ +f[b+4>>2]*t+ +f[b+8>>2]*r;f[h>>2]=q;f[d>>2]=p;f[j+(o*104|0)+84>>2]=0.0;j=c[j+(o*104|0)+96>>2]|0;d=ch(a+928|0,j)|0;a:do if(d){g=c[a+936>>2]|0;if((g|0)<=-1){d=c[a+928>>2]|0;break}if(g){h=0;e=d;while(1){d=c[e+32>>2]|0;h=h+1|0;if(!d){d=e;break a}if((h|0)>=(g|0))break;else e=d}}}else d=0;while(0);f[j>>2]=k-n;f[j+4>>2]=m-n;f[j+8>>2]=l-n;f[j+12>>2]=0.0;f[j+16>>2]=n+k;f[j+20>>2]=n+m;f[j+24>>2]=n+l;f[j+28>>2]=0.0;bf(a+928|0,d,j);o=o+1|0}while((o|0)!=(i|0))}wg(a);d=c[a+928>>2]|0;if(d){o=c[a+192>>2]|0;r=+Wa[c[(c[o>>2]|0)+48>>2]&31](o);u=+f[d+4>>2]-r;t=+f[d+8>>2]-r;f[a+892>>2]=+f[d>>2]-r;f[a+896>>2]=u;f[a+900>>2]=t;f[a+904>>2]=0.0;t=r+ +f[d+20>>2];u=r+ +f[d+24>>2];f[a+908>>2]=r+ +f[d+16>>2];f[a+912>>2]=t;f[a+916>>2]=u;f[a+920>>2]=0.0;d=c[a+188>>2]|0;if(d|0){o=c[a+684>>2]|0;j=c[o+32>>2]|0;Gb[c[(c[j>>2]|0)+16>>2]&63](j,d,a+892|0,a+908|0,c[o+36>>2]|0)}}else{c[a+892>>2]=0;c[a+892+4>>2]=0;c[a+892+8>>2]=0;c[a+892+12>>2]=0;c[a+892+16>>2]=0;c[a+892+20>>2]=0;c[a+892+24>>2]=0;c[a+892+28>>2]=0}e=c[a+732>>2]|0;if((e|0)<=0){Sf(a);o=a+1148|0;c[o>>2]=c[b>>2];c[o+4>>2]=c[b+4>>2];c[o+8>>2]=c[b+8>>2];c[o+12>>2]=c[b+12>>2];o=b+16|0;j=a+1164|0;c[j>>2]=c[o>>2];c[j+4>>2]=c[o+4>>2];c[j+8>>2]=c[o+8>>2];c[j+12>>2]=c[o+12>>2];j=b+32|0;o=a+1180|0;c[o>>2]=c[j>>2];c[o+4>>2]=c[j+4>>2];c[o+8>>2]=c[j+8>>2];c[o+12>>2]=c[j+12>>2];o=b+48|0;b=a+1196|0;c[b>>2]=c[o>>2];c[b+4>>2]=c[o+4>>2];c[b+8>>2]=c[o+8>>2];c[b+12>>2]=c[o+12>>2];return}g=c[a+740>>2]|0;d=0;do{j=c[g+(d*52|0)+8>>2]|0;o=c[g+(d*52|0)+12>>2]|0;r=+f[j+8>>2]-+f[o+8>>2];t=+f[j+12>>2]-+f[o+12>>2];u=+f[j+16>>2]-+f[o+16>>2];u=+s(+(r*r+t*t+u*u));f[g+(d*52|0)+16>>2]=u;f[g+(d*52|0)+28>>2]=u*u;d=d+1|0}while((d|0)!=(e|0));d=0;do{f[g+(d*52|0)+24>>2]=(+f[(c[g+(d*52|0)+8>>2]|0)+88>>2]+ +f[(c[g+(d*52|0)+12>>2]|0)+88>>2])/+f[(c[g+(d*52|0)+4>>2]|0)+4>>2];d=d+1|0}while((d|0)!=(e|0));Sf(a);o=a+1148|0;c[o>>2]=c[b>>2];c[o+4>>2]=c[b+4>>2];c[o+8>>2]=c[b+8>>2];c[o+12>>2]=c[b+12>>2];o=b+16|0;j=a+1164|0;c[j>>2]=c[o>>2];c[j+4>>2]=c[o+4>>2];c[j+8>>2]=c[o+8>>2];c[j+12>>2]=c[o+12>>2];j=b+32|0;o=a+1180|0;c[o>>2]=c[j>>2];c[o+4>>2]=c[j+4>>2];c[o+8>>2]=c[j+8>>2];c[o+12>>2]=c[j+12>>2];o=b+48|0;b=a+1196|0;c[b>>2]=c[o>>2];c[b+4>>2]=c[o+4>>2];c[b+8>>2]=c[o+8>>2];c[b+12>>2]=c[o+12>>2];return}function Ad(b,d,e,g,h,i){b=b|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,t=0,u=0,v=0,w=0,x=0,y=0.0,A=0.0,B=0.0,C=0;x=Ta;Ta=Ta+64|0;if((h|0)>0){j=0;b=0;do{w=c[g+(j<<2)>>2]|0;b=(w|0)>(b|0)?w:b;j=j+1|0}while((j|0)<(h*3|0))}else b=0;t=b+1|0;k=z(t,t)|0;if(!k)j=0;else{c[6879]=(c[6879]|0)+1;j=Zb(k+19|0)|0;if(!j)j=0;else{c[(j+4+15&-16)+-4>>2]=j;j=j+4+15&-16}el(j|0,0,k|0)|0}if((b|0)>-1){c[6879]=(c[6879]|0)+1;b=Zb((t<<4|3)+16|0)|0;if(!b)l=0;else{c[(b+4+15&-16)+-4>>2]=b;l=b+4+15&-16}b=0;do{w=l+(b<<4)|0;c[w>>2]=c[x>>2];c[w+4>>2]=c[x+4>>2];c[w+8>>2]=c[x+8>>2];c[w+12>>2]=c[x+12>>2];b=b+1|0}while((b|0)!=(t|0));b=0;k=0;while(1){v=c[e+(b+1<<2)>>2]|0;w=c[e+(b+2<<2)>>2]|0;c[l+(k<<4)>>2]=c[e+(b<<2)>>2];c[l+(k<<4)+4>>2]=v;c[l+(k<<4)+8>>2]=w;f[l+(k<<4)+12>>2]=0.0;b=b+3|0;if((b|0)>=(t*3|0)){w=l;v=l;break}else k=k+1|0}}else{w=0;v=0}c[6879]=(c[6879]|0)+1;b=Zb(1271)|0;if(!b)u=0;else{c[(b+4+15&-16)+-4>>2]=b;u=b+4+15&-16}jc(u,d,t,v,0);if((h|0)>0){p=u+720|0;r=u+732|0;q=u+740|0;e=u+924|0;o=0;do{d=c[g+(o<<2)>>2]|0;m=c[g+(o+1<<2)>>2]|0;n=c[g+(o+2<<2)>>2]|0;l=z(d,t)|0;b=j+(l+n)|0;if(!(a[b>>0]|0)){a[b>>0]=1;a[j+((z(n,t)|0)+d)>>0]=1;C=c[p>>2]|0;fi(u,0);k=(c[r>>2]|0)+-1|0;b=c[q>>2]|0;c[b+(k*52|0)+8>>2]=C+(n*104|0);c[b+(k*52|0)+12>>2]=C+(d*104|0);B=+f[C+(n*104|0)+8>>2]-+f[C+(d*104|0)+8>>2];A=+f[C+(n*104|0)+12>>2]-+f[C+(d*104|0)+12>>2];y=+f[C+(n*104|0)+16>>2]-+f[C+(d*104|0)+16>>2];f[b+(k*52|0)+16>>2]=+s(+(B*B+A*A+y*y));a[e>>0]=1}k=z(m,t)|0;b=j+(k+d)|0;if(!(a[b>>0]|0)){a[b>>0]=1;a[j+(l+m)>>0]=1;b=c[p>>2]|0;fi(u,0);C=(c[r>>2]|0)+-1|0;l=c[q>>2]|0;c[l+(C*52|0)+8>>2]=b+(d*104|0);c[l+(C*52|0)+12>>2]=b+(m*104|0);y=+f[b+(d*104|0)+8>>2]-+f[b+(m*104|0)+8>>2];A=+f[b+(d*104|0)+12>>2]-+f[b+(m*104|0)+12>>2];B=+f[b+(d*104|0)+16>>2]-+f[b+(m*104|0)+16>>2];f[l+(C*52|0)+16>>2]=+s(+(y*y+A*A+B*B));a[e>>0]=1}b=j+((z(n,t)|0)+m)|0;if(!(a[b>>0]|0)){a[b>>0]=1;a[j+(k+n)>>0]=1;k=c[p>>2]|0;fi(u,0);C=(c[r>>2]|0)+-1|0;l=c[q>>2]|0;c[l+(C*52|0)+8>>2]=k+(m*104|0);c[l+(C*52|0)+12>>2]=k+(n*104|0);y=+f[k+(m*104|0)+8>>2]-+f[k+(n*104|0)+8>>2];A=+f[k+(m*104|0)+12>>2]-+f[k+(n*104|0)+12>>2];B=+f[k+(m*104|0)+16>>2]-+f[k+(n*104|0)+16>>2];f[l+(C*52|0)+16>>2]=+s(+(y*y+A*A+B*B));a[e>>0]=1}Vf(u,d,m,n,0);o=o+3|0}while((o|0)<(h*3|0))}if(i){k=c[u+732>>2]|0;if((k|0)>0){m=u+740|0;d=0;b=243703;do{l=c[m>>2]|0;e=l+(d*52|0)|0;b=(z(b,1664525)|0)+1013904223|0;n=x;o=e;p=n+52|0;do{c[n>>2]=c[o>>2];n=n+4|0;o=o+4|0}while((n|0)<(p|0));n=e;o=l+(((b>>>0)%(k>>>0)|0)*52|0)|0;p=n+52|0;do{c[n>>2]=c[o>>2];n=n+4|0;o=o+4|0}while((n|0)<(p|0));n=l+(((b>>>0)%(k>>>0)|0)*52|0)|0;o=x;p=n+52|0;do{c[n>>2]=c[o>>2];n=n+4|0;o=o+4|0}while((n|0)<(p|0));d=d+1|0}while((d|0)!=(k|0))}else b=243703;e=c[u+752>>2]|0;if((e|0)>0){m=u+760|0;d=0;do{k=c[m>>2]|0;l=k+(d*44|0)|0;b=(z(b,1664525)|0)+1013904223|0;k=k+(((b>>>0)%(e>>>0)|0)*44|0)|0;n=x;o=l;p=n+44|0;do{c[n>>2]=c[o>>2];n=n+4|0;o=o+4|0}while((n|0)<(p|0));n=l;o=k;p=n+44|0;do{c[n>>2]=c[o>>2];n=n+4|0;o=o+4|0}while((n|0)<(p|0));n=k;o=x;p=n+44|0;do{c[n>>2]=c[o>>2];n=n+4|0;o=o+4|0}while((n|0)<(p|0));d=d+1|0}while((d|0)!=(e|0))}}if(!((v|0)==0|(w|0)==0)){c[6880]=(c[6880]|0)+1;kd(c[w+-4>>2]|0)}if(!j){Ta=x;return u|0}c[6880]=(c[6880]|0)+1;kd(c[j+-4>>2]|0);Ta=x;return u|0}function Bd(a,b,d){a=a|0;b=b|0;d=+d;var e=0,g=0,h=0,i=0,j=0.0,k=0.0,l=0.0,m=0.0,n=0.0;i=Ta;Ta=Ta+256|0;e=c[b+212>>2]|0;if((e|0)>-1){b=e;Ta=i;return b|0}h=(c[b+236>>2]&2|0)==0;e=h?0:b;do if(!h){if(!(+f[e+344>>2]!=0.0)?(c[e+204>>2]&2|0)==0:0)break;h=c[a+8>>2]|0;el(i|0,0,244)|0;a=wf(a+4|0,i)|0;g=(c[b+236>>2]&2|0)==0;e=g?0:b;c[a+64>>2]=0;c[a+64+4>>2]=0;c[a+64+8>>2]=0;c[a+64+12>>2]=0;c[a+64+16>>2]=0;c[a+64+20>>2]=0;c[a+64+24>>2]=0;c[a+64+28>>2]=0;c[a+144>>2]=0;c[a+144+4>>2]=0;c[a+144+8>>2]=0;c[a+144+12>>2]=0;c[a+144+16>>2]=0;c[a+144+20>>2]=0;c[a+144+24>>2]=0;c[a+144+28>>2]=0;if(g){c[a>>2]=1065353216;c[a+4>>2]=0;c[a+4+4>>2]=0;c[a+4+8>>2]=0;c[a+4+12>>2]=0;c[a+20>>2]=1065353216;c[a+24>>2]=0;c[a+24+4>>2]=0;c[a+24+8>>2]=0;c[a+24+12>>2]=0;c[a+40>>2]=1065353216;c[a+44>>2]=0;c[a+44+4>>2]=0;c[a+44+8>>2]=0;c[a+44+12>>2]=0;c[a+44+16>>2]=0;c[a+240>>2]=0;c[a+128>>2]=0;c[a+128+4>>2]=0;c[a+128+8>>2]=0;c[a+128+12>>2]=0;c[a+96>>2]=1065353216;c[a+100>>2]=1065353216;c[a+104>>2]=1065353216;f[a+108>>2]=0.0;c[a+112>>2]=1065353216;c[a+116>>2]=1065353216;c[a+120>>2]=1065353216;f[a+124>>2]=0.0;e=a+176|0;g=e+60|0;do{c[e>>2]=0;e=e+4|0}while((e|0)<(g|0))}else{c[a>>2]=c[e+4>>2];c[a+4>>2]=c[e+4+4>>2];c[a+8>>2]=c[e+4+8>>2];c[a+12>>2]=c[e+4+12>>2];c[a+16>>2]=c[e+20>>2];c[a+16+4>>2]=c[e+20+4>>2];c[a+16+8>>2]=c[e+20+8>>2];c[a+16+12>>2]=c[e+20+12>>2];c[a+32>>2]=c[e+36>>2];c[a+32+4>>2]=c[e+36+4>>2];c[a+32+8>>2]=c[e+36+8>>2];c[a+32+12>>2]=c[e+36+12>>2];c[a+48>>2]=c[e+52>>2];c[a+48+4>>2]=c[e+52+4>>2];c[a+48+8>>2]=c[e+52+8>>2];c[a+48+12>>2]=c[e+52+12>>2];n=+f[e+344>>2];m=n*+f[e+352>>2];l=n*+f[e+356>>2];f[a+128>>2]=n*+f[e+348>>2];f[a+132>>2]=m;f[a+136>>2]=l;f[a+140>>2]=0.0;c[a+240>>2]=e;c[a+96>>2]=c[e+544>>2];c[a+96+4>>2]=c[e+544+4>>2];c[a+96+8>>2]=c[e+544+8>>2];c[a+96+12>>2]=c[e+544+12>>2];c[a+112>>2]=c[e+348>>2];c[a+112+4>>2]=c[e+348+4>>2];c[a+112+8>>2]=c[e+348+8>>2];c[a+112+12>>2]=c[e+348+12>>2];c[a+176>>2]=c[e+312>>2];c[a+176+4>>2]=c[e+312+4>>2];c[a+176+8>>2]=c[e+312+8>>2];c[a+176+12>>2]=c[e+312+12>>2];c[a+192>>2]=c[e+328>>2];c[a+192+4>>2]=c[e+328+4>>2];c[a+192+8>>2]=c[e+328+8>>2];c[a+192+12>>2]=c[e+328+12>>2];l=+f[e+344>>2];m=l*+f[e+416>>2]*d;n=l*+f[e+420>>2]*d;f[a+208>>2]=l*+f[e+412>>2]*d;f[a+212>>2]=m;f[a+216>>2]=n;f[a+220>>2]=0.0;n=+f[e+428>>2];m=+f[e+432>>2];l=+f[e+436>>2];k=(n*+f[e+268>>2]+m*+f[e+284>>2]+l*+f[e+300>>2])*d;j=(n*+f[e+272>>2]+m*+f[e+288>>2]+l*+f[e+304>>2])*d;f[a+224>>2]=(+f[e+264>>2]*n+ +f[e+280>>2]*m+ +f[e+296>>2]*l)*d;f[a+228>>2]=k;f[a+232>>2]=j}f[a+236>>2]=0.0;c[b+212>>2]=h;b=h;Ta=i;return b|0}while(0);e=c[a+188>>2]|0;if((e|0)>=0){b=e;Ta=i;return b|0}c[a+188>>2]=c[a+8>>2];el(i|0,0,244)|0;e=wf(a+4|0,i)|0;c[e+64>>2]=0;c[e+64+4>>2]=0;c[e+64+8>>2]=0;c[e+64+12>>2]=0;c[e+64+16>>2]=0;c[e+64+20>>2]=0;c[e+64+24>>2]=0;c[e+64+28>>2]=0;c[e+144>>2]=0;c[e+144+4>>2]=0;c[e+144+8>>2]=0;c[e+144+12>>2]=0;c[e+144+16>>2]=0;c[e+144+20>>2]=0;c[e+144+24>>2]=0;c[e+144+28>>2]=0;c[e>>2]=1065353216;c[e+4>>2]=0;c[e+4+4>>2]=0;c[e+4+8>>2]=0;c[e+4+12>>2]=0;c[e+20>>2]=1065353216;c[e+24>>2]=0;c[e+24+4>>2]=0;c[e+24+8>>2]=0;c[e+24+12>>2]=0;c[e+40>>2]=1065353216;c[e+44>>2]=0;c[e+44+4>>2]=0;c[e+44+8>>2]=0;c[e+44+12>>2]=0;c[e+44+16>>2]=0;c[e+240>>2]=0;c[e+128>>2]=0;c[e+128+4>>2]=0;c[e+128+8>>2]=0;c[e+128+12>>2]=0;c[e+96>>2]=1065353216;c[e+100>>2]=1065353216;c[e+104>>2]=1065353216;f[e+108>>2]=0.0;c[e+112>>2]=1065353216;c[e+116>>2]=1065353216;c[e+120>>2]=1065353216;f[e+124>>2]=0.0;e=e+176|0;g=e+64|0;do{c[e>>2]=0;e=e+4|0}while((e|0)<(g|0));b=c[a+188>>2]|0;Ta=i;return b|0}function Cd(b,d,e){b=b|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0.0,l=0.0,m=0.0,n=0.0,o=0,p=0.0,q=0.0,r=0.0;if(a[b+165>>0]|0){g=c[b+88>>2]|0;a:do if((g|0)>0&e){h=c[b+96>>2]|0;k=+f[d>>2];l=+f[d+4>>2];m=+f[d+8>>2];n=+f[b+168>>2];e=0;while(1){r=+f[h+(e<<4)>>2]-k;q=+f[h+(e<<4)+4>>2]-l;p=+f[h+(e<<4)+8>>2]-m;if(r*r+q*q+p*p<=n)break;e=e+1|0;if((e|0)>=(g|0))break a}return e|0}while(0);o=(c[b+32>>2]|0)+12|0;c[o>>2]=(c[o>>2]|0)+1;if((g|0)==(c[b+92>>2]|0)?(i=(g|0)==0?1:g<<1,(g|0)<(i|0)):0){if(!i)h=0;else{c[6879]=(c[6879]|0)+1;e=Zb((i<<4|3)+16|0)|0;if(!e)e=0;else{c[(e+4+15&-16)+-4>>2]=e;e=e+4+15&-16}g=c[b+88>>2]|0;h=e}if((g|0)>0){e=0;do{o=h+(e<<4)|0;j=(c[b+96>>2]|0)+(e<<4)|0;c[o>>2]=c[j>>2];c[o+4>>2]=c[j+4>>2];c[o+8>>2]=c[j+8>>2];c[o+12>>2]=c[j+12>>2];e=e+1|0}while((e|0)!=(g|0))}e=c[b+96>>2]|0;if(e|0){if(a[b+100>>0]|0){c[6880]=(c[6880]|0)+1;kd(c[e+-4>>2]|0)}c[b+96>>2]=0}a[b+100>>0]=1;c[b+96>>2]=h;c[b+92>>2]=i;e=c[b+88>>2]|0}else e=g;o=(c[b+96>>2]|0)+(e<<4)|0;c[o>>2]=c[d>>2];c[o+4>>2]=c[d+4>>2];c[o+8>>2]=c[d+8>>2];c[o+12>>2]=c[d+12>>2];d=c[b+88>>2]|0;c[b+88>>2]=d+1;c[(c[b+32>>2]|0)+16>>2]=c[b+96>>2];return d|0}g=c[b+108>>2]|0;b:do if((g|0)>0&e){e=c[b+116>>2]|0;k=+f[d>>2];l=+f[d+4>>2];m=+f[d+8>>2];n=+f[b+168>>2];i=0;while(1){p=+f[e+(i<<2)>>2]-k;q=+f[e+(i+1<<2)>>2]-l;r=+f[e+(i+2<<2)>>2]-m;h=i+3|0;if(p*p+q*q+r*r<=n)break;if((h|0)<(g|0))i=h;else break b}d=(i>>>0)/3|0;return d|0}while(0);e=c[b+112>>2]|0;if((g|0)==(e|0)){e=(g|0)==0?1:g<<1;if((g|0)<(e|0)){if(!e)h=0;else{c[6879]=(c[6879]|0)+1;g=Zb((e<<2|3)+16|0)|0;if(!g)h=0;else{c[(g+4+15&-16)+-4>>2]=g;h=g+4+15&-16}g=c[b+108>>2]|0}j=c[b+116>>2]|0;if((g|0)<=0)if(!j)i=b+120|0;else o=36;else{i=0;do{c[h+(i<<2)>>2]=c[j+(i<<2)>>2];i=i+1|0}while((i|0)!=(g|0));o=36}if((o|0)==36){if(a[b+120>>0]|0){c[6880]=(c[6880]|0)+1;kd(c[j+-4>>2]|0);g=c[b+108>>2]|0}c[b+116>>2]=0;i=b+120|0}a[i>>0]=1;c[b+116>>2]=h;c[b+112>>2]=e;h=g}else{h=g;e=g}}else h=g;g=c[b+116>>2]|0;c[g+(h<<2)>>2]=c[d>>2];h=h+1|0;c[b+108>>2]=h;if((h|0)==(e|0)){j=(e|0)==0?1:e<<1;if((e|0)<(j|0)){if(!j)i=0;else{c[6879]=(c[6879]|0)+1;e=Zb((j<<2|3)+16|0)|0;if(!e)h=0;else{c[(e+4+15&-16)+-4>>2]=e;h=e+4+15&-16}e=c[b+108>>2]|0;g=c[b+116>>2]|0;i=h}if((e|0)<=0)if(!g)g=b+120|0;else o=51;else{h=0;do{c[i+(h<<2)>>2]=c[g+(h<<2)>>2];h=h+1|0}while((h|0)!=(e|0));o=51}if((o|0)==51){if(a[b+120>>0]|0){c[6880]=(c[6880]|0)+1;kd(c[g+-4>>2]|0);e=c[b+108>>2]|0}c[b+116>>2]=0;g=b+120|0}a[g>>0]=1;c[b+116>>2]=i;c[b+112>>2]=j;g=i;h=e;e=j}else h=e}c[g+(h<<2)>>2]=c[d+4>>2];h=h+1|0;c[b+108>>2]=h;if((h|0)==(e|0)){j=(e|0)==0?1:e<<1;if((e|0)<(j|0)){if(!j)i=0;else{c[6879]=(c[6879]|0)+1;e=Zb((j<<2|3)+16|0)|0;if(!e)h=0;else{c[(e+4+15&-16)+-4>>2]=e;h=e+4+15&-16}e=c[b+108>>2]|0;g=c[b+116>>2]|0;i=h}if((e|0)<=0)if(!g)g=b+120|0;else o=66;else{h=0;do{c[i+(h<<2)>>2]=c[g+(h<<2)>>2];h=h+1|0}while((h|0)!=(e|0));o=66}if((o|0)==66){if(a[b+120>>0]|0){c[6880]=(c[6880]|0)+1;kd(c[g+-4>>2]|0);e=c[b+108>>2]|0}c[b+116>>2]=0;g=b+120|0}a[g>>0]=1;c[b+116>>2]=i;c[b+112>>2]=j;g=i}}else e=h;c[g+(e<<2)>>2]=c[d+8>>2];d=e+1|0;c[b+108>>2]=d;b=c[b+32>>2]|0;c[b+12>>2]=(c[b+12>>2]|0)+1;c[b+16>>2]=g;d=((d|0)/3|0)+-1|0;return d|0}function Dd(a,b){a=a|0;b=b|0;var d=0.0,e=0,g=0,h=0,i=0,j=0,k=0.0,l=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,t=0.0,u=0.0,v=0.0,x=0,y=0,z=0.0,A=0.0,B=0.0,C=0.0,D=0.0,E=0.0,F=0.0,G=0.0;x=Ta;Ta=Ta+64|0;g=c[a+28>>2]|0;h=c[a+32>>2]|0;i=c[b+8>>2]|0;f[i>>2]=1.0;j=c[b+24>>2]|0;f[i+(j+1<<2)>>2]=1.0;f[i+((j<<1)+2<<2)>>2]=1.0;u=+f[a+48>>2];v=+f[a+52>>2];d=+f[a+56>>2];l=+f[g+4>>2]*u+ +f[g+8>>2]*v+ +f[g+12>>2]*d;k=u*+f[g+20>>2]+v*+f[g+24>>2]+d*+f[g+28>>2];d=u*+f[g+36>>2]+v*+f[g+40>>2]+d*+f[g+44>>2];i=c[b+12>>2]|0;c[i>>2]=0;f[i+4>>2]=d;f[i+8>>2]=-k;f[i+12>>2]=0.0;f[i+(j<<2)>>2]=-d;c[i+(j<<2)+4>>2]=0;f[i+(j<<2)+8>>2]=l;f[i+(j<<2)+12>>2]=0.0;f[i+(j<<1<<2)>>2]=k;f[i+(j<<1<<2)+4>>2]=-l;c[i+(j<<1<<2)+8>>2]=0;f[i+(j<<1<<2)+12>>2]=0.0;e=c[b+16>>2]|0;if(e|0){f[e>>2]=-1.0;f[e+(j+1<<2)>>2]=-1.0;f[e+((j<<1)+2<<2)>>2]=-1.0}q=+f[a+64>>2];v=+f[a+68>>2];u=+f[a+72>>2];r=+f[h+4>>2]*q+ +f[h+8>>2]*v+ +f[h+12>>2]*u;t=q*+f[h+20>>2]+v*+f[h+24>>2]+u*+f[h+28>>2];u=q*+f[h+36>>2]+v*+f[h+40>>2]+u*+f[h+44>>2];e=c[b+20>>2]|0;c[e>>2]=0;f[e+4>>2]=-u;f[e+8>>2]=t;f[e+12>>2]=0.0;f[e+(j<<2)>>2]=u;c[e+(j<<2)+4>>2]=0;f[e+(j<<2)+8>>2]=-r;f[e+(j<<2)+12>>2]=0.0;f[e+(j<<1<<2)>>2]=-t;f[e+(j<<1<<2)+4>>2]=r;c[e+(j<<1<<2)+8>>2]=0;f[e+(j<<1<<2)+12>>2]=0.0;v=+f[b>>2]*+f[b+4>>2];t=v*(t+ +f[h+56>>2]-k-+f[g+56>>2]);u=v*(u+ +f[h+60>>2]-d-+f[g+60>>2]);y=c[b+28>>2]|0;f[y>>2]=v*(r+ +f[h+52>>2]-l-+f[g+52>>2]);f[y+(j<<2)>>2]=t;f[y+(j<<1<<2)>>2]=u;f[i+(j*3<<2)>>2]=1.0;f[i+((j<<2|1)<<2)>>2]=1.0;f[i+((j*5|0)+2<<2)>>2]=1.0;if(e|0){f[e+(j*3<<2)>>2]=-1.0;f[e+((j<<2|1)<<2)>>2]=-1.0;f[e+((j*5|0)+2<<2)>>2]=-1.0}l=+f[h+24>>2];A=+f[h+44>>2];m=+f[h+28>>2];n=+f[h+40>>2];z=+f[h+36>>2];k=+f[h+20>>2];u=+f[h+4>>2];t=+f[h+8>>2];p=+f[h+12>>2];d=1.0/((l*A-m*n)*u+t*(m*z-A*k)+(n*k-l*z)*p);F=+f[g+4>>2];E=+f[g+8>>2];G=+f[g+12>>2];D=+f[g+20>>2];C=+f[g+24>>2];B=+f[g+28>>2];o=+f[g+36>>2];q=+f[g+40>>2];r=+f[g+44>>2];f[x+16>>2]=G*((n*k-l*z)*d)+(F*((l*A-m*n)*d)+E*((m*z-A*k)*d));f[x+16+4>>2]=G*((z*t-n*u)*d)+(F*((n*p-A*t)*d)+E*((A*u-z*p)*d));f[x+16+8>>2]=G*((l*u-k*t)*d)+(F*((m*t-l*p)*d)+E*((k*p-m*u)*d));f[x+16+12>>2]=0.0;f[x+16+16>>2]=(l*A-m*n)*d*D+(m*z-A*k)*d*C+(n*k-l*z)*d*B;f[x+16+20>>2]=(n*p-A*t)*d*D+(A*u-z*p)*d*C+(z*t-n*u)*d*B;f[x+16+24>>2]=(m*t-l*p)*d*D+(k*p-m*u)*d*C+(l*u-k*t)*d*B;f[x+16+28>>2]=0.0;f[x+16+32>>2]=(l*A-m*n)*d*o+(m*z-A*k)*d*q+(n*k-l*z)*d*r;f[x+16+36>>2]=(n*p-A*t)*d*o+(A*u-z*p)*d*q+(z*t-n*u)*d*r;f[x+16+40>>2]=(m*t-l*p)*d*o+(k*p-m*u)*d*q+(l*u-k*t)*d*r;f[x+16+44>>2]=0.0;zh(x+16|0,x);r=+f[a+80>>2];d=+f[x>>2];t=+f[a+84>>2];k=+f[x+4>>2];u=+f[a+88>>2];l=+f[x+8>>2];q=+f[a+92>>2];m=+f[x+12>>2];if(!((r-d)*(r-d)+(t-k)*(t-k)+(u-l)*(u-l)+(q-m)*(q-m)<(r+d)*(r+d)+(t+k)*(t+k)+(u+l)*(u+l)+(q+m)*(q+m))){d=-d;k=-k;l=-l;m=-m}n=k*-u+(m*-r+d*q)-l*-t;o=l*-r+(m*-t+k*q)-d*-u;p=d*-t+(m*-u+l*q)-k*-r;d=m*q-d*-r-k*-t-l*-u;d=d<-1.0?-1.0:d;d=+w(+(d>1.0?1.0:d))*2.0;if(n*n+o*o+p*p<1.4210854715202004e-14){E=1.0;F=0.0;D=0.0;G=-d;E=E*G;F=F*G;G=D*G;a=c[b+28>>2]|0;y=c[b+24>>2]|0;E=v*E;b=y*3|0;b=a+(b<<2)|0;f[b>>2]=E;F=v*F;b=y<<2;b=a+(b<<2)|0;f[b>>2]=F;G=v*G;y=y*5|0;y=a+(y<<2)|0;f[y>>2]=G;Ta=x;return}D=1.0/+s(+(n*n+o*o+p*p));E=n*D;F=o*D;D=p*D;G=-d;E=E*G;F=F*G;G=D*G;a=c[b+28>>2]|0;y=c[b+24>>2]|0;E=v*E;b=y*3|0;b=a+(b<<2)|0;f[b>>2]=E;F=v*F;b=y<<2;b=a+(b<<2)|0;f[b>>2]=F;G=v*G;y=y*5|0;y=a+(y<<2)|0;f[y>>2]=G;Ta=x;return}function Ed(b,d,e){b=b|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0.0,n=0.0;l=Ta;Ta=Ta+384|0;g=c[d+36>>2]|0;d=c[e+36>>2]|0;e=c[b+24>>2]|0;if(((e|0)==(c[b+28>>2]|0)?c[e+1132>>2]|0:0)?(j=(z(c[d+380>>2]|0,c[e+1112>>2]|0)|0)+(c[g+380>>2]|0)|0,a[(c[e+1140>>2]|0)+j>>0]|0):0){c[6539]=(c[6539]|0)+1;Ta=l;return}c[l+328+4>>2]=35;c[l+328+8>>2]=0;c[l+328+12>>2]=1065353216;c[l+328+16>>2]=1065353216;c[l+328+20>>2]=1065353216;f[l+328+24>>2]=0.0;c[l+328>>2]=4636;c[l+328+52>>2]=g;f[l+328+44>>2]=0.0;c[l+272+4>>2]=35;c[l+272+8>>2]=0;c[l+272+12>>2]=1065353216;c[l+272+16>>2]=1065353216;c[l+272+20>>2]=1065353216;f[l+272+24>>2]=0.0;c[l+272>>2]=4636;c[l+272+52>>2]=d;f[l+272+44>>2]=0.0;if((a[25408]|0)==0?kP(25408)|0:0){if((a[25416]|0)==0?kP(25416)|0:0){c[6480]=1065353216;c[6481]=0;c[6482]=0;c[6483]=0;c[6484]=0;c[6485]=1065353216;c[6486]=0;c[6487]=0;c[6488]=0;c[6489]=0;c[6490]=1065353216;f[6491]=0.0;kO(25416)}c[6464]=c[6480];c[6465]=c[6481];c[6466]=c[6482];c[6467]=c[6483];c[6468]=c[6484];c[6469]=c[6485];c[6470]=c[6486];c[6471]=c[6487];c[6472]=c[6488];c[6473]=c[6489];c[6474]=c[6490];c[6475]=c[6491];c[6476]=0;c[6477]=0;c[6478]=0;c[6479]=0;kO(25408)}if((a[25408]|0)==0?kP(25408)|0:0){if((a[25416]|0)==0?kP(25416)|0:0){c[6480]=1065353216;c[6481]=0;c[6482]=0;c[6483]=0;c[6484]=0;c[6485]=1065353216;c[6486]=0;c[6487]=0;c[6488]=0;c[6489]=0;c[6490]=1065353216;f[6491]=0.0;kO(25416)}c[6464]=c[6480];c[6465]=c[6481];c[6466]=c[6482];c[6467]=c[6483];c[6468]=c[6484];c[6469]=c[6485];c[6470]=c[6486];c[6471]=c[6487];c[6472]=c[6488];c[6473]=c[6489];c[6474]=c[6490];c[6475]=c[6491];c[6476]=0;c[6477]=0;c[6478]=0;c[6479]=0;kO(25408)}n=+f[g+232>>2]-+f[d+232>>2];m=+f[g+236>>2]-+f[d+236>>2];f[l>>2]=+f[g+228>>2]-+f[d+228>>2];f[l+4>>2]=n;f[l+8>>2]=m;f[l+12>>2]=0.0;if(!(!(wd(l+328|0,25856,l+272|0,25856,l,l+216|0)|0)?!(qc(l+328|0,25856,l+272|0,25856,l,l+216|0,0)|0):0))h=19;if((h|0)==19?(c[l+4>>2]=0,c[l+4+4>>2]=0,c[l+4+8>>2]=0,c[l+4+12>>2]=0,c[l+4+16>>2]=0,c[l+4+20>>2]=0,a[l+152>>0]=0,c[l>>2]=4456,Nc(b,l+216|0,g,0,0,d,0,0,l)|0):0){c[6879]=(c[6879]|0)+1;d=Zb(235)|0;if(!d)j=0;else{c[(d+4+15&-16)+-4>>2]=d;j=d+4+15&-16}e=j+4|0;d=j+152|0;el(e|0,0,212)|0;c[j>>2]=4456;g=l+4|0;h=e+100|0;do{c[e>>2]=c[g>>2];e=e+4|0;g=g+4|0}while((e|0)<(h|0));e=j+104|0;c[e>>2]=c[l+104>>2];c[e+4>>2]=c[l+104+4>>2];c[e+8>>2]=c[l+104+8>>2];c[e+12>>2]=c[l+104+12>>2];e=j+120|0;c[e>>2]=c[l+120>>2];c[e+4>>2]=c[l+120+4>>2];c[e+8>>2]=c[l+120+8>>2];c[e+12>>2]=c[l+120+12>>2];e=j+136|0;c[e>>2]=c[l+136>>2];c[e+4>>2]=c[l+136+4>>2];c[e+8>>2]=c[l+136+8>>2];c[e+12>>2]=c[l+136+12>>2];a[d>>0]=a[l+152>>0]|0;e=j+156|0;g=l+156|0;h=e+60|0;do{c[e>>2]=c[g>>2];e=e+4|0;g=g+4|0}while((e|0)<(h|0));h=c[b+24>>2]|0;i=j;d=c[h+852>>2]|0;if((d|0)==(c[h+856>>2]|0)?(k=(d|0)==0?1:d<<1,(d|0)<(k|0)):0){if(!k)e=0;else{c[6879]=(c[6879]|0)+1;d=Zb((k<<2|3)+16|0)|0;if(!d)e=0;else{c[(d+4+15&-16)+-4>>2]=d;e=d+4+15&-16}d=c[h+852>>2]|0}if((d|0)>0){g=0;do{c[e+(g<<2)>>2]=c[(c[h+860>>2]|0)+(g<<2)>>2];g=g+1|0}while((g|0)!=(d|0))}g=c[h+860>>2]|0;if(g){if(a[h+864>>0]|0){c[6880]=(c[6880]|0)+1;kd(c[g+-4>>2]|0);d=c[h+852>>2]|0}c[h+860>>2]=0}a[h+864>>0]=1;c[h+860>>2]=e;c[h+856>>2]=k}c[(c[h+860>>2]|0)+(d<<2)>>2]=i;c[h+852>>2]=d+1;i=c[b+24>>2]|0;k=c[b+28>>2]|0;m=+f[i+348>>2];n=+f[k+348>>2];b=j+64|0;f[b>>2]=+f[b>>2]*(m>n?m:n);b=j+68|0;f[b>>2]=+f[b>>2]*((+f[i+360>>2]+ +f[k+360>>2])*.5)}Ta=l;return}function Fd(b,d,e){b=b|0;d=d|0;e=e|0;var g=0.0,h=0,i=0,j=0,k=0,l=0,m=0,n=0.0,o=0,p=0,q=0,r=0;o=Ta;Ta=Ta+128|0;c[b+68>>2]=(c[b+68>>2]|0)+1;c[o>>2]=c[d>>2];c[o+4>>2]=c[d+4>>2];c[o+8>>2]=c[d+8>>2];c[o+12>>2]=c[d+12>>2];c[o+16>>2]=c[d+16>>2];c[o+16+4>>2]=c[d+16+4>>2];c[o+16+8>>2]=c[d+16+8>>2];c[o+16+12>>2]=c[d+16+12>>2];c[o+32>>2]=c[d+32>>2];c[o+32+4>>2]=c[d+32+4>>2];c[o+32+8>>2]=c[d+32+8>>2];c[o+32+12>>2]=c[d+32+12>>2];c[o+48>>2]=c[d+48>>2];c[o+48+4>>2]=c[d+48+4>>2];c[o+48+8>>2]=c[d+48+8>>2];c[o+48+12>>2]=c[d+48+12>>2];m=c[e+4>>2]|0;n=+Wa[c[(c[e>>2]|0)+48>>2]&31](e);Cb[c[(c[e>>2]|0)+8>>2]&127](e,d,o+112|0,o+96|0);g=+f[o+112>>2];if(+f[b+32>>2]>g)f[b+32>>2]=g;g=+f[o+96>>2];if(+f[b+48>>2]>2]=g;g=+f[o+112+4>>2];if(+f[b+36>>2]>g)f[b+36>>2]=g;g=+f[o+96+4>>2];if(+f[b+52>>2]>2]=g;g=+f[o+112+8>>2];if(+f[b+40>>2]>g)f[b+40>>2]=g;g=+f[o+96+8>>2];if(+f[b+56>>2]>2]=g;k=c[b+64>>2]|0;if(!k){j=0;k=b+16|0}else{c[o+64>>2]=c[o+112>>2];c[o+64+4>>2]=c[o+112+4>>2];c[o+64+8>>2]=c[o+112+8>>2];c[o+64+12>>2]=c[o+112+12>>2];c[o+64+16>>2]=c[o+96>>2];c[o+64+16+4>>2]=c[o+96+4>>2];c[o+64+16+8>>2]=c[o+96+8>>2];c[o+64+16+12>>2]=c[o+96+12>>2];j=c[b+16>>2]|0;d=c[k+4>>2]|0;if(!d){c[6879]=(c[6879]|0)+1;d=Zb(63)|0;if(!d)d=0;else{c[(d+4+15&-16)+-4>>2]=d;d=d+4+15&-16}h=d;i=h+44|0;do{c[h>>2]=0;h=h+4|0}while((h|0)<(i|0))}else c[k+4>>2]=0;c[d+32>>2]=0;c[d+36>>2]=j;c[d+40>>2]=0;c[d>>2]=c[o+64>>2];c[d+4>>2]=c[o+64+4>>2];c[d+8>>2]=c[o+64+8>>2];c[d+12>>2]=c[o+64+12>>2];c[d+16>>2]=c[o+64+16>>2];c[d+20>>2]=c[o+64+20>>2];c[d+24>>2]=c[o+64+24>>2];c[d+28>>2]=c[o+64+28>>2];bf(k,c[k>>2]|0,d);c[k+12>>2]=(c[k+12>>2]|0)+1;j=d;k=b+16|0}d=c[k>>2]|0;if((d|0)==(c[b+20>>2]|0)?(l=(d|0)==0?1:d<<1,(d|0)<(l|0)):0){if(!l)h=0;else{c[6879]=(c[6879]|0)+1;d=Zb((l*80|3)+16|0)|0;if(!d)h=0;else{c[(d+4+15&-16)+-4>>2]=d;h=d+4+15&-16}d=c[k>>2]|0}if((d|0)>0){i=0;do{p=h+(i*80|0)|0;q=c[b+24>>2]|0;r=q+(i*80|0)|0;c[p>>2]=c[r>>2];c[p+4>>2]=c[r+4>>2];c[p+8>>2]=c[r+8>>2];c[p+12>>2]=c[r+12>>2];p=q+(i*80|0)+16|0;r=h+(i*80|0)+16|0;c[r>>2]=c[p>>2];c[r+4>>2]=c[p+4>>2];c[r+8>>2]=c[p+8>>2];c[r+12>>2]=c[p+12>>2];r=q+(i*80|0)+32|0;p=h+(i*80|0)+32|0;c[p>>2]=c[r>>2];c[p+4>>2]=c[r+4>>2];c[p+8>>2]=c[r+8>>2];c[p+12>>2]=c[r+12>>2];p=h+(i*80|0)+48|0;r=q+(i*80|0)+48|0;c[p>>2]=c[r>>2];c[p+4>>2]=c[r+4>>2];c[p+8>>2]=c[r+8>>2];c[p+12>>2]=c[r+12>>2];p=h+(i*80|0)+64|0;q=q+(i*80|0)+64|0;c[p>>2]=c[q>>2];c[p+4>>2]=c[q+4>>2];c[p+8>>2]=c[q+8>>2];c[p+12>>2]=c[q+12>>2];i=i+1|0}while((i|0)!=(d|0))}d=c[b+24>>2]|0;if(d|0){if(a[b+28>>0]|0){c[6880]=(c[6880]|0)+1;kd(c[d+-4>>2]|0)}c[b+24>>2]=0}a[b+28>>0]=1;c[b+24>>2]=h;c[b+20>>2]=l;d=c[k>>2]|0}r=c[b+24>>2]|0;q=r+(d*80|0)|0;c[q>>2]=c[o>>2];c[q+4>>2]=c[o+4>>2];c[q+8>>2]=c[o+8>>2];c[q+12>>2]=c[o+12>>2];q=r+(d*80|0)+16|0;c[q>>2]=c[o+16>>2];c[q+4>>2]=c[o+16+4>>2];c[q+8>>2]=c[o+16+8>>2];c[q+12>>2]=c[o+16+12>>2];q=r+(d*80|0)+32|0;c[q>>2]=c[o+32>>2];c[q+4>>2]=c[o+32+4>>2];c[q+8>>2]=c[o+32+8>>2];c[q+12>>2]=c[o+32+12>>2];q=r+(d*80|0)+48|0;c[q>>2]=c[o+48>>2];c[q+4>>2]=c[o+48+4>>2];c[q+8>>2]=c[o+48+8>>2];c[q+12>>2]=c[o+48+12>>2];r=r+(d*80|0)+64|0;c[r>>2]=e;c[r+4>>2]=m;f[r+8>>2]=n;c[r+12>>2]=j;c[k>>2]=(c[k>>2]|0)+1;Ta=o;return}function Gd(b,d,e,g){b=b|0;d=d|0;e=e|0;g=+g;var h=0,i=0,j=0,k=0.0,l=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,t=0.0,u=0.0,v=0.0,w=0,x=0,y=0,z=0,A=0.0,B=0.0,C=0.0,D=0,E=0,F=0,G=0,H=0,I=0,J=0;z=Ta;Ta=Ta+192|0;j=c[b+4>>2]|0;q=+f[j+752>>2];if(q>2]|0;x=c[(c[b+8>>2]|0)+8>>2]|0;l=+f[e>>2];n=+f[d>>2]*g+l;m=+f[e+4>>2];p=+f[d+4>>2]*g+m;k=+f[e+8>>2];o=+f[d+8>>2]*g+k;if((w|0)!=(x|0)){y=c[(c[b+12>>2]|0)+8>>2]|0;B=n-+f[y+52>>2];A=p-+f[y+56>>2];v=o-+f[y+60>>2];h=x;t=B*+f[y+4>>2]+A*+f[y+20>>2]+v*+f[y+36>>2];u=B*+f[y+8>>2]+A*+f[y+24>>2]+v*+f[y+40>>2];v=B*+f[y+12>>2]+A*+f[y+28>>2]+v*+f[y+44>>2];y=b+12|0}else{A=n-+f[w+52>>2];B=p-+f[w+56>>2];v=o-+f[w+60>>2];h=c[(c[b+12>>2]|0)+8>>2]|0;t=A*+f[w+4>>2]+B*+f[w+20>>2]+v*+f[w+36>>2];u=A*+f[w+8>>2]+B*+f[w+24>>2]+v*+f[w+40>>2];v=A*+f[w+12>>2]+B*+f[w+28>>2]+v*+f[w+44>>2];y=b+12|0}C=l-+f[h+52>>2];l=m-+f[h+56>>2];B=k-+f[h+60>>2];m=C*+f[h+4>>2]+l*+f[h+20>>2]+B*+f[h+36>>2];A=C*+f[h+8>>2]+l*+f[h+24>>2]+B*+f[h+40>>2];B=C*+f[h+12>>2]+l*+f[h+28>>2]+B*+f[h+44>>2];f[z>>2]=t;f[z+4>>2]=u;f[z+8>>2]=v;f[z+12>>2]=0.0;f[z+16>>2]=m;f[z+20>>2]=A;f[z+24>>2]=B;f[z+28>>2]=0.0;c[z+64>>2]=c[d>>2];c[z+64+4>>2]=c[d+4>>2];c[z+64+8>>2]=c[d+8>>2];c[z+64+12>>2]=c[d+12>>2];f[z+80>>2]=g;f[z+84>>2]=0.0;f[z+88>>2]=0.0;f[z+92>>2]=0.0;c[z+112>>2]=0;a[z+116>>0]=0;c[z+120>>2]=0;c[z+120+4>>2]=0;c[z+120+8>>2]=0;c[z+120+12>>2]=0;c[z+120+16>>2]=0;c[z+120+20>>2]=0;c[z+120+24>>2]=0;c[z+120+28>>2]=0;f[z+48>>2]=n;f[z+52>>2]=p;f[z+56>>2]=o;f[z+60>>2]=0.0;c[z+32>>2]=c[e>>2];c[z+32+4>>2]=c[e+4>>2];c[z+32+8>>2]=c[e+8>>2];c[z+32+12>>2]=c[e+12>>2];e=c[j+748>>2]|0;if((e|0)>0){i=0;d=-1;k=q*q;while(1){l=+f[j+4+(i*184|0)>>2]-t;n=+f[j+4+(i*184|0)+4>>2]-u;m=+f[j+4+(i*184|0)+8>>2]-v;h=l*l+n*n+m*m>2]|0)+8>>2]|0;j=c[(c[y>>2]|0)+8>>2]|0;k=+f[i+224>>2]*+f[j+224>>2];k=k<-10.0?-10.0:k;f[z+84>>2]=k>10.0?10.0:k;f[z+92>>2]=+f[i+228>>2]*+f[j+228>>2];k=+f[i+232>>2]*+f[j+232>>2];k=k<-10.0?-10.0:k;f[z+88>>2]=k>10.0?10.0:k;k=+f[z+72>>2];if(+r(+k)>.7071067690849304){B=+f[z+68>>2];C=1.0/+s(+(k*k+B*B));A=+f[z+64>>2];l=B*C;m=A*-(k*C);n=0.0;o=-(k*C);p=(k*k+B*B)*C;k=-(A*(B*C))}else{p=+f[z+64>>2];B=+f[z+68>>2];C=1.0/+s(+(p*p+B*B));l=0.0;m=(p*p+B*B)*C;n=-(B*C);o=p*C;p=-(k*(p*C));k=k*-(B*C)}f[z+152>>2]=n;f[z+156>>2]=o;f[z+160>>2]=l;f[z+168>>2]=p;f[z+172>>2]=k;f[z+176>>2]=m;if((w|0)!=(x|0)){h=b+24|0;e=b+28|0;i=b+16|0;j=b+20|0}else{h=b+28|0;e=b+24|0;i=b+20|0;j=b+16|0}h=c[h>>2]|0;e=c[e>>2]|0;i=c[i>>2]|0;c[z+96>>2]=c[j>>2];c[z+100>>2]=i;c[z+104>>2]=e;c[z+108>>2]=h;h=c[b+4>>2]|0;if((d|0)>-1){j=h+4+(d*184|0)+148|0;i=c[j>>2]|0;G=h+4+(d*184|0)+120|0;H=c[G>>2]|0;E=h+4+(d*184|0)+124|0;F=c[E>>2]|0;e=h+4+(d*184|0)+128|0;D=c[e>>2]|0;I=h+4+(d*184|0)+112|0;J=c[I>>2]|0;oi(h+4+(d*184|0)|0,z|0,184)|0;c[I>>2]=J;c[G>>2]=H;c[E>>2]=F;c[e>>2]=D;c[j>>2]=i}else d=Ie(h,z)|0;h=c[6854]|0;do if(h|0){if((c[(c[(c[b+8>>2]|0)+8>>2]|0)+204>>2]&8|0)==0?(c[(c[(c[y>>2]|0)+8>>2]|0)+204>>2]&8|0)==0:0)break;lb[h&31]((c[b+4>>2]|0)+4+(d*184|0)|0,c[((w|0)!=(x|0)?y:b+8|0)>>2]|0,c[z+96>>2]|0,c[z+104>>2]|0,c[((w|0)!=(x|0)?b+8|0:y)>>2]|0,c[z+100>>2]|0,c[z+108>>2]|0)|0}while(0);Ta=z;return}function Hd(a,b){a=a|0;b=b|0;var d=0,e=0.0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0;F=Ta;Ta=Ta+16|0;Aj(14090);E=c[a+712>>2]|0;if((E|0)>0){c[6879]=(c[6879]|0)+1;d=Zb((E<<4|3)+16|0)|0;if(!d)h=0;else{c[(d+4+15&-16)+-4>>2]=d;h=d+4+15&-16}el(h|0,0,E<<4|0)|0;g=c[a+712>>2]|0;if((g|0)>0){c[6879]=(c[6879]|0)+1;d=Zb((g<<2|3)+16|0)|0;if(!d)d=0;else{c[(d+4+15&-16)+-4>>2]=d;d=d+4+15&-16}el(d|0,0,g<<2|0)|0;C=d;D=h;A=h;z=d}else{C=0;D=h;A=h;z=0}}else{C=0;D=0;A=0;z=0}y=c[a+1112>>2]|0;if(b){if((y|0)>0){g=c[a+1120>>2]|0;i=0;do{h=c[g+(i<<2)>>2]|0;d=c[h+312>>2]|0;if(d|0){f[h+276>>2]=1.0/+(d|0)*+f[h+276>>2];f[h+280>>2]=1.0/+(d|0)*+f[h+280>>2];f[h+284>>2]=1.0/+(d|0)*+f[h+284>>2];f[h+292>>2]=1.0/+(d|0)*+f[h+292>>2];f[h+296>>2]=1.0/+(d|0)*+f[h+296>>2];f[h+300>>2]=1.0/+(d|0)*+f[h+300>>2]}i=i+1|0}while((i|0)!=(y|0));B=14}}else B=14;if((B|0)==14?(y|0)>0:0){k=c[a+1120>>2]|0;if(b){b=0;do{d=c[k+(b<<2)>>2]|0;if((c[d+312>>2]|0)>0?(v=+f[a+452>>2],p=+f[d+276>>2]*v,t=v*+f[d+280>>2],x=v*+f[d+284>>2],n=v*+f[d+292>>2],r=v*+f[d+296>>2],v=v*+f[d+300>>2],l=c[d+24>>2]|0,(l|0)>0):0){g=c[d+32>>2]|0;h=c[a+720>>2]|0;i=c[d+12>>2]|0;j=0;do{m=c[g+(j<<2)>>2]|0;w=+f[i+(j<<2)>>2];u=+f[m+8>>2]-+f[d+228>>2];s=+f[m+12>>2]-+f[d+232>>2];q=+f[m+16>>2]-+f[d+236>>2];G=A+(((m-h|0)/104|0)<<4)|0;f[G>>2]=+f[G>>2]+w*(p+(r*q-v*s));G=A+(((m-h|0)/104|0)<<4)+4|0;f[G>>2]=+f[G>>2]+w*(t+(v*u-n*q));G=A+(((m-h|0)/104|0)<<4)+8|0;f[G>>2]=w*(x+(n*s-r*u))+ +f[G>>2];m=z+(((m-h|0)/104|0)<<2)|0;f[m>>2]=w+ +f[m>>2];j=j+1|0}while((j|0)!=(l|0))}b=b+1|0}while((b|0)!=(y|0))}else{b=0;do{d=c[k+(b<<2)>>2]|0;if((c[d+308>>2]|0)>0?(u=+f[a+452>>2],o=+f[d+244>>2]*u,s=u*+f[d+248>>2],w=u*+f[d+252>>2],e=u*+f[d+260>>2],q=u*+f[d+264>>2],u=u*+f[d+268>>2],m=c[d+24>>2]|0,(m|0)>0):0){g=c[d+32>>2]|0;h=c[a+720>>2]|0;i=c[d+12>>2]|0;j=0;do{G=c[g+(j<<2)>>2]|0;x=+f[i+(j<<2)>>2];v=+f[G+8>>2]-+f[d+228>>2];t=+f[G+12>>2]-+f[d+232>>2];r=+f[G+16>>2]-+f[d+236>>2];l=A+(((G-h|0)/104|0)<<4)|0;f[l>>2]=+f[l>>2]+x*(o+(q*r-u*t));l=A+(((G-h|0)/104|0)<<4)+4|0;f[l>>2]=+f[l>>2]+x*(s+(u*v-e*r));l=A+(((G-h|0)/104|0)<<4)+8|0;f[l>>2]=x*(w+(e*t-q*v))+ +f[l>>2];G=z+(((G-h|0)/104|0)<<2)|0;f[G>>2]=x+ +f[G>>2];j=j+1|0}while((j|0)!=(m|0))}b=b+1|0}while((b|0)!=(y|0))}}if((E|0)>0){d=0;do{e=+f[z+(d<<2)>>2];if(e>0.0){w=1.0/e*+f[A+(d<<4)+4>>2];x=1.0/e*+f[A+(d<<4)+8>>2];G=c[a+720>>2]|0;y=G+(d*104|0)+8|0;f[y>>2]=1.0/e*+f[A+(d<<4)>>2]+ +f[y>>2];y=G+(d*104|0)+12|0;f[y>>2]=w+ +f[y>>2];G=G+(d*104|0)+16|0;f[G>>2]=x+ +f[G>>2]}d=d+1|0}while((d|0)!=(E|0));if(C|0)B=35}else if(!((z|0)==0|(C|0)==0))B=35;if((B|0)==35){c[6880]=(c[6880]|0)+1;kd(c[C+-4>>2]|0)}if(!((A|0)==0|(D|0)==0)){c[6880]=(c[6880]|0)+1;kd(c[D+-4>>2]|0)}d=c[2760]|0;G=(c[d+16>>2]|0)+-1|0;c[d+16>>2]=G;if(G|0){Ta=F;return}do if(c[d+4>>2]|0){Pa(F|0,0)|0;G=c[6878]|0;f[d+8>>2]=+f[d+8>>2]+ +(((c[F+4>>2]|0)-(c[G+4>>2]|0)+(((c[F>>2]|0)-(c[G>>2]|0)|0)*1e6|0)-(c[d+12>>2]|0)|0)>>>0)/1.0e3;if(!(c[d+16>>2]|0)){d=c[2760]|0;break}else{Ta=F;return}}while(0);c[2760]=c[d+20>>2];Ta=F;return}function Id(b,d,e,g,i,j){b=b|0;d=d|0;e=e|0;g=g|0;i=i|0;j=j|0;var k=0,l=0.0,m=0,n=0,o=0.0,p=0.0,q=0.0,r=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0,C=0,D=0;C=Ta;Ta=Ta+272|0;z=+f[e+48>>2]-+f[d+48>>2];B=+f[e+52>>2]-+f[d+52>>2];A=+f[e+56>>2]-+f[d+56>>2];xf(d,e,C+256|0,C+208|0);v=+f[C+208>>2];t=+f[C+256>>2]*v;u=v*+f[C+256+4>>2];v=v*+f[C+256+8>>2];f[C+192>>2]=t;f[C+192+4>>2]=u;f[C+192+8>>2]=v;f[C+192+12>>2]=0.0;w=+f[i+48>>2]-+f[g+48>>2];y=+f[i+52>>2]-+f[g+52>>2];x=+f[i+56>>2]-+f[g+56>>2];xf(g,i,C+256|0,C+208|0);r=+f[C+208>>2];p=+f[C+256>>2]*r;q=r*+f[C+256+4>>2];r=r*+f[C+256+8>>2];f[C+176>>2]=p;f[C+176+4>>2]=q;f[C+176+8>>2]=r;f[C+176+12>>2]=0.0;e=c[b+12>>2]|0;o=+Wa[c[(c[e>>2]|0)+16>>2]&31](e);e=c[b+16>>2]|0;if(!e)l=0.0;else l=+Wa[c[(c[e>>2]|0)+16>>2]&31](e);r=o*+s(+(t*t+u*u+v*v))+l*+s(+(p*p+q*q+r*r));if(r+ +s(+((w-z)*(w-z)+(y-B)*(y-B)+(x-A)*(x-A)))==0.0){j=0;Ta=C;return j|0}c[C+208>>2]=10772;f[C+208+36>>2]=999999984306749440.0;a[C+208+40>>0]=0;vd(b,d,g,C+208|0);i=(a[C+208+40>>0]|0)==0;c[C+256>>2]=c[C+208+20>>2];c[C+256+4>>2]=c[C+208+20+4>>2];c[C+256+8>>2]=c[C+208+20+8>>2];c[C+256+12>>2]=c[C+208+20+12>>2];a:do if(!i?(n=c[C+208+4>>2]|0,k=c[C+208+8>>2]|0,m=c[C+208+12>>2]|0,v=(w-z)*(c[h>>2]=n,+f[h>>2]),v=v+(y-B)*(c[h>>2]=k,+f[h>>2]),!(r+(v+(x-A)*(c[h>>2]=m,+f[h>>2]))<=1.1920928955078125e-07)):0){l=+f[C+208+16>>2];o=+f[j+172>>2]+ +f[C+208+36>>2];b:do if(o>1.0000000474974513e-03){p=o;q=0.0;i=0;while(1){e=c[j+168>>2]|0;if(e|0){D=c[(c[e>>2]|0)+20>>2]|0;c[C+112>>2]=1065353216;c[C+112+4>>2]=1065353216;c[C+112+8>>2]=1065353216;f[C+112+12>>2]=0.0;xb[D&31](e,C+256|0,.20000000298023224,C+112|0)}l=(w-z)*(c[h>>2]=n,+f[h>>2]);l=l+(y-B)*(c[h>>2]=k,+f[h>>2]);l=r+(l+(x-A)*(c[h>>2]=m,+f[h>>2]));if(l<=1.1920928955078125e-07){k=0;break a}o=q+p/l;if(!(!(o<=q)&(!(o<0.0)&!(o>1.0)))){k=0;break a}Vg(d,z,B,A,C+192|0,o,C+112|0);Vg(g,w,y,x,C+176|0,o,C+48|0);k=c[j+168>>2]|0;if(k|0){D=c[(c[k>>2]|0)+20>>2]|0;c[C>>2]=1065353216;c[C+4>>2]=0;c[C+8>>2]=0;f[C+12>>2]=0.0;xb[D&31](k,C+112+48|0,.20000000298023224,C)}qb[c[c[j>>2]>>2]&63](j,o);c[C>>2]=10772;f[C+36>>2]=999999984306749440.0;a[C+40>>0]=0;vd(b,C+112|0,C+48|0,C);if(!(a[C+40>>0]|0)){k=17;break}p=+f[C+36>>2]+ +f[j+172>>2];c[C+256>>2]=c[C+20>>2];c[C+256+4>>2]=c[C+20+4>>2];c[C+256+8>>2]=c[C+20+8>>2];c[C+256+12>>2]=c[C+20+12>>2];n=c[C+4>>2]|0;k=c[C+8>>2]|0;m=c[C+12>>2]|0;e=i+1|0;if(i>>>0>63){k=18;break}if(!(p>1.0000000474974513e-03)){l=+f[C+16>>2];break b}else{q=o;i=e}}if((k|0)==17)zb[c[(c[j>>2]|0)+8>>2]&127](j,-1,i);else if((k|0)==18)zb[c[(c[j>>2]|0)+8>>2]&127](j,-2,e);k=0;break a}else o=0.0;while(0);f[j+164>>2]=o;c[j+132>>2]=n;c[j+136>>2]=k;c[j+140>>2]=m;f[j+144>>2]=l;c[j+148>>2]=c[C+256>>2];c[j+148+4>>2]=c[C+256+4>>2];c[j+148+8>>2]=c[C+256+8>>2];c[j+148+12>>2]=c[C+256+12>>2];k=1}else k=0;while(0);D=k;Ta=C;return D|0}function Jd(d,e,g,h){d=d|0;e=e|0;g=g|0;h=h|0;var i=0.0,j=0,k=0,l=0,m=0,n=0.0,o=0.0,p=0.0;m=Ta;Ta=Ta+352|0;if(!(a[d+12>>0]|0)){f[m+256+4>>2]=1.0;c[m+256+8>>2]=0;c[m+256+16>>2]=0;c[m+256>>2]=6144;c[m+256+20>>2]=c[e>>2];c[m+256+20+4>>2]=c[e+4>>2];c[m+256+20+8>>2]=c[e+8>>2];c[m+256+20+12>>2]=c[e+12>>2];c[m+256+36>>2]=c[g>>2];c[m+256+36+4>>2]=c[g+4>>2];c[m+256+36+8>>2]=c[g+8>>2];c[m+256+36+12>>2]=c[g+12>>2];b[m+256+14>>1]=b[d+10>>1]|0;b[m+256+12>>1]=b[d+8>>1]|0;l=c[d+4>>2]|0;Cb[c[(c[l>>2]|0)+32>>2]&127](l,e,g,m+256|0);g=c[m+256+8>>2]|0;if(((g|0)!=0?(c[g+236>>2]&2|0)!=0:0)?(c[g+204>>2]&4|0)==0:0){c[h+32>>2]=c[m+256+4>>2];c[h>>2]=c[m+256+68>>2];c[h+4>>2]=c[m+256+68+4>>2];c[h+8>>2]=c[m+256+68+8>>2];c[h+12>>2]=c[m+256+68+12>>2];c[h+16>>2]=c[m+256+52>>2];c[h+16+4>>2]=c[m+256+52+4>>2];c[h+16+8>>2]=c[m+256+52+8>>2];c[h+16+12>>2]=c[m+256+52+12>>2];p=+f[h+16>>2];o=+f[h+20>>2];n=+f[h+24>>2];i=1.0/+s(+(p*p+o*o+n*n));f[h+16>>2]=p*i;f[h+20>>2]=o*i;f[h+24>>2]=n*i}else g=0;l=g;Ta=m;return l|0}f[m+256+4>>2]=1.0;c[m+256>>2]=6168;c[m+256+12>>2]=c[e>>2];c[m+256+12+4>>2]=c[e+4>>2];c[m+256+12+8>>2]=c[e+8>>2];c[m+256+12+12>>2]=c[e+12>>2];c[m+256+28>>2]=c[g>>2];c[m+256+28+4>>2]=c[g+4>>2];c[m+256+28+8>>2]=c[g+8>>2];c[m+256+28+12>>2]=c[g+12>>2];c[m+256+76>>2]=0;b[m+256+10>>1]=b[d+10>>1]|0;b[m+256+8>>1]=b[d+8>>1]|0;n=+f[g>>2]-+f[e>>2];o=+f[g+4>>2]-+f[e+4>>2];p=+f[g+8>>2]-+f[e+8>>2];c[m+192>>2]=1065353216;c[m+192+4>>2]=0;c[m+192+4+4>>2]=0;c[m+192+4+8>>2]=0;c[m+192+4+12>>2]=0;c[m+192+20>>2]=1065353216;c[m+192+24>>2]=0;c[m+192+24+4>>2]=0;c[m+192+24+8>>2]=0;c[m+192+24+12>>2]=0;c[m+192+40>>2]=1065353216;g=m+192+44|0;c[g>>2]=0;c[g+4>>2]=0;c[g+8>>2]=0;c[g+12>>2]=0;c[g+16>>2]=0;c[m+128>>2]=1065353216;c[m+128+4>>2]=0;c[m+128+4+4>>2]=0;c[m+128+4+8>>2]=0;c[m+128+4+12>>2]=0;c[m+128+20>>2]=1065353216;c[m+128+24>>2]=0;c[m+128+24+4>>2]=0;c[m+128+24+8>>2]=0;c[m+128+24+12>>2]=0;c[m+128+40>>2]=1065353216;c[m+128+44>>2]=0;f[m+128+48>>2]=n;f[m+128+52>>2]=o;f[m+128+56>>2]=p;f[m+128+60>>2]=0.0;gg(m+16|0,0,0,16);g=c[d+16>>2]|0;if((g|0)>0){k=0;do{p=+(z(360/(g|0)|0,k)|0)*.017453292519943295;o=+f[d+20>>2];n=+u(+p)*(o+1.0000000474974513e-03);o=+v(+p)*(o+1.0000000474974513e-03)+ +f[e+4>>2]+o*2.0;p=n+ +f[e+8>>2];f[m>>2]=n+ +f[e>>2];f[m+4>>2]=o;f[m+8>>2]=p;f[m+12>>2]=0.0;Ci(m+16|0,m,1);k=k+1|0;g=c[d+16>>2]|0}while((k|0)<(g|0))}c[m+16+44>>2]=c[d+20>>2];xd(c[d+4>>2]|0,m+16|0,m+192|0,m+128|0,m+256|0,0.0);i=+f[m+256+4>>2];if((i<1.0?(j=c[m+256+76>>2]|0,!((j|0)==0?1:(c[j+236>>2]&2|0)==0)):0)?(c[j+204>>2]&4|0)==0:0){f[h+32>>2]=i;c[h>>2]=c[m+256+60>>2];c[h+4>>2]=c[m+256+60+4>>2];c[h+8>>2]=c[m+256+60+8>>2];c[h+12>>2]=c[m+256+60+12>>2];c[h+16>>2]=c[m+256+44>>2];c[h+16+4>>2]=c[m+256+44+4>>2];c[h+16+8>>2]=c[m+256+44+8>>2];c[h+16+12>>2]=c[m+256+44+12>>2];i=+f[h+16>>2];n=+f[h+20>>2];o=+f[h+24>>2];p=1.0/+s(+(i*i+n*n+o*o));f[h+16>>2]=i*p;f[h+20>>2]=n*p;f[h+24>>2]=o*p}else j=0;c[m+16>>2]=8868;g=c[m+16+104>>2]|0;if(g|0){if(a[m+16+108>>0]|0){c[6880]=(c[6880]|0)+1;kd(c[g+-4>>2]|0)}c[m+16+104>>2]=0}a[m+16+108>>0]=1;c[m+16+104>>2]=0;c[m+16+96>>2]=0;c[m+16+100>>2]=0;c[m+16>>2]=8560;g=c[m+16+52>>2]|0;if(g|0?(pb[c[c[g>>2]>>2]&511](g),l=c[m+16+52>>2]|0,l|0):0){c[6880]=(c[6880]|0)+1;kd(c[l+-4>>2]|0)}l=j;Ta=m;return l|0}function Kd(a,b,d,e,g){a=a|0;b=b|0;d=d|0;e=e|0;g=g|0;var h=0.0,i=0.0,j=0.0,k=0.0,l=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0,A=0.0,B=0.0,C=0.0,D=0.0,E=0,F=0;E=Ta;Ta=Ta+32|0;A=+f[b+48>>2]-+f[b+112>>2];h=+f[b+52>>2]-+f[b+116>>2];D=+f[b+56>>2]-+f[b+120>>2];B=A*+f[b+64>>2]+h*+f[b+80>>2]+D*+f[b+96>>2];C=A*+f[b+68>>2]+h*+f[b+84>>2]+D*+f[b+100>>2];D=A*+f[b+72>>2]+h*+f[b+88>>2]+D*+f[b+104>>2];e=c[a+8>>2]|0;z=c[a+4>>2]|0;h=+f[z+28>>2]*+f[z+12>>2];A=h+ +f[a+12>>2];o=+f[e+72>>2];p=+f[e+56>>2];q=+f[e+76>>2];r=+f[e+60>>2];t=+f[e+80>>2];u=+f[e+64>>2];v=+f[e+88>>2];w=+f[e+92>>2];x=+f[e+96>>2];j=(q-r)*(x-u)-(t-u)*(w-r);l=(t-u)*(v-p)-(o-p)*(x-u);n=(o-p)*(w-r)-(q-r)*(v-p);m=1.0/+s(+(n*n+(j*j+l*l)));i=(D-u)*(n*m)+((B-p)*(j*m)+(C-r)*(l*m));if(i<0.0){y=-i;k=-(j*m);i=-(l*m);j=-(n*m)}else{y=i;k=j*m;i=l*m;j=n*m}if(!(y0.0&(n>0.0&t>0.0)|x<=0.0&(n<=0.0&t<=0.0))){if((eb[c[(c[e>>2]|0)+100>>2]&255](e)|0)<=0){Ta=E;return}n=0.0;m=0.0;l=0.0;e=0;z=0;do{F=c[a+8>>2]|0;Cb[c[(c[F>>2]|0)+104>>2]&127](F,z,E+16|0,E);o=+f[E+16>>2];w=+f[E+16+4>>2];u=+f[E+16+8>>2];t=+f[E>>2]-o;x=+f[E+4>>2]-w;v=+f[E+8>>2]-u;do if((B-o)*t+(C-w)*x+(D-u)*v>0.0)if((B-o)*t+(C-w)*x+(D-u)*v>2]|0}while((z|0)<(eb[c[(c[F>>2]|0)+100>>2]&255](F)|0));if(!(e&1)){Ta=E;return}else{r=n;q=m;p=l;m=A*A}}else{r=B-y*k;q=D-y*j;p=C-y*i;m=A*A}n=B-r;o=C-p;l=D-q;if(!(n*n+o*o+l*l1.1920928955078125e-07){i=+s(+(n*n+o*o+l*l));h=h-i;k=n*(1.0/i);j=l*(1.0/i);i=o*(1.0/i)}h=-h;if(g){x=+f[b+64>>2];y=+f[b+68>>2];A=+f[b+72>>2];B=x*k+y*i+A*j;n=+f[b+80>>2];o=+f[b+84>>2];t=+f[b+88>>2];C=k*n+i*o+j*t;u=+f[b+96>>2];v=+f[b+100>>2];w=+f[b+104>>2];D=k*u+i*v+j*w;f[E+16>>2]=-B;f[E+16+4>>2]=-C;f[E+16+8>>2]=-D;f[E+16+12>>2]=0.0;C=r*n+p*o+q*t+ +f[b+116>>2]+C*h;D=r*u+p*v+q*w+ +f[b+120>>2]+D*h;f[E>>2]=r*x+p*y+q*A+ +f[b+112>>2]+B*h;f[E+4>>2]=C;f[E+8>>2]=D;f[E+12>>2]=0.0;Ab[c[(c[d>>2]|0)+16>>2]&31](d,E+16|0,E,h);Ta=E;return}else{F=c[(c[d>>2]|0)+16>>2]|0;y=+f[b+64>>2];A=+f[b+68>>2];B=+f[b+72>>2];u=+f[b+80>>2];v=+f[b+84>>2];C=+f[b+88>>2];w=+f[b+96>>2];x=+f[b+100>>2];D=+f[b+104>>2];f[E+16>>2]=y*k+A*i+B*j;f[E+16+4>>2]=k*u+i*v+j*C;f[E+16+8>>2]=k*w+i*x+j*D;f[E+16+12>>2]=0.0;C=r*u+p*v+q*C+ +f[b+116>>2];D=r*w+p*x+q*D+ +f[b+120>>2];f[E>>2]=r*y+p*A+q*B+ +f[b+112>>2];f[E+4>>2]=C;f[E+8>>2]=D;f[E+12>>2]=0.0;Ab[F&31](d,E+16|0,E,h);Ta=E;return}}function Ld(a,b,d,e,g){a=a|0;b=b|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0;h=Ta;Ta=Ta+768|0;j=c[(c[a>>2]|0)+8>>2]|0;i=D$(b)|0;bx(h+736|0,i,i+4|0,i+8|0);VD(h+752|0,e,+f[h+736>>2],+f[h+736+4>>2],+f[h+736+8>>2]);d=D$(d)|0;bx(h+704|0,d,i+4|0,i+8|0);VD(h+720|0,e,+f[h+704>>2],+f[h+704+4>>2],+f[h+704+8>>2]);Cb[j&127](a,h+752|0,h+720|0,g);b=c[(c[a>>2]|0)+8>>2]|0;bx(h+672|0,d,i+4|0,i+8|0);VD(h+688|0,e,+f[h+672>>2],+f[h+672+4>>2],+f[h+672+8>>2]);bx(h+640|0,d,d+4|0,i+8|0);VD(h+656|0,e,+f[h+640>>2],+f[h+640+4>>2],+f[h+640+8>>2]);Cb[b&127](a,h+688|0,h+656|0,g);b=c[(c[a>>2]|0)+8>>2]|0;bx(h+608|0,d,d+4|0,i+8|0);VD(h+624|0,e,+f[h+608>>2],+f[h+608+4>>2],+f[h+608+8>>2]);bx(h+576|0,i,d+4|0,i+8|0);VD(h+592|0,e,+f[h+576>>2],+f[h+576+4>>2],+f[h+576+8>>2]);Cb[b&127](a,h+624|0,h+592|0,g);b=c[(c[a>>2]|0)+8>>2]|0;bx(h+544|0,i,d+4|0,i+8|0);VD(h+560|0,e,+f[h+544>>2],+f[h+544+4>>2],+f[h+544+8>>2]);bx(h+512|0,i,i+4|0,i+8|0);VD(h+528|0,e,+f[h+512>>2],+f[h+512+4>>2],+f[h+512+8>>2]);Cb[b&127](a,h+560|0,h+528|0,g);b=c[(c[a>>2]|0)+8>>2]|0;bx(h+480|0,i,i+4|0,i+8|0);VD(h+496|0,e,+f[h+480>>2],+f[h+480+4>>2],+f[h+480+8>>2]);bx(h+448|0,i,i+4|0,d+8|0);VD(h+464|0,e,+f[h+448>>2],+f[h+448+4>>2],+f[h+448+8>>2]);Cb[b&127](a,h+496|0,h+464|0,g);b=c[(c[a>>2]|0)+8>>2]|0;bx(h+416|0,d,i+4|0,i+8|0);VD(h+432|0,e,+f[h+416>>2],+f[h+416+4>>2],+f[h+416+8>>2]);bx(h+384|0,d,i+4|0,d+8|0);VD(h+400|0,e,+f[h+384>>2],+f[h+384+4>>2],+f[h+384+8>>2]);Cb[b&127](a,h+432|0,h+400|0,g);b=c[(c[a>>2]|0)+8>>2]|0;bx(h+352|0,d,d+4|0,i+8|0);VD(h+368|0,e,+f[h+352>>2],+f[h+352+4>>2],+f[h+352+8>>2]);bx(h+320|0,d,d+4|0,d+8|0);VD(h+336|0,e,+f[h+320>>2],+f[h+320+4>>2],+f[h+320+8>>2]);Cb[b&127](a,h+368|0,h+336|0,g);b=c[(c[a>>2]|0)+8>>2]|0;bx(h+288|0,i,d+4|0,i+8|0);VD(h+304|0,e,+f[h+288>>2],+f[h+288+4>>2],+f[h+288+8>>2]);bx(h+256|0,i,d+4|0,d+8|0);VD(h+272|0,e,+f[h+256>>2],+f[h+256+4>>2],+f[h+256+8>>2]);Cb[b&127](a,h+304|0,h+272|0,g);b=c[(c[a>>2]|0)+8>>2]|0;bx(h+224|0,i,i+4|0,d+8|0);VD(h+240|0,e,+f[h+224>>2],+f[h+224+4>>2],+f[h+224+8>>2]);bx(h+192|0,d,i+4|0,d+8|0);VD(h+208|0,e,+f[h+192>>2],+f[h+192+4>>2],+f[h+192+8>>2]);Cb[b&127](a,h+240|0,h+208|0,g);b=c[(c[a>>2]|0)+8>>2]|0;bx(h+160|0,d,i+4|0,d+8|0);VD(h+176|0,e,+f[h+160>>2],+f[h+160+4>>2],+f[h+160+8>>2]);bx(h+128|0,d,d+4|0,d+8|0);VD(h+144|0,e,+f[h+128>>2],+f[h+128+4>>2],+f[h+128+8>>2]);Cb[b&127](a,h+176|0,h+144|0,g);b=c[(c[a>>2]|0)+8>>2]|0;bx(h+96|0,d,d+4|0,d+8|0);VD(h+112|0,e,+f[h+96>>2],+f[h+96+4>>2],+f[h+96+8>>2]);bx(h+64|0,i,d+4|0,d+8|0);VD(h+80|0,e,+f[h+64>>2],+f[h+64+4>>2],+f[h+64+8>>2]);Cb[b&127](a,h+112|0,h+80|0,g);b=c[(c[a>>2]|0)+8>>2]|0;bx(h+32|0,i,d+4|0,d+8|0);VD(h+48|0,e,+f[h+32>>2],+f[h+32+4>>2],+f[h+32+8>>2]);bx(h,i,i+4|0,d+8|0);VD(h+16|0,e,+f[h>>2],+f[h+4>>2],+f[h+8>>2]);Cb[b&127](a,h+48|0,h+16|0,g);Ta=h;return}function Md(b,d){b=b|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;c[b>>2]=6540;c[6879]=(c[6879]|0)+1;e=Zb(379)|0;if(!e)e=0;else{c[(e+4+15&-16)+-4>>2]=e;e=e+4+15&-16}f[e+308>>2]=9.999999747378752e-05;l=e+332|0;a[l>>0]=a[l>>0]&-16;c[b+24>>2]=e;l=(c[d+20>>2]|0)==0;c[6879]=(c[6879]|0)+1;e=Zb(23)|0;c[(e+4+15&-16)+-4>>2]=e;c[(e+4+15&-16)>>2]=l?10684:10732;c[b+28>>2]=e+4+15&-16;c[6879]=(c[6879]|0)+1;e=Zb(43)|0;if(!e)e=0;else{c[(e+4+15&-16)+-4>>2]=e;e=e+4+15&-16}k=c[b+24>>2]|0;l=c[b+28>>2]|0;a[e+4>>0]=0;c[e>>2]=7368;c[e+16>>2]=0;c[e+20>>2]=3;c[e+12>>2]=k;c[e+8>>2]=l;c[b+32>>2]=e;c[6879]=(c[6879]|0)+1;e=Zb(27)|0;if(!e)e=0;else{c[(e+4+15&-16)+-4>>2]=e;e=e+4+15&-16}a[e+4>>0]=0;c[e>>2]=6572;c[b+36>>2]=e;c[6879]=(c[6879]|0)+1;e=Zb(27)|0;if(!e)e=0;else{c[(e+4+15&-16)+-4>>2]=e;e=e+4+15&-16}a[e+4>>0]=0;c[e>>2]=6592;c[b+40>>2]=e;c[6879]=(c[6879]|0)+1;e=Zb(27)|0;if(!e)e=0;else{c[(e+4+15&-16)+-4>>2]=e;e=e+4+15&-16}a[e+4>>0]=0;c[e>>2]=6612;c[b+44>>2]=e;c[6879]=(c[6879]|0)+1;e=Zb(27)|0;if(!e)e=0;else{c[(e+4+15&-16)+-4>>2]=e;e=e+4+15&-16}a[e+4>>0]=0;c[e>>2]=6632;c[b+48>>2]=e;c[6879]=(c[6879]|0)+1;e=Zb(27)|0;if(!e)e=0;else{c[(e+4+15&-16)+-4>>2]=e;e=e+4+15&-16}a[e+4>>0]=0;c[e>>2]=6652;c[b+52>>2]=e;c[6879]=(c[6879]|0)+1;e=Zb(27)|0;if(!e)e=0;else{c[(e+4+15&-16)+-4>>2]=e;e=e+4+15&-16}a[e+4>>0]=0;c[e>>2]=6672;c[b+56>>2]=e;c[6879]=(c[6879]|0)+1;e=Zb(27)|0;if(!e)e=0;else{c[(e+4+15&-16)+-4>>2]=e;e=e+4+15&-16}a[e+4>>0]=0;c[e>>2]=6692;c[b+60>>2]=e;c[6879]=(c[6879]|0)+1;e=Zb(27)|0;if(!e)e=0;else{c[(e+4+15&-16)+-4>>2]=e;e=e+4+15&-16}a[e+4>>0]=0;c[e>>2]=6712;c[b+76>>2]=e;c[6879]=(c[6879]|0)+1;e=Zb(27)|0;if(!e)e=0;else{c[(e+4+15&-16)+-4>>2]=e;e=e+4+15&-16}c[e>>2]=6712;c[b+80>>2]=e;a[e+4>>0]=1;c[6879]=(c[6879]|0)+1;e=Zb(27)|0;if(!e)e=0;else{c[(e+4+15&-16)+-4>>2]=e;e=e+4+15&-16}a[e+4>>0]=0;c[e>>2]=6732;c[b+72>>2]=e;c[6879]=(c[6879]|0)+1;e=Zb(35)|0;if(!e)e=0;else{c[(e+4+15&-16)+-4>>2]=e;e=e+4+15&-16}a[e+4>>0]=0;c[e>>2]=6752;c[e+8>>2]=1;c[e+12>>2]=0;c[b+88>>2]=e;c[6879]=(c[6879]|0)+1;e=Zb(35)|0;if(!e)e=0;else{c[(e+4+15&-16)+-4>>2]=e;e=e+4+15&-16}c[e>>2]=6752;c[e+8>>2]=1;c[e+12>>2]=0;c[b+84>>2]=e;a[e+4>>0]=1;l=c[d+16>>2]|0;l=(l|0)>80?l:80;e=c[d>>2]|0;if(!e){a[b+12>>0]=1;c[6879]=(c[6879]|0)+1;e=Zb(39)|0;if(!e)k=0;else{c[(e+4+15&-16)+-4>>2]=e;k=e+4+15&-16}e=c[d+8>>2]|0;c[k>>2]=772;g=k+4|0;c[g>>2]=e;c[6879]=(c[6879]|0)+1;e=Zb((e*772|3)+16|0)|0;if(!e)e=0;else{c[(e+4+15&-16)+-4>>2]=e;e=e+4+15&-16}c[k+16>>2]=e;c[k+12>>2]=e;g=c[g>>2]|0;c[k+8>>2]=g;if(g+-1|0){h=c[k>>2]|0;i=g+-1|0;j=e;do{m=j;j=j+h|0;c[m>>2]=j;i=i+-1|0}while((i|0)!=0);e=e+(z(h,g+-1|0)|0)|0}c[e>>2]=0;c[b+8>>2]=k}else{a[b+12>>0]=0;c[b+8>>2]=e}e=c[d+4>>2]|0;if(e|0){a[b+20>>0]=0;c[b+16>>2]=e;return}a[b+20>>0]=1;c[6879]=(c[6879]|0)+1;e=Zb(39)|0;if(!e)k=0;else{c[(e+4+15&-16)+-4>>2]=e;k=e+4+15&-16}e=c[d+12>>2]|0;c[k>>2]=l;g=k+4|0;c[g>>2]=e;e=z(e,l)|0;c[6879]=(c[6879]|0)+1;e=Zb(e+19|0)|0;if(!e)e=0;else{c[(e+4+15&-16)+-4>>2]=e;e=e+4+15&-16}c[k+16>>2]=e;c[k+12>>2]=e;g=c[g>>2]|0;c[k+8>>2]=g;if(g+-1|0){h=c[k>>2]|0;i=g+-1|0;j=e;do{m=j;j=j+h|0;c[m>>2]=j;i=i+-1|0}while((i|0)!=0);e=e+(z(h,g+-1|0)|0)|0}c[e>>2]=0;c[b+16>>2]=k;return}function Nd(b,d,e,g,h,i,j,k){b=b|0;d=d|0;e=e|0;g=g|0;h=+h;i=+i;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;v=Ta;Ta=Ta+288|0;c[v+208>>2]=c[d>>2];c[v+208+4>>2]=c[d+4>>2];c[v+208+8>>2]=c[d+8>>2];c[v+208+12>>2]=c[d+12>>2];n=v+208+16|0;c[n>>2]=c[e>>2];c[n+4>>2]=c[e+4>>2];c[n+8>>2]=c[e+8>>2];c[n+12>>2]=c[e+12>>2];d=v+208+32|0;c[d>>2]=c[g>>2];c[d+4>>2]=c[g+4>>2];c[d+8>>2]=c[g+8>>2];c[d+12>>2]=c[g+12>>2];p=c[j>>2]|0;q=c[j+4>>2]|0;r=c[j+8>>2]|0;s=c[j+16>>2]|0;t=c[j+12>>2]|0;o=c[j+20>>2]|0;c[v+156>>2]=c[v+208>>2];c[v+156+4>>2]=c[v+208+4>>2];c[v+156+8>>2]=c[v+208+8>>2];c[v+156+12>>2]=c[v+208+12>>2];c[v+172>>2]=c[n>>2];c[v+172+4>>2]=c[n+4>>2];c[v+172+8>>2]=c[n+8>>2];c[v+172+12>>2]=c[n+12>>2];c[v+188>>2]=c[d>>2];c[v+188+4>>2]=c[d+4>>2];c[v+188+8>>2]=c[d+8>>2];c[v+188+12>>2]=c[d+12>>2];d=c[b+156>>2]|0;if((d|0)==(c[b+160>>2]|0)?(u=(d|0)==0?1:d<<1,(d|0)<(u|0)):0){if(!u)g=0;else{c[6879]=(c[6879]|0)+1;d=Zb((u*284|3)+16|0)|0;if(!d)g=0;else{c[(d+4+15&-16)+-4>>2]=d;g=d+4+15&-16}d=c[b+156>>2]|0}if((d|0)>0){j=0;do{e=c[b+164>>2]|0;l=g+(j*284|0)|0;m=e+(j*284|0)|0;n=l+92|0;do{c[l>>2]=c[m>>2];l=l+4|0;m=m+4|0}while((l|0)<(n|0));l=g+(j*284|0)+92|0;m=e+(j*284|0)+92|0;c[l>>2]=c[m>>2];c[l+4>>2]=c[m+4>>2];c[l+8>>2]=c[m+8>>2];c[l+12>>2]=c[m+12>>2];l=e+(j*284|0)+108|0;m=g+(j*284|0)+108|0;c[m>>2]=c[l>>2];c[m+4>>2]=c[l+4>>2];c[m+8>>2]=c[l+8>>2];c[m+12>>2]=c[l+12>>2];m=e+(j*284|0)+124|0;l=g+(j*284|0)+124|0;c[l>>2]=c[m>>2];c[l+4>>2]=c[m+4>>2];c[l+8>>2]=c[m+8>>2];c[l+12>>2]=c[m+12>>2];l=g+(j*284|0)+140|0;m=e+(j*284|0)+140|0;c[l>>2]=c[m>>2];c[l+4>>2]=c[m+4>>2];c[l+8>>2]=c[m+8>>2];c[l+12>>2]=c[m+12>>2];l=g+(j*284|0)+156|0;m=e+(j*284|0)+156|0;n=l+128|0;do{c[l>>2]=c[m>>2];l=l+4|0;m=m+4|0}while((l|0)<(n|0));j=j+1|0}while((j|0)!=(d|0))}d=c[b+164>>2]|0;if(d|0){if(a[b+168>>0]|0){c[6880]=(c[6880]|0)+1;kd(c[d+-4>>2]|0)}c[b+164>>2]=0}a[b+168>>0]=1;c[b+164>>2]=g;c[b+160>>2]=u;d=c[b+156>>2]|0}g=c[b+164>>2]|0;l=g+(d*284|0)|0;m=v;n=l+92|0;do{c[l>>2]=c[m>>2];l=l+4|0;m=m+4|0}while((l|0)<(n|0));l=g+(d*284|0)+92|0;c[l>>2]=c[v+92>>2];c[l+4>>2]=c[v+92+4>>2];c[l+8>>2]=c[v+92+8>>2];c[l+12>>2]=c[v+92+12>>2];l=g+(d*284|0)+108|0;c[l>>2]=c[v+108>>2];c[l+4>>2]=c[v+108+4>>2];c[l+8>>2]=c[v+108+8>>2];c[l+12>>2]=c[v+108+12>>2];l=g+(d*284|0)+124|0;c[l>>2]=c[v+124>>2];c[l+4>>2]=c[v+124+4>>2];c[l+8>>2]=c[v+124+8>>2];c[l+12>>2]=c[v+124+12>>2];l=g+(d*284|0)+140|0;c[l>>2]=c[v+140>>2];c[l+4>>2]=c[v+140+4>>2];c[l+8>>2]=c[v+140+8>>2];c[l+12>>2]=c[v+140+12>>2];d=g+(d*284|0)+156|0;l=d;m=v+156|0;n=l+48|0;do{c[l>>2]=c[m>>2];l=l+4|0;m=m+4|0}while((l|0)<(n|0));f[d+48>>2]=h;c[d+52>>2]=t;f[d+56>>2]=i;c[d+60>>2]=p;c[d+64>>2]=q;c[d+68>>2]=r;c[d+72>>2]=s;f[d+76>>2]=0.0;f[d+80>>2]=0.0;f[d+84>>2]=0.0;f[d+88>>2]=.10000000149011612;c[d+92>>2]=o;f[d+96>>2]=0.0;f[d+100>>2]=0.0;a[d+104>>0]=k&1;l=d+105|0;m=v+256|0;n=l+23|0;do{a[l>>0]=a[m>>0]|0;l=l+1|0;m=m+1|0}while((l|0)<(n|0));k=c[b+156>>2]|0;c[b+156>>2]=k+1;k=(c[b+164>>2]|0)+(k*284|0)|0;Pg(c[b+116>>2]|0,k,0,1.0);me(c[b+116>>2]|0,c[b+164>>2]|0,(c[b+156>>2]|0)+-1|0,0);Ta=v;return k|0}function Od(d,g,h,i){d=d|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0,C=0.0,D=0.0,E=0.0,F=0.0,G=0.0,H=0.0;v=Ta;Ta=Ta+80|0;u=c[d+48>>2]|0;c[v>>2]=8300;c[v+4>>2]=u;c[v+8>>2]=g;u=c[d+52>>2]|0;if(!(a[u+60>>0]|0)){g=c[u+56>>2]|0;if((g|0)>0){d=g;n=0;o=c[u+96>>2]|0;g=0;while(1){g=g+1|0;if(!(+f[h>>2]>+f[o+16>>2])?!(+f[i>>2]<+f[o>>2]):0)j=1;else j=0;if(!(!(+f[h+8>>2]>+f[o+24>>2])?!(+f[i+8>>2]<+f[o+8>>2]):0))j=0;if(!(+f[h+4>>2]>+f[o+20>>2])?!(+f[i+4>>2]<+f[o+4>>2]):0){k=c[o+32>>2]|0;if(j&(k|0)==-1){zb[c[(c[v>>2]|0)+8>>2]&127](v,c[o+36>>2]|0,c[o+40>>2]|0);d=c[u+56>>2]|0;m=44}else{l=k;k=(k|0)==-1;m=43}}else{k=c[o+32>>2]|0;l=k;k=(k|0)==-1;j=0;m=43}if((m|0)==43){m=0;if(k|j)m=44;else{k=l+n|0;j=o+(l<<6)|0}}if((m|0)==44){k=n+1|0;j=o+64|0}if((k|0)<(d|0)){n=k;o=j}else break}}else g=0;if((c[6859]|0)>=(g|0)){Ta=v;return}c[6859]=g;Ta=v;return}x=+f[h>>2];B=+f[h+4>>2];F=+f[h+8>>2];E=+f[u+4>>2];x=x>2];B=B>2];F=F>2];C=+f[u+24>>2];y=+f[u+28>>2];H=+f[u+36>>2];D=+f[u+40>>2];z=+f[u+44>>2];r=~~(((G>1]=r;s=~~(((C>1]=s;b[v+66+4>>1]=t;F=+f[i>>2];B=+f[i+4>>2];x=+f[i+8>>2];F=F>1]=i;p=~~(D*((C>1]=p;b[v+60+4>>1]=q;switch(c[u+144>>2]|0){case 0:{n=c[u+56>>2]|0;if((n|0)>0){d=0;j=c[u+136>>2]|0;g=0;do{g=g+1|0;l=((i&65535)>=(e[j>>1]|0)?(r&65535)<=(e[j+6>>1]|0):0)&(t&65535)<=(e[j+10>>1]|0)&(q&65535)>=(e[j+4>>1]|0)&(s&65535)<=(e[j+8>>1]|0)&(p&65535)>=(e[j+2>>1]|0);m=j+12|0;k=c[m>>2]|0;if((k|0)>-1&l)zb[c[(c[v>>2]|0)+8>>2]&127](v,21?k>>>21:k,k&2097151);if(l|(k|0)>-1){d=d+1|0;j=j+16|0}else{u=c[m>>2]|0;d=d-u|0;j=j+(0-u<<4)|0}}while((d|0)<(n|0))}else g=0;if((c[6859]|0)<(g|0))c[6859]=g;break}case 1:{if((c[u+152>>2]|0)>0){h=0;do{g=c[u+160>>2]|0;if(((i&65535)>=(e[g+(h<<5)>>1]|0)?(r&65535)<=(e[g+(h<<5)+6>>1]|0):0)&(t&65535)<=(e[g+(h<<5)+10>>1]|0)&(q&65535)>=(e[g+(h<<5)+4>>1]|0)&(s&65535)<=(e[g+(h<<5)+8>>1]|0)&(p&65535)>=(e[g+(h<<5)+2>>1]|0)){o=c[g+(h<<5)+12>>2]|0;n=c[g+(h<<5)+16>>2]|0;a:do if((n|0)>0){d=o;j=(c[u+136>>2]|0)+(o<<4)|0;g=0;while(1){g=g+1|0;l=((i&65535)>=(e[j>>1]|0)?(r&65535)<=(e[j+6>>1]|0):0)&(t&65535)<=(e[j+10>>1]|0)&(q&65535)>=(e[j+4>>1]|0)&(s&65535)<=(e[j+8>>1]|0)&(p&65535)>=(e[j+2>>1]|0);m=j+12|0;k=c[m>>2]|0;if((k|0)>-1&l)zb[c[(c[v>>2]|0)+8>>2]&127](v,21?k>>>21:k,k&2097151);if(l|(k|0)>-1){d=d+1|0;j=j+16|0}else{m=c[m>>2]|0;d=d-m|0;j=j+(0-m<<4)|0}if((d|0)>=(n+o|0))break a}}else g=0;while(0);if((c[6859]|0)<(g|0))c[6859]=g}h=h+1|0}while((h|0)<(c[u+152>>2]|0))}break}case 2:{Kk(c[u+136>>2]|0,v,v+66|0,v+60|0);break}default:{}}Ta=v;return}function Pd(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0;if((h|0)<0){h=c[b+8>>2]|0;+db[c[(c[h>>2]|0)+12>>2]&31](h,d,e,f,g,c[b+12>>2]|0,c[b+16>>2]|0,c[b+4>>2]|0,c[b+20>>2]|0,c[b+24>>2]|0);return}o=c[b+16>>2]|0;a:do if((o|0)>0){l=c[b+12>>2]|0;i=0;while(1){m=l+(i<<2)|0;k=c[m>>2]|0;j=c[(c[k+28>>2]|0)+208>>2]|0;if((j|0)<=-1)j=c[(c[k+32>>2]|0)+208>>2]|0;if((j|0)==(h|0))break a;i=i+1|0;if((i|0)>=(o|0)){m=0;break}}}else{i=0;m=0}while(0);if((i|0)<(o|0)){n=c[b+12>>2]|0;j=0;do{l=c[n+(i<<2)>>2]|0;k=c[(c[l+28>>2]|0)+208>>2]|0;if((k|0)<=-1)k=c[(c[l+32>>2]|0)+208>>2]|0;j=j+((k|0)==(h|0)&1)|0;i=i+1|0}while((i|0)!=(o|0));h=j}else h=0;i=c[b+4>>2]|0;if((c[i+72>>2]|0)<2){o=c[b+8>>2]|0;+db[c[(c[o>>2]|0)+12>>2]&31](o,d,e,f,g,m,h,i,c[b+20>>2]|0,c[b+24>>2]|0);return}if((e|0)>0){j=c[b+32>>2]|0;i=c[b+36>>2]|0;o=0;do{n=d+(o<<2)|0;if((j|0)==(i|0)){l=(i|0)==0?1:i<<1;if((i|0)<(l|0)){if(!l)j=0;else{c[6879]=(c[6879]|0)+1;i=Zb((l<<2|3)+16|0)|0;if(!i)j=0;else{c[(i+4+15&-16)+-4>>2]=i;j=i+4+15&-16}i=c[b+32>>2]|0}if((i|0)>0){k=0;do{c[j+(k<<2)>>2]=c[(c[b+40>>2]|0)+(k<<2)>>2];k=k+1|0}while((k|0)!=(i|0))}k=c[b+40>>2]|0;if(k){if(a[b+44>>0]|0){c[6880]=(c[6880]|0)+1;kd(c[k+-4>>2]|0);i=c[b+32>>2]|0}c[b+40>>2]=0}a[b+44>>0]=1;c[b+40>>2]=j;c[b+36>>2]=l;j=i;i=l}else j=i}c[(c[b+40>>2]|0)+(j<<2)>>2]=c[n>>2];j=j+1|0;c[b+32>>2]=j;o=o+1|0}while((o|0)!=(e|0))}if((g|0)>0){j=c[b+52>>2]|0;i=c[b+56>>2]|0;o=0;do{n=f+(o<<2)|0;if((j|0)==(i|0)){l=(i|0)==0?1:i<<1;if((i|0)<(l|0)){if(!l)j=0;else{c[6879]=(c[6879]|0)+1;i=Zb((l<<2|3)+16|0)|0;if(!i)j=0;else{c[(i+4+15&-16)+-4>>2]=i;j=i+4+15&-16}i=c[b+52>>2]|0}if((i|0)>0){k=0;do{c[j+(k<<2)>>2]=c[(c[b+60>>2]|0)+(k<<2)>>2];k=k+1|0}while((k|0)!=(i|0))}k=c[b+60>>2]|0;if(k){if(a[b+64>>0]|0){c[6880]=(c[6880]|0)+1;kd(c[k+-4>>2]|0);i=c[b+52>>2]|0}c[b+60>>2]=0}a[b+64>>0]=1;c[b+60>>2]=j;c[b+56>>2]=l;j=i;i=l}else j=i}c[(c[b+60>>2]|0)+(j<<2)>>2]=c[n>>2];j=j+1|0;c[b+52>>2]=j;o=o+1|0}while((o|0)!=(g|0))}if(!h)i=c[b+72>>2]|0;else{i=c[b+72>>2]|0;j=c[b+76>>2]|0;o=0;do{n=m+(o<<2)|0;if((i|0)==(j|0)){l=(j|0)==0?1:j<<1;if((j|0)<(l|0)){if(!l){i=j;j=0}else{c[6879]=(c[6879]|0)+1;i=Zb((l<<2|3)+16|0)|0;if(!i)j=0;else{c[(i+4+15&-16)+-4>>2]=i;j=i+4+15&-16}i=c[b+72>>2]|0}if((i|0)>0){k=0;do{c[j+(k<<2)>>2]=c[(c[b+80>>2]|0)+(k<<2)>>2];k=k+1|0}while((k|0)!=(i|0))}k=c[b+80>>2]|0;if(k){if(a[b+84>>0]|0){c[6880]=(c[6880]|0)+1;kd(c[k+-4>>2]|0);i=c[b+72>>2]|0}c[b+80>>2]=0}a[b+84>>0]=1;c[b+80>>2]=j;c[b+76>>2]=l;j=l}else i=j}c[(c[b+80>>2]|0)+(i<<2)>>2]=c[n>>2];i=i+1|0;c[b+72>>2]=i;o=o+1|0}while((o|0)!=(h|0))}if(((c[b+52>>2]|0)+i|0)<=(c[(c[b+4>>2]|0)+72>>2]|0))return;gh(b);return}function Qd(b,d,e,g){b=b|0;d=d|0;e=e|0;g=g|0;var h=0;a[b+20>>0]=1;c[b+16>>2]=0;c[b+8>>2]=0;c[b+12>>2]=0;c[b+24>>2]=d;f[b+28>>2]=0.0;c[b+32>>2]=0;c[b+36>>2]=1;f[b+40>>2]=1.0;a[b+44>>0]=1;c[b+48>>2]=0;a[b+52>>0]=0;a[b+53>>0]=1;a[b+54>>0]=1;f[b+56>>2]=.03999999910593033;a[b+60>>0]=0;f[b+64>>2]=0.0;c[b+68>>2]=e;c[b+72>>2]=0;a[b+76>>0]=1;c[b+80>>2]=0;c[b+84>>2]=0;c[b+88>>2]=0;f[b+92>>2]=.6000000238418579;f[b+96>>2]=1.0;f[b+100>>2]=.30000001192092896;f[b+104>>2]=.01666666753590107;f[b+108>>2]=0.0;f[b+116>>2]=20.0;c[b+112>>2]=10;f[b+124>>2]=.20000000298023224;f[b+128>>2]=.800000011920929;f[b+132>>2]=0.0;f[b+120>>2]=1.0;c[b+136>>2]=1;f[b+140>>2]=-.03999999910593033;f[b+144>>2]=.10000000149011612;f[b+148>>2]=0.0;f[b+152>>2]=.8500000238418579;c[b+156>>2]=260;c[b+160>>2]=2;c[b+164>>2]=128;f[b+168>>2]=100.0;f[b+172>>2]=1000000015047466219876688.0e6;c[b>>2]=5344;a[b+192>>0]=1;c[b+188>>2]=0;c[b+180>>2]=0;c[b+184>>2]=0;c[b+196>>2]=0;c[b+200>>2]=g;a[b+224>>0]=1;c[b+220>>2]=0;c[b+212>>2]=0;c[b+216>>2]=0;a[b+244>>0]=1;c[b+240>>2]=0;c[b+232>>2]=0;c[b+236>>2]=0;c[b+248>>2]=0;c[b+252>>2]=-1054867456;a[b+274>>0]=0;a[b+275>>0]=0;c[b+256>>2]=0;c[b+256+4>>2]=0;c[b+256+8>>2]=0;c[b+256+12>>2]=0;a[b+292>>0]=1;c[b+288>>2]=0;c[b+280>>2]=0;c[b+284>>2]=0;c[b+296>>2]=0;a[b+300>>0]=1;a[b+320>>0]=1;c[b+316>>2]=0;c[b+308>>2]=0;c[b+312>>2]=0;if(!g){c[6879]=(c[6879]|0)+1;g=Zb(215)|0;if(!g)g=0;else{c[(g+4+15&-16)+-4>>2]=g;g=g+4+15&-16}c[g>>2]=6008;a[g+20>>0]=1;c[g+16>>2]=0;c[g+8>>2]=0;c[g+12>>2]=0;a[g+40>>0]=1;c[g+36>>2]=0;c[g+28>>2]=0;c[g+32>>2]=0;a[g+60>>0]=1;c[g+56>>2]=0;c[g+48>>2]=0;c[g+52>>2]=0;a[g+80>>0]=1;c[g+76>>2]=0;c[g+68>>2]=0;c[g+72>>2]=0;a[g+100>>0]=1;c[g+96>>2]=0;c[g+88>>2]=0;c[g+92>>2]=0;a[g+120>>0]=1;c[g+116>>2]=0;c[g+108>>2]=0;c[g+112>>2]=0;a[g+140>>0]=1;c[g+136>>2]=0;c[g+128>>2]=0;c[g+132>>2]=0;a[g+160>>0]=1;c[g+156>>2]=0;c[g+148>>2]=0;c[g+152>>2]=0;a[g+180>>0]=1;c[g+176>>2]=0;c[g+168>>2]=0;c[g+172>>2]=0;c[g+192>>2]=0;c[b+200>>2]=g;g=1}else g=0;a[b+273>>0]=g;c[6879]=(c[6879]|0)+1;g=Zb(87)|0;if(!g)g=0;else{c[(g+4+15&-16)+-4>>2]=g;g=g+4+15&-16}c[g>>2]=6772;a[g+20>>0]=1;c[g+16>>2]=0;c[g+8>>2]=0;c[g+12>>2]=0;a[g+40>>0]=1;c[g+36>>2]=0;c[g+28>>2]=0;c[g+32>>2]=0;a[g+60>>0]=1;c[g+56>>2]=0;c[g+48>>2]=0;c[g+52>>2]=0;a[g+64>>0]=1;c[b+204>>2]=g;a[b+272>>0]=1;c[6879]=(c[6879]|0)+1;g=Zb(107)|0;if(!g){e=0;h=c[b+200>>2]|0;c[e>>2]=5556;g=e+4|0;c[g>>2]=0;g=e+8|0;c[g>>2]=h;g=e+12|0;c[g>>2]=0;g=e+16|0;c[g>>2]=0;g=e+20|0;c[g>>2]=0;g=e+24|0;c[g>>2]=d;d=e+44|0;a[d>>0]=1;d=e+40|0;c[d>>2]=0;d=e+32|0;c[d>>2]=0;d=e+36|0;c[d>>2]=0;d=e+64|0;a[d>>0]=1;d=e+60|0;c[d>>2]=0;d=e+52|0;c[d>>2]=0;d=e+56|0;c[d>>2]=0;d=e+84|0;a[d>>0]=1;d=e+80|0;c[d>>2]=0;d=e+72|0;c[d>>2]=0;d=e+76|0;c[d>>2]=0;c[b+196>>2]=e;return}c[(g+4+15&-16)+-4>>2]=g;h=g+4+15&-16;g=c[b+200>>2]|0;c[h>>2]=5556;e=h+4|0;c[e>>2]=0;e=h+8|0;c[e>>2]=g;e=h+12|0;c[e>>2]=0;e=h+16|0;c[e>>2]=0;e=h+20|0;c[e>>2]=0;e=h+24|0;c[e>>2]=d;d=h+44|0;a[d>>0]=1;d=h+40|0;c[d>>2]=0;d=h+32|0;c[d>>2]=0;d=h+36|0;c[d>>2]=0;d=h+64|0;a[d>>0]=1;d=h+60|0;c[d>>2]=0;d=h+52|0;c[d>>2]=0;d=h+56|0;c[d>>2]=0;d=h+84|0;a[d>>0]=1;d=h+80|0;c[d>>2]=0;d=h+72|0;c[d>>2]=0;d=h+76|0;c[d>>2]=0;c[b+196>>2]=h;return}function Rd(b,d){b=b|0;d=d|0;var e=0,g=0,h=0.0,i=0,j=0.0,k=0,l=0,m=0.0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0.0,v=0.0;t=Ta;Ta=Ta+96|0;r=c[b+12>>2]|0;Cb[c[(c[r>>2]|0)+8>>2]&127](r,(c[b+8>>2]|0)+4|0,t+80|0,t+64|0);r=c[d+68>>2]|0;Gb[c[(c[r>>2]|0)+16>>2]&63](r,c[(c[b+8>>2]|0)+188>>2]|0,t+80|0,t+64|0,c[d+24>>2]|0);r=c[d+24>>2]|0;Cb[c[(c[r>>2]|0)+32>>2]&127](r,c[(c[b+8>>2]|0)+284>>2]|0,d+28|0,r);r=c[b+8>>2]|0;c[b+92>>2]=c[r+52>>2];c[b+92+4>>2]=c[r+52+4>>2];c[b+92+8>>2]=c[r+52+8>>2];c[b+92+12>>2]=c[r+52+12>>2];r=c[r+284>>2]|0;if((eb[c[(c[r>>2]|0)+36>>2]&255](r)|0)>0){r=0;h=0.0;d=0;do{e=c[b+132>>2]|0;if((e|0)<0){if((c[b+136>>2]|0)<0){g=c[b+140>>2]|0;if(g|0){if(a[b+144>>0]|0){c[6880]=(c[6880]|0)+1;kd(c[g+-4>>2]|0)}c[b+140>>2]=0}a[b+144>>0]=1;c[b+140>>2]=0;c[b+136>>2]=0}do{c[(c[b+140>>2]|0)+(e<<2)>>2]=0;e=e+1|0}while((e|0)!=0)}c[b+132>>2]=0;e=c[(c[b+8>>2]|0)+284>>2]|0;e=c[(eb[c[(c[e>>2]|0)+28>>2]&255](e)|0)+12>>2]|0;q=c[c[e+(r<<4)>>2]>>2]|0;g=c[c[e+(r<<4)+4>>2]>>2]|0;if(!((q|0)!=0?(c[q+204>>2]&4|0)!=0:0))s=15;do if((s|0)==15){s=0;if(g|0?c[g+204>>2]&4|0:0)break;e=c[e+(r<<4)+8>>2]|0;if(e|0)vb[c[(c[e>>2]|0)+16>>2]&255](e,b+128|0);p=c[b+132>>2]|0;if((p|0)>0){n=c[b+140>>2]|0;o=c[b+8>>2]|0;q=0;do{l=c[n+(q<<2)>>2]|0;m=(c[l+740>>2]|0)==(o|0)?-1.0:1.0;e=c[l+748>>2]|0;if((e|0)>0){k=0;do{j=+f[l+4+(k*184|0)+80>>2];if(j<0.0){i=l+4+(k*184|0)+64|0;if(j>2];g=l+4+(k*184|0)+72|0;h=m*+f[g>>2];f[b+152>>2]=m*+f[i>>2];f[b+156>>2]=u;f[b+160>>2]=h;f[b+164>>2]=0.0;e=c[l+748>>2]|0;h=j}else{d=l+4+(k*184|0)+68|0;g=l+4+(k*184|0)+72|0}v=j*(m*+f[d>>2])*.20000000298023224;u=j*(m*+f[g>>2])*.20000000298023224;f[b+92>>2]=j*(m*+f[i>>2])*.20000000298023224+ +f[b+92>>2];f[b+96>>2]=v+ +f[b+96>>2];f[b+100>>2]=u+ +f[b+100>>2];d=1}k=k+1|0}while((k|0)<(e|0))}q=q+1|0}while((q|0)!=(p|0))}}while(0);r=r+1|0;q=c[(c[b+8>>2]|0)+284>>2]|0}while((r|0)<(eb[c[(c[q>>2]|0)+36>>2]&255](q)|0))}else d=0;s=c[b+8>>2]|0;c[t>>2]=c[s+4>>2];c[t+4>>2]=c[s+4+4>>2];c[t+8>>2]=c[s+4+8>>2];c[t+12>>2]=c[s+4+12>>2];c[t+16>>2]=c[s+20>>2];c[t+16+4>>2]=c[s+20+4>>2];c[t+16+8>>2]=c[s+20+8>>2];c[t+16+12>>2]=c[s+20+12>>2];c[t+32>>2]=c[s+36>>2];c[t+32+4>>2]=c[s+36+4>>2];c[t+32+8>>2]=c[s+36+8>>2];c[t+32+12>>2]=c[s+36+12>>2];c[t+48>>2]=c[b+92>>2];c[t+48+4>>2]=c[b+92+4>>2];c[t+48+8>>2]=c[b+92+8>>2];c[t+48+12>>2]=c[b+92+12>>2];c[s+260>>2]=(c[s+260>>2]|0)+1;c[s+4>>2]=c[t>>2];c[s+4+4>>2]=c[t+4>>2];c[s+4+8>>2]=c[t+8>>2];c[s+4+12>>2]=c[t+12>>2];c[s+20>>2]=c[t+16>>2];c[s+20+4>>2]=c[t+16+4>>2];c[s+20+8>>2]=c[t+16+8>>2];c[s+20+12>>2]=c[t+16+12>>2];c[s+36>>2]=c[t+32>>2];c[s+36+4>>2]=c[t+32+4>>2];c[s+36+8>>2]=c[t+32+8>>2];c[s+36+12>>2]=c[t+32+12>>2];c[s+52>>2]=c[t+48>>2];c[s+52+4>>2]=c[t+48+4>>2];c[s+52+8>>2]=c[t+48+8>>2];c[s+52+12>>2]=c[t+48+12>>2];Ta=t;return d|0}function Sd(b,d,e){b=b|0;d=+d;e=+e;var g=0,h=0,i=0,j=0.0,k=0.0,l=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0,t=0.0,u=0.0,v=0.0,w=0.0;r=Ta;Ta=Ta+80|0;g=c[b+8>>2]|0;if(!g){g=c[b+4>>2]|0;if(!g){k=0.0;n=0.0;l=0.0;d=0.0;j=0.0;m=0.0}else{q=+f[g+336>>2];j=+f[b+172>>2];t=+f[g+340>>2];o=+f[b+168>>2];m=+f[b+164>>2];p=+f[g+332>>2];k=+f[g+316>>2];n=+f[g+320>>2];l=+f[g+324>>2];d=q*j-t*o;j=t*m-j*p;m=o*p-q*m}}else{t=+f[g+332>>2];j=+f[b+172>>2];o=+f[g+336>>2];p=+f[b+168>>2];m=+f[b+164>>2];q=+f[g+328>>2];k=+f[g+312>>2];n=+f[g+316>>2];l=+f[g+320>>2];d=t*j-o*p;j=o*m-j*q;m=p*q-t*m}o=k+d;q=n+j;p=l+m;g=c[b+20>>2]|0;if(!g){g=c[b+16>>2]|0;if(!g){k=0.0;m=0.0;l=0.0;d=0.0;j=0.0;n=0.0}else{t=+f[g+336>>2];j=+f[b+188>>2];w=+f[g+340>>2];v=+f[b+184>>2];n=+f[b+180>>2];u=+f[g+332>>2];k=+f[g+316>>2];m=+f[g+320>>2];l=+f[g+324>>2];d=t*j-w*v;j=w*n-j*u;n=v*u-t*n}}else{w=+f[g+332>>2];j=+f[b+188>>2];t=+f[g+336>>2];u=+f[b+184>>2];n=+f[b+180>>2];v=+f[g+328>>2];k=+f[g+312>>2];m=+f[g+316>>2];l=+f[g+320>>2];d=w*j-t*u;j=t*n-j*v;n=u*v-w*n}o=o-(k+d);m=q-(m+j);l=p-(l+n);d=+f[b+196>>2];j=+f[b+200>>2];k=+f[b+204>>2];a[r+36+32>>0]=1;c[r+36+16>>2]=0;c[r+36+16+4>>2]=0;c[r+36+16+8>>2]=0;c[r+36+16+12>>2]=0;c[r+36>>2]=c[b+72>>2];c[r+36+4>>2]=c[b+72+4>>2];c[r+36+8>>2]=c[b+72+8>>2];c[r+36+12>>2]=c[b+72+12>>2];if(d*o+m*j+l*k<0.0){u=+f[b+212>>2];v=+f[r+36>>2]+(d*(d*o+m*j+l*k)+(o-d*(d*o+m*j+l*k))*u);f[r+36>>2]=v;w=j*(d*o+m*j+l*k)+(m-j*(d*o+m*j+l*k))*u+ +f[r+36+4>>2];f[r+36+4>>2]=w;k=k*(d*o+m*j+l*k)+(l-k*(d*o+m*j+l*k))*u+ +f[r+36+8>>2];f[r+36+8>>2]=k;d=v;j=w;g=r+36+8|0;h=r+36|0;i=r+36+4|0}else{d=+f[r+36>>2];j=+f[r+36+4>>2];k=+f[r+36+8>>2];g=r+36+8|0;h=r+36|0;i=r+36+4|0}l=(+f[b+104>>2]*d+ +f[b+108>>2]*j+ +f[b+112>>2]*k)*e;m=(d*+f[b+120>>2]+j*+f[b+124>>2]+k*+f[b+128>>2])*e;d=(d*+f[b+136>>2]+j*+f[b+140>>2]+k*+f[b+144>>2])*e;f[h>>2]=l;f[i>>2]=m;f[g>>2]=d;f[r+36+12>>2]=0.0;g=c[b+4>>2]|0;if((g|0)!=(c[b+16>>2]|0)){g=r;h=r+36|0;i=g+36|0;do{c[g>>2]=c[h>>2];g=g+4|0;h=h+4|0}while((g|0)<(i|0));w=-+f[r+4>>2];v=-+f[r+8>>2];f[r>>2]=-+f[r>>2];f[r+4>>2]=w;f[r+8>>2]=v;f[r+12>>2]=0.0;v=-+f[r+20>>2];w=-+f[r+24>>2];f[r+16>>2]=-+f[r+16>>2];f[r+20>>2]=v;f[r+24>>2]=w;f[r+28>>2]=0.0;Rh(b+4|0,r,b+164|0);Rh(b+16|0,r+36|0,b+180|0);Ta=r;return}if(!(l==l&m==m&(d==d&0.0==0.0))){Ta=r;return}w=+s(+(l*l+m*m+d*d));if(w<+f[g+368>>2]){Ta=r;return}h=c[r+36+32>>2]|0;w=+f[g+372>>2];f[r+12>>2]=0.0;f[r+28>>2]=0.0;c[r+32>>2]=h;f[r>>2]=-(l*w);f[r+4>>2]=-(m*w);f[r+8>>2]=-(d*w);f[r+16>>2]=w*-0.0;f[r+20>>2]=w*-0.0;f[r+24>>2]=w*-0.0;Rh(b+4|0,r,b+164|0);d=+f[(c[b+4>>2]|0)+372>>2];g=r;h=r+36|0;i=g+36|0;do{c[g>>2]=c[h>>2];g=g+4|0;h=h+4|0}while((g|0)<(i|0));f[r>>2]=d*+f[r>>2];f[r+4>>2]=d*+f[r+4>>2];f[r+8>>2]=d*+f[r+8>>2];f[r+16>>2]=d*+f[r+16>>2];f[r+20>>2]=d*+f[r+20>>2];f[r+24>>2]=d*+f[r+24>>2];Rh(b+16|0,r,b+180|0);Ta=r;return}function Td(d,e,g,h,i){d=d|0;e=e|0;g=+g;h=+h;i=+i;var j=0,k=0.0,l=0.0,m=0,n=0,o=0.0,p=0.0,q=0.0,r=0.0,t=0.0,u=0.0;m=Ta;Ta=Ta+240|0;k=+f[d+96>>2]+h;l=+f[d+100>>2]+i;f[d+112>>2]=+f[d+92>>2]+g;f[d+116>>2]=k;f[d+120>>2]=l;f[d+124>>2]=0.0;c[m+168>>2]=1065353216;c[m+168+4>>2]=0;c[m+168+4+4>>2]=0;c[m+168+4+8>>2]=0;c[m+168+4+12>>2]=0;c[m+168+20>>2]=1065353216;c[m+168+24>>2]=0;c[m+168+24+4>>2]=0;c[m+168+24+8>>2]=0;c[m+168+24+12>>2]=0;c[m+168+40>>2]=1065353216;j=m+168+44|0;c[j>>2]=0;c[j+4>>2]=0;c[j+8>>2]=0;c[j+12>>2]=0;c[j+16>>2]=0;c[m+104>>2]=1065353216;c[m+104+4>>2]=0;c[m+104+4+4>>2]=0;c[m+104+4+8>>2]=0;c[m+104+4+12>>2]=0;c[m+104+20>>2]=1065353216;c[m+104+24>>2]=0;c[m+104+24+4>>2]=0;c[m+104+24+8>>2]=0;c[m+104+24+12>>2]=0;c[m+104+40>>2]=1065353216;j=m+104+44|0;c[j>>2]=0;c[j+4>>2]=0;c[j+8>>2]=0;c[j+12>>2]=0;c[j+16>>2]=0;l=1.0;j=10;while(1){if(!j){j=15;break}j=j+-1|0;c[m+168+48>>2]=c[d+92>>2];c[m+168+48+4>>2]=c[d+92+4>>2];c[m+168+48+8>>2]=c[d+92+8>>2];c[m+168+48+12>>2]=c[d+92+12>>2];c[m+104+48>>2]=c[d+112>>2];c[m+104+48+4>>2]=c[d+112+4>>2];c[m+104+48+8>>2]=c[d+112+8>>2];c[m+104+48+12>>2]=c[d+112+12>>2];i=+f[d+92>>2]-+f[d+112>>2];k=+f[d+96>>2]-+f[d+116>>2];g=+f[d+100>>2]-+f[d+120>>2];n=c[d+8>>2]|0;f[m+4>>2]=1.0;c[m+76>>2]=0;c[m+12>>2]=0;c[m+12+4>>2]=0;c[m+12+8>>2]=0;c[m+12+12>>2]=0;c[m+12+16>>2]=0;c[m+12+20>>2]=0;c[m+12+24>>2]=0;c[m+12+28>>2]=0;c[m>>2]=6256;c[m+80>>2]=n;f[m+84>>2]=i;f[m+88>>2]=k;f[m+92>>2]=g;f[m+96>>2]=0.0;f[m+100>>2]=0.0;n=c[n+188>>2]|0;b[m+8>>1]=b[n+4>>1]|0;b[m+10>>1]=b[n+6>>1]|0;n=c[d+12>>2]|0;g=+Wa[c[(c[n>>2]|0)+48>>2]&31](n);n=c[d+12>>2]|0;qb[c[(c[n>>2]|0)+44>>2]&63](n,g+ +f[d+56>>2]);if(!(a[d+170>>0]|0))xd(e,c[d+12>>2]|0,m+168|0,m+104|0,m,+f[e+56>>2]);else bd(c[d+8>>2]|0,c[d+12>>2]|0,m+168|0,m+104|0,m,+f[e+56>>2]);n=c[d+12>>2]|0;qb[c[(c[n>>2]|0)+44>>2]&63](n,g);k=+f[m+4>>2];l=l-k;if(k<1.0){h=+f[d+112>>2]-+f[d+92>>2];k=+f[d+116>>2]-+f[d+96>>2];i=+f[d+120>>2]-+f[d+100>>2];g=+s(+(h*h+k*k+i*i));if(g>1.1920928955078125e-07){o=+f[m+44>>2];u=+f[m+48>>2];q=+f[m+52>>2];t=(h*(1.0/g)*o+k*(1.0/g)*u+i*(1.0/g)*q)*2.0;r=1.0/+s(+((i*(1.0/g)-q*t)*(i*(1.0/g)-q*t)+((h*(1.0/g)-o*t)*(h*(1.0/g)-o*t)+(k*(1.0/g)-u*t)*(k*(1.0/g)-u*t))));p=q*((i*(1.0/g)-q*t)*r)+(o*((h*(1.0/g)-o*t)*r)+u*((k*(1.0/g)-u*t)*r));c[d+112>>2]=c[d+92>>2];c[d+112+4>>2]=c[d+92+4>>2];c[d+112+8>>2]=c[d+92+8>>2];c[d+112+12>>2]=c[d+92+12>>2];o=g*((h*(1.0/g)-o*t)*r-o*p)+ +f[d+112>>2];f[d+112>>2]=o;h=g*((k*(1.0/g)-u*t)*r-u*p)+ +f[d+116>>2];f[d+116>>2]=h;i=g*((i*(1.0/g)-q*t)*r-q*p)+ +f[d+120>>2];f[d+120>>2]=i;g=o}else{g=+f[d+112>>2];h=+f[d+116>>2];i=+f[d+120>>2]}k=g-+f[d+92>>2];h=h-+f[d+96>>2];g=i-+f[d+100>>2];if(!(k*k+h*h+g*g>1.1920928955078125e-07)){j=13;break}u=1.0/+s(+(k*k+h*h+g*g));if(k*u*+f[d+76>>2]+h*u*+f[d+80>>2]+g*u*+f[d+84>>2]<=0.0){j=13;break}}else{c[d+92>>2]=c[d+112>>2];c[d+92+4>>2]=c[d+112+4>>2];c[d+92+8>>2]=c[d+112+8>>2];c[d+92+12>>2]=c[d+112+12>>2]}if(!(l>.009999999776482582)){j=15;break}}if((j|0)==13){Ta=m;return}else if((j|0)==15){Ta=m;return}}function Ud(b,d,e,g,h){b=b|0;d=d|0;e=e|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0,r=0,s=0.0,t=0.0;r=Ta;Ta=Ta+48|0;c[r+16>>2]=c[e>>2];c[r+16+4>>2]=c[e+4>>2];c[r+16+8>>2]=c[e+8>>2];c[r+16+12>>2]=c[e+12>>2];c[r+16+16>>2]=c[g>>2];c[r+16+16+4>>2]=c[g+4>>2];c[r+16+16+8>>2]=c[g+8>>2];c[r+16+16+12>>2]=c[g+12>>2];do if((c[d+60>>2]|0)==2){h=c[d+48>>2]|0;ch(b+64|0,h)|0;i=c[b+68>>2]|0;if(i|0){c[6880]=(c[6880]|0)+1;kd(c[i+-4>>2]|0)}c[b+68>>2]=h;c[b+76>>2]=(c[b+76>>2]|0)+-1;h=c[b+8>>2]|0;if(!h){c[6879]=(c[6879]|0)+1;h=Zb(63)|0;if(!h)h=0;else{c[(h+4+15&-16)+-4>>2]=h;h=h+4+15&-16}i=h;j=i+44|0;do{c[i>>2]=0;i=i+4|0}while((i|0)<(j|0))}else c[b+8>>2]=0;c[h+32>>2]=0;c[h+36>>2]=d;c[h+40>>2]=0;c[h>>2]=c[r+16>>2];c[h+4>>2]=c[r+16+4>>2];c[h+8>>2]=c[r+16+8>>2];c[h+12>>2]=c[r+16+12>>2];c[h+16>>2]=c[r+16+16>>2];c[h+20>>2]=c[r+16+20>>2];c[h+24>>2]=c[r+16+24>>2];c[h+28>>2]=c[r+16+28>>2];bf(b+4|0,c[b+4>>2]|0,h);c[b+16>>2]=(c[b+16>>2]|0)+1;c[d+48>>2]=h;j=1}else{c[b+168>>2]=(c[b+168>>2]|0)+1;q=c[d+48>>2]|0;if(((((+f[q>>2]<=+f[r+16+16>>2]?+f[q+16>>2]>=+f[r+16>>2]:0)?+f[q+4>>2]<=+f[r+16+20>>2]:0)?+f[q+20>>2]>=+f[r+16+4>>2]:0)?+f[q+8>>2]<=+f[r+16+24>>2]:0)?+f[q+24>>2]>=+f[r+16+8>>2]:0){l=+f[d+16>>2];s=+f[e>>2]-l;m=+f[d+20>>2];p=+f[e+4>>2]-m;n=+f[d+24>>2];o=+f[e+8>>2]-n;t=+f[b+140>>2];l=(+f[d+32>>2]-l)*.5*t;m=t*((+f[d+36>>2]-m)*.5);n=t*((+f[d+40>>2]-n)*.5);f[r>>2]=l;f[r+4>>2]=m;f[r+8>>2]=n;f[r+12>>2]=0.0;if(s<0.0)f[r>>2]=-l;if(p<0.0)f[r+4>>2]=-m;if(o<0.0)f[r+8>>2]=-n;if(kh(b+4|0,q,r+16|0,r,.05000000074505806)|0){c[b+172>>2]=(c[b+172>>2]|0)+1;h=1}else h=0;j=h;break}h=ch(b+4|0,q)|0;a:do if(h){j=c[b+12>>2]|0;if((j|0)<=-1){h=c[b+4>>2]|0;break}if(j){k=0;i=h;while(1){h=c[i+32>>2]|0;k=k+1|0;if(!h){h=i;break a}if((k|0)>=(j|0))break;else i=h}}}else h=0;while(0);c[q>>2]=c[r+16>>2];c[q+4>>2]=c[r+16+4>>2];c[q+8>>2]=c[r+16+8>>2];c[q+12>>2]=c[r+16+12>>2];c[q+16>>2]=c[r+16+16>>2];c[q+20>>2]=c[r+16+20>>2];c[q+24>>2]=c[r+16+24>>2];c[q+28>>2]=c[r+16+28>>2];bf(b+4|0,h,q);c[b+172>>2]=(c[b+172>>2]|0)+1;j=1}while(0);h=c[d+52>>2]|0;if(!h)h=b+124+(c[d+60>>2]<<2)|0;else h=h+56|0;c[h>>2]=c[d+56>>2];h=c[d+56>>2]|0;if(h|0)c[h+52>>2]=c[d+52>>2];c[d+16>>2]=c[e>>2];c[d+16+4>>2]=c[e+4>>2];c[d+16+8>>2]=c[e+8>>2];c[d+16+12>>2]=c[e+12>>2];c[d+32>>2]=c[g>>2];c[d+32+4>>2]=c[g+4>>2];c[d+32+8>>2]=c[g+8>>2];c[d+32+12>>2]=c[g+12>>2];h=c[b+144>>2]|0;c[d+60>>2]=h;c[d+52>>2]=0;c[d+56>>2]=c[b+124+(h<<2)>>2];i=c[b+124+(h<<2)>>2]|0;if(i|0)c[i+52>>2]=d;c[b+124+(h<<2)>>2]=d;if(!j){Ta=r;return}a[b+194>>0]=1;if(a[b+193>>0]|0){Ta=r;return}c[r>>2]=10516;c[r+4>>2]=b;ee(b+64|0,c[b+64>>2]|0,c[d+48>>2]|0,r);ee(b+4|0,c[b+4>>2]|0,c[d+48>>2]|0,r);Ta=r;return}function Vd(a,b,d,e,g){a=a|0;b=b|0;d=d|0;e=e|0;g=g|0;var i=0.0,j=0.0,k=0,l=0,m=0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0,C=0.0,D=0.0,E=0.0,F=0.0,G=0.0,H=0.0,I=0.0;x=+f[a>>2];y=+f[b>>2];z=+f[a+4>>2];A=+f[b+4>>2];B=+f[a+8>>2];C=+f[b+8>>2];D=+f[d>>2];E=+f[d+4>>2];F=+f[d+8>>2];G=(z-A)*(C-F)-(B-C)*(A-E);H=(B-C)*(y-D)-(x-y)*(C-F);I=(x-y)*(A-E)-(z-A)*(y-D);if(!(I*I+(G*G+H*H)>0.0)){I=-1.0;return +I}if(x*(I*(z-A)-H*(B-C))+z*(G*(B-C)-I*(x-y))+(H*(x-y)-G*(z-A))*B>0.0){do if((y-x)*(y-x)+(A-z)*(A-z)+(C-B)*(C-B)>0.0){j=-(x*(y-x)+z*(A-z)+B*(C-B))/((y-x)*(y-x)+(A-z)*(A-z)+(C-B)*(C-B));if(j>=1.0){i=y*y+A*A+C*C;m=2;l=0;k=1065353216;break}if(!(j<=0.0)){k=(f[h>>2]=j,c[h>>2]|0);i=(B+(C-B)*j)*(B+(C-B)*j)+((x+(y-x)*j)*(x+(y-x)*j)+(z+(A-z)*j)*(z+(A-z)*j));m=3;l=(f[h>>2]=1.0-j,c[h>>2]|0);break}else{i=x*x+z*z+B*B;m=1;l=1065353216;k=0;break}}else{i=-1.0;m=0;l=0;k=0}while(0);c[g>>2]=m;c[e>>2]=l;c[e+4>>2]=k;f[e+8>>2]=0.0;u=+f[b>>2];v=+f[b+4>>2];w=+f[b+8>>2]}else{u=y;v=A;w=C;i=-1.0;m=0;l=0;k=0}if(u*(I*(A-E)-H*(C-F))+v*(G*(C-F)-I*(y-D))+(H*(y-D)-G*(A-E))*w>0.0){j=+f[d>>2];q=j-u;o=+f[d+4>>2];t=o-v;p=+f[d+8>>2];r=p-w;do if(q*q+t*t+r*r>0.0){n=-(u*q+v*t+w*r)/(q*q+t*t+r*r);if(n>=1.0){j=j*j+o*o+p*p;m=2;l=0;k=1065353216;break}if(!(n<=0.0)){k=(f[h>>2]=n,c[h>>2]|0);u=u+q*n;j=v+t*n;w=w+r*n;j=w*w+(u*u+j*j);m=3;l=(f[h>>2]=1.0-n,c[h>>2]|0);break}else{j=u*u+v*v+w*w;m=1;l=1065353216;k=0;break}}else j=-1.0;while(0);if(i<0.0|j>2]=m<<1&6;c[e+4>>2]=l;c[e+8>>2]=k;f[e>>2]=0.0;i=j}}j=+f[d>>2];o=+f[d+4>>2];p=+f[d+8>>2];if(j*(I*(E-z)-H*(F-B))+o*(G*(F-B)-I*(D-x))+(H*(D-x)-G*(E-z))*p>0.0){q=+f[a>>2];r=+f[a+4>>2];t=+f[a+8>>2];do if((q-j)*(q-j)+(r-o)*(r-o)+(t-p)*(t-p)>0.0){n=-(j*(q-j)+o*(r-o)+p*(t-p))/((q-j)*(q-j)+(r-o)*(r-o)+(t-p)*(t-p));if(n>=1.0){j=q*q+r*r+t*t;m=2;l=0;k=1065353216;break}if(!(n<=0.0)){k=(f[h>>2]=n,c[h>>2]|0);j=(p+(t-p)*n)*(p+(t-p)*n)+((j+(q-j)*n)*(j+(q-j)*n)+(o+(r-o)*n)*(o+(r-o)*n));m=3;l=(f[h>>2]=1.0-n,c[h>>2]|0);break}else{j=j*j+o*o+p*p;m=1;l=1065353216;k=0;break}}else j=-1.0;while(0);if(i<0.0|j>2]=m<<2&4|(1?m>>>1:m)&1;c[e+8>>2]=l;c[e>>2]=k;f[e+4>>2]=0.0;i=j}}if(!(i<0.0)){I=i;return +I}v=+s(+(I*I+(G*G+H*H)));w=(G*+f[a>>2]+H*+f[a+4>>2]+I*+f[a+8>>2])/(I*I+(G*G+H*H));c[g>>2]=7;t=+f[b>>2]-G*w;r=+f[b+4>>2]-H*w;u=+f[b+8>>2]-I*w;C=+s(+(((y-D)*r-(A-E)*t)*((y-D)*r-(A-E)*t)+(((A-E)*u-(C-F)*r)*((A-E)*u-(C-F)*r)+((C-F)*t-(y-D)*u)*((C-F)*t-(y-D)*u))))/v;f[e>>2]=C;y=+f[d>>2]-G*w;u=+f[d+4>>2]-H*w;A=+f[d+8>>2]-I*w;F=+s(+(((D-x)*u-(E-z)*y)*((D-x)*u-(E-z)*y)+(((E-z)*A-(F-B)*u)*((E-z)*A-(F-B)*u)+((F-B)*y-(D-x)*A)*((F-B)*y-(D-x)*A))))/v;f[e+4>>2]=F;f[e+8>>2]=1.0-(C+F);I=I*w*(I*w)+(G*w*(G*w)+H*w*(H*w));return +I}function Wd(b){b=b|0;var d=0.0,e=0,g=0,h=0,i=0,j=0,k=0.0,l=0.0,m=0.0,n=0.0,o=0.0,p=0,q=0;p=Ta;Ta=Ta+80|0;if((eb[c[(c[b>>2]|0)+20>>2]&255](b)|0?(j=eb[c[(c[b>>2]|0)+20>>2]&255](b)|0,(eb[c[(c[j>>2]|0)+48>>2]&255](j)|0)&8|0):0)?(g=c[b+24>>2]|0,g=eb[c[(c[g>>2]|0)+36>>2]&255](g)|0,c[p+64>>2]=1065353216,c[p+64+4>>2]=1065353216,c[p+64+8>>2]=0,f[p+64+12>>2]=0.0,(g|0)>0):0){i=0;do{h=c[b+24>>2]|0;h=gb[c[(c[h>>2]|0)+40>>2]&63](h,i)|0;e=c[h+748>>2]|0;if((e|0)>0){j=0;do{q=eb[c[(c[b>>2]|0)+20>>2]&255](b)|0;Bb[c[(c[q>>2]|0)+32>>2]&31](q,h+4+(j*184|0)+32|0,h+4+(j*184|0)+64|0,+f[h+4+(j*184|0)+80>>2],c[h+4+(j*184|0)+148>>2]|0,p+64|0);j=j+1|0}while((j|0)!=(e|0))}i=i+1|0}while((i|0)!=(g|0))}if(!(eb[c[(c[b>>2]|0)+20>>2]&255](b)|0)){Ta=p;return}q=eb[c[(c[b>>2]|0)+20>>2]&255](b)|0;if(!((eb[c[(c[q>>2]|0)+48>>2]&255](q)|0)&3)){Ta=p;return}if((c[b+8>>2]|0)<=0){Ta=p;return}j=0;do{i=c[(c[b+16>>2]|0)+(j<<2)>>2]|0;if(!(c[i+204>>2]&32)){if(eb[c[(c[b>>2]|0)+20>>2]&255](b)|0?(q=eb[c[(c[b>>2]|0)+20>>2]&255](b)|0,(eb[c[(c[q>>2]|0)+48>>2]&255](q)|0)&1|0):0){c[p+64>>2]=1065353216;c[p+64+4>>2]=1065353216;c[p+64+8>>2]=1065353216;f[p+64+12>>2]=0.0;switch(c[i+216>>2]|0){case 1:{e=1065353216;g=1065353216;h=1065353216;break}case 2:{e=0;g=1065353216;h=0;break}case 3:{e=1065353216;g=1065353216;h=0;break}case 4:{e=0;g=0;h=1065353216;break}case 5:{e=0;g=1065353216;h=1065353216;break}default:{e=0;g=0;h=1065353216}}c[p+64>>2]=h;c[p+64+4>>2]=g;c[p+64+8>>2]=e;f[p+64+12>>2]=0.0;Cb[c[(c[b>>2]|0)+28>>2]&127](b,i+4|0,c[i+192>>2]|0,p+64|0)}e=c[b+72>>2]|0;if(e|0?(eb[c[(c[e>>2]|0)+48>>2]&255](e)|0)&2|0:0){c[p+32>>2]=1065353216;c[p+32+4>>2]=0;c[p+32+8>>2]=0;f[p+32+12>>2]=0.0;q=c[i+192>>2]|0;Cb[c[(c[q>>2]|0)+8>>2]&127](q,i+4|0,p+64|0,p+48|0);f[p+64>>2]=+f[p+64>>2]+-.019999999552965164;f[p+64+4>>2]=+f[p+64+4>>2]+-.019999999552965164;f[p+64+8>>2]=+f[p+64+8>>2]+-.019999999552965164;f[p+48>>2]=+f[p+48>>2]+.019999999552965164;f[p+48+4>>2]=+f[p+48+4>>2]+.019999999552965164;f[p+48+8>>2]=+f[p+48+8>>2]+.019999999552965164;do if((a[b+44>>0]|0?(c[i+236>>2]|0)==2:0)?(c[i+204>>2]&3|0)==0:0){q=c[i+192>>2]|0;Cb[c[(c[q>>2]|0)+8>>2]&127](q,i+68|0,p+16|0,p);d=+f[p+16>>2]+-.019999999552965164;f[p+16>>2]=d;l=+f[p+16+4>>2]+-.019999999552965164;f[p+16+4>>2]=l;k=+f[p+16+8>>2]+-.019999999552965164;f[p+16+8>>2]=k;m=+f[p>>2]+.019999999552965164;f[p>>2]=m;o=+f[p+4>>2]+.019999999552965164;f[p+4>>2]=o;n=+f[p+8>>2]+.019999999552965164;f[p+8>>2]=n;if(d<+f[p+64>>2])f[p+64>>2]=d;if(l<+f[p+64+4>>2])f[p+64+4>>2]=l;if(k<+f[p+64+8>>2])f[p+64+8>>2]=k;d=+f[p+16+12>>2];if(d<+f[p+64+12>>2])f[p+64+12>>2]=d;if(+f[p+48>>2]>2]=m;if(+f[p+48+4>>2]>2]=o;if(+f[p+48+8>>2]>2]=n;d=+f[p+12>>2];if(!(+f[p+48+12>>2]>2]=d}while(0);q=c[b+72>>2]|0;Cb[c[(c[q>>2]|0)+52>>2]&127](q,p+64|0,p+48|0,p+32|0)}}j=j+1|0}while((j|0)<(c[b+8>>2]|0));Ta=p;return}function Xd(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;l=c[b>>2]|0;m=c[b+4>>2]|0;i=c[b+8>>2]|0;n=c[a+4>>2]|0;p=Oh(a,d,m,i)|0;c[p+12>>2]=c[b+12>>2];c[p+16>>2]=n+1;c[p+20>>2]=n+2;h=c[(c[a+12>>2]|0)+(c[b+12>>2]<<2)>>2]|0;e=c[h>>2]|0;f=c[h+4>>2]|0;do if((e|0)==(m|0)&(f|0)==(i|0)){e=2;o=2}else{if(!((e|0)==(i|0)&(f|0)==(m|0))){g=c[h+8>>2]|0;if((f|0)==(m|0)&(g|0)==(i|0)){e=0;o=2;break}if(!((f|0)==(i|0)&(g|0)==(m|0))){if(!((g|0)!=(m|0)|(e|0)==(i|0)^1)){e=1;o=2;break}if((g|0)!=(i|0)|(e|0)==(m|0)^1){e=11044;break}else e=1}else e=0}else e=2;e=h+12+(e<<2)|0}while(0);if((o|0)==2)e=h+12+(e<<2)|0;c[e>>2]=n;k=Oh(a,d,i,l)|0;c[k+12>>2]=c[b+12+4>>2];c[k+16>>2]=n+2;c[k+20>>2]=n;h=c[(c[a+12>>2]|0)+(c[b+12+4>>2]<<2)>>2]|0;e=c[h>>2]|0;f=c[h+4>>2]|0;do if((e|0)==(i|0)&(f|0)==(l|0)){e=2;o=10}else{if(!((e|0)==(l|0)&(f|0)==(i|0))){g=c[h+8>>2]|0;if((f|0)==(i|0)&(g|0)==(l|0)){e=0;o=10;break}if(!((f|0)==(l|0)&(g|0)==(i|0))){if(!((g|0)!=(i|0)|(e|0)==(l|0)^1)){e=1;o=10;break}if((g|0)!=(l|0)|(e|0)==(i|0)^1){e=11044;break}else e=1}else e=0}else e=2;e=h+12+(e<<2)|0}while(0);if((o|0)==10)e=h+12+(e<<2)|0;c[e>>2]=n+1;j=Oh(a,d,l,m)|0;c[j+12>>2]=c[b+12+8>>2];c[j+16>>2]=n;c[j+20>>2]=n+1;f=c[a+12>>2]|0;i=c[f+(c[b+12+8>>2]<<2)>>2]|0;e=c[i>>2]|0;g=c[i+4>>2]|0;do if((e|0)==(l|0)&(g|0)==(m|0)){e=2;o=18}else{if(!((e|0)==(m|0)&(g|0)==(l|0))){h=c[i+8>>2]|0;if((g|0)==(l|0)&(h|0)==(m|0)){e=0;o=18;break}if(!((g|0)==(m|0)&(h|0)==(l|0))){if(!((h|0)!=(l|0)|(e|0)==(m|0)^1)){e=1;o=18;break}if((h|0)!=(m|0)|(e|0)==(l|0)^1){e=11044;break}else e=1}else e=0}else e=2;e=i+12+(e<<2)|0}while(0);if((o|0)==18)e=i+12+(e<<2)|0;c[e>>2]=n+2;e=c[f+(c[p+12>>2]<<2)>>2]|0;if(!(((c[e>>2]|0)!=(d|0)?(c[e+4>>2]|0)!=(d|0):0)?(c[e+8>>2]|0)!=(d|0):0)){be(f,p,e);c[(c[a+12>>2]|0)+(c[p+24>>2]<<2)>>2]=0;c[6880]=(c[6880]|0)+1;kd(c[p+-4>>2]|0);c[(c[a+12>>2]|0)+(c[e+24>>2]<<2)>>2]=0;if(e|0){c[6880]=(c[6880]|0)+1;kd(c[e+-4>>2]|0)}f=c[a+12>>2]|0}e=c[f+(c[k+12>>2]<<2)>>2]|0;if(!(((c[e>>2]|0)!=(d|0)?(c[e+4>>2]|0)!=(d|0):0)?(c[e+8>>2]|0)!=(d|0):0)){be(f,k,e);c[(c[a+12>>2]|0)+(c[k+24>>2]<<2)>>2]=0;c[6880]=(c[6880]|0)+1;kd(c[k+-4>>2]|0);c[(c[a+12>>2]|0)+(c[e+24>>2]<<2)>>2]=0;if(e|0){c[6880]=(c[6880]|0)+1;kd(c[e+-4>>2]|0)}f=c[a+12>>2]|0}e=c[f+(c[j+12>>2]<<2)>>2]|0;if(((c[e>>2]|0)!=(d|0)?(c[e+4>>2]|0)!=(d|0):0)?(c[e+8>>2]|0)!=(d|0):0){a=f;d=b+24|0;d=c[d>>2]|0;d=a+(d<<2)|0;c[d>>2]=0;d=c[6880]|0;d=d+1|0;c[6880]=d;d=b+-4|0;d=c[d>>2]|0;kd(d);return}be(f,j,e);c[(c[a+12>>2]|0)+(c[j+24>>2]<<2)>>2]=0;c[6880]=(c[6880]|0)+1;kd(c[j+-4>>2]|0);c[(c[a+12>>2]|0)+(c[e+24>>2]<<2)>>2]=0;if(e|0){c[6880]=(c[6880]|0)+1;kd(c[e+-4>>2]|0)}a=c[a+12>>2]|0;d=b+24|0;d=c[d>>2]|0;d=a+(d<<2)|0;c[d>>2]=0;d=c[6880]|0;d=d+1|0;c[6880]=d;d=b+-4|0;d=c[d>>2]|0;kd(d);return}function Yd(a,b){a=a|0;b=b|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0.0,q=0.0;o=Ta;Ta=Ta+144|0;if((c[a+16>>2]|0)<=0){n=a+76|0;c[n>>2]=c[b>>2];c[n+4>>2]=c[b+4>>2];c[n+8>>2]=c[b+8>>2];c[n+12>>2]=c[b+12>>2];b=c[a>>2]|0;b=b+68|0;b=c[b>>2]|0;pb[b&511](a);Ta=o;return}l=o+16+16|0;k=o+16+32|0;n=o+16+48|0;m=0;do{j=c[a+24>>2]|0;i=j+(m*80|0)|0;c[o+16>>2]=c[i>>2];c[o+16+4>>2]=c[i+4>>2];c[o+16+8>>2]=c[i+8>>2];c[o+16+12>>2]=c[i+12>>2];i=j+(m*80|0)+16|0;c[l>>2]=c[i>>2];c[l+4>>2]=c[i+4>>2];c[l+8>>2]=c[i+8>>2];c[l+12>>2]=c[i+12>>2];i=j+(m*80|0)+32|0;c[k>>2]=c[i>>2];c[k+4>>2]=c[i+4>>2];c[k+8>>2]=c[i+8>>2];c[k+12>>2]=c[i+12>>2];i=j+(m*80|0)+48|0;c[n>>2]=c[i>>2];c[n+4>>2]=c[i+4>>2];c[n+8>>2]=c[i+8>>2];c[n+12>>2]=c[i+12>>2];j=c[j+(m*80|0)+64>>2]|0;j=eb[c[(c[j>>2]|0)+28>>2]&255](j)|0;c[o>>2]=c[j>>2];c[o+4>>2]=c[j+4>>2];c[o+8>>2]=c[j+8>>2];p=+f[o+4>>2]*+f[b+4>>2]/+f[a+80>>2];q=+f[o+8>>2]*+f[b+8>>2]/+f[a+84>>2];f[o>>2]=+f[o>>2]*+f[b>>2]/+f[a+76>>2];f[o+4>>2]=p;f[o+8>>2]=q;f[o+12>>2]=0.0;j=c[(c[a+24>>2]|0)+(m*80|0)+64>>2]|0;vb[c[(c[j>>2]|0)+24>>2]&255](j,o);q=+f[o+16+52>>2]*+f[b+4>>2]/+f[a+80>>2];p=+f[o+16+56>>2]*+f[b+8>>2]/+f[a+84>>2];f[o+16+48>>2]=+f[n>>2]*+f[b>>2]/+f[a+76>>2];f[o+16+52>>2]=q;f[o+16+56>>2]=p;f[o+16+60>>2]=0.0;j=c[a+24>>2]|0;i=j+(m*80|0)|0;c[i>>2]=c[o+16>>2];c[i+4>>2]=c[o+16+4>>2];c[i+8>>2]=c[o+16+8>>2];c[i+12>>2]=c[o+16+12>>2];i=j+(m*80|0)+16|0;c[i>>2]=c[l>>2];c[i+4>>2]=c[l+4>>2];c[i+8>>2]=c[l+8>>2];c[i+12>>2]=c[l+12>>2];i=j+(m*80|0)+32|0;c[i>>2]=c[k>>2];c[i+4>>2]=c[k+4>>2];c[i+8>>2]=c[k+8>>2];c[i+12>>2]=c[k+12>>2];j=j+(m*80|0)+48|0;c[j>>2]=c[n>>2];c[j+4>>2]=c[n+4>>2];c[j+8>>2]=c[n+8>>2];c[j+12>>2]=c[n+12>>2];if(c[a+64>>2]|0){i=c[(c[a+24>>2]|0)+(m*80|0)+64>>2]|0;Cb[c[(c[i>>2]|0)+8>>2]&127](i,o+16|0,o+128|0,o+112|0);c[o+80>>2]=c[o+128>>2];c[o+80+4>>2]=c[o+128+4>>2];c[o+80+8>>2]=c[o+128+8>>2];c[o+80+12>>2]=c[o+128+12>>2];c[o+80+16>>2]=c[o+112>>2];c[o+80+16+4>>2]=c[o+112+4>>2];c[o+80+16+8>>2]=c[o+112+8>>2];c[o+80+16+12>>2]=c[o+112+12>>2];i=c[a+64>>2]|0;j=c[(c[a+24>>2]|0)+(m*80|0)+76>>2]|0;d=ch(i,j)|0;a:do if(d){g=c[i+8>>2]|0;if((g|0)<=-1){d=c[i>>2]|0;break}if(g){h=0;e=d;while(1){d=c[e+32>>2]|0;h=h+1|0;if(!d){d=e;break a}if((h|0)>=(g|0))break;else e=d}}}else d=0;while(0);c[j>>2]=c[o+80>>2];c[j+4>>2]=c[o+80+4>>2];c[j+8>>2]=c[o+80+8>>2];c[j+12>>2]=c[o+80+12>>2];c[j+16>>2]=c[o+80+16>>2];c[j+20>>2]=c[o+80+20>>2];c[j+24>>2]=c[o+80+24>>2];c[j+28>>2]=c[o+80+28>>2];bf(i,d,j)}m=m+1|0}while((m|0)<(c[a+16>>2]|0));n=a+76|0;c[n>>2]=c[b>>2];c[n+4>>2]=c[b+4>>2];c[n+8>>2]=c[b+8>>2];c[n+12>>2]=c[b+12>>2];b=c[a>>2]|0;b=b+68|0;b=c[b>>2]|0;pb[b&511](a);Ta=o;return}function Zd(d,g,h,i,j,k){d=d|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;var l=0.0,m=0.0,n=0.0;c[d>>2]=10196;b[d+4>>1]=-2;b[d+6>>1]=-1;c[d+92>>2]=j;c[d+96>>2]=0;a[d+100>>0]=0;c[d+104>>2]=0;c[d+108>>2]=0;if(!j){c[6879]=(c[6879]|0)+1;j=Zb(95)|0;if(!j)j=0;else{c[(j+4+15&-16)+-4>>2]=j;j=j+4+15&-16}Hi(j);c[d+92>>2]=j;a[d+100>>0]=1}if(!k){c[6879]=(c[6879]|0)+1;j=Zb(43)|0;if(!j)j=0;else{c[(j+4+15&-16)+-4>>2]=j;j=j+4+15&-16}k=j+4|0;c[k>>2]=0;c[k+4>>2]=0;c[k+8>>2]=0;c[k+12>>2]=0;c[k+16>>2]=0;c[j>>2]=10260;a[j+20>>0]=1;c[j+16>>2]=0;c[j+8>>2]=0;c[j+12>>2]=0;c[d+112>>2]=j;c[6879]=(c[6879]|0)+1;j=Zb(215)|0;if(!j)j=0;else{c[(j+4+15&-16)+-4>>2]=j;j=j+4+15&-16}Th(j,c[d+112>>2]|0);c[d+108>>2]=j;a[j+193>>0]=1}c[d+8>>2]=c[g>>2];c[d+8+4>>2]=c[g+4>>2];c[d+8+8>>2]=c[g+8>>2];c[d+8+12>>2]=c[g+12>>2];c[d+24>>2]=c[h>>2];c[d+24+4>>2]=c[h+4>>2];c[d+24+8>>2]=c[h+8>>2];c[d+24+12>>2]=c[h+12>>2];n=+(e[d+6>>1]|0);m=n/(+f[d+28>>2]-+f[d+12>>2]);l=n/(+f[d+32>>2]-+f[d+16>>2]);f[d+40>>2]=n/(+f[d+24>>2]-+f[d+8>>2]);f[d+44>>2]=m;f[d+48>>2]=l;f[d+52>>2]=0.0;g=i+1&65535;c[6879]=(c[6879]|0)+1;j=Zb(g<<6|19)|0;if(!j)h=0;else{c[(j+4+15&-16)+-4>>2]=j;h=j+4+15&-16}if(i+1<<16>>16<<16>>16){k=h+(g<<6)|0;j=h;do{c[j>>2]=0;c[j+8>>2]=0;j=j+64|0}while((j|0)!=(k|0))}c[d+60>>2]=h;b[d+58>>1]=(i&65535)+1;b[d+56>>1]=0;b[d+64>>1]=1;if((i+1&65535)>1?(b[h+112>>1]=2,i+1<<16>>16<<16>>16!=2):0){j=2;do{i=j;j=j+1|0;b[h+(i<<6)+48>>1]=j}while((j|0)!=(g|0))}b[h+(g+-1<<6)+48>>1]=0;c[6879]=(c[6879]|0)+1;j=Zb((g<<3|3)+16|0)|0;if(!j)j=0;else{c[(j+4+15&-16)+-4>>2]=j;j=j+4+15&-16}c[d+80>>2]=j;c[d+68>>2]=j;c[6879]=(c[6879]|0)+1;j=Zb((g<<3|3)+16|0)|0;if(!j)j=0;else{c[(j+4+15&-16)+-4>>2]=j;j=j+4+15&-16}c[d+84>>2]=j;c[d+72>>2]=j;c[6879]=(c[6879]|0)+1;j=Zb((g<<3|3)+16|0)|0;if(!j){h=0;i=d+88|0;c[i>>2]=h;i=d+76|0;c[i>>2]=h;h=c[d+60>>2]|0;c[h>>2]=0;g=h+48|0;b[g>>1]=0;g=h+54|0;b[g>>1]=1;g=c[d+68>>2]|0;b[g>>1]=0;k=g+2|0;b[k>>1]=0;k=b[d+6>>1]|0;j=g+4|0;b[j>>1]=k;g=g+6|0;b[g>>1]=0;g=h+50|0;b[g>>1]=0;g=h+56|0;b[g>>1]=1;g=c[d+72>>2]|0;b[g>>1]=0;j=g+2|0;b[j>>1]=0;j=b[d+6>>1]|0;k=g+4|0;b[k>>1]=j;g=g+6|0;b[g>>1]=0;g=h+52|0;b[g>>1]=0;h=h+58|0;b[h>>1]=1;i=c[i>>2]|0;b[i>>1]=0;h=i+2|0;b[h>>1]=0;h=b[d+6>>1]|0;g=i+4|0;b[g>>1]=h;i=i+6|0;b[i>>1]=0;c[d>>2]=10132;return}c[(j+4+15&-16)+-4>>2]=j;h=j+4+15&-16;i=d+88|0;c[i>>2]=h;i=d+76|0;c[i>>2]=h;h=c[d+60>>2]|0;c[h>>2]=0;g=h+48|0;b[g>>1]=0;g=h+54|0;b[g>>1]=1;g=c[d+68>>2]|0;b[g>>1]=0;k=g+2|0;b[k>>1]=0;k=b[d+6>>1]|0;j=g+4|0;b[j>>1]=k;g=g+6|0;b[g>>1]=0;g=h+50|0;b[g>>1]=0;g=h+56|0;b[g>>1]=1;g=c[d+72>>2]|0;b[g>>1]=0;j=g+2|0;b[j>>1]=0;j=b[d+6>>1]|0;k=g+4|0;b[k>>1]=j;g=g+6|0;b[g>>1]=0;g=h+52|0;b[g>>1]=0;h=h+58|0;b[h>>1]=1;i=c[i>>2]|0;b[i>>1]=0;h=i+2|0;b[h>>1]=0;h=b[d+6>>1]|0;g=i+4|0;b[g>>1]=h;i=i+6|0;b[i>>1]=0;c[d>>2]=10132;return}function _d(b,d,e,g){b=b|0;d=d|0;e=e|0;g=g|0;var h=0,i=0.0,j=0.0,k=0.0,l=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0,C=0.0,D=0.0,E=0.0;Fl();c[b+4>>2]=6;c[b+8>>2]=-1;c[b+12>>2]=-1;f[b+16>>2]=3402823466385288598117041.0e14;a[b+20>>0]=1;a[b+21>>0]=0;c[b+24>>2]=-1;c[b+28>>2]=26168;c[b+32>>2]=d;f[b+36>>2]=0.0;f[b+40>>2]=.30000001192092896;c[b+44>>2]=0;c[b>>2]=5628;c[b+112>>2]=c[e>>2];c[b+112+4>>2]=c[e+4>>2];c[b+112+8>>2]=c[e+8>>2];c[b+112+12>>2]=c[e+12>>2];c[b+128>>2]=c[e+16>>2];c[b+128+4>>2]=c[e+16+4>>2];c[b+128+8>>2]=c[e+16+8>>2];c[b+128+12>>2]=c[e+16+12>>2];c[b+144>>2]=c[e+32>>2];c[b+144+4>>2]=c[e+32+4>>2];c[b+144+8>>2]=c[e+32+8>>2];c[b+144+12>>2]=c[e+32+12>>2];c[b+160>>2]=c[e+48>>2];c[b+160+4>>2]=c[e+48+4>>2];c[b+160+8>>2]=c[e+48+8>>2];c[b+160+12>>2]=c[e+48+12>>2];e=b+680|0;h=e+48|0;do{c[e>>2]=0;e=e+4|0}while((e|0)<(h|0));c[b+740>>2]=0;c[b+740+4>>2]=0;c[b+740+8>>2]=0;c[b+740+12>>2]=0;c[b+756>>2]=1045220557;c[b+760>>2]=1045220557;c[b+764>>2]=1045220557;c[b+768>>2]=0;c[b+768+4>>2]=0;c[b+768+8>>2]=0;c[b+768+12>>2]=0;c[b+768+16>>2]=0;f[b+728>>2]=.699999988079071;f[b+732>>2]=1.0;f[b+736>>2]=.5;a[b+788>>0]=0;a[b+788+1>>0]=0;a[b+788+2>>0]=0;c[b+792>>2]=0;c[b+792+4>>2]=0;c[b+792+8>>2]=0;c[b+808>>2]=0;c[b+808+4>>2]=0;c[b+808+8>>2]=0;f[b+928>>2]=0.0;f[b+876>>2]=0.0;f[b+880>>2]=.10000000149011612;f[b+884>>2]=300.0;f[b+868>>2]=1.0;f[b+872>>2]=-1.0;f[b+896>>2]=0.0;f[b+900>>2]=.20000000298023224;f[b+904>>2]=0.0;f[b+908>>2]=0.0;f[b+888>>2]=1.0;f[b+892>>2]=.5;c[b+924>>2]=0;f[b+916>>2]=0.0;a[b+912>>0]=0;f[b+992>>2]=0.0;f[b+940>>2]=0.0;f[b+944>>2]=.10000000149011612;f[b+948>>2]=300.0;f[b+932>>2]=1.0;f[b+936>>2]=-1.0;f[b+960>>2]=0.0;f[b+964>>2]=.20000000298023224;f[b+968>>2]=0.0;f[b+972>>2]=0.0;f[b+952>>2]=1.0;f[b+956>>2]=.5;c[b+988>>2]=0;f[b+980>>2]=0.0;a[b+976>>0]=0;f[b+1056>>2]=0.0;f[b+1004>>2]=0.0;f[b+1008>>2]=.10000000149011612;f[b+1012>>2]=300.0;f[b+996>>2]=1.0;f[b+1e3>>2]=-1.0;f[b+1024>>2]=0.0;f[b+1028>>2]=.20000000298023224;f[b+1032>>2]=0.0;f[b+1036>>2]=0.0;f[b+1016>>2]=1.0;f[b+1020>>2]=.5;c[b+1052>>2]=0;f[b+1044>>2]=0.0;a[b+1040>>0]=0;a[b+1300>>0]=g&1;a[b+1301>>0]=1;c[b+1304>>2]=0;a[b+1308>>0]=0;w=+f[b+112>>2];C=+f[d+4>>2];v=+f[b+128>>2];B=+f[d+8>>2];u=+f[b+144>>2];A=+f[d+12>>2];t=+f[b+116>>2];s=+f[b+132>>2];r=+f[b+148>>2];q=+f[b+120>>2];o=+f[b+136>>2];m=+f[b+152>>2];z=+f[d+20>>2];y=+f[d+24>>2];x=+f[d+28>>2];p=+f[d+36>>2];n=+f[d+40>>2];l=+f[d+44>>2];E=+f[b+160>>2];D=+f[b+164>>2];i=+f[b+168>>2];k=+f[d+52>>2]+(C*E+B*D+A*i);j=z*E+y*D+x*i+ +f[d+56>>2];i=p*E+n*D+l*i+ +f[d+60>>2];f[b+48>>2]=w*C+v*B+u*A;f[b+52>>2]=C*t+B*s+A*r;f[b+56>>2]=C*q+B*o+A*m;f[b+60>>2]=0.0;f[b+64>>2]=w*z+v*y+u*x;f[b+68>>2]=t*z+s*y+r*x;f[b+72>>2]=q*z+o*y+m*x;f[b+76>>2]=0.0;f[b+80>>2]=w*p+v*n+u*l;f[b+84>>2]=t*p+s*n+r*l;f[b+88>>2]=q*p+o*n+m*l;f[b+92>>2]=0.0;f[b+96>>2]=k;f[b+100>>2]=j;f[b+104>>2]=i;f[b+108>>2]=0.0;Xc(b,(c[b+28>>2]|0)+4|0,(c[b+32>>2]|0)+4|0);return}function $d(b,d,e,g,h){b=b|0;d=d|0;e=e|0;g=g|0;h=h|0;var i=0.0,j=0.0,k=0.0,l=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0,C=0.0,D=0.0,E=0.0,F=0.0,G=0.0,H=0.0,I=0.0,J=0.0,K=0.0,L=0.0,M=0.0,N=0.0,O=0.0,P=0.0,Q=0.0,R=0.0,S=0.0,T=0.0,U=0.0,V=0,W=0.0,X=0.0;V=Ta;Ta=Ta+240|0;g=(a[b+8>>0]|0)!=0;h=g?e:d;g=g?d:e;R=+f[h+116>>2]-+f[h+52>>2];S=+f[h+120>>2]-+f[h+56>>2];T=+f[h+124>>2]-+f[h+60>>2];U=+f[h+252>>2];if(R*R+S*S+T*T>2];o=+f[g+20>>2];p=+f[g+36>>2];q=+f[g+8>>2];r=+f[g+24>>2];s=+f[g+40>>2];t=+f[g+12>>2];u=+f[g+28>>2];v=+f[g+44>>2];j=-+f[g+52>>2];k=-+f[g+56>>2];l=-+f[g+60>>2];w=+f[h+4>>2];x=+f[h+20>>2];y=+f[h+36>>2];z=+f[h+8>>2];A=+f[h+24>>2];B=+f[h+40>>2];C=+f[h+12>>2];D=+f[h+28>>2];E=+f[h+44>>2];G=+f[h+52>>2];F=+f[h+56>>2];S=+f[h+60>>2];Q=O*j+o*k+p*l+(O*G+o*F+p*S);U=q*j+r*k+s*l+(q*G+r*F+s*S);S=t*j+u*k+v*l+(t*G+u*F+v*S);F=+f[h+68>>2];G=+f[h+84>>2];H=+f[h+100>>2];I=+f[h+72>>2];J=+f[h+88>>2];K=+f[h+104>>2];L=+f[h+76>>2];M=+f[h+92>>2];N=+f[h+108>>2];m=+f[h+116>>2];n=+f[h+120>>2];R=+f[h+124>>2];P=O*j+o*k+p*l+(O*m+o*n+p*R);T=q*j+r*k+s*l+(q*m+r*n+s*R);R=t*j+u*k+v*l+(t*m+u*n+v*R);g=c[g+192>>2]|0;if(((c[g+4>>2]|0)+-21|0)>>>0>=9){W=1.0;Ta=V;return +W}f[V+224>>2]=Q;f[V+224+4>>2]=U;f[V+224+8>>2]=S;f[V+224+12>>2]=0.0;if(P>2]=P;i=P}else i=Q;if(T>2]=T;j=T}else j=U;if(R>2]=R;k=R}else k=S;f[V+208>>2]=Q;f[V+208+4>>2]=U;f[V+208+8>>2]=S;f[V+208+12>>2]=0.0;if(Q>2]=P;l=P}else l=Q;if(U>2]=T;m=T}else m=U;if(S>2]=R;n=R}else n=S;X=+f[h+248>>2];f[V+224>>2]=i-X;f[V+224+4>>2]=j-X;f[V+224+8>>2]=k-X;f[V+208>>2]=X+l;f[V+208+4>>2]=X+m;f[V+208+8>>2]=X+n;c[V>>2]=4868;f[V+4>>2]=O*w+o*x+p*y;f[V+8>>2]=O*z+o*A+p*B;f[V+12>>2]=O*C+o*D+p*E;f[V+16>>2]=0.0;f[V+20>>2]=q*w+r*x+s*y;f[V+24>>2]=q*z+r*A+s*B;f[V+28>>2]=q*C+r*D+s*E;f[V+32>>2]=0.0;f[V+36>>2]=t*w+u*x+v*y;f[V+40>>2]=t*z+u*A+v*B;f[V+44>>2]=t*C+u*D+v*E;f[V+48>>2]=0.0;f[V+52>>2]=Q;f[V+56>>2]=U;f[V+60>>2]=S;f[V+64>>2]=0.0;f[V+68>>2]=O*F+o*G+p*H;f[V+72>>2]=O*I+o*J+p*K;f[V+76>>2]=O*L+o*M+p*N;f[V+80>>2]=0.0;f[V+84>>2]=q*F+r*G+s*H;f[V+88>>2]=q*I+r*J+s*K;f[V+92>>2]=q*L+r*M+s*N;f[V+96>>2]=0.0;f[V+100>>2]=t*F+u*G+v*H;f[V+104>>2]=t*I+u*J+v*K;f[V+108>>2]=t*L+u*M+v*N;f[V+112>>2]=0.0;f[V+116>>2]=P;f[V+120>>2]=T;f[V+124>>2]=R;f[V+128>>2]=0.0;f[V+196>>2]=X;c[V+200>>2]=c[h+244>>2];if(g|0?(Cb[c[(c[g>>2]|0)+64>>2]&127](g,V,V+224|0,V+208|0),W=+f[V+200>>2],W<+f[h+244>>2]):0){f[h+244>>2]=W;X=W;Ta=V;return +X}X=1.0;Ta=V;return +X}function ae(b,d,e,g,h){b=b|0;d=d|0;e=e|0;g=g|0;h=h|0;var i=0.0,j=0.0,k=0.0,l=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0,C=0.0,D=0.0,E=0.0,F=0.0,G=0.0,H=0.0,I=0.0,J=0.0,K=0.0,L=0.0,M=0.0,N=0.0,O=0.0,P=0.0,Q=0.0,R=0.0,S=0.0,T=0.0,U=0.0,V=0,W=0.0,X=0.0;V=Ta;Ta=Ta+240|0;g=(a[b+8>>0]|0)!=0;h=g?e:d;g=g?d:e;R=+f[h+116>>2]-+f[h+52>>2];S=+f[h+120>>2]-+f[h+56>>2];T=+f[h+124>>2]-+f[h+60>>2];U=+f[h+252>>2];if(R*R+S*S+T*T>2];o=+f[g+20>>2];p=+f[g+36>>2];q=+f[g+8>>2];r=+f[g+24>>2];s=+f[g+40>>2];t=+f[g+12>>2];u=+f[g+28>>2];v=+f[g+44>>2];j=-+f[g+52>>2];k=-+f[g+56>>2];l=-+f[g+60>>2];w=+f[h+4>>2];x=+f[h+20>>2];y=+f[h+36>>2];z=+f[h+8>>2];A=+f[h+24>>2];B=+f[h+40>>2];C=+f[h+12>>2];D=+f[h+28>>2];E=+f[h+44>>2];G=+f[h+52>>2];F=+f[h+56>>2];S=+f[h+60>>2];Q=O*j+o*k+p*l+(O*G+o*F+p*S);U=q*j+r*k+s*l+(q*G+r*F+s*S);S=t*j+u*k+v*l+(t*G+u*F+v*S);F=+f[h+68>>2];G=+f[h+84>>2];H=+f[h+100>>2];I=+f[h+72>>2];J=+f[h+88>>2];K=+f[h+104>>2];L=+f[h+76>>2];M=+f[h+92>>2];N=+f[h+108>>2];m=+f[h+116>>2];n=+f[h+120>>2];R=+f[h+124>>2];P=O*j+o*k+p*l+(O*m+o*n+p*R);T=q*j+r*k+s*l+(q*m+r*n+s*R);R=t*j+u*k+v*l+(t*m+u*n+v*R);g=c[g+192>>2]|0;if(((c[g+4>>2]|0)+-21|0)>>>0>=9){W=1.0;Ta=V;return +W}f[V+224>>2]=Q;f[V+224+4>>2]=U;f[V+224+8>>2]=S;f[V+224+12>>2]=0.0;if(P>2]=P;i=P}else i=Q;if(T>2]=T;j=T}else j=U;if(R>2]=R;k=R}else k=S;f[V+208>>2]=Q;f[V+208+4>>2]=U;f[V+208+8>>2]=S;f[V+208+12>>2]=0.0;if(Q>2]=P;l=P}else l=Q;if(U>2]=T;m=T}else m=U;if(S>2]=R;n=R}else n=S;X=+f[h+248>>2];f[V+224>>2]=i-X;f[V+224+4>>2]=j-X;f[V+224+8>>2]=k-X;f[V+208>>2]=X+l;f[V+208+4>>2]=X+m;f[V+208+8>>2]=X+n;c[V>>2]=6852;f[V+4>>2]=O*w+o*x+p*y;f[V+8>>2]=O*z+o*A+p*B;f[V+12>>2]=O*C+o*D+p*E;f[V+16>>2]=0.0;f[V+20>>2]=q*w+r*x+s*y;f[V+24>>2]=q*z+r*A+s*B;f[V+28>>2]=q*C+r*D+s*E;f[V+32>>2]=0.0;f[V+36>>2]=t*w+u*x+v*y;f[V+40>>2]=t*z+u*A+v*B;f[V+44>>2]=t*C+u*D+v*E;f[V+48>>2]=0.0;f[V+52>>2]=Q;f[V+56>>2]=U;f[V+60>>2]=S;f[V+64>>2]=0.0;f[V+68>>2]=O*F+o*G+p*H;f[V+72>>2]=O*I+o*J+p*K;f[V+76>>2]=O*L+o*M+p*N;f[V+80>>2]=0.0;f[V+84>>2]=q*F+r*G+s*H;f[V+88>>2]=q*I+r*J+s*K;f[V+92>>2]=q*L+r*M+s*N;f[V+96>>2]=0.0;f[V+100>>2]=t*F+u*G+v*H;f[V+104>>2]=t*I+u*J+v*K;f[V+108>>2]=t*L+u*M+v*N;f[V+112>>2]=0.0;f[V+116>>2]=P;f[V+120>>2]=T;f[V+124>>2]=R;f[V+128>>2]=0.0;f[V+196>>2]=X;c[V+200>>2]=c[h+244>>2];if(g|0?(Cb[c[(c[g>>2]|0)+64>>2]&127](g,V,V+224|0,V+208|0),W=+f[V+200>>2],W<+f[h+244>>2]):0){f[h+244>>2]=W;X=W;Ta=V;return +X}X=1.0;Ta=V;return +X}function be(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;m=0;do{k=m;m=m+1|0;l=(m|0)==3;j=c[b+((l?0:m)<<2)>>2]|0;k=c[b+((((k+2|0)>>>0)%3|0)<<2)>>2]|0;e=c[d>>2]|0;f=c[d+4>>2]|0;do if((e|0)==(k|0)&(f|0)==(j|0)){e=2;n=3}else{if(!((e|0)==(j|0)&(f|0)==(k|0))){g=c[d+8>>2]|0;if((f|0)==(k|0)&(g|0)==(j|0)){e=0;n=3;break}if(!((f|0)==(j|0)&(g|0)==(k|0))){if(!((g|0)!=(k|0)|(e|0)==(j|0)^1)){e=1;n=3;break}if((g|0)!=(j|0)|(e|0)==(k|0)^1){e=11044;break}else e=1}else e=0}else e=2;e=d+12+(e<<2)|0}while(0);if((n|0)==3){n=0;e=d+12+(e<<2)|0}i=c[e>>2]|0;e=c[b>>2]|0;f=c[b+4>>2]|0;do if((e|0)==(j|0)&(f|0)==(k|0)){e=2;n=11}else{if(!((e|0)==(k|0)&(f|0)==(j|0))){g=c[b+8>>2]|0;if((f|0)==(j|0)&(g|0)==(k|0)){e=0;n=11;break}if(!((f|0)==(k|0)&(g|0)==(j|0))){if(!((g|0)!=(j|0)|(e|0)==(k|0)^1)){e=1;n=11;break}if((g|0)!=(k|0)|(e|0)==(j|0)^1){e=11044;break}else e=1}else e=0}else e=2;e=b+12+(e<<2)|0}while(0);if((n|0)==11){n=0;e=b+12+(e<<2)|0}h=c[a+(c[e>>2]<<2)>>2]|0;e=c[h>>2]|0;f=c[h+4>>2]|0;do if((e|0)==(k|0)&(f|0)==(j|0)){e=2;n=19}else{if(!((e|0)==(j|0)&(f|0)==(k|0))){g=c[h+8>>2]|0;if((f|0)==(k|0)&(g|0)==(j|0)){e=0;n=19;break}if(!((f|0)==(j|0)&(g|0)==(k|0))){if(!((g|0)!=(k|0)|(e|0)==(j|0)^1)){e=1;n=19;break}if((g|0)!=(j|0)|(e|0)==(k|0)^1){e=11044;break}else e=1}else e=0}else e=2;e=h+12+(e<<2)|0}while(0);if((n|0)==19){n=0;e=h+12+(e<<2)|0}c[e>>2]=i;e=c[b>>2]|0;f=c[b+4>>2]|0;do if((e|0)==(j|0)&(f|0)==(k|0)){e=2;n=27}else{if(!((e|0)==(k|0)&(f|0)==(j|0))){g=c[b+8>>2]|0;if((f|0)==(j|0)&(g|0)==(k|0)){e=0;n=27;break}if(!((f|0)==(k|0)&(g|0)==(j|0))){if(!((g|0)!=(j|0)|(e|0)==(k|0)^1)){e=1;n=27;break}if((g|0)!=(k|0)|(e|0)==(j|0)^1){e=11044;break}else e=1}else e=0}else e=2;e=b+12+(e<<2)|0}while(0);if((n|0)==27){n=0;e=b+12+(e<<2)|0}i=c[e>>2]|0;e=c[d>>2]|0;f=c[d+4>>2]|0;do if((e|0)==(k|0)&(f|0)==(j|0)){e=2;n=35}else{if(!((e|0)==(j|0)&(f|0)==(k|0))){g=c[d+8>>2]|0;if((f|0)==(k|0)&(g|0)==(j|0)){e=0;n=35;break}if(!((f|0)==(j|0)&(g|0)==(k|0))){if(!((g|0)!=(k|0)|(e|0)==(j|0)^1)){e=1;n=35;break}if((g|0)!=(j|0)|(e|0)==(k|0)^1){e=11044;break}else e=1}else e=0}else e=2;e=d+12+(e<<2)|0}while(0);if((n|0)==35){n=0;e=d+12+(e<<2)|0}h=c[a+(c[e>>2]<<2)>>2]|0;e=c[h>>2]|0;f=c[h+4>>2]|0;do if((e|0)==(j|0)&(f|0)==(k|0)){e=2;n=43}else{if(!((e|0)==(k|0)&(f|0)==(j|0))){g=c[h+8>>2]|0;if((f|0)==(j|0)&(g|0)==(k|0)){e=0;n=43;break}if(!((f|0)==(k|0)&(g|0)==(j|0))){if(!((g|0)!=(j|0)|(e|0)==(k|0)^1)){e=1;n=43;break}if((g|0)!=(k|0)|(e|0)==(j|0)^1){e=11044;break}else e=1}else e=0}else e=2;e=h+12+(e<<2)|0}while(0);if((n|0)==43){n=0;e=h+12+(e<<2)|0}c[e>>2]=i}while(!l);return}function ce(d,e,g,i){d=d|0;e=e|0;g=g|0;i=i|0;var j=0,k=0,l=0,m=0.0,n=0,o=0.0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0.0,z=0.0,A=0.0,B=0.0,C=0.0,D=0.0,E=0.0,F=0.0,G=0.0,H=0.0;o=+f[e>>2];k=(f[h>>2]=o,c[h>>2]|0);u=o<999999984306749440.0?k:1566444395;m=+f[e+4>>2];n=(f[h>>2]=m,c[h>>2]|0);v=m<999999984306749440.0?n:1566444395;y=+f[e+8>>2];q=(f[h>>2]=y,c[h>>2]|0);w=y<999999984306749440.0?q:1566444395;k=o>-999999984306749440.0?k:-581039253;n=m>-999999984306749440.0?n:-581039253;q=y>-999999984306749440.0?q:-581039253;y=+f[e+16>>2];t=y<(c[h>>2]=u,+f[h>>2]);j=(f[h>>2]=y,c[h>>2]|0);u=t?j:u;m=+f[e+20>>2];t=m<(c[h>>2]=v,+f[h>>2]);l=(f[h>>2]=m,c[h>>2]|0);v=t?l:v;o=+f[e+24>>2];t=o<(c[h>>2]=w,+f[h>>2]);p=(f[h>>2]=o,c[h>>2]|0);w=t?p:w;k=y>(c[h>>2]=k,+f[h>>2])?j:k;j=m>(c[h>>2]=n,+f[h>>2])?l:n;r=o>(c[h>>2]=q,+f[h>>2])?p:q;y=+f[e+32>>2];s=y<(c[h>>2]=u,+f[h>>2]);p=(f[h>>2]=y,c[h>>2]|0);m=+f[e+36>>2];t=m<(c[h>>2]=v,+f[h>>2]);q=(f[h>>2]=m,c[h>>2]|0);o=+f[e+40>>2];n=o<(c[h>>2]=w,+f[h>>2]);l=(f[h>>2]=o,c[h>>2]|0);k=y>(c[h>>2]=k,+f[h>>2])?p:k;j=m>(c[h>>2]=j,+f[h>>2])?q:j;r=o>(c[h>>2]=r,+f[h>>2])?l:r;G=(c[h>>2]=k,+f[h>>2]);H=(c[h>>2]=s?p:u,+f[h>>2]);C=(c[h>>2]=j,+f[h>>2]);D=(c[h>>2]=t?q:v,+f[h>>2]);m=(c[h>>2]=r,+f[h>>2]);z=(c[h>>2]=n?l:w,+f[h>>2]);p=c[d+8>>2]|0;F=+f[p+4>>2];B=+f[p+8>>2];o=+f[p+12>>2];E=+f[p+36>>2];A=+f[p+40>>2];y=+f[p+44>>2];p=~~(((G-H<2.0000000949949026e-03?H+-1.0000000474974513e-03:H)-F)*E)&65535&-2;q=~~(((C-D<2.0000000949949026e-03?D+-1.0000000474974513e-03:D)-B)*A)&65535&-2;r=~~(((m-z<2.0000000949949026e-03?z+-1.0000000474974513e-03:z)-o)*y)&65535&-2;s=~~(((G-H<2.0000000949949026e-03?G+1.0000000474974513e-03:G)-F)*E+1.0)&65535|1;t=~~(((C-D<2.0000000949949026e-03?C+1.0000000474974513e-03:C)-B)*A+1.0)&65535|1;e=~~(((m-z<2.0000000949949026e-03?m+1.0000000474974513e-03:m)-o)*y+1.0)&65535|1;n=c[d+4>>2]|0;j=c[n+4>>2]|0;if((j|0)==(c[n+8>>2]|0)?(x=(j|0)==0?1:j<<1,(j|0)<(x|0)):0){if(!x)k=0;else{c[6879]=(c[6879]|0)+1;j=Zb((x<<4|3)+16|0)|0;if(!j)k=0;else{c[(j+4+15&-16)+-4>>2]=j;k=j+4+15&-16}j=c[n+4>>2]|0}if((j|0)>0){l=0;do{d=k+(l<<4)|0;w=(c[n+12>>2]|0)+(l<<4)|0;c[d>>2]=c[w>>2];c[d+4>>2]=c[w+4>>2];c[d+8>>2]=c[w+8>>2];c[d+12>>2]=c[w+12>>2];l=l+1|0}while((l|0)!=(j|0))}j=c[n+12>>2]|0;if(j|0){if(a[n+16>>0]|0){c[6880]=(c[6880]|0)+1;kd(c[j+-4>>2]|0)}c[n+12>>2]=0}a[n+16>>0]=1;c[n+12>>2]=k;c[n+8>>2]=x;j=c[n+4>>2]|0}x=c[n+12>>2]|0;b[x+(j<<4)>>1]=p;b[x+(j<<4)+2>>1]=q;b[x+(j<<4)+4>>1]=r;b[x+(j<<4)+6>>1]=s;b[x+(j<<4)+8>>1]=t;b[x+(j<<4)+10>>1]=e;c[x+(j<<4)+12>>2]=g<<21|i;c[n+4>>2]=(c[n+4>>2]|0)+1;return}function de(b,d){b=b|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0;l=Ta;Ta=Ta+336|0;d=c[d+36>>2]|0;c[l+272+4>>2]=35;c[l+272+8>>2]=0;c[l+272+12>>2]=1065353216;c[l+272+16>>2]=1065353216;c[l+272+20>>2]=1065353216;f[l+272+24>>2]=0.0;c[l+272>>2]=4636;c[l+272+52>>2]=d;f[l+272+44>>2]=0.0;j=c[b+28>>2]|0;g=c[j+4>>2]|0;if(c[(c[j+8>>2]|0)+204>>2]&3|0?a[d+376>>0]|0:0){Ta=l;return}if((a[25408]|0)==0?kP(25408)|0:0){if((a[25416]|0)==0?kP(25416)|0:0){c[6480]=1065353216;c[6481]=0;c[6482]=0;c[6483]=0;c[6484]=0;c[6485]=1065353216;c[6486]=0;c[6487]=0;c[6488]=0;c[6489]=0;c[6490]=1065353216;f[6491]=0.0;kO(25416)}c[6464]=c[6480];c[6465]=c[6481];c[6466]=c[6482];c[6467]=c[6483];c[6468]=c[6484];c[6469]=c[6485];c[6470]=c[6486];c[6471]=c[6487];c[6472]=c[6488];c[6473]=c[6489];c[6474]=c[6490];c[6475]=c[6491];c[6476]=0;c[6477]=0;c[6478]=0;c[6479]=0;kO(25408)}e=c[(c[b+28>>2]|0)+12>>2]|0;c[l>>2]=1065353216;c[l+4>>2]=0;c[l+8>>2]=0;f[l+12>>2]=0.0;if(!(!(wd(l+272|0,25856,g,e,l,l+216|0)|0)?!(qc(l+272|0,25856,g,e,l,l+216|0,0)|0):0))h=12;if((h|0)==12?(c[l+4>>2]=0,c[l+4+4>>2]=0,c[l+4+8>>2]=0,c[l+4+12>>2]=0,c[l+4+16>>2]=0,c[l+4+20>>2]=0,a[l+152>>0]=0,c[l>>2]=4456,j=c[(c[b+28>>2]|0)+8>>2]|0,Nc(b,l+216|0,d,0,0,0,(c[j+236>>2]&2|0)==0?0:j,j,l)|0):0){c[6879]=(c[6879]|0)+1;d=Zb(235)|0;if(!d)j=0;else{c[(d+4+15&-16)+-4>>2]=d;j=d+4+15&-16}e=j+4|0;d=j+152|0;el(e|0,0,212)|0;c[j>>2]=4456;g=l+4|0;h=e+100|0;do{c[e>>2]=c[g>>2];e=e+4|0;g=g+4|0}while((e|0)<(h|0));e=j+104|0;c[e>>2]=c[l+104>>2];c[e+4>>2]=c[l+104+4>>2];c[e+8>>2]=c[l+104+8>>2];c[e+12>>2]=c[l+104+12>>2];e=j+120|0;c[e>>2]=c[l+120>>2];c[e+4>>2]=c[l+120+4>>2];c[e+8>>2]=c[l+120+8>>2];c[e+12>>2]=c[l+120+12>>2];e=j+136|0;c[e>>2]=c[l+136>>2];c[e+4>>2]=c[l+136+4>>2];c[e+8>>2]=c[l+136+8>>2];c[e+12>>2]=c[l+136+12>>2];a[d>>0]=a[l+152>>0]|0;e=j+156|0;g=l+156|0;h=e+60|0;do{c[e>>2]=c[g>>2];e=e+4|0;g=g+4|0}while((e|0)<(h|0));h=c[b+24>>2]|0;i=j;d=c[h+852>>2]|0;if((d|0)==(c[h+856>>2]|0)?(k=(d|0)==0?1:d<<1,(d|0)<(k|0)):0){if(!k)e=0;else{c[6879]=(c[6879]|0)+1;d=Zb((k<<2|3)+16|0)|0;if(!d)e=0;else{c[(d+4+15&-16)+-4>>2]=d;e=d+4+15&-16}d=c[h+852>>2]|0}if((d|0)>0){g=0;do{c[e+(g<<2)>>2]=c[(c[h+860>>2]|0)+(g<<2)>>2];g=g+1|0}while((g|0)!=(d|0))}g=c[h+860>>2]|0;if(g){if(a[h+864>>0]|0){c[6880]=(c[6880]|0)+1;kd(c[g+-4>>2]|0);d=c[h+852>>2]|0}c[h+860>>2]=0}a[h+864>>0]=1;c[h+860>>2]=e;c[h+856>>2]=k}c[(c[h+860>>2]|0)+(d<<2)>>2]=i;c[h+852>>2]=d+1;d=c[b+24>>2]|0;if(!(c[(c[(c[b+28>>2]|0)+8>>2]|0)+204>>2]&3)){b=j+64|0;f[b>>2]=+f[d+340>>2]*+f[b>>2];d=d+352|0}else{b=j+64|0;f[b>>2]=+f[d+344>>2]*+f[b>>2];d=d+356|0}b=j+68|0;f[b>>2]=+f[d>>2]*+f[b>>2]}Ta=l;return}function ee(b,d,e,g){b=b|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;if(!((d|0)!=0&(e|0)!=0))return;if((c[b+24>>2]|0)<128?(c[b+28>>2]|0)<128:0){c[6879]=(c[6879]|0)+1;h=Zb(1043)|0;if(!h)j=0;else{c[(h+4+15&-16)+-4>>2]=h;j=h+4+15&-16}h=c[b+24>>2]|0;if((h|0)>0){i=0;do{k=(c[b+32>>2]|0)+(i<<3)|0;l=c[k+4>>2]|0;m=j+(i<<3)|0;c[m>>2]=c[k>>2];c[m+4>>2]=l;i=i+1|0}while((i|0)!=(h|0))}h=c[b+32>>2]|0;if(h|0){if(a[b+36>>0]|0){c[6880]=(c[6880]|0)+1;kd(c[h+-4>>2]|0)}c[b+32>>2]=0}a[b+36>>0]=1;c[b+32>>2]=j;c[b+28>>2]=128}c[b+24>>2]=128;k=c[b+32>>2]|0;c[k>>2]=d;c[k+4>>2]=e;k=1;j=124;while(1){h=k+-1|0;i=c[b+32>>2]|0;l=c[i+(h<<3)>>2]|0;m=c[i+(h<<3)+4>>2]|0;if((h|0)>(j|0)){e=c[b+24>>2]|0;if((e|0)<(e<<1|0)?(c[b+28>>2]|0)<(e<<1|0):0){if(e){c[6879]=(c[6879]|0)+1;i=Zb((e<<4|3)+16|0)|0;if(!i)d=0;else{c[(i+4+15&-16)+-4>>2]=i;d=i+4+15&-16}i=c[b+24>>2]|0;if((i|0)>0){j=0;do{p=(c[b+32>>2]|0)+(j<<3)|0;o=c[p+4>>2]|0;n=d+(j<<3)|0;c[n>>2]=c[p>>2];c[n+4>>2]=o;j=j+1|0}while((j|0)!=(i|0));i=d}else i=d}else{i=0;d=0}j=c[b+32>>2]|0;if(j|0){if(a[b+36>>0]|0){c[6880]=(c[6880]|0)+1;kd(c[j+-4>>2]|0)}c[b+32>>2]=0}a[b+36>>0]=1;c[b+32>>2]=d;c[b+28>>2]=e<<1}c[b+24>>2]=e<<1;j=(e<<1)+-4|0}do if((l|0)==(m|0)){if(c[l+40>>2]|0){p=c[l+36>>2]|0;c[i+(h<<3)>>2]=p;c[i+(h<<3)+4>>2]=p;p=c[l+40>>2]|0;h=k+1|0;o=c[b+32>>2]|0;c[o+(k<<3)>>2]=p;c[o+(k<<3)+4>>2]=p;o=c[l+40>>2]|0;p=c[b+32>>2]|0;c[p+(h<<3)>>2]=c[l+36>>2];c[p+(h<<3)+4>>2]=o;h=k+2|0}}else if(((((+f[l>>2]<=+f[m+16>>2]?+f[l+16>>2]>=+f[m>>2]:0)?+f[l+4>>2]<=+f[m+20>>2]:0)?+f[l+20>>2]>=+f[m+4>>2]:0)?+f[l+8>>2]<=+f[m+24>>2]:0)?+f[l+24>>2]>=+f[m+8>>2]:0){e=(c[m+40>>2]|0)!=0;if(!(c[l+40>>2]|0))if(e){p=c[m+36>>2]|0;c[i+(h<<3)>>2]=l;c[i+(h<<3)+4>>2]=p;p=c[m+40>>2]|0;h=c[b+32>>2]|0;c[h+(k<<3)>>2]=l;c[h+(k<<3)+4>>2]=p;h=k+1|0;break}else{zb[c[(c[g>>2]|0)+8>>2]&127](g,l,m);break}else{d=c[l+36>>2]|0;if(e){o=c[m+36>>2]|0;c[i+(h<<3)>>2]=d;c[i+(h<<3)+4>>2]=o;h=c[m+36>>2]|0;o=k+1|0;n=c[b+32>>2]|0;c[n+(k<<3)>>2]=c[l+40>>2];c[n+(k<<3)+4>>2]=h;n=c[m+40>>2]|0;h=k+2|0;p=c[b+32>>2]|0;c[p+(o<<3)>>2]=c[l+36>>2];c[p+(o<<3)+4>>2]=n;o=c[m+40>>2]|0;p=c[b+32>>2]|0;c[p+(h<<3)>>2]=c[l+40>>2];c[p+(h<<3)+4>>2]=o;h=k+3|0;break}else{c[i+(h<<3)>>2]=d;c[i+(h<<3)+4>>2]=m;h=c[b+32>>2]|0;c[h+(k<<3)>>2]=c[l+40>>2];c[h+(k<<3)+4>>2]=m;h=k+1|0;break}}}while(0);if(!h)break;else k=h}return}function fe(b,d){b=b|0;d=d|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;o=c[b+92>>2]|0;if(!(eb[c[(c[o>>2]|0)+56>>2]&255](o)|0))return;o=c[b+92>>2]|0;o=eb[c[(c[o>>2]|0)+28>>2]&255](o)|0;f=c[o+4>>2]|0;if((f|0)>1){ie(o,0,f+-1|0);j=c[o+4>>2]|0}else j=f;m=c[b+104>>2]|0;f=j-m|0;if((m|0)<0){if((c[o+8>>2]|0)<(f|0)){if(!f){h=j;i=0}else{c[6879]=(c[6879]|0)+1;g=Zb((f<<4|3)+16|0)|0;if(!g)g=0;else{c[(g+4+15&-16)+-4>>2]=g;g=g+4+15&-16}h=c[o+4>>2]|0;i=g}if((h|0)>0){g=0;do{m=c[o+12>>2]|0;c[i+(g<<4)>>2]=c[m+(g<<4)>>2];c[i+(g<<4)+4>>2]=c[m+(g<<4)+4>>2];c[i+(g<<4)+8>>2]=c[m+(g<<4)+8>>2];c[i+(g<<4)+12>>2]=c[m+(g<<4)+12>>2];g=g+1|0}while((g|0)!=(h|0))}g=c[o+12>>2]|0;if(g|0){if(a[o+16>>0]|0){c[6880]=(c[6880]|0)+1;kd(c[g+-4>>2]|0)}c[o+12>>2]=0}a[o+16>>0]=1;c[o+12>>2]=i;c[o+8>>2]=f;h=o+12|0}else h=o+12|0;g=j;do{m=(c[h>>2]|0)+(g<<4)|0;g=g+1|0;c[m>>2]=0;c[m+4>>2]=0;c[m+8>>2]=0;c[m+12>>2]=0}while((g|0)!=(f|0))}c[o+4>>2]=f;c[b+104>>2]=0;if((f|0)>0){g=0;l=0;m=0;i=0;while(1){k=c[o+12>>2]|0;j=k+(l<<4)|0;p=m;m=c[j>>2]|0;k=k+(l<<4)+4|0;h=c[k>>2]|0;if(!((m|0)==(p|0)&(h|0)==(i|0))){p=m+54|0;i=m+48|0;if(!((((((e[p>>1]|0)>=(e[h+48>>1]|0)?(e[h+54>>1]|0)>=(e[i>>1]|0):0)?(e[p+2>>1]|0)>=(e[h+48+2>>1]|0):0)?(e[h+54+2>>1]|0)>=(e[i+2>>1]|0):0)?(e[p+4>>1]|0)>=(e[h+52>>1]|0):0)?(e[h+54+4>>1]|0)>=(e[m+52>>1]|0):0))n=30}else{h=i;n=30}if((n|0)==30){n=0;g=c[b+92>>2]|0;zb[c[(c[g>>2]|0)+32>>2]&127](g,j,d);c[j>>2]=0;c[k>>2]=0;g=(c[b+104>>2]|0)+1|0;c[b+104>>2]=g;c[6855]=(c[6855]|0)+-1;f=c[o+4>>2]|0}l=l+1|0;if((l|0)>=(f|0))break;else i=h}if((f|0)>1){ie(o,0,f+-1|0);f=c[o+4>>2]|0;g=c[b+104>>2]|0}j=f-g|0;if((g|0)<0){if((c[o+8>>2]|0)<(j|0)){if(!j){h=f;i=0}else{c[6879]=(c[6879]|0)+1;g=Zb((j<<4|3)+16|0)|0;if(!g)g=0;else{c[(g+4+15&-16)+-4>>2]=g;g=g+4+15&-16}h=c[o+4>>2]|0;i=g}if((h|0)>0){g=0;do{p=c[o+12>>2]|0;c[i+(g<<4)>>2]=c[p+(g<<4)>>2];c[i+(g<<4)+4>>2]=c[p+(g<<4)+4>>2];c[i+(g<<4)+8>>2]=c[p+(g<<4)+8>>2];c[i+(g<<4)+12>>2]=c[p+(g<<4)+12>>2];g=g+1|0}while((g|0)!=(h|0))}g=c[o+12>>2]|0;if(g|0){if(a[o+16>>0]|0){c[6880]=(c[6880]|0)+1;kd(c[g+-4>>2]|0)}c[o+12>>2]=0}a[o+16>>0]=1;c[o+12>>2]=i;c[o+8>>2]=j}do{p=(c[o+12>>2]|0)+(f<<4)|0;f=f+1|0;c[p>>2]=0;c[p+4>>2]=0;c[p+8>>2]=0;c[p+12>>2]=0}while((f|0)!=(j|0));f=j}else f=j}c[o+4>>2]=f;c[b+104>>2]=0;return}function ge(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=Ta;Ta=Ta+80|0;c[a+68>>2]=(c[a+68>>2]|0)+1;d=c[a+64>>2]|0;if(d|0){e=c[(c[a+24>>2]|0)+(b*80|0)+76>>2]|0;ch(d,e)|0;f=c[d+4>>2]|0;if(f|0){c[6880]=(c[6880]|0)+1;kd(c[f+-4>>2]|0)}c[d+4>>2]=e;c[d+12>>2]=(c[d+12>>2]|0)+-1}f=(c[a+16>>2]|0)+-1|0;e=c[a+24>>2]|0;c[g>>2]=c[e+(b*80|0)>>2];c[g+4>>2]=c[e+(b*80|0)+4>>2];c[g+8>>2]=c[e+(b*80|0)+8>>2];c[g+12>>2]=c[e+(b*80|0)+12>>2];c[g+16>>2]=c[e+(b*80|0)+16>>2];c[g+16+4>>2]=c[e+(b*80|0)+16+4>>2];c[g+16+8>>2]=c[e+(b*80|0)+16+8>>2];c[g+16+12>>2]=c[e+(b*80|0)+16+12>>2];c[g+32>>2]=c[e+(b*80|0)+32>>2];c[g+32+4>>2]=c[e+(b*80|0)+32+4>>2];c[g+32+8>>2]=c[e+(b*80|0)+32+8>>2];c[g+32+12>>2]=c[e+(b*80|0)+32+12>>2];c[g+48>>2]=c[e+(b*80|0)+48>>2];c[g+48+4>>2]=c[e+(b*80|0)+48+4>>2];c[g+48+8>>2]=c[e+(b*80|0)+48+8>>2];c[g+48+12>>2]=c[e+(b*80|0)+48+12>>2];c[g+64>>2]=c[e+(b*80|0)+64>>2];c[g+64+4>>2]=c[e+(b*80|0)+64+4>>2];c[g+64+8>>2]=c[e+(b*80|0)+64+8>>2];c[g+64+12>>2]=c[e+(b*80|0)+64+12>>2];c[e+(b*80|0)>>2]=c[e+(f*80|0)>>2];c[e+(b*80|0)+4>>2]=c[e+(f*80|0)+4>>2];c[e+(b*80|0)+8>>2]=c[e+(f*80|0)+8>>2];c[e+(b*80|0)+12>>2]=c[e+(f*80|0)+12>>2];c[e+(b*80|0)+16>>2]=c[e+(f*80|0)+16>>2];c[e+(b*80|0)+16+4>>2]=c[e+(f*80|0)+16+4>>2];c[e+(b*80|0)+16+8>>2]=c[e+(f*80|0)+16+8>>2];c[e+(b*80|0)+16+12>>2]=c[e+(f*80|0)+16+12>>2];c[e+(b*80|0)+32>>2]=c[e+(f*80|0)+32>>2];c[e+(b*80|0)+32+4>>2]=c[e+(f*80|0)+32+4>>2];c[e+(b*80|0)+32+8>>2]=c[e+(f*80|0)+32+8>>2];c[e+(b*80|0)+32+12>>2]=c[e+(f*80|0)+32+12>>2];c[e+(b*80|0)+48>>2]=c[e+(f*80|0)+48>>2];c[e+(b*80|0)+48+4>>2]=c[e+(f*80|0)+48+4>>2];c[e+(b*80|0)+48+8>>2]=c[e+(f*80|0)+48+8>>2];c[e+(b*80|0)+48+12>>2]=c[e+(f*80|0)+48+12>>2];c[e+(b*80|0)+64>>2]=c[e+(f*80|0)+64>>2];c[e+(b*80|0)+64+4>>2]=c[e+(f*80|0)+64+4>>2];c[e+(b*80|0)+64+8>>2]=c[e+(f*80|0)+64+8>>2];c[e+(b*80|0)+64+12>>2]=c[e+(f*80|0)+64+12>>2];e=c[a+24>>2]|0;c[e+(f*80|0)>>2]=c[g>>2];c[e+(f*80|0)+4>>2]=c[g+4>>2];c[e+(f*80|0)+8>>2]=c[g+8>>2];c[e+(f*80|0)+12>>2]=c[g+12>>2];c[e+(f*80|0)+16>>2]=c[g+16>>2];c[e+(f*80|0)+16+4>>2]=c[g+16+4>>2];c[e+(f*80|0)+16+8>>2]=c[g+16+8>>2];c[e+(f*80|0)+16+12>>2]=c[g+16+12>>2];c[e+(f*80|0)+32>>2]=c[g+32>>2];c[e+(f*80|0)+32+4>>2]=c[g+32+4>>2];c[e+(f*80|0)+32+8>>2]=c[g+32+8>>2];c[e+(f*80|0)+32+12>>2]=c[g+32+12>>2];c[e+(f*80|0)+48>>2]=c[g+48>>2];c[e+(f*80|0)+48+4>>2]=c[g+48+4>>2];c[e+(f*80|0)+48+8>>2]=c[g+48+8>>2];c[e+(f*80|0)+48+12>>2]=c[g+48+12>>2];c[e+(f*80|0)+64>>2]=c[g+64>>2];c[e+(f*80|0)+64+4>>2]=c[g+64+4>>2];c[e+(f*80|0)+64+8>>2]=c[g+64+8>>2];c[e+(f*80|0)+64+12>>2]=c[g+64+12>>2];if(!(c[a+64>>2]|0)){b=c[a+16>>2]|0;b=b+-1|0;c[a+16>>2]=b;Ta=g;return}c[(c[(c[a+24>>2]|0)+(b*80|0)+76>>2]|0)+36>>2]=b;b=c[a+16>>2]|0;b=b+-1|0;c[a+16>>2]=b;Ta=g;return}function he(a,d,g,h,i,j,k,l,m){a=a|0;d=d|0;g=g|0;h=+h;i=+i;j=+j;k=k|0;l=l|0;m=m|0;var n=0,o=0,p=0,q=0,r=0.0,t=0.0,u=0.0,v=0.0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0.0,E=0.0,F=0,G=0.0,H=0,I=0,J=0,K=0,L=0,M=0.0,N=0.0,O=0.0,P=0.0,Q=0.0,R=0.0,S=0.0,T=0.0,U=0,V=0.0,W=0.0,X=0.0,Y=0.0,Z=0.0,_=0.0,$=0.0,aa=0.0,ba=0.0,ca=0.0,da=0.0;U=Ta;Ta=Ta+32|0;D=+f[g>>2];E=+f[g+4>>2];G=+f[g+8>>2];Q=1.0/+s(+((h-D)*(h-D)+(i-E)*(i-E)+(j-G)*(j-G)));N=(h-D)*Q==0.0?999999984306749440.0:1.0/((h-D)*Q);O=(i-E)*Q==0.0?999999984306749440.0:1.0/((i-E)*Q);P=(j-G)*Q==0.0?999999984306749440.0:1.0/((j-G)*Q);da=(D>h?h:D)+ +f[k>>2];ca=(E>i?i:E)+ +f[k+4>>2];ba=(G>j?j:G)+ +f[k+8>>2];$=(D>2];X=(E>2];t=(G>2];_=+f[a+4>>2];da=da<_?_:da;W=+f[a+8>>2];ca=ca>2];ba=ba>2];Y=+f[a+24>>2];r=+f[a+28>>2];Z=+f[a+36>>2];V=+f[a+40>>2];v=+f[a+44>>2];F=~~(((aa0){o=0;p=c[a+136>>2]|0;n=0;do{n=n+1|0;y=p+6|0;q=b[p>>1]|0;z=p+10|0;w=b[p+4>>1]|0;A=p+8|0;x=b[p+2>>1]|0;C=p+12|0;B=(c[C>>2]|0)>-1;do if(((J&65535)>=(q&65535)?(F&65535)<=(e[y>>1]|0):0)&(I&65535)<=(e[z>>1]|0)&(L&65535)>=(w&65535)&(H&65535)<=(e[A>>1]|0)&(K&65535)>=(x&65535)){$=+f[a+36>>2];ba=+f[a+40>>2];da=+f[a+44>>2];aa=+f[a+4>>2];ca=+f[a+8>>2];u=+f[a+12>>2];f[U+12>>2]=0.0;v=aa+ +(e[y>>1]|0)/$;r=ca+ +(e[A>>1]|0)/ba;t=u+ +(e[z>>1]|0)/da;f[U+28>>2]=0.0;f[U>>2]=+(q&65535)/$+aa-+f[l>>2];f[U+4>>2]=+(x&65535)/ba+ca-+f[l+4>>2];f[U+8>>2]=+(w&65535)/da+u-+f[l+8>>2];f[U+16>>2]=v-+f[k>>2];f[U+20>>2]=r-+f[k+4>>2];f[U+24>>2]=t-+f[k+8>>2];t=+f[g>>2];r=N*(+f[U+((N<0.0&1)<<4)>>2]-t);t=N*(+f[U+(((N<0.0^1)&1)<<4)>>2]-t);v=+f[g+4>>2];u=O*(+f[U+((O<0.0&1)<<4)+4>>2]-v);v=O*(+f[U+(((O<0.0^1)&1)<<4)+4>>2]-v);if(!(u>t|r>v)?(M=u>r?u:r,T=v>2],R=P*(+f[U+((P<0.0&1)<<4)+8>>2]-S),S=P*(+f[U+(((P<0.0^1)&1)<<4)+8>>2]-S),!(R>T|M>S)):0){q=(S0.0?(R>M?R:M)<(j-G)*((j-G)*Q)+((h-D)*((h-D)*Q)+(i-E)*((i-E)*Q)):0;if(!(B&q)){w=9;break}w=c[C>>2]|0;zb[c[(c[d>>2]|0)+8>>2]&127](d,21?w>>21:w,w&2097151);w=10;break}q=0;w=9}else{q=0;w=9}while(0);if((w|0)==9){w=0;if(B|q)w=10;else{C=c[C>>2]|0;o=o-C|0;p=p+(0-C<<4)|0}}if((w|0)==10){o=o+1|0;p=p+16|0}}while((o|0)<(m|0))}else n=0;if((c[6859]|0)>=(n|0)){Ta=U;return}c[6859]=n;Ta=U;return}function ie(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;while(1){r=c[a+12>>2]|0;q=(b+d|0)/2|0;o=c[r+(q<<4)>>2]|0;p=c[r+(q<<4)+4>>2]|0;q=c[r+(q<<4)+8>>2]|0;e=b;f=d;while(1){a:do if(!o)while(1){l=r+(e<<4)|0;j=c[l>>2]|0;if(!j)g=-1;else g=c[j+12>>2]|0;k=c[r+(e<<4)+4>>2]|0;if(!k)h=-1;else h=c[k+12>>2]|0;if(!p)i=-1;else i=c[p+12>>2]|0;do if((g|0)<=-1){g=(h|0)>(i|0);if(g|(j|0)==0^1)if((j|0)==0&g)break;else break a;if((k|0)!=(p|0))break a;if((c[r+(e<<4)+8>>2]|0)>>>0<=q>>>0)break a}while(0);e=e+1|0}else{m=c[o+12>>2]|0;while(1){l=r+(e<<4)|0;j=c[l>>2]|0;if(!j)g=-1;else g=c[j+12>>2]|0;k=c[r+(e<<4)+4>>2]|0;if(!k)h=-1;else h=c[k+12>>2]|0;if(!p)i=-1;else i=c[p+12>>2]|0;do if((g|0)<=(m|0)){g=(h|0)>(i|0);if(g|(j|0)==(o|0)^1)if((j|0)==(o|0)&g)break;else break a;if((k|0)!=(p|0))break a;if((c[r+(e<<4)+8>>2]|0)>>>0<=q>>>0)break a}while(0);e=e+1|0}}while(0);b:do if(!o)while(1){g=r+(f<<4)|0;k=c[g>>2]|0;if(!k)h=-1;else h=c[k+12>>2]|0;if(!p)i=-1;else i=c[p+12>>2]|0;m=c[r+(f<<4)+4>>2]|0;if(!m)j=-1;else j=c[m+12>>2]|0;do if((h|0)>=-1){h=(i|0)>(j|0);if(h|(k|0)==0^1)if((k|0)==0&h)break;else break b;if((p|0)!=(m|0))break b;if((c[r+(f<<4)+8>>2]|0)>>>0>=q>>>0)break b}while(0);f=f+-1|0}else{n=c[o+12>>2]|0;while(1){g=r+(f<<4)|0;k=c[g>>2]|0;if(!k)h=-1;else h=c[k+12>>2]|0;if(!p)i=-1;else i=c[p+12>>2]|0;m=c[r+(f<<4)+4>>2]|0;if(!m)j=-1;else j=c[m+12>>2]|0;do if((n|0)<=(h|0)){h=(i|0)>(j|0);if(h|(o|0)==(k|0)^1)if((o|0)==(k|0)&h)break;else break b;if((p|0)!=(m|0))break b;if((c[r+(f<<4)+8>>2]|0)>>>0>=q>>>0)break b}while(0);f=f+-1|0}}while(0);if((e|0)<=(f|0)){j=c[l>>2]|0;k=c[r+(e<<4)+4>>2]|0;m=c[r+(e<<4)+8>>2]|0;n=c[r+(e<<4)+12>>2]|0;c[l>>2]=c[g>>2];c[l+4>>2]=c[g+4>>2];c[l+8>>2]=c[g+8>>2];c[l+12>>2]=c[g+12>>2];r=c[a+12>>2]|0;c[r+(f<<4)>>2]=j;c[r+(f<<4)+4>>2]=k;c[r+(f<<4)+8>>2]=m;c[r+(f<<4)+12>>2]=n;e=e+1|0;f=f+-1|0}if((e|0)>(f|0))break;r=c[a+12>>2]|0}if((f|0)>(b|0))ie(a,b,f);if((e|0)<(d|0))b=e;else break}return}function je(b,d,e,g,h,i,j,k,l){b=b|0;d=d|0;e=e|0;g=g|0;h=h|0;i=+i;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0,q=0.0,r=0.0,s=0.0,t=0.0,u=0,v=0,w=0,x=0,y=0.0,z=0.0,A=0.0,B=0.0,C=0,D=0.0;C=Ta;Ta=Ta+32|0;if(!d){Ta=C;return}p=c[b+44>>2]|0;if((p|0)<128){if((c[b+48>>2]|0)<128){c[6879]=(c[6879]|0)+1;m=Zb(531)|0;if(!m)o=0;else{c[(m+4+15&-16)+-4>>2]=m;o=m+4+15&-16}m=c[b+44>>2]|0;if((m|0)>0){n=0;do{c[o+(n<<2)>>2]=c[(c[b+52>>2]|0)+(n<<2)>>2];n=n+1|0}while((n|0)!=(m|0))}m=c[b+52>>2]|0;if(m|0){if(a[b+56>>0]|0){c[6880]=(c[6880]|0)+1;kd(c[m+-4>>2]|0)}c[b+52>>2]=0}a[b+56>>0]=1;c[b+52>>2]=o;c[b+48>>2]=128;n=b+52|0}else n=b+52|0;m=p;do{c[(c[n>>2]|0)+(m<<2)>>2]=0;m=m+1|0}while((m|0)!=128);x=b+48|0}else{x=b+48|0;n=b+52|0}c[b+44>>2]=128;c[c[n>>2]>>2]=d;w=1;m=126;while(1){o=w+-1|0;p=c[n>>2]|0;v=c[p+(o<<2)>>2]|0;r=+f[v+4>>2]-+f[k+4>>2];t=+f[v+8>>2]-+f[k+8>>2];f[C>>2]=+f[v>>2]-+f[k>>2];f[C+4>>2]=r;f[C+8>>2]=t;f[C+12>>2]=0.0;t=+f[v+20>>2]-+f[j+4>>2];r=+f[v+24>>2]-+f[j+8>>2];f[C+16>>2]=+f[v+16>>2]-+f[j>>2];f[C+20>>2]=t;f[C+24>>2]=r;f[C+28>>2]=0.0;u=c[h>>2]|0;r=+f[e>>2];t=+f[g>>2];q=(+f[C+(u<<4)>>2]-r)*t;r=t*(+f[C+(1-u<<4)>>2]-r);u=c[h+4>>2]|0;t=+f[e+4>>2];D=+f[g+4>>2];s=(+f[C+(u<<4)+4>>2]-t)*D;t=D*(+f[C+(1-u<<4)+4>>2]-t);do if((!(s>r|q>t)?(y=s>q?s:q,B=t>2]|0,A=+f[e+8>>2],D=+f[g+8>>2],z=(+f[C+(u<<4)+8>>2]-A)*D,A=D*(+f[C+(1-u<<4)+8>>2]-A),!(z>B|y>A)):0)?((A0.0?(z>y?z:y)>2]|0)){vb[c[(c[l>>2]|0)+12>>2]&255](l,v);break}if((o|0)>(m|0)){u=c[b+44>>2]|0;if((u|0)<(u<<1|0)){if((c[x>>2]|0)<(u<<1|0)){if(u){c[6879]=(c[6879]|0)+1;m=Zb((u<<3|3)+16|0)|0;if(!m)d=0;else{c[(m+4+15&-16)+-4>>2]=m;d=m+4+15&-16}m=c[b+44>>2]|0;if((m|0)>0){p=0;do{c[d+(p<<2)>>2]=c[(c[n>>2]|0)+(p<<2)>>2];p=p+1|0}while((p|0)!=(m|0));m=d}else m=d}else{m=0;d=0}p=c[n>>2]|0;if(p|0){if(a[b+56>>0]|0){c[6880]=(c[6880]|0)+1;kd(c[p+-4>>2]|0)}c[n>>2]=0}a[b+56>>0]=1;c[n>>2]=d;c[x>>2]=u<<1}else m=p;p=u;do{c[m+(p<<2)>>2]=0;p=p+1|0;m=c[n>>2]|0}while((p|0)!=(u<<1|0));m=m+(o<<2)|0}else m=p+(o<<2)|0;c[b+44>>2]=u<<1;o=m;m=(u<<1)+-2|0}else o=p+(o<<2)|0;c[o>>2]=c[v+36>>2];c[(c[n>>2]|0)+(w<<2)>>2]=c[v+40>>2];o=w+1|0}while(0);if(!o)break;else w=o}Ta=C;return}function ke(a,b,d,e,g,h,i,j,k,l,m,n){a=a|0;b=b|0;d=d|0;e=e|0;g=+g;h=+h;i=+i;j=+j;k=+k;l=l|0;m=+m;n=n|0;var o=0.0,p=0.0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0.0,C=0,D=0,E=0;E=Ta;Ta=Ta+2560|0;Xq(E+2528|0,+f[d>>2],+f[d+4>>2],+f[d+8>>2],g);sq(E+2544|0,+f[b>>2],+f[b+4>>2],+f[b+8>>2],+f[E+2528>>2],+f[E+2528+4>>2],+f[E+2528+8>>2]);Xq(E+2496|0,+f[d>>2],+f[d+4>>2],+f[d+8>>2],g);uq(E+2512|0,+f[b>>2],+f[b+4>>2],+f[b+8>>2],+f[E+2496>>2],+f[E+2496+4>>2],+f[E+2496+8>>2]);Gp(E+2464|0,+f[d>>2],+f[d+4>>2],+f[d+8>>2],+f[e>>2],+f[e+4>>2],+f[e+8>>2]);p=!(h<=-1.5707963705062866)?h:m*.01745329238474369+-1.5707963705062866;o=!(i>=1.5707963705062866)?i:1.5707963705062866-m*.01745329238474369;if(p>o){D=1;C=1;h=1.5707963705062866-m*.01745329238474369;p=m*.01745329238474369+-1.5707963705062866}else{D=!(h<=-1.5707963705062866)^1;C=!(i>=1.5707963705062866)^1;h=o}B=h-p;A=(~~(B/(m*.01745329238474369))|0)<1?2:~~(B/(m*.01745329238474369))+1|0;if(!(j>k))if(!(k-j>=6.2831854820251465)){z=0;h=k}else{z=1;h=k}else{z=1;h=3.1415927410125732;j=m*.01745329238474369+-3.1415927410125732}o=h-j;w=(~~(o/(m*.01745329238474369))|0)<1?2:~~(o/(m*.01745329238474369))+1|0;s=0;u=E+1184|0;v=E;while(1){if((s|0)>=(A|0))break;i=p+B/+(A+-1|0)*+(s|0);h=+s$(i)*g;i=+t$(i)*g;x=(s|0)==0;r=(s|0)==(A+-1|0);t=0;while(1){if((t|0)>=(w|0))break;k=j+o/+(w+-1|0)*+(t|0);m=+s$(k);k=i*+t$(k);LI(E+2400|0,k,+f[e>>2],+f[e+4>>2],+f[e+8>>2]);sq(E+2416|0,+f[b>>2],+f[b+4>>2],+f[b+8>>2],+f[E+2400>>2],+f[E+2400+4>>2],+f[E+2400+8>>2]);LI(E+2384|0,i*m,+f[E+2464>>2],+f[E+2464+4>>2],+f[E+2464+8>>2]);sq(E+2432|0,+f[E+2416>>2],+f[E+2416+4>>2],+f[E+2416+8>>2],+f[E+2384>>2],+f[E+2384+4>>2],+f[E+2384+8>>2]);LI(E+2368|0,h,+f[d>>2],+f[d+4>>2],+f[d+8>>2]);sq(E+2448|0,+f[E+2432>>2],+f[E+2432+4>>2],+f[E+2432+8>>2],+f[E+2368>>2],+f[E+2368+4>>2],+f[E+2368+8>>2]);q=v+(t<<4)|0;c[q>>2]=c[E+2448>>2];c[q+4>>2]=c[E+2448+4>>2];c[q+8>>2]=c[E+2448+8>>2];c[q+12>>2]=c[E+2448+12>>2];if(x){if(C)Cb[c[(c[a>>2]|0)+8>>2]&127](a,E+2512|0,q,l)}else Cb[c[(c[a>>2]|0)+8>>2]&127](a,u+(t<<4)|0,q,l);y=(t|0)==0;if(y){c[E+2480>>2]=c[v>>2];c[E+2480+4>>2]=c[v+4>>2];c[E+2480+8>>2]=c[v+8>>2];c[E+2480+12>>2]=c[v+12>>2]}else Cb[c[(c[a>>2]|0)+8>>2]&127](a,v+(t+-1<<4)|0,q,l);if(r&D)Cb[c[(c[a>>2]|0)+8>>2]&127](a,E+2544|0,q,l);do if(n)if(z){if((t|0)!=(w+-1|0))break;Cb[c[(c[a>>2]|0)+8>>2]&127](a,E+2480|0,v+(w+-1<<4)|0,l);break}else{if(!((x|r)&(y|(t|0)==(w+-1|0))))break;Cb[c[(c[a>>2]|0)+8>>2]&127](a,b,q,l);break}while(0);t=t+1|0}y=v;s=s+1|0;v=u;u=y}Ta=E;return}function le(a,b,d){a=a|0;b=b|0;d=d|0;var h=0.0,i=0,j=0.0,k=0,l=0.0,m=0,n=0,o=0,p=0,q=0,r=0,s=0.0,t=0.0;r=Ta;Ta=Ta+80|0;o=c[a+4>>2]|0;Mb[c[(c[o>>2]|0)+16>>2]&31](o,r+76|0,r+72|0,r+68|0,r+64|0,r+60|0,r+56|0,r+52|0,r+48|0,b);o=(c[r+60>>2]|0)+(z(c[r+56>>2]|0,d)|0)|0;q=c[a+4>>2]|0;p=(c[r+68>>2]|0)==0;n=c[r+76>>2]|0;if((c[r+48>>2]|0)==3){m=c[r+64>>2]|0;i=n+(z(m,e[o+4>>1]|0)|0)|0;if(p){k=i+8|0;j=+f[q+12>>2];l=+f[i>>2]*+f[q+4>>2];h=+f[i+4>>2]*+f[q+8>>2]}else{k=q+12|0;j=+g[i+16>>3];l=+f[q+4>>2]*+g[i>>3];h=+f[q+8>>2]*+g[i+8>>3]}j=+f[k>>2]*j;f[r+32>>2]=l;f[r+36>>2]=h;f[r+40>>2]=j;f[r+44>>2]=0.0;i=n+(z(m,e[o+2>>1]|0)|0)|0;if(p){k=i+8|0;j=+f[q+12>>2];l=+f[i>>2]*+f[q+4>>2];h=+f[i+4>>2]*+f[q+8>>2]}else{k=q+12|0;j=+g[i+16>>3];l=+f[q+4>>2]*+g[i>>3];h=+f[q+8>>2]*+g[i+8>>3]}j=+f[k>>2]*j;f[r+16>>2]=l;f[r+20>>2]=h;f[r+24>>2]=j;f[r+28>>2]=0.0;k=n+(z(m,e[o>>1]|0)|0)|0;if(p){i=k+8|0;j=+f[q+12>>2];l=+f[k>>2]*+f[q+4>>2];h=+f[k+4>>2]*+f[q+8>>2]}else{i=q+12|0;j=+g[k+16>>3];l=+f[q+4>>2]*+g[k>>3];h=+f[q+8>>2]*+g[k+8>>3]}s=l;l=+f[i>>2]*j;f[r>>2]=s;q=r+4|0;f[q>>2]=h;q=r+8|0;f[q>>2]=l;q=r+12|0;f[q>>2]=0.0;q=a+8|0;q=c[q>>2]|0;p=c[q>>2]|0;p=p+8|0;p=c[p>>2]|0;Cb[p&127](q,r,b,d);a=c[a+4>>2]|0;d=c[a>>2]|0;d=d+24|0;d=c[d>>2]|0;vb[d&255](a,b);Ta=r;return}else{m=c[r+64>>2]|0;i=n+(z(m,c[o+8>>2]|0)|0)|0;if(p){k=i+8|0;j=+f[q+12>>2];l=+f[i>>2]*+f[q+4>>2];h=+f[i+4>>2]*+f[q+8>>2]}else{k=q+12|0;j=+g[i+16>>3];l=+f[q+4>>2]*+g[i>>3];h=+f[q+8>>2]*+g[i+8>>3]}s=+f[k>>2]*j;f[r+32>>2]=l;f[r+36>>2]=h;f[r+40>>2]=s;f[r+44>>2]=0.0;i=n+(z(m,c[o+4>>2]|0)|0)|0;if(p){k=i+8|0;j=+f[q+12>>2];l=+f[i>>2]*+f[q+4>>2];h=+f[i+4>>2]*+f[q+8>>2]}else{k=q+12|0;j=+g[i+16>>3];l=+f[q+4>>2]*+g[i>>3];h=+f[q+8>>2]*+g[i+8>>3]}s=+f[k>>2]*j;f[r+16>>2]=l;f[r+20>>2]=h;f[r+24>>2]=s;f[r+28>>2]=0.0;k=n+(z(m,c[o>>2]|0)|0)|0;if(p){i=k+8|0;j=+f[q+12>>2];l=+f[k>>2]*+f[q+4>>2];h=+f[k+4>>2]*+f[q+8>>2]}else{i=q+12|0;j=+g[k+16>>3];l=+f[q+4>>2]*+g[k>>3];h=+f[q+8>>2]*+g[k+8>>3]}t=l;l=h;s=+f[i>>2]*j;f[r>>2]=t;q=r+4|0;f[q>>2]=l;q=r+8|0;f[q>>2]=s;q=r+12|0;f[q>>2]=0.0;q=a+8|0;q=c[q>>2]|0;p=c[q>>2]|0;p=p+8|0;p=c[p>>2]|0;Cb[p&127](q,r,b,d);a=c[a+4>>2]|0;d=c[a>>2]|0;d=d+24|0;d=c[d>>2]|0;vb[d&255](a,b);Ta=r;return}}function me(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0.0,g=0.0,h=0.0,i=0.0,j=0.0,k=0.0,l=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,t=0.0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0,C=0.0,D=0.0,E=0.0,F=0.0,G=0.0,H=0.0,I=0.0,J=0.0;Pg(a,b+(c*284|0)|0,d,1.0);i=+f[b+(c*284|0)+52>>2];g=+f[b+(c*284|0)+56>>2];e=+f[b+(c*284|0)+60>>2];J=+f[b+(c*284|0)+76>>2];A=+f[b+(c*284|0)+72>>2];C=+f[b+(c*284|0)+68>>2];z=1.0/+s(+((A*-i-C*-g)*(A*-i-C*-g)+((J*-g-A*-e)*(J*-g-A*-e)+(C*-e-J*-i)*(C*-e-J*-i))));y=(J*-g-A*-e)*z;x=(C*-e-J*-i)*z;z=(A*-i-C*-g)*z;j=+f[b+(c*284|0)+232>>2]*.5;n=+v(+j)/+s(+(i*i+g*g+e*e));j=+u(+j);m=2.0/(j*j+(n*-e*(n*-e)+(n*-i*(n*-i)+n*-g*(n*-g))));H=1.0-(n*-g*(n*-g*m)+n*-e*(n*-e*m));G=n*-i*(n*-g*m)-j*(n*-e*m);I=n*-i*(n*-e*m)+j*(n*-g*m);E=n*-i*(n*-g*m)+j*(n*-e*m);D=1.0-(n*-i*(n*-i*m)+n*-e*(n*-e*m));F=n*-g*(n*-e*m)-j*(n*-i*m);l=n*-i*(n*-e*m)-j*(n*-g*m);j=n*-g*(n*-e*m)+j*(n*-i*m);m=1.0-(n*-i*(n*-i*m)+n*-g*(n*-g*m));n=+f[b+(c*284|0)+236>>2]*-.5;B=+v(+n)/+s(+(J*J+(A*A+C*C)));n=+u(+n);r=2.0/(n*n+(J*B*(J*B)+(C*B*(C*B)+A*B*(A*B))));o=1.0-(A*B*(A*B*r)+J*B*(J*B*r));k=C*B*(A*B*r)-n*(J*B*r);w=C*B*(J*B*r)+n*(A*B*r);p=C*B*(A*B*r)+n*(J*B*r);h=1.0-(C*B*(C*B*r)+J*B*(J*B*r));t=A*B*(J*B*r)-n*(C*B*r);q=C*B*(J*B*r)-n*(A*B*r);n=A*B*(J*B*r)+n*(C*B*r);r=1.0-(C*B*(C*B*r)+A*B*(A*B*r));B=+f[b+(c*284|0)+68>>2];A=+f[b+(c*284|0)+72>>2];C=+f[b+(c*284|0)+76>>2];f[b+(c*284|0)+92>>2]=C*(H*w+G*t+I*r)+(B*(I*q+(G*p+H*o))+A*(I*n+(H*k+G*h)));f[b+(c*284|0)+96>>2]=z*(H*w+G*t+I*r)+(y*(I*q+(G*p+H*o))+x*(I*n+(H*k+G*h)));f[b+(c*284|0)+100>>2]=(H*w+G*t+I*r)*-e+((I*q+(G*p+H*o))*-i+(I*n+(H*k+G*h))*-g);f[b+(c*284|0)+104>>2]=0.0;f[b+(c*284|0)+108>>2]=C*(E*w+t*D+F*r)+(B*(F*q+(p*D+E*o))+A*(F*n+(E*k+D*h)));f[b+(c*284|0)+112>>2]=z*(E*w+t*D+F*r)+(y*(F*q+(p*D+E*o))+x*(F*n+(E*k+D*h)));f[b+(c*284|0)+116>>2]=(E*w+t*D+F*r)*-e+((F*q+(p*D+E*o))*-i+(F*n+(E*k+D*h))*-g);f[b+(c*284|0)+120>>2]=0.0;f[b+(c*284|0)+124>>2]=C*(l*w+j*t+m*r)+(B*(q*m+(j*p+l*o))+A*(n*m+(l*k+j*h)));f[b+(c*284|0)+128>>2]=z*(l*w+j*t+m*r)+(y*(q*m+(j*p+l*o))+x*(n*m+(l*k+j*h)));f[b+(c*284|0)+132>>2]=(l*w+j*t+m*r)*-e+((q*m+(j*p+l*o))*-i+(n*m+(l*k+j*h))*-g);f[b+(c*284|0)+136>>2]=0.0;h=+f[b+(c*284|0)+32>>2];g=g*h+ +f[b+(c*284|0)+40>>2];e=e*h+ +f[b+(c*284|0)+44>>2];f[b+(c*284|0)+140>>2]=+f[b+(c*284|0)+36>>2]+i*h;f[b+(c*284|0)+144>>2]=g;f[b+(c*284|0)+148>>2]=e;f[b+(c*284|0)+152>>2]=0.0;return}function ne(b,d,e,g){b=b|0;d=d|0;e=e|0;g=g|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0.0,p=0.0,q=0.0,r=0.0,s=0,t=0,u=0,v=0,w=0,x=0.0,y=0,z=0,A=0,B=0,C=0,D=0.0;C=Ta;Ta=Ta+32|0;p=+f[d>>2];j=(f[h>>2]=p,c[h>>2]|0);s=p<999999984306749440.0?j:1566444395;o=+f[d+4>>2];l=(f[h>>2]=o,c[h>>2]|0);t=o<999999984306749440.0?l:1566444395;D=+f[d+8>>2];n=(f[h>>2]=D,c[h>>2]|0);v=D<999999984306749440.0?n:1566444395;r=+f[d+12>>2];x=r<0.0?r:0.0;j=p>-999999984306749440.0?j:-581039253;l=o>-999999984306749440.0?l:-581039253;n=D>-999999984306749440.0?n:-581039253;r=r>0.0?r:0.0;D=+f[d+16>>2];A=D<(c[h>>2]=s,+f[h>>2]);i=(f[h>>2]=D,c[h>>2]|0);s=A?i:s;o=+f[d+20>>2];A=o<(c[h>>2]=t,+f[h>>2]);k=(f[h>>2]=o,c[h>>2]|0);t=A?k:t;p=+f[d+24>>2];A=p<(c[h>>2]=v,+f[h>>2]);m=(f[h>>2]=p,c[h>>2]|0);v=A?m:v;q=+f[d+28>>2];x=q(c[h>>2]=j,+f[h>>2])?i:j;u=o>(c[h>>2]=l,+f[h>>2])?k:l;l=p>(c[h>>2]=n,+f[h>>2])?m:n;r=r>2];A=D<(c[h>>2]=s,+f[h>>2]);i=(f[h>>2]=D,c[h>>2]|0);A=A?i:s;p=+f[d+36>>2];z=p<(c[h>>2]=t,+f[h>>2]);j=(f[h>>2]=p,c[h>>2]|0);z=z?j:t;q=+f[d+40>>2];y=q<(c[h>>2]=v,+f[h>>2]);k=(f[h>>2]=q,c[h>>2]|0);y=y?k:v;o=+f[d+44>>2];x=o(c[h>>2]=w,+f[h>>2])?i:w;u=p>(c[h>>2]=u,+f[h>>2])?j:u;t=q>(c[h>>2]=l,+f[h>>2])?k:l;o=r>2]|0;i=c[s+4>>2]|0;if((i|0)==(c[s+8>>2]|0)?(B=(i|0)==0?1:i<<1,(i|0)<(B|0)):0){if(!B)j=0;else{c[6879]=(c[6879]|0)+1;i=Zb(B<<6|19)|0;if(!i)j=0;else{c[(i+4+15&-16)+-4>>2]=i;j=i+4+15&-16}i=c[s+4>>2]|0}if((i|0)>0){k=0;do{l=j+(k<<6)|0;m=(c[s+12>>2]|0)+(k<<6)|0;n=l+64|0;do{c[l>>2]=c[m>>2];l=l+4|0;m=m+4|0}while((l|0)<(n|0));k=k+1|0}while((k|0)!=(i|0))}i=c[s+12>>2]|0;if(i|0){if(a[s+16>>0]|0){c[6880]=(c[6880]|0)+1;kd(c[i+-4>>2]|0)}c[s+12>>2]=0}a[s+16>>0]=1;c[s+12>>2]=j;c[s+8>>2]=B;i=c[s+4>>2]|0}B=c[s+12>>2]|0;c[B+(i<<6)>>2]=A;c[B+(i<<6)+4>>2]=z;c[B+(i<<6)+8>>2]=y;f[B+(i<<6)+12>>2]=x;c[B+(i<<6)+16>>2]=v;c[B+(i<<6)+20>>2]=u;c[B+(i<<6)+24>>2]=t;f[B+(i<<6)+28>>2]=o;c[B+(i<<6)+32>>2]=-1;c[B+(i<<6)+36>>2]=e;c[B+(i<<6)+40>>2]=g;g=B+(i<<6)+44|0;c[g>>2]=c[C>>2];c[g+4>>2]=c[C+4>>2];c[g+8>>2]=c[C+8>>2];c[g+12>>2]=c[C+12>>2];c[g+16>>2]=c[C+16>>2];c[s+4>>2]=(c[s+4>>2]|0)+1;Ta=C;return}function oe(b,d,e,g){b=b|0;d=d|0;e=e|0;g=+g;var h=0.0,i=0.0,j=0.0,k=0.0,l=0.0,m=0.0,n=0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0,C=0.0,D=0.0,E=0.0,F=0.0,G=0.0,H=0.0,I=0.0;n=Ta;Ta=Ta+16|0;i=+f[d>>2];j=+f[d+4>>2];k=+f[d+8>>2];l=+f[e>>2];m=+f[e+4>>2];h=+f[e+8>>2];if(!(a[b+228>>0]|0)){y=+f[b+100>>2];v=+f[b+116>>2];B=+f[b+132>>2];x=+f[b+104>>2];t=+f[b+120>>2];A=+f[b+136>>2];w=+f[b+108>>2];r=+f[b+124>>2];z=+f[b+140>>2];E=-+f[b+148>>2];D=-+f[b+152>>2];C=-+f[b+156>>2];I=+f[b+164>>2];H=+f[b+168>>2];q=+f[b+172>>2];G=+f[b+180>>2];F=+f[b+184>>2];p=+f[b+188>>2];u=+f[b+196>>2];s=+f[b+200>>2];o=+f[b+204>>2];q=h*(B*I+A*H+z*q)+(l*(y*I+x*H+w*q)+m*(v*I+t*H+r*q))+(I*(y*E+v*D+B*C)+(x*E+t*D+A*C)*H+(w*E+r*D+z*C)*q+ +f[b+212>>2]);p=h*(B*G+A*F+z*p)+(l*(y*G+x*F+w*p)+m*(v*G+t*F+r*p))+((y*E+v*D+B*C)*G+(x*E+t*D+A*C)*F+(w*E+r*D+z*C)*p+ +f[b+216>>2]);o=(y*E+v*D+B*C)*u+(x*E+t*D+A*C)*s+(w*E+r*D+z*C)*o+ +f[b+220>>2]+(h*(B*u+A*s+z*o)+(l*(y*u+x*s+w*o)+m*(v*u+t*s+r*o)));f[n>>2]=q;f[n+4>>2]=p;f[n+8>>2]=o;g=i*(i*g+l-q)+j*(j*g+m-p)+k*(k*g+h-o);e=n+12|0;f[e>>2]=0.0;b=b+32|0;b=c[b>>2]|0;e=c[b>>2]|0;e=e+16|0;e=c[e>>2]|0;Ab[e&31](b,d,n,g);Ta=n;return}else{y=+f[b+36>>2];B=+f[b+52>>2];v=+f[b+68>>2];z=+f[b+40>>2];D=+f[b+56>>2];w=+f[b+72>>2];A=+f[b+44>>2];F=+f[b+60>>2];x=+f[b+76>>2];s=-+f[b+84>>2];t=-+f[b+88>>2];u=-+f[b+92>>2];o=+f[b+164>>2];p=+f[b+168>>2];G=+f[b+172>>2];q=+f[b+180>>2];r=+f[b+184>>2];H=+f[b+188>>2];C=+f[b+196>>2];E=+f[b+200>>2];I=+f[b+204>>2];G=(k*g+h)*(v*o+w*p+x*G)+((i*g+l)*(y*o+z*p+A*G)+(j*g+m)*(B*o+D*p+F*G))+(o*(y*s+B*t+v*u)+(z*s+D*t+w*u)*p+(A*s+F*t+x*u)*G+ +f[b+212>>2]);H=(k*g+h)*(v*q+w*r+x*H)+((i*g+l)*(y*q+z*r+A*H)+(j*g+m)*(B*q+D*r+F*H))+((y*s+B*t+v*u)*q+(z*s+D*t+w*u)*r+(A*s+F*t+x*u)*H+ +f[b+216>>2]);I=(y*s+B*t+v*u)*C+(z*s+D*t+w*u)*E+(A*s+F*t+x*u)*I+ +f[b+220>>2]+((k*g+h)*(v*C+w*E+x*I)+((i*g+l)*(y*C+z*E+A*I)+(j*g+m)*(B*C+D*E+F*I)));f[n>>2]=G+i*(i*(G-l)+j*(H-m)+k*(I-h));f[n+4>>2]=H+j*(i*(G-l)+j*(H-m)+k*(I-h));f[n+8>>2]=I+k*(i*(G-l)+j*(H-m)+k*(I-h));I=i*(G-l)+j*(H-m)+k*(I-h);e=n+12|0;f[e>>2]=0.0;b=b+32|0;b=c[b>>2]|0;e=c[b>>2]|0;e=e+16|0;e=c[e>>2]|0;Ab[e&31](b,d,n,I);Ta=n;return}}function pe(b,d,e,g,i,j,k,l){b=b|0;d=d|0;e=e|0;g=g|0;i=i|0;j=j|0;k=k|0;l=l|0;var m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,t=0.0,u=0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0,C=0.0,D=0.0;c[b+4>>2]=4;c[b+8>>2]=-1;c[b+12>>2]=-1;f[b+16>>2]=3402823466385288598117041.0e14;a[b+20>>0]=1;a[b+21>>0]=0;c[b+24>>2]=-1;c[b+28>>2]=d;c[b+32>>2]=e;f[b+36>>2]=0.0;f[b+40>>2]=.30000001192092896;c[b+44>>2]=0;c[b>>2]=5956;f[b+688>>2]=0.0;f[b+692>>2]=-1.0;f[b+696>>2]=.8999999761581421;f[b+700>>2]=.30000001192092896;f[b+704>>2]=1.0;f[b+708>>2]=0.0;f[b+712>>2]=0.0;a[b+716>>0]=0;a[b+736>>0]=0;a[b+737>>0]=0;a[b+738>>0]=0;a[b+739>>0]=1;a[b+740>>0]=l&1;c[b+748>>2]=0;c[b+600>>2]=c[g>>2];c[b+600+4>>2]=c[g+4>>2];c[b+600+8>>2]=c[g+8>>2];c[b+600+12>>2]=c[g+12>>2];o=+f[d+4>>2];p=+f[d+20>>2];m=+f[d+36>>2];q=+f[j>>2];t=+f[j+4>>2];n=+f[j+8>>2];do if(!(o*q+p*t+m*n>=.9999998807907104))if(!(o*q+p*t+m*n<=-.9999998807907104)){u=(f[h>>2]=m*t-p*n,c[h>>2]|0);g=(f[h>>2]=o*n-m*q,c[h>>2]|0);z=n*(o*n-m*q)-t*(p*q-o*t);A=q*(p*q-o*t)-n*(m*t-p*n);y=t*(m*t-p*n)-q*(o*n-m*q);e=(f[h>>2]=p*q-o*t,c[h>>2]|0);break}else{z=+f[d+12>>2];A=+f[d+28>>2];y=+f[d+44>>2];u=c[d+8>>2]|0;e=c[d+40>>2]|0;g=c[d+24>>2]|0;break}else{z=-+f[d+12>>2];A=-+f[d+28>>2];y=-+f[d+44>>2];u=c[d+8>>2]|0;e=c[d+40>>2]|0;g=c[d+24>>2]|0}while(0);f[b+552>>2]=z;c[b+556>>2]=u;c[b+560>>2]=c[j>>2];f[b+564>>2]=0.0;f[b+568>>2]=A;c[b+572>>2]=g;c[b+576>>2]=c[j+4>>2];f[b+580>>2]=0.0;f[b+584>>2]=y;c[b+588>>2]=e;c[b+592>>2]=c[j+8>>2];f[b+596>>2]=0.0;m=+f[j+4>>2];v=+f[k+8>>2];p=+f[j+8>>2];w=+f[k+4>>2];x=+f[k>>2];n=+f[j>>2];do if(v*p+(m*w+x*n)<-.9999998807907104)if(+r(+p)>.7071067690849304){n=1.0/+s(+(m*m+p*p));q=0.0;t=m*n;o=0.0;m=-(p*n);break}else{p=1.0/+s(+(m*m+n*n));q=0.0;t=0.0;o=-(m*p);m=n*p;break}else{B=+s(+((v*p+(m*w+x*n)+1.0)*2.0));q=B*.5;t=(w*n-m*x)*(1.0/B);o=(m*v-p*w)*(1.0/B);m=(p*x-v*n)*(1.0/B)}while(0);D=z*q+y*m-A*t;p=A*q+z*t-y*o;n=y*q+A*o-z*m;C=-(z*o)-A*m-y*t;z=-o;o=-m;y=-t;B=p*y+(q*D+C*z)-n*o;A=n*z+(q*p+C*o)-D*y;z=D*o+(C*y+q*n)-p*z;c[b+664>>2]=c[i>>2];c[b+664+4>>2]=c[i+4>>2];c[b+664+8>>2]=c[i+8>>2];c[b+664+12>>2]=c[i+12>>2];f[b+616>>2]=B;f[b+620>>2]=w*z-v*A;c[b+624>>2]=c[k>>2];f[b+628>>2]=0.0;f[b+632>>2]=A;f[b+636>>2]=v*B-x*z;c[b+640>>2]=c[k+4>>2];f[b+644>>2]=0.0;f[b+648>>2]=z;f[b+652>>2]=x*A-w*B;c[b+656>>2]=c[k+8>>2];f[b+660>>2]=0.0;f[b+732>>2]=l?-1.0:1.0;return}function qe(b){b=b|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;o=Ta;Ta=Ta+16|0;Aj(15123);j=c[b+204>>2]|0;zb[c[(c[j>>2]|0)+8>>2]&127](j,b,c[b+24>>2]|0);j=c[b+308>>2]|0;if((j|0)>0){k=c[b+316>>2]|0;l=0;do{e=c[k+(l<<2)>>2]|0;d=c[e+740>>2]|0;e=c[e+744>>2]|0;if((d|0?(e|0?(c[d+204>>2]&3|0)==0:0):0)?(c[e+204>>2]&3|0)==0:0){g=c[d+208>>2]|0;d=c[e+208>>2]|0;i=c[(c[b+204>>2]|0)+16>>2]|0;e=c[i+(g<<3)>>2]|0;if((e|0)!=(g|0)){c[i+(g<<3)>>2]=c[i+(e<<3)>>2];g=c[i+(e<<3)>>2]|0;e=c[i+(g<<3)>>2]|0;if((g|0)!=(e|0)){h=i+(g<<3)|0;do{g=i+(e<<3)|0;c[h>>2]=c[g>>2];g=c[g>>2]|0;h=i+(g<<3)|0;e=c[h>>2]|0}while((g|0)!=(e|0))}}e=c[i+(d<<3)>>2]|0;if((e|0)!=(d|0)){c[i+(d<<3)>>2]=c[i+(e<<3)>>2];d=c[i+(e<<3)>>2]|0;e=c[i+(d<<3)>>2]|0;if((d|0)!=(e|0)){h=i+(d<<3)|0;do{d=i+(e<<3)|0;c[h>>2]=c[d>>2];d=c[d>>2]|0;h=i+(d<<3)|0;e=c[h>>2]|0}while((d|0)!=(e|0))}}if((g|0)!=(d|0)){c[i+(g<<3)>>2]=d;h=i+(d<<3)+4|0;c[h>>2]=(c[h>>2]|0)+(c[i+(g<<3)+4>>2]|0)}}l=l+1|0}while((l|0)!=(j|0))}j=c[b+212>>2]|0;if((j|0)>0){k=c[b+220>>2]|0;l=0;do{d=c[k+(l<<2)>>2]|0;if((a[d+20>>0]|0?(m=c[d+28>>2]|0,(c[m+204>>2]&3|0)==0):0)?(n=c[d+32>>2]|0,(c[n+204>>2]&3|0)==0):0){e=c[m+208>>2]|0;d=c[n+208>>2]|0;i=c[(c[b+204>>2]|0)+16>>2]|0;g=c[i+(e<<3)>>2]|0;if((g|0)!=(e|0)){c[i+(e<<3)>>2]=c[i+(g<<3)>>2];e=c[i+(g<<3)>>2]|0;g=c[i+(e<<3)>>2]|0;if((e|0)!=(g|0)){h=i+(e<<3)|0;do{e=i+(g<<3)|0;c[h>>2]=c[e>>2];e=c[e>>2]|0;h=i+(e<<3)|0;g=c[h>>2]|0}while((e|0)!=(g|0))}}g=c[i+(d<<3)>>2]|0;if((g|0)!=(d|0)){c[i+(d<<3)>>2]=c[i+(g<<3)>>2];d=c[i+(g<<3)>>2]|0;g=c[i+(d<<3)>>2]|0;if((d|0)!=(g|0)){h=i+(d<<3)|0;do{d=i+(g<<3)|0;c[h>>2]=c[d>>2];d=c[d>>2]|0;h=i+(d<<3)|0;g=c[h>>2]|0}while((d|0)!=(g|0))}}if((e|0)!=(d|0)){c[i+(e<<3)>>2]=d;h=i+(d<<3)+4|0;c[h>>2]=(c[h>>2]|0)+(c[i+(e<<3)+4>>2]|0)}}l=l+1|0}while((l|0)!=(j|0))}d=c[b+204>>2]|0;vb[c[(c[d>>2]|0)+12>>2]&255](d,b);d=c[2760]|0;b=(c[d+16>>2]|0)+-1|0;c[d+16>>2]=b;if(b|0){Ta=o;return}do if(c[d+4>>2]|0){Pa(o|0,0)|0;b=c[6878]|0;f[d+8>>2]=+f[d+8>>2]+ +(((c[o+4>>2]|0)-(c[b+4>>2]|0)+(((c[o>>2]|0)-(c[b>>2]|0)|0)*1e6|0)-(c[d+12>>2]|0)|0)>>>0)/1.0e3;if(!(c[d+16>>2]|0)){d=c[2760]|0;break}else{Ta=o;return}}while(0);c[2760]=c[d+20>>2];Ta=o;return}function re(b,d,e,g){b=b|0;d=d|0;e=e|0;g=+g;var h=0,i=0,j=0,k=0.0,l=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0,u=0,v=0.0,w=0.0,x=0,y=0;t=Ta;Ta=Ta+192|0;i=c[(c[b+4>>2]|0)+740>>2]|0;j=c[(c[b+8>>2]|0)+8>>2]|0;k=+f[e>>2];n=+f[d>>2]*g+k;l=+f[e+4>>2];p=+f[d+4>>2]*g+l;m=+f[e+8>>2];o=+f[d+8>>2]*g+m;if((i|0)!=(j|0)){u=c[(c[b+12>>2]|0)+8>>2]|0;w=n-+f[u+52>>2];v=p-+f[u+56>>2];s=o-+f[u+60>>2];h=j;q=w*+f[u+4>>2]+v*+f[u+20>>2]+s*+f[u+36>>2];r=w*+f[u+8>>2]+v*+f[u+24>>2]+s*+f[u+40>>2];s=w*+f[u+12>>2]+v*+f[u+28>>2]+s*+f[u+44>>2]}else{v=n-+f[i+52>>2];w=p-+f[i+56>>2];s=o-+f[i+60>>2];h=c[(c[b+12>>2]|0)+8>>2]|0;q=v*+f[i+4>>2]+w*+f[i+20>>2]+s*+f[i+36>>2];r=v*+f[i+8>>2]+w*+f[i+24>>2]+s*+f[i+40>>2];s=v*+f[i+12>>2]+w*+f[i+28>>2]+s*+f[i+44>>2]}k=k-+f[h+52>>2];l=l-+f[h+56>>2];w=m-+f[h+60>>2];m=k*+f[h+4>>2]+l*+f[h+20>>2]+w*+f[h+36>>2];v=k*+f[h+8>>2]+l*+f[h+24>>2]+w*+f[h+40>>2];w=k*+f[h+12>>2]+l*+f[h+28>>2]+w*+f[h+44>>2];f[t>>2]=q;f[t+4>>2]=r;f[t+8>>2]=s;f[t+12>>2]=0.0;f[t+16>>2]=m;f[t+20>>2]=v;f[t+24>>2]=w;f[t+28>>2]=0.0;c[t+64>>2]=c[d>>2];c[t+64+4>>2]=c[d+4>>2];c[t+64+8>>2]=c[d+8>>2];c[t+64+12>>2]=c[d+12>>2];f[t+80>>2]=g;f[t+84>>2]=0.0;f[t+88>>2]=0.0;f[t+92>>2]=0.0;c[t+112>>2]=0;a[t+116>>0]=0;c[t+120>>2]=0;c[t+120+4>>2]=0;c[t+120+8>>2]=0;c[t+120+12>>2]=0;c[t+120+16>>2]=0;c[t+120+20>>2]=0;c[t+120+24>>2]=0;c[t+120+28>>2]=0;f[t+48>>2]=n;f[t+52>>2]=p;f[t+56>>2]=o;f[t+60>>2]=0.0;c[t+32>>2]=c[e>>2];c[t+32+4>>2]=c[e+4>>2];c[t+32+8>>2]=c[e+8>>2];c[t+32+12>>2]=c[e+12>>2];if((i|0)!=(j|0)){u=b+24|0;h=b+28|0;e=b+16|0;x=b+20|0;u=c[u>>2]|0;h=c[h>>2]|0;e=c[e>>2]|0;x=c[x>>2]|0;d=t+96|0;c[d>>2]=x;d=t+100|0;c[d>>2]=e;d=t+104|0;c[d>>2]=h;d=t+108|0;c[d>>2]=u;d=b+12|0;y=(i|0)!=(j|0)?d:b+8|0;y=c[y>>2]|0;d=(i|0)!=(j|0)?b+8|0:d;d=c[d>>2]|0;b=b+32|0;b=c[b>>2]|0;j=c[b>>2]|0;j=j+12|0;j=c[j>>2]|0;+bb[j&31](b,t,y,x,h,d,e,u);Ta=t;return}else{y=b+28|0;e=b+24|0;x=b+20|0;d=b+16|0;y=c[y>>2]|0;e=c[e>>2]|0;x=c[x>>2]|0;d=c[d>>2]|0;u=t+96|0;c[u>>2]=d;u=t+100|0;c[u>>2]=x;u=t+104|0;c[u>>2]=e;u=t+108|0;c[u>>2]=y;u=b+12|0;h=(i|0)!=(j|0)?u:b+8|0;h=c[h>>2]|0;u=(i|0)!=(j|0)?b+8|0:u;u=c[u>>2]|0;b=b+32|0;b=c[b>>2]|0;j=c[b>>2]|0;j=j+12|0;j=c[j>>2]|0;+bb[j&31](b,t,h,d,e,u,x,y);Ta=t;return}}function se(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var g=0.0,h=0.0,i=0.0,j=0.0,k=0.0,l=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0,C=0.0,D=0.0,E=0.0,F=0,G=0.0,H=0.0,I=0.0;d=Ta;Ta=Ta+96|0;k=+f[b>>2];l=+f[a+28>>2];x=+f[b+4>>2];y=+f[a+32>>2];z=+f[b+8>>2];A=+f[a+36>>2];B=+f[a+44>>2];C=+f[a+48>>2];D=+f[a+52>>2];E=+f[a+60>>2];m=+f[a+64>>2];n=+f[a+68>>2];o=+f[a+76>>2];p=+f[a+80>>2];q=+f[a+84>>2];f[d+80>>2]=k*l+x*y+z*A+o;f[d+80+4>>2]=k*B+x*C+z*D+p;f[d+80+8>>2]=k*E+x*m+z*n+q;f[d+80+12>>2]=0.0;r=+f[b+16>>2];t=+f[b+20>>2];u=+f[b+24>>2];f[d+64>>2]=o+(l*r+y*t+A*u);f[d+64+4>>2]=p+(B*r+C*t+D*u);f[d+64+8>>2]=q+(E*r+m*t+n*u);f[d+64+12>>2]=0.0;v=+f[b+32>>2];w=+f[b+36>>2];g=+f[b+40>>2];f[d+48>>2]=o+(l*v+y*w+A*g);f[d+48+4>>2]=p+(B*v+C*w+D*g);f[d+48+8>>2]=q+(E*v+m*w+n*g);f[d+48+12>>2]=0.0;h=(k*l+x*y+z*A+o+(o+(l*r+y*t+A*u))+(o+(l*v+y*w+A*g)))*.3333333432674408;i=(k*B+x*C+z*D+p+(p+(B*r+C*t+D*u))+(p+(B*v+C*w+D*g)))*.3333333432674408;j=(k*E+x*m+z*n+q+(q+(E*r+m*t+n*u))+(q+(E*v+m*w+n*g)))*.3333333432674408;f[d+32>>2]=h;f[d+32+4>>2]=i;f[d+32+8>>2]=j;f[d+32+12>>2]=0.0;b=c[a+8>>2]|0;if(!((eb[c[(c[b>>2]|0)+48>>2]&255](b)|0)&16384)){e=c[a+8>>2]|0;F=c[e>>2]|0;F=F+8|0;F=c[F>>2]|0;b=a+12|0;Cb[F&127](e,d+80|0,d+64|0,b);e=c[a+8>>2]|0;F=c[e>>2]|0;F=F+8|0;F=c[F>>2]|0;Cb[F&127](e,d+64|0,d+48|0,b);a=c[a+8>>2]|0;e=c[a>>2]|0;e=e+8|0;e=c[e>>2]|0;Cb[e&127](a,d+48|0,d+80|0,b);Ta=d;return}I=+f[d+80>>2];H=p+(B*r+C*t+D*u)-(k*B+x*C+z*D+p);G=q+(E*r+m*t+n*u)-(k*E+x*m+z*n+q);B=p+(B*v+C*w+D*g)-(k*B+x*C+z*D+p);z=q+(E*v+m*w+n*g)-(k*E+x*m+z*n+q);C=G*(o+(l*v+y*w+A*g)-I)-(o+(l*r+y*t+A*u)-I)*z;D=(o+(l*r+y*t+A*u)-I)*B-H*(o+(l*v+y*w+A*g)-I);E=1.0/+s(+(D*D+((H*z-G*B)*(H*z-G*B)+C*C)));c[d+16>>2]=1065353216;c[d+16+4>>2]=1065353216;c[d+16+8>>2]=0;f[d+16+12>>2]=0.0;b=c[a+8>>2]|0;e=c[(c[b>>2]|0)+8>>2]|0;f[d>>2]=(H*z-G*B)*E+h;f[d+4>>2]=C*E+i;f[d+8>>2]=D*E+j;f[d+12>>2]=0.0;Cb[e&127](b,d+32|0,d,d+16|0);b=c[a+8>>2]|0;e=c[b>>2]|0;e=e+8|0;e=c[e>>2]|0;F=a+12|0;Cb[e&127](b,d+80|0,d+64|0,F);b=c[a+8>>2]|0;e=c[b>>2]|0;e=e+8|0;e=c[e>>2]|0;Cb[e&127](b,d+64|0,d+48|0,F);a=c[a+8>>2]|0;b=c[a>>2]|0;b=b+8|0;b=c[b>>2]|0;Cb[b&127](a,d+48|0,d+80|0,F);Ta=d;return}function te(a,b,d){a=a|0;b=b|0;d=d|0;var e=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(!((a|0)!=0&(b|0)!=0))return;c[6879]=(c[6879]|0)+1;e=Zb(1043)|0;if(!e)e=0;else{c[(e+4+15&-16)+-4>>2]=e;e=e+4+15&-16}c[e>>2]=a;c[e+4>>2]=b;j=e;g=e;h=e;q=1;a=128;m=e;k=128;e=124;while(1){n=q+-1|0;o=c[m+(n<<3)>>2]|0;p=c[m+(n<<3)+4>>2]|0;if((n|0)>(e|0)){i=k<<1;do if((k|0)<(i|0)&(a|0)<(i|0)){if(k){c[6879]=(c[6879]|0)+1;e=Zb((k<<4|3)+16|0)|0;if(!e)a=0;else{c[(e+4+15&-16)+-4>>2]=e;a=e+4+15&-16}if((k|0)>0){e=0;do{g=m+(e<<3)|0;h=c[g+4>>2]|0;l=a+(e<<3)|0;c[l>>2]=c[g>>2];c[l+4>>2]=h;e=e+1|0}while((e|0)!=(k|0));b=a;e=a}else{b=a;e=a;r=13}}else{b=0;e=0;r=13}if((r|0)==13){r=0;if(!m){g=e;h=e;a=i;break}}if(!j){g=e;h=e;a=i}else{c[6880]=(c[6880]|0)+1;kd(c[j+-4>>2]|0);g=e;h=e;a=i}}else{e=j;b=m}while(0);j=e;l=a;k=i;i=i+-4|0}else{l=a;b=m;i=e}do if((o|0)==(p|0))if(!(c[o+40>>2]|0))e=n;else{p=c[o+36>>2]|0;c[b+(n<<3)>>2]=p;c[b+(n<<3)+4>>2]=p;p=c[o+40>>2]|0;e=q+1|0;c[b+(q<<3)>>2]=p;c[b+(q<<3)+4>>2]=p;p=c[o+40>>2]|0;c[b+(e<<3)>>2]=c[o+36>>2];c[b+(e<<3)+4>>2]=p;e=q+2|0}else if(((((+f[o>>2]<=+f[p+16>>2]?+f[o+16>>2]>=+f[p>>2]:0)?+f[o+4>>2]<=+f[p+20>>2]:0)?+f[o+20>>2]>=+f[p+4>>2]:0)?+f[o+8>>2]<=+f[p+24>>2]:0)?+f[o+24>>2]>=+f[p+8>>2]:0){a=(c[p+40>>2]|0)!=0;if(!(c[o+40>>2]|0))if(a){e=c[p+36>>2]|0;c[b+(n<<3)>>2]=o;c[b+(n<<3)+4>>2]=e;e=c[p+40>>2]|0;c[b+(q<<3)>>2]=o;c[b+(q<<3)+4>>2]=e;e=q+1|0;break}else{zb[c[(c[d>>2]|0)+8>>2]&127](d,o,p);e=n;break}else{e=c[o+36>>2]|0;if(a){m=c[p+36>>2]|0;c[b+(n<<3)>>2]=e;c[b+(n<<3)+4>>2]=m;m=c[p+36>>2]|0;n=q+1|0;c[b+(q<<3)>>2]=c[o+40>>2];c[b+(q<<3)+4>>2]=m;m=c[p+40>>2]|0;e=q+2|0;c[b+(n<<3)>>2]=c[o+36>>2];c[b+(n<<3)+4>>2]=m;p=c[p+40>>2]|0;c[b+(e<<3)>>2]=c[o+40>>2];c[b+(e<<3)+4>>2]=p;e=q+3|0;break}else{c[b+(n<<3)>>2]=e;c[b+(n<<3)+4>>2]=p;c[b+(q<<3)>>2]=c[o+40>>2];c[b+(q<<3)+4>>2]=p;e=q+1|0;break}}}else e=n;while(0);if(!e)break;else{q=e;a=l;m=b;e=i}}if((b|0)==0|(g|0)==0)return;c[6880]=(c[6880]|0)+1;kd(c[g+-4>>2]|0);return}function ue(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var g=0,h=0.0,i=0.0,j=0.0,k=0.0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,t=0,u=0,v=0,w=0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0,C=0.0,D=0.0,E=0.0,F=0.0,G=0.0,H=0.0,I=0,J=0;J=Ta;Ta=Ta+32|0;if(!a){Ta=J;return}F=+f[d>>2]-+f[b>>2];G=+f[d+4>>2]-+f[b+4>>2];B=+f[d+8>>2]-+f[b+8>>2];A=1.0/+s(+(F*F+G*G+B*B));x=F*A==0.0?999999984306749440.0:1.0/(F*A);y=G*A==0.0?999999984306749440.0:1.0/(G*A);z=B*A==0.0?999999984306749440.0:1.0/(B*A);c[6879]=(c[6879]|0)+1;d=Zb(531)|0;if(!d)d=0;else{c[(d+4+15&-16)+-4>>2]=d;d=d+4+15&-16}el(d+4|0,0,508)|0;c[d>>2]=a;t=d;o=d;p=d;w=1;a=128;v=d;m=128;l=126;while(1){q=w+-1|0;n=v+(q<<2)|0;u=c[n>>2]|0;c[J>>2]=c[u>>2];c[J+4>>2]=c[u+4>>2];c[J+8>>2]=c[u+8>>2];c[J+12>>2]=c[u+12>>2];c[J+16>>2]=c[u+16>>2];c[J+16+4>>2]=c[u+16+4>>2];c[J+16+8>>2]=c[u+16+8>>2];c[J+16+12>>2]=c[u+16+12>>2];i=+f[b>>2];h=x*(+f[J+((x<0.0&1)<<4)>>2]-i);i=x*(+f[J+(((x<0.0^1)&1)<<4)>>2]-i);k=+f[b+4>>2];j=y*(+f[J+((y<0.0&1)<<4)+4>>2]-k);k=y*(+f[J+(((y<0.0^1)&1)<<4)+4>>2]-k);do if((!(j>i|h>k)?(C=j>h?j:h,H=k>2],D=z*(+f[J+((z<0.0&1)<<4)+8>>2]-E),E=z*(+f[J+(((z<0.0^1)&1)<<4)+8>>2]-E),!(D>H|C>E)):0)?((E0.0?(D>C?D:C)>2]|0)){vb[c[(c[e>>2]|0)+12>>2]&255](e,u);d=t;n=q;g=v;break}if((q|0)>(l|0)){r=m<<1;if((m|0)<(r|0)){do if((a|0)<(r|0)){if(m){c[6879]=(c[6879]|0)+1;d=Zb((m<<3|3)+16|0)|0;if(!d)a=0;else{c[(d+4+15&-16)+-4>>2]=d;a=d+4+15&-16}if((m|0)>0){d=0;do{c[a+(d<<2)>>2]=c[v+(d<<2)>>2];d=d+1|0}while((d|0)!=(m|0));g=a;d=a}else{g=a;d=a;I=18}}else{g=0;d=0;I=18}if((I|0)==18){I=0;if(!v){o=d;l=d;a=r;break}}if(!t){o=d;l=d;a=r}else{c[6880]=(c[6880]|0)+1;kd(c[t+-4>>2]|0);o=d;l=d;a=r}}else{l=p;d=t;g=v}while(0);el(g+(m<<2)|0,0,m<<2|0)|0;n=g+(q<<2)|0;m=o}else{m=o;l=p;d=t;g=v}o=m;p=l;m=r;l=r+-2|0}else{d=t;g=v}c[n>>2]=c[u+36>>2];c[g+(w<<2)>>2]=c[u+40>>2];n=w+1|0}else{d=t;n=q;g=v}while(0);if(!n)break;t=d;w=n;v=g}if((g|0)==0|(o|0)==0){Ta=J;return}c[6880]=(c[6880]|0)+1;kd(c[o+-4>>2]|0);Ta=J;return}function ve(b,d,e,g,h,i){b=b|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;c[b+4>>2]=6;c[b+8>>2]=-1;c[b+12>>2]=-1;f[b+16>>2]=3402823466385288598117041.0e14;a[b+20>>0]=1;a[b+21>>0]=0;c[b+24>>2]=-1;c[b+28>>2]=d;c[b+32>>2]=e;f[b+36>>2]=0.0;f[b+40>>2]=.30000001192092896;c[b+44>>2]=0;c[b>>2]=5628;c[b+48>>2]=c[g>>2];c[b+48+4>>2]=c[g+4>>2];c[b+48+8>>2]=c[g+8>>2];c[b+48+12>>2]=c[g+12>>2];c[b+64>>2]=c[g+16>>2];c[b+64+4>>2]=c[g+16+4>>2];c[b+64+8>>2]=c[g+16+8>>2];c[b+64+12>>2]=c[g+16+12>>2];c[b+80>>2]=c[g+32>>2];c[b+80+4>>2]=c[g+32+4>>2];c[b+80+8>>2]=c[g+32+8>>2];c[b+80+12>>2]=c[g+32+12>>2];c[b+96>>2]=c[g+48>>2];c[b+96+4>>2]=c[g+48+4>>2];c[b+96+8>>2]=c[g+48+8>>2];c[b+96+12>>2]=c[g+48+12>>2];c[b+112>>2]=c[h>>2];c[b+112+4>>2]=c[h+4>>2];c[b+112+8>>2]=c[h+8>>2];c[b+112+12>>2]=c[h+12>>2];c[b+128>>2]=c[h+16>>2];c[b+128+4>>2]=c[h+16+4>>2];c[b+128+8>>2]=c[h+16+8>>2];c[b+128+12>>2]=c[h+16+12>>2];c[b+144>>2]=c[h+32>>2];c[b+144+4>>2]=c[h+32+4>>2];c[b+144+8>>2]=c[h+32+8>>2];c[b+144+12>>2]=c[h+32+12>>2];c[b+160>>2]=c[h+48>>2];c[b+160+4>>2]=c[h+48+4>>2];c[b+160+8>>2]=c[h+48+8>>2];c[b+160+12>>2]=c[h+48+12>>2];g=b+680|0;h=g+48|0;do{c[g>>2]=0;g=g+4|0}while((g|0)<(h|0));c[b+740>>2]=0;c[b+740+4>>2]=0;c[b+740+8>>2]=0;c[b+740+12>>2]=0;c[b+756>>2]=1045220557;c[b+760>>2]=1045220557;c[b+764>>2]=1045220557;c[b+768>>2]=0;c[b+768+4>>2]=0;c[b+768+8>>2]=0;c[b+768+12>>2]=0;c[b+768+16>>2]=0;f[b+728>>2]=.699999988079071;f[b+732>>2]=1.0;f[b+736>>2]=.5;a[b+788>>0]=0;a[b+788+1>>0]=0;a[b+788+2>>0]=0;c[b+792>>2]=0;c[b+792+4>>2]=0;c[b+792+8>>2]=0;c[b+808>>2]=0;c[b+808+4>>2]=0;c[b+808+8>>2]=0;f[b+928>>2]=0.0;f[b+876>>2]=0.0;f[b+880>>2]=.10000000149011612;f[b+884>>2]=300.0;f[b+868>>2]=1.0;f[b+872>>2]=-1.0;f[b+896>>2]=0.0;f[b+900>>2]=.20000000298023224;f[b+904>>2]=0.0;f[b+908>>2]=0.0;f[b+888>>2]=1.0;f[b+892>>2]=.5;c[b+924>>2]=0;f[b+916>>2]=0.0;a[b+912>>0]=0;f[b+992>>2]=0.0;f[b+940>>2]=0.0;f[b+944>>2]=.10000000149011612;f[b+948>>2]=300.0;f[b+932>>2]=1.0;f[b+936>>2]=-1.0;f[b+960>>2]=0.0;f[b+964>>2]=.20000000298023224;f[b+968>>2]=0.0;f[b+972>>2]=0.0;f[b+952>>2]=1.0;f[b+956>>2]=.5;c[b+988>>2]=0;f[b+980>>2]=0.0;a[b+976>>0]=0;f[b+1056>>2]=0.0;f[b+1004>>2]=0.0;f[b+1008>>2]=.10000000149011612;f[b+1012>>2]=300.0;f[b+996>>2]=1.0;f[b+1e3>>2]=-1.0;f[b+1024>>2]=0.0;f[b+1028>>2]=.20000000298023224;f[b+1032>>2]=0.0;f[b+1036>>2]=0.0;f[b+1016>>2]=1.0;f[b+1020>>2]=.5;c[b+1052>>2]=0;f[b+1044>>2]=0.0;a[b+1040>>0]=0;a[b+1300>>0]=i&1;a[b+1301>>0]=1;c[b+1304>>2]=0;a[b+1308>>0]=0;Xc(b,(c[b+28>>2]|0)+4|0,(c[b+32>>2]|0)+4|0);return}function we(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,g=0.0,h=0,i=0,j=0.0;a=Ta;Ta=Ta+144|0;switch(c[b+388>>2]&15){case 1:{c[a+112>>2]=4564;h=c[d+8>>2]|0;h=(c[h+236>>2]&2|0)==0?0:h;i=c[d+12>>2]|0;j=+f[i+48>>2];e=+f[i+52>>2];g=+f[i+56>>2];g=+s(+((j-j)*(j-j)+(e-e)*(e-e)+(g-g)*(g-g)));i=c[b+192>>2]|0;e=+Wa[c[(c[i>>2]|0)+48>>2]&31](i);i=c[d+4>>2]|0;Cb[c[(c[i>>2]|0)+8>>2]&127](i,c[d+12>>2]|0,a+96|0,a+64|0);c[a>>2]=c[a+96>>2];c[a+4>>2]=c[a+96+4>>2];c[a+8>>2]=c[a+96+8>>2];c[a+12>>2]=c[a+96+12>>2];c[a+16>>2]=c[a+64>>2];c[a+16+4>>2]=c[a+64+4>>2];c[a+16+8>>2]=c[a+64+8>>2];c[a+16+12>>2]=c[a+64+12>>2];c[a+32>>2]=c[a>>2];c[a+32+4>>2]=c[a+4>>2];c[a+32+8>>2]=c[a+8>>2];c[a+32+12>>2]=c[a+12>>2];c[a+32+16>>2]=c[a+16>>2];c[a+32+20>>2]=c[a+20>>2];c[a+32+24>>2]=c[a+24>>2];c[a+32+28>>2]=c[a+28>>2];f[a+32>>2]=+f[a+32>>2]-e;f[a+32+4>>2]=+f[a+32+4>>2]-e;f[a+32+8>>2]=+f[a+32+8>>2]-e;f[a+32+16>>2]=e+ +f[a+32+16>>2];f[a+32+20>>2]=e+ +f[a+32+20>>2];f[a+32+24>>2]=e+ +f[a+32+24>>2];c[a+112+4>>2]=b;c[a+112+8>>2]=d;c[a+112+12>>2]=h;f[a+112+16>>2]=e+g;f[a+112+20>>2]=e;Re(c[b+928>>2]|0,a+32|0,a+112|0);Ta=a;return}case 2:{f[a+4>>2]=1.0;c[a+8+4>>2]=0;c[a+8+4+4>>2]=0;c[a+8+4+8>>2]=0;c[a>>2]=4600;c[a+24>>2]=b;c[a+28>>2]=d;c[a+8>>2]=c[b+456>>2];i=c[d+4>>2]|0;j=+Wa[c[(c[i>>2]|0)+48>>2]&31](i);i=c[b+192>>2]|0;j=j+ +Wa[c[(c[i>>2]|0)+48>>2]&31](i);f[a+12>>2]=j;g=+f[(c[d+8>>2]|0)+224>>2];f[a+112>>2]=g;c[a+16>>2]=c[(+f[b+316>>2]>2];i=c[d+4>>2]|0;Cb[c[(c[i>>2]|0)+8>>2]&127](i,c[d+12>>2]|0,a+112|0,a+96|0);c[a+32>>2]=c[a+112>>2];c[a+32+4>>2]=c[a+112+4>>2];c[a+32+8>>2]=c[a+112+8>>2];c[a+32+12>>2]=c[a+112+12>>2];c[a+32+16>>2]=c[a+96>>2];c[a+32+16+4>>2]=c[a+96+4>>2];c[a+32+16+8>>2]=c[a+96+8>>2];c[a+32+16+12>>2]=c[a+96+12>>2];c[a+64>>2]=c[a+32>>2];c[a+64+4>>2]=c[a+32+4>>2];c[a+64+8>>2]=c[a+32+8>>2];c[a+64+12>>2]=c[a+32+12>>2];c[a+64+16>>2]=c[a+32+16>>2];c[a+64+20>>2]=c[a+32+20>>2];c[a+64+24>>2]=c[a+32+24>>2];c[a+64+28>>2]=c[a+32+28>>2];f[a+64>>2]=+f[a+64>>2]-j;f[a+64+4>>2]=+f[a+64+4>>2]-j;f[a+64+8>>2]=+f[a+64+8>>2]-j;f[a+64+16>>2]=j+ +f[a+64+16>>2];f[a+64+20>>2]=j+ +f[a+64+20>>2];f[a+64+24>>2]=j+ +f[a+64+24>>2];Re(c[b+1048>>2]|0,a+64|0,a);Ta=a;return}default:{Ta=a;return}}}function xe(a,e,f){a=a|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0;c[e+16>>2]=c[a+20>>2];c[e+20>>2]=c[a+24>>2];c[e+24>>2]=c[a+28>>2];c[e+28>>2]=c[a+32>>2];c[e>>2]=c[a+4>>2];c[e+4>>2]=c[a+8>>2];c[e+8>>2]=c[a+12>>2];c[e+12>>2]=c[a+16>>2];c[e+32>>2]=c[a+36>>2];c[e+36>>2]=c[a+40>>2];c[e+40>>2]=c[a+44>>2];c[e+44>>2]=c[a+48>>2];c[e+48>>2]=c[a+56>>2];c[e+52>>2]=d[a+60>>0];k=c[a+88>>2]|0;c[e+56>>2]=k;if(k){k=gb[c[(c[f>>2]|0)+28>>2]&63](f,c[a+96>>2]|0)|0;c[e+64>>2]=k;if(k|0){h=c[a+88>>2]|0;k=ib[c[(c[f>>2]|0)+16>>2]&63](f,48,h)|0;if((h|0)>0){g=c[a+96>>2]|0;i=0;j=c[k+8>>2]|0;while(1){c[j+16>>2]=c[g+(i<<6)+16>>2];c[j+20>>2]=c[g+(i<<6)+20>>2];c[j+24>>2]=c[g+(i<<6)+24>>2];c[j+28>>2]=c[g+(i<<6)+28>>2];c[j>>2]=c[g+(i<<6)>>2];c[j+4>>2]=c[g+(i<<6)+4>>2];c[j+8>>2]=c[g+(i<<6)+8>>2];c[j+12>>2]=c[g+(i<<6)+12>>2];c[j+32>>2]=c[g+(i<<6)+32>>2];c[j+36>>2]=c[g+(i<<6)+36>>2];c[j+40>>2]=c[g+(i<<6)+40>>2];i=i+1|0;if((i|0)==(h|0))break;else j=j+48|0}}else g=c[a+96>>2]|0;Gb[c[(c[f>>2]|0)+20>>2]&63](f,k,21747,1497453121,g)}}else c[e+64>>2]=0;k=c[a+128>>2]|0;c[e+60>>2]=k;if(k){k=gb[c[(c[f>>2]|0)+28>>2]&63](f,c[a+136>>2]|0)|0;c[e+68>>2]=k;if(k|0){h=c[a+128>>2]|0;k=ib[c[(c[f>>2]|0)+16>>2]&63](f,16,h)|0;if((h|0)>0){g=c[a+136>>2]|0;i=0;j=c[k+8>>2]|0;while(1){c[j+12>>2]=c[g+(i<<4)+12>>2];b[j+6>>1]=b[g+(i<<4)+6>>1]|0;b[j+8>>1]=b[g+(i<<4)+8>>1]|0;b[j+10>>1]=b[g+(i<<4)+10>>1]|0;b[j>>1]=b[g+(i<<4)>>1]|0;b[j+2>>1]=b[g+(i<<4)+2>>1]|0;b[j+4>>1]=b[g+(i<<4)+4>>1]|0;i=i+1|0;if((i|0)==(h|0))break;else j=j+16|0}}else g=c[a+136>>2]|0;Gb[c[(c[f>>2]|0)+20>>2]&63](f,k,21770,1497453121,g)}}else c[e+68>>2]=0;c[e+76>>2]=c[a+144>>2];k=c[a+152>>2]|0;c[e+80>>2]=k;if(!k){c[e+72>>2]=0;return 21814}k=gb[c[(c[f>>2]|0)+28>>2]&63](f,c[a+160>>2]|0)|0;c[e+72>>2]=k;if(!k)return 21814;j=c[a+152>>2]|0;k=ib[c[(c[f>>2]|0)+16>>2]&63](f,20,j)|0;if((j|0)>0){g=c[a+160>>2]|0;h=0;i=c[k+8>>2]|0;while(1){b[i+14>>1]=b[g+(h<<5)+6>>1]|0;b[i+16>>1]=b[g+(h<<5)+8>>1]|0;b[i+18>>1]=b[g+(h<<5)+10>>1]|0;b[i+8>>1]=b[g+(h<<5)>>1]|0;b[i+10>>1]=b[g+(h<<5)+2>>1]|0;b[i+12>>1]=b[g+(h<<5)+4>>1]|0;c[i>>2]=c[g+(h<<5)+12>>2];c[i+4>>2]=c[g+(h<<5)+16>>2];h=h+1|0;if((h|0)==(j|0))break;else i=i+20|0}}else g=c[a+160>>2]|0;Gb[c[(c[f>>2]|0)+20>>2]&63](f,k,21793,1497453121,g);return 21814}function ye(b,d,e){b=b|0;d=d|0;e=e|0;var g=0,h=0.0,i=0.0,j=0,k=0,l=0,m=0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0;g=c[b+748>>2]|0;if((g|0)<=0)return;do{k=g;g=g+-1|0;r=+f[b+4+(g*184|0)>>2];s=+f[b+4+(g*184|0)+4>>2];h=+f[b+4+(g*184|0)+8>>2];q=r*+f[d>>2]+s*+f[d+4>>2]+h*+f[d+8>>2]+ +f[d+48>>2];o=r*+f[d+16>>2]+s*+f[d+20>>2]+h*+f[d+24>>2]+ +f[d+52>>2];h=r*+f[d+32>>2]+s*+f[d+36>>2]+h*+f[d+40>>2]+ +f[d+56>>2];f[b+4+(g*184|0)+48>>2]=q;f[b+4+(g*184|0)+52>>2]=o;f[b+4+(g*184|0)+56>>2]=h;f[b+4+(g*184|0)+60>>2]=0.0;s=+f[b+4+(g*184|0)+16>>2];r=+f[b+4+(g*184|0)+20>>2];i=+f[b+4+(g*184|0)+24>>2];p=s*+f[e>>2]+r*+f[e+4>>2]+i*+f[e+8>>2]+ +f[e+48>>2];n=s*+f[e+16>>2]+r*+f[e+20>>2]+i*+f[e+24>>2]+ +f[e+52>>2];i=s*+f[e+32>>2]+r*+f[e+36>>2]+i*+f[e+40>>2]+ +f[e+56>>2];f[b+4+(g*184|0)+32>>2]=p;f[b+4+(g*184|0)+36>>2]=n;f[b+4+(g*184|0)+40>>2]=i;f[b+4+(g*184|0)+44>>2]=0.0;f[b+4+(g*184|0)+80>>2]=(q-p)*+f[b+4+(g*184|0)+64>>2]+(o-n)*+f[b+4+(g*184|0)+68>>2]+(h-i)*+f[b+4+(g*184|0)+72>>2];j=b+4+(g*184|0)+148|0;c[j>>2]=(c[j>>2]|0)+1}while((k|0)>1);g=c[b+748>>2]|0;if((g|0)<=0)return;do{k=g;g=g+-1|0;j=b+4+(g*184|0)|0;h=+f[b+4+(g*184|0)+80>>2];i=+f[b+752>>2];do if(!(h<=i)){e=b+4+(g*184|0)+112|0;d=c[e>>2]|0;if(d|0?(l=c[6851]|0,l|0):0){eb[l&255](d)|0;c[e>>2]=0}d=(c[b+748>>2]|0)+-1|0;if((d|0)==(g|0))d=g;else{oi(j|0,b+4+(d*184|0)|0,184)|0;c[b+4+(d*184|0)+112>>2]=0;f[b+4+(d*184|0)+120>>2]=0.0;a[b+4+(d*184|0)+116>>0]=0;f[b+4+(d*184|0)+124>>2]=0.0;f[b+4+(d*184|0)+128>>2]=0.0;c[b+4+(d*184|0)+148>>2]=0;d=(c[b+748>>2]|0)+-1|0}c[b+748>>2]=d}else{q=+f[b+4+(g*184|0)+32>>2]-(+f[b+4+(g*184|0)+48>>2]-+f[b+4+(g*184|0)+64>>2]*h);r=+f[b+4+(g*184|0)+36>>2]-(+f[b+4+(g*184|0)+52>>2]-h*+f[b+4+(g*184|0)+68>>2]);s=+f[b+4+(g*184|0)+40>>2]-(+f[b+4+(g*184|0)+56>>2]-h*+f[b+4+(g*184|0)+72>>2]);if(!(q*q+r*r+s*s>i*i)){d=c[6852]|0;if(!d)break;ib[d&63](j,c[b+740>>2]|0,c[b+744>>2]|0)|0;break}e=b+4+(g*184|0)+112|0;d=c[e>>2]|0;if(d|0?(m=c[6851]|0,m|0):0){eb[m&255](d)|0;c[e>>2]=0}d=(c[b+748>>2]|0)+-1|0;if((d|0)==(g|0))d=g;else{oi(j|0,b+4+(d*184|0)|0,184)|0;c[b+4+(d*184|0)+112>>2]=0;f[b+4+(d*184|0)+120>>2]=0.0;a[b+4+(d*184|0)+116>>0]=0;f[b+4+(d*184|0)+124>>2]=0.0;f[b+4+(d*184|0)+128>>2]=0.0;c[b+4+(d*184|0)+148>>2]=0;d=(c[b+748>>2]|0)+-1|0}c[b+748>>2]=d}while(0)}while((k|0)>1);return}function ze(a,d,g,h,i){a=a|0;d=d|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0,t=0.0,u=0.0,v=0.0,w=0.0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;c[d+16>>2]=c[g>>2];c[d+16+4>>2]=c[g+4>>2];c[d+16+8>>2]=c[g+8>>2];c[d+16+12>>2]=c[g+12>>2];c[d+32>>2]=c[h>>2];c[d+32+4>>2]=c[h+4>>2];c[d+32+8>>2]=c[h+8>>2];c[d+32+12>>2]=c[h+12>>2];B=c[a+60>>2]|0;D=c[d+12>>2]&65535;q=+f[a+8>>2];t=+f[a+12>>2];w=+f[a+16>>2];r=+f[a+40>>2];n=(+f[g>>2]-q)*r;u=+f[a+44>>2];o=(+f[g+4>>2]-t)*u;v=+f[a+48>>2];p=(+f[g+8>>2]-w)*v;if(!(n<=0.0)){z=b[a+6>>1]|0;z=b[a+4>>1]&(!(n>=+(z&65535))?~~n&65535:z)}else z=0;if(!(o<=0.0)){A=b[a+6>>1]|0;A=b[a+4>>1]&(!(o>=+(A&65535))?~~o&65535:A)}else A=0;if(!(p<=0.0)){C=b[a+6>>1]|0;C=b[a+4>>1]&(!(p>=+(C&65535))?~~p&65535:C)}else C=0;p=(+f[h>>2]-q)*r;o=(+f[h+4>>2]-t)*u;n=(+f[h+8>>2]-w)*v;if(!(p<=0.0)){s=b[a+6>>1]|0;s=b[a+4>>1]&(!(p>=+(s&65535))?~~p&65535:s)|1}else s=1;if(!(o<=0.0)){x=b[a+6>>1]|0;x=b[a+4>>1]&(!(o>=+(x&65535))?~~o&65535:x)|1}else x=1;if(!(n<=0.0)){y=b[a+6>>1]|0;y=b[a+4>>1]&(!(n>=+(y&65535))?~~n&65535:y)|1}else y=1;j=b[B+(D<<6)+48>>1]|0;k=b[B+(D<<6)+54>>1]|0;E=c[a+68>>2]|0;l=(z&65535)-(e[E+((j&65535)<<2)>>1]|0)|0;m=(s&65535)-(e[E+((k&65535)<<2)>>1]|0)|0;b[E+((j&65535)<<2)>>1]=z;b[E+((k&65535)<<2)>>1]=s;if((l|0)<0)yh(a,0,j);if((m|0)>0)vh(a,0,k);if((l|0)>0)th(a,0,j,i);if((m|0)<0)sh(a,0,k,i);j=b[B+(D<<6)+50>>1]|0;k=b[B+(D<<6)+56>>1]|0;E=c[a+72>>2]|0;l=(A&65535)-(e[E+((j&65535)<<2)>>1]|0)|0;m=(x&65535)-(e[E+((k&65535)<<2)>>1]|0)|0;b[E+((j&65535)<<2)>>1]=A;b[E+((k&65535)<<2)>>1]=x;if((l|0)<0)yh(a,1,j);if((m|0)>0)vh(a,1,k);if((l|0)>0)th(a,1,j,i);if((m|0)<0)sh(a,1,k,i);m=b[B+(D<<6)+52>>1]|0;j=b[B+(D<<6)+58>>1]|0;E=c[a+76>>2]|0;k=(C&65535)-(e[E+((m&65535)<<2)>>1]|0)|0;l=(y&65535)-(e[E+((j&65535)<<2)>>1]|0)|0;b[E+((m&65535)<<2)>>1]=C;b[E+((j&65535)<<2)>>1]=y;if((k|0)<0)yh(a,2,m);if((l|0)>0)vh(a,2,j);if((k|0)>0)th(a,2,m,i);if((l|0)<0)sh(a,2,j,i);j=c[a+108>>2]|0;if(!j)return;Gb[c[(c[j>>2]|0)+16>>2]&63](j,c[d+60>>2]|0,g,h,i);return}function Ae(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,g=0,i=0.0,j=0.0,k=0.0,l=0.0,m=0.0,n=0.0,o=0,p=0.0,q=0.0,r=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0,C=0.0,D=0.0,E=0;z=+f[a+452>>2];u=+f[a+304>>2];r=+f[a+300>>2];if(u>0.0|r>0.0)g=(c[a+288>>2]|0)<4;else g=0;E=c[a+720>>2]|0;C=+f[E+(d*104|0)+88>>2];if(!(C>0.0))return;o=c[c[a+684>>2]>>2]|0;if(!g)return;D=+f[E+(d*104|0)+40>>2];m=D-+f[b>>2];A=+f[E+(d*104|0)+44>>2];n=A-+f[b+4>>2];B=+f[E+(d*104|0)+48>>2];l=B-+f[b+8>>2];k=+s(+(m*m+n*n+l*l));if(!(m*m+n*n+l*l>1.1920928955078125e-07))return;v=m*(1.0/k);x=n*(1.0/k);y=l*(1.0/k);q=+f[E+(d*104|0)+72>>2];t=+f[E+(d*104|0)+76>>2];w=+f[E+(d*104|0)+80>>2];switch(c[a+288>>2]|0){case 2:{p=m*q+n*t+l*w<0.0?-1.0:1.0;i=y*(w*p)+(v*(q*p)+x*(t*p));j=+f[E+(d*104|0)+92>>2]*.5;e=(c[h>>2]=o,+f[h>>2]);n=i*(r*.5*e*(m*m+n*n+l*l)*j);if(i>0.0&i<.9847999811172485){k=+s(+(1.0-i*i))*(u*.5*e*k*j);l=(y*(v*(w*p)-y*(q*p))-x*(x*(q*p)-v*(t*p)))*k;m=(v*(x*(q*p)-v*(t*p))-y*(y*(t*p)-x*(w*p)))*k;k=(x*(y*(t*p)-x*(w*p))-v*(v*(w*p)-y*(q*p)))*k}else{l=0.0;m=0.0;k=0.0}e=z*(C*-(y*n))*(z*(C*-(y*n)))+(z*(C*-(v*n))*(z*(C*-(v*n)))+z*(C*-(x*n))*(z*(C*-(x*n))));if(e>0.0?e>=D*D+A*A+B*B:0){e=+s(+(D*D+A*A+B*B))/+s(+e)*.800000011920929;j=e*-(v*n);i=e*-(y*n);e=e*-(x*n)}else{j=-(v*n);i=-(y*n);e=-(x*n)}C=e+ +f[E+(d*104|0)+60>>2];D=i+ +f[E+(d*104|0)+64>>2];f[E+(d*104|0)+56>>2]=l+(j+ +f[E+(d*104|0)+56>>2]);f[E+(d*104|0)+60>>2]=m+C;f[E+(d*104|0)+64>>2]=k+D;return}case 1:case 3:case 0:{e=m*q+n*t+l*w<0.0?-1.0:1.0;if(!(l*(w*e)+(m*(q*e)+n*(t*e))>0.0))return;p=-((m*m+n*n+l*l)*((l*(w*e)+(m*(q*e)+n*(t*e)))*+f[E+(d*104|0)+92>>2])*.5*(c[h>>2]=o,+f[h>>2]));j=v*(r*p)+(q*e*(u*p)+0.0);i=x*(r*p)+(t*e*(u*p)+0.0);e=y*(r*p)+(w*e*(u*p)+0.0);if(z*C*e*(z*C*e)+(z*C*j*(z*C*j)+z*C*i*(z*C*i))>D*D+A*A+B*B){y=1.0/+s(+(e*e+(j*j+i*i)));f[E+(d*104|0)+56>>2]=+f[E+(d*104|0)+56>>2]-1.0/(z*C)*(j*y*(B*(e*y)+(D*(j*y)+A*(i*y))));f[E+(d*104|0)+60>>2]=+f[E+(d*104|0)+60>>2]-1.0/(z*C)*(i*y*(B*(e*y)+(D*(j*y)+A*(i*y))));f[E+(d*104|0)+64>>2]=+f[E+(d*104|0)+64>>2]-1.0/(z*C)*(e*y*(B*(e*y)+(D*(j*y)+A*(i*y))));return}else{f[E+(d*104|0)+56>>2]=j+ +f[E+(d*104|0)+56>>2];f[E+(d*104|0)+60>>2]=i+ +f[E+(d*104|0)+60>>2];f[E+(d*104|0)+64>>2]=e+ +f[E+(d*104|0)+64>>2];return}}default:return}}function Be(b,d,e){b=b|0;d=d|0;e=e|0;var g=0,h=0.0,i=0.0,j=0.0,k=0.0,l=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0,C=0.0,D=0.0;g=nx()|0;Fl();c[g+4>>2]=7;c[g+8>>2]=-1;c[g+12>>2]=-1;f[g+16>>2]=3402823466385288598117041.0e14;a[g+20>>0]=1;a[g+21>>0]=0;c[g+24>>2]=-1;c[g+28>>2]=26168;c[g+32>>2]=b;f[g+36>>2]=0.0;f[g+40>>2]=.30000001192092896;c[g+44>>2]=0;c[g>>2]=5848;a[g+48>>0]=0;c[g+116>>2]=c[d>>2];c[g+116+4>>2]=c[d+4>>2];c[g+116+8>>2]=c[d+8>>2];c[g+116+12>>2]=c[d+12>>2];c[g+132>>2]=c[d+16>>2];c[g+132+4>>2]=c[d+16+4>>2];c[g+132+8>>2]=c[d+16+8>>2];c[g+132+12>>2]=c[d+16+12>>2];c[g+148>>2]=c[d+32>>2];c[g+148+4>>2]=c[d+32+4>>2];c[g+148+8>>2]=c[d+32+8>>2];c[g+148+12>>2]=c[d+32+12>>2];c[g+164>>2]=c[d+48>>2];c[g+164+4>>2]=c[d+48+4>>2];c[g+164+8>>2]=c[d+48+8>>2];c[g+164+12>>2]=c[d+48+12>>2];a[g+180>>0]=e&1;v=+f[g+116>>2];B=+f[b+4>>2];u=+f[g+132>>2];A=+f[b+8>>2];t=+f[g+148>>2];z=+f[b+12>>2];s=+f[g+120>>2];r=+f[g+136>>2];q=+f[g+152>>2];p=+f[g+124>>2];n=+f[g+140>>2];l=+f[g+156>>2];y=+f[b+20>>2];x=+f[b+24>>2];w=+f[b+28>>2];o=+f[b+36>>2];m=+f[b+40>>2];k=+f[b+44>>2];D=+f[g+164>>2];C=+f[g+168>>2];h=+f[g+172>>2];j=+f[b+52>>2]+(B*D+A*C+z*h);i=y*D+x*C+w*h+ +f[b+56>>2];h=o*D+m*C+k*h+ +f[b+60>>2];f[g+52>>2]=v*B+u*A+t*z;f[g+56>>2]=B*s+A*r+z*q;f[g+60>>2]=B*p+A*n+z*l;f[g+64>>2]=0.0;f[g+68>>2]=v*y+u*x+t*w;f[g+72>>2]=s*y+r*x+q*w;f[g+76>>2]=p*y+n*x+l*w;f[g+80>>2]=0.0;f[g+84>>2]=v*o+u*m+t*k;f[g+88>>2]=s*o+r*m+q*k;f[g+92>>2]=p*o+n*m+l*k;f[g+96>>2]=0.0;f[g+100>>2]=j;f[g+104>>2]=i;f[g+108>>2]=h;f[g+112>>2]=0.0;f[g+184>>2]=1.0;f[g+188>>2]=-1.0;f[g+192>>2]=0.0;f[g+196>>2]=0.0;f[g+200>>2]=1.0;f[g+204>>2]=.699999988079071;f[g+208>>2]=0.0;f[g+212>>2]=0.0;f[g+216>>2]=1.0;f[g+220>>2]=.699999988079071;f[g+224>>2]=0.0;f[g+228>>2]=0.0;f[g+264>>2]=1.0;f[g+268>>2]=.699999988079071;f[g+272>>2]=1.0;f[g+276>>2]=0.0;f[g+280>>2]=1.0;f[g+284>>2]=.699999988079071;f[g+288>>2]=1.0;f[g+292>>2]=0.0;f[g+232>>2]=1.0;f[g+236>>2]=.699999988079071;f[g+240>>2]=1.0;f[g+244>>2]=0.0;f[g+248>>2]=1.0;f[g+252>>2]=.699999988079071;f[g+256>>2]=1.0;f[g+260>>2]=0.0;a[g+1096>>0]=0;f[g+1116>>2]=0.0;f[g+1120>>2]=0.0;f[g+1124>>2]=0.0;c[g+300>>2]=0;c[g+1100>>2]=0;c[g+1100+4>>2]=0;c[g+1100+8>>2]=0;a[g+1100+12>>0]=0;a[g+49>>0]=1;Oc(g,(c[g+28>>2]|0)+4|0,(c[g+32>>2]|0)+4|0);return g|0}function Ce(a,b,d,e,g,h,i,j){a=a|0;b=b|0;d=d|0;e=+e;g=+g;h=+h;i=i|0;j=j|0;var k=0,l=0,m=0,n=0.0,o=0,p=0.0,q=0.0,r=0.0,t=0.0,u=0.0,v=0,w=0,x=0,y=0,z=0.0,A=0.0,B=0.0,C=0.0,D=0.0,E=0.0,F=0.0,G=0.0,H=0.0,I=0.0,J=0.0,K=0.0,L=0.0,M=0.0,N=0.0,O=0.0,P=0.0,Q=0.0,R=0.0,S=0.0,T=0.0,U=0;U=Ta;Ta=Ta+32|0;Q=+f[d>>2];S=+f[d+4>>2];R=+f[d+8>>2];r=+f[i>>2];t=+f[i+4>>2];u=+f[i+8>>2];n=+f[j>>2];p=+f[j+4>>2];q=+f[j+8>>2];J=1.0/+s(+((e-Q)*(e-Q)+(g-S)*(g-S)+(h-R)*(h-R)));G=(e-Q)*J==0.0?999999984306749440.0:1.0/((e-Q)*J);H=(g-S)*J==0.0?999999984306749440.0:1.0/((g-S)*J);I=(h-R)*J==0.0?999999984306749440.0:1.0/((h-R)*J);B=(Q>e?e:Q)+r;F=(S>g?g:S)+t;D=(R>h?h:R)+u;A=(Q>2]|0;a:do if((l|0)>0){x=0;y=c[a+96>>2]|0;k=0;while(1){k=k+1|0;c[U>>2]=c[y>>2];c[U+4>>2]=c[y+4>>2];c[U+8>>2]=c[y+8>>2];c[U+12>>2]=c[y+12>>2];w=y+16|0;c[U+16>>2]=c[w>>2];c[U+16+4>>2]=c[w+4>>2];c[U+16+8>>2]=c[w+8>>2];c[U+16+12>>2]=c[w+12>>2];f[U>>2]=+f[U>>2]-n;f[U+4>>2]=+f[U+4>>2]-p;f[U+8>>2]=+f[U+8>>2]-q;f[U+16>>2]=+f[U+16>>2]-r;f[U+20>>2]=+f[U+20>>2]-t;f[U+24>>2]=+f[U+24>>2]-u;if(!(B>+f[w>>2])?!(A<+f[y>>2]):0)m=1;else m=0;if(!(!(D>+f[y+24>>2])?!(C<+f[y+8>>2]):0))m=0;if(((!(F>+f[y+20>>2])?!(E<+f[y+4>>2]|m^1):0)?(L=+f[d>>2],K=G*(+f[U+((G<0.0&1)<<4)>>2]-L),L=G*(+f[U+(((G<0.0^1)&1)<<4)>>2]-L),N=+f[d+4>>2],M=H*(+f[U+((H<0.0&1)<<4)+4>>2]-N),N=H*(+f[U+(((H<0.0^1)&1)<<4)+4>>2]-N),!(M>L|K>N)):0)?(z=M>K?M:K,T=N>2],O=I*(+f[U+((I<0.0&1)<<4)+8>>2]-P),P=I*(+f[U+(((I<0.0^1)&1)<<4)+8>>2]-P),!(O>T|z>P)):0){o=(P0.0?(O>z?O:z)<(h-R)*((h-R)*J)+((e-Q)*((e-Q)*J)+(g-S)*((g-S)*J)):0;m=c[y+32>>2]|0;if(o&(m|0)==-1){zb[c[(c[b>>2]|0)+8>>2]&127](b,c[y+36>>2]|0,c[y+40>>2]|0);l=c[a+56>>2]|0;w=17}else{v=m;m=(m|0)==-1;w=16}}else{m=c[y+32>>2]|0;v=m;m=(m|0)==-1;o=0;w=16}if((w|0)==16){w=0;if(m|o)w=17;else{o=v+x|0;m=y+(v<<6)|0}}if((w|0)==17){o=x+1|0;m=y+64|0}if((o|0)>=(l|0))break a;n=+f[j>>2];p=+f[j+4>>2];q=+f[j+8>>2];r=+f[i>>2];t=+f[i+4>>2];u=+f[i+8>>2];x=o;y=m}}else k=0;while(0);if((c[6859]|0)>=(k|0)){Ta=U;return}c[6859]=k;Ta=U;return}function De(a,b){a=a|0;b=b|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0;if(!(c[a+204>>2]&2)){c[a+68>>2]=c[b>>2];c[a+68+4>>2]=c[b+4>>2];c[a+68+8>>2]=c[b+8>>2];c[a+68+12>>2]=c[b+12>>2];c[a+84>>2]=c[b+16>>2];c[a+84+4>>2]=c[b+16+4>>2];c[a+84+8>>2]=c[b+16+8>>2];c[a+84+12>>2]=c[b+16+12>>2];c[a+100>>2]=c[b+32>>2];c[a+100+4>>2]=c[b+32+4>>2];c[a+100+8>>2]=c[b+32+8>>2];c[a+100+12>>2]=c[b+32+12>>2];c[a+116>>2]=c[b+48>>2];c[a+116+4>>2]=c[b+48+4>>2];c[a+116+8>>2]=c[b+48+8>>2];c[a+116+12>>2]=c[b+48+12>>2];e=b;g=a+20|0;h=b+16|0;i=a+36|0;j=b+32|0;k=a+52|0;b=b+48|0;d=a+4|0}else{c[a+68>>2]=c[a+4>>2];c[a+68+4>>2]=c[a+4+4>>2];c[a+68+8>>2]=c[a+4+8>>2];c[a+68+12>>2]=c[a+4+12>>2];c[a+84>>2]=c[a+20>>2];c[a+84+4>>2]=c[a+20+4>>2];c[a+84+8>>2]=c[a+20+8>>2];c[a+84+12>>2]=c[a+20+12>>2];c[a+100>>2]=c[a+36>>2];c[a+100+4>>2]=c[a+36+4>>2];c[a+100+8>>2]=c[a+36+8>>2];c[a+100+12>>2]=c[a+36+12>>2];c[a+116>>2]=c[a+52>>2];c[a+116+4>>2]=c[a+52+4>>2];c[a+116+8>>2]=c[a+52+8>>2];c[a+116+12>>2]=c[a+52+12>>2];e=b;g=a+20|0;h=b+16|0;i=a+36|0;j=b+32|0;k=a+52|0;b=b+48|0;d=a+4|0}c[a+132>>2]=c[a+312>>2];c[a+132+4>>2]=c[a+312+4>>2];c[a+132+8>>2]=c[a+312+8>>2];c[a+132+12>>2]=c[a+312+12>>2];c[a+148>>2]=c[a+328>>2];c[a+148+4>>2]=c[a+328+4>>2];c[a+148+8>>2]=c[a+328+8>>2];c[a+148+12>>2]=c[a+328+12>>2];c[d>>2]=c[e>>2];c[d+4>>2]=c[e+4>>2];c[d+8>>2]=c[e+8>>2];c[d+12>>2]=c[e+12>>2];c[g>>2]=c[h>>2];c[g+4>>2]=c[h+4>>2];c[g+8>>2]=c[h+8>>2];c[g+12>>2]=c[h+12>>2];c[i>>2]=c[j>>2];c[i+4>>2]=c[j+4>>2];c[i+8>>2]=c[j+8>>2];c[i+12>>2]=c[j+12>>2];c[k>>2]=c[b>>2];c[k+4>>2]=c[b+4>>2];c[k+8>>2]=c[b+8>>2];c[k+12>>2]=c[b+12>>2];w=+f[a+4>>2];q=+f[a+396>>2];v=+f[a+8>>2];o=+f[a+400>>2];u=+f[a+12>>2];m=+f[a+404>>2];t=+f[a+20>>2];s=+f[a+24>>2];r=+f[a+28>>2];p=+f[a+36>>2];n=+f[a+40>>2];l=+f[a+44>>2];f[a+264>>2]=w*(w*q)+v*(v*o)+u*(u*m);f[a+268>>2]=w*q*t+v*o*s+u*m*r;f[a+272>>2]=w*q*p+v*o*n+u*m*l;f[a+276>>2]=0.0;f[a+280>>2]=w*(q*t)+v*(o*s)+u*(m*r);f[a+284>>2]=t*(q*t)+s*(o*s)+r*(m*r);f[a+288>>2]=q*t*p+o*s*n+m*r*l;f[a+292>>2]=0.0;f[a+296>>2]=w*(q*p)+v*(o*n)+u*(m*l);f[a+300>>2]=t*(q*p)+s*(o*n)+r*(m*l);f[a+304>>2]=p*(q*p)+n*(o*n)+l*(m*l);f[a+308>>2]=0.0;return}function Ee(a){a=a|0;var b=0,d=0,e=0,g=0,i=0,j=0.0,k=0.0,l=0.0,m=0.0,n=0.0,o=0,p=0.0,q=0.0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0;d=Ta;Ta=Ta+144|0;f[a+36>>2]=0.0;c[d+128>>2]=0;c[d+128+4>>2]=0;c[d+128+8>>2]=0;c[d+128+12>>2]=0;b=0;do{e=d+128+(b<<2)|0;f[e>>2]=1.0;i=c[a+28>>2]|0;H=c[i+4>>2]|0;c[d+80>>2]=H;E=c[i+20>>2]|0;c[d+80+4>>2]=E;B=c[i+36>>2]|0;c[d+80+8>>2]=B;f[d+80+12>>2]=0.0;G=c[i+8>>2]|0;c[d+80+16>>2]=G;D=c[i+24>>2]|0;c[d+80+20>>2]=D;A=c[i+40>>2]|0;c[d+80+24>>2]=A;f[d+80+28>>2]=0.0;F=c[i+12>>2]|0;c[d+80+32>>2]=F;C=c[i+28>>2]|0;c[d+80+36>>2]=C;z=c[i+44>>2]|0;c[d+80+40>>2]=z;f[d+80+44>>2]=0.0;g=c[a+32>>2]|0;y=c[g+4>>2]|0;c[d+32>>2]=y;v=c[g+20>>2]|0;c[d+32+4>>2]=v;s=c[g+36>>2]|0;c[d+32+8>>2]=s;f[d+32+12>>2]=0.0;x=c[g+8>>2]|0;c[d+32+16>>2]=x;u=c[g+24>>2]|0;c[d+32+20>>2]=u;r=c[g+40>>2]|0;c[d+32+24>>2]=r;f[d+32+28>>2]=0.0;w=c[g+12>>2]|0;c[d+32+32>>2]=w;t=c[g+28>>2]|0;c[d+32+36>>2]=t;o=c[g+44>>2]|0;c[d+32+40>>2]=o;f[d+32+44>>2]=0.0;p=+f[a+300>>2];l=p*(c[h>>2]=H,+f[h>>2]);j=+f[a+304>>2];l=l+j*(c[h>>2]=G,+f[h>>2]);k=+f[a+308>>2];l=l+k*(c[h>>2]=F,+f[h>>2]);q=p*(c[h>>2]=E,+f[h>>2]);q=q+j*(c[h>>2]=D,+f[h>>2]);q=q+k*(c[h>>2]=C,+f[h>>2]);p=p*(c[h>>2]=B,+f[h>>2]);j=p+j*(c[h>>2]=A,+f[h>>2]);p=+f[i+52>>2];n=+f[i+56>>2];m=+f[i+60>>2];m=j+k*(c[h>>2]=z,+f[h>>2])+m-m;f[d+16>>2]=l+p-p;f[d+16+4>>2]=q+n-n;f[d+16+8>>2]=m;f[d+16+12>>2]=0.0;m=+f[a+316>>2];n=m*(c[h>>2]=y,+f[h>>2]);q=+f[a+320>>2];n=n+q*(c[h>>2]=x,+f[h>>2]);p=+f[a+324>>2];n=n+p*(c[h>>2]=w,+f[h>>2]);l=m*(c[h>>2]=v,+f[h>>2]);l=l+q*(c[h>>2]=u,+f[h>>2]);l=l+p*(c[h>>2]=t,+f[h>>2]);m=m*(c[h>>2]=s,+f[h>>2]);q=m+q*(c[h>>2]=r,+f[h>>2]);m=+f[g+52>>2];k=+f[g+56>>2];j=+f[g+60>>2];j=q+p*(c[h>>2]=o,+f[h>>2])+j-j;f[d>>2]=n+m-m;f[d+4>>2]=l+k-k;f[d+8>>2]=j;f[d+12>>2]=0.0;Tg(a+48+(b*84|0)|0,d+80|0,d+32|0,d+16|0,d,d+128|0,i+396|0,+f[i+344>>2],g+396|0,+f[g+344>>2]);f[e>>2]=0.0;b=b+1|0}while((b|0)!=3);Ta=d;return}function Fe(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var g=0,h=0.0,i=0.0,j=0.0,k=0,l=0,m=0,n=0,o=0.0,p=0,q=0.0,r=0.0,t=0.0,w=0.0,x=0.0,y=0,z=0.0,A=0.0,B=0.0,C=0.0,D=0.0,E=0,F=0,G=0,H=0.0;a:while(1){F=c[e+12>>2]|0;if((b|0)>0){h=+f[d>>2];i=+f[d+4>>2];j=+f[d+8>>2];k=0;g=-1;do{do if(c[F+(k<<2)>>2]|0){if((g|0)!=-1?!(h*+f[a+(k<<4)>>2]+i*+f[a+(k<<4)+4>>2]+j*+f[a+(k<<4)+8>>2]>h*+f[a+(g<<4)>>2]+i*+f[a+(g<<4)+4>>2]+j*+f[a+(g<<4)+8>>2]):0)break;g=k}while(0);k=k+1|0}while((k|0)!=(b|0))}else g=-1;E=F+(g<<2)|0;if((c[E>>2]|0)==3){G=40;break}z=+f[d+4>>2];A=+f[d+8>>2];B=+f[d>>2];h=+s(+((z-A*0.0)*(z-A*0.0)+(A*0.0-B)*(A*0.0-B)+(B*0.0-z*0.0)*(B*0.0-z*0.0)));i=+s(+((B-z*0.0)*(B-z*0.0)+((z*0.0-A)*(z*0.0-A)+(A*0.0-B*0.0)*(A*0.0-B*0.0))));if(h>i){C=(z-A*0.0)*(1.0/h);D=(B*0.0-z*0.0)*(1.0/h);x=(A*0.0-B)*(1.0/h)}else{C=(z*0.0-A)*(1.0/i);D=(B-z*0.0)*(1.0/i);x=(A*0.0-B*0.0)*(1.0/i)}r=A*x-z*D;t=B*D-A*C;w=z*C-B*x;p=(g|0)==-1;k=-1;y=0;while(1){q=+(y|0);o=+v(+(q*.01745329238474369));i=+u(+(q*.01745329238474369));h=B+(C*o+r*i)*.02500000037252903;j=z+(x*o+t*i)*.02500000037252903;i=A+(D*o+w*i)*.02500000037252903;if((b|0)>0){m=0;l=-1;do{do if(c[F+(m<<2)>>2]|0){if((l|0)!=-1?!(h*+f[a+(m<<4)>>2]+j*+f[a+(m<<4)+4>>2]+i*+f[a+(m<<4)+8>>2]>h*+f[a+(l<<4)>>2]+j*+f[a+(l<<4)+4>>2]+i*+f[a+(l<<4)+8>>2]):0)break;l=m}while(0);m=m+1|0}while((m|0)!=(b|0))}else l=-1;if((k|0)==(g|0)&(l|0)==(g|0))break a;b:do if(!((k|0)==-1|(k|0)==(l|0))?q+-40.0<=q:0){if((b|0)<=0){h=q+-40.0;while(1){if((k|0)==(g|0)&p){g=-1;break a}h=h+5.0;if(!(h<=q))break b;else k=-1}}o=q+-40.0;while(1){i=o*.01745329238474369;H=+v(+i);i=+u(+i);h=B+(C*H+r*i)*.02500000037252903;j=z+(x*H+t*i)*.02500000037252903;i=A+(D*H+w*i)*.02500000037252903;n=0;m=-1;do{do if(c[F+(n<<2)>>2]|0){if((m|0)!=-1?!(h*+f[a+(n<<4)>>2]+j*+f[a+(n<<4)+4>>2]+i*+f[a+(n<<4)+8>>2]>h*+f[a+(m<<4)>>2]+j*+f[a+(m<<4)+4>>2]+i*+f[a+(m<<4)+8>>2]):0)break;m=n}while(0);n=n+1|0}while((n|0)!=(b|0));if((k|0)==(g|0)&(m|0)==(g|0))break a;o=o+5.0;if(!(o<=q))break;else k=m}}while(0);y=y+45|0;if(y>>>0>360)break;else k=l}c[E>>2]=0}if((G|0)==40)return g|0;c[E>>2]=3;G=g;return G|0}function Ge(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,g=0,h=0,i=0.0,j=0.0,k=0.0,l=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0,C=0.0,D=0.0,E=0.0;h=Ta;Ta=Ta+160|0;e=c[a+4>>2]|0;g=c[e+12>>2]|0;C=+f[g>>2];B=+f[g+4>>2];A=+f[g+8>>2];z=+f[g+16>>2];y=+f[g+20>>2];x=+f[g+24>>2];q=+f[g+32>>2];o=+f[g+36>>2];m=+f[g+40>>2];e=c[(c[e+4>>2]|0)+24>>2]|0;w=+f[e+(d*80|0)>>2];v=+f[e+(d*80|0)+16>>2];u=+f[e+(d*80|0)+32>>2];t=+f[e+(d*80|0)+4>>2];s=+f[e+(d*80|0)+20>>2];r=+f[e+(d*80|0)+36>>2];p=+f[e+(d*80|0)+8>>2];n=+f[e+(d*80|0)+24>>2];l=+f[e+(d*80|0)+40>>2];E=+f[e+(d*80|0)+48>>2];D=+f[e+(d*80|0)+52>>2];i=+f[e+(d*80|0)+56>>2];k=+f[g+48>>2]+(C*E+B*D+A*i);j=+f[g+52>>2]+(z*E+y*D+x*i);i=+f[g+56>>2]+(q*E+o*D+m*i);f[h+88>>2]=C*w+B*v+A*u;f[h+88+4>>2]=C*t+B*s+A*r;f[h+88+8>>2]=C*p+B*n+A*l;f[h+88+12>>2]=0.0;f[h+88+16>>2]=z*w+y*v+x*u;f[h+88+20>>2]=z*t+y*s+x*r;f[h+88+24>>2]=z*p+y*n+x*l;f[h+88+28>>2]=0.0;f[h+88+32>>2]=q*w+o*v+m*u;f[h+88+36>>2]=q*t+o*s+m*r;f[h+88+40>>2]=q*p+o*n+m*l;f[h+88+44>>2]=0.0;f[h+88+48>>2]=k;f[h+88+52>>2]=j;f[h+88+56>>2]=i;f[h+88+60>>2]=0.0;Cb[c[(c[b>>2]|0)+8>>2]&127](b,h+88|0,h+72|0,h+56|0);g=c[a+8>>2]|0;e=c[g+4>>2]|0;Cb[c[(c[e>>2]|0)+8>>2]&127](e,c[g+12>>2]|0,h+40|0,h+24|0);if(!(+f[h+72>>2]>+f[h+24>>2])?!(+f[h+56>>2]<+f[h+40>>2]):0)e=1;else e=0;if(!(!(+f[h+72+8>>2]>+f[h+24+8>>2])?!(+f[h+56+8>>2]<+f[h+40+8>>2]):0))e=0;if(+f[h+72+4>>2]>+f[h+24+4>>2]){Ta=h;return}if(+f[h+56+4>>2]<+f[h+40+4>>2]|e^1){Ta=h;return}e=c[a+4>>2]|0;g=c[e+8>>2]|0;c[h>>2]=e;c[h+4>>2]=b;c[h+8>>2]=g;c[h+12>>2]=h+88;c[h+16>>2]=-1;c[h+20>>2]=d;if(!(c[(c[a+24>>2]|0)+(d<<2)>>2]|0)){g=c[a+12>>2]|0;g=jb[c[(c[g>>2]|0)+8>>2]&63](g,h,c[a+8>>2]|0,c[a+28>>2]|0)|0;c[(c[a+24>>2]|0)+(d<<2)>>2]=g;g=(c[a+4>>2]|0)+8|0}else g=e+8|0;b=c[a+20>>2]|0;e=c[b+8>>2]|0;if((c[e+8>>2]|0)==(c[g>>2]|0)){c[b+8>>2]=h;zb[c[(c[b>>2]|0)+8>>2]&127](b,-1,d)}else{e=c[b+12>>2]|0;c[b+12>>2]=h;zb[c[(c[b>>2]|0)+12>>2]&127](b,-1,d)}d=c[(c[a+24>>2]|0)+(d<<2)>>2]|0;Gb[c[(c[d>>2]|0)+8>>2]&63](d,h,c[a+8>>2]|0,c[a+16>>2]|0,c[a+20>>2]|0);d=c[a+20>>2]|0;c[((c[(c[d+8>>2]|0)+8>>2]|0)==(c[(c[a+4>>2]|0)+8>>2]|0)?d+8|0:d+12|0)>>2]=e;Ta=h;return} -function Rh(b,d,e){b=b|0;d=d|0;e=e|0;var g=0,h=0.0,i=0.0,j=0.0,k=0.0,l=0.0,m=0.0,n=0.0,o=0.0,p=0.0;if(a[d+32>>0]&1){g=c[b+4>>2]|0;if(g|0)ql(g,d,e);g=c[b>>2]|0;if(g|0){n=+f[d>>2];l=+f[g+128>>2];m=+f[d+4>>2];k=+f[d+8>>2];h=+f[e+4>>2];p=+f[e+8>>2];o=+f[e>>2];j=+f[g+180>>2]*(k*h-m*p)+ +f[g+184>>2]*(n*p-k*o)+(m*o-n*h)*+f[g+188>>2];i=(k*h-m*p)*+f[g+196>>2]+(n*p-k*o)*+f[g+200>>2]+(m*o-n*h)*+f[g+204>>2];h=(k*h-m*p)*+f[g+212>>2]+(n*p-k*o)*+f[g+216>>2]+(m*o-n*h)*+f[g+220>>2];f[g+244>>2]=n*l+ +f[g+244>>2];f[g+248>>2]=l*m+ +f[g+248>>2];f[g+252>>2]=l*k+ +f[g+252>>2];f[g+316>>2]=n*l+ +f[g+316>>2];f[g+320>>2]=l*m+ +f[g+320>>2];f[g+324>>2]=l*k+ +f[g+324>>2];f[g+260>>2]=j+ +f[g+260>>2];f[g+264>>2]=i+ +f[g+264>>2];f[g+268>>2]=h+ +f[g+268>>2];f[g+332>>2]=j+ +f[g+332>>2];f[g+336>>2]=i+ +f[g+336>>2];f[g+340>>2]=h+ +f[g+340>>2];c[g+308>>2]=(c[g+308>>2]|0)+1}}if(!(a[d+32>>0]&2))return;jj(b,d+16|0,e);return}function Sh(a){a=a|0;var b=0,d=0,e=0,g=0;d=Ta;Ta=Ta+16|0;Aj(17447);pb[c[(c[a>>2]|0)+8>>2]&511](a);pb[c[(c[a>>2]|0)+12>>2]&511](a);b=c[a+24>>2]|0;Aj(17481);if(b|0){g=c[(c[b>>2]|0)+32>>2]|0;e=c[a+68>>2]|0;e=eb[c[(c[e>>2]|0)+36>>2]&255](e)|0;Cb[g&127](b,e,a+28|0,c[a+24>>2]|0)}a=c[2760]|0;g=(c[a+16>>2]|0)+-1|0;c[a+16>>2]=g;do if(!g){if(c[a+4>>2]|0){Pa(d|0,0)|0;b=c[6878]|0;f[a+8>>2]=+f[a+8>>2]+ +(((c[d+4>>2]|0)-(c[b+4>>2]|0)+(((c[d>>2]|0)-(c[b>>2]|0)|0)*1e6|0)-(c[a+12>>2]|0)|0)>>>0)/1.0e3;b=c[2760]|0;if(c[a+16>>2]|0)break}else b=a;b=c[b+20>>2]|0;c[2760]=b}else b=a;while(0);a=b+16|0;g=(c[a>>2]|0)+-1|0;c[a>>2]=g;if(g|0){Ta=d;return}do if(c[b+4>>2]|0){Pa(d|0,0)|0;e=c[6878]|0;g=b+8|0;f[g>>2]=+f[g>>2]+ +(((c[d+4>>2]|0)-(c[e+4>>2]|0)+(((c[d>>2]|0)-(c[e>>2]|0)|0)*1e6|0)-(c[b+12>>2]|0)|0)>>>0)/1.0e3;if(!(c[a>>2]|0)){b=c[2760]|0;break}else{Ta=d;return}}while(0);c[2760]=c[b+20>>2];Ta=d;return}function Th(b,d){b=b|0;d=d|0;var e=0;c[b>>2]=10452;a[b+40>>0]=1;c[b+36>>2]=0;c[b+28>>2]=0;c[b+32>>2]=0;a[b+60>>0]=1;c[b+56>>2]=0;c[b+48>>2]=0;c[b+52>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;c[b+12>>2]=-1;c[b+16>>2]=0;c[b+20>>2]=0;a[b+100>>0]=1;c[b+96>>2]=0;c[b+88>>2]=0;c[b+92>>2]=0;a[b+120>>0]=1;c[b+116>>2]=0;c[b+108>>2]=0;c[b+112>>2]=0;c[b+64>>2]=0;c[b+68>>2]=0;c[b+72>>2]=-1;c[b+76>>2]=0;c[b+80>>2]=0;a[b+193>>0]=0;a[b+194>>0]=1;a[b+192>>0]=((d|0)!=0^1)&1;f[b+140>>2]=0.0;c[b+144>>2]=0;c[b+164>>2]=0;c[b+148>>2]=1;c[b+152>>2]=0;c[b+156>>2]=10;c[b+160>>2]=1;c[b+168>>2]=0;c[b+172>>2]=0;f[b+176>>2]=0.0;if(d|0){e=d;d=b+136|0;c[d>>2]=e;d=b+188|0;c[d>>2]=0;d=b+180|0;c[d>>2]=0;d=b+184|0;c[d>>2]=0;b=b+124|0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;return}c[6879]=(c[6879]|0)+1;d=Zb(95)|0;if(!d)d=0;else{c[(d+4+15&-16)+-4>>2]=d;d=d+4+15&-16}Hi(d);e=b+136|0;c[e>>2]=d;e=b+188|0;c[e>>2]=0;e=b+180|0;c[e>>2]=0;e=b+184|0;c[e>>2]=0;e=b+124|0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;return}function Uh(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;d=c[b+16>>2]|0;if(d|0){if(a[b+20>>0]|0){c[6880]=(c[6880]|0)+1;kd(c[d+-4>>2]|0)}c[b+16>>2]=0}a[b+20>>0]=1;c[b+16>>2]=0;c[b+8>>2]=0;c[b+12>>2]=0;d=c[b+40>>2]|0;if(d|0){if(a[b+44>>0]|0){c[6880]=(c[6880]|0)+1;kd(c[d+-4>>2]|0)}c[b+40>>2]=0}a[b+44>>0]=1;c[b+40>>2]=0;c[b+32>>2]=0;c[b+36>>2]=0;d=c[b+60>>2]|0;if(d|0){if(a[b+64>>0]|0){c[6880]=(c[6880]|0)+1;kd(c[d+-4>>2]|0)}c[b+60>>2]=0}a[b+64>>0]=1;c[b+60>>2]=0;c[b+52>>2]=0;c[b+56>>2]=0;if((c[b+12>>2]|0)>=2){Af(b);return}c[6879]=(c[6879]|0)+1;d=Zb(43)|0;if(!d)f=0;else{c[(d+4+15&-16)+-4>>2]=d;f=d+4+15&-16}d=c[b+8>>2]|0;if((d|0)>0){e=0;do{g=f+(e*12|0)|0;h=(c[b+16>>2]|0)+(e*12|0)|0;c[g>>2]=c[h>>2];c[g+4>>2]=c[h+4>>2];c[g+8>>2]=c[h+8>>2];e=e+1|0}while((e|0)!=(d|0))}d=c[b+16>>2]|0;if(d|0){if(a[b+20>>0]|0){c[6880]=(c[6880]|0)+1;kd(c[d+-4>>2]|0)}c[b+16>>2]=0}a[b+20>>0]=1;c[b+16>>2]=f;c[b+12>>2]=2;Af(b);return}function Vh(a,b,e){a=a|0;b=b|0;e=e|0;Xh(a,b,e)|0;c[b+52>>2]=c[a+52>>2];c[b+56>>2]=c[a+56>>2];c[b+60>>2]=c[a+60>>2];c[b+64>>2]=c[a+64>>2];c[b+68>>2]=c[a+68>>2];c[b+72>>2]=c[a+72>>2];c[b+76>>2]=c[a+76>>2];c[b+80>>2]=c[a+80>>2];c[b+84>>2]=c[a+84>>2];c[b+88>>2]=c[a+88>>2];c[b+92>>2]=c[a+92>>2];c[b+96>>2]=c[a+96>>2];c[b+100>>2]=c[a+100>>2];c[b+104>>2]=c[a+104>>2];c[b+108>>2]=c[a+108>>2];c[b+112>>2]=c[a+112>>2];c[b+116>>2]=c[a+116>>2];c[b+120>>2]=c[a+120>>2];c[b+124>>2]=c[a+124>>2];c[b+128>>2]=c[a+128>>2];c[b+132>>2]=c[a+132>>2];c[b+136>>2]=c[a+136>>2];c[b+140>>2]=c[a+140>>2];c[b+144>>2]=c[a+144>>2];c[b+148>>2]=c[a+148>>2];c[b+152>>2]=c[a+152>>2];c[b+156>>2]=c[a+156>>2];c[b+160>>2]=c[a+160>>2];c[b+164>>2]=c[a+164>>2];c[b+168>>2]=c[a+168>>2];c[b+172>>2]=c[a+172>>2];c[b+176>>2]=c[a+176>>2];c[b+180>>2]=c[a+188>>2];c[b+184>>2]=c[a+184>>2];c[b+188>>2]=c[a+196>>2];c[b+192>>2]=c[a+192>>2];c[b+196>>2]=d[a+180>>0];c[b+200>>2]=d[a+49>>0];return 15715}function Wh(a,b){a=a|0;b=+b;var d=0,e=0,g=0;e=Ta;Ta=Ta+16|0;d=c[a+452>>2]|0;zb[c[(c[d>>2]|0)+16>>2]&127](d,a+324|0,0);d=c[a+452>>2]|0;eb[c[(c[d>>2]|0)+12>>2]&255](d)|0;Ac(a,b);Aj(14680);if(c[a+328>>2]|0)$f(a+324|0);d=c[a+452>>2]|0;qb[c[(c[d>>2]|0)+28>>2]&63](d,+f[d+12>>2]*b);d=c[2760]|0;g=(c[d+16>>2]|0)+-1|0;c[d+16>>2]=g;do if(!g){if(c[d+4>>2]|0){Pa(e|0,0)|0;g=c[6878]|0;f[d+8>>2]=+f[d+8>>2]+ +(((c[e+4>>2]|0)-(c[g+4>>2]|0)+(((c[e>>2]|0)-(c[g>>2]|0)|0)*1e6|0)-(c[d+12>>2]|0)|0)>>>0)/1.0e3;if(c[d+16>>2]|0)break;d=c[2760]|0}c[2760]=c[d+20>>2]}while(0);if((c[a+328>>2]|0)<=0){g=c[a+452>>2]|0;a=c[g>>2]|0;a=a+32|0;a=c[a>>2]|0;pb[a&511](g);Ta=e;return}d=0;do{g=c[(c[a+336>>2]|0)+(d<<2)>>2]|0;di(g,g);d=d+1|0}while((d|0)<(c[a+328>>2]|0));g=c[a+452>>2]|0;a=c[g>>2]|0;a=a+32|0;a=c[a>>2]|0;pb[a&511](g);Ta=e;return}function Xh(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0;c[b>>2]=gb[c[(c[e>>2]|0)+28>>2]&63](e,c[a+28>>2]|0)|0;c[b+4>>2]=gb[c[(c[e>>2]|0)+28>>2]&63](e,c[a+32>>2]|0)|0;f=gb[c[(c[e>>2]|0)+40>>2]&63](e,a)|0;g=gb[c[(c[e>>2]|0)+28>>2]&63](e,f)|0;c[b+8>>2]=g;if(g|0)vb[c[(c[e>>2]|0)+48>>2]&255](e,f);c[b+12>>2]=c[a+4>>2];c[b+24>>2]=d[a+21>>0];c[b+40>>2]=c[a+24>>2];c[b+44>>2]=c[a+16>>2];c[b+48>>2]=d[a+20>>0];c[b+20>>2]=c[a+12>>2];c[b+16>>2]=c[a+8>>2];c[b+28>>2]=c[a+36>>2];c[b+32>>2]=c[a+40>>2];c[b+36>>2]=0;f=c[a+28>>2]|0;g=c[f+488>>2]|0;if((g|0)>0){f=c[f+496>>2]|0;if((c[f>>2]|0)==(a|0))c[b+36>>2]=1;if((g|0)>1){e=1;do{if((c[f+(e<<2)>>2]|0)==(a|0))c[b+36>>2]=1;e=e+1|0}while((e|0)!=(g|0))}}f=c[a+32>>2]|0;g=c[f+488>>2]|0;if((g|0)<=0)return 15652;f=c[f+496>>2]|0;if((c[f>>2]|0)==(a|0))c[b+36>>2]=1;if((g|0)<=1)return 15652;e=1;do{if((c[f+(e<<2)>>2]|0)==(a|0))c[b+36>>2]=1;e=e+1|0}while((e|0)!=(g|0));return 15652}function Yh(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var g=0,h=0.0,i=0.0,j=0.0,k=0.0,l=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0;g=Ta;Ta=Ta+16|0;x=c[a+52>>2]|0;m=+f[a+28+(((x+2|0)%3|0)<<2)>>2];f[g>>2]=m;f[g+4>>2]=m;f[g+8>>2]=m;f[g+12>>2]=0.0;f[g+(x<<2)>>2]=m+ +f[a+28+(x<<2)>>2];m=+Wa[c[(c[a>>2]|0)+48>>2]&31](a);k=+Wa[c[(c[a>>2]|0)+48>>2]&31](a);i=+Wa[c[(c[a>>2]|0)+48>>2]&31](a);m=m+ +f[g>>2];f[g>>2]=m;k=k+ +f[g+4>>2];f[g+4>>2]=k;i=i+ +f[g+8>>2];w=+r(+(+f[b>>2]));v=+r(+(+f[b+4>>2]));u=+r(+(+f[b+8>>2]));s=+r(+(+f[b+16>>2]));q=+r(+(+f[b+20>>2]));p=+r(+(+f[b+24>>2]));l=+r(+(+f[b+32>>2]));j=+r(+(+f[b+36>>2]));h=+r(+(+f[b+40>>2]));t=+f[b+48>>2];o=+f[b+52>>2];n=+f[b+56>>2];f[d>>2]=t-(m*w+k*v+i*u);f[d+4>>2]=o-(m*s+k*q+i*p);f[d+8>>2]=n-(m*l+k*j+i*h);f[d+12>>2]=0.0;f[e>>2]=m*w+k*v+i*u+t;f[e+4>>2]=m*s+k*q+i*p+o;f[e+8>>2]=n+(m*l+k*j+i*h);f[e+12>>2]=0.0;Ta=g;return}function Zh(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0;if(zy(b,c[d+8>>2]|0,h)|0)tl(d,e,f,g);else{k=a[d+52>>0]|0;i=a[d+53>>0]|0;n=c[b+12>>2]|0;a[d+52>>0]=0;a[d+53>>0]=0;eo(b+16|0,d,e,f,g,h);l=a[d+52>>0]|0;j=a[d+53>>0]|0;a:do if((n|0)>1){m=j;o=l;j=j|i;i=l|k;k=b+24|0;do{j=j&1;i=i&1;if(a[d+54>>0]|0)break a;if(!(o<<24>>24)){if(m<<24>>24?(c[b+8>>2]&1|0)==0:0)break a}else{if((c[d+24>>2]|0)==1)break a;if(!(c[b+8>>2]&2))break a}a[d+52>>0]=0;a[d+53>>0]=0;eo(k,d,e,f,g,h);o=a[d+52>>0]|0;i=o|i;m=a[d+53>>0]|0;j=m|j;k=k+8|0}while(k>>>0<(b+16+(n<<3)|0)>>>0)}else{j=j|i;i=l|k}while(0);a[d+52>>0]=i<<24>>24!=0&1;a[d+53>>0]=j<<24>>24!=0&1}return}function _h(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=gb[c[(c[d>>2]|0)+40>>2]&63](d,a)|0;h=gb[c[(c[d>>2]|0)+28>>2]&63](d,e)|0;c[b>>2]=h;if(h|0)vb[c[(c[d>>2]|0)+48>>2]&255](d,e);c[b+4>>2]=c[a+4>>2];c[b+28>>2]=c[a+28>>2];c[b+32>>2]=c[a+32>>2];c[b+36>>2]=c[a+36>>2];c[b+40>>2]=c[a+40>>2];c[b+12>>2]=c[a+12>>2];c[b+16>>2]=c[a+16>>2];c[b+20>>2]=c[a+20>>2];c[b+24>>2]=c[a+24>>2];c[b+44>>2]=c[a+44>>2];g=c[a+92>>2]|0;if(!g){c[b+52>>2]=0;c[b+56>>2]=0;return 19675}c[b+52>>2]=gb[c[(c[d>>2]|0)+28>>2]&63](d,c[a+100>>2]|0)|0;c[b+56>>2]=g;h=ib[c[(c[d>>2]|0)+16>>2]&63](d,20,g)|0;if((g|0)>0){e=c[a+100>>2]|0;b=c[a+120>>2]|0;a=0;f=c[h+8>>2]|0;while(1){c[f>>2]=c[e+(a<<4)>>2];c[f+4>>2]=c[e+(a<<4)+4>>2];c[f+8>>2]=c[e+(a<<4)+8>>2];c[f+12>>2]=c[e+(a<<4)+12>>2];c[f+16>>2]=c[b+(a<<2)>>2];a=a+1|0;if((a|0)==(g|0))break;else f=f+20|0}}else e=c[a+100>>2]|0;Gb[c[(c[d>>2]|0)+20>>2]&63](d,h,19655,1497453121,e);return 19675}function $h(){var b=0,d=0,e=0;b=Ww(288)|0;c[b+164>>2]=1065353216;c[b+168>>2]=1065353216;c[b+172>>2]=1065353216;f[b+176>>2]=0.0;c[b+180>>2]=0;f[b+184>>2]=999999984306749440.0;c[b+188>>2]=0;c[b+188+4>>2]=0;c[b+188+8>>2]=0;c[b+188+12>>2]=0;c[b+204>>2]=1;c[b+208>>2]=-1;c[b+212>>2]=-1;c[b+216>>2]=1;f[b+220>>2]=0.0;f[b+224>>2]=.5;f[b+228>>2]=0.0;f[b+232>>2]=0.0;c[b+240>>2]=0;f[b+244>>2]=1.0;c[b+248>>2]=0;c[b+248+4>>2]=0;c[b+248+8>>2]=0;c[b+248+12>>2]=0;c[b+4>>2]=1065353216;c[b+8>>2]=0;c[b+8+4>>2]=0;c[b+8+8>>2]=0;c[b+8+12>>2]=0;c[b+24>>2]=1065353216;c[b+28>>2]=0;c[b+28+4>>2]=0;c[b+28+8>>2]=0;c[b+28+12>>2]=0;c[b+44>>2]=1065353216;c[b+48>>2]=0;c[b+48+4>>2]=0;c[b+48+8>>2]=0;c[b+48+12>>2]=0;c[b+48+16>>2]=0;a[b+280>>0]=1;c[b+276>>2]=0;c[b+268>>2]=0;c[b+272>>2]=0;c[b+236>>2]=4;c[b>>2]=6404;c[6879]=(c[6879]|0)+1;d=Zb(95)|0;if(!d){e=0;Hi(e);d=b+284|0;c[d>>2]=e;return b|0}c[(d+4+15&-16)+-4>>2]=d;d=d+4+15&-16;Hi(d);e=b+284|0;c[e>>2]=d;return b|0}function ai(a,d,e,g){a=a|0;d=d|0;e=e|0;g=g|0;var h=0,i=0.0,j=0.0,k=0.0,l=0.0;h=Ta;Ta=Ta+96|0;f[h+4>>2]=1.0;c[h+8>>2]=0;b[h+12>>1]=1;b[h+14>>1]=-1;c[h+16>>2]=0;c[h>>2]=3900;c[h+20>>2]=c[d>>2];c[h+20+4>>2]=c[d+4>>2];c[h+20+8>>2]=c[d+8>>2];c[h+20+12>>2]=c[d+12>>2];c[h+36>>2]=c[e>>2];c[h+36+4>>2]=c[e+4>>2];c[h+36+8>>2]=c[e+8>>2];c[h+36+12>>2]=c[e+12>>2];a=c[a+4>>2]|0;Cb[c[(c[a>>2]|0)+32>>2]&127](a,d,e,h);d=c[h+8>>2]|0;if(!d){g=0;Ta=h;return g|0}if(!(c[d+236>>2]&2)){g=0;Ta=h;return g|0}if(c[d+204>>2]&4|0){g=0;Ta=h;return g|0}c[g>>2]=c[h+68>>2];c[g+4>>2]=c[h+68+4>>2];c[g+8>>2]=c[h+68+8>>2];c[g+12>>2]=c[h+68+12>>2];c[g+16>>2]=c[h+52>>2];c[g+16+4>>2]=c[h+52+4>>2];c[g+16+8>>2]=c[h+52+8>>2];c[g+16+12>>2]=c[h+52+12>>2];l=+f[g+16>>2];k=+f[g+20>>2];j=+f[g+24>>2];i=1.0/+s(+(l*l+k*k+j*j));f[g+16>>2]=l*i;f[g+20>>2]=k*i;f[g+24>>2]=j*i;c[g+32>>2]=c[h+4>>2];g=d;Ta=h;return g|0}function bi(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;pb[c[(c[b>>2]|0)+32>>2]&511](b);e=ib[c[(c[b>>2]|0)+16>>2]&63](b,104,1)|0;d=c[e+8>>2]|0;f=d;g=f+104|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(g|0));c[d+88>>2]=c[a+248>>2];c[d+92>>2]=c[a+252>>2];c[d+96>>2]=c[a+256>>2];c[d+100>>2]=c[a+260>>2];c[d>>2]=c[a+92>>2];c[d+4>>2]=c[a+96>>2];c[d+8>>2]=c[a+100>>2];c[d+12>>2]=c[a+104>>2];c[d+16>>2]=c[a+108>>2];c[d+20>>2]=c[a+116>>2];c[d+24>>2]=c[a+120>>2];c[d+28>>2]=c[a+124>>2];c[d+32>>2]=c[a+128>>2];c[d+36>>2]=c[a+132>>2];c[d+40>>2]=c[a+140>>2];c[d+44>>2]=c[a+144>>2];c[d+48>>2]=c[a+148>>2];c[d+52>>2]=c[a+152>>2];c[d+56>>2]=c[a+168>>2];c[d+60>>2]=c[a+172>>2];c[d+64>>2]=c[a+112>>2];c[d+68>>2]=c[a+156>>2];c[d+72>>2]=c[a+160>>2];c[d+76>>2]=c[a+164>>2];c[d+80>>2]=c[a+136>>2];Gb[c[(c[b>>2]|0)+20>>2]&63](b,e,15293,1145853764,d);mj(a,b);cd(a,b);pb[c[(c[b>>2]|0)+36>>2]&511](b);return}function ci(b,d){b=b|0;d=d|0;if((c[b+16>>2]|0)!=(0-(c[b+76>>2]|0)|0))return;d=c[b+4>>2]|0;if(d|0)Dn(b+4|0,d);d=c[b+8>>2]|0;if(d|0){c[6880]=(c[6880]|0)+1;kd(c[d+-4>>2]|0)}c[b+8>>2]=0;c[b+12>>2]=-1;d=c[b+36>>2]|0;if(d|0){if(a[b+40>>0]|0){c[6880]=(c[6880]|0)+1;kd(c[d+-4>>2]|0)}c[b+36>>2]=0}a[b+40>>0]=1;c[b+36>>2]=0;c[b+28>>2]=0;c[b+32>>2]=0;c[b+20>>2]=0;d=c[b+64>>2]|0;if(d|0)Dn(b+64|0,d);d=c[b+68>>2]|0;if(d|0){c[6880]=(c[6880]|0)+1;kd(c[d+-4>>2]|0)}c[b+68>>2]=0;c[b+72>>2]=-1;d=c[b+96>>2]|0;if(d|0){if(a[b+100>>0]|0){c[6880]=(c[6880]|0)+1;kd(c[d+-4>>2]|0)}c[b+96>>2]=0}a[b+100>>0]=1;c[b+96>>2]=0;c[b+88>>2]=0;c[b+92>>2]=0;c[b+80>>2]=0;a[b+193>>0]=0;a[b+194>>0]=1;c[b+144>>2]=0;c[b+164>>2]=0;c[b+148>>2]=1;c[b+152>>2]=0;c[b+156>>2]=10;c[b+160>>2]=1;c[b+124>>2]=0;c[b+124+4>>2]=0;c[b+124+8>>2]=0;c[b+168>>2]=0;c[b+168+4>>2]=0;c[b+168+8>>2]=0;c[b+168+12>>2]=0;c[b+168+16>>2]=0;c[b+168+20>>2]=0;return}function di(a,b){a=a|0;b=b|0;var d=0,e=0,g=0.0,h=0.0;e=Ta;Ta=Ta+32|0;d=c[b+388>>2]|0;switch(c[a+388>>2]&48&d&63){case 32:{if((a|0)==(b|0)&(d&64|0)==0){Ta=e;return}f[e+4>>2]=1.0;c[e+8+4>>2]=0;c[e+8+4+4>>2]=0;c[e+8+4+8>>2]=0;c[e>>2]=4740;c[e+8>>2]=c[a+456>>2];d=c[a+192>>2]|0;h=+Wa[c[(c[d>>2]|0)+48>>2]&31](d);d=c[b+192>>2]|0;f[e+12>>2]=h+ +Wa[c[(c[d>>2]|0)+48>>2]&31](d);h=+f[a+316>>2];g=+f[b+316>>2];f[e+16>>2]=h>2]=a;c[e+28>>2]=b;te(c[a+1048>>2]|0,c[b+1048>>2]|0,e);Ta=e;return}case 16:{if((a|0)==(b|0)){Ta=e;return}c[e>>2]=4776;d=c[a+192>>2]|0;h=+Wa[c[(c[d>>2]|0)+48>>2]&31](d);d=c[b+192>>2]|0;f[e+12>>2]=h+ +Wa[c[(c[d>>2]|0)+48>>2]&31](d);c[e+4>>2]=a;c[e+8>>2]=b;te(c[a+928>>2]|0,c[b+988>>2]|0,e);c[e+4>>2]=b;c[e+8>>2]=a;te(c[b+928>>2]|0,c[a+988>>2]|0,e);Ta=e;return}default:{Ta=e;return}}}function ei(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,g=0.0,h=0.0,i=0,j=0.0;i=Ta;Ta=Ta+32|0;c[i+16>>2]=c[d>>2];c[i+16+4>>2]=c[d+4>>2];c[i+16+8>>2]=c[d+8>>2];c[i+16+12>>2]=c[d+12>>2];e=+f[i+16>>2];h=+f[i+16+4>>2];g=+f[i+16+8>>2];if(e*e+h*h+g*g<1.4210854715202004e-14){c[i+16>>2]=-1082130432;c[i+16+4>>2]=-1082130432;c[i+16+8>>2]=-1082130432;f[i+16+12>>2]=0.0;e=-1.0;h=-1.0;g=-1.0}j=1.0/+s(+(e*e+h*h+g*g));f[i+16>>2]=e*j;f[i+16+4>>2]=h*j;f[i+16+8>>2]=g*j;rd(i,b,i+16|0);switch(c[b+4>>2]|0){case 8:{e=+f[b+28>>2]*+f[b+12>>2];break}case 0:{e=+f[b+44>>2];break}case 1:{e=+f[b+44>>2];break}case 13:{e=+f[b+44>>2];break}case 11:{e=+f[b+44>>2];break}case 10:{e=+f[b+44>>2];break}case 4:case 5:{e=+f[b+44>>2];break}default:e=+Wa[c[(c[b>>2]|0)+48>>2]&31](b)}h=e*+f[i+16+4>>2]+ +f[i+4>>2];j=e*+f[i+16+8>>2]+ +f[i+8>>2];f[a>>2]=e*+f[i+16>>2]+ +f[i>>2];f[a+4>>2]=h;f[a+8>>2]=j;f[a+12>>2]=0.0;Ta=i;return}function fi(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;l=Ta;Ta=Ta+48|0;h=l;i=h+44|0;do{c[h>>2]=0;h=h+4|0}while((h|0)<(i|0));if(!d)k=c[c[b+880>>2]>>2]|0;else k=d;d=c[b+732>>2]|0;if((d|0)==(c[b+736>>2]|0)?(j=(d|0)==0?1:d<<1,(d|0)<(j|0)):0){if(!j)e=0;else{c[6879]=(c[6879]|0)+1;d=Zb((j*52|3)+16|0)|0;if(!d)e=0;else{c[(d+4+15&-16)+-4>>2]=d;e=d+4+15&-16}d=c[b+732>>2]|0}if((d|0)>0){f=0;do{h=e+(f*52|0)|0;g=(c[b+740>>2]|0)+(f*52|0)|0;i=h+52|0;do{c[h>>2]=c[g>>2];h=h+4|0;g=g+4|0}while((h|0)<(i|0));f=f+1|0}while((f|0)!=(d|0))}d=c[b+740>>2]|0;if(d|0){if(a[b+744>>0]|0){c[6880]=(c[6880]|0)+1;kd(c[d+-4>>2]|0)}c[b+740>>2]=0}a[b+744>>0]=1;c[b+740>>2]=e;c[b+736>>2]=j;d=c[b+732>>2]|0}h=c[b+740>>2]|0;c[h+(d*52|0)>>2]=0;c[h+(d*52|0)+4>>2]=k;h=h+(d*52|0)+8|0;g=l;i=h+44|0;do{c[h>>2]=c[g>>2];h=h+4|0;g=g+4|0}while((h|0)<(i|0));c[b+732>>2]=(c[b+732>>2]|0)+1;Ta=l;return}function gi(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,g=0.0,i=0,j=0.0,k=0,l=0,m=0,n=0.0;l=Ta;Ta=Ta+80|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;c[a+12>>2]=0;e=+f[d>>2];g=+f[d+4>>2];j=+f[d+8>>2];if(e*e+g*g+j*j<9.999999747378752e-05){k=1065353216;i=0;e=0.0;d=0}else{n=1.0/+s(+(e*e+g*g+j*j));k=(f[h>>2]=e*n,c[h>>2]|0);m=(f[h>>2]=g*n,c[h>>2]|0);i=(f[h>>2]=j*n,c[h>>2]|0);e=+f[d+12>>2];d=m}c[l+32>>2]=9436;m=l+32+4|0;c[m>>2]=0;c[m+4>>2]=0;c[m+8>>2]=0;c[m+12>>2]=0;f[l+32+20>>2]=-999999984306749440.0;c[l+32+24>>2]=k;c[l+32+28>>2]=d;c[l+32+32>>2]=i;f[l+32+36>>2]=e;c[l+16>>2]=1566444395;c[l+16+4>>2]=1566444395;c[l+16+8>>2]=1566444395;f[l+16+12>>2]=0.0;b=c[b+92>>2]|0;k=c[(c[b>>2]|0)+8>>2]|0;f[l>>2]=-999999984306749440.0;f[l+4>>2]=-999999984306749440.0;f[l+8>>2]=-999999984306749440.0;f[l+12>>2]=0.0;Cb[k&127](b,l+32|0,l,l+16|0);c[a>>2]=c[m>>2];c[a+4>>2]=c[m+4>>2];c[a+8>>2]=c[m+8>>2];c[a+12>>2]=c[m+12>>2];Ta=l;return}function hi(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,g=0.0,h=0,i=0.0,j=0.0,k=0,l=0.0,m=0.0;l=+f[b+60>>2]*.5;h=c[b+68>>2]|0;g=+f[d>>2];i=+f[d+4>>2];j=+f[d+8>>2];j=+s(+(g*g+i*i+j*j));k=c[b+64>>2]|0;do if(!(+f[d+(h<<2)>>2]>+f[b+52>>2]*j)){g=+f[d+(k<<2)>>2];e=c[b+72>>2]|0;i=+f[d+(e<<2)>>2];j=+s(+(g*g+i*i));if(j>1.1920928955078125e-07){j=+f[b+56>>2]/j;f[a+(k<<2)>>2]=g*j;f[a+(h<<2)>>2]=-l;g=i*j;break}else{f[a+(k<<2)>>2]=0.0;f[a+(h<<2)>>2]=-l;g=0.0;break}}else{f[a+(k<<2)>>2]=0.0;f[a+(h<<2)>>2]=l;g=0.0;e=c[b+72>>2]|0}while(0);f[a+(e<<2)>>2]=g;if(!(+Wa[c[(c[b>>2]|0)+48>>2]&31](b)!=0.0))return;i=+f[d>>2];l=+f[d+4>>2];j=+f[d+8>>2];m=i*i+l*l+j*j<1.4210854715202004e-14?-1.0:i;g=i*i+l*l+j*j<1.4210854715202004e-14?-1.0:l;j=i*i+l*l+j*j<1.4210854715202004e-14?-1.0:j;l=1.0/+s(+(j*j+(m*m+g*g)));i=+Wa[c[(c[b>>2]|0)+48>>2]&31](b);f[a>>2]=+f[a>>2]+i*(m*l);f[a+4>>2]=+f[a+4>>2]+i*(g*l);f[a+8>>2]=+f[a+8>>2]+i*(j*l);return}function ii(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;e=gb[c[(c[d>>2]|0)+40>>2]&63](d,a)|0;g=gb[c[(c[d>>2]|0)+28>>2]&63](d,e)|0;c[b>>2]=g;if(g|0)vb[c[(c[d>>2]|0)+48>>2]&255](d,e);c[b+4>>2]=c[a+4>>2];c[b+28>>2]=c[a+28>>2];c[b+32>>2]=c[a+32>>2];c[b+36>>2]=c[a+36>>2];c[b+40>>2]=c[a+40>>2];c[b+12>>2]=c[a+12>>2];c[b+16>>2]=c[a+16>>2];c[b+20>>2]=c[a+20>>2];c[b+24>>2]=c[a+24>>2];c[b+44>>2]=c[a+44>>2];f=c[a+96>>2]|0;c[b+60>>2]=f;if(!f){c[b+52>>2]=0;c[b+56>>2]=0;return 20586}c[b+52>>2]=gb[c[(c[d>>2]|0)+28>>2]&63](d,c[a+104>>2]|0)|0;c[b+56>>2]=0;g=ib[c[(c[d>>2]|0)+16>>2]&63](d,16,f)|0;if((f|0)>0){e=c[a+104>>2]|0;b=0;a=c[g+8>>2]|0;while(1){c[a>>2]=c[e+(b<<4)>>2];c[a+4>>2]=c[e+(b<<4)+4>>2];c[a+8>>2]=c[e+(b<<4)+8>>2];c[a+12>>2]=c[e+(b<<4)+12>>2];b=b+1|0;if((b|0)==(f|0))break;else a=a+16|0}}else e=c[a+104>>2]|0;Gb[c[(c[d>>2]|0)+20>>2]&63](d,g,22585,1497453121,e);return 20586}function ji(a,b,d){a=a|0;b=b|0;d=d|0;c[a+300>>2]=c[b>>2];c[a+300+4>>2]=c[b+4>>2];c[a+300+8>>2]=c[b+8>>2];c[a+300+12>>2]=c[b+12>>2];c[a+316>>2]=c[b+16>>2];c[a+316+4>>2]=c[b+16+4>>2];c[a+316+8>>2]=c[b+16+8>>2];c[a+316+12>>2]=c[b+16+12>>2];c[a+332>>2]=c[b+32>>2];c[a+332+4>>2]=c[b+32+4>>2];c[a+332+8>>2]=c[b+32+8>>2];c[a+332+12>>2]=c[b+32+12>>2];c[a+348>>2]=c[b+48>>2];c[a+348+4>>2]=c[b+48+4>>2];c[a+348+8>>2]=c[b+48+8>>2];c[a+348+12>>2]=c[b+48+12>>2];c[a+364>>2]=c[d>>2];c[a+364+4>>2]=c[d+4>>2];c[a+364+8>>2]=c[d+8>>2];c[a+364+12>>2]=c[d+12>>2];c[a+380>>2]=c[d+16>>2];c[a+380+4>>2]=c[d+16+4>>2];c[a+380+8>>2]=c[d+16+8>>2];c[a+380+12>>2]=c[d+16+12>>2];c[a+396>>2]=c[d+32>>2];c[a+396+4>>2]=c[d+32+4>>2];c[a+396+8>>2]=c[d+32+8>>2];c[a+396+12>>2]=c[d+32+12>>2];c[a+412>>2]=c[d+48>>2];c[a+412+4>>2]=c[d+48+4>>2];c[a+412+8>>2]=c[d+48+8>>2];c[a+412+12>>2]=c[d+48+12>>2];pb[c[(c[a>>2]|0)+8>>2]&511](a);return}function ki(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,g=0.0,h=0.0,i=0.0,j=0.0,k=0.0,l=0.0,m=0,n=0.0;m=c[a+4>>2]|0;a=c[a+64>>2]|0;do if(!m)if(!a){e=0.0;n=0.0;j=0.0;l=0.0;h=0.0;k=0.0;i=0.0;g=0.0}else{e=+f[a>>2];n=+f[a+12>>2];j=+f[a+16>>2];l=+f[a+20>>2];h=+f[a+24>>2];k=+f[a+28>>2];i=+f[a+4>>2];g=+f[a+8>>2]}else{e=+f[m>>2];if(!a){n=+f[m+12>>2];j=+f[m+16>>2];l=+f[m+20>>2];h=+f[m+24>>2];k=+f[m+28>>2];i=+f[m+4>>2];g=+f[m+8>>2];break}k=+f[a>>2];e=e>2];j=+f[a+16>>2];j=k>j?k:j;k=+f[m+4>>2];i=+f[a+4>>2];i=k>2];l=+f[a+20>>2];l=k>l?k:l;k=+f[m+8>>2];g=+f[a+8>>2];g=k>2];h=+f[a+24>>2];if(k>h){n=0.0;h=k;k=0.0}else{n=0.0;k=0.0}}while(0);f[b>>2]=e;f[b+4>>2]=i;f[b+8>>2]=g;f[b+12>>2]=n;f[d>>2]=j;f[d+4>>2]=l;f[d+8>>2]=h;f[d+12>>2]=k;return}function li(a,b){a=a|0;b=b|0;var c=0,d=0.0,e=0.0,g=0.0,h=0.0,i=0.0,j=0.0,k=0.0,l=0.0,m=0.0,n=0.0,o=0.0,p=0.0;c=Ta;Ta=Ta+48|0;zh(a+364|0,c+16|0);h=-+f[c+16>>2];e=-+f[c+16+4>>2];l=-+f[c+16+8>>2];k=+f[c+16+12>>2];g=+f[b>>2];m=+f[b+12>>2];j=+f[b+8>>2];i=+f[b+4>>2];zh(a+300|0,c);o=+f[c>>2];p=+f[c+12>>2];d=+f[c+8>>2];n=+f[c+4>>2];f[c+32>>2]=(k*m-g*h-i*e-j*l)*o+(k*g+m*h+j*e-i*l)*p+(g*l+(m*e+k*i)-j*h)*d-(m*l+k*j+i*h-g*e)*n;f[c+32+4>>2]=o*(m*l+k*j+i*h-g*e)+(p*(g*l+(m*e+k*i)-j*h)+(k*m-g*h-i*e-j*l)*n)-(k*g+m*h+j*e-i*l)*d;f[c+32+8>>2]=(m*l+k*j+i*h-g*e)*p+(k*m-g*h-i*e-j*l)*d+(k*g+m*h+j*e-i*l)*n-o*(g*l+(m*e+k*i)-j*h);f[c+32+12>>2]=(k*m-g*h-i*e-j*l)*p-(k*g+m*h+j*e-i*l)*o-(g*l+(m*e+k*i)-j*h)*n-(m*l+k*j+i*h-g*e)*d;Ne(a,c+32|0);Ta=c;return}function mi(b){b=b|0;var d=0;d=c[b>>2]|0;if(d|0)Dn(b,d);d=c[b+4>>2]|0;if(d|0){c[6880]=(c[6880]|0)+1;kd(c[d+-4>>2]|0)}c[b+4>>2]=0;c[b+8>>2]=-1;d=c[b+32>>2]|0;if(d|0){if(a[b+36>>0]|0){c[6880]=(c[6880]|0)+1;kd(c[d+-4>>2]|0)}c[b+32>>2]=0}a[b+36>>0]=1;c[b+32>>2]=0;c[b+24>>2]=0;c[b+28>>2]=0;c[b+16>>2]=0;d=c[b+52>>2]|0;if(!d){a[b+56>>0]=1;c[b+52>>2]=0;c[b+44>>2]=0;c[b+48>>2]=0;a[b+36>>0]=1;c[b+32>>2]=0;c[b+24>>2]=0;c[b+28>>2]=0;return}if(!(a[b+56>>0]|0)){a[b+56>>0]=1;c[b+52>>2]=0;c[b+44>>2]=0;c[b+48>>2]=0;a[b+36>>0]=1;c[b+32>>2]=0;c[b+24>>2]=0;c[b+28>>2]=0;return}c[6880]=(c[6880]|0)+1;kd(c[d+-4>>2]|0);d=c[b+32>>2]|0;a[b+56>>0]=1;c[b+52>>2]=0;c[b+44>>2]=0;c[b+48>>2]=0;if(!d){a[b+36>>0]=1;c[b+32>>2]=0;c[b+24>>2]=0;c[b+28>>2]=0;return}if(a[b+36>>0]|0){c[6880]=(c[6880]|0)+1;kd(c[d+-4>>2]|0)}c[b+32>>2]=0;a[b+36>>0]=1;c[b+32>>2]=0;c[b+24>>2]=0;c[b+28>>2]=0;return}function ni(b,d,e,g){b=b|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0.0,k=0.0,l=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0;i=Ta;Ta=Ta+32|0;h=sx()|0;c[h+4>>2]=11;c[h+8>>2]=-1;c[h+12>>2]=-1;f[h+16>>2]=3402823466385288598117041.0e14;a[h+20>>0]=1;a[h+21>>0]=0;c[h+24>>2]=-1;c[h+28>>2]=b;c[h+32>>2]=d;f[h+36>>2]=0.0;f[h+40>>2]=.30000001192092896;c[h+44>>2]=0;c[h>>2]=5576;c[h+48>>2]=c[e+48>>2];c[h+48+4>>2]=c[e+48+4>>2];c[h+48+8>>2]=c[e+48+8>>2];c[h+48+12>>2]=c[e+48+12>>2];c[h+64>>2]=c[g+48>>2];c[h+64+4>>2]=c[g+48+4>>2];c[h+64+8>>2]=c[g+48+8>>2];c[h+64+12>>2]=c[g+48+12>>2];zh(e,i+16|0);zh(g,i);n=-+f[i>>2];l=-+f[i+4>>2];j=-+f[i+8>>2];q=+f[i+12>>2];p=+f[i+16+12>>2];o=+f[i+16>>2];m=+f[i+16+4>>2];k=+f[i+16+8>>2];f[h+80>>2]=p*n+q*o+m*j-k*l;f[h+84>>2]=k*n+(p*l+q*m)-o*j;f[h+88>>2]=o*l+(p*j+q*k)-m*n;f[h+92>>2]=q*p-o*n-m*l-k*j;Ta=i;return h|0}function oi(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;if((e|0)>=8192){Na(b|0,d|0,e|0)|0;return b|0}h=b|0;g=b+e|0;if((b&3)==(d&3)){while(b&3){if(!e)return h|0;a[b>>0]=a[d>>0]|0;b=b+1|0;d=d+1|0;e=e-1|0}e=g&-4|0;f=e-64|0;while((b|0)<=(f|0)){c[b>>2]=c[d>>2];c[b+4>>2]=c[d+4>>2];c[b+8>>2]=c[d+8>>2];c[b+12>>2]=c[d+12>>2];c[b+16>>2]=c[d+16>>2];c[b+20>>2]=c[d+20>>2];c[b+24>>2]=c[d+24>>2];c[b+28>>2]=c[d+28>>2];c[b+32>>2]=c[d+32>>2];c[b+36>>2]=c[d+36>>2];c[b+40>>2]=c[d+40>>2];c[b+44>>2]=c[d+44>>2];c[b+48>>2]=c[d+48>>2];c[b+52>>2]=c[d+52>>2];c[b+56>>2]=c[d+56>>2];c[b+60>>2]=c[d+60>>2];b=b+64|0;d=d+64|0}while((b|0)<(e|0)){c[b>>2]=c[d>>2];b=b+4|0;d=d+4|0}}else{e=g-4|0;while((b|0)<(e|0)){a[b>>0]=a[d>>0]|0;a[b+1>>0]=a[d+1>>0]|0;a[b+2>>0]=a[d+2>>0]|0;a[b+3>>0]=a[d+3>>0]|0;b=b+4|0;d=d+4|0}}while((b|0)<(g|0)){a[b>>0]=a[d>>0]|0;b=b+1|0;d=d+1|0}return h|0}function pi(b){b=b|0;var d=0;if((a[25432]|0)==0?kP(25432)|0:0){if((a[25408]|0)==0?kP(25408)|0:0){if((a[25416]|0)==0?kP(25416)|0:0){c[6480]=1065353216;c[6481]=0;c[6482]=0;c[6483]=0;c[6484]=0;c[6485]=1065353216;c[6486]=0;c[6487]=0;c[6488]=0;c[6489]=0;c[6490]=1065353216;f[6491]=0.0;kO(25416)}c[6464]=c[6480];c[6465]=c[6481];c[6466]=c[6482];c[6467]=c[6483];c[6468]=c[6484];c[6469]=c[6485];c[6470]=c[6486];c[6471]=c[6487];c[6472]=c[6488];c[6473]=c[6489];c[6474]=c[6490];c[6475]=c[6491];c[6476]=0;c[6477]=0;c[6478]=0;c[6479]=0;kO(25408)}c[6504]=c[6464];c[6505]=c[6465];c[6506]=c[6466];c[6507]=c[6467];c[6508]=c[6468];c[6509]=c[6469];c[6510]=c[6470];c[6511]=c[6471];c[6512]=c[6472];c[6513]=c[6473];c[6514]=c[6474];c[6515]=c[6475];c[6516]=c[6476];c[6517]=c[6477];c[6518]=c[6478];c[6519]=c[6479];kO(25432)}d=c[b+8>>2]|0;if(!d){b=c[b>>2]|0;return ((b|0)==0?26016:b+60|0)|0}else return d+4|0;return 0}function qi(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;if(!e)e=c[b+188>>2]|0;i=c[d>>2]|0;f=c[b+268>>2]|0;a:do if((f|0)>0){h=c[b+276>>2]|0;g=0;while(1){if((c[h+(g<<2)>>2]|0)==(i|0))break;g=g+1|0;if((g|0)>=(f|0))break a}if((g|0)!=(f|0))return}while(0);if((f|0)==(c[b+272>>2]|0)?(j=(f|0)==0?1:f<<1,(f|0)<(j|0)):0){if(!j)g=0;else{c[6879]=(c[6879]|0)+1;f=Zb((j<<2|3)+16|0)|0;if(!f)g=0;else{c[(f+4+15&-16)+-4>>2]=f;g=f+4+15&-16}f=c[b+268>>2]|0}if((f|0)>0){h=0;do{c[g+(h<<2)>>2]=c[(c[b+276>>2]|0)+(h<<2)>>2];h=h+1|0}while((h|0)!=(f|0))}h=c[b+276>>2]|0;if(h){if(a[b+280>>0]|0){c[6880]=(c[6880]|0)+1;kd(c[h+-4>>2]|0);f=c[b+268>>2]|0}c[b+276>>2]=0}a[b+280>>0]=1;c[b+276>>2]=g;c[b+272>>2]=j}c[(c[b+276>>2]|0)+(f<<2)>>2]=i;c[b+268>>2]=f+1;b=c[b+284>>2]|0;ib[c[(c[b>>2]|0)+8>>2]&63](b,e,d)|0;return}function ri(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;if(eb[c[(c[d>>2]|0)+16>>2]&255](d)|0)return;j=c[b+712>>2]|0;i=eb[c[(c[d>>2]|0)+36>>2]&255](d)|0;if(eb[c[(c[d>>2]|0)+8>>2]&255](d)|0?(f=eb[c[(c[d>>2]|0)+20>>2]&255](d)|0,h=eb[c[(c[d>>2]|0)+24>>2]&255](d)|0,(j|0)>0):0){e=c[b+720>>2]|0;g=0;a=i+(f<<2)|0;while(1){k=c[e+(g*104|0)+12>>2]|0;f=c[e+(g*104|0)+16>>2]|0;c[a>>2]=c[e+(g*104|0)+8>>2];c[a+4>>2]=k;c[a+8>>2]=f;g=g+1|0;if((g|0)==(j|0))break;else a=a+(h<<2)|0}}if(!(eb[c[(c[d>>2]|0)+12>>2]&255](d)|0))return;a=eb[c[(c[d>>2]|0)+28>>2]&255](d)|0;g=eb[c[(c[d>>2]|0)+32>>2]&255](d)|0;if((j|0)<=0)return;f=c[b+720>>2]|0;a=i+(a<<2)|0;e=0;while(1){b=c[f+(e*104|0)+76>>2]|0;k=c[f+(e*104|0)+80>>2]|0;c[a>>2]=c[f+(e*104|0)+72>>2];c[a+4>>2]=b;c[a+8>>2]=k;e=e+1|0;if((e|0)==(j|0))break;else a=a+(g<<2)|0}return}function si(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;c[b>>2]=10964;d=c[b+56>>2]|0;if(d|0){if(a[b+60>>0]|0){c[6880]=(c[6880]|0)+1;kd(c[d+-4>>2]|0)}c[b+56>>2]=0}a[b+60>>0]=1;c[b+56>>2]=0;c[b+48>>2]=0;c[b+52>>2]=0;e=c[b+28>>2]|0;if((e|0)>0){h=0;do{f=c[b+36>>2]|0;j=f+(h*36|0)+4|0;i=f+(h*36|0)+12|0;g=c[i>>2]|0;d=f+(h*36|0)+16|0;if(g|0){if(a[d>>0]|0){c[6880]=(c[6880]|0)+1;kd(c[g+-4>>2]|0)}c[i>>2]=0}a[d>>0]=1;c[i>>2]=0;c[j>>2]=0;c[f+(h*36|0)+8>>2]=0;h=h+1|0}while((h|0)!=(e|0))}d=c[b+36>>2]|0;if(d|0){if(a[b+40>>0]|0){c[6880]=(c[6880]|0)+1;kd(c[d+-4>>2]|0)}c[b+36>>2]=0}a[b+40>>0]=1;c[b+36>>2]=0;c[b+28>>2]=0;c[b+32>>2]=0;d=c[b+16>>2]|0;if(!d){a[b+20>>0]=1;c[b+16>>2]=0;c[b+8>>2]=0;b=b+12|0;c[b>>2]=0;return}if(a[b+20>>0]|0){c[6880]=(c[6880]|0)+1;kd(c[d+-4>>2]|0)}c[b+16>>2]=0;a[b+20>>0]=1;c[b+16>>2]=0;c[b+8>>2]=0;b=b+12|0;c[b>>2]=0;return}function ti(b){b=b|0;var d=0;c[b>>2]=10064;d=c[b+156>>2]|0;if(d|0){if(a[b+160>>0]|0){c[6880]=(c[6880]|0)+1;kd(c[d+-4>>2]|0)}c[b+156>>2]=0}a[b+160>>0]=1;c[b+156>>2]=0;c[b+148>>2]=0;c[b+152>>2]=0;d=c[b+136>>2]|0;if(d|0){if(a[b+140>>0]|0){c[6880]=(c[6880]|0)+1;kd(c[d+-4>>2]|0)}c[b+136>>2]=0}a[b+140>>0]=1;c[b+136>>2]=0;c[b+128>>2]=0;c[b+132>>2]=0;d=c[b+116>>2]|0;if(d|0){if(a[b+120>>0]|0){c[6880]=(c[6880]|0)+1;kd(c[d+-4>>2]|0)}c[b+116>>2]=0}a[b+120>>0]=1;c[b+116>>2]=0;c[b+108>>2]=0;c[b+112>>2]=0;d=c[b+96>>2]|0;if(d|0){if(a[b+100>>0]|0){c[6880]=(c[6880]|0)+1;kd(c[d+-4>>2]|0)}c[b+96>>2]=0}a[b+100>>0]=1;c[b+96>>2]=0;c[b+88>>2]=0;c[b+92>>2]=0;c[b>>2]=10980;d=c[b+32>>2]|0;if(!d){a[b+36>>0]=1;c[b+32>>2]=0;c[b+24>>2]=0;b=b+28|0;c[b>>2]=0;return}if(a[b+36>>0]|0){c[6880]=(c[6880]|0)+1;kd(c[d+-4>>2]|0)}c[b+32>>2]=0;a[b+36>>0]=1;c[b+32>>2]=0;c[b+24>>2]=0;b=b+28|0;c[b>>2]=0;return}function ui(b){b=b|0;var d=0;c[b>>2]=10624;d=c[b+160>>2]|0;if(d|0){if(a[b+164>>0]|0){c[6880]=(c[6880]|0)+1;kd(c[d+-4>>2]|0)}c[b+160>>2]=0}a[b+164>>0]=1;c[b+160>>2]=0;c[b+152>>2]=0;c[b+156>>2]=0;d=c[b+136>>2]|0;if(d|0){if(a[b+140>>0]|0){c[6880]=(c[6880]|0)+1;kd(c[d+-4>>2]|0)}c[b+136>>2]=0}a[b+140>>0]=1;c[b+136>>2]=0;c[b+128>>2]=0;c[b+132>>2]=0;d=c[b+116>>2]|0;if(d|0){if(a[b+120>>0]|0){c[6880]=(c[6880]|0)+1;kd(c[d+-4>>2]|0)}c[b+116>>2]=0}a[b+120>>0]=1;c[b+116>>2]=0;c[b+108>>2]=0;c[b+112>>2]=0;d=c[b+96>>2]|0;if(d|0){if(a[b+100>>0]|0){c[6880]=(c[6880]|0)+1;kd(c[d+-4>>2]|0)}c[b+96>>2]=0}a[b+100>>0]=1;c[b+96>>2]=0;c[b+88>>2]=0;c[b+92>>2]=0;d=c[b+76>>2]|0;if(!d){a[b+80>>0]=1;c[b+76>>2]=0;c[b+68>>2]=0;b=b+72|0;c[b>>2]=0;return}if(a[b+80>>0]|0){c[6880]=(c[6880]|0)+1;kd(c[d+-4>>2]|0)}c[b+76>>2]=0;a[b+80>>0]=1;c[b+76>>2]=0;c[b+68>>2]=0;b=b+72|0;c[b>>2]=0;return}function vi(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var g=0,h=0.0,i=0,j=0.0,k=0.0,l=0,m=0.0,n=0,o=0;o=Ta;Ta=Ta+16|0;if((e|0)<=0){Ta=o;return}n=0;do{m=+f[a+60>>2]*.5;i=c[a+68>>2]|0;h=+f[b+(n<<4)>>2];j=+f[b+(n<<4)+4>>2];k=+f[b+(n<<4)+8>>2];k=+s(+(h*h+j*j+k*k));l=c[a+64>>2]|0;do if(!(+f[b+(n<<4)+(i<<2)>>2]>+f[a+52>>2]*k)){h=+f[b+(n<<4)+(l<<2)>>2];g=c[a+72>>2]|0;j=+f[b+(n<<4)+(g<<2)>>2];k=+s(+(h*h+j*j));if(k>1.1920928955078125e-07){k=+f[a+56>>2]/k;f[o+(l<<2)>>2]=h*k;f[o+(i<<2)>>2]=-m;h=j*k;break}else{f[o+(l<<2)>>2]=0.0;f[o+(i<<2)>>2]=-m;h=0.0;break}}else{f[o+(l<<2)>>2]=0.0;f[o+(i<<2)>>2]=m;h=0.0;g=c[a+72>>2]|0}while(0);f[o+(g<<2)>>2]=h;l=d+(n<<4)|0;c[l>>2]=c[o>>2];c[l+4>>2]=c[o+4>>2];c[l+8>>2]=c[o+8>>2];c[l+12>>2]=c[o+12>>2];n=n+1|0}while((n|0)!=(e|0));Ta=o;return}function wi(b){b=b|0;var d=0;c[b>>2]=6068;d=c[b+164>>2]|0;if(d|0){if(a[b+168>>0]|0){c[6880]=(c[6880]|0)+1;kd(c[d+-4>>2]|0)}c[b+164>>2]=0}a[b+168>>0]=1;c[b+164>>2]=0;c[b+156>>2]=0;c[b+160>>2]=0;d=c[b+76>>2]|0;if(d|0){if(a[b+80>>0]|0){c[6880]=(c[6880]|0)+1;kd(c[d+-4>>2]|0)}c[b+76>>2]=0}a[b+80>>0]=1;c[b+76>>2]=0;c[b+68>>2]=0;c[b+72>>2]=0;d=c[b+56>>2]|0;if(d|0){if(a[b+60>>0]|0){c[6880]=(c[6880]|0)+1;kd(c[d+-4>>2]|0)}c[b+56>>2]=0}a[b+60>>0]=1;c[b+56>>2]=0;c[b+48>>2]=0;c[b+52>>2]=0;d=c[b+36>>2]|0;if(d|0){if(a[b+40>>0]|0){c[6880]=(c[6880]|0)+1;kd(c[d+-4>>2]|0)}c[b+36>>2]=0}a[b+40>>0]=1;c[b+36>>2]=0;c[b+28>>2]=0;c[b+32>>2]=0;d=c[b+16>>2]|0;if(!d){a[b+20>>0]=1;c[b+16>>2]=0;c[b+8>>2]=0;b=b+12|0;c[b>>2]=0;return}if(a[b+20>>0]|0){c[6880]=(c[6880]|0)+1;kd(c[d+-4>>2]|0)}c[b+16>>2]=0;a[b+20>>0]=1;c[b+16>>2]=0;c[b+8>>2]=0;b=b+12|0;c[b>>2]=0;return}function xi(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var g=0.0,h=0.0,i=0.0,j=0.0,k=0.0,l=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0;o=(+f[a+32>>2]-+f[a+16>>2])*+f[a+108>>2]*.5;m=(+f[a+36>>2]-+f[a+20>>2])*+f[a+112>>2]*.5;k=(+f[a+40>>2]-+f[a+24>>2])*+f[a+116>>2]*.5;u=+r(+(+f[b>>2]));t=+r(+(+f[b+4>>2]));s=+r(+(+f[b+8>>2]));n=+r(+(+f[b+16>>2]));l=+r(+(+f[b+20>>2]));j=+r(+(+f[b+24>>2]));x=+r(+(+f[b+32>>2]));w=+r(+(+f[b+36>>2]));g=+r(+(+f[b+40>>2]));v=+f[b+48>>2];p=+f[b+52>>2];h=+f[b+56>>2];q=+Wa[c[(c[a>>2]|0)+48>>2]&31](a);i=+Wa[c[(c[a>>2]|0)+48>>2]&31](a);g=o*x+m*w+k*g+ +Wa[c[(c[a>>2]|0)+48>>2]&31](a);f[d>>2]=v-(o*u+m*t+k*s+q);f[d+4>>2]=p-(o*n+m*l+k*j+i);f[d+8>>2]=h-g;f[d+12>>2]=0.0;f[e>>2]=v+(o*u+m*t+k*s+q);f[e+4>>2]=p+(o*n+m*l+k*j+i);f[e+8>>2]=h+g;f[e+12>>2]=0.0;return}function yi(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,g=0.0,h=0.0,i=0.0,j=0.0,k=0.0;e=c[b>>2]|0;if((e|0)==(c[a+80>>2]|0)){g=1.0;return +g}if(c[e+204>>2]&4|0){g=1.0;return +g}if((+f[a+28>>2]-+f[a+12>>2])*+f[b+8>>2]+(+f[a+32>>2]-+f[a+16>>2])*+f[b+12>>2]+(+f[a+36>>2]-+f[a+20>>2])*+f[b+16>>2]>=-+f[a+84>>2]){g=1.0;return +g}c[a+4>>2]=c[b+40>>2];c[a+76>>2]=e;if(d){c[a+44>>2]=c[b+8>>2];c[a+44+4>>2]=c[b+8+4>>2];c[a+44+8>>2]=c[b+8+8>>2];c[a+44+12>>2]=c[b+8+12>>2]}else{k=+f[b+8>>2];j=+f[b+12>>2];i=+f[b+16>>2];h=k*+f[e+20>>2]+j*+f[e+24>>2]+i*+f[e+28>>2];g=k*+f[e+36>>2]+j*+f[e+40>>2]+i*+f[e+44>>2];f[a+44>>2]=+f[e+4>>2]*k+ +f[e+8>>2]*j+ +f[e+12>>2]*i;f[a+48>>2]=h;f[a+52>>2]=g;f[a+56>>2]=0.0}c[a+60>>2]=c[b+24>>2];c[a+60+4>>2]=c[b+24+4>>2];c[a+60+8>>2]=c[b+24+8>>2];c[a+60+12>>2]=c[b+24+12>>2];k=+f[b+40>>2];return +k}function zi(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;i=Ta;Ta=Ta+48|0;g=c[a+28>>2]|0;c[i>>2]=g;g=(c[a+20>>2]|0)-g|0;c[i+4>>2]=g;c[i+8>>2]=b;c[i+12>>2]=d;c[i+16>>2]=c[a+60>>2];c[i+16+4>>2]=i;c[i+16+8>>2]=2;b=uY(Da(146,i+16|0)|0)|0;a:do if((g+d|0)!=(b|0)){e=i;f=2;g=g+d|0;while(1){if((b|0)<0)break;g=g-b|0;j=c[e+4>>2]|0;k=b>>>0>j>>>0;e=k?e+8|0:e;f=f+(k<<31>>31)|0;j=b-(k?j:0)|0;c[e>>2]=(c[e>>2]|0)+j;c[e+4>>2]=(c[e+4>>2]|0)-j;c[i+32>>2]=c[a+60>>2];c[i+32+4>>2]=e;c[i+32+8>>2]=f;b=uY(Da(146,i+32|0)|0)|0;if((g|0)==(b|0)){h=3;break a}}c[a+16>>2]=0;c[a+28>>2]=0;c[a+20>>2]=0;c[a>>2]=c[a>>2]|32;if((f|0)==2)d=0;else d=d-(c[e+4>>2]|0)|0}else h=3;while(0);if((h|0)==3){k=c[a+44>>2]|0;c[a+16>>2]=k+(c[a+48>>2]|0);c[a+28>>2]=k;c[a+20>>2]=k}Ta=i;return d|0}function Ai(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0;i=Ta;Ta=Ta+80|0;if((e|0)<=0){Ta=i;return}g=0;do{f[d+(g<<4)+12>>2]=-999999984306749440.0;g=g+1|0}while((g|0)!=(e|0));h=i+32+4|0;g=0;do{j=b+(g<<4)|0;c[i+32>>2]=9436;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;f[i+32+20>>2]=-999999984306749440.0;c[i+32+24>>2]=c[j>>2];c[i+32+24+4>>2]=c[j+4>>2];c[i+32+24+8>>2]=c[j+8>>2];c[i+32+24+12>>2]=c[j+12>>2];c[i+16>>2]=1566444395;c[i+16+4>>2]=1566444395;c[i+16+8>>2]=1566444395;f[i+16+12>>2]=0.0;j=c[a+92>>2]|0;k=c[(c[j>>2]|0)+8>>2]|0;f[i>>2]=-999999984306749440.0;f[i+4>>2]=-999999984306749440.0;f[i+8>>2]=-999999984306749440.0;f[i+12>>2]=0.0;Cb[k&127](j,i+32|0,i,i+16|0);j=d+(g<<4)|0;c[j>>2]=c[h>>2];c[j+4>>2]=c[h+4>>2];c[j+8>>2]=c[h+8>>2];c[j+12>>2]=c[h+12>>2];g=g+1|0}while((g|0)<(e|0));Ta=i;return}function Bi(b){b=b|0;var d=0,e=0,g=0,h=0;c[b+32>>2]=262144;h=c[b+4>>2]|0;if((h|0)<2383){if((c[b+8>>2]|0)<2383){c[6879]=(c[6879]|0)+1;d=Zb(9551)|0;if(!d)g=0;else{c[(d+4+15&-16)+-4>>2]=d;g=d+4+15&-16}d=c[b+4>>2]|0;if((d|0)>0){e=0;do{c[g+(e<<2)>>2]=c[(c[b+12>>2]|0)+(e<<2)>>2];e=e+1|0}while((e|0)!=(d|0))}d=c[b+12>>2]|0;if(d|0){if(a[b+16>>0]|0){c[6880]=(c[6880]|0)+1;kd(c[d+-4>>2]|0)}c[b+12>>2]=0}a[b+16>>0]=1;c[b+12>>2]=g;c[b+8>>2]=2383;e=b+12|0}else e=b+12|0;d=h;do{c[(c[e>>2]|0)+(d<<2)>>2]=0;d=d+1|0}while((d|0)!=2383)}c[b+4>>2]=2383;e=0;do{h=(c[b+12>>2]|0)+(e<<2)|0;d=c[h>>2]|0;c[h>>2]=0;if(d|0)do{h=d;d=c[d+280>>2]|0;B$(h)}while((d|0)!=0);e=e+1|0}while((e|0)!=2383);f[b+20>>2]=.25;c[b+24>>2]=0;c[b+28>>2]=0;c[b+36>>2]=1;c[b+40>>2]=1;return}function Ci(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;f=c[b+96>>2]|0;if((f|0)==(c[b+100>>2]|0)?(i=(f|0)==0?1:f<<1,(f|0)<(i|0)):0){if(!i)g=0;else{c[6879]=(c[6879]|0)+1;f=Zb((i<<4|3)+16|0)|0;if(!f)g=0;else{c[(f+4+15&-16)+-4>>2]=f;g=f+4+15&-16}f=c[b+96>>2]|0}if((f|0)>0){h=0;do{j=g+(h<<4)|0;k=(c[b+104>>2]|0)+(h<<4)|0;c[j>>2]=c[k>>2];c[j+4>>2]=c[k+4>>2];c[j+8>>2]=c[k+8>>2];c[j+12>>2]=c[k+12>>2];h=h+1|0}while((h|0)!=(f|0))}f=c[b+104>>2]|0;if(f|0){if(a[b+108>>0]|0){c[6880]=(c[6880]|0)+1;kd(c[f+-4>>2]|0)}c[b+104>>2]=0}a[b+108>>0]=1;c[b+104>>2]=g;c[b+100>>2]=i;f=c[b+96>>2]|0}k=(c[b+104>>2]|0)+(f<<4)|0;c[k>>2]=c[d>>2];c[k+4>>2]=c[d+4>>2];c[k+8>>2]=c[d+8>>2];c[k+12>>2]=c[d+12>>2];c[b+96>>2]=(c[b+96>>2]|0)+1;if(!e)return;wj(b);return}function Di(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;i=c[d+4>>2]|0;f=c[b+24>>2]|0;if((f|0)<(i|0)){if((c[b+28>>2]|0)<(i|0)){if(!i){g=f;h=0}else{c[6879]=(c[6879]|0)+1;e=Zb((i<<2|3)+16|0)|0;if(!e)e=0;else{c[(e+4+15&-16)+-4>>2]=e;e=e+4+15&-16}g=c[b+24>>2]|0;h=e}if((g|0)>0){e=0;do{c[h+(e<<2)>>2]=c[(c[b+32>>2]|0)+(e<<2)>>2];e=e+1|0}while((e|0)!=(g|0))}e=c[b+32>>2]|0;if(e|0){if(a[b+36>>0]|0){c[6880]=(c[6880]|0)+1;kd(c[e+-4>>2]|0)}c[b+32>>2]=0}a[b+36>>0]=1;c[b+32>>2]=h;c[b+28>>2]=i;e=b+32|0}else e=b+32|0;do{c[(c[e>>2]|0)+(f<<2)>>2]=0;f=f+1|0}while((f|0)!=(i|0))}else e=b+32|0;c[b+24>>2]=i;e=c[e>>2]|0;if((i|0)<=0)return;f=0;do{c[e+(f<<2)>>2]=c[(c[d+12>>2]|0)+(f<<2)>>2];f=f+1|0}while((f|0)!=(i|0));return}function Ei(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=Ta;Ta=Ta+96|0;b=c[b>>2]|0;if((b|0)==(c[a+4>>2]|0)){Ta=d;return 1}e=c[a+12>>2]|0;if(!(gb[c[(c[e>>2]|0)+8>>2]&63](e,c[b+188>>2]|0)|0)){Ta=d;return 1}e=c[a+4>>2]|0;f=c[e+192>>2]|0;c[d+64>>2]=0;c[d+64+4>>2]=f;c[d+64+8>>2]=e;c[d+64+12>>2]=e+4;c[d+64+16>>2]=-1;c[d+64+20>>2]=-1;e=c[b+192>>2]|0;c[d+40>>2]=0;c[d+40+4>>2]=e;c[d+40+8>>2]=b;c[d+40+12>>2]=b+4;c[d+40+16>>2]=-1;c[d+40+20>>2]=-1;b=c[(c[a+8>>2]|0)+24>>2]|0;b=jb[c[(c[b>>2]|0)+8>>2]&63](b,d+64|0,d+40|0,0)|0;if(b|0){f=c[a+12>>2]|0;c[d+4>>2]=0;c[d+8>>2]=d+64;c[d+12>>2]=d+40;c[d>>2]=7312;c[d+32>>2]=f;Gb[c[(c[b>>2]|0)+8>>2]&63](b,d+64|0,d+40|0,(c[a+8>>2]|0)+28|0,d);pb[c[c[b>>2]>>2]&511](b);f=c[(c[a+8>>2]|0)+24>>2]|0;vb[c[(c[f>>2]|0)+60>>2]&255](f,b)}Ta=d;return 1}function Fi(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,g=0,h=0,i=0,j=0,k=0;k=Ta;Ta=Ta+80|0;h=c[c[a>>2]>>2]|0;i=c[c[a+4>>2]>>2]|0;if(!(ib[c[(c[b>>2]|0)+24>>2]&63](b,h,i)|0)){Ta=k;return}g=c[h+192>>2]|0;c[k+56>>2]=0;c[k+56+4>>2]=g;c[k+56+8>>2]=h;c[k+56+12>>2]=h+4;c[k+56+16>>2]=-1;c[k+56+20>>2]=-1;g=c[i+192>>2]|0;c[k+32>>2]=0;c[k+32+4>>2]=g;c[k+32+8>>2]=i;c[k+32+12>>2]=i+4;c[k+32+16>>2]=-1;c[k+32+20>>2]=-1;g=c[a+8>>2]|0;if(!g){g=jb[c[(c[b>>2]|0)+8>>2]&63](b,k+56|0,k+32|0,0)|0;c[a+8>>2]=g;if(g|0)j=4}else j=4;if((j|0)==4){c[k>>2]=6940;c[k+4>>2]=0;c[k+8>>2]=k+56;c[k+12>>2]=k+32;if((c[d+8>>2]|0)!=1){e=+ab[c[(c[g>>2]|0)+12>>2]&63](g,h,i,d,k);if(+f[d+12>>2]>e)f[d+12>>2]=e}else Gb[c[(c[g>>2]|0)+8>>2]&63](g,k+56|0,k+32|0,d,k)}Ta=k;return}function Gi(a,b,c,d,e,g,h,i,j,k,l){a=a|0;b=b|0;c=+c;d=+d;e=+e;g=+g;h=+h;i=+i;j=j|0;k=k|0;l=+l;var m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0;x=+f[a>>2]*g+ +f[a+16>>2]*h+ +f[a+32>>2]*i;v=+f[a+4>>2]*g+ +f[a+20>>2]*h+ +f[a+36>>2]*i;t=+f[a+8>>2]*g+ +f[a+24>>2]*h+ +f[a+40>>2]*i;s=+f[b>>2]*g+ +f[b+16>>2]*h+ +f[b+32>>2]*i;q=+f[b+4>>2]*g+ +f[b+20>>2]*h+ +f[b+36>>2]*i;o=+f[b+8>>2]*g+ +f[b+24>>2]*h+ +f[b+40>>2]*i;w=+f[j+80>>2];u=+f[j+84>>2];p=+f[j+88>>2];r=+f[k+80>>2];m=+f[k+84>>2];n=+f[k+88>>2];p=x*(x<0.0?-w:w)+v*(v<0.0?-u:u)+t*(t<0.0?-p:p);n=s*(s<0.0?-r:r)+q*(q<0.0?-m:m)+o*(o<0.0?-n:n);o=+f[j+96>>2];m=+f[k+96>>2];m=(p>o?p:o)+(n>m?n:m);return !((c*g+d*h+e*i+ml)|0}function Hi(b){b=b|0;var d=0,e=0,f=0,g=0;c[b>>2]=10336;a[b+20>>0]=1;c[b+16>>2]=0;c[b+8>>2]=0;c[b+12>>2]=0;c[b+24>>2]=0;a[b+28>>0]=0;a[b+48>>0]=1;c[b+44>>2]=0;c[b+36>>2]=0;c[b+40>>2]=0;a[b+68>>0]=1;c[b+64>>2]=0;c[b+56>>2]=0;c[b+60>>2]=0;c[b+72>>2]=0;c[6879]=(c[6879]|0)+1;d=Zb(51)|0;if(!d)f=0;else{c[(d+4+15&-16)+-4>>2]=d;f=d+4+15&-16}d=c[b+8>>2]|0;if((d|0)>0){e=0;do{g=c[b+16>>2]|0;c[f+(e<<4)>>2]=c[g+(e<<4)>>2];c[f+(e<<4)+4>>2]=c[g+(e<<4)+4>>2];c[f+(e<<4)+8>>2]=c[g+(e<<4)+8>>2];c[f+(e<<4)+12>>2]=c[g+(e<<4)+12>>2];e=e+1|0}while((e|0)!=(d|0))}d=c[b+16>>2]|0;if(!d){a[b+20>>0]=1;c[b+16>>2]=f;c[b+12>>2]=2;yf(b);return}if(a[b+20>>0]|0){c[6880]=(c[6880]|0)+1;kd(c[d+-4>>2]|0)}c[b+16>>2]=0;a[b+20>>0]=1;c[b+16>>2]=f;c[b+12>>2]=2;yf(b);return}function Ii(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=c[b+488>>2]|0;a:do if((e|0)>0){g=c[b+496>>2]|0;f=0;while(1){if((c[g+(f<<2)>>2]|0)==(d|0))break;f=f+1|0;if((f|0)>=(e|0))break a}if((f|0)!=(e|0)){b=b+256|0;c[b>>2]=1;return}}while(0);if((e|0)==(c[b+492>>2]|0)?(h=(e|0)==0?1:e<<1,(e|0)<(h|0)):0){if(!h)f=0;else{c[6879]=(c[6879]|0)+1;e=Zb((h<<2|3)+16|0)|0;if(!e)f=0;else{c[(e+4+15&-16)+-4>>2]=e;f=e+4+15&-16}e=c[b+488>>2]|0}if((e|0)>0){g=0;do{c[f+(g<<2)>>2]=c[(c[b+496>>2]|0)+(g<<2)>>2];g=g+1|0}while((g|0)!=(e|0))}g=c[b+496>>2]|0;if(g){if(a[b+500>>0]|0){c[6880]=(c[6880]|0)+1;kd(c[g+-4>>2]|0);e=c[b+488>>2]|0}c[b+496>>2]=0}a[b+500>>0]=1;c[b+496>>2]=f;c[b+492>>2]=h}c[(c[b+496>>2]|0)+(e<<2)>>2]=d;c[b+488>>2]=e+1;b=b+256|0;c[b>>2]=1;return}function Ji(a,b,d){a=a|0;b=b|0;d=d|0;do if(!((b|0)==32&(d|0)==32)){if((b|0)==32){if((d|0)<20){b=a+96|0;break}if((d+-21|0)>>>0<9){b=a+104|0;break}}else{if((b|0)<20&(d|0)==32){b=a+100|0;break}if((b+-21|0)>>>0<9&(d|0)==32){b=a+108|0;break}if((b|0)==8&(d|0)==8){b=a+60|0;break}if((b|0)==8&(d|0)==1){b=a+76|0;break}if((b|0)==1&(d|0)==8){b=a+80|0;break}}if(!(d|b)){b=a+72|0;break}if((b|0)<20&(d|0)==28){b=a+88|0;break}if((b|0)==28&(d|0)<20){b=a+84|0;break}if((b|0)<20){if((d|0)<20){b=a+32|0;break}if((d+-21|0)>>>0<9){b=a+36|0;break}}else{if((d|0)<20&(b+-21|0)>>>0<9){b=a+40|0;break}if((b|0)==31)if((d|0)==31){b=a+48|0;break}else{b=a+44|0;break}}if((d|0)==31){b=a+52|0;break}else{b=a+56|0;break}}else b=a+92|0;while(0);return c[b>>2]|0}function Ki(b){b=b|0;var d=0;d=Ww(616)|0;c[d+164>>2]=1065353216;c[d+168>>2]=1065353216;c[d+172>>2]=1065353216;f[d+176>>2]=0.0;c[d+180>>2]=0;f[d+184>>2]=999999984306749440.0;c[d+188>>2]=0;c[d+188+4>>2]=0;c[d+188+8>>2]=0;c[d+188+12>>2]=0;c[d+204>>2]=1;c[d+208>>2]=-1;c[d+212>>2]=-1;c[d+216>>2]=1;f[d+220>>2]=0.0;f[d+224>>2]=.5;f[d+228>>2]=0.0;f[d+232>>2]=0.0;c[d+236>>2]=1;c[d+240>>2]=0;f[d+244>>2]=1.0;c[d+248>>2]=0;c[d+248+4>>2]=0;c[d+248+8>>2]=0;c[d+248+12>>2]=0;c[d+4>>2]=1065353216;c[d+8>>2]=0;c[d+8+4>>2]=0;c[d+8+8>>2]=0;c[d+8+12>>2]=0;c[d+24>>2]=1065353216;c[d+28>>2]=0;c[d+28+4>>2]=0;c[d+28+8>>2]=0;c[d+28+12>>2]=0;c[d+44>>2]=1065353216;c[d+48>>2]=0;c[d+48+4>>2]=0;c[d+48+8>>2]=0;c[d+48+12>>2]=0;c[d+48+16>>2]=0;c[d>>2]=5308;a[d+500>>0]=1;c[d+496>>2]=0;c[d+488>>2]=0;c[d+492>>2]=0;td(d,b);return d|0}function Li(a,b,d,e,g,h,i,j,k){a=a|0;b=b|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;var l=0,m=0,n=0;n=Ta;Ta=Ta+16|0;Aj(15856);Lb[c[(c[a>>2]|0)+32>>2]&31](a,b,d,e,g,h,i,j,k);m=c[a+184>>2]|0;l=c[j+20>>2]|0;l=(m|0)>(l|0)?m:l;if((l|0)>0){m=0;do{+db[c[(c[a>>2]|0)+40>>2]&31](a,m,b,d,e,g,h,i,j,k);m=m+1|0}while((m|0)<(l|0))}l=c[2760]|0;a=(c[l+16>>2]|0)+-1|0;c[l+16>>2]=a;if(a|0){Ta=n;return 0.0}do if(c[l+4>>2]|0){Pa(n|0,0)|0;a=c[6878]|0;f[l+8>>2]=+f[l+8>>2]+ +(((c[n+4>>2]|0)-(c[a+4>>2]|0)+(((c[n>>2]|0)-(c[a>>2]|0)|0)*1e6|0)-(c[l+12>>2]|0)|0)>>>0)/1.0e3;if(!(c[l+16>>2]|0)){l=c[2760]|0;break}else{Ta=n;return 0.0}}while(0);c[2760]=c[l+20>>2];Ta=n;return 0.0}function Mi(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var g=0,h=0.0,i=0.0,j=0.0,k=0.0,l=0,m=0,n=0.0,o=0.0,p=0.0,q=0,r=0,s=0.0,t=0;if((e|0)<=0)return;g=0;do{f[d+(g<<4)+12>>2]=-999999984306749440.0;g=g+1|0}while((g|0)!=(e|0));r=0;do{i=+f[a+12>>2];n=+f[b+(r<<4)>>2]*i;j=+f[a+16>>2];p=+f[b+(r<<4)+4>>2]*j;k=+f[a+20>>2];o=+f[b+(r<<4)+8>>2]*k;g=c[a+96>>2]|0;if((g|0)>0){l=c[a+104>>2]|0;m=0;h=-3402823466385288598117041.0e14;q=-1;do{s=n*+f[l+(m<<4)>>2]+p*+f[l+(m<<4)+4>>2]+o*+f[l+(m<<4)+8>>2];t=s>h;q=t?m:q;h=t?s:h;m=m+1|0}while((m|0)!=(g|0));p=+f[l+(q<<4)+4>>2]*j;s=+f[l+(q<<4)+8>>2]*k;f[d+(r<<4)>>2]=+f[l+(q<<4)>>2]*i;f[d+(r<<4)+4>>2]=p;f[d+(r<<4)+8>>2]=s}else h=-999999984306749440.0;f[d+(r<<4)+12>>2]=h;r=r+1|0}while((r|0)!=(e|0));return}function Ni(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;a:do if(!(zy(b,c[d+8>>2]|0,g)|0)){if(!(zy(b,c[d>>2]|0,g)|0)){b=c[b+8>>2]|0;Gb[c[(c[b>>2]|0)+24>>2]&63](b,d,e,f,g);break}if((c[d+16>>2]|0)!=(e|0)?(c[d+20>>2]|0)!=(e|0):0){c[d+32>>2]=f;do if((c[d+44>>2]|0)!=4){a[d+52>>0]=0;a[d+53>>0]=0;b=c[b+8>>2]|0;Ib[c[(c[b>>2]|0)+20>>2]&31](b,d,e,e,1,g);if(a[d+53>>0]|0){g=(a[d+52>>0]|0)==0;c[d+44>>2]=3;if(g)break;else break a}else{c[d+44>>2]=4;break}}while(0);c[d+20>>2]=e;c[d+40>>2]=(c[d+40>>2]|0)+1;if((c[d+36>>2]|0)!=1)break;if((c[d+24>>2]|0)!=2)break;a[d+54>>0]=1;break}if((f|0)==1)c[d+32>>2]=1}else wv(d,e,f);while(0);return}function Oi(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;f=c[a+232>>2]|0;a:do if((f|0)>0){g=c[a+240>>2]|0;d=0;while(1){e=g+(d<<2)|0;if((c[e>>2]|0)==(b|0))break;d=d+1|0;if((d|0)>=(f|0))break a}if((d|0)<(f|0)){c[e>>2]=c[g+(f+-1<<2)>>2];c[(c[a+240>>2]|0)+(f+-1<<2)>>2]=b;c[a+232>>2]=f+-1}}while(0);d=c[b+188>>2]|0;if(d|0){g=c[a+68>>2]|0;g=eb[c[(c[g>>2]|0)+36>>2]&255](g)|0;zb[c[(c[g>>2]|0)+40>>2]&127](g,d,c[a+24>>2]|0);g=c[a+68>>2]|0;zb[c[(c[g>>2]|0)+12>>2]&127](g,d,c[a+24>>2]|0);c[b+188>>2]=0}f=c[a+8>>2]|0;if((f|0)<=0)return;g=c[a+16>>2]|0;d=0;while(1){e=g+(d<<2)|0;if((c[e>>2]|0)==(b|0))break;d=d+1|0;if((d|0)>=(f|0)){h=15;break}}if((h|0)==15)return;if((d|0)>=(f|0))return;c[e>>2]=c[g+(f+-1<<2)>>2];c[(c[a+16>>2]|0)+(f+-1<<2)>>2]=b;c[a+8>>2]=f+-1;return}function Pi(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;g=c[d>>2]|0;d=c[b+268>>2]|0;a:do if((d|0)>0){f=c[b+276>>2]|0;e=0;while(1){if((c[f+(e<<2)>>2]|0)==(g|0))break;e=e+1|0;if((e|0)>=(d|0))break a}if((e|0)!=(d|0))return}while(0);if((d|0)==(c[b+272>>2]|0)?(h=(d|0)==0?1:d<<1,(d|0)<(h|0)):0){if(!h)e=0;else{c[6879]=(c[6879]|0)+1;d=Zb((h<<2|3)+16|0)|0;if(!d)e=0;else{c[(d+4+15&-16)+-4>>2]=d;e=d+4+15&-16}d=c[b+268>>2]|0}if((d|0)>0){f=0;do{c[e+(f<<2)>>2]=c[(c[b+276>>2]|0)+(f<<2)>>2];f=f+1|0}while((f|0)!=(d|0))}f=c[b+276>>2]|0;if(f){if(a[b+280>>0]|0){c[6880]=(c[6880]|0)+1;kd(c[f+-4>>2]|0);d=c[b+268>>2]|0}c[b+276>>2]=0}a[b+280>>0]=1;c[b+276>>2]=e;c[b+272>>2]=h}c[(c[b+276>>2]|0)+(d<<2)>>2]=g;c[b+268>>2]=d+1;return}function Qi(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;f=c[a+328>>2]|0;a:do if((f|0)>0){g=c[a+336>>2]|0;d=0;while(1){e=g+(d<<2)|0;if((c[e>>2]|0)==(b|0))break;d=d+1|0;if((d|0)>=(f|0))break a}if((d|0)<(f|0)){c[e>>2]=c[g+(f+-1<<2)>>2];c[(c[a+336>>2]|0)+(f+-1<<2)>>2]=b;c[a+328>>2]=f+-1}}while(0);d=c[b+188>>2]|0;if(d|0){g=c[a+68>>2]|0;g=eb[c[(c[g>>2]|0)+36>>2]&255](g)|0;zb[c[(c[g>>2]|0)+40>>2]&127](g,d,c[a+24>>2]|0);g=c[a+68>>2]|0;zb[c[(c[g>>2]|0)+12>>2]&127](g,d,c[a+24>>2]|0);c[b+188>>2]=0}f=c[a+8>>2]|0;if((f|0)<=0)return;g=c[a+16>>2]|0;d=0;while(1){e=g+(d<<2)|0;if((c[e>>2]|0)==(b|0))break;d=d+1|0;if((d|0)>=(f|0)){h=15;break}}if((h|0)==15)return;if((d|0)>=(f|0))return;c[e>>2]=c[g+(f+-1<<2)>>2];c[(c[a+16>>2]|0)+(f+-1<<2)>>2]=b;c[a+8>>2]=f+-1;return}function Ri(b,d){b=b|0;d=d|0;var e=0,g=0.0,h=0.0,i=0.0,j=0.0,k=0.0;e=fx()|0;c[e+4>>2]=3;c[e>>2]=5796;c[e+8>>2]=-1;c[e+12>>2]=-1;f[e+16>>2]=3402823466385288598117041.0e14;a[e+20>>0]=1;a[e+21>>0]=0;c[e+24>>2]=-1;c[e+28>>2]=b;Fl();c[e+32>>2]=26168;f[e+36>>2]=0.0;f[e+40>>2]=.30000001192092896;c[e+44>>2]=0;c[e>>2]=5744;c[e+300>>2]=c[d>>2];c[e+300+4>>2]=c[d+4>>2];c[e+300+8>>2]=c[d+8>>2];c[e+300+12>>2]=c[d+12>>2];k=+f[d>>2];j=+f[d+4>>2];i=+f[d+8>>2];h=k*+f[b+20>>2]+j*+f[b+24>>2]+i*+f[b+28>>2]+ +f[b+56>>2];g=k*+f[b+36>>2]+j*+f[b+40>>2]+i*+f[b+44>>2]+ +f[b+60>>2];f[e+316>>2]=k*+f[b+4>>2]+j*+f[b+8>>2]+i*+f[b+12>>2]+ +f[b+52>>2];f[e+320>>2]=h;f[e+324>>2]=g;f[e+328>>2]=0.0;c[e+332>>2]=0;a[e+344>>0]=0;f[e+348>>2]=.30000001192092896;f[e+352>>2]=1.0;f[e+356>>2]=0.0;return e|0}function Si(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,g=0.0,i=0,j=0.0,k=0.0,l=0.0,m=0.0,n=0.0;e=c[b+4>>2]|0;if(e|0){c[a+80>>2]=c[e>>2];c[a+84>>2]=c[e+4>>2]}e=c[b>>2]|0;c[a+76>>2]=e;i=c[b+40>>2]|0;c[a+4>>2]=i;g=(c[h>>2]=i,+f[h>>2]);f[a+60>>2]=(1.0-g)*+f[a+12>>2]+ +f[a+28>>2]*g;f[a+64>>2]=(1.0-g)*+f[a+16>>2]+ +f[a+32>>2]*g;f[a+68>>2]=(1.0-g)*+f[a+20>>2]+ +f[a+36>>2]*g;if(d){c[a+44>>2]=c[b+8>>2];c[a+44+4>>2]=c[b+8+4>>2];c[a+44+8>>2]=c[b+8+8>>2];c[a+44+12>>2]=c[b+8+12>>2];return +g}else{n=+f[b+8>>2];m=+f[b+12>>2];l=+f[b+16>>2];k=n*+f[e+20>>2]+m*+f[e+24>>2]+l*+f[e+28>>2];j=n*+f[e+36>>2]+m*+f[e+40>>2]+l*+f[e+44>>2];f[a+44>>2]=+f[e+4>>2]*n+ +f[e+8>>2]*m+ +f[e+12>>2]*l;f[a+48>>2]=k;f[a+52>>2]=j;f[a+56>>2]=0.0;return +g}return 0.0}function Ti(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,g=0.0,i=0,j=0.0,k=0.0,l=0.0,m=0.0,n=0.0;e=c[b+4>>2]|0;if(e|0){c[a+84>>2]=c[e>>2];c[a+88>>2]=c[e+4>>2]}e=c[b>>2]|0;c[a+8>>2]=e;i=c[b+24>>2]|0;c[a+4>>2]=i;g=(c[h>>2]=i,+f[h>>2]);f[a+68>>2]=(1.0-g)*+f[a+20>>2]+ +f[a+36>>2]*g;f[a+72>>2]=(1.0-g)*+f[a+24>>2]+ +f[a+40>>2]*g;f[a+76>>2]=(1.0-g)*+f[a+28>>2]+ +f[a+44>>2]*g;if(d){c[a+52>>2]=c[b+8>>2];c[a+52+4>>2]=c[b+8+4>>2];c[a+52+8>>2]=c[b+8+8>>2];c[a+52+12>>2]=c[b+8+12>>2];return +g}else{n=+f[b+8>>2];m=+f[b+12>>2];l=+f[b+16>>2];k=n*+f[e+20>>2]+m*+f[e+24>>2]+l*+f[e+28>>2];j=n*+f[e+36>>2]+m*+f[e+40>>2]+l*+f[e+44>>2];f[a+52>>2]=+f[e+4>>2]*n+ +f[e+8>>2]*m+ +f[e+12>>2]*l;f[a+56>>2]=k;f[a+60>>2]=j;f[a+64>>2]=0.0;return +g}return 0.0}function Ui(a){a=a|0;var b=0,d=0.0,e=0.0,g=0.0,h=0.0,i=0.0;b=Sx()|0;c[b+8>>2]=0;c[b+12>>2]=1065353216;c[b+16>>2]=1065353216;c[b+20>>2]=1065353216;f[b+24>>2]=0.0;f[b+44>>2]=.03999999910593033;c[b+52>>2]=0;c[b>>2]=9456;c[b+4>>2]=0;g=+f[a>>2];e=+f[a+4>>2];d=+f[a+8>>2];d=+f[a+((g>2]*.10000000149011612;if(d<.03999999910593033){i=+CW(b);h=+CW(b);g=+CW(b);i=i+ +f[b+28>>2];h=h+ +f[b+32>>2];g=g+ +f[b+36>>2];f[b+44>>2]=d;d=+CW(b);e=+CW(b);g=g-+CW(b);f[b+28>>2]=i-d;f[b+32>>2]=h-e;f[b+36>>2]=g;f[b+40>>2]=0.0}g=+CW(b);h=+CW(b);i=+CW(b);h=+f[a+4>>2]-h;i=+f[a+8>>2]-i;f[b+28>>2]=+f[a>>2]-g;f[b+32>>2]=h;f[b+36>>2]=i;f[b+40>>2]=0.0;return b|0}function Vi(b){b=b|0;var d=0,e=0;d=c[b+92>>2]|0;if(d|0){if(a[b+96>>0]|0){c[6880]=(c[6880]|0)+1;kd(c[d+-4>>2]|0)}c[b+92>>2]=0}a[b+96>>0]=1;c[b+92>>2]=0;c[b+84>>2]=0;c[b+88>>2]=0;d=c[b+64>>2]|0;if(d|0)do{c[b+64>>2]=c[d+8>>2];e=c[d>>2]|0;if(e|0){c[6880]=(c[6880]|0)+1;kd(c[e+-4>>2]|0)}c[6880]=(c[6880]|0)+1;kd(c[d+-4>>2]|0);d=c[b+64>>2]|0}while((d|0)!=0);d=c[b+48>>2]|0;if(d|0)do{c[b+48>>2]=c[d+8>>2];e=c[d>>2]|0;if(e|0){c[6880]=(c[6880]|0)+1;kd(c[e+-4>>2]|0)}c[6880]=(c[6880]|0)+1;kd(c[d+-4>>2]|0);d=c[b+48>>2]|0}while((d|0)!=0);d=c[b+32>>2]|0;if(!d)return;do{c[b+32>>2]=c[d+8>>2];e=c[d>>2]|0;if(e|0){c[6880]=(c[6880]|0)+1;kd(c[e+-4>>2]|0)}c[6880]=(c[6880]|0)+1;kd(c[d+-4>>2]|0);d=c[b+32>>2]|0}while((d|0)!=0);return}function Wi(a,b){a=a|0;b=b|0;var d=0.0,e=0.0,g=0.0,h=0.0,i=0.0;c[a+4>>2]=35;c[a+8>>2]=0;c[a+12>>2]=1065353216;c[a+16>>2]=1065353216;c[a+20>>2]=1065353216;f[a+24>>2]=0.0;f[a+44>>2]=.03999999910593033;c[a>>2]=9752;c[a+52>>2]=1;g=+f[b>>2];e=+f[b+4>>2];d=+f[b+8>>2];d=+f[b+((g>2]*.10000000149011612;if(d<.03999999910593033){i=+CW(a);h=+CW(a);g=+CW(a);i=i+ +f[a+28>>2];h=h+ +f[a+32>>2];g=g+ +f[a+36>>2];f[a+44>>2]=d;d=+CW(a);e=+CW(a);g=g-+CW(a);f[a+28>>2]=i-d;f[a+32>>2]=h-e;f[a+36>>2]=g;f[a+40>>2]=0.0}g=+CW(a);h=+CW(a);i=+CW(a);h=+f[b+4>>2]-h;i=+f[b+8>>2]-i;f[a+28>>2]=+f[b>>2]-g;f[a+32>>2]=h;f[a+36>>2]=i;f[a+40>>2]=0.0;c[a+4>>2]=13;return}function Xi(a,b,d){a=a|0;b=+b;d=+d;var e=0.0,g=0.0,h=0.0;e=+f[a+692>>2];do if(e>0.0){g=+f[a+688>>2];if(!((b-g)%6.2831854820251465<-3.1415927410125732))if((b-g)%6.2831854820251465>3.1415927410125732)h=(b-g)%6.2831854820251465+-6.2831854820251465;else h=(b-g)%6.2831854820251465;else h=(b-g)%6.2831854820251465+6.2831854820251465;if(!(!(h<-e)&h<=e))if(h>0.0){if((e+g)%6.2831854820251465<-3.1415927410125732){b=(e+g)%6.2831854820251465+6.2831854820251465;break}if(!((e+g)%6.2831854820251465>3.1415927410125732)){b=(e+g)%6.2831854820251465;break}b=(e+g)%6.2831854820251465+-6.2831854820251465;break}else{if((g-e)%6.2831854820251465<-3.1415927410125732){b=(g-e)%6.2831854820251465+6.2831854820251465;break}if(!((g-e)%6.2831854820251465>3.1415927410125732)){b=(g-e)%6.2831854820251465;break}b=(g-e)%6.2831854820251465+-6.2831854820251465;break}}while(0);f[a+680>>2]=(b-+kj(a,(c[a+28>>2]|0)+4|0,(c[a+32>>2]|0)+4|0))/d;return}function Yi(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0;i=c[d>>2]|0;i=gb[c[(c[i>>2]|0)+56>>2]&63](i,28)|0;j=(a[b+4>>0]|0)==0;h=c[b+8>>2]|0;g=c[b+12>>2]|0;b=c[d>>2]|0;c[i+4>>2]=b;c[i>>2]=6796;a[i+8>>0]=0;c[i+12>>2]=0;if(j){a[i+16>>0]=0;c[i+20>>2]=h;c[i+24>>2]=g;if(!(ib[c[(c[b>>2]|0)+24>>2]&63](b,c[e+8>>2]|0,c[f+8>>2]|0)|0))return i|0;j=c[i+4>>2]|0;c[i+12>>2]=ib[c[(c[j>>2]|0)+12>>2]&63](j,c[e+8>>2]|0,c[f+8>>2]|0)|0;a[i+8>>0]=1;return i|0}else{a[i+16>>0]=1;c[i+20>>2]=h;c[i+24>>2]=g;if(!(ib[c[(c[b>>2]|0)+24>>2]&63](b,c[f+8>>2]|0,c[e+8>>2]|0)|0))return i|0;j=c[i+4>>2]|0;c[i+12>>2]=ib[c[(c[j>>2]|0)+12>>2]&63](j,c[f+8>>2]|0,c[e+8>>2]|0)|0;a[i+8>>0]=1;return i|0}return 0}function Zi(a,b,d){a=a|0;b=+b;d=d|0;var e=0,g=0.0,h=0.0,i=0.0,j=0.0,k=0;e=Ta;Ta=Ta+96|0;c[e+32>>2]=1065353216;c[e+32+4>>2]=0;c[e+32+4+4>>2]=0;c[e+32+4+8>>2]=0;c[e+32+4+12>>2]=0;c[e+32+20>>2]=1065353216;c[e+32+24>>2]=0;c[e+32+24+4>>2]=0;c[e+32+24+8>>2]=0;c[e+32+24+12>>2]=0;c[e+32+40>>2]=1065353216;k=e+32+44|0;c[k>>2]=0;c[k+4>>2]=0;c[k+8>>2]=0;c[k+12>>2]=0;c[k+16>>2]=0;Cb[c[(c[a>>2]|0)+8>>2]&127](a,e+32|0,e+16|0,e);i=(+f[e>>2]-+f[e+16>>2])*.5;h=(+f[e+4>>2]-+f[e+16+4>>2])*.5;j=(+f[e+8>>2]-+f[e+16+8>>2])*.5;g=+Wa[c[(c[a>>2]|0)+48>>2]&31](a);f[d>>2]=b*.0833333283662796*((h+g)*2.0*((h+g)*2.0)+(j+g)*2.0*((j+g)*2.0));f[d+4>>2]=b*.0833333283662796*((i+g)*2.0*((i+g)*2.0)+(j+g)*2.0*((j+g)*2.0));f[d+8>>2]=b*.0833333283662796*((i+g)*2.0*((i+g)*2.0)+(h+g)*2.0*((h+g)*2.0));f[d+12>>2]=0.0;Ta=e;return}function _i(){var b=0;b=Ww(284)|0;c[b+164>>2]=1065353216;c[b+168>>2]=1065353216;c[b+172>>2]=1065353216;f[b+176>>2]=0.0;c[b+180>>2]=0;f[b+184>>2]=999999984306749440.0;c[b+188>>2]=0;c[b+188+4>>2]=0;c[b+188+8>>2]=0;c[b+188+12>>2]=0;c[b+204>>2]=1;c[b+208>>2]=-1;c[b+212>>2]=-1;c[b+216>>2]=1;f[b+220>>2]=0.0;f[b+224>>2]=.5;f[b+228>>2]=0.0;f[b+232>>2]=0.0;c[b+240>>2]=0;f[b+244>>2]=1.0;c[b+248>>2]=0;c[b+248+4>>2]=0;c[b+248+8>>2]=0;c[b+248+12>>2]=0;c[b+4>>2]=1065353216;c[b+8>>2]=0;c[b+8+4>>2]=0;c[b+8+8>>2]=0;c[b+8+12>>2]=0;c[b+24>>2]=1065353216;c[b+28>>2]=0;c[b+28+4>>2]=0;c[b+28+8>>2]=0;c[b+28+12>>2]=0;c[b+44>>2]=1065353216;c[b+48>>2]=0;c[b+48+4>>2]=0;c[b+48+8>>2]=0;c[b+48+12>>2]=0;c[b+48+16>>2]=0;c[b>>2]=6360;a[b+280>>0]=1;c[b+276>>2]=0;c[b+268>>2]=0;c[b+272>>2]=0;c[b+236>>2]=4;return b|0}function $i(b,d){b=b|0;d=d|0;var e=0,g=0,h=0,i=0.0,j=0.0,k=0,l=0;g=Ta;Ta=Ta+48|0;if((c[b+156>>2]|0)<=0){Ta=g;return}e=0;do{l=c[b+164>>2]|0;c[g+32>>2]=(a[l+(e*284|0)+84>>0]|0)==0?1065353216:0;c[g+32+4>>2]=0;c[g+32+8>>2]=1065353216;f[g+32+12>>2]=0.0;k=l+(e*284|0)+140|0;c[g+16>>2]=c[k>>2];c[g+16+4>>2]=c[k+4>>2];c[g+16+8>>2]=c[k+8>>2];c[g+16+12>>2]=c[k+12>>2];k=c[b+120>>2]|0;h=c[(c[d>>2]|0)+8>>2]|0;j=+f[l+(e*284|0)+108+(k<<2)>>2]+ +f[g+16+4>>2];i=+f[l+(e*284|0)+124+(k<<2)>>2]+ +f[g+16+8>>2];f[g>>2]=+f[l+(e*284|0)+92+(k<<2)>>2]+ +f[g+16>>2];f[g+4>>2]=j;f[g+8>>2]=i;f[g+12>>2]=0.0;Cb[h&127](d,g+16|0,g,g+32|0);Cb[c[(c[d>>2]|0)+8>>2]&127](d,g+16|0,(c[b+164>>2]|0)+(e*284|0)+16|0,g+32|0);e=e+1|0}while((e|0)<(c[b+156>>2]|0));Ta=g;return}function aj(a,b,d,e){a=a|0;b=b|0;d=+d;e=e|0;switch(b|0){case 2:{if((e|0)<1){f[a+232>>2]=d;c[a+300>>2]=c[a+300>>2]|512;return}if((e|0)<3){f[a+264>>2]=d;c[a+300>>2]=c[a+300>>2]|32;return}if((e|0)==3){f[a+248>>2]=d;c[a+300>>2]=c[a+300>>2]|2048;return}if((e|0)>=6)return;f[a+280>>2]=d;c[a+300>>2]=c[a+300>>2]|128;return}case 3:{if((e|0)<1){f[a+212>>2]=d;c[a+300>>2]=c[a+300>>2]|1;return}if((e|0)!=3)return;f[a+228>>2]=d;c[a+300>>2]=c[a+300>>2]|4;return}case 4:{if((e|0)<1){f[a+244>>2]=d;c[a+300>>2]=c[a+300>>2]|256;return}if((e|0)<3){f[a+276>>2]=d;c[a+300>>2]=c[a+300>>2]|16;return}if((e|0)==3){f[a+260>>2]=d;c[a+300>>2]=c[a+300>>2]|1024;return}if((e|0)>=6)return;f[a+292>>2]=d;c[a+300>>2]=c[a+300>>2]|64;return}default:return}}function bj(b,d,e,g,h){b=b|0;d=d|0;e=e|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0.0,n=0.0,o=0.0;l=c[b+720>>2]|0;a:do if(h?(k=c[b+732>>2]|0,(k|0)>0):0){h=c[b+740>>2]|0;j=0;while(1){i=c[h+(j*52|0)+8>>2]|0;if((i|0)==(l+(d*104|0)|0)?(c[h+(j*52|0)+12>>2]|0)==(l+(e*104|0)|0):0){h=10;break}if((i|0)==(l+(e*104|0)|0)?(c[h+(j*52|0)+12>>2]|0)==(l+(d*104|0)|0):0){h=10;break}j=j+1|0;if((j|0)>=(k|0))break a}if((h|0)==10)return}while(0);fi(b,g);g=(c[b+732>>2]|0)+-1|0;k=c[b+740>>2]|0;c[k+(g*52|0)+8>>2]=l+(d*104|0);c[k+(g*52|0)+12>>2]=l+(e*104|0);o=+f[l+(d*104|0)+8>>2]-+f[l+(e*104|0)+8>>2];n=+f[l+(d*104|0)+12>>2]-+f[l+(e*104|0)+12>>2];m=+f[l+(d*104|0)+16>>2]-+f[l+(e*104|0)+16>>2];f[k+(g*52|0)+16>>2]=+s(+(o*o+n*n+m*m));a[b+924>>0]=1;return}function cj(){var b=0;b=lx()|0;c[b>>2]=1025;c[b+116>>2]=0;a[b+120>>0]=0;c[b+124>>2]=0;c[b+124+4>>2]=0;c[b+124+8>>2]=0;c[b+124+12>>2]=0;c[b+124+16>>2]=0;c[b+124+20>>2]=0;c[b+124+24>>2]=0;c[b+124+28>>2]=0;c[b+300>>2]=0;a[b+304>>0]=0;c[b+308>>2]=0;c[b+308+4>>2]=0;c[b+308+8>>2]=0;c[b+308+12>>2]=0;c[b+308+16>>2]=0;c[b+308+20>>2]=0;c[b+308+24>>2]=0;c[b+308+28>>2]=0;c[b+484>>2]=0;a[b+488>>0]=0;c[b+492>>2]=0;c[b+492+4>>2]=0;c[b+492+8>>2]=0;c[b+492+12>>2]=0;c[b+492+16>>2]=0;c[b+492+20>>2]=0;c[b+492+24>>2]=0;c[b+492+28>>2]=0;c[b+668>>2]=0;a[b+672>>0]=0;c[b+676>>2]=0;c[b+676+4>>2]=0;c[b+676+8>>2]=0;c[b+676+12>>2]=0;c[b+676+16>>2]=0;c[b+676+20>>2]=0;c[b+676+24>>2]=0;c[b+676+28>>2]=0;c[b+740>>2]=0;c[b+744>>2]=0;c[b+748>>2]=0;c[b+768>>2]=0;return b|0}function dj(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;c[a>>2]=5052;if((c[a+104>>2]|0)<=0){a=a+60|0;qj(a);rj(a);return}k=0;do{i=c[(c[a+4>>2]|0)+684>>2]|0;j=(c[a+112>>2]|0)+(k<<3)+4|0;b=c[j>>2]|0;d=c[i+60>>2]|0;if((d|0)>0){h=0;do{g=(c[i+68>>2]|0)+(h<<2)|0;e=c[g>>2]|0;if(e){f=0;while(1){d=e;e=c[e+280>>2]|0;if((c[d+276>>2]|0)==(b|0)){c[((f|0)==0?g:f+280|0)>>2]=e;B$(d);d=f}if(!e)break;else f=d}d=c[i+60>>2]|0}h=h+1|0}while((h|0)<(d|0));b=c[j>>2]|0}if(b|0)pb[c[(c[b>>2]|0)+4>>2]&511](b);k=k+1|0}while((k|0)<(c[a+104>>2]|0));a=a+60|0;qj(a);rj(a);return}function ej(b,d,e){b=b|0;d=d|0;e=e|0;var g=0.0,h=0.0,i=0.0,j=0.0,k=0.0,l=0.0,m=0.0,n=0.0,o=0.0,p=0.0;if(!(a[b+84>>0]|0)){c[b+32>>2]=c[b+204>>2];f[b+272>>2]=0.0;o=-+f[b+56>>2];p=-+f[b+60>>2];f[b>>2]=-+f[b+52>>2];f[b+4>>2]=o;f[b+8>>2]=p;f[b+12>>2]=0.0;p=1.0;b=b+268|0;f[b>>2]=p;return}g=+f[b>>2];k=+f[b+4>>2];l=+f[b+8>>2];m=g*+f[b+52>>2]+k*+f[b+56>>2]+l*+f[b+60>>2];n=+f[b+16>>2]-+f[d+52>>2];p=+f[b+20>>2]-+f[d+56>>2];o=+f[b+24>>2]-+f[d+60>>2];h=+f[d+332>>2];i=+f[d+336>>2];j=+f[d+328>>2];if(!(m>=-.10000000149011612)){f[b+272>>2]=-1.0/m*(g*(h*o-p*i+ +f[d+312>>2])+k*(n*i-o*j+ +f[d+316>>2])+l*(p*j-n*h+ +f[d+320>>2]));p=-1.0/m;b=b+268|0;f[b>>2]=p;return}else{f[b+272>>2]=0.0;p=10.0;b=b+268|0;f[b>>2]=p;return}}function fj(b,d){b=b|0;d=d|0;var e=0,f=0;if(a[b+1308>>0]|0){c[d>>2]=0;c[d+4>>2]=0;return}Xc(b,(c[b+28>>2]|0)+4|0,(c[b+32>>2]|0)+4|0);c[d>>2]=0;c[d+4>>2]=6;if((c[b+856>>2]|0)==0?(a[b+788>>0]|0)==0:0){e=0;f=6}else{c[d>>2]=1;c[d+4>>2]=5;e=1;f=5}if(!((c[b+860>>2]|0)==0?(a[b+789>>0]|0)==0:0)){e=e+1|0;c[d>>2]=e;f=f+-1|0;c[d+4>>2]=f}if(!((c[b+864>>2]|0)==0?!(a[b+790>>0]|0):0)){c[d>>2]=e+1;c[d+4>>2]=f+-1}if(Yf(b,0)|0){c[d>>2]=(c[d>>2]|0)+1;c[d+4>>2]=(c[d+4>>2]|0)+-1}if(Yf(b,1)|0){c[d>>2]=(c[d>>2]|0)+1;c[d+4>>2]=(c[d+4>>2]|0)+-1}if(!(Yf(b,2)|0))return;c[d>>2]=(c[d>>2]|0)+1;c[d+4>>2]=(c[d+4>>2]|0)+-1;return}function gj(a,b,d,e,g,h,i,j,k,l){a=a|0;b=b|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;var m=0;m=Ta;Ta=Ta+16|0;Aj(15919);+cb[c[(c[a>>2]|0)+44>>2]&31](a,b,d,e,g,h,i,j,k);+cb[c[(c[a>>2]|0)+48>>2]&31](a,b,d,e,g,h,i,j,k);+$a[c[(c[a>>2]|0)+36>>2]&31](a,b,d,j);l=c[2760]|0;a=(c[l+16>>2]|0)+-1|0;c[l+16>>2]=a;if(a|0){Ta=m;return 0.0}do if(c[l+4>>2]|0){Pa(m|0,0)|0;a=c[6878]|0;f[l+8>>2]=+f[l+8>>2]+ +(((c[m+4>>2]|0)-(c[a+4>>2]|0)+(((c[m>>2]|0)-(c[a>>2]|0)|0)*1e6|0)-(c[l+12>>2]|0)|0)>>>0)/1.0e3;if(!(c[l+16>>2]|0)){l=c[2760]|0;break}else{Ta=m;return 0.0}}while(0);c[2760]=c[l+20>>2];Ta=m;return 0.0}function hj(a,b,c,d){a=a|0;b=b|0;c=c|0;d=+d;var e=0,g=0.0,h=0.0,i=0.0,j=0.0,k=0.0,l=0.0,m=0.0;e=Ta;Ta=Ta+96|0;j=+f[c>>2];k=+f[c+4>>2];l=+f[c+8>>2];Xq(e+80|0,j,k,l,+hI(j,k,l,+f[b>>2],+f[b+4>>2],+f[b+8>>2]));l=+f[e+80>>2];k=+f[e+80+4>>2];j=+f[e+80+8>>2];uq(e+64|0,+f[b>>2],+f[b+4>>2],+f[b+8>>2],l,k,j);Gp(e+48|0,+f[c>>2],+f[c+4>>2],+f[c+8>>2],+f[b>>2],+f[b+4>>2],+f[b+8>>2]);i=+f[e+48>>2];h=+f[e+48+4>>2];g=+f[e+48+8>>2];m=+t$(d);Xq(e+16|0,+f[e+64>>2],+f[e+64+4>>2],+f[e+64+8>>2],m);sq(e+32|0,l,k,j,+f[e+16>>2],+f[e+16+4>>2],+f[e+16+8>>2]);Xq(e,i,h,g,+s$(d));sq(a,+f[e+32>>2],+f[e+32+4>>2],+f[e+32+8>>2],+f[e>>2],+f[e+4>>2],+f[e+8>>2]);Ta=e;return}function ij(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;f=c[b+212>>2]|0;if((f|0)==(c[b+216>>2]|0)?(i=(f|0)==0?1:f<<1,(f|0)<(i|0)):0){if(!i)g=0;else{c[6879]=(c[6879]|0)+1;f=Zb((i<<2|3)+16|0)|0;if(!f)g=0;else{c[(f+4+15&-16)+-4>>2]=f;g=f+4+15&-16}f=c[b+212>>2]|0}if((f|0)>0){h=0;do{c[g+(h<<2)>>2]=c[(c[b+220>>2]|0)+(h<<2)>>2];h=h+1|0}while((h|0)!=(f|0))}h=c[b+220>>2]|0;if(h){if(a[b+224>>0]|0){c[6880]=(c[6880]|0)+1;kd(c[h+-4>>2]|0);f=c[b+212>>2]|0}c[b+220>>2]=0}a[b+224>>0]=1;c[b+220>>2]=g;c[b+216>>2]=i}c[(c[b+220>>2]|0)+(f<<2)>>2]=d;c[b+212>>2]=f+1;if(!e)return;Ii(c[d+28>>2]|0,d);Ii(c[d+32>>2]|0,d);return}function jj(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,g=0.0,h=0.0,i=0.0,j=0.0,k=0.0,l=0.0,m=0.0,n=0.0,o=0.0;e=c[a+4>>2]|0;if(e|0)ql(e,b,d);e=c[a>>2]|0;if(!e)return;m=+f[b>>2];k=+f[e+128>>2];l=+f[b+4>>2];j=+f[b+8>>2];g=+f[d+4>>2];o=+f[d+8>>2];n=+f[d>>2];i=+f[e+180>>2]*(j*g-l*o)+ +f[e+184>>2]*(m*o-j*n)+(l*n-m*g)*+f[e+188>>2];h=(j*g-l*o)*+f[e+196>>2]+(m*o-j*n)*+f[e+200>>2]+(l*n-m*g)*+f[e+204>>2];g=(j*g-l*o)*+f[e+212>>2]+(m*o-j*n)*+f[e+216>>2]+(l*n-m*g)*+f[e+220>>2];f[e+276>>2]=m*k+ +f[e+276>>2];f[e+280>>2]=k*l+ +f[e+280>>2];f[e+284>>2]=k*j+ +f[e+284>>2];f[e+292>>2]=i+ +f[e+292>>2];f[e+296>>2]=h+ +f[e+296>>2];f[e+300>>2]=g+ +f[e+300>>2];c[e+312>>2]=(c[e+312>>2]|0)+1;return}function kj(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0.0,g=0.0,h=0.0,i=0.0,j=0.0,k=0.0,l=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0;v=+f[a+552>>2];u=+f[a+568>>2];t=+f[a+584>>2];s=+f[b>>2];r=+f[b+4>>2];q=+f[b+8>>2];o=+f[b+16>>2];n=+f[b+20>>2];m=+f[b+24>>2];k=+f[b+32>>2];i=+f[b+36>>2];g=+f[b+40>>2];j=+f[a+556>>2];h=+f[a+572>>2];e=+f[a+588>>2];x=+f[a+620>>2];w=+f[a+636>>2];d=+f[a+652>>2];p=x*+f[c>>2]+w*+f[c+4>>2]+d*+f[c+8>>2];l=x*+f[c+16>>2]+w*+f[c+20>>2]+d*+f[c+24>>2];d=x*+f[c+32>>2]+w*+f[c+36>>2]+d*+f[c+40>>2];d=+y(+((v*s+u*r+t*q)*p+(v*o+u*n+t*m)*l+(v*k+u*i+t*g)*d),+((s*j+r*h+q*e)*p+(o*j+n*h+m*e)*l+(k*j+i*h+g*e)*d));return +(d*+f[a+732>>2])}function lj(b){b=b|0;var d=0,e=0,g=0,h=0,i=0;i=Ta;Ta=Ta+16|0;Aj(18130);d=c[b+8>>2]|0;if((d|0)>0){g=0;do{e=c[(c[b+16>>2]|0)+(g<<2)>>2]|0;if(!(a[b+76>>0]|0))switch(c[e+216>>2]|0){case 2:case 5:break;default:h=11}else h=11;if((h|0)==11){h=0;of(b,e);d=c[b+8>>2]|0}g=g+1|0}while((g|0)<(d|0))}d=c[2760]|0;h=(c[d+16>>2]|0)+-1|0;c[d+16>>2]=h;if(h|0){Ta=i;return}do if(c[d+4>>2]|0){Pa(i|0,0)|0;h=c[6878]|0;f[d+8>>2]=+f[d+8>>2]+ +(((c[i+4>>2]|0)-(c[h+4>>2]|0)+(((c[i>>2]|0)-(c[h>>2]|0)|0)*1e6|0)-(c[d+12>>2]|0)|0)>>>0)/1.0e3;if(!(c[d+16>>2]|0)){d=c[2760]|0;break}else{Ta=i;return}}while(0);c[2760]=c[d+20>>2];Ta=i;return}function mj(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=c[a+8>>2]|0;if((d|0)>0){f=0;do{e=c[(c[a+16>>2]|0)+(f<<2)>>2]|0;if(c[e+236>>2]&2){g=eb[c[(c[e>>2]|0)+16>>2]&255](e)|0;g=ib[c[(c[b>>2]|0)+16>>2]&63](b,g,1)|0;d=ib[c[(c[e>>2]|0)+20>>2]&63](e,c[g+8>>2]|0,b)|0;Gb[c[(c[b>>2]|0)+20>>2]&63](b,g,d,1497645650,e);d=c[a+8>>2]|0}f=f+1|0}while((f|0)<(d|0))}if((c[a+212>>2]|0)<=0)return;d=0;do{g=c[(c[a+220>>2]|0)+(d<<2)>>2]|0;e=eb[c[(c[g>>2]|0)+36>>2]&255](g)|0;e=ib[c[(c[b>>2]|0)+16>>2]&63](b,e,1)|0;f=ib[c[(c[g>>2]|0)+40>>2]&63](g,c[e+8>>2]|0,b)|0;Gb[c[(c[b>>2]|0)+20>>2]&63](b,e,f,1397641027,g);d=d+1|0}while((d|0)<(c[a+212>>2]|0));return}function nj(a){a=a|0;var b=0.0,d=0,e=0,g=0,h=0;e=Ta;Ta=Ta+32|0;c[a+32>>2]=1566444395;c[a+36>>2]=1566444395;c[a+40>>2]=1566444395;f[a+44>>2]=0.0;c[a+48>>2]=-581039253;c[a+52>>2]=-581039253;c[a+56>>2]=-581039253;f[a+60>>2]=0.0;if((c[a+16>>2]|0)<=0){Ta=e;return}d=0;do{g=c[a+24>>2]|0;h=c[g+(d*80|0)+64>>2]|0;Cb[c[(c[h>>2]|0)+8>>2]&127](h,g+(d*80|0)|0,e+16|0,e);b=+f[e+16>>2];if(+f[a+32>>2]>b)f[a+32>>2]=b;b=+f[e>>2];if(+f[a+48>>2]>2]=b;b=+f[e+16+4>>2];if(+f[a+36>>2]>b)f[a+36>>2]=b;b=+f[e+4>>2];if(+f[a+52>>2]>2]=b;b=+f[e+16+8>>2];if(+f[a+40>>2]>b)f[a+40>>2]=b;b=+f[e+8>>2];if(+f[a+56>>2]>2]=b;d=d+1|0}while((d|0)<(c[a+16>>2]|0));Ta=e;return}function oj(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=c[b+12>>2]|0;if(!e)return;if(!(a[b+8>>0]|0))return;f=c[d+4>>2]|0;if((f|0)==(c[d+8>>2]|0)?(h=(f|0)==0?1:f<<1,(f|0)<(h|0)):0){if(!h){e=f;f=0}else{c[6879]=(c[6879]|0)+1;e=Zb((h<<2|3)+16|0)|0;if(!e)f=0;else{c[(e+4+15&-16)+-4>>2]=e;f=e+4+15&-16}e=c[d+4>>2]|0}if((e|0)>0){g=0;do{c[f+(g<<2)>>2]=c[(c[d+12>>2]|0)+(g<<2)>>2];g=g+1|0}while((g|0)!=(e|0))}g=c[d+12>>2]|0;if(g){if(a[d+16>>0]|0){c[6880]=(c[6880]|0)+1;kd(c[g+-4>>2]|0);e=c[d+4>>2]|0}c[d+12>>2]=0}a[d+16>>0]=1;c[d+12>>2]=f;c[d+8>>2]=h;f=e;e=c[b+12>>2]|0}c[(c[d+12>>2]|0)+(f<<2)>>2]=e;c[d+4>>2]=f+1;return}function pj(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=c[b+20>>2]|0;if(!e)return;if(!(a[b+16>>0]|0))return;f=c[d+4>>2]|0;if((f|0)==(c[d+8>>2]|0)?(h=(f|0)==0?1:f<<1,(f|0)<(h|0)):0){if(!h){e=f;f=0}else{c[6879]=(c[6879]|0)+1;e=Zb((h<<2|3)+16|0)|0;if(!e)f=0;else{c[(e+4+15&-16)+-4>>2]=e;f=e+4+15&-16}e=c[d+4>>2]|0}if((e|0)>0){g=0;do{c[f+(g<<2)>>2]=c[(c[d+12>>2]|0)+(g<<2)>>2];g=g+1|0}while((g|0)!=(e|0))}g=c[d+12>>2]|0;if(g){if(a[d+16>>0]|0){c[6880]=(c[6880]|0)+1;kd(c[g+-4>>2]|0);e=c[d+4>>2]|0}c[d+12>>2]=0}a[d+16>>0]=1;c[d+12>>2]=f;c[d+8>>2]=h;f=e;e=c[b+20>>2]|0}c[(c[d+12>>2]|0)+(f<<2)>>2]=e;c[d+4>>2]=f+1;return}function qj(b){b=b|0;var d=0;d=c[b+12>>2]|0;if(d|0){if(a[b+16>>0]|0){c[6880]=(c[6880]|0)+1;kd(c[d+-4>>2]|0)}c[b+12>>2]=0}a[b+16>>0]=1;c[b+12>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;d=c[b+32>>2]|0;if(d|0){if(a[b+36>>0]|0){c[6880]=(c[6880]|0)+1;kd(c[d+-4>>2]|0)}c[b+32>>2]=0}a[b+36>>0]=1;c[b+32>>2]=0;c[b+24>>2]=0;c[b+28>>2]=0;d=c[b+52>>2]|0;if(d|0){if(a[b+56>>0]|0){c[6880]=(c[6880]|0)+1;kd(c[d+-4>>2]|0)}c[b+52>>2]=0}a[b+56>>0]=1;c[b+52>>2]=0;c[b+44>>2]=0;c[b+48>>2]=0;d=c[b+72>>2]|0;if(!d){a[b+76>>0]=1;c[b+72>>2]=0;c[b+64>>2]=0;b=b+68|0;c[b>>2]=0;return}if(a[b+76>>0]|0){c[6880]=(c[6880]|0)+1;kd(c[d+-4>>2]|0)}c[b+72>>2]=0;a[b+76>>0]=1;c[b+72>>2]=0;c[b+64>>2]=0;b=b+68|0;c[b>>2]=0;return}function rj(b){b=b|0;var d=0;d=c[b+72>>2]|0;if(d|0){if(a[b+76>>0]|0){c[6880]=(c[6880]|0)+1;kd(c[d+-4>>2]|0)}c[b+72>>2]=0}a[b+76>>0]=1;c[b+72>>2]=0;c[b+64>>2]=0;c[b+68>>2]=0;d=c[b+52>>2]|0;if(d|0){if(a[b+56>>0]|0){c[6880]=(c[6880]|0)+1;kd(c[d+-4>>2]|0)}c[b+52>>2]=0}a[b+56>>0]=1;c[b+52>>2]=0;c[b+44>>2]=0;c[b+48>>2]=0;d=c[b+32>>2]|0;if(d|0){if(a[b+36>>0]|0){c[6880]=(c[6880]|0)+1;kd(c[d+-4>>2]|0)}c[b+32>>2]=0}a[b+36>>0]=1;c[b+32>>2]=0;c[b+24>>2]=0;c[b+28>>2]=0;d=c[b+12>>2]|0;if(!d){a[b+16>>0]=1;c[b+12>>2]=0;c[b+4>>2]=0;b=b+8|0;c[b>>2]=0;return}if(a[b+16>>0]|0){c[6880]=(c[6880]|0)+1;kd(c[d+-4>>2]|0)}c[b+12>>2]=0;a[b+16>>0]=1;c[b+12>>2]=0;c[b+4>>2]=0;b=b+8|0;c[b>>2]=0;return}function sj(a,b,d){a=a|0;b=+b;d=d|0;var e=0,g=0.0,h=0.0,i=0.0,j=0;e=Ta;Ta=Ta+96|0;i=+Wa[c[(c[a>>2]|0)+48>>2]&31](a);c[e+32>>2]=1065353216;c[e+32+4>>2]=0;c[e+32+4+4>>2]=0;c[e+32+4+8>>2]=0;c[e+32+4+12>>2]=0;c[e+32+20>>2]=1065353216;c[e+32+24>>2]=0;c[e+32+24+4>>2]=0;c[e+32+24+8>>2]=0;c[e+32+24+12>>2]=0;c[e+32+40>>2]=1065353216;j=e+32+44|0;c[j>>2]=0;c[j+4>>2]=0;c[j+8>>2]=0;c[j+12>>2]=0;c[j+16>>2]=0;Cb[c[(c[a>>2]|0)+8>>2]&127](a,e+32|0,e+16|0,e);h=(i+(+f[e>>2]-+f[e+16>>2])*.5)*2.0;g=(i+(+f[e+4>>2]-+f[e+16+4>>2])*.5)*2.0;i=(i+(+f[e+8>>2]-+f[e+16+8>>2])*.5)*2.0;f[d>>2]=b*.0833333283662796*(g*g+i*i);f[d+4>>2]=b*.0833333283662796*(h*h+i*i);f[d+8>>2]=b*.0833333283662796*(h*h+g*g);f[d+12>>2]=0.0;Ta=e;return}function tj(d,e){d=d|0;e=e|0;var f=0,g=0,h=0,i=0;i=Ta;Ta=Ta+64|0;g=c[d>>2]|0;h=d+(c[g+-8>>2]|0)|0;g=c[g+-4>>2]|0;c[i>>2]=e;c[i+4>>2]=d;c[i+8>>2]=3584;d=i+12|0;f=d+40|0;do{c[d>>2]=0;d=d+4|0}while((d|0)<(f|0));b[i+12+40>>1]=0;a[i+12+42>>0]=0;a:do if(zy(g,e,0)|0){c[i+48>>2]=1;Ib[c[(c[g>>2]|0)+20>>2]&31](g,i,h,h,1,0);d=(c[i+24>>2]|0)==1?h:0}else{Gb[c[(c[g>>2]|0)+24>>2]&63](g,i,h,1,0);switch(c[i+36>>2]|0){case 0:{d=((c[i+40>>2]|0)==1?(c[i+28>>2]|0)==1:0)&(c[i+32>>2]|0)==1?c[i+20>>2]|0:0;break a}case 1:break;default:{d=0;break a}}if((c[i+24>>2]|0)!=1?!(((c[i+40>>2]|0)==0?(c[i+28>>2]|0)==1:0)&(c[i+32>>2]|0)==1):0){d=0;break}d=c[i+16>>2]|0}while(0);Ta=i;return d|0}function uj(a,b){a=a|0;b=+b;var d=0,e=0,g=0,h=0.0,i=0.0,j=0.0,k=0,l=0,m=0,n=0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0;e=c[a+732>>2]|0;if((e|0)<=0)return;a=c[a+740>>2]|0;d=0;do{n=c[a+(d*52|0)+8>>2]|0;g=c[a+(d*52|0)+12>>2]|0;s=+f[n+40>>2];q=+f[n+44>>2];o=+f[n+48>>2];k=a+(d*52|0)+36|0;r=+f[k>>2];m=a+(d*52|0)+40|0;p=+f[m>>2];l=a+(d*52|0)+44|0;h=+f[l>>2];j=-(+f[a+(d*52|0)+32>>2]*((s-+f[g+40>>2])*r+(q-+f[g+44>>2])*p+(o-+f[g+48>>2])*h)*b);i=+f[n+88>>2]*j;f[n+40>>2]=s+r*i;f[n+44>>2]=q+p*i;f[n+48>>2]=o+h*i;j=+f[g+88>>2]*j;i=j*+f[m>>2];h=j*+f[l>>2];f[g+40>>2]=+f[g+40>>2]-+f[k>>2]*j;f[g+44>>2]=+f[g+44>>2]-i;f[g+48>>2]=+f[g+48>>2]-h;d=d+1|0}while((d|0)!=(e|0));return}function vj(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0;g=c[b+328>>2]|0;if((g|0)==(c[b+332>>2]|0)?(j=(g|0)==0?1:g<<1,(g|0)<(j|0)):0){if(!j)h=0;else{c[6879]=(c[6879]|0)+1;g=Zb((j<<2|3)+16|0)|0;if(!g)h=0;else{c[(g+4+15&-16)+-4>>2]=g;h=g+4+15&-16}g=c[b+328>>2]|0}if((g|0)>0){i=0;do{c[h+(i<<2)>>2]=c[(c[b+336>>2]|0)+(i<<2)>>2];i=i+1|0}while((i|0)!=(g|0))}i=c[b+336>>2]|0;if(i){if(a[b+340>>0]|0){c[6880]=(c[6880]|0)+1;kd(c[i+-4>>2]|0);g=c[b+328>>2]|0}c[b+336>>2]=0}a[b+340>>0]=1;c[b+336>>2]=h;c[b+332>>2]=j}c[(c[b+336>>2]|0)+(g<<2)>>2]=d;c[b+328>>2]=g+1;c[d+284>>2]=c[b+452>>2];Mg(b,d,e,f);return}function wj(b){b=b|0;var d=0,e=0,g=0,h=0.0;e=Ta;Ta=Ta+96|0;a[b+88>>0]=1;if((a[25504]|0)==0?kP(25504)|0:0){c[6032]=1065353216;c[6033]=0;c[6034]=0;c[6035]=0;c[6036]=0;c[6037]=1065353216;c[6038]=0;c[6039]=0;c[6040]=0;c[6041]=0;c[6042]=1065353216;f[6043]=0.0;c[6044]=-1082130432;c[6045]=0;c[6046]=0;c[6047]=0;c[6048]=0;c[6049]=-1082130432;c[6050]=0;c[6051]=0;c[6052]=0;c[6053]=0;c[6054]=-1082130432;f[6055]=0.0;kO(25504)}d=e;g=d+96|0;do{c[d>>2]=0;d=d+4|0}while((d|0)<(g|0));Cb[c[(c[b>>2]|0)+76>>2]&127](b,24128,e,6);h=+f[b+44>>2];f[b+72>>2]=+f[e>>2]+h;f[b+56>>2]=+f[e+48>>2]-h;f[b+76>>2]=+f[e+20>>2]+h;f[b+60>>2]=+f[e+68>>2]-h;f[b+80>>2]=+f[e+40>>2]+h;f[b+64>>2]=+f[e+88>>2]-h;Ta=e;return}function xj(b){b=b|0;var d=0,e=0,g=0,h=0.0;e=Ta;Ta=Ta+96|0;a[b+84>>0]=1;if((a[25512]|0)==0?kP(25512)|0:0){c[6056]=1065353216;c[6057]=0;c[6058]=0;c[6059]=0;c[6060]=0;c[6061]=1065353216;c[6062]=0;c[6063]=0;c[6064]=0;c[6065]=0;c[6066]=1065353216;f[6067]=0.0;c[6068]=-1082130432;c[6069]=0;c[6070]=0;c[6071]=0;c[6072]=0;c[6073]=-1082130432;c[6074]=0;c[6075]=0;c[6076]=0;c[6077]=0;c[6078]=-1082130432;f[6079]=0.0;kO(25512)}d=e;g=d+96|0;do{c[d>>2]=0;d=d+4|0}while((d|0)<(g|0));Cb[c[(c[b>>2]|0)+76>>2]&127](b,24224,e,6);h=+f[b+44>>2];f[b+68>>2]=+f[e>>2]+h;f[b+52>>2]=+f[e+48>>2]-h;f[b+72>>2]=+f[e+20>>2]+h;f[b+56>>2]=+f[e+68>>2]-h;f[b+76>>2]=+f[e+40>>2]+h;f[b+60>>2]=+f[e+88>>2]-h;Ta=e;return}function yj(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var g=0.0,h=0.0,i=0.0,j=0.0,k=0.0;i=+f[a+24>>2];j=+f[a+28>>2];k=+f[a+32>>2];h=i*+f[b>>2]+j*+f[b+4>>2]+k*+f[b+8>>2];g=+f[a+20>>2];if(h>g){f[a+20>>2]=h;c[a+4>>2]=c[b>>2];c[a+4+4>>2]=c[b+4>>2];c[a+4+8>>2]=c[b+8>>2];c[a+4+12>>2]=c[b+12>>2];g=h}h=i*+f[b+16>>2]+j*+f[b+20>>2]+k*+f[b+24>>2];if(h>g){f[a+20>>2]=h;c[a+4>>2]=c[b+16>>2];c[a+4+4>>2]=c[b+16+4>>2];c[a+4+8>>2]=c[b+16+8>>2];c[a+4+12>>2]=c[b+16+12>>2]}else h=g;g=i*+f[b+32>>2]+j*+f[b+36>>2]+k*+f[b+40>>2];if(!(g>h))return;f[a+20>>2]=g;c[a+4>>2]=c[b+32>>2];c[a+4+4>>2]=c[b+32+4>>2];c[a+4+8>>2]=c[b+32+8>>2];c[a+4+12>>2]=c[b+32+12>>2];return}function zj(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=c[b+76>>2]|0;if(!e)return;f=c[d+4>>2]|0;if((f|0)==(c[d+8>>2]|0)?(h=(f|0)==0?1:f<<1,(f|0)<(h|0)):0){if(!h){e=f;f=0}else{c[6879]=(c[6879]|0)+1;e=Zb((h<<2|3)+16|0)|0;if(!e)f=0;else{c[(e+4+15&-16)+-4>>2]=e;f=e+4+15&-16}e=c[d+4>>2]|0}if((e|0)>0){g=0;do{c[f+(g<<2)>>2]=c[(c[d+12>>2]|0)+(g<<2)>>2];g=g+1|0}while((g|0)!=(e|0))}g=c[d+12>>2]|0;if(g){if(a[d+16>>0]|0){c[6880]=(c[6880]|0)+1;kd(c[g+-4>>2]|0);e=c[d+4>>2]|0}c[d+12>>2]=0}a[d+16>>0]=1;c[d+12>>2]=f;c[d+8>>2]=h;f=e;e=c[b+76>>2]|0}c[(c[d+12>>2]|0)+(f<<2)>>2]=e;c[d+4>>2]=f+1;return}function Aj(a){a=a|0;var b=0,d=0,e=0,f=0;f=Ta;Ta=Ta+16|0;b=c[2760]|0;if((c[b>>2]|0)!=(a|0)){d=c[b+24>>2]|0;a:do if(!d)e=6;else while(1){if((c[d>>2]|0)==(a|0)){b=d;break a}d=c[d+28>>2]|0;if(!d){e=6;break}}while(0);if((e|0)==6){e=pZ(36)|0;c[e>>2]=a;c[e+4>>2]=0;c[e+4+4>>2]=0;c[e+4+8>>2]=0;c[e+4+12>>2]=0;c[e+20>>2]=b;c[e+24>>2]=0;c[e+28>>2]=0;c[e+32>>2]=0;du(e);c[e+28>>2]=c[b+24>>2];c[b+24>>2]=e;b=e}c[2760]=b}a=b+4|0;c[a>>2]=(c[a>>2]|0)+1;a=b+16|0;e=c[a>>2]|0;c[a>>2]=e+1;if(e|0){Ta=f;return}Pa(f|0,0)|0;e=c[6878]|0;c[b+12>>2]=(c[f+4>>2]|0)-(c[e+4>>2]|0)+(((c[f>>2]|0)-(c[e>>2]|0)|0)*1e6|0);Ta=f;return}function Bj(b){b=b|0;var d=0;d=yx()|0;c[d+8>>2]=0;c[d>>2]=7628;a[d+28>>0]=1;c[d+24>>2]=0;c[d+16>>2]=0;c[d+20>>2]=0;c[d+32>>2]=1566444395;c[d+36>>2]=1566444395;c[d+40>>2]=1566444395;f[d+44>>2]=0.0;c[d+48>>2]=-581039253;c[d+52>>2]=-581039253;c[d+56>>2]=-581039253;f[d+60>>2]=0.0;c[d+64>>2]=0;c[d+68>>2]=1;f[d+72>>2]=0.0;c[d+76>>2]=1065353216;c[d+80>>2]=1065353216;c[d+84>>2]=1065353216;f[d+88>>2]=0.0;c[d+4>>2]=31;if(!b)return d|0;c[6879]=(c[6879]|0)+1;b=Zb(79)|0;if(!b)b=0;else{c[(b+4+15&-16)+-4>>2]=b;b=b+4+15&-16}a[b+36>>0]=1;c[b+32>>2]=0;c[b+24>>2]=0;c[b+28>>2]=0;a[b+56>>0]=1;c[b+52>>2]=0;c[b+44>>2]=0;c[b+48>>2]=0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=-1;c[b+12>>2]=0;c[b+16>>2]=0;c[d+64>>2]=b;return d|0}function Cj(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var g=0.0,h=0.0,i=0.0,j=0.0,k=0.0,l=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,s=0.0,t=0.0,u=0.0,v=0.0;h=+Wa[c[(c[a>>2]|0)+48>>2]&31](a);l=h+ +f[a+28>>2];j=h+ +f[a+32>>2];h=h+ +f[a+36>>2];v=+r(+(+f[b>>2]));u=+r(+(+f[b+4>>2]));t=+r(+(+f[b+8>>2]));q=+r(+(+f[b+16>>2]));p=+r(+(+f[b+20>>2]));o=+r(+(+f[b+24>>2]));k=+r(+(+f[b+32>>2]));i=+r(+(+f[b+36>>2]));g=+r(+(+f[b+40>>2]));s=+f[b+48>>2];n=+f[b+52>>2];m=+f[b+56>>2];f[d>>2]=s-(l*v+j*u+h*t);f[d+4>>2]=n-(l*q+j*p+h*o);f[d+8>>2]=m-(l*k+j*i+h*g);f[d+12>>2]=0.0;f[e>>2]=l*v+j*u+h*t+s;f[e+4>>2]=l*q+j*p+h*o+n;f[e+8>>2]=m+(l*k+j*i+h*g);f[e+12>>2]=0.0;return}function Dj(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var g=0.0,h=0.0,i=0.0,j=0.0,k=0.0;i=+f[a+88>>2];j=+f[a+92>>2];k=+f[a+96>>2];h=i*+f[b>>2]+j*+f[b+4>>2]+k*+f[b+8>>2];g=+f[a+84>>2];if(h>g){f[a+84>>2]=h;c[a+4>>2]=c[b>>2];c[a+4+4>>2]=c[b+4>>2];c[a+4+8>>2]=c[b+8>>2];c[a+4+12>>2]=c[b+12>>2];g=h}h=i*+f[b+16>>2]+j*+f[b+20>>2]+k*+f[b+24>>2];if(h>g){f[a+84>>2]=h;c[a+4>>2]=c[b+16>>2];c[a+4+4>>2]=c[b+16+4>>2];c[a+4+8>>2]=c[b+16+8>>2];c[a+4+12>>2]=c[b+16+12>>2]}else h=g;g=i*+f[b+32>>2]+j*+f[b+36>>2]+k*+f[b+40>>2];if(!(g>h))return;f[a+84>>2]=g;c[a+4>>2]=c[b+32>>2];c[a+4+4>>2]=c[b+32+4>>2];c[a+4+8>>2]=c[b+32+8>>2];c[a+4+12>>2]=c[b+32+12>>2];return}function Ej(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;while(1){l=c[a+12>>2]|0;k=c[l+(((b+d|0)/2|0)<<3)>>2]|0;e=b;f=d;while(1){while(1){h=l+(e<<3)|0;i=e+1|0;if((c[h>>2]|0)<(k|0))e=i;else break}j=f;while(1){g=l+(j<<3)|0;f=j+-1|0;if((c[g>>2]|0)>(k|0))j=f;else break}if((e|0)>(j|0))f=j;else{m=c[h>>2]|0;l=c[h+4>>2]|0;e=c[g+4>>2]|0;c[h>>2]=c[g>>2];c[h+4>>2]=e;e=(c[a+12>>2]|0)+(j<<3)|0;c[e>>2]=m;c[e+4>>2]=l;e=i}if((e|0)>(f|0))break;l=c[a+12>>2]|0}if((f|0)>(b|0))Ej(a,b,f);if((e|0)<(d|0))b=e;else break}return}function Fj(b){b=b|0;var d=0;c[b>>2]=10196;if(c[b+108>>2]|0){d=c[b+112>>2]|0;pb[c[c[d>>2]>>2]&511](d);d=c[b+112>>2]|0;if(d|0){c[6880]=(c[6880]|0)+1;kd(c[d+-4>>2]|0)}d=c[b+108>>2]|0;pb[c[c[d>>2]>>2]&511](d);d=c[b+108>>2]|0;if(d|0){c[6880]=(c[6880]|0)+1;kd(c[d+-4>>2]|0)}}d=c[b+88>>2]|0;if(d|0){c[6880]=(c[6880]|0)+1;kd(c[d+-4>>2]|0)}d=c[b+84>>2]|0;if(d|0){c[6880]=(c[6880]|0)+1;kd(c[d+-4>>2]|0)}d=c[b+80>>2]|0;if(d|0){c[6880]=(c[6880]|0)+1;kd(c[d+-4>>2]|0)}d=c[b+60>>2]|0;if(d|0){c[6880]=(c[6880]|0)+1;kd(c[d+-4>>2]|0)}if(!(a[b+100>>0]|0))return;d=c[b+92>>2]|0;pb[c[c[d>>2]>>2]&511](d);d=c[b+92>>2]|0;if(!d)return;c[6880]=(c[6880]|0)+1;kd(c[d+-4>>2]|0);return}function Gj(a,b,d){a=a|0;b=+b;d=+d;var e=0,g=0,h=0.0,i=0.0,j=0,k=0,l=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0;g=c[a+732>>2]|0;if((g|0)<=0)return;a=c[a+740>>2]|0;e=0;do{d=+f[a+(e*52|0)+24>>2];if(d>0.0?(j=c[a+(e*52|0)+8>>2]|0,k=c[a+(e*52|0)+12>>2]|0,l=+f[j+8>>2],n=+f[k+8>>2]-l,m=+f[j+12>>2],p=+f[k+12>>2]-m,h=+f[j+16>>2],o=+f[k+16>>2]-h,i=+f[a+(e*52|0)+28>>2],i+(n*n+p*p+o*o)>1.1920928955078125e-07):0){d=(i-(n*n+p*p+o*o))/(d*(i+(n*n+p*p+o*o)))*b;q=d*+f[j+88>>2];f[j+8>>2]=l-n*q;f[j+12>>2]=m-p*q;f[j+16>>2]=h-o*q;d=d*+f[k+88>>2];f[k+8>>2]=+f[k+8>>2]+n*d;f[k+12>>2]=p*d+ +f[k+12>>2];f[k+16>>2]=o*d+ +f[k+16>>2]}e=e+1|0}while((e|0)!=(g|0));return}function Hj(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,g=0.0,h=0.0,i=0.0,j=0.0,k=0.0,l=0.0,m=0;e=Ta;Ta=Ta+96|0;c[e+32>>2]=1065353216;c[e+32+4>>2]=0;c[e+32+4+4>>2]=0;c[e+32+4+8>>2]=0;c[e+32+4+12>>2]=0;c[e+32+20>>2]=1065353216;c[e+32+24>>2]=0;c[e+32+24+4>>2]=0;c[e+32+24+8>>2]=0;c[e+32+24+12>>2]=0;c[e+32+40>>2]=1065353216;m=e+32+44|0;c[m>>2]=0;c[m+4>>2]=0;c[m+8>>2]=0;c[m+12>>2]=0;c[m+16>>2]=0;Cb[c[(c[a>>2]|0)+8>>2]&127](a,e+32|0,e+16|0,e);l=+f[e>>2];k=+f[e+16>>2];j=+f[e+4>>2];i=+f[e+16+4>>2];h=+f[e+8>>2];g=+f[e+16+8>>2];f[d>>2]=+s(+((l-k)*(l-k)+(j-i)*(j-i)+(h-g)*(h-g)))*.5;f[b>>2]=(l+k)*.5;f[b+4>>2]=(j+i)*.5;f[b+8>>2]=(h+g)*.5;f[b+12>>2]=0.0;Ta=e;return}function Ij(){var b=0,d=0;d=yx()|0;c[d+8>>2]=0;c[d>>2]=7628;a[d+28>>0]=1;c[d+24>>2]=0;c[d+16>>2]=0;c[d+20>>2]=0;c[d+32>>2]=1566444395;c[d+36>>2]=1566444395;c[d+40>>2]=1566444395;f[d+44>>2]=0.0;c[d+48>>2]=-581039253;c[d+52>>2]=-581039253;c[d+56>>2]=-581039253;f[d+60>>2]=0.0;c[d+64>>2]=0;c[d+68>>2]=1;f[d+72>>2]=0.0;c[d+76>>2]=1065353216;c[d+80>>2]=1065353216;c[d+84>>2]=1065353216;f[d+88>>2]=0.0;c[d+4>>2]=31;c[6879]=(c[6879]|0)+1;b=Zb(79)|0;if(!b)b=0;else{c[(b+4+15&-16)+-4>>2]=b;b=b+4+15&-16}a[b+36>>0]=1;c[b+32>>2]=0;c[b+24>>2]=0;c[b+28>>2]=0;a[b+56>>0]=1;c[b+52>>2]=0;c[b+44>>2]=0;c[b+48>>2]=0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=-1;c[b+12>>2]=0;c[b+16>>2]=0;c[d+64>>2]=b;return d|0}function Jj(a,d,g,h){a=a|0;d=d|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0;i=c[a+108>>2]|0;if(i|0){Cb[c[(c[i>>2]|0)+28>>2]&127](i,d,g,h);return}i=b[a+56>>1]|0;if(!(i<<16>>16))return;k=1;m=1;do{j=c[a+68>>2]|0;if(b[j+(k<<2)>>1]&1){l=c[a+60>>2]|0;k=e[j+(k<<2)+2>>1]|0;if(!(+f[d>>2]>+f[l+(k<<6)+32>>2])?!(+f[g>>2]<+f[l+(k<<6)+16>>2]):0)j=1;else j=0;if(!(!(+f[d+8>>2]>+f[l+(k<<6)+40>>2])?!(+f[g+8>>2]<+f[l+(k<<6)+24>>2]):0))j=0;if(!(+f[d+4>>2]>+f[l+(k<<6)+36>>2])?!(+f[g+4>>2]<+f[l+(k<<6)+20>>2]|j^1):0){gb[c[(c[h>>2]|0)+8>>2]&63](h,l+(k<<6)|0)|0;i=b[a+56>>1]|0}}m=m+1<<16>>16;k=m&65535}while(((i&65535)<<1|1)>>>0>k>>>0);return}function Kj(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var g=0.0,h=0.0,i=0.0,j=0.0,k=0;g=+f[b>>2];h=+f[b+16>>2];j=g>2];if((j+f[a+24>>2])return;k=g>h?b:b+16|0;if(+f[(+f[k>>2]>i?k:b+32|0)>>2]<+f[a+8>>2])return;i=+f[b+8>>2];g=+f[b+24>>2];j=i>2];if((j+f[a+32>>2])return;k=i>g?b+8|0:b+24|0;if(+f[(+f[k>>2]>h?k:b+40|0)>>2]<+f[a+16>>2])return;g=+f[b+4>>2];h=+f[b+20>>2];j=g>2];if((j+f[a+28>>2])return;k=g>h?b+4|0:b+20|0;if(+f[(+f[k>>2]>i?k:b+36|0)>>2]<+f[a+12>>2])return;k=c[a+4>>2]|0;Cb[c[(c[k>>2]|0)+8>>2]&127](k,b,d,e);return}function Lj(b,d,e,g){b=b|0;d=d|0;e=e|0;g=+g;var h=0,i=0.0,j=0.0,k=0.0;h=Ta;Ta=Ta+16|0;f[b+32>>2]=g;c[b+8>>2]=c[d>>2];c[b+8+4>>2]=c[d+4>>2];c[b+8+8>>2]=c[d+8>>2];c[b+8+12>>2]=c[d+12>>2];i=+f[b+28>>2];k=+f[e+4>>2]-i*+f[d+4>>2];j=+f[e+8>>2]-i*+f[d+8>>2];f[h>>2]=+f[e>>2]-+f[d>>2]*i;f[h+4>>2]=k;f[h+8>>2]=j;f[h+12>>2]=0.0;g=i+ +f[b+24>>2]+g;f[b+32>>2]=g;if(!(g<0.0)){b=b+4|0;b=c[b>>2]|0;e=c[b>>2]|0;e=e+16|0;e=c[e>>2]|0;Ab[e&31](b,d,h,g);Ta=h;return}a[b+36>>0]=1;b=b+4|0;b=c[b>>2]|0;e=c[b>>2]|0;e=e+16|0;e=c[e>>2]|0;Ab[e&31](b,d,h,g);Ta=h;return}function Mj(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,g=0,h=0.0;g=Ta;Ta=Ta+16|0;c[a+4>>2]=c[b+24>>2];e=c[b>>2]|0;c[a+8>>2]=e;if(d){c[a+52>>2]=c[b+8>>2];c[a+52+4>>2]=c[b+8+4>>2];c[a+52+8>>2]=c[b+8+8>>2];c[a+52+12>>2]=c[b+8+12>>2];e=a+68|0;d=a+20|0;a=a+36|0;h=+f[b+24>>2];rq(e,d,a,h);h=+f[b+24>>2];Ta=g;return +h}else{e=D$(R_(e)|0)|0;lm(g,e,+f[b+8>>2],+f[b+12>>2],+f[b+16>>2]);c[a+52>>2]=c[g>>2];c[a+52+4>>2]=c[g+4>>2];c[a+52+8>>2]=c[g+8>>2];c[a+52+12>>2]=c[g+12>>2];e=a+68|0;d=a+20|0;a=a+36|0;h=+f[b+24>>2];rq(e,d,a,h);h=+f[b+24>>2];Ta=g;return +h}return 0.0}function Nj(b,d){b=b|0;d=d|0;var e=0,f=0;a:do if((d|0)!=0&(b&3|0)!=0)while(1){if(!(a[b>>0]|0))break a;b=b+1|0;d=d+-1|0;if(!((d|0)!=0&(b&3|0)!=0)){e=d;d=(d|0)!=0;f=5;break}}else{e=d;d=(d|0)!=0;f=5}while(0);b:do if((f|0)==5){do if(d){if(!(a[b>>0]|0))if(!e)break;else break b;c:do if(e>>>0>3)while(1){d=c[b>>2]|0;if((d&-2139062144^-2139062144)&d+-16843009|0)break c;b=b+4|0;e=e+-4|0;if(e>>>0<=3){f=11;break}}else f=11;while(0);if((f|0)==11)if(!e)break;while(1){if(!(a[b>>0]|0))break b;e=e+-1|0;if(!e)break;else b=b+1|0}}while(0);b=0}while(0);return b|0}function Oj(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;c[b>>2]=7564;d=c[b+8>>2]|0;e=c[d+8>>2]|0;if((e|0)>0){g=0;do{f=c[(c[d+16>>2]|0)+(g*12|0)+8>>2]|0;if(f|0){pb[c[c[f>>2]>>2]&511](f);h=c[b+4>>2]|0;vb[c[(c[h>>2]|0)+60>>2]&255](h,f)}g=g+1|0}while((g|0)!=(e|0));d=c[b+8>>2]|0}Uh(d);d=c[b+8>>2]|0;pb[c[c[d>>2]>>2]&511](d);d=c[b+8>>2]|0;if(d|0){c[6880]=(c[6880]|0)+1;kd(c[d+-4>>2]|0)}d=c[b+24>>2]|0;if(!d){a[b+28>>0]=1;c[b+24>>2]=0;c[b+16>>2]=0;h=b+20|0;c[h>>2]=0;return}if(a[b+28>>0]|0){c[6880]=(c[6880]|0)+1;kd(c[d+-4>>2]|0)}c[b+24>>2]=0;a[b+28>>0]=1;c[b+24>>2]=0;c[b+16>>2]=0;h=b+20|0;c[h>>2]=0;return}function Pj(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;h=Ta;Ta=Ta+224|0;f=h+160|0;g=f+40|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(g|0));c[h+208>>2]=c[e>>2];if((Hc(0,d,h+208|0,h+80|0,h+160|0)|0)<0)e=-1;else{g=c[b>>2]|0;if((a[b+74>>0]|0)<1)c[b>>2]=g&-33;if(!(c[b+48>>2]|0)){f=c[b+44>>2]|0;c[b+44>>2]=h;c[b+28>>2]=h;c[b+20>>2]=h;c[b+48>>2]=80;c[b+16>>2]=h+80;e=Hc(b,d,h+208|0,h+80|0,h+160|0)|0;if(f){ib[c[b+36>>2]&63](b,0,0)|0;e=(c[b+20>>2]|0)==0?-1:e;c[b+44>>2]=f;c[b+48>>2]=0;c[b+16>>2]=0;c[b+28>>2]=0;c[b+20>>2]=0}}else e=Hc(b,d,h+208|0,h+80|0,h+160|0)|0;d=c[b>>2]|0;c[b>>2]=d|g&32;e=(d&32|0)==0?e:-1}Ta=h;return e|0}function Qj(b,d){b=b|0;d=d|0;c[b+204>>2]=c[d+48>>2];c[b+208>>2]=c[d+52>>2];c[b+212>>2]=c[d+56>>2];c[b+216>>2]=c[d+60>>2];c[b+220>>2]=c[d+64>>2];c[b+224>>2]=c[d+68>>2];c[b+156>>2]=c[d>>2];c[b+156+4>>2]=c[d+4>>2];c[b+156+8>>2]=c[d+8>>2];c[b+156+12>>2]=c[d+12>>2];c[b+172>>2]=c[d+16>>2];c[b+172+4>>2]=c[d+16+4>>2];c[b+172+8>>2]=c[d+16+8>>2];c[b+172+12>>2]=c[d+16+12>>2];c[b+188>>2]=c[d+32>>2];c[b+188+4>>2]=c[d+32+4>>2];c[b+188+8>>2]=c[d+32+8>>2];c[b+188+12>>2]=c[d+32+12>>2];c[b+228>>2]=c[d+72>>2];f[b+232>>2]=0.0;f[b+252>>2]=0.0;f[b+236>>2]=0.0;f[b+240>>2]=0.0;f[b+256>>2]=0.0;f[b+244>>2]=.10000000149011612;a[b+260>>0]=a[d+80>>0]&1;c[b+248>>2]=c[d+76>>2];return}function Rj(a){a=a|0;var b=0;c[a>>2]=4268;b=c[a+92>>2]|0;pb[c[c[b>>2]>>2]&511](b);b=c[a+92>>2]|0;if(b|0){c[6880]=(c[6880]|0)+1;kd(c[b+-4>>2]|0)}b=c[a+96>>2]|0;pb[c[c[b>>2]>>2]&511](b);b=c[a+96>>2]|0;if(b|0){c[6880]=(c[6880]|0)+1;kd(c[b+-4>>2]|0)}b=c[a+100>>2]|0;pb[c[c[b>>2]>>2]&511](b);b=c[a+100>>2]|0;if(b|0){c[6880]=(c[6880]|0)+1;kd(c[b+-4>>2]|0)}b=c[a+104>>2]|0;pb[c[c[b>>2]>>2]&511](b);b=c[a+104>>2]|0;if(b|0){c[6880]=(c[6880]|0)+1;kd(c[b+-4>>2]|0)}b=c[a+108>>2]|0;pb[c[c[b>>2]>>2]&511](b);b=c[a+108>>2]|0;if(!b){_e(a);return}c[6880]=(c[6880]|0)+1;kd(c[b+-4>>2]|0);_e(a);return}function Sj(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0;if((c[d+60>>2]|0)==2){f=c[d+48>>2]|0;ch(b+64|0,f)|0;g=c[b+68>>2]|0;if(g|0){c[6880]=(c[6880]|0)+1;kd(c[g+-4>>2]|0)}c[b+68>>2]=f;c[b+76>>2]=(c[b+76>>2]|0)+-1}else{f=c[d+48>>2]|0;ch(b+4|0,f)|0;g=c[b+8>>2]|0;if(g|0){c[6880]=(c[6880]|0)+1;kd(c[g+-4>>2]|0)}c[b+8>>2]=f;c[b+16>>2]=(c[b+16>>2]|0)+-1}f=c[d+52>>2]|0;if(!f)f=b+124+(c[d+60>>2]<<2)|0;else f=f+56|0;c[f>>2]=c[d+56>>2];f=c[d+56>>2]|0;if(f|0)c[f+52>>2]=c[d+52>>2];g=c[b+136>>2]|0;zb[c[(c[g>>2]|0)+16>>2]&127](g,d,e);c[6880]=(c[6880]|0)+1;kd(c[d+-4>>2]|0);a[b+194>>0]=1;return}function Tj(a){a=a|0;var b=0.0,c=0.0,d=0.0,e=0.0,g=0.0,h=0.0,i=0.0,j=0.0,k=0.0,l=0.0,m=0.0,n=0.0;n=+f[a+4>>2];h=+f[a+396>>2];m=+f[a+8>>2];e=+f[a+400>>2];l=+f[a+12>>2];c=+f[a+404>>2];k=+f[a+20>>2];j=+f[a+24>>2];i=+f[a+28>>2];g=+f[a+36>>2];d=+f[a+40>>2];b=+f[a+44>>2];f[a+264>>2]=n*h*n+m*e*m+l*c*l;f[a+268>>2]=n*h*k+m*e*j+l*c*i;f[a+272>>2]=n*h*g+m*e*d+l*c*b;f[a+276>>2]=0.0;f[a+280>>2]=h*k*n+e*j*m+c*i*l;f[a+284>>2]=h*k*k+e*j*j+c*i*i;f[a+288>>2]=h*k*g+e*j*d+c*i*b;f[a+292>>2]=0.0;f[a+296>>2]=h*g*n+e*d*m+c*b*l;f[a+300>>2]=h*g*k+e*d*j+c*b*i;f[a+304>>2]=h*g*g+e*d*d+c*b*b;f[a+308>>2]=0.0;return}function Uj(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;c[b>>2]=6968;e=c[b+8>>2]|0;d=c[b+16>>2]|0;if((e|0)>0){h=0;do{g=(c[d+(h<<2)>>2]|0)+188|0;f=c[g>>2]|0;if(f){e=c[b+68>>2]|0;e=eb[c[(c[e>>2]|0)+36>>2]&255](e)|0;zb[c[(c[e>>2]|0)+40>>2]&127](e,f,c[b+24>>2]|0);e=c[b+68>>2]|0;zb[c[(c[e>>2]|0)+12>>2]&127](e,f,c[b+24>>2]|0);c[g>>2]=0;e=c[b+8>>2]|0;d=c[b+16>>2]|0}h=h+1|0}while((h|0)<(e|0))}if(!d){a[b+20>>0]=1;c[b+16>>2]=0;c[b+8>>2]=0;b=b+12|0;c[b>>2]=0;return}if(a[b+20>>0]|0){c[6880]=(c[6880]|0)+1;kd(c[d+-4>>2]|0)}c[b+16>>2]=0;a[b+20>>0]=1;c[b+16>>2]=0;c[b+8>>2]=0;b=b+12|0;c[b>>2]=0;return}function Vj(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,g=0.0,h=0,i=0.0,j=0,k=0,l=0.0,m=0.0;j=c[b+52>>2]|0;k=c[j+32>>2]|0;b=c[k>>2]|0;l=+f[d>>2];m=+f[d+4>>2];i=+f[d+8>>2];j=c[j+24>>2]|0;if((j|0)<=1){k=b;k=k+8|0;c[a>>2]=c[k>>2];c[a+4>>2]=c[k+4>>2];c[a+8>>2]=c[k+8>>2];c[a+12>>2]=c[k+12>>2];return}g=l*+f[b+8>>2]+m*+f[b+12>>2]+i*+f[b+16>>2];d=1;h=0;while(1){b=c[k+(d<<2)>>2]|0;e=l*+f[b+8>>2]+m*+f[b+12>>2]+i*+f[b+16>>2];b=e>g;h=b?d:h;d=d+1|0;if((d|0)==(j|0))break;else g=b?e:g}k=c[k+(h<<2)>>2]|0;k=k+8|0;c[a>>2]=c[k>>2];c[a+4>>2]=c[k+4>>2];c[a+8>>2]=c[k+8>>2];c[a+12>>2]=c[k+12>>2];return}function Wj(a,b){a=a|0;b=b|0;var d=0,e=0.0,g=0,h=0,i=0.0,j=0.0;c[a+248>>2]=c[b>>2];c[a+248+4>>2]=c[b+4>>2];c[a+248+8>>2]=c[b+8>>2];c[a+248+12>>2]=c[b+12>>2];d=c[a+232>>2]|0;if((d|0)<=0)return;h=0;do{g=c[(c[a+240>>2]|0)+(h<<2)>>2]|0;switch(c[g+216>>2]|0){case 2:case 5:break;default:if(!(c[g+504>>2]&1)){e=+f[g+344>>2];if(e!=0.0){j=1.0/e*+f[b+4>>2];i=1.0/e*+f[b+8>>2];f[g+364>>2]=1.0/e*+f[b>>2];f[g+368>>2]=j;f[g+372>>2]=i;f[g+376>>2]=0.0}c[g+380>>2]=c[b>>2];c[g+380+4>>2]=c[b+4>>2];c[g+380+8>>2]=c[b+8>>2];c[g+380+12>>2]=c[b+12>>2];d=c[a+232>>2]|0}}h=h+1|0}while((h|0)<(d|0));return}function Xj(b,d){b=b|0;d=d|0;var e=0.0,g=0.0,h=0;if(a[b+738>>0]|0){c[d>>2]=0;c[d+4>>2]=0;return}c[d>>2]=5;c[d+4>>2]=1;e=+kj(b,(c[b+28>>2]|0)+4|0,(c[b+32>>2]|0)+4|0);f[b+728>>2]=e;f[b+708>>2]=0.0;f[b+712>>2]=0.0;a[b+716>>0]=0;g=+f[b+692>>2];do if(g>=0.0){e=(e-+f[b+688>>2])%6.2831854820251465;if(!(e<-3.1415927410125732)){if(e>3.1415927410125732)e=e+-6.2831854820251465}else e=e+6.2831854820251465;if(e<-g){a[b+716>>0]=1;f[b+708>>2]=-(g+e);f[b+712>>2]=1.0;break}if(e>g){a[b+716>>0]=1;f[b+708>>2]=g-e;f[b+712>>2]=-1.0}else h=12}else h=12;while(0);if((h|0)==12?(a[b+737>>0]|0)==0:0)return;c[d>>2]=6;c[d+4>>2]=0;return}function Yj(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=Ta;Ta=Ta+96|0;g=c[b+192>>2]|0;c[f+64>>2]=0;c[f+64+4>>2]=g;c[f+64+8>>2]=b;c[f+64+12>>2]=b+4;c[f+64+16>>2]=-1;c[f+64+20>>2]=-1;b=c[d+192>>2]|0;c[f+40>>2]=0;c[f+40+4>>2]=b;c[f+40+8>>2]=d;c[f+40+12>>2]=d+4;c[f+40+16>>2]=-1;c[f+40+20>>2]=-1;b=c[a+24>>2]|0;b=jb[c[(c[b>>2]|0)+8>>2]&63](b,f+64|0,f+40|0,0)|0;if(!b){Ta=f;return}c[f+4>>2]=0;c[f+8>>2]=f+64;c[f+12>>2]=f+40;c[f>>2]=7312;c[f+32>>2]=e;Gb[c[(c[b>>2]|0)+8>>2]&63](b,f+64|0,f+40|0,a+28|0,f);pb[c[c[b>>2]>>2]&511](b);g=c[a+24>>2]|0;vb[c[(c[g>>2]|0)+60>>2]&255](g,b);Ta=f;return}function Zj(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;k=c[b+8>>2]|0;if((k|0)<=0)return;i=c[b+16>>2]|0;j=0;b=0;do{g=c[i+(j<<2)>>2]|0;if(!(c[g+204>>2]&3)){h=c[a+16>>2]|0;e=h+(b<<3)|0;d=c[e>>2]|0;if((d|0)!=(b|0)){c[e>>2]=c[h+(d<<3)>>2];d=c[h+(d<<3)>>2]|0;e=c[h+(d<<3)>>2]|0;if((d|0)!=(e|0)){f=h+(d<<3)|0;do{d=h+(e<<3)|0;c[f>>2]=c[d>>2];d=c[d>>2]|0;f=h+(d<<3)|0;e=c[f>>2]|0}while((d|0)!=(e|0))}}else d=b;c[g+208>>2]=d;c[h+(b<<3)+4>>2]=j;c[g+212>>2]=-1;b=b+1|0}else{c[g+208>>2]=-1;c[g+212>>2]=-2}j=j+1|0}while((j|0)!=(k|0));return}function _j(a,b,d){a=a|0;b=+b;d=d|0;var e=0,g=0,i=0.0,j=0.0,k=0.0;e=c[a+204>>2]|0;if(b==0.0){c[a+204>>2]=e|1;i=0.0}else{c[a+204>>2]=e&-2;i=1.0/b}f[a+344>>2]=i;k=+f[a+384>>2]*b;j=+f[a+388>>2]*b;f[a+364>>2]=+f[a+380>>2]*b;f[a+368>>2]=k;f[a+372>>2]=j;f[a+376>>2]=0.0;b=+f[d>>2];g=b!=0.0?(f[h>>2]=1.0/b,c[h>>2]|0):0;b=+f[d+4>>2];e=b!=0.0?(f[h>>2]=1.0/b,c[h>>2]|0):0;b=+f[d+8>>2];d=b!=0.0?(f[h>>2]=1.0/b,c[h>>2]|0):0;c[a+396>>2]=g;c[a+400>>2]=e;c[a+404>>2]=d;f[a+408>>2]=0.0;j=i*+f[a+352>>2];k=i*+f[a+356>>2];f[a+560>>2]=+f[a+348>>2]*i;f[a+564>>2]=j;f[a+568>>2]=k;f[a+572>>2]=0.0;return}function $j(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,g=0.0,h=0,i=0.0,j=0,k=0,l=0.0;l=+f[b+60>>2]*.5;h=c[b+68>>2]|0;e=+f[d>>2];g=+f[d+4>>2];i=+f[d+8>>2];i=+s(+(e*e+g*g+i*i));k=c[b+64>>2]|0;if(+f[d+(h<<2)>>2]>+f[b+52>>2]*i){f[a+(k<<2)>>2]=0.0;f[a+(h<<2)>>2]=l;l=0.0;b=c[b+72>>2]|0;b=a+(b<<2)|0;f[b>>2]=l;return}i=+f[d+(k<<2)>>2];j=c[b+72>>2]|0;e=+f[d+(j<<2)>>2];g=+s(+(i*i+e*e));if(g>1.1920928955078125e-07){g=+f[b+56>>2]/g;f[a+(k<<2)>>2]=i*g;f[a+(h<<2)>>2]=-l;l=e*g;b=j;b=a+(b<<2)|0;f[b>>2]=l;return}else{f[a+(k<<2)>>2]=0.0;f[a+(h<<2)>>2]=-l;l=0.0;b=j;b=a+(b<<2)|0;f[b>>2]=l;return}}function ak(a,b,d){a=a|0;b=+b;d=d|0;var e=0,g=0.0,h=0.0,i=0.0,j=0;e=Ta;Ta=Ta+96|0;c[e+32>>2]=1065353216;c[e+32+4>>2]=0;c[e+32+4+4>>2]=0;c[e+32+4+8>>2]=0;c[e+32+4+12>>2]=0;c[e+32+20>>2]=1065353216;c[e+32+24>>2]=0;c[e+32+24+4>>2]=0;c[e+32+24+8>>2]=0;c[e+32+24+12>>2]=0;c[e+32+40>>2]=1065353216;j=e+32+44|0;c[j>>2]=0;c[j+4>>2]=0;c[j+8>>2]=0;c[j+12>>2]=0;c[j+16>>2]=0;Cb[c[(c[a>>2]|0)+8>>2]&127](a,e+32|0,e+16|0,e);h=(+f[e>>2]-+f[e+16>>2])*.5*2.0;g=(+f[e+4>>2]-+f[e+16+4>>2])*.5*2.0;i=(+f[e+8>>2]-+f[e+16+8>>2])*.5*2.0;f[d>>2]=b/12.0*(g*g+i*i);f[d+4>>2]=b/12.0*(h*h+i*i);f[d+8>>2]=b/12.0*(h*h+g*g);Ta=e;return}function bk(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=c[b+280>>2]|0;if((e|0)==(c[b+284>>2]|0)?(h=(e|0)==0?1:e<<1,(e|0)<(h|0)):0){if(!h)f=0;else{c[6879]=(c[6879]|0)+1;e=Zb((h<<2|3)+16|0)|0;if(!e)f=0;else{c[(e+4+15&-16)+-4>>2]=e;f=e+4+15&-16}e=c[b+280>>2]|0}if((e|0)>0){g=0;do{c[f+(g<<2)>>2]=c[(c[b+288>>2]|0)+(g<<2)>>2];g=g+1|0}while((g|0)!=(e|0))}g=c[b+288>>2]|0;if(g){if(a[b+292>>0]|0){c[6880]=(c[6880]|0)+1;kd(c[g+-4>>2]|0);e=c[b+280>>2]|0}c[b+288>>2]=0}a[b+292>>0]=1;c[b+288>>2]=f;c[b+284>>2]=h}c[(c[b+288>>2]|0)+(e<<2)>>2]=d;c[b+280>>2]=e+1;return}function ck(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,g=0.0,h=0.0,i=0.0,j=0.0,k=0.0;e=Ta;Ta=Ta+16|0;zb[c[(c[b>>2]|0)+68>>2]&127](e,b,d);c[a>>2]=c[e>>2];c[a+4>>2]=c[e+4>>2];c[a+8>>2]=c[e+8>>2];c[a+12>>2]=c[e+12>>2];if(!(+Wa[c[(c[b>>2]|0)+48>>2]&31](b)!=0.0)){Ta=e;return}i=+f[d>>2];g=+f[d+4>>2];h=+f[d+8>>2];k=i*i+g*g+h*h<1.4210854715202004e-14?-1.0:i;j=i*i+g*g+h*h<1.4210854715202004e-14?-1.0:g;h=i*i+g*g+h*h<1.4210854715202004e-14?-1.0:h;g=1.0/+s(+(h*h+(k*k+j*j)));i=+Wa[c[(c[b>>2]|0)+48>>2]&31](b);f[a>>2]=+f[a>>2]+i*(k*g);f[a+4>>2]=+f[a+4>>2]+i*(j*g);f[a+8>>2]=+f[a+8>>2]+i*(h*g);Ta=e;return}function dk(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,g=0,h=0.0,i=0,j=0.0,k=0,l=0.0,m=0.0,n=0.0,o=0.0,p=0.0;k=c[b+96>>2]|0;if((k|0)<=0){c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;c[a+12>>2]=0;return}l=+f[b+12>>2];o=+f[d>>2]*l;m=+f[b+16>>2];p=+f[d+4>>2]*m;n=+f[b+20>>2];j=+f[d+8>>2]*n;d=c[b+104>>2]|0;g=0;h=-3402823466385288598117041.0e14;i=-1;while(1){e=o*+f[d+(g<<4)>>2]+p*+f[d+(g<<4)+4>>2]+j*+f[d+(g<<4)+8>>2];b=e>h;i=b?g:i;g=g+1|0;if((g|0)==(k|0))break;else h=b?e:h}o=m*+f[d+(i<<4)+4>>2];p=n*+f[d+(i<<4)+8>>2];f[a>>2]=l*+f[d+(i<<4)>>2];f[a+4>>2]=o;f[a+8>>2]=p;f[a+12>>2]=0.0;return}function ek(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0;a:do switch(b|0){case 2:{if((c|0)<1){d=+f[a+232>>2];break a}if((c|0)<3){d=+f[a+264>>2];break a}if((c|0)==3){d=+f[a+248>>2];break a}if((c|0)<6)d=+f[a+280>>2];else d=3402823466385288598117041.0e14;break}case 3:{if((c|0)<1){d=+f[a+212>>2];break a}if((c|0)==3)d=+f[a+228>>2];else d=3402823466385288598117041.0e14;break}case 4:{if((c|0)<1){d=+f[a+244>>2];break a}if((c|0)<3){d=+f[a+276>>2];break a}if((c|0)==3){d=+f[a+260>>2];break a}if((c|0)<6)d=+f[a+292>>2];else d=3402823466385288598117041.0e14;break}default:d=3402823466385288598117041.0e14}while(0);return +d}function fk(a,b,d){a=a|0;b=+b;d=d|0;var e=0.0,g=0.0,h=0.0,i=0.0,j=0.0,k=0.0;k=+f[a+28>>2];g=+f[a+32>>2];i=+f[a+36>>2];j=+Wa[c[(c[a>>2]|0)+48>>2]&31](a);e=+Wa[c[(c[a>>2]|0)+48>>2]&31](a);i=+Wa[c[(c[a>>2]|0)+48>>2]&31](a)+i;switch(c[a+52>>2]|0){case 0:{k=b*.25*((e+g)*(e+g))+b/12.0*((j+k)*((j+k)*4.0));h=k;g=b*.5*((e+g)*(e+g));e=k;break}case 2:{h=b*.5*((j+k)*(j+k));g=b*.25*((j+k)*(j+k))+b/12.0*(i*(i*4.0));e=b*.25*((j+k)*(j+k))+b/12.0*(i*(i*4.0));break}default:{g=b*.25*((j+k)*(j+k))+b/12.0*((e+g)*((e+g)*4.0));h=g;e=b*.5*((j+k)*(j+k))}}f[d>>2]=g;f[d+4>>2]=e;f[d+8>>2]=h;f[d+12>>2]=0.0;return}function gk(){var b=0;b=sw()|0;c[b>>2]=6008;a[b+20>>0]=1;c[b+16>>2]=0;c[b+8>>2]=0;c[b+12>>2]=0;a[b+40>>0]=1;c[b+36>>2]=0;c[b+28>>2]=0;c[b+32>>2]=0;a[b+60>>0]=1;c[b+56>>2]=0;c[b+48>>2]=0;c[b+52>>2]=0;a[b+80>>0]=1;c[b+76>>2]=0;c[b+68>>2]=0;c[b+72>>2]=0;a[b+100>>0]=1;c[b+96>>2]=0;c[b+88>>2]=0;c[b+92>>2]=0;a[b+120>>0]=1;c[b+116>>2]=0;c[b+108>>2]=0;c[b+112>>2]=0;a[b+140>>0]=1;c[b+136>>2]=0;c[b+128>>2]=0;c[b+132>>2]=0;a[b+160>>0]=1;c[b+156>>2]=0;c[b+148>>2]=0;c[b+152>>2]=0;a[b+180>>0]=1;c[b+176>>2]=0;c[b+168>>2]=0;c[b+172>>2]=0;c[b+192>>2]=0;return b|0}function hk(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;c[6858]=(c[6858]|0)+1;f=(c[b+12>>2]|0)>(c[d+12>>2]|0);g=c[(f?d:b)+12>>2]|0;f=c[(f?b:d)+12>>2]|0;b=(f<<16|g)+~((f<<16|g)<<15)|0;b=((10?b>>10:b)^b)*9|0;b=(6?b>>6:b)^b;b=((16?b+~(b<<11)>>16:b+~(b<<11)|0)^b+~(b<<11))&(c[a+12>>2]|0)+-1;if((b|0)>=(c[a+36>>2]|0)){a=0;return a|0}b=c[(c[a+44>>2]|0)+(b<<2)>>2]|0;if((b|0)==-1){a=0;return a|0}e=c[a+16>>2]|0;d=b;while(1){b=e+(d<<4)|0;if((c[(c[b>>2]|0)+12>>2]|0)==(g|0)?(c[(c[e+(d<<4)+4>>2]|0)+12>>2]|0)==(f|0):0){d=7;break}d=c[(c[a+64>>2]|0)+(d<<2)>>2]|0;if((d|0)==-1){b=0;d=7;break}}if((d|0)==7)return b|0;return 0}function ik(b){b=b|0;var d=0;c[b>>2]=5072;if(a[b+456>>0]|0?(d=c[b+452>>2]|0,pb[c[c[d>>2]>>2]&511](d),d=c[b+452>>2]|0,d|0):0){c[6880]=(c[6880]|0)+1;kd(c[d+-4>>2]|0)}d=c[b+420>>2]|0;if(d|0){if(a[b+424>>0]|0){c[6880]=(c[6880]|0)+1;kd(c[d+-4>>2]|0)}c[b+420>>2]=0}a[b+424>>0]=1;c[b+420>>2]=0;c[b+412>>2]=0;c[b+416>>2]=0;d=c[b+336>>2]|0;if(!d){a[b+340>>0]=1;c[b+336>>2]=0;c[b+328>>2]=0;d=b+332|0;c[d>>2]=0;Og(b);return}if(a[b+340>>0]|0){c[6880]=(c[6880]|0)+1;kd(c[d+-4>>2]|0)}c[b+336>>2]=0;a[b+340>>0]=1;c[b+336>>2]=0;c[b+328>>2]=0;d=b+332|0;c[d>>2]=0;Og(b);return}function jk(a,b){a=a|0;b=b|0;var d=0,e=0.0,g=0.0,h=0.0,i=0.0,j=0.0,k=0.0,l=0.0;d=Ta;Ta=Ta+64|0;c[d+48>>2]=0;c[d+48+4>>2]=0;c[d+48+8>>2]=0;c[d+48+12>>2]=0;i=+f[b>>2];g=+f[b+4>>2];l=+f[b+8>>2];j=+f[b+12>>2];h=i*(2.0/(i*i+g*g+l*l+j*j));e=g*(2.0/(i*i+g*g+l*l+j*j));k=l*(2.0/(i*i+g*g+l*l+j*j));f[d>>2]=1.0-(g*e+l*k);f[d+4>>2]=i*e-j*k;f[d+8>>2]=i*k+j*e;f[d+12>>2]=0.0;f[d+16>>2]=i*e+j*k;f[d+20>>2]=1.0-(i*h+l*k);f[d+24>>2]=g*k-j*h;f[d+28>>2]=0.0;f[d+32>>2]=i*k-j*e;f[d+36>>2]=g*k+j*h;f[d+40>>2]=1.0-(i*h+g*e);f[d+44>>2]=0.0;zd(a,d);Ta=d;return}function kk(a,b){a=a|0;b=+b;var d=0,e=0,g=0;e=Ta;Ta=Ta+16|0;Aj(14944);if((c[a+280>>2]|0)>0){d=0;do{g=c[(c[a+288>>2]|0)+(d<<2)>>2]|0;wb[c[(c[g>>2]|0)+8>>2]&31](g,a,b);d=d+1|0}while((d|0)<(c[a+280>>2]|0))}d=c[2760]|0;g=(c[d+16>>2]|0)+-1|0;c[d+16>>2]=g;if(g|0){Ta=e;return}do if(c[d+4>>2]|0){Pa(e|0,0)|0;g=c[6878]|0;f[d+8>>2]=+f[d+8>>2]+ +(((c[e+4>>2]|0)-(c[g+4>>2]|0)+(((c[e>>2]|0)-(c[g>>2]|0)|0)*1e6|0)-(c[d+12>>2]|0)|0)>>>0)/1.0e3;if(!(c[d+16>>2]|0)){d=c[2760]|0;break}else{Ta=e;return}}while(0);c[2760]=c[d+20>>2];Ta=e;return}function lk(b,d,e,g){b=b|0;d=d|0;e=+e;g=g|0;var h=0;h=Iw()|0;c[h>>2]=6192;a[h+144>>0]=1;c[h+140>>2]=0;c[h+132>>2]=0;c[h+136>>2]=0;c[h+176>>2]=g;f[h+56>>2]=.019999999552965164;c[h+60>>2]=0;c[h+60+4>>2]=0;c[h+60+8>>2]=0;c[h+60+12>>2]=0;a[h+170>>0]=1;c[h+8>>2]=b;f[h+52>>2]=e;f[h+48>>2]=0.0;c[h+12>>2]=d;a[h+171>>0]=1;f[h+172>>2]=0.0;f[h+16>>2]=0.0;f[h+20>>2]=0.0;f[h+44>>2]=29.399999618530273;f[h+24>>2]=55.0;f[h+28>>2]=10.0;a[h+168>>0]=0;a[h+169>>0]=0;a[h+180>>0]=1;f[h+36>>2]=.7853981852531433;f[h+40>>2]=.7071067690849304;f[h+108>>2]=0.0;a[h+181>>0]=0;a[h+182>>0]=0;return h|0}function mk(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0.0,g=0.0,h=0.0;a=D$(a)|0;d=+f[a+8>>2];if(+h$(d)>.7071067690849304){g=+f[a+4>>2];e=1.0/+g$(g*g+d*d);b=D$(b)|0;f[b>>2]=0.0;f[b+4>>2]=-(+f[a+8>>2]*e);f[b+8>>2]=+f[a+4>>2]*e;c=D$(c)|0;f[c>>2]=(g*g+d*d)*e;f[c+4>>2]=-(+f[a>>2]*+f[b+8>>2]);f[c+8>>2]=+f[a>>2]*+f[b+4>>2];return}else{d=+f[a>>2];e=+f[a+4>>2];g=1.0/+g$(d*d+e*e);b=D$(b)|0;f[b>>2]=-(e*g);h=+f[a>>2]*g;f[b+4>>2]=h;f[b+8>>2]=0.0;h=-(+f[a+8>>2]*h);c=D$(c)|0;f[c>>2]=h;f[c+4>>2]=+f[a+8>>2]*+f[b>>2];f[c+8>>2]=(d*d+e*e)*g;return}}function nk(b,d){b=b|0;d=d|0;var e=0,f=0;e=c[b+28>>2]|0;f=c[b+32>>2]|0;if(!(a[b+1301>>0]|0)){hg(b,d,Pf(b,d,0,e+4|0,f+4|0,e+312|0,f+312|0,e+328|0,f+328|0)|0,e+4|0,f+4|0,e+312|0,f+312|0,e+328|0,f+328|0)|0;return}else{Pf(b,d,hg(b,d,0,e+4|0,f+4|0,e+312|0,f+312|0,e+328|0,f+328|0)|0,e+4|0,f+4|0,e+312|0,f+312|0,e+328|0,f+328|0)|0;return}}function ok(a,b,d){a=a|0;b=b|0;d=d|0;do if(!((b|0)==8&(d|0)==8)){if((b|0)==8&(d|0)==1){b=a+76|0;break}if((b|0)==1&(d|0)==8){b=a+80|0;break}if(!(d|b)){b=a+72|0;break}if((b|0)<20&(d|0)==28){b=a+88|0;break}if((b|0)==28&(d|0)<20){b=a+84|0;break}if((b|0)<20){if((d|0)<20){b=a+32|0;break}if((d+-21|0)>>>0<9){b=a+36|0;break}}else{if((d|0)<20&(b+-21|0)>>>0<9){b=a+40|0;break}if((b|0)==31)if((d|0)==31){b=a+48|0;break}else{b=a+44|0;break}}if((d|0)==31){b=a+52|0;break}else{b=a+56|0;break}}else b=a+60|0;while(0);return c[b>>2]|0}function pk(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,g=0;g=Ta;Ta=Ta+16|0;c[a+4>>2]=c[b+40>>2];e=c[b>>2]|0;c[a+76>>2]=e;if(d){c[a+44>>2]=c[b+8>>2];c[a+44+4>>2]=c[b+8+4>>2];c[a+44+8>>2]=c[b+8+8>>2];c[a+44+12>>2]=c[b+8+12>>2]}else{d=D$(R_(e)|0)|0;lm(g,d,+f[b+8>>2],+f[b+12>>2],+f[b+16>>2]);c[a+44>>2]=c[g>>2];c[a+44+4>>2]=c[g+4>>2];c[a+44+8>>2]=c[g+8>>2];c[a+44+12>>2]=c[g+12>>2]}c[a+60>>2]=c[b+24>>2];c[a+60+4>>2]=c[b+24+4>>2];c[a+60+8>>2]=c[b+24+8>>2];c[a+60+12>>2]=c[b+24+12>>2];Ta=g;return +(+f[b+40>>2])}function qk(a,b,d,e,g){a=a|0;b=b|0;d=+d;e=e|0;g=g|0;var h=0,i=0.0,j=0.0,k=0.0,l=0.0,m=0.0;h=Ta;Ta=Ta+48|0;c[h+32>>2]=e;c[h+32+4>>2]=g;m=+f[b>>2];l=+f[b+4>>2];i=+f[b+8>>2];k=+f[a+56>>2]*m+ +f[a+60>>2]*l+ +f[a+64>>2]*i;j=m*+f[a+72>>2]+l*+f[a+76>>2]+i*+f[a+80>>2];i=m*+f[a+88>>2]+l*+f[a+92>>2]+i*+f[a+96>>2];c[h>>2]=c[a+48>>2];c[h+4>>2]=h+32;f[h+8>>2]=k;f[h+12>>2]=j;f[h+16>>2]=i;f[h+20>>2]=0.0;f[h+24>>2]=d;g=c[a+44>>2]|0;d=+Za[c[(c[g>>2]|0)+12>>2]&63](g,h,1);Ta=h;return +d}function rk(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var g=0,i=0.0,j=0.0,k=0.0,l=0,m=0;g=Ta;Ta=Ta+48|0;zb[c[(c[a>>2]|0)+124>>2]&127](a,g+32|0,e);m=c[g+32>>2]|0;l=c[g+32+4>>2]|0;e=c[g+32+8>>2]|0;c[b>>2]=m;c[b+4>>2]=l;c[b+8>>2]=e;f[b+12>>2]=0.0;b=c[(c[a>>2]|0)+64>>2]|0;k=-(c[h>>2]=m,+f[h>>2]);j=-(c[h>>2]=l,+f[h>>2]);i=-(c[h>>2]=e,+f[h>>2]);f[g>>2]=k;f[g+4>>2]=j;f[g+8>>2]=i;f[g+12>>2]=0.0;zb[b&127](g+16|0,a,g);c[d>>2]=c[g+16>>2];c[d+4>>2]=c[g+16+4>>2];c[d+8>>2]=c[g+16+8>>2];c[d+12>>2]=c[g+16+12>>2];Ta=g;return}function sk(a,b,d,e){a=a|0;b=b|0;d=+d;e=e|0;if(e>>>0<3)switch(b|0){case 2:{f[a+756+(e<<2)>>2]=d;c[a+1304>>2]=c[a+1304>>2]|4<>2]=d;c[a+1304>>2]=c[a+1304>>2]|2<>2]=d;c[a+1304>>2]=c[a+1304>>2]|1<>>0>=3)return;switch(b|0){case 2:{f[a+868+(e+-3<<6)+32>>2]=d;c[a+1304>>2]=c[a+1304>>2]|4<>2]=d;c[a+1304>>2]=c[a+1304>>2]|2<>2]=d;c[a+1304>>2]=c[a+1304>>2]|1<>2]=6192;a[g+144>>0]=1;c[g+140>>2]=0;c[g+132>>2]=0;c[g+136>>2]=0;c[g+176>>2]=1;f[g+56>>2]=.019999999552965164;c[g+60>>2]=0;c[g+60+4>>2]=0;c[g+60+8>>2]=0;c[g+60+12>>2]=0;a[g+170>>0]=1;c[g+8>>2]=b;f[g+52>>2]=e;f[g+48>>2]=0.0;c[g+12>>2]=d;a[g+171>>0]=1;f[g+172>>2]=0.0;f[g+16>>2]=0.0;f[g+20>>2]=0.0;f[g+44>>2]=29.399999618530273;f[g+24>>2]=55.0;f[g+28>>2]=10.0;a[g+168>>0]=0;a[g+169>>0]=0;a[g+180>>0]=1;f[g+36>>2]=.7853981852531433;f[g+40>>2]=.7071067690849304;f[g+108>>2]=0.0;a[g+181>>0]=0;a[g+182>>0]=0;return g|0}function uk(a,b){a=a|0;b=b|0;var c=0,d=0.0,e=0.0,g=0.0,h=0.0,i=0.0;c=Ta;Ta=Ta+48|0;d=2.0/+cV(b);g=+f[(D$(b)|0)>>2];e=+f[(R_(b)|0)>>2];i=+f[(Q_(b)|0)>>2];h=+f[(O_(b)|0)>>2];f[c+32>>2]=1.0-(e*(e*d)+i*(i*d));f[c+28>>2]=g*(e*d)-h*(i*d);f[c+24>>2]=g*(i*d)+h*(e*d);f[c+20>>2]=g*(e*d)+h*(i*d);f[c+16>>2]=1.0-(g*(g*d)+i*(i*d));f[c+12>>2]=e*(i*d)-h*(g*d);f[c+8>>2]=g*(i*d)-h*(e*d);f[c+4>>2]=e*(i*d)+h*(g*d);f[c>>2]=1.0-(g*(g*d)+e*(e*d));Lp(a,c+32|0,c+28|0,c+24|0,c+20|0,c+16|0,c+12|0,c+8|0,c+4|0,c);Ta=c;return}function vk(b,d,e,g){b=b|0;d=d|0;e=e|0;g=g|0;var h=0;h=fx()|0;c[h+4>>2]=3;c[h+8>>2]=-1;c[h+12>>2]=-1;f[h+16>>2]=3402823466385288598117041.0e14;a[h+20>>0]=1;a[h+21>>0]=0;c[h+24>>2]=-1;c[h+28>>2]=b;c[h+32>>2]=d;f[h+36>>2]=0.0;f[h+40>>2]=.30000001192092896;c[h+44>>2]=0;c[h>>2]=5744;c[h+300>>2]=c[e>>2];c[h+300+4>>2]=c[e+4>>2];c[h+300+8>>2]=c[e+8>>2];c[h+300+12>>2]=c[e+12>>2];c[h+316>>2]=c[g>>2];c[h+316+4>>2]=c[g+4>>2];c[h+316+8>>2]=c[g+8>>2];c[h+316+12>>2]=c[g+12>>2];c[h+332>>2]=0;a[h+344>>0]=0;f[h+348>>2]=.30000001192092896;f[h+352>>2]=1.0;f[h+356>>2]=0.0;return h|0}function wk(b){b=b|0;var d=0;c[b>>2]=10336;d=c[b+64>>2]|0;if(d|0){if(a[b+68>>0]|0){c[6880]=(c[6880]|0)+1;kd(c[d+-4>>2]|0)}c[b+64>>2]=0}a[b+68>>0]=1;c[b+64>>2]=0;c[b+56>>2]=0;c[b+60>>2]=0;d=c[b+44>>2]|0;if(d|0){if(a[b+48>>0]|0){c[6880]=(c[6880]|0)+1;kd(c[d+-4>>2]|0)}c[b+44>>2]=0}a[b+48>>0]=1;c[b+44>>2]=0;c[b+36>>2]=0;c[b+40>>2]=0;d=c[b+16>>2]|0;if(!d){a[b+20>>0]=1;c[b+16>>2]=0;c[b+8>>2]=0;b=b+12|0;c[b>>2]=0;return}if(a[b+20>>0]|0){c[6880]=(c[6880]|0)+1;kd(c[d+-4>>2]|0)}c[b+16>>2]=0;a[b+20>>0]=1;c[b+16>>2]=0;c[b+8>>2]=0;b=b+12|0;c[b>>2]=0;return}function xk(b){b=b|0;var d=0;c[b>>2]=5556;d=c[b+80>>2]|0;if(d|0){if(a[b+84>>0]|0){c[6880]=(c[6880]|0)+1;kd(c[d+-4>>2]|0)}c[b+80>>2]=0}a[b+84>>0]=1;c[b+80>>2]=0;c[b+72>>2]=0;c[b+76>>2]=0;d=c[b+60>>2]|0;if(d|0){if(a[b+64>>0]|0){c[6880]=(c[6880]|0)+1;kd(c[d+-4>>2]|0)}c[b+60>>2]=0}a[b+64>>0]=1;c[b+60>>2]=0;c[b+52>>2]=0;c[b+56>>2]=0;d=c[b+40>>2]|0;if(!d){a[b+44>>0]=1;c[b+40>>2]=0;c[b+32>>2]=0;b=b+36|0;c[b>>2]=0;return}if(a[b+44>>0]|0){c[6880]=(c[6880]|0)+1;kd(c[d+-4>>2]|0)}c[b+40>>2]=0;a[b+44>>0]=1;c[b+40>>2]=0;c[b+32>>2]=0;b=b+36|0;c[b>>2]=0;return}function yk(b){b=b|0;var d=0;c[b>>2]=6772;d=c[b+56>>2]|0;if(d|0){if(a[b+60>>0]|0){c[6880]=(c[6880]|0)+1;kd(c[d+-4>>2]|0)}c[b+56>>2]=0}a[b+60>>0]=1;c[b+56>>2]=0;c[b+48>>2]=0;c[b+52>>2]=0;d=c[b+36>>2]|0;if(d|0){if(a[b+40>>0]|0){c[6880]=(c[6880]|0)+1;kd(c[d+-4>>2]|0)}c[b+36>>2]=0}a[b+40>>0]=1;c[b+36>>2]=0;c[b+28>>2]=0;c[b+32>>2]=0;d=c[b+16>>2]|0;if(!d){d=b+12|0;a[b+20>>0]=1;c[b+16>>2]=0;c[b+8>>2]=0;c[d>>2]=0;return}if(a[b+20>>0]|0){c[6880]=(c[6880]|0)+1;kd(c[d+-4>>2]|0)}c[b+16>>2]=0;d=b+12|0;a[b+20>>0]=1;c[b+16>>2]=0;c[b+8>>2]=0;c[d>>2]=0;return}function zk(b){b=b|0;var d=0;c[b>>2]=10936;d=c[b+60>>2]|0;if(d|0){if(a[b+64>>0]|0){c[6880]=(c[6880]|0)+1;kd(c[d+-4>>2]|0)}c[b+60>>2]=0}a[b+64>>0]=1;c[b+60>>2]=0;c[b+52>>2]=0;c[b+56>>2]=0;d=c[b+40>>2]|0;if(d|0){if(a[b+44>>0]|0){c[6880]=(c[6880]|0)+1;kd(c[d+-4>>2]|0)}c[b+40>>2]=0}a[b+44>>0]=1;c[b+40>>2]=0;c[b+32>>2]=0;c[b+36>>2]=0;d=c[b+16>>2]|0;if(!d){a[b+20>>0]=1;c[b+16>>2]=0;c[b+8>>2]=0;b=b+12|0;c[b>>2]=0;return}if(a[b+20>>0]|0){c[6880]=(c[6880]|0)+1;kd(c[d+-4>>2]|0)}c[b+16>>2]=0;a[b+20>>0]=1;c[b+16>>2]=0;c[b+8>>2]=0;b=b+12|0;c[b>>2]=0;return}function Ak(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;b=c[d>>2]|0;b=gb[c[(c[b>>2]|0)+56>>2]&63](b,156)|0;d=c[d>>2]|0;c[b+4>>2]=d;c[b>>2]=4840;a[b+8>>0]=1;c[b+12>>2]=5052;c[b+60>>2]=d;c[b+64>>2]=0;a[b+88>>0]=1;c[b+84>>2]=0;c[b+76>>2]=0;c[b+80>>2]=0;a[b+108>>0]=1;c[b+104>>2]=0;c[b+96>>2]=0;c[b+100>>2]=0;a[b+128>>0]=1;c[b+124>>2]=0;c[b+116>>2]=0;c[b+120>>2]=0;a[b+148>>0]=1;c[b+144>>2]=0;c[b+136>>2]=0;c[b+140>>2]=0;c[b+16>>2]=c[f+8>>2];c[b+20>>2]=c[e+8>>2];qj(b+72|0);return b|0}function Bk(a,b,d,e){a=a|0;b=+b;d=d|0;e=e|0;var g=0,h=0;g=Ta;Ta=Ta+64|0;h=vZ(d)|0;c[g+48>>2]=c[h>>2];c[g+48+4>>2]=c[h+4>>2];c[g+48+8>>2]=c[h+8>>2];c[g+48+12>>2]=c[h+12>>2];d=D$(d)|0;$t(g+32|0,d,1);$t(g+16|0,d,0);Eb[c[(c[a>>2]|0)+64>>2]&31](a,g+48|0,g+32|0,g+16|0,b,-1.5707963705062866,1.5707963705062866,-1.5707963705062866,1.5707963705062866,e,30.0,0);d=c[(c[a>>2]|0)+64>>2]|0;zt(g,+f[g+16>>2],+f[g+16+4>>2],+f[g+16+8>>2]);Eb[d&31](a,g+48|0,g+32|0,g,b,-1.5707963705062866,1.5707963705062866,-1.5707963705062866,1.5707963705062866,e,30.0,0);Ta=g;return}function Ck(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;b=c[d>>2]|0;b=gb[c[(c[b>>2]|0)+56>>2]&63](b,156)|0;d=c[d>>2]|0;c[b+4>>2]=d;c[b>>2]=4840;a[b+8>>0]=0;c[b+12>>2]=5052;c[b+60>>2]=d;c[b+64>>2]=0;a[b+88>>0]=1;c[b+84>>2]=0;c[b+76>>2]=0;c[b+80>>2]=0;a[b+108>>0]=1;c[b+104>>2]=0;c[b+96>>2]=0;c[b+100>>2]=0;a[b+128>>0]=1;c[b+124>>2]=0;c[b+116>>2]=0;c[b+120>>2]=0;a[b+148>>0]=1;c[b+144>>2]=0;c[b+136>>2]=0;c[b+140>>2]=0;c[b+16>>2]=c[e+8>>2];c[b+20>>2]=c[f+8>>2];qj(b+72|0);return b|0}function Dk(a,b,d,e,g,h){a=a|0;b=b|0;d=d|0;e=+e;g=g|0;h=h|0;var i=0;i=Ta;Ta=Ta+64|0;c[i+48>>2]=g;c[i+48+4>>2]=h;g=c[a+212>>2]|0;if(!(+f[g+4>>2]>=e)){Ta=i;return +e}c[i>>2]=c[a+216>>2];c[i+4>>2]=i+48;c[i+8>>2]=c[b>>2];c[i+8+4>>2]=c[b+4>>2];c[i+8+8>>2]=c[b+8>>2];c[i+8+12>>2]=c[b+12>>2];c[i+24>>2]=c[d>>2];c[i+24+4>>2]=c[d+4>>2];c[i+24+8>>2]=c[d+8>>2];c[i+24+12>>2]=c[d+12>>2];f[i+40>>2]=e;e=+Za[c[(c[g>>2]|0)+12>>2]&63](g,i,0);Ta=i;return +e}function Ek(a,b,d,e,g,h){a=a|0;b=b|0;d=d|0;e=+e;g=g|0;h=h|0;var i=0;i=Ta;Ta=Ta+64|0;c[i+48>>2]=g;c[i+48+4>>2]=h;g=c[a+212>>2]|0;if(!(+f[g+4>>2]>=e)){Ta=i;return +e}c[i>>2]=c[a+216>>2];c[i+4>>2]=i+48;c[i+8>>2]=c[b>>2];c[i+8+4>>2]=c[b+4>>2];c[i+8+8>>2]=c[b+8>>2];c[i+8+12>>2]=c[b+12>>2];c[i+24>>2]=c[d>>2];c[i+24+4>>2]=c[d+4>>2];c[i+24+8>>2]=c[d+8>>2];c[i+24+12>>2]=c[d+12>>2];f[i+40>>2]=e;e=+Za[c[(c[g>>2]|0)+12>>2]&63](g,i,1);Ta=i;return +e}function Fk(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;f=c[e+16>>2]|0;if(!f){if(!(dp(e)|0)){f=c[e+16>>2]|0;g=5}}else g=5;a:do if((g|0)==5){g=c[e+20>>2]|0;if((f-g|0)>>>0>>0){ib[c[e+36>>2]&63](e,b,d)|0;break}b:do if((a[e+75>>0]|0)<0|(d|0)==0)f=d;else{h=d;while(1){f=h+-1|0;if((a[b+f>>0]|0)==10)break;if(!f){f=d;break b}else h=f}if((ib[c[e+36>>2]&63](e,b,h)|0)>>>0>>0)break a;g=c[e+20>>2]|0;f=d-h|0;b=b+h|0}while(0);oi(g|0,b|0,f|0)|0;c[e+20>>2]=(c[e+20>>2]|0)+f}while(0);return}function Gk(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=Ta;Ta=Ta+32|0;c[a+8>>2]=c[b>>2];Ko(a+20|0,b);if(d){c[e+16>>2]=c[b+8>>2];c[e+16+4>>2]=c[b+8+4>>2];c[e+16+8>>2]=c[b+8+8>>2];c[e+16+12>>2]=c[b+8+12>>2]}else{d=D$(R_(c[a+8>>2]|0)|0)|0;lm(e+16|0,d,+f[b+8>>2],+f[b+12>>2],+f[b+16>>2])}Om(a+72|0,e+16|0);rq(e,a+40|0,a+56|0,+f[b+24>>2]);Om(a+92|0,e);Ko(a+112|0,b+24|0);Ta=e;return +(+f[a+4>>2])}function Hk(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,g=0.0,h=0.0,i=0.0,j=0.0,k=0.0;e=Ta;Ta=Ta+16|0;zb[c[(c[b>>2]|0)+68>>2]&127](e,b,d);c[a>>2]=c[e>>2];c[a+4>>2]=c[e+4>>2];c[a+8>>2]=c[e+8>>2];c[a+12>>2]=c[e+12>>2];i=+f[d>>2];g=+f[d+4>>2];h=+f[d+8>>2];k=i*i+g*g+h*h<1.4210854715202004e-14?-1.0:i;j=i*i+g*g+h*h<1.4210854715202004e-14?-1.0:g;h=i*i+g*g+h*h<1.4210854715202004e-14?-1.0:h;g=1.0/+s(+(h*h+(k*k+j*j)));i=+Wa[c[(c[b>>2]|0)+48>>2]&31](b);f[a>>2]=+f[a>>2]+i*(k*g);f[a+4>>2]=+f[a+4>>2]+i*(j*g);f[a+8>>2]=+f[a+8>>2]+i*(h*g);Ta=e;return}function Ik(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=Ta;Ta=Ta+48|0;e=_W(b,0)|0;f[d+32>>2]=+qp(c,e);f[d+28>>2]=+cp(c,e);f[d+24>>2]=+bp(c,e);e=_W(b,1)|0;f[d+20>>2]=+qp(c,e);f[d+16>>2]=+cp(c,e);f[d+12>>2]=+bp(c,e);b=_W(b,2)|0;f[d+8>>2]=+qp(c,b);f[d+4>>2]=+cp(c,b);f[d>>2]=+bp(c,b);jr(a,d+32|0,d+28|0,d+24|0,d+20|0,d+16|0,d+12|0,d+8|0,d+4|0,d);Ta=d;return}function Jk(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;d=c[b+188>>2]|0;if(d|0){g=c[a+68>>2]|0;g=eb[c[(c[g>>2]|0)+36>>2]&255](g)|0;zb[c[(c[g>>2]|0)+40>>2]&127](g,d,c[a+24>>2]|0);g=c[a+68>>2]|0;zb[c[(c[g>>2]|0)+12>>2]&127](g,d,c[a+24>>2]|0);c[b+188>>2]=0}f=c[a+8>>2]|0;if((f|0)<=0)return;g=c[a+16>>2]|0;d=0;while(1){e=g+(d<<2)|0;if((c[e>>2]|0)==(b|0))break;d=d+1|0;if((d|0)>=(f|0)){h=9;break}}if((h|0)==9)return;if((d|0)>=(f|0))return;c[e>>2]=c[g+(f+-1<<2)>>2];c[(c[a+16>>2]|0)+(f+-1<<2)>>2]=b;c[a+8>>2]=f+-1;return}function Kk(a,b,d,f){a=a|0;b=b|0;d=d|0;f=f|0;var g=0,h=0,i=0;while(1){g=c[a+12>>2]|0;if(!(((e[f>>1]|0)>=(e[a>>1]|0)?(e[d>>1]|0)<=(e[a+6>>1]|0):0)&(e[d+4>>1]|0)<=(e[a+10>>1]|0)&(e[f+4>>1]|0)>=(e[a+4>>1]|0)&(e[d+2>>1]|0)<=(e[a+8>>1]|0)&(e[f+2>>1]|0)>=(e[a+2>>1]|0))){h=6;break}if((g|0)>-1)break;i=a+16|0;Kk(i,b,d,f);g=c[a+28>>2]|0;a=(g|0)>-1?a+32|0:i+(0-g<<4)|0}if((h|0)==6)return;zb[c[(c[b>>2]|0)+8>>2]&127](b,21?g>>>21:g,g&2097151);return}function Lk(a,b,c,d){a=a|0;b=b|0;c=+c;d=+d;var e=0.0,g=0.0,h=0.0,i=0.0,j=0.0,k=0.0;i=+u(+c);h=+v(+c);c=+f[b+444>>2];if(+r(+i)>1.1920928955078125e-07){e=+f[b+448>>2];c=+s(+((h*h/(i*i)+1.0)/(1.0/(e*e)+h*h/(i*i)/(c*c))));e=h*h;g=i*i}else{e=h*h;g=i*i}j=c*.5;g=+v(+j)/+s(+(e+(g+0.0)));j=+u(+j);k=j*d+i*g*0.0-h*g*-0.0;e=j*0.0-h*g*d-g*0.0*0.0;c=j*0.0+g*0.0*0.0-i*g*d;d=-(g*0.0*d)-i*g*0.0-h*g*-0.0;f[a>>2]=h*g*e+(j*k+d*-(g*0.0))-c*-(i*g);f[a+4>>2]=c*-(g*0.0)+(j*e+d*-(i*g))-h*g*k;f[a+8>>2]=k*-(i*g)+(h*g*d+j*c)-e*-(g*0.0);f[a+12>>2]=0.0;return}function Mk(b,d){b=b|0;d=+d;var e=0,g=0,h=0.0,i=0;h=1.0/+f[(c[b+116>>2]|0)+344>>2];e=c[b+156>>2]|0;if((e|0)<=0)return;g=c[b+164>>2]|0;i=0;do{do if(!(a[g+(i*284|0)+84>>0]|0)){d=+f[b+140>>2];if(d>0.0){f[g+(i*284|0)+276>>2]=-(h*d);break}else{f[g+(i*284|0)+276>>2]=0.0;break}}else{d=+f[g+(i*284|0)+272>>2];d=h*(+f[g+(i*284|0)+216>>2]*(+f[g+(i*284|0)+204>>2]-+f[g+(i*284|0)+32>>2])*+f[g+(i*284|0)+268>>2]-d*+f[(d<0.0?g+(i*284|0)+220|0:g+(i*284|0)+224|0)>>2]);f[g+(i*284|0)+276>>2]=d<0.0?0.0:d}while(0);i=i+1|0}while((i|0)!=(e|0));return}function Nk(b,d,e){b=b|0;d=d|0;e=e|0;b=pZ(172)|0;c[b>>2]=6068;a[b+20>>0]=1;c[b+16>>2]=0;c[b+8>>2]=0;c[b+12>>2]=0;a[b+40>>0]=1;c[b+36>>2]=0;c[b+28>>2]=0;c[b+32>>2]=0;a[b+60>>0]=1;c[b+56>>2]=0;c[b+48>>2]=0;c[b+52>>2]=0;a[b+80>>0]=1;c[b+76>>2]=0;c[b+68>>2]=0;c[b+72>>2]=0;c[b+100>>2]=e;f[b+104>>2]=0.0;a[b+168>>0]=1;c[b+164>>2]=0;c[b+156>>2]=0;c[b+160>>2]=0;c[b+116>>2]=d;c[b+120>>2]=0;c[b+124>>2]=2;c[b+128>>2]=1;a[b+132>>0]=0;c[b+136>>2]=4;f[b+140>>2]=0.0;f[b+144>>2]=0.0;f[b+148>>2]=0.0;f[b+112>>2]=0.0;f[b+108>>2]=0.0;return b|0}function Ok(b,d){b=b|0;d=d|0;var e=0,g=0,h=0;f[b+16>>2]=0.0;f[b+20>>2]=0.0;a[b+168>>0]=0;a[b+169>>0]=0;f[b+172>>2]=0.0;c[b+60>>2]=0;c[b+60+4>>2]=0;c[b+60+8>>2]=0;c[b+60+12>>2]=0;b=c[(c[b+8>>2]|0)+284>>2]|0;if((c[(eb[c[(c[b>>2]|0)+28>>2]&255](b)|0)+4>>2]|0)<=0)return;do{g=c[b>>2]|0;h=c[g+12>>2]|0;g=c[c[(eb[c[g+28>>2]&255](b)|0)+12>>2]>>2]|0;e=c[(c[(eb[c[(c[b>>2]|0)+28>>2]&255](b)|0)+12>>2]|0)+4>>2]|0;jb[h&63](b,g,e,c[d+24>>2]|0)|0}while((c[(eb[c[(c[b>>2]|0)+28>>2]&255](b)|0)+4>>2]|0)>0);return}function Pk(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;c[6853]=(c[6853]|0)+-1;vb[c[(c[a>>2]|0)+20>>2]&255](a,b);e=c[b+768>>2]|0;d=(c[a+12>>2]|0)+-1|0;g=c[a+20>>2]|0;f=c[g+(e<<2)>>2]|0;c[g+(e<<2)>>2]=c[g+(d<<2)>>2];c[(c[a+20>>2]|0)+(d<<2)>>2]=f;c[(c[(c[a+20>>2]|0)+(e<<2)>>2]|0)+768>>2]=e;c[a+12>>2]=d;a=c[a+68>>2]|0;if(!b)return;g=c[a+16>>2]|0;if(g>>>0<=b>>>0?(g+(z(c[a>>2]|0,c[a+4>>2]|0)|0)|0)>>>0>b>>>0:0){c[b>>2]=c[a+12>>2];c[a+12>>2]=b;c[a+8>>2]=(c[a+8>>2]|0)+1;return}c[6880]=(c[6880]|0)+1;kd(c[b+-4>>2]|0);return}function Qk(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0.0,k=0.0,l=0.0,m=0.0,n=0.0;if((e|0)<=0)return;g=0;do{n=+f[b+(g<<4)>>2];m=+f[b+(g<<4)+4>>2];j=+f[b+(g<<4)+8>>2];k=n*+f[a+56>>2]+m*+f[a+60>>2]+j*+f[a+64>>2];l=n*+f[a+72>>2]+m*+f[a+76>>2]+j*+f[a+80>>2];j=n*+f[a+88>>2]+m*+f[a+92>>2]+j*+f[a+96>>2];i=a+56+((k>2]=c[i>>2];c[h+4>>2]=c[i+4>>2];c[h+8>>2]=c[i+8>>2];c[h+12>>2]=c[i+12>>2];g=g+1|0}while((g|0)!=(e|0));return}function Rk(a,b){a=a|0;b=+b;var d=0,e=0;d=Ta;Ta=Ta+16|0;$e(a,b);Aj(14701);a=c[a+452>>2]|0;qb[c[(c[a>>2]|0)+24>>2]&63](a,b);a=c[2760]|0;e=(c[a+16>>2]|0)+-1|0;c[a+16>>2]=e;if(e|0){Ta=d;return}do if(c[a+4>>2]|0){Pa(d|0,0)|0;e=c[6878]|0;f[a+8>>2]=+f[a+8>>2]+ +(((c[d+4>>2]|0)-(c[e+4>>2]|0)+(((c[d>>2]|0)-(c[e>>2]|0)|0)*1e6|0)-(c[a+12>>2]|0)|0)>>>0)/1.0e3;if(!(c[a+16>>2]|0)){a=c[2760]|0;break}else{Ta=d;return}}while(0);c[2760]=c[a+20>>2];Ta=d;return}function Sk(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;do switch(b|0){case 0:{b=0;f=1;break}case 1:{b=0;f=2;break}case 2:{b=1;f=3;break}case 3:{b=2;f=3;break}case 4:{b=0;f=4;break}case 5:{b=1;f=5;break}case 6:{b=2;f=6;break}case 7:{b=3;f=7;break}case 8:{b=4;f=5;break}case 9:{b=4;f=6;break}case 10:{b=5;f=7;break}case 11:{b=6;f=7;break}default:{b=0;f=0}}while(0);zb[c[(c[a>>2]|0)+108>>2]&127](a,b,d);zb[c[(c[a>>2]|0)+108>>2]&127](a,f,e);return}function Tk(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var g=0.0,h=0.0,i=0.0,j=0.0,k=0.0,l=0.0,m=0.0;h=+f[a+56>>2];k=+f[a+72>>2]-h;j=+f[a+60>>2];i=+f[a+76>>2]-j;l=+f[a+64>>2];m=+f[a+80>>2]-l;h=+f[a+88>>2]-h;j=+f[a+92>>2]-j;l=+f[a+96>>2]-l;f[d+12>>2]=0.0;g=1.0/+s(+((k*j-i*h)*(k*j-i*h)+((i*l-m*j)*(i*l-m*j)+(m*h-k*l)*(m*h-k*l))));f[d>>2]=(i*l-m*j)*g;f[d+4>>2]=(m*h-k*l)*g;f[d+8>>2]=(k*j-i*h)*g;c[e>>2]=c[a+56>>2];c[e+4>>2]=c[a+56+4>>2];c[e+8>>2]=c[a+56+8>>2];c[e+12>>2]=c[a+56+12>>2];return}function Uk(b){b=b|0;var d=0,e=0,f=0;c[b>>2]=7500;d=c[b+12>>2]|0;if((d|0)>0){f=0;do{e=c[(c[b+20>>2]|0)+(f<<2)>>2]|0;if(e|0){pb[c[c[e>>2]>>2]&511](e);e=c[b+4>>2]|0;vb[c[(c[e>>2]|0)+60>>2]&255](e,c[(c[b+20>>2]|0)+(f<<2)>>2]|0)}f=f+1|0}while((f|0)!=(d|0))}d=c[b+20>>2]|0;if(!d){a[b+24>>0]=1;c[b+20>>2]=0;c[b+12>>2]=0;b=b+16|0;c[b>>2]=0;return}if(a[b+24>>0]|0){c[6880]=(c[6880]|0)+1;kd(c[d+-4>>2]|0)}c[b+20>>2]=0;a[b+24>>0]=1;c[b+20>>2]=0;c[b+12>>2]=0;b=b+16|0;c[b>>2]=0;return}function Vk(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0.0,g=0.0,h=0.0,i=0.0,j=0.0,k=0.0;h=+f[a+56>>2];g=+f[a+72>>2]-h;k=+f[a+60>>2];j=+f[a+76>>2]-k;e=+f[a+64>>2];i=+f[a+80>>2]-e;h=+f[a+88>>2]-h;k=+f[a+92>>2]-k;e=+f[a+96>>2]-e;f[c+12>>2]=0.0;d=1.0/+s(+((g*k-j*h)*(g*k-j*h)+((j*e-i*k)*(j*e-i*k)+(i*h-g*e)*(i*h-g*e))));f[c>>2]=(j*e-i*k)*d;f[c+4>>2]=(i*h-g*e)*d;f[c+8>>2]=(g*k-j*h)*d;if(!b)return;f[c>>2]=-((j*e-i*k)*d);f[c+4>>2]=-((i*h-g*e)*d);f[c+8>>2]=-((g*k-j*h)*d);return}function Wk(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;g=c[a+720>>2]|0;h=c[a+752>>2]|0;if((h|0)<=0){e=0;return e|0}a=c[a+760>>2]|0;f=0;while(1){i=c[a+(f*44|0)+8>>2]|0;if(((i|0)==(g+(e*104|0)|0)|((i|0)==(g+(b*104|0)|0)|(i|0)==(g+(d*104|0)|0))?(i=c[a+(f*44|0)+12>>2]|0,(i|0)==(g+(e*104|0)|0)|((i|0)==(g+(b*104|0)|0)|(i|0)==(g+(d*104|0)|0))):0)?(i=c[a+(f*44|0)+16>>2]|0,(i|0)==(g+(e*104|0)|0)|((i|0)==(g+(b*104|0)|0)|(i|0)==(g+(d*104|0)|0))):0){a=1;f=7;break}f=f+1|0;if((f|0)>=(h|0)){a=0;f=7;break}}if((f|0)==7)return a|0;return 0}function Xk(b,d){b=b|0;d=d|0;do if(b){if(d>>>0<128){a[b>>0]=d;b=1;break}if(!(c[6891]|0)){if((d&-128|0)!=57216){b=-1;break}a[b>>0]=d;b=1;break}if(d>>>0<2048){a[b>>0]=(6?d>>>6:d)|192;a[b+1>>0]=d&63|128;b=2;break}if(d>>>0<55296|(d&-8192|0)==57344){a[b>>0]=(12?d>>>12:d)|224;a[b+1>>0]=(6?d>>>6:d)&63|128;a[b+2>>0]=d&63|128;b=3;break}if((d+-65536|0)>>>0<1048576){a[b>>0]=(18?d>>>18:d)|240;a[b+1>>0]=(12?d>>>12:d)&63|128;a[b+2>>0]=(6?d>>>6:d)&63|128;a[b+3>>0]=d&63|128;b=4}else b=-1}else b=1;while(0);return b|0}function Yk(a,b){a=a|0;b=b|0;var c=0;c=Ta;Ta=Ta+48|0;f[c+32>>2]=+qp(b,a);f[c+28>>2]=+cp(b,a);f[c+24>>2]=+bp(b,a);f[c+20>>2]=+qp(b,a+16|0);f[c+16>>2]=+cp(b,a+16|0);f[c+12>>2]=+bp(b,a+16|0);f[c+8>>2]=+qp(b,a+32|0);f[c+4>>2]=+cp(b,a+32|0);f[c>>2]=+bp(b,a+32|0);Lp(a,c+32|0,c+28|0,c+24|0,c+20|0,c+16|0,c+12|0,c+8|0,c+4|0,c);Ta=c;return}function Zk(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var g=0.0,h=0.0,i=0,j=0;i=c[a+96>>2]|0;j=c[a+104>>2]|0;g=+f[j+(((b|0)%(i|0)|0)<<4)+4>>2]*+f[a+16>>2];h=+f[j+(((b|0)%(i|0)|0)<<4)+8>>2]*+f[a+20>>2];f[d>>2]=+f[j+(((b|0)%(i|0)|0)<<4)>>2]*+f[a+12>>2];f[d+4>>2]=g;f[d+8>>2]=h;f[d+12>>2]=0.0;d=c[a+104>>2]|0;h=+f[d+(((b+1|0)%(i|0)|0)<<4)+4>>2]*+f[a+16>>2];g=+f[d+(((b+1|0)%(i|0)|0)<<4)+8>>2]*+f[a+20>>2];f[e>>2]=+f[d+(((b+1|0)%(i|0)|0)<<4)>>2]*+f[a+12>>2];f[e+4>>2]=h;f[e+8>>2]=g;f[e+12>>2]=0.0;return}function _k(a,b){a=a|0;b=b|0;var d=0,e=0,g=0.0,h=0,i=0;e=Ta;Ta=Ta+32|0;d=c[a+184>>2]|0;if(+f[d+4>>2]==0.0){a=0;Ta=e;return a|0}b=c[b>>2]|0;if(!(gb[c[(c[d>>2]|0)+8>>2]&63](d,c[b+188>>2]|0)|0)){a=1;Ta=e;return a|0}h=c[a+192>>2]|0;i=c[b+192>>2]|0;d=c[a+184>>2]|0;g=+f[a+188>>2];c[e>>2]=0;c[e+4>>2]=i;c[e+8>>2]=b;c[e+12>>2]=b+4;c[e+16>>2]=-1;c[e+20>>2]=-1;gc(h,a+36|0,a+100|0,e,d,g);a=1;Ta=e;return a|0}function $k(a,b){a=a|0;b=b|0;var d=0;d=Ta;Ta=Ta+16|0;c[d>>2]=c[b>>2];c[d+4>>2]=c[b+4>>2];c[d+8>>2]=c[b+8>>2];c[d+12>>2]=c[b+12>>2];a=c[a+8>>2]|0;c[a+260>>2]=(c[a+260>>2]|0)+1;c[a+4>>2]=1065353216;c[a+8>>2]=0;c[a+8+4>>2]=0;c[a+8+8>>2]=0;c[a+8+12>>2]=0;c[a+24>>2]=1065353216;c[a+28>>2]=0;c[a+28+4>>2]=0;c[a+28+8>>2]=0;c[a+28+12>>2]=0;c[a+44>>2]=1065353216;c[a+48>>2]=0;c[a+52>>2]=c[d>>2];c[a+52+4>>2]=c[d+4>>2];c[a+52+8>>2]=c[d+8>>2];c[a+52+12>>2]=c[d+12>>2];Ta=d;return}function al(a){a=a|0;var b=0,d=0;b=Ta;Ta=Ta+16|0;Aj(18104);d=c[a+68>>2]|0;vb[c[(c[d>>2]|0)+32>>2]&255](d,c[a+24>>2]|0);a=c[2760]|0;d=(c[a+16>>2]|0)+-1|0;c[a+16>>2]=d;if(d|0){Ta=b;return}do if(c[a+4>>2]|0){Pa(b|0,0)|0;d=c[6878]|0;f[a+8>>2]=+f[a+8>>2]+ +(((c[b+4>>2]|0)-(c[d+4>>2]|0)+(((c[b>>2]|0)-(c[d>>2]|0)|0)*1e6|0)-(c[a+12>>2]|0)|0)>>>0)/1.0e3;if(!(c[a+16>>2]|0)){a=c[2760]|0;break}else{Ta=b;return}}while(0);c[2760]=c[a+20>>2];Ta=b;return}function bl(d,e,f){d=d|0;e=e|0;f=f|0;var g=0,h=0;h=Ta;Ta=Ta+64|0;if(!(zy(d,e,0)|0))if((e|0)!=0?(g=tj(e,3568)|0,(g|0)!=0):0){c[h>>2]=g;c[h+4>>2]=0;c[h+8>>2]=d;c[h+12>>2]=-1;d=h+16|0;e=d+36|0;do{c[d>>2]=0;d=d+4|0}while((d|0)<(e|0));b[h+16+36>>1]=0;a[h+16+38>>0]=0;c[h+48>>2]=1;Cb[c[(c[g>>2]|0)+28>>2]&127](g,h,c[f>>2]|0,1);if((c[h+24>>2]|0)==1){c[f>>2]=c[h+16>>2];d=1}else d=0}else d=0;else d=1;Ta=h;return d|0}function cl(a,b){a=a|0;b=b|0;var d=0.0,e=0.0,g=0.0,h=0.0,i=0.0,j=0.0,k=0.0,l=0.0,m=0.0;k=+Wa[c[(c[a>>2]|0)+48>>2]&31](a);h=+Wa[c[(c[a>>2]|0)+48>>2]&31](a);d=+Wa[c[(c[a>>2]|0)+48>>2]&31](a);m=(k+ +f[a+28>>2])/+f[a+12>>2];j=(h+ +f[a+32>>2])/+f[a+16>>2];g=(d+ +f[a+36>>2])/+f[a+20>>2];l=+r(+(+f[b>>2]));i=+r(+(+f[b+4>>2]));e=+r(+(+f[b+8>>2]));f[a+12>>2]=l;f[a+16>>2]=i;f[a+20>>2]=e;f[a+24>>2]=0.0;f[a+28>>2]=m*l-k;f[a+32>>2]=j*i-h;f[a+36>>2]=g*e-d;f[a+40>>2]=0.0;return}function dl(b,d){b=b|0;d=d|0;var e=0,g=0,h=0.0,i=0,j=0;if(a[b+527>>0]|0){c[d>>2]=0;c[d+4>>2]=0;return}c[d>>2]=3;c[d+4>>2]=3;j=c[b+28>>2]|0;i=c[b+32>>2]|0;dc(b,j+4|0,i+4|0,j+264|0,i+264|0);if((a[b+526>>0]|0?(e=c[d>>2]|0,c[d>>2]=e+1,g=c[d+4>>2]|0,c[d+4>>2]=g+-1,h=+f[b+456>>2],+f[b+444>>2]>2]>2]=e+2;c[d+4>>2]=g+-2}if(!(a[b+525>>0]|0))return;c[d>>2]=(c[d>>2]|0)+1;c[d+4>>2]=(c[d+4>>2]|0)+-1;return}function el(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0;f=b+e|0;d=d&255;if((e|0)>=67){while(b&3){a[b>>0]=d;b=b+1|0}g=d|d<<8|d<<16|d<<24;while((b|0)<=((f&-4)-64|0)){c[b>>2]=g;c[b+4>>2]=g;c[b+8>>2]=g;c[b+12>>2]=g;c[b+16>>2]=g;c[b+20>>2]=g;c[b+24>>2]=g;c[b+28>>2]=g;c[b+32>>2]=g;c[b+36>>2]=g;c[b+40>>2]=g;c[b+44>>2]=g;c[b+48>>2]=g;c[b+52>>2]=g;c[b+56>>2]=g;c[b+60>>2]=g;b=b+64|0}while((b|0)<(f&-4|0)){c[b>>2]=g;b=b+4|0}}while((b|0)<(f|0)){a[b>>0]=d;b=b+1|0}return f-e|0}function fl(a,b,c,d,e,g,h,i,j,k){a=+a;b=+b;c=+c;d=+d;e=+e;g=+g;h=+h;i=+i;j=+j;k=k|0;if(!(((h-d)*b-(i-e)*a)*g+(((i-e)*c-(j-g)*b)*d+((j-g)*a-(h-d)*c)*e)<0.0)){k=0;return k|0}do if(!((h-d)*d+(i-e)*e+(j-g)*g>0.0))if((h-d)*h+(i-e)*i+(j-g)*j<0.0){d=h*h+i*i+j*j;break}else{d=((h*h+i*i+j*j)*(d*d+e*e+g*g)-(h*d+i*e+j*g)*(h*d+i*e+j*g))/((h-d)*(h-d)+(i-e)*(i-e)+(j-g)*(j-g));d=d>0.0?d:0.0;break}else d=d*d+e*e+g*g;while(0);f[k>>2]=+s(+d);k=1;return k|0}function gl(a,b){a=a|0;b=b|0;var d=0.0,e=0.0,g=0,h=0,i=0;b=c[b+36>>2]|0;i=c[b+8>>2]|0;h=c[b+12>>2]|0;g=c[b+16>>2]|0;e=+f[a+52>>2];d=+Ih(a+4|0,+f[a+36>>2],+f[a+40>>2],+f[a+44>>2],+f[i+8>>2],+f[i+12>>2],+f[i+16>>2],+f[h+8>>2],+f[h+12>>2],+f[h+16>>2],+f[g+8>>2],+f[g+12>>2],+f[g+16>>2],e);if(!(d>0.0&d>2]|0;h=h+1|0;c[i>>2]=h;return}f[a+52>>2]=d;c[a+56>>2]=b;i=a+60|0;h=c[i>>2]|0;h=h+1|0;c[i>>2]=h;return}function hl(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,g=0.0,h=0.0,i=0.0,j=0.0;zb[c[(c[b>>2]|0)+68>>2]&127](a,b,d);if(!(+Wa[c[(c[b>>2]|0)+48>>2]&31](b)!=0.0))return;h=+f[d>>2];e=+f[d+4>>2];g=+f[d+8>>2];j=h*h+e*e+g*g<1.4210854715202004e-14?-1.0:h;i=h*h+e*e+g*g<1.4210854715202004e-14?-1.0:e;g=h*h+e*e+g*g<1.4210854715202004e-14?-1.0:g;e=1.0/+s(+(g*g+(j*j+i*i)));h=+Wa[c[(c[b>>2]|0)+48>>2]&31](b);f[a>>2]=+f[a>>2]+h*(j*e);f[a+4>>2]=+f[a+4>>2]+h*(i*e);f[a+8>>2]=+f[a+8>>2]+h*(g*e);return}function il(b,d,e){b=b|0;d=d|0;e=+e;var g=0.0,h=0.0,i=0.0,j=0.0,k=0.0;a[b+171>>0]=0;c[b+60>>2]=c[d>>2];c[b+60+4>>2]=c[d+4>>2];c[b+60+8>>2]=c[d+8>>2];c[b+60+12>>2]=c[d+12>>2];g=+f[b+60>>2];h=+f[b+64>>2];j=+f[b+68>>2];i=1.0/+s(+(g*g+h*h+j*j));if(+s(+(j*i*(j*i)+(g*i*(g*i)+h*i*(h*i))))<1.1920928955078125e-07){k=0.0;h=0.0;g=0.0;d=0}else{k=g*i;h=h*i;g=j*i;d=c[b+72>>2]|0}f[b+76>>2]=k;f[b+80>>2]=h;f[b+84>>2]=g;c[b+88>>2]=d;f[b+172>>2]=+f[b+172>>2]+e;return}function jl(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0;a:do if(c>>>0>=3)if((c+-3|0)>>>0<3)switch(b|0){case 2:{d=+f[a+868+(c+-3<<6)+32>>2];break a}case 4:{d=+f[a+868+(c+-3<<6)+36>>2];break a}case 3:{d=+f[a+868+(c+-3<<6)+28>>2];break a}default:{d=0.0;break a}}else d=0.0;else switch(b|0){case 2:{d=+f[a+756+(c<<2)>>2];break a}case 4:{d=+f[a+772+(c<<2)>>2];break a}case 3:{d=+f[a+740+(c<<2)>>2];break a}default:{d=0.0;break a}}while(0);return +d}function kl(a){a=a|0;var b=0,d=0,e=0,f=0.0,g=0,h=0,i=0;e=Ta;Ta=Ta+16|0;b=c[a+8>>2]|0;d=c[a+8+4>>2]|0;if((d|0)>-1|(d|0)==-1&b>>>0>4294967295){f=(+(b>>>0)+4294967296.0*+(d>>>0))*18446744073709551616.0+(+((c[a>>2]|0)>>>0)+4294967296.0*+((c[a+4>>2]|0)>>>0));Ta=e;return +f}else{i=c[a>>2]|0;a=c[a+4>>2]|0;h=xC(0,0,i|0,a|0)|0;g=D()|0;d=hD((i|0)==0&(a|0)==0&1|0,0,~b|0,~d|0)|0;a=D()|0;c[e>>2]=h;c[e+4>>2]=g;c[e+8>>2]=d;c[e+8+4>>2]=a;f=-+kl(e);Ta=e;return +f}return 0.0}function ll(b,d,e,g,h){b=b|0;d=+d;e=e|0;g=g|0;h=h|0;f[b>>2]=d;c[b+4>>2]=e;c[b+72>>2]=g;c[b+76>>2]=c[h>>2];c[b+76+4>>2]=c[h+4>>2];c[b+76+8>>2]=c[h+8>>2];c[b+76+12>>2]=c[h+12>>2];f[b+92>>2]=0.0;f[b+96>>2]=0.0;f[b+100>>2]=.5;f[b+104>>2]=0.0;f[b+108>>2]=0.0;f[b+112>>2]=.800000011920929;f[b+116>>2]=1.0;a[b+120>>0]=0;f[b+124>>2]=.004999999888241291;f[b+128>>2]=.009999999776482582;f[b+132>>2]=.009999999776482582;f[b+136>>2]=.009999999776482582;Rr(b+8|0);return}function ml(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;a:do if(!(zy(b,c[d+8>>2]|0,0)|0)){g=c[b+12>>2]|0;Yn(b+16|0,d,e,f);if((g|0)>1){h=b+24|0;do{Yn(h,d,e,f);if(a[d+54>>0]|0)break a;h=h+8|0}while(h>>>0<(b+16+(g<<3)|0)>>>0)}}else mn(d,e,f);while(0);return}function nl(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;do if(!(zy(b,c[d+8>>2]|0,g)|0)){if(zy(b,c[d>>2]|0,g)|0){if((c[d+16>>2]|0)!=(e|0)?(c[d+20>>2]|0)!=(e|0):0){c[d+32>>2]=f;c[d+20>>2]=e;c[d+40>>2]=(c[d+40>>2]|0)+1;if((c[d+36>>2]|0)==1?(c[d+24>>2]|0)==2:0)a[d+54>>0]=1;c[d+44>>2]=4;break}if((f|0)==1)c[d+32>>2]=1}}else wv(d,e,f);while(0);return}function ol(b){b=b|0;var d=0,e=0,f=0;e=pZ(5260)|0;c[e>>2]=6448;c[e+4>>2]=2;a[e+24>>0]=1;c[e+20>>2]=0;c[e+12>>2]=0;c[e+16>>2]=0;c[e+28>>2]=6940;c[e+5256>>2]=b;c[e+60>>2]=101;c[e+64>>2]=eb[c[(c[b>>2]|0)+12>>2]&255](b)|0;c[e+68>>2]=eb[c[(c[b>>2]|0)+8>>2]&255](b)|0;b=0;do{d=0;do{f=c[e+5256>>2]|0;c[e+72+(b*144|0)+(d<<2)>>2]=ib[c[(c[f>>2]|0)+16>>2]&63](f,b,d)|0;d=d+1|0}while(d>>>0<36);b=b+1|0}while(b>>>0<36);return e|0}function pl(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=gb[c[(c[d>>2]|0)+40>>2]&63](d,a)|0;f=gb[c[(c[d>>2]|0)+28>>2]&63](d,e)|0;c[b>>2]=f;if(f|0)vb[c[(c[d>>2]|0)+48>>2]&255](d,e);c[b+4>>2]=c[a+4>>2];c[b+28>>2]=c[a+28>>2];c[b+32>>2]=c[a+32>>2];c[b+36>>2]=c[a+36>>2];c[b+40>>2]=c[a+40>>2];c[b+12>>2]=c[a+12>>2];c[b+16>>2]=c[a+16>>2];c[b+20>>2]=c[a+20>>2];c[b+24>>2]=c[a+24>>2];c[b+44>>2]=c[a+44>>2];c[b+52>>2]=c[a+52>>2];return 21146}function ql(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ta;Ta=Ta+32|0;if(!(+f[a+344>>2]!=0.0)){Ta=d;return}Co(a,+f[b>>2],+f[b+4>>2],+f[b+8>>2]);if(!(D$(a+544|0)|0)){Ta=d;return}tq(d,+f[b>>2],+f[b+4>>2],+f[b+8>>2],+f[a+348>>2],+f[a+352>>2],+f[a+356>>2]);Gp(d+16|0,+f[c>>2],+f[c+4>>2],+f[c+8>>2],+f[d>>2],+f[d+4>>2],+f[d+8>>2]);Do(a,+f[d+16>>2],+f[d+16+4>>2],+f[d+16+8>>2]);Ta=d;return}function rl(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=gb[c[(c[d>>2]|0)+40>>2]&63](d,a)|0;f=gb[c[(c[d>>2]|0)+28>>2]&63](d,e)|0;c[b>>2]=f;if(f|0)vb[c[(c[d>>2]|0)+48>>2]&255](d,e);c[b+4>>2]=c[a+4>>2];c[b+28>>2]=c[a+28>>2];c[b+32>>2]=c[a+32>>2];c[b+36>>2]=c[a+36>>2];c[b+40>>2]=c[a+40>>2];c[b+12>>2]=c[a+12>>2];c[b+16>>2]=c[a+16>>2];c[b+20>>2]=c[a+20>>2];c[b+24>>2]=c[a+24>>2];c[b+44>>2]=c[a+44>>2];c[b+52>>2]=c[a+52>>2];return 20690}function sl(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=gb[c[(c[d>>2]|0)+40>>2]&63](d,a)|0;f=gb[c[(c[d>>2]|0)+28>>2]&63](d,e)|0;c[b>>2]=f;if(f|0)vb[c[(c[d>>2]|0)+48>>2]&255](d,e);c[b+4>>2]=c[a+4>>2];c[b+28>>2]=c[a+28>>2];c[b+32>>2]=c[a+32>>2];c[b+36>>2]=c[a+36>>2];c[b+40>>2]=c[a+40>>2];c[b+12>>2]=c[a+12>>2];c[b+16>>2]=c[a+16>>2];c[b+20>>2]=c[a+20>>2];c[b+24>>2]=c[a+24>>2];c[b+44>>2]=c[a+44>>2];c[b+52>>2]=c[a+68>>2];return 19578}function tl(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;a[b+53>>0]=1;do if((c[b+4>>2]|0)==(e|0)){a[b+52>>0]=1;e=c[b+16>>2]|0;if(!e){c[b+16>>2]=d;c[b+24>>2]=f;c[b+36>>2]=1;if(!((f|0)==1?(c[b+48>>2]|0)==1:0))break;a[b+54>>0]=1;break}if((e|0)!=(d|0)){c[b+36>>2]=(c[b+36>>2]|0)+1;a[b+54>>0]=1;break}e=c[b+24>>2]|0;if((e|0)==2){c[b+24>>2]=f;e=f}if((e|0)==1?(c[b+48>>2]|0)==1:0)a[b+54>>0]=1}while(0);return}function ul(a,b,d){a=a|0;b=+b;d=d|0;var e=0,g=0.0,h=0.0,i=0.0,j=0,k=0;e=Ta;Ta=Ta+16|0;j=c[a+52>>2]|0;k=c[a+28+(((j+2|0)%3|0)<<2)>>2]|0;c[e>>2]=k;c[e+4>>2]=k;c[e+8>>2]=k;f[e+12>>2]=0.0;f[e+(j<<2)>>2]=+f[a+28+(j<<2)>>2]+ +f[e+(j<<2)>>2];h=(+f[e>>2]+.03999999910593033)*2.0;g=(+f[e+4>>2]+.03999999910593033)*2.0;i=(+f[e+8>>2]+.03999999910593033)*2.0;f[d>>2]=b*.0833333283662796*(g*g+i*i);f[d+4>>2]=b*.0833333283662796*(h*h+i*i);f[d+8>>2]=b*.0833333283662796*(h*h+g*g);Ta=e;return}function vl(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0.0,g=0,h=0.0,i=0.0,j=0.0,k=0.0,l=0.0,m=0;if((d|0)<=0)return;m=0;do{j=+f[a+32>>2];e=+f[a+28>>2];g=b+(m<<4)|0;h=+f[b+(m<<4)+4>>2];k=+f[b+(m<<4)+8>>2];l=+s(+(h*h+k*k));if(l!=0.0){i=+f[g>>2]<0.0?-e:e;h=h*(j/l);e=k*(j/l)}else{i=+f[g>>2]<0.0?-e:e;h=j;e=0.0}f[c+(m<<4)>>2]=i;f[c+(m<<4)+4>>2]=h;f[c+(m<<4)+8>>2]=e;m=m+1|0}while((m|0)!=(d|0));return}function wl(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0.0,g=0.0,h=0.0,i=0.0,j=0.0,k=0.0,l=0;if((d|0)<=0)return;l=0;do{h=+f[a+28>>2];e=+f[a+36>>2];g=+f[b+(l<<4)>>2];i=+f[b+(l<<4)+4>>2];j=+s(+(g*g+i*i));if(j!=0.0){k=+f[b+(l<<4)+8>>2]<0.0?-e:e;g=g*(h/j);e=i*(h/j)}else{k=+f[b+(l<<4)+8>>2]<0.0?-e:e;g=h;e=0.0}f[c+(l<<4)>>2]=g;f[c+(l<<4)+4>>2]=e;f[c+(l<<4)+8>>2]=k;l=l+1|0}while((l|0)!=(d|0));return}function xl(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;j=c[b>>2]|0;if(!e)e=c[a+188>>2]|0;h=c[a+268>>2]|0;if((h|0)<=0)return;i=c[a+276>>2]|0;f=0;while(1){g=i+(f<<2)|0;if((c[g>>2]|0)==(j|0))break;f=f+1|0;if((f|0)>=(h|0)){k=9;break}}if((k|0)==9)return;if((f|0)>=(h|0))return;c[g>>2]=c[i+(h+-1<<2)>>2];c[a+268>>2]=h+-1;k=c[a+284>>2]|0;jb[c[(c[k>>2]|0)+12>>2]&63](k,e,b,d)|0;return}function yl(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0.0,g=0.0,h=0.0,i=0.0,j=0.0,k=0.0,l=0;if((d|0)<=0)return;l=0;do{h=+f[a+28>>2];e=+f[a+32>>2];g=+f[b+(l<<4)>>2];i=+f[b+(l<<4)+8>>2];j=+s(+(g*g+i*i));if(j!=0.0){k=+f[b+(l<<4)+4>>2]<0.0?-e:e;g=g*(h/j);e=i*(h/j)}else{k=+f[b+(l<<4)+4>>2]<0.0?-e:e;g=h;e=0.0}f[c+(l<<4)>>2]=g;f[c+(l<<4)+4>>2]=k;f[c+(l<<4)+8>>2]=e;l=l+1|0}while((l|0)!=(d|0));return}function zl(b,d){b=b|0;d=d|0;var e=0;e=sx()|0;c[e+8>>2]=0;c[e+12>>2]=1065353216;c[e+16>>2]=1065353216;c[e+20>>2]=1065353216;f[e+24>>2]=0.0;f[e+44>>2]=.03999999910593033;c[e+52>>2]=0;c[e+56>>2]=1065353216;c[e+60>>2]=1065353216;c[e+64>>2]=1065353216;f[e+68>>2]=0.0;c[e+72>>2]=-1082130432;c[e+76>>2]=-1082130432;c[e+80>>2]=-1082130432;f[e+84>>2]=0.0;a[e+88>>0]=0;c[e>>2]=9304;c[e+92>>2]=b;c[e+4>>2]=3;if(!d)return e|0;wj(e);return e|0}function Al(a,b){a=a|0;b=b|0;var d=0,e=0,g=0;e=Ta;Ta=Ta+32|0;d=c[a+216>>2]|0;if(+f[d+4>>2]==0.0){a=0;Ta=e;return a|0}b=c[b>>2]|0;if(!(gb[c[(c[d>>2]|0)+8>>2]&63](d,c[b+188>>2]|0)|0)){a=1;Ta=e;return a|0}g=c[b+192>>2]|0;d=c[a+216>>2]|0;c[e>>2]=0;c[e+4>>2]=g;c[e+8>>2]=b;c[e+12>>2]=b+4;c[e+16>>2]=-1;c[e+20>>2]=-1;Cc(a+68|0,a+132|0,e,d);a=1;Ta=e;return a|0}function Bl(b,d,e,g,h){b=b|0;d=d|0;e=e|0;g=g|0;h=h|0;var i=0;i=Jw()|0;ve(i,b,d,e,g,h);c[i>>2]=5684;c[i+4>>2]=9;a[i+1309>>0]=0;a[i+1309+1>>0]=0;a[i+1309+2>>0]=0;a[i+1309+3>>0]=0;a[i+1309+4>>0]=0;a[i+1309+5>>0]=0;e=i+1316|0;g=e+48|0;do{c[e>>2]=0;e=e+4|0}while((e|0)<(g|0));f[i+1364>>2]=1.0;f[i+1368>>2]=1.0;f[i+1372>>2]=1.0;f[i+1376>>2]=1.0;f[i+1380>>2]=1.0;f[i+1384>>2]=1.0;return i|0}function Cl(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=gb[c[(c[d>>2]|0)+40>>2]&63](d,a)|0;f=gb[c[(c[d>>2]|0)+28>>2]&63](d,e)|0;c[b>>2]=f;if(f|0)vb[c[(c[d>>2]|0)+48>>2]&255](d,e);c[b+4>>2]=c[a+4>>2];c[b+28>>2]=c[a+28>>2];c[b+32>>2]=c[a+32>>2];c[b+36>>2]=c[a+36>>2];c[b+40>>2]=c[a+40>>2];c[b+12>>2]=c[a+12>>2];c[b+16>>2]=c[a+16>>2];c[b+20>>2]=c[a+20>>2];c[b+24>>2]=c[a+24>>2];c[b+44>>2]=c[a+44>>2];return 14104}function Dl(b,d){b=b|0;d=d|0;var e=0.0,g=0.0,h=0.0,i=0.0,j=0.0;a[b+171>>0]=1;c[b+60>>2]=c[d>>2];c[b+60+4>>2]=c[d+4>>2];c[b+60+8>>2]=c[d+8>>2];c[b+60+12>>2]=c[d+12>>2];e=+f[b+60>>2];g=+f[b+64>>2];i=+f[b+68>>2];h=1.0/+s(+(e*e+g*g+i*i));if(+s(+(i*h*(i*h)+(e*h*(e*h)+g*h*(g*h))))<1.1920928955078125e-07){j=0.0;g=0.0;e=0.0;d=0}else{j=e*h;g=g*h;e=i*h;d=c[b+72>>2]|0}f[b+76>>2]=j;f[b+80>>2]=g;f[b+84>>2]=e;c[b+88>>2]=d;return}function El(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=gb[c[(c[d>>2]|0)+40>>2]&63](d,a)|0;f=gb[c[(c[d>>2]|0)+28>>2]&63](d,e)|0;c[b>>2]=f;if(f|0)vb[c[(c[d>>2]|0)+48>>2]&255](d,e);c[b+4>>2]=c[a+4>>2];c[b+12>>2]=c[a+68>>2];c[b+16>>2]=c[a+72>>2];c[b+20>>2]=c[a+76>>2];c[b+24>>2]=c[a+80>>2];c[b+28>>2]=c[a+48>>2];c[b+32>>2]=c[a+52>>2];c[b+36>>2]=c[a+56>>2];c[b+40>>2]=c[a+60>>2];c[b+44>>2]=c[a+64>>2];return 20331}function Fl(){var b=0,d=0.0,e=0.0;b=Ta;Ta=Ta+16|0;if((a[25472]|0)==0?kP(25472)|0:0){c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;c[b+12>>2]=0;kg(26168,0.0,0,0,b);kO(25472)}c[6593]=c[6593]|1;f[6628]=0.0;d=+f[6638]*0.0;e=+f[6639]*0.0;f[6633]=+f[6637]*0.0;f[6634]=d;f[6635]=e;f[6636]=0.0;c[6641]=0;c[6642]=0;c[6643]=0;c[6644]=0;e=+f[6630]*0.0;d=+f[6631]*0.0;f[6682]=+f[6629]*0.0;f[6683]=e;f[6684]=d;f[6685]=0.0;Ta=b;return}function Gl(a,b){a=a|0;b=b|0;var d=0.0,e=0.0,g=0.0,h=0,i=0,j=0;j=c[a+68>>2]|0;i=c[a+64>>2]|0;h=c[a+72>>2]|0;e=+f[a+60>>2]*(+f[b+(j<<2)>>2]/+f[a+12+(j<<2)>>2]);f[a+60>>2]=e;g=+f[a+56>>2]*((+f[b+(i<<2)>>2]/+f[a+12+(i<<2)>>2]+ +f[b+(h<<2)>>2]/+f[a+12+(h<<2)>>2])*.5);f[a+56>>2]=g;f[a+52>>2]=g/+s(+(e*e+g*g));g=+r(+(+f[b>>2]));e=+r(+(+f[b+4>>2]));d=+r(+(+f[b+8>>2]));f[a+12>>2]=g;f[a+16>>2]=e;f[a+20>>2]=d;f[a+24>>2]=0.0;return}function Hl(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=Ta;Ta=Ta+48|0;c[f+32>>2]=10552;c[f+32+4>>2]=e;c[f>>2]=c[b>>2];c[f+4>>2]=c[b+4>>2];c[f+8>>2]=c[b+8>>2];c[f+12>>2]=c[b+12>>2];c[f+16>>2]=c[d>>2];c[f+16+4>>2]=c[d+4>>2];c[f+16+8>>2]=c[d+8>>2];c[f+16+12>>2]=c[d+12>>2];Re(c[a+4>>2]|0,f,f+32|0);Re(c[a+64>>2]|0,f,f+32|0);Ta=f;return}function Il(a,b,c,d){a=a|0;b=+b;c=+c;d=+d;var e=0,g=0.0,h=0.0,i=0.0;e=Ta;Ta=Ta+48|0;g=+t$(b);h=+t$(c);i=+t$(d);b=+s$(b);c=+s$(c);d=+s$(d);f[e+32>>2]=h*i;f[e+28>>2]=c*(b*i)-g*d;f[e+24>>2]=c*(g*i)+b*d;f[e+20>>2]=h*d;f[e+16>>2]=c*(b*d)+g*i;f[e+12>>2]=c*(g*d)-b*i;f[e+8>>2]=-c;f[e+4>>2]=h*b;f[e>>2]=h*g;Lp(a,e+32|0,e+28|0,e+24|0,e+20|0,e+16|0,e+12|0,e+8|0,e+4|0,e);Ta=e;return}function Jl(a,d,f,g,h,i){a=a|0;d=d|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0;j=c[a+108>>2]|0;if(j|0){Ib[c[(c[j>>2]|0)+24>>2]&31](j,d,f,g,h,i);return}j=b[a+56>>1]|0;if(!(j<<16>>16))return;h=1;d=1;do{i=c[a+68>>2]|0;if(b[i+(h<<2)>>1]&1){gb[c[(c[g>>2]|0)+8>>2]&63](g,(c[a+60>>2]|0)+((e[i+(h<<2)+2>>1]|0)<<6)|0)|0;j=b[a+56>>1]|0}d=d+1<<16>>16;h=d&65535}while(((j&65535)<<1|1)>>>0>h>>>0);return}function Kl(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;b=c[d>>2]|0;b=gb[c[(c[b>>2]|0)+56>>2]&63](b,80)|0;d=c[d>>2]|0;c[b+4>>2]=d;c[b>>2]=6824;a[b+8>>0]=1;c[b+12>>2]=6872;c[b+60>>2]=d;c[b+64>>2]=0;c[b+16>>2]=f;c[b+20>>2]=e;d=ib[c[(c[d>>2]|0)+12>>2]&63](d,c[f+8>>2]|0,c[e+8>>2]|0)|0;c[b+76>>2]=d;f=c[b+60>>2]|0;vb[c[(c[f>>2]|0)+20>>2]&255](f,d);return b|0}function Ll(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,g=0,h=0.0,i=0.0;e=+f[a+28>>2];i=+f[a+32>>2];h=+f[a+36>>2];switch(d|0){case 0:{a=0;d=0;g=1065353216;break}case 1:{a=0;d=0;g=-1082130432;break}case 2:{a=0;d=1065353216;g=0;e=i;break}case 3:{a=0;d=-1082130432;g=0;e=i;break}case 4:{a=1065353216;d=0;g=0;e=h;break}case 5:{a=-1082130432;d=0;g=0;e=h;break}default:return}c[b>>2]=g;c[b+4>>2]=d;c[b+8>>2]=a;f[b+12>>2]=-e;return}function Ml(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;b=c[d>>2]|0;b=gb[c[(c[b>>2]|0)+56>>2]&63](b,80)|0;d=c[d>>2]|0;c[b+4>>2]=d;c[b>>2]=6824;a[b+8>>0]=0;c[b+12>>2]=6872;c[b+60>>2]=d;c[b+64>>2]=0;c[b+16>>2]=e;c[b+20>>2]=f;d=ib[c[(c[d>>2]|0)+12>>2]&63](d,c[e+8>>2]|0,c[f+8>>2]|0)|0;c[b+76>>2]=d;f=c[b+60>>2]|0;vb[c[(c[f>>2]|0)+20>>2]&255](f,d);return b|0}function Nl(b){b=b|0;var d=0;c[b>>2]=8008;d=c[b+120>>2]|0;if(d|0){if(a[b+124>>0]|0){c[6880]=(c[6880]|0)+1;kd(c[d+-4>>2]|0)}c[b+120>>2]=0}a[b+124>>0]=1;c[b+120>>2]=0;c[b+112>>2]=0;c[b+116>>2]=0;d=c[b+100>>2]|0;if(!d){a[b+104>>0]=1;c[b+100>>2]=0;c[b+92>>2]=0;b=b+96|0;c[b>>2]=0;return}if(a[b+104>>0]|0){c[6880]=(c[6880]|0)+1;kd(c[d+-4>>2]|0)}c[b+100>>2]=0;a[b+104>>0]=1;c[b+100>>2]=0;c[b+92>>2]=0;b=b+96|0;c[b>>2]=0;return}function Ol(b){b=b|0;var d=0;c[b>>2]=6404;d=c[b+284>>2]|0;pb[c[c[d>>2]>>2]&511](d);d=c[b+284>>2]|0;if(d|0){c[6880]=(c[6880]|0)+1;kd(c[d+-4>>2]|0)}c[b>>2]=6360;d=c[b+276>>2]|0;if(!d){a[b+280>>0]=1;c[b+276>>2]=0;c[b+268>>2]=0;d=b+272|0;c[d>>2]=0;c[b>>2]=6324;return}if(a[b+280>>0]|0){c[6880]=(c[6880]|0)+1;kd(c[d+-4>>2]|0)}c[b+276>>2]=0;a[b+280>>0]=1;c[b+276>>2]=0;c[b+268>>2]=0;d=b+272|0;c[d>>2]=0;c[b>>2]=6324;return}function Pl(a){a=a|0;var b=0,d=0,e=0,g=0.0,h=0.0;e=c[a+232>>2]|0;if((e|0)<=0)return;a=c[a+240>>2]|0;d=0;do{b=c[a+(d<<2)>>2]|0;switch(c[b+216>>2]|0){case 2:case 5:break;default:if(!(c[b+204>>2]&3)){h=+f[b+368>>2]*+f[b+352>>2];g=+f[b+372>>2]*+f[b+356>>2];f[b+412>>2]=+f[b+364>>2]*+f[b+348>>2]+ +f[b+412>>2];f[b+416>>2]=h+ +f[b+416>>2];f[b+420>>2]=g+ +f[b+420>>2]}}d=d+1|0}while((d|0)!=(e|0));return}function Ql(a,b){a=a|0;b=b|0;var c=0,d=0.0,e=0.0,g=0.0,h=0.0,i=0.0,j=0.0,k=0.0,l=0.0;c=Ta;Ta=Ta+16|0;l=+f[a+12>>2];i=+f[(D$(b)|0)>>2];j=+f[a>>2];k=+f[b+12>>2];h=+f[a+4>>2];d=+f[(Q_(b)|0)>>2];e=+f[a+8>>2];g=+f[(R_(b)|0)>>2];f[c+12>>2]=l*i+j*k+h*d-e*g;f[c+8>>2]=l*g+h*k+e*i-j*d;f[c+4>>2]=l*d+e*k+j*g-h*i;f[c>>2]=l*k-j*i-h*g-e*d;Mu(a,c+12|0,c+8|0,c+4|0,c);Ta=c;return a|0}function Rl(b){b=b|0;var d=0;d=sx()|0;c[d+8>>2]=0;c[d+12>>2]=1065353216;c[d+16>>2]=1065353216;c[d+20>>2]=1065353216;f[d+24>>2]=0.0;f[d+44>>2]=.03999999910593033;c[d+52>>2]=0;c[d+56>>2]=1065353216;c[d+60>>2]=1065353216;c[d+64>>2]=1065353216;f[d+68>>2]=0.0;c[d+72>>2]=-1082130432;c[d+76>>2]=-1082130432;c[d+80>>2]=-1082130432;f[d+84>>2]=0.0;a[d+88>>0]=0;c[d>>2]=9304;c[d+92>>2]=b;c[d+4>>2]=3;wj(d);return d|0}function Sl(a,b){a=a|0;b=+b;var d=0.0,e=0.0,g=0.0,h=0.0,i=0.0;h=+Wa[c[(c[a>>2]|0)+48>>2]&31](a);e=+Wa[c[(c[a>>2]|0)+48>>2]&31](a);i=+Wa[c[(c[a>>2]|0)+48>>2]&31](a);h=h+ +f[a+28>>2];e=e+ +f[a+32>>2];i=i+ +f[a+36>>2];f[a+44>>2]=b;g=+Wa[c[(c[a>>2]|0)+48>>2]&31](a);d=+Wa[c[(c[a>>2]|0)+48>>2]&31](a);b=i-+Wa[c[(c[a>>2]|0)+48>>2]&31](a);f[a+28>>2]=h-g;f[a+32>>2]=e-d;f[a+36>>2]=b;f[a+40>>2]=0.0;return}function Tl(b,d,e){b=b|0;d=d|0;e=e|0;var g=0;g=Jw()|0;_d(g,b,d,e);c[g>>2]=5684;c[g+4>>2]=9;a[g+1309>>0]=0;a[g+1309+1>>0]=0;a[g+1309+2>>0]=0;a[g+1309+3>>0]=0;a[g+1309+4>>0]=0;a[g+1309+5>>0]=0;e=g+1316|0;b=e+48|0;do{c[e>>2]=0;e=e+4|0}while((e|0)<(b|0));f[g+1364>>2]=1.0;f[g+1368>>2]=1.0;f[g+1372>>2]=1.0;f[g+1376>>2]=1.0;f[g+1380>>2]=1.0;f[g+1384>>2]=1.0;return g|0}function Ul(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0;g=(a[b+16>>0]|0)==0;h=c[(g?d:e)+8>>2]|0;e=g?e:d;g=c[e+8>>2]|0;b=c[h+268>>2]|0;a:do if((b|0)>0){d=c[h+276>>2]|0;f=0;while(1){if((c[d+(f<<2)>>2]|0)==(g|0))break;f=f+1|0;if((f|0)>=(b|0))break a}if((f|0)!=(b|0))return}while(0);d=c[h+284>>2]|0;zb[c[(c[d>>2]|0)+36>>2]&127](d,h,e);return}function Vl(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;b=c[d>>2]|0;b=gb[c[(c[b>>2]|0)+56>>2]&63](b,16)|0;d=c[d>>2]|0;c[b+4>>2]=d;c[b>>2]=6892;a[b+8>>0]=0;c[b+12>>2]=0;if(!(ib[c[(c[d>>2]|0)+24>>2]&63](d,c[e+8>>2]|0,c[f+8>>2]|0)|0))return b|0;d=c[b+4>>2]|0;c[b+12>>2]=ib[c[(c[d>>2]|0)+12>>2]&63](d,c[e+8>>2]|0,c[f+8>>2]|0)|0;a[b+8>>0]=1;return b|0}function Wl(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var g=0.0,h=0.0,i=0.0,j=0.0,k=0.0;i=+Wa[c[(c[a>>2]|0)+48>>2]&31](a);h=+Wa[c[(c[a>>2]|0)+48>>2]&31](a);g=+Wa[c[(c[a>>2]|0)+48>>2]&31](a);k=+f[b+52>>2]-h;j=+f[b+56>>2]-g;f[d>>2]=+f[b+48>>2]-i;f[d+4>>2]=k;f[d+8>>2]=j;f[d+12>>2]=0.0;h=h+ +f[b+52>>2];g=g+ +f[b+56>>2];f[e>>2]=i+ +f[b+48>>2];f[e+4>>2]=h;f[e+8>>2]=g;f[e+12>>2]=0.0;return}function Xl(b,d){b=b|0;d=d|0;var e=0;a[b+148>>0]=0;a:do if(Rd(b,d)|0){e=0;while(1){a[b+148>>0]=1;if(e>>>0>3)break a;if(Rd(b,d)|0)e=e+1|0;else break}}while(0);e=(c[b+8>>2]|0)+52|0;c[b+92>>2]=c[e>>2];c[b+92+4>>2]=c[e+4>>2];c[b+92+8>>2]=c[e+8>>2];c[b+92+12>>2]=c[e+12>>2];jq(b+112|0,e|0,16)|0;return}function Yl(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=c[a+720>>2]|0;h=c[a+732>>2]|0;if((h|0)<=0){d=0;return d|0}a=c[a+740>>2]|0;f=0;while(1){e=c[a+(f*52|0)+8>>2]|0;if((e|0)==(g+(b*104|0)|0)?(c[a+(f*52|0)+12>>2]|0)==(g+(d*104|0)|0):0){a=1;e=8;break}if((e|0)==(g+(d*104|0)|0)?(c[a+(f*52|0)+12>>2]|0)==(g+(b*104|0)|0):0){a=1;e=8;break}f=f+1|0;if((f|0)>=(h|0)){a=0;e=8;break}}if((e|0)==8)return a|0;return 0}function Zl(a){a=a|0;var b=0,d=0,e=0.0,g=0.0;if((c[a+156>>2]|0)<=0)return;b=0;do{d=c[a+164>>2]|0;c[d+(b*284|0)+32>>2]=c[d+(b*284|0)+204>>2];f[d+(b*284|0)+272>>2]=0.0;g=-+f[d+(b*284|0)+56>>2];e=-+f[d+(b*284|0)+60>>2];f[d+(b*284|0)>>2]=-+f[d+(b*284|0)+52>>2];f[d+(b*284|0)+4>>2]=g;f[d+(b*284|0)+8>>2]=e;f[d+(b*284|0)+12>>2]=0.0;f[d+(b*284|0)+268>>2]=1.0;b=b+1|0}while((b|0)<(c[a+156>>2]|0));return}function _l(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,g=0.0,h=0.0,i=0.0,j=0.0;j=+f[d>>2];i=+f[d+4>>2];e=+f[d+8>>2];g=j*+f[b+56>>2]+i*+f[b+60>>2]+e*+f[b+64>>2];h=j*+f[b+72>>2]+i*+f[b+76>>2]+e*+f[b+80>>2];e=j*+f[b+88>>2]+i*+f[b+92>>2]+e*+f[b+96>>2];b=b+56+((g>2]=c[b>>2];c[a+4>>2]=c[b+4>>2];c[a+8>>2]=c[b+8>>2];c[a+12>>2]=c[b+12>>2];return}function $l(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;g=c[d>>2]|0;g=gb[c[(c[g>>2]|0)+56>>2]&63](g,20)|0;h=c[d+4>>2]|0;b=a[b+4>>0]|0;d=c[d>>2]|0;c[g+4>>2]=d;c[g>>2]=7340;a[g+8>>0]=0;c[g+12>>2]=h;a[g+16>>0]=b;if(h|0)return g|0;c[g+12>>2]=ib[c[(c[d>>2]|0)+12>>2]&63](d,c[e+8>>2]|0,c[f+8>>2]|0)|0;a[g+8>>0]=1;return g|0}function am(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;b=c[d>>2]|0;b=gb[c[(c[b>>2]|0)+56>>2]&63](b,44)|0;c[b+4>>2]=c[d>>2];c[b>>2]=7500;a[b+24>>0]=1;c[b+20>>2]=0;c[b+12>>2]=0;c[b+16>>2]=0;a[b+28>>0]=1;c[b+32>>2]=c[d+4>>2];a[b+36>>0]=0;c[b+40>>2]=c[(c[f+4>>2]|0)+68>>2];fh(b,e,f);return b|0}function bm(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,g=0,h=0.0,i=0.0,j=0.0,k=0.0;k=+f[a+28>>2];i=+f[a+32>>2];e=+f[a+36>>2];j=+Wa[c[(c[a>>2]|0)+48>>2]&31](a);h=+Wa[c[(c[a>>2]|0)+48>>2]&31](a);e=e+ +Wa[c[(c[a>>2]|0)+48>>2]&31](a);g=(1?b>>>1:b)&1;a=(2?b>>>2:b)&1;f[d>>2]=(k+j)*+(b&1^1|0)-(k+j)*+(b&1|0);f[d+4>>2]=(i+h)*+(g^1|0)-(i+h)*+(g|0);f[d+8>>2]=e*+(a^1|0)-e*+(a|0);f[d+12>>2]=0.0;return}function cm(a,b,d){a=a|0;b=+b;d=d|0;var e=0.0,g=0.0,h=0.0,i=0.0,j=0.0;i=+f[a+28>>2];g=+f[a+32>>2];j=+f[a+36>>2];h=+Wa[c[(c[a>>2]|0)+48>>2]&31](a);e=+Wa[c[(c[a>>2]|0)+48>>2]&31](a);j=(j+ +Wa[c[(c[a>>2]|0)+48>>2]&31](a))*2.0;f[d>>2]=b/12.0*((g+e)*2.0*((g+e)*2.0)+j*j);f[d+4>>2]=b/12.0*((i+h)*2.0*((i+h)*2.0)+j*j);f[d+8>>2]=b/12.0*((i+h)*2.0*((i+h)*2.0)+(g+e)*2.0*((g+e)*2.0));f[d+12>>2]=0.0;return}function dm(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;b=c[d>>2]|0;b=gb[c[(c[b>>2]|0)+56>>2]&63](b,44)|0;c[b+4>>2]=c[d>>2];c[b>>2]=7500;a[b+24>>0]=1;c[b+20>>2]=0;c[b+12>>2]=0;c[b+16>>2]=0;a[b+28>>0]=0;c[b+32>>2]=c[d+4>>2];a[b+36>>0]=0;c[b+40>>2]=c[(c[e+4>>2]|0)+68>>2];fh(b,e,f);return b|0}function em(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=Ta;Ta=Ta+48|0;c[f>>2]=8464;c[f+4>>2]=b;c[f+8>>2]=c[d>>2];c[f+8+4>>2]=c[d+4>>2];c[f+8+8>>2]=c[d+8>>2];c[f+8+12>>2]=c[d+12>>2];c[f+24>>2]=c[e>>2];c[f+24+4>>2]=c[e+4>>2];c[f+24+8>>2]=c[e+8>>2];c[f+24+12>>2]=c[e+12>>2];a=c[a+48>>2]|0;Cb[c[(c[a>>2]|0)+8>>2]&127](a,f,d,e);Ta=f;return}function fm(a,b,d){a=a|0;b=b|0;d=d|0;fy(a);c[a>>2]=3728;ZT(a+20|0);c[a+40>>2]=c[b>>2];c[a+40+4>>2]=c[b+4>>2];c[a+40+8>>2]=c[b+8>>2];c[a+40+12>>2]=c[b+12>>2];c[a+56>>2]=c[d>>2];c[a+56+4>>2]=c[d+4>>2];c[a+56+8>>2]=c[d+8>>2];c[a+56+12>>2]=c[d+12>>2];ZT(a+72|0);ZT(a+92|0);ZT(a+112|0);return}function gm(a,b){a=a|0;b=+b;var d=0,e=0.0,g=0.0,h=0.0,i=0.0;d=px()|0;c[d+4>>2]=35;c[d+8>>2]=0;f[d+12>>2]=0.0;c[d>>2]=8484;i=+f[a>>2];h=+f[a+4>>2];g=+f[a+8>>2];a=c[a+12>>2]|0;e=1.0/+s(+(i*i+h*h+g*g));f[d+48>>2]=i*e;f[d+52>>2]=h*e;f[d+56>>2]=g*e;c[d+60>>2]=a;f[d+64>>2]=b;c[d+68>>2]=0;c[d+68+4>>2]=0;c[d+68+8>>2]=0;c[d+68+12>>2]=0;c[d+4>>2]=28;return d|0}function hm(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0;f=c[d>>2]|0;f=gb[c[(c[f>>2]|0)+56>>2]&63](f,36)|0;g=c[d+4>>2]|0;i=c[b+12>>2]|0;h=c[b+8>>2]|0;e=c[b+16>>2]|0;b=c[b+20>>2]|0;c[f+4>>2]=c[d>>2];c[f>>2]=7388;c[f+8>>2]=i;c[f+12>>2]=h;a[f+16>>0]=0;c[f+20>>2]=g;a[f+24>>0]=0;c[f+28>>2]=e;c[f+32>>2]=b;return f|0}function im(b){b=b|0;var d=0;c[b>>2]=8008;d=c[b+120>>2]|0;if(d|0){if(a[b+124>>0]|0){c[6880]=(c[6880]|0)+1;kd(c[d+-4>>2]|0)}c[b+120>>2]=0}a[b+124>>0]=1;c[b+120>>2]=0;c[b+112>>2]=0;c[b+116>>2]=0;d=c[b+100>>2]|0;if(d|0){if(a[b+104>>0]|0){c[6880]=(c[6880]|0)+1;kd(c[d+-4>>2]|0)}c[b+100>>2]=0}a[b+104>>0]=1;c[b+100>>2]=0;c[b+92>>2]=0;c[b+96>>2]=0;c[6880]=(c[6880]|0)+1;kd(c[b+-4>>2]|0);return}function jm(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ta;Ta=Ta+32|0;Dq(a,+f[b>>2],+f[b+4>>2],+f[b+8>>2]);tq(d,+f[b>>2],+f[b+4>>2],+f[b+8>>2],+f[a+348>>2],+f[a+352>>2],+f[a+356>>2]);Gp(d+16|0,+f[c>>2],+f[c+4>>2],+f[c+8>>2],+f[d>>2],+f[d+4>>2],+f[d+8>>2]);Jq(a,+f[d+16>>2],+f[d+16+4>>2],+f[d+16+8>>2]);Ta=d;return}function km(a,b){a=a|0;b=b|0;var d=0;d=Ta;Ta=Ta+64|0;c[d>>2]=1065353216;c[d+4>>2]=0;c[d+4+4>>2]=0;c[d+4+8>>2]=0;c[d+4+12>>2]=0;c[d+20>>2]=1065353216;c[d+24>>2]=0;c[d+24+4>>2]=0;c[d+24+8>>2]=0;c[d+24+12>>2]=0;c[d+40>>2]=1065353216;c[d+44>>2]=0;c[d+48>>2]=c[b>>2];c[d+48+4>>2]=c[b+4>>2];c[d+48+8>>2]=c[b+8>>2];c[d+48+12>>2]=c[b+12>>2];zd(a,d);Ta=d;return}function lm(a,b,c,d,e){a=a|0;b=b|0;c=+c;d=+d;e=+e;var g=0,h=0;g=Ta;Ta=Ta+16|0;h=_W(b,0)|0;f[g+8>>2]=+hI(+f[h>>2],+f[h+4>>2],+f[h+8>>2],c,d,e);h=_W(b,1)|0;f[g+4>>2]=+hI(+f[h>>2],+f[h+4>>2],+f[h+8>>2],c,d,e);b=_W(b,2)|0;f[g>>2]=+hI(+f[b>>2],+f[b+4>>2],+f[b+8>>2],c,d,e);bx(a,g+8|0,g+4|0,g);Ta=g;return}function mm(b,c,d){b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0;if(c>>>0>0|(c|0)==0&b>>>0>4294967295)do{e=b;b=cO(b|0,c|0,10,0)|0;f=c;c=D()|0;g=nw(b|0,c|0,-10,-1)|0;g=hD(e|0,f|0,g|0,D()|0)|0;D()|0;d=d+-1|0;a[d>>0]=g&255|48}while(f>>>0>9|(f|0)==9&e>>>0>4294967295);if(b)do{g=b;b=(b>>>0)/10|0;d=d+-1|0;a[d>>0]=g+(z(b,-10)|0)|48}while(g>>>0>=10);return d|0}function nm(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;if((d|0)==0?1:(c[d+236>>2]&2|0)==0){d=1;return d|0}g=c[b+488>>2]|0;if((g|0)<=0){d=1;return d|0}b=c[b+496>>2]|0;f=0;while(1){e=c[b+(f<<2)>>2]|0;if(a[e+20>>0]|0){if((c[e+28>>2]|0)==(d|0)){b=0;e=8;break}if((c[e+32>>2]|0)==(d|0)){b=0;e=8;break}}f=f+1|0;if((f|0)>=(g|0)){b=1;e=8;break}}if((e|0)==8)return b|0;return 0}function om(a,b,c,d,e){a=a|0;b=b|0;c=+c;d=+d;e=+e;var g=0,h=0,i=0,j=0;g=Ta;Ta=Ta+16|0;j=_W(b,0)|0;i=_W(b,1)|0;h=_W(b,2)|0;an(g,c,d,e,+f[j>>2],+f[j+4>>2],+f[j+8>>2],+f[i>>2],+f[i+4>>2],+f[i+8>>2],+f[h>>2],+f[h+4>>2],+f[h+8>>2]);sq(a,+f[g>>2],+f[g+4>>2],+f[g+8>>2],+f[b+48>>2],+f[b+52>>2],+f[b+56>>2]);Ta=g;return}function pm(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,g=0.0,h=0.0,i=0.0,j=0.0;i=+f[b+28>>2];j=+f[b+32>>2];e=+f[b+36>>2];h=+Wa[c[(c[b>>2]|0)+48>>2]&31](b);g=+Wa[c[(c[b>>2]|0)+48>>2]&31](b);e=e+ +Wa[c[(c[b>>2]|0)+48>>2]&31](b);g=+f[d+4>>2]>=0.0?j+g:-(j+g);e=+f[d+8>>2]>=0.0?e:-e;f[a>>2]=+f[d>>2]>=0.0?i+h:-(i+h);f[a+4>>2]=g;f[a+8>>2]=e;f[a+12>>2]=0.0;return}function qm(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0.0,h=0.0,i=0.0;if((d|0)<=0)return;e=0;do{i=+f[a+28>>2];h=+f[a+32>>2];h=+f[b+(e<<4)+4>>2]>=0.0?h:-h;g=+f[a+36>>2];g=+f[b+(e<<4)+8>>2]>=0.0?g:-g;f[c+(e<<4)>>2]=+f[b+(e<<4)>>2]>=0.0?i:-i;f[c+(e<<4)+4>>2]=h;f[c+(e<<4)+8>>2]=g;f[c+(e<<4)+12>>2]=0.0;e=e+1|0}while((e|0)!=(d|0));return}function rm(b){b=b|0;var d=0,e=0;c[b>>2]=7628;d=c[b+64>>2]|0;if(d|0?(mi(d),e=c[b+64>>2]|0,e|0):0){c[6880]=(c[6880]|0)+1;kd(c[e+-4>>2]|0)}d=c[b+24>>2]|0;if(!d){a[b+28>>0]=1;c[b+24>>2]=0;c[b+16>>2]=0;b=b+20|0;c[b>>2]=0;return}if(a[b+28>>0]|0){c[6880]=(c[6880]|0)+1;kd(c[d+-4>>2]|0)}c[b+24>>2]=0;a[b+28>>0]=1;c[b+24>>2]=0;c[b+16>>2]=0;b=b+20|0;c[b>>2]=0;return}function sm(a,b,d,e,f,g,h,i,j,k){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;a=c[a+32>>2]|0;c[d>>2]=c[a+(k<<5)+12>>2];c[b>>2]=c[a+(k<<5)+16>>2];c[e>>2]=c[a+(k<<5)+28>>2];c[f>>2]=c[a+(k<<5)+20>>2];c[i>>2]=c[a+(k<<5)>>2];c[g>>2]=c[a+(k<<5)+4>>2];c[h>>2]=c[a+(k<<5)+8>>2];c[j>>2]=c[a+(k<<5)+24>>2];return}function tm(b){b=b|0;var d=0,e=0;c[b>>2]=8868;d=c[b+104>>2]|0;if(d|0){if(a[b+108>>0]|0){c[6880]=(c[6880]|0)+1;kd(c[d+-4>>2]|0)}c[b+104>>2]=0}a[b+108>>0]=1;c[b+104>>2]=0;c[b+96>>2]=0;c[b+100>>2]=0;c[b>>2]=8560;d=c[b+52>>2]|0;if(d|0?(pb[c[c[d>>2]>>2]&511](d),e=c[b+52>>2]|0,e|0):0){c[6880]=(c[6880]|0)+1;kd(c[e+-4>>2]|0)}c[6880]=(c[6880]|0)+1;kd(c[b+-4>>2]|0);return}function um(a,b){a=+a;b=+b;var d=0;d=Ox()|0;c[d+8>>2]=0;c[d>>2]=8768;c[d+12>>2]=1065353216;c[d+16>>2]=1065353216;c[d+20>>2]=1065353216;f[d+24>>2]=0.0;f[d+44>>2]=.03999999910593033;f[d+56>>2]=a;f[d+60>>2]=b;c[d+4>>2]=11;f[d+52>>2]=a/+s(+(a*a+b*b));c[d>>2]=7808;c[d+64>>2]=0;c[d+68>>2]=2;c[d+72>>2]=1;f[d+28>>2]=a;f[d+36>>2]=b;f[d+32>>2]=a;return d|0}function vm(a,b){a=+a;b=+b;var d=0;d=Ox()|0;c[d+8>>2]=0;c[d>>2]=8768;c[d+12>>2]=1065353216;c[d+16>>2]=1065353216;c[d+20>>2]=1065353216;f[d+24>>2]=0.0;f[d+44>>2]=.03999999910593033;f[d+56>>2]=a;f[d+60>>2]=b;c[d+4>>2]=11;f[d+52>>2]=a/+s(+(a*a+b*b));c[d>>2]=7908;c[d+64>>2]=1;c[d+68>>2]=0;c[d+72>>2]=2;f[d+32>>2]=a;f[d+28>>2]=b;f[d+36>>2]=a;return d|0}function wm(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;switch(b|0){case 0:{b=0;a=0;e=1065353216;break}case 1:{b=0;a=0;e=-1082130432;break}case 2:{b=0;a=1065353216;e=0;break}case 3:{b=0;a=-1082130432;e=0;break}case 4:{b=1065353216;a=0;e=0;break}case 5:{b=-1082130432;a=0;e=0;break}default:return}c[d>>2]=e;c[d+4>>2]=a;c[d+8>>2]=b;f[d+12>>2]=0.0;return}function xm(a,b){a=+a;b=b|0;var d=0,e=0,f=0;g[h>>3]=a;d=c[h>>2]|0;e=c[h+4>>2]|0;f=Oy(d|0,e|0,52)|0;D()|0;switch(f&2047){case 0:{if(a!=0.0){a=+xm(a*18446744073709551616.0,b);d=(c[b>>2]|0)+-64|0}else d=0;c[b>>2]=d;break}case 2047:break;default:{c[b>>2]=(f&2047)+-1022;c[h>>2]=d;c[h+4>>2]=e&-2146435073|1071644672;a=+g[h>>3]}}return +a}function ym(b,d,e,g){b=b|0;d=d|0;e=e|0;g=+g;c[b+4>>2]=c[d>>2];c[b+4+4>>2]=c[d+4>>2];c[b+4+8>>2]=c[d+8>>2];c[b+4+12>>2]=c[d+12>>2];c[b+20>>2]=c[e>>2];c[b+20+4>>2]=c[e+4>>2];c[b+20+8>>2]=c[e+8>>2];c[b+20+12>>2]=c[e+12>>2];f[b+36>>2]=g;a[b+40>>0]=1;return}function zm(a,e,g){a=a|0;e=e|0;g=g|0;var h=0.0;switch(c[a+96>>2]|0){case 0:{h=+f[(c[a+92>>2]|0)+((z(c[a+64>>2]|0,g)|0)+e<<2)>>2];return +h}case 5:{h=+(d[(c[a+92>>2]|0)+((z(c[a+64>>2]|0,g)|0)+e)>>0]|0)*+f[a+88>>2];return +h}case 3:{h=+(b[(c[a+92>>2]|0)+((z(c[a+64>>2]|0,g)|0)+e<<1)>>1]|0)*+f[a+88>>2];return +h}default:{h=0.0;return +h}}return 0.0}function Am(a,b){a=a|0;b=b|0;c[a>>2]=c[b>>2];c[a+4>>2]=c[b+4>>2];c[a+8>>2]=c[b+8>>2];c[a+12>>2]=c[b+12>>2];c[a+16>>2]=c[b+16>>2];c[a+20>>2]=c[b+20>>2];c[a+24>>2]=c[b+24>>2];Wm(a+28|0,b+28|0);c[a+76>>2]=c[b+76>>2];c[a+76+4>>2]=c[b+76+4>>2];c[a+76+8>>2]=c[b+76+8>>2];c[a+76+12>>2]=c[b+76+12>>2];c[a+76+16>>2]=c[b+76+16>>2];return}function Bm(){var b=0;b=Ta;Ta=Ta+48|0;if(a[25416]|0){Ta=b;return}if(!(kP(25416)|0)){Ta=b;return}f[b+32>>2]=1.0;f[b+28>>2]=0.0;f[b+24>>2]=0.0;f[b+20>>2]=0.0;f[b+16>>2]=1.0;f[b+12>>2]=0.0;f[b+8>>2]=0.0;f[b+4>>2]=0.0;f[b>>2]=1.0;jr(25920,b+32|0,b+28|0,b+24|0,b+20|0,b+16|0,b+12|0,b+8|0,b+4|0,b);kO(25416);Ta=b;return}function Cm(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;if((c[a+8>>2]|0)<=0)return;e=0;do{f=c[a+16>>2]|0;g=f+(e<<4)|0;if(gb[c[(c[b>>2]|0)+8>>2]&63](b,g)|0){jb[c[(c[a>>2]|0)+12>>2]&63](a,c[g>>2]|0,c[f+(e<<4)+4>>2]|0,d)|0;c[6855]=(c[6855]|0)+-1}else e=e+1|0}while((e|0)<(c[a+8>>2]|0));return}function Dm(a,b){a=a|0;b=b|0;var c=0.0,d=0;d=Ta;Ta=Ta+32|0;c=+f[b+12>>2];if(1.0-c*c<1.1920928955078125e-06){f[d+20>>2]=1.0;f[d+16>>2]=0.0;f[d+12>>2]=0.0;bx(a,d+20|0,d+16|0,d+12|0);Ta=d;return}else{c=1.0/+g$(1.0-c*c);f[d+8>>2]=+f[b>>2]*c;f[d+4>>2]=+f[b+4>>2]*c;f[d>>2]=+f[b+8>>2]*c;bx(a,d+8|0,d+4|0,d);Ta=d;return}}function Em(a,b,d,e,g,h){a=a|0;b=b|0;d=d|0;e=e|0;g=g|0;h=h|0;d=Ta;Ta=Ta+16|0;c[d>>2]=10588;c[d+4>>2]=e;je(a+4|0,c[a+4>>2]|0,b,e+4|0,e+20|0,+f[e+32>>2],g,h,d);je(a+64|0,c[a+64>>2]|0,b,e+4|0,e+20|0,+f[e+32>>2],g,h,d);Ta=d;return}function Fm(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;f=D$(c[a+4>>2]|0)|0;if((f|0)>(b|0)){e=b;while(1){if((e|0)>=(f|0))break;WX((c[a+12>>2]|0)+(e*36|0)|0);e=e+1|0}c[a+4>>2]=b;return}if((f|0)<(b|0))Cn(a,b);e=f;while(1){if((e|0)>=(b|0))break;ds((c[a+12>>2]|0)+(e*36|0)|0,d);e=e+1|0}c[a+4>>2]=b;return}function Gm(b){b=b|0;var d=0;c[b>>2]=8868;d=c[b+104>>2]|0;if(d|0){if(a[b+108>>0]|0){c[6880]=(c[6880]|0)+1;kd(c[d+-4>>2]|0)}c[b+104>>2]=0}a[b+108>>0]=1;c[b+104>>2]=0;c[b+96>>2]=0;c[b+100>>2]=0;c[b>>2]=8560;d=c[b+52>>2]|0;if(!d)return;pb[c[c[d>>2]>>2]&511](d);d=c[b+52>>2]|0;if(!d)return;c[6880]=(c[6880]|0)+1;kd(c[d+-4>>2]|0);return}function Hm(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=D$(c[a+4>>2]|0)|0;if((e|0)>(b|0)){c[a+4>>2]=b;return}if((e|0)<(b|0))Mo(a,b);while(1){if((e|0)>=(b|0))break;f=D$((c[a+12>>2]|0)+(e<<4)|0)|0;c[f>>2]=c[d>>2];c[f+4>>2]=c[d+4>>2];c[f+8>>2]=c[d+8>>2];c[f+12>>2]=c[d+12>>2];e=e+1|0}c[a+4>>2]=b;return}function Im(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=D$(c[a+4>>2]|0)|0;if((e|0)>(b|0)){c[a+4>>2]=b;return}if((e|0)<(b|0))qo(a,b);while(1){if((e|0)>=(b|0))break;f=(c[a+12>>2]|0)+(e*104|0)|0;g=d;h=f+104|0;do{c[f>>2]=c[g>>2];f=f+4|0;g=g+4|0}while((f|0)<(h|0));e=e+1|0}c[a+4>>2]=b;return}function Jm(a,b){a=+a;b=+b;var d=0;d=Ox()|0;c[d+8>>2]=0;c[d+12>>2]=1065353216;c[d+16>>2]=1065353216;c[d+20>>2]=1065353216;f[d+24>>2]=0.0;f[d+44>>2]=.03999999910593033;c[d>>2]=7708;f[d+56>>2]=a;f[d+60>>2]=b;c[d+4>>2]=11;c[d+64>>2]=0;c[d+68>>2]=1;c[d+72>>2]=2;f[d+28>>2]=a;f[d+32>>2]=b;f[d+36>>2]=a;f[d+52>>2]=a/+s(+(a*a+b*b));return d|0}function Km(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0.0,g=0;e=Ta;Ta=Ta+16|0;c[e>>2]=-1;c[e+4>>2]=c[a+16>>2];if(!(c[b+4>>2]|0))c[b+4>>2]=e;g=c[a+12>>2]|0;f=+Za[c[(c[g>>2]|0)+12>>2]&63](g,b,d);c[a+4>>2]=c[(c[a+12>>2]|0)+4>>2];Ta=e;return +f}function Lm(a,b){a=a|0;b=b|0;var d=0;d=Ta;Ta=Ta+16|0;c[a+348>>2]=c[b>>2];c[a+348+4>>2]=c[b+4>>2];c[a+348+8>>2]=c[b+8>>2];c[a+348+12>>2]=c[b+12>>2];Xq(d,+f[a+348>>2],+f[a+352>>2],+f[a+356>>2],+f[a+344>>2]);c[a+560>>2]=c[d>>2];c[a+560+4>>2]=c[d+4>>2];c[a+560+8>>2]=c[d+8>>2];c[a+560+12>>2]=c[d+12>>2];Ta=d;return}function Mm(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;g=c[a+268>>2]|0;if((g|0)<=0)return;b=c[b>>2]|0;f=c[a+276>>2]|0;d=0;while(1){e=f+(d<<2)|0;if((c[e>>2]|0)==(b|0))break;d=d+1|0;if((d|0)>=(g|0)){h=7;break}}if((h|0)==7)return;if((d|0)>=(g|0))return;c[e>>2]=c[f+(g+-1<<2)>>2];c[a+268>>2]=g+-1;return}function Nm(a,b,c,d){a=a|0;b=+b;c=+c;d=+d;var e=0,g=0.0,h=0.0,i=0.0;e=Ta;Ta=Ta+16|0;g=+t$(b*.5);b=+s$(b*.5);h=+t$(c*.5);c=+s$(c*.5);i=+t$(d*.5);d=+s$(d*.5);f[e+12>>2]=d*h*g-i*c*b;f[e+8>>2]=i*c*g+d*h*b;f[e+4>>2]=i*h*b-d*c*g;f[e>>2]=i*h*g+d*c*b;Mu(a,e+12|0,e+8|0,e+4|0,e);Ta=e;return}function Om(a,b){a=a|0;b=b|0;var d=0,e=0;d=c[a+4>>2]|0;e=D$(d)|0;if((e|0)==(D$(c[a+8>>2]|0)|0)){Mo(a,AU(e)|0);d=c[a+4>>2]|0}e=D$((c[a+12>>2]|0)+(d<<4)|0)|0;c[e>>2]=c[b>>2];c[e+4>>2]=c[b+4>>2];c[e+8>>2]=c[b+8>>2];c[e+12>>2]=c[b+12>>2];c[a+4>>2]=(c[a+4>>2]|0)+1;return}function Pm(a,b,d,e,g,h){a=a|0;b=b|0;d=d|0;e=e|0;g=g|0;h=+h;c[a>>2]=b;c[a+4>>2]=d;c[a+8>>2]=c[e>>2];c[a+8+4>>2]=c[e+4>>2];c[a+8+8>>2]=c[e+8>>2];c[a+8+12>>2]=c[e+12>>2];c[a+24>>2]=c[g>>2];c[a+24+4>>2]=c[g+4>>2];c[a+24+8>>2]=c[g+8>>2];c[a+24+12>>2]=c[g+12>>2];f[a+40>>2]=h;return}function Qm(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;f=c[a+280>>2]|0;if((f|0)<=0)return;g=c[a+288>>2]|0;d=0;while(1){e=g+(d<<2)|0;if((c[e>>2]|0)==(b|0))break;d=d+1|0;if((d|0)>=(f|0)){h=7;break}}if((h|0)==7)return;if((d|0)>=(f|0))return;c[e>>2]=c[g+(f+-1<<2)>>2];c[(c[a+288>>2]|0)+(f+-1<<2)>>2]=b;c[a+280>>2]=f+-1;return}function Rm(a){a=a|0;var b=0;b=Ta;Ta=Ta+32|0;f[a>>2]=1.2000000476837158;f[a+4>>2]=0.0;f[a+8>>2]=0.0;f[a+12>>2]=1.0e3;f[b+20>>2]=0.0;f[b+16>>2]=0.0;f[b+12>>2]=0.0;bx(a+16|0,b+20|0,b+16|0,b+12|0);c[a+32>>2]=0;c[a+36>>2]=0;f[b+8>>2]=0.0;f[b+4>>2]=-10.0;f[b>>2]=0.0;bx(a+40|0,b+8|0,b+4|0,b);XX(a+56|0);Ta=b;return}function Sm(a,b){a=a|0;b=b|0;var d=0,e=0,g=0;e=c[a+712>>2]|0;if((e|0)<=0)return;a=c[a+720>>2]|0;d=0;do{if(+f[a+(d*104|0)+88>>2]>0.0){g=a+(d*104|0)+56|0;f[g>>2]=+f[b>>2]+ +f[g>>2];g=a+(d*104|0)+60|0;f[g>>2]=+f[b+4>>2]+ +f[g>>2];g=a+(d*104|0)+64|0;f[g>>2]=+f[b+8>>2]+ +f[g>>2]}d=d+1|0}while((d|0)!=(e|0));return}function Tm(a,b,c){a=a|0;b=b|0;c=+c;var d=0,e=0.0;d=Ta;Ta=Ta+16|0;e=+iM(+f[b>>2],+f[b+4>>2],+f[b+8>>2]);e=+s$(c*.5)/e;f[d+12>>2]=+f[(D$(b)|0)>>2]*e;f[d+8>>2]=+f[(R_(b)|0)>>2]*e;f[d+4>>2]=+f[(Q_(b)|0)>>2]*e;f[d>>2]=+t$(c*.5);Mu(a,d+12|0,d+8|0,d+4|0,d);Ta=d;return}function Um(){var b=0,e=0,f=0;f=Ta;Ta=Ta+16|0;a[f>>0]=10;b=c[860]|0;if(!b)if(!(dp(3424)|0)){b=c[860]|0;e=4}else b=-1;else e=4;do if((e|0)==4){e=c[861]|0;if(!(e>>>0>=b>>>0|(a[3499]|0)==10)){c[861]=e+1;a[e>>0]=10;b=10;break}if((ib[c[3460>>2]&63](3424,f,1)|0)==1)b=d[f>>0]|0;else b=-1}while(0);Ta=f;return b|0}function Vm(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0.0,g=0;e=Ta;Ta=Ta+16|0;c[e>>2]=-1;c[e+4>>2]=c[a+24>>2];if(!(c[b+4>>2]|0))c[b+4>>2]=e;g=c[a+20>>2]|0;f=+Za[c[(c[g>>2]|0)+12>>2]&63](g,b,d);c[a+4>>2]=c[(c[a+20>>2]|0)+4>>2];Ta=e;return +f}function Wm(a,b){a=a|0;b=b|0;c[a>>2]=c[b>>2];c[a+4>>2]=c[b+4>>2];c[a+8>>2]=c[b+8>>2];c[a+12>>2]=c[b+12>>2];c[a+16>>2]=c[b+16>>2];c[a+16+4>>2]=c[b+16+4>>2];c[a+16+8>>2]=c[b+16+8>>2];c[a+16+12>>2]=c[b+16+12>>2];c[a+32>>2]=c[b+32>>2];c[a+32+4>>2]=c[b+32+4>>2];c[a+32+8>>2]=c[b+32+8>>2];c[a+32+12>>2]=c[b+32+12>>2];return}function Xm(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0;a:do switch(b|0){case 2:case 1:{if(c>>>0<3){d=+f[a+600>>2];break a}if((c+-3|0)>>>0<3)d=+f[a+432>>2];else d=0.0;break}case 4:case 3:{if(c>>>0<3){d=+f[a+596>>2];break a}if((c+-3|0)>>>0<3)d=+f[a+604>>2];else d=0.0;break}default:d=0.0}while(0);return +d}function Ym(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;b=c[d>>2]|0;b=gb[c[(c[b>>2]|0)+56>>2]&63](b,16)|0;d=c[d>>2]|0;c[b+4>>2]=d;c[b>>2]=10868;a[b+8>>0]=0;c[b+12>>2]=0;c[b+12>>2]=ib[c[(c[d>>2]|0)+12>>2]&63](d,c[e+8>>2]|0,c[f+8>>2]|0)|0;a[b+8>>0]=1;return b|0}function Zm(a,b){a=a|0;b=b|0;var d=0,e=0;d=c[a+56>>2]|0;if(!d)return;e=eb[c[(c[d>>2]|0)+8>>2]&255](d)|0;e=ib[c[(c[b>>2]|0)+16>>2]&63](b,e,1)|0;d=c[a+56>>2]|0;d=ib[c[(c[d>>2]|0)+12>>2]&63](d,c[e+8>>2]|0,b)|0;Gb[c[(c[b>>2]|0)+20>>2]&63](b,e,d,1346456916,c[a+56>>2]|0);return}function _m(a,b,d,e){a=a|0;b=b|0;d=+d;e=e|0;switch(b|0){case 2:case 1:if(e>>>0<3){f[a+600>>2]=d;c[a+592>>2]=c[a+592>>2]|2;return}else{f[a+432>>2]=d;return}case 4:case 3:if(e>>>0<3){f[a+596>>2]=d;c[a+592>>2]=c[a+592>>2]|1;return}else{f[a+604>>2]=d;c[a+592>>2]=c[a+592>>2]|4;return}default:return}}function $m(a,b){a=a|0;b=b|0;var d=0,e=0;d=c[a+52>>2]|0;if(!d)return;e=eb[c[(c[d>>2]|0)+12>>2]&255](d)|0;e=ib[c[(c[b>>2]|0)+16>>2]&63](b,e,1)|0;d=c[a+52>>2]|0;d=ib[c[(c[d>>2]|0)+16>>2]&63](d,c[e+8>>2]|0,b)|0;Gb[c[(c[b>>2]|0)+20>>2]&63](b,e,d,1213612625,c[a+52>>2]|0);return}function an(a,b,c,d,e,g,h,i,j,k,l,m,n){a=a|0;b=+b;c=+c;d=+d;e=+e;g=+g;h=+h;i=+i;j=+j;k=+k;l=+l;m=+m;n=+n;var o=0;o=Ta;Ta=Ta+16|0;f[o+8>>2]=+hI(b,c,d,e,g,h);f[o+4>>2]=+hI(b,c,d,i,j,k);f[o>>2]=+hI(b,c,d,l,m,n);bx(a,o+8|0,o+4|0,o);Ta=o;return}function bn(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0.0,g=0.0,h=0.0,i=0.0,j=0.0;j=+f[b+28>>2];d=+f[b+36>>2];e=+f[c>>2];h=+f[c+4>>2];i=+s(+(e*e+h*h));if(i!=0.0){g=+f[c+8>>2]<0.0?-d:d;e=e*(j/i);d=h*(j/i)}else{g=+f[c+8>>2]<0.0?-d:d;e=j;d=0.0}f[a>>2]=e;f[a+8>>2]=g;f[a+4>>2]=d;return}function cn(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0.0,g=0.0,h=0.0,i=0.0,j=0.0;j=+f[b+28>>2];d=+f[b+32>>2];e=+f[c>>2];h=+f[c+8>>2];i=+s(+(e*e+h*h));if(i!=0.0){g=+f[c+4>>2]<0.0?-d:d;e=e*(j/i);d=h*(j/i)}else{g=+f[c+4>>2]<0.0?-d:d;e=j;d=0.0}f[a>>2]=e;f[a+4>>2]=g;f[a+8>>2]=d;return}function dn(a,b,c){a=a|0;b=b|0;c=+c;var d=0.0,e=0.0,g=0.0,h=0.0;e=+f[a+28>>2];g=+f[a+32>>2];h=+f[a+36>>2];d=+f[b>>2];if(!(d<=e+c)){b=0;return b|0}if(!(d>=-e-c)){b=0;return b|0}d=+f[b+4>>2];if(!(d<=g+c)){b=0;return b|0}if(!(d>=-g-c)){b=0;return b|0}d=+f[b+8>>2];if(!(d<=h+c)){b=0;return b|0}b=d>=-h-c;return b|0}function en(a,b,d){a=a|0;b=b|0;d=d|0;AD(a);c[a>>2]=3680;c[a+12>>2]=c[b>>2];c[a+12+4>>2]=c[b+4>>2];c[a+12+8>>2]=c[b+8>>2];c[a+12+12>>2]=c[b+12>>2];c[a+28>>2]=c[d>>2];c[a+28+4>>2]=c[d+4>>2];c[a+28+8>>2]=c[d+8>>2];c[a+28+12>>2]=c[d+12>>2];c[a+76>>2]=0;return}function fn(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0.0,g=0.0,h=0.0,i=0.0,j=0.0;j=+f[b+32>>2];d=+f[b+28>>2];e=+f[c+4>>2];h=+f[c+8>>2];i=+s(+(e*e+h*h));if(i!=0.0){g=+f[c>>2]<0.0?-d:d;e=e*(j/i);d=h*(j/i)}else{g=+f[c>>2]<0.0?-d:d;e=j;d=0.0}f[a+4>>2]=e;f[a>>2]=g;f[a+8>>2]=d;return}function gn(b,d,e,g){b=b|0;d=d|0;e=e|0;g=+g;if(!(+f[b+36>>2]>g))return;a[b+40>>0]=1;c[b+4>>2]=c[d>>2];c[b+4+4>>2]=c[d+4>>2];c[b+4+8>>2]=c[d+8>>2];c[b+4+12>>2]=c[d+12>>2];c[b+20>>2]=c[e>>2];c[b+20+4>>2]=c[e+4>>2];c[b+20+8>>2]=c[e+8>>2];c[b+20+12>>2]=c[e+12>>2];f[b+36>>2]=g;return}function hn(a,b){a=a|0;b=+b;var c=0,d=0.0;c=Ta;Ta=Ta+16|0;if(!(+f[a+68>>2]>0.0)){Ta=c;return}d=-+f[a+92>>2];b=-+f[a+96>>2];f[c>>2]=-+f[a+88>>2];f[c+4>>2]=d;f[c+8>>2]=b;f[c+12>>2]=0.0;jj(a+4|0,c,a+164|0);jj(a+16|0,a+88|0,a+180|0);Ta=c;return}function jn(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;a=c[b+748>>2]|0;if((a|0)<=0){c[b+748>>2]=0;return}f=0;do{e=b+4+(f*184|0)+112|0;d=c[e>>2]|0;if((d|0)!=0?(g=c[6851]|0,(g|0)!=0):0){eb[g&255](d)|0;c[e>>2]=0;a=c[b+748>>2]|0}f=f+1|0}while((f|0)<(a|0));c[b+748>>2]=0;return}function kn(a){a=a|0;var b=0.0,d=0.0,e=0.0;d=+f[(c[a+28>>2]|0)+344>>2];e=+f[(c[a+32>>2]|0)+344>>2];e=e==0.0?1.0:d/(d+e);d=+f[a+1116>>2]*e+(1.0-e)*+f[a+1180>>2];b=e*+f[a+1120>>2]+(1.0-e)*+f[a+1184>>2];f[a+1284>>2]=+f[a+1112>>2]*e+ +f[a+1176>>2]*(1.0-e);f[a+1288>>2]=d;f[a+1292>>2]=b;f[a+1296>>2]=0.0;return}function ln(a,b){a=a|0;b=b|0;var d=0.0,e=0.0,g=0.0;d=+f[a+344>>2];if(d!=0.0){g=1.0/d*+f[b+4>>2];e=1.0/d*+f[b+8>>2];f[a+364>>2]=1.0/d*+f[b>>2];f[a+368>>2]=g;f[a+372>>2]=e;f[a+376>>2]=0.0}c[a+380>>2]=c[b>>2];c[a+380+4>>2]=c[b+4>>2];c[a+380+8>>2]=c[b+8>>2];c[a+380+12>>2]=c[b+12>>2];return}function mn(b,d,e){b=b|0;d=d|0;e=e|0;var f=0;f=c[b+16>>2]|0;do if(f){if((f|0)!=(d|0)){c[b+36>>2]=(c[b+36>>2]|0)+1;c[b+24>>2]=2;a[b+54>>0]=1;break}if((c[b+24>>2]|0)==2)c[b+24>>2]=e}else{c[b+16>>2]=d;c[b+24>>2]=e;c[b+36>>2]=1}while(0);return}function nn(a,d){a=a|0;d=d|0;var e=0,f=0;e=c[d>>2]|0;f=c[a+80>>2]|0;if((e|0)==(f|0)){a=0;return a|0}if(!((b[a+10>>1]&b[d+4>>1])<<16>>16)){a=0;return a|0}if(!((b[d+6>>1]&b[a+8>>1])<<16>>16)){a=0;return a|0}a=c[a+92>>2]|0;a=ib[c[(c[a>>2]|0)+28>>2]&63](a,f,e)|0;return a|0}function on(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=c[a+8>>2]|0;a=c[f+8>>2]|0;if((a|0)<=0)return;e=0;do{d=c[(c[f+16>>2]|0)+(e*12|0)+8>>2]|0;if(d){vb[c[(c[d>>2]|0)+16>>2]&255](d,b);a=c[f+8>>2]|0}e=e+1|0}while((e|0)<(a|0));return}function pn(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=Ta;Ta=Ta+32|0;c[f+8>>2]=c[a+60>>2];c[f+8+4>>2]=d;c[f+8+8>>2]=b;c[f+8+12>>2]=f;c[f+8+16>>2]=e;if((uY(Ca(140,f+8|0)|0)|0)<0){c[f>>2]=-1;c[f+4>>2]=-1;b=-1;d=-1}else{b=c[f+4>>2]|0;d=c[f>>2]|0}C(b|0);Ta=f;return d|0}function qn(a,b,d,e){a=a|0;b=b|0;d=+d;e=e|0;switch(e|0){case 5:case -1:break;default:return}switch(b|0){case 2:{f[a+760>>2]=d;c[a+748>>2]=c[a+748>>2]|2;return}case 4:{f[a+756>>2]=d;c[a+748>>2]=c[a+748>>2]|1;return}case 3:{f[a+752>>2]=d;c[a+748>>2]=c[a+748>>2]|4;return}default:return}}function rn(a,b,d){a=a|0;b=b|0;d=d|0;fy(a);c[a>>2]=3900;c[a+20>>2]=c[b>>2];c[a+20+4>>2]=c[b+4>>2];c[a+20+8>>2]=c[b+8>>2];c[a+20+12>>2]=c[b+12>>2];c[a+36>>2]=c[d>>2];c[a+36+4>>2]=c[d+4>>2];c[a+36+8>>2]=c[d+8>>2];c[a+36+12>>2]=c[d+12>>2];return}function sn(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0;f=Ta;Ta=Ta+256|0;if((c|0)>(d|0)&(e&73728|0)==0){el(f|0,b<<24>>24|0,((c-d|0)>>>0<256?c-d|0:256)|0)|0;if((c-d|0)>>>0>255){b=c-d|0;do{DL(a,f,256);b=b+-256|0}while(b>>>0>255);b=c-d&255}else b=c-d|0;DL(a,f,b)}Ta=f;return}function tn(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=c[d>>2]|0;a=TG(c[b>>2]|0)|0;f=TG(f)|0;if(a|0)Cb[c[(c[a>>2]|0)+32>>2]&127](a,d,e,b);if(!f)return 0;Cb[c[(c[f>>2]|0)+32>>2]&127](f,b,e,d);return 0}function un(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=Ta;Ta=Ta+48|0;f=c[b+192>>2]|0;Cb[c[(c[f>>2]|0)+8>>2]&127](f,b+4|0,e+32|0,e+16|0);c[e>>2]=7292;c[e+4>>2]=b;c[e+8>>2]=a;c[e+12>>2]=d;a=c[a+68>>2]|0;Cb[c[(c[a>>2]|0)+28>>2]&127](a,e+32|0,e+16|0,e);Ta=e;return}function vn(){var b=0,d=0,e=0;do if((c[875]|0)>=0?($$()|0)!=0:0){if((a[3499]|0)!=10?(d=c[861]|0,d>>>0<(c[860]|0)>>>0):0){c[861]=d+1;a[d>>0]=10;break}Um()|0}else e=3;while(0);do if((e|0)==3){if((a[3499]|0)!=10?(b=c[861]|0,b>>>0<(c[860]|0)>>>0):0){c[861]=b+1;a[b>>0]=10;break}Um()|0}while(0);return}function wn(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;f=Ta;Ta=Ta+112|0;d=D$(c[b+4>>2]|0)|0;e=f;g=e+104|0;do{c[e>>2]=0;e=e+4|0}while((e|0)<(g|0));OW(f);Im(a,d,f);Po(b,d,c[a+12>>2]|0);Ta=f;return}function xn(a,b,d){a=a|0;b=b|0;d=d|0;a:do switch(c[b+216>>2]|0){case 2:case 5:{switch(c[d+216>>2]|0){case 2:case 5:{b=0;break}default:break a}return b|0}default:{}}while(0);if(c[b+256>>2]|0?!(gb[c[c[b>>2]>>2]&63](b,d)|0):0){a=0;return a|0}a=1;return a|0}function yn(a,b,d){a=a|0;b=b|0;d=d|0;Xh(a,b,d)|0;c[b+52>>2]=c[a+300>>2];c[b+56>>2]=c[a+304>>2];c[b+60>>2]=c[a+308>>2];c[b+64>>2]=c[a+312>>2];c[b+68>>2]=c[a+316>>2];c[b+72>>2]=c[a+320>>2];c[b+76>>2]=c[a+324>>2];c[b+80>>2]=c[a+328>>2];return 15593}function zn(a){a=a|0;c[6404]=c[a>>2];c[6405]=c[a+4>>2];c[6406]=c[a+8>>2];c[6407]=c[a+12>>2];c[6408]=c[a+16>>2];c[6409]=c[a+20>>2];c[6410]=c[a+24>>2];Wm(25644,a+28|0);c[6423]=c[a+76>>2];c[6424]=c[a+76+4>>2];c[6425]=c[a+76+8>>2];c[6426]=c[a+76+12>>2];c[6427]=c[a+76+16>>2];return}function An(a,b){a=a|0;b=b|0;var c=0.0,d=0.0,e=0;e=Ta;Ta=Ta+16|0;c=+cV(a);c=+g$(c*+cV(b));d=+Dp(a,b);if(d<0.0){Qo(e,b);d=+bN(+Dp(a,e)/c);d=d*2.0;Ta=e;return +d}else{d=+bN(d/c);d=d*2.0;Ta=e;return +d}return 0.0}function Bn(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;j=D$(b)|0;i=D$(b+16|0)|0;h=D$(b+32|0)|0;g=R_(b)|0;f=R_(b+16|0)|0;e=R_(b+32|0)|0;d=Q_(b)|0;c=Q_(b+16|0)|0;jr(a,j,i,h,g,f,e,d,c,Q_(b+32|0)|0);return}function Cn(b,d){b=b|0;d=d|0;var e=0;if((D$(c[b+8>>2]|0)|0)>=(d|0))return;e=DA(d)|0;Mt(b,D$(c[b+4>>2]|0)|0,e);xw(b,D$(c[b+4>>2]|0)|0);Hx(b);a[b+16>>0]=1;c[b+12>>2]=e;c[b+8>>2]=d;return}function Dn(a,b){a=a|0;b=b|0;var d=0;if(c[b+40>>2]|0){Dn(a,c[b+36>>2]|0);Dn(a,c[b+40>>2]|0)}if((c[a>>2]|0)==(b|0))c[a>>2]=0;d=c[a+4>>2]|0;if(!d){c[a+4>>2]=b;return}c[6880]=(c[6880]|0)+1;kd(c[d+-4>>2]|0);c[a+4>>2]=b;return}function En(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0;g=c[a+32>>2]|0;c[g>>2]=(c[g>>2]|0)+1;Bg(a,Cd(a,b,f)|0);Bg(a,Cd(a,d,f)|0);Bg(a,Cd(a,e,f)|0);return}function Fn(a){a=a|0;var b=0;b=Ta;Ta=Ta+48|0;f[b+32>>2]=1.0;f[b+28>>2]=0.0;f[b+24>>2]=0.0;f[b+20>>2]=0.0;f[b+16>>2]=1.0;f[b+12>>2]=0.0;f[b+8>>2]=0.0;f[b+4>>2]=0.0;f[b>>2]=1.0;Lp(a,b+32|0,b+28|0,b+24|0,b+20|0,b+16|0,b+12|0,b+8|0,b+4|0,b);Ta=b;return}function Gn(a,b){a=a|0;b=b|0;var d=0,e=0;c[a+68>>2]=(c[a+68>>2]|0)+1;d=c[a+16>>2]|0;if((d|0)>0)do{e=d;d=d+-1|0;if((c[(c[a+24>>2]|0)+(d*80|0)+64>>2]|0)==(b|0))ge(a,d)}while((e|0)>1);pb[c[(c[a>>2]|0)+68>>2]&511](a);return}function Hn(a,b){a=+a;b=+b;var d=0;d=Sx()|0;c[d+8>>2]=0;c[d+12>>2]=1065353216;c[d+16>>2]=1065353216;c[d+20>>2]=1065353216;f[d+24>>2]=0.0;f[d+44>>2]=.03999999910593033;c[d+4>>2]=10;c[d>>2]=9204;c[d+52>>2]=2;f[d+28>>2]=a;f[d+32>>2]=a;f[d+36>>2]=b*.5;f[d+40>>2]=0.0;return d|0}function In(a,b){a=+a;b=+b;var d=0;d=Sx()|0;c[d+8>>2]=0;c[d+12>>2]=1065353216;c[d+16>>2]=1065353216;c[d+20>>2]=1065353216;f[d+24>>2]=0.0;f[d+44>>2]=.03999999910593033;c[d+4>>2]=10;c[d>>2]=9104;c[d+52>>2]=0;f[d+28>>2]=b*.5;f[d+32>>2]=a;f[d+36>>2]=a;f[d+40>>2]=0.0;return d|0}function Jn(a,b){a=+a;b=+b;var d=0;d=Sx()|0;c[d+8>>2]=0;c[d+12>>2]=1065353216;c[d+16>>2]=1065353216;c[d+20>>2]=1065353216;f[d+24>>2]=0.0;f[d+44>>2]=.03999999910593033;c[d>>2]=9004;c[d+4>>2]=10;c[d+52>>2]=1;f[d+28>>2]=a;f[d+32>>2]=b*.5;f[d+36>>2]=a;f[d+40>>2]=0.0;return d|0}function Kn(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0;a:do switch(c|0){case 5:case -1:switch(b|0){case 2:{d=+f[a+760>>2];break a}case 4:{d=+f[a+756>>2];break a}case 3:{d=+f[a+752>>2];break a}default:{d=0.0;break a}}default:d=0.0}while(0);return +d}function Ln(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=Ta;Ta=Ta+16|0;c[f>>2]=a;c[f+4>>2]=e;a=c[a+72+((c[(c[b+4>>2]|0)+4>>2]|0)*144|0)+(c[(c[d+4>>2]|0)+4>>2]<<2)>>2]|0;a=jb[c[(c[a>>2]|0)+8>>2]&63](a,f,b,d)|0;Ta=f;return a|0}function Mn(a,b,c){a=a|0;b=+b;c=c|0;var d=0.0,e=0.0,g=0.0;e=(+f[a+68>>2]-+f[a+52>>2])*.5*2.0;d=(+f[a+72>>2]-+f[a+56>>2])*.5*2.0;g=(+f[a+76>>2]-+f[a+60>>2])*.5*2.0;f[c>>2]=b/12.0*(d*d+g*g);f[c+4>>2]=b/12.0*(e*e+g*g);f[c+8>>2]=b/12.0*(e*e+d*d);f[c+12>>2]=0.0;return}function Nn(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=D$(c[a+4>>2]|0)|0;if((e|0)>(b|0)){c[a+4>>2]=b;return}if((e|0)<(b|0))ko(a,b);while(1){if((e|0)>=(b|0))break;Am((c[a+12>>2]|0)+(e*96|0)|0,d);e=e+1|0}c[a+4>>2]=b;return}function On(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;f=Ta;Ta=Ta+48|0;d=D$(c[b+4>>2]|0)|0;e=f;g=e+36|0;do{c[e>>2]=0;e=e+4|0}while((e|0)<(g|0));XX(f);Fm(a,d,f);WX(f);Mt(b,d,c[a+12>>2]|0);Ta=f;return}function Pn(a,b){a=a|0;b=b|0;var d=0;a=c[a+64>>2]|0;if(!b)return;d=c[a+16>>2]|0;if(d>>>0<=b>>>0?(d+(z(c[a>>2]|0,c[a+4>>2]|0)|0)|0)>>>0>b>>>0:0){c[b>>2]=c[a+12>>2];c[a+12>>2]=b;c[a+8>>2]=(c[a+8>>2]|0)+1;return}c[6880]=(c[6880]|0)+1;kd(c[b+-4>>2]|0);return}function Qn(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;if(zy(a,c[b+8>>2]|0,g)|0)tl(b,d,e,f);else{a=c[a+8>>2]|0;Ib[c[(c[a>>2]|0)+20>>2]&31](a,b,d,e,f,g)}return}function Rn(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;f=Ta;Ta=Ta+96|0;d=D$(c[b+4>>2]|0)|0;e=f;g=e+96|0;do{c[e>>2]=0;e=e+4|0}while((e|0)<(g|0));Nn(a,d,f);Ar(b,d,c[a+12>>2]|0);Ta=f;return}function Sn(a){a=a|0;var b=0,d=0;if((c[a+232>>2]|0)<=0)return;b=0;do{d=(c[(c[a+240>>2]|0)+(b<<2)>>2]|0)+412|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;c[d+16>>2]=0;c[d+20>>2]=0;c[d+24>>2]=0;c[d+28>>2]=0;b=b+1|0}while((b|0)<(c[a+232>>2]|0));return}function Tn(){var b=0;b=Ta;Ta=Ta+32|0;if(a[25408]|0){Ta=b;return}if(!(kP(25408)|0)){Ta=b;return}Bm();f[b+8>>2]=0.0;f[b+4>>2]=0.0;f[b>>2]=0.0;bx(b+16|0,b+8|0,b+4|0,b);yr(25856,25920,b+16|0);kO(25408);Ta=b;return}function Un(a){a=a|0;Xc(a,(c[a+28>>2]|0)+4|0,(c[a+32>>2]|0)+4|0);c[a+1316>>2]=c[a+1256>>2];c[a+1320>>2]=c[a+1260>>2];c[a+1324>>2]=c[a+1264>>2];c[a+1328>>2]=c[a+1192>>2];c[a+1332>>2]=c[a+1196>>2];c[a+1336>>2]=c[a+1200>>2];return}function Vn(a,d){a=a|0;d=d|0;var f=0,g=0;if(b[a+56>>1]|0)return;b[a+64>>1]=1;d=b[a+58>>1]|0;g=c[a+60>>2]|0;if((d&65535)>1){f=1;do{d=f;f=f+1|0;b[g+(d<<6)+48>>1]=f;d=e[a+58>>1]|0}while(f>>>0>>0)}else d=d&65535;b[g+(d+-1<<6)+48>>1]=0;return}function Wn(a,b){a=a|0;b=b|0;var d=0,e=0;d=c[a+4>>2]|0;e=D$(d)|0;if((e|0)==(D$(c[a+8>>2]|0)|0)){ko(a,AU(e)|0);d=c[a+4>>2]|0}Am((c[a+12>>2]|0)+(d*96|0)|0,b);c[a+4>>2]=(c[a+4>>2]|0)+1;return}function Xn(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=c[a+12>>2]|0;if((d|0)<=0)return;f=0;do{e=c[(c[a+20>>2]|0)+(f<<2)>>2]|0;if(e){vb[c[(c[e>>2]|0)+16>>2]&255](e,b);d=c[a+12>>2]|0}f=f+1|0}while((f|0)<(d|0));return}function Yn(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;g=c[a+4>>2]|0;if(d){f=8?g>>8:g;if(g&1)f=c[(c[d>>2]|0)+f>>2]|0}else f=0;a=c[a>>2]|0;Cb[c[(c[a>>2]|0)+28>>2]&127](a,b,d+f|0,(g&2|0)==0?2:e);return}function Zn(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=c[a+32>>2]|0;c[f>>2]=(c[f>>2]|0)+1;Bg(a,Cd(a,b,0)|0);Bg(a,Cd(a,d,0)|0);Bg(a,Cd(a,e,0)|0);return}function _n(a,b,d){a=a|0;b=b|0;d=d|0;c[a+52>>2]=c[b>>2];c[a+52+4>>2]=c[b+4>>2];c[a+52+8>>2]=c[b+8>>2];c[a+52+12>>2]=c[b+12>>2];c[a+68>>2]=c[d>>2];c[a+68+4>>2]=c[d+4>>2];c[a+68+8>>2]=c[d+8>>2];c[a+68+12>>2]=c[d+12>>2];c[a+48>>2]=1;return}function $n(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=c[d>>2]|0;a=TG(c[b>>2]|0)|0;e=TG(e)|0;if(a|0)zb[c[(c[a>>2]|0)+28>>2]&127](a,d,b);if(!e)return 0;zb[c[(c[e>>2]|0)+28>>2]&127](e,b,d);return 0}function ao(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=a;e=b;f=d+104|0;do{c[d>>2]=c[e>>2];d=d+4|0;e=e+4|0}while((d|0)<(f|0));BF(a+104|0,b+104|0);CF(a+124|0,b+124|0);CF(a+144|0,b+144|0);return}function bo(a,b,c){a=+a;b=b|0;c=c|0;var d=0,e=0;e=Ta;Ta=Ta+32|0;d=pZ(140)|0;f[e+8>>2]=0.0;f[e+4>>2]=0.0;f[e>>2]=0.0;bx(e+16|0,e+8|0,e+4|0,e);ll(d,a,b,c,e+16|0);Ta=e;return d|0}function co(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;c[d>>2]=c[b+16>>2];c[d+4>>2]=c[b+16+4>>2];c[d+8>>2]=c[b+16+8>>2];c[d+12>>2]=c[b+16+12>>2];c[e>>2]=c[b+32>>2];c[e+4>>2]=c[b+32+4>>2];c[e+8>>2]=c[b+32+8>>2];c[e+12>>2]=c[b+32+12>>2];return}function eo(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0;i=c[a+4>>2]|0;h=8?i>>8:i;if(i&1)h=c[(c[e>>2]|0)+h>>2]|0;a=c[a>>2]|0;Ib[c[(c[a>>2]|0)+20>>2]&31](a,b,d,e+h|0,(i&2|0)==0?2:f,g);return}function fo(a,b){a=a|0;b=b|0;var d=0;a=c[a+64>>2]|0;d=c[a+8>>2]|0;if(d|0){b=c[a+12>>2]|0;c[a+12>>2]=c[b>>2];c[a+8>>2]=d+-1;return b|0}c[6879]=(c[6879]|0)+1;a=Zb(b+19|0)|0;if(!a){b=0;return b|0}c[(a+4+15&-16)+-4>>2]=a;b=a+4+15&-16;return b|0}function go(a,b,d){a=a|0;b=b|0;d=d|0;a=c[a+720>>2]|0;if(!(+f[a+(d*104|0)+88>>2]>0.0))return;f[a+(d*104|0)+56>>2]=+f[b>>2]+ +f[a+(d*104|0)+56>>2];f[a+(d*104|0)+60>>2]=+f[b+4>>2]+ +f[a+(d*104|0)+60>>2];f[a+(d*104|0)+64>>2]=+f[b+8>>2]+ +f[a+(d*104|0)+64>>2];return}function ho(a,b,d){a=a|0;b=+b;d=+d;var e=0;e=Ta;Ta=Ta+16|0;f[e+12>>2]=b;f[e+8>>2]=d;f[e+4>>2]=0.0;f[e>>2]=1.0;c[a+444>>2]=c[(b<0.0?e+4|0:b>1.0?e:e+12|0)>>2];f[e+4>>2]=0.0;f[e>>2]=1.0;c[a+448>>2]=c[(d<0.0?e+4|0:d>1.0?e:e+8|0)>>2];Ta=e;return}function io(b){b=b|0;var d=0;d=Ta;Ta=Ta+16|0;if((a[25344]|0)==0?kP(25344)|0:0)kO(25344);pp(d,c[b+116>>2]|0,c[b+128>>2]|0);c[6400]=c[d>>2];c[6401]=c[d+4>>2];c[6402]=c[d+8>>2];c[6403]=c[d+12>>2];Ta=d;return 25600}function jo(a,b){a=a|0;b=b|0;var d=0,e=0;d=c[(c[b>>2]|0)+16>>2]|0;e=eb[c[(c[a>>2]|0)+16>>2]&255](a)|0;e=ib[d&63](b,e,1)|0;d=ib[c[(c[a>>2]|0)+20>>2]&63](a,c[e+8>>2]|0,b)|0;Gb[c[(c[b>>2]|0)+20>>2]&63](b,e,d,1497645650,a);return}function ko(b,d){b=b|0;d=d|0;var e=0;if((D$(c[b+8>>2]|0)|0)>=(d|0))return;e=yy(d)|0;Ar(b,D$(c[b+4>>2]|0)|0,e);Hx(b);a[b+16>>0]=1;c[b+12>>2]=e;c[b+8>>2]=d;return}function lo(a,b,c,d){a=a|0;b=+b;c=+c;d=+d;var e=0;e=Ta;Ta=Ta+32|0;lm(e,D$(a+4|0)|0,b,c,d);tq(e+16|0,+f[e>>2],+f[e+4>>2],+f[e+8>>2],+f[a+348>>2],+f[a+352>>2],+f[a+356>>2]);Iv(a+412|0,e+16|0)|0;Ta=e;return}function mo(a,b,c,d,e,g){a=a|0;b=+b;c=+c;d=+d;e=+e;g=+g;f[a+692>>2]=(c-b)*.5;c=((c-b)*.5+b)%6.2831854820251465;if(!(c<-3.1415927410125732)){if(c>3.1415927410125732)c=c+-6.2831854820251465}else c=c+6.2831854820251465;f[a+688>>2]=c;f[a+696>>2]=d;f[a+700>>2]=e;f[a+704>>2]=g;return}function no(a,b,c){a=a|0;b=b|0;c=+c;var d=0;d=Ta;Ta=Ta+16|0;f[d+12>>2]=+f[(D$(b)|0)>>2]*c;f[d+8>>2]=+f[(R_(b)|0)>>2]*c;f[d+4>>2]=+f[(Q_(b)|0)>>2]*c;f[d>>2]=+f[b+12>>2]*c;_C(a,d+12|0,d+8|0,d+4|0,d);Ta=d;return}function oo(a,b,d){a=a|0;b=b|0;d=d|0;c[b>>2]=c[a+52>>2];c[b+4>>2]=c[a+52+4>>2];c[b+8>>2]=c[a+52+8>>2];c[b+12>>2]=c[a+52+12>>2];c[d>>2]=c[a+68>>2];c[d+4>>2]=c[a+68+4>>2];c[d+8>>2]=c[a+68+8>>2];c[d+12>>2]=c[a+68+12>>2];return}function po(a){a=a|0;var b=0,d=0,e=0;b=c[a+24>>2]|0;if((b|0)<=0)return;e=0;do{d=c[(c[a+32>>2]|0)+(e<<2)>>2]|0;switch(c[d+216>>2]|0){case 2:case 5:break;default:{wg(d);b=c[a+24>>2]|0}}e=e+1|0}while((e|0)<(b|0));return}function qo(b,d){b=b|0;d=d|0;var e=0;if((D$(c[b+8>>2]|0)|0)>=(d|0))return;e=Fy(d)|0;Po(b,D$(c[b+4>>2]|0)|0,e);Hx(b);a[b+16>>0]=1;c[b+12>>2]=e;c[b+8>>2]=d;return}function ro(a,b,c,d){a=a|0;b=+b;c=+c;d=+d;var e=0;e=Ta;Ta=Ta+32|0;lm(e,D$(a+4|0)|0,b,c,d);tq(e+16|0,+f[e>>2],+f[e+4>>2],+f[e+8>>2],+f[a+544>>2],+f[a+548>>2],+f[a+552>>2]);Iv(a+428|0,e+16|0)|0;Ta=e;return}function so(a,b){a=a|0;b=b|0;var d=0,e=0;e=eb[c[(c[a>>2]|0)+16>>2]&255](a)|0;e=ib[c[(c[b>>2]|0)+16>>2]&63](b,e,1)|0;d=ib[c[(c[a>>2]|0)+20>>2]&63](a,c[e+8>>2]|0,b)|0;Gb[c[(c[b>>2]|0)+20>>2]&63](b,e,d,1245859651,a);return}function to(a,b,d){a=a|0;b=b|0;d=d|0;c[b>>2]=c[a+8>>2];c[b+4>>2]=c[a+8+4>>2];c[b+8>>2]=c[a+8+8>>2];c[b+12>>2]=c[a+8+12>>2];c[d>>2]=c[a+24>>2];c[d+4>>2]=c[a+24+4>>2];c[d+8>>2]=c[a+24+8>>2];c[d+12>>2]=c[a+24+12>>2];return}function uo(a,b){a=a|0;b=b|0;var d=0,e=0;e=eb[c[(c[a>>2]|0)+52>>2]&255](a)|0;e=ib[c[(c[b>>2]|0)+16>>2]&63](b,e,1)|0;d=ib[c[(c[a>>2]|0)+56>>2]&63](a,c[e+8>>2]|0,b)|0;Gb[c[(c[b>>2]|0)+20>>2]&63](b,e,d,1346455635,a);return}function vo(a,b){a=a|0;b=b|0;var c=0;c=Ta;Ta=Ta+80|0;Bn(c+32|0,b);zt(c,+f[b+48>>2],+f[b+52>>2],+f[b+56>>2]);lm(c+16|0,c+32|0,+f[c>>2],+f[c+4>>2],+f[c+8>>2]);yr(a,c+32|0,c+16|0);Ta=c;return}function wo(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;h=c[a+4>>2]|0;g=8?h>>8:h;if(h&1)g=c[(c[d>>2]|0)+g>>2]|0;a=c[a>>2]|0;Gb[c[(c[a>>2]|0)+24>>2]&63](a,b,d+g|0,(h&2|0)==0?2:e,f);return}function xo(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;e=0;while(1){if((e|0)>=(b|0))break;f=D$(d+(e<<4)|0)|0;g=(c[a+12>>2]|0)+(e<<4)|0;c[f>>2]=c[g>>2];c[f+4>>2]=c[g+4>>2];c[f+8>>2]=c[g+8>>2];c[f+12>>2]=c[g+12>>2];e=e+1|0}return}function yo(a,b,d){a=a|0;b=b|0;d=d|0;c[a+164>>2]=c[b>>2];c[a+164+4>>2]=c[b+4>>2];c[a+164+8>>2]=c[b+8>>2];c[a+164+12>>2]=c[b+12>>2];b=D$(b)|0;if((!(+f[b>>2]!=1.0)?!(+f[b+4>>2]!=1.0):0)?!(+f[b+8>>2]!=1.0):0)d=0;c[a+180>>2]=d;return}function zo(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;if(zy(a,c[b+8>>2]|0,0)|0)mn(b,d,e);else{a=c[a+8>>2]|0;Cb[c[(c[a>>2]|0)+28>>2]&127](a,b,d,e)}return}function Ao(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=D$(c[a+4>>2]|0)|0;if((e|0)>(b|0)){c[a+4>>2]=b;return}if((e|0)<(b|0))$o(a,b);while(1){if((e|0)>=(b|0))break;c[(c[a+12>>2]|0)+(e<<2)>>2]=c[d>>2];e=e+1|0}c[a+4>>2]=b;return}function Bo(b){b=b|0;var d=0;c[b>>2]=6360;d=c[b+276>>2]|0;if(d|0){if(a[b+280>>0]|0){c[6880]=(c[6880]|0)+1;kd(c[d+-4>>2]|0)}c[b+276>>2]=0}a[b+280>>0]=1;c[b+276>>2]=0;c[b+268>>2]=0;c[b+272>>2]=0;c[b>>2]=6324;c[6880]=(c[6880]|0)+1;kd(c[b+-4>>2]|0);return}function Co(a,b,c,d){a=a|0;b=+b;c=+c;d=+d;var e=0;e=Ta;Ta=Ta+32|0;tq(e,b,c,d,+f[a+348>>2],+f[a+352>>2],+f[a+356>>2]);Xq(e+16|0,+f[e>>2],+f[e+4>>2],+f[e+8>>2],+f[a+344>>2]);Iv(a+312|0,e+16|0)|0;Ta=e;return}function Do(a,b,c,d){a=a|0;b=+b;c=+c;d=+d;var e=0;e=Ta;Ta=Ta+32|0;lm(e,a+264|0,b,c,d);tq(e+16|0,+f[e>>2],+f[e+4>>2],+f[e+8>>2],+f[a+544>>2],+f[a+548>>2],+f[a+552>>2]);Iv(a+328|0,e+16|0)|0;Ta=e;return}function Eo(b){b=b|0;var d=0;c[b>>2]=5308;d=c[b+496>>2]|0;if(d|0){if(a[b+500>>0]|0){c[6880]=(c[6880]|0)+1;kd(c[d+-4>>2]|0)}c[b+496>>2]=0}a[b+500>>0]=1;c[b+496>>2]=0;c[b+488>>2]=0;c[b+492>>2]=0;c[b>>2]=6324;c[6880]=(c[6880]|0)+1;kd(c[b+-4>>2]|0);return}function Fo(a,b,d){a=a|0;b=b|0;d=d|0;c[b>>2]=c[a+892>>2];c[b+4>>2]=c[a+892+4>>2];c[b+8>>2]=c[a+892+8>>2];c[b+12>>2]=c[a+892+12>>2];c[d>>2]=c[a+908>>2];c[d+4>>2]=c[a+908+4>>2];c[d+8>>2]=c[a+908+8>>2];c[d+12>>2]=c[a+908+12>>2];return}function Go(b){b=b|0;var d=0;d=Ta;Ta=Ta+16|0;if((a[25360]|0)==0?kP(25360)|0:0)kO(25360);vb[c[(c[b>>2]|0)+76>>2]&255](d,b);c[6428]=c[d>>2];c[6429]=c[d+4>>2];c[6430]=c[d+8>>2];c[6431]=c[d+12>>2];Ta=d;return 25712}function Ho(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0;a:do if((c|0)==-1)switch(b|0){case 2:case 1:{d=+f[a+336>>2];break a}case 4:case 3:{d=+f[a+340>>2];break a}default:{d=3402823466385288598117041.0e14;break a}}else d=3402823466385288598117041.0e14;while(0);return +d}function Io(b){b=b|0;var d=0;d=Ta;Ta=Ta+16|0;if((a[25320]|0)==0?kP(25320)|0:0)kO(25320);vb[c[(c[b>>2]|0)+76>>2]&255](d,b);c[6388]=c[d>>2];c[6389]=c[d+4>>2];c[6390]=c[d+8>>2];c[6391]=c[d+12>>2];Ta=d;return 25552}function Jo(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0.0,g=0.0;g=+f[b+28>>2];e=+f[b+32>>2];e=+f[c+4>>2]>=0.0?e:-e;d=+f[b+36>>2];d=+f[c+8>>2]>=0.0?d:-d;f[a>>2]=+f[c>>2]>=0.0?g:-g;f[a+4>>2]=e;f[a+8>>2]=d;f[a+12>>2]=0.0;return}function Ko(a,b){a=a|0;b=b|0;var d=0,e=0;d=c[a+4>>2]|0;e=D$(d)|0;if((e|0)==(D$(c[a+8>>2]|0)|0)){$o(a,AU(e)|0);d=c[a+4>>2]|0}c[(c[a+12>>2]|0)+(d<<2)>>2]=c[b>>2];c[a+4>>2]=(c[a+4>>2]|0)+1;return}function Lo(b){b=b|0;var d=0;c[b>>2]=6192;d=c[b+140>>2]|0;if(d|0){if(a[b+144>>0]|0){c[6880]=(c[6880]|0)+1;kd(c[d+-4>>2]|0)}c[b+140>>2]=0}a[b+144>>0]=1;c[b+140>>2]=0;c[b+132>>2]=0;c[b+136>>2]=0;c[6880]=(c[6880]|0)+1;kd(c[b+-4>>2]|0);return}function Mo(b,d){b=b|0;d=d|0;var e=0;if((D$(c[b+8>>2]|0)|0)>=(d|0))return;e=Zz(d)|0;xo(b,D$(c[b+4>>2]|0)|0,e);Hx(b);a[b+16>>0]=1;c[b+12>>2]=e;c[b+8>>2]=d;return}function No(b){b=b|0;var d=0;c[b>>2]=10980;d=c[b+32>>2]|0;if(d|0){if(a[b+36>>0]|0){c[6880]=(c[6880]|0)+1;kd(c[d+-4>>2]|0)}c[b+32>>2]=0}a[b+36>>0]=1;c[b+32>>2]=0;c[b+24>>2]=0;c[b+28>>2]=0;c[6880]=(c[6880]|0)+1;kd(c[b+-4>>2]|0);return}function Oo(a,b){a=a|0;b=b|0;var d=0;d=c[a+4>>2]|0;if((c[b>>2]|0)!=(d|0)?(c[b+4>>2]|0)!=(d|0):0)return 0;d=c[a+8>>2]|0;zb[c[(c[d>>2]|0)+32>>2]&127](d,b,c[a+12>>2]|0);return 0}function Po(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=0;while(1){if((e|0)>=(b|0))break;f=d+(e*104|0)|0;g=(c[a+12>>2]|0)+(e*104|0)|0;h=f+104|0;do{c[f>>2]=c[g>>2];f=f+4|0;g=g+4|0}while((f|0)<(h|0));e=e+1|0}return}function Qo(a,b){a=a|0;b=b|0;var c=0;c=Ta;Ta=Ta+16|0;f[c+12>>2]=-+f[(D$(b)|0)>>2];f[c+8>>2]=-+f[(R_(b)|0)>>2];f[c+4>>2]=-+f[(Q_(b)|0)>>2];f[c>>2]=-+f[b+12>>2];_C(a,c+12|0,c+8|0,c+4|0,c);Ta=c;return}function Ro(b,d,e){b=b|0;d=d|0;e=+e;var f=0;f=Ta;Ta=Ta+16|0;if((a[25336]|0)==0?kP(25336)|0:0)kO(25336);hj(f,b,d,e);c[6396]=c[f>>2];c[6397]=c[f+4>>2];c[6398]=c[f+8>>2];c[6399]=c[f+12>>2];Ta=f;return 25584}function So(b,d,e){b=b|0;d=d|0;e=+e;var f=0;f=Ta;Ta=Ta+16|0;if((a[25312]|0)==0?kP(25312)|0:0)kO(25312);hj(f,b,d,e);c[6384]=c[f>>2];c[6385]=c[f+4>>2];c[6386]=c[f+8>>2];c[6387]=c[f+12>>2];Ta=f;return 25536}function To(a){a=a|0;var b=0.0,d=0.0;if(c[a+204>>2]&3|0)return;d=+f[a+368>>2]*+f[a+352>>2];b=+f[a+372>>2]*+f[a+356>>2];f[a+412>>2]=+f[a+364>>2]*+f[a+348>>2]+ +f[a+412>>2];f[a+416>>2]=d+ +f[a+416>>2];f[a+420>>2]=b+ +f[a+420>>2];return}function Uo(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=gb[c[(c[d>>2]|0)+40>>2]&63](d,a)|0;f=gb[c[(c[d>>2]|0)+28>>2]&63](d,e)|0;c[b>>2]=f;if(f|0)vb[c[(c[d>>2]|0)+48>>2]&255](d,e);c[b+4>>2]=c[a+4>>2];return 20471}function Vo(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,g=0.0,h=0;h=c[a+104>>2]|0;g=+f[h+(b<<4)+4>>2]*+f[a+16>>2];e=+f[h+(b<<4)+8>>2]*+f[a+20>>2];f[d>>2]=+f[h+(b<<4)>>2]*+f[a+12>>2];f[d+4>>2]=g;f[d+8>>2]=e;f[d+12>>2]=0.0;return}function Wo(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;f=c[d>>2]|0;f=gb[c[(c[f>>2]|0)+56>>2]&63](f,20)|0;b=a[b+4>>0]|0;c[f+4>>2]=c[d>>2];c[f>>2]=4812;a[f+16>>0]=b;return f|0}function Xo(a,b){a=a|0;b=b|0;var c=0.0;c=+f[(D$(b)|0)>>2];f[a>>2]=+f[a>>2]+c;c=+f[(R_(b)|0)>>2];f[a+4>>2]=+f[a+4>>2]+c;c=+f[(Q_(b)|0)>>2];f[a+8>>2]=+f[a+8>>2]+c;f[a+12>>2]=+f[a+12>>2]+ +f[b+12>>2];return a|0}function Yo(a,b){a=a|0;b=b|0;var c=0.0;c=+f[(D$(b)|0)>>2];f[a>>2]=+f[a>>2]-c;c=+f[(R_(b)|0)>>2];f[a+4>>2]=+f[a+4>>2]-c;c=+f[(Q_(b)|0)>>2];f[a+8>>2]=+f[a+8>>2]-c;f[a+12>>2]=+f[a+12>>2]-+f[b+12>>2];return a|0}function Zo(a){a=a|0;var b=0;b=Ta;Ta=Ta+32|0;f[b+20>>2]=0.0;f[b+16>>2]=0.0;f[b+12>>2]=0.0;bx(a+412|0,b+20|0,b+16|0,b+12|0);f[b+8>>2]=0.0;f[b+4>>2]=0.0;f[b>>2]=0.0;bx(a+428|0,b+8|0,b+4|0,b);Ta=b;return}function _o(a){a=a|0;var b=0,d=0;d=Ma()|0;b=c[i>>2]|0;if((a|0)>0&(b+a|0)<(b|0)|(b+a|0)<0){Ra(b+a|0)|0;Ba(12);return -1}if((b+a|0)>(d|0))if(!(Oa(b+a|0)|0)){Ba(12);return -1}c[i>>2]=b+a;return b|0}function $o(b,d){b=b|0;d=d|0;var e=0;if((D$(c[b+8>>2]|0)|0)>=(d|0))return;e=YB(d)|0;xu(b,D$(c[b+4>>2]|0)|0,e);Hx(b);a[b+16>>0]=1;c[b+12>>2]=e;c[b+8>>2]=d;return}function ap(a,b){a=a|0;b=b|0;var c=0.0,d=0.0,e=0.0;e=+r(+(+f[b>>2]));d=+r(+(+f[b+4>>2]));c=+r(+(+f[b+8>>2]));f[a+12>>2]=e;f[a+16>>2]=d;f[a+20>>2]=c;f[a+24>>2]=0.0;xj(a);return}function bp(a,b){a=a|0;b=b|0;var c=0.0,d=0.0;c=+f[(Q_(a)|0)>>2];c=c*+f[(D$(b)|0)>>2];d=+f[(Q_(a+16|0)|0)>>2];d=c+d*+f[(R_(b)|0)>>2];c=+f[(Q_(a+32|0)|0)>>2];return +(d+c*+f[(Q_(b)|0)>>2])}function cp(a,b){a=a|0;b=b|0;var c=0.0,d=0.0;c=+f[(R_(a)|0)>>2];c=c*+f[(D$(b)|0)>>2];d=+f[(R_(a+16|0)|0)>>2];d=c+d*+f[(R_(b)|0)>>2];c=+f[(R_(a+32|0)|0)>>2];return +(d+c*+f[(Q_(b)|0)>>2])}function dp(b){b=b|0;var d=0;d=a[b+74>>0]|0;a[b+74>>0]=d+255|d;d=c[b>>2]|0;if(!(d&8)){c[b+8>>2]=0;c[b+4>>2]=0;d=c[b+44>>2]|0;c[b+28>>2]=d;c[b+20>>2]=d;c[b+16>>2]=d+(c[b+48>>2]|0);d=0}else{c[b>>2]=d|32;d=-1}return d|0}function ep(b){b=b|0;var d=0;d=Ta;Ta=Ta+16|0;if((a[25368]|0)==0?kP(25368)|0:0)kO(25368);KL(d,b);c[6432]=c[d>>2];c[6433]=c[d+4>>2];c[6434]=c[d+8>>2];c[6435]=c[d+12>>2];Ta=d;return 25728}function fp(b){b=b|0;var d=0;d=Ta;Ta=Ta+16|0;if((a[25384]|0)==0?kP(25384)|0:0)kO(25384);_I(d,b);c[6452]=c[d>>2];c[6453]=c[d+4>>2];c[6454]=c[d+8>>2];c[6455]=c[d+12>>2];Ta=d;return 25808}function gp(a,b,d,e){a=a|0;b=b|0;d=+d;e=e|0;if((e|0)!=-1)return;switch(b|0){case 2:case 1:{f[a+336>>2]=d;c[a+332>>2]=c[a+332>>2]|1;return}case 4:case 3:{f[a+340>>2]=d;c[a+332>>2]=c[a+332>>2]|2;return}default:return}}function hp(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;if((b|0)==(d|0))return;e=c[(c[a+4>>2]|0)+136>>2]|0;ib[c[(c[e>>2]|0)+8>>2]&63](e,c[b+36>>2]|0,c[d+36>>2]|0)|0;a=(c[a+4>>2]|0)+160|0;c[a>>2]=(c[a>>2]|0)+1;return}function ip(b){b=b|0;var d=0;d=Ta;Ta=Ta+16|0;if((a[25400]|0)==0?kP(25400)|0:0)kO(25400);wq(d,b);c[6460]=c[d>>2];c[6461]=c[d+4>>2];c[6462]=c[d+8>>2];c[6463]=c[d+12>>2];Ta=d;return 25840}function jp(b){b=b|0;var d=0;d=Ta;Ta=Ta+16|0;if((a[25392]|0)==0?kP(25392)|0:0)kO(25392);Dm(d,b);c[6456]=c[d>>2];c[6457]=c[d+4>>2];c[6458]=c[d+8>>2];c[6459]=c[d+12>>2];Ta=d;return 25824}function kp(a){a=a|0;var b=0.0,d=0,e=0.0,g=0.0;d=Ta;Ta=Ta+32|0;zb[c[(c[a>>2]|0)+12>>2]&127](a,d+8|0,d);g=+f[d+8>>2];e=+f[d+8+4>>2];b=+f[d+8+8>>2];b=+s(+(g*g+e*e+b*b));Ta=d;return +(+f[d>>2]+b)}function lp(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=Ta;Ta=Ta+16|0;c[f>>2]=6520;c[f+4>>2]=d;c[f+8>>2]=a;zb[c[(c[b>>2]|0)+48>>2]&127](b,f,e);Ta=f;return}function mp(b,c){b=b|0;c=c|0;var d=0,e=0;d=a[b>>0]|0;e=a[c>>0]|0;if(!(d<<24>>24==0?1:d<<24>>24!=e<<24>>24))do{b=b+1|0;c=c+1|0;d=a[b>>0]|0;e=a[c>>0]|0}while(!(d<<24>>24==0?1:d<<24>>24!=e<<24>>24));return (d&255)-(e&255)|0}function np(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=+g;Cb[c[(c[a>>2]|0)+8>>2]&127](a,b,d,f);Cb[c[(c[a>>2]|0)+8>>2]&127](a,d,e,f);Cb[c[(c[a>>2]|0)+8>>2]&127](a,e,b,f);return}function op(a,b,d){a=a|0;b=b|0;d=d|0;a=c[b+8>>2]|0;if(!((d|0)!=0&(a|0)!=0))return;pb[c[c[a>>2]>>2]&511](a);vb[c[(c[d>>2]|0)+60>>2]&255](d,c[b+8>>2]|0);c[b+8>>2]=0;return}function pp(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;b=D$(b+4|0)|0;e=(D$(_W(b,0)|0)|0)+(c<<2)|0;d=(D$(_W(b,1)|0)|0)+(c<<2)|0;bx(a,e,d,(D$(_W(b,2)|0)|0)+(c<<2)|0);return}function qp(a,b){a=a|0;b=b|0;var c=0.0,d=0.0;c=+f[(D$(a)|0)>>2];c=c*+f[(D$(b)|0)>>2];d=+f[(D$(a+16|0)|0)>>2];d=c+d*+f[(R_(b)|0)>>2];c=+f[(D$(a+32|0)|0)>>2];return +(d+c*+f[(Q_(b)|0)>>2])}function rp(b){b=b|0;var d=0;c[b>>2]=6360;d=c[b+276>>2]|0;if(d|0){if(a[b+280>>0]|0){c[6880]=(c[6880]|0)+1;kd(c[d+-4>>2]|0)}c[b+276>>2]=0}a[b+280>>0]=1;c[b+276>>2]=0;c[b+268>>2]=0;c[b+272>>2]=0;c[b>>2]=6324;return}function sp(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=Ta;Ta=Ta+16|0;c[e>>2]=10412;c[e+4>>2]=b;c[e+8>>2]=a;c[e+12>>2]=d;zb[c[(c[a>>2]|0)+48>>2]&127](a,e,d);Ta=e;return}function tp(b){b=b|0;var d=0;c[b>>2]=8208;if(a[b+61>>0]|0?(d=c[b+52>>2]|0,pb[c[c[d>>2]>>2]&511](d),d=c[b+52>>2]|0,d|0):0){c[6880]=(c[6880]|0)+1;kd(c[d+-4>>2]|0)}c[6880]=(c[6880]|0)+1;kd(c[b+-4>>2]|0);return}function up(b){b=b|0;var d=0;c[b>>2]=5308;d=c[b+496>>2]|0;if(d|0){if(a[b+500>>0]|0){c[6880]=(c[6880]|0)+1;kd(c[d+-4>>2]|0)}c[b+496>>2]=0}a[b+500>>0]=1;c[b+496>>2]=0;c[b+488>>2]=0;c[b+492>>2]=0;c[b>>2]=6324;return}function vp(b){b=b|0;var d=0,e=0,f=0;e=c[b>>2]|0;d=a[e>>0]|0;if(!(OZ(d<<24>>24)|0))d=0;else{f=d;d=0;do{d=(d*10|0)+-48+(f<<24>>24)|0;e=e+1|0;c[b>>2]=e;f=a[e>>0]|0}while((OZ(f<<24>>24)|0)!=0)}return d|0}function wp(a,b,c,d){a=+a;b=+b;c=+c;d=+d;var e=0,g=0;g=Ta;Ta=Ta+16|0;f[g+12>>2]=a;f[g+8>>2]=b;f[g+4>>2]=c;f[g>>2]=d;e=Ux()|0;Jz(e,g+12|0,g+8|0,g+4|0,g);Ta=g;return e|0}function xp(a,b,c,d){a=+a;b=+b;c=+c;d=+d;var e=0,g=0;g=Ta;Ta=Ta+16|0;f[g+12>>2]=a;f[g+8>>2]=b;f[g+4>>2]=c;f[g>>2]=d;e=pZ(16)|0;_C(e,g+12|0,g+8|0,g+4|0,g);Ta=g;return e|0}function yp(a){a=a|0;var b=0.0,d=0,e=0,g=0.0;e=c[a+712>>2]|0;if((e|0)<=0){b=0.0;return +b}a=c[a+720>>2]|0;d=0;b=0.0;do{g=+f[a+(d*104|0)+88>>2];b=b+(g>0.0?1.0/g:0.0);d=d+1|0}while((d|0)!=(e|0));return +b}function zp(a){a=a|0;var b=0;c[a>>2]=6824;c[a+12>>2]=6872;b=c[a+60>>2]|0;vb[c[(c[b>>2]|0)+20>>2]&255](b,c[a+76>>2]|0);b=c[a+60>>2]|0;vb[c[(c[b>>2]|0)+16>>2]&255](b,c[a+76>>2]|0);B$(a);return}function Ap(b){b=b|0;var d=0;c[b>>2]=6192;d=c[b+140>>2]|0;if(d|0){if(a[b+144>>0]|0){c[6880]=(c[6880]|0)+1;kd(c[d+-4>>2]|0)}c[b+140>>2]=0}a[b+144>>0]=1;c[b+140>>2]=0;c[b+132>>2]=0;c[b+136>>2]=0;return}function Bp(a,b){a=a|0;b=b|0;var d=0,e=0;d=Ta;Ta=Ta+16|0;tF(a);e=D$(c[b+4>>2]|0)|0;c[d>>2]=0;Ao(a,e,d);xu(b,e,c[a+12>>2]|0);Ta=d;return}function Cp(a,b,d){a=a|0;b=+b;d=d|0;b=b*.4000000059604645*+Wa[c[(c[a>>2]|0)+48>>2]&31](a);b=b*+Wa[c[(c[a>>2]|0)+48>>2]&31](a);f[d>>2]=b;f[d+4>>2]=b;f[d+8>>2]=b;f[d+12>>2]=0.0;return}function Dp(a,b){a=a|0;b=b|0;var c=0.0,d=0.0;c=+f[a>>2];c=c*+f[(D$(b)|0)>>2];d=+f[a+4>>2];d=c+d*+f[(R_(b)|0)>>2];c=+f[a+8>>2];c=d+c*+f[(Q_(b)|0)>>2];return +(c+ +f[a+12>>2]*+f[b+12>>2])}function Ep(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;if(zy(a,c[b+8>>2]|0,g)|0)tl(b,d,e,f);return}function Fp(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;a=c[b>>2]|0;a=gb[c[(c[a>>2]|0)+56>>2]&63](a,24)|0;c[a+4>>2]=c[b>>2];c[a>>2]=5280;return a|0}function Gp(a,b,c,d,e,g,h){a=a|0;b=+b;c=+c;d=+d;e=+e;g=+g;h=+h;var i=0;i=Ta;Ta=Ta+16|0;f[i+8>>2]=c*h-d*g;f[i+4>>2]=d*e-b*h;f[i>>2]=b*g-c*e;bx(a,i+8|0,i+4|0,i);Ta=i;return}function Hp(a){a=a|0;vw(a+4|0);c[a>>2]=4172;f[a+84>>2]=0.0;f[a+88>>2]=9.999999747378752e-05;f[a+92>>2]=9.99999905104687e-09;f[a+96>>2]=.10000000149011612;f[a+104>>2]=9.99999905104687e-09;f[a+100>>2]=6.2831854820251465;return}function Ip(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;c[d>>2]=-581039253;c[d+4>>2]=-581039253;c[d+8>>2]=-581039253;f[d+12>>2]=0.0;c[e>>2]=1566444395;c[e+4>>2]=1566444395;c[e+8>>2]=1566444395;f[e+12>>2]=0.0;return}function Jp(b){b=b|0;var d=0;c[b>>2]=10452;if(a[b+192>>0]|0?(d=c[b+136>>2]|0,pb[c[c[d>>2]>>2]&511](d),d=c[b+136>>2]|0,d|0):0){c[6880]=(c[6880]|0)+1;kd(c[d+-4>>2]|0)}mi(b+64|0);mi(b+4|0);return}function Kp(b){b=b|0;var d=0;c[b>>2]=10980;d=c[b+32>>2]|0;if(d|0){if(a[b+36>>0]|0){c[6880]=(c[6880]|0)+1;kd(c[d+-4>>2]|0)}c[b+32>>2]=0}a[b+36>>0]=1;c[b+32>>2]=0;c[b+24>>2]=0;c[b+28>>2]=0;return}function Lp(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;bx(a,b,c,d);bx(a+16|0,e,f,g);bx(a+32|0,h,i,j);return}function Mp(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ta;Ta=Ta+64|0;Ik(d+16|0,b,c);om(d,b,+f[c+48>>2],+f[c+52>>2],+f[c+56>>2]);yr(a,d+16|0,d);Ta=d;return}function Np(a){a=a|0;var b=0;c[a>>2]=6824;c[a+12>>2]=6872;b=c[a+60>>2]|0;vb[c[(c[b>>2]|0)+20>>2]&255](b,c[a+76>>2]|0);b=c[a+60>>2]|0;vb[c[(c[b>>2]|0)+16>>2]&255](b,c[a+76>>2]|0);return}function Op(b){b=b|0;var d=0;c[b>>2]=4196;d=c[b+32>>2]|0;if(d|0){if(a[b+36>>0]|0){c[6880]=(c[6880]|0)+1;kd(c[d+-4>>2]|0)}c[b+32>>2]=0}a[b+36>>0]=1;c[b+32>>2]=0;c[b+24>>2]=0;c[b+28>>2]=0;return}function Pp(a){a=a|0;var b=0,d=0;c[a>>2]=8560;b=c[a+52>>2]|0;if(b|0?(pb[c[c[b>>2]>>2]&511](b),d=c[a+52>>2]|0,d|0):0){c[6880]=(c[6880]|0)+1;kd(c[d+-4>>2]|0)}c[6880]=(c[6880]|0)+1;kd(c[a+-4>>2]|0);return}function Qp(a,b){a=a|0;b=b|0;var d=0;d=(c[a+92>>2]|0)+4|0;c[d>>2]=c[b>>2];c[d+4>>2]=c[b+4>>2];c[d+8>>2]=c[b+8>>2];c[d+12>>2]=c[b+12>>2];wj(a);return}function Rp(b,d){b=b|0;d=d|0;var e=0;if(a[b+273>>0]|0?(e=c[b+200>>2]|0,e|0):0){c[6880]=(c[6880]|0)+1;kd(c[e+-4>>2]|0)}a[b+273>>0]=0;c[b+200>>2]=d;c[(c[b+196>>2]|0)+8>>2]=d;return}function Sp(b){b=b|0;var d=0;c[b>>2]=6448;d=c[b+20>>2]|0;if(d|0){if(a[b+24>>0]|0){c[6880]=(c[6880]|0)+1;kd(c[d+-4>>2]|0)}c[b+20>>2]=0}a[b+24>>0]=1;c[b+20>>2]=0;c[b+12>>2]=0;c[b+16>>2]=0;return}function Tp(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;a=c[b>>2]|0;a=gb[c[(c[a>>2]|0)+56>>2]&63](a,8)|0;c[a+4>>2]=c[b>>2];c[a>>2]=10840;return a|0}function Up(a,b){a=a|0;b=+b;c[a+8>>2]=0;c[a+12>>2]=1065353216;c[a+16>>2]=1065353216;c[a+20>>2]=1065353216;f[a+24>>2]=0.0;f[a+44>>2]=.03999999910593033;c[a>>2]=8108;c[a+4>>2]=8;KW(a+28|0,b);f[a+44>>2]=b;return}function Vp(b){b=b|0;var d=0;d=Nx()|0;c[d+44>>2]=b;a[d+16>>0]=1;c[d+12>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;a[d+36>>0]=1;c[d+32>>2]=0;c[d+24>>2]=0;c[d+28>>2]=0;c[d+40>>2]=0;return d|0}function Wp(a,b){a=a|0;b=b|0;var d=0,e=0;d=Ta;Ta=Ta+16|0;e=D$(c[b+4>>2]|0)|0;Hm(a,e,d);xo(b,e,c[a+12>>2]|0);Ta=d;return}function Xp(b){b=b|0;var d=0;c[b>>2]=10260;d=c[b+16>>2]|0;if(d|0){if(a[b+20>>0]|0){c[6880]=(c[6880]|0)+1;kd(c[d+-4>>2]|0)}c[b+16>>2]=0}a[b+20>>0]=1;c[b+16>>2]=0;c[b+8>>2]=0;c[b+12>>2]=0;return}function Yp(a,b){a=a|0;b=b|0;Xc(a,(c[a+28>>2]|0)+4|0,(c[a+32>>2]|0)+4|0);c[a+1316+(b<<2)>>2]=c[((b|0)<3?a+1256+(b<<2)|0:a+1192+(b+-3<<2)|0)>>2];return}function Zp(a,b,c,d,e){a=a|0;b=+b;c=+c;d=+d;e=+e;var g=0;g=Ta;Ta=Ta+16|0;f[g+12>>2]=b;f[g+8>>2]=c;f[g+4>>2]=d;f[g>>2]=e;Mu(a,g+12|0,g+8|0,g+4|0,g);Ta=g;return}function _p(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;a=c[b+8>>2]|0;b=c[a+284>>2]|0;zb[c[(c[b>>2]|0)+40>>2]&127](b,a,c[d+8>>2]|0);return}function $p(b){b=b|0;var d=0,e=0;c[b>>2]=7340;if(!(a[b+8>>0]|0)){B$(b);return}d=c[b+12>>2]|0;if(!d){B$(b);return}e=c[b+4>>2]|0;vb[c[(c[e>>2]|0)+16>>2]&255](e,d);B$(b);return}function aq(b){b=b|0;var d=0,e=0;c[b>>2]=10868;if(!(a[b+8>>0]|0)){B$(b);return}d=c[b+12>>2]|0;if(!d){B$(b);return}e=c[b+4>>2]|0;vb[c[(c[e>>2]|0)+16>>2]&255](e,d);B$(b);return}function bq(b){b=b|0;var d=0,e=0;c[b>>2]=6796;if(!(a[b+8>>0]|0)){B$(b);return}d=c[b+12>>2]|0;if(!d){B$(b);return}e=c[b+4>>2]|0;vb[c[(c[e>>2]|0)+16>>2]&255](e,d);B$(b);return}function cq(a,b){a=a|0;b=b|0;var d=0,e=0;d=Ta;Ta=Ta+16|0;e=D$(c[b+4>>2]|0)|0;f[d>>2]=0.0;Ao(a,e,d);xu(b,e,c[a+12>>2]|0);Ta=d;return}function dq(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=Ta;Ta=Ta+16|0;c[e>>2]=10432;c[e+4>>2]=b;zb[c[(c[a>>2]|0)+48>>2]&127](a,e,d);Ta=e;return}function eq(b){b=b|0;var d=0;c[b>>2]=8208;if(!(a[b+61>>0]|0))return;d=c[b+52>>2]|0;pb[c[c[d>>2]>>2]&511](d);b=c[b+52>>2]|0;if(!b)return;c[6880]=(c[6880]|0)+1;kd(c[b+-4>>2]|0);return}function fq(a,b){a=a|0;b=b|0;var d=0,e=0;d=Ta;Ta=Ta+16|0;e=D$(c[b+4>>2]|0)|0;c[d>>2]=0;Ao(a,e,d);xu(b,e,c[a+12>>2]|0);Ta=d;return}function gq(b,d){b=b|0;d=d|0;if((a[25328]|0)==0?kP(25328)|0:0)kO(25328);d=_W(b,d)|0;c[6392]=c[d>>2];c[6393]=c[d+4>>2];c[6394]=c[d+8>>2];c[6395]=c[d+12>>2];return 25568}function hq(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=z(b&65535,a&65535)|0;e=(c>>>16)+(z(b&65535,a>>>16)|0)|0;d=z(b>>>16,a&65535)|0;return (C((e>>>16)+(z(b>>>16,a>>>16)|0)+(((e&65535)+d|0)>>>16)|0),e+d<<16|c&65535|0)|0}function iq(b){b=b|0;var d=0,e=0;c[b>>2]=6892;if(!(a[b+8>>0]|0)){B$(b);return}d=c[b+12>>2]|0;if(!d){B$(b);return}e=c[b+4>>2]|0;vb[c[(c[e>>2]|0)+16>>2]&255](e,d);B$(b);return}function jq(b,c,d){b=b|0;c=c|0;d=d|0;var e=0;if((c|0)<(b|0)&(b|0)<(c+d|0)){e=b;c=c+d|0;b=b+d|0;while((d|0)>0){b=b-1|0;c=c-1|0;d=d-1|0;a[b>>0]=a[c>>0]|0}b=e}else oi(b,c,d)|0;return b|0}function kq(){var a=0,b=0;b=Ta;Ta=Ta+32|0;a=pZ(112)|0;jy(b);mg(a,b);Ta=b;return a|0}function lq(b){b=b|0;var d=0,e=0;c[b>>2]=7388;if(!(a[b+16>>0]|0)){B$(b);return}d=c[b+20>>2]|0;if(!d){B$(b);return}e=c[b+4>>2]|0;vb[c[(c[e>>2]|0)+16>>2]&255](e,d);B$(b);return}function mq(a,b,d,e){a=a|0;b=b|0;d=+d;e=e|0;var f=0;f=Ta;Ta=Ta+64|0;Rr(f);Hv(f,b);ub[c[(c[a>>2]|0)+16>>2]&31](a,d,f,e);Ta=f;return}function nq(a,b){a=a|0;b=b|0;var c=0.0,d=0.0,e=0.0;e=+r(+(+f[b>>2]));d=+r(+(+f[b+4>>2]));c=+r(+(+f[b+8>>2]));f[a+12>>2]=e;f[a+16>>2]=d;f[a+20>>2]=c;f[a+24>>2]=0.0;return}function oq(a,b){a=a|0;b=b|0;Of(a,c[b+36>>2]|0);return}function pq(a){a=a|0;var b=0;c[a>>2]=6872;b=c[a+48>>2]|0;vb[c[(c[b>>2]|0)+20>>2]&255](b,c[a+64>>2]|0);b=c[a+48>>2]|0;vb[c[(c[b>>2]|0)+16>>2]&255](b,c[a+64>>2]|0);B$(a);return}function qq(a,b,c,d,e,f,g,h,i,j,k,l,m){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=+f;g=+g;h=+h;i=+i;j=+j;k=k|0;l=+l;m=m|0;Eb[a&31](b|0,c|0,d|0,e|0,+f,+g,+h,+i,+j,k|0,+l,m|0)}function rq(a,b,c,d){a=a|0;b=b|0;c=c|0;d=+d;f[a>>2]=(1.0-d)*+f[b>>2]+ +f[c>>2]*d;f[a+4>>2]=(1.0-d)*+f[b+4>>2]+ +f[c+4>>2]*d;f[a+8>>2]=(1.0-d)*+f[b+8>>2]+ +f[c+8>>2]*d;return}function sq(a,b,c,d,e,g,h){a=a|0;b=+b;c=+c;d=+d;e=+e;g=+g;h=+h;var i=0;i=Ta;Ta=Ta+16|0;f[i+8>>2]=b+e;f[i+4>>2]=c+g;f[i>>2]=d+h;bx(a,i+8|0,i+4|0,i);Ta=i;return}function tq(a,b,c,d,e,g,h){a=a|0;b=+b;c=+c;d=+d;e=+e;g=+g;h=+h;var i=0;i=Ta;Ta=Ta+16|0;f[i+8>>2]=b*e;f[i+4>>2]=c*g;f[i>>2]=d*h;bx(a,i+8|0,i+4|0,i);Ta=i;return}function uq(a,b,c,d,e,g,h){a=a|0;b=+b;c=+c;d=+d;e=+e;g=+g;h=+h;var i=0;i=Ta;Ta=Ta+16|0;f[i+8>>2]=b-e;f[i+4>>2]=c-g;f[i>>2]=d-h;bx(a,i+8|0,i+4|0,i);Ta=i;return}function vq(b,c,e,f){b=b|0;c=c|0;e=e|0;f=f|0;if(!((b|0)==0&(c|0)==0))do{e=e+-1|0;a[e>>0]=d[480+(b&15)>>0]|0|f;b=Oy(b|0,c|0,4)|0;c=D()|0}while(!((b|0)==0&(c|0)==0));return e|0}function wq(a,b){a=a|0;b=b|0;var c=0;c=Ta;Ta=Ta+16|0;f[c+8>>2]=-+f[b>>2];f[c+4>>2]=-+f[b+4>>2];f[c>>2]=-+f[b+8>>2];_C(a,c+8|0,c+4|0,c,b+12|0);Ta=c;return}function xq(a){a=a|0;var b=0;c[a>>2]=8560;b=c[a+52>>2]|0;if(!b)return;pb[c[c[b>>2]>>2]&511](b);b=c[a+52>>2]|0;if(!b)return;c[6880]=(c[6880]|0)+1;kd(c[b+-4>>2]|0);return}function yq(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;if(zy(a,c[b+8>>2]|0,0)|0)mn(b,d,e);return}function zq(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;return +(+Ga(0,a|0,b|0,c|0,d|0,e|0,f|0,g|0,h|0))}function Aq(a,b){a=a|0;b=b|0;if((b|0)==0?1:(c[b+236>>2]&2|0)==0){Jk(a,b);return}else{vb[c[(c[a>>2]|0)+92>>2]&255](a,b);return}}function Bq(a){a=a|0;var b=0;c[a>>2]=6872;b=c[a+48>>2]|0;vb[c[(c[b>>2]|0)+20>>2]&255](b,c[a+64>>2]|0);b=c[a+48>>2]|0;vb[c[(c[b>>2]|0)+16>>2]&255](b,c[a+64>>2]|0);return}function Cq(){var b=0;b=pZ(40)|0;f[b+12>>2]=1.0;c[b+8>>2]=0;c[b+4>>2]=5;c[b>>2]=4196;a[b+36>>0]=1;c[b+32>>2]=0;c[b+24>>2]=0;c[b+28>>2]=0;a[b+16>>0]=1;return b|0}function Dq(a,b,c,d){a=a|0;b=+b;c=+c;d=+d;var e=0;e=Ta;Ta=Ta+16|0;tq(e,b,c,d,+f[a+348>>2],+f[a+352>>2],+f[a+356>>2]);Iv(a+412|0,e)|0;Ta=e;return}function Eq(a,b,c){a=+a;b=+b;c=+c;var d=0,e=0;e=Ta;Ta=Ta+16|0;f[e+8>>2]=a;f[e+4>>2]=b;f[e>>2]=c;d=Ux()|0;bx(d,e+8|0,e+4|0,e);Ta=e;return d|0}function Fq(a,b,c,d,e,f,g,h,i,j,k){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;return nb[a&31](b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0,j|0,k|0)|0}function Gq(a,b){a=a|0;b=b|0;c[a+12>>2]=c[b>>2];c[a+12+4>>2]=c[b+4>>2];c[a+12+8>>2]=c[b+8>>2];c[a+12+12>>2]=c[b+12>>2];wj(a);return}function Hq(a,b,c,d,e,f,g,h,i,j,k){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;return +db[a&31](b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0,j|0,k|0)}function Iq(a,b){a=a|0;b=b|0;a=c[a+12>>2]|0;return gb[c[(c[a>>2]|0)+8>>2]&63](a,b)|0}function Jq(a,b,c,d){a=a|0;b=+b;c=+c;d=+d;var e=0;e=Ta;Ta=Ta+16|0;tq(e,b,c,d,+f[a+544>>2],+f[a+548>>2],+f[a+552>>2]);Iv(a+428|0,e)|0;Ta=e;return}function Kq(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0;h=tx()|0;pe(h,a,b,c,d,e,f,g);return h|0}function Lq(a,b,d){a=a|0;b=b|0;d=d|0;HK(a,b);c[a+48>>2]=c[d>>2];c[a+48+4>>2]=c[d+4>>2];c[a+48+8>>2]=c[d+8>>2];c[a+48+12>>2]=c[d+12>>2];return}function Mq(a,b){a=a|0;b=b|0;var c=0;c=Ta;Ta=Ta+16|0;lm(c,a,+f[b+48>>2],+f[b+52>>2],+f[b+56>>2]);Iv(a+48|0,c)|0;Yk(a,b);Ta=c;return a|0}function Nq(a,b){a=a|0;b=b|0;c[a+260>>2]=(c[a+260>>2]|0)+1;c[a+328>>2]=c[b>>2];c[a+328+4>>2]=c[b+4>>2];c[a+328+8>>2]=c[b+8>>2];c[a+328+12>>2]=c[b+12>>2];return}function Oq(){var a=0,b=0;b=Ta;Ta=Ta+32|0;a=pZ(92)|0;jy(b);Md(a,b);Ta=b;return a|0}function Pq(a,b,d){a=a|0;b=b|0;d=d|0;c[d>>2]=c[a+56+(b<<4)>>2];c[d+4>>2]=c[a+56+(b<<4)+4>>2];c[d+8>>2]=c[a+56+(b<<4)+8>>2];c[d+12>>2]=c[a+56+(b<<4)+12>>2];return}function Qq(a,b){a=a|0;b=b|0;c[a+260>>2]=(c[a+260>>2]|0)+1;c[a+312>>2]=c[b>>2];c[a+312+4>>2]=c[b+4>>2];c[a+312+8>>2]=c[b+8>>2];c[a+312+12>>2]=c[b+12>>2];return}function Rq(a,b,c,d,e,f,g,h,i,j,k,l){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=+f;g=+g;h=+h;i=+i;j=j|0;k=k|0;l=+l;Fb[a&31](b|0,c|0,d|0,e|0,+f,+g,+h,+i,j|0,k|0,+l)}function Sq(a,b){a=a|0;b=b|0;c[a+260>>2]=(c[a+260>>2]|0)+1;c[a+544>>2]=c[b>>2];c[a+544+4>>2]=c[b+4>>2];c[a+544+8>>2]=c[b+8>>2];c[a+544+12>>2]=c[b+12>>2];return}function Tq(a){a=a|0;var b=0.0,d=0.0;d=+f[a+32>>2];+Wa[c[(c[a>>2]|0)+48>>2]&31](a);b=+Wa[c[(c[a>>2]|0)+48>>2]&31](a);+Wa[c[(c[a>>2]|0)+48>>2]&31](a);return +(d+b)}function Uq(a,b,c,d,e,f,g,h,i,j,k){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;Mb[a&31](b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0,j|0,k|0)}function Vq(a){a=a|0;var b=0.0,d=0.0;d=+f[a+28>>2];b=+Wa[c[(c[a>>2]|0)+48>>2]&31](a);+Wa[c[(c[a>>2]|0)+48>>2]&31](a);+Wa[c[(c[a>>2]|0)+48>>2]&31](a);return +(d+b)}function Wq(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=Ta;Ta=Ta+16|0;c[e>>2]=c[d>>2];a=ib[c[(c[a>>2]|0)+16>>2]&63](a,b,e)|0;if(a)c[d>>2]=c[e>>2];Ta=e;return a&1|0}function Xq(a,b,c,d,e){a=a|0;b=+b;c=+c;d=+d;e=+e;var g=0;g=Ta;Ta=Ta+16|0;f[g+8>>2]=b*e;f[g+4>>2]=c*e;f[g>>2]=d*e;bx(a,g+8|0,g+4|0,g);Ta=g;return}function Yq(a,b,c,d,e,f,g,h,i,j,k,l){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;f=+f;g=+g;h=+h;i=+i;j=j|0;k=+k;l=l|0;ma(19,a|0,b|0,c|0,d|0,+e,+f,+g,+h,+i,j|0,+k,l|0)}function Zq(a,b,c,d,e,f,g,h,i,j,k,l){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;f=+f;g=+g;h=+h;i=+i;j=j|0;k=+k;l=l|0;ma(18,a|0,b|0,c|0,d|0,+e,+f,+g,+h,+i,j|0,+k,l|0)}function _q(a,b,c,d,e,f,g,h,i,j,k,l){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;f=+f;g=+g;h=+h;i=+i;j=j|0;k=+k;l=l|0;ma(17,a|0,b|0,c|0,d|0,+e,+f,+g,+h,+i,j|0,+k,l|0)}function $q(a,b,c,d,e,f,g,h,i,j,k,l){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;f=+f;g=+g;h=+h;i=+i;j=j|0;k=+k;l=l|0;ma(16,a|0,b|0,c|0,d|0,+e,+f,+g,+h,+i,j|0,+k,l|0)}function ar(a,b,c,d,e,f,g,h,i,j,k,l){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;f=+f;g=+g;h=+h;i=+i;j=j|0;k=+k;l=l|0;ma(15,a|0,b|0,c|0,d|0,+e,+f,+g,+h,+i,j|0,+k,l|0)}function br(a,b,c,d,e,f,g,h,i,j,k,l){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;f=+f;g=+g;h=+h;i=+i;j=j|0;k=+k;l=l|0;ma(14,a|0,b|0,c|0,d|0,+e,+f,+g,+h,+i,j|0,+k,l|0)}function cr(a,b,c,d,e,f,g,h,i,j,k,l){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;f=+f;g=+g;h=+h;i=+i;j=j|0;k=+k;l=l|0;ma(13,a|0,b|0,c|0,d|0,+e,+f,+g,+h,+i,j|0,+k,l|0)}function dr(a,b,c,d,e,f,g,h,i,j,k,l){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;f=+f;g=+g;h=+h;i=+i;j=j|0;k=+k;l=l|0;ma(12,a|0,b|0,c|0,d|0,+e,+f,+g,+h,+i,j|0,+k,l|0)}function er(a,b,c,d,e,f,g,h,i,j,k,l){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;f=+f;g=+g;h=+h;i=+i;j=j|0;k=+k;l=l|0;ma(11,a|0,b|0,c|0,d|0,+e,+f,+g,+h,+i,j|0,+k,l|0)}function fr(a,b,c,d,e,f,g,h,i,j,k,l){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;f=+f;g=+g;h=+h;i=+i;j=j|0;k=+k;l=l|0;ma(10,a|0,b|0,c|0,d|0,+e,+f,+g,+h,+i,j|0,+k,l|0)}function gr(a,b){a=a|0;b=b|0;f[a>>2]=+f[a>>2]*+f[b>>2];f[a+4>>2]=+f[a+4>>2]*+f[b>>2];f[a+8>>2]=+f[a+8>>2]*+f[b>>2];f[a+12>>2]=+f[a+12>>2]*+f[b>>2];return a|0}function hr(){var a=0;a=pZ(8)|0;c[6878]=a;Pa(a|0,0)|0;c[6868]=22693;c[6869]=0;c[6870]=0;c[6871]=0;c[6872]=0;c[6873]=0;c[6874]=0;c[6875]=0;c[6876]=0;du(27472);return}function ir(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;fc(b,c,e,f,g);return}function jr(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;Lp(a,b,c,d,e,f,g,h,i,j);return}function kr(a,b,c,d,e,f,g,h,i,j,k,l){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;f=+f;g=+g;h=+h;i=+i;j=j|0;k=+k;l=l|0;ma(9,a|0,b|0,c|0,d|0,+e,+f,+g,+h,+i,j|0,+k,l|0)}function lr(a,b,c,d,e,f,g,h,i,j,k,l){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;f=+f;g=+g;h=+h;i=+i;j=j|0;k=+k;l=l|0;ma(8,a|0,b|0,c|0,d|0,+e,+f,+g,+h,+i,j|0,+k,l|0)}function mr(a,b,c,d,e,f,g,h,i,j,k,l){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;f=+f;g=+g;h=+h;i=+i;j=j|0;k=+k;l=l|0;ma(7,a|0,b|0,c|0,d|0,+e,+f,+g,+h,+i,j|0,+k,l|0)}function nr(a,b,c,d,e,f,g,h,i,j,k,l){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;f=+f;g=+g;h=+h;i=+i;j=j|0;k=+k;l=l|0;ma(6,a|0,b|0,c|0,d|0,+e,+f,+g,+h,+i,j|0,+k,l|0)}function or(a,b,c,d,e,f,g,h,i,j,k,l){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;f=+f;g=+g;h=+h;i=+i;j=j|0;k=+k;l=l|0;ma(5,a|0,b|0,c|0,d|0,+e,+f,+g,+h,+i,j|0,+k,l|0)}function pr(a,b,c,d,e,f,g,h,i,j,k,l){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;f=+f;g=+g;h=+h;i=+i;j=j|0;k=+k;l=l|0;ma(4,a|0,b|0,c|0,d|0,+e,+f,+g,+h,+i,j|0,+k,l|0)}function qr(a,b,c,d,e,f,g,h,i,j,k,l){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;f=+f;g=+g;h=+h;i=+i;j=j|0;k=+k;l=l|0;ma(3,a|0,b|0,c|0,d|0,+e,+f,+g,+h,+i,j|0,+k,l|0)}function rr(a,b,c,d,e,f,g,h,i,j,k,l){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;f=+f;g=+g;h=+h;i=+i;j=j|0;k=+k;l=l|0;ma(2,a|0,b|0,c|0,d|0,+e,+f,+g,+h,+i,j|0,+k,l|0)}function sr(a,b,c,d,e,f,g,h,i,j,k,l){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;f=+f;g=+g;h=+h;i=+i;j=j|0;k=+k;l=l|0;ma(1,a|0,b|0,c|0,d|0,+e,+f,+g,+h,+i,j|0,+k,l|0)}function tr(a,b,c,d,e,f,g,h,i,j,k,l){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;f=+f;g=+g;h=+h;i=+i;j=j|0;k=+k;l=l|0;ma(0,a|0,b|0,c|0,d|0,+e,+f,+g,+h,+i,j|0,+k,l|0)}function ur(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;d=Ww(324)|0;Qd(d,a,b,c);return d|0}function vr(d,e){d=d|0;e=e|0;pY(d);c[d>>2]=6124;c[d+4>>2]=e;b[d+8>>1]=1;b[d+10>>1]=2;a[d+12>>0]=1;c[d+16>>2]=32;f[d+20>>2]=.20000000298023224;return}function wr(b){b=b|0;var d=0;c[b>>2]=4196;d=c[b+32>>2]|0;if(!d){B$(b);return}if(!(a[b+36>>0]|0)){B$(b);return}c[6880]=(c[6880]|0)+1;kd(c[d+-4>>2]|0);B$(b);return}function xr(a,b,d){a=a|0;b=b|0;d=d|0;a=c[b+204>>2]|0;if(a&4|0)return 0;b=c[d+204>>2]|0;if(!(b&4))return (a&3|0)==0|(b&3|0)==0|0;else return 0;return 0}function yr(a,b,d){a=a|0;b=b|0;d=d|0;Wm(a,b);c[a+48>>2]=c[d>>2];c[a+48+4>>2]=c[d+4>>2];c[a+48+8>>2]=c[d+8>>2];c[a+48+12>>2]=c[d+12>>2];return}function zr(b){b=b|0;var d=0;c[b>>2]=7340;if(!(a[b+8>>0]|0))return;d=c[b+12>>2]|0;if(!d)return;b=c[b+4>>2]|0;vb[c[(c[b>>2]|0)+16>>2]&255](b,d);return}function Ar(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=0;while(1){if((e|0)>=(b|0))break;Am(d+(e*96|0)|0,(c[a+12>>2]|0)+(e*96|0)|0);e=e+1|0}return}function Br(b){b=b|0;var d=0;c[b>>2]=10868;if(!(a[b+8>>0]|0))return;d=c[b+12>>2]|0;if(!d)return;b=c[b+4>>2]|0;vb[c[(c[b>>2]|0)+16>>2]&255](b,d);return}function Cr(b){b=b|0;var d=0;c[b>>2]=6448;d=c[b+20>>2]|0;if(!d){B$(b);return}if(!(a[b+24>>0]|0)){B$(b);return}c[6880]=(c[6880]|0)+1;kd(c[d+-4>>2]|0);B$(b);return}function Dr(a,b){a=a|0;b=b|0;var c=0;c=Ta;Ta=Ta+128|0;vo(c,a+68|0);Mp(c+64|0,c,a+4|0);Ps(b,c+64|0);Ta=c;return}function Er(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0;g=tx()|0;pe(g,a,b,c,d,e,f,0);return g|0}function Fr(b){b=b|0;var d=0;c[b>>2]=6796;if(!(a[b+8>>0]|0))return;d=c[b+12>>2]|0;if(!d)return;b=c[b+4>>2]|0;vb[c[(c[b>>2]|0)+16>>2]&255](b,d);return}function Gr(b){b=b|0;var c=0;c=Ta;Ta=Ta+64|0;if((a[25376]|0)==0?kP(25376)|0:0)kO(25376);vo(c,b);Ps(25744,c);Ta=c;return 25744}function Hr(a,b){a=a|0;b=b|0;a=c[a+4>>2]|0;return ((c[b>>2]|0)==(a|0)?1:(c[b+4>>2]|0)==(a|0))|0}function Ir(b){b=b|0;if(a[25440]|0)return 26080;if(!(kP(25440)|0))return 26080;c[6520]=1065353216;c[6521]=1065353216;c[6522]=1065353216;f[6523]=0.0;kO(25440);return 26080}function Jr(b){b=b|0;var d=0;c[b>>2]=10260;d=c[b+16>>2]|0;if(!d){B$(b);return}if(!(a[b+20>>0]|0)){B$(b);return}c[6880]=(c[6880]|0)+1;kd(c[d+-4>>2]|0);B$(b);return}function Kr(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0;f=ex()|0;ve(f,a,b,c,d,e);return f|0}function Lr(a,b){a=a|0;b=b|0;a=c[a+20>>2]|0;return gb[c[(c[a>>2]|0)+8>>2]&63](a,b)|0}function Mr(a,b,d,e,f,g,h,i,j){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=+j;Hb[c[(c[a>>2]|0)+28>>2]&31](a,b,d,e,i,j);return}function Nr(a,b,c,d){a=a|0;b=+b;c=+c;d=+d;var e=0;e=Ta;Ta=Ta+16|0;f[e+8>>2]=b;f[e+4>>2]=c;f[e>>2]=d;bx(a,e+8|0,e+4|0,e);Ta=e;return}function Or(b){b=b|0;var d=0;c[b>>2]=6892;if(!(a[b+8>>0]|0))return;d=c[b+12>>2]|0;if(!d)return;b=c[b+4>>2]|0;vb[c[(c[b>>2]|0)+16>>2]&255](b,d);return}function Pr(a,b,d){a=a|0;b=b|0;d=d|0;TY(a);c[a>>2]=3796;Ps(a+4|0,b);Ps(a+68|0,d);Ps(a+132|0,b);c[a+196>>2]=0;return}function Qr(b){b=b|0;var d=0;c[b>>2]=7388;if(!(a[b+16>>0]|0))return;d=c[b+20>>2]|0;if(!d)return;b=c[b+4>>2]|0;vb[c[(c[b>>2]|0)+16>>2]&255](b,d);return}function Rr(a){a=a|0;var b=0;b=Ta;Ta=Ta+16|0;Fn(a);f[b+8>>2]=0.0;f[b+4>>2]=0.0;f[b>>2]=0.0;bx(a+48|0,b+8|0,b+4|0,b);Ta=b;return}function Sr(b,c,d){b=b|0;c=c|0;d=d|0;if(!((b|0)==0&(c|0)==0))do{d=d+-1|0;a[d>>0]=b&7|48;b=Oy(b|0,c|0,3)|0;c=D()|0}while(!((b|0)==0&(c|0)==0));return d|0}function Tr(a,b,c,d,e,f,g,h,i,j){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;return mb[a&31](b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0,j|0)|0}function Ur(a,b,c,d,e,f,g,h,i,j){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;return X(19,a|0,b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0,j|0)|0}function Vr(a,b,c,d,e,f,g,h,i,j){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;return X(18,a|0,b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0,j|0)|0}function Wr(a,b,c,d,e,f,g,h,i,j){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;return X(17,a|0,b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0,j|0)|0}function Xr(a,b,c,d,e,f,g,h,i,j){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;return X(16,a|0,b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0,j|0)|0}function Yr(a,b,c,d,e,f,g,h,i,j){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;return X(15,a|0,b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0,j|0)|0}function Zr(a,b,c,d,e,f,g,h,i,j){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;return X(14,a|0,b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0,j|0)|0}function _r(a,b,c,d,e,f,g,h,i,j){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;return X(13,a|0,b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0,j|0)|0}function $r(a,b,c,d,e,f,g,h,i,j){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;return X(12,a|0,b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0,j|0)|0}function as(a,b,c,d,e,f,g,h,i,j){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;return X(11,a|0,b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0,j|0)|0}function bs(a,b,c,d,e,f,g,h,i,j){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;return X(10,a|0,b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0,j|0)|0}function cs(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;var f=0;f=pZ(44)|0;Pm(f,a,b,c,d,e);return f|0}function ds(a,b){a=a|0;b=b|0;Bp(a,b);c[a+20>>2]=c[b+20>>2];c[a+20+4>>2]=c[b+20+4>>2];c[a+20+8>>2]=c[b+20+8>>2];c[a+20+12>>2]=c[b+20+12>>2];return}function es(a,b,c){a=a|0;b=b|0;c=+c;switch(b|0){case 3:{f[a+452>>2]=c;return}case 4:{f[a+448>>2]=c;return}case 5:{f[a+444>>2]=c;return}default:return}}function fs(a,b){a=a|0;b=b|0;var c=0;c=0;while(1){if((c|0)==3)break;f[a+868+(c<<6)+4>>2]=+rx(+f[(D$(b)|0)+(c<<2)>>2]);c=c+1|0}return}function gs(a,b){a=a|0;b=b|0;b=c[b+36>>2]|0;Ge(a,c[(c[(c[(c[a+4>>2]|0)+4>>2]|0)+24>>2]|0)+(b*80|0)+64>>2]|0,b);return}function hs(a,b,c,d,e,f,g,h,i,j){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;return X(9,a|0,b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0,j|0)|0}function is(a,b,c,d,e,f,g,h,i,j){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;return X(8,a|0,b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0,j|0)|0}function js(a,b,c,d,e,f,g,h,i,j){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;return X(7,a|0,b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0,j|0)|0}function ks(a,b,c,d,e,f,g,h,i,j){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;return X(6,a|0,b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0,j|0)|0}function ls(a,b,c,d,e,f,g,h,i,j){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;return X(5,a|0,b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0,j|0)|0}function ms(a,b,c,d,e,f,g,h,i,j){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;return X(4,a|0,b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0,j|0)|0}function ns(a,b,c,d,e,f,g,h,i,j){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;return X(3,a|0,b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0,j|0)|0}function os(a,b,c,d,e,f,g,h,i,j){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;return X(2,a|0,b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0,j|0)|0}function ps(a,b,c,d,e,f,g,h,i,j){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;return X(1,a|0,b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0,j|0)|0}function qs(a,b,c,d,e,f,g,h,i,j){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;return X(0,a|0,b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0,j|0)|0}function rs(a,b,c,d,e,f,g,h,i,j){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;return +cb[a&31](b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0,j|0)}function ss(a,b,c,d,e,f,g,h,i,j){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;return +N(19,a|0,b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0,j|0)}function ts(a,b,c,d,e,f,g,h,i,j){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;return +N(18,a|0,b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0,j|0)}function us(a,b,c,d,e,f,g,h,i,j){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;return +N(17,a|0,b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0,j|0)}function vs(a,b,c,d,e,f,g,h,i,j){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;return +N(16,a|0,b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0,j|0)}function ws(a,b,c,d,e,f,g,h,i,j){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;return +N(15,a|0,b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0,j|0)}function xs(a,b,c,d,e,f,g,h,i,j){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;return +N(14,a|0,b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0,j|0)}function ys(a,b,c,d,e,f,g,h,i,j){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;return +N(13,a|0,b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0,j|0)}function zs(a,b,c,d,e,f,g,h,i,j){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;return +N(12,a|0,b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0,j|0)}function As(a,b,c,d,e,f,g,h,i,j){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;return +N(11,a|0,b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0,j|0)}function Bs(a,b,c,d,e,f,g,h,i,j){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;return +N(10,a|0,b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0,j|0)}function Cs(a,b,c,d,e,f,g,h,i,j){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;return +N(9,a|0,b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0,j|0)}function Ds(a,b,c,d,e,f,g,h,i,j){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;return +N(8,a|0,b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0,j|0)}function Es(a,b,c,d,e,f,g,h,i,j){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;return +N(7,a|0,b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0,j|0)}function Fs(a,b,c,d,e,f,g,h,i,j){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;return +N(6,a|0,b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0,j|0)}function Gs(a,b,c,d,e,f,g,h,i,j){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;return +N(5,a|0,b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0,j|0)}function Hs(a,b,c,d,e,f,g,h,i,j){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;return +N(4,a|0,b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0,j|0)}function Is(a,b,c,d,e,f,g,h,i,j){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;return +N(3,a|0,b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0,j|0)}function Js(a,b,c,d,e,f,g,h,i,j){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;return +N(2,a|0,b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0,j|0)}function Ks(a,b,c,d,e,f,g,h,i,j){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;return +N(1,a|0,b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0,j|0)}function Ls(a,b,c,d,e,f,g,h,i,j){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;return +N(0,a|0,b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0,j|0)}function Ms(a,b,d,e,f,g,h,i){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;return +(+bb[c[(c[a>>2]|0)+12>>2]&31](a,b,d,e,f,g,h,i))}function Ns(a,b){a=a|0;b=b|0;var c=0;c=0;while(1){if((c|0)==3)break;f[a+868+(c<<6)>>2]=+rx(+f[(D$(b)|0)+(c<<2)>>2]);c=c+1|0}return}function Os(a,b,c,d){a=+a;b=b|0;c=c|0;d=d|0;var e=0;e=pZ(140)|0;ll(e,a,b,c,d);return e|0}function Ps(a,b){a=a|0;b=b|0;Wm(a,b);c[a+48>>2]=c[b+48>>2];c[a+48+4>>2]=c[b+48+4>>2];c[a+48+8>>2]=c[b+48+8>>2];c[a+48+12>>2]=c[b+48+12>>2];return}function Qs(b,d){b=b|0;d=d|0;if((a[25352]|0)==0?kP(25352)|0:0)kO(25352);zn(QO(c[b+12>>2]|0,d)|0);return 25616}function Rs(a,b){a=a|0;b=b|0;bx(a,b,b+16|0,b+32|0);bx(a+16|0,b+4|0,b+20|0,b+36|0);bx(a+32|0,b+8|0,b+24|0,b+40|0);return}function Ss(a,b,c,d,e,f,g,h,i,j,k){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;f=+f;g=+g;h=+h;i=i|0;j=j|0;k=+k;na(19,a|0,b|0,c|0,d|0,+e,+f,+g,+h,i|0,j|0,+k)}function Ts(a,b,c,d,e,f,g,h,i,j,k){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;f=+f;g=+g;h=+h;i=i|0;j=j|0;k=+k;na(18,a|0,b|0,c|0,d|0,+e,+f,+g,+h,i|0,j|0,+k)}function Us(a,b,c,d,e,f,g,h,i,j,k){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;f=+f;g=+g;h=+h;i=i|0;j=j|0;k=+k;na(17,a|0,b|0,c|0,d|0,+e,+f,+g,+h,i|0,j|0,+k)}function Vs(a,b,c,d,e,f,g,h,i,j,k){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;f=+f;g=+g;h=+h;i=i|0;j=j|0;k=+k;na(16,a|0,b|0,c|0,d|0,+e,+f,+g,+h,i|0,j|0,+k)}function Ws(a,b,c,d,e,f,g,h,i,j,k){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;f=+f;g=+g;h=+h;i=i|0;j=j|0;k=+k;na(15,a|0,b|0,c|0,d|0,+e,+f,+g,+h,i|0,j|0,+k)}function Xs(a,b,c,d,e,f,g,h,i,j,k){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;f=+f;g=+g;h=+h;i=i|0;j=j|0;k=+k;na(14,a|0,b|0,c|0,d|0,+e,+f,+g,+h,i|0,j|0,+k)}function Ys(a,b,c,d,e,f,g,h,i,j,k){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;f=+f;g=+g;h=+h;i=i|0;j=j|0;k=+k;na(13,a|0,b|0,c|0,d|0,+e,+f,+g,+h,i|0,j|0,+k)}function Zs(a,b,c,d,e,f,g,h,i,j,k){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;f=+f;g=+g;h=+h;i=i|0;j=j|0;k=+k;na(12,a|0,b|0,c|0,d|0,+e,+f,+g,+h,i|0,j|0,+k)}function _s(a,b,c,d,e,f,g,h,i,j,k){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;f=+f;g=+g;h=+h;i=i|0;j=j|0;k=+k;na(11,a|0,b|0,c|0,d|0,+e,+f,+g,+h,i|0,j|0,+k)}function $s(a,b,c,d,e,f,g,h,i,j,k){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;f=+f;g=+g;h=+h;i=i|0;j=j|0;k=+k;na(10,a|0,b|0,c|0,d|0,+e,+f,+g,+h,i|0,j|0,+k)}function at(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;Lb[a&31](b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0,j|0)}function bt(a,b){a=a|0;b=b|0;pb[c[(c[b>>2]|0)+32>>2]&511](b);cd(a,b);pb[c[(c[b>>2]|0)+36>>2]&511](b);return}function ct(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;ua(19,a|0,b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0,j|0)}function dt(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;ua(18,a|0,b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0,j|0)}function et(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;ua(17,a|0,b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0,j|0)}function ft(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;ua(16,a|0,b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0,j|0)}function gt(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;ua(15,a|0,b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0,j|0)}function ht(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;ua(14,a|0,b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0,j|0)}function it(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;ua(13,a|0,b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0,j|0)}function jt(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;ua(12,a|0,b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0,j|0)}function kt(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;ua(11,a|0,b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0,j|0)}function lt(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;ua(10,a|0,b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0,j|0)}function mt(a,b,c,d,e,f,g,h,i,j,k){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;f=+f;g=+g;h=+h;i=i|0;j=j|0;k=+k;na(9,a|0,b|0,c|0,d|0,+e,+f,+g,+h,i|0,j|0,+k)}function nt(a,b,c,d,e,f,g,h,i,j,k){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;f=+f;g=+g;h=+h;i=i|0;j=j|0;k=+k;na(8,a|0,b|0,c|0,d|0,+e,+f,+g,+h,i|0,j|0,+k)}function ot(a,b,c,d,e,f,g,h,i,j,k){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;f=+f;g=+g;h=+h;i=i|0;j=j|0;k=+k;na(7,a|0,b|0,c|0,d|0,+e,+f,+g,+h,i|0,j|0,+k)}function pt(a,b,c,d,e,f,g,h,i,j,k){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;f=+f;g=+g;h=+h;i=i|0;j=j|0;k=+k;na(6,a|0,b|0,c|0,d|0,+e,+f,+g,+h,i|0,j|0,+k)}function qt(a,b,c,d,e,f,g,h,i,j,k){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;f=+f;g=+g;h=+h;i=i|0;j=j|0;k=+k;na(5,a|0,b|0,c|0,d|0,+e,+f,+g,+h,i|0,j|0,+k)}function rt(a,b,c,d,e,f,g,h,i,j,k){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;f=+f;g=+g;h=+h;i=i|0;j=j|0;k=+k;na(4,a|0,b|0,c|0,d|0,+e,+f,+g,+h,i|0,j|0,+k)}function st(a,b,c,d,e,f,g,h,i,j,k){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;f=+f;g=+g;h=+h;i=i|0;j=j|0;k=+k;na(3,a|0,b|0,c|0,d|0,+e,+f,+g,+h,i|0,j|0,+k)}function tt(a,b,c,d,e,f,g,h,i,j,k){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;f=+f;g=+g;h=+h;i=i|0;j=j|0;k=+k;na(2,a|0,b|0,c|0,d|0,+e,+f,+g,+h,i|0,j|0,+k)}function ut(a,b,c,d,e,f,g,h,i,j,k){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;f=+f;g=+g;h=+h;i=i|0;j=j|0;k=+k;na(1,a|0,b|0,c|0,d|0,+e,+f,+g,+h,i|0,j|0,+k)}function vt(a,b,c,d,e,f,g,h,i,j,k){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;f=+f;g=+g;h=+h;i=i|0;j=j|0;k=+k;na(0,a|0,b|0,c|0,d|0,+e,+f,+g,+h,i|0,j|0,+k)}function wt(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;zb[c[(c[a>>2]|0)+108>>2]&127](a,b,d);zb[c[(c[a>>2]|0)+108>>2]&127](a,(b+1|0)%3|0,e);return}function xt(a){a=a|0;var b=0.0,c=0;c=+Dp(a,a)<0.0;b=+f[a+12>>2];if(c){b=+bN(b);b=b*2.0;return +b}else{b=+bN(-b);b=b*2.0;return +b}return 0.0}function yt(){var a=0,b=0;b=nw(c[6382]|0,c[6383]|0,1284865837,1481765933)|0;b=hD(b|0,D()|0,1,0)|0;a=D()|0;c[6382]=b;c[6383]=a;a=Oy(b|0,a|0,33)|0;D()|0;return a|0}function zt(a,b,c,d){a=a|0;b=+b;c=+c;d=+d;var e=0;e=Ta;Ta=Ta+16|0;f[e+8>>2]=-b;f[e+4>>2]=-c;f[e>>2]=-d;bx(a,e+8|0,e+4|0,e);Ta=e;return}function At(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;ua(9,a|0,b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0,j|0)}function Bt(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;ua(8,a|0,b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0,j|0)}function Ct(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;ua(7,a|0,b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0,j|0)}function Dt(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;ua(6,a|0,b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0,j|0)}function Et(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;ua(5,a|0,b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0,j|0)}function Ft(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;ua(4,a|0,b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0,j|0)}function Gt(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;ua(3,a|0,b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0,j|0)}function Ht(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;ua(2,a|0,b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0,j|0)}function It(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;ua(1,a|0,b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0,j|0)}function Jt(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;ua(0,a|0,b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0,j|0)}function Kt(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0;f=gx()|0;Zd(f,a,b,c&65535,d,e);return f|0}function Lt(a){a=a|0;c[6879]=(c[6879]|0)+1;a=Zb((a*104|3)+16|0)|0;if(!a){a=0;return a|0}c[(a+4+15&-16)+-4>>2]=a;a=a+4+15&-16;return a|0}function Mt(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=0;while(1){if((e|0)>=(b|0))break;ds(d+(e*36|0)|0,(c[a+12>>2]|0)+(e*36|0)|0);e=e+1|0}return}function Nt(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;Kb[a&31](b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0,+j)}function Ot(a,b){a=a|0;b=b|0;c[a+12>>2]=c[b>>2];c[a+12+4>>2]=c[b+4>>2];c[a+12+8>>2]=c[b+8>>2];c[a+12+12>>2]=c[b+12>>2];return}function Pt(a,b){a=a|0;b=b|0;c[a+44>>2]=c[b>>2];c[a+44+4>>2]=c[b+4>>2];c[a+44+8>>2]=c[b+8>>2];c[a+44+12>>2]=c[b+12>>2];return}function Qt(a,c){a=a|0;c=c|0;if(!((b[c+4>>1]&b[a+6>>1])<<16>>16)){a=0;return a|0}a=(b[a+4>>1]&b[c+6>>1])<<16>>16!=0;return a|0}function Rt(a,c){a=a|0;c=c|0;if(!((b[c+4>>1]&b[a+10>>1])<<16>>16)){a=0;return a|0}a=(b[a+8>>1]&b[c+6>>1])<<16>>16!=0;return a|0}function St(a,b){a=a|0;b=b|0;c[a+696>>2]=c[b>>2];c[a+696+4>>2]=c[b+4>>2];c[a+696+8>>2]=c[b+8>>2];c[a+696+12>>2]=c[b+12>>2];return}function Tt(a,b){a=a|0;b=b|0;c[a+680>>2]=c[b>>2];c[a+680+4>>2]=c[b+4>>2];c[a+680+8>>2]=c[b+8>>2];c[a+680+12>>2]=c[b+12>>2];return}function Ut(a,b){a=a|0;b=b|0;c[a+60>>2]=c[b>>2];c[a+60+4>>2]=c[b+4>>2];c[a+60+8>>2]=c[b+8>>2];c[a+60+12>>2]=c[b+12>>2];return}function Vt(a,b){a=a|0;b=b|0;c[a+28>>2]=c[b>>2];c[a+28+4>>2]=c[b+4>>2];c[a+28+8>>2]=c[b+8>>2];c[a+28+12>>2]=c[b+12>>2];return}function Wt(a){a=a|0;c[a>>2]=3728;RT(a+112|0);RT(a+92|0);RT(a+72|0);RT(a+20|0);return}function Xt(a,b){a=a|0;b=b|0;c[a+156>>2]=c[b>>2];c[a+156+4>>2]=c[b+4>>2];c[a+156+8>>2]=c[b+8>>2];c[a+156+12>>2]=c[b+12>>2];return}function Yt(b,c,d){b=b|0;c=c|0;d=d|0;a[b+1309+c>>0]=d&1;if((c|0)<3){a[b+788+c>>0]=d&1;return}else{a[b+868+(c+-3<<6)+44>>0]=d&1;return}}function Zt(a,c){a=a|0;c=c|0;if(!((b[c+4>>1]&b[a+14>>1])<<16>>16)){a=0;return a|0}a=(b[a+12>>1]&b[c+6>>1])<<16>>16!=0;return a|0}function _t(a,b){a=a|0;b=b|0;c[a+108>>2]=c[b>>2];c[a+108+4>>2]=c[b+4>>2];c[a+108+8>>2]=c[b+8>>2];c[a+108+12>>2]=c[b+12>>2];return}function $t(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;e=(D$(b)|0)+(c<<2)|0;d=(D$(b+16|0)|0)+(c<<2)|0;bx(a,e,d,(D$(b+32|0)|0)+(c<<2)|0);return}function au(a){a=a|0;c[6879]=(c[6879]|0)+1;a=Zb(a*96|19)|0;if(!a){a=0;return a|0}c[(a+4+15&-16)+-4>>2]=a;a=a+4+15&-16;return a|0}function bu(a,b){a=a|0;b=b|0;c[a+20>>2]=c[b>>2];c[a+20+4>>2]=c[b+4>>2];c[a+20+8>>2]=c[b+8>>2];c[a+20+12>>2]=c[b+12>>2];return}function cu(a){a=a|0;c[6879]=(c[6879]|0)+1;a=Zb((a<<4|3)+16|0)|0;if(!a){a=0;return a|0}c[(a+4+15&-16)+-4>>2]=a;a=a+4+15&-16;return a|0}function du(a){a=a|0;var b=0;do{c[a+4>>2]=0;f[a+8>>2]=0.0;b=c[a+24>>2]|0;if(b|0)du(b);a=c[a+28>>2]|0}while((a|0)!=0);return}function eu(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=+f;xd(a,b,c,d,e,f);return}function fu(a){a=a|0;c[6879]=(c[6879]|0)+1;a=Zb((a*36|3)+16|0)|0;if(!a){a=0;return a|0}c[(a+4+15&-16)+-4>>2]=a;a=a+4+15&-16;return a|0}function gu(a,b){a=a|0;b=b|0;c[a+172>>2]=c[b>>2];c[a+172+4>>2]=c[b+4>>2];c[a+172+8>>2]=c[b+8>>2];c[a+172+12>>2]=c[b+12>>2];return}function hu(a,b){a=a|0;b=b|0;c[a+32>>2]=c[b>>2];c[a+32+4>>2]=c[b+4>>2];c[a+32+8>>2]=c[b+8>>2];c[a+32+12>>2]=c[b+12>>2];return}function iu(a){a=a|0;f[a>>2]=5.880000114440918;f[a+4>>2]=.8299999833106995;f[a+8>>2]=.8799999952316284;f[a+12>>2]=500.0;f[a+16>>2]=10.5;f[a+20>>2]=6.0e3;return}function ju(a,b){a=a|0;b=b|0;c[a+316>>2]=c[b>>2];c[a+316+4>>2]=c[b+4>>2];c[a+316+8>>2]=c[b+8>>2];c[a+316+12>>2]=c[b+12>>2];return}function ku(a,b){a=a|0;b=b|0;c[a+300>>2]=c[b>>2];c[a+300+4>>2]=c[b+4>>2];c[a+300+8>>2]=c[b+8>>2];c[a+300+12>>2]=c[b+12>>2];return}function lu(a,b){a=a|0;b=b|0;c[a+64>>2]=c[b>>2];c[a+64+4>>2]=c[b+4>>2];c[a+64+8>>2]=c[b+8>>2];c[a+64+12>>2]=c[b+12>>2];return}function mu(a,b,c,d,e,f,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;return W(19,a|0,b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0)|0}function nu(a,b,c,d,e,f,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;return W(18,a|0,b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0)|0}function ou(a,b,c,d,e,f,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;return W(17,a|0,b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0)|0}function pu(a,b,c,d,e,f,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;return W(16,a|0,b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0)|0}function qu(a,b,c,d,e,f,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;return W(15,a|0,b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0)|0}function ru(a,b,c,d,e,f,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;return W(14,a|0,b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0)|0}function su(a,b,c,d,e,f,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;return W(13,a|0,b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0)|0}function tu(a,b,c,d,e,f,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;return W(12,a|0,b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0)|0}function uu(a,b,c,d,e,f,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;return W(11,a|0,b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0)|0}function vu(a,b,c,d,e,f,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;return W(10,a|0,b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0)|0}function wu(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0;e=gx()|0;Zd(e,a,b,c&65535,d,0);return e|0}function xu(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=0;while(1){if((e|0)>=(b|0))break;c[d+(e<<2)>>2]=c[(c[a+12>>2]|0)+(e<<2)>>2];e=e+1|0}return}function yu(a,b){a=a|0;b=b|0;c[a+52>>2]=c[b>>2];c[a+52+4>>2]=c[b+4>>2];c[a+52+8>>2]=c[b+8>>2];c[a+52+12>>2]=c[b+12>>2];return}function zu(a,b,c,d,e,f,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;return W(9,a|0,b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0)|0}function Au(a,b,c,d,e,f,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;return W(8,a|0,b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0)|0}function Bu(a,b,c,d,e,f,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;return W(7,a|0,b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0)|0}function Cu(a,b,c,d,e,f,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;return W(6,a|0,b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0)|0}function Du(a,b,c,d,e,f,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;return W(5,a|0,b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0)|0}function Eu(a,b,c,d,e,f,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;return W(4,a|0,b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0)|0}function Fu(a,b,c,d,e,f,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;return W(3,a|0,b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0)|0}function Gu(a,b,c,d,e,f,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;return W(2,a|0,b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0)|0}function Hu(a,b,c,d,e,f,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;return W(1,a|0,b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0)|0}function Iu(a,b,c,d,e,f,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;return W(0,a|0,b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0)|0}function Ju(a,b,c,d,e,f,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;return +bb[a&31](b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0)}function Ku(a,b){a=a|0;b=b|0;c[a+188>>2]=c[b>>2];c[a+188+4>>2]=c[b+4>>2];c[a+188+8>>2]=c[b+8>>2];c[a+188+12>>2]=c[b+12>>2];return}function Lu(a,b,d){a=a|0;b=b|0;d=+d;vb[c[(c[a>>2]|0)+32>>2]&255](a,b);wb[c[(c[a>>2]|0)+36>>2]&31](a,b,d);return}function Mu(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;c[a>>2]=c[b>>2];c[a+4>>2]=c[d>>2];c[a+8>>2]=c[e>>2];c[a+12>>2]=c[f>>2];return}function Nu(a,b,c,d,e,f,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;return +M(19,a|0,b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0)}function Ou(a,b,c,d,e,f,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;return +M(18,a|0,b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0)}function Pu(a,b,c,d,e,f,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;return +M(17,a|0,b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0)}function Qu(a,b,c,d,e,f,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;return +M(16,a|0,b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0)}function Ru(a,b,c,d,e,f,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;return +M(15,a|0,b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0)}function Su(a,b,c,d,e,f,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;return +M(14,a|0,b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0)}function Tu(a,b,c,d,e,f,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;return +M(13,a|0,b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0)}function Uu(a,b,c,d,e,f,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;return +M(12,a|0,b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0)}function Vu(a,b,c,d,e,f,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;return +M(11,a|0,b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0)}function Wu(a,b,c,d,e,f,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;return +M(10,a|0,b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0)}function Xu(a){a=a|0;c[6879]=(c[6879]|0)+1;a=Zb((a<<2|3)+16|0)|0;if(!a){a=0;return a|0}c[(a+4+15&-16)+-4>>2]=a;a=a+4+15&-16;return a|0}function Yu(a,b,c,d,e,f,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;return +M(9,a|0,b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0)}function Zu(a,b,c,d,e,f,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;return +M(8,a|0,b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0)}function _u(a,b,c,d,e,f,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;return +M(7,a|0,b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0)}function $u(a,b,c,d,e,f,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;return +M(6,a|0,b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0)}function av(a,b,c,d,e,f,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;return +M(5,a|0,b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0)}function bv(a,b,c,d,e,f,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;return +M(4,a|0,b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0)}function cv(a,b,c,d,e,f,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;return +M(3,a|0,b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0)}function dv(a,b,c,d,e,f,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;return +M(2,a|0,b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0)}function ev(a,b,c,d,e,f,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;return +M(1,a|0,b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0)}function fv(a,b,c,d,e,f,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;return +M(0,a|0,b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0)}function gv(a,b){a=a|0;b=b|0;c[a+68>>2]=c[b>>2];c[a+68+4>>2]=c[b+4>>2];c[a+68+8>>2]=c[b+8>>2];c[a+68+12>>2]=c[b+12>>2];return}function hv(a,b){a=a|0;b=b|0;c[a+36>>2]=c[b>>2];c[a+36+4>>2]=c[b+4>>2];c[a+36+8>>2]=c[b+8>>2];c[a+36+12>>2]=c[b+12>>2];return}function iv(a,b){a=a|0;b=b|0;c[a>>2]=c[b+248>>2];c[a+4>>2]=c[b+248+4>>2];c[a+8>>2]=c[b+248+8>>2];c[a+12>>2]=c[b+248+12>>2];return}function jv(a,b){a=a|0;b=b|0;c[a+16>>2]=c[b>>2];c[a+16+4>>2]=c[b+4>>2];c[a+16+8>>2]=c[b+8>>2];c[a+16+12>>2]=c[b+12>>2];return}function kv(a,b,c,d,e,f,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;ta(19,a|0,b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0)}function lv(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;ta(18,a|0,b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0)}function mv(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;ta(17,a|0,b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0)}function nv(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;ta(16,a|0,b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0)}function ov(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;ta(15,a|0,b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0)}function pv(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;ta(14,a|0,b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0)}function qv(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;ta(13,a|0,b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0)}function rv(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;ta(12,a|0,b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0)}function sv(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;ta(11,a|0,b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0)}function tv(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;ta(10,a|0,b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0)}function uv(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=ex()|0;_d(d,a,b,c);return d|0}function vv(){var a=0;a=mx()|0;Tn();Tn();Pr(a,25856,25856);return a|0}function wv(a,b,d){a=a|0;b=b|0;d=d|0;if((c[a+4>>2]|0)==(b|0)?(c[a+28>>2]|0)!=1:0)c[a+28>>2]=d;return}function xv(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;ta(9,a|0,b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0)}function yv(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;ta(8,a|0,b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0)}function zv(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;ta(7,a|0,b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0)}function Av(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;ta(6,a|0,b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0)}function Bv(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;ta(5,a|0,b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0)}function Cv(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;ta(4,a|0,b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0)}function Dv(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;ta(2,a|0,b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0)}function Ev(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;ta(1,a|0,b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0)}function Fv(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;ta(0,a|0,b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0)}function Gv(a,b,c,d,e,f,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;ta(3,a|0,b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0)}function Hv(a,b){a=a|0;b=b|0;c[a+48>>2]=c[b>>2];c[a+48+4>>2]=c[b+4>>2];c[a+48+8>>2]=c[b+8>>2];c[a+48+12>>2]=c[b+12>>2];return} -function Xb(a,b,d,e,g){a=a|0;b=b|0;d=d|0;e=e|0;g=g|0;var i=0.0,j=0.0,k=0,l=0.0,m=0,n=0.0,o=0.0,p=0.0,q=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0,A=0.0,B=0,C=0.0,D=0.0,E=0.0,F=0,G=0,H=0,I=0,J=0,K=0.0,L=0.0,M=0.0,N=0,O=0.0,P=0,Q=0,R=0,S=0.0,T=0.0,U=0.0,V=0.0,W=0.0,X=0.0,Y=0.0,Z=0.0,_=0.0,$=0.0,aa=0.0,ba=0,ca=0.0,da=0.0,ea=0.0,fa=0.0,ga=0.0,ha=0.0,ia=0,ja=0.0,ka=0.0,la=0.0,ma=0.0,na=0.0,oa=0.0,pa=0.0,qa=0.0,ra=0.0,sa=0.0,ta=0.0,ua=0.0,va=0.0,wa=0.0,xa=0.0,ya=0.0,za=0.0,Aa=0.0,Ba=0,Ca=0,Da=0;Da=Ta;Ta=Ta+480|0;c[Da+48>>2]=c[b>>2];c[Da>>2]=c[b+64>>2];k=Da+48+4|0;c[k>>2]=c[b+4>>2];c[Da+4>>2]=c[b+68>>2];e=Da+48+8|0;c[e>>2]=c[b+8>>2];c[Da+8>>2]=c[b+72>>2];G=Da+48+16|0;c[G>>2]=c[b+16>>2];c[Da+16>>2]=c[b+80>>2];B=Da+48+20|0;c[B>>2]=c[b+20>>2];c[Da+20>>2]=c[b+84>>2];R=Da+48+24|0;c[R>>2]=c[b+24>>2];c[Da+24>>2]=c[b+88>>2];F=Da+48+32|0;c[F>>2]=c[b+32>>2];c[Da+32>>2]=c[b+96>>2];m=Da+48+36|0;c[m>>2]=c[b+36>>2];c[Da+36>>2]=c[b+100>>2];g=Da+48+40|0;c[g>>2]=c[b+40>>2];c[Da+40>>2]=c[b+104>>2];Ca=c[a+4>>2]|0;va=+f[Ca+28>>2];wa=+f[Ca+32>>2];ua=+f[Ca+36>>2];sa=+Wa[c[(c[Ca>>2]|0)+48>>2]&31](Ca);ta=+Wa[c[(c[Ca>>2]|0)+48>>2]&31](Ca);ua=(ua+ +Wa[c[(c[Ca>>2]|0)+48>>2]&31](Ca))*2.0;Ca=c[a+8>>2]|0;za=+f[Ca+28>>2];Aa=+f[Ca+32>>2];Y=+f[Ca+36>>2];xa=+Wa[c[(c[Ca>>2]|0)+48>>2]&31](Ca);ya=+Wa[c[(c[Ca>>2]|0)+48>>2]&31](Ca);Y=(Y+ +Wa[c[(c[Ca>>2]|0)+48>>2]&31](Ca))*2.0;aa=+f[b+112>>2]-+f[b+48>>2];da=+f[b+116>>2]-+f[b+52>>2];ca=+f[b+120>>2]-+f[b+56>>2];ra=+f[Da+48>>2];ma=+f[G>>2];na=+f[F>>2];la=+f[k>>2];ja=+f[B>>2];ka=+f[m>>2];L=+f[e>>2];E=+f[R>>2];K=+f[g>>2];f[Da+468>>2]=(va+sa)*2.0*.5;f[Da+468+4>>2]=(wa+ta)*2.0*.5;f[Da+468+8>>2]=ua*.5;f[Da+456>>2]=(za+xa)*2.0*.5;f[Da+456+4>>2]=(Aa+ya)*2.0*.5;f[Da+456+8>>2]=Y*.5;U=+f[Da>>2];S=+f[Da+16>>2];T=+f[Da+32>>2];$=+f[Da+4>>2];Z=+f[Da+20>>2];_=+f[Da+36>>2];qa=+f[Da+8>>2];oa=+f[Da+24>>2];pa=+f[Da+40>>2];M=+r(+(ra*U+ma*S+na*T));V=+r(+(ra*$+ma*Z+na*_));ea=+r(+(ra*qa+ma*oa+na*pa));O=+r(+(la*U+ja*S+ka*T));W=+r(+(la*$+ja*Z+ka*_));fa=+r(+(la*qa+ja*oa+ka*pa));ga=+r(+(L*U+E*S+K*T));ha=+r(+(L*$+E*Z+K*_));X=+r(+(L*qa+E*oa+K*pa));l=+r(+(aa*ra+da*ma+ca*na))-((va+sa)*2.0*.5+(za+xa)*2.0*.5*M+(Aa+ya)*2.0*.5*V+Y*.5*ea);if(l>0.0){Ta=Da;return}if(l>-3402823466385288598117041.0e14){a=1;H=aa*ra+da*ma+ca*na<0.0&1;I=Da+48|0}else{a=0;H=0;I=0;l=-3402823466385288598117041.0e14}i=+r(+(aa*la+da*ja+ca*ka))-((wa+ta)*2.0*.5+(za+xa)*2.0*.5*O+(Aa+ya)*2.0*.5*W+Y*.5*fa);if(i>0.0){Ta=Da;return}if(i>l){a=2;H=aa*la+da*ja+ca*ka<0.0&1;I=k;l=i}i=+r(+(aa*L+da*E+ca*K))-(ua*.5+(za+xa)*2.0*.5*ga+(Aa+ya)*2.0*.5*ha+Y*.5*X);if(i>0.0){Ta=Da;return}if(i>l){a=3;H=aa*L+da*E+ca*K<0.0&1;I=e;l=i}i=+r(+(aa*U+da*S+ca*T))-((za+xa)*2.0*.5+(ua*.5*ga+((va+sa)*2.0*.5*M+(wa+ta)*2.0*.5*O)));if(i>0.0){Ta=Da;return}if(i>l){a=4;H=aa*U+da*S+ca*T<0.0&1;I=Da;l=i}i=+r(+(aa*$+da*Z+ca*_))-((Aa+ya)*2.0*.5+(ua*.5*ha+((va+sa)*2.0*.5*V+(wa+ta)*2.0*.5*W)));if(i>0.0){Ta=Da;return}if(i>l){a=5;H=aa*$+da*Z+ca*_<0.0&1;I=Da+4|0;l=i}i=+r(+(aa*qa+da*oa+ca*pa))-(Y*.5+(ua*.5*X+((va+sa)*2.0*.5*ea+(wa+ta)*2.0*.5*fa)));if(i>0.0){Ta=Da;return}if(i>l){a=6;H=aa*qa+da*oa+ca*pa<0.0&1;I=Da+8|0;l=i}o=(aa*L+da*E+ca*K)*(la*U+ja*S+ka*T)-(aa*la+da*ja+ca*ka)*(L*U+E*S+K*T);q=+r(+o)-(Y*.5*(V+9.999999747378752e-06)+((wa+ta)*2.0*.5*(ga+9.999999747378752e-06)+ua*.5*(O+9.999999747378752e-06)+(Aa+ya)*2.0*.5*(ea+9.999999747378752e-06)));if(q>1.1920928955078125e-07){Ta=Da;return}t=(L*U+E*S+K*T)*(L*U+E*S+K*T)+0.0;A=(la*U+ja*S+ka*T)*(la*U+ja*S+ka*T);p=+s(+(A+t));if(p>1.1920928955078125e-07?q/p*1.0499999523162842>l:0){n=0.0/p;j=-(L*U+E*S+K*T)/p;i=(la*U+ja*S+ka*T)/p;a=7;H=o<0.0&1;I=0;l=q/p}else{n=0.0;j=0.0;i=0.0}o=(aa*L+da*E+ca*K)*(la*$+ja*Z+ka*_)-(aa*la+da*ja+ca*ka)*(L*$+E*Z+K*_);q=+r(+o)-(Y*.5*(M+9.999999747378752e-06)+((wa+ta)*2.0*.5*(ha+9.999999747378752e-06)+ua*.5*(W+9.999999747378752e-06)+(za+xa)*2.0*.5*(ea+9.999999747378752e-06)));if(q>1.1920928955078125e-07){Ta=Da;return}u=(L*$+E*Z+K*_)*(L*$+E*Z+K*_)+0.0;C=(la*$+ja*Z+ka*_)*(la*$+ja*Z+ka*_);p=+s(+(C+u));if(p>1.1920928955078125e-07?q/p*1.0499999523162842>l:0){n=0.0/p;j=-(L*$+E*Z+K*_)/p;i=(la*$+ja*Z+ka*_)/p;a=8;H=o<0.0&1;I=0;l=q/p}o=(aa*L+da*E+ca*K)*(la*qa+ja*oa+ka*pa)-(aa*la+da*ja+ca*ka)*(L*qa+E*oa+K*pa);q=+r(+o)-((Aa+ya)*2.0*.5*(M+9.999999747378752e-06)+((za+xa)*2.0*.5*(V+9.999999747378752e-06)+((wa+ta)*2.0*.5*(X+9.999999747378752e-06)+ua*.5*(fa+9.999999747378752e-06))));if(q>1.1920928955078125e-07){Ta=Da;return}w=(L*qa+E*oa+K*pa)*(L*qa+E*oa+K*pa)+0.0;D=(la*qa+ja*oa+ka*pa)*(la*qa+ja*oa+ka*pa);p=+s(+(D+w));if(p>1.1920928955078125e-07?q/p*1.0499999523162842>l:0){n=0.0/p;j=-(L*qa+E*oa+K*pa)/p;i=(la*qa+ja*oa+ka*pa)/p;a=9;H=o<0.0&1;I=0;l=q/p}o=(aa*ra+da*ma+ca*na)*(L*U+E*S+K*T)-(aa*L+da*E+ca*K)*(ra*U+ma*S+na*T);q=+r(+o)-(Y*.5*(W+9.999999747378752e-06)+((va+sa)*2.0*.5*(ga+9.999999747378752e-06)+ua*.5*(M+9.999999747378752e-06)+(Aa+ya)*2.0*.5*(fa+9.999999747378752e-06)));if(q>1.1920928955078125e-07){Ta=Da;return}x=(ra*U+ma*S+na*T)*(ra*U+ma*S+na*T);p=+s(+(x+t));do if(p>1.1920928955078125e-07){if(!(q/p*1.0499999523162842>l))break;n=(L*U+E*S+K*T)/p;j=0.0/p;i=-(ra*U+ma*S+na*T)/p;a=10;H=o<0.0&1;I=0;l=q/p}while(0);o=(aa*ra+da*ma+ca*na)*(L*$+E*Z+K*_)-(aa*L+da*E+ca*K)*(ra*$+ma*Z+na*_);q=+r(+o)-(Y*.5*(O+9.999999747378752e-06)+((va+sa)*2.0*.5*(ha+9.999999747378752e-06)+ua*.5*(V+9.999999747378752e-06)+(za+xa)*2.0*.5*(fa+9.999999747378752e-06)));if(q>1.1920928955078125e-07){Ta=Da;return}v=(ra*$+ma*Z+na*_)*(ra*$+ma*Z+na*_);p=+s(+(v+u));do if(p>1.1920928955078125e-07){if(!(q/p*1.0499999523162842>l))break;n=(L*$+E*Z+K*_)/p;j=0.0/p;i=-(ra*$+ma*Z+na*_)/p;a=11;H=o<0.0&1;I=0;l=q/p}while(0);o=(aa*ra+da*ma+ca*na)*(L*qa+E*oa+K*pa)-(aa*L+da*E+ca*K)*(ra*qa+ma*oa+na*pa);q=+r(+o)-((Aa+ya)*2.0*.5*(O+9.999999747378752e-06)+((za+xa)*2.0*.5*(W+9.999999747378752e-06)+((va+sa)*2.0*.5*(X+9.999999747378752e-06)+ua*.5*(ea+9.999999747378752e-06))));if(q>1.1920928955078125e-07){Ta=Da;return}t=(ra*qa+ma*oa+na*pa)*(ra*qa+ma*oa+na*pa);p=+s(+(t+w));do if(p>1.1920928955078125e-07){if(!(q/p*1.0499999523162842>l))break;n=(L*qa+E*oa+K*pa)/p;j=0.0/p;i=-(ra*qa+ma*oa+na*pa)/p;a=12;H=o<0.0&1;I=0;l=q/p}while(0);p=(aa*la+da*ja+ca*ka)*(ra*U+ma*S+na*T)-(aa*ra+da*ma+ca*na)*(la*U+ja*S+ka*T);q=+r(+p)-(Y*.5*(ha+9.999999747378752e-06)+((va+sa)*2.0*.5*(O+9.999999747378752e-06)+(wa+ta)*2.0*.5*(M+9.999999747378752e-06)+(Aa+ya)*2.0*.5*(X+9.999999747378752e-06)));if(q>1.1920928955078125e-07){Ta=Da;return}o=+s(+(A+x+0.0));do if(o>1.1920928955078125e-07){if(!(q/o*1.0499999523162842>l))break;n=-(la*U+ja*S+ka*T)/o;j=(ra*U+ma*S+na*T)/o;i=0.0/o;a=13;H=p<0.0&1;I=0;l=q/o}while(0);q=(aa*la+da*ja+ca*ka)*(ra*$+ma*Z+na*_)-(aa*ra+da*ma+ca*na)*(la*$+ja*Z+ka*_);p=+r(+q)-(Y*.5*(ga+9.999999747378752e-06)+((va+sa)*2.0*.5*(W+9.999999747378752e-06)+(wa+ta)*2.0*.5*(V+9.999999747378752e-06)+(za+xa)*2.0*.5*(X+9.999999747378752e-06)));if(p>1.1920928955078125e-07){Ta=Da;return}o=+s(+(C+v+0.0));do if(o>1.1920928955078125e-07){if(!(p/o*1.0499999523162842>l))break;n=-(la*$+ja*Z+ka*_)/o;j=(ra*$+ma*Z+na*_)/o;i=0.0/o;a=14;H=q<0.0&1;I=0;l=p/o}while(0);q=(aa*la+da*ja+ca*ka)*(ra*qa+ma*oa+na*pa)-(aa*ra+da*ma+ca*na)*(la*qa+ja*oa+ka*pa);p=+r(+q)-((Aa+ya)*2.0*.5*(ga+9.999999747378752e-06)+((za+xa)*2.0*.5*(ha+9.999999747378752e-06)+((va+sa)*2.0*.5*(fa+9.999999747378752e-06)+(wa+ta)*2.0*.5*(ea+9.999999747378752e-06))));if(p>1.1920928955078125e-07){Ta=Da;return}o=+s(+(D+t+0.0));do if(o>1.1920928955078125e-07){if(!(p/o*1.0499999523162842>l)){P=55;break}n=-(la*qa+ja*oa+ka*pa)/o;j=(ra*qa+ma*oa+na*pa)/o;i=0.0/o;a=15;H=q<0.0&1;l=p/o;P=58}else P=55;while(0);do if((P|0)==55){if(!a){Ta=Da;return}if(!I){P=58;break}Ba=c[I>>2]|0;Ca=c[I+16>>2]|0;J=c[I+32>>2]|0;i=(c[h>>2]=Ba,+f[h>>2]);j=(c[h>>2]=Ca,+f[h>>2]);n=(c[h>>2]=J,+f[h>>2]);Q=a;a=Ba;I=Ca;O=l}while(0);if((P|0)==58){qa=ra*n+j*+f[k>>2]+i*+f[e>>2];J=(f[h>>2]=qa,c[h>>2]|0);ra=n*+f[G>>2]+j*+f[B>>2]+i*+f[R>>2];I=(f[h>>2]=ra,c[h>>2]|0);O=n*+f[F>>2]+j*+f[m>>2]+i*+f[g>>2];i=qa;j=ra;n=O;Q=a;a=J;J=(f[h>>2]=O,c[h>>2]|0);O=l}if(H){a=(f[h>>2]=-i,c[h>>2]|0);I=(f[h>>2]=-j,c[h>>2]|0);J=(f[h>>2]=-n,c[h>>2]|0)}if((Q|0)>6){M=(c[h>>2]=a,+f[h>>2]);L=(c[h>>2]=I,+f[h>>2]);K=(c[h>>2]=J,+f[h>>2]);u=+f[Da+48>>2];w=+f[G>>2];o=+f[F>>2];i=(u*M+w*L+o*K>0.0?1.0:-1.0)*((va+sa)*2.0*.5);j=+f[k>>2];v=+f[B>>2];t=+f[m>>2];x=(j*M+v*L+t*K>0.0?1.0:-1.0)*((wa+ta)*2.0*.5);E=+f[e>>2];C=+f[R>>2];D=+f[g>>2];l=(E*M+C*L+D*K>0.0?1.0:-1.0)*(ua*.5);E=+f[b+48>>2]+i*u+x*j+l*E;C=+f[b+52>>2]+i*w+x*v+l*C;D=+f[b+56>>2]+i*o+x*t+l*D;c[Da+352>>2]=c[b+112>>2];c[Da+352+4>>2]=c[b+112+4>>2];c[Da+352+8>>2]=c[b+112+8>>2];l=+f[Da>>2];t=+f[Da+16>>2];x=+f[Da+32>>2];o=(l*M+t*L+x*K>0.0?-1.0:1.0)*((za+xa)*2.0*.5);i=+f[Da+4>>2];v=+f[Da+20>>2];w=+f[Da+36>>2];j=(i*M+v*L+w*K>0.0?-1.0:1.0)*((Aa+ya)*2.0*.5);v=+f[Da+352+4>>2]+o*t+j*v;w=+f[Da+352+8>>2]+o*x+j*w;x=+f[Da+8>>2];t=+f[Da+24>>2];u=+f[Da+40>>2];A=(x*M+t*L+u*K>0.0?-1.0:1.0)*+f[Da+456+8>>2];x=+f[Da+352>>2]+o*l+j*i+A*x;f[Da+352>>2]=x;f[Da+352+4>>2]=v+A*t;f[Da+352+8>>2]=w+A*u;Ca=Q+-7|0;i=+f[Da+48+(((Ca|0)/3|0)<<2)>>2];j=+f[Da+48+(((Ca|0)/3|0)+4<<2)>>2];l=+f[Da+48+(((Ca|0)/3|0)+8<<2)>>2];Ca=Ca+(z((Ca|0)/3|0,-3)|0)|0;o=+f[Da+(Ca<<2)>>2];p=+f[Da+(Ca+4<<2)>>2];q=+f[Da+(Ca+8<<2)>>2];n=1.0-(i*o+j*p+l*q)*(i*o+j*p+l*q);if(!(n<=9.999999747378752e-05))i=(((x-E)*i+(v+A*t-C)*j+(w+A*u-D)*l)*(i*o+j*p+l*q)-((x-E)*o+(v+A*t-C)*p+(w+A*u-D)*q))*(1.0/n);else i=0.0;f[Da+352>>2]=x+i*o;f[Da+352+4>>2]=v+A*t+i*p;f[Da+352+8>>2]=w+A*u+i*q;Ca=c[(c[d>>2]|0)+16>>2]|0;f[Da+320>>2]=-M;f[Da+320+4>>2]=-L;f[Da+320+8>>2]=-K;f[Da+320+12>>2]=0.0;Ab[Ca&31](d,Da+320|0,Da+352|0,O);Ta=Da;return}Ba=(Q|0)<4;fa=(c[h>>2]=a,+f[h>>2]);if(Ba){da=(c[h>>2]=I,+f[h>>2]);ea=(c[h>>2]=J,+f[h>>2]);N=Da+48|0;G=Da+16|0;F=Da+32|0;ia=Da;ba=Da+468|0;P=Da+456|0;B=Da+20|0;m=Da+36|0;k=Da+4|0;a=Da+24|0;g=Da+40|0;e=Da+8|0;ca=fa;Ca=b+48|0;H=b+112|0}else{da=-(c[h>>2]=I,+f[h>>2]);ea=-(c[h>>2]=J,+f[h>>2]);N=Da;ia=Da+48|0;ba=Da+456|0;P=Da+468|0;a=R;ca=-fa;Ca=b+112|0;H=b+48|0}x=ca*+f[ia>>2]+da*+f[G>>2]+ea*+f[F>>2];f[Da+440>>2]=x;A=ca*+f[k>>2]+da*+f[B>>2]+ea*+f[m>>2];f[Da+440+4>>2]=A;C=ca*+f[e>>2]+da*+f[a>>2]+ea*+f[g>>2];f[Da+440+8>>2]=C;x=+r(+x);A=+r(+A);C=+r(+C);e=A>x?(A>C?1:2):x>C?0:2;b=(A>x?A>C:x>C)?2:1;l=+f[P+(e<<2)>>2];j=+f[H>>2]-+f[Ca>>2];i=l*+f[ia+(e<<2)>>2];if(+f[Da+440+(e<<2)>>2]<0.0){$=j+i;aa=+f[H+4>>2]-+f[Ca+4>>2]+l*+f[ia+((e|4)<<2)>>2];_=+f[H+8>>2]-+f[Ca+8>>2]+l*+f[ia+((e|8)<<2)>>2]}else{$=j-i;aa=+f[H+4>>2]-+f[Ca+4>>2]-l*+f[ia+((e|4)<<2)>>2];_=+f[H+8>>2]-+f[Ca+8>>2]-l*+f[ia+((e|8)<<2)>>2]}Q=(Ba?-1:-4)+Q|0;switch(Q|0){case 0:{e=1;g=2;break}case 1:{e=0;g=2;break}default:{e=0;g=1}}R=N+(e<<2)|0;Y=+f[R>>2];W=+f[R+16>>2];X=+f[R+32>>2];Z=$*Y+aa*W+_*X;N=N+(g<<2)|0;K=+f[N>>2];D=+f[N+16>>2];E=+f[N+32>>2];V=$*K+aa*D+_*E;N=ia+((x>C&(A>x^1)&1)<<2)|0;O=+f[N>>2];L=+f[N+16>>2];M=+f[N+32>>2];R=ia+(b<<2)|0;U=+f[R>>2];S=+f[R+16>>2];T=+f[R+32>>2];w=+f[P+((x>C&(A>x^1)&1)<<2)>>2];v=+f[P+(b<<2)>>2];u=(Y*U+W*S+X*T)*v;v=(K*U+D*S+E*T)*v;q=Z-(Y*O+W*L+X*M)*w-u;t=V-(K*O+D*L+E*M)*w-v;l=Z-(Y*O+W*L+X*M)*w+u;f[Da+416>>2]=l;n=V-(K*O+D*L+E*M)*w+v;o=Z+(Y*O+W*L+X*M)*w+u;p=V+(K*O+D*L+E*M)*w+v;u=Z+(Y*O+W*L+X*M)*w-u;v=V+(K*O+D*L+E*M)*w-v;G=c[ba+(e<<2)>>2]|0;H=c[ba+(g<<2)>>2]|0;w=(c[h>>2]=G,+f[h>>2]);do if(!(w>-q))if(w>-l){a=1;i=-l;e=1;g=Da+256|0;P=78}else{j=l;i=-l;e=0;g=Da+256|0;P=153}else{f[Da+256>>2]=q;f[Da+256+4>>2]=t;if(!(w>-l)){a=w>-l;i=-l;e=2;g=Da+256+8|0;P=78;break}f[Da+256+8>>2]=l;f[Da+256+8+4>>2]=n;e=2;g=Da+256+8|0;P=152}while(0);do if((P|0)==78){f[g+4>>2]=t+(-w-q)*((n-t)/(l-q));f[g>>2]=-w;g=g+8|0;if(!a){j=l;P=153;break}f[g>>2]=l;f[g+4>>2]=n;if(!(e+1&8)){e=e+1|0;P=152}else{e=e+1|0;P=102}}while(0);if((P|0)==152){i=+f[Da+416>>2];j=i;i=-i;g=g+8|0;P=153}a:do if((P|0)==153){if(i-o){f[g+4>>2]=n+(-w-j)*((p-n)/(o-j));f[g>>2]=-w;e=e+1|0;if(!(e&8))g=g+8|0;else{P=102;break}}if(w>-o){f[g>>2]=o;f[g+4>>2]=p;e=e+1|0;if(e&8|0){P=102;break}g=g+8|0;if(w>-o^w>-u){a=w>-u;P=159}else{a=w>-u;P=161}}else if(w>-o^w>-u){a=w>-u;P=159}else{a=w>-u;P=161}if((P|0)==159){f[g+4>>2]=p+(-w-o)*((v-p)/(u-o));f[g>>2]=-w;e=e+1|0;if(e&8|0){P=102;break}g=g+8|0;if(a)P=162;else P=163}else if((P|0)==161)if(a)P=162;else P=163;do if((P|0)==162){f[g>>2]=u;f[g+4>>2]=v;e=e+1|0;if(e&8|0){P=102;break a}if(a^w>-q){g=g+8|0;P=165}else P=167}else if((P|0)==163){if(w>-q){P=165;break}if((e|0)>0)P=167;else{e=0;P=79}}while(0);if((P|0)==165){f[g+4>>2]=v+(-w-u)*((t-v)/(q-u));f[g>>2]=-w;e=e+1|0;if(!(e&8))P=167;else{P=102;break}}b:do if((P|0)==167){B=e;e=0;F=Da+256|0;g=Da+352|0;while(1){i=+f[F>>2];if(i>2]=i;c[g+4>>2]=c[F+4>>2];e=e+1|0;if(e&8|0){P=79;break b}i=+f[F>>2];g=g+8|0}m=(B|0)>1;k=F;F=F+8|0;a=m?F:Da+256|0;j=+f[a>>2];if(i>2];f[g+4>>2]=Aa+(w-i)*((+f[a+4>>2]-Aa)/(j-i));c[g>>2]=G;e=e+1|0;if(!(e&8))g=g+8|0;else{P=79;break b}}if(!m)break;else B=B+-1|0}if((e|0)<=0){e=0;P=79;break}n=(c[h>>2]=H,+f[h>>2]);g=0;F=Da+352|0;a=Da+256|0;while(1){k=F+4|0;i=+f[k>>2];if(n>-i){c[a>>2]=c[F>>2];c[a+4>>2]=c[k>>2];g=g+1|0;if(g&8|0){e=g;break b}j=+f[k>>2];l=j;j=-j;a=a+8|0}else{l=i;j=-i}B=(e|0)>1;m=F;F=F+8|0;k=B?F:Da+352|0;i=+f[k+4>>2];if(j-i){Aa=+f[m>>2];f[a>>2]=Aa+(-n-l)*((+f[k>>2]-Aa)/(i-l));f[a+4>>2]=-n;g=g+1|0;if(!(g&8))a=a+8|0;else{e=g;break b}}if(!B)break;else e=e+-1|0}if((g|0)<=0){e=0;P=79;break}e=0;F=Da+256|0;a=Da+352|0;while(1){k=F+4|0;i=+f[k>>2];if(i>2]=c[F>>2];c[a+4>>2]=c[k>>2];e=e+1|0;if(e&8|0){P=79;break b}i=+f[k>>2];a=a+8|0}B=(g|0)>1;m=F;F=F+8|0;k=B?F:Da+256|0;j=+f[k+4>>2];if(i>2];f[a>>2]=Aa+(n-i)*((+f[k>>2]-Aa)/(j-i));c[a+4>>2]=H;e=e+1|0;if(!(e&8))a=a+8|0;else{P=79;break b}}if(!B){P=79;break}else g=g+-1|0}}while(0);if((P|0)==79)oi(Da+256|0,Da+352|0,e<<3|0)|0;if((e|0)>=1)P=104}while(0);if((P|0)==102)P=104;if((P|0)==104){v=1.0/((Y*O+W*L+X*M)*(K*U+D*S+E*T)-(K*O+D*L+E*M)*(Y*U+W*S+X*T));u=+f[ba+(Q<<2)>>2];t=+f[N>>2];o=+f[R>>2];p=+f[ia+((x>C&(A>x^1)&1|4)<<2)>>2];q=+f[ia+((b|4)<<2)>>2];n=+f[ia+((x>C&(A>x^1)&1|8)<<2)>>2];l=+f[ia+((b|8)<<2)>>2];B=0;a=0;do{g=a<<1;i=+f[Da+256+(g<<2)>>2];j=+f[Da+256+((g|1)<<2)>>2];xa=(K*U+D*S+E*T)*v*(i-Z)-(Y*U+W*S+X*T)*v*(j-V);Aa=(Y*O+W*L+X*M)*v*(j-V)-(K*O+D*L+E*M)*v*(i-Z);g=B*3|0;ya=$+xa*t+Aa*o;f[Da+160+(g<<2)>>2]=ya;za=aa+xa*p+Aa*q;f[Da+160+(g+1<<2)>>2]=za;Aa=_+xa*n+Aa*l;f[Da+160+(g+2<<2)>>2]=Aa;Aa=u-(ca*ya+da*za+ea*Aa);f[Da+128+(B<<2)>>2]=Aa;g=B<<1;if(Aa>=0.0){f[Da+256+(g<<2)>>2]=i;f[Da+256+((g|1)<<2)>>2]=j;B=B+1|0}a=a+1|0}while((a|0)!=(e|0));c:do if((B|0)>=1){G=(B|0)<4?B:4;H=(G|0)>1?G:1;if((B|0)<=(H|0))if(Ba){g=Ca+4|0;a=Ca+8|0;j=-(c[h>>2]=I,+f[h>>2]);i=-(c[h>>2]=J,+f[h>>2]);e=0;while(1){Ba=e*3|0;f[Da+352>>2]=+f[Da+160+(Ba<<2)>>2]+ +f[Ca>>2];f[Da+352+4>>2]=+f[Da+160+(Ba+1<<2)>>2]+ +f[g>>2];f[Da+352+8>>2]=+f[Da+160+(Ba+2<<2)>>2]+ +f[a>>2];Ba=c[(c[d>>2]|0)+16>>2]|0;f[Da+320>>2]=-fa;f[Da+320+4>>2]=j;f[Da+320+8>>2]=i;f[Da+320+12>>2]=0.0;Ab[Ba&31](d,Da+320|0,Da+352|0,-+f[Da+128+(e<<2)>>2]);e=e+1|0;if((e|0)==(B|0))break c}}else{g=Ca+4|0;a=Ca+8|0;j=(c[h>>2]=I,+f[h>>2]);i=(c[h>>2]=J,+f[h>>2]);e=0;while(1){Ba=e*3|0;Aa=+f[Da+128+(e<<2)>>2];f[Da+352>>2]=+f[Da+160+(Ba<<2)>>2]+ +f[Ca>>2]-Aa*fa;f[Da+352+4>>2]=+f[Da+160+(Ba+1<<2)>>2]+ +f[g>>2]-Aa*j;f[Da+352+8>>2]=+f[Da+160+(Ba+2<<2)>>2]+ +f[a>>2]-Aa*i;Ba=c[(c[d>>2]|0)+16>>2]|0;f[Da+320>>2]=-fa;f[Da+320+4>>2]=-j;f[Da+320+8>>2]=-i;f[Da+320+12>>2]=0.0;Ab[Ba&31](d,Da+320|0,Da+352|0,-Aa);e=e+1|0;if((e|0)==(B|0))break c}}d:do if((B|0)>1){g=1;k=0;j=+f[Da+128>>2];while(1){i=+f[Da+128+(g<<2)>>2];e=i>j;k=e?g:k;g=g+1|0;if((g|0)==(B|0))break;else j=e?i:j}switch(B|0){case 1:{e=Da+96|0;g=Da+96|0;a=1;P=120;break d}case 2:{e=Da+96|0;g=Da+96|0;a=2;j=(+f[Da+256>>2]+ +f[Da+256+8>>2])*.5;i=(+f[Da+256+4>>2]+ +f[Da+256+12>>2])*.5;P=124;break d}default:{}}g=B+-1|0;i=0.0;j=0.0;q=0.0;e=0;do{ia=e<<1;xa=+f[Da+256+(ia<<2)>>2];ya=+f[Da+256+(ia+3<<2)>>2];za=+f[Da+256+(ia+2<<2)>>2];Aa=+f[Da+256+((ia|1)<<2)>>2];i=i+(xa*ya-za*Aa);j=j+(xa+za)*(xa*ya-za*Aa);q=q+(ya+Aa)*(xa*ya-za*Aa);e=e+1|0}while((e|0)!=(g|0));ia=B<<1;l=+f[Da+256+(ia+-2<<2)>>2];n=+f[Da+256+4>>2];o=+f[Da+256>>2];p=+f[Da+256+(ia+-1<<2)>>2];i=i+(l*n-o*p);ia=+r(+i)>1.1920928955078125e-07;i=ia?1.0/(i*3.0):999999984306749440.0;if((B|0)>0){m=Da+96|0;F=Da+352|0;g=Da+96|0;a=B;j=(j+(l+o)*(l*n-o*p))*i;i=(q+(n+p)*(l*n-o*p))*i;P=127;break}g=Da+96|0;e=0}else{e=Da+96|0;g=Da+96|0;a=B;k=0;P=120}while(0);if((P|0)==120){j=+f[Da+256>>2];i=+f[Da+256+4>>2];P=124}if((P|0)==124){m=e;F=Da+352|0;P=127}if((P|0)==127){e=0;do{ia=e<<1;f[Da+352+(e<<2)>>2]=+y(+(+f[Da+256+((ia|1)<<2)>>2]-i),+(+f[Da+256+(ia<<2)>>2]-j));e=e+1|0}while((e|0)!=(a|0));e=0;do{c[Da+320+(e<<2)>>2]=1;e=e+1|0}while((e|0)!=(a|0));e=1;B=a}a=Da+320+(k<<2)|0;c[a>>2]=0;c[g>>2]=k;e:do if((G|0)>1){n=+f[Da+352+(k<<2)>>2];if(!e){e=Da+96+4|0;g=1;while(1){c[e>>2]=k;c[a>>2]=0;g=g+1|0;if((g|0)==(H|0))break e;else e=e+4|0}}a=Da+96+4|0;m=1;while(1){l=6.2831854820251465/+(H|0)*+(m|0)+n;l=l>3.1415927410125732?l+-6.2831854820251465:l;c[a>>2]=k;e=k;g=0;j=1.0e9;while(1){do if(!(c[Da+320+(g<<2)>>2]|0))i=j;else{i=+r(+(+f[Da+352+(g<<2)>>2]-l));i=i>3.1415927410125732?6.2831854820251465-i:i;if(!(i>2]=g;e=g}while(0);g=g+1|0;if((g|0)==(B|0))break;else j=i}c[Da+320+(e<<2)>>2]=0;m=m+1|0;if((m|0)==(H|0))break;else a=a+4|0}}while(0);if((H|0)>0){g=Ca+4|0;a=Ca+8|0;j=(c[h>>2]=I,+f[h>>2]);i=(c[h>>2]=J,+f[h>>2]);if(Ba){e=0;do{Ba=c[Da+96+(e<<2)>>2]|0;f[Da+352>>2]=+f[Da+160+(Ba*3<<2)>>2]+ +f[Ca>>2];f[Da+352+4>>2]=+f[Da+160+((Ba*3|0)+1<<2)>>2]+ +f[g>>2];f[Da+352+8>>2]=+f[Da+160+((Ba*3|0)+2<<2)>>2]+ +f[a>>2];ia=c[(c[d>>2]|0)+16>>2]|0;f[Da+320>>2]=-fa;f[Da+320+4>>2]=-j;f[Da+320+8>>2]=-i;f[Da+320+12>>2]=0.0;Ab[ia&31](d,Da+320|0,Da+352|0,-+f[Da+128+(Ba<<2)>>2]);e=e+1|0}while(e>>>0>>0)}else{e=0;do{ia=c[Da+96+(e<<2)>>2]|0;xa=+f[Da+160+(ia*3<<2)>>2]+ +f[Ca>>2];f[Da+352>>2]=xa;ya=+f[Da+160+((ia*3|0)+1<<2)>>2]+ +f[g>>2];f[Da+352+4>>2]=ya;za=+f[Da+160+((ia*3|0)+2<<2)>>2]+ +f[a>>2];f[Da+352+8>>2]=za;Ba=c[(c[d>>2]|0)+16>>2]|0;f[Da+320>>2]=-fa;f[Da+320+4>>2]=-j;f[Da+320+8>>2]=-i;f[Da+320+12>>2]=0.0;Aa=+f[Da+128+(ia<<2)>>2];f[Da+424>>2]=xa-Aa*fa;f[Da+424+4>>2]=ya-Aa*j;f[Da+424+8>>2]=za-Aa*i;f[Da+424+12>>2]=0.0;Ab[Ba&31](d,Da+320|0,Da+424|0,-Aa);e=e+1|0}while(e>>>0>>0)}}}while(0)}Ta=Da;return}function Yb(b,d,e,g){b=b|0;d=d|0;e=e|0;g=+g;var i=0,j=0.0,k=0.0,l=0.0,m=0.0,n=0.0,o=0,p=0,q=0.0,r=0,t=0.0,u=0.0,v=0.0,w=0.0,x=0,y=0,z=0.0,A=0.0,B=0.0,C=0.0,D=0.0,E=0.0,F=0.0,G=0.0,H=0.0,I=0.0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0.0,R=0.0,S=0.0,T=0.0,U=0.0,V=0.0,W=0.0,X=0.0,Y=0.0,Z=0.0,_=0.0,$=0.0,aa=0.0;P=Ta;Ta=Ta+448|0;if(!(a[b+527>>0]|0)){Ta=P;return}J=c[b+28>>2]|0;I=+f[b+348>>2];H=+f[b+352>>2];B=+f[b+356>>2];k=+f[J+52>>2];z=I*+f[J+4>>2]+H*+f[J+8>>2]+B*+f[J+12>>2]+k;l=+f[J+56>>2];D=I*+f[J+20>>2]+H*+f[J+24>>2]+B*+f[J+28>>2]+l;m=+f[J+60>>2];B=I*+f[J+36>>2]+H*+f[J+40>>2]+B*+f[J+44>>2]+m;K=c[b+32>>2]|0;H=+f[b+412>>2];I=+f[b+416>>2];C=+f[b+420>>2];n=+f[K+52>>2];A=H*+f[K+4>>2]+I*+f[K+8>>2]+C*+f[K+12>>2]+n;q=+f[K+56>>2];E=H*+f[K+20>>2]+I*+f[K+24>>2]+C*+f[K+28>>2]+q;t=+f[K+60>>2];C=H*+f[K+36>>2]+I*+f[K+40>>2]+C*+f[K+44>>2]+t;if(!(a[b+524>>0]|0)){v=+f[d+192>>2]+ +f[d+80>>2];w=+f[d+196>>2]+ +f[d+84>>2];u=+f[d+200>>2]+ +f[d+88>>2];H=+f[e+192>>2]+ +f[e+80>>2];G=+f[e+196>>2]+ +f[e+84>>2];I=+f[e+200>>2]+ +f[e+88>>2];F=+f[d+176>>2]+ +f[d+64>>2]+((B-m)*w-(D-l)*u)-(+f[e+176>>2]+ +f[e+64>>2]+((C-t)*G-(E-q)*I));I=+f[d+180>>2]+ +f[d+68>>2]+((z-k)*u-(B-m)*v)-(+f[e+180>>2]+ +f[e+68>>2]+((A-n)*I-(C-t)*H));G=+f[d+184>>2]+ +f[d+72>>2]+((D-l)*v-(z-k)*w)-(+f[e+184>>2]+ +f[e+72>>2]+((E-q)*H-(A-n)*G));y=(c[d+240>>2]|0)==0;x=(c[e+240>>2]|0)==0;r=0;do{w=1.0/+f[b+48+(r*84|0)+80>>2];i=b+48+(r*84|0)|0;v=+f[i>>2];p=b+48+(r*84|0)+4|0;u=+f[p>>2];o=b+48+(r*84|0)+8|0;H=+f[o>>2];H=w*(((z-A)*v+(D-E)*u+(B-C)*H)*-.30000001192092896/g)-w*(F*v+I*u+G*H);f[b+36>>2]=+f[b+36>>2]+H;u=+f[o>>2];v=+f[p>>2];w=+f[i>>2];j=+f[J+344>>2];if(!y){S=((D-l)*u-(B-m)*v)*+f[J+296>>2]+((B-m)*w-(z-k)*u)*+f[J+300>>2]+((z-k)*v-(D-l)*w)*+f[J+304>>2];Q=((D-l)*u-(B-m)*v)*+f[J+280>>2]+((B-m)*w-(z-k)*u)*+f[J+284>>2]+((z-k)*v-(D-l)*w)*+f[J+288>>2];R=((D-l)*u-(B-m)*v)*+f[J+264>>2]+((B-m)*w-(z-k)*u)*+f[J+268>>2]+((z-k)*v-(D-l)*w)*+f[J+272>>2];U=H*(v*j)*+f[d+116>>2];T=H*(u*j)*+f[d+120>>2];f[d+64>>2]=H*(w*j)*+f[d+112>>2]+ +f[d+64>>2];f[d+68>>2]=U+ +f[d+68>>2];f[d+72>>2]=T+ +f[d+72>>2];Q=Q*(H*+f[d+100>>2]);j=S*(H*+f[d+104>>2]);f[d+80>>2]=R*(H*+f[d+96>>2])+ +f[d+80>>2];f[d+84>>2]=Q+ +f[d+84>>2];f[d+88>>2]=j+ +f[d+88>>2]}j=+f[K+344>>2];if(!x){U=((E-q)*u-(C-t)*v)*+f[K+296>>2]+((C-t)*w-(A-n)*u)*+f[K+300>>2]+((A-n)*v-(E-q)*w)*+f[K+304>>2];T=((E-q)*u-(C-t)*v)*+f[K+280>>2]+((C-t)*w-(A-n)*u)*+f[K+284>>2]+((A-n)*v-(E-q)*w)*+f[K+288>>2];S=((E-q)*u-(C-t)*v)*+f[K+264>>2]+((C-t)*w-(A-n)*u)*+f[K+268>>2]+((A-n)*v-(E-q)*w)*+f[K+272>>2];Q=j*+f[p>>2]*-H*+f[e+116>>2];R=j*+f[o>>2]*-H*+f[e+120>>2];f[e+64>>2]=+f[e+112>>2]*(j*+f[i>>2]*-H)+ +f[e+64>>2];f[e+68>>2]=Q+ +f[e+68>>2];f[e+72>>2]=R+ +f[e+72>>2];T=T*(+f[e+100>>2]*-H);U=U*(+f[e+104>>2]*-H);f[e+80>>2]=S*(+f[e+96>>2]*-H)+ +f[e+80>>2];f[e+84>>2]=T+ +f[e+84>>2];f[e+88>>2]=U+ +f[e+88>>2]}r=r+1|0}while((r|0)!=3)}do if(!(a[b+552>>0]|0)){j=+f[b+440>>2];if(!(j>1.1920928955078125e-07)){r=e+192|0;i=d+192|0;y=e+200|0;p=d+200|0;M=e+88|0;J=d+88|0;N=e+80|0;K=d+80|0;x=e+196|0;o=d+196|0;O=e+84|0;L=d+84|0;break}u=+f[d+80>>2];v=+f[d+84>>2];w=+f[d+88>>2];k=+f[e+192>>2]+ +f[e+80>>2]-(+f[d+192>>2]+u);n=+f[e+196>>2]+ +f[e+84>>2]-(+f[d+196>>2]+v);t=+f[e+200>>2]+ +f[e+88>>2]-(+f[d+200>>2]+w);if(k*k+n*n+t*t>1.1920928955078125e-07){m=1.0/+s(+(k*k+n*n+t*t));z=+f[J+264>>2];A=+f[J+280>>2];B=+f[J+296>>2];C=+f[J+268>>2];D=+f[J+284>>2];E=+f[J+300>>2];F=+f[J+272>>2];G=+f[J+288>>2];q=+f[J+304>>2];j=j*(1.0/(k*m*(k*m*z+n*m*A+t*m*B)+n*m*(k*m*C+n*m*D+t*m*E)+t*m*(k*m*F+n*m*G+t*m*q)+(k*m*(k*m*+f[K+264>>2]+n*m*+f[K+280>>2]+t*m*+f[K+296>>2])+n*m*(k*m*+f[K+268>>2]+n*m*+f[K+284>>2]+t*m*+f[K+300>>2])+t*m*(k*m*+f[K+272>>2]+n*m*+f[K+288>>2]+t*m*+f[K+304>>2]))));m=+s(+(t*j*(t*j)+(k*j*(k*j)+n*j*(n*j))));l=k*j*(1.0/m);k=n*j*(1.0/m);j=t*j*(1.0/m);if(c[d+240>>2]|0){U=m*0.0*+f[d+116>>2];T=m*0.0*+f[d+120>>2];f[d+64>>2]=m*0.0*+f[d+112>>2]+ +f[d+64>>2];f[d+68>>2]=U+ +f[d+68>>2];f[d+72>>2]=T+ +f[d+72>>2];T=(l*A+k*D+j*G)*(m*+f[d+100>>2]);U=(l*B+k*E+j*q)*(m*+f[d+104>>2]);f[d+80>>2]=u+(l*z+k*C+j*F)*(m*+f[d+96>>2]);f[d+84>>2]=v+T;f[d+88>>2]=w+U}if(c[e+240>>2]|0){U=l*+f[K+296>>2]+k*+f[K+300>>2]+j*+f[K+304>>2];T=l*+f[K+280>>2]+k*+f[K+284>>2]+j*+f[K+288>>2];S=l*+f[K+264>>2]+k*+f[K+268>>2]+j*+f[K+272>>2];Q=m*-0.0*+f[e+116>>2];R=m*-0.0*+f[e+120>>2];f[e+64>>2]=m*-0.0*+f[e+112>>2]+ +f[e+64>>2];f[e+68>>2]=Q+ +f[e+68>>2];f[e+72>>2]=R+ +f[e+72>>2];T=T*(+f[e+100>>2]*-m);U=U*(+f[e+104>>2]*-m);f[e+80>>2]=S*(+f[e+96>>2]*-m)+ +f[e+80>>2];f[e+84>>2]=T+ +f[e+84>>2];f[e+88>>2]=U+ +f[e+88>>2];r=e+192|0;i=d+192|0;y=e+200|0;p=d+200|0;M=e+88|0;J=d+88|0;N=e+80|0;K=d+80|0;x=e+196|0;o=d+196|0;O=e+84|0;L=d+84|0}else{r=e+192|0;i=d+192|0;y=e+200|0;p=d+200|0;M=e+88|0;J=d+88|0;N=e+80|0;K=d+80|0;x=e+196|0;o=d+196|0;O=e+84|0;L=d+84|0}}else{r=e+192|0;i=d+192|0;y=e+200|0;p=d+200|0;M=e+88|0;J=d+88|0;N=e+80|0;K=d+80|0;x=e+196|0;o=d+196|0;O=e+84|0;L=d+84|0}}else{c[P+352>>2]=c[J+4>>2];c[P+352+4>>2]=c[J+4+4>>2];c[P+352+8>>2]=c[J+4+8>>2];c[P+352+12>>2]=c[J+4+12>>2];c[P+352+16>>2]=c[J+20>>2];c[P+352+16+4>>2]=c[J+20+4>>2];c[P+352+16+8>>2]=c[J+20+8>>2];c[P+352+16+12>>2]=c[J+20+12>>2];c[P+352+32>>2]=c[J+36>>2];c[P+352+32+4>>2]=c[J+36+4>>2];c[P+352+32+8>>2]=c[J+36+8>>2];c[P+352+32+12>>2]=c[J+36+12>>2];c[P+352+48>>2]=c[J+52>>2];c[P+352+48+4>>2]=c[J+52+4>>2];c[P+352+48+8>>2]=c[J+52+8>>2];c[P+352+48+12>>2]=c[J+52+12>>2];c[P+288>>2]=c[K+4>>2];c[P+288+4>>2]=c[K+4+4>>2];c[P+288+8>>2]=c[K+4+8>>2];c[P+288+12>>2]=c[K+4+12>>2];c[P+288+16>>2]=c[K+20>>2];c[P+288+16+4>>2]=c[K+20+4>>2];c[P+288+16+8>>2]=c[K+20+8>>2];c[P+288+16+12>>2]=c[K+20+12>>2];c[P+288+32>>2]=c[K+36>>2];c[P+288+32+4>>2]=c[K+36+4>>2];c[P+288+32+8>>2]=c[K+36+8>>2];c[P+288+32+12>>2]=c[K+36+12>>2];c[P+288+48>>2]=c[K+52>>2];c[P+288+48+4>>2]=c[K+52+4>>2];c[P+288+48+8>>2]=c[K+52+8>>2];c[P+288+48+12>>2]=c[K+52+12>>2];S=+f[d+196>>2]+ +f[d+84>>2];u=+f[d+200>>2]+ +f[d+88>>2];f[P+272>>2]=+f[d+192>>2]+ +f[d+80>>2];f[P+272+4>>2]=S;f[P+272+8>>2]=u;f[P+272+12>>2]=0.0;u=+f[e+196>>2]+ +f[e+84>>2];S=+f[e+200>>2]+ +f[e+88>>2];f[P+256>>2]=+f[e+192>>2]+ +f[e+80>>2];f[P+256+4>>2]=u;f[P+256+8>>2]=S;f[P+256+12>>2]=0.0;c[P+192>>2]=1065353216;N=P+192+4|0;c[N>>2]=0;c[N+4>>2]=0;c[N+8>>2]=0;c[N+12>>2]=0;c[P+192+20>>2]=1065353216;O=P+192+24|0;c[O>>2]=0;c[O+4>>2]=0;c[O+8>>2]=0;c[O+12>>2]=0;c[P+192+40>>2]=1065353216;L=P+192+44|0;c[L>>2]=0;c[L+4>>2]=0;c[L+8>>2]=0;c[L+12>>2]=0;c[L+16>>2]=0;Vg(P+352|0,0.0,0.0,0.0,P+272|0,g,P+192|0);c[P+128>>2]=1065353216;L=P+128+4|0;c[L>>2]=0;c[L+4>>2]=0;c[L+8>>2]=0;c[L+12>>2]=0;c[P+128+20>>2]=1065353216;M=P+128+24|0;c[M>>2]=0;c[M+4>>2]=0;c[M+8>>2]=0;c[M+12>>2]=0;c[P+128+40>>2]=1065353216;K=P+128+44|0;c[K>>2]=0;c[K+4>>2]=0;c[K+8>>2]=0;c[K+12>>2]=0;c[K+16>>2]=0;Vg(P+288|0,0.0,0.0,0.0,P+256|0,g,P+128|0);S=+f[b+556>>2];u=+f[b+560>>2];T=+f[b+564>>2];v=+f[b+568>>2];G=S*(2.0/(S*S+u*u+T*T+v*v));A=u*(2.0/(S*S+u*u+T*T+v*v));H=T*(2.0/(S*S+u*u+T*T+v*v));W=+f[b+364>>2];V=+f[b+368>>2];Z=+f[b+372>>2];k=Z*(S*H-v*A)+(V*(S*A+v*H)+W*(1.0-(u*A+T*H)));l=Z*(u*H+v*G)+(W*(S*A-v*H)+V*(1.0-(S*G+T*H)));m=W*(S*H+v*A)+V*(u*H-v*G)+Z*(1.0-(S*G+u*A));j=+f[b+380>>2];F=+f[b+384>>2];D=+f[b+388>>2];n=(S*H-v*A)*D+(F*(S*A+v*H)+j*(1.0-(u*A+T*H)));q=(u*H+v*G)*D+(j*(S*A-v*H)+F*(1.0-(S*G+T*H)));t=j*(S*H+v*A)+F*(u*H-v*G)+D*(1.0-(S*G+u*A));Q=+f[b+396>>2];C=+f[b+400>>2];B=+f[b+404>>2];R=(1.0-(u*A+T*H))*Q+(S*A+v*H)*C+(S*H-v*A)*B;T=(S*A-v*H)*Q+(1.0-(S*G+T*H))*C+(u*H+v*G)*B;A=(S*H+v*A)*Q+(u*H-v*G)*C+(1.0-(S*G+u*A))*B;u=+f[b+300>>2];G=+f[b+316>>2];S=+f[b+332>>2];v=+f[b+304>>2];H=+f[b+320>>2];U=+f[b+336>>2];E=+f[b+308>>2];I=+f[b+324>>2];w=+f[b+340>>2];z=-+f[b+348>>2];aa=-+f[b+352>>2];Y=-+f[b+356>>2];Z=W*0.0+V*0.0+Z*0.0+ +f[b+412>>2]+(m*(E*z+I*aa+w*Y)+(k*(u*z+G*aa+S*Y)+l*(v*z+H*aa+U*Y)));D=j*0.0+F*0.0+D*0.0+ +f[b+416>>2]+(t*(E*z+I*aa+w*Y)+(n*(u*z+G*aa+S*Y)+q*(v*z+H*aa+U*Y)));Y=Q*0.0+C*0.0+B*0.0+ +f[b+420>>2]+(A*(E*z+I*aa+w*Y)+(R*(u*z+G*aa+S*Y)+T*(v*z+H*aa+U*Y)));aa=+f[P+128>>2];z=+f[L>>2];B=+f[P+128+8>>2];C=+f[P+128+16>>2];Q=+f[P+128+20>>2];F=+f[M>>2];j=+f[P+128+32>>2];V=+f[P+128+36>>2];W=+f[P+128+40>>2];X=B*Y+(aa*Z+z*D)+ +f[P+128+48>>2];_=C*Z+D*Q+Y*F+ +f[P+128+52>>2];$=Z*j+D*V+Y*W+ +f[P+128+56>>2];f[P+64>>2]=(k*u+l*v+m*E)*aa+(n*u+q*v+t*E)*z+(R*u+T*v+A*E)*B;f[P+64+4>>2]=(k*G+l*H+m*I)*aa+(n*G+q*H+t*I)*z+(R*G+T*H+A*I)*B;f[P+64+8>>2]=(k*S+l*U+m*w)*aa+(n*S+q*U+t*w)*z+(R*S+T*U+A*w)*B;f[P+64+12>>2]=0.0;f[P+64+16>>2]=(k*u+l*v+m*E)*C+(n*u+q*v+t*E)*Q+(R*u+T*v+A*E)*F;f[P+64+20>>2]=(k*G+l*H+m*I)*C+(n*G+q*H+t*I)*Q+(R*G+T*H+A*I)*F;f[P+64+24>>2]=(k*S+l*U+m*w)*C+(n*S+q*U+t*w)*Q+(R*S+T*U+A*w)*F;f[P+64+28>>2]=0.0;f[P+64+32>>2]=(k*u+l*v+m*E)*j+(n*u+q*v+t*E)*V+(R*u+T*v+A*E)*W;f[P+64+36>>2]=(k*G+l*H+m*I)*j+(n*G+q*H+t*I)*V+(R*G+T*H+A*I)*W;f[P+64+40>>2]=(k*S+l*U+m*w)*j+(n*S+q*U+t*w)*V+(R*S+T*U+A*w)*W;f[P+64+44>>2]=0.0;f[P+64+48>>2]=X;f[P+64+52>>2]=_;f[P+64+56>>2]=$;f[P+64+60>>2]=0.0;$=(R*u+T*v+A*E)*-Y+((k*u+l*v+m*E)*-Z+(n*u+q*v+t*E)*-D);_=(R*G+T*H+A*I)*-Y+((k*G+l*H+m*I)*-Z+(n*G+q*H+t*I)*-D);D=(R*S+T*U+A*w)*-Y+((k*S+l*U+m*w)*-Z+(n*S+q*U+t*w)*-D);Z=+f[P+192>>2];Y=+f[N>>2];X=+f[P+192+8>>2];W=+f[P+192+16>>2];V=+f[P+192+20>>2];j=+f[O>>2];F=+f[P+192+32>>2];Q=+f[P+192+36>>2];C=+f[P+192+40>>2];B=$*Z+_*Y+D*X+ +f[P+192+48>>2];z=$*W+_*V+D*j+ +f[P+192+52>>2];D=$*F+_*Q+D*C+ +f[P+192+56>>2];f[P>>2]=(k*u+l*v+m*E)*Z+(k*G+l*H+m*I)*Y+(k*S+l*U+m*w)*X;f[P+4>>2]=(n*u+q*v+t*E)*Z+(n*G+q*H+t*I)*Y+(n*S+q*U+t*w)*X;f[P+8>>2]=(R*u+T*v+A*E)*Z+(R*G+T*H+A*I)*Y+(R*S+T*U+A*w)*X;f[P+12>>2]=0.0;f[P+16>>2]=(k*u+l*v+m*E)*W+(k*G+l*H+m*I)*V+(k*S+l*U+m*w)*j;f[P+20>>2]=(n*u+q*v+t*E)*W+(n*G+q*H+t*I)*V+(n*S+q*U+t*w)*j;f[P+24>>2]=(R*u+T*v+A*E)*W+(R*G+T*H+A*I)*V+(R*S+T*U+A*w)*j;f[P+28>>2]=0.0;f[P+32>>2]=(k*u+l*v+m*E)*F+(k*G+l*H+m*I)*Q+(k*S+l*U+m*w)*C;f[P+36>>2]=(n*u+q*v+t*E)*F+(n*G+q*H+t*I)*Q+(n*S+q*U+t*w)*C;f[P+40>>2]=(R*u+T*v+A*E)*F+(R*G+T*H+A*I)*Q+(R*S+T*U+A*w)*C;f[P+44>>2]=0.0;f[P+48>>2]=B;f[P+52>>2]=z;f[P+56>>2]=D;f[P+60>>2]=0.0;xf(P+352|0,P+64|0,P+424|0,P+416|0);D=+f[P+416>>2];z=1.0/g*(+f[P+424>>2]*D);B=1.0/g*(D*+f[P+424+4>>2]);D=1.0/g*(D*+f[P+424+8>>2]);xf(P+288|0,P,P+424|0,P+416|0);C=+f[P+416>>2];z=z-+f[P+272>>2];B=B-+f[P+272+4>>2];D=D-+f[P+272+8>>2];w=1.0/g*(+f[P+424>>2]*C)-+f[P+256>>2];A=1.0/g*(C*+f[P+424+4>>2])-+f[P+256+4>>2];C=1.0/g*(C*+f[P+424+8>>2])-+f[P+256+8>>2];if(z*z+B*B+D*D>1.1920928955078125e-07){t=1.0/+s(+(z*z+B*B+D*D));O=c[b+28>>2]|0;j=z*t;l=B*t;n=D*t;t=z*t*(z*t*+f[O+264>>2]+B*t*+f[O+280>>2]+D*t*+f[O+296>>2])+B*t*(z*t*+f[O+268>>2]+B*t*+f[O+284>>2]+D*t*+f[O+300>>2])+D*t*(z*t*+f[O+272>>2]+B*t*+f[O+288>>2]+D*t*+f[O+304>>2])}else{j=0.0;l=0.0;n=0.0;t=0.0}if(w*w+A*A+C*C>1.1920928955078125e-07){u=1.0/+s(+(w*w+A*A+C*C));O=c[b+32>>2]|0;k=w*u;m=A*u;q=C*u;u=w*u*(w*u*+f[O+264>>2]+A*u*+f[O+280>>2]+C*u*+f[O+296>>2])+A*u*(w*u*+f[O+268>>2]+A*u*+f[O+284>>2]+C*u*+f[O+300>>2])+C*u*(w*u*+f[O+272>>2]+A*u*+f[O+288>>2]+C*u*+f[O+304>>2])}else{k=0.0;m=0.0;q=0.0;u=0.0}v=t*j+u*k;k=t*l+u*m;j=t*n+u*q;if(v*v+k*k+j*j>1.1920928955078125e-07){n=1.0/+s(+(v*v+k*k+j*j));i=c[b+28>>2]|0;l=v*n*(v*n*+f[i+264>>2]+k*n*+f[i+280>>2]+j*n*+f[i+296>>2])+k*n*(v*n*+f[i+268>>2]+k*n*+f[i+284>>2]+j*n*+f[i+300>>2])+j*n*(v*n*+f[i+272>>2]+k*n*+f[i+288>>2]+j*n*+f[i+304>>2]);o=c[b+32>>2]|0;n=v*n*(v*n*+f[o+264>>2]+k*n*+f[o+280>>2]+j*n*+f[o+296>>2])+k*n*(v*n*+f[o+268>>2]+k*n*+f[o+284>>2]+j*n*+f[o+300>>2])+j*n*(v*n*+f[o+272>>2]+k*n*+f[o+288>>2]+j*n*+f[o+304>>2]);k=(z*l-w*n)*(1.0/((l+n)*(l+n)));z=(B*l-A*n)*(1.0/((l+n)*(l+n)));n=(D*l-C*n)*(1.0/((l+n)*(l+n)));j=+f[b+572>>2];if(!(j>=0.0))j=z;else{t=(a[b+553>>0]|0)==0?j:j/l;j=+f[b+576>>2];m=+f[b+580>>2];l=+f[b+584>>2];q=+s(+((k+j)*(k+j)+(z+m)*(z+m)+(n+l)*(n+l)));if(q>t){u=j+(t*((k+j)*(1.0/q))-j);v=l+(t*((n+l)*(1.0/q))-l);w=m+(t*((z+m)*(1.0/q))-m);k=t*((k+j)*(1.0/q))-j;n=t*((n+l)*(1.0/q))-l;j=t*((z+m)*(1.0/q))-m}else{u=k+j;v=n+l;w=z+m;j=z}f[b+576>>2]=u;f[b+580>>2]=w;f[b+584>>2]=v}m=+s(+(k*k+j*j+n*n));l=k*(1.0/m);k=j*(1.0/m);j=n*(1.0/m);if(c[d+240>>2]|0){aa=l*+f[i+296>>2]+k*+f[i+300>>2]+j*+f[i+304>>2];$=l*+f[i+280>>2]+k*+f[i+284>>2]+j*+f[i+288>>2];_=l*+f[i+264>>2]+k*+f[i+268>>2]+j*+f[i+272>>2];Y=m*0.0*+f[d+116>>2];Z=m*0.0*+f[d+120>>2];f[d+64>>2]=m*0.0*+f[d+112>>2]+ +f[d+64>>2];f[d+68>>2]=Y+ +f[d+68>>2];f[d+72>>2]=Z+ +f[d+72>>2];$=$*(m*+f[d+100>>2]);aa=aa*(m*+f[d+104>>2]);f[d+80>>2]=_*(m*+f[d+96>>2])+ +f[d+80>>2];f[d+84>>2]=$+ +f[d+84>>2];f[d+88>>2]=aa+ +f[d+88>>2]}if(c[e+240>>2]|0){aa=l*+f[o+296>>2]+k*+f[o+300>>2]+j*+f[o+304>>2];$=l*+f[o+280>>2]+k*+f[o+284>>2]+j*+f[o+288>>2];_=l*+f[o+264>>2]+k*+f[o+268>>2]+j*+f[o+272>>2];Y=m*-0.0*+f[e+116>>2];Z=m*-0.0*+f[e+120>>2];f[e+64>>2]=m*-0.0*+f[e+112>>2]+ +f[e+64>>2];f[e+68>>2]=Y+ +f[e+68>>2];f[e+72>>2]=Z+ +f[e+72>>2];$=$*(+f[e+100>>2]*-m);aa=aa*(+f[e+104>>2]*-m);f[e+80>>2]=_*(+f[e+96>>2]*-m)+ +f[e+80>>2];f[e+84>>2]=$+ +f[e+84>>2];f[e+88>>2]=aa+ +f[e+88>>2]}}r=e+192|0;i=d+192|0;y=e+200|0;p=d+200|0;M=e+88|0;J=d+88|0;N=e+80|0;K=d+80|0;x=e+196|0;o=d+196|0;O=e+84|0;L=d+84|0}while(0);z=+f[i>>2]+ +f[K>>2];w=+f[o>>2]+ +f[L>>2];v=+f[p>>2]+ +f[J>>2];u=+f[r>>2]+ +f[N>>2];t=+f[x>>2]+ +f[O>>2];q=+f[y>>2]+ +f[M>>2];if(a[b+526>>0]|0){k=+f[b+528>>2];j=k*+f[b+504>>2]*+f[b+432>>2]/g;l=+f[b+460>>2];m=+f[b+464>>2];n=+f[b+468>>2];if((u-z)*l+(t-w)*m+(q-v)*n>0.0)j=j+k*((u-z)*l+(t-w)*m+(q-v)*n)*+f[b+436>>2];$=+f[b+516>>2];Z=$+j*+f[b+492>>2];f[P+424>>2]=Z;f[P+416>>2]=0.0;i=c[(Z>0.0?P+424|0:P+416|0)>>2]|0;c[b+516>>2]=i;$=(c[h>>2]=i,+f[h>>2])-$;Z=+f[b+536>>2];_=+f[b+540>>2];j=+f[b+544>>2];k=l*$-Z*(l*$*Z+m*$*_+n*$*j);aa=m*$-_*(l*$*Z+m*$*_+n*$*j);m=n*$-j*(l*$*Z+m*$*_+n*$*j);j=+s(+(m*m+(k*k+aa*aa)));k=k*(1.0/j);l=aa*(1.0/j);m=m*(1.0/j);i=c[b+28>>2]|0;if(c[d+240>>2]|0){aa=k*+f[i+296>>2]+l*+f[i+300>>2]+m*+f[i+304>>2];$=k*+f[i+280>>2]+l*+f[i+284>>2]+m*+f[i+288>>2];_=k*+f[i+264>>2]+l*+f[i+268>>2]+m*+f[i+272>>2];Y=j*0.0*+f[d+116>>2];Z=j*0.0*+f[d+120>>2];f[d+64>>2]=j*0.0*+f[d+112>>2]+ +f[d+64>>2];f[d+68>>2]=Y+ +f[d+68>>2];f[d+72>>2]=Z+ +f[d+72>>2];$=$*(j*+f[d+100>>2]);aa=aa*(j*+f[d+104>>2]);f[K>>2]=_*(j*+f[d+96>>2])+ +f[K>>2];f[L>>2]=$+ +f[L>>2];f[J>>2]=aa+ +f[J>>2]}i=c[b+32>>2]|0;if(c[e+240>>2]|0){aa=k*+f[i+296>>2]+l*+f[i+300>>2]+m*+f[i+304>>2];$=k*+f[i+280>>2]+l*+f[i+284>>2]+m*+f[i+288>>2];_=k*+f[i+264>>2]+l*+f[i+268>>2]+m*+f[i+272>>2];Y=j*-0.0*+f[e+116>>2];Z=j*-0.0*+f[e+120>>2];f[e+64>>2]=j*-0.0*+f[e+112>>2]+ +f[e+64>>2];f[e+68>>2]=Y+ +f[e+68>>2];f[e+72>>2]=Z+ +f[e+72>>2];$=$*(+f[e+100>>2]*-j);aa=aa*(+f[e+104>>2]*-j);f[N>>2]=_*(+f[e+96>>2]*-j)+ +f[N>>2];f[O>>2]=$+ +f[O>>2];f[M>>2]=aa+ +f[M>>2]}}if(!(a[b+525>>0]|0)){Ta=P;return}n=+f[b+532>>2];m=n*+f[b+508>>2]*+f[b+432>>2]/g;l=+f[b+476>>2];k=+f[b+480>>2];j=+f[b+484>>2];if((u-z)*l+(t-w)*k+(q-v)*j>0.0)m=m+n*((u-z)*l+(t-w)*k+(q-v)*j)*+f[b+436>>2];aa=+f[b+520>>2];m=aa+m*+f[b+496>>2];f[P+424>>2]=m;f[P+416>>2]=0.0;i=c[(m>0.0?P+424|0:P+416|0)>>2]|0;c[b+520>>2]=i;m=(c[h>>2]=i,+f[h>>2])-aa;i=c[b+28>>2]|0;if(c[d+240>>2]|0){aa=l*+f[i+296>>2]+k*+f[i+300>>2]+j*+f[i+304>>2];$=l*+f[i+280>>2]+k*+f[i+284>>2]+j*+f[i+288>>2];j=l*+f[i+264>>2]+k*+f[i+268>>2]+j*+f[i+272>>2];l=m*0.0*+f[d+116>>2];k=m*0.0*+f[d+120>>2];f[d+64>>2]=m*0.0*+f[d+112>>2]+ +f[d+64>>2];f[d+68>>2]=l+ +f[d+68>>2];f[d+72>>2]=k+ +f[d+72>>2];k=$*(m*+f[d+100>>2]);l=aa*(m*+f[d+104>>2]);f[K>>2]=j*(m*+f[d+96>>2])+ +f[K>>2];f[L>>2]=k+ +f[L>>2];f[J>>2]=l+ +f[J>>2];l=+f[b+476>>2];k=+f[b+480>>2];j=+f[b+484>>2]}i=c[b+32>>2]|0;if(!(c[e+240>>2]|0)){Ta=P;return}aa=l*+f[i+296>>2]+k*+f[i+300>>2]+j*+f[i+304>>2];$=l*+f[i+280>>2]+k*+f[i+284>>2]+j*+f[i+288>>2];_=l*+f[i+264>>2]+k*+f[i+268>>2]+j*+f[i+272>>2];Y=m*-0.0*+f[e+116>>2];Z=m*-0.0*+f[e+120>>2];f[e+64>>2]=m*-0.0*+f[e+112>>2]+ +f[e+64>>2];f[e+68>>2]=Y+ +f[e+68>>2];f[e+72>>2]=Z+ +f[e+72>>2];$=$*(+f[e+100>>2]*-m);aa=aa*(+f[e+104>>2]*-m);f[N>>2]=_*(+f[e+96>>2]*-m)+ +f[N>>2];f[O>>2]=$+ +f[O>>2];f[M>>2]=aa+ +f[M>>2];Ta=P;return}function Zb(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=Ta;Ta=Ta+16|0;do if(a>>>0<245){m=a>>>0<11?16:a+11&-8;e=3?m>>>3:m;l=c[6897]|0;f=e?l>>>e:l;if(f&3|0){d=27628+((f&1^1)+e<<1<<2)|0;a=c[d+8>>2]|0;b=c[a+8>>2]|0;if((b|0)==(d|0))c[6897]=l&~(1<<(f&1^1)+e);else{c[b+12>>2]=d;c[d+8>>2]=b}c[a+4>>2]=(f&1^1)+e<<3|3;c[a+((f&1^1)+e<<3)+4>>2]=c[a+((f&1^1)+e<<3)+4>>2]|1;r=a+8|0;Ta=s;return r|0}k=c[6899]|0;if(m>>>0>k>>>0){if(f|0){g=(f<>>12:g)&16;g=q?g>>>q:g;p=(5?g>>>5:g)&8;g=p?g>>>p:g;r=(2?g>>>2:g)&4;g=r?g>>>r:g;a=(1?g>>>1:g)&2;g=a?g>>>a:g;f=(1?g>>>1:g)&1;g=(p|q|r|a|f)+(f?g>>>f:g)|0;f=c[27628+(g<<1<<2)+8>>2]|0;a=c[f+8>>2]|0;if((a|0)==(27628+(g<<1<<2)|0)){c[6897]=l&~(1<>2]=27628+(g<<1<<2);c[27628+(g<<1<<2)+8>>2]=a;a=l}c[f+4>>2]=m|3;c[f+m+4>>2]=(g<<3)-m|1;c[f+(g<<3)>>2]=(g<<3)-m;if(k|0){e=c[6902]|0;d=3?k>>>3:k;if(!(a&1<>2]|0}c[a>>2]=e;c[b+12>>2]=e;c[e+8>>2]=b;c[e+12>>2]=27628+(d<<1<<2)}c[6899]=(g<<3)-m;c[6902]=f+m;r=f+8|0;Ta=s;return r|0}g=c[6898]|0;if(g){f=(12?((g&0-g)+-1|0)>>>12:(g&0-g)+-1|0)&16;j=f?((g&0-g)+-1|0)>>>f:(g&0-g)+-1|0;e=(5?j>>>5:j)&8;j=e?j>>>e:j;h=(2?j>>>2:j)&4;j=h?j>>>h:j;b=(1?j>>>1:j)&2;j=b?j>>>b:j;i=(1?j>>>1:j)&1;j=c[27892+((e|f|h|b|i)+(i?j>>>i:j)<<2)>>2]|0;i=(c[j+4>>2]&-8)-m|0;b=j;while(1){a=c[b+16>>2]|0;if(!a){a=c[b+20>>2]|0;if(!a)break}b=(c[a+4>>2]&-8)-m|0;h=b>>>0>>0;i=h?b:i;b=a;j=h?a:j}h=j+m|0;if(h>>>0>j>>>0){f=c[j+24>>2]|0;a=c[j+12>>2]|0;do if((a|0)==(j|0)){b=j+20|0;a=c[b>>2]|0;if(!a){b=j+16|0;a=c[b>>2]|0;if(!a){b=0;break}}while(1){e=a+20|0;d=c[e>>2]|0;if(!d){e=a+16|0;d=c[e>>2]|0;if(!d)break;else{a=d;b=e}}else{a=d;b=e}}c[b>>2]=0;b=a}else{b=c[j+8>>2]|0;c[b+12>>2]=a;c[a+8>>2]=b;b=a}while(0);do if(f|0){a=c[j+28>>2]|0;if((j|0)==(c[27892+(a<<2)>>2]|0)){c[27892+(a<<2)>>2]=b;if(!b){c[6898]=g&~(1<>2]|0)==(j|0)?f+16|0:f+20|0)>>2]=b;if(!b)break}c[b+24>>2]=f;a=c[j+16>>2]|0;if(a|0){c[b+16>>2]=a;c[a+24>>2]=b}a=c[j+20>>2]|0;if(a|0){c[b+20>>2]=a;c[a+24>>2]=b}}while(0);if(i>>>0<16){r=i+m|0;c[j+4>>2]=r|3;r=j+r+4|0;c[r>>2]=c[r>>2]|1}else{c[j+4>>2]=m|3;c[h+4>>2]=i|1;c[h+i>>2]=i;if(k|0){e=c[6902]|0;d=3?k>>>3:k;if(!(1<>2]|0}c[a>>2]=e;c[b+12>>2]=e;c[e+8>>2]=b;c[e+12>>2]=27628+(d<<1<<2)}c[6899]=i;c[6902]=h}r=j+8|0;Ta=s;return r|0}}}}else if(a>>>0<=4294967231){m=a+11&-8;e=c[6898]|0;if(e){a=8?(a+11|0)>>>8:a+11|0;if(a)if(m>>>0>16777215)i=31;else{l=(16?(a+1048320|0)>>>16:a+1048320|0)&8;q=(16?((a<>>16:(a<>>16:(a<>>15:a<>>(i+7|0):m)&1|i<<1}else i=0;a=c[27892+(i<<2)>>2]|0;a:do if(!a){d=0-m|0;b=0;a=0;q=61}else{d=0-m|0;b=0;h=m<<((i|0)==31?0:25-(1?i>>>1:i)|0);g=0;while(1){f=(c[a+4>>2]&-8)-m|0;if(f>>>0>>0)if(!f){d=0;b=a;q=65;break a}else{d=f;g=a}q=c[a+20>>2]|0;a=c[a+16+((31?h>>>31:h)<<2)>>2]|0;b=(q|0)==0|(q|0)==(a|0)?b:q;if(!a){a=g;q=61;break}else h=h<<1}}while(0);if((q|0)==61){if((b|0)==0&(a|0)==0){a=2<>>12:b)&16;b=i?b>>>i:b;h=(5?b>>>5:b)&8;b=h?b>>>h:b;k=(2?b>>>2:b)&4;b=k?b>>>k:b;l=(1?b>>>1:b)&2;b=l?b>>>l:b;a=(1?b>>>1:b)&1;b=c[27892+((h|i|k|l|a)+(a?b>>>a:b)<<2)>>2]|0;a=0}if(!b){h=d;i=a}else q=65}if((q|0)==65)while(1){l=(c[b+4>>2]&-8)-m|0;f=l>>>0>>0;d=f?l:d;f=f?b:a;a=c[b+16>>2]|0;if(!a)a=c[b+20>>2]|0;if(!a){h=d;i=f;break}else{b=a;a=f}}if(((i|0)!=0?h>>>0<((c[6899]|0)-m|0)>>>0:0)?(j=i+m|0,j>>>0>i>>>0):0){g=c[i+24>>2]|0;a=c[i+12>>2]|0;do if((a|0)==(i|0)){b=i+20|0;a=c[b>>2]|0;if(!a){b=i+16|0;a=c[b>>2]|0;if(!a){a=0;break}}while(1){f=a+20|0;d=c[f>>2]|0;if(!d){f=a+16|0;d=c[f>>2]|0;if(!d)break;else{a=d;b=f}}else{a=d;b=f}}c[b>>2]=0}else{r=c[i+8>>2]|0;c[r+12>>2]=a;c[a+8>>2]=r}while(0);do if(g){b=c[i+28>>2]|0;if((i|0)==(c[27892+(b<<2)>>2]|0)){c[27892+(b<<2)>>2]=a;if(!a){c[6898]=e&~(1<>2]|0)==(i|0)?g+16|0:g+20|0)>>2]=a;if(!a)break}c[a+24>>2]=g;b=c[i+16>>2]|0;if(b|0){c[a+16>>2]=b;c[b+24>>2]=a}b=c[i+20>>2]|0;if(b){c[a+20>>2]=b;c[b+24>>2]=a}}while(0);b:do if(h>>>0<16){r=h+m|0;c[i+4>>2]=r|3;r=i+r+4|0;c[r>>2]=c[r>>2]|1}else{c[i+4>>2]=m|3;c[j+4>>2]=h|1;c[j+h>>2]=h;d=3?h>>>3:h;if(h>>>0<256){a=c[6897]|0;if(!(a&1<>2]|0}c[a>>2]=j;c[b+12>>2]=j;c[j+8>>2]=b;c[j+12>>2]=27628+(d<<1<<2);break}a=8?h>>>8:h;if(a)if(h>>>0>16777215)d=31;else{q=(16?(a+1048320|0)>>>16:a+1048320|0)&8;r=(16?((a<>>16:(a<>>16:(a<>>15:a<>>(d+7|0):h)&1|d<<1}else d=0;a=27892+(d<<2)|0;c[j+28>>2]=d;c[j+16+4>>2]=0;c[j+16>>2]=0;b=1<>2]=j;c[j+24>>2]=a;c[j+12>>2]=j;c[j+8>>2]=j;break}a=c[a>>2]|0;c:do if((c[a+4>>2]&-8|0)!=(h|0)){e=h<<((d|0)==31?0:25-(1?d>>>1:d)|0);while(1){d=a+16+((31?e>>>31:e)<<2)|0;b=c[d>>2]|0;if(!b)break;if((c[b+4>>2]&-8|0)==(h|0)){a=b;break c}else{e=e<<1;a=b}}c[d>>2]=j;c[j+24>>2]=a;c[j+12>>2]=j;c[j+8>>2]=j;break b}while(0);q=a+8|0;r=c[q>>2]|0;c[r+12>>2]=j;c[q>>2]=j;c[j+8>>2]=r;c[j+12>>2]=a;c[j+24>>2]=0}while(0);r=i+8|0;Ta=s;return r|0}}}else m=-1;while(0);d=c[6899]|0;if(d>>>0>=m>>>0){b=d-m|0;a=c[6902]|0;if(b>>>0>15){r=a+m|0;c[6902]=r;c[6899]=b;c[r+4>>2]=b|1;c[a+d>>2]=b;c[a+4>>2]=m|3}else{c[6899]=0;c[6902]=0;c[a+4>>2]=d|3;c[a+d+4>>2]=c[a+d+4>>2]|1}r=a+8|0;Ta=s;return r|0}f=c[6900]|0;if(f>>>0>m>>>0){p=f-m|0;c[6900]=p;r=c[6903]|0;q=r+m|0;c[6903]=q;c[q+4>>2]=p|1;c[r+4>>2]=m|3;r=r+8|0;Ta=s;return r|0}if(!(c[7015]|0)){c[7017]=4096;c[7016]=4096;c[7018]=-1;c[7019]=-1;c[7020]=0;c[7008]=0;c[7015]=s&-16^1431655768;a=4096}else a=c[7017]|0;g=m+48|0;h=m+47|0;j=a+h|0;i=0-a|0;if((j&i)>>>0<=m>>>0){r=0;Ta=s;return r|0}a=c[7007]|0;if(a|0?(l=c[7005]|0,(l+(j&i)|0)>>>0<=l>>>0?1:(l+(j&i)|0)>>>0>a>>>0):0){r=0;Ta=s;return r|0}d:do if(!(c[7008]&4)){b=c[6903]|0;e:do if(b){d=28036;while(1){a=c[d>>2]|0;if(a>>>0<=b>>>0?(o=d+4|0,(a+(c[o>>2]|0)|0)>>>0>b>>>0):0)break;a=c[d+8>>2]|0;if(!a){q=128;break e}else d=a}if((j-f&i)>>>0<2147483647){a=_o(j-f&i|0)|0;if((a|0)==((c[d>>2]|0)+(c[o>>2]|0)|0))if((a|0)==(-1|0))a=j-f&i;else{h=a;g=j-f&i;break d}else{e=a;d=j-f&i;q=136}}else a=0}else q=128;while(0);do if((q|0)==128){b=_o(0)|0;if((b|0)!=(-1|0)?(p=c[7016]|0,p=((p+-1&b|0)==0?0:(p+-1+b&0-p)-b|0)+(j&i)|0,n=c[7005]|0,p>>>0>m>>>0&p>>>0<2147483647):0){o=c[7007]|0;if(o|0?(p+n|0)>>>0<=n>>>0|(p+n|0)>>>0>o>>>0:0){a=0;break}a=_o(p|0)|0;if((a|0)==(b|0)){h=b;g=p;break d}else{e=a;d=p;q=136}}else a=0}while(0);do if((q|0)==136){b=0-d|0;if(!(g>>>0>d>>>0&(d>>>0<2147483647&(e|0)!=(-1|0))))if((e|0)==(-1|0)){a=0;break}else{h=e;g=d;break d}a=c[7017]|0;a=h-d+a&0-a;if(a>>>0>=2147483647){h=e;g=d;break d}if((_o(a|0)|0)==(-1|0)){_o(b|0)|0;a=0;break}else{h=e;g=a+d|0;break d}}while(0);c[7008]=c[7008]|4;q=143}else{a=0;q=143}while(0);if((q|0)==143){if((j&i)>>>0>=2147483647){r=0;Ta=s;return r|0}b=_o(j&i|0)|0;d=_o(0)|0;e=(d-b|0)>>>0>(m+40|0)>>>0;if((b|0)==(-1|0)|e^1|b>>>0>>0&((b|0)!=(-1|0)&(d|0)!=(-1|0))^1){r=0;Ta=s;return r|0}else{h=b;g=e?d-b|0:a}}a=(c[7005]|0)+g|0;c[7005]=a;if(a>>>0>(c[7006]|0)>>>0)c[7006]=a;j=c[6903]|0;f:do if(j){f=28036;while(1){a=c[f>>2]|0;e=f+4|0;b=c[e>>2]|0;if((h|0)==(a+b|0)){q=154;break}d=c[f+8>>2]|0;if(!d)break;else f=d}if(((q|0)==154?(c[f+12>>2]&8|0)==0:0)?h>>>0>j>>>0&a>>>0<=j>>>0:0){c[e>>2]=b+g;r=(c[6900]|0)+g|0;q=(j+8&7|0)==0?0:0-(j+8)&7;c[6903]=j+q;c[6900]=r-q;c[j+q+4>>2]=r-q|1;c[j+r+4>>2]=40;c[6904]=c[7019];break}if(h>>>0<(c[6901]|0)>>>0)c[6901]=h;d=h+g|0;b=28036;while(1){if((c[b>>2]|0)==(d|0)){q=162;break}a=c[b+8>>2]|0;if(!a)break;else b=a}if((q|0)==162?(c[b+12>>2]&8|0)==0:0){c[b>>2]=h;l=b+4|0;c[l>>2]=(c[l>>2]|0)+g;l=h+8|0;l=h+((l&7|0)==0?0:0-l&7)|0;a=d+((d+8&7|0)==0?0:0-(d+8)&7)|0;k=l+m|0;i=a-l-m|0;c[l+4>>2]=m|3;g:do if((j|0)==(a|0)){r=(c[6900]|0)+i|0;c[6900]=r;c[6903]=k;c[k+4>>2]=r|1}else{if((c[6902]|0)==(a|0)){r=(c[6899]|0)+i|0;c[6899]=r;c[6902]=k;c[k+4>>2]=r|1;c[k+r>>2]=r;break}h=c[a+4>>2]|0;if((h&3|0)==1){e=3?h>>>3:h;h:do if(h>>>0<256){b=c[a+8>>2]|0;d=c[a+12>>2]|0;if((d|0)==(b|0)){c[6897]=c[6897]&~(1<>2]=d;c[d+8>>2]=b;break}}else{g=c[a+24>>2]|0;b=c[a+12>>2]|0;do if((b|0)==(a|0)){b=c[a+16+4>>2]|0;if(!b){b=c[a+16>>2]|0;if(!b){b=0;break}else d=a+16|0}else d=a+16+4|0;while(1){f=b+20|0;e=c[f>>2]|0;if(!e){f=b+16|0;e=c[f>>2]|0;if(!e)break;else{b=e;d=f}}else{b=e;d=f}}c[d>>2]=0}else{r=c[a+8>>2]|0;c[r+12>>2]=b;c[b+8>>2]=r}while(0);if(!g)break;d=c[a+28>>2]|0;do if((c[27892+(d<<2)>>2]|0)!=(a|0)){c[((c[g+16>>2]|0)==(a|0)?g+16|0:g+20|0)>>2]=b;if(!b)break h}else{c[27892+(d<<2)>>2]=b;if(b|0)break;c[6898]=c[6898]&~(1<>2]=g;d=c[a+16>>2]|0;if(d|0){c[b+16>>2]=d;c[d+24>>2]=b}d=c[a+16+4>>2]|0;if(!d)break;c[b+20>>2]=d;c[d+24>>2]=b}while(0);a=a+(h&-8)|0;f=(h&-8)+i|0}else f=i;d=a+4|0;c[d>>2]=c[d>>2]&-2;c[k+4>>2]=f|1;c[k+f>>2]=f;d=3?f>>>3:f;if(f>>>0<256){a=c[6897]|0;if(!(a&1<>2]|0}c[a>>2]=k;c[b+12>>2]=k;c[k+8>>2]=b;c[k+12>>2]=27628+(d<<1<<2);break}a=8?f>>>8:f;do if(!a)e=0;else{if(f>>>0>16777215){e=31;break}q=(16?(a+1048320|0)>>>16:a+1048320|0)&8;r=(16?((a<>>16:(a<>>16:(a<>>15:a<>>(e+7|0):f)&1|e<<1}while(0);b=27892+(e<<2)|0;c[k+28>>2]=e;c[k+16+4>>2]=0;c[k+16>>2]=0;a=c[6898]|0;d=1<>2]=k;c[k+24>>2]=b;c[k+12>>2]=k;c[k+8>>2]=k;break}a=c[b>>2]|0;i:do if((c[a+4>>2]&-8|0)!=(f|0)){e=f<<((e|0)==31?0:25-(1?e>>>1:e)|0);while(1){d=a+16+((31?e>>>31:e)<<2)|0;b=c[d>>2]|0;if(!b)break;if((c[b+4>>2]&-8|0)==(f|0)){a=b;break i}else{e=e<<1;a=b}}c[d>>2]=k;c[k+24>>2]=a;c[k+12>>2]=k;c[k+8>>2]=k;break g}while(0);q=a+8|0;r=c[q>>2]|0;c[r+12>>2]=k;c[q>>2]=k;c[k+8>>2]=r;c[k+12>>2]=a;c[k+24>>2]=0}while(0);r=l+8|0;Ta=s;return r|0}b=28036;while(1){a=c[b>>2]|0;if(a>>>0<=j>>>0?(r=a+(c[b+4>>2]|0)|0,r>>>0>j>>>0):0)break;b=c[b+8>>2]|0}f=r+-47+((r+-47+8&7|0)==0?0:0-(r+-47+8)&7)|0;f=f>>>0<(j+16|0)>>>0?j:f;a=g+-40|0;p=h+8|0;p=(p&7|0)==0?0:0-p&7;q=h+p|0;c[6903]=q;c[6900]=a-p;c[q+4>>2]=a-p|1;c[h+a+4>>2]=40;c[6904]=c[7019];c[f+4>>2]=27;c[f+8>>2]=c[7009];c[f+8+4>>2]=c[7010];c[f+8+8>>2]=c[7011];c[f+8+12>>2]=c[7012];c[7009]=h;c[7010]=g;c[7012]=0;c[7011]=f+8;a=f+24|0;do{q=a;a=a+4|0;c[a>>2]=7}while((q+8|0)>>>0>>0);if((f|0)!=(j|0)){c[f+4>>2]=c[f+4>>2]&-2;c[j+4>>2]=f-j|1;c[f>>2]=f-j;d=3?(f-j|0)>>>3:f-j|0;if((f-j|0)>>>0<256){a=c[6897]|0;if(!(a&1<>2]|0}c[a>>2]=j;c[b+12>>2]=j;c[j+8>>2]=b;c[j+12>>2]=27628+(d<<1<<2);break}a=8?(f-j|0)>>>8:f-j|0;if(a)if((f-j|0)>>>0>16777215)e=31;else{q=(16?(a+1048320|0)>>>16:a+1048320|0)&8;r=(16?((a<>>16:(a<>>16:(a<>>15:a<>>(e+7|0):f-j|0)&1|e<<1}else e=0;b=27892+(e<<2)|0;c[j+28>>2]=e;c[j+20>>2]=0;c[j+16>>2]=0;a=c[6898]|0;d=1<>2]=j;c[j+24>>2]=b;c[j+12>>2]=j;c[j+8>>2]=j;break}a=c[b>>2]|0;j:do if((c[a+4>>2]&-8|0)!=(f-j|0)){e=f-j<<((e|0)==31?0:25-(1?e>>>1:e)|0);while(1){d=a+16+((31?e>>>31:e)<<2)|0;b=c[d>>2]|0;if(!b)break;if((c[b+4>>2]&-8|0)==(f-j|0)){a=b;break j}else{e=e<<1;a=b}}c[d>>2]=j;c[j+24>>2]=a;c[j+12>>2]=j;c[j+8>>2]=j;break f}while(0);q=a+8|0;r=c[q>>2]|0;c[r+12>>2]=j;c[q>>2]=j;c[j+8>>2]=r;c[j+12>>2]=a;c[j+24>>2]=0}}else{r=c[6901]|0;if((r|0)==0|h>>>0>>0)c[6901]=h;c[7009]=h;c[7010]=g;c[7012]=0;c[6906]=c[7015];c[6905]=-1;c[6910]=27628;c[6909]=27628;c[6912]=27636;c[6911]=27636;c[6914]=27644;c[6913]=27644;c[6916]=27652;c[6915]=27652;c[6918]=27660;c[6917]=27660;c[6920]=27668;c[6919]=27668;c[6922]=27676;c[6921]=27676;c[6924]=27684;c[6923]=27684;c[6926]=27692;c[6925]=27692;c[6928]=27700;c[6927]=27700;c[6930]=27708;c[6929]=27708;c[6932]=27716;c[6931]=27716;c[6934]=27724;c[6933]=27724;c[6936]=27732;c[6935]=27732;c[6938]=27740;c[6937]=27740;c[6940]=27748;c[6939]=27748;c[6942]=27756;c[6941]=27756;c[6944]=27764;c[6943]=27764;c[6946]=27772;c[6945]=27772;c[6948]=27780;c[6947]=27780;c[6950]=27788;c[6949]=27788;c[6952]=27796;c[6951]=27796;c[6954]=27804;c[6953]=27804;c[6956]=27812;c[6955]=27812;c[6958]=27820;c[6957]=27820;c[6960]=27828;c[6959]=27828;c[6962]=27836;c[6961]=27836;c[6964]=27844;c[6963]=27844;c[6966]=27852;c[6965]=27852;c[6968]=27860;c[6967]=27860;c[6970]=27868;c[6969]=27868;c[6972]=27876;c[6971]=27876;r=g+-40|0;p=h+8|0;p=(p&7|0)==0?0:0-p&7;q=h+p|0;c[6903]=q;c[6900]=r-p;c[q+4>>2]=r-p|1;c[h+r+4>>2]=40;c[6904]=c[7019]}while(0);a=c[6900]|0;if(a>>>0<=m>>>0){r=0;Ta=s;return r|0}p=a-m|0;c[6900]=p;r=c[6903]|0;q=r+m|0;c[6903]=q;c[q+4>>2]=p|1;c[r+4>>2]=m|3;r=r+8|0;Ta=s;return r|0}function _b(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,A=0,B=0,C=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0;T=c[e>>2]|0;da=c[f>>2]|0;if(T|0)g=c[T+12>>2]|0;else g=b;h=c[g+88>>2]|0;i=c[g+92>>2]|0;m=c[g+96>>2]|0;if(!da)g=d;else g=c[da+12>>2]|0;s=c[g+88>>2]|0;n=c[g+92>>2]|0;t=c[g+96>>2]|0;U=c[b+88>>2]|0;ba=(c[d+88>>2]|0)-U|0;v=c[b+92>>2]|0;ca=(c[d+92>>2]|0)-v|0;b=c[b+96>>2]|0;aa=(c[d+96>>2]|0)-b|0;$=c[(T|0?T:da)+12>>2]|0;V=(c[$+88>>2]|0)-U|0;S=(c[$+92>>2]|0)-v|0;$=(c[$+96>>2]|0)-b|0;_=(z(S,aa)|0)-(z($,ca)|0)|0;$=(z($,ba)|0)-(z(V,aa)|0)|0;S=(z(V,ca)|0)-(z(S,ba)|0)|0;U=nw(_|0,((_|0)<0)<<31>>31|0,U|0,((U|0)<0)<<31>>31|0)|0;V=D()|0;v=nw($|0,(($|0)<0)<<31>>31|0,v|0,((v|0)<0)<<31>>31|0)|0;u=D()|0;b=nw(S|0,((S|0)<0)<<31>>31|0,b|0,((b|0)<0)<<31>>31|0)|0;b=hD(U|0,V|0,b|0,D()|0)|0;u=hD(b|0,D()|0,v|0,u|0)|0;v=D()|0;b=nw(S|0,((S|0)<0)<<31>>31|0,ca|0,((ca|0)<0)<<31>>31|0)|0;V=D()|0;U=nw($|0,(($|0)<0)<<31>>31|0,aa|0,((aa|0)<0)<<31>>31|0)|0;U=xC(b|0,V|0,U|0,D()|0)|0;V=D()|0;b=nw(_|0,((_|0)<0)<<31>>31|0,aa|0,((aa|0)<0)<<31>>31|0)|0;X=D()|0;W=nw(S|0,((S|0)<0)<<31>>31|0,ba|0,((ba|0)<0)<<31>>31|0)|0;W=xC(b|0,X|0,W|0,D()|0)|0;X=D()|0;b=nw($|0,(($|0)<0)<<31>>31|0,ba|0,((ba|0)<0)<<31>>31|0)|0;Z=D()|0;Y=nw(_|0,((_|0)<0)<<31>>31|0,ca|0,((ca|0)<0)<<31>>31|0)|0;Y=xC(b|0,Z|0,Y|0,D()|0)|0;Z=D()|0;b=nw(U|0,V|0,h|0,((h|0)<0)<<31>>31|0)|0;R=D()|0;g=nw(W|0,X|0,i|0,((i|0)<0)<<31>>31|0)|0;R=hD(g|0,D()|0,b|0,R|0)|0;b=D()|0;g=nw(Y|0,Z|0,m|0,((m|0)<0)<<31>>31|0)|0;g=hD(R|0,b|0,g|0,D()|0)|0;b=D()|0;if((T|0)!=0?(c[T+12>>2]|0)!=0:0){p=T;q=h;o=i;while(1){p=c[(c[p+8>>2]|0)+4>>2]|0;k=p+12|0;i=c[k>>2]|0;d=c[i+88>>2]|0;Q=nw(d|0,((d|0)<0)<<31>>31|0,_|0,((_|0)<0)<<31>>31|0)|0;P=D()|0;h=c[i+92>>2]|0;R=nw(h|0,((h|0)<0)<<31>>31|0,$|0,(($|0)<0)<<31>>31|0)|0;P=hD(R|0,D()|0,Q|0,P|0)|0;Q=D()|0;i=c[i+96>>2]|0;R=nw(i|0,((i|0)<0)<<31>>31|0,S|0,((S|0)<0)<<31>>31|0)|0;R=hD(P|0,Q|0,R|0,D()|0)|0;Q=D()|0;if((Q|0)<(v|0)|(Q|0)==(v|0)&R>>>0>>0){d=q;i=o;h=m;break}if((c[p+20>>2]|0)==(c[a+100>>2]|0)){d=q;i=o;h=m;break}l=nw(U|0,V|0,d|0,((d|0)<0)<<31>>31|0)|0;R=D()|0;j=nw(W|0,X|0,h|0,((h|0)<0)<<31>>31|0)|0;R=hD(j|0,D()|0,l|0,R|0)|0;l=D()|0;j=nw(Y|0,Z|0,i|0,((i|0)<0)<<31>>31|0)|0;j=hD(R|0,l|0,j|0,D()|0)|0;l=D()|0;if(!((l|0)>(b|0)|(l|0)==(b|0)&j>>>0>g>>>0)){d=q;i=o;h=m;break}c[e>>2]=p;R=c[k>>2]|0;d=c[R+88>>2]|0;i=c[R+92>>2]|0;h=c[R+96>>2]|0;if(!R){g=j;b=l;break}else{b=l;g=j;q=d;o=i;m=h}}p=c[f>>2]|0;R=d;m=h}else{p=da;R=h}h=nw(U|0,V|0,s|0,((s|0)<0)<<31>>31|0)|0;Q=D()|0;d=nw(W|0,X|0,n|0,((n|0)<0)<<31>>31|0)|0;Q=hD(d|0,D()|0,h|0,Q|0)|0;h=D()|0;d=nw(Y|0,Z|0,t|0,((t|0)<0)<<31>>31|0)|0;d=hD(Q|0,h|0,d|0,D()|0)|0;h=D()|0;a:do if(p)if(!(c[p+12>>2]|0)){k=s;o=t}else{r=p;q=s;o=t;while(1){p=c[c[r+8>>2]>>2]|0;l=c[p+12>>2]|0;j=c[l+88>>2]|0;P=nw(j|0,((j|0)<0)<<31>>31|0,_|0,((_|0)<0)<<31>>31|0)|0;O=D()|0;k=c[l+92>>2]|0;Q=nw(k|0,((k|0)<0)<<31>>31|0,$|0,(($|0)<0)<<31>>31|0)|0;O=hD(Q|0,D()|0,P|0,O|0)|0;P=D()|0;l=c[l+96>>2]|0;Q=nw(l|0,((l|0)<0)<<31>>31|0,S|0,((S|0)<0)<<31>>31|0)|0;Q=hD(O|0,P|0,Q|0,D()|0)|0;P=D()|0;if((P|0)<(v|0)|(P|0)==(v|0)&Q>>>0>>0){p=r;k=q;break a}if((c[p+20>>2]|0)==(c[a+100>>2]|0)){p=r;k=q;break a}Q=nw(U|0,V|0,j|0,((j|0)<0)<<31>>31|0)|0;P=D()|0;j=nw(W|0,X|0,k|0,((k|0)<0)<<31>>31|0)|0;P=hD(j|0,D()|0,Q|0,P|0)|0;Q=D()|0;j=nw(Y|0,Z|0,l|0,((l|0)<0)<<31>>31|0)|0;j=hD(P|0,Q|0,j|0,D()|0)|0;l=D()|0;if(!((l|0)>(h|0)|(l|0)==(h|0)&j>>>0>d>>>0)){p=r;k=q;break a}c[f>>2]=p;Q=c[p+12>>2]|0;k=c[Q+88>>2]|0;n=c[Q+92>>2]|0;o=c[Q+96>>2]|0;if(!Q){d=j;h=l;break}else{r=p;h=l;d=j;q=k}}}else{p=0;k=s;o=t}while(0);j=xC(d|0,h|0,g|0,b|0)|0;b=D()|0;if((b|0)>0|(b|0)==0&j>>>0>0){P=xC(0,0,S|0,((S|0)<0)<<31>>31|0)|0;Q=D()|0;q=j;g=b;d=R;h=i;l=m;K=k;L=n;M=o;while(1){J=c[e>>2]|0;O=g;b:while(1){N=(z(L-h|0,ca)|0)+(z(K-d|0,ba)|0)+(z(M-l|0,aa)|0)|0;if(!J)break;if(!(c[J+12>>2]|0))break;F=c[(c[J>>2]|0)+8>>2]|0;if((c[F+20>>2]|0)<=(c[a+100>>2]|0))break;I=c[F+12>>2]|0;G=c[I+88>>2]|0;E=G-d|0;H=c[I+92>>2]|0;C=H-h|0;I=c[I+96>>2]|0;g=I-l|0;s=nw(U|0,V|0,E|0,((E|0)<0)<<31>>31|0)|0;B=D()|0;r=nw(W|0,X|0,C|0,((C|0)<0)<<31>>31|0)|0;B=hD(r|0,D()|0,s|0,B|0)|0;s=D()|0;r=nw(Y|0,Z|0,g|0,((g|0)<0)<<31>>31|0)|0;r=hD(B|0,s|0,r|0,D()|0)|0;s=D()|0;g=(z(C,ca)|0)+(z(E,ba)|0)+(z(g,aa)|0)|0;do if((r|0)==0&(s|0)==0){if((g|0)>=0)break b}else{if((s|0)>=0)break b;if((g|0)>0){E=-1;v=g;u=((g|0)<0)<<31>>31}else{v=xC(0,0,g|0,((g|0)<0)<<31>>31|0)|0;u=D()|0;E=(g|0)!=0&1;v=g|0?v:0;u=g|0?u:0}y=xC(0,0,r|0,s|0)|0;A=D()|0;if((N|0)>0){r=-1;B=N;C=((N|0)<0)<<31>>31;g=1}else{B=xC(0,0,N|0,((N|0)<0)<<31>>31|0)|0;C=D()|0;r=(N|0)!=0&1;B=N|0?B:0;C=N|0?C:0;g=((N|0)!=0)<<31>>31}if((O|0)>0|(O|0)==0&q>>>0>0){s=q;t=O}else{x=(q|0)!=0|(O|0)!=0;s=xC(0,0,q|0,O|0)|0;t=D()|0;s=x?s:0;t=x?t:0;g=x?r:g}if((E|0)==(g|0)){if(!E)break;fa=nw(s|0,0,v|0,0)|0;g=D()|0;r=nw(t|0,0,v|0,0)|0;ga=D()|0;w=nw(s|0,0,u|0,0)|0;x=D()|0;v=nw(t|0,0,u|0,0)|0;u=D()|0;w=hD(r|0,0,w|0,0)|0;r=D()|0;u=hD(ga|0,0,v|0,u|0)|0;x=hD(u|0,D()|0,x|0,0)|0;r=hD(x|0,D()|0,r|0,0)|0;x=D()|0;u=hD(0,w|0,fa|0,g|0)|0;v=D()|0;w=hD(r|0,x|0,(v>>>0>>0|(v|0)==(w|0)&u>>>0<0)&1|0,0)|0;x=D()|0;r=nw(B|0,0,y|0,0)|0;g=D()|0;fa=nw(C|0,0,y|0,0)|0;y=D()|0;s=nw(B|0,0,A|0,0)|0;t=D()|0;A=nw(C|0,0,A|0,0)|0;B=D()|0;s=hD(fa|0,0,s|0,0)|0;C=D()|0;B=hD(y|0,0,A|0,B|0)|0;t=hD(B|0,D()|0,t|0,0)|0;C=hD(t|0,D()|0,C|0,0)|0;t=D()|0;g=hD(0,s|0,r|0,g|0)|0;r=D()|0;s=hD(C|0,t|0,(r>>>0>>0|(r|0)==(s|0)&g>>>0<0)&1|0,0)|0;t=D()|0;if(x>>>0>>0|(x|0)==(t|0)&w>>>0>>0)g=-1;else g=x>>>0>t>>>0|(x|0)==(t|0)&w>>>0>s>>>0?1:v>>>0>>0|(v|0)==(r|0)&u>>>0>>0?-1:(v>>>0>r>>>0|(v|0)==(r|0)&u>>>0>g>>>0)&1;g=z(g,E)|0}else g=E-g|0;if((g|0)<=-1)break b}while(0);O=K-G|0;h=L-H|0;q=M-I|0;O=nw(U|0,V|0,O|0,((O|0)<0)<<31>>31|0)|0;d=D()|0;h=nw(W|0,X|0,h|0,((h|0)<0)<<31>>31|0)|0;d=hD(h|0,D()|0,O|0,d|0)|0;O=D()|0;q=nw(Y|0,Z|0,q|0,((q|0)<0)<<31>>31|0)|0;q=hD(d|0,O|0,q|0,D()|0)|0;O=D()|0;d=(J|0)==(T|0)?0:F;c[e>>2]=d;J=d;d=G;h=H;l=I}g=c[f>>2]|0;if(!g){g=110;break}if(!(c[g+12>>2]|0)){g=110;break}G=c[c[g+8>>2]>>2]|0;if((c[G+20>>2]|0)<=(c[a+100>>2]|0)){g=110;break}s=c[G+12>>2]|0;v=c[s+88>>2]|0;t=v-K|0;u=c[s+92>>2]|0;r=u-L|0;s=c[s+96>>2]|0;g=s-M|0;ga=nw(t|0,((t|0)<0)<<31>>31|0,_|0,((_|0)<0)<<31>>31|0)|0;M=D()|0;fa=nw(r|0,((r|0)<0)<<31>>31|0,$|0,(($|0)<0)<<31>>31|0)|0;M=hD(fa|0,D()|0,ga|0,M|0)|0;ga=D()|0;fa=nw(P|0,Q|0,g|0,((g|0)<0)<<31>>31|0)|0;if(!((M|0)==(fa|0)&(ga|0)==(D()|0))){g=110;break}x=nw(U|0,V|0,t|0,((t|0)<0)<<31>>31|0)|0;F=D()|0;w=nw(W|0,X|0,r|0,((r|0)<0)<<31>>31|0)|0;F=hD(w|0,D()|0,x|0,F|0)|0;x=D()|0;w=nw(Y|0,Z|0,g|0,((g|0)<0)<<31>>31|0)|0;w=hD(F|0,x|0,w|0,D()|0)|0;x=D()|0;g=(z(r,ca)|0)+(z(t,ba)|0)+(z(g,aa)|0)|0;F=v-d|0;fa=u-h|0;E=s-l|0;F=nw(U|0,V|0,F|0,((F|0)<0)<<31>>31|0)|0;ga=D()|0;fa=nw(W|0,X|0,fa|0,((fa|0)<0)<<31>>31|0)|0;ga=hD(fa|0,D()|0,F|0,ga|0)|0;F=D()|0;E=nw(Y|0,Z|0,E|0,((E|0)<0)<<31>>31|0)|0;E=hD(ga|0,F|0,E|0,D()|0)|0;F=D()|0;if(!((F|0)>0|(F|0)==0&E>>>0>0)){g=110;break}if((w|0)==0&(x|0)==0){if((g|0)>=0){g=110;break}}else{if((x|0)>=0){g=110;break}if((g|0)>0){C=-1;u=g;t=((g|0)<0)<<31>>31}else{u=xC(0,0,g|0,((g|0)<0)<<31>>31|0)|0;t=D()|0;C=(g|0)!=0&1;u=g|0?u:0;t=g|0?t:0}x=xC(0,0,w|0,x|0)|0;y=D()|0;if((N|0)>0){s=-1;A=N;B=((N|0)<0)<<31>>31;g=1}else{A=xC(0,0,N|0,((N|0)<0)<<31>>31|0)|0;B=D()|0;s=(N|0)!=0&1;A=N|0?A:0;B=N|0?B:0;g=((N|0)!=0)<<31>>31}if((O|0)>0|(O|0)==0&q>>>0>0)r=O;else{ga=(q|0)!=0|(O|0)!=0;q=xC(0,0,q|0,O|0)|0;r=D()|0;q=ga?q:0;r=ga?r:0;g=ga?s:g}if((C|0)==(g|0)){if(!C){g=110;break}ga=nw(q|0,0,u|0,0)|0;g=D()|0;s=nw(r|0,0,u|0,0)|0;N=D()|0;v=nw(q|0,0,t|0,0)|0;w=D()|0;u=nw(r|0,0,t|0,0)|0;t=D()|0;v=hD(s|0,0,v|0,0)|0;q=D()|0;t=hD(N|0,0,u|0,t|0)|0;w=hD(t|0,D()|0,w|0,0)|0;q=hD(w|0,D()|0,q|0,0)|0;w=D()|0;t=hD(0,v|0,ga|0,g|0)|0;u=D()|0;v=hD(q|0,w|0,(u>>>0>>0|(u|0)==(v|0)&t>>>0<0)&1|0,0)|0;w=D()|0;q=nw(A|0,0,x|0,0)|0;g=D()|0;ga=nw(B|0,0,x|0,0)|0;N=D()|0;r=nw(A|0,0,y|0,0)|0;s=D()|0;O=nw(B|0,0,y|0,0)|0;fa=D()|0;r=hD(ga|0,0,r|0,0)|0;ga=D()|0;fa=hD(N|0,0,O|0,fa|0)|0;s=hD(fa|0,D()|0,s|0,0)|0;ga=hD(s|0,D()|0,ga|0,0)|0;s=D()|0;g=hD(0,r|0,q|0,g|0)|0;q=D()|0;r=hD(ga|0,s|0,(q>>>0>>0|(q|0)==(r|0)&g>>>0<0)&1|0,0)|0;s=D()|0;if(w>>>0>>0|(w|0)==(s|0)&v>>>0>>0)g=-1;else g=w>>>0>s>>>0|(w|0)==(s|0)&v>>>0>r>>>0?1:u>>>0>>0|(u|0)==(q|0)&t>>>0>>0?-1:(u>>>0>q>>>0|(u|0)==(q|0)&t>>>0>g>>>0)&1;g=z(g,C)|0}else g=C-g|0;if((g|0)<=0){g=110;break}}c[f>>2]=G;M=c[G+12>>2]|0;q=E;g=F;K=c[M+88>>2]|0;L=c[M+92>>2]|0;M=c[M+96>>2]|0}if((g|0)==110)return}if((b|0)>=0)return;G=xC(0,0,S|0,((S|0)<0)<<31>>31|0)|0;H=D()|0;h=p;d=R;g=m;F=k;c:while(1){x=h;E=b;C=j;y=d;A=g;d:while(1){B=(z(n-i|0,ca)|0)+(z(F-y|0,ba)|0)+(z(o-A|0,aa)|0)|0;do if((x|0?c[x+12>>2]|0:0)?(ea=c[(c[x+4>>2]|0)+8>>2]|0,(c[ea+20>>2]|0)>(c[a+100>>2]|0)):0){w=c[ea+12>>2]|0;u=c[w+88>>2]|0;ga=u-F|0;v=c[w+92>>2]|0;fa=v-n|0;w=c[w+96>>2]|0;g=w-o|0;d=nw(U|0,V|0,ga|0,((ga|0)<0)<<31>>31|0)|0;T=D()|0;b=nw(W|0,X|0,fa|0,((fa|0)<0)<<31>>31|0)|0;T=hD(b|0,D()|0,d|0,T|0)|0;d=D()|0;b=nw(Y|0,Z|0,g|0,((g|0)<0)<<31>>31|0)|0;b=hD(T|0,d|0,b|0,D()|0)|0;d=D()|0;g=(z(fa,ca)|0)+(z(ga,ba)|0)+(z(g,aa)|0)|0;if((b|0)==0&(d|0)==0)if((g|0)>0)break d;else break;if((d|0)<0){if((g|0)>0){t=-1;k=g;j=((g|0)<0)<<31>>31}else{k=xC(0,0,g|0,((g|0)<0)<<31>>31|0)|0;j=D()|0;t=(g|0)!=0&1;k=g|0?k:0;j=g|0?j:0}p=xC(0,0,b|0,d|0)|0;q=D()|0;if((B|0)>0){b=-1;r=B;s=((B|0)<0)<<31>>31;g=1}else{r=xC(0,0,B|0,((B|0)<0)<<31>>31|0)|0;s=D()|0;b=(B|0)!=0&1;r=B|0?r:0;s=B|0?s:0;g=((B|0)!=0)<<31>>31}if((E|0)>0|(E|0)==0&C>>>0>0){d=C;h=E}else{ga=(C|0)!=0|(E|0)!=0;d=xC(0,0,C|0,E|0)|0;h=D()|0;d=ga?d:0;h=ga?h:0;g=ga?b:g}if((t|0)==(g|0)){if(!t)break d;ga=nw(d|0,0,k|0,0)|0;g=D()|0;b=nw(h|0,0,k|0,0)|0;S=D()|0;l=nw(d|0,0,j|0,0)|0;m=D()|0;k=nw(h|0,0,j|0,0)|0;j=D()|0;l=hD(b|0,0,l|0,0)|0;b=D()|0;j=hD(S|0,0,k|0,j|0)|0;m=hD(j|0,D()|0,m|0,0)|0;b=hD(m|0,D()|0,b|0,0)|0;m=D()|0;j=hD(0,l|0,ga|0,g|0)|0;k=D()|0;l=hD(b|0,m|0,(k>>>0>>0|(k|0)==(l|0)&j>>>0<0)&1|0,0)|0;m=D()|0;b=nw(r|0,0,p|0,0)|0;g=D()|0;ga=nw(s|0,0,p|0,0)|0;S=D()|0;d=nw(r|0,0,q|0,0)|0;h=D()|0;T=nw(s|0,0,q|0,0)|0;fa=D()|0;d=hD(ga|0,0,d|0,0)|0;ga=D()|0;fa=hD(S|0,0,T|0,fa|0)|0;h=hD(fa|0,D()|0,h|0,0)|0;ga=hD(h|0,D()|0,ga|0,0)|0;h=D()|0;g=hD(0,d|0,b|0,g|0)|0;b=D()|0;d=hD(ga|0,h|0,(b>>>0>>0|(b|0)==(d|0)&g>>>0<0)&1|0,0)|0;h=D()|0;if(m>>>0>>0|(m|0)==(h|0)&l>>>0>>0)g=-1;else g=m>>>0>h>>>0|(m|0)==(h|0)&l>>>0>d>>>0?1:k>>>0>>0|(k|0)==(b|0)&j>>>0>>0?-1:(k>>>0>b>>>0|(k|0)==(b|0)&j>>>0>g>>>0)&1;g=z(g,t)|0}else g=t-g|0;if((g|0)<1)break d}}while(0);g=c[e>>2]|0;if(!g){g=110;break c}if(!(c[g+12>>2]|0)){g=110;break c}v=c[(c[g+8>>2]|0)+4>>2]|0;if((c[v+20>>2]|0)<=(c[a+100>>2]|0)){g=110;break c}d=c[v+12>>2]|0;k=c[d+88>>2]|0;h=k-y|0;j=c[d+92>>2]|0;b=j-i|0;d=c[d+96>>2]|0;g=d-A|0;ga=nw(h|0,((h|0)<0)<<31>>31|0,_|0,((_|0)<0)<<31>>31|0)|0;T=D()|0;fa=nw(b|0,((b|0)<0)<<31>>31|0,$|0,(($|0)<0)<<31>>31|0)|0;T=hD(fa|0,D()|0,ga|0,T|0)|0;ga=D()|0;fa=nw(G|0,H|0,g|0,((g|0)<0)<<31>>31|0)|0;if(!((T|0)==(fa|0)&(ga|0)==(D()|0))){g=110;break c}l=nw(U|0,V|0,h|0,((h|0)<0)<<31>>31|0)|0;u=D()|0;i=nw(W|0,X|0,b|0,((b|0)<0)<<31>>31|0)|0;u=hD(i|0,D()|0,l|0,u|0)|0;l=D()|0;i=nw(Y|0,Z|0,g|0,((g|0)<0)<<31>>31|0)|0;i=hD(u|0,l|0,i|0,D()|0)|0;l=D()|0;g=(z(b,ca)|0)+(z(h,ba)|0)+(z(g,aa)|0)|0;u=F-k|0;fa=n-j|0;t=o-d|0;u=nw(U|0,V|0,u|0,((u|0)<0)<<31>>31|0)|0;ga=D()|0;fa=nw(W|0,X|0,fa|0,((fa|0)<0)<<31>>31|0)|0;ga=hD(fa|0,D()|0,u|0,ga|0)|0;u=D()|0;t=nw(Y|0,Z|0,t|0,((t|0)<0)<<31>>31|0)|0;t=hD(ga|0,u|0,t|0,D()|0)|0;u=D()|0;if((u|0)>=0){g=110;break c}if((i|0)==0&(l|0)==0){if((g|0)<=0){g=110;break c}}else{if((l|0)>=0){g=110;break c}if((g|0)>0){s=-1;k=g;j=((g|0)<0)<<31>>31}else{k=xC(0,0,g|0,((g|0)<0)<<31>>31|0)|0;j=D()|0;s=(g|0)!=0&1;k=g|0?k:0;j=g|0?j:0}m=xC(0,0,i|0,l|0)|0;p=D()|0;if((B|0)>0){h=-1;q=B;r=((B|0)<0)<<31>>31;g=1}else{q=xC(0,0,B|0,((B|0)<0)<<31>>31|0)|0;r=D()|0;h=(B|0)!=0&1;q=B|0?q:0;r=B|0?r:0;g=((B|0)!=0)<<31>>31}if((E|0)>0|(E|0)==0&C>>>0>0){d=C;b=E}else{ga=(C|0)!=0|(E|0)!=0;d=xC(0,0,C|0,E|0)|0;b=D()|0;d=ga?d:0;b=ga?b:0;g=ga?h:g}if((s|0)==(g|0)){if(!s){g=110;break c}g=nw(d|0,0,k|0,0)|0;i=D()|0;h=nw(b|0,0,k|0,0)|0;S=D()|0;k=nw(d|0,0,j|0,0)|0;l=D()|0;ga=nw(b|0,0,j|0,0)|0;j=D()|0;k=hD(h|0,0,k|0,0)|0;b=D()|0;j=hD(S|0,0,ga|0,j|0)|0;l=hD(j|0,D()|0,l|0,0)|0;b=hD(l|0,D()|0,b|0,0)|0;l=D()|0;i=hD(0,k|0,g|0,i|0)|0;j=D()|0;k=hD(b|0,l|0,(j>>>0>>0|(j|0)==(k|0)&i>>>0<0)&1|0,0)|0;l=D()|0;b=nw(q|0,0,m|0,0)|0;g=D()|0;ga=nw(r|0,0,m|0,0)|0;S=D()|0;d=nw(q|0,0,p|0,0)|0;h=D()|0;T=nw(r|0,0,p|0,0)|0;fa=D()|0;d=hD(ga|0,0,d|0,0)|0;ga=D()|0;fa=hD(S|0,0,T|0,fa|0)|0;h=hD(fa|0,D()|0,h|0,0)|0;ga=hD(h|0,D()|0,ga|0,0)|0;h=D()|0;g=hD(0,d|0,b|0,g|0)|0;b=D()|0;d=hD(ga|0,h|0,(b>>>0>>0|(b|0)==(d|0)&g>>>0<0)&1|0,0)|0;h=D()|0;if(l>>>0>>0|(l|0)==(h|0)&k>>>0>>0)g=-1;else g=l>>>0>h>>>0|(l|0)==(h|0)&k>>>0>d>>>0?1:j>>>0>>0|(j|0)==(b|0)&i>>>0>>0?-1:(j>>>0>b>>>0|(j|0)==(b|0)&i>>>0>g>>>0)&1;g=z(g,s)|0}else g=s-g|0;if((g|0)>=0){g=110;break c}}c[e>>2]=v;A=c[v+12>>2]|0;x=c[f>>2]|0;E=u;C=t;y=c[A+88>>2]|0;i=c[A+92>>2]|0;A=c[A+96>>2]|0}b=u-y|0;d=v-i|0;j=w-A|0;b=nw(U|0,V|0,b|0,((b|0)<0)<<31>>31|0)|0;h=D()|0;d=nw(W|0,X|0,d|0,((d|0)<0)<<31>>31|0)|0;h=hD(d|0,D()|0,b|0,h|0)|0;b=D()|0;j=nw(Y|0,Z|0,j|0,((j|0)<0)<<31>>31|0)|0;j=hD(h|0,b|0,j|0,D()|0)|0;b=D()|0;h=(x|0)==(da|0)?0:ea;c[f>>2]=h;d=y;g=A;F=u;n=v;o=w}if((g|0)==110)return}function $b(b,d,e){b=b|0;d=d|0;e=e|0;var g=0,i=0,j=0,k=0.0,l=0,m=0,n=0.0,o=0,p=0.0,q=0,r=0.0,s=0.0,t=0,u=0.0,v=0,w=0,x=0,y=0.0,A=0.0,B=0.0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0;I=Ta;Ta=Ta+176|0;if((e|0)<1){g=c[b+12>>2]|0;if(g|0){if(a[b+16>>0]|0){c[6880]=(c[6880]|0)+1;kd(c[g+-4>>2]|0)}c[b+12>>2]=0}a[b+16>>0]=1;c[b+12>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;g=c[b+32>>2]|0;if(g|0){if(a[b+36>>0]|0){c[6880]=(c[6880]|0)+1;kd(c[g+-4>>2]|0)}c[b+32>>2]=0}a[b+36>>0]=1;c[b+32>>2]=0;c[b+24>>2]=0;c[b+28>>2]=0;g=c[b+52>>2]|0;if(g|0){if(a[b+56>>0]|0){c[6880]=(c[6880]|0)+1;kd(c[g+-4>>2]|0)}c[b+52>>2]=0}a[b+56>>0]=1;c[b+52>>2]=0;c[b+44>>2]=0;c[b+48>>2]=0;Ta=I;return}c[I+32>>2]=0;c[I+36>>2]=0;c[I+40>>2]=0;c[I+44>>2]=256;c[I+48>>2]=0;c[I+52>>2]=0;c[I+56>>2]=0;c[I+60>>2]=256;c[I+64>>2]=0;c[I+68>>2]=0;c[I+72>>2]=0;c[I+76>>2]=256;a[I+96>>0]=1;c[I+92>>2]=0;c[I+84>>2]=0;c[I+88>>2]=0;l=0;m=-246811958;t=-246811958;w=-246811958;q=1900671690;v=1900671690;x=1900671690;o=d;while(1){g=c[o>>2]|0;i=c[o+4>>2]|0;j=c[o+8>>2]|0;k=(c[h>>2]=g,+f[h>>2]);q=k<(c[h>>2]=q,+f[h>>2])?g:q;n=(c[h>>2]=i,+f[h>>2]);v=n<(c[h>>2]=v,+f[h>>2])?i:v;p=(c[h>>2]=j,+f[h>>2]);x=p<(c[h>>2]=x,+f[h>>2])?j:x;m=(c[h>>2]=m,+f[h>>2])>2]=t,+f[h>>2])>2]=w,+f[h>>2])>2]=m,+f[h>>2]);s=(c[h>>2]=q,+f[h>>2]);r=(c[h>>2]=t,+f[h>>2]);p=(c[h>>2]=v,+f[h>>2]);n=(c[h>>2]=w,+f[h>>2]);k=(c[h>>2]=x,+f[h>>2]);i=u-s>2]=i;g=u-s>>0)%3|0;c[I+104>>2]=g;t=(i^3)-g|0;c[I+108>>2]=t;y=((t+1|0)%3|0|0)==(i|0)?(u-s)*9.788566967472434e-05:-((u-s)*9.788566967472434e-05);A=((t+1|0)%3|0|0)==(i|0)?(r-p)*9.788566967472434e-05:-((r-p)*9.788566967472434e-05);B=((t+1|0)%3|0|0)==(i|0)?(n-k)*9.788566967472434e-05:-((n-k)*9.788566967472434e-05);f[I>>2]=y;f[I+4>>2]=A;f[I+8>>2]=B;f[I+12>>2]=0.0;y=y!=0.0?1.0/y:y;A=A!=0.0?1.0/A:A;B=B!=0.0?1.0/B:B;f[I+16>>2]=(u+s)*.5;f[I+20>>2]=(r+p)*.5;f[I+24>>2]=(n+k)*.5;f[I+28>>2]=0.0;t=I+144+16|0;a[t>>0]=1;q=I+144+12|0;c[q>>2]=0;c[I+144+4>>2]=0;c[I+144+8>>2]=0;c[6879]=(c[6879]|0)+1;g=Zb((e<<4|3)+16|0)|0;if(!g)l=0;else{c[(g+4+15&-16)+-4>>2]=g;l=g+4+15&-16}j=c[I+144+4>>2]|0;i=c[q>>2]|0;if((j|0)<=0){if(i|0)H=25}else{g=0;do{H=l+(g<<4)|0;F=i+(g<<4)|0;c[H>>2]=c[F>>2];c[H+4>>2]=c[F+4>>2];c[H+8>>2]=c[F+8>>2];c[H+12>>2]=c[F+12>>2];g=g+1|0}while((g|0)!=(j|0));H=25}if((H|0)==25){if(a[t>>0]|0){c[6880]=(c[6880]|0)+1;kd(c[i+-4>>2]|0)}c[q>>2]=0}a[t>>0]=1;c[q>>2]=l;c[I+144+8>>2]=e;c[l>>2]=c[I+128>>2];c[l+4>>2]=c[I+128+4>>2];c[l+8>>2]=c[I+128+8>>2];c[l+12>>2]=c[I+128+12>>2];if((e|0)!=1){g=1;do{F=(c[q>>2]|0)+(g<<4)|0;c[F>>2]=c[I+128>>2];c[F+4>>2]=c[I+128+4>>2];c[F+8>>2]=c[I+128+8>>2];c[F+12>>2]=c[I+128+12>>2];g=g+1|0}while((g|0)!=(e|0))}c[I+144+4>>2]=e;j=I+128+(c[I+108>>2]<<2)|0;i=c[q>>2]|0;l=I+128+(c[I+112>>2]<<2)|0;m=I+128+(c[I+104>>2]<<2)|0;k=+f[I+16>>2];n=+f[I+20>>2];p=+f[I+24>>2];o=0;g=d;while(1){s=A*(+f[g+4>>2]-n);u=B*(+f[g+8>>2]-p);f[I+128>>2]=y*(+f[g>>2]-k);f[I+128+4>>2]=s;f[I+128+8>>2]=u;f[I+128+12>>2]=0.0;c[i+(o<<4)>>2]=~~+f[j>>2];c[i+(o<<4)+4>>2]=~~+f[l>>2];c[i+(o<<4)+8>>2]=~~+f[m>>2];c[i+(o<<4)+12>>2]=o;o=o+1|0;if((o|0)==(e|0))break;else g=g+16|0}if((e|0)>1)ah(I+144|0,0,e+-1|0);c[I+36>>2]=c[I+32>>2];c[I+40>>2]=0;c[I+44>>2]=e;g=c[I+84>>2]|0;if((g|0)<(e|0)){if((c[I+88>>2]|0)<(e|0)){if(!e){j=g;l=0}else{c[6879]=(c[6879]|0)+1;i=Zb((e<<2|3)+16|0)|0;if(!i)i=0;else{c[(i+4+15&-16)+-4>>2]=i;i=i+4+15&-16}j=c[I+84>>2]|0;l=i}if((j|0)>0){i=0;do{c[l+(i<<2)>>2]=c[(c[I+92>>2]|0)+(i<<2)>>2];i=i+1|0}while((i|0)!=(j|0))}i=c[I+92>>2]|0;if(i|0){if(a[I+96>>0]|0){c[6880]=(c[6880]|0)+1;kd(c[i+-4>>2]|0)}c[I+92>>2]=0}a[I+96>>0]=1;c[I+92>>2]=l;c[I+88>>2]=e}do{c[(c[I+92>>2]|0)+(g<<2)>>2]=0;g=g+1|0}while((g|0)!=(e|0))}c[I+84>>2]=e;m=0;do{g=c[I+40>>2]|0;if(!g){g=c[I+36>>2]|0;if(!g){c[6879]=(c[6879]|0)+1;g=Zb(31)|0;if(!g)i=0;else{c[(g+4+15&-16)+-4>>2]=g;i=g+4+15&-16}g=c[I+44>>2]|0;c[i+4>>2]=g;j=i+8|0;c[j>>2]=0;c[6879]=(c[6879]|0)+1;g=Zb((g*112|3)+16|0)|0;if(!g)g=0;else{c[(g+4+15&-16)+-4>>2]=g;g=g+4+15&-16}c[i>>2]=g;c[j>>2]=c[I+32>>2];c[I+32>>2]=i}else{c[I+36>>2]=c[g+8>>2];i=g}g=c[i>>2]|0;i=c[i+4>>2]|0;if((i|0)>0?(c[g>>2]=(i|0)!=1?g+112|0:0,(i|0)!=1):0){j=1;l=g+112|0;do{j=j+1|0;F=(j|0)<(i|0);E=l;l=l+112|0;c[E>>2]=F?l:0}while(F)}}c[I+40>>2]=c[g>>2];F=g+104|0;c[g>>2]=0;c[g+4>>2]=0;c[g+8>>2]=0;c[g+12>>2]=0;c[g+16>>2]=0;c[F>>2]=-1;c[g+8>>2]=0;D=(c[q>>2]|0)+(m<<4)|0;E=g+88|0;c[E>>2]=c[D>>2];c[E+4>>2]=c[D+4>>2];c[E+8>>2]=c[D+8>>2];c[E+12>>2]=c[D+12>>2];c[F>>2]=-1;c[(c[I+92>>2]|0)+(m<<2)>>2]=g;m=m+1|0}while((m|0)<(e|0));g=c[q>>2]|0;if(g|0){if(a[t>>0]|0){c[6880]=(c[6880]|0)+1;kd(c[g+-4>>2]|0)}c[q>>2]=0}a[t>>0]=1;c[q>>2]=0;c[I+144+4>>2]=0;c[I+144+8>>2]=0;c[I+52>>2]=c[I+48>>2];c[I+56>>2]=0;c[I+60>>2]=e*6;c[I+116>>2]=0;c[I+120>>2]=0;c[I+100>>2]=-3;c[I+128>>2]=0;c[I+128+4>>2]=0;c[I+128+8>>2]=0;c[I+128+12>>2]=0;Wb(I,0,e,I+128|0);c[I+124>>2]=c[I+128>>2];g=c[q>>2]|0;if(g|0){if(a[t>>0]|0){c[6880]=(c[6880]|0)+1;kd(c[g+-4>>2]|0)}c[q>>2]=0}g=c[b+4>>2]|0;if((g|0)<0){if((c[b+8>>2]|0)<0){i=c[b+12>>2]|0;if(i|0){if(a[b+16>>0]|0){c[6880]=(c[6880]|0)+1;kd(c[i+-4>>2]|0)}c[b+12>>2]=0}a[b+16>>0]=1;c[b+12>>2]=0;c[b+8>>2]=0}do{F=(c[b+12>>2]|0)+(g<<4)|0;c[F>>2]=c[I+144>>2];c[F+4>>2]=c[I+144+4>>2];c[F+8>>2]=c[I+144+8>>2];c[F+12>>2]=c[I+144+12>>2];g=g+1|0}while((g|0)!=0)}c[b+4>>2]=0;c[I+144>>2]=0;c[I+144+4>>2]=0;c[I+144+8>>2]=0;g=c[b+24>>2]|0;if((g|0)<0){if((c[b+28>>2]|0)<0){i=c[b+32>>2]|0;if(i|0){if(a[b+36>>0]|0){c[6880]=(c[6880]|0)+1;kd(c[i+-4>>2]|0)}c[b+32>>2]=0}a[b+36>>0]=1;c[b+32>>2]=0;c[b+28>>2]=0}do{F=(c[b+32>>2]|0)+(g*12|0)|0;c[F>>2]=c[I+144>>2];c[F+4>>2]=c[I+144+4>>2];c[F+8>>2]=c[I+144+8>>2];g=g+1|0}while((g|0)!=0)}c[b+24>>2]=0;i=c[b+44>>2]|0;if((i|0)<0){g=c[b+52>>2]|0;if((c[b+48>>2]|0)<0){if(g|0?a[b+56>>0]|0:0){c[6880]=(c[6880]|0)+1;kd(c[g+-4>>2]|0)}a[b+56>>0]=1;c[b+52>>2]=0;c[b+48>>2]=0;g=0}el(g+(i<<2)|0,0,z(i,-4)|0)|0}c[b+44>>2]=0;i=c[I+124>>2]|0;if((c[i+104>>2]|0)<0){c[i+104>>2]=0;c[6879]=(c[6879]|0)+1;g=Zb(23)|0;if(!g)g=0;else{c[(g+4+15&-16)+-4>>2]=g;g=g+4+15&-16}c[g>>2]=i;o=g;q=g;F=0;t=1;v=g;j=1;while(1){if((c[i+100>>2]|0)>-1){f[I+144+(c[I+108>>2]<<2)>>2]=+(c[i+88>>2]|0);f[I+144+(c[I+112>>2]<<2)>>2]=+(c[i+92>>2]|0);k=+(c[i+96>>2]|0)}else{k=+kl(i+24|0);E=i+72|0;k=k/+kl(E);f[I+144+(c[I+108>>2]<<2)>>2]=k;k=+kl(i+40|0);k=k/+kl(E);f[I+144+(c[I+112>>2]<<2)>>2]=k;k=+kl(i+56|0);k=k/+kl(E)}f[I+144+(c[I+104>>2]<<2)>>2]=k;k=+f[I+144>>2]*+f[I>>2]+ +f[I+16>>2];p=+f[I+144+4>>2]*+f[I+4>>2]+ +f[I+20>>2];n=+f[I+144+8>>2]*+f[I+8>>2]+ +f[I+24>>2];g=c[b+4>>2]|0;if((g|0)==(c[b+8>>2]|0)?(G=(g|0)==0?1:g<<1,(g|0)<(G|0)):0){if(!G)l=0;else{c[6879]=(c[6879]|0)+1;g=Zb((G<<4|3)+16|0)|0;if(!g)l=0;else{c[(g+4+15&-16)+-4>>2]=g;l=g+4+15&-16}g=c[b+4>>2]|0}if((g|0)>0){m=0;do{E=l+(m<<4)|0;D=(c[b+12>>2]|0)+(m<<4)|0;c[E>>2]=c[D>>2];c[E+4>>2]=c[D+4>>2];c[E+8>>2]=c[D+8>>2];c[E+12>>2]=c[D+12>>2];m=m+1|0}while((m|0)!=(g|0))}g=c[b+12>>2]|0;if(g|0){if(a[b+16>>0]|0){c[6880]=(c[6880]|0)+1;kd(c[g+-4>>2]|0)}c[b+12>>2]=0}a[b+16>>0]=1;c[b+12>>2]=l;c[b+8>>2]=G;g=c[b+4>>2]|0}E=c[b+12>>2]|0;f[E+(g<<4)>>2]=k;f[E+(g<<4)+4>>2]=p;f[E+(g<<4)+8>>2]=n;f[E+(g<<4)+12>>2]=0.0;c[b+4>>2]=(c[b+4>>2]|0)+1;E=c[i+8>>2]|0;if(!E){x=q;l=o;m=t;w=v}else{l=o;w=q;D=E;i=-1;m=t;e=v;C=-1;while(1){d=D+20|0;g=c[d>>2]|0;if((g|0)<0){x=c[b+24>>2]|0;c[I+144>>2]=0;c[I+144+4>>2]=0;c[I+144+8>>2]=0;do if((x|0)==(c[b+28>>2]|0)){t=(x|0)==0?1:x<<1;if((x|0)>=(t|0)){g=x;break}if(!t){o=x;q=0}else{c[6879]=(c[6879]|0)+1;g=Zb((t*12|3)+16|0)|0;if(!g)g=0;else{c[(g+4+15&-16)+-4>>2]=g;g=g+4+15&-16}o=c[b+24>>2]|0;q=g}if((o|0)>0){g=0;do{v=q+(g*12|0)|0;J=(c[b+32>>2]|0)+(g*12|0)|0;c[v>>2]=c[J>>2];c[v+4>>2]=c[J+4>>2];c[v+8>>2]=c[J+8>>2];g=g+1|0}while((g|0)!=(o|0))}g=c[b+32>>2]|0;if(g|0){if(a[b+36>>0]|0){c[6880]=(c[6880]|0)+1;kd(c[g+-4>>2]|0)}c[b+32>>2]=0}a[b+36>>0]=1;c[b+32>>2]=q;c[b+28>>2]=t;g=c[b+24>>2]|0}else g=x;while(0);g=(c[b+32>>2]|0)+(g*12|0)|0;c[g>>2]=c[I+144>>2];c[g+4>>2]=c[I+144+4>>2];c[g+8>>2]=c[I+144+8>>2];g=(c[b+24>>2]|0)+1|0;c[b+24>>2]=g;c[I+144>>2]=0;c[I+144+4>>2]=0;c[I+144+8>>2]=0;do if((g|0)==(c[b+28>>2]|0)){t=(g|0)==0?1:g<<1;if((g|0)>=(t|0))break;if(!t)o=0;else{c[6879]=(c[6879]|0)+1;g=Zb((t*12|3)+16|0)|0;if(!g)o=0;else{c[(g+4+15&-16)+-4>>2]=g;o=g+4+15&-16}g=c[b+24>>2]|0}if((g|0)>0){q=0;do{J=o+(q*12|0)|0;v=(c[b+32>>2]|0)+(q*12|0)|0;c[J>>2]=c[v>>2];c[J+4>>2]=c[v+4>>2];c[J+8>>2]=c[v+8>>2];q=q+1|0}while((q|0)!=(g|0))}g=c[b+32>>2]|0;if(g|0){if(a[b+36>>0]|0){c[6880]=(c[6880]|0)+1;kd(c[g+-4>>2]|0)}c[b+32>>2]=0}a[b+36>>0]=1;c[b+32>>2]=o;c[b+28>>2]=t;g=c[b+24>>2]|0}while(0);v=(c[b+32>>2]|0)+(g*12|0)|0;c[v>>2]=c[I+144>>2];c[v+4>>2]=c[I+144+4>>2];c[v+8>>2]=c[I+144+8>>2];c[b+24>>2]=(c[b+24>>2]|0)+1;v=c[b+32>>2]|0;c[d>>2]=x;c[(c[D+8>>2]|0)+20>>2]=x+1;c[v+(x*12|0)+4>>2]=1;c[v+((x+1|0)*12|0)+4>>2]=-1;t=c[D+12>>2]|0;g=c[t+104>>2]|0;if((g|0)<0){c[t+104>>2]=j;do if((j|0)==(m|0)){q=(m|0)==0?1:m<<1;if((m|0)>=(q|0)){g=w;o=e;break}do if(!q)o=0;else{c[6879]=(c[6879]|0)+1;g=Zb((q<<2|3)+16|0)|0;if(!g){o=0;break}c[(g+4+15&-16)+-4>>2]=g;o=g+4+15&-16}while(0);if((m|0)>0){g=0;do{c[o+(g<<2)>>2]=c[e+(g<<2)>>2];g=g+1|0}while((g|0)!=(m|0));if(!l){g=o;l=o;m=q;break}}else if((e|0)==0|(l|0)==0){g=o;l=o;m=q;break}c[6880]=(c[6880]|0)+1;kd(c[l+-4>>2]|0);g=o;l=o;m=q}else{g=w;o=e}while(0);c[o+(j<<2)>>2]=t;q=g;g=j;j=j+1|0}else{q=w;o=e}c[v+(x*12|0)+8>>2]=g;c[v+((x+1|0)*12|0)+8>>2]=F;g=c[d>>2]|0}else{q=w;o=e}if((C|0)>-1)c[(c[b+32>>2]|0)+(g*12|0)>>2]=C-g;else i=g;D=c[D>>2]|0;if((D|0)==(E|0))break;else{w=q;e=o;C=g}}c[(c[b+32>>2]|0)+(i*12|0)>>2]=g-i;x=q;w=o}g=F+1|0;if((g|0)>=(j|0))break;i=c[w+(g<<2)>>2]|0;o=l;q=x;F=g;t=m;v=w}v=0;while(1){q=c[(c[w+(v<<2)>>2]|0)+8>>2]|0;if(q|0){t=q;do{o=t+20|0;g=c[o>>2]|0;if((g|0)>-1){i=c[b+44>>2]|0;do if((i|0)==(c[b+48>>2]|0)){m=(i|0)==0?1:i<<1;if((i|0)>=(m|0))break;if(!m){g=i;i=0}else{c[6879]=(c[6879]|0)+1;g=Zb((m<<2|3)+16|0)|0;if(!g)i=0;else{c[(g+4+15&-16)+-4>>2]=g;i=g+4+15&-16}g=c[b+44>>2]|0}l=c[b+52>>2]|0;if((g|0)<=0){if(l)H=186}else{j=0;do{c[i+(j<<2)>>2]=c[l+(j<<2)>>2];j=j+1|0}while((j|0)!=(g|0));H=186}if((H|0)==186){H=0;if(a[b+56>>0]|0){c[6880]=(c[6880]|0)+1;kd(c[l+-4>>2]|0)}c[b+52>>2]=0;g=c[b+44>>2]|0}a[b+56>>0]=1;c[b+52>>2]=i;c[b+48>>2]=m;i=g;g=c[o>>2]|0}while(0);c[(c[b+52>>2]|0)+(i<<2)>>2]=g;c[b+44>>2]=(c[b+44>>2]|0)+1;g=t;do{c[g+20>>2]=-1;g=c[(c[g+8>>2]|0)+4>>2]|0}while((g|0)!=(t|0))}t=c[t>>2]|0}while((t|0)!=(q|0))}if((v|0)==(F|0))break;else v=v+1|0}if(!((w|0)==0|(x|0)==0)){c[6880]=(c[6880]|0)+1;kd(c[x+-4>>2]|0)}}Vi(I);Ta=I;return}function ac(b){b=b|0;var d=0,e=0.0,g=0.0,h=0,i=0,j=0.0,k=0,l=0.0,m=0.0,n=0.0,o=0,p=0,q=0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0,C=0.0,D=0.0,E=0.0,F=0.0,G=0,H=0,I=0,J=0.0,K=0.0,L=0.0,M=0.0,N=0.0,O=0.0,P=0.0,Q=0.0,R=0.0,S=0.0,T=0.0,U=0.0,V=0.0,W=0;I=Ta;Ta=Ta+64|0;if(!(a[b+356>>0]|0)){b=a[b+312>>0]|0;b=b<<24>>24!=0;Ta=I;return b|0}c[b+336>>2]=0;c[b+336+4>>2]=0;c[b+336+8>>2]=0;c[b+336+12>>2]=0;a[b+336+16>>0]=0;k=a[b+332>>0]|0;a[b+332>>0]=k&-16;a[b+356>>0]=0;switch(c[b>>2]|0){case 0:{a[b+312>>0]=0;b=0;b=b<<24>>24!=0;Ta=I;return b|0}case 1:{c[b+244>>2]=c[b+84>>2];c[b+244+4>>2]=c[b+84+4>>2];c[b+244+8>>2]=c[b+84+8>>2];c[b+244+12>>2]=c[b+84+12>>2];c[b+260>>2]=c[b+164>>2];c[b+260+4>>2]=c[b+164+4>>2];c[b+260+8>>2]=c[b+164+8>>2];c[b+260+12>>2]=c[b+164+12>>2];E=+f[b+248>>2]-+f[b+264>>2];F=+f[b+252>>2]-+f[b+268>>2];f[b+276>>2]=+f[b+244>>2]-+f[b+260>>2];f[b+280>>2]=E;f[b+284>>2]=F;f[b+288>>2]=0.0;a[b+352>>0]=0;a[b+332>>0]=k&-16;f[b+336>>2]=1.0;f[b+340>>2]=0.0;f[b+344>>2]=0.0;f[b+348>>2]=0.0;a[b+312>>0]=1;b=1;b=b<<24>>24!=0;Ta=I;return b|0}case 2:{e=+f[b+4>>2];g=+f[b+8>>2];j=+f[b+12>>2];l=+f[b+20>>2]-e;n=+f[b+24>>2]-g;m=+f[b+28>>2]-j;if((0.0-e)*l+(0.0-g)*n+(0.0-j)*m>0.0)if((0.0-e)*l+(0.0-g)*n+(0.0-j)*m>0]=k&-16|h;e=1.0-g;f[b+336>>2]=e;f[b+340>>2]=g;f[b+344>>2]=0.0;f[b+348>>2]=0.0;A=+f[b+84>>2];C=+f[b+88>>2];E=+f[b+92>>2];A=A+g*(+f[b+100>>2]-A);C=C+g*(+f[b+104>>2]-C);E=E+g*(+f[b+108>>2]-E);f[b+244>>2]=A;f[b+248>>2]=C;f[b+252>>2]=E;f[b+256>>2]=0.0;B=+f[b+164>>2];D=+f[b+168>>2];F=+f[b+172>>2];B=B+g*(+f[b+180>>2]-B);D=D+g*(+f[b+184>>2]-D);F=F+g*(+f[b+188>>2]-F);f[b+260>>2]=B;f[b+264>>2]=D;f[b+268>>2]=F;f[b+272>>2]=0.0;f[b+276>>2]=A-B;f[b+280>>2]=C-D;f[b+284>>2]=E-F;f[b+288>>2]=0.0;if(!(h&2)){c[b>>2]=1;d=0}else d=1;if(!(h&1)){q=b+4+(d<<4)|0;G=b+84+(d<<4)|0;H=b+164+(d<<4)|0;c[b>>2]=d;c[b+4>>2]=c[q>>2];c[b+4+4>>2]=c[q+4>>2];c[b+4+8>>2]=c[q+8>>2];c[b+4+12>>2]=c[q+12>>2];c[b+84>>2]=c[G>>2];c[b+84+4>>2]=c[G+4>>2];c[b+84+8>>2]=c[G+8>>2];c[b+84+12>>2]=c[G+12>>2];c[b+164>>2]=c[H>>2];c[b+164+4>>2]=c[H+4>>2];c[b+164+8>>2]=c[H+8>>2];c[b+164+12>>2]=c[H+12>>2]}H=g>=0.0&e>=0.0&1;a[b+312>>0]=H;b=H;b=b<<24>>24!=0;Ta=I;return b|0}case 3:{c[I+16>>2]=0;c[I+16+4>>2]=0;c[I+16+8>>2]=0;c[I+16+12>>2]=0;Xe(I+16|0,b+4|0,b+20|0,b+36|0,b+316|0);F=+f[b+336>>2];e=+f[b+340>>2];g=+f[b+344>>2];A=+f[b+84>>2]*F+ +f[b+100>>2]*e+ +f[b+116>>2]*g;C=F*+f[b+88>>2]+e*+f[b+104>>2]+g*+f[b+120>>2];E=F*+f[b+92>>2]+e*+f[b+108>>2]+g*+f[b+124>>2];f[b+244>>2]=A;f[b+248>>2]=C;f[b+252>>2]=E;f[b+256>>2]=0.0;B=F*+f[b+164>>2]+e*+f[b+180>>2]+g*+f[b+196>>2];D=F*+f[b+168>>2]+e*+f[b+184>>2]+g*+f[b+200>>2];F=F*+f[b+172>>2]+e*+f[b+188>>2]+g*+f[b+204>>2];f[b+260>>2]=B;f[b+264>>2]=D;f[b+268>>2]=F;f[b+272>>2]=0.0;f[b+276>>2]=A-B;f[b+280>>2]=C-D;f[b+284>>2]=E-F;f[b+288>>2]=0.0;k=c[b>>2]|0;do if((k|0)>3){d=a[b+332>>0]|0;if(!(d&8)){h=b+164+(k+-1<<4)|0;i=b+84+(k+-1<<4)|0;H=b+4+(k+-1<<4)|0;c[b>>2]=k+-1;c[b+52>>2]=c[H>>2];c[b+52+4>>2]=c[H+4>>2];c[b+52+8>>2]=c[H+8>>2];c[b+52+12>>2]=c[H+12>>2];c[b+132>>2]=c[i>>2];c[b+132+4>>2]=c[i+4>>2];c[b+132+8>>2]=c[i+8>>2];c[b+132+12>>2]=c[i+12>>2];c[b+212>>2]=c[h>>2];c[b+212+4>>2]=c[h+4>>2];c[b+212+8>>2]=c[h+8>>2];c[b+212+12>>2]=c[h+12>>2];h=b+332|0;k=k+-1|0;i=d;H=19}else{h=b+332|0;i=d;H=19}}else{if((k|0)==3){h=b+332|0;k=3;i=a[b+332>>0]|0;H=19;break}if((k|0)<=1){if((k|0)==1){d=1;H=26}}else{d=2;H=22}}while(0);if((H|0)==19){d=k+-1|0;if(!(i&4)){c[b>>2]=d;c[b+36>>2]=c[b+4+(d<<4)>>2];c[b+36+4>>2]=c[b+4+(d<<4)+4>>2];c[b+36+8>>2]=c[b+4+(d<<4)+8>>2];c[b+36+12>>2]=c[b+4+(d<<4)+12>>2];c[b+116>>2]=c[b+84+(d<<4)>>2];c[b+116+4>>2]=c[b+84+(d<<4)+4>>2];c[b+116+8>>2]=c[b+84+(d<<4)+8>>2];c[b+116+12>>2]=c[b+84+(d<<4)+12>>2];c[b+196>>2]=c[b+164+(d<<4)>>2];c[b+196+4>>2]=c[b+164+(d<<4)+4>>2];c[b+196+8>>2]=c[b+164+(d<<4)+8>>2];c[b+196+12>>2]=c[b+164+(d<<4)+12>>2];H=23}else{d=k;H=22}}if((H|0)==22){h=b+332|0;H=23}if((H|0)==23){i=d+-1|0;if(!(a[h>>0]&2)){c[b>>2]=i;c[b+20>>2]=c[b+4+(i<<4)>>2];c[b+20+4>>2]=c[b+4+(i<<4)+4>>2];c[b+20+8>>2]=c[b+4+(i<<4)+8>>2];c[b+20+12>>2]=c[b+4+(i<<4)+12>>2];c[b+100>>2]=c[b+84+(i<<4)>>2];c[b+100+4>>2]=c[b+84+(i<<4)+4>>2];c[b+100+8>>2]=c[b+84+(i<<4)+8>>2];c[b+100+12>>2]=c[b+84+(i<<4)+12>>2];c[b+180>>2]=c[b+164+(i<<4)>>2];c[b+180+4>>2]=c[b+164+(i<<4)+4>>2];c[b+180+8>>2]=c[b+164+(i<<4)+8>>2];c[b+180+12>>2]=c[b+164+(i<<4)+12>>2];o=h;H=27}else H=26}if((H|0)==26){o=b+332|0;i=d;H=27}if((H|0)==27?(p=i+-1|0,(a[o>>0]&1)==0):0){c[b>>2]=p;c[b+4>>2]=c[b+4+(p<<4)>>2];c[b+4+4>>2]=c[b+4+(p<<4)+4>>2];c[b+4+8>>2]=c[b+4+(p<<4)+8>>2];c[b+4+12>>2]=c[b+4+(p<<4)+12>>2];c[b+84>>2]=c[b+84+(p<<4)>>2];c[b+84+4>>2]=c[b+84+(p<<4)+4>>2];c[b+84+8>>2]=c[b+84+(p<<4)+8>>2];c[b+84+12>>2]=c[b+84+(p<<4)+12>>2];c[b+164>>2]=c[b+164+(p<<4)>>2];c[b+164+4>>2]=c[b+164+(p<<4)+4>>2];c[b+164+8>>2]=c[b+164+(p<<4)+8>>2];c[b+164+12>>2]=c[b+164+(p<<4)+12>>2]}if((e>=0.0?!(+f[b+336>>2]>=0.0):1)|!(g>=0.0))d=0;else d=+f[b+348>>2]>=0.0&1;a[b+312>>0]=d;b=d;b=b<<24>>24!=0;Ta=I;return b|0}case 4:{c[I>>2]=0;c[I+4>>2]=0;c[I+8>>2]=0;c[I+12>>2]=0;q=I+16+16|0;a[q>>0]=0;c[b+316>>2]=0;c[b+316+4>>2]=0;c[b+316+8>>2]=0;c[b+316+12>>2]=0;a[b+332>>0]=k|15;K=+f[b+20>>2];T=+f[b+4>>2];Q=+f[b+24>>2];J=+f[b+8>>2];M=+f[b+28>>2];U=+f[b+12>>2];P=+f[b+36>>2];R=+f[b+40>>2];N=+f[b+44>>2];L=+f[b+52>>2];S=+f[b+56>>2];O=+f[b+60>>2];V=((Q-J)*(N-U)-(M-U)*(R-J))*(L-T)+((M-U)*(P-T)-(K-T)*(N-U))*(S-J)+((K-T)*(R-J)-(Q-J)*(P-T))*(O-U);i=V*V<9.99999905104687e-09?-1:((0.0-T)*((Q-J)*(N-U)-(M-U)*(R-J))+(0.0-J)*((M-U)*(P-T)-(K-T)*(N-U))+((K-T)*(R-J)-(Q-J)*(P-T))*(0.0-U))*V<0.0&1;V=(M-U)*((P-T)*(S-J)-(R-J)*(L-T))+((K-T)*((R-J)*(O-U)-(N-U)*(S-J))+(Q-J)*((N-U)*(L-T)-(P-T)*(O-U)));k=V*V<9.99999905104687e-09?-1:((0.0-U)*((P-T)*(S-J)-(R-J)*(L-T))+((0.0-T)*((R-J)*(O-U)-(N-U)*(S-J))+(0.0-J)*((N-U)*(L-T)-(P-T)*(O-U))))*V<0.0&1;V=(N-U)*((Q-J)*(L-T)-(K-T)*(S-J))+((P-T)*((M-U)*(S-J)-(Q-J)*(O-U))+(R-J)*((K-T)*(O-U)-(M-U)*(L-T)));o=V*V<9.99999905104687e-09?-1:((0.0-U)*((Q-J)*(L-T)-(K-T)*(S-J))+((0.0-T)*((M-U)*(S-J)-(Q-J)*(O-U))+(0.0-J)*((K-T)*(O-U)-(M-U)*(L-T))))*V<0.0&1;J=(U-M)*((R-Q)*(L-K)-(P-K)*(S-Q))+((T-K)*((N-M)*(S-Q)-(R-Q)*(O-M))+(J-Q)*((P-K)*(O-M)-(N-M)*(L-K)));p=J*J<9.99999905104687e-09?-1:((0.0-M)*((R-Q)*(L-K)-(P-K)*(S-Q))+((0.0-K)*((N-M)*(S-Q)-(R-Q)*(O-M))+(0.0-Q)*((P-K)*(O-M)-(N-M)*(L-K))))*J<0.0&1;do if((k|i|o|p|0)<0){a[b+352>>0]=1;d=b+312|0;H=68}else{if(!(k|i|o|p)){if(a[b+352>>0]|0){d=b+312|0;H=68;break}a[b+312>>0]=1;c[b+276>>2]=0;c[b+276+4>>2]=0;c[b+276+8>>2]=0;c[b+276+12>>2]=0;d=1;break}if((i|0)!=0?(Xe(I,b+4|0,b+20|0,b+36|0,I+16|0),e=+f[I+16>>2],g=+f[I+16+4>>2],j=+f[I+16+8>>2],l=e-+f[I>>2],n=g-+f[I+4>>2],m=j-+f[I+8>>2],l*l+n*n+m*m<3402823466385288598117041.0e14):0){W=c[I+16+12>>2]|0;f[b+316>>2]=e;f[b+320>>2]=g;f[b+324>>2]=j;c[b+328>>2]=W;W=a[q>>0]|0;a[b+332>>0]=W&1|a[b+332>>0]&-16|W&2|W&4;W=c[I+16+24>>2]|0;i=c[I+16+28>>2]|0;c[b+336>>2]=c[I+16+20>>2];c[b+340>>2]=W;c[b+344>>2]=i;f[b+348>>2]=0.0;e=l*l+n*n+m*m}else e=3402823466385288598117041.0e14;if((k|0)!=0?(Xe(I,b+4|0,b+36|0,b+52|0,I+16|0),r=+f[I+16>>2],s=+f[I+16+4>>2],t=+f[I+16+8>>2],u=r-+f[I>>2],w=s-+f[I+4>>2],v=t-+f[I+8>>2],u*u+w*w+v*v>2]|0;f[b+316>>2]=r;f[b+320>>2]=s;f[b+324>>2]=t;c[b+328>>2]=k;k=a[q>>0]|0;a[b+332>>0]=k&1|a[b+332>>0]&-16|k<<1&4|k<<1&8;k=c[I+16+24>>2]|0;W=c[I+16+28>>2]|0;c[b+336>>2]=c[I+16+20>>2];f[b+340>>2]=0.0;c[b+344>>2]=k;c[b+348>>2]=W;e=u*u+w*w+v*v}if((o|0)!=0?(Xe(I,b+4|0,b+52|0,b+20|0,I+16|0),x=+f[I+16>>2],y=+f[I+16+4>>2],z=+f[I+16+8>>2],A=x-+f[I>>2],C=y-+f[I+4>>2],B=z-+f[I+8>>2],A*A+C*C+B*B>2]|0;f[b+316>>2]=x;f[b+320>>2]=y;f[b+324>>2]=z;c[b+328>>2]=o;o=a[q>>0]|0;a[b+332>>0]=o&1|a[b+332>>0]&-16|(1?(o&255)>>>1:o&255)&2|o<<2&8;o=c[I+16+28>>2]|0;W=c[I+16+24>>2]|0;c[b+336>>2]=c[I+16+20>>2];c[b+340>>2]=o;f[b+344>>2]=0.0;c[b+348>>2]=W;e=A*A+C*C+B*B}if(p|0?(Xe(I,b+20|0,b+52|0,b+36|0,I+16|0),D=+f[I+16>>2],E=+f[I+16+4>>2],F=+f[I+16+8>>2],T=D-+f[I>>2],U=E-+f[I+4>>2],V=F-+f[I+8>>2],T*T+U*U+V*V>2]|0;f[b+316>>2]=D;f[b+320>>2]=E;f[b+324>>2]=F;c[b+328>>2]=p;p=a[q>>0]|0;a[b+332>>0]=p&4|a[b+332>>0]&-16|p<<1&2|p<<2&8;p=c[I+16+20>>2]|0;q=c[I+16+28>>2]|0;W=c[I+16+24>>2]|0;f[b+336>>2]=0.0;c[b+340>>2]=p;c[b+344>>2]=q;c[b+348>>2]=W}O=+f[b+336>>2];P=+f[b+340>>2];V=+f[b+344>>2];e=+f[b+348>>2];Q=+f[b+84>>2]*O+ +f[b+100>>2]*P+ +f[b+116>>2]*V+ +f[b+132>>2]*e;S=O*+f[b+88>>2]+P*+f[b+104>>2]+V*+f[b+120>>2]+e*+f[b+136>>2];U=O*+f[b+92>>2]+P*+f[b+108>>2]+V*+f[b+124>>2]+e*+f[b+140>>2];f[b+244>>2]=Q;f[b+248>>2]=S;f[b+252>>2]=U;f[b+256>>2]=0.0;R=O*+f[b+164>>2]+P*+f[b+180>>2]+V*+f[b+196>>2]+e*+f[b+212>>2];T=O*+f[b+168>>2]+P*+f[b+184>>2]+V*+f[b+200>>2]+e*+f[b+216>>2];V=O*+f[b+172>>2]+P*+f[b+188>>2]+V*+f[b+204>>2]+e*+f[b+220>>2];f[b+260>>2]=R;f[b+264>>2]=T;f[b+268>>2]=V;f[b+272>>2]=0.0;f[b+276>>2]=Q-R;f[b+280>>2]=S-T;f[b+284>>2]=U-V;f[b+288>>2]=0.0;i=c[b>>2]|0;do if((i|0)>3){d=a[b+332>>0]|0;if(!(d&8)){h=b+164+(i+-1<<4)|0;k=b+84+(i+-1<<4)|0;H=b+4+(i+-1<<4)|0;c[b>>2]=i+-1;c[b+52>>2]=c[H>>2];c[b+52+4>>2]=c[H+4>>2];c[b+52+8>>2]=c[H+8>>2];c[b+52+12>>2]=c[H+12>>2];c[b+132>>2]=c[k>>2];c[b+132+4>>2]=c[k+4>>2];c[b+132+8>>2]=c[k+8>>2];c[b+132+12>>2]=c[k+12>>2];c[b+212>>2]=c[h>>2];c[b+212+4>>2]=c[h+4>>2];c[b+212+8>>2]=c[h+8>>2];c[b+212+12>>2]=c[h+12>>2];h=b+332|0;k=i+-1|0;i=d;H=52}else{h=b+332|0;k=i;i=d;H=52}}else{if((i|0)==3){h=b+332|0;k=3;i=a[b+332>>0]|0;H=52;break}if((i|0)<=1){if((i|0)==1){d=1;H=59}}else{d=2;H=55}}while(0);if((H|0)==52){d=k+-1|0;if(!(i&4)){c[b>>2]=d;c[b+36>>2]=c[b+4+(d<<4)>>2];c[b+36+4>>2]=c[b+4+(d<<4)+4>>2];c[b+36+8>>2]=c[b+4+(d<<4)+8>>2];c[b+36+12>>2]=c[b+4+(d<<4)+12>>2];c[b+116>>2]=c[b+84+(d<<4)>>2];c[b+116+4>>2]=c[b+84+(d<<4)+4>>2];c[b+116+8>>2]=c[b+84+(d<<4)+8>>2];c[b+116+12>>2]=c[b+84+(d<<4)+12>>2];c[b+196>>2]=c[b+164+(d<<4)>>2];c[b+196+4>>2]=c[b+164+(d<<4)+4>>2];c[b+196+8>>2]=c[b+164+(d<<4)+8>>2];c[b+196+12>>2]=c[b+164+(d<<4)+12>>2];H=56}else{d=k;H=55}}if((H|0)==55){h=b+332|0;H=56}if((H|0)==56){i=d+-1|0;if(!(a[h>>0]&2)){c[b>>2]=i;c[b+20>>2]=c[b+4+(i<<4)>>2];c[b+20+4>>2]=c[b+4+(i<<4)+4>>2];c[b+20+8>>2]=c[b+4+(i<<4)+8>>2];c[b+20+12>>2]=c[b+4+(i<<4)+12>>2];c[b+100>>2]=c[b+84+(i<<4)>>2];c[b+100+4>>2]=c[b+84+(i<<4)+4>>2];c[b+100+8>>2]=c[b+84+(i<<4)+8>>2];c[b+100+12>>2]=c[b+84+(i<<4)+12>>2];c[b+180>>2]=c[b+164+(i<<4)>>2];c[b+180+4>>2]=c[b+164+(i<<4)+4>>2];c[b+180+8>>2]=c[b+164+(i<<4)+8>>2];c[b+180+12>>2]=c[b+164+(i<<4)+12>>2];d=i;H=60}else H=59}if((H|0)==59){h=b+332|0;H=60}if((H|0)==60?(G=d+-1|0,(a[h>>0]&1)==0):0){c[b>>2]=G;c[b+4>>2]=c[b+4+(G<<4)>>2];c[b+4+4>>2]=c[b+4+(G<<4)+4>>2];c[b+4+8>>2]=c[b+4+(G<<4)+8>>2];c[b+4+12>>2]=c[b+4+(G<<4)+12>>2];c[b+84>>2]=c[b+84+(G<<4)>>2];c[b+84+4>>2]=c[b+84+(G<<4)+4>>2];c[b+84+8>>2]=c[b+84+(G<<4)+8>>2];c[b+84+12>>2]=c[b+84+(G<<4)+12>>2];c[b+164>>2]=c[b+164+(G<<4)>>2];c[b+164+4>>2]=c[b+164+(G<<4)+4>>2];c[b+164+8>>2]=c[b+164+(G<<4)+8>>2];c[b+164+12>>2]=c[b+164+(G<<4)+12>>2]}if((+f[b+336>>2]>=0.0?+f[b+340>>2]>=0.0:0)?+f[b+344>>2]>=0.0:0)d=e>=0.0&1;else d=0;a[b+312>>0]=d}while(0);if((H|0)==68){a[d>>0]=0;d=0}W=d;W=W<<24>>24!=0;Ta=I;return W|0}default:{a[b+312>>0]=0;W=0;W=W<<24>>24!=0;Ta=I;return W|0}}return 0}function bc(b,d,e,g,h,i,j,k,l){b=b|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0.0,q=0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0,C=0.0,D=0.0,E=0.0,F=0.0,G=0.0,H=0.0,I=0.0,J=0.0,K=0.0,L=0.0,M=0.0,N=0.0,O=0.0,P=0.0,Q=0.0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0;Z=Ta;Ta=Ta+256|0;c[b+188>>2]=-1;Aj(15890);c[b+184>>2]=0;if((e|0)>0){l=0;do{c[(c[d+(l<<2)>>2]|0)+212>>2]=-1;l=l+1|0}while((l|0)!=(e|0))}l=c[b+12>>2]|0;if((l|0)>(e|0))n=b+8|0;else{if((e+1|0)!=0?(c[6879]=(c[6879]|0)+1,m=Zb(((e+1|0)*244|3)+16|0)|0,(m|0)!=0):0){c[(m+4+15&-16)+-4>>2]=m;n=m+4+15&-16}else n=0;l=c[b+8>>2]|0;if((l|0)>0){m=0;do{W=n+(m*244|0)|0;X=c[b+16>>2]|0;V=X+(m*244|0)|0;c[W>>2]=c[V>>2];c[W+4>>2]=c[V+4>>2];c[W+8>>2]=c[V+8>>2];c[W+12>>2]=c[V+12>>2];W=X+(m*244|0)+16|0;V=n+(m*244|0)+16|0;c[V>>2]=c[W>>2];c[V+4>>2]=c[W+4>>2];c[V+8>>2]=c[W+8>>2];c[V+12>>2]=c[W+12>>2];V=X+(m*244|0)+32|0;W=n+(m*244|0)+32|0;c[W>>2]=c[V>>2];c[W+4>>2]=c[V+4>>2];c[W+8>>2]=c[V+8>>2];c[W+12>>2]=c[V+12>>2];W=n+(m*244|0)+48|0;V=X+(m*244|0)+48|0;c[W>>2]=c[V>>2];c[W+4>>2]=c[V+4>>2];c[W+8>>2]=c[V+8>>2];c[W+12>>2]=c[V+12>>2];oi(n+(m*244|0)+64|0,X+(m*244|0)+64|0,180)|0;m=m+1|0}while((m|0)!=(l|0))}l=c[b+16>>2]|0;if(l|0){if(a[b+20>>0]|0){c[6880]=(c[6880]|0)+1;kd(c[l+-4>>2]|0)}c[b+16>>2]=0}a[b+20>>0]=1;c[b+16>>2]=n;c[b+12>>2]=e+1;l=e+1|0;n=b+8|0}el(Z|0,0,244)|0;m=c[n>>2]|0;if((m|0)<0){if((l|0)<0){l=c[b+16>>2]|0;if(l|0){if(a[b+20>>0]|0){c[6880]=(c[6880]|0)+1;kd(c[l+-4>>2]|0)}c[b+16>>2]=0}a[b+20>>0]=1;c[b+16>>2]=0;c[b+12>>2]=0}l=m;do{X=c[b+16>>2]|0;W=X+(l*244|0)|0;c[W>>2]=c[Z>>2];c[W+4>>2]=c[Z+4>>2];c[W+8>>2]=c[Z+8>>2];c[W+12>>2]=c[Z+12>>2];W=X+(l*244|0)+16|0;c[W>>2]=c[Z+16>>2];c[W+4>>2]=c[Z+16+4>>2];c[W+8>>2]=c[Z+16+8>>2];c[W+12>>2]=c[Z+16+12>>2];W=X+(l*244|0)+32|0;c[W>>2]=c[Z+32>>2];c[W+4>>2]=c[Z+32+4>>2];c[W+8>>2]=c[Z+32+8>>2];c[W+12>>2]=c[Z+32+12>>2];W=X+(l*244|0)+48|0;c[W>>2]=c[Z+48>>2];c[W+4>>2]=c[Z+48+4>>2];c[W+8>>2]=c[Z+48+8>>2];c[W+12>>2]=c[Z+48+12>>2];oi(X+(l*244|0)+64|0,Z+64|0,180)|0;l=l+1|0}while((l|0)!=0)}c[n>>2]=0;if((e|0)>0){n=0;do{l=d+(n<<2)|0;m=Bd(b,c[l>>2]|0,+f[k+12>>2])|0;l=c[l>>2]|0;if((!((l|0)==0?1:(c[l+236>>2]&2|0)==0)?+f[l+344>>2]!=0.0:0)?(o=c[b+16>>2]|0,c[l+504>>2]&2|0):0){p=+f[k+76>>2];N=1.0/+f[l+396>>2];P=1.0/+f[l+400>>2];t=1.0/+f[l+404>>2];H=+f[l+4>>2];I=+f[l+8>>2];J=+f[l+12>>2];K=+f[l+20>>2];L=+f[l+24>>2];M=+f[l+28>>2];O=+f[l+36>>2];Q=+f[l+40>>2];v=+f[l+44>>2];x=+f[l+328>>2];y=+f[l+332>>2];u=+f[l+336>>2];A=(N*H*H+P*I*I+t*J*J)*x+(N*H*K+P*I*L+t*J*M)*y+(N*H*O+P*I*Q+t*J*v)*u;z=(N*K*H+P*L*I+t*M*J)*x+(N*K*K+P*L*L+t*M*M)*y+(N*K*O+P*L*Q+t*M*v)*u;v=(N*O*H+P*Q*I+t*v*J)*x+(N*O*K+P*Q*L+t*v*M)*y+(N*O*O+P*Q*Q+t*v*v)*u;t=(x*z-y*A)*(x*z-y*A)+((y*v-u*z)*(y*v-u*z)+(u*A-x*v)*(u*A-x*v));if(t>p*p){p=1.0/+s(+t)*p;w=(y*v-u*z)*p;t=(u*A-x*v)*p;p=(x*z-y*A)*p}else{w=y*v-u*z;t=u*A-x*v;p=x*z-y*A}O=+f[k+12>>2];P=(w*+f[l+268>>2]+t*+f[l+284>>2]+p*+f[l+300>>2])*O;Q=O*(w*+f[l+272>>2]+t*+f[l+288>>2]+p*+f[l+304>>2]);f[o+(m*244|0)+224>>2]=+f[o+(m*244|0)+224>>2]-(w*+f[l+264>>2]+t*+f[l+280>>2]+p*+f[l+296>>2])*O;f[o+(m*244|0)+228>>2]=+f[o+(m*244|0)+228>>2]-P;f[o+(m*244|0)+232>>2]=+f[o+(m*244|0)+232>>2]-Q}n=n+1|0}while((n|0)!=(e|0))}if((j|0)>0){l=0;do{X=c[i+(l<<2)>>2]|0;pb[c[(c[X>>2]|0)+8>>2]&511](X);f[X+36>>2]=0.0;l=l+1|0}while((l|0)<(j|0))}l=c[b+168>>2]|0;if((l|0)<(j|0)?(c[b+172>>2]|0)<(j|0):0){if(!j)m=0;else{c[6879]=(c[6879]|0)+1;l=Zb((j<<3|3)+16|0)|0;if(!l)m=0;else{c[(l+4+15&-16)+-4>>2]=l;m=l+4+15&-16}l=c[b+168>>2]|0}if((l|0)>0){n=0;do{V=(c[b+176>>2]|0)+(n<<3)|0;W=c[V+4>>2]|0;X=m+(n<<3)|0;c[X>>2]=c[V>>2];c[X+4>>2]=W;n=n+1|0}while((n|0)!=(l|0))}l=c[b+176>>2]|0;if(l|0){if(a[b+180>>0]|0){c[6880]=(c[6880]|0)+1;kd(c[l+-4>>2]|0)}c[b+176>>2]=0}a[b+180>>0]=1;c[b+176>>2]=m;c[b+172>>2]=j}c[b+168>>2]=j;if((j|0)>0){q=0;l=0;do{d=c[b+176>>2]|0;e=d+(q<<3)|0;o=i+(q<<2)|0;m=c[o>>2]|0;n=c[m+44>>2]|0;if(n){m=n+64|0;do{c[n>>2]=0;n=n+4|0}while((n|0)<(m|0));m=c[o>>2]|0}if(!(a[m+20>>0]|0)){c[e>>2]=0;c[d+(q<<3)+4>>2]=0;m=0}else{vb[c[(c[m>>2]|0)+16>>2]&255](m,e);m=c[e>>2]|0}l=m+l|0;q=q+1|0}while((q|0)<(j|0));o=l}else o=0;l=c[b+48>>2]|0;if((l|0)<(o|0)?(c[b+52>>2]|0)<(o|0):0){if(!o)m=0;else{c[6879]=(c[6879]|0)+1;l=Zb((o*152|3)+16|0)|0;if(!l)m=0;else{c[(l+4+15&-16)+-4>>2]=l;m=l+4+15&-16}l=c[b+48>>2]|0}if((l|0)>0){n=0;do{oi(m+(n*152|0)|0,(c[b+56>>2]|0)+(n*152|0)|0,152)|0;n=n+1|0}while((n|0)!=(l|0))}l=c[b+56>>2]|0;if(l|0){if(a[b+60>>0]|0){c[6880]=(c[6880]|0)+1;kd(c[l+-4>>2]|0)}c[b+56>>2]=0}a[b+60>>0]=1;c[b+56>>2]=m;c[b+52>>2]=o}c[b+48>>2]=o;if((j|0)>0){l=c[b+176>>2]|0;W=0;X=0;while(1){V=l+(X<<3)|0;if(!(c[V>>2]|0))m=0;else{l=c[b+56>>2]|0;R=l+(W*152|0)|0;S=i+(X<<2)|0;o=c[S>>2]|0;d=c[o+28>>2]|0;e=c[o+32>>2]|0;T=Bd(b,d,+f[k+12>>2])|0;U=Bd(b,e,+f[k+12>>2])|0;q=c[b+16>>2]|0;m=c[o+24>>2]|0;m=(m|0)>0?m:c[k+20>>2]|0;if((m|0)>(c[b+184>>2]|0))c[b+184>>2]=m;if((c[V>>2]|0)>0){n=0;do{el(R+(n*152|0)|0,0,152)|0;f[R+(n*152|0)+120>>2]=-3402823466385288598117041.0e14;f[R+(n*152|0)+124>>2]=3402823466385288598117041.0e14;f[R+(n*152|0)+100>>2]=0.0;f[R+(n*152|0)+96>>2]=0.0;c[R+(n*152|0)+144>>2]=T;c[R+(n*152|0)+148>>2]=U;c[R+(n*152|0)+136>>2]=m;n=n+1|0}while((n|0)<(c[V>>2]|0))}c[q+(T*244|0)+64>>2]=0;c[q+(T*244|0)+64+4>>2]=0;c[q+(T*244|0)+64+8>>2]=0;c[q+(T*244|0)+64+12>>2]=0;c[q+(T*244|0)+64+16>>2]=0;c[q+(T*244|0)+64+20>>2]=0;c[q+(T*244|0)+64+24>>2]=0;c[q+(T*244|0)+64+28>>2]=0;c[q+(T*244|0)+144>>2]=0;c[q+(T*244|0)+144+4>>2]=0;c[q+(T*244|0)+144+8>>2]=0;c[q+(T*244|0)+144+12>>2]=0;c[q+(T*244|0)+144+16>>2]=0;c[q+(T*244|0)+144+20>>2]=0;c[q+(T*244|0)+144+24>>2]=0;c[q+(T*244|0)+144+28>>2]=0;c[q+(U*244|0)+64>>2]=0;c[q+(U*244|0)+64+4>>2]=0;c[q+(U*244|0)+64+8>>2]=0;c[q+(U*244|0)+64+12>>2]=0;c[q+(U*244|0)+64+16>>2]=0;c[q+(U*244|0)+64+20>>2]=0;c[q+(U*244|0)+64+24>>2]=0;c[q+(U*244|0)+64+28>>2]=0;c[q+(U*244|0)+144>>2]=0;c[q+(U*244|0)+144+4>>2]=0;c[q+(U*244|0)+144+8>>2]=0;c[q+(U*244|0)+144+12>>2]=0;c[q+(U*244|0)+144+16>>2]=0;c[q+(U*244|0)+144+20>>2]=0;c[q+(U*244|0)+144+24>>2]=0;c[q+(U*244|0)+144+28>>2]=0;f[Z>>2]=1.0/+f[k+12>>2];c[Z+4>>2]=c[k+32>>2];c[Z+8>>2]=l+(W*152|0)+16;c[Z+12>>2]=R;c[Z+16>>2]=l+(W*152|0)+48;c[Z+20>>2]=l+(W*152|0)+32;c[Z+24>>2]=38;c[Z+28>>2]=l+(W*152|0)+112;n=l+(W*152|0)+116|0;c[n>>2]=c[k+40>>2];c[Z+52>>2]=c[k+4>>2];c[Z+32>>2]=n;c[Z+36>>2]=l+(W*152|0)+120;c[Z+40>>2]=l+(W*152|0)+124;c[Z+48>>2]=c[k+20>>2];n=c[S>>2]|0;vb[c[(c[n>>2]|0)+20>>2]&255](n,Z);if((c[V>>2]|0)>0){m=0;do{l=R+(m*152|0)+124|0;p=+f[(c[S>>2]|0)+16>>2];if(+f[l>>2]>=p)f[l>>2]=p;l=R+(m*152|0)+120|0;if(+f[l>>2]<=-p)f[l>>2]=-p;c[R+(m*152|0)+132>>2]=o;n=R+(m*152|0)|0;l=c[o+28>>2]|0;p=+f[n>>2];t=+f[n+4>>2];u=+f[n+8>>2];w=(p*+f[l+280>>2]+t*+f[l+284>>2]+u*+f[l+288>>2])*+f[l+548>>2];v=(p*+f[l+296>>2]+t*+f[l+300>>2]+u*+f[l+304>>2])*+f[l+552>>2];n=R+(m*152|0)+64|0;f[n>>2]=(+f[l+264>>2]*p+ +f[l+268>>2]*t+ +f[l+272>>2]*u)*+f[l+544>>2];f[n+4>>2]=w;f[n+8>>2]=v;f[n+12>>2]=0.0;n=R+(m*152|0)+32|0;l=c[o+32>>2]|0;v=+f[n>>2];w=+f[n+4>>2];x=+f[n+8>>2];y=(v*+f[l+280>>2]+w*+f[l+284>>2]+x*+f[l+288>>2])*+f[l+548>>2];P=(v*+f[l+296>>2]+w*+f[l+300>>2]+x*+f[l+304>>2])*+f[l+552>>2];n=R+(m*152|0)+80|0;f[n>>2]=(+f[l+264>>2]*v+ +f[l+268>>2]*w+ +f[l+272>>2]*x)*+f[l+544>>2];f[n+4>>2]=y;f[n+8>>2]=P;f[n+12>>2]=0.0;n=R+(m*152|0)+16|0;P=+f[d+344>>2];y=+f[n>>2];z=+f[n+4>>2];A=+f[n+8>>2];n=R+(m*152|0)+48|0;Q=+f[e+344>>2];B=+f[n>>2];C=+f[n+4>>2];D=+f[n+8>>2];Q=y*(P*y)+z*(P*z)+A*(P*A)+(p*(p*+f[d+264>>2]+t*+f[d+268>>2]+u*+f[d+272>>2])+t*(p*+f[d+280>>2]+t*+f[d+284>>2]+u*+f[d+288>>2])+u*(p*+f[d+296>>2]+t*+f[d+300>>2]+u*+f[d+304>>2]))+(B*(Q*B)+C*(Q*C)+D*(Q*D))+(v*(v*+f[e+264>>2]+w*+f[e+268>>2]+x*+f[e+272>>2])+w*(v*+f[e+280>>2]+w*+f[e+284>>2]+x*+f[e+288>>2])+x*(v*+f[e+296>>2]+w*+f[e+300>>2]+x*+f[e+304>>2]));n=+r(+Q)>1.1920928955078125e-07;Q=n?1.0/Q:0.0;f[R+(m*152|0)+108>>2]=Q;if(!(c[q+(T*244|0)+240>>2]|0)){E=0.0;F=0.0;G=0.0;H=0.0;I=0.0;J=0.0}else{E=+f[q+(T*244|0)+208>>2];F=+f[q+(T*244|0)+212>>2];G=+f[q+(T*244|0)+216>>2];H=+f[q+(T*244|0)+224>>2];I=+f[q+(T*244|0)+228>>2];J=+f[q+(T*244|0)+232>>2]}if(!(c[q+(U*244|0)+240>>2]|0)){K=0.0;L=0.0;M=0.0;N=0.0;O=0.0;P=0.0}else{K=+f[q+(U*244|0)+208>>2];L=+f[q+(U*244|0)+212>>2];M=+f[q+(U*244|0)+216>>2];N=+f[q+(U*244|0)+224>>2];O=+f[q+(U*244|0)+228>>2];P=+f[q+(U*244|0)+232>>2]}n=R+(m*152|0)+112|0;f[n>>2]=Q*+f[n>>2]+Q*(0.0-+f[Z+52>>2]*(y*(E+ +f[d+312>>2])+z*(F+ +f[d+316>>2])+A*(G+ +f[d+320>>2])+(p*(H+ +f[d+328>>2])+t*(I+ +f[d+332>>2])+u*(J+ +f[d+336>>2]))+(B*(K+ +f[e+312>>2])+C*(L+ +f[e+316>>2])+D*(M+ +f[e+320>>2])+(v*(N+ +f[e+328>>2])+w*(O+ +f[e+332>>2])+x*(P+ +f[e+336>>2])))));f[R+(m*152|0)+100>>2]=0.0;m=m+1|0}while((m|0)<(c[V>>2]|0))}l=c[b+176>>2]|0;m=c[l+(X<<3)>>2]|0}X=X+1|0;if((X|0)>=(j|0))break;else W=m+W|0}}Cb[c[(c[b>>2]|0)+28>>2]&127](b,g,h,k);d=c[b+48>>2]|0;e=c[b+28>>2]|0;q=c[b+68>>2]|0;l=c[b+128>>2]|0;if((l|0)<(d|0)?(c[b+132>>2]|0)<(d|0):0){if(!d)m=0;else{c[6879]=(c[6879]|0)+1;l=Zb((d<<2|3)+16|0)|0;if(!l)m=0;else{c[(l+4+15&-16)+-4>>2]=l;m=l+4+15&-16}l=c[b+128>>2]|0}o=c[b+136>>2]|0;if((l|0)<=0)if(!o)l=b+140|0;else Y=106;else{n=0;do{c[m+(n<<2)>>2]=c[o+(n<<2)>>2];n=n+1|0}while((n|0)!=(l|0));Y=106}if((Y|0)==106){if(a[b+140>>0]|0){c[6880]=(c[6880]|0)+1;kd(c[o+-4>>2]|0)}c[b+136>>2]=0;l=b+140|0}a[l>>0]=1;c[b+136>>2]=m;c[b+132>>2]=d}c[b+128>>2]=d;if(!(c[k+64>>2]&16)){l=c[b+108>>2]|0;if((l|0)<(e|0)?(c[b+112>>2]|0)<(e|0):0){if(!e)m=0;else{c[6879]=(c[6879]|0)+1;l=Zb((e<<2|3)+16|0)|0;if(!l)m=0;else{c[(l+4+15&-16)+-4>>2]=l;m=l+4+15&-16}l=c[b+108>>2]|0}o=c[b+116>>2]|0;if((l|0)<=0)if(!o)l=b+120|0;else Y=138;else{n=0;do{c[m+(n<<2)>>2]=c[o+(n<<2)>>2];n=n+1|0}while((n|0)!=(l|0));Y=138}if((Y|0)==138){if(a[b+120>>0]|0){c[6880]=(c[6880]|0)+1;kd(c[o+-4>>2]|0)}c[b+116>>2]=0;l=b+120|0}a[l>>0]=1;c[b+116>>2]=m;c[b+112>>2]=e}c[b+108>>2]=e}else{l=c[b+108>>2]|0;if((l|0)<(e<<1|0)?(c[b+112>>2]|0)<(e<<1|0):0){if(!e)m=0;else{c[6879]=(c[6879]|0)+1;l=Zb((e<<3|3)+16|0)|0;if(!l)m=0;else{c[(l+4+15&-16)+-4>>2]=l;m=l+4+15&-16}l=c[b+108>>2]|0}o=c[b+116>>2]|0;if((l|0)<=0)if(!o)l=b+120|0;else Y=122;else{n=0;do{c[m+(n<<2)>>2]=c[o+(n<<2)>>2];n=n+1|0}while((n|0)!=(l|0));Y=122}if((Y|0)==122){if(a[b+120>>0]|0){c[6880]=(c[6880]|0)+1;kd(c[o+-4>>2]|0)}c[b+116>>2]=0;l=b+120|0}a[l>>0]=1;c[b+116>>2]=m;c[b+112>>2]=e<<1}c[b+108>>2]=e<<1}l=c[b+148>>2]|0;if((l|0)<(q|0)?(c[b+152>>2]|0)<(q|0):0){if(!q)m=0;else{c[6879]=(c[6879]|0)+1;l=Zb((q<<2|3)+16|0)|0;if(!l)m=0;else{c[(l+4+15&-16)+-4>>2]=l;m=l+4+15&-16}l=c[b+148>>2]|0}o=c[b+156>>2]|0;if((l|0)<=0)if(!o)l=b+160|0;else Y=154;else{n=0;do{c[m+(n<<2)>>2]=c[o+(n<<2)>>2];n=n+1|0}while((n|0)!=(l|0));Y=154}if((Y|0)==154){if(a[b+160>>0]|0){c[6880]=(c[6880]|0)+1;kd(c[o+-4>>2]|0)}c[b+156>>2]=0;l=b+160|0}a[l>>0]=1;c[b+156>>2]=m;c[b+152>>2]=q}c[b+148>>2]=q;if((d|0)>0){l=c[b+136>>2]|0;m=0;do{c[l+(m<<2)>>2]=m;m=m+1|0}while((m|0)!=(d|0))}if((e|0)>0){l=c[b+116>>2]|0;m=0;do{c[l+(m<<2)>>2]=m;m=m+1|0}while((m|0)!=(e|0))}if((q|0)>0){l=c[b+156>>2]|0;m=0;do{c[l+(m<<2)>>2]=m;m=m+1|0}while((m|0)!=(q|0))}l=c[2760]|0;b=(c[l+16>>2]|0)+-1|0;c[l+16>>2]=b;if(b|0){Ta=Z;return 0.0}do if(c[l+4>>2]|0){Pa(Z|0,0)|0;b=c[6878]|0;f[l+8>>2]=+f[l+8>>2]+ +(((c[Z+4>>2]|0)-(c[b+4>>2]|0)+(((c[Z>>2]|0)-(c[b>>2]|0)|0)*1e6|0)-(c[l+12>>2]|0)|0)>>>0)/1.0e3;if(!(c[l+16>>2]|0)){l=c[2760]|0;break}else{Ta=Z;return 0.0}}while(0);c[2760]=c[l+20>>2];Ta=Z;return 0.0}function cc(b,d,e,g){b=b|0;d=d|0;e=e|0;g=g|0;var h=0,i=0.0,j=0.0,k=0.0,l=0,m=0.0,n=0,o=0.0,p=0.0,q=0.0,r=0,t=0.0,w=0.0,x=0.0,z=0.0,A=0,B=0.0,C=0.0,D=0,E=0.0,F=0.0,G=0.0,H=0.0,I=0.0,J=0.0,K=0.0,L=0.0,M=0.0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0;V=Ta;Ta=Ta+32|0;U=c[b+4>>2]|0;if((U|0)==(e|0)?(c[b+8>>2]|0)==(g|0):0){Ta=V;return}c[V+12>>2]=-1;c[V+12+4>>2]=-1;c[V+12+8>>2]=-1;c[V>>2]=-1;c[V+4>>2]=-1;c[V+8>>2]=-1;C=+f[d+16>>2];q=+f[d>>2];E=+f[d+20>>2];t=+f[d+4>>2];F=+f[d+24>>2];w=+f[d+8>>2];I=+f[d+32>>2];J=+f[d+36>>2];G=+f[d+40>>2];T=c[b+16>>2]|0;H=+f[T+92>>2];a:do if(!(((C-q)*(J-t)-(E-t)*(I-q))*((C-q)*(J-t)-(E-t)*(I-q))+(((E-t)*(G-w)-(F-w)*(J-t))*((E-t)*(G-w)-(F-w)*(J-t))+((F-w)*(I-q)-(C-q)*(G-w))*((F-w)*(I-q)-(C-q)*(G-w)))>2]|0,x=+f[r+16>>2],m=+f[r>>2],z=+f[r+20>>2],o=+f[r+4>>2],B=+f[r+24>>2],p=+f[r+8>>2],K=+f[r+32>>2],L=+f[r+36>>2],M=+f[r+40>>2],i=(z-o)*(M-p)-(B-p)*(L-o),j=(B-p)*(K-m)-(x-m)*(M-p),k=(x-m)*(L-o)-(z-o)*(K-m),!(k*k+(i*i+j*j)>2]=0;c[V>>2]=0;e=1}else e=0;if((m-C)*(m-C)+(o-E)*(o-E)+(p-F)*(p-F)>2]=0;c[V+(e<<2)>>2]=1;e=e+1|0}if((m-I)*(m-I)+(o-J)*(o-J)+(p-G)*(p-G)>2]=0;c[V+(e<<2)>>2]=2;if((e|0)>1)break;else e=e+1|0}if((x-q)*(x-q)+(z-t)*(z-t)+(B-w)*(B-w)>2]=1;c[V+(e<<2)>>2]=0;if((e|0)>1)break;else e=e+1|0}if((x-C)*(x-C)+(z-E)*(z-E)+(B-F)*(B-F)>2]=1;c[V+(e<<2)>>2]=1;if((e|0)>1)break;else e=e+1|0}if((x-I)*(x-I)+(z-J)*(z-J)+(B-G)*(B-G)>2]=1;c[V+(e<<2)>>2]=2;if((e|0)>1)break;else e=e+1|0}if((e|0)<=2){if((K-q)*(K-q)+(L-t)*(L-t)+(M-w)*(M-w)>2]=2;c[V+(e<<2)>>2]=0;if((e|0)>1)break;else e=e+1|0}if((K-C)*(K-C)+(L-E)*(L-E)+(M-F)*(M-F)>2]=2;c[V+(e<<2)>>2]=1;if((e|0)>1)break;else e=e+1|0}if((K-I)*(K-I)+(L-J)*(L-J)+(M-G)*(M-G)>2]=2;c[V+(e<<2)>>2]=2;if((e|0)>1)break;else e=e+1|0}if((e|0)==2){e=c[V+12>>2]|0;if(!e)if((c[V+12+4>>2]|0)==2){c[V+12>>2]=2;c[V+12+4>>2]=0;S=c[V+4>>2]|0;c[V+4>>2]=c[V>>2];c[V>>2]=S;S=2}else S=0;else S=e;R=c[b+8>>2]|0;P=((10?(R|U<<21)+~(R<<15)>>10:(R|U<<21)+~(R<<15)|0)^(R|U<<21)+~(R<<15))*9|0;P=(6?P>>6:P)^P;P=(16?P+~(P<<11)>>16:P+~(P<<11)|0)^P+~(P<<11);D=c[T+52>>2]|0;n=(P&D+-1)>>>0<(c[T+8>>2]|0)>>>0;b:do if(n){e=c[(c[T+16>>2]|0)+((P&D+-1)<<2)>>2]|0;if((e|0)!=-1){l=c[T+76>>2]|0;while(1){if((R|U<<21|0)==(c[l+(e<<2)>>2]|0)){Q=19;break}g=c[(c[T+36>>2]|0)+(e<<2)>>2]|0;if((g|0)==-1)break;else e=g}if((Q|0)==19?(h=(c[T+56>>2]|0)+(e<<4)|0,h|0):0){e=r;m=k*k+(i*i+j*j);break}if(!n){e=T+4+48|0;l=T+4+4|0;Q=26;break}else{l=T+4+4|0;e=T+4+48|0}}else{l=T+4+4|0;e=T+4+48|0}h=c[(c[T+4+12>>2]|0)+((P&D+-1)<<2)>>2]|0;if((h|0)==-1)Q=26;else{g=c[T+4+72>>2]|0;while(1){if((R|U<<21|0)==(c[g+(h<<2)>>2]|0))break;h=c[(c[T+4+32>>2]|0)+(h<<2)>>2]|0;if((h|0)==-1){Q=26;break b}}Q=c[T+4+52>>2]|0;c[Q+(h<<4)>>2]=0;f[Q+(h<<4)+4>>2]=6.2831854820251465;f[Q+(h<<4)+8>>2]=6.2831854820251465;f[Q+(h<<4)+12>>2]=6.2831854820251465;Q=94}}else{e=T+4+48|0;l=T+4+4|0;Q=26}while(0);if((Q|0)==26){A=T+4+44|0;O=c[A>>2]|0;do if((O|0)==(D|0)){r=(D|0)==0?1:D<<1;if((D|0)>=(r|0)){h=D;N=e;break}if(!r){g=D;n=0}else{c[6879]=(c[6879]|0)+1;h=Zb((r<<4|3)+16|0)|0;if(!h)h=0;else{c[(h+4+15&-16)+-4>>2]=h;h=h+4+15&-16}g=c[A>>2]|0;n=h}if((g|0)>0){h=0;do{N=n+(h<<4)|0;W=(c[T+4+52>>2]|0)+(h<<4)|0;c[N>>2]=c[W>>2];c[N+4>>2]=c[W+4>>2];c[N+8>>2]=c[W+8>>2];c[N+12>>2]=c[W+12>>2];h=h+1|0}while((h|0)!=(g|0))}h=c[T+4+52>>2]|0;if(h|0){if(a[T+4+56>>0]|0){c[6880]=(c[6880]|0)+1;kd(c[h+-4>>2]|0)}c[T+4+52>>2]=0}a[T+4+56>>0]=1;c[T+4+52>>2]=n;c[e>>2]=r;h=c[A>>2]|0;N=e}else{h=O;N=e}while(0);W=c[T+4+52>>2]|0;c[W+(h<<4)>>2]=0;f[W+(h<<4)+4>>2]=6.2831854820251465;f[W+(h<<4)+8>>2]=6.2831854820251465;f[W+(h<<4)+12>>2]=6.2831854820251465;c[A>>2]=(c[A>>2]|0)+1;A=T+4+64|0;h=c[A>>2]|0;do if((h|0)==(c[T+4+68>>2]|0)){r=(h|0)==0?1:h<<1;if((h|0)>=(r|0))break;if(!r)e=0;else{c[6879]=(c[6879]|0)+1;h=Zb((r<<2|3)+16|0)|0;if(!h)e=0;else{c[(h+4+15&-16)+-4>>2]=h;e=h+4+15&-16}h=c[A>>2]|0}n=c[T+4+72>>2]|0;do if((h|0)>0){g=0;do{c[e+(g<<2)>>2]=c[n+(g<<2)>>2];g=g+1|0}while((g|0)!=(h|0));Q=51}else{if(n|0){Q=51;break}g=T+4+76|0}while(0);if((Q|0)==51){if(a[T+4+76>>0]|0){c[6880]=(c[6880]|0)+1;kd(c[n+-4>>2]|0)}c[T+4+72>>2]=0;h=c[A>>2]|0;g=T+4+76|0}a[g>>0]=1;c[T+4+72>>2]=e;c[T+4+68>>2]=r}while(0);c[(c[T+4+72>>2]|0)+(h<<2)>>2]=R|U<<21;c[A>>2]=(c[A>>2]|0)+1;A=c[N>>2]|0;if((D|0)<(A|0)){D=c[l>>2]|0;do if((D|0)<(A|0)){c:do if((c[T+4+8>>2]|0)<(A|0)){if(!A){n=D;h=0}else{c[6879]=(c[6879]|0)+1;h=Zb((A<<2|3)+16|0)|0;if(!h)h=0;else{c[(h+4+15&-16)+-4>>2]=h;h=h+4+15&-16}n=c[l>>2]|0}r=T+4+12|0;e=c[r>>2]|0;do if((n|0)>0){g=0;do{c[h+(g<<2)>>2]=c[e+(g<<2)>>2];g=g+1|0}while((g|0)!=(n|0))}else{if(e|0)break;a[T+4+16>>0]=1;c[r>>2]=h;c[T+4+8>>2]=A;break c}while(0);if(a[T+4+16>>0]|0){c[6880]=(c[6880]|0)+1;kd(c[e+-4>>2]|0)}a[T+4+16>>0]=1;c[r>>2]=h;c[T+4+8>>2]=A}else{h=c[T+4+12>>2]|0;r=T+4+12|0}while(0);el(h+(D<<2)|0,0,(A<<2)-(D<<2)|0)|0;c[l>>2]=A;n=c[T+4+24>>2]|0;if((n|0)<(A|0)){d:do if((c[T+4+28>>2]|0)<(A|0)){if(!A){l=n;h=0}else{c[6879]=(c[6879]|0)+1;h=Zb((A<<2|3)+16|0)|0;if(!h)h=0;else{c[(h+4+15&-16)+-4>>2]=h;h=h+4+15&-16}l=c[T+4+24>>2]|0}e=c[T+4+32>>2]|0;do if((l|0)>0){g=0;do{c[h+(g<<2)>>2]=c[e+(g<<2)>>2];g=g+1|0}while((g|0)!=(l|0))}else{if(e|0)break;a[T+4+36>>0]=1;c[T+4+32>>2]=h;c[T+4+28>>2]=A;break d}while(0);if(a[T+4+36>>0]|0){c[6880]=(c[6880]|0)+1;kd(c[e+-4>>2]|0)}a[T+4+36>>0]=1;c[T+4+32>>2]=h;c[T+4+28>>2]=A}else h=c[T+4+32>>2]|0;while(0);el(h+(n<<2)|0,0,(A<<2)-(n<<2)|0)|0}c[T+4+24>>2]=A;if((A|0)>0){el(c[r>>2]|0,-1,A<<2|0)|0;el(c[T+4+32>>2]|0,-1,A<<2|0)|0}if((D|0)<=0)break;l=c[T+4+72>>2]|0;h=c[r>>2]|0;e=c[T+4+32>>2]|0;g=0;do{W=c[l+(g<<2)>>2]|0;W=((10?W+~(W<<15)>>10:W+~(W<<15)|0)^W+~(W<<15))*9|0;W=(6?W>>6:W)^W;W=h+((((16?W+~(W<<11)>>16:W+~(W<<11)|0)^W+~(W<<11))&(c[N>>2]|0)+-1)<<2)|0;c[e+(g<<2)>>2]=c[W>>2];c[W>>2]=g;g=g+1|0}while((g|0)!=(D|0))}while(0);h=((10?(R|U<<21)+~(R<<15)>>10:(R|U<<21)+~(R<<15)|0)^(R|U<<21)+~(R<<15))*9|0;h=(6?h>>6:h)^h;h=((16?h+~(h<<11)>>16:h+~(h<<11)|0)^h+~(h<<11))&(c[N>>2]|0)+-1}else h=P&D+-1;Q=(c[T+4+12>>2]|0)+(h<<2)|0;c[(c[T+4+32>>2]|0)+(O<<2)>>2]=c[Q>>2];c[Q>>2]=O;Q=94}if((Q|0)==94){g=c[b+16>>2]|0;h=(c[g+52>>2]|0)+-1&P;e:do if(h>>>0<(c[g+8>>2]|0)>>>0){h=c[(c[g+16>>2]|0)+(h<<2)>>2]|0;if((h|0)==-1){h=0;break}e=c[g+76>>2]|0;while(1){if((R|U<<21|0)==(c[e+(h<<2)>>2]|0))break;h=c[(c[g+36>>2]|0)+(h<<2)>>2]|0;if((h|0)==-1){h=0;break e}}h=(c[g+56>>2]|0)+(h<<4)|0}else h=0;while(0);e=c[b+12>>2]|0;k=+f[e>>2];L=+f[e+4>>2];j=+f[e+8>>2];K=+f[e+16>>2]-k;M=+f[e+20>>2]-L;J=+f[e+24>>2]-j;k=+f[e+32>>2]-k;L=+f[e+36>>2]-L;j=+f[e+40>>2]-j;m=(K*L-M*k)*(K*L-M*k)+((M*j-J*L)*(M*j-J*L)+(J*k-K*j)*(J*k-K*j));i=M*j-J*L;j=J*k-K*j;k=K*L-M*k}W=c[V+12+4>>2]|0;l=W+S|0;L=+f[e+(W<<4)>>2]-+f[e+(S<<4)>>2];M=+f[e+(W<<4)+4>>2]-+f[e+(S<<4)+4>>2];p=+f[e+(W<<4)+8>>2]-+f[e+(S<<4)+8>>2];W=c[V>>2]|0;U=c[V+4>>2]|0;t=+f[d+(U<<4)>>2];x=+f[d+(U<<4)+4>>2];w=+f[d+(U<<4)+8>>2];z=1.0/+s(+m);C=i*z;B=j*z;z=k*z;k=+f[d+(W<<4)>>2]-t;m=+f[d+(W<<4)+4>>2]-x;q=+f[d+(W<<4)+8>>2]-w;i=+f[d+(3-W-U<<4)>>2]-t;j=+f[d+(3-W-U<<4)+4>>2]-x;w=+f[d+(3-W-U<<4)+8>>2]-w;x=1.0/+s(+((k*j-m*i)*(k*j-m*i)+((m*w-q*j)*(m*w-q*j)+(q*i-k*w)*(q*i-k*w))));t=(m*w-q*j)*x;w=(q*i-k*w)*x;x=(k*j-m*i)*x;i=1.0/+s(+(L*L+M*M+p*p));m=1.0/+s(+((L*i*B-M*i*C)*(L*i*B-M*i*C)+((M*i*z-p*i*B)*(M*i*z-p*i*B)+(p*i*C-L*i*z)*(p*i*C-L*i*z))));j=(M*i*z-p*i*B)*m;k=(p*i*C-L*i*z)*m;m=(L*i*B-M*i*C)*m;g=c[b+12>>2]|0;T=m*(+f[g+(3-l<<4)+8>>2]-+f[g+(S<<4)+8>>2])+((+f[g+(3-l<<4)>>2]-+f[g+(S<<4)>>2])*j+(+f[g+(3-l<<4)+4>>2]-+f[g+(S<<4)+4>>2])*k)<0.0;j=T?-j:j;k=T?-k:k;m=T?-m:m;q=1.0/+s(+((L*i*w-M*i*t)*(L*i*w-M*i*t)+((M*i*x-p*i*w)*(M*i*x-p*i*w)+(p*i*t-L*i*x)*(p*i*t-L*i*x))));o=(M*i*x-p*i*w)*q;p=(p*i*t-L*i*x)*q;q=(L*i*w-M*i*t)*q;W=(+f[d+(3-W-U<<4)+8>>2]-+f[d+(W<<4)+8>>2])*q+((+f[d+(3-W-U<<4)>>2]-+f[d+(W<<4)>>2])*o+(+f[d+(3-W-U<<4)+4>>2]-+f[d+(W<<4)+4>>2])*p)<0.0;o=W?-o:o;p=W?-p:p;q=W?-q:q;i=(j*p-k*o)*(j*p-k*o)+((k*q-m*p)*(k*q-m*p)+(m*o-j*q)*(m*o-j*q));if(i<+f[(c[b+16>>2]|0)+88>>2]){i=0.0;e=0}else{K=1.0/+s(+i);L=m*((m*o-j*q)*K)-k*((j*p-k*o)*K);M=j*((j*p-k*o)*K)-m*((k*q-m*p)*K);K=k*((k*q-m*p)*K)-j*((m*o-j*q)*K);i=1.0/+s(+(K*K+(L*L+M*M)));i=3.1415927410125732-+y(+(q*(K*i)+(o*(L*i)+p*(M*i))),+(m*q+(j*o+k*p)));i=z*q+(C*o+B*p)<0.0?i:-i;e=z*q+(C*o+B*p)<0.0}switch(l|0){case 1:{I=+f[g>>2]-+f[g+16>>2];K=+f[g+4>>2]-+f[g+20>>2];L=+f[g+8>>2]-+f[g+24>>2];J=i*-.5;M=+v(+J)/+s(+(I*I+K*K+L*L));J=+u(+J);if(x*((C*J+z*(K*M)-B*(L*M))*-(K*M)+((-(C*(I*M))-B*(K*M)-z*(L*M))*-(L*M)+J*(z*J+B*(I*M)-C*(K*M)))-(B*J+C*(L*M)-z*(I*M))*-(I*M))+(t*((B*J+C*(L*M)-z*(I*M))*-(L*M)+(J*(C*J+z*(K*M)-B*(L*M))+(-(C*(I*M))-B*(K*M)-z*(L*M))*-(I*M))-(z*J+B*(I*M)-C*(K*M))*-(K*M))+w*((z*J+B*(I*M)-C*(K*M))*-(I*M)+(J*(B*J+C*(L*M)-z*(I*M))+(-(C*(I*M))-B*(K*M)-z*(L*M))*-(K*M))-(C*J+z*(K*M)-B*(L*M))*-(L*M)))<0.0)c[h>>2]=c[h>>2]|8;f[h+4>>2]=-i;if(!e)break a;c[h>>2]=c[h>>2]|1;break a}case 2:{I=+f[g+32>>2]-+f[g>>2];K=+f[g+36>>2]-+f[g+4>>2];L=+f[g+40>>2]-+f[g+8>>2];J=i*-.5;M=+v(+J)/+s(+(I*I+K*K+L*L));J=+u(+J);if(x*((C*J+z*(K*M)-B*(L*M))*-(K*M)+((-(C*(I*M))-B*(K*M)-z*(L*M))*-(L*M)+J*(z*J+B*(I*M)-C*(K*M)))-(B*J+C*(L*M)-z*(I*M))*-(I*M))+(t*((B*J+C*(L*M)-z*(I*M))*-(L*M)+(J*(C*J+z*(K*M)-B*(L*M))+(-(C*(I*M))-B*(K*M)-z*(L*M))*-(I*M))-(z*J+B*(I*M)-C*(K*M))*-(K*M))+w*((z*J+B*(I*M)-C*(K*M))*-(I*M)+(J*(B*J+C*(L*M)-z*(I*M))+(-(C*(I*M))-B*(K*M)-z*(L*M))*-(K*M))-(C*J+z*(K*M)-B*(L*M))*-(L*M)))<0.0)c[h>>2]=c[h>>2]|32;f[h+12>>2]=-i;if(!e)break a;c[h>>2]=c[h>>2]|4;break a}case 3:{I=+f[g+16>>2]-+f[g+32>>2];K=+f[g+20>>2]-+f[g+36>>2];L=+f[g+24>>2]-+f[g+40>>2];J=i*-.5;M=+v(+J)/+s(+(I*I+K*K+L*L));J=+u(+J);if(x*((C*J+z*(K*M)-B*(L*M))*-(K*M)+((-(C*(I*M))-B*(K*M)-z*(L*M))*-(L*M)+J*(z*J+B*(I*M)-C*(K*M)))-(B*J+C*(L*M)-z*(I*M))*-(I*M))+(t*((B*J+C*(L*M)-z*(I*M))*-(L*M)+(J*(C*J+z*(K*M)-B*(L*M))+(-(C*(I*M))-B*(K*M)-z*(L*M))*-(I*M))-(z*J+B*(I*M)-C*(K*M))*-(K*M))+w*((z*J+B*(I*M)-C*(K*M))*-(I*M)+(J*(B*J+C*(L*M)-z*(I*M))+(-(C*(I*M))-B*(K*M)-z*(L*M))*-(K*M))-(C*J+z*(K*M)-B*(L*M))*-(L*M)))<0.0)c[h>>2]=c[h>>2]|16;f[h+8>>2]=-i;if(!e)break a;c[h>>2]=c[h>>2]|2;break a}default:break a}}}}while(0);Ta=V;return}function dc(b,d,e,g,h){b=b|0;d=d|0;e=e|0;g=g|0;h=h|0;var i=0.0,j=0.0,k=0.0,l=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,t=0.0,x=0.0,z=0.0,A=0.0,B=0.0,C=0.0,D=0.0,E=0.0,F=0.0,G=0.0,H=0.0,I=0.0,J=0.0,K=0.0,L=0.0,M=0.0,N=0.0,O=0.0,P=0.0,Q=0,R=0.0,S=0.0,T=0.0,U=0.0,V=0.0,W=0.0,X=0.0,Y=0.0,Z=0.0,_=0.0,$=0.0,aa=0.0,ba=0.0,ca=0.0,da=0.0,ea=0.0,fa=0.0,ga=0.0,ha=0.0,ia=0.0,ja=0.0,ka=0.0,la=0,ma=0.0,na=0.0,oa=0.0,pa=0.0,qa=0.0,ra=0.0;la=Ta;Ta=Ta+80|0;f[b+504>>2]=0.0;f[b+500>>2]=0.0;a[b+525>>0]=0;a[b+526>>0]=0;if(a[b+552>>0]|0?(a[b+527>>0]|0)==0:0){ra=+f[b+556>>2];pa=+f[b+560>>2];ka=+f[b+564>>2];oa=+f[b+568>>2];$=ra*(2.0/(ra*ra+pa*pa+ka*ka+oa*oa));qa=pa*(2.0/(ra*ra+pa*pa+ka*ka+oa*oa));na=ka*(2.0/(ra*ra+pa*pa+ka*ka+oa*oa));aa=+f[b+300>>2];S=+f[d>>2];ba=+f[b+316>>2];T=+f[d+4>>2];ca=+f[b+332>>2];U=+f[d+8>>2];ea=+f[b+304>>2];ga=+f[b+320>>2];ia=+f[b+336>>2];Y=+f[b+308>>2];Z=+f[b+324>>2];_=+f[b+340>>2];V=+f[d+16>>2];W=+f[d+20>>2];X=+f[d+24>>2];fa=+f[d+32>>2];ha=+f[d+36>>2];ja=+f[d+40>>2];q=+f[b+348>>2];p=+f[b+352>>2];o=+f[b+356>>2];A=+f[b+364>>2];ma=+f[e>>2];B=+f[b+380>>2];l=+f[e+4>>2];C=+f[b+396>>2];k=+f[e+8>>2];D=+f[b+368>>2];E=+f[b+384>>2];F=+f[b+400>>2];t=+f[b+372>>2];x=+f[b+388>>2];z=+f[b+404>>2];m=+f[e+16>>2];n=+f[e+20>>2];j=+f[e+24>>2];G=+f[e+32>>2];I=+f[e+36>>2];K=+f[e+40>>2];H=+f[b+412>>2];J=+f[b+416>>2];i=+f[b+420>>2];M=(1.0-(pa*qa+ka*na))*(A*ma+B*l+C*k)+(ra*qa+oa*na)*(ma*D+l*E+k*F)+(ra*na-oa*qa)*(ma*t+l*x+k*z);N=(ra*qa-oa*na)*(A*ma+B*l+C*k)+(1.0-(ra*$+ka*na))*(ma*D+l*E+k*F)+(pa*na+oa*$)*(ma*t+l*x+k*z);L=(ra*na+oa*qa)*(A*ma+B*l+C*k)+(pa*na-oa*$)*(ma*D+l*E+k*F)+(1.0-(ra*$+pa*qa))*(ma*t+l*x+k*z);P=(ra*na-oa*qa)*(t*m+x*n+z*j)+((1.0-(pa*qa+ka*na))*(A*m+B*n+C*j)+(ra*qa+oa*na)*(D*m+E*n+F*j));R=(pa*na+oa*$)*(t*m+x*n+z*j)+((ra*qa-oa*na)*(A*m+B*n+C*j)+(1.0-(ra*$+ka*na))*(D*m+E*n+F*j));O=(1.0-(ra*$+pa*qa))*(t*m+x*n+z*j)+((ra*na+oa*qa)*(A*m+B*n+C*j)+(pa*na-oa*$)*(D*m+E*n+F*j));da=(ra*na-oa*qa)*(t*G+x*I+z*K)+((1.0-(pa*qa+ka*na))*(A*G+B*I+C*K)+(ra*qa+oa*na)*(D*G+E*I+F*K));ka=(pa*na+oa*$)*(t*G+x*I+z*K)+((ra*qa-oa*na)*(A*G+B*I+C*K)+(1.0-(ra*$+ka*na))*(D*G+E*I+F*K));$=(1.0-(ra*$+pa*qa))*(t*G+x*I+z*K)+((ra*na+oa*qa)*(A*G+B*I+C*K)+(pa*na-oa*$)*(D*G+E*I+F*K));oa=-(+f[d+48>>2]+(S*q+T*p+U*o));na=-(V*q+W*p+X*o+ +f[d+52>>2]);o=-(fa*q+ha*p+ja*o+ +f[d+56>>2]);p=(aa*S+ba*T+ca*U)*oa+(aa*V+ba*W+ca*X)*na+(aa*fa+ba*ha+ca*ja)*o;q=(S*ea+T*ga+U*ia)*oa+(ea*V+ga*W+ia*X)*na+(ea*fa+ga*ha+ia*ja)*o;o=(S*Y+T*Z+U*_)*oa+(Y*V+Z*W+_*X)*na+(Y*fa+Z*ha+_*ja)*o;k=o*L+(p*M+q*N)+((A*ma+B*l+C*k)*0.0+(ma*D+l*E+k*F)*0.0+(ma*t+l*x+k*z)*0.0+(+f[e+48>>2]+(ma*H+l*J+k*i)));j=o*O+(p*P+q*R)+((t*m+x*n+z*j)*0.0+((A*m+B*n+C*j)*0.0+(D*m+E*n+F*j)*0.0)+(m*H+n*J+j*i+ +f[e+52>>2]));i=o*$+(p*da+q*ka)+((t*G+x*I+z*K)*0.0+((A*G+B*I+C*K)*0.0+(D*G+E*I+F*K)*0.0)+(G*H+I*J+K*i+ +f[e+56>>2]));f[la+16>>2]=(S*Y+T*Z+U*_)*L+((aa*S+ba*T+ca*U)*M+(S*ea+T*ga+U*ia)*N);f[la+16+4>>2]=(Y*V+Z*W+_*X)*L+((aa*V+ba*W+ca*X)*M+(ea*V+ga*W+ia*X)*N);f[la+16+8>>2]=(Y*fa+Z*ha+_*ja)*L+((aa*fa+ba*ha+ca*ja)*M+(ea*fa+ga*ha+ia*ja)*N);f[la+16+12>>2]=0.0;f[la+16+16>>2]=(S*Y+T*Z+U*_)*O+((aa*S+ba*T+ca*U)*P+(S*ea+T*ga+U*ia)*R);f[la+16+20>>2]=(Y*V+Z*W+_*X)*O+((aa*V+ba*W+ca*X)*P+(ea*V+ga*W+ia*X)*R);f[la+16+24>>2]=(Y*fa+Z*ha+_*ja)*O+((aa*fa+ba*ha+ca*ja)*P+(ea*fa+ga*ha+ia*ja)*R);f[la+16+28>>2]=0.0;f[la+16+32>>2]=(S*Y+T*Z+U*_)*$+((aa*S+ba*T+ca*U)*da+(S*ea+T*ga+U*ia)*ka);f[la+16+36>>2]=(Y*V+Z*W+_*X)*$+((aa*V+ba*W+ca*X)*da+(ea*V+ga*W+ia*X)*ka);f[la+16+40>>2]=(Y*fa+Z*ha+_*ja)*$+((aa*fa+ba*ha+ca*ja)*da+(ea*fa+ga*ha+ia*ja)*ka);f[la+16+44>>2]=0.0;f[la+16+48>>2]=k;f[la+16+52>>2]=j;f[la+16+56>>2]=i;f[la+16+60>>2]=0.0;zh(la+16|0,la);i=+f[la>>2];j=+f[la+4>>2];k=+f[la+8>>2];if(!(+r(+(i*i+j*j+k*k))<1.1920928955078125e-07)?(f[b+472>>2]=0.0,ra=1.0/+s(+(i*i+j*j+k*k)),f[b+460>>2]=ra*i,f[b+464>>2]=ra*j,f[b+468>>2]=ra*k,ra=+f[la+12>>2],ra=ra<-1.0?-1.0:ra,ra=+w(+(ra>1.0?1.0:ra))*2.0,f[b+504>>2]=ra,!(+r(+ra)<1.1920928955078125e-07)):0)a[b+526>>0]=1;Ta=la;return}zh(d,la+16|0);zh(b+300|0,la);U=+f[la+16+12>>2];V=+f[la>>2];W=+f[la+16>>2];X=+f[la+12>>2];Y=+f[la+16+4>>2];Z=+f[la+8>>2];_=+f[la+16+8>>2];$=+f[la+4>>2];zh(e,la+16|0);zh(b+364|0,la);aa=+f[la+16+12>>2];ba=+f[la>>2];ca=+f[la+16>>2];da=+f[la+12>>2];ea=+f[la+16+4>>2];fa=+f[la+8>>2];ga=+f[la+16+8>>2];ha=+f[la+4>>2];ia=-(aa*ba+ca*da+ea*fa-ga*ha);ja=-(ba*ga+(da*ea+aa*ha)-ca*fa);ka=-(aa*fa+da*ga+ca*ha-ba*ea);p=(U*X-V*W-Y*$-Z*_)*ia+(U*V+W*X+Y*Z-_*$)*(aa*da-ba*ca-ea*ha-fa*ga)+(U*Z+X*_+W*$-V*Y)*ja-(V*_+(X*Y+U*$)-W*Z)*ka;q=(U*V+W*X+Y*Z-_*$)*ka+((V*_+(X*Y+U*$)-W*Z)*(aa*da-ba*ca-ea*ha-fa*ga)+(U*X-V*W-Y*$-Z*_)*ja)-(U*Z+X*_+W*$-V*Y)*ia;t=(V*_+(X*Y+U*$)-W*Z)*ia+((U*Z+X*_+W*$-V*Y)*(aa*da-ba*ca-ea*ha-fa*ga)+(U*X-V*W-Y*$-Z*_)*ka)-(U*V+W*X+Y*Z-_*$)*ja;x=(U*X-V*W-Y*$-Z*_)*(aa*da-ba*ca-ea*ha-fa*ga)-(U*V+W*X+Y*Z-_*$)*ia-(V*_+(X*Y+U*$)-W*Z)*ja-(U*Z+X*_+W*$-V*Y)*ka;l=-p-q*0.0-t*0.0;k=(t+x*0.0-p*0.0)*-t+(x*(x+q*0.0-t*0.0)+l*-p)-(x*0.0+p*0.0-q)*-q;i=(x*0.0+p*0.0-q)*-p+(x*(t+x*0.0-p*0.0)+l*-q)-(x+q*0.0-t*0.0)*-t;l=(x+q*0.0-t*0.0)*-q+(x*(x*0.0+p*0.0-q)+l*-t)-(t+x*0.0-p*0.0)*-p;j=1.0/+s(+(l*l+(k*k+i*i)));if(l*j*0.0+(i*j*0.0+k*j)<-.9999998807907104){m=-0.0;n=0.0;o=0.0;i=1.0}else{ra=+s(+((l*j*0.0+(i*j*0.0+k*j)+1.0)*2.0));m=(l*j*0.0-i*j*0.0)*(1.0/ra);n=(i*j-k*j*0.0)*(1.0/ra);o=ra*.5;i=(k*j*0.0-l*j)*(1.0/ra)}k=1.0/+s(+(m*m+i*i+n*n+o*o));z=m*k;A=i*k;m=n*k;k=o*k;T=1.0/+s(+((x*k-p*-z-q*-A-t*-m)*(x*k-p*-z-q*-A-t*-m)+((q*-z+(t*k+x*-m)-p*-A)*(q*-z+(t*k+x*-m)-p*-A)+((t*-A+(p*k+x*-z)-q*-m)*(t*-A+(p*k+x*-z)-q*-m)+(p*-m+(x*-A+q*k)-t*-z)*(p*-m+(x*-A+q*k)-t*-z)))));j=(t*-A+(p*k+x*-z)-q*-m)*T;l=(p*-m+(x*-A+q*k)-t*-z)*T;i=(q*-z+(t*k+x*-m)-p*-A)*T;T=(x*k-p*-z-q*-A-t*-m)*T;S=+f[b+444>>2];R=+f[b+456>>2];if(S>=R?(B=+f[b+448>>2],B>=R):0){t=k<-1.0?-1.0:k;t=+w(+(t>1.0?1.0:t))*2.0;if(t>1.1920928955078125e-07){k=1.0/+s(+(m*m+(z*z+A*A)));if(+r(+(A*k))>1.1920928955078125e-07){q=+s(+((m*k*(m*k)/(A*k*(A*k))+1.0)/(m*k*(m*k)/(A*k*(A*k))/(S*S)+1.0/(B*B))));n=z*k;m=m*k;k=A*k}else{q=S;n=z*k;m=m*k;k=A*k}}else{q=0.0;n=0.0;m=0.0;k=0.0}o=+f[b+428>>2];p=q*o;if(t>p){a[b+526>>0]=1;if(t>2]=o;f[b+504>>2]=t-p;if(+r(+k)>1.1920928955078125e-07){ra=+r(+(k*(B/S*(-m/k))));m=m<-0.0?ra:-ra;ra=1.0/+s(+(n*n+k*k+m*m));n=n*ra;m=-(m*ra);k=k*ra}qa=-n;pa=-k;na=-m;ma=(aa*da-ba*ca-ea*ha-fa*ga)*qa+(ba*ga+(da*ea+aa*ha)-ca*fa)*na-(aa*fa+da*ga+ca*ha-ba*ea)*pa;ra=(aa*fa+da*ga+ca*ha-ba*ea)*qa+(aa*da-ba*ca-ea*ha-fa*ga)*pa-(aa*ba+ca*da+ea*fa-ga*ha)*na;oa=(aa*ba+ca*da+ea*fa-ga*ha)*pa+(aa*da-ba*ca-ea*ha-fa*ga)*na-(ba*ga+(da*ea+aa*ha)-ca*fa)*qa;na=-((aa*ba+ca*da+ea*fa-ga*ha)*qa)-(ba*ga+(da*ea+aa*ha)-ca*fa)*pa-(aa*fa+da*ga+ca*ha-ba*ea)*na;pa=ra*ka+(na*ia+(aa*da-ba*ca-ea*ha-fa*ga)*ma)-oa*ja;qa=oa*ia+((aa*da-ba*ca-ea*ha-fa*ga)*ra+na*ja)-ma*ka;ra=ma*ja+(na*ka+(aa*da-ba*ca-ea*ha-fa*ga)*oa)-ra*ia;f[b+460>>2]=pa;f[b+464>>2]=qa;f[b+468>>2]=ra;f[b+472>>2]=0.0;c[b+536>>2]=0;c[b+536+4>>2]=0;c[b+536+8>>2]=0;c[b+536+12>>2]=0;f[b+492>>2]=1.0/(pa*(+f[g>>2]*pa+ +f[g+16>>2]*qa+ +f[g+32>>2]*ra)+qa*(pa*+f[g+4>>2]+qa*+f[g+20>>2]+ra*+f[g+36>>2])+ra*(pa*+f[g+8>>2]+qa*+f[g+24>>2]+ra*+f[g+40>>2])+(pa*(pa*+f[h>>2]+qa*+f[h+16>>2]+ra*+f[h+32>>2])+qa*(pa*+f[h+4>>2]+qa*+f[h+20>>2]+ra*+f[h+36>>2])+ra*(pa*+f[h+8>>2]+qa*+f[h+24>>2]+ra*+f[h+40>>2])))}}else Q=20;a:do if((Q|0)==20){F=+f[b+300>>2];G=+f[b+316>>2];H=+f[b+332>>2];I=+f[d>>2];J=+f[d+4>>2];K=+f[d+8>>2];L=+f[d+16>>2];M=+f[d+20>>2];N=+f[d+24>>2];O=+f[d+32>>2];P=+f[d+36>>2];q=+f[d+40>>2];t=+f[b+304>>2];x=+f[b+320>>2];z=+f[b+336>>2];A=+f[b+308>>2];B=+f[b+324>>2];C=+f[b+340>>2];m=+f[b+364>>2];n=+f[b+380>>2];p=+f[b+396>>2];E=m*+f[e>>2]+n*+f[e+4>>2]+p*+f[e+8>>2];D=m*+f[e+16>>2]+n*+f[e+20>>2]+p*+f[e+24>>2];p=m*+f[e+32>>2]+n*+f[e+36>>2]+p*+f[e+40>>2];n=(F*I+G*J+H*K)*E+(F*L+G*M+H*N)*D+(F*O+G*P+H*q)*p;m=(I*t+J*x+K*z)*E+(L*t+M*x+N*z)*D+(O*t+P*x+q*z)*p;k=(I*A+J*B+K*C)*E+(L*A+M*B+N*C)*D+(O*A+P*B+q*C)*p;do if(S>2];if(o>0]=1;f[b+460>>2]=-((F*O+G*P+H*q)*D-(F*L+G*M+H*N)*p);f[b+464>>2]=-((F*I+G*J+H*K)*p-(F*O+G*P+H*q)*E);f[b+468>>2]=-((F*L+G*M+H*N)*E-(F*I+G*J+H*K)*D);f[b+472>>2]=0.0;break a}if(!(+r(+n)<1.1920928955078125e-07&+r(+k)<1.1920928955078125e-07)?(a[b+526>>0]=1,o>=R):0){m=+y(+k,+n);if(m>o){n=+u(+o);m=0.0;k=+v(+o);break}if(m<-o){n=+u(+o);m=0.0;k=-+v(+o)}else m=0.0}}else if(!(+r(+n)<1.1920928955078125e-07&+r(+m)<1.1920928955078125e-07)?(a[b+526>>0]=1,S>=R):0){k=+y(+m,+n);if(k>S){n=+u(+S);m=+v(+S);k=0.0;break}if(k<-S){n=+u(+S);m=-+v(+S);k=0.0}else k=0.0}while(0);pa=(I*A+J*B+K*C)*k+((I*t+J*x+K*z)*m+(F*I+G*J+H*K)*n);oa=(L*A+M*B+N*C)*k+((L*t+M*x+N*z)*m+(F*L+G*M+H*N)*n);na=(O*A+P*B+q*C)*k+((O*t+P*x+q*z)*m+(F*O+G*P+H*q)*n);qa=1.0/+s(+(na*na+(pa*pa+oa*oa)));f[b+472>>2]=0.0;ra=+s(+((D*(na*qa)-p*(oa*qa))*(D*(na*qa)-p*(oa*qa))+(p*(pa*qa)-E*(na*qa))*(p*(pa*qa)-E*(na*qa))+(E*(oa*qa)-D*(pa*qa))*(E*(oa*qa)-D*(pa*qa))));f[b+504>>2]=ra;f[b+460>>2]=-((D*(na*qa)-p*(oa*qa))*(1.0/ra));f[b+464>>2]=-((p*(pa*qa)-E*(na*qa))*(1.0/ra));f[b+468>>2]=-((E*(oa*qa)-D*(pa*qa))*(1.0/ra))}while(0);o=+f[b+452>>2];if(!(o>=0.0)){f[b+512>>2]=0.0;Ta=la;return}k=T<-1.0?-1.0:T;k=+w(+(k>1.0?1.0:k))*2.0;if(k>3.1415927410125732){n=-T<-1.0?-1.0:-T;j=-j;l=-l;i=-i;n=+w(+(n>1.0?1.0:n))*2.0}else n=k;f[b+512>>2]=n;if(n>1.1920928955078125e-07){ra=1.0/+s(+(j*j+l*l+i*i));j=j*ra;m=i*ra;l=l*ra}else m=i;i=+f[b+428>>2];if(n>o*i){a[b+525>>0]=1;k=n-o*i;if(n>2]=i;f[b+508>>2]=k;qa=-j;pa=-l;na=-m;ma=(aa*da-ba*ca-ea*ha-fa*ga)*qa+(ba*ga+(da*ea+aa*ha)-ca*fa)*na-(aa*fa+da*ga+ca*ha-ba*ea)*pa;ra=(aa*fa+da*ga+ca*ha-ba*ea)*qa+(aa*da-ba*ca-ea*ha-fa*ga)*pa-(aa*ba+ca*da+ea*fa-ga*ha)*na;oa=(aa*ba+ca*da+ea*fa-ga*ha)*pa+(aa*da-ba*ca-ea*ha-fa*ga)*na-(ba*ga+(da*ea+aa*ha)-ca*fa)*qa;na=-((aa*ba+ca*da+ea*fa-ga*ha)*qa)-(ba*ga+(da*ea+aa*ha)-ca*fa)*pa-(aa*fa+da*ga+ca*ha-ba*ea)*na;pa=ra*ka+(na*ia+(aa*da-ba*ca-ea*ha-fa*ga)*ma)-oa*ja;qa=oa*ia+((aa*da-ba*ca-ea*ha-fa*ga)*ra+na*ja)-ma*ka;ra=ma*ja+(na*ka+(aa*da-ba*ca-ea*ha-fa*ga)*oa)-ra*ia;f[b+476>>2]=pa;f[b+480>>2]=qa;f[b+484>>2]=ra;f[b+488>>2]=0.0;f[b+496>>2]=1.0/(pa*(+f[g>>2]*pa+ +f[g+16>>2]*qa+ +f[g+32>>2]*ra)+qa*(pa*+f[g+4>>2]+qa*+f[g+20>>2]+ra*+f[g+36>>2])+ra*(pa*+f[g+8>>2]+qa*+f[g+24>>2]+ra*+f[g+40>>2])+(pa*(pa*+f[h>>2]+qa*+f[h+16>>2]+ra*+f[h+32>>2])+qa*(pa*+f[h+4>>2]+qa*+f[h+20>>2]+ra*+f[h+36>>2])+ra*(pa*+f[h+8>>2]+qa*+f[h+24>>2]+ra*+f[h+40>>2])))}if(!(a[b+526>>0]|0)){Ta=la;return}ma=-j;ra=-l;na=-m;ka=(U*X-V*W-Y*$-Z*_)*ma+(V*_+(X*Y+U*$)-W*Z)*na-(U*Z+X*_+W*$-V*Y)*ra;qa=(U*Z+X*_+W*$-V*Y)*ma+(U*X-V*W-Y*$-Z*_)*ra-(U*V+W*X+Y*Z-_*$)*na;pa=(U*V+W*X+Y*Z-_*$)*ra+(U*X-V*W-Y*$-Z*_)*na-(V*_+(X*Y+U*$)-W*Z)*ma;na=-((U*V+W*X+Y*Z-_*$)*ma)-(V*_+(X*Y+U*$)-W*Z)*ra-(U*Z+X*_+W*$-V*Y)*na;ra=-(U*V+W*X+Y*Z-_*$);ma=-(V*_+(X*Y+U*$)-W*Z);oa=-(U*Z+X*_+W*$-V*Y);f[b+536>>2]=qa*oa+(na*ra+(U*X-V*W-Y*$-Z*_)*ka)-pa*ma;f[b+540>>2]=pa*ra+((U*X-V*W-Y*$-Z*_)*qa+na*ma)-ka*oa;f[b+544>>2]=ka*ma+(na*oa+(U*X-V*W-Y*$-Z*_)*pa)-qa*ra;f[b+548>>2]=0.0;Ta=la;return}function ec(b,d){b=b|0;d=d|0;var e=0.0,g=0.0,h=0,i=0.0,j=0,k=0.0,l=0.0,m=0,n=0.0,o=0,p=0.0,q=0,r=0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0,C=0.0,D=0.0,E=0.0,F=0.0,G=0.0,H=0.0,I=0.0,J=0.0,K=0.0,L=0.0,M=0.0,N=0.0,O=0.0,P=0.0,Q=0,R=0.0,S=0.0,T=0.0,U=0.0,V=0.0,W=0.0,X=0.0,Y=0.0,Z=0.0,_=0.0,$=0.0,aa=0.0,ba=0.0,ca=0.0,da=0.0,ea=0.0,fa=0.0,ga=0.0,ha=0.0,ia=0.0,ja=0.0,ka=0.0,la=0,ma=0,na=0;ma=c[b+28>>2]|0;na=c[b+32>>2]|0;la=c[d+24>>2]|0;if(!(a[b+739>>0]|0)){k=+f[b+552>>2];R=+f[ma+4>>2];l=+f[b+568>>2];S=+f[ma+8>>2];n=+f[b+584>>2];T=+f[ma+12>>2];p=+f[b+556>>2];t=+f[b+572>>2];u=+f[b+588>>2];U=+f[b+560>>2];V=+f[b+576>>2];W=+f[b+592>>2];X=+f[ma+20>>2];Y=+f[ma+24>>2];Z=+f[ma+28>>2];_=+f[ma+36>>2];$=+f[ma+40>>2];aa=+f[ma+44>>2];v=+f[b+600>>2];w=+f[b+604>>2];x=+f[b+608>>2];y=+f[ma+52>>2];z=+f[ma+56>>2];A=+f[ma+60>>2];B=+f[na+4>>2];C=+f[na+8>>2];D=+f[na+12>>2];E=+f[b+624>>2];F=+f[b+640>>2];G=+f[b+656>>2];H=+f[na+20>>2];I=+f[na+24>>2];J=+f[na+28>>2];K=+f[na+36>>2];L=+f[na+40>>2];M=+f[na+44>>2];ja=+f[b+664>>2];ka=+f[b+668>>2];O=+f[b+672>>2];N=+f[na+52>>2]+(B*ja+C*ka+D*O);P=H*ja+I*ka+J*O+ +f[na+56>>2];O=K*ja+L*ka+M*O+ +f[na+60>>2];j=(a[b+736>>0]|0)==0;if(j){h=c[d+8>>2]|0;f[h>>2]=1.0;f[h+(la+1<<2)>>2]=1.0;f[h+((la<<1)+2<<2)>>2]=1.0;h=c[d+16>>2]|0;f[h>>2]=-1.0;f[h+(la+1<<2)>>2]=-1.0;f[h+((la<<1)+2<<2)>>2]=-1.0;e=+f[ma+52>>2];g=+f[ma+56>>2];i=+f[ma+60>>2];h=la<<1}else{e=y;g=z;i=A;h=la<<1}e=y+(R*v+S*w+T*x)-e;ka=X*v+Y*w+Z*x+z-g;ja=_*v+$*w+aa*x+A-i;m=c[d+12>>2]|0;o=m+(h<<2)|0;c[m>>2]=0;f[m+4>>2]=ja;f[m+8>>2]=-ka;f[m+12>>2]=0.0;f[m+(la<<2)>>2]=-ja;c[m+(la<<2)+4>>2]=0;f[m+(la<<2)+8>>2]=e;f[m+(la<<2)+12>>2]=0.0;f[o>>2]=ka;f[o+4>>2]=-e;c[o+8>>2]=0;f[o+12>>2]=0.0;e=N-+f[na+52>>2];ka=P-+f[na+56>>2];ja=O-+f[na+60>>2];o=c[d+20>>2]|0;Q=o+(h<<2)|0;c[o>>2]=0;f[o+4>>2]=-ja;f[o+8>>2]=ka;f[o+12>>2]=0.0;f[o+(la<<2)>>2]=ja;c[o+(la<<2)+4>>2]=0;f[o+(la<<2)+8>>2]=-e;f[o+(la<<2)+12>>2]=0.0;f[Q>>2]=-ka;f[Q+4>>2]=e;c[Q+8>>2]=0;f[Q+12>>2]=0.0;e=+f[d>>2]*+f[d+4>>2];Q=c[d+28>>2]|0;if(j){f[Q>>2]=e*(N-(y+(R*v+S*w+T*x)));f[Q+(la<<2)>>2]=e*(P-(X*v+Y*w+Z*x+z));f[Q+(la<<1<<2)>>2]=e*(O-(_*v+$*w+aa*x+A))}f[m+(la*3<<2)>>2]=k*R+l*S+n*T;f[m+((la*3|0)+1<<2)>>2]=k*X+l*Y+n*Z;f[m+((la*3|0)+2<<2)>>2]=k*_+l*$+n*aa;f[m+(la<<2<<2)>>2]=R*p+S*t+T*u;f[m+((la<<2|1)<<2)>>2]=p*X+t*Y+u*Z;f[m+((la<<2|2)<<2)>>2]=p*_+t*$+u*aa;f[o+(la*3<<2)>>2]=-(k*R+l*S+n*T);f[o+((la*3|0)+1<<2)>>2]=-(k*X+l*Y+n*Z);f[o+((la*3|0)+2<<2)>>2]=-(k*_+l*$+n*aa);f[o+(la<<2<<2)>>2]=-(R*p+S*t+T*u);f[o+((la<<2|1)<<2)>>2]=-(p*X+t*Y+u*Z);f[o+((la<<2|2)<<2)>>2]=-(p*_+t*$+u*aa);ja=(U*X+V*Y+W*Z)*(E*K+F*L+G*M)-(U*_+V*$+W*aa)*(E*H+F*I+G*J);ka=(U*_+V*$+W*aa)*(B*E+C*F+D*G)-(R*U+S*V+T*W)*(E*K+F*L+G*M);ia=(R*U+S*V+T*W)*(E*H+F*I+G*J)-(U*X+V*Y+W*Z)*(B*E+C*F+D*G);f[Q+(la*3<<2)>>2]=((k*_+l*$+n*aa)*ia+((k*R+l*S+n*T)*ja+(k*X+l*Y+n*Z)*ka))*e;f[Q+(la<<2<<2)>>2]=((p*_+t*$+u*aa)*ia+((R*p+S*t+T*u)*ja+(p*X+t*Y+u*Z)*ka))*e;if(!(a[b+716>>0]|0)){r=0;p=0.0}else{p=+f[b+708>>2]*+f[b+732>>2];r=p>0.0?1:2}h=a[b+737>>0]|0;q=(r|0)!=0;if(!(r|h&255))return;f[m+(la*5<<2)>>2]=R*U+S*V+T*W;f[m+((la*5|0)+1<<2)>>2]=U*X+V*Y+W*Z;f[m+((la*5|0)+2<<2)>>2]=U*_+V*$+W*aa;f[o+(la*5<<2)>>2]=-(R*U+S*V+T*W);f[o+((la*5|0)+1<<2)>>2]=-(U*X+V*Y+W*Z);f[o+((la*5|0)+2<<2)>>2]=-(U*_+V*$+W*aa);e=+f[b+688>>2];g=+f[b+692>>2];if(!((e-g)%6.2831854820251465<-3.1415927410125732))if((e-g)%6.2831854820251465>3.1415927410125732)n=(e-g)%6.2831854820251465+-6.2831854820251465;else n=(e-g)%6.2831854820251465;else n=(e-g)%6.2831854820251465+6.2831854820251465;if(!((e+g)%6.2831854820251465<-3.1415927410125732))if((e+g)%6.2831854820251465>3.1415927410125732)l=(e+g)%6.2831854820251465+-6.2831854820251465;else l=(e+g)%6.2831854820251465;else l=(e+g)%6.2831854820251465+6.2831854820251465;m=n==l;o=Q+(la*5<<2)|0;f[o>>2]=0.0;j=c[b+748>>2]|0;k=+f[((j&2|0)==0?d+4|0:b+760|0)>>2];if(!(h<<24>>24==0|q&m)){if(j&4|0)c[(c[d+32>>2]|0)+(la*5<<2)>>2]=c[b+752>>2];g=+f[b+728>>2];i=+f[b+680>>2];e=n>l?1.0:0.0;do if(!(n>=l)){e=i/(k*+f[d>>2]);if(e<0.0)if(g>=n&n-e>g){e=(n-g)/e;break}else{e=g0.0)if(g<=l&l-el?0.0:1.0;break}else e=0.0}while(0);f[o>>2]=e*i*+f[b+732>>2]+ +f[o>>2];f[(c[d+36>>2]|0)+(la*5<<2)>>2]=-+f[b+684>>2];c[(c[d+40>>2]|0)+(la*5<<2)>>2]=c[b+684>>2]}if(!q)return;f[o>>2]=+f[o>>2]+p*(k*+f[d>>2]);if(j&1|0)c[(c[d+32>>2]|0)+(la*5<<2)>>2]=c[b+756>>2];do if(!m){h=(c[d+36>>2]|0)+(la*5<<2)|0;if((r|0)==1){f[h>>2]=0.0;e=3402823466385288598117041.0e14;break}else{f[h>>2]=-3402823466385288598117041.0e14;e=0.0;break}}else{f[(c[d+36>>2]|0)+(la*5<<2)>>2]=-3402823466385288598117041.0e14;e=3402823466385288598117041.0e14}while(0);f[(c[d+40>>2]|0)+(la*5<<2)>>2]=e;g=+f[b+704>>2];do if(g>0.0){e=(R*U+S*V+T*W)*+f[ma+328>>2]+(U*X+V*Y+W*Z)*+f[ma+332>>2]+(U*_+V*$+W*aa)*+f[ma+336>>2]-((R*U+S*V+T*W)*+f[na+328>>2]+(U*X+V*Y+W*Z)*+f[na+332>>2]+(U*_+V*$+W*aa)*+f[na+336>>2]);if((r|0)==1){if(!(e<0.0))break;if(!(+f[o>>2]<-(g*e)))break;f[o>>2]=-(g*e);break}else{if(!(e>0.0))break;if(!(+f[o>>2]>-(g*e)))break;f[o>>2]=-(g*e);break}}while(0);f[o>>2]=+f[b+700>>2]*+f[o>>2];return}ea=+f[ma+4>>2];fa=+f[ma+8>>2];ga=+f[ma+12>>2];n=+f[b+556>>2];p=+f[b+572>>2];t=+f[b+588>>2];K=+f[b+560>>2];L=+f[b+576>>2];M=+f[b+592>>2];N=+f[ma+20>>2];O=+f[ma+24>>2];P=+f[ma+28>>2];R=+f[ma+36>>2];S=+f[ma+40>>2];T=+f[ma+44>>2];B=+f[b+600>>2];D=+f[b+604>>2];C=+f[b+608>>2];g=+f[ma+52>>2];u=+f[ma+56>>2];k=+f[ma+60>>2];U=+f[na+4>>2];V=+f[na+8>>2];W=+f[na+12>>2];X=+f[b+624>>2];Y=+f[b+640>>2];Z=+f[b+656>>2];_=+f[na+20>>2];$=+f[na+24>>2];aa=+f[na+28>>2];ba=+f[na+36>>2];ca=+f[na+40>>2];da=+f[na+44>>2];A=+f[b+664>>2];z=+f[b+668>>2];e=+f[b+672>>2];i=+f[na+52>>2];v=+f[na+56>>2];l=+f[na+60>>2];F=i+(U*A+V*z+W*e)-(g+(ea*B+fa*D+ga*C));H=_*A+$*z+aa*e+v-(N*B+O*D+P*C+u);G=ba*A+ca*z+da*e+l-(R*B+S*D+T*C+k);w=+f[(c[b+28>>2]|0)+344>>2];x=+f[(c[b+32>>2]|0)+344>>2];E=w+x>0.0?x/(w+x):.5;ha=(ea*K+fa*L+ga*M)*E+(U*X+V*Y+W*Z)*(1.0-E);ja=(K*N+L*O+M*P)*E+(X*_+Y*$+Z*aa)*(1.0-E);ia=(K*R+L*S+M*T)*E+(X*ba+Y*ca+Z*da)*(1.0-E);ka=1.0/+s(+(ia*ia+(ha*ha+ja*ja)));y=(ba*A+ca*z+da*e+l-l)*(ia*ka)+((i+(U*A+V*z+W*e)-i)*(ha*ka)+(_*A+$*z+aa*e+v-v)*(ja*ka));i=i+(U*A+V*z+W*e)-i-ha*ka*y;v=_*A+$*z+aa*e+v-v-ja*ka*y;l=ba*A+ca*z+da*e+l-l-ia*ka*y;e=(R*B+S*D+T*C+k-k)*(ia*ka)+((g+(ea*B+fa*D+ga*C)-g)*(ha*ka)+(N*B+O*D+P*C+u-u)*(ja*ka));g=g+(ea*B+fa*D+ga*C)-g-ha*ka*e;u=N*B+O*D+P*C+u-u-ja*ka*e;k=R*B+S*D+T*C+k-k-ia*ka*e;C=g+E*(ha*ka*e-ha*ka*y);D=u+E*(ja*ka*e-ja*ka*y);B=k+E*(ia*ka*e-ia*ka*y);z=i-(1.0-E)*(ha*ka*e-ha*ka*y);A=v-(1.0-E)*(ja*ka*e-ja*ka*y);y=l-(1.0-E)*(ia*ka*e-ia*ka*y);e=(E*l+(1.0-E)*k)*(E*l+(1.0-E)*k)+((E*i+(1.0-E)*g)*(E*i+(1.0-E)*g)+(E*v+(1.0-E)*u)*(E*v+(1.0-E)*u));if(e>1.1920928955078125e-07){p=1.0/+s(+e);J=(E*i+(1.0-E)*g)*p;I=(E*l+(1.0-E)*k)*p;p=(E*v+(1.0-E)*u)*p}else{J=ea*n+fa*p+ga*t;I=n*R+p*S+t*T;p=n*N+p*O+t*P}t=ja*ka*I-ia*ka*p;u=ia*ka*J-ha*ka*I;v=ha*ka*p-ja*ka*J;Q=c[d+12>>2]|0;f[Q>>2]=D*I-B*p;f[Q+4>>2]=B*J-C*I;f[Q+8>>2]=C*p-D*J;Q=c[d+20>>2]|0;f[Q>>2]=-(A*I-y*p);f[Q+4>>2]=-(y*J-z*I);f[Q+8>>2]=-(z*p-A*J);if(w<1.1920928955078125e-07|x<1.1920928955078125e-07?(a[b+716>>0]|0)!=0:0){e=(1.0-E)*(A*v-y*u);g=(1.0-E)*(y*t-z*v);i=(1.0-E)*(z*u-A*t);k=E*(D*v-B*u);l=E*(B*t-C*v);n=E*(C*u-D*t)}else{e=A*v-y*u;g=y*t-z*v;i=z*u-A*t;k=D*v-B*u;l=B*t-C*v;n=C*u-D*t}Q=(c[d+12>>2]|0)+(la<<2)|0;f[Q>>2]=k;f[Q+4>>2]=l;f[Q+8>>2]=n;Q=c[d+20>>2]|0;f[Q+(la<<2)>>2]=-e;f[Q+(la+1<<2)>>2]=-g;f[Q+(la+2<<2)>>2]=-i;if(w<1.1920928955078125e-07|x<1.1920928955078125e-07){n=(1.0-E)*(A*(ia*ka)-y*(ja*ka));l=(1.0-E)*(y*(ha*ka)-z*(ia*ka));k=(1.0-E)*(z*(ja*ka)-A*(ha*ka));i=E*(D*(ia*ka)-B*(ja*ka));g=E*(B*(ha*ka)-C*(ia*ka));e=E*(C*(ja*ka)-D*(ha*ka))}else{n=A*(ia*ka)-y*(ja*ka);l=y*(ha*ka)-z*(ia*ka);k=z*(ja*ka)-A*(ha*ka);i=D*(ia*ka)-B*(ja*ka);g=B*(ha*ka)-C*(ia*ka);e=C*(ja*ka)-D*(ha*ka)}h=(c[d+12>>2]|0)+(la<<1<<2)|0;f[h>>2]=i;f[h+4>>2]=g;f[h+8>>2]=e;h=c[d+20>>2]|0;f[h+(la<<1<<2)>>2]=-n;f[h+((la<<1|1)<<2)>>2]=-l;f[h+((la<<1)+2<<2)>>2]=-k;e=+f[d>>2]*+f[d+4>>2];if(!(a[b+736>>0]|0)){o=c[d+8>>2]|0;f[o>>2]=J;f[o+4>>2]=p;f[o+8>>2]=I;o=(c[d+8>>2]|0)+(la<<2)|0;f[o>>2]=t;f[o+4>>2]=u;f[o+8>>2]=v;o=(c[d+8>>2]|0)+(la<<1<<2)|0;f[o>>2]=ha*ka;f[o+4>>2]=ja*ka;f[o+8>>2]=ia*ka;o=c[d+16>>2]|0;g=-J;f[o>>2]=g;f[o+4>>2]=-p;f[o+8>>2]=-I;f[o+(la<<2)>>2]=-t;f[o+(la+1<<2)>>2]=-u;f[o+(la+2<<2)>>2]=-v;f[o+(la<<1<<2)>>2]=-(ha*ka);f[o+((la<<1|1)<<2)>>2]=-(ja*ka);f[o+((la<<1)+2<<2)>>2]=-(ia*ka);o=c[d+28>>2]|0;f[o>>2]=e*(F*J+H*p+G*I);f[o+(la<<2)>>2]=e*(F*t+H*u+G*v);f[o+(la<<1<<2)>>2]=e*(F*(ha*ka)+H*(ja*ka)+G*(ia*ka));m=c[d+20>>2]|0;e=g;g=-t;i=-u;k=-v}else{m=h;o=c[d+28>>2]|0;e=-J;g=-t;i=-u;k=-v}j=c[d+12>>2]|0;f[j+(la*3<<2)>>2]=J;f[j+((la*3|0)+1<<2)>>2]=p;f[j+((la*3|0)+2<<2)>>2]=I;f[j+(la<<2<<2)>>2]=t;f[j+((la<<2|1)<<2)>>2]=u;f[j+((la<<2|2)<<2)>>2]=v;f[m+(la*3<<2)>>2]=e;f[m+((la*3|0)+1<<2)>>2]=-p;f[m+((la*3|0)+2<<2)>>2]=-I;f[m+(la<<2<<2)>>2]=g;f[m+((la<<2|1)<<2)>>2]=i;f[m+((la<<2|2)<<2)>>2]=k;G=+f[d>>2]*+f[d+4>>2];H=(K*N+L*O+M*P)*(X*ba+Y*ca+Z*da)-(K*R+L*S+M*T)*(X*_+Y*$+Z*aa);da=(K*R+L*S+M*T)*(U*X+V*Y+W*Z)-(ea*K+fa*L+ga*M)*(X*ba+Y*ca+Z*da);ga=(ea*K+fa*L+ga*M)*(X*_+Y*$+Z*aa)-(K*N+L*O+M*P)*(U*X+V*Y+W*Z);f[o+(la*3<<2)>>2]=G*(H*J+da*p+ga*I);f[o+(la<<2<<2)>>2]=G*(H*t+da*u+ga*v);if(!(a[b+716>>0]|0)){r=0;p=0.0}else{p=+f[b+708>>2]*+f[b+732>>2];r=p>0.0?1:2}h=a[b+737>>0]|0;q=(r|0)!=0;if(!(r|h&255))return;f[j+(la*5<<2)>>2]=ha*ka;f[j+((la*5|0)+1<<2)>>2]=ja*ka;f[j+((la*5|0)+2<<2)>>2]=ia*ka;f[m+(la*5<<2)>>2]=-(ha*ka);f[m+((la*5|0)+1<<2)>>2]=-(ja*ka);f[m+((la*5|0)+2<<2)>>2]=-(ia*ka);e=+f[b+688>>2];g=+f[b+692>>2];if(!((e-g)%6.2831854820251465<-3.1415927410125732))if((e-g)%6.2831854820251465>3.1415927410125732)n=(e-g)%6.2831854820251465+-6.2831854820251465;else n=(e-g)%6.2831854820251465;else n=(e-g)%6.2831854820251465+6.2831854820251465;if(!((e+g)%6.2831854820251465<-3.1415927410125732))if((e+g)%6.2831854820251465>3.1415927410125732)l=(e+g)%6.2831854820251465+-6.2831854820251465;else l=(e+g)%6.2831854820251465;else l=(e+g)%6.2831854820251465+6.2831854820251465;m=n==l;o=o+(la*5<<2)|0;f[o>>2]=0.0;j=c[b+748>>2]|0;k=+f[((j&2|0)==0?d+4|0:b+760|0)>>2];if(!(h<<24>>24==0|q&m)){if(j&4|0)c[(c[d+32>>2]|0)+(la*5<<2)>>2]=c[b+752>>2];g=+f[b+728>>2];i=+f[b+680>>2];e=n>l?1.0:0.0;do if(!(n>=l)){e=i/(k*+f[d>>2]);if(e<0.0)if(g>=n&n-e>g){e=(n-g)/e;break}else{e=g0.0)if(g<=l&l-el?0.0:1.0;break}else e=0.0}while(0);f[o>>2]=e*i*+f[b+732>>2]+ +f[o>>2];f[(c[d+36>>2]|0)+(la*5<<2)>>2]=-+f[b+684>>2];c[(c[d+40>>2]|0)+(la*5<<2)>>2]=c[b+684>>2]}if(!q)return;f[o>>2]=+f[o>>2]+p*(k*+f[d>>2]);if(j&1|0)c[(c[d+32>>2]|0)+(la*5<<2)>>2]=c[b+756>>2];do if(!m){h=(c[d+36>>2]|0)+(la*5<<2)|0;if((r|0)==1){f[h>>2]=0.0;e=3402823466385288598117041.0e14;break}else{f[h>>2]=-3402823466385288598117041.0e14;e=0.0;break}}else{f[(c[d+36>>2]|0)+(la*5<<2)>>2]=-3402823466385288598117041.0e14;e=3402823466385288598117041.0e14}while(0);f[(c[d+40>>2]|0)+(la*5<<2)>>2]=e;g=+f[b+704>>2];do if(g>0.0){e=+f[ma+328>>2]*(ha*ka)+ +f[ma+332>>2]*(ja*ka)+ +f[ma+336>>2]*(ia*ka)-(+f[na+328>>2]*(ha*ka)+ +f[na+332>>2]*(ja*ka)+ +f[na+336>>2]*(ia*ka));if((r|0)==1){if(!(e<0.0))break;if(!(+f[o>>2]<-(g*e)))break;f[o>>2]=-(g*e);break}else{if(!(e>0.0))break;if(!(+f[o>>2]>-(g*e)))break;f[o>>2]=-(g*e);break}}while(0);f[o>>2]=+f[b+700>>2]*+f[o>>2];return}function fc(a,b,d,e,g){a=a|0;b=b|0;d=d|0;e=e|0;g=g|0;var h=0,i=0.0,j=0.0,k=0,l=0.0,m=0.0,n=0.0,o=0,p=0,q=0.0,t=0.0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0,C=0.0,D=0.0,E=0.0,F=0.0,G=0.0,H=0.0,I=0.0,J=0.0,K=0.0,L=0.0,M=0.0,N=0.0,O=0.0,P=0,Q=0,R=0,S=0.0,T=0,U=0,V=0.0,W=0.0,X=0.0,Y=0;Y=Ta;Ta=Ta+96|0;p=c[b+4>>2]|0;if((c[p+4>>2]|0)!=1){Ta=Y;return}h=c[(c[b+8>>2]|0)+192>>2]|0;if((c[h+4>>2]|0)==22)h=c[h+32>>2]|0;R=c[h+56>>2]|0;if(!R){Ta=Y;return}h=((10?(d<<21|e)+~(e<<15)>>10:(d<<21|e)+~(e<<15)|0)^(d<<21|e)+~(e<<15))*9|0;h=(6?h>>6:h)^h;h=(c[R+4+48>>2]|0)+-1&((16?h+~(h<<11)>>16:h+~(h<<11)|0)^h+~(h<<11));if(h>>>0>=(c[R+4+4>>2]|0)>>>0){Ta=Y;return}h=c[(c[R+4+12>>2]|0)+(h<<2)>>2]|0;if((h|0)==-1){Ta=Y;return}k=c[R+4+72>>2]|0;while(1){if((d<<21|e|0)==(c[k+(h<<2)>>2]|0))break;h=c[(c[R+4+32>>2]|0)+(h<<2)>>2]|0;if((h|0)==-1){o=90;break}}if((o|0)==90){Ta=Y;return}e=c[R+4+52>>2]|0;P=e+(h<<4)|0;if(!P){Ta=Y;return}X=(g&1|0)==0?1.0:-1.0;zb[c[(c[p>>2]|0)+108>>2]&127](p,0,Y+80|0);zb[c[(c[p>>2]|0)+108>>2]&127](p,1,Y+64|0);zb[c[(c[p>>2]|0)+108>>2]&127](p,2,Y+48|0);q=+f[p+56>>2];J=+f[p+72>>2]-q;t=+f[p+60>>2];I=+f[p+76>>2]-t;V=+f[p+64>>2];w=+f[p+80>>2]-V;q=+f[p+88>>2]-q;t=+f[p+92>>2]-t;V=+f[p+96>>2]-V;W=1.0/+s(+((J*t-I*q)*(J*t-I*q)+((I*V-w*t)*(I*V-w*t)+(w*q-J*V)*(w*q-J*V))));S=(I*V-w*t)*W;V=(w*q-J*V)*W;W=(J*t-I*q)*W;q=+f[Y+64>>2];I=+f[Y+80>>2];t=+f[Y+64+4>>2];J=+f[Y+80+4>>2];w=+f[Y+64+8>>2];K=+f[Y+80+8>>2];m=(q-I)*(q-I)+(t-J)*(t-J)+(w-K)*(w-K);O=+f[a+16>>2];if(m<1.1920928955078125e-07){N=+f[a+20>>2];M=+f[a+24>>2];T=a+20|0;U=a+24|0;G=I;H=J;F=K}else{i=+f[a+20>>2];j=+f[a+24>>2];if(!(((q-I)*(O-I)+(t-J)*(i-J)+(w-K)*(j-K))/m<0.0))if(((q-I)*(O-I)+(t-J)*(i-J)+(w-K)*(j-K))/m>1.0)l=1.0;else l=((q-I)*(O-I)+(t-J)*(i-J)+(w-K)*(j-K))/m;else l=0.0;N=i;M=j;T=a+20|0;U=a+24|0;G=I+(q-I)*l;H=J+(t-J)*l;F=K+(w-K)*l}p=c[b+12>>2]|0;y=+f[a+64>>2];E=+f[a+68>>2];B=+f[a+72>>2];D=+f[p>>2]*y+ +f[p+16>>2]*E+ +f[p+32>>2]*B;C=+f[p+4>>2]*y+ +f[p+20>>2]*E+ +f[p+36>>2]*B;B=+f[p+8>>2]*y+ +f[p+24>>2]*E+ +f[p+40>>2]*B;p=Y+32+4|0;Q=Y+32+8|0;f[Y+32+12>>2]=0.0;E=1.0/+s(+(B*B+(D*D+C*C)));f[Y+32>>2]=D*E;f[p>>2]=C*E;f[Q>>2]=B*E;y=+f[e+(h<<4)+4>>2];z=+r(+y);A=+f[R+100>>2];if(z1.0)i=1.0}else i=0.0;j=I+(q-I)*i;l=J+(t-J)*i;i=K+(w-K)*i}m=O-j;n=N-l;x=M-i;x=+s(+(m*m+n*n+x*x));k=(x<999999984306749440.0^1)<<31>>31;x=x<999999984306749440.0?x:999999984306749440.0}else{k=-1;x=999999984306749440.0}d=e+(h<<4)+8|0;if(+r(+(+f[d>>2]))>2]-q;m=+f[Y+48+4>>2]-t;n=+f[Y+48+8>>2]-w;if(j*j+m*m+n*n<1.1920928955078125e-07){l=q;j=t;i=w}else{i=(j*(O-q)+m*(N-t)+n*(M-w))/(j*j+m*m+n*n);if(!(i<0.0)){if(i>1.0)i=1.0}else i=0.0;l=q+j*i;j=t+m*i;i=w+n*i}l=O-l;m=N-j;n=M-i;n=+s(+(l*l+m*m+n*n));o=n>2]))>2];m=+f[Y+48+4>>2];i=+f[Y+48+8>>2];if(!((I-l)*(I-l)+(J-m)*(J-m)+(K-i)*(K-i)<1.1920928955078125e-07)){j=((I-l)*(O-l)+(J-m)*(N-m)+(K-i)*(M-i))/((I-l)*(I-l)+(J-m)*(J-m)+(K-i)*(K-i));if(!(j<0.0)){if(j>1.0)j=1.0}else j=0.0;l=l+(I-l)*j;m=m+(J-m)*j;i=i+(K-i)*j}l=O-l;m=N-m;n=M-i;e=+s(+(l*l+m*m+n*n))>2]:0):0)if(!(y==0.0)?(k=c[P>>2]|0,L=(k&1|0)==0?-1.0:1.0,A=+v(+(y*.5))/+s(+((I-q)*(I-q)+(J-t)*(J-t)+(K-w)*(K-w))),x=+u(+(y*.5)),m=S*x+W*((J-t)*A)-V*((K-w)*A),H=V*x+S*((K-w)*A)-W*((I-q)*A),z=W*x+V*((I-q)*A)-S*((J-t)*A),n=-(S*((I-q)*A))-V*((J-t)*A)-W*((K-w)*A),F=H*-((K-w)*A)+(x*m+n*-((I-q)*A))-z*-((J-t)*A),G=z*-((I-q)*A)+(x*H+n*-((J-t)*A))-m*-((K-w)*A),A=m*-((J-t)*A)+(n*-((K-w)*A)+x*z)-H*-((I-q)*A),H=+f[R+84>>2],!(B*E*(W*L)+(D*E*(S*L)+C*E*(V*L))>2];l=+f[Y+16+4>>2];j=+f[Y+16+8>>2];if(!(X*S*i+X*V*l+X*W*j>0.0))break}else{i=+f[Y+16>>2];l=+f[Y+16+4>>2];j=+f[Y+16+8>>2]}k=c[b+12>>2]|0;H=+f[k>>2]*i+ +f[k+4>>2]*l+ +f[k+8>>2]*j;I=i*+f[k+16>>2]+l*+f[k+20>>2]+j*+f[k+24>>2];J=i*+f[k+32>>2]+l*+f[k+36>>2]+j*+f[k+40>>2];f[a+64>>2]=H;f[a+68>>2]=I;f[a+72>>2]=J;f[a+76>>2]=0.0;K=+f[a+80>>2];H=+f[a+48>>2]-H*K;I=+f[a+52>>2]-K*I;J=+f[a+56>>2]-K*J;f[a+32>>2]=H;f[a+36>>2]=I;f[a+40>>2]=J;f[a+44>>2]=0.0;k=c[b+12>>2]|0;H=H-+f[k+48>>2];I=I-+f[k+52>>2];J=J-+f[k+56>>2];K=H*+f[k+4>>2]+I*+f[k+20>>2]+J*+f[k+36>>2];L=H*+f[k+8>>2]+I*+f[k+24>>2]+J*+f[k+40>>2];f[a+16>>2]=H*+f[k>>2]+I*+f[k+16>>2]+J*+f[k+32>>2];f[T>>2]=K;f[U>>2]=L;f[a+28>>2]=0.0}while(0);q=+f[Y+64>>2];t=+f[Y+64+4>>2];w=+f[Y+64+8>>2];k=1;h=0}else{k=1;h=1}else{k=0;h=0}x=+f[Y+48>>2];j=x-q;y=+f[Y+48+4>>2];l=y-t;z=+f[Y+48+8>>2];n=z-w;if(j*j+l*l+n*n<1.1920928955078125e-07){m=q;j=t;i=w}else{i=(j*(O-q)+l*(N-t)+n*(M-w))/(j*j+l*l+n*n);if(!(i<0.0)){if(i>1.0)i=1.0}else i=0.0;m=q+j*i;j=t+l*i;i=w+n*i}n=+f[d>>2];L=+r(+n);do if(L<+f[R+100>>2]?(J=O-m,K=N-j,L=M-i,L=+s(+(J*J+K*K+L*L)),(e|0)==1?L<+f[R+96>>2]:0):0){m=q-x;l=t-y;j=w-z;if(n==0.0){k=1;h=h+1|0;break}d=c[P>>2]|0;i=(d&2|0)==0?-1.0:1.0;G=+v(+(n*.5))/+s(+(m*m+l*l+j*j));H=+u(+(n*.5));I=(V*H+S*(j*G)-W*(m*G))*-(j*G)+(H*(S*H+W*(l*G)-V*(j*G))+(-(S*(m*G))-V*(l*G)-W*(j*G))*-(m*G))-(W*H+V*(m*G)-S*(l*G))*-(l*G);K=(W*H+V*(m*G)-S*(l*G))*-(m*G)+(H*(V*H+S*(j*G)-W*(m*G))+(-(S*(m*G))-V*(l*G)-W*(j*G))*-(l*G))-(S*H+W*(l*G)-V*(j*G))*-(j*G);G=(S*H+W*(l*G)-V*(j*G))*-(l*G)+((-(S*(m*G))-V*(l*G)-W*(j*G))*-(j*G)+H*(W*H+V*(m*G)-S*(l*G)))-(V*H+S*(j*G)-W*(m*G))*-(m*G);H=+f[Y+32>>2];J=+f[p>>2];F=+f[Q>>2];L=+f[R+84>>2];if(F*(W*i)+(H*(S*i)+J*(V*i))>2]|0;H=+f[a+64>>2];I=+f[a+68>>2];J=+f[a+72>>2];K=+f[d+4>>2]*H+ +f[d+20>>2]*I+ +f[d+36>>2]*J;L=+f[d+8>>2]*H+ +f[d+24>>2]*I+ +f[d+40>>2]*J;f[Y+16>>2]=+f[d>>2]*H+ +f[d+16>>2]*I+ +f[d+32>>2]*J;f[Y+16+4>>2]=K;f[Y+16+8>>2]=L;f[Y+16+12>>2]=0.0;do if(Dg(m,l,j,S*i,V*i,W*i,Y+16|0,n,Y)|0){if(!(g&4)){i=+f[Y>>2];l=+f[Y+4>>2];j=+f[Y+8>>2];if(!(X*S*i+X*V*l+X*W*j>0.0))break}else{i=+f[Y>>2];l=+f[Y+4>>2];j=+f[Y+8>>2]}d=c[b+12>>2]|0;H=+f[d>>2]*i+ +f[d+4>>2]*l+ +f[d+8>>2]*j;I=i*+f[d+16>>2]+l*+f[d+20>>2]+j*+f[d+24>>2];J=i*+f[d+32>>2]+l*+f[d+36>>2]+j*+f[d+40>>2];f[a+64>>2]=H;f[a+68>>2]=I;f[a+72>>2]=J;f[a+76>>2]=0.0;K=+f[a+80>>2];H=+f[a+48>>2]-H*K;I=+f[a+52>>2]-K*I;J=+f[a+56>>2]-K*J;f[a+32>>2]=H;f[a+36>>2]=I;f[a+40>>2]=J;f[a+44>>2]=0.0;d=c[b+12>>2]|0;H=H-+f[d+48>>2];I=I-+f[d+52>>2];J=J-+f[d+56>>2];K=H*+f[d+4>>2]+I*+f[d+20>>2]+J*+f[d+36>>2];L=H*+f[d+8>>2]+I*+f[d+24>>2]+J*+f[d+40>>2];f[a+16>>2]=H*+f[d>>2]+I*+f[d+16>>2]+J*+f[d+32>>2];f[T>>2]=K;f[U>>2]=L;f[a+28>>2]=0.0}while(0);x=+f[Y+48>>2];y=+f[Y+48+4>>2];z=+f[Y+48+8>>2];k=1}while(0);q=+f[Y+80>>2];j=q-x;t=+f[Y+80+4>>2];l=t-y;w=+f[Y+80+8>>2];n=w-z;if(j*j+l*l+n*n<1.1920928955078125e-07){m=x;j=y;i=z}else{i=(j*(O-x)+l*(N-y)+n*(M-z))/(j*j+l*l+n*n);if(!(i<0.0)){if(i>1.0)i=1.0}else i=0.0;m=x+j*i;j=y+l*i;i=z+n*i}n=+f[o>>2];L=+r(+n);do if(L<+f[R+100>>2]?(L=O-m,N=N-j,O=M-i,O=+s(+(L*L+N*N+O*O)),(e|0)==2?O<+f[R+96>>2]:0):0){m=x-q;l=y-t;j=z-w;if(n==0.0){k=1;h=h+1|0;break}P=c[P>>2]|0;i=(P&4|0)==0?-1.0:1.0;J=+v(+(n*.5))/+s(+(m*m+l*l+j*j));K=+u(+(n*.5));L=(V*K+S*(j*J)-W*(m*J))*-(j*J)+(K*(S*K+W*(l*J)-V*(j*J))+(-(S*(m*J))-V*(l*J)-W*(j*J))*-(m*J))-(W*K+V*(m*J)-S*(l*J))*-(l*J);N=(W*K+V*(m*J)-S*(l*J))*-(m*J)+(K*(V*K+S*(j*J)-W*(m*J))+(-(S*(m*J))-V*(l*J)-W*(j*J))*-(l*J))-(S*K+W*(l*J)-V*(j*J))*-(j*J);J=(S*K+W*(l*J)-V*(j*J))*-(l*J)+((-(S*(m*J))-V*(l*J)-W*(j*J))*-(j*J)+K*(W*K+V*(m*J)-S*(l*J)))-(V*K+S*(j*J)-W*(m*J))*-(m*J);K=+f[Y+32>>2];M=+f[p>>2];I=+f[Q>>2];O=+f[R+84>>2];if(I*(W*i)+(K*(S*i)+M*(V*i))>2]|0;K=+f[a+64>>2];L=+f[a+68>>2];M=+f[a+72>>2];N=+f[R+4>>2]*K+ +f[R+20>>2]*L+ +f[R+36>>2]*M;O=+f[R+8>>2]*K+ +f[R+24>>2]*L+ +f[R+40>>2]*M;f[Y+16>>2]=+f[R>>2]*K+ +f[R+16>>2]*L+ +f[R+32>>2]*M;f[Y+16+4>>2]=N;f[Y+16+8>>2]=O;f[Y+16+12>>2]=0.0;do if(Dg(m,l,j,S*i,V*i,W*i,Y+16|0,n,Y)|0){if(!(g&4)){i=+f[Y>>2];l=+f[Y+4>>2];j=+f[Y+8>>2];if(!(X*S*i+X*V*l+X*W*j>0.0))break}else{i=+f[Y>>2];l=+f[Y+4>>2];j=+f[Y+8>>2]}R=c[b+12>>2]|0;K=+f[R>>2]*i+ +f[R+4>>2]*l+ +f[R+8>>2]*j;L=i*+f[R+16>>2]+l*+f[R+20>>2]+j*+f[R+24>>2];M=i*+f[R+32>>2]+l*+f[R+36>>2]+j*+f[R+40>>2];f[a+64>>2]=K;f[a+68>>2]=L;f[a+72>>2]=M;f[a+76>>2]=0.0;N=+f[a+80>>2];K=+f[a+48>>2]-K*N;L=+f[a+52>>2]-N*L;M=+f[a+56>>2]-N*M;f[a+32>>2]=K;f[a+36>>2]=L;f[a+40>>2]=M;f[a+44>>2]=0.0;R=c[b+12>>2]|0;K=K-+f[R+48>>2];L=L-+f[R+52>>2];M=M-+f[R+56>>2];N=K*+f[R+4>>2]+L*+f[R+20>>2]+M*+f[R+36>>2];O=K*+f[R+8>>2]+L*+f[R+24>>2]+M*+f[R+40>>2];f[a+16>>2]=K*+f[R>>2]+L*+f[R+16>>2]+M*+f[R+32>>2];f[T>>2]=N;f[U>>2]=O;f[a+28>>2]=0.0}while(0);k=1}while(0);do if(k&(h|0)>0){if(!(g&2)){if(X*S*+f[Y+32>>2]+X*V*+f[p>>2]+X*W*+f[Q>>2]<0.0)break;g=c[b+12>>2]|0;h=g;n=X*S*+f[g>>2]+X*V*+f[g+4>>2];l=X*S;m=X*W*+f[g+8>>2];j=X*V;i=X*W}else{g=S*+f[Y+32>>2]+V*+f[p>>2]+W*+f[Q>>2]<0.0;m=g?-S:S;j=g?-V:V;i=g?-W:W;g=c[b+12>>2]|0;h=g;n=+f[g+8>>2]*i;l=m;m=+f[g>>2]*m+ +f[g+4>>2]*j}O=n+m;S=l*+f[h+16>>2]+j*+f[h+20>>2]+i*+f[h+24>>2];V=l*+f[h+32>>2]+j*+f[h+36>>2]+i*+f[h+40>>2];f[a+64>>2]=O;f[a+68>>2]=S;f[a+72>>2]=V;f[a+76>>2]=0.0;W=+f[a+80>>2];O=+f[a+48>>2]-O*W;S=+f[a+52>>2]-W*S;V=+f[a+56>>2]-W*V;f[a+32>>2]=O;f[a+36>>2]=S;f[a+40>>2]=V;f[a+44>>2]=0.0;b=c[b+12>>2]|0;O=O-+f[b+48>>2];S=S-+f[b+52>>2];V=V-+f[b+56>>2];W=O*+f[b+4>>2]+S*+f[b+20>>2]+V*+f[b+36>>2];X=O*+f[b+8>>2]+S*+f[b+24>>2]+V*+f[b+40>>2];f[a+16>>2]=O*+f[b>>2]+S*+f[b+16>>2]+V*+f[b+32>>2];f[T>>2]=W;f[U>>2]=X;f[a+28>>2]=0.0}while(0);Ta=Y;return}function gc(d,e,g,h,i,j){d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;j=+j;var k=0,l=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,t=0.0,u=0.0,v=0,w=0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0,C=0.0,D=0,E=0,F=0,G=0.0,H=0.0,I=0.0,J=0.0,K=0.0,L=0.0,M=0.0,N=0.0,O=0.0;F=Ta;Ta=Ta+896|0;E=c[h+4>>2]|0;D=c[h+12>>2]|0;k=c[E+4>>2]|0;if((k|0)<20){c[F+712>>2]=4888;c[F+712+168>>2]=0;f[F+712+172>>2]=j;c[F+712+164>>2]=c[i+4>>2];f[F+352+308>>2]=9.999999747378752e-05;a[F+352+332>>0]=0;c[F+288>>2]=10732;c[F+64>>2]=10800;c[F+64+4>>2]=F+352;c[F+64+8>>2]=F+288;c[F+64+12>>2]=d;c[F+64+16>>2]=E;c[F+64+20>>2]=0;if((Id(F+64|0,e,g,D,D,F+712|0)|0?(v=F+712+132|0,t=+f[v>>2],l=+f[F+712+136>>2],m=+f[F+712+140>>2],t*t+l*l+m*m>9.999999747378752e-05):0)?(n=+f[F+712+164>>2],n<+f[i+4>>2]):0){j=1.0/+s(+(t*t+l*l+m*m));f[v>>2]=t*j;f[F+712+136>>2]=l*j;f[F+712+140>>2]=m*j;c[F+16>>2]=c[h+8>>2];c[F+16+4>>2]=0;c[F+16+8>>2]=c[v>>2];c[F+16+8+4>>2]=c[v+4>>2];c[F+16+8+8>>2]=c[v+8>>2];c[F+16+8+12>>2]=c[v+12>>2];c[F+16+24>>2]=c[F+712+148>>2];c[F+16+24+4>>2]=c[F+712+148+4>>2];c[F+16+24+8>>2]=c[F+712+148+8>>2];c[F+16+24+12>>2]=c[F+712+148+12>>2];f[F+16+40>>2]=n;+Za[c[(c[i>>2]|0)+12>>2]&63](i,F+16|0,1)}Ta=F;return}if((k+-21|0)>>>0>=9){if((k|0)!=31){Ta=F;return}Aj(18353);if((c[E+16>>2]|0)>0){k=0;do{v=c[E+24>>2]|0;l=+f[v+(k*80|0)>>2];o=+f[v+(k*80|0)+4>>2];r=+f[v+(k*80|0)+8>>2];m=+f[v+(k*80|0)+16>>2];p=+f[v+(k*80|0)+20>>2];u=+f[v+(k*80|0)+24>>2];n=+f[v+(k*80|0)+32>>2];q=+f[v+(k*80|0)+36>>2];y=+f[v+(k*80|0)+40>>2];N=+f[v+(k*80|0)+48>>2];M=+f[v+(k*80|0)+52>>2];C=+f[v+(k*80|0)+56>>2];v=c[v+(k*80|0)+64>>2]|0;L=+f[D>>2];K=+f[D+4>>2];J=+f[D+8>>2];I=+f[D+16>>2];H=+f[D+20>>2];G=+f[D+24>>2];t=+f[D+32>>2];x=+f[D+36>>2];z=+f[D+40>>2];A=N*L+M*K+C*J+ +f[D+48>>2];B=N*I+M*H+C*G+ +f[D+52>>2];C=N*t+M*x+C*z+ +f[D+56>>2];f[F+712>>2]=l*L+m*K+n*J;f[F+712+4>>2]=o*L+p*K+q*J;f[F+712+8>>2]=r*L+u*K+y*J;f[F+712+12>>2]=0.0;f[F+712+16>>2]=l*I+m*H+n*G;f[F+712+20>>2]=o*I+p*H+q*G;f[F+712+24>>2]=r*I+u*H+y*G;f[F+712+28>>2]=0.0;f[F+712+32>>2]=l*t+m*x+n*z;f[F+712+36>>2]=o*t+p*x+q*z;f[F+712+40>>2]=r*t+u*x+y*z;f[F+712+44>>2]=0.0;f[F+712+48>>2]=A;f[F+712+52>>2]=B;f[F+712+56>>2]=C;f[F+712+60>>2]=0.0;b[F+352+8>>1]=1;b[F+352+10>>1]=-1;c[F+352>>2]=7248;c[F+352+12>>2]=i;c[F+352+16>>2]=k;c[F+352+4>>2]=c[i+4>>2];w=c[h+8>>2]|0;c[F+288>>2]=h;c[F+288+4>>2]=v;c[F+288+8>>2]=w;c[F+288+12>>2]=F+712;c[F+288+16>>2]=-1;c[F+288+20>>2]=k;gc(d,e,g,F+288|0,F+352|0,j);k=k+1|0}while((k|0)<(c[E+16>>2]|0))}k=c[2760]|0;E=(c[k+16>>2]|0)+-1|0;c[k+16>>2]=E;if(E|0){Ta=F;return}do if(c[k+4>>2]|0){Pa(F+712|0,0)|0;E=c[6878]|0;f[k+8>>2]=+f[k+8>>2]+ +(((c[F+712+4>>2]|0)-(c[E+4>>2]|0)+(((c[F+712>>2]|0)-(c[E>>2]|0)|0)*1e6|0)-(c[k+12>>2]|0)|0)>>>0)/1.0e3;if(!(c[k+16>>2]|0)){k=c[2760]|0;break}else{Ta=F;return}}while(0);c[2760]=c[k+20>>2];Ta=F;return}switch(k|0){case 21:{l=+f[D>>2];m=+f[D+16>>2];n=+f[D+32>>2];o=+f[D+4>>2];p=+f[D+20>>2];q=+f[D+36>>2];r=+f[D+8>>2];t=+f[D+24>>2];u=+f[D+40>>2];A=-+f[D+48>>2];B=-+f[D+52>>2];C=-+f[D+56>>2];z=+f[e+48>>2];y=+f[e+52>>2];x=+f[e+56>>2];f[F+352>>2]=l*A+m*B+n*C+(l*z+m*y+n*x);f[F+352+4>>2]=o*A+p*B+q*C+(o*z+p*y+q*x);f[F+352+8>>2]=r*A+t*B+u*C+(r*z+t*y+u*x);f[F+352+12>>2]=0.0;x=+f[g+48>>2];y=+f[g+52>>2];z=+f[g+56>>2];O=+f[g>>2];G=+f[g+16>>2];H=+f[g+32>>2];I=+f[g+4>>2];J=+f[g+20>>2];K=+f[g+36>>2];L=+f[g+8>>2];M=+f[g+24>>2];N=+f[g+40>>2];f[F+288>>2]=l*O+m*G+n*H;f[F+288+4>>2]=l*I+m*J+n*K;f[F+288+8>>2]=l*L+m*M+n*N;f[F+288+12>>2]=0.0;f[F+288+16>>2]=o*O+p*G+q*H;f[F+288+20>>2]=o*I+p*J+q*K;f[F+288+24>>2]=o*L+p*M+q*N;f[F+288+28>>2]=0.0;f[F+288+32>>2]=r*O+t*G+u*H;f[F+288+36>>2]=r*I+t*J+u*K;f[F+288+40>>2]=r*L+t*M+u*N;k=F+288+44|0;c[k>>2]=0;c[k+4>>2]=0;c[k+8>>2]=0;c[k+12>>2]=0;c[k+16>>2]=0;k=c[h+8>>2]|0;N=+Wa[c[(c[E>>2]|0)+48>>2]&31](E);c[F+64>>2]=10660;c[F+64+4>>2]=d;c[F+64+8>>2]=c[e>>2];c[F+64+8+4>>2]=c[e+4>>2];c[F+64+8+8>>2]=c[e+8>>2];c[F+64+8+12>>2]=c[e+12>>2];c[F+64+24>>2]=c[e+16>>2];c[F+64+24+4>>2]=c[e+16+4>>2];c[F+64+24+8>>2]=c[e+16+8>>2];c[F+64+24+12>>2]=c[e+16+12>>2];c[F+64+40>>2]=c[e+32>>2];c[F+64+40+4>>2]=c[e+32+4>>2];c[F+64+40+8>>2]=c[e+32+8>>2];c[F+64+40+12>>2]=c[e+32+12>>2];c[F+64+56>>2]=c[e+48>>2];c[F+64+56+4>>2]=c[e+48+4>>2];c[F+64+56+8>>2]=c[e+48+8>>2];c[F+64+56+12>>2]=c[e+48+12>>2];c[F+64+72>>2]=c[g>>2];c[F+64+72+4>>2]=c[g+4>>2];c[F+64+72+8>>2]=c[g+8>>2];c[F+64+72+12>>2]=c[g+12>>2];c[F+64+88>>2]=c[g+16>>2];c[F+64+88+4>>2]=c[g+16+4>>2];c[F+64+88+8>>2]=c[g+16+8>>2];c[F+64+88+12>>2]=c[g+16+12>>2];c[F+64+104>>2]=c[g+32>>2];c[F+64+104+4>>2]=c[g+32+4>>2];c[F+64+104+8>>2]=c[g+32+8>>2];c[F+64+104+12>>2]=c[g+32+12>>2];c[F+64+120>>2]=c[g+48>>2];c[F+64+120+4>>2]=c[g+48+4>>2];c[F+64+120+8>>2]=c[g+48+8>>2];c[F+64+120+12>>2]=c[g+48+12>>2];c[F+64+136>>2]=c[D>>2];c[F+64+136+4>>2]=c[D+4>>2];c[F+64+136+8>>2]=c[D+8>>2];c[F+64+136+12>>2]=c[D+12>>2];c[F+64+152>>2]=c[D+16>>2];c[F+64+152+4>>2]=c[D+16+4>>2];c[F+64+152+8>>2]=c[D+16+8>>2];c[F+64+152+12>>2]=c[D+16+12>>2];c[F+64+168>>2]=c[D+32>>2];c[F+64+168+4>>2]=c[D+32+4>>2];c[F+64+168+8>>2]=c[D+32+8>>2];c[F+64+168+12>>2]=c[D+32+12>>2];c[F+64+184>>2]=c[D+48>>2];c[F+64+184+4>>2]=c[D+48+4>>2];c[F+64+184+8>>2]=c[D+48+8>>2];c[F+64+184+12>>2]=c[D+48+12>>2];f[F+64+204>>2]=N;c[F+64>>2]=7200;c[F+64+212>>2]=i;c[F+64+216>>2]=k;c[F+64+220>>2]=E;c[F+64+200>>2]=c[i+4>>2];f[F+64+208>>2]=j;Cb[c[(c[d>>2]|0)+8>>2]&127](d,F+288|0,F+16|0,F);k=c[E+48>>2]|0;c[F+712>>2]=8340;c[F+712+4>>2]=k;c[F+712+8>>2]=F+64;k=c[E+52>>2]|0;if(!(a[k+60>>0]|0))Ce(k,F+712|0,F+352|0,l*A+m*B+n*C+(l*x+m*y+n*z),o*A+p*B+q*C+(o*x+p*y+q*z),r*A+t*B+u*C+(r*x+t*y+u*z),F+16|0,F);else he(k,F+712|0,F+352|0,l*A+m*B+n*C+(l*x+m*y+n*z),o*A+p*B+q*C+(o*x+p*y+q*z),r*A+t*B+u*C+(r*x+t*y+u*z),F+16|0,F,c[k+56>>2]|0);Ta=F;return}case 28:{c[F+712>>2]=4888;c[F+712+168>>2]=0;f[F+712+172>>2]=j;c[F+712+164>>2]=c[i+4>>2];c[F+352>>2]=10800;c[F+352+4>>2]=0;c[F+352+8>>2]=0;c[F+352+12>>2]=d;c[F+352+16>>2]=0;c[F+352+20>>2]=E;if((Id(F+352|0,e,g,D,D,F+712|0)|0?(w=F+712+132|0,o=+f[w>>2],p=+f[F+712+136>>2],q=+f[F+712+140>>2],o*o+p*p+q*q>9.999999747378752e-05):0)?(r=+f[F+712+164>>2],r<+f[i+4>>2]):0){O=1.0/+s(+(o*o+p*p+q*q));f[w>>2]=o*O;f[F+712+136>>2]=p*O;f[F+712+140>>2]=q*O;c[F+288>>2]=c[h+8>>2];c[F+288+4>>2]=0;c[F+288+8>>2]=c[w>>2];c[F+288+8+4>>2]=c[w+4>>2];c[F+288+8+8>>2]=c[w+8>>2];c[F+288+8+12>>2]=c[w+12>>2];c[F+288+24>>2]=c[F+712+148>>2];c[F+288+24+4>>2]=c[F+712+148+4>>2];c[F+288+24+8>>2]=c[F+712+148+8>>2];c[F+288+24+12>>2]=c[F+712+148+12>>2];f[F+288+40>>2]=r;+Za[c[(c[i>>2]|0)+12>>2]&63](i,F+288|0,1)}Ta=F;return}default:{o=+f[D>>2];p=+f[D+16>>2];q=+f[D+32>>2];x=+f[D+4>>2];y=+f[D+20>>2];z=+f[D+36>>2];J=+f[D+8>>2];L=+f[D+24>>2];N=+f[D+40>>2];H=-+f[D+48>>2];G=-+f[D+52>>2];C=-+f[D+56>>2];A=+f[e+48>>2];B=+f[e+52>>2];u=+f[e+56>>2];r=o*H+p*G+q*C+(o*A+p*B+q*u);t=x*H+y*G+z*C+(x*A+y*B+z*u);u=J*H+L*G+N*C+(J*A+L*B+N*u);B=+f[g+48>>2];A=+f[g+52>>2];l=+f[g+56>>2];n=o*H+p*G+q*C+(o*B+p*A+q*l);m=x*H+y*G+z*C+(x*B+y*A+z*l);l=J*H+L*G+N*C+(J*B+L*A+N*l);A=+f[g>>2];B=+f[g+16>>2];C=+f[g+32>>2];G=+f[g+4>>2];H=+f[g+20>>2];I=+f[g+36>>2];K=+f[g+8>>2];M=+f[g+24>>2];O=+f[g+40>>2];f[F+712>>2]=o*A+p*B+q*C;f[F+712+4>>2]=o*G+p*H+q*I;f[F+712+8>>2]=o*K+p*M+q*O;f[F+712+12>>2]=0.0;f[F+712+16>>2]=x*A+y*B+z*C;f[F+712+20>>2]=x*G+y*H+z*I;f[F+712+24>>2]=x*K+y*M+z*O;f[F+712+28>>2]=0.0;f[F+712+32>>2]=J*A+L*B+N*C;f[F+712+36>>2]=J*G+L*H+N*I;f[F+712+40>>2]=J*K+L*M+N*O;w=F+712+44|0;c[w>>2]=0;c[w+4>>2]=0;c[w+8>>2]=0;c[w+12>>2]=0;c[w+16>>2]=0;h=c[h+8>>2]|0;O=+Wa[c[(c[E>>2]|0)+48>>2]&31](E);c[F+352>>2]=10660;c[F+352+4>>2]=d;c[F+352+8>>2]=c[e>>2];c[F+352+8+4>>2]=c[e+4>>2];c[F+352+8+8>>2]=c[e+8>>2];c[F+352+8+12>>2]=c[e+12>>2];c[F+352+24>>2]=c[e+16>>2];c[F+352+24+4>>2]=c[e+16+4>>2];c[F+352+24+8>>2]=c[e+16+8>>2];c[F+352+24+12>>2]=c[e+16+12>>2];c[F+352+40>>2]=c[e+32>>2];c[F+352+40+4>>2]=c[e+32+4>>2];c[F+352+40+8>>2]=c[e+32+8>>2];c[F+352+40+12>>2]=c[e+32+12>>2];c[F+352+56>>2]=c[e+48>>2];c[F+352+56+4>>2]=c[e+48+4>>2];c[F+352+56+8>>2]=c[e+48+8>>2];c[F+352+56+12>>2]=c[e+48+12>>2];c[F+352+72>>2]=c[g>>2];c[F+352+72+4>>2]=c[g+4>>2];c[F+352+72+8>>2]=c[g+8>>2];c[F+352+72+12>>2]=c[g+12>>2];c[F+352+88>>2]=c[g+16>>2];c[F+352+88+4>>2]=c[g+16+4>>2];c[F+352+88+8>>2]=c[g+16+8>>2];c[F+352+88+12>>2]=c[g+16+12>>2];c[F+352+104>>2]=c[g+32>>2];c[F+352+104+4>>2]=c[g+32+4>>2];c[F+352+104+8>>2]=c[g+32+8>>2];c[F+352+104+12>>2]=c[g+32+12>>2];c[F+352+120>>2]=c[g+48>>2];c[F+352+120+4>>2]=c[g+48+4>>2];c[F+352+120+8>>2]=c[g+48+8>>2];c[F+352+120+12>>2]=c[g+48+12>>2];c[F+352+136>>2]=c[D>>2];c[F+352+136+4>>2]=c[D+4>>2];c[F+352+136+8>>2]=c[D+8>>2];c[F+352+136+12>>2]=c[D+12>>2];c[F+352+152>>2]=c[D+16>>2];c[F+352+152+4>>2]=c[D+16+4>>2];c[F+352+152+8>>2]=c[D+16+8>>2];c[F+352+152+12>>2]=c[D+16+12>>2];c[F+352+168>>2]=c[D+32>>2];c[F+352+168+4>>2]=c[D+32+4>>2];c[F+352+168+8>>2]=c[D+32+8>>2];c[F+352+168+12>>2]=c[D+32+12>>2];c[F+352+184>>2]=c[D+48>>2];c[F+352+184+4>>2]=c[D+48+4>>2];c[F+352+184+8>>2]=c[D+48+8>>2];c[F+352+184+12>>2]=c[D+48+12>>2];f[F+352+204>>2]=O;c[F+352>>2]=7224;c[F+352+212>>2]=i;c[F+352+216>>2]=h;c[F+352+220>>2]=E;c[F+352+200>>2]=c[i+4>>2];f[F+352+208>>2]=j;Cb[c[(c[d>>2]|0)+8>>2]&127](d,F+712|0,F+288|0,F+64|0);f[F+16>>2]=r;f[F+16+4>>2]=t;f[F+16+8>>2]=u;f[F+16+12>>2]=0.0;if(n>2]=n;o=n}else o=r;if(m>2]=m;p=m}else p=t;if(l>2]=l;q=l}else q=u;f[F>>2]=r;f[F+4>>2]=t;f[F+8>>2]=u;f[F+12>>2]=0.0;if(r>2]=n;else n=r;if(t>2]=m;else m=t;if(u>2]=l;else l=u;f[F+16>>2]=+f[F+288>>2]+o;f[F+16+4>>2]=+f[F+288+4>>2]+p;f[F+16+8>>2]=+f[F+288+8>>2]+q;f[F>>2]=+f[F+64>>2]+n;f[F+4>>2]=+f[F+64+4>>2]+m;f[F+8>>2]=+f[F+64+8>>2]+l;Cb[c[(c[E>>2]|0)+64>>2]&127](E,F+352|0,F+16|0,F);Ta=F;return}}}function hc(d,e,g){d=d|0;e=e|0;g=+g;var h=0,i=0.0,j=0.0,k=0.0,l=0.0,m=0,n=0,o=0,p=0.0,q=0.0,s=0.0,t=0,u=0;t=Ta;Ta=Ta+528|0;if((a[d+171>>0]|0)==0?+f[d+172>>2]<=0.0:0){Ta=t;return}a[d+168>>0]=(eb[c[(c[d>>2]|0)+48>>2]&255](d)|0)&1;k=+f[d+16>>2]-+f[d+44>>2]*g;f[d+16>>2]=k;if(k>0.0?(j=+f[d+28>>2],k>j):0)f[d+16>>2]=j;else j=k;if(j<0.0?(q=+r(+j),l=+r(+(+f[d+24>>2])),q>l):0){f[d+16>>2]=-l;j=-l}f[d+20>>2]=j*g;o=c[d+8>>2]|0;c[t>>2]=c[o+4>>2];c[t+4>>2]=c[o+4+4>>2];c[t+8>>2]=c[o+4+8>>2];c[t+12>>2]=c[o+4+12>>2];c[t+16>>2]=c[o+20>>2];c[t+16+4>>2]=c[o+20+4>>2];c[t+16+8>>2]=c[o+20+8>>2];c[t+16+12>>2]=c[o+20+12>>2];c[t+32>>2]=c[o+36>>2];c[t+32+4>>2]=c[o+36+4>>2];c[t+32+8>>2]=c[o+36+8>>2];c[t+32+12>>2]=c[o+36+12>>2];c[t+48>>2]=c[o+52>>2];c[t+48+4>>2]=c[o+52+4>>2];c[t+48+8>>2]=c[o+52+8>>2];c[t+48+12>>2]=c[o+52+12>>2];if((a[25488]|0)==0?kP(25488)|0:0){c[5772]=1065353216;c[5773]=0;c[5774]=0;c[5775]=0;c[5776]=0;c[5777]=1065353216;c[5778]=0;c[5779]=0;c[5780]=0;c[5781]=0;c[5782]=1065353216;f[5783]=0.0;kO(25488)}o=c[d+176>>2]|0;l=+f[d+20>>2];l=+f[d+52>>2]+(l>0.0?l:0.0);p=+f[23088+(o<<4)+4>>2]*l+ +f[d+96>>2];q=l*+f[23088+(o<<4)+8>>2]+ +f[d+100>>2];f[d+112>>2]=+f[d+92>>2]+ +f[23088+(o<<4)>>2]*l;f[d+116>>2]=p;f[d+120>>2]=q;f[d+124>>2]=0.0;c[t+456>>2]=1065353216;c[t+456+4>>2]=0;c[t+456+4+4>>2]=0;c[t+456+4+8>>2]=0;c[t+456+4+12>>2]=0;c[t+456+20>>2]=1065353216;c[t+456+24>>2]=0;c[t+456+24+4>>2]=0;c[t+456+24+8>>2]=0;c[t+456+24+12>>2]=0;c[t+456+40>>2]=1065353216;o=t+456+44|0;c[o>>2]=0;c[o+4>>2]=0;c[o+8>>2]=0;c[o+12>>2]=0;c[o+16>>2]=0;c[t+392>>2]=1065353216;c[t+392+4>>2]=0;c[t+392+4+4>>2]=0;c[t+392+4+8>>2]=0;c[t+392+4+12>>2]=0;c[t+392+20>>2]=1065353216;c[t+392+24>>2]=0;c[t+392+24+4>>2]=0;c[t+392+24+8>>2]=0;c[t+392+24+12>>2]=0;c[t+392+40>>2]=1065353216;o=t+392+44|0;c[o>>2]=0;c[o+4>>2]=0;c[o+8>>2]=0;c[o+12>>2]=0;c[o+16>>2]=0;if((a[25488]|0)==0?kP(25488)|0:0){c[5772]=1065353216;c[5773]=0;c[5774]=0;c[5775]=0;c[5776]=0;c[5777]=1065353216;c[5778]=0;c[5779]=0;c[5780]=0;c[5781]=0;c[5782]=1065353216;f[5783]=0.0;kO(25488)}h=c[d+176>>2]|0;o=c[d+12>>2]|0;l=+Wa[c[(c[o>>2]|0)+48>>2]&31](o);l=l+ +f[d+56>>2];p=l*+f[23088+(h<<4)+4>>2]+ +f[d+96>>2];q=l*+f[23088+(h<<4)+8>>2]+ +f[d+100>>2];f[t+456+48>>2]=+f[23088+(h<<4)>>2]*l+ +f[d+92>>2];f[t+456+52>>2]=p;f[t+456+56>>2]=q;f[t+456+60>>2]=0.0;c[t+392+48>>2]=c[d+112>>2];c[t+392+48+4>>2]=c[d+112+4>>2];c[t+392+48+8>>2]=c[d+112+8>>2];c[t+392+48+12>>2]=c[d+112+12>>2];h=c[d+8>>2]|0;if((a[25488]|0)==0?kP(25488)|0:0){c[5772]=1065353216;c[5773]=0;c[5774]=0;c[5775]=0;c[5776]=0;c[5777]=1065353216;c[5778]=0;c[5779]=0;c[5780]=0;c[5781]=0;c[5782]=1065353216;f[5783]=0.0;kO(25488)}o=c[d+176>>2]|0;l=-+f[23088+(o<<4)>>2];p=-+f[23088+(o<<4)+4>>2];q=-+f[23088+(o<<4)+8>>2];f[t+288+4>>2]=1.0;o=t+288+12|0;c[t+288+76>>2]=0;c[o>>2]=0;c[o+4>>2]=0;c[o+8>>2]=0;c[o+12>>2]=0;c[o+16>>2]=0;c[o+20>>2]=0;c[o+24>>2]=0;c[o+28>>2]=0;c[t+288>>2]=6256;c[t+288+80>>2]=h;f[t+288+84>>2]=l;f[t+288+88>>2]=p;f[t+288+92>>2]=q;f[t+288+96>>2]=0.0;f[t+288+100>>2]=.707099974155426;h=c[d+8>>2]|0;o=c[h+188>>2]|0;b[t+288+8>>1]=b[o+4>>1]|0;b[t+288+10>>1]=b[o+6>>1]|0;if(!(a[d+170>>0]|0))xd(e,c[d+12>>2]|0,t+456|0,t+392|0,t+288|0,0.0);else bd(h,c[d+12>>2]|0,t+456|0,t+392|0,t+288|0,+f[e+56>>2]);if(+f[t+288+4>>2]<1.0){if((a[25488]|0)==0?kP(25488)|0:0){c[5772]=1065353216;c[5773]=0;c[5774]=0;c[5775]=0;c[5776]=0;c[5777]=1065353216;c[5778]=0;c[5779]=0;c[5780]=0;c[5781]=0;c[5782]=1065353216;f[5783]=0.0;kO(25488)}o=c[d+176>>2]|0;do if(+f[t+288+44>>2]*+f[23088+(o<<4)>>2]+ +f[t+288+48>>2]*+f[23088+(o<<4)+4>>2]+ +f[t+288+52>>2]*+f[23088+(o<<4)+8>>2]>0.0){j=+f[t+288+4>>2];f[d+108>>2]=+f[d+52>>2]*j;if(!(a[d+180>>0]|0)){c[d+92>>2]=c[d+112>>2];c[d+92+4>>2]=c[d+112+4>>2];c[d+92+8>>2]=c[d+112+8>>2];c[d+92+12>>2]=c[d+112+12>>2];break}else{f[d+92>>2]=(1.0-j)*+f[d+92>>2]+j*+f[d+112>>2];f[d+96>>2]=(1.0-j)*+f[d+96>>2]+j*+f[d+116>>2];f[d+100>>2]=(1.0-j)*+f[d+100>>2]+j*+f[d+120>>2];break}}while(0);f[d+16>>2]=0.0;f[d+20>>2]=0.0}else{c[d+108>>2]=c[d+52>>2];c[d+92>>2]=c[d+112>>2];c[d+92+4>>2]=c[d+112+4>>2];c[d+92+8>>2]=c[d+112+8>>2];c[d+92+12>>2]=c[d+112+12>>2]}if(!(a[d+171>>0]|0)){p=+f[d+172>>2];q=p>g?g:p;f[d+172>>2]=p-g;Td(d,e,q*+f[d+60>>2],q*+f[d+64>>2],q*+f[d+68>>2])}else Td(d,e,+f[d+60>>2],+f[d+64>>2],+f[d+68>>2]);c[t+272>>2]=c[d+112>>2];c[t+272+4>>2]=c[d+112+4>>2];c[t+272+8>>2]=c[d+112+8>>2];c[t+272+12>>2]=c[d+112+12>>2];j=+f[d+16>>2];j=(j<0.0?-j:0.0)*g;do if(j>0.0?(i=+f[d+24>>2],j>i):0){if((a[d+168>>0]|0)==0?a[d+169>>0]|0:0){i=j;break}}else i=j;while(0);if((a[25488]|0)==0?kP(25488)|0:0){c[5772]=1065353216;c[5773]=0;c[5774]=0;c[5775]=0;c[5776]=0;c[5777]=1065353216;c[5778]=0;c[5779]=0;c[5780]=0;c[5781]=0;c[5782]=1065353216;f[5783]=0.0;kO(25488)}h=c[d+176>>2]|0;q=i+ +f[d+108>>2];l=+f[23088+(h<<4)>>2]*q;p=q*+f[23088+(h<<4)+4>>2];q=q*+f[23088+(h<<4)+8>>2];f[d+112>>2]=+f[d+112>>2]-l;f[d+116>>2]=+f[d+116>>2]-p;f[d+120>>2]=+f[d+120>>2]-q;h=c[d+8>>2]|0;if((a[25488]|0)==0?kP(25488)|0:0){c[5772]=1065353216;c[5773]=0;c[5774]=0;c[5775]=0;c[5776]=0;c[5777]=1065353216;c[5778]=0;c[5779]=0;c[5780]=0;c[5781]=0;c[5782]=1065353216;f[5783]=0.0;kO(25488)}m=23088+(c[d+176>>2]<<4)|0;n=c[d+40>>2]|0;o=t+168+4|0;f[o>>2]=1.0;u=t+168+12|0;c[t+168+76>>2]=0;c[u>>2]=0;c[u+4>>2]=0;c[u+8>>2]=0;c[u+12>>2]=0;c[u+16>>2]=0;c[u+20>>2]=0;c[u+24>>2]=0;c[u+28>>2]=0;c[t+168>>2]=6256;c[t+168+80>>2]=h;c[t+168+84>>2]=c[m>>2];c[t+168+84+4>>2]=c[m+4>>2];c[t+168+84+8>>2]=c[m+8>>2];c[t+168+84+12>>2]=c[m+12>>2];c[t+168+100>>2]=n;h=c[d+8>>2]|0;n=c[h+188>>2]|0;b[t+168+8>>1]=b[n+4>>1]|0;b[t+168+10>>1]=b[n+6>>1]|0;if((a[25488]|0)==0?kP(25488)|0:0){c[5772]=1065353216;c[5773]=0;c[5774]=0;c[5775]=0;c[5776]=0;c[5777]=1065353216;c[5778]=0;c[5779]=0;c[5780]=0;c[5781]=0;c[5782]=1065353216;f[5783]=0.0;kO(25488)}n=23088+(c[d+176>>2]<<4)|0;u=c[d+40>>2]|0;f[t+64+4>>2]=1.0;m=t+64+12|0;c[t+64+76>>2]=0;c[m>>2]=0;c[m+4>>2]=0;c[m+8>>2]=0;c[m+12>>2]=0;c[m+16>>2]=0;c[m+20>>2]=0;c[m+24>>2]=0;c[m+28>>2]=0;c[t+64>>2]=6256;c[t+64+80>>2]=h;c[t+64+84>>2]=c[n>>2];c[t+64+84+4>>2]=c[n+4>>2];c[t+64+84+8>>2]=c[n+8>>2];c[t+64+84+12>>2]=c[n+12>>2];c[t+64+100>>2]=u;h=c[(c[d+8>>2]|0)+188>>2]|0;b[t+64+8>>1]=b[h+4>>1]|0;b[t+64+10>>1]=b[h+6>>1]|0;i=+f[d+112>>2];j=+f[d+116>>2];k=+f[d+120>>2];h=0;while(1){c[t+456>>2]=1065353216;c[t+456+4>>2]=0;c[t+456+4+4>>2]=0;c[t+456+4+8>>2]=0;c[t+456+4+12>>2]=0;c[t+456+20>>2]=1065353216;c[t+456+24>>2]=0;c[t+456+24+4>>2]=0;c[t+456+24+8>>2]=0;c[t+456+24+12>>2]=0;c[t+456+40>>2]=1065353216;c[t+456+44>>2]=0;c[t+392>>2]=1065353216;c[t+392+4>>2]=0;c[t+392+4+4>>2]=0;c[t+392+4+8>>2]=0;c[t+392+4+12>>2]=0;c[t+392+20>>2]=1065353216;c[t+392+24>>2]=0;c[t+392+24+4>>2]=0;c[t+392+24+8>>2]=0;c[t+392+24+12>>2]=0;c[t+392+40>>2]=1065353216;c[t+392+44>>2]=0;c[t+288>>2]=1065353216;c[t+288+4>>2]=0;c[t+288+4+4>>2]=0;c[t+288+4+8>>2]=0;c[t+288+4+12>>2]=0;c[t+288+20>>2]=1065353216;c[t+288+24>>2]=0;c[t+288+24+4>>2]=0;c[t+288+24+8>>2]=0;c[t+288+24+12>>2]=0;c[t+288+40>>2]=1065353216;c[t+288+44>>2]=0;c[t+456+48>>2]=c[d+92>>2];c[t+456+48+4>>2]=c[d+92+4>>2];c[t+456+48+8>>2]=c[d+92+8>>2];c[t+456+48+12>>2]=c[d+92+12>>2];c[t+392+48>>2]=c[d+112>>2];c[t+392+48+4>>2]=c[d+112+4>>2];c[t+392+48+8>>2]=c[d+112+8>>2];c[t+392+48+12>>2]=c[d+112+12>>2];f[t+288+48>>2]=i-l;f[t+288+52>>2]=j-p;f[t+288+56>>2]=k-q;f[t+288+60>>2]=0.0;if(!(a[d+170>>0]|0)){xd(e,c[d+12>>2]|0,t+456|0,t+392|0,t+168|0,+f[e+56>>2]);if(!(+f[o>>2]<1.0))xd(e,c[d+12>>2]|0,t+456|0,t+288|0,t+64|0,+f[e+56>>2])}else{bd(c[d+8>>2]|0,c[d+12>>2]|0,t+456|0,t+392|0,t+168|0,+f[e+56>>2]);if(!(+f[o>>2]<1.0))bd(c[d+8>>2]|0,c[d+12>>2]|0,t+456|0,t+288|0,t+64|0,+f[e+56>>2])}j=+f[d+16>>2];j=(j<0.0?-j:0.0)*g;n=(a[d+182>>0]|0)==0;if(!n?+f[o>>2]<1.0:0)m=1;else m=+f[t+64+4>>2]<1.0;if(!(j>0.0))break;i=+f[d+52>>2];if(h|(!(j>0]|0)==0?a[d+169>>0]|0:0){h=0;break}c[d+112>>2]=c[t+272>>2];c[d+112+4>>2]=c[t+272+4>>2];c[d+112+8>>2]=c[t+272+8>>2];c[d+112+12>>2]=c[t+272+12>>2];do if(!(a[25488]|0)){if(!(kP(25488)|0))break;c[5772]=1065353216;c[5773]=0;c[5774]=0;c[5775]=0;c[5776]=0;c[5777]=1065353216;c[5778]=0;c[5779]=0;c[5780]=0;c[5781]=0;c[5782]=1065353216;f[5783]=0.0;kO(25488)}while(0);h=c[d+176>>2]|0;i=i+ +f[d+108>>2];j=i*+f[23088+(h<<4)+4>>2];k=i*+f[23088+(h<<4)+8>>2];i=+f[d+112>>2]-+f[23088+(h<<4)>>2]*i;f[d+112>>2]=i;j=+f[d+116>>2]-j;f[d+116>>2]=j;k=+f[d+120>>2]-k;f[d+120>>2]=k;h=1}k=+f[o>>2];if(h|k<1.0){i=+f[d+96>>2];j=(i-+f[t+168+64>>2])*.5;do if(!n)if(!(a[d+181>>0]|0)){f[d+92>>2]=(1.0-j)*+f[d+92>>2]+j*+f[d+112>>2];f[d+96>>2]=i*(1.0-j)+j*+f[d+116>>2];f[d+100>>2]=(1.0-j)*+f[d+100>>2]+j*+f[d+120>>2];h=d+181|0;break}else{f[d+92>>2]=(1.0-k)*+f[d+92>>2]+k*+f[d+112>>2];f[d+96>>2]=i*(1.0-k)+k*+f[d+116>>2];f[d+100>>2]=(1.0-k)*+f[d+100>>2]+k*+f[d+120>>2];h=d+181|0;break}else{f[d+92>>2]=(1.0-k)*+f[d+92>>2]+k*+f[d+112>>2];f[d+96>>2]=i*(1.0-k)+k*+f[d+116>>2];f[d+100>>2]=(1.0-k)*+f[d+100>>2]+k*+f[d+120>>2];h=d+181|0}while(0);a[h>>0]=0;f[d+16>>2]=0.0;f[d+20>>2]=0.0;a[d+169>>0]=0}else{a[d+181>>0]=1;do if(!n?(s=+f[d+24>>2],j>s):0){if((a[d+168>>0]|0)==0?a[d+169>>0]|0:0)break;f[d+112>>2]=l+ +f[d+112>>2];f[d+116>>2]=p+ +f[d+116>>2];f[d+120>>2]=q+ +f[d+120>>2];do if(!(a[25488]|0)){if(!(kP(25488)|0))break;c[5772]=1065353216;c[5773]=0;c[5774]=0;c[5775]=0;c[5776]=0;c[5777]=1065353216;c[5778]=0;c[5779]=0;c[5780]=0;c[5781]=0;c[5782]=1065353216;f[5783]=0.0;kO(25488)}while(0);u=c[d+176>>2]|0;q=s+ +f[d+108>>2];g=q*+f[23088+(u<<4)+4>>2];s=q*+f[23088+(u<<4)+8>>2];f[d+112>>2]=+f[d+112>>2]-+f[23088+(u<<4)>>2]*q;f[d+116>>2]=+f[d+116>>2]-g;f[d+120>>2]=+f[d+120>>2]-s}while(0);c[d+92>>2]=c[d+112>>2];c[d+92+4>>2]=c[d+112+4>>2];c[d+92+8>>2]=c[d+112+8>>2];c[d+92+12>>2]=c[d+112+12>>2]}c[t+48>>2]=c[d+92>>2];c[t+48+4>>2]=c[d+92+4>>2];c[t+48+8>>2]=c[d+92+8>>2];c[t+48+12>>2]=c[d+92+12>>2];u=c[d+8>>2]|0;c[u+260>>2]=(c[u+260>>2]|0)+1;c[u+4>>2]=c[t>>2];c[u+4+4>>2]=c[t+4>>2];c[u+4+8>>2]=c[t+8>>2];c[u+4+12>>2]=c[t+12>>2];c[u+20>>2]=c[t+16>>2];c[u+20+4>>2]=c[t+16+4>>2];c[u+20+8>>2]=c[t+16+8>>2];c[u+20+12>>2]=c[t+16+12>>2];c[u+36>>2]=c[t+32>>2];c[u+36+4>>2]=c[t+32+4>>2];c[u+36+8>>2]=c[t+32+8>>2];c[u+36+12>>2]=c[t+32+12>>2];c[u+52>>2]=c[t+48>>2];c[u+52+4>>2]=c[t+48+4>>2];c[u+52+8>>2]=c[t+48+8>>2];c[u+52+12>>2]=c[t+48+12>>2];Ta=t;return}function ic(b,d){b=b|0;d=d|0;var e=0.0,g=0.0,i=0,j=0,k=0.0,l=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,t=0,u=0.0,v=0.0,w=0.0,x=0,y=0,A=0,B=0.0,C=0.0,D=0,E=0,F=0.0,G=0,H=0,I=0,J=0,K=0.0,L=0.0,M=0.0,N=0.0,O=0.0,P=0.0,Q=0,R=0,S=0.0,T=0.0,U=0.0,V=0.0,W=0.0,X=0.0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0.0;ca=c[b+28>>2]|0;da=c[b+32>>2]|0;V=+f[ca+344>>2];W=+f[da+344>>2];ba=c[d+24>>2]|0;ea=(a[b+180>>0]|0)==0?-1.0:1.0;S=+f[b+936>>2]-+f[b+872>>2];U=+f[b+940>>2]-+f[b+876>>2];T=+f[b+944>>2]-+f[b+880>>2];X=V+W>0.0?W/(V+W):.5;D=c[b+824>>2]|0;E=c[b+840>>2]|0;G=c[b+856>>2]|0;H=c[b+888>>2]|0;I=c[b+904>>2]|0;J=c[b+920>>2]|0;Y=(a[b+49>>0]|0)==0;if(Y){A=c[b+828>>2]|0;x=c[b+844>>2]|0;t=c[b+860>>2]|0;y=c[b+832>>2]|0;j=c[b+848>>2]|0;i=c[b+864>>2]|0;o=(c[h>>2]=A,+f[h>>2]);p=(c[h>>2]=x,+f[h>>2]);q=(c[h>>2]=t,+f[h>>2]);u=(c[h>>2]=y,+f[h>>2]);n=(c[h>>2]=j,+f[h>>2]);g=(c[h>>2]=i,+f[h>>2]);_=D;$=E;aa=G}else{l=X*(c[h>>2]=D,+f[h>>2]);n=X*(c[h>>2]=E,+f[h>>2]);e=X*(c[h>>2]=G,+f[h>>2]);k=(1.0-X)*(c[h>>2]=H,+f[h>>2]);m=(1.0-X)*(c[h>>2]=I,+f[h>>2]);e=e+(1.0-X)*(c[h>>2]=J,+f[h>>2]);g=1.0/+s(+((l+k)*(l+k)+(n+m)*(n+m)+e*e));i=(f[h>>2]=(l+k)*g,c[h>>2]|0);j=(f[h>>2]=(n+m)*g,c[h>>2]|0);t=(f[h>>2]=e*g,c[h>>2]|0);if(+r(+(e*g))>.7071067690849304){P=1.0/+s(+(e*g*(e*g)+(n+m)*g*((n+m)*g)));q=(n+m)*g*P;v=(l+k)*g*-(e*g*P);o=0.0;p=-(e*g*P);u=(e*g*(e*g)+(n+m)*g*((n+m)*g))*P;e=-((l+k)*g*((n+m)*g*P))}else{v=(l+k)*g*((l+k)*g)+(n+m)*g*((n+m)*g);P=1.0/+s(+v);q=0.0;v=v*P;o=-((n+m)*g*P);p=(l+k)*g*P;u=-(e*g*((l+k)*g*P));e=e*g*-((n+m)*g*P)}A=(f[h>>2]=o,c[h>>2]|0);x=(f[h>>2]=p,c[h>>2]|0);Q=(f[h>>2]=q,c[h>>2]|0);y=(f[h>>2]=u,c[h>>2]|0);R=(f[h>>2]=e,c[h>>2]|0);n=e;g=v;_=i;$=j;aa=t;t=Q;i=(f[h>>2]=v,c[h>>2]|0);j=R}R=c[d+12>>2]|0;c[R>>2]=A;c[R+4>>2]=x;c[R+8>>2]=t;c[R+(ba<<2)>>2]=y;c[R+(ba+1<<2)>>2]=j;c[R+(ba+2<<2)>>2]=i;k=-o;x=c[d+20>>2]|0;f[x>>2]=k;f[x+4>>2]=-p;f[x+8>>2]=-q;f[x+(ba<<2)>>2]=-u;f[x+(ba+1<<2)>>2]=-n;f[x+(ba+2<<2)>>2]=-g;Q=c[b+300>>2]|0;e=+f[b+280>>2];if(!(Q&128))e=e*+f[d+4>>2];F=e*+f[d>>2];O=(c[h>>2]=E,+f[h>>2]);L=(c[h>>2]=J,+f[h>>2]);K=(c[h>>2]=G,+f[h>>2]);N=(c[h>>2]=I,+f[h>>2]);P=(c[h>>2]=H,+f[h>>2]);M=(c[h>>2]=D,+f[h>>2]);D=c[d+28>>2]|0;f[D>>2]=F*((O*L-K*N)*o+(K*P-M*L)*p+(M*N-O*P)*q);f[D+(ba<<2)>>2]=F*((O*L-K*N)*u+(K*P-M*L)*n+(M*N-O*P)*g);if(Q&64|0){J=c[d+32>>2]|0;c[J>>2]=c[b+292>>2];c[J+(ba<<2)>>2]=c[b+292>>2]}C=+f[ca+52>>2];w=+f[ca+56>>2];B=+f[ca+60>>2];m=+f[da+52>>2];e=+f[da+56>>2];l=+f[da+60>>2];if(Y){v=(e-w)*q-(l-B)*p;P=(l-B)*o-(m-C)*q;O=(m-C)*p-(e-w)*o;f[R+(ba<<1<<2)>>2]=X*v;f[R+((ba<<1|1)<<2)>>2]=X*P;f[R+((ba<<1)+2<<2)>>2]=X*O;f[x+(ba<<1<<2)>>2]=(1.0-X)*v;f[x+((ba<<1|1)<<2)>>2]=(1.0-X)*P;f[x+((ba<<1)+2<<2)>>2]=(1.0-X)*O;O=(e-w)*g-(l-B)*n;P=(l-B)*u-(m-C)*g;v=(m-C)*n-(e-w)*u;f[R+(ba*3<<2)>>2]=X*O;f[R+((ba*3|0)+1<<2)>>2]=X*P;f[R+((ba*3|0)+2<<2)>>2]=X*v;f[x+(ba*3<<2)>>2]=(1.0-X)*O;f[x+((ba*3|0)+1<<2)>>2]=(1.0-X)*P;f[x+((ba*3|0)+2<<2)>>2]=(1.0-X)*v;j=c[d+8>>2]|0;f[j+(ba<<1<<2)>>2]=o;f[j+((ba<<1|1)<<2)>>2]=p;f[j+((ba<<1)+2<<2)>>2]=q;f[j+(ba*3<<2)>>2]=u;f[j+((ba*3|0)+1<<2)>>2]=n;f[j+((ba*3|0)+2<<2)>>2]=g;i=c[d+16>>2]|0;f[i+(ba<<1<<2)>>2]=k;f[i+((ba<<1|1)<<2)>>2]=-p;f[i+((ba<<1)+2<<2)>>2]=-q;f[i+(ba*3<<2)>>2]=-u;f[i+((ba*3|0)+1<<2)>>2]=-n;v=n;t=i;P=0.0;O=0.0;M=0.0;L=0.0;K=0.0;F=0.0;n=e-w;l=l-B;k=m-C;i=i+((ba*3|0)+2<<2)|0}else{v=+f[b+936>>2]-m;M=+f[b+940>>2]-e;N=+f[b+944>>2]-l;n=(c[h>>2]=_,+f[h>>2]);p=(c[h>>2]=$,+f[h>>2]);m=(c[h>>2]=aa,+f[h>>2]);O=+f[b+872>>2]-C;P=+f[b+876>>2]-w;k=+f[b+880>>2]-B;K=+f[b+1080>>2]-+f[b+1032>>2];F=(O*n+P*p+k*m)*n+K*n-(v*n+M*p+N*m)*n;L=(O*n+P*p+k*m)*p+K*p-(v*n+M*p+N*m)*p;K=(O*n+P*p+k*m)*m+K*m-(v*n+M*p+N*m)*m;C=O-(O*n+P*p+k*m)*n+X*F;w=P-(O*n+P*p+k*m)*p+X*L;B=k-(O*n+P*p+k*m)*m+X*K;F=v-(v*n+M*p+N*m)*n-(1.0-X)*F;L=M-(v*n+M*p+N*m)*p-(1.0-X)*L;K=N-(v*n+M*p+N*m)*m-(1.0-X)*K;g=X*(v-(v*n+M*p+N*m)*n)+(1.0-X)*(O-(O*n+P*p+k*m)*n);e=X*(M-(v*n+M*p+N*m)*p)+(1.0-X)*(P-(O*n+P*p+k*m)*p);k=X*(N-(v*n+M*p+N*m)*m)+(1.0-X)*(k-(O*n+P*p+k*m)*m);if(k*k+(g*g+e*e)>1.1920928955078125e-07){P=1.0/+s(+(k*k+(g*g+e*e)));j=(f[h>>2]=e*P,c[h>>2]|0);t=(f[h>>2]=k*P,c[h>>2]|0);l=e*P;o=g*P;i=(f[h>>2]=g*P,c[h>>2]|0);e=k*P}else{i=c[b+828>>2]|0;j=c[b+844>>2]|0;t=c[b+860>>2]|0;e=(c[h>>2]=t,+f[h>>2]);l=(c[h>>2]=j,+f[h>>2]);o=(c[h>>2]=i,+f[h>>2])}u=e*p-l*m;v=o*m-e*n;N=l*n-o*p;f[R+(ba<<1<<2)>>2]=w*e-B*l;f[R+(ba<<1<<2)+4>>2]=B*o-C*e;f[R+(ba<<1<<2)+8>>2]=C*l-w*o;f[x+(ba<<1<<2)>>2]=-(L*e-K*l);f[x+((ba<<1|1)<<2)>>2]=-(K*o-F*e);f[x+((ba<<1)+2<<2)>>2]=-(F*l-L*o);if(V<1.1920928955078125e-07|W<1.1920928955078125e-07?(a[b+297>>0]|0)!=0:0){e=(1.0-X)*(L*N-K*v);g=(1.0-X)*(K*u-F*N);k=(1.0-X)*(F*v-L*u);l=X*(w*N-B*v);m=X*(C*v-w*u);n=X*(B*u-C*N)}else{e=L*N-K*v;g=K*u-F*N;k=F*v-L*u;l=w*N-B*v;m=C*v-w*u;n=B*u-C*N}f[R+(ba*3<<2)>>2]=l;f[R+(ba*3<<2)+4>>2]=n;f[R+(ba*3<<2)+8>>2]=m;f[x+(ba*3<<2)>>2]=-e;f[x+((ba*3|0)+1<<2)>>2]=-g;f[x+((ba*3|0)+2<<2)>>2]=-k;J=c[d+8>>2]|0;c[J+(ba<<1<<2)>>2]=i;c[J+((ba<<1|1)<<2)>>2]=j;c[J+((ba<<1)+2<<2)>>2]=t;f[J+(ba*3<<2)>>2]=u;f[J+((ba*3|0)+1<<2)>>2]=v;f[J+((ba*3|0)+2<<2)>>2]=N;i=c[d+16>>2]|0;f[i+(ba<<1<<2)>>2]=-o;p=(c[h>>2]=j,+f[h>>2]);f[i+((ba<<1|1)<<2)>>2]=-p;q=(c[h>>2]=t,+f[h>>2]);f[i+((ba<<1)+2<<2)>>2]=-q;f[i+(ba*3<<2)>>2]=-u;f[i+((ba*3|0)+1<<2)>>2]=-v;j=J;t=i;P=w;O=B;M=C;n=0.0;l=0.0;k=0.0;i=i+((ba*3|0)+2<<2)|0;g=N}f[i>>2]=-g;e=+f[b+264>>2];if(!(Q&32))e=e*+f[d+4>>2];N=e*+f[d>>2];f[D+(ba<<1<<2)>>2]=N*(S*o+U*p+T*q);f[D+(ba*3<<2)>>2]=N*(S*u+U*v+T*g);if(Q&16|0){J=c[d+32>>2]|0;c[J+(ba<<1<<2)>>2]=c[b+276>>2];c[J+(ba*3<<2)>>2]=c[b+276>>2]}if(!(a[b+296>>0]|0)){A=0;o=0.0}else{o=ea*+f[b+1032>>2];A=o>0.0?2:1}i=a[b+1096>>0]|0;y=(A|0)!=0;if(A|i&255){c[j+(ba<<2<<2)>>2]=_;c[j+((ba<<2|1)<<2)>>2]=$;c[j+((ba<<2|2)<<2)>>2]=aa;p=(c[h>>2]=_,+f[h>>2]);f[t+(ba<<2<<2)>>2]=-p;q=(c[h>>2]=$,+f[h>>2]);f[t+((ba<<2|1)<<2)>>2]=-q;u=(c[h>>2]=aa,+f[h>>2]);f[t+((ba<<2|2)<<2)>>2]=-u;if(!Y){if(!(V<1.1920928955078125e-07|W<1.1920928955078125e-07)){f[R+(ba<<2<<2)>>2]=P*u-O*q;f[R+((ba<<2|1)<<2)>>2]=O*p-M*u;f[R+((ba<<2|2)<<2)>>2]=M*q-P*p;f[x+(ba<<2<<2)>>2]=-(L*u-K*q);f[x+((ba<<2|1)<<2)>>2]=-(K*p-F*u);e=-(F*q-L*p);Z=31}}else{V=n*u-l*q;W=l*p-k*u;e=k*q-n*p;f[R+(ba<<2<<2)>>2]=X*V;f[R+((ba<<2|1)<<2)>>2]=X*W;f[R+((ba<<2|2)<<2)>>2]=X*e;f[x+(ba<<2<<2)>>2]=(1.0-X)*V;f[x+((ba<<2|1)<<2)>>2]=(1.0-X)*W;e=(1.0-X)*e;Z=31}if((Z|0)==31)f[x+((ba<<2|2)<<2)>>2]=e;x=+f[b+184>>2]==+f[b+188>>2];f[D+(ba<<2<<2)>>2]=0.0;j=(c[d+36>>2]|0)+(ba<<2<<2)|0;f[j>>2]=0.0;t=(c[d+40>>2]|0)+(ba<<2<<2)|0;f[t>>2]=0.0;n=+f[((Q&512|0)==0?d+4|0:b+232|0)>>2];if(!(i<<24>>24==0|y&x)){if(Q&1|0)c[(c[d+32>>2]|0)+(ba<<2<<2)>>2]=c[b+212>>2];m=+f[b+1100>>2];e=+f[b+1080>>2];g=+f[b+184>>2];k=+f[b+188>>2];l=n*+f[d>>2];do if(!(g>k))if(!(g==k)){if(m/l<0.0)if(e>=g?g-m/l>e:0){e=(g-e)/(m/l);break}else{e=e0.0)if(e<=k?k-m/lk?0.0:1.0;break}else e=0.0}else e=0.0;else e=1.0;while(0);Z=(c[d+28>>2]|0)+(ba<<2<<2)|0;f[Z>>2]=+f[Z>>2]-ea*e*m;f[j>>2]=+f[j>>2]-+f[b+1104>>2]*+f[d>>2];f[t>>2]=+f[b+1104>>2]*+f[d>>2]+ +f[t>>2]}if(y){i=(c[d+28>>2]|0)+(ba<<2<<2)|0;f[i>>2]=+f[i>>2]+o*(n*+f[d>>2]);if(c[b+300>>2]&256|0)c[(c[d+32>>2]|0)+(ba<<2<<2)>>2]=c[b+244>>2];do if(!x)if((A|0)==1){f[j>>2]=-3402823466385288598117041.0e14;e=0.0;break}else{f[j>>2]=0.0;e=3402823466385288598117041.0e14;break}else{f[j>>2]=-3402823466385288598117041.0e14;e=3402823466385288598117041.0e14}while(0);f[t>>2]=e;X=1.0-+f[b+240>>2];g=+r(+X);do if(!(X!=X|0.0!=0.0|X==0.0)){e=ea*(+f[ca+312>>2]*p+ +f[ca+316>>2]*q+ +f[ca+320>>2]*u-(+f[da+312>>2]*p+ +f[da+316>>2]*q+ +f[da+320>>2]*u));if((A|0)==1){if(!(e<0.0))break;if(!(+f[i>>2]<-(g*e)))break;f[i>>2]=-(g*e);break}else{if(!(e>0.0))break;if(!(+f[i>>2]>-(g*e)))break;f[i>>2]=-(g*e);break}}while(0);f[i>>2]=+f[b+232>>2]*+f[i>>2];i=5}else i=5}else i=4;if(!(a[b+297>>0]|0)){y=0;v=0.0}else{v=+f[b+1088>>2];y=v>0.0?1:2}j=a[b+1112>>0]|0;t=(y|0)!=0;if(!(y|j&255))return;x=z(c[d+24>>2]|0,i)|0;i=c[d+12>>2]|0;c[i+(x<<2)>>2]=_;c[i+(x+1<<2)>>2]=$;c[i+(x+2<<2)>>2]=aa;w=(c[h>>2]=_,+f[h>>2]);i=c[d+20>>2]|0;f[i+(x<<2)>>2]=-w;u=(c[h>>2]=$,+f[h>>2]);f[i+(x+1<<2)>>2]=-u;q=(c[h>>2]=aa,+f[h>>2]);f[i+(x+2<<2)>>2]=-q;n=+f[b+192>>2];o=+f[b+196>>2];i=c[b+300>>2]|0;p=+f[((i&2048|0)==0?d+4|0:b+248|0)>>2];if(!(j<<24>>24==0|t&n==o)){if(!(i&4)){g=n;k=o}else{c[(c[d+32>>2]|0)+(x<<2)>>2]=c[b+228>>2];g=+f[b+192>>2];k=+f[b+196>>2]}e=+f[b+1084>>2];m=+f[b+1116>>2];l=p*+f[d>>2];do if(!(g>k))if(!(g==k)){if(m/l<0.0)if(e>=g?g-m/l>e:0){e=(g-e)/(m/l);break}else{e=e0.0)if(e<=k?k-m/lk?0.0:1.0;break}else e=0.0}else e=0.0;else e=1.0;while(0);f[(c[d+28>>2]|0)+(x<<2)>>2]=e*m;f[(c[d+36>>2]|0)+(x<<2)>>2]=-(+f[b+1120>>2]*+f[d>>2]);f[(c[d+40>>2]|0)+(x<<2)>>2]=+f[b+1120>>2]*+f[d>>2]}if(!t)return;j=(c[d+28>>2]|0)+(x<<2)|0;f[j>>2]=+f[j>>2]+v*(p*+f[d>>2]);if(i&1024|0)c[(c[d+32>>2]|0)+(x<<2)>>2]=c[b+260>>2];do if(!(n==o)){i=(c[d+36>>2]|0)+(x<<2)|0;if((y|0)==1){f[i>>2]=0.0;e=3402823466385288598117041.0e14;break}else{f[i>>2]=-3402823466385288598117041.0e14;e=0.0;break}}else{f[(c[d+36>>2]|0)+(x<<2)>>2]=-3402823466385288598117041.0e14;e=3402823466385288598117041.0e14}while(0);f[(c[d+40>>2]|0)+(x<<2)>>2]=e;ea=1.0-+f[b+256>>2];g=+r(+ea);do if(!(ea!=ea|0.0!=0.0|ea==0.0)){da=c[b+28>>2]|0;d=c[b+32>>2]|0;e=+f[da+328>>2]*w+ +f[da+332>>2]*u+ +f[da+336>>2]*q-(+f[d+328>>2]*w+ +f[d+332>>2]*u+ +f[d+336>>2]*q);if((y|0)==1){if(!(e<0.0))break;if(!(+f[j>>2]<-(g*e)))break;f[j>>2]=-(g*e);break}else{if(!(e>0.0))break;if(!(+f[j>>2]>-(g*e)))break;f[j>>2]=-(g*e);break}}while(0);f[j>>2]=+f[b+248>>2]*+f[j>>2];return}function jc(b,d,e,g,h){b=b|0;d=d|0;e=e|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0,v=0,w=0,x=0,y=0.0,z=0;z=Ta;Ta=Ta+112|0;c[b+164>>2]=1065353216;c[b+168>>2]=1065353216;c[b+172>>2]=1065353216;f[b+176>>2]=0.0;c[b+180>>2]=0;f[b+184>>2]=999999984306749440.0;c[b+188>>2]=0;c[b+188+4>>2]=0;c[b+188+8>>2]=0;c[b+188+12>>2]=0;c[b+204>>2]=1;c[b+208>>2]=-1;c[b+212>>2]=-1;c[b+216>>2]=1;f[b+220>>2]=0.0;f[b+224>>2]=.5;f[b+228>>2]=0.0;f[b+232>>2]=0.0;c[b+236>>2]=1;c[b+240>>2]=0;f[b+244>>2]=1.0;c[b+248>>2]=0;c[b+248+4>>2]=0;c[b+248+8>>2]=0;c[b+248+12>>2]=0;c[b+4>>2]=1065353216;c[b+8>>2]=0;c[b+8+4>>2]=0;c[b+8+8>>2]=0;c[b+8+12>>2]=0;c[b+24>>2]=1065353216;c[b+28>>2]=0;c[b+28+4>>2]=0;c[b+28+8>>2]=0;c[b+28+12>>2]=0;c[b+44>>2]=1065353216;c[b+48>>2]=0;c[b+48+4>>2]=0;c[b+48+8>>2]=0;c[b+48+12>>2]=0;c[b+48+16>>2]=0;c[b>>2]=4380;a[b+280>>0]=1;c[b+276>>2]=0;c[b+268>>2]=0;c[b+272>>2]=0;c[b+284>>2]=0;a[b+408>>0]=1;c[b+404>>2]=0;c[b+396>>2]=0;c[b+400>>2]=0;a[b+428>>0]=1;c[b+424>>2]=0;c[b+416>>2]=0;c[b+420>>2]=0;a[b+448>>0]=1;c[b+444>>2]=0;c[b+436>>2]=0;c[b+440>>2]=0;a[b+496>>0]=1;c[b+492>>2]=0;c[b+484>>2]=0;c[b+488>>2]=0;a[b+516>>0]=1;c[b+512>>2]=0;c[b+504>>2]=0;c[b+508>>2]=0;c[b+684>>2]=d;a[b+704>>0]=1;c[b+700>>2]=0;c[b+692>>2]=0;c[b+696>>2]=0;a[b+724>>0]=1;c[b+720>>2]=0;c[b+712>>2]=0;c[b+716>>2]=0;a[b+744>>0]=1;c[b+740>>2]=0;c[b+732>>2]=0;c[b+736>>2]=0;a[b+764>>0]=1;c[b+760>>2]=0;c[b+752>>2]=0;c[b+756>>2]=0;a[b+784>>0]=1;c[b+780>>2]=0;c[b+772>>2]=0;c[b+776>>2]=0;a[b+804>>0]=1;c[b+800>>2]=0;c[b+792>>2]=0;c[b+796>>2]=0;a[b+824>>0]=1;c[b+820>>2]=0;c[b+812>>2]=0;c[b+816>>2]=0;a[b+844>>0]=1;c[b+840>>2]=0;c[b+832>>2]=0;c[b+836>>2]=0;a[b+864>>0]=1;c[b+860>>2]=0;c[b+852>>2]=0;c[b+856>>2]=0;a[b+884>>0]=1;c[b+880>>2]=0;c[b+872>>2]=0;c[b+876>>2]=0;a[b+964>>0]=1;c[b+960>>2]=0;c[b+952>>2]=0;c[b+956>>2]=0;a[b+984>>0]=1;c[b+980>>2]=0;c[b+972>>2]=0;c[b+976>>2]=0;c[b+928>>2]=0;c[b+932>>2]=0;c[b+936>>2]=-1;c[b+940>>2]=0;c[b+944>>2]=0;a[b+1024>>0]=1;c[b+1020>>2]=0;c[b+1012>>2]=0;c[b+1016>>2]=0;a[b+1044>>0]=1;c[b+1040>>2]=0;c[b+1032>>2]=0;c[b+1036>>2]=0;c[b+988>>2]=0;c[b+992>>2]=0;c[b+996>>2]=-1;c[b+1e3>>2]=0;c[b+1004>>2]=0;a[b+1084>>0]=1;c[b+1080>>2]=0;c[b+1072>>2]=0;c[b+1076>>2]=0;a[b+1104>>0]=1;c[b+1100>>2]=0;c[b+1092>>2]=0;c[b+1096>>2]=0;c[b+1048>>2]=0;c[b+1052>>2]=0;c[b+1056>>2]=-1;c[b+1060>>2]=0;c[b+1064>>2]=0;a[b+1124>>0]=1;c[b+1120>>2]=0;c[b+1112>>2]=0;c[b+1116>>2]=0;a[b+1144>>0]=1;c[b+1140>>2]=0;c[b+1132>>2]=0;c[b+1136>>2]=0;a[b+1248>>0]=1;c[b+1244>>2]=0;c[b+1236>>2]=0;c[b+1240>>2]=0;c[b+236>>2]=8;c[b+288>>2]=0;f[b+292>>2]=1.0;c[b+296>>2]=0;c[b+296+4>>2]=0;c[b+296+8>>2]=0;c[b+296+12>>2]=0;c[b+296+16>>2]=0;f[b+316>>2]=.20000000298023224;f[b+320>>2]=0.0;f[b+324>>2]=1.0;f[b+328>>2]=.10000000149011612;f[b+332>>2]=1.0;f[b+336>>2]=.699999988079071;f[b+340>>2]=.10000000149011612;f[b+344>>2]=1.0;f[b+348>>2]=.5;f[b+352>>2]=.5;f[b+356>>2]=.5;f[b+360>>2]=.5;f[b+364>>2]=1.0;f[b+368>>2]=1.0;c[b+372>>2]=0;c[b+376>>2]=1;c[b+380>>2]=0;c[b+384>>2]=4;c[b+388>>2]=1;a[b+472>>0]=0;a[b+473>>0]=0;f[b+476>>2]=0.0;c[b+520>>2]=0;c[b+520+4>>2]=0;c[b+520+8>>2]=0;c[b+520+12>>2]=0;c[b+536>>2]=1065353216;c[b+540>>2]=0;c[b+540+4>>2]=0;c[b+540+8>>2]=0;c[b+540+12>>2]=0;c[b+556>>2]=1065353216;c[b+560>>2]=0;c[b+560+4>>2]=0;c[b+560+8>>2]=0;c[b+560+12>>2]=0;c[b+576>>2]=1065353216;f[b+580>>2]=0.0;c[b+584>>2]=1065353216;c[b+588>>2]=0;c[b+588+4>>2]=0;c[b+588+8>>2]=0;c[b+588+12>>2]=0;c[b+604>>2]=1065353216;c[b+608>>2]=0;c[b+608+4>>2]=0;c[b+608+8>>2]=0;c[b+608+12>>2]=0;c[b+624>>2]=1065353216;f[b+628>>2]=0.0;c[b+680>>2]=0;f[b+888>>2]=0.0;a[b+924>>0]=1;c[b+892>>2]=0;c[b+892+4>>2]=0;c[b+892+8>>2]=0;c[b+892+12>>2]=0;c[b+892+16>>2]=0;c[b+892+20>>2]=0;c[b+892+24>>2]=0;c[b+892+28>>2]=0;c[b+4>>2]=1065353216;c[b+8>>2]=0;c[b+8+4>>2]=0;c[b+8+8>>2]=0;c[b+8+12>>2]=0;c[b+24>>2]=1065353216;c[b+28>>2]=0;c[b+28+4>>2]=0;c[b+28+8>>2]=0;c[b+28+12>>2]=0;c[b+44>>2]=1065353216;c[b+48>>2]=0;c[b+48+4>>2]=0;c[b+48+8>>2]=0;c[b+48+12>>2]=0;c[b+48+16>>2]=0;d=c[b+404>>2]|0;if(d|0){if(a[b+408>>0]|0){c[6880]=(c[6880]|0)+1;kd(c[d+-4>>2]|0)}c[b+404>>2]=0}a[b+408>>0]=1;c[b+404>>2]=0;c[b+396>>2]=0;c[b+400>>2]=0;d=c[b+424>>2]|0;if(d|0){if(a[b+428>>0]|0){c[6880]=(c[6880]|0)+1;kd(c[d+-4>>2]|0)}c[b+424>>2]=0}a[b+428>>0]=1;c[b+424>>2]=0;c[b+416>>2]=0;c[b+420>>2]=0;d=c[b+444>>2]|0;do if(d){if(!(a[b+448>>0]|0)){c[b+444>>2]=0;a[b+448>>0]=1;c[b+444>>2]=0;c[b+436>>2]=0;c[b+440>>2]=0;d=1;u=17;break}c[6880]=(c[6880]|0)+1;kd(c[d+-4>>2]|0);i=c[b+416>>2]|0;d=c[b+420>>2]|0;c[b+444>>2]=0;a[b+448>>0]=1;c[b+444>>2]=0;c[b+436>>2]=0;c[b+440>>2]=0;if((i|0)==(d|0))if(d)if((d|0)<(d<<1|0))if(!(d<<1)){i=d;d=d<<1;j=0;u=20}else{d=d<<1;u=17}else i=d;else{d=1;u=17}}else{a[b+448>>0]=1;c[b+444>>2]=0;c[b+436>>2]=0;c[b+440>>2]=0;d=1;u=17}while(0);if((u|0)==17){c[6879]=(c[6879]|0)+1;i=Zb((d<<2|3)+16|0)|0;if(!i)j=0;else{c[(i+4+15&-16)+-4>>2]=i;j=i+4+15&-16}i=c[b+416>>2]|0;u=20}if((u|0)==20){l=c[b+424>>2]|0;if((i|0)<=0){if(l)u=24}else{k=0;do{c[j+(k<<2)>>2]=c[l+(k<<2)>>2];k=k+1|0}while((k|0)!=(i|0));u=24}if((u|0)==24){if(a[b+428>>0]|0){c[6880]=(c[6880]|0)+1;kd(c[l+-4>>2]|0);i=c[b+416>>2]|0}c[b+424>>2]=0}a[b+428>>0]=1;c[b+424>>2]=j;c[b+420>>2]=d}k=c[b+424>>2]|0;c[k+(i<<2)>>2]=1;j=i+1|0;c[b+416>>2]=j;if((j|0)==(d|0)){l=(d|0)==0?1:d<<1;if((d|0)<(l|0)){if(!l)i=0;else{c[6879]=(c[6879]|0)+1;d=Zb((l<<2|3)+16|0)|0;if(!d)i=0;else{c[(d+4+15&-16)+-4>>2]=d;i=d+4+15&-16}d=c[b+416>>2]|0;k=c[b+424>>2]|0}if((d|0)<=0){if(k)u=38}else{j=0;do{c[i+(j<<2)>>2]=c[k+(j<<2)>>2];j=j+1|0}while((j|0)!=(d|0));u=38}if((u|0)==38){if(a[b+428>>0]|0){c[6880]=(c[6880]|0)+1;kd(c[k+-4>>2]|0);d=c[b+416>>2]|0}c[b+424>>2]=0}a[b+428>>0]=1;c[b+424>>2]=i;c[b+420>>2]=l;j=d;d=l}else{i=k;j=d}}else i=k;c[i+(j<<2)>>2]=2;j=j+1|0;c[b+416>>2]=j;if((j|0)==(d|0)){l=(d|0)==0?1:d<<1;if((d|0)<(l|0)){if(!l)k=0;else{c[6879]=(c[6879]|0)+1;d=Zb((l<<2|3)+16|0)|0;if(!d)j=0;else{c[(d+4+15&-16)+-4>>2]=d;j=d+4+15&-16}d=c[b+416>>2]|0;i=c[b+424>>2]|0;k=j}if((d|0)<=0){if(i)u=52}else{j=0;do{c[k+(j<<2)>>2]=c[i+(j<<2)>>2];j=j+1|0}while((j|0)!=(d|0));u=52}if((u|0)==52){if(a[b+428>>0]|0){c[6880]=(c[6880]|0)+1;kd(c[i+-4>>2]|0);d=c[b+416>>2]|0}c[b+424>>2]=0}a[b+428>>0]=1;c[b+424>>2]=k;c[b+420>>2]=l;i=k;j=d;d=l}else j=d}c[i+(j<<2)>>2]=3;j=j+1|0;c[b+416>>2]=j;if((j|0)==(d|0)){l=(d|0)==0?1:d<<1;if((d|0)<(l|0)){if(!l)k=0;else{c[6879]=(c[6879]|0)+1;d=Zb((l<<2|3)+16|0)|0;if(!d)j=0;else{c[(d+4+15&-16)+-4>>2]=d;j=d+4+15&-16}d=c[b+416>>2]|0;i=c[b+424>>2]|0;k=j}if((d|0)<=0){if(i)u=66}else{j=0;do{c[k+(j<<2)>>2]=c[i+(j<<2)>>2];j=j+1|0}while((j|0)!=(d|0));u=66}if((u|0)==66){if(a[b+428>>0]|0){c[6880]=(c[6880]|0)+1;kd(c[i+-4>>2]|0);d=c[b+416>>2]|0}c[b+424>>2]=0}a[b+428>>0]=1;c[b+424>>2]=k;c[b+420>>2]=l;i=k}}else d=j;c[i+(d<<2)>>2]=0;c[b+416>>2]=d+1;c[6879]=(c[6879]|0)+1;d=Zb(39)|0;if(!d)d=0;else{c[(d+4+15&-16)+-4>>2]=d;d=d+4+15&-16}c[d+8>>2]=0;c[d>>2]=4488;c[d+4>>2]=32;c[d+16>>2]=b;c[b+192>>2]=d;f[d+12>>2]=.25;c[b+1148>>2]=1065353216;c[b+1152>>2]=0;c[b+1152+4>>2]=0;c[b+1152+8>>2]=0;c[b+1152+12>>2]=0;c[b+1168>>2]=1065353216;c[b+1172>>2]=0;c[b+1172+4>>2]=0;c[b+1172+8>>2]=0;c[b+1172+12>>2]=0;c[b+1188>>2]=1065353216;u=b+1192|0;v=u+36|0;do{c[u>>2]=0;u=u+4|0}while((u|0)<(v|0));f[b+1228>>2]=1.0;x=ih(b)|0;f[x+4>>2]=1.0;f[x+8>>2]=1.0;f[x+12>>2]=1.0;c[x+16>>2]=1;u=c[b+192>>2]|0;y=+Wa[c[(c[u>>2]|0)+48>>2]&31](u);u=z;v=u+100|0;do{c[u>>2]=0;u=u+4|0}while((u|0)<(v|0));l=c[b+712>>2]|0;if((l|0)<(e|0)){if((c[b+716>>2]|0)<(e|0)){if(!e){i=l;j=0}else{c[6879]=(c[6879]|0)+1;d=Zb((e*104|3)+16|0)|0;if(!d)d=0;else{c[(d+4+15&-16)+-4>>2]=d;d=d+4+15&-16}i=c[b+712>>2]|0;j=d}if((i|0)>0){d=0;do{u=j+(d*104|0)|0;k=(c[b+720>>2]|0)+(d*104|0)|0;v=u+104|0;do{c[u>>2]=c[k>>2];u=u+4|0;k=k+4|0}while((u|0)<(v|0));d=d+1|0}while((d|0)!=(i|0))}d=c[b+720>>2]|0;if(d|0){if(a[b+724>>0]|0){c[6880]=(c[6880]|0)+1;kd(c[d+-4>>2]|0)}c[b+720>>2]=0}a[b+724>>0]=1;c[b+720>>2]=j;c[b+716>>2]=e}d=l;do{u=c[b+720>>2]|0;c[u+(d*104|0)>>2]=0;u=u+(d*104|0)+4|0;k=z;v=u+100|0;do{c[u>>2]=c[k>>2];u=u+4|0;k=k+4|0}while((u|0)<(v|0));d=d+1|0}while((d|0)!=(e|0))}c[b+712>>2]=e;if((e|0)>0){w=0;i=h;d=g;while(1){k=c[b+720>>2]|0;l=k+(w*104|0)|0;u=l;v=u+104|0;do{c[u>>2]=0;u=u+4|0}while((u|0)<(v|0));if(!d){p=0.0;n=0.0;o=0.0;m=0.0;d=0}else{p=+f[d+8>>2];n=+f[d>>2];o=+f[d+4>>2];m=+f[d+12>>2];d=d+16|0}h=k+(w*104|0)+8|0;f[h>>2]=n;f[k+(w*104|0)+12>>2]=o;f[k+(w*104|0)+16>>2]=p;f[k+(w*104|0)+20>>2]=m;g=k+(w*104|0)+24|0;c[g>>2]=c[h>>2];c[g+4>>2]=c[h+4>>2];c[g+8>>2]=c[h+8>>2];c[g+12>>2]=c[h+12>>2];if(!i){m=1.0;j=0}else{m=+f[i>>2];j=i+4|0}f[k+(w*104|0)+88>>2]=m>0.0?1.0/m:0.0;r=n-y;t=o-y;s=p-y;q=y+n;n=y+o;m=y+p;i=c[b+932>>2]|0;if(!i){c[6879]=(c[6879]|0)+1;i=Zb(63)|0;if(!i)i=0;else{c[(i+4+15&-16)+-4>>2]=i;i=i+4+15&-16}u=i;v=u+44|0;do{c[u>>2]=0;u=u+4|0}while((u|0)<(v|0))}else c[b+932>>2]=0;c[i+32>>2]=0;c[i+36>>2]=l;c[i+40>>2]=0;f[i>>2]=r;f[i+4>>2]=t;f[i+8>>2]=s;f[i+12>>2]=0.0;f[i+16>>2]=q;f[i+20>>2]=n;f[i+24>>2]=m;f[i+28>>2]=0.0;bf(b+928|0,c[b+928>>2]|0,i);c[b+940>>2]=(c[b+940>>2]|0)+1;c[k+(w*104|0)+96>>2]=i;c[k+(w*104|0)+4>>2]=x;w=w+1|0;if((w|0)==(e|0))break;else i=j}}d=c[b+928>>2]|0;if(!d){c[b+892>>2]=0;c[b+892+4>>2]=0;c[b+892+8>>2]=0;c[b+892+12>>2]=0;c[b+892+16>>2]=0;c[b+892+20>>2]=0;c[b+892+24>>2]=0;c[b+892+28>>2]=0;Ta=z;return}e=c[b+192>>2]|0;s=+Wa[c[(c[e>>2]|0)+48>>2]&31](e);y=+f[d+4>>2]-s;t=+f[d+8>>2]-s;f[b+892>>2]=+f[d>>2]-s;f[b+896>>2]=y;f[b+900>>2]=t;f[b+904>>2]=0.0;t=s+ +f[d+20>>2];y=s+ +f[d+24>>2];f[b+908>>2]=s+ +f[d+16>>2];f[b+912>>2]=t;f[b+916>>2]=y;f[b+920>>2]=0.0;d=c[b+188>>2]|0;if(!d){Ta=z;return}e=c[b+684>>2]|0;g=c[e+32>>2]|0;Gb[c[(c[g>>2]|0)+16>>2]&63](g,d,b+892|0,b+908|0,c[e+36>>2]|0);Ta=z;return}function kc(d,g,h){d=d|0;g=g|0;h=h|0;var i=0,j=0,k=0.0,l=0.0,m=0.0,n=0,o=0.0,p=0,q=0,r=0,s=0.0,t=0.0,u=0,v=0,w=0.0,x=0.0,y=0.0,z=0,A=0,B=0.0,C=0.0,D=0.0,E=0,F=0,G=0,H=0,I=0,J=0,K=0.0,L=0.0,M=0.0;J=Ta;Ta=Ta+96|0;G=c[d+56>>2]|0;if((h-g|0)==1){if(!(a[d+60>>0]|0)){p=(c[d+96>>2]|0)+(G<<6)|0;q=(c[d+76>>2]|0)+(g<<6)|0;r=p+64|0;do{c[p>>2]=c[q>>2];p=p+4|0;q=q+4|0}while((p|0)<(r|0))}else{H=(c[d+116>>2]|0)+(g<<4)|0;I=(c[d+136>>2]|0)+(G<<4)|0;c[I>>2]=c[H>>2];c[I+4>>2]=c[H+4>>2];c[I+8>>2]=c[H+8>>2];c[I+12>>2]=c[H+12>>2]}c[d+56>>2]=(c[d+56>>2]|0)+1;Ta=J;return}if((h|0)>(g|0)){n=(a[d+60>>0]|0)==0;if(n){i=c[d+76>>2]|0;l=0.0;k=0.0;m=0.0;j=g;do{k=k+(+f[i+(j<<6)+16>>2]+ +f[i+(j<<6)>>2])*.5;m=m+(+f[i+(j<<6)+20>>2]+ +f[i+(j<<6)+4>>2])*.5;l=l+(+f[i+(j<<6)+24>>2]+ +f[i+(j<<6)+8>>2])*.5;j=j+1|0}while((j|0)!=(h|0))}else{i=c[d+116>>2]|0;o=+f[d+36>>2];s=+f[d+40>>2];t=+f[d+44>>2];w=+f[d+4>>2];x=+f[d+8>>2];y=+f[d+12>>2];k=0.0;m=0.0;l=0.0;j=g;do{k=k+(+(e[i+(j<<4)+6>>1]|0)/o+w+(+(e[i+(j<<4)>>1]|0)/o+w))*.5;m=m+(+(e[i+(j<<4)+8>>1]|0)/s+x+(+(e[i+(j<<4)+2>>1]|0)/s+x))*.5;l=l+(+(e[i+(j<<4)+10>>1]|0)/t+y+(+(e[i+(j<<4)+4>>1]|0)/t+y))*.5;j=j+1|0}while((j|0)!=(h|0))}B=1.0/+(h-g|0);D=B*k;C=B*m;B=B*l;if(n){i=c[d+76>>2]|0;k=0.0;m=0.0;o=0.0;j=g;do{w=(+f[i+(j<<6)+16>>2]+ +f[i+(j<<6)>>2])*.5-D;x=(+f[i+(j<<6)+20>>2]+ +f[i+(j<<6)+4>>2])*.5-C;y=(+f[i+(j<<6)+24>>2]+ +f[i+(j<<6)+8>>2])*.5-B;k=k+w*w;m=m+x*x;o=o+y*y;j=j+1|0}while((j|0)!=(h|0));l=+(h-g|0)}else{i=c[d+116>>2]|0;l=+f[d+36>>2];s=+f[d+40>>2];t=+f[d+44>>2];w=+f[d+4>>2];x=+f[d+8>>2];y=+f[d+12>>2];k=0.0;m=0.0;o=0.0;j=g;do{M=(+(e[i+(j<<4)+6>>1]|0)/l+w+(+(e[i+(j<<4)>>1]|0)/l+w))*.5-D;L=(+(e[i+(j<<4)+8>>1]|0)/s+x+(+(e[i+(j<<4)+2>>1]|0)/s+x))*.5-C;K=(+(e[i+(j<<4)+10>>1]|0)/t+y+(+(e[i+(j<<4)+4>>1]|0)/t+y))*.5-B;k=k+M*M;m=m+L*L;o=o+K*K;j=j+1|0}while((j|0)!=(h|0));l=+(h-g|0)}}else{o=0.0;m=0.0;k=0.0;l=+(h-g|0)}M=1.0/(l+-1.0);L=M*k;K=M*m;M=M*o;v=L>2]=0;c[J+16+4>>2]=0;c[J+16+8>>2]=0;c[J+16+12>>2]=0;if((h|0)>(g|0)){if(!(a[d+60>>0]|0)){i=c[d+76>>2]|0;l=0.0;k=0.0;m=0.0;j=g;do{m=(+f[i+(j<<6)+16>>2]+ +f[i+(j<<6)>>2])*.5+m;l=(+f[i+(j<<6)+20>>2]+ +f[i+(j<<6)+4>>2])*.5+l;k=(+f[i+(j<<6)+24>>2]+ +f[i+(j<<6)+8>>2])*.5+k;j=j+1|0}while((j|0)!=(h|0))}else{i=c[d+116>>2]|0;o=+f[d+36>>2];s=+f[d+40>>2];t=+f[d+44>>2];w=+f[d+4>>2];x=+f[d+8>>2];y=+f[d+12>>2];l=0.0;k=0.0;m=0.0;j=g;do{m=(+(e[i+(j<<4)+6>>1]|0)/o+w+(+(e[i+(j<<4)>>1]|0)/o+w))*.5+m;l=(+(e[i+(j<<4)+8>>1]|0)/s+x+(+(e[i+(j<<4)+2>>1]|0)/s+x))*.5+l;k=(+(e[i+(j<<4)+10>>1]|0)/t+y+(+(e[i+(j<<4)+4>>1]|0)/t+y))*.5+k;j=j+1|0}while((j|0)!=(h|0))}f[J+16>>2]=m;f[J+16+4>>2]=l;f[J+16+8>>2]=k;i=J+16|0}else{m=0.0;l=0.0;k=0.0;i=J+16|0}f[i>>2]=1.0/+(h-g|0)*m;f[J+16+4>>2]=1.0/+(h-g|0)*l;f[J+16+8>>2]=1.0/+(h-g|0)*k;w=+f[J+16+(v<<2)>>2];if((h|0)>(g|0)){u=g;i=g;do{j=(a[d+60>>0]|0)==0;if(j){F=c[d+76>>2]|0;k=+f[F+(u<<6)+16>>2];l=+f[F+(u<<6)+20>>2];m=+f[F+(u<<6)+24>>2];o=+f[F+(u<<6)>>2];s=+f[F+(u<<6)+4>>2];t=+f[F+(u<<6)+8>>2]}else{F=c[d+116>>2]|0;K=+f[d+36>>2];L=+f[d+40>>2];M=+f[d+44>>2];o=+f[d+4>>2];s=+f[d+8>>2];t=+f[d+12>>2];k=+(e[F+(u<<4)+6>>1]|0)/K+o;l=+(e[F+(u<<4)+8>>1]|0)/L+s;m=+(e[F+(u<<4)+10>>1]|0)/M+t;o=+(e[F+(u<<4)>>1]|0)/K+o;s=+(e[F+(u<<4)+2>>1]|0)/L+s;t=+(e[F+(u<<4)+4>>1]|0)/M+t}f[J>>2]=(k+o)*.5;f[J+4>>2]=(l+s)*.5;f[J+8>>2]=(m+t)*.5;f[J+12>>2]=0.0;if(+f[J+(v<<2)>>2]>w){if(j){j=c[d+76>>2]|0;n=j+(u<<6)|0;p=J+32|0;q=n;r=p+64|0;do{c[p>>2]=c[q>>2];p=p+4|0;q=q+4|0}while((p|0)<(r|0));p=n;q=j+(i<<6)|0;r=p+64|0;do{c[p>>2]=c[q>>2];p=p+4|0;q=q+4|0}while((p|0)<(r|0));p=(c[d+76>>2]|0)+(i<<6)|0;q=J+32|0;r=p+64|0;do{c[p>>2]=c[q>>2];p=p+4|0;q=q+4|0}while((p|0)<(r|0))}else{E=c[d+116>>2]|0;F=E+(u<<4)|0;c[J+32>>2]=c[F>>2];c[J+32+4>>2]=c[F+4>>2];c[J+32+8>>2]=c[F+8>>2];c[J+32+12>>2]=c[F+12>>2];E=E+(i<<4)|0;c[F>>2]=c[E>>2];c[F+4>>2]=c[E+4>>2];c[F+8>>2]=c[E+8>>2];c[F+12>>2]=c[E+12>>2];F=(c[d+116>>2]|0)+(i<<4)|0;c[F>>2]=c[J+32>>2];c[F+4>>2]=c[J+32+4>>2];c[F+8>>2]=c[J+32+8>>2];c[F+12>>2]=c[J+32+12>>2]}i=i+1|0}u=u+1|0}while((u|0)!=(h|0))}else i=g;if(!((i|0)>(((h-g|0)/3|0)+g|0)?(i|0)<(h+-1-((h-g|0)/3|0)|0):0))i=(1?h-g>>1:h-g|0)+g|0;F=c[d+56>>2]|0;if(!(a[d+60>>0]|0)){E=(c[d+96>>2]|0)+(F<<6)|0;c[E>>2]=c[d+20>>2];c[E+4>>2]=c[d+20+4>>2];c[E+8>>2]=c[d+20+8>>2];c[E+12>>2]=c[d+20+12>>2]}else{E=c[d+136>>2]|0;L=(+f[d+24>>2]-+f[d+8>>2])*+f[d+40>>2];M=(+f[d+28>>2]-+f[d+12>>2])*+f[d+44>>2];b[E+(F<<4)>>1]=~~((+f[d+20>>2]-+f[d+4>>2])*+f[d+36>>2])&65535&-2;b[E+(F<<4)+2>>1]=~~L&65535&-2;b[E+(F<<4)+4>>1]=~~M&65535&-2}j=c[d+56>>2]|0;if(!(a[d+60>>0]|0)){E=(c[d+96>>2]|0)+(j<<6)+16|0;c[E>>2]=c[d+4>>2];c[E+4>>2]=c[d+4+4>>2];c[E+8>>2]=c[d+4+8>>2];c[E+12>>2]=c[d+4+12>>2]}else{E=c[d+136>>2]|0;K=+f[d+4>>2];L=+f[d+8>>2];M=+f[d+12>>2];L=(L-L)*+f[d+40>>2];M=(M-M)*+f[d+44>>2];b[E+(j<<4)+6>>1]=~~((K-K)*+f[d+36>>2]+1.0)&65535|1;b[E+(j<<4)+8>>1]=~~(L+1.0)&65535|1;b[E+(j<<4)+10>>1]=~~(M+1.0)&65535|1}E=c[d+56>>2]|0;if((h|0)>(g|0)){z=a[d+60>>0]|0;A=g;do{if(!(z<<24>>24)){j=c[d+76>>2]|0;k=+f[j+(A<<6)>>2];m=+f[j+(A<<6)+4>>2];o=+f[j+(A<<6)+8>>2];l=+f[j+(A<<6)+12>>2];s=+f[j+(A<<6)+16>>2];x=+f[j+(A<<6)+20>>2];t=+f[j+(A<<6)+24>>2];w=+f[j+(A<<6)+28>>2];j=c[d+96>>2]|0;if(k<+f[j+(E<<6)>>2])f[j+(E<<6)>>2]=k;if(m<+f[j+(E<<6)+4>>2])f[j+(E<<6)+4>>2]=m;if(o<+f[j+(E<<6)+8>>2])f[j+(E<<6)+8>>2]=o;if(l<+f[j+(E<<6)+12>>2])f[j+(E<<6)+12>>2]=l;if(+f[j+(E<<6)+16>>2]>2]=s;if(+f[j+(E<<6)+20>>2]>2]=x;if(+f[j+(E<<6)+24>>2]>2]=t;if(+f[j+(E<<6)+28>>2]>2]=w}else{u=c[d+116>>2]|0;s=+f[d+36>>2];y=+f[d+40>>2];K=+f[d+44>>2];t=+f[d+4>>2];B=+f[d+8>>2];L=+f[d+12>>2];w=+f[d+4>>2];C=+f[d+8>>2];M=+f[d+12>>2];o=+f[d+36>>2];x=+f[d+40>>2];D=+f[d+44>>2];j=~~((+(e[u+(A<<4)>>1]|0)/s+t-w)*o)&65535&-2;n=~~((+(e[u+(A<<4)+2>>1]|0)/y+B-C)*x)&65535&-2;p=~~((+(e[u+(A<<4)+4>>1]|0)/K+L-M)*D)&65535&-2;q=~~(o*(+(e[u+(A<<4)+6>>1]|0)/s+t-w)+1.0)&65535|1;r=~~(x*(+(e[u+(A<<4)+8>>1]|0)/y+B-C)+1.0)&65535|1;u=~~(D*(+(e[u+(A<<4)+10>>1]|0)/K+L-M)+1.0)&65535|1;v=c[d+136>>2]|0;if((e[v+(E<<4)>>1]|0)>(j&65535))b[v+(E<<4)>>1]=j;if((e[v+(E<<4)+6>>1]|0)<(q&65535))b[v+(E<<4)+6>>1]=q;if((e[v+(E<<4)+2>>1]|0)>(n&65535))b[v+(E<<4)+2>>1]=n;if((e[v+(E<<4)+8>>1]|0)<(r&65535))b[v+(E<<4)+8>>1]=r;if((e[v+(E<<4)+4>>1]|0)>(p&65535))b[v+(E<<4)+4>>1]=p;if((e[v+(E<<4)+10>>1]|0)<(u&65535))b[v+(E<<4)+10>>1]=u}A=A+1|0}while((A|0)!=(h|0))}c[d+56>>2]=E+1;kc(d,g,i);z=c[d+56>>2]|0;kc(d,i,h);v=(c[d+56>>2]|0)-G|0;i=a[d+60>>0]|0;if(i<<24>>24!=0&(v|0)>128){r=c[d+136>>2]|0;q=c[r+(E+1<<4)+12>>2]|0;q=(q|0)>-1?1:0-q|0;u=c[r+(z<<4)+12>>2]|0;u=(u|0)>-1?1:0-u|0;if((q|0)<129){p=c[d+152>>2]|0;if((p|0)==(c[d+156>>2]|0)?(H=(p|0)==0?1:p<<1,(p|0)<(H|0)):0){if(!H){j=p;n=0}else{c[6879]=(c[6879]|0)+1;i=Zb(H<<5|19)|0;if(!i)i=0;else{c[(i+4+15&-16)+-4>>2]=i;i=i+4+15&-16}j=c[d+152>>2]|0;n=i}if((j|0)>0){i=0;do{h=n+(i<<5)|0;G=(c[d+160>>2]|0)+(i<<5)|0;c[h>>2]=c[G>>2];c[h+4>>2]=c[G+4>>2];c[h+8>>2]=c[G+8>>2];c[h+12>>2]=c[G+12>>2];c[h+16>>2]=c[G+16>>2];c[h+20>>2]=c[G+20>>2];c[h+24>>2]=c[G+24>>2];c[h+28>>2]=c[G+28>>2];i=i+1|0}while((i|0)!=(j|0))}i=c[d+160>>2]|0;if(i|0){if(a[d+164>>0]|0){c[6880]=(c[6880]|0)+1;kd(c[i+-4>>2]|0)}c[d+160>>2]=0}a[d+164>>0]=1;c[d+160>>2]=n;c[d+156>>2]=H;i=c[d+152>>2]|0}else i=p;c[d+152>>2]=i+1;H=(c[d+160>>2]|0)+(p<<5)|0;c[H>>2]=c[J+32>>2];c[H+4>>2]=c[J+32+4>>2];c[H+8>>2]=c[J+32+8>>2];c[H+12>>2]=c[J+32+12>>2];c[H+16>>2]=c[J+32+16>>2];c[H+20>>2]=c[J+32+20>>2];c[H+24>>2]=c[J+32+24>>2];c[H+28>>2]=c[J+32+28>>2];H=c[d+160>>2]|0;b[H+(p<<5)>>1]=b[r+(E+1<<4)>>1]|0;b[H+(p<<5)+2>>1]=b[r+(E+1<<4)+2>>1]|0;b[H+(p<<5)+4>>1]=b[r+(E+1<<4)+4>>1]|0;b[H+(p<<5)+6>>1]=b[r+(E+1<<4)+6>>1]|0;b[H+(p<<5)+8>>1]=b[r+(E+1<<4)+8>>1]|0;b[H+(p<<5)+10>>1]=b[r+(E+1<<4)+10>>1]|0;c[H+(p<<5)+12>>2]=E+1;c[H+(p<<5)+16>>2]=q}if((u|0)<129){p=c[d+152>>2]|0;if((p|0)==(c[d+156>>2]|0)?(I=(p|0)==0?1:p<<1,(p|0)<(I|0)):0){if(!I){j=p;n=0}else{c[6879]=(c[6879]|0)+1;i=Zb(I<<5|19)|0;if(!i)i=0;else{c[(i+4+15&-16)+-4>>2]=i;i=i+4+15&-16}j=c[d+152>>2]|0;n=i}if((j|0)>0){i=0;do{H=n+(i<<5)|0;h=(c[d+160>>2]|0)+(i<<5)|0;c[H>>2]=c[h>>2];c[H+4>>2]=c[h+4>>2];c[H+8>>2]=c[h+8>>2];c[H+12>>2]=c[h+12>>2];c[H+16>>2]=c[h+16>>2];c[H+20>>2]=c[h+20>>2];c[H+24>>2]=c[h+24>>2];c[H+28>>2]=c[h+28>>2];i=i+1|0}while((i|0)!=(j|0))}i=c[d+160>>2]|0;if(i|0){if(a[d+164>>0]|0){c[6880]=(c[6880]|0)+1;kd(c[i+-4>>2]|0)}c[d+160>>2]=0}a[d+164>>0]=1;c[d+160>>2]=n;c[d+156>>2]=I;i=c[d+152>>2]|0}else i=p;c[d+152>>2]=i+1;i=(c[d+160>>2]|0)+(p<<5)|0;c[i>>2]=c[J+32>>2];c[i+4>>2]=c[J+32+4>>2];c[i+8>>2]=c[J+32+8>>2];c[i+12>>2]=c[J+32+12>>2];c[i+16>>2]=c[J+32+16>>2];c[i+20>>2]=c[J+32+20>>2];c[i+24>>2]=c[J+32+24>>2];c[i+28>>2]=c[J+32+28>>2];i=c[d+160>>2]|0;b[i+(p<<5)>>1]=b[r+(z<<4)>>1]|0;b[i+(p<<5)+2>>1]=b[r+(z<<4)+2>>1]|0;b[i+(p<<5)+4>>1]=b[r+(z<<4)+4>>1]|0;b[i+(p<<5)+6>>1]=b[r+(z<<4)+6>>1]|0;b[i+(p<<5)+8>>1]=b[r+(z<<4)+8>>1]|0;b[i+(p<<5)+10>>1]=b[r+(z<<4)+10>>1]|0;c[i+(p<<5)+12>>2]=z;c[i+(p<<5)+16>>2]=u;i=d+152|0}else i=d+152|0;c[d+168>>2]=c[i>>2];i=a[d+60>>0]|0}if(!(i<<24>>24)){c[(c[d+96>>2]|0)+(F<<6)+32>>2]=v;Ta=J;return}else{c[(c[d+136>>2]|0)+(F<<4)+12>>2]=0-v;Ta=J;return}}function lc(b,d,e,g,h){b=b|0;d=d|0;e=e|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0,C=0.0,D=0.0,E=0.0,F=0.0,G=0.0,H=0.0,I=0.0,J=0.0,K=0.0,L=0.0,M=0.0,N=0.0,O=0.0,P=0.0,Q=0.0,R=0.0,S=0.0,T=0.0,U=0.0,V=0.0,W=0.0,X=0.0,Y=0.0,Z=0.0,_=0.0,$=0.0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0.0,ha=0.0,ia=0.0,ja=0.0,ka=0.0,la=0.0,ma=0.0,na=0.0,oa=0.0,pa=0.0,qa=0.0;fa=Ta;Ta=Ta+176|0;ca=c[d+4>>2]|0;da=c[e+4>>2]|0;if((c[ca+68>>2]|0)==(c[b+40>>2]|0)?(c[da+68>>2]|0)==(c[b+44>>2]|0):0)ba=b+8|0;else{i=c[b+8>>2]|0;j=c[i+8>>2]|0;if((j|0)>0){l=0;do{k=c[(c[i+16>>2]|0)+(l*12|0)+8>>2]|0;if(k|0){pb[c[c[k>>2]>>2]&511](k);ba=c[b+4>>2]|0;vb[c[(c[ba>>2]|0)+60>>2]&255](ba,k)}l=l+1|0}while((l|0)!=(j|0));i=c[b+8>>2]|0}Uh(i);ba=b+8|0}a[fa+128+16>>0]=1;o=fa+128+12|0;c[o>>2]=0;c[fa+128+4>>2]=0;c[fa+128+8>>2]=0;n=c[ba>>2]|0;i=c[n+8>>2]|0;if((i|0)>0){m=0;do{j=c[(c[n+16>>2]|0)+(m*12|0)+8>>2]|0;if(j){vb[c[(c[j>>2]|0)+16>>2]&255](j,fa+128|0);i=c[fa+128+4>>2]|0;if((i|0)>0){l=0;do{k=c[(c[o>>2]|0)+(l<<2)>>2]|0;if(c[k+748>>2]|0){c[h+4>>2]=k;i=c[k+740>>2]|0;j=c[(c[h+8>>2]|0)+8>>2]|0;if((i|0)==(j|0))ye(k,i+4|0,(c[(c[h+12>>2]|0)+8>>2]|0)+4|0);else ye(k,(c[(c[h+12>>2]|0)+8>>2]|0)+4|0,j+4|0);c[h+4>>2]=0;i=c[fa+128+4>>2]|0}l=l+1|0}while((l|0)<(i|0))}if((i|0)<0){if((c[fa+128+8>>2]|0)<0){j=c[o>>2]|0;if(j|0){if(a[fa+128+16>>0]|0){c[6880]=(c[6880]|0)+1;kd(c[j+-4>>2]|0)}c[o>>2]=0}a[fa+128+16>>0]=1;c[o>>2]=0;c[fa+128+8>>2]=0}do{c[(c[o>>2]|0)+(i<<2)>>2]=0;i=i+1|0}while((i|0)!=0)}c[fa+128+4>>2]=0;i=c[n+8>>2]|0}m=m+1|0}while((m|0)<(i|0));i=c[o>>2]|0;if(i|0){if(a[fa+128+16>>0]|0){c[6880]=(c[6880]|0)+1;kd(c[i+-4>>2]|0)}c[o>>2]=0}}j=c[ca+64>>2]|0;k=c[da+64>>2]|0;s=c[b+4>>2]|0;t=c[ba>>2]|0;u=c[b+32>>2]|0;c[fa+128>>2]=7592;c[fa+128+4>>2]=0;c[fa+128+8>>2]=d;c[fa+128+12>>2]=e;c[fa+128+16>>2]=s;c[fa+128+20>>2]=g;c[fa+128+24>>2]=h;c[fa+128+28>>2]=t;c[fa+128+32>>2]=u;u=c[d+12>>2]|0;E=+f[u>>2];F=+f[u+16>>2];G=+f[u+32>>2];H=+f[u+4>>2];I=+f[u+20>>2];J=+f[u+36>>2];K=+f[u+8>>2];L=+f[u+24>>2];M=+f[u+40>>2];Z=-+f[u+48>>2];_=-+f[u+52>>2];$=-+f[u+56>>2];u=c[e+12>>2]|0;N=+f[u>>2];O=+f[u+16>>2];P=+f[u+32>>2];Q=+f[u+4>>2];R=+f[u+20>>2];S=+f[u+36>>2];T=+f[u+8>>2];U=+f[u+24>>2];V=+f[u+40>>2];W=+f[u+48>>2];X=+f[u+52>>2];Y=+f[u+56>>2];j=c[j>>2]|0;k=c[k>>2]|0;if((j|0)!=0&(k|0)!=0){c[6879]=(c[6879]|0)+1;i=Zb(1043)|0;if(!i)i=0;else{c[(i+4+15&-16)+-4>>2]=i;i=i+4+15&-16}c[i>>2]=j;c[i+4>>2]=k;v=+r(+(E*N+F*O+G*P));w=+r(+(E*Q+F*R+G*S));x=+r(+(E*T+F*U+G*V));y=+r(+(H*N+I*O+J*P));z=+r(+(H*Q+I*R+J*S));A=+r(+(H*T+I*U+J*V));B=+r(+(K*N+L*O+M*P));C=+r(+(K*Q+L*R+M*S));D=+r(+(K*T+L*U+M*V));m=i;o=i;n=i;u=1;j=128;q=i;l=128;i=124;while(1){g=u+-1|0;s=c[q+(g<<3)>>2]|0;t=c[q+(g<<3)+4>>2]|0;qa=+f[t+16>>2];pa=+f[t>>2];oa=+f[t+20>>2];na=+f[t+4>>2];ma=+f[t+24>>2];ga=+f[t+8>>2];la=E*Z+F*_+G*$+(E*W+F*X+G*Y)+((E*N+F*O+G*P)*((qa+pa)*.5)+(E*Q+F*R+G*S)*((oa+na)*.5)+(E*T+F*U+G*V)*((ma+ga)*.5));ja=H*Z+I*_+J*$+(H*W+I*X+J*Y)+((H*N+I*O+J*P)*((qa+pa)*.5)+(H*Q+I*R+J*S)*((oa+na)*.5)+(H*T+I*U+J*V)*((ma+ga)*.5));ha=K*Z+L*_+M*$+(K*W+L*X+M*Y)+((K*N+L*O+M*P)*((qa+pa)*.5)+(K*Q+L*R+M*S)*((oa+na)*.5)+(K*T+L*U+M*V)*((ma+ga)*.5));ka=v*((qa-pa)*.5+0.0)+w*((oa-na)*.5+0.0)+x*((ma-ga)*.5+0.0);ia=y*((qa-pa)*.5+0.0)+z*((oa-na)*.5+0.0)+A*((ma-ga)*.5+0.0);ga=B*((qa-pa)*.5+0.0)+C*((oa-na)*.5+0.0)+D*((ma-ga)*.5+0.0);do if(((((+f[s>>2]<=ka+la?+f[s+16>>2]>=la-ka:0)?+f[s+4>>2]<=ia+ja:0)?+f[s+20>>2]>=ja-ia:0)?+f[s+8>>2]<=ga+ha:0)?+f[s+24>>2]>=ha-ga:0){if((g|0)>(i|0)){h=l<<1;do if((l|0)<(h|0)&(j|0)<(h|0)){do if(!l){k=0;i=0;aa=55}else{c[6879]=(c[6879]|0)+1;i=Zb((l<<4|3)+16|0)|0;if(!i)j=0;else{c[(i+4+15&-16)+-4>>2]=i;j=i+4+15&-16}if((l|0)<=0){k=j;i=j;aa=55;break}i=0;do{n=q+(i<<3)|0;o=c[n+4>>2]|0;p=j+(i<<3)|0;c[p>>2]=c[n>>2];c[p+4>>2]=o;i=i+1|0}while((i|0)!=(l|0));k=j;i=j}while(0);if((aa|0)==55){aa=0;if(!q){l=i;n=i;j=h;break}}if(!m){l=i;n=i;j=h}else{c[6880]=(c[6880]|0)+1;kd(c[m+-4>>2]|0);l=i;n=i;j=h}}else{l=o;i=m;k=q}while(0);o=l;m=i;p=j;l=h;h=h+-4|0}else{p=j;k=q;h=i}j=(c[t+40>>2]|0)!=0;if(!(c[s+40>>2]|0))if(j){j=c[t+36>>2]|0;c[k+(g<<3)>>2]=s;c[k+(g<<3)+4>>2]=j;g=c[t+40>>2]|0;c[k+(u<<3)>>2]=s;c[k+(u<<3)+4>>2]=g;g=u+1|0;j=p;i=h;break}else{zb[c[(c[fa+128>>2]|0)+8>>2]&127](fa+128|0,s,t);j=p;i=h;break}else{i=c[s+36>>2]|0;if(j){j=c[t+36>>2]|0;c[k+(g<<3)>>2]=i;c[k+(g<<3)+4>>2]=j;i=c[t+36>>2]|0;j=u+1|0;c[k+(u<<3)>>2]=c[s+40>>2];c[k+(u<<3)+4>>2]=i;i=c[t+40>>2]|0;g=u+2|0;c[k+(j<<3)>>2]=c[s+36>>2];c[k+(j<<3)+4>>2]=i;j=c[t+40>>2]|0;c[k+(g<<3)>>2]=c[s+40>>2];c[k+(g<<3)+4>>2]=j;g=u+3|0;j=p;i=h;break}else{c[k+(g<<3)>>2]=i;c[k+(g<<3)+4>>2]=t;c[k+(u<<3)>>2]=c[s+40>>2];c[k+(u<<3)+4>>2]=t;g=u+1|0;j=p;i=h;break}}}else k=q;while(0);if(!g)break;else{u=g;q=k}}if(!((k|0)==0|(o|0)==0)){c[6880]=(c[6880]|0)+1;kd(c[o+-4>>2]|0)}}n=c[ba>>2]|0;if((c[n+8>>2]|0)>0){o=0;do{i=c[n+16>>2]|0;j=c[i+(o*12|0)+8>>2]|0;do if(j|0){aa=c[i+(o*12|0)>>2]|0;u=c[ca+24>>2]|0;t=c[u+(aa*80|0)+64>>2]|0;s=c[d+12>>2]|0;qa=+f[s>>2];R=+f[s+4>>2];Q=+f[s+8>>2];na=+f[s+16>>2];la=+f[s+20>>2];ja=+f[s+24>>2];ma=+f[s+32>>2];ia=+f[s+36>>2];W=+f[s+40>>2];ha=+f[u+(aa*80|0)>>2];ga=+f[u+(aa*80|0)+16>>2];$=+f[u+(aa*80|0)+32>>2];_=+f[u+(aa*80|0)+4>>2];Z=+f[u+(aa*80|0)+20>>2];Y=+f[u+(aa*80|0)+36>>2];ka=+f[u+(aa*80|0)+8>>2];X=+f[u+(aa*80|0)+24>>2];V=+f[u+(aa*80|0)+40>>2];pa=+f[u+(aa*80|0)+48>>2];oa=+f[u+(aa*80|0)+52>>2];S=+f[u+(aa*80|0)+56>>2];U=+f[s+48>>2]+(qa*pa+R*oa+Q*S);T=+f[s+52>>2]+(na*pa+la*oa+ja*S);S=+f[s+56>>2]+(ma*pa+ia*oa+W*S);f[fa>>2]=qa*ha+R*ga+Q*$;f[fa+4>>2]=qa*_+R*Z+Q*Y;f[fa+8>>2]=qa*ka+R*X+Q*V;f[fa+12>>2]=0.0;f[fa+16>>2]=na*ha+la*ga+ja*$;f[fa+20>>2]=na*_+la*Z+ja*Y;f[fa+24>>2]=na*ka+la*X+ja*V;f[fa+28>>2]=0.0;f[fa+32>>2]=ma*ha+ia*ga+W*$;f[fa+36>>2]=ma*_+ia*Z+W*Y;f[fa+40>>2]=ma*ka+ia*X+W*V;f[fa+44>>2]=0.0;f[fa+48>>2]=U;f[fa+52>>2]=T;f[fa+56>>2]=S;f[fa+60>>2]=0.0;Cb[c[(c[t>>2]|0)+8>>2]&127](t,fa,fa+112|0,fa+96|0);t=c[(c[n+16>>2]|0)+(o*12|0)+4>>2]|0;s=c[da+24>>2]|0;aa=c[s+(t*80|0)+64>>2]|0;u=c[e+12>>2]|0;S=+f[u>>2];T=+f[u+4>>2];U=+f[u+8>>2];V=+f[u+16>>2];W=+f[u+20>>2];X=+f[u+24>>2];ia=+f[u+32>>2];ka=+f[u+36>>2];ma=+f[u+40>>2];Y=+f[s+(t*80|0)>>2];Z=+f[s+(t*80|0)+16>>2];_=+f[s+(t*80|0)+32>>2];$=+f[s+(t*80|0)+4>>2];ga=+f[s+(t*80|0)+20>>2];ha=+f[s+(t*80|0)+36>>2];ja=+f[s+(t*80|0)+8>>2];la=+f[s+(t*80|0)+24>>2];na=+f[s+(t*80|0)+40>>2];Q=+f[s+(t*80|0)+48>>2];R=+f[s+(t*80|0)+52>>2];qa=+f[s+(t*80|0)+56>>2];oa=+f[u+48>>2]+(S*Q+T*R+U*qa);pa=+f[u+52>>2]+(V*Q+W*R+X*qa);qa=+f[u+56>>2]+(ia*Q+ka*R+ma*qa);f[fa>>2]=S*Y+T*Z+U*_;f[fa+4>>2]=S*$+T*ga+U*ha;f[fa+8>>2]=S*ja+T*la+U*na;f[fa+12>>2]=0.0;f[fa+16>>2]=V*Y+W*Z+X*_;f[fa+20>>2]=V*$+W*ga+X*ha;f[fa+24>>2]=V*ja+W*la+X*na;f[fa+28>>2]=0.0;f[fa+32>>2]=ia*Y+ka*Z+ma*_;f[fa+36>>2]=ia*$+ka*ga+ma*ha;f[fa+40>>2]=ia*ja+ka*la+ma*na;f[fa+44>>2]=0.0;f[fa+48>>2]=oa;f[fa+52>>2]=pa;f[fa+56>>2]=qa;f[fa+60>>2]=0.0;Cb[c[(c[aa>>2]|0)+8>>2]&127](aa,fa,fa+80|0,fa+64|0);if(!(+f[fa+112>>2]>+f[fa+64>>2])?!(+f[fa+96>>2]<+f[fa+80>>2]):0)i=1;else i=0;if(!(!(+f[fa+112+8>>2]>+f[fa+64+8>>2])?!(+f[fa+96+8>>2]<+f[fa+80+8>>2]):0))i=0;if(!(+f[fa+112+4>>2]>+f[fa+64+4>>2])?!(+f[fa+96+4>>2]<+f[fa+80+4>>2]|i^1):0)break;pb[c[c[j>>2]>>2]&511](j);m=c[b+4>>2]|0;vb[c[(c[m>>2]|0)+60>>2]&255](m,j);m=c[n+16>>2]|0;l=c[m+(o*12|0)>>2]|0;m=c[m+(o*12|0)+4>>2]|0;i=c[b+16>>2]|0;if((i|0)==(c[b+20>>2]|0)?(ea=(i|0)==0?1:i<<1,(i|0)<(ea|0)):0){if(!ea)j=0;else{c[6879]=(c[6879]|0)+1;i=Zb((ea*12|3)+16|0)|0;if(!i)j=0;else{c[(i+4+15&-16)+-4>>2]=i;j=i+4+15&-16}i=c[b+16>>2]|0}if((i|0)>0){k=0;do{aa=j+(k*12|0)|0;u=(c[b+24>>2]|0)+(k*12|0)|0;c[aa>>2]=c[u>>2];c[aa+4>>2]=c[u+4>>2];c[aa+8>>2]=c[u+8>>2];k=k+1|0}while((k|0)!=(i|0))}i=c[b+24>>2]|0;if(i|0){if(a[b+28>>0]|0){c[6880]=(c[6880]|0)+1;kd(c[i+-4>>2]|0)}c[b+24>>2]=0}a[b+28>>0]=1;c[b+24>>2]=j;c[b+20>>2]=ea;i=c[b+16>>2]|0}aa=c[b+24>>2]|0;c[aa+(i*12|0)>>2]=l;c[aa+(i*12|0)+4>>2]=m;c[aa+(i*12|0)+8>>2]=0;c[b+16>>2]=(c[b+16>>2]|0)+1}while(0);o=o+1|0}while((o|0)<(c[n+8>>2]|0));j=b+24|0;k=b+16|0}else{j=b+24|0;k=b+16|0}if((c[k>>2]|0)>0){i=0;do{e=c[ba>>2]|0;ea=c[j>>2]|0;ib[c[(c[e>>2]|0)+8>>2]&63](e,c[ea+(i*12|0)>>2]|0,c[ea+(i*12|0)+4>>2]|0)|0;i=i+1|0}while((i|0)<(c[k>>2]|0))}i=c[j>>2]|0;if(!i){a[b+28>>0]=1;c[j>>2]=0;c[k>>2]=0;b=b+20|0;c[b>>2]=0;Ta=fa;return}if(a[b+28>>0]|0){c[6880]=(c[6880]|0)+1;kd(c[i+-4>>2]|0)}c[j>>2]=0;a[b+28>>0]=1;c[j>>2]=0;c[k>>2]=0;b=b+20|0;c[b>>2]=0;Ta=fa;return}function mc(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var g=0,h=0.0,i=0.0,j=0.0,k=0.0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0,C=0.0,D=0.0,E=0.0,F=0.0,G=0.0,H=0.0,I=0.0,J=0.0,K=0.0,L=0.0,M=0;s=Ta;Ta=Ta+208|0;g=eb[c[(c[a>>2]|0)+20>>2]&255](a)|0;wb[c[(c[g>>2]|0)+56>>2]&31](g,b,1.0);g=c[d+4>>2]|0;switch(g|0){case 31:{g=c[d+16>>2]|0;if((g|0)<=0){Ta=s;return}do{r=g;g=g+-1|0;q=c[d+24>>2]|0;D=+f[q+(g*80|0)>>2];A=+f[q+(g*80|0)+4>>2];x=+f[q+(g*80|0)+8>>2];C=+f[q+(g*80|0)+16>>2];z=+f[q+(g*80|0)+20>>2];v=+f[q+(g*80|0)+24>>2];B=+f[q+(g*80|0)+32>>2];y=+f[q+(g*80|0)+36>>2];t=+f[q+(g*80|0)+40>>2];L=+f[q+(g*80|0)+48>>2];K=+f[q+(g*80|0)+52>>2];k=+f[q+(g*80|0)+56>>2];q=c[q+(g*80|0)+64>>2]|0;p=c[(c[a>>2]|0)+28>>2]|0;J=+f[b>>2];I=+f[b+4>>2];H=+f[b+8>>2];G=+f[b+16>>2];F=+f[b+20>>2];E=+f[b+24>>2];w=+f[b+32>>2];u=+f[b+36>>2];h=+f[b+40>>2];i=L*J+K*I+k*H+ +f[b+48>>2];j=L*G+K*F+k*E+ +f[b+52>>2];k=L*w+K*u+k*h+ +f[b+56>>2];f[s+144>>2]=D*J+C*I+B*H;f[s+144+4>>2]=A*J+z*I+y*H;f[s+144+8>>2]=x*J+v*I+t*H;f[s+144+12>>2]=0.0;f[s+144+16>>2]=D*G+C*F+B*E;f[s+144+20>>2]=A*G+z*F+y*E;f[s+144+24>>2]=x*G+v*F+t*E;f[s+144+28>>2]=0.0;f[s+144+32>>2]=D*w+C*u+B*h;f[s+144+36>>2]=A*w+z*u+y*h;f[s+144+40>>2]=x*w+v*u+t*h;f[s+144+44>>2]=0.0;f[s+144+48>>2]=i;f[s+144+52>>2]=j;f[s+144+56>>2]=k;f[s+144+60>>2]=0.0;Cb[p&127](a,s+144|0,q,e)}while((r|0)>1);Ta=s;return}case 0:{c[s+144>>2]=c[d+28>>2];c[s+144+4>>2]=c[d+28+4>>2];c[s+144+8>>2]=c[d+28+8>>2];c[s+144+12>>2]=c[d+28+12>>2];J=+Wa[c[(c[d>>2]|0)+48>>2]&31](d);K=+Wa[c[(c[d>>2]|0)+48>>2]&31](d);L=+Wa[c[(c[d>>2]|0)+48>>2]&31](d);J=J+ +f[s+144>>2];f[s+144>>2]=J;K=K+ +f[s+144+4>>2];f[s+144+4>>2]=K;L=L+ +f[s+144+8>>2];f[s+144+8>>2]=L;a=eb[c[(c[a>>2]|0)+20>>2]&255](a)|0;d=c[(c[a>>2]|0)+72>>2]|0;f[s+112>>2]=-J;f[s+112+4>>2]=-K;f[s+112+8>>2]=-L;f[s+112+12>>2]=0.0;Gb[d&63](a,s+112|0,s+144|0,b,e);Ta=s;return}case 8:{L=+Wa[c[(c[d>>2]|0)+48>>2]&31](d);a=eb[c[(c[a>>2]|0)+20>>2]&255](a)|0;ub[c[(c[a>>2]|0)+16>>2]&31](a,L,b,e);Ta=s;return}case 9:{g=c[d+92>>2]|0;if((g|0)<=0){Ta=s;return}do{r=g;g=g+-1|0;q=c[d+100>>2]|0;x=+f[q+(g<<4)>>2];y=+f[q+(g<<4)+4>>2];K=+f[q+(g<<4)+8>>2];q=eb[c[(c[a>>2]|0)+20>>2]&255](a)|0;p=c[(c[q>>2]|0)+16>>2]|0;L=+f[(c[d+120>>2]|0)+(g<<2)>>2];A=+f[b>>2];B=+f[b+4>>2];z=+f[b+8>>2];D=+f[b+16>>2];E=+f[b+20>>2];C=+f[b+24>>2];G=+f[b+32>>2];H=+f[b+36>>2];F=+f[b+40>>2];I=x*A+y*B+K*z+ +f[b+48>>2];J=x*D+y*E+K*C+ +f[b+52>>2];K=x*G+y*H+K*F+ +f[b+56>>2];f[s+144>>2]=A+B*0.0+z*0.0;f[s+144+4>>2]=A*0.0+B+z*0.0;f[s+144+8>>2]=z+(A*0.0+B*0.0);f[s+144+12>>2]=0.0;f[s+144+16>>2]=D+E*0.0+C*0.0;f[s+144+20>>2]=D*0.0+E+C*0.0;f[s+144+24>>2]=C+(D*0.0+E*0.0);f[s+144+28>>2]=0.0;f[s+144+32>>2]=G+H*0.0+F*0.0;f[s+144+36>>2]=G*0.0+H+F*0.0;f[s+144+40>>2]=F+(G*0.0+H*0.0);f[s+144+44>>2]=0.0;f[s+144+48>>2]=I;f[s+144+52>>2]=J;f[s+144+56>>2]=K;f[s+144+60>>2]=0.0;ub[p&31](q,L,s+144|0,e)}while((r|0)>1);Ta=s;return}case 10:{r=c[d+52>>2]|0;K=+f[d+28+(((r+2|0)%3|0)<<2)>>2];L=+f[d+28+(r<<2)>>2];a=eb[c[(c[a>>2]|0)+20>>2]&255](a)|0;sb[c[(c[a>>2]|0)+76>>2]&31](a,K,L,r,b,e);Ta=s;return}case 11:{K=+f[d+56>>2];L=+f[d+60>>2];d=c[d+68>>2]|0;a=eb[c[(c[a>>2]|0)+20>>2]&255](a)|0;sb[c[(c[a>>2]|0)+84>>2]&31](a,K,L,d,b,e);Ta=s;return}case 13:{r=c[d+52>>2]|0;K=+Wa[c[(c[d>>2]|0)+92>>2]&31](d);c[s+128>>2]=c[d+28>>2];c[s+128+4>>2]=c[d+28+4>>2];c[s+128+8>>2]=c[d+28+8>>2];c[s+128+12>>2]=c[d+28+12>>2];I=+Wa[c[(c[d>>2]|0)+48>>2]&31](d);J=+Wa[c[(c[d>>2]|0)+48>>2]&31](d);L=+Wa[c[(c[d>>2]|0)+48>>2]&31](d);f[s+128>>2]=I+ +f[s+128>>2];f[s+128+4>>2]=J+ +f[s+128+4>>2];f[s+128+8>>2]=L+ +f[s+128+8>>2];L=+f[s+128+(r<<2)>>2];a=eb[c[(c[a>>2]|0)+20>>2]&255](a)|0;sb[c[(c[a>>2]|0)+80>>2]&31](a,K,L,r,b,e);Ta=s;return}case 28:{L=+f[d+64>>2];a=eb[c[(c[a>>2]|0)+20>>2]&255](a)|0;yb[c[(c[a>>2]|0)+88>>2]&31](a,d+48|0,L,b,e);Ta=s;return}default:{a:do if((g|0)<7){q=c[d+52>>2]|0;if(!q){if((eb[c[(c[d>>2]|0)+100>>2]&255](d)|0)<=0)break;g=0;while(1){Cb[c[(c[d>>2]|0)+104>>2]&127](d,g,s+144|0,s+112|0);L=+f[s+144>>2];y=+f[b>>2];J=+f[s+144+4>>2];z=+f[b+4>>2];H=+f[s+144+8>>2];A=+f[b+8>>2];C=+f[b+16>>2];D=+f[b+20>>2];E=+f[b+24>>2];G=+f[b+32>>2];I=+f[b+36>>2];K=+f[b+40>>2];x=+f[b+48>>2];B=+f[b+52>>2];F=+f[b+56>>2];f[s+16>>2]=L*y+J*z+H*A+x;f[s+16+4>>2]=L*C+J*D+H*E+B;f[s+16+8>>2]=L*G+J*I+H*K+F;f[s+16+12>>2]=0.0;H=+f[s+112>>2];J=+f[s+112+4>>2];L=+f[s+112+8>>2];f[s>>2]=x+(y*H+z*J+A*L);f[s+4>>2]=B+(C*H+D*J+E*L);f[s+8>>2]=F+(G*H+I*J+K*L);f[s+12>>2]=0.0;r=eb[c[(c[a>>2]|0)+20>>2]&255](a)|0;Cb[c[(c[r>>2]|0)+8>>2]&127](r,s+16|0,s,e);g=g+1|0;if((g|0)>=(eb[c[(c[d>>2]|0)+100>>2]&255](d)|0))break a}}if((c[q+28>>2]|0)>0){r=0;do{g=c[q+36>>2]|0;p=c[g+(r*36|0)+4>>2]|0;b:do if((p|0)>0){n=c[g+(r*36|0)+12>>2]|0;l=n;h=0.0;i=0.0;j=0.0;n=c[n+(p+-1<<2)>>2]|0;g=0;while(1){o=c[l+(g<<2)>>2]|0;m=c[q+16>>2]|0;h=h+ +f[m+(o<<4)>>2];i=i+ +f[m+(o<<4)+4>>2];j=j+ +f[m+(o<<4)+8>>2];m=eb[c[(c[a>>2]|0)+20>>2]&255](a)|0;l=c[(c[m>>2]|0)+8>>2]|0;M=c[q+16>>2]|0;L=+f[M+(n<<4)>>2];y=+f[b>>2];J=+f[M+(n<<4)+4>>2];z=+f[b+4>>2];H=+f[M+(n<<4)+8>>2];A=+f[b+8>>2];C=+f[b+16>>2];D=+f[b+20>>2];E=+f[b+24>>2];G=+f[b+32>>2];I=+f[b+36>>2];K=+f[b+40>>2];x=+f[b+48>>2];B=+f[b+52>>2];F=+f[b+56>>2];f[s+144>>2]=L*y+J*z+H*A+x;f[s+144+4>>2]=L*C+J*D+H*E+B;f[s+144+8>>2]=L*G+J*I+H*K+F;f[s+144+12>>2]=0.0;H=+f[M+(o<<4)>>2];J=+f[M+(o<<4)+4>>2];L=+f[M+(o<<4)+8>>2];f[s+112>>2]=x+(y*H+z*J+A*L);f[s+112+4>>2]=B+(C*H+D*J+E*L);f[s+112+8>>2]=F+(G*H+I*J+K*L);f[s+112+12>>2]=0.0;Cb[l&127](m,s+144|0,s+112|0,e);m=g+1|0;g=c[q+36>>2]|0;if((m|0)>=(c[g+(r*36|0)+4>>2]|0))break b;l=c[g+(r*36|0)+12>>2]|0;n=o;g=m}}else{h=0.0;i=0.0;j=0.0}while(0);k=1.0/+(p|0)*h;i=1.0/+(p|0)*i;h=1.0/+(p|0)*j;M=eb[c[(c[a>>2]|0)+20>>2]&255](a)|0;if((eb[c[(c[M>>2]|0)+48>>2]&255](M)|0)&16384|0){c[s+144>>2]=1065353216;c[s+144+4>>2]=1065353216;c[s+144+8>>2]=0;f[s+144+12>>2]=0.0;M=c[q+36>>2]|0;F=+f[M+(r*36|0)+20>>2];H=+f[M+(r*36|0)+24>>2];J=+f[M+(r*36|0)+28>>2];M=eb[c[(c[a>>2]|0)+20>>2]&255](a)|0;p=c[(c[M>>2]|0)+8>>2]|0;x=+f[b>>2];y=+f[b+4>>2];z=+f[b+8>>2];B=+f[b+16>>2];C=+f[b+20>>2];D=+f[b+24>>2];G=+f[b+32>>2];I=+f[b+36>>2];K=+f[b+40>>2];A=+f[b+48>>2];E=+f[b+52>>2];L=+f[b+56>>2];f[s+112>>2]=k*x+i*y+h*z+A;f[s+112+4>>2]=k*B+i*C+h*D+E;f[s+112+8>>2]=k*G+i*I+h*K+L;f[s+112+12>>2]=0.0;f[s+16>>2]=(k+F)*x+(i+H)*y+(h+J)*z+A;f[s+16+4>>2]=(k+F)*B+(i+H)*C+(h+J)*D+E;f[s+16+8>>2]=(k+F)*G+(i+H)*I+(h+J)*K+L;f[s+16+12>>2]=0.0;Cb[p&127](M,s+112|0,s+16|0,s+144|0)}r=r+1|0}while((r|0)<(c[q+28>>2]|0))}}while(0);g=c[d+4>>2]|0;if((g+-21|0)>>>0<9){c[s+144>>2]=1566444395;c[s+144+4>>2]=1566444395;c[s+144+8>>2]=1566444395;f[s+144+12>>2]=0.0;c[s+112>>2]=-581039253;c[s+112+4>>2]=-581039253;c[s+112+8>>2]=-581039253;f[s+112+12>>2]=0.0;g=eb[c[(c[a>>2]|0)+20>>2]&255](a)|0;c[s+16>>2]=7156;c[s+16+4>>2]=7180;c[s+16+8>>2]=g;c[s+16+12>>2]=c[e>>2];c[s+16+12+4>>2]=c[e+4>>2];c[s+16+12+8>>2]=c[e+8>>2];c[s+16+12+12>>2]=c[e+12>>2];c[s+16+28>>2]=c[b>>2];c[s+16+28+4>>2]=c[b+4>>2];c[s+16+28+8>>2]=c[b+8>>2];c[s+16+28+12>>2]=c[b+12>>2];c[s+16+44>>2]=c[b+16>>2];c[s+16+44+4>>2]=c[b+16+4>>2];c[s+16+44+8>>2]=c[b+16+8>>2];c[s+16+44+12>>2]=c[b+16+12>>2];c[s+16+60>>2]=c[b+32>>2];c[s+16+60+4>>2]=c[b+32+4>>2];c[s+16+60+8>>2]=c[b+32+8>>2];c[s+16+60+12>>2]=c[b+32+12>>2];c[s+16+76>>2]=c[b+48>>2];c[s+16+76+4>>2]=c[b+48+4>>2];c[s+16+76+8>>2]=c[b+48+8>>2];c[s+16+76+12>>2]=c[b+48+12>>2];Cb[c[(c[d>>2]|0)+64>>2]&127](d,s+16|0,s+112|0,s+144|0);g=c[d+4>>2]|0}if((g|0)!=3){Ta=s;return}c[s+144>>2]=1566444395;c[s+144+4>>2]=1566444395;c[s+144+8>>2]=1566444395;f[s+144+12>>2]=0.0;c[s+112>>2]=-581039253;c[s+112+4>>2]=-581039253;c[s+112+8>>2]=-581039253;f[s+112+12>>2]=0.0;M=eb[c[(c[a>>2]|0)+20>>2]&255](a)|0;c[s+16>>2]=7156;c[s+16+4>>2]=7180;c[s+16+8>>2]=M;c[s+16+12>>2]=c[e>>2];c[s+16+12+4>>2]=c[e+4>>2];c[s+16+12+8>>2]=c[e+8>>2];c[s+16+12+12>>2]=c[e+12>>2];c[s+16+28>>2]=c[b>>2];c[s+16+28+4>>2]=c[b+4>>2];c[s+16+28+8>>2]=c[b+8>>2];c[s+16+28+12>>2]=c[b+12>>2];c[s+16+44>>2]=c[b+16>>2];c[s+16+44+4>>2]=c[b+16+4>>2];c[s+16+44+8>>2]=c[b+16+8>>2];c[s+16+44+12>>2]=c[b+16+12>>2];c[s+16+60>>2]=c[b+32>>2];c[s+16+60+4>>2]=c[b+32+4>>2];c[s+16+60+8>>2]=c[b+32+8>>2];c[s+16+60+12>>2]=c[b+32+12>>2];c[s+16+76>>2]=c[b+48>>2];c[s+16+76+4>>2]=c[b+48+4>>2];c[s+16+76+8>>2]=c[b+48+8>>2];c[s+16+76+12>>2]=c[b+48+12>>2];M=c[d+92>>2]|0;Cb[c[(c[M>>2]|0)+8>>2]&127](M,s+16+4|0,s+112|0,s+144|0);Ta=s;return}}}function nc(b,d,e,g){b=b|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0.0,l=0,m=0,n=0,o=0.0,p=0.0,q=0.0,r=0,s=0,t=0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0;t=Ta;Ta=Ta+48|0;z=1.0/+f[b+108>>2];A=1.0/+f[b+112>>2];B=1.0/+f[b+116>>2];u=+f[b+48>>2];v=z*+f[e>>2]+u;o=+f[b+52>>2];k=A*+f[e+4>>2]+o;q=+f[b+56>>2];p=B*+f[e+8>>2]+q;u=z*+f[g>>2]+u;o=A*+f[g+4>>2]+o;q=B*+f[g+8>>2]+q;B=+f[b+16>>2];v=v>2];k=k>2];p=p>2];v=y>2];k=x>2];p=w>2]|0)+-1|0;e=(c[b+68>>2]|0)+-1|0;switch(c[b+104>>2]|0){case 0:{e=(g|0)<(e|0)?g:e;j=(i|0)<(j|0)?i:j;g=(l|0)>0?l:0;r=(n|0)>0?n:0;break}case 1:{e=(g|0)<(e|0)?g:e;j=(h|0)<(j|0)?h:j;g=(l|0)>0?l:0;r=(m|0)>0?m:0;break}case 2:{e=(i|0)<(e|0)?i:e;j=(h|0)<(j|0)?h:j;g=(n|0)>0?n:0;r=(m|0)>0?m:0;break}default:{g=0;r=0}}if((g|0)>=(e|0)){Ta=t;return}n=(r|0)<(j|0);l=g;while(1){if(n){m=(l&1|0)==0;q=+(l|0);g=l+1|0;i=r;while(1){do if(!(a[b+100>>0]|0)){if(a[b+101>>0]|0?(i+l&1|0)==0:0){s=16;break}if(!(m&(a[b+102>>0]|0)!=0)){k=+Za[c[(c[b>>2]|0)+68>>2]&63](b,i,l);switch(c[b+104>>2]|0){case 0:{k=k-+f[b+48>>2];o=+(i|0)-+f[b+80>>2]*.5;p=q-+f[b+84>>2]*.5;f[t>>2]=k;f[t+4>>2]=o;f[t+8>>2]=p;f[t+12>>2]=0.0;break}case 1:{B=+(i|0)-+f[b+80>>2]*.5;o=k-+f[b+52>>2];p=q-+f[b+84>>2]*.5;f[t>>2]=B;f[t+4>>2]=o;f[t+8>>2]=p;f[t+12>>2]=0.0;k=B;break}case 2:{B=+(i|0)-+f[b+80>>2]*.5;o=q-+f[b+84>>2]*.5;p=k-+f[b+56>>2];f[t>>2]=B;f[t+4>>2]=o;f[t+8>>2]=p;f[t+12>>2]=0.0;k=B;break}default:{k=+f[t>>2];o=+f[t+4>>2];p=+f[t+8>>2]}}f[t>>2]=k*+f[b+108>>2];f[t+4>>2]=o*+f[b+112>>2];f[t+8>>2]=p*+f[b+116>>2];k=+Za[c[(c[b>>2]|0)+68>>2]&63](b,i,g);switch(c[b+104>>2]|0){case 0:{k=k-+f[b+48>>2];o=+(i|0)-+f[b+80>>2]*.5;p=+(g|0)-+f[b+84>>2]*.5;f[t+16>>2]=k;f[t+20>>2]=o;f[t+24>>2]=p;f[t+28>>2]=0.0;break}case 1:{B=+(i|0)-+f[b+80>>2]*.5;o=k-+f[b+52>>2];p=+(g|0)-+f[b+84>>2]*.5;f[t+16>>2]=B;f[t+20>>2]=o;f[t+24>>2]=p;f[t+28>>2]=0.0;k=B;break}case 2:{B=+(i|0)-+f[b+80>>2]*.5;o=+(g|0)-+f[b+84>>2]*.5;p=k-+f[b+56>>2];f[t+16>>2]=B;f[t+20>>2]=o;f[t+24>>2]=p;f[t+28>>2]=0.0;k=B;break}default:{k=+f[t+16>>2];o=+f[t+20>>2];p=+f[t+24>>2]}}f[t+16>>2]=k*+f[b+108>>2];f[t+20>>2]=o*+f[b+112>>2];f[t+24>>2]=p*+f[b+116>>2];h=i+1|0;k=+Za[c[(c[b>>2]|0)+68>>2]&63](b,h,l);switch(c[b+104>>2]|0){case 0:{k=k-+f[b+48>>2];o=+(h|0)-+f[b+80>>2]*.5;p=q-+f[b+84>>2]*.5;f[t+32>>2]=k;f[t+36>>2]=o;f[t+40>>2]=p;f[t+44>>2]=0.0;break}case 1:{B=+(h|0)-+f[b+80>>2]*.5;o=k-+f[b+52>>2];p=q-+f[b+84>>2]*.5;f[t+32>>2]=B;f[t+36>>2]=o;f[t+40>>2]=p;f[t+44>>2]=0.0;k=B;break}case 2:{B=+(h|0)-+f[b+80>>2]*.5;o=q-+f[b+84>>2]*.5;p=k-+f[b+56>>2];f[t+32>>2]=B;f[t+36>>2]=o;f[t+40>>2]=p;f[t+44>>2]=0.0;k=B;break}default:{k=+f[t+32>>2];o=+f[t+36>>2];p=+f[t+40>>2]}}f[t+32>>2]=k*+f[b+108>>2];f[t+36>>2]=o*+f[b+112>>2];f[t+40>>2]=p*+f[b+116>>2];Cb[c[(c[d>>2]|0)+8>>2]&127](d,t,i,l);k=+Za[c[(c[b>>2]|0)+68>>2]&63](b,h,l);switch(c[b+104>>2]|0){case 0:{k=k-+f[b+48>>2];o=+(h|0)-+f[b+80>>2]*.5;p=q-+f[b+84>>2]*.5;f[t>>2]=k;f[t+4>>2]=o;f[t+8>>2]=p;f[t+12>>2]=0.0;break}case 1:{B=+(h|0)-+f[b+80>>2]*.5;o=k-+f[b+52>>2];p=q-+f[b+84>>2]*.5;f[t>>2]=B;f[t+4>>2]=o;f[t+8>>2]=p;f[t+12>>2]=0.0;k=B;break}case 2:{B=+(h|0)-+f[b+80>>2]*.5;o=q-+f[b+84>>2]*.5;p=k-+f[b+56>>2];f[t>>2]=B;f[t+4>>2]=o;f[t+8>>2]=p;f[t+12>>2]=0.0;k=B;break}default:{k=+f[t>>2];o=+f[t+4>>2];p=+f[t+8>>2]}}f[t>>2]=k*+f[b+108>>2];f[t+4>>2]=o*+f[b+112>>2];f[t+8>>2]=p*+f[b+116>>2];k=+Za[c[(c[b>>2]|0)+68>>2]&63](b,h,g);switch(c[b+104>>2]|0){case 0:{k=k-+f[b+48>>2];o=+(h|0)-+f[b+80>>2]*.5;p=+(g|0)-+f[b+84>>2]*.5;f[t+32>>2]=k;f[t+36>>2]=o;f[t+40>>2]=p;f[t+44>>2]=0.0;break}case 1:{B=+(h|0)-+f[b+80>>2]*.5;o=k-+f[b+52>>2];p=+(g|0)-+f[b+84>>2]*.5;f[t+32>>2]=B;f[t+36>>2]=o;f[t+40>>2]=p;f[t+44>>2]=0.0;k=B;break}case 2:{B=+(h|0)-+f[b+80>>2]*.5;o=+(g|0)-+f[b+84>>2]*.5;p=k-+f[b+56>>2];f[t+32>>2]=B;f[t+36>>2]=o;f[t+40>>2]=p;f[t+44>>2]=0.0;k=B;break}default:{k=+f[t+32>>2];o=+f[t+36>>2];p=+f[t+40>>2]}}f[t+32>>2]=k*+f[b+108>>2];f[t+36>>2]=o*+f[b+112>>2];f[t+40>>2]=p*+f[b+116>>2];Cb[c[(c[d>>2]|0)+8>>2]&127](d,t,i,l)}else s=16}else s=16;while(0);if((s|0)==16){s=0;k=+Za[c[(c[b>>2]|0)+68>>2]&63](b,i,l);switch(c[b+104>>2]|0){case 0:{k=k-+f[b+48>>2];o=+(i|0)-+f[b+80>>2]*.5;p=q-+f[b+84>>2]*.5;f[t>>2]=k;f[t+4>>2]=o;f[t+8>>2]=p;f[t+12>>2]=0.0;break}case 1:{B=+(i|0)-+f[b+80>>2]*.5;o=k-+f[b+52>>2];p=q-+f[b+84>>2]*.5;f[t>>2]=B;f[t+4>>2]=o;f[t+8>>2]=p;f[t+12>>2]=0.0;k=B;break}case 2:{B=+(i|0)-+f[b+80>>2]*.5;o=q-+f[b+84>>2]*.5;p=k-+f[b+56>>2];f[t>>2]=B;f[t+4>>2]=o;f[t+8>>2]=p;f[t+12>>2]=0.0;k=B;break}default:{k=+f[t>>2];o=+f[t+4>>2];p=+f[t+8>>2]}}f[t>>2]=k*+f[b+108>>2];f[t+4>>2]=o*+f[b+112>>2];f[t+8>>2]=p*+f[b+116>>2];h=i+1|0;k=+Za[c[(c[b>>2]|0)+68>>2]&63](b,h,l);switch(c[b+104>>2]|0){case 0:{k=k-+f[b+48>>2];o=+(h|0)-+f[b+80>>2]*.5;p=q-+f[b+84>>2]*.5;f[t+16>>2]=k;f[t+20>>2]=o;f[t+24>>2]=p;f[t+28>>2]=0.0;break}case 1:{B=+(h|0)-+f[b+80>>2]*.5;o=k-+f[b+52>>2];p=q-+f[b+84>>2]*.5;f[t+16>>2]=B;f[t+20>>2]=o;f[t+24>>2]=p;f[t+28>>2]=0.0;k=B;break}case 2:{B=+(h|0)-+f[b+80>>2]*.5;o=q-+f[b+84>>2]*.5;p=k-+f[b+56>>2];f[t+16>>2]=B;f[t+20>>2]=o;f[t+24>>2]=p;f[t+28>>2]=0.0;k=B;break}default:{k=+f[t+16>>2];o=+f[t+20>>2];p=+f[t+24>>2]}}f[t+16>>2]=k*+f[b+108>>2];f[t+20>>2]=o*+f[b+112>>2];f[t+24>>2]=p*+f[b+116>>2];k=+Za[c[(c[b>>2]|0)+68>>2]&63](b,h,g);switch(c[b+104>>2]|0){case 0:{k=k-+f[b+48>>2];o=+(h|0)-+f[b+80>>2]*.5;p=+(g|0)-+f[b+84>>2]*.5;f[t+32>>2]=k;f[t+36>>2]=o;f[t+40>>2]=p;f[t+44>>2]=0.0;break}case 1:{B=+(h|0)-+f[b+80>>2]*.5;o=k-+f[b+52>>2];p=+(g|0)-+f[b+84>>2]*.5;f[t+32>>2]=B;f[t+36>>2]=o;f[t+40>>2]=p;f[t+44>>2]=0.0;k=B;break}case 2:{B=+(h|0)-+f[b+80>>2]*.5;o=+(g|0)-+f[b+84>>2]*.5;p=k-+f[b+56>>2];f[t+32>>2]=B;f[t+36>>2]=o;f[t+40>>2]=p;f[t+44>>2]=0.0;k=B;break}default:{k=+f[t+32>>2];o=+f[t+36>>2];p=+f[t+40>>2]}}f[t+32>>2]=k*+f[b+108>>2];f[t+36>>2]=o*+f[b+112>>2];f[t+40>>2]=p*+f[b+116>>2];Cb[c[(c[d>>2]|0)+8>>2]&127](d,t,i,l);k=+Za[c[(c[b>>2]|0)+68>>2]&63](b,h,g);switch(c[b+104>>2]|0){case 0:{k=k-+f[b+48>>2];o=+(h|0)-+f[b+80>>2]*.5;p=+(g|0)-+f[b+84>>2]*.5;f[t+16>>2]=k;f[t+20>>2]=o;f[t+24>>2]=p;f[t+28>>2]=0.0;break}case 1:{B=+(h|0)-+f[b+80>>2]*.5;o=k-+f[b+52>>2];p=+(g|0)-+f[b+84>>2]*.5;f[t+16>>2]=B;f[t+20>>2]=o;f[t+24>>2]=p;f[t+28>>2]=0.0;k=B;break}case 2:{B=+(h|0)-+f[b+80>>2]*.5;o=+(g|0)-+f[b+84>>2]*.5;p=k-+f[b+56>>2];f[t+16>>2]=B;f[t+20>>2]=o;f[t+24>>2]=p;f[t+28>>2]=0.0;k=B;break}default:{k=+f[t+16>>2];o=+f[t+20>>2];p=+f[t+24>>2]}}f[t+16>>2]=k*+f[b+108>>2];f[t+20>>2]=o*+f[b+112>>2];f[t+24>>2]=p*+f[b+116>>2];k=+Za[c[(c[b>>2]|0)+68>>2]&63](b,i,g);switch(c[b+104>>2]|0){case 0:{k=k-+f[b+48>>2];o=+(i|0)-+f[b+80>>2]*.5;p=+(g|0)-+f[b+84>>2]*.5;f[t+32>>2]=k;f[t+36>>2]=o;f[t+40>>2]=p;f[t+44>>2]=0.0;break}case 1:{B=+(i|0)-+f[b+80>>2]*.5;o=k-+f[b+52>>2];p=+(g|0)-+f[b+84>>2]*.5;f[t+32>>2]=B;f[t+36>>2]=o;f[t+40>>2]=p;f[t+44>>2]=0.0;k=B;break}case 2:{B=+(i|0)-+f[b+80>>2]*.5;o=+(g|0)-+f[b+84>>2]*.5;p=k-+f[b+56>>2];f[t+32>>2]=B;f[t+36>>2]=o;f[t+40>>2]=p;f[t+44>>2]=0.0;k=B;break}default:{k=+f[t+32>>2];o=+f[t+36>>2];p=+f[t+40>>2]}}f[t+32>>2]=k*+f[b+108>>2];f[t+36>>2]=o*+f[b+112>>2];f[t+40>>2]=p*+f[b+116>>2];Cb[c[(c[d>>2]|0)+8>>2]&127](d,t,i,l)}if((h|0)==(j|0))break;else i=h}}else g=l+1|0;if((g|0)==(e|0))break;else l=g}Ta=t;return}function oc(b,d){b=b|0;d=d|0;var e=0,g=0.0,h=0.0,i=0.0,j=0.0,k=0.0,l=0,m=0.0,n=0.0,o=0,p=0,q=0.0,r=0.0,t=0,u=0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,A=0,B=0,C=0,D=0.0,E=0.0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0.0;Q=Ta;Ta=Ta+192|0;O=c[d+36>>2]|0;m=+f[(+f[O+88>>2]>0.0?b+16|0:b+20|0)>>2];if(a[O+100>>0]&1){Ta=Q;return}M=c[b+8>>2]|0;t=c[M+4>>2]|0;N=c[M+12>>2]|0;I=c[(c[b+4>>2]|0)+684>>2]|0;D=+f[O+8>>2]-+f[N+48>>2];q=+f[O+12>>2]-+f[N+52>>2];E=+f[O+16>>2]-+f[N+56>>2];z=1.0/+f[I+76>>2];y=(D*+f[N>>2]+q*+f[N+16>>2]+E*+f[N+32>>2])*z/3.0;F=y<0.0?~~(1.0-y):0;J=~~((y+ +(F|0)-+(~~(y+ +(F|0))|0))*3.0);n=(y+ +(F|0)-+(~~(y+ +(F|0))|0))*3.0-+(J|0);F=~~(y+ +(F|0))-F|0;y=z*(D*+f[N+4>>2]+q*+f[N+20>>2]+E*+f[N+36>>2])/3.0;H=y<0.0?~~(1.0-y):0;L=~~((y+ +(H|0)-+(~~(y+ +(H|0))|0))*3.0);r=(y+ +(H|0)-+(~~(y+ +(H|0))|0))*3.0-+(L|0);H=~~(y+ +(H|0))-H|0;E=z*(D*+f[N+8>>2]+q*+f[N+24>>2]+E*+f[N+40>>2])/3.0;G=E<0.0?~~(1.0-E):0;K=~~((E+ +(G|0)-+(~~(E+ +(G|0))|0))*3.0);q=(E+ +(G|0)-+(~~(E+ +(G|0))|0))*3.0-+(K|0);G=~~(E+ +(G|0))-G|0;u=(16?F>>>16:F)<<11^(F&65535)+16^(F&65535)+16<<16;u=u+(H&65535)+(11?u>>>11:u)|0;u=u^(16?H>>>16:H)<<11^u<<16;u=u+(G&65535)+(11?u>>>11:u)|0;u=u^(16?G>>>16:G)<<11^u<<16;u=u+(t&65535)+(11?u>>>11:u)|0;u=u^(16?t>>>16:t)<<11^u<<16;u=(11?u>>>11:u)+u|0;u=(5?(u<<3^u)>>>5:u<<3^u)+(u<<3^u)|0;u=(17?(u<<4^u)>>>17:u<<4^u)+(u<<4^u)|0;u=(6?(u<<25^u)>>>6:u<<25^u)+(u<<25^u)|0;o=c[I+60>>2]|0;p=c[I+68>>2]|0;d=c[p+(((u>>>0)%(o>>>0)|0)<<2)>>2]|0;c[I+96>>2]=(c[I+96>>2]|0)+1;e=(c[I+92>>2]|0)+1|0;c[I+92>>2]=e;a:do if(!d)l=10;else while(1){if(((((c[d+272>>2]|0)==(u|0)?(c[d+256>>2]|0)==(F|0):0)?(c[d+260>>2]|0)==(H|0):0)?(c[d+264>>2]|0)==(G|0):0)?(c[d+276>>2]|0)==(t|0):0)break a;d=c[d+280>>2]|0;e=e+1|0;c[I+92>>2]=e;if(!d){l=10;break}}while(0);b:do if((l|0)==10){C=c[I+84>>2]|0;c[I+84>>2]=C+1;if((C|0)>=(c[I+88>>2]|0)){c[6526]=(c[6526]|0)+1;c:do if((o|0)>0){e=p;l=0;while(1){C=e+(l<<2)|0;d=c[C>>2]|0;c[C>>2]=0;if(d|0)do{C=d;d=c[d+280>>2]|0;B$(C)}while((d|0)!=0);d=l+1|0;if((d|0)==(o|0))break c;e=c[I+68>>2]|0;l=d}}while(0);f[I+76>>2]=.25;c[I+80>>2]=0;c[I+84>>2]=0;c[I+92>>2]=1;c[I+96>>2]=1}d=pZ(284)|0;el(d|0,0,284)|0;c[d+280>>2]=c[p+(((u>>>0)%(o>>>0)|0)<<2)>>2];c[p+(((u>>>0)%(o>>>0)|0)<<2)>>2]=d;c[d+276>>2]=t;c[d+272>>2]=u;c[d+256>>2]=F;c[d+260>>2]=H;c[d+264>>2]=G;j=+f[I+76>>2];A=Q+120+4|0;B=Q+120+24|0;C=Q+120+44|0;g=j;e=0;while(1){i=j*(+(G|0)*3.0)+g*+(e|0);l=0;while(1){h=j*(+(H|0)*3.0)+g*+(l|0);f[Q+48>>2]=+(F|0)*3.0*j+g*0.0;f[Q+48+4>>2]=h;f[Q+48+8>>2]=i;f[Q+48+12>>2]=0.0;p=c[d+276>>2]|0;c[Q+120>>2]=1065353216;c[A>>2]=0;c[A+4>>2]=0;c[A+8>>2]=0;c[A+12>>2]=0;c[Q+120+20>>2]=1065353216;c[B>>2]=0;c[B+4>>2]=0;c[B+8>>2]=0;c[B+12>>2]=0;c[Q+120+40>>2]=1065353216;c[C>>2]=0;c[C+4>>2]=0;c[C+8>>2]=0;c[C+12>>2]=0;c[C+16>>2]=0;o=c[p+4>>2]|0;if((o|0)<20){g=+Pc(Q+48|0,p,Q+120|0,Q+64|0);u=c[d+276>>2]|0;o=c[u+4>>2]|0;t=u;u=u+4|0}else{t=p;u=p+4|0;g=0.0}f[d+(l<<4)+(e<<2)>>2]=g;f[Q+48>>2]=+(F|0)*3.0*j+ +f[I+76>>2];f[Q+48+4>>2]=h;f[Q+48+8>>2]=i;f[Q+48+12>>2]=0.0;c[Q+120>>2]=1065353216;c[A>>2]=0;c[A+4>>2]=0;c[A+8>>2]=0;c[A+12>>2]=0;c[Q+120+20>>2]=1065353216;c[B>>2]=0;c[B+4>>2]=0;c[B+8>>2]=0;c[B+12>>2]=0;c[Q+120+40>>2]=1065353216;c[C>>2]=0;c[C+4>>2]=0;c[C+8>>2]=0;c[C+12>>2]=0;c[C+16>>2]=0;if((o|0)<20){g=+Pc(Q+48|0,t,Q+120|0,Q+64|0);o=c[d+276>>2]|0;p=o;o=o+4|0}else{p=t;o=u;g=0.0}f[d+64+(l<<4)+(e<<2)>>2]=g;f[Q+48>>2]=+(F|0)*3.0*j+ +f[I+76>>2]*2.0;f[Q+48+4>>2]=h;f[Q+48+8>>2]=i;f[Q+48+12>>2]=0.0;c[Q+120>>2]=1065353216;c[A>>2]=0;c[A+4>>2]=0;c[A+8>>2]=0;c[A+12>>2]=0;c[Q+120+20>>2]=1065353216;c[B>>2]=0;c[B+4>>2]=0;c[B+8>>2]=0;c[B+12>>2]=0;c[Q+120+40>>2]=1065353216;c[C>>2]=0;c[C+4>>2]=0;c[C+8>>2]=0;c[C+12>>2]=0;c[C+16>>2]=0;if((c[o>>2]|0)<20){g=+Pc(Q+48|0,p,Q+120|0,Q+64|0);o=c[d+276>>2]|0;p=o;o=o+4|0}else g=0.0;f[d+128+(l<<4)+(e<<2)>>2]=g;f[Q+48>>2]=+(F|0)*3.0*j+ +f[I+76>>2]*3.0;f[Q+48+4>>2]=h;f[Q+48+8>>2]=i;f[Q+48+12>>2]=0.0;c[Q+120>>2]=1065353216;c[A>>2]=0;c[A+4>>2]=0;c[A+8>>2]=0;c[A+12>>2]=0;c[Q+120+20>>2]=1065353216;c[B>>2]=0;c[B+4>>2]=0;c[B+8>>2]=0;c[B+12>>2]=0;c[Q+120+40>>2]=1065353216;c[C>>2]=0;c[C+4>>2]=0;c[C+8>>2]=0;c[C+12>>2]=0;c[C+16>>2]=0;if((c[o>>2]|0)<20)g=+Pc(Q+48|0,p,Q+120|0,Q+64|0);else g=0.0;f[d+192+(l<<4)+(e<<2)>>2]=g;l=l+1|0;if((l|0)==4)break;g=+f[I+76>>2]}e=e+1|0;if((e|0)==4)break b;g=+f[I+76>>2]}}while(0);c[d+268>>2]=c[I+80>>2];g=+f[d+(J<<6)+(L<<4)+(K<<2)>>2];x=+f[d+(J+1<<6)+(L<<4)+(K<<2)>>2];v=+f[d+(J+1<<6)+(L+1<<4)+(K<<2)>>2];w=+f[d+(J<<6)+(L+1<<4)+(K<<2)>>2];E=+f[d+(J<<6)+(L<<4)+(K+1<<2)>>2];D=+f[d+(J+1<<6)+(L<<4)+(K+1<<2)>>2];y=+f[d+(J+1<<6)+(L+1<<4)+(K+1<<2)>>2];z=+f[d+(J<<6)+(L+1<<4)+(K+1<<2)>>2];j=x-g+r*(v-w-(x-g))+q*(D-E+r*(y-z-(D-E))-(x-g+r*(v-w-(x-g))));i=w-g+n*(v-x-(w-g))+q*(z-E+n*(y-D-(z-E))-(w-g+n*(v-x-(w-g))));h=E-g+n*(D-x-(E-g))+r*(z-w+n*(y-v-(z-w))-(E-g+n*(D-x-(E-g))));k=1.0/+s(+(h*h+(j*j+i*i)));g=g+n*(x-g)+r*(w+n*(v-w)-(g+n*(x-g)));g=g+q*(E+n*(D-E)+r*(z+n*(y-z)-(E+n*(D-E)))-g)-m;if(!(g<0.0)){Ta=Q;return}t=c[M+8>>2]|0;E=+f[N>>2]*(j*k)+ +f[N+4>>2]*(i*k)+ +f[N+8>>2]*(h*k);D=j*k*+f[N+16>>2]+i*k*+f[N+20>>2]+h*k*+f[N+24>>2];z=j*k*+f[N+32>>2]+i*k*+f[N+36>>2]+h*k*+f[N+40>>2];y=-(E*(+f[O+8>>2]-g*E)+D*(+f[O+12>>2]-g*D)+z*(+f[O+16>>2]-g*z));r=+f[O+88>>2];d=c[b+12>>2]|0;if(!d)q=0.0;else q=+f[d+344>>2];if(!(r+q>0.0)){Ta=Q;return}if(!d)l=(c[(c[b+8>>2]|0)+8>>2]|0)+4|0;else l=d+4|0;if((a[25456]|0)==0?kP(25456)|0:0){d=26108;e=d+48|0;do{c[d>>2]=0;d=d+4|0}while((d|0)<(e|0));kO(25456)}e=c[b+12>>2]|0;k=+f[O+8>>2];w=k-+f[l+48>>2];m=+f[O+12>>2];x=m-+f[l+52>>2];n=+f[O+16>>2];v=n-+f[l+56>>2];if(!e){N=c[b+4>>2]|0;g=0.0;h=0.0;i=0.0;d=N;j=+f[N+452>>2]}else{i=+f[e+332>>2];h=+f[e+336>>2];R=+f[e+328>>2];d=c[b+4>>2]|0;j=+f[d+452>>2];g=(v*i-x*h+ +f[e+312>>2])*j;h=(+f[e+316>>2]+(w*h-v*R))*j;i=(x*R-w*i+ +f[e+320>>2])*j}k=k-+f[O+24>>2]-g;m=m-+f[O+28>>2]-h;R=n-+f[O+32>>2]-i;g=+f[d+316>>2]*+f[(c[(c[b+8>>2]|0)+8>>2]|0)+224>>2];Ff(Q+120|0,j,r,q,(e|0)==0?26108:e+264|0,w,x,v);c[Q+32>>2]=c[Q+120>>2];c[Q+32+4>>2]=c[Q+120+4>>2];c[Q+32+8>>2]=c[Q+120+8>>2];c[Q+32+12>>2]=c[Q+120+12>>2];c[Q+16>>2]=c[Q+120+16>>2];c[Q+16+4>>2]=c[Q+120+16+4>>2];c[Q+16+8>>2]=c[Q+120+16+8>>2];c[Q+16+12>>2]=c[Q+120+16+12>>2];c[Q>>2]=c[Q+120+32>>2];c[Q+4>>2]=c[Q+120+32+4>>2];c[Q+8>>2]=c[Q+120+32+8>>2];c[Q+12>>2]=c[Q+120+32+12>>2];p=c[b+4>>2]|0;h=r*+f[p+452>>2];g=(R-z*(k*E+m*D+R*z))*(R-z*(k*E+m*D+R*z))+((k-E*(k*E+m*D+R*z))*(k-E*(k*E+m*D+R*z))+(m-D*(k*E+m*D+R*z))*(m-D*(k*E+m*D+R*z)))>2]|0)+8>>2]|0)+204>>2]&3|0)==0?p+324|0:p+328|0)>>2]|0;d=c[p+812>>2]|0;if((d|0)==(c[p+816>>2]|0)?(P=(d|0)==0?1:d<<1,(d|0)<(P|0)):0){if(!P)e=0;else{c[6879]=(c[6879]|0)+1;d=Zb((P*104|3)+16|0)|0;if(!d)e=0;else{c[(d+4+15&-16)+-4>>2]=d;e=d+4+15&-16}d=c[p+812>>2]|0}if((d|0)>0){l=0;do{N=e+(l*104|0)|0;M=c[p+820>>2]|0;L=M+(l*104|0)|0;c[N>>2]=c[L>>2];c[N+4>>2]=c[L+4>>2];c[N+8>>2]=c[L+8>>2];c[N+12>>2]=c[L+12>>2];c[N+16>>2]=c[L+16>>2];c[N+20>>2]=c[L+20>>2];c[N+24>>2]=c[L+24>>2];N=e+(l*104|0)+28|0;L=M+(l*104|0)+28|0;c[N>>2]=c[L>>2];c[N+4>>2]=c[L+4>>2];c[N+8>>2]=c[L+8>>2];c[N+12>>2]=c[L+12>>2];N=M+(l*104|0)+44|0;L=e+(l*104|0)+44|0;c[L>>2]=c[N>>2];c[L+4>>2]=c[N+4>>2];c[L+8>>2]=c[N+8>>2];c[L+12>>2]=c[N+12>>2];L=M+(l*104|0)+60|0;N=e+(l*104|0)+60|0;c[N>>2]=c[L>>2];c[N+4>>2]=c[L+4>>2];c[N+8>>2]=c[L+8>>2];c[N+12>>2]=c[L+12>>2];N=e+(l*104|0)+76|0;M=M+(l*104|0)+76|0;c[N>>2]=c[M>>2];c[N+4>>2]=c[M+4>>2];c[N+8>>2]=c[M+8>>2];c[N+12>>2]=c[M+12>>2];c[N+16>>2]=c[M+16>>2];c[N+20>>2]=c[M+20>>2];c[N+24>>2]=c[M+24>>2];l=l+1|0}while((l|0)!=(d|0))}d=c[p+820>>2]|0;if(d|0){if(a[p+824>>0]|0){c[6880]=(c[6880]|0)+1;kd(c[d+-4>>2]|0)}c[p+820>>2]=0}a[p+824>>0]=1;c[p+820>>2]=e;c[p+816>>2]=P;d=c[p+812>>2]|0}N=c[p+820>>2]|0;c[N+(d*104|0)>>2]=t;f[N+(d*104|0)+4>>2]=E;f[N+(d*104|0)+8>>2]=D;f[N+(d*104|0)+12>>2]=z;f[N+(d*104|0)+16>>2]=0.0;f[N+(d*104|0)+20>>2]=y;c[N+(d*104|0)+24>>2]=O;P=N+(d*104|0)+28|0;c[P>>2]=c[Q+32>>2];c[P+4>>2]=c[Q+32+4>>2];c[P+8>>2]=c[Q+32+8>>2];c[P+12>>2]=c[Q+32+12>>2];P=N+(d*104|0)+44|0;c[P>>2]=c[Q+16>>2];c[P+4>>2]=c[Q+16+4>>2];c[P+8>>2]=c[Q+16+8>>2];c[P+12>>2]=c[Q+16+12>>2];P=N+(d*104|0)+60|0;c[P>>2]=c[Q>>2];c[P+4>>2]=c[Q+4>>2];c[P+8>>2]=c[Q+8>>2];c[P+12>>2]=c[Q+12>>2];P=N+(d*104|0)+76|0;f[P>>2]=w;f[N+(d*104|0)+80>>2]=x;f[N+(d*104|0)+84>>2]=v;f[N+(d*104|0)+88>>2]=0.0;f[P+16>>2]=h;f[P+20>>2]=g;c[P+24>>2]=o;c[p+812>>2]=(c[p+812>>2]|0)+1;d=c[b+12>>2]|0;if(!d){Ta=Q;return}if(c[d+204>>2]&3|0){Ta=Q;return}if((c[d+216>>2]&-2|0)!=4)c[d+216>>2]=1;f[d+220>>2]=0.0;Ta=Q;return}function pc(b,d){b=b|0;d=+d;var e=0,g=0.0,h=0,i=0,j=0,k=0.0,l=0.0,m=0,n=0,o=0.0,p=0,q=0,r=0,t=0.0,u=0.0,v=0.0,w=0.0,x=0,y=0,z=0.0,A=0.0,B=0.0,C=0.0,D=0.0,E=0.0,F=0.0,G=0.0,H=0.0,I=0.0,J=0.0,K=0.0,L=0.0,M=0.0,N=0.0,O=0.0,P=0.0,Q=0.0;q=Ta;Ta=Ta+96|0;n=c[b+156>>2]|0;if(!n){Ta=q;return}j=c[b+8>>2]|0;if((j|0)<(n|0)){if((c[b+12>>2]|0)<(n|0)){c[6879]=(c[6879]|0)+1;e=Zb((n<<4|3)+16|0)|0;if(!e)i=0;else{c[(e+4+15&-16)+-4>>2]=e;i=e+4+15&-16}e=c[b+8>>2]|0;if((e|0)>0){h=0;do{m=i+(h<<4)|0;r=(c[b+16>>2]|0)+(h<<4)|0;c[m>>2]=c[r>>2];c[m+4>>2]=c[r+4>>2];c[m+8>>2]=c[r+8>>2];c[m+12>>2]=c[r+12>>2];h=h+1|0}while((h|0)!=(e|0))}e=c[b+16>>2]|0;if(e|0){if(a[b+20>>0]|0){c[6880]=(c[6880]|0)+1;kd(c[e+-4>>2]|0)}c[b+16>>2]=0}a[b+20>>0]=1;c[b+16>>2]=i;c[b+12>>2]=n;h=b+16|0}else h=b+16|0;e=j;do{r=(c[h>>2]|0)+(e<<4)|0;c[r>>2]=c[q+48>>2];c[r+4>>2]=c[q+48+4>>2];c[r+8>>2]=c[q+48+8>>2];c[r+12>>2]=c[q+48+12>>2];e=e+1|0}while((e|0)!=(n|0))}c[b+8>>2]=n;j=c[b+28>>2]|0;if((j|0)<(n|0)){if((c[b+32>>2]|0)<(n|0)){c[6879]=(c[6879]|0)+1;e=Zb((n<<4|3)+16|0)|0;if(!e)i=0;else{c[(e+4+15&-16)+-4>>2]=e;i=e+4+15&-16}e=c[b+28>>2]|0;if((e|0)>0){h=0;do{r=i+(h<<4)|0;m=(c[b+36>>2]|0)+(h<<4)|0;c[r>>2]=c[m>>2];c[r+4>>2]=c[m+4>>2];c[r+8>>2]=c[m+8>>2];c[r+12>>2]=c[m+12>>2];h=h+1|0}while((h|0)!=(e|0))}e=c[b+36>>2]|0;if(e|0){if(a[b+40>>0]|0){c[6880]=(c[6880]|0)+1;kd(c[e+-4>>2]|0)}c[b+36>>2]=0}a[b+40>>0]=1;c[b+36>>2]=i;c[b+32>>2]=n;h=b+36|0}else h=b+36|0;e=j;do{r=(c[h>>2]|0)+(e<<4)|0;c[r>>2]=c[q+48>>2];c[r+4>>2]=c[q+48+4>>2];c[r+8>>2]=c[q+48+8>>2];c[r+12>>2]=c[q+48+12>>2];e=e+1|0}while((e|0)!=(n|0))}c[b+28>>2]=n;m=c[b+48>>2]|0;if((m|0)<(n|0)){do if((c[b+52>>2]|0)<(n|0)){c[6879]=(c[6879]|0)+1;e=Zb((n<<2|3)+16|0)|0;if(!e)e=0;else{c[(e+4+15&-16)+-4>>2]=e;e=e+4+15&-16}h=c[b+48>>2]|0;i=c[b+56>>2]|0;if((h|0)<=0){if(!i){a[b+60>>0]=1;c[b+56>>2]=e;c[b+52>>2]=n;h=n<<2;break}}else{j=0;do{c[e+(j<<2)>>2]=c[i+(j<<2)>>2];j=j+1|0}while((j|0)!=(h|0))}if(a[b+60>>0]|0){c[6880]=(c[6880]|0)+1;kd(c[i+-4>>2]|0)}a[b+60>>0]=1;c[b+56>>2]=e;c[b+52>>2]=n;h=n<<2}else{h=n<<2;e=c[b+56>>2]|0}while(0);el(e+(m<<2)|0,0,h-(m<<2)|0)|0}c[b+48>>2]=n;m=c[b+68>>2]|0;if((m|0)<(n|0)){do if((c[b+72>>2]|0)<(n|0)){c[6879]=(c[6879]|0)+1;e=Zb((n<<2|3)+16|0)|0;if(!e)e=0;else{c[(e+4+15&-16)+-4>>2]=e;e=e+4+15&-16}h=c[b+68>>2]|0;i=c[b+76>>2]|0;if((h|0)<=0){if(!i){a[b+80>>0]=1;c[b+76>>2]=e;c[b+72>>2]=n;h=n<<2;break}}else{j=0;do{c[e+(j<<2)>>2]=c[i+(j<<2)>>2];j=j+1|0}while((j|0)!=(h|0))}if(a[b+80>>0]|0){c[6880]=(c[6880]|0)+1;kd(c[i+-4>>2]|0)}a[b+80>>0]=1;c[b+76>>2]=e;c[b+72>>2]=n;h=n<<2}else{h=n<<2;e=c[b+76>>2]|0}while(0);el(e+(m<<2)|0,0,h-(m<<2)|0)|0}c[b+68>>2]=n;e=c[b+156>>2]|0;if((e|0)<=0){Ta=q;return}h=c[b+76>>2]|0;i=c[b+56>>2]|0;j=0;do{f[h+(j<<2)>>2]=0.0;f[i+(j<<2)>>2]=0.0;j=j+1|0}while((j|0)!=(e|0));j=0;do{h=c[b+164>>2]|0;i=c[h+(j*284|0)+88>>2]|0;if(i){x=h+(j*284|0)+92|0;c[q+48>>2]=c[x>>2];c[q+48+4>>2]=c[x+4>>2];c[q+48+8>>2]=c[x+8>>2];c[q+48+12>>2]=c[x+12>>2];x=h+(j*284|0)+108|0;c[q+48+16>>2]=c[x>>2];c[q+48+16+4>>2]=c[x+4>>2];c[q+48+16+8>>2]=c[x+8>>2];c[q+48+16+12>>2]=c[x+12>>2];x=h+(j*284|0)+124|0;c[q+48+32>>2]=c[x>>2];c[q+48+32+4>>2]=c[x+4>>2];c[q+48+32+8>>2]=c[x+8>>2];c[q+48+32+12>>2]=c[x+12>>2];x=c[b+120>>2]|0;e=c[q+48+16+(x<<2)>>2]|0;y=c[q+48+32+(x<<2)>>2]|0;m=c[b+36>>2]|0;c[m+(j<<4)>>2]=c[q+48+(x<<2)>>2];c[m+(j<<4)+4>>2]=e;c[m+(j<<4)+8>>2]=y;f[m+(j<<4)+12>>2]=0.0;m=c[b+36>>2]|0;y=m+(j<<4)|0;z=+f[y>>2];e=h+(j*284|0)|0;g=+f[e>>2];x=m+(j<<4)+4|0;w=+f[x>>2];r=h+(j*284|0)+4|0;k=+f[r>>2];m=m+(j<<4)+8|0;t=+f[m>>2];n=h+(j*284|0)+8|0;v=+f[n>>2];l=z-g*(z*g+w*k+t*v);u=w-k*(z*g+w*k+t*v);v=t-v*(z*g+w*k+t*v);t=1.0/+s(+(v*v+(l*l+u*u)));f[y>>2]=l*t;f[x>>2]=u*t;f[m>>2]=v*t;k=+f[r>>2];w=+f[n>>2];g=+f[e>>2];e=c[b+16>>2]|0;f[e+(j<<4)>>2]=k*(v*t)-w*(u*t);f[e+(j<<4)+4>>2]=w*(l*t)-v*t*g;f[e+(j<<4)+8>>2]=u*t*g-k*(l*t);f[e+(j<<4)+12>>2]=0.0;e=c[b+16>>2]|0;n=e+(j<<4)|0;t=+f[n>>2];r=e+(j<<4)+4|0;l=+f[r>>2];e=e+(j<<4)+8|0;k=+f[e>>2];g=1.0/+s(+(t*t+l*l+k*k));f[n>>2]=t*g;f[r>>2]=l*g;f[e>>2]=k*g;e=c[b+116>>2]|0;r=c[b+36>>2]|0;g=+f[r+(j<<4)>>2];k=+f[r+(j<<4)+4>>2];l=+f[r+(j<<4)+8>>2];if(g*g+k*k+l*l>1.100000023841858)g=0.0;else{C=+f[h+(j*284|0)+16>>2];G=C-+f[e+52>>2];E=+f[h+(j*284|0)+20>>2];I=E-+f[e+56>>2];J=+f[h+(j*284|0)+24>>2];L=J-+f[e+60>>2];C=C-+f[i+52>>2];E=E-+f[i+56>>2];J=J-+f[i+60>>2];F=+f[e+332>>2];M=+f[e+336>>2];H=+f[e+328>>2];B=+f[i+332>>2];K=+f[i+336>>2];D=+f[i+328>>2];A=(l*I-k*L)*+f[e+4>>2]+(g*L-l*G)*+f[e+20>>2]+(k*G-g*I)*+f[e+36>>2];t=(l*I-k*L)*+f[e+8>>2]+(g*L-l*G)*+f[e+24>>2]+(k*G-g*I)*+f[e+40>>2];u=(l*I-k*L)*+f[e+12>>2]+(g*L-l*G)*+f[e+28>>2]+(k*G-g*I)*+f[e+44>>2];v=(E*-l-J*-k)*+f[i+4>>2]+(J*-g-C*-l)*+f[i+20>>2]+(C*-k-E*-g)*+f[i+36>>2];w=(E*-l-J*-k)*+f[i+8>>2]+(J*-g-C*-l)*+f[i+24>>2]+(C*-k-E*-g)*+f[i+40>>2];z=(E*-l-J*-k)*+f[i+12>>2]+(J*-g-C*-l)*+f[i+28>>2]+(C*-k-E*-g)*+f[i+44>>2];g=(g*(L*F-I*M+ +f[e+312>>2]-(J*B-E*K+ +f[i+312>>2]))+k*(+f[e+316>>2]+(G*M-L*H)-(+f[i+316>>2]+(C*K-J*D)))+l*(I*H-G*F+ +f[e+320>>2]-(E*D-C*B+ +f[i+320>>2])))*-.20000000298023224*(1.0/(+f[i+344>>2]+(+f[e+344>>2]+(A*(A*+f[e+396>>2])+t*(t*+f[e+400>>2])+u*(u*+f[e+404>>2])))+(v*(v*+f[i+396>>2])+w*(w*+f[i+400>>2])+z*(z*+f[i+404>>2]))))}f[(c[b+76>>2]|0)+(j<<2)>>2]=g;e=c[b+156>>2]|0}j=j+1|0}while((j|0)<(e|0));if((e|0)<=0){Ta=q;return}i=c[b+164>>2]|0;h=0;m=0;while(1){e=c[i+(m*284|0)+88>>2]|0;if(e){g=+f[i+(m*284|0)+252>>2];if(g!=0.0){e=i;g=g*d}else{M=+f[i+(m*284|0)+256>>2];M=M==0.0?0.0:M;y=c[b+116>>2]|0;x=c[b+16>>2]|0;G=+f[i+(m*284|0)+16>>2];E=+f[i+(m*284|0)+20>>2];A=+f[i+(m*284|0)+24>>2];w=+f[x+(m<<4)>>2];D=+f[x+(m<<4)+4>>2];g=+f[x+(m<<4)+8>>2];O=G-+f[y+52>>2];P=E-+f[y+56>>2];k=A-+f[y+60>>2];l=+f[y+264>>2]*(P*g-k*D)+ +f[y+280>>2]*(k*w-O*g)+(O*D-P*w)*+f[y+296>>2];Q=(P*g-k*D)*+f[y+268>>2]+(k*w-O*g)*+f[y+284>>2]+(O*D-P*w)*+f[y+300>>2];N=(P*g-k*D)*+f[y+272>>2]+(k*w-O*g)*+f[y+288>>2]+(O*D-P*w)*+f[y+304>>2];K=G-+f[e+52>>2];I=E-+f[e+56>>2];C=A-+f[e+60>>2];v=(D*K-w*I)*+f[e+296>>2]+(+f[e+264>>2]*(g*I-D*C)+ +f[e+280>>2]*(w*C-g*K));t=(g*I-D*C)*+f[e+268>>2]+(w*C-g*K)*+f[e+284>>2]+(D*K-w*I)*+f[e+300>>2];u=(g*I-D*C)*+f[e+272>>2]+(w*C-g*K)*+f[e+288>>2]+(D*K-w*I)*+f[e+304>>2];G=G-+f[y+52>>2];E=E-+f[y+56>>2];A=A-+f[y+60>>2];H=+f[y+332>>2];z=+f[y+336>>2];F=+f[y+328>>2];L=+f[e+332>>2];B=+f[e+336>>2];J=+f[e+328>>2];g=-(1.0/(+f[y+344>>2]+(g*(P*l-O*Q)+(w*(k*Q-P*N)+D*(O*N-k*l)))+(+f[e+344>>2]+(g*(I*v-K*t)+(w*(C*t-I*u)+D*(K*u-C*v)))))*((A*H-E*z+ +f[y+312>>2]-(C*L-I*B+ +f[e+312>>2]))*w+(+f[y+316>>2]+(G*z-A*F)-(+f[e+316>>2]+(K*B-C*J)))*D+(E*F-G*H+ +f[y+320>>2]-(I*J-K*L+ +f[e+320>>2]))*g));g=M>2]|0;g=g<-M?-M:g}y=(c[b+56>>2]|0)+(m<<2)|0;f[y>>2]=0.0;j=e+(m*284|0)+280|0;f[j>>2]=1.0;l=+f[i+(m*284|0)+276>>2]*d*+f[i+(m*284|0)+228>>2];f[y>>2]=g;k=g*.5;g=+f[(c[b+76>>2]|0)+(m<<2)>>2];if(k*k+g*g>l*l){Q=l/+s(+(k*k+g*g));f[j>>2]=Q*+f[j>>2];h=1}}else{f[(c[b+56>>2]|0)+(m<<2)>>2]=0.0;f[i+(m*284|0)+280>>2]=1.0;e=i}m=m+1|0;j=c[b+156>>2]|0;if((m|0)>=(j|0))break;else i=e}if(h&(j|0)>0){e=c[b+76>>2]|0;i=0;do{h=e+(i<<2)|0;if(+f[h>>2]!=0.0?(p=(c[b+164>>2]|0)+(i*284|0)+280|0,o=+f[p>>2],o<1.0):0){y=(c[b+56>>2]|0)+(i<<2)|0;f[y>>2]=o*+f[y>>2];f[h>>2]=+f[p>>2]*+f[h>>2]}i=i+1|0}while((i|0)!=(j|0))}if((j|0)<=0){Ta=q;return}n=0;do{h=c[b+164>>2]|0;e=c[b+116>>2]|0;i=h+(n*284|0)+16|0;k=+f[i>>2]-+f[e+52>>2];m=h+(n*284|0)+20|0;d=+f[m>>2]-+f[e+56>>2];j=h+(n*284|0)+24|0;l=+f[j>>2]-+f[e+60>>2];f[q+48>>2]=k;f[q+48+4>>2]=d;f[q+48+8>>2]=l;f[q+48+12>>2]=0.0;g=+f[(c[b+56>>2]|0)+(n<<2)>>2];if(g!=0.0){y=c[b+16>>2]|0;P=g*+f[y+(n<<4)+4>>2];Q=g*+f[y+(n<<4)+8>>2];f[q+32>>2]=g*+f[y+(n<<4)>>2];f[q+32+4>>2]=P;f[q+32+8>>2]=Q;f[q+32+12>>2]=0.0;ql(e,q+32|0,q+48|0)}g=+f[(c[b+76>>2]|0)+(n<<2)>>2];if(g!=0.0){y=c[(c[b+164>>2]|0)+(n*284|0)+88>>2]|0;P=+f[m>>2]-+f[y+56>>2];O=+f[j>>2]-+f[y+60>>2];f[q+32>>2]=+f[i>>2]-+f[y+52>>2];f[q+32+4>>2]=P;f[q+32+8>>2]=O;f[q+32+12>>2]=0.0;x=c[b+36>>2]|0;O=+f[x+(n<<4)>>2]*g;P=g*+f[x+(n<<4)+4>>2];Q=g*+f[x+(n<<4)+8>>2];f[q+16>>2]=O;f[q+16+4>>2]=P;f[q+16+8>>2]=Q;f[q+16+12>>2]=0.0;x=c[b+116>>2]|0;r=c[b+124>>2]|0;K=+f[x+4+(r<<2)>>2];L=+f[x+20+(r<<2)>>2];M=+f[x+36+(r<<2)>>2];N=(K*k+L*d+M*l)*(1.0-+f[h+(n*284|0)+244>>2]);f[q+48>>2]=k-K*N;f[q+48+4>>2]=d-L*N;f[q+48+8>>2]=l-M*N;ql(x,q+16|0,q+48|0);f[q>>2]=-O;f[q+4>>2]=-P;f[q+8>>2]=-Q;f[q+12>>2]=0.0;ql(y,q,q+32|0)}n=n+1|0}while((n|0)<(c[b+156>>2]|0));Ta=q;return} -function qc(b,e,g,h,i,j,k){b=b|0;e=e|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;var l=0.0,m=0.0,n=0.0,o=0,p=0,q=0.0,r=0.0,t=0,u=0,v=0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0,C=0.0,D=0.0,E=0.0,F=0.0,G=0.0,H=0.0,I=0.0,J=0.0,K=0.0,L=0.0,M=0.0,N=0.0;v=Ta;Ta=Ta+9824|0;o=j;p=o+36|0;do{c[o>>2]=0;o=o+4|0}while((o|0)<(p|0));c[v+9680>>2]=b;c[v+9680+4>>2]=g;F=+f[h>>2];L=+f[e>>2];E=+f[h+16>>2];K=+f[e+16>>2];D=+f[h+32>>2];J=+f[e+32>>2];I=+f[e+4>>2];H=+f[e+20>>2];G=+f[e+36>>2];z=+f[e+8>>2];x=+f[e+24>>2];l=+f[e+40>>2];C=+f[h+4>>2];B=+f[h+20>>2];A=+f[h+36>>2];y=+f[h+8>>2];w=+f[h+24>>2];m=+f[h+40>>2];f[v+9680+8>>2]=F*L+E*K+D*J;f[v+9680+12>>2]=F*I+E*H+D*G;f[v+9680+16>>2]=F*z+E*x+D*l;f[v+9680+20>>2]=0.0;f[v+9680+24>>2]=L*C+K*B+J*A;f[v+9680+28>>2]=I*C+H*B+G*A;f[v+9680+32>>2]=z*C+x*B+l*A;f[v+9680+36>>2]=0.0;f[v+9680+40>>2]=L*y+K*w+J*m;f[v+9680+44>>2]=I*y+H*w+G*m;f[v+9680+48>>2]=z*y+x*w+l*m;f[v+9680+52>>2]=0.0;N=+f[h+48>>2]-+f[e+48>>2];M=+f[h+52>>2]-+f[e+52>>2];q=+f[h+56>>2]-+f[e+56>>2];n=N*+f[e>>2]+M*+f[e+16>>2]+q*+f[e+32>>2];r=N*+f[e+4>>2]+M*+f[e+20>>2]+q*+f[e+36>>2];q=N*+f[e+8>>2]+M*+f[e+24>>2]+q*+f[e+40>>2];f[v+9680+56>>2]=F*L+E*K+D*J;f[v+9680+60>>2]=L*C+K*B+J*A;f[v+9680+64>>2]=L*y+K*w+J*m;f[v+9680+68>>2]=0.0;f[v+9680+72>>2]=F*I+E*H+D*G;f[v+9680+76>>2]=I*C+H*B+G*A;f[v+9680+80>>2]=I*y+H*w+G*m;f[v+9680+84>>2]=0.0;f[v+9680+88>>2]=F*z+E*x+D*l;f[v+9680+92>>2]=z*C+x*B+l*A;f[v+9680+96>>2]=z*y+x*w+l*m;f[v+9680+100>>2]=0.0;f[v+9680+104>>2]=n;f[v+9680+108>>2]=r;f[v+9680+112>>2]=q;f[v+9680+116>>2]=0.0;c[v+9680+120>>2]=k?103:102;c[v+9680+124>>2]=0;c[v+9296+364>>2]=0;c[v+9296+128>>2]=0;c[v+9296+128+4>>2]=0;c[v+9296+128+8>>2]=0;c[v+9296+128+12>>2]=0;c[v+9296+376>>2]=2;c[v+9296+368>>2]=0;f[v+9296+144>>2]=0.0;q=-+f[i+4>>2];r=-+f[i+8>>2];f[v+9808>>2]=-+f[i>>2];f[v+9808+4>>2]=q;f[v+9808+8>>2]=r;f[v+9808+12>>2]=0.0;switch(sc(v+9296|0,v+9680|0,v+9808|0)|0){case 1:{c[v+9280>>2]=0;c[v+9280+4>>2]=0;c[v+9280+8>>2]=0;c[v+9280+12>>2]=0;c[v>>2]=9;c[v+9276>>2]=0;c[v+40>>2]=0;c[v+40+4>>2]=0;c[v+40+8>>2]=0;c[v+40+12>>2]=0;c[v+40+16>>2]=0;g=0;do{k=128-g+-1|0;c[v+2108+(k*56|0)+44>>2]=0;b=c[v+9288>>2]|0;c[v+2108+(k*56|0)+48>>2]=b;if(b|0)c[b+44>>2]=v+2108+(k*56|0);c[v+9288>>2]=v+2108+(k*56|0);g=g+1|0}while((g|0)!=128);c[v+9292>>2]=128;n=+f[i>>2];q=+f[i+4>>2];m=+f[i+8>>2];t=c[v+9296+372>>2]|0;do if((c[t+32>>2]|0)>>>0>1?Gc(v+9296|0)|0:0){b=c[v+9280>>2]|0;if(b|0){o=c[v+9284>>2]|0;p=c[v+9292>>2]|0;do{k=b+44|0;h=b+48|0;g=c[h>>2]|0;if(g|0)c[g+44>>2]=c[k>>2];g=c[k>>2]|0;if(g|0)c[g+48>>2]=c[h>>2];if((c[v+9280>>2]|0)==(b|0))c[v+9280>>2]=c[h>>2];o=o+-1|0;c[b+44>>2]=0;c[h>>2]=c[v+9288>>2];g=c[v+9288>>2]|0;if(g|0)c[g+44>>2]=b;c[v+9288>>2]=b;p=p+1|0;b=c[v+9280>>2]|0}while((b|0)!=0);c[v+9284>>2]=o;c[v+9292>>2]=p}c[v>>2]=0;c[v+9276>>2]=0;b=c[t>>2]|0;g=c[t+12>>2]|0;N=+f[g+16>>2];F=+f[b+16>>2]-N;H=+f[g+20>>2];I=+f[b+20>>2]-H;K=+f[g+24>>2];L=+f[b+24>>2]-K;g=c[t+4>>2]|0;J=+f[g+16>>2]-N;M=+f[g+20>>2]-H;G=+f[g+24>>2]-K;k=c[t+8>>2]|0;N=+f[k+16>>2]-N;H=+f[k+20>>2]-H;K=+f[k+24>>2]-K;if(F*M*K+(I*G*N+L*J*H-F*G*H-I*J*K)-L*M*N<0.0){c[t>>2]=g;c[t+4>>2]=b;h=c[t+16>>2]|0;c[t+16>>2]=c[t+20>>2];c[t+20>>2]=h;h=g}else{h=b;b=g}h=Me(v,h,b,k,1)|0;o=Me(v,c[t+4>>2]|0,c[t>>2]|0,c[t+12>>2]|0,1)|0;p=Me(v,c[t+8>>2]|0,c[t+4>>2]|0,c[t+12>>2]|0,1)|0;i=Me(v,c[t>>2]|0,c[t+8>>2]|0,c[t+12>>2]|0,1)|0;if((c[v+9284>>2]|0)==4){g=c[v+9280>>2]|0;l=+f[g+16>>2];b=c[g+48>>2]|0;if(b){m=l*l;k=g;while(1){l=+f[b+16>>2];g=l*l>2]|0;if(!b)break;else m=g?l*l:m}g=k;l=+f[k+16>>2]}r=+f[g>>2];q=+f[g+4>>2];n=+f[g+8>>2];m=+f[g+12>>2];b=c[g+20>>2]|0;k=c[g+24>>2]|0;t=c[g+28>>2]|0;a[h+52>>0]=0;c[h+32>>2]=o;a[o+52>>0]=0;c[o+32>>2]=h;a[h+53>>0]=0;c[h+36>>2]=p;a[p+52>>0]=1;c[p+32>>2]=h;a[h+54>>0]=0;c[h+40>>2]=i;a[i+52>>0]=2;c[i+32>>2]=h;a[o+53>>0]=2;c[o+36>>2]=i;a[i+54>>0]=1;c[i+40>>2]=o;a[o+54>>0]=1;c[o+40>>2]=p;a[p+53>>0]=2;c[p+36>>2]=o;a[p+54>>0]=1;c[p+40>>2]=i;a[i+53>>0]=2;c[i+36>>2]=p;c[v>>2]=0;i=g;o=b;h=k;p=t;t=0;while(1){b=c[v+9276>>2]|0;if(b>>>0>=64){u=45;break}c[v+9808>>2]=0;c[v+9808+4>>2]=0;c[v+9808+8>>2]=0;c[v+9276>>2]=b+1;t=t+1|0;a[i+55>>0]=t;g=i+4|0;k=i+8|0;Hh(v+9296|0,+f[i>>2],+f[g>>2],+f[k>>2],v+60+(b<<5)|0);if(!(+f[i>>2]*+f[v+60+(b<<5)+16>>2]+ +f[g>>2]*+f[v+60+(b<<5)+20>>2]+ +f[k>>2]*+f[v+60+(b<<5)+24>>2]-+f[i+16>>2]>9.999999747378752e-05)){b=7;u=44;break}k=0;do{g=qh(v,t,v+60+(b<<5)|0,c[i+32+(k<<2)>>2]|0,d[i+52+k>>0]|0,v+9808|0)|0;k=k+1|0}while(g&k>>>0<3);if(!(g&(c[v+9808+8>>2]|0)>>>0>2)){b=4;u=44;break}k=c[v+9808>>2]|0;g=c[v+9808+4>>2]|0;a[k+53>>0]=2;c[k+36>>2]=g;a[g+54>>0]=1;c[g+40>>2]=k;g=i+44|0;k=i+48|0;b=c[k>>2]|0;if(b|0)c[b+44>>2]=c[g>>2];b=c[g>>2]|0;if(b|0)c[b+48>>2]=c[k>>2];if((c[v+9280>>2]|0)==(i|0))c[v+9280>>2]=c[k>>2];c[v+9284>>2]=(c[v+9284>>2]|0)+-1;c[i+44>>2]=0;c[k>>2]=c[v+9288>>2];b=c[v+9288>>2]|0;if(b|0)c[b+44>>2]=i;c[v+9288>>2]=i;c[v+9292>>2]=(c[v+9292>>2]|0)+1;g=c[v+9280>>2]|0;l=+f[g+16>>2];b=c[g+48>>2]|0;if(b){m=l*l;k=g;while(1){l=+f[b+16>>2];g=l*l>2]|0;if(!b)break;else m=g?l*l:m}g=k;l=+f[k+16>>2]}r=+f[g>>2];q=+f[g+4>>2];n=+f[g+8>>2];m=+f[g+12>>2];k=c[g+20>>2]|0;h=c[g+24>>2]|0;b=c[g+28>>2]|0;if(t>>>0>=255){g=h;break}else{i=g;o=k;p=b}}if((u|0)==44){c[v>>2]=b;k=o;g=h;b=p}else if((u|0)==45){c[v>>2]=6;k=o;g=h;b=p}J=r*l;H=q*l;N=n*l;f[v+40>>2]=r;f[v+44>>2]=q;f[v+48>>2]=n;f[v+52>>2]=m;f[v+56>>2]=l;c[v+36>>2]=3;c[v+4>>2]=k;c[v+8>>2]=g;c[v+12>>2]=b;t=g;K=+f[t+16>>2]-J;F=+f[t+20>>2]-H;I=+f[t+24>>2]-N;i=b;E=+f[i+16>>2]-J;G=+f[i+20>>2]-H;L=+f[i+24>>2]-N;L=+s(+((K*G-F*E)*(K*G-F*E)+((F*L-I*G)*(F*L-I*G)+(I*E-K*L)*(I*E-K*L))));f[v+20>>2]=L;K=+f[i+16>>2]-J;E=+f[i+20>>2]-H;I=+f[i+24>>2]-N;i=k;G=+f[i+16>>2]-J;F=+f[i+20>>2]-H;M=+f[i+24>>2]-N;M=+s(+((K*F-E*G)*(K*F-E*G)+((E*M-I*F)*(E*M-I*F)+(I*G-K*M)*(I*G-K*M))));f[v+24>>2]=M;K=+f[i+16>>2]-J;G=+f[i+20>>2]-H;I=+f[i+24>>2]-N;J=+f[t+16>>2]-J;H=+f[t+20>>2]-H;N=+f[t+24>>2]-N;N=+s(+((K*H-G*J)*(K*H-G*J)+((G*N-I*H)*(G*N-I*H)+(I*J-K*N)*(I*J-K*N))));f[v+20>>2]=L/(L+M+N);f[v+24>>2]=M/(L+M+N);f[v+28>>2]=N/(L+M+N);if((c[v>>2]|0)!=9)if(!(c[v+36>>2]|0)){n=0.0;m=0.0;l=0.0;break}else{h=v+36|0;u=54;break}c[j>>2]=3;e=0;Ta=v;return e|0}else u=48}else u=48;while(0);if((u|0)==48){c[v>>2]=8;f[v+40>>2]=n;f[v+44>>2]=q;f[v+48>>2]=m;f[v+52>>2]=0.0;l=+s(+(n*n+q*q+m*m));if(l>0.0){f[v+40>>2]=1.0/l*n;f[v+44>>2]=1.0/l*q;f[v+48>>2]=1.0/l*m}else{c[v+40>>2]=1065353216;c[v+44>>2]=0;c[v+48>>2]=0}f[v+52>>2]=0.0;f[v+56>>2]=0.0;c[v+36>>2]=1;c[v+4>>2]=c[t>>2];f[v+20>>2]=1.0;h=v+36|0;u=54}if((u|0)==54){l=0.0;m=0.0;n=0.0;k=0;do{b=c[v+9680+120>>2]|0;u=c[v+9680+124>>2]|0;g=(c[v+9680>>2]|0)+(1?u>>1:u)|0;if(u&1)b=c[(c[g>>2]|0)+b>>2]|0;zb[b&127](v+9808|0,g,c[v+4+(k<<2)>>2]|0);N=+f[v+20+(k<<2)>>2];l=l+ +f[v+9808>>2]*N;m=m+N*+f[v+9808+4>>2];n=n+N*+f[v+9808+8>>2];k=k+1|0}while(k>>>0<(c[h>>2]|0)>>>0)}c[j>>2]=1;N=l*+f[e+16>>2]+m*+f[e+20>>2]+n*+f[e+24>>2]+ +f[e+52>>2];K=l*+f[e+32>>2]+m*+f[e+36>>2]+n*+f[e+40>>2]+ +f[e+56>>2];f[j+4>>2]=l*+f[e>>2]+m*+f[e+4>>2]+n*+f[e+8>>2]+ +f[e+48>>2];f[j+8>>2]=N;f[j+12>>2]=K;f[j+16>>2]=0.0;K=+f[v+40>>2];N=+f[v+56>>2];L=+f[v+44>>2];M=+f[v+48>>2];F=l-K*N;G=m-N*L;H=n-N*M;I=F*+f[e+16>>2]+G*+f[e+20>>2]+H*+f[e+24>>2]+ +f[e+52>>2];J=F*+f[e+32>>2]+G*+f[e+36>>2]+H*+f[e+40>>2]+ +f[e+56>>2];f[j+20>>2]=F*+f[e>>2]+G*+f[e+4>>2]+H*+f[e+8>>2]+ +f[e+48>>2];f[j+24>>2]=I;f[j+28>>2]=J;f[j+32>>2]=0.0;f[j+36>>2]=-K;f[j+40>>2]=-L;f[j+44>>2]=-M;f[j+48>>2]=0.0;f[j+52>>2]=-N;e=1;Ta=v;return e|0}case 2:{c[j>>2]=2;e=0;Ta=v;return e|0}default:{e=0;Ta=v;return e|0}}return 0}function rc(b){b=b|0;var d=0.0,e=0,g=0,i=0.0,j=0.0,k=0.0,l=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0,y=0.0,z=0.0,A=0.0,B=0.0,C=0.0,D=0.0,E=0.0,F=0.0,G=0.0,H=0.0,I=0.0,J=0.0,K=0.0,L=0.0,M=0.0,N=0.0,O=0.0,P=0.0,Q=0.0;x=Ta;Ta=Ta+176|0;if(!(a[b+738>>0]|0)){Ta=x;return}f[b+36>>2]=0.0;f[b+744>>2]=0.0;if(!(a[b+736>>0]|0)){e=c[b+28>>2]|0;l=+f[b+600>>2];m=+f[b+604>>2];t=+f[b+608>>2];v=l*+f[e+20>>2]+m*+f[e+24>>2]+t*+f[e+28>>2]+ +f[e+56>>2];g=c[b+32>>2]|0;n=+f[b+664>>2];o=+f[b+668>>2];q=+f[b+672>>2];w=n*+f[g+20>>2]+o*+f[g+24>>2]+q*+f[g+28>>2]+ +f[g+56>>2];u=n*+f[g+36>>2]+o*+f[g+40>>2]+q*+f[g+44>>2]+ +f[g+60>>2];p=l*+f[e+4>>2]+m*+f[e+8>>2]+t*+f[e+12>>2]+ +f[e+52>>2];t=l*+f[e+36>>2]+m*+f[e+40>>2]+t*+f[e+44>>2]+ +f[e+60>>2];q=n*+f[g+4>>2]+o*+f[g+8>>2]+q*+f[g+12>>2]+ +f[g+52>>2];if((q-p)*(q-p)+(w-v)*(w-v)+(u-t)*(u-t)>1.1920928955078125e-07){k=1.0/+s(+((q-p)*(q-p)+(w-v)*(w-v)+(u-t)*(u-t)));f[x>>2]=(q-p)*k;f[x+4>>2]=(w-v)*k;f[x+8>>2]=(u-t)*k;c[x+12>>2]=0;j=(u-t)*k;d=(w-v)*k;k=(q-p)*k}else{c[x>>2]=1065353216;c[x+4>>2]=0;c[x+8>>2]=0;f[x+12>>2]=0.0;j=0.0;d=0.0;k=1.0}if(+r(+j)>.7071067690849304){y=j*j+d*d;o=1.0/+s(+y);n=-(j*o);d=d*o;i=d;l=k*n;m=0.0;o=y*o;d=-(k*d)}else{m=k*k+d*d;l=1.0/+s(+m);d=-(d*l);o=k*l;i=0.0;l=m*l;m=d;n=o;o=-(j*o);d=j*d}f[x+16>>2]=m;f[x+20>>2]=n;f[x+24>>2]=i;f[x+32>>2]=o;f[x+36>>2]=d;f[x+40>>2]=l;e=c[b+28>>2]|0;c[x+128>>2]=c[e+4>>2];c[x+128+4>>2]=c[e+20>>2];c[x+128+8>>2]=c[e+36>>2];f[x+128+12>>2]=0.0;c[x+128+16>>2]=c[e+8>>2];c[x+128+20>>2]=c[e+24>>2];c[x+128+24>>2]=c[e+40>>2];f[x+128+28>>2]=0.0;c[x+128+32>>2]=c[e+12>>2];c[x+128+36>>2]=c[e+28>>2];c[x+128+40>>2]=c[e+44>>2];f[x+128+44>>2]=0.0;g=c[b+32>>2]|0;c[x+80>>2]=c[g+4>>2];c[x+80+4>>2]=c[g+20>>2];c[x+80+8>>2]=c[g+36>>2];f[x+80+12>>2]=0.0;c[x+80+16>>2]=c[g+8>>2];c[x+80+20>>2]=c[g+24>>2];c[x+80+24>>2]=c[g+40>>2];f[x+80+28>>2]=0.0;c[x+80+32>>2]=c[g+12>>2];c[x+80+36>>2]=c[g+28>>2];c[x+80+40>>2]=c[g+44>>2];f[x+80+44>>2]=0.0;y=v-+f[e+56>>2];o=t-+f[e+60>>2];f[x+64>>2]=p-+f[e+52>>2];f[x+64+4>>2]=y;f[x+64+8>>2]=o;f[x+64+12>>2]=0.0;o=w-+f[g+56>>2];y=u-+f[g+60>>2];f[x+48>>2]=q-+f[g+52>>2];f[x+48+4>>2]=o;f[x+48+8>>2]=y;f[x+48+12>>2]=0.0;Tg(b+48|0,x+128|0,x+80|0,x+64|0,x+48|0,x,e+396|0,+f[e+344>>2],g+396|0,+f[g+344>>2]);g=c[b+28>>2]|0;c[x+128>>2]=c[g+4>>2];c[x+128+4>>2]=c[g+20>>2];c[x+128+8>>2]=c[g+36>>2];f[x+128+12>>2]=0.0;c[x+128+16>>2]=c[g+8>>2];c[x+128+20>>2]=c[g+24>>2];c[x+128+24>>2]=c[g+40>>2];f[x+128+28>>2]=0.0;c[x+128+32>>2]=c[g+12>>2];c[x+128+36>>2]=c[g+28>>2];c[x+128+40>>2]=c[g+44>>2];f[x+128+44>>2]=0.0;e=c[b+32>>2]|0;c[x+80>>2]=c[e+4>>2];c[x+80+4>>2]=c[e+20>>2];c[x+80+8>>2]=c[e+36>>2];f[x+80+12>>2]=0.0;c[x+80+16>>2]=c[e+8>>2];c[x+80+20>>2]=c[e+24>>2];c[x+80+24>>2]=c[e+40>>2];f[x+80+28>>2]=0.0;c[x+80+32>>2]=c[e+12>>2];c[x+80+36>>2]=c[e+28>>2];c[x+80+40>>2]=c[e+44>>2];f[x+80+44>>2]=0.0;y=v-+f[g+56>>2];o=t-+f[g+60>>2];f[x+64>>2]=p-+f[g+52>>2];f[x+64+4>>2]=y;f[x+64+8>>2]=o;f[x+64+12>>2]=0.0;o=w-+f[e+56>>2];y=u-+f[e+60>>2];f[x+48>>2]=q-+f[e+52>>2];f[x+48+4>>2]=o;f[x+48+8>>2]=y;f[x+48+12>>2]=0.0;Tg(b+132|0,x+128|0,x+80|0,x+64|0,x+48|0,x+16|0,g+396|0,+f[g+344>>2],e+396|0,+f[e+344>>2]);e=c[b+28>>2]|0;c[x+128>>2]=c[e+4>>2];c[x+128+4>>2]=c[e+20>>2];c[x+128+8>>2]=c[e+36>>2];f[x+128+12>>2]=0.0;c[x+128+16>>2]=c[e+8>>2];c[x+128+20>>2]=c[e+24>>2];c[x+128+24>>2]=c[e+40>>2];f[x+128+28>>2]=0.0;c[x+128+32>>2]=c[e+12>>2];c[x+128+36>>2]=c[e+28>>2];c[x+128+40>>2]=c[e+44>>2];f[x+128+44>>2]=0.0;g=c[b+32>>2]|0;c[x+80>>2]=c[g+4>>2];c[x+80+4>>2]=c[g+20>>2];c[x+80+8>>2]=c[g+36>>2];f[x+80+12>>2]=0.0;c[x+80+16>>2]=c[g+8>>2];c[x+80+20>>2]=c[g+24>>2];c[x+80+24>>2]=c[g+40>>2];f[x+80+28>>2]=0.0;c[x+80+32>>2]=c[g+12>>2];c[x+80+36>>2]=c[g+28>>2];c[x+80+40>>2]=c[g+44>>2];f[x+80+44>>2]=0.0;v=v-+f[e+56>>2];y=t-+f[e+60>>2];f[x+64>>2]=p-+f[e+52>>2];f[x+64+4>>2]=v;f[x+64+8>>2]=y;f[x+64+12>>2]=0.0;w=w-+f[g+56>>2];y=u-+f[g+60>>2];f[x+48>>2]=q-+f[g+52>>2];f[x+48+4>>2]=w;f[x+48+8>>2]=y;f[x+48+12>>2]=0.0;Tg(b+216|0,x+128|0,x+80|0,x+64|0,x+48|0,x+32|0,e+396|0,+f[e+344>>2],g+396|0,+f[g+344>>2])}e=c[b+560>>2]|0;g=c[b+576>>2]|0;p=+f[b+592>>2];if(+r(+p)>.7071067690849304){n=(c[h>>2]=g,+f[h>>2]);o=1.0/+s(+(p*p+n*n));y=(c[h>>2]=e,+f[h>>2]);d=n;i=y;j=0.0;k=o*n;l=-(p*o);m=(p*p+n*n)*o;n=-(o*n*y);o=y*-(p*o)}else{w=(c[h>>2]=e,+f[h>>2]);y=(c[h>>2]=g,+f[h>>2]);o=1.0/+s(+(w*w+y*y));d=y;i=w;j=-(o*y);k=0.0;l=o*w;m=-(p*(o*w));n=p*-(o*y);o=(w*w+y*y)*o}e=c[b+28>>2]|0;Q=+f[e+4>>2];K=+f[e+8>>2];D=+f[e+12>>2];z=j*Q+l*K+k*D;P=+f[e+20>>2];B=+f[e+24>>2];I=+f[e+28>>2];q=j*P+l*B+k*I;O=+f[e+36>>2];t=+f[e+40>>2];F=+f[e+44>>2];M=j*O+l*t+k*F;E=m*Q+n*K+o*D;G=m*P+n*B+o*I;J=m*O+n*t+o*F;u=Q*i+K*d+p*D;w=P*i+B*d+p*I;i=O*i+t*d+p*F;g=c[b+32>>2]|0;A=+f[g+4>>2];j=+f[g+20>>2];k=+f[g+36>>2];o=+f[g+8>>2];p=+f[g+24>>2];v=+f[g+40>>2];H=+f[g+12>>2];m=+f[g+28>>2];L=+f[g+44>>2];c[b+300>>2]=0;c[b+300+4>>2]=0;c[b+300+8>>2]=0;c[b+300+12>>2]=0;f[b+316>>2]=z*Q+q*P+M*O;f[b+320>>2]=z*K+q*B+M*t;f[b+324>>2]=z*D+q*I+M*F;f[b+328>>2]=0.0;f[b+332>>2]=A*-z+j*-q+k*-M;f[b+336>>2]=o*-z+p*-q+v*-M;f[b+340>>2]=H*-z+m*-q+L*-M;f[b+344>>2]=0.0;l=(z*Q+q*P+M*O)*+f[e+396>>2];d=(z*K+q*B+M*t)*+f[e+400>>2];C=(z*D+q*I+M*F)*+f[e+404>>2];f[b+348>>2]=l;f[b+352>>2]=d;f[b+356>>2]=C;f[b+360>>2]=0.0;n=(A*-z+j*-q+k*-M)*+f[g+396>>2];y=(o*-z+p*-q+v*-M)*+f[g+400>>2];N=(H*-z+m*-q+L*-M)*+f[g+404>>2];f[b+364>>2]=n;f[b+368>>2]=y;f[b+372>>2]=N;f[b+376>>2]=0.0;f[b+380>>2]=(z*Q+q*P+M*O)*l+(z*K+q*B+M*t)*d+(z*D+q*I+M*F)*C+((A*-z+j*-q+k*-M)*n+(o*-z+p*-q+v*-M)*y+(H*-z+m*-q+L*-M)*N);N=+f[e+4>>2];M=+f[e+20>>2];L=+f[e+36>>2];q=+f[e+8>>2];m=+f[e+24>>2];z=+f[e+40>>2];H=+f[e+12>>2];y=+f[e+28>>2];v=+f[e+44>>2];p=+f[g+4>>2];o=+f[g+20>>2];n=+f[g+36>>2];k=+f[g+8>>2];j=+f[g+24>>2];A=+f[g+40>>2];C=+f[g+12>>2];F=+f[g+28>>2];I=+f[g+44>>2];c[b+384>>2]=0;c[b+384+4>>2]=0;c[b+384+8>>2]=0;c[b+384+12>>2]=0;f[b+400>>2]=E*N+G*M+J*L;f[b+404>>2]=E*q+G*m+J*z;f[b+408>>2]=E*H+G*y+J*v;f[b+412>>2]=0.0;f[b+416>>2]=p*-E+o*-G+n*-J;f[b+420>>2]=k*-E+j*-G+A*-J;f[b+424>>2]=C*-E+F*-G+I*-J;f[b+428>>2]=0.0;d=(E*N+G*M+J*L)*+f[e+396>>2];D=(E*q+G*m+J*z)*+f[e+400>>2];t=(E*H+G*y+J*v)*+f[e+404>>2];f[b+432>>2]=d;f[b+436>>2]=D;f[b+440>>2]=t;f[b+444>>2]=0.0;l=(p*-E+o*-G+n*-J)*+f[g+396>>2];B=(k*-E+j*-G+A*-J)*+f[g+400>>2];K=(C*-E+F*-G+I*-J)*+f[g+404>>2];f[b+448>>2]=l;f[b+452>>2]=B;f[b+456>>2]=K;f[b+460>>2]=0.0;f[b+464>>2]=(E*N+G*M+J*L)*d+(E*q+G*m+J*z)*D+(E*H+G*y+J*v)*t+((p*-E+o*-G+n*-J)*l+(k*-E+j*-G+A*-J)*B+(C*-E+F*-G+I*-J)*K);K=+f[e+4>>2];J=+f[e+20>>2];I=+f[e+36>>2];G=+f[e+8>>2];F=+f[e+24>>2];E=+f[e+40>>2];C=+f[e+12>>2];B=+f[e+28>>2];A=+f[e+44>>2];j=+f[g+4>>2];k=+f[g+20>>2];l=+f[g+36>>2];n=+f[g+8>>2];o=+f[g+24>>2];p=+f[g+40>>2];t=+f[g+12>>2];v=+f[g+28>>2];y=+f[g+44>>2];c[b+468>>2]=0;c[b+468+4>>2]=0;c[b+468+8>>2]=0;c[b+468+12>>2]=0;f[b+484>>2]=u*K+w*J+i*I;f[b+488>>2]=u*G+w*F+i*E;f[b+492>>2]=u*C+w*B+i*A;f[b+496>>2]=0.0;f[b+500>>2]=j*-u+k*-w+l*-i;f[b+504>>2]=n*-u+o*-w+p*-i;f[b+508>>2]=t*-u+v*-w+y*-i;f[b+512>>2]=0.0;H=(u*K+w*J+i*I)*+f[e+396>>2];D=(u*G+w*F+i*E)*+f[e+400>>2];z=(u*C+w*B+i*A)*+f[e+404>>2];f[b+516>>2]=H;f[b+520>>2]=D;f[b+524>>2]=z;f[b+528>>2]=0.0;m=(j*-u+k*-w+l*-i)*+f[g+396>>2];q=(n*-u+o*-w+p*-i)*+f[g+400>>2];d=(t*-u+v*-w+y*-i)*+f[g+404>>2];f[b+532>>2]=m;f[b+536>>2]=q;f[b+540>>2]=d;f[b+544>>2]=0.0;f[b+548>>2]=(u*K+w*J+i*I)*H+(u*G+w*F+i*E)*D+(u*C+w*B+i*A)*z+((j*-u+k*-w+l*-i)*m+(n*-u+o*-w+p*-i)*q+(t*-u+v*-w+y*-i)*d);f[b+724>>2]=0.0;d=+kj(b,e+4|0,g+4|0);f[b+728>>2]=d;f[b+708>>2]=0.0;f[b+712>>2]=0.0;a[b+716>>0]=0;i=+f[b+692>>2];do if(i>=0.0){d=(d-+f[b+688>>2])%6.2831854820251465;if(!(d<-3.1415927410125732)){if(d>3.1415927410125732)d=d+-6.2831854820251465}else d=d+6.2831854820251465;if(d<-i){a[b+716>>0]=1;f[b+708>>2]=-(i+d);f[b+712>>2]=1.0;break}if(d>i){a[b+716>>0]=1;f[b+708>>2]=i-d;f[b+712>>2]=-1.0}}while(0);e=c[b+28>>2]|0;M=+f[b+560>>2];N=+f[b+576>>2];Q=+f[b+592>>2];O=M*+f[e+4>>2]+N*+f[e+8>>2]+Q*+f[e+12>>2];P=M*+f[e+20>>2]+N*+f[e+24>>2]+Q*+f[e+28>>2];Q=M*+f[e+36>>2]+N*+f[e+40>>2]+Q*+f[e+44>>2];g=c[b+32>>2]|0;f[b+720>>2]=1.0/(O*(O*+f[e+264>>2]+P*+f[e+280>>2]+Q*+f[e+296>>2])+P*(O*+f[e+268>>2]+P*+f[e+284>>2]+Q*+f[e+300>>2])+Q*(O*+f[e+272>>2]+P*+f[e+288>>2]+Q*+f[e+304>>2])+(O*(O*+f[g+264>>2]+P*+f[g+280>>2]+Q*+f[g+296>>2])+P*(O*+f[g+268>>2]+P*+f[g+284>>2]+Q*+f[g+300>>2])+Q*(O*+f[g+272>>2]+P*+f[g+288>>2]+Q*+f[g+304>>2])));Ta=x;return}function sc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,g=0,i=0.0,j=0.0,k=0.0,l=0.0,m=0.0,n=0.0,o=0,p=0,q=0,r=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0,C=0,D=0.0,E=0,F=0,G=0.0,H=0.0,I=0,J=0,K=0;J=Ta;Ta=Ta+112|0;c[a+348>>2]=a+220;c[a+352>>2]=a+252;c[a+356>>2]=a+284;c[a+360>>2]=a+316;c[a+364>>2]=4;c[a+368>>2]=0;c[a+376>>2]=0;F=c[b+4>>2]|0;c[a>>2]=c[b>>2];c[a+4>>2]=F;c[a+8>>2]=c[b+8>>2];c[a+8+4>>2]=c[b+8+4>>2];c[a+8+8>>2]=c[b+8+8>>2];c[a+8+12>>2]=c[b+8+12>>2];c[a+24>>2]=c[b+24>>2];c[a+24+4>>2]=c[b+24+4>>2];c[a+24+8>>2]=c[b+24+8>>2];c[a+24+12>>2]=c[b+24+12>>2];c[a+40>>2]=c[b+40>>2];c[a+40+4>>2]=c[b+40+4>>2];c[a+40+8>>2]=c[b+40+8>>2];c[a+40+12>>2]=c[b+40+12>>2];c[a+56>>2]=c[b+56>>2];c[a+56+4>>2]=c[b+56+4>>2];c[a+56+8>>2]=c[b+56+8>>2];c[a+56+12>>2]=c[b+56+12>>2];c[a+72>>2]=c[b+72>>2];c[a+72+4>>2]=c[b+72+4>>2];c[a+72+8>>2]=c[b+72+8>>2];c[a+72+12>>2]=c[b+72+12>>2];c[a+88>>2]=c[b+88>>2];c[a+88+4>>2]=c[b+88+4>>2];c[a+88+8>>2]=c[b+88+8>>2];c[a+88+12>>2]=c[b+88+12>>2];c[a+104>>2]=c[b+104>>2];c[a+104+4>>2]=c[b+104+4>>2];c[a+104+8>>2]=c[b+104+8>>2];c[a+104+12>>2]=c[b+104+12>>2];F=c[b+124>>2]|0;c[a+120>>2]=c[b+120>>2];c[a+124>>2]=F;f[a+144>>2]=0.0;c[a+180>>2]=0;c[a+128>>2]=c[d>>2];c[a+128+4>>2]=c[d+4>>2];c[a+128+8>>2]=c[d+8>>2];c[a+128+12>>2]=c[d+12>>2];e=+f[a+128>>2];k=+f[a+132>>2];l=+f[a+136>>2];if(e*e+k*k+l*l>0.0){f[a+164>>2]=0.0;c[a+364>>2]=3;c[a+148>>2]=a+316;c[a+180>>2]=1;Hh(a,-e,-k,-l,a+316|0);d=a+164|0;b=a+148|0}else{f[a+164>>2]=0.0;c[a+364>>2]=3;c[a+148>>2]=a+316;c[a+180>>2]=1;Hh(a,1.0,0.0,0.0,a+316|0);d=a+164|0;b=a+148|0}f[d>>2]=1.0;C=(c[b>>2]|0)+16|0;c[a+128>>2]=c[C>>2];c[a+128+4>>2]=c[C+4>>2];c[a+128+8>>2]=c[C+8>>2];c[a+128+12>>2]=c[C+12>>2];c[J+16+48>>2]=c[C>>2];c[J+16+48+4>>2]=c[C+4>>2];c[J+16+48+8>>2]=c[C+8>>2];c[J+16+48+12>>2]=c[C+12>>2];c[J+16+32>>2]=c[C>>2];c[J+16+32+4>>2]=c[C+4>>2];c[J+16+32+8>>2]=c[C+8>>2];c[J+16+32+12>>2]=c[C+12>>2];c[J+16+16>>2]=c[C>>2];c[J+16+16+4>>2]=c[C+4>>2];c[J+16+16+8>>2]=c[C+8>>2];c[J+16+16+12>>2]=c[C+12>>2];c[J+16>>2]=c[C>>2];c[J+16+4>>2]=c[C+4>>2];c[J+16+8>>2]=c[C+8>>2];c[J+16+12>>2]=c[C+12>>2];C=c[a+368>>2]|0;i=+f[a+128>>2];m=+f[a+132>>2];j=+f[a+136>>2];D=0.0;E=0;F=0;e=e*e+k*k+l*l;a:while(1){d=1-C|0;o=a+148+(C*36|0)|0;l=+s(+(i*i+m*m+j*j));if(l<9.999999747378752e-05){I=6;break}q=a+148+(C*36|0)+32|0;g=c[q>>2]|0;f[a+148+(C*36|0)+16+(g<<2)>>2]=0.0;b=(c[a+364>>2]|0)+-1|0;c[a+364>>2]=b;b=c[a+348+(b<<2)>>2]|0;c[a+148+(C*36|0)+(g<<2)>>2]=b;c[q>>2]=g+1;Hh(a,-i,-m,-j,b);b=c[q>>2]|0;g=c[a+148+(C*36|0)+(b+-1<<2)>>2]|0;i=+f[g+16>>2];j=+f[g+20>>2];k=+f[g+24>>2];z=i-+f[J+16>>2];A=j-+f[J+16+4>>2];B=k-+f[J+16+8>>2];if(z*z+A*A+B*B<9.999999747378752e-05){I=9;break}z=i-+f[J+16+16>>2];A=j-+f[J+16+20>>2];B=k-+f[J+16+24>>2];if(z*z+A*A+B*B<9.999999747378752e-05){I=9;break}z=i-+f[J+16+32>>2];A=j-+f[J+16+36>>2];B=k-+f[J+16+40>>2];if(z*z+A*A+B*B<9.999999747378752e-05){I=9;break}z=i-+f[J+16+48>>2];A=j-+f[J+16+52>>2];B=k-+f[J+16+56>>2];if(z*z+A*A+B*B<9.999999747378752e-05){I=9;break}E=E+1&3;p=J+16+(E<<4)|0;c[p>>2]=c[g+16>>2];c[p+4>>2]=c[g+16+4>>2];c[p+8>>2]=c[g+16+8>>2];c[p+12>>2]=c[g+16+12>>2];B=(+f[a+128>>2]*i+ +f[a+132>>2]*j+ +f[a+136>>2]*k)/l;D=B>D?B:D;if(l-D-l*9.999999747378752e-05<=0.0){I=10;break}c[J+80>>2]=0;b:do switch(b|0){case 2:{p=c[o>>2]|0;o=c[a+148+(C*36|0)+4>>2]|0;e=+f[o+16>>2];i=+f[p+16>>2];j=+f[o+20>>2];k=+f[p+20>>2];l=+f[o+24>>2];m=+f[p+24>>2];if(!((e-i)*(e-i)+(j-k)*(j-k)+(l-m)*(l-m)>0.0)){I=46;break a}n=-(i*(e-i)+k*(j-k)+m*(l-m))/((e-i)*(e-i)+(j-k)*(j-k)+(l-m)*(l-m));if(n>=1.0){f[J>>2]=0.0;f[J+4>>2]=1.0;c[J+80>>2]=2;e=e*e+j*j+l*l;break b}if(!(n<=0.0)){f[J+4>>2]=n;f[J>>2]=1.0-n;c[J+80>>2]=3;e=(m+(l-m)*n)*(m+(l-m)*n)+((i+(e-i)*n)*(i+(e-i)*n)+(k+(j-k)*n)*(k+(j-k)*n));break b}else{f[J>>2]=1.0;f[J+4>>2]=0.0;c[J+80>>2]=1;e=i*i+k*k+m*m;break b}}case 3:{e=+Vd((c[o>>2]|0)+16|0,(c[a+148+(C*36|0)+4>>2]|0)+16|0,(c[a+148+(C*36|0)+8>>2]|0)+16|0,J,J+80|0);break}case 4:{b=c[o>>2]|0;g=c[a+148+(C*36|0)+4>>2]|0;o=c[a+148+(C*36|0)+8>>2]|0;p=c[a+148+(C*36|0)+12>>2]|0;r=+f[b+16>>2];t=+f[p+16>>2];u=+f[b+20>>2];v=+f[p+20>>2];w=+f[b+24>>2];x=+f[p+24>>2];i=+f[g+16>>2];j=+f[g+20>>2];k=+f[g+24>>2];y=+f[o+16>>2];z=+f[o+20>>2];A=+f[o+24>>2];B=(r-t)*(j-v)*(A-x)+((u-v)*(k-x)*(y-t)+(w-x)*(i-t)*(z-v)-(r-t)*(k-x)*(z-v)-(u-v)*(i-t)*(A-x))-(w-x)*(j-v)*(y-t);if(!(B==B&0.0==0.0&B!=0.0&B*(w*((u-j)*(i-y)-(r-i)*(j-z))+(r*((w-k)*(j-z)-(u-j)*(k-A))+u*((r-i)*(k-A)-(w-k)*(i-y))))<=0.0)){I=46;break a}c[J+88>>2]=0;c[J+88+4>>2]=0;c[J+88+8>>2]=0;c[J+84>>2]=0;if(B*(((u-v)*(k-x)-(w-x)*(j-v))*t+v*((w-x)*(i-t)-(r-t)*(k-x))+((r-t)*(j-v)-(u-v)*(i-t))*x)>0.0){e=+Vd(b+16|0,g+16|0,p+16|0,J+88|0,J+84|0);K=c[J+84>>2]|0;c[J+80>>2]=K&2|K<<1&8|K&1;c[J>>2]=c[J+88>>2];c[J+4>>2]=c[J+88+4>>2];f[J+8>>2]=0.0;c[J+12>>2]=c[J+88+8>>2];l=+f[p+16>>2];m=+f[p+20>>2];n=+f[p+24>>2]}else{l=t;m=v;n=x;e=-1.0}if(B*(((j-v)*(A-x)-(k-x)*(z-v))*l+m*((k-x)*(y-t)-(A-x)*(i-t))+((z-v)*(i-t)-(j-v)*(y-t))*n)>0.0?(G=+Vd(g+16|0,o+16|0,p+16|0,J+88|0,J+84|0),e<0.0|G>2]=c[J+84>>2]<<1&14;c[J+4>>2]=c[J+88>>2];c[J+8>>2]=c[J+88+4>>2];f[J>>2]=0.0;c[J+12>>2]=c[J+88+8>>2];e=G}if(B*(((z-v)*(w-x)-(A-x)*(u-v))*+f[p+16>>2]+ +f[p+20>>2]*((A-x)*(r-t)-(w-x)*(y-t))+((u-v)*(y-t)-(z-v)*(r-t))*+f[p+24>>2])>0.0?(H=+Vd(o+16|0,b+16|0,p+16|0,J+88|0,J+84|0),e<0.0|H>2]|0;c[J+80>>2]=(1?K>>>1:K)&1|K<<1&8|K<<2&4;c[J+8>>2]=c[J+88>>2];c[J>>2]=c[J+88+4>>2];f[J+4>>2]=0.0;c[J+12>>2]=c[J+88+8>>2];e=H}if(e<0.0){c[J+80>>2]=15;r=+f[o+20>>2];A=+f[g+24>>2];z=+f[p+16>>2];m=+f[o+24>>2];y=+f[g+16>>2];t=+f[p+20>>2];n=+f[o+16>>2];x=+f[p+24>>2];v=+f[g+20>>2];f[J>>2]=(r*A*z+m*y*t-t*(A*n)-r*y*x+x*(n*v)-z*(m*v))/B;e=+f[b+20>>2];u=+f[b+24>>2];w=+f[b+16>>2];f[J+4>>2]=(e*m*z+u*n*t-t*(m*w)-e*n*x+x*(w*r)-z*(u*r))/B;f[J+8>>2]=(v*u*z+A*w*t-t*(u*y)-v*w*x+x*(y*e)-z*(A*e))/B;f[J+12>>2]=1.0-((r*A*z+m*y*t-t*(A*n)-r*y*x+x*(n*v)-z*(m*v))/B+(e*m*z+u*n*t-t*(m*w)-e*n*x+x*(w*r)-z*(u*r))/B+(v*u*z+A*w*t-t*(u*y)-v*w*x+x*(y*e)-z*(A*e))/B);e=0.0}break}default:{}}while(0);if(!(e>=0.0)){I=46;break}c[a+148+(d*36|0)+32>>2]=0;c[a+128>>2]=0;c[a+128+4>>2]=0;c[a+128+8>>2]=0;c[a+128+12>>2]=0;c[a+368>>2]=d;p=c[q>>2]|0;q=c[J+80>>2]|0;if(p){g=a+148+(C*36|0)|0;b=c[g>>2]|0;if(!(q&1)){K=c[a+364>>2]|0;c[a+364>>2]=K+1;c[a+348+(K<<2)>>2]=b;j=0.0;k=0.0;i=0.0}else{K=c[a+148+(d*36|0)+32>>2]|0;c[a+148+(d*36|0)+(K<<2)>>2]=b;o=c[J>>2]|0;c[a+148+(d*36|0)+32>>2]=K+1;c[a+148+(d*36|0)+16+(K<<2)>>2]=o;K=c[g>>2]|0;i=(c[h>>2]=o,+f[h>>2]);k=+f[K+20>>2]*i;j=+f[K+24>>2]*i;i=+f[K+16>>2]*i+ +f[a+128>>2];f[a+128>>2]=i;k=k+ +f[a+132>>2];f[a+132>>2]=k;j=j+ +f[a+136>>2];f[a+136>>2]=j}if((p|0)!=1){o=1;do{g=a+148+(C*36|0)+(o<<2)|0;b=c[g>>2]|0;if(!(q&1<>2]|0;c[a+364>>2]=K+1;c[a+348+(K<<2)>>2]=b}else{K=c[a+148+(d*36|0)+32>>2]|0;c[a+148+(d*36|0)+(K<<2)>>2]=b;b=c[J+(o<<2)>>2]|0;c[a+148+(d*36|0)+32>>2]=K+1;c[a+148+(d*36|0)+16+(K<<2)>>2]=b;K=c[g>>2]|0;i=(c[h>>2]=b,+f[h>>2]);k=+f[K+20>>2]*i;j=+f[K+24>>2]*i;i=+f[K+16>>2]*i+ +f[a+128>>2];f[a+128>>2]=i;k=k+ +f[a+132>>2];f[a+132>>2]=k;j=j+ +f[a+136>>2];f[a+136>>2]=j}o=o+1|0}while((o|0)!=(p|0))}}else{j=0.0;k=0.0;i=0.0}if((q|0)==15)c[a+376>>2]=1;F=F+1|0;if(F>>>0>=128){I=45;break}b=c[a+376>>2]|0;if(b|0)break;else{C=d;m=k}}if((I|0)==6){c[a+376>>2]=1;d=C;I=48}else if((I|0)==9){d=c[a+368>>2]|0;F=(c[a+148+(d*36|0)+32>>2]|0)+-1|0;c[a+148+(d*36|0)+32>>2]=F;F=c[a+148+(d*36|0)+(F<<2)>>2]|0;K=c[a+364>>2]|0;c[a+364>>2]=K+1;c[a+348+(K<<2)>>2]=F;I=48}else if((I|0)==10){d=c[a+368>>2]|0;F=(c[a+148+(d*36|0)+32>>2]|0)+-1|0;c[a+148+(d*36|0)+32>>2]=F;F=c[a+148+(d*36|0)+(F<<2)>>2]|0;K=c[a+364>>2]|0;c[a+364>>2]=K+1;c[a+348+(K<<2)>>2]=F;I=48}else if((I|0)==45){c[a+376>>2]=2;c[a+372>>2]=a+148+(d*36|0);K=2;Ta=J;return K|0}else if((I|0)==46){d=c[a+368>>2]|0;F=(c[a+148+(d*36|0)+32>>2]|0)+-1|0;c[a+148+(d*36|0)+32>>2]=F;F=c[a+148+(d*36|0)+(F<<2)>>2]|0;K=c[a+364>>2]|0;c[a+364>>2]=K+1;c[a+348+(K<<2)>>2]=F;I=48}if((I|0)==48)b=c[a+376>>2]|0;c[a+372>>2]=a+148+(d*36|0);switch(b|0){case 0:{D=+f[a+128>>2];G=+f[a+132>>2];H=+f[a+136>>2];f[a+144>>2]=+s(+(D*D+G*G+H*H));K=0;Ta=J;return K|0}case 1:{f[a+144>>2]=0.0;K=1;Ta=J;return K|0}default:{K=b;Ta=J;return K|0}}return 0}function tc(b,d){b=b|0;d=d|0;var e=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;t=Ta;Ta=Ta+16|0;Aj(15106);j=c[b+212>>2]|0;i=c[b+180>>2]|0;if((i|0)<(j|0)){if((c[b+184>>2]|0)<(j|0)){if(!j){g=i;h=0}else{c[6879]=(c[6879]|0)+1;e=Zb((j<<2|3)+16|0)|0;if(!e)e=0;else{c[(e+4+15&-16)+-4>>2]=e;e=e+4+15&-16}g=c[b+180>>2]|0;h=e}if((g|0)>0){e=0;do{c[h+(e<<2)>>2]=c[(c[b+188>>2]|0)+(e<<2)>>2];e=e+1|0}while((e|0)!=(g|0))}e=c[b+188>>2]|0;if(e|0){if(a[b+192>>0]|0){c[6880]=(c[6880]|0)+1;kd(c[e+-4>>2]|0)}c[b+188>>2]=0}a[b+192>>0]=1;c[b+188>>2]=h;c[b+184>>2]=j;g=b+188|0}else g=b+188|0;e=i;do{c[(c[g>>2]|0)+(e<<2)>>2]=0;e=e+1|0}while((e|0)!=(j|0))}else g=b+188|0;c[b+180>>2]=j;e=0;while(1){if((e|0)>=(eb[c[(c[b>>2]|0)+104>>2]&255](b)|0))break;c[(c[g>>2]|0)+(e<<2)>>2]=c[(c[b+220>>2]|0)+(e<<2)>>2];e=e+1|0}e=c[b+180>>2]|0;if((e|0)>1)Sg(b+176|0,0,e+-1|0);if(!(eb[c[(c[b>>2]|0)+104>>2]&255](b)|0))e=0;else e=c[g>>2]|0;h=c[b+196>>2]|0;r=c[b+180>>2]|0;s=eb[c[(c[b>>2]|0)+20>>2]&255](b)|0;c[h+4>>2]=d;c[h+12>>2]=e;c[h+16>>2]=r;c[h+20>>2]=s;e=c[h+32>>2]|0;if((e|0)<0){if((c[h+36>>2]|0)<0){g=c[h+40>>2]|0;if(g|0){if(a[h+44>>0]|0){c[6880]=(c[6880]|0)+1;kd(c[g+-4>>2]|0)}c[h+40>>2]=0}a[h+44>>0]=1;c[h+40>>2]=0;c[h+36>>2]=0}do{c[(c[h+40>>2]|0)+(e<<2)>>2]=0;e=e+1|0}while((e|0)!=0)}c[h+32>>2]=0;e=c[h+52>>2]|0;if((e|0)<0){if((c[h+56>>2]|0)<0){g=c[h+60>>2]|0;if(g|0){if(a[h+64>>0]|0){c[6880]=(c[6880]|0)+1;kd(c[g+-4>>2]|0)}c[h+60>>2]=0}a[h+64>>0]=1;c[h+60>>2]=0;c[h+56>>2]=0}do{c[(c[h+60>>2]|0)+(e<<2)>>2]=0;e=e+1|0}while((e|0)!=0)}c[h+52>>2]=0;e=c[h+72>>2]|0;if((e|0)<0){if((c[h+76>>2]|0)<0){g=c[h+80>>2]|0;if(g|0){if(a[h+84>>0]|0){c[6880]=(c[6880]|0)+1;kd(c[g+-4>>2]|0)}c[h+80>>2]=0}a[h+84>>0]=1;c[h+80>>2]=0;c[h+76>>2]=0}do{c[(c[h+80>>2]|0)+(e<<2)>>2]=0;e=e+1|0}while((e|0)!=0)}c[h+72>>2]=0;s=c[b+200>>2]|0;e=c[(c[s>>2]|0)+8>>2]|0;p=c[b+8>>2]|0;r=c[b+24>>2]|0;r=eb[c[(c[r>>2]|0)+36>>2]&255](r)|0;zb[e&127](s,p,r);r=c[b+204>>2]|0;p=c[b+24>>2]|0;s=c[b+196>>2]|0;Aj(17027);e=c[r+28>>2]|0;if((e|0)<0){if((c[r+32>>2]|0)<0){g=c[r+36>>2]|0;if(g|0){if(a[r+40>>0]|0){c[6880]=(c[6880]|0)+1;kd(c[g+-4>>2]|0)}c[r+36>>2]=0}a[r+40>>0]=1;c[r+36>>2]=0;c[r+32>>2]=0}do{c[(c[r+36>>2]|0)+(e<<2)>>2]=0;e=e+1|0}while((e|0)!=0)}c[r+28>>2]=0;i=c[r+8>>2]|0;if((i|0)>0){j=c[r+16>>2]|0;k=0;do{l=j+(k<<3)|0;e=c[l>>2]|0;if((e|0)!=(k|0)){c[l>>2]=c[j+(e<<3)>>2];e=c[j+(e<<3)>>2]|0;g=c[j+(e<<3)>>2]|0;if((e|0)!=(g|0)){h=j+(e<<3)|0;do{e=j+(g<<3)|0;c[h>>2]=c[e>>2];e=c[e>>2]|0;h=j+(e<<3)|0;g=c[h>>2]|0}while((e|0)!=(g|0))}}else e=k;c[l>>2]=e;k=k+1|0}while((k|0)!=(i|0));if((i|0)>1){Ej(r+4|0,0,i+-1|0);m=c[r+8>>2]|0}else m=i;if((m|0)>0){n=c[r+16>>2]|0;i=0;while(1){o=c[n+(i<<3)>>2]|0;e=i+1|0;a:do if((e|0)<(m|0)){g=i;h=e;while(1){if((c[n+(h<<3)>>2]|0)!=(o|0)){e=h;break a}e=h+1|0;if((e|0)<(m|0)){g=h;h=e}else{g=h;break}}}else g=i;while(0);b:do if((i|0)<=(g|0)){l=c[b+16>>2]|0;h=1;k=i;while(1){j=c[l+(c[n+(k<<3)+4>>2]<<2)>>2]|0;if((c[j+208>>2]|0)==(o|0)){j=c[j+216>>2]|0;h=(j|0)!=4&(h&(j|0)!=1)}if((k|0)<(g|0))k=k+1|0;else break}if(h)while(1){h=c[l+(c[n+(i<<3)+4>>2]<<2)>>2]|0;do if((c[h+208>>2]|0)==(o|0)){if((c[h+216>>2]&-2|0)==4)break;c[h+216>>2]=2}while(0);if((i|0)>=(g|0))break b;i=i+1|0}else while(1){h=c[l+(c[n+(i<<3)+4>>2]<<2)>>2]|0;do if((c[h+208>>2]|0)==(o|0)){if((c[h+216>>2]|0)!=2)break;c[h+216>>2]=3;f[h+220>>2]=0.0}while(0);if((i|0)>=(g|0))break b;i=i+1|0}}while(0);if((e|0)<(m|0))i=e;else break}}}j=eb[c[(c[p>>2]|0)+36>>2]&255](p)|0;if((j|0)>0){l=0;do{k=gb[c[(c[p>>2]|0)+40>>2]&63](p,l)|0;h=c[k+740>>2]|0;i=c[k+744>>2]|0;if((h|0)!=0?(c[h+216>>2]|0)!=2:0){e=c[h+204>>2]|0;if(!(e&2))g=111;else g=106}else g=101;if(((g|0)==101?(g=0,i|0):0)?(c[i+216>>2]|0)!=2:0){e=c[h+204>>2]|0;if((e&2|0)!=0?(c[h+216>>2]|0)!=2:0)g=106;else g=111}if((g|0)==106)if((e&4|0)==0?(c[i+204>>2]&3|0)==0:0){if((c[i+216>>2]&-2|0)!=4)c[i+216>>2]=1;f[i+220>>2]=0.0;g=111}else g=111;if((g|0)==111){o=c[i+204>>2]|0;if(o&2|0?((o&4|e&3|0)==0?(c[i+216>>2]|0)!=2:0):0){if((c[h+216>>2]&-2|0)!=4)c[h+216>>2]=1;f[h+220>>2]=0.0}if(a[r+64>>0]|0?ib[c[(c[p>>2]|0)+28>>2]&63](p,h,i)|0:0){e=c[r+28>>2]|0;if((e|0)==(c[r+32>>2]|0)?(q=(e|0)==0?1:e<<1,(e|0)<(q|0)):0){if(!q)g=0;else{c[6879]=(c[6879]|0)+1;e=Zb((q<<2|3)+16|0)|0;if(!e)g=0;else{c[(e+4+15&-16)+-4>>2]=e;g=e+4+15&-16}e=c[r+28>>2]|0}if((e|0)>0){h=0;do{c[g+(h<<2)>>2]=c[(c[r+36>>2]|0)+(h<<2)>>2];h=h+1|0}while((h|0)!=(e|0))}h=c[r+36>>2]|0;if(h){if(a[r+40>>0]|0){c[6880]=(c[6880]|0)+1;kd(c[h+-4>>2]|0);e=c[r+28>>2]|0}c[r+36>>2]=0}a[r+40>>0]=1;c[r+36>>2]=g;c[r+32>>2]=q}c[(c[r+36>>2]|0)+(e<<2)>>2]=k;c[r+28>>2]=e+1}}l=l+1|0}while((l|0)<(j|0))}e=c[2760]|0;q=(c[e+16>>2]|0)+-1|0;c[e+16>>2]=q;do if(!q){if(c[e+4>>2]|0){Pa(t|0,0)|0;q=c[6878]|0;f[e+8>>2]=+f[e+8>>2]+ +(((c[t+4>>2]|0)-(c[q+4>>2]|0)+(((c[t>>2]|0)-(c[q>>2]|0)|0)*1e6|0)-(c[e+12>>2]|0)|0)>>>0)/1.0e3;if(c[e+16>>2]|0)break;e=c[2760]|0}c[2760]=c[e+20>>2]}while(0);q=c[r+8>>2]|0;Aj(17055);if(a[r+64>>0]|0){o=c[r+28>>2]|0;if((o|0)>1)Rg(r+24|0,0,o+-1|0);if((q|0)>0){m=1;g=0;p=0;while(1){e=c[r+16>>2]|0;n=c[e+(g<<3)>>2]|0;c:do if((g|0)<(q|0)){j=c[r+48>>2]|0;i=c[r+52>>2]|0;l=1;while(1){k=c[(c[b+16>>2]|0)+(c[e+(g<<3)+4>>2]<<2)>>2]|0;do if((j|0)==(i|0)){j=(i|0)==0?1:i<<1;if((i|0)>=(j|0)){e=i;break}if(!j){e=i;h=0}else{c[6879]=(c[6879]|0)+1;e=Zb((j<<2|3)+16|0)|0;if(!e)h=0;else{c[(e+4+15&-16)+-4>>2]=e;h=e+4+15&-16}e=c[r+48>>2]|0}if((e|0)>0){i=0;do{c[h+(i<<2)>>2]=c[(c[r+56>>2]|0)+(i<<2)>>2];i=i+1|0}while((i|0)!=(e|0))}i=c[r+56>>2]|0;if(i){if(a[r+60>>0]|0){c[6880]=(c[6880]|0)+1;kd(c[i+-4>>2]|0);e=c[r+48>>2]|0}c[r+56>>2]=0}a[r+60>>0]=1;c[r+56>>2]=h;c[r+52>>2]=j;i=j}else e=j;while(0);c[(c[r+56>>2]|0)+(e<<2)>>2]=k;j=e+1|0;c[r+48>>2]=j;h=c[k+216>>2]|0;h=l&((h|0)==5|(h|0)==2);g=g+1|0;if((g|0)>=(q|0)){l=g;k=h;break c}e=c[r+16>>2]|0;if((c[e+(g<<3)>>2]|0)!=(n|0)){l=g;k=h;break}else l=h}}else{l=g;k=1}while(0);if((p|0)<(o|0)){i=c[r+36>>2]|0;j=i+(p<<2)|0;g=c[j>>2]|0;e=c[(c[g+740>>2]|0)+208>>2]|0;if((e|0)<=-1)e=c[(c[g+744>>2]|0)+208>>2]|0;if((e|0)==(n|0)){e=p+1|0;d:do if((e|0)<(o|0))do{h=c[i+(e<<2)>>2]|0;g=c[(c[h+740>>2]|0)+208>>2]|0;if((g|0)<=-1)g=c[(c[h+744>>2]|0)+208>>2]|0;if((n|0)!=(g|0))break d;e=e+1|0}while((e|0)<(o|0));while(0);h=e;g=e-p|0;e=j}else{h=m;g=0;e=0}}else{h=m;g=0;e=0}if(!k)Ib[c[(c[s>>2]|0)+8>>2]&31](s,c[r+56>>2]|0,c[r+48>>2]|0,e,g,n);p=(g|0)==0?p:h;e=c[r+48>>2]|0;if((e|0)<0){if((c[r+52>>2]|0)<0){g=c[r+56>>2]|0;if(g|0){if(a[r+60>>0]|0){c[6880]=(c[6880]|0)+1;kd(c[g+-4>>2]|0)}c[r+56>>2]=0}a[r+60>>0]=1;c[r+56>>2]=0;c[r+52>>2]=0}do{c[(c[r+56>>2]|0)+(e<<2)>>2]=0;e=e+1|0}while((e|0)!=0)}c[r+48>>2]=0;if((l|0)>=(q|0))break;else{m=h;g=l}}}}else{q=eb[c[(c[p>>2]|0)+44>>2]&255](p)|0;r=eb[c[(c[p>>2]|0)+36>>2]&255](p)|0;Ib[c[(c[s>>2]|0)+8>>2]&31](s,c[b+16>>2]|0,c[b+8>>2]|0,q,r,-1)}e=c[2760]|0;s=(c[e+16>>2]|0)+-1|0;c[e+16>>2]=s;do if(!s){if(c[e+4>>2]|0){Pa(t|0,0)|0;s=c[6878]|0;f[e+8>>2]=+f[e+8>>2]+ +(((c[t+4>>2]|0)-(c[s+4>>2]|0)+(((c[t>>2]|0)-(c[s>>2]|0)|0)*1e6|0)-(c[e+12>>2]|0)|0)>>>0)/1.0e3;if(c[e+16>>2]|0)break;e=c[2760]|0}c[2760]=c[e+20>>2]}while(0);gh(c[b+196>>2]|0);e=c[b+200>>2]|0;zb[c[(c[e>>2]|0)+16>>2]&127](e,d,c[b+72>>2]|0);e=c[2760]|0;b=(c[e+16>>2]|0)+-1|0;c[e+16>>2]=b;if(b|0){Ta=t;return}do if(c[e+4>>2]|0){Pa(t|0,0)|0;b=c[6878]|0;f[e+8>>2]=+f[e+8>>2]+ +(((c[t+4>>2]|0)-(c[b+4>>2]|0)+(((c[t>>2]|0)-(c[b>>2]|0)|0)*1e6|0)-(c[e+12>>2]|0)|0)>>>0)/1.0e3;if(!(c[e+16>>2]|0)){e=c[2760]|0;break}else{Ta=t;return}}while(0);c[2760]=c[e+20>>2];Ta=t;return}function uc(b,d,e,g){b=b|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0,C=0.0,D=0.0,E=0.0,F=0.0,G=0,H=0;r=Ta;Ta=Ta+144|0;m=c[b+48>>2]|0;h=c[b+52>>2]|0;if((h|0?(j=c[h+20>>2]|0,j|0):0)?(eb[c[(c[j>>2]|0)+48>>2]&255](j)|0)&1|0:0){c[r>>2]=1065353216;c[r+4>>2]=1065353216;c[r+8>>2]=0;f[r+12>>2]=0.0;k=c[b+8>>2]|0;q=c[(c[b+52>>2]|0)+20>>2]|0;p=c[(c[q>>2]|0)+8>>2]|0;t=+f[d>>2];B=+f[d+4>>2];u=+f[d+8>>2];z=+f[k+20>>2];v=+f[k+24>>2];C=+f[k+28>>2];w=+f[k+36>>2];E=+f[k+40>>2];x=+f[k+44>>2];y=+f[k+52>>2];D=+f[k+56>>2];A=+f[k+60>>2];f[r+120>>2]=t*+f[k+4>>2]+B*+f[k+8>>2]+u*+f[k+12>>2]+y;f[r+120+4>>2]=t*z+B*v+u*C+D;f[r+120+8>>2]=t*w+B*E+u*x+A;f[r+120+12>>2]=0.0;u=+f[d+16>>2];B=+f[d+20>>2];t=+f[d+24>>2];f[r+96>>2]=y+(u*+f[k+4>>2]+B*+f[k+8>>2]+t*+f[k+12>>2]);f[r+96+4>>2]=D+(z*u+v*B+C*t);f[r+96+8>>2]=A+(w*u+E*B+x*t);f[r+96+12>>2]=0.0;Cb[p&127](q,r+120|0,r+96|0,r);q=c[(c[b+52>>2]|0)+20>>2]|0;p=c[(c[q>>2]|0)+8>>2]|0;t=+f[d+16>>2];x=+f[d+20>>2];B=+f[d+24>>2];E=+f[k+20>>2];u=+f[k+24>>2];w=+f[k+28>>2];A=+f[k+36>>2];C=+f[k+40>>2];v=+f[k+44>>2];z=+f[k+52>>2];D=+f[k+56>>2];y=+f[k+60>>2];f[r+120>>2]=t*+f[k+4>>2]+x*+f[k+8>>2]+B*+f[k+12>>2]+z;f[r+120+4>>2]=t*E+x*u+B*w+D;f[r+120+8>>2]=t*A+x*C+B*v+y;f[r+120+12>>2]=0.0;B=+f[d+32>>2];x=+f[d+36>>2];t=+f[d+40>>2];f[r+96>>2]=z+(B*+f[k+4>>2]+x*+f[k+8>>2]+t*+f[k+12>>2]);f[r+96+4>>2]=D+(E*B+u*x+w*t);f[r+96+8>>2]=y+(A*B+C*x+v*t);f[r+96+12>>2]=0.0;Cb[p&127](q,r+120|0,r+96|0,r);q=c[(c[b+52>>2]|0)+20>>2]|0;p=c[(c[q>>2]|0)+8>>2]|0;t=+f[d+32>>2];v=+f[d+36>>2];x=+f[d+40>>2];C=+f[k+20>>2];B=+f[k+24>>2];A=+f[k+28>>2];y=+f[k+36>>2];w=+f[k+40>>2];u=+f[k+44>>2];E=+f[k+52>>2];D=+f[k+56>>2];z=+f[k+60>>2];f[r+120>>2]=t*+f[k+4>>2]+v*+f[k+8>>2]+x*+f[k+12>>2]+E;f[r+120+4>>2]=t*C+v*B+x*A+D;f[r+120+8>>2]=t*y+v*w+x*u+z;f[r+120+12>>2]=0.0;x=+f[d>>2];v=+f[d+4>>2];t=+f[d+8>>2];f[r+96>>2]=E+(x*+f[k+4>>2]+v*+f[k+8>>2]+t*+f[k+12>>2]);f[r+96+4>>2]=D+(C*x+B*v+A*t);f[r+96+8>>2]=z+(y*x+w*v+u*t);f[r+96+12>>2]=0.0;Cb[p&127](q,r+120|0,r+96|0,r)}h=((10?(e<<21|g)+~(g<<15)>>10:(e<<21|g)+~(g<<15)|0)^(e<<21|g)+~(g<<15))*9|0;h=(6?h>>6:h)^h;h=(c[b+108>>2]|0)+-1&((16?h+~(h<<11)>>16:h+~(h<<11)|0)^h+~(h<<11));a:do if(h>>>0<(c[b+64>>2]|0)>>>0?(l=c[(c[b+72>>2]|0)+(h<<2)>>2]|0,(l|0)!=-1):0){k=c[b+132>>2]|0;j=l;while(1){if((e<<21|g|0)==(c[k+(j<<2)>>2]|0))break;h=c[(c[b+92>>2]|0)+(j<<2)>>2]|0;if((h|0)==-1)break a;else j=h}h=c[b+112>>2]|0;if(h+(j<<3)|0){p=c[h+(j<<3)+4>>2]|0;q=c[b+8>>2]|0;c[p+8>>2]=c[(c[q+192>>2]|0)+8>>2];o=c[b+4>>2]|0;n=c[o+192>>2]|0;c[r>>2]=0;c[r+4>>2]=n;c[r+8>>2]=o;c[r+12>>2]=o+4;c[r+16>>2]=-1;c[r+20>>2]=-1;c[r+120>>2]=0;c[r+120+4>>2]=p;c[r+120+8>>2]=q;c[r+120+12>>2]=q+4;c[r+120+16>>2]=e;c[r+120+20>>2]=g;q=jb[c[(c[m>>2]|0)+8>>2]&63](m,r,r+120|0,0)|0;Gb[c[(c[q>>2]|0)+8>>2]&63](q,r,r+120|0,c[b+52>>2]|0,c[b+44>>2]|0);pb[c[c[q>>2]>>2]&511](q);vb[c[(c[m>>2]|0)+60>>2]&255](m,q);Ta=r;return}}while(0);v=+f[d+16>>2];F=+f[d>>2];w=+f[d+20>>2];t=+f[d+4>>2];x=+f[d+24>>2];u=+f[d+8>>2];y=+f[d+32>>2];A=+f[d+36>>2];C=+f[d+40>>2];z=(w-t)*(C-u)-(x-u)*(A-t);B=(x-u)*(y-F)-(v-F)*(C-u);D=(v-F)*(A-t)-(w-t)*(y-F);E=1.0/+s(+(D*D+(z*z+B*B)));f[r>>2]=F+z*E*.05999999865889549;f[r+4>>2]=t+B*E*.05999999865889549;f[r+8>>2]=u+D*E*.05999999865889549;f[r+12>>2]=0.0;f[r+16>>2]=v+z*E*.05999999865889549;f[r+20>>2]=w+B*E*.05999999865889549;f[r+24>>2]=x+D*E*.05999999865889549;f[r+28>>2]=0.0;f[r+32>>2]=y+z*E*.05999999865889549;f[r+36>>2]=A+B*E*.05999999865889549;f[r+40>>2]=C+D*E*.05999999865889549;f[r+44>>2]=0.0;f[r+48>>2]=F-z*E*.05999999865889549;f[r+52>>2]=t-B*E*.05999999865889549;f[r+56>>2]=u-D*E*.05999999865889549;f[r+60>>2]=0.0;f[r+64>>2]=v-z*E*.05999999865889549;f[r+68>>2]=w-B*E*.05999999865889549;f[r+72>>2]=x-D*E*.05999999865889549;f[r+76>>2]=0.0;f[r+80>>2]=y-z*E*.05999999865889549;f[r+84>>2]=A-B*E*.05999999865889549;f[r+88>>2]=C-D*E*.05999999865889549;f[r+92>>2]=0.0;c[6879]=(c[6879]|0)+1;h=Zb(131)|0;if(!h)h=0;else{c[(h+4+15&-16)+-4>>2]=h;h=h+4+15&-16}gg(h,r,6,16);q=c[b+8>>2]|0;c[h+8>>2]=c[(c[q+192>>2]|0)+8>>2];d=c[b+4>>2]|0;p=c[d+192>>2]|0;c[r+120>>2]=0;c[r+120+4>>2]=p;c[r+120+8>>2]=d;c[r+120+12>>2]=d+4;c[r+120+16>>2]=-1;c[r+120+20>>2]=-1;c[r+96>>2]=0;c[r+96+4>>2]=h;c[r+96+8>>2]=q;c[r+96+12>>2]=q+4;c[r+96+16>>2]=e;c[r+96+20>>2]=g;q=jb[c[(c[m>>2]|0)+8>>2]&63](m,r+120|0,r+96|0,0)|0;Gb[c[(c[q>>2]|0)+8>>2]&63](q,r+120|0,r+96|0,c[b+52>>2]|0,c[b+44>>2]|0);pb[c[c[q>>2]>>2]&511](q);vb[c[(c[m>>2]|0)+60>>2]&255](m,q);q=((10?(e<<21|g)+~(g<<15)>>10:(e<<21|g)+~(g<<15)|0)^(e<<21|g)+~(g<<15))*9|0;q=(6?q>>6:q)^q;q=(16?q+~(q<<11)>>16:q+~(q<<11)|0)^q+~(q<<11);d=c[b+108>>2]|0;b:do if((q&d+-1)>>>0<(c[b+64>>2]|0)>>>0?(i=c[(c[b+72>>2]|0)+((q&d+-1)<<2)>>2]|0,(i|0)!=-1):0){j=c[b+132>>2]|0;while(1){if((e<<21|g|0)==(c[j+(i<<2)>>2]|0))break;i=c[(c[b+92>>2]|0)+(i<<2)>>2]|0;if((i|0)==-1){n=20;break b}}b=c[b+112>>2]|0;c[b+(i<<3)>>2]=e<<21|g;c[b+(i<<3)+4>>2]=h}else n=20;while(0);if((n|0)==20){p=c[b+104>>2]|0;if((p|0)==(d|0)){l=(d|0)==0?1:d<<1;if((d|0)<(l|0)){if(!l){j=d;k=0}else{c[6879]=(c[6879]|0)+1;i=Zb((l<<3|3)+16|0)|0;if(!i)i=0;else{c[(i+4+15&-16)+-4>>2]=i;i=i+4+15&-16}j=c[b+104>>2]|0;k=i}if((j|0)>0){i=0;do{H=(c[b+112>>2]|0)+(i<<3)|0;G=c[H+4>>2]|0;m=k+(i<<3)|0;c[m>>2]=c[H>>2];c[m+4>>2]=G;i=i+1|0}while((i|0)!=(j|0))}i=c[b+112>>2]|0;if(i|0){if(a[b+116>>0]|0){c[6880]=(c[6880]|0)+1;kd(c[i+-4>>2]|0)}c[b+112>>2]=0}a[b+116>>0]=1;c[b+112>>2]=k;c[b+108>>2]=l;i=c[b+104>>2]|0}else i=d}else i=p;H=c[b+112>>2]|0;c[H+(i<<3)>>2]=e<<21|g;c[H+(i<<3)+4>>2]=h;c[b+104>>2]=(c[b+104>>2]|0)+1;h=c[b+124>>2]|0;if((h|0)==(c[b+128>>2]|0)?(o=(h|0)==0?1:h<<1,(h|0)<(o|0)):0){if(!o)i=0;else{c[6879]=(c[6879]|0)+1;h=Zb((o<<2|3)+16|0)|0;if(!h)i=0;else{c[(h+4+15&-16)+-4>>2]=h;i=h+4+15&-16}h=c[b+124>>2]|0}k=c[b+132>>2]|0;if((h|0)<=0)if(!k)j=b+136|0;else n=45;else{j=0;do{c[i+(j<<2)>>2]=c[k+(j<<2)>>2];j=j+1|0}while((j|0)!=(h|0));n=45}if((n|0)==45){if(a[b+136>>0]|0){c[6880]=(c[6880]|0)+1;kd(c[k+-4>>2]|0)}c[b+132>>2]=0;h=c[b+124>>2]|0;j=b+136|0}a[j>>0]=1;c[b+132>>2]=i;c[b+128>>2]=o}c[(c[b+132>>2]|0)+(h<<2)>>2]=e<<21|g;c[b+124>>2]=(c[b+124>>2]|0)+1;m=c[b+108>>2]|0;if((d|0)<(m|0)){n=c[b+64>>2]|0;if((n|0)<(m|0)){do if((c[b+68>>2]|0)<(m|0)){if(!m){k=n;h=0}else{c[6879]=(c[6879]|0)+1;h=Zb((m<<2|3)+16|0)|0;if(!h)h=0;else{c[(h+4+15&-16)+-4>>2]=h;h=h+4+15&-16}k=c[b+64>>2]|0}i=c[b+72>>2]|0;if((k|0)<=0){if(!i){a[b+76>>0]=1;c[b+72>>2]=h;c[b+68>>2]=m;d=b+72|0;break}}else{j=0;do{c[h+(j<<2)>>2]=c[i+(j<<2)>>2];j=j+1|0}while((j|0)!=(k|0))}if(a[b+76>>0]|0){c[6880]=(c[6880]|0)+1;kd(c[i+-4>>2]|0)}a[b+76>>0]=1;c[b+72>>2]=h;c[b+68>>2]=m;d=b+72|0}else{h=c[b+72>>2]|0;d=b+72|0}while(0);el(h+(n<<2)|0,0,(m<<2)-(n<<2)|0)|0;c[b+64>>2]=m;l=c[b+84>>2]|0;if((l|0)<(m|0)){do if((c[b+88>>2]|0)<(m|0)){if(!m){k=l;h=0}else{c[6879]=(c[6879]|0)+1;h=Zb((m<<2|3)+16|0)|0;if(!h)h=0;else{c[(h+4+15&-16)+-4>>2]=h;h=h+4+15&-16}k=c[b+84>>2]|0}i=c[b+92>>2]|0;if((k|0)<=0){if(!i){a[b+96>>0]=1;c[b+92>>2]=h;c[b+88>>2]=m;break}}else{j=0;do{c[h+(j<<2)>>2]=c[i+(j<<2)>>2];j=j+1|0}while((j|0)!=(k|0))}if(a[b+96>>0]|0){c[6880]=(c[6880]|0)+1;kd(c[i+-4>>2]|0)}a[b+96>>0]=1;c[b+92>>2]=h;c[b+88>>2]=m}else h=c[b+92>>2]|0;while(0);el(h+(l<<2)|0,0,(m<<2)-(l<<2)|0)|0}c[b+84>>2]=m;if((m|0)>0){el(c[d>>2]|0,-1,m<<2|0)|0;el(c[b+92>>2]|0,-1,m<<2|0)|0}if((n|0)>0){k=c[b+132>>2]|0;h=c[d>>2]|0;i=c[b+92>>2]|0;j=0;do{H=c[k+(j<<2)>>2]|0;H=((10?H+~(H<<15)>>10:H+~(H<<15)|0)^H+~(H<<15))*9|0;H=(6?H>>6:H)^H;H=h+((((16?H+~(H<<11)>>16:H+~(H<<11)|0)^H+~(H<<11))&(c[b+108>>2]|0)+-1)<<2)|0;c[i+(j<<2)>>2]=c[H>>2];c[H>>2]=j;j=j+1|0}while((j|0)!=(n|0))}}h=q&(c[b+108>>2]|0)+-1}else h=q&d+-1;H=(c[b+72>>2]|0)+(h<<2)|0;c[(c[b+92>>2]|0)+(p<<2)>>2]=c[H>>2];c[H>>2]=p}Ta=r;return}function vc(b,d,e,g,h,i,j){b=b|0;d=d|0;e=e|0;g=g|0;h=+h;i=+i;j=j|0;var k=0,l=0,m=0.0,n=0,o=0,p=0.0,q=0.0,r=0.0,s=0.0,t=0,u=0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0,B=0,C=0.0,D=0.0,E=0.0,F=0.0,G=0.0,H=0,I=0.0,J=0.0,K=0.0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0.0,$=0,aa=0;Z=Ta;Ta=Ta+48|0;a[Z+16+16>>0]=1;Y=Z+16+12|0;c[Y>>2]=0;c[Z+16+4>>2]=0;c[Z+16+8>>2]=0;o=c[g+4>>2]|0;if((o|0)>0){c[6879]=(c[6879]|0)+1;k=Zb((o<<4|3)+16|0)|0;if(!k)n=0;else{c[(k+4+15&-16)+-4>>2]=k;n=k+4+15&-16}k=c[Z+16+4>>2]|0;if((k|0)>0){l=0;do{X=n+(l<<4)|0;W=(c[Y>>2]|0)+(l<<4)|0;c[X>>2]=c[W>>2];c[X+4>>2]=c[W+4>>2];c[X+8>>2]=c[W+8>>2];c[X+12>>2]=c[W+12>>2];l=l+1|0}while((l|0)!=(k|0))}k=c[Y>>2]|0;if(k|0){if(a[Z+16+16>>0]|0){c[6880]=(c[6880]|0)+1;kd(c[k+-4>>2]|0)}c[Y>>2]=0}a[Z+16+16>>0]=1;c[Y>>2]=n;c[Z+16+8>>2]=o}k=c[d+28>>2]|0;if((k|0)>0){W=c[d+36>>2]|0;C=+f[e>>2];D=+f[e+4>>2];E=+f[e+8>>2];F=+f[e+16>>2];G=+f[e+20>>2];q=+f[e+24>>2];v=+f[e+32>>2];p=+f[e+36>>2];m=+f[e+40>>2];r=+f[b>>2];s=+f[b+4>>2];w=+f[b+8>>2];X=-1;A=3402823466385288598117041.0e14;n=0;while(1){x=+f[W+(n*36|0)+20>>2];y=+f[W+(n*36|0)+24>>2];z=+f[W+(n*36|0)+28>>2];l=(x*C+y*D+z*E)*r+(x*F+y*G+z*q)*s+(x*v+y*p+z*m)*w=0){O=c[W+(X*36|0)+4>>2]|0;if((O|0)>0){P=W+(X*36|0)+12|0;n=W+(X*36|0)+20|0;Q=W+(X*36|0)+24|0;R=W+(X*36|0)+28|0;s=F;r=G;k=0;M=g;N=Z+16|0;while(1){H=c[P>>2]|0;B=c[H+(k<<2)>>2]|0;g=c[d+16>>2]|0;L=k+1|0;H=c[H+(((L|0)==(O|0)?0:L)<<2)>>2]|0;x=+f[g+(B<<4)>>2];w=x-+f[g+(H<<4)>>2];y=+f[g+(B<<4)+4>>2];_=y-+f[g+(H<<4)+4>>2];z=+f[g+(B<<4)+8>>2];F=z-+f[g+(H<<4)+8>>2];K=w*C+_*D+F*E;I=w*s+_*r+F*q;F=w*v+_*p+F*m;_=+f[n>>2];w=+f[Q>>2];A=+f[R>>2];J=C*_+D*w+E*A;G=s*_+r*w+q*A;A=v*_+p*w+m*A;v=(x*C+y*D+z*E+ +f[e+48>>2])*-(I*A-F*G)+(x*s+y*r+z*q+ +f[e+52>>2])*-(F*J-K*A)+(x*v+y*p+z*m+ +f[e+56>>2])*-(K*G-I*J);H=M;g=N;k=c[H+4>>2]|0;if((k|0)>=2){o=c[H+12>>2]|0;p=+f[o+(k+-1<<4)>>2];q=+f[o+(k+-1<<4)+4>>2];r=+f[o+(k+-1<<4)+8>>2];m=p*-(I*A-F*G)+q*-(F*J-K*A)+r*-(K*G-I*J)-v;B=0;while(1){x=+f[o+(B<<4)>>2];y=+f[o+(B<<4)+4>>2];z=+f[o+(B<<4)+8>>2];u=c[o+(B<<4)+12>>2]|0;w=x*-(I*A-F*G)+y*-(F*J-K*A)+z*-(K*G-I*J)-v;do if(m<0.0)if(w<0.0){l=c[g+4>>2]|0;if((l|0)==(c[g+8>>2]|0)?(T=(l|0)==0?1:l<<1,(l|0)<(T|0)):0){if(!T)o=0;else{c[6879]=(c[6879]|0)+1;l=Zb((T<<4|3)+16|0)|0;if(!l)o=0;else{c[(l+4+15&-16)+-4>>2]=l;o=l+4+15&-16}l=c[g+4>>2]|0}if((l|0)>0){t=0;do{$=o+(t<<4)|0;aa=(c[g+12>>2]|0)+(t<<4)|0;c[$>>2]=c[aa>>2];c[$+4>>2]=c[aa+4>>2];c[$+8>>2]=c[aa+8>>2];c[$+12>>2]=c[aa+12>>2];t=t+1|0}while((t|0)!=(l|0))}l=c[g+12>>2]|0;if(l|0){if(a[g+16>>0]|0){c[6880]=(c[6880]|0)+1;kd(c[l+-4>>2]|0)}c[g+12>>2]=0}a[g+16>>0]=1;c[g+12>>2]=o;c[g+8>>2]=T;l=c[g+4>>2]|0}t=c[g+12>>2]|0;f[t+(l<<4)>>2]=x;f[t+(l<<4)+4>>2]=y;f[t+(l<<4)+8>>2]=z;c[t+(l<<4)+12>>2]=u;t=83;break}else{m=m/(m-w);s=p+(x-p)*m;p=q+(y-q)*m;m=r+(z-r)*m;l=c[g+4>>2]|0;if((l|0)==(c[g+8>>2]|0)?(V=(l|0)==0?1:l<<1,(l|0)<(V|0)):0){if(!V)o=0;else{c[6879]=(c[6879]|0)+1;l=Zb((V<<4|3)+16|0)|0;if(!l)o=0;else{c[(l+4+15&-16)+-4>>2]=l;o=l+4+15&-16}l=c[g+4>>2]|0}if((l|0)>0){t=0;do{aa=o+(t<<4)|0;$=(c[g+12>>2]|0)+(t<<4)|0;c[aa>>2]=c[$>>2];c[aa+4>>2]=c[$+4>>2];c[aa+8>>2]=c[$+8>>2];c[aa+12>>2]=c[$+12>>2];t=t+1|0}while((t|0)!=(l|0))}l=c[g+12>>2]|0;if(l|0){if(a[g+16>>0]|0){c[6880]=(c[6880]|0)+1;kd(c[l+-4>>2]|0)}c[g+12>>2]=0}a[g+16>>0]=1;c[g+12>>2]=o;c[g+8>>2]=V;l=c[g+4>>2]|0}t=c[g+12>>2]|0;f[t+(l<<4)>>2]=s;f[t+(l<<4)+4>>2]=p;f[t+(l<<4)+8>>2]=m;f[t+(l<<4)+12>>2]=0.0;t=83;break}else if(w<0.0){m=m/(m-w);s=p+(x-p)*m;p=q+(y-q)*m;m=r+(z-r)*m;l=c[g+4>>2]|0;if((l|0)==(c[g+8>>2]|0)?(U=(l|0)==0?1:l<<1,(l|0)<(U|0)):0){if(!U)o=0;else{c[6879]=(c[6879]|0)+1;l=Zb((U<<4|3)+16|0)|0;if(!l)o=0;else{c[(l+4+15&-16)+-4>>2]=l;o=l+4+15&-16}l=c[g+4>>2]|0}if((l|0)>0){t=0;do{aa=o+(t<<4)|0;$=(c[g+12>>2]|0)+(t<<4)|0;c[aa>>2]=c[$>>2];c[aa+4>>2]=c[$+4>>2];c[aa+8>>2]=c[$+8>>2];c[aa+12>>2]=c[$+12>>2];t=t+1|0}while((t|0)!=(l|0))}l=c[g+12>>2]|0;if(l|0){if(a[g+16>>0]|0){c[6880]=(c[6880]|0)+1;kd(c[l+-4>>2]|0)}c[g+12>>2]=0}a[g+16>>0]=1;c[g+12>>2]=o;c[g+8>>2]=U;l=c[g+4>>2]|0}aa=c[g+12>>2]|0;f[aa+(l<<4)>>2]=s;f[aa+(l<<4)+4>>2]=p;f[aa+(l<<4)+8>>2]=m;f[aa+(l<<4)+12>>2]=0.0;l=(c[g+4>>2]|0)+1|0;c[g+4>>2]=l;if((l|0)==(c[g+8>>2]|0)?(S=(l|0)==0?1:l<<1,(l|0)<(S|0)):0){if(!S)o=0;else{c[6879]=(c[6879]|0)+1;l=Zb((S<<4|3)+16|0)|0;if(!l)o=0;else{c[(l+4+15&-16)+-4>>2]=l;o=l+4+15&-16}l=c[g+4>>2]|0}if((l|0)>0){t=0;do{aa=o+(t<<4)|0;$=(c[g+12>>2]|0)+(t<<4)|0;c[aa>>2]=c[$>>2];c[aa+4>>2]=c[$+4>>2];c[aa+8>>2]=c[$+8>>2];c[aa+12>>2]=c[$+12>>2];t=t+1|0}while((t|0)!=(l|0))}l=c[g+12>>2]|0;if(l|0){if(a[g+16>>0]|0){c[6880]=(c[6880]|0)+1;kd(c[l+-4>>2]|0)}c[g+12>>2]=0}a[g+16>>0]=1;c[g+12>>2]=o;c[g+8>>2]=S;l=c[g+4>>2]|0}t=c[g+12>>2]|0;f[t+(l<<4)>>2]=x;f[t+(l<<4)+4>>2]=y;f[t+(l<<4)+8>>2]=z;c[t+(l<<4)+12>>2]=u;t=83}while(0);if((t|0)==83){t=0;c[g+4>>2]=(c[g+4>>2]|0)+1}l=B+1|0;if((l|0)==(k|0))break;o=c[H+12>>2]|0;m=w;p=x;r=z;q=y;B=l}k=c[H+4>>2]|0}if((k|0)<0){if((c[H+8>>2]|0)<0){l=c[H+12>>2]|0;if(l|0){if(a[H+16>>0]|0){c[6880]=(c[6880]|0)+1;kd(c[l+-4>>2]|0)}c[H+12>>2]=0}a[H+16>>0]=1;c[H+12>>2]=0;c[H+8>>2]=0}do{aa=(c[H+12>>2]|0)+(k<<4)|0;c[aa>>2]=c[Z>>2];c[aa+4>>2]=c[Z+4>>2];c[aa+8>>2]=c[Z+8>>2];c[aa+12>>2]=c[Z+12>>2];k=k+1|0}while((k|0)!=0)}c[H+4>>2]=0;if((L|0)>=(O|0))break;aa=N;C=+f[e>>2];D=+f[e+4>>2];E=+f[e+8>>2];s=+f[e+16>>2];r=+f[e+20>>2];q=+f[e+24>>2];v=+f[e+32>>2];p=+f[e+36>>2];m=+f[e+40>>2];k=L;N=M;M=aa}y=+f[e>>2];x=+f[e+4>>2];s=+f[e+8>>2];w=+f[e+16>>2];r=+f[e+20>>2];q=+f[e+24>>2];v=+f[e+32>>2];p=+f[e+36>>2];m=+f[e+40>>2];l=Q;k=R;t=e+56|0;u=e+48|0;o=e+52|0;B=g+4|0}else{y=C;x=D;s=E;w=F;r=G;n=W+(X*36|0)+20|0;l=W+(X*36|0)+24|0;k=W+(X*36|0)+28|0;t=e+56|0;u=e+48|0;o=e+52|0;B=g+4|0}J=+f[n>>2];K=+f[l>>2];_=+f[k>>2];s=J*y+K*x+_*s;r=J*w+K*r+_*q;q=J*v+K*p+_*m;p=+f[W+(X*36|0)+32>>2]-(s*+f[u>>2]+r*+f[o>>2]+q*+f[t>>2]);k=c[B>>2]|0;if((k|0)>0){o=g+12|0;n=0;do{aa=c[o>>2]|0;l=aa+(n<<4)|0;m=p+(s*+f[l>>2]+r*+f[aa+(n<<4)+4>>2]+q*+f[aa+(n<<4)+8>>2]);m=m<=h?h:m;if(m<=i){c[Z>>2]=c[l>>2];c[Z+4>>2]=c[l+4>>2];c[Z+8>>2]=c[l+8>>2];c[Z+12>>2]=c[l+12>>2];Ab[c[(c[j>>2]|0)+16>>2]&31](j,b,Z,m);k=c[B>>2]|0}n=n+1|0}while((n|0)<(k|0))}}}k=c[Y>>2]|0;if(!k){Ta=Z;return}if(a[Z+16+16>>0]|0){c[6880]=(c[6880]|0)+1;kd(c[k+-4>>2]|0)}c[Y>>2]=0;Ta=Z;return}function wc(b,d,e,g,h){b=b|0;d=d|0;e=e|0;g=g|0;h=h|0;var i=0.0,j=0.0,k=0.0,l=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0,r=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,A=0,B=0,C=0,D=0,E=0,F=0,G=0.0,H=0.0,I=0.0,J=0.0,K=0.0,L=0.0,M=0,N=0,O=0,P=0.0,Q=0.0,R=0.0,S=0;O=Ta;Ta=Ta+208|0;f[b+56>>2]=0.0;M=O+192+4|0;N=O+192+8|0;c[O+192>>2]=0;c[O+192+4>>2]=0;c[O+192+8>>2]=0;c[O+192+12>>2]=0;c[O+128>>2]=c[d>>2];c[O+128+4>>2]=c[d+4>>2];c[O+128+8>>2]=c[d+8>>2];c[O+128+12>>2]=c[d+12>>2];c[O+128+16>>2]=c[d+16>>2];c[O+128+16+4>>2]=c[d+16+4>>2];c[O+128+16+8>>2]=c[d+16+8>>2];c[O+128+16+12>>2]=c[d+16+12>>2];c[O+128+32>>2]=c[d+32>>2];c[O+128+32+4>>2]=c[d+32+4>>2];c[O+128+32+8>>2]=c[d+32+8>>2];c[O+128+32+12>>2]=c[d+32+12>>2];D=O+128+48|0;c[D>>2]=c[d+48>>2];c[D+4>>2]=c[d+48+4>>2];c[D+8>>2]=c[d+48+8>>2];c[D+12>>2]=c[d+48+12>>2];c[O+64>>2]=c[d+64>>2];c[O+64+4>>2]=c[d+64+4>>2];c[O+64+8>>2]=c[d+64+8>>2];c[O+64+12>>2]=c[d+64+12>>2];c[O+64+16>>2]=c[d+80>>2];c[O+64+16+4>>2]=c[d+80+4>>2];c[O+64+16+8>>2]=c[d+80+8>>2];c[O+64+16+12>>2]=c[d+80+12>>2];c[O+64+32>>2]=c[d+96>>2];c[O+64+32+4>>2]=c[d+96+4>>2];c[O+64+32+8>>2]=c[d+96+8>>2];c[O+64+32+12>>2]=c[d+96+12>>2];E=O+64+48|0;c[E>>2]=c[d+112>>2];c[E+4>>2]=c[d+112+4>>2];c[E+8>>2]=c[d+112+8>>2];c[E+12>>2]=c[d+112+12>>2];G=+f[D>>2];H=+f[E>>2];I=+f[O+128+52>>2];J=+f[O+64+52>>2];K=+f[O+128+56>>2];L=+f[O+64+56>>2];f[D>>2]=G-(G+H)*.5;f[O+128+52>>2]=I-(I+J)*.5;f[O+128+56>>2]=K-(K+L)*.5;f[E>>2]=H-(G+H)*.5;f[O+64+52>>2]=J-(I+J)*.5;f[O+64+56>>2]=L-(K+L)*.5;if(((c[(c[b+28>>2]|0)+4>>2]|0)+-17|0)>>>0<2)D=((c[(c[b+32>>2]|0)+4>>2]|0)+-17|0)>>>0<2;else D=0;v=+f[b+44>>2];u=+f[b+48>>2];c[6864]=(c[6864]|0)+1;E=a[b+52>>0]|0;c[b+64>>2]=0;c[b+4>>2]=0;c[b+8>>2]=1065353216;c[b+12>>2]=0;f[b+16>>2]=0.0;c[b+68>>2]=0;c[b+60>>2]=-1;q=c[b+24>>2]|0;a[q+312>>0]=0;c[q>>2]=0;a[q+356>>0]=1;c[q+292>>2]=1566444395;c[q+296>>2]=1566444395;c[q+300>>2]=1566444395;f[q+304>>2]=0.0;c[q+336>>2]=0;c[q+336+4>>2]=0;c[q+336+8>>2]=0;c[q+336+12>>2]=0;a[q+336+16>>0]=0;a[q+332>>0]=a[q+332>>0]&-16;q=0;l=999999984306749440.0;do{o=+f[b+4>>2];m=+f[b+8>>2];j=+f[b+12>>2];p=+f[d+4>>2]*-o+ +f[d+20>>2]*-m+ +f[d+36>>2]*-j;r=+f[d+8>>2]*-o+ +f[d+24>>2]*-m+ +f[d+40>>2]*-j;f[O+48>>2]=+f[d>>2]*-o+ +f[d+16>>2]*-m+ +f[d+32>>2]*-j;f[O+48+4>>2]=p;f[O+48+8>>2]=r;f[O+48+12>>2]=0.0;r=o*+f[d+68>>2]+m*+f[d+84>>2]+j*+f[d+100>>2];p=o*+f[d+72>>2]+m*+f[d+88>>2]+j*+f[d+104>>2];f[O+32>>2]=o*+f[d+64>>2]+m*+f[d+80>>2]+j*+f[d+96>>2];f[O+32+4>>2]=r;f[O+32+8>>2]=p;f[O+32+12>>2]=0.0;rd(O+16|0,c[b+28>>2]|0,O+48|0);rd(O,c[b+32>>2]|0,O+32|0);p=+f[O+16>>2];r=+f[O+16+4>>2];j=+f[O+16+8>>2];m=p*+f[O+128>>2]+r*+f[O+128+4>>2]+j*+f[O+128+8>>2]+ +f[O+128+48>>2];o=p*+f[O+128+16>>2]+r*+f[O+128+20>>2]+j*+f[O+128+24>>2]+ +f[O+128+52>>2];j=p*+f[O+128+32>>2]+r*+f[O+128+36>>2]+j*+f[O+128+40>>2]+ +f[O+128+56>>2];r=+f[O>>2];p=+f[O+4>>2];t=+f[O+8>>2];k=r*+f[O+64>>2]+p*+f[O+64+4>>2]+t*+f[O+64+8>>2]+ +f[O+64+48>>2];n=r*+f[O+64+16>>2]+p*+f[O+64+20>>2]+t*+f[O+64+24>>2]+ +f[O+64+52>>2];t=r*+f[O+64+32>>2]+p*+f[O+64+36>>2]+t*+f[O+64+40>>2]+ +f[O+64+56>>2];p=D?0.0:t;r=D?0.0:j;t=D?0.0:j-t;j=(m-k)*+f[b+4>>2]+(o-n)*+f[b+8>>2]+t*+f[b+12>>2];if(j>0.0?j*j>l*+f[d+128>>2]:0){c[b+68>>2]=10;q=1;h=0}else S=7;do if((S|0)==7){S=0;B=c[b+24>>2]|0;C=c[B>>2]|0;if((C|0)>0){i=+f[B+308>>2];h=0;A=0;do{x=m-k-+f[B+4+(A<<4)>>2];y=o-n-+f[B+4+(A<<4)+4>>2];z=t-+f[B+4+(A<<4)+8>>2];h=h|x*x+y*y+z*z<=i;A=A+1|0}while((A|0)!=(C|0))}else h=0;if((+f[B+304>>2]==0.0?t==+f[B+300>>2]:0)?o-n==+f[B+296>>2]:0){if(m-k==+f[B+292>>2]|h)S=15}else S=14;if((S|0)==14?(S=0,h):0)S=15;if((S|0)==15){S=0;c[b+68>>2]=1;q=1;h=0;break}i=l-j;if(i<=l*9.999999974752427e-07){c[b+68>>2]=!(i<=0.0)?11:2;q=1;h=0;break}f[B+292>>2]=m-k;f[B+296>>2]=o-n;f[B+300>>2]=t;f[B+304>>2]=0.0;a[B+356>>0]=1;f[B+4+(C<<4)>>2]=m-k;f[B+4+(C<<4)+4>>2]=o-n;f[B+4+(C<<4)+8>>2]=t;f[B+4+(C<<4)+12>>2]=0.0;h=c[B>>2]|0;f[B+84+(h<<4)>>2]=m;f[B+84+(h<<4)+4>>2]=o;f[B+84+(h<<4)+8>>2]=r;f[B+84+(h<<4)+12>>2]=0.0;h=c[B>>2]|0;f[B+164+(h<<4)>>2]=k;f[B+164+(h<<4)+4>>2]=n;f[B+164+(h<<4)+8>>2]=p;f[B+164+(h<<4)+12>>2]=0.0;c[B>>2]=(c[B>>2]|0)+1;h=c[b+24>>2]|0;C=ac(h)|0;i=+f[h+276>>2];j=+f[h+280>>2];k=+f[h+284>>2];h=c[h+288>>2]|0;if(!C){c[b+68>>2]=3;q=1;h=0;break}if(i*i+j*j+k*k<9.999999974752427e-07){f[b+4>>2]=i;f[b+8>>2]=j;f[b+12>>2]=k;c[b+16>>2]=h;c[b+68>>2]=6;q=1;h=0;break}if(l-(i*i+j*j+k*k)<=l*1.1920928955078125e-07){c[b+68>>2]=12;q=1;h=0;l=i*i+j*j+k*k;break}f[b+4>>2]=i;f[b+8>>2]=j;f[b+12>>2]=k;c[b+16>>2]=h;C=c[b+64>>2]|0;c[b+64>>2]=C+1;if((C|0)<=1e3)if((c[c[b+24>>2]>>2]|0)==4){c[b+68>>2]=13;h=0;l=i*i+j*j+k*k}else{h=1;l=i*i+j*j+k*k}else{h=0;l=i*i+j*j+k*k}}while(0)}while(h);t=E<<24>>24==0?u:0.0;r=(E<<24>>24==0?v:0.0)+t;if(q){E=c[b+24>>2]|0;ac(E)|0;k=+f[E+260>>2];j=+f[E+264>>2];i=+f[E+268>>2];c[O+192>>2]=c[b+4>>2];c[O+192+4>>2]=c[b+4+4>>2];c[O+192+8>>2]=c[b+4+8>>2];c[O+192+12>>2]=c[b+4+12>>2];m=+f[b+4>>2];n=+f[b+8>>2];o=+f[b+12>>2];if(m*m+n*n+o*o<.0001)c[b+68>>2]=5;if(m*m+n*n+o*o>1.4210854715202004e-14){y=1.0/+s(+(m*m+n*n+o*o));f[O+192>>2]=y*+f[O+192>>2];f[M>>2]=y*+f[M>>2];f[N>>2]=y*+f[N>>2];z=t/+s(+l);h=1;l=1.0/y-r;q=1;k=z*m+k;j=z*n+j;i=z*o+i}else{h=2;l=0.0;q=0}c[b+60>>2]=h}else{l=0.0;q=0;k=0.0;j=0.0;i=0.0}if((c[b+72>>2]|0)!=0?(c[b+20>>2]|0)!=0:0)h=r+l<.01&(c[b+68>>2]|0)!=0;else h=0;A=q^1;do if(h|A?(F=c[b+20>>2]|0,(F|0)!=0):0){c[6863]=(c[6863]|0)+1;c[b+4>>2]=0;c[b+4+4>>2]=0;c[b+4+8>>2]=0;c[b+4+12>>2]=0;if(nb[c[(c[F>>2]|0)+8>>2]&31](F,c[b+24>>2]|0,c[b+28>>2]|0,c[b+32>>2]|0,O+128|0,O+64|0,b+4|0,O+48|0,O+32|0,g)|0){n=+f[O+32>>2];o=+f[O+48>>2];p=+f[O+32+4>>2];r=+f[O+48+4>>2];t=+f[O+32+8>>2];u=+f[O+48+8>>2];if(!((n-o)*(n-o)+(p-r)*(p-r)+(t-u)*(t-u)<=1.4210854715202004e-14)){m=(n-o)*(n-o)+(p-r)*(p-r)+(t-u)*(t-u);w=n-o;x=t-u;y=0.0;z=p-r}else{w=+f[b+4>>2];z=+f[b+8>>2];x=+f[b+12>>2];m=w*w+z*z+x*x;y=+f[b+16>>2]}if(m>1.4210854715202004e-14){v=1.0/+s(+m);m=-+s(+((o-n)*(o-n)+(r-p)*(r-p)+(u-t)*(u-t)));if(l>m|A){k=+f[O+32>>2];j=+f[O+32+4>>2];i=+f[O+32+8>>2];f[O+192>>2]=w*v;f[M>>2]=z*v;f[N>>2]=x*v;f[O+192+12>>2]=y;c[b+60>>2]=3;l=m;break}else h=8}else h=9;c[b+60>>2]=h;if(q)break;Ta=O;return}else{n=+f[b+4>>2];o=+f[b+8>>2];p=+f[b+12>>2];if(!(n*n+o*o+p*p>0.0)){if(q)break;Ta=O;return}y=+f[O+48>>2]-+f[O+32>>2];z=+f[O+48+4>>2]-+f[O+32+4>>2];m=+f[O+48+8>>2]-+f[O+32+8>>2];m=+s(+(y*y+z*z+m*m))-r;if(m>2];j=t*o+ +f[O+32+4>>2];i=t*p+ +f[O+32+8>>2];c[O+192>>2]=c[b+4>>2];c[O+192+4>>2]=c[b+4+4>>2];c[O+192+8>>2]=c[b+4+8>>2];c[O+192+12>>2]=c[b+4+12>>2];x=+f[O+192>>2];y=+f[M>>2];z=+f[N>>2];l=1.0/+s(+(x*x+y*y+z*z));f[O+192>>2]=x*l;f[M>>2]=y*l;f[N>>2]=z*l;c[b+60>>2]=6;l=m;break}c[b+60>>2]=5;if(q)break;Ta=O;return}}else S=51;while(0);if((S|0)==51)if(!q){Ta=O;return}if(!(l<0.0)?!(l*l<+f[d+128>>2]):0){Ta=O;return}if(c[b+76>>2]|0?(S=c[b+28>>2]|0,Cb[c[(c[S>>2]|0)+8>>2]&127](S,O+128|0,O+48|0,O+32|0),x=(+f[O+32>>2]+ +f[O+48>>2])*.5,y=(+f[O+32+4>>2]+ +f[O+48+4>>2])*.5,z=(+f[O+32+8>>2]+ +f[O+48+8>>2])*.5,S=c[b+32>>2]|0,Cb[c[(c[S>>2]|0)+8>>2]&127](S,O+64|0,O+48|0,O+32|0),P=+f[O+192>>2],Q=+f[M>>2],R=+f[N>>2],(x-(+f[O+48>>2]+ +f[O+32>>2])*.5)*P+(y-(+f[O+48+4>>2]+ +f[O+32+4>>2])*.5)*Q+(z-(+f[O+48+8>>2]+ +f[O+32+8>>2])*.5)*R<0.0):0){f[O+192>>2]=-P;f[M>>2]=-Q;f[N>>2]=-R}c[b+4>>2]=c[O+192>>2];c[b+4+4>>2]=c[O+192+4>>2];c[b+4+8>>2]=c[O+192+8>>2];c[b+4+12>>2]=c[O+192+12>>2];f[b+56>>2]=l;S=c[(c[e>>2]|0)+16>>2]|0;f[O+48>>2]=(G+H)*.5+k;f[O+48+4>>2]=(I+J)*.5+j;f[O+48+8>>2]=(K+L)*.5+i;f[O+48+12>>2]=0.0;Ab[S&31](e,O+192|0,O+48|0,l);Ta=O;return}function xc(d,e,g,h){d=d|0;e=e|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0;c[d+168>>2]=c[d+152>>2];c[e>>2]=10624;c[e+52>>2]=282;a[e+60>>0]=0;a[e+80>>0]=1;c[e+76>>2]=0;c[e+68>>2]=0;c[e+72>>2]=0;a[e+100>>0]=1;c[e+96>>2]=0;c[e+88>>2]=0;c[e+92>>2]=0;a[e+120>>0]=1;c[e+116>>2]=0;c[e+108>>2]=0;c[e+112>>2]=0;a[e+140>>0]=1;c[e+136>>2]=0;c[e+128>>2]=0;c[e+132>>2]=0;c[e+144>>2]=0;a[e+164>>0]=1;c[e+160>>2]=0;c[e+152>>2]=0;c[e+156>>2]=0;c[e+168>>2]=0;c[e+4>>2]=-8388609;c[e+8>>2]=-8388609;c[e+12>>2]=-8388609;f[e+16>>2]=0.0;c[e+20>>2]=2139095039;c[e+24>>2]=2139095039;c[e+28>>2]=2139095039;f[e+32>>2]=0.0;g=c[d+56>>2]|0;if(h){c[e+56>>2]=wO(g|0)|0;a[e+4>>0]=a[d+4+3>>0]|0;a[e+5>>0]=a[d+4+2>>0]|0;a[e+6>>0]=a[d+4+1>>0]|0;a[e+7>>0]=a[d+4>>0]|0;a[e+8>>0]=a[d+8+3>>0]|0;a[e+9>>0]=a[d+8+2>>0]|0;a[e+10>>0]=a[d+8+1>>0]|0;a[e+11>>0]=a[d+8>>0]|0;a[e+12>>0]=a[d+12+3>>0]|0;a[e+13>>0]=a[d+12+2>>0]|0;a[e+14>>0]=a[d+12+1>>0]|0;a[e+15>>0]=a[d+12>>0]|0;a[e+16>>0]=a[d+16+3>>0]|0;a[e+17>>0]=a[d+16+2>>0]|0;a[e+18>>0]=a[d+16+1>>0]|0;a[e+19>>0]=a[d+16>>0]|0;a[e+20>>0]=a[d+20+3>>0]|0;a[e+21>>0]=a[d+20+2>>0]|0;a[e+22>>0]=a[d+20+1>>0]|0;a[e+23>>0]=a[d+20>>0]|0;a[e+24>>0]=a[d+24+3>>0]|0;a[e+25>>0]=a[d+24+2>>0]|0;a[e+26>>0]=a[d+24+1>>0]|0;a[e+27>>0]=a[d+24>>0]|0;a[e+28>>0]=a[d+28+3>>0]|0;a[e+29>>0]=a[d+28+2>>0]|0;a[e+30>>0]=a[d+28+1>>0]|0;a[e+31>>0]=a[d+28>>0]|0;a[e+32>>0]=a[d+32+3>>0]|0;a[e+33>>0]=a[d+32+2>>0]|0;a[e+34>>0]=a[d+32+1>>0]|0;a[e+35>>0]=a[d+32>>0]|0;a[e+36>>0]=a[d+36+3>>0]|0;a[e+37>>0]=a[d+36+2>>0]|0;a[e+38>>0]=a[d+36+1>>0]|0;a[e+39>>0]=a[d+36>>0]|0;a[e+40>>0]=a[d+40+3>>0]|0;a[e+41>>0]=a[d+40+2>>0]|0;a[e+42>>0]=a[d+40+1>>0]|0;a[e+43>>0]=a[d+40>>0]|0;a[e+44>>0]=a[d+44+3>>0]|0;a[e+45>>0]=a[d+44+2>>0]|0;a[e+46>>0]=a[d+44+1>>0]|0;a[e+47>>0]=a[d+44>>0]|0;a[e+48>>0]=a[d+48+3>>0]|0;a[e+49>>0]=a[d+48+2>>0]|0;a[e+50>>0]=a[d+48+1>>0]|0;a[e+51>>0]=a[d+48>>0]|0;c[e+144>>2]=wO(c[d+144>>2]|0)|0;g=wO(c[d+168>>2]|0)|0}else{c[e+56>>2]=g;c[e+4>>2]=c[d+4>>2];c[e+4+4>>2]=c[d+4+4>>2];c[e+4+8>>2]=c[d+4+8>>2];c[e+4+12>>2]=c[d+4+12>>2];c[e+20>>2]=c[d+20>>2];c[e+20+4>>2]=c[d+20+4>>2];c[e+20+8>>2]=c[d+20+8>>2];c[e+20+12>>2]=c[d+20+12>>2];c[e+36>>2]=c[d+36>>2];c[e+36+4>>2]=c[d+36+4>>2];c[e+36+8>>2]=c[d+36+8>>2];c[e+36+12>>2]=c[d+36+12>>2];c[e+144>>2]=c[d+144>>2];g=c[d+168>>2]|0}c[e+168>>2]=g;a[e+60>>0]=a[d+60>>0]|0;k=c[d+56>>2]|0;if(!(a[d+60>>0]|0)){g=c[e+96>>2]|0;if(g|0){if(a[e+100>>0]|0){c[6880]=(c[6880]|0)+1;kd(c[g+-4>>2]|0)}c[e+96>>2]=0}a[e+100>>0]=0;c[e+96>>2]=e+172;c[e+88>>2]=k;c[e+92>>2]=k;if(h)if((k|0)>0){i=c[d+96>>2]|0;g=e+172|0;j=0;do{l=i+(j<<6)|0;n=g+(j<<6)|0;a[n>>0]=a[l+3>>0]|0;a[n+1>>0]=a[l+2>>0]|0;a[n+2>>0]=a[l+1>>0]|0;a[n+3>>0]=a[l>>0]|0;n=i+(j<<6)+4|0;l=g+(j<<6)+4|0;a[l>>0]=a[n+3>>0]|0;a[l+1>>0]=a[n+2>>0]|0;a[l+2>>0]=a[n+1>>0]|0;a[l+3>>0]=a[n>>0]|0;l=i+(j<<6)+8|0;n=g+(j<<6)+8|0;a[n>>0]=a[l+3>>0]|0;a[n+1>>0]=a[l+2>>0]|0;a[n+2>>0]=a[l+1>>0]|0;a[n+3>>0]=a[l>>0]|0;n=i+(j<<6)+12|0;g=g+(j<<6)+12|0;a[g>>0]=a[n+3>>0]|0;a[g+1>>0]=a[n+2>>0]|0;a[g+2>>0]=a[n+1>>0]|0;a[g+3>>0]=a[n>>0]|0;g=c[d+96>>2]|0;n=g+(j<<6)+16|0;l=c[e+96>>2]|0;m=l+(j<<6)+16|0;a[m>>0]=a[n+3>>0]|0;a[m+1>>0]=a[n+2>>0]|0;a[m+2>>0]=a[n+1>>0]|0;a[m+3>>0]=a[n>>0]|0;m=g+(j<<6)+20|0;n=l+(j<<6)+20|0;a[n>>0]=a[m+3>>0]|0;a[n+1>>0]=a[m+2>>0]|0;a[n+2>>0]=a[m+1>>0]|0;a[n+3>>0]=a[m>>0]|0;n=g+(j<<6)+24|0;m=l+(j<<6)+24|0;a[m>>0]=a[n+3>>0]|0;a[m+1>>0]=a[n+2>>0]|0;a[m+2>>0]=a[n+1>>0]|0;a[m+3>>0]=a[n>>0]|0;g=g+(j<<6)+28|0;l=l+(j<<6)+28|0;a[l>>0]=a[g+3>>0]|0;a[l+1>>0]=a[g+2>>0]|0;a[l+2>>0]=a[g+1>>0]|0;a[l+3>>0]=a[g>>0]|0;i=c[d+96>>2]|0;l=wO(c[i+(j<<6)+32>>2]|0)|0;g=c[e+96>>2]|0;c[g+(j<<6)+32>>2]=l;c[g+(j<<6)+36>>2]=wO(c[i+(j<<6)+36>>2]|0)|0;c[g+(j<<6)+40>>2]=wO(c[i+(j<<6)+40>>2]|0)|0;j=j+1|0}while((j|0)!=(k|0));i=29}else i=28;else if((k|0)>0){i=c[d+96>>2]|0;g=e+172|0;j=0;do{m=i+(j<<6)|0;n=g+(j<<6)|0;c[n>>2]=c[m>>2];c[n+4>>2]=c[m+4>>2];c[n+8>>2]=c[m+8>>2];c[n+12>>2]=c[m+12>>2];n=(c[d+96>>2]|0)+(j<<6)+16|0;g=(c[e+96>>2]|0)+(j<<6)+16|0;c[g>>2]=c[n>>2];c[g+4>>2]=c[n+4>>2];c[g+8>>2]=c[n+8>>2];c[g+12>>2]=c[n+12>>2];i=c[d+96>>2]|0;g=c[e+96>>2]|0;c[g+(j<<6)+32>>2]=c[i+(j<<6)+32>>2];c[g+(j<<6)+36>>2]=c[i+(j<<6)+36>>2];c[g+(j<<6)+40>>2]=c[i+(j<<6)+40>>2];j=j+1|0}while((j|0)!=(k|0));i=29}else i=28;if((i|0)==28){g=k<<6;i=32}else if((i|0)==29)if(g)if((a[e+100>>0]|0)==0|(g|0)==0){g=k<<6;i=32}else{c[6880]=(c[6880]|0)+1;kd(c[g+-4>>2]|0);g=k<<6;i=32}else g=k<<6;if((i|0)==32)c[e+96>>2]=0;c[e+88>>2]=0;c[e+88+4>>2]=0;c[e+88+8>>2]=0;a[e+88+12>>0]=0}else{g=c[e+136>>2]|0;if(g|0){if(a[e+140>>0]|0){c[6880]=(c[6880]|0)+1;kd(c[g+-4>>2]|0)}c[e+136>>2]=0}a[e+140>>0]=0;c[e+136>>2]=e+172;c[e+128>>2]=k;c[e+132>>2]=k;if(h){if((k|0)>0){g=c[d+136>>2]|0;i=0;do{b[e+172+(i<<4)>>1]=zY(b[g+(i<<4)>>1]|0)|0;b[e+172+(i<<4)+2>>1]=zY(b[g+(i<<4)+2>>1]|0)|0;b[e+172+(i<<4)+4>>1]=zY(b[g+(i<<4)+4>>1]|0)|0;b[e+172+(i<<4)+6>>1]=zY(b[g+(i<<4)+6>>1]|0)|0;b[e+172+(i<<4)+8>>1]=zY(b[g+(i<<4)+8>>1]|0)|0;b[e+172+(i<<4)+10>>1]=zY(b[g+(i<<4)+10>>1]|0)|0;c[e+172+(i<<4)+12>>2]=wO(c[g+(i<<4)+12>>2]|0)|0;i=i+1|0}while((i|0)!=(k|0))}}else if((k|0)>0){g=c[d+136>>2]|0;i=0;do{b[e+172+(i<<4)>>1]=b[g+(i<<4)>>1]|0;b[e+172+(i<<4)+2>>1]=b[g+(i<<4)+2>>1]|0;b[e+172+(i<<4)+4>>1]=b[g+(i<<4)+4>>1]|0;b[e+172+(i<<4)+6>>1]=b[g+(i<<4)+6>>1]|0;b[e+172+(i<<4)+8>>1]=b[g+(i<<4)+8>>1]|0;b[e+172+(i<<4)+10>>1]=b[g+(i<<4)+10>>1]|0;c[e+172+(i<<4)+12>>2]=c[g+(i<<4)+12>>2];i=i+1|0}while((i|0)!=(k|0))}c[e+128>>2]=0;c[e+128+4>>2]=0;c[e+128+8>>2]=0;a[e+128+12>>0]=0;g=k<<4}k=e+172+g|0;g=c[d+168>>2]|0;i=c[e+160>>2]|0;if(i|0){if(a[e+164>>0]|0){c[6880]=(c[6880]|0)+1;kd(c[i+-4>>2]|0)}c[e+160>>2]=0}a[e+164>>0]=0;c[e+160>>2]=k;c[e+152>>2]=g;c[e+156>>2]=g;j=c[d+168>>2]|0;if(h){if((j|0)<=0){c[e>>2]=0;c[e+152>>2]=0;c[e+152+4>>2]=0;c[e+152+8>>2]=0;a[e+152+12>>0]=0;return 1}g=c[d+160>>2]|0;i=0;do{b[k+(i<<5)>>1]=zY(b[g+(i<<5)>>1]|0)|0;b[k+(i<<5)+2>>1]=zY(b[g+(i<<5)+2>>1]|0)|0;b[k+(i<<5)+4>>1]=zY(b[g+(i<<5)+4>>1]|0)|0;b[k+(i<<5)+6>>1]=zY(b[g+(i<<5)+6>>1]|0)|0;b[k+(i<<5)+8>>1]=zY(b[g+(i<<5)+8>>1]|0)|0;b[k+(i<<5)+10>>1]=zY(b[g+(i<<5)+10>>1]|0)|0;c[k+(i<<5)+12>>2]=wO(c[g+(i<<5)+12>>2]|0)|0;c[k+(i<<5)+16>>2]=wO(c[g+(i<<5)+16>>2]|0)|0;i=i+1|0}while((i|0)!=(j|0));c[e>>2]=0;c[e+152>>2]=0;c[e+152+4>>2]=0;c[e+152+8>>2]=0;a[e+152+12>>0]=0;return 1}else{if((j|0)<=0){c[e>>2]=0;c[e+152>>2]=0;c[e+152+4>>2]=0;c[e+152+8>>2]=0;a[e+152+12>>0]=0;return 1}g=c[d+160>>2]|0;i=0;do{b[k+(i<<5)>>1]=b[g+(i<<5)>>1]|0;b[k+(i<<5)+2>>1]=b[g+(i<<5)+2>>1]|0;b[k+(i<<5)+4>>1]=b[g+(i<<5)+4>>1]|0;b[k+(i<<5)+6>>1]=b[g+(i<<5)+6>>1]|0;b[k+(i<<5)+8>>1]=b[g+(i<<5)+8>>1]|0;b[k+(i<<5)+10>>1]=b[g+(i<<5)+10>>1]|0;c[k+(i<<5)+12>>2]=c[g+(i<<5)+12>>2];c[k+(i<<5)+16>>2]=c[g+(i<<5)+16>>2];c[k+(i<<5)+20>>2]=0;c[k+(i<<5)+24>>2]=0;c[k+(i<<5)+28>>2]=0;i=i+1|0}while((i|0)<(c[d+168>>2]|0));c[e>>2]=0;c[e+152>>2]=0;c[e+152+4>>2]=0;c[e+152+8>>2]=0;a[e+152+12>>0]=0;return 1}return 0}function yc(b,d,e,g,h,i,j,k,l,m){b=b|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;var n=0.0,o=0,p=0,q=0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0,A=0.0,B=0,C=0,D=0.0,E=0.0,F=0.0,G=0.0,H=0.0;B=Ta;Ta=Ta+4224|0;if(((c[e+4>>2]|0)+-17|0)>>>0<2)z=((c[g+4>>2]|0)+-17|0)>>>0<2;else z=0;b=0;do{He();u=+f[24320+(b<<4)>>2];v=+f[24320+(b<<4)+4>>2];w=+f[24320+(b<<4)+8>>2];y=+f[h+4>>2]*-u+ +f[h+20>>2]*-v+ +f[h+36>>2]*-w;x=+f[h+8>>2]*-u+ +f[h+24>>2]*-v+ +f[h+40>>2]*-w;f[B+992+(b<<4)>>2]=+f[h>>2]*-u+ +f[h+16>>2]*-v+ +f[h+32>>2]*-w;f[B+992+(b<<4)+4>>2]=y;f[B+992+(b<<4)+8>>2]=x;f[B+992+(b<<4)+12>>2]=0.0;x=u*+f[i+4>>2]+v*+f[i+20>>2]+w*+f[i+36>>2];y=u*+f[i+8>>2]+v*+f[i+24>>2]+w*+f[i+40>>2];f[B+(b<<4)>>2]=u*+f[i>>2]+v*+f[i+16>>2]+w*+f[i+32>>2];f[B+(b<<4)+4>>2]=x;f[B+(b<<4)+8>>2]=y;f[B+(b<<4)+12>>2]=0.0;b=b+1|0}while((b|0)!=42);b=eb[c[(c[e>>2]|0)+84>>2]&255](e)|0;if((b|0)>0){o=0;p=42;while(1){zb[c[(c[e>>2]|0)+88>>2]&127](e,o,B+4144|0);x=+f[B+4144>>2];y=+f[B+4144+4>>2];w=+f[B+4144+8>>2];v=x*+f[h+16>>2]+y*+f[h+20>>2]+w*+f[h+24>>2];u=x*+f[h+32>>2]+y*+f[h+36>>2]+w*+f[h+40>>2];f[B+4144>>2]=+f[h>>2]*x+ +f[h+4>>2]*y+ +f[h+8>>2]*w;f[B+4144+4>>2]=v;f[B+4144+8>>2]=u;f[B+4144+12>>2]=0.0;He();q=24320+(p<<4)|0;c[q>>2]=c[B+4144>>2];c[q+4>>2]=c[B+4144+4>>2];c[q+8>>2]=c[B+4144+8>>2];c[q+12>>2]=c[B+4144+12>>2];u=+f[B+4144>>2];v=+f[B+4144+4>>2];w=+f[B+4144+8>>2];y=+f[h+4>>2]*-u+ +f[h+20>>2]*-v+ +f[h+36>>2]*-w;x=+f[h+8>>2]*-u+ +f[h+24>>2]*-v+ +f[h+40>>2]*-w;f[B+992+(p<<4)>>2]=+f[h>>2]*-u+ +f[h+16>>2]*-v+ +f[h+32>>2]*-w;f[B+992+(p<<4)+4>>2]=y;f[B+992+(p<<4)+8>>2]=x;f[B+992+(p<<4)+12>>2]=0.0;x=u*+f[i+4>>2]+v*+f[i+20>>2]+w*+f[i+36>>2];y=u*+f[i+8>>2]+v*+f[i+24>>2]+w*+f[i+40>>2];f[B+(p<<4)>>2]=u*+f[i>>2]+v*+f[i+16>>2]+w*+f[i+32>>2];f[B+(p<<4)+4>>2]=x;f[B+(p<<4)+8>>2]=y;f[B+(p<<4)+12>>2]=0.0;o=o+1|0;if((o|0)==(b|0))break;else p=p+1|0}p=b+42|0}else p=42;b=eb[c[(c[g>>2]|0)+84>>2]&255](g)|0;if((b|0)>0){o=0;q=p;while(1){zb[c[(c[g>>2]|0)+88>>2]&127](g,o,B+4144|0);x=+f[B+4144>>2];y=+f[B+4144+4>>2];w=+f[B+4144+8>>2];v=x*+f[i+16>>2]+y*+f[i+20>>2]+w*+f[i+24>>2];u=x*+f[i+32>>2]+y*+f[i+36>>2]+w*+f[i+40>>2];f[B+4144>>2]=+f[i>>2]*x+ +f[i+4>>2]*y+ +f[i+8>>2]*w;f[B+4144+4>>2]=v;f[B+4144+8>>2]=u;f[B+4144+12>>2]=0.0;He();C=24320+(q<<4)|0;c[C>>2]=c[B+4144>>2];c[C+4>>2]=c[B+4144+4>>2];c[C+8>>2]=c[B+4144+8>>2];c[C+12>>2]=c[B+4144+12>>2];u=+f[B+4144>>2];v=+f[B+4144+4>>2];w=+f[B+4144+8>>2];y=+f[h+4>>2]*-u+ +f[h+20>>2]*-v+ +f[h+36>>2]*-w;x=+f[h+8>>2]*-u+ +f[h+24>>2]*-v+ +f[h+40>>2]*-w;f[B+992+(q<<4)>>2]=+f[h>>2]*-u+ +f[h+16>>2]*-v+ +f[h+32>>2]*-w;f[B+992+(q<<4)+4>>2]=y;f[B+992+(q<<4)+8>>2]=x;f[B+992+(q<<4)+12>>2]=0.0;x=u*+f[i+4>>2]+v*+f[i+20>>2]+w*+f[i+36>>2];y=u*+f[i+8>>2]+v*+f[i+24>>2]+w*+f[i+40>>2];f[B+(q<<4)>>2]=u*+f[i>>2]+v*+f[i+16>>2]+w*+f[i+32>>2];f[B+(q<<4)+4>>2]=x;f[B+(q<<4)+8>>2]=y;f[B+(q<<4)+12>>2]=0.0;o=o+1|0;if((o|0)==(b|0))break;else q=q+1|0}p=b+p|0}Cb[c[(c[e>>2]|0)+76>>2]&127](e,B+992|0,B+2976|0,p);Cb[c[(c[g>>2]|0)+76>>2]&127](g,B,B+1984|0,p);if((p|0)>0){n=0.0;v=0.0;u=0.0;b=0;t=0.0;r=999999984306749440.0;do{He();s=+f[24320+(b<<4)>>2];w=+f[24320+(b<<4)+4>>2];y=+f[24320+(b<<4)+12>>2];x=z?0.0:+f[24320+(b<<4)+8>>2];if(s*s+w*w+x*x>.01?(E=+f[B+2976+(b<<4)>>2],D=+f[B+2976+(b<<4)+4>>2],A=+f[B+2976+(b<<4)+8>>2],H=+f[B+1984+(b<<4)>>2],G=+f[B+1984+(b<<4)+4>>2],F=+f[B+1984+(b<<4)+8>>2],A=s*(H*+f[i>>2]+G*+f[i+4>>2]+F*+f[i+8>>2]+ +f[i+48>>2]-(E*+f[h>>2]+D*+f[h+4>>2]+A*+f[h+8>>2]+ +f[h+48>>2]))+w*(H*+f[i+16>>2]+G*+f[i+20>>2]+F*+f[i+24>>2]+ +f[i+52>>2]-(E*+f[h+16>>2]+D*+f[h+20>>2]+A*+f[h+24>>2]+ +f[h+52>>2]))+x*(z?0.0:H*+f[i+32>>2]+G*+f[i+36>>2]+F*+f[i+40>>2]+ +f[i+56>>2]-(E*+f[h+32>>2]+D*+f[h+36>>2]+A*+f[h+40>>2]+ +f[h+56>>2])),A>2]|0){case 4:case 5:case 10:case 11:case 13:case 1:case 0:case 8:break;default:+Wa[c[(c[e>>2]|0)+48>>2]&31](e)}switch(c[g+4>>2]|0){case 4:case 5:case 10:case 11:case 13:case 1:case 0:case 8:break;default:+Wa[c[(c[g>>2]|0)+48>>2]&31](g)}if(r<0.0){C=0;Ta=B;return C|0}switch(c[e+4>>2]|0){case 8:{s=+f[e+28>>2]*+f[e+12>>2];break}case 0:{s=+f[e+44>>2];break}case 1:{s=+f[e+44>>2];break}case 13:{s=+f[e+44>>2];break}case 11:{s=+f[e+44>>2];break}case 10:{s=+f[e+44>>2];break}case 4:case 5:{s=+f[e+44>>2];break}default:s=+Wa[c[(c[e>>2]|0)+48>>2]&31](e)}b=c[g+4>>2]|0;switch(b|0){case 8:{b=8;n=+f[g+28>>2]*+f[g+12>>2];break}case 0:{b=0;n=+f[g+44>>2];break}case 1:{b=1;n=+f[g+44>>2];break}case 13:{b=13;n=+f[g+44>>2];break}case 11:{b=11;n=+f[g+44>>2];break}case 10:{b=10;n=+f[g+44>>2];break}case 4:case 5:{n=+f[g+44>>2];break}default:{n=+Wa[c[(c[g>>2]|0)+48>>2]&31](g);b=c[g+4>>2]|0}}n=r+(s+n+.5);c[B+4144>>2]=10820;c[B+4144+4>>2]=0;c[B+4144+8>>2]=1065353216;c[B+4144+12>>2]=0;f[B+4144+16>>2]=0.0;c[B+4144+20>>2]=0;c[B+4144+24>>2]=d;c[B+4144+28>>2]=e;c[B+4144+32>>2]=g;c[B+4144+36>>2]=c[e+4>>2];c[B+4144+40>>2]=b;f[B+4144+44>>2]=+Wa[c[(c[e>>2]|0)+48>>2]&31](e);f[B+4144+48>>2]=+Wa[c[(c[g>>2]|0)+48>>2]&31](g);a[B+4144+52>>0]=0;c[B+4144+60>>2]=-1;c[B+4144+72>>2]=1;c[B+4144+76>>2]=1;F=u*n+ +f[h+48>>2];G=v*n+ +f[h+52>>2];H=w*n+ +f[h+56>>2];c[B+4012>>2]=c[h>>2];c[B+4012+4>>2]=c[h+4>>2];c[B+4012+8>>2]=c[h+8>>2];c[B+4012+12>>2]=c[h+12>>2];c[B+4012+16>>2]=c[h+16>>2];c[B+4012+16+4>>2]=c[h+16+4>>2];c[B+4012+16+8>>2]=c[h+16+8>>2];c[B+4012+16+12>>2]=c[h+16+12>>2];c[B+4012+32>>2]=c[h+32>>2];c[B+4012+32+4>>2]=c[h+32+4>>2];c[B+4012+32+8>>2]=c[h+32+8>>2];c[B+4012+32+12>>2]=c[h+32+12>>2];f[B+4012+48>>2]=F;f[B+4012+52>>2]=G;f[B+4012+56>>2]=H;f[B+4012+60>>2]=0.0;c[B+4012+64>>2]=c[i>>2];c[B+4012+64+4>>2]=c[i+4>>2];c[B+4012+64+8>>2]=c[i+8>>2];c[B+4012+64+12>>2]=c[i+12>>2];c[B+4012+80>>2]=c[i+16>>2];c[B+4012+80+4>>2]=c[i+16+4>>2];c[B+4012+80+8>>2]=c[i+16+8>>2];c[B+4012+80+12>>2]=c[i+16+12>>2];c[B+4012+96>>2]=c[i+32>>2];c[B+4012+96+4>>2]=c[i+32+4>>2];c[B+4012+96+8>>2]=c[i+32+8>>2];c[B+4012+96+12>>2]=c[i+32+12>>2];c[B+4012+112>>2]=c[i+48>>2];c[B+4012+112+4>>2]=c[i+48+4>>2];c[B+4012+112+8>>2]=c[i+48+8>>2];c[B+4012+112+12>>2]=c[i+48+12>>2];f[B+4012+128>>2]=999999984306749440.0;c[B+3968>>2]=10704;a[B+3968+40>>0]=0;f[B+4144+4>>2]=-u;f[B+4144+8>>2]=-v;f[B+4144+12>>2]=-w;f[B+4144+16>>2]=0.0;wc(B+4144|0,B+4012|0,B+3968|0,m,0);n=n-+f[B+3968+36>>2];b=a[B+3968+40>>0]|0;if(b<<24>>24){C=B+3968+20|0;G=+f[B+3968+24>>2]-v*n;H=+f[B+3968+28>>2]-w*n;f[k>>2]=+f[C>>2]-u*n;f[k+4>>2]=G;f[k+8>>2]=H;f[k+12>>2]=0.0;c[l>>2]=c[C>>2];c[l+4>>2]=c[C+4>>2];c[l+8>>2]=c[C+8>>2];c[l+12>>2]=c[C+12>>2];f[j>>2]=u;f[j+4>>2]=v;f[j+8>>2]=w;f[j+12>>2]=t}C=b<<24>>24!=0;Ta=B;return C|0}function zc(b){b=b|0;var d=0,e=0.0,g=0.0,h=0.0,i=0,j=0,k=0.0,l=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0,C=0,D=0,E=0,F=0,G=0,H=0.0,I=0.0,J=0.0,K=0.0,L=0.0,M=0.0;G=Ta;Ta=Ta+192|0;Aj(14054);d=c[b+1112>>2]|0;if((d|0)>0){F=0;do{E=c[(c[b+1120>>2]|0)+(F<<2)>>2]|0;D=c[E+24>>2]|0;if(D){i=G+144+4|0;j=i+44|0;do{c[i>>2]=0;i=i+4|0}while((i|0)<(j|0));f[G+144>>2]=9.999999747378752e-05;f[G+144+20>>2]=1.9999999494757503e-04;f[G+144+40>>2]=2.9999998514540493e-04;if((D|0)>0){d=c[E+32>>2]|0;i=c[E+12>>2]|0;e=0.0;g=0.0;h=0.0;j=0;do{C=c[d+(j<<2)>>2]|0;B=+f[i+(j<<2)>>2];e=e+ +f[C+8>>2]*B;g=g+B*+f[C+12>>2];h=h+B*+f[C+16>>2];j=j+1|0}while((j|0)!=(D|0))}else{h=0.0;g=0.0;e=0.0}q=+f[E+128>>2];s=e*q;r=g*q;q=h*q;f[E+228>>2]=s;f[E+232>>2]=r;f[E+236>>2]=q;f[E+240>>2]=0.0;if((D|0)>0){d=c[E+32>>2]|0;i=c[E+52>>2]|0;e=9.999999747378752e-05;g=0.0;h=0.0;k=1.9999999494757503e-04;l=0.0;m=0.0;n=0.0;o=2.9999998514540493e-04;p=0.0;j=0;do{C=c[d+(j<<2)>>2]|0;w=+f[C+8>>2]-s;x=+f[C+12>>2]-r;A=+f[C+16>>2]-q;y=+f[i+(j<<4)>>2];z=+f[i+(j<<4)+4>>2];B=+f[i+(j<<4)+8>>2];e=w*y+e;g=w*z+g;h=w*B+h;p=x*y+p;k=x*z+k;l=x*B+l;m=A*y+m;n=A*z+n;o=A*B+o;j=j+1|0}while((j|0)!=(D|0));f[G+144>>2]=e;f[G+144+4>>2]=g;f[G+144+8>>2]=h;f[G+144+16>>2]=p;f[G+144+20>>2]=k;f[G+144+24>>2]=l;f[G+144+32>>2]=m;f[G+144+36>>2]=n;f[G+144+40>>2]=o}if((a[25448]|0)==0?kP(25448)|0:0){f[6524]=9.999999747378752e-05;c[6525]=16;kO(25448)}Sc(G+144|0,G+96|0,G+48|0);c[E+108>>2]=c[E+228>>2];c[E+108+4>>2]=c[E+228+4>>2];c[E+108+8>>2]=c[E+228+8>>2];c[E+108+12>>2]=c[E+228+12>>2];c[E+60>>2]=c[G+96>>2];c[E+60+4>>2]=c[G+96+4>>2];c[E+60+8>>2]=c[G+96+8>>2];c[E+60+12>>2]=c[G+96+12>>2];c[E+76>>2]=c[G+96+16>>2];c[E+76+4>>2]=c[G+96+16+4>>2];c[E+76+8>>2]=c[G+96+16+8>>2];c[E+76+12>>2]=c[G+96+16+12>>2];c[E+92>>2]=c[G+96+32>>2];c[E+92+4>>2]=c[G+96+32+4>>2];c[E+92+8>>2]=c[G+96+32+8>>2];c[E+92+12>>2]=c[G+96+32+12>>2];l=+f[E+132>>2];J=+f[E+60>>2];m=+f[E+148>>2];I=+f[E+64>>2];n=+f[E+164>>2];x=+f[E+68>>2];o=+f[E+136>>2];p=+f[E+152>>2];q=+f[E+168>>2];r=+f[E+140>>2];s=+f[E+156>>2];t=+f[E+172>>2];H=+f[E+76>>2];e=+f[E+80>>2];w=+f[E+84>>2];k=+f[E+92>>2];h=+f[E+96>>2];g=+f[E+100>>2];v=(l*J+m*I+n*x)*J+(J*o+I*p+x*q)*I+(J*r+I*s+x*t)*x;u=(l*J+m*I+n*x)*H+(J*o+I*p+x*q)*e+(J*r+I*s+x*t)*w;B=(l*J+m*I+n*x)*k+(J*o+I*p+x*q)*h+(J*r+I*s+x*t)*g;A=(l*H+m*e+n*w)*J+(o*H+p*e+q*w)*I+(r*H+s*e+t*w)*x;z=(l*H+m*e+n*w)*H+(o*H+p*e+q*w)*e+(r*H+s*e+t*w)*w;y=(l*H+m*e+n*w)*k+(o*H+p*e+q*w)*h+(r*H+s*e+t*w)*g;x=J*(l*k+m*h+n*g)+(o*k+p*h+q*g)*I+(r*k+s*h+t*g)*x;w=H*(l*k+m*h+n*g)+(o*k+p*h+q*g)*e+(r*k+s*h+t*g)*w;t=(l*k+m*h+n*g)*k+(o*k+p*h+q*g)*h+(r*k+s*h+t*g)*g;f[E+180>>2]=v;f[E+184>>2]=u;f[E+188>>2]=B;f[E+192>>2]=0.0;f[E+196>>2]=A;f[E+200>>2]=z;f[E+204>>2]=y;f[E+208>>2]=0.0;f[E+212>>2]=x;f[E+216>>2]=w;f[E+220>>2]=t;f[E+224>>2]=0.0;c[E+316>>2]=0;c[E+316+4>>2]=0;c[E+316+8>>2]=0;c[E+316+12>>2]=0;c[E+316+16>>2]=0;c[E+316+20>>2]=0;c[E+316+24>>2]=0;c[E+316+28>>2]=0;if((D|0)>0){d=c[E+32>>2]|0;i=c[E+12>>2]|0;q=+f[E+228>>2];r=+f[E+232>>2];s=+f[E+236>>2];p=0.0;o=0.0;n=0.0;m=0.0;l=0.0;e=0.0;j=0;do{C=c[d+(j<<2)>>2]|0;L=+f[i+(j<<2)>>2];I=+f[C+40>>2]*L;K=L*+f[C+44>>2];L=L*+f[C+48>>2];p=I+p;f[E+316>>2]=p;o=K+o;f[E+320>>2]=o;n=L+n;f[E+324>>2]=n;H=+f[C+8>>2]-q;J=+f[C+12>>2]-r;M=+f[C+16>>2]-s;m=m+(L*J-K*M);f[E+332>>2]=m;l=I*M-L*H+l;f[E+336>>2]=l;e=K*H-I*J+e;f[E+340>>2]=e;j=j+1|0}while((j|0)!=(D|0));C=E+316|0;d=E+332|0}else{p=0.0;o=0.0;n=0.0;m=0.0;l=0.0;e=0.0;C=E+316|0;d=E+332|0}L=+f[E+128>>2];M=1.0-+f[E+356>>2];f[E+316>>2]=p*L*M;f[E+320>>2]=L*o*M;f[E+324>>2]=L*n*M;f[E+328>>2]=0.0;M=1.0-+f[E+360>>2];f[d>>2]=(v*m+u*l+B*e)*M;f[E+336>>2]=(m*A+l*z+e*y)*M;f[E+340>>2]=M*(m*x+l*w+e*t);f[E+344>>2]=0.0;i=E+244|0;j=i+72|0;do{c[i>>2]=0;i=i+4|0}while((i|0)<(j|0));e=+f[E+364>>2];a:do if(e>0.0?(c[E+24>>2]|0)>0:0){d=0;while(1){j=c[(c[E+32>>2]|0)+(d<<2)>>2]|0;i=c[E+52>>2]|0;H=+f[i+(d<<4)>>2];I=+f[i+(d<<4)+4>>2];J=+f[i+(d<<4)+8>>2];K=+f[j+8>>2];L=+f[j+12>>2];M=+f[j+16>>2];L=L+e*(H*+f[E+76>>2]+I*+f[E+80>>2]+J*+f[E+84>>2]+ +f[E+112>>2]-L);M=M+e*(H*k+I*h+J*g+ +f[E+116>>2]-M);f[j+8>>2]=K+e*(H*+f[E+60>>2]+I*+f[E+64>>2]+J*+f[E+68>>2]+ +f[E+108>>2]-K);f[j+12>>2]=L;f[j+16>>2]=M;f[j+20>>2]=0.0;d=d+1|0;if((d|0)>=(c[E+24>>2]|0))break a;k=+f[E+92>>2];h=+f[E+96>>2];g=+f[E+100>>2];e=+f[E+364>>2]}}while(0);if(a[E+377>>0]|0){d=c[E+32>>2]|0;j=c[d>>2]|0;e=+f[j+8>>2];p=+f[j+12>>2];q=+f[j+16>>2];g=+f[j+20>>2];if((D|0)>1){i=1;n=e;o=q;m=g;l=p;k=e;h=g;g=p;e=q;do{j=c[d+(i<<2)>>2]|0;J=+f[j+8>>2];n=J>2];l=K>2];o=L>2];m=M>2]=n;f[G+16+4>>2]=l;f[G+16+8>>2]=o;f[G+16+12>>2]=m;f[G+16+16>>2]=k;f[G+16+20>>2]=g;f[G+16+24>>2]=e;f[G+16+28>>2]=h;d=c[E+348>>2]|0;if(!d){d=c[b+1052>>2]|0;if(!d){c[6879]=(c[6879]|0)+1;d=Zb(63)|0;if(!d)d=0;else{c[(d+4+15&-16)+-4>>2]=d;d=d+4+15&-16}i=d;j=i+44|0;do{c[i>>2]=0;i=i+4|0}while((i|0)<(j|0))}else c[b+1052>>2]=0;c[d+32>>2]=0;c[d+36>>2]=E;c[d+40>>2]=0;c[d>>2]=c[G+16>>2];c[d+4>>2]=c[G+16+4>>2];c[d+8>>2]=c[G+16+8>>2];c[d+12>>2]=c[G+16+12>>2];c[d+16>>2]=c[G+16+16>>2];c[d+20>>2]=c[G+16+20>>2];c[d+24>>2]=c[G+16+24>>2];c[d+28>>2]=c[G+16+28>>2];bf(b+1048|0,c[b+1048>>2]|0,d);c[b+1060>>2]=(c[b+1060>>2]|0)+1;c[E+348>>2]=d}else{K=+f[b+452>>2];L=K*+f[E+320>>2]*3.0;M=K*+f[E+324>>2]*3.0;f[G>>2]=+f[C>>2]*K*3.0;f[G+4>>2]=L;f[G+8>>2]=M;f[G+12>>2]=0.0;kh(b+1048|0,d,G+16|0,G,+f[b+464>>2])|0}}d=c[b+1112>>2]|0}F=F+1|0}while((F|0)<(d|0))}d=c[2760]|0;b=(c[d+16>>2]|0)+-1|0;c[d+16>>2]=b;if(b|0){Ta=G;return}do if(c[d+4>>2]|0){Pa(G+144|0,0)|0;b=c[6878]|0;f[d+8>>2]=+f[d+8>>2]+ +(((c[G+144+4>>2]|0)-(c[b+4>>2]|0)+(((c[G+144>>2]|0)-(c[b>>2]|0)|0)*1e6|0)-(c[d+12>>2]|0)|0)>>>0)/1.0e3;if(!(c[d+16>>2]|0)){d=c[2760]|0;break}else{Ta=G;return}}while(0);c[2760]=c[d+20>>2];Ta=G;return}function Ac(d,e){d=d|0;e=+e;var g=0,h=0,i=0,j=0,k=0.0,l=0,m=0.0,n=0.0,o=0.0,p=0,q=0,r=0,s=0.0,t=0.0,u=0.0,v=0.0,w=0,x=0.0,y=0.0,z=0.0,A=0,B=0.0,C=0.0,D=0.0,E=0.0,F=0.0,G=0.0,H=0.0,I=0.0,J=0.0,K=0.0,L=0.0,M=0.0;A=Ta;Ta=Ta+464|0;Aj(14915);g=c[d+84>>2]|0;if(g|0)qb[g&63](d,e);qb[c[(c[d>>2]|0)+140>>2]&63](d,e);f[d+28>>2]=e;c[d+32>>2]=0;c[d+48>>2]=eb[c[(c[d>>2]|0)+20>>2]&255](d)|0;Aj(14958);Aj(14983);g=c[d+316>>2]|0;if((c[d+308>>2]|0)>0){h=0;do{r=c[d+24>>2]|0;vb[c[(c[r>>2]|0)+16>>2]&255](r,c[g+(h<<2)>>2]|0);h=h+1|0;g=c[d+316>>2]|0}while((h|0)<(c[d+308>>2]|0))}if(g|0){if(a[d+320>>0]|0){c[6880]=(c[6880]|0)+1;kd(c[g+-4>>2]|0)}c[d+316>>2]=0}a[d+320>>0]=1;c[d+316>>2]=0;c[d+308>>2]=0;c[d+312>>2]=0;g=c[2760]|0;r=(c[g+16>>2]|0)+-1|0;c[g+16>>2]=r;do if(!r){if(c[g+4>>2]|0){Pa(A+368|0,0)|0;r=c[6878]|0;f[g+8>>2]=+f[g+8>>2]+ +(((c[A+368+4>>2]|0)-(c[r+4>>2]|0)+(((c[A+368>>2]|0)-(c[r>>2]|0)|0)*1e6|0)-(c[g+12>>2]|0)|0)>>>0)/1.0e3;if(c[g+16>>2]|0)break;g=c[2760]|0}c[2760]=c[g+20>>2]}while(0);a:do if((c[d+232>>2]|0)>0){r=A+304+48|0;q=A+368+44|0;p=0;while(1){j=c[(c[d+240>>2]|0)+(p<<2)>>2]|0;f[j+244>>2]=1.0;b:do switch(c[j+216>>2]|0){case 2:case 5:break;default:if(((c[j+204>>2]&3|0)==0?(Vg(j+4|0,+f[j+312>>2],+f[j+316>>2],+f[j+320>>2],j+328|0,e,A+304|0),s=+f[r>>2],x=s-+f[j+52>>2],t=+f[A+304+52>>2],z=t-+f[j+56>>2],u=+f[A+304+56>>2],y=u-+f[j+60>>2],a[d+44>>0]|0):0)?(o=+f[j+252>>2],o*o!=0.0?o*o>2]|0)+4>>2]|0)<20?(c[6541]=(c[6541]|0)+1,i=c[d+68>>2]|0,i=eb[c[(c[i>>2]|0)+36>>2]&255](i)|0,l=c[d+24>>2]|0,f[A+368+4>>2]=1.0,c[A+368+12>>2]=c[j+52>>2],c[A+368+12+4>>2]=c[j+52+4>>2],c[A+368+12+8>>2]=c[j+52+8>>2],c[A+368+12+12>>2]=c[j+52+12>>2],c[A+368+28>>2]=c[r>>2],c[A+368+28+4>>2]=c[r+4>>2],c[A+368+28+8>>2]=c[r+8>>2],c[A+368+28+12>>2]=c[r+12>>2],c[A+368+76>>2]=0,c[A+368>>2]=5532,c[A+368+80>>2]=j,c[A+368+88>>2]=i,c[A+368+92>>2]=l,l=c[j+248>>2]|0,c[A+248+8>>2]=0,c[A+248+12>>2]=1065353216,c[A+248+16>>2]=1065353216,c[A+248+20>>2]=1065353216,f[A+248+24>>2]=0.0,c[A+248>>2]=8108,c[A+248+4>>2]=8,c[A+248+28>>2]=l,c[A+248+44>>2]=l,c[A+368+84>>2]=c[d+56>>2],l=c[j+188>>2]|0,b[A+368+8>>1]=b[l+4>>1]|0,b[A+368+10>>1]=b[l+6>>1]|0,c[A+184+48>>2]=c[r>>2],c[A+184+48+4>>2]=c[r+4>>2],c[A+184+48+8>>2]=c[r+8>>2],c[A+184+48+12>>2]=c[r+12>>2],c[A+184>>2]=c[j+4>>2],c[A+184+4>>2]=c[j+4+4>>2],c[A+184+8>>2]=c[j+4+8>>2],c[A+184+12>>2]=c[j+4+12>>2],c[A+184+16>>2]=c[j+20>>2],c[A+184+16+4>>2]=c[j+20+4>>2],c[A+184+16+8>>2]=c[j+20+8>>2],c[A+184+16+12>>2]=c[j+20+12>>2],c[A+184+32>>2]=c[j+36>>2],c[A+184+32+4>>2]=c[j+36+4>>2],c[A+184+32+8>>2]=c[j+36+8>>2],c[A+184+32+12>>2]=c[j+36+12>>2],xd(d,A+248|0,j+4|0,A+184|0,A+368|0,0.0),v=+f[A+368+4>>2],v<1.0):0){m=v*(s-+f[j+52>>2]);n=v*(t-+f[j+56>>2]);o=v*(u-+f[j+60>>2]);k=-(n*+f[A+368+48>>2])-m*+f[q>>2]-o*+f[A+368+52>>2];l=c[d+24>>2]|0;l=ib[c[(c[l>>2]|0)+12>>2]&63](l,j,c[A+368+76>>2]|0)|0;g=c[d+308>>2]|0;if((g|0)==(c[d+312>>2]|0)?(w=(g|0)==0?1:g<<1,(g|0)<(w|0)):0){if(!w)h=0;else{c[6879]=(c[6879]|0)+1;g=Zb((w<<2|3)+16|0)|0;if(!g)h=0;else{c[(g+4+15&-16)+-4>>2]=g;h=g+4+15&-16}g=c[d+308>>2]|0}if((g|0)>0){i=0;do{c[h+(i<<2)>>2]=c[(c[d+316>>2]|0)+(i<<2)>>2];i=i+1|0}while((i|0)!=(g|0))}i=c[d+316>>2]|0;if(i){if(a[d+320>>0]|0){c[6880]=(c[6880]|0)+1;kd(c[i+-4>>2]|0);g=c[d+308>>2]|0}c[d+316>>2]=0}a[d+320>>0]=1;c[d+316>>2]=h;c[d+312>>2]=w}c[(c[d+316>>2]|0)+(g<<2)>>2]=l;c[d+308>>2]=g+1;m=m+ +f[j+52>>2];n=n+ +f[j+56>>2];o=o+ +f[j+60>>2];i=c[A+368+76>>2]|0;M=+f[i+4>>2];L=+f[i+20>>2];K=+f[i+36>>2];J=+f[i+8>>2];I=+f[i+24>>2];H=+f[i+40>>2];G=+f[i+12>>2];E=+f[i+28>>2];C=+f[i+44>>2];F=-+f[i+52>>2];D=-+f[i+56>>2];B=-+f[i+60>>2];c[A>>2]=0;c[A+4>>2]=0;c[A+8>>2]=0;c[A+12>>2]=0;f[A+16>>2]=m*M+n*L+o*K+(M*F+L*D+K*B);f[A+20>>2]=m*J+n*I+o*H+(J*F+I*D+H*B);f[A+24>>2]=m*G+n*E+o*C+(G*F+E*D+C*B);f[A+28>>2]=0.0;c[A+64>>2]=c[q>>2];c[A+64+4>>2]=c[q+4>>2];c[A+64+8>>2]=c[q+8>>2];c[A+64+12>>2]=c[q+12>>2];f[A+80>>2]=k;f[A+84>>2]=0.0;f[A+88>>2]=0.0;f[A+92>>2]=0.0;c[A+112>>2]=0;a[A+116>>0]=0;c[A+120>>2]=0;c[A+120+4>>2]=0;c[A+120+8>>2]=0;c[A+120+12>>2]=0;c[A+120+16>>2]=0;c[A+120+20>>2]=0;c[A+120+24>>2]=0;c[A+120+28>>2]=0;i=Ie(l,A)|0;f[l+4+(i*184|0)+92>>2]=0.0;k=+f[j+224>>2]*+f[(c[A+368+76>>2]|0)+224>>2];k=k<-10.0?-10.0:k;f[l+4+(i*184|0)+84>>2]=k>10.0?10.0:k;c[l+4+(i*184|0)+48>>2]=c[j+52>>2];c[l+4+(i*184|0)+48+4>>2]=c[j+52+4>>2];c[l+4+(i*184|0)+48+8>>2]=c[j+52+8>>2];c[l+4+(i*184|0)+48+12>>2]=c[j+52+12>>2];f[l+4+(i*184|0)+32>>2]=m;f[l+4+(i*184|0)+36>>2]=n;f[l+4+(i*184|0)+40>>2]=o;f[l+4+(i*184|0)+44>>2]=0.0}g=c[2760]|0;l=(c[g+16>>2]|0)+-1|0;c[g+16>>2]=l;if(!l){if(c[g+4>>2]|0){Pa(A+368|0,0)|0;l=c[6878]|0;f[g+8>>2]=+f[g+8>>2]+ +(((c[A+368+4>>2]|0)-(c[l+4>>2]|0)+(((c[A+368>>2]|0)-(c[l>>2]|0)|0)*1e6|0)-(c[g+12>>2]|0)|0)>>>0)/1.0e3;if(c[g+16>>2]|0)break b;g=c[2760]|0}c[2760]=c[g+20>>2]}}}while(0);p=p+1|0;if((p|0)>=(c[d+232>>2]|0))break a}}while(0);g=c[2760]|0;w=(c[g+16>>2]|0)+-1|0;c[g+16>>2]=w;do if(!w){if(c[g+4>>2]|0){Pa(A+368|0,0)|0;w=c[6878]|0;f[g+8>>2]=+f[g+8>>2]+ +(((c[A+368+4>>2]|0)-(c[w+4>>2]|0)+(((c[A+368>>2]|0)-(c[w>>2]|0)|0)*1e6|0)-(c[g+12>>2]|0)|0)>>>0)/1.0e3;if(c[g+16>>2]|0)break;g=c[2760]|0}c[2760]=c[g+20>>2]}while(0);pb[c[(c[d>>2]|0)+44>>2]&511](d);pb[c[(c[d>>2]|0)+148>>2]&511](d);f[d+104>>2]=e;vb[c[(c[d>>2]|0)+152>>2]&255](d,d+92|0);qb[c[(c[d>>2]|0)+144>>2]&63](d,e);Aj(14944);if((c[d+280>>2]|0)>0){g=0;do{w=c[(c[d+288>>2]|0)+(g<<2)>>2]|0;wb[c[(c[w>>2]|0)+8>>2]&31](w,d,e);g=g+1|0}while((g|0)<(c[d+280>>2]|0))}g=c[2760]|0;w=(c[g+16>>2]|0)+-1|0;c[g+16>>2]=w;do if(!w){if(c[g+4>>2]|0){Pa(A+368|0,0)|0;w=c[6878]|0;f[g+8>>2]=+f[g+8>>2]+ +(((c[A+368+4>>2]|0)-(c[w+4>>2]|0)+(((c[A+368>>2]|0)-(c[w>>2]|0)|0)*1e6|0)-(c[g+12>>2]|0)|0)>>>0)/1.0e3;if(c[g+16>>2]|0)break;g=c[2760]|0}c[2760]=c[g+20>>2]}while(0);qb[c[(c[d>>2]|0)+156>>2]&63](d,e);g=c[d+80>>2]|0;if(g|0)qb[g&63](d,e);g=c[2760]|0;d=(c[g+16>>2]|0)+-1|0;c[g+16>>2]=d;if(d|0){Ta=A;return}do if(c[g+4>>2]|0){Pa(A+368|0,0)|0;d=c[6878]|0;f[g+8>>2]=+f[g+8>>2]+ +(((c[A+368+4>>2]|0)-(c[d+4>>2]|0)+(((c[A+368>>2]|0)-(c[d>>2]|0)|0)*1e6|0)-(c[g+12>>2]|0)|0)>>>0)/1.0e3;if(!(c[g+16>>2]|0)){g=c[2760]|0;break}else{Ta=A;return}}while(0);c[2760]=c[g+20>>2];Ta=A;return}function Bc(b,d,e,g,h){b=b|0;d=d|0;e=e|0;g=g|0;h=h|0;var i=0,j=0.0,k=0.0,l=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,t=0.0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0,C=0.0,D=0.0,E=0.0,F=0.0,G=0.0,H=0.0,I=0.0,J=0.0,K=0,L=0,M=0,N=0,O=0.0,P=0.0,Q=0.0,R=0.0,S=0.0,T=0.0,U=0.0,V=0.0,W=0.0,X=0.0,Y=0.0,Z=0.0,_=0.0,$=0,aa=0,ba=0.0,ca=0.0,da=0.0,ea=0.0,fa=0.0,ga=0.0,ha=0.0,ia=0.0,ja=0.0,ka=0.0,la=0.0,ma=0.0,na=0.0;L=Ta;Ta=Ta+64|0;if(!(c[b+12>>2]|0)){Ta=L;return}N=(a[b+16>>0]|0)!=0;i=N?e:d;N=N?d:e;g=c[i+4>>2]|0;K=c[N+4>>2]|0;i=c[i+12>>2]|0;_=+f[i>>2];Z=+f[i+16>>2];Y=+f[i+32>>2];X=+f[i+4>>2];W=+f[i+20>>2];C=+f[i+36>>2];j=+f[i+8>>2];E=+f[i+24>>2];w=+f[i+40>>2];R=+f[i+48>>2];Q=+f[i+52>>2];P=+f[i+56>>2];$=c[N+12>>2]|0;V=+f[$>>2];U=+f[$+16>>2];D=+f[$+32>>2];T=+f[$+4>>2];S=+f[$+20>>2];F=+f[$+36>>2];t=+f[$+8>>2];p=+f[$+24>>2];n=+f[$+40>>2];O=-+f[$+48>>2];G=-+f[$+52>>2];H=-+f[$+56>>2];I=+f[i>>2];J=+f[i+16>>2];B=+f[i+32>>2];z=+f[i+4>>2];y=+f[i+20>>2];x=+f[i+36>>2];q=+f[i+8>>2];o=+f[i+24>>2];m=+f[i+40>>2];i=c[(c[g>>2]|0)+64>>2]|0;l=-+f[K+48>>2];k=-+f[K+52>>2];A=-+f[K+56>>2];f[L+48>>2]=(_*V+Z*U+Y*D)*l+(_*T+Z*S+Y*F)*k+(_*t+Z*p+Y*n)*A;f[L+48+4>>2]=(X*V+W*U+C*D)*l+(X*T+W*S+C*F)*k+(X*t+W*p+C*n)*A;f[L+48+8>>2]=(j*V+E*U+w*D)*l+(j*T+E*S+w*F)*k+(j*t+E*p+w*n)*A;f[L+48+12>>2]=0.0;zb[i&127](L,g,L+48|0);A=+f[L>>2];w=+f[L+4>>2];E=+f[L+8>>2];j=+f[K+48>>2];k=+f[K+52>>2];l=+f[K+56>>2];C=l*(R*t+Q*p+P*n+(t*O+p*G+n*H)+((t*I+p*J+n*B)*A+(t*z+p*y+n*x)*w+(t*q+p*o+n*m)*E))+(j*(R*V+Q*U+P*D+(V*O+U*G+D*H)+((V*I+U*J+D*B)*A+(V*z+U*y+D*x)*w+(V*q+U*o+D*m)*E))+k*(R*T+Q*S+P*F+(T*O+S*G+F*H)+((T*I+S*J+F*B)*A+(T*z+S*y+F*x)*w+(T*q+S*o+F*m)*E)))-+f[K+64>>2];D=R*V+Q*U+P*D+(V*O+U*G+D*H)+((V*I+U*J+D*B)*A+(V*z+U*y+D*x)*w+(V*q+U*o+D*m)*E)-j*C;F=R*T+Q*S+P*F+(T*O+S*G+F*H)+((T*I+S*J+F*B)*A+(T*z+S*y+F*x)*w+(T*q+S*o+F*m)*E)-k*C;E=R*t+Q*p+P*n+(t*O+p*G+n*H)+((t*I+p*J+n*B)*A+(t*z+p*y+n*x)*w+(t*q+p*o+n*m)*E)-l*C;N=c[N+12>>2]|0;m=+f[N>>2];n=+f[N+4>>2];o=+f[N+8>>2];p=+f[N+16>>2];q=+f[N+20>>2];t=+f[N+24>>2];w=+f[N+32>>2];x=+f[N+36>>2];y=+f[N+40>>2];z=+f[N+48>>2];A=+f[N+52>>2];B=+f[N+56>>2];N=c[b+12>>2]|0;i=C<+f[N+752>>2];c[h+4>>2]=N;if(i){f[L+48>>2]=m*j+n*k+o*l;f[L+48+4>>2]=j*p+k*q+l*t;f[L+48+8>>2]=j*w+k*x+l*y;f[L+48+12>>2]=0.0;f[L+32>>2]=o*E+(m*D+n*F)+z;f[L+32+4>>2]=D*p+F*q+E*t+A;f[L+32+8>>2]=D*w+F*x+E*y+B;f[L+32+12>>2]=0.0;Ab[c[(c[h>>2]|0)+16>>2]&31](h,L+48|0,L+32|0,C)}if((c[g+4>>2]|0)<7?(c[(c[h+4>>2]|0)+748>>2]|0)<(c[b+24>>2]|0):0){j=+f[K+56>>2];if(+r(+j)>.7071067690849304){l=+f[K+52>>2];_=1.0/+s(+(j*j+l*l));k=0.0;l=l*_;j=-(j*_)}else{_=+f[K+48>>2];k=+f[K+52>>2];j=1.0/+s(+(_*_+k*k));k=-(k*j);l=0.0;j=_*j}G=.019999999552965164/+Wa[c[(c[g>>2]|0)+16>>2]&31](g);G=(G>.39269909262657166?.39269909262657166:G)*.5;H=+v(+G)/+s(+(k*k+j*j+l*l));J=k*H;I=j*H;H=l*H;G=+u(+G);g=c[b+20>>2]|0;if((g|0)>0){i=0;do{p=+f[K+48>>2];_=+f[K+52>>2];z=+f[K+56>>2];x=6.2831854820251465/+(g|0)*+(i|0)*.5;Z=+v(+x)/+s(+(p*p+_*_+z*z));x=+u(+x);y=H*-(_*Z)+(J*x+G*-(p*Z))-I*-(z*Z);t=J*-(z*Z)+(I*x+G*-(_*Z))-H*-(p*Z);ca=I*-(p*Z)+(H*x+G*-(z*Z))-J*-(_*Z);B=G*x-J*-(p*Z)-I*-(_*Z)-H*-(z*Z);ha=z*Z*t+(p*Z*B+x*y)-_*Z*ca;ga=p*Z*ca+(x*t+_*Z*B)-z*Z*y;ka=_*Z*y+(z*Z*B+x*ca)-p*Z*t;ca=x*B-p*Z*y-_*Z*t-z*Z*ca;N=(a[b+16>>0]|0)!=0;aa=N?e:d;N=N?d:e;g=c[aa+4>>2]|0;$=c[N+4>>2]|0;aa=c[aa+12>>2]|0;Z=+f[aa>>2];z=+f[aa+4>>2];t=+f[aa+8>>2];_=+f[aa+16>>2];y=+f[aa+20>>2];p=+f[aa+24>>2];B=+f[aa+32>>2];x=+f[aa+36>>2];n=+f[aa+40>>2];T=+f[aa+48>>2];U=+f[aa+52>>2];V=+f[aa+56>>2];aa=c[N+12>>2]|0;P=+f[aa>>2];Q=+f[aa+16>>2];C=+f[aa+32>>2];R=+f[aa+4>>2];S=+f[aa+20>>2];F=+f[aa+36>>2];q=+f[aa+8>>2];o=+f[aa+24>>2];m=+f[aa+40>>2];W=-+f[aa+48>>2];X=-+f[aa+52>>2];Y=-+f[aa+56>>2];fa=ha*(2.0/(ha*ha+ga*ga+ka*ka+ca*ca));l=ga*(2.0/(ha*ha+ga*ga+ka*ka+ca*ca));ba=ka*(2.0/(ha*ha+ga*ga+ka*ka+ca*ca));ma=t*(ha*ba-ca*l)+(z*(ha*l+ca*ba)+Z*(1.0-(ga*l+ka*ba)));ja=t*(ga*ba+ca*fa)+(Z*(ha*l-ca*ba)+z*(1.0-(ha*fa+ka*ba)));j=Z*(ha*ba+ca*l)+z*(ga*ba-ca*fa)+t*(1.0-(ha*fa+ga*l));la=p*(ha*ba-ca*l)+(y*(ha*l+ca*ba)+_*(1.0-(ga*l+ka*ba)));ia=p*(ga*ba+ca*fa)+(_*(ha*l-ca*ba)+y*(1.0-(ha*fa+ka*ba)));w=_*(ha*ba+ca*l)+y*(ga*ba-ca*fa)+p*(1.0-(ha*fa+ga*l));na=n*(ha*ba-ca*l)+(x*(ha*l+ca*ba)+B*(1.0-(ga*l+ka*ba)));ka=n*(ga*ba+ca*fa)+(B*(ha*l-ca*ba)+x*(1.0-(ha*fa+ka*ba)));l=B*(ha*ba+ca*l)+x*(ga*ba-ca*fa)+n*(1.0-(ha*fa+ga*l));ga=+f[aa>>2];fa=+f[aa+16>>2];ha=+f[aa+32>>2];ca=+f[aa+4>>2];ba=+f[aa+20>>2];da=+f[aa+36>>2];k=+f[aa+8>>2];E=+f[aa+24>>2];D=+f[aa+40>>2];aa=c[(c[g>>2]|0)+64>>2]|0;ea=-+f[$+48>>2];O=-+f[$+52>>2];A=-+f[$+56>>2];f[L+32>>2]=(ha*na+(ga*ma+fa*la))*ea+(da*na+(ca*ma+ba*la))*O+(D*na+(k*ma+E*la))*A;f[L+32+4>>2]=(ha*ka+(ga*ja+fa*ia))*ea+(da*ka+(ca*ja+ba*ia))*O+(D*ka+(k*ja+E*ia))*A;f[L+32+8>>2]=(ha*l+(ga*j+fa*w))*ea+(da*l+(ca*j+ba*w))*O+(D*l+(k*j+E*w))*A;f[L+32+12>>2]=0.0;zb[aa&127](L+48|0,g,L+32|0);A=+f[L+48>>2];w=+f[L+48+4>>2];E=+f[L+48+8>>2];j=+f[$+48>>2];k=+f[$+52>>2];l=+f[$+56>>2];D=l*(T*q+U*o+V*m+(q*W+o*X+m*Y)+((Z*q+_*o+B*m)*A+(z*q+y*o+x*m)*w+(t*q+p*o+n*m)*E))+(j*(T*P+U*Q+V*C+(P*W+Q*X+C*Y)+((Z*P+_*Q+B*C)*A+(z*P+y*Q+x*C)*w+(t*P+p*Q+n*C)*E))+k*(T*R+U*S+V*F+(R*W+S*X+F*Y)+((Z*R+_*S+B*F)*A+(z*R+y*S+x*F)*w+(t*R+p*S+n*F)*E)))-+f[$+64>>2];C=T*P+U*Q+V*C+(P*W+Q*X+C*Y)+((Z*P+_*Q+B*C)*A+(z*P+y*Q+x*C)*w+(t*P+p*Q+n*C)*E)-j*D;F=T*R+U*S+V*F+(R*W+S*X+F*Y)+((Z*R+_*S+B*F)*A+(z*R+y*S+x*F)*w+(t*R+p*S+n*F)*E)-k*D;E=T*q+U*o+V*m+(q*W+o*X+m*Y)+((Z*q+_*o+B*m)*A+(z*q+y*o+x*m)*w+(t*q+p*o+n*m)*E)-l*D;N=c[N+12>>2]|0;m=+f[N>>2];n=+f[N+4>>2];o=+f[N+8>>2];p=+f[N+16>>2];q=+f[N+20>>2];t=+f[N+24>>2];w=+f[N+32>>2];x=+f[N+36>>2];y=+f[N+40>>2];z=+f[N+48>>2];A=+f[N+52>>2];B=+f[N+56>>2];N=c[b+12>>2]|0;$=D<+f[N+752>>2];c[h+4>>2]=N;if($){f[L+32>>2]=m*j+n*k+o*l;f[L+32+4>>2]=j*p+k*q+l*t;f[L+32+8>>2]=j*w+k*x+l*y;f[L+32+12>>2]=0.0;f[L+16>>2]=o*E+(m*C+n*F)+z;f[L+16+4>>2]=C*p+F*q+E*t+A;f[L+16+8>>2]=C*w+F*x+E*y+B;f[L+16+12>>2]=0.0;Ab[c[(c[h>>2]|0)+16>>2]&31](h,L+32|0,L+16|0,D)}i=i+1|0;g=c[b+20>>2]|0}while((i|0)<(g|0))}}do if((a[b+8>>0]|0?c[(c[b+12>>2]|0)+748>>2]|0:0)?(M=c[h+4>>2]|0,c[M+748>>2]|0):0){g=c[M+740>>2]|0;i=c[(c[h+8>>2]|0)+8>>2]|0;if((g|0)==(i|0)){ye(M,g+4|0,(c[(c[h+12>>2]|0)+8>>2]|0)+4|0);break}else{ye(M,(c[(c[h+12>>2]|0)+8>>2]|0)+4|0,i+4|0);break}}while(0);Ta=L;return}function Cc(b,d,e,g){b=b|0;d=d|0;e=e|0;g=g|0;var h=0,i=0.0,j=0.0,k=0.0,l=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0,y=0,z=0.0,A=0.0,B=0.0,C=0.0,D=0.0,E=0,F=0,G=0;G=Ta;Ta=Ta+784|0;c[G+168+8>>2]=0;c[G+168+12>>2]=1065353216;c[G+168+16>>2]=1065353216;c[G+168+20>>2]=1065353216;f[G+168+24>>2]=0.0;c[G+168>>2]=8108;c[G+168+4>>2]=8;f[G+168+28>>2]=0.0;f[G+168+44>>2]=0.0;E=c[e+4>>2]|0;F=c[e+12>>2]|0;y=c[E+4>>2]|0;if((y|0)<20){c[G+600>>2]=4888;c[G+600+168>>2]=0;f[G+600+172>>2]=0.0;c[G+600+164>>2]=c[g+4>>2];f[G+240+308>>2]=9.999999747378752e-05;a[G+240+332>>0]=0;c[G+224>>2]=6280;c[G+224+4>>2]=G+240;c[G+224+8>>2]=G+168;c[G+224+12>>2]=E;c[G+152>>2]=10752;c[G+152+4>>2]=G+240;c[G+152+8>>2]=G+168;c[G+152+12>>2]=E;E=(c[g+16>>2]&8|0)==0?G+224|0:G+152|0;if((kb[c[(c[E>>2]|0)+8>>2]&31](E,b,d,F,F,G+600|0)|0?(h=G+600+132|0,j=+f[h>>2],k=+f[G+600+136>>2],l=+f[G+600+140>>2],j*j+k*k+l*l>9.999999747378752e-05):0)?(i=+f[G+600+164>>2],i<+f[g+4>>2]):0){D=1.0/+s(+(j*j+k*k+l*l));f[h>>2]=j*D;f[G+600+136>>2]=k*D;f[G+600+140>>2]=l*D;c[G+120>>2]=c[e+8>>2];c[G+120+4>>2]=0;c[G+120+8>>2]=c[h>>2];c[G+120+8+4>>2]=c[h+4>>2];c[G+120+8+8>>2]=c[h+8>>2];c[G+120+8+12>>2]=c[h+12>>2];f[G+120+24>>2]=i;+Za[c[(c[g>>2]|0)+12>>2]&63](g,G+120|0,1)}Ta=G;return}if((y+-21|0)>>>0>=9){if((y|0)!=31){Ta=G;return}h=c[E+64>>2]|0;e=c[e+8>>2]|0;c[G+600>>2]=7096;c[G+600+4>>2]=e;c[G+600+8>>2]=E;c[G+600+12>>2]=F;c[G+600+16>>2]=b;c[G+600+20>>2]=d;c[G+600+24>>2]=g;if(!h){h=c[E+16>>2]|0;if((h|0)>0){b=0;do{Of(G+600|0,b);b=b+1|0}while((b|0)<(h|0))}}else{C=+f[F+48>>2];n=+f[b+48>>2]-C;B=+f[F+52>>2];o=+f[b+52>>2]-B;z=+f[F+56>>2];p=+f[b+56>>2]-z;t=+f[F>>2];r=+f[F+16>>2];q=+f[F+32>>2];w=+f[F+4>>2];v=+f[F+20>>2];u=+f[F+36>>2];D=+f[F+8>>2];A=+f[F+24>>2];x=+f[F+40>>2];f[G+240>>2]=n*t+o*r+p*q;f[G+240+4>>2]=n*w+o*v+p*u;f[G+240+8>>2]=n*D+o*A+p*x;f[G+240+12>>2]=0.0;C=+f[d+48>>2]-C;B=+f[d+52>>2]-B;z=+f[d+56>>2]-z;f[G+224>>2]=q*z+(r*B+C*t);f[G+224+4>>2]=u*z+(v*B+C*w);f[G+224+8>>2]=x*z+(A*B+C*D);f[G+224+12>>2]=0.0;ue(c[h>>2]|0,G+240|0,G+224|0,G+600|0)}Ta=G;return}i=+f[F>>2];q=+f[F+16>>2];r=+f[F+32>>2];k=+f[F+4>>2];u=+f[F+20>>2];v=+f[F+36>>2];j=+f[F+8>>2];z=+f[F+24>>2];A=+f[F+40>>2];B=-+f[F+48>>2];C=-+f[F+52>>2];D=-+f[F+56>>2];o=+f[b+48>>2];p=+f[b+52>>2];l=+f[b+56>>2];f[G+152>>2]=i*B+q*C+r*D+(i*o+q*p+r*l);f[G+152+4>>2]=k*B+u*C+v*D+(k*o+u*p+v*l);f[G+152+8>>2]=j*B+z*C+A*D+(j*o+z*p+A*l);f[G+152+12>>2]=0.0;w=+f[d+48>>2];x=+f[d+52>>2];t=+f[d+56>>2];i=i*B+q*C+r*D+(i*w+q*x+r*t);k=k*B+u*C+v*D+(k*w+u*x+v*t);j=j*B+z*C+A*D+(j*w+z*x+A*t);f[G+120>>2]=i;f[G+120+4>>2]=k;f[G+120+8>>2]=j;f[G+120+12>>2]=0.0;switch(y|0){case 21:{h=c[e+8>>2]|0;e=c[g+16>>2]|0;c[G+4>>2]=c[G+152>>2];c[G+4+4>>2]=c[G+152+4>>2];c[G+4+8>>2]=c[G+152+8>>2];c[G+4+12>>2]=c[G+152+12>>2];c[G+20>>2]=c[G+120>>2];c[G+20+4>>2]=c[G+120+4>>2];c[G+20+8>>2]=c[G+120+8>>2];c[G+20+12>>2]=c[G+120+12>>2];c[G+36>>2]=e;f[G+40>>2]=1.0;c[G>>2]=7048;c[G+44>>2]=g;c[G+48>>2]=h;c[G+52>>2]=E;c[G+56>>2]=c[F>>2];c[G+56+4>>2]=c[F+4>>2];c[G+56+8>>2]=c[F+8>>2];c[G+56+12>>2]=c[F+12>>2];c[G+72>>2]=c[F+16>>2];c[G+72+4>>2]=c[F+16+4>>2];c[G+72+8>>2]=c[F+16+8>>2];c[G+72+12>>2]=c[F+16+12>>2];c[G+88>>2]=c[F+32>>2];c[G+88+4>>2]=c[F+32+4>>2];c[G+88+8>>2]=c[F+32+8>>2];c[G+88+12>>2]=c[F+32+12>>2];c[G+104>>2]=c[F+48>>2];c[G+104+4>>2]=c[F+48+4>>2];c[G+104+8>>2]=c[F+48+8>>2];c[G+104+12>>2]=c[F+48+12>>2];c[G+40>>2]=c[g+4>>2];h=c[E+48>>2]|0;c[G+224>>2]=8320;c[G+224+4>>2]=h;c[G+224+8>>2]=G;h=c[E+52>>2]|0;c[G+600>>2]=0;c[G+600+4>>2]=0;c[G+600+8>>2]=0;c[G+600+12>>2]=0;c[G+240>>2]=0;c[G+240+4>>2]=0;c[G+240+8>>2]=0;c[G+240+12>>2]=0;if(!(a[h+60>>0]|0))Ce(h,G+224|0,G+152|0,i,k,j,G+600|0,G+240|0);else he(h,G+224|0,G+152|0,i,k,j,G+600|0,G+240|0,c[h+56>>2]|0);break}case 25:{e=c[e+8>>2]|0;y=c[g+16>>2]|0;c[G+600+4>>2]=c[G+152>>2];c[G+600+4+4>>2]=c[G+152+4>>2];c[G+600+4+8>>2]=c[G+152+8>>2];c[G+600+4+12>>2]=c[G+152+12>>2];c[G+600+20>>2]=c[G+120>>2];c[G+600+20+4>>2]=c[G+120+4>>2];c[G+600+20+8>>2]=c[G+120+8>>2];c[G+600+20+12>>2]=c[G+120+12>>2];c[G+600+36>>2]=y;f[G+600+40>>2]=1.0;c[G+600>>2]=7048;c[G+600+44>>2]=g;c[G+600+48>>2]=e;c[G+600+52>>2]=E;c[G+600+56>>2]=c[F>>2];c[G+600+56+4>>2]=c[F+4>>2];c[G+600+56+8>>2]=c[F+8>>2];c[G+600+56+12>>2]=c[F+12>>2];c[G+600+72>>2]=c[F+16>>2];c[G+600+72+4>>2]=c[F+16+4>>2];c[G+600+72+8>>2]=c[F+16+8>>2];c[G+600+72+12>>2]=c[F+16+12>>2];c[G+600+88>>2]=c[F+32>>2];c[G+600+88+4>>2]=c[F+32+4>>2];c[G+600+88+8>>2]=c[F+32+8>>2];c[G+600+88+12>>2]=c[F+32+12>>2];c[G+600+104>>2]=c[F+48>>2];c[G+600+104+4>>2]=c[F+48+4>>2];c[G+600+104+8>>2]=c[F+48+8>>2];c[G+600+104+12>>2]=c[F+48+12>>2];c[G+600+40>>2]=c[g+4>>2];Cb[c[(c[E>>2]|0)+144>>2]&127](E,G+600|0,G+152|0,G+120|0);break}default:{k=+f[F>>2];j=+f[F+4>>2];i=+f[F+8>>2];m=r*l+(q*p+o*k)+(r*D+(q*C+k*B));n=v*l+(u*p+o*j)+(v*D+(u*C+j*B));l=A*l+(z*p+o*i)+(A*D+(z*C+i*B));k=r*t+(q*x+w*k)+(r*D+(q*C+k*B));j=v*t+(u*x+w*j)+(v*D+(u*C+j*B));i=A*t+(z*x+w*i)+(A*D+(z*C+i*B));e=c[e+8>>2]|0;y=c[g+16>>2]|0;f[G+600+4>>2]=m;f[G+600+8>>2]=n;f[G+600+12>>2]=l;f[G+600+16>>2]=0.0;f[G+600+20>>2]=k;f[G+600+24>>2]=j;f[G+600+28>>2]=i;f[G+600+32>>2]=0.0;c[G+600+36>>2]=y;f[G+600+40>>2]=1.0;c[G+600>>2]=7072;c[G+600+44>>2]=g;c[G+600+48>>2]=e;c[G+600+52>>2]=E;c[G+600+56>>2]=c[F>>2];c[G+600+56+4>>2]=c[F+4>>2];c[G+600+56+8>>2]=c[F+8>>2];c[G+600+56+12>>2]=c[F+12>>2];c[G+600+72>>2]=c[F+16>>2];c[G+600+72+4>>2]=c[F+16+4>>2];c[G+600+72+8>>2]=c[F+16+8>>2];c[G+600+72+12>>2]=c[F+16+12>>2];c[G+600+88>>2]=c[F+32>>2];c[G+600+88+4>>2]=c[F+32+4>>2];c[G+600+88+8>>2]=c[F+32+8>>2];c[G+600+88+12>>2]=c[F+32+12>>2];c[G+600+104>>2]=c[F+48>>2];c[G+600+104+4>>2]=c[F+48+4>>2];c[G+600+104+8>>2]=c[F+48+8>>2];c[G+600+104+12>>2]=c[F+48+12>>2];c[G+600+40>>2]=c[g+4>>2];f[G+240>>2]=m;f[G+240+4>>2]=n;f[G+240+8>>2]=l;f[G+240+12>>2]=0.0;if(k>2]=k;if(j>2]=j;if(i>2]=i;f[G+224>>2]=m;f[G+224+4>>2]=n;f[G+224+8>>2]=l;f[G+224+12>>2]=0.0;if(m>2]=k;if(n>2]=j;if(l>2]=i;Cb[c[(c[E>>2]|0)+64>>2]&127](E,G+600|0,G+240|0,G+224|0)}}Ta=G;return}function Dc(b,d,e,g,h,i,j,k,l,m){b=b|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;var n=0.0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0.0;h=c[b+48>>2]|0;q=c[b+28>>2]|0;r=c[b+68>>2]|0;if(c[l+64>>2]&1|0){if((h|0)>0){i=c[b+136>>2]|0;m=c[b+192>>2]|0;p=0;do{o=i+(p<<2)|0;g=c[o>>2]|0;p=p+1|0;m=(z(m,1664525)|0)+1013904223|0;if(p>>>0<65537){e=(16?m>>>16:m)^m;if(p>>>0<257){e=(8?e>>>8:e)^e;if(p>>>0<17){e=(4?e>>>4:e)^e;u=(2?e>>>2:e)^e;e=p>>>0<5?(p>>>0<3?(1?u>>>1:u):0)^u:e}}}else e=m;u=i+(((e>>>0)%(p>>>0)|0)<<2)|0;c[o>>2]=c[u>>2];c[u>>2]=g}while((p|0)!=(h|0));c[b+192>>2]=m}if((c[l+20>>2]|0)>(d|0)){if((q|0)>0){g=c[b+116>>2]|0;i=c[b+192>>2]|0;o=0;do{m=g+(o<<2)|0;h=c[m>>2]|0;o=o+1|0;i=(z(i,1664525)|0)+1013904223|0;if(o>>>0<65537){e=(16?i>>>16:i)^i;if(o>>>0<257){e=(8?e>>>8:e)^e;if(o>>>0<17){e=(4?e>>>4:e)^e;u=(2?e>>>2:e)^e;e=o>>>0<5?(o>>>0<3?(1?u>>>1:u):0)^u:e}}}else e=i;u=g+(((e>>>0)%(o>>>0)|0)<<2)|0;c[m>>2]=c[u>>2];c[u>>2]=h}while((o|0)!=(q|0));c[b+192>>2]=i}if((r|0)>0){g=c[b+156>>2]|0;i=c[b+192>>2]|0;o=0;do{m=g+(o<<2)|0;h=c[m>>2]|0;o=o+1|0;i=(z(i,1664525)|0)+1013904223|0;if(o>>>0<65537){e=(16?i>>>16:i)^i;if(o>>>0<257){e=(8?e>>>8:e)^e;if(o>>>0<17){e=(4?e>>>4:e)^e;u=(2?e>>>2:e)^e;e=o>>>0<5?(o>>>0<3?(1?u>>>1:u):0)^u:e}}}else e=i;u=g+(((e>>>0)%(o>>>0)|0)<<2)|0;c[m>>2]=c[u>>2];c[u>>2]=h}while((o|0)!=(r|0));c[b+192>>2]=i}}}e=c[b+48>>2]|0;if(!(c[l+64>>2]&256)){if((e|0)>0){i=0;do{g=c[(c[b+136>>2]|0)+(i<<2)>>2]|0;h=c[b+56>>2]|0;if((c[h+(g*152|0)+136>>2]|0)>(d|0)){e=c[b+16>>2]|0;xg(e+((c[h+(g*152|0)+144>>2]|0)*244|0)|0,e+((c[h+(g*152|0)+148>>2]|0)*244|0)|0,h+(g*152|0)|0);e=c[b+48>>2]|0}i=i+1|0}while((i|0)<(e|0))}if((c[l+20>>2]|0)<=(d|0))return 0.0;if((k|0)>0){h=0;do{g=j+(h<<2)|0;e=c[g>>2]|0;if(a[e+20>>0]|0){s=Bd(b,c[e+28>>2]|0,+f[l+12>>2])|0;u=Bd(b,c[(c[g>>2]|0)+32>>2]|0,+f[l+12>>2])|0;t=c[b+16>>2]|0;d=c[g>>2]|0;Ab[c[(c[d>>2]|0)+24>>2]&31](d,t+(s*244|0)|0,t+(u*244|0)|0,+f[l+12>>2])}h=h+1|0}while((h|0)!=(k|0))}e=c[b+28>>2]|0;if((e|0)>0){g=0;do{u=c[(c[b+116>>2]|0)+(g<<2)>>2]|0;l=c[b+36>>2]|0;k=c[b+16>>2]|0;Jg(k+((c[l+(u*152|0)+144>>2]|0)*244|0)|0,k+((c[l+(u*152|0)+148>>2]|0)*244|0)|0,l+(u*152|0)|0);g=g+1|0}while((g|0)!=(e|0))}e=c[b+68>>2]|0;if((e|0)>0){i=0;do{g=c[(c[b+156>>2]|0)+(i<<2)>>2]|0;h=c[b+76>>2]|0;n=+f[(c[b+36>>2]|0)+((c[h+(g*152|0)+140>>2]|0)*152|0)+100>>2];if(n>0.0){n=n*+f[h+(g*152|0)+104>>2];f[h+(g*152|0)+120>>2]=-n;f[h+(g*152|0)+124>>2]=n;u=c[b+16>>2]|0;xg(u+((c[h+(g*152|0)+144>>2]|0)*244|0)|0,u+((c[h+(g*152|0)+148>>2]|0)*244|0)|0,h+(g*152|0)|0)}i=i+1|0}while((i|0)!=(e|0))}e=c[b+88>>2]|0;if((e|0)<=0)return 0.0;h=0;do{g=c[b+96>>2]|0;n=+f[(c[b+36>>2]|0)+((c[g+(h*152|0)+140>>2]|0)*152|0)+100>>2];if(n>0.0){v=+f[g+(h*152|0)+104>>2];n=n*v>v?v:n*v;f[g+(h*152|0)+120>>2]=-n;f[g+(h*152|0)+124>>2]=n;u=c[b+16>>2]|0;xg(u+((c[g+(h*152|0)+144>>2]|0)*244|0)|0,u+((c[g+(h*152|0)+148>>2]|0)*244|0)|0,g+(h*152|0)|0)}h=h+1|0}while((h|0)!=(e|0));return 0.0}if((e|0)>0){i=0;do{g=c[(c[b+136>>2]|0)+(i<<2)>>2]|0;h=c[b+56>>2]|0;if((c[h+(g*152|0)+136>>2]|0)>(d|0)){e=c[b+16>>2]|0;xg(e+((c[h+(g*152|0)+144>>2]|0)*244|0)|0,e+((c[h+(g*152|0)+148>>2]|0)*244|0)|0,h+(g*152|0)|0);e=c[b+48>>2]|0}i=i+1|0}while((i|0)<(e|0))}if((c[l+20>>2]|0)<=(d|0))return 0.0;if((k|0)>0){h=0;do{g=j+(h<<2)|0;e=c[g>>2]|0;if(a[e+20>>0]|0){r=Bd(b,c[e+28>>2]|0,+f[l+12>>2])|0;u=Bd(b,c[(c[g>>2]|0)+32>>2]|0,+f[l+12>>2])|0;d=c[b+16>>2]|0;q=c[g>>2]|0;Ab[c[(c[q>>2]|0)+24>>2]&31](q,d+(r*244|0)|0,d+(u*244|0)|0,+f[l+12>>2])}h=h+1|0}while((h|0)!=(k|0))}e=c[l+64>>2]|0;o=c[b+28>>2]|0;if(e&512|0){e=((4?e>>>4:e)&1)+1|0;if((o|0)<=0)return 0.0;i=0;do{m=c[(c[b+116>>2]|0)+(i<<2)>>2]|0;g=c[b+36>>2]|0;h=c[b+16>>2]|0;Jg(h+((c[g+(m*152|0)+144>>2]|0)*244|0)|0,h+((c[g+(m*152|0)+148>>2]|0)*244|0)|0,g+(m*152|0)|0);n=+f[g+(m*152|0)+100>>2];m=z(i,e)|0;g=c[(c[b+156>>2]|0)+(m<<2)>>2]|0;h=c[b+76>>2]|0;if(n>0.0){v=n*+f[h+(g*152|0)+104>>2];f[h+(g*152|0)+120>>2]=-v;f[h+(g*152|0)+124>>2]=v;u=c[b+16>>2]|0;xg(u+((c[h+(g*152|0)+144>>2]|0)*244|0)|0,u+((c[h+(g*152|0)+148>>2]|0)*244|0)|0,h+(g*152|0)|0)}if(c[l+64>>2]&16|0?(s=c[(c[b+156>>2]|0)+(m+1<<2)>>2]|0,t=c[b+76>>2]|0,n>0.0):0){v=n*+f[t+(s*152|0)+104>>2];f[t+(s*152|0)+120>>2]=-v;f[t+(s*152|0)+124>>2]=v;u=c[b+16>>2]|0;xg(u+((c[t+(s*152|0)+144>>2]|0)*244|0)|0,u+((c[t+(s*152|0)+148>>2]|0)*244|0)|0,t+(s*152|0)|0)}i=i+1|0}while((i|0)!=(o|0));return 0.0}if((o|0)>0){e=0;do{u=c[(c[b+116>>2]|0)+(e<<2)>>2]|0;l=c[b+36>>2]|0;k=c[b+16>>2]|0;Jg(k+((c[l+(u*152|0)+144>>2]|0)*244|0)|0,k+((c[l+(u*152|0)+148>>2]|0)*244|0)|0,l+(u*152|0)|0);e=e+1|0}while((e|0)!=(o|0))}e=c[b+68>>2]|0;if((e|0)>0){i=0;do{g=c[(c[b+156>>2]|0)+(i<<2)>>2]|0;h=c[b+76>>2]|0;n=+f[(c[b+36>>2]|0)+((c[h+(g*152|0)+140>>2]|0)*152|0)+100>>2];if(n>0.0){v=n*+f[h+(g*152|0)+104>>2];f[h+(g*152|0)+120>>2]=-v;f[h+(g*152|0)+124>>2]=v;u=c[b+16>>2]|0;xg(u+((c[h+(g*152|0)+144>>2]|0)*244|0)|0,u+((c[h+(g*152|0)+148>>2]|0)*244|0)|0,h+(g*152|0)|0)}i=i+1|0}while((i|0)!=(e|0))}e=c[b+88>>2]|0;if((e|0)<=0)return 0.0;h=0;do{g=c[b+96>>2]|0;n=+f[(c[b+36>>2]|0)+((c[g+(h*152|0)+140>>2]|0)*152|0)+100>>2];if(n>0.0){v=+f[g+(h*152|0)+104>>2];v=n*v>v?v:n*v;f[g+(h*152|0)+120>>2]=-v;f[g+(h*152|0)+124>>2]=v;u=c[b+16>>2]|0;xg(u+((c[g+(h*152|0)+144>>2]|0)*244|0)|0,u+((c[g+(h*152|0)+148>>2]|0)*244|0)|0,g+(h*152|0)|0)}h=h+1|0}while((h|0)!=(e|0));return 0.0}function Ec(b,e,f,g,h,i){b=b|0;e=+e;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0.0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,A=0;A=Ta;Ta=Ta+560|0;c[A+536>>2]=0;y=A+540+12|0;bD(e)|0;j=D()|0;if((j|0)<0){bD(-e)|0;j=D()|0;w=1;v=22715;e=-e}else{w=(h&2049|0)!=0&1;v=(h&2048|0)==0?((h&1|0)==0?22716:22721):22718}do if(0==0&(j&2146435072|0)==2146435072){j=w+3|0;sn(b,32,f,j,h&-65537);DL(b,v,w);DL(b,e!=e|0.0!=0.0?(i&32|0?22742:22746):i&32|0?22734:22738,3);sn(b,32,f,j,h^8192)}else{o=+xm(e,A+536|0)*2.0;if(o!=0.0)c[A+536>>2]=(c[A+536>>2]|0)+-1;if((i|32|0)==97){p=(i&32|0)==0?v:v+9|0;n=w|2;do if(!(g>>>0>11|(12-g|0)==0)){j=12-g|0;e=8.0;do{j=j+-1|0;e=e*16.0}while((j|0)!=0);if((a[p>>0]|0)==45){e=-(e+(-o-e));break}else{e=o+e-e;break}}else e=o;while(0);k=c[A+536>>2]|0;j=(k|0)<0?0-k|0:k;j=mm(j,((j|0)<0)<<31>>31,y)|0;if((j|0)==(y|0)){a[A+540+11>>0]=48;j=A+540+11|0}a[j+-1>>0]=((31?k>>31:k)&2)+43;m=j+-2|0;a[m>>0]=i+15;k=A;while(1){x=~~e;j=k+1|0;a[k>>0]=i&32|d[480+x>>0];e=(e-+(x|0))*16.0;if((j-A|0)==1?!((h&8|0)==0&((g|0)<1&e==0.0)):0){a[j>>0]=46;j=k+2|0}if(!(e!=0.0))break;else k=j}l=j;if((g|0)!=0?(-2-A+l|0)<(g|0):0){g=g+2+y-m|0;j=y;k=m}else{g=y-A-m+l|0;j=y;k=m}y=g+n|0;sn(b,32,f,y,h);DL(b,p,n);sn(b,48,f,y,h^65536);DL(b,A,l-A|0);j=j-k|0;sn(b,48,g-(l-A+j)|0,0,0);DL(b,m,j);sn(b,32,f,y,h^8192);j=y;break}k=(g|0)<0?6:g;if(o!=0.0){g=(c[A+536>>2]|0)+-28|0;c[A+536>>2]=g;e=o*268435456.0}else{g=c[A+536>>2]|0;e=o}x=(g|0)<0?A+32|0:A+32+288|0;l=x;do{t=~~e>>>0;c[l>>2]=t;l=l+4|0;e=(e-+(t>>>0))*1.0e9}while(e!=0.0);if((g|0)>0){j=x;do{n=(g|0)<29?g:29;g=l+-4|0;if(g>>>0>=j>>>0){m=0;do{r=xy(c[g>>2]|0,0,n|0)|0;r=hD(r|0,D()|0,m|0,0)|0;s=D()|0;m=cO(r|0,s|0,1e9,0)|0;t=nw(m|0,D()|0,-1e9,-1)|0;t=hD(r|0,s|0,t|0,D()|0)|0;D()|0;c[g>>2]=t;g=g+-4|0}while(g>>>0>=j>>>0);if(m){j=j+-4|0;c[j>>2]=m}}a:do if(l>>>0>j>>>0)while(1){g=l+-4|0;if(c[g>>2]|0)break a;if(g>>>0>j>>>0)l=g;else{l=g;break}}while(0);g=(c[A+536>>2]|0)-n|0;c[A+536>>2]=g}while((g|0)>0)}else j=x;if((g|0)<0)do{p=0-g|0;p=(p|0)<9?p:9;if(j>>>0>>0){m=p?1e9>>>p:1e9;n=0;g=j;do{t=c[g>>2]|0;c[g>>2]=(p?t>>>p:t)+n;n=z(t&(1<>>0>>0);j=(c[j>>2]|0)==0?j+4|0:j;if(!n)g=l;else{c[l>>2]=n;g=l+4|0}}else{j=(c[j>>2]|0)==0?j+4|0:j;g=l}l=(i|32|0)==102?x:j;t=g-l|0;l=((2?t>>2:t)|0)>(((k+25|0)/9|0)+1|0)?l+(((k+25|0)/9|0)+1<<2)|0:g;g=(c[A+536>>2]|0)+p|0;c[A+536>>2]=g}while((g|0)<0);if(j>>>0>>0){g=x-j|0;g=(2?g>>2:g)*9|0;n=c[j>>2]|0;if(n>>>0<10)m=g;else{m=10;do{m=m*10|0;g=g+1|0}while(n>>>0>=m>>>0);m=g}}else m=0;n=k-((i|32|0)==102?0:m)+(((k|0)!=0&(i|32|0)==103)<<31>>31)|0;t=l-x|0;if((n|0)<(((2?t>>2:t)*9|0)+-9|0)){g=x+4+(((n+9216|0)/9|0)+-1024<<2)|0;n=n+9216+(z((n+9216|0)/9|0,-9)|0)|0;if((n|0)<8){p=10;while(1){p=p*10|0;if((n|0)<7)n=n+1|0;else break}}else p=10;q=c[g>>2]|0;n=(q>>>0)/(p>>>0)|0;s=z(n,p)|0;r=(g+4|0)==(l|0);if(!(r&(q-s|0)==0)){o=(n&1|0)==0?9007199254740992.0:9007199254740994.0;t=1?p>>>1:p;e=(q-s|0)>>>0>>0?.5:r&(q-s|0)==(t|0)?1.0:1.5;if(w){t=(a[v>>0]|0)==45;o=t?-o:o;e=t?-e:e}c[g>>2]=s;if(o+e!=o){t=s+p|0;c[g>>2]=t;if(t>>>0>999999999)while(1){m=g+-4|0;c[g>>2]=0;if(m>>>0>>0){j=j+-4|0;c[j>>2]=0}t=(c[m>>2]|0)+1|0;c[m>>2]=t;if(t>>>0>999999999)g=m;else{g=m;break}}m=x-j|0;m=(2?m>>2:m)*9|0;p=c[j>>2]|0;if(p>>>0>=10){n=10;do{n=n*10|0;m=m+1|0}while(p>>>0>=n>>>0)}}}s=g+4|0;t=j;l=l>>>0>s>>>0?s:l}else t=j;p=0-m|0;b:do if(l>>>0>t>>>0)while(1){j=l+-4|0;if(c[j>>2]|0){r=1;s=l;break b}if(j>>>0>t>>>0)l=j;else{r=0;s=j;break}}else{r=0;s=l}while(0);do if((i|32|0)==103){if((m|0)>-5?(k+(((k|0)!=0^1)&1)|0)>(m|0):0){k=k+(((k|0)!=0^1)&1)+-1-m|0;l=i+-1|0}else{k=k+(((k|0)!=0^1)&1)+-1|0;l=i+-2|0}if(!(h&8)){if(r?(u=c[s+-4>>2]|0,(u|0)!=0):0)if(!((u>>>0)%10|0)){g=10;j=0;do{g=g*10|0;j=j+1|0}while(!((u>>>0)%(g>>>0)|0|0))}else j=0;else j=9;g=s-x|0;g=((2?g>>2:g)*9|0)+-9|0;if((l|32|0)==102){i=g-j|0;i=(i|0)>0?i:0;k=(k|0)<(i|0)?k:i;break}else{i=g+m-j|0;i=(i|0)>0?i:0;k=(k|0)<(i|0)?k:i;break}}}else l=i;while(0);q=(k|0)!=0;g=q?1:(3?h>>>3:h)&1;n=(l|32|0)==102;if(n){p=0;j=(m|0)>0?m:0}else{j=(m|0)<0?p:m;j=mm(j,((j|0)<0)<<31>>31,y)|0;if((y-j|0)<2)do{j=j+-1|0;a[j>>0]=48}while((y-j|0)<2);a[j+-1>>0]=((31?m>>31:m)&2)+43;j=j+-2|0;a[j>>0]=l;p=j;j=y-j|0}j=w+1+k+g+j|0;sn(b,32,f,j,h);DL(b,v,w);sn(b,48,f,j,h^65536);if(n){m=t>>>0>x>>>0?x:t;l=m;do{g=mm(c[l>>2]|0,0,A+9|0)|0;if((l|0)==(m|0)){if((g|0)==(A+9|0)){a[A+8>>0]=48;g=A+8|0}}else if(g>>>0>A>>>0){el(A|0,48,g-A|0)|0;do g=g+-1|0;while(g>>>0>A>>>0)}DL(b,g,A+9-g|0);l=l+4|0}while(l>>>0<=x>>>0);if(!((h&8|0)==0&(q^1)))DL(b,22929,1);if(l>>>0>>0&(k|0)>0)while(1){g=mm(c[l>>2]|0,0,A+9|0)|0;if(g>>>0>A>>>0){el(A|0,48,g-A|0)|0;do g=g+-1|0;while(g>>>0>A>>>0)}DL(b,g,(k|0)<9?k:9);l=l+4|0;g=k+-9|0;if(!(l>>>0>>0&(k|0)>9)){k=g;break}else k=g}sn(b,48,k+9|0,9,0)}else{n=r?s:t+4|0;if(t>>>0>>0&(k|0)>-1){m=t;do{g=mm(c[m>>2]|0,0,A+9|0)|0;if((g|0)==(A+9|0)){a[A+8>>0]=48;g=A+8|0}do if((m|0)==(t|0)){l=g+1|0;DL(b,g,1);if((h&8|0)==0&(k|0)<1){g=l;break}DL(b,22929,1);g=l}else{if(g>>>0<=A>>>0)break;el(A|0,48,g+(0-A)|0)|0;do g=g+-1|0;while(g>>>0>A>>>0)}while(0);x=A+9-g|0;DL(b,g,(k|0)>(x|0)?x:k);k=k-x|0;m=m+4|0}while(m>>>0>>0&(k|0)>-1)}sn(b,48,k+18|0,18,0);DL(b,p,y-p|0)}sn(b,32,f,j,h^8192)}while(0);Ta=A;return ((j|0)<(f|0)?f:j)|0}function Fc(b,d,e,g){b=b|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0.0,m=0.0,n=0.0,o=0,p=0.0,q=0,s=0,t=0.0;o=Ta;Ta=Ta+80|0;i=c[b+28>>2]|0;d=c[g+64>>2]|0;if((d&4|0)!=0&(i|0)>0){e=c[b+36>>2]|0;h=c[b+76>>2]|0;if(!(d&16)){d=0;do{k=c[e+(d*152|0)+132>>2]|0;c[k+120>>2]=c[e+(d*152|0)+100>>2];c[k+124>>2]=c[h+((c[e+(d*152|0)+140>>2]|0)*152|0)+100>>2];d=d+1|0}while((d|0)!=(i|0))}else{d=0;do{k=c[e+(d*152|0)+132>>2]|0;c[k+120>>2]=c[e+(d*152|0)+100>>2];j=c[e+(d*152|0)+140>>2]|0;c[k+124>>2]=c[h+(j*152|0)+100>>2];c[k+128>>2]=c[h+((j+1|0)*152|0)+100>>2];d=d+1|0}while((d|0)!=(i|0))}}e=c[b+48>>2]|0;if((e|0)>0){k=0;do{h=c[b+56>>2]|0;i=c[h+(k*152|0)+132>>2]|0;j=c[i+44>>2]|0;d=h+(k*152|0)+100|0;if(j|0){n=+f[d>>2];s=c[i+28>>2]|0;m=1.0/+f[g+12>>2];l=n*+f[h+(k*152|0)+20>>2]*+f[s+352>>2]*m;p=n*+f[h+(k*152|0)+24>>2]*+f[s+356>>2]*m;f[j>>2]=+f[j>>2]+ +f[h+(k*152|0)+16>>2]*n*+f[s+348>>2]*m;f[j+4>>2]=l+ +f[j+4>>2];f[j+8>>2]=p+ +f[j+8>>2];p=+f[d>>2];q=c[i+32>>2]|0;l=1.0/+f[g+12>>2];m=p*+f[h+(k*152|0)+52>>2]*+f[q+352>>2]*l;n=p*+f[h+(k*152|0)+56>>2]*+f[q+356>>2]*l;f[j+32>>2]=+f[j+32>>2]+ +f[h+(k*152|0)+48>>2]*p*+f[q+348>>2]*l;f[j+36>>2]=m+ +f[j+36>>2];f[j+40>>2]=n+ +f[j+40>>2];n=+f[d>>2];m=1.0/+f[g+12>>2];l=+f[h+(k*152|0)+4>>2]*+f[s+548>>2]*n*m;p=n*(+f[h+(k*152|0)+8>>2]*+f[s+552>>2])*m;f[j+16>>2]=+f[j+16>>2]+ +f[h+(k*152|0)>>2]*+f[s+544>>2]*n*m;f[j+20>>2]=l+ +f[j+20>>2];f[j+24>>2]=p+ +f[j+24>>2];p=+f[d>>2];l=1.0/+f[g+12>>2];m=+f[h+(k*152|0)+36>>2]*+f[q+548>>2]*p*l;n=p*(+f[h+(k*152|0)+40>>2]*+f[q+552>>2])*l;f[j+48>>2]=+f[j+48>>2]+ +f[h+(k*152|0)+32>>2]*+f[q+544>>2]*p*l;f[j+52>>2]=m+ +f[j+52>>2];f[j+56>>2]=n+ +f[j+56>>2]}p=+f[d>>2];f[i+36>>2]=p;p=+r(+p);if(p>=+f[i+16>>2])a[i+20>>0]=0;k=k+1|0}while((k|0)!=(e|0))}d=c[b+8>>2]|0;if((d|0)>0){e=c[b+16>>2]|0;j=0;do{h=e+(j*244|0)|0;i=c[e+(j*244|0)+240>>2]|0;if(i){if(!(c[g+44>>2]|0)){h=e+(j*244|0)+176|0;m=+f[e+(j*244|0)+64>>2]+ +f[h>>2];f[h>>2]=m;h=e+(j*244|0)+180|0;n=+f[e+(j*244|0)+68>>2]+ +f[h>>2];f[h>>2]=n;h=e+(j*244|0)+184|0;l=+f[e+(j*244|0)+72>>2]+ +f[h>>2];f[h>>2]=l;h=e+(j*244|0)+192|0;f[h>>2]=+f[e+(j*244|0)+80>>2]+ +f[h>>2];h=e+(j*244|0)+196|0;f[h>>2]=+f[e+(j*244|0)+84>>2]+ +f[h>>2];h=e+(j*244|0)+200|0;f[h>>2]=+f[e+(j*244|0)+88>>2]+ +f[h>>2];h=e;d=i}else{l=+f[g+12>>2];m=+f[g+52>>2];d=e+(j*244|0)+176|0;f[d>>2]=+f[e+(j*244|0)+64>>2]+ +f[d>>2];d=e+(j*244|0)+180|0;f[d>>2]=+f[e+(j*244|0)+68>>2]+ +f[d>>2];d=e+(j*244|0)+184|0;f[d>>2]=+f[e+(j*244|0)+72>>2]+ +f[d>>2];d=e+(j*244|0)+192|0;f[d>>2]=+f[e+(j*244|0)+80>>2]+ +f[d>>2];d=e+(j*244|0)+196|0;f[d>>2]=+f[e+(j*244|0)+84>>2]+ +f[d>>2];d=e+(j*244|0)+200|0;f[d>>2]=+f[e+(j*244|0)+88>>2]+ +f[d>>2];n=+f[e+(j*244|0)+144>>2];d=e+(j*244|0)+148|0;if(((((!(n!=0.0)?!(+f[d>>2]!=0.0):0)?!(+f[e+(j*244|0)+152>>2]!=0.0):0)?!(+f[e+(j*244|0)+160>>2]!=0.0):0)?!(+f[e+(j*244|0)+164>>2]!=0.0):0)?!(+f[e+(j*244|0)+168>>2]!=0.0):0)d=i;else{t=+f[e+(j*244|0)+164>>2]*m;p=+f[e+(j*244|0)+168>>2]*m;f[o>>2]=+f[e+(j*244|0)+160>>2]*m;f[o+4>>2]=t;f[o+8>>2]=p;f[o+12>>2]=0.0;Vg(h,n,+f[d>>2],+f[e+(j*244|0)+152>>2],o,l,o+16|0);c[h>>2]=c[o+16>>2];c[h+4>>2]=c[o+16+4>>2];c[h+8>>2]=c[o+16+8>>2];c[h+12>>2]=c[o+16+12>>2];d=e+(j*244|0)+16|0;c[d>>2]=c[o+16+16>>2];c[d+4>>2]=c[o+16+16+4>>2];c[d+8>>2]=c[o+16+16+8>>2];c[d+12>>2]=c[o+16+16+12>>2];d=e+(j*244|0)+32|0;c[d>>2]=c[o+16+32>>2];c[d+4>>2]=c[o+16+32+4>>2];c[d+8>>2]=c[o+16+32+8>>2];c[d+12>>2]=c[o+16+32+12>>2];d=e+(j*244|0)+48|0;c[d>>2]=c[o+16+48>>2];c[d+4>>2]=c[o+16+48+4>>2];c[d+8>>2]=c[o+16+48+8>>2];c[d+12>>2]=c[o+16+48+12>>2];d=c[b+16>>2]|0;e=d;d=c[d+(j*244|0)+240>>2]|0}h=e;m=+f[e+(j*244|0)+176>>2];n=+f[e+(j*244|0)+180>>2];l=+f[e+(j*244|0)+184>>2]}t=m+ +f[h+(j*244|0)+208>>2];p=n+ +f[h+(j*244|0)+212>>2];n=l+ +f[h+(j*244|0)+216>>2];q=d+260|0;c[q>>2]=(c[q>>2]|0)+1;f[d+312>>2]=t;f[d+316>>2]=p;f[d+320>>2]=n;f[d+324>>2]=0.0;q=c[b+16>>2]|0;s=c[q+(j*244|0)+240>>2]|0;n=+f[q+(j*244|0)+192>>2]+ +f[q+(j*244|0)+224>>2];p=+f[q+(j*244|0)+196>>2]+ +f[q+(j*244|0)+228>>2];t=+f[q+(j*244|0)+200>>2]+ +f[q+(j*244|0)+232>>2];c[s+260>>2]=(c[s+260>>2]|0)+1;f[s+328>>2]=n;f[s+332>>2]=p;f[s+336>>2]=t;f[s+340>>2]=0.0;if(c[g+44>>2]|0){q=c[b+16>>2]|0;s=c[q+(j*244|0)+240>>2]|0;k=q+(j*244|0)|0;c[s+260>>2]=(c[s+260>>2]|0)+1;c[s+4>>2]=c[k>>2];c[s+4+4>>2]=c[k+4>>2];c[s+4+8>>2]=c[k+8>>2];c[s+4+12>>2]=c[k+12>>2];k=q+(j*244|0)+16|0;c[s+20>>2]=c[k>>2];c[s+20+4>>2]=c[k+4>>2];c[s+20+8>>2]=c[k+8>>2];c[s+20+12>>2]=c[k+12>>2];k=q+(j*244|0)+32|0;c[s+36>>2]=c[k>>2];c[s+36+4>>2]=c[k+4>>2];c[s+36+8>>2]=c[k+8>>2];c[s+36+12>>2]=c[k+12>>2];q=q+(j*244|0)+48|0;c[s+52>>2]=c[q>>2];c[s+52+4>>2]=c[q+4>>2];c[s+52+8>>2]=c[q+8>>2];c[s+52+12>>2]=c[q+12>>2]}e=c[b+16>>2]|0;c[(c[e+(j*244|0)+240>>2]|0)+212>>2]=-1;d=c[b+8>>2]|0}j=j+1|0}while((j|0)<(d|0))}if((c[b+28>>2]|0)<0?(c[b+32>>2]|0)<0:0){d=c[b+36>>2]|0;if(d|0){if(a[b+40>>0]|0){c[6880]=(c[6880]|0)+1;kd(c[d+-4>>2]|0)}c[b+36>>2]=0}a[b+40>>0]=1;c[b+36>>2]=0;c[b+32>>2]=0}c[b+28>>2]=0;if((c[b+48>>2]|0)<0?(c[b+52>>2]|0)<0:0){d=c[b+56>>2]|0;if(d|0){if(a[b+60>>0]|0){c[6880]=(c[6880]|0)+1;kd(c[d+-4>>2]|0)}c[b+56>>2]=0}a[b+60>>0]=1;c[b+56>>2]=0;c[b+52>>2]=0}c[b+48>>2]=0;if((c[b+68>>2]|0)<0?(c[b+72>>2]|0)<0:0){d=c[b+76>>2]|0;if(d|0){if(a[b+80>>0]|0){c[6880]=(c[6880]|0)+1;kd(c[d+-4>>2]|0)}c[b+76>>2]=0}a[b+80>>0]=1;c[b+76>>2]=0;c[b+72>>2]=0}c[b+68>>2]=0;if((c[b+88>>2]|0)<0?(c[b+92>>2]|0)<0:0){d=c[b+96>>2]|0;if(d|0){if(a[b+100>>0]|0){c[6880]=(c[6880]|0)+1;kd(c[d+-4>>2]|0)}c[b+96>>2]=0}a[b+100>>0]=1;c[b+96>>2]=0;c[b+92>>2]=0}c[b+88>>2]=0;if((c[b+8>>2]|0)>=0){c[b+8>>2]=0;Ta=o;return 0.0}if((c[b+12>>2]|0)>=0){c[b+8>>2]=0;Ta=o;return 0.0}d=c[b+16>>2]|0;if(d|0){if(a[b+20>>0]|0){c[6880]=(c[6880]|0)+1;kd(c[d+-4>>2]|0)}c[b+16>>2]=0}a[b+20>>0]=1;c[b+16>>2]=0;c[b+12>>2]=0;c[b+8>>2]=0;Ta=o;return 0.0}function Gc(a){a=a|0;var b=0.0,d=0.0,e=0.0,g=0.0,h=0.0,i=0.0,j=0,k=0,l=0,m=0.0,n=0.0,o=0.0;j=c[a+372>>2]|0;a:do switch(c[j+32>>2]|0){case 1:{f[j+20>>2]=0.0;k=(c[a+364>>2]|0)+-1|0;c[a+364>>2]=k;k=c[a+348+(k<<2)>>2]|0;c[j+4>>2]=k;c[j+32>>2]=2;Hh(a,1.0,0.0,0.0,k);if(Gc(a)|0){k=1;return k|0}j=c[a+372>>2]|0;k=(c[j+32>>2]|0)+-1|0;c[j+32>>2]=k;k=c[j+(k<<2)>>2]|0;c[a+348+(c[a+364>>2]<<2)>>2]=k;j=c[a+372>>2]|0;l=c[j+32>>2]|0;f[j+16+(l<<2)>>2]=0.0;c[j+(l<<2)>>2]=k;c[j+32>>2]=l+1;Hh(a,-1.0,-0.0,-0.0,k);if(Gc(a)|0){l=1;return l|0}k=c[a+372>>2]|0;l=(c[k+32>>2]|0)+-1|0;c[k+32>>2]=l;l=c[k+(l<<2)>>2]|0;c[a+348+(c[a+364>>2]<<2)>>2]=l;k=c[a+372>>2]|0;j=c[k+32>>2]|0;f[k+16+(j<<2)>>2]=0.0;c[k+(j<<2)>>2]=l;c[k+32>>2]=j+1;Hh(a,0.0,1.0,0.0,l);if(Gc(a)|0){l=1;return l|0}k=c[a+372>>2]|0;l=(c[k+32>>2]|0)+-1|0;c[k+32>>2]=l;l=c[k+(l<<2)>>2]|0;c[a+348+(c[a+364>>2]<<2)>>2]=l;k=c[a+372>>2]|0;j=c[k+32>>2]|0;f[k+16+(j<<2)>>2]=0.0;c[k+(j<<2)>>2]=l;c[k+32>>2]=j+1;Hh(a,-0.0,-1.0,-0.0,l);if(Gc(a)|0){l=1;return l|0}k=c[a+372>>2]|0;l=(c[k+32>>2]|0)+-1|0;c[k+32>>2]=l;l=c[k+(l<<2)>>2]|0;c[a+348+(c[a+364>>2]<<2)>>2]=l;k=c[a+372>>2]|0;j=c[k+32>>2]|0;f[k+16+(j<<2)>>2]=0.0;c[k+(j<<2)>>2]=l;c[k+32>>2]=j+1;Hh(a,0.0,0.0,1.0,l);if(Gc(a)|0){l=1;return l|0}k=c[a+372>>2]|0;l=(c[k+32>>2]|0)+-1|0;c[k+32>>2]=l;l=c[k+(l<<2)>>2]|0;c[a+348+(c[a+364>>2]<<2)>>2]=l;k=c[a+372>>2]|0;j=c[k+32>>2]|0;f[k+16+(j<<2)>>2]=0.0;c[k+(j<<2)>>2]=l;c[k+32>>2]=j+1;Hh(a,-0.0,-0.0,-1.0,l);if(Gc(a)|0){l=1;return l|0}else{l=c[a+372>>2]|0;k=(c[l+32>>2]|0)+-1|0;c[l+32>>2]=k;k=c[l+(k<<2)>>2]|0;l=c[a+364>>2]|0;c[a+364>>2]=l+1;c[a+348+(l<<2)>>2]=k;break a}}case 2:{k=c[j+4>>2]|0;l=c[j>>2]|0;d=+f[k+16>>2]-+f[l+16>>2];g=+f[k+20>>2]-+f[l+20>>2];e=+f[k+24>>2]-+f[l+24>>2];b=g*0.0-e*0.0;do if((d*0.0-g)*(d*0.0-g)+(b*b+(e-d*0.0)*(e-d*0.0))>0.0){f[j+24>>2]=0.0;l=(c[a+364>>2]|0)+-1|0;c[a+364>>2]=l;l=c[a+348+(l<<2)>>2]|0;c[j+8>>2]=l;c[j+32>>2]=3;Hh(a,b,e-d*0.0,d*0.0-g,l);if(Gc(a)|0){l=1;return l|0}k=c[a+372>>2]|0;l=(c[k+32>>2]|0)+-1|0;c[k+32>>2]=l;l=c[k+(l<<2)>>2]|0;c[a+348+(c[a+364>>2]<<2)>>2]=l;k=c[a+372>>2]|0;j=c[k+32>>2]|0;f[k+16+(j<<2)>>2]=0.0;c[k+(j<<2)>>2]=l;c[k+32>>2]=j+1;Hh(a,-b,-(e-d*0.0),-(d*0.0-g),l);if(Gc(a)|0){l=1;return l|0}else{l=c[a+372>>2]|0;k=(c[l+32>>2]|0)+-1|0;c[l+32>>2]=k;k=c[l+(k<<2)>>2]|0;l=c[a+364>>2]|0;c[a+364>>2]=l+1;c[a+348+(l<<2)>>2]=k;break}}while(0);b=e*0.0-d*0.0;do if((d-g*0.0)*(d-g*0.0)+((g*0.0-e)*(g*0.0-e)+b*b)>0.0){k=c[a+372>>2]|0;j=c[k+32>>2]|0;f[k+16+(j<<2)>>2]=0.0;l=(c[a+364>>2]|0)+-1|0;c[a+364>>2]=l;l=c[a+348+(l<<2)>>2]|0;c[k+(j<<2)>>2]=l;c[k+32>>2]=j+1;Hh(a,g*0.0-e,b,d-g*0.0,l);if(Gc(a)|0){l=1;return l|0}k=c[a+372>>2]|0;l=(c[k+32>>2]|0)+-1|0;c[k+32>>2]=l;l=c[k+(l<<2)>>2]|0;c[a+348+(c[a+364>>2]<<2)>>2]=l;k=c[a+372>>2]|0;j=c[k+32>>2]|0;f[k+16+(j<<2)>>2]=0.0;c[k+(j<<2)>>2]=l;c[k+32>>2]=j+1;Hh(a,-(g*0.0-e),-b,-(d-g*0.0),l);if(Gc(a)|0){l=1;return l|0}else{l=c[a+372>>2]|0;k=(c[l+32>>2]|0)+-1|0;c[l+32>>2]=k;k=c[l+(k<<2)>>2]|0;l=c[a+364>>2]|0;c[a+364>>2]=l+1;c[a+348+(l<<2)>>2]=k;break}}while(0);b=d*0.0-g*0.0;if(b*b+((g-e*0.0)*(g-e*0.0)+(e*0.0-d)*(e*0.0-d))>0.0){k=c[a+372>>2]|0;j=c[k+32>>2]|0;f[k+16+(j<<2)>>2]=0.0;l=(c[a+364>>2]|0)+-1|0;c[a+364>>2]=l;l=c[a+348+(l<<2)>>2]|0;c[k+(j<<2)>>2]=l;c[k+32>>2]=j+1;Hh(a,g-e*0.0,e*0.0-d,b,l);if(Gc(a)|0){l=1;return l|0}k=c[a+372>>2]|0;l=(c[k+32>>2]|0)+-1|0;c[k+32>>2]=l;l=c[k+(l<<2)>>2]|0;c[a+348+(c[a+364>>2]<<2)>>2]=l;k=c[a+372>>2]|0;j=c[k+32>>2]|0;f[k+16+(j<<2)>>2]=0.0;c[k+(j<<2)>>2]=l;c[k+32>>2]=j+1;Hh(a,-(g-e*0.0),-(e*0.0-d),-b,l);if(Gc(a)|0){l=1;return l|0}else{l=c[a+372>>2]|0;k=(c[l+32>>2]|0)+-1|0;c[l+32>>2]=k;k=c[l+(k<<2)>>2]|0;l=c[a+364>>2]|0;c[a+364>>2]=l+1;c[a+348+(l<<2)>>2]=k;break a}}break}case 3:{l=c[j+4>>2]|0;k=c[j>>2]|0;b=+f[k+16>>2];d=+f[l+16>>2]-b;h=+f[k+20>>2];i=+f[l+20>>2]-h;e=+f[k+24>>2];g=+f[l+24>>2]-e;l=c[j+8>>2]|0;b=+f[l+16>>2]-b;h=+f[l+20>>2]-h;e=+f[l+24>>2]-e;if((d*h-i*b)*(d*h-i*b)+((i*e-g*h)*(i*e-g*h)+(g*b-d*e)*(g*b-d*e))>0.0){f[j+28>>2]=0.0;l=(c[a+364>>2]|0)+-1|0;c[a+364>>2]=l;l=c[a+348+(l<<2)>>2]|0;c[j+12>>2]=l;c[j+32>>2]=4;Hh(a,i*e-g*h,g*b-d*e,d*h-i*b,l);if(Gc(a)|0){l=1;return l|0}k=c[a+372>>2]|0;l=(c[k+32>>2]|0)+-1|0;c[k+32>>2]=l;l=c[k+(l<<2)>>2]|0;c[a+348+(c[a+364>>2]<<2)>>2]=l;k=c[a+372>>2]|0;j=c[k+32>>2]|0;f[k+16+(j<<2)>>2]=0.0;c[k+(j<<2)>>2]=l;c[k+32>>2]=j+1;Hh(a,-(i*e-g*h),-(g*b-d*e),-(d*h-i*b),l);if(Gc(a)|0){l=1;return l|0}else{l=c[a+372>>2]|0;k=(c[l+32>>2]|0)+-1|0;c[l+32>>2]=k;k=c[l+(k<<2)>>2]|0;l=c[a+364>>2]|0;c[a+364>>2]=l+1;c[a+348+(l<<2)>>2]=k;break a}}break}case 4:{l=c[j>>2]|0;k=c[j+12>>2]|0;i=+f[k+16>>2];o=+f[l+16>>2]-i;m=+f[k+20>>2];b=+f[l+20>>2]-m;e=+f[k+24>>2];g=+f[l+24>>2]-e;l=c[j+4>>2]|0;d=+f[l+16>>2]-i;h=+f[l+20>>2]-m;n=+f[l+24>>2]-e;l=c[j+8>>2]|0;i=+f[l+16>>2]-i;m=+f[l+20>>2]-m;e=+f[l+24>>2]-e;if(!((0.0!=0.0?1:o*h*e+(b*n*i+g*d*m-o*n*m-b*d*e)-g*h*i!=o*h*e+(b*n*i+g*d*m-o*n*m-b*d*e)-g*h*i)|o*h*e+(b*n*i+g*d*m-o*n*m-b*d*e)-g*h*i==0.0)){l=1;return l|0}break}default:{}}while(0);l=0;return l|0}function Hc(d,e,f,h,i){d=d|0;e=e|0;f=f|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;w=Ta;Ta=Ta+64|0;c[w+56>>2]=e;v=w+40|0;e=0;j=0;m=0;a:while(1){do{if((e|0)>-1)e=(j|0)>(2147483647-e|0)?-1:j+e|0;r=c[w+56>>2]|0;j=a[r>>0]|0;if(!(j<<24>>24)){u=89;break a}k=r;b:while(1){switch(j<<24>>24){case 37:{u=8;break b}case 0:{j=k;break b}default:{}}t=k+1|0;c[w+56>>2]=t;j=a[t>>0]|0;k=t}c:do if((u|0)==8){u=0;l=k;j=k;do{if((a[l+1>>0]|0)!=37)break c;j=j+1|0;l=l+2|0;c[w+56>>2]=l}while((a[l>>0]|0)==37)}while(0);j=j-r|0;if(d|0)DL(d,r,j)}while((j|0)!=0);l=c[w+56>>2]|0;j=a[l+1>>0]|0;if(!(OZ(j)|0)){k=1;q=-1;o=m}else{o=(a[l+2>>0]|0)==36;k=o?3:1;q=o?j+-48|0:-1;o=o?1:m}k=l+k|0;c[w+56>>2]=k;j=a[k>>0]|0;if(((j<<24>>24)+-32|0)>>>0>31|(1<<(j<<24>>24)+-32&75913|0)==0)n=0;else{l=0;m=(j<<24>>24)+-32|0;do{l=1<>2]=k;j=a[k>>0]|0;m=(j<<24>>24)+-32|0}while(!(m>>>0>31|(1<>24==42){l=k+1|0;j=a[l>>0]|0;if((OZ(j)|0)!=0?(a[k+2>>0]|0)==36:0){c[i+(j+-48<<2)>>2]=10;m=1;j=k+3|0;k=c[h+((a[l>>0]|0)+-48<<3)>>2]|0}else{if(o|0){e=-1;break}if(d|0){m=(c[f>>2]|0)+(4-1)&~(4-1);k=c[m>>2]|0;c[f>>2]=m+4;m=0;j=l}else{m=0;j=l;k=0}}c[w+56>>2]=j;s=(k|0)<0;l=j;n=s?n|8192:n;t=m;s=s?0-k|0:k}else{j=vp(w+56|0)|0;if((j|0)<0){e=-1;break}l=c[w+56>>2]|0;t=o;s=j}do if((a[l>>0]|0)==46){j=l+1|0;if((a[j>>0]|0)!=42){c[w+56>>2]=j;m=vp(w+56|0)|0;j=c[w+56>>2]|0;break}j=l+2|0;k=a[j>>0]|0;if(OZ(k)|0?(a[l+3>>0]|0)==36:0){c[i+(k+-48<<2)>>2]=10;m=c[h+((a[j>>0]|0)+-48<<3)>>2]|0;j=l+4|0;c[w+56>>2]=j;break}if(t|0){e=-1;break a}if(d|0){p=(c[f>>2]|0)+(4-1)&~(4-1);k=c[p>>2]|0;c[f>>2]=p+4}else k=0;c[w+56>>2]=j;m=k}else{j=l;m=-1}while(0);p=0;while(1){if(((a[j>>0]|0)+-65|0)>>>0>57){e=-1;break a}k=j+1|0;c[w+56>>2]=k;l=a[(a[j>>0]|0)+-65+(16+(p*58|0))>>0]|0;if(((l&255)+-1|0)>>>0<8){j=k;p=l&255}else break}if(!(l<<24>>24)){e=-1;break}k=(q|0)>-1;do if(l<<24>>24==19)if(k){e=-1;break a}else u=50;else{if(k){c[i+(q<<2)>>2]=l&255;q=h+(q<<3)|0;u=c[q+4>>2]|0;c[w+40>>2]=c[q>>2];c[w+40+4>>2]=u;u=50;break}if(!d){e=0;break a}$g(w+40|0,l&255,f);u=51}while(0);if((u|0)==50){u=0;if(d|0)u=51;else j=0}d:do if((u|0)==51){u=0;l=a[j>>0]|0;l=(p|0)!=0&(l&15|0)==3?l&-33:l;j=n&-65537;o=(n&8192|0)==0?n:j;e:do switch(l|0){case 110:switch((p&255)<<24>>24){case 0:{c[c[w+40>>2]>>2]=e;j=0;break d}case 1:{c[c[w+40>>2]>>2]=e;j=0;break d}case 2:{j=c[w+40>>2]|0;c[j>>2]=e;c[j+4>>2]=((e|0)<0)<<31>>31;j=0;break d}case 3:{b[c[w+40>>2]>>1]=e;j=0;break d}case 4:{a[c[w+40>>2]>>0]=e;j=0;break d}case 6:{c[c[w+40>>2]>>2]=e;j=0;break d}case 7:{j=c[w+40>>2]|0;c[j>>2]=e;c[j+4>>2]=((e|0)<0)<<31>>31;j=0;break d}default:{j=0;break d}}case 112:{j=o|8;k=m>>>0>8?m:8;n=120;u=63;break}case 88:case 120:{j=o;k=m;n=l;u=63;break}case 111:{q=c[w+40>>2]|0;r=c[w+40+4>>2]|0;l=Sr(q,r,w+40|0)|0;p=l;j=o;m=(o&8|0)==0|(m|0)>(v-l|0)?m:v-l+1|0;l=0;k=22698;u=69;break}case 105:case 100:{j=c[w+40>>2]|0;k=c[w+40+4>>2]|0;if((k|0)<0){j=xC(0,0,j|0,k|0)|0;k=D()|0;c[w+40>>2]=j;c[w+40+4>>2]=k;l=1;n=22698;u=68;break e}else{l=(o&2049|0)!=0&1;n=(o&2048|0)==0?((o&1|0)==0?22698:22700):22699;u=68;break e}}case 117:{j=c[w+40>>2]|0;k=c[w+40+4>>2]|0;l=0;n=22698;u=68;break}case 99:{a[w+39>>0]=c[w+40>>2];p=w+39|0;o=j;n=1;l=0;k=22698;j=v;break}case 115:{q=c[w+40>>2]|0;q=(q|0)==0?22708:q;r=Nj(q,m)|0;p=q;o=j;n=(r|0)==0?m:r-q|0;l=0;k=22698;j=(r|0)==0?q+m|0:r;break}case 67:{c[w+48>>2]=c[w+40>>2];c[w+48+4>>2]=0;c[w+40>>2]=w+48;l=w+48|0;m=-1;u=76;break}case 83:if(!m){sn(d,32,s,0,o);j=0;u=86;break e}else{l=c[w+40>>2]|0;u=76;break e}case 65:case 71:case 70:case 69:case 97:case 103:case 102:case 101:{j=Ec(d,+g[w+40>>3],s,m,o,l)|0;break d}default:{p=r;n=m;l=0;k=22698;j=v}}while(0);f:do if((u|0)==63){q=c[w+40>>2]|0;r=c[w+40+4>>2]|0;p=vq(q,r,w+40|0,n&32)|0;o=(j&8|0)==0|(q|0)==0&(r|0)==0;m=k;l=o?0:2;k=o?22698:22698+(4?n>>>4:n)|0;u=69}else if((u|0)==68){q=j;r=k;p=mm(j,k,w+40|0)|0;j=o;k=n;u=69}else if((u|0)==76){u=0;j=0;n=l;while(1){k=c[n>>2]|0;if(!k)break;k=lM(w+60|0,k)|0;if((k|0)<0|k>>>0>(m-j|0)>>>0){u=80;break}j=k+j|0;if(m>>>0>j>>>0)n=n+4|0;else break}if((u|0)==80){u=0;if((k|0)<0){e=-1;break a}}sn(d,32,s,j,o);if(!j){j=0;u=86}else{m=0;while(1){k=c[l>>2]|0;if(!k){u=86;break f}k=lM(w+60|0,k)|0;m=k+m|0;if((m|0)>(j|0)){u=86;break f}DL(d,w+60|0,k);if(m>>>0>=j>>>0){u=86;break}else l=l+4|0}}}while(0);if((u|0)==69){u=0;n=(q|0)!=0|(r|0)!=0;r=(m|0)!=0|n;n=v-p+((n^1)&1)|0;p=r?p:w+40|0;o=(m|0)>-1?j&-65537:j;n=r?((m|0)>(n|0)?m:n):0;j=v}else if((u|0)==86){u=0;sn(d,32,s,j,o^8192);j=(s|0)>(j|0)?s:j;break}q=j-p|0;n=(n|0)<(q|0)?q:n;r=n+l|0;j=(s|0)<(r|0)?r:s;sn(d,32,j,r,o);DL(d,k,l);sn(d,48,j,r,o^65536);sn(d,48,n,q,0);DL(d,p,q);sn(d,32,j,r,o^8192)}while(0);m=t}g:do if((u|0)==89)if(!d)if(!m)e=0;else{e=1;while(1){j=c[i+(e<<2)>>2]|0;if(!j)break;$g(h+(e<<3)|0,j,f);e=e+1|0;if(e>>>0>=10){e=1;break g}}j=0;while(1){e=e+1|0;if(j|0){e=-1;break g}if(e>>>0>=10){e=1;break g}j=c[i+(e<<2)>>2]|0}}while(0);Ta=w;return e|0}function Ic(a,b){a=a|0;b=+b;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0.0,p=0.0,q=0.0,r=0,s=0.0,t=0.0,u=0.0,v=0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0;n=Ta;Ta=Ta+48|0;d=c[a+24>>2]|0;if((d|0)<=0){Ta=n;return}m=0;a:while(1){l=c[(c[a+32>>2]|0)+(m<<2)>>2]|0;switch(c[l+216>>2]|0){case 2:case 5:break;default:{Hd(l,0);d=c[l+732>>2]|0;if((d|0)>0){e=0;do{k=c[l+740>>2]|0;i=c[k+(e*52|0)+12>>2]|0;j=c[k+(e*52|0)+8>>2]|0;x=+f[i+24>>2]-+f[j+24>>2];w=+f[i+28>>2]-+f[j+28>>2];b=+f[i+32>>2]-+f[j+32>>2];f[k+(e*52|0)+36>>2]=x;f[k+(e*52|0)+40>>2]=w;f[k+(e*52|0)+44>>2]=b;f[k+(e*52|0)+48>>2]=0.0;f[k+(e*52|0)+32>>2]=1.0/(+f[k+(e*52|0)+24>>2]*(x*x+w*w+b*b));e=e+1|0}while((e|0)!=(d|0))}d=c[l+792>>2]|0;if((d|0)>0){b=+f[l+452>>2];g=0;do{k=c[l+800>>2]|0;e=k+(g*96|0)+20|0;i=c[e>>2]|0;A=+f[k+(g*96|0)+4>>2];z=+f[k+(g*96|0)+8>>2];x=+f[k+(g*96|0)+12>>2];y=+f[i+4>>2]*A+ +f[i+8>>2]*z+ +f[i+12>>2]*x;w=A*+f[i+20>>2]+z*+f[i+24>>2]+x*+f[i+28>>2];x=A*+f[i+36>>2]+z*+f[i+40>>2]+x*+f[i+44>>2];j=k+(g*96|0)|0;Ff(n,b,+f[(c[j>>2]|0)+88>>2],+f[i+344>>2],i+264|0,y,w,x);i=k+(g*96|0)+28|0;c[i>>2]=c[n>>2];c[i+4>>2]=c[n+4>>2];c[i+8>>2]=c[n+8>>2];c[i+12>>2]=c[n+12>>2];i=k+(g*96|0)+44|0;c[i>>2]=c[n+16>>2];c[i+4>>2]=c[n+16+4>>2];c[i+8>>2]=c[n+16+8>>2];c[i+12>>2]=c[n+16+12>>2];i=k+(g*96|0)+60|0;c[i>>2]=c[n+32>>2];c[i+4>>2]=c[n+32+4>>2];c[i+8>>2]=c[n+32+8>>2];c[i+12>>2]=c[n+32+12>>2];f[k+(g*96|0)+76>>2]=y;f[k+(g*96|0)+80>>2]=w;f[k+(g*96|0)+84>>2]=x;f[k+(g*96|0)+88>>2]=0.0;b=+f[l+452>>2];f[k+(g*96|0)+92>>2]=b*+f[(c[j>>2]|0)+88>>2];e=c[e>>2]|0;if(!(c[e+204>>2]&3)){if((c[e+216>>2]&-2|0)!=4)c[e+216>>2]=1;f[e+220>>2]=0.0}g=g+1|0}while((g|0)!=(d|0))}d=c[l+372>>2]|0;if((d|0)>0){e=c[l+396>>2]|0;g=0;do{if((e|0)>0){d=0;do{qb[((c[(c[l+404>>2]|0)+(d<<2)>>2]|0)==0?43:0)&63](l,1.0);d=d+1|0;e=c[l+396>>2]|0}while((d|0)<(e|0));d=c[l+372>>2]|0}g=g+1|0}while((g|0)<(d|0));d=c[l+712>>2]|0;if((d|0)>0){e=0;do{k=c[l+720>>2]|0;y=+f[l+452>>2];z=y*+f[k+(e*104|0)+44>>2]+ +f[k+(e*104|0)+28>>2];A=y*+f[k+(e*104|0)+48>>2]+ +f[k+(e*104|0)+32>>2];f[k+(e*104|0)+8>>2]=+f[k+(e*104|0)+40>>2]*y+ +f[k+(e*104|0)+24>>2];f[k+(e*104|0)+12>>2]=z;f[k+(e*104|0)+16>>2]=A;f[k+(e*104|0)+20>>2]=0.0;e=e+1|0}while((e|0)!=(d|0))}}d=c[l+376>>2]|0;if((d|0)>0){e=c[l+416>>2]|0;h=0;do{b=+(h|0)/+(d|0);if((e|0)>0){g=0;do{switch(c[(c[l+424>>2]|0)+(g<<2)>>2]|0){case 1:{d=22;break}case 0:{d=23;break}case 2:{d=24;break}case 3:{d=25;break}default:{v=37;break a}}rb[d&31](l,1.0,b);g=g+1|0;e=c[l+416>>2]|0}while((g|0)<(e|0));d=c[l+376>>2]|0}h=h+1|0}while((h|0)<(d|0));b=+f[l+456>>2]*(1.0-+f[l+296>>2]);d=c[l+712>>2]|0;if((d|0)>0){e=0;do{k=c[l+720>>2]|0;z=b*(+f[k+(e*104|0)+12>>2]-+f[k+(e*104|0)+28>>2]);A=b*(+f[k+(e*104|0)+16>>2]-+f[k+(e*104|0)+32>>2]);f[k+(e*104|0)+40>>2]=b*(+f[k+(e*104|0)+8>>2]-+f[k+(e*104|0)+24>>2]);f[k+(e*104|0)+44>>2]=z;f[k+(e*104|0)+48>>2]=A;k=k+(e*104|0)+52|0;e=e+1|0;c[k>>2]=0;c[k+4>>2]=0;c[k+8>>2]=0;c[k+12>>2]=0;c[k+16>>2]=0}while((e|0)!=(d|0))}}d=c[l+380>>2]|0;if((d|0)>0){b=+f[l+292>>2]*+f[l+456>>2];e=c[l+712>>2]|0;if((e|0)>0){d=0;do{k=c[l+720>>2]|0;j=k+(d*104|0)+8|0;k=k+(d*104|0)+24|0;c[k>>2]=c[j>>2];c[k+4>>2]=c[j+4>>2];c[k+8>>2]=c[j+8>>2];c[k+12>>2]=c[j+12>>2];d=d+1|0}while((d|0)!=(e|0));d=c[l+380>>2]|0;if((d|0)>0)v=45}else v=45;if((v|0)==45){v=0;e=c[l+436>>2]|0;h=0;do{if((e|0)>0){g=0;do{switch(c[(c[l+444>>2]|0)+(g<<2)>>2]|0){case 1:{d=22;break}case 0:{d=23;break}case 2:{d=24;break}case 3:{d=25;break}default:{v=56;break a}}rb[d&31](l,1.0,0.0);g=g+1|0;e=c[l+436>>2]|0}while((g|0)<(e|0));d=c[l+380>>2]|0}h=h+1|0}while((h|0)<(d|0))}d=c[l+712>>2]|0;if((d|0)>0){e=c[l+720>>2]|0;g=0;do{z=b*(+f[e+(g*104|0)+12>>2]-+f[e+(g*104|0)+28>>2]);A=b*(+f[e+(g*104|0)+16>>2]-+f[e+(g*104|0)+32>>2]);k=e+(g*104|0)+40|0;f[k>>2]=b*(+f[e+(g*104|0)+8>>2]-+f[e+(g*104|0)+24>>2])+ +f[k>>2];k=e+(g*104|0)+44|0;f[k>>2]=z+ +f[k>>2];k=e+(g*104|0)+48|0;f[k>>2]=A+ +f[k>>2];g=g+1|0}while((g|0)!=(d|0))}}g=c[l+1112>>2]|0;if((g|0)>0){h=c[l+1120>>2]|0;j=0;do{i=c[h+(j<<2)>>2]|0;if(+f[i+352>>2]>0.0?(r=c[i+24>>2]|0,(r|0)>0):0){d=c[i+32>>2]|0;k=0;do{e=c[d+(k<<2)>>2]|0;if(+f[e+88>>2]>0.0?(o=+f[e+24>>2]-+f[i+228>>2],q=+f[e+28>>2]-+f[i+232>>2],u=+f[e+32>>2]-+f[i+236>>2],t=+f[i+336>>2],A=+f[i+340>>2],p=+f[i+332>>2],s=+f[i+316>>2]+(t*u-q*A),u=+f[i+320>>2]+(o*A-u*p),t=q*p-o*t+ +f[i+324>>2],o=+f[e+40>>2],p=+f[e+44>>2],q=+f[e+48>>2],s*s+u*u+t*t<=o*o+p*p+q*q):0){A=+f[i+352>>2];f[e+40>>2]=o+(s-o)*A;f[e+44>>2]=p+(u-p)*A;f[e+48>>2]=q+(t-q)*A}k=k+1|0}while((k|0)!=(r|0))}j=j+1|0}while((j|0)!=(g|0))}Hd(l,1);d=c[a+24>>2]|0}}m=m+1|0;if((m|0)>=(d|0)){v=3;break}}if((v|0)==3){Ta=n;return}}function Jc(b,d,e){b=b|0;d=d|0;e=e|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,t=0,u=0,v=0,w=0,x=0,y=0,A=0.0,B=0.0,C=0.0;if((d|0)<=1){y=0;return y|0}x=c[b+712>>2]|0;y=z(x,x)|0;y=w$(y>>>0>1073741823?-1:y<<2)|0;if((x|0)>0){j=0;do{k=z(j,x)|0;h=y+(j+k<<2)|0;i=0;do{g=y+((z(i,x)|0)+j<<2)|0;if((i|0)==(j|0)){c[g>>2]=0;c[h>>2]=0}else{c[g>>2]=2147483647;c[y+(i+k<<2)>>2]=2147483647}i=i+1|0}while((i|0)!=(x|0));j=j+1|0}while((j|0)!=(x|0))}g=c[b+732>>2]|0;if((g|0)>0){h=c[b+740>>2]|0;i=c[b+720>>2]|0;j=0;do{p=((c[h+(j*52|0)+8>>2]|0)-i|0)/104|0;u=((c[h+(j*52|0)+12>>2]|0)-i|0)/104|0;c[y+((z(u,x)|0)+p<<2)>>2]=1;c[y+((z(p,x)|0)+u<<2)>>2]=1;j=j+1|0}while((j|0)!=(g|0))}do if((d|0)!=2)if((x|0)>0){m=0;do{n=z(m,x)|0;k=0;do{l=k;k=k+1|0;if((k|0)<(x|0)){o=z(l,x)|0;h=y+(o+m<<2)|0;j=k;do{g=(c[h>>2]|0)+(c[y+(j+n<<2)>>2]|0)|0;i=y+(j+o<<2)|0;if((c[i>>2]|0)>>>0>g>>>0){c[y+((z(j,x)|0)+l<<2)>>2]=g;c[i>>2]=g}j=j+1|0}while((j|0)!=(x|0))}}while((k|0)!=(x|0));m=m+1|0}while((m|0)!=(x|0));q=97}else g=0;else{if((x|0)<0)Qa();if((x|0)>0){c[6879]=(c[6879]|0)+1;g=Zb((x*20|3)+16|0)|0;if(!g)h=0;else{c[(g+4+15&-16)+-4>>2]=g;h=g+4+15&-16}g=0;do{a[h+(g*20|0)+16>>0]=1;c[h+(g*20|0)+12>>2]=0;u=h+(g*20|0)+4|0;c[u>>2]=0;c[h+(g*20|0)+8>>2]=0;c[u>>2]=0;g=g+1|0}while((g|0)!=(x|0));u=h}else u=0;if((c[b+732>>2]|0)>0){n=0;do{m=c[b+740>>2]|0;p=c[b+720>>2]|0;o=((c[m+(n*52|0)+8>>2]|0)-p|0)/104|0;p=((c[m+(n*52|0)+12>>2]|0)-p|0)/104|0;m=u+(o*20|0)+4|0;g=c[m>>2]|0;a:do if((g|0)>0){i=c[u+(o*20|0)+12>>2]|0;h=0;while(1){if((c[i+(h<<2)>>2]|0)==(p|0))break;h=h+1|0;if((h|0)>=(g|0)){q=28;break a}}if((h|0)==(g|0))q=28}else q=28;while(0);if((q|0)==28){q=0;l=u+(o*20|0)+8|0;if((g|0)==(c[l>>2]|0)?(t=(g|0)==0?1:g<<1,(g|0)<(t|0)):0){if(!t)h=0;else{c[6879]=(c[6879]|0)+1;g=Zb((t<<2|3)+16|0)|0;if(!g)h=0;else{c[(g+4+15&-16)+-4>>2]=g;h=g+4+15&-16}g=c[m>>2]|0}k=u+(o*20|0)+12|0;j=c[k>>2]|0;if((g|0)<=0)if(!j)i=u+(o*20|0)+16|0;else q=39;else{i=0;do{c[h+(i<<2)>>2]=c[j+(i<<2)>>2];i=i+1|0}while((i|0)!=(g|0));q=39}if((q|0)==39){q=0;i=u+(o*20|0)+16|0;if(a[i>>0]|0){c[6880]=(c[6880]|0)+1;kd(c[j+-4>>2]|0)}c[k>>2]=0;g=c[m>>2]|0}a[i>>0]=1;c[k>>2]=h;c[l>>2]=t}c[(c[u+(o*20|0)+12>>2]|0)+(g<<2)>>2]=p;c[m>>2]=(c[m>>2]|0)+1}m=u+(p*20|0)+4|0;g=c[m>>2]|0;b:do if((g|0)>0){i=c[u+(p*20|0)+12>>2]|0;h=0;while(1){if((c[i+(h<<2)>>2]|0)==(o|0))break;h=h+1|0;if((h|0)>=(g|0)){q=49;break b}}if((h|0)==(g|0))q=49}else q=49;while(0);if((q|0)==49){q=0;l=u+(p*20|0)+8|0;if((g|0)==(c[l>>2]|0)?(r=(g|0)==0?1:g<<1,(g|0)<(r|0)):0){if(!r)h=0;else{c[6879]=(c[6879]|0)+1;g=Zb((r<<2|3)+16|0)|0;if(!g)h=0;else{c[(g+4+15&-16)+-4>>2]=g;h=g+4+15&-16}g=c[m>>2]|0}k=u+(p*20|0)+12|0;j=c[k>>2]|0;if((g|0)<=0)if(!j)i=u+(p*20|0)+16|0;else q=60;else{i=0;do{c[h+(i<<2)>>2]=c[j+(i<<2)>>2];i=i+1|0}while((i|0)!=(g|0));q=60}if((q|0)==60){q=0;i=u+(p*20|0)+16|0;if(a[i>>0]|0){c[6880]=(c[6880]|0)+1;kd(c[j+-4>>2]|0)}c[k>>2]=0;g=c[m>>2]|0}a[i>>0]=1;c[k>>2]=h;c[l>>2]=r}c[(c[u+(p*20|0)+12>>2]|0)+(g<<2)>>2]=o;c[m>>2]=(c[m>>2]|0)+1}n=n+1|0}while((n|0)<(c[b+732>>2]|0))}if((x|0)<=0){if(!u){g=0;break}}else{p=0;do{q=u+(p*20|0)+4|0;g=c[q>>2]|0;if((g|0)>0){r=z(p,x)|0;o=c[u+(p*20|0)+12>>2]|0;n=0;do{l=c[o+(n<<2)>>2]|0;m=u+(l*20|0)+4|0;h=c[m>>2]|0;if((h|0)>0){j=c[u+(l*20|0)+12>>2]|0;k=y+((z(l,x)|0)+p<<2)|0;i=0;do{g=c[j+(i<<2)>>2]|0;if((p|0)!=(g|0)?(w=z(g,x)|0,v=(c[y+(w+l<<2)>>2]|0)+(c[k>>2]|0)|0,w=y+(w+p<<2)|0,(c[w>>2]|0)>>>0>v>>>0):0){c[y+(g+r<<2)>>2]=v;c[w>>2]=v;h=c[m>>2]|0}i=i+1|0}while((i|0)<(h|0));g=c[q>>2]|0}n=n+1|0}while((n|0)<(g|0))}p=p+1|0}while((p|0)!=(x|0));i=0;do{k=u+(i*20|0)+4|0;j=u+(i*20|0)+12|0;h=c[j>>2]|0;g=u+(i*20|0)+16|0;if(h|0){if(a[g>>0]|0){c[6880]=(c[6880]|0)+1;kd(c[h+-4>>2]|0)}c[j>>2]=0}a[g>>0]=1;c[j>>2]=0;c[k>>2]=0;c[u+(i*20|0)+8>>2]=0;i=i+1|0}while((i|0)!=(x|0))}c[6880]=(c[6880]|0)+1;kd(c[u+-4>>2]|0);q=97}while(0);if((q|0)==97)if((x|0)>0){k=0;g=0;do{i=k;k=k+1|0;if((k|0)<(x|0)){j=z(i,x)|0;h=k;do{if((c[y+(h+j<<2)>>2]|0)==(d|0)){u=c[b+720>>2]|0;fi(b,e);w=(c[b+732>>2]|0)+-1|0;v=c[b+740>>2]|0;c[v+(w*52|0)+8>>2]=u+(h*104|0);c[v+(w*52|0)+12>>2]=u+(i*104|0);C=+f[u+(h*104|0)+8>>2]-+f[u+(i*104|0)+8>>2];B=+f[u+(h*104|0)+12>>2]-+f[u+(i*104|0)+12>>2];A=+f[u+(h*104|0)+16>>2]-+f[u+(i*104|0)+16>>2];f[v+(w*52|0)+16>>2]=+s(+(C*C+B*B+A*A));a[b+924>>0]=1;w=(c[b+740>>2]|0)+(w*52|0)+20|0;a[w>>0]=a[w>>0]|1;g=g+1|0}h=h+1|0}while((h|0)!=(x|0))}}while((k|0)!=(x|0))}else g=0;x$(y);y=g;return y|0}function Kc(d,e){d=d|0;e=+e;var g=0,h=0.0,i=0,j=0.0,k=0.0,l=0,m=0,n=0,o=0,p=0.0,q=0.0,r=0,s=0.0,t=0;r=Ta;Ta=Ta+304|0;Aj(15150);a:do if((c[d+232>>2]|0)>0){n=r+136+48|0;m=0;while(1){l=c[(c[d+240>>2]|0)+(m<<2)>>2]|0;f[l+244>>2]=1.0;b:do switch(c[l+216>>2]|0){case 2:case 5:break;default:if(!(c[l+204>>2]&3)){Vg(l+4|0,+f[l+312>>2],+f[l+316>>2],+f[l+320>>2],l+328|0,e,r+136|0);h=+f[n>>2]-+f[l+52>>2];k=+f[r+136+52>>2]-+f[l+56>>2];j=+f[r+136+56>>2]-+f[l+60>>2];if(a[d+44>>0]|0?(s=+f[l+252>>2],s*s!=0.0?s*s>2]|0)+4>>2]|0)<20){c[6541]=(c[6541]|0)+1;g=c[d+68>>2]|0;g=eb[c[(c[g>>2]|0)+36>>2]&255](g)|0;i=c[d+24>>2]|0;f[r+200+4>>2]=1.0;c[r+200+12>>2]=c[l+52>>2];c[r+200+12+4>>2]=c[l+52+4>>2];c[r+200+12+8>>2]=c[l+52+8>>2];c[r+200+12+12>>2]=c[l+52+12>>2];c[r+200+28>>2]=c[n>>2];c[r+200+28+4>>2]=c[n+4>>2];c[r+200+28+8>>2]=c[n+8>>2];c[r+200+28+12>>2]=c[n+12>>2];c[r+200+76>>2]=0;c[r+200>>2]=5532;c[r+200+80>>2]=l;c[r+200+88>>2]=g;c[r+200+92>>2]=i;i=c[l+248>>2]|0;c[r+80+8>>2]=0;c[r+80+12>>2]=1065353216;c[r+80+16>>2]=1065353216;c[r+80+20>>2]=1065353216;f[r+80+24>>2]=0.0;c[r+80>>2]=8108;c[r+80+4>>2]=8;c[r+80+28>>2]=i;c[r+80+44>>2]=i;c[r+200+84>>2]=c[d+56>>2];i=c[l+188>>2]|0;b[r+200+8>>1]=b[i+4>>1]|0;b[r+200+10>>1]=b[i+6>>1]|0;c[r+16+48>>2]=c[n>>2];c[r+16+48+4>>2]=c[n+4>>2];c[r+16+48+8>>2]=c[n+8>>2];c[r+16+48+12>>2]=c[n+12>>2];c[r+16>>2]=c[l+4>>2];c[r+16+4>>2]=c[l+4+4>>2];c[r+16+8>>2]=c[l+4+8>>2];c[r+16+12>>2]=c[l+4+12>>2];c[r+16+16>>2]=c[l+20>>2];c[r+16+16+4>>2]=c[l+20+4>>2];c[r+16+16+8>>2]=c[l+20+8>>2];c[r+16+16+12>>2]=c[l+20+12>>2];c[r+16+32>>2]=c[l+36>>2];c[r+16+32+4>>2]=c[l+36+4>>2];c[r+16+32+8>>2]=c[l+36+8>>2];c[r+16+32+12>>2]=c[l+36+12>>2];xd(d,r+80|0,l+4|0,r+16|0,r+200|0,0.0);h=+f[r+200+4>>2];if(h<1.0){f[l+244>>2]=h;Vg(l+4|0,+f[l+312>>2],+f[l+316>>2],+f[l+320>>2],l+328|0,h*e,r+136|0);f[l+244>>2]=0.0;De(l,r+136|0);g=4}else g=0;if(!g)o=12}else o=12;if((o|0)==12){o=0;g=0}i=c[2760]|0;t=(c[i+16>>2]|0)+-1|0;c[i+16>>2]=t;do if(!t){if(c[i+4>>2]|0){Pa(r+200|0,0)|0;t=c[6878]|0;f[i+8>>2]=+f[i+8>>2]+ +(((c[r+200+4>>2]|0)-(c[t+4>>2]|0)+(((c[r+200>>2]|0)-(c[t>>2]|0)|0)*1e6|0)-(c[i+12>>2]|0)|0)>>>0)/1.0e3;if(c[i+16>>2]|0)break;i=c[2760]|0}c[2760]=c[i+20>>2]}while(0);if(g|0)break b}De(l,r+136|0)}}while(0);m=m+1|0;if((m|0)>=(c[d+232>>2]|0))break a}}while(0);do if(a[d+275>>0]|0){Aj(15190);if((c[d+308>>2]|0)>0){n=0;do{m=c[(c[d+316>>2]|0)+(n<<2)>>2]|0;l=c[m+740>>2]|0;l=(c[l+236>>2]&2|0)==0?0:l;o=c[m+744>>2]|0;o=(c[o+236>>2]&2|0)==0?0:o;g=c[m+748>>2]|0;if((g|0)>0)if(!l){i=0;do{h=+f[57]*+f[o+228>>2];if(h>0.0?(p=+f[m+4+(i*184|0)+120>>2],p!=0.0):0){k=h*(p*+f[m+4+(i*184|0)+64>>2]);e=h*(p*+f[m+4+(i*184|0)+68>>2]);s=h*(p*+f[m+4+(i*184|0)+72>>2]);h=+f[m+4+(i*184|0)+36>>2]-+f[o+56>>2];j=+f[m+4+(i*184|0)+40>>2]-+f[o+60>>2];f[r+16>>2]=+f[m+4+(i*184|0)+32>>2]-+f[o+52>>2];f[r+16+4>>2]=h;f[r+16+8>>2]=j;f[r+16+12>>2]=0.0;f[r>>2]=k;f[r+4>>2]=e;f[r+8>>2]=s;f[r+12>>2]=0.0;ql(o,r,r+16|0);g=c[m+748>>2]|0}i=i+1|0}while((i|0)<(g|0))}else{i=0;do{h=+f[l+228>>2]*+f[o+228>>2];if(h>0.0?(q=+f[m+4+(i*184|0)+120>>2],q!=0.0):0){k=h*(q*+f[m+4+(i*184|0)+64>>2]);e=h*(q*+f[m+4+(i*184|0)+68>>2]);s=h*(q*+f[m+4+(i*184|0)+72>>2]);f[r+200>>2]=-k;f[r+200+4>>2]=-e;f[r+200+8>>2]=-s;f[r+200+12>>2]=0.0;j=+f[m+4+(i*184|0)+52>>2]-+f[l+56>>2];h=+f[m+4+(i*184|0)+56>>2]-+f[l+60>>2];f[r+80>>2]=+f[m+4+(i*184|0)+48>>2]-+f[l+52>>2];f[r+80+4>>2]=j;f[r+80+8>>2]=h;f[r+80+12>>2]=0.0;h=+f[m+4+(i*184|0)+36>>2]-+f[o+56>>2];j=+f[m+4+(i*184|0)+40>>2]-+f[o+60>>2];f[r+16>>2]=+f[m+4+(i*184|0)+32>>2]-+f[o+52>>2];f[r+16+4>>2]=h;f[r+16+8>>2]=j;f[r+16+12>>2]=0.0;ql(l,r+200|0,r+80|0);f[r>>2]=k;f[r+4>>2]=e;f[r+8>>2]=s;f[r+12>>2]=0.0;ql(o,r,r+16|0);g=c[m+748>>2]|0}i=i+1|0}while((i|0)<(g|0))}n=n+1|0}while((n|0)<(c[d+308>>2]|0))}g=c[2760]|0;t=(c[g+16>>2]|0)+-1|0;c[g+16>>2]=t;if(!t){if(c[g+4>>2]|0){Pa(r+200|0,0)|0;t=c[6878]|0;f[g+8>>2]=+f[g+8>>2]+ +(((c[r+200+4>>2]|0)-(c[t+4>>2]|0)+(((c[r+200>>2]|0)-(c[t>>2]|0)|0)*1e6|0)-(c[g+12>>2]|0)|0)>>>0)/1.0e3;if(c[g+16>>2]|0)break;g=c[2760]|0}c[2760]=c[g+20>>2]}}while(0);g=c[2760]|0;t=(c[g+16>>2]|0)+-1|0;c[g+16>>2]=t;if(t|0){Ta=r;return}do if(c[g+4>>2]|0){Pa(r+200|0,0)|0;t=c[6878]|0;f[g+8>>2]=+f[g+8>>2]+ +(((c[r+200+4>>2]|0)-(c[t+4>>2]|0)+(((c[r+200>>2]|0)-(c[t>>2]|0)|0)*1e6|0)-(c[g+12>>2]|0)|0)>>>0)/1.0e3;if(!(c[g+16>>2]|0)){g=c[2760]|0;break}else{Ta=r;return}}while(0);c[2760]=c[g+20>>2];Ta=r;return}function Lc(b,d){b=b|0;d=d|0;var e=0,g=0.0,i=0.0,j=0.0,k=0,l=0,m=0.0,n=0,o=0.0,p=0.0,q=0.0,r=0.0,t=0,u=0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0,C=0.0,D=0.0,E=0.0,F=0,G=0,H=0,I=0,J=0,K=0;H=Ta;Ta=Ta+96|0;e=c[b+216>>2]|0;if(+f[e+4>>2]==0.0){G=0;Ta=H;return G|0}G=c[d>>2]|0;if(!(gb[c[(c[e>>2]|0)+8>>2]&63](e,c[G+188>>2]|0)|0)){G=1;Ta=H;return G|0}d=c[G+192>>2]|0;F=c[b+216>>2]|0;if((c[d+4>>2]|0)!=32){c[H+32>>2]=0;c[H+32+4>>2]=d;c[H+32+8>>2]=G;c[H+32+12>>2]=G+4;c[H+32+16>>2]=-1;c[H+32+20>>2]=-1;Cc(b+68|0,b+132|0,H+32|0,F);G=1;Ta=H;return G|0}if((G|0)==0?1:(c[G+236>>2]|0)!=8){G=1;Ta=H;return G|0}d=c[G+752>>2]|0;if(d)if(!(c[G+988>>2]|0)){d=c[G+988+4>>2]|0;if(d|0){c[6880]=(c[6880]|0)+1;kd(c[d+-4>>2]|0)}c[G+988+4>>2]=0;c[G+988+8>>2]=-1;d=c[G+988+32>>2]|0;if(d|0){if(a[G+988+36>>0]|0){c[6880]=(c[6880]|0)+1;kd(c[d+-4>>2]|0)}c[G+988+32>>2]=0}a[G+988+36>>0]=1;c[G+988+32>>2]=0;c[G+988+24>>2]=0;c[G+988+28>>2]=0;c[G+988+16>>2]=0;d=c[G+752>>2]|0;if((d|0)>0){t=0;do{l=c[G+760>>2]|0;n=l+(t*44|0)|0;k=c[l+(t*44|0)+8>>2]|0;u=c[l+(t*44|0)+12>>2]|0;d=c[l+(t*44|0)+16>>2]|0;g=+f[k+8>>2];j=+f[k+12>>2];i=+f[k+16>>2];q=+f[k+20>>2];B=+f[u+8>>2];m=B>2];r=E>2];o=D>2];p=C>2];m=C>2];r=D>2];o=E>2];p=B>2]|0;if(!d){c[6879]=(c[6879]|0)+1;d=Zb(63)|0;if(!d)d=0;else{c[(d+4+15&-16)+-4>>2]=d;d=d+4+15&-16}e=d;k=e+44|0;do{c[e>>2]=0;e=e+4|0}while((e|0)<(k|0))}else c[G+988+4>>2]=0;c[d+32>>2]=0;c[d+36>>2]=n;c[d+40>>2]=0;f[d>>2]=m;f[d+4>>2]=r;f[d+8>>2]=o;f[d+12>>2]=p;f[d+16>>2]=g;f[d+20>>2]=j;f[d+24>>2]=i;f[d+28>>2]=q;bf(G+988|0,c[G+988>>2]|0,d);c[G+988+12>>2]=(c[G+988+12>>2]|0)+1;c[l+(t*44|0)+40>>2]=d;t=t+1|0;d=c[G+752>>2]|0}while((t|0)<(d|0));e=G+988|0}else e=G+988|0}else e=G+988|0;else{e=G+988|0;d=0}C=+f[b+180>>2]-+f[b+116>>2];E=+f[b+184>>2]-+f[b+120>>2];D=+f[b+188>>2]-+f[b+124>>2];e=c[e>>2]|0;if(!e)if((d|0)>0){t=c[G+760>>2]|0;i=1.0;g=1.0;k=0;u=0;l=-1;n=1065353216;e=0;do{K=c[t+(u*44|0)+8>>2]|0;J=c[t+(u*44|0)+12>>2]|0;I=c[t+(u*44|0)+16>>2]|0;j=+Ih(b+116|0,C,E,D,+f[K+8>>2],+f[K+12>>2],+f[K+16>>2],+f[J+8>>2],+f[J+12>>2],+f[J+16>>2],+f[I+8>>2],+f[I+12>>2],+f[I+16>>2],i);if(j>0.0){g=j;i=j;k=k+1|0;l=u;n=(f[h>>2]=j,c[h>>2]|0);e=3}u=u+1|0}while((u|0)!=(d|0));d=k}else{g=1.0;d=0;l=-1;n=1065353216;e=0}else{c[H+32>>2]=4420;c[H+32+4>>2]=c[b+116>>2];c[H+32+4+4>>2]=c[b+116+4>>2];c[H+32+4+8>>2]=c[b+116+8>>2];c[H+32+4+12>>2]=c[b+116+12>>2];f[H+32+36>>2]=C;f[H+32+40>>2]=E;f[H+32+44>>2]=D;f[H+32+48>>2]=0.0;c[H+32+20>>2]=c[b+180>>2];c[H+32+20+4>>2]=c[b+180+4>>2];c[H+32+20+8>>2]=c[b+180+8>>2];c[H+32+20+12>>2]=c[b+180+12>>2];c[H+32+52>>2]=1065353216;c[H+32+56>>2]=0;c[H+32+60>>2]=0;ue(e,b+116|0,b+180|0,H+32|0);d=c[H+32+56>>2]|0;if(!d){g=1.0;k=0;l=-1;n=1065353216;e=0}else{n=c[H+32+52>>2]|0;g=(c[h>>2]=n,+f[h>>2]);k=1;l=(d-(c[G+760>>2]|0)|0)/44|0;e=3}d=k}t=c[G+772>>2]|0;if((t|0)>0){u=c[G+780>>2]|0;k=0;do{K=c[u+(k*104|0)+8>>2]|0;w=+f[K+8>>2];x=+f[K+12>>2];y=+f[K+16>>2];K=c[u+(k*104|0)+12>>2]|0;m=+f[K+8>>2];o=+f[K+12>>2];p=+f[K+16>>2];K=c[u+(k*104|0)+16>>2]|0;z=+f[K+8>>2];A=+f[K+12>>2];B=+f[K+16>>2];i=(c[h>>2]=n,+f[h>>2]);j=+Ih(b+116|0,C,E,D,w,x,y,m,o,p,z,A,B,i);if(j>0.0){i=j;g=j;d=d+1|0;l=k;n=(f[h>>2]=j,c[h>>2]|0);e=4}K=c[u+(k*104|0)+20>>2]|0;q=+f[K+8>>2];r=+f[K+12>>2];v=+f[K+16>>2];i=+Ih(b+116|0,C,E,D,w,x,y,m,o,p,q,r,v,i);if(i>0.0){j=i;g=i;d=d+1|0;l=k;n=(f[h>>2]=i,c[h>>2]|0);e=4}else j=(c[h>>2]=n,+f[h>>2]);i=+Ih(b+116|0,C,E,D,m,o,p,z,A,B,q,r,v,j);if(i>0.0){j=i;g=i;d=d+1|0;l=k;n=(f[h>>2]=i,c[h>>2]|0);e=4}else j=(c[h>>2]=n,+f[h>>2]);i=+Ih(b+116|0,C,E,D,w,x,y,z,A,B,q,r,v,j);if(i>0.0){g=i;d=d+1|0;l=k;n=(f[h>>2]=i,c[h>>2]|0);e=4}k=k+1|0}while((k|0)!=(t|0));q=g}else q=g;if(!d){K=1;Ta=H;return K|0}if(!(q<=+f[F+4>>2])){K=1;Ta=H;return K|0}c[H+32>>2]=0;c[H+32+4>>2]=l;m=+f[b+180>>2]-+f[b+116>>2];p=+f[b+184>>2]-+f[b+120>>2];o=+f[b+188>>2]-+f[b+124>>2];g=1.0/+s(+(m*m+p*p+o*o));if((e|0)==3){d=c[G+748+12>>2]|0;g=+f[d+(l*44|0)+20>>2];j=+f[d+(l*44|0)+24>>2];i=+f[d+(l*44|0)+28>>2];if(m*g+p*j+o*i>0.0){m=-g;j=-j;i=-i;g=0.0}else{m=g;g=+f[d+(l*44|0)+32>>2]}}else{m=-(m*g);j=-(p*g);i=-(o*g);g=0.0}c[H>>2]=G;c[H+4>>2]=H+32;f[H+8>>2]=m;f[H+12>>2]=j;f[H+16>>2]=i;f[H+20>>2]=g;f[H+24>>2]=q;+Za[c[(c[F>>2]|0)+12>>2]&63](F,H,1);K=1;Ta=H;return K|0}function Mc(b,d,e){b=b|0;d=d|0;e=+e;var g=0,h=0,i=0,j=0,k=0,l=0.0,m=0.0,n=0,o=0,p=0.0,q=0,r=0;r=Ta;Ta=Ta+112|0;j=c[b+716>>2]|0;if((j|0)==(c[b+712>>2]|0)){a:do if(j){k=c[b+720>>2]|0;if((j|0)>0){h=k;i=0;while(1){g=c[h+(i*104|0)+96>>2]|0;if(g|0)c[g+36>>2]=i;g=i+1|0;if((g|0)==(j|0))break a;h=c[b+720>>2]|0;i=g}}}else k=0;while(0);g=c[b+732>>2]|0;if((g|0)>0){h=0;do{o=(c[b+740>>2]|0)+(h*52|0)+8|0;c[o>>2]=((c[o>>2]|0)-k|0)/104|0;o=(c[b+740>>2]|0)+(h*52|0)+12|0;c[o>>2]=((c[o>>2]|0)-k|0)/104|0;h=h+1|0}while((h|0)!=(g|0))}g=c[b+752>>2]|0;if((g|0)>0){i=0;do{h=(c[b+760>>2]|0)+(i*44|0)+8|0;c[h>>2]=((c[h>>2]|0)-k|0)/104|0;h=(c[b+760>>2]|0)+(i*44|0)+12|0;c[h>>2]=((c[h>>2]|0)-k|0)/104|0;h=(c[b+760>>2]|0)+(i*44|0)+16|0;c[h>>2]=((c[h>>2]|0)-k|0)/104|0;h=c[(c[b+760>>2]|0)+(i*44|0)+40>>2]|0;if(h|0)c[h+36>>2]=i;i=i+1|0}while((i|0)!=(g|0))}g=c[b+792>>2]|0;if((g|0)>0){h=c[b+800>>2]|0;i=0;do{o=h+(i*96|0)|0;c[o>>2]=((c[o>>2]|0)-k|0)/104|0;i=i+1|0}while((i|0)!=(g|0))}i=c[b+692>>2]|0;if((i|0)>0){g=c[b+700>>2]|0;j=0;do{if((c[g+(j*60|0)+24>>2]|0)>0){h=0;do{g=g+(j*60|0)+28+(h<<2)|0;c[g>>2]=((c[g>>2]|0)-k|0)/104|0;h=h+1|0;g=c[b+700>>2]|0}while((h|0)<(c[g+(j*60|0)+24>>2]|0))}j=j+1|0}while((j|0)!=(i|0))}i=c[b+712>>2]|0;if((c[b+716>>2]|0)<(i<<1|1|0)){c[6879]=(c[6879]|0)+1;g=Zb(((i<<1|1)*104|3)+16|0)|0;if(!g)j=0;else{c[(g+4+15&-16)+-4>>2]=g;j=g+4+15&-16}g=c[b+712>>2]|0;if((g|0)>0){h=0;do{n=j+(h*104|0)|0;k=(c[b+720>>2]|0)+(h*104|0)|0;o=n+104|0;do{c[n>>2]=c[k>>2];n=n+4|0;k=k+4|0}while((n|0)<(o|0));h=h+1|0}while((h|0)!=(g|0))}g=c[b+720>>2]|0;if(g|0){if(a[b+724>>0]|0){c[6880]=(c[6880]|0)+1;kd(c[g+-4>>2]|0)}c[b+720>>2]=0}a[b+724>>0]=1;c[b+720>>2]=j;c[b+716>>2]=i<<1|1;i=c[b+712>>2]|0}b:do if(i){j=c[b+720>>2]|0;if((i|0)>0){k=j;g=0;while(1){h=c[k+(g*104|0)+96>>2]|0;if(h|0)c[h+36>>2]=k+(g*104|0);g=g+1|0;if((g|0)==(i|0)){k=j;break b}k=c[b+720>>2]|0}}else k=j}else k=0;while(0);g=c[b+732>>2]|0;if((g|0)>0){h=0;do{o=(c[b+740>>2]|0)+(h*52|0)+8|0;c[o>>2]=k+((c[o>>2]|0)*104|0);o=(c[b+740>>2]|0)+(h*52|0)+12|0;c[o>>2]=k+((c[o>>2]|0)*104|0);h=h+1|0}while((h|0)!=(g|0))}g=c[b+752>>2]|0;if((g|0)>0){j=0;do{h=(c[b+760>>2]|0)+(j*44|0)+8|0;c[h>>2]=k+((c[h>>2]|0)*104|0);h=(c[b+760>>2]|0)+(j*44|0)+12|0;c[h>>2]=k+((c[h>>2]|0)*104|0);h=(c[b+760>>2]|0)+(j*44|0)+16|0;c[h>>2]=k+((c[h>>2]|0)*104|0);h=c[b+760>>2]|0;i=c[h+(j*44|0)+40>>2]|0;if(i|0)c[i+36>>2]=h+(j*44|0);j=j+1|0}while((j|0)!=(g|0))}h=c[b+792>>2]|0;if((h|0)>0){g=c[b+800>>2]|0;i=0;do{o=g+(i*96|0)|0;c[o>>2]=k+((c[o>>2]|0)*104|0);i=i+1|0}while((i|0)!=(h|0))}i=c[b+692>>2]|0;if((i|0)>0){g=c[b+700>>2]|0;j=0;do{if((c[g+(j*60|0)+24>>2]|0)>0){h=0;do{g=g+(j*60|0)+28+(h<<2)|0;c[g>>2]=k+((c[g>>2]|0)*104|0);h=h+1|0;g=c[b+700>>2]|0}while((h|0)<(c[g+(j*60|0)+24>>2]|0))}j=j+1|0}while((j|0)!=(i|0))}}n=c[b+192>>2]|0;p=+Wa[c[(c[n>>2]|0)+48>>2]&31](n);n=r;o=n+100|0;do{c[n>>2]=0;n=n+4|0}while((n|0)<(o|0));g=c[b+712>>2]|0;if((g|0)==(c[b+716>>2]|0)?(q=(g|0)==0?1:g<<1,(g|0)<(q|0)):0){if(!q)h=0;else{c[6879]=(c[6879]|0)+1;g=Zb((q*104|3)+16|0)|0;if(!g)h=0;else{c[(g+4+15&-16)+-4>>2]=g;h=g+4+15&-16}g=c[b+712>>2]|0}if((g|0)>0){i=0;do{n=h+(i*104|0)|0;k=(c[b+720>>2]|0)+(i*104|0)|0;o=n+104|0;do{c[n>>2]=c[k>>2];n=n+4|0;k=k+4|0}while((n|0)<(o|0));i=i+1|0}while((i|0)!=(g|0))}g=c[b+720>>2]|0;if(g|0){if(a[b+724>>0]|0){c[6880]=(c[6880]|0)+1;kd(c[g+-4>>2]|0)}c[b+720>>2]=0}a[b+724>>0]=1;c[b+720>>2]=h;c[b+716>>2]=q;g=c[b+712>>2]|0}n=c[b+720>>2]|0;c[n+(g*104|0)>>2]=0;n=n+(g*104|0)+4|0;k=r;o=n+100|0;do{c[n>>2]=c[k>>2];n=n+4|0;k=k+4|0}while((n|0)<(o|0));h=c[b+712>>2]|0;c[b+712>>2]=h+1;i=c[b+720>>2]|0;n=i+(h*104|0)|0;o=n+104|0;do{c[n>>2]=0;n=n+4|0}while((n|0)<(o|0));c[i+(h*104|0)+8>>2]=c[d>>2];c[i+(h*104|0)+8+4>>2]=c[d+4>>2];c[i+(h*104|0)+8+8>>2]=c[d+8>>2];c[i+(h*104|0)+8+12>>2]=c[d+12>>2];jq(i+(h*104|0)+24|0,d|0,16)|0;f[i+(h*104|0)+88>>2]=e>0.0?1.0/e:0.0;c[i+(h*104|0)+4>>2]=c[c[b+880>>2]>>2];e=+f[i+(h*104|0)+8>>2];l=+f[i+(h*104|0)+12>>2];m=+f[i+(h*104|0)+16>>2];g=c[b+932>>2]|0;if(g|0){c[b+932>>2]=0;d=g;q=d+32|0;c[q>>2]=0;q=d+36|0;c[q>>2]=i+(h*104|0);q=d+40|0;c[q>>2]=0;f[d>>2]=e-p;q=d+4|0;f[q>>2]=l-p;q=d+8|0;f[q>>2]=m-p;q=d+12|0;f[q>>2]=0.0;q=d+16|0;f[q>>2]=p+e;q=d+20|0;f[q>>2]=p+l;q=d+24|0;f[q>>2]=p+m;q=d+28|0;f[q>>2]=0.0;q=c[b+928>>2]|0;bf(b+928|0,q,d);b=b+940|0;q=c[b>>2]|0;q=q+1|0;c[b>>2]=q;b=i+(h*104|0)+96|0;c[b>>2]=d;Ta=r;return}c[6879]=(c[6879]|0)+1;g=Zb(63)|0;if(!g)g=0;else{c[(g+4+15&-16)+-4>>2]=g;g=g+4+15&-16}n=g;o=n+44|0;do{c[n>>2]=0;n=n+4|0}while((n|0)<(o|0));d=g;q=d+32|0;c[q>>2]=0;q=d+36|0;c[q>>2]=i+(h*104|0);q=d+40|0;c[q>>2]=0;f[d>>2]=e-p;q=d+4|0;f[q>>2]=l-p;q=d+8|0;f[q>>2]=m-p;q=d+12|0;f[q>>2]=0.0;q=d+16|0;f[q>>2]=p+e;q=d+20|0;f[q>>2]=p+l;q=d+24|0;f[q>>2]=p+m;q=d+28|0;f[q>>2]=0.0;q=c[b+928>>2]|0;bf(b+928|0,q,d);b=b+940|0;q=c[b>>2]|0;q=q+1|0;c[b>>2]=q;b=i+(h*104|0)+96|0;c[b>>2]=d;Ta=r;return}function Nc(b,d,e,g,h,i,j,k,l){b=b|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;var m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0,C=0.0,D=0.0,E=0.0,F=0.0,G=0,H=0,I=0.0,J=0.0,K=0.0,L=0.0,M=0.0,N=0.0,O=0.0,P=0.0,Q=0.0,R=0.0,S=0.0,T=0.0,U=0.0,V=0.0;H=Ta;Ta=Ta+32|0;c[H+12>>2]=i;c[H+12+4>>2]=j;c[H+12+8>>2]=k;c[H>>2]=e;c[H+4>>2]=g;c[H+8>>2]=h;if(!(+f[d+52>>2]<+f[b+12>>2])){l=0;Ta=H;return l|0}x=+f[d+36>>2];z=+f[d+40>>2];y=+f[d+44>>2];h=c[d+48>>2]|0;w=1.0/+s(+(x*x+z*z+y*y));k=pi(H)|0;A=+f[d+4>>2]-+f[k+48>>2];E=+f[d+8>>2]-+f[k+52>>2];C=+f[d+12>>2]-+f[k+56>>2];k=pi(H+12|0)|0;B=+f[d+20>>2]-+f[k+48>>2];F=+f[d+24>>2]-+f[k+52>>2];D=+f[d+28>>2]-+f[k+56>>2];if(!g)if(!e){o=0.0;r=0.0;p=0.0;m=0.0;n=0.0;q=0.0}else{q=+f[e+336>>2];n=+f[e+340>>2];v=+f[e+332>>2];o=+f[e+316>>2];r=+f[e+320>>2];p=+f[e+324>>2];m=C*q-E*n;n=A*n-C*v;q=E*v-A*q}else{q=+f[g+332>>2];n=+f[g+336>>2];v=+f[g+328>>2];o=+f[g+312>>2];r=+f[g+316>>2];p=+f[g+320>>2];m=C*q-E*n;n=A*n-C*v;q=E*v-A*q}v=o+m;u=r+n;q=p+q;if(!j)if(!i){r=0.0;t=0.0;m=0.0;n=0.0;o=0.0;p=0.0}else{p=+f[i+336>>2];o=+f[i+340>>2];I=+f[i+332>>2];r=+f[i+316>>2];t=+f[i+320>>2];m=+f[i+324>>2];n=D*p-F*o;o=B*o-D*I;p=F*I-B*p}else{p=+f[j+332>>2];o=+f[j+336>>2];I=+f[j+328>>2];r=+f[j+312>>2];t=+f[j+316>>2];m=+f[j+320>>2];n=D*p-F*o;o=B*o-D*I;p=F*I-B*p}r=v-(r+n);u=u-(t+o);t=q-(m+p);v=y*w*t+(z*w*u+x*w*r);I=+f[d+52>>2]-+f[b+12>>2];c[l+4>>2]=c[H>>2];c[l+4+4>>2]=c[H+4>>2];c[l+4+8>>2]=c[H+8>>2];c[l+16>>2]=c[H+12>>2];c[l+16+4>>2]=c[H+12+4>>2];c[l+16+8>>2]=c[H+12+8>>2];d=pi(H)|0;q=A*+f[d+4>>2]+E*+f[d+20>>2]+C*+f[d+36>>2];p=A*+f[d+8>>2]+E*+f[d+24>>2]+C*+f[d+40>>2];f[l+28>>2]=A*+f[d>>2]+E*+f[d+16>>2]+C*+f[d+32>>2];f[l+32>>2]=q;f[l+36>>2]=p;f[l+40>>2]=0.0;d=pi(H+12|0)|0;p=B*+f[d+4>>2]+F*+f[d+20>>2]+D*+f[d+36>>2];q=B*+f[d+8>>2]+F*+f[d+24>>2]+D*+f[d+40>>2];f[l+44>>2]=B*+f[d>>2]+F*+f[d+16>>2]+D*+f[d+32>>2];f[l+48>>2]=p;f[l+52>>2]=q;f[l+56>>2]=0.0;f[l+164>>2]=A;f[l+168>>2]=E;f[l+172>>2]=C;f[l+176>>2]=0.0;f[l+180>>2]=B;f[l+184>>2]=F;f[l+188>>2]=D;f[l+192>>2]=0.0;f[l+60>>2]=1.0;f[l+64>>2]=1.0;c[l+156>>2]=0;c[l+160>>2]=0;f[l+68>>2]=1.0;f[l+72>>2]=x*w*I;f[l+76>>2]=z*w*I;f[l+80>>2]=y*w*I;f[l+84>>2]=0.0;f[l+196>>2]=x*w;f[l+200>>2]=z*w;f[l+204>>2]=y*w;c[l+208>>2]=h;a[l+152>>0]=0;I=+f[b+16>>2];f[l+212>>2]=(t-y*w*v)*(t-y*w*v)+((r-x*w*v)*(r-x*w*v)+(u-z*w*v)*(u-z*w*v))>2]|0;if(!h){h=c[H>>2]|0;if(!h)n=0.0;else{h=h+128|0;G=14}}else{h=h+344|0;G=14}if((G|0)==14)n=+f[h>>2];if((a[25424]|0)==0?kP(25424)|0:0){h=25968;k=h+48|0;do{c[h>>2]=0;h=h+4|0}while((h|0)<(k|0));kO(25424)}h=c[H+4>>2]|0;if(!h){e=c[H>>2]|0;e=(e|0)==0?25968:e+180|0}else e=h+264|0;h=c[H+12+4>>2]|0;if(!h){h=c[H+12>>2]|0;if(!h)m=0.0;else{h=h+128|0;G=25}}else{h=h+344|0;G=25}if((G|0)==25)m=+f[h>>2];if((a[25424]|0)==0?kP(25424)|0:0){h=25968;k=h+48|0;do{c[h>>2]=0;h=h+4|0}while((h|0)<(k|0));kO(25424)}h=c[H+12+4>>2]|0;if(!h){h=c[H+12>>2]|0;h=(h|0)==0?25968:h+180|0}else h=h+264|0;V=+f[l+172>>2];N=+f[l+168>>2];M=+f[l+164>>2];U=+f[e>>2];T=+f[e+16>>2];S=+f[e+32>>2];R=+f[e+4>>2];Q=+f[e+20>>2];P=+f[e+36>>2];O=+f[e+8>>2];L=+f[e+24>>2];K=+f[e+40>>2];B=+f[l+188>>2];v=+f[l+184>>2];w=+f[l+180>>2];J=+f[h>>2];o=+f[h+16>>2];p=+f[h+32>>2];q=+f[h+4>>2];r=+f[h+20>>2];t=+f[h+36>>2];u=+f[h+8>>2];I=+f[h+24>>2];x=+f[h+40>>2];D=n-((U*0.0+T*-V+N*S)*0.0+V*(R*0.0+Q*-V+N*P)+(O*0.0+L*-V+N*K)*-N)+(m-((J*0.0+o*-B+v*p)*0.0+B*(q*0.0+r*-B+v*t)+(u*0.0+I*-B+v*x)*-v));F=0.0-((U*0.0+T*-V+N*S)*-V+(R*0.0+Q*-V+N*P)*0.0+M*(O*0.0+L*-V+N*K))+(0.0-((J*0.0+o*-B+v*p)*-B+(q*0.0+r*-B+v*t)*0.0+w*(u*0.0+I*-B+v*x)));y=0.0-(N*(U*0.0+T*-V+N*S)+(R*0.0+Q*-V+N*P)*-M+(O*0.0+L*-V+N*K)*0.0)+(0.0-(v*(J*0.0+o*-B+v*p)+(q*0.0+r*-B+v*t)*-w+(u*0.0+I*-B+v*x)*0.0));E=0.0-((V*U+T*0.0+S*-M)*0.0+V*(V*R+Q*0.0+P*-M)+(V*O+L*0.0+K*-M)*-N)+(0.0-((B*J+o*0.0+p*-w)*0.0+B*(B*q+r*0.0+t*-w)+(B*u+I*0.0+x*-w)*-v));C=n-((V*U+T*0.0+S*-M)*-V+(V*R+Q*0.0+P*-M)*0.0+M*(V*O+L*0.0+K*-M))+(m-((B*J+o*0.0+p*-w)*-B+(B*q+r*0.0+t*-w)*0.0+w*(B*u+I*0.0+x*-w)));z=0.0-(N*(V*U+T*0.0+S*-M)+(V*R+Q*0.0+P*-M)*-M+(V*O+L*0.0+K*-M)*0.0)+(0.0-(v*(B*J+o*0.0+p*-w)+(B*q+r*0.0+t*-w)*-w+(B*u+I*0.0+x*-w)*0.0));A=0.0-((U*-N+M*T+S*0.0)*0.0+V*(R*-N+M*Q+P*0.0)+(O*-N+M*L+K*0.0)*-N)+(0.0-((J*-v+w*o+p*0.0)*0.0+B*(q*-v+w*r+t*0.0)+(u*-v+w*I+x*0.0)*-v));B=0.0-((U*-N+M*T+S*0.0)*-V+(R*-N+M*Q+P*0.0)*0.0+M*(O*-N+M*L+K*0.0))+(0.0-((J*-v+w*o+p*0.0)*-B+(q*-v+w*r+t*0.0)*0.0+w*(u*-v+w*I+x*0.0)));x=n-(N*(U*-N+M*T+S*0.0)+(R*-N+M*Q+P*0.0)*-M+(O*-N+M*L+K*0.0)*0.0)+(m-(v*(J*-v+w*o+p*0.0)+(q*-v+w*r+t*0.0)*-w+(u*-v+w*I+x*0.0)*0.0));I=1.0/(y*(B*E-C*A)+(D*(C*x-z*B)+F*(z*A-x*E)));f[l+104>>2]=(C*x-z*B)*I;f[l+108>>2]=(B*y-x*F)*I;f[l+112>>2]=(z*F-C*y)*I;f[l+116>>2]=0.0;f[l+120>>2]=(z*A-x*E)*I;f[l+124>>2]=(x*D-A*y)*I;f[l+128>>2]=(E*y-z*D)*I;f[l+132>>2]=0.0;f[l+136>>2]=(B*E-C*A)*I;f[l+140>>2]=(A*F-B*D)*I;f[l+144>>2]=(C*D-E*F)*I;f[l+148>>2]=0.0;l=1;Ta=H;return l|0}function Oc(b,d,e){b=b|0;d=d|0;e=e|0;var g=0.0,i=0.0,j=0.0,k=0.0,l=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0,u=0,v=0.0,w=0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0,C=0.0,D=0.0,E=0.0,F=0.0,G=0.0,H=0.0,I=0.0,J=0.0;w=(a[b+180>>0]|0)==0;if(w?(a[b+48>>0]|0)!=0:0){s=+f[b+116>>2];v=+f[e>>2];z=+f[b+132>>2];y=+f[e+4>>2];B=+f[b+148>>2];A=+f[e+8>>2];q=+f[b+120>>2];E=+f[b+136>>2];F=+f[b+152>>2];o=+f[b+124>>2];J=+f[b+140>>2];p=+f[b+156>>2];x=+f[e+16>>2];m=+f[e+20>>2];n=+f[e+24>>2];I=+f[e+32>>2];r=+f[e+36>>2];C=+f[e+40>>2];i=+f[b+164>>2];g=+f[b+168>>2];H=+f[b+172>>2];G=+f[e+48>>2]+(v*i+y*g+A*H);D=x*i+m*g+n*H+ +f[e+52>>2];H=I*i+r*g+C*H+ +f[e+56>>2];f[b+824>>2]=s*v+z*y+B*A;f[b+828>>2]=v*q+y*E+A*F;f[b+832>>2]=v*o+y*J+A*p;f[b+836>>2]=0.0;f[b+840>>2]=s*x+z*m+B*n;f[b+844>>2]=q*x+E*m+F*n;f[b+848>>2]=o*x+J*m+p*n;f[b+852>>2]=0.0;f[b+856>>2]=s*I+z*r+B*C;f[b+860>>2]=q*I+E*r+F*C;f[b+864>>2]=o*I+J*r+p*C;f[b+868>>2]=0.0;f[b+872>>2]=G;f[b+876>>2]=D;f[b+880>>2]=H;f[b+884>>2]=0.0;H=+f[b+52>>2];D=+f[d>>2];G=+f[b+68>>2];C=+f[d+4>>2];p=+f[b+84>>2];r=+f[d+8>>2];J=+f[b+56>>2];I=+f[b+72>>2];o=+f[b+88>>2];F=+f[b+60>>2];E=+f[b+76>>2];q=+f[b+92>>2];B=+f[d+16>>2];z=+f[d+20>>2];s=+f[d+24>>2];n=+f[d+32>>2];m=+f[d+36>>2];x=+f[d+40>>2];A=+f[b+100>>2];y=+f[b+104>>2];v=+f[b+108>>2];g=n*A+m*y;i=F*n+E*m+q*x;j=D*J+C*I+r*o;k=H*D+G*C+p*r;l=J*n+I*m+o*x;m=H*n+G*m+p*x;n=F*B+E*z+q*s;o=J*B+I*z+o*s;p=H*B+G*z+p*s;q=D*F+C*E+r*q;r=D*A+C*y+r*v;s=B*A+z*y+s*v;t=b+856|0;u=b+840|0;v=x*v}else{s=+f[b+52>>2];v=+f[d>>2];H=+f[b+68>>2];I=+f[d+4>>2];F=+f[b+84>>2];G=+f[d+8>>2];q=+f[b+56>>2];C=+f[b+72>>2];B=+f[b+88>>2];o=+f[b+60>>2];x=+f[b+76>>2];p=+f[b+92>>2];J=+f[d+16>>2];m=+f[d+20>>2];n=+f[d+24>>2];y=+f[d+32>>2];r=+f[d+36>>2];E=+f[d+40>>2];i=+f[b+100>>2];g=+f[b+104>>2];z=+f[b+108>>2];A=+f[d+48>>2]+(v*i+I*g+G*z);D=J*i+m*g+n*z+ +f[d+52>>2];z=y*i+r*g+E*z+ +f[d+56>>2];f[b+824>>2]=s*v+H*I+F*G;f[b+828>>2]=v*q+I*C+G*B;f[b+832>>2]=v*o+I*x+G*p;f[b+836>>2]=0.0;f[b+840>>2]=s*J+H*m+F*n;f[b+844>>2]=q*J+C*m+B*n;f[b+848>>2]=o*J+x*m+p*n;f[b+852>>2]=0.0;f[b+856>>2]=s*y+H*r+F*E;f[b+860>>2]=q*y+C*r+B*E;f[b+864>>2]=o*y+x*r+p*E;f[b+868>>2]=0.0;f[b+872>>2]=A;f[b+876>>2]=D;f[b+880>>2]=z;f[b+884>>2]=0.0;z=+f[b+116>>2];D=+f[e>>2];A=+f[b+132>>2];E=+f[e+4>>2];p=+f[b+148>>2];r=+f[e+8>>2];x=+f[b+120>>2];y=+f[b+136>>2];o=+f[b+152>>2];B=+f[b+124>>2];C=+f[b+140>>2];q=+f[b+156>>2];F=+f[e+16>>2];H=+f[e+20>>2];s=+f[e+24>>2];n=+f[e+32>>2];m=+f[e+36>>2];J=+f[e+40>>2];G=+f[b+164>>2];I=+f[b+168>>2];v=+f[b+172>>2];g=n*G+m*I;i=B*n+C*m+q*J;j=D*x+E*y+r*o;k=z*D+A*E+p*r;l=x*n+y*m+o*J;m=z*n+A*m+p*J;n=B*F+C*H+q*s;o=x*F+y*H+o*s;p=z*F+A*H+p*s;q=D*B+E*C+r*q;r=D*G+E*I+r*v;s=F*G+H*I+s*v;t=b+856|0;u=b+840|0;v=J*v;d=e}I=+f[d+48>>2]+r;J=s+ +f[d+52>>2];g=g+v+ +f[d+56>>2];f[b+888>>2]=k;f[b+892>>2]=j;f[b+896>>2]=q;f[b+900>>2]=0.0;f[b+904>>2]=p;f[b+908>>2]=o;f[b+912>>2]=n;f[b+916>>2]=0.0;f[b+920>>2]=m;f[b+924>>2]=l;f[b+928>>2]=i;f[b+932>>2]=0.0;f[b+936>>2]=I;f[b+940>>2]=J;f[b+944>>2]=g;f[b+948>>2]=0.0;c[b+968>>2]=c[b+872>>2];c[b+968+4>>2]=c[b+872+4>>2];c[b+968+8>>2]=c[b+872+8>>2];c[b+968+12>>2]=c[b+872+12>>2];c[b+984>>2]=c[b+936>>2];c[b+984+4>>2]=c[b+936+4>>2];c[b+984+8>>2]=c[b+936+8>>2];c[b+984+12>>2]=c[b+936+12>>2];d=c[b+824>>2]|0;e=c[u>>2]|0;u=c[t>>2]|0;c[b+952>>2]=d;c[b+956>>2]=e;c[b+960>>2]=u;f[b+964>>2]=0.0;i=(c[h>>2]=d,+f[h>>2]);j=(c[h>>2]=e,+f[h>>2]);g=(c[h>>2]=u,+f[h>>2]);if(w?(a[b+48>>0]|0)==0:0){E=+f[b+968>>2];F=+f[b+972>>2];H=+f[b+976>>2];A=E;B=F;C=H;E=E-+f[b+984>>2];H=H-+f[b+992>>2];F=F-+f[b+988>>2];w=b+1016|0;f[w>>2]=E;w=b+1020|0;f[w>>2]=F;w=b+1024|0;f[w>>2]=H;w=b+1028|0;f[w>>2]=0.0;J=E*i;D=F*j;D=J+D;J=H*g;J=D+J;D=J*i;G=J*j;I=J*g;D=A+D;G=B+G;I=C+I;w=b+1e3|0;f[w>>2]=D;w=b+1004|0;f[w>>2]=G;w=b+1008|0;f[w>>2]=I;w=b+1012|0;f[w>>2]=0.0;w=b+1032|0;f[w>>2]=J;w=b+828|0;u=b+844|0;t=b+860|0;J=+f[w>>2];I=+f[u>>2];G=+f[t>>2];J=E*J;I=F*I;I=J+I;G=H*G;G=I+G;t=b+1036|0;f[t>>2]=G;t=b+832|0;u=b+848|0;w=b+864|0;G=+f[t>>2];I=+f[u>>2];J=+f[w>>2];G=E*G;I=F*I;I=G+I;J=H*J;J=I+J;w=b+1040|0;f[w>>2]=J;return}E=+f[b+968>>2];F=+f[b+972>>2];H=+f[b+976>>2];A=E;B=F;C=H;E=+f[b+984>>2]-E;H=+f[b+992>>2]-H;F=+f[b+988>>2]-F;w=b+1016|0;f[w>>2]=E;w=b+1020|0;f[w>>2]=F;w=b+1024|0;f[w>>2]=H;w=b+1028|0;f[w>>2]=0.0;J=E*i;D=F*j;D=J+D;J=H*g;J=D+J;D=J*i;G=J*j;I=J*g;D=A+D;G=B+G;I=C+I;w=b+1e3|0;f[w>>2]=D;w=b+1004|0;f[w>>2]=G;w=b+1008|0;f[w>>2]=I;w=b+1012|0;f[w>>2]=0.0;w=b+1032|0;f[w>>2]=J;w=b+828|0;u=b+844|0;t=b+860|0;J=+f[w>>2];I=+f[u>>2];G=+f[t>>2];J=E*J;I=F*I;I=J+I;G=H*G;G=I+G;t=b+1036|0;f[t>>2]=G;t=b+832|0;u=b+848|0;w=b+864|0;G=+f[t>>2];I=+f[u>>2];J=+f[w>>2];G=E*G;I=F*I;I=G+I;J=H*J;J=I+J;w=b+1040|0;f[w>>2]=J;return}function Pc(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var g=0.0,h=0.0,i=0.0,j=0.0,k=0,l=0.0,m=0.0,n=0.0,o=0,p=0.0,q=0.0,r=0.0,t=0,u=0,v=0.0,w=0.0,x=0;u=Ta;Ta=Ta+672|0;c[u+448+8>>2]=0;c[u+448+12>>2]=1065353216;c[u+448+16>>2]=1065353216;c[u+448+20>>2]=1065353216;f[u+448+24>>2]=0.0;c[u+448>>2]=8108;c[u+448+4>>2]=8;f[u+448+28>>2]=0.0;f[u+448+44>>2]=0.0;f[u+384>>2]=1.0;c[u+384+4>>2]=0;c[u+384+4+4>>2]=0;c[u+384+4+8>>2]=0;c[u+384+4+12>>2]=0;f[u+384+20>>2]=1.0;c[u+384+24>>2]=0;c[u+384+24+4>>2]=0;c[u+384+24+8>>2]=0;c[u+384+24+12>>2]=0;f[u+384+40>>2]=1.0;f[u+384+44>>2]=0.0;c[u+384+48>>2]=c[a>>2];c[u+384+48+4>>2]=c[a+4>>2];c[u+384+48+8>>2]=c[a+8>>2];c[u+384+48+12>>2]=c[a+12>>2];a=e;k=a+36|0;do{c[a>>2]=0;a=a+4|0}while((a|0)<(k|0));c[u+504>>2]=b;c[u+504+4>>2]=u+448;w=+f[d>>2];v=+f[d+16>>2];g=+f[d+32>>2];h=+f[d+4>>2];i=+f[d+20>>2];j=+f[d+36>>2];m=+f[d+8>>2];p=+f[d+24>>2];r=+f[d+40>>2];f[u+504+8>>2]=w+v*0.0+g*0.0;f[u+504+12>>2]=h+i*0.0+j*0.0;f[u+504+16>>2]=m+p*0.0+r*0.0;f[u+504+20>>2]=0.0;f[u+504+24>>2]=w*0.0+v+g*0.0;f[u+504+28>>2]=h*0.0+i+j*0.0;f[u+504+32>>2]=m*0.0+p+r*0.0;f[u+504+36>>2]=0.0;f[u+504+40>>2]=w*0.0+v*0.0+g;f[u+504+44>>2]=h*0.0+i*0.0+j;f[u+504+48>>2]=m*0.0+p*0.0+r;f[u+504+52>>2]=0.0;l=+f[u+384+48>>2]-+f[d+48>>2];n=+f[u+384+52>>2]-+f[d+52>>2];q=+f[u+384+56>>2]-+f[d+56>>2];f[u+504+56>>2]=w+v*0.0+g*0.0;f[u+504+60>>2]=w*0.0+v+g*0.0;f[u+504+64>>2]=w*0.0+v*0.0+g;f[u+504+68>>2]=0.0;f[u+504+72>>2]=h+i*0.0+j*0.0;f[u+504+76>>2]=h*0.0+i+j*0.0;f[u+504+80>>2]=h*0.0+i*0.0+j;f[u+504+84>>2]=0.0;f[u+504+88>>2]=m+p*0.0+r*0.0;f[u+504+92>>2]=m*0.0+p+r*0.0;f[u+504+96>>2]=m*0.0+p*0.0+r;f[u+504+100>>2]=0.0;f[u+504+104>>2]=l*w+n*v+q*g;f[u+504+108>>2]=l*h+n*i+q*j;f[u+504+112>>2]=l*m+n*p+q*r;f[u+504+116>>2]=0.0;c[u+504+120>>2]=102;c[u+504+124>>2]=0;c[u+364>>2]=0;c[u+128>>2]=0;c[u+128+4>>2]=0;c[u+128+8>>2]=0;c[u+128+12>>2]=0;c[u+376>>2]=2;c[u+368>>2]=0;f[u+144>>2]=0.0;c[u+648>>2]=1065353216;c[u+648+4>>2]=1065353216;c[u+648+8>>2]=1065353216;f[u+648+12>>2]=0.0;switch(sc(u,u+504|0,u+648|0)|0){case 0:{a=c[u+372>>2]|0;if(!(c[a+32>>2]|0)){j=0.0;i=0.0;g=0.0;p=0.0;n=0.0;h=0.0}else{g=0.0;i=0.0;j=0.0;h=0.0;n=0.0;p=0.0;t=0;do{r=+f[a+16+(t<<2)>>2];k=c[u+504+120>>2]|0;x=c[u+504+124>>2]|0;o=(c[u+504>>2]|0)+(1?x>>1:x)|0;if(x&1)k=c[(c[o>>2]|0)+k>>2]|0;zb[k&127](u+648|0,o,c[a+(t<<2)>>2]|0);g=g+r*+f[u+648>>2];i=i+r*+f[u+648+4>>2];j=j+r*+f[u+648+8>>2];a=c[(c[u+372>>2]|0)+(t<<2)>>2]|0;l=-+f[a>>2];m=-+f[a+4>>2];q=-+f[a+8>>2];a=c[u+504+120>>2]|0;x=c[u+504+124>>2]|0;k=(c[u+504+4>>2]|0)+(1?x>>1:x)|0;if(x&1)a=c[(c[k>>2]|0)+a>>2]|0;w=+f[u+504+24>>2]*l+ +f[u+504+28>>2]*m+ +f[u+504+32>>2]*q;v=+f[u+504+40>>2]*l+ +f[u+504+44>>2]*m+ +f[u+504+48>>2]*q;f[u+632>>2]=+f[u+504+8>>2]*l+ +f[u+504+12>>2]*m+ +f[u+504+16>>2]*q;f[u+632+4>>2]=w;f[u+632+8>>2]=v;f[u+632+12>>2]=0.0;zb[a&127](u+648|0,k,u+632|0);q=+f[u+648>>2];v=+f[u+648+4>>2];w=+f[u+648+8>>2];h=h+r*(q*+f[u+504+56>>2]+v*+f[u+504+60>>2]+w*+f[u+504+64>>2]+ +f[u+504+104>>2]);n=n+r*(q*+f[u+504+72>>2]+v*+f[u+504+76>>2]+w*+f[u+504+80>>2]+ +f[u+504+108>>2]);p=p+r*(q*+f[u+504+88>>2]+v*+f[u+504+92>>2]+w*+f[u+504+96>>2]+ +f[u+504+112>>2]);t=t+1|0;a=c[u+372>>2]|0}while(t>>>0<(c[a+32>>2]|0)>>>0)}q=g*+f[d>>2]+i*+f[d+4>>2]+j*+f[d+8>>2]+ +f[d+48>>2];r=g*+f[d+16>>2]+i*+f[d+20>>2]+j*+f[d+24>>2]+ +f[d+52>>2];l=g*+f[d+32>>2]+i*+f[d+36>>2]+j*+f[d+40>>2]+ +f[d+56>>2];f[e+4>>2]=q;f[e+8>>2]=r;f[e+12>>2]=l;f[e+16>>2]=0.0;j=h*+f[d>>2]+n*+f[d+4>>2]+p*+f[d+8>>2]+ +f[d+48>>2];m=h*+f[d+16>>2]+n*+f[d+20>>2]+p*+f[d+24>>2]+ +f[d+52>>2];i=h*+f[d+32>>2]+n*+f[d+36>>2]+p*+f[d+40>>2]+ +f[d+56>>2];f[e+20>>2]=j;f[e+24>>2]=m;f[e+28>>2]=i;f[e+32>>2]=0.0;switch(c[b+4>>2]|0){case 8:{g=+f[b+28>>2]*+f[b+12>>2];break}case 0:{g=+f[b+44>>2];break}case 1:{g=+f[b+44>>2];break}case 13:{g=+f[b+44>>2];break}case 11:{g=+f[b+44>>2];break}case 10:{g=+f[b+44>>2];break}case 4:case 5:{g=+f[b+44>>2];break}default:g=+Wa[c[(c[b>>2]|0)+48>>2]&31](b)}switch(c[u+448+4>>2]|0){case 8:{h=+f[u+448+28>>2]*+f[u+448+12>>2];break}case 0:{h=+f[u+448+44>>2];break}case 1:{h=+f[u+448+44>>2];break}case 13:{h=+f[u+448+44>>2];break}case 11:{h=+f[u+448+44>>2];break}case 10:{h=+f[u+448+44>>2];break}case 4:case 5:{h=+f[u+448+44>>2];break}default:h=+Wa[c[(c[u+448>>2]|0)+48>>2]&31](u+448|0)}w=g+h;v=+s(+((j-q)*(j-q)+(m-r)*(m-r)+(i-l)*(i-l)));f[e+36>>2]=(j-q)*(1.0/v);f[e+40>>2]=(m-r)*(1.0/v);f[e+44>>2]=(i-l)*(1.0/v);f[e+48>>2]=0.0;f[e+4>>2]=w*((j-q)*(1.0/v))+ +f[e+4>>2];f[e+8>>2]=w*((m-r)*(1.0/v))+ +f[e+8>>2];f[e+12>>2]=w*((i-l)*(1.0/v))+ +f[e+12>>2];w=v-w;Ta=u;return +w}case 1:{if(!(qc(b,d,u+448|0,u+384|0,u+128|0,e,1)|0)){w=3402823466385288598117041.0e14;Ta=u;return +w}h=+f[e+4>>2]-+f[e+20>>2];j=+f[e+8>>2]-+f[e+24>>2];i=+f[e+12>>2]-+f[e+28>>2];g=+s(+(h*h+j*j+i*i));if(g>=1.1920928955078125e-07){f[e+36>>2]=h*(1.0/g);f[e+40>>2]=j*(1.0/g);f[e+44>>2]=i*(1.0/g);f[e+48>>2]=0.0}w=-g;Ta=u;return +w}default:{w=3402823466385288598117041.0e14;Ta=u;return +w}}return 0.0}function Qc(b,d,e,g,h){b=b|0;d=d|0;e=e|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0,C=0.0,D=0.0,E=0.0,F=0.0,G=0.0,H=0.0,I=0.0,J=0.0,K=0.0,L=0.0,M=0.0,N=0.0,O=0.0;q=Ta;Ta=Ta+224|0;p=(a[b+28>>0]|0)!=0;o=p?e:d;p=p?d:e;n=c[o+4>>2]|0;if((c[n+68>>2]|0)!=(c[b+40>>2]|0)){i=c[b+12>>2]|0;if((i|0)>0){k=0;do{j=c[(c[b+20>>2]|0)+(k<<2)>>2]|0;if(j|0){pb[c[c[j>>2]>>2]&511](j);l=c[b+4>>2]|0;vb[c[(c[l>>2]|0)+60>>2]&255](l,c[(c[b+20>>2]|0)+(k<<2)>>2]|0)}k=k+1|0}while((k|0)!=(i|0))}fh(b,d,e)}l=c[n+64>>2]|0;k=c[b+4>>2]|0;j=c[b+20>>2]|0;i=c[b+32>>2]|0;c[q+192>>2]=7528;c[q+192+4>>2]=o;c[q+192+8>>2]=p;c[q+192+12>>2]=k;c[q+192+16>>2]=g;c[q+192+20>>2]=h;c[q+192+24>>2]=j;c[q+192+28>>2]=i;a[q+128+16>>0]=1;g=q+128+12|0;c[g>>2]=0;c[q+128+4>>2]=0;c[q+128+8>>2]=0;i=c[b+12>>2]|0;if((i|0)>0){d=0;while(1){j=c[j+(d<<2)>>2]|0;if(j){vb[c[(c[j>>2]|0)+16>>2]&255](j,q+128|0);i=c[q+128+4>>2]|0;if((i|0)>0){k=0;do{e=c[(c[g>>2]|0)+(k<<2)>>2]|0;if(c[e+748>>2]|0){c[h+4>>2]=e;i=c[e+740>>2]|0;j=c[(c[h+8>>2]|0)+8>>2]|0;if((i|0)==(j|0))ye(e,i+4|0,(c[(c[h+12>>2]|0)+8>>2]|0)+4|0);else ye(e,(c[(c[h+12>>2]|0)+8>>2]|0)+4|0,j+4|0);c[h+4>>2]=0;i=c[q+128+4>>2]|0}k=k+1|0}while((k|0)<(i|0))}if((i|0)<0){if((c[q+128+8>>2]|0)<0){j=c[g>>2]|0;if(j|0){if(a[q+128+16>>0]|0){c[6880]=(c[6880]|0)+1;kd(c[j+-4>>2]|0)}c[g>>2]=0}a[q+128+16>>0]=1;c[g>>2]=0;c[q+128+8>>2]=0}do{c[(c[g>>2]|0)+(i<<2)>>2]=0;i=i+1|0}while((i|0)!=0)}c[q+128+4>>2]=0;i=c[b+12>>2]|0}d=d+1|0;if((d|0)>=(i|0))break;j=c[b+20>>2]|0}i=c[g>>2]|0;if(i|0){if(a[q+128+16>>0]|0){c[6880]=(c[6880]|0)+1;kd(c[i+-4>>2]|0)}c[g>>2]=0}}if(!l){j=c[b+12>>2]|0;if((j|0)>0){i=0;do{Ge(q+192|0,c[(c[n+24>>2]|0)+(i*80|0)+64>>2]|0,i);i=i+1|0}while((i|0)<(j|0));m=40}}else{m=c[o+12>>2]|0;F=+f[m>>2];E=+f[m+16>>2];D=+f[m+32>>2];C=+f[m+4>>2];B=+f[m+20>>2];A=+f[m+36>>2];w=+f[m+8>>2];u=+f[m+24>>2];s=+f[m+40>>2];z=-+f[m+48>>2];y=-+f[m+52>>2];x=-+f[m+56>>2];m=c[p+12>>2]|0;O=+f[m>>2];N=+f[m+16>>2];M=+f[m+32>>2];L=+f[m+4>>2];K=+f[m+20>>2];J=+f[m+36>>2];I=+f[m+8>>2];H=+f[m+24>>2];G=+f[m+40>>2];v=+f[m+48>>2];t=+f[m+52>>2];r=+f[m+56>>2];f[q+48>>2]=F*O+E*N+D*M;f[q+48+4>>2]=F*L+E*K+D*J;f[q+48+8>>2]=F*I+E*H+D*G;f[q+48+12>>2]=0.0;f[q+48+16>>2]=C*O+B*N+A*M;f[q+48+20>>2]=C*L+B*K+A*J;f[q+48+24>>2]=C*I+B*H+A*G;f[q+48+28>>2]=0.0;f[q+48+32>>2]=w*O+u*N+s*M;f[q+48+36>>2]=w*L+u*K+s*J;f[q+48+40>>2]=w*I+u*H+s*G;f[q+48+44>>2]=0.0;f[q+48+48>>2]=F*z+E*y+D*x+(F*v+E*t+D*r);f[q+48+52>>2]=C*z+B*y+A*x+(C*v+B*t+A*r);f[q+48+56>>2]=w*z+u*y+s*x+(w*v+u*t+s*r);f[q+48+60>>2]=0.0;m=c[p+4>>2]|0;Cb[c[(c[m>>2]|0)+8>>2]&127](m,q+48|0,q+128|0,q+112|0);c[q+16>>2]=c[q+128>>2];c[q+16+4>>2]=c[q+128+4>>2];c[q+16+8>>2]=c[q+128+8>>2];c[q+16+12>>2]=c[q+128+12>>2];c[q+16+16>>2]=c[q+112>>2];c[q+16+16+4>>2]=c[q+112+4>>2];c[q+16+16+8>>2]=c[q+112+8>>2];c[q+16+16+12>>2]=c[q+112+12>>2];Re(c[l>>2]|0,q+16|0,q+192|0);m=40}if((m|0)==40)j=c[b+12>>2]|0;if((j|0)<=0){Ta=q;return}d=0;do{do if(c[(c[b+20>>2]|0)+(d<<2)>>2]|0){l=c[n+24>>2]|0;m=c[l+(d*80|0)+64>>2]|0;h=c[o+12>>2]|0;u=+f[h>>2];v=+f[h+4>>2];w=+f[h+8>>2];x=+f[h+16>>2];y=+f[h+20>>2];z=+f[h+24>>2];G=+f[h+32>>2];I=+f[h+36>>2];K=+f[h+40>>2];A=+f[l+(d*80|0)>>2];B=+f[l+(d*80|0)+16>>2];C=+f[l+(d*80|0)+32>>2];D=+f[l+(d*80|0)+4>>2];E=+f[l+(d*80|0)+20>>2];F=+f[l+(d*80|0)+36>>2];H=+f[l+(d*80|0)+8>>2];J=+f[l+(d*80|0)+24>>2];L=+f[l+(d*80|0)+40>>2];s=+f[l+(d*80|0)+48>>2];t=+f[l+(d*80|0)+52>>2];O=+f[l+(d*80|0)+56>>2];M=+f[h+48>>2]+(u*s+v*t+w*O);N=+f[h+52>>2]+(x*s+y*t+z*O);O=+f[h+56>>2]+(G*s+I*t+K*O);f[q+128>>2]=u*A+v*B+w*C;f[q+128+4>>2]=u*D+v*E+w*F;f[q+128+8>>2]=u*H+v*J+w*L;f[q+128+12>>2]=0.0;f[q+128+16>>2]=x*A+y*B+z*C;f[q+128+20>>2]=x*D+y*E+z*F;f[q+128+24>>2]=x*H+y*J+z*L;f[q+128+28>>2]=0.0;f[q+128+32>>2]=G*A+I*B+K*C;f[q+128+36>>2]=G*D+I*E+K*F;f[q+128+40>>2]=G*H+I*J+K*L;f[q+128+44>>2]=0.0;f[q+128+48>>2]=M;f[q+128+52>>2]=N;f[q+128+56>>2]=O;f[q+128+60>>2]=0.0;Cb[c[(c[m>>2]|0)+8>>2]&127](m,q+128|0,q+112|0,q+48|0);m=c[p+4>>2]|0;Cb[c[(c[m>>2]|0)+8>>2]&127](m,c[p+12>>2]|0,q+16|0,q);if(!(+f[q+112>>2]>+f[q>>2])?!(+f[q+48>>2]<+f[q+16>>2]):0)i=1;else i=0;if(!(!(+f[q+112+8>>2]>+f[q+8>>2])?!(+f[q+48+8>>2]<+f[q+16+8>>2]):0))i=0;if(!(+f[q+112+4>>2]>+f[q+4>>2])?!(+f[q+48+4>>2]<+f[q+16+4>>2]|i^1):0)break;m=c[(c[b+20>>2]|0)+(d<<2)>>2]|0;pb[c[c[m>>2]>>2]&511](m);m=c[b+4>>2]|0;vb[c[(c[m>>2]|0)+60>>2]&255](m,c[(c[b+20>>2]|0)+(d<<2)>>2]|0);c[(c[b+20>>2]|0)+(d<<2)>>2]=0}while(0);d=d+1|0}while((d|0)<(j|0));Ta=q;return}function Rc(a,b,h,i){a=a|0;b=b|0;h=h|0;i=i|0;var j=0.0,k=0.0,l=0.0,m=0,n=0,o=0.0,p=0.0,q=0,r=0,s=0,t=0;n=Ta;Ta=Ta+80|0;h=eb[c[(c[a>>2]|0)+28>>2]&255](a)|0;j=+f[a+4>>2];k=+f[a+8>>2];l=+f[a+12>>2];if((h|0)<=0){Ta=n;return}m=0;do{Mb[c[(c[a>>2]|0)+16>>2]&31](a,n+76|0,n+52|0,n+64|0,n+56|0,n+72|0,n+68|0,n+48|0,n+60|0,m);a:do switch(c[n+64>>2]|0){case 0:{switch(c[n+60>>2]|0){case 2:{if((c[n+48>>2]|0)<=0)break a;i=0;do{r=(c[n+72>>2]|0)+(z(c[n+68>>2]|0,i)|0)|0;s=c[n+76>>2]|0;q=c[n+56>>2]|0;t=s+(z(q,c[r>>2]|0)|0)|0;p=k*+f[t+4>>2];o=l*+f[t+8>>2];f[n>>2]=j*+f[t>>2];f[n+4>>2]=p;f[n+8>>2]=o;f[n+12>>2]=0.0;t=s+(z(c[r+4>>2]|0,q)|0)|0;o=k*+f[t+4>>2];p=l*+f[t+8>>2];f[n+16>>2]=j*+f[t>>2];f[n+20>>2]=o;f[n+24>>2]=p;f[n+28>>2]=0.0;q=s+(z(c[r+8>>2]|0,q)|0)|0;p=k*+f[q+4>>2];o=l*+f[q+8>>2];f[n+32>>2]=j*+f[q>>2];f[n+36>>2]=p;f[n+40>>2]=o;f[n+44>>2]=0.0;Cb[c[(c[b>>2]|0)+8>>2]&127](b,n,m,i);i=i+1|0}while((i|0)<(c[n+48>>2]|0));break}case 3:{if((c[n+48>>2]|0)<=0)break a;i=0;do{t=(c[n+72>>2]|0)+(z(c[n+68>>2]|0,i)|0)|0;r=c[n+76>>2]|0;s=c[n+56>>2]|0;q=r+(z(s,e[t>>1]|0)|0)|0;o=k*+f[q+4>>2];p=l*+f[q+8>>2];f[n>>2]=j*+f[q>>2];f[n+4>>2]=o;f[n+8>>2]=p;f[n+12>>2]=0.0;q=r+(z(s,e[t+2>>1]|0)|0)|0;p=k*+f[q+4>>2];o=l*+f[q+8>>2];f[n+16>>2]=j*+f[q>>2];f[n+20>>2]=p;f[n+24>>2]=o;f[n+28>>2]=0.0;t=r+(z(s,e[t+4>>1]|0)|0)|0;o=k*+f[t+4>>2];p=l*+f[t+8>>2];f[n+32>>2]=j*+f[t>>2];f[n+36>>2]=o;f[n+40>>2]=p;f[n+44>>2]=0.0;Cb[c[(c[b>>2]|0)+8>>2]&127](b,n,m,i);i=i+1|0}while((i|0)<(c[n+48>>2]|0));break}case 5:{if((c[n+48>>2]|0)<=0)break a;i=0;do{t=(c[n+72>>2]|0)+(z(c[n+68>>2]|0,i)|0)|0;r=c[n+76>>2]|0;s=c[n+56>>2]|0;q=r+(z(s,d[t>>0]|0)|0)|0;o=k*+f[q+4>>2];p=l*+f[q+8>>2];f[n>>2]=j*+f[q>>2];f[n+4>>2]=o;f[n+8>>2]=p;f[n+12>>2]=0.0;q=r+(z(s,d[t+1>>0]|0)|0)|0;p=k*+f[q+4>>2];o=l*+f[q+8>>2];f[n+16>>2]=j*+f[q>>2];f[n+20>>2]=p;f[n+24>>2]=o;f[n+28>>2]=0.0;t=r+(z(s,d[t+2>>0]|0)|0)|0;o=k*+f[t+4>>2];p=l*+f[t+8>>2];f[n+32>>2]=j*+f[t>>2];f[n+36>>2]=o;f[n+40>>2]=p;f[n+44>>2]=0.0;Cb[c[(c[b>>2]|0)+8>>2]&127](b,n,m,i);i=i+1|0}while((i|0)<(c[n+48>>2]|0));break}default:break a}break}case 1:{switch(c[n+60>>2]|0){case 2:{if((c[n+48>>2]|0)<=0)break a;i=0;do{s=(c[n+72>>2]|0)+(z(c[n+68>>2]|0,i)|0)|0;r=c[n+76>>2]|0;t=c[n+56>>2]|0;q=r+(z(t,c[s>>2]|0)|0)|0;o=k*+g[q+8>>3];p=l*+g[q+16>>3];f[n>>2]=j*+g[q>>3];f[n+4>>2]=o;f[n+8>>2]=p;f[n+12>>2]=0.0;q=r+(z(c[s+4>>2]|0,t)|0)|0;p=k*+g[q+8>>3];o=l*+g[q+16>>3];f[n+16>>2]=j*+g[q>>3];f[n+20>>2]=p;f[n+24>>2]=o;f[n+28>>2]=0.0;t=r+(z(c[s+8>>2]|0,t)|0)|0;o=k*+g[t+8>>3];p=l*+g[t+16>>3];f[n+32>>2]=j*+g[t>>3];f[n+36>>2]=o;f[n+40>>2]=p;f[n+44>>2]=0.0;Cb[c[(c[b>>2]|0)+8>>2]&127](b,n,m,i);i=i+1|0}while((i|0)<(c[n+48>>2]|0));break}case 3:{if((c[n+48>>2]|0)<=0)break a;i=0;do{t=(c[n+72>>2]|0)+(z(c[n+68>>2]|0,i)|0)|0;r=c[n+76>>2]|0;s=c[n+56>>2]|0;q=r+(z(s,e[t>>1]|0)|0)|0;o=k*+g[q+8>>3];p=l*+g[q+16>>3];f[n>>2]=j*+g[q>>3];f[n+4>>2]=o;f[n+8>>2]=p;f[n+12>>2]=0.0;q=r+(z(s,e[t+2>>1]|0)|0)|0;p=k*+g[q+8>>3];o=l*+g[q+16>>3];f[n+16>>2]=j*+g[q>>3];f[n+20>>2]=p;f[n+24>>2]=o;f[n+28>>2]=0.0;t=r+(z(s,e[t+4>>1]|0)|0)|0;o=k*+g[t+8>>3];p=l*+g[t+16>>3];f[n+32>>2]=j*+g[t>>3];f[n+36>>2]=o;f[n+40>>2]=p;f[n+44>>2]=0.0;Cb[c[(c[b>>2]|0)+8>>2]&127](b,n,m,i);i=i+1|0}while((i|0)<(c[n+48>>2]|0));break}case 5:{if((c[n+48>>2]|0)<=0)break a;i=0;do{t=(c[n+72>>2]|0)+(z(c[n+68>>2]|0,i)|0)|0;r=c[n+76>>2]|0;s=c[n+56>>2]|0;q=r+(z(s,d[t>>0]|0)|0)|0;o=k*+g[q+8>>3];p=l*+g[q+16>>3];f[n>>2]=j*+g[q>>3];f[n+4>>2]=o;f[n+8>>2]=p;f[n+12>>2]=0.0;q=r+(z(s,d[t+1>>0]|0)|0)|0;p=k*+g[q+8>>3];o=l*+g[q+16>>3];f[n+16>>2]=j*+g[q>>3];f[n+20>>2]=p;f[n+24>>2]=o;f[n+28>>2]=0.0;t=r+(z(s,d[t+2>>0]|0)|0)|0;o=k*+g[t+8>>3];p=l*+g[t+16>>3];f[n+32>>2]=j*+g[t>>3];f[n+36>>2]=o;f[n+40>>2]=p;f[n+44>>2]=0.0;Cb[c[(c[b>>2]|0)+8>>2]&127](b,n,m,i);i=i+1|0}while((i|0)<(c[n+48>>2]|0));break}default:break a}break}default:{}}while(0);vb[c[(c[a>>2]|0)+24>>2]&255](a,m);m=m+1|0}while((m|0)!=(h|0));Ta=n;return}function Sc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,s=0.0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0,C=0.0,D=0.0,E=0.0,F=0.0,G=0.0,H=0.0,I=0.0,J=0.0,K=0.0,L=0.0,M=0.0,N=0.0,O=0.0,P=0.0,Q=0.0,R=0.0,S=0.0,T=0.0,U=0.0,V=0.0,W=0.0;c[b>>2]=c[a>>2];c[b+4>>2]=c[a+4>>2];c[b+8>>2]=c[a+8>>2];c[b+12>>2]=c[a+12>>2];c[b+16>>2]=c[a+16>>2];c[b+16+4>>2]=c[a+16+4>>2];c[b+16+8>>2]=c[a+16+8>>2];c[b+16+12>>2]=c[a+16+12>>2];c[b+32>>2]=c[a+32>>2];c[b+32+4>>2]=c[a+32+4>>2];c[b+32+8>>2]=c[a+32+8>>2];c[b+32+12>>2]=c[a+32+12>>2];s=+f[a+20>>2];m=+f[a+40>>2];p=+f[a+24>>2];n=+f[a+36>>2];o=+f[a+32>>2];u=+f[a+16>>2];v=+f[a>>2];w=+f[a+4>>2];q=+f[a+8>>2];x=1.0/((s*m-p*n)*v+w*(p*o-m*u)+(n*u-s*o)*q);f[d>>2]=(s*m-p*n)*x;f[d+4>>2]=(n*q-m*w)*x;f[d+8>>2]=(p*w-s*q)*x;f[d+12>>2]=0.0;f[d+16>>2]=(p*o-m*u)*x;f[d+20>>2]=(m*v-o*q)*x;f[d+24>>2]=(u*q-p*v)*x;f[d+28>>2]=0.0;f[d+32>>2]=(n*u-s*o)*x;f[d+36>>2]=(o*w-n*v)*x;f[d+40>>2]=(s*v-u*w)*x;f[d+44>>2]=0.0;a:do if(!(c[6525]|0)){e=b;g=b+40|0;h=b+24|0;i=b+8|0;j=b+36|0;k=b+20|0;l=b+4|0}else{F=(s*m-p*n)*x;G=(p*o-m*u)*x;H=(n*u-s*o)*x;I=(n*q-m*w)*x;E=(m*v-o*q)*x;C=(o*w-n*v)*x;D=(p*w-s*q)*x;B=(u*q-p*v)*x;n=(s*v-u*w)*x;e=0;while(1){p=+r(+F);o=+r(+G);N=+r(+H);W=+r(+I);O=+r(+E);M=+r(+C);Q=+r(+D);P=+r(+B);z=+r(+n);R=p+o+N>W+O+M?p+o+N:W+O+M;O=p+W+Q>o+O+P?p+W+Q:o+O+P;o=+f[b>>2];W=+r(+o);p=+f[b+16>>2];T=+r(+p);q=+f[b+32>>2];K=+r(+q);s=+f[b+4>>2];V=+r(+s);u=+f[b+20>>2];S=+r(+u);v=+f[b+36>>2];J=+r(+v);w=+f[b+8>>2];U=+r(+w);x=+f[b+24>>2];L=+r(+x);y=+f[b+40>>2];A=+r(+y);m=W+T+K>V+S+J?W+T+K:V+S+J;m=m>U+L+A?m:U+L+A;L=W+V+U>T+S+L?W+V+U:T+S+L;z=(R>Q+P+z?R:Q+P+z)*(O>N+M+z?O:N+M+z);A=m*(L>K+J+A?L:K+J+A);if(z<1.1920928955078125e-07|A<1.1920928955078125e-07){e=b;g=b+40|0;h=b+24|0;i=b+8|0;j=b+36|0;k=b+20|0;l=b+4|0;break a}W=+t(+(z/A),.25);O=(o*(W+-2.0)+1.0/W*F)*.5;Q=(s*(W+-2.0)+1.0/W*G)*.5;S=(w*(W+-2.0)+1.0/W*H)*.5;P=(p*(W+-2.0)+1.0/W*I)*.5;R=(u*(W+-2.0)+1.0/W*E)*.5;T=(x*(W+-2.0)+1.0/W*C)*.5;U=(q*(W+-2.0)+1.0/W*D)*.5;V=(v*(W+-2.0)+1.0/W*B)*.5;W=(y*(W+-2.0)+1.0/W*n)*.5;f[b>>2]=o+O;f[b+4>>2]=s+Q;f[b+8>>2]=w+S;f[b+12>>2]=0.0;f[b+16>>2]=p+P;f[b+20>>2]=u+R;f[b+24>>2]=x+T;f[b+28>>2]=0.0;f[b+32>>2]=q+U;f[b+36>>2]=v+V;f[b+40>>2]=y+W;f[b+44>>2]=0.0;N=1.0/((w+S)*((p+P)*(v+V)-(u+R)*(q+U))+((o+O)*((u+R)*(y+W)-(x+T)*(v+V))+(s+Q)*((x+T)*(q+U)-(p+P)*(y+W))));F=((u+R)*(y+W)-(x+T)*(v+V))*N;I=((w+S)*(v+V)-(s+Q)*(y+W))*N;D=((s+Q)*(x+T)-(w+S)*(u+R))*N;G=((x+T)*(q+U)-(p+P)*(y+W))*N;E=((o+O)*(y+W)-(w+S)*(q+U))*N;B=((w+S)*(p+P)-(o+O)*(x+T))*N;H=((p+P)*(v+V)-(u+R)*(q+U))*N;C=((s+Q)*(q+U)-(o+O)*(v+V))*N;n=((o+O)*(u+R)-(s+Q)*(p+P))*N;f[d>>2]=F;f[d+4>>2]=I;f[d+8>>2]=D;f[d+12>>2]=0.0;f[d+16>>2]=G;f[d+20>>2]=E;f[d+24>>2]=B;f[d+28>>2]=0.0;f[d+32>>2]=H;f[d+36>>2]=C;f[d+40>>2]=n;f[d+44>>2]=0.0;U=+r(+O)+ +r(+P)+ +r(+U);V=+r(+Q)+ +r(+R)+ +r(+V);W=+r(+S)+ +r(+T)+ +r(+W);V=U>V?U:V;if((V>W?V:W)<=m*+f[6524])break;e=e+1|0;if(e>>>0>=(c[6525]|0)>>>0){e=b;g=b+40|0;h=b+24|0;i=b+8|0;j=b+36|0;k=b+20|0;l=b+4|0;break a}}M=+f[b>>2];O=+f[b+16>>2];Q=+f[b+32>>2];K=+f[b+4>>2];L=+f[b+20>>2];S=+f[b+36>>2];F=+f[b+8>>2];G=+f[b+24>>2];U=+f[b+40>>2];N=+f[a>>2];P=+f[a+16>>2];R=+f[a+32>>2];H=+f[a+4>>2];I=+f[a+20>>2];J=+f[a+36>>2];C=+f[a+8>>2];D=+f[a+24>>2];E=+f[a+40>>2];W=F*C+G*D+U*E+(F*C+G*D+U*E);V=K*C+L*D+S*E+(F*H+G*I+U*J);T=K*H+L*I+S*J+(K*H+L*I+S*J);U=M*C+O*D+Q*E+(F*N+G*P+U*R);S=M*H+O*I+Q*J+(K*N+L*P+S*R);R=M*N+O*P+Q*R+(M*N+O*P+Q*R);V=V*.5;U=U*.5;S=S*.5;R=R*.5;f[d>>2]=R;f[d+4>>2]=S;f[d+8>>2]=U;f[d+12>>2]=0.0;f[d+16>>2]=S;T=T*.5;f[d+20>>2]=T;f[d+24>>2]=V;f[d+28>>2]=0.0;f[d+32>>2]=U;f[d+36>>2]=V;W=W*.5;f[d+40>>2]=W;f[d+44>>2]=0.0;return}while(0);M=+f[e>>2];O=+f[b+16>>2];Q=+f[b+32>>2];K=+f[l>>2];L=+f[k>>2];S=+f[j>>2];F=+f[i>>2];G=+f[h>>2];U=+f[g>>2];N=+f[a>>2];P=+f[a+16>>2];R=+f[a+32>>2];H=+f[a+4>>2];I=+f[a+20>>2];J=+f[a+36>>2];C=+f[a+8>>2];D=+f[a+24>>2];E=+f[a+40>>2];W=F*C+G*D+U*E+(F*C+G*D+U*E);V=K*C+L*D+S*E+(F*H+G*I+U*J);T=K*H+L*I+S*J+(K*H+L*I+S*J);U=M*C+O*D+Q*E+(F*N+G*P+U*R);S=M*H+O*I+Q*J+(K*N+L*P+S*R);R=M*N+O*P+Q*R+(M*N+O*P+Q*R);V=V*.5;U=U*.5;S=S*.5;R=R*.5;f[d>>2]=R;f[d+4>>2]=S;f[d+8>>2]=U;f[d+12>>2]=0.0;f[d+16>>2]=S;T=T*.5;f[d+20>>2]=T;f[d+24>>2]=V;f[d+28>>2]=0.0;f[d+32>>2]=U;f[d+36>>2]=V;W=W*.5;f[d+40>>2]=W;f[d+44>>2]=0.0;return}function Tc(d,e,g,h,i){d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;var j=0.0,k=0,l=0.0,m=0,n=0,o=0.0,p=0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0;z=Ta;Ta=Ta+128|0;a[d+60>>0]=g&1;if(g){q=+f[h>>2]+-1.0;t=+f[h+4>>2]+-1.0;s=+f[h+8>>2]+-1.0;f[d+4>>2]=q;f[d+8>>2]=t;f[d+12>>2]=s;f[d+16>>2]=0.0;v=+f[i>>2]+1.0;y=+f[i+4>>2]+1.0;x=+f[i+8>>2]+1.0;f[d+20>>2]=v;f[d+24>>2]=y;f[d+28>>2]=x;f[d+32>>2]=0.0;f[d+36>>2]=65533.0/(v-q);f[d+40>>2]=65533.0/(y-t);f[d+44>>2]=65533.0/(x-s);f[d+48>>2]=0.0;a[d+60>>0]=1;j=q+ +(~~((q-q)*(65533.0/(v-q)))&65535&-2&65535)/(65533.0/(v-q))+-1.0;l=t+ +(~~((t-t)*(65533.0/(y-t)))&65535&-2&65535)/(65533.0/(y-t))+-1.0;o=s+ +(~~((s-s)*(65533.0/(x-s)))&65535&-2&65535)/(65533.0/(x-s))+-1.0;if(j>2]=j;w=j}else w=q;if(l>2]=l;u=l}else u=t;if(o>2]=o;r=o;j=x-o}else{r=s;j=x-s}o=w+ +((~~(65533.0/(v-q)*(v-w)+1.0)&65535|1)&65535)/(65533.0/(v-q))+1.0;l=u+ +((~~(65533.0/(y-t)*(y-u)+1.0)&65535|1)&65535)/(65533.0/(y-t))+1.0;q=r+ +((~~(65533.0/(x-s)*j+1.0)&65535|1)&65535)/(65533.0/(x-s))+1.0;if(v>2]=o;else o=v;if(y>2]=l;else l=y;if(x>2]=q;j=q-r}f[d+36>>2]=65533.0/(o-w);f[d+40>>2]=65533.0/(l-u);f[d+44>>2]=65533.0/j;f[d+48>>2]=0.0;c[z+96>>2]=9632;c[z+96+4>>2]=d+104;c[z+96+8>>2]=d;Cb[c[(c[e>>2]|0)+8>>2]&127](e,z+96|0,d+4|0,d+20|0);g=c[d+108>>2]|0;c[z+80>>2]=0;c[z+80+4>>2]=0;c[z+80+8>>2]=0;c[z+80+12>>2]=0;k=c[d+128>>2]|0;if((k|0)<(g<<1|0)){if((c[d+132>>2]|0)<(g<<1|0)){if(!g){i=k;e=0}else{c[6879]=(c[6879]|0)+1;h=Zb(g<<5|19)|0;if(!h)h=0;else{c[(h+4+15&-16)+-4>>2]=h;h=h+4+15&-16}i=c[d+128>>2]|0;e=h}if((i|0)>0){h=0;do{p=e+(h<<4)|0;n=(c[d+136>>2]|0)+(h<<4)|0;c[p>>2]=c[n>>2];c[p+4>>2]=c[n+4>>2];c[p+8>>2]=c[n+8>>2];c[p+12>>2]=c[n+12>>2];h=h+1|0}while((h|0)!=(i|0))}h=c[d+136>>2]|0;if(h|0){if(a[d+140>>0]|0){c[6880]=(c[6880]|0)+1;kd(c[h+-4>>2]|0)}c[d+136>>2]=0}a[d+140>>0]=1;c[d+136>>2]=e;c[d+132>>2]=g<<1;i=d+136|0}else i=d+136|0;h=k;do{p=(c[i>>2]|0)+(h<<4)|0;c[p>>2]=c[z+80>>2];c[p+4>>2]=c[z+80+4>>2];c[p+8>>2]=c[z+80+8>>2];c[p+12>>2]=c[z+80+12>>2];h=h+1|0}while((h|0)!=(g<<1|0))}c[d+128>>2]=g<<1}else{c[z+96>>2]=9652;c[z+96+4>>2]=d+64;c[z+80>>2]=-581039253;c[z+80+4>>2]=-581039253;c[z+80+8>>2]=-581039253;f[z+80+12>>2]=0.0;c[z+64>>2]=1566444395;c[z+64+4>>2]=1566444395;c[z+64+8>>2]=1566444395;f[z+64+12>>2]=0.0;Cb[c[(c[e>>2]|0)+8>>2]&127](e,z+96|0,z+80|0,z+64|0);g=c[d+68>>2]|0;k=z;n=k+64|0;do{c[k>>2]=0;k=k+4|0}while((k|0)<(n|0));p=c[d+88>>2]|0;if((p|0)<(g<<1|0)){if((c[d+92>>2]|0)<(g<<1|0)){if(!g){i=p;e=0}else{c[6879]=(c[6879]|0)+1;h=Zb(g<<7|19)|0;if(!h)h=0;else{c[(h+4+15&-16)+-4>>2]=h;h=h+4+15&-16}i=c[d+88>>2]|0;e=h}if((i|0)>0){h=0;do{k=e+(h<<6)|0;m=(c[d+96>>2]|0)+(h<<6)|0;n=k+64|0;do{c[k>>2]=c[m>>2];k=k+4|0;m=m+4|0}while((k|0)<(n|0));h=h+1|0}while((h|0)!=(i|0))}h=c[d+96>>2]|0;if(h|0){if(a[d+100>>0]|0){c[6880]=(c[6880]|0)+1;kd(c[h+-4>>2]|0)}c[d+96>>2]=0}a[d+100>>0]=1;c[d+96>>2]=e;c[d+92>>2]=g<<1;i=d+96|0}else i=d+96|0;h=p;do{k=(c[i>>2]|0)+(h<<6)|0;m=z;n=k+64|0;do{c[k>>2]=c[m>>2];k=k+4|0;m=m+4|0}while((k|0)<(n|0));h=h+1|0}while((h|0)!=(g<<1|0))}c[d+88>>2]=g<<1}c[d+56>>2]=0;kc(d,0,g);if(a[d+60>>0]|0?(c[d+152>>2]|0)==0:0){if(!(c[d+156>>2]|0)){c[6879]=(c[6879]|0)+1;g=Zb(51)|0;if(!g)e=0;else{c[(g+4+15&-16)+-4>>2]=g;e=g+4+15&-16}g=c[d+152>>2]|0;if((g|0)>0){h=0;do{p=e+(h<<5)|0;n=(c[d+160>>2]|0)+(h<<5)|0;c[p>>2]=c[n>>2];c[p+4>>2]=c[n+4>>2];c[p+8>>2]=c[n+8>>2];c[p+12>>2]=c[n+12>>2];c[p+16>>2]=c[n+16>>2];c[p+20>>2]=c[n+20>>2];c[p+24>>2]=c[n+24>>2];c[p+28>>2]=c[n+28>>2];h=h+1|0}while((h|0)!=(g|0))}g=c[d+160>>2]|0;if(g|0){if(a[d+164>>0]|0){c[6880]=(c[6880]|0)+1;kd(c[g+-4>>2]|0)}c[d+160>>2]=0}a[d+164>>0]=1;c[d+160>>2]=e;c[d+156>>2]=1;i=(c[d+152>>2]|0)+1|0;g=e;h=d+160|0}else{i=1;g=c[d+160>>2]|0;h=d+160|0}c[d+152>>2]=i;c[g>>2]=c[z+96>>2];c[g+4>>2]=c[z+96+4>>2];c[g+8>>2]=c[z+96+8>>2];c[g+12>>2]=c[z+96+12>>2];c[g+16>>2]=c[z+96+16>>2];c[g+20>>2]=c[z+96+20>>2];c[g+24>>2]=c[z+96+24>>2];c[g+28>>2]=c[z+96+28>>2];p=c[h>>2]|0;n=c[d+136>>2]|0;b[p>>1]=b[n>>1]|0;b[p+2>>1]=b[n+2>>1]|0;b[p+4>>1]=b[n+4>>1]|0;b[p+6>>1]=b[n+6>>1]|0;b[p+8>>1]=b[n+8>>1]|0;b[p+10>>1]=b[n+10>>1]|0;c[p+12>>2]=0;n=c[n+12>>2]|0;c[p+16>>2]=(n|0)>-1?1:0-n|0}c[d+168>>2]=c[d+152>>2];g=c[d+116>>2]|0;if(g|0){if(a[d+120>>0]|0){c[6880]=(c[6880]|0)+1;kd(c[g+-4>>2]|0)}c[d+116>>2]=0}a[d+120>>0]=1;c[d+116>>2]=0;c[d+108>>2]=0;c[d+112>>2]=0;g=c[d+76>>2]|0;if(!g){a[d+80>>0]=1;c[d+76>>2]=0;c[d+68>>2]=0;d=d+72|0;c[d>>2]=0;Ta=z;return}if(a[d+80>>0]|0){c[6880]=(c[6880]|0)+1;kd(c[g+-4>>2]|0)}c[d+76>>2]=0;a[d+80>>0]=1;c[d+76>>2]=0;c[d+68>>2]=0;d=d+72|0;c[d>>2]=0;Ta=z;return}function Uc(b,d,e,g,h,i){b=b|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;var j=0,k=0.0,l=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,t=0.0,u=0,v=0.0,w=0.0,x=0.0,y=0,z=0,A=0,B=0.0,C=0.0,D=0.0,E=0.0,F=0.0,G=0.0,H=0.0,I=0.0,J=0,K=0.0,L=0.0,M=0.0,N=0.0,O=0.0,P=0.0,Q=0.0,R=0.0,S=0.0,T=0.0,U=0.0,V=0.0,W=0.0,X=0.0,Y=0.0,Z=0.0,_=0.0,$=0.0,aa=0,ba=0.0,ca=0.0,da=0.0,ea=0,fa=0.0;ea=Ta;Ta=Ta+32|0;J=c[b+4>>2]|0;a[J+312>>0]=0;c[J>>2]=0;a[J+356>>0]=1;c[J+292>>2]=1566444395;c[J+296>>2]=1566444395;c[J+300>>2]=1566444395;f[J+304>>2]=0.0;c[J+336>>2]=0;c[J+336+4>>2]=0;c[J+336+8>>2]=0;c[J+336+12>>2]=0;a[J+336+16>>0]=0;a[J+332>>0]=a[J+332>>0]&-16;k=+f[d+48>>2];o=+f[d+52>>2];p=+f[d+56>>2];q=+f[g+48>>2];r=+f[g+52>>2];t=+f[g+56>>2];K=+f[d>>2];Q=+f[d+4>>2];R=+f[d+8>>2];S=+f[d+16>>2];L=+f[d+20>>2];M=+f[d+24>>2];N=+f[d+32>>2];O=+f[d+36>>2];P=+f[d+40>>2];T=+f[g>>2];Z=+f[g+4>>2];_=+f[g+8>>2];$=+f[g+16>>2];U=+f[g+20>>2];V=+f[g+24>>2];W=+f[g+32>>2];X=+f[g+36>>2];Y=+f[g+40>>2];ba=+f[e+48>>2]-k-(+f[h+48>>2]-q);da=+f[e+52>>2]-o-(+f[h+52>>2]-r);ca=+f[e+56>>2]-p-(+f[h+56>>2]-t);J=c[b+8>>2]|0;A=c[(c[J>>2]|0)+64>>2]|0;f[ea>>2]=K*-ba+S*-da+N*-ca;f[ea+4>>2]=Q*-ba+L*-da+O*-ca;f[ea+8>>2]=R*-ba+M*-da+P*-ca;f[ea+12>>2]=0.0;zb[A&127](ea+16|0,J,ea);H=+f[ea+16>>2];I=+f[ea+16+4>>2];G=+f[ea+16+8>>2];v=H*+f[d>>2]+I*+f[d+4>>2]+G*+f[d+8>>2]+ +f[d+48>>2];x=H*+f[d+16>>2]+I*+f[d+20>>2]+G*+f[d+24>>2]+ +f[d+52>>2];G=H*+f[d+32>>2]+I*+f[d+36>>2]+G*+f[d+40>>2]+ +f[d+56>>2];J=c[b+12>>2]|0;A=c[(c[J>>2]|0)+64>>2]|0;I=ba*+f[g+4>>2]+da*+f[g+20>>2]+ca*+f[g+36>>2];H=ba*+f[g+8>>2]+da*+f[g+24>>2]+ca*+f[g+40>>2];f[ea>>2]=ba*+f[g>>2]+da*+f[g+16>>2]+ca*+f[g+32>>2];f[ea+4>>2]=I;f[ea+8>>2]=H;f[ea+12>>2]=0.0;zb[A&127](ea+16|0,J,ea);H=+f[ea+16>>2];I=+f[ea+16+4>>2];w=+f[ea+16+8>>2];v=v-(H*+f[g>>2]+I*+f[g+4>>2]+w*+f[g+8>>2]+ +f[g+48>>2]);x=x-(H*+f[g+16>>2]+I*+f[g+20>>2]+w*+f[g+24>>2]+ +f[g+52>>2]);w=G-(H*+f[g+32>>2]+I*+f[g+36>>2]+w*+f[g+40>>2]+ +f[g+56>>2]);a:do if(v*v+x*x+w*w>9.999999747378752e-05){m=0.0;l=0.0;n=0.0;I=k;k=0.0;J=32;j=0;u=0;B=x;while(1){if(!J)break a;J=J+-1|0;A=c[b+8>>2]|0;z=c[(c[A>>2]|0)+64>>2]|0;F=-v;fa=-B;x=-w;f[ea>>2]=K*F+S*fa+N*x;f[ea+4>>2]=Q*F+L*fa+O*x;f[ea+8>>2]=R*F+M*fa+P*x;f[ea+12>>2]=0.0;zb[z&127](ea+16|0,A,ea);x=+f[ea+16>>2];fa=+f[ea+16+4>>2];F=+f[ea+16+8>>2];D=I+(K*x+Q*fa+R*F);H=o+(S*x+L*fa+M*F);F=p+(N*x+O*fa+P*F);A=c[b+12>>2]|0;z=c[(c[A>>2]|0)+64>>2]|0;f[ea>>2]=T*v+$*B+W*w;f[ea+4>>2]=Z*v+U*B+X*w;f[ea+8>>2]=_*v+V*B+Y*w;f[ea+12>>2]=0.0;zb[z&127](ea+16|0,A,ea);fa=+f[ea+16>>2];x=+f[ea+16+4>>2];E=+f[ea+16+8>>2];C=q+(T*fa+Z*x+_*E);G=r+($*fa+U*x+V*E);E=t+(W*fa+X*x+Y*E);x=(D-C)*v+(H-G)*B+(F-E)*w;if(k>1.0){j=0;aa=24;break}if(x>0.0){l=ba*v+da*B+ca*w;if(l>=-1.4210854715202004e-14){j=0;aa=24;break}k=k-x/l;l=v;m=B;n=w;x=(1.0-k)*+f[d+48>>2]+k*+f[e+48>>2];o=(1.0-k)*+f[d+52>>2]+k*+f[e+52>>2];p=(1.0-k)*+f[d+56>>2]+k*+f[e+56>>2];q=(1.0-k)*+f[g+48>>2]+k*+f[h+48>>2];r=(1.0-k)*+f[g+52>>2]+k*+f[h+52>>2];t=(1.0-k)*+f[g+56>>2]+k*+f[h+56>>2];j=u}else x=I;z=c[b+4>>2]|0;A=c[z>>2]|0;if((A|0)>0){v=+f[z+308>>2];u=0;y=0;do{B=D-C-+f[z+4+(y<<4)>>2];I=H-G-+f[z+4+(y<<4)+4>>2];fa=F-E-+f[z+4+(y<<4)+8>>2];u=u|B*B+I*I+fa*fa<=v;y=y+1|0}while((y|0)!=(A|0))}else u=0;if((+f[z+304>>2]==0.0?F-E==+f[z+300>>2]:0)?H-G==+f[z+296>>2]:0){if(!(D-C==+f[z+292>>2]|u))aa=16}else if(!u)aa=16;if((aa|0)==16){aa=0;f[z+292>>2]=D-C;f[z+296>>2]=H-G;f[z+300>>2]=F-E;f[z+304>>2]=0.0;a[z+356>>0]=1;f[z+4+(A<<4)>>2]=D-C;f[z+4+(A<<4)+4>>2]=H-G;f[z+4+(A<<4)+8>>2]=F-E;f[z+4+(A<<4)+12>>2]=0.0;A=c[z>>2]|0;f[z+84+(A<<4)>>2]=D;f[z+84+(A<<4)+4>>2]=H;f[z+84+(A<<4)+8>>2]=F;f[z+84+(A<<4)+12>>2]=0.0;A=c[z>>2]|0;f[z+164+(A<<4)>>2]=C;f[z+164+(A<<4)+4>>2]=G;f[z+164+(A<<4)+8>>2]=E;f[z+164+(A<<4)+12>>2]=0.0;c[z>>2]=(c[z>>2]|0)+1;z=c[b+4>>2]|0}A=ac(z)|0;v=+f[z+276>>2];B=+f[z+280>>2];w=+f[z+284>>2];if(!A)break a;if(!(v*v+B*B+w*w>9.999999747378752e-05))break a;else{I=x;u=c[z+288>>2]|0}}if((aa|0)==24){Ta=ea;return j|0}}else{n=0.0;m=0.0;l=0.0;k=0.0;j=0}while(0);f[i+164>>2]=k;k=l*l+m*m+n*n;if(!(k>=1.4210854715202004e-14)){c[i+132>>2]=0;c[i+132+4>>2]=0;c[i+132+8>>2]=0;c[i+132+12>>2]=0;k=0.0;l=0.0;m=0.0}else{fa=1.0/+s(+k);k=l*fa;l=m*fa;m=n*fa;f[i+132>>2]=k;f[i+136>>2]=l;f[i+140>>2]=m;c[i+144>>2]=j}if(ba*k+da*l+ca*m>=-+f[i+172>>2]){b=0;Ta=ea;return b|0}b=c[b+4>>2]|0;ac(b)|0;jq(i+148|0,b+260|0,16)|0;b=1;Ta=ea;return b|0}function Vc(b,d,e,g,i,j,k,l,m,n,o){b=b|0;d=d|0;e=e|0;g=g|0;i=i|0;j=j|0;k=k|0;l=l|0;m=+m;n=+n;o=+o;var p=0,q=0,r=0.0,s=0,t=0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0,C=0.0,D=0.0,E=0.0,F=0.0,G=0.0,H=0.0,I=0.0,J=0.0,K=0.0,L=0.0,M=0,N=0,O=0.0,P=0.0,Q=0.0;N=c[b+68>>2]|0;if((N|0)==(c[b+72>>2]|0)?(t=(N|0)==0?1:N<<1,(N|0)<(t|0)):0){if(!t){q=N;s=0}else{c[6879]=(c[6879]|0)+1;p=Zb((t*152|3)+16|0)|0;if(!p)p=0;else{c[(p+4+15&-16)+-4>>2]=p;p=p+4+15&-16}q=c[b+68>>2]|0;s=p}if((q|0)>0){p=0;do{oi(s+(p*152|0)|0,(c[b+76>>2]|0)+(p*152|0)|0,152)|0;p=p+1|0}while((p|0)!=(q|0))}p=c[b+76>>2]|0;if(p|0){if(a[b+80>>0]|0){c[6880]=(c[6880]|0)+1;kd(c[p+-4>>2]|0)}c[b+76>>2]=0}a[b+80>>0]=1;c[b+76>>2]=s;c[b+72>>2]=t;p=c[b+68>>2]|0}else p=N;c[b+68>>2]=p+1;M=c[b+76>>2]|0;c[M+(N*152|0)+140>>2]=i;s=c[b+16>>2]|0;p=c[s+(e*244|0)+240>>2]|0;t=c[s+(g*244|0)+240>>2]|0;c[M+(N*152|0)+144>>2]=e;c[M+(N*152|0)+148>>2]=g;q=c[j+84>>2]|0;c[M+(N*152|0)+104>>2]=q;c[M+(N*152|0)+132>>2]=0;f[M+(N*152|0)+100>>2]=0.0;f[M+(N*152|0)+96>>2]=0.0;I=(c[h>>2]=q,+f[h>>2]);if(p|0){c[M+(N*152|0)+16>>2]=c[d>>2];c[M+(N*152|0)+16+4>>2]=c[d+4>>2];c[M+(N*152|0)+16+8>>2]=c[d+8>>2];c[M+(N*152|0)+16+12>>2]=c[d+12>>2];L=+f[k+4>>2];D=+f[M+(N*152|0)+24>>2];H=+f[k+8>>2];J=+f[M+(N*152|0)+20>>2];E=+f[M+(N*152|0)+16>>2];K=+f[k>>2];f[M+(N*152|0)>>2]=L*D-H*J;f[M+(N*152|0)+4>>2]=H*E-D*K;f[M+(N*152|0)+8>>2]=J*K-L*E;f[M+(N*152|0)+12>>2]=0.0;v=((L*D-H*J)*+f[p+264>>2]+(H*E-D*K)*+f[p+268>>2]+(J*K-L*E)*+f[p+272>>2])*+f[p+544>>2];r=((L*D-H*J)*+f[p+280>>2]+(H*E-D*K)*+f[p+284>>2]+(J*K-L*E)*+f[p+288>>2])*+f[p+548>>2];u=((L*D-H*J)*+f[p+296>>2]+(H*E-D*K)*+f[p+300>>2]+(J*K-L*E)*+f[p+304>>2])*+f[p+552>>2];f[M+(N*152|0)+64>>2]=v;f[M+(N*152|0)+68>>2]=r;f[M+(N*152|0)+72>>2]=u;f[M+(N*152|0)+76>>2]=0.0;z=E;A=J;B=D;C=L*D-H*J;D=H*E-D*K;E=J*K-L*E}else{c[M+(N*152|0)+64>>2]=0;c[M+(N*152|0)+64+4>>2]=0;c[M+(N*152|0)+64+8>>2]=0;c[M+(N*152|0)+64+12>>2]=0;c[M+(N*152|0)>>2]=0;c[M+(N*152|0)+4>>2]=0;c[M+(N*152|0)+8>>2]=0;c[M+(N*152|0)+12>>2]=0;c[M+(N*152|0)+16>>2]=0;c[M+(N*152|0)+20>>2]=0;c[M+(N*152|0)+24>>2]=0;c[M+(N*152|0)+28>>2]=0;r=0.0;u=0.0;v=0.0;z=0.0;A=0.0;B=0.0;C=0.0;D=0.0;E=0.0}if(t|0){J=-+f[d>>2];K=-+f[d+4>>2];L=-+f[d+8>>2];f[M+(N*152|0)+48>>2]=J;f[M+(N*152|0)+52>>2]=K;f[M+(N*152|0)+56>>2]=L;f[M+(N*152|0)+60>>2]=0.0;H=+f[l+4>>2];G=+f[l+8>>2];O=+f[l>>2];f[M+(N*152|0)+32>>2]=H*L-G*K;f[M+(N*152|0)+36>>2]=G*J-O*L;f[M+(N*152|0)+40>>2]=O*K-H*J;f[M+(N*152|0)+44>>2]=0.0;w=((H*L-G*K)*+f[t+264>>2]+(G*J-O*L)*+f[t+268>>2]+(O*K-H*J)*+f[t+272>>2])*+f[t+544>>2];x=((H*L-G*K)*+f[t+280>>2]+(G*J-O*L)*+f[t+284>>2]+(O*K-H*J)*+f[t+288>>2])*+f[t+548>>2];y=((H*L-G*K)*+f[t+296>>2]+(G*J-O*L)*+f[t+300>>2]+(O*K-H*J)*+f[t+304>>2])*+f[t+552>>2];f[M+(N*152|0)+80>>2]=w;f[M+(N*152|0)+84>>2]=x;f[M+(N*152|0)+88>>2]=y;f[M+(N*152|0)+92>>2]=0.0;F=H*L-G*K;G=G*J-O*L;H=O*K-H*J}else{c[M+(N*152|0)+80>>2]=0;c[M+(N*152|0)+80+4>>2]=0;c[M+(N*152|0)+80+8>>2]=0;c[M+(N*152|0)+80+12>>2]=0;c[M+(N*152|0)+32>>2]=0;c[M+(N*152|0)+32+4>>2]=0;c[M+(N*152|0)+32+8>>2]=0;c[M+(N*152|0)+32+12>>2]=0;c[M+(N*152|0)+32+16>>2]=0;c[M+(N*152|0)+32+20>>2]=0;c[M+(N*152|0)+32+24>>2]=0;c[M+(N*152|0)+32+28>>2]=0;F=0.0;G=0.0;H=0.0;w=0.0;x=0.0;y=0.0;J=0.0;K=0.0;L=0.0}if(p|0){Q=+f[k+8>>2];P=+f[k+4>>2];O=+f[k>>2];u=+f[p+344>>2]+((r*Q-u*P)*+f[d>>2]+(u*O-Q*v)*+f[d+4>>2]+(P*v-r*O)*+f[d+8>>2])}else u=0.0;if(t|0){P=-w;r=-x;x=-y;y=+f[l+8>>2];O=+f[l+4>>2];Q=+f[l>>2];r=+f[t+344>>2]+((y*r-O*x)*+f[d>>2]+(Q*x-y*P)*+f[d+4>>2]+(O*P-Q*r)*+f[d+8>>2])}else r=0.0;x=m/(u+r);f[M+(N*152|0)+108>>2]=x;if(p|0){u=+f[s+(e*244|0)+192>>2];v=+f[s+(e*244|0)+196>>2];w=+f[s+(e*244|0)+200>>2];r=(+f[s+(e*244|0)+176>>2]+ +f[s+(e*244|0)+208>>2])*z+(+f[s+(e*244|0)+180>>2]+ +f[s+(e*244|0)+212>>2])*A+(+f[s+(e*244|0)+184>>2]+ +f[s+(e*244|0)+216>>2])*B}else{u=0.0;v=0.0;w=0.0;r=z*0.0+A*0.0+B*0.0}r=r+(u*C+v*D+w*E);if(t|0){m=+f[s+(g*244|0)+192>>2];O=+f[s+(g*244|0)+196>>2];Q=+f[s+(g*244|0)+200>>2];P=(+f[s+(g*244|0)+176>>2]+ +f[s+(g*244|0)+208>>2])*J+(+f[s+(g*244|0)+180>>2]+ +f[s+(g*244|0)+212>>2])*K+(+f[s+(g*244|0)+184>>2]+ +f[s+(g*244|0)+216>>2])*L;m=m*F;O=O*G;O=m+O;Q=Q*H;Q=O+Q;Q=P+Q;Q=r+Q;Q=n-Q;Q=x*Q;g=M+(N*152|0)+112|0;f[g>>2]=Q;g=M+(N*152|0)+116|0;f[g>>2]=o;Q=-I;g=M+(N*152|0)+120|0;f[g>>2]=Q;g=M+(N*152|0)+124|0;c[g>>2]=q;return}else{m=0.0;O=0.0;Q=0.0;P=J*0.0+K*0.0+L*0.0;m=m*F;O=O*G;O=m+O;Q=Q*H;Q=O+Q;Q=P+Q;Q=r+Q;Q=n-Q;Q=x*Q;g=M+(N*152|0)+112|0;f[g>>2]=Q;g=M+(N*152|0)+116|0;f[g>>2]=o;Q=-I;g=M+(N*152|0)+120|0;f[g>>2]=Q;g=M+(N*152|0)+124|0;c[g>>2]=q;return}}function Wc(b,d,e,g,h,i,j,k,l,m,n){b=b|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;var o=0,p=0,q=0.0,r=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0,y=0,A=0,B=0,C=0,D=0.0,E=0,F=0;if((j|0)<2|(k|0)<2){n=0;return n|0}x=z(k,j)|0;c[6879]=(c[6879]|0)+1;b=Zb(x>>>0>268435455?18:(x<<4|3)+16|0)|0;if(!b)A=0;else{c[(b+4+15&-16)+-4>>2]=b;A=b+4+15&-16}y=w$(x>>>0>1073741823?-1:x<<2)|0;o=0;do{D=+(o|0)/+(k+-1|0);q=+f[e>>2];q=q+D*(+f[h>>2]-q);r=+f[e+4>>2];r=r+D*(+f[h+4>>2]-r);t=+f[e+8>>2];t=t+D*(+f[h+8>>2]-t);u=+f[g>>2];v=+f[g+4>>2];w=+f[g+8>>2];u=u+D*(+f[i>>2]-u)-q;v=v+D*(+f[i+4>>2]-v)-r;w=w+D*(+f[i+8>>2]-w)-t;p=z(o,j)|0;b=0;do{D=+(b|0)/+(j+-1|0);C=b+p|0;f[A+(C<<4)>>2]=q+u*D;f[A+(C<<4)+4>>2]=r+v*D;f[A+(C<<4)+8>>2]=t+w*D;f[A+(C<<4)+12>>2]=0.0;f[y+(C<<2)>>2]=1.0;b=b+1|0}while((b|0)!=(j|0));o=o+1|0}while((o|0)!=(k|0));c[6879]=(c[6879]|0)+1;b=Zb(1271)|0;if(!b)b=0;else{c[(b+4+15&-16)+-4>>2]=b;b=b+4+15&-16}jc(b,d,x,A,y);if(l&1|0){f[(c[b+720>>2]|0)+88>>2]=0.0;a[b+924>>0]=1}if(l&2|0){f[(c[b+720>>2]|0)+((j+-1|0)*104|0)+88>>2]=0.0;a[b+924>>0]=1}if(l&4|0){C=z(k+-1|0,j)|0;f[(c[b+720>>2]|0)+(C*104|0)+88>>2]=0.0;a[b+924>>0]=1}if(l&8|0){C=j+-1+(z(k+-1|0,j)|0)|0;f[(c[b+720>>2]|0)+(C*104|0)+88>>2]=0.0;a[b+924>>0]=1}if(l&16|0){f[(c[b+720>>2]|0)+(((j+-1|0)/2|0)*104|0)+88>>2]=0.0;a[b+924>>0]=1}if(l&32|0){C=z((k+-1|0)/2|0,j)|0;f[(c[b+720>>2]|0)+(C*104|0)+88>>2]=0.0;a[b+924>>0]=1}if(l&64|0){C=j+-1+(z((k+-1|0)/2|0,j)|0)|0;f[(c[b+720>>2]|0)+(C*104|0)+88>>2]=0.0;a[b+924>>0]=1}if(l&128|0){C=(z(k+-1|0,j)|0)+((j+-1|0)/2|0)|0;f[(c[b+720>>2]|0)+(C*104|0)+88>>2]=0.0;a[b+924>>0]=1}if(!(l&256)){B=b+924|0;C=b+720|0}else{B=(z((k+-1|0)/2|0,j)|0)+((j+-1|0)/2|0)|0;C=b+720|0;f[(c[C>>2]|0)+(B*104|0)+88>>2]=0.0;B=b+924|0;a[B>>0]=1}c[6880]=(c[6880]|0)+1;kd(c[A+-4>>2]|0);x$(y);d=b+732|0;A=b+740|0;l=0;o=0;do{p=l;l=l+1|0;a:do if((j|0)>0){y=z(p,j)|0;x=z(l,j)|0;r=1.0/+(k+-1|0)*+(k+-1-p|0);q=1.0/+(k+-1|0)*+(k+-2-p|0);if((l|0)>=(k|0)){p=0;while(1){e=p;p=p+1|0;if((p|0)<(j|0)){g=p+y|0;h=c[C>>2]|0;fi(b,0);x=(c[d>>2]|0)+-1|0;i=c[A>>2]|0;c[i+(x*52|0)+8>>2]=h+((e+y|0)*104|0);c[i+(x*52|0)+12>>2]=h+(g*104|0);v=+f[h+((e+y|0)*104|0)+8>>2]-+f[h+(g*104|0)+8>>2];w=+f[h+((e+y|0)*104|0)+12>>2]-+f[h+(g*104|0)+12>>2];D=+f[h+((e+y|0)*104|0)+16>>2]-+f[h+(g*104|0)+16>>2];f[i+(x*52|0)+16>>2]=+s(+(v*v+w*w+D*D));a[B>>0]=1}if((p|0)==(j|0))break a}}i=0;do{g=i;i=i+1|0;e=i+y|0;h=i+x|0;p=c[C>>2]|0;if((i|0)<(j|0)){fi(b,0);F=(c[d>>2]|0)+-1|0;E=c[A>>2]|0;c[E+(F*52|0)+8>>2]=p+((g+y|0)*104|0);c[E+(F*52|0)+12>>2]=p+(e*104|0);D=+f[p+((g+y|0)*104|0)+8>>2]-+f[p+(e*104|0)+8>>2];w=+f[p+((g+y|0)*104|0)+12>>2]-+f[p+(e*104|0)+12>>2];v=+f[p+((g+y|0)*104|0)+16>>2]-+f[p+(e*104|0)+16>>2];f[E+(F*52|0)+16>>2]=+s(+(D*D+w*w+v*v));a[B>>0]=1;F=c[C>>2]|0;fi(b,0);p=(c[d>>2]|0)+-1|0;E=c[A>>2]|0;c[E+(p*52|0)+8>>2]=F+((g+y|0)*104|0);c[E+(p*52|0)+12>>2]=F+((g+x|0)*104|0);v=+f[F+((g+y|0)*104|0)+8>>2]-+f[F+((g+x|0)*104|0)+8>>2];w=+f[F+((g+y|0)*104|0)+12>>2]-+f[F+((g+x|0)*104|0)+12>>2];D=+f[F+((g+y|0)*104|0)+16>>2]-+f[F+((g+x|0)*104|0)+16>>2];f[E+(p*52|0)+16>>2]=+s(+(v*v+w*w+D*D));a[B>>0]=1;Vf(b,g+y|0,g+x|0,h,0);if(!n)Vf(b,h,e,g+y|0,0);else{D=1.0/+(j+-1|0)*+(g|0);f[n+(o<<2)>>2]=D;f[n+(o+1<<2)>>2]=r;f[n+(o+2<<2)>>2]=D;f[n+(o+3<<2)>>2]=q;w=1.0/+(j+-1|0)*+(i|0);f[n+(o+4<<2)>>2]=w;f[n+(o+5<<2)>>2]=q;Vf(b,h,e,g+y|0,0);f[n+(o+6<<2)>>2]=w;f[n+(o+7<<2)>>2]=q;f[n+(o+8<<2)>>2]=w;f[n+(o+9<<2)>>2]=r;f[n+(o+10<<2)>>2]=D;f[n+(o+11<<2)>>2]=r}if(m){e=c[C>>2]|0;fi(b,0);F=(c[d>>2]|0)+-1|0;E=c[A>>2]|0;c[E+(F*52|0)+8>>2]=e+((g+y|0)*104|0);c[E+(F*52|0)+12>>2]=e+(h*104|0);v=+f[e+((g+y|0)*104|0)+8>>2]-+f[e+(h*104|0)+8>>2];w=+f[e+((g+y|0)*104|0)+12>>2]-+f[e+(h*104|0)+12>>2];D=+f[e+((g+y|0)*104|0)+16>>2]-+f[e+(h*104|0)+16>>2];f[E+(F*52|0)+16>>2]=+s(+(v*v+w*w+D*D));a[B>>0]=1}o=o+12|0}else{fi(b,0);F=(c[d>>2]|0)+-1|0;E=c[A>>2]|0;c[E+(F*52|0)+8>>2]=p+((g+y|0)*104|0);c[E+(F*52|0)+12>>2]=p+((g+x|0)*104|0);v=+f[p+((g+y|0)*104|0)+8>>2]-+f[p+((g+x|0)*104|0)+8>>2];w=+f[p+((g+y|0)*104|0)+12>>2]-+f[p+((g+x|0)*104|0)+12>>2];D=+f[p+((g+y|0)*104|0)+16>>2]-+f[p+((g+x|0)*104|0)+16>>2];f[E+(F*52|0)+16>>2]=+s(+(v*v+w*w+D*D));a[B>>0]=1}}while((i|0)!=(j|0))}while(0)}while((l|0)!=(k|0));return b|0}function Xc(b,d,e){b=b|0;d=d|0;e=e|0;var g=0.0,h=0.0,i=0.0,j=0.0,k=0.0,l=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,t=0.0,u=0.0,v=0.0,w=0.0,z=0.0,A=0.0,B=0.0,C=0.0,D=0.0,E=0.0,F=0.0,G=0.0,H=0.0,I=0.0,J=0.0;D=+f[b+48>>2];h=+f[d>>2];E=+f[b+64>>2];j=+f[d+4>>2];J=+f[b+80>>2];p=+f[d+8>>2];t=+f[b+52>>2];r=+f[b+68>>2];q=+f[b+84>>2];z=+f[b+56>>2];I=+f[b+72>>2];A=+f[b+88>>2];w=+f[d+16>>2];v=+f[d+20>>2];u=+f[d+24>>2];H=+f[d+32>>2];F=+f[d+36>>2];G=+f[d+40>>2];k=+f[b+96>>2];g=+f[b+100>>2];C=+f[b+104>>2];B=+f[d+48>>2]+(h*k+j*g+p*C);i=w*k+v*g+u*C+ +f[d+52>>2];C=H*k+F*g+G*C+ +f[d+56>>2];f[b+1064>>2]=D*h+E*j+J*p;f[b+1068>>2]=h*t+j*r+p*q;f[b+1072>>2]=h*z+j*I+p*A;f[b+1076>>2]=0.0;f[b+1080>>2]=D*w+E*v+J*u;f[b+1084>>2]=t*w+r*v+q*u;f[b+1088>>2]=z*w+I*v+A*u;f[b+1092>>2]=0.0;f[b+1096>>2]=D*H+E*F+J*G;f[b+1100>>2]=t*H+r*F+q*G;f[b+1104>>2]=z*H+I*F+A*G;f[b+1108>>2]=0.0;f[b+1112>>2]=B;f[b+1116>>2]=i;f[b+1120>>2]=C;f[b+1124>>2]=0.0;C=+f[b+112>>2];i=+f[e>>2];B=+f[b+128>>2];G=+f[e+4>>2];A=+f[b+144>>2];F=+f[e+8>>2];I=+f[b+116>>2];H=+f[b+132>>2];z=+f[b+148>>2];q=+f[b+120>>2];r=+f[b+136>>2];t=+f[b+152>>2];J=+f[e+16>>2];E=+f[e+20>>2];D=+f[e+24>>2];u=+f[e+32>>2];v=+f[e+36>>2];w=+f[e+40>>2];p=+f[b+160>>2];j=+f[b+164>>2];h=+f[b+168>>2];g=+f[e+48>>2]+(i*p+G*j+F*h);k=J*p+E*j+D*h+ +f[e+52>>2];h=u*p+v*j+w*h+ +f[e+56>>2];f[b+1128>>2]=C*i+B*G+A*F;f[b+1132>>2]=i*I+G*H+F*z;f[b+1136>>2]=i*q+G*r+F*t;f[b+1140>>2]=0.0;f[b+1144>>2]=C*J+B*E+A*D;f[b+1148>>2]=I*J+H*E+z*D;f[b+1152>>2]=q*J+r*E+t*D;f[b+1156>>2]=0.0;f[b+1160>>2]=C*u+B*v+A*w;f[b+1164>>2]=I*u+H*v+z*w;f[b+1168>>2]=q*u+r*v+t*w;f[b+1172>>2]=0.0;f[b+1176>>2]=g;f[b+1180>>2]=k;f[b+1184>>2]=h;f[b+1188>>2]=0.0;g=g-+f[b+1112>>2];k=k-+f[b+1116>>2];h=h-+f[b+1120>>2];z=+f[b+1084>>2];H=+f[b+1104>>2];I=+f[b+1088>>2];A=+f[b+1100>>2];B=+f[b+1096>>2];C=+f[b+1080>>2];D=+f[b+1064>>2];E=+f[b+1068>>2];J=+f[b+1072>>2];F=1.0/((z*H-I*A)*D+E*(I*B-H*C)+(A*C-z*B)*J);G=(A*C-z*B)*F;i=h*((I*E-z*J)*F)+(g*((z*H-I*A)*F)+k*((A*J-H*E)*F));j=h*((C*J-I*D)*F)+(g*((I*B-H*C)*F)+k*((H*D-B*J)*F));k=h*((z*D-C*E)*F)+(g*G+k*((B*E-A*D)*F));f[b+1256>>2]=i;f[b+1260>>2]=j;f[b+1264>>2]=k;f[b+1268>>2]=0.0;f[b+840>>2]=i;g=+f[b+680>>2];h=+f[b+696>>2];do if(!(g>h)){if(g>i){c[b+856>>2]=2;g=i-g;break}if(h>2]=1;g=i-h;break}else{c[b+856>>2]=0;g=0.0;break}}else{c[b+856>>2]=0;g=0.0}while(0);f[b+824>>2]=g;f[b+844>>2]=j;g=+f[b+684>>2];h=+f[b+700>>2];do if(!(g>h)){if(g>j){c[b+860>>2]=2;g=j-g;break}if(h>2]=1;g=j-h;break}else{c[b+860>>2]=0;g=0.0;break}}else{c[b+860>>2]=0;g=0.0}while(0);f[b+828>>2]=g;f[b+848>>2]=k;g=+f[b+688>>2];h=+f[b+704>>2];do if(!(g>h)){if(g>k){c[b+864>>2]=2;g=k-g;break}if(h>2]=1;g=k-h;break}else{c[b+864>>2]=0;g=0.0;break}}else{c[b+864>>2]=0;g=0.0}while(0);f[b+832>>2]=g;n=+f[b+1128>>2];o=+f[b+1144>>2];p=+f[b+1160>>2];h=+f[b+1132>>2];i=+f[b+1148>>2];j=+f[b+1164>>2];k=(z*H-I*A)*F*h+(A*J-H*E)*F*i+(I*E-z*J)*F*j;m=h*((I*B-H*C)*F)+(H*D-B*J)*F*i+(C*J-I*D)*F*j;l=p*((z*D-C*E)*F)+(n*G+o*((B*E-A*D)*F));g=G*+f[b+1136>>2]+(B*E-A*D)*F*+f[b+1152>>2]+(z*D-C*E)*F*(q*u+r*v+t*w);do if(l<1.0)if(l>-1.0){f[b+1192>>2]=+y(+-(h*G+(B*E-A*D)*F*i+(z*D-C*E)*F*j),+g);g=l<-1.0?-1.0:l;f[b+1196>>2]=+x(+(g>1.0?1.0:g));g=+y(+-(p*((C*J-I*D)*F)+(n*((I*B-H*C)*F)+o*((H*D-B*J)*F))),+(p*((I*E-z*J)*F)+(n*((z*H-I*A)*F)+o*((A*J-H*E)*F))));break}else{f[b+1192>>2]=-+y(+k,+m);f[b+1196>>2]=-1.5707963705062866;g=0.0;break}else{f[b+1192>>2]=+y(+k,+m);f[b+1196>>2]=1.5707963705062866;g=0.0}while(0);f[b+1200>>2]=g;f[b+1236>>2]=0.0;A=H*(n*H-p*J)-I*(o*J-n*I);B=J*(o*J-n*I)-H*(p*I-o*H);C=I*(p*I-o*H)-J*(n*H-p*J);f[b+1220>>2]=0.0;E=o*(o*J-n*I)-p*(n*H-p*J);F=p*(p*I-o*H)-n*(o*J-n*I);G=n*(n*H-p*J)-o*(p*I-o*H);f[b+1252>>2]=0.0;D=1.0/+s(+(A*A+B*B+C*C));f[b+1208>>2]=A*D;f[b+1212>>2]=B*D;f[b+1216>>2]=C*D;D=1.0/+s(+((o*J-n*I)*(o*J-n*I)+((n*H-p*J)*(n*H-p*J)+(p*I-o*H)*(p*I-o*H))));f[b+1224>>2]=(p*I-o*H)*D;f[b+1228>>2]=(n*H-p*J)*D;f[b+1232>>2]=(o*J-n*I)*D;J=1.0/+s(+(E*E+F*F+G*G));f[b+1240>>2]=E*J;f[b+1244>>2]=F*J;f[b+1248>>2]=G*J;if(!(a[b+1301>>0]|0))return;I=+f[(c[b+28>>2]|0)+344>>2];J=+f[(c[b+32>>2]|0)+344>>2];a[b+1280>>0]=(I<1.1920928955078125e-07|J<1.1920928955078125e-07)&1;J=I+J>0.0?J/(I+J):.5;f[b+1272>>2]=J;f[b+1276>>2]=1.0-J;return}function Yc(b,d){b=b|0;d=d|0;var e=0,g=0,h=0.0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;q=Ta;Ta=Ta+32|0;dg(b+4|0,((z(c[b+152>>2]|0,c[b+16>>2]|0)|0)/100|0)+1|0);if(c[b+164>>2]|0){o=((z(c[b+148>>2]|0,c[b+76>>2]|0)|0)/100|0)+1|0;dg(b+64|0,o);o=(c[b+164>>2]|0)-o|0;c[b+164>>2]=(o|0)>0?o:0}e=((c[b+144>>2]|0)+1|0)%2|0;c[b+144>>2]=e;e=c[b+124+(e<<2)>>2]|0;if(e|0){do{j=e+56|0;l=e;e=c[j>>2]|0;i=c[l+52>>2]|0;if(!i)i=b+124+(c[l+60>>2]<<2)|0;else i=i+56|0;c[i>>2]=e;i=c[j>>2]|0;if(i|0)c[i+52>>2]=c[l+52>>2];c[l+52>>2]=0;c[j>>2]=c[b+132>>2];i=c[b+132>>2]|0;if(i|0)c[i+52>>2]=l;c[b+132>>2]=l;i=c[l+48>>2]|0;ch(b+4|0,i)|0;j=c[b+8>>2]|0;if(j|0){c[6880]=(c[6880]|0)+1;kd(c[j+-4>>2]|0)}c[b+8>>2]=i;c[b+16>>2]=(c[b+16>>2]|0)+-1;c[q>>2]=c[l+16>>2];c[q+4>>2]=c[l+16+4>>2];c[q+8>>2]=c[l+16+8>>2];c[q+12>>2]=c[l+16+12>>2];c[q+16>>2]=c[l+32>>2];c[q+16+4>>2]=c[l+32+4>>2];c[q+16+8>>2]=c[l+32+8>>2];c[q+16+12>>2]=c[l+32+12>>2];i=c[b+68>>2]|0;if(!i){c[6879]=(c[6879]|0)+1;i=Zb(63)|0;if(!i)i=0;else{c[(i+4+15&-16)+-4>>2]=i;i=i+4+15&-16}j=i;k=j+44|0;do{c[j>>2]=0;j=j+4|0}while((j|0)<(k|0))}else c[b+68>>2]=0;c[i+32>>2]=0;c[i+36>>2]=l;c[i+40>>2]=0;c[i>>2]=c[q>>2];c[i+4>>2]=c[q+4>>2];c[i+8>>2]=c[q+8>>2];c[i+12>>2]=c[q+12>>2];c[i+16>>2]=c[q+16>>2];c[i+20>>2]=c[q+20>>2];c[i+24>>2]=c[q+24>>2];c[i+28>>2]=c[q+28>>2];bf(b+64|0,c[b+64>>2]|0,i);j=(c[b+76>>2]|0)+1|0;c[b+76>>2]=j;c[l+48>>2]=i;c[l+60>>2]=2}while((e|0)!=0);c[b+164>>2]=j;a[b+194>>0]=1}c[q>>2]=10516;c[q+4>>2]=b;if(a[b+193>>0]|0?(ee(b+4|0,c[b+4>>2]|0,c[b+64>>2]|0,q),a[b+193>>0]|0):0){o=c[b+4>>2]|0;ee(b+4|0,o,o,q)}if(a[b+194>>0]|0?(m=c[b+136>>2]|0,m=eb[c[(c[m>>2]|0)+28>>2]&255](m)|0,g=c[m+4>>2]|0,(g|0)>0):0){e=(z(c[b+156>>2]|0,g)|0)/100|0;o=c[b+160>>2]|0;e=(o|0)>(e|0)?o:e;e=(g|0)<(e|0)?g:e;if((e|0)>0){i=0;do{k=((c[b+184>>2]|0)+i|0)%(g|0)|0;n=c[m+12>>2]|0;j=c[n+(k<<4)>>2]|0;k=c[n+(k<<4)+4>>2]|0;n=c[j+48>>2]|0;o=c[k+48>>2]|0;if(!(((((+f[n>>2]<=+f[o+16>>2]?+f[n+16>>2]>=+f[o>>2]:0)?+f[n+4>>2]<=+f[o+20>>2]:0)?+f[n+20>>2]>=+f[o+4>>2]:0)?+f[n+8>>2]<=+f[o+24>>2]:0)?+f[n+24>>2]>=+f[o+8>>2]:0)){g=c[b+136>>2]|0;jb[c[(c[g>>2]|0)+12>>2]&63](g,j,k,d)|0;g=c[m+4>>2]|0;i=i+-1|0;e=e+-1|0}i=i+1|0}while((i|0)<(e|0));if((g|0)>0)p=37;else e=0}else p=37;if((p|0)==37)e=((c[b+184>>2]|0)+e|0)%(g|0)|0;c[b+184>>2]=e}c[b+180>>2]=(c[b+180>>2]|0)+1;c[b+160>>2]=1;a[b+194>>0]=0;g=c[b+168>>2]|0;e=c[b+172>>2]|0;if(!g)h=0.0;else h=+(e>>>0)/+(g>>>0);f[b+176>>2]=h;c[b+172>>2]=1?e>>>1:e;c[b+168>>2]=1?g>>>1:g;o=c[b+136>>2]|0;if(!(eb[c[(c[o>>2]|0)+56>>2]&255](o)|0)){Ta=q;return}o=c[b+136>>2]|0;o=eb[c[(c[o>>2]|0)+28>>2]&255](o)|0;e=c[o+4>>2]|0;if((e|0)>1){ie(o,0,e+-1|0);e=c[o+4>>2]|0}if((e|0)>0){m=0;l=0;n=0;i=0;while(1){k=c[o+12>>2]|0;j=k+(m<<4)|0;r=n;n=c[j>>2]|0;k=k+(m<<4)+4|0;g=c[k>>2]|0;if(!((n|0)==(r|0)&(g|0)==(i|0))){i=c[n+48>>2]|0;r=c[g+48>>2]|0;if(((((+f[i>>2]<=+f[r+16>>2]?+f[i+16>>2]>=+f[r>>2]:0)?+f[i+4>>2]<=+f[r+20>>2]:0)?+f[i+20>>2]>=+f[r+4>>2]:0)?+f[i+8>>2]<=+f[r+24>>2]:0)?+f[i+24>>2]>=+f[r+8>>2]:0)i=l;else p=53}else{g=i;p=53}if((p|0)==53){p=0;e=c[b+136>>2]|0;zb[c[(c[e>>2]|0)+32>>2]&127](e,j,d);c[j>>2]=0;c[k>>2]=0;e=c[o+4>>2]|0;i=l+1|0}m=m+1|0;if((m|0)>=(e|0))break;else{l=i;i=g}}if((e|0)>1){ie(o,0,e+-1|0);e=c[o+4>>2]|0}k=e-i|0;if((i|0)<0){if((c[o+8>>2]|0)<(k|0)){if(!k){i=e;j=0}else{c[6879]=(c[6879]|0)+1;g=Zb((k<<4|3)+16|0)|0;if(!g)g=0;else{c[(g+4+15&-16)+-4>>2]=g;g=g+4+15&-16}i=c[o+4>>2]|0;j=g}if((i|0)>0){g=0;do{r=c[o+12>>2]|0;c[j+(g<<4)>>2]=c[r+(g<<4)>>2];c[j+(g<<4)+4>>2]=c[r+(g<<4)+4>>2];c[j+(g<<4)+8>>2]=c[r+(g<<4)+8>>2];c[j+(g<<4)+12>>2]=c[r+(g<<4)+12>>2];g=g+1|0}while((g|0)!=(i|0))}g=c[o+12>>2]|0;if(g|0){if(a[o+16>>0]|0){c[6880]=(c[6880]|0)+1;kd(c[g+-4>>2]|0)}c[o+12>>2]=0}a[o+16>>0]=1;c[o+12>>2]=j;c[o+8>>2]=k}do{r=(c[o+12>>2]|0)+(e<<4)|0;e=e+1|0;c[r>>2]=0;c[r+4>>2]=0;c[r+8>>2]=0;c[r+12>>2]=0}while((e|0)!=(k|0));e=k}else e=k}c[o+4>>2]=e;Ta=q;return}function Zc(b){b=b|0;var d=0,e=0.0,g=0.0,h=0.0,i=0.0,j=0.0,k=0.0,l=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,t=0.0,u=0.0,v=0,w=0,x=0.0,y=0;v=Ta;Ta=Ta+176|0;if(!(a[b+527>>0]|0)){Ta=v;return}f[b+36>>2]=0.0;f[b+520>>2]=0.0;f[b+516>>2]=0.0;c[b+576>>2]=0;c[b+576+4>>2]=0;c[b+576+8>>2]=0;c[b+576+12>>2]=0;if(!(a[b+524>>0]|0)){w=c[b+28>>2]|0;j=+f[b+348>>2];k=+f[b+352>>2];q=+f[b+356>>2];u=j*+f[w+20>>2]+k*+f[w+24>>2]+q*+f[w+28>>2]+ +f[w+56>>2];d=c[b+32>>2]|0;l=+f[b+412>>2];m=+f[b+416>>2];n=+f[b+420>>2];t=l*+f[d+20>>2]+m*+f[d+24>>2]+n*+f[d+28>>2]+ +f[d+56>>2];p=l*+f[d+36>>2]+m*+f[d+40>>2]+n*+f[d+44>>2]+ +f[d+60>>2];o=j*+f[w+4>>2]+k*+f[w+8>>2]+q*+f[w+12>>2]+ +f[w+52>>2];q=j*+f[w+36>>2]+k*+f[w+40>>2]+q*+f[w+44>>2]+ +f[w+60>>2];n=l*+f[d+4>>2]+m*+f[d+8>>2]+n*+f[d+12>>2]+ +f[d+52>>2];if((n-o)*(n-o)+(t-u)*(t-u)+(p-q)*(p-q)>1.1920928955078125e-07){i=1.0/+s(+((n-o)*(n-o)+(t-u)*(t-u)+(p-q)*(p-q)));f[v>>2]=(n-o)*i;f[v+4>>2]=(t-u)*i;f[v+8>>2]=(p-q)*i;c[v+12>>2]=0;h=(p-q)*i;e=(t-u)*i;i=(n-o)*i}else{c[v>>2]=1065353216;c[v+4>>2]=0;c[v+8>>2]=0;f[v+12>>2]=0.0;h=0.0;e=0.0;i=1.0}if(+r(+h)>.7071067690849304){x=h*h+e*e;m=1.0/+s(+x);l=-(h*m);e=e*m;g=e;j=i*l;k=0.0;m=x*m;e=-(i*e)}else{k=i*i+e*e;j=1.0/+s(+k);e=-(e*j);m=i*j;g=0.0;j=k*j;k=e;l=m;m=-(h*m);e=h*e}f[v+16>>2]=k;f[v+20>>2]=l;f[v+24>>2]=g;f[v+32>>2]=m;f[v+36>>2]=e;f[v+40>>2]=j;w=c[b+28>>2]|0;c[v+128>>2]=c[w+4>>2];c[v+128+4>>2]=c[w+20>>2];c[v+128+8>>2]=c[w+36>>2];f[v+128+12>>2]=0.0;c[v+128+16>>2]=c[w+8>>2];c[v+128+20>>2]=c[w+24>>2];c[v+128+24>>2]=c[w+40>>2];f[v+128+28>>2]=0.0;c[v+128+32>>2]=c[w+12>>2];c[v+128+36>>2]=c[w+28>>2];c[v+128+40>>2]=c[w+44>>2];f[v+128+44>>2]=0.0;d=c[b+32>>2]|0;c[v+80>>2]=c[d+4>>2];c[v+80+4>>2]=c[d+20>>2];c[v+80+8>>2]=c[d+36>>2];f[v+80+12>>2]=0.0;c[v+80+16>>2]=c[d+8>>2];c[v+80+20>>2]=c[d+24>>2];c[v+80+24>>2]=c[d+40>>2];f[v+80+28>>2]=0.0;c[v+80+32>>2]=c[d+12>>2];c[v+80+36>>2]=c[d+28>>2];c[v+80+40>>2]=c[d+44>>2];f[v+80+44>>2]=0.0;x=u-+f[w+56>>2];m=q-+f[w+60>>2];f[v+64>>2]=o-+f[w+52>>2];f[v+64+4>>2]=x;f[v+64+8>>2]=m;f[v+64+12>>2]=0.0;m=t-+f[d+56>>2];x=p-+f[d+60>>2];f[v+48>>2]=n-+f[d+52>>2];f[v+48+4>>2]=m;f[v+48+8>>2]=x;f[v+48+12>>2]=0.0;Tg(b+48|0,v+128|0,v+80|0,v+64|0,v+48|0,v,w+396|0,+f[w+344>>2],d+396|0,+f[d+344>>2]);d=c[b+28>>2]|0;c[v+128>>2]=c[d+4>>2];c[v+128+4>>2]=c[d+20>>2];c[v+128+8>>2]=c[d+36>>2];f[v+128+12>>2]=0.0;c[v+128+16>>2]=c[d+8>>2];c[v+128+20>>2]=c[d+24>>2];c[v+128+24>>2]=c[d+40>>2];f[v+128+28>>2]=0.0;c[v+128+32>>2]=c[d+12>>2];c[v+128+36>>2]=c[d+28>>2];c[v+128+40>>2]=c[d+44>>2];f[v+128+44>>2]=0.0;w=c[b+32>>2]|0;c[v+80>>2]=c[w+4>>2];c[v+80+4>>2]=c[w+20>>2];c[v+80+8>>2]=c[w+36>>2];f[v+80+12>>2]=0.0;c[v+80+16>>2]=c[w+8>>2];c[v+80+20>>2]=c[w+24>>2];c[v+80+24>>2]=c[w+40>>2];f[v+80+28>>2]=0.0;c[v+80+32>>2]=c[w+12>>2];c[v+80+36>>2]=c[w+28>>2];c[v+80+40>>2]=c[w+44>>2];f[v+80+44>>2]=0.0;x=u-+f[d+56>>2];m=q-+f[d+60>>2];f[v+64>>2]=o-+f[d+52>>2];f[v+64+4>>2]=x;f[v+64+8>>2]=m;f[v+64+12>>2]=0.0;m=t-+f[w+56>>2];x=p-+f[w+60>>2];f[v+48>>2]=n-+f[w+52>>2];f[v+48+4>>2]=m;f[v+48+8>>2]=x;f[v+48+12>>2]=0.0;Tg(b+132|0,v+128|0,v+80|0,v+64|0,v+48|0,v+16|0,d+396|0,+f[d+344>>2],w+396|0,+f[w+344>>2]);w=c[b+28>>2]|0;c[v+128>>2]=c[w+4>>2];c[v+128+4>>2]=c[w+20>>2];c[v+128+8>>2]=c[w+36>>2];f[v+128+12>>2]=0.0;c[v+128+16>>2]=c[w+8>>2];c[v+128+20>>2]=c[w+24>>2];c[v+128+24>>2]=c[w+40>>2];f[v+128+28>>2]=0.0;c[v+128+32>>2]=c[w+12>>2];c[v+128+36>>2]=c[w+28>>2];c[v+128+40>>2]=c[w+44>>2];f[v+128+44>>2]=0.0;d=c[b+32>>2]|0;c[v+80>>2]=c[d+4>>2];c[v+80+4>>2]=c[d+20>>2];c[v+80+8>>2]=c[d+36>>2];f[v+80+12>>2]=0.0;c[v+80+16>>2]=c[d+8>>2];c[v+80+20>>2]=c[d+24>>2];c[v+80+24>>2]=c[d+40>>2];f[v+80+28>>2]=0.0;c[v+80+32>>2]=c[d+12>>2];c[v+80+36>>2]=c[d+28>>2];c[v+80+40>>2]=c[d+44>>2];f[v+80+44>>2]=0.0;x=u-+f[w+56>>2];u=q-+f[w+60>>2];f[v+64>>2]=o-+f[w+52>>2];f[v+64+4>>2]=x;f[v+64+8>>2]=u;f[v+64+12>>2]=0.0;u=t-+f[d+56>>2];x=p-+f[d+60>>2];f[v+48>>2]=n-+f[d+52>>2];f[v+48+4>>2]=u;f[v+48+8>>2]=x;f[v+48+12>>2]=0.0;Tg(b+216|0,v+128|0,v+80|0,v+64|0,v+48|0,v+32|0,w+396|0,+f[w+344>>2],d+396|0,+f[d+344>>2]);d=b+32|0}else d=b+32|0;y=c[b+28>>2]|0;w=c[d>>2]|0;dc(b,y+4|0,w+4|0,y+264|0,w+264|0);Ta=v;return}function _c(a,d,g,h,i,j,k,l,m){a=a|0;d=d|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;var n=0,o=0,p=0,q=0,r=0.0,s=0,t=0.0,u=0.0,v=0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0,C=0,D=0,E=0,F=0,G=0;w=+f[a+8>>2];y=+f[a+12>>2];A=+f[a+16>>2];x=+f[a+40>>2];r=(+f[d>>2]-w)*x;z=+f[a+44>>2];t=(+f[d+4>>2]-y)*z;B=+f[a+48>>2];u=(+f[d+8>>2]-A)*B;if(!(r<=0.0)){v=b[a+6>>1]|0;v=b[a+4>>1]&(!(r>=+(v&65535))?~~r&65535:v)}else v=0;if(!(t<=0.0)){s=b[a+6>>1]|0;s=b[a+4>>1]&(!(t>=+(s&65535))?~~t&65535:s)}else s=0;if(!(u<=0.0)){q=b[a+6>>1]|0;q=b[a+4>>1]&(!(u>=+(q&65535))?~~u&65535:q)}else q=0;u=(+f[g>>2]-w)*x;t=(+f[g+4>>2]-y)*z;r=(+f[g+8>>2]-A)*B;if(!(u<=0.0)){p=b[a+6>>1]|0;p=b[a+4>>1]&(!(u>=+(p&65535))?~~u&65535:p)|1}else p=1;if(!(t<=0.0)){o=b[a+6>>1]|0;o=b[a+4>>1]&(!(t>=+(o&65535))?~~t&65535:o)|1}else o=1;if(!(r<=0.0)){n=b[a+6>>1]|0;n=b[a+4>>1]&(!(r>=+(n&65535))?~~r&65535:n)|1}else n=1;D=b[a+64>>1]|0;C=c[a+60>>2]|0;b[a+64>>1]=b[C+((D&65535)<<6)+48>>1]|0;E=(b[a+56>>1]|0)+1<<16>>16;b[a+56>>1]=E;c[C+((D&65535)<<6)+12>>2]=D&65535;c[C+((D&65535)<<6)>>2]=i;b[C+((D&65535)<<6)+4>>1]=j;b[C+((D&65535)<<6)+6>>1]=k;c[C+((D&65535)<<6)+8>>2]=m;m=(E&65535)<<1&65534;b[C+54>>1]=(e[C+54>>1]|0)+2;F=c[a+68>>2]|0;G=e[F+(m+-1<<2)>>1]|e[F+(m+-1<<2)+2>>1]<<16;b[F+((m|1)<<2)>>1]=G;b[F+((m|1)<<2)+2>>1]=G>>>16;F=c[a+68>>2]|0;b[F+(m+-1<<2)>>1]=v;b[F+(m+-1<<2)+2>>1]=D;b[F+(m<<2)>>1]=p;b[F+(m<<2)+2>>1]=D;b[C+((D&65535)<<6)+48>>1]=m+-1;b[C+((D&65535)<<6)+54>>1]=(E&65535)<<1;p=(c[a+60>>2]|0)+56|0;b[p>>1]=(e[p>>1]|0)+2;p=c[a+72>>2]|0;v=e[p+(m+-1<<2)>>1]|e[p+(m+-1<<2)+2>>1]<<16;b[p+((m|1)<<2)>>1]=v;b[p+((m|1)<<2)+2>>1]=v>>>16;p=c[a+72>>2]|0;b[p+(m+-1<<2)>>1]=s;b[p+(m+-1<<2)+2>>1]=D;b[p+(m<<2)>>1]=o;b[p+(m<<2)+2>>1]=D;b[C+((D&65535)<<6)+50>>1]=m+-1;b[C+((D&65535)<<6)+56>>1]=(E&65535)<<1;p=(c[a+60>>2]|0)+58|0;b[p>>1]=(e[p>>1]|0)+2;p=c[a+76>>2]|0;s=e[p+(m+-1<<2)>>1]|e[p+(m+-1<<2)+2>>1]<<16;b[p+((m|1)<<2)>>1]=s;b[p+((m|1)<<2)+2>>1]=s>>>16;p=c[a+76>>2]|0;b[p+(m+-1<<2)>>1]=q;b[p+(m+-1<<2)+2>>1]=D;b[p+(m<<2)>>1]=n;b[p+(m<<2)+2>>1]=D;b[C+((D&65535)<<6)+52>>1]=m+-1;b[C+((D&65535)<<6)+58>>1]=(E&65535)<<1;p=c[a+68>>2]|0;s=e[C+((D&65535)<<6)+48>>1]|0;o=c[a+60>>2]|0;n=b[p+(s<<2)+-4>>1]|0;if((e[p+(s<<2)>>1]|0)<(n&65535)){v=o+((e[p+(s<<2)+2>>1]|0)<<6)+48|0;q=p+(s<<2)|0;p=p+(s<<2)+-4|0;while(1){G=e[q+-2>>1]|0;n=(n&1)==0?o+(G<<6)+48|0:o+(G<<6)+54|0;b[n>>1]=(b[n>>1]|0)+1<<16>>16;b[v>>1]=(b[v>>1]|0)+-1<<16>>16;n=e[q>>1]|e[q+2>>1]<<16;G=e[p>>1]|e[p+2>>1]<<16;b[q>>1]=G;b[q+2>>1]=G>>>16;b[p>>1]=n;b[p+2>>1]=n>>>16;q=q+-4|0;p=p+-4|0;n=b[p>>1]|0;if((e[q>>1]|0)>=(n&65535))break;o=c[a+60>>2]|0}n=c[a+68>>2]|0}else n=p;o=e[C+((D&65535)<<6)+54>>1]|0;s=n+(o<<2)|0;p=b[s+-4>>1]|0;a:do if((e[s>>1]|0)<(p&65535)){q=c[a+60>>2]|0;v=q+((e[n+(o<<2)+2>>1]|0)<<6)+54|0;n=p;p=s;o=s+-4|0;while(1){G=e[p+-2>>1]|0;n=(n&1)==0?q+(G<<6)+48|0:q+(G<<6)+54|0;b[n>>1]=(b[n>>1]|0)+1<<16>>16;b[v>>1]=(b[v>>1]|0)+-1<<16>>16;n=e[p>>1]|e[p+2>>1]<<16;G=e[o>>1]|e[o+2>>1]<<16;b[p>>1]=G;b[p+2>>1]=G>>>16;b[o>>1]=n;b[o+2>>1]=n>>>16;p=p+-4|0;o=o+-4|0;n=b[o>>1]|0;if((e[p>>1]|0)>=(n&65535))break a;q=c[a+60>>2]|0}}while(0);o=c[a+72>>2]|0;s=e[C+((D&65535)<<6)+50>>1]|0;p=c[a+60>>2]|0;n=b[o+(s<<2)+-4>>1]|0;if((e[o+(s<<2)>>1]|0)<(n&65535)){v=p+((e[o+(s<<2)+2>>1]|0)<<6)+50|0;q=o+(s<<2)|0;o=o+(s<<2)+-4|0;while(1){G=e[q+-2>>1]|0;n=(n&1)==0?p+(G<<6)+50|0:p+(G<<6)+56|0;b[n>>1]=(b[n>>1]|0)+1<<16>>16;b[v>>1]=(b[v>>1]|0)+-1<<16>>16;n=e[q>>1]|e[q+2>>1]<<16;G=e[o>>1]|e[o+2>>1]<<16;b[q>>1]=G;b[q+2>>1]=G>>>16;b[o>>1]=n;b[o+2>>1]=n>>>16;q=q+-4|0;o=o+-4|0;n=b[o>>1]|0;if((e[q>>1]|0)>=(n&65535))break;p=c[a+60>>2]|0}o=c[a+72>>2]|0}p=e[C+((D&65535)<<6)+56>>1]|0;s=o+(p<<2)|0;n=b[s+-4>>1]|0;b:do if((e[s>>1]|0)<(n&65535)){q=c[a+60>>2]|0;v=q+((e[o+(p<<2)+2>>1]|0)<<6)+56|0;p=s;o=s+-4|0;while(1){G=e[p+-2>>1]|0;n=(n&1)==0?q+(G<<6)+50|0:q+(G<<6)+56|0;b[n>>1]=(b[n>>1]|0)+1<<16>>16;b[v>>1]=(b[v>>1]|0)+-1<<16>>16;n=e[p>>1]|e[p+2>>1]<<16;G=e[o>>1]|e[o+2>>1]<<16;b[p>>1]=G;b[p+2>>1]=G>>>16;b[o>>1]=n;b[o+2>>1]=n>>>16;p=p+-4|0;o=o+-4|0;n=b[o>>1]|0;if((e[p>>1]|0)>=(n&65535))break b;q=c[a+60>>2]|0}}while(0);yh(a,2,b[C+((D&65535)<<6)+52>>1]|0);sh(a,2,b[C+((D&65535)<<6)+58>>1]|0,l);o=c[a+60>>2]|0;n=c[a+108>>2]|0;if(!n){G=o+((D&65535)<<6)|0;return G|0}c[o+((D&65535)<<6)+60>>2]=mb[c[(c[n>>2]|0)+8>>2]&31](n,d,g,h,i,j,k,l,0)|0;G=o+((D&65535)<<6)|0;return G|0}function $c(b,d){b=b|0;d=d|0;var e=0.0,g=0,h=0,i=0,j=0,k=0,l=0.0,m=0.0,n=0.0,o=0.0,p=0,q=0,r=0,s=0,t=0.0,u=0.0,v=0.0,w=0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0,C=0.0,D=0.0,E=0.0;h=c[b+28>>2]|0;k=c[b+32>>2]|0;dc(b,h+4|0,k+4|0,h+264|0,k+264|0);q=c[d+8>>2]|0;f[q>>2]=1.0;p=c[d+24>>2]|0;f[q+(p+1<<2)>>2]=1.0;f[q+((p<<1)+2<<2)>>2]=1.0;o=+f[b+348>>2];v=+f[b+352>>2];l=+f[b+356>>2];t=+f[h+4>>2]*o+ +f[h+8>>2]*v+ +f[h+12>>2]*l;n=o*+f[h+20>>2]+v*+f[h+24>>2]+l*+f[h+28>>2];l=o*+f[h+36>>2]+v*+f[h+40>>2]+l*+f[h+44>>2];q=c[d+12>>2]|0;c[q>>2]=0;f[q+4>>2]=l;f[q+8>>2]=-n;f[q+12>>2]=0.0;f[q+(p<<2)>>2]=-l;c[q+(p<<2)+4>>2]=0;f[q+(p<<2)+8>>2]=t;f[q+(p<<2)+12>>2]=0.0;f[q+(p<<1<<2)>>2]=n;f[q+(p<<1<<2)+4>>2]=-t;c[q+(p<<1<<2)+8>>2]=0;f[q+(p<<1<<2)+12>>2]=0.0;r=c[d+16>>2]|0;f[r>>2]=-1.0;f[r+(p+1<<2)>>2]=-1.0;f[r+((p<<1)+2<<2)>>2]=-1.0;v=+f[b+412>>2];o=+f[b+416>>2];e=+f[b+420>>2];u=+f[k+4>>2]*v+ +f[k+8>>2]*o+ +f[k+12>>2]*e;m=v*+f[k+20>>2]+o*+f[k+24>>2]+e*+f[k+28>>2];e=v*+f[k+36>>2]+o*+f[k+40>>2]+e*+f[k+44>>2];r=c[d+20>>2]|0;c[r>>2]=0;f[r+4>>2]=-e;f[r+8>>2]=m;f[r+12>>2]=0.0;f[r+(p<<2)>>2]=e;c[r+(p<<2)+4>>2]=0;f[r+(p<<2)+8>>2]=-u;f[r+(p<<2)+12>>2]=0.0;f[r+(p<<1<<2)>>2]=-m;f[r+(p<<1<<2)+4>>2]=u;c[r+(p<<1<<2)+8>>2]=0;f[r+(p<<1<<2)+12>>2]=0.0;s=c[b+592>>2]|0;o=+f[((s&2|0)==0?d+4|0:b+600|0)>>2]*+f[d>>2];i=c[d+28>>2]|0;g=c[d+36>>2]|0;j=c[d+40>>2]|0;f[i>>2]=o*(u+ +f[k+52>>2]-t-+f[h+52>>2]);f[g>>2]=-3402823466385288598117041.0e14;f[j>>2]=3402823466385288598117041.0e14;if(!(s&1)){f[i+(p<<2)>>2]=o*(m+ +f[k+56>>2]-n-+f[h+56>>2]);f[g+(p<<2)>>2]=-3402823466385288598117041.0e14;f[j+(p<<2)>>2]=3402823466385288598117041.0e14;f[i+(p<<1<<2)>>2]=o*(e+ +f[k+60>>2]-l-+f[h+60>>2]);f[g+(p<<1<<2)>>2]=-3402823466385288598117041.0e14;f[j+(p<<1<<2)>>2]=3402823466385288598117041.0e14}else{w=c[d+32>>2]|0;c[w>>2]=c[b+596>>2];f[i+(p<<2)>>2]=o*(m+ +f[k+56>>2]-n-+f[h+56>>2]);f[g+(p<<2)>>2]=-3402823466385288598117041.0e14;f[j+(p<<2)>>2]=3402823466385288598117041.0e14;c[w+(p<<2)>>2]=c[b+596>>2];f[i+(p<<1<<2)>>2]=o*(e+ +f[k+60>>2]-l-+f[h+60>>2]);f[g+(p<<1<<2)>>2]=-3402823466385288598117041.0e14;f[j+(p<<1<<2)>>2]=3402823466385288598117041.0e14;c[w+(p<<1<<2)>>2]=c[b+596>>2]}do if(!(a[b+526>>0]|0))h=p*3|0;else{v=+f[b+456>>2];if(+f[b+444>>2]>2]>2];z=+f[h+8>>2];y=+f[h+12>>2];E=+f[b+304>>2];D=+f[b+320>>2];C=+f[b+336>>2];m=+f[b+308>>2];o=+f[b+324>>2];u=+f[b+340>>2];x=+f[h+20>>2];e=+f[h+24>>2];l=+f[h+28>>2];n=+f[h+36>>2];t=+f[h+40>>2];v=+f[h+44>>2];f[q+(p*3<<2)>>2]=A*E+z*D+y*C;f[q+((p*3|0)+1<<2)>>2]=E*x+D*e+C*l;f[q+((p*3|0)+2<<2)>>2]=E*n+D*t+C*v;f[q+(p<<2<<2)>>2]=A*m+z*o+y*u;f[q+((p<<2|1)<<2)>>2]=m*x+o*e+u*l;f[q+((p<<2|2)<<2)>>2]=m*n+o*t+u*v;f[r+(p*3<<2)>>2]=-(A*E+z*D+y*C);f[r+((p*3|0)+1<<2)>>2]=-(E*x+D*e+C*l);f[r+((p*3|0)+2<<2)>>2]=-(E*n+D*t+C*v);f[r+(p<<2<<2)>>2]=-(A*m+z*o+y*u);f[r+((p<<2|1)<<2)>>2]=-(m*x+o*e+u*l);f[r+((p<<2|2)<<2)>>2]=-(m*n+o*t+u*v);B=+f[d>>2]*+f[b+436>>2];i=c[d+28>>2]|0;f[i+(p*3<<2)>>2]=B*((A*E+z*D+y*C)*+f[b+460>>2]+(E*x+D*e+C*l)*+f[b+464>>2]+(E*n+D*t+C*v)*+f[b+468>>2]);f[i+(p<<2<<2)>>2]=B*((A*m+z*o+y*u)*+f[b+460>>2]+(m*x+o*e+u*l)*+f[b+464>>2]+(m*n+o*t+u*v)*+f[b+468>>2]);g=c[d+36>>2]|0;f[g+(p*3<<2)>>2]=-3402823466385288598117041.0e14;j=c[d+40>>2]|0;f[j+(p*3<<2)>>2]=3402823466385288598117041.0e14;f[g+(p<<2<<2)>>2]=-3402823466385288598117041.0e14;f[j+(p<<2<<2)>>2]=3402823466385288598117041.0e14;h=p*5|0;break}E=+f[b+436>>2];C=E*(+f[b+460>>2]*E);D=E*(E*+f[b+464>>2]);E=E*(E*+f[b+468>>2]);f[q+(p*3<<2)>>2]=C;f[q+((p*3|0)+1<<2)>>2]=D;f[q+((p*3|0)+2<<2)>>2]=E;f[r+(p*3<<2)>>2]=-C;f[r+((p*3|0)+1<<2)>>2]=-D;f[r+((p*3|0)+2<<2)>>2]=-E;f[i+(p*3<<2)>>2]=+f[d>>2]*+f[b+432>>2]*+f[b+504>>2];if(s&4|0)c[(c[d+32>>2]|0)+(p*3<<2)>>2]=c[b+604>>2];f[g+(p*3<<2)>>2]=0.0;f[j+(p*3<<2)>>2]=3402823466385288598117041.0e14;h=p<<2}while(0);if(!(a[b+525>>0]|0))return;E=+f[b+436>>2];C=E*(+f[b+476>>2]*E);D=E*(E*+f[b+480>>2]);E=E*(E*+f[b+484>>2]);f[q+(h<<2)>>2]=C;p=h+1|0;f[q+(p<<2)>>2]=D;w=h+2|0;f[q+(w<<2)>>2]=E;f[r+(h<<2)>>2]=-C;f[r+(p<<2)>>2]=-D;f[r+(w<<2)>>2]=-E;f[i+(h<<2)>>2]=+f[d>>2]*+f[b+432>>2]*+f[b+508>>2];if(s&4|0)c[(c[d+32>>2]|0)+(h<<2)>>2]=c[b+604>>2];do if(+f[b+452>>2]>0.0){g=g+(h<<2)|0;if(+f[b+508>>2]>0.0){f[g>>2]=0.0;e=3402823466385288598117041.0e14;break}else{f[g>>2]=-3402823466385288598117041.0e14;e=0.0;break}}else{f[g+(h<<2)>>2]=-3402823466385288598117041.0e14;e=3402823466385288598117041.0e14}while(0);f[j+(h<<2)>>2]=e;return}function ad(b,d,e,g,h,i,j,k,l,m){b=b|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;var n=0,o=0,p=0,q=0,r=0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,A=0,B=0,C=0.0,D=0,E=0;if((j|0)<2|(k|0)<2){k=0;return k|0}p=z(k,j)|0;c[6879]=(c[6879]|0)+1;b=Zb(p>>>0>268435455?18:(p<<4|3)+16|0)|0;if(!b)r=0;else{c[(b+4+15&-16)+-4>>2]=b;r=b+4+15&-16}q=w$(p>>>0>1073741823?-1:p<<2)|0;n=0;do{C=+(n|0)/+(k+-1|0);t=+f[e>>2];t=t+C*(+f[h>>2]-t);u=+f[e+4>>2];u=u+C*(+f[h+4>>2]-u);v=+f[e+8>>2];v=v+C*(+f[h+8>>2]-v);w=+f[g>>2];x=+f[g+4>>2];y=+f[g+8>>2];w=w+C*(+f[i>>2]-w)-t;x=x+C*(+f[i+4>>2]-x)-u;y=y+C*(+f[i+8>>2]-y)-v;o=z(n,j)|0;b=0;do{C=+(b|0)/+(j+-1|0);B=b+o|0;f[r+(B<<4)>>2]=t+w*C;f[r+(B<<4)+4>>2]=u+x*C;f[r+(B<<4)+8>>2]=v+y*C;f[r+(B<<4)+12>>2]=0.0;f[q+(B<<2)>>2]=1.0;b=b+1|0}while((b|0)!=(j|0));n=n+1|0}while((n|0)!=(k|0));c[6879]=(c[6879]|0)+1;b=Zb(1271)|0;if(!b)b=0;else{c[(b+4+15&-16)+-4>>2]=b;b=b+4+15&-16}jc(b,d,p,r,q);if(l&1|0){f[(c[b+720>>2]|0)+88>>2]=0.0;a[b+924>>0]=1}if(l&2|0){f[(c[b+720>>2]|0)+((j+-1|0)*104|0)+88>>2]=0.0;a[b+924>>0]=1}if(l&4|0){B=z(k+-1|0,j)|0;f[(c[b+720>>2]|0)+(B*104|0)+88>>2]=0.0;a[b+924>>0]=1}if(!(l&8)){A=b+924|0;B=b+720|0}else{A=j+-1+(z(k+-1|0,j)|0)|0;B=b+720|0;f[(c[B>>2]|0)+(A*104|0)+88>>2]=0.0;A=b+924|0;a[A>>0]=1}c[6880]=(c[6880]|0)+1;kd(c[r+-4>>2]|0);x$(q);d=b+732|0;r=b+740|0;p=0;while(1){a:do if((j|0)>0){l=z(p,j)|0;n=p+1|0;q=z(n,j)|0;if((n|0)>=(k|0)){o=0;while(1){e=o;o=o+1|0;if((o|0)<(j|0)){i=o+l|0;g=c[B>>2]|0;fi(b,0);q=(c[d>>2]|0)+-1|0;p=c[r>>2]|0;c[p+(q*52|0)+8>>2]=g+((e+l|0)*104|0);c[p+(q*52|0)+12>>2]=g+(i*104|0);x=+f[g+((e+l|0)*104|0)+8>>2]-+f[g+(i*104|0)+8>>2];y=+f[g+((e+l|0)*104|0)+12>>2]-+f[g+(i*104|0)+12>>2];C=+f[g+((e+l|0)*104|0)+16>>2]-+f[g+(i*104|0)+16>>2];f[p+(q*52|0)+16>>2]=+s(+(x*x+y*y+C*C));a[A>>0]=1}if((o|0)==(j|0))break a}}g=0;do{o=g+l|0;i=g;g=g+1|0;do if((g|0)<(j|0)){e=g+l|0;D=c[B>>2]|0;fi(b,0);E=(c[d>>2]|0)+-1|0;h=c[r>>2]|0;c[h+(E*52|0)+8>>2]=D+(o*104|0);c[h+(E*52|0)+12>>2]=D+(e*104|0);C=+f[D+(o*104|0)+8>>2]-+f[D+(e*104|0)+8>>2];y=+f[D+(o*104|0)+12>>2]-+f[D+(e*104|0)+12>>2];x=+f[D+(o*104|0)+16>>2]-+f[D+(e*104|0)+16>>2];f[h+(E*52|0)+16>>2]=+s(+(C*C+y*y+x*x));a[A>>0]=1;E=c[B>>2]|0;fi(b,0);h=(c[d>>2]|0)+-1|0;D=c[r>>2]|0;c[D+(h*52|0)+8>>2]=E+(o*104|0);c[D+(h*52|0)+12>>2]=E+((i+q|0)*104|0);x=+f[E+(o*104|0)+8>>2]-+f[E+((i+q|0)*104|0)+8>>2];y=+f[E+(o*104|0)+12>>2]-+f[E+((i+q|0)*104|0)+12>>2];C=+f[E+(o*104|0)+16>>2]-+f[E+((i+q|0)*104|0)+16>>2];f[D+(h*52|0)+16>>2]=+s(+(x*x+y*y+C*C));a[A>>0]=1;if(!(i+p&1)){Vf(b,i+q|0,o,e,0);Vf(b,i+q|0,e,g+q|0,0);if(!m)break;h=c[B>>2]|0;fi(b,0);E=(c[d>>2]|0)+-1|0;D=c[r>>2]|0;c[D+(E*52|0)+8>>2]=h+(e*104|0);c[D+(E*52|0)+12>>2]=h+((i+q|0)*104|0);x=+f[h+(e*104|0)+8>>2]-+f[h+((i+q|0)*104|0)+8>>2];y=+f[h+(e*104|0)+12>>2]-+f[h+((i+q|0)*104|0)+12>>2];C=+f[h+(e*104|0)+16>>2]-+f[h+((i+q|0)*104|0)+16>>2];f[D+(E*52|0)+16>>2]=+s(+(x*x+y*y+C*C));a[A>>0]=1;break}else{h=g+q|0;Vf(b,o,e,h,0);Vf(b,o,h,i+q|0,0);if(!m)break;i=c[B>>2]|0;fi(b,0);E=(c[d>>2]|0)+-1|0;D=c[r>>2]|0;c[D+(E*52|0)+8>>2]=i+(o*104|0);c[D+(E*52|0)+12>>2]=i+(h*104|0);x=+f[i+(o*104|0)+8>>2]-+f[i+(h*104|0)+8>>2];y=+f[i+(o*104|0)+12>>2]-+f[i+(h*104|0)+12>>2];C=+f[i+(o*104|0)+16>>2]-+f[i+(h*104|0)+16>>2];f[D+(E*52|0)+16>>2]=+s(+(x*x+y*y+C*C));a[A>>0]=1;break}}else{h=c[B>>2]|0;fi(b,0);E=(c[d>>2]|0)+-1|0;D=c[r>>2]|0;c[D+(E*52|0)+8>>2]=h+(o*104|0);c[D+(E*52|0)+12>>2]=h+((i+q|0)*104|0);x=+f[h+(o*104|0)+8>>2]-+f[h+((i+q|0)*104|0)+8>>2];y=+f[h+(o*104|0)+12>>2]-+f[h+((i+q|0)*104|0)+12>>2];C=+f[h+(o*104|0)+16>>2]-+f[h+((i+q|0)*104|0)+16>>2];f[D+(E*52|0)+16>>2]=+s(+(x*x+y*y+C*C));a[A>>0]=1}while(0)}while((g|0)!=(j|0))}else n=p+1|0;while(0);if((n|0)==(k|0))break;else p=n}return b|0}function bd(a,b,d,e,g,h){a=a|0;b=b|0;d=d|0;e=e|0;g=g|0;h=+h;var i=0.0,j=0.0,k=0,l=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0,s=0,t=0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,A=0,B=0.0,C=0.0,D=0.0,E=0.0,F=0.0,G=0;A=Ta;Ta=Ta+272|0;c[A+128>>2]=c[d>>2];c[A+128+4>>2]=c[d+4>>2];c[A+128+8>>2]=c[d+8>>2];c[A+128+12>>2]=c[d+12>>2];c[A+128+16>>2]=c[d+16>>2];c[A+128+16+4>>2]=c[d+16+4>>2];c[A+128+16+8>>2]=c[d+16+8>>2];c[A+128+16+12>>2]=c[d+16+12>>2];c[A+128+32>>2]=c[d+32>>2];c[A+128+32+4>>2]=c[d+32+4>>2];c[A+128+32+8>>2]=c[d+32+8>>2];c[A+128+32+12>>2]=c[d+32+12>>2];c[A+128+48>>2]=c[d+48>>2];c[A+128+48+4>>2]=c[d+48+4>>2];c[A+128+48+8>>2]=c[d+48+8>>2];c[A+128+48+12>>2]=c[d+48+12>>2];c[A+64>>2]=c[e>>2];c[A+64+4>>2]=c[e+4>>2];c[A+64+8>>2]=c[e+8>>2];c[A+64+12>>2]=c[e+12>>2];c[A+64+16>>2]=c[e+16>>2];c[A+64+16+4>>2]=c[e+16+4>>2];c[A+64+16+8>>2]=c[e+16+8>>2];c[A+64+16+12>>2]=c[e+16+12>>2];c[A+64+32>>2]=c[e+32>>2];c[A+64+32+4>>2]=c[e+32+4>>2];c[A+64+32+8>>2]=c[e+32+8>>2];c[A+64+32+12>>2]=c[e+32+12>>2];c[A+64+48>>2]=c[e+48>>2];c[A+64+48+4>>2]=c[e+48+4>>2];c[A+64+48+8>>2]=c[e+48+8>>2];c[A+64+48+12>>2]=c[e+48+12>>2];i=+f[A+64+52>>2]-+f[A+128+52>>2];F=+f[A+64+56>>2]-+f[A+128+56>>2];f[A+16>>2]=+f[A+64+48>>2]-+f[A+128+48>>2];f[A+16+4>>2]=i;f[A+16+8>>2]=F;f[A+16+12>>2]=0.0;xf(A+128|0,A+64|0,A+208|0,A+192|0);F=+f[A+192>>2];i=F*+f[A+208+4>>2];C=F*+f[A+208+8>>2];f[A>>2]=+f[A+208>>2]*F;f[A+4>>2]=i;f[A+8>>2]=C;f[A+12>>2]=0.0;c[A+208+48>>2]=0;c[A+208+48+4>>2]=0;c[A+208+48+8>>2]=0;c[A+208+48+12>>2]=0;zh(A+128|0,A+192|0);C=+f[A+192>>2];i=+f[A+192+4>>2];F=+f[A+192+8>>2];D=+f[A+192+12>>2];B=C*(2.0/(C*C+i*i+F*F+D*D));j=i*(2.0/(C*C+i*i+F*F+D*D));E=F*(2.0/(C*C+i*i+F*F+D*D));f[A+208>>2]=1.0-(i*j+F*E);f[A+208+4>>2]=C*j-D*E;f[A+208+8>>2]=C*E+D*j;f[A+208+12>>2]=0.0;f[A+208+16>>2]=C*j+D*E;f[A+208+20>>2]=1.0-(C*B+F*E);f[A+208+24>>2]=i*E-D*B;f[A+208+28>>2]=0.0;f[A+208+32>>2]=C*E-D*j;f[A+208+36>>2]=i*E+D*B;f[A+208+40>>2]=1.0-(C*B+i*j);f[A+208+44>>2]=0.0;lh(b,A+208|0,A+16|0,A,A+48|0,A+32|0);if((c[a+268>>2]|0)<=0){Ta=A;return}r=0;do{k=c[(c[a+276>>2]|0)+(r<<2)>>2]|0;if(gb[c[(c[g>>2]|0)+8>>2]&63](g,c[k+188>>2]|0)|0?(t=c[k+192>>2]|0,Cb[c[(c[t>>2]|0)+8>>2]&127](t,k+4|0,A+192|0,A+16|0),l=+f[A+192>>2]+ +f[A+48>>2],p=+f[A+192+4>>2]+ +f[A+48+4>>2],n=+f[A+192+8>>2]+ +f[A+48+8>>2],f[A+192>>2]=l,f[A+192+4>>2]=p,f[A+192+8>>2]=n,f[A+192+12>>2]=0.0,m=+f[A+16>>2]+ +f[A+32>>2],q=+f[A+16+4>>2]+ +f[A+32+4>>2],o=+f[A+16+8>>2]+ +f[A+32+8>>2],f[A+16>>2]=m,f[A+16+4>>2]=q,f[A+16+8>>2]=o,f[A+16+12>>2]=0.0,v=+f[d+48>>2]-(m+l)*.5,y=+f[d+52>>2]-(q+p)*.5,w=+f[d+56>>2]-(o+n)*.5,u=+f[e+48>>2]-(m+l)*.5,z=+f[e+52>>2]-(q+p)*.5,x=+f[e+56>>2]-(o+n)*.5,t=(v>(m-l)*.5?8:0)|v<-((m-l)*.5)|(y<-((q-p)*.5)?2:0)|(y>(q-p)*.5?16:0)|(w<-((o-n)*.5)?4:0)|(w>(o-n)*.5?32:0),s=(u>(m-l)*.5?8:0)|u<-((m-l)*.5)|(z<-((q-p)*.5)?2:0)|(z>(q-p)*.5?16:0)|(x<-((o-n)*.5)?4:0)|(x>(o-n)*.5?32:0),(s&t|0)==0):0){if(v<-((m-l)*.5))if(!((-v-(m-l)*.5)/(u-v)>=0.0)){i=1.0;j=0.0}else{i=1.0;j=(-v-(m-l)*.5)/(u-v)}else if(u<-((m-l)*.5)?(-v-(m-l)*.5)/(u-v)<1.0:0){i=(-v-(m-l)*.5)/(u-v);j=0.0}else{i=1.0;j=0.0}if(y<-((q-p)*.5)){if(j<=(-y-(q-p)*.5)/(z-y))j=(-y-(q-p)*.5)/(z-y)}else if(z<-((q-p)*.5)?(-y-(q-p)*.5)/(z-y)(m-l)*.5){if(j<=((m-l)*.5-v)/(u-v))j=((m-l)*.5-v)/(u-v)}else if(u>(m-l)*.5?((m-l)*.5-v)/(u-v)(q-p)*.5){if(j<=((q-p)*.5-y)/(z-y))j=((q-p)*.5-y)/(z-y)}else if(z>(q-p)*.5?((q-p)*.5-y)/(z-y)>2]|0;c[A+208>>2]=0;c[A+208+4>>2]=G;c[A+208+8>>2]=k;c[A+208+12>>2]=k+4;c[A+208+16>>2]=-1;c[A+208+20>>2]=-1;gc(b,A+128|0,A+64|0,A+208|0,g,h)}}r=r+1|0}while((r|0)<(c[a+268>>2]|0));Ta=A;return}function cd(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0;d=c[a+8>>2]|0;if((d|0)<=0)return;f=0;do{e=c[(c[a+16>>2]|0)+(f<<2)>>2]|0;if((c[e+236>>2]|0)==1){vb[c[(c[e>>2]|0)+24>>2]&255](e,b);d=c[a+8>>2]|0}f=f+1|0}while((f|0)<(d|0));if((d|0)<=0)return;t=0;l=0;k=d;z=0;m=0;r=0;q=0;g=0;f=0;p=0;w=0;j=0;e=0;y=0;u=0;d=0;while(1){x=c[(c[(c[a+16>>2]|0)+(z<<2)>>2]|0)+192>>2]|0;s=((10?~(x<<15)+x>>10:~(x<<15)+x|0)^~(x<<15)+x)*9|0;s=(6?s>>6:s)^s;s=(16?s+~(s<<11)>>16:s+~(s<<11)|0)^s+~(s<<11);h=s&u+-1;a:do if(h>>>0

>>0?(D=c[f+(h<<2)>>2]|0,(D|0)!=-1):0){h=D;while(1){if((c[g+(h<<3)>>2]|0)==(x|0))break;h=c[e+(h<<2)>>2]|0;if((h|0)==-1){F=14;break a}}if(d+(h<<2)|0){s=k;k=t;i=w;o=y;n=u}else F=14}else F=14;while(0);if((F|0)==14){F=0;n=s&u+-1;b:do if(n>>>0

>>0?(E=c[f+(n<<2)>>2]|0,(E|0)!=-1):0){h=E;while(1){if((c[g+(h<<3)>>2]|0)==(x|0))break;h=c[e+(h<<2)>>2]|0;if((h|0)==-1){F=20;break b}}c[d+(h<<2)>>2]=x;k=t;h=p;i=w;o=y;n=u}else F=20;while(0);if((F|0)==20){F=0;do if((y|0)==(u|0)){i=(u|0)==0?1:u<<1;if((u|0)<(i|0)){if((i|0)!=0?(c[6879]=(c[6879]|0)+1,A=Zb((i<<2|3)+16|0)|0,(A|0)!=0):0){c[(A+4+15&-16)+-4>>2]=A;k=A+4+15&-16}else k=0;if((u|0)<=0){if(!d){h=u;v=i;d=k;break}}else{h=0;do{c[k+(h<<2)>>2]=c[d+(h<<2)>>2];h=h+1|0}while((h|0)!=(u|0))}c[6880]=(c[6880]|0)+1;kd(c[d+-4>>2]|0);h=u;v=i;d=k}else{h=u;v=u}}else{h=y;v=u}while(0);c[d+(h<<2)>>2]=x;o=h+1|0;do if((r|0)==(q|0)){h=(r|0)==0?1:r<<1;if((r|0)<(h|0)){if((h|0)!=0?(c[6879]=(c[6879]|0)+1,C=Zb((h<<3|3)+16|0)|0,(C|0)!=0):0){c[(C+4+15&-16)+-4>>2]=C;k=C+4+15&-16}else k=0;if((r|0)<=0){if(!g){q=h;g=k;break}}else{i=0;do{H=g+(i<<3)|0;G=c[H+4>>2]|0;q=k+(i<<3)|0;c[q>>2]=c[H>>2];c[q+4>>2]=G;i=i+1|0}while((i|0)!=(r|0))}c[6880]=(c[6880]|0)+1;kd(c[g+-4>>2]|0);q=h;g=k}else q=r}while(0);H=g+(r<<3)|0;c[H>>2]=x;c[H+4>>2]=0;r=r+1|0;if((u|0)<(v|0)){if((p|0)<(v|0)){do if((m|0)<(v|0)){if((v|0)!=0?(c[6879]=(c[6879]|0)+1,B=Zb((v<<2|3)+16|0)|0,(B|0)!=0):0){c[(B+4+15&-16)+-4>>2]=B;i=B+4+15&-16}else i=0;if((p|0)<=0){if(!f){n=i;m=v;f=i;break}}else{h=0;do{c[i+(h<<2)>>2]=c[f+(h<<2)>>2];h=h+1|0}while((h|0)!=(p|0))}c[6880]=(c[6880]|0)+1;kd(c[f+-4>>2]|0);n=i;m=v;f=i}else n=l;while(0);l=v<<2;el(f+(p<<2)|0,0,l-(p<<2)|0)|0;if((w|0)<(v|0)){do if((j|0)<(v|0)){do if(!v)i=0;else{c[6879]=(c[6879]|0)+1;h=Zb((l|3)+16|0)|0;if(!h){i=0;break}c[(h+4+15&-16)+-4>>2]=h;i=h+4+15&-16}while(0);if((w|0)<=0){if(!e){h=i;j=v;e=i;break}}else{h=0;do{c[i+(h<<2)>>2]=c[e+(h<<2)>>2];h=h+1|0}while((h|0)!=(w|0))}c[6880]=(c[6880]|0)+1;kd(c[e+-4>>2]|0);h=i;j=v;e=i}else h=t;while(0);el(e+(w<<2)|0,0,l-(w<<2)|0)|0;k=h}else k=t;if((v|0)>0){el(n|0,-1,l|0)|0;el(k|0,-1,l|0)|0}if((p|0)>0){i=v+-1|0;h=0;do{H=c[g+(h<<3)>>2]|0;H=((10?H+~(H<<15)>>10:H+~(H<<15)|0)^H+~(H<<15))*9|0;H=(6?H>>6:H)^H;H=f+((((16?H+~(H<<11)>>16:H+~(H<<11)|0)^H+~(H<<11))&i)<<2)|0;c[e+(h<<2)>>2]=c[H>>2];c[H>>2]=h;h=h+1|0}while((h|0)!=(p|0));l=n;h=v;i=v}else{l=n;h=v;i=v}}else{k=t;h=p;i=w}n=s&v+-1}else{k=t;h=p;i=w}n=f+(n<<2)|0;c[e+(y<<2)>>2]=c[n>>2];c[n>>2]=y;n=v}vb[c[(c[x>>2]|0)+60>>2]&255](x,b);s=c[a+8>>2]|0;p=h}h=z+1|0;if((h|0)>=(s|0))break;t=k;k=s;z=h;w=i;y=o;u=n}if(g|0){c[6880]=(c[6880]|0)+1;kd(c[g+-4>>2]|0)}if(d|0){c[6880]=(c[6880]|0)+1;kd(c[d+-4>>2]|0)}if(e|0){c[6880]=(c[6880]|0)+1;kd(c[e+-4>>2]|0)}if(!f)return;c[6880]=(c[6880]|0)+1;kd(c[f+-4>>2]|0);return}function dd(d,e){d=d|0;e=e|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=Ta;Ta=Ta+64|0;f[d+20>>2]=+g[e+32>>3];f[d+24>>2]=+g[e+40>>3];f[d+28>>2]=+g[e+48>>3];f[d+32>>2]=+g[e+56>>3];f[d+4>>2]=+g[e>>3];f[d+8>>2]=+g[e+8>>3];f[d+12>>2]=+g[e+16>>3];f[d+16>>2]=+g[e+24>>3];f[d+36>>2]=+g[e+64>>3];f[d+40>>2]=+g[e+72>>3];f[d+44>>2]=+g[e+80>>3];f[d+48>>2]=+g[e+88>>3];c[d+56>>2]=c[e+96>>2];a[d+60>>0]=(c[e+100>>2]|0)!=0&1;o=c[e+104>>2]|0;k=p;m=k+64|0;do{c[k>>2]=0;k=k+4|0}while((k|0)<(m|0));n=c[d+88>>2]|0;if((n|0)<(o|0)){if((c[d+92>>2]|0)<(o|0)){if(!o){i=n;j=0}else{c[6879]=(c[6879]|0)+1;h=Zb(o<<6|19)|0;if(!h)h=0;else{c[(h+4+15&-16)+-4>>2]=h;h=h+4+15&-16}i=c[d+88>>2]|0;j=h}if((i|0)>0){h=0;do{k=j+(h<<6)|0;l=(c[d+96>>2]|0)+(h<<6)|0;m=k+64|0;do{c[k>>2]=c[l>>2];k=k+4|0;l=l+4|0}while((k|0)<(m|0));h=h+1|0}while((h|0)!=(i|0))}h=c[d+96>>2]|0;if(h|0){if(a[d+100>>0]|0){c[6880]=(c[6880]|0)+1;kd(c[h+-4>>2]|0)}c[d+96>>2]=0}a[d+100>>0]=1;c[d+96>>2]=j;c[d+92>>2]=o;i=d+96|0}else i=d+96|0;h=n;do{k=(c[i>>2]|0)+(h<<6)|0;l=p;m=k+64|0;do{c[k>>2]=c[l>>2];k=k+4|0;l=l+4|0}while((k|0)<(m|0));h=h+1|0}while((h|0)!=(o|0))}c[d+88>>2]=o;if((o|0)>0){h=c[d+96>>2]|0;i=0;j=c[e+112>>2]|0;while(1){f[h+(i<<6)+16>>2]=+g[j+32>>3];f[h+(i<<6)+20>>2]=+g[j+40>>3];f[h+(i<<6)+24>>2]=+g[j+48>>3];f[h+(i<<6)+28>>2]=+g[j+56>>3];f[h+(i<<6)>>2]=+g[j>>3];f[h+(i<<6)+4>>2]=+g[j+8>>3];f[h+(i<<6)+8>>2]=+g[j+16>>3];f[h+(i<<6)+12>>2]=+g[j+24>>3];c[h+(i<<6)+32>>2]=c[j+64>>2];c[h+(i<<6)+36>>2]=c[j+68>>2];c[h+(i<<6)+40>>2]=c[j+72>>2];i=i+1|0;if((i|0)==(o|0))break;else j=j+80|0}}l=c[e+108>>2]|0;c[p>>2]=0;c[p+4>>2]=0;c[p+8>>2]=0;c[p+12>>2]=0;k=c[d+128>>2]|0;if((k|0)<(l|0)){if((c[d+132>>2]|0)<(l|0)){if(!l){i=k;j=0}else{c[6879]=(c[6879]|0)+1;h=Zb((l<<4|3)+16|0)|0;if(!h)h=0;else{c[(h+4+15&-16)+-4>>2]=h;h=h+4+15&-16}i=c[d+128>>2]|0;j=h}if((i|0)>0){h=0;do{o=j+(h<<4)|0;n=(c[d+136>>2]|0)+(h<<4)|0;c[o>>2]=c[n>>2];c[o+4>>2]=c[n+4>>2];c[o+8>>2]=c[n+8>>2];c[o+12>>2]=c[n+12>>2];h=h+1|0}while((h|0)!=(i|0))}h=c[d+136>>2]|0;if(h|0){if(a[d+140>>0]|0){c[6880]=(c[6880]|0)+1;kd(c[h+-4>>2]|0)}c[d+136>>2]=0}a[d+140>>0]=1;c[d+136>>2]=j;c[d+132>>2]=l;i=d+136|0}else i=d+136|0;h=k;do{o=(c[i>>2]|0)+(h<<4)|0;c[o>>2]=c[p>>2];c[o+4>>2]=c[p+4>>2];c[o+8>>2]=c[p+8>>2];c[o+12>>2]=c[p+12>>2];h=h+1|0}while((h|0)!=(l|0))}c[d+128>>2]=l;if((l|0)>0){h=c[d+136>>2]|0;i=0;j=c[e+116>>2]|0;while(1){c[h+(i<<4)+12>>2]=c[j+12>>2];b[h+(i<<4)+6>>1]=b[j+6>>1]|0;b[h+(i<<4)+8>>1]=b[j+8>>1]|0;b[h+(i<<4)+10>>1]=b[j+10>>1]|0;b[h+(i<<4)>>1]=b[j>>1]|0;b[h+(i<<4)+2>>1]=b[j+2>>1]|0;b[h+(i<<4)+4>>1]=b[j+4>>1]|0;i=i+1|0;if((i|0)==(l|0))break;else j=j+16|0}}c[d+144>>2]=c[e+120>>2];l=c[e+124>>2]|0;k=c[d+152>>2]|0;if((k|0)<(l|0)){if((c[d+156>>2]|0)<(l|0)){if(!l){i=k;j=0}else{c[6879]=(c[6879]|0)+1;h=Zb(l<<5|19)|0;if(!h)h=0;else{c[(h+4+15&-16)+-4>>2]=h;h=h+4+15&-16}i=c[d+152>>2]|0;j=h}if((i|0)>0){h=0;do{o=j+(h<<5)|0;n=(c[d+160>>2]|0)+(h<<5)|0;c[o>>2]=c[n>>2];c[o+4>>2]=c[n+4>>2];c[o+8>>2]=c[n+8>>2];c[o+12>>2]=c[n+12>>2];c[o+16>>2]=c[n+16>>2];c[o+20>>2]=c[n+20>>2];c[o+24>>2]=c[n+24>>2];c[o+28>>2]=c[n+28>>2];h=h+1|0}while((h|0)!=(i|0))}h=c[d+160>>2]|0;if(h|0){if(a[d+164>>0]|0){c[6880]=(c[6880]|0)+1;kd(c[h+-4>>2]|0)}c[d+160>>2]=0}a[d+164>>0]=1;c[d+160>>2]=j;c[d+156>>2]=l;i=d+160|0}else i=d+160|0;h=k;do{o=(c[i>>2]|0)+(h<<5)|0;c[o>>2]=c[p>>2];c[o+4>>2]=c[p+4>>2];c[o+8>>2]=c[p+8>>2];c[o+12>>2]=c[p+12>>2];c[o+16>>2]=c[p+16>>2];c[o+20>>2]=c[p+20>>2];c[o+24>>2]=c[p+24>>2];c[o+28>>2]=c[p+28>>2];h=h+1|0}while((h|0)!=(l|0))}c[d+152>>2]=l;if((l|0)<=0){Ta=p;return}i=c[d+160>>2]|0;j=0;h=c[e+128>>2]|0;while(1){b[i+(j<<5)+6>>1]=b[h+14>>1]|0;b[i+(j<<5)+8>>1]=b[h+16>>1]|0;b[i+(j<<5)+10>>1]=b[h+18>>1]|0;b[i+(j<<5)>>1]=b[h+8>>1]|0;b[i+(j<<5)+2>>1]=b[h+10>>1]|0;b[i+(j<<5)+4>>1]=b[h+12>>1]|0;c[i+(j<<5)+12>>2]=c[h>>2];c[i+(j<<5)+16>>2]=c[h+4>>2];j=j+1|0;if((j|0)==(l|0))break;else h=h+20|0}Ta=p;return}function ed(a,d,f){a=a|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;g=c[a+108>>2]|0;if(g|0)zb[c[(c[g>>2]|0)+12>>2]&127](g,c[d+60>>2]|0,f);o=c[d+12>>2]|0;m=c[a+60>>2]|0;n=c[a+92>>2]|0;if(!(eb[c[(c[n>>2]|0)+56>>2]&255](n)|0)){n=c[a+92>>2]|0;zb[c[(c[n>>2]|0)+16>>2]&127](n,m+((o&65535)<<6)|0,f)}n=e[a+56>>1]|0;g=c[a+60>>2]|0;b[g+54>>1]=(e[g+54>>1]|0)+65534;b[g+56>>1]=(e[g+56>>1]|0)+65534;b[g+58>>1]=(e[g+58>>1]|0)+65534;l=c[a+68>>2]|0;d=b[a+6>>1]|0;h=e[m+((o&65535)<<6)+54>>1]|0;b[l+(h<<2)>>1]=d;f=b[l+(h<<2)+6>>1]|0;if(!(f<<16>>16)){g=d;d=l}else{j=g+((e[l+(h<<2)+2>>1]|0)<<6)+54|0;h=l+(h<<2)|0;while(1){i=h;h=h+4|0;g=b[h>>1]|0;if((d&65535)<(g&65535))break;d=c[a+60>>2]|0;k=f&65535;g=(g&1)==0?d+(k<<6)+48|0:d+(k<<6)+54|0;b[g>>1]=(b[g>>1]|0)+-1<<16>>16;b[j>>1]=(b[j>>1]|0)+1<<16>>16;g=e[i>>1]|e[i+2>>1]<<16;k=e[h>>1]|e[h+2>>1]<<16;b[i>>1]=k;b[i+2>>1]=k>>>16;b[h>>1]=g;b[h+2>>1]=g>>>16;f=b[i+10>>1]|0;if(!(f<<16>>16))break;else d=g&65535}g=b[a+6>>1]|0;d=c[a+68>>2]|0}f=e[m+((o&65535)<<6)+48>>1]|0;b[l+(f<<2)>>1]=g;j=d+(f<<2)|0;h=b[j+6>>1]|0;if(h<<16>>16){k=(c[a+60>>2]|0)+((e[d+(f<<2)+2>>1]|0)<<6)+48|0;i=b[j>>1]|0;d=j;while(1){f=d;d=d+4|0;g=b[d>>1]|0;if((i&65535)<(g&65535))break;i=c[a+60>>2]|0;j=h&65535;g=(g&1)==0?i+(j<<6)+48|0:i+(j<<6)+54|0;b[g>>1]=(b[g>>1]|0)+-1<<16>>16;b[k>>1]=(b[k>>1]|0)+1<<16>>16;g=e[f>>1]|e[f+2>>1]<<16;j=e[d>>1]|e[d+2>>1]<<16;b[f>>1]=j;b[f+2>>1]=j>>>16;b[d>>1]=g;b[d+2>>1]=g>>>16;h=b[f+10>>1]|0;if(!(h<<16>>16))break;else i=g&65535}g=b[a+6>>1]|0}b[l+((n<<1)+-1<<2)+2>>1]=0;b[l+((n<<1)+-1<<2)>>1]=g;l=c[a+72>>2]|0;f=e[m+((o&65535)<<6)+56>>1]|0;b[l+(f<<2)>>1]=g;d=b[l+(f<<2)+6>>1]|0;if(!(d<<16>>16))d=l;else{j=(c[a+60>>2]|0)+((e[l+(f<<2)+2>>1]|0)<<6)+56|0;h=l+(f<<2)|0;while(1){i=h;h=h+4|0;f=b[h>>1]|0;if((g&65535)<(f&65535))break;k=c[a+60>>2]|0;g=d&65535;g=(f&1)==0?k+(g<<6)+50|0:k+(g<<6)+56|0;b[g>>1]=(b[g>>1]|0)+-1<<16>>16;b[j>>1]=(b[j>>1]|0)+1<<16>>16;g=e[i>>1]|e[i+2>>1]<<16;k=e[h>>1]|e[h+2>>1]<<16;b[i>>1]=k;b[i+2>>1]=k>>>16;b[h>>1]=g;b[h+2>>1]=g>>>16;d=b[i+10>>1]|0;if(!(d<<16>>16))break;else g=g&65535}g=b[a+6>>1]|0;d=c[a+72>>2]|0}f=e[m+((o&65535)<<6)+50>>1]|0;b[l+(f<<2)>>1]=g;j=d+(f<<2)|0;h=b[j+6>>1]|0;if(h<<16>>16){k=(c[a+60>>2]|0)+((e[d+(f<<2)+2>>1]|0)<<6)+50|0;i=b[j>>1]|0;d=j;while(1){f=d;d=d+4|0;g=b[d>>1]|0;if((i&65535)<(g&65535))break;i=c[a+60>>2]|0;j=h&65535;g=(g&1)==0?i+(j<<6)+50|0:i+(j<<6)+56|0;b[g>>1]=(b[g>>1]|0)+-1<<16>>16;b[k>>1]=(b[k>>1]|0)+1<<16>>16;g=e[f>>1]|e[f+2>>1]<<16;j=e[d>>1]|e[d+2>>1]<<16;b[f>>1]=j;b[f+2>>1]=j>>>16;b[d>>1]=g;b[d+2>>1]=g>>>16;h=b[f+10>>1]|0;if(!(h<<16>>16))break;else i=g&65535}g=b[a+6>>1]|0}b[l+((n<<1)+-1<<2)+2>>1]=0;b[l+((n<<1)+-1<<2)>>1]=g;l=c[a+76>>2]|0;f=e[m+((o&65535)<<6)+58>>1]|0;b[l+(f<<2)>>1]=g;d=b[l+(f<<2)+6>>1]|0;if(!(d<<16>>16)){d=g;f=l}else{j=(c[a+60>>2]|0)+((e[l+(f<<2)+2>>1]|0)<<6)+58|0;h=l+(f<<2)|0;while(1){i=h;h=h+4|0;f=b[h>>1]|0;if((g&65535)<(f&65535))break;k=c[a+60>>2]|0;g=d&65535;g=(f&1)==0?k+(g<<6)+52|0:k+(g<<6)+58|0;b[g>>1]=(b[g>>1]|0)+-1<<16>>16;b[j>>1]=(b[j>>1]|0)+1<<16>>16;g=e[i>>1]|e[i+2>>1]<<16;k=e[h>>1]|e[h+2>>1]<<16;b[i>>1]=k;b[i+2>>1]=k>>>16;b[h>>1]=g;b[h+2>>1]=g>>>16;d=b[i+10>>1]|0;if(!(d<<16>>16))break;else g=g&65535}d=b[a+6>>1]|0;f=c[a+76>>2]|0}g=e[m+((o&65535)<<6)+52>>1]|0;b[l+(g<<2)>>1]=d;j=f+(g<<2)|0;h=b[j+6>>1]|0;if(!(h<<16>>16)){k=d;m=l+((n<<1)+-1<<2)+2|0;b[m>>1]=0;m=l+((n<<1)+-1<<2)|0;b[m>>1]=k;m=c[a+60>>2]|0;n=a+64|0;l=b[n>>1]|0;m=m+((o&65535)<<6)+48|0;b[m>>1]=l;b[n>>1]=o;o=b[a+56>>1]|0;o=o+-1<<16>>16;b[a+56>>1]=o;return}k=(c[a+60>>2]|0)+((e[f+(g<<2)+2>>1]|0)<<6)+52|0;i=b[j>>1]|0;d=j;while(1){f=d;d=d+4|0;g=b[d>>1]|0;if((i&65535)<(g&65535))break;j=c[a+60>>2]|0;m=h&65535;g=(g&1)==0?j+(m<<6)+52|0:j+(m<<6)+58|0;b[g>>1]=(b[g>>1]|0)+-1<<16>>16;b[k>>1]=(b[k>>1]|0)+1<<16>>16;g=e[f>>1]|e[f+2>>1]<<16;m=e[d>>1]|e[d+2>>1]<<16;b[f>>1]=m;b[f+2>>1]=m>>>16;b[d>>1]=g;b[d+2>>1]=g>>>16;h=b[f+10>>1]|0;if(!(h<<16>>16))break;else i=g&65535}k=b[a+6>>1]|0;m=l+((n<<1)+-1<<2)+2|0;b[m>>1]=0;m=l+((n<<1)+-1<<2)|0;b[m>>1]=k;m=c[a+60>>2]|0;n=a+64|0;l=b[n>>1]|0;m=m+((o&65535)<<6)+48|0;b[m>>1]=l;b[n>>1]=o;o=b[a+56>>1]|0;o=o+-1<<16>>16;b[a+56>>1]=o;return} -function Nb(d,g){d=d|0;g=g|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0.0,q=0.0,t=0.0,u=0,v=0.0,w=0.0,x=0.0,y=0.0,z=0,A=0,B=0,C=0,D=0.0,E=0.0,F=0,G=0,H=0.0,I=0,J=0.0,K=0.0,L=0.0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0.0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0;ja=Ta;Ta=Ta+192|0;i=c[d+52>>2]|0;if(i|0?(pb[c[c[i>>2]>>2]&511](i),j=c[d+52>>2]|0,j|0):0){c[6880]=(c[6880]|0)+1;kd(c[j+-4>>2]|0)}c[6879]=(c[6879]|0)+1;i=Zb(151)|0;if(!i)i=0;else{c[(i+4+15&-16)+-4>>2]=i;i=i+4+15&-16}c[i>>2]=10964;a[i+20>>0]=1;c[i+16>>2]=0;c[i+8>>2]=0;c[i+12>>2]=0;a[i+40>>0]=1;c[i+36>>2]=0;c[i+28>>2]=0;c[i+32>>2]=0;a[i+60>>0]=1;c[i+56>>2]=0;c[i+48>>2]=0;c[i+52>>2]=0;c[d+52>>2]=i;k=0;o=0;n=0;ia=0;I=0;while(1){if((o|0)>=(eb[c[(c[d>>2]|0)+96>>2]&255](d)|0))break;do if((I|0)==(n|0)){j=(n|0)==0?1:n<<1;if((n|0)<(j|0)){if((j|0)!=0?(c[6879]=(c[6879]|0)+1,u=Zb((j<<4|3)+16|0)|0,(u|0)!=0):0){c[(u+4+15&-16)+-4>>2]=u;l=u+4+15&-16}else l=0;if((n|0)<=0){if(!ia){m=n;k=l;i=l;break}}else{i=0;do{ha=l+(i<<4)|0;ga=ia+(i<<4)|0;c[ha>>2]=c[ga>>2];c[ha+4>>2]=c[ga+4>>2];c[ha+8>>2]=c[ga+8>>2];c[ha+12>>2]=c[ga+12>>2];i=i+1|0}while((i|0)!=(n|0))}c[6880]=(c[6880]|0)+1;kd(c[ia+-4>>2]|0);m=n;k=l;i=l}else{m=n;j=n;i=ia}}else{m=I;j=n;i=ia}while(0);n=i+(I<<4)|0;c[n>>2]=c[ja>>2];c[n+4>>2]=c[ja+4>>2];c[n+8>>2]=c[ja+8>>2];c[n+12>>2]=c[ja+12>>2];zb[c[(c[d>>2]|0)+108>>2]&127](d,o,n);o=o+1|0;n=j;ia=i;I=m+1|0}a[ja+124+16>>0]=1;ha=ja+124+12|0;c[ha>>2]=0;c[ja+124+4>>2]=0;c[ja+124+8>>2]=0;a[ja+124+36>>0]=1;ga=ja+124+32|0;c[ga>>2]=0;c[ja+124+24>>2]=0;c[ja+124+28>>2]=0;a[ja+124+56>>0]=1;fa=ja+124+52|0;c[fa>>2]=0;c[ja+124+44>>2]=0;c[ja+124+48>>2]=0;if(g){if((I|0)>0){G=0;j=0;l=0;k=0;while(1){i=G;G=G+1|0;a:do if((G|0)<(I|0)){C=ia+(i<<4)|0;F=ia+(i<<4)+4|0;B=ia+(i<<4)+8|0;m=G;i=k;while(1){A=m+1|0;b:do if((A|0)<(I|0)){g=ia+(m<<4)|0;z=ia+(m<<4)+4|0;u=ia+(m<<4)+8|0;k=A;while(1){p=+f[C>>2];J=+f[g>>2]-p;q=+f[F>>2];L=+f[z>>2]-q;t=+f[B>>2];E=+f[u>>2]-t;H=+f[ia+(k<<4)>>2]-p;K=+f[ia+(k<<4)+4>>2]-q;D=+f[ia+(k<<4)+8>>2]-t;y=(J*K-L*H)*(J*K-L*H)+((L*D-E*K)*(L*D-E*K)+(E*H-J*D)*(E*H-J*D));c:do if(y>9.999999747378752e-05){x=1.0/+s(+y);v=(L*D-E*K)*x;w=(E*H-J*D)*x;x=(J*K-L*H)*x;d:do if((i|0)>0){m=0;while(1){if(v*+f[l+(m<<4)>>2]+w*+f[l+(m<<4)+4>>2]+x*+f[l+(m<<4)+8>>2]>.9990000128746033)break d;m=m+1|0;if((m|0)>=(i|0)){da=34;break}}}else da=34;while(0);e:do if((da|0)==34){da=0;m=0;do{if(v*+f[ia+(m<<4)>>2]+w*+f[ia+(m<<4)+4>>2]+x*+f[ia+(m<<4)+8>>2]-(v*p+w*q+x*t)+-.009999999776482582>0.0)break e;m=m+1|0}while((m|0)<(I|0));do if((i|0)==(j|0)){n=(j|0)==0?1:j<<1;if((j|0)<(n|0)){do if(!n)o=0;else{c[6879]=(c[6879]|0)+1;m=Zb((n<<4|3)+16|0)|0;if(!m){o=0;break}c[(m+4+15&-16)+-4>>2]=m;o=m+4+15&-16}while(0);if((j|0)<=0){if(!l){m=j;j=n;l=o;break}}else{m=0;do{ca=o+(m<<4)|0;ba=l+(m<<4)|0;c[ca>>2]=c[ba>>2];c[ca+4>>2]=c[ba+4>>2];c[ca+8>>2]=c[ba+8>>2];c[ca+12>>2]=c[ba+12>>2];m=m+1|0}while((m|0)!=(j|0))}c[6880]=(c[6880]|0)+1;kd(c[l+-4>>2]|0);m=j;j=n;l=o}else m=j}else m=i;while(0);f[l+(m<<4)>>2]=v;f[l+(m<<4)+4>>2]=w;f[l+(m<<4)+8>>2]=x;f[l+(m<<4)+12>>2]=-(v*p+w*q+x*t);i=i+1|0}while(0);if(y>9.999999747378752e-05){q=1.0/+s(+y);v=-((L*D-E*K)*q);t=-((E*H-J*D)*q);q=-((J*K-L*H)*q);if((i|0)>0){m=0;do{if(+f[l+(m<<4)>>2]*v+ +f[l+(m<<4)+4>>2]*t+ +f[l+(m<<4)+8>>2]*q>.9990000128746033)break c;m=m+1|0}while((m|0)<(i|0))}p=+f[C>>2]*v+ +f[F>>2]*t+ +f[B>>2]*q;m=0;do{if(+f[ia+(m<<4)>>2]*v+ +f[ia+(m<<4)+4>>2]*t+ +f[ia+(m<<4)+8>>2]*q-p+-.009999999776482582>0.0)break c;m=m+1|0}while((m|0)<(I|0));do if((i|0)==(j|0)){n=(j|0)==0?1:j<<1;if((j|0)>=(n|0)){m=j;break}do if(!n)o=0;else{c[6879]=(c[6879]|0)+1;m=Zb((n<<4|3)+16|0)|0;if(!m){o=0;break}c[(m+4+15&-16)+-4>>2]=m;o=m+4+15&-16}while(0);if((j|0)<=0){if(!l){m=j;j=n;l=o;break}}else{m=0;do{ca=o+(m<<4)|0;ba=l+(m<<4)|0;c[ca>>2]=c[ba>>2];c[ca+4>>2]=c[ba+4>>2];c[ca+8>>2]=c[ba+8>>2];c[ca+12>>2]=c[ba+12>>2];m=m+1|0}while((m|0)!=(j|0))}c[6880]=(c[6880]|0)+1;kd(c[l+-4>>2]|0);m=j;j=n;l=o}else m=i;while(0);f[l+(m<<4)>>2]=v;f[l+(m<<4)+4>>2]=t;f[l+(m<<4)+8>>2]=q;f[l+(m<<4)+12>>2]=-p;i=i+1|0}}while(0);k=k+1|0;if((k|0)==(I|0))break b}}while(0);if((A|0)==(I|0))break a;m=A}}else i=k;while(0);if((G|0)==(I|0))break;else k=i}if((i|0)>0){n=0;o=0;u=0;while(1){ca=l+(u<<4)|0;c[ja>>2]=c[ca>>2];c[ja+4>>2]=c[ca+4>>2];c[ja+8>>2]=c[ca+8>>2];p=+f[l+(u<<4)+12>>2];p=p-+Wa[c[(c[d>>2]|0)+48>>2]&31](d);do if((u|0)==(n|0)){m=(n|0)==0?1:n<<1;if((n|0)<(m|0)){if((m|0)!=0?(c[6879]=(c[6879]|0)+1,M=Zb((m<<4|3)+16|0)|0,(M|0)!=0):0){c[(M+4+15&-16)+-4>>2]=M;k=M+4+15&-16}else k=0;if((n|0)<=0){if(!o){j=n;break}}else{j=0;do{ca=k+(j<<4)|0;ba=o+(j<<4)|0;c[ca>>2]=c[ba>>2];c[ca+4>>2]=c[ba+4>>2];c[ca+8>>2]=c[ba+8>>2];c[ca+12>>2]=c[ba+12>>2];j=j+1|0}while((j|0)!=(n|0))}c[6880]=(c[6880]|0)+1;kd(c[o+-4>>2]|0);j=n}else{j=n;m=n;k=o}}else{j=u;m=n;k=o}while(0);ca=k+(j<<4)|0;c[ca>>2]=c[ja>>2];c[ca+4>>2]=c[ja+4>>2];c[ca+8>>2]=c[ja+8>>2];f[k+(j<<4)+12>>2]=p;u=u+1|0;if((u|0)<(i|0)){n=m;o=k}else break}m=0;N=0;n=0;j=0;i=0;do{M=N;N=N+1|0;f:do if((N|0)<(u|0)){o=N;while(1){I=o+1|0;g:do if((I|0)<(u|0)){C=k+(o<<4)+4|0;G=k+(o<<4)+8|0;F=k+(o<<4)|0;B=k+(o<<4)+12|0;o=I;while(1){v=+f[C>>2];p=+f[k+(o<<4)+8>>2];q=+f[G>>2];w=+f[k+(o<<4)+4>>2];x=+f[k+(o<<4)>>2];y=+f[F>>2];t=+f[k+(M<<4)+8>>2];D=+f[k+(M<<4)+4>>2];E=+f[k+(M<<4)>>2];h:do if((((w*y-v*x)*(w*y-v*x)+((v*p-q*w)*(v*p-q*w)+(q*x-p*y)*(q*x-p*y))>9.999999747378752e-05?(x*D-w*E)*(x*D-w*E)+((w*t-p*D)*(w*t-p*D)+(p*E-x*t)*(p*E-x*t))>9.999999747378752e-05:0)?(v*E-y*D)*(v*E-y*D)+((q*D-v*t)*(q*D-v*t)+(y*t-q*E)*(y*t-q*E))>9.999999747378752e-05:0)?(Y=t*(w*y-v*x)+(D*(q*x-p*y)+(v*p-q*w)*E),+r(+Y)>9.999999974752427e-07):0){K=+f[k+(M<<4)+12>>2];L=+f[B>>2];J=+f[k+(o<<4)+12>>2];H=-1.0/Y*((q*D-v*t)*J+((v*p-q*w)*K+(w*t-p*D)*L));q=-1.0/Y*((y*t-q*E)*J+((q*x-p*y)*K+(p*E-x*t)*L));p=-1.0/Y*((v*E-y*D)*J+((w*y-v*x)*K+(x*D-w*E)*L));g=0;do{if(+f[k+(g<<4)+12>>2]+(H*+f[k+(g<<4)>>2]+q*+f[k+(g<<4)+4>>2]+p*+f[k+(g<<4)+8>>2])+-.009999999776482582>0.0)break h;g=g+1|0}while((g|0)<(u|0));do if((i|0)==(n|0)){A=(n|0)==0?1:n<<1;if((n|0)>=(A|0)){g=n;break}do if(!A)z=0;else{c[6879]=(c[6879]|0)+1;m=Zb((A<<4|3)+16|0)|0;if(!m){z=0;break}c[(m+4+15&-16)+-4>>2]=m;z=m+4+15&-16}while(0);if((n|0)<=0){if(!j){m=z;g=n;n=A;j=z;break}}else{m=0;do{ca=z+(m<<4)|0;ba=j+(m<<4)|0;c[ca>>2]=c[ba>>2];c[ca+4>>2]=c[ba+4>>2];c[ca+8>>2]=c[ba+8>>2];c[ca+12>>2]=c[ba+12>>2];m=m+1|0}while((m|0)!=(n|0))}c[6880]=(c[6880]|0)+1;kd(c[j+-4>>2]|0);m=z;g=n;n=A;j=z}else g=i;while(0);f[j+(g<<4)>>2]=H;f[j+(g<<4)+4>>2]=q;f[j+(g<<4)+8>>2]=p;f[j+(g<<4)+12>>2]=0.0;i=i+1|0}while(0);o=o+1|0;if((o|0)==(u|0))break g}}while(0);if((I|0)==(u|0))break f;o=I}}while(0)}while((N|0)!=(u|0))}else{m=0;k=0;j=0;i=0}}else{m=0;l=0;k=0;j=0;i=0}$b(ja+124|0,m,i);if(j|0){c[6880]=(c[6880]|0)+1;kd(c[j+-4>>2]|0)}if(k|0){c[6880]=(c[6880]|0)+1;kd(c[k+-4>>2]|0)}if(l|0){c[6880]=(c[6880]|0)+1;kd(c[l+-4>>2]|0)}}else $b(ja+124|0,k,I);G=c[ja+124+44>>2]|0;if((G|0)>0){c[6879]=(c[6879]|0)+1;i=Zb((G<<4|3)+16|0)|0;if(!i)j=0;else{c[(i+4+15&-16)+-4>>2]=i;j=i+4+15&-16}i=0;do{ca=j+(i<<4)|0;c[ca>>2]=c[ja>>2];c[ca+4>>2]=c[ja+4>>2];c[ca+8>>2]=c[ja+8>>2];c[ca+12>>2]=c[ja+12>>2];i=i+1|0}while((i|0)!=(G|0));ca=j;aa=j}else{ca=0;aa=0}a[ja+104+16>>0]=1;ba=ja+104+12|0;c[ba>>2]=0;$=ja+104+4|0;c[$>>2]=0;c[ja+104+8>>2]=0;k=ja;m=k+19|0;do{a[k>>0]=0;k=k+1|0}while((k|0)<(m|0));if((G|0)<0)Qa();if(G|0){Cn(ja+104|0,G);i=c[ba>>2]|0;j=0;do{a[i+(j*36|0)+16>>0]=1;k=i+(j*36|0)+4|0;c[k>>2]=0;c[k+4>>2]=0;c[k+8>>2]=0;k=i+(j*36|0)+20|0;l=ja+3|0;m=k+16|0;do{a[k>>0]=a[l>>0]|0;k=k+1|0;l=l+1|0}while((k|0)<(m|0));j=j+1|0}while((j|0)!=(G|0))}c[$>>2]=G;n=c[ja+124+4>>2]|0;m=c[d+52>>2]|0;l=c[m+8>>2]|0;if((l|0)<(n|0)){if((c[m+12>>2]|0)<(n|0)){if(!n){j=l;k=0}else{c[6879]=(c[6879]|0)+1;i=Zb((n<<4|3)+16|0)|0;if(!i)i=0;else{c[(i+4+15&-16)+-4>>2]=i;i=i+4+15&-16}j=c[m+8>>2]|0;k=i}if((j|0)>0){i=0;do{_=k+(i<<4)|0;Z=(c[m+16>>2]|0)+(i<<4)|0;c[_>>2]=c[Z>>2];c[_+4>>2]=c[Z+4>>2];c[_+8>>2]=c[Z+8>>2];c[_+12>>2]=c[Z+12>>2];i=i+1|0}while((i|0)!=(j|0))}i=c[m+16>>2]|0;if(i|0){if(a[m+20>>0]|0){c[6880]=(c[6880]|0)+1;kd(c[i+-4>>2]|0)}c[m+16>>2]=0}a[m+20>>0]=1;c[m+16>>2]=k;c[m+12>>2]=n;j=m+16|0}else j=m+16|0;i=l;do{_=(c[j>>2]|0)+(i<<4)|0;c[_>>2]=c[ja>>2];c[_+4>>2]=c[ja+4>>2];c[_+8>>2]=c[ja+8>>2];c[_+12>>2]=c[ja+12>>2];i=i+1|0}while((i|0)!=(n|0))}c[m+8>>2]=n;if((n|0)>0){i=0;do{Z=(c[ha>>2]|0)+(i<<4)|0;_=(c[(c[d+52>>2]|0)+16>>2]|0)+(i<<4)|0;c[_>>2]=c[Z>>2];c[_+4>>2]=c[Z+4>>2];c[_+8>>2]=c[Z+8>>2];c[_+12>>2]=c[Z+12>>2];i=i+1|0}while((i|0)!=(n|0))}if((G|0)>0){F=0;do{A=(c[ga>>2]|0)+((c[(c[fa>>2]|0)+(F<<2)>>2]|0)*12|0)|0;B=A;i=0;do{C=B+4|0;z=c[B+((c[C>>2]|0)*12|0)+8>>2]|0;u=c[ba>>2]|0;g=u+(F*36|0)+4|0;j=c[g>>2]|0;o=u+(F*36|0)+8|0;if((j|0)==(c[o>>2]|0)?(O=(j|0)==0?1:j<<1,(j|0)<(O|0)):0){if(!O)k=0;else{c[6879]=(c[6879]|0)+1;j=Zb((O<<2|3)+16|0)|0;if(!j)k=0;else{c[(j+4+15&-16)+-4>>2]=j;k=j+4+15&-16}j=c[g>>2]|0}n=u+(F*36|0)+12|0;m=c[n>>2]|0;if((j|0)<=0)if(!m)l=u+(F*36|0)+16|0;else da=161;else{l=0;do{c[k+(l<<2)>>2]=c[m+(l<<2)>>2];l=l+1|0}while((l|0)!=(j|0));da=161}if((da|0)==161){da=0;l=u+(F*36|0)+16|0;if(a[l>>0]|0){c[6880]=(c[6880]|0)+1;kd(c[m+-4>>2]|0)}c[n>>2]=0;j=c[g>>2]|0}a[l>>0]=1;c[n>>2]=k;c[o>>2]=O}c[(c[u+(F*36|0)+12>>2]|0)+(j<<2)>>2]=z;c[g>>2]=(c[g>>2]|0)+1;Z=c[B+8>>2]|0;_=c[ha>>2]|0;t=+f[_+(Z<<4)>>2]-+f[_+(z<<4)>>2];v=+f[_+(Z<<4)+4>>2]-+f[_+(z<<4)+4>>2];q=+f[_+(Z<<4)+8>>2]-+f[_+(z<<4)+8>>2];p=1.0/+s(+(t*t+v*v+q*q));if((i|0)<2){f[ja+(i<<4)>>2]=t*p;f[ja+(i<<4)+4>>2]=v*p;f[ja+(i<<4)+8>>2]=q*p;f[ja+(i<<4)+12>>2]=0.0;i=i+1|0}_=B+((c[C>>2]|0)*12|0)|0;B=_+((c[_>>2]|0)*12|0)|0}while((B|0)!=(A|0));if((i|0)==2){H=+f[ja+4>>2];J=+f[ja+24>>2];K=+f[ja+8>>2];L=+f[ja+20>>2];E=+f[ja+16>>2];D=+f[ja>>2];Z=aa+(F<<4)+4|0;_=aa+(F<<4)+8|0;f[aa+(F<<4)+12>>2]=0.0;Y=1.0/+s(+((L*D-H*E)*(L*D-H*E)+((H*J-K*L)*(H*J-K*L)+(K*E-J*D)*(K*E-J*D))));f[aa+(F<<4)>>2]=(H*J-K*L)*Y;f[Z>>2]=(K*E-J*D)*Y;f[_>>2]=(L*D-H*E)*Y;m=c[ba>>2]|0;f[m+(F*36|0)+20>>2]=(H*J-K*L)*Y;c[m+(F*36|0)+24>>2]=c[Z>>2];c[m+(F*36|0)+28>>2]=c[_>>2];f[m+(F*36|0)+32>>2]=1000000015047466219876688.0e6}else{m=aa+(F<<4)|0;c[m>>2]=0;c[m+4>>2]=0;c[m+8>>2]=0;c[m+12>>2]=0;m=c[ba>>2]|0}j=c[m+(F*36|0)+4>>2]|0;if((j|0)>0){k=c[(c[d+52>>2]|0)+16>>2]|0;q=+f[aa+(F<<4)>>2];t=+f[aa+(F<<4)+4>>2];v=+f[aa+(F<<4)+8>>2];l=c[m+(F*36|0)+12>>2]|0;_=c[l>>2]|0;p=+f[k+(_<<4)>>2]*q+ +f[k+(_<<4)+4>>2]*t+ +f[k+(_<<4)+8>>2]*v;p=p<1000000015047466219876688.0e6?p:1000000015047466219876688.0e6;if((j|0)!=1){i=1;do{_=c[l+(i<<2)>>2]|0;Y=+f[k+(_<<4)>>2]*q+ +f[k+(_<<4)+4>>2]*t+ +f[k+(_<<4)+8>>2]*v;p=p>Y?Y:p;i=i+1|0}while((i|0)<(j|0))}}else p=1000000015047466219876688.0e6;f[m+(F*36|0)+32>>2]=-p;F=F+1|0}while((F|0)!=(G|0))}i:do if((c[$>>2]|0)>0){m=0;j=0;o=0;i=0;n=0;while(1){do if((o|0)==(i|0)){i=(o|0)==0;k=i?1:o<<1;if((o|0)<(k|0)){if((k|0)!=0?(c[6879]=(c[6879]|0)+1,P=Zb((k<<2|3)+16|0)|0,(P|0)!=0):0){c[(P+4+15&-16)+-4>>2]=P;l=P+4+15&-16}else l=0;if(i){if(!n){Q=l;j=l;i=1;n=l;break}}else{i=0;do{c[l+(i<<2)>>2]=c[n+(i<<2)>>2];i=i+1|0}while((i|0)!=(o|0))}if(!m){Q=l;j=l;i=k;n=l}else{c[6880]=(c[6880]|0)+1;kd(c[m+-4>>2]|0);Q=l;j=l;i=k;n=l}}else{Q=j;j=m;i=o}}else{Q=j;j=m}while(0);c[n+(o<<2)>>2]=o;o=o+1|0;if((o|0)>=(c[$>>2]|0))break;else{m=j;j=Q}}O=ja+84+12|0;P=ja+84+4|0;N=ja+48+12|0;i=o;while(1){m=i+-1|0;k=c[n+(m<<2)>>2]|0;c[6879]=(c[6879]|0)+1;j=Zb(23)|0;if(!j)l=0;else{c[(j+4+15&-16)+-4>>2]=j;l=j+4+15&-16}c[l>>2]=k;j=c[ba>>2]|0;q=+f[j+(k*36|0)+20>>2];t=+f[j+(k*36|0)+24>>2];p=+f[j+(k*36|0)+28>>2];do if((i|0)>1){o=j;z=l;k=l;u=1;j=l;B=1;F=i+-2|0;C=m;while(1){A=c[n+(F<<2)>>2]|0;j:do if(q*+f[o+(A*36|0)+20>>2]+t*+f[o+(A*36|0)+24>>2]+p*+f[o+(A*36|0)+28>>2]>.9990000128746033){do if((B|0)==(u|0)){l=(u|0)==0?1:u<<1;if((u|0)>=(l|0)){g=k;break}do if(!l)k=0;else{c[6879]=(c[6879]|0)+1;i=Zb((l<<2|3)+16|0)|0;if(!i){k=0;break}c[(i+4+15&-16)+-4>>2]=i;k=i+4+15&-16}while(0);if((u|0)>0){i=0;do{c[k+(i<<2)>>2]=c[j+(i<<2)>>2];i=i+1|0}while((i|0)!=(u|0));if(!z){g=k;z=k;u=l;j=k;break}}else if((j|0)==0|(z|0)==0){g=k;z=k;u=l;j=k;break}c[6880]=(c[6880]|0)+1;kd(c[z+-4>>2]|0);g=k;z=k;u=l;j=k}else g=k;while(0);c[j+(B<<2)>>2]=A;o=B+1|0;if((C|0)>0){m=0;while(1){k=n+(m<<2)|0;if((c[k>>2]|0)==(A|0))break;i=m+1|0;if((i|0)<(C|0))m=i;else{M=g;k=z;l=u;I=o;i=C;break j}}i=C+-1|0;l=n+(i<<2)|0;if((m|0)>=(C|0)){M=g;k=z;l=u;I=o;i=C;break}c[k>>2]=c[l>>2];c[l>>2]=A;M=g;k=z;l=u;I=o}else{M=g;k=z;l=u;I=o;i=C}}else{M=k;k=z;l=u;I=B;i=C}while(0);if((F|0)<=0)break;o=c[ba>>2]|0;z=k;k=M;u=l;B=I;F=F+-1|0;C=i}if((I|0)<=1)if((I|0)==1){k=M;B=1;da=344;break}else{k=M;break}a[ja+84+16>>0]=1;c[O>>2]=0;c[P>>2]=0;c[ja+84+8>>2]=0;p=0.0;q=0.0;t=0.0;k=0;C=0;do{A=c[j+(C<<2)>>2]|0;B=c[ba>>2]|0;p=+f[B+(A*36|0)+20>>2]+p;q=+f[B+(A*36|0)+24>>2]+q;t=+f[B+(A*36|0)+28>>2]+t;l=c[B+(A*36|0)+4>>2]|0;if((l|0)>0){z=0;do{g=c[(c[B+(A*36|0)+12>>2]|0)+(z<<2)>>2]|0;_=(c[(c[d+52>>2]|0)+16>>2]|0)+(g<<4)|0;c[ja>>2]=c[_>>2];c[ja+4>>2]=c[_+4>>2];c[ja+8>>2]=c[_+8>>2];c[ja+12>>2]=c[_+12>>2];k:do if((k|0)>0){m=c[O>>2]|0;o=0;while(1){if((c[m+(o*24|0)+20>>2]|0)==(g|0))break k;o=o+1|0;if((o|0)>=(k|0)){da=224;break}}}else da=224;while(0);if((da|0)==224){da=0;c[ja+48>>2]=c[ja>>2];c[ja+48+4>>2]=c[ja+4>>2];c[ja+48+8>>2]=c[ja+8>>2];c[ja+48+12>>2]=c[ja+12>>2];do if((k|0)==(c[ja+84+8>>2]|0)){u=(k|0)==0?1:k<<1;if((k|0)>=(u|0))break;if(!u)l=0;else{c[6879]=(c[6879]|0)+1;k=Zb((u*24|3)+16|0)|0;if(!k)l=0;else{c[(k+4+15&-16)+-4>>2]=k;l=k+4+15&-16}k=c[P>>2]|0}o=c[O>>2]|0;if((k|0)<=0){if(o)da=234}else{m=0;do{da=l+(m*24|0)|0;_=o+(m*24|0)|0;c[da>>2]=c[_>>2];c[da+4>>2]=c[_+4>>2];c[da+8>>2]=c[_+8>>2];c[da+12>>2]=c[_+12>>2];c[da+16>>2]=c[_+16>>2];c[da+20>>2]=c[_+20>>2];m=m+1|0}while((m|0)!=(k|0));da=234}if((da|0)==234){da=0;if(a[ja+84+16>>0]|0){c[6880]=(c[6880]|0)+1;kd(c[o+-4>>2]|0);k=c[P>>2]|0}c[O>>2]=0}a[ja+84+16>>0]=1;c[O>>2]=l;c[ja+84+8>>2]=u}while(0);l=c[O>>2]|0;_=l+(k*24|0)|0;c[_>>2]=c[ja+48>>2];c[_+4>>2]=c[ja+48+4>>2];c[_+8>>2]=c[ja+48+8>>2];c[_+12>>2]=c[ja+48+12>>2];c[_+16>>2]=c[ja+48+16>>2];c[l+(k*24|0)+20>>2]=g;k=(c[P>>2]|0)+1|0;c[P>>2]=k;l=c[B+(A*36|0)+4>>2]|0}z=z+1|0}while((z|0)<(l|0))}C=C+1|0}while((C|0)!=(I|0));a[ja+48+16>>0]=1;c[N>>2]=0;c[ja+48+4>>2]=0;c[ja+48+8>>2]=0;_=c[j>>2]|0;Z=c[ba>>2]|0;c[ja+48+20>>2]=c[Z+(_*36|0)+20>>2];c[ja+48+24>>2]=c[Z+(_*36|0)+24>>2];c[ja+48+28>>2]=c[Z+(_*36|0)+28>>2];c[ja+48+32>>2]=c[Z+(_*36|0)+32>>2];y=1.0/+s(+(p*p+q*q+t*t));E=p*y;D=q*y;y=t*y;if(+r(+y)>.7071067690849304){x=1.0/+s(+(y*y+D*D));v=0.0;w=D*x;x=-(y*x)}else{x=1.0/+s(+(E*E+D*D));v=-(D*x);w=0.0;x=E*x}o=c[P>>2]|0;do if((o|0)<2)if((o|0)==1){m=1;l=0;o=0;k=0;do{A=c[O>>2]|0;do if((l|0)==(o|0)){z=(o|0)==0?1:o<<1;if((o|0)>=(z|0)){g=o;break}do if(!z)u=0;else{c[6879]=(c[6879]|0)+1;m=Zb((z*24|3)+16|0)|0;if(!m){o=l;u=0;break}c[(m+4+15&-16)+-4>>2]=m;o=l;u=m+4+15&-16}while(0);if((o|0)<=0){if(k|0)da=255}else{m=0;do{da=u+(m*24|0)|0;_=k+(m*24|0)|0;c[da>>2]=c[_>>2];c[da+4>>2]=c[_+4>>2];c[da+8>>2]=c[_+8>>2];c[da+12>>2]=c[_+12>>2];c[da+16>>2]=c[_+16>>2];c[da+20>>2]=c[_+20>>2];m=m+1|0}while((m|0)!=(o|0));da=255}if((da|0)==255){da=0;c[6880]=(c[6880]|0)+1;kd(c[k+-4>>2]|0)}g=l;m=c[P>>2]|0;o=z;k=u}else g=l;while(0);_=k+(g*24|0)|0;c[_>>2]=c[A>>2];c[_+4>>2]=c[A+4>>2];c[_+8>>2]=c[A+8>>2];c[_+12>>2]=c[A+12>>2];c[_+16>>2]=c[A+16>>2];c[_+20>>2]=c[A+20>>2];l=l+1|0}while((l|0)<(m|0));da=289}else{k=0;da=331}else{m=c[O>>2]|0;l=0;do{k=m+(l*24|0)|0;if(v*+f[k>>2]+x*+f[m+(l*24|0)+4>>2]+w*+f[m+(l*24|0)+8>>2]>2]+x*+f[m+4>>2]+w*+f[m+8>>2]){c[ja>>2]=c[m>>2];c[ja+4>>2]=c[m+4>>2];c[ja+8>>2]=c[m+8>>2];c[ja+12>>2]=c[m+12>>2];c[ja+16>>2]=c[m+16>>2];c[ja+20>>2]=c[m+20>>2];c[m>>2]=c[k>>2];c[m+4>>2]=c[k+4>>2];c[m+8>>2]=c[k+8>>2];c[m+12>>2]=c[k+12>>2];c[m+16>>2]=c[k+16>>2];c[m+20>>2]=c[k+20>>2];da=m+(l*24|0)|0;c[da>>2]=c[ja>>2];c[da+4>>2]=c[ja+4>>2];c[da+8>>2]=c[ja+8>>2];c[da+12>>2]=c[ja+12>>2];c[da+16>>2]=c[ja+16>>2];c[da+20>>2]=c[ja+20>>2]}l=l+1|0}while((l|0)<(o|0));f[m+16>>2]=-1000000015047466219876688.0e6;if((o|0)>1){p=+f[m>>2];q=+f[m+4>>2];t=+f[m+8>>2];k=1;do{K=+f[m+(k*24|0)>>2]-p;L=+f[m+(k*24|0)+4>>2]-q;Y=+f[m+(k*24|0)+8>>2]-t;f[m+(k*24|0)+16>>2]=((v*L-x*K)*y+(E*(x*Y-w*L)+D*(w*K-v*Y)))/+s(+(K*K+L*L+Y*Y));k=k+1|0}while((k|0)!=(o|0))}c[ja>>2]=c[m>>2];c[ja+4>>2]=c[m+4>>2];c[ja+8>>2]=c[m+8>>2];c[ja+12>>2]=c[m+12>>2];kf(ja+84|0,ja,1,o+-1|0);l=c[O>>2]|0;c[6879]=(c[6879]|0)+1;k=Zb(43)|0;if(!k)o=0;else{c[(k+4+15&-16)+-4>>2]=k;o=k+4+15&-16}m=c[O>>2]|0;c[o>>2]=c[l>>2];c[o+4>>2]=c[l+4>>2];c[o+8>>2]=c[l+8>>2];c[o+12>>2]=c[l+12>>2];c[o+16>>2]=c[l+16>>2];c[o+20>>2]=c[l+20>>2];c[6879]=(c[6879]|0)+1;k=Zb(67)|0;if(!k)k=0;else{c[(k+4+15&-16)+-4>>2]=k;k=k+4+15&-16}c[k>>2]=c[o>>2];c[k+4>>2]=c[o+4>>2];c[k+8>>2]=c[o+8>>2];c[k+12>>2]=c[o+12>>2];c[k+16>>2]=c[o+16>>2];c[k+20>>2]=c[o+20>>2];if(o|0){c[6880]=(c[6880]|0)+1;kd(c[o+-4>>2]|0)}da=k+24|0;c[da>>2]=c[m+24>>2];c[da+4>>2]=c[m+24+4>>2];c[da+8>>2]=c[m+24+8>>2];c[da+12>>2]=c[m+24+12>>2];c[da+16>>2]=c[m+24+16>>2];c[da+20>>2]=c[m+24+20>>2];m=c[P>>2]|0;if((m|0)==2){l=2;da=289;break}u=2;l=2;o=2;A=2;do{l:do if((u|0)>1){da=c[O>>2]|0;z=da+(A*24|0)|0;p=+f[z>>2];q=+f[da+(A*24|0)+4>>2];t=+f[da+(A*24|0)+8>>2];while(1){da=u+-2|0;g=u+-1|0;K=+f[k+(da*24|0)>>2];L=K-+f[k+(g*24|0)>>2];H=+f[k+(da*24|0)+4>>2];x=H-+f[k+(g*24|0)+4>>2];Y=+f[k+(da*24|0)+8>>2];J=Y-+f[k+(g*24|0)+8>>2];if((L*(H-q)-x*(K-p))*y+(E*(x*(Y-t)-J*(H-q))+D*(J*(K-p)-L*(Y-t)))>0.0)break;if((u|0)>2){u=g;l=g}else{u=1;l=g;break l}}do if((u|0)==(o|0)){g=o<<1;if((o|0)>=(g|0)){u=o;g=o;break}c[6879]=(c[6879]|0)+1;m=Zb((o*48|3)+16|0)|0;if(!m)o=0;else{c[(m+4+15&-16)+-4>>2]=m;o=m+4+15&-16}if((l|0)>0){m=0;do{da=o+(m*24|0)|0;_=k+(m*24|0)|0;c[da>>2]=c[_>>2];c[da+4>>2]=c[_+4>>2];c[da+8>>2]=c[_+8>>2];c[da+12>>2]=c[_+12>>2];c[da+16>>2]=c[_+16>>2];c[da+20>>2]=c[_+20>>2];m=m+1|0}while((m|0)!=(l|0))}c[6880]=(c[6880]|0)+1;kd(c[k+-4>>2]|0);m=c[P>>2]|0;u=l;k=o}else g=o;while(0);u=k+(u*24|0)|0;c[u>>2]=c[z>>2];c[u+4>>2]=c[z+4>>2];c[u+8>>2]=c[z+8>>2];c[u+12>>2]=c[z+12>>2];c[u+16>>2]=c[z+16>>2];c[u+20>>2]=c[z+20>>2];l=l+1|0;u=l;o=g}while(0);A=A+1|0}while((A|0)!=(m|0));if((l|0)>0)da=289;else da=291}while(0);if((da|0)==289){da=0;o=c[ja+48+4>>2]|0;m=c[ja+48+8>>2]|0;z=a[ja+48+16>>0]|0;G=0;while(1){F=k+(G*24|0)+20|0;do if((o|0)==(m|0)){B=(m|0)==0?1:m<<1;if((m|0)>=(B|0)){C=z;o=m;B=m;break}do if(!B)g=0;else{c[6879]=(c[6879]|0)+1;o=Zb((B<<2|3)+16|0)|0;if(!o){g=0;break}c[(o+4+15&-16)+-4>>2]=o;g=o+4+15&-16}while(0);u=c[N>>2]|0;if((m|0)<=0){if(u)da=321}else{o=0;do{c[g+(o<<2)>>2]=c[u+(o<<2)>>2];o=o+1|0}while((o|0)!=(m|0));da=321}if((da|0)==321){da=0;if(z<<24>>24){c[6880]=(c[6880]|0)+1;kd(c[u+-4>>2]|0)}c[N>>2]=0;m=c[ja+48+4>>2]|0}c[N>>2]=g;c[ja+48+8>>2]=B;C=1;o=m}else{C=z;B=m}while(0);c[(c[N>>2]|0)+(o<<2)>>2]=c[F>>2];o=o+1|0;c[ja+48+4>>2]=o;m=c[P>>2]|0;m:do if((m|0)>0){A=c[O>>2]|0;u=c[F>>2]|0;g=0;while(1){z=A+(g*24|0)+20|0;g=g+1|0;if((c[z>>2]|0)==(u|0))break;if((g|0)>=(m|0))break m}c[z>>2]=-1}while(0);G=G+1|0;if((G|0)>=(l|0))break;else{m=B;z=C}}a[ja+48+16>>0]=C;da=291}n:do if((da|0)==291){da=0;if((m|0)>0){z=c[O>>2]|0;A=c[$>>2]|0;B=c[ba>>2]|0;F=(I|0)>0;if((A|0)<=0){da=331;break}G=0;while(1){C=c[z+(G*24|0)+20>>2]|0;o:do if((C|0)!=-1){if(!F){u=0;while(1){l=c[B+(u*36|0)+4>>2]|0;if((l|0)>0){o=c[B+(u*36|0)+12>>2]|0;g=0;do{if((c[o+(g<<2)>>2]|0)==(C|0)){l=1;break n}g=g+1|0}while((g|0)<(l|0))}u=u+1|0;if((u|0)>=(A|0))break o}}g=0;do{l=0;while(1){if((c[j+(l<<2)>>2]|0)==(g|0))break;l=l+1|0;if((l|0)>=(I|0)){da=306;break}}do if((da|0)==306){da=0;l=c[B+(g*36|0)+4>>2]|0;if((l|0)<=0)break;o=c[B+(g*36|0)+12>>2]|0;u=0;do{if((c[o+(u<<2)>>2]|0)==(C|0)){l=1;break n}u=u+1|0}while((u|0)<(l|0))}while(0);g=g+1|0}while((g|0)<(A|0))}while(0);G=G+1|0;if((G|0)>=(m|0)){da=331;break}}}else da=331}while(0);if((da|0)==331){da=0;jh((c[d+52>>2]|0)+24|0,ja+48|0);l=0}if(k|0){c[6880]=(c[6880]|0)+1;kd(c[k+-4>>2]|0)}k=c[N>>2]|0;if(k|0){if(a[ja+48+16>>0]|0){c[6880]=(c[6880]|0)+1;kd(c[k+-4>>2]|0)}c[N>>2]=0}k=c[O>>2]|0;if(k|0){if(a[ja+84+16>>0]|0){c[6880]=(c[6880]|0)+1;kd(c[k+-4>>2]|0)}c[O>>2]=0}if(l&(I|0)>0){k=M;B=I;da=344}else k=M}else{k=l;j=l;B=1;i=m;da=344}while(0);if((da|0)==344){da=0;A=0;do{g=c[j+(A<<2)>>2]|0;z=c[ba>>2]|0;a[ja+16>>0]=1;c[ja+12>>2]=0;c[ja+4>>2]=0;c[ja+8>>2]=0;u=c[z+(g*36|0)+4>>2]|0;if((u|0)>0){c[6879]=(c[6879]|0)+1;m=Zb((u<<2|3)+16|0)|0;do if(!m){o=0;l=0}else{c[(m+4+15&-16)+-4>>2]=m;l=c[ja+12>>2]|0;if((l|0)==0|(a[ja+16>>0]|0)==0){o=m+4+15&-16;l=m+4+15&-16;break}c[6880]=(c[6880]|0)+1;kd(c[l+-4>>2]|0);o=m+4+15&-16;l=m+4+15&-16}while(0);a[ja+16>>0]=1;c[ja+12>>2]=l;c[ja+8>>2]=u;el(l|0,0,u<<2|0)|0;c[ja+4>>2]=u;l=c[z+(g*36|0)+12>>2]|0;m=0;do{c[o+(m<<2)>>2]=c[l+(m<<2)>>2];m=m+1|0}while((m|0)!=(u|0));l=c[ja+12>>2]|0}else{c[ja+4>>2]=u;l=0}c[ja+20>>2]=c[z+(g*36|0)+20>>2];c[ja+20+4>>2]=c[z+(g*36|0)+20+4>>2];c[ja+20+8>>2]=c[z+(g*36|0)+20+8>>2];c[ja+20+12>>2]=c[z+(g*36|0)+20+12>>2];jh((c[d+52>>2]|0)+24|0,ja);if(l|0){if(a[ja+16>>0]|0){c[6880]=(c[6880]|0)+1;kd(c[l+-4>>2]|0)}c[ja+12>>2]=0}A=A+1|0}while((A|0)<(B|0))}if(!((j|0)==0|(k|0)==0)){c[6880]=(c[6880]|0)+1;kd(c[k+-4>>2]|0)}if(!i){_=Q;break i}}}else{_=0;n=0}while(0);Z=c[d+52>>2]|0;c[Z+64>>2]=0;c[Z+64+4>>2]=0;c[Z+64+8>>2]=0;c[Z+64+12>>2]=0;i=c[Z+28>>2]|0;if((i|0)>0){A=0;F=0;z=0;j=0;k=0;I=0;C=0;g=0;l=0;G=0;u=0;m=0;B=0;M=0;X=0;while(1){o=c[Z+36>>2]|0;W=c[o+(X*36|0)+4>>2]|0;if((W|0)>0){U=X&65535;V=X|-65536;R=A;P=z;S=C;O=u;i=0;while(1){T=i+1|0;C=c[o+(X*36|0)+12>>2]|0;u=c[C+(i<<2)>>2]&65535;C=c[C+(((T|0)==(W|0)?0:T)<<2)>>2]&65535;Q=C<<16>>16>u<<16>>16?u:C;d=C<<16>>16>u<<16>>16?C:u;o=C<<16>>16>u<<16>>16?u:C;u=C<<16>>16>u<<16>>16?C:u;C=O+-1|0;p:do if((((o&65535)<<16)+(u<<16>>16)&C)>>>0>>0?(ea=c[k+((((o&65535)<<16)+(u<<16>>16)&C)<<2)>>2]|0,(ea|0)!=-1):0){i=ea;while(1){if(u<<16>>16==(b[j+(i<<2)>>1]|0)?o<<16>>16==(b[j+(i<<2)+2>>1]|0):0)break;i=c[l+(i<<2)>>2]|0;if((i|0)==-1){A=0;break p}}A=m+(i<<2)|0}else A=0;while(0);i=c[Z+16>>2]|0;x=+f[i+(o<<16>>16<<4)>>2]-+f[i+(u<<16>>16<<4)>>2];y=+f[i+(o<<16>>16<<4)+4>>2]-+f[i+(u<<16>>16<<4)+4>>2];w=+f[i+(o<<16>>16<<4)+8>>2]-+f[i+(u<<16>>16<<4)+8>>2];v=1.0/+s(+(x*x+y*y+w*w));i=c[Z+48>>2]|0;q:do if((i|0)>0){o=c[Z+56>>2]|0;u=0;while(1){p=+f[o+(u<<4)>>2];q=+f[o+(u<<4)+4>>2];t=+f[o+(u<<4)+8>>2];do if(!(+r(+(p-x*v))>1.0e-06)){if(+r(+(q-y*v))>1.0e-06)break;if(!(+r(+(t-w*v))>1.0e-06))break q}while(0);do if(!(+r(+(x*v+p))>1.0e-06)){if(+r(+(y*v+q))>1.0e-06)break;if(!(+r(+(w*v+t))>1.0e-06))break q}while(0);u=u+1|0;if((u|0)>=(i|0)){da=387;break}}}else da=387;while(0);if((da|0)==387){da=0;do if((i|0)==(c[Z+52>>2]|0)){z=(i|0)==0?1:i<<1;if((i|0)>=(z|0))break;if(!z)o=0;else{c[6879]=(c[6879]|0)+1;i=Zb((z<<4|3)+16|0)|0;if(!i)o=0;else{c[(i+4+15&-16)+-4>>2]=i;o=i+4+15&-16}i=c[Z+48>>2]|0}if((i|0)>0){u=0;do{N=o+(u<<4)|0;ka=(c[Z+56>>2]|0)+(u<<4)|0;c[N>>2]=c[ka>>2];c[N+4>>2]=c[ka+4>>2];c[N+8>>2]=c[ka+8>>2];c[N+12>>2]=c[ka+12>>2];u=u+1|0}while((u|0)!=(i|0))}i=c[Z+56>>2]|0;if(i|0){if(a[Z+60>>0]|0){c[6880]=(c[6880]|0)+1;kd(c[i+-4>>2]|0)}c[Z+56>>2]=0}a[Z+60>>0]=1;c[Z+56>>2]=o;c[Z+52>>2]=z;i=c[Z+48>>2]|0}while(0);ka=c[Z+56>>2]|0;f[ka+(i<<4)>>2]=x*v;f[ka+(i<<4)+4>>2]=y*v;f[ka+(i<<4)+8>>2]=w*v;f[ka+(i<<4)+12>>2]=0.0;c[Z+48>>2]=(c[Z+48>>2]|0)+1}r:do if(!A){i=((Q&65535)<<16)+(d<<16>>16)&C;s:do if(i>>>0>>0){o=c[k+(i<<2)>>2]|0;if((o|0)==-1)break;while(1){if(d<<16>>16==(b[j+(o<<2)>>1]|0)?Q<<16>>16==(b[j+(o<<2)+2>>1]|0):0)break;o=c[l+(o<<2)>>2]|0;if((o|0)==-1)break s}A=m+(o<<2)|0;b[A>>1]=V;b[A+2>>1]=V>>>16;A=R;z=P;C=S;u=O;break r}while(0);do if((G|0)==(O|0)){u=(G|0)==0?1:G<<1;if((G|0)>=(u|0)){u=G;break}do if(!u)z=0;else{c[6879]=(c[6879]|0)+1;o=Zb((u<<2|3)+16|0)|0;if(!o){z=0;break}c[(o+4+15&-16)+-4>>2]=o;z=o+4+15&-16}while(0);if((G|0)<=0){if(!m){m=z;break}}else{o=0;do{ka=z+(o<<2)|0;N=m+(o<<2)|0;N=e[N>>1]|e[N+2>>1]<<16;b[ka>>1]=N;b[ka+2>>1]=N>>>16;o=o+1|0}while((o|0)!=(G|0))}c[6880]=(c[6880]|0)+1;kd(c[m+-4>>2]|0);m=z}else u=O;while(0);N=m+(G<<2)|0;b[N>>1]=V;b[N+2>>1]=V>>>16;N=G+1|0;do if((M|0)==(P|0)){z=(M|0)==0?1:M<<1;if((M|0)>=(z|0)){z=M;break}do if(!z)A=0;else{c[6879]=(c[6879]|0)+1;o=Zb((z<<2|3)+16|0)|0;if(!o){A=0;break}c[(o+4+15&-16)+-4>>2]=o;A=o+4+15&-16}while(0);if((M|0)<=0){if(!j){j=A;break}}else{o=0;do{ka=A+(o<<2)|0;P=j+(o<<2)|0;P=e[P>>1]|e[P+2>>1]<<16;b[ka>>1]=P;b[ka+2>>1]=P>>>16;o=o+1|0}while((o|0)!=(M|0))}c[6880]=(c[6880]|0)+1;kd(c[j+-4>>2]|0);j=A}else z=P;while(0);ka=j+(M<<2)|0;b[ka>>1]=(Q&65535)<<16|d&65535;b[ka+2>>1]=((Q&65535)<<16|d&65535)>>>16;M=M+1|0;if((O|0)<(u|0)){do if((I|0)<(u|0)){do if((B|0)<(u|0)){do if(!u)o=0;else{c[6879]=(c[6879]|0)+1;i=Zb((u<<2|3)+16|0)|0;if(!i){o=0;break}c[(i+4+15&-16)+-4>>2]=i;o=i+4+15&-16}while(0);if((I|0)<=0){if(!k){F=o;k=o;B=u;break}}else{i=0;do{c[o+(i<<2)>>2]=c[k+(i<<2)>>2];i=i+1|0}while((i|0)!=(I|0))}c[6880]=(c[6880]|0)+1;kd(c[k+-4>>2]|0);F=o;k=o;B=u}while(0);C=u<<2;el(k+(I<<2)|0,0,C-(I<<2)|0)|0;if((S|0)<(u|0)){do if((g|0)<(u|0)){do if(!u)o=0;else{c[6879]=(c[6879]|0)+1;i=Zb((C|3)+16|0)|0;if(!i){o=0;break}c[(i+4+15&-16)+-4>>2]=i;o=i+4+15&-16}while(0);if((S|0)<=0){if(!l){i=o;g=u;l=o;break}}else{i=0;do{c[o+(i<<2)>>2]=c[l+(i<<2)>>2];i=i+1|0}while((i|0)!=(S|0))}c[6880]=(c[6880]|0)+1;kd(c[l+-4>>2]|0);i=o;g=u;l=o}else i=R;while(0);el(l+(S<<2)|0,0,C-(S<<2)|0)|0;A=i}else A=R;if((u|0)>0){el(F|0,-1,C|0)|0;el(A|0,-1,C|0)|0}if((I|0)<=0){o=u;C=u;i=B;break}o=u+-1|0;i=0;do{ka=k+(((e[j+(i<<2)+2>>1]<<16)+(b[j+(i<<2)>>1]|0)&o)<<2)|0;c[l+(i<<2)>>2]=c[ka>>2];c[ka>>2]=i;i=i+1|0}while((i|0)!=(I|0));o=u;C=u;i=B}else{A=R;o=I;C=S;i=B}while(0);B=i;i=((Q&65535)<<16)+(d<<16>>16)&u+-1}else{A=R;o=I;C=S}I=k+(i<<2)|0;c[l+(G<<2)>>2]=c[I>>2];c[I>>2]=G;I=o;G=N}else{b[A+2>>1]=U;A=R;z=P;C=S;u=O}while(0);if((T|0)>=(W|0))break;o=c[Z+36>>2]|0;R=A;P=z;S=C;O=u;i=T}i=c[Z+28>>2]|0;o=M}else o=M;X=X+1|0;if((X|0)>=(i|0))break;else M=o}if((i|0)>0){A=c[Z+36>>2]|0;B=c[Z+16>>2]|0;p=0.0;C=0;do{u=c[A+(C*36|0)+4>>2]|0;g=c[A+(C*36|0)+12>>2]|0;z=c[g>>2]|0;if((u|0)>=3){q=+f[Z+64>>2];t=+f[Z+68>>2];v=+f[Z+72>>2];o=1;do{ea=c[g+(o<<2)>>2]|0;o=o+1|0;ka=c[g+(((o|0)%(u|0)|0)<<2)>>2]|0;w=+f[B+(z<<4)>>2];x=+f[B+(ea<<4)>>2];D=+f[B+(z<<4)+4>>2];E=+f[B+(ea<<4)+4>>2];J=+f[B+(z<<4)+8>>2];K=+f[B+(ea<<4)+8>>2];y=+f[B+(ka<<4)>>2];H=+f[B+(ka<<4)+4>>2];L=+f[B+(ka<<4)+8>>2];Y=+s(+(((w-x)*(D-H)-(D-E)*(w-y))*((w-x)*(D-H)-(D-E)*(w-y))+(((D-E)*(J-L)-(J-K)*(D-H))*((D-E)*(J-L)-(J-K)*(D-H))+((J-K)*(w-y)-(w-x)*(J-L))*((J-K)*(w-y)-(w-x)*(J-L)))))*.5;q=q+(w+x+y)*.3333333432674408*Y;f[Z+64>>2]=q;t=t+(D+E+H)*.3333333432674408*Y;f[Z+68>>2]=t;v=v+(J+K+L)*.3333333432674408*Y;f[Z+72>>2]=v;p=p+Y}while((o|0)!=(u+-1|0))}C=C+1|0}while((C|0)!=(i|0));o=Z+64|0;u=1;z=j;g=k}else da=365}else{j=0;k=0;l=0;m=0;da=365}if((da|0)==365){p=0.0;o=Z+64|0;u=0;z=j;g=k}v=1.0/p;w=v*+f[o>>2];f[o>>2]=w;t=v*+f[Z+68>>2];f[Z+68>>2]=t;v=v*+f[Z+72>>2];f[Z+72>>2]=v;f[Z+96>>2]=3402823466385288598117041.0e14;if(u){j=c[Z+36>>2]|0;q=3402823466385288598117041.0e14;k=0;while(1){p=+r(+(+f[j+(k*36|0)+32>>2]+(w*+f[j+(k*36|0)+20>>2]+t*+f[j+(k*36|0)+24>>2]+v*+f[j+(k*36|0)+28>>2])));if(p>2]=p;else p=q;k=k+1|0;if((k|0)==(i|0))break;else q=p}}else p=3402823466385288598117041.0e14;i=c[Z+8>>2]|0;if((i|0)>0){j=c[Z+16>>2]|0;y=-3402823466385288598117041.0e14;x=-3402823466385288598117041.0e14;w=-3402823466385288598117041.0e14;v=3402823466385288598117041.0e14;t=3402823466385288598117041.0e14;q=3402823466385288598117041.0e14;k=0;do{Y=+f[j+(k<<4)>>2];v=Yy?Y:y;Y=+f[j+(k<<4)+4>>2];t=Yx?Y:x;Y=+f[j+(k<<4)+8>>2];q=Yw?Y:w;k=k+1|0}while((k|0)!=(i|0))}else{y=-3402823466385288598117041.0e14;x=-3402823466385288598117041.0e14;w=-3402823466385288598117041.0e14;v=3402823466385288598117041.0e14;t=3402823466385288598117041.0e14;q=3402823466385288598117041.0e14}f[Z+100>>2]=v+y;f[Z+104>>2]=t+x;f[Z+108>>2]=q+w;f[Z+112>>2]=0.0;Y=y-v;L=x-t;q=w-q;f[Z+116>>2]=Y;f[Z+120>>2]=L;f[Z+124>>2]=q;f[Z+128>>2]=0.0;t=p/1.7320507764816284;o=Y>2]*.5-t)*.0009765625;f[Z+88>>2]=t;f[Z+84>>2]=t;f[Z+80>>2]=t;p=+f[Z+116+(o<<2)>>2]*.5;f[Z+80+(o<<2)>>2]=p;i=0;while(1){if(bh(Z)|0){da=478;break}p=p-q;f[Z+80+(o<<2)>>2]=p;i=i+1|0;if(i>>>0>=1024){da=477;break}}t:do if((da|0)==477){f[Z+88>>2]=t;f[Z+84>>2]=t;f[Z+80>>2]=t}else if((da|0)==478){q=(+f[Z+96>>2]-t)*.0009765625;j=c[Z+80+((1<<(1<>2]|0;k=0;while(1){i=c[Z+80+((1<>2]|0;f[Z+80+((1<>2]=q+(c[h>>2]=i,+f[h>>2]);p=q+ +f[Z+80+((1<<(1<>2];f[Z+80+((1<<(1<>2]=p;k=k+1|0;if(!(bh(Z)|0))break;if(k>>>0>=1024)break t;else j=(f[h>>2]=p,c[h>>2]|0)}c[Z+80+((1<>2]=i;c[Z+80+((1<<(1<>2]=j}while(0);if(z|0){c[6880]=(c[6880]|0)+1;kd(c[z+-4>>2]|0)}if(m|0){c[6880]=(c[6880]|0)+1;kd(c[m+-4>>2]|0)}if(l|0){c[6880]=(c[6880]|0)+1;kd(c[l+-4>>2]|0)}if(g|0){c[6880]=(c[6880]|0)+1;kd(c[g+-4>>2]|0)}if(!((n|0)==0|(_|0)==0)){c[6880]=(c[6880]|0)+1;kd(c[_+-4>>2]|0)}n=c[$>>2]|0;o=c[ba>>2]|0;if((n|0)<=0){if(o|0)da=500}else{k=0;do{m=o+(k*36|0)+4|0;l=o+(k*36|0)+12|0;j=c[l>>2]|0;i=o+(k*36|0)+16|0;if(j|0){if(a[i>>0]|0){c[6880]=(c[6880]|0)+1;kd(c[j+-4>>2]|0)}c[l>>2]=0}a[i>>0]=1;c[l>>2]=0;c[m>>2]=0;c[o+(k*36|0)+8>>2]=0;k=k+1|0}while((k|0)!=(n|0));da=500}if((da|0)==500){if(a[ja+104+16>>0]|0){c[6880]=(c[6880]|0)+1;kd(c[o+-4>>2]|0)}c[ba>>2]=0}if(!((aa|0)==0|(ca|0)==0)){c[6880]=(c[6880]|0)+1;kd(c[ca+-4>>2]|0)}i=c[fa>>2]|0;if(i|0){if(a[ja+124+56>>0]|0){c[6880]=(c[6880]|0)+1;kd(c[i+-4>>2]|0)}c[fa>>2]=0}a[ja+124+56>>0]=1;c[fa>>2]=0;c[ja+124+44>>2]=0;c[ja+124+48>>2]=0;i=c[ga>>2]|0;if(i|0){if(a[ja+124+36>>0]|0){c[6880]=(c[6880]|0)+1;kd(c[i+-4>>2]|0)}c[ga>>2]=0}a[ja+124+36>>0]=1;c[ga>>2]=0;c[ja+124+24>>2]=0;c[ja+124+28>>2]=0;i=c[ha>>2]|0;if(i|0){if(a[ja+124+16>>0]|0){c[6880]=(c[6880]|0)+1;kd(c[i+-4>>2]|0)}c[ha>>2]=0}if(!ia){Ta=ja;return 1}c[6880]=(c[6880]|0)+1;kd(c[ia+-4>>2]|0);Ta=ja;return 1}function Ob(b,d,e,g,h){b=b|0;d=d|0;e=e|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0,t=0,w=0.0,x=0.0,y=0.0,z=0.0,A=0,B=0.0,C=0.0,D=0.0,E=0.0,F=0,G=0.0,H=0,I=0,J=0,K=0.0,L=0,M=0.0,N=0.0,O=0.0,P=0.0,Q=0.0,R=0.0,S=0,T=0,U=0,V=0.0,W=0.0,X=0.0,Y=0.0,Z=0.0,_=0.0,$=0.0,aa=0.0,ba=0.0,ca=0.0,da=0.0,ea=0.0,fa=0.0,ga=0.0,ha=0.0,ia=0.0,ja=0.0,ka=0.0,la=0,ma=0.0,na=0.0,oa=0.0,pa=0,qa=0.0,ra=0,sa=0,ta=0,ua=0;ua=Ta;Ta=Ta+688|0;i=c[b+20>>2]|0;if(!i){i=c[b+4>>2]|0;i=ib[c[(c[i>>2]|0)+12>>2]&63](i,c[d+8>>2]|0,c[e+8>>2]|0)|0;c[b+20>>2]=i;a[b+16>>0]=1}c[h+4>>2]=i;ra=c[d+4>>2]|0;sa=c[e+4>>2]|0;j=c[ra+4>>2]|0;k=c[sa+4>>2]|0;if((j|0)==10&(k|0)==10){R=+f[i+752>>2];pa=c[ra+52>>2]|0;w=+f[ra+28+(pa<<2)>>2];Q=+f[ra+28+(((pa+2|0)%3|0)<<2)>>2];ta=c[sa+52>>2]|0;m=+f[sa+28+(ta<<2)>>2];P=+f[sa+28+(((ta+2|0)%3|0)<<2)>>2];b=c[d+12>>2]|0;d=c[e+12>>2]|0;E=+f[b+(pa<<2)>>2];K=+f[b+16+(pa<<2)>>2];G=+f[b+32+(pa<<2)>>2];o=+f[d+(ta<<2)>>2];p=+f[d+16+(ta<<2)>>2];z=+f[d+32+(ta<<2)>>2];M=+f[d+48>>2];N=+f[d+52>>2];O=+f[d+56>>2];B=M-+f[b+48>>2];C=N-+f[b+52>>2];D=O-+f[b+56>>2];l=1.0-(E*o+K*p+G*z)*(E*o+K*p+G*z);if(!(l==0.0)){l=(E*B+K*C+G*D-(E*o+K*p+G*z)*(o*B+p*C+z*D))/l;if(!(l<-w)){if(l>w)l=w}else l=-w}else l=0.0;n=(E*o+K*p+G*z)*l-(o*B+p*C+z*D);if(n<-m){l=(E*o+K*p+G*z)*-m+(E*B+K*C+G*D);if(!(l<-w))if(l>w){l=w;m=-m}else m=-m;else{l=-w;m=-m}}else if(n>m){l=m*(E*o+K*p+G*z)+(E*B+K*C+G*D);if(!(l<-w)){if(l>w)l=w}else l=-w}else m=n;y=o*m;x=p*m;w=z*m;m=y+(B-E*l);p=x+(C-K*l);l=w+(D-G*l);o=+s(+(l*l+(m*m+p*p)));if(!(o-Q-P>R)){do if(l*l+(m*m+p*p)<=1.4210854715202004e-14)if(+r(+G)>.7071067690849304){l=1.0/+s(+(K*K+G*G));f[ua+280>>2]=0.0;f[ua+280+4>>2]=-(G*l);f[ua+280+8>>2]=K*l;n=0.0;m=-(G*l);l=K*l;break}else{m=1.0/+s(+(E*E+K*K));f[ua+280>>2]=-(K*m);f[ua+280+4>>2]=E*m;f[ua+280+8>>2]=0.0;n=-(K*m);m=E*m;l=0.0;break}else{f[ua+280>>2]=m*-(1.0/o);f[ua+280+4>>2]=p*-(1.0/o);f[ua+280+8>>2]=l*-(1.0/o);f[ua+280+12>>2]=0.0;n=m*-(1.0/o);m=p*-(1.0/o);l=l*-(1.0/o)}while(0);f[ua+264>>2]=M+y+P*n;f[ua+264+4>>2]=N+x+P*m;f[ua+264+8>>2]=O+w+P*l;f[ua+264+12>>2]=0.0}if(o-Q-P>2]|0)+16>>2]&31](h,ua+280|0,ua+264|0,o-Q-P);i=c[h+4>>2]|0;if(!(c[i+748>>2]|0)){Ta=ua;return}j=c[i+740>>2]|0;k=c[(c[h+8>>2]|0)+8>>2]|0;if((j|0)==(k|0)){ye(i,j+4|0,(c[(c[h+12>>2]|0)+8>>2]|0)+4|0);Ta=ua;return}else{ye(i,(c[(c[h+12>>2]|0)+8>>2]|0)+4|0,k+4|0);Ta=ua;return}}f[ua+128+128>>2]=999999984306749440.0;i=c[b+8>>2]|0;A=c[b+12>>2]|0;c[ua+48>>2]=10820;c[ua+48+4>>2]=0;c[ua+48+8>>2]=1065353216;c[ua+48+12>>2]=0;f[ua+48+16>>2]=0.0;c[ua+48+20>>2]=A;c[ua+48+24>>2]=i;c[ua+48+28>>2]=ra;c[ua+48+32>>2]=sa;c[ua+48+36>>2]=j;c[ua+48+40>>2]=k;f[ua+48+44>>2]=+Wa[c[(c[ra>>2]|0)+48>>2]&31](ra);f[ua+48+48>>2]=+Wa[c[(c[sa>>2]|0)+48>>2]&31](sa);a[ua+48+52>>0]=0;c[ua+48+60>>2]=-1;c[ua+48+72>>2]=1;c[ua+48+76>>2]=1;c[ua+48+28>>2]=ra;c[ua+48+32>>2]=sa;oa=+Wa[c[(c[ra>>2]|0)+48>>2]&31](ra);qa=+Wa[c[(c[sa>>2]|0)+48>>2]&31](sa);qa=oa+qa+ +f[(c[b+20>>2]|0)+752>>2];f[ua+128+128>>2]=qa*qa;i=c[d+12>>2]|0;c[ua+128>>2]=c[i>>2];c[ua+128+4>>2]=c[i+4>>2];c[ua+128+8>>2]=c[i+8>>2];c[ua+128+12>>2]=c[i+12>>2];A=ua+128+16|0;c[A>>2]=c[i+16>>2];c[A+4>>2]=c[i+16+4>>2];c[A+8>>2]=c[i+16+8>>2];c[A+12>>2]=c[i+16+12>>2];k=ua+128+32|0;c[k>>2]=c[i+32>>2];c[k+4>>2]=c[i+32+4>>2];c[k+8>>2]=c[i+32+8>>2];c[k+12>>2]=c[i+32+12>>2];H=ua+128+48|0;c[H>>2]=c[i+48>>2];c[H+4>>2]=c[i+48+4>>2];c[H+8>>2]=c[i+48+8>>2];c[H+12>>2]=c[i+48+12>>2];i=c[e+12>>2]|0;J=ua+128+64|0;c[J>>2]=c[i>>2];c[J+4>>2]=c[i+4>>2];c[J+8>>2]=c[i+8>>2];c[J+12>>2]=c[i+12>>2];F=ua+128+80|0;c[F>>2]=c[i+16>>2];c[F+4>>2]=c[i+16+4>>2];c[F+8>>2]=c[i+16+8>>2];c[F+12>>2]=c[i+16+12>>2];t=ua+128+96|0;c[t>>2]=c[i+32>>2];c[t+4>>2]=c[i+32+4>>2];c[t+8>>2]=c[i+32+8>>2];c[t+12>>2]=c[i+32+12>>2];I=ua+128+112|0;c[I>>2]=c[i+48>>2];c[I+4>>2]=c[i+48+4>>2];c[I+8>>2]=c[i+48+8>>2];c[I+12>>2]=c[i+48+12>>2];i=c[ra+4>>2]|0;if((i|0)<7?(q=c[sa+4>>2]|0,(q|0)<7):0){c[ua+40>>2]=7416;if(!i){i=q;m=0.0}else{m=+Wa[c[(c[ra>>2]|0)+48>>2]&31](ra);i=c[sa+4>>2]|0}if(!i)l=0.0;else l=+Wa[c[(c[sa>>2]|0)+48>>2]&31](sa);c[ua>>2]=7444;c[ua+4>>2]=h;f[ua+24>>2]=m;f[ua+28>>2]=l;a[ua+36>>0]=0;U=c[ra+52>>2]|0;a:do if(U|0){la=c[sa+52>>2]|0;do if(!la){if((c[sa+4>>2]|0)!=1)break a;F=ua+624+16|0;a[F>>0]=1;A=ua+624+12|0;c[A>>2]=0;t=ua+624+4|0;c[t>>2]=0;q=ua+624+8|0;c[q>>2]=0;i=c[e+12>>2]|0;oa=+f[sa+56>>2];qa=+f[sa+56+4>>2];m=+f[sa+56+8>>2];l=oa*+f[i>>2]+qa*+f[i+4>>2]+m*+f[i+8>>2]+ +f[i+48>>2];n=oa*+f[i+16>>2]+qa*+f[i+20>>2]+m*+f[i+24>>2]+ +f[i+52>>2];m=oa*+f[i+32>>2]+qa*+f[i+36>>2]+m*+f[i+40>>2]+ +f[i+56>>2];c[6879]=(c[6879]|0)+1;i=Zb(35)|0;if(!i)j=0;else{c[(i+4+15&-16)+-4>>2]=i;j=i+4+15&-16}i=c[A>>2]|0;if(!i)i=0;else{c[6880]=(c[6880]|0)+1;kd(c[i+-4>>2]|0);i=c[t>>2]|0;c[A>>2]=0}a[F>>0]=1;c[A>>2]=j;c[q>>2]=1;f[j+(i<<4)>>2]=l;f[j+(i<<4)+4>>2]=n;f[j+(i<<4)+8>>2]=m;f[j+(i<<4)+12>>2]=0.0;i=(c[t>>2]|0)+1|0;c[t>>2]=i;ta=c[e+12>>2]|0;oa=+f[sa+56+16>>2];qa=+f[sa+56+20>>2];m=+f[sa+56+24>>2];l=oa*+f[ta>>2]+qa*+f[ta+4>>2]+m*+f[ta+8>>2]+ +f[ta+48>>2];n=oa*+f[ta+16>>2]+qa*+f[ta+20>>2]+m*+f[ta+24>>2]+ +f[ta+52>>2];m=oa*+f[ta+32>>2]+qa*+f[ta+36>>2]+m*+f[ta+40>>2]+ +f[ta+56>>2];if((i|0)==(c[q>>2]|0)?(L=(i|0)==0?1:i<<1,(i|0)<(L|0)):0){if(!L)j=0;else{c[6879]=(c[6879]|0)+1;i=Zb((L<<4|3)+16|0)|0;if(!i)j=0;else{c[(i+4+15&-16)+-4>>2]=i;j=i+4+15&-16}i=c[t>>2]|0}if((i|0)>0){k=0;do{ta=j+(k<<4)|0;pa=(c[A>>2]|0)+(k<<4)|0;c[ta>>2]=c[pa>>2];c[ta+4>>2]=c[pa+4>>2];c[ta+8>>2]=c[pa+8>>2];c[ta+12>>2]=c[pa+12>>2];k=k+1|0}while((k|0)!=(i|0))}i=c[A>>2]|0;if(i|0){if(a[F>>0]|0){c[6880]=(c[6880]|0)+1;kd(c[i+-4>>2]|0)}c[A>>2]=0}a[F>>0]=1;c[A>>2]=j;c[q>>2]=L;i=c[t>>2]|0}ta=c[A>>2]|0;f[ta+(i<<4)>>2]=l;f[ta+(i<<4)+4>>2]=n;f[ta+(i<<4)+8>>2]=m;f[ta+(i<<4)+12>>2]=0.0;i=(c[t>>2]|0)+1|0;c[t>>2]=i;ta=c[e+12>>2]|0;oa=+f[sa+56+32>>2];qa=+f[sa+56+36>>2];m=+f[sa+56+40>>2];l=oa*+f[ta>>2]+qa*+f[ta+4>>2]+m*+f[ta+8>>2]+ +f[ta+48>>2];n=oa*+f[ta+16>>2]+qa*+f[ta+20>>2]+m*+f[ta+24>>2]+ +f[ta+52>>2];m=oa*+f[ta+32>>2]+qa*+f[ta+36>>2]+m*+f[ta+40>>2]+ +f[ta+56>>2];if((i|0)==(c[q>>2]|0)?(S=(i|0)==0?1:i<<1,(i|0)<(S|0)):0){if(!S)j=0;else{c[6879]=(c[6879]|0)+1;i=Zb((S<<4|3)+16|0)|0;if(!i)j=0;else{c[(i+4+15&-16)+-4>>2]=i;j=i+4+15&-16}i=c[t>>2]|0}if((i|0)>0){k=0;do{ta=j+(k<<4)|0;e=(c[A>>2]|0)+(k<<4)|0;c[ta>>2]=c[e>>2];c[ta+4>>2]=c[e+4>>2];c[ta+8>>2]=c[e+8>>2];c[ta+12>>2]=c[e+12>>2];k=k+1|0}while((k|0)!=(i|0))}i=c[A>>2]|0;if(i|0){if(a[F>>0]|0){c[6880]=(c[6880]|0)+1;kd(c[i+-4>>2]|0)}c[A>>2]=0}a[F>>0]=1;c[A>>2]=j;c[q>>2]=S;i=c[t>>2]|0}ta=c[A>>2]|0;f[ta+(i<<4)>>2]=l;f[ta+(i<<4)+4>>2]=n;f[ta+(i<<4)+8>>2]=m;f[ta+(i<<4)+12>>2]=0.0;c[t>>2]=(c[t>>2]|0)+1;o=+f[(c[b+20>>2]|0)+752>>2];wc(ua+48|0,ua+128|0,ua+40|0,c[g+20>>2]|0,0);l=+f[ua+48+4>>2];m=+f[ua+48+8>>2];n=+f[ua+48+12>>2];if(l*l+m*m+n*n>1.1920928955078125e-07){oa=1.0/(l*l+m*m+n*n);f[ua+384>>2]=l*oa;f[ua+384+4>>2]=m*oa;f[ua+384+8>>2]=n*oa;f[ua+384+12>>2]=0.0;oa=+f[ua+48+56>>2];qa=+Wa[c[(c[ra>>2]|0)+48>>2]&31](ra);qa=oa-qa-+Wa[c[(c[sa>>2]|0)+48>>2]&31](sa);vc(ua+384|0,c[ra+52>>2]|0,c[d+12>>2]|0,ua+624|0,qa-o,o,h)}do if(a[b+16>>0]|0?(T=c[h+4>>2]|0,c[T+748>>2]|0):0){i=c[T+740>>2]|0;j=c[(c[h+8>>2]|0)+8>>2]|0;if((i|0)==(j|0)){ye(T,i+4|0,(c[(c[h+12>>2]|0)+8>>2]|0)+4|0);break}else{ye(T,(c[(c[h+12>>2]|0)+8>>2]|0)+4|0,j+4|0);break}}while(0);i=c[A>>2]|0;if(i|0){if(a[F>>0]|0){c[6880]=(c[6880]|0)+1;kd(c[i+-4>>2]|0)}c[A>>2]=0}}else{qa=+f[(c[b+20>>2]|0)+752>>2];b:do if(!(a[g+24>>0]|0)){wc(ua+48|0,ua+128|0,ua,c[g+20>>2]|0,0);l=+f[ua+32>>2];if(l<0.0&(a[ua+36>>0]|0)!=0){m=+f[ua+8>>2];n=+f[ua+12>>2];o=+f[ua+16>>2];i=c[ua+20>>2]|0;pa=112}}else{F=c[d+12>>2]|0;H=c[e+12>>2]|0;c[6862]=(c[6862]|0)+1;ga=+f[U+64>>2];ha=+f[U+68>>2];l=+f[F+4>>2];ia=+f[U+72>>2];m=+f[F+8>>2];n=+f[F+16>>2];o=+f[F+20>>2];p=+f[F+24>>2];w=+f[F+32>>2];x=+f[F+36>>2];y=+f[F+40>>2];ja=+f[la+64>>2];ka=+f[la+68>>2];na=+f[la+72>>2];ma=ga*+f[F>>2]+ha*l+ia*m+ +f[F+48>>2]-(ja*+f[H>>2]+ka*+f[H+4>>2]+na*+f[H+8>>2]+ +f[H+48>>2]);oa=ga*n+ha*o+ia*p+ +f[F+52>>2]-(ja*+f[H+16>>2]+ka*+f[H+20>>2]+na*+f[H+24>>2]+ +f[H+52>>2]);na=ga*w+ha*x+ia*y+ +f[F+56>>2]-(ja*+f[H+32>>2]+ka*+f[H+36>>2]+na*+f[H+40>>2]+ +f[H+56>>2]);k=c[U+28>>2]|0;c:do if((k|0)>0){D=m;E=n;C=o;G=0.0;K=3402823466385288598117041.0e14;j=0;m=0.0;n=0.0;o=0.0;while(1){g=c[U+36>>2]|0;ia=+f[g+(j*36|0)+20>>2];ja=+f[g+(j*36|0)+24>>2];ka=+f[g+(j*36|0)+28>>2];z=ia*+f[F>>2]+ja*l+ka*D;p=ia*E+ja*C+ka*p;l=ia*w+ja*x+ka*y;f[ua+296>>2]=z;f[ua+296+4>>2]=p;f[ua+296+8>>2]=l;f[ua+296+12>>2]=0.0;if(z*ma+p*oa+l*na<0.0){f[ua+296>>2]=-z;f[ua+296+4>>2]=-p;f[ua+296+8>>2]=-l;z=-z;B=-p;l=-l}else B=p;c[6860]=(c[6860]|0)+1;if(Gi(F,H,ma,oa,na,z,B,l,U,la,K)|0){c[6861]=(c[6861]|0)+1;dh(U,F,ua+296|0,ua+624|0,ua+384|0,ua+360|0,ua+344|0);dh(la,H,ua+296|0,ua+380|0,ua+376|0,ua+328|0,ua+312|0);p=+f[ua+384>>2];w=+f[ua+380>>2];do if(p>2];y=+f[ua+624>>2];if(x=(k|0)){l=z;break c}l=+f[F+4>>2];D=+f[F+8>>2];E=+f[F+16>>2];C=+f[F+20>>2];p=+f[F+24>>2];w=+f[F+32>>2];x=+f[F+36>>2];y=+f[F+40>>2];G=B;K=z;j=i}break b}else{l=3402823466385288598117041.0e14;m=0.0;n=0.0;o=0.0}while(0);k=c[la+28>>2]|0;d:do if((k|0)>0){D=0.0;j=0;while(1){g=c[la+36>>2]|0;ja=+f[g+(j*36|0)+20>>2];ka=+f[g+(j*36|0)+24>>2];x=+f[g+(j*36|0)+28>>2];p=ja*+f[H>>2]+ka*+f[H+4>>2]+x*+f[H+8>>2];w=ja*+f[H+16>>2]+ka*+f[H+20>>2]+x*+f[H+24>>2];x=ja*+f[H+32>>2]+ka*+f[H+36>>2]+x*+f[H+40>>2];f[ua+296>>2]=p;f[ua+296+4>>2]=w;f[ua+296+8>>2]=x;f[ua+296+12>>2]=0.0;if(p*ma+w*oa+x*na<0.0){f[ua+296>>2]=-p;f[ua+296+4>>2]=-w;f[ua+296+8>>2]=-x;p=-p;w=-w;x=-x}c[6860]=(c[6860]|0)+1;if(Gi(F,H,ma,oa,na,p,w,x,U,la,l)|0){c[6861]=(c[6861]|0)+1;dh(U,F,ua+296|0,ua+624|0,ua+384|0,ua+360|0,ua+344|0);dh(la,H,ua+296|0,ua+380|0,ua+376|0,ua+328|0,ua+312|0);y=+f[ua+384>>2];z=+f[ua+380>>2];do if(y>2];C=+f[ua+624>>2];if(B=(k|0))break d;else D=y}break b}while(0);i=c[U+48>>2]|0;e:do if((i|0)>0){k=c[la+48>>2]|0;x=0.0;A=0;j=-1;q=-1;B=0.0;C=0.0;D=0.0;E=0.0;R=0.0;V=0.0;X=0.0;p=0.0;w=0.0;Q=0.0;P=0.0;O=0.0;K=0.0;M=0.0;N=0.0;y=0.0;z=0.0;G=0.0;f:while(1){g=c[U+56>>2]|0;ga=+f[g+(A<<4)>>2];ha=+f[g+(A<<4)+4>>2];ia=+f[g+(A<<4)+8>>2];ka=ga*+f[F>>2]+ha*+f[F+4>>2]+ia*+f[F+8>>2];ja=ga*+f[F+16>>2]+ha*+f[F+20>>2]+ia*+f[F+24>>2];ia=ga*+f[F+32>>2]+ha*+f[F+36>>2]+ia*+f[F+40>>2];if((k|0)>0){W=x;t=0;ha=m;ga=n;fa=o;Z=B;$=C;ba=D;while(1){g=c[la+56>>2]|0;da=+f[g+(t<<4)>>2];ea=+f[g+(t<<4)+4>>2];aa=+f[g+(t<<4)+8>>2];Y=da*+f[H>>2]+ea*+f[H+4>>2]+aa*+f[H+8>>2];_=da*+f[H+16>>2]+ea*+f[H+20>>2]+aa*+f[H+24>>2];aa=da*+f[H+32>>2]+ea*+f[H+36>>2]+aa*+f[H+40>>2];f[ua+296>>2]=ja*aa-ia*_;f[ua+296+4>>2]=ia*Y-ka*aa;f[ua+296+8>>2]=ka*_-ja*Y;f[ua+296+12>>2]=0.0;do if(!(+r(+(ja*aa-ia*_))>1.0e-06)){if(+r(+(ia*Y-ka*aa))>1.0e-06){pa=76;break}if(!(+r(+(ka*_-ja*Y))>1.0e-06)){m=ha;n=ga;o=fa;ca=E;da=R;ea=V}else pa=76}else pa=76;while(0);do if((pa|0)==76){pa=0;o=1.0/+s(+((ka*_-ja*Y)*(ka*_-ja*Y)+((ja*aa-ia*_)*(ja*aa-ia*_)+(ia*Y-ka*aa)*(ia*Y-ka*aa))));m=(ja*aa-ia*_)*o;f[ua+296>>2]=m;n=(ia*Y-ka*aa)*o;f[ua+296+4>>2]=n;o=(ka*_-ja*Y)*o;f[ua+296+8>>2]=o;if(m*ma+n*oa+na*o<0.0){f[ua+296>>2]=-m;f[ua+296+4>>2]=-n;f[ua+296+8>>2]=-o;m=-m;n=-n;o=-o}c[6860]=(c[6860]|0)+1;if(!(Gi(F,H,ma,oa,na,m,n,o,U,la,l)|0)){m=ha;n=ga;o=fa;ca=E;da=R;ea=V;break}c[6861]=(c[6861]|0)+1;dh(U,F,ua+296|0,ua+624|0,ua+384|0,ua+360|0,ua+344|0);dh(la,H,ua+296|0,ua+380|0,ua+376|0,ua+328|0,ua+312|0);x=+f[ua+384>>2];B=+f[ua+380>>2];do if(!(x>2];D=+f[ua+624>>2];if(C>2];C=+f[ua+344+4>>2];D=+f[ua+344+8>>2];E=+f[ua+328>>2];R=+f[ua+328+4>>2];V=+f[ua+328+8>>2];break}else{x=C-D;i=1;B=+f[ua+360>>2];C=+f[ua+360+4>>2];D=+f[ua+360+8>>2];E=+f[ua+312>>2];R=+f[ua+312+4>>2];V=+f[ua+312+8>>2];break}}else{x=W;i=0;B=Z;C=$;D=ba}while(0);if(!i)break f;if(!(x>2]|0;if((t|0)>=(k|0))break;else{ha=m;ga=n;fa=o;E=ca;R=da;V=ea}}i=c[U+48>>2]|0;x=W;B=Z;C=$;D=ba;E=ca;R=da;V=ea;W=X}else W=X;A=A+1|0;if((A|0)>=(i|0)){i=q;l=W;break e}else X=W}break b}else{j=-1;i=-1;l=0.0;p=0.0;w=0.0;Q=0.0;P=0.0;O=0.0;K=0.0;M=0.0;N=0.0;y=0.0;z=0.0;G=0.0}while(0);if((i|j|0)>-1){C=Q-l;E=P-p;D=O-w;p=y*K+z*M+G*N;w=C*K+E*M+D*N;l=C*y+E*z+D*G;do if(1.0-p*p==0.0)x=0.0;else{if((w-l*p)/(1.0-p*p)<-1000000015047466219876688.0e6){x=-1000000015047466219876688.0e6;break}if(!((w-l*p)/(1.0-p*p)>1000000015047466219876688.0e6)){x=(w-l*p)/(1.0-p*p);break}x=1000000015047466219876688.0e6}while(0);l=p*x-l;do if(l<-1000000015047466219876688.0e6){if(w-p*1000000015047466219876688.0e6<-1000000015047466219876688.0e6){p=-1000000015047466219876688.0e6;l=-1000000015047466219876688.0e6;break}if(!(w-p*1000000015047466219876688.0e6>1000000015047466219876688.0e6)){p=w-p*1000000015047466219876688.0e6;l=-1000000015047466219876688.0e6;break}p=1000000015047466219876688.0e6;l=-1000000015047466219876688.0e6}else{if(!(l>1000000015047466219876688.0e6)){p=x;break}if(w+p*1000000015047466219876688.0e6<-1000000015047466219876688.0e6){p=-1000000015047466219876688.0e6;l=1000000015047466219876688.0e6;break}if(!(w+p*1000000015047466219876688.0e6>1000000015047466219876688.0e6)){p=w+p*1000000015047466219876688.0e6;l=1000000015047466219876688.0e6;break}p=1000000015047466219876688.0e6;l=1000000015047466219876688.0e6}while(0);B=y*l;z=z*l;y=G*l;x=B+(C-K*p);w=z+(E-M*p);p=y+(D-N*p);f[ua+624>>2]=x;f[ua+624+4>>2]=w;f[ua+624+8>>2]=p;f[ua+624+12>>2]=0.0;if(p*p+(x*x+w*w)>1.1920928955078125e-07){l=+s(+(p*p+(x*x+w*w)));f[ua+624>>2]=x*(1.0/l);f[ua+624+4>>2]=w*(1.0/l);f[ua+624+8>>2]=p*(1.0/l);if(x*(1.0/l)*ma+w*(1.0/l)*oa+p*(1.0/l)*na<0.0){f[ua+624>>2]=-(x*(1.0/l));f[ua+624+4>>2]=-(w*(1.0/l));f[ua+624+8>>2]=-(p*(1.0/l))}f[ua+384>>2]=Q+B;f[ua+384+4>>2]=P+z;f[ua+384+8>>2]=O+y;f[ua+384+12>>2]=0.0;Ab[c[(c[h>>2]|0)+16>>2]&31](h,ua+624|0,ua+384|0,-l)}}if(ma*m+oa*n+na*o<0.0){l=-1000000015047466219876688.0e6;m=-m;n=-n;o=-o;i=0;pa=112}else{l=-1000000015047466219876688.0e6;i=0;pa=112}}while(0);if((pa|0)==112){U=c[ra+52>>2]|0;g=c[sa+52>>2]|0;T=c[d+12>>2]|0;S=c[e+12>>2]|0;N=l-qa;G=1.0/+s(+(m*m+n*n+o*o));M=m*G;K=n*G;G=o*G;f[ua+624>>2]=M;f[ua+624+4>>2]=K;f[ua+624+8>>2]=G;c[ua+624+12>>2]=i;j=c[g+28>>2]|0;t=c[g+36>>2]|0;if((j|0)>0){l=+f[S>>2];m=+f[S+4>>2];n=+f[S+8>>2];o=+f[S+16>>2];p=+f[S+20>>2];w=+f[S+24>>2];x=+f[S+32>>2];y=+f[S+36>>2];z=+f[S+40>>2];i=-1;E=-3402823466385288598117041.0e14;q=0;while(1){B=+f[t+(q*36|0)+20>>2];C=+f[t+(q*36|0)+24>>2];D=+f[t+(q*36|0)+28>>2];k=M*(B*l+C*m+D*n)+K*(B*o+C*p+D*w)+G*(B*x+C*y+D*z)>E;i=k?q:i;q=q+1|0;if((q|0)==(j|0)){I=i;break}else E=k?M*(B*l+C*m+D*n)+K*(B*o+C*p+D*w)+G*(B*x+C*y+D*z):E}}else I=-1;a[ua+384+16>>0]=1;L=ua+384+12|0;c[L>>2]=0;J=ua+384+4|0;c[J>>2]=0;c[ua+384+8>>2]=0;H=c[t+(I*36|0)+4>>2]|0;g:do if((H|0)>0){F=t+(I*36|0)+12|0;i=0;k=0;j=0;while(1){d=c[(c[F>>2]|0)+(j<<2)>>2]|0;e=c[g+16>>2]|0;na=+f[e+(d<<4)>>2];oa=+f[e+(d<<4)+4>>2];m=+f[e+(d<<4)+8>>2];l=na*+f[S>>2]+oa*+f[S+4>>2]+m*+f[S+8>>2]+ +f[S+48>>2];n=na*+f[S+16>>2]+oa*+f[S+20>>2]+m*+f[S+24>>2]+ +f[S+52>>2];m=na*+f[S+32>>2]+oa*+f[S+36>>2]+m*+f[S+40>>2]+ +f[S+56>>2];if((i|0)==(k|0)){A=(k|0)==0?1:k<<1;if((k|0)<(A|0)){if(!A){i=k;k=0}else{c[6879]=(c[6879]|0)+1;i=Zb((A<<4|3)+16|0)|0;if(!i)k=0;else{c[(i+4+15&-16)+-4>>2]=i;k=i+4+15&-16}i=c[J>>2]|0}t=c[L>>2]|0;if((i|0)<=0){if(t)pa=128}else{q=0;do{d=k+(q<<4)|0;e=t+(q<<4)|0;c[d>>2]=c[e>>2];c[d+4>>2]=c[e+4>>2];c[d+8>>2]=c[e+8>>2];c[d+12>>2]=c[e+12>>2];q=q+1|0}while((q|0)!=(i|0));pa=128}if((pa|0)==128){pa=0;if(a[ua+384+16>>0]|0){c[6880]=(c[6880]|0)+1;kd(c[t+-4>>2]|0);i=c[J>>2]|0}c[L>>2]=0}a[ua+384+16>>0]=1;c[L>>2]=k;c[ua+384+8>>2]=A}else i=k}d=c[L>>2]|0;f[d+(i<<4)>>2]=l;f[d+(i<<4)+4>>2]=n;f[d+(i<<4)+8>>2]=m;f[d+(i<<4)+12>>2]=0.0;i=(c[J>>2]|0)+1|0;c[J>>2]=i;j=j+1|0;if((j|0)>=(H|0))break g;k=c[ua+384+8>>2]|0}}while(0);if((I|0)>-1)vc(ua+624|0,U,T,ua+384|0,N,qa,h);i=c[L>>2]|0;if(i|0){if(a[ua+384+16>>0]|0){c[6880]=(c[6880]|0)+1;kd(c[i+-4>>2]|0)}c[L>>2]=0}}if(a[b+16>>0]|0?(ta=c[h+4>>2]|0,c[ta+748>>2]|0):0){i=c[ta+740>>2]|0;j=c[(c[h+8>>2]|0)+8>>2]|0;if((i|0)==(j|0)){ye(ta,i+4|0,(c[(c[h+12>>2]|0)+8>>2]|0)+4|0);break}else{ye(ta,(c[(c[h+12>>2]|0)+8>>2]|0)+4|0,j+4|0);break}}}while(0);Ta=ua;return}while(0)}wc(ua+48|0,ua+128|0,h,c[g+20>>2]|0,0);if((c[b+28>>2]|0?(c[(c[h+4>>2]|0)+748>>2]|0)<(c[b+32>>2]|0):0)?(G=+f[ua+48+4>>2],K=+f[ua+48+8>>2],M=+f[ua+48+12>>2],G*G+K*K+M*M>1.1920928955078125e-07):0){E=1.0/(G*G+K*K+M*M);if(+r(+(M*E))>.7071067690849304){n=1.0/+s(+(M*E*(M*E)+K*E*(K*E)));m=0.0;o=K*E*n;n=-(M*E*n)}else{n=1.0/+s(+(G*E*(G*E)+K*E*(K*E)));m=-(K*E*n);o=0.0;n=G*E*n}D=+Wa[c[(c[ra>>2]|0)+16>>2]&31](ra);C=+Wa[c[(c[sa>>2]|0)+16>>2]&31](sa);l=.019999999552965164/(D>2]=c[ua+128>>2];c[ua+624+4>>2]=c[ua+128+4>>2];c[ua+624+8>>2]=c[ua+128+8>>2];c[ua+624+12>>2]=c[ua+128+12>>2];c[ua+624+16>>2]=c[A>>2];c[ua+624+16+4>>2]=c[A+4>>2];c[ua+624+16+8>>2]=c[A+8>>2];c[ua+624+16+12>>2]=c[A+12>>2];c[ua+624+32>>2]=c[k>>2];c[ua+624+32+4>>2]=c[k+4>>2];c[ua+624+32+8>>2]=c[k+8>>2];c[ua+624+32+12>>2]=c[k+12>>2];c[ua+624+48>>2]=c[H>>2];c[ua+624+48+4>>2]=c[H+4>>2];c[ua+624+48+8>>2]=c[H+8>>2];c[ua+624+48+12>>2]=c[H+12>>2]}else{c[ua+624>>2]=c[J>>2];c[ua+624+4>>2]=c[J+4>>2];c[ua+624+8>>2]=c[J+8>>2];c[ua+624+12>>2]=c[J+12>>2];c[ua+624+16>>2]=c[F>>2];c[ua+624+16+4>>2]=c[F+4>>2];c[ua+624+16+8>>2]=c[F+8>>2];c[ua+624+16+12>>2]=c[F+12>>2];c[ua+624+32>>2]=c[t>>2];c[ua+624+32+4>>2]=c[t+4>>2];c[ua+624+32+8>>2]=c[t+8>>2];c[ua+624+32+12>>2]=c[t+12>>2];c[ua+624+48>>2]=c[I>>2];c[ua+624+48+4>>2]=c[I+4>>2];c[ua+624+48+8>>2]=c[I+8>>2];c[ua+624+48+12>>2]=c[I+12>>2]}i=c[b+28>>2]|0;if((i|0)>0){B=m*m+n*n+o*o;x=+s(+B);p=(l>.39269909262657166?.39269909262657166:l)*.5;x=+v(+p)/x;z=m*x;y=n*x;x=o*x;p=+u(+p);w=+s(+(M*E*(M*E)+(G*E*(G*E)+K*E*(K*E))));j=0;do{if(B>1.1920928955078125e-07){l=6.2831854820251465/+(i|0)*+(j|0)*.5;m=+v(+l)/w;n=G*E*m;o=K*E*m;m=M*E*m;l=+u(+l);if(D>2]|0;aa=+f[ta>>2];ba=+f[ta+16>>2];ca=+f[ta+32>>2];da=+f[ta+4>>2];ea=+f[ta+20>>2];fa=+f[ta+36>>2];ga=+f[ta+8>>2];ja=+f[ta+24>>2];qa=+f[ta+40>>2];f[ua+128>>2]=(1.0-(na*oa+$*ha))*aa+(ka*oa-ia*ha)*ba+(ka*ha+ia*oa)*ca;f[ua+128+4>>2]=(1.0-(na*oa+$*ha))*da+(ka*oa-ia*ha)*ea+(ka*ha+ia*oa)*fa;f[ua+128+8>>2]=(1.0-(na*oa+$*ha))*ga+(ka*oa-ia*ha)*ja+(ka*ha+ia*oa)*qa;f[ua+128+12>>2]=0.0;f[ua+128+16>>2]=(ka*oa+ia*ha)*aa+(1.0-(ka*ma+$*ha))*ba+(na*ha-ia*ma)*ca;f[ua+128+20>>2]=(ka*oa+ia*ha)*da+(1.0-(ka*ma+$*ha))*ea+(na*ha-ia*ma)*fa;f[ua+128+24>>2]=(ka*oa+ia*ha)*ga+(1.0-(ka*ma+$*ha))*ja+(na*ha-ia*ma)*qa;f[ua+128+28>>2]=0.0;f[ua+128+32>>2]=(ka*ha-ia*oa)*aa+(na*ha+ia*ma)*ba+(1.0-(ka*ma+na*oa))*ca;f[ua+128+36>>2]=(ka*ha-ia*oa)*da+(na*ha+ia*ma)*ea+(1.0-(ka*ma+na*oa))*fa;f[ua+128+40>>2]=(ka*ha-ia*oa)*ga+(na*ha+ia*ma)*ja+(1.0-(ka*ma+na*oa))*qa;f[ua+128+44>>2]=0.0;ta=c[e+12>>2]|0;c[J>>2]=c[ta>>2];c[J+4>>2]=c[ta+4>>2];c[J+8>>2]=c[ta+8>>2];c[J+12>>2]=c[ta+12>>2];c[F>>2]=c[ta+16>>2];c[F+4>>2]=c[ta+16+4>>2];c[F+8>>2]=c[ta+16+8>>2];c[F+12>>2]=c[ta+16+12>>2];c[t>>2]=c[ta+32>>2];c[t+4>>2]=c[ta+32+4>>2];c[t+8>>2]=c[ta+32+8>>2];c[t+12>>2]=c[ta+32+12>>2];c[I>>2]=c[ta+48>>2];c[I+4>>2]=c[ta+48+4>>2];c[I+8>>2]=c[ta+48+8>>2];c[I+12>>2]=c[ta+48+12>>2]}else{ta=c[d+12>>2]|0;c[ua+128>>2]=c[ta>>2];c[ua+128+4>>2]=c[ta+4>>2];c[ua+128+8>>2]=c[ta+8>>2];c[ua+128+12>>2]=c[ta+12>>2];c[A>>2]=c[ta+16>>2];c[A+4>>2]=c[ta+16+4>>2];c[A+8>>2]=c[ta+16+8>>2];c[A+12>>2]=c[ta+16+12>>2];c[k>>2]=c[ta+32>>2];c[k+4>>2]=c[ta+32+4>>2];c[k+8>>2]=c[ta+32+8>>2];c[k+12>>2]=c[ta+32+12>>2];c[H>>2]=c[ta+48>>2];c[H+4>>2]=c[ta+48+4>>2];c[H+8>>2]=c[ta+48+8>>2];c[H+12>>2]=c[ta+48+12>>2];ka=m*(z*-m+(y*l+p*-o)-x*-n)+(n*(p*l-z*-n-y*-o-x*-m)+l*(x*-o+(z*l+p*-n)-y*-m))-o*(y*-n+(x*l+p*-m)-z*-o);na=n*(y*-n+(x*l+p*-m)-z*-o)+(l*(z*-m+(y*l+p*-o)-x*-n)+o*(p*l-z*-n-y*-o-x*-m))-m*(x*-o+(z*l+p*-n)-y*-m);$=o*(x*-o+(z*l+p*-n)-y*-m)+(m*(p*l-z*-n-y*-o-x*-m)+l*(y*-n+(x*l+p*-m)-z*-o))-n*(z*-m+(y*l+p*-o)-x*-n);ia=l*(p*l-z*-n-y*-o-x*-m)-n*(x*-o+(z*l+p*-n)-y*-m)-o*(z*-m+(y*l+p*-o)-x*-n)-m*(y*-n+(x*l+p*-m)-z*-o);ma=ka*(2.0/(ia*ia+($*$+(ka*ka+na*na))));oa=na*(2.0/(ia*ia+($*$+(ka*ka+na*na))));ha=$*(2.0/(ia*ia+($*$+(ka*ka+na*na))));ta=c[e+12>>2]|0;aa=+f[ta>>2];ba=+f[ta+16>>2];ca=+f[ta+32>>2];da=+f[ta+4>>2];ea=+f[ta+20>>2];fa=+f[ta+36>>2];ga=+f[ta+8>>2];ja=+f[ta+24>>2];qa=+f[ta+40>>2];f[ua+128+64>>2]=(1.0-(na*oa+$*ha))*aa+(ka*oa-ia*ha)*ba+(ka*ha+ia*oa)*ca;f[ua+128+68>>2]=(1.0-(na*oa+$*ha))*da+(ka*oa-ia*ha)*ea+(ka*ha+ia*oa)*fa;f[ua+128+72>>2]=(1.0-(na*oa+$*ha))*ga+(ka*oa-ia*ha)*ja+(ka*ha+ia*oa)*qa;f[ua+128+76>>2]=0.0;f[ua+128+80>>2]=(ka*oa+ia*ha)*aa+(1.0-(ka*ma+$*ha))*ba+(na*ha-ia*ma)*ca;f[ua+128+84>>2]=(ka*oa+ia*ha)*da+(1.0-(ka*ma+$*ha))*ea+(na*ha-ia*ma)*fa;f[ua+128+88>>2]=(ka*oa+ia*ha)*ga+(1.0-(ka*ma+$*ha))*ja+(na*ha-ia*ma)*qa;f[ua+128+92>>2]=0.0;f[ua+128+96>>2]=(ka*ha-ia*oa)*aa+(na*ha+ia*ma)*ba+(1.0-(ka*ma+na*oa))*ca;f[ua+128+100>>2]=(ka*ha-ia*oa)*da+(na*ha+ia*ma)*ea+(1.0-(ka*ma+na*oa))*fa;f[ua+128+104>>2]=(ka*ha-ia*oa)*ga+(na*ha+ia*ma)*ja+(1.0-(ka*ma+na*oa))*qa;f[ua+128+108>>2]=0.0}i=c[g+20>>2]|0;c[ua+384>>2]=7472;c[ua+384+32>>2]=h;c[ua+384+36>>2]=c[ua+128>>2];c[ua+384+36+4>>2]=c[ua+128+4>>2];c[ua+384+36+8>>2]=c[ua+128+8>>2];c[ua+384+36+12>>2]=c[ua+128+12>>2];c[ua+384+52>>2]=c[A>>2];c[ua+384+52+4>>2]=c[A+4>>2];c[ua+384+52+8>>2]=c[A+8>>2];c[ua+384+52+12>>2]=c[A+12>>2];c[ua+384+68>>2]=c[k>>2];c[ua+384+68+4>>2]=c[k+4>>2];c[ua+384+68+8>>2]=c[k+8>>2];c[ua+384+68+12>>2]=c[k+12>>2];c[ua+384+84>>2]=c[H>>2];c[ua+384+84+4>>2]=c[H+4>>2];c[ua+384+84+8>>2]=c[H+8>>2];c[ua+384+84+12>>2]=c[H+12>>2];c[ua+384+100>>2]=c[J>>2];c[ua+384+100+4>>2]=c[J+4>>2];c[ua+384+100+8>>2]=c[J+8>>2];c[ua+384+100+12>>2]=c[J+12>>2];c[ua+384+116>>2]=c[F>>2];c[ua+384+116+4>>2]=c[F+4>>2];c[ua+384+116+8>>2]=c[F+8>>2];c[ua+384+116+12>>2]=c[F+12>>2];c[ua+384+132>>2]=c[t>>2];c[ua+384+132+4>>2]=c[t+4>>2];c[ua+384+132+8>>2]=c[t+8>>2];c[ua+384+132+12>>2]=c[t+12>>2];c[ua+384+148>>2]=c[I>>2];c[ua+384+148+4>>2]=c[I+4>>2];c[ua+384+148+8>>2]=c[I+8>>2];c[ua+384+148+12>>2]=c[I+12>>2];c[ua+384+164>>2]=c[ua+624>>2];c[ua+384+164+4>>2]=c[ua+624+4>>2];c[ua+384+164+8>>2]=c[ua+624+8>>2];c[ua+384+164+12>>2]=c[ua+624+12>>2];c[ua+384+180>>2]=c[ua+624+16>>2];c[ua+384+180+4>>2]=c[ua+624+16+4>>2];c[ua+384+180+8>>2]=c[ua+624+16+8>>2];c[ua+384+180+12>>2]=c[ua+624+16+12>>2];c[ua+384+196>>2]=c[ua+624+32>>2];c[ua+384+196+4>>2]=c[ua+624+32+4>>2];c[ua+384+196+8>>2]=c[ua+624+32+8>>2];c[ua+384+196+12>>2]=c[ua+624+32+12>>2];c[ua+384+212>>2]=c[ua+624+48>>2];c[ua+384+212+4>>2]=c[ua+624+48+4>>2];c[ua+384+212+8>>2]=c[ua+624+48+8>>2];c[ua+384+212+12>>2]=c[ua+624+48+12>>2];a[ua+384+228>>0]=D>2]=i;wc(ua+48|0,ua+128|0,ua+384|0,i,0);i=c[b+28>>2]|0}j=j+1|0}while((j|0)<(i|0))}}if(!(a[b+16>>0]|0)){Ta=ua;return}i=c[h+4>>2]|0;if(!(c[i+748>>2]|0)){Ta=ua;return}j=c[i+740>>2]|0;k=c[(c[h+8>>2]|0)+8>>2]|0;if((j|0)==(k|0)){ye(i,j+4|0,(c[(c[h+12>>2]|0)+8>>2]|0)+4|0);Ta=ua;return}else{ye(i,(c[(c[h+12>>2]|0)+8>>2]|0)+4|0,k+4|0);Ta=ua;return}}function Pb(b,d,e){b=b|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0.0,m=0.0,n=0.0,o=0.0,p=0,q=0.0,t=0.0,u=0,v=0.0,w=0.0,x=0.0,y=0,A=0,B=0.0,C=0.0,D=0,E=0,F=0.0,G=0.0,H=0.0,I=0.0,J=0.0,K=0.0,L=0.0,M=0,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;Z=Ta;Ta=Ta+96|0;g=c[d+4>>2]|0;i=g>>>0>8?g:8;if((i|0)>0){c[6879]=(c[6879]|0)+1;g=Zb((i<<4|3)+16|0)|0;if(!g)h=0;else{c[(g+4+15&-16)+-4>>2]=g;h=g+4+15&-16}g=0;do{Y=h+(g<<4)|0;c[Y>>2]=c[Z>>2];c[Y+4>>2]=c[Z+4>>2];c[Y+8>>2]=c[Z+8>>2];c[Y+12>>2]=c[Z+12>>2];g=g+1|0}while((g|0)!=(i|0));Y=h;g=c[d+4>>2]|0;X=h}else{Y=0;X=0}j=c[d+8>>2]|0;D=c[d+12>>2]|0;G=+f[d+16>>2];do if(!g){g=0;h=1}else{i=c[b+24>>2]|0;if((i|0)<0){h=c[b+32>>2]|0;if((c[b+28>>2]|0)<0){if(h|0?a[b+36>>0]|0:0){c[6880]=(c[6880]|0)+1;kd(c[h+-4>>2]|0)}a[b+36>>0]=1;c[b+32>>2]=0;c[b+28>>2]=0;h=0}el(h+(i<<2)|0,0,z(i,-4)|0)|0}c[b+24>>2]=0;q=3402823466385288598117041.0e14;l=-3402823466385288598117041.0e14;t=3402823466385288598117041.0e14;m=-3402823466385288598117041.0e14;v=3402823466385288598117041.0e14;o=-3402823466385288598117041.0e14;h=0;i=j;while(1){L=+f[i>>2];q=Ll?L:l;L=+f[i+4>>2];t=Lm?L:m;L=+f[i+8>>2];v=Lo?L:o;h=h+1|0;if((h|0)==(g|0))break;else i=i+D|0}n=l-q;m=m-t;l=o-v;F=q+n*.5;C=t+m*.5;B=v+l*.5;do if(g>>>0<3|(n<9.999999974752427e-07|m<9.999999974752427e-07|l<9.999999974752427e-07)){o=n>9.999999974752427e-07&n<3402823466385288598117041.0e14?n:3402823466385288598117041.0e14;o=m>9.999999974752427e-07&m9.999999974752427e-07&l>2]=L;f[X+4>>2]=J;f[X+8>>2]=I;f[X+16>>2]=K;f[X+20>>2]=J;f[X+24>>2]=I;f[X+32>>2]=K;f[X+36>>2]=m;f[X+40>>2]=I;f[X+48>>2]=L;f[X+52>>2]=m;f[X+56>>2]=I;f[X+64>>2]=L;f[X+68>>2]=J;f[X+72>>2]=n;f[X+80>>2]=K;f[X+84>>2]=J;f[X+88>>2]=n;f[X+96>>2]=K;f[X+100>>2]=m;f[X+104>>2]=n;f[X+112>>2]=L;f[X+116>>2]=m;f[X+120>>2]=n;U=8;n=1.0;m=1.0;l=1.0;W=57}else{h=0;A=0;u=0;y=j;while(1){v=1.0/n*+f[y>>2];w=1.0/m*+f[y+4>>2];x=1.0/l*+f[y+8>>2];y=y+D|0;if(u){i=0;do{j=X+(i<<4)|0;o=+f[j>>2];k=X+(i<<4)+4|0;q=+f[k>>2];p=X+(i<<4)+8|0;t=+f[p>>2];if(+r(+(o-v))>>0>>0);if((W|0)==28){W=0;if((v-1.0/n*F)*(v-1.0/n*F)+(w-1.0/m*C)*(w-1.0/m*C)+(x-1.0/l*B)*(x-1.0/l*B)>(o-1.0/n*F)*(o-1.0/n*F)+(q-1.0/m*C)*(q-1.0/m*C)+(t-1.0/l*B)*(t-1.0/l*B)){f[j>>2]=v;f[k>>2]=w;f[p>>2]=x}}if((i|0)==(u|0))W=32;else{p=i;M=u}}else{i=0;W=32}if((W|0)==32){W=0;f[X+(i<<4)>>2]=v;f[X+(i<<4)+4>>2]=w;f[X+(i<<4)+8>>2]=x;p=i;M=i+1|0}if((h|0)==(c[b+28>>2]|0)?(E=(h|0)==0?1:h<<1,(h|0)<(E|0)):0){if(!E)i=0;else{c[6879]=(c[6879]|0)+1;h=Zb((E<<2|3)+16|0)|0;if(!h)i=0;else{c[(h+4+15&-16)+-4>>2]=h;i=h+4+15&-16}h=c[b+24>>2]|0}k=c[b+32>>2]|0;if((h|0)<=0){if(k)W=43}else{j=0;do{c[i+(j<<2)>>2]=c[k+(j<<2)>>2];j=j+1|0}while((j|0)!=(h|0));W=43}if((W|0)==43){W=0;if(a[b+36>>0]|0){c[6880]=(c[6880]|0)+1;kd(c[k+-4>>2]|0)}c[b+32>>2]=0;h=c[b+24>>2]|0}a[b+36>>0]=1;c[b+32>>2]=i;c[b+28>>2]=E}c[(c[b+32>>2]|0)+(h<<2)>>2]=p;h=(c[b+24>>2]|0)+1|0;c[b+24>>2]=h;A=A+1|0;if((A|0)==(g|0))break;else u=M}y=(M|0)==0;if(y){g=1;t=-3402823466385288598117041.0e14;x=3402823466385288598117041.0e14;q=-3402823466385288598117041.0e14;w=3402823466385288598117041.0e14;o=-3402823466385288598117041.0e14;v=3402823466385288598117041.0e14}else{C=3402823466385288598117041.0e14;x=3402823466385288598117041.0e14;F=-3402823466385288598117041.0e14;t=-3402823466385288598117041.0e14;H=3402823466385288598117041.0e14;w=3402823466385288598117041.0e14;I=-3402823466385288598117041.0e14;q=-3402823466385288598117041.0e14;K=3402823466385288598117041.0e14;v=3402823466385288598117041.0e14;L=-3402823466385288598117041.0e14;o=-3402823466385288598117041.0e14;u=0;while(1){B=+f[X+(u<<4)>>2];i=BF;t=p?B:t;G=+f[X+(u<<4)+4>>2];g=GI;q=j?G:q;J=+f[X+(u<<4)+8>>2];h=JL;o=k?J:o;u=u+1|0;if((u|0)==(M|0))break;else{C=i?B:C;F=p?B:F;H=g?G:H;I=j?G:I;K=h?J:K;L=k?J:L}}g=M>>>0<3}t=t-x;C=q-w;o=o-v;if(!(g|(t<9.999999974752427e-07|C<9.999999974752427e-07|o<9.999999974752427e-07))){if(!y){U=M;W=57;break}break}B=x+t*.5;x=w+C*.5;w=v+o*.5;v=t>=9.999999974752427e-07&t<3402823466385288598117041.0e14?t:3402823466385288598117041.0e14;v=C>=9.999999974752427e-07&C=9.999999974752427e-07&o>2]=J;f[X+4>>2]=H;f[X+8>>2]=G;f[X+16>>2]=I;f[X+20>>2]=H;f[X+24>>2]=G;f[X+32>>2]=I;f[X+36>>2]=K;f[X+40>>2]=G;f[X+48>>2]=J;f[X+52>>2]=K;f[X+56>>2]=G;f[X+64>>2]=J;f[X+68>>2]=H;f[X+72>>2]=L;f[X+80>>2]=I;f[X+84>>2]=H;f[X+88>>2]=L;f[X+96>>2]=I;f[X+100>>2]=K;f[X+104>>2]=L;f[X+112>>2]=J;f[X+116>>2]=K;f[X+120>>2]=L;U=8;W=57}while(0);if((W|0)==57){g=0;do{V=X+(g<<4)|0;f[V>>2]=n*+f[V>>2];V=X+(g<<4)+4|0;f[V>>2]=m*+f[V>>2];V=X+(g<<4)+8|0;f[V>>2]=l*+f[V>>2];g=g+1|0}while(g>>>0>>0);O=c[d+20>>2]|0;if((U|0)>=4){l=+f[X>>2];o=+f[X+4>>2];m=+f[X+8>>2];V=U<<2;c[6879]=(c[6879]|0)+1;g=Zb((V|3)+16|0)|0;if(!g)i=0;else{c[(g+4+15&-16)+-4>>2]=g;i=g+4+15&-16}a[Z+52+16>>0]=1;R=Z+52+12|0;c[R>>2]=0;c[Z+52+4>>2]=0;E=Z+52+8|0;c[E>>2]=0;c[6879]=(c[6879]|0)+1;h=Zb((V|3)+16|0)|0;if(h){c[(h+4+15&-16)+-4>>2]=h;g=c[R>>2]|0;if(!g){g=h+4+15&-16;W=63}else{c[6880]=(c[6880]|0)+1;kd(c[g+-4>>2]|0);a[Z+52+16>>0]=1;c[R>>2]=h+4+15&-16;c[E>>2]=U;D=R}}else{g=0;W=63}if((W|0)==63){a[Z+52+16>>0]=1;c[R>>2]=g;c[E>>2]=U;D=R}g=0;A=i;y=i;j=U;v=l;w=m;n=o;q=l;l=m;t=o;k=U;p=i;u=0;while(1){if((g|0)==(j|0)?(T=(g|0)==0?1:g<<1,(g|0)<(T|0)):0){if((T|0)!=0?(c[6879]=(c[6879]|0)+1,N=Zb((T<<2|3)+16|0)|0,(N|0)!=0):0){c[(N+4+15&-16)+-4>>2]=N;j=N+4+15&-16}else j=0;i=c[R>>2]|0;if((g|0)<=0){if(i)W=75}else{h=0;do{c[j+(h<<2)>>2]=c[i+(h<<2)>>2];h=h+1|0}while((h|0)!=(g|0));W=75}if((W|0)==75){W=0;c[6880]=(c[6880]|0)+1;kd(c[i+-4>>2]|0);c[R>>2]=0;g=c[Z+52+4>>2]|0}c[D>>2]=j;c[E>>2]=T}c[(c[R>>2]|0)+(g<<2)>>2]=1;c[Z+52+4>>2]=g+1;do if((u|0)==(k|0)){g=(u|0)==0;h=g?1:u<<1;if((u|0)<(h|0)){if((h|0)!=0?(c[6879]=(c[6879]|0)+1,S=Zb((h<<2|3)+16|0)|0,(S|0)!=0):0){c[(S+4+15&-16)+-4>>2]=S;i=S+4+15&-16}else i=0;if(g){if(!p){Q=i;j=i;h=1;P=i;break}}else{g=0;do{c[i+(g<<2)>>2]=c[p+(g<<2)>>2];g=g+1|0}while((g|0)!=(u|0))}if(!A){Q=i;j=i;P=i}else{c[6880]=(c[6880]|0)+1;kd(c[A+-4>>2]|0);Q=i;j=i;P=i}}else{Q=y;j=A;h=u;P=p}}else{Q=y;j=A;h=k;P=p}while(0);c[P+(u<<2)>>2]=0;i=u+1|0;m=+f[X+(u<<4)>>2];q=m>2];t=K>2];o=L=(U|0))break;g=c[Z+52+4>>2]|0;A=j;y=Q;j=c[E>>2]|0;v=m;w=l;l=o;k=h;p=P;u=i}a[Z+52+16>>0]=1;F=+s(+((m-q)*(m-q)+(n-t)*(n-t)+(l-o)*(l-o)))*1.0000000474974513e-03;c[Z>>2]=1008981770;c[Z+4>>2]=1017370378;c[Z+8>>2]=1065353216;f[Z+12>>2]=0.0;M=Fe(X,U,Z,Z+52|0)|0;f[Z+72>>2]=-.009999999776482582;f[Z+72+4>>2]=-.019999999552965164;f[Z+72+8>>2]=-1.0;f[Z+72+12>>2]=0.0;N=Fe(X,U,Z+72|0,Z+52|0)|0;p=X+(M<<4)|0;A=X+(N<<4)|0;q=+f[p>>2]-+f[A>>2];D=X+(M<<4)+4|0;E=X+(N<<4)+4|0;v=+f[D>>2]-+f[E>>2];u=X+(M<<4)+8|0;y=X+(N<<4)+8|0;t=+f[u>>2]-+f[y>>2];f[Z>>2]=q;f[Z+4>>2]=v;f[Z+8>>2]=t;f[Z+12>>2]=0.0;a:do if((M|0)!=(N|0)?!(t==0.0&v==0.0&q==0.0):0){l=t*.019999999552965164-v*0.0;f[Z+16>>2]=l;f[Z+20>>2]=q*0.0-t;f[Z+24>>2]=v-q*.019999999552965164;f[Z+28>>2]=0.0;f[Z+32>>2]=t-v*0.0;f[Z+36>>2]=t*.019999999552965164+q*0.0;f[Z+40>>2]=v*-.019999999552965164-q;f[Z+44>>2]=0.0;m=+s(+(l*l+(q*0.0-t)*(q*0.0-t)+(v-q*.019999999552965164)*(v-q*.019999999552965164)));if(m>+s(+((t-v*0.0)*(t-v*0.0)+(t*.019999999552965164+q*0.0)*(t*.019999999552965164+q*0.0)+(v*-.019999999552965164-q)*(v*-.019999999552965164-q)))){f[Z+16>>2]=l*(1.0/m);f[Z+20>>2]=(q*0.0-t)*(1.0/m);o=(v-q*.019999999552965164)*(1.0/m);n=l*(1.0/m);l=(q*0.0-t)*(1.0/m)}else{c[Z+16>>2]=c[Z+32>>2];c[Z+16+4>>2]=c[Z+32+4>>2];c[Z+16+8>>2]=c[Z+32+8>>2];c[Z+16+12>>2]=c[Z+32+12>>2];n=+f[Z+16>>2];L=+f[Z+20>>2];o=+f[Z+24>>2];l=1.0/+s(+(n*n+L*L+o*o));f[Z+16>>2]=n*l;f[Z+20>>2]=L*l;o=o*l;n=n*l;l=L*l}f[Z+24>>2]=o;g=Fe(X,U,Z+16|0,Z+52|0)|0;if((g|0)==(M|0)|(g|0)==(N|0)){f[Z+72>>2]=-n;f[Z+72+4>>2]=-l;f[Z+72+8>>2]=-o;f[Z+72+12>>2]=0.0;k=Fe(X,U,Z+72|0,Z+52|0)|0}else k=g;if(!((k|0)==(M|0)|(k|0)==(N|0))){h=X+(k<<4)|0;m=+f[h>>2]-+f[p>>2];j=X+(k<<4)+4|0;o=+f[j>>2]-+f[D>>2];i=X+(k<<4)+8|0;n=+f[i>>2]-+f[u>>2];f[Z+16>>2]=m;f[Z+20>>2]=o;f[Z+24>>2]=n;f[Z+28>>2]=0.0;l=1.0/+s(+((v*m-o*q)*(v*m-o*q)+((o*t-n*v)*(o*t-n*v)+(n*q-t*m)*(n*q-t*m))));f[Z+32>>2]=(o*t-n*v)*l;f[Z+36>>2]=(n*q-t*m)*l;f[Z+40>>2]=(v*m-o*q)*l;c[Z+44>>2]=0;g=Fe(X,U,Z+32|0,Z+52|0)|0;if((g|0)==(k|0)|((g|0)==(M|0)|(g|0)==(N|0))){f[Z+72>>2]=-((o*t-n*v)*l);f[Z+72+4>>2]=-((n*q-t*m)*l);f[Z+72+8>>2]=-((v*m-o*q)*l);f[Z+72+12>>2]=0.0;g=Fe(X,U,Z+72|0,Z+52|0)|0}if(!((g|0)==(k|0)|((g|0)==(M|0)|(g|0)==(N|0)))){B=+f[p>>2];H=+f[D>>2];x=+f[u>>2];K=+f[A>>2]-B;C=+f[E>>2]-H;I=+f[y>>2]-x;J=+f[h>>2]-B;G=+f[j>>2]-H;L=+f[i>>2]-x;T=(+f[X+(g<<4)+8>>2]-x)*(K*G-C*J)+((+f[X+(g<<4)>>2]-B)*(C*L-I*G)+(+f[X+(g<<4)+4>>2]-H)*(I*J-K*L))<0.0;h=T?k:g;g=T?g:k;if((M|0)!=-1){x=(+f[X+(M<<4)>>2]+ +f[X+(N<<4)>>2]+ +f[X+(g<<4)>>2]+ +f[X+(h<<4)>>2])*.25;B=(+f[X+(M<<4)+4>>2]+ +f[X+(N<<4)+4>>2]+ +f[X+(g<<4)+4>>2]+ +f[X+(h<<4)+4>>2])*.25;C=(+f[X+(M<<4)+8>>2]+ +f[X+(N<<4)+8>>2]+ +f[X+(g<<4)+8>>2]+ +f[X+(h<<4)+8>>2])*.25;T=Oh(b,g,h,N)|0;c[T+12>>2]=2;c[T+16>>2]=3;c[T+20>>2]=1;T=Oh(b,h,g,M)|0;c[T+12>>2]=3;c[T+16>>2]=2;c[T+20>>2]=0;T=Oh(b,M,N,h)|0;c[T+12>>2]=0;c[T+16>>2]=1;c[T+20>>2]=3;T=Oh(b,N,M,g)|0;c[T+12>>2]=1;c[T+16>>2]=0;c[T+20>>2]=2;c[P+(h<<2)>>2]=1;c[P+(g<<2)>>2]=1;c[P+(N<<2)>>2]=1;c[P+(M<<2)>>2]=1;g=c[b+4>>2]|0;if((g|0)>0){h=0;do{g=c[(c[b+12>>2]|0)+(h<<2)>>2]|0;S=c[g>>2]|0;N=c[g+4>>2]|0;T=c[g+8>>2]|0;q=+f[X+(N<<4)>>2];o=q-+f[X+(S<<4)>>2];v=+f[X+(N<<4)+4>>2];t=v-+f[X+(S<<4)+4>>2];m=+f[X+(N<<4)+8>>2];l=m-+f[X+(S<<4)+8>>2];q=+f[X+(T<<4)>>2]-q;v=+f[X+(T<<4)+4>>2]-v;m=+f[X+(T<<4)+8>>2]-m;n=+s(+((o*v-t*q)*(o*v-t*q)+((t*m-l*v)*(t*m-l*v)+(l*q-o*m)*(l*q-o*m))));if(n==0.0){c[Z>>2]=1065353216;c[Z+4>>2]=0;c[Z+8>>2]=0;w=1.0;m=0.0;l=0.0}else{f[Z>>2]=(t*m-l*v)*(1.0/n);f[Z+4>>2]=(l*q-o*m)*(1.0/n);f[Z+8>>2]=(o*v-t*q)*(1.0/n);w=(t*m-l*v)*(1.0/n);m=(l*q-o*m)*(1.0/n);l=(o*v-t*q)*(1.0/n)}f[Z+12>>2]=0.0;S=Fe(X,U,Z,Z+52|0)|0;c[g+28>>2]=S;T=c[g>>2]|0;f[g+32>>2]=(+f[X+(S<<4)>>2]-+f[X+(T<<4)>>2])*w+(+f[X+(S<<4)+4>>2]-+f[X+(T<<4)+4>>2])*m+(+f[X+(S<<4)+8>>2]-+f[X+(T<<4)+8>>2])*l;h=h+1|0;g=c[b+4>>2]|0}while((h|0)<(g|0))}h=(O|0)==0?999999996:O+-4|0;if((h|0)>0)while(1){y=c[b+12>>2]|0;k=0;j=0;while(1){i=c[y+(k<<2)>>2]|0;do if(j){if(!i){i=j;break}if(!(+f[j+32>>2]<+f[i+32>>2]))i=j;else W=115}else W=115;while(0);if((W|0)==115)W=0;k=k+1|0;if((k|0)>=(g|0))break;else j=i}if((i|0)==0?1:!(+f[i+32>>2]>F)){h=1;break a}A=c[i+28>>2]|0;c[P+(A<<2)>>2]=1;g=c[b+4>>2]|0;b:do if(g|0){k=X+(A<<4)|0;u=X+(A<<4)+4|0;p=X+(A<<4)+8|0;j=y;while(1){i=g+-1|0;g=c[j+(i<<2)>>2]|0;do if(g|0){S=c[g>>2]|0;O=c[g+4>>2]|0;T=c[g+8>>2]|0;I=+f[X+(O<<4)>>2];J=+f[X+(S<<4)>>2];q=+f[X+(O<<4)+4>>2];v=+f[X+(S<<4)+4>>2];w=+f[X+(O<<4)+8>>2];G=+f[X+(S<<4)+8>>2];H=+f[X+(T<<4)>>2]-I;t=+f[X+(T<<4)+4>>2]-q;K=+f[X+(T<<4)+8>>2]-w;L=+s(+(((I-J)*t-(q-v)*H)*((I-J)*t-(q-v)*H)+(((q-v)*K-(w-G)*t)*((q-v)*K-(w-G)*t)+((w-G)*H-(I-J)*K)*((w-G)*H-(I-J)*K))));if(!((+f[p>>2]-G)*(L==0.0?0.0:((I-J)*t-(q-v)*H)*(1.0/L))+((+f[k>>2]-J)*(L==0.0?1.0:((q-v)*K-(w-G)*t)*(1.0/L))+(+f[u>>2]-v)*(L==0.0?0.0:((w-G)*H-(I-J)*K)*(1.0/L)))>F*.009999999776482582))break;Xd(b,g,A)}while(0);if(!i)break;j=c[b+12>>2]|0;g=i}i=c[b+4>>2]|0;if(!i)break;g=i;c:do{i=i+-1|0;k=c[b+12>>2]|0;p=c[k+(i<<2)>>2]|0;do if(p){u=c[p>>2]|0;do if((u|0)!=(A|0)){j=c[p+4>>2]|0;if((j|0)==(A|0)){j=A;break}if((c[p+8>>2]|0)!=(A|0))break c}else j=c[p+4>>2]|0;while(0);T=c[p+8>>2]|0;I=+f[X+(j<<4)>>2];J=+f[X+(u<<4)>>2];q=+f[X+(j<<4)+4>>2];v=+f[X+(u<<4)+4>>2];w=+f[X+(j<<4)+8>>2];G=+f[X+(u<<4)+8>>2];H=+f[X+(T<<4)>>2]-I;t=+f[X+(T<<4)+4>>2]-q;K=+f[X+(T<<4)+8>>2]-w;L=+s(+(((I-J)*t-(q-v)*H)*((I-J)*t-(q-v)*H)+(((q-v)*K-(w-G)*t)*((q-v)*K-(w-G)*t)+((w-G)*H-(I-J)*K)*((w-G)*H-(I-J)*K))));if(!(LF*.009999999776482582))break;Xd(b,c[k+(c[p+12>>2]<<2)>>2]|0,A);i=c[b+4>>2]|0;g=i}while(0)}while((i|0)!=0);if(!g)break;do{g=g+-1|0;j=c[(c[b+12>>2]|0)+(g<<2)>>2]|0;if(j|0){if((c[j+28>>2]|0)>-1)break b;S=c[j>>2]|0;O=c[j+4>>2]|0;T=c[j+8>>2]|0;q=+f[X+(O<<4)>>2];o=q-+f[X+(S<<4)>>2];v=+f[X+(O<<4)+4>>2];t=v-+f[X+(S<<4)+4>>2];m=+f[X+(O<<4)+8>>2];l=m-+f[X+(S<<4)+8>>2];q=+f[X+(T<<4)>>2]-q;v=+f[X+(T<<4)+4>>2]-v;m=+f[X+(T<<4)+8>>2]-m;n=+s(+((o*v-t*q)*(o*v-t*q)+((t*m-l*v)*(t*m-l*v)+(l*q-o*m)*(l*q-o*m))));if(n==0.0){c[Z>>2]=1065353216;c[Z+4>>2]=0;c[Z+8>>2]=0;w=1.0;m=0.0;l=0.0}else{f[Z>>2]=(t*m-l*v)*(1.0/n);f[Z+4>>2]=(l*q-o*m)*(1.0/n);f[Z+8>>2]=(o*v-t*q)*(1.0/n);w=(t*m-l*v)*(1.0/n);m=(l*q-o*m)*(1.0/n);l=(o*v-t*q)*(1.0/n)}f[Z+12>>2]=0.0;i=Fe(X,U,Z,Z+52|0)|0;c[j+28>>2]=i;if(!(c[P+(i<<2)>>2]|0)){T=c[j>>2]|0;f[j+32>>2]=(+f[X+(i<<4)>>2]-+f[X+(T<<4)>>2])*w+(+f[X+(i<<4)+4>>2]-+f[X+(T<<4)+4>>2])*m+(+f[X+(i<<4)+8>>2]-+f[X+(T<<4)+8>>2])*l}else c[j+28>>2]=-1}}while((g|0)!=0)}while(0);if((h|0)<=1){h=1;break a}g=c[b+4>>2]|0;h=h+-1|0}else h=1}else h=0}else W=101}else W=101}else W=101;while(0);if((W|0)==101)h=0;g=c[R>>2]|0;if(g|0){c[6880]=(c[6880]|0)+1;kd(c[g+-4>>2]|0);c[R>>2]=0}if(!((P|0)==0|(Q|0)==0)){c[6880]=(c[6880]|0)+1;kd(c[Q+-4>>2]|0)}if(h){g=c[b+4>>2]|0;if((g|0)>0){h=0;k=0;E=0;y=0;j=0;D=0;while(1){u=c[(c[b+12>>2]|0)+(E<<2)>>2]|0;if(!u){p=y;i=D}else{do if((D|0)==(y|0)){p=(y|0)==0?1:y<<1;if((y|0)>=(p|0)){p=y;break}do if(!p)i=0;else{c[6879]=(c[6879]|0)+1;g=Zb((p<<2|3)+16|0)|0;if(!g){i=0;break}c[(g+4+15&-16)+-4>>2]=g;i=g+4+15&-16}while(0);if((y|0)>0){g=0;do{c[i+(g<<2)>>2]=c[j+(g<<2)>>2];g=g+1|0}while((g|0)!=(y|0));if(!h){h=i;k=i;j=i;break}}else if((j|0)==0|(h|0)==0){h=i;k=i;j=i;break}c[6880]=(c[6880]|0)+1;kd(c[h+-4>>2]|0);h=i;k=i;j=i}else p=y;while(0);c[j+(D<<2)>>2]=c[u>>2];A=D+1|0;y=(c[(c[b+12>>2]|0)+(E<<2)>>2]|0)+4|0;do if((A|0)==(p|0)){u=(p|0)==0?1:p<<1;if((p|0)>=(u|0))break;do if(!u)i=0;else{c[6879]=(c[6879]|0)+1;g=Zb((u<<2|3)+16|0)|0;if(!g){i=0;break}c[(g+4+15&-16)+-4>>2]=g;i=g+4+15&-16}while(0);if((p|0)>0){g=0;do{c[i+(g<<2)>>2]=c[j+(g<<2)>>2];g=g+1|0}while((g|0)!=(p|0));if(!h){h=i;k=i;p=u;j=i;break}}else if((j|0)==0|(h|0)==0){h=i;k=i;p=u;j=i;break}c[6880]=(c[6880]|0)+1;kd(c[h+-4>>2]|0);h=i;k=i;p=u;j=i}while(0);c[j+(A<<2)>>2]=c[y>>2];A=D+2|0;y=(c[(c[b+12>>2]|0)+(E<<2)>>2]|0)+8|0;do if((A|0)==(p|0)){u=(p|0)==0?1:p<<1;if((p|0)>=(u|0))break;do if(!u)i=0;else{c[6879]=(c[6879]|0)+1;g=Zb((u<<2|3)+16|0)|0;if(!g){i=0;break}c[(g+4+15&-16)+-4>>2]=g;i=g+4+15&-16}while(0);if((p|0)>0){g=0;do{c[i+(g<<2)>>2]=c[j+(g<<2)>>2];g=g+1|0}while((g|0)!=(p|0));if(!h){k=i;h=i;p=u;j=i;break}}else if((j|0)==0|(h|0)==0){k=i;h=i;p=u;j=i;break}c[6880]=(c[6880]|0)+1;kd(c[h+-4>>2]|0);k=i;h=i;p=u;j=i}while(0);c[j+(A<<2)>>2]=c[y>>2];T=c[b+12>>2]|0;g=c[T+(E<<2)>>2]|0;c[T+(c[g+24>>2]<<2)>>2]=0;if(g|0){c[6880]=(c[6880]|0)+1;kd(c[g+-4>>2]|0)}g=c[b+4>>2]|0;i=D+3|0}E=E+1|0;if((E|0)>=(g|0)){p=i;break}else{y=p;D=i}}c[Z+48>>2]=(p|0)/3|0;if((p|0)>0){c[6879]=(c[6879]|0)+1;g=Zb((p<<2|3)+16|0)|0;if(!g)h=0;else{c[(g+4+15&-16)+-4>>2]=g;h=g+4+15&-16}el(h|0,0,p<<2|0)|0;g=0;do{c[h+(g<<2)>>2]=c[j+(g<<2)>>2];g=g+1|0}while((g|0)!=(p|0));i=h;g=h}else{i=0;g=0}h=c[b+4>>2]|0;M=i;Q=p}else{c[Z+48>>2]=0;k=0;h=g;M=0;g=0;j=0;Q=0}if((h|0)<0){if((c[b+8>>2]|0)<0){i=c[b+12>>2]|0;if(i|0){if(a[b+16>>0]|0){c[6880]=(c[6880]|0)+1;kd(c[i+-4>>2]|0)}c[b+12>>2]=0}a[b+16>>0]=1;c[b+12>>2]=0;c[b+8>>2]=0}do{c[(c[b+12>>2]|0)+(h<<2)>>2]=0;h=h+1|0}while((h|0)!=0)}c[b+4>>2]=0;if(!((j|0)==0|(k|0)==0)){c[6880]=(c[6880]|0)+1;kd(c[k+-4>>2]|0)}P=c[Z+48>>2]|0;k=(U|0)>0;if(k){c[6879]=(c[6879]|0)+1;h=Zb((U<<4|3)+16|0)|0;if(!h)i=0;else{c[(h+4+15&-16)+-4>>2]=h;i=h+4+15&-16}h=0;do{T=i+(h<<4)|0;c[T>>2]=c[Z>>2];c[T+4>>2]=c[Z+4>>2];c[T+8>>2]=c[Z+8>>2];c[T+12>>2]=c[Z+12>>2];h=h+1|0}while((h|0)!=(U|0));O=i;N=i}else{O=0;N=0}i=c[b+24>>2]|0;do if((i|0)>0){c[6879]=(c[6879]|0)+1;h=Zb((i<<2|3)+16|0)|0;if(!h)j=0;else{c[(h+4+15&-16)+-4>>2]=h;j=h+4+15&-16}el(j|0,0,i<<2|0)|0;if((c[b+24>>2]|0)<=0){E=j;D=j;break}h=c[b+32>>2]|0;i=0;do{c[j+(i<<2)>>2]=c[h+(i<<2)>>2];i=i+1|0}while((i|0)<(c[b+24>>2]|0));E=j;D=j}else{E=0;D=0}while(0);if(k){c[6879]=(c[6879]|0)+1;h=Zb((V|3)+16|0)|0;if(!h)h=0;else{c[(h+4+15&-16)+-4>>2]=h;h=h+4+15&-16}el(h|0,0,V|0)|0;A=h;y=h}else{A=0;y=0}el(A|0,0,V|0)|0;if((P|0)<=0)if(!y)u=0;else{h=0;W=241}else{u=0;h=0;do{j=g+(u<<2)|0;k=c[j>>2]|0;p=y+(k<<2)|0;i=c[p>>2]|0;if(!i){c[j>>2]=h;c[N+(h<<4)>>2]=c[Y+(k<<4)>>2];c[N+(h<<4)+4>>2]=c[Y+(k<<4)+4>>2];c[N+(h<<4)+8>>2]=c[Y+(k<<4)+8>>2];i=c[b+24>>2]|0;if((i|0)>0){j=0;do{if((c[D+(j<<2)>>2]|0)==(k|0)){c[(c[b+32>>2]|0)+(j<<2)>>2]=h;i=c[b+24>>2]|0}j=j+1|0}while((j|0)<(i|0))}h=h+1|0;c[p>>2]=h}else c[j>>2]=i+-1;u=u+1|0}while((u|0)!=(P*3|0));W=241}do if((W|0)==241){if(!A){u=h;break}c[6880]=(c[6880]|0)+1;kd(c[A+-4>>2]|0);u=h}while(0);if(!((D|0)==0|(E|0)==0)){c[6880]=(c[6880]|0)+1;kd(c[E+-4>>2]|0)}do if(!(c[d>>2]&1)){a[e>>0]=1;c[e+4>>2]=u;k=c[e+12>>2]|0;if((k|0)<(u|0)){if((c[e+16>>2]|0)<(u|0)){if(!u){i=k;j=0}else{c[6879]=(c[6879]|0)+1;h=Zb((u<<4|3)+16|0)|0;if(!h)h=0;else{c[(h+4+15&-16)+-4>>2]=h;h=h+4+15&-16}i=c[e+12>>2]|0;j=h}if((i|0)>0){h=0;do{b=j+(h<<4)|0;W=(c[e+20>>2]|0)+(h<<4)|0;c[b>>2]=c[W>>2];c[b+4>>2]=c[W+4>>2];c[b+8>>2]=c[W+8>>2];c[b+12>>2]=c[W+12>>2];h=h+1|0}while((h|0)!=(i|0))}h=c[e+20>>2]|0;if(h|0){if(a[e+24>>0]|0){c[6880]=(c[6880]|0)+1;kd(c[h+-4>>2]|0)}c[e+20>>2]=0}a[e+24>>0]=1;c[e+20>>2]=j;c[e+16>>2]=u;i=e+20|0}else i=e+20|0;h=k;do{b=(c[i>>2]|0)+(h<<4)|0;c[b>>2]=c[Z>>2];c[b+4>>2]=c[Z+4>>2];c[b+8>>2]=c[Z+8>>2];c[b+12>>2]=c[Z+12>>2];h=h+1|0}while((h|0)!=(u|0))}c[e+12>>2]=u;c[e+28>>2]=P;c[e+32>>2]=P<<2;p=c[e+40>>2]|0;if((P<<2|0)>(p|0)){d:do if((c[e+44>>2]|0)<(P<<2|0)){if(!(P<<2)){k=p;h=0}else{c[6879]=(c[6879]|0)+1;h=Zb((P<<4|3)+16|0)|0;if(!h)h=0;else{c[(h+4+15&-16)+-4>>2]=h;h=h+4+15&-16}k=c[e+40>>2]|0}i=c[e+48>>2]|0;do if((k|0)>0){j=0;do{c[h+(j<<2)>>2]=c[i+(j<<2)>>2];j=j+1|0}while((j|0)!=(k|0))}else{if(i|0)break;a[e+52>>0]=1;c[e+48>>2]=h;c[e+44>>2]=P<<2;break d}while(0);if(a[e+52>>0]|0){c[6880]=(c[6880]|0)+1;kd(c[i+-4>>2]|0)}a[e+52>>0]=1;c[e+48>>2]=h;c[e+44>>2]=P<<2}else h=c[e+48>>2]|0;while(0);el(h+(p<<2)|0,0,(P<<2)-p<<2|0)|0}c[e+40>>2]=P<<2;oi(c[e+20>>2]|0,O|0,u<<4|0)|0;if(!P)break;i=c[e+48>>2]|0;j=0;k=g;while(1){c[i>>2]=3;if(!(c[d>>2]&2)){c[i+4>>2]=c[k>>2];h=k+8|0}else{c[i+4>>2]=c[k+8>>2];h=k}c[i+8>>2]=c[k+4>>2];c[i+12>>2]=c[h>>2];j=j+1|0;if((j|0)==(P|0))break;else{i=i+16|0;k=k+12|0}}}else{a[e>>0]=0;c[e+4>>2]=u;k=c[e+12>>2]|0;if((k|0)<(u|0)){if((c[e+16>>2]|0)<(u|0)){if(!u){i=k;j=0}else{c[6879]=(c[6879]|0)+1;h=Zb((u<<4|3)+16|0)|0;if(!h)h=0;else{c[(h+4+15&-16)+-4>>2]=h;h=h+4+15&-16}i=c[e+12>>2]|0;j=h}if((i|0)>0){h=0;do{b=j+(h<<4)|0;W=(c[e+20>>2]|0)+(h<<4)|0;c[b>>2]=c[W>>2];c[b+4>>2]=c[W+4>>2];c[b+8>>2]=c[W+8>>2];c[b+12>>2]=c[W+12>>2];h=h+1|0}while((h|0)!=(i|0))}h=c[e+20>>2]|0;if(h|0){if(a[e+24>>0]|0){c[6880]=(c[6880]|0)+1;kd(c[h+-4>>2]|0)}c[e+20>>2]=0}a[e+24>>0]=1;c[e+20>>2]=j;c[e+16>>2]=u;i=e+20|0}else i=e+20|0;h=k;do{b=(c[i>>2]|0)+(h<<4)|0;c[b>>2]=c[Z>>2];c[b+4>>2]=c[Z+4>>2];c[b+8>>2]=c[Z+8>>2];c[b+12>>2]=c[Z+12>>2];h=h+1|0}while((h|0)!=(u|0))}c[e+12>>2]=u;c[e+28>>2]=P;c[e+32>>2]=P*3;p=c[e+40>>2]|0;if((p|0)<(P*3|0)){e:do if((c[e+44>>2]|0)<(P*3|0)){if(!P){k=p;h=0}else{c[6879]=(c[6879]|0)+1;h=Zb((P*12|3)+16|0)|0;if(!h)h=0;else{c[(h+4+15&-16)+-4>>2]=h;h=h+4+15&-16}k=c[e+40>>2]|0}i=c[e+48>>2]|0;do if((k|0)>0){j=0;do{c[h+(j<<2)>>2]=c[i+(j<<2)>>2];j=j+1|0}while((j|0)!=(k|0))}else{if(i|0)break;a[e+52>>0]=1;c[e+48>>2]=h;c[e+44>>2]=P*3;break e}while(0);if(a[e+52>>0]|0){c[6880]=(c[6880]|0)+1;kd(c[i+-4>>2]|0)}a[e+52>>0]=1;c[e+48>>2]=h;c[e+44>>2]=P*3}else h=c[e+48>>2]|0;while(0);el(h+(p<<2)|0,0,(P*12|0)-(p<<2)|0)|0}c[e+40>>2]=P*3;oi(c[e+20>>2]|0,O|0,u<<4|0)|0;if(!(c[d>>2]&2)){oi(c[e+48>>2]|0,M|0,P*12|0)|0;break}if(!P)break;h=c[e+48>>2]|0;i=0;j=g;while(1){c[h>>2]=c[j+8>>2];c[h+4>>2]=c[j+4>>2];c[h+8>>2]=c[j>>2];i=i+1|0;if((i|0)==(P|0))break;else{h=h+12|0;j=j+12|0}}}while(0);do if(Q){if(!g){g=0;break}c[6880]=(c[6880]|0)+1;kd(c[g+-4>>2]|0);g=0}while(0);if((N|0)==0|(O|0)==0){h=0;break}c[6880]=(c[6880]|0)+1;kd(c[O+-4>>2]|0);h=0;break}}}g=0;h=1}while(0);if(!((X|0)==0|(Y|0)==0)){c[6880]=(c[6880]|0)+1;kd(c[Y+-4>>2]|0)}if(!g){Ta=Z;return h|0}c[6880]=(c[6880]|0)+1;kd(c[g+-4>>2]|0);Ta=Z;return h|0}function Qb(b,d,e){b=b|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0.0,l=0,m=0.0,n=0.0,o=0.0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0.0,y=0.0,A=0.0,B=0.0,C=0.0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0.0,O=0.0,P=0.0,Q=0.0;M=Ta;Ta=Ta+16|0;g=c[b+1112>>2]|0;a:do if((g|0)>0)while(1){l=c[c[b+1120>>2]>>2]|0;g=c[l+348>>2]|0;if(g|0){ch(b+1048|0,g)|0;h=c[b+1052>>2]|0;if(h|0){c[6880]=(c[6880]|0)+1;kd(c[h+-4>>2]|0)}c[b+1052>>2]=g;c[b+1060>>2]=(c[b+1060>>2]|0)+-1}g=c[l+52>>2]|0;if(g|0){if(a[l+56>>0]|0){c[6880]=(c[6880]|0)+1;kd(c[g+-4>>2]|0)}c[l+52>>2]=0}a[l+56>>0]=1;c[l+52>>2]=0;c[l+44>>2]=0;c[l+48>>2]=0;g=c[l+32>>2]|0;if(g|0){if(a[l+36>>0]|0){c[6880]=(c[6880]|0)+1;kd(c[g+-4>>2]|0)}c[l+32>>2]=0}a[l+36>>0]=1;c[l+32>>2]=0;c[l+24>>2]=0;c[l+28>>2]=0;g=c[l+12>>2]|0;if(g|0){if(a[l+16>>0]|0){c[6880]=(c[6880]|0)+1;kd(c[g+-4>>2]|0)}c[l+12>>2]=0}a[l+16>>0]=1;c[l+12>>2]=0;c[l+4>>2]=0;c[l+8>>2]=0;c[6880]=(c[6880]|0)+1;kd(c[l+-4>>2]|0);g=c[b+1112>>2]|0;if((g|0)<=0){l=g;break a}j=c[b+1120>>2]|0;h=0;do{i=j+(h<<2)|0;if((c[i>>2]|0)==(l|0)){L=23;break}h=h+1|0}while((h|0)<(g|0));if((L|0)==23){L=0;if((h|0)<(g|0)){c[i>>2]=c[j+(g+-1<<2)>>2];c[(c[b+1120>>2]|0)+(g+-1<<2)>>2]=l;c[b+1112>>2]=g+-1;g=g+-1|0}}if((g|0)<=0){l=g;break}}else l=g;while(0);g=c[b+712>>2]|0;g=(g|0)>(d|0)?d:g;if((l|0)<(g|0)){if((c[b+1116>>2]|0)<(g|0)){if(g){c[6879]=(c[6879]|0)+1;h=Zb((g<<2|3)+16|0)|0;if(!h)j=0;else{c[(h+4+15&-16)+-4>>2]=h;j=h+4+15&-16}h=c[b+1112>>2]|0;if((h|0)>0){i=0;do{c[j+(i<<2)>>2]=c[(c[b+1120>>2]|0)+(i<<2)>>2];i=i+1|0}while((i|0)!=(h|0));i=b+1120|0}else i=b+1120|0}else{i=b+1120|0;j=0}h=c[i>>2]|0;if(h|0){if(a[b+1124>>0]|0){c[6880]=(c[6880]|0)+1;kd(c[h+-4>>2]|0)}c[i>>2]=0}a[b+1124>>0]=1;c[i>>2]=j;c[b+1116>>2]=g}else i=b+1120|0;h=l;do{c[(c[i>>2]|0)+(h<<2)>>2]=0;h=h+1|0}while((h|0)!=(g|0))}c[b+1112>>2]=g;if((g|0)>0){h=0;do{c[6879]=(c[6879]|0)+1;g=Zb(403)|0;if(!g)g=0;else{c[(g+4+15&-16)+-4>>2]=g;g=g+4+15&-16}a[g+16>>0]=1;c[g+12>>2]=0;c[g+4>>2]=0;c[g+8>>2]=0;a[g+36>>0]=1;c[g+32>>2]=0;c[g+24>>2]=0;c[g+28>>2]=0;a[g+56>>0]=1;c[g+52>>2]=0;c[g+44>>2]=0;c[g+48>>2]=0;i=g+348|0;c[i>>2]=0;c[i+4>>2]=0;c[i+8>>2]=0;c[i+12>>2]=0;c[i+16>>2]=0;f[g+368>>2]=100.0;f[g+372>>2]=.009999999776482582;a[g+376>>0]=0;c[(c[b+1120>>2]|0)+(h<<2)>>2]=g;i=c[b+1120>>2]|0;a[(c[i+(h<<2)>>2]|0)+377>>0]=1;h=h+1|0;g=c[b+1112>>2]|0}while((h|0)<(g|0));if((g|0)>0){h=c[b+712>>2]|0;if((h|0)>0){m=0.0;n=0.0;k=0.0;l=g;p=0;while(1){d=c[b+720>>2]|0;m=m+ +f[d+(p*104|0)+8>>2];n=n+ +f[d+(p*104|0)+12>>2];o=k+ +f[d+(p*104|0)+16>>2];l=c[i+(((p*29873|0)%(l|0)|0)<<2)>>2]|0;d=d+(p*104|0)|0;i=c[l+24>>2]|0;if((i|0)==(c[l+28>>2]|0)?(q=(i|0)==0?1:i<<1,(i|0)<(q|0)):0){if(!q){h=i;i=0}else{c[6879]=(c[6879]|0)+1;h=Zb((q<<2|3)+16|0)|0;if(!h)i=0;else{c[(h+4+15&-16)+-4>>2]=h;i=h+4+15&-16}h=c[l+24>>2]|0}if((h|0)>0){j=0;do{c[i+(j<<2)>>2]=c[(c[l+32>>2]|0)+(j<<2)>>2];j=j+1|0}while((j|0)!=(h|0))}j=c[l+32>>2]|0;if(j){if(a[l+36>>0]|0){c[6880]=(c[6880]|0)+1;kd(c[j+-4>>2]|0);h=c[l+24>>2]|0}c[l+32>>2]=0}a[l+36>>0]=1;c[l+32>>2]=i;c[l+28>>2]=q;i=h;h=c[b+712>>2]|0}c[(c[l+32>>2]|0)+(i<<2)>>2]=d;c[l+24>>2]=i+1;j=p+1|0;if((j|0)>=(h|0))break;k=o;l=c[b+1112>>2]|0;i=c[b+1120>>2]|0;p=j}k=1.0/+(h|0);if((g|0)>=0)if(!g){m=m*k;n=n*k;k=o*k;i=0;L=72}else{m=m*k;n=n*k;k=o*k;L=70}else{H=0;G=0;D=b+720|0}}else{m=1.0/+(h|0)*0.0;n=1.0/+(h|0)*0.0;k=1.0/+(h|0)*0.0;L=70}if((L|0)==70){c[6879]=(c[6879]|0)+1;h=Zb((g<<4|3)+16|0)|0;if(!h){i=0;L=72}else{c[(h+4+15&-16)+-4>>2]=h;i=h+4+15&-16;L=72}}if((L|0)==72){h=0;do{f[i+(h<<4)>>2]=m;f[i+(h<<4)+4>>2]=n;f[i+(h<<4)+8>>2]=k;f[i+(h<<4)+12>>2]=0.0;h=h+1|0}while((h|0)!=(g|0));H=i;G=i;D=b+720|0}t=G+4|0;u=G+8|0;v=0;do{A=+(v|0)*.0625;A=2.0-(A>1.0?1.0:A);l=0;d=0;while(1){h=c[(c[b+1120>>2]|0)+(d<<2)>>2]|0;j=c[h+24>>2]|0;if((j|0)>0){i=c[h+32>>2]|0;L=c[i>>2]|0;n=+f[L+8>>2]+0.0;m=+f[L+12>>2]+0.0;k=+f[L+16>>2]+0.0;if((j|0)==1)L=82;else{h=1;do{L=c[i+(h<<2)>>2]|0;n=n+ +f[L+8>>2];m=m+ +f[L+12>>2];k=k+ +f[L+16>>2];h=h+1|0}while((h|0)<(j|0));L=80}}else{k=0.0;m=0.0;n=0.0;L=80}if((L|0)==80){L=0;if(!j)s=l;else L=82}if((L|0)==82){L=0;s=G+(d<<4)|0;x=+f[s>>2];w=G+(d<<4)+4|0;y=+f[w>>2];h=G+(d<<4)+8|0;o=+f[h>>2];n=x+A*(n*(1.0/+(j|0))-x);m=y+A*(m*(1.0/+(j|0))-y);k=o+A*(k*(1.0/+(j|0))-o);f[s>>2]=n;f[w>>2]=m;f[h>>2]=k;f[G+(d<<4)+12>>2]=0.0;j=c[(c[b+1120>>2]|0)+(d<<2)>>2]|0;h=c[j+24>>2]|0;if((h|0)<0){if((c[j+28>>2]|0)<0){i=c[j+32>>2]|0;if(i|0){if(a[j+36>>0]|0){c[6880]=(c[6880]|0)+1;kd(c[i+-4>>2]|0)}c[j+32>>2]=0}a[j+36>>0]=1;c[j+32>>2]=0;c[j+28>>2]=0}do{c[(c[j+32>>2]|0)+(h<<2)>>2]=0;h=h+1|0}while((h|0)!=0)}c[j+24>>2]=0;s=l|(n-x)*(n-x)+(m-y)*(m-y)+(k-o)*(k-o)>1.1920928955078125e-07}d=d+1|0;if((d|0)>=(g|0))break;else l=s}v=v+1|0;h=c[b+712>>2]|0;b:do if((h|0)>0){if((g|0)<=1){p=0;while(1){l=c[c[b+1120>>2]>>2]|0;d=(c[D>>2]|0)+(p*104|0)|0;i=c[l+24>>2]|0;if((i|0)==(c[l+28>>2]|0)?(E=(i|0)==0?1:i<<1,(i|0)<(E|0)):0){if(!E){h=i;i=0}else{c[6879]=(c[6879]|0)+1;h=Zb((E<<2|3)+16|0)|0;if(!h)i=0;else{c[(h+4+15&-16)+-4>>2]=h;i=h+4+15&-16}h=c[l+24>>2]|0}if((h|0)>0){j=0;do{c[i+(j<<2)>>2]=c[(c[l+32>>2]|0)+(j<<2)>>2];j=j+1|0}while((j|0)!=(h|0))}j=c[l+32>>2]|0;if(j){if(a[l+36>>0]|0){c[6880]=(c[6880]|0)+1;kd(c[j+-4>>2]|0);h=c[l+24>>2]|0}c[l+32>>2]=0}a[l+36>>0]=1;c[l+32>>2]=i;c[l+28>>2]=E;i=h;h=c[b+712>>2]|0}c[(c[l+32>>2]|0)+(i<<2)>>2]=d;c[l+24>>2]=i+1;p=p+1|0;if((p|0)>=(h|0))break b}}q=0;do{d=c[D>>2]|0;n=+f[d+(q*104|0)+8>>2];o=+f[d+(q*104|0)+12>>2];x=+f[d+(q*104|0)+16>>2];j=1;l=0;m=+r(+(+f[G>>2]-n))+ +r(+(+f[t>>2]-o))+ +r(+(+f[u>>2]-x));while(1){k=+r(+(+f[G+(j<<4)>>2]-n))+ +r(+(+f[G+(j<<4)+4>>2]-o))+ +r(+(+f[G+(j<<4)+8>>2]-x));i=k>2]|0)+(l<<2)>>2]|0;l=d+(q*104|0)|0;i=c[p+24>>2]|0;if((i|0)==(c[p+28>>2]|0)?(F=(i|0)==0?1:i<<1,(i|0)<(F|0)):0){if(!F){h=i;i=0}else{c[6879]=(c[6879]|0)+1;h=Zb((F<<2|3)+16|0)|0;if(!h)i=0;else{c[(h+4+15&-16)+-4>>2]=h;i=h+4+15&-16}h=c[p+24>>2]|0}if((h|0)>0){j=0;do{c[i+(j<<2)>>2]=c[(c[p+32>>2]|0)+(j<<2)>>2];j=j+1|0}while((j|0)!=(h|0))}j=c[p+32>>2]|0;if(j){if(a[p+36>>0]|0){c[6880]=(c[6880]|0)+1;kd(c[j+-4>>2]|0);h=c[p+24>>2]|0}c[p+32>>2]=0}a[p+36>>0]=1;c[p+32>>2]=i;c[p+28>>2]=F;i=h;h=c[b+712>>2]|0}c[(c[p+32>>2]|0)+(i<<2)>>2]=l;c[p+24>>2]=i+1;q=q+1|0}while((q|0)<(h|0))}while(0)}while((v|0)<(e|0)&s);if((h|0)>0){h=h<<2;c[6879]=(c[6879]|0)+1;g=Zb((h|3)+16|0)|0;if(!g)g=0;else{c[(g+4+15&-16)+-4>>2]=g;g=g+4+15&-16}el(g|0,-1,h|0)|0;w=g;v=g}else{w=0;v=0}g=c[b+1112>>2]|0;if((g|0)>0){d=c[b+1120>>2]|0;l=0;do{j=c[d+(l<<2)>>2]|0;if((c[j+24>>2]|0)>0){g=c[D>>2]|0;h=c[j+32>>2]|0;c[v+((((c[h>>2]|0)-g|0)/104|0)<<2)>>2]=l;if((c[j+24>>2]|0)>1){i=1;do{c[v+((((c[h+(i<<2)>>2]|0)-g|0)/104|0)<<2)>>2]=l;i=i+1|0}while((i|0)<(c[j+24>>2]|0))}g=c[b+1112>>2]|0}l=l+1|0}while((l|0)<(g|0))}if((c[b+752>>2]|0)>0){s=0;do{e=c[b+760>>2]|0;p=c[D>>2]|0;g=((c[e+(s*44|0)+8>>2]|0)-p|0)/104|0;c[M>>2]=g;c[M+4>>2]=((c[e+(s*44|0)+12>>2]|0)-p|0)/104|0;c[M+8>>2]=((c[e+(s*44|0)+16>>2]|0)-p|0)/104|0;p=0;while(1){d=c[v+(g<<2)>>2]|0;q=p+1|0;g=c[M+(((q|0)==3?0:q)<<2)>>2]|0;c:do if((c[v+(g<<2)>>2]|0)!=(d|0)){l=c[(c[b+1120>>2]|0)+(d<<2)>>2]|0;j=(c[D>>2]|0)+(g*104|0)|0;g=c[l+24>>2]|0;d:do if((g|0)>0){i=c[l+32>>2]|0;h=0;while(1){if((c[i+(h<<2)>>2]|0)==(j|0))break;h=h+1|0;if((h|0)>=(g|0))break d}if((h|0)!=(g|0))break c}while(0);if((g|0)==(c[l+28>>2]|0)?(I=(g|0)==0?1:g<<1,(g|0)<(I|0)):0){if(!I)h=0;else{c[6879]=(c[6879]|0)+1;g=Zb((I<<2|3)+16|0)|0;if(!g)h=0;else{c[(g+4+15&-16)+-4>>2]=g;h=g+4+15&-16}g=c[l+24>>2]|0}if((g|0)>0){i=0;do{c[h+(i<<2)>>2]=c[(c[l+32>>2]|0)+(i<<2)>>2];i=i+1|0}while((i|0)!=(g|0))}i=c[l+32>>2]|0;if(i){if(a[l+36>>0]|0){c[6880]=(c[6880]|0)+1;kd(c[i+-4>>2]|0);g=c[l+24>>2]|0}c[l+32>>2]=0}a[l+36>>0]=1;c[l+32>>2]=h;c[l+28>>2]=I}c[(c[l+32>>2]|0)+(g<<2)>>2]=j;c[l+24>>2]=g+1}while(0);g=c[M+((((p+2|0)>>>0)%3|0)<<2)>>2]|0;e:do if((c[v+(g<<2)>>2]|0)!=(d|0)){l=c[(c[b+1120>>2]|0)+(d<<2)>>2]|0;j=(c[D>>2]|0)+(g*104|0)|0;g=c[l+24>>2]|0;f:do if((g|0)>0){i=c[l+32>>2]|0;h=0;while(1){if((c[i+(h<<2)>>2]|0)==(j|0))break;h=h+1|0;if((h|0)>=(g|0))break f}if((h|0)!=(g|0))break e}while(0);if((g|0)==(c[l+28>>2]|0)?(J=(g|0)==0?1:g<<1,(g|0)<(J|0)):0){if(!J)h=0;else{c[6879]=(c[6879]|0)+1;g=Zb((J<<2|3)+16|0)|0;if(!g)h=0;else{c[(g+4+15&-16)+-4>>2]=g;h=g+4+15&-16}g=c[l+24>>2]|0}if((g|0)>0){i=0;do{c[h+(i<<2)>>2]=c[(c[l+32>>2]|0)+(i<<2)>>2];i=i+1|0}while((i|0)!=(g|0))}i=c[l+32>>2]|0;if(i){if(a[l+36>>0]|0){c[6880]=(c[6880]|0)+1;kd(c[i+-4>>2]|0);g=c[l+24>>2]|0}c[l+32>>2]=0}a[l+36>>0]=1;c[l+32>>2]=h;c[l+28>>2]=J}c[(c[l+32>>2]|0)+(g<<2)>>2]=j;c[l+24>>2]=g+1}while(0);if(q>>>0>=3)break;g=c[M+(q<<2)>>2]|0;p=q}s=s+1|0}while((s|0)<(c[b+752>>2]|0));g=c[b+1112>>2]|0}if((g|0)>1){c[6879]=(c[6879]|0)+1;g=Zb(403)|0;if(!g)g=0;else{c[(g+4+15&-16)+-4>>2]=g;g=g+4+15&-16}a[g+16>>0]=1;c[g+12>>2]=0;c[g+4>>2]=0;c[g+8>>2]=0;p=g+36|0;a[p>>0]=1;s=g+32|0;c[s>>2]=0;t=g+24|0;c[t>>2]=0;q=g+28|0;c[q>>2]=0;a[g+56>>0]=1;c[g+52>>2]=0;c[g+44>>2]=0;c[g+48>>2]=0;u=g+348|0;c[u>>2]=0;c[u+4>>2]=0;c[u+8>>2]=0;c[u+12>>2]=0;c[u+16>>2]=0;f[g+368>>2]=100.0;f[g+372>>2]=.009999999776482582;a[g+376>>0]=0;u=g;a[g+377>>0]=0;j=c[b+712>>2]|0;if((j|0)>0){c[6879]=(c[6879]|0)+1;g=Zb((j<<2|3)+16|0)|0;if(!g)i=0;else{c[(g+4+15&-16)+-4>>2]=g;i=g+4+15&-16}g=c[t>>2]|0;if((g|0)>0){h=0;do{c[i+(h<<2)>>2]=c[(c[s>>2]|0)+(h<<2)>>2];h=h+1|0}while((h|0)!=(g|0))}g=c[s>>2]|0;if(g|0){if(a[p>>0]|0){c[6880]=(c[6880]|0)+1;kd(c[g+-4>>2]|0)}c[s>>2]=0}a[p>>0]=1;c[s>>2]=i;c[q>>2]=j;g=c[b+712>>2]|0;if((g|0)>0){i=c[t>>2]|0;h=j;d=0;do{l=(c[D>>2]|0)+(d*104|0)|0;do if((i|0)==(h|0)){j=(h|0)==0?1:h<<1;if((h|0)>=(j|0)){i=h;break}if(!j){g=h;h=0}else{c[6879]=(c[6879]|0)+1;g=Zb((j<<2|3)+16|0)|0;if(!g)h=0;else{c[(g+4+15&-16)+-4>>2]=g;h=g+4+15&-16}g=c[t>>2]|0}if((g|0)>0){i=0;do{c[h+(i<<2)>>2]=c[(c[s>>2]|0)+(i<<2)>>2];i=i+1|0}while((i|0)!=(g|0))}i=c[s>>2]|0;if(i){if(a[p>>0]|0){c[6880]=(c[6880]|0)+1;kd(c[i+-4>>2]|0);g=c[t>>2]|0}c[s>>2]=0}a[p>>0]=1;c[s>>2]=h;c[q>>2]=j;i=g;g=c[b+712>>2]|0;h=j}while(0);c[(c[s>>2]|0)+(i<<2)>>2]=l;i=i+1|0;c[t>>2]=i;d=d+1|0}while((d|0)<(g|0))}}g=c[b+1112>>2]|0;if((g|0)==(c[b+1116>>2]|0)?(K=(g|0)==0?1:g<<1,(g|0)<(K|0)):0){if(!K)h=0;else{c[6879]=(c[6879]|0)+1;g=Zb((K<<2|3)+16|0)|0;if(!g)h=0;else{c[(g+4+15&-16)+-4>>2]=g;h=g+4+15&-16}g=c[b+1112>>2]|0}if((g|0)>0){i=0;do{c[h+(i<<2)>>2]=c[(c[b+1120>>2]|0)+(i<<2)>>2];i=i+1|0}while((i|0)!=(g|0))}i=c[b+1120>>2]|0;if(i){if(a[b+1124>>0]|0){c[6880]=(c[6880]|0)+1;kd(c[i+-4>>2]|0);g=c[b+1112>>2]|0}c[b+1120>>2]=0}a[b+1124>>0]=1;c[b+1120>>2]=h;c[b+1116>>2]=K}c[(c[b+1120>>2]|0)+(g<<2)>>2]=u;K=g+1|0;c[b+1112>>2]=K;I=c[b+1120>>2]|0;g=I+(g<<2)|0;J=c[I>>2]|0;c[I>>2]=c[g>>2];c[g>>2]=J;g=K}if((g|0)>0){h=0;do{d=c[(c[b+1120>>2]|0)+(h<<2)>>2]|0;g:do if(!(c[d+24>>2]|0)){h=h+-1|0;g=c[d+348>>2]|0;if(g|0){ch(b+1048|0,g)|0;i=c[b+1052>>2]|0;if(i|0){c[6880]=(c[6880]|0)+1;kd(c[i+-4>>2]|0)}c[b+1052>>2]=g;c[b+1060>>2]=(c[b+1060>>2]|0)+-1}g=c[d+52>>2]|0;if(g|0){if(a[d+56>>0]|0){c[6880]=(c[6880]|0)+1;kd(c[g+-4>>2]|0)}c[d+52>>2]=0}a[d+56>>0]=1;c[d+52>>2]=0;c[d+44>>2]=0;c[d+48>>2]=0;g=c[d+32>>2]|0;if(g|0){if(a[d+36>>0]|0){c[6880]=(c[6880]|0)+1;kd(c[g+-4>>2]|0)}c[d+32>>2]=0}a[d+36>>0]=1;c[d+32>>2]=0;c[d+24>>2]=0;c[d+28>>2]=0;g=c[d+12>>2]|0;if(g|0){if(a[d+16>>0]|0){c[6880]=(c[6880]|0)+1;kd(c[g+-4>>2]|0)}c[d+12>>2]=0}a[d+16>>0]=1;c[d+12>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[6880]=(c[6880]|0)+1;kd(c[d+-4>>2]|0);g=c[b+1112>>2]|0;if((g|0)>0){l=c[b+1120>>2]|0;i=0;while(1){j=l+(i<<2)|0;if((c[j>>2]|0)==(d|0))break;i=i+1|0;if((i|0)>=(g|0))break g}if((i|0)>=(g|0))break;c[j>>2]=c[l+(g+-1<<2)>>2];c[(c[b+1120>>2]|0)+(g+-1<<2)>>2]=d;c[b+1112>>2]=g+-1;g=g+-1|0}}while(0);h=h+1|0}while((h|0)<(g|0))}if(!((v|0)==0|(w|0)==0)){c[6880]=(c[6880]|0)+1;kd(c[w+-4>>2]|0)}if(!((G|0)==0|(H|0)==0)){c[6880]=(c[6880]|0)+1;kd(c[H+-4>>2]|0)}}else L=244}else L=244;h:do if((L|0)==244){l=c[b+772>>2]|0;if(!l){d=c[b+752>>2]|0;if((g|0)<(d|0)){if((c[b+1116>>2]|0)<(d|0)){if(d){c[6879]=(c[6879]|0)+1;h=Zb((d<<2|3)+16|0)|0;if(!h)l=0;else{c[(h+4+15&-16)+-4>>2]=h;l=h+4+15&-16}h=c[b+1112>>2]|0;if((h|0)>0){i=0;do{c[l+(i<<2)>>2]=c[(c[b+1120>>2]|0)+(i<<2)>>2];i=i+1|0}while((i|0)!=(h|0));j=b+1120|0;i=l}else{j=b+1120|0;i=l}}else{j=b+1120|0;i=0}h=c[j>>2]|0;if(h|0){if(a[b+1124>>0]|0){c[6880]=(c[6880]|0)+1;kd(c[h+-4>>2]|0)}c[j>>2]=0}a[b+1124>>0]=1;c[j>>2]=i;c[b+1116>>2]=d}do{c[(c[b+1120>>2]|0)+(g<<2)>>2]=0;g=g+1|0}while((g|0)!=(d|0))}c[b+1112>>2]=d;if((d|0)>0){h=0;do{c[6879]=(c[6879]|0)+1;g=Zb(403)|0;if(!g)g=0;else{c[(g+4+15&-16)+-4>>2]=g;g=g+4+15&-16}a[g+16>>0]=1;c[g+12>>2]=0;c[g+4>>2]=0;c[g+8>>2]=0;a[g+36>>0]=1;c[g+32>>2]=0;c[g+24>>2]=0;c[g+28>>2]=0;a[g+56>>0]=1;c[g+52>>2]=0;c[g+44>>2]=0;c[g+48>>2]=0;L=g+348|0;c[L>>2]=0;c[L+4>>2]=0;c[L+8>>2]=0;c[L+12>>2]=0;c[L+16>>2]=0;f[g+368>>2]=100.0;f[g+372>>2]=.009999999776482582;a[g+376>>0]=0;c[(c[b+1120>>2]|0)+(h<<2)>>2]=g;a[(c[(c[b+1120>>2]|0)+(h<<2)>>2]|0)+377>>0]=1;h=h+1|0}while((h|0)<(c[b+1112>>2]|0))}if((c[b+752>>2]|0)<=0)break;d=0;while(1){j=c[(c[b+1120>>2]|0)+(d<<2)>>2]|0;l=(c[b+760>>2]|0)+(d*44|0)+8|0;g=c[j+24>>2]|0;if((g|0)==(c[j+28>>2]|0)?(p=(g|0)==0?1:g<<1,(g|0)<(p|0)):0){if(!p)h=0;else{c[6879]=(c[6879]|0)+1;g=Zb((p<<2|3)+16|0)|0;if(!g)h=0;else{c[(g+4+15&-16)+-4>>2]=g;h=g+4+15&-16}g=c[j+24>>2]|0}if((g|0)>0){i=0;do{c[h+(i<<2)>>2]=c[(c[j+32>>2]|0)+(i<<2)>>2];i=i+1|0}while((i|0)!=(g|0))}i=c[j+32>>2]|0;if(i){if(a[j+36>>0]|0){c[6880]=(c[6880]|0)+1;kd(c[i+-4>>2]|0);g=c[j+24>>2]|0}c[j+32>>2]=0}a[j+36>>0]=1;c[j+32>>2]=h;c[j+28>>2]=p}c[(c[j+32>>2]|0)+(g<<2)>>2]=c[l>>2];c[j+24>>2]=g+1;j=c[(c[b+1120>>2]|0)+(d<<2)>>2]|0;l=(c[b+760>>2]|0)+(d*44|0)+12|0;g=c[j+24>>2]|0;if((g|0)==(c[j+28>>2]|0)?(s=(g|0)==0?1:g<<1,(g|0)<(s|0)):0){if(!s)h=0;else{c[6879]=(c[6879]|0)+1;g=Zb((s<<2|3)+16|0)|0;if(!g)h=0;else{c[(g+4+15&-16)+-4>>2]=g;h=g+4+15&-16}g=c[j+24>>2]|0}if((g|0)>0){i=0;do{c[h+(i<<2)>>2]=c[(c[j+32>>2]|0)+(i<<2)>>2];i=i+1|0}while((i|0)!=(g|0))}i=c[j+32>>2]|0;if(i){if(a[j+36>>0]|0){c[6880]=(c[6880]|0)+1;kd(c[i+-4>>2]|0);g=c[j+24>>2]|0}c[j+32>>2]=0}a[j+36>>0]=1;c[j+32>>2]=h;c[j+28>>2]=s}c[(c[j+32>>2]|0)+(g<<2)>>2]=c[l>>2];c[j+24>>2]=g+1;j=c[(c[b+1120>>2]|0)+(d<<2)>>2]|0;l=(c[b+760>>2]|0)+(d*44|0)+16|0;g=c[j+24>>2]|0;if((g|0)==(c[j+28>>2]|0)?(t=(g|0)==0?1:g<<1,(g|0)<(t|0)):0){if(!t)h=0;else{c[6879]=(c[6879]|0)+1;g=Zb((t<<2|3)+16|0)|0;if(!g)h=0;else{c[(g+4+15&-16)+-4>>2]=g;h=g+4+15&-16}g=c[j+24>>2]|0}if((g|0)>0){i=0;do{c[h+(i<<2)>>2]=c[(c[j+32>>2]|0)+(i<<2)>>2];i=i+1|0}while((i|0)!=(g|0))}i=c[j+32>>2]|0;if(i){if(a[j+36>>0]|0){c[6880]=(c[6880]|0)+1;kd(c[i+-4>>2]|0);g=c[j+24>>2]|0}c[j+32>>2]=0}a[j+36>>0]=1;c[j+32>>2]=h;c[j+28>>2]=t}c[(c[j+32>>2]|0)+(g<<2)>>2]=c[l>>2];c[j+24>>2]=g+1;d=d+1|0;if((d|0)>=(c[b+752>>2]|0))break h}}if((g|0)<(l|0)){if((c[b+1116>>2]|0)<(l|0)){c[6879]=(c[6879]|0)+1;h=Zb((l<<2|3)+16|0)|0;if(!h)j=0;else{c[(h+4+15&-16)+-4>>2]=h;j=h+4+15&-16}h=c[b+1112>>2]|0;if((h|0)>0){i=0;do{c[j+(i<<2)>>2]=c[(c[b+1120>>2]|0)+(i<<2)>>2];i=i+1|0}while((i|0)!=(h|0))}h=c[b+1120>>2]|0;if(h|0){if(a[b+1124>>0]|0){c[6880]=(c[6880]|0)+1;kd(c[h+-4>>2]|0)}c[b+1120>>2]=0}a[b+1124>>0]=1;c[b+1120>>2]=j;c[b+1116>>2]=l;h=b+1120|0}else h=b+1120|0;do{c[(c[h>>2]|0)+(g<<2)>>2]=0;g=g+1|0}while((g|0)!=(l|0))}c[b+1112>>2]=l;if((l|0)>0){h=0;do{c[6879]=(c[6879]|0)+1;g=Zb(403)|0;if(!g)g=0;else{c[(g+4+15&-16)+-4>>2]=g;g=g+4+15&-16}a[g+16>>0]=1;c[g+12>>2]=0;c[g+4>>2]=0;c[g+8>>2]=0;a[g+36>>0]=1;c[g+32>>2]=0;c[g+24>>2]=0;c[g+28>>2]=0;a[g+56>>0]=1;c[g+52>>2]=0;c[g+44>>2]=0;c[g+48>>2]=0;L=g+348|0;c[L>>2]=0;c[L+4>>2]=0;c[L+8>>2]=0;c[L+12>>2]=0;c[L+16>>2]=0;f[g+368>>2]=100.0;f[g+372>>2]=.009999999776482582;a[g+376>>0]=0;c[(c[b+1120>>2]|0)+(h<<2)>>2]=g;a[(c[(c[b+1120>>2]|0)+(h<<2)>>2]|0)+377>>0]=1;h=h+1|0}while((h|0)<(c[b+1112>>2]|0))}if((c[b+772>>2]|0)>0){d=0;do{j=c[(c[b+1120>>2]|0)+(d<<2)>>2]|0;l=(c[b+780>>2]|0)+(d*104|0)+8|0;g=c[j+24>>2]|0;if((g|0)==(c[j+28>>2]|0)?(u=(g|0)==0?1:g<<1,(g|0)<(u|0)):0){if(!u)h=0;else{c[6879]=(c[6879]|0)+1;g=Zb((u<<2|3)+16|0)|0;if(!g)h=0;else{c[(g+4+15&-16)+-4>>2]=g;h=g+4+15&-16}g=c[j+24>>2]|0}if((g|0)>0){i=0;do{c[h+(i<<2)>>2]=c[(c[j+32>>2]|0)+(i<<2)>>2];i=i+1|0}while((i|0)!=(g|0))}i=c[j+32>>2]|0;if(i){if(a[j+36>>0]|0){c[6880]=(c[6880]|0)+1;kd(c[i+-4>>2]|0);g=c[j+24>>2]|0}c[j+32>>2]=0}a[j+36>>0]=1;c[j+32>>2]=h;c[j+28>>2]=u}c[(c[j+32>>2]|0)+(g<<2)>>2]=c[l>>2];c[j+24>>2]=g+1;j=c[(c[b+1120>>2]|0)+(d<<2)>>2]|0;l=(c[b+780>>2]|0)+(d*104|0)+12|0;g=c[j+24>>2]|0;if((g|0)==(c[j+28>>2]|0)?(v=(g|0)==0?1:g<<1,(g|0)<(v|0)):0){if(!v)h=0;else{c[6879]=(c[6879]|0)+1;g=Zb((v<<2|3)+16|0)|0;if(!g)h=0;else{c[(g+4+15&-16)+-4>>2]=g;h=g+4+15&-16}g=c[j+24>>2]|0}if((g|0)>0){i=0;do{c[h+(i<<2)>>2]=c[(c[j+32>>2]|0)+(i<<2)>>2];i=i+1|0}while((i|0)!=(g|0))}i=c[j+32>>2]|0;if(i){if(a[j+36>>0]|0){c[6880]=(c[6880]|0)+1;kd(c[i+-4>>2]|0);g=c[j+24>>2]|0}c[j+32>>2]=0}a[j+36>>0]=1;c[j+32>>2]=h;c[j+28>>2]=v}c[(c[j+32>>2]|0)+(g<<2)>>2]=c[l>>2];c[j+24>>2]=g+1;j=c[(c[b+1120>>2]|0)+(d<<2)>>2]|0;l=(c[b+780>>2]|0)+(d*104|0)+16|0;g=c[j+24>>2]|0;if((g|0)==(c[j+28>>2]|0)?(w=(g|0)==0?1:g<<1,(g|0)<(w|0)):0){if(!w)h=0;else{c[6879]=(c[6879]|0)+1;g=Zb((w<<2|3)+16|0)|0;if(!g)h=0;else{c[(g+4+15&-16)+-4>>2]=g;h=g+4+15&-16}g=c[j+24>>2]|0}if((g|0)>0){i=0;do{c[h+(i<<2)>>2]=c[(c[j+32>>2]|0)+(i<<2)>>2];i=i+1|0}while((i|0)!=(g|0))}i=c[j+32>>2]|0;if(i){if(a[j+36>>0]|0){c[6880]=(c[6880]|0)+1;kd(c[i+-4>>2]|0);g=c[j+24>>2]|0}c[j+32>>2]=0}a[j+36>>0]=1;c[j+32>>2]=h;c[j+28>>2]=w}c[(c[j+32>>2]|0)+(g<<2)>>2]=c[l>>2];c[j+24>>2]=g+1;j=c[(c[b+1120>>2]|0)+(d<<2)>>2]|0;l=(c[b+780>>2]|0)+(d*104|0)+20|0;g=c[j+24>>2]|0;if((g|0)==(c[j+28>>2]|0)?(D=(g|0)==0?1:g<<1,(g|0)<(D|0)):0){if(!D)h=0;else{c[6879]=(c[6879]|0)+1;g=Zb((D<<2|3)+16|0)|0;if(!g)h=0;else{c[(g+4+15&-16)+-4>>2]=g;h=g+4+15&-16}g=c[j+24>>2]|0}if((g|0)>0){i=0;do{c[h+(i<<2)>>2]=c[(c[j+32>>2]|0)+(i<<2)>>2];i=i+1|0}while((i|0)!=(g|0))}i=c[j+32>>2]|0;if(i){if(a[j+36>>0]|0){c[6880]=(c[6880]|0)+1;kd(c[i+-4>>2]|0);g=c[j+24>>2]|0}c[j+32>>2]=0}a[j+36>>0]=1;c[j+32>>2]=h;c[j+28>>2]=D}c[(c[j+32>>2]|0)+(g<<2)>>2]=c[l>>2];c[j+24>>2]=g+1;d=d+1|0}while((d|0)<(c[b+772>>2]|0))}}while(0);g=c[b+1112>>2]|0;if(!g){b=0;Ta=M;return b|0}if((g|0)>0){s=0;do{q=c[(c[b+1120>>2]|0)+(s<<2)>>2]|0;f[q+128>>2]=0.0;d=c[q+24>>2]|0;l=c[q+4>>2]|0;if((d|0)>(l|0)){do if((c[q+8>>2]|0)<(d|0)){if(!d){j=l;g=0}else{c[6879]=(c[6879]|0)+1;g=Zb((d<<2|3)+16|0)|0;if(!g)g=0;else{c[(g+4+15&-16)+-4>>2]=g;g=g+4+15&-16}j=c[q+4>>2]|0}h=c[q+12>>2]|0;if((j|0)<=0){if(!h){a[q+16>>0]=1;c[q+12>>2]=g;c[q+8>>2]=d;break}}else{i=0;do{c[g+(i<<2)>>2]=c[h+(i<<2)>>2];i=i+1|0}while((i|0)!=(j|0))}if(a[q+16>>0]|0){c[6880]=(c[6880]|0)+1;kd(c[h+-4>>2]|0)}a[q+16>>0]=1;c[q+12>>2]=g;c[q+8>>2]=d}else g=c[q+12>>2]|0;while(0);el(g+(l<<2)|0,0,d-l<<2|0)|0;p=c[q+24>>2]|0}else p=d;c[q+4>>2]=d;l=(p|0)>0;if(l){h=c[q+32>>2]|0;i=c[q+12>>2]|0;g=0;do{k=+f[(c[h+(g<<2)>>2]|0)+88>>2];if(k==0.0){a[q+376>>0]=1;k=999999984306749440.0}else k=1.0/k;f[i+(g<<2)>>2]=k;m=k+ +f[q+128>>2];f[q+128>>2]=m;g=g+1|0}while((g|0)!=(p|0));f[q+128>>2]=1.0/m;k=0.0;n=0.0;o=0.0;g=0;do{L=c[h+(g<<2)>>2]|0;C=+f[i+(g<<2)>>2];k=k+ +f[L+8>>2]*C;n=n+C*+f[L+12>>2];o=o+C*+f[L+16>>2];g=g+1|0}while((g|0)!=(p|0));m=1.0/m}else{m=1.0/+f[q+128>>2];f[q+128>>2]=m;o=0.0;n=0.0;k=0.0}C=m*k;B=m*n;A=m*o;f[q+228>>2]=C;f[q+232>>2]=B;f[q+236>>2]=A;f[q+240>>2]=0.0;g=q+316|0;h=g+36|0;do{c[g>>2]=0;g=g+4|0}while((g|0)<(h|0));g=q+132|0;h=g+48|0;do{c[g>>2]=0;g=g+4|0}while((g|0)<(h|0));if(l){g=c[q+32>>2]|0;h=c[q+12>>2]|0;k=0.0;n=0.0;m=0.0;o=0.0;x=0.0;y=0.0;i=0;do{L=c[g+(i<<2)>>2]|0;Q=+f[L+8>>2]-C;O=+f[L+12>>2]-B;P=+f[L+16>>2]-A;N=+f[h+(i<<2)>>2];k=k+N*(O*O+P*P);f[q+132>>2]=k;n=N*(Q*Q+P*P)+n;f[q+152>>2]=n;m=(Q*Q+O*O)*N+m;f[q+172>>2]=m;o=o-O*(Q*N);f[q+136>>2]=o;x=x-P*(Q*N);f[q+140>>2]=x;y=y-P*(O*N);f[q+156>>2]=y;i=i+1|0}while((i|0)!=(p|0));g=q+136|0;h=q+140|0;i=q+156|0;j=q+152|0}else{y=0.0;x=0.0;o=0.0;n=0.0;m=0.0;k=0.0;g=q+136|0;h=q+140|0;i=q+156|0;j=q+152|0}C=n*m-y*y;N=y*x-m*o;O=y*o-n*x;Q=1.0/(C*k+o*N+O*x);P=(o*x-y*k)*Q;f[q+132>>2]=C*Q;f[g>>2]=N*Q;f[h>>2]=O*Q;f[q+144>>2]=0.0;f[q+148>>2]=N*Q;f[j>>2]=(m*k-x*x)*Q;f[i>>2]=P;f[q+160>>2]=0.0;f[q+164>>2]=O*Q;f[q+168>>2]=P;f[q+172>>2]=(n*k-o*o)*Q;f[q+176>>2]=0.0;c[q+60>>2]=1065353216;c[q+64>>2]=0;c[q+64+4>>2]=0;c[q+64+8>>2]=0;c[q+64+12>>2]=0;c[q+80>>2]=1065353216;c[q+84>>2]=0;c[q+84+4>>2]=0;c[q+84+8>>2]=0;c[q+84+12>>2]=0;c[q+100>>2]=1065353216;c[q+104>>2]=0;c[q+108>>2]=c[q+228>>2];c[q+108+4>>2]=c[q+228+4>>2];c[q+108+8>>2]=c[q+228+8>>2];c[q+108+12>>2]=c[q+228+12>>2];j=c[q+44>>2]|0;if((j|0)<(p|0)){if((c[q+48>>2]|0)<(p|0)){if(!p){h=j;i=0}else{c[6879]=(c[6879]|0)+1;g=Zb((p<<4|3)+16|0)|0;if(!g)g=0;else{c[(g+4+15&-16)+-4>>2]=g;g=g+4+15&-16}h=c[q+44>>2]|0;i=g}if((h|0)>0){g=0;do{L=i+(g<<4)|0;K=(c[q+52>>2]|0)+(g<<4)|0;c[L>>2]=c[K>>2];c[L+4>>2]=c[K+4>>2];c[L+8>>2]=c[K+8>>2];c[L+12>>2]=c[K+12>>2];g=g+1|0}while((g|0)!=(h|0))}g=c[q+52>>2]|0;if(g|0){if(a[q+56>>0]|0){c[6880]=(c[6880]|0)+1;kd(c[g+-4>>2]|0)}c[q+52>>2]=0}a[q+56>>0]=1;c[q+52>>2]=i;c[q+48>>2]=p;h=q+52|0}else h=q+52|0;g=j;do{L=(c[h>>2]|0)+(g<<4)|0;c[L>>2]=c[M>>2];c[L+4>>2]=c[M+4>>2];c[L+8>>2]=c[M+8>>2];c[L+12>>2]=c[M+12>>2];g=g+1|0}while((g|0)!=(p|0))}c[q+44>>2]=p;if(l){g=0;do{K=c[(c[q+32>>2]|0)+(g<<2)>>2]|0;P=+f[K+12>>2]-+f[q+232>>2];Q=+f[K+16>>2]-+f[q+236>>2];L=c[q+52>>2]|0;f[L+(g<<4)>>2]=+f[K+8>>2]-+f[q+228>>2];f[L+(g<<4)+4>>2]=P;f[L+(g<<4)+8>>2]=Q;f[L+(g<<4)+12>>2]=0.0;g=g+1|0}while((g|0)<(c[q+44>>2]|0))}s=s+1|0}while((s|0)<(c[b+1112>>2]|0))}zc(b);g=c[b+1112>>2]|0;d=z(g,g)|0;l=c[b+1132>>2]|0;if((d|0)>(l|0)){do if((c[b+1136>>2]|0)<(d|0)){if(!d){j=l;g=0}else{c[6879]=(c[6879]|0)+1;g=Zb(d+19|0)|0;if(!g)g=0;else{c[(g+4+15&-16)+-4>>2]=g;g=g+4+15&-16}j=c[b+1132>>2]|0}h=c[b+1140>>2]|0;if((j|0)<=0){if(!h){a[b+1144>>0]=1;c[b+1140>>2]=g;c[b+1136>>2]=d;break}}else{i=0;do{a[g+i>>0]=a[h+i>>0]|0;i=i+1|0}while((i|0)!=(j|0))}if(a[b+1144>>0]|0){c[6880]=(c[6880]|0)+1;kd(c[h+-4>>2]|0)}a[b+1144>>0]=1;c[b+1140>>2]=g;c[b+1136>>2]=d}else g=c[b+1140>>2]|0;while(0);el(g+l|0,0,d-l|0)|0;g=c[b+1112>>2]|0}c[b+1132>>2]=d;if((g|0)<=0){b=g;Ta=M;return b|0}w=c[b+1120>>2]|0;q=c[b+1140>>2]|0;u=0;do{s=c[w+(u<<2)>>2]|0;c[s+380>>2]=u;t=c[s+24>>2]|0;v=0;do{d=c[w+(v<<2)>>2]|0;p=0;while(1){if((p|0)>=(t|0)){h=0;break}h=c[d+24>>2]|0;i:do if((h|0)>0){i=c[(c[s+32>>2]|0)+(p<<2)>>2]|0;j=c[d+32>>2]|0;l=0;while(1){if((i|0)==(c[j+(l<<2)>>2]|0)){h=1;break i}l=l+1|0;if((l|0)>=(h|0)){h=0;break}}}else h=0;while(0);if(h){h=1;break}else p=p+1|0}a[q+((z(v,g)|0)+u)>>0]=h;v=v+1|0}while((v|0)!=(g|0));u=u+1|0}while((u|0)!=(g|0));Ta=M;return g|0}function Rb(b){b=b|0;var d=0,e=0,g=0,h=0.0,i=0.0,j=0.0,k=0,l=0,m=0,n=0,o=0,p=0,q=0.0,r=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0,C=0.0,D=0.0,E=0.0,F=0.0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0.0,W=0.0,X=0.0,Y=0.0,Z=0.0,_=0.0,$=0.0,aa=0.0,ba=0.0,ca=0.0,da=0.0,ea=0.0;U=Ta;Ta=Ta+176|0;Tb(b);if(!(eb[c[(c[b>>2]|0)+20>>2]&255](b)|0)){Ta=U;return}if((c[b+328>>2]|0)<=0){Ta=U;return}S=U+96+32|0;T=U+96+52|0;R=0;do{P=c[(c[b+336>>2]|0)+(R<<2)>>2]|0;if(eb[c[(c[b>>2]|0)+20>>2]&255](b)|0?(K=eb[c[(c[b>>2]|0)+20>>2]&255](b)|0,(eb[c[(c[K>>2]|0)+48>>2]&255](K)|0)&1|0):0){d=c[b+72>>2]|0;if(!(a[P+473>>0]|0))K=d;else{c[U+80>>2]=c[P+520>>2];c[U+80+4>>2]=c[P+520+4>>2];c[U+80+8>>2]=c[P+520+8>>2];c[U+80+12>>2]=c[P+520+12>>2];h=+f[P+584>>2];i=+f[P+536>>2];j=+f[P+600>>2];q=+f[P+540>>2];r=+f[P+616>>2];t=+f[P+544>>2];u=+f[P+588>>2];v=+f[P+604>>2];w=+f[P+620>>2];x=+f[P+592>>2];y=+f[P+608>>2];z=+f[P+624>>2];A=+f[P+552>>2];B=+f[P+556>>2];C=+f[P+560>>2];D=+f[P+568>>2];E=+f[P+572>>2];F=+f[P+576>>2];ea=h*i+j*q+r*t+(i*u+q*v+t*w)*0.0+(i*x+q*y+t*z)*0.0;ca=(x*A+y*B+z*C)*0.0+(h*A+j*B+r*C+(u*A+v*B+w*C)*0.0);ba=(x*D+y*E+z*F)*0.0+(h*D+j*E+r*F+(u*D+v*E+w*F)*0.0);da=1.0/+s(+(ea*ea+ca*ca+ba*ba));aa=(h*i+j*q+r*t)*0.0+(i*u+q*v+t*w)+(i*x+q*y+t*z)*0.0;_=(x*A+y*B+z*C)*0.0+(u*A+v*B+w*C+(h*A+j*B+r*C)*0.0);Z=(x*D+y*E+z*F)*0.0+(u*D+v*E+w*F+(h*D+j*E+r*F)*0.0);$=1.0/+s(+(aa*aa+_*_+Z*Z));Y=(h*i+j*q+r*t)*0.0+(i*u+q*v+t*w)*0.0+(i*x+q*y+t*z);W=x*A+y*B+z*C+((h*A+j*B+r*C)*0.0+(u*A+v*B+w*C)*0.0);V=x*D+y*E+z*F+((h*D+j*E+r*F)*0.0+(u*D+v*E+w*F)*0.0);X=1.0/+s(+(Y*Y+W*W+V*V));K=c[(c[d>>2]|0)+8>>2]|0;ca=+f[U+80+4>>2]+ca*da*10.0;ba=+f[U+80+8>>2]+ba*da*10.0;f[U+160>>2]=+f[U+80>>2]+ea*da*10.0;f[U+160+4>>2]=ca;f[U+160+8>>2]=ba;f[U+160+12>>2]=0.0;c[U+96>>2]=1065353216;c[U+96+4>>2]=0;c[U+96+8>>2]=0;f[U+96+12>>2]=0.0;Cb[K&127](d,U+80|0,U+160|0,U+96|0);K=c[(c[d>>2]|0)+8>>2]|0;_=_*$*10.0+ +f[U+80+4>>2];Z=Z*$*10.0+ +f[U+80+8>>2];f[U+160>>2]=aa*$*10.0+ +f[U+80>>2];f[U+160+4>>2]=_;f[U+160+8>>2]=Z;f[U+160+12>>2]=0.0;c[U+96>>2]=0;c[U+96+4>>2]=1065353216;c[U+96+8>>2]=0;f[U+96+12>>2]=0.0;Cb[K&127](d,U+80|0,U+160|0,U+96|0);K=c[(c[d>>2]|0)+8>>2]|0;W=W*X*10.0+ +f[U+80+4>>2];V=V*X*10.0+ +f[U+80+8>>2];f[U+160>>2]=Y*X*10.0+ +f[U+80>>2];f[U+160+4>>2]=W;f[U+160+8>>2]=V;f[U+160+12>>2]=0.0;c[U+96>>2]=0;c[U+96+4>>2]=0;c[U+96+8>>2]=1065353216;f[U+96+12>>2]=0.0;Cb[K&127](d,U+80|0,U+160|0,U+96|0);if((c[P+484>>2]|0)>0){e=0;do{K=c[P+492>>2]|0;aa=+f[K+(e<<4)>>2];ba=+f[K+(e<<4)+4>>2];ea=+f[K+(e<<4)+8>>2];ca=+f[U+80>>2]+((h*i+j*q+r*t)*aa+(i*u+q*v+t*w)*ba+(i*x+q*y+t*z)*ea);da=+f[U+80+4>>2]+((h*A+j*B+r*C)*aa+(u*A+v*B+w*C)*ba+(x*A+y*B+z*C)*ea);ea=(h*D+j*E+r*F)*aa+(u*D+v*E+w*F)*ba+(x*D+y*E+z*F)*ea+ +f[U+80+8>>2];c[U+64>>2]=1065353216;c[U+64+4>>2]=0;c[U+64+8>>2]=1065353216;f[U+64+12>>2]=0.0;K=c[(c[d>>2]|0)+8>>2]|0;f[U+160>>2]=ca+-.10000000149011612;f[U+160+4>>2]=da;f[U+160+8>>2]=ea;f[U+160+12>>2]=0.0;f[U+96>>2]=ca+.10000000149011612;f[U+96+4>>2]=da+0.0;f[U+96+8>>2]=ea+0.0;f[U+96+12>>2]=0.0;Cb[K&127](d,U+160|0,U+96|0,U+64|0);K=c[(c[d>>2]|0)+8>>2]|0;f[U+160>>2]=ca;f[U+160+4>>2]=da+-.10000000149011612;f[U+160+8>>2]=ea;f[U+160+12>>2]=0.0;f[U+96>>2]=ca+0.0;f[U+96+4>>2]=da+.10000000149011612;f[U+96+8>>2]=ea+0.0;f[U+96+12>>2]=0.0;Cb[K&127](d,U+160|0,U+96|0,U+64|0);K=c[(c[d>>2]|0)+8>>2]|0;f[U+160>>2]=ca;f[U+160+4>>2]=da;f[U+160+8>>2]=ea+-.10000000149011612;f[U+160+12>>2]=0.0;f[U+96>>2]=ca+0.0;f[U+96+4>>2]=da+0.0;f[U+96+8>>2]=ea+.10000000149011612;f[U+96+12>>2]=0.0;Cb[K&127](d,U+160|0,U+96|0,U+64|0);e=e+1|0}while((e|0)<(c[P+484>>2]|0))}K=c[b+72>>2]|0}J=c[b+344>>2]|0;c[U+80>>2]=0;c[U+80+4>>2]=0;c[U+80+8>>2]=0;c[U+80+12>>2]=0;c[U+64>>2]=1065353216;c[U+64+4>>2]=1065353216;c[U+64+8>>2]=1065353216;f[U+64+12>>2]=0.0;c[U+48>>2]=1065353216;c[U+48+4>>2]=0;c[U+48+8>>2]=0;f[U+48+12>>2]=0.0;if(!(J&256)){if(J&1|0?(Q=c[P+712>>2]|0,(Q|0)>0):0){d=Q;g=0;do{e=c[P+720>>2]|0;if(c[(c[e+(g*104|0)+4>>2]|0)+16>>2]&1){d=c[(c[K>>2]|0)+8>>2]|0;I=e+(g*104|0)+8|0;G=e+(g*104|0)+12|0;o=c[G>>2]|0;H=e+(g*104|0)+16|0;p=c[H>>2]|0;f[U+160>>2]=+f[I>>2]+-.10000000149011612;c[U+160+4>>2]=o;c[U+160+8>>2]=p;f[U+160+12>>2]=0.0;da=+f[G>>2]+0.0;ea=+f[H>>2]+0.0;f[U+96>>2]=+f[I>>2]+.10000000149011612;f[U+96+4>>2]=da;f[U+96+8>>2]=ea;f[U+96+12>>2]=0.0;c[U+32>>2]=1065353216;c[U+32+4>>2]=0;c[U+32+8>>2]=0;f[U+32+12>>2]=0.0;Cb[d&127](K,U+160|0,U+96|0,U+32|0);d=c[(c[K>>2]|0)+8>>2]|0;ea=+f[G>>2]+-.10000000149011612;p=c[H>>2]|0;c[U+160>>2]=c[I>>2];f[U+160+4>>2]=ea;c[U+160+8>>2]=p;f[U+160+12>>2]=0.0;ea=+f[G>>2]+.10000000149011612;da=+f[H>>2]+0.0;f[U+96>>2]=+f[I>>2]+0.0;f[U+96+4>>2]=ea;f[U+96+8>>2]=da;f[U+96+12>>2]=0.0;c[U+32>>2]=0;c[U+32+4>>2]=1065353216;c[U+32+8>>2]=0;f[U+32+12>>2]=0.0;Cb[d&127](K,U+160|0,U+96|0,U+32|0);d=c[(c[K>>2]|0)+8>>2]|0;p=c[G>>2]|0;da=+f[H>>2]+-.10000000149011612;c[U+160>>2]=c[I>>2];c[U+160+4>>2]=p;f[U+160+8>>2]=da;f[U+160+12>>2]=0.0;da=+f[G>>2]+0.0;ea=+f[H>>2]+.10000000149011612;f[U+96>>2]=+f[I>>2]+0.0;f[U+96+4>>2]=da;f[U+96+8>>2]=ea;f[U+96+12>>2]=0.0;c[U+32>>2]=0;c[U+32+4>>2]=0;c[U+32+8>>2]=1065353216;f[U+32+12>>2]=0.0;Cb[d&127](K,U+160|0,U+96|0,U+32|0);d=c[P+712>>2]|0}g=g+1|0}while((g|0)<(d|0))}if(J&2|0?(L=c[P+732>>2]|0,(L|0)>0):0){d=L;g=0;do{e=c[P+740>>2]|0;if(c[(c[e+(g*52|0)+4>>2]|0)+16>>2]&1){Cb[c[(c[K>>2]|0)+8>>2]&127](K,(c[e+(g*52|0)+8>>2]|0)+8|0,(c[e+(g*52|0)+12>>2]|0)+8|0,U+80|0);d=c[P+732>>2]|0}g=g+1|0}while((g|0)<(d|0))}if(J&16|0?(M=c[P+712>>2]|0,(M|0)>0):0){d=M;g=0;do{e=c[P+720>>2]|0;if(c[(c[e+(g*104|0)+4>>2]|0)+16>>2]&1){ca=+f[e+(g*104|0)+72>>2]*.5;ea=+f[e+(g*104|0)+76>>2]*.5;da=+f[e+(g*104|0)+80>>2]*.5;I=c[(c[K>>2]|0)+8>>2]|0;d=e+(g*104|0)+8|0;G=e+(g*104|0)+12|0;aa=ea+ +f[G>>2];H=e+(g*104|0)+16|0;ba=da+ +f[H>>2];f[U+160>>2]=ca+ +f[d>>2];f[U+160+4>>2]=aa;f[U+160+8>>2]=ba;f[U+160+12>>2]=0.0;Cb[I&127](K,d,U+160|0,U+64|0);I=c[(c[K>>2]|0)+8>>2]|0;ea=+f[G>>2]-ea;da=+f[H>>2]-da;f[U+160>>2]=+f[d>>2]-ca;f[U+160+4>>2]=ea;f[U+160+8>>2]=da;f[U+160+12>>2]=0.0;da=+f[U+64+4>>2]*.5;ea=+f[U+64+8>>2]*.5;f[U+96>>2]=+f[U+64>>2]*.5;f[U+96+4>>2]=da;f[U+96+8>>2]=ea;f[U+96+12>>2]=0.0;Cb[I&127](K,d,U+160|0,U+96|0);d=c[P+712>>2]|0}g=g+1|0}while((g|0)<(d|0))}if(J&32|0){if((a[25464]|0)==0?kP(25464)|0:0){c[5760]=1065353216;c[5761]=0;c[5762]=0;c[5763]=0;c[5764]=0;c[5765]=1065353216;c[5766]=0;c[5767]=0;c[5768]=0;c[5769]=0;c[5770]=1065353216;f[5771]=0.0;kO(25464)}if((c[P+812>>2]|0)>0){d=0;do{I=c[P+820>>2]|0;G=c[I+(d*104|0)+24>>2]|0;A=+f[G+8>>2];H=I+(d*104|0)+4|0;B=+f[H>>2];C=+f[G+12>>2];p=I+(d*104|0)+8|0;D=+f[p>>2];V=+f[G+16>>2];G=I+(d*104|0)+12|0;W=+f[G>>2];X=+f[I+(d*104|0)+20>>2]+(A*B+C*D+V*W);f[U+160>>2]=A-B*X;f[U+160+4>>2]=C-D*X;f[U+160+8>>2]=V-W*X;f[U+160+12>>2]=0.0;Y=+f[H>>2];da=+f[p>>2];E=+f[G>>2];I=Y>2];Z=+f[23040+(I<<4)+4>>2];ba=+f[23040+(I<<4)>>2];$=1.0/+s(+((Y*Z-da*ba)*(Y*Z-da*ba)+((da*F-E*Z)*(da*F-E*Z)+(E*ba-Y*F)*(E*ba-Y*F))));_=E*((E*ba-Y*F)*$)-da*((Y*Z-da*ba)*$);aa=Y*((Y*Z-da*ba)*$)-E*((da*F-E*Z)*$);ca=da*((da*F-E*Z)*$)-Y*((E*ba-Y*F)*$);ea=1.0/+s(+(ca*ca+(_*_+aa*aa)));I=c[(c[K>>2]|0)+8>>2]|0;f[U+96>>2]=A-B*X-(da*F-E*Z)*$*.5;f[U+96+4>>2]=C-D*X-(E*ba-Y*F)*$*.5;f[U+96+8>>2]=V-W*X-(Y*Z-da*ba)*$*.5;f[U+96+12>>2]=0.0;f[U+32>>2]=A-B*X+(da*F-E*Z)*$*.5;f[U+32+4>>2]=C-D*X+(E*ba-Y*F)*$*.5;f[U+32+8>>2]=V-W*X+(Y*Z-da*ba)*$*.5;f[U+32+12>>2]=0.0;Cb[I&127](K,U+96|0,U+32|0,U+48|0);I=c[(c[K>>2]|0)+8>>2]|0;$=+f[U+160>>2];ba=+f[U+160+4>>2];da=+f[U+160+8>>2];f[U+96>>2]=$-_*ea*.5;f[U+96+4>>2]=ba-aa*ea*.5;f[U+96+8>>2]=da-ca*ea*.5;f[U+96+12>>2]=0.0;f[U+32>>2]=_*ea*.5+$;f[U+32+4>>2]=aa*ea*.5+ba;f[U+32+8>>2]=ca*ea*.5+da;f[U+32+12>>2]=0.0;Cb[I&127](K,U+96|0,U+32|0,U+48|0);I=c[(c[K>>2]|0)+8>>2]|0;da=+f[p>>2]*.5*3.0+ +f[U+160+4>>2];ea=+f[G>>2]*.5*3.0+ +f[U+160+8>>2];f[U+96>>2]=+f[H>>2]*.5*3.0+ +f[U+160>>2];f[U+96+4>>2]=da;f[U+96+8>>2]=ea;f[U+96+12>>2]=0.0;c[U+32>>2]=1065353216;c[U+32+4>>2]=1065353216;c[U+32+8>>2]=0;f[U+32+12>>2]=0.0;Cb[I&127](K,U+160|0,U+96|0,U+32|0);d=d+1|0}while((d|0)<(c[P+812>>2]|0))}}if(J&4|0?(c[U+160>>2]=0,c[U+160+4>>2]=1060320051,c[U+160+8>>2]=0,f[U+160+12>>2]=0.0,N=c[P+752>>2]|0,(N|0)>0):0){d=N;g=0;do{e=c[P+760>>2]|0;if(c[(c[e+(g*44|0)+4>>2]|0)+16>>2]&1){d=c[e+(g*44|0)+8>>2]|0;Y=+f[d+8>>2];$=+f[d+12>>2];ca=+f[d+16>>2];d=c[e+(g*44|0)+12>>2]|0;Z=+f[d+8>>2];aa=+f[d+12>>2];da=+f[d+16>>2];d=c[e+(g*44|0)+16>>2]|0;_=+f[d+8>>2];ba=+f[d+12>>2];ea=+f[d+16>>2];d=c[(c[K>>2]|0)+28>>2]|0;f[U+96>>2]=(Y+Z+_)*.3333333432674408+(Y-(Y+Z+_)*.3333333432674408)*.800000011920929;f[U+96+4>>2]=($+aa+ba)*.3333333432674408+($-($+aa+ba)*.3333333432674408)*.800000011920929;f[U+96+8>>2]=(ca+da+ea)*.3333333432674408+(ca-(ca+da+ea)*.3333333432674408)*.800000011920929;f[U+96+12>>2]=0.0;f[U+32>>2]=(Y+Z+_)*.3333333432674408+(Z-(Y+Z+_)*.3333333432674408)*.800000011920929;f[U+32+4>>2]=($+aa+ba)*.3333333432674408+(aa-($+aa+ba)*.3333333432674408)*.800000011920929;f[U+32+8>>2]=(ca+da+ea)*.3333333432674408+(da-(ca+da+ea)*.3333333432674408)*.800000011920929;f[U+32+12>>2]=0.0;f[U+16>>2]=(Y+Z+_)*.3333333432674408+(_-(Y+Z+_)*.3333333432674408)*.800000011920929;f[U+16+4>>2]=($+aa+ba)*.3333333432674408+(ba-($+aa+ba)*.3333333432674408)*.800000011920929;f[U+16+8>>2]=(ca+da+ea)*.3333333432674408+(ea-(ca+da+ea)*.3333333432674408)*.800000011920929;f[U+16+12>>2]=0.0;Hb[d&31](K,U+96|0,U+32|0,U+16|0,U+160|0,1.0);d=c[P+752>>2]|0}g=g+1|0}while((g|0)<(d|0))}if(J&8|0?(c[U+160>>2]=1050253722,c[U+160+4>>2]=1050253722,c[U+160+8>>2]=1060320051,f[U+160+12>>2]=0.0,O=c[P+772>>2]|0,(O|0)>0):0){d=O;g=0;do{e=c[P+780>>2]|0;if(c[(c[e+(g*104|0)+4>>2]|0)+16>>2]&1){d=c[e+(g*104|0)+8>>2]|0;x=+f[d+8>>2];A=+f[d+12>>2];D=+f[d+16>>2];d=c[e+(g*104|0)+12>>2]|0;y=+f[d+8>>2];B=+f[d+12>>2];E=+f[d+16>>2];d=c[e+(g*104|0)+16>>2]|0;z=+f[d+8>>2];C=+f[d+12>>2];F=+f[d+16>>2];d=c[e+(g*104|0)+20>>2]|0;ca=+f[d+8>>2];da=+f[d+12>>2];ea=+f[d+16>>2];d=c[(c[K>>2]|0)+28>>2]|0;$=(x+y+z+ca)*.25+(x-(x+y+z+ca)*.25)*.800000011920929;aa=(A+B+C+da)*.25+(A-(A+B+C+da)*.25)*.800000011920929;ba=(D+E+F+ea)*.25+(D-(D+E+F+ea)*.25)*.800000011920929;f[U+96>>2]=$;f[U+96+4>>2]=aa;f[U+96+8>>2]=ba;f[U+96+12>>2]=0.0;V=(x+y+z+ca)*.25+(y-(x+y+z+ca)*.25)*.800000011920929;W=(A+B+C+da)*.25+(B-(A+B+C+da)*.25)*.800000011920929;X=(D+E+F+ea)*.25+(E-(D+E+F+ea)*.25)*.800000011920929;f[U+32>>2]=V;f[U+32+4>>2]=W;f[U+32+8>>2]=X;f[U+32+12>>2]=0.0;Y=(x+y+z+ca)*.25+(z-(x+y+z+ca)*.25)*.800000011920929;Z=(A+B+C+da)*.25+(C-(A+B+C+da)*.25)*.800000011920929;_=(D+E+F+ea)*.25+(F-(D+E+F+ea)*.25)*.800000011920929;f[U+16>>2]=Y;f[U+16+4>>2]=Z;f[U+16+8>>2]=_;f[U+16+12>>2]=0.0;Hb[d&31](K,U+96|0,U+32|0,U+16|0,U+160|0,1.0);d=c[(c[K>>2]|0)+28>>2]|0;f[U+96>>2]=$;f[U+96+4>>2]=aa;f[U+96+8>>2]=ba;f[U+96+12>>2]=0.0;f[U+32>>2]=V;f[U+32+4>>2]=W;f[U+32+8>>2]=X;f[U+32+12>>2]=0.0;ca=(x+y+z+ca)*.25+(ca-(x+y+z+ca)*.25)*.800000011920929;da=(A+B+C+da)*.25+(da-(A+B+C+da)*.25)*.800000011920929;ea=(D+E+F+ea)*.25+(ea-(D+E+F+ea)*.25)*.800000011920929;f[U+16>>2]=ca;f[U+16+4>>2]=da;f[U+16+8>>2]=ea;f[U+16+12>>2]=0.0;Hb[d&31](K,U+96|0,U+32|0,U+16|0,U+160|0,1.0);d=c[(c[K>>2]|0)+28>>2]|0;f[U+96>>2]=V;f[U+96+4>>2]=W;f[U+96+8>>2]=X;f[U+96+12>>2]=0.0;f[U+32>>2]=Y;f[U+32+4>>2]=Z;f[U+32+8>>2]=_;f[U+32+12>>2]=0.0;f[U+16>>2]=ca;f[U+16+4>>2]=da;f[U+16+8>>2]=ea;f[U+16+12>>2]=0.0;Hb[d&31](K,U+96|0,U+32|0,U+16|0,U+160|0,1.0);d=c[(c[K>>2]|0)+28>>2]|0;f[U+96>>2]=Y;f[U+96+4>>2]=Z;f[U+96+8>>2]=_;f[U+96+12>>2]=0.0;f[U+32>>2]=$;f[U+32+4>>2]=aa;f[U+32+8>>2]=ba;f[U+32+12>>2]=0.0;f[U+16>>2]=ca;f[U+16+4>>2]=da;f[U+16+8>>2]=ea;f[U+16+12>>2]=0.0;Hb[d&31](K,U+96|0,U+32|0,U+16|0,U+160|0,1.0);d=c[P+772>>2]|0}g=g+1|0}while((g|0)<(d|0))}}else{N_();d=c[P+1112>>2]|0;if((d|0)>0){I=0;do{if(a[(c[(c[P+1120>>2]|0)+(I<<2)>>2]|0)+377>>0]|0){ba=+(yt()|0)*4.656612873077393e-10;ca=+(yt()|0)*4.656612873077393e-10;da=+(yt()|0)*4.656612873077393e-10;ea=1.0/+s(+(da*da+(ba*ba+ca*ca)));f[U+160>>2]=ba*ea*.75;f[U+160+4>>2]=ca*ea*.75;f[U+160+8>>2]=da*ea*.75;f[U+160+12>>2]=0.0;g=c[(c[(c[P+1120>>2]|0)+(I<<2)>>2]|0)+24>>2]|0;if((g|0)>0){c[6879]=(c[6879]|0)+1;d=Zb((g<<4|3)+16|0)|0;if(!d)e=0;else{c[(d+4+15&-16)+-4>>2]=d;e=d+4+15&-16}d=0;do{H=e+(d<<4)|0;c[H>>2]=c[U+96>>2];c[H+4>>2]=c[U+96+4>>2];c[H+8>>2]=c[U+96+8>>2];c[H+12>>2]=c[U+96+12>>2];d=d+1|0}while((d|0)!=(g|0));d=0;do{G=(c[(c[(c[(c[P+1120>>2]|0)+(I<<2)>>2]|0)+32>>2]|0)+(d<<2)>>2]|0)+8|0;H=e+(d<<4)|0;c[H>>2]=c[G>>2];c[H+4>>2]=c[G+4>>2];c[H+8>>2]=c[G+8>>2];c[H+12>>2]=c[G+12>>2];d=d+1|0}while((d|0)!=(g|0));H=e;G=e}else{H=0;G=0}a[U+96+16>>0]=1;c[U+96+12>>2]=0;c[U+96+4>>2]=0;c[U+96+8>>2]=0;a[U+96+36>>0]=1;c[S>>2]=0;c[U+96+24>>2]=0;c[U+96+28>>2]=0;a[U+96+56>>0]=1;c[T>>2]=0;c[U+96+44>>2]=0;c[U+96+48>>2]=0;$b(U+96|0,H,g);n=c[U+96+44>>2]|0;if((n|0)>0){l=c[S>>2]|0;p=0;do{o=c[(c[T>>2]|0)+(p<<2)>>2]|0;e=c[l+(o*12|0)+4>>2]|0;d=l+(o*12|0)+(e*12|0)+((c[l+(o*12|0)+(e*12|0)>>2]|0)*12|0)|0;if((d|0)!=(l+(o*12|0)|0)){m=c[U+96+12>>2]|0;g=c[l+(o*12|0)+(e*12|0)+8>>2]|0;k=c[l+(o*12|0)+8>>2]|0;while(1){e=c[d+8>>2]|0;Hb[c[(c[K>>2]|0)+28>>2]&31](K,m+(g<<4)|0,m+(k<<4)|0,m+(e<<4)|0,U+160|0,1.0);g=d+((c[d+4>>2]|0)*12|0)|0;d=g+((c[g>>2]|0)*12|0)|0;if((d|0)==(l+(o*12|0)|0))break;else{g=k;k=e}}}p=p+1|0}while((p|0)<(n|0))}d=c[T>>2]|0;if(d|0){if(a[U+96+56>>0]|0){c[6880]=(c[6880]|0)+1;kd(c[d+-4>>2]|0)}c[T>>2]=0}a[U+96+56>>0]=1;c[T>>2]=0;c[U+96+44>>2]=0;c[U+96+48>>2]=0;d=c[S>>2]|0;if(d|0){if(a[U+96+36>>0]|0){c[6880]=(c[6880]|0)+1;kd(c[d+-4>>2]|0)}c[S>>2]=0}a[U+96+36>>0]=1;c[S>>2]=0;c[U+96+24>>2]=0;c[U+96+28>>2]=0;d=c[U+96+12>>2]|0;if(d|0){if(a[U+96+16>>0]|0){c[6880]=(c[6880]|0)+1;kd(c[d+-4>>2]|0)}c[U+96+12>>2]=0}if(!((G|0)==0|(H|0)==0)){c[6880]=(c[6880]|0)+1;kd(c[H+-4>>2]|0)}d=c[P+1112>>2]|0}I=I+1|0}while((I|0)<(d|0))}}if(J&64|0){if((c[P+792>>2]|0)>0){d=0;do{I=c[P+800>>2]|0;G=c[I+(d*96|0)+20>>2]|0;aa=+f[I+(d*96|0)+4>>2];ba=+f[I+(d*96|0)+8>>2];ca=+f[I+(d*96|0)+12>>2];da=aa*+f[G+20>>2]+ba*+f[G+24>>2]+ca*+f[G+28>>2]+ +f[G+56>>2];ea=aa*+f[G+36>>2]+ba*+f[G+40>>2]+ca*+f[G+44>>2]+ +f[G+60>>2];f[U+32>>2]=aa*+f[G+4>>2]+ba*+f[G+8>>2]+ca*+f[G+12>>2]+ +f[G+52>>2];f[U+32+4>>2]=da;f[U+32+8>>2]=ea;f[U+32+12>>2]=0.0;I=I+(d*96|0)|0;G=c[I>>2]|0;c[U+16>>2]=1065353216;c[U+16+4>>2]=0;c[U+16+8>>2]=0;f[U+16+12>>2]=0.0;H=c[(c[K>>2]|0)+8>>2]|0;ea=+f[G+8>>2];da=+f[G+12>>2];ca=+f[G+16>>2];f[U+160>>2]=ea+-.25;f[U+160+4>>2]=da;f[U+160+8>>2]=ca;f[U+160+12>>2]=0.0;f[U+96>>2]=ea+.25;f[U+96+4>>2]=da+0.0;f[U+96+8>>2]=ca+0.0;f[U+96+12>>2]=0.0;Cb[H&127](K,U+160|0,U+96|0,U+16|0);H=c[(c[K>>2]|0)+8>>2]|0;ca=+f[G+8>>2];da=+f[G+12>>2];ea=+f[G+16>>2];f[U+160>>2]=ca;f[U+160+4>>2]=da+-.25;f[U+160+8>>2]=ea;f[U+160+12>>2]=0.0;f[U+96>>2]=ca+0.0;f[U+96+4>>2]=da+.25;f[U+96+8>>2]=ea+0.0;f[U+96+12>>2]=0.0;Cb[H&127](K,U+160|0,U+96|0,U+16|0);H=c[(c[K>>2]|0)+8>>2]|0;ea=+f[G+8>>2];da=+f[G+12>>2];ca=+f[G+16>>2];f[U+160>>2]=ea;f[U+160+4>>2]=da;f[U+160+8>>2]=ca+-.25;f[U+160+12>>2]=0.0;f[U+96>>2]=ea+0.0;f[U+96+4>>2]=da+0.0;f[U+96+8>>2]=ca+.25;f[U+96+12>>2]=0.0;Cb[H&127](K,U+160|0,U+96|0,U+16|0);c[U+16>>2]=0;c[U+16+4>>2]=1065353216;c[U+16+8>>2]=0;f[U+16+12>>2]=0.0;H=c[(c[K>>2]|0)+8>>2]|0;ca=+f[U+32>>2];da=+f[U+32+4>>2];ea=+f[U+32+8>>2];f[U+160>>2]=ca+-.25;f[U+160+4>>2]=da;f[U+160+8>>2]=ea;f[U+160+12>>2]=0.0;f[U+96>>2]=ca+.25;f[U+96+4>>2]=da+0.0;f[U+96+8>>2]=ea+0.0;f[U+96+12>>2]=0.0;Cb[H&127](K,U+160|0,U+96|0,U+16|0);H=c[(c[K>>2]|0)+8>>2]|0;ea=+f[U+32>>2];da=+f[U+32+4>>2];ca=+f[U+32+8>>2];f[U+160>>2]=ea;f[U+160+4>>2]=da+-.25;f[U+160+8>>2]=ca;f[U+160+12>>2]=0.0;f[U+96>>2]=ea+0.0;f[U+96+4>>2]=da+.25;f[U+96+8>>2]=ca+0.0;f[U+96+12>>2]=0.0;Cb[H&127](K,U+160|0,U+96|0,U+16|0);H=c[(c[K>>2]|0)+8>>2]|0;ca=+f[U+32>>2];da=+f[U+32+4>>2];ea=+f[U+32+8>>2];f[U+160>>2]=ca;f[U+160+4>>2]=da;f[U+160+8>>2]=ea+-.25;f[U+160+12>>2]=0.0;f[U+96>>2]=ca+0.0;f[U+96+4>>2]=da+0.0;f[U+96+8>>2]=ea+.25;f[U+96+12>>2]=0.0;Cb[H&127](K,U+160|0,U+96|0,U+16|0);H=c[(c[K>>2]|0)+8>>2]|0;I=(c[I>>2]|0)+8|0;c[U+160>>2]=1065353216;c[U+160+4>>2]=1065353216;c[U+160+8>>2]=1065353216;f[U+160+12>>2]=0.0;Cb[H&127](K,I,U+32|0,U+160|0);d=d+1|0}while((d|0)<(c[P+792>>2]|0))}d=c[P+712>>2]|0;if((d|0)>0){g=0;do{e=c[P+720>>2]|0;if((c[(c[e+(g*104|0)+4>>2]|0)+16>>2]&1|0)!=0?+f[e+(g*104|0)+88>>2]<=0.0:0){c[U+32>>2]=1065353216;c[U+32+4>>2]=0;c[U+32+8>>2]=0;f[U+32+12>>2]=0.0;d=c[(c[K>>2]|0)+8>>2]|0;G=e+(g*104|0)+8|0;ca=+f[G>>2];H=e+(g*104|0)+12|0;da=+f[H>>2];I=e+(g*104|0)+16|0;ea=+f[I>>2];f[U+160>>2]=ca+-.25;f[U+160+4>>2]=da;f[U+160+8>>2]=ea;f[U+160+12>>2]=0.0;f[U+96>>2]=ca+.25;f[U+96+4>>2]=da+0.0;f[U+96+8>>2]=ea+0.0;f[U+96+12>>2]=0.0;Cb[d&127](K,U+160|0,U+96|0,U+32|0);d=c[(c[K>>2]|0)+8>>2]|0;ea=+f[G>>2];da=+f[H>>2];ca=+f[I>>2];f[U+160>>2]=ea;f[U+160+4>>2]=da+-.25;f[U+160+8>>2]=ca;f[U+160+12>>2]=0.0;f[U+96>>2]=ea+0.0;f[U+96+4>>2]=da+.25;f[U+96+8>>2]=ca+0.0;f[U+96+12>>2]=0.0;Cb[d&127](K,U+160|0,U+96|0,U+32|0);d=c[(c[K>>2]|0)+8>>2]|0;ca=+f[G>>2];da=+f[H>>2];ea=+f[I>>2];f[U+160>>2]=ca;f[U+160+4>>2]=da;f[U+160+8>>2]=ea+-.25;f[U+160+12>>2]=0.0;f[U+96>>2]=ca+0.0;f[U+96+4>>2]=da+0.0;f[U+96+8>>2]=ea+.25;f[U+96+12>>2]=0.0;Cb[d&127](K,U+160|0,U+96|0,U+32|0);d=c[P+712>>2]|0}g=g+1|0}while((g|0)<(d|0))}}if(J&128|0?(c[P+692>>2]|0)>0:0){g=0;do{d=c[P+700>>2]|0;e=d+(g*60|0)+8|0;c[U+160>>2]=c[e>>2];c[U+160+4>>2]=c[e+4>>2];c[U+160+8>>2]=c[e+8>>2];c[U+160+12>>2]=c[e+12>>2];e=c[d+(g*60|0)+24>>2]|0;if((e|0)>0){h=+f[U+160+8>>2];i=+f[U+160>>2];j=+f[U+160+4>>2];k=0;do{I=c[d+(g*60|0)+28+(k<<2)>>2]|0;ea=+f[d+(g*60|0)+44+(k<<2)>>2];i=+f[I+8>>2]*ea+i;j=ea*+f[I+12>>2]+j;h=ea*+f[I+16>>2]+h;f[U+160+8>>2]=h;k=k+1|0}while((k|0)!=(e|0));f[U+160>>2]=i;f[U+160+4>>2]=j}zb[c[(c[K>>2]|0)+40>>2]&127](K,U+160|0,c[d+(g*60|0)+4>>2]|0);g=g+1|0}while((g|0)<(c[P+692>>2]|0))}if(J&512|0){I=c[P+928>>2]|0;c[U+160>>2]=1065353216;c[U+160+4>>2]=0;c[U+160+8>>2]=1065353216;f[U+160+12>>2]=0.0;c[U+96>>2]=1065353216;c[U+96+4>>2]=1065353216;c[U+96+8>>2]=1065353216;f[U+96+12>>2]=0.0;Gf(K,I,0,U+160|0,U+96|0)}if(J&1024|0){I=c[P+988>>2]|0;c[U+160>>2]=0;c[U+160+4>>2]=1065353216;c[U+160+8>>2]=0;f[U+160+12>>2]=0.0;c[U+96>>2]=1065353216;c[U+96+4>>2]=0;c[U+96+8>>2]=0;f[U+96+12>>2]=0.0;Gf(K,I,0,U+160|0,U+96|0)}if(J&2048|0){I=c[P+1048>>2]|0;c[U+160>>2]=0;c[U+160+4>>2]=1065353216;c[U+160+8>>2]=1065353216;f[U+160+12>>2]=0.0;c[U+96>>2]=1065353216;c[U+96+4>>2]=0;c[U+96+8>>2]=0;f[U+96+12>>2]=0.0;Gf(K,I,0,U+160|0,U+96|0)}a:do if(J&4096|0?(c[P+852>>2]|0)>0:0){e=0;while(1){d=c[(c[P+860>>2]|0)+(e<<2)>>2]|0;switch(eb[c[(c[d>>2]|0)+20>>2]&255](d)|0){case 0:{J=pi(d+4|0)|0;ea=+f[d+28>>2];da=+f[d+32>>2];ca=+f[d+36>>2];ba=ea*+f[J+16>>2]+da*+f[J+20>>2]+ca*+f[J+24>>2]+ +f[J+52>>2];aa=ea*+f[J+32>>2]+da*+f[J+36>>2]+ca*+f[J+40>>2]+ +f[J+56>>2];f[U+32>>2]=ea*+f[J>>2]+da*+f[J+4>>2]+ca*+f[J+8>>2]+ +f[J+48>>2];f[U+32+4>>2]=ba;f[U+32+8>>2]=aa;f[U+32+12>>2]=0.0;J=pi(d+16|0)|0;aa=+f[d+44>>2];ba=+f[d+48>>2];ca=+f[d+52>>2];da=aa*+f[J+16>>2]+ba*+f[J+20>>2]+ca*+f[J+24>>2]+ +f[J+52>>2];ea=aa*+f[J+32>>2]+ba*+f[J+36>>2]+ca*+f[J+40>>2]+ +f[J+56>>2];f[U+16>>2]=aa*+f[J>>2]+ba*+f[J+4>>2]+ca*+f[J+8>>2]+ +f[J+48>>2];f[U+16+4>>2]=da;f[U+16+8>>2]=ea;f[U+16+12>>2]=0.0;J=c[(c[K>>2]|0)+8>>2]|0;I=(pi(d+4|0)|0)+48|0;c[U+160>>2]=1065353216;c[U+160+4>>2]=1065353216;c[U+160+8>>2]=0;f[U+160+12>>2]=0.0;Cb[J&127](K,I,U+32|0,U+160|0);I=c[(c[K>>2]|0)+8>>2]|0;J=(pi(d+16|0)|0)+48|0;c[U+160>>2]=0;c[U+160+4>>2]=1065353216;c[U+160+8>>2]=1065353216;f[U+160+12>>2]=0.0;Cb[I&127](K,J,U+16|0,U+160|0);c[U>>2]=1065353216;c[U+4>>2]=1065353216;c[U+8>>2]=0;f[U+12>>2]=0.0;J=c[(c[K>>2]|0)+8>>2]|0;ea=+f[U+32>>2];da=+f[U+32+4>>2];ca=+f[U+32+8>>2];f[U+160>>2]=ea+-.25;f[U+160+4>>2]=da;f[U+160+8>>2]=ca;f[U+160+12>>2]=0.0;f[U+96>>2]=ea+.25;f[U+96+4>>2]=da+0.0;f[U+96+8>>2]=ca+0.0;f[U+96+12>>2]=0.0;Cb[J&127](K,U+160|0,U+96|0,U);J=c[(c[K>>2]|0)+8>>2]|0;ca=+f[U+32>>2];da=+f[U+32+4>>2];ea=+f[U+32+8>>2];f[U+160>>2]=ca;f[U+160+4>>2]=da+-.25;f[U+160+8>>2]=ea;f[U+160+12>>2]=0.0;f[U+96>>2]=ca+0.0;f[U+96+4>>2]=da+.25;f[U+96+8>>2]=ea+0.0;f[U+96+12>>2]=0.0;Cb[J&127](K,U+160|0,U+96|0,U);J=c[(c[K>>2]|0)+8>>2]|0;ea=+f[U+32>>2];da=+f[U+32+4>>2];ca=+f[U+32+8>>2];f[U+160>>2]=ea;f[U+160+4>>2]=da;f[U+160+8>>2]=ca+-.25;f[U+160+12>>2]=0.0;f[U+96>>2]=ea+0.0;f[U+96+4>>2]=da+0.0;f[U+96+8>>2]=ca+.25;f[U+96+12>>2]=0.0;Cb[J&127](K,U+160|0,U+96|0,U);c[U>>2]=0;c[U+4>>2]=1065353216;c[U+8>>2]=1065353216;f[U+12>>2]=0.0;J=c[(c[K>>2]|0)+8>>2]|0;ca=+f[U+16>>2];da=+f[U+16+4>>2];ea=+f[U+16+8>>2];f[U+160>>2]=ca+-.25;f[U+160+4>>2]=da;f[U+160+8>>2]=ea;f[U+160+12>>2]=0.0;f[U+96>>2]=ca+.25;f[U+96+4>>2]=da+0.0;f[U+96+8>>2]=ea+0.0;f[U+96+12>>2]=0.0;Cb[J&127](K,U+160|0,U+96|0,U);J=c[(c[K>>2]|0)+8>>2]|0;ea=+f[U+16>>2];da=+f[U+16+4>>2];ca=+f[U+16+8>>2];f[U+160>>2]=ea;f[U+160+4>>2]=da+-.25;f[U+160+8>>2]=ca;f[U+160+12>>2]=0.0;f[U+96>>2]=ea+0.0;f[U+96+4>>2]=da+.25;f[U+96+8>>2]=ca+0.0;f[U+96+12>>2]=0.0;Cb[J&127](K,U+160|0,U+96|0,U);J=c[(c[K>>2]|0)+8>>2]|0;ca=+f[U+16>>2];da=+f[U+16+4>>2];ea=+f[U+16+8>>2];f[U+160>>2]=ca;f[U+160+4>>2]=da;f[U+160+8>>2]=ea+-.25;f[U+160+12>>2]=0.0;f[U+96>>2]=ca+0.0;f[U+96+4>>2]=da+0.0;f[U+96+8>>2]=ea+.25;f[U+96+12>>2]=0.0;Cb[J&127](K,U+160|0,U+96|0,U);break}case 1:{J=(pi(d+4|0)|0)+48|0;c[U+160>>2]=c[J>>2];c[U+160+4>>2]=c[J+4>>2];c[U+160+8>>2]=c[J+8>>2];c[U+160+12>>2]=c[J+12>>2];J=(pi(d+16|0)|0)+48|0;c[U+96>>2]=c[J>>2];c[U+96+4>>2]=c[J+4>>2];c[U+96+8>>2]=c[J+8>>2];c[U+96+12>>2]=c[J+12>>2];J=pi(d+4|0)|0;_=+f[d+28>>2];Z=+f[d+32>>2];ba=+f[d+36>>2];$=+f[J>>2]*_+ +f[J+4>>2]*Z+ +f[J+8>>2]*ba;aa=_*+f[J+16>>2]+Z*+f[J+20>>2]+ba*+f[J+24>>2];ba=_*+f[J+32>>2]+Z*+f[J+36>>2]+ba*+f[J+40>>2];J=pi(d+16|0)|0;Z=+f[d+44>>2];_=+f[d+48>>2];ea=+f[d+52>>2];ca=+f[J>>2]*Z+ +f[J+4>>2]*_+ +f[J+8>>2]*ea;da=Z*+f[J+16>>2]+_*+f[J+20>>2]+ea*+f[J+24>>2];ea=Z*+f[J+32>>2]+_*+f[J+36>>2]+ea*+f[J+40>>2];J=c[(c[K>>2]|0)+8>>2]|0;_=aa*10.0+ +f[U+160+4>>2];Z=ba*10.0+ +f[U+160+8>>2];f[U+32>>2]=$*10.0+ +f[U+160>>2];f[U+32+4>>2]=_;f[U+32+8>>2]=Z;f[U+32+12>>2]=0.0;c[U+16>>2]=1065353216;c[U+16+4>>2]=1065353216;c[U+16+8>>2]=0;f[U+16+12>>2]=0.0;Cb[J&127](K,U+160|0,U+32|0,U+16|0);J=c[(c[K>>2]|0)+8>>2]|0;Z=da*10.0+ +f[U+160+4>>2];_=ea*10.0+ +f[U+160+8>>2];f[U+32>>2]=ca*10.0+ +f[U+160>>2];f[U+32+4>>2]=Z;f[U+32+8>>2]=_;f[U+32+12>>2]=0.0;c[U+16>>2]=1065353216;c[U+16+4>>2]=1065353216;c[U+16+8>>2]=0;f[U+16+12>>2]=0.0;Cb[J&127](K,U+160|0,U+32|0,U+16|0);J=c[(c[K>>2]|0)+8>>2]|0;aa=aa*10.0+ +f[U+96+4>>2];ba=ba*10.0+ +f[U+96+8>>2];f[U+32>>2]=$*10.0+ +f[U+96>>2];f[U+32+4>>2]=aa;f[U+32+8>>2]=ba;f[U+32+12>>2]=0.0;c[U+16>>2]=0;c[U+16+4>>2]=1065353216;c[U+16+8>>2]=1065353216;f[U+16+12>>2]=0.0;Cb[J&127](K,U+96|0,U+32|0,U+16|0);J=c[(c[K>>2]|0)+8>>2]|0;da=da*10.0+ +f[U+96+4>>2];ea=ea*10.0+ +f[U+96+8>>2];f[U+32>>2]=ca*10.0+ +f[U+96>>2];f[U+32+4>>2]=da;f[U+32+8>>2]=ea;f[U+32+12>>2]=0.0;c[U+16>>2]=0;c[U+16+4>>2]=1065353216;c[U+16+8>>2]=1065353216;f[U+16+12>>2]=0.0;Cb[J&127](K,U+96|0,U+32|0,U+16|0);break}default:{}}e=e+1|0;if((e|0)>=(c[P+852>>2]|0))break a}}while(0)}d=c[b+72>>2]|0;if(d|0?(eb[c[(c[d>>2]|0)+48>>2]&255](d)|0)&2|0:0){if(a[b+348>>0]|0){J=c[b+72>>2]|0;K=c[P+928>>2]|0;c[U+160>>2]=1065353216;c[U+160+4>>2]=0;c[U+160+8>>2]=1065353216;f[U+160+12>>2]=0.0;c[U+96>>2]=1065353216;c[U+96+4>>2]=1065353216;c[U+96+8>>2]=1065353216;f[U+96+12>>2]=0.0;Gf(J,K,0,U+160|0,U+96|0)}if(a[b+349>>0]|0){J=c[b+72>>2]|0;K=c[P+988>>2]|0;c[U+160>>2]=0;c[U+160+4>>2]=1065353216;c[U+160+8>>2]=0;f[U+160+12>>2]=0.0;c[U+96>>2]=1065353216;c[U+96+4>>2]=0;c[U+96+8>>2]=0;f[U+96+12>>2]=0.0;Gf(J,K,0,U+160|0,U+96|0)}if(a[b+350>>0]|0){K=c[b+72>>2]|0;P=c[P+1048>>2]|0;c[U+160>>2]=0;c[U+160+4>>2]=1065353216;c[U+160+8>>2]=1065353216;f[U+160+12>>2]=0.0;c[U+96>>2]=1065353216;c[U+96+4>>2]=0;c[U+96+8>>2]=0;f[U+96+12>>2]=0.0;Gf(K,P,0,U+160|0,U+96|0)}}R=R+1|0}while((R|0)<(c[b+328>>2]|0));Ta=U;return}function Sb(b,d,e,g){b=b|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0.0,k=0,l=0,m=0,n=0,o=0,p=0.0,q=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0,C=0,D=0.0,E=0.0,F=0.0,G=0.0,H=0.0,I=0.0,J=0.0,K=0.0,L=0.0,M=0.0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0.0;ca=Ta;Ta=Ta+80|0;if((e|0)<=0){Ta=ca;return}$=0;do{T=c[d+($<<2)>>2]|0;V=c[T+740>>2]|0;W=c[T+744>>2]|0;Y=Bd(b,V,+f[g+12>>2])|0;Z=Bd(b,W,+f[g+12>>2])|0;X=c[b+16>>2]|0;if(!(((((+f[X+(Y*244|0)+128>>2]==0.0?+f[X+(Y*244|0)+132>>2]==0.0:0)?+f[X+(Y*244|0)+136>>2]==0.0:0)?+f[X+(Z*244|0)+128>>2]==0.0:0)?+f[X+(Z*244|0)+132>>2]==0.0:0)?+f[X+(Z*244|0)+136>>2]==0.0:0))ba=9;if((ba|0)==9?(ba=0,U=c[T+748>>2]|0,(U|0)>0):0){i=U;aa=0;h=1;do{R=T+4+(aa*184|0)|0;m=T+4+(aa*184|0)+80|0;if(+f[m>>2]<=+f[T+756>>2]){S=c[b+28>>2]|0;if((S|0)==(c[b+32>>2]|0)?(_=(S|0)==0?1:S<<1,(S|0)<(_|0)):0){if(!_){k=S;l=0}else{c[6879]=(c[6879]|0)+1;i=Zb((_*152|3)+16|0)|0;if(!i)i=0;else{c[(i+4+15&-16)+-4>>2]=i;i=i+4+15&-16}k=c[b+28>>2]|0;l=i}if((k|0)>0){i=0;do{oi(l+(i*152|0)|0,(c[b+36>>2]|0)+(i*152|0)|0,152)|0;i=i+1|0}while((i|0)!=(k|0))}i=c[b+36>>2]|0;if(i|0){if(a[b+40>>0]|0){c[6880]=(c[6880]|0)+1;kd(c[i+-4>>2]|0)}c[b+36>>2]=0}a[b+40>>0]=1;c[b+36>>2]=l;c[b+32>>2]=_;i=c[b+28>>2]|0}else i=S;c[b+28>>2]=i+1;Q=c[b+36>>2]|0;n=(c[V+236>>2]&2|0)==0?0:V;o=(c[W+236>>2]&2|0)==0?0:W;c[Q+(S*152|0)+144>>2]=Y;c[Q+(S*152|0)+148>>2]=Z;c[Q+(S*152|0)+132>>2]=R;A=+f[T+4+(aa*184|0)+48>>2]-+f[V+52>>2];B=+f[T+4+(aa*184|0)+52>>2]-+f[V+56>>2];z=+f[T+4+(aa*184|0)+56>>2]-+f[V+60>>2];f[ca+64>>2]=A;f[ca+64+4>>2]=B;f[ca+64+8>>2]=z;f[ca+64+12>>2]=0.0;E=+f[T+4+(aa*184|0)+32>>2]-+f[W+52>>2];F=+f[T+4+(aa*184|0)+36>>2]-+f[W+56>>2];D=+f[T+4+(aa*184|0)+40>>2]-+f[W+60>>2];f[ca+48>>2]=E;f[ca+48+4>>2]=F;f[ca+48+8>>2]=D;f[ca+48+12>>2]=0.0;if(!(c[X+(Y*244|0)+240>>2]|0)){j=0.0;q=0.0;u=0.0}else{M=+f[X+(Y*244|0)+192>>2]+ +f[X+(Y*244|0)+224>>2];u=+f[X+(Y*244|0)+196>>2]+ +f[X+(Y*244|0)+228>>2];q=+f[X+(Y*244|0)+200>>2]+ +f[X+(Y*244|0)+232>>2];j=+f[X+(Y*244|0)+176>>2]+ +f[X+(Y*244|0)+208>>2]+(z*u-B*q);q=+f[X+(Y*244|0)+180>>2]+ +f[X+(Y*244|0)+212>>2]+(A*q-z*M);u=+f[X+(Y*244|0)+184>>2]+ +f[X+(Y*244|0)+216>>2]+(B*M-A*u)}if(!(c[X+(Z*244|0)+240>>2]|0)){p=0.0;t=0.0;v=0.0}else{M=+f[X+(Z*244|0)+192>>2]+ +f[X+(Z*244|0)+224>>2];v=+f[X+(Z*244|0)+196>>2]+ +f[X+(Z*244|0)+228>>2];t=+f[X+(Z*244|0)+200>>2]+ +f[X+(Z*244|0)+232>>2];p=+f[X+(Z*244|0)+176>>2]+ +f[X+(Z*244|0)+208>>2]+(D*v-F*t);t=+f[X+(Z*244|0)+180>>2]+ +f[X+(Z*244|0)+212>>2]+(E*t-D*M);v=+f[X+(Z*244|0)+184>>2]+ +f[X+(Z*244|0)+216>>2]+(F*M-E*v)}M=j-p;L=q-t;K=u-v;P=T+4+(aa*184|0)+64|0;H=+f[P>>2];O=T+4+(aa*184|0)+68|0;I=+f[O>>2];N=T+4+(aa*184|0)+72|0;J=+f[N>>2];l=c[b+16>>2]|0;i=c[l+(Y*244|0)+240>>2]|0;k=c[l+(Z*244|0)+240>>2]|0;if(i|0){j=((B*J-z*I)*+f[i+264>>2]+(z*H-J*A)*+f[i+268>>2]+(I*A-B*H)*+f[i+272>>2])*+f[i+544>>2];p=((B*J-z*I)*+f[i+280>>2]+(z*H-J*A)*+f[i+284>>2]+(I*A-B*H)*+f[i+288>>2])*+f[i+548>>2];q=((B*J-z*I)*+f[i+296>>2]+(z*H-J*A)*+f[i+300>>2]+(I*A-B*H)*+f[i+304>>2])*+f[i+552>>2]}else{j=0.0;p=0.0;q=0.0}f[Q+(S*152|0)+64>>2]=j;f[Q+(S*152|0)+68>>2]=p;f[Q+(S*152|0)+72>>2]=q;f[Q+(S*152|0)+76>>2]=0.0;w=+f[N>>2];x=+f[O>>2];y=+f[P>>2];if(k|0){t=(+f[k+264>>2]*-(F*w-D*x)+ +f[k+268>>2]*-(D*y-w*E)+ +f[k+272>>2]*-(x*E-F*y))*+f[k+544>>2];u=(+f[k+280>>2]*-(F*w-D*x)+ +f[k+284>>2]*-(D*y-w*E)+ +f[k+288>>2]*-(x*E-F*y))*+f[k+548>>2];v=(+f[k+296>>2]*-(F*w-D*x)+ +f[k+300>>2]*-(D*y-w*E)+ +f[k+304>>2]*-(x*E-F*y))*+f[k+552>>2]}else{t=0.0;u=0.0;v=0.0}f[Q+(S*152|0)+80>>2]=t;f[Q+(S*152|0)+84>>2]=u;f[Q+(S*152|0)+88>>2]=v;f[Q+(S*152|0)+92>>2]=0.0;if(i|0)p=+f[i+344>>2]+((p*z-q*B)*+f[P>>2]+(q*A-z*j)*+f[O>>2]+(B*j-p*A)*+f[N>>2]);else p=0.0;if(k|0){G=-t;j=-u;v=-v;j=+f[k+344>>2]+((D*j-F*v)*+f[P>>2]+(E*v-D*G)*+f[O>>2]+(F*G-E*j)*+f[N>>2])}else j=0.0;f[Q+(S*152|0)+108>>2]=1.0/(p+j);if(i|0){c[Q+(S*152|0)+16>>2]=c[P>>2];c[Q+(S*152|0)+16+4>>2]=c[P+4>>2];c[Q+(S*152|0)+16+8>>2]=c[P+8>>2];c[Q+(S*152|0)+16+12>>2]=c[P+12>>2];f[Q+(S*152|0)>>2]=B*J-z*I;f[Q+(S*152|0)+4>>2]=z*H-J*A;f[Q+(S*152|0)+8>>2]=I*A-B*H;f[Q+(S*152|0)+12>>2]=0.0}else{c[Q+(S*152|0)>>2]=0;c[Q+(S*152|0)+4>>2]=0;c[Q+(S*152|0)+8>>2]=0;c[Q+(S*152|0)+12>>2]=0;c[Q+(S*152|0)+16>>2]=0;c[Q+(S*152|0)+20>>2]=0;c[Q+(S*152|0)+24>>2]=0;c[Q+(S*152|0)+28>>2]=0}if(k|0){v=-+f[O>>2];G=-+f[N>>2];f[Q+(S*152|0)+48>>2]=-+f[P>>2];f[Q+(S*152|0)+52>>2]=v;f[Q+(S*152|0)+56>>2]=G;f[Q+(S*152|0)+60>>2]=0.0;f[Q+(S*152|0)+32>>2]=-(F*w-D*x);f[Q+(S*152|0)+36>>2]=-(D*y-w*E);f[Q+(S*152|0)+40>>2]=-(x*E-F*y);f[Q+(S*152|0)+44>>2]=0.0}else{c[Q+(S*152|0)+32>>2]=0;c[Q+(S*152|0)+32+4>>2]=0;c[Q+(S*152|0)+32+8>>2]=0;c[Q+(S*152|0)+32+12>>2]=0;c[Q+(S*152|0)+32+16>>2]=0;c[Q+(S*152|0)+32+20>>2]=0;c[Q+(S*152|0)+32+24>>2]=0;c[Q+(S*152|0)+32+28>>2]=0}G=+f[m>>2]+ +f[g+56>>2];if(i|0){t=+f[i+332>>2];u=+f[i+336>>2];y=+f[i+328>>2];v=t*z-u*B+ +f[i+312>>2];u=+f[i+316>>2]+(u*A-z*y);t=B*y-t*A+ +f[i+320>>2]}else{v=0.0;u=0.0;t=0.0}if(k|0){j=+f[k+332>>2];p=+f[k+336>>2];B=+f[k+328>>2];q=j*D-p*F+ +f[k+312>>2];p=+f[k+316>>2]+(p*E-D*B);j=F*B-j*E+ +f[k+320>>2]}else{q=0.0;p=0.0;j=0.0}D=(v-q)*+f[P>>2]+(u-p)*+f[O>>2]+(t-j)*+f[N>>2];c[Q+(S*152|0)+104>>2]=c[T+4+(aa*184|0)+84>>2];D=D*+f[T+4+(aa*184|0)+92>>2];D=D>=-0.0?0.0:-D;do if(!(c[g+64>>2]&4))f[Q+(S*152|0)+100>>2]=0.0;else{j=+f[T+4+(aa*184|0)+120>>2]*+f[g+60>>2];f[Q+(S*152|0)+100>>2]=j;do if(i|0){if(!(c[l+(Y*244|0)+240>>2]|0))break;F=j*(+f[Q+(S*152|0)+20>>2]*+f[l+(Y*244|0)+132>>2]*+f[i+352>>2])*+f[l+(Y*244|0)+116>>2];E=j*(+f[Q+(S*152|0)+24>>2]*+f[l+(Y*244|0)+136>>2]*+f[i+356>>2])*+f[l+(Y*244|0)+120>>2];f[l+(Y*244|0)+64>>2]=+f[l+(Y*244|0)+112>>2]*(j*(+f[Q+(S*152|0)+16>>2]*+f[l+(Y*244|0)+128>>2]*+f[i+348>>2]))+ +f[l+(Y*244|0)+64>>2];f[l+(Y*244|0)+68>>2]=F+ +f[l+(Y*244|0)+68>>2];f[l+(Y*244|0)+72>>2]=E+ +f[l+(Y*244|0)+72>>2];E=j*+f[l+(Y*244|0)+100>>2]*+f[Q+(S*152|0)+68>>2];F=j*+f[l+(Y*244|0)+104>>2]*+f[Q+(S*152|0)+72>>2];f[l+(Y*244|0)+80>>2]=j*+f[l+(Y*244|0)+96>>2]*+f[Q+(S*152|0)+64>>2]+ +f[l+(Y*244|0)+80>>2];f[l+(Y*244|0)+84>>2]=E+ +f[l+(Y*244|0)+84>>2];f[l+(Y*244|0)+88>>2]=F+ +f[l+(Y*244|0)+88>>2]}while(0);if(!k)break;j=+f[Q+(S*152|0)+100>>2];if(!(c[l+(Z*244|0)+240>>2]|0))break;F=+f[Q+(S*152|0)+88>>2];E=+f[Q+(S*152|0)+84>>2];B=+f[Q+(S*152|0)+80>>2];z=j*(+f[Q+(S*152|0)+52>>2]*+f[l+(Z*244|0)+132>>2]*+f[k+352>>2])*+f[l+(Z*244|0)+116>>2];A=j*(+f[Q+(S*152|0)+56>>2]*+f[l+(Z*244|0)+136>>2]*+f[k+356>>2])*+f[l+(Z*244|0)+120>>2];f[l+(Z*244|0)+64>>2]=+f[l+(Z*244|0)+112>>2]*(j*(+f[Q+(S*152|0)+48>>2]*+f[l+(Z*244|0)+128>>2]*+f[k+348>>2]))+ +f[l+(Z*244|0)+64>>2];f[l+(Z*244|0)+68>>2]=z+ +f[l+(Z*244|0)+68>>2];f[l+(Z*244|0)+72>>2]=A+ +f[l+(Z*244|0)+72>>2];E=E*(+f[l+(Z*244|0)+100>>2]*-j);F=F*(+f[l+(Z*244|0)+104>>2]*-j);f[l+(Z*244|0)+80>>2]=+f[l+(Z*244|0)+80>>2]-B*(+f[l+(Z*244|0)+96>>2]*-j);f[l+(Z*244|0)+84>>2]=+f[l+(Z*244|0)+84>>2]-E;f[l+(Z*244|0)+88>>2]=+f[l+(Z*244|0)+88>>2]-F}while(0);f[Q+(S*152|0)+96>>2]=0.0;if(!(c[l+(Y*244|0)+240>>2]|0)){j=0.0;p=0.0;q=0.0;t=0.0;u=0.0;v=0.0}else{j=+f[l+(Y*244|0)+208>>2];p=+f[l+(Y*244|0)+212>>2];q=+f[l+(Y*244|0)+216>>2];t=+f[l+(Y*244|0)+224>>2];u=+f[l+(Y*244|0)+228>>2];v=+f[l+(Y*244|0)+232>>2]}if(!(c[l+(Z*244|0)+240>>2]|0)){w=0.0;x=0.0;y=0.0;z=0.0;A=0.0;B=0.0}else{w=+f[l+(Z*244|0)+208>>2];x=+f[l+(Z*244|0)+212>>2];y=+f[l+(Z*244|0)+216>>2];z=+f[l+(Z*244|0)+224>>2];A=+f[l+(Z*244|0)+228>>2];B=+f[l+(Z*244|0)+232>>2]}j=D-((j+ +f[l+(Y*244|0)+176>>2])*+f[Q+(S*152|0)+16>>2]+(p+ +f[l+(Y*244|0)+180>>2])*+f[Q+(S*152|0)+20>>2]+(q+ +f[l+(Y*244|0)+184>>2])*+f[Q+(S*152|0)+24>>2]+((t+ +f[l+(Y*244|0)+192>>2])*+f[Q+(S*152|0)>>2]+(u+ +f[l+(Y*244|0)+196>>2])*+f[Q+(S*152|0)+4>>2]+(v+ +f[l+(Y*244|0)+200>>2])*+f[Q+(S*152|0)+8>>2])+((w+ +f[l+(Z*244|0)+176>>2])*+f[Q+(S*152|0)+48>>2]+(x+ +f[l+(Z*244|0)+180>>2])*+f[Q+(S*152|0)+52>>2]+(y+ +f[l+(Z*244|0)+184>>2])*+f[Q+(S*152|0)+56>>2]+((z+ +f[l+(Z*244|0)+192>>2])*+f[Q+(S*152|0)+32>>2]+(A+ +f[l+(Z*244|0)+196>>2])*+f[Q+(S*152|0)+36>>2]+(B+ +f[l+(Z*244|0)+200>>2])*+f[Q+(S*152|0)+40>>2])));i=(c[g+44>>2]|0)==0;if(G>0.0){p=0.0;j=j-G/+f[g+12>>2]}else p=-(G*(i|G>+f[g+48>>2]?+f[g+32>>2]:+f[g+36>>2]))/+f[g+12>>2];E=+f[Q+(S*152|0)+108>>2];F=p*E;E=j*E;C=i|G>+f[g+48>>2];f[Q+(S*152|0)+112>>2]=C?F+E:E;f[Q+(S*152|0)+128>>2]=C?0.0:F;f[Q+(S*152|0)+116>>2]=0.0;f[Q+(S*152|0)+120>>2]=0.0;f[Q+(S*152|0)+124>>2]=1.0e10;c[Q+(S*152|0)+140>>2]=c[b+68>>2];if(!n){p=0.0;u=0.0;v=0.0}else{p=+f[n+328>>2];u=+f[n+332>>2];v=+f[n+336>>2]}if(!o){j=0.0;q=0.0;t=0.0}else{j=+f[o+328>>2];q=+f[o+332>>2];t=+f[o+336>>2]}w=j-p;p=q-u;t=t-v;f[ca+32>>2]=w;f[ca+32+4>>2]=p;f[ca+32+8>>2]=t;f[ca+32+12>>2]=0.0;do if((h|0)>0?+f[T+4+(aa*184|0)+88>>2]>0.0:0){h=h+-1|0;j=+s(+(w*w+p*p+t*t));if(j>+f[g+80>>2]){f[ca+32>>2]=w*(1.0/j);f[ca+32+4>>2]=p*(1.0/j);f[ca+32+8>>2]=t*(1.0/j);if(!(c[V+180>>2]&2)){q=w*(1.0/j);p=p*(1.0/j);j=t*(1.0/j)}else{v=+f[V+4>>2];y=+f[V+20>>2];B=+f[V+36>>2];x=+f[V+8>>2];z=+f[V+24>>2];E=+f[V+40>>2];q=+f[V+12>>2];A=+f[V+28>>2];G=+f[V+44>>2];D=(w*(1.0/j)*v+p*(1.0/j)*y+t*(1.0/j)*B)*+f[V+164>>2];F=(w*(1.0/j)*x+p*(1.0/j)*z+t*(1.0/j)*E)*+f[V+168>>2];j=(w*(1.0/j)*q+p*(1.0/j)*A+t*(1.0/j)*G)*+f[V+172>>2];f[ca+32>>2]=v*D+x*F+q*j;f[ca+32+4>>2]=y*D+z*F+A*j;f[ca+32+8>>2]=B*D+E*F+G*j;f[ca+32+12>>2]=0.0;q=v*D+x*F+q*j;p=y*D+z*F+A*j;j=B*D+E*F+G*j}if(c[W+180>>2]&2){v=+f[W+4>>2];y=+f[W+20>>2];B=+f[W+36>>2];w=+f[W+8>>2];z=+f[W+24>>2];E=+f[W+40>>2];x=+f[W+12>>2];A=+f[W+28>>2];G=+f[W+44>>2];D=(v*q+y*p+B*j)*+f[W+164>>2];F=(q*w+p*z+j*E)*+f[W+168>>2];j=(q*x+p*A+j*G)*+f[W+172>>2];f[ca+32>>2]=v*D+w*F+x*j;f[ca+32+4>>2]=y*D+z*F+A*j;f[ca+32+8>>2]=B*D+E*F+G*j;f[ca+32+12>>2]=0.0;q=v*D+w*F+x*j;p=y*D+z*F+A*j;j=B*D+E*F+G*j}if(!(+s(+(q*q+p*p+j*j))>.001))break;sd(b,ca+32|0,Y,Z,S,R);break}sd(b,P,Y,Z,S,R);j=+f[N>>2];if(+r(+j)>.7071067690849304){p=+f[O>>2];G=1.0/+s(+(j*j+p*p));f[ca+16>>2]=0.0;f[ca+16+4>>2]=-(j*G);f[ca+16+8>>2]=p*G;f[ca>>2]=(j*j+p*p)*G;F=+f[P>>2];f[ca+4>>2]=-(F*(p*G));q=0.0;u=-(j*G);v=p*G;t=(j*j+p*p)*G;p=-(F*(p*G));j=F*-(j*G)}else{E=+f[P>>2];F=+f[O>>2];G=1.0/+s(+(E*E+F*F));f[ca+16>>2]=-(F*G);f[ca+16+4>>2]=E*G;f[ca+16+8>>2]=0.0;f[ca>>2]=-(j*(E*G));f[ca+4>>2]=j*-(F*G);q=-(F*G);u=E*G;v=0.0;t=-(j*(E*G));p=j*-(F*G);j=(E*E+F*F)*G}f[ca+8>>2]=j;k=(c[V+180>>2]&2|0)==0;if(!k){da=+f[V+4>>2];y=+f[V+20>>2];B=+f[V+36>>2];w=+f[V+8>>2];z=+f[V+24>>2];E=+f[V+40>>2];x=+f[V+12>>2];A=+f[V+28>>2];G=+f[V+44>>2];D=(da*q+y*u+B*v)*+f[V+164>>2];F=(q*w+u*z+v*E)*+f[V+168>>2];v=(q*x+u*A+v*G)*+f[V+172>>2];f[ca+16>>2]=da*D+w*F+x*v;f[ca+16+4>>2]=y*D+z*F+A*v;f[ca+16+8>>2]=B*D+E*F+G*v;f[ca+16+12>>2]=0.0;q=da*D+w*F+x*v;u=y*D+z*F+A*v;v=B*D+E*F+G*v}i=(c[W+180>>2]&2|0)==0;if(!i){w=+f[W+4>>2];z=+f[W+20>>2];D=+f[W+36>>2];x=+f[W+8>>2];A=+f[W+24>>2];F=+f[W+40>>2];y=+f[W+12>>2];B=+f[W+28>>2];da=+f[W+44>>2];E=(w*q+z*u+D*v)*+f[W+164>>2];G=(q*x+u*A+v*F)*+f[W+168>>2];v=(q*y+u*B+v*da)*+f[W+172>>2];f[ca+16>>2]=w*E+x*G+y*v;f[ca+16+4>>2]=z*E+A*G+B*v;f[ca+16+8>>2]=D*E+F*G+da*v;f[ca+16+12>>2]=0.0;q=w*E+x*G+y*v;u=z*E+A*G+B*v;v=D*E+F*G+da*v}if(!k){w=+f[V+4>>2];z=+f[V+20>>2];D=+f[V+36>>2];x=+f[V+8>>2];A=+f[V+24>>2];F=+f[V+40>>2];y=+f[V+12>>2];B=+f[V+28>>2];da=+f[V+44>>2];E=(w*t+z*p+j*D)*+f[V+164>>2];G=(t*x+p*A+j*F)*+f[V+168>>2];j=(t*y+p*B+j*da)*+f[V+172>>2];f[ca>>2]=w*E+x*G+y*j;f[ca+4>>2]=z*E+A*G+B*j;f[ca+8>>2]=D*E+F*G+da*j;f[ca+12>>2]=0.0;t=w*E+x*G+y*j;p=z*E+A*G+B*j;j=D*E+F*G+da*j}if(!i){w=+f[W+4>>2];z=+f[W+20>>2];D=+f[W+36>>2];x=+f[W+8>>2];A=+f[W+24>>2];F=+f[W+40>>2];y=+f[W+12>>2];B=+f[W+28>>2];da=+f[W+44>>2];E=(w*t+z*p+D*j)*+f[W+164>>2];G=(t*x+p*A+j*F)*+f[W+168>>2];j=(t*y+p*B+j*da)*+f[W+172>>2];f[ca>>2]=w*E+x*G+y*j;f[ca+4>>2]=z*E+A*G+B*j;f[ca+8>>2]=D*E+F*G+da*j;f[ca+12>>2]=0.0;t=w*E+x*G+y*j;p=z*E+A*G+B*j;j=D*E+F*G+da*j}if(+s(+(q*q+u*u+v*v))>.001)sd(b,ca+16|0,Y,Z,S,R);if(+s(+(t*t+p*p+j*j))>.001)sd(b,ca,Y,Z,S,R)}while(0);do if(!(c[g+64>>2]&32))ba=93;else{if(!(a[T+4+(aa*184|0)+116>>0]|0)){ba=93;break}Vc(b,T+4+(aa*184|0)+152|0,Y,Z,S,R,ca+64|0,ca+48|0,1.0,+f[T+4+(aa*184|0)+132>>2],+f[T+4+(aa*184|0)+140>>2]);if(!(c[g+64>>2]&16))break;Vc(b,T+4+(aa*184|0)+168|0,Y,Z,S,R,ca+64|0,ca+48|0,1.0,+f[T+4+(aa*184|0)+136>>2],+f[T+4+(aa*184|0)+144>>2])}while(0);do if((ba|0)==93){ba=0;w=+f[P>>2];x=+f[O>>2];y=+f[N>>2];p=M-(M*H+L*I+K*J)*w;u=L-(M*H+L*I+K*J)*x;t=K-(M*H+L*I+K*J)*y;i=T+4+(aa*184|0)+152|0;f[T+4+(aa*184|0)+152>>2]=p;n=T+4+(aa*184|0)+156|0;f[n>>2]=u;o=T+4+(aa*184|0)+160|0;f[o>>2]=t;C=T+4+(aa*184|0)+164|0;f[C>>2]=0.0;if((c[g+64>>2]&64|0)==0?p*p+u*u+t*t>1.1920928955078125e-07:0){j=1.0/+s(+(p*p+u*u+t*t));f[i>>2]=p*j;f[n>>2]=u*j;f[o>>2]=t*j;if(!(c[V+180>>2]&1)){q=p*j;p=u*j;j=t*j}else{E=+f[V+4>>2];G=+f[V+20>>2];J=+f[V+36>>2];F=+f[V+8>>2];H=+f[V+24>>2];L=+f[V+40>>2];q=+f[V+12>>2];I=+f[V+28>>2];da=+f[V+44>>2];K=(p*j*E+u*j*G+t*j*J)*+f[V+164>>2];M=(p*j*F+u*j*H+t*j*L)*+f[V+168>>2];j=(p*j*q+u*j*I+t*j*da)*+f[V+172>>2];f[i>>2]=E*K+F*M+q*j;f[n>>2]=G*K+H*M+I*j;f[o>>2]=J*K+L*M+da*j;f[C>>2]=0.0;q=E*K+F*M+q*j;p=G*K+H*M+I*j;j=J*K+L*M+da*j}if(c[W+180>>2]&1|0){B=+f[W+4>>2];F=+f[W+20>>2];I=+f[W+36>>2];D=+f[W+8>>2];G=+f[W+24>>2];K=+f[W+40>>2];E=+f[W+12>>2];H=+f[W+28>>2];M=+f[W+44>>2];J=(B*q+F*p+I*j)*+f[W+164>>2];L=(q*D+p*G+j*K)*+f[W+168>>2];da=(q*E+p*H+j*M)*+f[W+172>>2];f[i>>2]=B*J+D*L+E*da;f[n>>2]=F*J+G*L+H*da;f[o>>2]=I*J+K*L+M*da;f[C>>2]=0.0}Vc(b,i,Y,Z,S,R,ca+64|0,ca+48|0,1.0,0.0,0.0);if(!(c[g+64>>2]&16))break;M=+f[n>>2];q=+f[N>>2];J=+f[o>>2];K=+f[O>>2];da=+f[P>>2];L=+f[i>>2];i=T+4+(aa*184|0)+168|0;f[T+4+(aa*184|0)+168>>2]=M*q-J*K;k=T+4+(aa*184|0)+172|0;l=T+4+(aa*184|0)+176|0;m=T+4+(aa*184|0)+180|0;f[m>>2]=0.0;j=1.0/+s(+((M*q-J*K)*(M*q-J*K)+(J*da-q*L)*(J*da-q*L)+(K*L-M*da)*(K*L-M*da)));p=(M*q-J*K)*j;f[i>>2]=p;q=(J*da-q*L)*j;f[k>>2]=q;j=(K*L-M*da)*j;f[l>>2]=j;if(c[V+180>>2]&1){D=+f[V+4>>2];G=+f[V+20>>2];J=+f[V+36>>2];E=+f[V+8>>2];H=+f[V+24>>2];L=+f[V+40>>2];F=+f[V+12>>2];I=+f[V+28>>2];da=+f[V+44>>2];K=(p*D+q*G+j*J)*+f[V+164>>2];M=(p*E+q*H+j*L)*+f[V+168>>2];j=(p*F+q*I+j*da)*+f[V+172>>2];f[i>>2]=D*K+E*M+F*j;f[k>>2]=G*K+H*M+I*j;f[l>>2]=J*K+L*M+da*j;f[m>>2]=0.0;p=D*K+E*M+F*j;q=G*K+H*M+I*j;j=J*K+L*M+da*j}if(c[W+180>>2]&1|0){B=+f[W+4>>2];F=+f[W+20>>2];I=+f[W+36>>2];D=+f[W+8>>2];G=+f[W+24>>2];K=+f[W+40>>2];E=+f[W+12>>2];H=+f[W+28>>2];M=+f[W+44>>2];J=(B*p+F*q+I*j)*+f[W+164>>2];L=(p*D+q*G+j*K)*+f[W+168>>2];da=(p*E+q*H+j*M)*+f[W+172>>2];f[i>>2]=B*J+D*L+E*da;f[k>>2]=F*J+G*L+H*da;f[l>>2]=I*J+K*L+M*da;f[m>>2]=0.0}Vc(b,i,Y,Z,S,R,ca+64|0,ca+48|0,1.0,0.0,0.0);break}m=T+4+(aa*184|0)+168|0;if(+r(+y)>.7071067690849304){t=1.0/+s(+(x*x+y*y));f[i>>2]=0.0;f[n>>2]=-(y*t);f[o>>2]=x*t;q=0.0;p=-(y*t);j=x*t;u=(x*x+y*y)*t;v=-(w*(x*t));t=w*-(y*t)}else{t=1.0/+s(+(w*w+x*x));f[i>>2]=-(x*t);f[n>>2]=w*t;f[o>>2]=0.0;q=-(x*t);p=w*t;j=0.0;u=-(y*(w*t));v=y*-(x*t);t=(w*w+x*x)*t}f[m>>2]=u;l=T+4+(aa*184|0)+172|0;f[l>>2]=v;k=T+4+(aa*184|0)+176|0;f[k>>2]=t;if(c[V+180>>2]&1){D=+f[V+4>>2];G=+f[V+20>>2];J=+f[V+36>>2];E=+f[V+8>>2];H=+f[V+24>>2];L=+f[V+40>>2];F=+f[V+12>>2];I=+f[V+28>>2];da=+f[V+44>>2];K=(D*q+G*p+J*j)*+f[V+164>>2];M=(q*E+p*H+j*L)*+f[V+168>>2];j=(q*F+p*I+j*da)*+f[V+172>>2];f[i>>2]=D*K+E*M+F*j;f[n>>2]=G*K+H*M+I*j;f[o>>2]=J*K+L*M+da*j;f[C>>2]=0.0;q=D*K+E*M+F*j;p=G*K+H*M+I*j;j=J*K+L*M+da*j}if(c[W+180>>2]&1|0){B=+f[W+4>>2];F=+f[W+20>>2];I=+f[W+36>>2];D=+f[W+8>>2];G=+f[W+24>>2];K=+f[W+40>>2];E=+f[W+12>>2];H=+f[W+28>>2];M=+f[W+44>>2];J=(B*q+F*p+I*j)*+f[W+164>>2];L=(q*D+p*G+j*K)*+f[W+168>>2];da=(q*E+p*H+j*M)*+f[W+172>>2];f[i>>2]=B*J+D*L+E*da;f[n>>2]=F*J+G*L+H*da;f[o>>2]=I*J+K*L+M*da;f[C>>2]=0.0}Vc(b,i,Y,Z,S,R,ca+64|0,ca+48|0,1.0,0.0,0.0);i=c[g+64>>2]|0;if(i&16){if(c[V+180>>2]&1|0){B=+f[V+4>>2];z=+f[m>>2];F=+f[V+20>>2];A=+f[l>>2];I=+f[V+36>>2];da=+f[k>>2];D=+f[V+8>>2];G=+f[V+24>>2];K=+f[V+40>>2];E=+f[V+12>>2];H=+f[V+28>>2];M=+f[V+44>>2];J=(B*z+F*A+I*da)*+f[V+164>>2];L=(z*D+A*G+da*K)*+f[V+168>>2];da=(z*E+A*H+da*M)*+f[V+172>>2];f[m>>2]=B*J+D*L+E*da;f[l>>2]=F*J+G*L+H*da;f[k>>2]=I*J+K*L+M*da;f[T+4+(aa*184|0)+180>>2]=0.0}if(c[W+180>>2]&1|0){B=+f[W+4>>2];z=+f[m>>2];F=+f[W+20>>2];A=+f[l>>2];I=+f[W+36>>2];da=+f[k>>2];D=+f[W+8>>2];G=+f[W+24>>2];K=+f[W+40>>2];E=+f[W+12>>2];H=+f[W+28>>2];M=+f[W+44>>2];J=(B*z+F*A+I*da)*+f[W+164>>2];L=(z*D+A*G+da*K)*+f[W+168>>2];da=(z*E+A*H+da*M)*+f[W+172>>2];f[m>>2]=B*J+D*L+E*da;f[l>>2]=F*J+G*L+H*da;f[k>>2]=I*J+K*L+M*da;f[T+4+(aa*184|0)+180>>2]=0.0}Vc(b,m,Y,Z,S,R,ca+64|0,ca+48|0,1.0,0.0,0.0);i=c[g+64>>2]|0}if((i&80|0)!=80)break;a[T+4+(aa*184|0)+116>>0]=1}while(0);m=c[b+16>>2]|0;n=c[m+(Y*244|0)+240>>2]|0;o=c[m+(Z*244|0)+240>>2]|0;k=c[Q+(S*152|0)+140>>2]|0;l=c[b+76>>2]|0;i=c[g+64>>2]|0;do if(!(i&4))f[l+(k*152|0)+100>>2]=0.0;else{j=+f[T+4+(aa*184|0)+124>>2]*+f[g+60>>2];f[l+(k*152|0)+100>>2]=j;if(n|0){L=+f[n+344>>2];da=j*(L*+f[l+(k*152|0)+20>>2]*+f[n+352>>2])*+f[m+(Y*244|0)+116>>2];M=j*(L*+f[l+(k*152|0)+24>>2]*+f[n+356>>2])*+f[m+(Y*244|0)+120>>2];f[m+(Y*244|0)+64>>2]=j*(L*+f[l+(k*152|0)+16>>2]*+f[n+348>>2])*+f[m+(Y*244|0)+112>>2]+ +f[m+(Y*244|0)+64>>2];f[m+(Y*244|0)+68>>2]=da+ +f[m+(Y*244|0)+68>>2];f[m+(Y*244|0)+72>>2]=M+ +f[m+(Y*244|0)+72>>2];M=j*+f[m+(Y*244|0)+100>>2]*+f[l+(k*152|0)+68>>2];da=j*+f[m+(Y*244|0)+104>>2]*+f[l+(k*152|0)+72>>2];f[m+(Y*244|0)+80>>2]=j*+f[m+(Y*244|0)+96>>2]*+f[l+(k*152|0)+64>>2]+ +f[m+(Y*244|0)+80>>2];f[m+(Y*244|0)+84>>2]=M+ +f[m+(Y*244|0)+84>>2];f[m+(Y*244|0)+88>>2]=da+ +f[m+(Y*244|0)+88>>2]}if(!o)break;H=+f[o+344>>2];K=+f[l+(k*152|0)+80>>2];M=+f[l+(k*152|0)+84>>2];da=+f[l+(k*152|0)+88>>2];L=+f[l+(k*152|0)+100>>2];I=+f[l+(k*152|0)+52>>2]*H*+f[o+352>>2]*L*+f[m+(Z*244|0)+116>>2];J=+f[l+(k*152|0)+56>>2]*H*+f[o+356>>2]*L*+f[m+(Z*244|0)+120>>2];f[m+(Z*244|0)+64>>2]=+f[l+(k*152|0)+48>>2]*H*+f[o+348>>2]*L*+f[m+(Z*244|0)+112>>2]+ +f[m+(Z*244|0)+64>>2];f[m+(Z*244|0)+68>>2]=I+ +f[m+(Z*244|0)+68>>2];f[m+(Z*244|0)+72>>2]=J+ +f[m+(Z*244|0)+72>>2];M=M*(+f[m+(Z*244|0)+100>>2]*-L);da=da*(+f[m+(Z*244|0)+104>>2]*-L);f[m+(Z*244|0)+80>>2]=+f[m+(Z*244|0)+80>>2]-K*(+f[m+(Z*244|0)+96>>2]*-L);f[m+(Z*244|0)+84>>2]=+f[m+(Z*244|0)+84>>2]-M;f[m+(Z*244|0)+88>>2]=+f[m+(Z*244|0)+88>>2]-da}while(0);do if(i&16|0){if(!(i&4)){f[l+((k+1|0)*152|0)+100>>2]=0.0;break}j=+f[T+4+(aa*184|0)+128>>2]*+f[g+60>>2];f[l+((k+1|0)*152|0)+100>>2]=j;if(n|0){L=+f[n+344>>2];da=j*(L*+f[l+((k+1|0)*152|0)+20>>2])*+f[m+(Y*244|0)+116>>2];M=j*(L*+f[l+((k+1|0)*152|0)+24>>2])*+f[m+(Y*244|0)+120>>2];f[m+(Y*244|0)+64>>2]=j*(L*+f[l+((k+1|0)*152|0)+16>>2])*+f[m+(Y*244|0)+112>>2]+ +f[m+(Y*244|0)+64>>2];f[m+(Y*244|0)+68>>2]=da+ +f[m+(Y*244|0)+68>>2];f[m+(Y*244|0)+72>>2]=M+ +f[m+(Y*244|0)+72>>2];M=j*+f[m+(Y*244|0)+100>>2]*+f[l+((k+1|0)*152|0)+68>>2];da=j*+f[m+(Y*244|0)+104>>2]*+f[l+((k+1|0)*152|0)+72>>2];f[m+(Y*244|0)+80>>2]=j*+f[m+(Y*244|0)+96>>2]*+f[l+((k+1|0)*152|0)+64>>2]+ +f[m+(Y*244|0)+80>>2];f[m+(Y*244|0)+84>>2]=M+ +f[m+(Y*244|0)+84>>2];f[m+(Y*244|0)+88>>2]=da+ +f[m+(Y*244|0)+88>>2]}if(!o)break;H=+f[o+344>>2];K=+f[l+((k+1|0)*152|0)+80>>2];M=+f[l+((k+1|0)*152|0)+84>>2];da=+f[l+((k+1|0)*152|0)+88>>2];L=+f[l+((k+1|0)*152|0)+100>>2];I=+f[l+((k+1|0)*152|0)+52>>2]*H*L*+f[m+(Z*244|0)+116>>2];J=+f[l+((k+1|0)*152|0)+56>>2]*H*L*+f[m+(Z*244|0)+120>>2];f[m+(Z*244|0)+64>>2]=+f[l+((k+1|0)*152|0)+48>>2]*H*L*+f[m+(Z*244|0)+112>>2]+ +f[m+(Z*244|0)+64>>2];f[m+(Z*244|0)+68>>2]=I+ +f[m+(Z*244|0)+68>>2];f[m+(Z*244|0)+72>>2]=J+ +f[m+(Z*244|0)+72>>2];M=M*(+f[m+(Z*244|0)+100>>2]*-L);da=da*(+f[m+(Z*244|0)+104>>2]*-L);f[m+(Z*244|0)+80>>2]=+f[m+(Z*244|0)+80>>2]-K*(+f[m+(Z*244|0)+96>>2]*-L);f[m+(Z*244|0)+84>>2]=+f[m+(Z*244|0)+84>>2]-M;f[m+(Z*244|0)+88>>2]=+f[m+(Z*244|0)+88>>2]-da}while(0);i=c[T+748>>2]|0}aa=aa+1|0}while((aa|0)<(i|0))}$=$+1|0}while(($|0)!=(e|0));Ta=ca;return}function Tb(b){b=b|0;var d=0,e=0,g=0.0,i=0.0,j=0.0,k=0,l=0,m=0,n=0,o=0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0,C=0.0,D=0.0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0.0,$=0.0,aa=0.0,ba=0.0,ca=0.0,da=0.0,ea=0.0,fa=0.0,ga=0.0,ha=0.0,ia=0.0,ja=0,ka=0,la=0;Z=Ta;Ta=Ta+176|0;Aj(15318);Wd(b);if((eb[c[(c[b>>2]|0)+20>>2]&255](b)|0?(Y=eb[c[(c[b>>2]|0)+20>>2]&255](b)|0,(eb[c[(c[Y>>2]|0)+48>>2]&255](Y)|0)&6144|0):0)?(d=eb[c[(c[b>>2]|0)+104>>2]&255](b)|0,(d|0)>0):0){H=Z+112+44|0;S=Z+112+4|0;T=Z+112+8|0;U=Z+112+16|0;V=Z+112+20|0;O=Z+112+24|0;P=Z+112+32|0;Q=Z+112+36|0;R=Z+112+40|0;W=Z+112+48|0;X=Z+112+52|0;Y=Z+112+56|0;J=Z+112+16|0;G=Z+112+32|0;M=Z+112+48|0;I=Z+112+16|0;F=Z+112+32|0;L=Z+112+48|0;N=Z+112+48|0;do{E=d;d=d+-1|0;o=gb[c[(c[b>>2]|0)+108>>2]&63](b,d)|0;e=eb[c[(c[b>>2]|0)+20>>2]&255](b)|0;e=((eb[c[(c[e>>2]|0)+48>>2]&255](e)|0)&2048|0)!=0;n=eb[c[(c[b>>2]|0)+20>>2]&255](b)|0;n=((eb[c[(c[n>>2]|0)+48>>2]&255](n)|0)&4096|0)!=0;D=+f[o+40>>2];a:do if(!(D<=0.0))switch(c[o+4>>2]|0){case 3:{c[Z+112>>2]=1065353216;c[Z+112+4>>2]=0;c[Z+112+4+4>>2]=0;c[Z+112+4+8>>2]=0;c[Z+112+4+12>>2]=0;c[Z+112+20>>2]=1065353216;c[Z+112+24>>2]=0;c[Z+112+24+4>>2]=0;c[Z+112+24+8>>2]=0;c[Z+112+24+12>>2]=0;c[Z+112+40>>2]=1065353216;c[H>>2]=0;c[H+4>>2]=0;c[H+8>>2]=0;c[H+12>>2]=0;c[H+16>>2]=0;C=+f[o+300>>2];B=+f[o+304>>2];A=+f[o+308>>2];n=c[o+28>>2]|0;z=C*+f[n+20>>2]+B*+f[n+24>>2]+A*+f[n+28>>2]+ +f[n+56>>2];y=C*+f[n+36>>2]+B*+f[n+40>>2]+A*+f[n+44>>2]+ +f[n+60>>2];f[Z+112+48>>2]=C*+f[n+4>>2]+B*+f[n+8>>2]+A*+f[n+12>>2]+ +f[n+52>>2];f[Z+112+52>>2]=z;f[Z+112+56>>2]=y;f[Z+112+60>>2]=0.0;n=eb[c[(c[b>>2]|0)+20>>2]&255](b)|0;wb[c[(c[n>>2]|0)+56>>2]&31](n,Z+112|0,D);y=+f[o+316>>2];z=+f[o+320>>2];A=+f[o+324>>2];o=c[o+32>>2]|0;B=y*+f[o+20>>2]+z*+f[o+24>>2]+A*+f[o+28>>2]+ +f[o+56>>2];C=y*+f[o+36>>2]+z*+f[o+40>>2]+A*+f[o+44>>2]+ +f[o+60>>2];f[Z+112+48>>2]=y*+f[o+4>>2]+z*+f[o+8>>2]+A*+f[o+12>>2]+ +f[o+52>>2];f[Z+112+52>>2]=B;f[Z+112+56>>2]=C;f[Z+112+60>>2]=0.0;if(e){o=eb[c[(c[b>>2]|0)+20>>2]&255](b)|0;wb[c[(c[o>>2]|0)+56>>2]&31](o,Z+112|0,D)}break a}case 4:{m=c[o+28>>2]|0;g=+f[o+552>>2];da=+f[m+4>>2];i=+f[o+552+16>>2];ca=+f[m+8>>2];j=+f[o+552+32>>2];ba=+f[m+12>>2];p=+f[o+552+4>>2];q=+f[o+552+20>>2];r=+f[o+552+36>>2];s=+f[o+552+8>>2];w=+f[o+552+24>>2];y=+f[o+552+40>>2];aa=+f[m+20>>2];$=+f[m+24>>2];_=+f[m+28>>2];t=+f[m+36>>2];x=+f[m+40>>2];z=+f[m+44>>2];fa=+f[o+552+48>>2];ea=+f[o+552+52>>2];C=+f[o+552+56>>2];A=+f[m+52>>2]+(da*fa+ca*ea+ba*C);B=aa*fa+$*ea+_*C+ +f[m+56>>2];C=t*fa+x*ea+z*C+ +f[m+60>>2];f[Z+112>>2]=g*da+i*ca+j*ba;f[Z+112+4>>2]=da*p+ca*q+ba*r;f[Z+112+8>>2]=da*s+ca*w+ba*y;f[Z+112+12>>2]=0.0;f[Z+112+16>>2]=g*aa+i*$+j*_;f[Z+112+20>>2]=p*aa+q*$+r*_;f[Z+112+24>>2]=s*aa+w*$+y*_;f[Z+112+28>>2]=0.0;f[Z+112+32>>2]=g*t+i*x+j*z;f[Z+112+36>>2]=p*t+q*x+r*z;f[Z+112+40>>2]=s*t+w*x+y*z;f[Z+112+44>>2]=0.0;f[Z+112+48>>2]=A;f[Z+112+52>>2]=B;f[Z+112+56>>2]=C;f[Z+112+60>>2]=0.0;if(e){m=eb[c[(c[b>>2]|0)+20>>2]&255](b)|0;wb[c[(c[m>>2]|0)+56>>2]&31](m,Z+112|0,D);m=c[o+32>>2]|0;w=+f[o+616>>2];j=+f[m+4>>2];x=+f[o+616+16>>2];p=+f[m+8>>2];y=+f[o+616+32>>2];q=+f[m+12>>2];z=+f[o+616+4>>2];A=+f[o+616+20>>2];B=+f[o+616+36>>2];C=+f[o+616+8>>2];$=+f[o+616+24>>2];ba=+f[o+616+40>>2];r=+f[m+20>>2];s=+f[m+24>>2];t=+f[m+28>>2];_=+f[m+36>>2];aa=+f[m+40>>2];ca=+f[m+44>>2];g=+f[o+616+48>>2];i=+f[o+616+52>>2];fa=+f[o+616+56>>2];da=+f[m+52>>2]+(j*g+p*i+q*fa);ea=r*g+s*i+t*fa+ +f[m+56>>2];fa=_*g+aa*i+ca*fa+ +f[m+60>>2];f[Z+112>>2]=w*j+x*p+y*q;f[Z+112+4>>2]=j*z+p*A+q*B;f[Z+112+8>>2]=j*C+p*$+q*ba;f[Z+112+12>>2]=0.0;f[Z+112+16>>2]=w*r+x*s+y*t;f[Z+112+20>>2]=z*r+A*s+B*t;f[Z+112+24>>2]=C*r+$*s+ba*t;f[Z+112+28>>2]=0.0;f[Z+112+32>>2]=w*_+x*aa+y*ca;f[Z+112+36>>2]=z*_+A*aa+B*ca;f[Z+112+40>>2]=C*_+$*aa+ba*ca;f[Z+112+44>>2]=0.0;f[Z+112+48>>2]=da;f[Z+112+52>>2]=ea;f[Z+112+56>>2]=fa;f[Z+112+60>>2]=0.0;m=eb[c[(c[b>>2]|0)+20>>2]&255](b)|0;wb[c[(c[m>>2]|0)+56>>2]&31](m,Z+112|0,D)}else{m=c[o+32>>2]|0;w=+f[o+616>>2];j=+f[m+4>>2];x=+f[o+616+16>>2];p=+f[m+8>>2];y=+f[o+616+32>>2];q=+f[m+12>>2];z=+f[o+616+4>>2];A=+f[o+616+20>>2];B=+f[o+616+36>>2];C=+f[o+616+8>>2];$=+f[o+616+24>>2];ba=+f[o+616+40>>2];r=+f[m+20>>2];s=+f[m+24>>2];t=+f[m+28>>2];_=+f[m+36>>2];aa=+f[m+40>>2];ca=+f[m+44>>2];g=+f[o+616+48>>2];i=+f[o+616+52>>2];fa=+f[o+616+56>>2];da=+f[m+52>>2]+(j*g+p*i+q*fa);ea=r*g+s*i+t*fa+ +f[m+56>>2];fa=_*g+aa*i+ca*fa+ +f[m+60>>2];f[Z+112>>2]=w*j+x*p+y*q;f[Z+112+4>>2]=j*z+p*A+q*B;f[Z+112+8>>2]=j*C+p*$+q*ba;f[Z+112+12>>2]=0.0;f[Z+112+16>>2]=w*r+x*s+y*t;f[Z+112+20>>2]=z*r+A*s+B*t;f[Z+112+24>>2]=C*r+$*s+ba*t;f[Z+112+28>>2]=0.0;f[Z+112+32>>2]=w*_+x*aa+y*ca;f[Z+112+36>>2]=z*_+A*aa+B*ca;f[Z+112+40>>2]=C*_+$*aa+ba*ca;f[Z+112+44>>2]=0.0;f[Z+112+48>>2]=da;f[Z+112+52>>2]=ea;f[Z+112+56>>2]=fa;f[Z+112+60>>2]=0.0}i=+f[o+688>>2];g=+f[o+688+4>>2];if(!((i-g)%6.2831854820251465<-3.1415927410125732))if((i-g)%6.2831854820251465>3.1415927410125732)j=(i-g)%6.2831854820251465+-6.2831854820251465;else j=(i-g)%6.2831854820251465;else j=(i-g)%6.2831854820251465+6.2831854820251465;if(!((i+g)%6.2831854820251465<-3.1415927410125732))if((i+g)%6.2831854820251465>3.1415927410125732)g=(i+g)%6.2831854820251465+-6.2831854820251465;else g=(i+g)%6.2831854820251465;else g=(i+g)%6.2831854820251465+6.2831854820251465;if(!(j==g)?(K=j>g,n):0){c[Z+96>>2]=c[Z+112+8>>2];c[Z+96+4>>2]=c[Z+112+24>>2];c[Z+96+8>>2]=c[Z+112+40>>2];f[Z+96+12>>2]=0.0;c[Z+80>>2]=c[Z+112>>2];c[Z+80+4>>2]=c[Z+112+16>>2];c[Z+80+8>>2]=c[Z+112+32>>2];f[Z+80+12>>2]=0.0;o=eb[c[(c[b>>2]|0)+20>>2]&255](b)|0;n=c[(c[o>>2]|0)+60>>2]|0;c[Z+64>>2]=0;c[Z+64+4>>2]=0;c[Z+64+8>>2]=0;c[Z+64+12>>2]=0;Fb[n&31](o,Z+112+48|0,Z+96|0,Z+80|0,D,D,K?0.0:j,K?6.2831854820251465:g,Z+64|0,K^1,10.0)}break a}case 5:{m=c[o+28>>2]|0;w=+f[o+300>>2];j=+f[m+4>>2];x=+f[o+300+16>>2];p=+f[m+8>>2];y=+f[o+300+32>>2];q=+f[m+12>>2];z=+f[o+300+4>>2];A=+f[o+300+20>>2];B=+f[o+300+36>>2];C=+f[o+300+8>>2];$=+f[o+300+24>>2];ba=+f[o+300+40>>2];r=+f[m+20>>2];s=+f[m+24>>2];t=+f[m+28>>2];_=+f[m+36>>2];aa=+f[m+40>>2];ca=+f[m+44>>2];g=+f[o+300+48>>2];i=+f[o+300+52>>2];fa=+f[o+300+56>>2];da=+f[m+52>>2]+(j*g+p*i+q*fa);ea=r*g+s*i+t*fa+ +f[m+56>>2];fa=_*g+aa*i+ca*fa+ +f[m+60>>2];f[Z+112>>2]=w*j+x*p+y*q;f[S>>2]=j*z+p*A+q*B;f[T>>2]=j*C+p*$+q*ba;f[Z+112+12>>2]=0.0;f[U>>2]=w*r+x*s+y*t;f[V>>2]=z*r+A*s+B*t;f[O>>2]=C*r+$*s+ba*t;f[Z+112+28>>2]=0.0;f[P>>2]=w*_+x*aa+y*ca;f[Q>>2]=z*_+A*aa+B*ca;f[R>>2]=C*_+$*aa+ba*ca;f[Z+112+44>>2]=0.0;f[W>>2]=da;f[X>>2]=ea;f[Y>>2]=fa;f[Z+112+60>>2]=0.0;if(e){m=eb[c[(c[b>>2]|0)+20>>2]&255](b)|0;wb[c[(c[m>>2]|0)+56>>2]&31](m,Z+112|0,D);m=c[o+32>>2]|0;w=+f[o+364>>2];j=+f[m+4>>2];x=+f[o+364+16>>2];p=+f[m+8>>2];y=+f[o+364+32>>2];q=+f[m+12>>2];z=+f[o+364+4>>2];A=+f[o+364+20>>2];B=+f[o+364+36>>2];C=+f[o+364+8>>2];$=+f[o+364+24>>2];ba=+f[o+364+40>>2];r=+f[m+20>>2];s=+f[m+24>>2];t=+f[m+28>>2];_=+f[m+36>>2];aa=+f[m+40>>2];ca=+f[m+44>>2];g=+f[o+364+48>>2];i=+f[o+364+52>>2];fa=+f[o+364+56>>2];da=+f[m+52>>2]+(j*g+p*i+q*fa);ea=r*g+s*i+t*fa+ +f[m+56>>2];fa=_*g+aa*i+ca*fa+ +f[m+60>>2];f[Z+112>>2]=w*j+x*p+y*q;f[S>>2]=j*z+p*A+q*B;f[T>>2]=j*C+p*$+q*ba;f[Z+112+12>>2]=0.0;f[U>>2]=w*r+x*s+y*t;f[V>>2]=z*r+A*s+B*t;f[O>>2]=C*r+$*s+ba*t;f[Z+112+28>>2]=0.0;f[P>>2]=w*_+x*aa+y*ca;f[Q>>2]=z*_+A*aa+B*ca;f[R>>2]=C*_+$*aa+ba*ca;f[Z+112+44>>2]=0.0;f[W>>2]=da;f[X>>2]=ea;f[Y>>2]=fa;f[Z+112+60>>2]=0.0;m=eb[c[(c[b>>2]|0)+20>>2]&255](b)|0;wb[c[(c[m>>2]|0)+56>>2]&31](m,Z+112|0,D)}else{m=c[o+32>>2]|0;w=+f[o+364>>2];j=+f[m+4>>2];x=+f[o+364+16>>2];p=+f[m+8>>2];y=+f[o+364+32>>2];q=+f[m+12>>2];z=+f[o+364+4>>2];A=+f[o+364+20>>2];B=+f[o+364+36>>2];C=+f[o+364+8>>2];$=+f[o+364+24>>2];ba=+f[o+364+40>>2];r=+f[m+20>>2];s=+f[m+24>>2];t=+f[m+28>>2];_=+f[m+36>>2];aa=+f[m+40>>2];ca=+f[m+44>>2];g=+f[o+364+48>>2];i=+f[o+364+52>>2];fa=+f[o+364+56>>2];da=+f[m+52>>2]+(j*g+p*i+q*fa);ea=r*g+s*i+t*fa+ +f[m+56>>2];fa=_*g+aa*i+ca*fa+ +f[m+60>>2];f[Z+112>>2]=w*j+x*p+y*q;f[S>>2]=j*z+p*A+q*B;f[T>>2]=j*C+p*$+q*ba;f[Z+112+12>>2]=0.0;f[U>>2]=w*r+x*s+y*t;f[V>>2]=z*r+A*s+B*t;f[O>>2]=C*r+$*s+ba*t;f[Z+112+28>>2]=0.0;f[P>>2]=w*_+x*aa+y*ca;f[Q>>2]=z*_+A*aa+B*ca;f[R>>2]=C*_+$*aa+ba*ca;f[Z+112+44>>2]=0.0;f[W>>2]=da;f[X>>2]=ea;f[Y>>2]=fa;f[Z+112+60>>2]=0.0}if(n){Lk(Z+96|0,o,6.0868353843688965,D);ba=+f[Z+96>>2];ca=+f[Z+96+4>>2];da=+f[Z+96+8>>2];ea=ba*+f[U>>2]+ca*+f[V>>2]+da*+f[O>>2]+ +f[X>>2];fa=ba*+f[P>>2]+ca*+f[Q>>2]+da*+f[R>>2]+ +f[Y>>2];f[Z+96>>2]=ba*+f[Z+112>>2]+ca*+f[S>>2]+da*+f[T>>2]+ +f[W>>2];f[Z+96+4>>2]=ea;f[Z+96+8>>2]=fa;f[Z+96+12>>2]=0.0;e=0;do{Lk(Z+80|0,o,+(e|0)*6.283185005187988*.03125,D);ba=+f[Z+80>>2];ca=+f[Z+80+4>>2];da=+f[Z+80+8>>2];ea=ba*+f[U>>2]+ca*+f[V>>2]+da*+f[O>>2]+ +f[X>>2];fa=ba*+f[P>>2]+ca*+f[Q>>2]+da*+f[R>>2]+ +f[Y>>2];f[Z+80>>2]=ba*+f[Z+112>>2]+ca*+f[S>>2]+da*+f[T>>2]+ +f[W>>2];f[Z+80+4>>2]=ea;f[Z+80+8>>2]=fa;f[Z+80+12>>2]=0.0;n=eb[c[(c[b>>2]|0)+20>>2]&255](b)|0;m=c[(c[n>>2]|0)+8>>2]|0;c[Z+64>>2]=0;c[Z+64+4>>2]=0;c[Z+64+8>>2]=0;c[Z+64+12>>2]=0;Cb[m&127](n,Z+96|0,Z+80|0,Z+64|0);if(!(e&3)){n=eb[c[(c[b>>2]|0)+20>>2]&255](b)|0;m=c[(c[n>>2]|0)+8>>2]|0;c[Z+64>>2]=0;c[Z+64+4>>2]=0;c[Z+64+8>>2]=0;c[Z+64+12>>2]=0;Cb[m&127](n,N,Z+80|0,Z+64|0)}c[Z+96>>2]=c[Z+80>>2];c[Z+96+4>>2]=c[Z+80+4>>2];c[Z+96+8>>2]=c[Z+80+8>>2];c[Z+96+12>>2]=c[Z+80+12>>2];e=e+1|0}while((e|0)!=32);B=+f[o+452>>2];C=+f[o+512>>2];e=c[o+32>>2]|0;if(+f[e+344>>2]>0.0){ba=+f[o+364>>2];ca=+f[e+4>>2];da=+f[o+364+16>>2];ea=+f[e+8>>2];fa=+f[o+364+32>>2];A=+f[e+12>>2];$=+f[o+364+4>>2];aa=+f[o+364+20>>2];z=+f[o+364+36>>2];ga=+f[o+364+8>>2];_=+f[o+364+24>>2];y=+f[o+364+40>>2];ia=+f[e+20>>2];ha=+f[e+24>>2];x=+f[e+28>>2];w=+f[e+36>>2];t=+f[e+40>>2];s=+f[e+44>>2];q=+f[o+364+48>>2];j=+f[o+364+52>>2];p=+f[o+364+56>>2];g=w*q+t*j;i=ca*q+ea*j+A*p;j=ia*q+ha*j+x*p;p=s*p;q=ga*w+_*t+y*s;r=$*w+aa*t+z*s;s=ba*w+da*t+fa*s;t=ga*ia+_*ha+y*x;w=$*ia+aa*ha+z*x;x=ba*ia+da*ha+fa*x;y=ca*ga+ea*_+A*y;z=ca*$+ea*aa+A*z;A=ba*ca+da*ea+fa*A}else{e=c[o+28>>2]|0;ea=+f[o+300>>2];fa=+f[e+4>>2];ga=+f[o+300+16>>2];ha=+f[e+8>>2];ia=+f[o+300+32>>2];A=+f[e+12>>2];ca=+f[o+300+4>>2];da=+f[o+300+20>>2];z=+f[o+300+36>>2];aa=+f[o+300+8>>2];ba=+f[o+300+24>>2];y=+f[o+300+40>>2];_=+f[e+20>>2];$=+f[e+24>>2];x=+f[e+28>>2];w=+f[e+36>>2];t=+f[e+40>>2];s=+f[e+44>>2];q=+f[o+300+48>>2];j=+f[o+300+52>>2];p=+f[o+300+56>>2];g=w*q+t*j;i=fa*q+ha*j+A*p;j=_*q+$*j+x*p;p=s*p;q=aa*w+ba*t+y*s;r=ca*w+da*t+z*s;s=ea*w+ga*t+ia*s;t=aa*_+ba*$+y*x;w=ca*_+da*$+z*x;x=ea*_+ga*$+ia*x;y=fa*aa+ha*ba+A*y;z=fa*ca+ha*da+A*z;A=ea*fa+ga*ha+ia*A}ga=+f[e+52>>2]+i;ha=j+ +f[e+56>>2];ia=g+p+ +f[e+60>>2];f[Z+112>>2]=A;f[S>>2]=z;f[T>>2]=y;f[Z+112+12>>2]=0.0;f[U>>2]=x;f[V>>2]=w;f[O>>2]=t;f[Z+112+28>>2]=0.0;f[P>>2]=s;f[Q>>2]=r;f[R>>2]=q;f[Z+112+44>>2]=0.0;f[W>>2]=ga;f[X>>2]=ha;f[Y>>2]=ia;f[Z+112+60>>2]=0.0;c[Z+80>>2]=c[N>>2];c[Z+80+4>>2]=c[N+4>>2];c[Z+80+8>>2]=c[N+8>>2];c[Z+80+12>>2]=c[N+12>>2];f[Z+64>>2]=A;f[Z+64+4>>2]=x;f[Z+64+8>>2]=s;f[Z+64+12>>2]=0.0;f[Z+48>>2]=z;f[Z+48+4>>2]=w;f[Z+48+8>>2]=r;f[Z+48+12>>2]=0.0;o=eb[c[(c[b>>2]|0)+20>>2]&255](b)|0;n=c[(c[o>>2]|0)+60>>2]|0;c[Z+32>>2]=0;c[Z+32+4>>2]=0;c[Z+32+8>>2]=0;c[Z+32+12>>2]=0;Fb[n&31](o,Z+80|0,Z+64|0,Z+48|0,D,D,-C-B,B-C,Z+32|0,1,10.0)}break a}case 6:case 9:{c[Z+112>>2]=c[o+1064>>2];c[Z+112+4>>2]=c[o+1064+4>>2];c[Z+112+8>>2]=c[o+1064+8>>2];c[Z+112+12>>2]=c[o+1064+12>>2];l=o+1064+16|0;c[J>>2]=c[l>>2];c[J+4>>2]=c[l+4>>2];c[J+8>>2]=c[l+8>>2];c[J+12>>2]=c[l+12>>2];k=o+1064+32|0;c[G>>2]=c[k>>2];c[G+4>>2]=c[k+4>>2];c[G+8>>2]=c[k+8>>2];c[G+12>>2]=c[k+12>>2];m=o+1064+48|0;c[M>>2]=c[m>>2];c[M+4>>2]=c[m+4>>2];c[M+8>>2]=c[m+8>>2];c[M+12>>2]=c[m+12>>2];if(e){e=eb[c[(c[b>>2]|0)+20>>2]&255](b)|0;wb[c[(c[e>>2]|0)+56>>2]&31](e,Z+112|0,D);c[Z+112>>2]=c[o+1128>>2];c[Z+112+4>>2]=c[o+1128+4>>2];c[Z+112+8>>2]=c[o+1128+8>>2];c[Z+112+12>>2]=c[o+1128+12>>2];c[J>>2]=c[o+1128+16>>2];c[J+4>>2]=c[o+1128+16+4>>2];c[J+8>>2]=c[o+1128+16+8>>2];c[J+12>>2]=c[o+1128+16+12>>2];c[G>>2]=c[o+1128+32>>2];c[G+4>>2]=c[o+1128+32+4>>2];c[G+8>>2]=c[o+1128+32+8>>2];c[G+12>>2]=c[o+1128+32+12>>2];c[M>>2]=c[o+1128+48>>2];c[M+4>>2]=c[o+1128+48+4>>2];c[M+8>>2]=c[o+1128+48+8>>2];c[M+12>>2]=c[o+1128+48+12>>2];e=eb[c[(c[b>>2]|0)+20>>2]&255](b)|0;wb[c[(c[e>>2]|0)+56>>2]&31](e,Z+112|0,D)}else{c[Z+112>>2]=c[o+1128>>2];c[Z+112+4>>2]=c[o+1128+4>>2];c[Z+112+8>>2]=c[o+1128+8>>2];c[Z+112+12>>2]=c[o+1128+12>>2];c[J>>2]=c[o+1128+16>>2];c[J+4>>2]=c[o+1128+16+4>>2];c[J+8>>2]=c[o+1128+16+8>>2];c[J+12>>2]=c[o+1128+16+12>>2];c[G>>2]=c[o+1128+32>>2];c[G+4>>2]=c[o+1128+32+4>>2];c[G+8>>2]=c[o+1128+32+8>>2];c[G+12>>2]=c[o+1128+32+12>>2];c[M>>2]=c[o+1128+48>>2];c[M+4>>2]=c[o+1128+48+4>>2];c[M+8>>2]=c[o+1128+48+8>>2];c[M+12>>2]=c[o+1128+48+12>>2]}if(n){c[Z+112>>2]=c[o+1064>>2];c[Z+112+4>>2]=c[o+1064+4>>2];c[Z+112+8>>2]=c[o+1064+8>>2];c[Z+112+12>>2]=c[o+1064+12>>2];c[J>>2]=c[l>>2];c[J+4>>2]=c[l+4>>2];c[J+8>>2]=c[l+8>>2];c[J+12>>2]=c[l+12>>2];c[G>>2]=c[k>>2];c[G+4>>2]=c[k+4>>2];c[G+8>>2]=c[k+8>>2];c[G+12>>2]=c[k+12>>2];c[M>>2]=c[m>>2];c[M+4>>2]=c[m+4>>2];c[M+8>>2]=c[m+8>>2];c[M+12>>2]=c[m+12>>2];e=o+1128+48|0;c[Z+96>>2]=c[Z+112+8>>2];c[Z+96+4>>2]=c[Z+112+24>>2];c[Z+96+8>>2]=c[Z+112+40>>2];f[Z+96+12>>2]=0.0;c[Z+80>>2]=c[Z+112>>2];c[Z+80+4>>2]=c[Z+112+16>>2];c[Z+80+8>>2]=c[Z+112+32>>2];f[Z+80+12>>2]=0.0;ea=+f[o+932>>2];g=+f[o+932+4>>2];ha=+f[o+996>>2];ga=+f[o+996+4>>2];ja=eb[c[(c[b>>2]|0)+20>>2]&255](b)|0;n=c[(c[ja>>2]|0)+64>>2]|0;c[Z+64>>2]=0;c[Z+64+4>>2]=0;c[Z+64+8>>2]=0;c[Z+64+12>>2]=0;Eb[n&31](ja,e,Z+96|0,Z+80|0,D*.8999999761581421,ea,g,ha,ga,Z+64|0,10.0,1);ja=c[Z+112+20>>2]|0;n=c[Z+112+36>>2]|0;c[Z+80>>2]=c[Z+112+4>>2];c[Z+80+4>>2]=ja;c[Z+80+8>>2]=n;f[Z+80+12>>2]=0.0;ga=+f[o+1196>>2];ha=+f[o+1200>>2];g=+u(+ga);ga=+v(+ga);ea=+u(+ha);ha=+v(+ha);fa=+f[Z+80>>2];ia=+f[Z+80+4>>2];i=+f[Z+80+8>>2];f[Z+64>>2]=g*ea*fa+g*ha*ia-ga*i;f[Z+64+4>>2]=ea*ia-ha*fa;f[Z+64+8>>2]=ga*ea*fa+ga*ha*ia+g*i;c[Z+112>>2]=c[o+1128>>2];c[Z+112+4>>2]=c[o+1128+4>>2];c[Z+112+8>>2]=c[o+1128+8>>2];c[Z+112+12>>2]=c[o+1128+12>>2];c[J>>2]=c[o+1128+16>>2];c[J+4>>2]=c[o+1128+16+4>>2];c[J+8>>2]=c[o+1128+16+8>>2];c[J+12>>2]=c[o+1128+16+12>>2];c[G>>2]=c[o+1128+32>>2];c[G+4>>2]=c[o+1128+32+4>>2];c[G+8>>2]=c[o+1128+32+8>>2];c[G+12>>2]=c[o+1128+32+12>>2];c[M>>2]=c[e>>2];c[M+4>>2]=c[e+4>>2];c[M+8>>2]=c[e+8>>2];c[M+12>>2]=c[e+12>>2];i=-+f[Z+112+16>>2];g=-+f[Z+112+32>>2];f[Z+48>>2]=-+f[Z+112>>2];f[Z+48+4>>2]=i;f[Z+48+8>>2]=g;f[Z+48+12>>2]=0.0;g=+f[o+868>>2];i=+f[o+868+4>>2];if(!(g>i)){if(g>2]|0)+20>>2]&255](b)|0;n=c[(c[ja>>2]|0)+60>>2]|0;c[Z+32>>2]=0;c[Z+32+4>>2]=0;c[Z+32+8>>2]=0;c[Z+32+12>>2]=0;Fb[n&31](ja,e,Z+48|0,Z+64|0,D,D,g,i,Z+32|0,1,10.0)}}else{ja=eb[c[(c[b>>2]|0)+20>>2]&255](b)|0;n=c[(c[ja>>2]|0)+60>>2]|0;c[Z+32>>2]=0;c[Z+32+4>>2]=0;c[Z+32+8>>2]=0;c[Z+32+12>>2]=0;Fb[n&31](ja,e,Z+48|0,Z+64|0,D,D,-3.1415927410125732,3.1415927410125732,Z+32|0,0,10.0)}c[Z+112>>2]=c[o+1064>>2];c[Z+112+4>>2]=c[o+1064+4>>2];c[Z+112+8>>2]=c[o+1064+8>>2];c[Z+112+12>>2]=c[o+1064+12>>2];c[J>>2]=c[l>>2];c[J+4>>2]=c[l+4>>2];c[J+8>>2]=c[l+8>>2];c[J+12>>2]=c[l+12>>2];c[G>>2]=c[k>>2];c[G+4>>2]=c[k+4>>2];c[G+8>>2]=c[k+8>>2];c[G+12>>2]=c[k+12>>2];c[M>>2]=c[m>>2];c[M+4>>2]=c[m+4>>2];c[M+8>>2]=c[m+8>>2];c[M+12>>2]=c[m+12>>2];c[Z+32>>2]=c[o+680>>2];c[Z+32+4>>2]=c[o+680+4>>2];c[Z+32+8>>2]=c[o+680+8>>2];c[Z+32+12>>2]=c[o+680+12>>2];c[Z+16>>2]=c[o+680+16>>2];c[Z+16+4>>2]=c[o+680+16+4>>2];c[Z+16+8>>2]=c[o+680+16+8>>2];c[Z+16+12>>2]=c[o+680+16+12>>2];ja=eb[c[(c[b>>2]|0)+20>>2]&255](b)|0;o=c[(c[ja>>2]|0)+72>>2]|0;c[Z>>2]=0;c[Z+4>>2]=0;c[Z+8>>2]=0;c[Z+12>>2]=0;Gb[o&63](ja,Z+32|0,Z+16|0,Z+112|0,Z)}break a}case 7:{c[Z+112>>2]=c[o+824>>2];c[Z+112+4>>2]=c[o+824+4>>2];c[Z+112+8>>2]=c[o+824+8>>2];c[Z+112+12>>2]=c[o+824+12>>2];c[I>>2]=c[o+824+16>>2];c[I+4>>2]=c[o+824+16+4>>2];c[I+8>>2]=c[o+824+16+8>>2];c[I+12>>2]=c[o+824+16+12>>2];c[F>>2]=c[o+824+32>>2];c[F+4>>2]=c[o+824+32+4>>2];c[F+8>>2]=c[o+824+32+8>>2];c[F+12>>2]=c[o+824+32+12>>2];c[L>>2]=c[o+824+48>>2];c[L+4>>2]=c[o+824+48+4>>2];c[L+8>>2]=c[o+824+48+8>>2];c[L+12>>2]=c[o+824+48+12>>2];if(e){ja=eb[c[(c[b>>2]|0)+20>>2]&255](b)|0;wb[c[(c[ja>>2]|0)+56>>2]&31](ja,Z+112|0,D);c[Z+112>>2]=c[o+888>>2];c[Z+112+4>>2]=c[o+888+4>>2];c[Z+112+8>>2]=c[o+888+8>>2];c[Z+112+12>>2]=c[o+888+12>>2];c[I>>2]=c[o+888+16>>2];c[I+4>>2]=c[o+888+16+4>>2];c[I+8>>2]=c[o+888+16+8>>2];c[I+12>>2]=c[o+888+16+12>>2];c[F>>2]=c[o+888+32>>2];c[F+4>>2]=c[o+888+32+4>>2];c[F+8>>2]=c[o+888+32+8>>2];c[F+12>>2]=c[o+888+32+12>>2];c[L>>2]=c[o+888+48>>2];c[L+4>>2]=c[o+888+48+4>>2];c[L+8>>2]=c[o+888+48+8>>2];c[L+12>>2]=c[o+888+48+12>>2];ja=eb[c[(c[b>>2]|0)+20>>2]&255](b)|0;wb[c[(c[ja>>2]|0)+56>>2]&31](ja,Z+112|0,D)}else{c[Z+112>>2]=c[o+888>>2];c[Z+112+4>>2]=c[o+888+4>>2];c[Z+112+8>>2]=c[o+888+8>>2];c[Z+112+12>>2]=c[o+888+12>>2];c[I>>2]=c[o+888+16>>2];c[I+4>>2]=c[o+888+16+4>>2];c[I+8>>2]=c[o+888+16+8>>2];c[I+12>>2]=c[o+888+16+12>>2];c[F>>2]=c[o+888+32>>2];c[F+4>>2]=c[o+888+32+4>>2];c[F+8>>2]=c[o+888+32+8>>2];c[F+12>>2]=c[o+888+32+12>>2];c[L>>2]=c[o+888+48>>2];c[L+4>>2]=c[o+888+48+4>>2];c[L+8>>2]=c[o+888+48+8>>2];c[L+12>>2]=c[o+888+48+12>>2]}if(n){ka=(a[o+180>>0]|0)==0?o+888|0:o+824|0;e=c[ka>>2]|0;m=c[ka+4>>2]|0;k=c[ka+16>>2]|0;n=c[ka+20>>2]|0;l=c[ka+32>>2]|0;ja=c[ka+36>>2]|0;B=+f[ka+48>>2];aa=+f[ka+52>>2];ea=+f[ka+56>>2];ia=+f[o+184>>2];$=(c[h>>2]=e,+f[h>>2]);_=(c[h>>2]=m,+f[h>>2])*0.0;C=+f[ka+8>>2]*0.0;da=(c[h>>2]=k,+f[h>>2]);ca=(c[h>>2]=n,+f[h>>2])*0.0;ba=+f[ka+24>>2]*0.0;ha=(c[h>>2]=l,+f[h>>2]);ga=(c[h>>2]=ja,+f[h>>2])*0.0;fa=+f[ka+40>>2]*0.0;f[Z+96>>2]=B+(C+(_+ia*$));f[Z+96+4>>2]=aa+(ba+(ca+ia*da));f[Z+96+8>>2]=ea+(fa+(ga+ia*ha));f[Z+96+12>>2]=0.0;ia=+f[o+188>>2];f[Z+80>>2]=B+(C+(_+ia*$));f[Z+80+4>>2]=aa+(ba+(ca+ia*da));f[Z+80+8>>2]=ea+(fa+(ga+ia*ha));f[Z+80+12>>2]=0.0;ka=eb[c[(c[b>>2]|0)+20>>2]&255](b)|0;la=c[(c[ka>>2]|0)+8>>2]|0;c[Z+64>>2]=0;c[Z+64+4>>2]=0;c[Z+64+8>>2]=0;c[Z+64+12>>2]=0;Cb[la&127](ka,Z+96|0,Z+80|0,Z+64|0);c[Z+64>>2]=e;c[Z+64+4>>2]=k;c[Z+64+8>>2]=l;f[Z+64+12>>2]=0.0;c[Z+48>>2]=m;c[Z+48+4>>2]=n;c[Z+48+8>>2]=ja;f[Z+48+12>>2]=0.0;ha=+f[o+192>>2];ia=+f[o+196>>2];ja=eb[c[(c[b>>2]|0)+20>>2]&255](b)|0;n=c[(c[ja>>2]|0)+60>>2]|0;c[Z+32>>2]=0;c[Z+32+4>>2]=0;c[Z+32+8>>2]=0;c[Z+32+12>>2]=0;Fb[n&31](ja,o+888+48|0,Z+64|0,Z+48|0,D,D,ha,ia,Z+32|0,1,10.0)}break a}default:break a}while(0)}while((E|0)>1)}if((((eb[c[(c[b>>2]|0)+20>>2]&255](b)|0?(la=eb[c[(c[b>>2]|0)+20>>2]&255](b)|0,(eb[c[(c[la>>2]|0)+48>>2]&255](la)|0)&16387|0):0)?eb[c[(c[b>>2]|0)+20>>2]&255](b)|0:0)?(la=eb[c[(c[b>>2]|0)+20>>2]&255](b)|0,eb[c[(c[la>>2]|0)+48>>2]&255](la)|0):0)?(c[b+280>>2]|0)>0:0){d=0;do{la=c[(c[b+288>>2]|0)+(d<<2)>>2]|0;vb[c[(c[la>>2]|0)+12>>2]&255](la,c[b+72>>2]|0);d=d+1|0}while((d|0)<(c[b+280>>2]|0))}d=c[2760]|0;la=(c[d+16>>2]|0)+-1|0;c[d+16>>2]=la;if(la|0){Ta=Z;return}do if(c[d+4>>2]|0){Pa(Z+112|0,0)|0;la=c[6878]|0;f[d+8>>2]=+f[d+8>>2]+ +(((c[Z+112+4>>2]|0)-(c[la+4>>2]|0)+(((c[Z+112>>2]|0)-(c[la>>2]|0)|0)*1e6|0)-(c[d+12>>2]|0)|0)>>>0)/1.0e3;if(!(c[d+16>>2]|0)){d=c[2760]|0;break}else{Ta=Z;return}}while(0);c[2760]=c[d+20>>2];Ta=Z;return}function Ub(b,d){b=b|0;d=+d;var e=0,g=0,i=0,j=0.0,k=0.0,l=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,t=0.0,u=0.0,v=0,w=0.0,x=0.0,y=0,z=0,A=0,B=0.0,C=0.0,D=0.0,E=0.0,F=0,G=0,H=0,I=0,J=0,K=0,L=0.0,M=0.0,N=0.0,O=0,P=0,Q=0.0,R=0,S=0,T=0,U=0.0,V=0.0,W=0.0,X=0,Y=0.0,Z=0.0,_=0.0,$=0.0,aa=0.0,ba=0.0,ca=0.0,da=0.0,ea=0.0,fa=0.0,ga=0.0,ha=0.0,ia=0.0;X=Ta;Ta=Ta+240|0;e=c[b+24>>2]|0;if((e|0)<=0){Ta=X;return}T=X+128+76|0;R=X+80+16|0;S=X+80+32|0;G=0;do{F=c[(c[b+32>>2]|0)+(G<<2)>>2]|0;switch(c[F+216>>2]|0){case 2:case 5:break;default:{if(a[F+924>>0]|0){a[F+924>>0]=0;g=c[F+732>>2]|0;if((g|0)>0){i=c[F+740>>2]|0;e=0;do{z=c[i+(e*52|0)+8>>2]|0;A=c[i+(e*52|0)+12>>2]|0;C=+f[z+8>>2]-+f[A+8>>2];D=+f[z+12>>2]-+f[A+12>>2];E=+f[z+16>>2]-+f[A+16>>2];E=+s(+(C*C+D*D+E*E));f[i+(e*52|0)+16>>2]=E;f[i+(e*52|0)+28>>2]=E*E;e=e+1|0}while((e|0)!=(g|0));e=0;do{f[i+(e*52|0)+24>>2]=(+f[(c[i+(e*52|0)+8>>2]|0)+88>>2]+ +f[(c[i+(e*52|0)+12>>2]|0)+88>>2])/+f[(c[i+(e*52|0)+4>>2]|0)+4>>2];e=e+1|0}while((e|0)!=(g|0))}Sf(F);e=c[F+988>>2]|0;if(e|0)Dn(F+988|0,e);e=c[F+992>>2]|0;if(e|0){c[6880]=(c[6880]|0)+1;kd(c[e+-4>>2]|0)}c[F+992>>2]=0;c[F+996>>2]=-1;e=c[F+1020>>2]|0;if(e|0){if(a[F+1024>>0]|0){c[6880]=(c[6880]|0)+1;kd(c[e+-4>>2]|0)}c[F+1020>>2]=0}a[F+1024>>0]=1;c[F+1020>>2]=0;c[F+1012>>2]=0;c[F+1016>>2]=0;c[F+1004>>2]=0;if(c[F+388>>2]&16|0){e=c[F+988>>2]|0;if(e|0)Dn(F+988|0,e);e=c[F+992>>2]|0;if(e|0){c[6880]=(c[6880]|0)+1;kd(c[e+-4>>2]|0)}c[F+992>>2]=0;c[F+996>>2]=-1;e=c[F+1020>>2]|0;if(e|0){if(a[F+1024>>0]|0){c[6880]=(c[6880]|0)+1;kd(c[e+-4>>2]|0)}c[F+1020>>2]=0}a[F+1024>>0]=1;c[F+1020>>2]=0;c[F+1012>>2]=0;c[F+1016>>2]=0;c[F+1004>>2]=0;if((c[F+752>>2]|0)>0){v=0;do{g=c[F+760>>2]|0;i=g+(v*44|0)|0;z=c[g+(v*44|0)+8>>2]|0;A=c[g+(v*44|0)+12>>2]|0;e=c[g+(v*44|0)+16>>2]|0;j=+f[z+8>>2];l=+f[z+12>>2];k=+f[z+16>>2];p=+f[z+20>>2];B=+f[A+8>>2];m=B>2];q=E>2];n=D>2];o=C>2];m=C>2];q=D>2];n=E>2];o=B>2]|0;if(!e){c[6879]=(c[6879]|0)+1;e=Zb(63)|0;if(!e)e=0;else{c[(e+4+15&-16)+-4>>2]=e;e=e+4+15&-16}y=e;z=y+44|0;do{c[y>>2]=0;y=y+4|0}while((y|0)<(z|0))}else c[F+992>>2]=0;c[e+32>>2]=0;c[e+36>>2]=i;c[e+40>>2]=0;f[e>>2]=m;f[e+4>>2]=q;f[e+8>>2]=n;f[e+12>>2]=o;f[e+16>>2]=j;f[e+20>>2]=l;f[e+24>>2]=k;f[e+28>>2]=p;bf(F+988|0,c[F+988>>2]|0,e);c[F+1e3>>2]=(c[F+1e3>>2]|0)+1;c[g+(v*44|0)+40>>2]=e;v=v+1|0}while((v|0)<(c[F+752>>2]|0))}}}l=+f[F+368>>2]*d;f[F+452>>2]=l;f[F+456>>2]=1.0/l;f[F+460>>2]=l*3.0;e=c[F+192>>2]|0;l=+Wa[c[(c[e>>2]|0)+48>>2]&31](e);f[F+464>>2]=l;f[F+468>>2]=l*.25;e=c[F+684>>2]|0;l=+f[F+452>>2];j=+f[e+40>>2]*l;k=l*+f[e+44>>2];l=l*+f[e+48>>2];e=c[F+712>>2]|0;if((e|0)>0){g=c[F+720>>2]|0;i=0;do{if(+f[g+(i*104|0)+88>>2]>0.0){A=g+(i*104|0)+40|0;f[A>>2]=j+ +f[A>>2];A=g+(i*104|0)+44|0;f[A>>2]=k+ +f[A>>2];A=g+(i*104|0)+48|0;f[A>>2]=l+ +f[A>>2]}i=i+1|0}while((i|0)!=(e|0))}Aj(14069);n=+f[F+308>>2];o=+f[F+312>>2];v=+f[F+304>>2]>0.0?1:+f[F+300>>2]>0.0;y=c[F+712>>2]|0;if(n!=0.0|o>0.0){if((y|0)>0){e=c[F+720>>2]|0;k=+f[e+8>>2];l=+f[e+12>>2];m=+f[e+16>>2];e=c[F+752>>2]|0;if((e|0)>0){g=c[F+760>>2]|0;i=0;j=0.0;do{A=c[g+(i*44|0)+8>>2]|0;z=c[g+(i*44|0)+12>>2]|0;D=+f[z+8>>2]-k;w=+f[z+12>>2]-l;B=+f[z+16>>2]-m;z=c[g+(i*44|0)+16>>2]|0;C=+f[z+8>>2]-k;x=+f[z+12>>2]-l;E=+f[z+16>>2]-m;j=j+((+f[A+16>>2]-m)*(D*x-w*C)+((+f[A+8>>2]-k)*(w*E-B*x)+(+f[A+12>>2]-l)*(B*C-D*E)));i=i+1|0}while((i|0)!=(e|0))}else j=0.0;j=j/6.0}else j=0.0;k=n*(1.0/+r(+j));j=o*(+f[F+476>>2]-j)}else{j=0.0;k=0.0}if((y|0)>0)if(v){g=0;do{e=c[F+720>>2]|0;if(+f[e+(g*104|0)+88>>2]>0.0){Ae(F,F+1212|0,g);if(n!=0.0){C=k*+f[e+(g*104|0)+92>>2];D=C*+f[e+(g*104|0)+76>>2];E=C*+f[e+(g*104|0)+80>>2];A=e+(g*104|0)+56|0;f[A>>2]=+f[e+(g*104|0)+72>>2]*C+ +f[A>>2];A=e+(g*104|0)+60|0;f[A>>2]=D+ +f[A>>2];A=e+(g*104|0)+64|0;f[A>>2]=E+ +f[A>>2]}if(o>0.0){C=j*+f[e+(g*104|0)+92>>2];D=C*+f[e+(g*104|0)+76>>2];E=C*+f[e+(g*104|0)+80>>2];A=e+(g*104|0)+56|0;f[A>>2]=+f[e+(g*104|0)+72>>2]*C+ +f[A>>2];A=e+(g*104|0)+60|0;f[A>>2]=D+ +f[A>>2];A=e+(g*104|0)+64|0;f[A>>2]=E+ +f[A>>2]}}g=g+1|0}while((g|0)!=(y|0))}else{e=c[F+720>>2]|0;g=0;do{if(+f[e+(g*104|0)+88>>2]>0.0){if(n!=0.0){C=k*+f[e+(g*104|0)+92>>2];D=C*+f[e+(g*104|0)+76>>2];E=C*+f[e+(g*104|0)+80>>2];A=e+(g*104|0)+56|0;f[A>>2]=+f[e+(g*104|0)+72>>2]*C+ +f[A>>2];A=e+(g*104|0)+60|0;f[A>>2]=D+ +f[A>>2];A=e+(g*104|0)+64|0;f[A>>2]=E+ +f[A>>2]}if(o>0.0){C=j*+f[e+(g*104|0)+92>>2];D=C*+f[e+(g*104|0)+76>>2];E=C*+f[e+(g*104|0)+80>>2];A=e+(g*104|0)+56|0;f[A>>2]=+f[e+(g*104|0)+72>>2]*C+ +f[A>>2];A=e+(g*104|0)+60|0;f[A>>2]=D+ +f[A>>2];A=e+(g*104|0)+64|0;f[A>>2]=E+ +f[A>>2]}}g=g+1|0}while((g|0)!=(y|0))}e=c[F+752>>2]|0;if((e|0)>0){g=0;do{B=+f[F+452>>2];o=+f[F+304>>2];m=+f[F+300>>2];a:do if((o>0.0|m>0.0?(H=c[F+288>>2]|0,(H|0)>3):0)?(I=c[F+760>>2]|0,J=c[I+(g*44|0)+8>>2]|0,K=c[I+(g*44|0)+12>>2]|0,L=+f[J+40>>2],M=+f[J+44>>2],N=+f[J+48>>2],O=c[I+(g*44|0)+16>>2]|0,P=c[c[F+684>>2]>>2]|0,U=(L+ +f[K+40>>2]+ +f[O+40>>2])*.3333333432674408-+f[F+1212>>2],W=(M+ +f[K+44>>2]+ +f[O+44>>2])*.3333333432674408-+f[F+1216>>2],V=(N+ +f[K+48>>2]+ +f[O+48>>2])*.3333333432674408-+f[F+1220>>2],Q=+s(+(U*U+W*W+V*V)),U*U+W*W+V*V>1.1920928955078125e-07):0){u=U*(1.0/Q);w=W*(1.0/Q);x=V*(1.0/Q);p=+f[I+(g*44|0)+20>>2];q=+f[I+(g*44|0)+24>>2];t=+f[I+(g*44|0)+28>>2];switch(H|0){case 5:break;case 4:case 6:{j=U*p+W*q+V*t<0.0?-1.0:1.0;if(!(V*(t*j)+(U*(p*j)+W*(q*j))>0.0))break a;n=-((U*U+W*W+V*V)*((V*(t*j)+(U*(p*j)+W*(q*j)))*+f[I+(g*44|0)+36>>2])*(c[h>>2]=P,+f[h>>2]));u=(u*(m*n)+(p*j*(o*n)+0.0))*.3333333432674408;p=(w*(m*n)+(q*j*(o*n)+0.0))*.3333333432674408;o=(x*(m*n)+(t*j*(o*n)+0.0))*.3333333432674408;n=1.0/+s(+(o*o+(u*u+p*p)));j=B*+f[J+88>>2];if(o*j*(o*j)+(u*j*(u*j)+p*j*(p*j))>L*L+M*M+N*N){f[J+56>>2]=+f[J+56>>2]-1.0/j*(u*n*(u*n*L+p*n*M+o*n*N));f[J+60>>2]=+f[J+60>>2]-1.0/j*(p*n*(u*n*L+p*n*M+o*n*N));f[J+64>>2]=+f[J+64>>2]-1.0/j*(o*n*(u*n*L+p*n*M+o*n*N))}else{f[J+56>>2]=u+ +f[J+56>>2];f[J+60>>2]=p+ +f[J+60>>2];f[J+64>>2]=o+ +f[J+64>>2]}m=B*+f[K+88>>2];j=+f[K+40>>2];k=+f[K+44>>2];l=+f[K+48>>2];if(o*m*(o*m)+(u*m*(u*m)+p*m*(p*m))>j*j+k*k+l*l){f[K+56>>2]=+f[K+56>>2]-1.0/m*(u*n*(u*n*j+p*n*k+o*n*l));f[K+60>>2]=+f[K+60>>2]-1.0/m*(p*n*(u*n*j+p*n*k+o*n*l));f[K+64>>2]=+f[K+64>>2]-1.0/m*(o*n*(u*n*j+p*n*k+o*n*l))}else{f[K+56>>2]=u+ +f[K+56>>2];f[K+60>>2]=p+ +f[K+60>>2];f[K+64>>2]=o+ +f[K+64>>2]}m=B*+f[O+88>>2];j=+f[O+40>>2];k=+f[O+44>>2];l=+f[O+48>>2];if(o*m*(o*m)+(u*m*(u*m)+p*m*(p*m))>j*j+k*k+l*l){f[O+56>>2]=+f[O+56>>2]-1.0/m*(u*n*(u*n*j+p*n*k+o*n*l));f[O+60>>2]=+f[O+60>>2]-1.0/m*(p*n*(u*n*j+p*n*k+o*n*l));f[O+64>>2]=+f[O+64>>2]-1.0/m*(o*n*(u*n*j+p*n*k+o*n*l));break a}else{f[O+56>>2]=u+ +f[O+56>>2];f[O+60>>2]=p+ +f[O+60>>2];f[O+64>>2]=o+ +f[O+64>>2];break a}}default:break a}n=U*p+W*q+V*t<0.0?-1.0:1.0;k=x*(t*n)+(u*(p*n)+w*(q*n));l=+f[I+(g*44|0)+36>>2]*.5;j=(c[h>>2]=P,+f[h>>2]);m=k*((U*U+W*W+V*V)*(m*.5*j)*l);if(k>0.0&k<.9847999811172485){C=+s(+(1.0-k*k))*(o*.5*j*Q*l);D=(x*(u*(t*n)-x*(p*n))-w*(w*(p*n)-u*(q*n)))*C*.3333333432674408;E=(u*(w*(p*n)-u*(q*n))-x*(x*(q*n)-w*(t*n)))*C*.3333333432674408;C=(w*(x*(q*n)-w*(t*n))-u*(u*(t*n)-x*(p*n)))*C*.3333333432674408}else{D=0.0;E=0.0;C=0.0}j=+f[J+88>>2];if(j>0.0){j=x*m*-.3333333432674408*j*B*(x*m*-.3333333432674408*j*B)+(u*m*-.3333333432674408*j*B*(u*m*-.3333333432674408*j*B)+w*m*-.3333333432674408*j*B*(w*m*-.3333333432674408*j*B));if(j>0.0?j>=L*L+M*M+N*N:0){j=+s(+(L*L+M*M+N*N))/+s(+j)*.800000011920929;l=u*m*-.3333333432674408*j;k=w*m*-.3333333432674408*j;j=x*m*-.3333333432674408*j}else{l=u*m*-.3333333432674408;k=w*m*-.3333333432674408;j=x*m*-.3333333432674408}x=k+ +f[J+60>>2];B=j+ +f[J+64>>2];f[J+56>>2]=D+(l+ +f[J+56>>2]);f[J+60>>2]=E+x;f[J+64>>2]=C+B}else{l=u*m*-.3333333432674408;k=w*m*-.3333333432674408;j=x*m*-.3333333432674408}m=+f[K+88>>2];if(m>0.0){p=+f[F+452>>2];q=l*m*p;t=k*m*p;p=j*m*p;m=+f[K+40>>2];n=+f[K+44>>2];o=+f[K+48>>2];if(p*p+(q*q+t*t)>0.0?p*p+(q*q+t*t)>=m*m+n*n+o*o:0){B=+s(+(m*m+n*n+o*o))/+s(+(p*p+(q*q+t*t)))*.800000011920929;l=l*B;k=k*B;j=j*B}x=k+ +f[K+60>>2];B=j+ +f[K+64>>2];f[K+56>>2]=D+(l+ +f[K+56>>2]);f[K+60>>2]=E+x;f[K+64>>2]=C+B}m=+f[O+88>>2];if(m>0.0){p=+f[F+452>>2];q=l*m*p;t=k*m*p;p=j*m*p;m=+f[O+40>>2];n=+f[O+44>>2];o=+f[O+48>>2];if(p*p+(q*q+t*t)>0.0?p*p+(q*q+t*t)>=m*m+n*n+o*o:0){B=+s(+(m*m+n*n+o*o))/+s(+(p*p+(q*q+t*t)))*.800000011920929;l=l*B;k=k*B;j=j*B}x=k+ +f[O+60>>2];B=j+ +f[O+64>>2];f[O+56>>2]=D+(l+ +f[O+56>>2]);f[O+60>>2]=E+x;f[O+64>>2]=C+B}}while(0);g=g+1|0}while((g|0)!=(e|0))}e=c[2760]|0;A=(c[e+16>>2]|0)+-1|0;c[e+16>>2]=A;do if(!A){if(c[e+4>>2]|0){Pa(X+128|0,0)|0;A=c[6878]|0;f[e+8>>2]=+f[e+8>>2]+ +(((c[X+128+4>>2]|0)-(c[A+4>>2]|0)+(((c[X+128>>2]|0)-(c[A>>2]|0)|0)*1e6|0)-(c[e+12>>2]|0)|0)>>>0)/1.0e3;if(c[e+16>>2]|0)break;e=c[2760]|0}c[2760]=c[e+20>>2]}while(0);e=c[F+712>>2]|0;if((e|0)>0){g=0;do{z=c[F+720>>2]|0;y=z+(g*104|0)+8|0;A=z+(g*104|0)+24|0;c[A>>2]=c[y>>2];c[A+4>>2]=c[y+4>>2];c[A+8>>2]=c[y+8>>2];c[A+12>>2]=c[y+12>>2];A=z+(g*104|0)+56|0;D=+f[z+(g*104|0)+88>>2];E=+f[F+452>>2];B=+f[A>>2]*D*E;C=D*+f[z+(g*104|0)+60>>2]*E;D=E*(D*+f[z+(g*104|0)+64>>2]);E=+f[(c[F+684>>2]|0)+12>>2]/E;B=B>E?E:B;C=C>E?E:C;D=D>E?E:D;v=z+(g*104|0)+40|0;B=(B<-E?-E:B)+ +f[v>>2];f[v>>2]=B;v=z+(g*104|0)+44|0;C=(C<-E?-E:C)+ +f[v>>2];f[v>>2]=C;v=z+(g*104|0)+48|0;D=(D<-E?-E:D)+ +f[v>>2];f[v>>2]=D;E=+f[F+452>>2];f[y>>2]=B*E+ +f[y>>2];y=z+(g*104|0)+12|0;f[y>>2]=C*E+ +f[y>>2];z=z+(g*104|0)+16|0;f[z>>2]=D*E+ +f[z>>2];c[A>>2]=0;c[A+4>>2]=0;c[A+8>>2]=0;c[A+12>>2]=0;g=g+1|0}while((g|0)!=(e|0))}zc(F);e=c[F+928>>2]|0;if(e){A=c[F+192>>2]|0;C=+Wa[c[(c[A>>2]|0)+48>>2]&31](A);E=+f[e+4>>2]-C;D=+f[e+8>>2]-C;f[F+892>>2]=+f[e>>2]-C;f[F+896>>2]=E;f[F+900>>2]=D;f[F+904>>2]=0.0;D=C+ +f[e+20>>2];E=C+ +f[e+24>>2];f[F+908>>2]=C+ +f[e+16>>2];f[F+912>>2]=D;f[F+916>>2]=E;f[F+920>>2]=0.0;e=c[F+188>>2]|0;if(e|0){A=c[F+684>>2]|0;z=c[A+32>>2]|0;Gb[c[(c[z>>2]|0)+16>>2]&63](z,e,F+892|0,F+908|0,c[A+36>>2]|0)}}else{c[F+892>>2]=0;c[F+892+4>>2]=0;c[F+892+8>>2]=0;c[F+892+12>>2]=0;c[F+892+16>>2]=0;c[F+892+20>>2]=0;c[F+892+24>>2]=0;c[F+892+28>>2]=0}e=c[F+712>>2]|0;if((e|0)>0){g=0;do{z=c[F+720>>2]|0;D=+f[F+464>>2];B=+f[z+(g*104|0)+8>>2];E=+f[z+(g*104|0)+12>>2];C=+f[z+(g*104|0)+16>>2];f[X>>2]=B-D;f[X+4>>2]=E-D;f[X+8>>2]=C-D;f[X+12>>2]=0.0;f[X+16>>2]=D+B;f[X+20>>2]=D+E;f[X+24>>2]=D+C;f[X+28>>2]=0.0;A=c[z+(g*104|0)+96>>2]|0;C=+f[F+460>>2];D=C*+f[z+(g*104|0)+44>>2];E=C*+f[z+(g*104|0)+48>>2];f[X+128>>2]=+f[z+(g*104|0)+40>>2]*C;f[X+128+4>>2]=D;f[X+128+8>>2]=E;f[X+128+12>>2]=0.0;kh(F+928|0,A,X,X+128|0,+f[F+468>>2])|0;g=g+1|0}while((g|0)!=(e|0))}if(c[F+988>>2]|0?(c[F+752>>2]|0)>0:0){e=0;do{A=c[F+760>>2]|0;v=c[A+(e*44|0)+8>>2]|0;y=c[A+(e*44|0)+12>>2]|0;z=c[A+(e*44|0)+16>>2]|0;B=(+f[v+40>>2]+ +f[y+40>>2]+ +f[z+40>>2])*.3333333432674408;C=(+f[v+44>>2]+ +f[y+44>>2]+ +f[z+44>>2])*.3333333432674408;D=(+f[v+48>>2]+ +f[y+48>>2]+ +f[z+48>>2])*.3333333432674408;t=+f[F+464>>2];o=+f[v+8>>2];q=+f[v+12>>2];w=+f[v+16>>2];E=+f[v+20>>2];x=+f[y+8>>2];j=x>2];k=u>2];l=p>2];m=n>2];p=+f[z+12>>2];u=+f[z+16>>2];x=+f[z+20>>2];f[X>>2]=(n>2]=(p>2]=(u>2]=x>2]=t+(o>2]=t+(q>2]=t+(w>2]=E>2]|0;E=+f[F+460>>2];f[X+128>>2]=B*E;f[X+128+4>>2]=C*E;f[X+128+8>>2]=D*E;f[X+128+12>>2]=0.0;kh(F+988|0,A,X,X+128|0,+f[F+468>>2])|0;e=e+1|0}while((e|0)<(c[F+752>>2]|0))}do if(a[F+473>>0]|0){A=c[F+712>>2]|0;if((A|0)>0){e=c[F+720>>2]|0;g=c[F+512>>2]|0;k=0.0;l=0.0;j=0.0;i=0;do{E=+f[g+(i<<2)>>2];j=j+ +f[e+(i*104|0)+8>>2]*E;k=k+E*+f[e+(i*104|0)+12>>2];l=l+E*+f[e+(i*104|0)+16>>2];i=i+1|0}while((i|0)!=(A|0))}else{j=0.0;k=0.0;l=0.0}f[F+520>>2]=j;f[F+524>>2]=k;f[F+528>>2]=l;f[F+532>>2]=0.0;y=X+128+4|0;z=y+44|0;do{c[y>>2]=0;y=y+4|0}while((y|0)<(z|0));f[X+128>>2]=1.1920928955078125e-07;f[X+128+20>>2]=2.384185791015625e-07;f[X+128+40>>2]=3.5762786865234375e-07;if((A|0)>0){e=c[F+512>>2]|0;g=c[F+720>>2]|0;i=c[F+492>>2]|0;m=1.1920928955078125e-07;n=0.0;o=0.0;p=0.0;q=2.384185791015625e-07;t=0.0;u=0.0;w=0.0;x=3.5762786865234375e-07;v=0;do{D=+f[e+(v<<2)>>2];Z=(+f[g+(v*104|0)+8>>2]-j)*D;Y=(+f[g+(v*104|0)+12>>2]-k)*D;D=D*(+f[g+(v*104|0)+16>>2]-l);B=+f[i+(v<<4)>>2];C=+f[i+(v<<4)+4>>2];E=+f[i+(v<<4)+8>>2];m=Z*B+m;n=Z*C+n;o=Z*E+o;p=Y*B+p;q=Y*C+q;t=Y*E+t;u=D*B+u;w=D*C+w;x=D*E+x;v=v+1|0}while((v|0)!=(A|0));f[X+128>>2]=m;f[X+128+4>>2]=n;f[X+128+8>>2]=o;f[X+128+16>>2]=p;f[X+128+20>>2]=q;f[X+128+24>>2]=t;f[X+128+32>>2]=u;f[X+128+36>>2]=w;f[X+128+40>>2]=x}if((a[25448]|0)==0?kP(25448)|0:0){f[6524]=9.999999747378752e-05;c[6525]=16;kO(25448)}Sc(X+128|0,X+80|0,X+32|0);c[F+536>>2]=c[X+80>>2];c[F+536+4>>2]=c[X+80+4>>2];c[F+536+8>>2]=c[X+80+8>>2];c[F+536+12>>2]=c[X+80+12>>2];c[F+552>>2]=c[R>>2];c[F+552+4>>2]=c[R+4>>2];c[F+552+8>>2]=c[R+8>>2];c[F+552+12>>2]=c[R+12>>2];c[F+568>>2]=c[S>>2];c[F+568+4>>2]=c[S+4>>2];c[F+568+8>>2]=c[S+8>>2];c[F+568+12>>2]=c[S+12>>2];ca=+f[X+80>>2];_=+f[R>>2];C=+f[S>>2];ba=+f[X+80+4>>2];w=+f[X+80+20>>2];E=+f[X+80+36>>2];aa=+f[X+80+8>>2];x=+f[X+80+24>>2];Z=+f[X+80+40>>2];q=+f[F+632>>2];t=+f[F+636>>2];u=+f[F+640>>2];ia=+f[F+648>>2];ha=+f[F+652>>2];p=+f[F+656>>2];D=+f[F+664>>2];Y=+f[F+668>>2];j=+f[F+672>>2];ga=+f[X+128>>2];fa=+f[X+128+16>>2];o=+f[X+128+32>>2];m=(ca*q+ba*t+aa*u)*ga+(_*q+w*t+x*u)*fa+(C*q+E*t+Z*u)*o;ea=+f[X+128+4>>2];da=+f[X+128+20>>2];n=+f[X+128+36>>2];l=(ca*q+ba*t+aa*u)*ea+(_*q+w*t+x*u)*da+(C*q+E*t+Z*u)*n;$=+f[X+128+8>>2];B=+f[X+128+24>>2];k=+f[X+128+40>>2];u=(ca*q+ba*t+aa*u)*$+(_*q+w*t+x*u)*B+(C*q+E*t+Z*u)*k;t=(ca*ia+ba*ha+aa*p)*ga+(_*ia+w*ha+x*p)*fa+(C*ia+E*ha+Z*p)*o;q=(ca*ia+ba*ha+aa*p)*ea+(_*ia+w*ha+x*p)*da+(C*ia+E*ha+Z*p)*n;p=(ca*ia+ba*ha+aa*p)*$+(_*ia+w*ha+x*p)*B+(C*ia+E*ha+Z*p)*k;o=ga*(ca*D+ba*Y+aa*j)+fa*(_*D+w*Y+x*j)+(C*D+E*Y+Z*j)*o;n=(ca*D+ba*Y+aa*j)*ea+(_*D+w*Y+x*j)*da+(C*D+E*Y+Z*j)*n;k=(ca*D+ba*Y+aa*j)*$+(_*D+w*Y+x*j)*B+(C*D+E*Y+Z*j)*k;f[F+584>>2]=m;f[F+588>>2]=l;f[F+592>>2]=u;f[F+596>>2]=0.0;f[F+600>>2]=t;f[F+604>>2]=q;f[F+608>>2]=p;f[F+612>>2]=0.0;f[F+616>>2]=o;f[F+620>>2]=n;f[F+624>>2]=k;f[F+628>>2]=0.0;j=+f[F+364>>2];if(j>1.0){ia=1.0/(u*(n*t-q*o)+(m*(q*k-p*n)+l*(p*o-k*t)))<1.0?1.0:j<1.0/(u*(n*t-q*o)+(m*(q*k-p*n)+l*(p*o-k*t)))?j:1.0/(u*(n*t-q*o)+(m*(q*k-p*n)+l*(p*o-k*t)));f[F+584>>2]=m*ia;f[F+588>>2]=l*ia;f[F+592>>2]=u*ia;f[F+596>>2]=0.0;f[F+600>>2]=t*ia;f[F+604>>2]=q*ia;f[F+608>>2]=p*ia;f[F+612>>2]=0.0;f[F+616>>2]=o*ia;f[F+620>>2]=n*ia;f[F+624>>2]=k*ia;f[F+628>>2]=0.0}if(a[F+473>>0]|0){if(!(+f[F+320>>2]>0.0))break;j=+f[F+536>>2];n=+f[F+540>>2];o=+f[F+544>>2];p=+f[F+552>>2];q=+f[F+556>>2];t=+f[F+560>>2];k=+f[F+568>>2];l=+f[F+572>>2];m=+f[F+576>>2];e=c[F+712>>2]|0;if((e|0)<=0)break;i=0;do{g=c[F+720>>2]|0;if(+f[g+(i*104|0)+88>>2]>0.0){y=c[F+492>>2]|0;da=+f[y+(i<<4)>>2];ea=+f[y+(i<<4)+4>>2];fa=+f[y+(i<<4)+8>>2];ca=+f[F+320>>2];y=g+(i*104|0)+8|0;ga=+f[y>>2];z=g+(i*104|0)+12|0;ha=+f[z>>2];A=g+(i*104|0)+16|0;ia=+f[A>>2];ha=ha+ca*(p*da+q*ea+t*fa+ +f[F+524>>2]-ha);ia=ia+ca*(k*da+l*ea+m*fa+ +f[F+528>>2]-ia);f[y>>2]=ga+ca*(+f[F+520>>2]+(j*da+n*ea+o*fa)-ga);f[z>>2]=ha;f[A>>2]=ia;f[g+(i*104|0)+20>>2]=0.0}i=i+1|0}while((i|0)!=(e|0))}}while(0);y=X+128|0;z=y+104|0;do{c[y>>2]=0;y=y+4|0}while((y|0)<(z|0));e=c[F+812>>2]|0;if((e|0)<0){if((c[F+816>>2]|0)<0){g=c[F+820>>2]|0;if(g|0){if(a[F+824>>0]|0){c[6880]=(c[6880]|0)+1;kd(c[g+-4>>2]|0)}c[F+820>>2]=0}a[F+824>>0]=1;c[F+820>>2]=0;c[F+816>>2]=0}do{A=c[F+820>>2]|0;z=A+(e*104|0)|0;c[z>>2]=c[X+128>>2];c[z+4>>2]=c[X+128+4>>2];c[z+8>>2]=c[X+128+8>>2];c[z+12>>2]=c[X+128+12>>2];c[z+16>>2]=c[X+128+16>>2];c[z+20>>2]=c[X+128+20>>2];c[z+24>>2]=c[X+128+24>>2];z=A+(e*104|0)+28|0;c[z>>2]=c[X+128+28>>2];c[z+4>>2]=c[X+128+28+4>>2];c[z+8>>2]=c[X+128+28+8>>2];c[z+12>>2]=c[X+128+28+12>>2];z=A+(e*104|0)+44|0;c[z>>2]=c[X+128+44>>2];c[z+4>>2]=c[X+128+44+4>>2];c[z+8>>2]=c[X+128+44+8>>2];c[z+12>>2]=c[X+128+44+12>>2];z=A+(e*104|0)+60|0;c[z>>2]=c[X+128+60>>2];c[z+4>>2]=c[X+128+60+4>>2];c[z+8>>2]=c[X+128+60+8>>2];c[z+12>>2]=c[X+128+60+12>>2];A=A+(e*104|0)+76|0;c[A>>2]=c[T>>2];c[A+4>>2]=c[T+4>>2];c[A+8>>2]=c[T+8>>2];c[A+12>>2]=c[T+12>>2];c[A+16>>2]=c[T+16>>2];c[A+20>>2]=c[T+20>>2];c[A+24>>2]=c[T+24>>2];e=e+1|0}while((e|0)!=0)}c[F+812>>2]=0;y=X+128|0;z=y+56|0;do{c[y>>2]=0;y=y+4|0}while((y|0)<(z|0));e=c[F+832>>2]|0;if((e|0)<0){if((c[F+836>>2]|0)<0){g=c[F+840>>2]|0;if(g|0){if(a[F+844>>0]|0){c[6880]=(c[6880]|0)+1;kd(c[g+-4>>2]|0)}c[F+840>>2]=0}a[F+844>>0]=1;c[F+840>>2]=0;c[F+836>>2]=0}do{y=(c[F+840>>2]|0)+(e*56|0)|0;g=X+128|0;z=y+56|0;do{c[y>>2]=c[g>>2];y=y+4|0;g=g+4|0}while((y|0)<(z|0));e=e+1|0}while((e|0)!=0)}c[F+832>>2]=0;dg(F+928|0,1);dg(F+988|0,1);dg(F+1048|0,1);e=c[b+24>>2]|0}}G=G+1|0}while((G|0)<(e|0));Ta=X;return}function Vb(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0;af(b,e,f)|0;F=c[b+872>>2]|0;c[e+292>>2]=F;if(F){F=gb[c[(c[f>>2]|0)+28>>2]&63](f,b+868|0)|0;c[e+260>>2]=F;if(F|0){h=c[e+292>>2]|0;m=ib[c[(c[f>>2]|0)+16>>2]&63](f,4,h)|0;if((h|0)>0){k=0;l=c[m+8>>2]|0;while(1){i=c[(c[b+880>>2]|0)+(k<<2)>>2]|0;if(!i){g=0;j=0}else{g=i;j=gb[c[(c[f>>2]|0)+28>>2]&63](f,i)|0}c[l>>2]=j;if(!(gb[c[(c[f>>2]|0)+24>>2]&63](f,g)|0)){F=ib[c[(c[f>>2]|0)+16>>2]&63](f,16,1)|0;E=c[F+8>>2]|0;c[E+12>>2]=c[i+16>>2];c[E+4>>2]=c[i+8>>2];c[E>>2]=c[i+4>>2];c[E+8>>2]=c[i+12>>2];Gb[c[(c[f>>2]|0)+20>>2]&63](f,F,13724,1414349395,g)}k=k+1|0;if((k|0)>=(h|0)){g=f;break}else l=l+4|0}}else g=f;Gb[c[(c[g>>2]|0)+20>>2]&63](f,m,13724,1497453121,b+868|0)}}else c[e+260>>2]=0;F=c[b+712>>2]|0;c[e+296>>2]=F;if(F){F=gb[c[(c[f>>2]|0)+28>>2]&63](f,b+708|0)|0;c[e+264>>2]=F;if(!F){x=0;h=0;i=0;j=0;k=0}else{C=c[e+296>>2]|0;F=ib[c[(c[f>>2]|0)+16>>2]&63](f,100,C)|0;if((C|0)>0){n=0;u=0;D=0;p=0;t=0;s=0;g=0;h=0;A=0;y=0;x=0;i=0;B=0;j=0;k=0;E=c[F+8>>2]|0;while(1){l=c[b+720>>2]|0;c[E+52>>2]=c[l+(D*104|0)+56>>2];c[E+56>>2]=c[l+(D*104|0)+60>>2];c[E+60>>2]=c[l+(D*104|0)+64>>2];c[E+64>>2]=c[l+(D*104|0)+68>>2];c[E+88>>2]=c[l+(D*104|0)+92>>2];m=a[l+(D*104|0)+100>>0]<<7&255;c[E+92>>2]=(7?m<<24>>24>>7:m<<24>>24)<<24>>24;c[E+84>>2]=c[l+(D*104|0)+88>>2];m=c[l+(D*104|0)+4>>2]|0;if(!m)m=0;else{m=gb[c[(c[f>>2]|0)+28>>2]&63](f,m)|0;l=c[b+720>>2]|0}c[E>>2]=m;r=l+(D*104|0)|0;c[E+68>>2]=c[l+(D*104|0)+72>>2];c[E+72>>2]=c[l+(D*104|0)+76>>2];c[E+76>>2]=c[l+(D*104|0)+80>>2];c[E+80>>2]=c[l+(D*104|0)+84>>2];c[E+4>>2]=c[l+(D*104|0)+8>>2];c[E+8>>2]=c[l+(D*104|0)+12>>2];c[E+12>>2]=c[l+(D*104|0)+16>>2];c[E+16>>2]=c[l+(D*104|0)+20>>2];c[E+20>>2]=c[l+(D*104|0)+24>>2];c[E+24>>2]=c[l+(D*104|0)+28>>2];c[E+28>>2]=c[l+(D*104|0)+32>>2];c[E+32>>2]=c[l+(D*104|0)+36>>2];c[E+36>>2]=c[l+(D*104|0)+40>>2];c[E+40>>2]=c[l+(D*104|0)+44>>2];c[E+44>>2]=c[l+(D*104|0)+48>>2];c[E+48>>2]=c[l+(D*104|0)+52>>2];v=((10?r+~(r<<15)>>10:r+~(r<<15)|0)^r+~(r<<15))*9|0;v=(6?v>>6:v)^v;v=(16?v+~(v<<11)>>16:v+~(v<<11)|0)^v+~(v<<11);q=v&j+-1;a:do if(q>>>0>>0?(I=c[h+(q<<2)>>2]|0,(I|0)!=-1):0){l=I;while(1){if((c[g+(l<<3)>>2]|0)==(r|0))break;l=c[i+(l<<2)>>2]|0;if((l|0)==-1){J=27;break a}}c[k+(l<<2)>>2]=D;o=u;r=A;l=y;m=x;q=B}else J=27;while(0);if((J|0)==27){J=0;do if((B|0)==(j|0)){m=(j|0)==0?1:j<<1;if((j|0)<(m|0)){if((m|0)!=0?(c[6879]=(c[6879]|0)+1,G=Zb((m<<2|3)+16|0)|0,(G|0)!=0):0){c[(G+4+15&-16)+-4>>2]=G;o=G+4+15&-16}else o=0;if((j|0)<=0){if(!k){l=j;z=m;k=o;break}}else{l=0;do{c[o+(l<<2)>>2]=c[k+(l<<2)>>2];l=l+1|0}while((l|0)!=(j|0))}c[6880]=(c[6880]|0)+1;kd(c[k+-4>>2]|0);l=j;z=m;k=o}else{l=j;z=j}}else{l=B;z=j}while(0);c[k+(l<<2)>>2]=D;w=B+1|0;do if((t|0)==(s|0)){l=(t|0)==0?1:t<<1;if((t|0)<(l|0)){if((l|0)!=0?(c[6879]=(c[6879]|0)+1,H=Zb((l<<3|3)+16|0)|0,(H|0)!=0):0){c[(H+4+15&-16)+-4>>2]=H;o=H+4+15&-16}else o=0;if((t|0)<=0){if(!g){s=l;g=o;break}}else{m=0;do{L=g+(m<<3)|0;K=c[L+4>>2]|0;s=o+(m<<3)|0;c[s>>2]=c[L>>2];c[s+4>>2]=K;m=m+1|0}while((m|0)!=(t|0))}c[6880]=(c[6880]|0)+1;kd(c[g+-4>>2]|0);s=l;g=o}else s=t}while(0);c[g+(t<<3)>>2]=r;t=t+1|0;if((j|0)<(z|0)){if((A|0)<(z|0)){do if((p|0)<(z|0)){do if(!z)l=0;else{c[6879]=(c[6879]|0)+1;j=Zb((z<<2|3)+16|0)|0;if(!j){l=0;break}c[(j+4+15&-16)+-4>>2]=j;l=j+4+15&-16}while(0);if((A|0)<=0){if(!h){q=l;p=z;h=l;break}}else{j=0;do{c[l+(j<<2)>>2]=c[h+(j<<2)>>2];j=j+1|0}while((j|0)!=(A|0))}c[6880]=(c[6880]|0)+1;kd(c[h+-4>>2]|0);q=l;p=z;h=l}else q=u;while(0);o=z<<2;el(h+(A<<2)|0,0,o-(A<<2)|0)|0;if((y|0)<(z|0)){do if((x|0)<(z|0)){do if(!z)l=0;else{c[6879]=(c[6879]|0)+1;j=Zb((o|3)+16|0)|0;if(!j){l=0;break}c[(j+4+15&-16)+-4>>2]=j;l=j+4+15&-16}while(0);if((y|0)<=0){if(!i){j=l;m=z;i=l;break}}else{j=0;do{c[l+(j<<2)>>2]=c[i+(j<<2)>>2];j=j+1|0}while((j|0)!=(y|0))}c[6880]=(c[6880]|0)+1;kd(c[i+-4>>2]|0);j=l;m=z;i=l}else{j=n;m=x}while(0);el(i+(y<<2)|0,0,o-(y<<2)|0)|0;n=j}else m=x;if((z|0)>0){el(q|0,-1,o|0)|0;el(n|0,-1,o|0)|0}if((A|0)>0){l=z+-1|0;j=0;do{L=c[g+(j<<3)>>2]|0;L=((10?L+~(L<<15)>>10:L+~(L<<15)|0)^L+~(L<<15))*9|0;L=(6?L>>6:L)^L;L=h+((((16?L+~(L<<11)>>16:L+~(L<<11)|0)^L+~(L<<11))&l)<<2)|0;c[i+(j<<2)>>2]=c[L>>2];c[L>>2]=j;j=j+1|0}while((j|0)!=(A|0));o=q;j=z;l=z}else{o=q;j=z;l=z}}else{o=u;j=A;l=y;m=x}q=v&z+-1}else{o=u;j=A;l=y;m=x}r=h+(q<<2)|0;c[i+(B<<2)>>2]=c[r>>2];c[r>>2]=B;r=j;q=w;j=z}D=D+1|0;if((D|0)>=(C|0))break;else{u=o;A=r;y=l;x=m;B=q;E=E+100|0}}}else{g=0;h=0;i=0;j=0;k=0}Gb[c[(c[f>>2]|0)+20>>2]&63](f,F,13745,1145979475,b+708|0);x=g}}else{c[e+264>>2]=0;x=0;h=0;i=0;j=0;k=0}L=c[b+732>>2]|0;c[e+300>>2]=L;if(L){L=gb[c[(c[f>>2]|0)+28>>2]&63](f,c[b+740>>2]|0)|0;c[e+268>>2]=L;if(L|0){n=c[e+300>>2]|0;q=ib[c[(c[f>>2]|0)+16>>2]&63](f,20,n)|0;if((n|0)>0){g=c[b+740>>2]|0;m=g;o=0;p=c[q+8>>2]|0;while(1){l=a[m+(o*52|0)+20>>0]<<7&255;c[p+16>>2]=(7?l<<24>>24>>7:l<<24>>24)<<24>>24;l=c[m+(o*52|0)+4>>2]|0;if(!l)l=0;else{l=gb[c[(c[f>>2]|0)+28>>2]&63](f,l)|0;g=c[b+740>>2]|0;m=g}c[p>>2]=l;l=c[m+(o*52|0)+8>>2]|0;if(!l)l=-1;else l=(l-(c[b+720>>2]|0)|0)/104|0;c[p+4>>2]=l;l=c[m+(o*52|0)+12>>2]|0;if(!l)l=-1;else l=(l-(c[b+720>>2]|0)|0)/104|0;c[p+8>>2]=l;c[p+12>>2]=c[m+(o*52|0)+16>>2];o=o+1|0;if((o|0)>=(n|0))break;else p=p+20|0}}else g=c[b+740>>2]|0;Gb[c[(c[f>>2]|0)+20>>2]&63](f,q,13762,1497453121,g)}}else c[e+268>>2]=0;L=c[b+752>>2]|0;c[e+304>>2]=L;if(L){L=gb[c[(c[f>>2]|0)+28>>2]&63](f,c[b+760>>2]|0)|0;c[e+272>>2]=L;if(L|0){n=c[e+304>>2]|0;q=ib[c[(c[f>>2]|0)+16>>2]&63](f,36,n)|0;if((n|0)>0){g=c[b+760>>2]|0;m=g;o=0;p=c[q+8>>2]|0;while(1){l=c[m+(o*44|0)+4>>2]|0;if(!l)l=0;else{l=gb[c[(c[f>>2]|0)+28>>2]&63](f,l)|0;g=c[b+760>>2]|0;m=g}c[p+16>>2]=l;c[p>>2]=c[m+(o*44|0)+20>>2];c[p+4>>2]=c[m+(o*44|0)+24>>2];c[p+8>>2]=c[m+(o*44|0)+28>>2];c[p+12>>2]=c[m+(o*44|0)+32>>2];l=c[m+(o*44|0)+8>>2]|0;if(!l)l=-1;else l=(l-(c[b+720>>2]|0)|0)/104|0;c[p+20>>2]=l;l=c[m+(o*44|0)+12>>2]|0;if(!l)l=-1;else l=(l-(c[b+720>>2]|0)|0)/104|0;c[p+24>>2]=l;l=c[m+(o*44|0)+16>>2]|0;if(!l)l=-1;else l=(l-(c[b+720>>2]|0)|0)/104|0;c[p+28>>2]=l;c[p+32>>2]=c[m+(o*44|0)+36>>2];o=o+1|0;if((o|0)>=(n|0))break;else p=p+36|0}}else g=c[b+760>>2]|0;Gb[c[(c[f>>2]|0)+20>>2]&63](f,q,13779,1497453121,g)}}else c[e+272>>2]=0;L=c[b+772>>2]|0;c[e+308>>2]=L;if(L){L=gb[c[(c[f>>2]|0)+28>>2]&63](f,c[b+780>>2]|0)|0;c[e+276>>2]=L;if(L|0){n=c[e+308>>2]|0;q=ib[c[(c[f>>2]|0)+16>>2]&63](f,100,n)|0;if((n|0)>0){g=c[b+780>>2]|0;m=g;o=0;p=c[q+8>>2]|0;while(1){c[p>>2]=c[m+(o*104|0)+32>>2];c[p+4>>2]=c[m+(o*104|0)+36>>2];c[p+8>>2]=c[m+(o*104|0)+40>>2];c[p+12>>2]=c[m+(o*104|0)+44>>2];l=c[m+8>>2]|0;if(!l)l=-1;else l=(l-(c[b+720>>2]|0)|0)/104|0;c[p+68>>2]=l;c[p+16>>2]=c[m+(o*104|0)+48>>2];c[p+20>>2]=c[m+(o*104|0)+52>>2];c[p+24>>2]=c[m+(o*104|0)+56>>2];c[p+28>>2]=c[m+(o*104|0)+60>>2];l=c[m+116>>2]|0;if(!l)l=-1;else l=(l-(c[b+720>>2]|0)|0)/104|0;c[p+72>>2]=l;c[p+32>>2]=c[m+(o*104|0)+64>>2];c[p+36>>2]=c[m+(o*104|0)+68>>2];c[p+40>>2]=c[m+(o*104|0)+72>>2];c[p+44>>2]=c[m+(o*104|0)+76>>2];l=c[m+224>>2]|0;if(!l)l=-1;else l=(l-(c[b+720>>2]|0)|0)/104|0;c[p+76>>2]=l;c[p+48>>2]=c[m+(o*104|0)+80>>2];c[p+52>>2]=c[m+(o*104|0)+84>>2];c[p+56>>2]=c[m+(o*104|0)+88>>2];c[p+60>>2]=c[m+(o*104|0)+92>>2];l=c[m+332>>2]|0;if(!l)l=-1;else l=(l-(c[b+720>>2]|0)|0)/104|0;c[p+80>>2]=l;c[p+88>>2]=c[m+(o*104|0)+96>>2];c[p+92>>2]=c[m+(o*104|0)+100>>2];l=c[m+(o*104|0)+4>>2]|0;if(!l)l=0;else{l=gb[c[(c[f>>2]|0)+28>>2]&63](f,l)|0;g=c[b+780>>2]|0;m=g}c[p+64>>2]=l;c[p+84>>2]=c[m+(o*104|0)+24>>2];o=o+1|0;if((o|0)>=(n|0))break;else p=p+100|0}}else g=c[b+780>>2]|0;Gb[c[(c[f>>2]|0)+20>>2]&63](f,q,13796,1497453121,g)}}else c[e+276>>2]=0;L=c[b+792>>2]|0;c[e+312>>2]=L;if(L){L=gb[c[(c[f>>2]|0)+28>>2]&63](f,c[b+800>>2]|0)|0;c[e+280>>2]=L;if(!L)w=f;else{m=c[e+312>>2]|0;n=ib[c[(c[f>>2]|0)+16>>2]&63](f,92,m)|0;if((m|0)>0){o=0;p=c[n+8>>2]|0;while(1){l=c[b+800>>2]|0;c[p>>2]=c[l+(o*96|0)+28>>2];c[p+4>>2]=c[l+(o*96|0)+32>>2];c[p+8>>2]=c[l+(o*96|0)+36>>2];c[p+12>>2]=c[l+(o*96|0)+40>>2];c[p+16>>2]=c[l+(o*96|0)+44>>2];c[p+20>>2]=c[l+(o*96|0)+48>>2];c[p+24>>2]=c[l+(o*96|0)+52>>2];c[p+28>>2]=c[l+(o*96|0)+56>>2];c[p+32>>2]=c[l+(o*96|0)+60>>2];c[p+36>>2]=c[l+(o*96|0)+64>>2];c[p+40>>2]=c[l+(o*96|0)+68>>2];c[p+44>>2]=c[l+(o*96|0)+72>>2];c[p+48>>2]=c[l+(o*96|0)+76>>2];c[p+52>>2]=c[l+(o*96|0)+80>>2];c[p+56>>2]=c[l+(o*96|0)+84>>2];c[p+60>>2]=c[l+(o*96|0)+88>>2];c[p+88>>2]=c[l+(o*96|0)+92>>2];c[p+64>>2]=c[l+(o*96|0)+4>>2];c[p+68>>2]=c[l+(o*96|0)+8>>2];c[p+72>>2]=c[l+(o*96|0)+12>>2];c[p+76>>2]=c[l+(o*96|0)+16>>2];g=c[l+(o*96|0)>>2]|0;if(!g)g=-1;else g=(g-(c[b+720>>2]|0)|0)/104|0;c[p+84>>2]=g;g=c[l+(o*96|0)+20>>2]|0;if(!g)g=0;else g=gb[c[(c[f>>2]|0)+28>>2]&63](f,g)|0;c[p+80>>2]=g;o=o+1|0;if((o|0)>=(m|0))break;else p=p+92|0}}Gb[c[(c[f>>2]|0)+20>>2]&63](f,n,13814,1497453121,c[b+800>>2]|0);w=f}}else{c[e+280>>2]=0;w=f}c[e+352>>2]=c[b+316>>2];c[e+328>>2]=c[b+292>>2];c[e+344>>2]=c[b+308>>2];c[e+324>>2]=c[b+288>>2];c[e+340>>2]=c[b+304>>2];c[e+336>>2]=c[b+300>>2];c[e+412>>2]=c[b+376>>2];c[e+416>>2]=c[b+380>>2];c[e+420>>2]=c[b+384>>2];c[e+408>>2]=c[b+372>>2];q=c[b+364>>2]|0;c[e+332>>2]=c[b+296>>2];c[e+356>>2]=c[b+320>>2];c[e+424>>2]=c[b+388>>2];c[e+348>>2]=c[b+312>>2];c[e+360>>2]=c[b+324>>2];c[e+364>>2]=c[b+328>>2];c[e+368>>2]=c[b+332>>2];c[e+372>>2]=c[b+336>>2];c[e+404>>2]=c[b+368>>2];c[e+400>>2]=q;c[e+376>>2]=c[b+340>>2];c[e+380>>2]=c[b+344>>2];c[e+384>>2]=c[b+348>>2];c[e+388>>2]=c[b+352>>2];c[e+392>>2]=c[b+356>>2];c[e+396>>2]=c[b+360>>2];c[e+256>>2]=gb[c[(c[w>>2]|0)+28>>2]&63](f,b+472|0)|0;q=ib[c[(c[f>>2]|0)+16>>2]&63](f,192,1)|0;p=c[q+8>>2]|0;c[p+96>>2]=c[b+632>>2];c[p+100>>2]=c[b+636>>2];c[p+104>>2]=c[b+640>>2];c[p+108>>2]=c[b+644>>2];c[p+112>>2]=c[b+648>>2];c[p+116>>2]=c[b+652>>2];c[p+120>>2]=c[b+656>>2];c[p+124>>2]=c[b+660>>2];c[p+128>>2]=c[b+664>>2];c[p+132>>2]=c[b+668>>2];c[p+136>>2]=c[b+672>>2];c[p+140>>2]=c[b+676>>2];c[p+180>>2]=d[b+473>>0];c[p+176>>2]=d[b+472>>0];c[p+144>>2]=c[b+520>>2];c[p+148>>2]=c[b+524>>2];c[p+152>>2]=c[b+528>>2];c[p+156>>2]=c[b+532>>2];L=c[b+484>>2]|0;c[p+168>>2]=L;if(L){L=gb[c[(c[w>>2]|0)+28>>2]&63](f,c[b+492>>2]|0)|0;l=c[p+168>>2]|0;c[p+160>>2]=L;if(l|0){o=ib[c[(c[f>>2]|0)+16>>2]&63](f,16,l)|0;if((l|0)>0){g=c[b+492>>2]|0;m=0;n=c[o+8>>2]|0;while(1){c[n>>2]=c[g+(m<<4)>>2];c[n+4>>2]=c[g+(m<<4)+4>>2];c[n+8>>2]=c[g+(m<<4)+8>>2];c[n+12>>2]=c[g+(m<<4)+12>>2];m=m+1|0;if((m|0)==(l|0))break;else n=n+16|0}}else g=c[b+492>>2]|0;Gb[c[(c[f>>2]|0)+20>>2]&63](f,o,22585,1497453121,g)}}else c[p+160>>2]=0;c[p+184>>2]=c[b+476>>2];c[p>>2]=c[b+536>>2];c[p+4>>2]=c[b+540>>2];c[p+8>>2]=c[b+544>>2];c[p+12>>2]=c[b+548>>2];c[p+16>>2]=c[b+552>>2];c[p+20>>2]=c[b+556>>2];c[p+24>>2]=c[b+560>>2];c[p+28>>2]=c[b+564>>2];c[p+32>>2]=c[b+568>>2];c[p+36>>2]=c[b+572>>2];c[p+40>>2]=c[b+576>>2];c[p+44>>2]=c[b+580>>2];c[p+48>>2]=c[b+584>>2];c[p+52>>2]=c[b+588>>2];c[p+56>>2]=c[b+592>>2];c[p+60>>2]=c[b+596>>2];c[p+64>>2]=c[b+600>>2];c[p+68>>2]=c[b+604>>2];c[p+72>>2]=c[b+608>>2];c[p+76>>2]=c[b+612>>2];c[p+80>>2]=c[b+616>>2];c[p+84>>2]=c[b+620>>2];c[p+88>>2]=c[b+624>>2];c[p+92>>2]=c[b+628>>2];L=c[b+504>>2]|0;c[p+172>>2]=L;if(L){L=gb[c[(c[w>>2]|0)+28>>2]&63](f,c[b+512>>2]|0)|0;n=c[p+172>>2]|0;c[p+164>>2]=L;if(n|0){o=ib[c[(c[f>>2]|0)+16>>2]&63](f,4,n)|0;if((n|0)>0){g=c[b+512>>2]|0;l=0;m=c[o+8>>2]|0;while(1){c[m>>2]=c[g+(l<<2)>>2];l=l+1|0;if((l|0)==(n|0))break;else m=m+4|0}}else g=c[b+512>>2]|0;Gb[c[(c[f>>2]|0)+20>>2]&63](f,o,22923,1497453121,g)}}else c[p+164>>2]=0;Gb[c[(c[f>>2]|0)+20>>2]&63](f,q,13834,1497453121,b+472|0);L=c[b+1112>>2]|0;c[e+316>>2]=L;if(L){L=gb[c[(c[w>>2]|0)+28>>2]&63](f,c[c[b+1120>>2]>>2]|0)|0;u=c[e+316>>2]|0;c[e+284>>2]=L;if(u|0){v=ib[c[(c[f>>2]|0)+16>>2]&63](f,348,u)|0;if((u|0)>0){t=j+-1|0;r=0;s=c[v+8>>2]|0;while(1){g=c[(c[b+1120>>2]|0)+(r<<2)>>2]|0;L=s+320|0;c[L>>2]=c[g+360>>2];c[s+256>>2]=c[g+332>>2];c[s+260>>2]=c[g+336>>2];c[s+264>>2]=c[g+340>>2];c[s+268>>2]=c[g+344>>2];c[s+344>>2]=c[g+380>>2];c[s+340>>2]=d[g+377>>0];c[s+160>>2]=c[g+228>>2];c[s+164>>2]=c[g+232>>2];c[s+168>>2]=c[g+236>>2];c[s+172>>2]=c[g+240>>2];c[s+336>>2]=d[g+376>>0];c[s+208>>2]=c[g+276>>2];c[s+212>>2]=c[g+280>>2];c[s+216>>2]=c[g+284>>2];c[s+220>>2]=c[g+288>>2];c[s+224>>2]=c[g+292>>2];c[s+228>>2]=c[g+296>>2];c[s+232>>2]=c[g+300>>2];c[s+236>>2]=c[g+304>>2];c[s>>2]=c[g+60>>2];c[s+4>>2]=c[g+64>>2];c[s+8>>2]=c[g+68>>2];c[s+12>>2]=c[g+72>>2];c[s+16>>2]=c[g+76>>2];c[s+20>>2]=c[g+80>>2];c[s+24>>2]=c[g+84>>2];c[s+28>>2]=c[g+88>>2];c[s+32>>2]=c[g+92>>2];c[s+36>>2]=c[g+96>>2];c[s+40>>2]=c[g+100>>2];c[s+44>>2]=c[g+104>>2];c[s+48>>2]=c[g+108>>2];c[s+52>>2]=c[g+112>>2];c[s+56>>2]=c[g+116>>2];c[s+60>>2]=c[g+120>>2];c[s+296>>2]=c[g+124>>2];c[s+300>>2]=c[g+128>>2];c[s+112>>2]=c[g+180>>2];c[s+116>>2]=c[g+184>>2];c[s+120>>2]=c[g+188>>2];c[s+124>>2]=c[g+192>>2];c[s+128>>2]=c[g+196>>2];c[s+132>>2]=c[g+200>>2];c[s+136>>2]=c[g+204>>2];c[s+140>>2]=c[g+208>>2];c[s+144>>2]=c[g+212>>2];c[s+148>>2]=c[g+216>>2];c[s+152>>2]=c[g+220>>2];c[s+156>>2]=c[g+224>>2];j=s+316|0;c[j>>2]=c[g+356>>2];c[s+64>>2]=c[g+132>>2];c[s+68>>2]=c[g+136>>2];c[s+72>>2]=c[g+140>>2];c[s+76>>2]=c[g+144>>2];c[s+80>>2]=c[g+148>>2];c[s+84>>2]=c[g+152>>2];c[s+88>>2]=c[g+156>>2];c[s+92>>2]=c[g+160>>2];c[s+96>>2]=c[g+164>>2];c[s+100>>2]=c[g+168>>2];c[s+104>>2]=c[g+172>>2];c[s+108>>2]=c[g+176>>2];c[s+240>>2]=c[g+316>>2];c[s+244>>2]=c[g+320>>2];c[s+248>>2]=c[g+324>>2];c[s+252>>2]=c[g+328>>2];c[s+324>>2]=c[g+364>>2];c[s+328>>2]=c[g+368>>2];c[s+312>>2]=c[g+352>>2];c[j>>2]=c[g+356>>2];c[L>>2]=c[g+360>>2];c[s+332>>2]=c[g+372>>2];L=c[g+44>>2]|0;j=s+284|0;c[j>>2]=L;p=s+292|0;c[p>>2]=c[g+4>>2];q=s+288|0;c[q>>2]=c[g+24>>2];c[s+304>>2]=c[g+308>>2];c[s+176>>2]=c[g+244>>2];c[s+180>>2]=c[g+248>>2];c[s+184>>2]=c[g+252>>2];c[s+188>>2]=c[g+256>>2];c[s+192>>2]=c[g+260>>2];c[s+196>>2]=c[g+264>>2];c[s+200>>2]=c[g+268>>2];c[s+204>>2]=c[g+272>>2];c[s+308>>2]=c[g+312>>2];if(L){L=gb[c[(c[w>>2]|0)+28>>2]&63](f,c[g+52>>2]|0)|0;c[s+272>>2]=L;if(L|0){j=c[j>>2]|0;o=ib[c[(c[f>>2]|0)+16>>2]&63](f,16,j)|0;if((j|0)>0){g=(c[(c[b+1120>>2]|0)+(r<<2)>>2]|0)+52|0;l=c[g>>2]|0;m=0;n=c[o+8>>2]|0;while(1){c[n>>2]=c[l+(m<<4)>>2];c[n+4>>2]=c[l+(m<<4)+4>>2];c[n+8>>2]=c[l+(m<<4)+8>>2];c[n+12>>2]=c[l+(m<<4)+12>>2];m=m+1|0;if((m|0)==(j|0))break;else n=n+16|0}}else g=(c[(c[b+1120>>2]|0)+(r<<2)>>2]|0)+52|0;Gb[c[(c[f>>2]|0)+20>>2]&63](f,o,22585,1497453121,c[g>>2]|0)}}else c[s+272>>2]=0;if(c[p>>2]|0){L=gb[c[(c[w>>2]|0)+28>>2]&63](f,c[(c[(c[b+1120>>2]|0)+(r<<2)>>2]|0)+12>>2]|0)|0;c[s+280>>2]=L;if(L|0){j=c[p>>2]|0;o=ib[c[(c[f>>2]|0)+16>>2]&63](f,4,j)|0;if((j|0)>0){g=(c[(c[b+1120>>2]|0)+(r<<2)>>2]|0)+12|0;l=c[g>>2]|0;m=0;n=c[o+8>>2]|0;while(1){c[n>>2]=c[l+(m<<2)>>2];m=m+1|0;if((m|0)==(j|0))break;else n=n+4|0}}else g=(c[(c[b+1120>>2]|0)+(r<<2)>>2]|0)+12|0;Gb[c[(c[f>>2]|0)+20>>2]&63](f,o,22923,1497453121,c[g>>2]|0)}}else c[s+280>>2]=0;if(c[q>>2]|0){L=gb[c[(c[w>>2]|0)+28>>2]&63](f,(c[(c[b+1120>>2]|0)+(r<<2)>>2]|0)+20|0)|0;c[s+276>>2]=L;if(L|0){n=c[p>>2]|0;q=ib[c[(c[f>>2]|0)+16>>2]&63](f,4,n)|0;if((n|0)>0){g=c[(c[b+1120>>2]|0)+(r<<2)>>2]|0;m=c[g+32>>2]|0;o=0;p=c[q+8>>2]|0;while(1){l=c[m+(o<<2)>>2]|0;j=((10?~(l<<15)+l>>10:~(l<<15)+l|0)^~(l<<15)+l)*9|0;j=(6?j>>6:j)^j;j=c[h+((((16?j+~(j<<11)>>16:j+~(j<<11)|0)^j+~(j<<11))&t)<<2)>>2]|0;if((c[x+(j<<3)>>2]|0)!=(l|0))do j=c[i+(j<<2)>>2]|0;while((c[x+(j<<3)>>2]|0)!=(l|0));c[p>>2]=c[k+(j<<2)>>2];o=o+1|0;if((o|0)==(n|0))break;else p=p+4|0}}else g=c[(c[b+1120>>2]|0)+(r<<2)>>2]|0;Gb[c[(c[f>>2]|0)+20>>2]&63](f,q,22919,1497453121,g+20|0)}}else c[s+276>>2]=0;r=r+1|0;if((r|0)>=(u|0))break;else s=s+348|0}}Gb[c[(c[f>>2]|0)+20>>2]&63](f,v,13851,1497453121,c[c[b+1120>>2]>>2]|0)}}else c[e+284>>2]=0;L=c[b+852>>2]|0;c[e+320>>2]=L;if(L){L=gb[c[(c[w>>2]|0)+28>>2]&63](f,c[b+860>>2]|0)|0;c[e+288>>2]=L;if(L|0){l=c[b+852>>2]|0;m=ib[c[(c[f>>2]|0)+16>>2]&63](f,104,l)|0;if((l|0)>0){n=0;p=c[m+8>>2]|0;while(1){g=c[(c[b+860>>2]|0)+(n<<2)>>2]|0;c[p+96>>2]=eb[c[(c[g>>2]|0)+20>>2]&255](g)|0;g=(c[b+860>>2]|0)+(n<<2)|0;L=c[g>>2]|0;c[p+8>>2]=c[L+28>>2];c[p+12>>2]=c[L+32>>2];c[p+16>>2]=c[L+36>>2];c[p+20>>2]=c[L+40>>2];c[p+24>>2]=c[L+44>>2];c[p+28>>2]=c[L+48>>2];c[p+32>>2]=c[L+52>>2];c[p+36>>2]=c[L+56>>2];c[p+40>>2]=c[L+60>>2];c[p+44>>2]=c[L+64>>2];c[p+48>>2]=c[L+68>>2];c[p+52>>2]=d[L+152>>0];L=p+56|0;c[p>>2]=0;o=p+4|0;c[o>>2]=0;c[L>>2]=0;c[L+4>>2]=0;c[L+8>>2]=0;c[L+12>>2]=0;c[L+16>>2]=0;c[L+20>>2]=0;c[L+24>>2]=0;c[L+28>>2]=0;g=c[(c[g>>2]|0)+4>>2]|0;if(g|0){c[p+88>>2]=1;c[p>>2]=gb[c[(c[w>>2]|0)+28>>2]&63](f,g)|0}g=c[(c[b+860>>2]|0)+(n<<2)>>2]|0;j=c[g+12>>2]|0;if(j){c[p+88>>2]=3;c[p>>2]=gb[c[(c[w>>2]|0)+28>>2]&63](f,j)|0;g=c[(c[b+860>>2]|0)+(n<<2)>>2]|0}j=c[g+8>>2]|0;if(j){c[p+88>>2]=2;c[p>>2]=gb[c[(c[w>>2]|0)+28>>2]&63](f,j)|0;g=c[(c[b+860>>2]|0)+(n<<2)>>2]|0}j=c[g+16>>2]|0;if(j){c[p+92>>2]=1;c[o>>2]=gb[c[(c[w>>2]|0)+28>>2]&63](f,j)|0;g=c[(c[b+860>>2]|0)+(n<<2)>>2]|0}j=c[g+24>>2]|0;if(j){c[p+92>>2]=3;c[o>>2]=gb[c[(c[w>>2]|0)+28>>2]&63](f,j)|0;g=c[(c[b+860>>2]|0)+(n<<2)>>2]|0}g=c[g+20>>2]|0;if(g|0){c[p+92>>2]=2;c[o>>2]=gb[c[(c[w>>2]|0)+28>>2]&63](f,g)|0}n=n+1|0;if((n|0)>=(l|0))break;else p=p+104|0}}Gb[c[(c[f>>2]|0)+20>>2]&63](f,m,13871,1497453121,c[b+860>>2]|0)}}else c[e+288>>2]=0;if(x|0){c[6880]=(c[6880]|0)+1;kd(c[x+-4>>2]|0)}if(k|0){c[6880]=(c[6880]|0)+1;kd(c[k+-4>>2]|0)}if(i|0){c[6880]=(c[6880]|0)+1;kd(c[i+-4>>2]|0)}if(!h)return 13891;c[6880]=(c[6880]|0)+1;kd(c[h+-4>>2]|0);return 13891}function Wb(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,A=0,B=0,C=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0;L=Ta;Ta=Ta+144|0;a:do switch(d-b|0){case 0:{c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;Ta=L;return}case 2:{f=c[(c[a+92>>2]|0)+(b<<2)>>2]|0;i=c[f+88>>2]|0;j=c[f+200>>2]|0;h=c[f+92>>2]|0;g=c[f+204>>2]|0;if((i|0)==(j|0)&(h|0)==(g|0))if((c[f+96>>2]|0)==(c[f+208>>2]|0))break a;else g=h;g=h-g|0;do if(g|i-j){c[f>>2]=f+112;c[f+4>>2]=f+112;c[f+112>>2]=f;c[f+116>>2]=f;K=(i-j|0)<0|(i-j|0)==0&(g|0)<0;c[e>>2]=K?f:f+112|0;c[e+4>>2]=K?f+112|0:f;if((g|0)<0|(i-j|0)<0&(g|0)==0){c[e+8>>2]=f;g=f+112|0;h=f;f=f+112|0;break}else{c[e+8>>2]=f+112;g=f;h=f;f=f+112|0;break}}else{K=(c[f+96>>2]|0)>(c[f+208>>2]|0);h=K?f+112|0:f;c[h>>2]=h;c[h+4>>2]=h;c[e>>2]=h;c[e+4>>2]=h;c[e+8>>2]=h;g=h;f=K?f:f+112|0}while(0);c[e+12>>2]=g;a=Nf(a,h,f)|0;c[a>>2]=a;c[a+4>>2]=a;c[h+8>>2]=a;a=c[a+8>>2]|0;c[a>>2]=a;c[a+4>>2]=a;c[f+8>>2]=a;Ta=L;return}case 1:{f=c[(c[a+92>>2]|0)+(b<<2)>>2]|0;break}default:{m=((d-b|0)/2|0)+b|0;h=c[a+92>>2]|0;l=c[h+(m+-1<<2)>>2]|0;i=c[l+88>>2]|0;k=c[l+92>>2]|0;l=c[l+96>>2]|0;b:do if((m|0)<(d|0)){f=m;do{g=c[h+(f<<2)>>2]|0;if((c[g+88>>2]|0)!=(i|0))break b;if((c[g+92>>2]|0)!=(k|0))break b;if((c[g+96>>2]|0)!=(l|0))break b;f=f+1|0}while((f|0)<(d|0))}else f=m;while(0);Wb(a,b,m,e);c[L+96>>2]=0;c[L+96+4>>2]=0;c[L+96+8>>2]=0;c[L+96+12>>2]=0;Wb(a,f,d,L+96|0);k=c[L+96+4>>2]|0;c:do if(k|0){B=c[e+4>>2]|0;if(!B){c[e>>2]=c[L+96>>2];c[e+4>>2]=c[L+96+4>>2];c[e+8>>2]=c[L+96+8>>2];c[e+12>>2]=c[L+96+12>>2];break}c[a+100>>2]=(c[a+100>>2]|0)+-1;h=c[e+12>>2]|0;m=c[L+96+8>>2]|0;i=c[h+88>>2]|0;d:do if((i|0)==(c[m+88>>2]|0)?(j=c[h+92>>2]|0,(j|0)==(c[m+92>>2]|0)):0){l=c[m+4>>2]|0;if((l|0)==(m|0)){f=c[m+8>>2]|0;if(!f)f=m;else{f=c[f+12>>2]|0;i=c[f+88>>2]|0;j=c[f+92>>2]|0}g=h;l=f;m=f;b=i+1|0;d=c[f+96>>2]|0;break}h=c[m>>2]|0;c[l>>2]=h;c[h+4>>2]=l;if((m|0)==(c[L+96>>2]|0)){f=c[h+88>>2]|0;g=c[l+88>>2]|0;do if((f|0)<(g|0))f=h;else{if((f|0)==(g|0)?(c[h+92>>2]|0)<(c[l+92>>2]|0):0){f=h;break}f=l}while(0);c[L+96>>2]=f}if((m|0)==(k|0)){f=c[h+88>>2]|0;g=c[l+88>>2]|0;do if((f|0)<=(g|0)){if((f|0)==(g|0)?(c[h+92>>2]|0)>(c[l+92>>2]|0):0)break;c[L+96+4>>2]=l;h=l;I=39;break d}while(0);c[L+96+4>>2]=h;I=39}else{h=k;I=39}}else{h=k;I=39}while(0);if((I|0)==39){w=c[e>>2]|0;x=c[L+96>>2]|0;y=0;A=1;b=B;g=0;n=h;l=0;while(1){f=c[n+88>>2]|0;d=c[b+88>>2]|0;k=z(f-d|0,A)|0;e:do if((k|0)<=0){if((k|0)<0){v=(y|0)!=0;m=c[b+92>>2]|0;d=f;u=c[n+92>>2]|0;j=b;f=n;while(1){s=c[(v?f+4|0:f)>>2]|0;r=(s|0)==(f|0);t=f+88|0;while(1){i=j+88|0;q=u-m|0;if(!r?(C=c[s+88>>2]|0,F=z(C-d|0,A)|0,E=c[s+92>>2]|0,G=E-u|0,(G|0)>-1):0){if(!F)break;if((F|0)<0?(z(G,k)|0)<=(z(F,q)|0):0)break}p=c[(v?j+4|0:j)>>2]|0;if((p|0)==(j|0))break e;o=c[p+88>>2]|0;n=z(o-(c[i>>2]|0)|0,A)|0;b=c[p+92>>2]|0;i=b-m|0;d=c[t>>2]|0;o=z(d-o|0,A)|0;if(!((i|0)>0&(o|0)<0))break e;if(n|0){if((n|0)>=0)break e;if((z(i,k)|0)>=(z(n,q)|0))break e}m=b;k=o;j=p}d=C;u=E;k=z(C-(c[i>>2]|0)|0,A)|0;f=s}}j=c[b+92>>2]|0;m=(y|0)!=0;f=c[(m?b:b+4|0)>>2]|0;f:do if((f|0)!=(b|0))if(m){i=b;while(1){if((c[f+88>>2]|0)!=(d|0)){k=i;break f}H=j;j=c[f+92>>2]|0;if((j|0)>(H|0)){k=i;break f}i=c[f>>2]|0;if((i|0)==(b|0)){k=f;break}else{H=f;f=i;i=H}}}else{i=b;while(1){if((c[f+88>>2]|0)!=(d|0)){k=i;break f}H=j;j=c[f+92>>2]|0;if((j|0)>(H|0)){k=i;break f}i=c[f+4>>2]|0;if((i|0)==(b|0)){k=f;break}else{H=f;f=i;i=H}}}else k=b;while(0);j=c[n+92>>2]|0;f=c[(m?n+4|0:n)>>2]|0;if((f|0)!=(n|0))if(m){i=n;while(1){if((c[f+88>>2]|0)!=(d|0)){j=k;f=i;break e}H=j;j=c[f+92>>2]|0;if((j|0)<(H|0)){j=k;f=i;break e}i=c[f+4>>2]|0;if((i|0)==(n|0)){j=k;break}else{H=f;f=i;i=H}}}else{i=n;while(1){if((c[f+88>>2]|0)!=(d|0)){j=k;f=i;break e}H=j;j=c[f+92>>2]|0;if((j|0)<(H|0)){j=k;f=i;break e}i=c[f>>2]|0;if((i|0)==(n|0)){j=k;break}else{H=f;f=i;i=H}}}else{j=k;f=n}}else{s=(y|0)!=0;r=c[n+92>>2]|0;i=b;f=n;while(1){o=f+88|0;n=c[i+92>>2]|0;q=k;j=i;while(1){p=r-n|0;d=c[(s?j:j+4|0)>>2]|0;if((d|0)==(j|0))break;k=c[d+88>>2]|0;b=z(k-(c[j+88>>2]|0)|0,A)|0;m=c[d+92>>2]|0;i=m-n|0;if((i|0)>=1)break;if(b|0){if((b|0)>=0)break;if((z(i,q)|0)>(z(b,p)|0))break}n=m;q=z((c[o>>2]|0)-k|0,A)|0;j=d}b=c[(s?f:f+4|0)>>2]|0;if((b|0)==(f|0))break e;d=c[b+88>>2]|0;m=z(d-(c[o>>2]|0)|0,A)|0;k=c[b+92>>2]|0;i=k-r|0;d=z(d-(c[j+88>>2]|0)|0,A)|0;if(!((i|0)<0&(d|0)>0))break e;if(m|0){if((m|0)>=0)break e;if((z(i,q)|0)>=(z(m,p)|0))break e}r=k;k=d;i=j;f=b}}while(0);i=(y|0)==0;l=i?f:l;g=i?j:g;n=i?x:f;b=i?w:j;y=y+1|0;if((y|0)==2)break;else A=i?-1:A}c[b+4>>2]=n;c[n>>2]=b;c[g>>2]=l;c[l+4>>2]=g;if((c[x+88>>2]|0)<(c[w+88>>2]|0))c[e>>2]=x;if((c[h+88>>2]|0)>=(c[B+88>>2]|0))c[e+4>>2]=h;c[e+12>>2]=c[L+96+12>>2];h=g;H=l;i=l+88|0;B=c[i>>2]|0;r=c[g+88>>2]|0;k=l+92|0;C=c[k>>2]|0;E=c[g+92>>2]|0;j=l+96|0;F=c[j>>2]|0;s=c[g+96>>2]|0;G=((C-E|0)<0)<<31>>31;e=0-(B-r)|0;u=xC(0,0,e|0,((e|0)<0)<<31>>31|0)|0;u=nw(u|0,D()|0,F-s|0,((F-s|0)<0)<<31>>31|0)|0;v=D()|0;w=nw(F-s|0,((F-s|0)<0)<<31>>31|0,C-E|0,G|0)|0;x=D()|0;o=nw(e|0,((e|0)<0)<<31>>31|0,B-r|0,((B-r|0)<0)<<31>>31|0)|0;A=D()|0;y=nw(C-E|0,G|0,C-E|0,G|0)|0;y=xC(o|0,A|0,y|0,D()|0)|0;A=D()|0;o=c[g+8>>2]|0;c[L+120>>2]=0;if(!o)r=0;else{p=xC(0,0,C-E|0,G|0)|0;q=D()|0;t=o;f=0;do{b=c[t+12>>2]|0;m=c[b+88>>2]|0;d=c[b+92>>2]|0;b=c[b+96>>2]|0;N=nw(d-E|0,((d-E|0)<0)<<31>>31|0,e|0,((e|0)<0)<<31>>31|0)|0;n=D()|0;M=nw(p|0,q|0,m-r|0,((m-r|0)<0)<<31>>31|0)|0;g:do if((N|0)==(M|0)&(n|0)==(D()|0)?(M=nw(u|0,v|0,m-r|0,((m-r|0)<0)<<31>>31|0)|0,n=D()|0,N=nw(w|0,x|0,d-E|0,((d-E|0)<0)<<31>>31|0)|0,n=hD(N|0,D()|0,M|0,n|0)|0,M=D()|0,N=nw(y|0,A|0,b-s|0,((b-s|0)<0)<<31>>31|0)|0,N=hD(n|0,M|0,N|0,D()|0)|0,M=D()|0,(M|0)>0|(M|0)==0&N>>>0>0):0){do if(f|0){n=(c[f+4>>2]|0)==(t|0);if((c[f>>2]|0)!=(t|0))if(n)break;else break g;if(!n)break g;M=c[f+12>>2]|0;O=c[(c[t+8>>2]|0)+12>>2]|0;N=c[O+88>>2]|0;n=c[O+92>>2]|0;O=c[O+96>>2]|0;P=(c[M+96>>2]|0)-O|0;n=(z(b-O|0,(c[M+92>>2]|0)-n|0)|0)-(z(P,d-n|0)|0)|0;N=(z(P,m-N|0)|0)-(z(b-O|0,(c[M+88>>2]|0)-N|0)|0)|0;n=nw(n|0,((n|0)<0)<<31>>31|0,C-E|0,G|0)|0;M=D()|0;N=nw(N|0,((N|0)<0)<<31>>31|0,e|0,((e|0)<0)<<31>>31|0)|0;N=hD(n|0,M|0,N|0,D()|0)|0;M=D()|0;if((M|0)>0|(M|0)==0&N>>>0>0)break g}while(0);f=t}while(0);t=c[t>>2]|0}while((t|0)!=(o|0));c[L+120>>2]=f;r=f}n=c[l+8>>2]|0;c[L+72>>2]=0;if(!n)f=0;else{o=xC(0,0,C-E|0,G|0)|0;p=D()|0;q=n;f=0;do{b=c[q+12>>2]|0;m=c[b+88>>2]|0;d=c[b+92>>2]|0;b=c[b+96>>2]|0;N=nw(d-C|0,((d-C|0)<0)<<31>>31|0,e|0,((e|0)<0)<<31>>31|0)|0;P=D()|0;O=nw(o|0,p|0,m-B|0,((m-B|0)<0)<<31>>31|0)|0;do if((N|0)==(O|0)&(P|0)==(D()|0)?(O=nw(u|0,v|0,m-B|0,((m-B|0)<0)<<31>>31|0)|0,N=D()|0,P=nw(w|0,x|0,d-C|0,((d-C|0)<0)<<31>>31|0)|0,N=hD(P|0,D()|0,O|0,N|0)|0,O=D()|0,P=nw(y|0,A|0,b-F|0,((b-F|0)<0)<<31>>31|0)|0,P=hD(N|0,O|0,P|0,D()|0)|0,O=D()|0,(O|0)>0|(O|0)==0&P>>>0>0):0){if(f|0){if((c[f>>2]|0)!=(q|0))break;if((c[f+4>>2]|0)==(q|0)?(O=c[f+12>>2]|0,M=c[(c[q+8>>2]|0)+12>>2]|0,P=c[M+88>>2]|0,N=c[M+92>>2]|0,M=c[M+96>>2]|0,t=(c[O+96>>2]|0)-M|0,N=(z(b-M|0,(c[O+92>>2]|0)-N|0)|0)-(z(t,d-N|0)|0)|0,P=(z(t,m-P|0)|0)-(z(b-M|0,(c[O+88>>2]|0)-P|0)|0)|0,N=nw(N|0,((N|0)<0)<<31>>31|0,C-E|0,G|0)|0,O=D()|0,P=nw(P|0,((P|0)<0)<<31>>31|0,e|0,((e|0)<0)<<31>>31|0)|0,P=hD(N|0,O|0,P|0,D()|0)|0,O=D()|0,!((O|0)>0|(O|0)==0&P>>>0>0)):0)break}f=q}while(0);q=c[q>>2]|0}while((q|0)!=(n|0));c[L+72>>2]=f}if((r|0)!=0|(f|0)!=0){_b(a,g,l,L+120|0,L+72|0);f=c[L+120>>2]|0;if(f){h=c[f+12>>2]|0;g=h}f=c[L+72>>2]|0;if(!f)f=H;else{k=c[f+12>>2]|0;l=k;f=k;i=k+88|0;j=k+96|0;k=k+92|0}}else f=H;m=f;b=c[i>>2]|0;d=(c[j>>2]|0)+1|0;j=c[k>>2]|0}w=l;y=g;f=0;E=0;e=1;i=0;k=0;A=0;B=0;C=d;x=0;G=0;while(1){P=c[y+88>>2]|0;H=(c[w+88>>2]|0)-P|0;O=c[y+92>>2]|0;v=(c[w+92>>2]|0)-O|0;F=c[y+96>>2]|0;t=(c[w+96>>2]|0)-F|0;c[L+120>>2]=H;c[L+120+4>>2]=v;c[L+120+8>>2]=t;c[L+120+12>>2]=-1;P=b-P|0;O=j-O|0;F=C-F|0;u=(z(O,t)|0)-(z(F,v)|0)|0;F=(z(F,H)|0)-(z(P,t)|0)|0;O=(z(P,v)|0)-(z(O,H)|0)|0;c[L+72>>2]=u;c[L+72+4>>2]=((u|0)<0)<<31>>31;c[L+72+8>>2]=F;c[L+72+8+4>>2]=((F|0)<0)<<31>>31;c[L+72+16>>2]=O;c[L+72+16+4>>2]=((O|0)<0)<<31>>31;P=nw(O|0,((O|0)<0)<<31>>31|0,v|0,((v|0)<0)<<31>>31|0)|0;N=D()|0;M=nw(F|0,((F|0)<0)<<31>>31|0,t|0,((t|0)<0)<<31>>31|0)|0;M=xC(P|0,N|0,M|0,D()|0)|0;N=D()|0;t=nw(u|0,((u|0)<0)<<31>>31|0,t|0,((t|0)<0)<<31>>31|0)|0;P=D()|0;O=nw(O|0,((O|0)<0)<<31>>31|0,H|0,((H|0)<0)<<31>>31|0)|0;O=xC(t|0,P|0,O|0,D()|0)|0;P=D()|0;H=nw(F|0,((F|0)<0)<<31>>31|0,H|0,((H|0)<0)<<31>>31|0)|0;F=D()|0;v=nw(u|0,((u|0)<0)<<31>>31|0,v|0,((v|0)<0)<<31>>31|0)|0;v=xC(H|0,F|0,v|0,D()|0)|0;F=D()|0;c[L+48>>2]=M;c[L+48+4>>2]=N;c[L+48+8>>2]=O;c[L+48+8+4>>2]=P;c[L+48+16>>2]=v;c[L+48+16+4>>2]=F;c[L+24>>2]=0;c[L+24+4>>2]=0;c[L+24+8>>2]=0;c[L+24+12>>2]=0;c[L+24+16>>2]=0;F=ld(a,0,y,L+120|0,L+72|0,L+48|0,L+24|0)|0;c[L>>2]=0;c[L+4>>2]=0;c[L+8>>2]=0;c[L+12>>2]=0;c[L+16>>2]=0;v=ld(a,1,w,L+120|0,L+72|0,L+48|0,L)|0;do if((F|0)!=0|(v|0)!=0){d=F|0?-1:1;do if((F|0)!=0&(v|0)!=0){u=c[L+24+16>>2]|0;d=c[L+16>>2]|0;if((u|0)!=(d|0)){q=u-d|0;break}if(!u)q=0;else{P=c[L+24>>2]|0;s=c[L+24+4>>2]|0;o=c[L+8>>2]|0;N=c[L+8+4>>2]|0;n=nw(o|0,0,P|0,0)|0;d=D()|0;P=nw(N|0,0,P|0,0)|0;O=D()|0;o=nw(o|0,0,s|0,0)|0;p=D()|0;s=nw(N|0,0,s|0,0)|0;N=D()|0;o=hD(P|0,0,o|0,0)|0;P=D()|0;N=hD(O|0,0,s|0,N|0)|0;p=hD(N|0,D()|0,p|0,0)|0;P=hD(p|0,D()|0,P|0,0)|0;p=D()|0;d=hD(0,o|0,n|0,d|0)|0;n=D()|0;o=hD(P|0,p|0,(n>>>0>>0|(n|0)==(o|0)&d>>>0<0)&1|0,0)|0;p=D()|0;P=c[L+24+8>>2]|0;N=c[L+24+8+4>>2]|0;s=c[L>>2]|0;O=c[L+4>>2]|0;r=nw(s|0,0,P|0,0)|0;q=D()|0;P=nw(O|0,0,P|0,0)|0;M=D()|0;s=nw(s|0,0,N|0,0)|0;t=D()|0;N=nw(O|0,0,N|0,0)|0;O=D()|0;s=hD(P|0,0,s|0,0)|0;P=D()|0;O=hD(M|0,0,N|0,O|0)|0;t=hD(O|0,D()|0,t|0,0)|0;P=hD(t|0,D()|0,P|0,0)|0;t=D()|0;q=hD(0,s|0,r|0,q|0)|0;r=D()|0;s=hD(P|0,t|0,(r>>>0>>0|(r|0)==(s|0)&q>>>0<0)&1|0,0)|0;t=D()|0;if(p>>>0>>0|(p|0)==(t|0)&o>>>0>>0)d=-1;else d=p>>>0>t>>>0|(p|0)==(t|0)&o>>>0>s>>>0?1:n>>>0>>0|(n|0)==(r|0)&d>>>0>>0?-1:(n>>>0>r>>>0|(n|0)==(r|0)&d>>>0>q>>>0)&1;q=z(d,u)|0}}else q=d;while(0);do if(!e)if((q|0)>-1)if((c[L+16>>2]|0)<0&((c[L+8>>2]|0)==0?(c[L+8+4>>2]|0)==0:0)){u=A;p=B;break}else{I=139;break}else if((c[L+24+16>>2]|0)<0&((c[L+24+8>>2]|0)==0?(c[L+24+8+4>>2]|0)==0:0)){u=A;p=B;break}else{I=139;break}else I=139;while(0);if((I|0)==139){I=0;n=Nf(a,y,w)|0;if(!A)i=n;else c[A+4>>2]=n;c[n>>2]=A;d=c[n+8>>2]|0;if(!B)k=d;else c[B>>2]=d;c[d+4>>2]=B;u=n;p=d}c[L+116>>2]=F;c[L+112>>2]=v;if(!q){_b(a,h,m,L+116|0,L+112|0);d=c[L+112>>2]|0}else d=v;if((q|0)>-1&(d|0)!=0){o=(G|0)!=0;if(o?(J=c[G>>2]|0,(J|0)!=(v|0)):0){b=J;do{n=b;b=c[b>>2]|0;d=c[n+8>>2]|0;if((b|0)==(n|0))j=0;else{c[b+4>>2]=c[n+4>>2];c[c[n+4>>2]>>2]=b;j=b}c[(c[d+12>>2]|0)+8>>2]=j;j=c[d>>2]|0;if((j|0)==(d|0)){c[(c[n+12>>2]|0)+8>>2]=0;j=d+4|0}else{c[j+4>>2]=c[d+4>>2];c[c[d+4>>2]>>2]=j;c[(c[n+12>>2]|0)+8>>2]=j;j=d+4|0}c[n+4>>2]=0;c[n+4+4>>2]=0;c[n+4+8>>2]=0;c[n+4+12>>2]=0;c[n>>2]=c[a+56>>2];c[a+56>>2]=n;c[j>>2]=0;c[j+4>>2]=0;c[j+8>>2]=0;c[j+12>>2]=0;c[d>>2]=c[a+56>>2];c[a+56>>2]=d;c[a+116>>2]=(c[a+116>>2]|0)+-1}while((b|0)!=(v|0))}do if(p)if(o){c[G>>2]=k;c[k+4>>2]=G;c[p>>2]=v;c[v+4>>2]=p;j=E;k=0;break}else{j=c[v+4>>2]|0;c[j>>2]=k;c[k+4>>2]=j;c[p>>2]=v;c[v+4>>2]=p;j=k;k=0;break}else j=o?E:v;while(0);P=m;A=c[L+112>>2]|0;m=c[A+12>>2]|0;s=j;y=0;b=c[P+88>>2]|0;d=c[P+96>>2]|0;j=c[P+92>>2]|0;A=c[A+8>>2]|0}else{s=E;y=p;d=C;A=G}if((q|0)<1&(c[L+116>>2]|0)!=0){p=(x|0)!=0;if(p?(K=c[x+4>>2]|0,(K|0)!=(F|0)):0){b=K;do{o=b+4|0;n=b;b=c[o>>2]|0;j=c[n>>2]|0;d=c[n+8>>2]|0;if((j|0)==(n|0))j=0;else{c[j+4>>2]=b;c[c[o>>2]>>2]=j}c[(c[d+12>>2]|0)+8>>2]=j;j=c[d>>2]|0;if((j|0)==(d|0)){c[(c[n+12>>2]|0)+8>>2]=0;j=d+4|0}else{c[j+4>>2]=c[d+4>>2];c[c[d+4>>2]>>2]=j;c[(c[n+12>>2]|0)+8>>2]=j;j=d+4|0}c[o>>2]=0;c[o+4>>2]=0;c[o+8>>2]=0;c[o+12>>2]=0;c[n>>2]=c[a+56>>2];c[a+56>>2]=n;c[j>>2]=0;c[j+4>>2]=0;c[j+8>>2]=0;c[j+12>>2]=0;c[d>>2]=c[a+56>>2];c[a+56>>2]=d;c[a+116>>2]=(c[a+116>>2]|0)+-1}while((b|0)!=(F|0))}do if(u)if(p){c[i>>2]=x;c[x+4>>2]=i;c[F>>2]=u;c[u+4>>2]=F;i=0;break}else{f=c[F>>2]|0;c[i>>2]=f;c[f+4>>2]=i;c[F>>2]=u;c[u+4>>2]=F;f=i;i=0;break}else f=p?f:F;while(0);j=h;x=c[L+116>>2]|0;h=c[x+12>>2]|0;u=0;v=c[j+88>>2]|0;w=c[j+96>>2]|0;j=c[j+92>>2]|0;x=c[x+8>>2]|0}else{v=b;w=d}if((g|0)==(h|0)&(l|0)==(m|0)){if(x){q=x+4|0;d=c[q>>2]|0;if((d|0)!=(f|0))do{p=d+4|0;o=d;d=c[p>>2]|0;b=c[o>>2]|0;n=c[o+8>>2]|0;if((b|0)==(o|0))b=0;else{c[b+4>>2]=d;c[c[p>>2]>>2]=b}c[(c[n+12>>2]|0)+8>>2]=b;b=c[n>>2]|0;if((b|0)==(n|0)){c[(c[o+12>>2]|0)+8>>2]=0;b=n+4|0}else{c[b+4>>2]=c[n+4>>2];c[c[n+4>>2]>>2]=b;c[(c[o+12>>2]|0)+8>>2]=b;b=n+4|0}c[p>>2]=0;c[p+4>>2]=0;c[p+8>>2]=0;c[p+12>>2]=0;c[o>>2]=c[a+56>>2];c[a+56>>2]=o;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;c[b+12>>2]=0;c[n>>2]=c[a+56>>2];c[a+56>>2]=n;c[a+116>>2]=(c[a+116>>2]|0)+-1}while((d|0)!=(f|0));if(u|0){c[i>>2]=x;c[q>>2]=i;c[f>>2]=u;c[u+4>>2]=f}}else{c[i>>2]=u;c[u+4>>2]=i;c[h+8>>2]=u}if(!A){c[y>>2]=k;c[k+4>>2]=y;c[l+8>>2]=y;r=0;t=e;q=u;p=y;b=v;o=w;n=x;d=0;break}d=c[A>>2]|0;if((d|0)!=(s|0))do{o=d;d=c[d>>2]|0;n=c[o+8>>2]|0;if((d|0)==(o|0))b=0;else{c[d+4>>2]=c[o+4>>2];c[c[o+4>>2]>>2]=d;b=d}c[(c[n+12>>2]|0)+8>>2]=b;b=c[n>>2]|0;if((b|0)==(n|0)){c[(c[o+12>>2]|0)+8>>2]=0;b=n+4|0}else{c[b+4>>2]=c[n+4>>2];c[c[n+4>>2]>>2]=b;c[(c[o+12>>2]|0)+8>>2]=b;b=n+4|0}c[o+4>>2]=0;c[o+4+4>>2]=0;c[o+4+8>>2]=0;c[o+4+12>>2]=0;c[o>>2]=c[a+56>>2];c[a+56>>2]=o;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;c[b+12>>2]=0;c[n>>2]=c[a+56>>2];c[a+56>>2]=n;c[a+116>>2]=(c[a+116>>2]|0)+-1}while((d|0)!=(s|0));if(!y){r=0;t=e;q=u;p=0;b=v;o=w;n=x;d=A}else{c[A>>2]=k;c[k+4>>2]=A;c[y>>2]=s;c[s+4>>2]=y;r=0;t=e;q=u;p=y;b=v;o=w;n=x;d=A}}else{r=1;t=0;q=u;p=y;b=v;o=w;n=x;d=A}}else{r=Nf(a,y,w)|0;c[r>>2]=r;c[r+4>>2]=r;c[y+8>>2]=r;r=c[r+8>>2]|0;c[r>>2]=r;c[r+4>>2]=r;c[w+8>>2]=r;r=0;s=E;t=e;q=A;p=B;o=C;n=x;d=G}while(0);if(!r)break c;w=m;y=h;E=s;e=t;A=q;B=p;C=o;x=n;G=d}}while(0);Ta=L;return}}while(0);c[f+8>>2]=0;c[f>>2]=f;c[f+4>>2]=f;c[e>>2]=f;c[e+4>>2]=f;c[e+8>>2]=f;c[e+12>>2]=f;Ta=L;return} -function Iv(a,b){a=a|0;b=b|0;f[a>>2]=+f[a>>2]+ +f[b>>2];f[a+4>>2]=+f[a+4>>2]+ +f[b+4>>2];f[a+8>>2]=+f[a+8>>2]+ +f[b+8>>2];return a|0}function Jv(a,b){a=a|0;b=b|0;f[a>>2]=+f[a>>2]-+f[b>>2];f[a+4>>2]=+f[a+4>>2]-+f[b+4>>2];f[a+8>>2]=+f[a+8>>2]-+f[b+8>>2];return a|0}function Kv(a,b){a=a|0;b=b|0;var c=0;c=Ta;Ta=Ta+64|0;Mp(c,b,a+68|0);Ps(a+4|0,c);Ta=c;return}function Lv(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;sa(19,a|0,b|0,c|0,d|0,e|0,f|0,g|0,h|0,+i)}function Mv(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;sa(18,a|0,b|0,c|0,d|0,e|0,f|0,g|0,h|0,+i)}function Nv(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;sa(17,a|0,b|0,c|0,d|0,e|0,f|0,g|0,h|0,+i)}function Ov(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;sa(16,a|0,b|0,c|0,d|0,e|0,f|0,g|0,h|0,+i)}function Pv(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;sa(15,a|0,b|0,c|0,d|0,e|0,f|0,g|0,h|0,+i)}function Qv(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;sa(14,a|0,b|0,c|0,d|0,e|0,f|0,g|0,h|0,+i)}function Rv(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;sa(13,a|0,b|0,c|0,d|0,e|0,f|0,g|0,h|0,+i)}function Sv(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;sa(12,a|0,b|0,c|0,d|0,e|0,f|0,g|0,h|0,+i)}function Tv(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;sa(11,a|0,b|0,c|0,d|0,e|0,f|0,g|0,h|0,+i)}function Uv(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;sa(10,a|0,b|0,c|0,d|0,e|0,f|0,g|0,h|0,+i)}function Vv(a){a=a|0;var b=0;b=pZ(112)|0;mg(b,a);return b|0}function Wv(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;sa(9,a|0,b|0,c|0,d|0,e|0,f|0,g|0,h|0,+i)}function Xv(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;sa(8,a|0,b|0,c|0,d|0,e|0,f|0,g|0,h|0,+i)}function Yv(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;sa(7,a|0,b|0,c|0,d|0,e|0,f|0,g|0,h|0,+i)}function Zv(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;sa(6,a|0,b|0,c|0,d|0,e|0,f|0,g|0,h|0,+i)}function _v(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;sa(5,a|0,b|0,c|0,d|0,e|0,f|0,g|0,h|0,+i)}function $v(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;sa(4,a|0,b|0,c|0,d|0,e|0,f|0,g|0,h|0,+i)}function aw(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;sa(3,a|0,b|0,c|0,d|0,e|0,f|0,g|0,h|0,+i)}function bw(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;sa(2,a|0,b|0,c|0,d|0,e|0,f|0,g|0,h|0,+i)}function cw(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;sa(1,a|0,b|0,c|0,d|0,e|0,f|0,g|0,h|0,+i)}function dw(a,b,c,d,e,f,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=+i;sa(0,a|0,b|0,c|0,d|0,e|0,f|0,g|0,h|0,+i)}function ew(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=gx()|0;Zd(d,a,b,c&65535,0,0);return d|0}function fw(a,b){a=a|0;b=b|0;c[a+76>>2]=c[b>>2];c[a+76+4>>2]=c[b+4>>2];c[a+76+8>>2]=c[b+8>>2];c[a+76+12>>2]=c[b+12>>2];return}function gw(a,b){a=a|0;b=b|0;c[a+4>>2]=c[b>>2];c[a+4+4>>2]=c[b+4>>2];c[a+4+8>>2]=c[b+8>>2];c[a+4+12>>2]=c[b+12>>2];return}function hw(a,b){a=a|0;b=b|0;c[a>>2]=c[b>>2];c[a+4>>2]=c[b+4>>2];c[a+8>>2]=c[b+8>>2];c[a+12>>2]=c[b+12>>2];return}function iw(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0;e=Ww(1252)|0;jc(e,a,b,c,d);return e|0}function jw(a,b){a=a|0;b=b|0;c[a+40>>2]=c[b>>2];c[a+40+4>>2]=c[b+4>>2];c[a+40+8>>2]=c[b+8>>2];c[a+40+12>>2]=c[b+12>>2];return}function kw(a,b){a=a|0;b=b|0;c[a+24>>2]=c[b>>2];c[a+24+4>>2]=c[b+4>>2];c[a+24+8>>2]=c[b+8>>2];c[a+24+12>>2]=c[b+12>>2];return}function lw(a,b){a=a|0;b=b|0;c[a+72>>2]=c[b>>2];c[a+72+4>>2]=c[b+4>>2];c[a+72+8>>2]=c[b+8>>2];c[a+72+12>>2]=c[b+12>>2];return}function mw(a,b){a=a|0;b=b|0;c[a+56>>2]=c[b>>2];c[a+56+4>>2]=c[b+4>>2];c[a+56+8>>2]=c[b+8>>2];c[a+56+12>>2]=c[b+12>>2];return}function nw(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0;e=hq(a,c)|0;f=D()|0;return (C((z(b,c)|0)+(z(d,a)|0)+f|f&0|0),e|0|0)|0}function ow(a,b){a=a|0;b=b|0;f[a>>2]=+f[a>>2]*+f[b>>2];f[a+4>>2]=+f[a+4>>2]*+f[b>>2];f[a+8>>2]=+f[a+8>>2]*+f[b>>2];return a|0}function pw(a,b){a=a|0;b=b|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;c[a+12>>2]=0;f[a+(c[b+52>>2]<<2)>>2]=1.0;return}function qw(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;return lb[a&31](b|0,c|0,d|0,e|0,f|0,g|0,h|0)|0}function rw(a,b){a=a|0;b=b|0;c[a+8>>2]=c[b>>2];c[a+8+4>>2]=c[b+4>>2];c[a+8+8>>2]=c[b+8>>2];c[a+8+12>>2]=c[b+12>>2];return}function sw(){var a=0;c[6879]=(c[6879]|0)+1;a=Zb(215)|0;if(!a){a=0;return a|0}c[(a+4+15&-16)+-4>>2]=a;a=a+4+15&-16;return a|0}function tw(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ox()|0;Ue(d,a,b,c);return d|0}function uw(a){a=a|0;RT(a+60|0);RT(a+40|0);RT(a+20|0);RT(a);return}function vw(a){a=a|0;ZT(a);ZT(a+20|0);ZT(a+40|0);ZT(a+60|0);return}function ww(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return md(b,c,d,e)|0}function xw(a,b){a=a|0;b=b|0;var d=0;d=0;while(1){if((d|0)>=(b|0))break;WX((c[a+12>>2]|0)+(d*36|0)|0);d=d+1|0}return}function yw(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;return +L(19,a|0,b|0,c|0,d|0,e|0,f|0,g|0,h|0)}function zw(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;return +L(18,a|0,b|0,c|0,d|0,e|0,f|0,g|0,h|0)}function Aw(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;return +L(17,a|0,b|0,c|0,d|0,e|0,f|0,g|0,h|0)}function Bw(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;return +L(16,a|0,b|0,c|0,d|0,e|0,f|0,g|0,h|0)}function Cw(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;return +L(15,a|0,b|0,c|0,d|0,e|0,f|0,g|0,h|0)}function Dw(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;return +L(14,a|0,b|0,c|0,d|0,e|0,f|0,g|0,h|0)}function Ew(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;return +L(13,a|0,b|0,c|0,d|0,e|0,f|0,g|0,h|0)}function Fw(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;return +L(12,a|0,b|0,c|0,d|0,e|0,f|0,g|0,h|0)}function Gw(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;return +L(11,a|0,b|0,c|0,d|0,e|0,f|0,g|0,h|0)}function Hw(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;return +L(10,a|0,b|0,c|0,d|0,e|0,f|0,g|0,h|0)}function Iw(){var a=0;c[6879]=(c[6879]|0)+1;a=Zb(203)|0;if(!a){a=0;return a|0}c[(a+4+15&-16)+-4>>2]=a;a=a+4+15&-16;return a|0}function Jw(){var a=0;c[6879]=(c[6879]|0)+1;a=Zb(1407)|0;if(!a){a=0;return a|0}c[(a+4+15&-16)+-4>>2]=a;a=a+4+15&-16;return a|0}function Kw(a){a=a|0;xw(a,D$(c[a+4>>2]|0)|0);Hx(a);tF(a);return}function Lw(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;return +L(9,a|0,b|0,c|0,d|0,e|0,f|0,g|0,h|0)}function Mw(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;return +L(8,a|0,b|0,c|0,d|0,e|0,f|0,g|0,h|0)}function Nw(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;return +L(7,a|0,b|0,c|0,d|0,e|0,f|0,g|0,h|0)}function Ow(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;return +L(6,a|0,b|0,c|0,d|0,e|0,f|0,g|0,h|0)}function Pw(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;return +L(5,a|0,b|0,c|0,d|0,e|0,f|0,g|0,h|0)}function Qw(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;return +L(4,a|0,b|0,c|0,d|0,e|0,f|0,g|0,h|0)}function Rw(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;return +L(3,a|0,b|0,c|0,d|0,e|0,f|0,g|0,h|0)}function Sw(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;return +L(2,a|0,b|0,c|0,d|0,e|0,f|0,g|0,h|0)}function Tw(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;return +L(1,a|0,b|0,c|0,d|0,e|0,f|0,g|0,h|0)}function Uw(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;return +L(0,a|0,b|0,c|0,d|0,e|0,f|0,g|0,h|0)}function Vw(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=+e;f=f|0;g=g|0;Bb[c[(c[a>>2]|0)+32>>2]&31](a,b,d,e,f,g);return}function Ww(a){a=a|0;c[6879]=(c[6879]|0)+1;a=Zb(a+19|0)|0;if(!a){a=0;return a|0}c[(a+4+15&-16)+-4>>2]=a;a=a+4+15&-16;return a|0}function Xw(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=+d;e=e|0;f=f|0;Ka(2,a|0,b|0,c|0,+d,e|0,f|0)|0;return}function Yw(a){a=a|0;var b=0;b=mx()|0;Tn();Pr(b,a,25856);return b|0}function Zw(){var a=0;c[6879]=(c[6879]|0)+1;a=Zb(191)|0;if(!a){a=0;return a|0}c[(a+4+15&-16)+-4>>2]=a;a=a+4+15&-16;return a|0}function _w(a,b){a=a|0;b=b|0;if(!b?c[a+204>>2]&3|0:0)return;if((c[a+216>>2]&-2|0)!=4)c[a+216>>2]=1;f[a+220>>2]=0.0;return}function $w(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;Cb[c[(c[a+-4>>2]|0)+8>>2]&127](a+-4|0,b,d,e);return}function ax(a,b){a=a|0;b=b|0;var c=0.0;c=+cV(a);c=+g$(c*+cV(b));return +(+bN(+Dp(a,b)/c))}function bx(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;c[a>>2]=c[b>>2];c[a+4>>2]=c[d>>2];c[a+8>>2]=c[e>>2];f[a+12>>2]=0.0;return}function cx(){var a=0;c[6879]=(c[6879]|0)+1;a=Zb(143)|0;if(!a){a=0;return a|0}c[(a+4+15&-16)+-4>>2]=a;a=a+4+15&-16;return a|0}function dx(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;Jb[a&31](b|0,c|0,d|0,e|0,f|0,g|0,h|0)}function ex(){var a=0;c[6879]=(c[6879]|0)+1;a=Zb(1331)|0;if(!a){a=0;return a|0}c[(a+4+15&-16)+-4>>2]=a;a=a+4+15&-16;return a|0}function fx(){var a=0;c[6879]=(c[6879]|0)+1;a=Zb(379)|0;if(!a){a=0;return a|0}c[(a+4+15&-16)+-4>>2]=a;a=a+4+15&-16;return a|0}function gx(){var a=0;c[6879]=(c[6879]|0)+1;a=Zb(135)|0;if(!a){a=0;return a|0}c[(a+4+15&-16)+-4>>2]=a;a=a+4+15&-16;return a|0}function hx(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;if(e)c[a+84>>2]=b;else c[a+80>>2]=b;c[a+88>>2]=d;return}function ix(a,b,c,d){a=a|0;b=b|0;c=c|0;d=+d;return}function jx(){var a=0;c[6879]=(c[6879]|0)+1;a=Zb(627)|0;if(!a){a=0;return a|0}c[(a+4+15&-16)+-4>>2]=a;a=a+4+15&-16;return a|0}function kx(a,b){a=a|0;b=b|0;var c=0;c=gx()|0;Zd(c,a,b,16384,0,0);return c|0}function lx(){var a=0;c[6879]=(c[6879]|0)+1;a=Zb(791)|0;if(!a){a=0;return a|0}c[(a+4+15&-16)+-4>>2]=a;a=a+4+15&-16;return a|0}function mx(){var a=0;c[6879]=(c[6879]|0)+1;a=Zb(219)|0;if(!a){a=0;return a|0}c[(a+4+15&-16)+-4>>2]=a;a=a+4+15&-16;return a|0}function nx(){var a=0;c[6879]=(c[6879]|0)+1;a=Zb(1147)|0;if(!a){a=0;return a|0}c[(a+4+15&-16)+-4>>2]=a;a=a+4+15&-16;return a|0}function ox(a,b){a=a|0;b=b|0;var c=0;c=pZ(80)|0;en(c,a,b);return c|0}function px(){var a=0;c[6879]=(c[6879]|0)+1;a=Zb(103)|0;if(!a){a=0;return a|0}c[(a+4+15&-16)+-4>>2]=a;a=a+4+15&-16;return a|0}function qx(){var a=0;c[6879]=(c[6879]|0)+1;a=Zb(147)|0;if(!a){a=0;return a|0}c[(a+4+15&-16)+-4>>2]=a;a=a+4+15&-16;return a|0}function rx(a){a=+a;a=+XZ(a);if(a<-3.1415927410125732){a=a+6.2831854820251465;return +a}if(!(a>3.1415927410125732))return +a;a=a+-6.2831854820251465;return +a}function sx(){var a=0;c[6879]=(c[6879]|0)+1;a=Zb(115)|0;if(!a){a=0;return a|0}c[(a+4+15&-16)+-4>>2]=a;a=a+4+15&-16;return a|0}function tx(){var a=0;c[6879]=(c[6879]|0)+1;a=Zb(783)|0;if(!a){a=0;return a|0}c[(a+4+15&-16)+-4>>2]=a;a=a+4+15&-16;return a|0}function ux(){var a=0;c[6879]=(c[6879]|0)+1;a=Zb(131)|0;if(!a){a=0;return a|0}c[(a+4+15&-16)+-4>>2]=a;a=a+4+15&-16;return a|0}function vx(a,b){a=a|0;b=b|0;c[a+348>>2]=c[b>>2];c[a+348+4>>2]=c[b+4>>2];c[a+348+8>>2]=c[b+8>>2];return}function wx(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;if((d|0)<=0)return;el(c|0,0,d<<4|0)|0;return}function xx(a,b,c){a=a|0;b=b|0;c=c|0;qd(b,c);return}function yx(){var a=0;c[6879]=(c[6879]|0)+1;a=Zb(111)|0;if(!a){a=0;return a|0}c[(a+4+15&-16)+-4>>2]=a;a=a+4+15&-16;return a|0}function zx(a,b){a=a|0;b=b|0;c[a+480>>2]=b;if(!b)return;vb[c[(c[b>>2]|0)+8>>2]&255](b,a+4|0);return}function Ax(a,b){a=a|0;b=b|0;var c=0;c=Ox()|0;Ue(c,a,b,1);return c|0}function Bx(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=c[a+192>>2]|0;Cb[c[(c[e>>2]|0)+8>>2]&127](e,a+4|0,b,d);return}function Cx(a){a=a|0;var b=0;b=pZ(92)|0;Md(b,a);return b|0}function Dx(a,b){a=a|0;b=b|0;c[a>>2]=1065353216;c[a+4>>2]=1065353216;c[a+8>>2]=1065353216;f[a+12>>2]=0.0;return}function Ex(b){b=b|0;if(!(eb[c[(c[b>>2]|0)+40>>2]&255](b)|0))return;c[b+16>>2]=c[b+28>>2];a[b+169>>0]=1;return}function Fx(a){a=a|0;var b=0;b=Ta;Ta=Ta+16|0;c[b>>2]=D$(c[a+60>>2]|0)|0;a=uY(Ea(6,b|0)|0)|0;Ta=b;return a|0}function Gx(a,b){a=a|0;b=b|0;var d=0;d=c[a+8>>2]|0;zb[c[d+60>>2]&127](b,d,c[a+4>>2]|0);return 0}function Hx(b){b=b|0;var d=0;d=c[b+12>>2]|0;if(!d)return;if(a[b+16>>0]&1)dI(d);c[b+12>>2]=0;return}function Ix(){var a=0;c[6879]=(c[6879]|0)+1;a=Zb(71)|0;if(!a){a=0;return a|0}c[(a+4+15&-16)+-4>>2]=a;a=a+4+15&-16;return a|0}function Jx(a,b){a=a|0;b=b|0;var d=0;d=a+92|0;do{c[a>>2]=c[b>>2];a=a+4|0;b=b+4|0}while((a|0)<(d|0));return}function Kx(){var a=0;c[6879]=(c[6879]|0)+1;a=Zb(51)|0;if(!a){a=0;return a|0}c[(a+4+15&-16)+-4>>2]=a;a=a+4+15&-16;return a|0}function Lx(a,b){a=a|0;b=b|0;var c=0;c=pZ(132)|0;fm(c,a,b);return c|0}function Mx(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Mg(a,b,c,d);return}function Nx(){var a=0;c[6879]=(c[6879]|0)+1;a=Zb(67)|0;if(!a){a=0;return a|0}c[(a+4+15&-16)+-4>>2]=a;a=a+4+15&-16;return a|0}function Ox(){var a=0;c[6879]=(c[6879]|0)+1;a=Zb(95)|0;if(!a){a=0;return a|0}c[(a+4+15&-16)+-4>>2]=a;a=a+4+15&-16;return a|0}function Px(a,b){a=a|0;b=b|0;return +(+hI(+f[a>>2],+f[a+4>>2],+f[a+8>>2],+f[b>>2],+f[b+4>>2],+f[b+8>>2]))}function Qx(a,b){a=a|0;b=b|0;var c=0;c=pZ(84)|0;rn(c,a,b);return c|0}function Rx(a,b,d){a=a|0;b=b|0;d=d|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;c[a+12>>2]=0;return}function Sx(){var a=0;c[6879]=(c[6879]|0)+1;a=Zb(75)|0;if(!a){a=0;return a|0}c[(a+4+15&-16)+-4>>2]=a;a=a+4+15&-16;return a|0}function Tx(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;return kb[a&31](b|0,c|0,d|0,e|0,f|0,g|0)|0}function Ux(){var a=0;c[6879]=(c[6879]|0)+1;a=Zb(35)|0;if(!a){a=0;return a|0}c[(a+4+15&-16)+-4>>2]=a;a=a+4+15&-16;return a|0}function Vx(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;return V(19,a|0,b|0,c|0,d|0,e|0,f|0,g|0)|0}function Wx(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;return V(18,a|0,b|0,c|0,d|0,e|0,f|0,g|0)|0}function Xx(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;return V(17,a|0,b|0,c|0,d|0,e|0,f|0,g|0)|0}function Yx(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;return V(16,a|0,b|0,c|0,d|0,e|0,f|0,g|0)|0}function Zx(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;return V(15,a|0,b|0,c|0,d|0,e|0,f|0,g|0)|0}function _x(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;return V(14,a|0,b|0,c|0,d|0,e|0,f|0,g|0)|0}function $x(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;return V(13,a|0,b|0,c|0,d|0,e|0,f|0,g|0)|0}function ay(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;return V(12,a|0,b|0,c|0,d|0,e|0,f|0,g|0)|0}function by(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;return V(11,a|0,b|0,c|0,d|0,e|0,f|0,g|0)|0}function cy(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;return V(10,a|0,b|0,c|0,d|0,e|0,f|0,g|0)|0}function dy(a){a=a|0;ig(a);if(!a)return;c[6880]=(c[6880]|0)+1;kd(c[a+-4>>2]|0);return}function ey(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;Cb[c[(c[a>>2]|0)+8>>2]&127](a,b,d,e);return}function fy(a){a=a|0;c[a>>2]=3752;f[a+4>>2]=1.0;c[a+8>>2]=0;b[a+12>>1]=1;b[a+14>>1]=-1;c[a+16>>2]=0;return}function gy(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;Cb[c[(c[a>>2]|0)+8>>2]&127](a,b,d,e);return}function hy(a){a=a|0;var b=0;b=Sx()|0;Wi(b,a);c[b>>2]=9960;c[b+52>>2]=2;return b|0}function iy(a){a=a|0;var b=0;b=Sx()|0;Wi(b,a);c[b>>2]=9856;c[b+52>>2]=0;return b|0}function jy(a){a=a|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=4096;c[a+12>>2]=4096;c[a+16>>2]=0;c[a+20>>2]=1;return}function ky(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;return V(9,a|0,b|0,c|0,d|0,e|0,f|0,g|0)|0}function ly(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;return V(8,a|0,b|0,c|0,d|0,e|0,f|0,g|0)|0}function my(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;return V(7,a|0,b|0,c|0,d|0,e|0,f|0,g|0)|0}function ny(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;return V(6,a|0,b|0,c|0,d|0,e|0,f|0,g|0)|0}function oy(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;return V(5,a|0,b|0,c|0,d|0,e|0,f|0,g|0)|0}function py(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;return V(4,a|0,b|0,c|0,d|0,e|0,f|0,g|0)|0}function qy(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;return V(3,a|0,b|0,c|0,d|0,e|0,f|0,g|0)|0}function ry(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;return V(2,a|0,b|0,c|0,d|0,e|0,f|0,g|0)|0}function sy(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;return V(1,a|0,b|0,c|0,d|0,e|0,f|0,g|0)|0}function ty(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;return V(0,a|0,b|0,c|0,d|0,e|0,f|0,g|0)|0}function uy(a,b,d){a=a|0;b=b|0;d=d|0;me(c[a+116>>2]|0,c[a+164>>2]|0,b,d);return}function vy(a,b){a=a|0;b=+b;var c=0;c=Ta;Ta=Ta+16|0;f[c>>2]=b;a=gr(a,c)|0;Ta=c;return a|0}function wy(a,b){a=a|0;b=b|0;var c=0;c=mx()|0;Pr(c,a,b);return c|0}function xy(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){C(b<>>32-c|0);return a<>2]|0,c[b+4>>2]|0)|0)==0;else d=(a|0)==(b|0);return d|0}function Ay(a,b,d){a=a|0;b=b|0;d=d|0;zb[c[(c[b>>2]|0)+64>>2]&127](a,b,d);return}function By(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return 0.0}function Cy(a,b,d){a=a|0;b=+b;d=d|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;return}function Dy(a,b,d){a=a|0;b=b|0;d=d|0;Pg(c[a+116>>2]|0,b,d,1.0);return}function Ey(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;Cb[c[(c[a>>2]|0)+80>>2]&127](a,b,d,e);return}function Fy(a){a=a|0;if(!a){a=0;return a|0}a=Lt(a)|0;return a|0}function Gy(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;f=f|0;g=g|0;return +_a[a&31](b|0,c|0,d|0,+e,f|0,g|0)}function Hy(a,b){a=a|0;b=+b;var c=0;c=Ta;Ta=Ta+16|0;f[c>>2]=b;a=ow(a,c)|0;Ta=c;return a|0}function Iy(a){a=a|0;if(c[a+204>>2]&3|0)return;if((c[a+216>>2]&-2|0)!=4)c[a+216>>2]=1;f[a+220>>2]=0.0;return}function Jy(a,b){a=a|0;b=b|0;lo(a,+f[b>>2],+f[b+4>>2],+f[b+8>>2]);return}function Ky(){var a=0;a=pZ(8)|0;c[a>>2]=0;c[a+4>>2]=0;zJ(a);return a|0}function Ly(a,b){a=a|0;b=b|0;a=c[a+4>>2]|0;gb[c[(c[a>>2]|0)+8>>2]&63](a,c[b+36>>2]|0)|0;return}function My(a,b){a=a|0;b=b|0;Rs(a,b);bx(a+48|0,b+48|0,b+52|0,b+56|0);return}function Ny(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;Ib[a&31](b|0,c|0,d|0,e|0,f|0,g|0)}function Oy(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){C(b>>>c|0);return a>>>c|(b&(1<>>c-32|0}function Py(a,b){a=a|0;b=b|0;c[a+260>>2]=(c[a+260>>2]|0)+1;c[a+192>>2]=b;c[a+200>>2]=b;return}function Qy(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;ra(19,a|0,b|0,c|0,d|0,e|0,f|0,g|0)}function Ry(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;ra(18,a|0,b|0,c|0,d|0,e|0,f|0,g|0)}function Sy(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;ra(17,a|0,b|0,c|0,d|0,e|0,f|0,g|0)}function Ty(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;ra(16,a|0,b|0,c|0,d|0,e|0,f|0,g|0)}function Uy(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;ra(15,a|0,b|0,c|0,d|0,e|0,f|0,g|0)}function Vy(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;ra(14,a|0,b|0,c|0,d|0,e|0,f|0,g|0)}function Wy(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;ra(13,a|0,b|0,c|0,d|0,e|0,f|0,g|0)}function Xy(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;ra(12,a|0,b|0,c|0,d|0,e|0,f|0,g|0)}function Yy(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;ra(11,a|0,b|0,c|0,d|0,e|0,f|0,g|0)}function Zy(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;ra(10,a|0,b|0,c|0,d|0,e|0,f|0,g|0)}function _y(a,b,c,d,e,f,g,h,i,j,k,l){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;f=+f;g=+g;h=+h;i=+i;j=j|0;k=+k;l=l|0;B(36)}function $y(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;Cb[c[(c[a>>2]|0)+24>>2]&127](a,b,d,e);return}function az(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;Cb[c[(c[a>>2]|0)+88>>2]&127](a,b,d,e);return}function bz(a,b,d){a=a|0;b=b|0;d=d|0;zb[c[(c[b>>2]|0)+68>>2]&127](a,b,d);return}function cz(b,d){b=b|0;d=d|0;b=(a[b+344>>0]|0)==0?3:0;c[d>>2]=b;c[d+4>>2]=b;return}function dz(a,b){a=a|0;b=+b;var c=0;c=Ta;Ta=Ta+16|0;f[c>>2]=1.0/b;a=gr(a,c)|0;Ta=c;return a|0}function ez(a,b,d){a=a|0;b=+b;d=d|0;return fb[c[(c[a>>2]|0)+52>>2]&31](a,b,d,.01666666753590107)|0}function fz(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;ra(9,a|0,b|0,c|0,d|0,e|0,f|0,g|0)}function gz(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;ra(8,a|0,b|0,c|0,d|0,e|0,f|0,g|0)}function hz(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;ra(7,a|0,b|0,c|0,d|0,e|0,f|0,g|0)}function iz(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;ra(6,a|0,b|0,c|0,d|0,e|0,f|0,g|0)}function jz(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;ra(5,a|0,b|0,c|0,d|0,e|0,f|0,g|0)}function kz(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;ra(4,a|0,b|0,c|0,d|0,e|0,f|0,g|0)}function lz(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;ra(3,a|0,b|0,c|0,d|0,e|0,f|0,g|0)}function mz(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;ra(2,a|0,b|0,c|0,d|0,e|0,f|0,g|0)}function nz(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;ra(1,a|0,b|0,c|0,d|0,e|0,f|0,g|0)}function oz(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;ra(0,a|0,b|0,c|0,d|0,e|0,f|0,g|0)}function pz(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;Cb[c[(c[a>>2]|0)+36>>2]&127](a,b,d,e);return}function qz(a,b,d,e){a=a|0;b=+b;d=d|0;e=+e;return fb[c[(c[a>>2]|0)+52>>2]&31](a,b,d,e)|0}function rz(a,b,d){a=a|0;b=+b;d=d|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;return}function sz(a,b){a=a|0;b=b|0;Co(a,+f[b>>2],+f[b+4>>2],+f[b+8>>2]);return}function tz(){var a=0;a=Kx()|0;c[a+8>>2]=0;f[a+12>>2]=0.0;c[a>>2]=8692;c[a+4>>2]=27;return a|0}function uz(a,b){a=a|0;b=b|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=1065353216;f[a+12>>2]=0.0;return}function vz(a,b){a=a|0;b=b|0;c[a>>2]=1065353216;c[a+4>>2]=0;c[a+8>>2]=0;f[a+12>>2]=0.0;return}function wz(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=+g;Hb[a&31](b|0,c|0,d|0,e|0,f|0,+g)}function xz(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;f=f|0;g=g|0;Bb[a&31](b|0,c|0,d|0,+e,f|0,g|0)}function yz(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;Cb[c[(c[a>>2]|0)+28>>2]&127](a,b,d,e);return}function zz(a,b){a=a|0;b=b|0;c[a>>2]=0;c[a+4>>2]=1065353216;c[a+8>>2]=0;f[a+12>>2]=0.0;return}function Az(a,b){a=a|0;b=b|0;zb[c[(c[a>>2]|0)+8>>2]&127](a,b,c[(c[a+8>>2]|0)+48>>2]|0);return}function Bz(a,b){a=a|0;b=b|0;Do(a,+f[b>>2],+f[b+4>>2],+f[b+8>>2]);return}function Cz(a,b,d){a=a|0;b=b|0;d=+d;wb[c[(c[a>>2]|0)+20>>2]&31](a,b,d);return}function Dz(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;hx(a,b,c,d);return}function Ez(b,d,e){b=b|0;d=d|0;e=+e;f[(c[b+720>>2]|0)+(d*104|0)+88>>2]=e>0.0?1.0/e:0.0;a[b+924>>0]=1;return}function Fz(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;Cb[c[(c[a>>2]|0)+124>>2]&127](a,e,b,d);return}function Gz(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;c[a+120>>2]=b;c[a+124>>2]=d;c[a+128>>2]=e;return}function Hz(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;jb[c[(c[a>>2]|0)+8>>2]&63](a,b,d,e)|0;return}function Iz(a,b){a=a|0;b=b|0;Dq(a,+f[b>>2],+f[b+4>>2],+f[b+8>>2]);return}function Jz(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;bx(a,b,d,e);c[a+12>>2]=c[f>>2];return}function Kz(b,c,d,e){b=b|0;c=c|0;d=+d;e=+e;a[b+737>>0]=c&1;f[b+680>>2]=d;f[b+684>>2]=e;return}function Lz(a,b){a=a|0;b=b|0;var d=0.0,e=0;e=(c[b>>2]|0)+(8-1)&~(8-1);d=+g[e>>3];c[b>>2]=e+8;g[a>>3]=d;return}function Mz(a,b){a=a|0;b=b|0;ro(a,+f[b>>2],+f[b+4>>2],+f[b+8>>2]);return}function Nz(a,b,c,d,e,f){a=a|0;b=+b;c=+c;d=+d;e=+e;f=+f;mo(a,b,c,d,e,f);return}function Oz(a,b,c,d,e,f,g){a=a|0;b=b|0;c=+c;d=+d;e=e|0;f=f|0;g=g|0;sb[a&31](b|0,+c,+d,e|0,f|0,g|0)}function Pz(a){a=a|0;ik(a);if(!a)return;c[6880]=(c[6880]|0)+1;kd(c[a+-4>>2]|0);return}function Qz(a){a=a|0;Ol(a);if(!a)return;c[6880]=(c[6880]|0)+1;kd(c[a+-4>>2]|0);return}function Rz(a,b,d){a=a|0;b=b|0;d=d|0;Cb[c[(c[a>>2]|0)+36>>2]&127](a,b,d,-3);return}function Sz(a,b){a=a|0;b=b|0;var c=0;c=ux()|0;gg(c,a,b,16);return c|0}function Tz(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return 1.0}function Uz(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return}function Vz(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;B(19);return 0}function Wz(a,b){a=a|0;b=b|0;Pg(c[a+116>>2]|0,b,1,1.0);return}function Xz(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;Cb[c[(c[a>>2]|0)+32>>2]&127](a,b,d,e);return}function Yz(a){a=a|0;Og(a);if(!a)return;c[6880]=(c[6880]|0)+1;kd(c[a+-4>>2]|0);return}function Zz(a){a=a|0;if(!a){a=0;return a|0}a=cu(a)|0;return a|0}function _z(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;B(9);return 0.0}function $z(a,b,d,e){a=a|0;b=b|0;d=+d;e=e|0;xb[c[(c[a>>2]|0)+28>>2]&31](a,b,d,e);return}function aA(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;bj(a,b,c,d,e);return}function bA(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;Vf(a,b,c,d,e);return}function cA(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 U(19,a|0,b|0,c|0,d|0,e|0,f|0)|0}function dA(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 U(18,a|0,b|0,c|0,d|0,e|0,f|0)|0}function eA(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 U(17,a|0,b|0,c|0,d|0,e|0,f|0)|0}function fA(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return U(16,a|0,b|0,c|0,d|0,e|0,f|0)|0}function gA(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 U(15,a|0,b|0,c|0,d|0,e|0,f|0)|0}function hA(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 U(14,a|0,b|0,c|0,d|0,e|0,f|0)|0}function iA(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 U(13,a|0,b|0,c|0,d|0,e|0,f|0)|0}function jA(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 U(12,a|0,b|0,c|0,d|0,e|0,f|0)|0}function kA(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 U(11,a|0,b|0,c|0,d|0,e|0,f|0)|0}function lA(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 U(10,a|0,b|0,c|0,d|0,e|0,f|0)|0}function mA(a,b){a=a|0;b=b|0;Ne(a,b);return}function nA(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;Cb[c[(c[a>>2]|0)+8>>2]&127](a,b,d,e);return}function oA(a,b,c,d,e,f,g,h,i,j,k){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;f=+f;g=+g;h=+h;i=i|0;j=j|0;k=+k;B(37)}function pA(a,b){a=a|0;b=b|0;c[a+260>>2]=(c[a+260>>2]|0)+1;Ps(a+4|0,b);return}function qA(a){a=a|0;RT(a+144|0);RT(a+124|0);RT(a+104|0);return}function rA(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 U(9,a|0,b|0,c|0,d|0,e|0,f|0)|0}function sA(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 U(8,a|0,b|0,c|0,d|0,e|0,f|0)|0}function tA(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 U(7,a|0,b|0,c|0,d|0,e|0,f|0)|0}function uA(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 U(6,a|0,b|0,c|0,d|0,e|0,f|0)|0}function vA(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 U(5,a|0,b|0,c|0,d|0,e|0,f|0)|0}function wA(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 U(4,a|0,b|0,c|0,d|0,e|0,f|0)|0}function xA(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 U(3,a|0,b|0,c|0,d|0,e|0,f|0)|0}function yA(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 U(2,a|0,b|0,c|0,d|0,e|0,f|0)|0}function zA(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 U(1,a|0,b|0,c|0,d|0,e|0,f|0)|0}function AA(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 U(0,a|0,b|0,c|0,d|0,e|0,f|0)|0}function BA(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 +ab[a&63](b|0,c|0,d|0,e|0,f|0)}function CA(a,b){a=a|0;b=b|0;var c=0;c=Zw()|0;cg(c,a,b);return c|0}function DA(a){a=a|0;if(!a){a=0;return a|0}a=fu(a)|0;return a|0}function EA(a,b){a=a|0;b=b|0;Jq(a,+f[b>>2],+f[b+4>>2],+f[b+8>>2]);return}function FA(a,b,d){a=a|0;b=b|0;d=d|0;Cb[c[(c[a>>2]|0)+36>>2]&127](a,b,d,-1);return}function GA(a,b){a=a|0;b=+b;return fb[c[(c[a>>2]|0)+52>>2]&31](a,b,1,.01666666753590107)|0}function HA(a,b){a=a|0;b=+b;var c=0;c=Ta;Ta=Ta+16|0;f[c>>2]=1.0/b;ow(a,c)|0;Ta=c;return}function IA(a){a=a|0;var b=0;b=pZ(8)|0;gD(b,a);return b|0}function JA(a,b,d){a=a|0;b=b|0;d=+d;wb[c[(c[a>>2]|0)+36>>2]&31](a,b,d);return}function KA(a,b,d){a=a|0;b=b|0;d=d|0;zb[c[(c[a>>2]|0)+56>>2]&127](a,b,d);return}function LA(a){a=a|0;var b=0;b=pZ(24)|0;vr(b,a);return b|0}function MA(a){a=a|0;si(a);if(!a)return;c[6880]=(c[6880]|0)+1;kd(c[a+-4>>2]|0);return}function NA(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;B(44)}function OA(a){a=a|0;Fj(a);if(!a)return;c[6880]=(c[6880]|0)+1;kd(c[a+-4>>2]|0);return}function PA(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=+d;e=e|0;f=f|0;return +Ya[a&31](b|0,c|0,+d,e|0,f|0)}function QA(a,b,c,d,e){a=a|0;b=+b;c=+c;d=+d;e=+e;mo(a,b,c,d,e,1.0);return}function RA(a,b,c){a=a|0;b=b|0;c=c|0;hx(a,b,c,0);return}function SA(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=+d;e=e|0;f=f|0;return +I(19,a|0,b|0,c|0,+d,e|0,f|0)}function TA(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=+d;e=e|0;f=f|0;return +I(18,a|0,b|0,c|0,+d,e|0,f|0)}function UA(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=+d;e=e|0;f=f|0;return +I(17,a|0,b|0,c|0,+d,e|0,f|0)}function VA(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=+d;e=e|0;f=f|0;return +I(16,a|0,b|0,c|0,+d,e|0,f|0)}function WA(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=+d;e=e|0;f=f|0;return +I(15,a|0,b|0,c|0,+d,e|0,f|0)}function XA(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=+d;e=e|0;f=f|0;return +I(14,a|0,b|0,c|0,+d,e|0,f|0)}function YA(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=+d;e=e|0;f=f|0;return +I(13,a|0,b|0,c|0,+d,e|0,f|0)}function ZA(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=+d;e=e|0;f=f|0;return +I(12,a|0,b|0,c|0,+d,e|0,f|0)}function _A(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=+d;e=e|0;f=f|0;return +I(11,a|0,b|0,c|0,+d,e|0,f|0)}function $A(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=+d;e=e|0;f=f|0;return +I(10,a|0,b|0,c|0,+d,e|0,f|0)}function aB(a,b,c,d){a=a|0;b=b|0;c=+c;d=+d;Kz(a,b,c,d);return}function bB(a){a=a|0;c[a>>2]=9672;if(!a)return;c[6880]=(c[6880]|0)+1;kd(c[a+-4>>2]|0);return}function cB(a,b){a=a|0;b=b|0;return c[(RO(c[a+24>>2]|0,b)|0)+64>>2]|0}function dB(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Gb[a&63](b|0,c|0,d|0,e|0,f|0)}function eB(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;La(1,a|0,b|0,c|0,d|0)|0;return}function fB(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;qa(19,a|0,b|0,c|0,d|0,e|0,f|0)}function gB(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;qa(18,a|0,b|0,c|0,d|0,e|0,f|0)}function hB(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;qa(17,a|0,b|0,c|0,d|0,e|0,f|0)}function iB(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;qa(16,a|0,b|0,c|0,d|0,e|0,f|0)}function jB(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;qa(15,a|0,b|0,c|0,d|0,e|0,f|0)}function kB(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;qa(14,a|0,b|0,c|0,d|0,e|0,f|0)}function lB(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;qa(13,a|0,b|0,c|0,d|0,e|0,f|0)}function mB(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;qa(12,a|0,b|0,c|0,d|0,e|0,f|0)}function nB(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;qa(11,a|0,b|0,c|0,d|0,e|0,f|0)}function oB(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;qa(10,a|0,b|0,c|0,d|0,e|0,f|0)}function pB(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=+d;e=e|0;f=f|0;return +I(9,a|0,b|0,c|0,+d,e|0,f|0)}function qB(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=+d;e=e|0;f=f|0;return +I(8,a|0,b|0,c|0,+d,e|0,f|0)}function rB(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=+d;e=e|0;f=f|0;return +I(7,a|0,b|0,c|0,+d,e|0,f|0)}function sB(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=+d;e=e|0;f=f|0;return +I(6,a|0,b|0,c|0,+d,e|0,f|0)}function tB(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=+d;e=e|0;f=f|0;return +I(5,a|0,b|0,c|0,+d,e|0,f|0)}function uB(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=+d;e=e|0;f=f|0;return +I(4,a|0,b|0,c|0,+d,e|0,f|0)}function vB(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=+d;e=e|0;f=f|0;return +I(3,a|0,b|0,c|0,+d,e|0,f|0)}function wB(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=+d;e=e|0;f=f|0;return +I(2,a|0,b|0,c|0,+d,e|0,f|0)}function xB(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=+d;e=e|0;f=f|0;return +I(1,a|0,b|0,c|0,+d,e|0,f|0)}function yB(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=+d;e=e|0;f=f|0;return +I(0,a|0,b|0,c|0,+d,e|0,f|0)}function zB(a){a=a|0;if(!(c[a+12>>2]|0)){a=0;return a|0}a=c[a+20>>2]|0;return a|0}function AB(a){a=a|0;rm(a);if(!a)return;c[6880]=(c[6880]|0)+1;kd(c[a+-4>>2]|0);return}function BB(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;qa(9,a|0,b|0,c|0,d|0,e|0,f|0)}function CB(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;qa(8,a|0,b|0,c|0,d|0,e|0,f|0)}function DB(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;qa(7,a|0,b|0,c|0,d|0,e|0,f|0)}function EB(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;qa(6,a|0,b|0,c|0,d|0,e|0,f|0)}function FB(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;qa(5,a|0,b|0,c|0,d|0,e|0,f|0)}function GB(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;qa(4,a|0,b|0,c|0,d|0,e|0,f|0)}function HB(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;qa(3,a|0,b|0,c|0,d|0,e|0,f|0)}function IB(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;qa(2,a|0,b|0,c|0,d|0,e|0,f|0)}function JB(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;qa(1,a|0,b|0,c|0,d|0,e|0,f|0)}function KB(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;qa(0,a|0,b|0,c|0,d|0,e|0,f|0)}function LB(a,b){a=a|0;b=b|0;var c=0;c=pZ(64)|0;Lq(c,a,b);return c|0}function MB(){var a=0;a=pZ(24)|0;jy(a);return a|0}function NB(a,b,d){a=a|0;b=b|0;d=+d;qb[c[(c[a>>2]|0)+16>>2]&63](a,d);return}function OB(a,b,c){a=a|0;b=b|0;c=c|0;yo(a,b,c);return}function PB(a,b){a=a|0;b=b|0;Cb[c[(c[a>>2]|0)+36>>2]&127](a,b,2,-3);return}function QB(a){a=a|0;var b=0;b=ux()|0;gg(b,a,0,16);return b|0}function RB(a,b,d){a=a|0;b=+b;d=d|0;tb[c[(c[a>>2]|0)+32>>2]&63](a,b,d);return}function SB(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;return}function TB(a){a=a|0;ti(a);if(!a)return;c[6880]=(c[6880]|0)+1;kd(c[a+-4>>2]|0);return}function UB(a){a=a|0;ui(a);if(!a)return;c[6880]=(c[6880]|0)+1;kd(c[a+-4>>2]|0);return}function VB(a,b,d){a=a|0;b=b|0;d=d|0;return +(+Za[c[(c[a>>2]|0)+32>>2]&63](a,b,d))}function WB(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=+f;Db[a&31](b|0,c|0,d|0,e|0,+f)}function XB(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=+d;e=e|0;f=f|0;yb[a&31](b|0,c|0,+d,e|0,f|0)}function YB(a){a=a|0;if(!a){a=0;return a|0}a=Xu(a)|0;return a|0}function ZB(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=+f;pa(19,a|0,b|0,c|0,d|0,e|0,+f)}function _B(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=+f;pa(18,a|0,b|0,c|0,d|0,e|0,+f)}function $B(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=+f;pa(17,a|0,b|0,c|0,d|0,e|0,+f)}function aC(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=+f;pa(16,a|0,b|0,c|0,d|0,e|0,+f)}function bC(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=+f;pa(15,a|0,b|0,c|0,d|0,e|0,+f)}function cC(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=+f;pa(14,a|0,b|0,c|0,d|0,e|0,+f)}function dC(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=+f;pa(13,a|0,b|0,c|0,d|0,e|0,+f)}function eC(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=+f;pa(12,a|0,b|0,c|0,d|0,e|0,+f)}function fC(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=+f;pa(11,a|0,b|0,c|0,d|0,e|0,+f)}function gC(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=+f;pa(10,a|0,b|0,c|0,d|0,e|0,+f)}function hC(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=+d;e=e|0;f=f|0;ja(19,a|0,b|0,c|0,+d,e|0,f|0)}function iC(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=+d;e=e|0;f=f|0;ja(18,a|0,b|0,c|0,+d,e|0,f|0)}function jC(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=+d;e=e|0;f=f|0;ja(17,a|0,b|0,c|0,+d,e|0,f|0)}function kC(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=+d;e=e|0;f=f|0;ja(16,a|0,b|0,c|0,+d,e|0,f|0)}function lC(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=+d;e=e|0;f=f|0;ja(15,a|0,b|0,c|0,+d,e|0,f|0)}function mC(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=+d;e=e|0;f=f|0;ja(14,a|0,b|0,c|0,+d,e|0,f|0)}function nC(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=+d;e=e|0;f=f|0;ja(13,a|0,b|0,c|0,+d,e|0,f|0)}function oC(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=+d;e=e|0;f=f|0;ja(12,a|0,b|0,c|0,+d,e|0,f|0)}function pC(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=+d;e=e|0;f=f|0;ja(11,a|0,b|0,c|0,+d,e|0,f|0)}function qC(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=+d;e=e|0;f=f|0;ja(10,a|0,b|0,c|0,+d,e|0,f|0)}function rC(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;B(18);return 0}function sC(a,b){a=a|0;b=b|0;EG(a+20|0,b);return}function tC(a){a=a|0;if(!(+f[a+16>>2]==0.0)){a=0;return a|0}a=+f[a+20>>2]==0.0;return a|0}function uC(a){a=a|0;c[a>>2]=5796;if(!a)return;c[6880]=(c[6880]|0)+1;kd(c[a+-4>>2]|0);return}function vC(a){a=a|0;c[a>>2]=6324;if(!a)return;c[6880]=(c[6880]|0)+1;kd(c[a+-4>>2]|0);return}function wC(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;B(8);return 0.0}function xC(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;d=b-d-(c>>>0>a>>>0|0)>>>0;return (C(d|0),a-c>>>0|0)|0}function yC(a,b,d){a=a|0;b=b|0;d=+d;wb[c[(c[a>>2]|0)+8>>2]&31](a,b,d);return}function zC(a,b){a=a|0;b=b|0;vb[c[(c[a>>2]|0)+16>>2]&255](a,b);return}function AC(a,b){a=a|0;b=b|0;vb[c[(c[a>>2]|0)+52>>2]&255](a,b);return}function BC(a,b){a=a|0;b=b|0;return gb[c[(c[a>>2]|0)+92>>2]&63](a,b)|0}function CC(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=+f;pa(9,a|0,b|0,c|0,d|0,e|0,+f)}function DC(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=+f;pa(8,a|0,b|0,c|0,d|0,e|0,+f)}function EC(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=+f;pa(7,a|0,b|0,c|0,d|0,e|0,+f)}function FC(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=+f;pa(6,a|0,b|0,c|0,d|0,e|0,+f)}function GC(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=+f;pa(5,a|0,b|0,c|0,d|0,e|0,+f)}function HC(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=+f;pa(4,a|0,b|0,c|0,d|0,e|0,+f)}function IC(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=+f;pa(3,a|0,b|0,c|0,d|0,e|0,+f)}function JC(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=+f;pa(2,a|0,b|0,c|0,d|0,e|0,+f)}function KC(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=+f;pa(1,a|0,b|0,c|0,d|0,e|0,+f)}function LC(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=+f;pa(0,a|0,b|0,c|0,d|0,e|0,+f)}function MC(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=+d;e=e|0;f=f|0;ja(9,a|0,b|0,c|0,+d,e|0,f|0)}function NC(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=+d;e=e|0;f=f|0;ja(8,a|0,b|0,c|0,+d,e|0,f|0)}function OC(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=+d;e=e|0;f=f|0;ja(7,a|0,b|0,c|0,+d,e|0,f|0)}function PC(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=+d;e=e|0;f=f|0;ja(6,a|0,b|0,c|0,+d,e|0,f|0)}function QC(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=+d;e=e|0;f=f|0;ja(5,a|0,b|0,c|0,+d,e|0,f|0)}function RC(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=+d;e=e|0;f=f|0;ja(4,a|0,b|0,c|0,+d,e|0,f|0)}function SC(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=+d;e=e|0;f=f|0;ja(3,a|0,b|0,c|0,+d,e|0,f|0)}function TC(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=+d;e=e|0;f=f|0;ja(2,a|0,b|0,c|0,+d,e|0,f|0)}function UC(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=+d;e=e|0;f=f|0;ja(1,a|0,b|0,c|0,+d,e|0,f|0)}function VC(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=+d;e=e|0;f=f|0;ja(0,a|0,b|0,c|0,+d,e|0,f|0)}function WC(a,b){a=a|0;b=b|0;rL(a,b);return}function XC(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;xc(a,b,c,d)|0;return 1}function YC(a){a=a|0;var b=0;b=((c[a+52>>2]|0)+2|0)%3|0;return +(+f[(D$(a+28|0)|0)+(b<<2)>>2])}function ZC(a,b){a=a|0;b=b|0;vb[c[(c[a>>2]|0)+68>>2]&255](a,b);return}function _C(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;Mu(a,b,c,d,e);return}function $C(a,b,d){a=a|0;b=b|0;d=d|0;zb[c[(c[a>>2]|0)+40>>2]&127](a,b,d);return}function aD(a,b){a=a|0;b=b|0;var d=0;d=Ta;Ta=Ta+16|0;c[d>>2]=b;pS(3424,a,d)|0;vn();Fa()}function bD(a){a=+a;var b=0;g[h>>3]=a;b=c[h>>2]|0;C(c[h+4>>2]|0);return b|0}function cD(a){a=a|0;var b=0;b=Zw()|0;cg(b,a,1);return b|0}function dD(a,b,d){a=a|0;b=+b;d=d|0;f[(c[a+164>>2]|0)+(d*284|0)+232>>2]=b;return}function eD(a,b,d){a=a|0;b=+b;d=d|0;f[(c[a+164>>2]|0)+(d*284|0)+252>>2]=b;return}function fD(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return}function gD(a,b){a=a|0;b=b|0;pY(a);c[a>>2]=6104;c[a+4>>2]=b;return}function hD(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return (C(b+d+(a+c>>>0>>>0>>0|0)>>>0|0),a+c>>>0|0)|0}function iD(a,b){a=a|0;b=b|0;fs(a,b);return}function jD(a,b){a=a|0;b=b|0;Ns(a,b);return}function kD(a,b){a=a|0;b=b|0;Cb[c[(c[a>>2]|0)+36>>2]&127](a,b,1,-1);return}function lD(a,b,c){a=a|0;b=b|0;c=c|0;di(b,c);return}function mD(a,b){a=a|0;b=b|0;Rn(a,b);return}function nD(a){a=a|0;id(a);if(!a)return;c[6880]=(c[6880]|0)+1;kd(c[a+-4>>2]|0);return}function oD(a,b,c,d,e,f){a=a|0;b=+b;c=+c;d=d|0;e=e|0;f=f|0;aa(19,a|0,+b,+c,d|0,e|0,f|0)}function pD(a,b,c,d,e,f){a=a|0;b=+b;c=+c;d=d|0;e=e|0;f=f|0;aa(18,a|0,+b,+c,d|0,e|0,f|0)}function qD(a,b,c,d,e,f){a=a|0;b=+b;c=+c;d=d|0;e=e|0;f=f|0;aa(17,a|0,+b,+c,d|0,e|0,f|0)}function rD(a,b,c,d,e,f){a=a|0;b=+b;c=+c;d=d|0;e=e|0;f=f|0;aa(16,a|0,+b,+c,d|0,e|0,f|0)}function sD(a,b,c,d,e,f){a=a|0;b=+b;c=+c;d=d|0;e=e|0;f=f|0;aa(15,a|0,+b,+c,d|0,e|0,f|0)}function tD(a,b,c,d,e,f){a=a|0;b=+b;c=+c;d=d|0;e=e|0;f=f|0;aa(14,a|0,+b,+c,d|0,e|0,f|0)}function uD(a,b,c,d,e,f){a=a|0;b=+b;c=+c;d=d|0;e=e|0;f=f|0;aa(13,a|0,+b,+c,d|0,e|0,f|0)}function vD(a,b,c,d,e,f){a=a|0;b=+b;c=+c;d=d|0;e=e|0;f=f|0;aa(12,a|0,+b,+c,d|0,e|0,f|0)}function wD(a,b,c,d,e,f){a=a|0;b=+b;c=+c;d=d|0;e=e|0;f=f|0;aa(11,a|0,+b,+c,d|0,e|0,f|0)}function xD(a,b,c,d,e,f){a=a|0;b=+b;c=+c;d=d|0;e=e|0;f=f|0;aa(10,a|0,+b,+c,d|0,e|0,f|0)}function yD(a,b){a=a|0;b=b|0;US(b);return}function zD(a,b){a=a|0;b=b|0;VS(b);return}function AD(a){a=a|0;c[a>>2]=3704;f[a+4>>2]=1.0;b[a+8>>1]=1;b[a+10>>1]=-1;return}function BD(a,b){a=a|0;b=b|0;if((c[a+216>>2]&-2|0)==4)return;c[a+216>>2]=b;return}function CD(a,b){a=a|0;b=b|0;St(a,b);return}function DD(a,b){a=a|0;b=b|0;Tt(a,b);return}function ED(a,b){a=a|0;b=b|0;zb[c[(c[a>>2]|0)+56>>2]&127](a,b,0);return}function FD(a,b){a=a|0;b=+b;PH(a,b);return}function GD(a,b,c,d,e,f){a=a|0;b=+b;c=+c;d=d|0;e=e|0;f=f|0;aa(9,a|0,+b,+c,d|0,e|0,f|0)}function HD(a,b,c,d,e,f){a=a|0;b=+b;c=+c;d=d|0;e=e|0;f=f|0;aa(8,a|0,+b,+c,d|0,e|0,f|0)}function ID(a,b,c,d,e,f){a=a|0;b=+b;c=+c;d=d|0;e=e|0;f=f|0;aa(7,a|0,+b,+c,d|0,e|0,f|0)}function JD(a,b,c,d,e,f){a=a|0;b=+b;c=+c;d=d|0;e=e|0;f=f|0;aa(6,a|0,+b,+c,d|0,e|0,f|0)}function KD(a,b,c,d,e,f){a=a|0;b=+b;c=+c;d=d|0;e=e|0;f=f|0;aa(5,a|0,+b,+c,d|0,e|0,f|0)}function LD(a,b,c,d,e,f){a=a|0;b=+b;c=+c;d=d|0;e=e|0;f=f|0;aa(4,a|0,+b,+c,d|0,e|0,f|0)}function MD(a,b,c,d,e,f){a=a|0;b=+b;c=+c;d=d|0;e=e|0;f=f|0;aa(3,a|0,+b,+c,d|0,e|0,f|0)}function ND(a,b,c,d,e,f){a=a|0;b=+b;c=+c;d=d|0;e=e|0;f=f|0;aa(2,a|0,+b,+c,d|0,e|0,f|0)}function OD(a,b,c,d,e,f){a=a|0;b=+b;c=+c;d=d|0;e=e|0;f=f|0;aa(1,a|0,+b,+c,d|0,e|0,f|0)}function PD(a,b,c,d,e,f){a=a|0;b=+b;c=+c;d=d|0;e=e|0;f=f|0;aa(0,a|0,+b,+c,d|0,e|0,f|0)}function QD(a,b,c){a=a|0;b=b|0;c=c|0;return Cd(a,b,c)|0}function RD(a,b){a=a|0;b=b|0;return gb[c[(c[a>>2]|0)+40>>2]&63](a,b)|0}function SD(a,b){a=a|0;b=b|0;vb[c[(c[a>>2]|0)+60>>2]&255](a,b);return}function TD(a,b,d){a=a|0;b=b|0;d=+d;vb[c[(c[a>>2]|0)+12>>2]&255](a,b);return}function UD(a,b){a=a|0;b=b|0;vb[c[(c[a>>2]|0)+92>>2]&255](a,b);return}function VD(a,b,c,d,e){a=a|0;b=b|0;c=+c;d=+d;e=+e;om(a,b,c,d,e);return}function WD(a,b){a=a|0;b=b|0;wn(a,b);return}function XD(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return jb[a&63](b|0,c|0,d|0,e|0)|0}function YD(a,b){a=a|0;b=b|0;vb[c[(c[a>>2]|0)+32>>2]&255](a,b);return}function ZD(a,b){a=a|0;b=b|0;hx(a,b,0,0);return}function _D(a){a=a|0;var b=0;b=Sx()|0;Wi(b,a);return b|0}function $D(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;B(43)}function aE(a,b){a=a|0;b=b|0;vb[c[(c[a>>2]|0)+40>>2]&255](a,b);return}function bE(a,b){a=a|0;b=b|0;return c[(aV(c[a+276>>2]|0,b)|0)>>2]|0}function cE(a,b,c){a=a|0;b=b|0;c=c|0;Ae(a,b,c);return}function dE(a,b,d){a=a|0;b=+b;d=d|0;f[(c[a+164>>2]|0)+(d*284|0)+256>>2]=b;return}function eE(a,b){a=a|0;b=b|0;vb[c[(c[a>>2]|0)+84>>2]&255](a,b);return}function fE(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return +$a[a&31](b|0,c|0,d|0,e|0)}function gE(a,b,c,d){a=a|0;b=+b;c=+c;d=+d;Nm(a,b,c,d);return}function hE(a,b){a=a|0;b=b|0;vb[c[(c[a>>2]|0)+28>>2]&255](a,b);return}function iE(a,b){a=a|0;b=b|0;SG(a+72|0,b);return}function jE(a,b){a=a|0;b=+b;c[a+260>>2]=(c[a+260>>2]|0)+1;f[a+232>>2]=b;return}function kE(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return +K(19,a|0,b|0,c|0,d|0,e|0)}function lE(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return +K(18,a|0,b|0,c|0,d|0,e|0)}function mE(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return +K(17,a|0,b|0,c|0,d|0,e|0)}function nE(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return +K(16,a|0,b|0,c|0,d|0,e|0)}function oE(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return +K(15,a|0,b|0,c|0,d|0,e|0)}function pE(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return +K(14,a|0,b|0,c|0,d|0,e|0)}function qE(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return +K(13,a|0,b|0,c|0,d|0,e|0)}function rE(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return +K(12,a|0,b|0,c|0,d|0,e|0)}function sE(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return +K(11,a|0,b|0,c|0,d|0,e|0)}function tE(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return +K(10,a|0,b|0,c|0,d|0,e|0)}function uE(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;B(42)}function vE(a,b){a=a|0;b=b|0;vb[c[(c[a>>2]|0)+72>>2]&255](a,b);return}function wE(a,b){a=a|0;b=b|0;YT(b);return}function xE(){var a=0;a=ux()|0;gg(a,0,0,16);return a|0}function yE(a,b){a=a|0;b=b|0;SG(a+92|0,b);return}function zE(a){a=a|0;var b=0;b=pZ(284)|0;Qj(b,a);return b|0}function AE(a){a=a|0;if(!a)return;pb[c[(c[a>>2]|0)+8>>2]&511](a);return}function BE(a,b){a=a|0;b=+b;f[a+36>>2]=b;f[a+40>>2]=+u(+b);return}function CE(a){a=a|0;if(!a)return;pb[c[(c[a>>2]|0)+4>>2]&511](a);return}function DE(a,b){a=a|0;b=+b;return +(+Wa[c[(c[a>>2]|0)+16>>2]&31](a)*b)}function EE(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return +K(9,a|0,b|0,c|0,d|0,e|0)}function FE(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return +K(8,a|0,b|0,c|0,d|0,e|0)}function GE(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return +K(7,a|0,b|0,c|0,d|0,e|0)}function HE(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return +K(6,a|0,b|0,c|0,d|0,e|0)}function IE(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return +K(5,a|0,b|0,c|0,d|0,e|0)}function JE(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return +K(4,a|0,b|0,c|0,d|0,e|0)}function KE(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return +K(3,a|0,b|0,c|0,d|0,e|0)}function LE(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return +K(2,a|0,b|0,c|0,d|0,e|0)}function ME(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return +K(1,a|0,b|0,c|0,d|0,e|0)}function NE(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return +K(0,a|0,b|0,c|0,d|0,e|0)}function OE(a,b){a=a|0;b=b|0;vb[c[(c[a>>2]|0)+64>>2]&255](a,b);return}function PE(a){a=a|0;HA(a,+iM(+f[a>>2],+f[a+4>>2],+f[a+8>>2]));return}function QE(a,b){a=a|0;b=+b;oO(a,b);return}function RE(a,b){a=a|0;b=b|0;cG(a+868|0,b);return}function SE(a,b){a=a|0;b=b|0;vb[c[(c[a>>2]|0)+12>>2]&255](a,b);return}function TE(a,b,c){a=a|0;b=b|0;c=+c;f[a+1316+(b<<2)>>2]=c;return}function UE(a,b){a=a|0;b=+b;c[a+260>>2]=(c[a+260>>2]|0)+1;f[a+228>>2]=b;return}function VE(a,b){a=a|0;b=b|0;De(a,b);return}function WE(a){a=a|0;return +(+(eb[c[(c[a>>2]|0)+36>>2]&255](a)|0))}function XE(a,b){a=a|0;b=b|0;vb[c[(c[a>>2]|0)+8>>2]&255](a,b);return}function YE(a,b){a=a|0;b=b|0;vb[c[(c[a>>2]|0)+16>>2]&255](a,b);return}function ZE(a,b){a=a|0;b=b|0;vb[c[(c[a>>2]|0)+36>>2]&255](a,b);return}function _E(a,b){a=a|0;b=b|0;b=(b|0)<2?b:2;c[a+176>>2]=(b|0)>0?b:0;return}function $E(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;B(7);return 0.0}function aF(a,b){a=a|0;b=b|0;return +(+f[(aV(c[a+12>>2]|0,b)|0)>>2])}function bF(a,b,c){a=a|0;b=b|0;c=c|0;Ci(a,b,c);return}function cF(a){a=a|0;var b=0;b=((D$(c[a+236>>2]|0)|0)&2|0)==0;return (b?0:a)|0}function dF(a,b,c,d,e){a=a|0;b=b|0;c=+c;d=d|0;e=e|0;return +G(19,a|0,b|0,+c,d|0,e|0)}function eF(a,b,c,d,e){a=a|0;b=b|0;c=+c;d=d|0;e=e|0;return +G(18,a|0,b|0,+c,d|0,e|0)}function fF(a,b,c,d,e){a=a|0;b=b|0;c=+c;d=d|0;e=e|0;return +G(17,a|0,b|0,+c,d|0,e|0)}function gF(a,b,c,d,e){a=a|0;b=b|0;c=+c;d=d|0;e=e|0;return +G(16,a|0,b|0,+c,d|0,e|0)}function hF(a,b,c,d,e){a=a|0;b=b|0;c=+c;d=d|0;e=e|0;return +G(15,a|0,b|0,+c,d|0,e|0)}function iF(a,b,c,d,e){a=a|0;b=b|0;c=+c;d=d|0;e=e|0;return +G(14,a|0,b|0,+c,d|0,e|0)}function jF(a,b,c,d,e){a=a|0;b=b|0;c=+c;d=d|0;e=e|0;return +G(13,a|0,b|0,+c,d|0,e|0)}function kF(a,b,c,d,e){a=a|0;b=b|0;c=+c;d=d|0;e=e|0;return +G(12,a|0,b|0,+c,d|0,e|0)}function lF(a,b,c,d,e){a=a|0;b=b|0;c=+c;d=d|0;e=e|0;return +G(11,a|0,b|0,+c,d|0,e|0)}function mF(a,b,c,d,e){a=a|0;b=b|0;c=+c;d=d|0;e=e|0;return +G(10,a|0,b|0,+c,d|0,e|0)}function nF(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;Cb[a&127](b|0,c|0,d|0,e|0)}function oF(a,b){a=a|0;b=b|0;vb[c[(c[a>>2]|0)+12>>2]&255](a,b);return}function pF(a,b,c){a=a|0;b=b|0;c=c|0;ql(a,b,c);return}function qF(a,b){a=a|0;b=b|0;return VR(c[a+12>>2]|0,b)|0}function rF(a,b){a=a|0;b=b|0;of(a,b);return}function sF(a,b){a=a|0;b=b|0;vb[c[(c[a>>2]|0)+68>>2]&255](a,b);return}function tF(b){b=b|0;a[b+16>>0]=1;c[b+12>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;return}function uF(a,b){a=a|0;b=+b;c[a+260>>2]=(c[a+260>>2]|0)+1;f[a+224>>2]=b;return}function vF(a,b,c){a=a|0;b=b|0;c=c|0;Ja(4,a|0,b|0,c|0)|0;return}function wF(){var a=0;a=Zw()|0;cg(a,1,1);return a|0}function xF(a){a=a|0;return zU(c[a+204>>2]|0)|0}function yF(a,b,c){a=a|0;b=+b;c=+c;rH(a,b,c);return}function zF(a,b){a=a|0;b=+b;qb[c[(c[a>>2]|0)+20>>2]&63](a,b);return}function AF(a,b,c,d){a=a|0;b=+b;c=+c;d=+d;Il(a,b,c,d);return}function BF(a,b){a=a|0;b=b|0;fq(a,b);return}function CF(a,b){a=a|0;b=b|0;fq(a,b);return}function DF(a,b){a=a|0;b=b|0;c[b>>2]=6;c[b+4>>2]=6;return}function EF(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;oa(19,a|0,b|0,c|0,d|0,e|0)}function FF(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;oa(18,a|0,b|0,c|0,d|0,e|0)}function GF(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;oa(17,a|0,b|0,c|0,d|0,e|0)}function HF(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;oa(16,a|0,b|0,c|0,d|0,e|0)}function IF(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;oa(15,a|0,b|0,c|0,d|0,e|0)}function JF(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;oa(14,a|0,b|0,c|0,d|0,e|0)}function KF(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;oa(13,a|0,b|0,c|0,d|0,e|0)}function LF(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;oa(12,a|0,b|0,c|0,d|0,e|0)}function MF(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;oa(11,a|0,b|0,c|0,d|0,e|0)}function NF(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;oa(10,a|0,b|0,c|0,d|0,e|0)}function OF(a,b,c,d,e){a=a|0;b=b|0;c=+c;d=d|0;e=e|0;return +G(9,a|0,b|0,+c,d|0,e|0)}function PF(a,b,c,d,e){a=a|0;b=b|0;c=+c;d=d|0;e=e|0;return +G(8,a|0,b|0,+c,d|0,e|0)}function QF(a,b,c,d,e){a=a|0;b=b|0;c=+c;d=d|0;e=e|0;return +G(7,a|0,b|0,+c,d|0,e|0)}function RF(a,b,c,d,e){a=a|0;b=b|0;c=+c;d=d|0;e=e|0;return +G(6,a|0,b|0,+c,d|0,e|0)}function SF(a,b,c,d,e){a=a|0;b=b|0;c=+c;d=d|0;e=e|0;return +G(5,a|0,b|0,+c,d|0,e|0)}function TF(a,b,c,d,e){a=a|0;b=b|0;c=+c;d=d|0;e=e|0;return +G(4,a|0,b|0,+c,d|0,e|0)}function UF(a,b,c,d,e){a=a|0;b=b|0;c=+c;d=d|0;e=e|0;return +G(3,a|0,b|0,+c,d|0,e|0)}function VF(a,b,c,d,e){a=a|0;b=b|0;c=+c;d=d|0;e=e|0;return +G(2,a|0,b|0,+c,d|0,e|0)}function WF(a,b,c,d,e){a=a|0;b=b|0;c=+c;d=d|0;e=e|0;return +G(1,a|0,b|0,+c,d|0,e|0)}function XF(a,b,c,d,e){a=a|0;b=b|0;c=+c;d=d|0;e=e|0;return +G(0,a|0,b|0,+c,d|0,e|0)}function YF(a,b,c,d,e){a=a|0;b=b|0;c=+c;d=d|0;e=+e;return fb[a&31](b|0,+c,d|0,+e)|0}function ZF(a,b){a=a|0;b=b|0;mD(a+788|0,b);return}function _F(a,b){a=a|0;b=+b;qb[c[(c[a>>2]|0)+16>>2]&63](a,b);return}function $F(a,b){a=a|0;b=b|0;return +(+f[(c[a+164>>2]|0)+(b*284|0)+232>>2])}function aG(){var a=0;a=pZ(196)|0;Th(a,0);return a|0}function bG(a,b){a=a|0;b=b|0;vb[c[(c[a>>2]|0)+24>>2]&255](a,b);return}function cG(a,b){a=a|0;b=b|0;fq(a,b);return}function dG(a,b,d){a=a|0;b=b|0;d=d|0;c[a+20>>2]=b;c[a+28>>2]=d;return}function eG(a,b,d){a=a|0;b=b|0;d=d|0;c[a+16>>2]=b;c[a+24>>2]=d;return}function fG(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return 0}function gG(a,b,c){a=a|0;b=b|0;c=+c;Tm(a,b,c);return}function hG(a,b){a=a|0;b=b|0;return c[(aV(c[a+12>>2]|0,b)|0)>>2]|0}function iG(a,b){a=a|0;b=b|0;vb[c[(c[a>>2]|0)+64>>2]&255](a,b);return}function jG(a,b){a=a|0;b=b|0;mK(a+112|0,b);return}function kG(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;oa(9,a|0,b|0,c|0,d|0,e|0)}function lG(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;oa(8,a|0,b|0,c|0,d|0,e|0)}function mG(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;oa(7,a|0,b|0,c|0,d|0,e|0)}function nG(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;oa(6,a|0,b|0,c|0,d|0,e|0)}function oG(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;oa(5,a|0,b|0,c|0,d|0,e|0)}function pG(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;oa(4,a|0,b|0,c|0,d|0,e|0)}function qG(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;oa(3,a|0,b|0,c|0,d|0,e|0)}function rG(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;oa(2,a|0,b|0,c|0,d|0,e|0)}function sG(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;oa(1,a|0,b|0,c|0,d|0,e|0)}function tG(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;oa(0,a|0,b|0,c|0,d|0,e|0)}function uG(a,b){a=a|0;b=b|0;return lP(c[a+12>>2]|0,b)|0}function vG(a,b,c){a=a|0;b=b|0;c=c|0;jm(a,b,c);return}function wG(a,b,c){a=a|0;b=b|0;c=+c;f[a+1340+(b<<2)>>2]=c;return}function xG(a){a=a|0;if(!a)return;HQ(a);B$(a);return}function yG(a,b){a=a|0;b=b|0;vb[c[(c[a>>2]|0)+44>>2]&255](a,b);return}function zG(a){a=a|0;var b=0;b=D$(a+28|0)|0;return +(+f[b+(c[a+52>>2]<<2)>>2])}function AG(a,b,c){a=a|0;b=b|0;c=c|0;return Qb(a,b,c)|0}function BG(a,b){a=a|0;b=b|0;_E(a,b);return}function CG(a,b,c){a=a|0;b=b|0;c=+c;es(a,b,c);return}function DG(a){a=a|0;c[a>>2]=4840;dj(a+12|0);B$(a);return}function EG(a,b){a=a|0;b=b|0;fq(a,b);return}function FG(a,b){a=a|0;b=b|0;Wn(a,b);return}function GG(a,b){a=a|0;b=b|0;WD(a+708|0,b);return}function HG(a){a=a|0;if(!a)return;NW(a);B$(a);return}function IG(a,b,c){a=a|0;b=b|0;c=+c;f[a+1364+(b<<2)>>2]=c;return}function JG(a,b){a=a|0;b=b|0;SG(a+4|0,b);return}function KG(a,b){a=a|0;b=b|0;ge(a,b);return}function LG(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;Ab[a&31](b|0,c|0,d|0,+e)}function MG(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=+d;e=e|0;xb[a&31](b|0,c|0,+d,e|0)}function NG(a,b,c,d,e){a=a|0;b=b|0;c=+c;d=d|0;e=e|0;ub[a&31](b|0,+c,d|0,e|0)}function OG(a){a=+a;var b=0;b=Ix()|0;Up(b,a);return b|0}function PG(a,b){a=a|0;b=b|0;pA(a,b);return}function QG(a,b){a=a|0;b=+b;f[a+132>>2]=b;return}function RG(a,b){a=a|0;b=+b;hJ(a,b);return}function SG(a,b){a=a|0;b=b|0;Wp(a,b);return}function TG(a){a=a|0;var b=0;b=(D$(c[a+236>>2]|0)|0)==4;return (b?a:0)|0}function UG(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;la(19,a|0,b|0,c|0,d|0,+e)}function VG(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;la(18,a|0,b|0,c|0,d|0,+e)}function WG(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;la(17,a|0,b|0,c|0,d|0,+e)}function XG(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;la(16,a|0,b|0,c|0,d|0,+e)}function YG(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;la(15,a|0,b|0,c|0,d|0,+e)}function ZG(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;la(14,a|0,b|0,c|0,d|0,+e)}function _G(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;la(13,a|0,b|0,c|0,d|0,+e)}function $G(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;la(12,a|0,b|0,c|0,d|0,+e)}function aH(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;la(11,a|0,b|0,c|0,d|0,+e)}function bH(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;la(10,a|0,b|0,c|0,d|0,+e)}function cH(a,b,c,d,e){a=a|0;b=b|0;c=+c;d=d|0;e=e|0;ga(19,a|0,b|0,+c,d|0,e|0)}function dH(a,b,c,d,e){a=a|0;b=b|0;c=+c;d=d|0;e=e|0;ga(18,a|0,b|0,+c,d|0,e|0)}function eH(a,b,c,d,e){a=a|0;b=b|0;c=+c;d=d|0;e=e|0;ga(17,a|0,b|0,+c,d|0,e|0)}function fH(a,b,c,d,e){a=a|0;b=b|0;c=+c;d=d|0;e=e|0;ga(16,a|0,b|0,+c,d|0,e|0)}function gH(a,b,c,d,e){a=a|0;b=b|0;c=+c;d=d|0;e=e|0;ga(15,a|0,b|0,+c,d|0,e|0)}function hH(a,b,c,d,e){a=a|0;b=b|0;c=+c;d=d|0;e=e|0;ga(14,a|0,b|0,+c,d|0,e|0)}function iH(a,b,c,d,e){a=a|0;b=b|0;c=+c;d=d|0;e=e|0;ga(13,a|0,b|0,+c,d|0,e|0)}function jH(a,b,c,d,e){a=a|0;b=b|0;c=+c;d=d|0;e=e|0;ga(12,a|0,b|0,+c,d|0,e|0)}function kH(a,b,c,d,e){a=a|0;b=b|0;c=+c;d=d|0;e=e|0;ga(11,a|0,b|0,+c,d|0,e|0)}function lH(a,b,c,d,e){a=a|0;b=b|0;c=+c;d=d|0;e=e|0;ga(10,a|0,b|0,+c,d|0,e|0)}function mH(a,b){a=a|0;b=+b;f[a+128>>2]=b;return}function nH(a,b){a=a|0;b=b|0;uP(a,b);return}function oH(a,b){a=a|0;b=b|0;ju(a,b);return}function pH(a,b){a=a|0;b=b|0;ku(a,b);return}function qH(a,b){a=a|0;b=b|0;c[a+24>>2]=b;return}function rH(a,b,c){a=a|0;b=+b;c=+c;f[a+472>>2]=b;f[a+476>>2]=c;return}function sH(a){a=a|0;var b=0;b=Ta;Ta=Ta+16|0;ob[a&31]();aD(22879,b)}function tH(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;la(9,a|0,b|0,c|0,d|0,+e)}function uH(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;la(8,a|0,b|0,c|0,d|0,+e)}function vH(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;la(7,a|0,b|0,c|0,d|0,+e)}function wH(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;la(6,a|0,b|0,c|0,d|0,+e)}function xH(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;la(5,a|0,b|0,c|0,d|0,+e)}function yH(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;la(4,a|0,b|0,c|0,d|0,+e)}function zH(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;la(3,a|0,b|0,c|0,d|0,+e)}function AH(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;la(2,a|0,b|0,c|0,d|0,+e)}function BH(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;la(1,a|0,b|0,c|0,d|0,+e)}function CH(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;la(0,a|0,b|0,c|0,d|0,+e)}function DH(a,b,c,d,e){a=a|0;b=b|0;c=+c;d=d|0;e=e|0;ga(9,a|0,b|0,+c,d|0,e|0)}function EH(a,b,c,d,e){a=a|0;b=b|0;c=+c;d=d|0;e=e|0;ga(8,a|0,b|0,+c,d|0,e|0)}function FH(a,b,c,d,e){a=a|0;b=b|0;c=+c;d=d|0;e=e|0;ga(7,a|0,b|0,+c,d|0,e|0)}function GH(a,b,c,d,e){a=a|0;b=b|0;c=+c;d=d|0;e=e|0;ga(6,a|0,b|0,+c,d|0,e|0)}function HH(a,b,c,d,e){a=a|0;b=b|0;c=+c;d=d|0;e=e|0;ga(5,a|0,b|0,+c,d|0,e|0)}function IH(a,b,c,d,e){a=a|0;b=b|0;c=+c;d=d|0;e=e|0;ga(4,a|0,b|0,+c,d|0,e|0)}function JH(a,b,c,d,e){a=a|0;b=b|0;c=+c;d=d|0;e=e|0;ga(3,a|0,b|0,+c,d|0,e|0)}function KH(a,b,c,d,e){a=a|0;b=b|0;c=+c;d=d|0;e=e|0;ga(2,a|0,b|0,+c,d|0,e|0)}function LH(a,b,c,d,e){a=a|0;b=b|0;c=+c;d=d|0;e=e|0;ga(1,a|0,b|0,+c,d|0,e|0)}function MH(a,b,c,d,e){a=a|0;b=b|0;c=+c;d=d|0;e=e|0;ga(0,a|0,b|0,+c,d|0,e|0)}function NH(a,b){a=a|0;b=b|0;return ZP(a,b)|0}function OH(a,b){a=a|0;b=b|0;f[a+48>>2]=+(b|0);return}function PH(b,c){b=b|0;c=+c;f[b+572>>2]=c;a[b+553>>0]=1;return}function QH(a,b){a=a|0;b=b|0;return c[(c[a+20>>2]|0)+(b<<2)>>2]|0}function RH(a){a=a|0;var b=0;b=(D$(c[a+236>>2]|0)|0)==8;return (b?a:0)|0}function SH(a){a=a|0;if(!a)return;RT(a);B$(a);return}function TH(a){a=a|0;return +(+QZ(+f[a+16>>2]))}function UH(a){a=a|0;return eb[c[(c[a>>2]|0)+40>>2]&255](a)|0}function VH(a,b){a=a|0;b=b|0;eI(a+24|0,b);return}function WH(a){a=a|0;Hx(a);tF(a);return}function XH(a){a=a|0;return +(+iM(+f[a>>2],+f[a+4>>2],+f[a+8>>2]))}function YH(a,b){a=a|0;b=+b;SO(a,b);return}function ZH(a,b){a=a|0;b=b|0;aQ(a,b);return}function _H(a,b){a=a|0;b=b|0;PO(a,b);return}function $H(a,b){a=a|0;b=+b;qb[c[(c[a>>2]|0)+44>>2]&63](a,b);return}function aI(a,b){a=a|0;b=b|0;Nq(a,b);return}function bI(a,b){a=a|0;b=+b;f[a+136>>2]=b;return}function cI(a){a=a|0;return rW(+f[a+4>>2])|0}function dI(a){a=a|0;if(!a)return;c[6880]=(c[6880]|0)+1;kd(c[a+-4>>2]|0);return}function eI(a,b){a=a|0;b=b|0;On(a,b);return}function fI(a,b){a=a|0;b=b|0;return (c[a+164>>2]|0)+(b*284|0)+92|0}function gI(a,b){a=a|0;b=b|0;return bE(a,b)|0}function hI(a,b,c,d,e,f){a=+a;b=+b;c=+c;d=+d;e=+e;f=+f;return +(a*d+b*e+c*f)}function iI(a){a=a|0;c[a>>2]=3948;b[a+4>>1]=1;b[a+6>>1]=-1;return}function jI(){var a=0;a=pZ(24)|0;iu(a);return a|0}function kI(a,b){a=a|0;b=b|0;Qq(a,b);return}function lI(a,b){a=a|0;b=+b;qQ(a,b);return}function mI(a,b){a=a|0;b=b|0;return LS(c[a+12>>2]|0,b)|0}function nI(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return}function oI(a){a=a|0;f[a>>2]=.30000001192092896;f[a+4>>2]=1.0;f[a+8>>2]=0.0;return}function pI(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;B(17);return 0}function qI(a,b){a=a|0;b=+b;oP(a,b);return}function rI(a){a=a|0;pb[c[(c[a>>2]|0)+44>>2]&511](a);return}function sI(a,b){a=a|0;b=b|0;Ps(a+4|0,b);return}function tI(a){a=a|0;Wt(a);B$(a);return}function uI(a){a=a|0;return xV(c[a+204>>2]|0)|0}function vI(a,b){a=a|0;b=+b;IQ(a,b);return}function wI(a,b){a=a|0;b=+b;AK(a,b);return}function xI(a,b){a=a|0;b=+b;JQ(a,b);return}function yI(a,b){a=a|0;b=+b;BK(a,b);return}function zI(a,b){a=a|0;b=b|0;zx(a,b);return}function AI(a,b){a=a|0;b=b|0;Sq(a,b);return}function BI(a,b){a=a|0;b=b|0;return +(+df(a,b,1.0))}function CI(a){a=a|0;return +(+QZ(+f[a+112>>2]))}function DI(b,c){b=b|0;c=c|0;a[b+32>>0]=c&1;return}function EI(a){a=a|0;return eb[c[(c[a>>2]|0)+96>>2]&255](a)|0}function FI(a){a=a|0;return rV(c[a+8>>2]|0)|0}function GI(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ib[a&63](b|0,c|0,d|0)|0}function HI(a,b){a=a|0;b=b|0;return +(+An(a,b))}function II(a,b){a=a|0;b=b|0;Ci(a,b,1);return}function JI(a,b){a=a|0;b=b|0;JP(a,b);return}function KI(a){a=a|0;if(!a)a=0;else a=(tj(a,3640)|0)!=0&1;return a|0}function LI(a,b,c,d,e){a=a|0;b=+b;c=+c;d=+d;e=+e;Xq(a,c,d,e,b);return}function MI(a){a=a|0;Rj(a);B$(a);return}function NI(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return T(19,a|0,b|0,c|0,d|0)|0}function OI(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return T(18,a|0,b|0,c|0,d|0)|0}function PI(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return T(17,a|0,b|0,c|0,d|0)|0}function QI(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return T(16,a|0,b|0,c|0,d|0)|0}function RI(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return T(15,a|0,b|0,c|0,d|0)|0}function SI(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return T(14,a|0,b|0,c|0,d|0)|0}function TI(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return T(13,a|0,b|0,c|0,d|0)|0}function UI(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return T(12,a|0,b|0,c|0,d|0)|0}function VI(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return T(11,a|0,b|0,c|0,d|0)|0}function WI(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return T(10,a|0,b|0,c|0,d|0)|0}function XI(a,b){a=a|0;b=b|0;Lm(a,b);return}function YI(a,b){a=a|0;b=+b;f[a+116>>2]=b;return}function ZI(a){a=a|0;return eb[c[(c[a>>2]|0)+20>>2]&255](a)|0}function _I(a,b){a=a|0;b=b|0;TN(a,b,+TS(b));return}function $I(a){a=a|0;c[a>>2]=4840;dj(a+12|0);return}function aJ(a,b){a=a|0;b=b|0;pQ(a,b);return}function bJ(a,b){a=a|0;b=b|0;My(a,b);return}function cJ(){var a=0;a=pZ(100)|0;Rm(a);return a|0}function dJ(a,b){a=a|0;b=+b;f[a+112>>2]=b;return}function eJ(a,b){a=a|0;b=+b;f[a+124>>2]=b;return}function fJ(a,b){a=a|0;b=b|0;_P(a,b);return}function gJ(a,b){a=a|0;b=b|0;return c[(c[a+220>>2]|0)+(b<<2)>>2]|0}function hJ(b,c){b=b|0;c=+c;f[b+572>>2]=c;a[b+553>>0]=0;return}function iJ(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return T(9,a|0,b|0,c|0,d|0)|0}function jJ(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return T(8,a|0,b|0,c|0,d|0)|0}function kJ(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return T(7,a|0,b|0,c|0,d|0)|0}function lJ(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return T(6,a|0,b|0,c|0,d|0)|0}function mJ(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return T(5,a|0,b|0,c|0,d|0)|0}function nJ(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return T(4,a|0,b|0,c|0,d|0)|0}function oJ(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return T(3,a|0,b|0,c|0,d|0)|0}function pJ(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return T(2,a|0,b|0,c|0,d|0)|0}function qJ(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return T(1,a|0,b|0,c|0,d|0)|0}function rJ(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return T(0,a|0,b|0,c|0,d|0)|0}function sJ(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return +Za[a&63](b|0,c|0,d|0)}function tJ(a,b){a=a|0;b=b|0;$P(a,b);return}function uJ(a,b){a=a|0;b=b|0;return Qb(a,b,8192)|0}function vJ(b,c){b=b|0;c=c|0;a[b+120>>0]=c&1;return}function wJ(a){a=a|0;pb[c[(c[a>>2]|0)+24>>2]&511](a);return}function xJ(){var a=0;a=pZ(12)|0;oI(a);return a|0}function yJ(a){a=a|0;if(!a)return;qA(a);B$(a);return}function zJ(a){a=a|0;iI(a);c[a>>2]=3924;return}function AJ(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return +J(19,a|0,b|0,c|0,d|0)}function BJ(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return +J(18,a|0,b|0,c|0,d|0)}function CJ(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return +J(17,a|0,b|0,c|0,d|0)}function DJ(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return +J(16,a|0,b|0,c|0,d|0)}function EJ(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return +J(15,a|0,b|0,c|0,d|0)}function FJ(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return +J(14,a|0,b|0,c|0,d|0)}function GJ(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return +J(13,a|0,b|0,c|0,d|0)}function HJ(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return +J(12,a|0,b|0,c|0,d|0)}function IJ(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return +J(11,a|0,b|0,c|0,d|0)}function JJ(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return +J(10,a|0,b|0,c|0,d|0)}function KJ(a){a=a|0;return tW(a)|0}function LJ(a,b){a=a|0;b=+b;jE(a,b);return}function MJ(a){a=a|0;return +(+QZ(+f[a+120>>2]))}function NJ(){var a=0;a=pZ(4)|0;GO(a);return a|0}function OJ(a,b,c,d){a=a|0;b=b|0;c=c|0;d=+d;return}function PJ(a){a=a|0;return oW(c[a+204>>2]|0)|0}function QJ(a,b){a=a|0;b=+b;KR(a,b);return}function RJ(a,b){a=a|0;b=b|0;zh(a,b);return}function SJ(a){a=a|0;wj(a);return}function TJ(a,b){a=a|0;b=+b;IR(a,b);return}function UJ(a){a=a|0;return eb[c[(c[a>>2]|0)+28>>2]&255](a)|0}function VJ(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return +J(9,a|0,b|0,c|0,d|0)}function WJ(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return +J(8,a|0,b|0,c|0,d|0)}function XJ(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return +J(7,a|0,b|0,c|0,d|0)}function YJ(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return +J(6,a|0,b|0,c|0,d|0)}function ZJ(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return +J(5,a|0,b|0,c|0,d|0)}function _J(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return +J(4,a|0,b|0,c|0,d|0)}function $J(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return +J(3,a|0,b|0,c|0,d|0)}function aK(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return +J(2,a|0,b|0,c|0,d|0)}function bK(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return +J(1,a|0,b|0,c|0,d|0)}function cK(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return +J(0,a|0,b|0,c|0,d|0)}function dK(a,b,c,d){a=a|0;b=b|0;c=c|0;d=+d;return hb[a&31](b|0,c|0,+d)|0}function eK(a){a=a|0;return yV(a)|0}function fK(a,b){a=a|0;b=b|0;return cB(a,b)|0}function gK(){var a=0;a=pZ(4)|0;c[a>>2]=0;EU(a);return a|0}function hK(a,b){a=a|0;b=b|0;c[a+76>>2]=b;return}function iK(a){a=a|0;return +(+f[a+132>>2])}function jK(a){a=a|0;return $K(c[a+68>>2]|0)|0}function kK(a){a=a|0;return eb[c[(c[a>>2]|0)+48>>2]&255](a)|0}function lK(a,b){a=a|0;b=b|0;fq(a,b);return}function mK(a,b){a=a|0;b=b|0;cq(a,b);return}function nK(b,c){b=b|0;c=c|0;a[b+80>>0]=c&1;return}function oK(){var a=0;a=pZ(108)|0;Hp(a);return a|0}function pK(a,b){a=a|0;b=b|0;KQ(a,b);return}function qK(a){a=a|0;return +(+QZ(+f[a+232>>2]))}function rK(b,c){b=b|0;c=c|0;a[b+12>>0]=c&1;return}function sK(a){a=a|0;return +(+QZ(+f[a+448>>2]))}function tK(a){a=a|0;return +(+f[a+128>>2])}function uK(a,b){a=a|0;b=b|0;return (c[a+164>>2]|0)+(b*284|0)|0}function vK(a,b){a=a|0;b=b|0;aR(a,b);return}function wK(a){a=a|0;c[a+4>>2]=(c[a+4>>2]|0)+-1;return}function xK(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;B(41)}function yK(a){a=a|0;return +(+QZ(+f[a+444>>2]))}function zK(a){a=a|0;return oQ(a)|0}function AK(a,b){a=a|0;b=+b;f[a+196>>2]=+rx(b);return}function BK(a,b){a=a|0;b=+b;f[a+192>>2]=+rx(b);return}function CK(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;zb[a&127](b|0,c|0,d|0)}function DK(a,b){a=a|0;b=b|0;Ps(a+92|0,b);return}function EK(a){a=a|0;Oj(a);B$(a);return}function FK(a,b){a=a|0;b=+b;f[a+268>>2]=b;return}function GK(a){a=a|0;return +(+QZ(+f[a+80>>2]))}function HK(a,b){a=a|0;b=b|0;uk(a,b);return}function IK(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;ka(19,a|0,b|0,c|0,d|0)}function JK(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;ka(18,a|0,b|0,c|0,d|0)}function KK(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;ka(17,a|0,b|0,c|0,d|0)}function LK(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;ka(16,a|0,b|0,c|0,d|0)}function MK(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;ka(15,a|0,b|0,c|0,d|0)}function NK(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;ka(14,a|0,b|0,c|0,d|0)}function OK(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;ka(13,a|0,b|0,c|0,d|0)}function PK(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;ka(12,a|0,b|0,c|0,d|0)}function QK(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;ka(11,a|0,b|0,c|0,d|0)}function RK(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;ka(10,a|0,b|0,c|0,d|0)}function SK(a,b){a=a|0;b=b|0;return _W(c[a+12>>2]|0,b)|0}function TK(a){a=a|0;return $W(a)|0}function UK(a,b){a=a|0;b=+b;UE(a,b);return}function VK(a){a=a|0;return +(+QZ(+f[a+228>>2]))}function WK(a,b){a=a|0;b=+b;f[a+96>>2]=b;return}function XK(a,b,c){a=a|0;b=b|0;c=+c;f[a+20+(b<<2)>>2]=c;return}function YK(a){a=a|0;return +(+Wa[c[(c[a>>2]|0)+48>>2]&31](a))}function ZK(a,c){a=a|0;c=c|0;b[a+10>>1]=c;return}function _K(a,c){a=a|0;c=c|0;b[a+8>>1]=c;return}function $K(a){a=a|0;return eb[c[(c[a>>2]|0)+36>>2]&255](a)|0}function aL(a){a=a|0;var b=0;b=Ta;Ta=Ta+a|0;Ta=Ta+15&-16;return b|0}function bL(a,b,c,d){a=a|0;b=+b;c=c|0;d=+d;return P(19,a|0,+b,c|0,+d)|0}function cL(a,b,c,d){a=a|0;b=+b;c=c|0;d=+d;return P(18,a|0,+b,c|0,+d)|0}function dL(a,b,c,d){a=a|0;b=+b;c=c|0;d=+d;return P(17,a|0,+b,c|0,+d)|0}function eL(a,b,c,d){a=a|0;b=+b;c=c|0;d=+d;return P(16,a|0,+b,c|0,+d)|0}function fL(a,b,c,d){a=a|0;b=+b;c=c|0;d=+d;return P(15,a|0,+b,c|0,+d)|0}function gL(a,b,c,d){a=a|0;b=+b;c=c|0;d=+d;return P(14,a|0,+b,c|0,+d)|0}function hL(a,b,c,d){a=a|0;b=+b;c=c|0;d=+d;return P(13,a|0,+b,c|0,+d)|0}function iL(a,b,c,d){a=a|0;b=+b;c=c|0;d=+d;return P(12,a|0,+b,c|0,+d)|0}function jL(a,b,c,d){a=a|0;b=+b;c=c|0;d=+d;return P(11,a|0,+b,c|0,+d)|0}function kL(a,b,c,d){a=a|0;b=+b;c=c|0;d=+d;return P(10,a|0,+b,c|0,+d)|0}function lL(a,b){a=a|0;b=b|0;gw(a,b);return}function mL(a,b){a=a|0;b=b|0;zd(a,b);return}function nL(a,b){a=a|0;b=b|0;JR(a,b);return}function oL(a){a=a|0;return +(+f[a+136>>2])}function pL(b,c){b=b|0;c=c|0;a[b+132>>0]=c&1;return}function qL(b){b=b|0;return (a[b+32>>0]&1)!=0|0}function rL(b,c){b=b|0;c=c|0;a[b+170>>0]=c&1;return}function sL(a,b){a=a|0;b=b|0;Ia(3,a|0,b|0)|0;return}function tL(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;ka(9,a|0,b|0,c|0,d|0)}function uL(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;ka(8,a|0,b|0,c|0,d|0)}function vL(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;ka(7,a|0,b|0,c|0,d|0)}function wL(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;ka(6,a|0,b|0,c|0,d|0)}function xL(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;ka(5,a|0,b|0,c|0,d|0)}function yL(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;ka(4,a|0,b|0,c|0,d|0)}function zL(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;ka(3,a|0,b|0,c|0,d|0)}function AL(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;ka(2,a|0,b|0,c|0,d|0)}function BL(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;ka(1,a|0,b|0,c|0,d|0)}function CL(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;ka(0,a|0,b|0,c|0,d|0)}function DL(a,b,d){a=a|0;b=b|0;d=d|0;if(!(c[a>>2]&32))Fk(b,d,a);return}function EL(a,b){a=a|0;b=b|0;Hv(a,b);return}function FL(a,b){a=a|0;b=b|0;ao(a+288|0,b);return}function GL(a,b){a=a|0;b=b|0;return cF(b)|0}function HL(a,b){a=a|0;b=+b;f[a+108>>2]=b;return}function IL(a,b){a=a|0;b=b|0;c[a+136>>2]=b;return}function JL(a,c){a=a|0;c=c|0;b[a+12>>1]=c;return}function KL(a,b){a=a|0;b=b|0;zh(b,a);return}function LL(a,b,c,d){a=a|0;b=+b;c=c|0;d=+d;return P(9,a|0,+b,c|0,+d)|0}function ML(a,b,c,d){a=a|0;b=+b;c=c|0;d=+d;return P(8,a|0,+b,c|0,+d)|0}function NL(a,b,c,d){a=a|0;b=+b;c=c|0;d=+d;return P(7,a|0,+b,c|0,+d)|0}function OL(a,b,c,d){a=a|0;b=+b;c=c|0;d=+d;return P(6,a|0,+b,c|0,+d)|0}function PL(a,b,c,d){a=a|0;b=+b;c=c|0;d=+d;return P(5,a|0,+b,c|0,+d)|0}function QL(a,b,c,d){a=a|0;b=+b;c=c|0;d=+d;return P(4,a|0,+b,c|0,+d)|0}function RL(a,b,c,d){a=a|0;b=+b;c=c|0;d=+d;return P(3,a|0,+b,c|0,+d)|0}function SL(a,b,c,d){a=a|0;b=+b;c=c|0;d=+d;return P(2,a|0,+b,c|0,+d)|0}function TL(a,b,c,d){a=a|0;b=+b;c=c|0;d=+d;return P(1,a|0,+b,c|0,+d)|0}function UL(a,b,c,d){a=a|0;b=+b;c=c|0;d=+d;return P(0,a|0,+b,c|0,+d)|0}function VL(a,b){a=a|0;b=+b;f[a+272>>2]=b;return}function WL(a){a=a|0;return +(+QZ(+f[a+224>>2]))}function XL(a){a=a|0;return eX(a)|0}function YL(a){a=a|0;return fX(a)|0}function ZL(a){a=a|0;return uX(a)|0}function _L(a){a=a|0;if(!a)return;WX(a);B$(a);return}function $L(a,c){a=a|0;c=c|0;b[a+4>>1]=c;return}function aM(a,c){a=a|0;c=c|0;b[a+14>>1]=c;return}function bM(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;B(16);return 0}function cM(a){a=a|0;wK(a);return}function dM(a,b){a=a|0;b=b|0;HK(a,b);return}function eM(a,b){a=a|0;b=b|0;return RH(b)|0}function fM(a,b){a=a|0;b=+b;f[a+140>>2]=b;return}function gM(a,b){a=a|0;b=b|0;c[a+44>>2]=b&1;return}function hM(a,c){a=a|0;c=c|0;b[a+6>>1]=c;return}function iM(a,b,c){a=+a;b=+b;c=+c;return +(+g$(+aN(a,b,c)))}function jM(a,b,c,d){a=a|0;b=b|0;c=c|0;d=+d;wb[a&31](b|0,c|0,+d)}function kM(a,b,c,d){a=a|0;b=b|0;c=+c;d=d|0;tb[a&63](b|0,+c,d|0)}function lM(a,b){a=a|0;b=b|0;if(!a)a=0;else a=Xk(a,b)|0;return a|0}function mM(a,b){a=a|0;b=+b;f[a+220>>2]=b;return}function nM(a,b){a=a|0;b=+b;f[a+100>>2]=b;return}function oM(b){b=b|0;return (a[b+120>>0]&1)!=0|0}function pM(a,b){a=a|0;b=+b;f[a+144>>2]=b;return}function qM(a,b){a=a|0;b=b|0;c[a+112>>2]=b;return}function rM(b,c){b=b|0;c=c|0;a[b+24>>0]=c&1;return}function sM(a){a=a|0;return ~~+f[a+48>>2]|0}function tM(b,c){b=b|0;c=c|0;a[b+180>>0]=c&1;return}function uM(a,b,c,d){a=a|0;b=b|0;c=c|0;d=+d;ia(19,a|0,b|0,c|0,+d)}function vM(a,b,c,d){a=a|0;b=b|0;c=c|0;d=+d;ia(18,a|0,b|0,c|0,+d)}function wM(a,b,c,d){a=a|0;b=b|0;c=c|0;d=+d;ia(17,a|0,b|0,c|0,+d)}function xM(a,b,c,d){a=a|0;b=b|0;c=c|0;d=+d;ia(16,a|0,b|0,c|0,+d)}function yM(a,b,c,d){a=a|0;b=b|0;c=c|0;d=+d;ia(15,a|0,b|0,c|0,+d)}function zM(a,b,c,d){a=a|0;b=b|0;c=c|0;d=+d;ia(14,a|0,b|0,c|0,+d)}function AM(a,b,c,d){a=a|0;b=b|0;c=c|0;d=+d;ia(13,a|0,b|0,c|0,+d)}function BM(a,b,c,d){a=a|0;b=b|0;c=c|0;d=+d;ia(12,a|0,b|0,c|0,+d)}function CM(a,b,c,d){a=a|0;b=b|0;c=c|0;d=+d;ia(11,a|0,b|0,c|0,+d)}function DM(a,b,c,d){a=a|0;b=b|0;c=c|0;d=+d;ia(10,a|0,b|0,c|0,+d)}function EM(a,b,c,d){a=a|0;b=b|0;c=+c;d=d|0;fa(19,a|0,b|0,+c,d|0)}function FM(a,b,c,d){a=a|0;b=b|0;c=+c;d=d|0;fa(18,a|0,b|0,+c,d|0)}function GM(a,b,c,d){a=a|0;b=b|0;c=+c;d=d|0;fa(17,a|0,b|0,+c,d|0)}function HM(a,b,c,d){a=a|0;b=b|0;c=+c;d=d|0;fa(16,a|0,b|0,+c,d|0)}function IM(a,b,c,d){a=a|0;b=b|0;c=+c;d=d|0;fa(15,a|0,b|0,+c,d|0)}function JM(a,b,c,d){a=a|0;b=b|0;c=+c;d=d|0;fa(14,a|0,b|0,+c,d|0)}function KM(a,b,c,d){a=a|0;b=b|0;c=+c;d=d|0;fa(13,a|0,b|0,+c,d|0)}function LM(a,b,c,d){a=a|0;b=b|0;c=+c;d=d|0;fa(12,a|0,b|0,+c,d|0)}function MM(a,b,c,d){a=a|0;b=b|0;c=+c;d=d|0;fa(11,a|0,b|0,+c,d|0)}function NM(a,b,c,d){a=a|0;b=b|0;c=+c;d=d|0;fa(10,a|0,b|0,+c,d|0)}function OM(a,b,c,d){a=a|0;b=+b;c=c|0;d=d|0;ca(19,a|0,+b,c|0,d|0)}function PM(a,b,c,d){a=a|0;b=+b;c=c|0;d=d|0;ca(18,a|0,+b,c|0,d|0)}function QM(a,b,c,d){a=a|0;b=+b;c=c|0;d=d|0;ca(17,a|0,+b,c|0,d|0)}function RM(a,b,c,d){a=a|0;b=+b;c=c|0;d=d|0;ca(16,a|0,+b,c|0,d|0)}function SM(a,b,c,d){a=a|0;b=+b;c=c|0;d=d|0;ca(15,a|0,+b,c|0,d|0)}function TM(a,b,c,d){a=a|0;b=+b;c=c|0;d=d|0;ca(14,a|0,+b,c|0,d|0)}function UM(a,b,c,d){a=a|0;b=+b;c=c|0;d=d|0;ca(13,a|0,+b,c|0,d|0)}function VM(a,b,c,d){a=a|0;b=+b;c=c|0;d=d|0;ca(12,a|0,+b,c|0,d|0)}function WM(a,b,c,d){a=a|0;b=+b;c=c|0;d=d|0;ca(11,a|0,+b,c|0,d|0)}function XM(a,b,c,d){a=a|0;b=+b;c=c|0;d=d|0;ca(10,a|0,+b,c|0,d|0)}function YM(a,b){a=a|0;b=+b;f[a+224>>2]=b;return}function ZM(a,b){a=a|0;b=+b;uF(a,b);return}function _M(a){a=a|0;return NO(c[a+216>>2]|0)|0}function $M(a,b){a=a|0;b=b|0;lK(a,b);return}function aN(a,b,c){a=+a;b=+b;c=+c;return +(+hI(a,b,c,a,b,c))}function bN(a){a=+a;if(!(a<-1.0)){if(a>1.0)a=1.0}else a=-1.0;return +(+w(+a))}function cN(a){a=a|0;return +(+f[a+116>>2])}function dN(a){a=a|0;return +(+xt(a))}function eN(b,c){b=b|0;c=c|0;a[b+16>>0]=c&1;return}function fN(a){a=a|0;return YR(a)|0}function gN(a,b,c,d){a=a|0;b=b|0;c=c|0;d=+d;ia(9,a|0,b|0,c|0,+d)}function hN(a,b,c,d){a=a|0;b=b|0;c=c|0;d=+d;ia(8,a|0,b|0,c|0,+d)}function iN(a,b,c,d){a=a|0;b=b|0;c=c|0;d=+d;ia(7,a|0,b|0,c|0,+d)}function jN(a,b,c,d){a=a|0;b=b|0;c=c|0;d=+d;ia(6,a|0,b|0,c|0,+d)}function kN(a,b,c,d){a=a|0;b=b|0;c=c|0;d=+d;ia(5,a|0,b|0,c|0,+d)}function lN(a,b,c,d){a=a|0;b=b|0;c=c|0;d=+d;ia(4,a|0,b|0,c|0,+d)}function mN(a,b,c,d){a=a|0;b=b|0;c=c|0;d=+d;ia(3,a|0,b|0,c|0,+d)}function nN(a,b,c,d){a=a|0;b=b|0;c=c|0;d=+d;ia(2,a|0,b|0,c|0,+d)}function oN(a,b,c,d){a=a|0;b=b|0;c=c|0;d=+d;ia(1,a|0,b|0,c|0,+d)}function pN(a,b,c,d){a=a|0;b=b|0;c=c|0;d=+d;ia(0,a|0,b|0,c|0,+d)}function qN(a,b,c,d){a=a|0;b=b|0;c=+c;d=d|0;fa(9,a|0,b|0,+c,d|0)}function rN(a,b,c,d){a=a|0;b=b|0;c=+c;d=d|0;fa(8,a|0,b|0,+c,d|0)}function sN(a,b,c,d){a=a|0;b=b|0;c=+c;d=d|0;fa(7,a|0,b|0,+c,d|0)}function tN(a,b,c,d){a=a|0;b=b|0;c=+c;d=d|0;fa(6,a|0,b|0,+c,d|0)}function uN(a,b,c,d){a=a|0;b=b|0;c=+c;d=d|0;fa(5,a|0,b|0,+c,d|0)}function vN(a,b,c,d){a=a|0;b=b|0;c=+c;d=d|0;fa(4,a|0,b|0,+c,d|0)}function wN(a,b,c,d){a=a|0;b=b|0;c=+c;d=d|0;fa(3,a|0,b|0,+c,d|0)}function xN(a,b,c,d){a=a|0;b=b|0;c=+c;d=d|0;fa(2,a|0,b|0,+c,d|0)}function yN(a,b,c,d){a=a|0;b=b|0;c=+c;d=d|0;fa(1,a|0,b|0,+c,d|0)}function zN(a,b,c,d){a=a|0;b=b|0;c=+c;d=d|0;fa(0,a|0,b|0,+c,d|0)}function AN(a,b,c,d){a=a|0;b=+b;c=c|0;d=d|0;ca(9,a|0,+b,c|0,d|0)}function BN(a,b,c,d){a=a|0;b=+b;c=c|0;d=d|0;ca(8,a|0,+b,c|0,d|0)}function CN(a,b,c,d){a=a|0;b=+b;c=c|0;d=d|0;ca(7,a|0,+b,c|0,d|0)}function DN(a,b,c,d){a=a|0;b=+b;c=c|0;d=d|0;ca(6,a|0,+b,c|0,d|0)}function EN(a,b,c,d){a=a|0;b=+b;c=c|0;d=d|0;ca(5,a|0,+b,c|0,d|0)}function FN(a,b,c,d){a=a|0;b=+b;c=c|0;d=d|0;ca(4,a|0,+b,c|0,d|0)}function GN(a,b,c,d){a=a|0;b=+b;c=c|0;d=d|0;ca(3,a|0,+b,c|0,d|0)}function HN(a,b,c,d){a=a|0;b=+b;c=c|0;d=d|0;ca(2,a|0,+b,c|0,d|0)}function IN(a,b,c,d){a=a|0;b=+b;c=c|0;d=d|0;ca(1,a|0,+b,c|0,d|0)}function JN(a,b,c,d){a=a|0;b=+b;c=c|0;d=d|0;ca(0,a|0,+b,c|0,d|0)}function KN(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=+d;e=e|0;f=f|0;B(4);return 0.0}function LN(a,b){a=a|0;b=+b;f[a+276>>2]=b;return}function MN(a,b){a=a|0;b=+b;f[a+204>>2]=b;return}function NN(a,b){a=a|0;b=+b;f[a+208>>2]=b;return}function ON(a){a=a|0;return +(+f[a+112>>2])}function PN(a){a=a|0;return +(+f[a+124>>2])}function QN(a,b){a=a|0;b=+b;f[a+148>>2]=b;return}function RN(a,b,c){a=a|0;b=+b;c=c|0;return}function SN(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return}function TN(a,b,c){a=a|0;b=b|0;c=+c;no(a,b,1.0/c);return}function UN(a){a=a|0;_e(a);B$(a);return}function VN(a,b){a=a|0;b=b|0;Bg(a,b);return}function WN(a){a=a|0;return D$(c[a+8>>2]|0)|0}function XN(a,b){a=a|0;b=b|0;Ia(5,a|0,b|0)|0;return}function YN(a,b){a=a|0;b=+b;f[a+216>>2]=b;return}function ZN(b){b=b|0;return (a[b+80>>0]&1)!=0|0}function _N(a){a=a|0;if(!a)return;dI(a);return}function $N(a,b){a=a|0;b=b|0;c[a+36>>2]=b;return}function aO(a,b){a=a|0;b=b|0;c[a+32>>2]=b;return}function bO(b){b=b|0;return (a[b+12>>0]&1)!=0|0}function cO(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Qe(a,b,c,d,0)|0}function dO(a,b,c,d){a=a|0;b=b|0;c=+c;d=+d;rb[a&31](b|0,+c,+d)}function eO(b,c){b=b|0;c=c|0;a[b+260>>0]=c&1;return}function fO(b,c){b=b|0;c=c|0;a[b+25>>0]=c&1;return}function gO(a,b){a=a|0;b=b|0;c[a+72>>2]=b;return}function hO(a){a=a|0;dz(a,+TS(a))|0;return}function iO(a){a=a|0;return +(+vY(+f[a+12>>2]))}function jO(a,b){a=a|0;b=b|0;c[a+8>>2]=b;return}function kO(a){a=a|0;c[a>>2]=0;rQ(a);return}function lO(a){a=a|0;return mY(a)|0}function mO(a){a=a|0;return D$(c[a+84>>2]|0)|0}function nO(a,b){a=a|0;b=b|0;return +(+ax(a,b))}function oO(a,b){a=a|0;b=+b;f[a+16>>2]=b;return}function pO(){var a=0;a=Ta;Ta=Ta+16|0;aD(22750,a)}function qO(a,b){a=a|0;b=b|0;c[a+216>>2]=b;return}function rO(b,c){b=b|0;c=c|0;a[b+26>>0]=c&1;return}function sO(b,c){b=b|0;c=c|0;a[b+84>>0]=c&1;return}function tO(a){a=a|0;wk(a);B$(a);return}function uO(a){a=a|0;Uk(a);B$(a);return}function vO(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;B(40)}function wO(a){a=a|0;return (a&255)<<24|(a>>8&255)<<16|(a>>16&255)<<8|a>>>24|0}function xO(a){a=a|0;return wY(a)|0}function yO(b){b=b|0;return (a[b+132>>0]&1)!=0|0}function zO(a){a=a|0;return D$(c[a+88>>2]|0)|0}function AO(a){a=a|0;return KS(a)|0}function BO(a){a=a|0;return (c[a+116>>2]|0)+4|0}function CO(a){a=a|0;return D$(c[a+748>>2]|0)|0}function DO(a,b){a=a|0;b=b|0;c[a+4>>2]=b;return}function EO(a){a=a|0;return c[a+76>>2]|0}function FO(a,b){a=a|0;b=b|0;Wm(a+28|0,b);return}function GO(a){a=a|0;LW(a);c[a>>2]=3844;return}function HO(a,b,c){a=a|0;b=b|0;c=c|0;return gb[a&63](b|0,c|0)|0}function IO(a,b){a=a|0;b=+b;f[a+244>>2]=b;return}function JO(a,b){a=a|0;b=+b;f[a+240>>2]=b;return}function KO(a){a=a|0;return +(+f[a+104>>2])}function LO(a,b){a=a|0;b=b|0;return Ql(a,b)|0}function MO(a){a=a|0;return FY(a)|0}function NO(a){a=a|0;a=D$(a)|0;return (a|0)!=2&(a|0)!=5|0}function OO(a){a=a|0;xk(a);B$(a);return}function PO(b,c){b=b|0;c=c|0;a[b+524>>0]=c&1;return}function QO(a,b){a=a|0;b=b|0;return a+(b*96|0)|0}function RO(a,b){a=a|0;b=b|0;return a+(b*80|0)|0}function SO(a,b){a=a|0;b=+b;f[a+248>>2]=b;return}function TO(a,b,c){a=a|0;b=b|0;c=c|0;return S(19,a|0,b|0,c|0)|0}function UO(a,b,c){a=a|0;b=b|0;c=c|0;return S(18,a|0,b|0,c|0)|0}function VO(a,b,c){a=a|0;b=b|0;c=c|0;return S(17,a|0,b|0,c|0)|0}function WO(a,b,c){a=a|0;b=b|0;c=c|0;return S(16,a|0,b|0,c|0)|0}function XO(a,b,c){a=a|0;b=b|0;c=c|0;return S(15,a|0,b|0,c|0)|0}function YO(a,b,c){a=a|0;b=b|0;c=c|0;return S(14,a|0,b|0,c|0)|0}function ZO(a,b,c){a=a|0;b=b|0;c=c|0;return S(13,a|0,b|0,c|0)|0}function _O(a,b,c){a=a|0;b=b|0;c=c|0;return S(12,a|0,b|0,c|0)|0}function $O(a,b,c){a=a|0;b=b|0;c=c|0;return S(11,a|0,b|0,c|0)|0}function aP(a,b,c){a=a|0;b=b|0;c=c|0;return S(10,a|0,b|0,c|0)|0}function bP(a,b){a=a|0;b=+b;f[a+212>>2]=b;return}function cP(a,b){a=a|0;b=+b;f[a+228>>2]=b;return}function dP(a){a=a|0;return +(+f[a+268>>2])}function eP(a){a=a|0;return XS(a)|0}function fP(a){a=a|0;return AY(a)|0}function gP(a,b){a=a|0;b=b|0;return Yo(a,b)|0}function hP(a,b){a=a|0;b=b|0;return Xo(a,b)|0}function iP(a,b){a=a|0;b=b|0;return +(+Dp(a,b))}function jP(a){a=a|0;return +(+zG(a))}function kP(a){a=a|0;return ((ZS(a)|0)^1)&1|0}function lP(a,b){a=a|0;b=b|0;return a+(b*104|0)|0}function mP(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=+f;B(39)}function nP(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=+d;e=e|0;f=f|0;B(33)}function oP(a,b){a=a|0;b=+b;f[a+252>>2]=b;return}function pP(a){a=a|0;return +(+f[a+96>>2])}function qP(a,b){a=a|0;b=b|0;return +(+f[a+20+(b<<2)>>2])}function rP(a){a=a|0;return gZ(a)|0}function sP(a){a=a|0;return (c[a+44>>2]|0)!=0|0}function tP(a){a=a|0;dj(a);B$(a);return}function uP(a,b){a=a|0;b=b|0;c[a+84>>2]=b;return}function vP(a,b,c){a=a|0;b=b|0;c=c|0;return S(9,a|0,b|0,c|0)|0}function wP(a,b,c){a=a|0;b=b|0;c=c|0;return S(8,a|0,b|0,c|0)|0}function xP(a,b,c){a=a|0;b=b|0;c=c|0;return S(7,a|0,b|0,c|0)|0}function yP(a,b,c){a=a|0;b=b|0;c=c|0;return S(6,a|0,b|0,c|0)|0}function zP(a,b,c){a=a|0;b=b|0;c=c|0;return S(5,a|0,b|0,c|0)|0}function AP(a,b,c){a=a|0;b=b|0;c=c|0;return S(4,a|0,b|0,c|0)|0}function BP(a,b,c){a=a|0;b=b|0;c=c|0;return S(3,a|0,b|0,c|0)|0}function CP(a,b,c){a=a|0;b=b|0;c=c|0;return S(2,a|0,b|0,c|0)|0}function DP(a,b,c){a=a|0;b=b|0;c=c|0;return S(1,a|0,b|0,c|0)|0}function EP(a,b,c){a=a|0;b=b|0;c=c|0;return S(0,a|0,b|0,c|0)|0}function FP(a,b){a=a|0;b=b|0;return Mq(a,b)|0}function GP(a){a=a|0;return EY(a)|0}function HP(a){a=a|0;return D$(c[a+128>>2]|0)|0}function IP(b){b=b|0;return (a[b+24>>0]&1)!=0|0}function JP(b,c){b=b|0;c=c|0;a[b+552>>0]=c&1;return}function KP(a,b,c){a=a|0;b=b|0;c=c|0;return 0}function LP(a,b,c){a=a|0;b=b|0;c=c|0;return +H(19,a|0,b|0,c|0)}function MP(a,b,c){a=a|0;b=b|0;c=c|0;return +H(18,a|0,b|0,c|0)}function NP(a,b,c){a=a|0;b=b|0;c=c|0;return +H(17,a|0,b|0,c|0)}function OP(a,b,c){a=a|0;b=b|0;c=c|0;return +H(16,a|0,b|0,c|0)}function PP(a,b,c){a=a|0;b=b|0;c=c|0;return +H(15,a|0,b|0,c|0)}function QP(a,b,c){a=a|0;b=b|0;c=c|0;return +H(14,a|0,b|0,c|0)}function RP(a,b,c){a=a|0;b=b|0;c=c|0;return +H(13,a|0,b|0,c|0)}function SP(a,b,c){a=a|0;b=b|0;c=c|0;return +H(12,a|0,b|0,c|0)}function TP(a,b,c){a=a|0;b=b|0;c=c|0;return +H(11,a|0,b|0,c|0)}function UP(a,b,c){a=a|0;b=b|0;c=c|0;return +H(10,a|0,b|0,c|0)}function VP(a){a=a|0;return RV(a)|0}function WP(a){a=a|0;return D$(c[a+188>>2]|0)|0}function XP(a){a=a|0;return +(+f[a+108>>2])}function YP(a){a=a|0;yk(a);B$(a);return}function ZP(a,b){a=a|0;b=b|0;return a+4+(b*184|0)|0}function _P(b,c){b=b|0;c=c|0;a[b+736>>0]=c&1;return}function $P(a,b){a=a|0;b=b|0;c[a+204>>2]=b;return}function aQ(a,b){a=a|0;b=b|0;c[a+88>>2]=b;return}function bQ(a,b,c,d,e,f){a=a|0;b=+b;c=+c;d=d|0;e=e|0;f=f|0;B(24)}function cQ(a,b){a=a|0;b=+b;f[a+232>>2]=b;return}function dQ(a,b){a=a|0;b=+b;f[a+280>>2]=b;return}function eQ(a,b){a=a|0;b=+b;f[a+236>>2]=b;return}function fQ(a){a=a|0;return +(+f[a+272>>2])}function gQ(a){a=a|0;return D$(c[a+116>>2]|0)|0}function hQ(a){a=a|0;return D$(c[a+120>>2]|0)|0}function iQ(a,b){a=a|0;b=+b;return dz(a,b)|0}function jQ(a){a=a|0;return D$(c[a+744>>2]|0)|0}function kQ(a){a=a|0;return D$(c[a+740>>2]|0)|0}function lQ(b){b=b|0;return (a[b+16>>0]&1)!=0|0}function mQ(a){a=a|0;return b[a+10>>1]|0}function nQ(a){a=a|0;return b[a+8>>1]|0}function oQ(a){a=a|0;return D$(c[a+268>>2]|0)|0}function pQ(b,c){b=b|0;c=c|0;a[b+21>>0]=c&1;return}function qQ(a,b){a=a|0;b=+b;f[a+684>>2]=b;return}function rQ(a){a=a|0;c[a>>2]=c[a>>2]|1;return}function sQ(a,b,c){a=a|0;b=b|0;c=c|0;return +H(9,a|0,b|0,c|0)}function tQ(a,b,c){a=a|0;b=b|0;c=c|0;return +H(8,a|0,b|0,c|0)}function uQ(a,b,c){a=a|0;b=b|0;c=c|0;return +H(7,a|0,b|0,c|0)}function vQ(a,b,c){a=a|0;b=b|0;c=c|0;return +H(6,a|0,b|0,c|0)}function wQ(a,b,c){a=a|0;b=b|0;c=c|0;return +H(5,a|0,b|0,c|0)}function xQ(a,b,c){a=a|0;b=b|0;c=c|0;return +H(4,a|0,b|0,c|0)}function yQ(a,b,c){a=a|0;b=b|0;c=c|0;return +H(3,a|0,b|0,c|0)}function zQ(a,b,c){a=a|0;b=b|0;c=c|0;return +H(2,a|0,b|0,c|0)}function AQ(a,b,c){a=a|0;b=b|0;c=c|0;return +H(1,a|0,b|0,c|0)}function BQ(a,b,c){a=a|0;b=b|0;c=c|0;return +H(0,a|0,b|0,c|0)}function CQ(a){a=a|0;return D$(c[a+192>>2]|0)|0}function DQ(a){a=a|0;return D$(c[a+204>>2]|0)|0}function EQ(a){a=a|0;return +(+f[a+140>>2])}function FQ(a){a=a|0;return D$(c[a+24>>2]|0)|0}function GQ(a){a=a|0;return D$(c[a+68>>2]|0)|0}function HQ(a){a=a|0;Kw(a);return}function IQ(a,b){a=a|0;b=+b;f[a+188>>2]=b;return}function JQ(a,b){a=a|0;b=+b;f[a+184>>2]=b;return}function KQ(a,b){a=a|0;b=b|0;c[a+240>>2]=b;return}function LQ(a,b,c){a=a|0;b=b|0;c=+c;return R(19,a|0,b|0,+c)|0}function MQ(a,b,c){a=a|0;b=b|0;c=+c;return R(18,a|0,b|0,+c)|0}function NQ(a,b,c){a=a|0;b=b|0;c=+c;return R(17,a|0,b|0,+c)|0}function OQ(a,b,c){a=a|0;b=b|0;c=+c;return R(16,a|0,b|0,+c)|0}function PQ(a,b,c){a=a|0;b=b|0;c=+c;return R(15,a|0,b|0,+c)|0}function QQ(a,b,c){a=a|0;b=b|0;c=+c;return R(14,a|0,b|0,+c)|0}function RQ(a,b,c){a=a|0;b=b|0;c=+c;return R(13,a|0,b|0,+c)|0}function SQ(a,b,c){a=a|0;b=b|0;c=+c;return R(12,a|0,b|0,+c)|0}function TQ(a,b,c){a=a|0;b=b|0;c=+c;return R(11,a|0,b|0,+c)|0}function UQ(a,b,c){a=a|0;b=b|0;c=+c;return R(10,a|0,b|0,+c)|0}function VQ(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;B(6);return 0.0}function WQ(a){a=a|0;return +(+f[a+220>>2])}function XQ(a){a=a|0;return +(+f[a+100>>2])}function YQ(a){a=a|0;return +(+f[a+144>>2])}function ZQ(a){a=a|0;return b[a+12>>1]|0}function _Q(a,b,c){a=a|0;b=+b;c=c|0;return}function $Q(a){a=a|0;uw(a+4|0);return}function aR(b,c){b=b|0;c=c|0;a[b+737>>0]=c&1;return}function bR(a,b){a=a|0;b=+b;f[a+256>>2]=b;return}function cR(a){a=a|0;return +(+f[a+224>>2])}function dR(a,b){a=a|0;b=b|0;return Jv(a,b)|0}function eR(a,b){a=a|0;b=b|0;return Iv(a,b)|0}function fR(a){a=a|0;return ih(a)|0}function gR(a){a=a|0;return D$(c[a+480>>2]|0)|0}function hR(a){a=a|0;return D$(c[a+124>>2]|0)|0}function iR(a){a=a|0;return b[a+4>>1]|0}function jR(a){a=a|0;return b[a+14>>1]|0}function kR(a,b){a=a|0;b=b|0;c[a+84>>2]=b;return}function lR(a,b){a=a|0;b=b|0;c[a+88>>2]=b;return}function mR(a,b){a=a|0;b=b|0;c[a+92>>2]=b;return}function nR(a,b){a=a|0;b=b|0;c[a+100>>2]=b;return}function oR(a,b){a=a|0;b=b|0;c[a+96>>2]=b;return}function pR(a){a=a|0;return (c[a+48>>2]|0)==1|0}function qR(a){a=a|0;zk(a);B$(a);return}function rR(a,b,c,d){a=a|0;b=b|0;c=+c;d=d|0;return}function sR(a,b,c){a=a|0;b=b|0;c=+c;return R(9,a|0,b|0,+c)|0}function tR(a,b,c){a=a|0;b=b|0;c=+c;return R(8,a|0,b|0,+c)|0}function uR(a,b,c){a=a|0;b=b|0;c=+c;return R(7,a|0,b|0,+c)|0}function vR(a,b,c){a=a|0;b=b|0;c=+c;return R(6,a|0,b|0,+c)|0}function wR(a,b,c){a=a|0;b=b|0;c=+c;return R(5,a|0,b|0,+c)|0}function xR(a,b,c){a=a|0;b=b|0;c=+c;return R(4,a|0,b|0,+c)|0}function yR(a,b,c){a=a|0;b=b|0;c=+c;return R(3,a|0,b|0,+c)|0}function zR(a,b,c){a=a|0;b=b|0;c=+c;return R(2,a|0,b|0,+c)|0}function AR(a,b,c){a=a|0;b=b|0;c=+c;return R(1,a|0,b|0,+c)|0}function BR(a,b,c){a=a|0;b=b|0;c=+c;return R(0,a|0,b|0,+c)|0}function CR(a,b,c){a=a|0;b=b|0;c=+c;return +Xa[a&31](b|0,+c)}function DR(b){b=b|0;return (a[b+260>>0]&1)!=0|0}function ER(a){a=a|0;return D$(c[a+240>>2]|0)|0}function FR(b){b=b|0;return (a[b+25>>0]&1)!=0|0}function GR(a){a=a|0;return b[a+6>>1]|0}function HR(a){a=a|0;return (c[a+92>>2]|0)+4|0}function IR(a,b){a=a|0;b=+b;f[a+440>>2]=b;return}function JR(a,b){a=a|0;b=b|0;c[a+240>>2]=b;return}function KR(a,b){a=a|0;b=+b;f[a+104>>2]=b;return}function LR(a,b,c){a=a|0;b=b|0;c=c|0;vb[a&255](b|0,c|0)}function MR(a,b,c,d,e){a=a|0;b=b|0;c=+c;d=d|0;e=e|0;B(2);return 0.0}function NR(a){a=a|0;return +(+f[a+276>>2])}function OR(a){a=a|0;return +(+f[a+208>>2])}function PR(a){a=a|0;return +(+f[a+148>>2])}function QR(a){a=a|0;return c[a+112>>2]|0}function RR(a){a=a|0;return +(+YC(a))}function SR(a,b){a=a|0;b=b|0;c[a+16>>2]=b;return}function TR(a,b){a=a|0;b=+b;f[a+64>>2]=b;return}function UR(a,b){a=a|0;b=+b;f[a+68>>2]=b;return}function VR(a,b){a=a|0;b=b|0;return a+(b<<5)|0}function WR(a){a=a|0;return D$(c[a+52>>2]|0)|0}function XR(a){a=a|0;if(!a)return;B$(a);return}function YR(a){a=a|0;return D$(c[a+16>>2]|0)|0}function ZR(a,b,c){a=a|0;b=b|0;c=c|0;ha(19,a|0,b|0,c|0)}function _R(a,b,c){a=a|0;b=b|0;c=c|0;ha(18,a|0,b|0,c|0)}function $R(a,b,c){a=a|0;b=b|0;c=c|0;ha(17,a|0,b|0,c|0)}function aS(a,b,c){a=a|0;b=b|0;c=c|0;ha(16,a|0,b|0,c|0)}function bS(a,b,c){a=a|0;b=b|0;c=c|0;ha(15,a|0,b|0,c|0)}function cS(a,b,c){a=a|0;b=b|0;c=c|0;ha(14,a|0,b|0,c|0)}function dS(a,b,c){a=a|0;b=b|0;c=c|0;ha(13,a|0,b|0,c|0)}function eS(a,b,c){a=a|0;b=b|0;c=c|0;ha(12,a|0,b|0,c|0)}function fS(a,b,c){a=a|0;b=b|0;c=c|0;ha(11,a|0,b|0,c|0)}function gS(a,b,c){a=a|0;b=b|0;c=c|0;ha(10,a|0,b|0,c|0)}function hS(a){a=a|0;return +(+f[a+216>>2])}function iS(a,b){a=a|0;b=+b;zV(a,b);return}function jS(b){b=b|0;return (a[b+26>>0]&1)!=0|0}function kS(b){b=b|0;return (a[b+84>>0]&1)!=0|0}function lS(a,b){a=a|0;b=+b;f[a+80>>2]=b;return}function mS(a,b){a=a|0;b=+b;f[a+76>>2]=b;return}function nS(a){a=a|0;return +(+f[a+28>>2]*+f[a+12>>2])}function oS(a,b,c){a=a|0;b=b|0;c=c|0;return}function pS(a,b,c){a=a|0;b=b|0;c=c|0;return Pj(a,b,c)|0}function qS(a){a=a|0;return +(+f[a+248>>2])}function rS(a){a=a|0;return iZ(a)|0}function sS(a,b){a=a|0;b=+b;f[a+60>>2]=b;return}function tS(a,b){a=a|0;b=+b;f[a+52>>2]=b;return}function uS(a,b){a=a|0;b=+b;f[a+56>>2]=b;return}function vS(a,b){a=a|0;b=b|0;c[a+20>>2]=b;return}function wS(a,b,c){a=a|0;b=b|0;c=+c;return 0}function xS(a,b,c){a=a|0;b=b|0;c=c|0;ha(9,a|0,b|0,c|0)}function yS(a,b,c){a=a|0;b=b|0;c=c|0;ha(8,a|0,b|0,c|0)}function zS(a,b,c){a=a|0;b=b|0;c=c|0;ha(7,a|0,b|0,c|0)}function AS(a,b,c){a=a|0;b=b|0;c=c|0;ha(6,a|0,b|0,c|0)}function BS(a,b,c){a=a|0;b=b|0;c=c|0;ha(5,a|0,b|0,c|0)}function CS(a,b,c){a=a|0;b=b|0;c=c|0;ha(4,a|0,b|0,c|0)}function DS(a,b,c){a=a|0;b=b|0;c=c|0;ha(3,a|0,b|0,c|0)}function ES(a,b,c){a=a|0;b=b|0;c=c|0;ha(2,a|0,b|0,c|0)}function FS(a,b,c){a=a|0;b=b|0;c=c|0;ha(1,a|0,b|0,c|0)}function GS(a,b,c){a=a|0;b=b|0;c=c|0;ha(0,a|0,b|0,c|0)}function HS(a){a=a|0;return +(+f[a+204>>2])}function IS(a){a=a|0;Rr(a);return}function JS(a){a=a|0;Zo(a);return}function KS(a){a=a|0;return D$(c[a+156>>2]|0)|0}function LS(a,b){a=a|0;b=b|0;return a+(b*36|0)|0}function MS(a,b){a=a|0;b=b|0;return}function NS(a,b){a=a|0;b=+b;pW(a,b);return}function OS(a,b){a=a|0;b=+b;qW(a,b);return}function PS(a,b){a=a|0;b=+b;KW(a,b);return}function QS(a){a=a|0;return c[a+36>>2]|0}function RS(a){a=a|0;return c[a+32>>2]|0}function SS(a){a=a|0;return (c[a+48>>2]|0)+4|0}function TS(a){a=a|0;return +(+g$(+cV(a)))}function US(a){a=a|0;c[6852]=a;return}function VS(a){a=a|0;c[6851]=a;return}function WS(a){a=a|0;return a+44|0}function XS(a){a=a|0;return D$(c[a+12>>2]|0)|0}function YS(a){a=a|0;return c[a+68>>2]|0}function ZS(b){b=b|0;return (a[b>>0]|0)!=0|0}function _S(a,b,c){a=a|0;b=b|0;c=+c;qb[a&63](b|0,+c)}function $S(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;B(38)}function aT(a){a=a|0;return +(+f[(Q_(a)|0)>>2])}function bT(a){a=a|0;return +(+f[(R_(a)|0)>>2])}function cT(a){a=a|0;return +(+f[(O_(a)|0)>>2])}function dT(a){a=a|0;return vZ(a)|0}function eT(a){a=a|0;hO(a);return}function fT(a){a=a|0;return c[a+8>>2]|0}function gT(a,b){a=a|0;b=+b;f[a+92>>2]=b;return}function hT(a,b){a=a|0;b=+b;f[a+40>>2]=b;return}function iT(a,b){a=a|0;b=+b;f[a+36>>2]=b;return}function jT(a,b){a=a|0;b=+b;f[a+48>>2]=b;return}function kT(a){a=a|0;return a+60|0}function lT(a){a=a|0;return c[a+200>>2]|0}function mT(a,b,c){a=a|0;b=b|0;c=+c;ea(19,a|0,b|0,+c)}function nT(a,b,c){a=a|0;b=b|0;c=+c;ea(18,a|0,b|0,+c)}function oT(a,b,c){a=a|0;b=b|0;c=+c;ea(17,a|0,b|0,+c)}function pT(a,b,c){a=a|0;b=b|0;c=+c;ea(16,a|0,b|0,+c)}function qT(a,b,c){a=a|0;b=b|0;c=+c;ea(15,a|0,b|0,+c)}function rT(a,b,c){a=a|0;b=b|0;c=+c;ea(14,a|0,b|0,+c)}function sT(a,b,c){a=a|0;b=b|0;c=+c;ea(13,a|0,b|0,+c)}function tT(a,b,c){a=a|0;b=b|0;c=+c;ea(12,a|0,b|0,+c)}function uT(a,b,c){a=a|0;b=b|0;c=+c;ea(11,a|0,b|0,+c)}function vT(a,b,c){a=a|0;b=b|0;c=+c;ea(10,a|0,b|0,+c)}function wT(a,b,c){a=a|0;b=+b;c=c|0;ba(19,a|0,+b,c|0)}function xT(a,b,c){a=a|0;b=+b;c=c|0;ba(18,a|0,+b,c|0)}function yT(a,b,c){a=a|0;b=+b;c=c|0;ba(17,a|0,+b,c|0)}function zT(a,b,c){a=a|0;b=+b;c=c|0;ba(16,a|0,+b,c|0)}function AT(a,b,c){a=a|0;b=+b;c=c|0;ba(15,a|0,+b,c|0)}function BT(a,b,c){a=a|0;b=+b;c=c|0;ba(14,a|0,+b,c|0)}function CT(a,b,c){a=a|0;b=+b;c=c|0;ba(13,a|0,+b,c|0)}function DT(a,b,c){a=a|0;b=+b;c=c|0;ba(12,a|0,+b,c|0)}function ET(a,b,c){a=a|0;b=+b;c=c|0;ba(11,a|0,+b,c|0)}function FT(a,b,c){a=a|0;b=+b;c=c|0;ba(10,a|0,+b,c|0)}function GT(a){a=a|0;return +(+f[a+244>>2])}function HT(a){a=a|0;return +(+f[a+240>>2])}function IT(a){a=a|0;return +(+cV(a))}function JT(a,b){a=a|0;b=+b;f[a+24>>2]=b;return}function KT(a,b){a=a|0;b=+b;f[a+20>>2]=b;return}function LT(a,b){a=a|0;b=+b;f[a+32>>2]=b;return}function MT(a,b){a=a|0;b=+b;f[a+16>>2]=b;return}function NT(a,b){a=a|0;b=+b;f[a+28>>2]=b;return}function OT(a,b){a=a|0;b=b|0;c[a>>2]=b;return}function PT(a){a=a|0;return c[a+212>>2]|0}function QT(a){a=a|0;c[a+192>>2]=0;return}function RT(a){a=a|0;WH(a);return}function ST(a,b,c){a=a|0;b=b|0;c=c|0;return}function TT(a,b){a=a|0;b=+b;f[a+72>>2]=b;return}function UT(a){a=a|0;return +(+f[a+212>>2])}function VT(a){a=a|0;return +(+f[a+228>>2])}function WT(a,b){a=a|0;b=+b;f[a+88>>2]=b;return}function XT(a){a=a|0;return c[a+24>>2]|0}function YT(a){a=a|0;c[6854]=a;return}function ZT(a){a=a|0;tF(a);return}function _T(a,b,c){a=a|0;b=b|0;c=+c;ea(9,a|0,b|0,+c)}function $T(a,b,c){a=a|0;b=b|0;c=+c;ea(8,a|0,b|0,+c)}function aU(a,b,c){a=a|0;b=b|0;c=+c;ea(7,a|0,b|0,+c)}function bU(a,b,c){a=a|0;b=b|0;c=+c;ea(6,a|0,b|0,+c)}function cU(a,b,c){a=a|0;b=b|0;c=+c;ea(5,a|0,b|0,+c)}function dU(a,b,c){a=a|0;b=b|0;c=+c;ea(4,a|0,b|0,+c)}function eU(a,b,c){a=a|0;b=b|0;c=+c;ea(3,a|0,b|0,+c)}function fU(a,b,c){a=a|0;b=b|0;c=+c;ea(2,a|0,b|0,+c)}function gU(a,b,c){a=a|0;b=b|0;c=+c;ea(1,a|0,b|0,+c)}function hU(a,b,c){a=a|0;b=b|0;c=+c;ea(0,a|0,b|0,+c)}function iU(a,b,c){a=a|0;b=+b;c=c|0;ba(9,a|0,+b,c|0)}function jU(a,b,c){a=a|0;b=+b;c=c|0;ba(8,a|0,+b,c|0)}function kU(a,b,c){a=a|0;b=+b;c=c|0;ba(7,a|0,+b,c|0)}function lU(a,b,c){a=a|0;b=+b;c=c|0;ba(6,a|0,+b,c|0)}function mU(a,b,c){a=a|0;b=+b;c=c|0;ba(5,a|0,+b,c|0)}function nU(a,b,c){a=a|0;b=+b;c=c|0;ba(4,a|0,+b,c|0)}function oU(a,b,c){a=a|0;b=+b;c=c|0;ba(3,a|0,+b,c|0)}function pU(a,b,c){a=a|0;b=+b;c=c|0;ba(2,a|0,+b,c|0)}function qU(a,b,c){a=a|0;b=+b;c=c|0;ba(1,a|0,+b,c|0)}function rU(a,b,c){a=a|0;b=+b;c=c|0;ba(0,a|0,+b,c|0)}function sU(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;B(35)}function tU(a,b,c,d,e){a=a|0;b=b|0;c=+c;d=d|0;e=e|0;B(30)}function uU(a){a=a|0;return +(+f[a+252>>2])}function vU(a){a=a|0;return R_(a)|0}function wU(a){a=a|0;return +(+TS(a))}function xU(a){a=a|0;return a+112|0}function yU(a,b,c){a=a|0;b=b|0;c=c|0;return 0.0}function zU(a){a=a|0;return (a&3|0)!=0|0}function AU(a){a=a|0;return ((a|0)==0?1:a<<1)|0}function BU(a){a=a|0;$Q(a);B$(a);return}function CU(a){a=a|0;return c[a+136>>2]|0}function DU(a,b){a=a|0;b=+b;f[a+44>>2]=b;return}function EU(a){a=a|0;eZ(a);c[a>>2]=3972;return}function FU(a){a=a|0;return D$(c[a+4>>2]|0)|0}function GU(a){a=a|0;return a+156|0}function HU(a){a=a|0;return Ha(6,a|0)|0}function IU(a){a=a|0;wi(a);B$(a);return}function JU(a){a=a|0;Jp(a);B$(a);return}function KU(a){a=a|0;Uj(a);B$(a);return}function LU(a){a=a|0;return +(+f[a+232>>2])}function MU(a){a=a|0;return +(+f[a+280>>2])}function NU(a){a=a|0;return +(+f[a+236>>2])}function OU(a){a=a|0;return 348}function PU(a){a=a|0;return c[a+12>>2]|0}function QU(a,b,c){a=a|0;b=+b;c=+c;$(19,a|0,+b,+c)}function RU(a,b,c){a=a|0;b=+b;c=+c;$(18,a|0,+b,+c)}function SU(a,b,c){a=a|0;b=+b;c=+c;$(17,a|0,+b,+c)}function TU(a,b,c){a=a|0;b=+b;c=+c;$(16,a|0,+b,+c)}function UU(a,b,c){a=a|0;b=+b;c=+c;$(15,a|0,+b,+c)}function VU(a,b,c){a=a|0;b=+b;c=+c;$(14,a|0,+b,+c)}function WU(a,b,c){a=a|0;b=+b;c=+c;$(13,a|0,+b,+c)}function XU(a,b,c){a=a|0;b=+b;c=+c;$(12,a|0,+b,+c)}function YU(a,b,c){a=a|0;b=+b;c=+c;$(11,a|0,+b,+c)}function ZU(a,b,c){a=a|0;b=+b;c=+c;$(10,a|0,+b,+c)}function _U(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;B(15);return 0}function $U(a){a=a|0;PE(a);return}function aV(a,b){a=a|0;b=b|0;return a+(b<<2)|0}function bV(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;B(5);return 0.0}function cV(a){a=a|0;return +(+Dp(a,a))}function dV(a,b,c){a=a|0;b=+b;c=+c;$(9,a|0,+b,+c)}function eV(a,b,c){a=a|0;b=+b;c=+c;$(8,a|0,+b,+c)}function fV(a,b,c){a=a|0;b=+b;c=+c;$(7,a|0,+b,+c)}function gV(a,b,c){a=a|0;b=+b;c=+c;$(6,a|0,+b,+c)}function hV(a,b,c){a=a|0;b=+b;c=+c;$(5,a|0,+b,+c)}function iV(a,b,c){a=a|0;b=+b;c=+c;$(4,a|0,+b,+c)}function jV(a,b,c){a=a|0;b=+b;c=+c;$(3,a|0,+b,+c)}function kV(a,b,c){a=a|0;b=+b;c=+c;$(2,a|0,+b,+c)}function lV(a,b,c){a=a|0;b=+b;c=+c;$(1,a|0,+b,+c)}function mV(a,b,c){a=a|0;b=+b;c=+c;$(0,a|0,+b,+c)}function nV(a){a=a|0;return (a?31-(A(a^a-1)|0)|0:32)|0}function oV(a){a=a|0;return +(+f[a+256>>2])}function pV(a){a=a|0;return +(+f[(D$(a)|0)>>2])}function qV(a){a=a|0;return +(+f[a>>2])}function rV(a){a=a|0;return (a|0)!=0|0}function sV(a,b){a=a|0;b=b|0;return eb[a&255](b|0)|0}function tV(a){a=a|0;va(a|0)|0;y$()}function uV(a){a=a|0;return a+64|0}function vV(a){a=a|0;return +(+f[a+64>>2])}function wV(a){a=a|0;return +(+f[a+68>>2])}function xV(a){a=a|0;return (a&2|0)!=0|0}function yV(a){a=a|0;return a+20|0}function zV(a,b){a=a|0;b=+b;f[a+12>>2]=b;return}function AV(a,b){a=a|0;b=b|0;return Q(19,a|0,b|0)|0}function BV(a,b){a=a|0;b=b|0;return Q(18,a|0,b|0)|0}function CV(a,b){a=a|0;b=b|0;return Q(17,a|0,b|0)|0}function DV(a,b){a=a|0;b=b|0;return Q(16,a|0,b|0)|0}function EV(a,b){a=a|0;b=b|0;return Q(15,a|0,b|0)|0}function FV(a,b){a=a|0;b=b|0;return Q(14,a|0,b|0)|0}function GV(a,b){a=a|0;b=b|0;return Q(13,a|0,b|0)|0}function HV(a,b){a=a|0;b=b|0;return Q(12,a|0,b|0)|0}function IV(a,b){a=a|0;b=b|0;return Q(11,a|0,b|0)|0}function JV(a,b){a=a|0;b=b|0;return Q(10,a|0,b|0)|0}function KV(a){a=a|0;return a+172|0}function LV(a){a=a|0;return c[a+4>>2]|0}function MV(a){a=a|0;return c[a+84>>2]|0}function NV(a){a=a|0;return c[a+88>>2]|0}function OV(a){a=a|0;return c[a+92>>2]|0}function PV(a){a=a|0;return c[a+100>>2]|0}function QV(a){a=a|0;return 252}function RV(a){a=a|0;return c[a+240>>2]|0}function SV(a,b,c,d){a=a|0;b=+b;c=c|0;d=+d;B(11);return 0}function TV(a){a=a|0;return a+52|0}function UV(a){a=a|0;return +(+f[a+80>>2])}function VV(a){a=a|0;return +(+f[a+76>>2])}function WV(a){a=a|0;return 28}function XV(a){a=a|0;return c[a+72>>2]|0}function YV(a,b){a=a|0;b=b|0;return Q(9,a|0,b|0)|0}function ZV(a,b){a=a|0;b=b|0;return Q(8,a|0,b|0)|0}function _V(a,b){a=a|0;b=b|0;return Q(7,a|0,b|0)|0}function $V(a,b){a=a|0;b=b|0;return Q(6,a|0,b|0)|0}function aW(a,b){a=a|0;b=b|0;return Q(5,a|0,b|0)|0}function bW(a,b){a=a|0;b=b|0;return Q(4,a|0,b|0)|0}function cW(a,b){a=a|0;b=b|0;return Q(3,a|0,b|0)|0}function dW(a,b){a=a|0;b=b|0;return Q(2,a|0,b|0)|0}function eW(a,b){a=a|0;b=b|0;return Q(1,a|0,b|0)|0}function fW(a,b){a=a|0;b=b|0;return Q(0,a|0,b|0)|0}function gW(a,b){a=a|0;b=b|0;return +Wa[a&31](b|0)}function hW(a){a=a|0;return c[a+16>>2]|0}function iW(a){a=a|0;return +(+f[a+60>>2])}function jW(a){a=a|0;return +(+f[a+52>>2])}function kW(a){a=a|0;return +(+f[a+56>>2])}function lW(a){a=a|0;return a+108|0}function mW(a){a=a|0;return 212}function nW(a){a=a|0;return c[a+96>>2]|0}function oW(a){a=a|0;return (a&1|0)!=0|0}function pW(a,b){a=a|0;b=+b;f[a+8>>2]=b;return}function qW(a,b){a=a|0;b=+b;f[a+4>>2]=b;return}function rW(a){a=+a;return a<1.0|0}function sW(a,b){a=a|0;b=b|0;return 1}function tW(a){a=a|0;return a+324|0}function uW(a,b){a=a|0;b=b|0;Ta=a;Ua=b}function vW(a){a=a|0;return a+188|0}function wW(a){a=a|0;return c[a+20>>2]|0}function xW(a){a=a|0;return 204}function yW(a,b){a=a|0;b=b|0;return}function zW(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;B(34)}function AW(a){a=a|0;return a+36|0}function BW(a){a=a|0;return +(+f[a+92>>2])}function CW(a){a=a|0;return +(+f[a+44>>2])}function DW(a){a=a|0;return +(+f[a+40>>2])}function EW(a){a=a|0;return +(+f[a+36>>2])}function FW(a){a=a|0;return +(+f[a+48>>2])}function GW(a){a=a|0;return 64}function HW(a){a=a|0;return 220}function IW(a){a=a|0;return 256}function JW(a){a=a|0;return +(+f[a+72>>2])}function KW(a,b){a=a|0;b=+b;f[a>>2]=b;return}function LW(a){a=a|0;c[a>>2]=3872;return}function MW(a){a=a|0;c[a>>2]=9672;return}function NW(a){a=a|0;WX(a+56|0);return}function OW(a){a=a|0;qY(a);return}function PW(a){a=a|0;return +(+f[a+24>>2])}function QW(a){a=a|0;return +(+f[a+4>>2])}function RW(a){a=a|0;return +(+f[a+20>>2])}function SW(a){a=a|0;return +(+f[a+32>>2])}function TW(a){a=a|0;return +(+f[a+16>>2])}function UW(a){a=a|0;return +(+f[a+12>>2])}function VW(a){a=a|0;return +(+f[a+28>>2])}function WW(a){a=a|0;return 52}function XW(a){a=a|0;return 56}function YW(a){a=a|0;return 68}function ZW(a){a=a|0;return 84}function _W(a,b){a=a|0;b=b|0;return a+(b<<4)|0}function $W(a){a=a|0;return a+352|0}function aX(a){a=a|0;return D$(a)|0}function bX(a){a=a|0;return a+868|0}function cX(a){a=a|0;return +(+f[a+88>>2])}function dX(a){a=a|0;return +(+f[a+8>>2])}function eX(a){a=a|0;return a+316|0}function fX(a){a=a|0;return a+300|0}function gX(a,b){a=a|0;b=+b;return +F(19,a|0,+b)}function hX(a,b){a=a|0;b=+b;return +F(18,a|0,+b)}function iX(a,b){a=a|0;b=+b;return +F(17,a|0,+b)}function jX(a,b){a=a|0;b=+b;return +F(16,a|0,+b)}function kX(a,b){a=a|0;b=+b;return +F(15,a|0,+b)}function lX(a,b){a=a|0;b=+b;return +F(14,a|0,+b)}function mX(a,b){a=a|0;b=+b;return +F(13,a|0,+b)}function nX(a,b){a=a|0;b=+b;return +F(12,a|0,+b)}function oX(a,b){a=a|0;b=+b;return +F(11,a|0,+b)}function pX(a,b){a=a|0;b=+b;return +F(10,a|0,+b)}function qX(a,b){a=a|0;b=b|0;pb[a&511](b|0)}function rX(a,b,c,d){a=a|0;b=b|0;c=c|0;d=+d;B(32)}function sX(a,b,c,d){a=a|0;b=b|0;c=+c;d=d|0;B(29)}function tX(a,b,c,d){a=a|0;b=+b;c=c|0;d=d|0;B(26)}function uX(a){a=a|0;return a+32|0}function vX(a){a=a|0;return 24}function wX(a,b){a=a|0;b=+b;return}function xX(a){a=a|0;return a+788|0}function yX(a){a=a|0;return c[a>>2]|0}function zX(a){a=a|0;return a+68|0}function AX(a){a=a|0;dI(a);return}function BX(a,b){a=a|0;b=b|0;da(19,a|0,b|0)}function CX(a,b){a=a|0;b=b|0;da(18,a|0,b|0)}function DX(a,b){a=a|0;b=b|0;da(17,a|0,b|0)}function EX(a,b){a=a|0;b=b|0;da(16,a|0,b|0)}function FX(a,b){a=a|0;b=b|0;da(15,a|0,b|0)}function GX(a,b){a=a|0;b=b|0;da(14,a|0,b|0)}function HX(a,b){a=a|0;b=b|0;da(13,a|0,b|0)}function IX(a,b){a=a|0;b=b|0;da(12,a|0,b|0)}function JX(a,b){a=a|0;b=b|0;da(11,a|0,b|0)}function KX(a,b){a=a|0;b=b|0;da(10,a|0,b|0)}function LX(a,b){a=a|0;b=+b;return +F(9,a|0,+b)}function MX(a,b){a=a|0;b=+b;return +F(8,a|0,+b)}function NX(a,b){a=a|0;b=+b;return +F(7,a|0,+b)}function OX(a,b){a=a|0;b=+b;return +F(6,a|0,+b)}function PX(a,b){a=a|0;b=+b;return +F(5,a|0,+b)}function QX(a,b){a=a|0;b=+b;return +F(4,a|0,+b)}function RX(a,b){a=a|0;b=+b;return +F(3,a|0,+b)}function SX(a,b){a=a|0;b=+b;return +F(2,a|0,+b)}function TX(a,b){a=a|0;b=+b;return +F(1,a|0,+b)}function UX(a,b){a=a|0;b=+b;return +F(0,a|0,+b)}function VX(a){a=a|0;B$(a+-4|0);return}function WX(a){a=a|0;RT(a);return}function XX(a){a=a|0;ZT(a);return}function YX(a){a=a|0;ui(a);return}function ZX(a){a=a|0;return a+708|0}function _X(){return (jZ()|0)>0|0}function $X(a){a=a|0;return 488}function aY(a,b){a=a|0;b=b|0;da(9,a|0,b|0)}function bY(a,b){a=a|0;b=b|0;da(8,a|0,b|0)}function cY(a,b){a=a|0;b=b|0;da(7,a|0,b|0)}function dY(a,b){a=a|0;b=b|0;da(6,a|0,b|0)}function eY(a,b){a=a|0;b=b|0;da(5,a|0,b|0)}function fY(a,b){a=a|0;b=b|0;da(4,a|0,b|0)}function gY(a,b){a=a|0;b=b|0;da(3,a|0,b|0)}function hY(a,b){a=a|0;b=b|0;da(2,a|0,b|0)}function iY(a,b){a=a|0;b=b|0;da(1,a|0,b|0)}function jY(a,b){a=a|0;b=b|0;da(0,a|0,b|0)}function kY(a,b,c){a=a|0;b=b|0;c=c|0;B(14);return 0}function lY(a){a=a|0;return 32}function mY(a){a=a|0;return a+328|0}function nY(a){a=a|0;return 60}function oY(a){a=a|0;return 428}function pY(a){a=a|0;c[a>>2]=3776;return}function qY(a){a=a|0;wZ(a);return}function rY(a,b,c){a=a|0;b=b|0;c=c|0;B(3);return 0.0}function sY(a){a=a|0;return a+288|0}function tY(){return pZ(1)|0}function uY(a){a=a|0;return (a>>>0>4294963200?-1:a)|0}function vY(a){a=+a;return +(+bN(a)*2.0)}function wY(a){a=a|0;return a+312|0}function xY(a){a=a|0;c[a>>2]=5796;return}function yY(a){a=a|0;c[a>>2]=6324;return}function zY(a){a=a|0;return (a&255)<<8|a>>8&255|0}function AY(a){a=a|0;return a+544|0}function BY(a,b,c){a=a|0;b=b|0;c=+c;B(13);return 0}function CY(a){a=a|0;return 14130}function DY(a){a=a|0;return a+16|0}function EY(a){a=a|0;return a+348|0}function FY(a){a=a|0;return a+92|0}function GY(a,b){a=a|0;b=+b;_(19,a|0,+b)}function HY(a,b){a=a|0;b=+b;_(18,a|0,+b)}function IY(a,b){a=a|0;b=+b;_(17,a|0,+b)}function JY(a,b){a=a|0;b=+b;_(16,a|0,+b)}function KY(a,b){a=a|0;b=+b;_(15,a|0,+b)}function LY(a,b){a=a|0;b=+b;_(14,a|0,+b)}function MY(a,b){a=a|0;b=+b;_(13,a|0,+b)}function NY(a,b){a=a|0;b=+b;_(12,a|0,+b)}function OY(a,b){a=a|0;b=+b;_(11,a|0,+b)}function PY(a,b){a=a|0;b=+b;_(10,a|0,+b)}function QY(a){a=a|0;return 4}function RY(a){a=a|0;return 21106}function SY(a){a=a|0;return 20822}function TY(a){a=a|0;c[a>>2]=3820;return}function UY(a,b){a=a|0;b=+b;_(9,a|0,+b)}function VY(a,b){a=a|0;b=+b;_(8,a|0,+b)}function WY(a,b){a=a|0;b=+b;_(7,a|0,+b)}function XY(a,b){a=a|0;b=+b;_(6,a|0,+b)}function YY(a,b){a=a|0;b=+b;_(5,a|0,+b)}function ZY(a,b){a=a|0;b=+b;_(4,a|0,+b)}function _Y(a,b){a=a|0;b=+b;_(3,a|0,+b)}function $Y(a,b){a=a|0;b=+b;_(2,a|0,+b)}function aZ(a,b){a=a|0;b=+b;_(1,a|0,+b)}function bZ(a,b){a=a|0;b=+b;_(0,a|0,+b)}function cZ(){return Ux()|0}function dZ(a){a=a|0;return 14018}function eZ(a){a=a|0;c[a>>2]=4072;return}function fZ(a){a=a|0;return a+76|0}function gZ(a){a=a|0;return a+28|0}function hZ(a){a=a|0;return 19912}function iZ(a){a=a|0;return a+380|0}function jZ(){return xa()|0}function kZ(a){a=a|0;return a+40|0}function lZ(a){a=a|0;return a+24|0}function mZ(a){a=a|0;return a+72|0}function nZ(a){a=a|0;return a+56|0}function oZ(a,b,c){a=a|0;b=b|0;c=c|0;B(31)}function pZ(a){a=a|0;return Zb((a|0)==0?1:a)|0}function qZ(a){a=a|0;return 20296}function rZ(a){a=a|0;return 0}function sZ(){return pZ(64)|0}function tZ(a){a=a|0;return 20354}function uZ(a){a=a|0;return 19698}function vZ(a){a=a|0;return a+48|0}function wZ(a){a=a|0;c[a>>2]=0;return}function xZ(a){a=a|0;return 20608}function yZ(a){a=a|0;return 1}function zZ(a,b,c){a=a|0;b=b|0;c=+c;B(28)}function AZ(a,b,c){a=a|0;b=+b;c=c|0;B(25)}function BZ(a){a=a|0;return 21223}function CZ(a){a=a|0;return 21194}function DZ(a){a=a|0;return 3}function EZ(a){a=a|0;return O(19,a|0)|0}function FZ(a){a=a|0;return O(18,a|0)|0}function GZ(a){a=a|0;return O(17,a|0)|0}function HZ(a){a=a|0;return O(16,a|0)|0}function IZ(a){a=a|0;return O(15,a|0)|0}function JZ(a){a=a|0;return O(14,a|0)|0}function KZ(a){a=a|0;return O(13,a|0)|0}function LZ(a){a=a|0;return O(12,a|0)|0}function MZ(a){a=a|0;return O(11,a|0)|0}function NZ(a){a=a|0;return O(10,a|0)|0}function OZ(a){a=a|0;return (a+-48|0)>>>0<10|0}function PZ(a){a=a|0;return 14397}function QZ(a){a=+a;return +a}function RZ(a){a=a|0;return 21166}function SZ(a){a=a|0;return 19551}function TZ(a){a=a|0;return 20766}function UZ(a){a=a|0;return 20739}function VZ(a){a=a|0;return 20709}function WZ(a){a=a|0;return 8}function XZ(a){a=+a;return +(a%6.2831854820251465)}function YZ(a){a=a|0;return O(9,a|0)|0}function ZZ(a){a=a|0;return O(8,a|0)|0}function _Z(a){a=a|0;return O(7,a|0)|0}function $Z(a){a=a|0;return O(6,a|0)|0}function a_(a){a=a|0;return O(5,a|0)|0}function b_(a){a=a|0;return O(4,a|0)|0}function c_(a){a=a|0;return O(3,a|0)|0}function d_(a){a=a|0;return O(2,a|0)|0}function e_(a){a=a|0;return O(1,a|0)|0}function f_(a){a=a|0;return O(0,a|0)|0}function g_(a,b,c){a=a|0;b=+b;c=+c;B(23)}function h_(a){a=a|0;return 19731}function i_(a){a=a|0;return +E(19,a|0)}function j_(a){a=a|0;return +E(18,a|0)}function k_(a){a=a|0;return +E(17,a|0)}function l_(a){a=a|0;return +E(16,a|0)}function m_(a){a=a|0;return +E(15,a|0)}function n_(a){a=a|0;return +E(14,a|0)}function o_(a){a=a|0;return +E(13,a|0)}function p_(a){a=a|0;return +E(12,a|0)}function q_(a){a=a|0;return +E(11,a|0)}function r_(a){a=a|0;return +E(10,a|0)}function s_(a,b){a=a|0;b=b|0;B(12);return 0}function t_(a){a=a|0;return 20450}function u_(a){a=a|0;return 19613}function v_(a){a=a|0;return 19634}function w_(a){a=a|0;return 6}function x_(a){a=a|0;return 12}function y_(){return 4}function z_(a){a=a|0;return 19594}function A_(a){a=a|0;return +E(9,a|0)}function B_(a){a=a|0;return +E(8,a|0)}function C_(a){a=a|0;return +E(7,a|0)}function D_(a){a=a|0;return +E(6,a|0)}function E_(a){a=a|0;return +E(5,a|0)}function F_(a){a=a|0;return +E(4,a|0)}function G_(a){a=a|0;return +E(3,a|0)}function H_(a){a=a|0;return +E(2,a|0)}function I_(a){a=a|0;return +E(1,a|0)}function J_(a){a=a|0;return +E(0,a|0)}function K_(a){a=a|0;return 2}function L_(a){a=a|0;return 20881}function M_(a,b){a=a|0;b=+b;B(1);return 0.0}function N_(){c[6382]=1805;c[6383]=0;return}function O_(a){a=a|0;return a+12|0}function P_(a){a=a|0;ob[a&31]()}function Q_(a){a=a|0;return a+8|0}function R_(a){a=a|0;return a+4|0}function S_(){return 2}function T_(a){a=a|0;Qa()}function U_(a){a=a|0;Z(19,a|0)}function V_(a){a=a|0;Z(18,a|0)}function W_(a){a=a|0;Z(17,a|0)}function X_(a){a=a|0;Z(16,a|0)}function Y_(a){a=a|0;Z(15,a|0)}function Z_(a){a=a|0;Z(14,a|0)}function __(a){a=a|0;Z(13,a|0)}function $_(a){a=a|0;Z(12,a|0)}function a$(a){a=a|0;Z(11,a|0)}function b$(a){a=a|0;Z(10,a|0)}function c$(){return 5}function d$(){return 3}function e$(){return 0}function f$(){wa()}function g$(a){a=+a;return +(+s(+a))}function h$(a){a=+a;return +(+r(+a))}function i$(a){a=a|0;Z(9,a|0)}function j$(a){a=a|0;Z(8,a|0)}function k$(a){a=a|0;Z(7,a|0)}function l$(a){a=a|0;Z(6,a|0)}function m$(a){a=a|0;Z(5,a|0)}function n$(a){a=a|0;Z(4,a|0)}function o$(a){a=a|0;Z(3,a|0)}function p$(a){a=a|0;Z(2,a|0)}function q$(a){a=a|0;Z(1,a|0)}function r$(a){a=a|0;Z(0,a|0)}function s$(a){a=+a;return +(+v(+a))}function t$(a){a=+a;return +(+u(+a))}function u$(a,b){a=a|0;b=b|0;B(27)}function v$(a,b){a=a|0;b=+b;B(22)}function w$(a){a=a|0;return pZ(a)|0}function x$(a){a=a|0;B$(a);return}function y$(){sH(22)}function z$(a){a=a|0;return}function A$(a){a=a|0;Ta=a}function B$(a){a=a|0;kd(a);return}function C$(a){a=a|0;B(10);return 0}function D$(a){a=a|0;return a|0}function E$(a){a=a|0;B(0);return 0.0}function F$(){return Ta|0}function G$(a){a=a|0;B(21)}function H$(){Y(19)}function I$(){Y(18)}function J$(){Y(17)}function K$(){Y(16)}function L$(){Y(15)}function M$(){Y(14)}function N$(){Y(13)}function O$(){Y(12)}function P$(){Y(11)}function Q$(){Y(10)}function R$(){Y(9)}function S$(){Y(8)}function T$(){Y(7)}function U$(){Y(6)}function V$(){Y(5)}function W$(){Y(4)}function X$(){Y(3)}function Y$(){Y(2)}function Z$(){Y(1)}function _$(){Y(0)}function $$(){return 1}function a0(){B(20)} - -// EMSCRIPTEN_END_FUNCS -var Wa=[E$,J_,I_,H_,G_,F_,E_,D_,C_,B_,A_,r_,q_,p_,o_,n_,m_,l_,k_,j_,i_,kp,UW,YK,CW,JW,nS,Vq,Tq,Vq,E$,E$];var Xa=[M_,UX,TX,SX,RX,QX,PX,OX,NX,MX,LX,pX,oX,nX,mX,lX,kX,jX,iX,hX,gX,DE,M_,M_,M_,M_,M_,M_,M_,M_,M_,M_];var Ya=[MR,XF,WF,VF,UF,TF,SF,RF,QF,PF,OF,mF,lF,kF,jF,iF,hF,gF,fF,eF,dF,qk,qk,MR,MR,MR,MR,MR,MR,MR,MR,MR];var Za=[rY,BQ,AQ,zQ,yQ,xQ,wQ,vQ,uQ,tQ,sQ,UP,TP,SP,RP,QP,PP,OP,NP,MP,LP,pk,Gk,Mj,yi,yU,jl,Ho,ek,Xm,Kn,Ti,Si,Jh,Vm,Km,zm,rY,rY,rY,rY,rY,rY,rY,rY,rY,rY,rY,rY,rY,rY,rY,rY,rY,rY,rY,rY,rY,rY,rY,rY,rY,rY,rY];var _a=[KN,yB,xB,wB,vB,uB,tB,sB,rB,qB,pB,$A,_A,ZA,YA,XA,WA,VA,UA,TA,SA,Ek,Dk,KN,KN,KN,KN,KN,KN,KN,KN,KN];var $a=[bV,cK,bK,aK,$J,_J,ZJ,YJ,XJ,WJ,VJ,JJ,IJ,HJ,GJ,FJ,EJ,DJ,CJ,BJ,AJ,Fc,bV,bV,bV,bV,bV,bV,bV,bV,bV,bV];var ab=[VQ,NE,ME,LE,KE,JE,IE,HE,GE,FE,EE,tE,sE,rE,qE,pE,oE,nE,mE,lE,kE,Tz,$d,Tz,Tz,ae,Tz,Tz,Mf,mf,By,Tz,Tz,VQ,VQ,VQ,VQ,VQ,VQ,VQ,VQ,VQ,VQ,VQ,VQ,VQ,VQ,VQ,VQ,VQ,VQ,VQ,VQ,VQ,VQ,VQ,VQ,VQ,VQ,VQ,VQ,VQ,VQ,VQ];var bb=[$E,Uw,Tw,Sw,Rw,Qw,Pw,Ow,Nw,Mw,Lw,Hw,Gw,Fw,Ew,Dw,Cw,Bw,Aw,zw,yw,zq,$E,$E,$E,$E,$E,$E,$E,$E,$E,$E];var cb=[wC,fv,ev,dv,cv,bv,av,$u,_u,Zu,Yu,Wu,Vu,Uu,Tu,Su,Ru,Qu,Pu,Ou,Nu,bc,Li,wC,wC,wC,wC,wC,wC,wC,wC,wC];var db=[_z,Ls,Ks,Js,Is,Hs,Gs,Fs,Es,Ds,Cs,Bs,As,zs,ys,xs,ws,vs,us,ts,ss,gj,Dc,_z,_z,_z,_z,_z,_z,_z,_z,_z];var eb=[C$,f_,e_,d_,c_,b_,a_,$Z,_Z,ZZ,YZ,NZ,MZ,LZ,KZ,JZ,IZ,HZ,GZ,FZ,EZ,HU,XW,rZ,yZ,LV,fT,fT,hW,XT,oY,K_,Ir,dZ,x_,O_,CY,WW,rZ,lY,PZ,K_,DZ,DZ,yZ,XV,lT,PT,QY,$X,K_,WW,QV,OU,ZW,xW,mW,HW,yZ,kK,tC,IW,PU,zB,YS,YS,fZ,SZ,vX,z_,nY,u_,v_,uZ,GW,h_,SS,hZ,nY,qZ,zX,tZ,WW,DY,t_,xZ,YW,nW,nW,rZ,VZ,nY,UZ,TZ,HR,SY,rZ,rZ,rZ,L_,w_,WZ,x_,w_,ZW,lW,RY,RZ,nY,CZ,BZ,XT,pR,WV,OV,OV,hW,hW,R_,rZ,yZ,hW,hW,R_,fT,rZ,CU,CU,hW,Fx,C$,C$,C$,C$,C$,C$,C$,C$,C$,C$,C$,C$,C$,C$,C$,C$,C$,C$,C$,C$,C$,C$,C$,C$,C$,C$,C$,C$,C$,C$,C$,C$,C$,C$,C$,C$,C$,C$,C$,C$,C$,C$,C$,C$,C$,C$,C$,C$,C$,C$,C$,C$,C$,C$,C$,C$,C$,C$,C$,C$,C$,C$,C$,C$,C$,C$,C$,C$,C$,C$,C$,C$,C$,C$,C$,C$,C$,C$,C$,C$,C$,C$,C$,C$,C$,C$,C$,C$,C$,C$,C$,C$,C$,C$,C$,C$,C$,C$,C$,C$,C$,C$,C$,C$,C$,C$,C$,C$,C$,C$,C$,C$,C$,C$,C$,C$,C$,C$,C$,C$,C$,C$,C$,C$,C$,C$];var fb=[SV,UL,TL,SL,RL,QL,PL,OL,NL,ML,LL,kL,jL,iL,hL,gL,fL,eL,dL,cL,bL,ug,SV,SV,SV,SV,SV,SV,SV,SV,SV,SV];var gb=[s_,fW,eW,dW,cW,bW,aW,$V,_V,ZV,YV,JV,IV,HV,GV,FV,EV,DV,CV,BV,AV,Rt,Zt,Qt,sW,sW,sW,Nb,gJ,gJ,Lc,nm,nn,QH,fo,Gx,Al,Lr,Iq,_k,Ei,Oo,Hr,s_,s_,s_,s_,s_,s_,s_,s_,s_,s_,s_,s_,s_,s_,s_,s_,s_,s_,s_,s_,s_];var hb=[BY,BR,AR,zR,yR,xR,wR,vR,uR,tR,sR,UQ,TQ,SQ,RQ,QQ,PQ,OQ,NQ,MQ,LQ,vf,wS,wS,dn,BY,BY,BY,BY,BY,BY,BY];var ib=[kY,EP,DP,CP,BP,AP,zP,yP,xP,wP,vP,aP,$O,_O,ZO,YO,XO,WO,VO,UO,TO,$n,Ke,Ji,Vb,Uo,Cl,jg,Xh,hh,uf,yn,Vh,Nh,pf,af,sf,xn,xr,ok,Df,sl,_h,Gg,El,ii,rl,xe,pl,yd,KP,KP,jf,hk,og,Eg,zi,bl,kY,kY,kY,kY,kY,kY];var jb=[_U,rJ,qJ,pJ,oJ,nJ,mJ,lJ,kJ,jJ,iJ,WI,VI,UI,TI,SI,RI,QI,PI,OI,NI,tn,Fp,Wo,Ck,Ak,ai,Jd,Ln,Ml,Kl,dm,ng,am,Tp,Ym,$l,Vl,Yi,hm,xc,XC,fG,nf,pn,_U,_U,_U,_U,_U,_U,_U,_U,_U,_U,_U,_U,_U,_U,_U,_U,_U,_U,_U];var kb=[bM,AA,zA,yA,xA,wA,vA,uA,tA,sA,rA,lA,kA,jA,iA,hA,gA,fA,eA,dA,cA,Uc,od,Id,bM,bM,bM,bM,bM,bM,bM,bM];var lb=[pI,ty,sy,ry,qy,py,oy,ny,my,ly,ky,cy,by,ay,$x,_x,Zx,Yx,Xx,Wx,Vx,pI,pI,pI,pI,pI,pI,pI,pI,pI,pI,pI];var mb=[rC,Iu,Hu,Gu,Fu,Eu,Du,Cu,Bu,Au,zu,vu,uu,tu,su,ru,qu,pu,ou,nu,mu,_c,Jf,rC,rC,rC,rC,rC,rC,rC,rC,rC];var nb=[Vz,qs,ps,os,ns,ms,ls,ks,js,is,hs,bs,as,$r,_r,Zr,Yr,Xr,Wr,Vr,Ur,yc,ph,Vz,Vz,Vz,Vz,Vz,Vz,Vz,Vz,Vz];var ob=[a0,_$,Z$,Y$,X$,W$,V$,U$,T$,S$,R$,Q$,P$,O$,N$,M$,L$,K$,J$,I$,H$,f$,pO,a0,a0,a0,a0,a0,a0,a0,a0,a0];var pb=[G$,r$,q$,p$,o$,n$,m$,l$,k$,j$,i$,b$,a$,$_,__,Z_,Y_,X_,W_,V_,U_,z$,x$,z$,T_,Wt,tI,z$,T_,z$,T_,z$,AX,z$,T_,z$,x$,z$,T_,z$,x$,z$,x$,z$,T_,z$,x$,z$,T_,$Q,BU,Op,wr,po,Rj,MI,z$,x$,x$,x$,x$,id,nD,z$,x$,z$,x$,z$,dI,x$,x$,z$,dI,x$,x$,z$,x$,$I,DG,z$,x$,z$,x$,xq,Pp,dj,tP,ik,Pz,lj,al,Rb,Sh,eg,Sn,qe,Pl,z$,x$,z$,x$,up,Eo,Og,Yz,Tb,x$,xk,OO,xY,uC,z$,xY,uC,hf,kn,uC,uC,Ee,T_,uC,uC,Zc,uC,rc,ig,dy,QT,wi,IU,x$,x$,x$,x$,Ap,Lo,Ex,x$,z$,x$,yY,vC,rp,Bo,Ol,Qz,Sp,Cr,z$,x$,_e,UN,x$,x$,x$,x$,x$,x$,x$,x$,x$,x$,yk,YP,Fr,bq,Np,zp,x$,Bq,pq,Or,iq,x$,z$,x$,Uj,KU,Wd,x$,x$,x$,x$,x$,z$,x$,z$,VX,x$,x$,x$,x$,x$,x$,zr,$p,z$,x$,Qr,lq,x$,x$,x$,Uk,uO,x$,Oj,EK,x$,rm,AB,nj,dI,dI,dI,Nl,im,dI,eq,tp,z$,x$,x$,x$,z$,dI,x$,z$,x$,z$,dI,T_,z$,dI,T_,Gm,tm,dI,dI,dI,Pp,x$,Pp,YX,UB,x$,x$,MW,bB,dI,dI,dI,ti,TB,Fj,OA,z$,OA,Xp,Jr,wk,tO,x$,x$,Jp,JU,z$,x$,x$,x$,ui,UB,T_,z$,x$,x$,x$,x$,x$,x$,z$,x$,z$,x$,Br,aq,x$,x$,zk,qR,si,MA,Kp,No,z$,x$,z$,z$,x$,x$,G$,G$,G$,G$,G$,G$,G$,G$,G$,G$,G$,G$,G$,G$,G$,G$,G$,G$,G$,G$,G$,G$,G$,G$,G$,G$,G$,G$,G$,G$,G$,G$,G$,G$,G$,G$,G$,G$,G$,G$,G$,G$,G$,G$,G$,G$,G$,G$,G$,G$,G$,G$,G$,G$,G$,G$,G$,G$,G$,G$,G$,G$,G$,G$,G$,G$,G$,G$,G$,G$,G$,G$,G$,G$,G$,G$,G$,G$,G$,G$,G$,G$,G$,G$,G$,G$,G$,G$,G$,G$,G$,G$,G$,G$,G$,G$,G$,G$,G$,G$,G$,G$,G$,G$,G$,G$,G$,G$,G$,G$,G$,G$,G$,G$,G$,G$,G$,G$,G$,G$,G$,G$,G$,G$,G$,G$,G$,G$,G$,G$,G$,G$,G$,G$,G$,G$,G$,G$,G$,G$,G$,G$,G$,G$,G$,G$,G$,G$,G$,G$,G$,G$,G$,G$,G$,G$,G$,G$,G$,G$,G$,G$,G$,G$,G$,G$,G$,G$,G$,G$,G$,G$,G$,G$,G$,G$,G$,G$,G$,G$,G$,G$,G$,G$,G$,G$,G$,G$,G$,G$,G$,G$,G$,G$,G$,G$,G$,G$,G$,G$,G$,G$,G$,G$,G$,G$,G$,G$,G$,G$,G$,G$];var qb=[v$,bZ,aZ,$Y,_Y,ZY,YY,XY,WY,VY,UY,PY,OY,NY,MY,LY,KY,JY,IY,HY,GY,Ub,Ic,hn,zV,DU,wX,DU,Rk,Kc,_f,Wh,qg,kk,$e,Ac,jd,pc,TT,DU,Sl,Sl,Sl,uj,v$,v$,v$,v$,v$,v$,v$,v$,v$,v$,v$,v$,v$,v$,v$,v$,v$,v$,v$,v$];var rb=[g_,mV,lV,kV,jV,iV,hV,gV,fV,eV,dV,ZU,YU,XU,WU,VU,UU,TU,SU,RU,QU,Sd,Cg,Gj,ag,Kf,g_,g_,g_,g_,g_,g_];var sb=[bQ,PD,OD,ND,MD,LD,KD,JD,ID,HD,GD,xD,wD,vD,uD,tD,sD,rD,qD,pD,oD,Se,Oe,ud,bQ,bQ,bQ,bQ,bQ,bQ,bQ,bQ];var tb=[AZ,rU,qU,pU,oU,nU,mU,lU,kU,jU,iU,FT,ET,DT,CT,BT,AT,zT,yT,xT,wT,Wg,_Q,RN,rz,ak,Zi,Mn,Cp,rz,rz,sj,_Q,ul,cm,Cy,fk,AZ,AZ,AZ,AZ,AZ,AZ,AZ,AZ,AZ,AZ,AZ,AZ,AZ,AZ,AZ,AZ,AZ,AZ,AZ,AZ,AZ,AZ,AZ,AZ,AZ,AZ,AZ];var ub=[tX,JN,IN,HN,GN,FN,EN,DN,CN,BN,AN,XM,WM,VM,UM,TM,SM,RM,QM,PM,OM,Bk,tX,tX,tX,tX,tX,tX,tX,tX,tX,tX];var vb=[u$,jY,iY,hY,gY,fY,eY,dY,cY,bY,aY,KX,JX,IX,HX,GX,FX,EX,DX,CX,BX,Dr,Kv,sL,XN,yW,DO,jO,yW,so,gl,yW,Dx,uo,oc,de,nq,yW,yW,yW,MS,gO,tg,pg,Ah,bk,Qm,Wj,iv,nh,Oi,Rp,OE,ZC,iG,sF,tc,yW,oj,Py,jo,Aq,bi,DF,Dd,fj,nk,Ch,cz,lf,cf,ic,dl,$c,Xj,ec,$i,yW,Dl,Ok,$k,Xl,tM,Pk,jn,Pn,Zj,oj,zj,oj,Jk,bt,oq,oj,pj,Xn,gs,on,Yd,Gn,Gl,zz,uz,vz,ap,Bh,$m,Zm,Yg,gv,jv,Gq,cl,pw,Qp,cl,hd,dd,_t,cl,pw,yW,yW,Kh,Mh,fe,Vn,yW,yW,yW,qH,gO,rf,Yc,ci,Az,Ly,Ly,yW,oj,yW,yW,u$,u$,u$,u$,u$,u$,u$,u$,u$,u$,u$,u$,u$,u$,u$,u$,u$,u$,u$,u$,u$,u$,u$,u$,u$,u$,u$,u$,u$,u$,u$,u$,u$,u$,u$,u$,u$,u$,u$,u$,u$,u$,u$,u$,u$,u$,u$,u$,u$,u$,u$,u$,u$,u$,u$,u$,u$,u$,u$,u$,u$,u$,u$,u$,u$,u$,u$,u$,u$,u$,u$,u$,u$,u$,u$,u$,u$,u$,u$,u$,u$,u$,u$,u$,u$,u$,u$,u$,u$,u$,u$,u$,u$,u$,u$,u$,u$,u$,u$,u$,u$,u$,u$,u$,u$,u$,u$,u$,u$,u$,u$,u$,u$,u$];var wb=[zZ,hU,gU,fU,eU,dU,cU,bU,aU,$T,_T,vT,uT,tT,sT,rT,qT,pT,oT,nT,mT,vg,TD,NB,Lu,il,hc,zZ,zZ,zZ,zZ,zZ];var xb=[sX,zN,yN,xN,wN,vN,uN,tN,sN,rN,qN,NM,MM,LM,KM,JM,IM,HM,GM,FM,EM,mq,rR,sk,gp,aj,_m,qn,sX,sX,sX,sX];var yb=[tU,MH,LH,KH,JH,IH,HH,GH,FH,EH,DH,lH,kH,jH,iH,hH,gH,fH,eH,dH,cH,oh,tU,tU,tU,tU,tU,tU,tU,tU,tU,tU];var zb=[oZ,GS,FS,ES,DS,CS,BS,AS,zS,yS,xS,gS,fS,eS,dS,cS,bS,aS,$R,_R,ZR,ST,vF,Di,we,lD,ri,Fo,ST,Hj,Vj,Ay,ST,Ed,fd,ST,hl,_l,Vk,Pq,ij,ff,ji,ST,ST,Pi,qi,Te,eG,dG,oS,oS,oS,oS,pd,hi,$j,_g,Hk,Rx,Dh,bz,Ze,le,le,rh,hl,dk,Vo,Eh,hl,gi,ST,pm,Jo,wm,bm,Ll,ck,cn,fn,bn,_n,oo,ed,to,ST,ST,ST,ST,dq,op,sp,Cm,Sj,ki,hp,oS,oS,oS,oS,Fi,rd,ei,oZ,oZ,oZ,oZ,oZ,oZ,oZ,oZ,oZ,oZ,oZ,oZ,oZ,oZ,oZ,oZ,oZ,oZ,oZ,oZ,oZ,oZ,oZ,oZ];var Ab=[rX,pN,oN,nN,mN,lN,kN,jN,iN,hN,gN,DM,CM,BM,AM,zM,yM,xM,wM,vM,uM,OJ,Yb,Gd,re,ix,Lj,oe,ym,gn,rX,rX];var Bb=[nP,VC,UC,TC,SC,RC,QC,PC,OC,NC,MC,qC,pC,oC,nC,mC,lC,kC,jC,iC,hC,Xw,nP,nP,nP,nP,nP,nP,nP,nP,nP,nP];var Cb=[zW,CL,BL,AL,zL,yL,xL,wL,vL,uL,tL,RK,QK,PK,OK,NK,MK,LK,KK,JK,IK,eB,bg,Cf,ef,SN,nI,fD,Qf,If,Ey,Qk,wt,Fz,Tk,uc,mc,Ye,Mx,uh,Ef,Sb,Gz,Mm,xl,lp,If,We,cc,Mg,Uf,se,ey,$w,zg,xh,Ey,vi,Qh,Hg,Wl,wx,wh,Od,em,Dj,Kj,Ip,lg,Ug,Wl,SN,Ph,Mi,Zk,SN,Yh,Ng,Ai,SN,SN,yj,Cj,qm,Sk,rk,ce,ne,xi,nc,Cj,yl,vl,wl,Rc,co,Jj,co,Hl,yq,zo,ml,zW,zW,zW,zW,zW,zW,zW,zW,zW,zW,zW,zW,zW,zW,zW,zW,zW,zW,zW,zW,zW,zW,zW,zW,zW,zW];var Db=[sU,CH,BH,AH,zH,yH,xH,wH,vH,uH,tH,bH,aH,$G,_G,ZG,YG,XG,WG,VG,UG,SB,sU,sU,sU,sU,sU,sU,sU,sU,sU,sU];var Eb=[_y,tr,sr,rr,qr,pr,or,nr,mr,lr,kr,fr,er,dr,cr,br,ar,$q,_q,Zq,Yq,ke,_y,_y,_y,_y,_y,_y,_y,_y,_y,_y];var Fb=[oA,vt,ut,tt,st,rt,qt,pt,ot,nt,mt,$s,_s,Zs,Ys,Xs,Ws,Vs,Us,Ts,Ss,Xf,oA,oA,oA,oA,oA,oA,oA,oA,oA,oA];var Gb=[$S,tG,sG,rG,qG,pG,oG,nG,mG,lG,kG,NF,MF,LF,KF,JF,IF,HF,GF,FF,EF,gy,Ld,Zg,Ul,fg,_p,Bc,Ve,Rf,Lf,Ob,Qc,lc,ze,Ud,wc,Uz,sg,Xb,Kd,nl,Ni,gf,$S,$S,$S,$S,$S,$S,$S,$S,$S,$S,$S,$S,$S,$S,$S,$S,$S,$S,$S,$S];var Hb=[mP,LC,KC,JC,IC,HC,GC,FC,EC,DC,CC,gC,fC,eC,dC,cC,bC,aC,$B,_B,ZB,np,mP,mP,mP,mP,mP,mP,mP,mP,mP,mP];var Ib=[vO,KB,JB,IB,HB,GB,FB,EB,DB,CB,BB,oB,nB,mB,lB,kB,jB,iB,hB,gB,fB,Pd,Jl,Em,Ep,Qn,Zh,vO,vO,vO,vO,vO];var Jb=[xK,oz,nz,mz,lz,kz,jz,iz,hz,gz,fz,Zy,Yy,Xy,Wy,Vy,Uy,Ty,Sy,Ry,Qy,Xg,xK,xK,xK,xK,xK,xK,xK,xK,xK,xK];var Kb=[uE,dw,cw,bw,aw,$v,_v,Zv,Yv,Xv,Wv,Uv,Tv,Sv,Rv,Qv,Pv,Ov,Nv,Mv,Lv,Mr,uE,uE,uE,uE,uE,uE,uE,uE,uE,uE];var Lb=[$D,Fv,Ev,Dv,Gv,Cv,Bv,Av,zv,yv,xv,tv,sv,rv,qv,pv,ov,nv,mv,lv,kv,Lh,$D,$D,$D,$D,$D,$D,$D,$D,$D,$D];var Mb=[NA,Jt,It,Ht,Gt,Ft,Et,Dt,Ct,Bt,At,lt,kt,jt,it,ht,gt,ft,et,dt,ct,sm,sm,NA,NA,NA,NA,NA,NA,NA,NA,NA];return{__GLOBAL__sub_I_btQuickprof_cpp:hr,__ZSt18uncaught_exceptionv:_X,___cxa_can_catch:Wq,___cxa_is_pointer_type:KI,___muldi3:nw,___udivdi3:cO,_bitshift64Lshr:Oy,_bitshift64Shl:xy,_emscripten_bind_AllHitsRayResultCallback_AllHitsRayResultCallback_2:Lx,_emscripten_bind_AllHitsRayResultCallback___destroy___0:CE,_emscripten_bind_AllHitsRayResultCallback_get_m_closestHitFraction_0:QW,_emscripten_bind_AllHitsRayResultCallback_get_m_collisionFilterGroup_0:ZQ,_emscripten_bind_AllHitsRayResultCallback_get_m_collisionFilterMask_0:jR,_emscripten_bind_AllHitsRayResultCallback_get_m_collisionObject_0:fT,_emscripten_bind_AllHitsRayResultCallback_get_m_collisionObjects_0:yV,_emscripten_bind_AllHitsRayResultCallback_get_m_hitFractions_0:xU,_emscripten_bind_AllHitsRayResultCallback_get_m_hitNormalWorld_0:mZ,_emscripten_bind_AllHitsRayResultCallback_get_m_hitPointWorld_0:FY,_emscripten_bind_AllHitsRayResultCallback_get_m_rayFromWorld_0:kZ,_emscripten_bind_AllHitsRayResultCallback_get_m_rayToWorld_0:nZ,_emscripten_bind_AllHitsRayResultCallback_hasHit_0:FI,_emscripten_bind_AllHitsRayResultCallback_set_m_closestHitFraction_1:qW,_emscripten_bind_AllHitsRayResultCallback_set_m_collisionFilterGroup_1:JL,_emscripten_bind_AllHitsRayResultCallback_set_m_collisionFilterMask_1:aM,_emscripten_bind_AllHitsRayResultCallback_set_m_collisionObject_1:jO,_emscripten_bind_AllHitsRayResultCallback_set_m_collisionObjects_1:sC,_emscripten_bind_AllHitsRayResultCallback_set_m_hitFractions_1:jG,_emscripten_bind_AllHitsRayResultCallback_set_m_hitNormalWorld_1:iE,_emscripten_bind_AllHitsRayResultCallback_set_m_hitPointWorld_1:yE,_emscripten_bind_AllHitsRayResultCallback_set_m_rayFromWorld_1:jw,_emscripten_bind_AllHitsRayResultCallback_set_m_rayToWorld_1:mw,_emscripten_bind_Anchor___destroy___0:XR,_emscripten_bind_Anchor_get_m_body_0:wW,_emscripten_bind_Anchor_get_m_c0_0:gZ,_emscripten_bind_Anchor_get_m_c1_0:fZ,_emscripten_bind_Anchor_get_m_c2_0:BW,_emscripten_bind_Anchor_get_m_influence_0:PW,_emscripten_bind_Anchor_get_m_local_0:R_,_emscripten_bind_Anchor_get_m_node_0:yX,_emscripten_bind_Anchor_set_m_body_1:vS,_emscripten_bind_Anchor_set_m_c0_1:FO,_emscripten_bind_Anchor_set_m_c1_1:fw,_emscripten_bind_Anchor_set_m_c2_1:gT,_emscripten_bind_Anchor_set_m_influence_1:JT,_emscripten_bind_Anchor_set_m_local_1:gw,_emscripten_bind_Anchor_set_m_node_1:OT,_emscripten_bind_ClosestConvexResultCallback_ClosestConvexResultCallback_2:ox,_emscripten_bind_ClosestConvexResultCallback___destroy___0:CE,_emscripten_bind_ClosestConvexResultCallback_get_m_closestHitFraction_0:QW,_emscripten_bind_ClosestConvexResultCallback_get_m_collisionFilterGroup_0:nQ,_emscripten_bind_ClosestConvexResultCallback_get_m_collisionFilterMask_0:mQ,_emscripten_bind_ClosestConvexResultCallback_get_m_convexFromWorld_0:O_,_emscripten_bind_ClosestConvexResultCallback_get_m_convexToWorld_0:gZ,_emscripten_bind_ClosestConvexResultCallback_get_m_hitCollisionObject_0:EO,_emscripten_bind_ClosestConvexResultCallback_get_m_hitNormalWorld_0:WS,_emscripten_bind_ClosestConvexResultCallback_get_m_hitPointWorld_0:kT,_emscripten_bind_ClosestConvexResultCallback_hasHit_0:cI,_emscripten_bind_ClosestConvexResultCallback_set_m_closestHitFraction_1:qW,_emscripten_bind_ClosestConvexResultCallback_set_m_collisionFilterGroup_1:_K,_emscripten_bind_ClosestConvexResultCallback_set_m_collisionFilterMask_1:ZK,_emscripten_bind_ClosestConvexResultCallback_set_m_convexFromWorld_1:Ot,_emscripten_bind_ClosestConvexResultCallback_set_m_convexToWorld_1:Vt,_emscripten_bind_ClosestConvexResultCallback_set_m_hitCollisionObject_1:hK,_emscripten_bind_ClosestConvexResultCallback_set_m_hitNormalWorld_1:Pt,_emscripten_bind_ClosestConvexResultCallback_set_m_hitPointWorld_1:Ut,_emscripten_bind_ClosestRayResultCallback_ClosestRayResultCallback_2:Qx,_emscripten_bind_ClosestRayResultCallback___destroy___0:CE,_emscripten_bind_ClosestRayResultCallback_get_m_closestHitFraction_0:QW,_emscripten_bind_ClosestRayResultCallback_get_m_collisionFilterGroup_0:ZQ,_emscripten_bind_ClosestRayResultCallback_get_m_collisionFilterMask_0:jR,_emscripten_bind_ClosestRayResultCallback_get_m_collisionObject_0:fT,_emscripten_bind_ClosestRayResultCallback_get_m_hitNormalWorld_0:TV,_emscripten_bind_ClosestRayResultCallback_get_m_hitPointWorld_0:zX,_emscripten_bind_ClosestRayResultCallback_get_m_rayFromWorld_0:yV,_emscripten_bind_ClosestRayResultCallback_get_m_rayToWorld_0:AW,_emscripten_bind_ClosestRayResultCallback_hasHit_0:FI,_emscripten_bind_ClosestRayResultCallback_set_m_closestHitFraction_1:qW,_emscripten_bind_ClosestRayResultCallback_set_m_collisionFilterGroup_1:JL,_emscripten_bind_ClosestRayResultCallback_set_m_collisionFilterMask_1:aM,_emscripten_bind_ClosestRayResultCallback_set_m_collisionObject_1:jO,_emscripten_bind_ClosestRayResultCallback_set_m_hitNormalWorld_1:yu,_emscripten_bind_ClosestRayResultCallback_set_m_hitPointWorld_1:gv,_emscripten_bind_ClosestRayResultCallback_set_m_rayFromWorld_1:bu,_emscripten_bind_ClosestRayResultCallback_set_m_rayToWorld_1:hv,_emscripten_bind_ConcreteContactResultCallback_ConcreteContactResultCallback_0:Ky,_emscripten_bind_ConcreteContactResultCallback___destroy___0:CE,_emscripten_bind_ConcreteContactResultCallback_addSingleResult_7:Ms,_emscripten_bind_Config___destroy___0:yJ,_emscripten_bind_Config_get_citerations_0:nW,_emscripten_bind_Config_get_collisions_0:PV,_emscripten_bind_Config_get_diterations_0:OV,_emscripten_bind_Config_get_kAHR_0:FW,_emscripten_bind_Config_get_kCHR_0:EW,_emscripten_bind_Config_get_kDF_0:VW,_emscripten_bind_Config_get_kDG_0:UW,_emscripten_bind_Config_get_kDP_0:dX,_emscripten_bind_Config_get_kKHR_0:DW,_emscripten_bind_Config_get_kLF_0:TW,_emscripten_bind_Config_get_kMT_0:SW,_emscripten_bind_Config_get_kPR_0:RW,_emscripten_bind_Config_get_kSHR_0:CW,_emscripten_bind_Config_get_kSKHR_CL_0:kW,_emscripten_bind_Config_get_kSK_SPLT_CL_0:wV,_emscripten_bind_Config_get_kSRHR_CL_0:jW,_emscripten_bind_Config_get_kSR_SPLT_CL_0:vV,_emscripten_bind_Config_get_kSSHR_CL_0:iW,_emscripten_bind_Config_get_kSS_SPLT_CL_0:JW,_emscripten_bind_Config_get_kVCF_0:QW,_emscripten_bind_Config_get_kVC_0:PW,_emscripten_bind_Config_get_maxvolume_0:VV,_emscripten_bind_Config_get_piterations_0:NV,_emscripten_bind_Config_get_timescale_0:UV,_emscripten_bind_Config_get_viterations_0:MV,_emscripten_bind_Config_set_citerations_1:oR,_emscripten_bind_Config_set_collisions_1:nR,_emscripten_bind_Config_set_diterations_1:mR,_emscripten_bind_Config_set_kAHR_1:jT,_emscripten_bind_Config_set_kCHR_1:iT,_emscripten_bind_Config_set_kDF_1:NT,_emscripten_bind_Config_set_kDG_1:zV,_emscripten_bind_Config_set_kDP_1:pW,_emscripten_bind_Config_set_kKHR_1:hT,_emscripten_bind_Config_set_kLF_1:MT,_emscripten_bind_Config_set_kMT_1:LT,_emscripten_bind_Config_set_kPR_1:KT,_emscripten_bind_Config_set_kSHR_1:DU,_emscripten_bind_Config_set_kSKHR_CL_1:uS,_emscripten_bind_Config_set_kSK_SPLT_CL_1:UR,_emscripten_bind_Config_set_kSRHR_CL_1:tS,_emscripten_bind_Config_set_kSR_SPLT_CL_1:TR,_emscripten_bind_Config_set_kSSHR_CL_1:sS,_emscripten_bind_Config_set_kSS_SPLT_CL_1:TT,_emscripten_bind_Config_set_kVCF_1:qW,_emscripten_bind_Config_set_kVC_1:JT,_emscripten_bind_Config_set_maxvolume_1:mS,_emscripten_bind_Config_set_piterations_1:lR,_emscripten_bind_Config_set_timescale_1:lS,_emscripten_bind_Config_set_viterations_1:kR,_emscripten_bind_ContactResultCallback___destroy___0:CE,_emscripten_bind_ContactResultCallback_addSingleResult_7:Ms,_emscripten_bind_ConvexResultCallback___destroy___0:CE,_emscripten_bind_ConvexResultCallback_get_m_closestHitFraction_0:QW,_emscripten_bind_ConvexResultCallback_get_m_collisionFilterGroup_0:nQ,_emscripten_bind_ConvexResultCallback_get_m_collisionFilterMask_0:mQ,_emscripten_bind_ConvexResultCallback_hasHit_0:cI,_emscripten_bind_ConvexResultCallback_set_m_closestHitFraction_1:qW,_emscripten_bind_ConvexResultCallback_set_m_collisionFilterGroup_1:_K,_emscripten_bind_ConvexResultCallback_set_m_collisionFilterMask_1:ZK,_emscripten_bind_DebugDrawer_DebugDrawer_0:gK,_emscripten_bind_DebugDrawer___destroy___0:CE,_emscripten_bind_DebugDrawer_draw3dText_2:$C,_emscripten_bind_DebugDrawer_drawContactPoint_5:Vw,_emscripten_bind_DebugDrawer_drawLine_3:nA,_emscripten_bind_DebugDrawer_getDebugMode_0:kK,_emscripten_bind_DebugDrawer_reportErrorWarning_1:ZE,_emscripten_bind_DebugDrawer_setDebugMode_1:yG,_emscripten_bind_LocalConvexResult_LocalConvexResult_5:cs,_emscripten_bind_LocalConvexResult___destroy___0:XR,_emscripten_bind_LocalConvexResult_get_m_hitCollisionObject_0:yX,_emscripten_bind_LocalConvexResult_get_m_hitFraction_0:DW,_emscripten_bind_LocalConvexResult_get_m_hitNormalLocal_0:Q_,_emscripten_bind_LocalConvexResult_get_m_hitPointLocal_0:lZ,_emscripten_bind_LocalConvexResult_get_m_localShapeInfo_0:LV,_emscripten_bind_LocalConvexResult_set_m_hitCollisionObject_1:OT,_emscripten_bind_LocalConvexResult_set_m_hitFraction_1:hT,_emscripten_bind_LocalConvexResult_set_m_hitNormalLocal_1:rw,_emscripten_bind_LocalConvexResult_set_m_hitPointLocal_1:kw,_emscripten_bind_LocalConvexResult_set_m_localShapeInfo_1:DO,_emscripten_bind_LocalShapeInfo___destroy___0:XR,_emscripten_bind_LocalShapeInfo_get_m_shapePart_0:yX,_emscripten_bind_LocalShapeInfo_get_m_triangleIndex_0:LV,_emscripten_bind_LocalShapeInfo_set_m_shapePart_1:OT,_emscripten_bind_LocalShapeInfo_set_m_triangleIndex_1:DO,_emscripten_bind_Material___destroy___0:XR,_emscripten_bind_Material_get_m_flags_0:hW,_emscripten_bind_Material_get_m_kAST_0:dX,_emscripten_bind_Material_get_m_kLST_0:QW,_emscripten_bind_Material_get_m_kVST_0:UW,_emscripten_bind_Material_set_m_flags_1:SR,_emscripten_bind_Material_set_m_kAST_1:pW,_emscripten_bind_Material_set_m_kLST_1:qW,_emscripten_bind_Material_set_m_kVST_1:zV,_emscripten_bind_Node___destroy___0:XR,_emscripten_bind_Node_get_m_area_0:BW,_emscripten_bind_Node_get_m_f_0:nZ,_emscripten_bind_Node_get_m_im_0:cX,_emscripten_bind_Node_get_m_n_0:mZ,_emscripten_bind_Node_get_m_q_0:lZ,_emscripten_bind_Node_get_m_v_0:kZ,_emscripten_bind_Node_get_m_x_0:Q_,_emscripten_bind_Node_set_m_area_1:gT,_emscripten_bind_Node_set_m_f_1:mw,_emscripten_bind_Node_set_m_im_1:WT,_emscripten_bind_Node_set_m_n_1:lw,_emscripten_bind_Node_set_m_q_1:kw,_emscripten_bind_Node_set_m_v_1:jw,_emscripten_bind_Node_set_m_x_1:rw,_emscripten_bind_RayResultCallback___destroy___0:CE,_emscripten_bind_RayResultCallback_get_m_closestHitFraction_0:QW,_emscripten_bind_RayResultCallback_get_m_collisionFilterGroup_0:ZQ,_emscripten_bind_RayResultCallback_get_m_collisionFilterMask_0:jR,_emscripten_bind_RayResultCallback_get_m_collisionObject_0:fT,_emscripten_bind_RayResultCallback_hasHit_0:FI,_emscripten_bind_RayResultCallback_set_m_closestHitFraction_1:qW,_emscripten_bind_RayResultCallback_set_m_collisionFilterGroup_1:JL,_emscripten_bind_RayResultCallback_set_m_collisionFilterMask_1:aM,_emscripten_bind_RayResultCallback_set_m_collisionObject_1:jO,_emscripten_bind_RaycastInfo___destroy___0:XR,_emscripten_bind_RaycastInfo_get_m_contactNormalWS_0:D$,_emscripten_bind_RaycastInfo_get_m_contactPointWS_0:DY,_emscripten_bind_RaycastInfo_get_m_groundObject_0:NV,_emscripten_bind_RaycastInfo_get_m_hardPointWS_0:AW,_emscripten_bind_RaycastInfo_get_m_isInContact_0:kS,_emscripten_bind_RaycastInfo_get_m_suspensionLength_0:SW,_emscripten_bind_RaycastInfo_get_m_wheelAxleWS_0:zX,_emscripten_bind_RaycastInfo_get_m_wheelDirectionWS_0:TV,_emscripten_bind_RaycastInfo_set_m_contactNormalWS_1:hw,_emscripten_bind_RaycastInfo_set_m_contactPointWS_1:jv,_emscripten_bind_RaycastInfo_set_m_groundObject_1:lR,_emscripten_bind_RaycastInfo_set_m_hardPointWS_1:hv,_emscripten_bind_RaycastInfo_set_m_isInContact_1:sO,_emscripten_bind_RaycastInfo_set_m_suspensionLength_1:LT,_emscripten_bind_RaycastInfo_set_m_wheelAxleWS_1:gv,_emscripten_bind_RaycastInfo_set_m_wheelDirectionWS_1:yu,_emscripten_bind_VoidPtr___destroy___0:XR,_emscripten_bind_btActionInterface___destroy___0:CE,_emscripten_bind_btActionInterface_updateAction_2:yC,_emscripten_bind_btAxisSweep3___destroy___0:CE,_emscripten_bind_btAxisSweep3_btAxisSweep3_2:kx,_emscripten_bind_btAxisSweep3_btAxisSweep3_3:ew,_emscripten_bind_btAxisSweep3_btAxisSweep3_4:wu,_emscripten_bind_btAxisSweep3_btAxisSweep3_5:Kt,_emscripten_bind_btBoxShape___destroy___0:CE,_emscripten_bind_btBoxShape_btBoxShape_1:Ui,_emscripten_bind_btBoxShape_calculateLocalInertia_2:RB,_emscripten_bind_btBoxShape_getLocalScaling_0:UJ,_emscripten_bind_btBoxShape_getMargin_0:YK,_emscripten_bind_btBoxShape_getShapeType_0:FU,_emscripten_bind_btBoxShape_setLocalScaling_1:bG,_emscripten_bind_btBoxShape_setMargin_1:$H,_emscripten_bind_btBroadphaseInterface___destroy___0:CE,_emscripten_bind_btBroadphaseInterface_getOverlappingPairCache_0:$K,_emscripten_bind_btBroadphaseProxy___destroy___0:_N,_emscripten_bind_btBroadphaseProxy_get_m_collisionFilterGroup_0:iR,_emscripten_bind_btBroadphaseProxy_get_m_collisionFilterMask_0:GR,_emscripten_bind_btBroadphaseProxy_set_m_collisionFilterGroup_1:$L,_emscripten_bind_btBroadphaseProxy_set_m_collisionFilterMask_1:hM,_emscripten_bind_btBvhTriangleMeshShape___destroy___0:CE,_emscripten_bind_btBvhTriangleMeshShape_btBvhTriangleMeshShape_2:Ax,_emscripten_bind_btBvhTriangleMeshShape_btBvhTriangleMeshShape_3:tw,_emscripten_bind_btBvhTriangleMeshShape_calculateLocalInertia_2:RB,_emscripten_bind_btBvhTriangleMeshShape_getLocalScaling_0:UJ,_emscripten_bind_btBvhTriangleMeshShape_getShapeType_0:FU,_emscripten_bind_btBvhTriangleMeshShape_setLocalScaling_1:bG,_emscripten_bind_btCapsuleShapeX___destroy___0:CE,_emscripten_bind_btCapsuleShapeX_btCapsuleShapeX_2:In,_emscripten_bind_btCapsuleShapeX_calculateLocalInertia_2:RB,_emscripten_bind_btCapsuleShapeX_getHalfHeight_0:jP,_emscripten_bind_btCapsuleShapeX_getLocalScaling_0:UJ,_emscripten_bind_btCapsuleShapeX_getMargin_0:YK,_emscripten_bind_btCapsuleShapeX_getRadius_0:RR,_emscripten_bind_btCapsuleShapeX_getShapeType_0:FU,_emscripten_bind_btCapsuleShapeX_getUpAxis_0:WR,_emscripten_bind_btCapsuleShapeX_setLocalScaling_1:bG,_emscripten_bind_btCapsuleShapeX_setMargin_1:$H,_emscripten_bind_btCapsuleShapeZ___destroy___0:CE,_emscripten_bind_btCapsuleShapeZ_btCapsuleShapeZ_2:Hn,_emscripten_bind_btCapsuleShapeZ_calculateLocalInertia_2:RB,_emscripten_bind_btCapsuleShapeZ_getHalfHeight_0:jP,_emscripten_bind_btCapsuleShapeZ_getLocalScaling_0:UJ,_emscripten_bind_btCapsuleShapeZ_getMargin_0:YK,_emscripten_bind_btCapsuleShapeZ_getRadius_0:RR,_emscripten_bind_btCapsuleShapeZ_getShapeType_0:FU,_emscripten_bind_btCapsuleShapeZ_getUpAxis_0:WR,_emscripten_bind_btCapsuleShapeZ_setLocalScaling_1:bG,_emscripten_bind_btCapsuleShapeZ_setMargin_1:$H,_emscripten_bind_btCapsuleShape___destroy___0:CE,_emscripten_bind_btCapsuleShape_btCapsuleShape_2:Jn,_emscripten_bind_btCapsuleShape_calculateLocalInertia_2:RB,_emscripten_bind_btCapsuleShape_getHalfHeight_0:jP,_emscripten_bind_btCapsuleShape_getLocalScaling_0:UJ,_emscripten_bind_btCapsuleShape_getMargin_0:YK,_emscripten_bind_btCapsuleShape_getRadius_0:RR,_emscripten_bind_btCapsuleShape_getShapeType_0:FU,_emscripten_bind_btCapsuleShape_getUpAxis_0:WR,_emscripten_bind_btCapsuleShape_setLocalScaling_1:bG,_emscripten_bind_btCapsuleShape_setMargin_1:$H,_emscripten_bind_btCollisionConfiguration___destroy___0:CE,_emscripten_bind_btCollisionDispatcher___destroy___0:CE,_emscripten_bind_btCollisionDispatcher_btCollisionDispatcher_1:ol,_emscripten_bind_btCollisionDispatcher_getManifoldByIndexInternal_1:RD,_emscripten_bind_btCollisionDispatcher_getNumManifolds_0:$K,_emscripten_bind_btCollisionObjectWrapper_getCollisionObject_0:WN,_emscripten_bind_btCollisionObjectWrapper_getCollisionShape_0:FU,_emscripten_bind_btCollisionObjectWrapper_getWorldTransform_0:XS,_emscripten_bind_btCollisionObject___destroy___0:AE,_emscripten_bind_btCollisionObject_activate_0:Iy,_emscripten_bind_btCollisionObject_activate_1:_w,_emscripten_bind_btCollisionObject_forceActivationState_1:qO,_emscripten_bind_btCollisionObject_getBroadphaseHandle_0:WP,_emscripten_bind_btCollisionObject_getCollisionFlags_0:DQ,_emscripten_bind_btCollisionObject_getCollisionShape_0:CQ,_emscripten_bind_btCollisionObject_getFriction_0:WL,_emscripten_bind_btCollisionObject_getRestitution_0:VK,_emscripten_bind_btCollisionObject_getRollingFriction_0:qK,_emscripten_bind_btCollisionObject_getUserIndex_0:VP,_emscripten_bind_btCollisionObject_getUserPointer_0:ER,_emscripten_bind_btCollisionObject_getWorldTransform_0:vU,_emscripten_bind_btCollisionObject_isActive_0:_M,_emscripten_bind_btCollisionObject_isKinematicObject_0:uI,_emscripten_bind_btCollisionObject_isStaticObject_0:PJ,_emscripten_bind_btCollisionObject_isStaticOrKinematicObject_0:xF,_emscripten_bind_btCollisionObject_setActivationState_1:BD,_emscripten_bind_btCollisionObject_setAnisotropicFriction_2:OB,_emscripten_bind_btCollisionObject_setCcdMotionThreshold_1:qI,_emscripten_bind_btCollisionObject_setCcdSweptSphereRadius_1:YH,_emscripten_bind_btCollisionObject_setCollisionFlags_1:tJ,_emscripten_bind_btCollisionObject_setCollisionShape_1:oF,_emscripten_bind_btCollisionObject_setContactProcessingThreshold_1:xI,_emscripten_bind_btCollisionObject_setFriction_1:ZM,_emscripten_bind_btCollisionObject_setRestitution_1:UK,_emscripten_bind_btCollisionObject_setRollingFriction_1:LJ,_emscripten_bind_btCollisionObject_setUserIndex_1:nL,_emscripten_bind_btCollisionObject_setUserPointer_1:pK,_emscripten_bind_btCollisionObject_setWorldTransform_1:PG,_emscripten_bind_btCollisionShape___destroy___0:CE,_emscripten_bind_btCollisionShape_calculateLocalInertia_2:RB,_emscripten_bind_btCollisionShape_getLocalScaling_0:UJ,_emscripten_bind_btCollisionShape_getMargin_0:YK,_emscripten_bind_btCollisionShape_getShapeType_0:FU,_emscripten_bind_btCollisionShape_setLocalScaling_1:bG,_emscripten_bind_btCollisionShape_setMargin_1:$H,_emscripten_bind_btCollisionWorld___destroy___0:CE,_emscripten_bind_btCollisionWorld_addCollisionObject_1:kD,_emscripten_bind_btCollisionWorld_addCollisionObject_2:FA,_emscripten_bind_btCollisionWorld_addCollisionObject_3:pz,_emscripten_bind_btCollisionWorld_contactPairTest_3:Yj,_emscripten_bind_btCollisionWorld_contactTest_2:un,_emscripten_bind_btCollisionWorld_convexSweepTest_5:eu,_emscripten_bind_btCollisionWorld_debugDrawObject_3:yz,_emscripten_bind_btCollisionWorld_debugDrawWorld_0:wJ,_emscripten_bind_btCollisionWorld_getBroadphase_0:GQ,_emscripten_bind_btCollisionWorld_getDebugDrawer_0:ZI,_emscripten_bind_btCollisionWorld_getDispatchInfo_0:rP,_emscripten_bind_btCollisionWorld_getDispatcher_0:FQ,_emscripten_bind_btCollisionWorld_getPairCache_0:jK,_emscripten_bind_btCollisionWorld_rayTest_3:Xz,_emscripten_bind_btCollisionWorld_removeCollisionObject_1:aE,_emscripten_bind_btCollisionWorld_setDebugDrawer_1:YE,_emscripten_bind_btCollisionWorld_updateSingleAabb_1:rF,_emscripten_bind_btCompoundShape___destroy___0:CE,_emscripten_bind_btCompoundShape_addChildShape_2:Fd,_emscripten_bind_btCompoundShape_btCompoundShape_0:Ij,_emscripten_bind_btCompoundShape_btCompoundShape_1:Bj,_emscripten_bind_btCompoundShape_calculateLocalInertia_2:RB,_emscripten_bind_btCompoundShape_getChildShape_1:fK,_emscripten_bind_btCompoundShape_getLocalScaling_0:UJ,_emscripten_bind_btCompoundShape_getMargin_0:YK,_emscripten_bind_btCompoundShape_getNumChildShapes_0:fN,_emscripten_bind_btCompoundShape_getShapeType_0:FU,_emscripten_bind_btCompoundShape_removeChildShapeByIndex_1:KG,_emscripten_bind_btCompoundShape_removeChildShape_1:OE,_emscripten_bind_btCompoundShape_setLocalScaling_1:bG,_emscripten_bind_btCompoundShape_setMargin_1:$H,_emscripten_bind_btCompoundShape_updateChildTransform_2:Wf,_emscripten_bind_btCompoundShape_updateChildTransform_3:Zf,_emscripten_bind_btConcaveShape___destroy___0:CE,_emscripten_bind_btConcaveShape_calculateLocalInertia_2:RB,_emscripten_bind_btConcaveShape_getLocalScaling_0:UJ,_emscripten_bind_btConcaveShape_getShapeType_0:FU,_emscripten_bind_btConcaveShape_setLocalScaling_1:bG,_emscripten_bind_btConeShapeX___destroy___0:CE,_emscripten_bind_btConeShapeX_btConeShapeX_2:vm,_emscripten_bind_btConeShapeX_calculateLocalInertia_2:RB,_emscripten_bind_btConeShapeX_getLocalScaling_0:UJ,_emscripten_bind_btConeShapeX_getShapeType_0:FU,_emscripten_bind_btConeShapeX_setLocalScaling_1:bG,_emscripten_bind_btConeShapeZ___destroy___0:CE,_emscripten_bind_btConeShapeZ_btConeShapeZ_2:um,_emscripten_bind_btConeShapeZ_calculateLocalInertia_2:RB,_emscripten_bind_btConeShapeZ_getLocalScaling_0:UJ,_emscripten_bind_btConeShapeZ_getShapeType_0:FU,_emscripten_bind_btConeShapeZ_setLocalScaling_1:bG,_emscripten_bind_btConeShape___destroy___0:CE,_emscripten_bind_btConeShape_btConeShape_2:Jm,_emscripten_bind_btConeShape_calculateLocalInertia_2:RB,_emscripten_bind_btConeShape_getLocalScaling_0:UJ,_emscripten_bind_btConeShape_getShapeType_0:FU,_emscripten_bind_btConeShape_setLocalScaling_1:bG,_emscripten_bind_btConeTwistConstraint___destroy___0:CE,_emscripten_bind_btConeTwistConstraint_btConeTwistConstraint_2:rg,_emscripten_bind_btConeTwistConstraint_btConeTwistConstraint_4:yg,_emscripten_bind_btConeTwistConstraint_enableFeedback_1:aJ,_emscripten_bind_btConeTwistConstraint_enableMotor_1:JI,_emscripten_bind_btConeTwistConstraint_getBreakingImpulseThreshold_0:TH,_emscripten_bind_btConeTwistConstraint_getParam_2:VB,_emscripten_bind_btConeTwistConstraint_setAngularOnly_1:_H,_emscripten_bind_btConeTwistConstraint_setBreakingImpulseThreshold_1:QE,_emscripten_bind_btConeTwistConstraint_setDamping_1:TJ,_emscripten_bind_btConeTwistConstraint_setLimit_2:CG,_emscripten_bind_btConeTwistConstraint_setMaxMotorImpulseNormalized_1:FD,_emscripten_bind_btConeTwistConstraint_setMaxMotorImpulse_1:RG,_emscripten_bind_btConeTwistConstraint_setMotorTargetInConstraintSpace_1:mA,_emscripten_bind_btConeTwistConstraint_setMotorTarget_1:li,_emscripten_bind_btConeTwistConstraint_setParam_3:$z,_emscripten_bind_btConstCollisionObjectArray___destroy___0:SH,_emscripten_bind_btConstCollisionObjectArray_at_1:hG,_emscripten_bind_btConstCollisionObjectArray_size_0:FU,_emscripten_bind_btConstraintSetting___destroy___0:XR,_emscripten_bind_btConstraintSetting_btConstraintSetting_0:xJ,_emscripten_bind_btConstraintSetting_get_m_damping_0:QW,_emscripten_bind_btConstraintSetting_get_m_impulseClamp_0:dX,_emscripten_bind_btConstraintSetting_get_m_tau_0:qV,_emscripten_bind_btConstraintSetting_set_m_damping_1:qW,_emscripten_bind_btConstraintSetting_set_m_impulseClamp_1:pW,_emscripten_bind_btConstraintSetting_set_m_tau_1:KW,_emscripten_bind_btConstraintSolver___destroy___0:CE,_emscripten_bind_btContactSolverInfo___destroy___0:XR,_emscripten_bind_btContactSolverInfo_get_m_numIterations_0:wW,_emscripten_bind_btContactSolverInfo_get_m_splitImpulsePenetrationThreshold_0:sM,_emscripten_bind_btContactSolverInfo_get_m_splitImpulse_0:sP,_emscripten_bind_btContactSolverInfo_set_m_numIterations_1:vS,_emscripten_bind_btContactSolverInfo_set_m_splitImpulsePenetrationThreshold_1:OH,_emscripten_bind_btContactSolverInfo_set_m_splitImpulse_1:gM,_emscripten_bind_btConvexHullShape___destroy___0:CE,_emscripten_bind_btConvexHullShape_addPoint_1:II,_emscripten_bind_btConvexHullShape_addPoint_2:bF,_emscripten_bind_btConvexHullShape_btConvexHullShape_0:xE,_emscripten_bind_btConvexHullShape_btConvexHullShape_1:QB,_emscripten_bind_btConvexHullShape_btConvexHullShape_2:Sz,_emscripten_bind_btConvexHullShape_calculateLocalInertia_2:RB,_emscripten_bind_btConvexHullShape_getConvexPolyhedron_0:WR,_emscripten_bind_btConvexHullShape_getLocalScaling_0:UJ,_emscripten_bind_btConvexHullShape_getMargin_0:YK,_emscripten_bind_btConvexHullShape_getNumVertices_0:EI,_emscripten_bind_btConvexHullShape_getShapeType_0:FU,_emscripten_bind_btConvexHullShape_initializePolyhedralFeatures_1:BC,_emscripten_bind_btConvexHullShape_recalcLocalAabb_0:SJ,_emscripten_bind_btConvexHullShape_setLocalScaling_1:bG,_emscripten_bind_btConvexHullShape_setMargin_1:$H,_emscripten_bind_btConvexPolyhedron___destroy___0:CE,_emscripten_bind_btConvexPolyhedron_get_m_faces_0:lZ,_emscripten_bind_btConvexPolyhedron_get_m_vertices_0:R_,_emscripten_bind_btConvexPolyhedron_set_m_faces_1:VH,_emscripten_bind_btConvexPolyhedron_set_m_vertices_1:JG,_emscripten_bind_btConvexShape___destroy___0:CE,_emscripten_bind_btConvexShape_calculateLocalInertia_2:RB,_emscripten_bind_btConvexShape_getLocalScaling_0:UJ,_emscripten_bind_btConvexShape_getMargin_0:YK,_emscripten_bind_btConvexShape_getShapeType_0:FU,_emscripten_bind_btConvexShape_setLocalScaling_1:bG,_emscripten_bind_btConvexShape_setMargin_1:$H,_emscripten_bind_btConvexTriangleMeshShape___destroy___0:CE,_emscripten_bind_btConvexTriangleMeshShape_btConvexTriangleMeshShape_1:Rl,_emscripten_bind_btConvexTriangleMeshShape_btConvexTriangleMeshShape_2:zl,_emscripten_bind_btConvexTriangleMeshShape_calculateLocalInertia_2:RB,_emscripten_bind_btConvexTriangleMeshShape_getLocalScaling_0:UJ,_emscripten_bind_btConvexTriangleMeshShape_getMargin_0:YK,_emscripten_bind_btConvexTriangleMeshShape_getShapeType_0:FU,_emscripten_bind_btConvexTriangleMeshShape_setLocalScaling_1:bG,_emscripten_bind_btConvexTriangleMeshShape_setMargin_1:$H,_emscripten_bind_btCylinderShapeX___destroy___0:CE,_emscripten_bind_btCylinderShapeX_btCylinderShapeX_1:iy,_emscripten_bind_btCylinderShapeX_calculateLocalInertia_2:RB,_emscripten_bind_btCylinderShapeX_getLocalScaling_0:UJ,_emscripten_bind_btCylinderShapeX_getMargin_0:YK,_emscripten_bind_btCylinderShapeX_getShapeType_0:FU,_emscripten_bind_btCylinderShapeX_setLocalScaling_1:bG,_emscripten_bind_btCylinderShapeX_setMargin_1:$H,_emscripten_bind_btCylinderShapeZ___destroy___0:CE,_emscripten_bind_btCylinderShapeZ_btCylinderShapeZ_1:hy,_emscripten_bind_btCylinderShapeZ_calculateLocalInertia_2:RB,_emscripten_bind_btCylinderShapeZ_getLocalScaling_0:UJ,_emscripten_bind_btCylinderShapeZ_getMargin_0:YK,_emscripten_bind_btCylinderShapeZ_getShapeType_0:FU,_emscripten_bind_btCylinderShapeZ_setLocalScaling_1:bG,_emscripten_bind_btCylinderShapeZ_setMargin_1:$H,_emscripten_bind_btCylinderShape___destroy___0:CE,_emscripten_bind_btCylinderShape_btCylinderShape_1:_D,_emscripten_bind_btCylinderShape_calculateLocalInertia_2:RB,_emscripten_bind_btCylinderShape_getLocalScaling_0:UJ,_emscripten_bind_btCylinderShape_getMargin_0:YK,_emscripten_bind_btCylinderShape_getShapeType_0:FU,_emscripten_bind_btCylinderShape_setLocalScaling_1:bG,_emscripten_bind_btCylinderShape_setMargin_1:$H,_emscripten_bind_btDbvtBroadphase___destroy___0:CE,_emscripten_bind_btDbvtBroadphase_btDbvtBroadphase_0:aG,_emscripten_bind_btDefaultCollisionConfiguration___destroy___0:CE,_emscripten_bind_btDefaultCollisionConfiguration_btDefaultCollisionConfiguration_0:Oq,_emscripten_bind_btDefaultCollisionConfiguration_btDefaultCollisionConfiguration_1:Cx,_emscripten_bind_btDefaultCollisionConstructionInfo___destroy___0:XR,_emscripten_bind_btDefaultCollisionConstructionInfo_btDefaultCollisionConstructionInfo_0:MB,_emscripten_bind_btDefaultMotionState___destroy___0:CE,_emscripten_bind_btDefaultMotionState_btDefaultMotionState_0:vv,_emscripten_bind_btDefaultMotionState_btDefaultMotionState_1:Yw,_emscripten_bind_btDefaultMotionState_btDefaultMotionState_2:wy,_emscripten_bind_btDefaultMotionState_getWorldTransform_1:XE,_emscripten_bind_btDefaultMotionState_get_m_graphicsWorldTrans_0:R_,_emscripten_bind_btDefaultMotionState_setWorldTransform_1:SE,_emscripten_bind_btDefaultMotionState_set_m_graphicsWorldTrans_1:sI,_emscripten_bind_btDefaultSoftBodySolver___destroy___0:CE,_emscripten_bind_btDefaultSoftBodySolver_btDefaultSoftBodySolver_0:Cq,_emscripten_bind_btDefaultVehicleRaycaster___destroy___0:CE,_emscripten_bind_btDefaultVehicleRaycaster_btDefaultVehicleRaycaster_1:IA,_emscripten_bind_btDefaultVehicleRaycaster_castRay_3:Hz,_emscripten_bind_btDiscreteDynamicsWorld___destroy___0:CE,_emscripten_bind_btDiscreteDynamicsWorld_addAction_1:iG,_emscripten_bind_btDiscreteDynamicsWorld_addCollisionObject_1:PB,_emscripten_bind_btDiscreteDynamicsWorld_addCollisionObject_2:Rz,_emscripten_bind_btDiscreteDynamicsWorld_addCollisionObject_3:pz,_emscripten_bind_btDiscreteDynamicsWorld_addConstraint_1:ED,_emscripten_bind_btDiscreteDynamicsWorld_addConstraint_2:KA,_emscripten_bind_btDiscreteDynamicsWorld_addRigidBody_1:eE,_emscripten_bind_btDiscreteDynamicsWorld_addRigidBody_3:az,_emscripten_bind_btDiscreteDynamicsWorld_adjustInternalEdgeContacts_6:ir,_emscripten_bind_btDiscreteDynamicsWorld_btDiscreteDynamicsWorld_4:ur,_emscripten_bind_btDiscreteDynamicsWorld_contactPairTest_3:Yj,_emscripten_bind_btDiscreteDynamicsWorld_contactTest_2:un,_emscripten_bind_btDiscreteDynamicsWorld_convexSweepTest_5:eu,_emscripten_bind_btDiscreteDynamicsWorld_debugDrawObject_3:yz,_emscripten_bind_btDiscreteDynamicsWorld_debugDrawWorld_0:wJ,_emscripten_bind_btDiscreteDynamicsWorld_generateInternalEdgeInfo_2:xx,_emscripten_bind_btDiscreteDynamicsWorld_getBroadphase_0:GQ,_emscripten_bind_btDiscreteDynamicsWorld_getDebugDrawer_0:ZI,_emscripten_bind_btDiscreteDynamicsWorld_getDispatchInfo_0:rP,_emscripten_bind_btDiscreteDynamicsWorld_getDispatcher_0:FQ,_emscripten_bind_btDiscreteDynamicsWorld_getGravity_0:Io,_emscripten_bind_btDiscreteDynamicsWorld_getPairCache_0:jK,_emscripten_bind_btDiscreteDynamicsWorld_getSolverInfo_0:MO,_emscripten_bind_btDiscreteDynamicsWorld_rayTest_3:Xz,_emscripten_bind_btDiscreteDynamicsWorld_removeAction_1:sF,_emscripten_bind_btDiscreteDynamicsWorld_removeCollisionObject_1:aE,_emscripten_bind_btDiscreteDynamicsWorld_removeConstraint_1:SD,_emscripten_bind_btDiscreteDynamicsWorld_removeRigidBody_1:UD,_emscripten_bind_btDiscreteDynamicsWorld_setContactAddedCallback_1:wE,_emscripten_bind_btDiscreteDynamicsWorld_setContactDestroyedCallback_1:zD,_emscripten_bind_btDiscreteDynamicsWorld_setContactProcessedCallback_1:yD,_emscripten_bind_btDiscreteDynamicsWorld_setDebugDrawer_1:YE,_emscripten_bind_btDiscreteDynamicsWorld_setGravity_1:vE,_emscripten_bind_btDiscreteDynamicsWorld_setInternalTickCallback_1:ZD,_emscripten_bind_btDiscreteDynamicsWorld_setInternalTickCallback_2:RA,_emscripten_bind_btDiscreteDynamicsWorld_setInternalTickCallback_3:Dz,_emscripten_bind_btDiscreteDynamicsWorld_stepSimulation_1:GA,_emscripten_bind_btDiscreteDynamicsWorld_stepSimulation_2:ez,_emscripten_bind_btDiscreteDynamicsWorld_stepSimulation_3:qz,_emscripten_bind_btDiscreteDynamicsWorld_updateSingleAabb_1:rF,_emscripten_bind_btDispatcherInfo___destroy___0:XR,_emscripten_bind_btDispatcherInfo_get_m_allowedCcdPenetration_0:VW,_emscripten_bind_btDispatcherInfo_get_m_convexConservativeDistanceThreshold_0:EW,_emscripten_bind_btDispatcherInfo_get_m_dispatchFunc_0:fT,_emscripten_bind_btDispatcherInfo_get_m_enableSPU_0:FR,_emscripten_bind_btDispatcherInfo_get_m_enableSatConvex_0:IP,_emscripten_bind_btDispatcherInfo_get_m_stepCount_0:LV,_emscripten_bind_btDispatcherInfo_get_m_timeOfImpact_0:UW,_emscripten_bind_btDispatcherInfo_get_m_timeStep_0:qV,_emscripten_bind_btDispatcherInfo_get_m_useContinuous_0:lQ,_emscripten_bind_btDispatcherInfo_get_m_useConvexConservativeDistanceUtil_0:qL,_emscripten_bind_btDispatcherInfo_get_m_useEpa_0:jS,_emscripten_bind_btDispatcherInfo_set_m_allowedCcdPenetration_1:NT,_emscripten_bind_btDispatcherInfo_set_m_convexConservativeDistanceThreshold_1:iT,_emscripten_bind_btDispatcherInfo_set_m_dispatchFunc_1:jO,_emscripten_bind_btDispatcherInfo_set_m_enableSPU_1:fO,_emscripten_bind_btDispatcherInfo_set_m_enableSatConvex_1:rM,_emscripten_bind_btDispatcherInfo_set_m_stepCount_1:DO,_emscripten_bind_btDispatcherInfo_set_m_timeOfImpact_1:zV,_emscripten_bind_btDispatcherInfo_set_m_timeStep_1:KW,_emscripten_bind_btDispatcherInfo_set_m_useContinuous_1:eN,_emscripten_bind_btDispatcherInfo_set_m_useConvexConservativeDistanceUtil_1:DI,_emscripten_bind_btDispatcherInfo_set_m_useEpa_1:rO,_emscripten_bind_btDispatcher___destroy___0:CE,_emscripten_bind_btDispatcher_getManifoldByIndexInternal_1:RD,_emscripten_bind_btDispatcher_getNumManifolds_0:$K,_emscripten_bind_btDynamicsWorld___destroy___0:CE,_emscripten_bind_btDynamicsWorld_addAction_1:iG,_emscripten_bind_btDynamicsWorld_addCollisionObject_1:kD,_emscripten_bind_btDynamicsWorld_addCollisionObject_2:FA,_emscripten_bind_btDynamicsWorld_addCollisionObject_3:pz,_emscripten_bind_btDynamicsWorld_contactPairTest_3:Yj,_emscripten_bind_btDynamicsWorld_contactTest_2:un,_emscripten_bind_btDynamicsWorld_convexSweepTest_5:eu,_emscripten_bind_btDynamicsWorld_debugDrawObject_3:yz,_emscripten_bind_btDynamicsWorld_debugDrawWorld_0:wJ,_emscripten_bind_btDynamicsWorld_getBroadphase_0:GQ,_emscripten_bind_btDynamicsWorld_getDebugDrawer_0:ZI,_emscripten_bind_btDynamicsWorld_getDispatchInfo_0:rP,_emscripten_bind_btDynamicsWorld_getDispatcher_0:FQ,_emscripten_bind_btDynamicsWorld_getPairCache_0:jK,_emscripten_bind_btDynamicsWorld_getSolverInfo_0:MO,_emscripten_bind_btDynamicsWorld_rayTest_3:Xz,_emscripten_bind_btDynamicsWorld_removeAction_1:sF,_emscripten_bind_btDynamicsWorld_removeCollisionObject_1:aE,_emscripten_bind_btDynamicsWorld_setDebugDrawer_1:YE,_emscripten_bind_btDynamicsWorld_setInternalTickCallback_1:ZD,_emscripten_bind_btDynamicsWorld_setInternalTickCallback_2:RA,_emscripten_bind_btDynamicsWorld_setInternalTickCallback_3:Dz,_emscripten_bind_btDynamicsWorld_updateSingleAabb_1:rF,_emscripten_bind_btEmptyShape___destroy___0:CE,_emscripten_bind_btEmptyShape_btEmptyShape_0:tz,_emscripten_bind_btEmptyShape_calculateLocalInertia_2:RB,_emscripten_bind_btEmptyShape_getLocalScaling_0:UJ,_emscripten_bind_btEmptyShape_getShapeType_0:FU,_emscripten_bind_btEmptyShape_setLocalScaling_1:bG,_emscripten_bind_btFaceArray___destroy___0:xG,_emscripten_bind_btFaceArray_at_1:mI,_emscripten_bind_btFaceArray_size_0:FU,_emscripten_bind_btFace___destroy___0:_L,_emscripten_bind_btFace_get_m_indices_0:D$,_emscripten_bind_btFace_get_m_plane_1:qP,_emscripten_bind_btFace_set_m_indices_1:$M,_emscripten_bind_btFace_set_m_plane_2:XK,_emscripten_bind_btFixedConstraint___destroy___0:CE,_emscripten_bind_btFixedConstraint_btFixedConstraint_4:ni,_emscripten_bind_btFixedConstraint_enableFeedback_1:aJ,_emscripten_bind_btFixedConstraint_getBreakingImpulseThreshold_0:TH,_emscripten_bind_btFixedConstraint_getParam_2:VB,_emscripten_bind_btFixedConstraint_setBreakingImpulseThreshold_1:QE,_emscripten_bind_btFixedConstraint_setParam_3:$z,_emscripten_bind_btGeneric6DofConstraint___destroy___0:CE,_emscripten_bind_btGeneric6DofConstraint_btGeneric6DofConstraint_3:uv,_emscripten_bind_btGeneric6DofConstraint_btGeneric6DofConstraint_5:Kr,_emscripten_bind_btGeneric6DofConstraint_enableFeedback_1:aJ,_emscripten_bind_btGeneric6DofConstraint_getBreakingImpulseThreshold_0:TH,_emscripten_bind_btGeneric6DofConstraint_getFrameOffsetA_0:dT,_emscripten_bind_btGeneric6DofConstraint_getParam_2:VB,_emscripten_bind_btGeneric6DofConstraint_setAngularLowerLimit_1:jD,_emscripten_bind_btGeneric6DofConstraint_setAngularUpperLimit_1:iD,_emscripten_bind_btGeneric6DofConstraint_setBreakingImpulseThreshold_1:QE,_emscripten_bind_btGeneric6DofConstraint_setLinearLowerLimit_1:DD,_emscripten_bind_btGeneric6DofConstraint_setLinearUpperLimit_1:CD,_emscripten_bind_btGeneric6DofConstraint_setParam_3:$z,_emscripten_bind_btGeneric6DofSpringConstraint___destroy___0:CE,_emscripten_bind_btGeneric6DofSpringConstraint_btGeneric6DofSpringConstraint_3:Tl,_emscripten_bind_btGeneric6DofSpringConstraint_btGeneric6DofSpringConstraint_5:Bl,_emscripten_bind_btGeneric6DofSpringConstraint_enableFeedback_1:aJ,_emscripten_bind_btGeneric6DofSpringConstraint_enableSpring_2:Yt,_emscripten_bind_btGeneric6DofSpringConstraint_getBreakingImpulseThreshold_0:TH,_emscripten_bind_btGeneric6DofSpringConstraint_getFrameOffsetA_0:dT,_emscripten_bind_btGeneric6DofSpringConstraint_getParam_2:VB,_emscripten_bind_btGeneric6DofSpringConstraint_setAngularLowerLimit_1:jD,_emscripten_bind_btGeneric6DofSpringConstraint_setAngularUpperLimit_1:iD,_emscripten_bind_btGeneric6DofSpringConstraint_setBreakingImpulseThreshold_1:QE,_emscripten_bind_btGeneric6DofSpringConstraint_setDamping_2:IG,_emscripten_bind_btGeneric6DofSpringConstraint_setEquilibriumPoint_0:Un,_emscripten_bind_btGeneric6DofSpringConstraint_setEquilibriumPoint_1:Yp,_emscripten_bind_btGeneric6DofSpringConstraint_setEquilibriumPoint_2:TE,_emscripten_bind_btGeneric6DofSpringConstraint_setLinearLowerLimit_1:DD,_emscripten_bind_btGeneric6DofSpringConstraint_setLinearUpperLimit_1:CD,_emscripten_bind_btGeneric6DofSpringConstraint_setParam_3:$z,_emscripten_bind_btGeneric6DofSpringConstraint_setStiffness_2:wG,_emscripten_bind_btGhostObject___destroy___0:AE,_emscripten_bind_btGhostObject_activate_0:Iy,_emscripten_bind_btGhostObject_activate_1:_w,_emscripten_bind_btGhostObject_btGhostObject_0:_i,_emscripten_bind_btGhostObject_forceActivationState_1:qO,_emscripten_bind_btGhostObject_getBroadphaseHandle_0:WP,_emscripten_bind_btGhostObject_getCollisionFlags_0:DQ,_emscripten_bind_btGhostObject_getCollisionShape_0:CQ,_emscripten_bind_btGhostObject_getFriction_0:WL,_emscripten_bind_btGhostObject_getNumOverlappingObjects_0:zK,_emscripten_bind_btGhostObject_getOverlappingObject_1:gI,_emscripten_bind_btGhostObject_getRestitution_0:VK,_emscripten_bind_btGhostObject_getRollingFriction_0:qK,_emscripten_bind_btGhostObject_getUserIndex_0:VP,_emscripten_bind_btGhostObject_getUserPointer_0:ER,_emscripten_bind_btGhostObject_getWorldTransform_0:vU,_emscripten_bind_btGhostObject_isActive_0:_M,_emscripten_bind_btGhostObject_isKinematicObject_0:uI,_emscripten_bind_btGhostObject_isStaticObject_0:PJ,_emscripten_bind_btGhostObject_isStaticOrKinematicObject_0:xF,_emscripten_bind_btGhostObject_setActivationState_1:BD,_emscripten_bind_btGhostObject_setAnisotropicFriction_2:OB,_emscripten_bind_btGhostObject_setCcdMotionThreshold_1:qI,_emscripten_bind_btGhostObject_setCcdSweptSphereRadius_1:YH,_emscripten_bind_btGhostObject_setCollisionFlags_1:tJ,_emscripten_bind_btGhostObject_setCollisionShape_1:oF,_emscripten_bind_btGhostObject_setContactProcessingThreshold_1:xI,_emscripten_bind_btGhostObject_setFriction_1:ZM,_emscripten_bind_btGhostObject_setRestitution_1:UK,_emscripten_bind_btGhostObject_setRollingFriction_1:LJ,_emscripten_bind_btGhostObject_setUserIndex_1:nL,_emscripten_bind_btGhostObject_setUserPointer_1:pK,_emscripten_bind_btGhostObject_setWorldTransform_1:PG,_emscripten_bind_btGhostPairCallback___destroy___0:CE,_emscripten_bind_btGhostPairCallback_btGhostPairCallback_0:NJ,_emscripten_bind_btHeightfieldTerrainShape___destroy___0:CE,_emscripten_bind_btHeightfieldTerrainShape_btHeightfieldTerrainShape_9:Qg,_emscripten_bind_btHeightfieldTerrainShape_calculateLocalInertia_2:RB,_emscripten_bind_btHeightfieldTerrainShape_getLocalScaling_0:UJ,_emscripten_bind_btHeightfieldTerrainShape_getMargin_0:YK,_emscripten_bind_btHeightfieldTerrainShape_getShapeType_0:FU,_emscripten_bind_btHeightfieldTerrainShape_setLocalScaling_1:bG,_emscripten_bind_btHeightfieldTerrainShape_setMargin_1:$H,_emscripten_bind_btHingeConstraint___destroy___0:CE,_emscripten_bind_btHingeConstraint_btHingeConstraint_2:Bf,_emscripten_bind_btHingeConstraint_btHingeConstraint_3:zf,_emscripten_bind_btHingeConstraint_btHingeConstraint_4:Ig,_emscripten_bind_btHingeConstraint_btHingeConstraint_5:Fg,_emscripten_bind_btHingeConstraint_btHingeConstraint_6:Er,_emscripten_bind_btHingeConstraint_btHingeConstraint_7:Kq,_emscripten_bind_btHingeConstraint_enableAngularMotor_3:aB,_emscripten_bind_btHingeConstraint_enableFeedback_1:aJ,_emscripten_bind_btHingeConstraint_enableMotor_1:vK,_emscripten_bind_btHingeConstraint_getBreakingImpulseThreshold_0:TH,_emscripten_bind_btHingeConstraint_getParam_2:VB,_emscripten_bind_btHingeConstraint_setAngularOnly_1:fJ,_emscripten_bind_btHingeConstraint_setBreakingImpulseThreshold_1:QE,_emscripten_bind_btHingeConstraint_setLimit_4:QA,_emscripten_bind_btHingeConstraint_setLimit_5:Nz,_emscripten_bind_btHingeConstraint_setMaxMotorImpulse_1:lI,_emscripten_bind_btHingeConstraint_setMotorTarget_2:Xi,_emscripten_bind_btHingeConstraint_setParam_3:$z,_emscripten_bind_btIDebugDraw___destroy___0:CE,_emscripten_bind_btIDebugDraw_draw3dText_2:$C,_emscripten_bind_btIDebugDraw_drawContactPoint_5:Vw,_emscripten_bind_btIDebugDraw_drawLine_3:nA,_emscripten_bind_btIDebugDraw_getDebugMode_0:kK,_emscripten_bind_btIDebugDraw_reportErrorWarning_1:ZE,_emscripten_bind_btIDebugDraw_setDebugMode_1:yG,_emscripten_bind_btIndexedMeshArray___destroy___0:SH,_emscripten_bind_btIndexedMeshArray_at_1:qF,_emscripten_bind_btIndexedMeshArray_size_0:FU,_emscripten_bind_btIndexedMesh___destroy___0:_N,_emscripten_bind_btIndexedMesh_get_m_numTriangles_0:yX,_emscripten_bind_btIndexedMesh_set_m_numTriangles_1:OT,_emscripten_bind_btIntArray___destroy___0:SH,_emscripten_bind_btIntArray_at_1:hG,_emscripten_bind_btIntArray_size_0:FU,_emscripten_bind_btKinematicCharacterController___destroy___0:CE,_emscripten_bind_btKinematicCharacterController_btKinematicCharacterController_3:tk,_emscripten_bind_btKinematicCharacterController_btKinematicCharacterController_4:lk,_emscripten_bind_btKinematicCharacterController_canJump_0:UH,_emscripten_bind_btKinematicCharacterController_getGhostObject_0:fT,_emscripten_bind_btKinematicCharacterController_getGravity_0:CW,_emscripten_bind_btKinematicCharacterController_getMaxSlope_0:EW,_emscripten_bind_btKinematicCharacterController_getVerticalVelocity_0:TH,_emscripten_bind_btKinematicCharacterController_jump_0:rI,_emscripten_bind_btKinematicCharacterController_onGround_0:kK,_emscripten_bind_btKinematicCharacterController_playerStep_2:JA,_emscripten_bind_btKinematicCharacterController_preStep_1:YD,_emscripten_bind_btKinematicCharacterController_setFallSpeed_1:JT,_emscripten_bind_btKinematicCharacterController_setGravity_1:DU,_emscripten_bind_btKinematicCharacterController_setJumpSpeed_1:NT,_emscripten_bind_btKinematicCharacterController_setMaxJumpHeight_1:LT,_emscripten_bind_btKinematicCharacterController_setMaxSlope_1:BE,_emscripten_bind_btKinematicCharacterController_setUpAxis_1:BG,_emscripten_bind_btKinematicCharacterController_setUpInterpolate_1:AC,_emscripten_bind_btKinematicCharacterController_setUseGhostSweepTest_1:WC,_emscripten_bind_btKinematicCharacterController_setVelocityForTimeInterval_2:Cz,_emscripten_bind_btKinematicCharacterController_setWalkDirection_1:zC,_emscripten_bind_btKinematicCharacterController_updateAction_2:yC,_emscripten_bind_btKinematicCharacterController_warp_1:hE,_emscripten_bind_btManifoldPoint___destroy___0:XR,_emscripten_bind_btManifoldPoint_getAppliedImpulse_0:MJ,_emscripten_bind_btManifoldPoint_getDistance_0:GK,_emscripten_bind_btManifoldPoint_getPositionWorldOnA_0:dT,_emscripten_bind_btManifoldPoint_getPositionWorldOnB_0:ZL,_emscripten_bind_btManifoldPoint_get_m_localPointA_0:D$,_emscripten_bind_btManifoldPoint_get_m_localPointB_0:DY,_emscripten_bind_btManifoldPoint_get_m_normalWorldOnB_0:uV,_emscripten_bind_btManifoldPoint_get_m_positionWorldOnA_0:vZ,_emscripten_bind_btManifoldPoint_get_m_positionWorldOnB_0:uX,_emscripten_bind_btManifoldPoint_get_m_userPersistentData_0:QR,_emscripten_bind_btManifoldPoint_set_m_localPointA_1:hw,_emscripten_bind_btManifoldPoint_set_m_localPointB_1:jv,_emscripten_bind_btManifoldPoint_set_m_normalWorldOnB_1:lu,_emscripten_bind_btManifoldPoint_set_m_positionWorldOnA_1:Hv,_emscripten_bind_btManifoldPoint_set_m_positionWorldOnB_1:hu,_emscripten_bind_btManifoldPoint_set_m_userPersistentData_1:qM,_emscripten_bind_btMatrix3x3___destroy___0:XR,_emscripten_bind_btMatrix3x3_getRotation_1:RJ,_emscripten_bind_btMatrix3x3_getRow_1:gq,_emscripten_bind_btMatrix3x3_setEulerZYX_3:AF,_emscripten_bind_btMotionState___destroy___0:CE,_emscripten_bind_btMotionState_getWorldTransform_1:XE,_emscripten_bind_btMotionState_setWorldTransform_1:SE,_emscripten_bind_btMultiSphereShape___destroy___0:CE,_emscripten_bind_btMultiSphereShape_btMultiSphereShape_3:Le,_emscripten_bind_btMultiSphereShape_calculateLocalInertia_2:RB,_emscripten_bind_btMultiSphereShape_getLocalScaling_0:UJ,_emscripten_bind_btMultiSphereShape_getShapeType_0:FU,_emscripten_bind_btMultiSphereShape_setLocalScaling_1:bG,_emscripten_bind_btOverlappingPairCache___destroy___0:CE,_emscripten_bind_btOverlappingPairCache_getNumOverlappingPairs_0:WE,_emscripten_bind_btOverlappingPairCache_setInternalGhostPairCallback_1:SD,_emscripten_bind_btOverlappingPairCallback___destroy___0:CE,_emscripten_bind_btPairCachingGhostObject___destroy___0:AE,_emscripten_bind_btPairCachingGhostObject_activate_0:Iy,_emscripten_bind_btPairCachingGhostObject_activate_1:_w,_emscripten_bind_btPairCachingGhostObject_btPairCachingGhostObject_0:$h,_emscripten_bind_btPairCachingGhostObject_forceActivationState_1:qO,_emscripten_bind_btPairCachingGhostObject_getBroadphaseHandle_0:WP,_emscripten_bind_btPairCachingGhostObject_getCollisionFlags_0:DQ,_emscripten_bind_btPairCachingGhostObject_getCollisionShape_0:CQ,_emscripten_bind_btPairCachingGhostObject_getFriction_0:WL,_emscripten_bind_btPairCachingGhostObject_getNumOverlappingObjects_0:zK,_emscripten_bind_btPairCachingGhostObject_getOverlappingObject_1:gI,_emscripten_bind_btPairCachingGhostObject_getRestitution_0:VK,_emscripten_bind_btPairCachingGhostObject_getRollingFriction_0:qK,_emscripten_bind_btPairCachingGhostObject_getUserIndex_0:VP,_emscripten_bind_btPairCachingGhostObject_getUserPointer_0:ER,_emscripten_bind_btPairCachingGhostObject_getWorldTransform_0:vU,_emscripten_bind_btPairCachingGhostObject_isActive_0:_M,_emscripten_bind_btPairCachingGhostObject_isKinematicObject_0:uI,_emscripten_bind_btPairCachingGhostObject_isStaticObject_0:PJ,_emscripten_bind_btPairCachingGhostObject_isStaticOrKinematicObject_0:xF,_emscripten_bind_btPairCachingGhostObject_setActivationState_1:BD,_emscripten_bind_btPairCachingGhostObject_setAnisotropicFriction_2:OB,_emscripten_bind_btPairCachingGhostObject_setCcdMotionThreshold_1:qI,_emscripten_bind_btPairCachingGhostObject_setCcdSweptSphereRadius_1:YH,_emscripten_bind_btPairCachingGhostObject_setCollisionFlags_1:tJ,_emscripten_bind_btPairCachingGhostObject_setCollisionShape_1:oF,_emscripten_bind_btPairCachingGhostObject_setContactProcessingThreshold_1:xI,_emscripten_bind_btPairCachingGhostObject_setFriction_1:ZM,_emscripten_bind_btPairCachingGhostObject_setRestitution_1:UK,_emscripten_bind_btPairCachingGhostObject_setRollingFriction_1:LJ,_emscripten_bind_btPairCachingGhostObject_setUserIndex_1:nL,_emscripten_bind_btPairCachingGhostObject_setUserPointer_1:pK,_emscripten_bind_btPairCachingGhostObject_setWorldTransform_1:PG,_emscripten_bind_btPersistentManifold___destroy___0:_N,_emscripten_bind_btPersistentManifold_btPersistentManifold_0:cj,_emscripten_bind_btPersistentManifold_getBody0_0:kQ,_emscripten_bind_btPersistentManifold_getBody1_0:jQ,_emscripten_bind_btPersistentManifold_getContactPoint_1:NH,_emscripten_bind_btPersistentManifold_getNumContacts_0:CO,_emscripten_bind_btPoint2PointConstraint___destroy___0:CE,_emscripten_bind_btPoint2PointConstraint_btPoint2PointConstraint_2:Ri,_emscripten_bind_btPoint2PointConstraint_btPoint2PointConstraint_4:vk,_emscripten_bind_btPoint2PointConstraint_enableFeedback_1:aJ,_emscripten_bind_btPoint2PointConstraint_getBreakingImpulseThreshold_0:TH,_emscripten_bind_btPoint2PointConstraint_getParam_2:VB,_emscripten_bind_btPoint2PointConstraint_getPivotInA_0:YL,_emscripten_bind_btPoint2PointConstraint_getPivotInB_0:XL,_emscripten_bind_btPoint2PointConstraint_get_m_setting_0:EY,_emscripten_bind_btPoint2PointConstraint_setBreakingImpulseThreshold_1:QE,_emscripten_bind_btPoint2PointConstraint_setParam_3:$z,_emscripten_bind_btPoint2PointConstraint_setPivotA_1:pH,_emscripten_bind_btPoint2PointConstraint_setPivotB_1:oH,_emscripten_bind_btPoint2PointConstraint_set_m_setting_1:vx,_emscripten_bind_btQuadWord___destroy___0:XR,_emscripten_bind_btQuadWord_setW_1:iS,_emscripten_bind_btQuadWord_setX_1:PS,_emscripten_bind_btQuadWord_setY_1:OS,_emscripten_bind_btQuadWord_setZ_1:NS,_emscripten_bind_btQuadWord_w_0:cT,_emscripten_bind_btQuadWord_x_0:pV,_emscripten_bind_btQuadWord_y_0:bT,_emscripten_bind_btQuadWord_z_0:aT,_emscripten_bind_btQuaternion___destroy___0:XR,_emscripten_bind_btQuaternion_angleShortestPath_1:HI,_emscripten_bind_btQuaternion_angle_1:nO,_emscripten_bind_btQuaternion_btQuaternion_4:xp,_emscripten_bind_btQuaternion_dot_1:iP,_emscripten_bind_btQuaternion_getAngleShortestPath_0:dN,_emscripten_bind_btQuaternion_getAngle_0:iO,_emscripten_bind_btQuaternion_getAxis_0:jp,_emscripten_bind_btQuaternion_inverse_0:ip,_emscripten_bind_btQuaternion_length2_0:IT,_emscripten_bind_btQuaternion_length_0:wU,_emscripten_bind_btQuaternion_normalize_0:eT,_emscripten_bind_btQuaternion_normalized_0:fp,_emscripten_bind_btQuaternion_op_add_1:hP,_emscripten_bind_btQuaternion_op_div_1:iQ,_emscripten_bind_btQuaternion_op_mul_1:vy,_emscripten_bind_btQuaternion_op_mulq_1:LO,_emscripten_bind_btQuaternion_op_sub_1:gP,_emscripten_bind_btQuaternion_setEulerZYX_3:gE,_emscripten_bind_btQuaternion_setRotation_2:gG,_emscripten_bind_btQuaternion_setValue_4:Zp,_emscripten_bind_btQuaternion_setW_1:iS,_emscripten_bind_btQuaternion_setX_1:PS,_emscripten_bind_btQuaternion_setY_1:OS,_emscripten_bind_btQuaternion_setZ_1:NS,_emscripten_bind_btQuaternion_w_0:cT,_emscripten_bind_btQuaternion_x_0:pV,_emscripten_bind_btQuaternion_y_0:bT,_emscripten_bind_btQuaternion_z_0:aT,_emscripten_bind_btRaycastVehicle___destroy___0:CE,_emscripten_bind_btRaycastVehicle_addWheel_7:Nd,_emscripten_bind_btRaycastVehicle_applyEngineForce_2:eD,_emscripten_bind_btRaycastVehicle_btRaycastVehicle_3:Nk,_emscripten_bind_btRaycastVehicle_getChassisWorldTransform_0:BO,_emscripten_bind_btRaycastVehicle_getCurrentSpeedKmHour_0:CI,_emscripten_bind_btRaycastVehicle_getForwardAxis_0:HP,_emscripten_bind_btRaycastVehicle_getForwardVector_0:io,_emscripten_bind_btRaycastVehicle_getNumWheels_0:AO,_emscripten_bind_btRaycastVehicle_getRightAxis_0:hQ,_emscripten_bind_btRaycastVehicle_getRigidBody_0:gQ,_emscripten_bind_btRaycastVehicle_getSteeringValue_1:$F,_emscripten_bind_btRaycastVehicle_getUpAxis_0:hR,_emscripten_bind_btRaycastVehicle_getUserConstraintId_0:zO,_emscripten_bind_btRaycastVehicle_getUserConstraintType_0:mO,_emscripten_bind_btRaycastVehicle_getWheelInfo_1:uK,_emscripten_bind_btRaycastVehicle_getWheelTransformWS_1:fI,_emscripten_bind_btRaycastVehicle_get_m_enableMultiRaycast_0:yO,_emscripten_bind_btRaycastVehicle_get_m_minimumWheelContacts_0:CU,_emscripten_bind_btRaycastVehicle_get_m_smoothFlyingImpulse_0:YQ,_emscripten_bind_btRaycastVehicle_get_m_stabilizingForce_0:PR,_emscripten_bind_btRaycastVehicle_get_m_trackConnectionAccel_0:EQ,_emscripten_bind_btRaycastVehicle_rayCast_1:BI,_emscripten_bind_btRaycastVehicle_resetSuspension_0:Zl,_emscripten_bind_btRaycastVehicle_setBrake_2:dE,_emscripten_bind_btRaycastVehicle_setCoordinateSystem_3:$y,_emscripten_bind_btRaycastVehicle_setPitchControl_1:QJ,_emscripten_bind_btRaycastVehicle_setSteeringValue_2:dD,_emscripten_bind_btRaycastVehicle_setUserConstraintId_1:ZH,_emscripten_bind_btRaycastVehicle_setUserConstraintType_1:nH,_emscripten_bind_btRaycastVehicle_set_m_enableMultiRaycast_1:pL,_emscripten_bind_btRaycastVehicle_set_m_minimumWheelContacts_1:IL,_emscripten_bind_btRaycastVehicle_set_m_smoothFlyingImpulse_1:pM,_emscripten_bind_btRaycastVehicle_set_m_stabilizingForce_1:QN,_emscripten_bind_btRaycastVehicle_set_m_trackConnectionAccel_1:fM,_emscripten_bind_btRaycastVehicle_updateAction_2:yC,_emscripten_bind_btRaycastVehicle_updateFriction_1:zF,_emscripten_bind_btRaycastVehicle_updateSuspension_1:Mk,_emscripten_bind_btRaycastVehicle_updateVehicle_1:_F,_emscripten_bind_btRaycastVehicle_updateWheelTransform_2:uy,_emscripten_bind_btRaycastVehicle_updateWheelTransformsWS_1:Wz,_emscripten_bind_btRaycastVehicle_updateWheelTransformsWS_2:Dy,_emscripten_bind_btRigidBodyConstructionInfo___destroy___0:XR,_emscripten_bind_btRigidBodyConstructionInfo_btRigidBodyConstructionInfo_3:bo,_emscripten_bind_btRigidBodyConstructionInfo_btRigidBodyConstructionInfo_4:Os,_emscripten_bind_btRigidBodyConstructionInfo_get_m_additionalAngularDampingFactor_0:oL,_emscripten_bind_btRigidBodyConstructionInfo_get_m_additionalAngularDampingThresholdSqr_0:iK,_emscripten_bind_btRigidBodyConstructionInfo_get_m_additionalDampingFactor_0:PN,_emscripten_bind_btRigidBodyConstructionInfo_get_m_additionalDamping_0:oM,_emscripten_bind_btRigidBodyConstructionInfo_get_m_additionalLinearDampingThresholdSqr_0:tK,_emscripten_bind_btRigidBodyConstructionInfo_get_m_angularDamping_0:pP,_emscripten_bind_btRigidBodyConstructionInfo_get_m_angularSleepingThreshold_0:cN,_emscripten_bind_btRigidBodyConstructionInfo_get_m_friction_0:XQ,_emscripten_bind_btRigidBodyConstructionInfo_get_m_linearDamping_0:BW,_emscripten_bind_btRigidBodyConstructionInfo_get_m_linearSleepingThreshold_0:ON,_emscripten_bind_btRigidBodyConstructionInfo_get_m_restitution_0:XP,_emscripten_bind_btRigidBodyConstructionInfo_get_m_rollingFriction_0:KO,_emscripten_bind_btRigidBodyConstructionInfo_set_m_additionalAngularDampingFactor_1:bI,_emscripten_bind_btRigidBodyConstructionInfo_set_m_additionalAngularDampingThresholdSqr_1:QG,_emscripten_bind_btRigidBodyConstructionInfo_set_m_additionalDampingFactor_1:eJ,_emscripten_bind_btRigidBodyConstructionInfo_set_m_additionalDamping_1:vJ,_emscripten_bind_btRigidBodyConstructionInfo_set_m_additionalLinearDampingThresholdSqr_1:mH,_emscripten_bind_btRigidBodyConstructionInfo_set_m_angularDamping_1:WK,_emscripten_bind_btRigidBodyConstructionInfo_set_m_angularSleepingThreshold_1:YI,_emscripten_bind_btRigidBodyConstructionInfo_set_m_friction_1:nM,_emscripten_bind_btRigidBodyConstructionInfo_set_m_linearDamping_1:gT,_emscripten_bind_btRigidBodyConstructionInfo_set_m_linearSleepingThreshold_1:dJ,_emscripten_bind_btRigidBodyConstructionInfo_set_m_restitution_1:HL,_emscripten_bind_btRigidBodyConstructionInfo_set_m_rollingFriction_1:KR,_emscripten_bind_btRigidBody___destroy___0:AE,_emscripten_bind_btRigidBody_activate_0:Iy,_emscripten_bind_btRigidBody_activate_1:_w,_emscripten_bind_btRigidBody_applyCentralForce_1:Iz,_emscripten_bind_btRigidBody_applyCentralImpulse_1:sz,_emscripten_bind_btRigidBody_applyCentralLocalForce_1:Jy,_emscripten_bind_btRigidBody_applyForce_2:vG,_emscripten_bind_btRigidBody_applyGravity_0:To,_emscripten_bind_btRigidBody_applyImpulse_2:pF,_emscripten_bind_btRigidBody_applyLocalTorque_1:Mz,_emscripten_bind_btRigidBody_applyTorqueImpulse_1:Bz,_emscripten_bind_btRigidBody_applyTorque_1:EA,_emscripten_bind_btRigidBody_btRigidBody_1:Ki,_emscripten_bind_btRigidBody_clearForces_0:JS,_emscripten_bind_btRigidBody_forceActivationState_1:qO,_emscripten_bind_btRigidBody_getAabb_2:Bx,_emscripten_bind_btRigidBody_getAngularDamping_0:sK,_emscripten_bind_btRigidBody_getAngularFactor_0:fP,_emscripten_bind_btRigidBody_getAngularVelocity_0:lO,_emscripten_bind_btRigidBody_getBroadphaseHandle_0:WP,_emscripten_bind_btRigidBody_getBroadphaseProxy_0:WP,_emscripten_bind_btRigidBody_getCenterOfMassTransform_0:vU,_emscripten_bind_btRigidBody_getCollisionFlags_0:DQ,_emscripten_bind_btRigidBody_getCollisionShape_0:CQ,_emscripten_bind_btRigidBody_getFriction_0:WL,_emscripten_bind_btRigidBody_getGravity_0:rS,_emscripten_bind_btRigidBody_getLinearDamping_0:yK,_emscripten_bind_btRigidBody_getLinearFactor_0:GP,_emscripten_bind_btRigidBody_getLinearVelocity_0:xO,_emscripten_bind_btRigidBody_getMotionState_0:gR,_emscripten_bind_btRigidBody_getRestitution_0:VK,_emscripten_bind_btRigidBody_getRollingFriction_0:qK,_emscripten_bind_btRigidBody_getUserIndex_0:VP,_emscripten_bind_btRigidBody_getUserPointer_0:ER,_emscripten_bind_btRigidBody_getWorldTransform_0:vU,_emscripten_bind_btRigidBody_isActive_0:_M,_emscripten_bind_btRigidBody_isKinematicObject_0:uI,_emscripten_bind_btRigidBody_isStaticObject_0:PJ,_emscripten_bind_btRigidBody_isStaticOrKinematicObject_0:xF,_emscripten_bind_btRigidBody_setActivationState_1:BD,_emscripten_bind_btRigidBody_setAngularFactor_1:AI,_emscripten_bind_btRigidBody_setAngularVelocity_1:aI,_emscripten_bind_btRigidBody_setAnisotropicFriction_2:OB,_emscripten_bind_btRigidBody_setCcdMotionThreshold_1:qI,_emscripten_bind_btRigidBody_setCcdSweptSphereRadius_1:YH,_emscripten_bind_btRigidBody_setCenterOfMassTransform_1:VE,_emscripten_bind_btRigidBody_setCollisionFlags_1:tJ,_emscripten_bind_btRigidBody_setCollisionShape_1:oF,_emscripten_bind_btRigidBody_setContactProcessingThreshold_1:xI,_emscripten_bind_btRigidBody_setDamping_2:ho,_emscripten_bind_btRigidBody_setFriction_1:ZM,_emscripten_bind_btRigidBody_setGravity_1:ln,_emscripten_bind_btRigidBody_setLinearFactor_1:XI,_emscripten_bind_btRigidBody_setLinearVelocity_1:kI,_emscripten_bind_btRigidBody_setMassProps_2:_j,_emscripten_bind_btRigidBody_setMotionState_1:zI,_emscripten_bind_btRigidBody_setRestitution_1:UK,_emscripten_bind_btRigidBody_setRollingFriction_1:LJ,_emscripten_bind_btRigidBody_setSleepingThresholds_2:yF,_emscripten_bind_btRigidBody_setUserIndex_1:nL,_emscripten_bind_btRigidBody_setUserPointer_1:pK,_emscripten_bind_btRigidBody_setWorldTransform_1:PG,_emscripten_bind_btRigidBody_upcast_1:GL,_emscripten_bind_btRigidBody_updateInertiaTensor_0:Tj,_emscripten_bind_btScalarArray___destroy___0:SH,_emscripten_bind_btScalarArray_at_1:aF,_emscripten_bind_btScalarArray_size_0:FU,_emscripten_bind_btSequentialImpulseConstraintSolver___destroy___0:CE,_emscripten_bind_btSequentialImpulseConstraintSolver_btSequentialImpulseConstraintSolver_0:gk,_emscripten_bind_btShapeHull___destroy___0:Gh,_emscripten_bind_btShapeHull_btShapeHull_1:Vp,_emscripten_bind_btShapeHull_buildHull_1:gd,_emscripten_bind_btShapeHull_getVertexPointer_0:eP,_emscripten_bind_btShapeHull_numVertices_0:LV,_emscripten_bind_btSliderConstraint___destroy___0:CE,_emscripten_bind_btSliderConstraint_btSliderConstraint_3:Be,_emscripten_bind_btSliderConstraint_btSliderConstraint_5:qf,_emscripten_bind_btSliderConstraint_enableFeedback_1:aJ,_emscripten_bind_btSliderConstraint_getBreakingImpulseThreshold_0:TH,_emscripten_bind_btSliderConstraint_getParam_2:VB,_emscripten_bind_btSliderConstraint_setBreakingImpulseThreshold_1:QE,_emscripten_bind_btSliderConstraint_setLowerAngLimit_1:yI,_emscripten_bind_btSliderConstraint_setLowerLinLimit_1:xI,_emscripten_bind_btSliderConstraint_setParam_3:$z,_emscripten_bind_btSliderConstraint_setUpperAngLimit_1:wI,_emscripten_bind_btSliderConstraint_setUpperLinLimit_1:vI,_emscripten_bind_btSmoothVehicleRaycaster___destroy___0:CE,_emscripten_bind_btSmoothVehicleRaycaster_btSmoothVehicleRaycaster_1:LA,_emscripten_bind_btSmoothVehicleRaycaster_castRay_3:Hz,_emscripten_bind_btSmoothVehicleRaycaster_get_m_collisionFilterGroup_0:nQ,_emscripten_bind_btSmoothVehicleRaycaster_get_m_collisionFilterMask_0:mQ,_emscripten_bind_btSmoothVehicleRaycaster_get_m_shapeTestingMode_0:bO,_emscripten_bind_btSmoothVehicleRaycaster_get_m_shapeTestingSize_0:RW,_emscripten_bind_btSmoothVehicleRaycaster_get_m_testPointCount_0:hW,_emscripten_bind_btSmoothVehicleRaycaster_set_m_collisionFilterGroup_1:_K,_emscripten_bind_btSmoothVehicleRaycaster_set_m_collisionFilterMask_1:ZK,_emscripten_bind_btSmoothVehicleRaycaster_set_m_shapeTestingMode_1:rK,_emscripten_bind_btSmoothVehicleRaycaster_set_m_shapeTestingSize_1:KT,_emscripten_bind_btSmoothVehicleRaycaster_set_m_testPointCount_1:SR,_emscripten_bind_btSoftBodyArray___destroy___0:SH,_emscripten_bind_btSoftBodyArray_at_1:hG,_emscripten_bind_btSoftBodyArray_size_0:FU,_emscripten_bind_btSoftBodyHelpers_CreateEllipsoid_4:eh,_emscripten_bind_btSoftBodyHelpers_CreateFromConvexHull_4:ww,_emscripten_bind_btSoftBodyHelpers_CreateFromTriMesh_5:Ad,_emscripten_bind_btSoftBodyHelpers_CreatePatchUV_10:Wc,_emscripten_bind_btSoftBodyHelpers_CreatePatch_9:ad,_emscripten_bind_btSoftBodyHelpers_CreateRope_5:Kg,_emscripten_bind_btSoftBodyHelpers___destroy___0:XR,_emscripten_bind_btSoftBodyHelpers_btSoftBodyHelpers_0:tY,_emscripten_bind_btSoftBodyRigidBodyCollisionConfiguration___destroy___0:CE,_emscripten_bind_btSoftBodyRigidBodyCollisionConfiguration_btSoftBodyRigidBodyCollisionConfiguration_0:kq,_emscripten_bind_btSoftBodyRigidBodyCollisionConfiguration_btSoftBodyRigidBodyCollisionConfiguration_1:Vv,_emscripten_bind_btSoftBodySolver___destroy___0:CE,_emscripten_bind_btSoftBodyWorldInfo___destroy___0:HG,_emscripten_bind_btSoftBodyWorldInfo_btSoftBodyWorldInfo_0:cJ,_emscripten_bind_btSoftBodyWorldInfo_get_air_density_0:qV,_emscripten_bind_btSoftBodyWorldInfo_get_m_broadphase_0:RS,_emscripten_bind_btSoftBodyWorldInfo_get_m_dispatcher_0:QS,_emscripten_bind_btSoftBodyWorldInfo_get_m_gravity_0:kZ,_emscripten_bind_btSoftBodyWorldInfo_get_m_maxDisplacement_0:UW,_emscripten_bind_btSoftBodyWorldInfo_get_water_density_0:QW,_emscripten_bind_btSoftBodyWorldInfo_get_water_normal_0:DY,_emscripten_bind_btSoftBodyWorldInfo_get_water_offset_0:dX,_emscripten_bind_btSoftBodyWorldInfo_set_air_density_1:KW,_emscripten_bind_btSoftBodyWorldInfo_set_m_broadphase_1:aO,_emscripten_bind_btSoftBodyWorldInfo_set_m_dispatcher_1:$N,_emscripten_bind_btSoftBodyWorldInfo_set_m_gravity_1:jw,_emscripten_bind_btSoftBodyWorldInfo_set_m_maxDisplacement_1:zV,_emscripten_bind_btSoftBodyWorldInfo_set_water_density_1:qW,_emscripten_bind_btSoftBodyWorldInfo_set_water_normal_1:jv,_emscripten_bind_btSoftBodyWorldInfo_set_water_offset_1:pW,_emscripten_bind_btSoftBody___destroy___0:AE,_emscripten_bind_btSoftBody_activate_0:Iy,_emscripten_bind_btSoftBody_activate_1:_w,_emscripten_bind_btSoftBody_addAeroForceToNode_2:cE,_emscripten_bind_btSoftBody_addForce_1:Sm,_emscripten_bind_btSoftBody_addForce_2:go,_emscripten_bind_btSoftBody_appendAnchor_4:Tf,_emscripten_bind_btSoftBody_appendFace_4:bA,_emscripten_bind_btSoftBody_appendLink_4:aA,_emscripten_bind_btSoftBody_appendMaterial_0:fR,_emscripten_bind_btSoftBody_appendNode_2:Mc,_emscripten_bind_btSoftBody_appendTetra_5:Hf,_emscripten_bind_btSoftBody_btSoftBody_4:iw,_emscripten_bind_btSoftBody_checkFace_3:Wk,_emscripten_bind_btSoftBody_checkLink_2:Yl,_emscripten_bind_btSoftBody_forceActivationState_1:qO,_emscripten_bind_btSoftBody_generateBendingConstraints_2:Jc,_emscripten_bind_btSoftBody_generateClusters_1:uJ,_emscripten_bind_btSoftBody_generateClusters_2:AG,_emscripten_bind_btSoftBody_getBroadphaseHandle_0:WP,_emscripten_bind_btSoftBody_getCollisionFlags_0:DQ,_emscripten_bind_btSoftBody_getCollisionShape_0:CQ,_emscripten_bind_btSoftBody_getFriction_0:WL,_emscripten_bind_btSoftBody_getRestitution_0:VK,_emscripten_bind_btSoftBody_getRollingFriction_0:qK,_emscripten_bind_btSoftBody_getTotalMass_0:yp,_emscripten_bind_btSoftBody_getUserIndex_0:VP,_emscripten_bind_btSoftBody_getUserPointer_0:ER,_emscripten_bind_btSoftBody_getWorldTransform_0:vU,_emscripten_bind_btSoftBody_get_m_anchors_0:xX,_emscripten_bind_btSoftBody_get_m_cfg_0:sY,_emscripten_bind_btSoftBody_get_m_materials_0:bX,_emscripten_bind_btSoftBody_get_m_nodes_0:ZX,_emscripten_bind_btSoftBody_isActive_0:_M,_emscripten_bind_btSoftBody_isKinematicObject_0:uI,_emscripten_bind_btSoftBody_isStaticObject_0:PJ,_emscripten_bind_btSoftBody_isStaticOrKinematicObject_0:xF,_emscripten_bind_btSoftBody_rotate_1:jk,_emscripten_bind_btSoftBody_scale_1:Pe,_emscripten_bind_btSoftBody_setActivationState_1:BD,_emscripten_bind_btSoftBody_setAnisotropicFriction_2:OB,_emscripten_bind_btSoftBody_setCcdMotionThreshold_1:qI,_emscripten_bind_btSoftBody_setCcdSweptSphereRadius_1:YH,_emscripten_bind_btSoftBody_setCollisionFlags_1:tJ,_emscripten_bind_btSoftBody_setCollisionShape_1:oF,_emscripten_bind_btSoftBody_setContactProcessingThreshold_1:xI,_emscripten_bind_btSoftBody_setFriction_1:ZM,_emscripten_bind_btSoftBody_setMass_2:Ez,_emscripten_bind_btSoftBody_setRestitution_1:UK,_emscripten_bind_btSoftBody_setRollingFriction_1:LJ,_emscripten_bind_btSoftBody_setTotalMass_2:mh,_emscripten_bind_btSoftBody_setUserIndex_1:nL,_emscripten_bind_btSoftBody_setUserPointer_1:pK,_emscripten_bind_btSoftBody_setWorldTransform_1:PG,_emscripten_bind_btSoftBody_set_m_anchors_1:ZF,_emscripten_bind_btSoftBody_set_m_cfg_1:FL,_emscripten_bind_btSoftBody_set_m_materials_1:RE,_emscripten_bind_btSoftBody_set_m_nodes_1:GG,_emscripten_bind_btSoftBody_transform_1:mL,_emscripten_bind_btSoftBody_translate_1:km,_emscripten_bind_btSoftBody_upcast_1:eM,_emscripten_bind_btSoftRigidDynamicsWorld___destroy___0:CE,_emscripten_bind_btSoftRigidDynamicsWorld_addAction_1:iG,_emscripten_bind_btSoftRigidDynamicsWorld_addCollisionObject_1:PB,_emscripten_bind_btSoftRigidDynamicsWorld_addCollisionObject_2:Rz,_emscripten_bind_btSoftRigidDynamicsWorld_addCollisionObject_3:pz,_emscripten_bind_btSoftRigidDynamicsWorld_addConstraint_1:ED,_emscripten_bind_btSoftRigidDynamicsWorld_addConstraint_2:KA,_emscripten_bind_btSoftRigidDynamicsWorld_addRigidBody_1:eE,_emscripten_bind_btSoftRigidDynamicsWorld_addRigidBody_3:az,_emscripten_bind_btSoftRigidDynamicsWorld_addSoftBody_3:vj,_emscripten_bind_btSoftRigidDynamicsWorld_adjustInternalEdgeContacts_6:ir,_emscripten_bind_btSoftRigidDynamicsWorld_btSoftRigidDynamicsWorld_5:tf,_emscripten_bind_btSoftRigidDynamicsWorld_contactPairTest_3:Yj,_emscripten_bind_btSoftRigidDynamicsWorld_contactTest_2:un,_emscripten_bind_btSoftRigidDynamicsWorld_convexSweepTest_5:eu,_emscripten_bind_btSoftRigidDynamicsWorld_debugDrawObject_3:yz,_emscripten_bind_btSoftRigidDynamicsWorld_debugDrawWorld_0:wJ,_emscripten_bind_btSoftRigidDynamicsWorld_generateInternalEdgeInfo_2:xx,_emscripten_bind_btSoftRigidDynamicsWorld_getBroadphase_0:GQ,_emscripten_bind_btSoftRigidDynamicsWorld_getDebugDrawer_0:ZI,_emscripten_bind_btSoftRigidDynamicsWorld_getDispatchInfo_0:rP,_emscripten_bind_btSoftRigidDynamicsWorld_getDispatcher_0:FQ,_emscripten_bind_btSoftRigidDynamicsWorld_getGravity_0:Go,_emscripten_bind_btSoftRigidDynamicsWorld_getPairCache_0:jK,_emscripten_bind_btSoftRigidDynamicsWorld_getSoftBodyArray_0:KJ,_emscripten_bind_btSoftRigidDynamicsWorld_getSolverInfo_0:MO,_emscripten_bind_btSoftRigidDynamicsWorld_getWorldInfo_0:TK,_emscripten_bind_btSoftRigidDynamicsWorld_rayTest_3:Xz,_emscripten_bind_btSoftRigidDynamicsWorld_removeAction_1:sF,_emscripten_bind_btSoftRigidDynamicsWorld_removeCollisionObject_1:aE,_emscripten_bind_btSoftRigidDynamicsWorld_removeConstraint_1:SD,_emscripten_bind_btSoftRigidDynamicsWorld_removeRigidBody_1:UD,_emscripten_bind_btSoftRigidDynamicsWorld_removeSoftBody_1:Qi,_emscripten_bind_btSoftRigidDynamicsWorld_setContactAddedCallback_1:wE,_emscripten_bind_btSoftRigidDynamicsWorld_setContactDestroyedCallback_1:zD,_emscripten_bind_btSoftRigidDynamicsWorld_setContactProcessedCallback_1:yD,_emscripten_bind_btSoftRigidDynamicsWorld_setDebugDrawer_1:YE,_emscripten_bind_btSoftRigidDynamicsWorld_setGravity_1:vE,_emscripten_bind_btSoftRigidDynamicsWorld_setInternalTickCallback_1:ZD,_emscripten_bind_btSoftRigidDynamicsWorld_setInternalTickCallback_2:RA,_emscripten_bind_btSoftRigidDynamicsWorld_setInternalTickCallback_3:Dz,_emscripten_bind_btSoftRigidDynamicsWorld_stepSimulation_1:GA,_emscripten_bind_btSoftRigidDynamicsWorld_stepSimulation_2:ez,_emscripten_bind_btSoftRigidDynamicsWorld_stepSimulation_3:qz,_emscripten_bind_btSoftRigidDynamicsWorld_updateSingleAabb_1:rF,_emscripten_bind_btSphereShape___destroy___0:CE,_emscripten_bind_btSphereShape_btSphereShape_1:OG,_emscripten_bind_btSphereShape_calculateLocalInertia_2:RB,_emscripten_bind_btSphereShape_getLocalScaling_0:UJ,_emscripten_bind_btSphereShape_getMargin_0:YK,_emscripten_bind_btSphereShape_getShapeType_0:FU,_emscripten_bind_btSphereShape_setLocalScaling_1:bG,_emscripten_bind_btSphereShape_setMargin_1:$H,_emscripten_bind_btStaticPlaneShape___destroy___0:CE,_emscripten_bind_btStaticPlaneShape_btStaticPlaneShape_2:gm,_emscripten_bind_btStaticPlaneShape_calculateLocalInertia_2:RB,_emscripten_bind_btStaticPlaneShape_getLocalScaling_0:UJ,_emscripten_bind_btStaticPlaneShape_getShapeType_0:FU,_emscripten_bind_btStaticPlaneShape_setLocalScaling_1:bG,_emscripten_bind_btStridingMeshInterface___destroy___0:CE,_emscripten_bind_btStridingMeshInterface_setScaling_1:lL,_emscripten_bind_btTransform___destroy___0:XR,_emscripten_bind_btTransform_btTransform_0:sZ,_emscripten_bind_btTransform_btTransform_2:LB,_emscripten_bind_btTransform_getBasis_0:aX,_emscripten_bind_btTransform_getOrigin_0:dT,_emscripten_bind_btTransform_getRotation_0:ep,_emscripten_bind_btTransform_inverse_0:Gr,_emscripten_bind_btTransform_op_mul_1:FP,_emscripten_bind_btTransform_setFromOpenGLMatrix_1:bJ,_emscripten_bind_btTransform_setIdentity_0:IS,_emscripten_bind_btTransform_setOrigin_1:EL,_emscripten_bind_btTransform_setRotation_1:dM,_emscripten_bind_btTriangleInfoMap___destroy___0:CE,_emscripten_bind_btTriangleInfoMap_btTriangleInfoMap_0:oK,_emscripten_bind_btTriangleMeshShape___destroy___0:CE,_emscripten_bind_btTriangleMeshShape_calculateLocalInertia_2:RB,_emscripten_bind_btTriangleMeshShape_getLocalScaling_0:UJ,_emscripten_bind_btTriangleMeshShape_getShapeType_0:FU,_emscripten_bind_btTriangleMeshShape_setLocalScaling_1:bG,_emscripten_bind_btTriangleMesh___destroy___0:CE,_emscripten_bind_btTriangleMesh_addIndex_1:VN,_emscripten_bind_btTriangleMesh_addTriangle_3:Zn,_emscripten_bind_btTriangleMesh_addTriangle_4:En,_emscripten_bind_btTriangleMesh_btTriangleMesh_0:wF,_emscripten_bind_btTriangleMesh_btTriangleMesh_1:cD,_emscripten_bind_btTriangleMesh_btTriangleMesh_2:CA,_emscripten_bind_btTriangleMesh_findOrAddVertex_2:QD,_emscripten_bind_btTriangleMesh_getIndexedMeshArray_0:eK,_emscripten_bind_btTriangleMesh_setScaling_1:lL,_emscripten_bind_btTypedConstraint___destroy___0:CE,_emscripten_bind_btTypedConstraint_enableFeedback_1:aJ,_emscripten_bind_btTypedConstraint_getBreakingImpulseThreshold_0:TH,_emscripten_bind_btTypedConstraint_getParam_2:VB,_emscripten_bind_btTypedConstraint_setBreakingImpulseThreshold_1:QE,_emscripten_bind_btTypedConstraint_setParam_3:$z,_emscripten_bind_btVector3Array___destroy___0:SH,_emscripten_bind_btVector3Array_at_1:SK,_emscripten_bind_btVector3Array_size_0:FU,_emscripten_bind_btVector3___destroy___0:_N,_emscripten_bind_btVector3_btVector3_0:cZ,_emscripten_bind_btVector3_btVector3_3:Eq,_emscripten_bind_btVector3_dot_1:Px,_emscripten_bind_btVector3_length_0:XH,_emscripten_bind_btVector3_normalize_0:$U,_emscripten_bind_btVector3_op_add_1:eR,_emscripten_bind_btVector3_op_mul_1:Hy,_emscripten_bind_btVector3_op_sub_1:dR,_emscripten_bind_btVector3_rotate_2:So,_emscripten_bind_btVector3_setValue_3:Nr,_emscripten_bind_btVector3_setX_1:PS,_emscripten_bind_btVector3_setY_1:OS,_emscripten_bind_btVector3_setZ_1:NS,_emscripten_bind_btVector3_x_0:pV,_emscripten_bind_btVector3_y_0:bT,_emscripten_bind_btVector3_z_0:aT,_emscripten_bind_btVector4___destroy___0:_N,_emscripten_bind_btVector4_btVector4_0:cZ,_emscripten_bind_btVector4_btVector4_4:wp,_emscripten_bind_btVector4_dot_1:Px,_emscripten_bind_btVector4_length_0:XH,_emscripten_bind_btVector4_normalize_0:$U,_emscripten_bind_btVector4_op_add_1:eR,_emscripten_bind_btVector4_op_mul_1:Hy,_emscripten_bind_btVector4_op_sub_1:dR,_emscripten_bind_btVector4_rotate_2:Ro,_emscripten_bind_btVector4_setValue_4:Zp,_emscripten_bind_btVector4_setX_1:PS,_emscripten_bind_btVector4_setY_1:OS,_emscripten_bind_btVector4_setZ_1:NS,_emscripten_bind_btVector4_w_0:cT,_emscripten_bind_btVector4_x_0:pV,_emscripten_bind_btVector4_y_0:bT,_emscripten_bind_btVector4_z_0:aT,_emscripten_bind_btVehicleRaycasterResult___destroy___0:XR,_emscripten_bind_btVehicleRaycasterResult_get_m_distFraction_0:SW,_emscripten_bind_btVehicleRaycasterResult_get_m_hitNormalInWorld_0:DY,_emscripten_bind_btVehicleRaycasterResult_get_m_hitPointInWorld_0:D$,_emscripten_bind_btVehicleRaycasterResult_set_m_distFraction_1:LT,_emscripten_bind_btVehicleRaycasterResult_set_m_hitNormalInWorld_1:jv,_emscripten_bind_btVehicleRaycasterResult_set_m_hitPointInWorld_1:hw,_emscripten_bind_btVehicleRaycaster___destroy___0:CE,_emscripten_bind_btVehicleRaycaster_castRay_3:Hz,_emscripten_bind_btVehicleTuning_btVehicleTuning_0:jI,_emscripten_bind_btVehicleTuning_get_m_frictionSlip_0:TW,_emscripten_bind_btVehicleTuning_get_m_maxSuspensionForce_0:RW,_emscripten_bind_btVehicleTuning_get_m_maxSuspensionTravelCm_0:UW,_emscripten_bind_btVehicleTuning_get_m_suspensionCompression_0:QW,_emscripten_bind_btVehicleTuning_get_m_suspensionDamping_0:dX,_emscripten_bind_btVehicleTuning_get_m_suspensionStiffness_0:qV,_emscripten_bind_btVehicleTuning_set_m_frictionSlip_1:MT,_emscripten_bind_btVehicleTuning_set_m_maxSuspensionForce_1:KT,_emscripten_bind_btVehicleTuning_set_m_maxSuspensionTravelCm_1:zV,_emscripten_bind_btVehicleTuning_set_m_suspensionCompression_1:qW,_emscripten_bind_btVehicleTuning_set_m_suspensionDamping_1:pW,_emscripten_bind_btVehicleTuning_set_m_suspensionStiffness_1:KW,_emscripten_bind_btWheelInfoConstructionInfo___destroy___0:XR,_emscripten_bind_btWheelInfoConstructionInfo_get_m_bIsFrontWheel_0:ZN,_emscripten_bind_btWheelInfoConstructionInfo_get_m_chassisConnectionCS_0:D$,_emscripten_bind_btWheelInfoConstructionInfo_get_m_frictionSlip_0:JW,_emscripten_bind_btWheelInfoConstructionInfo_get_m_maxSuspensionForce_0:VV,_emscripten_bind_btWheelInfoConstructionInfo_get_m_maxSuspensionTravelCm_0:jW,_emscripten_bind_btWheelInfoConstructionInfo_get_m_suspensionRestLength_0:FW,_emscripten_bind_btWheelInfoConstructionInfo_get_m_suspensionStiffness_0:iW,_emscripten_bind_btWheelInfoConstructionInfo_get_m_wheelAxleCS_0:uX,_emscripten_bind_btWheelInfoConstructionInfo_get_m_wheelDirectionCS_0:DY,_emscripten_bind_btWheelInfoConstructionInfo_get_m_wheelRadius_0:kW,_emscripten_bind_btWheelInfoConstructionInfo_get_m_wheelsDampingCompression_0:vV,_emscripten_bind_btWheelInfoConstructionInfo_get_m_wheelsDampingRelaxation_0:wV,_emscripten_bind_btWheelInfoConstructionInfo_set_m_bIsFrontWheel_1:nK,_emscripten_bind_btWheelInfoConstructionInfo_set_m_chassisConnectionCS_1:hw,_emscripten_bind_btWheelInfoConstructionInfo_set_m_frictionSlip_1:TT,_emscripten_bind_btWheelInfoConstructionInfo_set_m_maxSuspensionForce_1:mS,_emscripten_bind_btWheelInfoConstructionInfo_set_m_maxSuspensionTravelCm_1:tS,_emscripten_bind_btWheelInfoConstructionInfo_set_m_suspensionRestLength_1:jT,_emscripten_bind_btWheelInfoConstructionInfo_set_m_suspensionStiffness_1:sS,_emscripten_bind_btWheelInfoConstructionInfo_set_m_wheelAxleCS_1:hu,_emscripten_bind_btWheelInfoConstructionInfo_set_m_wheelDirectionCS_1:jv,_emscripten_bind_btWheelInfoConstructionInfo_set_m_wheelRadius_1:uS,_emscripten_bind_btWheelInfoConstructionInfo_set_m_wheelsDampingCompression_1:TR,_emscripten_bind_btWheelInfoConstructionInfo_set_m_wheelsDampingRelaxation_1:UR,_emscripten_bind_btWheelInfo___destroy___0:XR,_emscripten_bind_btWheelInfo_btWheelInfo_1:zE,_emscripten_bind_btWheelInfo_getSuspensionRestLength_0:HS,_emscripten_bind_btWheelInfo_get_m_bIsFrontWheel_0:DR,_emscripten_bind_btWheelInfo_get_m_brake_0:oV,_emscripten_bind_btWheelInfo_get_m_chassisConnectionPointCS_0:GU,_emscripten_bind_btWheelInfo_get_m_clippedInvContactDotSuspension_0:dP,_emscripten_bind_btWheelInfo_get_m_deltaRotation_0:HT,_emscripten_bind_btWheelInfo_get_m_engineForce_0:uU,_emscripten_bind_btWheelInfo_get_m_frictionSlip_0:VT,_emscripten_bind_btWheelInfo_get_m_maxSuspensionForce_0:qS,_emscripten_bind_btWheelInfo_get_m_maxSuspensionTravelCm_0:OR,_emscripten_bind_btWheelInfo_get_m_raycastInfo_0:D$,_emscripten_bind_btWheelInfo_get_m_rollInfluence_0:GT,_emscripten_bind_btWheelInfo_get_m_rotation_0:NU,_emscripten_bind_btWheelInfo_get_m_skidInfo_0:MU,_emscripten_bind_btWheelInfo_get_m_steering_0:LU,_emscripten_bind_btWheelInfo_get_m_suspensionRelativeVelocity_0:fQ,_emscripten_bind_btWheelInfo_get_m_suspensionRestLength1_0:HS,_emscripten_bind_btWheelInfo_get_m_suspensionStiffness_0:hS,_emscripten_bind_btWheelInfo_get_m_wheelAxleCS_0:vW,_emscripten_bind_btWheelInfo_get_m_wheelDirectionCS_0:KV,_emscripten_bind_btWheelInfo_get_m_wheelsDampingCompression_0:WQ,_emscripten_bind_btWheelInfo_get_m_wheelsDampingRelaxation_0:cR,_emscripten_bind_btWheelInfo_get_m_wheelsRadius_0:UT,_emscripten_bind_btWheelInfo_get_m_wheelsSuspensionForce_0:NR,_emscripten_bind_btWheelInfo_get_m_worldTransform_0:FY,_emscripten_bind_btWheelInfo_set_m_bIsFrontWheel_1:eO,_emscripten_bind_btWheelInfo_set_m_brake_1:bR,_emscripten_bind_btWheelInfo_set_m_chassisConnectionPointCS_1:Xt,_emscripten_bind_btWheelInfo_set_m_clippedInvContactDotSuspension_1:FK,_emscripten_bind_btWheelInfo_set_m_deltaRotation_1:JO,_emscripten_bind_btWheelInfo_set_m_engineForce_1:oP,_emscripten_bind_btWheelInfo_set_m_frictionSlip_1:cP,_emscripten_bind_btWheelInfo_set_m_maxSuspensionForce_1:SO,_emscripten_bind_btWheelInfo_set_m_maxSuspensionTravelCm_1:NN,_emscripten_bind_btWheelInfo_set_m_raycastInfo_1:Jx,_emscripten_bind_btWheelInfo_set_m_rollInfluence_1:IO,_emscripten_bind_btWheelInfo_set_m_rotation_1:eQ,_emscripten_bind_btWheelInfo_set_m_skidInfo_1:dQ,_emscripten_bind_btWheelInfo_set_m_steering_1:cQ,_emscripten_bind_btWheelInfo_set_m_suspensionRelativeVelocity_1:VL,_emscripten_bind_btWheelInfo_set_m_suspensionRestLength1_1:MN,_emscripten_bind_btWheelInfo_set_m_suspensionStiffness_1:YN,_emscripten_bind_btWheelInfo_set_m_wheelAxleCS_1:Ku,_emscripten_bind_btWheelInfo_set_m_wheelDirectionCS_1:gu,_emscripten_bind_btWheelInfo_set_m_wheelsDampingCompression_1:mM,_emscripten_bind_btWheelInfo_set_m_wheelsDampingRelaxation_1:YM,_emscripten_bind_btWheelInfo_set_m_wheelsRadius_1:bP,_emscripten_bind_btWheelInfo_set_m_wheelsSuspensionForce_1:LN,_emscripten_bind_btWheelInfo_set_m_worldTransform_1:DK,_emscripten_bind_btWheelInfo_updateWheel_2:ej,_emscripten_bind_tAnchorArray___destroy___0:SH,_emscripten_bind_tAnchorArray_at_1:Qs,_emscripten_bind_tAnchorArray_clear_0:RT,_emscripten_bind_tAnchorArray_pop_back_0:cM,_emscripten_bind_tAnchorArray_push_back_1:FG,_emscripten_bind_tAnchorArray_size_0:FU,_emscripten_bind_tMaterialArray___destroy___0:SH,_emscripten_bind_tMaterialArray_at_1:hG,_emscripten_bind_tMaterialArray_size_0:FU,_emscripten_bind_tNodeArray___destroy___0:SH,_emscripten_bind_tNodeArray_at_1:uG,_emscripten_bind_tNodeArray_size_0:FU,_emscripten_enum_PHY_ScalarType_PHY_DOUBLE:$$,_emscripten_enum_PHY_ScalarType_PHY_FIXEDPOINT88:y_,_emscripten_enum_PHY_ScalarType_PHY_FLOAT:e$,_emscripten_enum_PHY_ScalarType_PHY_INTEGER:S_,_emscripten_enum_PHY_ScalarType_PHY_SHORT:d$,_emscripten_enum_PHY_ScalarType_PHY_UCHAR:c$,_emscripten_enum_btConstraintParams_BT_CONSTRAINT_CFM:d$,_emscripten_enum_btConstraintParams_BT_CONSTRAINT_ERP:$$,_emscripten_enum_btConstraintParams_BT_CONSTRAINT_STOP_CFM:y_,_emscripten_enum_btConstraintParams_BT_CONSTRAINT_STOP_ERP:S_,_free:kd,_i64Add:hD,_i64Subtract:xC,_llvm_bswap_i16:zY,_llvm_bswap_i32:wO,_malloc:Zb,_memcpy:oi,_memmove:jq,_memset:el,_sbrk:_o,dynCall_di:gW,dynCall_did:CR,dynCall_diidii:PA,dynCall_diii:sJ,dynCall_diiidii:Gy,dynCall_diiii:fE,dynCall_diiiii:BA,dynCall_diiiiiiii:Ju,dynCall_diiiiiiiii:rs,dynCall_diiiiiiiiii:Hq,dynCall_ii:sV,dynCall_iidid:YF,dynCall_iii:HO,dynCall_iiid:dK,dynCall_iiii:GI,dynCall_iiiii:XD,dynCall_iiiiiii:Tx,dynCall_iiiiiiii:qw,dynCall_iiiiiiiiii:Tr,dynCall_iiiiiiiiiii:Fq,dynCall_v:P_,dynCall_vi:qX,dynCall_vid:_S,dynCall_vidd:dO,dynCall_viddiii:Oz,dynCall_vidi:kM,dynCall_vidii:NG,dynCall_vii:LR,dynCall_viid:jM,dynCall_viidi:MG,dynCall_viidii:XB,dynCall_viii:CK,dynCall_viiid:LG,dynCall_viiidii:xz,dynCall_viiii:nF,dynCall_viiiid:WB,dynCall_viiiidddddidi:qq,dynCall_viiiiddddiid:Rq,dynCall_viiiii:dB,dynCall_viiiiid:wz,dynCall_viiiiii:Ny,dynCall_viiiiiii:dx,dynCall_viiiiiiiid:Nt,dynCall_viiiiiiiii:at,dynCall_viiiiiiiiii:Uq,establishStackSpace:uW,stackAlloc:aL,stackRestore:A$,stackSave:F$}}) - - -// EMSCRIPTEN_END_ASM -(asmGlobalArg,asmLibraryArg,buffer);var __GLOBAL__sub_I_btQuickprof_cpp=Module["__GLOBAL__sub_I_btQuickprof_cpp"]=asm["__GLOBAL__sub_I_btQuickprof_cpp"];var __ZSt18uncaught_exceptionv=Module["__ZSt18uncaught_exceptionv"]=asm["__ZSt18uncaught_exceptionv"];var ___cxa_can_catch=Module["___cxa_can_catch"]=asm["___cxa_can_catch"];var ___cxa_is_pointer_type=Module["___cxa_is_pointer_type"]=asm["___cxa_is_pointer_type"];var ___muldi3=Module["___muldi3"]=asm["___muldi3"];var ___udivdi3=Module["___udivdi3"]=asm["___udivdi3"];var _bitshift64Lshr=Module["_bitshift64Lshr"]=asm["_bitshift64Lshr"];var _bitshift64Shl=Module["_bitshift64Shl"]=asm["_bitshift64Shl"];var _emscripten_bind_AllHitsRayResultCallback_AllHitsRayResultCallback_2=Module["_emscripten_bind_AllHitsRayResultCallback_AllHitsRayResultCallback_2"]=asm["_emscripten_bind_AllHitsRayResultCallback_AllHitsRayResultCallback_2"];var _emscripten_bind_AllHitsRayResultCallback___destroy___0=Module["_emscripten_bind_AllHitsRayResultCallback___destroy___0"]=asm["_emscripten_bind_AllHitsRayResultCallback___destroy___0"];var _emscripten_bind_AllHitsRayResultCallback_get_m_closestHitFraction_0=Module["_emscripten_bind_AllHitsRayResultCallback_get_m_closestHitFraction_0"]=asm["_emscripten_bind_AllHitsRayResultCallback_get_m_closestHitFraction_0"];var _emscripten_bind_AllHitsRayResultCallback_get_m_collisionFilterGroup_0=Module["_emscripten_bind_AllHitsRayResultCallback_get_m_collisionFilterGroup_0"]=asm["_emscripten_bind_AllHitsRayResultCallback_get_m_collisionFilterGroup_0"];var _emscripten_bind_AllHitsRayResultCallback_get_m_collisionFilterMask_0=Module["_emscripten_bind_AllHitsRayResultCallback_get_m_collisionFilterMask_0"]=asm["_emscripten_bind_AllHitsRayResultCallback_get_m_collisionFilterMask_0"];var _emscripten_bind_AllHitsRayResultCallback_get_m_collisionObject_0=Module["_emscripten_bind_AllHitsRayResultCallback_get_m_collisionObject_0"]=asm["_emscripten_bind_AllHitsRayResultCallback_get_m_collisionObject_0"];var _emscripten_bind_AllHitsRayResultCallback_get_m_collisionObjects_0=Module["_emscripten_bind_AllHitsRayResultCallback_get_m_collisionObjects_0"]=asm["_emscripten_bind_AllHitsRayResultCallback_get_m_collisionObjects_0"];var _emscripten_bind_AllHitsRayResultCallback_get_m_hitFractions_0=Module["_emscripten_bind_AllHitsRayResultCallback_get_m_hitFractions_0"]=asm["_emscripten_bind_AllHitsRayResultCallback_get_m_hitFractions_0"];var _emscripten_bind_AllHitsRayResultCallback_get_m_hitNormalWorld_0=Module["_emscripten_bind_AllHitsRayResultCallback_get_m_hitNormalWorld_0"]=asm["_emscripten_bind_AllHitsRayResultCallback_get_m_hitNormalWorld_0"];var _emscripten_bind_AllHitsRayResultCallback_get_m_hitPointWorld_0=Module["_emscripten_bind_AllHitsRayResultCallback_get_m_hitPointWorld_0"]=asm["_emscripten_bind_AllHitsRayResultCallback_get_m_hitPointWorld_0"];var _emscripten_bind_AllHitsRayResultCallback_get_m_rayFromWorld_0=Module["_emscripten_bind_AllHitsRayResultCallback_get_m_rayFromWorld_0"]=asm["_emscripten_bind_AllHitsRayResultCallback_get_m_rayFromWorld_0"];var _emscripten_bind_AllHitsRayResultCallback_get_m_rayToWorld_0=Module["_emscripten_bind_AllHitsRayResultCallback_get_m_rayToWorld_0"]=asm["_emscripten_bind_AllHitsRayResultCallback_get_m_rayToWorld_0"];var _emscripten_bind_AllHitsRayResultCallback_hasHit_0=Module["_emscripten_bind_AllHitsRayResultCallback_hasHit_0"]=asm["_emscripten_bind_AllHitsRayResultCallback_hasHit_0"];var _emscripten_bind_AllHitsRayResultCallback_set_m_closestHitFraction_1=Module["_emscripten_bind_AllHitsRayResultCallback_set_m_closestHitFraction_1"]=asm["_emscripten_bind_AllHitsRayResultCallback_set_m_closestHitFraction_1"];var _emscripten_bind_AllHitsRayResultCallback_set_m_collisionFilterGroup_1=Module["_emscripten_bind_AllHitsRayResultCallback_set_m_collisionFilterGroup_1"]=asm["_emscripten_bind_AllHitsRayResultCallback_set_m_collisionFilterGroup_1"];var _emscripten_bind_AllHitsRayResultCallback_set_m_collisionFilterMask_1=Module["_emscripten_bind_AllHitsRayResultCallback_set_m_collisionFilterMask_1"]=asm["_emscripten_bind_AllHitsRayResultCallback_set_m_collisionFilterMask_1"];var _emscripten_bind_AllHitsRayResultCallback_set_m_collisionObject_1=Module["_emscripten_bind_AllHitsRayResultCallback_set_m_collisionObject_1"]=asm["_emscripten_bind_AllHitsRayResultCallback_set_m_collisionObject_1"];var _emscripten_bind_AllHitsRayResultCallback_set_m_collisionObjects_1=Module["_emscripten_bind_AllHitsRayResultCallback_set_m_collisionObjects_1"]=asm["_emscripten_bind_AllHitsRayResultCallback_set_m_collisionObjects_1"];var _emscripten_bind_AllHitsRayResultCallback_set_m_hitFractions_1=Module["_emscripten_bind_AllHitsRayResultCallback_set_m_hitFractions_1"]=asm["_emscripten_bind_AllHitsRayResultCallback_set_m_hitFractions_1"];var _emscripten_bind_AllHitsRayResultCallback_set_m_hitNormalWorld_1=Module["_emscripten_bind_AllHitsRayResultCallback_set_m_hitNormalWorld_1"]=asm["_emscripten_bind_AllHitsRayResultCallback_set_m_hitNormalWorld_1"];var _emscripten_bind_AllHitsRayResultCallback_set_m_hitPointWorld_1=Module["_emscripten_bind_AllHitsRayResultCallback_set_m_hitPointWorld_1"]=asm["_emscripten_bind_AllHitsRayResultCallback_set_m_hitPointWorld_1"];var _emscripten_bind_AllHitsRayResultCallback_set_m_rayFromWorld_1=Module["_emscripten_bind_AllHitsRayResultCallback_set_m_rayFromWorld_1"]=asm["_emscripten_bind_AllHitsRayResultCallback_set_m_rayFromWorld_1"];var _emscripten_bind_AllHitsRayResultCallback_set_m_rayToWorld_1=Module["_emscripten_bind_AllHitsRayResultCallback_set_m_rayToWorld_1"]=asm["_emscripten_bind_AllHitsRayResultCallback_set_m_rayToWorld_1"];var _emscripten_bind_Anchor___destroy___0=Module["_emscripten_bind_Anchor___destroy___0"]=asm["_emscripten_bind_Anchor___destroy___0"];var _emscripten_bind_Anchor_get_m_body_0=Module["_emscripten_bind_Anchor_get_m_body_0"]=asm["_emscripten_bind_Anchor_get_m_body_0"];var _emscripten_bind_Anchor_get_m_c0_0=Module["_emscripten_bind_Anchor_get_m_c0_0"]=asm["_emscripten_bind_Anchor_get_m_c0_0"];var _emscripten_bind_Anchor_get_m_c1_0=Module["_emscripten_bind_Anchor_get_m_c1_0"]=asm["_emscripten_bind_Anchor_get_m_c1_0"];var _emscripten_bind_Anchor_get_m_c2_0=Module["_emscripten_bind_Anchor_get_m_c2_0"]=asm["_emscripten_bind_Anchor_get_m_c2_0"];var _emscripten_bind_Anchor_get_m_influence_0=Module["_emscripten_bind_Anchor_get_m_influence_0"]=asm["_emscripten_bind_Anchor_get_m_influence_0"];var _emscripten_bind_Anchor_get_m_local_0=Module["_emscripten_bind_Anchor_get_m_local_0"]=asm["_emscripten_bind_Anchor_get_m_local_0"];var _emscripten_bind_Anchor_get_m_node_0=Module["_emscripten_bind_Anchor_get_m_node_0"]=asm["_emscripten_bind_Anchor_get_m_node_0"];var _emscripten_bind_Anchor_set_m_body_1=Module["_emscripten_bind_Anchor_set_m_body_1"]=asm["_emscripten_bind_Anchor_set_m_body_1"];var _emscripten_bind_Anchor_set_m_c0_1=Module["_emscripten_bind_Anchor_set_m_c0_1"]=asm["_emscripten_bind_Anchor_set_m_c0_1"];var _emscripten_bind_Anchor_set_m_c1_1=Module["_emscripten_bind_Anchor_set_m_c1_1"]=asm["_emscripten_bind_Anchor_set_m_c1_1"];var _emscripten_bind_Anchor_set_m_c2_1=Module["_emscripten_bind_Anchor_set_m_c2_1"]=asm["_emscripten_bind_Anchor_set_m_c2_1"];var _emscripten_bind_Anchor_set_m_influence_1=Module["_emscripten_bind_Anchor_set_m_influence_1"]=asm["_emscripten_bind_Anchor_set_m_influence_1"];var _emscripten_bind_Anchor_set_m_local_1=Module["_emscripten_bind_Anchor_set_m_local_1"]=asm["_emscripten_bind_Anchor_set_m_local_1"];var _emscripten_bind_Anchor_set_m_node_1=Module["_emscripten_bind_Anchor_set_m_node_1"]=asm["_emscripten_bind_Anchor_set_m_node_1"];var _emscripten_bind_ClosestConvexResultCallback_ClosestConvexResultCallback_2=Module["_emscripten_bind_ClosestConvexResultCallback_ClosestConvexResultCallback_2"]=asm["_emscripten_bind_ClosestConvexResultCallback_ClosestConvexResultCallback_2"];var _emscripten_bind_ClosestConvexResultCallback___destroy___0=Module["_emscripten_bind_ClosestConvexResultCallback___destroy___0"]=asm["_emscripten_bind_ClosestConvexResultCallback___destroy___0"];var _emscripten_bind_ClosestConvexResultCallback_get_m_closestHitFraction_0=Module["_emscripten_bind_ClosestConvexResultCallback_get_m_closestHitFraction_0"]=asm["_emscripten_bind_ClosestConvexResultCallback_get_m_closestHitFraction_0"];var _emscripten_bind_ClosestConvexResultCallback_get_m_collisionFilterGroup_0=Module["_emscripten_bind_ClosestConvexResultCallback_get_m_collisionFilterGroup_0"]=asm["_emscripten_bind_ClosestConvexResultCallback_get_m_collisionFilterGroup_0"];var _emscripten_bind_ClosestConvexResultCallback_get_m_collisionFilterMask_0=Module["_emscripten_bind_ClosestConvexResultCallback_get_m_collisionFilterMask_0"]=asm["_emscripten_bind_ClosestConvexResultCallback_get_m_collisionFilterMask_0"];var _emscripten_bind_ClosestConvexResultCallback_get_m_convexFromWorld_0=Module["_emscripten_bind_ClosestConvexResultCallback_get_m_convexFromWorld_0"]=asm["_emscripten_bind_ClosestConvexResultCallback_get_m_convexFromWorld_0"];var _emscripten_bind_ClosestConvexResultCallback_get_m_convexToWorld_0=Module["_emscripten_bind_ClosestConvexResultCallback_get_m_convexToWorld_0"]=asm["_emscripten_bind_ClosestConvexResultCallback_get_m_convexToWorld_0"];var _emscripten_bind_ClosestConvexResultCallback_get_m_hitCollisionObject_0=Module["_emscripten_bind_ClosestConvexResultCallback_get_m_hitCollisionObject_0"]=asm["_emscripten_bind_ClosestConvexResultCallback_get_m_hitCollisionObject_0"];var _emscripten_bind_ClosestConvexResultCallback_get_m_hitNormalWorld_0=Module["_emscripten_bind_ClosestConvexResultCallback_get_m_hitNormalWorld_0"]=asm["_emscripten_bind_ClosestConvexResultCallback_get_m_hitNormalWorld_0"];var _emscripten_bind_ClosestConvexResultCallback_get_m_hitPointWorld_0=Module["_emscripten_bind_ClosestConvexResultCallback_get_m_hitPointWorld_0"]=asm["_emscripten_bind_ClosestConvexResultCallback_get_m_hitPointWorld_0"];var _emscripten_bind_ClosestConvexResultCallback_hasHit_0=Module["_emscripten_bind_ClosestConvexResultCallback_hasHit_0"]=asm["_emscripten_bind_ClosestConvexResultCallback_hasHit_0"];var _emscripten_bind_ClosestConvexResultCallback_set_m_closestHitFraction_1=Module["_emscripten_bind_ClosestConvexResultCallback_set_m_closestHitFraction_1"]=asm["_emscripten_bind_ClosestConvexResultCallback_set_m_closestHitFraction_1"];var _emscripten_bind_ClosestConvexResultCallback_set_m_collisionFilterGroup_1=Module["_emscripten_bind_ClosestConvexResultCallback_set_m_collisionFilterGroup_1"]=asm["_emscripten_bind_ClosestConvexResultCallback_set_m_collisionFilterGroup_1"];var _emscripten_bind_ClosestConvexResultCallback_set_m_collisionFilterMask_1=Module["_emscripten_bind_ClosestConvexResultCallback_set_m_collisionFilterMask_1"]=asm["_emscripten_bind_ClosestConvexResultCallback_set_m_collisionFilterMask_1"];var _emscripten_bind_ClosestConvexResultCallback_set_m_convexFromWorld_1=Module["_emscripten_bind_ClosestConvexResultCallback_set_m_convexFromWorld_1"]=asm["_emscripten_bind_ClosestConvexResultCallback_set_m_convexFromWorld_1"];var _emscripten_bind_ClosestConvexResultCallback_set_m_convexToWorld_1=Module["_emscripten_bind_ClosestConvexResultCallback_set_m_convexToWorld_1"]=asm["_emscripten_bind_ClosestConvexResultCallback_set_m_convexToWorld_1"];var _emscripten_bind_ClosestConvexResultCallback_set_m_hitCollisionObject_1=Module["_emscripten_bind_ClosestConvexResultCallback_set_m_hitCollisionObject_1"]=asm["_emscripten_bind_ClosestConvexResultCallback_set_m_hitCollisionObject_1"];var _emscripten_bind_ClosestConvexResultCallback_set_m_hitNormalWorld_1=Module["_emscripten_bind_ClosestConvexResultCallback_set_m_hitNormalWorld_1"]=asm["_emscripten_bind_ClosestConvexResultCallback_set_m_hitNormalWorld_1"];var _emscripten_bind_ClosestConvexResultCallback_set_m_hitPointWorld_1=Module["_emscripten_bind_ClosestConvexResultCallback_set_m_hitPointWorld_1"]=asm["_emscripten_bind_ClosestConvexResultCallback_set_m_hitPointWorld_1"];var _emscripten_bind_ClosestRayResultCallback_ClosestRayResultCallback_2=Module["_emscripten_bind_ClosestRayResultCallback_ClosestRayResultCallback_2"]=asm["_emscripten_bind_ClosestRayResultCallback_ClosestRayResultCallback_2"];var _emscripten_bind_ClosestRayResultCallback___destroy___0=Module["_emscripten_bind_ClosestRayResultCallback___destroy___0"]=asm["_emscripten_bind_ClosestRayResultCallback___destroy___0"];var _emscripten_bind_ClosestRayResultCallback_get_m_closestHitFraction_0=Module["_emscripten_bind_ClosestRayResultCallback_get_m_closestHitFraction_0"]=asm["_emscripten_bind_ClosestRayResultCallback_get_m_closestHitFraction_0"];var _emscripten_bind_ClosestRayResultCallback_get_m_collisionFilterGroup_0=Module["_emscripten_bind_ClosestRayResultCallback_get_m_collisionFilterGroup_0"]=asm["_emscripten_bind_ClosestRayResultCallback_get_m_collisionFilterGroup_0"];var _emscripten_bind_ClosestRayResultCallback_get_m_collisionFilterMask_0=Module["_emscripten_bind_ClosestRayResultCallback_get_m_collisionFilterMask_0"]=asm["_emscripten_bind_ClosestRayResultCallback_get_m_collisionFilterMask_0"];var _emscripten_bind_ClosestRayResultCallback_get_m_collisionObject_0=Module["_emscripten_bind_ClosestRayResultCallback_get_m_collisionObject_0"]=asm["_emscripten_bind_ClosestRayResultCallback_get_m_collisionObject_0"];var _emscripten_bind_ClosestRayResultCallback_get_m_hitNormalWorld_0=Module["_emscripten_bind_ClosestRayResultCallback_get_m_hitNormalWorld_0"]=asm["_emscripten_bind_ClosestRayResultCallback_get_m_hitNormalWorld_0"];var _emscripten_bind_ClosestRayResultCallback_get_m_hitPointWorld_0=Module["_emscripten_bind_ClosestRayResultCallback_get_m_hitPointWorld_0"]=asm["_emscripten_bind_ClosestRayResultCallback_get_m_hitPointWorld_0"];var _emscripten_bind_ClosestRayResultCallback_get_m_rayFromWorld_0=Module["_emscripten_bind_ClosestRayResultCallback_get_m_rayFromWorld_0"]=asm["_emscripten_bind_ClosestRayResultCallback_get_m_rayFromWorld_0"];var _emscripten_bind_ClosestRayResultCallback_get_m_rayToWorld_0=Module["_emscripten_bind_ClosestRayResultCallback_get_m_rayToWorld_0"]=asm["_emscripten_bind_ClosestRayResultCallback_get_m_rayToWorld_0"];var _emscripten_bind_ClosestRayResultCallback_hasHit_0=Module["_emscripten_bind_ClosestRayResultCallback_hasHit_0"]=asm["_emscripten_bind_ClosestRayResultCallback_hasHit_0"];var _emscripten_bind_ClosestRayResultCallback_set_m_closestHitFraction_1=Module["_emscripten_bind_ClosestRayResultCallback_set_m_closestHitFraction_1"]=asm["_emscripten_bind_ClosestRayResultCallback_set_m_closestHitFraction_1"];var _emscripten_bind_ClosestRayResultCallback_set_m_collisionFilterGroup_1=Module["_emscripten_bind_ClosestRayResultCallback_set_m_collisionFilterGroup_1"]=asm["_emscripten_bind_ClosestRayResultCallback_set_m_collisionFilterGroup_1"];var _emscripten_bind_ClosestRayResultCallback_set_m_collisionFilterMask_1=Module["_emscripten_bind_ClosestRayResultCallback_set_m_collisionFilterMask_1"]=asm["_emscripten_bind_ClosestRayResultCallback_set_m_collisionFilterMask_1"];var _emscripten_bind_ClosestRayResultCallback_set_m_collisionObject_1=Module["_emscripten_bind_ClosestRayResultCallback_set_m_collisionObject_1"]=asm["_emscripten_bind_ClosestRayResultCallback_set_m_collisionObject_1"];var _emscripten_bind_ClosestRayResultCallback_set_m_hitNormalWorld_1=Module["_emscripten_bind_ClosestRayResultCallback_set_m_hitNormalWorld_1"]=asm["_emscripten_bind_ClosestRayResultCallback_set_m_hitNormalWorld_1"];var _emscripten_bind_ClosestRayResultCallback_set_m_hitPointWorld_1=Module["_emscripten_bind_ClosestRayResultCallback_set_m_hitPointWorld_1"]=asm["_emscripten_bind_ClosestRayResultCallback_set_m_hitPointWorld_1"];var _emscripten_bind_ClosestRayResultCallback_set_m_rayFromWorld_1=Module["_emscripten_bind_ClosestRayResultCallback_set_m_rayFromWorld_1"]=asm["_emscripten_bind_ClosestRayResultCallback_set_m_rayFromWorld_1"];var _emscripten_bind_ClosestRayResultCallback_set_m_rayToWorld_1=Module["_emscripten_bind_ClosestRayResultCallback_set_m_rayToWorld_1"]=asm["_emscripten_bind_ClosestRayResultCallback_set_m_rayToWorld_1"];var _emscripten_bind_ConcreteContactResultCallback_ConcreteContactResultCallback_0=Module["_emscripten_bind_ConcreteContactResultCallback_ConcreteContactResultCallback_0"]=asm["_emscripten_bind_ConcreteContactResultCallback_ConcreteContactResultCallback_0"];var _emscripten_bind_ConcreteContactResultCallback___destroy___0=Module["_emscripten_bind_ConcreteContactResultCallback___destroy___0"]=asm["_emscripten_bind_ConcreteContactResultCallback___destroy___0"];var _emscripten_bind_ConcreteContactResultCallback_addSingleResult_7=Module["_emscripten_bind_ConcreteContactResultCallback_addSingleResult_7"]=asm["_emscripten_bind_ConcreteContactResultCallback_addSingleResult_7"];var _emscripten_bind_Config___destroy___0=Module["_emscripten_bind_Config___destroy___0"]=asm["_emscripten_bind_Config___destroy___0"];var _emscripten_bind_Config_get_citerations_0=Module["_emscripten_bind_Config_get_citerations_0"]=asm["_emscripten_bind_Config_get_citerations_0"];var _emscripten_bind_Config_get_collisions_0=Module["_emscripten_bind_Config_get_collisions_0"]=asm["_emscripten_bind_Config_get_collisions_0"];var _emscripten_bind_Config_get_diterations_0=Module["_emscripten_bind_Config_get_diterations_0"]=asm["_emscripten_bind_Config_get_diterations_0"];var _emscripten_bind_Config_get_kAHR_0=Module["_emscripten_bind_Config_get_kAHR_0"]=asm["_emscripten_bind_Config_get_kAHR_0"];var _emscripten_bind_Config_get_kCHR_0=Module["_emscripten_bind_Config_get_kCHR_0"]=asm["_emscripten_bind_Config_get_kCHR_0"];var _emscripten_bind_Config_get_kDF_0=Module["_emscripten_bind_Config_get_kDF_0"]=asm["_emscripten_bind_Config_get_kDF_0"];var _emscripten_bind_Config_get_kDG_0=Module["_emscripten_bind_Config_get_kDG_0"]=asm["_emscripten_bind_Config_get_kDG_0"];var _emscripten_bind_Config_get_kDP_0=Module["_emscripten_bind_Config_get_kDP_0"]=asm["_emscripten_bind_Config_get_kDP_0"];var _emscripten_bind_Config_get_kKHR_0=Module["_emscripten_bind_Config_get_kKHR_0"]=asm["_emscripten_bind_Config_get_kKHR_0"];var _emscripten_bind_Config_get_kLF_0=Module["_emscripten_bind_Config_get_kLF_0"]=asm["_emscripten_bind_Config_get_kLF_0"];var _emscripten_bind_Config_get_kMT_0=Module["_emscripten_bind_Config_get_kMT_0"]=asm["_emscripten_bind_Config_get_kMT_0"];var _emscripten_bind_Config_get_kPR_0=Module["_emscripten_bind_Config_get_kPR_0"]=asm["_emscripten_bind_Config_get_kPR_0"];var _emscripten_bind_Config_get_kSHR_0=Module["_emscripten_bind_Config_get_kSHR_0"]=asm["_emscripten_bind_Config_get_kSHR_0"];var _emscripten_bind_Config_get_kSKHR_CL_0=Module["_emscripten_bind_Config_get_kSKHR_CL_0"]=asm["_emscripten_bind_Config_get_kSKHR_CL_0"];var _emscripten_bind_Config_get_kSK_SPLT_CL_0=Module["_emscripten_bind_Config_get_kSK_SPLT_CL_0"]=asm["_emscripten_bind_Config_get_kSK_SPLT_CL_0"];var _emscripten_bind_Config_get_kSRHR_CL_0=Module["_emscripten_bind_Config_get_kSRHR_CL_0"]=asm["_emscripten_bind_Config_get_kSRHR_CL_0"];var _emscripten_bind_Config_get_kSR_SPLT_CL_0=Module["_emscripten_bind_Config_get_kSR_SPLT_CL_0"]=asm["_emscripten_bind_Config_get_kSR_SPLT_CL_0"];var _emscripten_bind_Config_get_kSSHR_CL_0=Module["_emscripten_bind_Config_get_kSSHR_CL_0"]=asm["_emscripten_bind_Config_get_kSSHR_CL_0"];var _emscripten_bind_Config_get_kSS_SPLT_CL_0=Module["_emscripten_bind_Config_get_kSS_SPLT_CL_0"]=asm["_emscripten_bind_Config_get_kSS_SPLT_CL_0"];var _emscripten_bind_Config_get_kVCF_0=Module["_emscripten_bind_Config_get_kVCF_0"]=asm["_emscripten_bind_Config_get_kVCF_0"];var _emscripten_bind_Config_get_kVC_0=Module["_emscripten_bind_Config_get_kVC_0"]=asm["_emscripten_bind_Config_get_kVC_0"];var _emscripten_bind_Config_get_maxvolume_0=Module["_emscripten_bind_Config_get_maxvolume_0"]=asm["_emscripten_bind_Config_get_maxvolume_0"];var _emscripten_bind_Config_get_piterations_0=Module["_emscripten_bind_Config_get_piterations_0"]=asm["_emscripten_bind_Config_get_piterations_0"];var _emscripten_bind_Config_get_timescale_0=Module["_emscripten_bind_Config_get_timescale_0"]=asm["_emscripten_bind_Config_get_timescale_0"];var _emscripten_bind_Config_get_viterations_0=Module["_emscripten_bind_Config_get_viterations_0"]=asm["_emscripten_bind_Config_get_viterations_0"];var _emscripten_bind_Config_set_citerations_1=Module["_emscripten_bind_Config_set_citerations_1"]=asm["_emscripten_bind_Config_set_citerations_1"];var _emscripten_bind_Config_set_collisions_1=Module["_emscripten_bind_Config_set_collisions_1"]=asm["_emscripten_bind_Config_set_collisions_1"];var _emscripten_bind_Config_set_diterations_1=Module["_emscripten_bind_Config_set_diterations_1"]=asm["_emscripten_bind_Config_set_diterations_1"];var _emscripten_bind_Config_set_kAHR_1=Module["_emscripten_bind_Config_set_kAHR_1"]=asm["_emscripten_bind_Config_set_kAHR_1"];var _emscripten_bind_Config_set_kCHR_1=Module["_emscripten_bind_Config_set_kCHR_1"]=asm["_emscripten_bind_Config_set_kCHR_1"];var _emscripten_bind_Config_set_kDF_1=Module["_emscripten_bind_Config_set_kDF_1"]=asm["_emscripten_bind_Config_set_kDF_1"];var _emscripten_bind_Config_set_kDG_1=Module["_emscripten_bind_Config_set_kDG_1"]=asm["_emscripten_bind_Config_set_kDG_1"];var _emscripten_bind_Config_set_kDP_1=Module["_emscripten_bind_Config_set_kDP_1"]=asm["_emscripten_bind_Config_set_kDP_1"];var _emscripten_bind_Config_set_kKHR_1=Module["_emscripten_bind_Config_set_kKHR_1"]=asm["_emscripten_bind_Config_set_kKHR_1"];var _emscripten_bind_Config_set_kLF_1=Module["_emscripten_bind_Config_set_kLF_1"]=asm["_emscripten_bind_Config_set_kLF_1"];var _emscripten_bind_Config_set_kMT_1=Module["_emscripten_bind_Config_set_kMT_1"]=asm["_emscripten_bind_Config_set_kMT_1"];var _emscripten_bind_Config_set_kPR_1=Module["_emscripten_bind_Config_set_kPR_1"]=asm["_emscripten_bind_Config_set_kPR_1"];var _emscripten_bind_Config_set_kSHR_1=Module["_emscripten_bind_Config_set_kSHR_1"]=asm["_emscripten_bind_Config_set_kSHR_1"];var _emscripten_bind_Config_set_kSKHR_CL_1=Module["_emscripten_bind_Config_set_kSKHR_CL_1"]=asm["_emscripten_bind_Config_set_kSKHR_CL_1"];var _emscripten_bind_Config_set_kSK_SPLT_CL_1=Module["_emscripten_bind_Config_set_kSK_SPLT_CL_1"]=asm["_emscripten_bind_Config_set_kSK_SPLT_CL_1"];var _emscripten_bind_Config_set_kSRHR_CL_1=Module["_emscripten_bind_Config_set_kSRHR_CL_1"]=asm["_emscripten_bind_Config_set_kSRHR_CL_1"];var _emscripten_bind_Config_set_kSR_SPLT_CL_1=Module["_emscripten_bind_Config_set_kSR_SPLT_CL_1"]=asm["_emscripten_bind_Config_set_kSR_SPLT_CL_1"];var _emscripten_bind_Config_set_kSSHR_CL_1=Module["_emscripten_bind_Config_set_kSSHR_CL_1"]=asm["_emscripten_bind_Config_set_kSSHR_CL_1"];var _emscripten_bind_Config_set_kSS_SPLT_CL_1=Module["_emscripten_bind_Config_set_kSS_SPLT_CL_1"]=asm["_emscripten_bind_Config_set_kSS_SPLT_CL_1"];var _emscripten_bind_Config_set_kVCF_1=Module["_emscripten_bind_Config_set_kVCF_1"]=asm["_emscripten_bind_Config_set_kVCF_1"];var _emscripten_bind_Config_set_kVC_1=Module["_emscripten_bind_Config_set_kVC_1"]=asm["_emscripten_bind_Config_set_kVC_1"];var _emscripten_bind_Config_set_maxvolume_1=Module["_emscripten_bind_Config_set_maxvolume_1"]=asm["_emscripten_bind_Config_set_maxvolume_1"];var _emscripten_bind_Config_set_piterations_1=Module["_emscripten_bind_Config_set_piterations_1"]=asm["_emscripten_bind_Config_set_piterations_1"];var _emscripten_bind_Config_set_timescale_1=Module["_emscripten_bind_Config_set_timescale_1"]=asm["_emscripten_bind_Config_set_timescale_1"];var _emscripten_bind_Config_set_viterations_1=Module["_emscripten_bind_Config_set_viterations_1"]=asm["_emscripten_bind_Config_set_viterations_1"];var _emscripten_bind_ContactResultCallback___destroy___0=Module["_emscripten_bind_ContactResultCallback___destroy___0"]=asm["_emscripten_bind_ContactResultCallback___destroy___0"];var _emscripten_bind_ContactResultCallback_addSingleResult_7=Module["_emscripten_bind_ContactResultCallback_addSingleResult_7"]=asm["_emscripten_bind_ContactResultCallback_addSingleResult_7"];var _emscripten_bind_ConvexResultCallback___destroy___0=Module["_emscripten_bind_ConvexResultCallback___destroy___0"]=asm["_emscripten_bind_ConvexResultCallback___destroy___0"];var _emscripten_bind_ConvexResultCallback_get_m_closestHitFraction_0=Module["_emscripten_bind_ConvexResultCallback_get_m_closestHitFraction_0"]=asm["_emscripten_bind_ConvexResultCallback_get_m_closestHitFraction_0"];var _emscripten_bind_ConvexResultCallback_get_m_collisionFilterGroup_0=Module["_emscripten_bind_ConvexResultCallback_get_m_collisionFilterGroup_0"]=asm["_emscripten_bind_ConvexResultCallback_get_m_collisionFilterGroup_0"];var _emscripten_bind_ConvexResultCallback_get_m_collisionFilterMask_0=Module["_emscripten_bind_ConvexResultCallback_get_m_collisionFilterMask_0"]=asm["_emscripten_bind_ConvexResultCallback_get_m_collisionFilterMask_0"];var _emscripten_bind_ConvexResultCallback_hasHit_0=Module["_emscripten_bind_ConvexResultCallback_hasHit_0"]=asm["_emscripten_bind_ConvexResultCallback_hasHit_0"];var _emscripten_bind_ConvexResultCallback_set_m_closestHitFraction_1=Module["_emscripten_bind_ConvexResultCallback_set_m_closestHitFraction_1"]=asm["_emscripten_bind_ConvexResultCallback_set_m_closestHitFraction_1"];var _emscripten_bind_ConvexResultCallback_set_m_collisionFilterGroup_1=Module["_emscripten_bind_ConvexResultCallback_set_m_collisionFilterGroup_1"]=asm["_emscripten_bind_ConvexResultCallback_set_m_collisionFilterGroup_1"];var _emscripten_bind_ConvexResultCallback_set_m_collisionFilterMask_1=Module["_emscripten_bind_ConvexResultCallback_set_m_collisionFilterMask_1"]=asm["_emscripten_bind_ConvexResultCallback_set_m_collisionFilterMask_1"];var _emscripten_bind_DebugDrawer_DebugDrawer_0=Module["_emscripten_bind_DebugDrawer_DebugDrawer_0"]=asm["_emscripten_bind_DebugDrawer_DebugDrawer_0"];var _emscripten_bind_DebugDrawer___destroy___0=Module["_emscripten_bind_DebugDrawer___destroy___0"]=asm["_emscripten_bind_DebugDrawer___destroy___0"];var _emscripten_bind_DebugDrawer_draw3dText_2=Module["_emscripten_bind_DebugDrawer_draw3dText_2"]=asm["_emscripten_bind_DebugDrawer_draw3dText_2"];var _emscripten_bind_DebugDrawer_drawContactPoint_5=Module["_emscripten_bind_DebugDrawer_drawContactPoint_5"]=asm["_emscripten_bind_DebugDrawer_drawContactPoint_5"];var _emscripten_bind_DebugDrawer_drawLine_3=Module["_emscripten_bind_DebugDrawer_drawLine_3"]=asm["_emscripten_bind_DebugDrawer_drawLine_3"];var _emscripten_bind_DebugDrawer_getDebugMode_0=Module["_emscripten_bind_DebugDrawer_getDebugMode_0"]=asm["_emscripten_bind_DebugDrawer_getDebugMode_0"];var _emscripten_bind_DebugDrawer_reportErrorWarning_1=Module["_emscripten_bind_DebugDrawer_reportErrorWarning_1"]=asm["_emscripten_bind_DebugDrawer_reportErrorWarning_1"];var _emscripten_bind_DebugDrawer_setDebugMode_1=Module["_emscripten_bind_DebugDrawer_setDebugMode_1"]=asm["_emscripten_bind_DebugDrawer_setDebugMode_1"];var _emscripten_bind_LocalConvexResult_LocalConvexResult_5=Module["_emscripten_bind_LocalConvexResult_LocalConvexResult_5"]=asm["_emscripten_bind_LocalConvexResult_LocalConvexResult_5"];var _emscripten_bind_LocalConvexResult___destroy___0=Module["_emscripten_bind_LocalConvexResult___destroy___0"]=asm["_emscripten_bind_LocalConvexResult___destroy___0"];var _emscripten_bind_LocalConvexResult_get_m_hitCollisionObject_0=Module["_emscripten_bind_LocalConvexResult_get_m_hitCollisionObject_0"]=asm["_emscripten_bind_LocalConvexResult_get_m_hitCollisionObject_0"];var _emscripten_bind_LocalConvexResult_get_m_hitFraction_0=Module["_emscripten_bind_LocalConvexResult_get_m_hitFraction_0"]=asm["_emscripten_bind_LocalConvexResult_get_m_hitFraction_0"];var _emscripten_bind_LocalConvexResult_get_m_hitNormalLocal_0=Module["_emscripten_bind_LocalConvexResult_get_m_hitNormalLocal_0"]=asm["_emscripten_bind_LocalConvexResult_get_m_hitNormalLocal_0"];var _emscripten_bind_LocalConvexResult_get_m_hitPointLocal_0=Module["_emscripten_bind_LocalConvexResult_get_m_hitPointLocal_0"]=asm["_emscripten_bind_LocalConvexResult_get_m_hitPointLocal_0"];var _emscripten_bind_LocalConvexResult_get_m_localShapeInfo_0=Module["_emscripten_bind_LocalConvexResult_get_m_localShapeInfo_0"]=asm["_emscripten_bind_LocalConvexResult_get_m_localShapeInfo_0"];var _emscripten_bind_LocalConvexResult_set_m_hitCollisionObject_1=Module["_emscripten_bind_LocalConvexResult_set_m_hitCollisionObject_1"]=asm["_emscripten_bind_LocalConvexResult_set_m_hitCollisionObject_1"];var _emscripten_bind_LocalConvexResult_set_m_hitFraction_1=Module["_emscripten_bind_LocalConvexResult_set_m_hitFraction_1"]=asm["_emscripten_bind_LocalConvexResult_set_m_hitFraction_1"];var _emscripten_bind_LocalConvexResult_set_m_hitNormalLocal_1=Module["_emscripten_bind_LocalConvexResult_set_m_hitNormalLocal_1"]=asm["_emscripten_bind_LocalConvexResult_set_m_hitNormalLocal_1"];var _emscripten_bind_LocalConvexResult_set_m_hitPointLocal_1=Module["_emscripten_bind_LocalConvexResult_set_m_hitPointLocal_1"]=asm["_emscripten_bind_LocalConvexResult_set_m_hitPointLocal_1"];var _emscripten_bind_LocalConvexResult_set_m_localShapeInfo_1=Module["_emscripten_bind_LocalConvexResult_set_m_localShapeInfo_1"]=asm["_emscripten_bind_LocalConvexResult_set_m_localShapeInfo_1"];var _emscripten_bind_LocalShapeInfo___destroy___0=Module["_emscripten_bind_LocalShapeInfo___destroy___0"]=asm["_emscripten_bind_LocalShapeInfo___destroy___0"];var _emscripten_bind_LocalShapeInfo_get_m_shapePart_0=Module["_emscripten_bind_LocalShapeInfo_get_m_shapePart_0"]=asm["_emscripten_bind_LocalShapeInfo_get_m_shapePart_0"];var _emscripten_bind_LocalShapeInfo_get_m_triangleIndex_0=Module["_emscripten_bind_LocalShapeInfo_get_m_triangleIndex_0"]=asm["_emscripten_bind_LocalShapeInfo_get_m_triangleIndex_0"];var _emscripten_bind_LocalShapeInfo_set_m_shapePart_1=Module["_emscripten_bind_LocalShapeInfo_set_m_shapePart_1"]=asm["_emscripten_bind_LocalShapeInfo_set_m_shapePart_1"];var _emscripten_bind_LocalShapeInfo_set_m_triangleIndex_1=Module["_emscripten_bind_LocalShapeInfo_set_m_triangleIndex_1"]=asm["_emscripten_bind_LocalShapeInfo_set_m_triangleIndex_1"];var _emscripten_bind_Material___destroy___0=Module["_emscripten_bind_Material___destroy___0"]=asm["_emscripten_bind_Material___destroy___0"];var _emscripten_bind_Material_get_m_flags_0=Module["_emscripten_bind_Material_get_m_flags_0"]=asm["_emscripten_bind_Material_get_m_flags_0"];var _emscripten_bind_Material_get_m_kAST_0=Module["_emscripten_bind_Material_get_m_kAST_0"]=asm["_emscripten_bind_Material_get_m_kAST_0"];var _emscripten_bind_Material_get_m_kLST_0=Module["_emscripten_bind_Material_get_m_kLST_0"]=asm["_emscripten_bind_Material_get_m_kLST_0"];var _emscripten_bind_Material_get_m_kVST_0=Module["_emscripten_bind_Material_get_m_kVST_0"]=asm["_emscripten_bind_Material_get_m_kVST_0"];var _emscripten_bind_Material_set_m_flags_1=Module["_emscripten_bind_Material_set_m_flags_1"]=asm["_emscripten_bind_Material_set_m_flags_1"];var _emscripten_bind_Material_set_m_kAST_1=Module["_emscripten_bind_Material_set_m_kAST_1"]=asm["_emscripten_bind_Material_set_m_kAST_1"];var _emscripten_bind_Material_set_m_kLST_1=Module["_emscripten_bind_Material_set_m_kLST_1"]=asm["_emscripten_bind_Material_set_m_kLST_1"];var _emscripten_bind_Material_set_m_kVST_1=Module["_emscripten_bind_Material_set_m_kVST_1"]=asm["_emscripten_bind_Material_set_m_kVST_1"];var _emscripten_bind_Node___destroy___0=Module["_emscripten_bind_Node___destroy___0"]=asm["_emscripten_bind_Node___destroy___0"];var _emscripten_bind_Node_get_m_area_0=Module["_emscripten_bind_Node_get_m_area_0"]=asm["_emscripten_bind_Node_get_m_area_0"];var _emscripten_bind_Node_get_m_f_0=Module["_emscripten_bind_Node_get_m_f_0"]=asm["_emscripten_bind_Node_get_m_f_0"];var _emscripten_bind_Node_get_m_im_0=Module["_emscripten_bind_Node_get_m_im_0"]=asm["_emscripten_bind_Node_get_m_im_0"];var _emscripten_bind_Node_get_m_n_0=Module["_emscripten_bind_Node_get_m_n_0"]=asm["_emscripten_bind_Node_get_m_n_0"];var _emscripten_bind_Node_get_m_q_0=Module["_emscripten_bind_Node_get_m_q_0"]=asm["_emscripten_bind_Node_get_m_q_0"];var _emscripten_bind_Node_get_m_v_0=Module["_emscripten_bind_Node_get_m_v_0"]=asm["_emscripten_bind_Node_get_m_v_0"];var _emscripten_bind_Node_get_m_x_0=Module["_emscripten_bind_Node_get_m_x_0"]=asm["_emscripten_bind_Node_get_m_x_0"];var _emscripten_bind_Node_set_m_area_1=Module["_emscripten_bind_Node_set_m_area_1"]=asm["_emscripten_bind_Node_set_m_area_1"];var _emscripten_bind_Node_set_m_f_1=Module["_emscripten_bind_Node_set_m_f_1"]=asm["_emscripten_bind_Node_set_m_f_1"];var _emscripten_bind_Node_set_m_im_1=Module["_emscripten_bind_Node_set_m_im_1"]=asm["_emscripten_bind_Node_set_m_im_1"];var _emscripten_bind_Node_set_m_n_1=Module["_emscripten_bind_Node_set_m_n_1"]=asm["_emscripten_bind_Node_set_m_n_1"];var _emscripten_bind_Node_set_m_q_1=Module["_emscripten_bind_Node_set_m_q_1"]=asm["_emscripten_bind_Node_set_m_q_1"];var _emscripten_bind_Node_set_m_v_1=Module["_emscripten_bind_Node_set_m_v_1"]=asm["_emscripten_bind_Node_set_m_v_1"];var _emscripten_bind_Node_set_m_x_1=Module["_emscripten_bind_Node_set_m_x_1"]=asm["_emscripten_bind_Node_set_m_x_1"];var _emscripten_bind_RayResultCallback___destroy___0=Module["_emscripten_bind_RayResultCallback___destroy___0"]=asm["_emscripten_bind_RayResultCallback___destroy___0"];var _emscripten_bind_RayResultCallback_get_m_closestHitFraction_0=Module["_emscripten_bind_RayResultCallback_get_m_closestHitFraction_0"]=asm["_emscripten_bind_RayResultCallback_get_m_closestHitFraction_0"];var _emscripten_bind_RayResultCallback_get_m_collisionFilterGroup_0=Module["_emscripten_bind_RayResultCallback_get_m_collisionFilterGroup_0"]=asm["_emscripten_bind_RayResultCallback_get_m_collisionFilterGroup_0"];var _emscripten_bind_RayResultCallback_get_m_collisionFilterMask_0=Module["_emscripten_bind_RayResultCallback_get_m_collisionFilterMask_0"]=asm["_emscripten_bind_RayResultCallback_get_m_collisionFilterMask_0"];var _emscripten_bind_RayResultCallback_get_m_collisionObject_0=Module["_emscripten_bind_RayResultCallback_get_m_collisionObject_0"]=asm["_emscripten_bind_RayResultCallback_get_m_collisionObject_0"];var _emscripten_bind_RayResultCallback_hasHit_0=Module["_emscripten_bind_RayResultCallback_hasHit_0"]=asm["_emscripten_bind_RayResultCallback_hasHit_0"];var _emscripten_bind_RayResultCallback_set_m_closestHitFraction_1=Module["_emscripten_bind_RayResultCallback_set_m_closestHitFraction_1"]=asm["_emscripten_bind_RayResultCallback_set_m_closestHitFraction_1"];var _emscripten_bind_RayResultCallback_set_m_collisionFilterGroup_1=Module["_emscripten_bind_RayResultCallback_set_m_collisionFilterGroup_1"]=asm["_emscripten_bind_RayResultCallback_set_m_collisionFilterGroup_1"];var _emscripten_bind_RayResultCallback_set_m_collisionFilterMask_1=Module["_emscripten_bind_RayResultCallback_set_m_collisionFilterMask_1"]=asm["_emscripten_bind_RayResultCallback_set_m_collisionFilterMask_1"];var _emscripten_bind_RayResultCallback_set_m_collisionObject_1=Module["_emscripten_bind_RayResultCallback_set_m_collisionObject_1"]=asm["_emscripten_bind_RayResultCallback_set_m_collisionObject_1"];var _emscripten_bind_RaycastInfo___destroy___0=Module["_emscripten_bind_RaycastInfo___destroy___0"]=asm["_emscripten_bind_RaycastInfo___destroy___0"];var _emscripten_bind_RaycastInfo_get_m_contactNormalWS_0=Module["_emscripten_bind_RaycastInfo_get_m_contactNormalWS_0"]=asm["_emscripten_bind_RaycastInfo_get_m_contactNormalWS_0"];var _emscripten_bind_RaycastInfo_get_m_contactPointWS_0=Module["_emscripten_bind_RaycastInfo_get_m_contactPointWS_0"]=asm["_emscripten_bind_RaycastInfo_get_m_contactPointWS_0"];var _emscripten_bind_RaycastInfo_get_m_groundObject_0=Module["_emscripten_bind_RaycastInfo_get_m_groundObject_0"]=asm["_emscripten_bind_RaycastInfo_get_m_groundObject_0"];var _emscripten_bind_RaycastInfo_get_m_hardPointWS_0=Module["_emscripten_bind_RaycastInfo_get_m_hardPointWS_0"]=asm["_emscripten_bind_RaycastInfo_get_m_hardPointWS_0"];var _emscripten_bind_RaycastInfo_get_m_isInContact_0=Module["_emscripten_bind_RaycastInfo_get_m_isInContact_0"]=asm["_emscripten_bind_RaycastInfo_get_m_isInContact_0"];var _emscripten_bind_RaycastInfo_get_m_suspensionLength_0=Module["_emscripten_bind_RaycastInfo_get_m_suspensionLength_0"]=asm["_emscripten_bind_RaycastInfo_get_m_suspensionLength_0"];var _emscripten_bind_RaycastInfo_get_m_wheelAxleWS_0=Module["_emscripten_bind_RaycastInfo_get_m_wheelAxleWS_0"]=asm["_emscripten_bind_RaycastInfo_get_m_wheelAxleWS_0"];var _emscripten_bind_RaycastInfo_get_m_wheelDirectionWS_0=Module["_emscripten_bind_RaycastInfo_get_m_wheelDirectionWS_0"]=asm["_emscripten_bind_RaycastInfo_get_m_wheelDirectionWS_0"];var _emscripten_bind_RaycastInfo_set_m_contactNormalWS_1=Module["_emscripten_bind_RaycastInfo_set_m_contactNormalWS_1"]=asm["_emscripten_bind_RaycastInfo_set_m_contactNormalWS_1"];var _emscripten_bind_RaycastInfo_set_m_contactPointWS_1=Module["_emscripten_bind_RaycastInfo_set_m_contactPointWS_1"]=asm["_emscripten_bind_RaycastInfo_set_m_contactPointWS_1"];var _emscripten_bind_RaycastInfo_set_m_groundObject_1=Module["_emscripten_bind_RaycastInfo_set_m_groundObject_1"]=asm["_emscripten_bind_RaycastInfo_set_m_groundObject_1"];var _emscripten_bind_RaycastInfo_set_m_hardPointWS_1=Module["_emscripten_bind_RaycastInfo_set_m_hardPointWS_1"]=asm["_emscripten_bind_RaycastInfo_set_m_hardPointWS_1"];var _emscripten_bind_RaycastInfo_set_m_isInContact_1=Module["_emscripten_bind_RaycastInfo_set_m_isInContact_1"]=asm["_emscripten_bind_RaycastInfo_set_m_isInContact_1"];var _emscripten_bind_RaycastInfo_set_m_suspensionLength_1=Module["_emscripten_bind_RaycastInfo_set_m_suspensionLength_1"]=asm["_emscripten_bind_RaycastInfo_set_m_suspensionLength_1"];var _emscripten_bind_RaycastInfo_set_m_wheelAxleWS_1=Module["_emscripten_bind_RaycastInfo_set_m_wheelAxleWS_1"]=asm["_emscripten_bind_RaycastInfo_set_m_wheelAxleWS_1"];var _emscripten_bind_RaycastInfo_set_m_wheelDirectionWS_1=Module["_emscripten_bind_RaycastInfo_set_m_wheelDirectionWS_1"]=asm["_emscripten_bind_RaycastInfo_set_m_wheelDirectionWS_1"];var _emscripten_bind_VoidPtr___destroy___0=Module["_emscripten_bind_VoidPtr___destroy___0"]=asm["_emscripten_bind_VoidPtr___destroy___0"];var _emscripten_bind_btActionInterface___destroy___0=Module["_emscripten_bind_btActionInterface___destroy___0"]=asm["_emscripten_bind_btActionInterface___destroy___0"];var _emscripten_bind_btActionInterface_updateAction_2=Module["_emscripten_bind_btActionInterface_updateAction_2"]=asm["_emscripten_bind_btActionInterface_updateAction_2"];var _emscripten_bind_btAxisSweep3___destroy___0=Module["_emscripten_bind_btAxisSweep3___destroy___0"]=asm["_emscripten_bind_btAxisSweep3___destroy___0"];var _emscripten_bind_btAxisSweep3_btAxisSweep3_2=Module["_emscripten_bind_btAxisSweep3_btAxisSweep3_2"]=asm["_emscripten_bind_btAxisSweep3_btAxisSweep3_2"];var _emscripten_bind_btAxisSweep3_btAxisSweep3_3=Module["_emscripten_bind_btAxisSweep3_btAxisSweep3_3"]=asm["_emscripten_bind_btAxisSweep3_btAxisSweep3_3"];var _emscripten_bind_btAxisSweep3_btAxisSweep3_4=Module["_emscripten_bind_btAxisSweep3_btAxisSweep3_4"]=asm["_emscripten_bind_btAxisSweep3_btAxisSweep3_4"];var _emscripten_bind_btAxisSweep3_btAxisSweep3_5=Module["_emscripten_bind_btAxisSweep3_btAxisSweep3_5"]=asm["_emscripten_bind_btAxisSweep3_btAxisSweep3_5"];var _emscripten_bind_btBoxShape___destroy___0=Module["_emscripten_bind_btBoxShape___destroy___0"]=asm["_emscripten_bind_btBoxShape___destroy___0"];var _emscripten_bind_btBoxShape_btBoxShape_1=Module["_emscripten_bind_btBoxShape_btBoxShape_1"]=asm["_emscripten_bind_btBoxShape_btBoxShape_1"];var _emscripten_bind_btBoxShape_calculateLocalInertia_2=Module["_emscripten_bind_btBoxShape_calculateLocalInertia_2"]=asm["_emscripten_bind_btBoxShape_calculateLocalInertia_2"];var _emscripten_bind_btBoxShape_getLocalScaling_0=Module["_emscripten_bind_btBoxShape_getLocalScaling_0"]=asm["_emscripten_bind_btBoxShape_getLocalScaling_0"];var _emscripten_bind_btBoxShape_getMargin_0=Module["_emscripten_bind_btBoxShape_getMargin_0"]=asm["_emscripten_bind_btBoxShape_getMargin_0"];var _emscripten_bind_btBoxShape_getShapeType_0=Module["_emscripten_bind_btBoxShape_getShapeType_0"]=asm["_emscripten_bind_btBoxShape_getShapeType_0"];var _emscripten_bind_btBoxShape_setLocalScaling_1=Module["_emscripten_bind_btBoxShape_setLocalScaling_1"]=asm["_emscripten_bind_btBoxShape_setLocalScaling_1"];var _emscripten_bind_btBoxShape_setMargin_1=Module["_emscripten_bind_btBoxShape_setMargin_1"]=asm["_emscripten_bind_btBoxShape_setMargin_1"];var _emscripten_bind_btBroadphaseInterface___destroy___0=Module["_emscripten_bind_btBroadphaseInterface___destroy___0"]=asm["_emscripten_bind_btBroadphaseInterface___destroy___0"];var _emscripten_bind_btBroadphaseInterface_getOverlappingPairCache_0=Module["_emscripten_bind_btBroadphaseInterface_getOverlappingPairCache_0"]=asm["_emscripten_bind_btBroadphaseInterface_getOverlappingPairCache_0"];var _emscripten_bind_btBroadphaseProxy___destroy___0=Module["_emscripten_bind_btBroadphaseProxy___destroy___0"]=asm["_emscripten_bind_btBroadphaseProxy___destroy___0"];var _emscripten_bind_btBroadphaseProxy_get_m_collisionFilterGroup_0=Module["_emscripten_bind_btBroadphaseProxy_get_m_collisionFilterGroup_0"]=asm["_emscripten_bind_btBroadphaseProxy_get_m_collisionFilterGroup_0"];var _emscripten_bind_btBroadphaseProxy_get_m_collisionFilterMask_0=Module["_emscripten_bind_btBroadphaseProxy_get_m_collisionFilterMask_0"]=asm["_emscripten_bind_btBroadphaseProxy_get_m_collisionFilterMask_0"];var _emscripten_bind_btBroadphaseProxy_set_m_collisionFilterGroup_1=Module["_emscripten_bind_btBroadphaseProxy_set_m_collisionFilterGroup_1"]=asm["_emscripten_bind_btBroadphaseProxy_set_m_collisionFilterGroup_1"];var _emscripten_bind_btBroadphaseProxy_set_m_collisionFilterMask_1=Module["_emscripten_bind_btBroadphaseProxy_set_m_collisionFilterMask_1"]=asm["_emscripten_bind_btBroadphaseProxy_set_m_collisionFilterMask_1"];var _emscripten_bind_btBvhTriangleMeshShape___destroy___0=Module["_emscripten_bind_btBvhTriangleMeshShape___destroy___0"]=asm["_emscripten_bind_btBvhTriangleMeshShape___destroy___0"];var _emscripten_bind_btBvhTriangleMeshShape_btBvhTriangleMeshShape_2=Module["_emscripten_bind_btBvhTriangleMeshShape_btBvhTriangleMeshShape_2"]=asm["_emscripten_bind_btBvhTriangleMeshShape_btBvhTriangleMeshShape_2"];var _emscripten_bind_btBvhTriangleMeshShape_btBvhTriangleMeshShape_3=Module["_emscripten_bind_btBvhTriangleMeshShape_btBvhTriangleMeshShape_3"]=asm["_emscripten_bind_btBvhTriangleMeshShape_btBvhTriangleMeshShape_3"];var _emscripten_bind_btBvhTriangleMeshShape_calculateLocalInertia_2=Module["_emscripten_bind_btBvhTriangleMeshShape_calculateLocalInertia_2"]=asm["_emscripten_bind_btBvhTriangleMeshShape_calculateLocalInertia_2"];var _emscripten_bind_btBvhTriangleMeshShape_getLocalScaling_0=Module["_emscripten_bind_btBvhTriangleMeshShape_getLocalScaling_0"]=asm["_emscripten_bind_btBvhTriangleMeshShape_getLocalScaling_0"];var _emscripten_bind_btBvhTriangleMeshShape_getShapeType_0=Module["_emscripten_bind_btBvhTriangleMeshShape_getShapeType_0"]=asm["_emscripten_bind_btBvhTriangleMeshShape_getShapeType_0"];var _emscripten_bind_btBvhTriangleMeshShape_setLocalScaling_1=Module["_emscripten_bind_btBvhTriangleMeshShape_setLocalScaling_1"]=asm["_emscripten_bind_btBvhTriangleMeshShape_setLocalScaling_1"];var _emscripten_bind_btCapsuleShapeX___destroy___0=Module["_emscripten_bind_btCapsuleShapeX___destroy___0"]=asm["_emscripten_bind_btCapsuleShapeX___destroy___0"];var _emscripten_bind_btCapsuleShapeX_btCapsuleShapeX_2=Module["_emscripten_bind_btCapsuleShapeX_btCapsuleShapeX_2"]=asm["_emscripten_bind_btCapsuleShapeX_btCapsuleShapeX_2"];var _emscripten_bind_btCapsuleShapeX_calculateLocalInertia_2=Module["_emscripten_bind_btCapsuleShapeX_calculateLocalInertia_2"]=asm["_emscripten_bind_btCapsuleShapeX_calculateLocalInertia_2"];var _emscripten_bind_btCapsuleShapeX_getHalfHeight_0=Module["_emscripten_bind_btCapsuleShapeX_getHalfHeight_0"]=asm["_emscripten_bind_btCapsuleShapeX_getHalfHeight_0"];var _emscripten_bind_btCapsuleShapeX_getLocalScaling_0=Module["_emscripten_bind_btCapsuleShapeX_getLocalScaling_0"]=asm["_emscripten_bind_btCapsuleShapeX_getLocalScaling_0"];var _emscripten_bind_btCapsuleShapeX_getMargin_0=Module["_emscripten_bind_btCapsuleShapeX_getMargin_0"]=asm["_emscripten_bind_btCapsuleShapeX_getMargin_0"];var _emscripten_bind_btCapsuleShapeX_getRadius_0=Module["_emscripten_bind_btCapsuleShapeX_getRadius_0"]=asm["_emscripten_bind_btCapsuleShapeX_getRadius_0"];var _emscripten_bind_btCapsuleShapeX_getShapeType_0=Module["_emscripten_bind_btCapsuleShapeX_getShapeType_0"]=asm["_emscripten_bind_btCapsuleShapeX_getShapeType_0"];var _emscripten_bind_btCapsuleShapeX_getUpAxis_0=Module["_emscripten_bind_btCapsuleShapeX_getUpAxis_0"]=asm["_emscripten_bind_btCapsuleShapeX_getUpAxis_0"];var _emscripten_bind_btCapsuleShapeX_setLocalScaling_1=Module["_emscripten_bind_btCapsuleShapeX_setLocalScaling_1"]=asm["_emscripten_bind_btCapsuleShapeX_setLocalScaling_1"];var _emscripten_bind_btCapsuleShapeX_setMargin_1=Module["_emscripten_bind_btCapsuleShapeX_setMargin_1"]=asm["_emscripten_bind_btCapsuleShapeX_setMargin_1"];var _emscripten_bind_btCapsuleShapeZ___destroy___0=Module["_emscripten_bind_btCapsuleShapeZ___destroy___0"]=asm["_emscripten_bind_btCapsuleShapeZ___destroy___0"];var _emscripten_bind_btCapsuleShapeZ_btCapsuleShapeZ_2=Module["_emscripten_bind_btCapsuleShapeZ_btCapsuleShapeZ_2"]=asm["_emscripten_bind_btCapsuleShapeZ_btCapsuleShapeZ_2"];var _emscripten_bind_btCapsuleShapeZ_calculateLocalInertia_2=Module["_emscripten_bind_btCapsuleShapeZ_calculateLocalInertia_2"]=asm["_emscripten_bind_btCapsuleShapeZ_calculateLocalInertia_2"];var _emscripten_bind_btCapsuleShapeZ_getHalfHeight_0=Module["_emscripten_bind_btCapsuleShapeZ_getHalfHeight_0"]=asm["_emscripten_bind_btCapsuleShapeZ_getHalfHeight_0"];var _emscripten_bind_btCapsuleShapeZ_getLocalScaling_0=Module["_emscripten_bind_btCapsuleShapeZ_getLocalScaling_0"]=asm["_emscripten_bind_btCapsuleShapeZ_getLocalScaling_0"];var _emscripten_bind_btCapsuleShapeZ_getMargin_0=Module["_emscripten_bind_btCapsuleShapeZ_getMargin_0"]=asm["_emscripten_bind_btCapsuleShapeZ_getMargin_0"];var _emscripten_bind_btCapsuleShapeZ_getRadius_0=Module["_emscripten_bind_btCapsuleShapeZ_getRadius_0"]=asm["_emscripten_bind_btCapsuleShapeZ_getRadius_0"];var _emscripten_bind_btCapsuleShapeZ_getShapeType_0=Module["_emscripten_bind_btCapsuleShapeZ_getShapeType_0"]=asm["_emscripten_bind_btCapsuleShapeZ_getShapeType_0"];var _emscripten_bind_btCapsuleShapeZ_getUpAxis_0=Module["_emscripten_bind_btCapsuleShapeZ_getUpAxis_0"]=asm["_emscripten_bind_btCapsuleShapeZ_getUpAxis_0"];var _emscripten_bind_btCapsuleShapeZ_setLocalScaling_1=Module["_emscripten_bind_btCapsuleShapeZ_setLocalScaling_1"]=asm["_emscripten_bind_btCapsuleShapeZ_setLocalScaling_1"];var _emscripten_bind_btCapsuleShapeZ_setMargin_1=Module["_emscripten_bind_btCapsuleShapeZ_setMargin_1"]=asm["_emscripten_bind_btCapsuleShapeZ_setMargin_1"];var _emscripten_bind_btCapsuleShape___destroy___0=Module["_emscripten_bind_btCapsuleShape___destroy___0"]=asm["_emscripten_bind_btCapsuleShape___destroy___0"];var _emscripten_bind_btCapsuleShape_btCapsuleShape_2=Module["_emscripten_bind_btCapsuleShape_btCapsuleShape_2"]=asm["_emscripten_bind_btCapsuleShape_btCapsuleShape_2"];var _emscripten_bind_btCapsuleShape_calculateLocalInertia_2=Module["_emscripten_bind_btCapsuleShape_calculateLocalInertia_2"]=asm["_emscripten_bind_btCapsuleShape_calculateLocalInertia_2"];var _emscripten_bind_btCapsuleShape_getHalfHeight_0=Module["_emscripten_bind_btCapsuleShape_getHalfHeight_0"]=asm["_emscripten_bind_btCapsuleShape_getHalfHeight_0"];var _emscripten_bind_btCapsuleShape_getLocalScaling_0=Module["_emscripten_bind_btCapsuleShape_getLocalScaling_0"]=asm["_emscripten_bind_btCapsuleShape_getLocalScaling_0"];var _emscripten_bind_btCapsuleShape_getMargin_0=Module["_emscripten_bind_btCapsuleShape_getMargin_0"]=asm["_emscripten_bind_btCapsuleShape_getMargin_0"];var _emscripten_bind_btCapsuleShape_getRadius_0=Module["_emscripten_bind_btCapsuleShape_getRadius_0"]=asm["_emscripten_bind_btCapsuleShape_getRadius_0"];var _emscripten_bind_btCapsuleShape_getShapeType_0=Module["_emscripten_bind_btCapsuleShape_getShapeType_0"]=asm["_emscripten_bind_btCapsuleShape_getShapeType_0"];var _emscripten_bind_btCapsuleShape_getUpAxis_0=Module["_emscripten_bind_btCapsuleShape_getUpAxis_0"]=asm["_emscripten_bind_btCapsuleShape_getUpAxis_0"];var _emscripten_bind_btCapsuleShape_setLocalScaling_1=Module["_emscripten_bind_btCapsuleShape_setLocalScaling_1"]=asm["_emscripten_bind_btCapsuleShape_setLocalScaling_1"];var _emscripten_bind_btCapsuleShape_setMargin_1=Module["_emscripten_bind_btCapsuleShape_setMargin_1"]=asm["_emscripten_bind_btCapsuleShape_setMargin_1"];var _emscripten_bind_btCollisionConfiguration___destroy___0=Module["_emscripten_bind_btCollisionConfiguration___destroy___0"]=asm["_emscripten_bind_btCollisionConfiguration___destroy___0"];var _emscripten_bind_btCollisionDispatcher___destroy___0=Module["_emscripten_bind_btCollisionDispatcher___destroy___0"]=asm["_emscripten_bind_btCollisionDispatcher___destroy___0"];var _emscripten_bind_btCollisionDispatcher_btCollisionDispatcher_1=Module["_emscripten_bind_btCollisionDispatcher_btCollisionDispatcher_1"]=asm["_emscripten_bind_btCollisionDispatcher_btCollisionDispatcher_1"];var _emscripten_bind_btCollisionDispatcher_getManifoldByIndexInternal_1=Module["_emscripten_bind_btCollisionDispatcher_getManifoldByIndexInternal_1"]=asm["_emscripten_bind_btCollisionDispatcher_getManifoldByIndexInternal_1"];var _emscripten_bind_btCollisionDispatcher_getNumManifolds_0=Module["_emscripten_bind_btCollisionDispatcher_getNumManifolds_0"]=asm["_emscripten_bind_btCollisionDispatcher_getNumManifolds_0"];var _emscripten_bind_btCollisionObjectWrapper_getCollisionObject_0=Module["_emscripten_bind_btCollisionObjectWrapper_getCollisionObject_0"]=asm["_emscripten_bind_btCollisionObjectWrapper_getCollisionObject_0"];var _emscripten_bind_btCollisionObjectWrapper_getCollisionShape_0=Module["_emscripten_bind_btCollisionObjectWrapper_getCollisionShape_0"]=asm["_emscripten_bind_btCollisionObjectWrapper_getCollisionShape_0"];var _emscripten_bind_btCollisionObjectWrapper_getWorldTransform_0=Module["_emscripten_bind_btCollisionObjectWrapper_getWorldTransform_0"]=asm["_emscripten_bind_btCollisionObjectWrapper_getWorldTransform_0"];var _emscripten_bind_btCollisionObject___destroy___0=Module["_emscripten_bind_btCollisionObject___destroy___0"]=asm["_emscripten_bind_btCollisionObject___destroy___0"];var _emscripten_bind_btCollisionObject_activate_0=Module["_emscripten_bind_btCollisionObject_activate_0"]=asm["_emscripten_bind_btCollisionObject_activate_0"];var _emscripten_bind_btCollisionObject_activate_1=Module["_emscripten_bind_btCollisionObject_activate_1"]=asm["_emscripten_bind_btCollisionObject_activate_1"];var _emscripten_bind_btCollisionObject_forceActivationState_1=Module["_emscripten_bind_btCollisionObject_forceActivationState_1"]=asm["_emscripten_bind_btCollisionObject_forceActivationState_1"];var _emscripten_bind_btCollisionObject_getBroadphaseHandle_0=Module["_emscripten_bind_btCollisionObject_getBroadphaseHandle_0"]=asm["_emscripten_bind_btCollisionObject_getBroadphaseHandle_0"];var _emscripten_bind_btCollisionObject_getCollisionFlags_0=Module["_emscripten_bind_btCollisionObject_getCollisionFlags_0"]=asm["_emscripten_bind_btCollisionObject_getCollisionFlags_0"];var _emscripten_bind_btCollisionObject_getCollisionShape_0=Module["_emscripten_bind_btCollisionObject_getCollisionShape_0"]=asm["_emscripten_bind_btCollisionObject_getCollisionShape_0"];var _emscripten_bind_btCollisionObject_getFriction_0=Module["_emscripten_bind_btCollisionObject_getFriction_0"]=asm["_emscripten_bind_btCollisionObject_getFriction_0"];var _emscripten_bind_btCollisionObject_getRestitution_0=Module["_emscripten_bind_btCollisionObject_getRestitution_0"]=asm["_emscripten_bind_btCollisionObject_getRestitution_0"];var _emscripten_bind_btCollisionObject_getRollingFriction_0=Module["_emscripten_bind_btCollisionObject_getRollingFriction_0"]=asm["_emscripten_bind_btCollisionObject_getRollingFriction_0"];var _emscripten_bind_btCollisionObject_getUserIndex_0=Module["_emscripten_bind_btCollisionObject_getUserIndex_0"]=asm["_emscripten_bind_btCollisionObject_getUserIndex_0"];var _emscripten_bind_btCollisionObject_getUserPointer_0=Module["_emscripten_bind_btCollisionObject_getUserPointer_0"]=asm["_emscripten_bind_btCollisionObject_getUserPointer_0"];var _emscripten_bind_btCollisionObject_getWorldTransform_0=Module["_emscripten_bind_btCollisionObject_getWorldTransform_0"]=asm["_emscripten_bind_btCollisionObject_getWorldTransform_0"];var _emscripten_bind_btCollisionObject_isActive_0=Module["_emscripten_bind_btCollisionObject_isActive_0"]=asm["_emscripten_bind_btCollisionObject_isActive_0"];var _emscripten_bind_btCollisionObject_isKinematicObject_0=Module["_emscripten_bind_btCollisionObject_isKinematicObject_0"]=asm["_emscripten_bind_btCollisionObject_isKinematicObject_0"];var _emscripten_bind_btCollisionObject_isStaticObject_0=Module["_emscripten_bind_btCollisionObject_isStaticObject_0"]=asm["_emscripten_bind_btCollisionObject_isStaticObject_0"];var _emscripten_bind_btCollisionObject_isStaticOrKinematicObject_0=Module["_emscripten_bind_btCollisionObject_isStaticOrKinematicObject_0"]=asm["_emscripten_bind_btCollisionObject_isStaticOrKinematicObject_0"];var _emscripten_bind_btCollisionObject_setActivationState_1=Module["_emscripten_bind_btCollisionObject_setActivationState_1"]=asm["_emscripten_bind_btCollisionObject_setActivationState_1"];var _emscripten_bind_btCollisionObject_setAnisotropicFriction_2=Module["_emscripten_bind_btCollisionObject_setAnisotropicFriction_2"]=asm["_emscripten_bind_btCollisionObject_setAnisotropicFriction_2"];var _emscripten_bind_btCollisionObject_setCcdMotionThreshold_1=Module["_emscripten_bind_btCollisionObject_setCcdMotionThreshold_1"]=asm["_emscripten_bind_btCollisionObject_setCcdMotionThreshold_1"];var _emscripten_bind_btCollisionObject_setCcdSweptSphereRadius_1=Module["_emscripten_bind_btCollisionObject_setCcdSweptSphereRadius_1"]=asm["_emscripten_bind_btCollisionObject_setCcdSweptSphereRadius_1"];var _emscripten_bind_btCollisionObject_setCollisionFlags_1=Module["_emscripten_bind_btCollisionObject_setCollisionFlags_1"]=asm["_emscripten_bind_btCollisionObject_setCollisionFlags_1"];var _emscripten_bind_btCollisionObject_setCollisionShape_1=Module["_emscripten_bind_btCollisionObject_setCollisionShape_1"]=asm["_emscripten_bind_btCollisionObject_setCollisionShape_1"];var _emscripten_bind_btCollisionObject_setContactProcessingThreshold_1=Module["_emscripten_bind_btCollisionObject_setContactProcessingThreshold_1"]=asm["_emscripten_bind_btCollisionObject_setContactProcessingThreshold_1"];var _emscripten_bind_btCollisionObject_setFriction_1=Module["_emscripten_bind_btCollisionObject_setFriction_1"]=asm["_emscripten_bind_btCollisionObject_setFriction_1"];var _emscripten_bind_btCollisionObject_setRestitution_1=Module["_emscripten_bind_btCollisionObject_setRestitution_1"]=asm["_emscripten_bind_btCollisionObject_setRestitution_1"];var _emscripten_bind_btCollisionObject_setRollingFriction_1=Module["_emscripten_bind_btCollisionObject_setRollingFriction_1"]=asm["_emscripten_bind_btCollisionObject_setRollingFriction_1"];var _emscripten_bind_btCollisionObject_setUserIndex_1=Module["_emscripten_bind_btCollisionObject_setUserIndex_1"]=asm["_emscripten_bind_btCollisionObject_setUserIndex_1"];var _emscripten_bind_btCollisionObject_setUserPointer_1=Module["_emscripten_bind_btCollisionObject_setUserPointer_1"]=asm["_emscripten_bind_btCollisionObject_setUserPointer_1"];var _emscripten_bind_btCollisionObject_setWorldTransform_1=Module["_emscripten_bind_btCollisionObject_setWorldTransform_1"]=asm["_emscripten_bind_btCollisionObject_setWorldTransform_1"];var _emscripten_bind_btCollisionShape___destroy___0=Module["_emscripten_bind_btCollisionShape___destroy___0"]=asm["_emscripten_bind_btCollisionShape___destroy___0"];var _emscripten_bind_btCollisionShape_calculateLocalInertia_2=Module["_emscripten_bind_btCollisionShape_calculateLocalInertia_2"]=asm["_emscripten_bind_btCollisionShape_calculateLocalInertia_2"];var _emscripten_bind_btCollisionShape_getLocalScaling_0=Module["_emscripten_bind_btCollisionShape_getLocalScaling_0"]=asm["_emscripten_bind_btCollisionShape_getLocalScaling_0"];var _emscripten_bind_btCollisionShape_getMargin_0=Module["_emscripten_bind_btCollisionShape_getMargin_0"]=asm["_emscripten_bind_btCollisionShape_getMargin_0"];var _emscripten_bind_btCollisionShape_getShapeType_0=Module["_emscripten_bind_btCollisionShape_getShapeType_0"]=asm["_emscripten_bind_btCollisionShape_getShapeType_0"];var _emscripten_bind_btCollisionShape_setLocalScaling_1=Module["_emscripten_bind_btCollisionShape_setLocalScaling_1"]=asm["_emscripten_bind_btCollisionShape_setLocalScaling_1"];var _emscripten_bind_btCollisionShape_setMargin_1=Module["_emscripten_bind_btCollisionShape_setMargin_1"]=asm["_emscripten_bind_btCollisionShape_setMargin_1"];var _emscripten_bind_btCollisionWorld___destroy___0=Module["_emscripten_bind_btCollisionWorld___destroy___0"]=asm["_emscripten_bind_btCollisionWorld___destroy___0"];var _emscripten_bind_btCollisionWorld_addCollisionObject_1=Module["_emscripten_bind_btCollisionWorld_addCollisionObject_1"]=asm["_emscripten_bind_btCollisionWorld_addCollisionObject_1"];var _emscripten_bind_btCollisionWorld_addCollisionObject_2=Module["_emscripten_bind_btCollisionWorld_addCollisionObject_2"]=asm["_emscripten_bind_btCollisionWorld_addCollisionObject_2"];var _emscripten_bind_btCollisionWorld_addCollisionObject_3=Module["_emscripten_bind_btCollisionWorld_addCollisionObject_3"]=asm["_emscripten_bind_btCollisionWorld_addCollisionObject_3"];var _emscripten_bind_btCollisionWorld_contactPairTest_3=Module["_emscripten_bind_btCollisionWorld_contactPairTest_3"]=asm["_emscripten_bind_btCollisionWorld_contactPairTest_3"];var _emscripten_bind_btCollisionWorld_contactTest_2=Module["_emscripten_bind_btCollisionWorld_contactTest_2"]=asm["_emscripten_bind_btCollisionWorld_contactTest_2"];var _emscripten_bind_btCollisionWorld_convexSweepTest_5=Module["_emscripten_bind_btCollisionWorld_convexSweepTest_5"]=asm["_emscripten_bind_btCollisionWorld_convexSweepTest_5"];var _emscripten_bind_btCollisionWorld_debugDrawObject_3=Module["_emscripten_bind_btCollisionWorld_debugDrawObject_3"]=asm["_emscripten_bind_btCollisionWorld_debugDrawObject_3"];var _emscripten_bind_btCollisionWorld_debugDrawWorld_0=Module["_emscripten_bind_btCollisionWorld_debugDrawWorld_0"]=asm["_emscripten_bind_btCollisionWorld_debugDrawWorld_0"];var _emscripten_bind_btCollisionWorld_getBroadphase_0=Module["_emscripten_bind_btCollisionWorld_getBroadphase_0"]=asm["_emscripten_bind_btCollisionWorld_getBroadphase_0"];var _emscripten_bind_btCollisionWorld_getDebugDrawer_0=Module["_emscripten_bind_btCollisionWorld_getDebugDrawer_0"]=asm["_emscripten_bind_btCollisionWorld_getDebugDrawer_0"];var _emscripten_bind_btCollisionWorld_getDispatchInfo_0=Module["_emscripten_bind_btCollisionWorld_getDispatchInfo_0"]=asm["_emscripten_bind_btCollisionWorld_getDispatchInfo_0"];var _emscripten_bind_btCollisionWorld_getDispatcher_0=Module["_emscripten_bind_btCollisionWorld_getDispatcher_0"]=asm["_emscripten_bind_btCollisionWorld_getDispatcher_0"];var _emscripten_bind_btCollisionWorld_getPairCache_0=Module["_emscripten_bind_btCollisionWorld_getPairCache_0"]=asm["_emscripten_bind_btCollisionWorld_getPairCache_0"];var _emscripten_bind_btCollisionWorld_rayTest_3=Module["_emscripten_bind_btCollisionWorld_rayTest_3"]=asm["_emscripten_bind_btCollisionWorld_rayTest_3"];var _emscripten_bind_btCollisionWorld_removeCollisionObject_1=Module["_emscripten_bind_btCollisionWorld_removeCollisionObject_1"]=asm["_emscripten_bind_btCollisionWorld_removeCollisionObject_1"];var _emscripten_bind_btCollisionWorld_setDebugDrawer_1=Module["_emscripten_bind_btCollisionWorld_setDebugDrawer_1"]=asm["_emscripten_bind_btCollisionWorld_setDebugDrawer_1"];var _emscripten_bind_btCollisionWorld_updateSingleAabb_1=Module["_emscripten_bind_btCollisionWorld_updateSingleAabb_1"]=asm["_emscripten_bind_btCollisionWorld_updateSingleAabb_1"];var _emscripten_bind_btCompoundShape___destroy___0=Module["_emscripten_bind_btCompoundShape___destroy___0"]=asm["_emscripten_bind_btCompoundShape___destroy___0"];var _emscripten_bind_btCompoundShape_addChildShape_2=Module["_emscripten_bind_btCompoundShape_addChildShape_2"]=asm["_emscripten_bind_btCompoundShape_addChildShape_2"];var _emscripten_bind_btCompoundShape_btCompoundShape_0=Module["_emscripten_bind_btCompoundShape_btCompoundShape_0"]=asm["_emscripten_bind_btCompoundShape_btCompoundShape_0"];var _emscripten_bind_btCompoundShape_btCompoundShape_1=Module["_emscripten_bind_btCompoundShape_btCompoundShape_1"]=asm["_emscripten_bind_btCompoundShape_btCompoundShape_1"];var _emscripten_bind_btCompoundShape_calculateLocalInertia_2=Module["_emscripten_bind_btCompoundShape_calculateLocalInertia_2"]=asm["_emscripten_bind_btCompoundShape_calculateLocalInertia_2"];var _emscripten_bind_btCompoundShape_getChildShape_1=Module["_emscripten_bind_btCompoundShape_getChildShape_1"]=asm["_emscripten_bind_btCompoundShape_getChildShape_1"];var _emscripten_bind_btCompoundShape_getLocalScaling_0=Module["_emscripten_bind_btCompoundShape_getLocalScaling_0"]=asm["_emscripten_bind_btCompoundShape_getLocalScaling_0"];var _emscripten_bind_btCompoundShape_getMargin_0=Module["_emscripten_bind_btCompoundShape_getMargin_0"]=asm["_emscripten_bind_btCompoundShape_getMargin_0"];var _emscripten_bind_btCompoundShape_getNumChildShapes_0=Module["_emscripten_bind_btCompoundShape_getNumChildShapes_0"]=asm["_emscripten_bind_btCompoundShape_getNumChildShapes_0"];var _emscripten_bind_btCompoundShape_getShapeType_0=Module["_emscripten_bind_btCompoundShape_getShapeType_0"]=asm["_emscripten_bind_btCompoundShape_getShapeType_0"];var _emscripten_bind_btCompoundShape_removeChildShapeByIndex_1=Module["_emscripten_bind_btCompoundShape_removeChildShapeByIndex_1"]=asm["_emscripten_bind_btCompoundShape_removeChildShapeByIndex_1"];var _emscripten_bind_btCompoundShape_removeChildShape_1=Module["_emscripten_bind_btCompoundShape_removeChildShape_1"]=asm["_emscripten_bind_btCompoundShape_removeChildShape_1"];var _emscripten_bind_btCompoundShape_setLocalScaling_1=Module["_emscripten_bind_btCompoundShape_setLocalScaling_1"]=asm["_emscripten_bind_btCompoundShape_setLocalScaling_1"];var _emscripten_bind_btCompoundShape_setMargin_1=Module["_emscripten_bind_btCompoundShape_setMargin_1"]=asm["_emscripten_bind_btCompoundShape_setMargin_1"];var _emscripten_bind_btCompoundShape_updateChildTransform_2=Module["_emscripten_bind_btCompoundShape_updateChildTransform_2"]=asm["_emscripten_bind_btCompoundShape_updateChildTransform_2"];var _emscripten_bind_btCompoundShape_updateChildTransform_3=Module["_emscripten_bind_btCompoundShape_updateChildTransform_3"]=asm["_emscripten_bind_btCompoundShape_updateChildTransform_3"];var _emscripten_bind_btConcaveShape___destroy___0=Module["_emscripten_bind_btConcaveShape___destroy___0"]=asm["_emscripten_bind_btConcaveShape___destroy___0"];var _emscripten_bind_btConcaveShape_calculateLocalInertia_2=Module["_emscripten_bind_btConcaveShape_calculateLocalInertia_2"]=asm["_emscripten_bind_btConcaveShape_calculateLocalInertia_2"];var _emscripten_bind_btConcaveShape_getLocalScaling_0=Module["_emscripten_bind_btConcaveShape_getLocalScaling_0"]=asm["_emscripten_bind_btConcaveShape_getLocalScaling_0"];var _emscripten_bind_btConcaveShape_getShapeType_0=Module["_emscripten_bind_btConcaveShape_getShapeType_0"]=asm["_emscripten_bind_btConcaveShape_getShapeType_0"];var _emscripten_bind_btConcaveShape_setLocalScaling_1=Module["_emscripten_bind_btConcaveShape_setLocalScaling_1"]=asm["_emscripten_bind_btConcaveShape_setLocalScaling_1"];var _emscripten_bind_btConeShapeX___destroy___0=Module["_emscripten_bind_btConeShapeX___destroy___0"]=asm["_emscripten_bind_btConeShapeX___destroy___0"];var _emscripten_bind_btConeShapeX_btConeShapeX_2=Module["_emscripten_bind_btConeShapeX_btConeShapeX_2"]=asm["_emscripten_bind_btConeShapeX_btConeShapeX_2"];var _emscripten_bind_btConeShapeX_calculateLocalInertia_2=Module["_emscripten_bind_btConeShapeX_calculateLocalInertia_2"]=asm["_emscripten_bind_btConeShapeX_calculateLocalInertia_2"];var _emscripten_bind_btConeShapeX_getLocalScaling_0=Module["_emscripten_bind_btConeShapeX_getLocalScaling_0"]=asm["_emscripten_bind_btConeShapeX_getLocalScaling_0"];var _emscripten_bind_btConeShapeX_getShapeType_0=Module["_emscripten_bind_btConeShapeX_getShapeType_0"]=asm["_emscripten_bind_btConeShapeX_getShapeType_0"];var _emscripten_bind_btConeShapeX_setLocalScaling_1=Module["_emscripten_bind_btConeShapeX_setLocalScaling_1"]=asm["_emscripten_bind_btConeShapeX_setLocalScaling_1"];var _emscripten_bind_btConeShapeZ___destroy___0=Module["_emscripten_bind_btConeShapeZ___destroy___0"]=asm["_emscripten_bind_btConeShapeZ___destroy___0"];var _emscripten_bind_btConeShapeZ_btConeShapeZ_2=Module["_emscripten_bind_btConeShapeZ_btConeShapeZ_2"]=asm["_emscripten_bind_btConeShapeZ_btConeShapeZ_2"];var _emscripten_bind_btConeShapeZ_calculateLocalInertia_2=Module["_emscripten_bind_btConeShapeZ_calculateLocalInertia_2"]=asm["_emscripten_bind_btConeShapeZ_calculateLocalInertia_2"];var _emscripten_bind_btConeShapeZ_getLocalScaling_0=Module["_emscripten_bind_btConeShapeZ_getLocalScaling_0"]=asm["_emscripten_bind_btConeShapeZ_getLocalScaling_0"];var _emscripten_bind_btConeShapeZ_getShapeType_0=Module["_emscripten_bind_btConeShapeZ_getShapeType_0"]=asm["_emscripten_bind_btConeShapeZ_getShapeType_0"];var _emscripten_bind_btConeShapeZ_setLocalScaling_1=Module["_emscripten_bind_btConeShapeZ_setLocalScaling_1"]=asm["_emscripten_bind_btConeShapeZ_setLocalScaling_1"];var _emscripten_bind_btConeShape___destroy___0=Module["_emscripten_bind_btConeShape___destroy___0"]=asm["_emscripten_bind_btConeShape___destroy___0"];var _emscripten_bind_btConeShape_btConeShape_2=Module["_emscripten_bind_btConeShape_btConeShape_2"]=asm["_emscripten_bind_btConeShape_btConeShape_2"];var _emscripten_bind_btConeShape_calculateLocalInertia_2=Module["_emscripten_bind_btConeShape_calculateLocalInertia_2"]=asm["_emscripten_bind_btConeShape_calculateLocalInertia_2"];var _emscripten_bind_btConeShape_getLocalScaling_0=Module["_emscripten_bind_btConeShape_getLocalScaling_0"]=asm["_emscripten_bind_btConeShape_getLocalScaling_0"];var _emscripten_bind_btConeShape_getShapeType_0=Module["_emscripten_bind_btConeShape_getShapeType_0"]=asm["_emscripten_bind_btConeShape_getShapeType_0"];var _emscripten_bind_btConeShape_setLocalScaling_1=Module["_emscripten_bind_btConeShape_setLocalScaling_1"]=asm["_emscripten_bind_btConeShape_setLocalScaling_1"];var _emscripten_bind_btConeTwistConstraint___destroy___0=Module["_emscripten_bind_btConeTwistConstraint___destroy___0"]=asm["_emscripten_bind_btConeTwistConstraint___destroy___0"];var _emscripten_bind_btConeTwistConstraint_btConeTwistConstraint_2=Module["_emscripten_bind_btConeTwistConstraint_btConeTwistConstraint_2"]=asm["_emscripten_bind_btConeTwistConstraint_btConeTwistConstraint_2"];var _emscripten_bind_btConeTwistConstraint_btConeTwistConstraint_4=Module["_emscripten_bind_btConeTwistConstraint_btConeTwistConstraint_4"]=asm["_emscripten_bind_btConeTwistConstraint_btConeTwistConstraint_4"];var _emscripten_bind_btConeTwistConstraint_enableFeedback_1=Module["_emscripten_bind_btConeTwistConstraint_enableFeedback_1"]=asm["_emscripten_bind_btConeTwistConstraint_enableFeedback_1"];var _emscripten_bind_btConeTwistConstraint_enableMotor_1=Module["_emscripten_bind_btConeTwistConstraint_enableMotor_1"]=asm["_emscripten_bind_btConeTwistConstraint_enableMotor_1"];var _emscripten_bind_btConeTwistConstraint_getBreakingImpulseThreshold_0=Module["_emscripten_bind_btConeTwistConstraint_getBreakingImpulseThreshold_0"]=asm["_emscripten_bind_btConeTwistConstraint_getBreakingImpulseThreshold_0"];var _emscripten_bind_btConeTwistConstraint_getParam_2=Module["_emscripten_bind_btConeTwistConstraint_getParam_2"]=asm["_emscripten_bind_btConeTwistConstraint_getParam_2"];var _emscripten_bind_btConeTwistConstraint_setAngularOnly_1=Module["_emscripten_bind_btConeTwistConstraint_setAngularOnly_1"]=asm["_emscripten_bind_btConeTwistConstraint_setAngularOnly_1"];var _emscripten_bind_btConeTwistConstraint_setBreakingImpulseThreshold_1=Module["_emscripten_bind_btConeTwistConstraint_setBreakingImpulseThreshold_1"]=asm["_emscripten_bind_btConeTwistConstraint_setBreakingImpulseThreshold_1"];var _emscripten_bind_btConeTwistConstraint_setDamping_1=Module["_emscripten_bind_btConeTwistConstraint_setDamping_1"]=asm["_emscripten_bind_btConeTwistConstraint_setDamping_1"];var _emscripten_bind_btConeTwistConstraint_setLimit_2=Module["_emscripten_bind_btConeTwistConstraint_setLimit_2"]=asm["_emscripten_bind_btConeTwistConstraint_setLimit_2"];var _emscripten_bind_btConeTwistConstraint_setMaxMotorImpulseNormalized_1=Module["_emscripten_bind_btConeTwistConstraint_setMaxMotorImpulseNormalized_1"]=asm["_emscripten_bind_btConeTwistConstraint_setMaxMotorImpulseNormalized_1"];var _emscripten_bind_btConeTwistConstraint_setMaxMotorImpulse_1=Module["_emscripten_bind_btConeTwistConstraint_setMaxMotorImpulse_1"]=asm["_emscripten_bind_btConeTwistConstraint_setMaxMotorImpulse_1"];var _emscripten_bind_btConeTwistConstraint_setMotorTargetInConstraintSpace_1=Module["_emscripten_bind_btConeTwistConstraint_setMotorTargetInConstraintSpace_1"]=asm["_emscripten_bind_btConeTwistConstraint_setMotorTargetInConstraintSpace_1"];var _emscripten_bind_btConeTwistConstraint_setMotorTarget_1=Module["_emscripten_bind_btConeTwistConstraint_setMotorTarget_1"]=asm["_emscripten_bind_btConeTwistConstraint_setMotorTarget_1"];var _emscripten_bind_btConeTwistConstraint_setParam_3=Module["_emscripten_bind_btConeTwistConstraint_setParam_3"]=asm["_emscripten_bind_btConeTwistConstraint_setParam_3"];var _emscripten_bind_btConstCollisionObjectArray___destroy___0=Module["_emscripten_bind_btConstCollisionObjectArray___destroy___0"]=asm["_emscripten_bind_btConstCollisionObjectArray___destroy___0"];var _emscripten_bind_btConstCollisionObjectArray_at_1=Module["_emscripten_bind_btConstCollisionObjectArray_at_1"]=asm["_emscripten_bind_btConstCollisionObjectArray_at_1"];var _emscripten_bind_btConstCollisionObjectArray_size_0=Module["_emscripten_bind_btConstCollisionObjectArray_size_0"]=asm["_emscripten_bind_btConstCollisionObjectArray_size_0"];var _emscripten_bind_btConstraintSetting___destroy___0=Module["_emscripten_bind_btConstraintSetting___destroy___0"]=asm["_emscripten_bind_btConstraintSetting___destroy___0"];var _emscripten_bind_btConstraintSetting_btConstraintSetting_0=Module["_emscripten_bind_btConstraintSetting_btConstraintSetting_0"]=asm["_emscripten_bind_btConstraintSetting_btConstraintSetting_0"];var _emscripten_bind_btConstraintSetting_get_m_damping_0=Module["_emscripten_bind_btConstraintSetting_get_m_damping_0"]=asm["_emscripten_bind_btConstraintSetting_get_m_damping_0"];var _emscripten_bind_btConstraintSetting_get_m_impulseClamp_0=Module["_emscripten_bind_btConstraintSetting_get_m_impulseClamp_0"]=asm["_emscripten_bind_btConstraintSetting_get_m_impulseClamp_0"];var _emscripten_bind_btConstraintSetting_get_m_tau_0=Module["_emscripten_bind_btConstraintSetting_get_m_tau_0"]=asm["_emscripten_bind_btConstraintSetting_get_m_tau_0"];var _emscripten_bind_btConstraintSetting_set_m_damping_1=Module["_emscripten_bind_btConstraintSetting_set_m_damping_1"]=asm["_emscripten_bind_btConstraintSetting_set_m_damping_1"];var _emscripten_bind_btConstraintSetting_set_m_impulseClamp_1=Module["_emscripten_bind_btConstraintSetting_set_m_impulseClamp_1"]=asm["_emscripten_bind_btConstraintSetting_set_m_impulseClamp_1"];var _emscripten_bind_btConstraintSetting_set_m_tau_1=Module["_emscripten_bind_btConstraintSetting_set_m_tau_1"]=asm["_emscripten_bind_btConstraintSetting_set_m_tau_1"];var _emscripten_bind_btConstraintSolver___destroy___0=Module["_emscripten_bind_btConstraintSolver___destroy___0"]=asm["_emscripten_bind_btConstraintSolver___destroy___0"];var _emscripten_bind_btContactSolverInfo___destroy___0=Module["_emscripten_bind_btContactSolverInfo___destroy___0"]=asm["_emscripten_bind_btContactSolverInfo___destroy___0"];var _emscripten_bind_btContactSolverInfo_get_m_numIterations_0=Module["_emscripten_bind_btContactSolverInfo_get_m_numIterations_0"]=asm["_emscripten_bind_btContactSolverInfo_get_m_numIterations_0"];var _emscripten_bind_btContactSolverInfo_get_m_splitImpulsePenetrationThreshold_0=Module["_emscripten_bind_btContactSolverInfo_get_m_splitImpulsePenetrationThreshold_0"]=asm["_emscripten_bind_btContactSolverInfo_get_m_splitImpulsePenetrationThreshold_0"];var _emscripten_bind_btContactSolverInfo_get_m_splitImpulse_0=Module["_emscripten_bind_btContactSolverInfo_get_m_splitImpulse_0"]=asm["_emscripten_bind_btContactSolverInfo_get_m_splitImpulse_0"];var _emscripten_bind_btContactSolverInfo_set_m_numIterations_1=Module["_emscripten_bind_btContactSolverInfo_set_m_numIterations_1"]=asm["_emscripten_bind_btContactSolverInfo_set_m_numIterations_1"];var _emscripten_bind_btContactSolverInfo_set_m_splitImpulsePenetrationThreshold_1=Module["_emscripten_bind_btContactSolverInfo_set_m_splitImpulsePenetrationThreshold_1"]=asm["_emscripten_bind_btContactSolverInfo_set_m_splitImpulsePenetrationThreshold_1"];var _emscripten_bind_btContactSolverInfo_set_m_splitImpulse_1=Module["_emscripten_bind_btContactSolverInfo_set_m_splitImpulse_1"]=asm["_emscripten_bind_btContactSolverInfo_set_m_splitImpulse_1"];var _emscripten_bind_btConvexHullShape___destroy___0=Module["_emscripten_bind_btConvexHullShape___destroy___0"]=asm["_emscripten_bind_btConvexHullShape___destroy___0"];var _emscripten_bind_btConvexHullShape_addPoint_1=Module["_emscripten_bind_btConvexHullShape_addPoint_1"]=asm["_emscripten_bind_btConvexHullShape_addPoint_1"];var _emscripten_bind_btConvexHullShape_addPoint_2=Module["_emscripten_bind_btConvexHullShape_addPoint_2"]=asm["_emscripten_bind_btConvexHullShape_addPoint_2"];var _emscripten_bind_btConvexHullShape_btConvexHullShape_0=Module["_emscripten_bind_btConvexHullShape_btConvexHullShape_0"]=asm["_emscripten_bind_btConvexHullShape_btConvexHullShape_0"];var _emscripten_bind_btConvexHullShape_btConvexHullShape_1=Module["_emscripten_bind_btConvexHullShape_btConvexHullShape_1"]=asm["_emscripten_bind_btConvexHullShape_btConvexHullShape_1"];var _emscripten_bind_btConvexHullShape_btConvexHullShape_2=Module["_emscripten_bind_btConvexHullShape_btConvexHullShape_2"]=asm["_emscripten_bind_btConvexHullShape_btConvexHullShape_2"];var _emscripten_bind_btConvexHullShape_calculateLocalInertia_2=Module["_emscripten_bind_btConvexHullShape_calculateLocalInertia_2"]=asm["_emscripten_bind_btConvexHullShape_calculateLocalInertia_2"];var _emscripten_bind_btConvexHullShape_getConvexPolyhedron_0=Module["_emscripten_bind_btConvexHullShape_getConvexPolyhedron_0"]=asm["_emscripten_bind_btConvexHullShape_getConvexPolyhedron_0"];var _emscripten_bind_btConvexHullShape_getLocalScaling_0=Module["_emscripten_bind_btConvexHullShape_getLocalScaling_0"]=asm["_emscripten_bind_btConvexHullShape_getLocalScaling_0"];var _emscripten_bind_btConvexHullShape_getMargin_0=Module["_emscripten_bind_btConvexHullShape_getMargin_0"]=asm["_emscripten_bind_btConvexHullShape_getMargin_0"];var _emscripten_bind_btConvexHullShape_getNumVertices_0=Module["_emscripten_bind_btConvexHullShape_getNumVertices_0"]=asm["_emscripten_bind_btConvexHullShape_getNumVertices_0"];var _emscripten_bind_btConvexHullShape_getShapeType_0=Module["_emscripten_bind_btConvexHullShape_getShapeType_0"]=asm["_emscripten_bind_btConvexHullShape_getShapeType_0"];var _emscripten_bind_btConvexHullShape_initializePolyhedralFeatures_1=Module["_emscripten_bind_btConvexHullShape_initializePolyhedralFeatures_1"]=asm["_emscripten_bind_btConvexHullShape_initializePolyhedralFeatures_1"];var _emscripten_bind_btConvexHullShape_recalcLocalAabb_0=Module["_emscripten_bind_btConvexHullShape_recalcLocalAabb_0"]=asm["_emscripten_bind_btConvexHullShape_recalcLocalAabb_0"];var _emscripten_bind_btConvexHullShape_setLocalScaling_1=Module["_emscripten_bind_btConvexHullShape_setLocalScaling_1"]=asm["_emscripten_bind_btConvexHullShape_setLocalScaling_1"];var _emscripten_bind_btConvexHullShape_setMargin_1=Module["_emscripten_bind_btConvexHullShape_setMargin_1"]=asm["_emscripten_bind_btConvexHullShape_setMargin_1"];var _emscripten_bind_btConvexPolyhedron___destroy___0=Module["_emscripten_bind_btConvexPolyhedron___destroy___0"]=asm["_emscripten_bind_btConvexPolyhedron___destroy___0"];var _emscripten_bind_btConvexPolyhedron_get_m_faces_0=Module["_emscripten_bind_btConvexPolyhedron_get_m_faces_0"]=asm["_emscripten_bind_btConvexPolyhedron_get_m_faces_0"];var _emscripten_bind_btConvexPolyhedron_get_m_vertices_0=Module["_emscripten_bind_btConvexPolyhedron_get_m_vertices_0"]=asm["_emscripten_bind_btConvexPolyhedron_get_m_vertices_0"];var _emscripten_bind_btConvexPolyhedron_set_m_faces_1=Module["_emscripten_bind_btConvexPolyhedron_set_m_faces_1"]=asm["_emscripten_bind_btConvexPolyhedron_set_m_faces_1"];var _emscripten_bind_btConvexPolyhedron_set_m_vertices_1=Module["_emscripten_bind_btConvexPolyhedron_set_m_vertices_1"]=asm["_emscripten_bind_btConvexPolyhedron_set_m_vertices_1"];var _emscripten_bind_btConvexShape___destroy___0=Module["_emscripten_bind_btConvexShape___destroy___0"]=asm["_emscripten_bind_btConvexShape___destroy___0"];var _emscripten_bind_btConvexShape_calculateLocalInertia_2=Module["_emscripten_bind_btConvexShape_calculateLocalInertia_2"]=asm["_emscripten_bind_btConvexShape_calculateLocalInertia_2"];var _emscripten_bind_btConvexShape_getLocalScaling_0=Module["_emscripten_bind_btConvexShape_getLocalScaling_0"]=asm["_emscripten_bind_btConvexShape_getLocalScaling_0"];var _emscripten_bind_btConvexShape_getMargin_0=Module["_emscripten_bind_btConvexShape_getMargin_0"]=asm["_emscripten_bind_btConvexShape_getMargin_0"];var _emscripten_bind_btConvexShape_getShapeType_0=Module["_emscripten_bind_btConvexShape_getShapeType_0"]=asm["_emscripten_bind_btConvexShape_getShapeType_0"];var _emscripten_bind_btConvexShape_setLocalScaling_1=Module["_emscripten_bind_btConvexShape_setLocalScaling_1"]=asm["_emscripten_bind_btConvexShape_setLocalScaling_1"];var _emscripten_bind_btConvexShape_setMargin_1=Module["_emscripten_bind_btConvexShape_setMargin_1"]=asm["_emscripten_bind_btConvexShape_setMargin_1"];var _emscripten_bind_btConvexTriangleMeshShape___destroy___0=Module["_emscripten_bind_btConvexTriangleMeshShape___destroy___0"]=asm["_emscripten_bind_btConvexTriangleMeshShape___destroy___0"];var _emscripten_bind_btConvexTriangleMeshShape_btConvexTriangleMeshShape_1=Module["_emscripten_bind_btConvexTriangleMeshShape_btConvexTriangleMeshShape_1"]=asm["_emscripten_bind_btConvexTriangleMeshShape_btConvexTriangleMeshShape_1"];var _emscripten_bind_btConvexTriangleMeshShape_btConvexTriangleMeshShape_2=Module["_emscripten_bind_btConvexTriangleMeshShape_btConvexTriangleMeshShape_2"]=asm["_emscripten_bind_btConvexTriangleMeshShape_btConvexTriangleMeshShape_2"];var _emscripten_bind_btConvexTriangleMeshShape_calculateLocalInertia_2=Module["_emscripten_bind_btConvexTriangleMeshShape_calculateLocalInertia_2"]=asm["_emscripten_bind_btConvexTriangleMeshShape_calculateLocalInertia_2"];var _emscripten_bind_btConvexTriangleMeshShape_getLocalScaling_0=Module["_emscripten_bind_btConvexTriangleMeshShape_getLocalScaling_0"]=asm["_emscripten_bind_btConvexTriangleMeshShape_getLocalScaling_0"];var _emscripten_bind_btConvexTriangleMeshShape_getMargin_0=Module["_emscripten_bind_btConvexTriangleMeshShape_getMargin_0"]=asm["_emscripten_bind_btConvexTriangleMeshShape_getMargin_0"];var _emscripten_bind_btConvexTriangleMeshShape_getShapeType_0=Module["_emscripten_bind_btConvexTriangleMeshShape_getShapeType_0"]=asm["_emscripten_bind_btConvexTriangleMeshShape_getShapeType_0"];var _emscripten_bind_btConvexTriangleMeshShape_setLocalScaling_1=Module["_emscripten_bind_btConvexTriangleMeshShape_setLocalScaling_1"]=asm["_emscripten_bind_btConvexTriangleMeshShape_setLocalScaling_1"];var _emscripten_bind_btConvexTriangleMeshShape_setMargin_1=Module["_emscripten_bind_btConvexTriangleMeshShape_setMargin_1"]=asm["_emscripten_bind_btConvexTriangleMeshShape_setMargin_1"];var _emscripten_bind_btCylinderShapeX___destroy___0=Module["_emscripten_bind_btCylinderShapeX___destroy___0"]=asm["_emscripten_bind_btCylinderShapeX___destroy___0"];var _emscripten_bind_btCylinderShapeX_btCylinderShapeX_1=Module["_emscripten_bind_btCylinderShapeX_btCylinderShapeX_1"]=asm["_emscripten_bind_btCylinderShapeX_btCylinderShapeX_1"];var _emscripten_bind_btCylinderShapeX_calculateLocalInertia_2=Module["_emscripten_bind_btCylinderShapeX_calculateLocalInertia_2"]=asm["_emscripten_bind_btCylinderShapeX_calculateLocalInertia_2"];var _emscripten_bind_btCylinderShapeX_getLocalScaling_0=Module["_emscripten_bind_btCylinderShapeX_getLocalScaling_0"]=asm["_emscripten_bind_btCylinderShapeX_getLocalScaling_0"];var _emscripten_bind_btCylinderShapeX_getMargin_0=Module["_emscripten_bind_btCylinderShapeX_getMargin_0"]=asm["_emscripten_bind_btCylinderShapeX_getMargin_0"];var _emscripten_bind_btCylinderShapeX_getShapeType_0=Module["_emscripten_bind_btCylinderShapeX_getShapeType_0"]=asm["_emscripten_bind_btCylinderShapeX_getShapeType_0"];var _emscripten_bind_btCylinderShapeX_setLocalScaling_1=Module["_emscripten_bind_btCylinderShapeX_setLocalScaling_1"]=asm["_emscripten_bind_btCylinderShapeX_setLocalScaling_1"];var _emscripten_bind_btCylinderShapeX_setMargin_1=Module["_emscripten_bind_btCylinderShapeX_setMargin_1"]=asm["_emscripten_bind_btCylinderShapeX_setMargin_1"];var _emscripten_bind_btCylinderShapeZ___destroy___0=Module["_emscripten_bind_btCylinderShapeZ___destroy___0"]=asm["_emscripten_bind_btCylinderShapeZ___destroy___0"];var _emscripten_bind_btCylinderShapeZ_btCylinderShapeZ_1=Module["_emscripten_bind_btCylinderShapeZ_btCylinderShapeZ_1"]=asm["_emscripten_bind_btCylinderShapeZ_btCylinderShapeZ_1"];var _emscripten_bind_btCylinderShapeZ_calculateLocalInertia_2=Module["_emscripten_bind_btCylinderShapeZ_calculateLocalInertia_2"]=asm["_emscripten_bind_btCylinderShapeZ_calculateLocalInertia_2"];var _emscripten_bind_btCylinderShapeZ_getLocalScaling_0=Module["_emscripten_bind_btCylinderShapeZ_getLocalScaling_0"]=asm["_emscripten_bind_btCylinderShapeZ_getLocalScaling_0"];var _emscripten_bind_btCylinderShapeZ_getMargin_0=Module["_emscripten_bind_btCylinderShapeZ_getMargin_0"]=asm["_emscripten_bind_btCylinderShapeZ_getMargin_0"];var _emscripten_bind_btCylinderShapeZ_getShapeType_0=Module["_emscripten_bind_btCylinderShapeZ_getShapeType_0"]=asm["_emscripten_bind_btCylinderShapeZ_getShapeType_0"];var _emscripten_bind_btCylinderShapeZ_setLocalScaling_1=Module["_emscripten_bind_btCylinderShapeZ_setLocalScaling_1"]=asm["_emscripten_bind_btCylinderShapeZ_setLocalScaling_1"];var _emscripten_bind_btCylinderShapeZ_setMargin_1=Module["_emscripten_bind_btCylinderShapeZ_setMargin_1"]=asm["_emscripten_bind_btCylinderShapeZ_setMargin_1"];var _emscripten_bind_btCylinderShape___destroy___0=Module["_emscripten_bind_btCylinderShape___destroy___0"]=asm["_emscripten_bind_btCylinderShape___destroy___0"];var _emscripten_bind_btCylinderShape_btCylinderShape_1=Module["_emscripten_bind_btCylinderShape_btCylinderShape_1"]=asm["_emscripten_bind_btCylinderShape_btCylinderShape_1"];var _emscripten_bind_btCylinderShape_calculateLocalInertia_2=Module["_emscripten_bind_btCylinderShape_calculateLocalInertia_2"]=asm["_emscripten_bind_btCylinderShape_calculateLocalInertia_2"];var _emscripten_bind_btCylinderShape_getLocalScaling_0=Module["_emscripten_bind_btCylinderShape_getLocalScaling_0"]=asm["_emscripten_bind_btCylinderShape_getLocalScaling_0"];var _emscripten_bind_btCylinderShape_getMargin_0=Module["_emscripten_bind_btCylinderShape_getMargin_0"]=asm["_emscripten_bind_btCylinderShape_getMargin_0"];var _emscripten_bind_btCylinderShape_getShapeType_0=Module["_emscripten_bind_btCylinderShape_getShapeType_0"]=asm["_emscripten_bind_btCylinderShape_getShapeType_0"];var _emscripten_bind_btCylinderShape_setLocalScaling_1=Module["_emscripten_bind_btCylinderShape_setLocalScaling_1"]=asm["_emscripten_bind_btCylinderShape_setLocalScaling_1"];var _emscripten_bind_btCylinderShape_setMargin_1=Module["_emscripten_bind_btCylinderShape_setMargin_1"]=asm["_emscripten_bind_btCylinderShape_setMargin_1"];var _emscripten_bind_btDbvtBroadphase___destroy___0=Module["_emscripten_bind_btDbvtBroadphase___destroy___0"]=asm["_emscripten_bind_btDbvtBroadphase___destroy___0"];var _emscripten_bind_btDbvtBroadphase_btDbvtBroadphase_0=Module["_emscripten_bind_btDbvtBroadphase_btDbvtBroadphase_0"]=asm["_emscripten_bind_btDbvtBroadphase_btDbvtBroadphase_0"];var _emscripten_bind_btDefaultCollisionConfiguration___destroy___0=Module["_emscripten_bind_btDefaultCollisionConfiguration___destroy___0"]=asm["_emscripten_bind_btDefaultCollisionConfiguration___destroy___0"];var _emscripten_bind_btDefaultCollisionConfiguration_btDefaultCollisionConfiguration_0=Module["_emscripten_bind_btDefaultCollisionConfiguration_btDefaultCollisionConfiguration_0"]=asm["_emscripten_bind_btDefaultCollisionConfiguration_btDefaultCollisionConfiguration_0"];var _emscripten_bind_btDefaultCollisionConfiguration_btDefaultCollisionConfiguration_1=Module["_emscripten_bind_btDefaultCollisionConfiguration_btDefaultCollisionConfiguration_1"]=asm["_emscripten_bind_btDefaultCollisionConfiguration_btDefaultCollisionConfiguration_1"];var _emscripten_bind_btDefaultCollisionConstructionInfo___destroy___0=Module["_emscripten_bind_btDefaultCollisionConstructionInfo___destroy___0"]=asm["_emscripten_bind_btDefaultCollisionConstructionInfo___destroy___0"];var _emscripten_bind_btDefaultCollisionConstructionInfo_btDefaultCollisionConstructionInfo_0=Module["_emscripten_bind_btDefaultCollisionConstructionInfo_btDefaultCollisionConstructionInfo_0"]=asm["_emscripten_bind_btDefaultCollisionConstructionInfo_btDefaultCollisionConstructionInfo_0"];var _emscripten_bind_btDefaultMotionState___destroy___0=Module["_emscripten_bind_btDefaultMotionState___destroy___0"]=asm["_emscripten_bind_btDefaultMotionState___destroy___0"];var _emscripten_bind_btDefaultMotionState_btDefaultMotionState_0=Module["_emscripten_bind_btDefaultMotionState_btDefaultMotionState_0"]=asm["_emscripten_bind_btDefaultMotionState_btDefaultMotionState_0"];var _emscripten_bind_btDefaultMotionState_btDefaultMotionState_1=Module["_emscripten_bind_btDefaultMotionState_btDefaultMotionState_1"]=asm["_emscripten_bind_btDefaultMotionState_btDefaultMotionState_1"];var _emscripten_bind_btDefaultMotionState_btDefaultMotionState_2=Module["_emscripten_bind_btDefaultMotionState_btDefaultMotionState_2"]=asm["_emscripten_bind_btDefaultMotionState_btDefaultMotionState_2"];var _emscripten_bind_btDefaultMotionState_getWorldTransform_1=Module["_emscripten_bind_btDefaultMotionState_getWorldTransform_1"]=asm["_emscripten_bind_btDefaultMotionState_getWorldTransform_1"];var _emscripten_bind_btDefaultMotionState_get_m_graphicsWorldTrans_0=Module["_emscripten_bind_btDefaultMotionState_get_m_graphicsWorldTrans_0"]=asm["_emscripten_bind_btDefaultMotionState_get_m_graphicsWorldTrans_0"];var _emscripten_bind_btDefaultMotionState_setWorldTransform_1=Module["_emscripten_bind_btDefaultMotionState_setWorldTransform_1"]=asm["_emscripten_bind_btDefaultMotionState_setWorldTransform_1"];var _emscripten_bind_btDefaultMotionState_set_m_graphicsWorldTrans_1=Module["_emscripten_bind_btDefaultMotionState_set_m_graphicsWorldTrans_1"]=asm["_emscripten_bind_btDefaultMotionState_set_m_graphicsWorldTrans_1"];var _emscripten_bind_btDefaultSoftBodySolver___destroy___0=Module["_emscripten_bind_btDefaultSoftBodySolver___destroy___0"]=asm["_emscripten_bind_btDefaultSoftBodySolver___destroy___0"];var _emscripten_bind_btDefaultSoftBodySolver_btDefaultSoftBodySolver_0=Module["_emscripten_bind_btDefaultSoftBodySolver_btDefaultSoftBodySolver_0"]=asm["_emscripten_bind_btDefaultSoftBodySolver_btDefaultSoftBodySolver_0"];var _emscripten_bind_btDefaultVehicleRaycaster___destroy___0=Module["_emscripten_bind_btDefaultVehicleRaycaster___destroy___0"]=asm["_emscripten_bind_btDefaultVehicleRaycaster___destroy___0"];var _emscripten_bind_btDefaultVehicleRaycaster_btDefaultVehicleRaycaster_1=Module["_emscripten_bind_btDefaultVehicleRaycaster_btDefaultVehicleRaycaster_1"]=asm["_emscripten_bind_btDefaultVehicleRaycaster_btDefaultVehicleRaycaster_1"];var _emscripten_bind_btDefaultVehicleRaycaster_castRay_3=Module["_emscripten_bind_btDefaultVehicleRaycaster_castRay_3"]=asm["_emscripten_bind_btDefaultVehicleRaycaster_castRay_3"];var _emscripten_bind_btDiscreteDynamicsWorld___destroy___0=Module["_emscripten_bind_btDiscreteDynamicsWorld___destroy___0"]=asm["_emscripten_bind_btDiscreteDynamicsWorld___destroy___0"];var _emscripten_bind_btDiscreteDynamicsWorld_addAction_1=Module["_emscripten_bind_btDiscreteDynamicsWorld_addAction_1"]=asm["_emscripten_bind_btDiscreteDynamicsWorld_addAction_1"];var _emscripten_bind_btDiscreteDynamicsWorld_addCollisionObject_1=Module["_emscripten_bind_btDiscreteDynamicsWorld_addCollisionObject_1"]=asm["_emscripten_bind_btDiscreteDynamicsWorld_addCollisionObject_1"];var _emscripten_bind_btDiscreteDynamicsWorld_addCollisionObject_2=Module["_emscripten_bind_btDiscreteDynamicsWorld_addCollisionObject_2"]=asm["_emscripten_bind_btDiscreteDynamicsWorld_addCollisionObject_2"];var _emscripten_bind_btDiscreteDynamicsWorld_addCollisionObject_3=Module["_emscripten_bind_btDiscreteDynamicsWorld_addCollisionObject_3"]=asm["_emscripten_bind_btDiscreteDynamicsWorld_addCollisionObject_3"];var _emscripten_bind_btDiscreteDynamicsWorld_addConstraint_1=Module["_emscripten_bind_btDiscreteDynamicsWorld_addConstraint_1"]=asm["_emscripten_bind_btDiscreteDynamicsWorld_addConstraint_1"];var _emscripten_bind_btDiscreteDynamicsWorld_addConstraint_2=Module["_emscripten_bind_btDiscreteDynamicsWorld_addConstraint_2"]=asm["_emscripten_bind_btDiscreteDynamicsWorld_addConstraint_2"];var _emscripten_bind_btDiscreteDynamicsWorld_addRigidBody_1=Module["_emscripten_bind_btDiscreteDynamicsWorld_addRigidBody_1"]=asm["_emscripten_bind_btDiscreteDynamicsWorld_addRigidBody_1"];var _emscripten_bind_btDiscreteDynamicsWorld_addRigidBody_3=Module["_emscripten_bind_btDiscreteDynamicsWorld_addRigidBody_3"]=asm["_emscripten_bind_btDiscreteDynamicsWorld_addRigidBody_3"];var _emscripten_bind_btDiscreteDynamicsWorld_adjustInternalEdgeContacts_6=Module["_emscripten_bind_btDiscreteDynamicsWorld_adjustInternalEdgeContacts_6"]=asm["_emscripten_bind_btDiscreteDynamicsWorld_adjustInternalEdgeContacts_6"];var _emscripten_bind_btDiscreteDynamicsWorld_btDiscreteDynamicsWorld_4=Module["_emscripten_bind_btDiscreteDynamicsWorld_btDiscreteDynamicsWorld_4"]=asm["_emscripten_bind_btDiscreteDynamicsWorld_btDiscreteDynamicsWorld_4"];var _emscripten_bind_btDiscreteDynamicsWorld_contactPairTest_3=Module["_emscripten_bind_btDiscreteDynamicsWorld_contactPairTest_3"]=asm["_emscripten_bind_btDiscreteDynamicsWorld_contactPairTest_3"];var _emscripten_bind_btDiscreteDynamicsWorld_contactTest_2=Module["_emscripten_bind_btDiscreteDynamicsWorld_contactTest_2"]=asm["_emscripten_bind_btDiscreteDynamicsWorld_contactTest_2"];var _emscripten_bind_btDiscreteDynamicsWorld_convexSweepTest_5=Module["_emscripten_bind_btDiscreteDynamicsWorld_convexSweepTest_5"]=asm["_emscripten_bind_btDiscreteDynamicsWorld_convexSweepTest_5"];var _emscripten_bind_btDiscreteDynamicsWorld_debugDrawObject_3=Module["_emscripten_bind_btDiscreteDynamicsWorld_debugDrawObject_3"]=asm["_emscripten_bind_btDiscreteDynamicsWorld_debugDrawObject_3"];var _emscripten_bind_btDiscreteDynamicsWorld_debugDrawWorld_0=Module["_emscripten_bind_btDiscreteDynamicsWorld_debugDrawWorld_0"]=asm["_emscripten_bind_btDiscreteDynamicsWorld_debugDrawWorld_0"];var _emscripten_bind_btDiscreteDynamicsWorld_generateInternalEdgeInfo_2=Module["_emscripten_bind_btDiscreteDynamicsWorld_generateInternalEdgeInfo_2"]=asm["_emscripten_bind_btDiscreteDynamicsWorld_generateInternalEdgeInfo_2"];var _emscripten_bind_btDiscreteDynamicsWorld_getBroadphase_0=Module["_emscripten_bind_btDiscreteDynamicsWorld_getBroadphase_0"]=asm["_emscripten_bind_btDiscreteDynamicsWorld_getBroadphase_0"];var _emscripten_bind_btDiscreteDynamicsWorld_getDebugDrawer_0=Module["_emscripten_bind_btDiscreteDynamicsWorld_getDebugDrawer_0"]=asm["_emscripten_bind_btDiscreteDynamicsWorld_getDebugDrawer_0"];var _emscripten_bind_btDiscreteDynamicsWorld_getDispatchInfo_0=Module["_emscripten_bind_btDiscreteDynamicsWorld_getDispatchInfo_0"]=asm["_emscripten_bind_btDiscreteDynamicsWorld_getDispatchInfo_0"];var _emscripten_bind_btDiscreteDynamicsWorld_getDispatcher_0=Module["_emscripten_bind_btDiscreteDynamicsWorld_getDispatcher_0"]=asm["_emscripten_bind_btDiscreteDynamicsWorld_getDispatcher_0"];var _emscripten_bind_btDiscreteDynamicsWorld_getGravity_0=Module["_emscripten_bind_btDiscreteDynamicsWorld_getGravity_0"]=asm["_emscripten_bind_btDiscreteDynamicsWorld_getGravity_0"];var _emscripten_bind_btDiscreteDynamicsWorld_getPairCache_0=Module["_emscripten_bind_btDiscreteDynamicsWorld_getPairCache_0"]=asm["_emscripten_bind_btDiscreteDynamicsWorld_getPairCache_0"];var _emscripten_bind_btDiscreteDynamicsWorld_getSolverInfo_0=Module["_emscripten_bind_btDiscreteDynamicsWorld_getSolverInfo_0"]=asm["_emscripten_bind_btDiscreteDynamicsWorld_getSolverInfo_0"];var _emscripten_bind_btDiscreteDynamicsWorld_rayTest_3=Module["_emscripten_bind_btDiscreteDynamicsWorld_rayTest_3"]=asm["_emscripten_bind_btDiscreteDynamicsWorld_rayTest_3"];var _emscripten_bind_btDiscreteDynamicsWorld_removeAction_1=Module["_emscripten_bind_btDiscreteDynamicsWorld_removeAction_1"]=asm["_emscripten_bind_btDiscreteDynamicsWorld_removeAction_1"];var _emscripten_bind_btDiscreteDynamicsWorld_removeCollisionObject_1=Module["_emscripten_bind_btDiscreteDynamicsWorld_removeCollisionObject_1"]=asm["_emscripten_bind_btDiscreteDynamicsWorld_removeCollisionObject_1"];var _emscripten_bind_btDiscreteDynamicsWorld_removeConstraint_1=Module["_emscripten_bind_btDiscreteDynamicsWorld_removeConstraint_1"]=asm["_emscripten_bind_btDiscreteDynamicsWorld_removeConstraint_1"];var _emscripten_bind_btDiscreteDynamicsWorld_removeRigidBody_1=Module["_emscripten_bind_btDiscreteDynamicsWorld_removeRigidBody_1"]=asm["_emscripten_bind_btDiscreteDynamicsWorld_removeRigidBody_1"];var _emscripten_bind_btDiscreteDynamicsWorld_setContactAddedCallback_1=Module["_emscripten_bind_btDiscreteDynamicsWorld_setContactAddedCallback_1"]=asm["_emscripten_bind_btDiscreteDynamicsWorld_setContactAddedCallback_1"];var _emscripten_bind_btDiscreteDynamicsWorld_setContactDestroyedCallback_1=Module["_emscripten_bind_btDiscreteDynamicsWorld_setContactDestroyedCallback_1"]=asm["_emscripten_bind_btDiscreteDynamicsWorld_setContactDestroyedCallback_1"];var _emscripten_bind_btDiscreteDynamicsWorld_setContactProcessedCallback_1=Module["_emscripten_bind_btDiscreteDynamicsWorld_setContactProcessedCallback_1"]=asm["_emscripten_bind_btDiscreteDynamicsWorld_setContactProcessedCallback_1"];var _emscripten_bind_btDiscreteDynamicsWorld_setDebugDrawer_1=Module["_emscripten_bind_btDiscreteDynamicsWorld_setDebugDrawer_1"]=asm["_emscripten_bind_btDiscreteDynamicsWorld_setDebugDrawer_1"];var _emscripten_bind_btDiscreteDynamicsWorld_setGravity_1=Module["_emscripten_bind_btDiscreteDynamicsWorld_setGravity_1"]=asm["_emscripten_bind_btDiscreteDynamicsWorld_setGravity_1"];var _emscripten_bind_btDiscreteDynamicsWorld_setInternalTickCallback_1=Module["_emscripten_bind_btDiscreteDynamicsWorld_setInternalTickCallback_1"]=asm["_emscripten_bind_btDiscreteDynamicsWorld_setInternalTickCallback_1"];var _emscripten_bind_btDiscreteDynamicsWorld_setInternalTickCallback_2=Module["_emscripten_bind_btDiscreteDynamicsWorld_setInternalTickCallback_2"]=asm["_emscripten_bind_btDiscreteDynamicsWorld_setInternalTickCallback_2"];var _emscripten_bind_btDiscreteDynamicsWorld_setInternalTickCallback_3=Module["_emscripten_bind_btDiscreteDynamicsWorld_setInternalTickCallback_3"]=asm["_emscripten_bind_btDiscreteDynamicsWorld_setInternalTickCallback_3"];var _emscripten_bind_btDiscreteDynamicsWorld_stepSimulation_1=Module["_emscripten_bind_btDiscreteDynamicsWorld_stepSimulation_1"]=asm["_emscripten_bind_btDiscreteDynamicsWorld_stepSimulation_1"];var _emscripten_bind_btDiscreteDynamicsWorld_stepSimulation_2=Module["_emscripten_bind_btDiscreteDynamicsWorld_stepSimulation_2"]=asm["_emscripten_bind_btDiscreteDynamicsWorld_stepSimulation_2"];var _emscripten_bind_btDiscreteDynamicsWorld_stepSimulation_3=Module["_emscripten_bind_btDiscreteDynamicsWorld_stepSimulation_3"]=asm["_emscripten_bind_btDiscreteDynamicsWorld_stepSimulation_3"];var _emscripten_bind_btDiscreteDynamicsWorld_updateSingleAabb_1=Module["_emscripten_bind_btDiscreteDynamicsWorld_updateSingleAabb_1"]=asm["_emscripten_bind_btDiscreteDynamicsWorld_updateSingleAabb_1"];var _emscripten_bind_btDispatcherInfo___destroy___0=Module["_emscripten_bind_btDispatcherInfo___destroy___0"]=asm["_emscripten_bind_btDispatcherInfo___destroy___0"];var _emscripten_bind_btDispatcherInfo_get_m_allowedCcdPenetration_0=Module["_emscripten_bind_btDispatcherInfo_get_m_allowedCcdPenetration_0"]=asm["_emscripten_bind_btDispatcherInfo_get_m_allowedCcdPenetration_0"];var _emscripten_bind_btDispatcherInfo_get_m_convexConservativeDistanceThreshold_0=Module["_emscripten_bind_btDispatcherInfo_get_m_convexConservativeDistanceThreshold_0"]=asm["_emscripten_bind_btDispatcherInfo_get_m_convexConservativeDistanceThreshold_0"];var _emscripten_bind_btDispatcherInfo_get_m_dispatchFunc_0=Module["_emscripten_bind_btDispatcherInfo_get_m_dispatchFunc_0"]=asm["_emscripten_bind_btDispatcherInfo_get_m_dispatchFunc_0"];var _emscripten_bind_btDispatcherInfo_get_m_enableSPU_0=Module["_emscripten_bind_btDispatcherInfo_get_m_enableSPU_0"]=asm["_emscripten_bind_btDispatcherInfo_get_m_enableSPU_0"];var _emscripten_bind_btDispatcherInfo_get_m_enableSatConvex_0=Module["_emscripten_bind_btDispatcherInfo_get_m_enableSatConvex_0"]=asm["_emscripten_bind_btDispatcherInfo_get_m_enableSatConvex_0"];var _emscripten_bind_btDispatcherInfo_get_m_stepCount_0=Module["_emscripten_bind_btDispatcherInfo_get_m_stepCount_0"]=asm["_emscripten_bind_btDispatcherInfo_get_m_stepCount_0"];var _emscripten_bind_btDispatcherInfo_get_m_timeOfImpact_0=Module["_emscripten_bind_btDispatcherInfo_get_m_timeOfImpact_0"]=asm["_emscripten_bind_btDispatcherInfo_get_m_timeOfImpact_0"];var _emscripten_bind_btDispatcherInfo_get_m_timeStep_0=Module["_emscripten_bind_btDispatcherInfo_get_m_timeStep_0"]=asm["_emscripten_bind_btDispatcherInfo_get_m_timeStep_0"];var _emscripten_bind_btDispatcherInfo_get_m_useContinuous_0=Module["_emscripten_bind_btDispatcherInfo_get_m_useContinuous_0"]=asm["_emscripten_bind_btDispatcherInfo_get_m_useContinuous_0"];var _emscripten_bind_btDispatcherInfo_get_m_useConvexConservativeDistanceUtil_0=Module["_emscripten_bind_btDispatcherInfo_get_m_useConvexConservativeDistanceUtil_0"]=asm["_emscripten_bind_btDispatcherInfo_get_m_useConvexConservativeDistanceUtil_0"];var _emscripten_bind_btDispatcherInfo_get_m_useEpa_0=Module["_emscripten_bind_btDispatcherInfo_get_m_useEpa_0"]=asm["_emscripten_bind_btDispatcherInfo_get_m_useEpa_0"];var _emscripten_bind_btDispatcherInfo_set_m_allowedCcdPenetration_1=Module["_emscripten_bind_btDispatcherInfo_set_m_allowedCcdPenetration_1"]=asm["_emscripten_bind_btDispatcherInfo_set_m_allowedCcdPenetration_1"];var _emscripten_bind_btDispatcherInfo_set_m_convexConservativeDistanceThreshold_1=Module["_emscripten_bind_btDispatcherInfo_set_m_convexConservativeDistanceThreshold_1"]=asm["_emscripten_bind_btDispatcherInfo_set_m_convexConservativeDistanceThreshold_1"];var _emscripten_bind_btDispatcherInfo_set_m_dispatchFunc_1=Module["_emscripten_bind_btDispatcherInfo_set_m_dispatchFunc_1"]=asm["_emscripten_bind_btDispatcherInfo_set_m_dispatchFunc_1"];var _emscripten_bind_btDispatcherInfo_set_m_enableSPU_1=Module["_emscripten_bind_btDispatcherInfo_set_m_enableSPU_1"]=asm["_emscripten_bind_btDispatcherInfo_set_m_enableSPU_1"];var _emscripten_bind_btDispatcherInfo_set_m_enableSatConvex_1=Module["_emscripten_bind_btDispatcherInfo_set_m_enableSatConvex_1"]=asm["_emscripten_bind_btDispatcherInfo_set_m_enableSatConvex_1"];var _emscripten_bind_btDispatcherInfo_set_m_stepCount_1=Module["_emscripten_bind_btDispatcherInfo_set_m_stepCount_1"]=asm["_emscripten_bind_btDispatcherInfo_set_m_stepCount_1"];var _emscripten_bind_btDispatcherInfo_set_m_timeOfImpact_1=Module["_emscripten_bind_btDispatcherInfo_set_m_timeOfImpact_1"]=asm["_emscripten_bind_btDispatcherInfo_set_m_timeOfImpact_1"];var _emscripten_bind_btDispatcherInfo_set_m_timeStep_1=Module["_emscripten_bind_btDispatcherInfo_set_m_timeStep_1"]=asm["_emscripten_bind_btDispatcherInfo_set_m_timeStep_1"];var _emscripten_bind_btDispatcherInfo_set_m_useContinuous_1=Module["_emscripten_bind_btDispatcherInfo_set_m_useContinuous_1"]=asm["_emscripten_bind_btDispatcherInfo_set_m_useContinuous_1"];var _emscripten_bind_btDispatcherInfo_set_m_useConvexConservativeDistanceUtil_1=Module["_emscripten_bind_btDispatcherInfo_set_m_useConvexConservativeDistanceUtil_1"]=asm["_emscripten_bind_btDispatcherInfo_set_m_useConvexConservativeDistanceUtil_1"];var _emscripten_bind_btDispatcherInfo_set_m_useEpa_1=Module["_emscripten_bind_btDispatcherInfo_set_m_useEpa_1"]=asm["_emscripten_bind_btDispatcherInfo_set_m_useEpa_1"];var _emscripten_bind_btDispatcher___destroy___0=Module["_emscripten_bind_btDispatcher___destroy___0"]=asm["_emscripten_bind_btDispatcher___destroy___0"];var _emscripten_bind_btDispatcher_getManifoldByIndexInternal_1=Module["_emscripten_bind_btDispatcher_getManifoldByIndexInternal_1"]=asm["_emscripten_bind_btDispatcher_getManifoldByIndexInternal_1"];var _emscripten_bind_btDispatcher_getNumManifolds_0=Module["_emscripten_bind_btDispatcher_getNumManifolds_0"]=asm["_emscripten_bind_btDispatcher_getNumManifolds_0"];var _emscripten_bind_btDynamicsWorld___destroy___0=Module["_emscripten_bind_btDynamicsWorld___destroy___0"]=asm["_emscripten_bind_btDynamicsWorld___destroy___0"];var _emscripten_bind_btDynamicsWorld_addAction_1=Module["_emscripten_bind_btDynamicsWorld_addAction_1"]=asm["_emscripten_bind_btDynamicsWorld_addAction_1"];var _emscripten_bind_btDynamicsWorld_addCollisionObject_1=Module["_emscripten_bind_btDynamicsWorld_addCollisionObject_1"]=asm["_emscripten_bind_btDynamicsWorld_addCollisionObject_1"];var _emscripten_bind_btDynamicsWorld_addCollisionObject_2=Module["_emscripten_bind_btDynamicsWorld_addCollisionObject_2"]=asm["_emscripten_bind_btDynamicsWorld_addCollisionObject_2"];var _emscripten_bind_btDynamicsWorld_addCollisionObject_3=Module["_emscripten_bind_btDynamicsWorld_addCollisionObject_3"]=asm["_emscripten_bind_btDynamicsWorld_addCollisionObject_3"];var _emscripten_bind_btDynamicsWorld_contactPairTest_3=Module["_emscripten_bind_btDynamicsWorld_contactPairTest_3"]=asm["_emscripten_bind_btDynamicsWorld_contactPairTest_3"];var _emscripten_bind_btDynamicsWorld_contactTest_2=Module["_emscripten_bind_btDynamicsWorld_contactTest_2"]=asm["_emscripten_bind_btDynamicsWorld_contactTest_2"];var _emscripten_bind_btDynamicsWorld_convexSweepTest_5=Module["_emscripten_bind_btDynamicsWorld_convexSweepTest_5"]=asm["_emscripten_bind_btDynamicsWorld_convexSweepTest_5"];var _emscripten_bind_btDynamicsWorld_debugDrawObject_3=Module["_emscripten_bind_btDynamicsWorld_debugDrawObject_3"]=asm["_emscripten_bind_btDynamicsWorld_debugDrawObject_3"];var _emscripten_bind_btDynamicsWorld_debugDrawWorld_0=Module["_emscripten_bind_btDynamicsWorld_debugDrawWorld_0"]=asm["_emscripten_bind_btDynamicsWorld_debugDrawWorld_0"];var _emscripten_bind_btDynamicsWorld_getBroadphase_0=Module["_emscripten_bind_btDynamicsWorld_getBroadphase_0"]=asm["_emscripten_bind_btDynamicsWorld_getBroadphase_0"];var _emscripten_bind_btDynamicsWorld_getDebugDrawer_0=Module["_emscripten_bind_btDynamicsWorld_getDebugDrawer_0"]=asm["_emscripten_bind_btDynamicsWorld_getDebugDrawer_0"];var _emscripten_bind_btDynamicsWorld_getDispatchInfo_0=Module["_emscripten_bind_btDynamicsWorld_getDispatchInfo_0"]=asm["_emscripten_bind_btDynamicsWorld_getDispatchInfo_0"];var _emscripten_bind_btDynamicsWorld_getDispatcher_0=Module["_emscripten_bind_btDynamicsWorld_getDispatcher_0"]=asm["_emscripten_bind_btDynamicsWorld_getDispatcher_0"];var _emscripten_bind_btDynamicsWorld_getPairCache_0=Module["_emscripten_bind_btDynamicsWorld_getPairCache_0"]=asm["_emscripten_bind_btDynamicsWorld_getPairCache_0"];var _emscripten_bind_btDynamicsWorld_getSolverInfo_0=Module["_emscripten_bind_btDynamicsWorld_getSolverInfo_0"]=asm["_emscripten_bind_btDynamicsWorld_getSolverInfo_0"];var _emscripten_bind_btDynamicsWorld_rayTest_3=Module["_emscripten_bind_btDynamicsWorld_rayTest_3"]=asm["_emscripten_bind_btDynamicsWorld_rayTest_3"];var _emscripten_bind_btDynamicsWorld_removeAction_1=Module["_emscripten_bind_btDynamicsWorld_removeAction_1"]=asm["_emscripten_bind_btDynamicsWorld_removeAction_1"];var _emscripten_bind_btDynamicsWorld_removeCollisionObject_1=Module["_emscripten_bind_btDynamicsWorld_removeCollisionObject_1"]=asm["_emscripten_bind_btDynamicsWorld_removeCollisionObject_1"];var _emscripten_bind_btDynamicsWorld_setDebugDrawer_1=Module["_emscripten_bind_btDynamicsWorld_setDebugDrawer_1"]=asm["_emscripten_bind_btDynamicsWorld_setDebugDrawer_1"];var _emscripten_bind_btDynamicsWorld_setInternalTickCallback_1=Module["_emscripten_bind_btDynamicsWorld_setInternalTickCallback_1"]=asm["_emscripten_bind_btDynamicsWorld_setInternalTickCallback_1"];var _emscripten_bind_btDynamicsWorld_setInternalTickCallback_2=Module["_emscripten_bind_btDynamicsWorld_setInternalTickCallback_2"]=asm["_emscripten_bind_btDynamicsWorld_setInternalTickCallback_2"];var _emscripten_bind_btDynamicsWorld_setInternalTickCallback_3=Module["_emscripten_bind_btDynamicsWorld_setInternalTickCallback_3"]=asm["_emscripten_bind_btDynamicsWorld_setInternalTickCallback_3"];var _emscripten_bind_btDynamicsWorld_updateSingleAabb_1=Module["_emscripten_bind_btDynamicsWorld_updateSingleAabb_1"]=asm["_emscripten_bind_btDynamicsWorld_updateSingleAabb_1"];var _emscripten_bind_btEmptyShape___destroy___0=Module["_emscripten_bind_btEmptyShape___destroy___0"]=asm["_emscripten_bind_btEmptyShape___destroy___0"];var _emscripten_bind_btEmptyShape_btEmptyShape_0=Module["_emscripten_bind_btEmptyShape_btEmptyShape_0"]=asm["_emscripten_bind_btEmptyShape_btEmptyShape_0"];var _emscripten_bind_btEmptyShape_calculateLocalInertia_2=Module["_emscripten_bind_btEmptyShape_calculateLocalInertia_2"]=asm["_emscripten_bind_btEmptyShape_calculateLocalInertia_2"];var _emscripten_bind_btEmptyShape_getLocalScaling_0=Module["_emscripten_bind_btEmptyShape_getLocalScaling_0"]=asm["_emscripten_bind_btEmptyShape_getLocalScaling_0"];var _emscripten_bind_btEmptyShape_getShapeType_0=Module["_emscripten_bind_btEmptyShape_getShapeType_0"]=asm["_emscripten_bind_btEmptyShape_getShapeType_0"];var _emscripten_bind_btEmptyShape_setLocalScaling_1=Module["_emscripten_bind_btEmptyShape_setLocalScaling_1"]=asm["_emscripten_bind_btEmptyShape_setLocalScaling_1"];var _emscripten_bind_btFaceArray___destroy___0=Module["_emscripten_bind_btFaceArray___destroy___0"]=asm["_emscripten_bind_btFaceArray___destroy___0"];var _emscripten_bind_btFaceArray_at_1=Module["_emscripten_bind_btFaceArray_at_1"]=asm["_emscripten_bind_btFaceArray_at_1"];var _emscripten_bind_btFaceArray_size_0=Module["_emscripten_bind_btFaceArray_size_0"]=asm["_emscripten_bind_btFaceArray_size_0"];var _emscripten_bind_btFace___destroy___0=Module["_emscripten_bind_btFace___destroy___0"]=asm["_emscripten_bind_btFace___destroy___0"];var _emscripten_bind_btFace_get_m_indices_0=Module["_emscripten_bind_btFace_get_m_indices_0"]=asm["_emscripten_bind_btFace_get_m_indices_0"];var _emscripten_bind_btFace_get_m_plane_1=Module["_emscripten_bind_btFace_get_m_plane_1"]=asm["_emscripten_bind_btFace_get_m_plane_1"];var _emscripten_bind_btFace_set_m_indices_1=Module["_emscripten_bind_btFace_set_m_indices_1"]=asm["_emscripten_bind_btFace_set_m_indices_1"];var _emscripten_bind_btFace_set_m_plane_2=Module["_emscripten_bind_btFace_set_m_plane_2"]=asm["_emscripten_bind_btFace_set_m_plane_2"];var _emscripten_bind_btFixedConstraint___destroy___0=Module["_emscripten_bind_btFixedConstraint___destroy___0"]=asm["_emscripten_bind_btFixedConstraint___destroy___0"];var _emscripten_bind_btFixedConstraint_btFixedConstraint_4=Module["_emscripten_bind_btFixedConstraint_btFixedConstraint_4"]=asm["_emscripten_bind_btFixedConstraint_btFixedConstraint_4"];var _emscripten_bind_btFixedConstraint_enableFeedback_1=Module["_emscripten_bind_btFixedConstraint_enableFeedback_1"]=asm["_emscripten_bind_btFixedConstraint_enableFeedback_1"];var _emscripten_bind_btFixedConstraint_getBreakingImpulseThreshold_0=Module["_emscripten_bind_btFixedConstraint_getBreakingImpulseThreshold_0"]=asm["_emscripten_bind_btFixedConstraint_getBreakingImpulseThreshold_0"];var _emscripten_bind_btFixedConstraint_getParam_2=Module["_emscripten_bind_btFixedConstraint_getParam_2"]=asm["_emscripten_bind_btFixedConstraint_getParam_2"];var _emscripten_bind_btFixedConstraint_setBreakingImpulseThreshold_1=Module["_emscripten_bind_btFixedConstraint_setBreakingImpulseThreshold_1"]=asm["_emscripten_bind_btFixedConstraint_setBreakingImpulseThreshold_1"];var _emscripten_bind_btFixedConstraint_setParam_3=Module["_emscripten_bind_btFixedConstraint_setParam_3"]=asm["_emscripten_bind_btFixedConstraint_setParam_3"];var _emscripten_bind_btGeneric6DofConstraint___destroy___0=Module["_emscripten_bind_btGeneric6DofConstraint___destroy___0"]=asm["_emscripten_bind_btGeneric6DofConstraint___destroy___0"];var _emscripten_bind_btGeneric6DofConstraint_btGeneric6DofConstraint_3=Module["_emscripten_bind_btGeneric6DofConstraint_btGeneric6DofConstraint_3"]=asm["_emscripten_bind_btGeneric6DofConstraint_btGeneric6DofConstraint_3"];var _emscripten_bind_btGeneric6DofConstraint_btGeneric6DofConstraint_5=Module["_emscripten_bind_btGeneric6DofConstraint_btGeneric6DofConstraint_5"]=asm["_emscripten_bind_btGeneric6DofConstraint_btGeneric6DofConstraint_5"];var _emscripten_bind_btGeneric6DofConstraint_enableFeedback_1=Module["_emscripten_bind_btGeneric6DofConstraint_enableFeedback_1"]=asm["_emscripten_bind_btGeneric6DofConstraint_enableFeedback_1"];var _emscripten_bind_btGeneric6DofConstraint_getBreakingImpulseThreshold_0=Module["_emscripten_bind_btGeneric6DofConstraint_getBreakingImpulseThreshold_0"]=asm["_emscripten_bind_btGeneric6DofConstraint_getBreakingImpulseThreshold_0"];var _emscripten_bind_btGeneric6DofConstraint_getFrameOffsetA_0=Module["_emscripten_bind_btGeneric6DofConstraint_getFrameOffsetA_0"]=asm["_emscripten_bind_btGeneric6DofConstraint_getFrameOffsetA_0"];var _emscripten_bind_btGeneric6DofConstraint_getParam_2=Module["_emscripten_bind_btGeneric6DofConstraint_getParam_2"]=asm["_emscripten_bind_btGeneric6DofConstraint_getParam_2"];var _emscripten_bind_btGeneric6DofConstraint_setAngularLowerLimit_1=Module["_emscripten_bind_btGeneric6DofConstraint_setAngularLowerLimit_1"]=asm["_emscripten_bind_btGeneric6DofConstraint_setAngularLowerLimit_1"];var _emscripten_bind_btGeneric6DofConstraint_setAngularUpperLimit_1=Module["_emscripten_bind_btGeneric6DofConstraint_setAngularUpperLimit_1"]=asm["_emscripten_bind_btGeneric6DofConstraint_setAngularUpperLimit_1"];var _emscripten_bind_btGeneric6DofConstraint_setBreakingImpulseThreshold_1=Module["_emscripten_bind_btGeneric6DofConstraint_setBreakingImpulseThreshold_1"]=asm["_emscripten_bind_btGeneric6DofConstraint_setBreakingImpulseThreshold_1"];var _emscripten_bind_btGeneric6DofConstraint_setLinearLowerLimit_1=Module["_emscripten_bind_btGeneric6DofConstraint_setLinearLowerLimit_1"]=asm["_emscripten_bind_btGeneric6DofConstraint_setLinearLowerLimit_1"];var _emscripten_bind_btGeneric6DofConstraint_setLinearUpperLimit_1=Module["_emscripten_bind_btGeneric6DofConstraint_setLinearUpperLimit_1"]=asm["_emscripten_bind_btGeneric6DofConstraint_setLinearUpperLimit_1"];var _emscripten_bind_btGeneric6DofConstraint_setParam_3=Module["_emscripten_bind_btGeneric6DofConstraint_setParam_3"]=asm["_emscripten_bind_btGeneric6DofConstraint_setParam_3"];var _emscripten_bind_btGeneric6DofSpringConstraint___destroy___0=Module["_emscripten_bind_btGeneric6DofSpringConstraint___destroy___0"]=asm["_emscripten_bind_btGeneric6DofSpringConstraint___destroy___0"];var _emscripten_bind_btGeneric6DofSpringConstraint_btGeneric6DofSpringConstraint_3=Module["_emscripten_bind_btGeneric6DofSpringConstraint_btGeneric6DofSpringConstraint_3"]=asm["_emscripten_bind_btGeneric6DofSpringConstraint_btGeneric6DofSpringConstraint_3"];var _emscripten_bind_btGeneric6DofSpringConstraint_btGeneric6DofSpringConstraint_5=Module["_emscripten_bind_btGeneric6DofSpringConstraint_btGeneric6DofSpringConstraint_5"]=asm["_emscripten_bind_btGeneric6DofSpringConstraint_btGeneric6DofSpringConstraint_5"];var _emscripten_bind_btGeneric6DofSpringConstraint_enableFeedback_1=Module["_emscripten_bind_btGeneric6DofSpringConstraint_enableFeedback_1"]=asm["_emscripten_bind_btGeneric6DofSpringConstraint_enableFeedback_1"];var _emscripten_bind_btGeneric6DofSpringConstraint_enableSpring_2=Module["_emscripten_bind_btGeneric6DofSpringConstraint_enableSpring_2"]=asm["_emscripten_bind_btGeneric6DofSpringConstraint_enableSpring_2"];var _emscripten_bind_btGeneric6DofSpringConstraint_getBreakingImpulseThreshold_0=Module["_emscripten_bind_btGeneric6DofSpringConstraint_getBreakingImpulseThreshold_0"]=asm["_emscripten_bind_btGeneric6DofSpringConstraint_getBreakingImpulseThreshold_0"];var _emscripten_bind_btGeneric6DofSpringConstraint_getFrameOffsetA_0=Module["_emscripten_bind_btGeneric6DofSpringConstraint_getFrameOffsetA_0"]=asm["_emscripten_bind_btGeneric6DofSpringConstraint_getFrameOffsetA_0"];var _emscripten_bind_btGeneric6DofSpringConstraint_getParam_2=Module["_emscripten_bind_btGeneric6DofSpringConstraint_getParam_2"]=asm["_emscripten_bind_btGeneric6DofSpringConstraint_getParam_2"];var _emscripten_bind_btGeneric6DofSpringConstraint_setAngularLowerLimit_1=Module["_emscripten_bind_btGeneric6DofSpringConstraint_setAngularLowerLimit_1"]=asm["_emscripten_bind_btGeneric6DofSpringConstraint_setAngularLowerLimit_1"];var _emscripten_bind_btGeneric6DofSpringConstraint_setAngularUpperLimit_1=Module["_emscripten_bind_btGeneric6DofSpringConstraint_setAngularUpperLimit_1"]=asm["_emscripten_bind_btGeneric6DofSpringConstraint_setAngularUpperLimit_1"];var _emscripten_bind_btGeneric6DofSpringConstraint_setBreakingImpulseThreshold_1=Module["_emscripten_bind_btGeneric6DofSpringConstraint_setBreakingImpulseThreshold_1"]=asm["_emscripten_bind_btGeneric6DofSpringConstraint_setBreakingImpulseThreshold_1"];var _emscripten_bind_btGeneric6DofSpringConstraint_setDamping_2=Module["_emscripten_bind_btGeneric6DofSpringConstraint_setDamping_2"]=asm["_emscripten_bind_btGeneric6DofSpringConstraint_setDamping_2"];var _emscripten_bind_btGeneric6DofSpringConstraint_setEquilibriumPoint_0=Module["_emscripten_bind_btGeneric6DofSpringConstraint_setEquilibriumPoint_0"]=asm["_emscripten_bind_btGeneric6DofSpringConstraint_setEquilibriumPoint_0"];var _emscripten_bind_btGeneric6DofSpringConstraint_setEquilibriumPoint_1=Module["_emscripten_bind_btGeneric6DofSpringConstraint_setEquilibriumPoint_1"]=asm["_emscripten_bind_btGeneric6DofSpringConstraint_setEquilibriumPoint_1"];var _emscripten_bind_btGeneric6DofSpringConstraint_setEquilibriumPoint_2=Module["_emscripten_bind_btGeneric6DofSpringConstraint_setEquilibriumPoint_2"]=asm["_emscripten_bind_btGeneric6DofSpringConstraint_setEquilibriumPoint_2"];var _emscripten_bind_btGeneric6DofSpringConstraint_setLinearLowerLimit_1=Module["_emscripten_bind_btGeneric6DofSpringConstraint_setLinearLowerLimit_1"]=asm["_emscripten_bind_btGeneric6DofSpringConstraint_setLinearLowerLimit_1"];var _emscripten_bind_btGeneric6DofSpringConstraint_setLinearUpperLimit_1=Module["_emscripten_bind_btGeneric6DofSpringConstraint_setLinearUpperLimit_1"]=asm["_emscripten_bind_btGeneric6DofSpringConstraint_setLinearUpperLimit_1"];var _emscripten_bind_btGeneric6DofSpringConstraint_setParam_3=Module["_emscripten_bind_btGeneric6DofSpringConstraint_setParam_3"]=asm["_emscripten_bind_btGeneric6DofSpringConstraint_setParam_3"];var _emscripten_bind_btGeneric6DofSpringConstraint_setStiffness_2=Module["_emscripten_bind_btGeneric6DofSpringConstraint_setStiffness_2"]=asm["_emscripten_bind_btGeneric6DofSpringConstraint_setStiffness_2"];var _emscripten_bind_btGhostObject___destroy___0=Module["_emscripten_bind_btGhostObject___destroy___0"]=asm["_emscripten_bind_btGhostObject___destroy___0"];var _emscripten_bind_btGhostObject_activate_0=Module["_emscripten_bind_btGhostObject_activate_0"]=asm["_emscripten_bind_btGhostObject_activate_0"];var _emscripten_bind_btGhostObject_activate_1=Module["_emscripten_bind_btGhostObject_activate_1"]=asm["_emscripten_bind_btGhostObject_activate_1"];var _emscripten_bind_btGhostObject_btGhostObject_0=Module["_emscripten_bind_btGhostObject_btGhostObject_0"]=asm["_emscripten_bind_btGhostObject_btGhostObject_0"];var _emscripten_bind_btGhostObject_forceActivationState_1=Module["_emscripten_bind_btGhostObject_forceActivationState_1"]=asm["_emscripten_bind_btGhostObject_forceActivationState_1"];var _emscripten_bind_btGhostObject_getBroadphaseHandle_0=Module["_emscripten_bind_btGhostObject_getBroadphaseHandle_0"]=asm["_emscripten_bind_btGhostObject_getBroadphaseHandle_0"];var _emscripten_bind_btGhostObject_getCollisionFlags_0=Module["_emscripten_bind_btGhostObject_getCollisionFlags_0"]=asm["_emscripten_bind_btGhostObject_getCollisionFlags_0"];var _emscripten_bind_btGhostObject_getCollisionShape_0=Module["_emscripten_bind_btGhostObject_getCollisionShape_0"]=asm["_emscripten_bind_btGhostObject_getCollisionShape_0"];var _emscripten_bind_btGhostObject_getFriction_0=Module["_emscripten_bind_btGhostObject_getFriction_0"]=asm["_emscripten_bind_btGhostObject_getFriction_0"];var _emscripten_bind_btGhostObject_getNumOverlappingObjects_0=Module["_emscripten_bind_btGhostObject_getNumOverlappingObjects_0"]=asm["_emscripten_bind_btGhostObject_getNumOverlappingObjects_0"];var _emscripten_bind_btGhostObject_getOverlappingObject_1=Module["_emscripten_bind_btGhostObject_getOverlappingObject_1"]=asm["_emscripten_bind_btGhostObject_getOverlappingObject_1"];var _emscripten_bind_btGhostObject_getRestitution_0=Module["_emscripten_bind_btGhostObject_getRestitution_0"]=asm["_emscripten_bind_btGhostObject_getRestitution_0"];var _emscripten_bind_btGhostObject_getRollingFriction_0=Module["_emscripten_bind_btGhostObject_getRollingFriction_0"]=asm["_emscripten_bind_btGhostObject_getRollingFriction_0"];var _emscripten_bind_btGhostObject_getUserIndex_0=Module["_emscripten_bind_btGhostObject_getUserIndex_0"]=asm["_emscripten_bind_btGhostObject_getUserIndex_0"];var _emscripten_bind_btGhostObject_getUserPointer_0=Module["_emscripten_bind_btGhostObject_getUserPointer_0"]=asm["_emscripten_bind_btGhostObject_getUserPointer_0"];var _emscripten_bind_btGhostObject_getWorldTransform_0=Module["_emscripten_bind_btGhostObject_getWorldTransform_0"]=asm["_emscripten_bind_btGhostObject_getWorldTransform_0"];var _emscripten_bind_btGhostObject_isActive_0=Module["_emscripten_bind_btGhostObject_isActive_0"]=asm["_emscripten_bind_btGhostObject_isActive_0"];var _emscripten_bind_btGhostObject_isKinematicObject_0=Module["_emscripten_bind_btGhostObject_isKinematicObject_0"]=asm["_emscripten_bind_btGhostObject_isKinematicObject_0"];var _emscripten_bind_btGhostObject_isStaticObject_0=Module["_emscripten_bind_btGhostObject_isStaticObject_0"]=asm["_emscripten_bind_btGhostObject_isStaticObject_0"];var _emscripten_bind_btGhostObject_isStaticOrKinematicObject_0=Module["_emscripten_bind_btGhostObject_isStaticOrKinematicObject_0"]=asm["_emscripten_bind_btGhostObject_isStaticOrKinematicObject_0"];var _emscripten_bind_btGhostObject_setActivationState_1=Module["_emscripten_bind_btGhostObject_setActivationState_1"]=asm["_emscripten_bind_btGhostObject_setActivationState_1"];var _emscripten_bind_btGhostObject_setAnisotropicFriction_2=Module["_emscripten_bind_btGhostObject_setAnisotropicFriction_2"]=asm["_emscripten_bind_btGhostObject_setAnisotropicFriction_2"];var _emscripten_bind_btGhostObject_setCcdMotionThreshold_1=Module["_emscripten_bind_btGhostObject_setCcdMotionThreshold_1"]=asm["_emscripten_bind_btGhostObject_setCcdMotionThreshold_1"];var _emscripten_bind_btGhostObject_setCcdSweptSphereRadius_1=Module["_emscripten_bind_btGhostObject_setCcdSweptSphereRadius_1"]=asm["_emscripten_bind_btGhostObject_setCcdSweptSphereRadius_1"];var _emscripten_bind_btGhostObject_setCollisionFlags_1=Module["_emscripten_bind_btGhostObject_setCollisionFlags_1"]=asm["_emscripten_bind_btGhostObject_setCollisionFlags_1"];var _emscripten_bind_btGhostObject_setCollisionShape_1=Module["_emscripten_bind_btGhostObject_setCollisionShape_1"]=asm["_emscripten_bind_btGhostObject_setCollisionShape_1"];var _emscripten_bind_btGhostObject_setContactProcessingThreshold_1=Module["_emscripten_bind_btGhostObject_setContactProcessingThreshold_1"]=asm["_emscripten_bind_btGhostObject_setContactProcessingThreshold_1"];var _emscripten_bind_btGhostObject_setFriction_1=Module["_emscripten_bind_btGhostObject_setFriction_1"]=asm["_emscripten_bind_btGhostObject_setFriction_1"];var _emscripten_bind_btGhostObject_setRestitution_1=Module["_emscripten_bind_btGhostObject_setRestitution_1"]=asm["_emscripten_bind_btGhostObject_setRestitution_1"];var _emscripten_bind_btGhostObject_setRollingFriction_1=Module["_emscripten_bind_btGhostObject_setRollingFriction_1"]=asm["_emscripten_bind_btGhostObject_setRollingFriction_1"];var _emscripten_bind_btGhostObject_setUserIndex_1=Module["_emscripten_bind_btGhostObject_setUserIndex_1"]=asm["_emscripten_bind_btGhostObject_setUserIndex_1"];var _emscripten_bind_btGhostObject_setUserPointer_1=Module["_emscripten_bind_btGhostObject_setUserPointer_1"]=asm["_emscripten_bind_btGhostObject_setUserPointer_1"];var _emscripten_bind_btGhostObject_setWorldTransform_1=Module["_emscripten_bind_btGhostObject_setWorldTransform_1"]=asm["_emscripten_bind_btGhostObject_setWorldTransform_1"];var _emscripten_bind_btGhostPairCallback___destroy___0=Module["_emscripten_bind_btGhostPairCallback___destroy___0"]=asm["_emscripten_bind_btGhostPairCallback___destroy___0"];var _emscripten_bind_btGhostPairCallback_btGhostPairCallback_0=Module["_emscripten_bind_btGhostPairCallback_btGhostPairCallback_0"]=asm["_emscripten_bind_btGhostPairCallback_btGhostPairCallback_0"];var _emscripten_bind_btHeightfieldTerrainShape___destroy___0=Module["_emscripten_bind_btHeightfieldTerrainShape___destroy___0"]=asm["_emscripten_bind_btHeightfieldTerrainShape___destroy___0"];var _emscripten_bind_btHeightfieldTerrainShape_btHeightfieldTerrainShape_9=Module["_emscripten_bind_btHeightfieldTerrainShape_btHeightfieldTerrainShape_9"]=asm["_emscripten_bind_btHeightfieldTerrainShape_btHeightfieldTerrainShape_9"];var _emscripten_bind_btHeightfieldTerrainShape_calculateLocalInertia_2=Module["_emscripten_bind_btHeightfieldTerrainShape_calculateLocalInertia_2"]=asm["_emscripten_bind_btHeightfieldTerrainShape_calculateLocalInertia_2"];var _emscripten_bind_btHeightfieldTerrainShape_getLocalScaling_0=Module["_emscripten_bind_btHeightfieldTerrainShape_getLocalScaling_0"]=asm["_emscripten_bind_btHeightfieldTerrainShape_getLocalScaling_0"];var _emscripten_bind_btHeightfieldTerrainShape_getMargin_0=Module["_emscripten_bind_btHeightfieldTerrainShape_getMargin_0"]=asm["_emscripten_bind_btHeightfieldTerrainShape_getMargin_0"];var _emscripten_bind_btHeightfieldTerrainShape_getShapeType_0=Module["_emscripten_bind_btHeightfieldTerrainShape_getShapeType_0"]=asm["_emscripten_bind_btHeightfieldTerrainShape_getShapeType_0"];var _emscripten_bind_btHeightfieldTerrainShape_setLocalScaling_1=Module["_emscripten_bind_btHeightfieldTerrainShape_setLocalScaling_1"]=asm["_emscripten_bind_btHeightfieldTerrainShape_setLocalScaling_1"];var _emscripten_bind_btHeightfieldTerrainShape_setMargin_1=Module["_emscripten_bind_btHeightfieldTerrainShape_setMargin_1"]=asm["_emscripten_bind_btHeightfieldTerrainShape_setMargin_1"];var _emscripten_bind_btHingeConstraint___destroy___0=Module["_emscripten_bind_btHingeConstraint___destroy___0"]=asm["_emscripten_bind_btHingeConstraint___destroy___0"];var _emscripten_bind_btHingeConstraint_btHingeConstraint_2=Module["_emscripten_bind_btHingeConstraint_btHingeConstraint_2"]=asm["_emscripten_bind_btHingeConstraint_btHingeConstraint_2"];var _emscripten_bind_btHingeConstraint_btHingeConstraint_3=Module["_emscripten_bind_btHingeConstraint_btHingeConstraint_3"]=asm["_emscripten_bind_btHingeConstraint_btHingeConstraint_3"];var _emscripten_bind_btHingeConstraint_btHingeConstraint_4=Module["_emscripten_bind_btHingeConstraint_btHingeConstraint_4"]=asm["_emscripten_bind_btHingeConstraint_btHingeConstraint_4"];var _emscripten_bind_btHingeConstraint_btHingeConstraint_5=Module["_emscripten_bind_btHingeConstraint_btHingeConstraint_5"]=asm["_emscripten_bind_btHingeConstraint_btHingeConstraint_5"];var _emscripten_bind_btHingeConstraint_btHingeConstraint_6=Module["_emscripten_bind_btHingeConstraint_btHingeConstraint_6"]=asm["_emscripten_bind_btHingeConstraint_btHingeConstraint_6"];var _emscripten_bind_btHingeConstraint_btHingeConstraint_7=Module["_emscripten_bind_btHingeConstraint_btHingeConstraint_7"]=asm["_emscripten_bind_btHingeConstraint_btHingeConstraint_7"];var _emscripten_bind_btHingeConstraint_enableAngularMotor_3=Module["_emscripten_bind_btHingeConstraint_enableAngularMotor_3"]=asm["_emscripten_bind_btHingeConstraint_enableAngularMotor_3"];var _emscripten_bind_btHingeConstraint_enableFeedback_1=Module["_emscripten_bind_btHingeConstraint_enableFeedback_1"]=asm["_emscripten_bind_btHingeConstraint_enableFeedback_1"];var _emscripten_bind_btHingeConstraint_enableMotor_1=Module["_emscripten_bind_btHingeConstraint_enableMotor_1"]=asm["_emscripten_bind_btHingeConstraint_enableMotor_1"];var _emscripten_bind_btHingeConstraint_getBreakingImpulseThreshold_0=Module["_emscripten_bind_btHingeConstraint_getBreakingImpulseThreshold_0"]=asm["_emscripten_bind_btHingeConstraint_getBreakingImpulseThreshold_0"];var _emscripten_bind_btHingeConstraint_getParam_2=Module["_emscripten_bind_btHingeConstraint_getParam_2"]=asm["_emscripten_bind_btHingeConstraint_getParam_2"];var _emscripten_bind_btHingeConstraint_setAngularOnly_1=Module["_emscripten_bind_btHingeConstraint_setAngularOnly_1"]=asm["_emscripten_bind_btHingeConstraint_setAngularOnly_1"];var _emscripten_bind_btHingeConstraint_setBreakingImpulseThreshold_1=Module["_emscripten_bind_btHingeConstraint_setBreakingImpulseThreshold_1"]=asm["_emscripten_bind_btHingeConstraint_setBreakingImpulseThreshold_1"];var _emscripten_bind_btHingeConstraint_setLimit_4=Module["_emscripten_bind_btHingeConstraint_setLimit_4"]=asm["_emscripten_bind_btHingeConstraint_setLimit_4"];var _emscripten_bind_btHingeConstraint_setLimit_5=Module["_emscripten_bind_btHingeConstraint_setLimit_5"]=asm["_emscripten_bind_btHingeConstraint_setLimit_5"];var _emscripten_bind_btHingeConstraint_setMaxMotorImpulse_1=Module["_emscripten_bind_btHingeConstraint_setMaxMotorImpulse_1"]=asm["_emscripten_bind_btHingeConstraint_setMaxMotorImpulse_1"];var _emscripten_bind_btHingeConstraint_setMotorTarget_2=Module["_emscripten_bind_btHingeConstraint_setMotorTarget_2"]=asm["_emscripten_bind_btHingeConstraint_setMotorTarget_2"];var _emscripten_bind_btHingeConstraint_setParam_3=Module["_emscripten_bind_btHingeConstraint_setParam_3"]=asm["_emscripten_bind_btHingeConstraint_setParam_3"];var _emscripten_bind_btIDebugDraw___destroy___0=Module["_emscripten_bind_btIDebugDraw___destroy___0"]=asm["_emscripten_bind_btIDebugDraw___destroy___0"];var _emscripten_bind_btIDebugDraw_draw3dText_2=Module["_emscripten_bind_btIDebugDraw_draw3dText_2"]=asm["_emscripten_bind_btIDebugDraw_draw3dText_2"];var _emscripten_bind_btIDebugDraw_drawContactPoint_5=Module["_emscripten_bind_btIDebugDraw_drawContactPoint_5"]=asm["_emscripten_bind_btIDebugDraw_drawContactPoint_5"];var _emscripten_bind_btIDebugDraw_drawLine_3=Module["_emscripten_bind_btIDebugDraw_drawLine_3"]=asm["_emscripten_bind_btIDebugDraw_drawLine_3"];var _emscripten_bind_btIDebugDraw_getDebugMode_0=Module["_emscripten_bind_btIDebugDraw_getDebugMode_0"]=asm["_emscripten_bind_btIDebugDraw_getDebugMode_0"];var _emscripten_bind_btIDebugDraw_reportErrorWarning_1=Module["_emscripten_bind_btIDebugDraw_reportErrorWarning_1"]=asm["_emscripten_bind_btIDebugDraw_reportErrorWarning_1"];var _emscripten_bind_btIDebugDraw_setDebugMode_1=Module["_emscripten_bind_btIDebugDraw_setDebugMode_1"]=asm["_emscripten_bind_btIDebugDraw_setDebugMode_1"];var _emscripten_bind_btIndexedMeshArray___destroy___0=Module["_emscripten_bind_btIndexedMeshArray___destroy___0"]=asm["_emscripten_bind_btIndexedMeshArray___destroy___0"];var _emscripten_bind_btIndexedMeshArray_at_1=Module["_emscripten_bind_btIndexedMeshArray_at_1"]=asm["_emscripten_bind_btIndexedMeshArray_at_1"];var _emscripten_bind_btIndexedMeshArray_size_0=Module["_emscripten_bind_btIndexedMeshArray_size_0"]=asm["_emscripten_bind_btIndexedMeshArray_size_0"];var _emscripten_bind_btIndexedMesh___destroy___0=Module["_emscripten_bind_btIndexedMesh___destroy___0"]=asm["_emscripten_bind_btIndexedMesh___destroy___0"];var _emscripten_bind_btIndexedMesh_get_m_numTriangles_0=Module["_emscripten_bind_btIndexedMesh_get_m_numTriangles_0"]=asm["_emscripten_bind_btIndexedMesh_get_m_numTriangles_0"];var _emscripten_bind_btIndexedMesh_set_m_numTriangles_1=Module["_emscripten_bind_btIndexedMesh_set_m_numTriangles_1"]=asm["_emscripten_bind_btIndexedMesh_set_m_numTriangles_1"];var _emscripten_bind_btIntArray___destroy___0=Module["_emscripten_bind_btIntArray___destroy___0"]=asm["_emscripten_bind_btIntArray___destroy___0"];var _emscripten_bind_btIntArray_at_1=Module["_emscripten_bind_btIntArray_at_1"]=asm["_emscripten_bind_btIntArray_at_1"];var _emscripten_bind_btIntArray_size_0=Module["_emscripten_bind_btIntArray_size_0"]=asm["_emscripten_bind_btIntArray_size_0"];var _emscripten_bind_btKinematicCharacterController___destroy___0=Module["_emscripten_bind_btKinematicCharacterController___destroy___0"]=asm["_emscripten_bind_btKinematicCharacterController___destroy___0"];var _emscripten_bind_btKinematicCharacterController_btKinematicCharacterController_3=Module["_emscripten_bind_btKinematicCharacterController_btKinematicCharacterController_3"]=asm["_emscripten_bind_btKinematicCharacterController_btKinematicCharacterController_3"];var _emscripten_bind_btKinematicCharacterController_btKinematicCharacterController_4=Module["_emscripten_bind_btKinematicCharacterController_btKinematicCharacterController_4"]=asm["_emscripten_bind_btKinematicCharacterController_btKinematicCharacterController_4"];var _emscripten_bind_btKinematicCharacterController_canJump_0=Module["_emscripten_bind_btKinematicCharacterController_canJump_0"]=asm["_emscripten_bind_btKinematicCharacterController_canJump_0"];var _emscripten_bind_btKinematicCharacterController_getGhostObject_0=Module["_emscripten_bind_btKinematicCharacterController_getGhostObject_0"]=asm["_emscripten_bind_btKinematicCharacterController_getGhostObject_0"];var _emscripten_bind_btKinematicCharacterController_getGravity_0=Module["_emscripten_bind_btKinematicCharacterController_getGravity_0"]=asm["_emscripten_bind_btKinematicCharacterController_getGravity_0"];var _emscripten_bind_btKinematicCharacterController_getMaxSlope_0=Module["_emscripten_bind_btKinematicCharacterController_getMaxSlope_0"]=asm["_emscripten_bind_btKinematicCharacterController_getMaxSlope_0"];var _emscripten_bind_btKinematicCharacterController_getVerticalVelocity_0=Module["_emscripten_bind_btKinematicCharacterController_getVerticalVelocity_0"]=asm["_emscripten_bind_btKinematicCharacterController_getVerticalVelocity_0"];var _emscripten_bind_btKinematicCharacterController_jump_0=Module["_emscripten_bind_btKinematicCharacterController_jump_0"]=asm["_emscripten_bind_btKinematicCharacterController_jump_0"];var _emscripten_bind_btKinematicCharacterController_onGround_0=Module["_emscripten_bind_btKinematicCharacterController_onGround_0"]=asm["_emscripten_bind_btKinematicCharacterController_onGround_0"];var _emscripten_bind_btKinematicCharacterController_playerStep_2=Module["_emscripten_bind_btKinematicCharacterController_playerStep_2"]=asm["_emscripten_bind_btKinematicCharacterController_playerStep_2"];var _emscripten_bind_btKinematicCharacterController_preStep_1=Module["_emscripten_bind_btKinematicCharacterController_preStep_1"]=asm["_emscripten_bind_btKinematicCharacterController_preStep_1"];var _emscripten_bind_btKinematicCharacterController_setFallSpeed_1=Module["_emscripten_bind_btKinematicCharacterController_setFallSpeed_1"]=asm["_emscripten_bind_btKinematicCharacterController_setFallSpeed_1"];var _emscripten_bind_btKinematicCharacterController_setGravity_1=Module["_emscripten_bind_btKinematicCharacterController_setGravity_1"]=asm["_emscripten_bind_btKinematicCharacterController_setGravity_1"];var _emscripten_bind_btKinematicCharacterController_setJumpSpeed_1=Module["_emscripten_bind_btKinematicCharacterController_setJumpSpeed_1"]=asm["_emscripten_bind_btKinematicCharacterController_setJumpSpeed_1"];var _emscripten_bind_btKinematicCharacterController_setMaxJumpHeight_1=Module["_emscripten_bind_btKinematicCharacterController_setMaxJumpHeight_1"]=asm["_emscripten_bind_btKinematicCharacterController_setMaxJumpHeight_1"];var _emscripten_bind_btKinematicCharacterController_setMaxSlope_1=Module["_emscripten_bind_btKinematicCharacterController_setMaxSlope_1"]=asm["_emscripten_bind_btKinematicCharacterController_setMaxSlope_1"];var _emscripten_bind_btKinematicCharacterController_setUpAxis_1=Module["_emscripten_bind_btKinematicCharacterController_setUpAxis_1"]=asm["_emscripten_bind_btKinematicCharacterController_setUpAxis_1"];var _emscripten_bind_btKinematicCharacterController_setUpInterpolate_1=Module["_emscripten_bind_btKinematicCharacterController_setUpInterpolate_1"]=asm["_emscripten_bind_btKinematicCharacterController_setUpInterpolate_1"];var _emscripten_bind_btKinematicCharacterController_setUseGhostSweepTest_1=Module["_emscripten_bind_btKinematicCharacterController_setUseGhostSweepTest_1"]=asm["_emscripten_bind_btKinematicCharacterController_setUseGhostSweepTest_1"];var _emscripten_bind_btKinematicCharacterController_setVelocityForTimeInterval_2=Module["_emscripten_bind_btKinematicCharacterController_setVelocityForTimeInterval_2"]=asm["_emscripten_bind_btKinematicCharacterController_setVelocityForTimeInterval_2"];var _emscripten_bind_btKinematicCharacterController_setWalkDirection_1=Module["_emscripten_bind_btKinematicCharacterController_setWalkDirection_1"]=asm["_emscripten_bind_btKinematicCharacterController_setWalkDirection_1"];var _emscripten_bind_btKinematicCharacterController_updateAction_2=Module["_emscripten_bind_btKinematicCharacterController_updateAction_2"]=asm["_emscripten_bind_btKinematicCharacterController_updateAction_2"];var _emscripten_bind_btKinematicCharacterController_warp_1=Module["_emscripten_bind_btKinematicCharacterController_warp_1"]=asm["_emscripten_bind_btKinematicCharacterController_warp_1"];var _emscripten_bind_btManifoldPoint___destroy___0=Module["_emscripten_bind_btManifoldPoint___destroy___0"]=asm["_emscripten_bind_btManifoldPoint___destroy___0"];var _emscripten_bind_btManifoldPoint_getAppliedImpulse_0=Module["_emscripten_bind_btManifoldPoint_getAppliedImpulse_0"]=asm["_emscripten_bind_btManifoldPoint_getAppliedImpulse_0"];var _emscripten_bind_btManifoldPoint_getDistance_0=Module["_emscripten_bind_btManifoldPoint_getDistance_0"]=asm["_emscripten_bind_btManifoldPoint_getDistance_0"];var _emscripten_bind_btManifoldPoint_getPositionWorldOnA_0=Module["_emscripten_bind_btManifoldPoint_getPositionWorldOnA_0"]=asm["_emscripten_bind_btManifoldPoint_getPositionWorldOnA_0"];var _emscripten_bind_btManifoldPoint_getPositionWorldOnB_0=Module["_emscripten_bind_btManifoldPoint_getPositionWorldOnB_0"]=asm["_emscripten_bind_btManifoldPoint_getPositionWorldOnB_0"];var _emscripten_bind_btManifoldPoint_get_m_localPointA_0=Module["_emscripten_bind_btManifoldPoint_get_m_localPointA_0"]=asm["_emscripten_bind_btManifoldPoint_get_m_localPointA_0"];var _emscripten_bind_btManifoldPoint_get_m_localPointB_0=Module["_emscripten_bind_btManifoldPoint_get_m_localPointB_0"]=asm["_emscripten_bind_btManifoldPoint_get_m_localPointB_0"];var _emscripten_bind_btManifoldPoint_get_m_normalWorldOnB_0=Module["_emscripten_bind_btManifoldPoint_get_m_normalWorldOnB_0"]=asm["_emscripten_bind_btManifoldPoint_get_m_normalWorldOnB_0"];var _emscripten_bind_btManifoldPoint_get_m_positionWorldOnA_0=Module["_emscripten_bind_btManifoldPoint_get_m_positionWorldOnA_0"]=asm["_emscripten_bind_btManifoldPoint_get_m_positionWorldOnA_0"];var _emscripten_bind_btManifoldPoint_get_m_positionWorldOnB_0=Module["_emscripten_bind_btManifoldPoint_get_m_positionWorldOnB_0"]=asm["_emscripten_bind_btManifoldPoint_get_m_positionWorldOnB_0"];var _emscripten_bind_btManifoldPoint_get_m_userPersistentData_0=Module["_emscripten_bind_btManifoldPoint_get_m_userPersistentData_0"]=asm["_emscripten_bind_btManifoldPoint_get_m_userPersistentData_0"];var _emscripten_bind_btManifoldPoint_set_m_localPointA_1=Module["_emscripten_bind_btManifoldPoint_set_m_localPointA_1"]=asm["_emscripten_bind_btManifoldPoint_set_m_localPointA_1"];var _emscripten_bind_btManifoldPoint_set_m_localPointB_1=Module["_emscripten_bind_btManifoldPoint_set_m_localPointB_1"]=asm["_emscripten_bind_btManifoldPoint_set_m_localPointB_1"];var _emscripten_bind_btManifoldPoint_set_m_normalWorldOnB_1=Module["_emscripten_bind_btManifoldPoint_set_m_normalWorldOnB_1"]=asm["_emscripten_bind_btManifoldPoint_set_m_normalWorldOnB_1"];var _emscripten_bind_btManifoldPoint_set_m_positionWorldOnA_1=Module["_emscripten_bind_btManifoldPoint_set_m_positionWorldOnA_1"]=asm["_emscripten_bind_btManifoldPoint_set_m_positionWorldOnA_1"];var _emscripten_bind_btManifoldPoint_set_m_positionWorldOnB_1=Module["_emscripten_bind_btManifoldPoint_set_m_positionWorldOnB_1"]=asm["_emscripten_bind_btManifoldPoint_set_m_positionWorldOnB_1"];var _emscripten_bind_btManifoldPoint_set_m_userPersistentData_1=Module["_emscripten_bind_btManifoldPoint_set_m_userPersistentData_1"]=asm["_emscripten_bind_btManifoldPoint_set_m_userPersistentData_1"];var _emscripten_bind_btMatrix3x3___destroy___0=Module["_emscripten_bind_btMatrix3x3___destroy___0"]=asm["_emscripten_bind_btMatrix3x3___destroy___0"];var _emscripten_bind_btMatrix3x3_getRotation_1=Module["_emscripten_bind_btMatrix3x3_getRotation_1"]=asm["_emscripten_bind_btMatrix3x3_getRotation_1"];var _emscripten_bind_btMatrix3x3_getRow_1=Module["_emscripten_bind_btMatrix3x3_getRow_1"]=asm["_emscripten_bind_btMatrix3x3_getRow_1"];var _emscripten_bind_btMatrix3x3_setEulerZYX_3=Module["_emscripten_bind_btMatrix3x3_setEulerZYX_3"]=asm["_emscripten_bind_btMatrix3x3_setEulerZYX_3"];var _emscripten_bind_btMotionState___destroy___0=Module["_emscripten_bind_btMotionState___destroy___0"]=asm["_emscripten_bind_btMotionState___destroy___0"];var _emscripten_bind_btMotionState_getWorldTransform_1=Module["_emscripten_bind_btMotionState_getWorldTransform_1"]=asm["_emscripten_bind_btMotionState_getWorldTransform_1"];var _emscripten_bind_btMotionState_setWorldTransform_1=Module["_emscripten_bind_btMotionState_setWorldTransform_1"]=asm["_emscripten_bind_btMotionState_setWorldTransform_1"];var _emscripten_bind_btMultiSphereShape___destroy___0=Module["_emscripten_bind_btMultiSphereShape___destroy___0"]=asm["_emscripten_bind_btMultiSphereShape___destroy___0"];var _emscripten_bind_btMultiSphereShape_btMultiSphereShape_3=Module["_emscripten_bind_btMultiSphereShape_btMultiSphereShape_3"]=asm["_emscripten_bind_btMultiSphereShape_btMultiSphereShape_3"];var _emscripten_bind_btMultiSphereShape_calculateLocalInertia_2=Module["_emscripten_bind_btMultiSphereShape_calculateLocalInertia_2"]=asm["_emscripten_bind_btMultiSphereShape_calculateLocalInertia_2"];var _emscripten_bind_btMultiSphereShape_getLocalScaling_0=Module["_emscripten_bind_btMultiSphereShape_getLocalScaling_0"]=asm["_emscripten_bind_btMultiSphereShape_getLocalScaling_0"];var _emscripten_bind_btMultiSphereShape_getShapeType_0=Module["_emscripten_bind_btMultiSphereShape_getShapeType_0"]=asm["_emscripten_bind_btMultiSphereShape_getShapeType_0"];var _emscripten_bind_btMultiSphereShape_setLocalScaling_1=Module["_emscripten_bind_btMultiSphereShape_setLocalScaling_1"]=asm["_emscripten_bind_btMultiSphereShape_setLocalScaling_1"];var _emscripten_bind_btOverlappingPairCache___destroy___0=Module["_emscripten_bind_btOverlappingPairCache___destroy___0"]=asm["_emscripten_bind_btOverlappingPairCache___destroy___0"];var _emscripten_bind_btOverlappingPairCache_getNumOverlappingPairs_0=Module["_emscripten_bind_btOverlappingPairCache_getNumOverlappingPairs_0"]=asm["_emscripten_bind_btOverlappingPairCache_getNumOverlappingPairs_0"];var _emscripten_bind_btOverlappingPairCache_setInternalGhostPairCallback_1=Module["_emscripten_bind_btOverlappingPairCache_setInternalGhostPairCallback_1"]=asm["_emscripten_bind_btOverlappingPairCache_setInternalGhostPairCallback_1"];var _emscripten_bind_btOverlappingPairCallback___destroy___0=Module["_emscripten_bind_btOverlappingPairCallback___destroy___0"]=asm["_emscripten_bind_btOverlappingPairCallback___destroy___0"];var _emscripten_bind_btPairCachingGhostObject___destroy___0=Module["_emscripten_bind_btPairCachingGhostObject___destroy___0"]=asm["_emscripten_bind_btPairCachingGhostObject___destroy___0"];var _emscripten_bind_btPairCachingGhostObject_activate_0=Module["_emscripten_bind_btPairCachingGhostObject_activate_0"]=asm["_emscripten_bind_btPairCachingGhostObject_activate_0"];var _emscripten_bind_btPairCachingGhostObject_activate_1=Module["_emscripten_bind_btPairCachingGhostObject_activate_1"]=asm["_emscripten_bind_btPairCachingGhostObject_activate_1"];var _emscripten_bind_btPairCachingGhostObject_btPairCachingGhostObject_0=Module["_emscripten_bind_btPairCachingGhostObject_btPairCachingGhostObject_0"]=asm["_emscripten_bind_btPairCachingGhostObject_btPairCachingGhostObject_0"];var _emscripten_bind_btPairCachingGhostObject_forceActivationState_1=Module["_emscripten_bind_btPairCachingGhostObject_forceActivationState_1"]=asm["_emscripten_bind_btPairCachingGhostObject_forceActivationState_1"];var _emscripten_bind_btPairCachingGhostObject_getBroadphaseHandle_0=Module["_emscripten_bind_btPairCachingGhostObject_getBroadphaseHandle_0"]=asm["_emscripten_bind_btPairCachingGhostObject_getBroadphaseHandle_0"];var _emscripten_bind_btPairCachingGhostObject_getCollisionFlags_0=Module["_emscripten_bind_btPairCachingGhostObject_getCollisionFlags_0"]=asm["_emscripten_bind_btPairCachingGhostObject_getCollisionFlags_0"];var _emscripten_bind_btPairCachingGhostObject_getCollisionShape_0=Module["_emscripten_bind_btPairCachingGhostObject_getCollisionShape_0"]=asm["_emscripten_bind_btPairCachingGhostObject_getCollisionShape_0"];var _emscripten_bind_btPairCachingGhostObject_getFriction_0=Module["_emscripten_bind_btPairCachingGhostObject_getFriction_0"]=asm["_emscripten_bind_btPairCachingGhostObject_getFriction_0"];var _emscripten_bind_btPairCachingGhostObject_getNumOverlappingObjects_0=Module["_emscripten_bind_btPairCachingGhostObject_getNumOverlappingObjects_0"]=asm["_emscripten_bind_btPairCachingGhostObject_getNumOverlappingObjects_0"];var _emscripten_bind_btPairCachingGhostObject_getOverlappingObject_1=Module["_emscripten_bind_btPairCachingGhostObject_getOverlappingObject_1"]=asm["_emscripten_bind_btPairCachingGhostObject_getOverlappingObject_1"];var _emscripten_bind_btPairCachingGhostObject_getRestitution_0=Module["_emscripten_bind_btPairCachingGhostObject_getRestitution_0"]=asm["_emscripten_bind_btPairCachingGhostObject_getRestitution_0"];var _emscripten_bind_btPairCachingGhostObject_getRollingFriction_0=Module["_emscripten_bind_btPairCachingGhostObject_getRollingFriction_0"]=asm["_emscripten_bind_btPairCachingGhostObject_getRollingFriction_0"];var _emscripten_bind_btPairCachingGhostObject_getUserIndex_0=Module["_emscripten_bind_btPairCachingGhostObject_getUserIndex_0"]=asm["_emscripten_bind_btPairCachingGhostObject_getUserIndex_0"];var _emscripten_bind_btPairCachingGhostObject_getUserPointer_0=Module["_emscripten_bind_btPairCachingGhostObject_getUserPointer_0"]=asm["_emscripten_bind_btPairCachingGhostObject_getUserPointer_0"];var _emscripten_bind_btPairCachingGhostObject_getWorldTransform_0=Module["_emscripten_bind_btPairCachingGhostObject_getWorldTransform_0"]=asm["_emscripten_bind_btPairCachingGhostObject_getWorldTransform_0"];var _emscripten_bind_btPairCachingGhostObject_isActive_0=Module["_emscripten_bind_btPairCachingGhostObject_isActive_0"]=asm["_emscripten_bind_btPairCachingGhostObject_isActive_0"];var _emscripten_bind_btPairCachingGhostObject_isKinematicObject_0=Module["_emscripten_bind_btPairCachingGhostObject_isKinematicObject_0"]=asm["_emscripten_bind_btPairCachingGhostObject_isKinematicObject_0"];var _emscripten_bind_btPairCachingGhostObject_isStaticObject_0=Module["_emscripten_bind_btPairCachingGhostObject_isStaticObject_0"]=asm["_emscripten_bind_btPairCachingGhostObject_isStaticObject_0"];var _emscripten_bind_btPairCachingGhostObject_isStaticOrKinematicObject_0=Module["_emscripten_bind_btPairCachingGhostObject_isStaticOrKinematicObject_0"]=asm["_emscripten_bind_btPairCachingGhostObject_isStaticOrKinematicObject_0"];var _emscripten_bind_btPairCachingGhostObject_setActivationState_1=Module["_emscripten_bind_btPairCachingGhostObject_setActivationState_1"]=asm["_emscripten_bind_btPairCachingGhostObject_setActivationState_1"];var _emscripten_bind_btPairCachingGhostObject_setAnisotropicFriction_2=Module["_emscripten_bind_btPairCachingGhostObject_setAnisotropicFriction_2"]=asm["_emscripten_bind_btPairCachingGhostObject_setAnisotropicFriction_2"];var _emscripten_bind_btPairCachingGhostObject_setCcdMotionThreshold_1=Module["_emscripten_bind_btPairCachingGhostObject_setCcdMotionThreshold_1"]=asm["_emscripten_bind_btPairCachingGhostObject_setCcdMotionThreshold_1"];var _emscripten_bind_btPairCachingGhostObject_setCcdSweptSphereRadius_1=Module["_emscripten_bind_btPairCachingGhostObject_setCcdSweptSphereRadius_1"]=asm["_emscripten_bind_btPairCachingGhostObject_setCcdSweptSphereRadius_1"];var _emscripten_bind_btPairCachingGhostObject_setCollisionFlags_1=Module["_emscripten_bind_btPairCachingGhostObject_setCollisionFlags_1"]=asm["_emscripten_bind_btPairCachingGhostObject_setCollisionFlags_1"];var _emscripten_bind_btPairCachingGhostObject_setCollisionShape_1=Module["_emscripten_bind_btPairCachingGhostObject_setCollisionShape_1"]=asm["_emscripten_bind_btPairCachingGhostObject_setCollisionShape_1"];var _emscripten_bind_btPairCachingGhostObject_setContactProcessingThreshold_1=Module["_emscripten_bind_btPairCachingGhostObject_setContactProcessingThreshold_1"]=asm["_emscripten_bind_btPairCachingGhostObject_setContactProcessingThreshold_1"];var _emscripten_bind_btPairCachingGhostObject_setFriction_1=Module["_emscripten_bind_btPairCachingGhostObject_setFriction_1"]=asm["_emscripten_bind_btPairCachingGhostObject_setFriction_1"];var _emscripten_bind_btPairCachingGhostObject_setRestitution_1=Module["_emscripten_bind_btPairCachingGhostObject_setRestitution_1"]=asm["_emscripten_bind_btPairCachingGhostObject_setRestitution_1"];var _emscripten_bind_btPairCachingGhostObject_setRollingFriction_1=Module["_emscripten_bind_btPairCachingGhostObject_setRollingFriction_1"]=asm["_emscripten_bind_btPairCachingGhostObject_setRollingFriction_1"];var _emscripten_bind_btPairCachingGhostObject_setUserIndex_1=Module["_emscripten_bind_btPairCachingGhostObject_setUserIndex_1"]=asm["_emscripten_bind_btPairCachingGhostObject_setUserIndex_1"];var _emscripten_bind_btPairCachingGhostObject_setUserPointer_1=Module["_emscripten_bind_btPairCachingGhostObject_setUserPointer_1"]=asm["_emscripten_bind_btPairCachingGhostObject_setUserPointer_1"];var _emscripten_bind_btPairCachingGhostObject_setWorldTransform_1=Module["_emscripten_bind_btPairCachingGhostObject_setWorldTransform_1"]=asm["_emscripten_bind_btPairCachingGhostObject_setWorldTransform_1"];var _emscripten_bind_btPersistentManifold___destroy___0=Module["_emscripten_bind_btPersistentManifold___destroy___0"]=asm["_emscripten_bind_btPersistentManifold___destroy___0"];var _emscripten_bind_btPersistentManifold_btPersistentManifold_0=Module["_emscripten_bind_btPersistentManifold_btPersistentManifold_0"]=asm["_emscripten_bind_btPersistentManifold_btPersistentManifold_0"];var _emscripten_bind_btPersistentManifold_getBody0_0=Module["_emscripten_bind_btPersistentManifold_getBody0_0"]=asm["_emscripten_bind_btPersistentManifold_getBody0_0"];var _emscripten_bind_btPersistentManifold_getBody1_0=Module["_emscripten_bind_btPersistentManifold_getBody1_0"]=asm["_emscripten_bind_btPersistentManifold_getBody1_0"];var _emscripten_bind_btPersistentManifold_getContactPoint_1=Module["_emscripten_bind_btPersistentManifold_getContactPoint_1"]=asm["_emscripten_bind_btPersistentManifold_getContactPoint_1"];var _emscripten_bind_btPersistentManifold_getNumContacts_0=Module["_emscripten_bind_btPersistentManifold_getNumContacts_0"]=asm["_emscripten_bind_btPersistentManifold_getNumContacts_0"];var _emscripten_bind_btPoint2PointConstraint___destroy___0=Module["_emscripten_bind_btPoint2PointConstraint___destroy___0"]=asm["_emscripten_bind_btPoint2PointConstraint___destroy___0"];var _emscripten_bind_btPoint2PointConstraint_btPoint2PointConstraint_2=Module["_emscripten_bind_btPoint2PointConstraint_btPoint2PointConstraint_2"]=asm["_emscripten_bind_btPoint2PointConstraint_btPoint2PointConstraint_2"];var _emscripten_bind_btPoint2PointConstraint_btPoint2PointConstraint_4=Module["_emscripten_bind_btPoint2PointConstraint_btPoint2PointConstraint_4"]=asm["_emscripten_bind_btPoint2PointConstraint_btPoint2PointConstraint_4"];var _emscripten_bind_btPoint2PointConstraint_enableFeedback_1=Module["_emscripten_bind_btPoint2PointConstraint_enableFeedback_1"]=asm["_emscripten_bind_btPoint2PointConstraint_enableFeedback_1"];var _emscripten_bind_btPoint2PointConstraint_getBreakingImpulseThreshold_0=Module["_emscripten_bind_btPoint2PointConstraint_getBreakingImpulseThreshold_0"]=asm["_emscripten_bind_btPoint2PointConstraint_getBreakingImpulseThreshold_0"];var _emscripten_bind_btPoint2PointConstraint_getParam_2=Module["_emscripten_bind_btPoint2PointConstraint_getParam_2"]=asm["_emscripten_bind_btPoint2PointConstraint_getParam_2"];var _emscripten_bind_btPoint2PointConstraint_getPivotInA_0=Module["_emscripten_bind_btPoint2PointConstraint_getPivotInA_0"]=asm["_emscripten_bind_btPoint2PointConstraint_getPivotInA_0"];var _emscripten_bind_btPoint2PointConstraint_getPivotInB_0=Module["_emscripten_bind_btPoint2PointConstraint_getPivotInB_0"]=asm["_emscripten_bind_btPoint2PointConstraint_getPivotInB_0"];var _emscripten_bind_btPoint2PointConstraint_get_m_setting_0=Module["_emscripten_bind_btPoint2PointConstraint_get_m_setting_0"]=asm["_emscripten_bind_btPoint2PointConstraint_get_m_setting_0"];var _emscripten_bind_btPoint2PointConstraint_setBreakingImpulseThreshold_1=Module["_emscripten_bind_btPoint2PointConstraint_setBreakingImpulseThreshold_1"]=asm["_emscripten_bind_btPoint2PointConstraint_setBreakingImpulseThreshold_1"];var _emscripten_bind_btPoint2PointConstraint_setParam_3=Module["_emscripten_bind_btPoint2PointConstraint_setParam_3"]=asm["_emscripten_bind_btPoint2PointConstraint_setParam_3"];var _emscripten_bind_btPoint2PointConstraint_setPivotA_1=Module["_emscripten_bind_btPoint2PointConstraint_setPivotA_1"]=asm["_emscripten_bind_btPoint2PointConstraint_setPivotA_1"];var _emscripten_bind_btPoint2PointConstraint_setPivotB_1=Module["_emscripten_bind_btPoint2PointConstraint_setPivotB_1"]=asm["_emscripten_bind_btPoint2PointConstraint_setPivotB_1"];var _emscripten_bind_btPoint2PointConstraint_set_m_setting_1=Module["_emscripten_bind_btPoint2PointConstraint_set_m_setting_1"]=asm["_emscripten_bind_btPoint2PointConstraint_set_m_setting_1"];var _emscripten_bind_btQuadWord___destroy___0=Module["_emscripten_bind_btQuadWord___destroy___0"]=asm["_emscripten_bind_btQuadWord___destroy___0"];var _emscripten_bind_btQuadWord_setW_1=Module["_emscripten_bind_btQuadWord_setW_1"]=asm["_emscripten_bind_btQuadWord_setW_1"];var _emscripten_bind_btQuadWord_setX_1=Module["_emscripten_bind_btQuadWord_setX_1"]=asm["_emscripten_bind_btQuadWord_setX_1"];var _emscripten_bind_btQuadWord_setY_1=Module["_emscripten_bind_btQuadWord_setY_1"]=asm["_emscripten_bind_btQuadWord_setY_1"];var _emscripten_bind_btQuadWord_setZ_1=Module["_emscripten_bind_btQuadWord_setZ_1"]=asm["_emscripten_bind_btQuadWord_setZ_1"];var _emscripten_bind_btQuadWord_w_0=Module["_emscripten_bind_btQuadWord_w_0"]=asm["_emscripten_bind_btQuadWord_w_0"];var _emscripten_bind_btQuadWord_x_0=Module["_emscripten_bind_btQuadWord_x_0"]=asm["_emscripten_bind_btQuadWord_x_0"];var _emscripten_bind_btQuadWord_y_0=Module["_emscripten_bind_btQuadWord_y_0"]=asm["_emscripten_bind_btQuadWord_y_0"];var _emscripten_bind_btQuadWord_z_0=Module["_emscripten_bind_btQuadWord_z_0"]=asm["_emscripten_bind_btQuadWord_z_0"];var _emscripten_bind_btQuaternion___destroy___0=Module["_emscripten_bind_btQuaternion___destroy___0"]=asm["_emscripten_bind_btQuaternion___destroy___0"];var _emscripten_bind_btQuaternion_angleShortestPath_1=Module["_emscripten_bind_btQuaternion_angleShortestPath_1"]=asm["_emscripten_bind_btQuaternion_angleShortestPath_1"];var _emscripten_bind_btQuaternion_angle_1=Module["_emscripten_bind_btQuaternion_angle_1"]=asm["_emscripten_bind_btQuaternion_angle_1"];var _emscripten_bind_btQuaternion_btQuaternion_4=Module["_emscripten_bind_btQuaternion_btQuaternion_4"]=asm["_emscripten_bind_btQuaternion_btQuaternion_4"];var _emscripten_bind_btQuaternion_dot_1=Module["_emscripten_bind_btQuaternion_dot_1"]=asm["_emscripten_bind_btQuaternion_dot_1"];var _emscripten_bind_btQuaternion_getAngleShortestPath_0=Module["_emscripten_bind_btQuaternion_getAngleShortestPath_0"]=asm["_emscripten_bind_btQuaternion_getAngleShortestPath_0"];var _emscripten_bind_btQuaternion_getAngle_0=Module["_emscripten_bind_btQuaternion_getAngle_0"]=asm["_emscripten_bind_btQuaternion_getAngle_0"];var _emscripten_bind_btQuaternion_getAxis_0=Module["_emscripten_bind_btQuaternion_getAxis_0"]=asm["_emscripten_bind_btQuaternion_getAxis_0"];var _emscripten_bind_btQuaternion_inverse_0=Module["_emscripten_bind_btQuaternion_inverse_0"]=asm["_emscripten_bind_btQuaternion_inverse_0"];var _emscripten_bind_btQuaternion_length2_0=Module["_emscripten_bind_btQuaternion_length2_0"]=asm["_emscripten_bind_btQuaternion_length2_0"];var _emscripten_bind_btQuaternion_length_0=Module["_emscripten_bind_btQuaternion_length_0"]=asm["_emscripten_bind_btQuaternion_length_0"];var _emscripten_bind_btQuaternion_normalize_0=Module["_emscripten_bind_btQuaternion_normalize_0"]=asm["_emscripten_bind_btQuaternion_normalize_0"];var _emscripten_bind_btQuaternion_normalized_0=Module["_emscripten_bind_btQuaternion_normalized_0"]=asm["_emscripten_bind_btQuaternion_normalized_0"];var _emscripten_bind_btQuaternion_op_add_1=Module["_emscripten_bind_btQuaternion_op_add_1"]=asm["_emscripten_bind_btQuaternion_op_add_1"];var _emscripten_bind_btQuaternion_op_div_1=Module["_emscripten_bind_btQuaternion_op_div_1"]=asm["_emscripten_bind_btQuaternion_op_div_1"];var _emscripten_bind_btQuaternion_op_mul_1=Module["_emscripten_bind_btQuaternion_op_mul_1"]=asm["_emscripten_bind_btQuaternion_op_mul_1"];var _emscripten_bind_btQuaternion_op_mulq_1=Module["_emscripten_bind_btQuaternion_op_mulq_1"]=asm["_emscripten_bind_btQuaternion_op_mulq_1"];var _emscripten_bind_btQuaternion_op_sub_1=Module["_emscripten_bind_btQuaternion_op_sub_1"]=asm["_emscripten_bind_btQuaternion_op_sub_1"];var _emscripten_bind_btQuaternion_setEulerZYX_3=Module["_emscripten_bind_btQuaternion_setEulerZYX_3"]=asm["_emscripten_bind_btQuaternion_setEulerZYX_3"];var _emscripten_bind_btQuaternion_setRotation_2=Module["_emscripten_bind_btQuaternion_setRotation_2"]=asm["_emscripten_bind_btQuaternion_setRotation_2"];var _emscripten_bind_btQuaternion_setValue_4=Module["_emscripten_bind_btQuaternion_setValue_4"]=asm["_emscripten_bind_btQuaternion_setValue_4"];var _emscripten_bind_btQuaternion_setW_1=Module["_emscripten_bind_btQuaternion_setW_1"]=asm["_emscripten_bind_btQuaternion_setW_1"];var _emscripten_bind_btQuaternion_setX_1=Module["_emscripten_bind_btQuaternion_setX_1"]=asm["_emscripten_bind_btQuaternion_setX_1"];var _emscripten_bind_btQuaternion_setY_1=Module["_emscripten_bind_btQuaternion_setY_1"]=asm["_emscripten_bind_btQuaternion_setY_1"];var _emscripten_bind_btQuaternion_setZ_1=Module["_emscripten_bind_btQuaternion_setZ_1"]=asm["_emscripten_bind_btQuaternion_setZ_1"];var _emscripten_bind_btQuaternion_w_0=Module["_emscripten_bind_btQuaternion_w_0"]=asm["_emscripten_bind_btQuaternion_w_0"];var _emscripten_bind_btQuaternion_x_0=Module["_emscripten_bind_btQuaternion_x_0"]=asm["_emscripten_bind_btQuaternion_x_0"];var _emscripten_bind_btQuaternion_y_0=Module["_emscripten_bind_btQuaternion_y_0"]=asm["_emscripten_bind_btQuaternion_y_0"];var _emscripten_bind_btQuaternion_z_0=Module["_emscripten_bind_btQuaternion_z_0"]=asm["_emscripten_bind_btQuaternion_z_0"];var _emscripten_bind_btRaycastVehicle___destroy___0=Module["_emscripten_bind_btRaycastVehicle___destroy___0"]=asm["_emscripten_bind_btRaycastVehicle___destroy___0"];var _emscripten_bind_btRaycastVehicle_addWheel_7=Module["_emscripten_bind_btRaycastVehicle_addWheel_7"]=asm["_emscripten_bind_btRaycastVehicle_addWheel_7"];var _emscripten_bind_btRaycastVehicle_applyEngineForce_2=Module["_emscripten_bind_btRaycastVehicle_applyEngineForce_2"]=asm["_emscripten_bind_btRaycastVehicle_applyEngineForce_2"];var _emscripten_bind_btRaycastVehicle_btRaycastVehicle_3=Module["_emscripten_bind_btRaycastVehicle_btRaycastVehicle_3"]=asm["_emscripten_bind_btRaycastVehicle_btRaycastVehicle_3"];var _emscripten_bind_btRaycastVehicle_getChassisWorldTransform_0=Module["_emscripten_bind_btRaycastVehicle_getChassisWorldTransform_0"]=asm["_emscripten_bind_btRaycastVehicle_getChassisWorldTransform_0"];var _emscripten_bind_btRaycastVehicle_getCurrentSpeedKmHour_0=Module["_emscripten_bind_btRaycastVehicle_getCurrentSpeedKmHour_0"]=asm["_emscripten_bind_btRaycastVehicle_getCurrentSpeedKmHour_0"];var _emscripten_bind_btRaycastVehicle_getForwardAxis_0=Module["_emscripten_bind_btRaycastVehicle_getForwardAxis_0"]=asm["_emscripten_bind_btRaycastVehicle_getForwardAxis_0"];var _emscripten_bind_btRaycastVehicle_getForwardVector_0=Module["_emscripten_bind_btRaycastVehicle_getForwardVector_0"]=asm["_emscripten_bind_btRaycastVehicle_getForwardVector_0"];var _emscripten_bind_btRaycastVehicle_getNumWheels_0=Module["_emscripten_bind_btRaycastVehicle_getNumWheels_0"]=asm["_emscripten_bind_btRaycastVehicle_getNumWheels_0"];var _emscripten_bind_btRaycastVehicle_getRightAxis_0=Module["_emscripten_bind_btRaycastVehicle_getRightAxis_0"]=asm["_emscripten_bind_btRaycastVehicle_getRightAxis_0"];var _emscripten_bind_btRaycastVehicle_getRigidBody_0=Module["_emscripten_bind_btRaycastVehicle_getRigidBody_0"]=asm["_emscripten_bind_btRaycastVehicle_getRigidBody_0"];var _emscripten_bind_btRaycastVehicle_getSteeringValue_1=Module["_emscripten_bind_btRaycastVehicle_getSteeringValue_1"]=asm["_emscripten_bind_btRaycastVehicle_getSteeringValue_1"];var _emscripten_bind_btRaycastVehicle_getUpAxis_0=Module["_emscripten_bind_btRaycastVehicle_getUpAxis_0"]=asm["_emscripten_bind_btRaycastVehicle_getUpAxis_0"];var _emscripten_bind_btRaycastVehicle_getUserConstraintId_0=Module["_emscripten_bind_btRaycastVehicle_getUserConstraintId_0"]=asm["_emscripten_bind_btRaycastVehicle_getUserConstraintId_0"];var _emscripten_bind_btRaycastVehicle_getUserConstraintType_0=Module["_emscripten_bind_btRaycastVehicle_getUserConstraintType_0"]=asm["_emscripten_bind_btRaycastVehicle_getUserConstraintType_0"];var _emscripten_bind_btRaycastVehicle_getWheelInfo_1=Module["_emscripten_bind_btRaycastVehicle_getWheelInfo_1"]=asm["_emscripten_bind_btRaycastVehicle_getWheelInfo_1"];var _emscripten_bind_btRaycastVehicle_getWheelTransformWS_1=Module["_emscripten_bind_btRaycastVehicle_getWheelTransformWS_1"]=asm["_emscripten_bind_btRaycastVehicle_getWheelTransformWS_1"];var _emscripten_bind_btRaycastVehicle_get_m_enableMultiRaycast_0=Module["_emscripten_bind_btRaycastVehicle_get_m_enableMultiRaycast_0"]=asm["_emscripten_bind_btRaycastVehicle_get_m_enableMultiRaycast_0"];var _emscripten_bind_btRaycastVehicle_get_m_minimumWheelContacts_0=Module["_emscripten_bind_btRaycastVehicle_get_m_minimumWheelContacts_0"]=asm["_emscripten_bind_btRaycastVehicle_get_m_minimumWheelContacts_0"];var _emscripten_bind_btRaycastVehicle_get_m_smoothFlyingImpulse_0=Module["_emscripten_bind_btRaycastVehicle_get_m_smoothFlyingImpulse_0"]=asm["_emscripten_bind_btRaycastVehicle_get_m_smoothFlyingImpulse_0"];var _emscripten_bind_btRaycastVehicle_get_m_stabilizingForce_0=Module["_emscripten_bind_btRaycastVehicle_get_m_stabilizingForce_0"]=asm["_emscripten_bind_btRaycastVehicle_get_m_stabilizingForce_0"];var _emscripten_bind_btRaycastVehicle_get_m_trackConnectionAccel_0=Module["_emscripten_bind_btRaycastVehicle_get_m_trackConnectionAccel_0"]=asm["_emscripten_bind_btRaycastVehicle_get_m_trackConnectionAccel_0"];var _emscripten_bind_btRaycastVehicle_rayCast_1=Module["_emscripten_bind_btRaycastVehicle_rayCast_1"]=asm["_emscripten_bind_btRaycastVehicle_rayCast_1"];var _emscripten_bind_btRaycastVehicle_resetSuspension_0=Module["_emscripten_bind_btRaycastVehicle_resetSuspension_0"]=asm["_emscripten_bind_btRaycastVehicle_resetSuspension_0"];var _emscripten_bind_btRaycastVehicle_setBrake_2=Module["_emscripten_bind_btRaycastVehicle_setBrake_2"]=asm["_emscripten_bind_btRaycastVehicle_setBrake_2"];var _emscripten_bind_btRaycastVehicle_setCoordinateSystem_3=Module["_emscripten_bind_btRaycastVehicle_setCoordinateSystem_3"]=asm["_emscripten_bind_btRaycastVehicle_setCoordinateSystem_3"];var _emscripten_bind_btRaycastVehicle_setPitchControl_1=Module["_emscripten_bind_btRaycastVehicle_setPitchControl_1"]=asm["_emscripten_bind_btRaycastVehicle_setPitchControl_1"];var _emscripten_bind_btRaycastVehicle_setSteeringValue_2=Module["_emscripten_bind_btRaycastVehicle_setSteeringValue_2"]=asm["_emscripten_bind_btRaycastVehicle_setSteeringValue_2"];var _emscripten_bind_btRaycastVehicle_setUserConstraintId_1=Module["_emscripten_bind_btRaycastVehicle_setUserConstraintId_1"]=asm["_emscripten_bind_btRaycastVehicle_setUserConstraintId_1"];var _emscripten_bind_btRaycastVehicle_setUserConstraintType_1=Module["_emscripten_bind_btRaycastVehicle_setUserConstraintType_1"]=asm["_emscripten_bind_btRaycastVehicle_setUserConstraintType_1"];var _emscripten_bind_btRaycastVehicle_set_m_enableMultiRaycast_1=Module["_emscripten_bind_btRaycastVehicle_set_m_enableMultiRaycast_1"]=asm["_emscripten_bind_btRaycastVehicle_set_m_enableMultiRaycast_1"];var _emscripten_bind_btRaycastVehicle_set_m_minimumWheelContacts_1=Module["_emscripten_bind_btRaycastVehicle_set_m_minimumWheelContacts_1"]=asm["_emscripten_bind_btRaycastVehicle_set_m_minimumWheelContacts_1"];var _emscripten_bind_btRaycastVehicle_set_m_smoothFlyingImpulse_1=Module["_emscripten_bind_btRaycastVehicle_set_m_smoothFlyingImpulse_1"]=asm["_emscripten_bind_btRaycastVehicle_set_m_smoothFlyingImpulse_1"];var _emscripten_bind_btRaycastVehicle_set_m_stabilizingForce_1=Module["_emscripten_bind_btRaycastVehicle_set_m_stabilizingForce_1"]=asm["_emscripten_bind_btRaycastVehicle_set_m_stabilizingForce_1"];var _emscripten_bind_btRaycastVehicle_set_m_trackConnectionAccel_1=Module["_emscripten_bind_btRaycastVehicle_set_m_trackConnectionAccel_1"]=asm["_emscripten_bind_btRaycastVehicle_set_m_trackConnectionAccel_1"];var _emscripten_bind_btRaycastVehicle_updateAction_2=Module["_emscripten_bind_btRaycastVehicle_updateAction_2"]=asm["_emscripten_bind_btRaycastVehicle_updateAction_2"];var _emscripten_bind_btRaycastVehicle_updateFriction_1=Module["_emscripten_bind_btRaycastVehicle_updateFriction_1"]=asm["_emscripten_bind_btRaycastVehicle_updateFriction_1"];var _emscripten_bind_btRaycastVehicle_updateSuspension_1=Module["_emscripten_bind_btRaycastVehicle_updateSuspension_1"]=asm["_emscripten_bind_btRaycastVehicle_updateSuspension_1"];var _emscripten_bind_btRaycastVehicle_updateVehicle_1=Module["_emscripten_bind_btRaycastVehicle_updateVehicle_1"]=asm["_emscripten_bind_btRaycastVehicle_updateVehicle_1"];var _emscripten_bind_btRaycastVehicle_updateWheelTransform_2=Module["_emscripten_bind_btRaycastVehicle_updateWheelTransform_2"]=asm["_emscripten_bind_btRaycastVehicle_updateWheelTransform_2"];var _emscripten_bind_btRaycastVehicle_updateWheelTransformsWS_1=Module["_emscripten_bind_btRaycastVehicle_updateWheelTransformsWS_1"]=asm["_emscripten_bind_btRaycastVehicle_updateWheelTransformsWS_1"];var _emscripten_bind_btRaycastVehicle_updateWheelTransformsWS_2=Module["_emscripten_bind_btRaycastVehicle_updateWheelTransformsWS_2"]=asm["_emscripten_bind_btRaycastVehicle_updateWheelTransformsWS_2"];var _emscripten_bind_btRigidBodyConstructionInfo___destroy___0=Module["_emscripten_bind_btRigidBodyConstructionInfo___destroy___0"]=asm["_emscripten_bind_btRigidBodyConstructionInfo___destroy___0"];var _emscripten_bind_btRigidBodyConstructionInfo_btRigidBodyConstructionInfo_3=Module["_emscripten_bind_btRigidBodyConstructionInfo_btRigidBodyConstructionInfo_3"]=asm["_emscripten_bind_btRigidBodyConstructionInfo_btRigidBodyConstructionInfo_3"];var _emscripten_bind_btRigidBodyConstructionInfo_btRigidBodyConstructionInfo_4=Module["_emscripten_bind_btRigidBodyConstructionInfo_btRigidBodyConstructionInfo_4"]=asm["_emscripten_bind_btRigidBodyConstructionInfo_btRigidBodyConstructionInfo_4"];var _emscripten_bind_btRigidBodyConstructionInfo_get_m_additionalAngularDampingFactor_0=Module["_emscripten_bind_btRigidBodyConstructionInfo_get_m_additionalAngularDampingFactor_0"]=asm["_emscripten_bind_btRigidBodyConstructionInfo_get_m_additionalAngularDampingFactor_0"];var _emscripten_bind_btRigidBodyConstructionInfo_get_m_additionalAngularDampingThresholdSqr_0=Module["_emscripten_bind_btRigidBodyConstructionInfo_get_m_additionalAngularDampingThresholdSqr_0"]=asm["_emscripten_bind_btRigidBodyConstructionInfo_get_m_additionalAngularDampingThresholdSqr_0"];var _emscripten_bind_btRigidBodyConstructionInfo_get_m_additionalDampingFactor_0=Module["_emscripten_bind_btRigidBodyConstructionInfo_get_m_additionalDampingFactor_0"]=asm["_emscripten_bind_btRigidBodyConstructionInfo_get_m_additionalDampingFactor_0"];var _emscripten_bind_btRigidBodyConstructionInfo_get_m_additionalDamping_0=Module["_emscripten_bind_btRigidBodyConstructionInfo_get_m_additionalDamping_0"]=asm["_emscripten_bind_btRigidBodyConstructionInfo_get_m_additionalDamping_0"];var _emscripten_bind_btRigidBodyConstructionInfo_get_m_additionalLinearDampingThresholdSqr_0=Module["_emscripten_bind_btRigidBodyConstructionInfo_get_m_additionalLinearDampingThresholdSqr_0"]=asm["_emscripten_bind_btRigidBodyConstructionInfo_get_m_additionalLinearDampingThresholdSqr_0"];var _emscripten_bind_btRigidBodyConstructionInfo_get_m_angularDamping_0=Module["_emscripten_bind_btRigidBodyConstructionInfo_get_m_angularDamping_0"]=asm["_emscripten_bind_btRigidBodyConstructionInfo_get_m_angularDamping_0"];var _emscripten_bind_btRigidBodyConstructionInfo_get_m_angularSleepingThreshold_0=Module["_emscripten_bind_btRigidBodyConstructionInfo_get_m_angularSleepingThreshold_0"]=asm["_emscripten_bind_btRigidBodyConstructionInfo_get_m_angularSleepingThreshold_0"];var _emscripten_bind_btRigidBodyConstructionInfo_get_m_friction_0=Module["_emscripten_bind_btRigidBodyConstructionInfo_get_m_friction_0"]=asm["_emscripten_bind_btRigidBodyConstructionInfo_get_m_friction_0"];var _emscripten_bind_btRigidBodyConstructionInfo_get_m_linearDamping_0=Module["_emscripten_bind_btRigidBodyConstructionInfo_get_m_linearDamping_0"]=asm["_emscripten_bind_btRigidBodyConstructionInfo_get_m_linearDamping_0"];var _emscripten_bind_btRigidBodyConstructionInfo_get_m_linearSleepingThreshold_0=Module["_emscripten_bind_btRigidBodyConstructionInfo_get_m_linearSleepingThreshold_0"]=asm["_emscripten_bind_btRigidBodyConstructionInfo_get_m_linearSleepingThreshold_0"];var _emscripten_bind_btRigidBodyConstructionInfo_get_m_restitution_0=Module["_emscripten_bind_btRigidBodyConstructionInfo_get_m_restitution_0"]=asm["_emscripten_bind_btRigidBodyConstructionInfo_get_m_restitution_0"];var _emscripten_bind_btRigidBodyConstructionInfo_get_m_rollingFriction_0=Module["_emscripten_bind_btRigidBodyConstructionInfo_get_m_rollingFriction_0"]=asm["_emscripten_bind_btRigidBodyConstructionInfo_get_m_rollingFriction_0"];var _emscripten_bind_btRigidBodyConstructionInfo_set_m_additionalAngularDampingFactor_1=Module["_emscripten_bind_btRigidBodyConstructionInfo_set_m_additionalAngularDampingFactor_1"]=asm["_emscripten_bind_btRigidBodyConstructionInfo_set_m_additionalAngularDampingFactor_1"];var _emscripten_bind_btRigidBodyConstructionInfo_set_m_additionalAngularDampingThresholdSqr_1=Module["_emscripten_bind_btRigidBodyConstructionInfo_set_m_additionalAngularDampingThresholdSqr_1"]=asm["_emscripten_bind_btRigidBodyConstructionInfo_set_m_additionalAngularDampingThresholdSqr_1"];var _emscripten_bind_btRigidBodyConstructionInfo_set_m_additionalDampingFactor_1=Module["_emscripten_bind_btRigidBodyConstructionInfo_set_m_additionalDampingFactor_1"]=asm["_emscripten_bind_btRigidBodyConstructionInfo_set_m_additionalDampingFactor_1"];var _emscripten_bind_btRigidBodyConstructionInfo_set_m_additionalDamping_1=Module["_emscripten_bind_btRigidBodyConstructionInfo_set_m_additionalDamping_1"]=asm["_emscripten_bind_btRigidBodyConstructionInfo_set_m_additionalDamping_1"];var _emscripten_bind_btRigidBodyConstructionInfo_set_m_additionalLinearDampingThresholdSqr_1=Module["_emscripten_bind_btRigidBodyConstructionInfo_set_m_additionalLinearDampingThresholdSqr_1"]=asm["_emscripten_bind_btRigidBodyConstructionInfo_set_m_additionalLinearDampingThresholdSqr_1"];var _emscripten_bind_btRigidBodyConstructionInfo_set_m_angularDamping_1=Module["_emscripten_bind_btRigidBodyConstructionInfo_set_m_angularDamping_1"]=asm["_emscripten_bind_btRigidBodyConstructionInfo_set_m_angularDamping_1"];var _emscripten_bind_btRigidBodyConstructionInfo_set_m_angularSleepingThreshold_1=Module["_emscripten_bind_btRigidBodyConstructionInfo_set_m_angularSleepingThreshold_1"]=asm["_emscripten_bind_btRigidBodyConstructionInfo_set_m_angularSleepingThreshold_1"];var _emscripten_bind_btRigidBodyConstructionInfo_set_m_friction_1=Module["_emscripten_bind_btRigidBodyConstructionInfo_set_m_friction_1"]=asm["_emscripten_bind_btRigidBodyConstructionInfo_set_m_friction_1"];var _emscripten_bind_btRigidBodyConstructionInfo_set_m_linearDamping_1=Module["_emscripten_bind_btRigidBodyConstructionInfo_set_m_linearDamping_1"]=asm["_emscripten_bind_btRigidBodyConstructionInfo_set_m_linearDamping_1"];var _emscripten_bind_btRigidBodyConstructionInfo_set_m_linearSleepingThreshold_1=Module["_emscripten_bind_btRigidBodyConstructionInfo_set_m_linearSleepingThreshold_1"]=asm["_emscripten_bind_btRigidBodyConstructionInfo_set_m_linearSleepingThreshold_1"];var _emscripten_bind_btRigidBodyConstructionInfo_set_m_restitution_1=Module["_emscripten_bind_btRigidBodyConstructionInfo_set_m_restitution_1"]=asm["_emscripten_bind_btRigidBodyConstructionInfo_set_m_restitution_1"];var _emscripten_bind_btRigidBodyConstructionInfo_set_m_rollingFriction_1=Module["_emscripten_bind_btRigidBodyConstructionInfo_set_m_rollingFriction_1"]=asm["_emscripten_bind_btRigidBodyConstructionInfo_set_m_rollingFriction_1"];var _emscripten_bind_btRigidBody___destroy___0=Module["_emscripten_bind_btRigidBody___destroy___0"]=asm["_emscripten_bind_btRigidBody___destroy___0"];var _emscripten_bind_btRigidBody_activate_0=Module["_emscripten_bind_btRigidBody_activate_0"]=asm["_emscripten_bind_btRigidBody_activate_0"];var _emscripten_bind_btRigidBody_activate_1=Module["_emscripten_bind_btRigidBody_activate_1"]=asm["_emscripten_bind_btRigidBody_activate_1"];var _emscripten_bind_btRigidBody_applyCentralForce_1=Module["_emscripten_bind_btRigidBody_applyCentralForce_1"]=asm["_emscripten_bind_btRigidBody_applyCentralForce_1"];var _emscripten_bind_btRigidBody_applyCentralImpulse_1=Module["_emscripten_bind_btRigidBody_applyCentralImpulse_1"]=asm["_emscripten_bind_btRigidBody_applyCentralImpulse_1"];var _emscripten_bind_btRigidBody_applyCentralLocalForce_1=Module["_emscripten_bind_btRigidBody_applyCentralLocalForce_1"]=asm["_emscripten_bind_btRigidBody_applyCentralLocalForce_1"];var _emscripten_bind_btRigidBody_applyForce_2=Module["_emscripten_bind_btRigidBody_applyForce_2"]=asm["_emscripten_bind_btRigidBody_applyForce_2"];var _emscripten_bind_btRigidBody_applyGravity_0=Module["_emscripten_bind_btRigidBody_applyGravity_0"]=asm["_emscripten_bind_btRigidBody_applyGravity_0"];var _emscripten_bind_btRigidBody_applyImpulse_2=Module["_emscripten_bind_btRigidBody_applyImpulse_2"]=asm["_emscripten_bind_btRigidBody_applyImpulse_2"];var _emscripten_bind_btRigidBody_applyLocalTorque_1=Module["_emscripten_bind_btRigidBody_applyLocalTorque_1"]=asm["_emscripten_bind_btRigidBody_applyLocalTorque_1"];var _emscripten_bind_btRigidBody_applyTorqueImpulse_1=Module["_emscripten_bind_btRigidBody_applyTorqueImpulse_1"]=asm["_emscripten_bind_btRigidBody_applyTorqueImpulse_1"];var _emscripten_bind_btRigidBody_applyTorque_1=Module["_emscripten_bind_btRigidBody_applyTorque_1"]=asm["_emscripten_bind_btRigidBody_applyTorque_1"];var _emscripten_bind_btRigidBody_btRigidBody_1=Module["_emscripten_bind_btRigidBody_btRigidBody_1"]=asm["_emscripten_bind_btRigidBody_btRigidBody_1"];var _emscripten_bind_btRigidBody_clearForces_0=Module["_emscripten_bind_btRigidBody_clearForces_0"]=asm["_emscripten_bind_btRigidBody_clearForces_0"];var _emscripten_bind_btRigidBody_forceActivationState_1=Module["_emscripten_bind_btRigidBody_forceActivationState_1"]=asm["_emscripten_bind_btRigidBody_forceActivationState_1"];var _emscripten_bind_btRigidBody_getAabb_2=Module["_emscripten_bind_btRigidBody_getAabb_2"]=asm["_emscripten_bind_btRigidBody_getAabb_2"];var _emscripten_bind_btRigidBody_getAngularDamping_0=Module["_emscripten_bind_btRigidBody_getAngularDamping_0"]=asm["_emscripten_bind_btRigidBody_getAngularDamping_0"];var _emscripten_bind_btRigidBody_getAngularFactor_0=Module["_emscripten_bind_btRigidBody_getAngularFactor_0"]=asm["_emscripten_bind_btRigidBody_getAngularFactor_0"];var _emscripten_bind_btRigidBody_getAngularVelocity_0=Module["_emscripten_bind_btRigidBody_getAngularVelocity_0"]=asm["_emscripten_bind_btRigidBody_getAngularVelocity_0"];var _emscripten_bind_btRigidBody_getBroadphaseHandle_0=Module["_emscripten_bind_btRigidBody_getBroadphaseHandle_0"]=asm["_emscripten_bind_btRigidBody_getBroadphaseHandle_0"];var _emscripten_bind_btRigidBody_getBroadphaseProxy_0=Module["_emscripten_bind_btRigidBody_getBroadphaseProxy_0"]=asm["_emscripten_bind_btRigidBody_getBroadphaseProxy_0"];var _emscripten_bind_btRigidBody_getCenterOfMassTransform_0=Module["_emscripten_bind_btRigidBody_getCenterOfMassTransform_0"]=asm["_emscripten_bind_btRigidBody_getCenterOfMassTransform_0"];var _emscripten_bind_btRigidBody_getCollisionFlags_0=Module["_emscripten_bind_btRigidBody_getCollisionFlags_0"]=asm["_emscripten_bind_btRigidBody_getCollisionFlags_0"];var _emscripten_bind_btRigidBody_getCollisionShape_0=Module["_emscripten_bind_btRigidBody_getCollisionShape_0"]=asm["_emscripten_bind_btRigidBody_getCollisionShape_0"];var _emscripten_bind_btRigidBody_getFriction_0=Module["_emscripten_bind_btRigidBody_getFriction_0"]=asm["_emscripten_bind_btRigidBody_getFriction_0"];var _emscripten_bind_btRigidBody_getGravity_0=Module["_emscripten_bind_btRigidBody_getGravity_0"]=asm["_emscripten_bind_btRigidBody_getGravity_0"];var _emscripten_bind_btRigidBody_getLinearDamping_0=Module["_emscripten_bind_btRigidBody_getLinearDamping_0"]=asm["_emscripten_bind_btRigidBody_getLinearDamping_0"];var _emscripten_bind_btRigidBody_getLinearFactor_0=Module["_emscripten_bind_btRigidBody_getLinearFactor_0"]=asm["_emscripten_bind_btRigidBody_getLinearFactor_0"];var _emscripten_bind_btRigidBody_getLinearVelocity_0=Module["_emscripten_bind_btRigidBody_getLinearVelocity_0"]=asm["_emscripten_bind_btRigidBody_getLinearVelocity_0"];var _emscripten_bind_btRigidBody_getMotionState_0=Module["_emscripten_bind_btRigidBody_getMotionState_0"]=asm["_emscripten_bind_btRigidBody_getMotionState_0"];var _emscripten_bind_btRigidBody_getRestitution_0=Module["_emscripten_bind_btRigidBody_getRestitution_0"]=asm["_emscripten_bind_btRigidBody_getRestitution_0"];var _emscripten_bind_btRigidBody_getRollingFriction_0=Module["_emscripten_bind_btRigidBody_getRollingFriction_0"]=asm["_emscripten_bind_btRigidBody_getRollingFriction_0"];var _emscripten_bind_btRigidBody_getUserIndex_0=Module["_emscripten_bind_btRigidBody_getUserIndex_0"]=asm["_emscripten_bind_btRigidBody_getUserIndex_0"];var _emscripten_bind_btRigidBody_getUserPointer_0=Module["_emscripten_bind_btRigidBody_getUserPointer_0"]=asm["_emscripten_bind_btRigidBody_getUserPointer_0"];var _emscripten_bind_btRigidBody_getWorldTransform_0=Module["_emscripten_bind_btRigidBody_getWorldTransform_0"]=asm["_emscripten_bind_btRigidBody_getWorldTransform_0"];var _emscripten_bind_btRigidBody_isActive_0=Module["_emscripten_bind_btRigidBody_isActive_0"]=asm["_emscripten_bind_btRigidBody_isActive_0"];var _emscripten_bind_btRigidBody_isKinematicObject_0=Module["_emscripten_bind_btRigidBody_isKinematicObject_0"]=asm["_emscripten_bind_btRigidBody_isKinematicObject_0"];var _emscripten_bind_btRigidBody_isStaticObject_0=Module["_emscripten_bind_btRigidBody_isStaticObject_0"]=asm["_emscripten_bind_btRigidBody_isStaticObject_0"];var _emscripten_bind_btRigidBody_isStaticOrKinematicObject_0=Module["_emscripten_bind_btRigidBody_isStaticOrKinematicObject_0"]=asm["_emscripten_bind_btRigidBody_isStaticOrKinematicObject_0"];var _emscripten_bind_btRigidBody_setActivationState_1=Module["_emscripten_bind_btRigidBody_setActivationState_1"]=asm["_emscripten_bind_btRigidBody_setActivationState_1"];var _emscripten_bind_btRigidBody_setAngularFactor_1=Module["_emscripten_bind_btRigidBody_setAngularFactor_1"]=asm["_emscripten_bind_btRigidBody_setAngularFactor_1"];var _emscripten_bind_btRigidBody_setAngularVelocity_1=Module["_emscripten_bind_btRigidBody_setAngularVelocity_1"]=asm["_emscripten_bind_btRigidBody_setAngularVelocity_1"];var _emscripten_bind_btRigidBody_setAnisotropicFriction_2=Module["_emscripten_bind_btRigidBody_setAnisotropicFriction_2"]=asm["_emscripten_bind_btRigidBody_setAnisotropicFriction_2"];var _emscripten_bind_btRigidBody_setCcdMotionThreshold_1=Module["_emscripten_bind_btRigidBody_setCcdMotionThreshold_1"]=asm["_emscripten_bind_btRigidBody_setCcdMotionThreshold_1"];var _emscripten_bind_btRigidBody_setCcdSweptSphereRadius_1=Module["_emscripten_bind_btRigidBody_setCcdSweptSphereRadius_1"]=asm["_emscripten_bind_btRigidBody_setCcdSweptSphereRadius_1"];var _emscripten_bind_btRigidBody_setCenterOfMassTransform_1=Module["_emscripten_bind_btRigidBody_setCenterOfMassTransform_1"]=asm["_emscripten_bind_btRigidBody_setCenterOfMassTransform_1"];var _emscripten_bind_btRigidBody_setCollisionFlags_1=Module["_emscripten_bind_btRigidBody_setCollisionFlags_1"]=asm["_emscripten_bind_btRigidBody_setCollisionFlags_1"];var _emscripten_bind_btRigidBody_setCollisionShape_1=Module["_emscripten_bind_btRigidBody_setCollisionShape_1"]=asm["_emscripten_bind_btRigidBody_setCollisionShape_1"];var _emscripten_bind_btRigidBody_setContactProcessingThreshold_1=Module["_emscripten_bind_btRigidBody_setContactProcessingThreshold_1"]=asm["_emscripten_bind_btRigidBody_setContactProcessingThreshold_1"];var _emscripten_bind_btRigidBody_setDamping_2=Module["_emscripten_bind_btRigidBody_setDamping_2"]=asm["_emscripten_bind_btRigidBody_setDamping_2"];var _emscripten_bind_btRigidBody_setFriction_1=Module["_emscripten_bind_btRigidBody_setFriction_1"]=asm["_emscripten_bind_btRigidBody_setFriction_1"];var _emscripten_bind_btRigidBody_setGravity_1=Module["_emscripten_bind_btRigidBody_setGravity_1"]=asm["_emscripten_bind_btRigidBody_setGravity_1"];var _emscripten_bind_btRigidBody_setLinearFactor_1=Module["_emscripten_bind_btRigidBody_setLinearFactor_1"]=asm["_emscripten_bind_btRigidBody_setLinearFactor_1"];var _emscripten_bind_btRigidBody_setLinearVelocity_1=Module["_emscripten_bind_btRigidBody_setLinearVelocity_1"]=asm["_emscripten_bind_btRigidBody_setLinearVelocity_1"];var _emscripten_bind_btRigidBody_setMassProps_2=Module["_emscripten_bind_btRigidBody_setMassProps_2"]=asm["_emscripten_bind_btRigidBody_setMassProps_2"];var _emscripten_bind_btRigidBody_setMotionState_1=Module["_emscripten_bind_btRigidBody_setMotionState_1"]=asm["_emscripten_bind_btRigidBody_setMotionState_1"];var _emscripten_bind_btRigidBody_setRestitution_1=Module["_emscripten_bind_btRigidBody_setRestitution_1"]=asm["_emscripten_bind_btRigidBody_setRestitution_1"];var _emscripten_bind_btRigidBody_setRollingFriction_1=Module["_emscripten_bind_btRigidBody_setRollingFriction_1"]=asm["_emscripten_bind_btRigidBody_setRollingFriction_1"];var _emscripten_bind_btRigidBody_setSleepingThresholds_2=Module["_emscripten_bind_btRigidBody_setSleepingThresholds_2"]=asm["_emscripten_bind_btRigidBody_setSleepingThresholds_2"];var _emscripten_bind_btRigidBody_setUserIndex_1=Module["_emscripten_bind_btRigidBody_setUserIndex_1"]=asm["_emscripten_bind_btRigidBody_setUserIndex_1"];var _emscripten_bind_btRigidBody_setUserPointer_1=Module["_emscripten_bind_btRigidBody_setUserPointer_1"]=asm["_emscripten_bind_btRigidBody_setUserPointer_1"];var _emscripten_bind_btRigidBody_setWorldTransform_1=Module["_emscripten_bind_btRigidBody_setWorldTransform_1"]=asm["_emscripten_bind_btRigidBody_setWorldTransform_1"];var _emscripten_bind_btRigidBody_upcast_1=Module["_emscripten_bind_btRigidBody_upcast_1"]=asm["_emscripten_bind_btRigidBody_upcast_1"];var _emscripten_bind_btRigidBody_updateInertiaTensor_0=Module["_emscripten_bind_btRigidBody_updateInertiaTensor_0"]=asm["_emscripten_bind_btRigidBody_updateInertiaTensor_0"];var _emscripten_bind_btScalarArray___destroy___0=Module["_emscripten_bind_btScalarArray___destroy___0"]=asm["_emscripten_bind_btScalarArray___destroy___0"];var _emscripten_bind_btScalarArray_at_1=Module["_emscripten_bind_btScalarArray_at_1"]=asm["_emscripten_bind_btScalarArray_at_1"];var _emscripten_bind_btScalarArray_size_0=Module["_emscripten_bind_btScalarArray_size_0"]=asm["_emscripten_bind_btScalarArray_size_0"];var _emscripten_bind_btSequentialImpulseConstraintSolver___destroy___0=Module["_emscripten_bind_btSequentialImpulseConstraintSolver___destroy___0"]=asm["_emscripten_bind_btSequentialImpulseConstraintSolver___destroy___0"];var _emscripten_bind_btSequentialImpulseConstraintSolver_btSequentialImpulseConstraintSolver_0=Module["_emscripten_bind_btSequentialImpulseConstraintSolver_btSequentialImpulseConstraintSolver_0"]=asm["_emscripten_bind_btSequentialImpulseConstraintSolver_btSequentialImpulseConstraintSolver_0"];var _emscripten_bind_btShapeHull___destroy___0=Module["_emscripten_bind_btShapeHull___destroy___0"]=asm["_emscripten_bind_btShapeHull___destroy___0"];var _emscripten_bind_btShapeHull_btShapeHull_1=Module["_emscripten_bind_btShapeHull_btShapeHull_1"]=asm["_emscripten_bind_btShapeHull_btShapeHull_1"];var _emscripten_bind_btShapeHull_buildHull_1=Module["_emscripten_bind_btShapeHull_buildHull_1"]=asm["_emscripten_bind_btShapeHull_buildHull_1"];var _emscripten_bind_btShapeHull_getVertexPointer_0=Module["_emscripten_bind_btShapeHull_getVertexPointer_0"]=asm["_emscripten_bind_btShapeHull_getVertexPointer_0"];var _emscripten_bind_btShapeHull_numVertices_0=Module["_emscripten_bind_btShapeHull_numVertices_0"]=asm["_emscripten_bind_btShapeHull_numVertices_0"];var _emscripten_bind_btSliderConstraint___destroy___0=Module["_emscripten_bind_btSliderConstraint___destroy___0"]=asm["_emscripten_bind_btSliderConstraint___destroy___0"];var _emscripten_bind_btSliderConstraint_btSliderConstraint_3=Module["_emscripten_bind_btSliderConstraint_btSliderConstraint_3"]=asm["_emscripten_bind_btSliderConstraint_btSliderConstraint_3"];var _emscripten_bind_btSliderConstraint_btSliderConstraint_5=Module["_emscripten_bind_btSliderConstraint_btSliderConstraint_5"]=asm["_emscripten_bind_btSliderConstraint_btSliderConstraint_5"];var _emscripten_bind_btSliderConstraint_enableFeedback_1=Module["_emscripten_bind_btSliderConstraint_enableFeedback_1"]=asm["_emscripten_bind_btSliderConstraint_enableFeedback_1"];var _emscripten_bind_btSliderConstraint_getBreakingImpulseThreshold_0=Module["_emscripten_bind_btSliderConstraint_getBreakingImpulseThreshold_0"]=asm["_emscripten_bind_btSliderConstraint_getBreakingImpulseThreshold_0"];var _emscripten_bind_btSliderConstraint_getParam_2=Module["_emscripten_bind_btSliderConstraint_getParam_2"]=asm["_emscripten_bind_btSliderConstraint_getParam_2"];var _emscripten_bind_btSliderConstraint_setBreakingImpulseThreshold_1=Module["_emscripten_bind_btSliderConstraint_setBreakingImpulseThreshold_1"]=asm["_emscripten_bind_btSliderConstraint_setBreakingImpulseThreshold_1"];var _emscripten_bind_btSliderConstraint_setLowerAngLimit_1=Module["_emscripten_bind_btSliderConstraint_setLowerAngLimit_1"]=asm["_emscripten_bind_btSliderConstraint_setLowerAngLimit_1"];var _emscripten_bind_btSliderConstraint_setLowerLinLimit_1=Module["_emscripten_bind_btSliderConstraint_setLowerLinLimit_1"]=asm["_emscripten_bind_btSliderConstraint_setLowerLinLimit_1"];var _emscripten_bind_btSliderConstraint_setParam_3=Module["_emscripten_bind_btSliderConstraint_setParam_3"]=asm["_emscripten_bind_btSliderConstraint_setParam_3"];var _emscripten_bind_btSliderConstraint_setUpperAngLimit_1=Module["_emscripten_bind_btSliderConstraint_setUpperAngLimit_1"]=asm["_emscripten_bind_btSliderConstraint_setUpperAngLimit_1"];var _emscripten_bind_btSliderConstraint_setUpperLinLimit_1=Module["_emscripten_bind_btSliderConstraint_setUpperLinLimit_1"]=asm["_emscripten_bind_btSliderConstraint_setUpperLinLimit_1"];var _emscripten_bind_btSmoothVehicleRaycaster___destroy___0=Module["_emscripten_bind_btSmoothVehicleRaycaster___destroy___0"]=asm["_emscripten_bind_btSmoothVehicleRaycaster___destroy___0"];var _emscripten_bind_btSmoothVehicleRaycaster_btSmoothVehicleRaycaster_1=Module["_emscripten_bind_btSmoothVehicleRaycaster_btSmoothVehicleRaycaster_1"]=asm["_emscripten_bind_btSmoothVehicleRaycaster_btSmoothVehicleRaycaster_1"];var _emscripten_bind_btSmoothVehicleRaycaster_castRay_3=Module["_emscripten_bind_btSmoothVehicleRaycaster_castRay_3"]=asm["_emscripten_bind_btSmoothVehicleRaycaster_castRay_3"];var _emscripten_bind_btSmoothVehicleRaycaster_get_m_collisionFilterGroup_0=Module["_emscripten_bind_btSmoothVehicleRaycaster_get_m_collisionFilterGroup_0"]=asm["_emscripten_bind_btSmoothVehicleRaycaster_get_m_collisionFilterGroup_0"];var _emscripten_bind_btSmoothVehicleRaycaster_get_m_collisionFilterMask_0=Module["_emscripten_bind_btSmoothVehicleRaycaster_get_m_collisionFilterMask_0"]=asm["_emscripten_bind_btSmoothVehicleRaycaster_get_m_collisionFilterMask_0"];var _emscripten_bind_btSmoothVehicleRaycaster_get_m_shapeTestingMode_0=Module["_emscripten_bind_btSmoothVehicleRaycaster_get_m_shapeTestingMode_0"]=asm["_emscripten_bind_btSmoothVehicleRaycaster_get_m_shapeTestingMode_0"];var _emscripten_bind_btSmoothVehicleRaycaster_get_m_shapeTestingSize_0=Module["_emscripten_bind_btSmoothVehicleRaycaster_get_m_shapeTestingSize_0"]=asm["_emscripten_bind_btSmoothVehicleRaycaster_get_m_shapeTestingSize_0"];var _emscripten_bind_btSmoothVehicleRaycaster_get_m_testPointCount_0=Module["_emscripten_bind_btSmoothVehicleRaycaster_get_m_testPointCount_0"]=asm["_emscripten_bind_btSmoothVehicleRaycaster_get_m_testPointCount_0"];var _emscripten_bind_btSmoothVehicleRaycaster_set_m_collisionFilterGroup_1=Module["_emscripten_bind_btSmoothVehicleRaycaster_set_m_collisionFilterGroup_1"]=asm["_emscripten_bind_btSmoothVehicleRaycaster_set_m_collisionFilterGroup_1"];var _emscripten_bind_btSmoothVehicleRaycaster_set_m_collisionFilterMask_1=Module["_emscripten_bind_btSmoothVehicleRaycaster_set_m_collisionFilterMask_1"]=asm["_emscripten_bind_btSmoothVehicleRaycaster_set_m_collisionFilterMask_1"];var _emscripten_bind_btSmoothVehicleRaycaster_set_m_shapeTestingMode_1=Module["_emscripten_bind_btSmoothVehicleRaycaster_set_m_shapeTestingMode_1"]=asm["_emscripten_bind_btSmoothVehicleRaycaster_set_m_shapeTestingMode_1"];var _emscripten_bind_btSmoothVehicleRaycaster_set_m_shapeTestingSize_1=Module["_emscripten_bind_btSmoothVehicleRaycaster_set_m_shapeTestingSize_1"]=asm["_emscripten_bind_btSmoothVehicleRaycaster_set_m_shapeTestingSize_1"];var _emscripten_bind_btSmoothVehicleRaycaster_set_m_testPointCount_1=Module["_emscripten_bind_btSmoothVehicleRaycaster_set_m_testPointCount_1"]=asm["_emscripten_bind_btSmoothVehicleRaycaster_set_m_testPointCount_1"];var _emscripten_bind_btSoftBodyArray___destroy___0=Module["_emscripten_bind_btSoftBodyArray___destroy___0"]=asm["_emscripten_bind_btSoftBodyArray___destroy___0"];var _emscripten_bind_btSoftBodyArray_at_1=Module["_emscripten_bind_btSoftBodyArray_at_1"]=asm["_emscripten_bind_btSoftBodyArray_at_1"];var _emscripten_bind_btSoftBodyArray_size_0=Module["_emscripten_bind_btSoftBodyArray_size_0"]=asm["_emscripten_bind_btSoftBodyArray_size_0"];var _emscripten_bind_btSoftBodyHelpers_CreateEllipsoid_4=Module["_emscripten_bind_btSoftBodyHelpers_CreateEllipsoid_4"]=asm["_emscripten_bind_btSoftBodyHelpers_CreateEllipsoid_4"];var _emscripten_bind_btSoftBodyHelpers_CreateFromConvexHull_4=Module["_emscripten_bind_btSoftBodyHelpers_CreateFromConvexHull_4"]=asm["_emscripten_bind_btSoftBodyHelpers_CreateFromConvexHull_4"];var _emscripten_bind_btSoftBodyHelpers_CreateFromTriMesh_5=Module["_emscripten_bind_btSoftBodyHelpers_CreateFromTriMesh_5"]=asm["_emscripten_bind_btSoftBodyHelpers_CreateFromTriMesh_5"];var _emscripten_bind_btSoftBodyHelpers_CreatePatchUV_10=Module["_emscripten_bind_btSoftBodyHelpers_CreatePatchUV_10"]=asm["_emscripten_bind_btSoftBodyHelpers_CreatePatchUV_10"];var _emscripten_bind_btSoftBodyHelpers_CreatePatch_9=Module["_emscripten_bind_btSoftBodyHelpers_CreatePatch_9"]=asm["_emscripten_bind_btSoftBodyHelpers_CreatePatch_9"];var _emscripten_bind_btSoftBodyHelpers_CreateRope_5=Module["_emscripten_bind_btSoftBodyHelpers_CreateRope_5"]=asm["_emscripten_bind_btSoftBodyHelpers_CreateRope_5"];var _emscripten_bind_btSoftBodyHelpers___destroy___0=Module["_emscripten_bind_btSoftBodyHelpers___destroy___0"]=asm["_emscripten_bind_btSoftBodyHelpers___destroy___0"];var _emscripten_bind_btSoftBodyHelpers_btSoftBodyHelpers_0=Module["_emscripten_bind_btSoftBodyHelpers_btSoftBodyHelpers_0"]=asm["_emscripten_bind_btSoftBodyHelpers_btSoftBodyHelpers_0"];var _emscripten_bind_btSoftBodyRigidBodyCollisionConfiguration___destroy___0=Module["_emscripten_bind_btSoftBodyRigidBodyCollisionConfiguration___destroy___0"]=asm["_emscripten_bind_btSoftBodyRigidBodyCollisionConfiguration___destroy___0"];var _emscripten_bind_btSoftBodyRigidBodyCollisionConfiguration_btSoftBodyRigidBodyCollisionConfiguration_0=Module["_emscripten_bind_btSoftBodyRigidBodyCollisionConfiguration_btSoftBodyRigidBodyCollisionConfiguration_0"]=asm["_emscripten_bind_btSoftBodyRigidBodyCollisionConfiguration_btSoftBodyRigidBodyCollisionConfiguration_0"];var _emscripten_bind_btSoftBodyRigidBodyCollisionConfiguration_btSoftBodyRigidBodyCollisionConfiguration_1=Module["_emscripten_bind_btSoftBodyRigidBodyCollisionConfiguration_btSoftBodyRigidBodyCollisionConfiguration_1"]=asm["_emscripten_bind_btSoftBodyRigidBodyCollisionConfiguration_btSoftBodyRigidBodyCollisionConfiguration_1"];var _emscripten_bind_btSoftBodySolver___destroy___0=Module["_emscripten_bind_btSoftBodySolver___destroy___0"]=asm["_emscripten_bind_btSoftBodySolver___destroy___0"];var _emscripten_bind_btSoftBodyWorldInfo___destroy___0=Module["_emscripten_bind_btSoftBodyWorldInfo___destroy___0"]=asm["_emscripten_bind_btSoftBodyWorldInfo___destroy___0"];var _emscripten_bind_btSoftBodyWorldInfo_btSoftBodyWorldInfo_0=Module["_emscripten_bind_btSoftBodyWorldInfo_btSoftBodyWorldInfo_0"]=asm["_emscripten_bind_btSoftBodyWorldInfo_btSoftBodyWorldInfo_0"];var _emscripten_bind_btSoftBodyWorldInfo_get_air_density_0=Module["_emscripten_bind_btSoftBodyWorldInfo_get_air_density_0"]=asm["_emscripten_bind_btSoftBodyWorldInfo_get_air_density_0"];var _emscripten_bind_btSoftBodyWorldInfo_get_m_broadphase_0=Module["_emscripten_bind_btSoftBodyWorldInfo_get_m_broadphase_0"]=asm["_emscripten_bind_btSoftBodyWorldInfo_get_m_broadphase_0"];var _emscripten_bind_btSoftBodyWorldInfo_get_m_dispatcher_0=Module["_emscripten_bind_btSoftBodyWorldInfo_get_m_dispatcher_0"]=asm["_emscripten_bind_btSoftBodyWorldInfo_get_m_dispatcher_0"];var _emscripten_bind_btSoftBodyWorldInfo_get_m_gravity_0=Module["_emscripten_bind_btSoftBodyWorldInfo_get_m_gravity_0"]=asm["_emscripten_bind_btSoftBodyWorldInfo_get_m_gravity_0"];var _emscripten_bind_btSoftBodyWorldInfo_get_m_maxDisplacement_0=Module["_emscripten_bind_btSoftBodyWorldInfo_get_m_maxDisplacement_0"]=asm["_emscripten_bind_btSoftBodyWorldInfo_get_m_maxDisplacement_0"];var _emscripten_bind_btSoftBodyWorldInfo_get_water_density_0=Module["_emscripten_bind_btSoftBodyWorldInfo_get_water_density_0"]=asm["_emscripten_bind_btSoftBodyWorldInfo_get_water_density_0"];var _emscripten_bind_btSoftBodyWorldInfo_get_water_normal_0=Module["_emscripten_bind_btSoftBodyWorldInfo_get_water_normal_0"]=asm["_emscripten_bind_btSoftBodyWorldInfo_get_water_normal_0"];var _emscripten_bind_btSoftBodyWorldInfo_get_water_offset_0=Module["_emscripten_bind_btSoftBodyWorldInfo_get_water_offset_0"]=asm["_emscripten_bind_btSoftBodyWorldInfo_get_water_offset_0"];var _emscripten_bind_btSoftBodyWorldInfo_set_air_density_1=Module["_emscripten_bind_btSoftBodyWorldInfo_set_air_density_1"]=asm["_emscripten_bind_btSoftBodyWorldInfo_set_air_density_1"];var _emscripten_bind_btSoftBodyWorldInfo_set_m_broadphase_1=Module["_emscripten_bind_btSoftBodyWorldInfo_set_m_broadphase_1"]=asm["_emscripten_bind_btSoftBodyWorldInfo_set_m_broadphase_1"];var _emscripten_bind_btSoftBodyWorldInfo_set_m_dispatcher_1=Module["_emscripten_bind_btSoftBodyWorldInfo_set_m_dispatcher_1"]=asm["_emscripten_bind_btSoftBodyWorldInfo_set_m_dispatcher_1"];var _emscripten_bind_btSoftBodyWorldInfo_set_m_gravity_1=Module["_emscripten_bind_btSoftBodyWorldInfo_set_m_gravity_1"]=asm["_emscripten_bind_btSoftBodyWorldInfo_set_m_gravity_1"];var _emscripten_bind_btSoftBodyWorldInfo_set_m_maxDisplacement_1=Module["_emscripten_bind_btSoftBodyWorldInfo_set_m_maxDisplacement_1"]=asm["_emscripten_bind_btSoftBodyWorldInfo_set_m_maxDisplacement_1"];var _emscripten_bind_btSoftBodyWorldInfo_set_water_density_1=Module["_emscripten_bind_btSoftBodyWorldInfo_set_water_density_1"]=asm["_emscripten_bind_btSoftBodyWorldInfo_set_water_density_1"];var _emscripten_bind_btSoftBodyWorldInfo_set_water_normal_1=Module["_emscripten_bind_btSoftBodyWorldInfo_set_water_normal_1"]=asm["_emscripten_bind_btSoftBodyWorldInfo_set_water_normal_1"];var _emscripten_bind_btSoftBodyWorldInfo_set_water_offset_1=Module["_emscripten_bind_btSoftBodyWorldInfo_set_water_offset_1"]=asm["_emscripten_bind_btSoftBodyWorldInfo_set_water_offset_1"];var _emscripten_bind_btSoftBody___destroy___0=Module["_emscripten_bind_btSoftBody___destroy___0"]=asm["_emscripten_bind_btSoftBody___destroy___0"];var _emscripten_bind_btSoftBody_activate_0=Module["_emscripten_bind_btSoftBody_activate_0"]=asm["_emscripten_bind_btSoftBody_activate_0"];var _emscripten_bind_btSoftBody_activate_1=Module["_emscripten_bind_btSoftBody_activate_1"]=asm["_emscripten_bind_btSoftBody_activate_1"];var _emscripten_bind_btSoftBody_addAeroForceToNode_2=Module["_emscripten_bind_btSoftBody_addAeroForceToNode_2"]=asm["_emscripten_bind_btSoftBody_addAeroForceToNode_2"];var _emscripten_bind_btSoftBody_addForce_1=Module["_emscripten_bind_btSoftBody_addForce_1"]=asm["_emscripten_bind_btSoftBody_addForce_1"];var _emscripten_bind_btSoftBody_addForce_2=Module["_emscripten_bind_btSoftBody_addForce_2"]=asm["_emscripten_bind_btSoftBody_addForce_2"];var _emscripten_bind_btSoftBody_appendAnchor_4=Module["_emscripten_bind_btSoftBody_appendAnchor_4"]=asm["_emscripten_bind_btSoftBody_appendAnchor_4"];var _emscripten_bind_btSoftBody_appendFace_4=Module["_emscripten_bind_btSoftBody_appendFace_4"]=asm["_emscripten_bind_btSoftBody_appendFace_4"];var _emscripten_bind_btSoftBody_appendLink_4=Module["_emscripten_bind_btSoftBody_appendLink_4"]=asm["_emscripten_bind_btSoftBody_appendLink_4"];var _emscripten_bind_btSoftBody_appendMaterial_0=Module["_emscripten_bind_btSoftBody_appendMaterial_0"]=asm["_emscripten_bind_btSoftBody_appendMaterial_0"];var _emscripten_bind_btSoftBody_appendNode_2=Module["_emscripten_bind_btSoftBody_appendNode_2"]=asm["_emscripten_bind_btSoftBody_appendNode_2"];var _emscripten_bind_btSoftBody_appendTetra_5=Module["_emscripten_bind_btSoftBody_appendTetra_5"]=asm["_emscripten_bind_btSoftBody_appendTetra_5"];var _emscripten_bind_btSoftBody_btSoftBody_4=Module["_emscripten_bind_btSoftBody_btSoftBody_4"]=asm["_emscripten_bind_btSoftBody_btSoftBody_4"];var _emscripten_bind_btSoftBody_checkFace_3=Module["_emscripten_bind_btSoftBody_checkFace_3"]=asm["_emscripten_bind_btSoftBody_checkFace_3"];var _emscripten_bind_btSoftBody_checkLink_2=Module["_emscripten_bind_btSoftBody_checkLink_2"]=asm["_emscripten_bind_btSoftBody_checkLink_2"];var _emscripten_bind_btSoftBody_forceActivationState_1=Module["_emscripten_bind_btSoftBody_forceActivationState_1"]=asm["_emscripten_bind_btSoftBody_forceActivationState_1"];var _emscripten_bind_btSoftBody_generateBendingConstraints_2=Module["_emscripten_bind_btSoftBody_generateBendingConstraints_2"]=asm["_emscripten_bind_btSoftBody_generateBendingConstraints_2"];var _emscripten_bind_btSoftBody_generateClusters_1=Module["_emscripten_bind_btSoftBody_generateClusters_1"]=asm["_emscripten_bind_btSoftBody_generateClusters_1"];var _emscripten_bind_btSoftBody_generateClusters_2=Module["_emscripten_bind_btSoftBody_generateClusters_2"]=asm["_emscripten_bind_btSoftBody_generateClusters_2"];var _emscripten_bind_btSoftBody_getBroadphaseHandle_0=Module["_emscripten_bind_btSoftBody_getBroadphaseHandle_0"]=asm["_emscripten_bind_btSoftBody_getBroadphaseHandle_0"];var _emscripten_bind_btSoftBody_getCollisionFlags_0=Module["_emscripten_bind_btSoftBody_getCollisionFlags_0"]=asm["_emscripten_bind_btSoftBody_getCollisionFlags_0"];var _emscripten_bind_btSoftBody_getCollisionShape_0=Module["_emscripten_bind_btSoftBody_getCollisionShape_0"]=asm["_emscripten_bind_btSoftBody_getCollisionShape_0"];var _emscripten_bind_btSoftBody_getFriction_0=Module["_emscripten_bind_btSoftBody_getFriction_0"]=asm["_emscripten_bind_btSoftBody_getFriction_0"];var _emscripten_bind_btSoftBody_getRestitution_0=Module["_emscripten_bind_btSoftBody_getRestitution_0"]=asm["_emscripten_bind_btSoftBody_getRestitution_0"];var _emscripten_bind_btSoftBody_getRollingFriction_0=Module["_emscripten_bind_btSoftBody_getRollingFriction_0"]=asm["_emscripten_bind_btSoftBody_getRollingFriction_0"];var _emscripten_bind_btSoftBody_getTotalMass_0=Module["_emscripten_bind_btSoftBody_getTotalMass_0"]=asm["_emscripten_bind_btSoftBody_getTotalMass_0"];var _emscripten_bind_btSoftBody_getUserIndex_0=Module["_emscripten_bind_btSoftBody_getUserIndex_0"]=asm["_emscripten_bind_btSoftBody_getUserIndex_0"];var _emscripten_bind_btSoftBody_getUserPointer_0=Module["_emscripten_bind_btSoftBody_getUserPointer_0"]=asm["_emscripten_bind_btSoftBody_getUserPointer_0"];var _emscripten_bind_btSoftBody_getWorldTransform_0=Module["_emscripten_bind_btSoftBody_getWorldTransform_0"]=asm["_emscripten_bind_btSoftBody_getWorldTransform_0"];var _emscripten_bind_btSoftBody_get_m_anchors_0=Module["_emscripten_bind_btSoftBody_get_m_anchors_0"]=asm["_emscripten_bind_btSoftBody_get_m_anchors_0"];var _emscripten_bind_btSoftBody_get_m_cfg_0=Module["_emscripten_bind_btSoftBody_get_m_cfg_0"]=asm["_emscripten_bind_btSoftBody_get_m_cfg_0"];var _emscripten_bind_btSoftBody_get_m_materials_0=Module["_emscripten_bind_btSoftBody_get_m_materials_0"]=asm["_emscripten_bind_btSoftBody_get_m_materials_0"];var _emscripten_bind_btSoftBody_get_m_nodes_0=Module["_emscripten_bind_btSoftBody_get_m_nodes_0"]=asm["_emscripten_bind_btSoftBody_get_m_nodes_0"];var _emscripten_bind_btSoftBody_isActive_0=Module["_emscripten_bind_btSoftBody_isActive_0"]=asm["_emscripten_bind_btSoftBody_isActive_0"];var _emscripten_bind_btSoftBody_isKinematicObject_0=Module["_emscripten_bind_btSoftBody_isKinematicObject_0"]=asm["_emscripten_bind_btSoftBody_isKinematicObject_0"];var _emscripten_bind_btSoftBody_isStaticObject_0=Module["_emscripten_bind_btSoftBody_isStaticObject_0"]=asm["_emscripten_bind_btSoftBody_isStaticObject_0"];var _emscripten_bind_btSoftBody_isStaticOrKinematicObject_0=Module["_emscripten_bind_btSoftBody_isStaticOrKinematicObject_0"]=asm["_emscripten_bind_btSoftBody_isStaticOrKinematicObject_0"];var _emscripten_bind_btSoftBody_rotate_1=Module["_emscripten_bind_btSoftBody_rotate_1"]=asm["_emscripten_bind_btSoftBody_rotate_1"];var _emscripten_bind_btSoftBody_scale_1=Module["_emscripten_bind_btSoftBody_scale_1"]=asm["_emscripten_bind_btSoftBody_scale_1"];var _emscripten_bind_btSoftBody_setActivationState_1=Module["_emscripten_bind_btSoftBody_setActivationState_1"]=asm["_emscripten_bind_btSoftBody_setActivationState_1"];var _emscripten_bind_btSoftBody_setAnisotropicFriction_2=Module["_emscripten_bind_btSoftBody_setAnisotropicFriction_2"]=asm["_emscripten_bind_btSoftBody_setAnisotropicFriction_2"];var _emscripten_bind_btSoftBody_setCcdMotionThreshold_1=Module["_emscripten_bind_btSoftBody_setCcdMotionThreshold_1"]=asm["_emscripten_bind_btSoftBody_setCcdMotionThreshold_1"];var _emscripten_bind_btSoftBody_setCcdSweptSphereRadius_1=Module["_emscripten_bind_btSoftBody_setCcdSweptSphereRadius_1"]=asm["_emscripten_bind_btSoftBody_setCcdSweptSphereRadius_1"];var _emscripten_bind_btSoftBody_setCollisionFlags_1=Module["_emscripten_bind_btSoftBody_setCollisionFlags_1"]=asm["_emscripten_bind_btSoftBody_setCollisionFlags_1"];var _emscripten_bind_btSoftBody_setCollisionShape_1=Module["_emscripten_bind_btSoftBody_setCollisionShape_1"]=asm["_emscripten_bind_btSoftBody_setCollisionShape_1"];var _emscripten_bind_btSoftBody_setContactProcessingThreshold_1=Module["_emscripten_bind_btSoftBody_setContactProcessingThreshold_1"]=asm["_emscripten_bind_btSoftBody_setContactProcessingThreshold_1"];var _emscripten_bind_btSoftBody_setFriction_1=Module["_emscripten_bind_btSoftBody_setFriction_1"]=asm["_emscripten_bind_btSoftBody_setFriction_1"];var _emscripten_bind_btSoftBody_setMass_2=Module["_emscripten_bind_btSoftBody_setMass_2"]=asm["_emscripten_bind_btSoftBody_setMass_2"];var _emscripten_bind_btSoftBody_setRestitution_1=Module["_emscripten_bind_btSoftBody_setRestitution_1"]=asm["_emscripten_bind_btSoftBody_setRestitution_1"];var _emscripten_bind_btSoftBody_setRollingFriction_1=Module["_emscripten_bind_btSoftBody_setRollingFriction_1"]=asm["_emscripten_bind_btSoftBody_setRollingFriction_1"];var _emscripten_bind_btSoftBody_setTotalMass_2=Module["_emscripten_bind_btSoftBody_setTotalMass_2"]=asm["_emscripten_bind_btSoftBody_setTotalMass_2"];var _emscripten_bind_btSoftBody_setUserIndex_1=Module["_emscripten_bind_btSoftBody_setUserIndex_1"]=asm["_emscripten_bind_btSoftBody_setUserIndex_1"];var _emscripten_bind_btSoftBody_setUserPointer_1=Module["_emscripten_bind_btSoftBody_setUserPointer_1"]=asm["_emscripten_bind_btSoftBody_setUserPointer_1"];var _emscripten_bind_btSoftBody_setWorldTransform_1=Module["_emscripten_bind_btSoftBody_setWorldTransform_1"]=asm["_emscripten_bind_btSoftBody_setWorldTransform_1"];var _emscripten_bind_btSoftBody_set_m_anchors_1=Module["_emscripten_bind_btSoftBody_set_m_anchors_1"]=asm["_emscripten_bind_btSoftBody_set_m_anchors_1"];var _emscripten_bind_btSoftBody_set_m_cfg_1=Module["_emscripten_bind_btSoftBody_set_m_cfg_1"]=asm["_emscripten_bind_btSoftBody_set_m_cfg_1"];var _emscripten_bind_btSoftBody_set_m_materials_1=Module["_emscripten_bind_btSoftBody_set_m_materials_1"]=asm["_emscripten_bind_btSoftBody_set_m_materials_1"];var _emscripten_bind_btSoftBody_set_m_nodes_1=Module["_emscripten_bind_btSoftBody_set_m_nodes_1"]=asm["_emscripten_bind_btSoftBody_set_m_nodes_1"];var _emscripten_bind_btSoftBody_transform_1=Module["_emscripten_bind_btSoftBody_transform_1"]=asm["_emscripten_bind_btSoftBody_transform_1"];var _emscripten_bind_btSoftBody_translate_1=Module["_emscripten_bind_btSoftBody_translate_1"]=asm["_emscripten_bind_btSoftBody_translate_1"];var _emscripten_bind_btSoftBody_upcast_1=Module["_emscripten_bind_btSoftBody_upcast_1"]=asm["_emscripten_bind_btSoftBody_upcast_1"];var _emscripten_bind_btSoftRigidDynamicsWorld___destroy___0=Module["_emscripten_bind_btSoftRigidDynamicsWorld___destroy___0"]=asm["_emscripten_bind_btSoftRigidDynamicsWorld___destroy___0"];var _emscripten_bind_btSoftRigidDynamicsWorld_addAction_1=Module["_emscripten_bind_btSoftRigidDynamicsWorld_addAction_1"]=asm["_emscripten_bind_btSoftRigidDynamicsWorld_addAction_1"];var _emscripten_bind_btSoftRigidDynamicsWorld_addCollisionObject_1=Module["_emscripten_bind_btSoftRigidDynamicsWorld_addCollisionObject_1"]=asm["_emscripten_bind_btSoftRigidDynamicsWorld_addCollisionObject_1"];var _emscripten_bind_btSoftRigidDynamicsWorld_addCollisionObject_2=Module["_emscripten_bind_btSoftRigidDynamicsWorld_addCollisionObject_2"]=asm["_emscripten_bind_btSoftRigidDynamicsWorld_addCollisionObject_2"];var _emscripten_bind_btSoftRigidDynamicsWorld_addCollisionObject_3=Module["_emscripten_bind_btSoftRigidDynamicsWorld_addCollisionObject_3"]=asm["_emscripten_bind_btSoftRigidDynamicsWorld_addCollisionObject_3"];var _emscripten_bind_btSoftRigidDynamicsWorld_addConstraint_1=Module["_emscripten_bind_btSoftRigidDynamicsWorld_addConstraint_1"]=asm["_emscripten_bind_btSoftRigidDynamicsWorld_addConstraint_1"];var _emscripten_bind_btSoftRigidDynamicsWorld_addConstraint_2=Module["_emscripten_bind_btSoftRigidDynamicsWorld_addConstraint_2"]=asm["_emscripten_bind_btSoftRigidDynamicsWorld_addConstraint_2"];var _emscripten_bind_btSoftRigidDynamicsWorld_addRigidBody_1=Module["_emscripten_bind_btSoftRigidDynamicsWorld_addRigidBody_1"]=asm["_emscripten_bind_btSoftRigidDynamicsWorld_addRigidBody_1"];var _emscripten_bind_btSoftRigidDynamicsWorld_addRigidBody_3=Module["_emscripten_bind_btSoftRigidDynamicsWorld_addRigidBody_3"]=asm["_emscripten_bind_btSoftRigidDynamicsWorld_addRigidBody_3"];var _emscripten_bind_btSoftRigidDynamicsWorld_addSoftBody_3=Module["_emscripten_bind_btSoftRigidDynamicsWorld_addSoftBody_3"]=asm["_emscripten_bind_btSoftRigidDynamicsWorld_addSoftBody_3"];var _emscripten_bind_btSoftRigidDynamicsWorld_adjustInternalEdgeContacts_6=Module["_emscripten_bind_btSoftRigidDynamicsWorld_adjustInternalEdgeContacts_6"]=asm["_emscripten_bind_btSoftRigidDynamicsWorld_adjustInternalEdgeContacts_6"];var _emscripten_bind_btSoftRigidDynamicsWorld_btSoftRigidDynamicsWorld_5=Module["_emscripten_bind_btSoftRigidDynamicsWorld_btSoftRigidDynamicsWorld_5"]=asm["_emscripten_bind_btSoftRigidDynamicsWorld_btSoftRigidDynamicsWorld_5"];var _emscripten_bind_btSoftRigidDynamicsWorld_contactPairTest_3=Module["_emscripten_bind_btSoftRigidDynamicsWorld_contactPairTest_3"]=asm["_emscripten_bind_btSoftRigidDynamicsWorld_contactPairTest_3"];var _emscripten_bind_btSoftRigidDynamicsWorld_contactTest_2=Module["_emscripten_bind_btSoftRigidDynamicsWorld_contactTest_2"]=asm["_emscripten_bind_btSoftRigidDynamicsWorld_contactTest_2"];var _emscripten_bind_btSoftRigidDynamicsWorld_convexSweepTest_5=Module["_emscripten_bind_btSoftRigidDynamicsWorld_convexSweepTest_5"]=asm["_emscripten_bind_btSoftRigidDynamicsWorld_convexSweepTest_5"];var _emscripten_bind_btSoftRigidDynamicsWorld_debugDrawObject_3=Module["_emscripten_bind_btSoftRigidDynamicsWorld_debugDrawObject_3"]=asm["_emscripten_bind_btSoftRigidDynamicsWorld_debugDrawObject_3"];var _emscripten_bind_btSoftRigidDynamicsWorld_debugDrawWorld_0=Module["_emscripten_bind_btSoftRigidDynamicsWorld_debugDrawWorld_0"]=asm["_emscripten_bind_btSoftRigidDynamicsWorld_debugDrawWorld_0"];var _emscripten_bind_btSoftRigidDynamicsWorld_generateInternalEdgeInfo_2=Module["_emscripten_bind_btSoftRigidDynamicsWorld_generateInternalEdgeInfo_2"]=asm["_emscripten_bind_btSoftRigidDynamicsWorld_generateInternalEdgeInfo_2"];var _emscripten_bind_btSoftRigidDynamicsWorld_getBroadphase_0=Module["_emscripten_bind_btSoftRigidDynamicsWorld_getBroadphase_0"]=asm["_emscripten_bind_btSoftRigidDynamicsWorld_getBroadphase_0"];var _emscripten_bind_btSoftRigidDynamicsWorld_getDebugDrawer_0=Module["_emscripten_bind_btSoftRigidDynamicsWorld_getDebugDrawer_0"]=asm["_emscripten_bind_btSoftRigidDynamicsWorld_getDebugDrawer_0"];var _emscripten_bind_btSoftRigidDynamicsWorld_getDispatchInfo_0=Module["_emscripten_bind_btSoftRigidDynamicsWorld_getDispatchInfo_0"]=asm["_emscripten_bind_btSoftRigidDynamicsWorld_getDispatchInfo_0"];var _emscripten_bind_btSoftRigidDynamicsWorld_getDispatcher_0=Module["_emscripten_bind_btSoftRigidDynamicsWorld_getDispatcher_0"]=asm["_emscripten_bind_btSoftRigidDynamicsWorld_getDispatcher_0"];var _emscripten_bind_btSoftRigidDynamicsWorld_getGravity_0=Module["_emscripten_bind_btSoftRigidDynamicsWorld_getGravity_0"]=asm["_emscripten_bind_btSoftRigidDynamicsWorld_getGravity_0"];var _emscripten_bind_btSoftRigidDynamicsWorld_getPairCache_0=Module["_emscripten_bind_btSoftRigidDynamicsWorld_getPairCache_0"]=asm["_emscripten_bind_btSoftRigidDynamicsWorld_getPairCache_0"];var _emscripten_bind_btSoftRigidDynamicsWorld_getSoftBodyArray_0=Module["_emscripten_bind_btSoftRigidDynamicsWorld_getSoftBodyArray_0"]=asm["_emscripten_bind_btSoftRigidDynamicsWorld_getSoftBodyArray_0"];var _emscripten_bind_btSoftRigidDynamicsWorld_getSolverInfo_0=Module["_emscripten_bind_btSoftRigidDynamicsWorld_getSolverInfo_0"]=asm["_emscripten_bind_btSoftRigidDynamicsWorld_getSolverInfo_0"];var _emscripten_bind_btSoftRigidDynamicsWorld_getWorldInfo_0=Module["_emscripten_bind_btSoftRigidDynamicsWorld_getWorldInfo_0"]=asm["_emscripten_bind_btSoftRigidDynamicsWorld_getWorldInfo_0"];var _emscripten_bind_btSoftRigidDynamicsWorld_rayTest_3=Module["_emscripten_bind_btSoftRigidDynamicsWorld_rayTest_3"]=asm["_emscripten_bind_btSoftRigidDynamicsWorld_rayTest_3"];var _emscripten_bind_btSoftRigidDynamicsWorld_removeAction_1=Module["_emscripten_bind_btSoftRigidDynamicsWorld_removeAction_1"]=asm["_emscripten_bind_btSoftRigidDynamicsWorld_removeAction_1"];var _emscripten_bind_btSoftRigidDynamicsWorld_removeCollisionObject_1=Module["_emscripten_bind_btSoftRigidDynamicsWorld_removeCollisionObject_1"]=asm["_emscripten_bind_btSoftRigidDynamicsWorld_removeCollisionObject_1"];var _emscripten_bind_btSoftRigidDynamicsWorld_removeConstraint_1=Module["_emscripten_bind_btSoftRigidDynamicsWorld_removeConstraint_1"]=asm["_emscripten_bind_btSoftRigidDynamicsWorld_removeConstraint_1"];var _emscripten_bind_btSoftRigidDynamicsWorld_removeRigidBody_1=Module["_emscripten_bind_btSoftRigidDynamicsWorld_removeRigidBody_1"]=asm["_emscripten_bind_btSoftRigidDynamicsWorld_removeRigidBody_1"];var _emscripten_bind_btSoftRigidDynamicsWorld_removeSoftBody_1=Module["_emscripten_bind_btSoftRigidDynamicsWorld_removeSoftBody_1"]=asm["_emscripten_bind_btSoftRigidDynamicsWorld_removeSoftBody_1"];var _emscripten_bind_btSoftRigidDynamicsWorld_setContactAddedCallback_1=Module["_emscripten_bind_btSoftRigidDynamicsWorld_setContactAddedCallback_1"]=asm["_emscripten_bind_btSoftRigidDynamicsWorld_setContactAddedCallback_1"];var _emscripten_bind_btSoftRigidDynamicsWorld_setContactDestroyedCallback_1=Module["_emscripten_bind_btSoftRigidDynamicsWorld_setContactDestroyedCallback_1"]=asm["_emscripten_bind_btSoftRigidDynamicsWorld_setContactDestroyedCallback_1"];var _emscripten_bind_btSoftRigidDynamicsWorld_setContactProcessedCallback_1=Module["_emscripten_bind_btSoftRigidDynamicsWorld_setContactProcessedCallback_1"]=asm["_emscripten_bind_btSoftRigidDynamicsWorld_setContactProcessedCallback_1"];var _emscripten_bind_btSoftRigidDynamicsWorld_setDebugDrawer_1=Module["_emscripten_bind_btSoftRigidDynamicsWorld_setDebugDrawer_1"]=asm["_emscripten_bind_btSoftRigidDynamicsWorld_setDebugDrawer_1"];var _emscripten_bind_btSoftRigidDynamicsWorld_setGravity_1=Module["_emscripten_bind_btSoftRigidDynamicsWorld_setGravity_1"]=asm["_emscripten_bind_btSoftRigidDynamicsWorld_setGravity_1"];var _emscripten_bind_btSoftRigidDynamicsWorld_setInternalTickCallback_1=Module["_emscripten_bind_btSoftRigidDynamicsWorld_setInternalTickCallback_1"]=asm["_emscripten_bind_btSoftRigidDynamicsWorld_setInternalTickCallback_1"];var _emscripten_bind_btSoftRigidDynamicsWorld_setInternalTickCallback_2=Module["_emscripten_bind_btSoftRigidDynamicsWorld_setInternalTickCallback_2"]=asm["_emscripten_bind_btSoftRigidDynamicsWorld_setInternalTickCallback_2"];var _emscripten_bind_btSoftRigidDynamicsWorld_setInternalTickCallback_3=Module["_emscripten_bind_btSoftRigidDynamicsWorld_setInternalTickCallback_3"]=asm["_emscripten_bind_btSoftRigidDynamicsWorld_setInternalTickCallback_3"];var _emscripten_bind_btSoftRigidDynamicsWorld_stepSimulation_1=Module["_emscripten_bind_btSoftRigidDynamicsWorld_stepSimulation_1"]=asm["_emscripten_bind_btSoftRigidDynamicsWorld_stepSimulation_1"];var _emscripten_bind_btSoftRigidDynamicsWorld_stepSimulation_2=Module["_emscripten_bind_btSoftRigidDynamicsWorld_stepSimulation_2"]=asm["_emscripten_bind_btSoftRigidDynamicsWorld_stepSimulation_2"];var _emscripten_bind_btSoftRigidDynamicsWorld_stepSimulation_3=Module["_emscripten_bind_btSoftRigidDynamicsWorld_stepSimulation_3"]=asm["_emscripten_bind_btSoftRigidDynamicsWorld_stepSimulation_3"];var _emscripten_bind_btSoftRigidDynamicsWorld_updateSingleAabb_1=Module["_emscripten_bind_btSoftRigidDynamicsWorld_updateSingleAabb_1"]=asm["_emscripten_bind_btSoftRigidDynamicsWorld_updateSingleAabb_1"];var _emscripten_bind_btSphereShape___destroy___0=Module["_emscripten_bind_btSphereShape___destroy___0"]=asm["_emscripten_bind_btSphereShape___destroy___0"];var _emscripten_bind_btSphereShape_btSphereShape_1=Module["_emscripten_bind_btSphereShape_btSphereShape_1"]=asm["_emscripten_bind_btSphereShape_btSphereShape_1"];var _emscripten_bind_btSphereShape_calculateLocalInertia_2=Module["_emscripten_bind_btSphereShape_calculateLocalInertia_2"]=asm["_emscripten_bind_btSphereShape_calculateLocalInertia_2"];var _emscripten_bind_btSphereShape_getLocalScaling_0=Module["_emscripten_bind_btSphereShape_getLocalScaling_0"]=asm["_emscripten_bind_btSphereShape_getLocalScaling_0"];var _emscripten_bind_btSphereShape_getMargin_0=Module["_emscripten_bind_btSphereShape_getMargin_0"]=asm["_emscripten_bind_btSphereShape_getMargin_0"];var _emscripten_bind_btSphereShape_getShapeType_0=Module["_emscripten_bind_btSphereShape_getShapeType_0"]=asm["_emscripten_bind_btSphereShape_getShapeType_0"];var _emscripten_bind_btSphereShape_setLocalScaling_1=Module["_emscripten_bind_btSphereShape_setLocalScaling_1"]=asm["_emscripten_bind_btSphereShape_setLocalScaling_1"];var _emscripten_bind_btSphereShape_setMargin_1=Module["_emscripten_bind_btSphereShape_setMargin_1"]=asm["_emscripten_bind_btSphereShape_setMargin_1"];var _emscripten_bind_btStaticPlaneShape___destroy___0=Module["_emscripten_bind_btStaticPlaneShape___destroy___0"]=asm["_emscripten_bind_btStaticPlaneShape___destroy___0"];var _emscripten_bind_btStaticPlaneShape_btStaticPlaneShape_2=Module["_emscripten_bind_btStaticPlaneShape_btStaticPlaneShape_2"]=asm["_emscripten_bind_btStaticPlaneShape_btStaticPlaneShape_2"];var _emscripten_bind_btStaticPlaneShape_calculateLocalInertia_2=Module["_emscripten_bind_btStaticPlaneShape_calculateLocalInertia_2"]=asm["_emscripten_bind_btStaticPlaneShape_calculateLocalInertia_2"];var _emscripten_bind_btStaticPlaneShape_getLocalScaling_0=Module["_emscripten_bind_btStaticPlaneShape_getLocalScaling_0"]=asm["_emscripten_bind_btStaticPlaneShape_getLocalScaling_0"];var _emscripten_bind_btStaticPlaneShape_getShapeType_0=Module["_emscripten_bind_btStaticPlaneShape_getShapeType_0"]=asm["_emscripten_bind_btStaticPlaneShape_getShapeType_0"];var _emscripten_bind_btStaticPlaneShape_setLocalScaling_1=Module["_emscripten_bind_btStaticPlaneShape_setLocalScaling_1"]=asm["_emscripten_bind_btStaticPlaneShape_setLocalScaling_1"];var _emscripten_bind_btStridingMeshInterface___destroy___0=Module["_emscripten_bind_btStridingMeshInterface___destroy___0"]=asm["_emscripten_bind_btStridingMeshInterface___destroy___0"];var _emscripten_bind_btStridingMeshInterface_setScaling_1=Module["_emscripten_bind_btStridingMeshInterface_setScaling_1"]=asm["_emscripten_bind_btStridingMeshInterface_setScaling_1"];var _emscripten_bind_btTransform___destroy___0=Module["_emscripten_bind_btTransform___destroy___0"]=asm["_emscripten_bind_btTransform___destroy___0"];var _emscripten_bind_btTransform_btTransform_0=Module["_emscripten_bind_btTransform_btTransform_0"]=asm["_emscripten_bind_btTransform_btTransform_0"];var _emscripten_bind_btTransform_btTransform_2=Module["_emscripten_bind_btTransform_btTransform_2"]=asm["_emscripten_bind_btTransform_btTransform_2"];var _emscripten_bind_btTransform_getBasis_0=Module["_emscripten_bind_btTransform_getBasis_0"]=asm["_emscripten_bind_btTransform_getBasis_0"];var _emscripten_bind_btTransform_getOrigin_0=Module["_emscripten_bind_btTransform_getOrigin_0"]=asm["_emscripten_bind_btTransform_getOrigin_0"];var _emscripten_bind_btTransform_getRotation_0=Module["_emscripten_bind_btTransform_getRotation_0"]=asm["_emscripten_bind_btTransform_getRotation_0"];var _emscripten_bind_btTransform_inverse_0=Module["_emscripten_bind_btTransform_inverse_0"]=asm["_emscripten_bind_btTransform_inverse_0"];var _emscripten_bind_btTransform_op_mul_1=Module["_emscripten_bind_btTransform_op_mul_1"]=asm["_emscripten_bind_btTransform_op_mul_1"];var _emscripten_bind_btTransform_setFromOpenGLMatrix_1=Module["_emscripten_bind_btTransform_setFromOpenGLMatrix_1"]=asm["_emscripten_bind_btTransform_setFromOpenGLMatrix_1"];var _emscripten_bind_btTransform_setIdentity_0=Module["_emscripten_bind_btTransform_setIdentity_0"]=asm["_emscripten_bind_btTransform_setIdentity_0"];var _emscripten_bind_btTransform_setOrigin_1=Module["_emscripten_bind_btTransform_setOrigin_1"]=asm["_emscripten_bind_btTransform_setOrigin_1"];var _emscripten_bind_btTransform_setRotation_1=Module["_emscripten_bind_btTransform_setRotation_1"]=asm["_emscripten_bind_btTransform_setRotation_1"];var _emscripten_bind_btTriangleInfoMap___destroy___0=Module["_emscripten_bind_btTriangleInfoMap___destroy___0"]=asm["_emscripten_bind_btTriangleInfoMap___destroy___0"];var _emscripten_bind_btTriangleInfoMap_btTriangleInfoMap_0=Module["_emscripten_bind_btTriangleInfoMap_btTriangleInfoMap_0"]=asm["_emscripten_bind_btTriangleInfoMap_btTriangleInfoMap_0"];var _emscripten_bind_btTriangleMeshShape___destroy___0=Module["_emscripten_bind_btTriangleMeshShape___destroy___0"]=asm["_emscripten_bind_btTriangleMeshShape___destroy___0"];var _emscripten_bind_btTriangleMeshShape_calculateLocalInertia_2=Module["_emscripten_bind_btTriangleMeshShape_calculateLocalInertia_2"]=asm["_emscripten_bind_btTriangleMeshShape_calculateLocalInertia_2"];var _emscripten_bind_btTriangleMeshShape_getLocalScaling_0=Module["_emscripten_bind_btTriangleMeshShape_getLocalScaling_0"]=asm["_emscripten_bind_btTriangleMeshShape_getLocalScaling_0"];var _emscripten_bind_btTriangleMeshShape_getShapeType_0=Module["_emscripten_bind_btTriangleMeshShape_getShapeType_0"]=asm["_emscripten_bind_btTriangleMeshShape_getShapeType_0"];var _emscripten_bind_btTriangleMeshShape_setLocalScaling_1=Module["_emscripten_bind_btTriangleMeshShape_setLocalScaling_1"]=asm["_emscripten_bind_btTriangleMeshShape_setLocalScaling_1"];var _emscripten_bind_btTriangleMesh___destroy___0=Module["_emscripten_bind_btTriangleMesh___destroy___0"]=asm["_emscripten_bind_btTriangleMesh___destroy___0"];var _emscripten_bind_btTriangleMesh_addIndex_1=Module["_emscripten_bind_btTriangleMesh_addIndex_1"]=asm["_emscripten_bind_btTriangleMesh_addIndex_1"];var _emscripten_bind_btTriangleMesh_addTriangle_3=Module["_emscripten_bind_btTriangleMesh_addTriangle_3"]=asm["_emscripten_bind_btTriangleMesh_addTriangle_3"];var _emscripten_bind_btTriangleMesh_addTriangle_4=Module["_emscripten_bind_btTriangleMesh_addTriangle_4"]=asm["_emscripten_bind_btTriangleMesh_addTriangle_4"];var _emscripten_bind_btTriangleMesh_btTriangleMesh_0=Module["_emscripten_bind_btTriangleMesh_btTriangleMesh_0"]=asm["_emscripten_bind_btTriangleMesh_btTriangleMesh_0"];var _emscripten_bind_btTriangleMesh_btTriangleMesh_1=Module["_emscripten_bind_btTriangleMesh_btTriangleMesh_1"]=asm["_emscripten_bind_btTriangleMesh_btTriangleMesh_1"];var _emscripten_bind_btTriangleMesh_btTriangleMesh_2=Module["_emscripten_bind_btTriangleMesh_btTriangleMesh_2"]=asm["_emscripten_bind_btTriangleMesh_btTriangleMesh_2"];var _emscripten_bind_btTriangleMesh_findOrAddVertex_2=Module["_emscripten_bind_btTriangleMesh_findOrAddVertex_2"]=asm["_emscripten_bind_btTriangleMesh_findOrAddVertex_2"];var _emscripten_bind_btTriangleMesh_getIndexedMeshArray_0=Module["_emscripten_bind_btTriangleMesh_getIndexedMeshArray_0"]=asm["_emscripten_bind_btTriangleMesh_getIndexedMeshArray_0"];var _emscripten_bind_btTriangleMesh_setScaling_1=Module["_emscripten_bind_btTriangleMesh_setScaling_1"]=asm["_emscripten_bind_btTriangleMesh_setScaling_1"];var _emscripten_bind_btTypedConstraint___destroy___0=Module["_emscripten_bind_btTypedConstraint___destroy___0"]=asm["_emscripten_bind_btTypedConstraint___destroy___0"];var _emscripten_bind_btTypedConstraint_enableFeedback_1=Module["_emscripten_bind_btTypedConstraint_enableFeedback_1"]=asm["_emscripten_bind_btTypedConstraint_enableFeedback_1"];var _emscripten_bind_btTypedConstraint_getBreakingImpulseThreshold_0=Module["_emscripten_bind_btTypedConstraint_getBreakingImpulseThreshold_0"]=asm["_emscripten_bind_btTypedConstraint_getBreakingImpulseThreshold_0"];var _emscripten_bind_btTypedConstraint_getParam_2=Module["_emscripten_bind_btTypedConstraint_getParam_2"]=asm["_emscripten_bind_btTypedConstraint_getParam_2"];var _emscripten_bind_btTypedConstraint_setBreakingImpulseThreshold_1=Module["_emscripten_bind_btTypedConstraint_setBreakingImpulseThreshold_1"]=asm["_emscripten_bind_btTypedConstraint_setBreakingImpulseThreshold_1"];var _emscripten_bind_btTypedConstraint_setParam_3=Module["_emscripten_bind_btTypedConstraint_setParam_3"]=asm["_emscripten_bind_btTypedConstraint_setParam_3"];var _emscripten_bind_btVector3Array___destroy___0=Module["_emscripten_bind_btVector3Array___destroy___0"]=asm["_emscripten_bind_btVector3Array___destroy___0"];var _emscripten_bind_btVector3Array_at_1=Module["_emscripten_bind_btVector3Array_at_1"]=asm["_emscripten_bind_btVector3Array_at_1"];var _emscripten_bind_btVector3Array_size_0=Module["_emscripten_bind_btVector3Array_size_0"]=asm["_emscripten_bind_btVector3Array_size_0"];var _emscripten_bind_btVector3___destroy___0=Module["_emscripten_bind_btVector3___destroy___0"]=asm["_emscripten_bind_btVector3___destroy___0"];var _emscripten_bind_btVector3_btVector3_0=Module["_emscripten_bind_btVector3_btVector3_0"]=asm["_emscripten_bind_btVector3_btVector3_0"];var _emscripten_bind_btVector3_btVector3_3=Module["_emscripten_bind_btVector3_btVector3_3"]=asm["_emscripten_bind_btVector3_btVector3_3"];var _emscripten_bind_btVector3_dot_1=Module["_emscripten_bind_btVector3_dot_1"]=asm["_emscripten_bind_btVector3_dot_1"];var _emscripten_bind_btVector3_length_0=Module["_emscripten_bind_btVector3_length_0"]=asm["_emscripten_bind_btVector3_length_0"];var _emscripten_bind_btVector3_normalize_0=Module["_emscripten_bind_btVector3_normalize_0"]=asm["_emscripten_bind_btVector3_normalize_0"];var _emscripten_bind_btVector3_op_add_1=Module["_emscripten_bind_btVector3_op_add_1"]=asm["_emscripten_bind_btVector3_op_add_1"];var _emscripten_bind_btVector3_op_mul_1=Module["_emscripten_bind_btVector3_op_mul_1"]=asm["_emscripten_bind_btVector3_op_mul_1"];var _emscripten_bind_btVector3_op_sub_1=Module["_emscripten_bind_btVector3_op_sub_1"]=asm["_emscripten_bind_btVector3_op_sub_1"];var _emscripten_bind_btVector3_rotate_2=Module["_emscripten_bind_btVector3_rotate_2"]=asm["_emscripten_bind_btVector3_rotate_2"];var _emscripten_bind_btVector3_setValue_3=Module["_emscripten_bind_btVector3_setValue_3"]=asm["_emscripten_bind_btVector3_setValue_3"];var _emscripten_bind_btVector3_setX_1=Module["_emscripten_bind_btVector3_setX_1"]=asm["_emscripten_bind_btVector3_setX_1"];var _emscripten_bind_btVector3_setY_1=Module["_emscripten_bind_btVector3_setY_1"]=asm["_emscripten_bind_btVector3_setY_1"];var _emscripten_bind_btVector3_setZ_1=Module["_emscripten_bind_btVector3_setZ_1"]=asm["_emscripten_bind_btVector3_setZ_1"];var _emscripten_bind_btVector3_x_0=Module["_emscripten_bind_btVector3_x_0"]=asm["_emscripten_bind_btVector3_x_0"];var _emscripten_bind_btVector3_y_0=Module["_emscripten_bind_btVector3_y_0"]=asm["_emscripten_bind_btVector3_y_0"];var _emscripten_bind_btVector3_z_0=Module["_emscripten_bind_btVector3_z_0"]=asm["_emscripten_bind_btVector3_z_0"];var _emscripten_bind_btVector4___destroy___0=Module["_emscripten_bind_btVector4___destroy___0"]=asm["_emscripten_bind_btVector4___destroy___0"];var _emscripten_bind_btVector4_btVector4_0=Module["_emscripten_bind_btVector4_btVector4_0"]=asm["_emscripten_bind_btVector4_btVector4_0"];var _emscripten_bind_btVector4_btVector4_4=Module["_emscripten_bind_btVector4_btVector4_4"]=asm["_emscripten_bind_btVector4_btVector4_4"];var _emscripten_bind_btVector4_dot_1=Module["_emscripten_bind_btVector4_dot_1"]=asm["_emscripten_bind_btVector4_dot_1"];var _emscripten_bind_btVector4_length_0=Module["_emscripten_bind_btVector4_length_0"]=asm["_emscripten_bind_btVector4_length_0"];var _emscripten_bind_btVector4_normalize_0=Module["_emscripten_bind_btVector4_normalize_0"]=asm["_emscripten_bind_btVector4_normalize_0"];var _emscripten_bind_btVector4_op_add_1=Module["_emscripten_bind_btVector4_op_add_1"]=asm["_emscripten_bind_btVector4_op_add_1"];var _emscripten_bind_btVector4_op_mul_1=Module["_emscripten_bind_btVector4_op_mul_1"]=asm["_emscripten_bind_btVector4_op_mul_1"];var _emscripten_bind_btVector4_op_sub_1=Module["_emscripten_bind_btVector4_op_sub_1"]=asm["_emscripten_bind_btVector4_op_sub_1"];var _emscripten_bind_btVector4_rotate_2=Module["_emscripten_bind_btVector4_rotate_2"]=asm["_emscripten_bind_btVector4_rotate_2"];var _emscripten_bind_btVector4_setValue_4=Module["_emscripten_bind_btVector4_setValue_4"]=asm["_emscripten_bind_btVector4_setValue_4"];var _emscripten_bind_btVector4_setX_1=Module["_emscripten_bind_btVector4_setX_1"]=asm["_emscripten_bind_btVector4_setX_1"];var _emscripten_bind_btVector4_setY_1=Module["_emscripten_bind_btVector4_setY_1"]=asm["_emscripten_bind_btVector4_setY_1"];var _emscripten_bind_btVector4_setZ_1=Module["_emscripten_bind_btVector4_setZ_1"]=asm["_emscripten_bind_btVector4_setZ_1"];var _emscripten_bind_btVector4_w_0=Module["_emscripten_bind_btVector4_w_0"]=asm["_emscripten_bind_btVector4_w_0"];var _emscripten_bind_btVector4_x_0=Module["_emscripten_bind_btVector4_x_0"]=asm["_emscripten_bind_btVector4_x_0"];var _emscripten_bind_btVector4_y_0=Module["_emscripten_bind_btVector4_y_0"]=asm["_emscripten_bind_btVector4_y_0"];var _emscripten_bind_btVector4_z_0=Module["_emscripten_bind_btVector4_z_0"]=asm["_emscripten_bind_btVector4_z_0"];var _emscripten_bind_btVehicleRaycasterResult___destroy___0=Module["_emscripten_bind_btVehicleRaycasterResult___destroy___0"]=asm["_emscripten_bind_btVehicleRaycasterResult___destroy___0"];var _emscripten_bind_btVehicleRaycasterResult_get_m_distFraction_0=Module["_emscripten_bind_btVehicleRaycasterResult_get_m_distFraction_0"]=asm["_emscripten_bind_btVehicleRaycasterResult_get_m_distFraction_0"];var _emscripten_bind_btVehicleRaycasterResult_get_m_hitNormalInWorld_0=Module["_emscripten_bind_btVehicleRaycasterResult_get_m_hitNormalInWorld_0"]=asm["_emscripten_bind_btVehicleRaycasterResult_get_m_hitNormalInWorld_0"];var _emscripten_bind_btVehicleRaycasterResult_get_m_hitPointInWorld_0=Module["_emscripten_bind_btVehicleRaycasterResult_get_m_hitPointInWorld_0"]=asm["_emscripten_bind_btVehicleRaycasterResult_get_m_hitPointInWorld_0"];var _emscripten_bind_btVehicleRaycasterResult_set_m_distFraction_1=Module["_emscripten_bind_btVehicleRaycasterResult_set_m_distFraction_1"]=asm["_emscripten_bind_btVehicleRaycasterResult_set_m_distFraction_1"];var _emscripten_bind_btVehicleRaycasterResult_set_m_hitNormalInWorld_1=Module["_emscripten_bind_btVehicleRaycasterResult_set_m_hitNormalInWorld_1"]=asm["_emscripten_bind_btVehicleRaycasterResult_set_m_hitNormalInWorld_1"];var _emscripten_bind_btVehicleRaycasterResult_set_m_hitPointInWorld_1=Module["_emscripten_bind_btVehicleRaycasterResult_set_m_hitPointInWorld_1"]=asm["_emscripten_bind_btVehicleRaycasterResult_set_m_hitPointInWorld_1"];var _emscripten_bind_btVehicleRaycaster___destroy___0=Module["_emscripten_bind_btVehicleRaycaster___destroy___0"]=asm["_emscripten_bind_btVehicleRaycaster___destroy___0"];var _emscripten_bind_btVehicleRaycaster_castRay_3=Module["_emscripten_bind_btVehicleRaycaster_castRay_3"]=asm["_emscripten_bind_btVehicleRaycaster_castRay_3"];var _emscripten_bind_btVehicleTuning_btVehicleTuning_0=Module["_emscripten_bind_btVehicleTuning_btVehicleTuning_0"]=asm["_emscripten_bind_btVehicleTuning_btVehicleTuning_0"];var _emscripten_bind_btVehicleTuning_get_m_frictionSlip_0=Module["_emscripten_bind_btVehicleTuning_get_m_frictionSlip_0"]=asm["_emscripten_bind_btVehicleTuning_get_m_frictionSlip_0"];var _emscripten_bind_btVehicleTuning_get_m_maxSuspensionForce_0=Module["_emscripten_bind_btVehicleTuning_get_m_maxSuspensionForce_0"]=asm["_emscripten_bind_btVehicleTuning_get_m_maxSuspensionForce_0"];var _emscripten_bind_btVehicleTuning_get_m_maxSuspensionTravelCm_0=Module["_emscripten_bind_btVehicleTuning_get_m_maxSuspensionTravelCm_0"]=asm["_emscripten_bind_btVehicleTuning_get_m_maxSuspensionTravelCm_0"];var _emscripten_bind_btVehicleTuning_get_m_suspensionCompression_0=Module["_emscripten_bind_btVehicleTuning_get_m_suspensionCompression_0"]=asm["_emscripten_bind_btVehicleTuning_get_m_suspensionCompression_0"];var _emscripten_bind_btVehicleTuning_get_m_suspensionDamping_0=Module["_emscripten_bind_btVehicleTuning_get_m_suspensionDamping_0"]=asm["_emscripten_bind_btVehicleTuning_get_m_suspensionDamping_0"];var _emscripten_bind_btVehicleTuning_get_m_suspensionStiffness_0=Module["_emscripten_bind_btVehicleTuning_get_m_suspensionStiffness_0"]=asm["_emscripten_bind_btVehicleTuning_get_m_suspensionStiffness_0"];var _emscripten_bind_btVehicleTuning_set_m_frictionSlip_1=Module["_emscripten_bind_btVehicleTuning_set_m_frictionSlip_1"]=asm["_emscripten_bind_btVehicleTuning_set_m_frictionSlip_1"];var _emscripten_bind_btVehicleTuning_set_m_maxSuspensionForce_1=Module["_emscripten_bind_btVehicleTuning_set_m_maxSuspensionForce_1"]=asm["_emscripten_bind_btVehicleTuning_set_m_maxSuspensionForce_1"];var _emscripten_bind_btVehicleTuning_set_m_maxSuspensionTravelCm_1=Module["_emscripten_bind_btVehicleTuning_set_m_maxSuspensionTravelCm_1"]=asm["_emscripten_bind_btVehicleTuning_set_m_maxSuspensionTravelCm_1"];var _emscripten_bind_btVehicleTuning_set_m_suspensionCompression_1=Module["_emscripten_bind_btVehicleTuning_set_m_suspensionCompression_1"]=asm["_emscripten_bind_btVehicleTuning_set_m_suspensionCompression_1"];var _emscripten_bind_btVehicleTuning_set_m_suspensionDamping_1=Module["_emscripten_bind_btVehicleTuning_set_m_suspensionDamping_1"]=asm["_emscripten_bind_btVehicleTuning_set_m_suspensionDamping_1"];var _emscripten_bind_btVehicleTuning_set_m_suspensionStiffness_1=Module["_emscripten_bind_btVehicleTuning_set_m_suspensionStiffness_1"]=asm["_emscripten_bind_btVehicleTuning_set_m_suspensionStiffness_1"];var _emscripten_bind_btWheelInfoConstructionInfo___destroy___0=Module["_emscripten_bind_btWheelInfoConstructionInfo___destroy___0"]=asm["_emscripten_bind_btWheelInfoConstructionInfo___destroy___0"];var _emscripten_bind_btWheelInfoConstructionInfo_get_m_bIsFrontWheel_0=Module["_emscripten_bind_btWheelInfoConstructionInfo_get_m_bIsFrontWheel_0"]=asm["_emscripten_bind_btWheelInfoConstructionInfo_get_m_bIsFrontWheel_0"];var _emscripten_bind_btWheelInfoConstructionInfo_get_m_chassisConnectionCS_0=Module["_emscripten_bind_btWheelInfoConstructionInfo_get_m_chassisConnectionCS_0"]=asm["_emscripten_bind_btWheelInfoConstructionInfo_get_m_chassisConnectionCS_0"];var _emscripten_bind_btWheelInfoConstructionInfo_get_m_frictionSlip_0=Module["_emscripten_bind_btWheelInfoConstructionInfo_get_m_frictionSlip_0"]=asm["_emscripten_bind_btWheelInfoConstructionInfo_get_m_frictionSlip_0"];var _emscripten_bind_btWheelInfoConstructionInfo_get_m_maxSuspensionForce_0=Module["_emscripten_bind_btWheelInfoConstructionInfo_get_m_maxSuspensionForce_0"]=asm["_emscripten_bind_btWheelInfoConstructionInfo_get_m_maxSuspensionForce_0"];var _emscripten_bind_btWheelInfoConstructionInfo_get_m_maxSuspensionTravelCm_0=Module["_emscripten_bind_btWheelInfoConstructionInfo_get_m_maxSuspensionTravelCm_0"]=asm["_emscripten_bind_btWheelInfoConstructionInfo_get_m_maxSuspensionTravelCm_0"];var _emscripten_bind_btWheelInfoConstructionInfo_get_m_suspensionRestLength_0=Module["_emscripten_bind_btWheelInfoConstructionInfo_get_m_suspensionRestLength_0"]=asm["_emscripten_bind_btWheelInfoConstructionInfo_get_m_suspensionRestLength_0"];var _emscripten_bind_btWheelInfoConstructionInfo_get_m_suspensionStiffness_0=Module["_emscripten_bind_btWheelInfoConstructionInfo_get_m_suspensionStiffness_0"]=asm["_emscripten_bind_btWheelInfoConstructionInfo_get_m_suspensionStiffness_0"];var _emscripten_bind_btWheelInfoConstructionInfo_get_m_wheelAxleCS_0=Module["_emscripten_bind_btWheelInfoConstructionInfo_get_m_wheelAxleCS_0"]=asm["_emscripten_bind_btWheelInfoConstructionInfo_get_m_wheelAxleCS_0"];var _emscripten_bind_btWheelInfoConstructionInfo_get_m_wheelDirectionCS_0=Module["_emscripten_bind_btWheelInfoConstructionInfo_get_m_wheelDirectionCS_0"]=asm["_emscripten_bind_btWheelInfoConstructionInfo_get_m_wheelDirectionCS_0"];var _emscripten_bind_btWheelInfoConstructionInfo_get_m_wheelRadius_0=Module["_emscripten_bind_btWheelInfoConstructionInfo_get_m_wheelRadius_0"]=asm["_emscripten_bind_btWheelInfoConstructionInfo_get_m_wheelRadius_0"];var _emscripten_bind_btWheelInfoConstructionInfo_get_m_wheelsDampingCompression_0=Module["_emscripten_bind_btWheelInfoConstructionInfo_get_m_wheelsDampingCompression_0"]=asm["_emscripten_bind_btWheelInfoConstructionInfo_get_m_wheelsDampingCompression_0"];var _emscripten_bind_btWheelInfoConstructionInfo_get_m_wheelsDampingRelaxation_0=Module["_emscripten_bind_btWheelInfoConstructionInfo_get_m_wheelsDampingRelaxation_0"]=asm["_emscripten_bind_btWheelInfoConstructionInfo_get_m_wheelsDampingRelaxation_0"];var _emscripten_bind_btWheelInfoConstructionInfo_set_m_bIsFrontWheel_1=Module["_emscripten_bind_btWheelInfoConstructionInfo_set_m_bIsFrontWheel_1"]=asm["_emscripten_bind_btWheelInfoConstructionInfo_set_m_bIsFrontWheel_1"];var _emscripten_bind_btWheelInfoConstructionInfo_set_m_chassisConnectionCS_1=Module["_emscripten_bind_btWheelInfoConstructionInfo_set_m_chassisConnectionCS_1"]=asm["_emscripten_bind_btWheelInfoConstructionInfo_set_m_chassisConnectionCS_1"];var _emscripten_bind_btWheelInfoConstructionInfo_set_m_frictionSlip_1=Module["_emscripten_bind_btWheelInfoConstructionInfo_set_m_frictionSlip_1"]=asm["_emscripten_bind_btWheelInfoConstructionInfo_set_m_frictionSlip_1"];var _emscripten_bind_btWheelInfoConstructionInfo_set_m_maxSuspensionForce_1=Module["_emscripten_bind_btWheelInfoConstructionInfo_set_m_maxSuspensionForce_1"]=asm["_emscripten_bind_btWheelInfoConstructionInfo_set_m_maxSuspensionForce_1"];var _emscripten_bind_btWheelInfoConstructionInfo_set_m_maxSuspensionTravelCm_1=Module["_emscripten_bind_btWheelInfoConstructionInfo_set_m_maxSuspensionTravelCm_1"]=asm["_emscripten_bind_btWheelInfoConstructionInfo_set_m_maxSuspensionTravelCm_1"];var _emscripten_bind_btWheelInfoConstructionInfo_set_m_suspensionRestLength_1=Module["_emscripten_bind_btWheelInfoConstructionInfo_set_m_suspensionRestLength_1"]=asm["_emscripten_bind_btWheelInfoConstructionInfo_set_m_suspensionRestLength_1"];var _emscripten_bind_btWheelInfoConstructionInfo_set_m_suspensionStiffness_1=Module["_emscripten_bind_btWheelInfoConstructionInfo_set_m_suspensionStiffness_1"]=asm["_emscripten_bind_btWheelInfoConstructionInfo_set_m_suspensionStiffness_1"];var _emscripten_bind_btWheelInfoConstructionInfo_set_m_wheelAxleCS_1=Module["_emscripten_bind_btWheelInfoConstructionInfo_set_m_wheelAxleCS_1"]=asm["_emscripten_bind_btWheelInfoConstructionInfo_set_m_wheelAxleCS_1"];var _emscripten_bind_btWheelInfoConstructionInfo_set_m_wheelDirectionCS_1=Module["_emscripten_bind_btWheelInfoConstructionInfo_set_m_wheelDirectionCS_1"]=asm["_emscripten_bind_btWheelInfoConstructionInfo_set_m_wheelDirectionCS_1"];var _emscripten_bind_btWheelInfoConstructionInfo_set_m_wheelRadius_1=Module["_emscripten_bind_btWheelInfoConstructionInfo_set_m_wheelRadius_1"]=asm["_emscripten_bind_btWheelInfoConstructionInfo_set_m_wheelRadius_1"];var _emscripten_bind_btWheelInfoConstructionInfo_set_m_wheelsDampingCompression_1=Module["_emscripten_bind_btWheelInfoConstructionInfo_set_m_wheelsDampingCompression_1"]=asm["_emscripten_bind_btWheelInfoConstructionInfo_set_m_wheelsDampingCompression_1"];var _emscripten_bind_btWheelInfoConstructionInfo_set_m_wheelsDampingRelaxation_1=Module["_emscripten_bind_btWheelInfoConstructionInfo_set_m_wheelsDampingRelaxation_1"]=asm["_emscripten_bind_btWheelInfoConstructionInfo_set_m_wheelsDampingRelaxation_1"];var _emscripten_bind_btWheelInfo___destroy___0=Module["_emscripten_bind_btWheelInfo___destroy___0"]=asm["_emscripten_bind_btWheelInfo___destroy___0"];var _emscripten_bind_btWheelInfo_btWheelInfo_1=Module["_emscripten_bind_btWheelInfo_btWheelInfo_1"]=asm["_emscripten_bind_btWheelInfo_btWheelInfo_1"];var _emscripten_bind_btWheelInfo_getSuspensionRestLength_0=Module["_emscripten_bind_btWheelInfo_getSuspensionRestLength_0"]=asm["_emscripten_bind_btWheelInfo_getSuspensionRestLength_0"];var _emscripten_bind_btWheelInfo_get_m_bIsFrontWheel_0=Module["_emscripten_bind_btWheelInfo_get_m_bIsFrontWheel_0"]=asm["_emscripten_bind_btWheelInfo_get_m_bIsFrontWheel_0"];var _emscripten_bind_btWheelInfo_get_m_brake_0=Module["_emscripten_bind_btWheelInfo_get_m_brake_0"]=asm["_emscripten_bind_btWheelInfo_get_m_brake_0"];var _emscripten_bind_btWheelInfo_get_m_chassisConnectionPointCS_0=Module["_emscripten_bind_btWheelInfo_get_m_chassisConnectionPointCS_0"]=asm["_emscripten_bind_btWheelInfo_get_m_chassisConnectionPointCS_0"];var _emscripten_bind_btWheelInfo_get_m_clippedInvContactDotSuspension_0=Module["_emscripten_bind_btWheelInfo_get_m_clippedInvContactDotSuspension_0"]=asm["_emscripten_bind_btWheelInfo_get_m_clippedInvContactDotSuspension_0"];var _emscripten_bind_btWheelInfo_get_m_deltaRotation_0=Module["_emscripten_bind_btWheelInfo_get_m_deltaRotation_0"]=asm["_emscripten_bind_btWheelInfo_get_m_deltaRotation_0"];var _emscripten_bind_btWheelInfo_get_m_engineForce_0=Module["_emscripten_bind_btWheelInfo_get_m_engineForce_0"]=asm["_emscripten_bind_btWheelInfo_get_m_engineForce_0"];var _emscripten_bind_btWheelInfo_get_m_frictionSlip_0=Module["_emscripten_bind_btWheelInfo_get_m_frictionSlip_0"]=asm["_emscripten_bind_btWheelInfo_get_m_frictionSlip_0"];var _emscripten_bind_btWheelInfo_get_m_maxSuspensionForce_0=Module["_emscripten_bind_btWheelInfo_get_m_maxSuspensionForce_0"]=asm["_emscripten_bind_btWheelInfo_get_m_maxSuspensionForce_0"];var _emscripten_bind_btWheelInfo_get_m_maxSuspensionTravelCm_0=Module["_emscripten_bind_btWheelInfo_get_m_maxSuspensionTravelCm_0"]=asm["_emscripten_bind_btWheelInfo_get_m_maxSuspensionTravelCm_0"];var _emscripten_bind_btWheelInfo_get_m_raycastInfo_0=Module["_emscripten_bind_btWheelInfo_get_m_raycastInfo_0"]=asm["_emscripten_bind_btWheelInfo_get_m_raycastInfo_0"];var _emscripten_bind_btWheelInfo_get_m_rollInfluence_0=Module["_emscripten_bind_btWheelInfo_get_m_rollInfluence_0"]=asm["_emscripten_bind_btWheelInfo_get_m_rollInfluence_0"];var _emscripten_bind_btWheelInfo_get_m_rotation_0=Module["_emscripten_bind_btWheelInfo_get_m_rotation_0"]=asm["_emscripten_bind_btWheelInfo_get_m_rotation_0"];var _emscripten_bind_btWheelInfo_get_m_skidInfo_0=Module["_emscripten_bind_btWheelInfo_get_m_skidInfo_0"]=asm["_emscripten_bind_btWheelInfo_get_m_skidInfo_0"];var _emscripten_bind_btWheelInfo_get_m_steering_0=Module["_emscripten_bind_btWheelInfo_get_m_steering_0"]=asm["_emscripten_bind_btWheelInfo_get_m_steering_0"];var _emscripten_bind_btWheelInfo_get_m_suspensionRelativeVelocity_0=Module["_emscripten_bind_btWheelInfo_get_m_suspensionRelativeVelocity_0"]=asm["_emscripten_bind_btWheelInfo_get_m_suspensionRelativeVelocity_0"];var _emscripten_bind_btWheelInfo_get_m_suspensionRestLength1_0=Module["_emscripten_bind_btWheelInfo_get_m_suspensionRestLength1_0"]=asm["_emscripten_bind_btWheelInfo_get_m_suspensionRestLength1_0"];var _emscripten_bind_btWheelInfo_get_m_suspensionStiffness_0=Module["_emscripten_bind_btWheelInfo_get_m_suspensionStiffness_0"]=asm["_emscripten_bind_btWheelInfo_get_m_suspensionStiffness_0"];var _emscripten_bind_btWheelInfo_get_m_wheelAxleCS_0=Module["_emscripten_bind_btWheelInfo_get_m_wheelAxleCS_0"]=asm["_emscripten_bind_btWheelInfo_get_m_wheelAxleCS_0"];var _emscripten_bind_btWheelInfo_get_m_wheelDirectionCS_0=Module["_emscripten_bind_btWheelInfo_get_m_wheelDirectionCS_0"]=asm["_emscripten_bind_btWheelInfo_get_m_wheelDirectionCS_0"];var _emscripten_bind_btWheelInfo_get_m_wheelsDampingCompression_0=Module["_emscripten_bind_btWheelInfo_get_m_wheelsDampingCompression_0"]=asm["_emscripten_bind_btWheelInfo_get_m_wheelsDampingCompression_0"];var _emscripten_bind_btWheelInfo_get_m_wheelsDampingRelaxation_0=Module["_emscripten_bind_btWheelInfo_get_m_wheelsDampingRelaxation_0"]=asm["_emscripten_bind_btWheelInfo_get_m_wheelsDampingRelaxation_0"];var _emscripten_bind_btWheelInfo_get_m_wheelsRadius_0=Module["_emscripten_bind_btWheelInfo_get_m_wheelsRadius_0"]=asm["_emscripten_bind_btWheelInfo_get_m_wheelsRadius_0"];var _emscripten_bind_btWheelInfo_get_m_wheelsSuspensionForce_0=Module["_emscripten_bind_btWheelInfo_get_m_wheelsSuspensionForce_0"]=asm["_emscripten_bind_btWheelInfo_get_m_wheelsSuspensionForce_0"];var _emscripten_bind_btWheelInfo_get_m_worldTransform_0=Module["_emscripten_bind_btWheelInfo_get_m_worldTransform_0"]=asm["_emscripten_bind_btWheelInfo_get_m_worldTransform_0"];var _emscripten_bind_btWheelInfo_set_m_bIsFrontWheel_1=Module["_emscripten_bind_btWheelInfo_set_m_bIsFrontWheel_1"]=asm["_emscripten_bind_btWheelInfo_set_m_bIsFrontWheel_1"];var _emscripten_bind_btWheelInfo_set_m_brake_1=Module["_emscripten_bind_btWheelInfo_set_m_brake_1"]=asm["_emscripten_bind_btWheelInfo_set_m_brake_1"];var _emscripten_bind_btWheelInfo_set_m_chassisConnectionPointCS_1=Module["_emscripten_bind_btWheelInfo_set_m_chassisConnectionPointCS_1"]=asm["_emscripten_bind_btWheelInfo_set_m_chassisConnectionPointCS_1"];var _emscripten_bind_btWheelInfo_set_m_clippedInvContactDotSuspension_1=Module["_emscripten_bind_btWheelInfo_set_m_clippedInvContactDotSuspension_1"]=asm["_emscripten_bind_btWheelInfo_set_m_clippedInvContactDotSuspension_1"];var _emscripten_bind_btWheelInfo_set_m_deltaRotation_1=Module["_emscripten_bind_btWheelInfo_set_m_deltaRotation_1"]=asm["_emscripten_bind_btWheelInfo_set_m_deltaRotation_1"];var _emscripten_bind_btWheelInfo_set_m_engineForce_1=Module["_emscripten_bind_btWheelInfo_set_m_engineForce_1"]=asm["_emscripten_bind_btWheelInfo_set_m_engineForce_1"];var _emscripten_bind_btWheelInfo_set_m_frictionSlip_1=Module["_emscripten_bind_btWheelInfo_set_m_frictionSlip_1"]=asm["_emscripten_bind_btWheelInfo_set_m_frictionSlip_1"];var _emscripten_bind_btWheelInfo_set_m_maxSuspensionForce_1=Module["_emscripten_bind_btWheelInfo_set_m_maxSuspensionForce_1"]=asm["_emscripten_bind_btWheelInfo_set_m_maxSuspensionForce_1"];var _emscripten_bind_btWheelInfo_set_m_maxSuspensionTravelCm_1=Module["_emscripten_bind_btWheelInfo_set_m_maxSuspensionTravelCm_1"]=asm["_emscripten_bind_btWheelInfo_set_m_maxSuspensionTravelCm_1"];var _emscripten_bind_btWheelInfo_set_m_raycastInfo_1=Module["_emscripten_bind_btWheelInfo_set_m_raycastInfo_1"]=asm["_emscripten_bind_btWheelInfo_set_m_raycastInfo_1"];var _emscripten_bind_btWheelInfo_set_m_rollInfluence_1=Module["_emscripten_bind_btWheelInfo_set_m_rollInfluence_1"]=asm["_emscripten_bind_btWheelInfo_set_m_rollInfluence_1"];var _emscripten_bind_btWheelInfo_set_m_rotation_1=Module["_emscripten_bind_btWheelInfo_set_m_rotation_1"]=asm["_emscripten_bind_btWheelInfo_set_m_rotation_1"];var _emscripten_bind_btWheelInfo_set_m_skidInfo_1=Module["_emscripten_bind_btWheelInfo_set_m_skidInfo_1"]=asm["_emscripten_bind_btWheelInfo_set_m_skidInfo_1"];var _emscripten_bind_btWheelInfo_set_m_steering_1=Module["_emscripten_bind_btWheelInfo_set_m_steering_1"]=asm["_emscripten_bind_btWheelInfo_set_m_steering_1"];var _emscripten_bind_btWheelInfo_set_m_suspensionRelativeVelocity_1=Module["_emscripten_bind_btWheelInfo_set_m_suspensionRelativeVelocity_1"]=asm["_emscripten_bind_btWheelInfo_set_m_suspensionRelativeVelocity_1"];var _emscripten_bind_btWheelInfo_set_m_suspensionRestLength1_1=Module["_emscripten_bind_btWheelInfo_set_m_suspensionRestLength1_1"]=asm["_emscripten_bind_btWheelInfo_set_m_suspensionRestLength1_1"];var _emscripten_bind_btWheelInfo_set_m_suspensionStiffness_1=Module["_emscripten_bind_btWheelInfo_set_m_suspensionStiffness_1"]=asm["_emscripten_bind_btWheelInfo_set_m_suspensionStiffness_1"];var _emscripten_bind_btWheelInfo_set_m_wheelAxleCS_1=Module["_emscripten_bind_btWheelInfo_set_m_wheelAxleCS_1"]=asm["_emscripten_bind_btWheelInfo_set_m_wheelAxleCS_1"];var _emscripten_bind_btWheelInfo_set_m_wheelDirectionCS_1=Module["_emscripten_bind_btWheelInfo_set_m_wheelDirectionCS_1"]=asm["_emscripten_bind_btWheelInfo_set_m_wheelDirectionCS_1"];var _emscripten_bind_btWheelInfo_set_m_wheelsDampingCompression_1=Module["_emscripten_bind_btWheelInfo_set_m_wheelsDampingCompression_1"]=asm["_emscripten_bind_btWheelInfo_set_m_wheelsDampingCompression_1"];var _emscripten_bind_btWheelInfo_set_m_wheelsDampingRelaxation_1=Module["_emscripten_bind_btWheelInfo_set_m_wheelsDampingRelaxation_1"]=asm["_emscripten_bind_btWheelInfo_set_m_wheelsDampingRelaxation_1"];var _emscripten_bind_btWheelInfo_set_m_wheelsRadius_1=Module["_emscripten_bind_btWheelInfo_set_m_wheelsRadius_1"]=asm["_emscripten_bind_btWheelInfo_set_m_wheelsRadius_1"];var _emscripten_bind_btWheelInfo_set_m_wheelsSuspensionForce_1=Module["_emscripten_bind_btWheelInfo_set_m_wheelsSuspensionForce_1"]=asm["_emscripten_bind_btWheelInfo_set_m_wheelsSuspensionForce_1"];var _emscripten_bind_btWheelInfo_set_m_worldTransform_1=Module["_emscripten_bind_btWheelInfo_set_m_worldTransform_1"]=asm["_emscripten_bind_btWheelInfo_set_m_worldTransform_1"];var _emscripten_bind_btWheelInfo_updateWheel_2=Module["_emscripten_bind_btWheelInfo_updateWheel_2"]=asm["_emscripten_bind_btWheelInfo_updateWheel_2"];var _emscripten_bind_tAnchorArray___destroy___0=Module["_emscripten_bind_tAnchorArray___destroy___0"]=asm["_emscripten_bind_tAnchorArray___destroy___0"];var _emscripten_bind_tAnchorArray_at_1=Module["_emscripten_bind_tAnchorArray_at_1"]=asm["_emscripten_bind_tAnchorArray_at_1"];var _emscripten_bind_tAnchorArray_clear_0=Module["_emscripten_bind_tAnchorArray_clear_0"]=asm["_emscripten_bind_tAnchorArray_clear_0"];var _emscripten_bind_tAnchorArray_pop_back_0=Module["_emscripten_bind_tAnchorArray_pop_back_0"]=asm["_emscripten_bind_tAnchorArray_pop_back_0"];var _emscripten_bind_tAnchorArray_push_back_1=Module["_emscripten_bind_tAnchorArray_push_back_1"]=asm["_emscripten_bind_tAnchorArray_push_back_1"];var _emscripten_bind_tAnchorArray_size_0=Module["_emscripten_bind_tAnchorArray_size_0"]=asm["_emscripten_bind_tAnchorArray_size_0"];var _emscripten_bind_tMaterialArray___destroy___0=Module["_emscripten_bind_tMaterialArray___destroy___0"]=asm["_emscripten_bind_tMaterialArray___destroy___0"];var _emscripten_bind_tMaterialArray_at_1=Module["_emscripten_bind_tMaterialArray_at_1"]=asm["_emscripten_bind_tMaterialArray_at_1"];var _emscripten_bind_tMaterialArray_size_0=Module["_emscripten_bind_tMaterialArray_size_0"]=asm["_emscripten_bind_tMaterialArray_size_0"];var _emscripten_bind_tNodeArray___destroy___0=Module["_emscripten_bind_tNodeArray___destroy___0"]=asm["_emscripten_bind_tNodeArray___destroy___0"];var _emscripten_bind_tNodeArray_at_1=Module["_emscripten_bind_tNodeArray_at_1"]=asm["_emscripten_bind_tNodeArray_at_1"];var _emscripten_bind_tNodeArray_size_0=Module["_emscripten_bind_tNodeArray_size_0"]=asm["_emscripten_bind_tNodeArray_size_0"];var _emscripten_enum_PHY_ScalarType_PHY_DOUBLE=Module["_emscripten_enum_PHY_ScalarType_PHY_DOUBLE"]=asm["_emscripten_enum_PHY_ScalarType_PHY_DOUBLE"];var _emscripten_enum_PHY_ScalarType_PHY_FIXEDPOINT88=Module["_emscripten_enum_PHY_ScalarType_PHY_FIXEDPOINT88"]=asm["_emscripten_enum_PHY_ScalarType_PHY_FIXEDPOINT88"];var _emscripten_enum_PHY_ScalarType_PHY_FLOAT=Module["_emscripten_enum_PHY_ScalarType_PHY_FLOAT"]=asm["_emscripten_enum_PHY_ScalarType_PHY_FLOAT"];var _emscripten_enum_PHY_ScalarType_PHY_INTEGER=Module["_emscripten_enum_PHY_ScalarType_PHY_INTEGER"]=asm["_emscripten_enum_PHY_ScalarType_PHY_INTEGER"];var _emscripten_enum_PHY_ScalarType_PHY_SHORT=Module["_emscripten_enum_PHY_ScalarType_PHY_SHORT"]=asm["_emscripten_enum_PHY_ScalarType_PHY_SHORT"];var _emscripten_enum_PHY_ScalarType_PHY_UCHAR=Module["_emscripten_enum_PHY_ScalarType_PHY_UCHAR"]=asm["_emscripten_enum_PHY_ScalarType_PHY_UCHAR"];var _emscripten_enum_btConstraintParams_BT_CONSTRAINT_CFM=Module["_emscripten_enum_btConstraintParams_BT_CONSTRAINT_CFM"]=asm["_emscripten_enum_btConstraintParams_BT_CONSTRAINT_CFM"];var _emscripten_enum_btConstraintParams_BT_CONSTRAINT_ERP=Module["_emscripten_enum_btConstraintParams_BT_CONSTRAINT_ERP"]=asm["_emscripten_enum_btConstraintParams_BT_CONSTRAINT_ERP"];var _emscripten_enum_btConstraintParams_BT_CONSTRAINT_STOP_CFM=Module["_emscripten_enum_btConstraintParams_BT_CONSTRAINT_STOP_CFM"]=asm["_emscripten_enum_btConstraintParams_BT_CONSTRAINT_STOP_CFM"];var _emscripten_enum_btConstraintParams_BT_CONSTRAINT_STOP_ERP=Module["_emscripten_enum_btConstraintParams_BT_CONSTRAINT_STOP_ERP"]=asm["_emscripten_enum_btConstraintParams_BT_CONSTRAINT_STOP_ERP"];var _free=Module["_free"]=asm["_free"];var _i64Add=Module["_i64Add"]=asm["_i64Add"];var _i64Subtract=Module["_i64Subtract"]=asm["_i64Subtract"];var _llvm_bswap_i16=Module["_llvm_bswap_i16"]=asm["_llvm_bswap_i16"];var _llvm_bswap_i32=Module["_llvm_bswap_i32"]=asm["_llvm_bswap_i32"];var _malloc=Module["_malloc"]=asm["_malloc"];var _memcpy=Module["_memcpy"]=asm["_memcpy"];var _memmove=Module["_memmove"]=asm["_memmove"];var _memset=Module["_memset"]=asm["_memset"];var _sbrk=Module["_sbrk"]=asm["_sbrk"];var establishStackSpace=Module["establishStackSpace"]=asm["establishStackSpace"];var stackAlloc=Module["stackAlloc"]=asm["stackAlloc"];var stackRestore=Module["stackRestore"]=asm["stackRestore"];var stackSave=Module["stackSave"]=asm["stackSave"];var dynCall_di=Module["dynCall_di"]=asm["dynCall_di"];var dynCall_did=Module["dynCall_did"]=asm["dynCall_did"];var dynCall_diidii=Module["dynCall_diidii"]=asm["dynCall_diidii"];var dynCall_diii=Module["dynCall_diii"]=asm["dynCall_diii"];var dynCall_diiidii=Module["dynCall_diiidii"]=asm["dynCall_diiidii"];var dynCall_diiii=Module["dynCall_diiii"]=asm["dynCall_diiii"];var dynCall_diiiii=Module["dynCall_diiiii"]=asm["dynCall_diiiii"];var dynCall_diiiiiiii=Module["dynCall_diiiiiiii"]=asm["dynCall_diiiiiiii"];var dynCall_diiiiiiiii=Module["dynCall_diiiiiiiii"]=asm["dynCall_diiiiiiiii"];var dynCall_diiiiiiiiii=Module["dynCall_diiiiiiiiii"]=asm["dynCall_diiiiiiiiii"];var dynCall_ii=Module["dynCall_ii"]=asm["dynCall_ii"];var dynCall_iidid=Module["dynCall_iidid"]=asm["dynCall_iidid"];var dynCall_iii=Module["dynCall_iii"]=asm["dynCall_iii"];var dynCall_iiid=Module["dynCall_iiid"]=asm["dynCall_iiid"];var dynCall_iiii=Module["dynCall_iiii"]=asm["dynCall_iiii"];var dynCall_iiiii=Module["dynCall_iiiii"]=asm["dynCall_iiiii"];var dynCall_iiiiiii=Module["dynCall_iiiiiii"]=asm["dynCall_iiiiiii"];var dynCall_iiiiiiii=Module["dynCall_iiiiiiii"]=asm["dynCall_iiiiiiii"];var dynCall_iiiiiiiiii=Module["dynCall_iiiiiiiiii"]=asm["dynCall_iiiiiiiiii"];var dynCall_iiiiiiiiiii=Module["dynCall_iiiiiiiiiii"]=asm["dynCall_iiiiiiiiiii"];var dynCall_v=Module["dynCall_v"]=asm["dynCall_v"];var dynCall_vi=Module["dynCall_vi"]=asm["dynCall_vi"];var dynCall_vid=Module["dynCall_vid"]=asm["dynCall_vid"];var dynCall_vidd=Module["dynCall_vidd"]=asm["dynCall_vidd"];var dynCall_viddiii=Module["dynCall_viddiii"]=asm["dynCall_viddiii"];var dynCall_vidi=Module["dynCall_vidi"]=asm["dynCall_vidi"];var dynCall_vidii=Module["dynCall_vidii"]=asm["dynCall_vidii"];var dynCall_vii=Module["dynCall_vii"]=asm["dynCall_vii"];var dynCall_viid=Module["dynCall_viid"]=asm["dynCall_viid"];var dynCall_viidi=Module["dynCall_viidi"]=asm["dynCall_viidi"];var dynCall_viidii=Module["dynCall_viidii"]=asm["dynCall_viidii"];var dynCall_viii=Module["dynCall_viii"]=asm["dynCall_viii"];var dynCall_viiid=Module["dynCall_viiid"]=asm["dynCall_viiid"];var dynCall_viiidii=Module["dynCall_viiidii"]=asm["dynCall_viiidii"];var dynCall_viiii=Module["dynCall_viiii"]=asm["dynCall_viiii"];var dynCall_viiiid=Module["dynCall_viiiid"]=asm["dynCall_viiiid"];var dynCall_viiiidddddidi=Module["dynCall_viiiidddddidi"]=asm["dynCall_viiiidddddidi"];var dynCall_viiiiddddiid=Module["dynCall_viiiiddddiid"]=asm["dynCall_viiiiddddiid"];var dynCall_viiiii=Module["dynCall_viiiii"]=asm["dynCall_viiiii"];var dynCall_viiiiid=Module["dynCall_viiiiid"]=asm["dynCall_viiiiid"];var dynCall_viiiiii=Module["dynCall_viiiiii"]=asm["dynCall_viiiiii"];var dynCall_viiiiiii=Module["dynCall_viiiiiii"]=asm["dynCall_viiiiiii"];var dynCall_viiiiiiiid=Module["dynCall_viiiiiiiid"]=asm["dynCall_viiiiiiiid"];var dynCall_viiiiiiiii=Module["dynCall_viiiiiiiii"]=asm["dynCall_viiiiiiiii"];var dynCall_viiiiiiiiii=Module["dynCall_viiiiiiiiii"]=asm["dynCall_viiiiiiiiii"];Module["asm"]=asm;Module["UTF8ToString"]=UTF8ToString;Module["addFunction"]=addFunction;if(memoryInitializer){if(!isDataURI(memoryInitializer)){memoryInitializer=locateFile(memoryInitializer)}if(ENVIRONMENT_IS_NODE||ENVIRONMENT_IS_SHELL){var data=readBinary(memoryInitializer);HEAPU8.set(data,GLOBAL_BASE)}else{addRunDependency("memory initializer");var applyMemoryInitializer=function(data){if(data.byteLength)data=new Uint8Array(data);HEAPU8.set(data,GLOBAL_BASE);if(Module["memoryInitializerRequest"])delete Module["memoryInitializerRequest"].response;removeRunDependency("memory initializer")};var doBrowserLoad=function(){readAsync(memoryInitializer,applyMemoryInitializer,function(){throw"could not load memory initializer "+memoryInitializer})};var memoryInitializerBytes=tryParseAsDataURI(memoryInitializer);if(memoryInitializerBytes){applyMemoryInitializer(memoryInitializerBytes.buffer)}else if(Module["memoryInitializerRequest"]){var useRequest=function(){var request=Module["memoryInitializerRequest"];var response=request.response;if(request.status!==200&&request.status!==0){var data=tryParseAsDataURI(Module["memoryInitializerRequestURL"]);if(data){response=data.buffer}else{console.warn("a problem seems to have happened with Module.memoryInitializerRequest, status: "+request.status+", retrying "+memoryInitializer);doBrowserLoad();return}}applyMemoryInitializer(response)};if(Module["memoryInitializerRequest"].response){setTimeout(useRequest,0)}else{Module["memoryInitializerRequest"].addEventListener("load",useRequest)}}else{doBrowserLoad()}}}Module["then"]=function(func){if(Module["calledRun"]){func(Module)}else{var old=Module["onRuntimeInitialized"];Module["onRuntimeInitialized"]=function(){if(old)old();func(Module)}}return Module};function ExitStatus(status){this.name="ExitStatus";this.message="Program terminated with exit("+status+")";this.status=status}ExitStatus.prototype=new Error;ExitStatus.prototype.constructor=ExitStatus;dependenciesFulfilled=function runCaller(){if(!Module["calledRun"])run();if(!Module["calledRun"])dependenciesFulfilled=runCaller};function run(args){args=args||Module["arguments"];if(runDependencies>0){return}preRun();if(runDependencies>0)return;if(Module["calledRun"])return;function doRun(){if(Module["calledRun"])return;Module["calledRun"]=true;if(ABORT)return;initRuntime();preMain();if(Module["onRuntimeInitialized"])Module["onRuntimeInitialized"]();postRun()}if(Module["setStatus"]){Module["setStatus"]("Running...");setTimeout(function(){setTimeout(function(){Module["setStatus"]("")},1);doRun()},1)}else{doRun()}}Module["run"]=run;function abort(what){if(Module["onAbort"]){Module["onAbort"](what)}what+="";out(what);err(what);ABORT=true;EXITSTATUS=1;throw"abort("+what+"). Build with -s ASSERTIONS=1 for more info."}Module["abort"]=abort;if(Module["preInit"]){if(typeof Module["preInit"]=="function")Module["preInit"]=[Module["preInit"]];while(Module["preInit"].length>0){Module["preInit"].pop()()}}Module["noExitRuntime"]=true;run();function WrapperObject(){}WrapperObject.prototype=Object.create(WrapperObject.prototype);WrapperObject.prototype.constructor=WrapperObject;WrapperObject.prototype.__class__=WrapperObject;WrapperObject.__cache__={};Module["WrapperObject"]=WrapperObject;function getCache(__class__){return(__class__||WrapperObject).__cache__}Module["getCache"]=getCache;function wrapPointer(ptr,__class__){var cache=getCache(__class__);var ret=cache[ptr];if(ret)return ret;ret=Object.create((__class__||WrapperObject).prototype);ret.ptr=ptr;return cache[ptr]=ret}Module["wrapPointer"]=wrapPointer;function castObject(obj,__class__){return wrapPointer(obj.ptr,__class__)}Module["castObject"]=castObject;Module["NULL"]=wrapPointer(0);function destroy(obj){if(!obj["__destroy__"])throw"Error: Cannot destroy object. (Did you create it yourself?)";obj["__destroy__"]();delete getCache(obj.__class__)[obj.ptr]}Module["destroy"]=destroy;function compare(obj1,obj2){return obj1.ptr===obj2.ptr}Module["compare"]=compare;function getPointer(obj){return obj.ptr}Module["getPointer"]=getPointer;function getClass(obj){return obj.__class__}Module["getClass"]=getClass;var ensureCache={buffer:0,size:0,pos:0,temps:[],needed:0,prepare:function(){if(ensureCache.needed){for(var i=0;i=ensureCache.size){assert(len>0);ensureCache.needed+=len;ret=Module["_malloc"](len);ensureCache.temps.push(ret)}else{ret=ensureCache.buffer+ensureCache.pos;ensureCache.pos+=len}return ret},copy:function(array,view,offset){var offsetShifted=offset;var bytes=view.BYTES_PER_ELEMENT;switch(bytes){case 2:offsetShifted>>=1;break;case 4:offsetShifted>>=2;break;case 8:offsetShifted>>=3;break}for(var i=0;i Date: Sat, 10 Aug 2024 19:46:10 +0200 Subject: [PATCH 18/20] Move system code around to avoid top level await --- client/src/game/systems/dice/index.ts | 10 +++++++++- client/src/game/systems/dice/state.ts | 6 ++++-- client/src/game/tools/variants/dice.ts | 13 +++++++------ client/src/game/ui/tools/DiceTool.vue | 4 ++-- 4 files changed, 22 insertions(+), 11 deletions(-) diff --git a/client/src/game/systems/dice/index.ts b/client/src/game/systems/dice/index.ts index 0e5c7d227..8aea1373f 100644 --- a/client/src/game/systems/dice/index.ts +++ b/client/src/game/systems/dice/index.ts @@ -1,4 +1,4 @@ -import type { Part, RollResult } from "@planarally/dice/core"; +import { SYSTEMS, type Part, type RollResult } from "@planarally/dice/core"; import type { DeepReadonly } from "vue"; import { registerSystem } from ".."; @@ -19,6 +19,14 @@ class DiceSystem implements System { return rollString; } + async loadSystems(): Promise { + if ($.systems) return; + + const { DX } = await SYSTEMS.DX(); + const { DX3 } = await SYSTEMS.DX3(); + $.systems = { "2d": DX, "3d": DX3 }; + } + async load3d(): Promise { if (!diceState.raw.loaded3d) { await loadDiceEnv(); diff --git a/client/src/game/systems/dice/state.ts b/client/src/game/systems/dice/state.ts index a89d52b39..9188ce041 100644 --- a/client/src/game/systems/dice/state.ts +++ b/client/src/game/systems/dice/state.ts @@ -1,12 +1,15 @@ -import type { Part, RollResult } from "@planarally/dice/core"; +import { type Part, type RollResult, type SYSTEMS } from "@planarally/dice/core"; import type { DeepReadonly } from "vue"; import { buildState } from "../state"; +type AsyncReturnType Promise> = Awaited>; + interface DiceState { dimensions3d: { width: number; height: number }; history: { roll: RollResult; name: string; player: string }[]; loaded3d: boolean; + systems?: { "2d": AsyncReturnType["DX"]; "3d": AsyncReturnType["DX3"] }; result?: DeepReadonly>; } @@ -15,7 +18,6 @@ const state = buildState({ history: [], loaded3d: false, }); - export const diceState = { ...state, }; diff --git a/client/src/game/tools/variants/dice.ts b/client/src/game/tools/variants/dice.ts index d148556c0..9da4b1451 100644 --- a/client/src/game/tools/variants/dice.ts +++ b/client/src/game/tools/variants/dice.ts @@ -1,5 +1,5 @@ import { Vector3 } from "@babylonjs/core/Maths/math"; -import { type Part, type RollResult, rollString, SYSTEMS } from "@planarally/dice/core"; +import { type Part, type RollResult, rollString } from "@planarally/dice/core"; import tinycolor from "tinycolor2"; import { reactive } from "vue"; @@ -17,9 +17,6 @@ import { playerSettingsState } from "../../systems/settings/players/state"; import { SelectFeatures } from "../models/select"; import { Tool } from "../tool"; -export const { DX } = await SYSTEMS.DX(); -const { DX3 } = await SYSTEMS.DX3(); - function generate3dOptions(): { color: string; physics: () => { @@ -85,6 +82,10 @@ class DiceTool extends Tool implements ITool { // ); // } + async onSelect(): Promise { + await diceSystem.loadSystems(); + } + get permittedTools(): ToolPermission[] { return [{ name: ToolName.Select, features: { disabled: [SelectFeatures.Resize, SelectFeatures.Rotate] } }]; } @@ -93,9 +94,9 @@ class DiceTool extends Tool implements ITool { let roll: RollResult; if (use3d) { const dieDefaults = generate3dOptions(); - roll = await rollString(input, DX3, { thrower: diceThrower!, dieDefaults }); + roll = await rollString(input, diceState.raw.systems!["3d"], { thrower: diceThrower!, dieDefaults }); } else { - roll = await rollString(input, DX); + roll = await rollString(input, diceState.raw.systems!["2d"]); } if (shareWith !== "none") { diff --git a/client/src/game/ui/tools/DiceTool.vue b/client/src/game/ui/tools/DiceTool.vue index e27d9d825..77703942d 100644 --- a/client/src/game/ui/tools/DiceTool.vue +++ b/client/src/game/ui/tools/DiceTool.vue @@ -9,7 +9,7 @@ import ToggleGroup from "../../../core/components/ToggleGroup.vue"; import { diceSystem } from "../../systems/dice"; import { DxHelper } from "../../systems/dice/dx"; import { diceState } from "../../systems/dice/state"; -import { diceTool, DX } from "../../tools/variants/dice"; +import { diceTool } from "../../tools/variants/dice"; const showHistory = ref(false); @@ -79,7 +79,7 @@ function addSymbol(symbol: (typeof DxConfig.symbolOptions)[number]): void { } function updateFromString(event: Event): void { - input.value = DX.parse((event.target as HTMLInputElement).value); + input.value = diceState.raw.systems!["2d"].parse((event.target as HTMLInputElement).value); } async function roll(): Promise { From 85c23e2e0130172a9e2a605cff0a5ef130ecc6e0 Mon Sep 17 00:00:00 2001 From: Darragh Van Tichelen Date: Sat, 10 Aug 2024 19:55:47 +0200 Subject: [PATCH 19/20] Implement DiceSystem.clear --- client/src/game/systems/dice/index.ts | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/client/src/game/systems/dice/index.ts b/client/src/game/systems/dice/index.ts index 8aea1373f..8ac79af44 100644 --- a/client/src/game/systems/dice/index.ts +++ b/client/src/game/systems/dice/index.ts @@ -3,6 +3,7 @@ import type { DeepReadonly } from "vue"; import { registerSystem } from ".."; import type { System } from ".."; +import type { SystemClearReason } from "../models"; import { loadDiceEnv } from "./environment"; import { diceState } from "./state"; @@ -10,7 +11,13 @@ import { diceState } from "./state"; const { mutableReactive: $ } = diceState; class DiceSystem implements System { - clear(): void {} + clear(reason: SystemClearReason): void { + $.result = undefined; + if (reason !== "full-loading") { + $.history = []; + $.loaded3d = false; + } + } addToHistory(roll: RollResult, player: string, name?: string): string { let rollString = ""; From 1f6e3d961749eda6f5d1ef7ec1c6d11110f03d5c Mon Sep 17 00:00:00 2001 From: Darragh Van Tichelen Date: Sat, 24 Aug 2024 14:15:29 +0200 Subject: [PATCH 20/20] Fix dice code loading early in production bundle --- client/src/core/types.ts | 1 + client/src/game/systems/dice/index.ts | 12 +++++++-- client/src/game/systems/dice/state.ts | 3 +-- client/src/game/tools/variants/dice.ts | 37 ++++++++------------------ 4 files changed, 23 insertions(+), 30 deletions(-) diff --git a/client/src/core/types.ts b/client/src/core/types.ts index 16bbb404b..01307cd51 100644 --- a/client/src/core/types.ts +++ b/client/src/core/types.ts @@ -1,2 +1,3 @@ +export type AsyncReturnType Promise> = Awaited>; export type DistributiveOmit = T extends any ? Omit : never; export type PartialPick = Partial & Pick; diff --git a/client/src/game/systems/dice/index.ts b/client/src/game/systems/dice/index.ts index 8ac79af44..4f3475972 100644 --- a/client/src/game/systems/dice/index.ts +++ b/client/src/game/systems/dice/index.ts @@ -3,13 +3,20 @@ import type { DeepReadonly } from "vue"; import { registerSystem } from ".."; import type { System } from ".."; +import type { AsyncReturnType } from "../../../core/types"; import type { SystemClearReason } from "../models"; -import { loadDiceEnv } from "./environment"; import { diceState } from "./state"; +// eslint-disable-next-line @typescript-eslint/explicit-function-return-type +const _env = () => import("./environment"); + const { mutableReactive: $ } = diceState; +export async function getDiceEnvironment(): Promise> { + return await _env(); +} + class DiceSystem implements System { clear(reason: SystemClearReason): void { $.result = undefined; @@ -36,7 +43,8 @@ class DiceSystem implements System { async load3d(): Promise { if (!diceState.raw.loaded3d) { - await loadDiceEnv(); + const env = await getDiceEnvironment(); + await env.loadDiceEnv(); $.loaded3d = true; } } diff --git a/client/src/game/systems/dice/state.ts b/client/src/game/systems/dice/state.ts index 9188ce041..5b531816b 100644 --- a/client/src/game/systems/dice/state.ts +++ b/client/src/game/systems/dice/state.ts @@ -1,10 +1,9 @@ import { type Part, type RollResult, type SYSTEMS } from "@planarally/dice/core"; import type { DeepReadonly } from "vue"; +import type { AsyncReturnType } from "../../../core/types"; import { buildState } from "../state"; -type AsyncReturnType Promise> = Awaited>; - interface DiceState { dimensions3d: { width: number; height: number }; history: { roll: RollResult; name: string; player: string }[]; diff --git a/client/src/game/tools/variants/dice.ts b/client/src/game/tools/variants/dice.ts index 9da4b1451..ae43704c6 100644 --- a/client/src/game/tools/variants/dice.ts +++ b/client/src/game/tools/variants/dice.ts @@ -1,4 +1,4 @@ -import { Vector3 } from "@babylonjs/core/Maths/math"; +import type { Vector3 } from "@babylonjs/core/Maths/math"; import { type Part, type RollResult, rollString } from "@planarally/dice/core"; import tinycolor from "tinycolor2"; import { reactive } from "vue"; @@ -9,22 +9,24 @@ import { i18n } from "../../../i18n"; import { coreStore } from "../../../store/core"; import { ToolName } from "../../models/tools"; import type { ITool, ToolPermission } from "../../models/tools"; -import { diceSystem } from "../../systems/dice"; +import { diceSystem, getDiceEnvironment } from "../../systems/dice"; import { sendDiceRollResult } from "../../systems/dice/emits"; -import { diceThrower } from "../../systems/dice/environment"; import { diceState } from "../../systems/dice/state"; import { playerSettingsState } from "../../systems/settings/players/state"; import { SelectFeatures } from "../models/select"; import { Tool } from "../tool"; -function generate3dOptions(): { +// eslint-disable-next-line @typescript-eslint/explicit-function-return-type +const babMath = () => import("@babylonjs/core/Maths/math"); + +async function generate3dOptions(): Promise<{ color: string; physics: () => { angular: Vector3; linear: Vector3; position: Vector3; }; -} { +}> { const targetColor = playerSettingsState.raw.rulerColour.value; const color = tinycolor(targetColor).toHexString(); @@ -37,6 +39,8 @@ function generate3dOptions(): { const w = (diceState.raw.dimensions3d.width / 2) * 0.85; const h = (diceState.raw.dimensions3d.height / 2) * 0.85; + const { Vector3 } = await babMath(); + // Aim from side to center const physics = (): { angular: Vector3; linear: Vector3; position: Vector3 } => { const position = new Vector3(signX * (side ? 0.9 * w : xDir * w), 4.5, signY * (side ? yDir * h : 0.9 * h)); @@ -70,18 +74,6 @@ class DiceTool extends Tool implements ITool { timeouts: {}, }); - // constructor() { - // super(); - // watch( - // () => diceStore.state.showKey, - // async (showKey) => { - // if (showKey === undefined) { - // (await diceStore.getDiceThrower()).reset(); - // } - // }, - // ); - // } - async onSelect(): Promise { await diceSystem.loadSystems(); } @@ -93,7 +85,8 @@ class DiceTool extends Tool implements ITool { async roll(input: string, use3d: boolean, shareWith: DiceRollResult["shareWith"]): Promise> { let roll: RollResult; if (use3d) { - const dieDefaults = generate3dOptions(); + const dieDefaults = await generate3dOptions(); + const { diceThrower } = await getDiceEnvironment(); roll = await rollString(input, diceState.raw.systems!["3d"], { thrower: diceThrower!, dieDefaults }); } else { roll = await rollString(input, diceState.raw.systems!["2d"]); @@ -113,12 +106,4 @@ class DiceTool extends Tool implements ITool { } } -// addShadow(die: Dice, mesh: Mesh): void { -// // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access -// ((window as any).shadowGenerator as ShadowGenerator).addShadowCaster(mesh); -// // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access -// ((window as any).shadowGenerator as ShadowGenerator).useCloseExponentialShadowMap = true; -// } -// } - export const diceTool = new DiceTool();