diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml
index 1215c183..43377acd 100644
--- a/.github/workflows/test.yml
+++ b/.github/workflows/test.yml
@@ -26,7 +26,7 @@ jobs:
fetch-depth: 1
- uses: oven-sh/setup-bun@v2
with:
- bun-version: "1.3.10"
+ bun-version: "1.3.11"
- run: bun install --frozen-lockfile
- name: ESLint
run: bun run lint
@@ -44,7 +44,7 @@ jobs:
fetch-depth: 1
- uses: oven-sh/setup-bun@v2
with:
- bun-version: "1.3.10"
+ bun-version: "1.3.11"
- run: bun install --frozen-lockfile
- run: bun run test
- run: bun run check:e2e:coverage
@@ -65,7 +65,7 @@ jobs:
fetch-depth: 1
- uses: oven-sh/setup-bun@v2
with:
- bun-version: "1.3.10"
+ bun-version: "1.3.11"
- run: bun install --frozen-lockfile
- name: Install Firefox for Puppeteer
if: matrix.browser == 'firefox'
@@ -109,7 +109,7 @@ jobs:
fetch-depth: 1
- uses: oven-sh/setup-bun@v2
with:
- bun-version: "1.3.10"
+ bun-version: "1.3.11"
- run: bun install --frozen-lockfile
- name: Install Firefox for Puppeteer
if: matrix.browser == 'firefox'
diff --git a/.gitignore b/.gitignore
index e3a78643..c70261cb 100644
--- a/.gitignore
+++ b/.gitignore
@@ -9,3 +9,4 @@ scripts/community-oscar
.DS_Store
.cache
.worktrees
+.claude
diff --git a/AGENTS.md b/AGENTS.md
index 14e8fa77..95af8e6e 100644
--- a/AGENTS.md
+++ b/AGENTS.md
@@ -2,7 +2,7 @@
FluentTyper is a privacy-first browser extension that provides local autocomplete, spellcheck, and text expansion across the web.
-- Package manager: `bun@1.3.10`
+- Package manager: `bun@1.3.11`
- Build: `bun run build`
- Firefox build: `bun run build --platform=firefox`
- Full repo check: `bun run check`
diff --git a/bun.lock b/bun.lock
index 0bc0d618..447558b7 100644
--- a/bun.lock
+++ b/bun.lock
@@ -234,7 +234,7 @@
"@mlc-ai/web-llm": ["@mlc-ai/web-llm@0.2.82", "", { "dependencies": { "loglevel": "^1.9.1" } }, "sha512-ONhW+28PPVSUI1m0RkJcm7suwc47b65i5b/rTEIADq5I22p1+9uf/CBbDPRkkjj1WJB9s8oFp0ywAW0NY1G6fg=="],
- "@mlc-ai/web-runtime": ["@mlc-ai/web-runtime@0.24.0-dev1", "", { "dependencies": { "audit": "^0.0.6", "fix": "^0.0.6" } }, "sha512-68tTqqBDt7xNDgopj2pO0Prrlo/1r8/kcpUJkczt8lx6rvmJmgS/dO7yjVBIq/8/2ymiIUhcn7S8GoZjEbUymA=="],
+ "@mlc-ai/web-runtime": ["@mlc-ai/web-runtime@0.24.0-dev2", "", { "dependencies": { "audit": "^0.0.6", "fix": "^0.0.6", "tslib": "^2.8.1" } }, "sha512-EfkjcZyDWqZ+znnnh+Q14JS325SHUTFc3hGkR4wzik+g/dPSi8w1du+f02whUw6FROUeOQ6bGHk+VxOwuDuh4g=="],
"@mlc-ai/web-tokenizers": ["@mlc-ai/web-tokenizers@0.1.6", "", {}, "sha512-A5GSqUSnMjDkPoXBFFtbbW3F/qygCixuwbi7/EUMzcpgwFOAhD9vSZZBchK3IpC0c6TKlcDqAYDYp8vpb8/4vA=="],
@@ -282,25 +282,25 @@
"@types/yauzl": ["@types/yauzl@2.10.3", "", { "dependencies": { "@types/node": "*" } }, "sha512-oJoftv0LSuaDZE3Le4DbKX+KS9G36NzOeSap90UIK0yMA/NhKJhqlSGtNDORNRaIbQfzjXDrQa0ytJ6mNRGz/Q=="],
- "@typescript-eslint/eslint-plugin": ["@typescript-eslint/eslint-plugin@8.57.1", "", { "dependencies": { "@eslint-community/regexpp": "^4.12.2", "@typescript-eslint/scope-manager": "8.57.1", "@typescript-eslint/type-utils": "8.57.1", "@typescript-eslint/utils": "8.57.1", "@typescript-eslint/visitor-keys": "8.57.1", "ignore": "^7.0.5", "natural-compare": "^1.4.0", "ts-api-utils": "^2.4.0" }, "peerDependencies": { "@typescript-eslint/parser": "^8.57.1", "eslint": "^8.57.0 || ^9.0.0 || ^10.0.0", "typescript": ">=4.8.4 <6.0.0" } }, "sha512-Gn3aqnvNl4NGc6x3/Bqk1AOn0thyTU9bqDRhiRnUWezgvr2OnhYCWCgC8zXXRVqBsIL1pSDt7T9nJUe0oM0kDQ=="],
+ "@typescript-eslint/eslint-plugin": ["@typescript-eslint/eslint-plugin@8.57.2", "", { "dependencies": { "@eslint-community/regexpp": "^4.12.2", "@typescript-eslint/scope-manager": "8.57.2", "@typescript-eslint/type-utils": "8.57.2", "@typescript-eslint/utils": "8.57.2", "@typescript-eslint/visitor-keys": "8.57.2", "ignore": "^7.0.5", "natural-compare": "^1.4.0", "ts-api-utils": "^2.4.0" }, "peerDependencies": { "@typescript-eslint/parser": "^8.57.2", "eslint": "^8.57.0 || ^9.0.0 || ^10.0.0", "typescript": ">=4.8.4 <6.0.0" } }, "sha512-NZZgp0Fm2IkD+La5PR81sd+g+8oS6JwJje+aRWsDocxHkjyRw0J5L5ZTlN3LI1LlOcGL7ph3eaIUmTXMIjLk0w=="],
- "@typescript-eslint/parser": ["@typescript-eslint/parser@8.57.1", "", { "dependencies": { "@typescript-eslint/scope-manager": "8.57.1", "@typescript-eslint/types": "8.57.1", "@typescript-eslint/typescript-estree": "8.57.1", "@typescript-eslint/visitor-keys": "8.57.1", "debug": "^4.4.3" }, "peerDependencies": { "eslint": "^8.57.0 || ^9.0.0 || ^10.0.0", "typescript": ">=4.8.4 <6.0.0" } }, "sha512-k4eNDan0EIMTT/dUKc/g+rsJ6wcHYhNPdY19VoX/EOtaAG8DLtKCykhrUnuHPYvinn5jhAPgD2Qw9hXBwrahsw=="],
+ "@typescript-eslint/parser": ["@typescript-eslint/parser@8.57.2", "", { "dependencies": { "@typescript-eslint/scope-manager": "8.57.2", "@typescript-eslint/types": "8.57.2", "@typescript-eslint/typescript-estree": "8.57.2", "@typescript-eslint/visitor-keys": "8.57.2", "debug": "^4.4.3" }, "peerDependencies": { "eslint": "^8.57.0 || ^9.0.0 || ^10.0.0", "typescript": ">=4.8.4 <6.0.0" } }, "sha512-30ScMRHIAD33JJQkgfGW1t8CURZtjc2JpTrq5n2HFhOefbAhb7ucc7xJwdWcrEtqUIYJ73Nybpsggii6GtAHjA=="],
- "@typescript-eslint/project-service": ["@typescript-eslint/project-service@8.57.1", "", { "dependencies": { "@typescript-eslint/tsconfig-utils": "^8.57.1", "@typescript-eslint/types": "^8.57.1", "debug": "^4.4.3" }, "peerDependencies": { "typescript": ">=4.8.4 <6.0.0" } }, "sha512-vx1F37BRO1OftsYlmG9xay1TqnjNVlqALymwWVuYTdo18XuKxtBpCj1QlzNIEHlvlB27osvXFWptYiEWsVdYsg=="],
+ "@typescript-eslint/project-service": ["@typescript-eslint/project-service@8.57.2", "", { "dependencies": { "@typescript-eslint/tsconfig-utils": "^8.57.2", "@typescript-eslint/types": "^8.57.2", "debug": "^4.4.3" }, "peerDependencies": { "typescript": ">=4.8.4 <6.0.0" } }, "sha512-FuH0wipFywXRTHf+bTTjNyuNQQsQC3qh/dYzaM4I4W0jrCqjCVuUh99+xd9KamUfmCGPvbO8NDngo/vsnNVqgw=="],
- "@typescript-eslint/scope-manager": ["@typescript-eslint/scope-manager@8.57.1", "", { "dependencies": { "@typescript-eslint/types": "8.57.1", "@typescript-eslint/visitor-keys": "8.57.1" } }, "sha512-hs/QcpCwlwT2L5S+3fT6gp0PabyGk4Q0Rv2doJXA0435/OpnSR3VRgvrp8Xdoc3UAYSg9cyUjTeFXZEPg/3OKg=="],
+ "@typescript-eslint/scope-manager": ["@typescript-eslint/scope-manager@8.57.2", "", { "dependencies": { "@typescript-eslint/types": "8.57.2", "@typescript-eslint/visitor-keys": "8.57.2" } }, "sha512-snZKH+W4WbWkrBqj4gUNRIGb/jipDW3qMqVJ4C9rzdFc+wLwruxk+2a5D+uoFcKPAqyqEnSb4l2ULuZf95eSkw=="],
- "@typescript-eslint/tsconfig-utils": ["@typescript-eslint/tsconfig-utils@8.57.1", "", { "peerDependencies": { "typescript": ">=4.8.4 <6.0.0" } }, "sha512-0lgOZB8cl19fHO4eI46YUx2EceQqhgkPSuCGLlGi79L2jwYY1cxeYc1Nae8Aw1xjgW3PKVDLlr3YJ6Bxx8HkWg=="],
+ "@typescript-eslint/tsconfig-utils": ["@typescript-eslint/tsconfig-utils@8.57.2", "", { "peerDependencies": { "typescript": ">=4.8.4 <6.0.0" } }, "sha512-3Lm5DSM+DCowsUOJC+YqHHnKEfFh5CoGkj5Z31NQSNF4l5wdOwqGn99wmwN/LImhfY3KJnmordBq/4+VDe2eKw=="],
- "@typescript-eslint/type-utils": ["@typescript-eslint/type-utils@8.57.1", "", { "dependencies": { "@typescript-eslint/types": "8.57.1", "@typescript-eslint/typescript-estree": "8.57.1", "@typescript-eslint/utils": "8.57.1", "debug": "^4.4.3", "ts-api-utils": "^2.4.0" }, "peerDependencies": { "eslint": "^8.57.0 || ^9.0.0 || ^10.0.0", "typescript": ">=4.8.4 <6.0.0" } }, "sha512-+Bwwm0ScukFdyoJsh2u6pp4S9ktegF98pYUU0hkphOOqdMB+1sNQhIz8y5E9+4pOioZijrkfNO/HUJVAFFfPKA=="],
+ "@typescript-eslint/type-utils": ["@typescript-eslint/type-utils@8.57.2", "", { "dependencies": { "@typescript-eslint/types": "8.57.2", "@typescript-eslint/typescript-estree": "8.57.2", "@typescript-eslint/utils": "8.57.2", "debug": "^4.4.3", "ts-api-utils": "^2.4.0" }, "peerDependencies": { "eslint": "^8.57.0 || ^9.0.0 || ^10.0.0", "typescript": ">=4.8.4 <6.0.0" } }, "sha512-Co6ZCShm6kIbAM/s+oYVpKFfW7LBc6FXoPXjTRQ449PPNBY8U0KZXuevz5IFuuUj2H9ss40atTaf9dlGLzbWZg=="],
- "@typescript-eslint/types": ["@typescript-eslint/types@8.57.1", "", {}, "sha512-S29BOBPJSFUiblEl6RzPPjJt6w25A6XsBqRVDt53tA/tlL8q7ceQNZHTjPeONt/3S7KRI4quk+yP9jK2WjBiPQ=="],
+ "@typescript-eslint/types": ["@typescript-eslint/types@8.57.2", "", {}, "sha512-/iZM6FnM4tnx9csuTxspMW4BOSegshwX5oBDznJ7S4WggL7Vczz5d2W11ecc4vRrQMQHXRSxzrCsyG5EsPPTbA=="],
- "@typescript-eslint/typescript-estree": ["@typescript-eslint/typescript-estree@8.57.1", "", { "dependencies": { "@typescript-eslint/project-service": "8.57.1", "@typescript-eslint/tsconfig-utils": "8.57.1", "@typescript-eslint/types": "8.57.1", "@typescript-eslint/visitor-keys": "8.57.1", "debug": "^4.4.3", "minimatch": "^10.2.2", "semver": "^7.7.3", "tinyglobby": "^0.2.15", "ts-api-utils": "^2.4.0" }, "peerDependencies": { "typescript": ">=4.8.4 <6.0.0" } }, "sha512-ybe2hS9G6pXpqGtPli9Gx9quNV0TWLOmh58ADlmZe9DguLq0tiAKVjirSbtM1szG6+QH6rVXyU6GTLQbWnMY+g=="],
+ "@typescript-eslint/typescript-estree": ["@typescript-eslint/typescript-estree@8.57.2", "", { "dependencies": { "@typescript-eslint/project-service": "8.57.2", "@typescript-eslint/tsconfig-utils": "8.57.2", "@typescript-eslint/types": "8.57.2", "@typescript-eslint/visitor-keys": "8.57.2", "debug": "^4.4.3", "minimatch": "^10.2.2", "semver": "^7.7.3", "tinyglobby": "^0.2.15", "ts-api-utils": "^2.4.0" }, "peerDependencies": { "typescript": ">=4.8.4 <6.0.0" } }, "sha512-2MKM+I6g8tJxfSmFKOnHv2t8Sk3T6rF20A1Puk0svLK+uVapDZB/4pfAeB7nE83uAZrU6OxW+HmOd5wHVdXwXA=="],
- "@typescript-eslint/utils": ["@typescript-eslint/utils@8.57.1", "", { "dependencies": { "@eslint-community/eslint-utils": "^4.9.1", "@typescript-eslint/scope-manager": "8.57.1", "@typescript-eslint/types": "8.57.1", "@typescript-eslint/typescript-estree": "8.57.1" }, "peerDependencies": { "eslint": "^8.57.0 || ^9.0.0 || ^10.0.0", "typescript": ">=4.8.4 <6.0.0" } }, "sha512-XUNSJ/lEVFttPMMoDVA2r2bwrl8/oPx8cURtczkSEswY5T3AeLmCy+EKWQNdL4u0MmAHOjcWrqJp2cdvgjn8dQ=="],
+ "@typescript-eslint/utils": ["@typescript-eslint/utils@8.57.2", "", { "dependencies": { "@eslint-community/eslint-utils": "^4.9.1", "@typescript-eslint/scope-manager": "8.57.2", "@typescript-eslint/types": "8.57.2", "@typescript-eslint/typescript-estree": "8.57.2" }, "peerDependencies": { "eslint": "^8.57.0 || ^9.0.0 || ^10.0.0", "typescript": ">=4.8.4 <6.0.0" } }, "sha512-krRIbvPK1ju1WBKIefiX+bngPs+odIQUtR7kymzPfo1POVw3jlF+nLkmexdSSd4UCbDcQn+wMBATOOmpBbqgKg=="],
- "@typescript-eslint/visitor-keys": ["@typescript-eslint/visitor-keys@8.57.1", "", { "dependencies": { "@typescript-eslint/types": "8.57.1", "eslint-visitor-keys": "^5.0.0" } }, "sha512-YWnmJkXbofiz9KbnbbwuA2rpGkFPLbAIetcCNO6mJ8gdhdZ/v7WDXsoGFAJuM6ikUFKTlSQnjWnVO4ux+UzS6A=="],
+ "@typescript-eslint/visitor-keys": ["@typescript-eslint/visitor-keys@8.57.2", "", { "dependencies": { "@typescript-eslint/types": "8.57.2", "eslint-visitor-keys": "^5.0.0" } }, "sha512-zhahknjobV2FiD6Ee9iLbS7OV9zi10rG26odsQdfBO/hjSzUQbkIYgda+iNKK1zNiW2ey+Lf8MU5btN17V3dUw=="],
"@ungap/structured-clone": ["@ungap/structured-clone@1.3.0", "", {}, "sha512-WmoN8qaIAo7WTYWbAZuG8PYEhn5fkz7dZrqTBZ7dtt//lL2Gwms1IcnQ5yHqjDfX8Ft5j4YzDM23f87zBfDe9g=="],
@@ -838,7 +838,7 @@
"typescript": ["typescript@5.9.3", "", { "bin": { "tsc": "bin/tsc", "tsserver": "bin/tsserver" } }, "sha512-jl1vZzPDinLr9eUt3J/t7V6FgNEw9QjvBPdysz9KfQDD41fQrC2Y4vKQdiaUpFT4bXlb1RHhLpp8wtm6M5TgSw=="],
- "typescript-eslint": ["typescript-eslint@8.57.1", "", { "dependencies": { "@typescript-eslint/eslint-plugin": "8.57.1", "@typescript-eslint/parser": "8.57.1", "@typescript-eslint/typescript-estree": "8.57.1", "@typescript-eslint/utils": "8.57.1" }, "peerDependencies": { "eslint": "^8.57.0 || ^9.0.0 || ^10.0.0", "typescript": ">=4.8.4 <6.0.0" } }, "sha512-fLvZWf+cAGw3tqMCYzGIU6yR8K+Y9NT2z23RwOjlNFF2HwSB3KhdEFI5lSBv8tNmFkkBShSjsCjzx1vahZfISA=="],
+ "typescript-eslint": ["typescript-eslint@8.57.2", "", { "dependencies": { "@typescript-eslint/eslint-plugin": "8.57.2", "@typescript-eslint/parser": "8.57.2", "@typescript-eslint/typescript-estree": "8.57.2", "@typescript-eslint/utils": "8.57.2" }, "peerDependencies": { "eslint": "^8.57.0 || ^9.0.0 || ^10.0.0", "typescript": ">=4.8.4 <6.0.0" } }, "sha512-VEPQ0iPgWO/sBaZOU1xo4nuNdODVOajPnTIbog2GKYr31nIlZ0fWPoCQgGfF3ETyBl1vn63F/p50Um9Z4J8O8A=="],
"underscore": ["underscore@1.1.6", "", {}, "sha512-aqSzrO92Cjmeo8G7F49+ZHWBo3IJpjpsUZZaqfOHJGN61flbpLxQw/sP91p4kf/2+nkFrG6AG2WHlJh6RCf+/g=="],
diff --git a/package.json b/package.json
index 85dff4b3..e2df0f56 100644
--- a/package.json
+++ b/package.json
@@ -41,7 +41,7 @@
"@lexical/plain-text": "^0.42.0",
"@lexical/rich-text": "^0.42.0",
"@lexical/utils": "^0.42.0",
- "@mlc-ai/web-runtime": "^0.24.0-dev1",
+ "@mlc-ai/web-runtime": "^0.24.0-dev2",
"@mlc-ai/web-tokenizers": "^0.1.6",
"@mlc-ai/web-xgrammar": "^0.1.27",
"@types/chrome": "^0.1.38",
@@ -59,7 +59,7 @@
"quill": "^2.0.3",
"rimraf": "^6.1.3",
"typescript": "^5.9.3",
- "typescript-eslint": "^8.57.1"
+ "typescript-eslint": "^8.57.2"
},
"dependencies": {
"@mlc-ai/web-llm": "^0.2.82",
diff --git a/public/third_party/libpresage/textExpander.data b/public/third_party/libpresage/textExpander.data
index 5b0e2508..02d0281e 100644
--- a/public/third_party/libpresage/textExpander.data
+++ b/public/third_party/libpresage/textExpander.data
@@ -2,7 +2,7 @@
ERROR
- DefaultAbbreviationExpansionPredictor
+ DefaultAbbreviationExpansionPredictor DefaultDictionaryPredictor
ERROR
@@ -34,5 +34,11 @@
/resources_js/common/abbreviations.txt
no
+
+ DictionaryPredictor
+ ERROR
+ /resources_js/common/userDict.txt
+ 0.0000001
+
diff --git a/resources_js/textExpander/presage.xml b/resources_js/textExpander/presage.xml
index 5b0e2508..02d0281e 100644
--- a/resources_js/textExpander/presage.xml
+++ b/resources_js/textExpander/presage.xml
@@ -2,7 +2,7 @@
ERROR
- DefaultAbbreviationExpansionPredictor
+ DefaultAbbreviationExpansionPredictor DefaultDictionaryPredictor
ERROR
@@ -34,5 +34,11 @@
/resources_js/common/abbreviations.txt
no
+
+ DictionaryPredictor
+ ERROR
+ /resources_js/common/userDict.txt
+ 0.0000001
+
diff --git a/resources_js_template/textExpander/presage.xml b/resources_js_template/textExpander/presage.xml
index 396646ee..02d0281e 100644
--- a/resources_js_template/textExpander/presage.xml
+++ b/resources_js_template/textExpander/presage.xml
@@ -2,12 +2,13 @@
ERROR
- DefaultAbbreviationExpansionPredictor
+ DefaultAbbreviationExpansionPredictor DefaultDictionaryPredictor
ERROR
0
yes
+ no
no
@@ -33,5 +34,11 @@
/resources_js/common/abbreviations.txt
no
+
+ DictionaryPredictor
+ ERROR
+ /resources_js/common/userDict.txt
+ 0.0000001
+
diff --git a/scripts/run-unit-tests.ts b/scripts/run-unit-tests.ts
index cf5a26bd..44919a21 100644
--- a/scripts/run-unit-tests.ts
+++ b/scripts/run-unit-tests.ts
@@ -1,6 +1,11 @@
import { globSync } from "glob";
const POPUP_TEST = "tests/popup.dashboard.retry.test.ts";
+const SUGGESTION_MANAGER_TEST = "tests/SuggestionManager.test.ts";
+
+const UTILS_TEST = "tests/utils.test.ts";
+
+const ISOLATED_TESTS = new Set([POPUP_TEST, SUGGESTION_MANAGER_TEST, UTILS_TEST]);
function sortedUnique(entries: string[]): string[] {
return [...new Set(entries)].sort((left, right) => left.localeCompare(right));
@@ -26,8 +31,10 @@ const rootTests = sortedUnique(globSync("tests/*.test.ts"));
const jsTests = sortedUnique(globSync("tests/*.test.js"));
const grammarTests = sortedUnique(globSync("tests/grammar/*.test.ts"));
-const isolatedTests = rootTests.filter((path) => path === POPUP_TEST);
-const remainingRootTests = rootTests.filter((path) => path !== POPUP_TEST);
+const isolatedTests = rootTests.filter((path) => ISOLATED_TESTS.has(path));
+const remainingRootTests = rootTests.filter((path) => !ISOLATED_TESTS.has(path));
-await runSuite(isolatedTests, "Isolated popup unit tests");
+for (const testFile of isolatedTests) {
+ await runSuite([testFile], `Isolated: ${testFile}`);
+}
await runSuite([...remainingRootTests, ...jsTests, ...grammarTests], "Main unit test suite");
diff --git a/src/third_party/libpresage/libpresage.js b/src/third_party/libpresage/libpresage.js
index bc411da6..6c5a4c17 100644
--- a/src/third_party/libpresage/libpresage.js
+++ b/src/third_party/libpresage/libpresage.js
@@ -1,2 +1,2 @@
-async function Module(moduleArg={}){var moduleRtn;var Module=moduleArg;var ENVIRONMENT_IS_WEB=!!globalThis.window;var ENVIRONMENT_IS_WORKER=!!globalThis.WorkerGlobalScope;var ENVIRONMENT_IS_NODE=globalThis.process?.versions?.node&&globalThis.process?.type!="renderer";if(ENVIRONMENT_IS_NODE){const{createRequire}=await import("node:module");var require=createRequire(import.meta.url)}var Module=typeof Module!="undefined"?Module:{};if(!Module["expectedDataFileDownloads"])Module["expectedDataFileDownloads"]=0;Module["expectedDataFileDownloads"]++;(()=>{var isPthread=typeof ENVIRONMENT_IS_PTHREAD!="undefined"&&ENVIRONMENT_IS_PTHREAD;var isWasmWorker=typeof ENVIRONMENT_IS_WASM_WORKER!="undefined"&&ENVIRONMENT_IS_WASM_WORKER;if(isPthread||isWasmWorker)return;var isNode=globalThis.process&&globalThis.process.versions&&globalThis.process.versions.node&&globalThis.process.type!="renderer";async function loadPackage(metadata){var PACKAGE_PATH="";if(typeof window==="object"){PACKAGE_PATH=window["encodeURIComponent"](window.location.pathname.substring(0,window.location.pathname.lastIndexOf("/"))+"/")}else if(typeof process==="undefined"&&typeof location!=="undefined"){PACKAGE_PATH=encodeURIComponent(location.pathname.substring(0,location.pathname.lastIndexOf("/"))+"/")}var PACKAGE_NAME="common.data";var REMOTE_PACKAGE_BASE="common.data";var REMOTE_PACKAGE_NAME=Module["locateFile"]?Module["locateFile"](REMOTE_PACKAGE_BASE,""):REMOTE_PACKAGE_BASE;var REMOTE_PACKAGE_SIZE=metadata["remote_package_size"];async function fetchRemotePackage(packageName,packageSize){if(isNode){var contents=require("fs").readFileSync(packageName);return new Uint8Array(contents).buffer}if(!Module["dataFileDownloads"])Module["dataFileDownloads"]={};try{var response=await fetch(chrome.runtime.getURL("third_party/libpresage/"+packageName))}catch(e){throw new Error(`Network Error: ${packageName}`,{e})}if(!response.ok){throw new Error(`${response.status}: ${response.url}`)}const chunks=[];const headers=response.headers;const total=Number(headers.get("Content-Length")||packageSize);let loaded=0;Module["setStatus"]&&Module["setStatus"]("Downloading data...");const reader=response.body.getReader();while(1){var{done,value}=await reader.read();if(done)break;chunks.push(value);loaded+=value.length;Module["dataFileDownloads"][packageName]={loaded,total};let totalLoaded=0;let totalSize=0;for(const download of Object.values(Module["dataFileDownloads"])){totalLoaded+=download.loaded;totalSize+=download.total}Module["setStatus"]&&Module["setStatus"](`Downloading data... (${totalLoaded}/${totalSize})`)}const packageData=new Uint8Array(chunks.map(c=>c.length).reduce((a,b)=>a+b,0));let offset=0;for(const chunk of chunks){packageData.set(chunk,offset);offset+=chunk.length}return packageData.buffer}var fetchPromise;var fetched=Module["getPreloadedPackage"]&&Module["getPreloadedPackage"](REMOTE_PACKAGE_NAME,REMOTE_PACKAGE_SIZE);if(!fetched){fetchPromise=fetchRemotePackage(REMOTE_PACKAGE_NAME,REMOTE_PACKAGE_SIZE)}async function runWithFS(Module){function assert(check,msg){if(!check)throw new Error(msg)}Module["FS_createPath"]("/","resources_js",true,true);Module["FS_createPath"]("/resources_js","common",true,true);for(var file of metadata["files"]){var name=file["filename"];Module["addRunDependency"](`fp ${name}`)}async function processPackageData(arrayBuffer){assert(arrayBuffer,"Loading data file failed.");assert(arrayBuffer.constructor.name===ArrayBuffer.name,"bad input to processPackageData "+arrayBuffer.constructor.name);var byteArray=new Uint8Array(arrayBuffer);for(var file of metadata["files"]){var name=file["filename"];var data=byteArray.subarray(file["start"],file["end"]);Module["FS_createDataFile"](name,null,data,true,true,true);Module["removeRunDependency"](`fp ${name}`)}Module["removeRunDependency"]("datafile_common.data")}Module["addRunDependency"]("datafile_common.data");if(!Module["preloadResults"])Module["preloadResults"]={};Module["preloadResults"][PACKAGE_NAME]={fromCache:false};if(!fetched){fetched=await fetchPromise}processPackageData(fetched)}if(Module["calledRun"]){runWithFS(Module)}else{if(!Module["preRun"])Module["preRun"]=[];Module["preRun"].push(runWithFS)}}loadPackage({files:[{filename:"/resources_js/common/abbreviations.txt",start:0,end:173},{filename:"/resources_js/common/userDict.txt",start:173,end:173}],remote_package_size:173})})();var Module=typeof Module!="undefined"?Module:{};if(!Module["expectedDataFileDownloads"])Module["expectedDataFileDownloads"]=0;Module["expectedDataFileDownloads"]++;(()=>{var isPthread=typeof ENVIRONMENT_IS_PTHREAD!="undefined"&&ENVIRONMENT_IS_PTHREAD;var isWasmWorker=typeof ENVIRONMENT_IS_WASM_WORKER!="undefined"&&ENVIRONMENT_IS_WASM_WORKER;if(isPthread||isWasmWorker)return;var isNode=globalThis.process&&globalThis.process.versions&&globalThis.process.versions.node&&globalThis.process.type!="renderer";async function loadPackage(metadata){var PACKAGE_PATH="";if(typeof window==="object"){PACKAGE_PATH=window["encodeURIComponent"](window.location.pathname.substring(0,window.location.pathname.lastIndexOf("/"))+"/")}else if(typeof process==="undefined"&&typeof location!=="undefined"){PACKAGE_PATH=encodeURIComponent(location.pathname.substring(0,location.pathname.lastIndexOf("/"))+"/")}var PACKAGE_NAME="de_DE.data";var REMOTE_PACKAGE_BASE="de_DE.data";var REMOTE_PACKAGE_NAME=Module["locateFile"]?Module["locateFile"](REMOTE_PACKAGE_BASE,""):REMOTE_PACKAGE_BASE;var REMOTE_PACKAGE_SIZE=metadata["remote_package_size"];async function fetchRemotePackage(packageName,packageSize){if(isNode){var contents=require("fs").readFileSync(packageName);return new Uint8Array(contents).buffer}if(!Module["dataFileDownloads"])Module["dataFileDownloads"]={};try{var response=await fetch(chrome.runtime.getURL("third_party/libpresage/"+packageName))}catch(e){throw new Error(`Network Error: ${packageName}`,{e})}if(!response.ok){throw new Error(`${response.status}: ${response.url}`)}const chunks=[];const headers=response.headers;const total=Number(headers.get("Content-Length")||packageSize);let loaded=0;Module["setStatus"]&&Module["setStatus"]("Downloading data...");const reader=response.body.getReader();while(1){var{done,value}=await reader.read();if(done)break;chunks.push(value);loaded+=value.length;Module["dataFileDownloads"][packageName]={loaded,total};let totalLoaded=0;let totalSize=0;for(const download of Object.values(Module["dataFileDownloads"])){totalLoaded+=download.loaded;totalSize+=download.total}Module["setStatus"]&&Module["setStatus"](`Downloading data... (${totalLoaded}/${totalSize})`)}const packageData=new Uint8Array(chunks.map(c=>c.length).reduce((a,b)=>a+b,0));let offset=0;for(const chunk of chunks){packageData.set(chunk,offset);offset+=chunk.length}return packageData.buffer}var fetchPromise;var fetched=Module["getPreloadedPackage"]&&Module["getPreloadedPackage"](REMOTE_PACKAGE_NAME,REMOTE_PACKAGE_SIZE);if(!fetched){fetchPromise=fetchRemotePackage(REMOTE_PACKAGE_NAME,REMOTE_PACKAGE_SIZE)}async function runWithFS(Module){function assert(check,msg){if(!check)throw new Error(msg)}Module["FS_createPath"]("/","resources_js",true,true);Module["FS_createPath"]("/resources_js","de_DE",true,true);Module["FS_createPath"]("/resources_js/de_DE","aspell",true,true);Module["FS_createPath"]("/resources_js/de_DE","hunspell",true,true);Module["FS_createPath"]("/resources_js/de_DE","ngrams_db",true,true);for(var file of metadata["files"]){var name=file["filename"];Module["addRunDependency"](`fp ${name}`)}async function processPackageData(arrayBuffer){assert(arrayBuffer,"Loading data file failed.");assert(arrayBuffer.constructor.name===ArrayBuffer.name,"bad input to processPackageData "+arrayBuffer.constructor.name);var byteArray=new Uint8Array(arrayBuffer);for(var file of metadata["files"]){var name=file["filename"];var data=byteArray.subarray(file["start"],file["end"]);Module["FS_createDataFile"](name,null,data,true,true,true);Module["removeRunDependency"](`fp ${name}`)}Module["removeRunDependency"]("datafile_de_DE.data")}Module["addRunDependency"]("datafile_de_DE.data");if(!Module["preloadResults"])Module["preloadResults"]={};Module["preloadResults"][PACKAGE_NAME]={fromCache:false};if(!fetched){fetched=await fetchPromise}processPackageData(fetched)}if(Module["calledRun"]){runWithFS(Module)}else{if(!Module["preRun"])Module["preRun"]=[];Module["preRun"].push(runWithFS)}}loadPackage({files:[{filename:"/resources_js/de_DE/aspell/cp1250.cmap",start:0,end:31404},{filename:"/resources_js/de_DE/aspell/cp1250.cset",start:31404,end:45618},{filename:"/resources_js/de_DE/aspell/cp1251.cmap",start:45618,end:77516},{filename:"/resources_js/de_DE/aspell/cp1251.cset",start:77516,end:91382},{filename:"/resources_js/de_DE/aspell/cp1252.cmap",start:91382,end:122364},{filename:"/resources_js/de_DE/aspell/cp1252.cset",start:122364,end:136403},{filename:"/resources_js/de_DE/aspell/cp1253.cmap",start:136403,end:174992},{filename:"/resources_js/de_DE/aspell/cp1253.cset",start:174992,end:188674},{filename:"/resources_js/de_DE/aspell/cp1254.cmap",start:188674,end:219707},{filename:"/resources_js/de_DE/aspell/cp1254.cset",start:219707,end:233751},{filename:"/resources_js/de_DE/aspell/cp1255.cmap",start:233751,end:268884},{filename:"/resources_js/de_DE/aspell/cp1255.cset",start:268884,end:281916},{filename:"/resources_js/de_DE/aspell/cp1256.cmap",start:281916,end:326050},{filename:"/resources_js/de_DE/aspell/cp1256.cset",start:326050,end:339357},{filename:"/resources_js/de_DE/aspell/cp1257.cmap",start:339357,end:370592},{filename:"/resources_js/de_DE/aspell/cp1257.cset",start:370592,end:384527},{filename:"/resources_js/de_DE/aspell/cp1258.cmap",start:384527,end:418038},{filename:"/resources_js/de_DE/aspell/cp1258.cset",start:418038,end:431958},{filename:"/resources_js/de_DE/aspell/croatian.alias",start:431958,end:432030},{filename:"/resources_js/de_DE/aspell/de-common.rws",start:432030,end:2390686},{filename:"/resources_js/de_DE/aspell/de.dat",start:2390686,end:2390827},{filename:"/resources_js/de_DE/aspell/de.multi",start:2390827,end:2390923},{filename:"/resources_js/de_DE/aspell/de_AT-only.rws",start:2390923,end:2437163},{filename:"/resources_js/de_DE/aspell/de_AT.multi",start:2437163,end:2437259},{filename:"/resources_js/de_DE/aspell/de_CH-only.rws",start:2437259,end:2482267},{filename:"/resources_js/de_DE/aspell/de_CH.multi",start:2482267,end:2482363},{filename:"/resources_js/de_DE/aspell/de_DE-only.rws",start:2482363,end:2524331},{filename:"/resources_js/de_DE/aspell/de_DE.multi",start:2524331,end:2524427},{filename:"/resources_js/de_DE/aspell/de_affix.dat",start:2524427,end:2539350},{filename:"/resources_js/de_DE/aspell/de_phonet.dat",start:2539350,end:2551829},{filename:"/resources_js/de_DE/aspell/deutsch.alias",start:2551829,end:2551904},{filename:"/resources_js/de_DE/aspell/dvorak.kbd",start:2551904,end:2552002},{filename:"/resources_js/de_DE/aspell/german.alias",start:2552002,end:2552077},{filename:"/resources_js/de_DE/aspell/iso-8859-1.cmap",start:2552077,end:2582971},{filename:"/resources_js/de_DE/aspell/iso-8859-1.cset",start:2582971,end:2596819},{filename:"/resources_js/de_DE/aspell/iso-8859-10.cmap",start:2596819,end:2627884},{filename:"/resources_js/de_DE/aspell/iso-8859-10.cset",start:2627884,end:2642143},{filename:"/resources_js/de_DE/aspell/iso-8859-11.cmap",start:2642143,end:2669266},{filename:"/resources_js/de_DE/aspell/iso-8859-11.cset",start:2669266,end:2682504},{filename:"/resources_js/de_DE/aspell/iso-8859-13.cmap",start:2682504,end:2713632},{filename:"/resources_js/de_DE/aspell/iso-8859-13.cset",start:2713632,end:2727621},{filename:"/resources_js/de_DE/aspell/iso-8859-14.cmap",start:2727621,end:2759054},{filename:"/resources_js/de_DE/aspell/iso-8859-14.cset",start:2759054,end:2773433},{filename:"/resources_js/de_DE/aspell/iso-8859-15.cmap",start:2773433,end:2804247},{filename:"/resources_js/de_DE/aspell/iso-8859-15.cset",start:2804247,end:2818186},{filename:"/resources_js/de_DE/aspell/iso-8859-16.cmap",start:2818186,end:2849005},{filename:"/resources_js/de_DE/aspell/iso-8859-16.cset",start:2849005,end:2863289},{filename:"/resources_js/de_DE/aspell/iso-8859-2.cmap",start:2863289,end:2894578},{filename:"/resources_js/de_DE/aspell/iso-8859-2.cset",start:2894578,end:2908711},{filename:"/resources_js/de_DE/aspell/iso-8859-3.cmap",start:2908711,end:2939660},{filename:"/resources_js/de_DE/aspell/iso-8859-3.cset",start:2939660,end:2953632},{filename:"/resources_js/de_DE/aspell/iso-8859-4.cmap",start:2953632,end:2984774},{filename:"/resources_js/de_DE/aspell/iso-8859-4.cset",start:2984774,end:2998879},{filename:"/resources_js/de_DE/aspell/iso-8859-5.cmap",start:2998879,end:3030643},{filename:"/resources_js/de_DE/aspell/iso-8859-5.cset",start:3030643,end:3044392},{filename:"/resources_js/de_DE/aspell/iso-8859-6.cmap",start:3044392,end:3085382},{filename:"/resources_js/de_DE/aspell/iso-8859-6.cset",start:3085382,end:3097934},{filename:"/resources_js/de_DE/aspell/iso-8859-7.cmap",start:3097934,end:3136472},{filename:"/resources_js/de_DE/aspell/iso-8859-7.cset",start:3136472,end:3150111},{filename:"/resources_js/de_DE/aspell/iso-8859-8.cmap",start:3150111,end:3177869},{filename:"/resources_js/de_DE/aspell/iso-8859-8.cset",start:3177869,end:3190426},{filename:"/resources_js/de_DE/aspell/iso-8859-9.cmap",start:3190426,end:3221446},{filename:"/resources_js/de_DE/aspell/iso-8859-9.cset",start:3221446,end:3235331},{filename:"/resources_js/de_DE/aspell/koi8-r.cmap",start:3235331,end:3266765},{filename:"/resources_js/de_DE/aspell/koi8-r.cset",start:3266765,end:3280164},{filename:"/resources_js/de_DE/aspell/koi8-u.cmap",start:3280164,end:3311740},{filename:"/resources_js/de_DE/aspell/koi8-u.cset",start:3311740,end:3325301},{filename:"/resources_js/de_DE/aspell/split.kbd",start:3325301,end:3325400},{filename:"/resources_js/de_DE/aspell/standard.kbd",start:3325400,end:3325500},{filename:"/resources_js/de_DE/hunspell/de_DE.aff",start:3325500,end:3344699},{filename:"/resources_js/de_DE/hunspell/de_DE.dic",start:3344699,end:4462893},{filename:"/resources_js/de_DE/ngrams_db/ngrams.counts",start:4462893,end:5462565},{filename:"/resources_js/de_DE/ngrams_db/ngrams.trie",start:5462565,end:6556293},{filename:"/resources_js/de_DE/presage.xml",start:6556293,end:6559458}],remote_package_size:6559458})})();var Module=typeof Module!="undefined"?Module:{};if(!Module["expectedDataFileDownloads"])Module["expectedDataFileDownloads"]=0;Module["expectedDataFileDownloads"]++;(()=>{var isPthread=typeof ENVIRONMENT_IS_PTHREAD!="undefined"&&ENVIRONMENT_IS_PTHREAD;var isWasmWorker=typeof ENVIRONMENT_IS_WASM_WORKER!="undefined"&&ENVIRONMENT_IS_WASM_WORKER;if(isPthread||isWasmWorker)return;var isNode=globalThis.process&&globalThis.process.versions&&globalThis.process.versions.node&&globalThis.process.type!="renderer";async function loadPackage(metadata){var PACKAGE_PATH="";if(typeof window==="object"){PACKAGE_PATH=window["encodeURIComponent"](window.location.pathname.substring(0,window.location.pathname.lastIndexOf("/"))+"/")}else if(typeof process==="undefined"&&typeof location!=="undefined"){PACKAGE_PATH=encodeURIComponent(location.pathname.substring(0,location.pathname.lastIndexOf("/"))+"/")}var PACKAGE_NAME="el_GR.data";var REMOTE_PACKAGE_BASE="el_GR.data";var REMOTE_PACKAGE_NAME=Module["locateFile"]?Module["locateFile"](REMOTE_PACKAGE_BASE,""):REMOTE_PACKAGE_BASE;var REMOTE_PACKAGE_SIZE=metadata["remote_package_size"];async function fetchRemotePackage(packageName,packageSize){if(isNode){var contents=require("fs").readFileSync(packageName);return new Uint8Array(contents).buffer}if(!Module["dataFileDownloads"])Module["dataFileDownloads"]={};try{var response=await fetch(chrome.runtime.getURL("third_party/libpresage/"+packageName))}catch(e){throw new Error(`Network Error: ${packageName}`,{e})}if(!response.ok){throw new Error(`${response.status}: ${response.url}`)}const chunks=[];const headers=response.headers;const total=Number(headers.get("Content-Length")||packageSize);let loaded=0;Module["setStatus"]&&Module["setStatus"]("Downloading data...");const reader=response.body.getReader();while(1){var{done,value}=await reader.read();if(done)break;chunks.push(value);loaded+=value.length;Module["dataFileDownloads"][packageName]={loaded,total};let totalLoaded=0;let totalSize=0;for(const download of Object.values(Module["dataFileDownloads"])){totalLoaded+=download.loaded;totalSize+=download.total}Module["setStatus"]&&Module["setStatus"](`Downloading data... (${totalLoaded}/${totalSize})`)}const packageData=new Uint8Array(chunks.map(c=>c.length).reduce((a,b)=>a+b,0));let offset=0;for(const chunk of chunks){packageData.set(chunk,offset);offset+=chunk.length}return packageData.buffer}var fetchPromise;var fetched=Module["getPreloadedPackage"]&&Module["getPreloadedPackage"](REMOTE_PACKAGE_NAME,REMOTE_PACKAGE_SIZE);if(!fetched){fetchPromise=fetchRemotePackage(REMOTE_PACKAGE_NAME,REMOTE_PACKAGE_SIZE)}async function runWithFS(Module){function assert(check,msg){if(!check)throw new Error(msg)}Module["FS_createPath"]("/","resources_js",true,true);Module["FS_createPath"]("/resources_js","el_GR",true,true);Module["FS_createPath"]("/resources_js/el_GR","aspell",true,true);Module["FS_createPath"]("/resources_js/el_GR","hunspell",true,true);Module["FS_createPath"]("/resources_js/el_GR","ngrams_db",true,true);for(var file of metadata["files"]){var name=file["filename"];Module["addRunDependency"](`fp ${name}`)}async function processPackageData(arrayBuffer){assert(arrayBuffer,"Loading data file failed.");assert(arrayBuffer.constructor.name===ArrayBuffer.name,"bad input to processPackageData "+arrayBuffer.constructor.name);var byteArray=new Uint8Array(arrayBuffer);for(var file of metadata["files"]){var name=file["filename"];var data=byteArray.subarray(file["start"],file["end"]);Module["FS_createDataFile"](name,null,data,true,true,true);Module["removeRunDependency"](`fp ${name}`)}Module["removeRunDependency"]("datafile_el_GR.data")}Module["addRunDependency"]("datafile_el_GR.data");if(!Module["preloadResults"])Module["preloadResults"]={};Module["preloadResults"][PACKAGE_NAME]={fromCache:false};if(!fetched){fetched=await fetchPromise}processPackageData(fetched)}if(Module["calledRun"]){runWithFS(Module)}else{if(!Module["preRun"])Module["preRun"]=[];Module["preRun"].push(runWithFS)}}loadPackage({files:[{filename:"/resources_js/el_GR/aspell/cp1250.cmap",start:0,end:31404},{filename:"/resources_js/el_GR/aspell/cp1250.cset",start:31404,end:45618},{filename:"/resources_js/el_GR/aspell/cp1251.cmap",start:45618,end:77516},{filename:"/resources_js/el_GR/aspell/cp1251.cset",start:77516,end:91382},{filename:"/resources_js/el_GR/aspell/cp1252.cmap",start:91382,end:122364},{filename:"/resources_js/el_GR/aspell/cp1252.cset",start:122364,end:136403},{filename:"/resources_js/el_GR/aspell/cp1253.cmap",start:136403,end:174992},{filename:"/resources_js/el_GR/aspell/cp1253.cset",start:174992,end:188674},{filename:"/resources_js/el_GR/aspell/cp1254.cmap",start:188674,end:219707},{filename:"/resources_js/el_GR/aspell/cp1254.cset",start:219707,end:233751},{filename:"/resources_js/el_GR/aspell/cp1255.cmap",start:233751,end:268884},{filename:"/resources_js/el_GR/aspell/cp1255.cset",start:268884,end:281916},{filename:"/resources_js/el_GR/aspell/cp1256.cmap",start:281916,end:326050},{filename:"/resources_js/el_GR/aspell/cp1256.cset",start:326050,end:339357},{filename:"/resources_js/el_GR/aspell/cp1257.cmap",start:339357,end:370592},{filename:"/resources_js/el_GR/aspell/cp1257.cset",start:370592,end:384527},{filename:"/resources_js/el_GR/aspell/cp1258.cmap",start:384527,end:418038},{filename:"/resources_js/el_GR/aspell/cp1258.cset",start:418038,end:431958},{filename:"/resources_js/el_GR/aspell/croatian.alias",start:431958,end:432030},{filename:"/resources_js/el_GR/aspell/dvorak.kbd",start:432030,end:432128},{filename:"/resources_js/el_GR/aspell/el.dat",start:432128,end:432229},{filename:"/resources_js/el_GR/aspell/el.kbd",start:432229,end:432372},{filename:"/resources_js/el_GR/aspell/el.multi",start:432372,end:432442},{filename:"/resources_js/el_GR/aspell/el.rws",start:432442,end:19441162},{filename:"/resources_js/el_GR/aspell/el_phonet.dat",start:19441162,end:19448539},{filename:"/resources_js/el_GR/aspell/gr.alias",start:19448539,end:19448611},{filename:"/resources_js/el_GR/aspell/greek.alias",start:19448611,end:19448683},{filename:"/resources_js/el_GR/aspell/iso-8859-1.cmap",start:19448683,end:19479577},{filename:"/resources_js/el_GR/aspell/iso-8859-1.cset",start:19479577,end:19493425},{filename:"/resources_js/el_GR/aspell/iso-8859-10.cmap",start:19493425,end:19524490},{filename:"/resources_js/el_GR/aspell/iso-8859-10.cset",start:19524490,end:19538749},{filename:"/resources_js/el_GR/aspell/iso-8859-11.cmap",start:19538749,end:19565872},{filename:"/resources_js/el_GR/aspell/iso-8859-11.cset",start:19565872,end:19579110},{filename:"/resources_js/el_GR/aspell/iso-8859-13.cmap",start:19579110,end:19610238},{filename:"/resources_js/el_GR/aspell/iso-8859-13.cset",start:19610238,end:19624227},{filename:"/resources_js/el_GR/aspell/iso-8859-14.cmap",start:19624227,end:19655660},{filename:"/resources_js/el_GR/aspell/iso-8859-14.cset",start:19655660,end:19670039},{filename:"/resources_js/el_GR/aspell/iso-8859-15.cmap",start:19670039,end:19700853},{filename:"/resources_js/el_GR/aspell/iso-8859-15.cset",start:19700853,end:19714792},{filename:"/resources_js/el_GR/aspell/iso-8859-16.cmap",start:19714792,end:19745611},{filename:"/resources_js/el_GR/aspell/iso-8859-16.cset",start:19745611,end:19759895},{filename:"/resources_js/el_GR/aspell/iso-8859-2.cmap",start:19759895,end:19791184},{filename:"/resources_js/el_GR/aspell/iso-8859-2.cset",start:19791184,end:19805317},{filename:"/resources_js/el_GR/aspell/iso-8859-3.cmap",start:19805317,end:19836266},{filename:"/resources_js/el_GR/aspell/iso-8859-3.cset",start:19836266,end:19850238},{filename:"/resources_js/el_GR/aspell/iso-8859-4.cmap",start:19850238,end:19881380},{filename:"/resources_js/el_GR/aspell/iso-8859-4.cset",start:19881380,end:19895485},{filename:"/resources_js/el_GR/aspell/iso-8859-5.cmap",start:19895485,end:19927249},{filename:"/resources_js/el_GR/aspell/iso-8859-5.cset",start:19927249,end:19940998},{filename:"/resources_js/el_GR/aspell/iso-8859-6.cmap",start:19940998,end:19981988},{filename:"/resources_js/el_GR/aspell/iso-8859-6.cset",start:19981988,end:19994540},{filename:"/resources_js/el_GR/aspell/iso-8859-7.cmap",start:19994540,end:20033078},{filename:"/resources_js/el_GR/aspell/iso-8859-7.cset",start:20033078,end:20046717},{filename:"/resources_js/el_GR/aspell/iso-8859-8.cmap",start:20046717,end:20074475},{filename:"/resources_js/el_GR/aspell/iso-8859-8.cset",start:20074475,end:20087032},{filename:"/resources_js/el_GR/aspell/iso-8859-9.cmap",start:20087032,end:20118052},{filename:"/resources_js/el_GR/aspell/iso-8859-9.cset",start:20118052,end:20131937},{filename:"/resources_js/el_GR/aspell/koi8-r.cmap",start:20131937,end:20163371},{filename:"/resources_js/el_GR/aspell/koi8-r.cset",start:20163371,end:20176770},{filename:"/resources_js/el_GR/aspell/koi8-u.cmap",start:20176770,end:20208346},{filename:"/resources_js/el_GR/aspell/koi8-u.cset",start:20208346,end:20221907},{filename:"/resources_js/el_GR/aspell/split.kbd",start:20221907,end:20222006},{filename:"/resources_js/el_GR/aspell/standard.kbd",start:20222006,end:20222106},{filename:"/resources_js/el_GR/hunspell/el_GR.aff",start:20222106,end:20242164},{filename:"/resources_js/el_GR/hunspell/el_GR.dic",start:20242164,end:39664131},{filename:"/resources_js/el_GR/ngrams_db/ngrams.counts",start:39664131,end:40786055},{filename:"/resources_js/el_GR/ngrams_db/ngrams.trie",start:40786055,end:42332383},{filename:"/resources_js/el_GR/presage.xml",start:42332383,end:42335548}],remote_package_size:42335548})})();var Module=typeof Module!="undefined"?Module:{};if(!Module["expectedDataFileDownloads"])Module["expectedDataFileDownloads"]=0;Module["expectedDataFileDownloads"]++;(()=>{var isPthread=typeof ENVIRONMENT_IS_PTHREAD!="undefined"&&ENVIRONMENT_IS_PTHREAD;var isWasmWorker=typeof ENVIRONMENT_IS_WASM_WORKER!="undefined"&&ENVIRONMENT_IS_WASM_WORKER;if(isPthread||isWasmWorker)return;var isNode=globalThis.process&&globalThis.process.versions&&globalThis.process.versions.node&&globalThis.process.type!="renderer";async function loadPackage(metadata){var PACKAGE_PATH="";if(typeof window==="object"){PACKAGE_PATH=window["encodeURIComponent"](window.location.pathname.substring(0,window.location.pathname.lastIndexOf("/"))+"/")}else if(typeof process==="undefined"&&typeof location!=="undefined"){PACKAGE_PATH=encodeURIComponent(location.pathname.substring(0,location.pathname.lastIndexOf("/"))+"/")}var PACKAGE_NAME="en_US.data";var REMOTE_PACKAGE_BASE="en_US.data";var REMOTE_PACKAGE_NAME=Module["locateFile"]?Module["locateFile"](REMOTE_PACKAGE_BASE,""):REMOTE_PACKAGE_BASE;var REMOTE_PACKAGE_SIZE=metadata["remote_package_size"];async function fetchRemotePackage(packageName,packageSize){if(isNode){var contents=require("fs").readFileSync(packageName);return new Uint8Array(contents).buffer}if(!Module["dataFileDownloads"])Module["dataFileDownloads"]={};try{var response=await fetch(chrome.runtime.getURL("third_party/libpresage/"+packageName))}catch(e){throw new Error(`Network Error: ${packageName}`,{e})}if(!response.ok){throw new Error(`${response.status}: ${response.url}`)}const chunks=[];const headers=response.headers;const total=Number(headers.get("Content-Length")||packageSize);let loaded=0;Module["setStatus"]&&Module["setStatus"]("Downloading data...");const reader=response.body.getReader();while(1){var{done,value}=await reader.read();if(done)break;chunks.push(value);loaded+=value.length;Module["dataFileDownloads"][packageName]={loaded,total};let totalLoaded=0;let totalSize=0;for(const download of Object.values(Module["dataFileDownloads"])){totalLoaded+=download.loaded;totalSize+=download.total}Module["setStatus"]&&Module["setStatus"](`Downloading data... (${totalLoaded}/${totalSize})`)}const packageData=new Uint8Array(chunks.map(c=>c.length).reduce((a,b)=>a+b,0));let offset=0;for(const chunk of chunks){packageData.set(chunk,offset);offset+=chunk.length}return packageData.buffer}var fetchPromise;var fetched=Module["getPreloadedPackage"]&&Module["getPreloadedPackage"](REMOTE_PACKAGE_NAME,REMOTE_PACKAGE_SIZE);if(!fetched){fetchPromise=fetchRemotePackage(REMOTE_PACKAGE_NAME,REMOTE_PACKAGE_SIZE)}async function runWithFS(Module){function assert(check,msg){if(!check)throw new Error(msg)}Module["FS_createPath"]("/","resources_js",true,true);Module["FS_createPath"]("/resources_js","en_US",true,true);Module["FS_createPath"]("/resources_js/en_US","aspell",true,true);Module["FS_createPath"]("/resources_js/en_US","hunspell",true,true);Module["FS_createPath"]("/resources_js/en_US","ngrams_db",true,true);for(var file of metadata["files"]){var name=file["filename"];Module["addRunDependency"](`fp ${name}`)}async function processPackageData(arrayBuffer){assert(arrayBuffer,"Loading data file failed.");assert(arrayBuffer.constructor.name===ArrayBuffer.name,"bad input to processPackageData "+arrayBuffer.constructor.name);var byteArray=new Uint8Array(arrayBuffer);for(var file of metadata["files"]){var name=file["filename"];var data=byteArray.subarray(file["start"],file["end"]);Module["FS_createDataFile"](name,null,data,true,true,true);Module["removeRunDependency"](`fp ${name}`)}Module["removeRunDependency"]("datafile_en_US.data")}Module["addRunDependency"]("datafile_en_US.data");if(!Module["preloadResults"])Module["preloadResults"]={};Module["preloadResults"][PACKAGE_NAME]={fromCache:false};if(!fetched){fetched=await fetchPromise}processPackageData(fetched)}if(Module["calledRun"]){runWithFS(Module)}else{if(!Module["preRun"])Module["preRun"]=[];Module["preRun"].push(runWithFS)}}loadPackage({files:[{filename:"/resources_js/en_US/aspell/american-variant_0.alias",start:0,end:85},{filename:"/resources_js/en_US/aspell/american-variant_1.alias",start:85,end:170},{filename:"/resources_js/en_US/aspell/american-w_accents.alias",start:170,end:255},{filename:"/resources_js/en_US/aspell/american-wo_accents.alias",start:255,end:341},{filename:"/resources_js/en_US/aspell/american.alias",start:341,end:416},{filename:"/resources_js/en_US/aspell/australian-variant_0.alias",start:416,end:501},{filename:"/resources_js/en_US/aspell/australian-variant_1.alias",start:501,end:586},{filename:"/resources_js/en_US/aspell/australian-w_accents.alias",start:586,end:671},{filename:"/resources_js/en_US/aspell/australian-wo_accents.alias",start:671,end:757},{filename:"/resources_js/en_US/aspell/australian.alias",start:757,end:832},{filename:"/resources_js/en_US/aspell/british-ise-w_accents.alias",start:832,end:921},{filename:"/resources_js/en_US/aspell/british-ise-wo_accents.alias",start:921,end:1011},{filename:"/resources_js/en_US/aspell/british-ise.alias",start:1011,end:1090},{filename:"/resources_js/en_US/aspell/british-ize-w_accents.alias",start:1090,end:1179},{filename:"/resources_js/en_US/aspell/british-ize-wo_accents.alias",start:1179,end:1269},{filename:"/resources_js/en_US/aspell/british-ize.alias",start:1269,end:1348},{filename:"/resources_js/en_US/aspell/british-variant_0.alias",start:1348,end:1433},{filename:"/resources_js/en_US/aspell/british-variant_1.alias",start:1433,end:1518},{filename:"/resources_js/en_US/aspell/british-w_accents.alias",start:1518,end:1603},{filename:"/resources_js/en_US/aspell/british-wo_accents.alias",start:1603,end:1689},{filename:"/resources_js/en_US/aspell/british.alias",start:1689,end:1764},{filename:"/resources_js/en_US/aspell/canadian-variant_0.alias",start:1764,end:1849},{filename:"/resources_js/en_US/aspell/canadian-variant_1.alias",start:1849,end:1934},{filename:"/resources_js/en_US/aspell/canadian-w_accents.alias",start:1934,end:2019},{filename:"/resources_js/en_US/aspell/canadian-wo_accents.alias",start:2019,end:2105},{filename:"/resources_js/en_US/aspell/canadian.alias",start:2105,end:2180},{filename:"/resources_js/en_US/aspell/cp1250.cmap",start:2180,end:33584},{filename:"/resources_js/en_US/aspell/cp1250.cset",start:33584,end:47798},{filename:"/resources_js/en_US/aspell/cp1251.cmap",start:47798,end:79696},{filename:"/resources_js/en_US/aspell/cp1251.cset",start:79696,end:93562},{filename:"/resources_js/en_US/aspell/cp1252.cmap",start:93562,end:124544},{filename:"/resources_js/en_US/aspell/cp1252.cset",start:124544,end:138583},{filename:"/resources_js/en_US/aspell/cp1253.cmap",start:138583,end:177172},{filename:"/resources_js/en_US/aspell/cp1253.cset",start:177172,end:190854},{filename:"/resources_js/en_US/aspell/cp1254.cmap",start:190854,end:221887},{filename:"/resources_js/en_US/aspell/cp1254.cset",start:221887,end:235931},{filename:"/resources_js/en_US/aspell/cp1255.cmap",start:235931,end:271064},{filename:"/resources_js/en_US/aspell/cp1255.cset",start:271064,end:284096},{filename:"/resources_js/en_US/aspell/cp1256.cmap",start:284096,end:328230},{filename:"/resources_js/en_US/aspell/cp1256.cset",start:328230,end:341537},{filename:"/resources_js/en_US/aspell/cp1257.cmap",start:341537,end:372772},{filename:"/resources_js/en_US/aspell/cp1257.cset",start:372772,end:386707},{filename:"/resources_js/en_US/aspell/cp1258.cmap",start:386707,end:420218},{filename:"/resources_js/en_US/aspell/cp1258.cset",start:420218,end:434138},{filename:"/resources_js/en_US/aspell/croatian.alias",start:434138,end:434210},{filename:"/resources_js/en_US/aspell/dvorak.kbd",start:434210,end:434308},{filename:"/resources_js/en_US/aspell/en-common.rws",start:434308,end:2857764},{filename:"/resources_js/en_US/aspell/en-variant_0.multi",start:2857764,end:2857844},{filename:"/resources_js/en_US/aspell/en-variant_0.rws",start:2857844,end:2897620},{filename:"/resources_js/en_US/aspell/en-variant_1.multi",start:2897620,end:2897700},{filename:"/resources_js/en_US/aspell/en-variant_1.rws",start:2897700,end:2991140},{filename:"/resources_js/en_US/aspell/en-variant_2.multi",start:2991140,end:2991220},{filename:"/resources_js/en_US/aspell/en-variant_2.rws",start:2991220,end:3093380},{filename:"/resources_js/en_US/aspell/en-w_accents-only.rws",start:3093380,end:3269460},{filename:"/resources_js/en_US/aspell/en-w_accents.multi",start:3269460,end:3269563},{filename:"/resources_js/en_US/aspell/en-wo_accents-only.rws",start:3269563,end:3445643},{filename:"/resources_js/en_US/aspell/en-wo_accents.multi",start:3445643,end:3445747},{filename:"/resources_js/en_US/aspell/en.dat",start:3445747,end:3445835},{filename:"/resources_js/en_US/aspell/en.multi",start:3445835,end:3445918},{filename:"/resources_js/en_US/aspell/en_AU-variant_0.multi",start:3445918,end:3446001},{filename:"/resources_js/en_US/aspell/en_AU-variant_0.rws",start:3446001,end:3476929},{filename:"/resources_js/en_US/aspell/en_AU-variant_1.multi",start:3476929,end:3477012},{filename:"/resources_js/en_US/aspell/en_AU-variant_1.rws",start:3477012,end:3550564},{filename:"/resources_js/en_US/aspell/en_AU-w_accents-only.rws",start:3550564,end:3656756},{filename:"/resources_js/en_US/aspell/en_AU-w_accents.multi",start:3656756,end:3656862},{filename:"/resources_js/en_US/aspell/en_AU-wo_accents-only.rws",start:3656862,end:3763054},{filename:"/resources_js/en_US/aspell/en_AU-wo_accents.multi",start:3763054,end:3763161},{filename:"/resources_js/en_US/aspell/en_AU.multi",start:3763161,end:3763247},{filename:"/resources_js/en_US/aspell/en_CA-variant_0.multi",start:3763247,end:3763330},{filename:"/resources_js/en_US/aspell/en_CA-variant_0.rws",start:3763330,end:3802738},{filename:"/resources_js/en_US/aspell/en_CA-variant_1.multi",start:3802738,end:3802821},{filename:"/resources_js/en_US/aspell/en_CA-variant_1.rws",start:3802821,end:3878901},{filename:"/resources_js/en_US/aspell/en_CA-w_accents-only.rws",start:3878901,end:3972965},{filename:"/resources_js/en_US/aspell/en_CA-w_accents.multi",start:3972965,end:3973071},{filename:"/resources_js/en_US/aspell/en_CA-wo_accents-only.rws",start:3973071,end:4067135},{filename:"/resources_js/en_US/aspell/en_CA-wo_accents.multi",start:4067135,end:4067242},{filename:"/resources_js/en_US/aspell/en_CA.multi",start:4067242,end:4067328},{filename:"/resources_js/en_US/aspell/en_GB-ise-w_accents-only.rws",start:4067328,end:4162016},{filename:"/resources_js/en_US/aspell/en_GB-ise-w_accents.multi",start:4162016,end:4162126},{filename:"/resources_js/en_US/aspell/en_GB-ise-wo_accents-only.rws",start:4162126,end:4256814},{filename:"/resources_js/en_US/aspell/en_GB-ise-wo_accents.multi",start:4256814,end:4256925},{filename:"/resources_js/en_US/aspell/en_GB-ise.multi",start:4256925,end:4257015},{filename:"/resources_js/en_US/aspell/en_GB-ize-w_accents-only.rws",start:4257015,end:4350663},{filename:"/resources_js/en_US/aspell/en_GB-ize-w_accents.multi",start:4350663,end:4350773},{filename:"/resources_js/en_US/aspell/en_GB-ize-wo_accents-only.rws",start:4350773,end:4444421},{filename:"/resources_js/en_US/aspell/en_GB-ize-wo_accents.multi",start:4444421,end:4444532},{filename:"/resources_js/en_US/aspell/en_GB-ize.multi",start:4444532,end:4444622},{filename:"/resources_js/en_US/aspell/en_GB-variant_0.multi",start:4444622,end:4444705},{filename:"/resources_js/en_US/aspell/en_GB-variant_0.rws",start:4444705,end:4472833},{filename:"/resources_js/en_US/aspell/en_GB-variant_1.multi",start:4472833,end:4472916},{filename:"/resources_js/en_US/aspell/en_GB-variant_1.rws",start:4472916,end:4537508},{filename:"/resources_js/en_US/aspell/en_GB-w_accents.multi",start:4537508,end:4537597},{filename:"/resources_js/en_US/aspell/en_GB-wo_accents.multi",start:4537597,end:4537687},{filename:"/resources_js/en_US/aspell/en_GB.multi",start:4537687,end:4537777},{filename:"/resources_js/en_US/aspell/en_US-variant_0.multi",start:4537777,end:4537859},{filename:"/resources_js/en_US/aspell/en_US-variant_1.multi",start:4537859,end:4537941},{filename:"/resources_js/en_US/aspell/en_US-w_accents-only.rws",start:4537941,end:4639973},{filename:"/resources_js/en_US/aspell/en_US-w_accents.multi",start:4639973,end:4640079},{filename:"/resources_js/en_US/aspell/en_US-wo_accents-only.rws",start:4640079,end:4742111},{filename:"/resources_js/en_US/aspell/en_US-wo_accents.multi",start:4742111,end:4742218},{filename:"/resources_js/en_US/aspell/en_US.multi",start:4742218,end:4742304},{filename:"/resources_js/en_US/aspell/en_affix.dat",start:4742304,end:4746979},{filename:"/resources_js/en_US/aspell/en_phonet.dat",start:4746979,end:4754252},{filename:"/resources_js/en_US/aspell/english-variant_0.alias",start:4754252,end:4754334},{filename:"/resources_js/en_US/aspell/english-variant_1.alias",start:4754334,end:4754416},{filename:"/resources_js/en_US/aspell/english-variant_2.alias",start:4754416,end:4754498},{filename:"/resources_js/en_US/aspell/english-w_accents.alias",start:4754498,end:4754580},{filename:"/resources_js/en_US/aspell/english-wo_accents.alias",start:4754580,end:4754663},{filename:"/resources_js/en_US/aspell/english.alias",start:4754663,end:4754735},{filename:"/resources_js/en_US/aspell/iso-8859-1.cmap",start:4754735,end:4785629},{filename:"/resources_js/en_US/aspell/iso-8859-1.cset",start:4785629,end:4799477},{filename:"/resources_js/en_US/aspell/iso-8859-10.cmap",start:4799477,end:4830542},{filename:"/resources_js/en_US/aspell/iso-8859-10.cset",start:4830542,end:4844801},{filename:"/resources_js/en_US/aspell/iso-8859-11.cmap",start:4844801,end:4871924},{filename:"/resources_js/en_US/aspell/iso-8859-11.cset",start:4871924,end:4885162},{filename:"/resources_js/en_US/aspell/iso-8859-13.cmap",start:4885162,end:4916290},{filename:"/resources_js/en_US/aspell/iso-8859-13.cset",start:4916290,end:4930279},{filename:"/resources_js/en_US/aspell/iso-8859-14.cmap",start:4930279,end:4961712},{filename:"/resources_js/en_US/aspell/iso-8859-14.cset",start:4961712,end:4976091},{filename:"/resources_js/en_US/aspell/iso-8859-15.cmap",start:4976091,end:5006905},{filename:"/resources_js/en_US/aspell/iso-8859-15.cset",start:5006905,end:5020844},{filename:"/resources_js/en_US/aspell/iso-8859-16.cmap",start:5020844,end:5051663},{filename:"/resources_js/en_US/aspell/iso-8859-16.cset",start:5051663,end:5065947},{filename:"/resources_js/en_US/aspell/iso-8859-2.cmap",start:5065947,end:5097236},{filename:"/resources_js/en_US/aspell/iso-8859-2.cset",start:5097236,end:5111369},{filename:"/resources_js/en_US/aspell/iso-8859-3.cmap",start:5111369,end:5142318},{filename:"/resources_js/en_US/aspell/iso-8859-3.cset",start:5142318,end:5156290},{filename:"/resources_js/en_US/aspell/iso-8859-4.cmap",start:5156290,end:5187432},{filename:"/resources_js/en_US/aspell/iso-8859-4.cset",start:5187432,end:5201537},{filename:"/resources_js/en_US/aspell/iso-8859-5.cmap",start:5201537,end:5233301},{filename:"/resources_js/en_US/aspell/iso-8859-5.cset",start:5233301,end:5247050},{filename:"/resources_js/en_US/aspell/iso-8859-6.cmap",start:5247050,end:5288040},{filename:"/resources_js/en_US/aspell/iso-8859-6.cset",start:5288040,end:5300592},{filename:"/resources_js/en_US/aspell/iso-8859-7.cmap",start:5300592,end:5339130},{filename:"/resources_js/en_US/aspell/iso-8859-7.cset",start:5339130,end:5352769},{filename:"/resources_js/en_US/aspell/iso-8859-8.cmap",start:5352769,end:5380527},{filename:"/resources_js/en_US/aspell/iso-8859-8.cset",start:5380527,end:5393084},{filename:"/resources_js/en_US/aspell/iso-8859-9.cmap",start:5393084,end:5424104},{filename:"/resources_js/en_US/aspell/iso-8859-9.cset",start:5424104,end:5437989},{filename:"/resources_js/en_US/aspell/koi8-r.cmap",start:5437989,end:5469423},{filename:"/resources_js/en_US/aspell/koi8-r.cset",start:5469423,end:5482822},{filename:"/resources_js/en_US/aspell/koi8-u.cmap",start:5482822,end:5514398},{filename:"/resources_js/en_US/aspell/koi8-u.cset",start:5514398,end:5527959},{filename:"/resources_js/en_US/aspell/split.kbd",start:5527959,end:5528058},{filename:"/resources_js/en_US/aspell/standard.kbd",start:5528058,end:5528158},{filename:"/resources_js/en_US/hunspell/en_US.aff",start:5528158,end:5531244},{filename:"/resources_js/en_US/hunspell/en_US.dic",start:5531244,end:6083006},{filename:"/resources_js/en_US/ngrams_db/ngrams.counts",start:6083006,end:6318530},{filename:"/resources_js/en_US/ngrams_db/ngrams.trie",start:6318530,end:6523898},{filename:"/resources_js/en_US/presage.xml",start:6523898,end:6527066}],remote_package_size:6527066})})();var Module=typeof Module!="undefined"?Module:{};if(!Module["expectedDataFileDownloads"])Module["expectedDataFileDownloads"]=0;Module["expectedDataFileDownloads"]++;(()=>{var isPthread=typeof ENVIRONMENT_IS_PTHREAD!="undefined"&&ENVIRONMENT_IS_PTHREAD;var isWasmWorker=typeof ENVIRONMENT_IS_WASM_WORKER!="undefined"&&ENVIRONMENT_IS_WASM_WORKER;if(isPthread||isWasmWorker)return;var isNode=globalThis.process&&globalThis.process.versions&&globalThis.process.versions.node&&globalThis.process.type!="renderer";async function loadPackage(metadata){var PACKAGE_PATH="";if(typeof window==="object"){PACKAGE_PATH=window["encodeURIComponent"](window.location.pathname.substring(0,window.location.pathname.lastIndexOf("/"))+"/")}else if(typeof process==="undefined"&&typeof location!=="undefined"){PACKAGE_PATH=encodeURIComponent(location.pathname.substring(0,location.pathname.lastIndexOf("/"))+"/")}var PACKAGE_NAME="es_ES.data";var REMOTE_PACKAGE_BASE="es_ES.data";var REMOTE_PACKAGE_NAME=Module["locateFile"]?Module["locateFile"](REMOTE_PACKAGE_BASE,""):REMOTE_PACKAGE_BASE;var REMOTE_PACKAGE_SIZE=metadata["remote_package_size"];async function fetchRemotePackage(packageName,packageSize){if(isNode){var contents=require("fs").readFileSync(packageName);return new Uint8Array(contents).buffer}if(!Module["dataFileDownloads"])Module["dataFileDownloads"]={};try{var response=await fetch(chrome.runtime.getURL("third_party/libpresage/"+packageName))}catch(e){throw new Error(`Network Error: ${packageName}`,{e})}if(!response.ok){throw new Error(`${response.status}: ${response.url}`)}const chunks=[];const headers=response.headers;const total=Number(headers.get("Content-Length")||packageSize);let loaded=0;Module["setStatus"]&&Module["setStatus"]("Downloading data...");const reader=response.body.getReader();while(1){var{done,value}=await reader.read();if(done)break;chunks.push(value);loaded+=value.length;Module["dataFileDownloads"][packageName]={loaded,total};let totalLoaded=0;let totalSize=0;for(const download of Object.values(Module["dataFileDownloads"])){totalLoaded+=download.loaded;totalSize+=download.total}Module["setStatus"]&&Module["setStatus"](`Downloading data... (${totalLoaded}/${totalSize})`)}const packageData=new Uint8Array(chunks.map(c=>c.length).reduce((a,b)=>a+b,0));let offset=0;for(const chunk of chunks){packageData.set(chunk,offset);offset+=chunk.length}return packageData.buffer}var fetchPromise;var fetched=Module["getPreloadedPackage"]&&Module["getPreloadedPackage"](REMOTE_PACKAGE_NAME,REMOTE_PACKAGE_SIZE);if(!fetched){fetchPromise=fetchRemotePackage(REMOTE_PACKAGE_NAME,REMOTE_PACKAGE_SIZE)}async function runWithFS(Module){function assert(check,msg){if(!check)throw new Error(msg)}Module["FS_createPath"]("/","resources_js",true,true);Module["FS_createPath"]("/resources_js","es_ES",true,true);Module["FS_createPath"]("/resources_js/es_ES","aspell",true,true);Module["FS_createPath"]("/resources_js/es_ES","hunspell",true,true);Module["FS_createPath"]("/resources_js/es_ES","ngrams_db",true,true);for(var file of metadata["files"]){var name=file["filename"];Module["addRunDependency"](`fp ${name}`)}async function processPackageData(arrayBuffer){assert(arrayBuffer,"Loading data file failed.");assert(arrayBuffer.constructor.name===ArrayBuffer.name,"bad input to processPackageData "+arrayBuffer.constructor.name);var byteArray=new Uint8Array(arrayBuffer);for(var file of metadata["files"]){var name=file["filename"];var data=byteArray.subarray(file["start"],file["end"]);Module["FS_createDataFile"](name,null,data,true,true,true);Module["removeRunDependency"](`fp ${name}`)}Module["removeRunDependency"]("datafile_es_ES.data")}Module["addRunDependency"]("datafile_es_ES.data");if(!Module["preloadResults"])Module["preloadResults"]={};Module["preloadResults"][PACKAGE_NAME]={fromCache:false};if(!fetched){fetched=await fetchPromise}processPackageData(fetched)}if(Module["calledRun"]){runWithFS(Module)}else{if(!Module["preRun"])Module["preRun"]=[];Module["preRun"].push(runWithFS)}}loadPackage({files:[{filename:"/resources_js/es_ES/aspell/castellano.alias",start:0,end:72},{filename:"/resources_js/es_ES/aspell/cp1250.cmap",start:72,end:31476},{filename:"/resources_js/es_ES/aspell/cp1250.cset",start:31476,end:45690},{filename:"/resources_js/es_ES/aspell/cp1251.cmap",start:45690,end:77588},{filename:"/resources_js/es_ES/aspell/cp1251.cset",start:77588,end:91454},{filename:"/resources_js/es_ES/aspell/cp1252.cmap",start:91454,end:122436},{filename:"/resources_js/es_ES/aspell/cp1252.cset",start:122436,end:136475},{filename:"/resources_js/es_ES/aspell/cp1253.cmap",start:136475,end:175064},{filename:"/resources_js/es_ES/aspell/cp1253.cset",start:175064,end:188746},{filename:"/resources_js/es_ES/aspell/cp1254.cmap",start:188746,end:219779},{filename:"/resources_js/es_ES/aspell/cp1254.cset",start:219779,end:233823},{filename:"/resources_js/es_ES/aspell/cp1255.cmap",start:233823,end:268956},{filename:"/resources_js/es_ES/aspell/cp1255.cset",start:268956,end:281988},{filename:"/resources_js/es_ES/aspell/cp1256.cmap",start:281988,end:326122},{filename:"/resources_js/es_ES/aspell/cp1256.cset",start:326122,end:339429},{filename:"/resources_js/es_ES/aspell/cp1257.cmap",start:339429,end:370664},{filename:"/resources_js/es_ES/aspell/cp1257.cset",start:370664,end:384599},{filename:"/resources_js/es_ES/aspell/cp1258.cmap",start:384599,end:418110},{filename:"/resources_js/es_ES/aspell/cp1258.cset",start:418110,end:432030},{filename:"/resources_js/es_ES/aspell/croatian.alias",start:432030,end:432102},{filename:"/resources_js/es_ES/aspell/dvorak.kbd",start:432102,end:432200},{filename:"/resources_js/es_ES/aspell/es.dat",start:432200,end:432332},{filename:"/resources_js/es_ES/aspell/es.multi",start:432332,end:432402},{filename:"/resources_js/es_ES/aspell/es.rws",start:432402,end:1711586},{filename:"/resources_js/es_ES/aspell/es_affix.dat",start:1711586,end:1897981},{filename:"/resources_js/es_ES/aspell/espanol.alias",start:1897981,end:1898053},{filename:"/resources_js/es_ES/aspell/iso-8859-1.cmap",start:1898053,end:1928947},{filename:"/resources_js/es_ES/aspell/iso-8859-1.cset",start:1928947,end:1942795},{filename:"/resources_js/es_ES/aspell/iso-8859-10.cmap",start:1942795,end:1973860},{filename:"/resources_js/es_ES/aspell/iso-8859-10.cset",start:1973860,end:1988119},{filename:"/resources_js/es_ES/aspell/iso-8859-11.cmap",start:1988119,end:2015242},{filename:"/resources_js/es_ES/aspell/iso-8859-11.cset",start:2015242,end:2028480},{filename:"/resources_js/es_ES/aspell/iso-8859-13.cmap",start:2028480,end:2059608},{filename:"/resources_js/es_ES/aspell/iso-8859-13.cset",start:2059608,end:2073597},{filename:"/resources_js/es_ES/aspell/iso-8859-14.cmap",start:2073597,end:2105030},{filename:"/resources_js/es_ES/aspell/iso-8859-14.cset",start:2105030,end:2119409},{filename:"/resources_js/es_ES/aspell/iso-8859-15.cmap",start:2119409,end:2150223},{filename:"/resources_js/es_ES/aspell/iso-8859-15.cset",start:2150223,end:2164162},{filename:"/resources_js/es_ES/aspell/iso-8859-16.cmap",start:2164162,end:2194981},{filename:"/resources_js/es_ES/aspell/iso-8859-16.cset",start:2194981,end:2209265},{filename:"/resources_js/es_ES/aspell/iso-8859-2.cmap",start:2209265,end:2240554},{filename:"/resources_js/es_ES/aspell/iso-8859-2.cset",start:2240554,end:2254687},{filename:"/resources_js/es_ES/aspell/iso-8859-3.cmap",start:2254687,end:2285636},{filename:"/resources_js/es_ES/aspell/iso-8859-3.cset",start:2285636,end:2299608},{filename:"/resources_js/es_ES/aspell/iso-8859-4.cmap",start:2299608,end:2330750},{filename:"/resources_js/es_ES/aspell/iso-8859-4.cset",start:2330750,end:2344855},{filename:"/resources_js/es_ES/aspell/iso-8859-5.cmap",start:2344855,end:2376619},{filename:"/resources_js/es_ES/aspell/iso-8859-5.cset",start:2376619,end:2390368},{filename:"/resources_js/es_ES/aspell/iso-8859-6.cmap",start:2390368,end:2431358},{filename:"/resources_js/es_ES/aspell/iso-8859-6.cset",start:2431358,end:2443910},{filename:"/resources_js/es_ES/aspell/iso-8859-7.cmap",start:2443910,end:2482448},{filename:"/resources_js/es_ES/aspell/iso-8859-7.cset",start:2482448,end:2496087},{filename:"/resources_js/es_ES/aspell/iso-8859-8.cmap",start:2496087,end:2523845},{filename:"/resources_js/es_ES/aspell/iso-8859-8.cset",start:2523845,end:2536402},{filename:"/resources_js/es_ES/aspell/iso-8859-9.cmap",start:2536402,end:2567422},{filename:"/resources_js/es_ES/aspell/iso-8859-9.cset",start:2567422,end:2581307},{filename:"/resources_js/es_ES/aspell/koi8-r.cmap",start:2581307,end:2612741},{filename:"/resources_js/es_ES/aspell/koi8-r.cset",start:2612741,end:2626140},{filename:"/resources_js/es_ES/aspell/koi8-u.cmap",start:2626140,end:2657716},{filename:"/resources_js/es_ES/aspell/koi8-u.cset",start:2657716,end:2671277},{filename:"/resources_js/es_ES/aspell/spanish.alias",start:2671277,end:2671349},{filename:"/resources_js/es_ES/aspell/split.kbd",start:2671349,end:2671448},{filename:"/resources_js/es_ES/aspell/standard.kbd",start:2671448,end:2671548},{filename:"/resources_js/es_ES/hunspell/es_ES.aff",start:2671548,end:2838683},{filename:"/resources_js/es_ES/hunspell/es_ES.dic",start:2838683,end:3544885},{filename:"/resources_js/es_ES/ngrams_db/ngrams.counts",start:3544885,end:4055713},{filename:"/resources_js/es_ES/ngrams_db/ngrams.trie",start:4055713,end:4519553},{filename:"/resources_js/es_ES/presage.xml",start:4519553,end:4522718}],remote_package_size:4522718})})();var Module=typeof Module!="undefined"?Module:{};if(!Module["expectedDataFileDownloads"])Module["expectedDataFileDownloads"]=0;Module["expectedDataFileDownloads"]++;(()=>{var isPthread=typeof ENVIRONMENT_IS_PTHREAD!="undefined"&&ENVIRONMENT_IS_PTHREAD;var isWasmWorker=typeof ENVIRONMENT_IS_WASM_WORKER!="undefined"&&ENVIRONMENT_IS_WASM_WORKER;if(isPthread||isWasmWorker)return;var isNode=globalThis.process&&globalThis.process.versions&&globalThis.process.versions.node&&globalThis.process.type!="renderer";async function loadPackage(metadata){var PACKAGE_PATH="";if(typeof window==="object"){PACKAGE_PATH=window["encodeURIComponent"](window.location.pathname.substring(0,window.location.pathname.lastIndexOf("/"))+"/")}else if(typeof process==="undefined"&&typeof location!=="undefined"){PACKAGE_PATH=encodeURIComponent(location.pathname.substring(0,location.pathname.lastIndexOf("/"))+"/")}var PACKAGE_NAME="fr_FR.data";var REMOTE_PACKAGE_BASE="fr_FR.data";var REMOTE_PACKAGE_NAME=Module["locateFile"]?Module["locateFile"](REMOTE_PACKAGE_BASE,""):REMOTE_PACKAGE_BASE;var REMOTE_PACKAGE_SIZE=metadata["remote_package_size"];async function fetchRemotePackage(packageName,packageSize){if(isNode){var contents=require("fs").readFileSync(packageName);return new Uint8Array(contents).buffer}if(!Module["dataFileDownloads"])Module["dataFileDownloads"]={};try{var response=await fetch(chrome.runtime.getURL("third_party/libpresage/"+packageName))}catch(e){throw new Error(`Network Error: ${packageName}`,{e})}if(!response.ok){throw new Error(`${response.status}: ${response.url}`)}const chunks=[];const headers=response.headers;const total=Number(headers.get("Content-Length")||packageSize);let loaded=0;Module["setStatus"]&&Module["setStatus"]("Downloading data...");const reader=response.body.getReader();while(1){var{done,value}=await reader.read();if(done)break;chunks.push(value);loaded+=value.length;Module["dataFileDownloads"][packageName]={loaded,total};let totalLoaded=0;let totalSize=0;for(const download of Object.values(Module["dataFileDownloads"])){totalLoaded+=download.loaded;totalSize+=download.total}Module["setStatus"]&&Module["setStatus"](`Downloading data... (${totalLoaded}/${totalSize})`)}const packageData=new Uint8Array(chunks.map(c=>c.length).reduce((a,b)=>a+b,0));let offset=0;for(const chunk of chunks){packageData.set(chunk,offset);offset+=chunk.length}return packageData.buffer}var fetchPromise;var fetched=Module["getPreloadedPackage"]&&Module["getPreloadedPackage"](REMOTE_PACKAGE_NAME,REMOTE_PACKAGE_SIZE);if(!fetched){fetchPromise=fetchRemotePackage(REMOTE_PACKAGE_NAME,REMOTE_PACKAGE_SIZE)}async function runWithFS(Module){function assert(check,msg){if(!check)throw new Error(msg)}Module["FS_createPath"]("/","resources_js",true,true);Module["FS_createPath"]("/resources_js","fr_FR",true,true);Module["FS_createPath"]("/resources_js/fr_FR","aspell",true,true);Module["FS_createPath"]("/resources_js/fr_FR","hunspell",true,true);Module["FS_createPath"]("/resources_js/fr_FR","ngrams_db",true,true);for(var file of metadata["files"]){var name=file["filename"];Module["addRunDependency"](`fp ${name}`)}async function processPackageData(arrayBuffer){assert(arrayBuffer,"Loading data file failed.");assert(arrayBuffer.constructor.name===ArrayBuffer.name,"bad input to processPackageData "+arrayBuffer.constructor.name);var byteArray=new Uint8Array(arrayBuffer);for(var file of metadata["files"]){var name=file["filename"];var data=byteArray.subarray(file["start"],file["end"]);Module["FS_createDataFile"](name,null,data,true,true,true);Module["removeRunDependency"](`fp ${name}`)}Module["removeRunDependency"]("datafile_fr_FR.data")}Module["addRunDependency"]("datafile_fr_FR.data");if(!Module["preloadResults"])Module["preloadResults"]={};Module["preloadResults"][PACKAGE_NAME]={fromCache:false};if(!fetched){fetched=await fetchPromise}processPackageData(fetched)}if(Module["calledRun"]){runWithFS(Module)}else{if(!Module["preRun"])Module["preRun"]=[];Module["preRun"].push(runWithFS)}}loadPackage({files:[{filename:"/resources_js/fr_FR/aspell/cp1250.cmap",start:0,end:31404},{filename:"/resources_js/fr_FR/aspell/cp1250.cset",start:31404,end:45618},{filename:"/resources_js/fr_FR/aspell/cp1251.cmap",start:45618,end:77516},{filename:"/resources_js/fr_FR/aspell/cp1251.cset",start:77516,end:91382},{filename:"/resources_js/fr_FR/aspell/cp1252.cmap",start:91382,end:122364},{filename:"/resources_js/fr_FR/aspell/cp1252.cset",start:122364,end:136403},{filename:"/resources_js/fr_FR/aspell/cp1253.cmap",start:136403,end:174992},{filename:"/resources_js/fr_FR/aspell/cp1253.cset",start:174992,end:188674},{filename:"/resources_js/fr_FR/aspell/cp1254.cmap",start:188674,end:219707},{filename:"/resources_js/fr_FR/aspell/cp1254.cset",start:219707,end:233751},{filename:"/resources_js/fr_FR/aspell/cp1255.cmap",start:233751,end:268884},{filename:"/resources_js/fr_FR/aspell/cp1255.cset",start:268884,end:281916},{filename:"/resources_js/fr_FR/aspell/cp1256.cmap",start:281916,end:326050},{filename:"/resources_js/fr_FR/aspell/cp1256.cset",start:326050,end:339357},{filename:"/resources_js/fr_FR/aspell/cp1257.cmap",start:339357,end:370592},{filename:"/resources_js/fr_FR/aspell/cp1257.cset",start:370592,end:384527},{filename:"/resources_js/fr_FR/aspell/cp1258.cmap",start:384527,end:418038},{filename:"/resources_js/fr_FR/aspell/cp1258.cset",start:418038,end:431958},{filename:"/resources_js/fr_FR/aspell/croatian.alias",start:431958,end:432030},{filename:"/resources_js/fr_FR/aspell/dvorak.kbd",start:432030,end:432128},{filename:"/resources_js/fr_FR/aspell/fr-40-only.rws",start:432128,end:6258864},{filename:"/resources_js/fr_FR/aspell/fr-40.multi",start:6258864,end:6258942},{filename:"/resources_js/fr_FR/aspell/fr-60-only.rws",start:6258942,end:17849678},{filename:"/resources_js/fr_FR/aspell/fr-60.multi",start:17849678,end:17849756},{filename:"/resources_js/fr_FR/aspell/fr-80-only.rws",start:17849756,end:18184636},{filename:"/resources_js/fr_FR/aspell/fr-80.multi",start:18184636,end:18184714},{filename:"/resources_js/fr_FR/aspell/fr-lrg.alias",start:18184714,end:18184792},{filename:"/resources_js/fr_FR/aspell/fr-med.alias",start:18184792,end:18184870},{filename:"/resources_js/fr_FR/aspell/fr-sml.alias",start:18184870,end:18184948},{filename:"/resources_js/fr_FR/aspell/fr.dat",start:18184948,end:18185074},{filename:"/resources_js/fr_FR/aspell/fr.multi",start:18185074,end:18185149},{filename:"/resources_js/fr_FR/aspell/fr_CH-40.multi",start:18185149,end:18185246},{filename:"/resources_js/fr_FR/aspell/fr_CH-60.multi",start:18185246,end:18185362},{filename:"/resources_js/fr_FR/aspell/fr_CH-80.multi",start:18185362,end:18185497},{filename:"/resources_js/fr_FR/aspell/fr_CH-lrg.alias",start:18185497,end:18185575},{filename:"/resources_js/fr_FR/aspell/fr_CH-med.alias",start:18185575,end:18185653},{filename:"/resources_js/fr_FR/aspell/fr_CH-only.rws",start:18185653,end:18188469},{filename:"/resources_js/fr_FR/aspell/fr_CH-sml.alias",start:18188469,end:18188547},{filename:"/resources_js/fr_FR/aspell/fr_CH.multi",start:18188547,end:18188625},{filename:"/resources_js/fr_FR/aspell/fr_FR-40.multi",start:18188625,end:18188703},{filename:"/resources_js/fr_FR/aspell/fr_FR-60.multi",start:18188703,end:18188800},{filename:"/resources_js/fr_FR/aspell/fr_FR-80.multi",start:18188800,end:18188916},{filename:"/resources_js/fr_FR/aspell/fr_FR-lrg.alias",start:18188916,end:18188994},{filename:"/resources_js/fr_FR/aspell/fr_FR-med.alias",start:18188994,end:18189072},{filename:"/resources_js/fr_FR/aspell/fr_FR-sml.alias",start:18189072,end:18189150},{filename:"/resources_js/fr_FR/aspell/fr_FR.multi",start:18189150,end:18189228},{filename:"/resources_js/fr_FR/aspell/fr_phonet.dat",start:18189228,end:18192159},{filename:"/resources_js/fr_FR/aspell/francais-40.alias",start:18192159,end:18192237},{filename:"/resources_js/fr_FR/aspell/francais-60.alias",start:18192237,end:18192315},{filename:"/resources_js/fr_FR/aspell/francais-80.alias",start:18192315,end:18192393},{filename:"/resources_js/fr_FR/aspell/francais-lrg.alias",start:18192393,end:18192471},{filename:"/resources_js/fr_FR/aspell/francais-med.alias",start:18192471,end:18192549},{filename:"/resources_js/fr_FR/aspell/francais-sml.alias",start:18192549,end:18192627},{filename:"/resources_js/fr_FR/aspell/francais.alias",start:18192627,end:18192702},{filename:"/resources_js/fr_FR/aspell/french-40.alias",start:18192702,end:18192780},{filename:"/resources_js/fr_FR/aspell/french-60.alias",start:18192780,end:18192858},{filename:"/resources_js/fr_FR/aspell/french-80.alias",start:18192858,end:18192936},{filename:"/resources_js/fr_FR/aspell/french-lrg.alias",start:18192936,end:18193014},{filename:"/resources_js/fr_FR/aspell/french-med.alias",start:18193014,end:18193092},{filename:"/resources_js/fr_FR/aspell/french-sml.alias",start:18193092,end:18193170},{filename:"/resources_js/fr_FR/aspell/french.alias",start:18193170,end:18193245},{filename:"/resources_js/fr_FR/aspell/iso-8859-1.cmap",start:18193245,end:18224139},{filename:"/resources_js/fr_FR/aspell/iso-8859-1.cset",start:18224139,end:18237987},{filename:"/resources_js/fr_FR/aspell/iso-8859-10.cmap",start:18237987,end:18269052},{filename:"/resources_js/fr_FR/aspell/iso-8859-10.cset",start:18269052,end:18283311},{filename:"/resources_js/fr_FR/aspell/iso-8859-11.cmap",start:18283311,end:18310434},{filename:"/resources_js/fr_FR/aspell/iso-8859-11.cset",start:18310434,end:18323672},{filename:"/resources_js/fr_FR/aspell/iso-8859-13.cmap",start:18323672,end:18354800},{filename:"/resources_js/fr_FR/aspell/iso-8859-13.cset",start:18354800,end:18368789},{filename:"/resources_js/fr_FR/aspell/iso-8859-14.cmap",start:18368789,end:18400222},{filename:"/resources_js/fr_FR/aspell/iso-8859-14.cset",start:18400222,end:18414601},{filename:"/resources_js/fr_FR/aspell/iso-8859-15.cmap",start:18414601,end:18445415},{filename:"/resources_js/fr_FR/aspell/iso-8859-15.cset",start:18445415,end:18459354},{filename:"/resources_js/fr_FR/aspell/iso-8859-16.cmap",start:18459354,end:18490173},{filename:"/resources_js/fr_FR/aspell/iso-8859-16.cset",start:18490173,end:18504457},{filename:"/resources_js/fr_FR/aspell/iso-8859-2.cmap",start:18504457,end:18535746},{filename:"/resources_js/fr_FR/aspell/iso-8859-2.cset",start:18535746,end:18549879},{filename:"/resources_js/fr_FR/aspell/iso-8859-3.cmap",start:18549879,end:18580828},{filename:"/resources_js/fr_FR/aspell/iso-8859-3.cset",start:18580828,end:18594800},{filename:"/resources_js/fr_FR/aspell/iso-8859-4.cmap",start:18594800,end:18625942},{filename:"/resources_js/fr_FR/aspell/iso-8859-4.cset",start:18625942,end:18640047},{filename:"/resources_js/fr_FR/aspell/iso-8859-5.cmap",start:18640047,end:18671811},{filename:"/resources_js/fr_FR/aspell/iso-8859-5.cset",start:18671811,end:18685560},{filename:"/resources_js/fr_FR/aspell/iso-8859-6.cmap",start:18685560,end:18726550},{filename:"/resources_js/fr_FR/aspell/iso-8859-6.cset",start:18726550,end:18739102},{filename:"/resources_js/fr_FR/aspell/iso-8859-7.cmap",start:18739102,end:18777640},{filename:"/resources_js/fr_FR/aspell/iso-8859-7.cset",start:18777640,end:18791279},{filename:"/resources_js/fr_FR/aspell/iso-8859-8.cmap",start:18791279,end:18819037},{filename:"/resources_js/fr_FR/aspell/iso-8859-8.cset",start:18819037,end:18831594},{filename:"/resources_js/fr_FR/aspell/iso-8859-9.cmap",start:18831594,end:18862614},{filename:"/resources_js/fr_FR/aspell/iso-8859-9.cset",start:18862614,end:18876499},{filename:"/resources_js/fr_FR/aspell/koi8-r.cmap",start:18876499,end:18907933},{filename:"/resources_js/fr_FR/aspell/koi8-r.cset",start:18907933,end:18921332},{filename:"/resources_js/fr_FR/aspell/koi8-u.cmap",start:18921332,end:18952908},{filename:"/resources_js/fr_FR/aspell/koi8-u.cset",start:18952908,end:18966469},{filename:"/resources_js/fr_FR/aspell/split.kbd",start:18966469,end:18966568},{filename:"/resources_js/fr_FR/aspell/standard.kbd",start:18966568,end:18966668},{filename:"/resources_js/fr_FR/aspell/suisse-40.alias",start:18966668,end:18966746},{filename:"/resources_js/fr_FR/aspell/suisse-60.alias",start:18966746,end:18966824},{filename:"/resources_js/fr_FR/aspell/suisse-80.alias",start:18966824,end:18966902},{filename:"/resources_js/fr_FR/aspell/suisse-lrg.alias",start:18966902,end:18966980},{filename:"/resources_js/fr_FR/aspell/suisse-med.alias",start:18966980,end:18967058},{filename:"/resources_js/fr_FR/aspell/suisse-sml.alias",start:18967058,end:18967136},{filename:"/resources_js/fr_FR/aspell/suisse.alias",start:18967136,end:18967211},{filename:"/resources_js/fr_FR/hunspell/fr_FR.aff",start:18967211,end:19167081},{filename:"/resources_js/fr_FR/hunspell/fr_FR.dic",start:19167081,end:20396214},{filename:"/resources_js/fr_FR/ngrams_db/ngrams.counts",start:20396214,end:21384954},{filename:"/resources_js/fr_FR/ngrams_db/ngrams.trie",start:21384954,end:22317498},{filename:"/resources_js/fr_FR/presage.xml",start:22317498,end:22320666}],remote_package_size:22320666})})();var Module=typeof Module!="undefined"?Module:{};if(!Module["expectedDataFileDownloads"])Module["expectedDataFileDownloads"]=0;Module["expectedDataFileDownloads"]++;(()=>{var isPthread=typeof ENVIRONMENT_IS_PTHREAD!="undefined"&&ENVIRONMENT_IS_PTHREAD;var isWasmWorker=typeof ENVIRONMENT_IS_WASM_WORKER!="undefined"&&ENVIRONMENT_IS_WASM_WORKER;if(isPthread||isWasmWorker)return;var isNode=globalThis.process&&globalThis.process.versions&&globalThis.process.versions.node&&globalThis.process.type!="renderer";async function loadPackage(metadata){var PACKAGE_PATH="";if(typeof window==="object"){PACKAGE_PATH=window["encodeURIComponent"](window.location.pathname.substring(0,window.location.pathname.lastIndexOf("/"))+"/")}else if(typeof process==="undefined"&&typeof location!=="undefined"){PACKAGE_PATH=encodeURIComponent(location.pathname.substring(0,location.pathname.lastIndexOf("/"))+"/")}var PACKAGE_NAME="hr_HR.data";var REMOTE_PACKAGE_BASE="hr_HR.data";var REMOTE_PACKAGE_NAME=Module["locateFile"]?Module["locateFile"](REMOTE_PACKAGE_BASE,""):REMOTE_PACKAGE_BASE;var REMOTE_PACKAGE_SIZE=metadata["remote_package_size"];async function fetchRemotePackage(packageName,packageSize){if(isNode){var contents=require("fs").readFileSync(packageName);return new Uint8Array(contents).buffer}if(!Module["dataFileDownloads"])Module["dataFileDownloads"]={};try{var response=await fetch(chrome.runtime.getURL("third_party/libpresage/"+packageName))}catch(e){throw new Error(`Network Error: ${packageName}`,{e})}if(!response.ok){throw new Error(`${response.status}: ${response.url}`)}const chunks=[];const headers=response.headers;const total=Number(headers.get("Content-Length")||packageSize);let loaded=0;Module["setStatus"]&&Module["setStatus"]("Downloading data...");const reader=response.body.getReader();while(1){var{done,value}=await reader.read();if(done)break;chunks.push(value);loaded+=value.length;Module["dataFileDownloads"][packageName]={loaded,total};let totalLoaded=0;let totalSize=0;for(const download of Object.values(Module["dataFileDownloads"])){totalLoaded+=download.loaded;totalSize+=download.total}Module["setStatus"]&&Module["setStatus"](`Downloading data... (${totalLoaded}/${totalSize})`)}const packageData=new Uint8Array(chunks.map(c=>c.length).reduce((a,b)=>a+b,0));let offset=0;for(const chunk of chunks){packageData.set(chunk,offset);offset+=chunk.length}return packageData.buffer}var fetchPromise;var fetched=Module["getPreloadedPackage"]&&Module["getPreloadedPackage"](REMOTE_PACKAGE_NAME,REMOTE_PACKAGE_SIZE);if(!fetched){fetchPromise=fetchRemotePackage(REMOTE_PACKAGE_NAME,REMOTE_PACKAGE_SIZE)}async function runWithFS(Module){function assert(check,msg){if(!check)throw new Error(msg)}Module["FS_createPath"]("/","resources_js",true,true);Module["FS_createPath"]("/resources_js","hr_HR",true,true);Module["FS_createPath"]("/resources_js/hr_HR","aspell",true,true);Module["FS_createPath"]("/resources_js/hr_HR","hunspell",true,true);Module["FS_createPath"]("/resources_js/hr_HR","ngrams_db",true,true);for(var file of metadata["files"]){var name=file["filename"];Module["addRunDependency"](`fp ${name}`)}async function processPackageData(arrayBuffer){assert(arrayBuffer,"Loading data file failed.");assert(arrayBuffer.constructor.name===ArrayBuffer.name,"bad input to processPackageData "+arrayBuffer.constructor.name);var byteArray=new Uint8Array(arrayBuffer);for(var file of metadata["files"]){var name=file["filename"];var data=byteArray.subarray(file["start"],file["end"]);Module["FS_createDataFile"](name,null,data,true,true,true);Module["removeRunDependency"](`fp ${name}`)}Module["removeRunDependency"]("datafile_hr_HR.data")}Module["addRunDependency"]("datafile_hr_HR.data");if(!Module["preloadResults"])Module["preloadResults"]={};Module["preloadResults"][PACKAGE_NAME]={fromCache:false};if(!fetched){fetched=await fetchPromise}processPackageData(fetched)}if(Module["calledRun"]){runWithFS(Module)}else{if(!Module["preRun"])Module["preRun"]=[];Module["preRun"].push(runWithFS)}}loadPackage({files:[{filename:"/resources_js/hr_HR/aspell/cp1250.cmap",start:0,end:31404},{filename:"/resources_js/hr_HR/aspell/cp1250.cset",start:31404,end:45618},{filename:"/resources_js/hr_HR/aspell/cp1251.cmap",start:45618,end:77516},{filename:"/resources_js/hr_HR/aspell/cp1251.cset",start:77516,end:91382},{filename:"/resources_js/hr_HR/aspell/cp1252.cmap",start:91382,end:122364},{filename:"/resources_js/hr_HR/aspell/cp1252.cset",start:122364,end:136403},{filename:"/resources_js/hr_HR/aspell/cp1253.cmap",start:136403,end:174992},{filename:"/resources_js/hr_HR/aspell/cp1253.cset",start:174992,end:188674},{filename:"/resources_js/hr_HR/aspell/cp1254.cmap",start:188674,end:219707},{filename:"/resources_js/hr_HR/aspell/cp1254.cset",start:219707,end:233751},{filename:"/resources_js/hr_HR/aspell/cp1255.cmap",start:233751,end:268884},{filename:"/resources_js/hr_HR/aspell/cp1255.cset",start:268884,end:281916},{filename:"/resources_js/hr_HR/aspell/cp1256.cmap",start:281916,end:326050},{filename:"/resources_js/hr_HR/aspell/cp1256.cset",start:326050,end:339357},{filename:"/resources_js/hr_HR/aspell/cp1257.cmap",start:339357,end:370592},{filename:"/resources_js/hr_HR/aspell/cp1257.cset",start:370592,end:384527},{filename:"/resources_js/hr_HR/aspell/cp1258.cmap",start:384527,end:418038},{filename:"/resources_js/hr_HR/aspell/cp1258.cset",start:418038,end:431958},{filename:"/resources_js/hr_HR/aspell/croatian.alias",start:431958,end:432030},{filename:"/resources_js/hr_HR/aspell/dvorak.kbd",start:432030,end:432128},{filename:"/resources_js/hr_HR/aspell/hr.dat",start:432128,end:432243},{filename:"/resources_js/hr_HR/aspell/hr.multi",start:432243,end:432313},{filename:"/resources_js/hr_HR/aspell/hr.rws",start:432313,end:7313881},{filename:"/resources_js/hr_HR/aspell/iso-8859-1.cmap",start:7313881,end:7344775},{filename:"/resources_js/hr_HR/aspell/iso-8859-1.cset",start:7344775,end:7358623},{filename:"/resources_js/hr_HR/aspell/iso-8859-10.cmap",start:7358623,end:7389688},{filename:"/resources_js/hr_HR/aspell/iso-8859-10.cset",start:7389688,end:7403947},{filename:"/resources_js/hr_HR/aspell/iso-8859-11.cmap",start:7403947,end:7431070},{filename:"/resources_js/hr_HR/aspell/iso-8859-11.cset",start:7431070,end:7444308},{filename:"/resources_js/hr_HR/aspell/iso-8859-13.cmap",start:7444308,end:7475436},{filename:"/resources_js/hr_HR/aspell/iso-8859-13.cset",start:7475436,end:7489425},{filename:"/resources_js/hr_HR/aspell/iso-8859-14.cmap",start:7489425,end:7520858},{filename:"/resources_js/hr_HR/aspell/iso-8859-14.cset",start:7520858,end:7535237},{filename:"/resources_js/hr_HR/aspell/iso-8859-15.cmap",start:7535237,end:7566051},{filename:"/resources_js/hr_HR/aspell/iso-8859-15.cset",start:7566051,end:7579990},{filename:"/resources_js/hr_HR/aspell/iso-8859-16.cmap",start:7579990,end:7610809},{filename:"/resources_js/hr_HR/aspell/iso-8859-16.cset",start:7610809,end:7625093},{filename:"/resources_js/hr_HR/aspell/iso-8859-2.cmap",start:7625093,end:7656382},{filename:"/resources_js/hr_HR/aspell/iso-8859-2.cset",start:7656382,end:7670515},{filename:"/resources_js/hr_HR/aspell/iso-8859-3.cmap",start:7670515,end:7701464},{filename:"/resources_js/hr_HR/aspell/iso-8859-3.cset",start:7701464,end:7715436},{filename:"/resources_js/hr_HR/aspell/iso-8859-4.cmap",start:7715436,end:7746578},{filename:"/resources_js/hr_HR/aspell/iso-8859-4.cset",start:7746578,end:7760683},{filename:"/resources_js/hr_HR/aspell/iso-8859-5.cmap",start:7760683,end:7792447},{filename:"/resources_js/hr_HR/aspell/iso-8859-5.cset",start:7792447,end:7806196},{filename:"/resources_js/hr_HR/aspell/iso-8859-6.cmap",start:7806196,end:7847186},{filename:"/resources_js/hr_HR/aspell/iso-8859-6.cset",start:7847186,end:7859738},{filename:"/resources_js/hr_HR/aspell/iso-8859-7.cmap",start:7859738,end:7898276},{filename:"/resources_js/hr_HR/aspell/iso-8859-7.cset",start:7898276,end:7911915},{filename:"/resources_js/hr_HR/aspell/iso-8859-8.cmap",start:7911915,end:7939673},{filename:"/resources_js/hr_HR/aspell/iso-8859-8.cset",start:7939673,end:7952230},{filename:"/resources_js/hr_HR/aspell/iso-8859-9.cmap",start:7952230,end:7983250},{filename:"/resources_js/hr_HR/aspell/iso-8859-9.cset",start:7983250,end:7997135},{filename:"/resources_js/hr_HR/aspell/koi8-r.cmap",start:7997135,end:8028569},{filename:"/resources_js/hr_HR/aspell/koi8-r.cset",start:8028569,end:8041968},{filename:"/resources_js/hr_HR/aspell/koi8-u.cmap",start:8041968,end:8073544},{filename:"/resources_js/hr_HR/aspell/koi8-u.cset",start:8073544,end:8087105},{filename:"/resources_js/hr_HR/aspell/split.kbd",start:8087105,end:8087204},{filename:"/resources_js/hr_HR/aspell/standard.kbd",start:8087204,end:8087304},{filename:"/resources_js/hr_HR/hunspell/hr_HR.aff",start:8087304,end:8183403},{filename:"/resources_js/hr_HR/hunspell/hr_HR.dic",start:8183403,end:8915992},{filename:"/resources_js/hr_HR/ngrams_db/ngrams.counts",start:8915992,end:14926808},{filename:"/resources_js/hr_HR/ngrams_db/ngrams.trie",start:14926808,end:20403272},{filename:"/resources_js/hr_HR/presage.xml",start:20403272,end:20406437}],remote_package_size:20406437})})();var Module=typeof Module!="undefined"?Module:{};if(!Module["expectedDataFileDownloads"])Module["expectedDataFileDownloads"]=0;Module["expectedDataFileDownloads"]++;(()=>{var isPthread=typeof ENVIRONMENT_IS_PTHREAD!="undefined"&&ENVIRONMENT_IS_PTHREAD;var isWasmWorker=typeof ENVIRONMENT_IS_WASM_WORKER!="undefined"&&ENVIRONMENT_IS_WASM_WORKER;if(isPthread||isWasmWorker)return;var isNode=globalThis.process&&globalThis.process.versions&&globalThis.process.versions.node&&globalThis.process.type!="renderer";async function loadPackage(metadata){var PACKAGE_PATH="";if(typeof window==="object"){PACKAGE_PATH=window["encodeURIComponent"](window.location.pathname.substring(0,window.location.pathname.lastIndexOf("/"))+"/")}else if(typeof process==="undefined"&&typeof location!=="undefined"){PACKAGE_PATH=encodeURIComponent(location.pathname.substring(0,location.pathname.lastIndexOf("/"))+"/")}var PACKAGE_NAME="pl_PL.data";var REMOTE_PACKAGE_BASE="pl_PL.data";var REMOTE_PACKAGE_NAME=Module["locateFile"]?Module["locateFile"](REMOTE_PACKAGE_BASE,""):REMOTE_PACKAGE_BASE;var REMOTE_PACKAGE_SIZE=metadata["remote_package_size"];async function fetchRemotePackage(packageName,packageSize){if(isNode){var contents=require("fs").readFileSync(packageName);return new Uint8Array(contents).buffer}if(!Module["dataFileDownloads"])Module["dataFileDownloads"]={};try{var response=await fetch(chrome.runtime.getURL("third_party/libpresage/"+packageName))}catch(e){throw new Error(`Network Error: ${packageName}`,{e})}if(!response.ok){throw new Error(`${response.status}: ${response.url}`)}const chunks=[];const headers=response.headers;const total=Number(headers.get("Content-Length")||packageSize);let loaded=0;Module["setStatus"]&&Module["setStatus"]("Downloading data...");const reader=response.body.getReader();while(1){var{done,value}=await reader.read();if(done)break;chunks.push(value);loaded+=value.length;Module["dataFileDownloads"][packageName]={loaded,total};let totalLoaded=0;let totalSize=0;for(const download of Object.values(Module["dataFileDownloads"])){totalLoaded+=download.loaded;totalSize+=download.total}Module["setStatus"]&&Module["setStatus"](`Downloading data... (${totalLoaded}/${totalSize})`)}const packageData=new Uint8Array(chunks.map(c=>c.length).reduce((a,b)=>a+b,0));let offset=0;for(const chunk of chunks){packageData.set(chunk,offset);offset+=chunk.length}return packageData.buffer}var fetchPromise;var fetched=Module["getPreloadedPackage"]&&Module["getPreloadedPackage"](REMOTE_PACKAGE_NAME,REMOTE_PACKAGE_SIZE);if(!fetched){fetchPromise=fetchRemotePackage(REMOTE_PACKAGE_NAME,REMOTE_PACKAGE_SIZE)}async function runWithFS(Module){function assert(check,msg){if(!check)throw new Error(msg)}Module["FS_createPath"]("/","resources_js",true,true);Module["FS_createPath"]("/resources_js","pl_PL",true,true);Module["FS_createPath"]("/resources_js/pl_PL","aspell",true,true);Module["FS_createPath"]("/resources_js/pl_PL","hunspell",true,true);Module["FS_createPath"]("/resources_js/pl_PL","ngrams_db",true,true);for(var file of metadata["files"]){var name=file["filename"];Module["addRunDependency"](`fp ${name}`)}async function processPackageData(arrayBuffer){assert(arrayBuffer,"Loading data file failed.");assert(arrayBuffer.constructor.name===ArrayBuffer.name,"bad input to processPackageData "+arrayBuffer.constructor.name);var byteArray=new Uint8Array(arrayBuffer);for(var file of metadata["files"]){var name=file["filename"];var data=byteArray.subarray(file["start"],file["end"]);Module["FS_createDataFile"](name,null,data,true,true,true);Module["removeRunDependency"](`fp ${name}`)}Module["removeRunDependency"]("datafile_pl_PL.data")}Module["addRunDependency"]("datafile_pl_PL.data");if(!Module["preloadResults"])Module["preloadResults"]={};Module["preloadResults"][PACKAGE_NAME]={fromCache:false};if(!fetched){fetched=await fetchPromise}processPackageData(fetched)}if(Module["calledRun"]){runWithFS(Module)}else{if(!Module["preRun"])Module["preRun"]=[];Module["preRun"].push(runWithFS)}}loadPackage({files:[{filename:"/resources_js/pl_PL/aspell/cp1250.cmap",start:0,end:31404},{filename:"/resources_js/pl_PL/aspell/cp1250.cset",start:31404,end:45618},{filename:"/resources_js/pl_PL/aspell/cp1251.cmap",start:45618,end:77516},{filename:"/resources_js/pl_PL/aspell/cp1251.cset",start:77516,end:91382},{filename:"/resources_js/pl_PL/aspell/cp1252.cmap",start:91382,end:122364},{filename:"/resources_js/pl_PL/aspell/cp1252.cset",start:122364,end:136403},{filename:"/resources_js/pl_PL/aspell/cp1253.cmap",start:136403,end:174992},{filename:"/resources_js/pl_PL/aspell/cp1253.cset",start:174992,end:188674},{filename:"/resources_js/pl_PL/aspell/cp1254.cmap",start:188674,end:219707},{filename:"/resources_js/pl_PL/aspell/cp1254.cset",start:219707,end:233751},{filename:"/resources_js/pl_PL/aspell/cp1255.cmap",start:233751,end:268884},{filename:"/resources_js/pl_PL/aspell/cp1255.cset",start:268884,end:281916},{filename:"/resources_js/pl_PL/aspell/cp1256.cmap",start:281916,end:326050},{filename:"/resources_js/pl_PL/aspell/cp1256.cset",start:326050,end:339357},{filename:"/resources_js/pl_PL/aspell/cp1257.cmap",start:339357,end:370592},{filename:"/resources_js/pl_PL/aspell/cp1257.cset",start:370592,end:384527},{filename:"/resources_js/pl_PL/aspell/cp1258.cmap",start:384527,end:418038},{filename:"/resources_js/pl_PL/aspell/cp1258.cset",start:418038,end:431958},{filename:"/resources_js/pl_PL/aspell/croatian.alias",start:431958,end:432030},{filename:"/resources_js/pl_PL/aspell/dvorak.kbd",start:432030,end:432128},{filename:"/resources_js/pl_PL/aspell/iso-8859-1.cmap",start:432128,end:463022},{filename:"/resources_js/pl_PL/aspell/iso-8859-1.cset",start:463022,end:476870},{filename:"/resources_js/pl_PL/aspell/iso-8859-10.cmap",start:476870,end:507935},{filename:"/resources_js/pl_PL/aspell/iso-8859-10.cset",start:507935,end:522194},{filename:"/resources_js/pl_PL/aspell/iso-8859-11.cmap",start:522194,end:549317},{filename:"/resources_js/pl_PL/aspell/iso-8859-11.cset",start:549317,end:562555},{filename:"/resources_js/pl_PL/aspell/iso-8859-13.cmap",start:562555,end:593683},{filename:"/resources_js/pl_PL/aspell/iso-8859-13.cset",start:593683,end:607672},{filename:"/resources_js/pl_PL/aspell/iso-8859-14.cmap",start:607672,end:639105},{filename:"/resources_js/pl_PL/aspell/iso-8859-14.cset",start:639105,end:653484},{filename:"/resources_js/pl_PL/aspell/iso-8859-15.cmap",start:653484,end:684298},{filename:"/resources_js/pl_PL/aspell/iso-8859-15.cset",start:684298,end:698237},{filename:"/resources_js/pl_PL/aspell/iso-8859-16.cmap",start:698237,end:729056},{filename:"/resources_js/pl_PL/aspell/iso-8859-16.cset",start:729056,end:743340},{filename:"/resources_js/pl_PL/aspell/iso-8859-2.cmap",start:743340,end:774629},{filename:"/resources_js/pl_PL/aspell/iso-8859-2.cset",start:774629,end:788762},{filename:"/resources_js/pl_PL/aspell/iso-8859-3.cmap",start:788762,end:819711},{filename:"/resources_js/pl_PL/aspell/iso-8859-3.cset",start:819711,end:833683},{filename:"/resources_js/pl_PL/aspell/iso-8859-4.cmap",start:833683,end:864825},{filename:"/resources_js/pl_PL/aspell/iso-8859-4.cset",start:864825,end:878930},{filename:"/resources_js/pl_PL/aspell/iso-8859-5.cmap",start:878930,end:910694},{filename:"/resources_js/pl_PL/aspell/iso-8859-5.cset",start:910694,end:924443},{filename:"/resources_js/pl_PL/aspell/iso-8859-6.cmap",start:924443,end:965433},{filename:"/resources_js/pl_PL/aspell/iso-8859-6.cset",start:965433,end:977985},{filename:"/resources_js/pl_PL/aspell/iso-8859-7.cmap",start:977985,end:1016523},{filename:"/resources_js/pl_PL/aspell/iso-8859-7.cset",start:1016523,end:1030162},{filename:"/resources_js/pl_PL/aspell/iso-8859-8.cmap",start:1030162,end:1057920},{filename:"/resources_js/pl_PL/aspell/iso-8859-8.cset",start:1057920,end:1070477},{filename:"/resources_js/pl_PL/aspell/iso-8859-9.cmap",start:1070477,end:1101497},{filename:"/resources_js/pl_PL/aspell/iso-8859-9.cset",start:1101497,end:1115382},{filename:"/resources_js/pl_PL/aspell/koi8-r.cmap",start:1115382,end:1146816},{filename:"/resources_js/pl_PL/aspell/koi8-r.cset",start:1146816,end:1160215},{filename:"/resources_js/pl_PL/aspell/koi8-u.cmap",start:1160215,end:1191791},{filename:"/resources_js/pl_PL/aspell/koi8-u.cset",start:1191791,end:1205352},{filename:"/resources_js/pl_PL/aspell/pl.dat",start:1205352,end:1205423},{filename:"/resources_js/pl_PL/aspell/pl.multi",start:1205423,end:1205493},{filename:"/resources_js/pl_PL/aspell/pl.rws",start:1205493,end:8336709},{filename:"/resources_js/pl_PL/aspell/pl_affix.dat",start:8336709,end:8581751},{filename:"/resources_js/pl_PL/aspell/polish.alias",start:8581751,end:8581823},{filename:"/resources_js/pl_PL/aspell/split.kbd",start:8581823,end:8581922},{filename:"/resources_js/pl_PL/aspell/standard.kbd",start:8581922,end:8582022},{filename:"/resources_js/pl_PL/hunspell/pl_PL.aff",start:8582022,end:8850846},{filename:"/resources_js/pl_PL/hunspell/pl_PL.dic",start:8850846,end:13534425},{filename:"/resources_js/pl_PL/ngrams_db/ngrams.counts",start:13534425,end:15697577},{filename:"/resources_js/pl_PL/ngrams_db/ngrams.trie",start:15697577,end:18066569},{filename:"/resources_js/pl_PL/presage.xml",start:18066569,end:18069734}],remote_package_size:18069734})})();var Module=typeof Module!="undefined"?Module:{};if(!Module["expectedDataFileDownloads"])Module["expectedDataFileDownloads"]=0;Module["expectedDataFileDownloads"]++;(()=>{var isPthread=typeof ENVIRONMENT_IS_PTHREAD!="undefined"&&ENVIRONMENT_IS_PTHREAD;var isWasmWorker=typeof ENVIRONMENT_IS_WASM_WORKER!="undefined"&&ENVIRONMENT_IS_WASM_WORKER;if(isPthread||isWasmWorker)return;var isNode=globalThis.process&&globalThis.process.versions&&globalThis.process.versions.node&&globalThis.process.type!="renderer";async function loadPackage(metadata){var PACKAGE_PATH="";if(typeof window==="object"){PACKAGE_PATH=window["encodeURIComponent"](window.location.pathname.substring(0,window.location.pathname.lastIndexOf("/"))+"/")}else if(typeof process==="undefined"&&typeof location!=="undefined"){PACKAGE_PATH=encodeURIComponent(location.pathname.substring(0,location.pathname.lastIndexOf("/"))+"/")}var PACKAGE_NAME="pt_BR.data";var REMOTE_PACKAGE_BASE="pt_BR.data";var REMOTE_PACKAGE_NAME=Module["locateFile"]?Module["locateFile"](REMOTE_PACKAGE_BASE,""):REMOTE_PACKAGE_BASE;var REMOTE_PACKAGE_SIZE=metadata["remote_package_size"];async function fetchRemotePackage(packageName,packageSize){if(isNode){var contents=require("fs").readFileSync(packageName);return new Uint8Array(contents).buffer}if(!Module["dataFileDownloads"])Module["dataFileDownloads"]={};try{var response=await fetch(chrome.runtime.getURL("third_party/libpresage/"+packageName))}catch(e){throw new Error(`Network Error: ${packageName}`,{e})}if(!response.ok){throw new Error(`${response.status}: ${response.url}`)}const chunks=[];const headers=response.headers;const total=Number(headers.get("Content-Length")||packageSize);let loaded=0;Module["setStatus"]&&Module["setStatus"]("Downloading data...");const reader=response.body.getReader();while(1){var{done,value}=await reader.read();if(done)break;chunks.push(value);loaded+=value.length;Module["dataFileDownloads"][packageName]={loaded,total};let totalLoaded=0;let totalSize=0;for(const download of Object.values(Module["dataFileDownloads"])){totalLoaded+=download.loaded;totalSize+=download.total}Module["setStatus"]&&Module["setStatus"](`Downloading data... (${totalLoaded}/${totalSize})`)}const packageData=new Uint8Array(chunks.map(c=>c.length).reduce((a,b)=>a+b,0));let offset=0;for(const chunk of chunks){packageData.set(chunk,offset);offset+=chunk.length}return packageData.buffer}var fetchPromise;var fetched=Module["getPreloadedPackage"]&&Module["getPreloadedPackage"](REMOTE_PACKAGE_NAME,REMOTE_PACKAGE_SIZE);if(!fetched){fetchPromise=fetchRemotePackage(REMOTE_PACKAGE_NAME,REMOTE_PACKAGE_SIZE)}async function runWithFS(Module){function assert(check,msg){if(!check)throw new Error(msg)}Module["FS_createPath"]("/","resources_js",true,true);Module["FS_createPath"]("/resources_js","pt_BR",true,true);Module["FS_createPath"]("/resources_js/pt_BR","aspell",true,true);Module["FS_createPath"]("/resources_js/pt_BR","hunspell",true,true);Module["FS_createPath"]("/resources_js/pt_BR","ngrams_db",true,true);for(var file of metadata["files"]){var name=file["filename"];Module["addRunDependency"](`fp ${name}`)}async function processPackageData(arrayBuffer){assert(arrayBuffer,"Loading data file failed.");assert(arrayBuffer.constructor.name===ArrayBuffer.name,"bad input to processPackageData "+arrayBuffer.constructor.name);var byteArray=new Uint8Array(arrayBuffer);for(var file of metadata["files"]){var name=file["filename"];var data=byteArray.subarray(file["start"],file["end"]);Module["FS_createDataFile"](name,null,data,true,true,true);Module["removeRunDependency"](`fp ${name}`)}Module["removeRunDependency"]("datafile_pt_BR.data")}Module["addRunDependency"]("datafile_pt_BR.data");if(!Module["preloadResults"])Module["preloadResults"]={};Module["preloadResults"][PACKAGE_NAME]={fromCache:false};if(!fetched){fetched=await fetchPromise}processPackageData(fetched)}if(Module["calledRun"]){runWithFS(Module)}else{if(!Module["preRun"])Module["preRun"]=[];Module["preRun"].push(runWithFS)}}loadPackage({files:[{filename:"/resources_js/pt_BR/aspell/br-abnt2.kbd",start:0,end:172},{filename:"/resources_js/pt_BR/aspell/brasileiro.alias",start:172,end:247},{filename:"/resources_js/pt_BR/aspell/brazilian.alias",start:247,end:322},{filename:"/resources_js/pt_BR/aspell/cp1250.cmap",start:322,end:31726},{filename:"/resources_js/pt_BR/aspell/cp1250.cset",start:31726,end:45940},{filename:"/resources_js/pt_BR/aspell/cp1251.cmap",start:45940,end:77838},{filename:"/resources_js/pt_BR/aspell/cp1251.cset",start:77838,end:91704},{filename:"/resources_js/pt_BR/aspell/cp1252.cmap",start:91704,end:122686},{filename:"/resources_js/pt_BR/aspell/cp1252.cset",start:122686,end:136725},{filename:"/resources_js/pt_BR/aspell/cp1253.cmap",start:136725,end:175314},{filename:"/resources_js/pt_BR/aspell/cp1253.cset",start:175314,end:188996},{filename:"/resources_js/pt_BR/aspell/cp1254.cmap",start:188996,end:220029},{filename:"/resources_js/pt_BR/aspell/cp1254.cset",start:220029,end:234073},{filename:"/resources_js/pt_BR/aspell/cp1255.cmap",start:234073,end:269206},{filename:"/resources_js/pt_BR/aspell/cp1255.cset",start:269206,end:282238},{filename:"/resources_js/pt_BR/aspell/cp1256.cmap",start:282238,end:326372},{filename:"/resources_js/pt_BR/aspell/cp1256.cset",start:326372,end:339679},{filename:"/resources_js/pt_BR/aspell/cp1257.cmap",start:339679,end:370914},{filename:"/resources_js/pt_BR/aspell/cp1257.cset",start:370914,end:384849},{filename:"/resources_js/pt_BR/aspell/cp1258.cmap",start:384849,end:418360},{filename:"/resources_js/pt_BR/aspell/cp1258.cset",start:418360,end:432280},{filename:"/resources_js/pt_BR/aspell/croatian.alias",start:432280,end:432352},{filename:"/resources_js/pt_BR/aspell/dvorak.kbd",start:432352,end:432450},{filename:"/resources_js/pt_BR/aspell/iso-8859-1.cmap",start:432450,end:463344},{filename:"/resources_js/pt_BR/aspell/iso-8859-1.cset",start:463344,end:477192},{filename:"/resources_js/pt_BR/aspell/iso-8859-10.cmap",start:477192,end:508257},{filename:"/resources_js/pt_BR/aspell/iso-8859-10.cset",start:508257,end:522516},{filename:"/resources_js/pt_BR/aspell/iso-8859-11.cmap",start:522516,end:549639},{filename:"/resources_js/pt_BR/aspell/iso-8859-11.cset",start:549639,end:562877},{filename:"/resources_js/pt_BR/aspell/iso-8859-13.cmap",start:562877,end:594005},{filename:"/resources_js/pt_BR/aspell/iso-8859-13.cset",start:594005,end:607994},{filename:"/resources_js/pt_BR/aspell/iso-8859-14.cmap",start:607994,end:639427},{filename:"/resources_js/pt_BR/aspell/iso-8859-14.cset",start:639427,end:653806},{filename:"/resources_js/pt_BR/aspell/iso-8859-15.cmap",start:653806,end:684620},{filename:"/resources_js/pt_BR/aspell/iso-8859-15.cset",start:684620,end:698559},{filename:"/resources_js/pt_BR/aspell/iso-8859-16.cmap",start:698559,end:729378},{filename:"/resources_js/pt_BR/aspell/iso-8859-16.cset",start:729378,end:743662},{filename:"/resources_js/pt_BR/aspell/iso-8859-2.cmap",start:743662,end:774951},{filename:"/resources_js/pt_BR/aspell/iso-8859-2.cset",start:774951,end:789084},{filename:"/resources_js/pt_BR/aspell/iso-8859-3.cmap",start:789084,end:820033},{filename:"/resources_js/pt_BR/aspell/iso-8859-3.cset",start:820033,end:834005},{filename:"/resources_js/pt_BR/aspell/iso-8859-4.cmap",start:834005,end:865147},{filename:"/resources_js/pt_BR/aspell/iso-8859-4.cset",start:865147,end:879252},{filename:"/resources_js/pt_BR/aspell/iso-8859-5.cmap",start:879252,end:911016},{filename:"/resources_js/pt_BR/aspell/iso-8859-5.cset",start:911016,end:924765},{filename:"/resources_js/pt_BR/aspell/iso-8859-6.cmap",start:924765,end:965755},{filename:"/resources_js/pt_BR/aspell/iso-8859-6.cset",start:965755,end:978307},{filename:"/resources_js/pt_BR/aspell/iso-8859-7.cmap",start:978307,end:1016845},{filename:"/resources_js/pt_BR/aspell/iso-8859-7.cset",start:1016845,end:1030484},{filename:"/resources_js/pt_BR/aspell/iso-8859-8.cmap",start:1030484,end:1058242},{filename:"/resources_js/pt_BR/aspell/iso-8859-8.cset",start:1058242,end:1070799},{filename:"/resources_js/pt_BR/aspell/iso-8859-9.cmap",start:1070799,end:1101819},{filename:"/resources_js/pt_BR/aspell/iso-8859-9.cset",start:1101819,end:1115704},{filename:"/resources_js/pt_BR/aspell/koi8-r.cmap",start:1115704,end:1147138},{filename:"/resources_js/pt_BR/aspell/koi8-r.cset",start:1147138,end:1160537},{filename:"/resources_js/pt_BR/aspell/koi8-u.cmap",start:1160537,end:1192113},{filename:"/resources_js/pt_BR/aspell/koi8-u.cset",start:1192113,end:1205674},{filename:"/resources_js/pt_BR/aspell/pt_BR.dat",start:1205674,end:1205883},{filename:"/resources_js/pt_BR/aspell/pt_BR.multi",start:1205883,end:1205956},{filename:"/resources_js/pt_BR/aspell/pt_BR.rws",start:1205956,end:8351076},{filename:"/resources_js/pt_BR/aspell/pt_BR_affix.dat",start:8351076,end:9322990},{filename:"/resources_js/pt_BR/aspell/split.kbd",start:9322990,end:9323089},{filename:"/resources_js/pt_BR/aspell/standard.kbd",start:9323089,end:9323189},{filename:"/resources_js/pt_BR/hunspell/pt_BR.aff",start:9323189,end:10322411},{filename:"/resources_js/pt_BR/hunspell/pt_BR.dic",start:10322411,end:14964671},{filename:"/resources_js/pt_BR/ngrams_db/ngrams.counts",start:14964671,end:15681687},{filename:"/resources_js/pt_BR/ngrams_db/ngrams.trie",start:15681687,end:16369463},{filename:"/resources_js/pt_BR/presage.xml",start:16369463,end:16372631}],remote_package_size:16372631})})();var Module=typeof Module!="undefined"?Module:{};if(!Module["expectedDataFileDownloads"])Module["expectedDataFileDownloads"]=0;Module["expectedDataFileDownloads"]++;(()=>{var isPthread=typeof ENVIRONMENT_IS_PTHREAD!="undefined"&&ENVIRONMENT_IS_PTHREAD;var isWasmWorker=typeof ENVIRONMENT_IS_WASM_WORKER!="undefined"&&ENVIRONMENT_IS_WASM_WORKER;if(isPthread||isWasmWorker)return;var isNode=globalThis.process&&globalThis.process.versions&&globalThis.process.versions.node&&globalThis.process.type!="renderer";async function loadPackage(metadata){var PACKAGE_PATH="";if(typeof window==="object"){PACKAGE_PATH=window["encodeURIComponent"](window.location.pathname.substring(0,window.location.pathname.lastIndexOf("/"))+"/")}else if(typeof process==="undefined"&&typeof location!=="undefined"){PACKAGE_PATH=encodeURIComponent(location.pathname.substring(0,location.pathname.lastIndexOf("/"))+"/")}var PACKAGE_NAME="sv_SE.data";var REMOTE_PACKAGE_BASE="sv_SE.data";var REMOTE_PACKAGE_NAME=Module["locateFile"]?Module["locateFile"](REMOTE_PACKAGE_BASE,""):REMOTE_PACKAGE_BASE;var REMOTE_PACKAGE_SIZE=metadata["remote_package_size"];async function fetchRemotePackage(packageName,packageSize){if(isNode){var contents=require("fs").readFileSync(packageName);return new Uint8Array(contents).buffer}if(!Module["dataFileDownloads"])Module["dataFileDownloads"]={};try{var response=await fetch(chrome.runtime.getURL("third_party/libpresage/"+packageName))}catch(e){throw new Error(`Network Error: ${packageName}`,{e})}if(!response.ok){throw new Error(`${response.status}: ${response.url}`)}const chunks=[];const headers=response.headers;const total=Number(headers.get("Content-Length")||packageSize);let loaded=0;Module["setStatus"]&&Module["setStatus"]("Downloading data...");const reader=response.body.getReader();while(1){var{done,value}=await reader.read();if(done)break;chunks.push(value);loaded+=value.length;Module["dataFileDownloads"][packageName]={loaded,total};let totalLoaded=0;let totalSize=0;for(const download of Object.values(Module["dataFileDownloads"])){totalLoaded+=download.loaded;totalSize+=download.total}Module["setStatus"]&&Module["setStatus"](`Downloading data... (${totalLoaded}/${totalSize})`)}const packageData=new Uint8Array(chunks.map(c=>c.length).reduce((a,b)=>a+b,0));let offset=0;for(const chunk of chunks){packageData.set(chunk,offset);offset+=chunk.length}return packageData.buffer}var fetchPromise;var fetched=Module["getPreloadedPackage"]&&Module["getPreloadedPackage"](REMOTE_PACKAGE_NAME,REMOTE_PACKAGE_SIZE);if(!fetched){fetchPromise=fetchRemotePackage(REMOTE_PACKAGE_NAME,REMOTE_PACKAGE_SIZE)}async function runWithFS(Module){function assert(check,msg){if(!check)throw new Error(msg)}Module["FS_createPath"]("/","resources_js",true,true);Module["FS_createPath"]("/resources_js","sv_SE",true,true);Module["FS_createPath"]("/resources_js/sv_SE","aspell",true,true);Module["FS_createPath"]("/resources_js/sv_SE","hunspell",true,true);Module["FS_createPath"]("/resources_js/sv_SE","ngrams_db",true,true);for(var file of metadata["files"]){var name=file["filename"];Module["addRunDependency"](`fp ${name}`)}async function processPackageData(arrayBuffer){assert(arrayBuffer,"Loading data file failed.");assert(arrayBuffer.constructor.name===ArrayBuffer.name,"bad input to processPackageData "+arrayBuffer.constructor.name);var byteArray=new Uint8Array(arrayBuffer);for(var file of metadata["files"]){var name=file["filename"];var data=byteArray.subarray(file["start"],file["end"]);Module["FS_createDataFile"](name,null,data,true,true,true);Module["removeRunDependency"](`fp ${name}`)}Module["removeRunDependency"]("datafile_sv_SE.data")}Module["addRunDependency"]("datafile_sv_SE.data");if(!Module["preloadResults"])Module["preloadResults"]={};Module["preloadResults"][PACKAGE_NAME]={fromCache:false};if(!fetched){fetched=await fetchPromise}processPackageData(fetched)}if(Module["calledRun"]){runWithFS(Module)}else{if(!Module["preRun"])Module["preRun"]=[];Module["preRun"].push(runWithFS)}}loadPackage({files:[{filename:"/resources_js/sv_SE/aspell/cp1250.cmap",start:0,end:31404},{filename:"/resources_js/sv_SE/aspell/cp1250.cset",start:31404,end:45618},{filename:"/resources_js/sv_SE/aspell/cp1251.cmap",start:45618,end:77516},{filename:"/resources_js/sv_SE/aspell/cp1251.cset",start:77516,end:91382},{filename:"/resources_js/sv_SE/aspell/cp1252.cmap",start:91382,end:122364},{filename:"/resources_js/sv_SE/aspell/cp1252.cset",start:122364,end:136403},{filename:"/resources_js/sv_SE/aspell/cp1253.cmap",start:136403,end:174992},{filename:"/resources_js/sv_SE/aspell/cp1253.cset",start:174992,end:188674},{filename:"/resources_js/sv_SE/aspell/cp1254.cmap",start:188674,end:219707},{filename:"/resources_js/sv_SE/aspell/cp1254.cset",start:219707,end:233751},{filename:"/resources_js/sv_SE/aspell/cp1255.cmap",start:233751,end:268884},{filename:"/resources_js/sv_SE/aspell/cp1255.cset",start:268884,end:281916},{filename:"/resources_js/sv_SE/aspell/cp1256.cmap",start:281916,end:326050},{filename:"/resources_js/sv_SE/aspell/cp1256.cset",start:326050,end:339357},{filename:"/resources_js/sv_SE/aspell/cp1257.cmap",start:339357,end:370592},{filename:"/resources_js/sv_SE/aspell/cp1257.cset",start:370592,end:384527},{filename:"/resources_js/sv_SE/aspell/cp1258.cmap",start:384527,end:418038},{filename:"/resources_js/sv_SE/aspell/cp1258.cset",start:418038,end:431958},{filename:"/resources_js/sv_SE/aspell/croatian.alias",start:431958,end:432030},{filename:"/resources_js/sv_SE/aspell/dvorak.kbd",start:432030,end:432128},{filename:"/resources_js/sv_SE/aspell/iso-8859-1.cmap",start:432128,end:463022},{filename:"/resources_js/sv_SE/aspell/iso-8859-1.cset",start:463022,end:476870},{filename:"/resources_js/sv_SE/aspell/iso-8859-10.cmap",start:476870,end:507935},{filename:"/resources_js/sv_SE/aspell/iso-8859-10.cset",start:507935,end:522194},{filename:"/resources_js/sv_SE/aspell/iso-8859-11.cmap",start:522194,end:549317},{filename:"/resources_js/sv_SE/aspell/iso-8859-11.cset",start:549317,end:562555},{filename:"/resources_js/sv_SE/aspell/iso-8859-13.cmap",start:562555,end:593683},{filename:"/resources_js/sv_SE/aspell/iso-8859-13.cset",start:593683,end:607672},{filename:"/resources_js/sv_SE/aspell/iso-8859-14.cmap",start:607672,end:639105},{filename:"/resources_js/sv_SE/aspell/iso-8859-14.cset",start:639105,end:653484},{filename:"/resources_js/sv_SE/aspell/iso-8859-15.cmap",start:653484,end:684298},{filename:"/resources_js/sv_SE/aspell/iso-8859-15.cset",start:684298,end:698237},{filename:"/resources_js/sv_SE/aspell/iso-8859-16.cmap",start:698237,end:729056},{filename:"/resources_js/sv_SE/aspell/iso-8859-16.cset",start:729056,end:743340},{filename:"/resources_js/sv_SE/aspell/iso-8859-2.cmap",start:743340,end:774629},{filename:"/resources_js/sv_SE/aspell/iso-8859-2.cset",start:774629,end:788762},{filename:"/resources_js/sv_SE/aspell/iso-8859-3.cmap",start:788762,end:819711},{filename:"/resources_js/sv_SE/aspell/iso-8859-3.cset",start:819711,end:833683},{filename:"/resources_js/sv_SE/aspell/iso-8859-4.cmap",start:833683,end:864825},{filename:"/resources_js/sv_SE/aspell/iso-8859-4.cset",start:864825,end:878930},{filename:"/resources_js/sv_SE/aspell/iso-8859-5.cmap",start:878930,end:910694},{filename:"/resources_js/sv_SE/aspell/iso-8859-5.cset",start:910694,end:924443},{filename:"/resources_js/sv_SE/aspell/iso-8859-6.cmap",start:924443,end:965433},{filename:"/resources_js/sv_SE/aspell/iso-8859-6.cset",start:965433,end:977985},{filename:"/resources_js/sv_SE/aspell/iso-8859-7.cmap",start:977985,end:1016523},{filename:"/resources_js/sv_SE/aspell/iso-8859-7.cset",start:1016523,end:1030162},{filename:"/resources_js/sv_SE/aspell/iso-8859-8.cmap",start:1030162,end:1057920},{filename:"/resources_js/sv_SE/aspell/iso-8859-8.cset",start:1057920,end:1070477},{filename:"/resources_js/sv_SE/aspell/iso-8859-9.cmap",start:1070477,end:1101497},{filename:"/resources_js/sv_SE/aspell/iso-8859-9.cset",start:1101497,end:1115382},{filename:"/resources_js/sv_SE/aspell/koi8-r.cmap",start:1115382,end:1146816},{filename:"/resources_js/sv_SE/aspell/koi8-r.cset",start:1146816,end:1160215},{filename:"/resources_js/sv_SE/aspell/koi8-u.cmap",start:1160215,end:1191791},{filename:"/resources_js/sv_SE/aspell/koi8-u.cset",start:1191791,end:1205352},{filename:"/resources_js/sv_SE/aspell/split.kbd",start:1205352,end:1205451},{filename:"/resources_js/sv_SE/aspell/standard.kbd",start:1205451,end:1205551},{filename:"/resources_js/sv_SE/aspell/sv.dat",start:1205551,end:1205700},{filename:"/resources_js/sv_SE/aspell/sv.multi",start:1205700,end:1205770},{filename:"/resources_js/sv_SE/aspell/sv.rws",start:1205770,end:4722506},{filename:"/resources_js/sv_SE/aspell/sv_phonet.dat",start:4722506,end:4726986},{filename:"/resources_js/sv_SE/aspell/svenska.alias",start:4726986,end:4727058},{filename:"/resources_js/sv_SE/aspell/swedish.alias",start:4727058,end:4727130},{filename:"/resources_js/sv_SE/hunspell/sv_SE.aff",start:4727130,end:4745711},{filename:"/resources_js/sv_SE/hunspell/sv_SE.dic",start:4745711,end:7089910},{filename:"/resources_js/sv_SE/ngrams_db/ngrams.counts",start:7089910,end:8643574},{filename:"/resources_js/sv_SE/ngrams_db/ngrams.trie",start:8643574,end:10114878},{filename:"/resources_js/sv_SE/presage.xml",start:10114878,end:10118043}],remote_package_size:10118043})})();var Module=typeof Module!="undefined"?Module:{};if(!Module["expectedDataFileDownloads"])Module["expectedDataFileDownloads"]=0;Module["expectedDataFileDownloads"]++;(()=>{var isPthread=typeof ENVIRONMENT_IS_PTHREAD!="undefined"&&ENVIRONMENT_IS_PTHREAD;var isWasmWorker=typeof ENVIRONMENT_IS_WASM_WORKER!="undefined"&&ENVIRONMENT_IS_WASM_WORKER;if(isPthread||isWasmWorker)return;var isNode=globalThis.process&&globalThis.process.versions&&globalThis.process.versions.node&&globalThis.process.type!="renderer";async function loadPackage(metadata){var PACKAGE_PATH="";if(typeof window==="object"){PACKAGE_PATH=window["encodeURIComponent"](window.location.pathname.substring(0,window.location.pathname.lastIndexOf("/"))+"/")}else if(typeof process==="undefined"&&typeof location!=="undefined"){PACKAGE_PATH=encodeURIComponent(location.pathname.substring(0,location.pathname.lastIndexOf("/"))+"/")}var PACKAGE_NAME="textExpander.data";var REMOTE_PACKAGE_BASE="textExpander.data";var REMOTE_PACKAGE_NAME=Module["locateFile"]?Module["locateFile"](REMOTE_PACKAGE_BASE,""):REMOTE_PACKAGE_BASE;var REMOTE_PACKAGE_SIZE=metadata["remote_package_size"];async function fetchRemotePackage(packageName,packageSize){if(isNode){var contents=require("fs").readFileSync(packageName);return new Uint8Array(contents).buffer}if(!Module["dataFileDownloads"])Module["dataFileDownloads"]={};try{var response=await fetch(chrome.runtime.getURL("third_party/libpresage/"+packageName))}catch(e){throw new Error(`Network Error: ${packageName}`,{e})}if(!response.ok){throw new Error(`${response.status}: ${response.url}`)}const chunks=[];const headers=response.headers;const total=Number(headers.get("Content-Length")||packageSize);let loaded=0;Module["setStatus"]&&Module["setStatus"]("Downloading data...");const reader=response.body.getReader();while(1){var{done,value}=await reader.read();if(done)break;chunks.push(value);loaded+=value.length;Module["dataFileDownloads"][packageName]={loaded,total};let totalLoaded=0;let totalSize=0;for(const download of Object.values(Module["dataFileDownloads"])){totalLoaded+=download.loaded;totalSize+=download.total}Module["setStatus"]&&Module["setStatus"](`Downloading data... (${totalLoaded}/${totalSize})`)}const packageData=new Uint8Array(chunks.map(c=>c.length).reduce((a,b)=>a+b,0));let offset=0;for(const chunk of chunks){packageData.set(chunk,offset);offset+=chunk.length}return packageData.buffer}var fetchPromise;var fetched=Module["getPreloadedPackage"]&&Module["getPreloadedPackage"](REMOTE_PACKAGE_NAME,REMOTE_PACKAGE_SIZE);if(!fetched){fetchPromise=fetchRemotePackage(REMOTE_PACKAGE_NAME,REMOTE_PACKAGE_SIZE)}async function runWithFS(Module){function assert(check,msg){if(!check)throw new Error(msg)}Module["FS_createPath"]("/","resources_js",true,true);Module["FS_createPath"]("/resources_js","textExpander",true,true);for(var file of metadata["files"]){var name=file["filename"];Module["addRunDependency"](`fp ${name}`)}async function processPackageData(arrayBuffer){assert(arrayBuffer,"Loading data file failed.");assert(arrayBuffer.constructor.name===ArrayBuffer.name,"bad input to processPackageData "+arrayBuffer.constructor.name);var byteArray=new Uint8Array(arrayBuffer);for(var file of metadata["files"]){var name=file["filename"];var data=byteArray.subarray(file["start"],file["end"]);Module["FS_createDataFile"](name,null,data,true,true,true);Module["removeRunDependency"](`fp ${name}`)}Module["removeRunDependency"]("datafile_textExpander.data")}Module["addRunDependency"]("datafile_textExpander.data");if(!Module["preloadResults"])Module["preloadResults"]={};Module["preloadResults"][PACKAGE_NAME]={fromCache:false};if(!fetched){fetched=await fetchPromise}processPackageData(fetched)}if(Module["calledRun"]){runWithFS(Module)}else{if(!Module["preRun"])Module["preRun"]=[];Module["preRun"].push(runWithFS)}}loadPackage({files:[{filename:"/resources_js/textExpander/presage.xml",start:0,end:1434}],remote_package_size:1434})})();var arguments_=[];var thisProgram="./this.program";var quit_=(status,toThrow)=>{throw toThrow};var _scriptName=import.meta.url;var scriptDirectory="";function locateFile(path){if(Module["locateFile"]){return Module["locateFile"](path,scriptDirectory)}return scriptDirectory+path}var readAsync,readBinary;if(ENVIRONMENT_IS_NODE){var fs=require("node:fs");if(_scriptName.startsWith("file:")){scriptDirectory=require("node:path").dirname(require("node:url").fileURLToPath(_scriptName))+"/"}readBinary=filename=>{filename=isFileURI(filename)?new URL(filename):filename;var ret=fs.readFileSync(filename);return ret};readAsync=async(filename,binary=true)=>{filename=isFileURI(filename)?new URL(filename):filename;var ret=fs.readFileSync(filename,binary?undefined:"utf8");return ret};if(process.argv.length>1){thisProgram=process.argv[1].replace(/\\/g,"/")}arguments_=process.argv.slice(2);quit_=(status,toThrow)=>{process.exitCode=status;throw toThrow}}else if(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER){try{scriptDirectory=new URL(".",_scriptName).href}catch{}{readAsync=async url=>{var response=await fetch(url,{credentials:"same-origin"});if(response.ok){return response.arrayBuffer()}throw new Error(response.status+" : "+response.url)}}}else{}var out=console.log.bind(console);var err=console.error.bind(console);var wasmBinary;var ABORT=false;var isFileURI=filename=>filename.startsWith("file://");var readyPromiseResolve,readyPromiseReject;var HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAPF64;var HEAP64,HEAPU64;var runtimeInitialized=false;function updateMemoryViews(){var b=wasmMemory.buffer;HEAP8=new Int8Array(b);HEAP16=new Int16Array(b);HEAPU8=new Uint8Array(b);HEAPU16=new Uint16Array(b);HEAP32=new Int32Array(b);HEAPU32=new Uint32Array(b);HEAPF32=new Float32Array(b);HEAPF64=new Float64Array(b);HEAP64=new BigInt64Array(b);HEAPU64=new BigUint64Array(b)}function preRun(){if(Module["preRun"]){if(typeof Module["preRun"]=="function")Module["preRun"]=[Module["preRun"]];while(Module["preRun"].length){addOnPreRun(Module["preRun"].shift())}}callRuntimeCallbacks(onPreRuns)}function initRuntime(){runtimeInitialized=true;if(!Module["noFSInit"]&&!FS.initialized)FS.init();TTY.init();wasmExports["Y"]();FS.ignorePermissions=false}function postRun(){if(Module["postRun"]){if(typeof Module["postRun"]=="function")Module["postRun"]=[Module["postRun"]];while(Module["postRun"].length){addOnPostRun(Module["postRun"].shift())}}callRuntimeCallbacks(onPostRuns)}function abort(what){Module["onAbort"]?.(what);what="Aborted("+what+")";err(what);ABORT=true;what+=". Build with -sASSERTIONS for more info.";if(runtimeInitialized){___trap()}var e=new WebAssembly.RuntimeError(what);readyPromiseReject?.(e);throw e}var wasmBinaryFile;function findWasmBinary(){if(Module["locateFile"]){return locateFile("libpresage.wasm")}return new URL("libpresage.wasm",import.meta.url).href}function getBinarySync(file){if(file==wasmBinaryFile&&wasmBinary){return new Uint8Array(wasmBinary)}if(readBinary){return readBinary(file)}throw"both async and sync fetching of the wasm failed"}async function getWasmBinary(binaryFile){if(!wasmBinary){try{var response=await readAsync(binaryFile);return new Uint8Array(response)}catch{}}return getBinarySync(binaryFile)}async function instantiateArrayBuffer(binaryFile,imports){try{var binary=await getWasmBinary(binaryFile);var instance=await WebAssembly.instantiate(binary,imports);return instance}catch(reason){err(`failed to asynchronously prepare wasm: ${reason}`);abort(reason)}}async function instantiateAsync(binary,binaryFile,imports){if(!binary&&!ENVIRONMENT_IS_NODE){try{var response=fetch(binaryFile,{credentials:"same-origin"});var instantiationResult=await WebAssembly.instantiateStreaming(response,imports);return instantiationResult}catch(reason){err(`wasm streaming compile failed: ${reason}`);err("falling back to ArrayBuffer instantiation")}}return instantiateArrayBuffer(binaryFile,imports)}function getWasmImports(){var imports={a:wasmImports};return imports}async function createWasm(){function receiveInstance(instance,module){wasmExports=instance.exports;assignWasmExports(wasmExports);updateMemoryViews();return wasmExports}function receiveInstantiationResult(result){return receiveInstance(result["instance"])}var info=getWasmImports();if(Module["instantiateWasm"]){return new Promise((resolve,reject)=>{Module["instantiateWasm"](info,(inst,mod)=>{resolve(receiveInstance(inst,mod))})})}wasmBinaryFile??=findWasmBinary();var result=await instantiateAsync(wasmBinary,wasmBinaryFile,info);var exports=receiveInstantiationResult(result);return exports}class ExitStatus{name="ExitStatus";constructor(status){this.message=`Program terminated with exit(${status})`;this.status=status}}var callRuntimeCallbacks=callbacks=>{while(callbacks.length>0){callbacks.shift()(Module)}};var onPostRuns=[];var addOnPostRun=cb=>onPostRuns.push(cb);var onPreRuns=[];var addOnPreRun=cb=>onPreRuns.push(cb);var noExitRuntime=true;var UTF8Decoder=globalThis.TextDecoder&&new TextDecoder;var findStringEnd=(heapOrArray,idx,maxBytesToRead,ignoreNul)=>{var maxIdx=idx+maxBytesToRead;if(ignoreNul)return maxIdx;while(heapOrArray[idx]&&!(idx>=maxIdx))++idx;return idx};var UTF8ArrayToString=(heapOrArray,idx=0,maxBytesToRead,ignoreNul)=>{var endPtr=findStringEnd(heapOrArray,idx,maxBytesToRead,ignoreNul);if(endPtr-idx>16&&heapOrArray.buffer&&UTF8Decoder){return UTF8Decoder.decode(heapOrArray.subarray(idx,endPtr))}var str="";while(idx>10,56320|ch&1023)}}return str};var UTF8ToString=(ptr,maxBytesToRead,ignoreNul)=>ptr?UTF8ArrayToString(HEAPU8,ptr,maxBytesToRead,ignoreNul):"";var ___assert_fail=(condition,filename,line,func)=>abort(`Assertion failed: ${UTF8ToString(condition)}, at: `+[filename?UTF8ToString(filename):"unknown filename",line,func?UTF8ToString(func):"unknown function"]);var PATH={isAbs:path=>path.charAt(0)==="/",splitPath:filename=>{var splitPathRe=/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/;return splitPathRe.exec(filename).slice(1)},normalizeArray:(parts,allowAboveRoot)=>{var up=0;for(var i=parts.length-1;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:path=>{var isAbsolute=PATH.isAbs(path),trailingSlash=path.slice(-1)==="/";path=PATH.normalizeArray(path.split("/").filter(p=>!!p),!isAbsolute).join("/");if(!path&&!isAbsolute){path="."}if(path&&trailingSlash){path+="/"}return(isAbsolute?"/":"")+path},dirname:path=>{var result=PATH.splitPath(path),root=result[0],dir=result[1];if(!root&&!dir){return"."}if(dir){dir=dir.slice(0,-1)}return root+dir},basename:path=>path&&path.match(/([^\/]+|\/)\/*$/)[1],join:(...paths)=>PATH.normalize(paths.join("/")),join2:(l,r)=>PATH.normalize(l+"/"+r)};var initRandomFill=()=>{if(ENVIRONMENT_IS_NODE){var nodeCrypto=require("node:crypto");return view=>nodeCrypto.randomFillSync(view)}return view=>crypto.getRandomValues(view)};var randomFill=view=>{(randomFill=initRandomFill())(view)};var PATH_FS={resolve:(...args)=>{var resolvedPath="",resolvedAbsolute=false;for(var i=args.length-1;i>=-1&&!resolvedAbsolute;i--){var path=i>=0?args[i]:FS.cwd();if(typeof path!="string"){throw new TypeError("Arguments to path.resolve must be strings")}else if(!path){return""}resolvedPath=path+"/"+resolvedPath;resolvedAbsolute=PATH.isAbs(path)}resolvedPath=PATH.normalizeArray(resolvedPath.split("/").filter(p=>!!p),!resolvedAbsolute).join("/");return(resolvedAbsolute?"/":"")+resolvedPath||"."},relative:(from,to)=>{from=PATH_FS.resolve(from).slice(1);to=PATH_FS.resolve(to).slice(1);function trim(arr){var start=0;for(;start=0;end--){if(arr[end]!=="")break}if(start>end)return[];return arr.slice(start,end-start+1)}var fromParts=trim(from.split("/"));var toParts=trim(to.split("/"));var length=Math.min(fromParts.length,toParts.length);var samePartsLength=length;for(var i=0;i{var len=0;for(var i=0;i=55296&&c<=57343){len+=4;++i}else{len+=3}}return len};var stringToUTF8Array=(str,heap,outIdx,maxBytesToWrite)=>{if(!(maxBytesToWrite>0))return 0;var startIdx=outIdx;var endIdx=outIdx+maxBytesToWrite-1;for(var i=0;i=endIdx)break;heap[outIdx++]=u}else if(u<=2047){if(outIdx+1>=endIdx)break;heap[outIdx++]=192|u>>6;heap[outIdx++]=128|u&63}else if(u<=65535){if(outIdx+2>=endIdx)break;heap[outIdx++]=224|u>>12;heap[outIdx++]=128|u>>6&63;heap[outIdx++]=128|u&63}else{if(outIdx+3>=endIdx)break;heap[outIdx++]=240|u>>18;heap[outIdx++]=128|u>>12&63;heap[outIdx++]=128|u>>6&63;heap[outIdx++]=128|u&63;i++}}heap[outIdx]=0;return outIdx-startIdx};var intArrayFromString=(stringy,dontAddNull,length)=>{var len=length>0?length:lengthBytesUTF8(stringy)+1;var u8array=new Array(len);var numBytesWritten=stringToUTF8Array(stringy,u8array,0,u8array.length);if(dontAddNull)u8array.length=numBytesWritten;return u8array};var FS_stdin_getChar=()=>{if(!FS_stdin_getChar_buffer.length){var result=null;if(ENVIRONMENT_IS_NODE){var BUFSIZE=256;var buf=Buffer.alloc(BUFSIZE);var bytesRead=0;var fd=process.stdin.fd;try{bytesRead=fs.readSync(fd,buf,0,BUFSIZE)}catch(e){if(e.toString().includes("EOF"))bytesRead=0;else throw e}if(bytesRead>0){result=buf.slice(0,bytesRead).toString("utf-8")}}else if(globalThis.window?.prompt){result=window.prompt("Input: ");if(result!==null){result+="\n"}}else{}if(!result){return null}FS_stdin_getChar_buffer=intArrayFromString(result,true)}return FS_stdin_getChar_buffer.shift()};var TTY={ttys:[],init(){},shutdown(){},register(dev,ops){TTY.ttys[dev]={input:[],output:[],ops};FS.registerDevice(dev,TTY.stream_ops)},stream_ops:{open(stream){var tty=TTY.ttys[stream.node.rdev];if(!tty){throw new FS.ErrnoError(43)}stream.tty=tty;stream.seekable=false},close(stream){stream.tty.ops.fsync(stream.tty)},fsync(stream){stream.tty.ops.fsync(stream.tty)},read(stream,buffer,offset,length,pos){if(!stream.tty||!stream.tty.ops.get_char){throw new FS.ErrnoError(60)}var bytesRead=0;for(var i=0;i0){out(UTF8ArrayToString(tty.output));tty.output=[]}},ioctl_tcgets(tty){return{c_iflag:25856,c_oflag:5,c_cflag:191,c_lflag:35387,c_cc:[3,28,127,21,4,0,1,0,17,19,26,0,18,15,23,22,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]}},ioctl_tcsets(tty,optional_actions,data){return 0},ioctl_tiocgwinsz(tty){return[24,80]}},default_tty1_ops:{put_char(tty,val){if(val===null||val===10){err(UTF8ArrayToString(tty.output));tty.output=[]}else{if(val!=0)tty.output.push(val)}},fsync(tty){if(tty.output?.length>0){err(UTF8ArrayToString(tty.output));tty.output=[]}}}};var zeroMemory=(ptr,size)=>HEAPU8.fill(0,ptr,ptr+size);var alignMemory=(size,alignment)=>Math.ceil(size/alignment)*alignment;var mmapAlloc=size=>{size=alignMemory(size,65536);var ptr=_emscripten_builtin_memalign(65536,size);if(ptr)zeroMemory(ptr,size);return ptr};var MEMFS={ops_table:null,mount(mount){return MEMFS.createNode(null,"/",16895,0)},createNode(parent,name,mode,dev){if(FS.isBlkdev(mode)||FS.isFIFO(mode)){throw new FS.ErrnoError(63)}MEMFS.ops_table||={dir:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr,lookup:MEMFS.node_ops.lookup,mknod:MEMFS.node_ops.mknod,rename:MEMFS.node_ops.rename,unlink:MEMFS.node_ops.unlink,rmdir:MEMFS.node_ops.rmdir,readdir:MEMFS.node_ops.readdir,symlink:MEMFS.node_ops.symlink},stream:{llseek:MEMFS.stream_ops.llseek}},file:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr},stream:{llseek:MEMFS.stream_ops.llseek,read:MEMFS.stream_ops.read,write:MEMFS.stream_ops.write,mmap:MEMFS.stream_ops.mmap,msync:MEMFS.stream_ops.msync}},link:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr,readlink:MEMFS.node_ops.readlink},stream:{}},chrdev:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr},stream:FS.chrdev_stream_ops}};var node=FS.createNode(parent,name,mode,dev);if(FS.isDir(node.mode)){node.node_ops=MEMFS.ops_table.dir.node;node.stream_ops=MEMFS.ops_table.dir.stream;node.contents={}}else if(FS.isFile(node.mode)){node.node_ops=MEMFS.ops_table.file.node;node.stream_ops=MEMFS.ops_table.file.stream;node.usedBytes=0;node.contents=MEMFS.emptyFileContents??=new Uint8Array(0)}else if(FS.isLink(node.mode)){node.node_ops=MEMFS.ops_table.link.node;node.stream_ops=MEMFS.ops_table.link.stream}else if(FS.isChrdev(node.mode)){node.node_ops=MEMFS.ops_table.chrdev.node;node.stream_ops=MEMFS.ops_table.chrdev.stream}node.atime=node.mtime=node.ctime=Date.now();if(parent){parent.contents[name]=node;parent.atime=parent.mtime=parent.ctime=node.atime}return node},getFileDataAsTypedArray(node){return node.contents.subarray(0,node.usedBytes)},expandFileStorage(node,newCapacity){var prevCapacity=node.contents.length;if(prevCapacity>=newCapacity)return;var CAPACITY_DOUBLING_MAX=1024*1024;newCapacity=Math.max(newCapacity,prevCapacity*(prevCapacity>>0);if(prevCapacity)newCapacity=Math.max(newCapacity,256);var oldContents=MEMFS.getFileDataAsTypedArray(node);node.contents=new Uint8Array(newCapacity);node.contents.set(oldContents)},resizeFileStorage(node,newSize){if(node.usedBytes==newSize)return;var oldContents=node.contents;node.contents=new Uint8Array(newSize);node.contents.set(oldContents.subarray(0,Math.min(newSize,node.usedBytes)));node.usedBytes=newSize},node_ops:{getattr(node){var attr={};attr.dev=FS.isChrdev(node.mode)?node.id:1;attr.ino=node.id;attr.mode=node.mode;attr.nlink=1;attr.uid=0;attr.gid=0;attr.rdev=node.rdev;if(FS.isDir(node.mode)){attr.size=4096}else if(FS.isFile(node.mode)){attr.size=node.usedBytes}else if(FS.isLink(node.mode)){attr.size=node.link.length}else{attr.size=0}attr.atime=new Date(node.atime);attr.mtime=new Date(node.mtime);attr.ctime=new Date(node.ctime);attr.blksize=4096;attr.blocks=Math.ceil(attr.size/attr.blksize);return attr},setattr(node,attr){for(const key of["mode","atime","mtime","ctime"]){if(attr[key]!=null){node[key]=attr[key]}}if(attr.size!==undefined){MEMFS.resizeFileStorage(node,attr.size)}},lookup(parent,name){if(!MEMFS.doesNotExistError){MEMFS.doesNotExistError=new FS.ErrnoError(44);MEMFS.doesNotExistError.stack=""}throw MEMFS.doesNotExistError},mknod(parent,name,mode,dev){return MEMFS.createNode(parent,name,mode,dev)},rename(old_node,new_dir,new_name){var new_node;try{new_node=FS.lookupNode(new_dir,new_name)}catch(e){}if(new_node){if(FS.isDir(old_node.mode)){for(var i in new_node.contents){throw new FS.ErrnoError(55)}}FS.hashRemoveNode(new_node)}delete old_node.parent.contents[old_node.name];new_dir.contents[new_name]=old_node;old_node.name=new_name;new_dir.ctime=new_dir.mtime=old_node.parent.ctime=old_node.parent.mtime=Date.now()},unlink(parent,name){delete parent.contents[name];parent.ctime=parent.mtime=Date.now()},rmdir(parent,name){var node=FS.lookupNode(parent,name);for(var i in node.contents){throw new FS.ErrnoError(55)}delete parent.contents[name];parent.ctime=parent.mtime=Date.now()},readdir(node){return[".","..",...Object.keys(node.contents)]},symlink(parent,newname,oldpath){var node=MEMFS.createNode(parent,newname,511|40960,0);node.link=oldpath;return node},readlink(node){if(!FS.isLink(node.mode)){throw new FS.ErrnoError(28)}return node.link}},stream_ops:{read(stream,buffer,offset,length,position){var contents=stream.node.contents;if(position>=stream.node.usedBytes)return 0;var size=Math.min(stream.node.usedBytes-position,length);buffer.set(contents.subarray(position,position+size),offset);return size},write(stream,buffer,offset,length,position,canOwn){if(buffer.buffer===HEAP8.buffer){canOwn=false}if(!length)return 0;var node=stream.node;node.mtime=node.ctime=Date.now();if(canOwn){node.contents=buffer.subarray(offset,offset+length);node.usedBytes=length}else if(node.usedBytes===0&&position===0){node.contents=buffer.slice(offset,offset+length);node.usedBytes=length}else{MEMFS.expandFileStorage(node,position+length);node.contents.set(buffer.subarray(offset,offset+length),position);node.usedBytes=Math.max(node.usedBytes,position+length)}return length},llseek(stream,offset,whence){var position=offset;if(whence===1){position+=stream.position}else if(whence===2){if(FS.isFile(stream.node.mode)){position+=stream.node.usedBytes}}if(position<0){throw new FS.ErrnoError(28)}return position},mmap(stream,length,position,prot,flags){if(!FS.isFile(stream.node.mode)){throw new FS.ErrnoError(43)}var ptr;var allocated;var contents=stream.node.contents;if(!(flags&2)&&contents.buffer===HEAP8.buffer){allocated=false;ptr=contents.byteOffset}else{allocated=true;ptr=mmapAlloc(length);if(!ptr){throw new FS.ErrnoError(48)}if(contents){if(position>0||position+length{if(typeof str!="string")return str;var flagModes={r:0,"r+":2,w:512|64|1,"w+":512|64|2,a:1024|64|1,"a+":1024|64|2};var flags=flagModes[str];if(typeof flags=="undefined"){throw new Error(`Unknown file open mode: ${str}`)}return flags};var FS_fileDataToTypedArray=data=>{if(typeof data=="string"){data=intArrayFromString(data,true)}if(!data.subarray){data=new Uint8Array(data)}return data};var FS_getMode=(canRead,canWrite)=>{var mode=0;if(canRead)mode|=292|73;if(canWrite)mode|=146;return mode};var asyncLoad=async url=>{var arrayBuffer=await readAsync(url);return new Uint8Array(arrayBuffer)};var FS_createDataFile=(...args)=>FS.createDataFile(...args);var getUniqueRunDependency=id=>id;var runDependencies=0;var dependenciesFulfilled=null;var removeRunDependency=id=>{runDependencies--;Module["monitorRunDependencies"]?.(runDependencies);if(runDependencies==0){if(dependenciesFulfilled){var callback=dependenciesFulfilled;dependenciesFulfilled=null;callback()}}};var addRunDependency=id=>{runDependencies++;Module["monitorRunDependencies"]?.(runDependencies)};var preloadPlugins=[];var FS_handledByPreloadPlugin=async(byteArray,fullname)=>{if(typeof Browser!="undefined")Browser.init();for(var plugin of preloadPlugins){if(plugin["canHandle"](fullname)){return plugin["handle"](byteArray,fullname)}}return byteArray};var FS_preloadFile=async(parent,name,url,canRead,canWrite,dontCreateFile,canOwn,preFinish)=>{var fullname=name?PATH_FS.resolve(PATH.join2(parent,name)):parent;var dep=getUniqueRunDependency(`cp ${fullname}`);addRunDependency(dep);try{var byteArray=url;if(typeof url=="string"){byteArray=await asyncLoad(url)}byteArray=await FS_handledByPreloadPlugin(byteArray,fullname);preFinish?.();if(!dontCreateFile){FS_createDataFile(parent,name,byteArray,canRead,canWrite,canOwn)}}finally{removeRunDependency(dep)}};var FS_createPreloadedFile=(parent,name,url,canRead,canWrite,onload,onerror,dontCreateFile,canOwn,preFinish)=>{FS_preloadFile(parent,name,url,canRead,canWrite,dontCreateFile,canOwn,preFinish).then(onload).catch(onerror)};var FS={root:null,mounts:[],devices:{},streams:[],nextInode:1,nameTable:null,currentPath:"/",initialized:false,ignorePermissions:true,filesystems:null,syncFSRequests:0,ErrnoError:class{name="ErrnoError";constructor(errno){this.errno=errno}},FSStream:class{shared={};get object(){return this.node}set object(val){this.node=val}get isRead(){return(this.flags&2097155)!==1}get isWrite(){return(this.flags&2097155)!==0}get isAppend(){return this.flags&1024}get flags(){return this.shared.flags}set flags(val){this.shared.flags=val}get position(){return this.shared.position}set position(val){this.shared.position=val}},FSNode:class{node_ops={};stream_ops={};readMode=292|73;writeMode=146;mounted=null;constructor(parent,name,mode,rdev){if(!parent){parent=this}this.parent=parent;this.mount=parent.mount;this.id=FS.nextInode++;this.name=name;this.mode=mode;this.rdev=rdev;this.atime=this.mtime=this.ctime=Date.now()}get read(){return(this.mode&this.readMode)===this.readMode}set read(val){val?this.mode|=this.readMode:this.mode&=~this.readMode}get write(){return(this.mode&this.writeMode)===this.writeMode}set write(val){val?this.mode|=this.writeMode:this.mode&=~this.writeMode}get isFolder(){return FS.isDir(this.mode)}get isDevice(){return FS.isChrdev(this.mode)}},lookupPath(path,opts={}){if(!path){throw new FS.ErrnoError(44)}opts.follow_mount??=true;if(!PATH.isAbs(path)){path=FS.cwd()+"/"+path}linkloop:for(var nlinks=0;nlinks<40;nlinks++){var parts=path.split("/").filter(p=>!!p);var current=FS.root;var current_path="/";for(var i=0;i>>0)%FS.nameTable.length},hashAddNode(node){var hash=FS.hashName(node.parent.id,node.name);node.name_next=FS.nameTable[hash];FS.nameTable[hash]=node},hashRemoveNode(node){var hash=FS.hashName(node.parent.id,node.name);if(FS.nameTable[hash]===node){FS.nameTable[hash]=node.name_next}else{var current=FS.nameTable[hash];while(current){if(current.name_next===node){current.name_next=node.name_next;break}current=current.name_next}}},lookupNode(parent,name){var errCode=FS.mayLookup(parent);if(errCode){throw new FS.ErrnoError(errCode)}var hash=FS.hashName(parent.id,name);for(var node=FS.nameTable[hash];node;node=node.name_next){var nodeName=node.name;if(node.parent.id===parent.id&&nodeName===name){return node}}return FS.lookup(parent,name)},createNode(parent,name,mode,rdev){var node=new FS.FSNode(parent,name,mode,rdev);FS.hashAddNode(node);return node},destroyNode(node){FS.hashRemoveNode(node)},isRoot(node){return node===node.parent},isMountpoint(node){return!!node.mounted},isFile(mode){return(mode&61440)===32768},isDir(mode){return(mode&61440)===16384},isLink(mode){return(mode&61440)===40960},isChrdev(mode){return(mode&61440)===8192},isBlkdev(mode){return(mode&61440)===24576},isFIFO(mode){return(mode&61440)===4096},isSocket(mode){return(mode&49152)===49152},flagsToPermissionString(flag){var perms=["r","w","rw"][flag&3];if(flag&512){perms+="w"}return perms},nodePermissions(node,perms){if(FS.ignorePermissions){return 0}if(perms.includes("r")&&!(node.mode&292)){return 2}if(perms.includes("w")&&!(node.mode&146)){return 2}if(perms.includes("x")&&!(node.mode&73)){return 2}return 0},mayLookup(dir){if(!FS.isDir(dir.mode))return 54;var errCode=FS.nodePermissions(dir,"x");if(errCode)return errCode;if(!dir.node_ops.lookup)return 2;return 0},mayCreate(dir,name){if(!FS.isDir(dir.mode)){return 54}try{var node=FS.lookupNode(dir,name);return 20}catch(e){}return FS.nodePermissions(dir,"wx")},mayDelete(dir,name,isdir){var node;try{node=FS.lookupNode(dir,name)}catch(e){return e.errno}var errCode=FS.nodePermissions(dir,"wx");if(errCode){return errCode}if(isdir){if(!FS.isDir(node.mode)){return 54}if(FS.isRoot(node)||FS.getPath(node)===FS.cwd()){return 10}}else if(FS.isDir(node.mode)){return 31}return 0},mayOpen(node,flags){if(!node){return 44}if(FS.isLink(node.mode)){return 32}var mode=FS.flagsToPermissionString(flags);if(FS.isDir(node.mode)){if(mode!=="r"||flags&(512|64)){return 31}}return FS.nodePermissions(node,mode)},checkOpExists(op,err){if(!op){throw new FS.ErrnoError(err)}return op},MAX_OPEN_FDS:4096,nextfd(){for(var fd=0;fd<=FS.MAX_OPEN_FDS;fd++){if(!FS.streams[fd]){return fd}}throw new FS.ErrnoError(33)},getStreamChecked(fd){var stream=FS.getStream(fd);if(!stream){throw new FS.ErrnoError(8)}return stream},getStream:fd=>FS.streams[fd],createStream(stream,fd=-1){stream=Object.assign(new FS.FSStream,stream);if(fd==-1){fd=FS.nextfd()}stream.fd=fd;FS.streams[fd]=stream;return stream},closeStream(fd){FS.streams[fd]=null},dupStream(origStream,fd=-1){var stream=FS.createStream(origStream,fd);stream.stream_ops?.dup?.(stream);return stream},doSetAttr(stream,node,attr){var setattr=stream?.stream_ops.setattr;var arg=setattr?stream:node;setattr??=node.node_ops.setattr;FS.checkOpExists(setattr,63);setattr(arg,attr)},chrdev_stream_ops:{open(stream){var device=FS.getDevice(stream.node.rdev);stream.stream_ops=device.stream_ops;stream.stream_ops.open?.(stream)},llseek(){throw new FS.ErrnoError(70)}},major:dev=>dev>>8,minor:dev=>dev&255,makedev:(ma,mi)=>ma<<8|mi,registerDevice(dev,ops){FS.devices[dev]={stream_ops:ops}},getDevice:dev=>FS.devices[dev],getMounts(mount){var mounts=[];var check=[mount];while(check.length){var m=check.pop();mounts.push(m);check.push(...m.mounts)}return mounts},syncfs(populate,callback){if(typeof populate=="function"){callback=populate;populate=false}FS.syncFSRequests++;if(FS.syncFSRequests>1){err(`warning: ${FS.syncFSRequests} FS.syncfs operations in flight at once, probably just doing extra work`)}var mounts=FS.getMounts(FS.root.mount);var completed=0;function doCallback(errCode){FS.syncFSRequests--;return callback(errCode)}function done(errCode){if(errCode){if(!done.errored){done.errored=true;return doCallback(errCode)}return}if(++completed>=mounts.length){doCallback(null)}}for(var mount of mounts){if(mount.type.syncfs){mount.type.syncfs(mount,populate,done)}else{done(null)}}},mount(type,opts,mountpoint){var root=mountpoint==="/";var pseudo=!mountpoint;var node;if(root&&FS.root){throw new FS.ErrnoError(10)}else if(!root&&!pseudo){var lookup=FS.lookupPath(mountpoint,{follow_mount:false});mountpoint=lookup.path;node=lookup.node;if(FS.isMountpoint(node)){throw new FS.ErrnoError(10)}if(!FS.isDir(node.mode)){throw new FS.ErrnoError(54)}}var mount={type,opts,mountpoint,mounts:[]};var mountRoot=type.mount(mount);mountRoot.mount=mount;mount.root=mountRoot;if(root){FS.root=mountRoot}else if(node){node.mounted=mount;if(node.mount){node.mount.mounts.push(mount)}}return mountRoot},unmount(mountpoint){var lookup=FS.lookupPath(mountpoint,{follow_mount:false});if(!FS.isMountpoint(lookup.node)){throw new FS.ErrnoError(28)}var node=lookup.node;var mount=node.mounted;var mounts=FS.getMounts(mount);for(var[hash,current]of Object.entries(FS.nameTable)){while(current){var next=current.name_next;if(mounts.includes(current.mount)){FS.destroyNode(current)}current=next}}node.mounted=null;var idx=node.mount.mounts.indexOf(mount);node.mount.mounts.splice(idx,1)},lookup(parent,name){return parent.node_ops.lookup(parent,name)},mknod(path,mode,dev){var lookup=FS.lookupPath(path,{parent:true});var parent=lookup.node;var name=PATH.basename(path);if(!name){throw new FS.ErrnoError(28)}if(name==="."||name===".."){throw new FS.ErrnoError(20)}var errCode=FS.mayCreate(parent,name);if(errCode){throw new FS.ErrnoError(errCode)}if(!parent.node_ops.mknod){throw new FS.ErrnoError(63)}return parent.node_ops.mknod(parent,name,mode,dev)},statfs(path){return FS.statfsNode(FS.lookupPath(path,{follow:true}).node)},statfsStream(stream){return FS.statfsNode(stream.node)},statfsNode(node){var rtn={bsize:4096,frsize:4096,blocks:1e6,bfree:5e5,bavail:5e5,files:FS.nextInode,ffree:FS.nextInode-1,fsid:42,flags:2,namelen:255};if(node.node_ops.statfs){Object.assign(rtn,node.node_ops.statfs(node.mount.opts.root))}return rtn},create(path,mode=438){mode&=4095;mode|=32768;return FS.mknod(path,mode,0)},mkdir(path,mode=511){mode&=511|512;mode|=16384;return FS.mknod(path,mode,0)},mkdirTree(path,mode){var dirs=path.split("/");var d="";for(var dir of dirs){if(!dir)continue;if(d||PATH.isAbs(path))d+="/";d+=dir;try{FS.mkdir(d,mode)}catch(e){if(e.errno!=20)throw e}}},mkdev(path,mode,dev){if(typeof dev=="undefined"){dev=mode;mode=438}mode|=8192;return FS.mknod(path,mode,dev)},symlink(oldpath,newpath){if(!PATH_FS.resolve(oldpath)){throw new FS.ErrnoError(44)}var lookup=FS.lookupPath(newpath,{parent:true});var parent=lookup.node;if(!parent){throw new FS.ErrnoError(44)}var newname=PATH.basename(newpath);var errCode=FS.mayCreate(parent,newname);if(errCode){throw new FS.ErrnoError(errCode)}if(!parent.node_ops.symlink){throw new FS.ErrnoError(63)}return parent.node_ops.symlink(parent,newname,oldpath)},rename(old_path,new_path){var old_dirname=PATH.dirname(old_path);var new_dirname=PATH.dirname(new_path);var old_name=PATH.basename(old_path);var new_name=PATH.basename(new_path);var lookup,old_dir,new_dir;lookup=FS.lookupPath(old_path,{parent:true});old_dir=lookup.node;lookup=FS.lookupPath(new_path,{parent:true});new_dir=lookup.node;if(!old_dir||!new_dir)throw new FS.ErrnoError(44);if(old_dir.mount!==new_dir.mount){throw new FS.ErrnoError(75)}var old_node=FS.lookupNode(old_dir,old_name);var relative=PATH_FS.relative(old_path,new_dirname);if(relative.charAt(0)!=="."){throw new FS.ErrnoError(28)}relative=PATH_FS.relative(new_path,old_dirname);if(relative.charAt(0)!=="."){throw new FS.ErrnoError(55)}var new_node;try{new_node=FS.lookupNode(new_dir,new_name)}catch(e){}if(old_node===new_node){return}var isdir=FS.isDir(old_node.mode);var errCode=FS.mayDelete(old_dir,old_name,isdir);if(errCode){throw new FS.ErrnoError(errCode)}errCode=new_node?FS.mayDelete(new_dir,new_name,isdir):FS.mayCreate(new_dir,new_name);if(errCode){throw new FS.ErrnoError(errCode)}if(!old_dir.node_ops.rename){throw new FS.ErrnoError(63)}if(FS.isMountpoint(old_node)||new_node&&FS.isMountpoint(new_node)){throw new FS.ErrnoError(10)}if(new_dir!==old_dir){errCode=FS.nodePermissions(old_dir,"w");if(errCode){throw new FS.ErrnoError(errCode)}}FS.hashRemoveNode(old_node);try{old_dir.node_ops.rename(old_node,new_dir,new_name);old_node.parent=new_dir}catch(e){throw e}finally{FS.hashAddNode(old_node)}},rmdir(path){var lookup=FS.lookupPath(path,{parent:true});var parent=lookup.node;var name=PATH.basename(path);var node=FS.lookupNode(parent,name);var errCode=FS.mayDelete(parent,name,true);if(errCode){throw new FS.ErrnoError(errCode)}if(!parent.node_ops.rmdir){throw new FS.ErrnoError(63)}if(FS.isMountpoint(node)){throw new FS.ErrnoError(10)}parent.node_ops.rmdir(parent,name);FS.destroyNode(node)},readdir(path){var lookup=FS.lookupPath(path,{follow:true});var node=lookup.node;var readdir=FS.checkOpExists(node.node_ops.readdir,54);return readdir(node)},unlink(path){var lookup=FS.lookupPath(path,{parent:true});var parent=lookup.node;if(!parent){throw new FS.ErrnoError(44)}var name=PATH.basename(path);var node=FS.lookupNode(parent,name);var errCode=FS.mayDelete(parent,name,false);if(errCode){throw new FS.ErrnoError(errCode)}if(!parent.node_ops.unlink){throw new FS.ErrnoError(63)}if(FS.isMountpoint(node)){throw new FS.ErrnoError(10)}parent.node_ops.unlink(parent,name);FS.destroyNode(node)},readlink(path){var lookup=FS.lookupPath(path);var link=lookup.node;if(!link){throw new FS.ErrnoError(44)}if(!link.node_ops.readlink){throw new FS.ErrnoError(28)}return link.node_ops.readlink(link)},stat(path,dontFollow){var lookup=FS.lookupPath(path,{follow:!dontFollow});var node=lookup.node;var getattr=FS.checkOpExists(node.node_ops.getattr,63);return getattr(node)},fstat(fd){var stream=FS.getStreamChecked(fd);var node=stream.node;var getattr=stream.stream_ops.getattr;var arg=getattr?stream:node;getattr??=node.node_ops.getattr;FS.checkOpExists(getattr,63);return getattr(arg)},lstat(path){return FS.stat(path,true)},doChmod(stream,node,mode,dontFollow){FS.doSetAttr(stream,node,{mode:mode&4095|node.mode&~4095,ctime:Date.now(),dontFollow})},chmod(path,mode,dontFollow){var node;if(typeof path=="string"){var lookup=FS.lookupPath(path,{follow:!dontFollow});node=lookup.node}else{node=path}FS.doChmod(null,node,mode,dontFollow)},lchmod(path,mode){FS.chmod(path,mode,true)},fchmod(fd,mode){var stream=FS.getStreamChecked(fd);FS.doChmod(stream,stream.node,mode,false)},doChown(stream,node,dontFollow){FS.doSetAttr(stream,node,{timestamp:Date.now(),dontFollow})},chown(path,uid,gid,dontFollow){var node;if(typeof path=="string"){var lookup=FS.lookupPath(path,{follow:!dontFollow});node=lookup.node}else{node=path}FS.doChown(null,node,dontFollow)},lchown(path,uid,gid){FS.chown(path,uid,gid,true)},fchown(fd,uid,gid){var stream=FS.getStreamChecked(fd);FS.doChown(stream,stream.node,false)},doTruncate(stream,node,len){if(FS.isDir(node.mode)){throw new FS.ErrnoError(31)}if(!FS.isFile(node.mode)){throw new FS.ErrnoError(28)}var errCode=FS.nodePermissions(node,"w");if(errCode){throw new FS.ErrnoError(errCode)}FS.doSetAttr(stream,node,{size:len,timestamp:Date.now()})},truncate(path,len){if(len<0){throw new FS.ErrnoError(28)}var node;if(typeof path=="string"){var lookup=FS.lookupPath(path,{follow:true});node=lookup.node}else{node=path}FS.doTruncate(null,node,len)},ftruncate(fd,len){var stream=FS.getStreamChecked(fd);if(len<0||(stream.flags&2097155)===0){throw new FS.ErrnoError(28)}FS.doTruncate(stream,stream.node,len)},utime(path,atime,mtime){var lookup=FS.lookupPath(path,{follow:true});var node=lookup.node;var setattr=FS.checkOpExists(node.node_ops.setattr,63);setattr(node,{atime,mtime})},open(path,flags,mode=438){if(path===""){throw new FS.ErrnoError(44)}flags=FS_modeStringToFlags(flags);if(flags&64){mode=mode&4095|32768}else{mode=0}var node;var isDirPath;if(typeof path=="object"){node=path}else{isDirPath=path.endsWith("/");var lookup=FS.lookupPath(path,{follow:!(flags&131072),noent_okay:true});node=lookup.node;path=lookup.path}var created=false;if(flags&64){if(node){if(flags&128){throw new FS.ErrnoError(20)}}else if(isDirPath){throw new FS.ErrnoError(31)}else{node=FS.mknod(path,mode|511,0);created=true}}if(!node){throw new FS.ErrnoError(44)}if(FS.isChrdev(node.mode)){flags&=~512}if(flags&65536&&!FS.isDir(node.mode)){throw new FS.ErrnoError(54)}if(!created){var errCode=FS.mayOpen(node,flags);if(errCode){throw new FS.ErrnoError(errCode)}}if(flags&512&&!created){FS.truncate(node,0)}flags&=~(128|512|131072);var stream=FS.createStream({node,path:FS.getPath(node),flags,seekable:true,position:0,stream_ops:node.stream_ops,ungotten:[],error:false});if(stream.stream_ops.open){stream.stream_ops.open(stream)}if(created){FS.chmod(node,mode&511)}return stream},close(stream){if(FS.isClosed(stream)){throw new FS.ErrnoError(8)}if(stream.getdents)stream.getdents=null;try{if(stream.stream_ops.close){stream.stream_ops.close(stream)}}catch(e){throw e}finally{FS.closeStream(stream.fd)}stream.fd=null},isClosed(stream){return stream.fd===null},llseek(stream,offset,whence){if(FS.isClosed(stream)){throw new FS.ErrnoError(8)}if(!stream.seekable||!stream.stream_ops.llseek){throw new FS.ErrnoError(70)}if(whence!=0&&whence!=1&&whence!=2){throw new FS.ErrnoError(28)}stream.position=stream.stream_ops.llseek(stream,offset,whence);stream.ungotten=[];return stream.position},read(stream,buffer,offset,length,position){if(length<0||position<0){throw new FS.ErrnoError(28)}if(FS.isClosed(stream)){throw new FS.ErrnoError(8)}if((stream.flags&2097155)===1){throw new FS.ErrnoError(8)}if(FS.isDir(stream.node.mode)){throw new FS.ErrnoError(31)}if(!stream.stream_ops.read){throw new FS.ErrnoError(28)}var seeking=typeof position!="undefined";if(!seeking){position=stream.position}else if(!stream.seekable){throw new FS.ErrnoError(70)}var bytesRead=stream.stream_ops.read(stream,buffer,offset,length,position);if(!seeking)stream.position+=bytesRead;return bytesRead},write(stream,buffer,offset,length,position,canOwn){if(length<0||position<0){throw new FS.ErrnoError(28)}if(FS.isClosed(stream)){throw new FS.ErrnoError(8)}if((stream.flags&2097155)===0){throw new FS.ErrnoError(8)}if(FS.isDir(stream.node.mode)){throw new FS.ErrnoError(31)}if(!stream.stream_ops.write){throw new FS.ErrnoError(28)}if(stream.seekable&&stream.flags&1024){FS.llseek(stream,0,2)}var seeking=typeof position!="undefined";if(!seeking){position=stream.position}else if(!stream.seekable){throw new FS.ErrnoError(70)}var bytesWritten=stream.stream_ops.write(stream,buffer,offset,length,position,canOwn);if(!seeking)stream.position+=bytesWritten;return bytesWritten},mmap(stream,length,position,prot,flags){if((prot&2)!==0&&(flags&2)===0&&(stream.flags&2097155)!==2){throw new FS.ErrnoError(2)}if((stream.flags&2097155)===1){throw new FS.ErrnoError(2)}if(!stream.stream_ops.mmap){throw new FS.ErrnoError(43)}if(!length){throw new FS.ErrnoError(28)}return stream.stream_ops.mmap(stream,length,position,prot,flags)},msync(stream,buffer,offset,length,mmapFlags){if(!stream.stream_ops.msync){return 0}return stream.stream_ops.msync(stream,buffer,offset,length,mmapFlags)},ioctl(stream,cmd,arg){if(!stream.stream_ops.ioctl){throw new FS.ErrnoError(59)}return stream.stream_ops.ioctl(stream,cmd,arg)},readFile(path,opts={}){opts.flags=opts.flags||0;opts.encoding=opts.encoding||"binary";if(opts.encoding!=="utf8"&&opts.encoding!=="binary"){abort(`Invalid encoding type "${opts.encoding}"`)}var stream=FS.open(path,opts.flags);var stat=FS.stat(path);var length=stat.size;var buf=new Uint8Array(length);FS.read(stream,buf,0,length,0);if(opts.encoding==="utf8"){buf=UTF8ArrayToString(buf)}FS.close(stream);return buf},writeFile(path,data,opts={}){opts.flags=opts.flags||577;var stream=FS.open(path,opts.flags,opts.mode);data=FS_fileDataToTypedArray(data);FS.write(stream,data,0,data.byteLength,undefined,opts.canOwn);FS.close(stream)},cwd:()=>FS.currentPath,chdir(path){var lookup=FS.lookupPath(path,{follow:true});if(lookup.node===null){throw new FS.ErrnoError(44)}if(!FS.isDir(lookup.node.mode)){throw new FS.ErrnoError(54)}var errCode=FS.nodePermissions(lookup.node,"x");if(errCode){throw new FS.ErrnoError(errCode)}FS.currentPath=lookup.path},createDefaultDirectories(){FS.mkdir("/tmp");FS.mkdir("/home");FS.mkdir("/home/web_user")},createDefaultDevices(){FS.mkdir("/dev");FS.registerDevice(FS.makedev(1,3),{read:()=>0,write:(stream,buffer,offset,length,pos)=>length,llseek:()=>0});FS.mkdev("/dev/null",FS.makedev(1,3));TTY.register(FS.makedev(5,0),TTY.default_tty_ops);TTY.register(FS.makedev(6,0),TTY.default_tty1_ops);FS.mkdev("/dev/tty",FS.makedev(5,0));FS.mkdev("/dev/tty1",FS.makedev(6,0));var randomBuffer=new Uint8Array(1024),randomLeft=0;var randomByte=()=>{if(randomLeft===0){randomFill(randomBuffer);randomLeft=randomBuffer.byteLength}return randomBuffer[--randomLeft]};FS.createDevice("/dev","random",randomByte);FS.createDevice("/dev","urandom",randomByte);FS.mkdir("/dev/shm");FS.mkdir("/dev/shm/tmp")},createSpecialDirectories(){FS.mkdir("/proc");var proc_self=FS.mkdir("/proc/self");FS.mkdir("/proc/self/fd");FS.mount({mount(){var node=FS.createNode(proc_self,"fd",16895,73);node.stream_ops={llseek:MEMFS.stream_ops.llseek};node.node_ops={lookup(parent,name){var fd=+name;var stream=FS.getStreamChecked(fd);var ret={parent:null,mount:{mountpoint:"fake"},node_ops:{readlink:()=>stream.path},id:fd+1};ret.parent=ret;return ret},readdir(){return Array.from(FS.streams.entries()).filter(([k,v])=>v).map(([k,v])=>k.toString())}};return node}},{},"/proc/self/fd")},createStandardStreams(input,output,error){if(input){FS.createDevice("/dev","stdin",input)}else{FS.symlink("/dev/tty","/dev/stdin")}if(output){FS.createDevice("/dev","stdout",null,output)}else{FS.symlink("/dev/tty","/dev/stdout")}if(error){FS.createDevice("/dev","stderr",null,error)}else{FS.symlink("/dev/tty1","/dev/stderr")}var stdin=FS.open("/dev/stdin",0);var stdout=FS.open("/dev/stdout",1);var stderr=FS.open("/dev/stderr",1)},staticInit(){FS.nameTable=new Array(4096);FS.mount(MEMFS,{},"/");FS.createDefaultDirectories();FS.createDefaultDevices();FS.createSpecialDirectories();FS.filesystems={MEMFS}},init(input,output,error){FS.initialized=true;input??=Module["stdin"];output??=Module["stdout"];error??=Module["stderr"];FS.createStandardStreams(input,output,error)},quit(){FS.initialized=false;for(var stream of FS.streams){if(stream){FS.close(stream)}}},findObject(path,dontResolveLastLink){var ret=FS.analyzePath(path,dontResolveLastLink);if(!ret.exists){return null}return ret.object},analyzePath(path,dontResolveLastLink){try{var lookup=FS.lookupPath(path,{follow:!dontResolveLastLink});path=lookup.path}catch(e){}var ret={isRoot:false,exists:false,error:0,name:null,path:null,object:null,parentExists:false,parentPath:null,parentObject:null};try{var lookup=FS.lookupPath(path,{parent:true});ret.parentExists=true;ret.parentPath=lookup.path;ret.parentObject=lookup.node;ret.name=PATH.basename(path);lookup=FS.lookupPath(path,{follow:!dontResolveLastLink});ret.exists=true;ret.path=lookup.path;ret.object=lookup.node;ret.name=lookup.node.name;ret.isRoot=lookup.path==="/"}catch(e){ret.error=e.errno}return ret},createPath(parent,path,canRead,canWrite){parent=typeof parent=="string"?parent:FS.getPath(parent);var parts=path.split("/").reverse();while(parts.length){var part=parts.pop();if(!part)continue;var current=PATH.join2(parent,part);try{FS.mkdir(current)}catch(e){if(e.errno!=20)throw e}parent=current}return current},createFile(parent,name,properties,canRead,canWrite){var path=PATH.join2(typeof parent=="string"?parent:FS.getPath(parent),name);var mode=FS_getMode(canRead,canWrite);return FS.create(path,mode)},createDataFile(parent,name,data,canRead,canWrite,canOwn){var path=name;if(parent){parent=typeof parent=="string"?parent:FS.getPath(parent);path=name?PATH.join2(parent,name):parent}var mode=FS_getMode(canRead,canWrite);var node=FS.create(path,mode);if(data){data=FS_fileDataToTypedArray(data);FS.chmod(node,mode|146);var stream=FS.open(node,577);FS.write(stream,data,0,data.length,0,canOwn);FS.close(stream);FS.chmod(node,mode)}},createDevice(parent,name,input,output){var path=PATH.join2(typeof parent=="string"?parent:FS.getPath(parent),name);var mode=FS_getMode(!!input,!!output);FS.createDevice.major??=64;var dev=FS.makedev(FS.createDevice.major++,0);FS.registerDevice(dev,{open(stream){stream.seekable=false},close(stream){if(output?.buffer?.length){output(10)}},read(stream,buffer,offset,length,pos){var bytesRead=0;for(var i=0;ithis.length-1||idx<0){return undefined}var chunkOffset=idx%this.chunkSize;var chunkNum=idx/this.chunkSize|0;return this.getter(chunkNum)[chunkOffset]}setDataGetter(getter){this.getter=getter}cacheLength(){var xhr=new XMLHttpRequest;xhr.open("HEAD",url,false);xhr.send(null);if(!(xhr.status>=200&&xhr.status<300||xhr.status===304))abort("Couldn't load "+url+". Status: "+xhr.status);var datalength=Number(xhr.getResponseHeader("Content-length"));var header;var hasByteServing=(header=xhr.getResponseHeader("Accept-Ranges"))&&header==="bytes";var usesGzip=(header=xhr.getResponseHeader("Content-Encoding"))&&header==="gzip";var chunkSize=1024*1024;if(!hasByteServing)chunkSize=datalength;var doXHR=(from,to)=>{if(from>to)abort("invalid range ("+from+", "+to+") or no bytes requested!");if(to>datalength-1)abort("only "+datalength+" bytes available! programmer error!");var xhr=new XMLHttpRequest;xhr.open("GET",url,false);if(datalength!==chunkSize)xhr.setRequestHeader("Range","bytes="+from+"-"+to);xhr.responseType="arraybuffer";if(xhr.overrideMimeType){xhr.overrideMimeType("text/plain; charset=x-user-defined")}xhr.send(null);if(!(xhr.status>=200&&xhr.status<300||xhr.status===304))abort("Couldn't load "+url+". Status: "+xhr.status);if(xhr.response!==undefined){return new Uint8Array(xhr.response||[])}return intArrayFromString(xhr.responseText||"",true)};var lazyArray=this;lazyArray.setDataGetter(chunkNum=>{var start=chunkNum*chunkSize;var end=(chunkNum+1)*chunkSize-1;end=Math.min(end,datalength-1);if(typeof lazyArray.chunks[chunkNum]=="undefined"){lazyArray.chunks[chunkNum]=doXHR(start,end)}if(typeof lazyArray.chunks[chunkNum]=="undefined")abort("doXHR failed!");return lazyArray.chunks[chunkNum]});if(usesGzip||!datalength){chunkSize=datalength=1;datalength=this.getter(0).length;chunkSize=datalength;out("LazyFiles on gzip forces download of the whole file when length is accessed")}this._length=datalength;this._chunkSize=chunkSize;this.lengthKnown=true}get length(){if(!this.lengthKnown){this.cacheLength()}return this._length}get chunkSize(){if(!this.lengthKnown){this.cacheLength()}return this._chunkSize}}if(globalThis.XMLHttpRequest){if(!ENVIRONMENT_IS_WORKER)abort("Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc");var lazyArray=new LazyUint8Array;var properties={isDevice:false,contents:lazyArray}}else{var properties={isDevice:false,url}}var node=FS.createFile(parent,name,properties,canRead,canWrite);if(properties.contents){node.contents=properties.contents}else if(properties.url){node.contents=null;node.url=properties.url}Object.defineProperties(node,{usedBytes:{get:function(){return this.contents.length}}});var stream_ops={};for(const[key,fn]of Object.entries(node.stream_ops)){stream_ops[key]=(...args)=>{FS.forceLoadFile(node);return fn(...args)}}function writeChunks(stream,buffer,offset,length,position){var contents=stream.node.contents;if(position>=contents.length)return 0;var size=Math.min(contents.length-position,length);if(contents.slice){for(var i=0;i{FS.forceLoadFile(node);return writeChunks(stream,buffer,offset,length,position)};stream_ops.mmap=(stream,length,position,prot,flags)=>{FS.forceLoadFile(node);var ptr=mmapAlloc(length);if(!ptr){throw new FS.ErrnoError(48)}writeChunks(stream,HEAP8,ptr,length,position);return{ptr,allocated:true}};node.stream_ops=stream_ops;return node}};var SYSCALLS={calculateAt(dirfd,path,allowEmpty){if(PATH.isAbs(path)){return path}var dir;if(dirfd===-100){dir=FS.cwd()}else{var dirstream=SYSCALLS.getStreamFromFD(dirfd);dir=dirstream.path}if(path.length==0){if(!allowEmpty){throw new FS.ErrnoError(44)}return dir}return dir+"/"+path},writeStat(buf,stat){HEAPU32[buf>>2]=stat.dev;HEAPU32[buf+4>>2]=stat.mode;HEAPU32[buf+8>>2]=stat.nlink;HEAPU32[buf+12>>2]=stat.uid;HEAPU32[buf+16>>2]=stat.gid;HEAPU32[buf+20>>2]=stat.rdev;HEAP64[buf+24>>3]=BigInt(stat.size);HEAP32[buf+32>>2]=4096;HEAP32[buf+36>>2]=stat.blocks;var atime=stat.atime.getTime();var mtime=stat.mtime.getTime();var ctime=stat.ctime.getTime();HEAP64[buf+40>>3]=BigInt(Math.floor(atime/1e3));HEAPU32[buf+48>>2]=atime%1e3*1e3*1e3;HEAP64[buf+56>>3]=BigInt(Math.floor(mtime/1e3));HEAPU32[buf+64>>2]=mtime%1e3*1e3*1e3;HEAP64[buf+72>>3]=BigInt(Math.floor(ctime/1e3));HEAPU32[buf+80>>2]=ctime%1e3*1e3*1e3;HEAP64[buf+88>>3]=BigInt(stat.ino);return 0},writeStatFs(buf,stats){HEAPU32[buf+4>>2]=stats.bsize;HEAPU32[buf+60>>2]=stats.bsize;HEAP64[buf+8>>3]=BigInt(stats.blocks);HEAP64[buf+16>>3]=BigInt(stats.bfree);HEAP64[buf+24>>3]=BigInt(stats.bavail);HEAP64[buf+32>>3]=BigInt(stats.files);HEAP64[buf+40>>3]=BigInt(stats.ffree);HEAPU32[buf+48>>2]=stats.fsid;HEAPU32[buf+64>>2]=stats.flags;HEAPU32[buf+56>>2]=stats.namelen},doMsync(addr,stream,len,flags,offset){if(!FS.isFile(stream.node.mode)){throw new FS.ErrnoError(43)}if(flags&2){return 0}var buffer=HEAPU8.slice(addr,addr+len);FS.msync(stream,buffer,offset,len,flags)},getStreamFromFD(fd){var stream=FS.getStreamChecked(fd);return stream},varargs:undefined,getStr(ptr){var ret=UTF8ToString(ptr);return ret}};function ___syscall_faccessat(dirfd,path,amode,flags){try{path=SYSCALLS.getStr(path);path=SYSCALLS.calculateAt(dirfd,path);if(amode&~7){return-28}var lookup=FS.lookupPath(path,{follow:true});var node=lookup.node;if(!node){return-44}var perms="";if(amode&4)perms+="r";if(amode&2)perms+="w";if(amode&1)perms+="x";if(perms&&FS.nodePermissions(node,perms)){return-2}return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}var syscallGetVarargI=()=>{var ret=HEAP32[+SYSCALLS.varargs>>2];SYSCALLS.varargs+=4;return ret};var syscallGetVarargP=syscallGetVarargI;function ___syscall_fcntl64(fd,cmd,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(fd);switch(cmd){case 0:{var arg=syscallGetVarargI();if(arg<0){return-28}while(FS.streams[arg]){arg++}var newStream;newStream=FS.dupStream(stream,arg);return newStream.fd}case 1:case 2:return 0;case 3:return stream.flags;case 4:{var arg=syscallGetVarargI();stream.flags|=arg;return 0}case 12:{var arg=syscallGetVarargP();var offset=0;HEAP16[arg+offset>>1]=2;return 0}case 13:case 14:return 0}return-28}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}function ___syscall_fstat64(fd,buf){try{return SYSCALLS.writeStat(buf,FS.fstat(fd))}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}var INT53_MAX=9007199254740992;var INT53_MIN=-9007199254740992;var bigintToI53Checked=num=>numINT53_MAX?NaN:Number(num);function ___syscall_ftruncate64(fd,length){length=bigintToI53Checked(length);try{if(isNaN(length))return-61;FS.ftruncate(fd,length);return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}var stringToUTF8=(str,outPtr,maxBytesToWrite)=>stringToUTF8Array(str,HEAPU8,outPtr,maxBytesToWrite);function ___syscall_getdents64(fd,dirp,count){try{var stream=SYSCALLS.getStreamFromFD(fd);stream.getdents||=FS.readdir(stream.path);var struct_size=280;var pos=0;var off=FS.llseek(stream,0,1);var startIdx=Math.floor(off/struct_size);var endIdx=Math.min(stream.getdents.length,startIdx+Math.floor(count/struct_size));for(var idx=startIdx;idx>3]=BigInt(id);HEAP64[dirp+pos+8>>3]=BigInt((idx+1)*struct_size);HEAP16[dirp+pos+16>>1]=280;HEAP8[dirp+pos+18]=type;stringToUTF8(name,dirp+pos+19,256);pos+=struct_size}FS.llseek(stream,idx*struct_size,0);return pos}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}function ___syscall_ioctl(fd,op,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(fd);switch(op){case 21509:{if(!stream.tty)return-59;return 0}case 21505:{if(!stream.tty)return-59;if(stream.tty.ops.ioctl_tcgets){var termios=stream.tty.ops.ioctl_tcgets(stream);var argp=syscallGetVarargP();HEAP32[argp>>2]=termios.c_iflag||0;HEAP32[argp+4>>2]=termios.c_oflag||0;HEAP32[argp+8>>2]=termios.c_cflag||0;HEAP32[argp+12>>2]=termios.c_lflag||0;for(var i=0;i<32;i++){HEAP8[argp+i+17]=termios.c_cc[i]||0}return 0}return 0}case 21510:case 21511:case 21512:{if(!stream.tty)return-59;return 0}case 21506:case 21507:case 21508:{if(!stream.tty)return-59;if(stream.tty.ops.ioctl_tcsets){var argp=syscallGetVarargP();var c_iflag=HEAP32[argp>>2];var c_oflag=HEAP32[argp+4>>2];var c_cflag=HEAP32[argp+8>>2];var c_lflag=HEAP32[argp+12>>2];var c_cc=[];for(var i=0;i<32;i++){c_cc.push(HEAP8[argp+i+17])}return stream.tty.ops.ioctl_tcsets(stream.tty,op,{c_iflag,c_oflag,c_cflag,c_lflag,c_cc})}return 0}case 21519:{if(!stream.tty)return-59;var argp=syscallGetVarargP();HEAP32[argp>>2]=0;return 0}case 21520:{if(!stream.tty)return-59;return-28}case 21537:case 21531:{var argp=syscallGetVarargP();return FS.ioctl(stream,op,argp)}case 21523:{if(!stream.tty)return-59;if(stream.tty.ops.ioctl_tiocgwinsz){var winsize=stream.tty.ops.ioctl_tiocgwinsz(stream.tty);var argp=syscallGetVarargP();HEAP16[argp>>1]=winsize[0];HEAP16[argp+2>>1]=winsize[1]}return 0}case 21524:{if(!stream.tty)return-59;return 0}case 21515:{if(!stream.tty)return-59;return 0}default:return-28}}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}function ___syscall_lstat64(path,buf){try{path=SYSCALLS.getStr(path);return SYSCALLS.writeStat(buf,FS.lstat(path))}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}function ___syscall_mkdirat(dirfd,path,mode){try{path=SYSCALLS.getStr(path);path=SYSCALLS.calculateAt(dirfd,path);FS.mkdir(path,mode,0);return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}function ___syscall_newfstatat(dirfd,path,buf,flags){try{path=SYSCALLS.getStr(path);var nofollow=flags&256;var allowEmpty=flags&4096;flags=flags&~6400;path=SYSCALLS.calculateAt(dirfd,path,allowEmpty);return SYSCALLS.writeStat(buf,nofollow?FS.lstat(path):FS.stat(path))}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}function ___syscall_openat(dirfd,path,flags,varargs){SYSCALLS.varargs=varargs;try{path=SYSCALLS.getStr(path);path=SYSCALLS.calculateAt(dirfd,path);var mode=varargs?syscallGetVarargI():0;return FS.open(path,flags,mode).fd}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}function ___syscall_rmdir(path){try{path=SYSCALLS.getStr(path);FS.rmdir(path);return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}function ___syscall_stat64(path,buf){try{path=SYSCALLS.getStr(path);return SYSCALLS.writeStat(buf,FS.stat(path))}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}function ___syscall_unlinkat(dirfd,path,flags){try{path=SYSCALLS.getStr(path);path=SYSCALLS.calculateAt(dirfd,path);if(!flags){FS.unlink(path)}else if(flags===512){FS.rmdir(path)}else{return-28}return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}var __abort_js=()=>abort("");var createNamedFunction=(name,func)=>Object.defineProperty(func,"name",{value:name});var emval_freelist=[];var emval_handles=[0,1,,1,null,1,true,1,false,1];var BindingError=class BindingError extends Error{constructor(message){super(message);this.name="BindingError"}};var throwBindingError=message=>{throw new BindingError(message)};var Emval={toValue:handle=>{if(!handle){throwBindingError(`Cannot use deleted val. handle = ${handle}`)}return emval_handles[handle]},toHandle:value=>{switch(value){case undefined:return 2;case null:return 4;case true:return 6;case false:return 8;default:{const handle=emval_freelist.pop()||emval_handles.length;emval_handles[handle]=value;emval_handles[handle+1]=1;return handle}}}};class PureVirtualError extends Error{}var AsciiToString=ptr=>{var str="";while(1){var ch=HEAPU8[ptr++];if(!ch)return str;str+=String.fromCharCode(ch)}};var registeredInstances={};var getBasestPointer=(class_,ptr)=>{if(ptr===undefined){throwBindingError("ptr should not be undefined")}while(class_.baseClass){ptr=class_.upcast(ptr);class_=class_.baseClass}return ptr};var registerInheritedInstance=(class_,ptr,instance)=>{ptr=getBasestPointer(class_,ptr);if(registeredInstances.hasOwnProperty(ptr)){throwBindingError(`Tried to register registered instance: ${ptr}`)}else{registeredInstances[ptr]=instance}};var registeredTypes={};var getTypeName=type=>{var ptr=___getTypeName(type);var rv=AsciiToString(ptr);_free(ptr);return rv};var requireRegisteredType=(rawType,humanName)=>{var impl=registeredTypes[rawType];if(undefined===impl){throwBindingError(`${humanName} has unknown type ${getTypeName(rawType)}`)}return impl};var unregisterInheritedInstance=(class_,ptr)=>{ptr=getBasestPointer(class_,ptr);if(registeredInstances.hasOwnProperty(ptr)){delete registeredInstances[ptr]}else{throwBindingError(`Tried to unregister unregistered instance: ${ptr}`)}};var detachFinalizer=handle=>{};var finalizationRegistry=false;var runDestructor=$$=>{if($$.smartPtr){$$.smartPtrType.rawDestructor($$.smartPtr)}else{$$.ptrType.registeredClass.rawDestructor($$.ptr)}};var releaseClassHandle=$$=>{$$.count.value-=1;var toDelete=0===$$.count.value;if(toDelete){runDestructor($$)}};var attachFinalizer=handle=>{if(!globalThis.FinalizationRegistry){attachFinalizer=handle=>handle;return handle}finalizationRegistry=new FinalizationRegistry(info=>{releaseClassHandle(info.$$)});attachFinalizer=handle=>{var $$=handle.$$;var hasSmartPtr=!!$$.smartPtr;if(hasSmartPtr){var info={$$};finalizationRegistry.register(handle,info,handle)}return handle};detachFinalizer=handle=>finalizationRegistry.unregister(handle);return attachFinalizer(handle)};var __embind_create_inheriting_constructor=(constructorName,wrapperType,properties)=>{constructorName=AsciiToString(constructorName);wrapperType=requireRegisteredType(wrapperType,"wrapper");properties=Emval.toValue(properties);var registeredClass=wrapperType.registeredClass;var wrapperPrototype=registeredClass.instancePrototype;var baseClass=registeredClass.baseClass;var baseClassPrototype=baseClass.instancePrototype;var baseConstructor=registeredClass.baseClass.constructor;var ctor=createNamedFunction(constructorName,function(...args){for(var name of registeredClass.baseClass.pureVirtualFunctions){if(this[name]===baseClassPrototype[name]){throw new PureVirtualError(`Pure virtual function ${name} must be implemented in JavaScript`)}}Object.defineProperty(this,"__parent",{value:wrapperPrototype});this["__construct"](...args)});wrapperPrototype["__construct"]=function __construct(...args){if(this===wrapperPrototype){throwBindingError("Pass correct 'this' to __construct")}var inner=baseConstructor["implement"](this,...args);detachFinalizer(inner);var $$=inner.$$;inner["notifyOnDestruction"]();$$.preservePointerOnDelete=true;Object.defineProperties(this,{$$:{value:$$}});attachFinalizer(this);registerInheritedInstance(registeredClass,$$.ptr,this)};wrapperPrototype["__destruct"]=function __destruct(){if(this===wrapperPrototype){throwBindingError("Pass correct 'this' to __destruct")}detachFinalizer(this);unregisterInheritedInstance(registeredClass,this.$$.ptr)};ctor.prototype=Object.create(wrapperPrototype);Object.assign(ctor.prototype,properties);return Emval.toHandle(ctor)};var structRegistrations={};var runDestructors=destructors=>{while(destructors.length){var ptr=destructors.pop();var del=destructors.pop();del(ptr)}};function readPointer(pointer){return this.fromWireType(HEAPU32[pointer>>2])}var awaitingDependencies={};var typeDependencies={};var InternalError=class InternalError extends Error{constructor(message){super(message);this.name="InternalError"}};var throwInternalError=message=>{throw new InternalError(message)};var whenDependentTypesAreResolved=(myTypes,dependentTypes,getTypeConverters)=>{myTypes.forEach(type=>typeDependencies[type]=dependentTypes);function onComplete(typeConverters){var myTypeConverters=getTypeConverters(typeConverters);if(myTypeConverters.length!==myTypes.length){throwInternalError("Mismatched type converter count")}for(var i=0;i{typeConverters[i]=registeredTypes[dt];++registered;if(registered===unregisteredTypes.length){onComplete(typeConverters)}})}}if(0===unregisteredTypes.length){onComplete(typeConverters)}};var __embind_finalize_value_object=structType=>{var reg=structRegistrations[structType];delete structRegistrations[structType];var rawConstructor=reg.rawConstructor;var rawDestructor=reg.rawDestructor;var fieldRecords=reg.fields;var fieldTypes=fieldRecords.map(field=>field.getterReturnType).concat(fieldRecords.map(field=>field.setterArgumentType));whenDependentTypesAreResolved([structType],fieldTypes,fieldTypes=>{var fields={};for(var[i,field]of fieldRecords.entries()){const getterReturnType=fieldTypes[i];const getter=field.getter;const getterContext=field.getterContext;const setterArgumentType=fieldTypes[i+fieldRecords.length];const setter=field.setter;const setterContext=field.setterContext;fields[field.fieldName]={read:ptr=>getterReturnType.fromWireType(getter(getterContext,ptr)),write:(ptr,o)=>{var destructors=[];setter(setterContext,ptr,setterArgumentType.toWireType(destructors,o));runDestructors(destructors)},optional:getterReturnType.optional}}return[{name:reg.name,fromWireType:ptr=>{var rv={};for(var i in fields){rv[i]=fields[i].read(ptr)}rawDestructor(ptr);return rv},toWireType:(destructors,o)=>{for(var fieldName in fields){if(!(fieldName in o)&&!fields[fieldName].optional){throw new TypeError(`Missing field: "${fieldName}"`)}}var ptr=rawConstructor();for(fieldName in fields){fields[fieldName].write(ptr,o[fieldName])}if(destructors!==null){destructors.push(rawDestructor,ptr)}return ptr},readValueFromPointer:readPointer,destructorFunction:rawDestructor}]})};function sharedRegisterType(rawType,registeredInstance,options={}){var name=registeredInstance.name;if(!rawType){throwBindingError(`type "${name}" must have a positive integer typeid pointer`)}if(registeredTypes.hasOwnProperty(rawType)){if(options.ignoreDuplicateRegistrations){return}else{throwBindingError(`Cannot register type '${name}' twice`)}}registeredTypes[rawType]=registeredInstance;delete typeDependencies[rawType];if(awaitingDependencies.hasOwnProperty(rawType)){var callbacks=awaitingDependencies[rawType];delete awaitingDependencies[rawType];callbacks.forEach(cb=>cb())}}function registerType(rawType,registeredInstance,options={}){return sharedRegisterType(rawType,registeredInstance,options)}var integerReadValueFromPointer=(name,width,signed)=>{switch(width){case 1:return signed?pointer=>HEAP8[pointer]:pointer=>HEAPU8[pointer];case 2:return signed?pointer=>HEAP16[pointer>>1]:pointer=>HEAPU16[pointer>>1];case 4:return signed?pointer=>HEAP32[pointer>>2]:pointer=>HEAPU32[pointer>>2];case 8:return signed?pointer=>HEAP64[pointer>>3]:pointer=>HEAPU64[pointer>>3];default:throw new TypeError(`invalid integer width (${width}): ${name}`)}};var __embind_register_bigint=(primitiveType,name,size,minRange,maxRange)=>{name=AsciiToString(name);const isUnsignedType=minRange===0n;let fromWireType=value=>value;if(isUnsignedType){const bitSize=size*8;fromWireType=value=>BigInt.asUintN(bitSize,value);maxRange=fromWireType(maxRange)}registerType(primitiveType,{name,fromWireType,toWireType:(destructors,value)=>{if(typeof value=="number"){value=BigInt(value)}return value},readValueFromPointer:integerReadValueFromPointer(name,size,!isUnsignedType),destructorFunction:null})};var __embind_register_bool=(rawType,name,trueValue,falseValue)=>{name=AsciiToString(name);registerType(rawType,{name,fromWireType:function(wt){return!!wt},toWireType:function(destructors,o){return o?trueValue:falseValue},readValueFromPointer:function(pointer){return this.fromWireType(HEAPU8[pointer])},destructorFunction:null})};var shallowCopyInternalPointer=o=>({count:o.count,deleteScheduled:o.deleteScheduled,preservePointerOnDelete:o.preservePointerOnDelete,ptr:o.ptr,ptrType:o.ptrType,smartPtr:o.smartPtr,smartPtrType:o.smartPtrType});var throwInstanceAlreadyDeleted=obj=>{function getInstanceTypeName(handle){return handle.$$.ptrType.registeredClass.name}throwBindingError(getInstanceTypeName(obj)+" instance already deleted")};var deletionQueue=[];var flushPendingDeletes=()=>{while(deletionQueue.length){var obj=deletionQueue.pop();obj.$$.deleteScheduled=false;obj["delete"]()}};var delayFunction;var init_ClassHandle=()=>{let proto=ClassHandle.prototype;Object.assign(proto,{isAliasOf(other){if(!(this instanceof ClassHandle)){return false}if(!(other instanceof ClassHandle)){return false}var leftClass=this.$$.ptrType.registeredClass;var left=this.$$.ptr;other.$$=other.$$;var rightClass=other.$$.ptrType.registeredClass;var right=other.$$.ptr;while(leftClass.baseClass){left=leftClass.upcast(left);leftClass=leftClass.baseClass}while(rightClass.baseClass){right=rightClass.upcast(right);rightClass=rightClass.baseClass}return leftClass===rightClass&&left===right},clone(){if(!this.$$.ptr){throwInstanceAlreadyDeleted(this)}if(this.$$.preservePointerOnDelete){this.$$.count.value+=1;return this}else{var clone=attachFinalizer(Object.create(Object.getPrototypeOf(this),{$$:{value:shallowCopyInternalPointer(this.$$)}}));clone.$$.count.value+=1;clone.$$.deleteScheduled=false;return clone}},delete(){if(!this.$$.ptr){throwInstanceAlreadyDeleted(this)}if(this.$$.deleteScheduled&&!this.$$.preservePointerOnDelete){throwBindingError("Object already scheduled for deletion")}detachFinalizer(this);releaseClassHandle(this.$$);if(!this.$$.preservePointerOnDelete){this.$$.smartPtr=undefined;this.$$.ptr=undefined}},isDeleted(){return!this.$$.ptr},deleteLater(){if(!this.$$.ptr){throwInstanceAlreadyDeleted(this)}if(this.$$.deleteScheduled&&!this.$$.preservePointerOnDelete){throwBindingError("Object already scheduled for deletion")}deletionQueue.push(this);if(deletionQueue.length===1&&delayFunction){delayFunction(flushPendingDeletes)}this.$$.deleteScheduled=true;return this}});const symbolDispose=Symbol.dispose;if(symbolDispose){proto[symbolDispose]=proto["delete"]}};function ClassHandle(){}var registeredPointers={};var ensureOverloadTable=(proto,methodName,humanName)=>{if(undefined===proto[methodName].overloadTable){var prevFunc=proto[methodName];proto[methodName]=function(...args){if(!proto[methodName].overloadTable.hasOwnProperty(args.length)){throwBindingError(`Function '${humanName}' called with an invalid number of arguments (${args.length}) - expects one of (${proto[methodName].overloadTable})!`)}return proto[methodName].overloadTable[args.length].apply(this,args)};proto[methodName].overloadTable=[];proto[methodName].overloadTable[prevFunc.argCount]=prevFunc}};var exposePublicSymbol=(name,value,numArguments)=>{if(Module.hasOwnProperty(name)){if(undefined===numArguments||undefined!==Module[name].overloadTable&&undefined!==Module[name].overloadTable[numArguments]){throwBindingError(`Cannot register public name '${name}' twice`)}ensureOverloadTable(Module,name,name);if(Module[name].overloadTable.hasOwnProperty(numArguments)){throwBindingError(`Cannot register multiple overloads of a function with the same number of arguments (${numArguments})!`)}Module[name].overloadTable[numArguments]=value}else{Module[name]=value;Module[name].argCount=numArguments}};var char_0=48;var char_9=57;var makeLegalFunctionName=name=>{name=name.replace(/[^a-zA-Z0-9_]/g,"$");var f=name.charCodeAt(0);if(f>=char_0&&f<=char_9){return`_${name}`}return name};function RegisteredClass(name,constructor,instancePrototype,rawDestructor,baseClass,getActualType,upcast,downcast){this.name=name;this.constructor=constructor;this.instancePrototype=instancePrototype;this.rawDestructor=rawDestructor;this.baseClass=baseClass;this.getActualType=getActualType;this.upcast=upcast;this.downcast=downcast;this.pureVirtualFunctions=[]}var upcastPointer=(ptr,ptrClass,desiredClass)=>{while(ptrClass!==desiredClass){if(!ptrClass.upcast){throwBindingError(`Expected null or instance of ${desiredClass.name}, got an instance of ${ptrClass.name}`)}ptr=ptrClass.upcast(ptr);ptrClass=ptrClass.baseClass}return ptr};var embindRepr=v=>{if(v===null){return"null"}var t=typeof v;if(t==="object"||t==="array"||t==="function"){return v.toString()}else{return""+v}};function constNoSmartPtrRawPointerToWireType(destructors,handle){if(handle===null){if(this.isReference){throwBindingError(`null is not a valid ${this.name}`)}return 0}if(!handle.$$){throwBindingError(`Cannot pass "${embindRepr(handle)}" as a ${this.name}`)}if(!handle.$$.ptr){throwBindingError(`Cannot pass deleted object as a pointer of type ${this.name}`)}var handleClass=handle.$$.ptrType.registeredClass;var ptr=upcastPointer(handle.$$.ptr,handleClass,this.registeredClass);return ptr}function genericPointerToWireType(destructors,handle){var ptr;if(handle===null){if(this.isReference){throwBindingError(`null is not a valid ${this.name}`)}if(this.isSmartPointer){ptr=this.rawConstructor();if(destructors!==null){destructors.push(this.rawDestructor,ptr)}return ptr}else{return 0}}if(!handle||!handle.$$){throwBindingError(`Cannot pass "${embindRepr(handle)}" as a ${this.name}`)}if(!handle.$$.ptr){throwBindingError(`Cannot pass deleted object as a pointer of type ${this.name}`)}if(!this.isConst&&handle.$$.ptrType.isConst){throwBindingError(`Cannot convert argument of type ${handle.$$.smartPtrType?handle.$$.smartPtrType.name:handle.$$.ptrType.name} to parameter type ${this.name}`)}var handleClass=handle.$$.ptrType.registeredClass;ptr=upcastPointer(handle.$$.ptr,handleClass,this.registeredClass);if(this.isSmartPointer){if(undefined===handle.$$.smartPtr){throwBindingError("Passing raw pointer to smart pointer is illegal")}switch(this.sharingPolicy){case 0:if(handle.$$.smartPtrType===this){ptr=handle.$$.smartPtr}else{throwBindingError(`Cannot convert argument of type ${handle.$$.smartPtrType?handle.$$.smartPtrType.name:handle.$$.ptrType.name} to parameter type ${this.name}`)}break;case 1:ptr=handle.$$.smartPtr;break;case 2:if(handle.$$.smartPtrType===this){ptr=handle.$$.smartPtr}else{var clonedHandle=handle["clone"]();ptr=this.rawShare(ptr,Emval.toHandle(()=>clonedHandle["delete"]()));if(destructors!==null){destructors.push(this.rawDestructor,ptr)}}break;default:throwBindingError("Unsupported sharing policy")}}return ptr}function nonConstNoSmartPtrRawPointerToWireType(destructors,handle){if(handle===null){if(this.isReference){throwBindingError(`null is not a valid ${this.name}`)}return 0}if(!handle.$$){throwBindingError(`Cannot pass "${embindRepr(handle)}" as a ${this.name}`)}if(!handle.$$.ptr){throwBindingError(`Cannot pass deleted object as a pointer of type ${this.name}`)}if(handle.$$.ptrType.isConst){throwBindingError(`Cannot convert argument of type ${handle.$$.ptrType.name} to parameter type ${this.name}`)}var handleClass=handle.$$.ptrType.registeredClass;var ptr=upcastPointer(handle.$$.ptr,handleClass,this.registeredClass);return ptr}var downcastPointer=(ptr,ptrClass,desiredClass)=>{if(ptrClass===desiredClass){return ptr}if(undefined===desiredClass.baseClass){return null}var rv=downcastPointer(ptr,ptrClass,desiredClass.baseClass);if(rv===null){return null}return desiredClass.downcast(rv)};var getInheritedInstance=(class_,ptr)=>{ptr=getBasestPointer(class_,ptr);return registeredInstances[ptr]};var makeClassHandle=(prototype,record)=>{if(!record.ptrType||!record.ptr){throwInternalError("makeClassHandle requires ptr and ptrType")}var hasSmartPtrType=!!record.smartPtrType;var hasSmartPtr=!!record.smartPtr;if(hasSmartPtrType!==hasSmartPtr){throwInternalError("Both smartPtrType and smartPtr must be specified")}record.count={value:1};return attachFinalizer(Object.create(prototype,{$$:{value:record,writable:true}}))};function RegisteredPointer_fromWireType(ptr){var rawPointer=this.getPointee(ptr);if(!rawPointer){this.destructor(ptr);return null}var registeredInstance=getInheritedInstance(this.registeredClass,rawPointer);if(undefined!==registeredInstance){if(0===registeredInstance.$$.count.value){registeredInstance.$$.ptr=rawPointer;registeredInstance.$$.smartPtr=ptr;return registeredInstance["clone"]()}else{var rv=registeredInstance["clone"]();this.destructor(ptr);return rv}}function makeDefaultHandle(){if(this.isSmartPointer){return makeClassHandle(this.registeredClass.instancePrototype,{ptrType:this.pointeeType,ptr:rawPointer,smartPtrType:this,smartPtr:ptr})}else{return makeClassHandle(this.registeredClass.instancePrototype,{ptrType:this,ptr})}}var actualType=this.registeredClass.getActualType(rawPointer);var registeredPointerRecord=registeredPointers[actualType];if(!registeredPointerRecord){return makeDefaultHandle.call(this)}var toType;if(this.isConst){toType=registeredPointerRecord.constPointerType}else{toType=registeredPointerRecord.pointerType}var dp=downcastPointer(rawPointer,this.registeredClass,toType.registeredClass);if(dp===null){return makeDefaultHandle.call(this)}if(this.isSmartPointer){return makeClassHandle(toType.registeredClass.instancePrototype,{ptrType:toType,ptr:dp,smartPtrType:this,smartPtr:ptr})}else{return makeClassHandle(toType.registeredClass.instancePrototype,{ptrType:toType,ptr:dp})}}var init_RegisteredPointer=()=>{Object.assign(RegisteredPointer.prototype,{getPointee(ptr){if(this.rawGetPointee){ptr=this.rawGetPointee(ptr)}return ptr},destructor(ptr){this.rawDestructor?.(ptr)},readValueFromPointer:readPointer,fromWireType:RegisteredPointer_fromWireType})};function RegisteredPointer(name,registeredClass,isReference,isConst,isSmartPointer,pointeeType,sharingPolicy,rawGetPointee,rawConstructor,rawShare,rawDestructor){this.name=name;this.registeredClass=registeredClass;this.isReference=isReference;this.isConst=isConst;this.isSmartPointer=isSmartPointer;this.pointeeType=pointeeType;this.sharingPolicy=sharingPolicy;this.rawGetPointee=rawGetPointee;this.rawConstructor=rawConstructor;this.rawShare=rawShare;this.rawDestructor=rawDestructor;if(!isSmartPointer&®isteredClass.baseClass===undefined){if(isConst){this.toWireType=constNoSmartPtrRawPointerToWireType;this.destructorFunction=null}else{this.toWireType=nonConstNoSmartPtrRawPointerToWireType;this.destructorFunction=null}}else{this.toWireType=genericPointerToWireType}}var replacePublicSymbol=(name,value,numArguments)=>{if(!Module.hasOwnProperty(name)){throwInternalError("Replacing nonexistent public symbol")}if(undefined!==Module[name].overloadTable&&undefined!==numArguments){Module[name].overloadTable[numArguments]=value}else{Module[name]=value;Module[name].argCount=numArguments}};var wasmTableMirror=[];var getWasmTableEntry=funcPtr=>{var func=wasmTableMirror[funcPtr];if(!func){wasmTableMirror[funcPtr]=func=wasmTable.get(funcPtr)}return func};var embind__requireFunction=(signature,rawFunction,isAsync=false)=>{signature=AsciiToString(signature);function makeDynCaller(){var rtn=getWasmTableEntry(rawFunction);return rtn}var fp=makeDynCaller();if(typeof fp!="function"){throwBindingError(`unknown function pointer with signature ${signature}: ${rawFunction}`)}return fp};class UnboundTypeError extends Error{}var throwUnboundTypeError=(message,types)=>{var unboundTypes=[];var seen={};function visit(type){if(seen[type]){return}if(registeredTypes[type]){return}if(typeDependencies[type]){typeDependencies[type].forEach(visit);return}unboundTypes.push(type);seen[type]=true}types.forEach(visit);throw new UnboundTypeError(`${message}: `+unboundTypes.map(getTypeName).join([", "]))};var __embind_register_class=(rawType,rawPointerType,rawConstPointerType,baseClassRawType,getActualTypeSignature,getActualType,upcastSignature,upcast,downcastSignature,downcast,name,destructorSignature,rawDestructor)=>{name=AsciiToString(name);getActualType=embind__requireFunction(getActualTypeSignature,getActualType);upcast&&=embind__requireFunction(upcastSignature,upcast);downcast&&=embind__requireFunction(downcastSignature,downcast);rawDestructor=embind__requireFunction(destructorSignature,rawDestructor);var legalFunctionName=makeLegalFunctionName(name);exposePublicSymbol(legalFunctionName,function(){throwUnboundTypeError(`Cannot construct ${name} due to unbound types`,[baseClassRawType])});whenDependentTypesAreResolved([rawType,rawPointerType,rawConstPointerType],baseClassRawType?[baseClassRawType]:[],base=>{base=base[0];var baseClass;var basePrototype;if(baseClassRawType){baseClass=base.registeredClass;basePrototype=baseClass.instancePrototype}else{basePrototype=ClassHandle.prototype}var constructor=createNamedFunction(name,function(...args){if(Object.getPrototypeOf(this)!==instancePrototype){throw new BindingError(`Use 'new' to construct ${name}`)}if(undefined===registeredClass.constructor_body){throw new BindingError(`${name} has no accessible constructor`)}var body=registeredClass.constructor_body[args.length];if(undefined===body){throw new BindingError(`Tried to invoke ctor of ${name} with invalid number of parameters (${args.length}) - expected (${Object.keys(registeredClass.constructor_body).toString()}) parameters instead!`)}return body.apply(this,args)});var instancePrototype=Object.create(basePrototype,{constructor:{value:constructor}});constructor.prototype=instancePrototype;var registeredClass=new RegisteredClass(name,constructor,instancePrototype,rawDestructor,baseClass,getActualType,upcast,downcast);if(registeredClass.baseClass){registeredClass.baseClass.__derivedClasses??=[];registeredClass.baseClass.__derivedClasses.push(registeredClass)}var referenceConverter=new RegisteredPointer(name,registeredClass,true,false,false);var pointerConverter=new RegisteredPointer(name+"*",registeredClass,false,false,false);var constPointerConverter=new RegisteredPointer(name+" const*",registeredClass,false,true,false);registeredPointers[rawType]={pointerType:pointerConverter,constPointerType:constPointerConverter};replacePublicSymbol(legalFunctionName,constructor);return[referenceConverter,pointerConverter,constPointerConverter]})};function usesDestructorStack(argTypes){for(var i=1;i{var array=[];for(var i=0;i>2])}return array};var getFunctionName=signature=>{signature=signature.trim();const argsIndex=signature.indexOf("(");if(argsIndex===-1)return signature;return signature.slice(0,argsIndex)};var __embind_register_class_class_function=(rawClassType,methodName,argCount,rawArgTypesAddr,invokerSignature,rawInvoker,fn,isAsync,isNonnullReturn)=>{var rawArgTypes=heap32VectorToArray(argCount,rawArgTypesAddr);methodName=AsciiToString(methodName);methodName=getFunctionName(methodName);rawInvoker=embind__requireFunction(invokerSignature,rawInvoker,isAsync);whenDependentTypesAreResolved([],[rawClassType],classType=>{classType=classType[0];var humanName=`${classType.name}.${methodName}`;function unboundTypesHandler(){throwUnboundTypeError(`Cannot call ${humanName} due to unbound types`,rawArgTypes)}if(methodName.startsWith("@@")){methodName=Symbol[methodName.substring(2)]}var proto=classType.registeredClass.constructor;if(undefined===proto[methodName]){unboundTypesHandler.argCount=argCount-1;proto[methodName]=unboundTypesHandler}else{ensureOverloadTable(proto,methodName,humanName);proto[methodName].overloadTable[argCount-1]=unboundTypesHandler}whenDependentTypesAreResolved([],rawArgTypes,argTypes=>{var invokerArgsArray=[argTypes[0],null].concat(argTypes.slice(1));var func=craftInvokerFunction(humanName,invokerArgsArray,null,rawInvoker,fn,isAsync);if(undefined===proto[methodName].overloadTable){func.argCount=argCount-1;proto[methodName]=func}else{proto[methodName].overloadTable[argCount-1]=func}if(classType.registeredClass.__derivedClasses){for(const derivedClass of classType.registeredClass.__derivedClasses){if(!derivedClass.constructor.hasOwnProperty(methodName)){derivedClass.constructor[methodName]=func}}}return[]});return[]})};var __embind_register_class_constructor=(rawClassType,argCount,rawArgTypesAddr,invokerSignature,invoker,rawConstructor)=>{var rawArgTypes=heap32VectorToArray(argCount,rawArgTypesAddr);invoker=embind__requireFunction(invokerSignature,invoker);whenDependentTypesAreResolved([],[rawClassType],classType=>{classType=classType[0];var humanName=`constructor ${classType.name}`;if(undefined===classType.registeredClass.constructor_body){classType.registeredClass.constructor_body=[]}if(undefined!==classType.registeredClass.constructor_body[argCount-1]){throw new BindingError(`Cannot register multiple constructors with identical number of parameters (${argCount-1}) for class '${classType.name}'! Overload resolution is currently only performed using the parameter count, not actual type info!`)}classType.registeredClass.constructor_body[argCount-1]=()=>{throwUnboundTypeError(`Cannot construct ${classType.name} due to unbound types`,rawArgTypes)};whenDependentTypesAreResolved([],rawArgTypes,argTypes=>{argTypes.splice(1,0,null);classType.registeredClass.constructor_body[argCount-1]=craftInvokerFunction(humanName,argTypes,null,invoker,rawConstructor);return[]});return[]})};var __embind_register_class_function=(rawClassType,methodName,argCount,rawArgTypesAddr,invokerSignature,rawInvoker,context,isPureVirtual,isAsync,isNonnullReturn)=>{var rawArgTypes=heap32VectorToArray(argCount,rawArgTypesAddr);methodName=AsciiToString(methodName);methodName=getFunctionName(methodName);rawInvoker=embind__requireFunction(invokerSignature,rawInvoker,isAsync);whenDependentTypesAreResolved([],[rawClassType],classType=>{classType=classType[0];var humanName=`${classType.name}.${methodName}`;if(methodName.startsWith("@@")){methodName=Symbol[methodName.substring(2)]}if(isPureVirtual){classType.registeredClass.pureVirtualFunctions.push(methodName)}function unboundTypesHandler(){throwUnboundTypeError(`Cannot call ${humanName} due to unbound types`,rawArgTypes)}var proto=classType.registeredClass.instancePrototype;var method=proto[methodName];if(undefined===method||undefined===method.overloadTable&&method.className!==classType.name&&method.argCount===argCount-2){unboundTypesHandler.argCount=argCount-2;unboundTypesHandler.className=classType.name;proto[methodName]=unboundTypesHandler}else{ensureOverloadTable(proto,methodName,humanName);proto[methodName].overloadTable[argCount-2]=unboundTypesHandler}whenDependentTypesAreResolved([],rawArgTypes,argTypes=>{var memberFunction=craftInvokerFunction(humanName,argTypes,classType,rawInvoker,context,isAsync);if(undefined===proto[methodName].overloadTable){memberFunction.argCount=argCount-2;proto[methodName]=memberFunction}else{proto[methodName].overloadTable[argCount-2]=memberFunction}return[]});return[]})};var __emval_decref=handle=>{if(handle>9&&0===--emval_handles[handle+1]){emval_handles[handle]=undefined;emval_freelist.push(handle)}};var EmValType={name:"emscripten::val",fromWireType:handle=>{var rv=Emval.toValue(handle);__emval_decref(handle);return rv},toWireType:(destructors,value)=>Emval.toHandle(value),readValueFromPointer:readPointer,destructorFunction:null};var __embind_register_emval=rawType=>registerType(rawType,EmValType);var floatReadValueFromPointer=(name,width)=>{switch(width){case 4:return function(pointer){return this.fromWireType(HEAPF32[pointer>>2])};case 8:return function(pointer){return this.fromWireType(HEAPF64[pointer>>3])};default:throw new TypeError(`invalid float width (${width}): ${name}`)}};var __embind_register_float=(rawType,name,size)=>{name=AsciiToString(name);registerType(rawType,{name,fromWireType:value=>value,toWireType:(destructors,value)=>value,readValueFromPointer:floatReadValueFromPointer(name,size),destructorFunction:null})};var __embind_register_integer=(primitiveType,name,size,minRange,maxRange)=>{name=AsciiToString(name);const isUnsignedType=minRange===0;let fromWireType=value=>value;if(isUnsignedType){var bitshift=32-8*size;fromWireType=value=>value<>>bitshift;maxRange=fromWireType(maxRange)}registerType(primitiveType,{name,fromWireType,toWireType:(destructors,value)=>value,readValueFromPointer:integerReadValueFromPointer(name,size,minRange!==0),destructorFunction:null})};var installIndexedIterator=(proto,sizeMethodName,getMethodName)=>{const makeIterator=(size,getValue)=>{let index=0;return{next(){if(index>=size){return{done:true}}const current=index;index++;const value=getValue(current);return{value,done:false}},[Symbol.iterator](){return this}}};if(!proto[Symbol.iterator]){proto[Symbol.iterator]=function(){const size=this[sizeMethodName]();return makeIterator(size,i=>this[getMethodName](i))}}};var __embind_register_iterable=(rawClassType,rawElementType,sizeMethodName,getMethodName)=>{sizeMethodName=AsciiToString(sizeMethodName);getMethodName=AsciiToString(getMethodName);whenDependentTypesAreResolved([],[rawClassType,rawElementType],types=>{const classType=types[0];installIndexedIterator(classType.registeredClass.instancePrototype,sizeMethodName,getMethodName);return[]})};var __embind_register_memory_view=(rawType,dataTypeIndex,name)=>{var typeMapping=[Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array,BigInt64Array,BigUint64Array];var TA=typeMapping[dataTypeIndex];function decodeMemoryView(handle){var size=HEAPU32[handle>>2];var data=HEAPU32[handle+4>>2];return new TA(HEAP8.buffer,data,size)}name=AsciiToString(name);registerType(rawType,{name,fromWireType:decodeMemoryView,readValueFromPointer:decodeMemoryView},{ignoreDuplicateRegistrations:true})};var EmValOptionalType=Object.assign({optional:true},EmValType);var __embind_register_optional=(rawOptionalType,rawType)=>{registerType(rawOptionalType,EmValOptionalType)};var __embind_register_std_string=(rawType,name)=>{name=AsciiToString(name);var stdStringIsUTF8=true;registerType(rawType,{name,fromWireType(value){var length=HEAPU32[value>>2];var payload=value+4;var str;if(stdStringIsUTF8){str=UTF8ToString(payload,length,true)}else{str="";for(var i=0;i>2]=length;if(valueIsOfTypeString){if(stdStringIsUTF8){stringToUTF8(value,ptr,length+1)}else{for(var i=0;i255){_free(base);throwBindingError("String has UTF-16 code units that do not fit in 8 bits")}HEAPU8[ptr+i]=charCode}}}else{HEAPU8.set(value,ptr)}if(destructors!==null){destructors.push(_free,base)}return base},readValueFromPointer:readPointer,destructorFunction(ptr){_free(ptr)}})};var UTF16Decoder=globalThis.TextDecoder?new TextDecoder("utf-16le"):undefined;var UTF16ToString=(ptr,maxBytesToRead,ignoreNul)=>{var idx=ptr>>1;var endIdx=findStringEnd(HEAPU16,idx,maxBytesToRead/2,ignoreNul);if(endIdx-idx>16&&UTF16Decoder)return UTF16Decoder.decode(HEAPU16.subarray(idx,endIdx));var str="";for(var i=idx;i{maxBytesToWrite??=2147483647;if(maxBytesToWrite<2)return 0;maxBytesToWrite-=2;var startPtr=outPtr;var numCharsToWrite=maxBytesToWrite>1]=codeUnit;outPtr+=2}HEAP16[outPtr>>1]=0;return outPtr-startPtr};var lengthBytesUTF16=str=>str.length*2;var UTF32ToString=(ptr,maxBytesToRead,ignoreNul)=>{var str="";var startIdx=ptr>>2;for(var i=0;!(i>=maxBytesToRead/4);i++){var utf32=HEAPU32[startIdx+i];if(!utf32&&!ignoreNul)break;str+=String.fromCodePoint(utf32)}return str};var stringToUTF32=(str,outPtr,maxBytesToWrite)=>{maxBytesToWrite??=2147483647;if(maxBytesToWrite<4)return 0;var startPtr=outPtr;var endPtr=startPtr+maxBytesToWrite-4;for(var i=0;i65535){i++}HEAP32[outPtr>>2]=codePoint;outPtr+=4;if(outPtr+4>endPtr)break}HEAP32[outPtr>>2]=0;return outPtr-startPtr};var lengthBytesUTF32=str=>{var len=0;for(var i=0;i65535){i++}len+=4}return len};var __embind_register_std_wstring=(rawType,charSize,name)=>{name=AsciiToString(name);var decodeString,encodeString,lengthBytesUTF;if(charSize===2){decodeString=UTF16ToString;encodeString=stringToUTF16;lengthBytesUTF=lengthBytesUTF16}else{decodeString=UTF32ToString;encodeString=stringToUTF32;lengthBytesUTF=lengthBytesUTF32}registerType(rawType,{name,fromWireType:value=>{var length=HEAPU32[value>>2];var str=decodeString(value+4,length*charSize,true);_free(value);return str},toWireType:(destructors,value)=>{if(!(typeof value=="string")){throwBindingError(`Cannot pass non-string to C++ string type ${name}`)}var length=lengthBytesUTF(value);var ptr=_malloc(4+length+charSize);HEAPU32[ptr>>2]=length/charSize;encodeString(value,ptr+4,length+charSize);if(destructors!==null){destructors.push(_free,ptr)}return ptr},readValueFromPointer:readPointer,destructorFunction(ptr){_free(ptr)}})};var __embind_register_value_object=(rawType,name,constructorSignature,rawConstructor,destructorSignature,rawDestructor)=>{structRegistrations[rawType]={name:AsciiToString(name),rawConstructor:embind__requireFunction(constructorSignature,rawConstructor),rawDestructor:embind__requireFunction(destructorSignature,rawDestructor),fields:[]}};var __embind_register_value_object_field=(structType,fieldName,getterReturnType,getterSignature,getter,getterContext,setterArgumentType,setterSignature,setter,setterContext)=>{structRegistrations[structType].fields.push({fieldName:AsciiToString(fieldName),getterReturnType,getter:embind__requireFunction(getterSignature,getter),getterContext,setterArgumentType,setter:embind__requireFunction(setterSignature,setter),setterContext})};var __embind_register_void=(rawType,name)=>{name=AsciiToString(name);registerType(rawType,{isVoid:true,name,fromWireType:()=>undefined,toWireType:(destructors,o)=>undefined})};var emval_methodCallers=[];var emval_addMethodCaller=caller=>{var id=emval_methodCallers.length;emval_methodCallers.push(caller);return id};var emval_lookupTypes=(argCount,argTypes)=>{var a=new Array(argCount);for(var i=0;i>2],`parameter ${i}`)}return a};var emval_returnValue=(toReturnWire,destructorsRef,handle)=>{var destructors=[];var result=toReturnWire(destructors,handle);if(destructors.length){HEAPU32[destructorsRef>>2]=Emval.toHandle(destructors)}return result};var emval_symbols={};var getStringOrSymbol=address=>{var symbol=emval_symbols[address];if(symbol===undefined){return AsciiToString(address)}return symbol};var __emval_create_invoker=(argCount,argTypesPtr,kind)=>{var GenericWireTypeSize=8;var[retType,...argTypes]=emval_lookupTypes(argCount,argTypesPtr);var toReturnWire=retType.toWireType.bind(retType);var argFromPtr=argTypes.map(type=>type.readValueFromPointer.bind(type));argCount--;var argN=new Array(argCount);var invokerFunction=(handle,methodName,destructorsRef,args)=>{var offset=0;for(var i=0;it.name)}) => ${retType.name}>`;return emval_addMethodCaller(createNamedFunction(functionName,invokerFunction))};var __emval_invoke=(caller,handle,methodName,destructorsRef,args)=>emval_methodCallers[caller](handle,methodName,destructorsRef,args);var __emval_run_destructors=handle=>{var destructors=Emval.toValue(handle);runDestructors(destructors);__emval_decref(handle)};function __mmap_js(len,prot,flags,fd,offset,allocated,addr){offset=bigintToI53Checked(offset);try{var stream=SYSCALLS.getStreamFromFD(fd);var res=FS.mmap(stream,len,offset,prot,flags);var ptr=res.ptr;HEAP32[allocated>>2]=res.allocated;HEAPU32[addr>>2]=ptr;return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}function __munmap_js(addr,len,prot,flags,fd,offset){offset=bigintToI53Checked(offset);try{var stream=SYSCALLS.getStreamFromFD(fd);if(prot&2){SYSCALLS.doMsync(addr,stream,len,flags,offset)}}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}var __tzset_js=(timezone,daylight,std_name,dst_name)=>{var currentYear=(new Date).getFullYear();var winter=new Date(currentYear,0,1);var summer=new Date(currentYear,6,1);var winterOffset=winter.getTimezoneOffset();var summerOffset=summer.getTimezoneOffset();var stdTimezoneOffset=Math.max(winterOffset,summerOffset);HEAPU32[timezone>>2]=stdTimezoneOffset*60;HEAP32[daylight>>2]=Number(winterOffset!=summerOffset);var extractZone=timezoneOffset=>{var sign=timezoneOffset>=0?"-":"+";var absOffset=Math.abs(timezoneOffset);var hours=String(Math.floor(absOffset/60)).padStart(2,"0");var minutes=String(absOffset%60).padStart(2,"0");return`UTC${sign}${hours}${minutes}`};var winterName=extractZone(winterOffset);var summerName=extractZone(summerOffset);if(summerOffsetperformance.now();var _emscripten_date_now=()=>Date.now();var nowIsMonotonic=1;var checkWasiClock=clock_id=>clock_id>=0&&clock_id<=3;function _clock_time_get(clk_id,ignored_precision,ptime){ignored_precision=bigintToI53Checked(ignored_precision);if(!checkWasiClock(clk_id)){return 28}var now;if(clk_id===0){now=_emscripten_date_now()}else if(nowIsMonotonic){now=_emscripten_get_now()}else{return 52}var nsec=Math.round(now*1e3*1e3);HEAP64[ptime>>3]=BigInt(nsec);return 0}var getHeapMax=()=>2147483648;var growMemory=size=>{var oldHeapSize=wasmMemory.buffer.byteLength;var pages=(size-oldHeapSize+65535)/65536|0;try{wasmMemory.grow(pages);updateMemoryViews();return 1}catch(e){}};var _emscripten_resize_heap=requestedSize=>{var oldSize=HEAPU8.length;requestedSize>>>=0;var maxHeapSize=getHeapMax();if(requestedSize>maxHeapSize){return false}for(var cutDown=1;cutDown<=4;cutDown*=2){var overGrownHeapSize=oldSize*(1+.2/cutDown);overGrownHeapSize=Math.min(overGrownHeapSize,requestedSize+100663296);var newSize=Math.min(maxHeapSize,alignMemory(Math.max(requestedSize,overGrownHeapSize),65536));var replacement=growMemory(newSize);if(replacement){return true}}return false};var ENV={};var getExecutableName=()=>thisProgram||"./this.program";var getEnvStrings=()=>{if(!getEnvStrings.strings){var lang=(globalThis.navigator?.language??"C").replace("-","_")+".UTF-8";var env={USER:"web_user",LOGNAME:"web_user",PATH:"/",PWD:"/",HOME:"/home/web_user",LANG:lang,_:getExecutableName()};for(var x in ENV){if(ENV[x]===undefined)delete env[x];else env[x]=ENV[x]}var strings=[];for(var x in env){strings.push(`${x}=${env[x]}`)}getEnvStrings.strings=strings}return getEnvStrings.strings};var _environ_get=(__environ,environ_buf)=>{var bufSize=0;var envp=0;for(var string of getEnvStrings()){var ptr=environ_buf+bufSize;HEAPU32[__environ+envp>>2]=ptr;bufSize+=stringToUTF8(string,ptr,Infinity)+1;envp+=4}return 0};var _environ_sizes_get=(penviron_count,penviron_buf_size)=>{var strings=getEnvStrings();HEAPU32[penviron_count>>2]=strings.length;var bufSize=0;for(var string of strings){bufSize+=lengthBytesUTF8(string)+1}HEAPU32[penviron_buf_size>>2]=bufSize;return 0};function _fd_close(fd){try{var stream=SYSCALLS.getStreamFromFD(fd);FS.close(stream);return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return e.errno}}var doReadv=(stream,iov,iovcnt,offset)=>{var ret=0;for(var i=0;i>2];var len=HEAPU32[iov+4>>2];iov+=8;var curr=FS.read(stream,HEAP8,ptr,len,offset);if(curr<0)return-1;ret+=curr;if(curr>2]=num;return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return e.errno}}function _fd_seek(fd,offset,whence,newOffset){offset=bigintToI53Checked(offset);try{if(isNaN(offset))return 61;var stream=SYSCALLS.getStreamFromFD(fd);FS.llseek(stream,offset,whence);HEAP64[newOffset>>3]=BigInt(stream.position);if(stream.getdents&&offset===0&&whence===0)stream.getdents=null;return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return e.errno}}var doWritev=(stream,iov,iovcnt,offset)=>{var ret=0;for(var i=0;i>2];var len=HEAPU32[iov+4>>2];iov+=8;var curr=FS.write(stream,HEAP8,ptr,len,offset);if(curr<0)return-1;ret+=curr;if(curr>2]=num;return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return e.errno}}var FS_createPath=(...args)=>FS.createPath(...args);var FS_unlink=(...args)=>FS.unlink(...args);var FS_createLazyFile=(...args)=>FS.createLazyFile(...args);var FS_createDevice=(...args)=>FS.createDevice(...args);var getCppExceptionTag=()=>___cpp_exception;var getCppExceptionThrownObjectFromWebAssemblyException=ex=>{var unwind_header=ex.getArg(getCppExceptionTag(),0);return ___thrown_object_from_unwind_exception(unwind_header)};var incrementExceptionRefcount=ex=>{var ptr=getCppExceptionThrownObjectFromWebAssemblyException(ex);___cxa_increment_exception_refcount(ptr)};var decrementExceptionRefcount=ex=>{var ptr=getCppExceptionThrownObjectFromWebAssemblyException(ex);___cxa_decrement_exception_refcount(ptr)};var stackSave=()=>_emscripten_stack_get_current();var stackRestore=val=>__emscripten_stack_restore(val);var stackAlloc=sz=>__emscripten_stack_alloc(sz);var getExceptionMessageCommon=ptr=>{var sp=stackSave();var type_addr_addr=stackAlloc(4);var message_addr_addr=stackAlloc(4);___get_exception_message(ptr,type_addr_addr,message_addr_addr);var type_addr=HEAPU32[type_addr_addr>>2];var message_addr=HEAPU32[message_addr_addr>>2];var type=UTF8ToString(type_addr);_free(type_addr);var message;if(message_addr){message=UTF8ToString(message_addr);_free(message_addr)}stackRestore(sp);return[type,message]};var getExceptionMessage=ex=>{var ptr=getCppExceptionThrownObjectFromWebAssemblyException(ex);return getExceptionMessageCommon(ptr)};FS.createPreloadedFile=FS_createPreloadedFile;FS.preloadFile=FS_preloadFile;FS.staticInit();init_ClassHandle();init_RegisteredPointer();{if(Module["noExitRuntime"])noExitRuntime=Module["noExitRuntime"];if(Module["preloadPlugins"])preloadPlugins=Module["preloadPlugins"];if(Module["print"])out=Module["print"];if(Module["printErr"])err=Module["printErr"];if(Module["wasmBinary"])wasmBinary=Module["wasmBinary"];if(Module["arguments"])arguments_=Module["arguments"];if(Module["thisProgram"])thisProgram=Module["thisProgram"];if(Module["preInit"]){if(typeof Module["preInit"]=="function")Module["preInit"]=[Module["preInit"]];while(Module["preInit"].length>0){Module["preInit"].shift()()}}}Module["addRunDependency"]=addRunDependency;Module["removeRunDependency"]=removeRunDependency;Module["FS_preloadFile"]=FS_preloadFile;Module["FS_unlink"]=FS_unlink;Module["FS_createPath"]=FS_createPath;Module["FS_createDevice"]=FS_createDevice;Module["FS"]=FS;Module["FS_createDataFile"]=FS_createDataFile;Module["FS_createLazyFile"]=FS_createLazyFile;Module["incrementExceptionRefcount"]=incrementExceptionRefcount;Module["decrementExceptionRefcount"]=decrementExceptionRefcount;Module["getExceptionMessage"]=getExceptionMessage;var _malloc,_free,_emscripten_builtin_memalign,___cxa_decrement_exception_refcount,___cxa_increment_exception_refcount,___getTypeName,___trap,__emscripten_stack_restore,__emscripten_stack_alloc,_emscripten_stack_get_current,___thrown_object_from_unwind_exception,___get_exception_message,memory,__indirect_function_table,___cpp_exception,wasmMemory,wasmTable;function assignWasmExports(wasmExports){_malloc=wasmExports["_"];_free=wasmExports["aa"];_emscripten_builtin_memalign=wasmExports["ba"];___cxa_decrement_exception_refcount=wasmExports["ca"];___cxa_increment_exception_refcount=wasmExports["da"];___getTypeName=wasmExports["ea"];___trap=wasmExports["fa"];__emscripten_stack_restore=wasmExports["ga"];__emscripten_stack_alloc=wasmExports["ha"];_emscripten_stack_get_current=wasmExports["ia"];___thrown_object_from_unwind_exception=wasmExports["ja"];___get_exception_message=wasmExports["ka"];memory=wasmMemory=wasmExports["X"];__indirect_function_table=wasmTable=wasmExports["Z"];___cpp_exception=wasmExports["$"]}var wasmImports={a:___assert_fail,C:___syscall_faccessat,l:___syscall_fcntl64,T:___syscall_fstat64,A:___syscall_ftruncate64,z:___syscall_getdents64,U:___syscall_ioctl,Q:___syscall_lstat64,M:___syscall_mkdirat,R:___syscall_newfstatat,v:___syscall_openat,x:___syscall_rmdir,S:___syscall_stat64,y:___syscall_unlinkat,V:__abort_js,W:__embind_create_inheriting_constructor,p:__embind_finalize_value_object,s:__embind_register_bigint,F:__embind_register_bool,f:__embind_register_class,w:__embind_register_class_class_function,m:__embind_register_class_constructor,c:__embind_register_class_function,D:__embind_register_emval,r:__embind_register_float,d:__embind_register_integer,n:__embind_register_iterable,b:__embind_register_memory_view,o:__embind_register_optional,E:__embind_register_std_string,k:__embind_register_std_wstring,L:__embind_register_value_object,q:__embind_register_value_object_field,G:__embind_register_void,g:__emval_create_invoker,h:__emval_decref,j:__emval_invoke,e:__emval_run_destructors,J:__mmap_js,K:__munmap_js,H:__tzset_js,B:_clock_time_get,I:_emscripten_resize_heap,O:_environ_get,P:_environ_sizes_get,i:_fd_close,t:_fd_read,N:_fd_seek,u:_fd_write};function run(){if(runDependencies>0){dependenciesFulfilled=run;return}preRun();if(runDependencies>0){dependenciesFulfilled=run;return}function doRun(){Module["calledRun"]=true;if(ABORT)return;initRuntime();readyPromiseResolve?.(Module);Module["onRuntimeInitialized"]?.();postRun()}if(Module["setStatus"]){Module["setStatus"]("Running...");setTimeout(()=>{setTimeout(()=>Module["setStatus"](""),1);doRun()},1)}else{doRun()}}var wasmExports;wasmExports=await (createWasm());run();if(runtimeInitialized){moduleRtn=Module}else{moduleRtn=new Promise((resolve,reject)=>{readyPromiseResolve=resolve;readyPromiseReject=reject})}
+async function Module(moduleArg={}){var moduleRtn;var Module=moduleArg;var ENVIRONMENT_IS_WEB=!!globalThis.window;var ENVIRONMENT_IS_WORKER=!!globalThis.WorkerGlobalScope;var ENVIRONMENT_IS_NODE=globalThis.process?.versions?.node&&globalThis.process?.type!="renderer";if(ENVIRONMENT_IS_NODE){const{createRequire}=await import("node:module");var require=createRequire(import.meta.url)}var Module=typeof Module!="undefined"?Module:{};if(!Module["expectedDataFileDownloads"])Module["expectedDataFileDownloads"]=0;Module["expectedDataFileDownloads"]++;(()=>{var isPthread=typeof ENVIRONMENT_IS_PTHREAD!="undefined"&&ENVIRONMENT_IS_PTHREAD;var isWasmWorker=typeof ENVIRONMENT_IS_WASM_WORKER!="undefined"&&ENVIRONMENT_IS_WASM_WORKER;if(isPthread||isWasmWorker)return;var isNode=globalThis.process&&globalThis.process.versions&&globalThis.process.versions.node&&globalThis.process.type!="renderer";async function loadPackage(metadata){var PACKAGE_PATH="";if(typeof window==="object"){PACKAGE_PATH=window["encodeURIComponent"](window.location.pathname.substring(0,window.location.pathname.lastIndexOf("/"))+"/")}else if(typeof process==="undefined"&&typeof location!=="undefined"){PACKAGE_PATH=encodeURIComponent(location.pathname.substring(0,location.pathname.lastIndexOf("/"))+"/")}var PACKAGE_NAME="common.data";var REMOTE_PACKAGE_BASE="common.data";var REMOTE_PACKAGE_NAME=Module["locateFile"]?Module["locateFile"](REMOTE_PACKAGE_BASE,""):REMOTE_PACKAGE_BASE;var REMOTE_PACKAGE_SIZE=metadata["remote_package_size"];async function fetchRemotePackage(packageName,packageSize){if(isNode){var contents=require("fs").readFileSync(packageName);return new Uint8Array(contents).buffer}if(!Module["dataFileDownloads"])Module["dataFileDownloads"]={};try{var response=await fetch(chrome.runtime.getURL("third_party/libpresage/"+packageName))}catch(e){throw new Error(`Network Error: ${packageName}`,{e})}if(!response.ok){throw new Error(`${response.status}: ${response.url}`)}const chunks=[];const headers=response.headers;const total=Number(headers.get("Content-Length")||packageSize);let loaded=0;Module["setStatus"]&&Module["setStatus"]("Downloading data...");const reader=response.body.getReader();while(1){var{done,value}=await reader.read();if(done)break;chunks.push(value);loaded+=value.length;Module["dataFileDownloads"][packageName]={loaded,total};let totalLoaded=0;let totalSize=0;for(const download of Object.values(Module["dataFileDownloads"])){totalLoaded+=download.loaded;totalSize+=download.total}Module["setStatus"]&&Module["setStatus"](`Downloading data... (${totalLoaded}/${totalSize})`)}const packageData=new Uint8Array(chunks.map(c=>c.length).reduce((a,b)=>a+b,0));let offset=0;for(const chunk of chunks){packageData.set(chunk,offset);offset+=chunk.length}return packageData.buffer}var fetchPromise;var fetched=Module["getPreloadedPackage"]&&Module["getPreloadedPackage"](REMOTE_PACKAGE_NAME,REMOTE_PACKAGE_SIZE);if(!fetched){fetchPromise=fetchRemotePackage(REMOTE_PACKAGE_NAME,REMOTE_PACKAGE_SIZE)}async function runWithFS(Module){function assert(check,msg){if(!check)throw new Error(msg)}Module["FS_createPath"]("/","resources_js",true,true);Module["FS_createPath"]("/resources_js","common",true,true);for(var file of metadata["files"]){var name=file["filename"];Module["addRunDependency"](`fp ${name}`)}async function processPackageData(arrayBuffer){assert(arrayBuffer,"Loading data file failed.");assert(arrayBuffer.constructor.name===ArrayBuffer.name,"bad input to processPackageData "+arrayBuffer.constructor.name);var byteArray=new Uint8Array(arrayBuffer);for(var file of metadata["files"]){var name=file["filename"];var data=byteArray.subarray(file["start"],file["end"]);Module["FS_createDataFile"](name,null,data,true,true,true);Module["removeRunDependency"](`fp ${name}`)}Module["removeRunDependency"]("datafile_common.data")}Module["addRunDependency"]("datafile_common.data");if(!Module["preloadResults"])Module["preloadResults"]={};Module["preloadResults"][PACKAGE_NAME]={fromCache:false};if(!fetched){fetched=await fetchPromise}processPackageData(fetched)}if(Module["calledRun"]){runWithFS(Module)}else{if(!Module["preRun"])Module["preRun"]=[];Module["preRun"].push(runWithFS)}}loadPackage({files:[{filename:"/resources_js/common/abbreviations.txt",start:0,end:173},{filename:"/resources_js/common/userDict.txt",start:173,end:173}],remote_package_size:173})})();var Module=typeof Module!="undefined"?Module:{};if(!Module["expectedDataFileDownloads"])Module["expectedDataFileDownloads"]=0;Module["expectedDataFileDownloads"]++;(()=>{var isPthread=typeof ENVIRONMENT_IS_PTHREAD!="undefined"&&ENVIRONMENT_IS_PTHREAD;var isWasmWorker=typeof ENVIRONMENT_IS_WASM_WORKER!="undefined"&&ENVIRONMENT_IS_WASM_WORKER;if(isPthread||isWasmWorker)return;var isNode=globalThis.process&&globalThis.process.versions&&globalThis.process.versions.node&&globalThis.process.type!="renderer";async function loadPackage(metadata){var PACKAGE_PATH="";if(typeof window==="object"){PACKAGE_PATH=window["encodeURIComponent"](window.location.pathname.substring(0,window.location.pathname.lastIndexOf("/"))+"/")}else if(typeof process==="undefined"&&typeof location!=="undefined"){PACKAGE_PATH=encodeURIComponent(location.pathname.substring(0,location.pathname.lastIndexOf("/"))+"/")}var PACKAGE_NAME="de_DE.data";var REMOTE_PACKAGE_BASE="de_DE.data";var REMOTE_PACKAGE_NAME=Module["locateFile"]?Module["locateFile"](REMOTE_PACKAGE_BASE,""):REMOTE_PACKAGE_BASE;var REMOTE_PACKAGE_SIZE=metadata["remote_package_size"];async function fetchRemotePackage(packageName,packageSize){if(isNode){var contents=require("fs").readFileSync(packageName);return new Uint8Array(contents).buffer}if(!Module["dataFileDownloads"])Module["dataFileDownloads"]={};try{var response=await fetch(chrome.runtime.getURL("third_party/libpresage/"+packageName))}catch(e){throw new Error(`Network Error: ${packageName}`,{e})}if(!response.ok){throw new Error(`${response.status}: ${response.url}`)}const chunks=[];const headers=response.headers;const total=Number(headers.get("Content-Length")||packageSize);let loaded=0;Module["setStatus"]&&Module["setStatus"]("Downloading data...");const reader=response.body.getReader();while(1){var{done,value}=await reader.read();if(done)break;chunks.push(value);loaded+=value.length;Module["dataFileDownloads"][packageName]={loaded,total};let totalLoaded=0;let totalSize=0;for(const download of Object.values(Module["dataFileDownloads"])){totalLoaded+=download.loaded;totalSize+=download.total}Module["setStatus"]&&Module["setStatus"](`Downloading data... (${totalLoaded}/${totalSize})`)}const packageData=new Uint8Array(chunks.map(c=>c.length).reduce((a,b)=>a+b,0));let offset=0;for(const chunk of chunks){packageData.set(chunk,offset);offset+=chunk.length}return packageData.buffer}var fetchPromise;var fetched=Module["getPreloadedPackage"]&&Module["getPreloadedPackage"](REMOTE_PACKAGE_NAME,REMOTE_PACKAGE_SIZE);if(!fetched){fetchPromise=fetchRemotePackage(REMOTE_PACKAGE_NAME,REMOTE_PACKAGE_SIZE)}async function runWithFS(Module){function assert(check,msg){if(!check)throw new Error(msg)}Module["FS_createPath"]("/","resources_js",true,true);Module["FS_createPath"]("/resources_js","de_DE",true,true);Module["FS_createPath"]("/resources_js/de_DE","aspell",true,true);Module["FS_createPath"]("/resources_js/de_DE","hunspell",true,true);Module["FS_createPath"]("/resources_js/de_DE","ngrams_db",true,true);for(var file of metadata["files"]){var name=file["filename"];Module["addRunDependency"](`fp ${name}`)}async function processPackageData(arrayBuffer){assert(arrayBuffer,"Loading data file failed.");assert(arrayBuffer.constructor.name===ArrayBuffer.name,"bad input to processPackageData "+arrayBuffer.constructor.name);var byteArray=new Uint8Array(arrayBuffer);for(var file of metadata["files"]){var name=file["filename"];var data=byteArray.subarray(file["start"],file["end"]);Module["FS_createDataFile"](name,null,data,true,true,true);Module["removeRunDependency"](`fp ${name}`)}Module["removeRunDependency"]("datafile_de_DE.data")}Module["addRunDependency"]("datafile_de_DE.data");if(!Module["preloadResults"])Module["preloadResults"]={};Module["preloadResults"][PACKAGE_NAME]={fromCache:false};if(!fetched){fetched=await fetchPromise}processPackageData(fetched)}if(Module["calledRun"]){runWithFS(Module)}else{if(!Module["preRun"])Module["preRun"]=[];Module["preRun"].push(runWithFS)}}loadPackage({files:[{filename:"/resources_js/de_DE/aspell/cp1250.cmap",start:0,end:31404},{filename:"/resources_js/de_DE/aspell/cp1250.cset",start:31404,end:45618},{filename:"/resources_js/de_DE/aspell/cp1251.cmap",start:45618,end:77516},{filename:"/resources_js/de_DE/aspell/cp1251.cset",start:77516,end:91382},{filename:"/resources_js/de_DE/aspell/cp1252.cmap",start:91382,end:122364},{filename:"/resources_js/de_DE/aspell/cp1252.cset",start:122364,end:136403},{filename:"/resources_js/de_DE/aspell/cp1253.cmap",start:136403,end:174992},{filename:"/resources_js/de_DE/aspell/cp1253.cset",start:174992,end:188674},{filename:"/resources_js/de_DE/aspell/cp1254.cmap",start:188674,end:219707},{filename:"/resources_js/de_DE/aspell/cp1254.cset",start:219707,end:233751},{filename:"/resources_js/de_DE/aspell/cp1255.cmap",start:233751,end:268884},{filename:"/resources_js/de_DE/aspell/cp1255.cset",start:268884,end:281916},{filename:"/resources_js/de_DE/aspell/cp1256.cmap",start:281916,end:326050},{filename:"/resources_js/de_DE/aspell/cp1256.cset",start:326050,end:339357},{filename:"/resources_js/de_DE/aspell/cp1257.cmap",start:339357,end:370592},{filename:"/resources_js/de_DE/aspell/cp1257.cset",start:370592,end:384527},{filename:"/resources_js/de_DE/aspell/cp1258.cmap",start:384527,end:418038},{filename:"/resources_js/de_DE/aspell/cp1258.cset",start:418038,end:431958},{filename:"/resources_js/de_DE/aspell/croatian.alias",start:431958,end:432030},{filename:"/resources_js/de_DE/aspell/de-common.rws",start:432030,end:2390686},{filename:"/resources_js/de_DE/aspell/de.dat",start:2390686,end:2390827},{filename:"/resources_js/de_DE/aspell/de.multi",start:2390827,end:2390923},{filename:"/resources_js/de_DE/aspell/de_AT-only.rws",start:2390923,end:2437163},{filename:"/resources_js/de_DE/aspell/de_AT.multi",start:2437163,end:2437259},{filename:"/resources_js/de_DE/aspell/de_CH-only.rws",start:2437259,end:2482267},{filename:"/resources_js/de_DE/aspell/de_CH.multi",start:2482267,end:2482363},{filename:"/resources_js/de_DE/aspell/de_DE-only.rws",start:2482363,end:2524331},{filename:"/resources_js/de_DE/aspell/de_DE.multi",start:2524331,end:2524427},{filename:"/resources_js/de_DE/aspell/de_affix.dat",start:2524427,end:2539350},{filename:"/resources_js/de_DE/aspell/de_phonet.dat",start:2539350,end:2551829},{filename:"/resources_js/de_DE/aspell/deutsch.alias",start:2551829,end:2551904},{filename:"/resources_js/de_DE/aspell/dvorak.kbd",start:2551904,end:2552002},{filename:"/resources_js/de_DE/aspell/german.alias",start:2552002,end:2552077},{filename:"/resources_js/de_DE/aspell/iso-8859-1.cmap",start:2552077,end:2582971},{filename:"/resources_js/de_DE/aspell/iso-8859-1.cset",start:2582971,end:2596819},{filename:"/resources_js/de_DE/aspell/iso-8859-10.cmap",start:2596819,end:2627884},{filename:"/resources_js/de_DE/aspell/iso-8859-10.cset",start:2627884,end:2642143},{filename:"/resources_js/de_DE/aspell/iso-8859-11.cmap",start:2642143,end:2669266},{filename:"/resources_js/de_DE/aspell/iso-8859-11.cset",start:2669266,end:2682504},{filename:"/resources_js/de_DE/aspell/iso-8859-13.cmap",start:2682504,end:2713632},{filename:"/resources_js/de_DE/aspell/iso-8859-13.cset",start:2713632,end:2727621},{filename:"/resources_js/de_DE/aspell/iso-8859-14.cmap",start:2727621,end:2759054},{filename:"/resources_js/de_DE/aspell/iso-8859-14.cset",start:2759054,end:2773433},{filename:"/resources_js/de_DE/aspell/iso-8859-15.cmap",start:2773433,end:2804247},{filename:"/resources_js/de_DE/aspell/iso-8859-15.cset",start:2804247,end:2818186},{filename:"/resources_js/de_DE/aspell/iso-8859-16.cmap",start:2818186,end:2849005},{filename:"/resources_js/de_DE/aspell/iso-8859-16.cset",start:2849005,end:2863289},{filename:"/resources_js/de_DE/aspell/iso-8859-2.cmap",start:2863289,end:2894578},{filename:"/resources_js/de_DE/aspell/iso-8859-2.cset",start:2894578,end:2908711},{filename:"/resources_js/de_DE/aspell/iso-8859-3.cmap",start:2908711,end:2939660},{filename:"/resources_js/de_DE/aspell/iso-8859-3.cset",start:2939660,end:2953632},{filename:"/resources_js/de_DE/aspell/iso-8859-4.cmap",start:2953632,end:2984774},{filename:"/resources_js/de_DE/aspell/iso-8859-4.cset",start:2984774,end:2998879},{filename:"/resources_js/de_DE/aspell/iso-8859-5.cmap",start:2998879,end:3030643},{filename:"/resources_js/de_DE/aspell/iso-8859-5.cset",start:3030643,end:3044392},{filename:"/resources_js/de_DE/aspell/iso-8859-6.cmap",start:3044392,end:3085382},{filename:"/resources_js/de_DE/aspell/iso-8859-6.cset",start:3085382,end:3097934},{filename:"/resources_js/de_DE/aspell/iso-8859-7.cmap",start:3097934,end:3136472},{filename:"/resources_js/de_DE/aspell/iso-8859-7.cset",start:3136472,end:3150111},{filename:"/resources_js/de_DE/aspell/iso-8859-8.cmap",start:3150111,end:3177869},{filename:"/resources_js/de_DE/aspell/iso-8859-8.cset",start:3177869,end:3190426},{filename:"/resources_js/de_DE/aspell/iso-8859-9.cmap",start:3190426,end:3221446},{filename:"/resources_js/de_DE/aspell/iso-8859-9.cset",start:3221446,end:3235331},{filename:"/resources_js/de_DE/aspell/koi8-r.cmap",start:3235331,end:3266765},{filename:"/resources_js/de_DE/aspell/koi8-r.cset",start:3266765,end:3280164},{filename:"/resources_js/de_DE/aspell/koi8-u.cmap",start:3280164,end:3311740},{filename:"/resources_js/de_DE/aspell/koi8-u.cset",start:3311740,end:3325301},{filename:"/resources_js/de_DE/aspell/split.kbd",start:3325301,end:3325400},{filename:"/resources_js/de_DE/aspell/standard.kbd",start:3325400,end:3325500},{filename:"/resources_js/de_DE/hunspell/de_DE.aff",start:3325500,end:3344699},{filename:"/resources_js/de_DE/hunspell/de_DE.dic",start:3344699,end:4462893},{filename:"/resources_js/de_DE/ngrams_db/ngrams.counts",start:4462893,end:5462565},{filename:"/resources_js/de_DE/ngrams_db/ngrams.trie",start:5462565,end:6556293},{filename:"/resources_js/de_DE/presage.xml",start:6556293,end:6559458}],remote_package_size:6559458})})();var Module=typeof Module!="undefined"?Module:{};if(!Module["expectedDataFileDownloads"])Module["expectedDataFileDownloads"]=0;Module["expectedDataFileDownloads"]++;(()=>{var isPthread=typeof ENVIRONMENT_IS_PTHREAD!="undefined"&&ENVIRONMENT_IS_PTHREAD;var isWasmWorker=typeof ENVIRONMENT_IS_WASM_WORKER!="undefined"&&ENVIRONMENT_IS_WASM_WORKER;if(isPthread||isWasmWorker)return;var isNode=globalThis.process&&globalThis.process.versions&&globalThis.process.versions.node&&globalThis.process.type!="renderer";async function loadPackage(metadata){var PACKAGE_PATH="";if(typeof window==="object"){PACKAGE_PATH=window["encodeURIComponent"](window.location.pathname.substring(0,window.location.pathname.lastIndexOf("/"))+"/")}else if(typeof process==="undefined"&&typeof location!=="undefined"){PACKAGE_PATH=encodeURIComponent(location.pathname.substring(0,location.pathname.lastIndexOf("/"))+"/")}var PACKAGE_NAME="el_GR.data";var REMOTE_PACKAGE_BASE="el_GR.data";var REMOTE_PACKAGE_NAME=Module["locateFile"]?Module["locateFile"](REMOTE_PACKAGE_BASE,""):REMOTE_PACKAGE_BASE;var REMOTE_PACKAGE_SIZE=metadata["remote_package_size"];async function fetchRemotePackage(packageName,packageSize){if(isNode){var contents=require("fs").readFileSync(packageName);return new Uint8Array(contents).buffer}if(!Module["dataFileDownloads"])Module["dataFileDownloads"]={};try{var response=await fetch(chrome.runtime.getURL("third_party/libpresage/"+packageName))}catch(e){throw new Error(`Network Error: ${packageName}`,{e})}if(!response.ok){throw new Error(`${response.status}: ${response.url}`)}const chunks=[];const headers=response.headers;const total=Number(headers.get("Content-Length")||packageSize);let loaded=0;Module["setStatus"]&&Module["setStatus"]("Downloading data...");const reader=response.body.getReader();while(1){var{done,value}=await reader.read();if(done)break;chunks.push(value);loaded+=value.length;Module["dataFileDownloads"][packageName]={loaded,total};let totalLoaded=0;let totalSize=0;for(const download of Object.values(Module["dataFileDownloads"])){totalLoaded+=download.loaded;totalSize+=download.total}Module["setStatus"]&&Module["setStatus"](`Downloading data... (${totalLoaded}/${totalSize})`)}const packageData=new Uint8Array(chunks.map(c=>c.length).reduce((a,b)=>a+b,0));let offset=0;for(const chunk of chunks){packageData.set(chunk,offset);offset+=chunk.length}return packageData.buffer}var fetchPromise;var fetched=Module["getPreloadedPackage"]&&Module["getPreloadedPackage"](REMOTE_PACKAGE_NAME,REMOTE_PACKAGE_SIZE);if(!fetched){fetchPromise=fetchRemotePackage(REMOTE_PACKAGE_NAME,REMOTE_PACKAGE_SIZE)}async function runWithFS(Module){function assert(check,msg){if(!check)throw new Error(msg)}Module["FS_createPath"]("/","resources_js",true,true);Module["FS_createPath"]("/resources_js","el_GR",true,true);Module["FS_createPath"]("/resources_js/el_GR","aspell",true,true);Module["FS_createPath"]("/resources_js/el_GR","hunspell",true,true);Module["FS_createPath"]("/resources_js/el_GR","ngrams_db",true,true);for(var file of metadata["files"]){var name=file["filename"];Module["addRunDependency"](`fp ${name}`)}async function processPackageData(arrayBuffer){assert(arrayBuffer,"Loading data file failed.");assert(arrayBuffer.constructor.name===ArrayBuffer.name,"bad input to processPackageData "+arrayBuffer.constructor.name);var byteArray=new Uint8Array(arrayBuffer);for(var file of metadata["files"]){var name=file["filename"];var data=byteArray.subarray(file["start"],file["end"]);Module["FS_createDataFile"](name,null,data,true,true,true);Module["removeRunDependency"](`fp ${name}`)}Module["removeRunDependency"]("datafile_el_GR.data")}Module["addRunDependency"]("datafile_el_GR.data");if(!Module["preloadResults"])Module["preloadResults"]={};Module["preloadResults"][PACKAGE_NAME]={fromCache:false};if(!fetched){fetched=await fetchPromise}processPackageData(fetched)}if(Module["calledRun"]){runWithFS(Module)}else{if(!Module["preRun"])Module["preRun"]=[];Module["preRun"].push(runWithFS)}}loadPackage({files:[{filename:"/resources_js/el_GR/aspell/cp1250.cmap",start:0,end:31404},{filename:"/resources_js/el_GR/aspell/cp1250.cset",start:31404,end:45618},{filename:"/resources_js/el_GR/aspell/cp1251.cmap",start:45618,end:77516},{filename:"/resources_js/el_GR/aspell/cp1251.cset",start:77516,end:91382},{filename:"/resources_js/el_GR/aspell/cp1252.cmap",start:91382,end:122364},{filename:"/resources_js/el_GR/aspell/cp1252.cset",start:122364,end:136403},{filename:"/resources_js/el_GR/aspell/cp1253.cmap",start:136403,end:174992},{filename:"/resources_js/el_GR/aspell/cp1253.cset",start:174992,end:188674},{filename:"/resources_js/el_GR/aspell/cp1254.cmap",start:188674,end:219707},{filename:"/resources_js/el_GR/aspell/cp1254.cset",start:219707,end:233751},{filename:"/resources_js/el_GR/aspell/cp1255.cmap",start:233751,end:268884},{filename:"/resources_js/el_GR/aspell/cp1255.cset",start:268884,end:281916},{filename:"/resources_js/el_GR/aspell/cp1256.cmap",start:281916,end:326050},{filename:"/resources_js/el_GR/aspell/cp1256.cset",start:326050,end:339357},{filename:"/resources_js/el_GR/aspell/cp1257.cmap",start:339357,end:370592},{filename:"/resources_js/el_GR/aspell/cp1257.cset",start:370592,end:384527},{filename:"/resources_js/el_GR/aspell/cp1258.cmap",start:384527,end:418038},{filename:"/resources_js/el_GR/aspell/cp1258.cset",start:418038,end:431958},{filename:"/resources_js/el_GR/aspell/croatian.alias",start:431958,end:432030},{filename:"/resources_js/el_GR/aspell/dvorak.kbd",start:432030,end:432128},{filename:"/resources_js/el_GR/aspell/el.dat",start:432128,end:432229},{filename:"/resources_js/el_GR/aspell/el.kbd",start:432229,end:432372},{filename:"/resources_js/el_GR/aspell/el.multi",start:432372,end:432442},{filename:"/resources_js/el_GR/aspell/el.rws",start:432442,end:19441162},{filename:"/resources_js/el_GR/aspell/el_phonet.dat",start:19441162,end:19448539},{filename:"/resources_js/el_GR/aspell/gr.alias",start:19448539,end:19448611},{filename:"/resources_js/el_GR/aspell/greek.alias",start:19448611,end:19448683},{filename:"/resources_js/el_GR/aspell/iso-8859-1.cmap",start:19448683,end:19479577},{filename:"/resources_js/el_GR/aspell/iso-8859-1.cset",start:19479577,end:19493425},{filename:"/resources_js/el_GR/aspell/iso-8859-10.cmap",start:19493425,end:19524490},{filename:"/resources_js/el_GR/aspell/iso-8859-10.cset",start:19524490,end:19538749},{filename:"/resources_js/el_GR/aspell/iso-8859-11.cmap",start:19538749,end:19565872},{filename:"/resources_js/el_GR/aspell/iso-8859-11.cset",start:19565872,end:19579110},{filename:"/resources_js/el_GR/aspell/iso-8859-13.cmap",start:19579110,end:19610238},{filename:"/resources_js/el_GR/aspell/iso-8859-13.cset",start:19610238,end:19624227},{filename:"/resources_js/el_GR/aspell/iso-8859-14.cmap",start:19624227,end:19655660},{filename:"/resources_js/el_GR/aspell/iso-8859-14.cset",start:19655660,end:19670039},{filename:"/resources_js/el_GR/aspell/iso-8859-15.cmap",start:19670039,end:19700853},{filename:"/resources_js/el_GR/aspell/iso-8859-15.cset",start:19700853,end:19714792},{filename:"/resources_js/el_GR/aspell/iso-8859-16.cmap",start:19714792,end:19745611},{filename:"/resources_js/el_GR/aspell/iso-8859-16.cset",start:19745611,end:19759895},{filename:"/resources_js/el_GR/aspell/iso-8859-2.cmap",start:19759895,end:19791184},{filename:"/resources_js/el_GR/aspell/iso-8859-2.cset",start:19791184,end:19805317},{filename:"/resources_js/el_GR/aspell/iso-8859-3.cmap",start:19805317,end:19836266},{filename:"/resources_js/el_GR/aspell/iso-8859-3.cset",start:19836266,end:19850238},{filename:"/resources_js/el_GR/aspell/iso-8859-4.cmap",start:19850238,end:19881380},{filename:"/resources_js/el_GR/aspell/iso-8859-4.cset",start:19881380,end:19895485},{filename:"/resources_js/el_GR/aspell/iso-8859-5.cmap",start:19895485,end:19927249},{filename:"/resources_js/el_GR/aspell/iso-8859-5.cset",start:19927249,end:19940998},{filename:"/resources_js/el_GR/aspell/iso-8859-6.cmap",start:19940998,end:19981988},{filename:"/resources_js/el_GR/aspell/iso-8859-6.cset",start:19981988,end:19994540},{filename:"/resources_js/el_GR/aspell/iso-8859-7.cmap",start:19994540,end:20033078},{filename:"/resources_js/el_GR/aspell/iso-8859-7.cset",start:20033078,end:20046717},{filename:"/resources_js/el_GR/aspell/iso-8859-8.cmap",start:20046717,end:20074475},{filename:"/resources_js/el_GR/aspell/iso-8859-8.cset",start:20074475,end:20087032},{filename:"/resources_js/el_GR/aspell/iso-8859-9.cmap",start:20087032,end:20118052},{filename:"/resources_js/el_GR/aspell/iso-8859-9.cset",start:20118052,end:20131937},{filename:"/resources_js/el_GR/aspell/koi8-r.cmap",start:20131937,end:20163371},{filename:"/resources_js/el_GR/aspell/koi8-r.cset",start:20163371,end:20176770},{filename:"/resources_js/el_GR/aspell/koi8-u.cmap",start:20176770,end:20208346},{filename:"/resources_js/el_GR/aspell/koi8-u.cset",start:20208346,end:20221907},{filename:"/resources_js/el_GR/aspell/split.kbd",start:20221907,end:20222006},{filename:"/resources_js/el_GR/aspell/standard.kbd",start:20222006,end:20222106},{filename:"/resources_js/el_GR/hunspell/el_GR.aff",start:20222106,end:20242164},{filename:"/resources_js/el_GR/hunspell/el_GR.dic",start:20242164,end:39664131},{filename:"/resources_js/el_GR/ngrams_db/ngrams.counts",start:39664131,end:40786055},{filename:"/resources_js/el_GR/ngrams_db/ngrams.trie",start:40786055,end:42332383},{filename:"/resources_js/el_GR/presage.xml",start:42332383,end:42335548}],remote_package_size:42335548})})();var Module=typeof Module!="undefined"?Module:{};if(!Module["expectedDataFileDownloads"])Module["expectedDataFileDownloads"]=0;Module["expectedDataFileDownloads"]++;(()=>{var isPthread=typeof ENVIRONMENT_IS_PTHREAD!="undefined"&&ENVIRONMENT_IS_PTHREAD;var isWasmWorker=typeof ENVIRONMENT_IS_WASM_WORKER!="undefined"&&ENVIRONMENT_IS_WASM_WORKER;if(isPthread||isWasmWorker)return;var isNode=globalThis.process&&globalThis.process.versions&&globalThis.process.versions.node&&globalThis.process.type!="renderer";async function loadPackage(metadata){var PACKAGE_PATH="";if(typeof window==="object"){PACKAGE_PATH=window["encodeURIComponent"](window.location.pathname.substring(0,window.location.pathname.lastIndexOf("/"))+"/")}else if(typeof process==="undefined"&&typeof location!=="undefined"){PACKAGE_PATH=encodeURIComponent(location.pathname.substring(0,location.pathname.lastIndexOf("/"))+"/")}var PACKAGE_NAME="en_US.data";var REMOTE_PACKAGE_BASE="en_US.data";var REMOTE_PACKAGE_NAME=Module["locateFile"]?Module["locateFile"](REMOTE_PACKAGE_BASE,""):REMOTE_PACKAGE_BASE;var REMOTE_PACKAGE_SIZE=metadata["remote_package_size"];async function fetchRemotePackage(packageName,packageSize){if(isNode){var contents=require("fs").readFileSync(packageName);return new Uint8Array(contents).buffer}if(!Module["dataFileDownloads"])Module["dataFileDownloads"]={};try{var response=await fetch(chrome.runtime.getURL("third_party/libpresage/"+packageName))}catch(e){throw new Error(`Network Error: ${packageName}`,{e})}if(!response.ok){throw new Error(`${response.status}: ${response.url}`)}const chunks=[];const headers=response.headers;const total=Number(headers.get("Content-Length")||packageSize);let loaded=0;Module["setStatus"]&&Module["setStatus"]("Downloading data...");const reader=response.body.getReader();while(1){var{done,value}=await reader.read();if(done)break;chunks.push(value);loaded+=value.length;Module["dataFileDownloads"][packageName]={loaded,total};let totalLoaded=0;let totalSize=0;for(const download of Object.values(Module["dataFileDownloads"])){totalLoaded+=download.loaded;totalSize+=download.total}Module["setStatus"]&&Module["setStatus"](`Downloading data... (${totalLoaded}/${totalSize})`)}const packageData=new Uint8Array(chunks.map(c=>c.length).reduce((a,b)=>a+b,0));let offset=0;for(const chunk of chunks){packageData.set(chunk,offset);offset+=chunk.length}return packageData.buffer}var fetchPromise;var fetched=Module["getPreloadedPackage"]&&Module["getPreloadedPackage"](REMOTE_PACKAGE_NAME,REMOTE_PACKAGE_SIZE);if(!fetched){fetchPromise=fetchRemotePackage(REMOTE_PACKAGE_NAME,REMOTE_PACKAGE_SIZE)}async function runWithFS(Module){function assert(check,msg){if(!check)throw new Error(msg)}Module["FS_createPath"]("/","resources_js",true,true);Module["FS_createPath"]("/resources_js","en_US",true,true);Module["FS_createPath"]("/resources_js/en_US","aspell",true,true);Module["FS_createPath"]("/resources_js/en_US","hunspell",true,true);Module["FS_createPath"]("/resources_js/en_US","ngrams_db",true,true);for(var file of metadata["files"]){var name=file["filename"];Module["addRunDependency"](`fp ${name}`)}async function processPackageData(arrayBuffer){assert(arrayBuffer,"Loading data file failed.");assert(arrayBuffer.constructor.name===ArrayBuffer.name,"bad input to processPackageData "+arrayBuffer.constructor.name);var byteArray=new Uint8Array(arrayBuffer);for(var file of metadata["files"]){var name=file["filename"];var data=byteArray.subarray(file["start"],file["end"]);Module["FS_createDataFile"](name,null,data,true,true,true);Module["removeRunDependency"](`fp ${name}`)}Module["removeRunDependency"]("datafile_en_US.data")}Module["addRunDependency"]("datafile_en_US.data");if(!Module["preloadResults"])Module["preloadResults"]={};Module["preloadResults"][PACKAGE_NAME]={fromCache:false};if(!fetched){fetched=await fetchPromise}processPackageData(fetched)}if(Module["calledRun"]){runWithFS(Module)}else{if(!Module["preRun"])Module["preRun"]=[];Module["preRun"].push(runWithFS)}}loadPackage({files:[{filename:"/resources_js/en_US/aspell/american-variant_0.alias",start:0,end:85},{filename:"/resources_js/en_US/aspell/american-variant_1.alias",start:85,end:170},{filename:"/resources_js/en_US/aspell/american-w_accents.alias",start:170,end:255},{filename:"/resources_js/en_US/aspell/american-wo_accents.alias",start:255,end:341},{filename:"/resources_js/en_US/aspell/american.alias",start:341,end:416},{filename:"/resources_js/en_US/aspell/australian-variant_0.alias",start:416,end:501},{filename:"/resources_js/en_US/aspell/australian-variant_1.alias",start:501,end:586},{filename:"/resources_js/en_US/aspell/australian-w_accents.alias",start:586,end:671},{filename:"/resources_js/en_US/aspell/australian-wo_accents.alias",start:671,end:757},{filename:"/resources_js/en_US/aspell/australian.alias",start:757,end:832},{filename:"/resources_js/en_US/aspell/british-ise-w_accents.alias",start:832,end:921},{filename:"/resources_js/en_US/aspell/british-ise-wo_accents.alias",start:921,end:1011},{filename:"/resources_js/en_US/aspell/british-ise.alias",start:1011,end:1090},{filename:"/resources_js/en_US/aspell/british-ize-w_accents.alias",start:1090,end:1179},{filename:"/resources_js/en_US/aspell/british-ize-wo_accents.alias",start:1179,end:1269},{filename:"/resources_js/en_US/aspell/british-ize.alias",start:1269,end:1348},{filename:"/resources_js/en_US/aspell/british-variant_0.alias",start:1348,end:1433},{filename:"/resources_js/en_US/aspell/british-variant_1.alias",start:1433,end:1518},{filename:"/resources_js/en_US/aspell/british-w_accents.alias",start:1518,end:1603},{filename:"/resources_js/en_US/aspell/british-wo_accents.alias",start:1603,end:1689},{filename:"/resources_js/en_US/aspell/british.alias",start:1689,end:1764},{filename:"/resources_js/en_US/aspell/canadian-variant_0.alias",start:1764,end:1849},{filename:"/resources_js/en_US/aspell/canadian-variant_1.alias",start:1849,end:1934},{filename:"/resources_js/en_US/aspell/canadian-w_accents.alias",start:1934,end:2019},{filename:"/resources_js/en_US/aspell/canadian-wo_accents.alias",start:2019,end:2105},{filename:"/resources_js/en_US/aspell/canadian.alias",start:2105,end:2180},{filename:"/resources_js/en_US/aspell/cp1250.cmap",start:2180,end:33584},{filename:"/resources_js/en_US/aspell/cp1250.cset",start:33584,end:47798},{filename:"/resources_js/en_US/aspell/cp1251.cmap",start:47798,end:79696},{filename:"/resources_js/en_US/aspell/cp1251.cset",start:79696,end:93562},{filename:"/resources_js/en_US/aspell/cp1252.cmap",start:93562,end:124544},{filename:"/resources_js/en_US/aspell/cp1252.cset",start:124544,end:138583},{filename:"/resources_js/en_US/aspell/cp1253.cmap",start:138583,end:177172},{filename:"/resources_js/en_US/aspell/cp1253.cset",start:177172,end:190854},{filename:"/resources_js/en_US/aspell/cp1254.cmap",start:190854,end:221887},{filename:"/resources_js/en_US/aspell/cp1254.cset",start:221887,end:235931},{filename:"/resources_js/en_US/aspell/cp1255.cmap",start:235931,end:271064},{filename:"/resources_js/en_US/aspell/cp1255.cset",start:271064,end:284096},{filename:"/resources_js/en_US/aspell/cp1256.cmap",start:284096,end:328230},{filename:"/resources_js/en_US/aspell/cp1256.cset",start:328230,end:341537},{filename:"/resources_js/en_US/aspell/cp1257.cmap",start:341537,end:372772},{filename:"/resources_js/en_US/aspell/cp1257.cset",start:372772,end:386707},{filename:"/resources_js/en_US/aspell/cp1258.cmap",start:386707,end:420218},{filename:"/resources_js/en_US/aspell/cp1258.cset",start:420218,end:434138},{filename:"/resources_js/en_US/aspell/croatian.alias",start:434138,end:434210},{filename:"/resources_js/en_US/aspell/dvorak.kbd",start:434210,end:434308},{filename:"/resources_js/en_US/aspell/en-common.rws",start:434308,end:2857764},{filename:"/resources_js/en_US/aspell/en-variant_0.multi",start:2857764,end:2857844},{filename:"/resources_js/en_US/aspell/en-variant_0.rws",start:2857844,end:2897620},{filename:"/resources_js/en_US/aspell/en-variant_1.multi",start:2897620,end:2897700},{filename:"/resources_js/en_US/aspell/en-variant_1.rws",start:2897700,end:2991140},{filename:"/resources_js/en_US/aspell/en-variant_2.multi",start:2991140,end:2991220},{filename:"/resources_js/en_US/aspell/en-variant_2.rws",start:2991220,end:3093380},{filename:"/resources_js/en_US/aspell/en-w_accents-only.rws",start:3093380,end:3269460},{filename:"/resources_js/en_US/aspell/en-w_accents.multi",start:3269460,end:3269563},{filename:"/resources_js/en_US/aspell/en-wo_accents-only.rws",start:3269563,end:3445643},{filename:"/resources_js/en_US/aspell/en-wo_accents.multi",start:3445643,end:3445747},{filename:"/resources_js/en_US/aspell/en.dat",start:3445747,end:3445835},{filename:"/resources_js/en_US/aspell/en.multi",start:3445835,end:3445918},{filename:"/resources_js/en_US/aspell/en_AU-variant_0.multi",start:3445918,end:3446001},{filename:"/resources_js/en_US/aspell/en_AU-variant_0.rws",start:3446001,end:3476929},{filename:"/resources_js/en_US/aspell/en_AU-variant_1.multi",start:3476929,end:3477012},{filename:"/resources_js/en_US/aspell/en_AU-variant_1.rws",start:3477012,end:3550564},{filename:"/resources_js/en_US/aspell/en_AU-w_accents-only.rws",start:3550564,end:3656756},{filename:"/resources_js/en_US/aspell/en_AU-w_accents.multi",start:3656756,end:3656862},{filename:"/resources_js/en_US/aspell/en_AU-wo_accents-only.rws",start:3656862,end:3763054},{filename:"/resources_js/en_US/aspell/en_AU-wo_accents.multi",start:3763054,end:3763161},{filename:"/resources_js/en_US/aspell/en_AU.multi",start:3763161,end:3763247},{filename:"/resources_js/en_US/aspell/en_CA-variant_0.multi",start:3763247,end:3763330},{filename:"/resources_js/en_US/aspell/en_CA-variant_0.rws",start:3763330,end:3802738},{filename:"/resources_js/en_US/aspell/en_CA-variant_1.multi",start:3802738,end:3802821},{filename:"/resources_js/en_US/aspell/en_CA-variant_1.rws",start:3802821,end:3878901},{filename:"/resources_js/en_US/aspell/en_CA-w_accents-only.rws",start:3878901,end:3972965},{filename:"/resources_js/en_US/aspell/en_CA-w_accents.multi",start:3972965,end:3973071},{filename:"/resources_js/en_US/aspell/en_CA-wo_accents-only.rws",start:3973071,end:4067135},{filename:"/resources_js/en_US/aspell/en_CA-wo_accents.multi",start:4067135,end:4067242},{filename:"/resources_js/en_US/aspell/en_CA.multi",start:4067242,end:4067328},{filename:"/resources_js/en_US/aspell/en_GB-ise-w_accents-only.rws",start:4067328,end:4162016},{filename:"/resources_js/en_US/aspell/en_GB-ise-w_accents.multi",start:4162016,end:4162126},{filename:"/resources_js/en_US/aspell/en_GB-ise-wo_accents-only.rws",start:4162126,end:4256814},{filename:"/resources_js/en_US/aspell/en_GB-ise-wo_accents.multi",start:4256814,end:4256925},{filename:"/resources_js/en_US/aspell/en_GB-ise.multi",start:4256925,end:4257015},{filename:"/resources_js/en_US/aspell/en_GB-ize-w_accents-only.rws",start:4257015,end:4350663},{filename:"/resources_js/en_US/aspell/en_GB-ize-w_accents.multi",start:4350663,end:4350773},{filename:"/resources_js/en_US/aspell/en_GB-ize-wo_accents-only.rws",start:4350773,end:4444421},{filename:"/resources_js/en_US/aspell/en_GB-ize-wo_accents.multi",start:4444421,end:4444532},{filename:"/resources_js/en_US/aspell/en_GB-ize.multi",start:4444532,end:4444622},{filename:"/resources_js/en_US/aspell/en_GB-variant_0.multi",start:4444622,end:4444705},{filename:"/resources_js/en_US/aspell/en_GB-variant_0.rws",start:4444705,end:4472833},{filename:"/resources_js/en_US/aspell/en_GB-variant_1.multi",start:4472833,end:4472916},{filename:"/resources_js/en_US/aspell/en_GB-variant_1.rws",start:4472916,end:4537508},{filename:"/resources_js/en_US/aspell/en_GB-w_accents.multi",start:4537508,end:4537597},{filename:"/resources_js/en_US/aspell/en_GB-wo_accents.multi",start:4537597,end:4537687},{filename:"/resources_js/en_US/aspell/en_GB.multi",start:4537687,end:4537777},{filename:"/resources_js/en_US/aspell/en_US-variant_0.multi",start:4537777,end:4537859},{filename:"/resources_js/en_US/aspell/en_US-variant_1.multi",start:4537859,end:4537941},{filename:"/resources_js/en_US/aspell/en_US-w_accents-only.rws",start:4537941,end:4639973},{filename:"/resources_js/en_US/aspell/en_US-w_accents.multi",start:4639973,end:4640079},{filename:"/resources_js/en_US/aspell/en_US-wo_accents-only.rws",start:4640079,end:4742111},{filename:"/resources_js/en_US/aspell/en_US-wo_accents.multi",start:4742111,end:4742218},{filename:"/resources_js/en_US/aspell/en_US.multi",start:4742218,end:4742304},{filename:"/resources_js/en_US/aspell/en_affix.dat",start:4742304,end:4746979},{filename:"/resources_js/en_US/aspell/en_phonet.dat",start:4746979,end:4754252},{filename:"/resources_js/en_US/aspell/english-variant_0.alias",start:4754252,end:4754334},{filename:"/resources_js/en_US/aspell/english-variant_1.alias",start:4754334,end:4754416},{filename:"/resources_js/en_US/aspell/english-variant_2.alias",start:4754416,end:4754498},{filename:"/resources_js/en_US/aspell/english-w_accents.alias",start:4754498,end:4754580},{filename:"/resources_js/en_US/aspell/english-wo_accents.alias",start:4754580,end:4754663},{filename:"/resources_js/en_US/aspell/english.alias",start:4754663,end:4754735},{filename:"/resources_js/en_US/aspell/iso-8859-1.cmap",start:4754735,end:4785629},{filename:"/resources_js/en_US/aspell/iso-8859-1.cset",start:4785629,end:4799477},{filename:"/resources_js/en_US/aspell/iso-8859-10.cmap",start:4799477,end:4830542},{filename:"/resources_js/en_US/aspell/iso-8859-10.cset",start:4830542,end:4844801},{filename:"/resources_js/en_US/aspell/iso-8859-11.cmap",start:4844801,end:4871924},{filename:"/resources_js/en_US/aspell/iso-8859-11.cset",start:4871924,end:4885162},{filename:"/resources_js/en_US/aspell/iso-8859-13.cmap",start:4885162,end:4916290},{filename:"/resources_js/en_US/aspell/iso-8859-13.cset",start:4916290,end:4930279},{filename:"/resources_js/en_US/aspell/iso-8859-14.cmap",start:4930279,end:4961712},{filename:"/resources_js/en_US/aspell/iso-8859-14.cset",start:4961712,end:4976091},{filename:"/resources_js/en_US/aspell/iso-8859-15.cmap",start:4976091,end:5006905},{filename:"/resources_js/en_US/aspell/iso-8859-15.cset",start:5006905,end:5020844},{filename:"/resources_js/en_US/aspell/iso-8859-16.cmap",start:5020844,end:5051663},{filename:"/resources_js/en_US/aspell/iso-8859-16.cset",start:5051663,end:5065947},{filename:"/resources_js/en_US/aspell/iso-8859-2.cmap",start:5065947,end:5097236},{filename:"/resources_js/en_US/aspell/iso-8859-2.cset",start:5097236,end:5111369},{filename:"/resources_js/en_US/aspell/iso-8859-3.cmap",start:5111369,end:5142318},{filename:"/resources_js/en_US/aspell/iso-8859-3.cset",start:5142318,end:5156290},{filename:"/resources_js/en_US/aspell/iso-8859-4.cmap",start:5156290,end:5187432},{filename:"/resources_js/en_US/aspell/iso-8859-4.cset",start:5187432,end:5201537},{filename:"/resources_js/en_US/aspell/iso-8859-5.cmap",start:5201537,end:5233301},{filename:"/resources_js/en_US/aspell/iso-8859-5.cset",start:5233301,end:5247050},{filename:"/resources_js/en_US/aspell/iso-8859-6.cmap",start:5247050,end:5288040},{filename:"/resources_js/en_US/aspell/iso-8859-6.cset",start:5288040,end:5300592},{filename:"/resources_js/en_US/aspell/iso-8859-7.cmap",start:5300592,end:5339130},{filename:"/resources_js/en_US/aspell/iso-8859-7.cset",start:5339130,end:5352769},{filename:"/resources_js/en_US/aspell/iso-8859-8.cmap",start:5352769,end:5380527},{filename:"/resources_js/en_US/aspell/iso-8859-8.cset",start:5380527,end:5393084},{filename:"/resources_js/en_US/aspell/iso-8859-9.cmap",start:5393084,end:5424104},{filename:"/resources_js/en_US/aspell/iso-8859-9.cset",start:5424104,end:5437989},{filename:"/resources_js/en_US/aspell/koi8-r.cmap",start:5437989,end:5469423},{filename:"/resources_js/en_US/aspell/koi8-r.cset",start:5469423,end:5482822},{filename:"/resources_js/en_US/aspell/koi8-u.cmap",start:5482822,end:5514398},{filename:"/resources_js/en_US/aspell/koi8-u.cset",start:5514398,end:5527959},{filename:"/resources_js/en_US/aspell/split.kbd",start:5527959,end:5528058},{filename:"/resources_js/en_US/aspell/standard.kbd",start:5528058,end:5528158},{filename:"/resources_js/en_US/hunspell/en_US.aff",start:5528158,end:5531244},{filename:"/resources_js/en_US/hunspell/en_US.dic",start:5531244,end:6083006},{filename:"/resources_js/en_US/ngrams_db/ngrams.counts",start:6083006,end:6318530},{filename:"/resources_js/en_US/ngrams_db/ngrams.trie",start:6318530,end:6523898},{filename:"/resources_js/en_US/presage.xml",start:6523898,end:6527066}],remote_package_size:6527066})})();var Module=typeof Module!="undefined"?Module:{};if(!Module["expectedDataFileDownloads"])Module["expectedDataFileDownloads"]=0;Module["expectedDataFileDownloads"]++;(()=>{var isPthread=typeof ENVIRONMENT_IS_PTHREAD!="undefined"&&ENVIRONMENT_IS_PTHREAD;var isWasmWorker=typeof ENVIRONMENT_IS_WASM_WORKER!="undefined"&&ENVIRONMENT_IS_WASM_WORKER;if(isPthread||isWasmWorker)return;var isNode=globalThis.process&&globalThis.process.versions&&globalThis.process.versions.node&&globalThis.process.type!="renderer";async function loadPackage(metadata){var PACKAGE_PATH="";if(typeof window==="object"){PACKAGE_PATH=window["encodeURIComponent"](window.location.pathname.substring(0,window.location.pathname.lastIndexOf("/"))+"/")}else if(typeof process==="undefined"&&typeof location!=="undefined"){PACKAGE_PATH=encodeURIComponent(location.pathname.substring(0,location.pathname.lastIndexOf("/"))+"/")}var PACKAGE_NAME="es_ES.data";var REMOTE_PACKAGE_BASE="es_ES.data";var REMOTE_PACKAGE_NAME=Module["locateFile"]?Module["locateFile"](REMOTE_PACKAGE_BASE,""):REMOTE_PACKAGE_BASE;var REMOTE_PACKAGE_SIZE=metadata["remote_package_size"];async function fetchRemotePackage(packageName,packageSize){if(isNode){var contents=require("fs").readFileSync(packageName);return new Uint8Array(contents).buffer}if(!Module["dataFileDownloads"])Module["dataFileDownloads"]={};try{var response=await fetch(chrome.runtime.getURL("third_party/libpresage/"+packageName))}catch(e){throw new Error(`Network Error: ${packageName}`,{e})}if(!response.ok){throw new Error(`${response.status}: ${response.url}`)}const chunks=[];const headers=response.headers;const total=Number(headers.get("Content-Length")||packageSize);let loaded=0;Module["setStatus"]&&Module["setStatus"]("Downloading data...");const reader=response.body.getReader();while(1){var{done,value}=await reader.read();if(done)break;chunks.push(value);loaded+=value.length;Module["dataFileDownloads"][packageName]={loaded,total};let totalLoaded=0;let totalSize=0;for(const download of Object.values(Module["dataFileDownloads"])){totalLoaded+=download.loaded;totalSize+=download.total}Module["setStatus"]&&Module["setStatus"](`Downloading data... (${totalLoaded}/${totalSize})`)}const packageData=new Uint8Array(chunks.map(c=>c.length).reduce((a,b)=>a+b,0));let offset=0;for(const chunk of chunks){packageData.set(chunk,offset);offset+=chunk.length}return packageData.buffer}var fetchPromise;var fetched=Module["getPreloadedPackage"]&&Module["getPreloadedPackage"](REMOTE_PACKAGE_NAME,REMOTE_PACKAGE_SIZE);if(!fetched){fetchPromise=fetchRemotePackage(REMOTE_PACKAGE_NAME,REMOTE_PACKAGE_SIZE)}async function runWithFS(Module){function assert(check,msg){if(!check)throw new Error(msg)}Module["FS_createPath"]("/","resources_js",true,true);Module["FS_createPath"]("/resources_js","es_ES",true,true);Module["FS_createPath"]("/resources_js/es_ES","aspell",true,true);Module["FS_createPath"]("/resources_js/es_ES","hunspell",true,true);Module["FS_createPath"]("/resources_js/es_ES","ngrams_db",true,true);for(var file of metadata["files"]){var name=file["filename"];Module["addRunDependency"](`fp ${name}`)}async function processPackageData(arrayBuffer){assert(arrayBuffer,"Loading data file failed.");assert(arrayBuffer.constructor.name===ArrayBuffer.name,"bad input to processPackageData "+arrayBuffer.constructor.name);var byteArray=new Uint8Array(arrayBuffer);for(var file of metadata["files"]){var name=file["filename"];var data=byteArray.subarray(file["start"],file["end"]);Module["FS_createDataFile"](name,null,data,true,true,true);Module["removeRunDependency"](`fp ${name}`)}Module["removeRunDependency"]("datafile_es_ES.data")}Module["addRunDependency"]("datafile_es_ES.data");if(!Module["preloadResults"])Module["preloadResults"]={};Module["preloadResults"][PACKAGE_NAME]={fromCache:false};if(!fetched){fetched=await fetchPromise}processPackageData(fetched)}if(Module["calledRun"]){runWithFS(Module)}else{if(!Module["preRun"])Module["preRun"]=[];Module["preRun"].push(runWithFS)}}loadPackage({files:[{filename:"/resources_js/es_ES/aspell/castellano.alias",start:0,end:72},{filename:"/resources_js/es_ES/aspell/cp1250.cmap",start:72,end:31476},{filename:"/resources_js/es_ES/aspell/cp1250.cset",start:31476,end:45690},{filename:"/resources_js/es_ES/aspell/cp1251.cmap",start:45690,end:77588},{filename:"/resources_js/es_ES/aspell/cp1251.cset",start:77588,end:91454},{filename:"/resources_js/es_ES/aspell/cp1252.cmap",start:91454,end:122436},{filename:"/resources_js/es_ES/aspell/cp1252.cset",start:122436,end:136475},{filename:"/resources_js/es_ES/aspell/cp1253.cmap",start:136475,end:175064},{filename:"/resources_js/es_ES/aspell/cp1253.cset",start:175064,end:188746},{filename:"/resources_js/es_ES/aspell/cp1254.cmap",start:188746,end:219779},{filename:"/resources_js/es_ES/aspell/cp1254.cset",start:219779,end:233823},{filename:"/resources_js/es_ES/aspell/cp1255.cmap",start:233823,end:268956},{filename:"/resources_js/es_ES/aspell/cp1255.cset",start:268956,end:281988},{filename:"/resources_js/es_ES/aspell/cp1256.cmap",start:281988,end:326122},{filename:"/resources_js/es_ES/aspell/cp1256.cset",start:326122,end:339429},{filename:"/resources_js/es_ES/aspell/cp1257.cmap",start:339429,end:370664},{filename:"/resources_js/es_ES/aspell/cp1257.cset",start:370664,end:384599},{filename:"/resources_js/es_ES/aspell/cp1258.cmap",start:384599,end:418110},{filename:"/resources_js/es_ES/aspell/cp1258.cset",start:418110,end:432030},{filename:"/resources_js/es_ES/aspell/croatian.alias",start:432030,end:432102},{filename:"/resources_js/es_ES/aspell/dvorak.kbd",start:432102,end:432200},{filename:"/resources_js/es_ES/aspell/es.dat",start:432200,end:432332},{filename:"/resources_js/es_ES/aspell/es.multi",start:432332,end:432402},{filename:"/resources_js/es_ES/aspell/es.rws",start:432402,end:1711586},{filename:"/resources_js/es_ES/aspell/es_affix.dat",start:1711586,end:1897981},{filename:"/resources_js/es_ES/aspell/espanol.alias",start:1897981,end:1898053},{filename:"/resources_js/es_ES/aspell/iso-8859-1.cmap",start:1898053,end:1928947},{filename:"/resources_js/es_ES/aspell/iso-8859-1.cset",start:1928947,end:1942795},{filename:"/resources_js/es_ES/aspell/iso-8859-10.cmap",start:1942795,end:1973860},{filename:"/resources_js/es_ES/aspell/iso-8859-10.cset",start:1973860,end:1988119},{filename:"/resources_js/es_ES/aspell/iso-8859-11.cmap",start:1988119,end:2015242},{filename:"/resources_js/es_ES/aspell/iso-8859-11.cset",start:2015242,end:2028480},{filename:"/resources_js/es_ES/aspell/iso-8859-13.cmap",start:2028480,end:2059608},{filename:"/resources_js/es_ES/aspell/iso-8859-13.cset",start:2059608,end:2073597},{filename:"/resources_js/es_ES/aspell/iso-8859-14.cmap",start:2073597,end:2105030},{filename:"/resources_js/es_ES/aspell/iso-8859-14.cset",start:2105030,end:2119409},{filename:"/resources_js/es_ES/aspell/iso-8859-15.cmap",start:2119409,end:2150223},{filename:"/resources_js/es_ES/aspell/iso-8859-15.cset",start:2150223,end:2164162},{filename:"/resources_js/es_ES/aspell/iso-8859-16.cmap",start:2164162,end:2194981},{filename:"/resources_js/es_ES/aspell/iso-8859-16.cset",start:2194981,end:2209265},{filename:"/resources_js/es_ES/aspell/iso-8859-2.cmap",start:2209265,end:2240554},{filename:"/resources_js/es_ES/aspell/iso-8859-2.cset",start:2240554,end:2254687},{filename:"/resources_js/es_ES/aspell/iso-8859-3.cmap",start:2254687,end:2285636},{filename:"/resources_js/es_ES/aspell/iso-8859-3.cset",start:2285636,end:2299608},{filename:"/resources_js/es_ES/aspell/iso-8859-4.cmap",start:2299608,end:2330750},{filename:"/resources_js/es_ES/aspell/iso-8859-4.cset",start:2330750,end:2344855},{filename:"/resources_js/es_ES/aspell/iso-8859-5.cmap",start:2344855,end:2376619},{filename:"/resources_js/es_ES/aspell/iso-8859-5.cset",start:2376619,end:2390368},{filename:"/resources_js/es_ES/aspell/iso-8859-6.cmap",start:2390368,end:2431358},{filename:"/resources_js/es_ES/aspell/iso-8859-6.cset",start:2431358,end:2443910},{filename:"/resources_js/es_ES/aspell/iso-8859-7.cmap",start:2443910,end:2482448},{filename:"/resources_js/es_ES/aspell/iso-8859-7.cset",start:2482448,end:2496087},{filename:"/resources_js/es_ES/aspell/iso-8859-8.cmap",start:2496087,end:2523845},{filename:"/resources_js/es_ES/aspell/iso-8859-8.cset",start:2523845,end:2536402},{filename:"/resources_js/es_ES/aspell/iso-8859-9.cmap",start:2536402,end:2567422},{filename:"/resources_js/es_ES/aspell/iso-8859-9.cset",start:2567422,end:2581307},{filename:"/resources_js/es_ES/aspell/koi8-r.cmap",start:2581307,end:2612741},{filename:"/resources_js/es_ES/aspell/koi8-r.cset",start:2612741,end:2626140},{filename:"/resources_js/es_ES/aspell/koi8-u.cmap",start:2626140,end:2657716},{filename:"/resources_js/es_ES/aspell/koi8-u.cset",start:2657716,end:2671277},{filename:"/resources_js/es_ES/aspell/spanish.alias",start:2671277,end:2671349},{filename:"/resources_js/es_ES/aspell/split.kbd",start:2671349,end:2671448},{filename:"/resources_js/es_ES/aspell/standard.kbd",start:2671448,end:2671548},{filename:"/resources_js/es_ES/hunspell/es_ES.aff",start:2671548,end:2838683},{filename:"/resources_js/es_ES/hunspell/es_ES.dic",start:2838683,end:3544885},{filename:"/resources_js/es_ES/ngrams_db/ngrams.counts",start:3544885,end:4055713},{filename:"/resources_js/es_ES/ngrams_db/ngrams.trie",start:4055713,end:4519553},{filename:"/resources_js/es_ES/presage.xml",start:4519553,end:4522718}],remote_package_size:4522718})})();var Module=typeof Module!="undefined"?Module:{};if(!Module["expectedDataFileDownloads"])Module["expectedDataFileDownloads"]=0;Module["expectedDataFileDownloads"]++;(()=>{var isPthread=typeof ENVIRONMENT_IS_PTHREAD!="undefined"&&ENVIRONMENT_IS_PTHREAD;var isWasmWorker=typeof ENVIRONMENT_IS_WASM_WORKER!="undefined"&&ENVIRONMENT_IS_WASM_WORKER;if(isPthread||isWasmWorker)return;var isNode=globalThis.process&&globalThis.process.versions&&globalThis.process.versions.node&&globalThis.process.type!="renderer";async function loadPackage(metadata){var PACKAGE_PATH="";if(typeof window==="object"){PACKAGE_PATH=window["encodeURIComponent"](window.location.pathname.substring(0,window.location.pathname.lastIndexOf("/"))+"/")}else if(typeof process==="undefined"&&typeof location!=="undefined"){PACKAGE_PATH=encodeURIComponent(location.pathname.substring(0,location.pathname.lastIndexOf("/"))+"/")}var PACKAGE_NAME="fr_FR.data";var REMOTE_PACKAGE_BASE="fr_FR.data";var REMOTE_PACKAGE_NAME=Module["locateFile"]?Module["locateFile"](REMOTE_PACKAGE_BASE,""):REMOTE_PACKAGE_BASE;var REMOTE_PACKAGE_SIZE=metadata["remote_package_size"];async function fetchRemotePackage(packageName,packageSize){if(isNode){var contents=require("fs").readFileSync(packageName);return new Uint8Array(contents).buffer}if(!Module["dataFileDownloads"])Module["dataFileDownloads"]={};try{var response=await fetch(chrome.runtime.getURL("third_party/libpresage/"+packageName))}catch(e){throw new Error(`Network Error: ${packageName}`,{e})}if(!response.ok){throw new Error(`${response.status}: ${response.url}`)}const chunks=[];const headers=response.headers;const total=Number(headers.get("Content-Length")||packageSize);let loaded=0;Module["setStatus"]&&Module["setStatus"]("Downloading data...");const reader=response.body.getReader();while(1){var{done,value}=await reader.read();if(done)break;chunks.push(value);loaded+=value.length;Module["dataFileDownloads"][packageName]={loaded,total};let totalLoaded=0;let totalSize=0;for(const download of Object.values(Module["dataFileDownloads"])){totalLoaded+=download.loaded;totalSize+=download.total}Module["setStatus"]&&Module["setStatus"](`Downloading data... (${totalLoaded}/${totalSize})`)}const packageData=new Uint8Array(chunks.map(c=>c.length).reduce((a,b)=>a+b,0));let offset=0;for(const chunk of chunks){packageData.set(chunk,offset);offset+=chunk.length}return packageData.buffer}var fetchPromise;var fetched=Module["getPreloadedPackage"]&&Module["getPreloadedPackage"](REMOTE_PACKAGE_NAME,REMOTE_PACKAGE_SIZE);if(!fetched){fetchPromise=fetchRemotePackage(REMOTE_PACKAGE_NAME,REMOTE_PACKAGE_SIZE)}async function runWithFS(Module){function assert(check,msg){if(!check)throw new Error(msg)}Module["FS_createPath"]("/","resources_js",true,true);Module["FS_createPath"]("/resources_js","fr_FR",true,true);Module["FS_createPath"]("/resources_js/fr_FR","aspell",true,true);Module["FS_createPath"]("/resources_js/fr_FR","hunspell",true,true);Module["FS_createPath"]("/resources_js/fr_FR","ngrams_db",true,true);for(var file of metadata["files"]){var name=file["filename"];Module["addRunDependency"](`fp ${name}`)}async function processPackageData(arrayBuffer){assert(arrayBuffer,"Loading data file failed.");assert(arrayBuffer.constructor.name===ArrayBuffer.name,"bad input to processPackageData "+arrayBuffer.constructor.name);var byteArray=new Uint8Array(arrayBuffer);for(var file of metadata["files"]){var name=file["filename"];var data=byteArray.subarray(file["start"],file["end"]);Module["FS_createDataFile"](name,null,data,true,true,true);Module["removeRunDependency"](`fp ${name}`)}Module["removeRunDependency"]("datafile_fr_FR.data")}Module["addRunDependency"]("datafile_fr_FR.data");if(!Module["preloadResults"])Module["preloadResults"]={};Module["preloadResults"][PACKAGE_NAME]={fromCache:false};if(!fetched){fetched=await fetchPromise}processPackageData(fetched)}if(Module["calledRun"]){runWithFS(Module)}else{if(!Module["preRun"])Module["preRun"]=[];Module["preRun"].push(runWithFS)}}loadPackage({files:[{filename:"/resources_js/fr_FR/aspell/cp1250.cmap",start:0,end:31404},{filename:"/resources_js/fr_FR/aspell/cp1250.cset",start:31404,end:45618},{filename:"/resources_js/fr_FR/aspell/cp1251.cmap",start:45618,end:77516},{filename:"/resources_js/fr_FR/aspell/cp1251.cset",start:77516,end:91382},{filename:"/resources_js/fr_FR/aspell/cp1252.cmap",start:91382,end:122364},{filename:"/resources_js/fr_FR/aspell/cp1252.cset",start:122364,end:136403},{filename:"/resources_js/fr_FR/aspell/cp1253.cmap",start:136403,end:174992},{filename:"/resources_js/fr_FR/aspell/cp1253.cset",start:174992,end:188674},{filename:"/resources_js/fr_FR/aspell/cp1254.cmap",start:188674,end:219707},{filename:"/resources_js/fr_FR/aspell/cp1254.cset",start:219707,end:233751},{filename:"/resources_js/fr_FR/aspell/cp1255.cmap",start:233751,end:268884},{filename:"/resources_js/fr_FR/aspell/cp1255.cset",start:268884,end:281916},{filename:"/resources_js/fr_FR/aspell/cp1256.cmap",start:281916,end:326050},{filename:"/resources_js/fr_FR/aspell/cp1256.cset",start:326050,end:339357},{filename:"/resources_js/fr_FR/aspell/cp1257.cmap",start:339357,end:370592},{filename:"/resources_js/fr_FR/aspell/cp1257.cset",start:370592,end:384527},{filename:"/resources_js/fr_FR/aspell/cp1258.cmap",start:384527,end:418038},{filename:"/resources_js/fr_FR/aspell/cp1258.cset",start:418038,end:431958},{filename:"/resources_js/fr_FR/aspell/croatian.alias",start:431958,end:432030},{filename:"/resources_js/fr_FR/aspell/dvorak.kbd",start:432030,end:432128},{filename:"/resources_js/fr_FR/aspell/fr-40-only.rws",start:432128,end:6258864},{filename:"/resources_js/fr_FR/aspell/fr-40.multi",start:6258864,end:6258942},{filename:"/resources_js/fr_FR/aspell/fr-60-only.rws",start:6258942,end:17849678},{filename:"/resources_js/fr_FR/aspell/fr-60.multi",start:17849678,end:17849756},{filename:"/resources_js/fr_FR/aspell/fr-80-only.rws",start:17849756,end:18184636},{filename:"/resources_js/fr_FR/aspell/fr-80.multi",start:18184636,end:18184714},{filename:"/resources_js/fr_FR/aspell/fr-lrg.alias",start:18184714,end:18184792},{filename:"/resources_js/fr_FR/aspell/fr-med.alias",start:18184792,end:18184870},{filename:"/resources_js/fr_FR/aspell/fr-sml.alias",start:18184870,end:18184948},{filename:"/resources_js/fr_FR/aspell/fr.dat",start:18184948,end:18185074},{filename:"/resources_js/fr_FR/aspell/fr.multi",start:18185074,end:18185149},{filename:"/resources_js/fr_FR/aspell/fr_CH-40.multi",start:18185149,end:18185246},{filename:"/resources_js/fr_FR/aspell/fr_CH-60.multi",start:18185246,end:18185362},{filename:"/resources_js/fr_FR/aspell/fr_CH-80.multi",start:18185362,end:18185497},{filename:"/resources_js/fr_FR/aspell/fr_CH-lrg.alias",start:18185497,end:18185575},{filename:"/resources_js/fr_FR/aspell/fr_CH-med.alias",start:18185575,end:18185653},{filename:"/resources_js/fr_FR/aspell/fr_CH-only.rws",start:18185653,end:18188469},{filename:"/resources_js/fr_FR/aspell/fr_CH-sml.alias",start:18188469,end:18188547},{filename:"/resources_js/fr_FR/aspell/fr_CH.multi",start:18188547,end:18188625},{filename:"/resources_js/fr_FR/aspell/fr_FR-40.multi",start:18188625,end:18188703},{filename:"/resources_js/fr_FR/aspell/fr_FR-60.multi",start:18188703,end:18188800},{filename:"/resources_js/fr_FR/aspell/fr_FR-80.multi",start:18188800,end:18188916},{filename:"/resources_js/fr_FR/aspell/fr_FR-lrg.alias",start:18188916,end:18188994},{filename:"/resources_js/fr_FR/aspell/fr_FR-med.alias",start:18188994,end:18189072},{filename:"/resources_js/fr_FR/aspell/fr_FR-sml.alias",start:18189072,end:18189150},{filename:"/resources_js/fr_FR/aspell/fr_FR.multi",start:18189150,end:18189228},{filename:"/resources_js/fr_FR/aspell/fr_phonet.dat",start:18189228,end:18192159},{filename:"/resources_js/fr_FR/aspell/francais-40.alias",start:18192159,end:18192237},{filename:"/resources_js/fr_FR/aspell/francais-60.alias",start:18192237,end:18192315},{filename:"/resources_js/fr_FR/aspell/francais-80.alias",start:18192315,end:18192393},{filename:"/resources_js/fr_FR/aspell/francais-lrg.alias",start:18192393,end:18192471},{filename:"/resources_js/fr_FR/aspell/francais-med.alias",start:18192471,end:18192549},{filename:"/resources_js/fr_FR/aspell/francais-sml.alias",start:18192549,end:18192627},{filename:"/resources_js/fr_FR/aspell/francais.alias",start:18192627,end:18192702},{filename:"/resources_js/fr_FR/aspell/french-40.alias",start:18192702,end:18192780},{filename:"/resources_js/fr_FR/aspell/french-60.alias",start:18192780,end:18192858},{filename:"/resources_js/fr_FR/aspell/french-80.alias",start:18192858,end:18192936},{filename:"/resources_js/fr_FR/aspell/french-lrg.alias",start:18192936,end:18193014},{filename:"/resources_js/fr_FR/aspell/french-med.alias",start:18193014,end:18193092},{filename:"/resources_js/fr_FR/aspell/french-sml.alias",start:18193092,end:18193170},{filename:"/resources_js/fr_FR/aspell/french.alias",start:18193170,end:18193245},{filename:"/resources_js/fr_FR/aspell/iso-8859-1.cmap",start:18193245,end:18224139},{filename:"/resources_js/fr_FR/aspell/iso-8859-1.cset",start:18224139,end:18237987},{filename:"/resources_js/fr_FR/aspell/iso-8859-10.cmap",start:18237987,end:18269052},{filename:"/resources_js/fr_FR/aspell/iso-8859-10.cset",start:18269052,end:18283311},{filename:"/resources_js/fr_FR/aspell/iso-8859-11.cmap",start:18283311,end:18310434},{filename:"/resources_js/fr_FR/aspell/iso-8859-11.cset",start:18310434,end:18323672},{filename:"/resources_js/fr_FR/aspell/iso-8859-13.cmap",start:18323672,end:18354800},{filename:"/resources_js/fr_FR/aspell/iso-8859-13.cset",start:18354800,end:18368789},{filename:"/resources_js/fr_FR/aspell/iso-8859-14.cmap",start:18368789,end:18400222},{filename:"/resources_js/fr_FR/aspell/iso-8859-14.cset",start:18400222,end:18414601},{filename:"/resources_js/fr_FR/aspell/iso-8859-15.cmap",start:18414601,end:18445415},{filename:"/resources_js/fr_FR/aspell/iso-8859-15.cset",start:18445415,end:18459354},{filename:"/resources_js/fr_FR/aspell/iso-8859-16.cmap",start:18459354,end:18490173},{filename:"/resources_js/fr_FR/aspell/iso-8859-16.cset",start:18490173,end:18504457},{filename:"/resources_js/fr_FR/aspell/iso-8859-2.cmap",start:18504457,end:18535746},{filename:"/resources_js/fr_FR/aspell/iso-8859-2.cset",start:18535746,end:18549879},{filename:"/resources_js/fr_FR/aspell/iso-8859-3.cmap",start:18549879,end:18580828},{filename:"/resources_js/fr_FR/aspell/iso-8859-3.cset",start:18580828,end:18594800},{filename:"/resources_js/fr_FR/aspell/iso-8859-4.cmap",start:18594800,end:18625942},{filename:"/resources_js/fr_FR/aspell/iso-8859-4.cset",start:18625942,end:18640047},{filename:"/resources_js/fr_FR/aspell/iso-8859-5.cmap",start:18640047,end:18671811},{filename:"/resources_js/fr_FR/aspell/iso-8859-5.cset",start:18671811,end:18685560},{filename:"/resources_js/fr_FR/aspell/iso-8859-6.cmap",start:18685560,end:18726550},{filename:"/resources_js/fr_FR/aspell/iso-8859-6.cset",start:18726550,end:18739102},{filename:"/resources_js/fr_FR/aspell/iso-8859-7.cmap",start:18739102,end:18777640},{filename:"/resources_js/fr_FR/aspell/iso-8859-7.cset",start:18777640,end:18791279},{filename:"/resources_js/fr_FR/aspell/iso-8859-8.cmap",start:18791279,end:18819037},{filename:"/resources_js/fr_FR/aspell/iso-8859-8.cset",start:18819037,end:18831594},{filename:"/resources_js/fr_FR/aspell/iso-8859-9.cmap",start:18831594,end:18862614},{filename:"/resources_js/fr_FR/aspell/iso-8859-9.cset",start:18862614,end:18876499},{filename:"/resources_js/fr_FR/aspell/koi8-r.cmap",start:18876499,end:18907933},{filename:"/resources_js/fr_FR/aspell/koi8-r.cset",start:18907933,end:18921332},{filename:"/resources_js/fr_FR/aspell/koi8-u.cmap",start:18921332,end:18952908},{filename:"/resources_js/fr_FR/aspell/koi8-u.cset",start:18952908,end:18966469},{filename:"/resources_js/fr_FR/aspell/split.kbd",start:18966469,end:18966568},{filename:"/resources_js/fr_FR/aspell/standard.kbd",start:18966568,end:18966668},{filename:"/resources_js/fr_FR/aspell/suisse-40.alias",start:18966668,end:18966746},{filename:"/resources_js/fr_FR/aspell/suisse-60.alias",start:18966746,end:18966824},{filename:"/resources_js/fr_FR/aspell/suisse-80.alias",start:18966824,end:18966902},{filename:"/resources_js/fr_FR/aspell/suisse-lrg.alias",start:18966902,end:18966980},{filename:"/resources_js/fr_FR/aspell/suisse-med.alias",start:18966980,end:18967058},{filename:"/resources_js/fr_FR/aspell/suisse-sml.alias",start:18967058,end:18967136},{filename:"/resources_js/fr_FR/aspell/suisse.alias",start:18967136,end:18967211},{filename:"/resources_js/fr_FR/hunspell/fr_FR.aff",start:18967211,end:19167081},{filename:"/resources_js/fr_FR/hunspell/fr_FR.dic",start:19167081,end:20396214},{filename:"/resources_js/fr_FR/ngrams_db/ngrams.counts",start:20396214,end:21384954},{filename:"/resources_js/fr_FR/ngrams_db/ngrams.trie",start:21384954,end:22317498},{filename:"/resources_js/fr_FR/presage.xml",start:22317498,end:22320666}],remote_package_size:22320666})})();var Module=typeof Module!="undefined"?Module:{};if(!Module["expectedDataFileDownloads"])Module["expectedDataFileDownloads"]=0;Module["expectedDataFileDownloads"]++;(()=>{var isPthread=typeof ENVIRONMENT_IS_PTHREAD!="undefined"&&ENVIRONMENT_IS_PTHREAD;var isWasmWorker=typeof ENVIRONMENT_IS_WASM_WORKER!="undefined"&&ENVIRONMENT_IS_WASM_WORKER;if(isPthread||isWasmWorker)return;var isNode=globalThis.process&&globalThis.process.versions&&globalThis.process.versions.node&&globalThis.process.type!="renderer";async function loadPackage(metadata){var PACKAGE_PATH="";if(typeof window==="object"){PACKAGE_PATH=window["encodeURIComponent"](window.location.pathname.substring(0,window.location.pathname.lastIndexOf("/"))+"/")}else if(typeof process==="undefined"&&typeof location!=="undefined"){PACKAGE_PATH=encodeURIComponent(location.pathname.substring(0,location.pathname.lastIndexOf("/"))+"/")}var PACKAGE_NAME="hr_HR.data";var REMOTE_PACKAGE_BASE="hr_HR.data";var REMOTE_PACKAGE_NAME=Module["locateFile"]?Module["locateFile"](REMOTE_PACKAGE_BASE,""):REMOTE_PACKAGE_BASE;var REMOTE_PACKAGE_SIZE=metadata["remote_package_size"];async function fetchRemotePackage(packageName,packageSize){if(isNode){var contents=require("fs").readFileSync(packageName);return new Uint8Array(contents).buffer}if(!Module["dataFileDownloads"])Module["dataFileDownloads"]={};try{var response=await fetch(chrome.runtime.getURL("third_party/libpresage/"+packageName))}catch(e){throw new Error(`Network Error: ${packageName}`,{e})}if(!response.ok){throw new Error(`${response.status}: ${response.url}`)}const chunks=[];const headers=response.headers;const total=Number(headers.get("Content-Length")||packageSize);let loaded=0;Module["setStatus"]&&Module["setStatus"]("Downloading data...");const reader=response.body.getReader();while(1){var{done,value}=await reader.read();if(done)break;chunks.push(value);loaded+=value.length;Module["dataFileDownloads"][packageName]={loaded,total};let totalLoaded=0;let totalSize=0;for(const download of Object.values(Module["dataFileDownloads"])){totalLoaded+=download.loaded;totalSize+=download.total}Module["setStatus"]&&Module["setStatus"](`Downloading data... (${totalLoaded}/${totalSize})`)}const packageData=new Uint8Array(chunks.map(c=>c.length).reduce((a,b)=>a+b,0));let offset=0;for(const chunk of chunks){packageData.set(chunk,offset);offset+=chunk.length}return packageData.buffer}var fetchPromise;var fetched=Module["getPreloadedPackage"]&&Module["getPreloadedPackage"](REMOTE_PACKAGE_NAME,REMOTE_PACKAGE_SIZE);if(!fetched){fetchPromise=fetchRemotePackage(REMOTE_PACKAGE_NAME,REMOTE_PACKAGE_SIZE)}async function runWithFS(Module){function assert(check,msg){if(!check)throw new Error(msg)}Module["FS_createPath"]("/","resources_js",true,true);Module["FS_createPath"]("/resources_js","hr_HR",true,true);Module["FS_createPath"]("/resources_js/hr_HR","aspell",true,true);Module["FS_createPath"]("/resources_js/hr_HR","hunspell",true,true);Module["FS_createPath"]("/resources_js/hr_HR","ngrams_db",true,true);for(var file of metadata["files"]){var name=file["filename"];Module["addRunDependency"](`fp ${name}`)}async function processPackageData(arrayBuffer){assert(arrayBuffer,"Loading data file failed.");assert(arrayBuffer.constructor.name===ArrayBuffer.name,"bad input to processPackageData "+arrayBuffer.constructor.name);var byteArray=new Uint8Array(arrayBuffer);for(var file of metadata["files"]){var name=file["filename"];var data=byteArray.subarray(file["start"],file["end"]);Module["FS_createDataFile"](name,null,data,true,true,true);Module["removeRunDependency"](`fp ${name}`)}Module["removeRunDependency"]("datafile_hr_HR.data")}Module["addRunDependency"]("datafile_hr_HR.data");if(!Module["preloadResults"])Module["preloadResults"]={};Module["preloadResults"][PACKAGE_NAME]={fromCache:false};if(!fetched){fetched=await fetchPromise}processPackageData(fetched)}if(Module["calledRun"]){runWithFS(Module)}else{if(!Module["preRun"])Module["preRun"]=[];Module["preRun"].push(runWithFS)}}loadPackage({files:[{filename:"/resources_js/hr_HR/aspell/cp1250.cmap",start:0,end:31404},{filename:"/resources_js/hr_HR/aspell/cp1250.cset",start:31404,end:45618},{filename:"/resources_js/hr_HR/aspell/cp1251.cmap",start:45618,end:77516},{filename:"/resources_js/hr_HR/aspell/cp1251.cset",start:77516,end:91382},{filename:"/resources_js/hr_HR/aspell/cp1252.cmap",start:91382,end:122364},{filename:"/resources_js/hr_HR/aspell/cp1252.cset",start:122364,end:136403},{filename:"/resources_js/hr_HR/aspell/cp1253.cmap",start:136403,end:174992},{filename:"/resources_js/hr_HR/aspell/cp1253.cset",start:174992,end:188674},{filename:"/resources_js/hr_HR/aspell/cp1254.cmap",start:188674,end:219707},{filename:"/resources_js/hr_HR/aspell/cp1254.cset",start:219707,end:233751},{filename:"/resources_js/hr_HR/aspell/cp1255.cmap",start:233751,end:268884},{filename:"/resources_js/hr_HR/aspell/cp1255.cset",start:268884,end:281916},{filename:"/resources_js/hr_HR/aspell/cp1256.cmap",start:281916,end:326050},{filename:"/resources_js/hr_HR/aspell/cp1256.cset",start:326050,end:339357},{filename:"/resources_js/hr_HR/aspell/cp1257.cmap",start:339357,end:370592},{filename:"/resources_js/hr_HR/aspell/cp1257.cset",start:370592,end:384527},{filename:"/resources_js/hr_HR/aspell/cp1258.cmap",start:384527,end:418038},{filename:"/resources_js/hr_HR/aspell/cp1258.cset",start:418038,end:431958},{filename:"/resources_js/hr_HR/aspell/croatian.alias",start:431958,end:432030},{filename:"/resources_js/hr_HR/aspell/dvorak.kbd",start:432030,end:432128},{filename:"/resources_js/hr_HR/aspell/hr.dat",start:432128,end:432243},{filename:"/resources_js/hr_HR/aspell/hr.multi",start:432243,end:432313},{filename:"/resources_js/hr_HR/aspell/hr.rws",start:432313,end:7313881},{filename:"/resources_js/hr_HR/aspell/iso-8859-1.cmap",start:7313881,end:7344775},{filename:"/resources_js/hr_HR/aspell/iso-8859-1.cset",start:7344775,end:7358623},{filename:"/resources_js/hr_HR/aspell/iso-8859-10.cmap",start:7358623,end:7389688},{filename:"/resources_js/hr_HR/aspell/iso-8859-10.cset",start:7389688,end:7403947},{filename:"/resources_js/hr_HR/aspell/iso-8859-11.cmap",start:7403947,end:7431070},{filename:"/resources_js/hr_HR/aspell/iso-8859-11.cset",start:7431070,end:7444308},{filename:"/resources_js/hr_HR/aspell/iso-8859-13.cmap",start:7444308,end:7475436},{filename:"/resources_js/hr_HR/aspell/iso-8859-13.cset",start:7475436,end:7489425},{filename:"/resources_js/hr_HR/aspell/iso-8859-14.cmap",start:7489425,end:7520858},{filename:"/resources_js/hr_HR/aspell/iso-8859-14.cset",start:7520858,end:7535237},{filename:"/resources_js/hr_HR/aspell/iso-8859-15.cmap",start:7535237,end:7566051},{filename:"/resources_js/hr_HR/aspell/iso-8859-15.cset",start:7566051,end:7579990},{filename:"/resources_js/hr_HR/aspell/iso-8859-16.cmap",start:7579990,end:7610809},{filename:"/resources_js/hr_HR/aspell/iso-8859-16.cset",start:7610809,end:7625093},{filename:"/resources_js/hr_HR/aspell/iso-8859-2.cmap",start:7625093,end:7656382},{filename:"/resources_js/hr_HR/aspell/iso-8859-2.cset",start:7656382,end:7670515},{filename:"/resources_js/hr_HR/aspell/iso-8859-3.cmap",start:7670515,end:7701464},{filename:"/resources_js/hr_HR/aspell/iso-8859-3.cset",start:7701464,end:7715436},{filename:"/resources_js/hr_HR/aspell/iso-8859-4.cmap",start:7715436,end:7746578},{filename:"/resources_js/hr_HR/aspell/iso-8859-4.cset",start:7746578,end:7760683},{filename:"/resources_js/hr_HR/aspell/iso-8859-5.cmap",start:7760683,end:7792447},{filename:"/resources_js/hr_HR/aspell/iso-8859-5.cset",start:7792447,end:7806196},{filename:"/resources_js/hr_HR/aspell/iso-8859-6.cmap",start:7806196,end:7847186},{filename:"/resources_js/hr_HR/aspell/iso-8859-6.cset",start:7847186,end:7859738},{filename:"/resources_js/hr_HR/aspell/iso-8859-7.cmap",start:7859738,end:7898276},{filename:"/resources_js/hr_HR/aspell/iso-8859-7.cset",start:7898276,end:7911915},{filename:"/resources_js/hr_HR/aspell/iso-8859-8.cmap",start:7911915,end:7939673},{filename:"/resources_js/hr_HR/aspell/iso-8859-8.cset",start:7939673,end:7952230},{filename:"/resources_js/hr_HR/aspell/iso-8859-9.cmap",start:7952230,end:7983250},{filename:"/resources_js/hr_HR/aspell/iso-8859-9.cset",start:7983250,end:7997135},{filename:"/resources_js/hr_HR/aspell/koi8-r.cmap",start:7997135,end:8028569},{filename:"/resources_js/hr_HR/aspell/koi8-r.cset",start:8028569,end:8041968},{filename:"/resources_js/hr_HR/aspell/koi8-u.cmap",start:8041968,end:8073544},{filename:"/resources_js/hr_HR/aspell/koi8-u.cset",start:8073544,end:8087105},{filename:"/resources_js/hr_HR/aspell/split.kbd",start:8087105,end:8087204},{filename:"/resources_js/hr_HR/aspell/standard.kbd",start:8087204,end:8087304},{filename:"/resources_js/hr_HR/hunspell/hr_HR.aff",start:8087304,end:8183403},{filename:"/resources_js/hr_HR/hunspell/hr_HR.dic",start:8183403,end:8915992},{filename:"/resources_js/hr_HR/ngrams_db/ngrams.counts",start:8915992,end:14926808},{filename:"/resources_js/hr_HR/ngrams_db/ngrams.trie",start:14926808,end:20403272},{filename:"/resources_js/hr_HR/presage.xml",start:20403272,end:20406437}],remote_package_size:20406437})})();var Module=typeof Module!="undefined"?Module:{};if(!Module["expectedDataFileDownloads"])Module["expectedDataFileDownloads"]=0;Module["expectedDataFileDownloads"]++;(()=>{var isPthread=typeof ENVIRONMENT_IS_PTHREAD!="undefined"&&ENVIRONMENT_IS_PTHREAD;var isWasmWorker=typeof ENVIRONMENT_IS_WASM_WORKER!="undefined"&&ENVIRONMENT_IS_WASM_WORKER;if(isPthread||isWasmWorker)return;var isNode=globalThis.process&&globalThis.process.versions&&globalThis.process.versions.node&&globalThis.process.type!="renderer";async function loadPackage(metadata){var PACKAGE_PATH="";if(typeof window==="object"){PACKAGE_PATH=window["encodeURIComponent"](window.location.pathname.substring(0,window.location.pathname.lastIndexOf("/"))+"/")}else if(typeof process==="undefined"&&typeof location!=="undefined"){PACKAGE_PATH=encodeURIComponent(location.pathname.substring(0,location.pathname.lastIndexOf("/"))+"/")}var PACKAGE_NAME="pl_PL.data";var REMOTE_PACKAGE_BASE="pl_PL.data";var REMOTE_PACKAGE_NAME=Module["locateFile"]?Module["locateFile"](REMOTE_PACKAGE_BASE,""):REMOTE_PACKAGE_BASE;var REMOTE_PACKAGE_SIZE=metadata["remote_package_size"];async function fetchRemotePackage(packageName,packageSize){if(isNode){var contents=require("fs").readFileSync(packageName);return new Uint8Array(contents).buffer}if(!Module["dataFileDownloads"])Module["dataFileDownloads"]={};try{var response=await fetch(chrome.runtime.getURL("third_party/libpresage/"+packageName))}catch(e){throw new Error(`Network Error: ${packageName}`,{e})}if(!response.ok){throw new Error(`${response.status}: ${response.url}`)}const chunks=[];const headers=response.headers;const total=Number(headers.get("Content-Length")||packageSize);let loaded=0;Module["setStatus"]&&Module["setStatus"]("Downloading data...");const reader=response.body.getReader();while(1){var{done,value}=await reader.read();if(done)break;chunks.push(value);loaded+=value.length;Module["dataFileDownloads"][packageName]={loaded,total};let totalLoaded=0;let totalSize=0;for(const download of Object.values(Module["dataFileDownloads"])){totalLoaded+=download.loaded;totalSize+=download.total}Module["setStatus"]&&Module["setStatus"](`Downloading data... (${totalLoaded}/${totalSize})`)}const packageData=new Uint8Array(chunks.map(c=>c.length).reduce((a,b)=>a+b,0));let offset=0;for(const chunk of chunks){packageData.set(chunk,offset);offset+=chunk.length}return packageData.buffer}var fetchPromise;var fetched=Module["getPreloadedPackage"]&&Module["getPreloadedPackage"](REMOTE_PACKAGE_NAME,REMOTE_PACKAGE_SIZE);if(!fetched){fetchPromise=fetchRemotePackage(REMOTE_PACKAGE_NAME,REMOTE_PACKAGE_SIZE)}async function runWithFS(Module){function assert(check,msg){if(!check)throw new Error(msg)}Module["FS_createPath"]("/","resources_js",true,true);Module["FS_createPath"]("/resources_js","pl_PL",true,true);Module["FS_createPath"]("/resources_js/pl_PL","aspell",true,true);Module["FS_createPath"]("/resources_js/pl_PL","hunspell",true,true);Module["FS_createPath"]("/resources_js/pl_PL","ngrams_db",true,true);for(var file of metadata["files"]){var name=file["filename"];Module["addRunDependency"](`fp ${name}`)}async function processPackageData(arrayBuffer){assert(arrayBuffer,"Loading data file failed.");assert(arrayBuffer.constructor.name===ArrayBuffer.name,"bad input to processPackageData "+arrayBuffer.constructor.name);var byteArray=new Uint8Array(arrayBuffer);for(var file of metadata["files"]){var name=file["filename"];var data=byteArray.subarray(file["start"],file["end"]);Module["FS_createDataFile"](name,null,data,true,true,true);Module["removeRunDependency"](`fp ${name}`)}Module["removeRunDependency"]("datafile_pl_PL.data")}Module["addRunDependency"]("datafile_pl_PL.data");if(!Module["preloadResults"])Module["preloadResults"]={};Module["preloadResults"][PACKAGE_NAME]={fromCache:false};if(!fetched){fetched=await fetchPromise}processPackageData(fetched)}if(Module["calledRun"]){runWithFS(Module)}else{if(!Module["preRun"])Module["preRun"]=[];Module["preRun"].push(runWithFS)}}loadPackage({files:[{filename:"/resources_js/pl_PL/aspell/cp1250.cmap",start:0,end:31404},{filename:"/resources_js/pl_PL/aspell/cp1250.cset",start:31404,end:45618},{filename:"/resources_js/pl_PL/aspell/cp1251.cmap",start:45618,end:77516},{filename:"/resources_js/pl_PL/aspell/cp1251.cset",start:77516,end:91382},{filename:"/resources_js/pl_PL/aspell/cp1252.cmap",start:91382,end:122364},{filename:"/resources_js/pl_PL/aspell/cp1252.cset",start:122364,end:136403},{filename:"/resources_js/pl_PL/aspell/cp1253.cmap",start:136403,end:174992},{filename:"/resources_js/pl_PL/aspell/cp1253.cset",start:174992,end:188674},{filename:"/resources_js/pl_PL/aspell/cp1254.cmap",start:188674,end:219707},{filename:"/resources_js/pl_PL/aspell/cp1254.cset",start:219707,end:233751},{filename:"/resources_js/pl_PL/aspell/cp1255.cmap",start:233751,end:268884},{filename:"/resources_js/pl_PL/aspell/cp1255.cset",start:268884,end:281916},{filename:"/resources_js/pl_PL/aspell/cp1256.cmap",start:281916,end:326050},{filename:"/resources_js/pl_PL/aspell/cp1256.cset",start:326050,end:339357},{filename:"/resources_js/pl_PL/aspell/cp1257.cmap",start:339357,end:370592},{filename:"/resources_js/pl_PL/aspell/cp1257.cset",start:370592,end:384527},{filename:"/resources_js/pl_PL/aspell/cp1258.cmap",start:384527,end:418038},{filename:"/resources_js/pl_PL/aspell/cp1258.cset",start:418038,end:431958},{filename:"/resources_js/pl_PL/aspell/croatian.alias",start:431958,end:432030},{filename:"/resources_js/pl_PL/aspell/dvorak.kbd",start:432030,end:432128},{filename:"/resources_js/pl_PL/aspell/iso-8859-1.cmap",start:432128,end:463022},{filename:"/resources_js/pl_PL/aspell/iso-8859-1.cset",start:463022,end:476870},{filename:"/resources_js/pl_PL/aspell/iso-8859-10.cmap",start:476870,end:507935},{filename:"/resources_js/pl_PL/aspell/iso-8859-10.cset",start:507935,end:522194},{filename:"/resources_js/pl_PL/aspell/iso-8859-11.cmap",start:522194,end:549317},{filename:"/resources_js/pl_PL/aspell/iso-8859-11.cset",start:549317,end:562555},{filename:"/resources_js/pl_PL/aspell/iso-8859-13.cmap",start:562555,end:593683},{filename:"/resources_js/pl_PL/aspell/iso-8859-13.cset",start:593683,end:607672},{filename:"/resources_js/pl_PL/aspell/iso-8859-14.cmap",start:607672,end:639105},{filename:"/resources_js/pl_PL/aspell/iso-8859-14.cset",start:639105,end:653484},{filename:"/resources_js/pl_PL/aspell/iso-8859-15.cmap",start:653484,end:684298},{filename:"/resources_js/pl_PL/aspell/iso-8859-15.cset",start:684298,end:698237},{filename:"/resources_js/pl_PL/aspell/iso-8859-16.cmap",start:698237,end:729056},{filename:"/resources_js/pl_PL/aspell/iso-8859-16.cset",start:729056,end:743340},{filename:"/resources_js/pl_PL/aspell/iso-8859-2.cmap",start:743340,end:774629},{filename:"/resources_js/pl_PL/aspell/iso-8859-2.cset",start:774629,end:788762},{filename:"/resources_js/pl_PL/aspell/iso-8859-3.cmap",start:788762,end:819711},{filename:"/resources_js/pl_PL/aspell/iso-8859-3.cset",start:819711,end:833683},{filename:"/resources_js/pl_PL/aspell/iso-8859-4.cmap",start:833683,end:864825},{filename:"/resources_js/pl_PL/aspell/iso-8859-4.cset",start:864825,end:878930},{filename:"/resources_js/pl_PL/aspell/iso-8859-5.cmap",start:878930,end:910694},{filename:"/resources_js/pl_PL/aspell/iso-8859-5.cset",start:910694,end:924443},{filename:"/resources_js/pl_PL/aspell/iso-8859-6.cmap",start:924443,end:965433},{filename:"/resources_js/pl_PL/aspell/iso-8859-6.cset",start:965433,end:977985},{filename:"/resources_js/pl_PL/aspell/iso-8859-7.cmap",start:977985,end:1016523},{filename:"/resources_js/pl_PL/aspell/iso-8859-7.cset",start:1016523,end:1030162},{filename:"/resources_js/pl_PL/aspell/iso-8859-8.cmap",start:1030162,end:1057920},{filename:"/resources_js/pl_PL/aspell/iso-8859-8.cset",start:1057920,end:1070477},{filename:"/resources_js/pl_PL/aspell/iso-8859-9.cmap",start:1070477,end:1101497},{filename:"/resources_js/pl_PL/aspell/iso-8859-9.cset",start:1101497,end:1115382},{filename:"/resources_js/pl_PL/aspell/koi8-r.cmap",start:1115382,end:1146816},{filename:"/resources_js/pl_PL/aspell/koi8-r.cset",start:1146816,end:1160215},{filename:"/resources_js/pl_PL/aspell/koi8-u.cmap",start:1160215,end:1191791},{filename:"/resources_js/pl_PL/aspell/koi8-u.cset",start:1191791,end:1205352},{filename:"/resources_js/pl_PL/aspell/pl.dat",start:1205352,end:1205423},{filename:"/resources_js/pl_PL/aspell/pl.multi",start:1205423,end:1205493},{filename:"/resources_js/pl_PL/aspell/pl.rws",start:1205493,end:8336709},{filename:"/resources_js/pl_PL/aspell/pl_affix.dat",start:8336709,end:8581751},{filename:"/resources_js/pl_PL/aspell/polish.alias",start:8581751,end:8581823},{filename:"/resources_js/pl_PL/aspell/split.kbd",start:8581823,end:8581922},{filename:"/resources_js/pl_PL/aspell/standard.kbd",start:8581922,end:8582022},{filename:"/resources_js/pl_PL/hunspell/pl_PL.aff",start:8582022,end:8850846},{filename:"/resources_js/pl_PL/hunspell/pl_PL.dic",start:8850846,end:13534425},{filename:"/resources_js/pl_PL/ngrams_db/ngrams.counts",start:13534425,end:15697577},{filename:"/resources_js/pl_PL/ngrams_db/ngrams.trie",start:15697577,end:18066569},{filename:"/resources_js/pl_PL/presage.xml",start:18066569,end:18069734}],remote_package_size:18069734})})();var Module=typeof Module!="undefined"?Module:{};if(!Module["expectedDataFileDownloads"])Module["expectedDataFileDownloads"]=0;Module["expectedDataFileDownloads"]++;(()=>{var isPthread=typeof ENVIRONMENT_IS_PTHREAD!="undefined"&&ENVIRONMENT_IS_PTHREAD;var isWasmWorker=typeof ENVIRONMENT_IS_WASM_WORKER!="undefined"&&ENVIRONMENT_IS_WASM_WORKER;if(isPthread||isWasmWorker)return;var isNode=globalThis.process&&globalThis.process.versions&&globalThis.process.versions.node&&globalThis.process.type!="renderer";async function loadPackage(metadata){var PACKAGE_PATH="";if(typeof window==="object"){PACKAGE_PATH=window["encodeURIComponent"](window.location.pathname.substring(0,window.location.pathname.lastIndexOf("/"))+"/")}else if(typeof process==="undefined"&&typeof location!=="undefined"){PACKAGE_PATH=encodeURIComponent(location.pathname.substring(0,location.pathname.lastIndexOf("/"))+"/")}var PACKAGE_NAME="pt_BR.data";var REMOTE_PACKAGE_BASE="pt_BR.data";var REMOTE_PACKAGE_NAME=Module["locateFile"]?Module["locateFile"](REMOTE_PACKAGE_BASE,""):REMOTE_PACKAGE_BASE;var REMOTE_PACKAGE_SIZE=metadata["remote_package_size"];async function fetchRemotePackage(packageName,packageSize){if(isNode){var contents=require("fs").readFileSync(packageName);return new Uint8Array(contents).buffer}if(!Module["dataFileDownloads"])Module["dataFileDownloads"]={};try{var response=await fetch(chrome.runtime.getURL("third_party/libpresage/"+packageName))}catch(e){throw new Error(`Network Error: ${packageName}`,{e})}if(!response.ok){throw new Error(`${response.status}: ${response.url}`)}const chunks=[];const headers=response.headers;const total=Number(headers.get("Content-Length")||packageSize);let loaded=0;Module["setStatus"]&&Module["setStatus"]("Downloading data...");const reader=response.body.getReader();while(1){var{done,value}=await reader.read();if(done)break;chunks.push(value);loaded+=value.length;Module["dataFileDownloads"][packageName]={loaded,total};let totalLoaded=0;let totalSize=0;for(const download of Object.values(Module["dataFileDownloads"])){totalLoaded+=download.loaded;totalSize+=download.total}Module["setStatus"]&&Module["setStatus"](`Downloading data... (${totalLoaded}/${totalSize})`)}const packageData=new Uint8Array(chunks.map(c=>c.length).reduce((a,b)=>a+b,0));let offset=0;for(const chunk of chunks){packageData.set(chunk,offset);offset+=chunk.length}return packageData.buffer}var fetchPromise;var fetched=Module["getPreloadedPackage"]&&Module["getPreloadedPackage"](REMOTE_PACKAGE_NAME,REMOTE_PACKAGE_SIZE);if(!fetched){fetchPromise=fetchRemotePackage(REMOTE_PACKAGE_NAME,REMOTE_PACKAGE_SIZE)}async function runWithFS(Module){function assert(check,msg){if(!check)throw new Error(msg)}Module["FS_createPath"]("/","resources_js",true,true);Module["FS_createPath"]("/resources_js","pt_BR",true,true);Module["FS_createPath"]("/resources_js/pt_BR","aspell",true,true);Module["FS_createPath"]("/resources_js/pt_BR","hunspell",true,true);Module["FS_createPath"]("/resources_js/pt_BR","ngrams_db",true,true);for(var file of metadata["files"]){var name=file["filename"];Module["addRunDependency"](`fp ${name}`)}async function processPackageData(arrayBuffer){assert(arrayBuffer,"Loading data file failed.");assert(arrayBuffer.constructor.name===ArrayBuffer.name,"bad input to processPackageData "+arrayBuffer.constructor.name);var byteArray=new Uint8Array(arrayBuffer);for(var file of metadata["files"]){var name=file["filename"];var data=byteArray.subarray(file["start"],file["end"]);Module["FS_createDataFile"](name,null,data,true,true,true);Module["removeRunDependency"](`fp ${name}`)}Module["removeRunDependency"]("datafile_pt_BR.data")}Module["addRunDependency"]("datafile_pt_BR.data");if(!Module["preloadResults"])Module["preloadResults"]={};Module["preloadResults"][PACKAGE_NAME]={fromCache:false};if(!fetched){fetched=await fetchPromise}processPackageData(fetched)}if(Module["calledRun"]){runWithFS(Module)}else{if(!Module["preRun"])Module["preRun"]=[];Module["preRun"].push(runWithFS)}}loadPackage({files:[{filename:"/resources_js/pt_BR/aspell/br-abnt2.kbd",start:0,end:172},{filename:"/resources_js/pt_BR/aspell/brasileiro.alias",start:172,end:247},{filename:"/resources_js/pt_BR/aspell/brazilian.alias",start:247,end:322},{filename:"/resources_js/pt_BR/aspell/cp1250.cmap",start:322,end:31726},{filename:"/resources_js/pt_BR/aspell/cp1250.cset",start:31726,end:45940},{filename:"/resources_js/pt_BR/aspell/cp1251.cmap",start:45940,end:77838},{filename:"/resources_js/pt_BR/aspell/cp1251.cset",start:77838,end:91704},{filename:"/resources_js/pt_BR/aspell/cp1252.cmap",start:91704,end:122686},{filename:"/resources_js/pt_BR/aspell/cp1252.cset",start:122686,end:136725},{filename:"/resources_js/pt_BR/aspell/cp1253.cmap",start:136725,end:175314},{filename:"/resources_js/pt_BR/aspell/cp1253.cset",start:175314,end:188996},{filename:"/resources_js/pt_BR/aspell/cp1254.cmap",start:188996,end:220029},{filename:"/resources_js/pt_BR/aspell/cp1254.cset",start:220029,end:234073},{filename:"/resources_js/pt_BR/aspell/cp1255.cmap",start:234073,end:269206},{filename:"/resources_js/pt_BR/aspell/cp1255.cset",start:269206,end:282238},{filename:"/resources_js/pt_BR/aspell/cp1256.cmap",start:282238,end:326372},{filename:"/resources_js/pt_BR/aspell/cp1256.cset",start:326372,end:339679},{filename:"/resources_js/pt_BR/aspell/cp1257.cmap",start:339679,end:370914},{filename:"/resources_js/pt_BR/aspell/cp1257.cset",start:370914,end:384849},{filename:"/resources_js/pt_BR/aspell/cp1258.cmap",start:384849,end:418360},{filename:"/resources_js/pt_BR/aspell/cp1258.cset",start:418360,end:432280},{filename:"/resources_js/pt_BR/aspell/croatian.alias",start:432280,end:432352},{filename:"/resources_js/pt_BR/aspell/dvorak.kbd",start:432352,end:432450},{filename:"/resources_js/pt_BR/aspell/iso-8859-1.cmap",start:432450,end:463344},{filename:"/resources_js/pt_BR/aspell/iso-8859-1.cset",start:463344,end:477192},{filename:"/resources_js/pt_BR/aspell/iso-8859-10.cmap",start:477192,end:508257},{filename:"/resources_js/pt_BR/aspell/iso-8859-10.cset",start:508257,end:522516},{filename:"/resources_js/pt_BR/aspell/iso-8859-11.cmap",start:522516,end:549639},{filename:"/resources_js/pt_BR/aspell/iso-8859-11.cset",start:549639,end:562877},{filename:"/resources_js/pt_BR/aspell/iso-8859-13.cmap",start:562877,end:594005},{filename:"/resources_js/pt_BR/aspell/iso-8859-13.cset",start:594005,end:607994},{filename:"/resources_js/pt_BR/aspell/iso-8859-14.cmap",start:607994,end:639427},{filename:"/resources_js/pt_BR/aspell/iso-8859-14.cset",start:639427,end:653806},{filename:"/resources_js/pt_BR/aspell/iso-8859-15.cmap",start:653806,end:684620},{filename:"/resources_js/pt_BR/aspell/iso-8859-15.cset",start:684620,end:698559},{filename:"/resources_js/pt_BR/aspell/iso-8859-16.cmap",start:698559,end:729378},{filename:"/resources_js/pt_BR/aspell/iso-8859-16.cset",start:729378,end:743662},{filename:"/resources_js/pt_BR/aspell/iso-8859-2.cmap",start:743662,end:774951},{filename:"/resources_js/pt_BR/aspell/iso-8859-2.cset",start:774951,end:789084},{filename:"/resources_js/pt_BR/aspell/iso-8859-3.cmap",start:789084,end:820033},{filename:"/resources_js/pt_BR/aspell/iso-8859-3.cset",start:820033,end:834005},{filename:"/resources_js/pt_BR/aspell/iso-8859-4.cmap",start:834005,end:865147},{filename:"/resources_js/pt_BR/aspell/iso-8859-4.cset",start:865147,end:879252},{filename:"/resources_js/pt_BR/aspell/iso-8859-5.cmap",start:879252,end:911016},{filename:"/resources_js/pt_BR/aspell/iso-8859-5.cset",start:911016,end:924765},{filename:"/resources_js/pt_BR/aspell/iso-8859-6.cmap",start:924765,end:965755},{filename:"/resources_js/pt_BR/aspell/iso-8859-6.cset",start:965755,end:978307},{filename:"/resources_js/pt_BR/aspell/iso-8859-7.cmap",start:978307,end:1016845},{filename:"/resources_js/pt_BR/aspell/iso-8859-7.cset",start:1016845,end:1030484},{filename:"/resources_js/pt_BR/aspell/iso-8859-8.cmap",start:1030484,end:1058242},{filename:"/resources_js/pt_BR/aspell/iso-8859-8.cset",start:1058242,end:1070799},{filename:"/resources_js/pt_BR/aspell/iso-8859-9.cmap",start:1070799,end:1101819},{filename:"/resources_js/pt_BR/aspell/iso-8859-9.cset",start:1101819,end:1115704},{filename:"/resources_js/pt_BR/aspell/koi8-r.cmap",start:1115704,end:1147138},{filename:"/resources_js/pt_BR/aspell/koi8-r.cset",start:1147138,end:1160537},{filename:"/resources_js/pt_BR/aspell/koi8-u.cmap",start:1160537,end:1192113},{filename:"/resources_js/pt_BR/aspell/koi8-u.cset",start:1192113,end:1205674},{filename:"/resources_js/pt_BR/aspell/pt_BR.dat",start:1205674,end:1205883},{filename:"/resources_js/pt_BR/aspell/pt_BR.multi",start:1205883,end:1205956},{filename:"/resources_js/pt_BR/aspell/pt_BR.rws",start:1205956,end:8351076},{filename:"/resources_js/pt_BR/aspell/pt_BR_affix.dat",start:8351076,end:9322990},{filename:"/resources_js/pt_BR/aspell/split.kbd",start:9322990,end:9323089},{filename:"/resources_js/pt_BR/aspell/standard.kbd",start:9323089,end:9323189},{filename:"/resources_js/pt_BR/hunspell/pt_BR.aff",start:9323189,end:10322411},{filename:"/resources_js/pt_BR/hunspell/pt_BR.dic",start:10322411,end:14964671},{filename:"/resources_js/pt_BR/ngrams_db/ngrams.counts",start:14964671,end:15681687},{filename:"/resources_js/pt_BR/ngrams_db/ngrams.trie",start:15681687,end:16369463},{filename:"/resources_js/pt_BR/presage.xml",start:16369463,end:16372631}],remote_package_size:16372631})})();var Module=typeof Module!="undefined"?Module:{};if(!Module["expectedDataFileDownloads"])Module["expectedDataFileDownloads"]=0;Module["expectedDataFileDownloads"]++;(()=>{var isPthread=typeof ENVIRONMENT_IS_PTHREAD!="undefined"&&ENVIRONMENT_IS_PTHREAD;var isWasmWorker=typeof ENVIRONMENT_IS_WASM_WORKER!="undefined"&&ENVIRONMENT_IS_WASM_WORKER;if(isPthread||isWasmWorker)return;var isNode=globalThis.process&&globalThis.process.versions&&globalThis.process.versions.node&&globalThis.process.type!="renderer";async function loadPackage(metadata){var PACKAGE_PATH="";if(typeof window==="object"){PACKAGE_PATH=window["encodeURIComponent"](window.location.pathname.substring(0,window.location.pathname.lastIndexOf("/"))+"/")}else if(typeof process==="undefined"&&typeof location!=="undefined"){PACKAGE_PATH=encodeURIComponent(location.pathname.substring(0,location.pathname.lastIndexOf("/"))+"/")}var PACKAGE_NAME="sv_SE.data";var REMOTE_PACKAGE_BASE="sv_SE.data";var REMOTE_PACKAGE_NAME=Module["locateFile"]?Module["locateFile"](REMOTE_PACKAGE_BASE,""):REMOTE_PACKAGE_BASE;var REMOTE_PACKAGE_SIZE=metadata["remote_package_size"];async function fetchRemotePackage(packageName,packageSize){if(isNode){var contents=require("fs").readFileSync(packageName);return new Uint8Array(contents).buffer}if(!Module["dataFileDownloads"])Module["dataFileDownloads"]={};try{var response=await fetch(chrome.runtime.getURL("third_party/libpresage/"+packageName))}catch(e){throw new Error(`Network Error: ${packageName}`,{e})}if(!response.ok){throw new Error(`${response.status}: ${response.url}`)}const chunks=[];const headers=response.headers;const total=Number(headers.get("Content-Length")||packageSize);let loaded=0;Module["setStatus"]&&Module["setStatus"]("Downloading data...");const reader=response.body.getReader();while(1){var{done,value}=await reader.read();if(done)break;chunks.push(value);loaded+=value.length;Module["dataFileDownloads"][packageName]={loaded,total};let totalLoaded=0;let totalSize=0;for(const download of Object.values(Module["dataFileDownloads"])){totalLoaded+=download.loaded;totalSize+=download.total}Module["setStatus"]&&Module["setStatus"](`Downloading data... (${totalLoaded}/${totalSize})`)}const packageData=new Uint8Array(chunks.map(c=>c.length).reduce((a,b)=>a+b,0));let offset=0;for(const chunk of chunks){packageData.set(chunk,offset);offset+=chunk.length}return packageData.buffer}var fetchPromise;var fetched=Module["getPreloadedPackage"]&&Module["getPreloadedPackage"](REMOTE_PACKAGE_NAME,REMOTE_PACKAGE_SIZE);if(!fetched){fetchPromise=fetchRemotePackage(REMOTE_PACKAGE_NAME,REMOTE_PACKAGE_SIZE)}async function runWithFS(Module){function assert(check,msg){if(!check)throw new Error(msg)}Module["FS_createPath"]("/","resources_js",true,true);Module["FS_createPath"]("/resources_js","sv_SE",true,true);Module["FS_createPath"]("/resources_js/sv_SE","aspell",true,true);Module["FS_createPath"]("/resources_js/sv_SE","hunspell",true,true);Module["FS_createPath"]("/resources_js/sv_SE","ngrams_db",true,true);for(var file of metadata["files"]){var name=file["filename"];Module["addRunDependency"](`fp ${name}`)}async function processPackageData(arrayBuffer){assert(arrayBuffer,"Loading data file failed.");assert(arrayBuffer.constructor.name===ArrayBuffer.name,"bad input to processPackageData "+arrayBuffer.constructor.name);var byteArray=new Uint8Array(arrayBuffer);for(var file of metadata["files"]){var name=file["filename"];var data=byteArray.subarray(file["start"],file["end"]);Module["FS_createDataFile"](name,null,data,true,true,true);Module["removeRunDependency"](`fp ${name}`)}Module["removeRunDependency"]("datafile_sv_SE.data")}Module["addRunDependency"]("datafile_sv_SE.data");if(!Module["preloadResults"])Module["preloadResults"]={};Module["preloadResults"][PACKAGE_NAME]={fromCache:false};if(!fetched){fetched=await fetchPromise}processPackageData(fetched)}if(Module["calledRun"]){runWithFS(Module)}else{if(!Module["preRun"])Module["preRun"]=[];Module["preRun"].push(runWithFS)}}loadPackage({files:[{filename:"/resources_js/sv_SE/aspell/cp1250.cmap",start:0,end:31404},{filename:"/resources_js/sv_SE/aspell/cp1250.cset",start:31404,end:45618},{filename:"/resources_js/sv_SE/aspell/cp1251.cmap",start:45618,end:77516},{filename:"/resources_js/sv_SE/aspell/cp1251.cset",start:77516,end:91382},{filename:"/resources_js/sv_SE/aspell/cp1252.cmap",start:91382,end:122364},{filename:"/resources_js/sv_SE/aspell/cp1252.cset",start:122364,end:136403},{filename:"/resources_js/sv_SE/aspell/cp1253.cmap",start:136403,end:174992},{filename:"/resources_js/sv_SE/aspell/cp1253.cset",start:174992,end:188674},{filename:"/resources_js/sv_SE/aspell/cp1254.cmap",start:188674,end:219707},{filename:"/resources_js/sv_SE/aspell/cp1254.cset",start:219707,end:233751},{filename:"/resources_js/sv_SE/aspell/cp1255.cmap",start:233751,end:268884},{filename:"/resources_js/sv_SE/aspell/cp1255.cset",start:268884,end:281916},{filename:"/resources_js/sv_SE/aspell/cp1256.cmap",start:281916,end:326050},{filename:"/resources_js/sv_SE/aspell/cp1256.cset",start:326050,end:339357},{filename:"/resources_js/sv_SE/aspell/cp1257.cmap",start:339357,end:370592},{filename:"/resources_js/sv_SE/aspell/cp1257.cset",start:370592,end:384527},{filename:"/resources_js/sv_SE/aspell/cp1258.cmap",start:384527,end:418038},{filename:"/resources_js/sv_SE/aspell/cp1258.cset",start:418038,end:431958},{filename:"/resources_js/sv_SE/aspell/croatian.alias",start:431958,end:432030},{filename:"/resources_js/sv_SE/aspell/dvorak.kbd",start:432030,end:432128},{filename:"/resources_js/sv_SE/aspell/iso-8859-1.cmap",start:432128,end:463022},{filename:"/resources_js/sv_SE/aspell/iso-8859-1.cset",start:463022,end:476870},{filename:"/resources_js/sv_SE/aspell/iso-8859-10.cmap",start:476870,end:507935},{filename:"/resources_js/sv_SE/aspell/iso-8859-10.cset",start:507935,end:522194},{filename:"/resources_js/sv_SE/aspell/iso-8859-11.cmap",start:522194,end:549317},{filename:"/resources_js/sv_SE/aspell/iso-8859-11.cset",start:549317,end:562555},{filename:"/resources_js/sv_SE/aspell/iso-8859-13.cmap",start:562555,end:593683},{filename:"/resources_js/sv_SE/aspell/iso-8859-13.cset",start:593683,end:607672},{filename:"/resources_js/sv_SE/aspell/iso-8859-14.cmap",start:607672,end:639105},{filename:"/resources_js/sv_SE/aspell/iso-8859-14.cset",start:639105,end:653484},{filename:"/resources_js/sv_SE/aspell/iso-8859-15.cmap",start:653484,end:684298},{filename:"/resources_js/sv_SE/aspell/iso-8859-15.cset",start:684298,end:698237},{filename:"/resources_js/sv_SE/aspell/iso-8859-16.cmap",start:698237,end:729056},{filename:"/resources_js/sv_SE/aspell/iso-8859-16.cset",start:729056,end:743340},{filename:"/resources_js/sv_SE/aspell/iso-8859-2.cmap",start:743340,end:774629},{filename:"/resources_js/sv_SE/aspell/iso-8859-2.cset",start:774629,end:788762},{filename:"/resources_js/sv_SE/aspell/iso-8859-3.cmap",start:788762,end:819711},{filename:"/resources_js/sv_SE/aspell/iso-8859-3.cset",start:819711,end:833683},{filename:"/resources_js/sv_SE/aspell/iso-8859-4.cmap",start:833683,end:864825},{filename:"/resources_js/sv_SE/aspell/iso-8859-4.cset",start:864825,end:878930},{filename:"/resources_js/sv_SE/aspell/iso-8859-5.cmap",start:878930,end:910694},{filename:"/resources_js/sv_SE/aspell/iso-8859-5.cset",start:910694,end:924443},{filename:"/resources_js/sv_SE/aspell/iso-8859-6.cmap",start:924443,end:965433},{filename:"/resources_js/sv_SE/aspell/iso-8859-6.cset",start:965433,end:977985},{filename:"/resources_js/sv_SE/aspell/iso-8859-7.cmap",start:977985,end:1016523},{filename:"/resources_js/sv_SE/aspell/iso-8859-7.cset",start:1016523,end:1030162},{filename:"/resources_js/sv_SE/aspell/iso-8859-8.cmap",start:1030162,end:1057920},{filename:"/resources_js/sv_SE/aspell/iso-8859-8.cset",start:1057920,end:1070477},{filename:"/resources_js/sv_SE/aspell/iso-8859-9.cmap",start:1070477,end:1101497},{filename:"/resources_js/sv_SE/aspell/iso-8859-9.cset",start:1101497,end:1115382},{filename:"/resources_js/sv_SE/aspell/koi8-r.cmap",start:1115382,end:1146816},{filename:"/resources_js/sv_SE/aspell/koi8-r.cset",start:1146816,end:1160215},{filename:"/resources_js/sv_SE/aspell/koi8-u.cmap",start:1160215,end:1191791},{filename:"/resources_js/sv_SE/aspell/koi8-u.cset",start:1191791,end:1205352},{filename:"/resources_js/sv_SE/aspell/split.kbd",start:1205352,end:1205451},{filename:"/resources_js/sv_SE/aspell/standard.kbd",start:1205451,end:1205551},{filename:"/resources_js/sv_SE/aspell/sv.dat",start:1205551,end:1205700},{filename:"/resources_js/sv_SE/aspell/sv.multi",start:1205700,end:1205770},{filename:"/resources_js/sv_SE/aspell/sv.rws",start:1205770,end:4722506},{filename:"/resources_js/sv_SE/aspell/sv_phonet.dat",start:4722506,end:4726986},{filename:"/resources_js/sv_SE/aspell/svenska.alias",start:4726986,end:4727058},{filename:"/resources_js/sv_SE/aspell/swedish.alias",start:4727058,end:4727130},{filename:"/resources_js/sv_SE/hunspell/sv_SE.aff",start:4727130,end:4745711},{filename:"/resources_js/sv_SE/hunspell/sv_SE.dic",start:4745711,end:7089910},{filename:"/resources_js/sv_SE/ngrams_db/ngrams.counts",start:7089910,end:8643574},{filename:"/resources_js/sv_SE/ngrams_db/ngrams.trie",start:8643574,end:10114878},{filename:"/resources_js/sv_SE/presage.xml",start:10114878,end:10118043}],remote_package_size:10118043})})();var Module=typeof Module!="undefined"?Module:{};if(!Module["expectedDataFileDownloads"])Module["expectedDataFileDownloads"]=0;Module["expectedDataFileDownloads"]++;(()=>{var isPthread=typeof ENVIRONMENT_IS_PTHREAD!="undefined"&&ENVIRONMENT_IS_PTHREAD;var isWasmWorker=typeof ENVIRONMENT_IS_WASM_WORKER!="undefined"&&ENVIRONMENT_IS_WASM_WORKER;if(isPthread||isWasmWorker)return;var isNode=globalThis.process&&globalThis.process.versions&&globalThis.process.versions.node&&globalThis.process.type!="renderer";async function loadPackage(metadata){var PACKAGE_PATH="";if(typeof window==="object"){PACKAGE_PATH=window["encodeURIComponent"](window.location.pathname.substring(0,window.location.pathname.lastIndexOf("/"))+"/")}else if(typeof process==="undefined"&&typeof location!=="undefined"){PACKAGE_PATH=encodeURIComponent(location.pathname.substring(0,location.pathname.lastIndexOf("/"))+"/")}var PACKAGE_NAME="textExpander.data";var REMOTE_PACKAGE_BASE="textExpander.data";var REMOTE_PACKAGE_NAME=Module["locateFile"]?Module["locateFile"](REMOTE_PACKAGE_BASE,""):REMOTE_PACKAGE_BASE;var REMOTE_PACKAGE_SIZE=metadata["remote_package_size"];async function fetchRemotePackage(packageName,packageSize){if(isNode){var contents=require("fs").readFileSync(packageName);return new Uint8Array(contents).buffer}if(!Module["dataFileDownloads"])Module["dataFileDownloads"]={};try{var response=await fetch(chrome.runtime.getURL("third_party/libpresage/"+packageName))}catch(e){throw new Error(`Network Error: ${packageName}`,{e})}if(!response.ok){throw new Error(`${response.status}: ${response.url}`)}const chunks=[];const headers=response.headers;const total=Number(headers.get("Content-Length")||packageSize);let loaded=0;Module["setStatus"]&&Module["setStatus"]("Downloading data...");const reader=response.body.getReader();while(1){var{done,value}=await reader.read();if(done)break;chunks.push(value);loaded+=value.length;Module["dataFileDownloads"][packageName]={loaded,total};let totalLoaded=0;let totalSize=0;for(const download of Object.values(Module["dataFileDownloads"])){totalLoaded+=download.loaded;totalSize+=download.total}Module["setStatus"]&&Module["setStatus"](`Downloading data... (${totalLoaded}/${totalSize})`)}const packageData=new Uint8Array(chunks.map(c=>c.length).reduce((a,b)=>a+b,0));let offset=0;for(const chunk of chunks){packageData.set(chunk,offset);offset+=chunk.length}return packageData.buffer}var fetchPromise;var fetched=Module["getPreloadedPackage"]&&Module["getPreloadedPackage"](REMOTE_PACKAGE_NAME,REMOTE_PACKAGE_SIZE);if(!fetched){fetchPromise=fetchRemotePackage(REMOTE_PACKAGE_NAME,REMOTE_PACKAGE_SIZE)}async function runWithFS(Module){function assert(check,msg){if(!check)throw new Error(msg)}Module["FS_createPath"]("/","resources_js",true,true);Module["FS_createPath"]("/resources_js","textExpander",true,true);for(var file of metadata["files"]){var name=file["filename"];Module["addRunDependency"](`fp ${name}`)}async function processPackageData(arrayBuffer){assert(arrayBuffer,"Loading data file failed.");assert(arrayBuffer.constructor.name===ArrayBuffer.name,"bad input to processPackageData "+arrayBuffer.constructor.name);var byteArray=new Uint8Array(arrayBuffer);for(var file of metadata["files"]){var name=file["filename"];var data=byteArray.subarray(file["start"],file["end"]);Module["FS_createDataFile"](name,null,data,true,true,true);Module["removeRunDependency"](`fp ${name}`)}Module["removeRunDependency"]("datafile_textExpander.data")}Module["addRunDependency"]("datafile_textExpander.data");if(!Module["preloadResults"])Module["preloadResults"]={};Module["preloadResults"][PACKAGE_NAME]={fromCache:false};if(!fetched){fetched=await fetchPromise}processPackageData(fetched)}if(Module["calledRun"]){runWithFS(Module)}else{if(!Module["preRun"])Module["preRun"]=[];Module["preRun"].push(runWithFS)}}loadPackage({files:[{filename:"/resources_js/textExpander/presage.xml",start:0,end:1746}],remote_package_size:1746})})();var arguments_=[];var thisProgram="./this.program";var quit_=(status,toThrow)=>{throw toThrow};var _scriptName=import.meta.url;var scriptDirectory="";function locateFile(path){if(Module["locateFile"]){return Module["locateFile"](path,scriptDirectory)}return scriptDirectory+path}var readAsync,readBinary;if(ENVIRONMENT_IS_NODE){var fs=require("node:fs");if(_scriptName.startsWith("file:")){scriptDirectory=require("node:path").dirname(require("node:url").fileURLToPath(_scriptName))+"/"}readBinary=filename=>{filename=isFileURI(filename)?new URL(filename):filename;var ret=fs.readFileSync(filename);return ret};readAsync=async(filename,binary=true)=>{filename=isFileURI(filename)?new URL(filename):filename;var ret=fs.readFileSync(filename,binary?undefined:"utf8");return ret};if(process.argv.length>1){thisProgram=process.argv[1].replace(/\\/g,"/")}arguments_=process.argv.slice(2);quit_=(status,toThrow)=>{process.exitCode=status;throw toThrow}}else if(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER){try{scriptDirectory=new URL(".",_scriptName).href}catch{}{readAsync=async url=>{var response=await fetch(url,{credentials:"same-origin"});if(response.ok){return response.arrayBuffer()}throw new Error(response.status+" : "+response.url)}}}else{}var out=console.log.bind(console);var err=console.error.bind(console);var wasmBinary;var ABORT=false;var isFileURI=filename=>filename.startsWith("file://");var readyPromiseResolve,readyPromiseReject;var runtimeInitialized=false;function updateMemoryViews(){var b=wasmMemory.buffer;HEAP8=new Int8Array(b);HEAP16=new Int16Array(b);HEAPU8=new Uint8Array(b);HEAPU16=new Uint16Array(b);HEAP32=new Int32Array(b);HEAPU32=new Uint32Array(b);HEAPF32=new Float32Array(b);HEAPF64=new Float64Array(b);HEAP64=new BigInt64Array(b);HEAPU64=new BigUint64Array(b)}function preRun(){if(Module["preRun"]){if(typeof Module["preRun"]=="function")Module["preRun"]=[Module["preRun"]];while(Module["preRun"].length){addOnPreRun(Module["preRun"].shift())}}callRuntimeCallbacks(onPreRuns)}function initRuntime(){runtimeInitialized=true;if(!Module["noFSInit"]&&!FS.initialized)FS.init();TTY.init();wasmExports["Y"]();FS.ignorePermissions=false}function postRun(){if(Module["postRun"]){if(typeof Module["postRun"]=="function")Module["postRun"]=[Module["postRun"]];while(Module["postRun"].length){addOnPostRun(Module["postRun"].shift())}}callRuntimeCallbacks(onPostRuns)}function abort(what){Module["onAbort"]?.(what);what="Aborted("+what+")";err(what);ABORT=true;what+=". Build with -sASSERTIONS for more info.";if(runtimeInitialized){___trap()}var e=new WebAssembly.RuntimeError(what);readyPromiseReject?.(e);throw e}var wasmBinaryFile;function findWasmBinary(){if(Module["locateFile"]){return locateFile("libpresage.wasm")}return new URL("libpresage.wasm",import.meta.url).href}function getBinarySync(file){if(file==wasmBinaryFile&&wasmBinary){return new Uint8Array(wasmBinary)}if(readBinary){return readBinary(file)}throw"both async and sync fetching of the wasm failed"}async function getWasmBinary(binaryFile){if(!wasmBinary){try{var response=await readAsync(binaryFile);return new Uint8Array(response)}catch{}}return getBinarySync(binaryFile)}async function instantiateArrayBuffer(binaryFile,imports){try{var binary=await getWasmBinary(binaryFile);var instance=await WebAssembly.instantiate(binary,imports);return instance}catch(reason){err(`failed to asynchronously prepare wasm: ${reason}`);abort(reason)}}async function instantiateAsync(binary,binaryFile,imports){if(!binary&&!ENVIRONMENT_IS_NODE){try{var response=fetch(binaryFile,{credentials:"same-origin"});var instantiationResult=await WebAssembly.instantiateStreaming(response,imports);return instantiationResult}catch(reason){err(`wasm streaming compile failed: ${reason}`);err("falling back to ArrayBuffer instantiation")}}return instantiateArrayBuffer(binaryFile,imports)}function getWasmImports(){var imports={a:wasmImports};return imports}async function createWasm(){function receiveInstance(instance,module){wasmExports=instance.exports;assignWasmExports(wasmExports);updateMemoryViews();return wasmExports}function receiveInstantiationResult(result){return receiveInstance(result["instance"])}var info=getWasmImports();if(Module["instantiateWasm"]){return new Promise((resolve,reject)=>{Module["instantiateWasm"](info,(inst,mod)=>{resolve(receiveInstance(inst,mod))})})}wasmBinaryFile??=findWasmBinary();var result=await instantiateAsync(wasmBinary,wasmBinaryFile,info);var exports=receiveInstantiationResult(result);return exports}class ExitStatus{name="ExitStatus";constructor(status){this.message=`Program terminated with exit(${status})`;this.status=status}}var HEAP16;var HEAP32;var HEAP64;var HEAP8;var HEAPF32;var HEAPF64;var HEAPU16;var HEAPU32;var HEAPU64;var HEAPU8;var callRuntimeCallbacks=callbacks=>{while(callbacks.length>0){callbacks.shift()(Module)}};var onPostRuns=[];var addOnPostRun=cb=>onPostRuns.push(cb);var onPreRuns=[];var addOnPreRun=cb=>onPreRuns.push(cb);var noExitRuntime=true;var UTF8Decoder=globalThis.TextDecoder&&new TextDecoder;var findStringEnd=(heapOrArray,idx,maxBytesToRead,ignoreNul)=>{var maxIdx=idx+maxBytesToRead;if(ignoreNul)return maxIdx;while(heapOrArray[idx]&&!(idx>=maxIdx))++idx;return idx};var UTF8ArrayToString=(heapOrArray,idx=0,maxBytesToRead,ignoreNul)=>{var endPtr=findStringEnd(heapOrArray,idx,maxBytesToRead,ignoreNul);if(endPtr-idx>16&&heapOrArray.buffer&&UTF8Decoder){return UTF8Decoder.decode(heapOrArray.subarray(idx,endPtr))}var str="";while(idx>10,56320|ch&1023)}}return str};var UTF8ToString=(ptr,maxBytesToRead,ignoreNul)=>ptr?UTF8ArrayToString(HEAPU8,ptr,maxBytesToRead,ignoreNul):"";var ___assert_fail=(condition,filename,line,func)=>abort(`Assertion failed: ${UTF8ToString(condition)}, at: `+[filename?UTF8ToString(filename):"unknown filename",line,func?UTF8ToString(func):"unknown function"]);var PATH={isAbs:path=>path.charAt(0)==="/",splitPath:filename=>{var splitPathRe=/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/;return splitPathRe.exec(filename).slice(1)},normalizeArray:(parts,allowAboveRoot)=>{var up=0;for(var i=parts.length-1;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:path=>{var isAbsolute=PATH.isAbs(path),trailingSlash=path.slice(-1)==="/";path=PATH.normalizeArray(path.split("/").filter(p=>!!p),!isAbsolute).join("/");if(!path&&!isAbsolute){path="."}if(path&&trailingSlash){path+="/"}return(isAbsolute?"/":"")+path},dirname:path=>{var result=PATH.splitPath(path),root=result[0],dir=result[1];if(!root&&!dir){return"."}if(dir){dir=dir.slice(0,-1)}return root+dir},basename:path=>path&&path.match(/([^\/]+|\/)\/*$/)[1],join:(...paths)=>PATH.normalize(paths.join("/")),join2:(l,r)=>PATH.normalize(l+"/"+r)};var initRandomFill=()=>{if(ENVIRONMENT_IS_NODE){var nodeCrypto=require("node:crypto");return view=>nodeCrypto.randomFillSync(view)}return view=>crypto.getRandomValues(view)};var randomFill=view=>{(randomFill=initRandomFill())(view)};var PATH_FS={resolve:(...args)=>{var resolvedPath="",resolvedAbsolute=false;for(var i=args.length-1;i>=-1&&!resolvedAbsolute;i--){var path=i>=0?args[i]:FS.cwd();if(typeof path!="string"){throw new TypeError("Arguments to path.resolve must be strings")}else if(!path){return""}resolvedPath=path+"/"+resolvedPath;resolvedAbsolute=PATH.isAbs(path)}resolvedPath=PATH.normalizeArray(resolvedPath.split("/").filter(p=>!!p),!resolvedAbsolute).join("/");return(resolvedAbsolute?"/":"")+resolvedPath||"."},relative:(from,to)=>{from=PATH_FS.resolve(from).slice(1);to=PATH_FS.resolve(to).slice(1);function trim(arr){var start=0;for(;start=0;end--){if(arr[end]!=="")break}if(start>end)return[];return arr.slice(start,end-start+1)}var fromParts=trim(from.split("/"));var toParts=trim(to.split("/"));var length=Math.min(fromParts.length,toParts.length);var samePartsLength=length;for(var i=0;i{var len=0;for(var i=0;i=55296&&c<=57343){len+=4;++i}else{len+=3}}return len};var stringToUTF8Array=(str,heap,outIdx,maxBytesToWrite)=>{if(!(maxBytesToWrite>0))return 0;var startIdx=outIdx;var endIdx=outIdx+maxBytesToWrite-1;for(var i=0;i=endIdx)break;heap[outIdx++]=u}else if(u<=2047){if(outIdx+1>=endIdx)break;heap[outIdx++]=192|u>>6;heap[outIdx++]=128|u&63}else if(u<=65535){if(outIdx+2>=endIdx)break;heap[outIdx++]=224|u>>12;heap[outIdx++]=128|u>>6&63;heap[outIdx++]=128|u&63}else{if(outIdx+3>=endIdx)break;heap[outIdx++]=240|u>>18;heap[outIdx++]=128|u>>12&63;heap[outIdx++]=128|u>>6&63;heap[outIdx++]=128|u&63;i++}}heap[outIdx]=0;return outIdx-startIdx};var intArrayFromString=(stringy,dontAddNull,length)=>{var len=length>0?length:lengthBytesUTF8(stringy)+1;var u8array=new Array(len);var numBytesWritten=stringToUTF8Array(stringy,u8array,0,u8array.length);if(dontAddNull)u8array.length=numBytesWritten;return u8array};var FS_stdin_getChar=()=>{if(!FS_stdin_getChar_buffer.length){var result=null;if(ENVIRONMENT_IS_NODE){var BUFSIZE=256;var buf=Buffer.alloc(BUFSIZE);var bytesRead=0;var fd=process.stdin.fd;try{bytesRead=fs.readSync(fd,buf,0,BUFSIZE)}catch(e){if(e.toString().includes("EOF"))bytesRead=0;else throw e}if(bytesRead>0){result=buf.slice(0,bytesRead).toString("utf-8")}}else if(globalThis.window?.prompt){result=window.prompt("Input: ");if(result!==null){result+="\n"}}else{}if(!result){return null}FS_stdin_getChar_buffer=intArrayFromString(result,true)}return FS_stdin_getChar_buffer.shift()};var TTY={ttys:[],init(){},shutdown(){},register(dev,ops){TTY.ttys[dev]={input:[],output:[],ops};FS.registerDevice(dev,TTY.stream_ops)},stream_ops:{open(stream){var tty=TTY.ttys[stream.node.rdev];if(!tty){throw new FS.ErrnoError(43)}stream.tty=tty;stream.seekable=false},close(stream){stream.tty.ops.fsync(stream.tty)},fsync(stream){stream.tty.ops.fsync(stream.tty)},read(stream,buffer,offset,length,pos){if(!stream.tty||!stream.tty.ops.get_char){throw new FS.ErrnoError(60)}var bytesRead=0;for(var i=0;i0){out(UTF8ArrayToString(tty.output));tty.output=[]}},ioctl_tcgets(tty){return{c_iflag:25856,c_oflag:5,c_cflag:191,c_lflag:35387,c_cc:[3,28,127,21,4,0,1,0,17,19,26,0,18,15,23,22,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]}},ioctl_tcsets(tty,optional_actions,data){return 0},ioctl_tiocgwinsz(tty){return[24,80]}},default_tty1_ops:{put_char(tty,val){if(val===null||val===10){err(UTF8ArrayToString(tty.output));tty.output=[]}else{if(val!=0)tty.output.push(val)}},fsync(tty){if(tty.output?.length>0){err(UTF8ArrayToString(tty.output));tty.output=[]}}}};var zeroMemory=(ptr,size)=>HEAPU8.fill(0,ptr,ptr+size);var alignMemory=(size,alignment)=>Math.ceil(size/alignment)*alignment;var mmapAlloc=size=>{size=alignMemory(size,65536);var ptr=_emscripten_builtin_memalign(65536,size);if(ptr)zeroMemory(ptr,size);return ptr};var MEMFS={ops_table:null,mount(mount){return MEMFS.createNode(null,"/",16895,0)},createNode(parent,name,mode,dev){if(FS.isBlkdev(mode)||FS.isFIFO(mode)){throw new FS.ErrnoError(63)}MEMFS.ops_table||={dir:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr,lookup:MEMFS.node_ops.lookup,mknod:MEMFS.node_ops.mknod,rename:MEMFS.node_ops.rename,unlink:MEMFS.node_ops.unlink,rmdir:MEMFS.node_ops.rmdir,readdir:MEMFS.node_ops.readdir,symlink:MEMFS.node_ops.symlink},stream:{llseek:MEMFS.stream_ops.llseek}},file:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr},stream:{llseek:MEMFS.stream_ops.llseek,read:MEMFS.stream_ops.read,write:MEMFS.stream_ops.write,mmap:MEMFS.stream_ops.mmap,msync:MEMFS.stream_ops.msync}},link:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr,readlink:MEMFS.node_ops.readlink},stream:{}},chrdev:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr},stream:FS.chrdev_stream_ops}};var node=FS.createNode(parent,name,mode,dev);if(FS.isDir(node.mode)){node.node_ops=MEMFS.ops_table.dir.node;node.stream_ops=MEMFS.ops_table.dir.stream;node.contents={}}else if(FS.isFile(node.mode)){node.node_ops=MEMFS.ops_table.file.node;node.stream_ops=MEMFS.ops_table.file.stream;node.usedBytes=0;node.contents=MEMFS.emptyFileContents??=new Uint8Array(0)}else if(FS.isLink(node.mode)){node.node_ops=MEMFS.ops_table.link.node;node.stream_ops=MEMFS.ops_table.link.stream}else if(FS.isChrdev(node.mode)){node.node_ops=MEMFS.ops_table.chrdev.node;node.stream_ops=MEMFS.ops_table.chrdev.stream}node.atime=node.mtime=node.ctime=Date.now();if(parent){parent.contents[name]=node;parent.atime=parent.mtime=parent.ctime=node.atime}return node},getFileDataAsTypedArray(node){return node.contents.subarray(0,node.usedBytes)},expandFileStorage(node,newCapacity){var prevCapacity=node.contents.length;if(prevCapacity>=newCapacity)return;var CAPACITY_DOUBLING_MAX=1024*1024;newCapacity=Math.max(newCapacity,prevCapacity*(prevCapacity>>0);if(prevCapacity)newCapacity=Math.max(newCapacity,256);var oldContents=MEMFS.getFileDataAsTypedArray(node);node.contents=new Uint8Array(newCapacity);node.contents.set(oldContents)},resizeFileStorage(node,newSize){if(node.usedBytes==newSize)return;var oldContents=node.contents;node.contents=new Uint8Array(newSize);node.contents.set(oldContents.subarray(0,Math.min(newSize,node.usedBytes)));node.usedBytes=newSize},node_ops:{getattr(node){var attr={};attr.dev=FS.isChrdev(node.mode)?node.id:1;attr.ino=node.id;attr.mode=node.mode;attr.nlink=1;attr.uid=0;attr.gid=0;attr.rdev=node.rdev;if(FS.isDir(node.mode)){attr.size=4096}else if(FS.isFile(node.mode)){attr.size=node.usedBytes}else if(FS.isLink(node.mode)){attr.size=node.link.length}else{attr.size=0}attr.atime=new Date(node.atime);attr.mtime=new Date(node.mtime);attr.ctime=new Date(node.ctime);attr.blksize=4096;attr.blocks=Math.ceil(attr.size/attr.blksize);return attr},setattr(node,attr){for(const key of["mode","atime","mtime","ctime"]){if(attr[key]!=null){node[key]=attr[key]}}if(attr.size!==undefined){MEMFS.resizeFileStorage(node,attr.size)}},lookup(parent,name){if(!MEMFS.doesNotExistError){MEMFS.doesNotExistError=new FS.ErrnoError(44);MEMFS.doesNotExistError.stack=""}throw MEMFS.doesNotExistError},mknod(parent,name,mode,dev){return MEMFS.createNode(parent,name,mode,dev)},rename(old_node,new_dir,new_name){var new_node;try{new_node=FS.lookupNode(new_dir,new_name)}catch(e){}if(new_node){if(FS.isDir(old_node.mode)){for(var i in new_node.contents){throw new FS.ErrnoError(55)}}FS.hashRemoveNode(new_node)}delete old_node.parent.contents[old_node.name];new_dir.contents[new_name]=old_node;old_node.name=new_name;new_dir.ctime=new_dir.mtime=old_node.parent.ctime=old_node.parent.mtime=Date.now()},unlink(parent,name){delete parent.contents[name];parent.ctime=parent.mtime=Date.now()},rmdir(parent,name){var node=FS.lookupNode(parent,name);for(var i in node.contents){throw new FS.ErrnoError(55)}delete parent.contents[name];parent.ctime=parent.mtime=Date.now()},readdir(node){return[".","..",...Object.keys(node.contents)]},symlink(parent,newname,oldpath){var node=MEMFS.createNode(parent,newname,511|40960,0);node.link=oldpath;return node},readlink(node){if(!FS.isLink(node.mode)){throw new FS.ErrnoError(28)}return node.link}},stream_ops:{read(stream,buffer,offset,length,position){var contents=stream.node.contents;if(position>=stream.node.usedBytes)return 0;var size=Math.min(stream.node.usedBytes-position,length);buffer.set(contents.subarray(position,position+size),offset);return size},write(stream,buffer,offset,length,position,canOwn){if(buffer.buffer===HEAP8.buffer){canOwn=false}if(!length)return 0;var node=stream.node;node.mtime=node.ctime=Date.now();if(canOwn){node.contents=buffer.subarray(offset,offset+length);node.usedBytes=length}else if(node.usedBytes===0&&position===0){node.contents=buffer.slice(offset,offset+length);node.usedBytes=length}else{MEMFS.expandFileStorage(node,position+length);node.contents.set(buffer.subarray(offset,offset+length),position);node.usedBytes=Math.max(node.usedBytes,position+length)}return length},llseek(stream,offset,whence){var position=offset;if(whence===1){position+=stream.position}else if(whence===2){if(FS.isFile(stream.node.mode)){position+=stream.node.usedBytes}}if(position<0){throw new FS.ErrnoError(28)}return position},mmap(stream,length,position,prot,flags){if(!FS.isFile(stream.node.mode)){throw new FS.ErrnoError(43)}var ptr;var allocated;var contents=stream.node.contents;if(!(flags&2)&&contents.buffer===HEAP8.buffer){allocated=false;ptr=contents.byteOffset}else{allocated=true;ptr=mmapAlloc(length);if(!ptr){throw new FS.ErrnoError(48)}if(contents){if(position>0||position+length{if(typeof str!="string")return str;var flagModes={r:0,"r+":2,w:512|64|1,"w+":512|64|2,a:1024|64|1,"a+":1024|64|2};var flags=flagModes[str];if(typeof flags=="undefined"){throw new Error(`Unknown file open mode: ${str}`)}return flags};var FS_fileDataToTypedArray=data=>{if(typeof data=="string"){data=intArrayFromString(data,true)}if(!data.subarray){data=new Uint8Array(data)}return data};var FS_getMode=(canRead,canWrite)=>{var mode=0;if(canRead)mode|=292|73;if(canWrite)mode|=146;return mode};var asyncLoad=async url=>{var arrayBuffer=await readAsync(url);return new Uint8Array(arrayBuffer)};var FS_createDataFile=(...args)=>FS.createDataFile(...args);var getUniqueRunDependency=id=>id;var runDependencies=0;var dependenciesFulfilled=null;var removeRunDependency=id=>{runDependencies--;Module["monitorRunDependencies"]?.(runDependencies);if(runDependencies==0){if(dependenciesFulfilled){var callback=dependenciesFulfilled;dependenciesFulfilled=null;callback()}}};var addRunDependency=id=>{runDependencies++;Module["monitorRunDependencies"]?.(runDependencies)};var preloadPlugins=[];var FS_handledByPreloadPlugin=async(byteArray,fullname)=>{if(typeof Browser!="undefined")Browser.init();for(var plugin of preloadPlugins){if(plugin["canHandle"](fullname)){return plugin["handle"](byteArray,fullname)}}return byteArray};var FS_preloadFile=async(parent,name,url,canRead,canWrite,dontCreateFile,canOwn,preFinish)=>{var fullname=name?PATH_FS.resolve(PATH.join2(parent,name)):parent;var dep=getUniqueRunDependency(`cp ${fullname}`);addRunDependency(dep);try{var byteArray=url;if(typeof url=="string"){byteArray=await asyncLoad(url)}byteArray=await FS_handledByPreloadPlugin(byteArray,fullname);preFinish?.();if(!dontCreateFile){FS_createDataFile(parent,name,byteArray,canRead,canWrite,canOwn)}}finally{removeRunDependency(dep)}};var FS_createPreloadedFile=(parent,name,url,canRead,canWrite,onload,onerror,dontCreateFile,canOwn,preFinish)=>{FS_preloadFile(parent,name,url,canRead,canWrite,dontCreateFile,canOwn,preFinish).then(onload).catch(onerror)};var FS={root:null,mounts:[],devices:{},streams:[],nextInode:1,nameTable:null,currentPath:"/",initialized:false,ignorePermissions:true,filesystems:null,syncFSRequests:0,ErrnoError:class{name="ErrnoError";constructor(errno){this.errno=errno}},FSStream:class{shared={};get object(){return this.node}set object(val){this.node=val}get isRead(){return(this.flags&2097155)!==1}get isWrite(){return(this.flags&2097155)!==0}get isAppend(){return this.flags&1024}get flags(){return this.shared.flags}set flags(val){this.shared.flags=val}get position(){return this.shared.position}set position(val){this.shared.position=val}},FSNode:class{node_ops={};stream_ops={};readMode=292|73;writeMode=146;mounted=null;constructor(parent,name,mode,rdev){if(!parent){parent=this}this.parent=parent;this.mount=parent.mount;this.id=FS.nextInode++;this.name=name;this.mode=mode;this.rdev=rdev;this.atime=this.mtime=this.ctime=Date.now()}get read(){return(this.mode&this.readMode)===this.readMode}set read(val){val?this.mode|=this.readMode:this.mode&=~this.readMode}get write(){return(this.mode&this.writeMode)===this.writeMode}set write(val){val?this.mode|=this.writeMode:this.mode&=~this.writeMode}get isFolder(){return FS.isDir(this.mode)}get isDevice(){return FS.isChrdev(this.mode)}},lookupPath(path,opts={}){if(!path){throw new FS.ErrnoError(44)}opts.follow_mount??=true;if(!PATH.isAbs(path)){path=FS.cwd()+"/"+path}linkloop:for(var nlinks=0;nlinks<40;nlinks++){var parts=path.split("/").filter(p=>!!p);var current=FS.root;var current_path="/";for(var i=0;i>>0)%FS.nameTable.length},hashAddNode(node){var hash=FS.hashName(node.parent.id,node.name);node.name_next=FS.nameTable[hash];FS.nameTable[hash]=node},hashRemoveNode(node){var hash=FS.hashName(node.parent.id,node.name);if(FS.nameTable[hash]===node){FS.nameTable[hash]=node.name_next}else{var current=FS.nameTable[hash];while(current){if(current.name_next===node){current.name_next=node.name_next;break}current=current.name_next}}},lookupNode(parent,name){var errCode=FS.mayLookup(parent);if(errCode){throw new FS.ErrnoError(errCode)}var hash=FS.hashName(parent.id,name);for(var node=FS.nameTable[hash];node;node=node.name_next){var nodeName=node.name;if(node.parent.id===parent.id&&nodeName===name){return node}}return FS.lookup(parent,name)},createNode(parent,name,mode,rdev){var node=new FS.FSNode(parent,name,mode,rdev);FS.hashAddNode(node);return node},destroyNode(node){FS.hashRemoveNode(node)},isRoot(node){return node===node.parent},isMountpoint(node){return!!node.mounted},isFile(mode){return(mode&61440)===32768},isDir(mode){return(mode&61440)===16384},isLink(mode){return(mode&61440)===40960},isChrdev(mode){return(mode&61440)===8192},isBlkdev(mode){return(mode&61440)===24576},isFIFO(mode){return(mode&61440)===4096},isSocket(mode){return(mode&49152)===49152},flagsToPermissionString(flag){var perms=["r","w","rw"][flag&3];if(flag&512){perms+="w"}return perms},nodePermissions(node,perms){if(FS.ignorePermissions){return 0}if(perms.includes("r")&&!(node.mode&292)){return 2}if(perms.includes("w")&&!(node.mode&146)){return 2}if(perms.includes("x")&&!(node.mode&73)){return 2}return 0},mayLookup(dir){if(!FS.isDir(dir.mode))return 54;var errCode=FS.nodePermissions(dir,"x");if(errCode)return errCode;if(!dir.node_ops.lookup)return 2;return 0},mayCreate(dir,name){if(!FS.isDir(dir.mode)){return 54}try{var node=FS.lookupNode(dir,name);return 20}catch(e){}return FS.nodePermissions(dir,"wx")},mayDelete(dir,name,isdir){var node;try{node=FS.lookupNode(dir,name)}catch(e){return e.errno}var errCode=FS.nodePermissions(dir,"wx");if(errCode){return errCode}if(isdir){if(!FS.isDir(node.mode)){return 54}if(FS.isRoot(node)||FS.getPath(node)===FS.cwd()){return 10}}else if(FS.isDir(node.mode)){return 31}return 0},mayOpen(node,flags){if(!node){return 44}if(FS.isLink(node.mode)){return 32}var mode=FS.flagsToPermissionString(flags);if(FS.isDir(node.mode)){if(mode!=="r"||flags&(512|64)){return 31}}return FS.nodePermissions(node,mode)},checkOpExists(op,err){if(!op){throw new FS.ErrnoError(err)}return op},MAX_OPEN_FDS:4096,nextfd(){for(var fd=0;fd<=FS.MAX_OPEN_FDS;fd++){if(!FS.streams[fd]){return fd}}throw new FS.ErrnoError(33)},getStreamChecked(fd){var stream=FS.getStream(fd);if(!stream){throw new FS.ErrnoError(8)}return stream},getStream:fd=>FS.streams[fd],createStream(stream,fd=-1){stream=Object.assign(new FS.FSStream,stream);if(fd==-1){fd=FS.nextfd()}stream.fd=fd;FS.streams[fd]=stream;return stream},closeStream(fd){FS.streams[fd]=null},dupStream(origStream,fd=-1){var stream=FS.createStream(origStream,fd);stream.stream_ops?.dup?.(stream);return stream},doSetAttr(stream,node,attr){var setattr=stream?.stream_ops.setattr;var arg=setattr?stream:node;setattr??=node.node_ops.setattr;FS.checkOpExists(setattr,63);setattr(arg,attr)},chrdev_stream_ops:{open(stream){var device=FS.getDevice(stream.node.rdev);stream.stream_ops=device.stream_ops;stream.stream_ops.open?.(stream)},llseek(){throw new FS.ErrnoError(70)}},major:dev=>dev>>8,minor:dev=>dev&255,makedev:(ma,mi)=>ma<<8|mi,registerDevice(dev,ops){FS.devices[dev]={stream_ops:ops}},getDevice:dev=>FS.devices[dev],getMounts(mount){var mounts=[];var check=[mount];while(check.length){var m=check.pop();mounts.push(m);check.push(...m.mounts)}return mounts},syncfs(populate,callback){if(typeof populate=="function"){callback=populate;populate=false}FS.syncFSRequests++;if(FS.syncFSRequests>1){err(`warning: ${FS.syncFSRequests} FS.syncfs operations in flight at once, probably just doing extra work`)}var mounts=FS.getMounts(FS.root.mount);var completed=0;function doCallback(errCode){FS.syncFSRequests--;return callback(errCode)}function done(errCode){if(errCode){if(!done.errored){done.errored=true;return doCallback(errCode)}return}if(++completed>=mounts.length){doCallback(null)}}for(var mount of mounts){if(mount.type.syncfs){mount.type.syncfs(mount,populate,done)}else{done(null)}}},mount(type,opts,mountpoint){var root=mountpoint==="/";var pseudo=!mountpoint;var node;if(root&&FS.root){throw new FS.ErrnoError(10)}else if(!root&&!pseudo){var lookup=FS.lookupPath(mountpoint,{follow_mount:false});mountpoint=lookup.path;node=lookup.node;if(FS.isMountpoint(node)){throw new FS.ErrnoError(10)}if(!FS.isDir(node.mode)){throw new FS.ErrnoError(54)}}var mount={type,opts,mountpoint,mounts:[]};var mountRoot=type.mount(mount);mountRoot.mount=mount;mount.root=mountRoot;if(root){FS.root=mountRoot}else if(node){node.mounted=mount;if(node.mount){node.mount.mounts.push(mount)}}return mountRoot},unmount(mountpoint){var lookup=FS.lookupPath(mountpoint,{follow_mount:false});if(!FS.isMountpoint(lookup.node)){throw new FS.ErrnoError(28)}var node=lookup.node;var mount=node.mounted;var mounts=FS.getMounts(mount);for(var[hash,current]of Object.entries(FS.nameTable)){while(current){var next=current.name_next;if(mounts.includes(current.mount)){FS.destroyNode(current)}current=next}}node.mounted=null;var idx=node.mount.mounts.indexOf(mount);node.mount.mounts.splice(idx,1)},lookup(parent,name){return parent.node_ops.lookup(parent,name)},mknod(path,mode,dev){var lookup=FS.lookupPath(path,{parent:true});var parent=lookup.node;var name=PATH.basename(path);if(!name){throw new FS.ErrnoError(28)}if(name==="."||name===".."){throw new FS.ErrnoError(20)}var errCode=FS.mayCreate(parent,name);if(errCode){throw new FS.ErrnoError(errCode)}if(!parent.node_ops.mknod){throw new FS.ErrnoError(63)}return parent.node_ops.mknod(parent,name,mode,dev)},statfs(path){return FS.statfsNode(FS.lookupPath(path,{follow:true}).node)},statfsStream(stream){return FS.statfsNode(stream.node)},statfsNode(node){var rtn={bsize:4096,frsize:4096,blocks:1e6,bfree:5e5,bavail:5e5,files:FS.nextInode,ffree:FS.nextInode-1,fsid:42,flags:2,namelen:255};if(node.node_ops.statfs){Object.assign(rtn,node.node_ops.statfs(node.mount.opts.root))}return rtn},create(path,mode=438){mode&=4095;mode|=32768;return FS.mknod(path,mode,0)},mkdir(path,mode=511){mode&=511|512;mode|=16384;return FS.mknod(path,mode,0)},mkdirTree(path,mode){var dirs=path.split("/");var d="";for(var dir of dirs){if(!dir)continue;if(d||PATH.isAbs(path))d+="/";d+=dir;try{FS.mkdir(d,mode)}catch(e){if(e.errno!=20)throw e}}},mkdev(path,mode,dev){if(typeof dev=="undefined"){dev=mode;mode=438}mode|=8192;return FS.mknod(path,mode,dev)},symlink(oldpath,newpath){if(!PATH_FS.resolve(oldpath)){throw new FS.ErrnoError(44)}var lookup=FS.lookupPath(newpath,{parent:true});var parent=lookup.node;if(!parent){throw new FS.ErrnoError(44)}var newname=PATH.basename(newpath);var errCode=FS.mayCreate(parent,newname);if(errCode){throw new FS.ErrnoError(errCode)}if(!parent.node_ops.symlink){throw new FS.ErrnoError(63)}return parent.node_ops.symlink(parent,newname,oldpath)},rename(old_path,new_path){var old_dirname=PATH.dirname(old_path);var new_dirname=PATH.dirname(new_path);var old_name=PATH.basename(old_path);var new_name=PATH.basename(new_path);var lookup,old_dir,new_dir;lookup=FS.lookupPath(old_path,{parent:true});old_dir=lookup.node;lookup=FS.lookupPath(new_path,{parent:true});new_dir=lookup.node;if(!old_dir||!new_dir)throw new FS.ErrnoError(44);if(old_dir.mount!==new_dir.mount){throw new FS.ErrnoError(75)}var old_node=FS.lookupNode(old_dir,old_name);var relative=PATH_FS.relative(old_path,new_dirname);if(relative.charAt(0)!=="."){throw new FS.ErrnoError(28)}relative=PATH_FS.relative(new_path,old_dirname);if(relative.charAt(0)!=="."){throw new FS.ErrnoError(55)}var new_node;try{new_node=FS.lookupNode(new_dir,new_name)}catch(e){}if(old_node===new_node){return}var isdir=FS.isDir(old_node.mode);var errCode=FS.mayDelete(old_dir,old_name,isdir);if(errCode){throw new FS.ErrnoError(errCode)}errCode=new_node?FS.mayDelete(new_dir,new_name,isdir):FS.mayCreate(new_dir,new_name);if(errCode){throw new FS.ErrnoError(errCode)}if(!old_dir.node_ops.rename){throw new FS.ErrnoError(63)}if(FS.isMountpoint(old_node)||new_node&&FS.isMountpoint(new_node)){throw new FS.ErrnoError(10)}if(new_dir!==old_dir){errCode=FS.nodePermissions(old_dir,"w");if(errCode){throw new FS.ErrnoError(errCode)}}FS.hashRemoveNode(old_node);try{old_dir.node_ops.rename(old_node,new_dir,new_name);old_node.parent=new_dir}catch(e){throw e}finally{FS.hashAddNode(old_node)}},rmdir(path){var lookup=FS.lookupPath(path,{parent:true});var parent=lookup.node;var name=PATH.basename(path);var node=FS.lookupNode(parent,name);var errCode=FS.mayDelete(parent,name,true);if(errCode){throw new FS.ErrnoError(errCode)}if(!parent.node_ops.rmdir){throw new FS.ErrnoError(63)}if(FS.isMountpoint(node)){throw new FS.ErrnoError(10)}parent.node_ops.rmdir(parent,name);FS.destroyNode(node)},readdir(path){var lookup=FS.lookupPath(path,{follow:true});var node=lookup.node;var readdir=FS.checkOpExists(node.node_ops.readdir,54);return readdir(node)},unlink(path){var lookup=FS.lookupPath(path,{parent:true});var parent=lookup.node;if(!parent){throw new FS.ErrnoError(44)}var name=PATH.basename(path);var node=FS.lookupNode(parent,name);var errCode=FS.mayDelete(parent,name,false);if(errCode){throw new FS.ErrnoError(errCode)}if(!parent.node_ops.unlink){throw new FS.ErrnoError(63)}if(FS.isMountpoint(node)){throw new FS.ErrnoError(10)}parent.node_ops.unlink(parent,name);FS.destroyNode(node)},readlink(path){var lookup=FS.lookupPath(path);var link=lookup.node;if(!link){throw new FS.ErrnoError(44)}if(!link.node_ops.readlink){throw new FS.ErrnoError(28)}return link.node_ops.readlink(link)},stat(path,dontFollow){var lookup=FS.lookupPath(path,{follow:!dontFollow});var node=lookup.node;var getattr=FS.checkOpExists(node.node_ops.getattr,63);return getattr(node)},fstat(fd){var stream=FS.getStreamChecked(fd);var node=stream.node;var getattr=stream.stream_ops.getattr;var arg=getattr?stream:node;getattr??=node.node_ops.getattr;FS.checkOpExists(getattr,63);return getattr(arg)},lstat(path){return FS.stat(path,true)},doChmod(stream,node,mode,dontFollow){FS.doSetAttr(stream,node,{mode:mode&4095|node.mode&~4095,ctime:Date.now(),dontFollow})},chmod(path,mode,dontFollow){var node;if(typeof path=="string"){var lookup=FS.lookupPath(path,{follow:!dontFollow});node=lookup.node}else{node=path}FS.doChmod(null,node,mode,dontFollow)},lchmod(path,mode){FS.chmod(path,mode,true)},fchmod(fd,mode){var stream=FS.getStreamChecked(fd);FS.doChmod(stream,stream.node,mode,false)},doChown(stream,node,dontFollow){FS.doSetAttr(stream,node,{timestamp:Date.now(),dontFollow})},chown(path,uid,gid,dontFollow){var node;if(typeof path=="string"){var lookup=FS.lookupPath(path,{follow:!dontFollow});node=lookup.node}else{node=path}FS.doChown(null,node,dontFollow)},lchown(path,uid,gid){FS.chown(path,uid,gid,true)},fchown(fd,uid,gid){var stream=FS.getStreamChecked(fd);FS.doChown(stream,stream.node,false)},doTruncate(stream,node,len){if(FS.isDir(node.mode)){throw new FS.ErrnoError(31)}if(!FS.isFile(node.mode)){throw new FS.ErrnoError(28)}var errCode=FS.nodePermissions(node,"w");if(errCode){throw new FS.ErrnoError(errCode)}FS.doSetAttr(stream,node,{size:len,timestamp:Date.now()})},truncate(path,len){if(len<0){throw new FS.ErrnoError(28)}var node;if(typeof path=="string"){var lookup=FS.lookupPath(path,{follow:true});node=lookup.node}else{node=path}FS.doTruncate(null,node,len)},ftruncate(fd,len){var stream=FS.getStreamChecked(fd);if(len<0||(stream.flags&2097155)===0){throw new FS.ErrnoError(28)}FS.doTruncate(stream,stream.node,len)},utime(path,atime,mtime){var lookup=FS.lookupPath(path,{follow:true});var node=lookup.node;var setattr=FS.checkOpExists(node.node_ops.setattr,63);setattr(node,{atime,mtime})},open(path,flags,mode=438){if(path===""){throw new FS.ErrnoError(44)}flags=FS_modeStringToFlags(flags);if(flags&64){mode=mode&4095|32768}else{mode=0}var node;var isDirPath;if(typeof path=="object"){node=path}else{isDirPath=path.endsWith("/");var lookup=FS.lookupPath(path,{follow:!(flags&131072),noent_okay:true});node=lookup.node;path=lookup.path}var created=false;if(flags&64){if(node){if(flags&128){throw new FS.ErrnoError(20)}}else if(isDirPath){throw new FS.ErrnoError(31)}else{node=FS.mknod(path,mode|511,0);created=true}}if(!node){throw new FS.ErrnoError(44)}if(FS.isChrdev(node.mode)){flags&=~512}if(flags&65536&&!FS.isDir(node.mode)){throw new FS.ErrnoError(54)}if(!created){var errCode=FS.mayOpen(node,flags);if(errCode){throw new FS.ErrnoError(errCode)}}if(flags&512&&!created){FS.truncate(node,0)}flags&=~(128|512|131072);var stream=FS.createStream({node,path:FS.getPath(node),flags,seekable:true,position:0,stream_ops:node.stream_ops,ungotten:[],error:false});if(stream.stream_ops.open){stream.stream_ops.open(stream)}if(created){FS.chmod(node,mode&511)}return stream},close(stream){if(FS.isClosed(stream)){throw new FS.ErrnoError(8)}if(stream.getdents)stream.getdents=null;try{if(stream.stream_ops.close){stream.stream_ops.close(stream)}}catch(e){throw e}finally{FS.closeStream(stream.fd)}stream.fd=null},isClosed(stream){return stream.fd===null},llseek(stream,offset,whence){if(FS.isClosed(stream)){throw new FS.ErrnoError(8)}if(!stream.seekable||!stream.stream_ops.llseek){throw new FS.ErrnoError(70)}if(whence!=0&&whence!=1&&whence!=2){throw new FS.ErrnoError(28)}stream.position=stream.stream_ops.llseek(stream,offset,whence);stream.ungotten=[];return stream.position},read(stream,buffer,offset,length,position){if(length<0||position<0){throw new FS.ErrnoError(28)}if(FS.isClosed(stream)){throw new FS.ErrnoError(8)}if((stream.flags&2097155)===1){throw new FS.ErrnoError(8)}if(FS.isDir(stream.node.mode)){throw new FS.ErrnoError(31)}if(!stream.stream_ops.read){throw new FS.ErrnoError(28)}var seeking=typeof position!="undefined";if(!seeking){position=stream.position}else if(!stream.seekable){throw new FS.ErrnoError(70)}var bytesRead=stream.stream_ops.read(stream,buffer,offset,length,position);if(!seeking)stream.position+=bytesRead;return bytesRead},write(stream,buffer,offset,length,position,canOwn){if(length<0||position<0){throw new FS.ErrnoError(28)}if(FS.isClosed(stream)){throw new FS.ErrnoError(8)}if((stream.flags&2097155)===0){throw new FS.ErrnoError(8)}if(FS.isDir(stream.node.mode)){throw new FS.ErrnoError(31)}if(!stream.stream_ops.write){throw new FS.ErrnoError(28)}if(stream.seekable&&stream.flags&1024){FS.llseek(stream,0,2)}var seeking=typeof position!="undefined";if(!seeking){position=stream.position}else if(!stream.seekable){throw new FS.ErrnoError(70)}var bytesWritten=stream.stream_ops.write(stream,buffer,offset,length,position,canOwn);if(!seeking)stream.position+=bytesWritten;return bytesWritten},mmap(stream,length,position,prot,flags){if((prot&2)!==0&&(flags&2)===0&&(stream.flags&2097155)!==2){throw new FS.ErrnoError(2)}if((stream.flags&2097155)===1){throw new FS.ErrnoError(2)}if(!stream.stream_ops.mmap){throw new FS.ErrnoError(43)}if(!length){throw new FS.ErrnoError(28)}return stream.stream_ops.mmap(stream,length,position,prot,flags)},msync(stream,buffer,offset,length,mmapFlags){if(!stream.stream_ops.msync){return 0}return stream.stream_ops.msync(stream,buffer,offset,length,mmapFlags)},ioctl(stream,cmd,arg){if(!stream.stream_ops.ioctl){throw new FS.ErrnoError(59)}return stream.stream_ops.ioctl(stream,cmd,arg)},readFile(path,opts={}){opts.flags=opts.flags||0;opts.encoding=opts.encoding||"binary";if(opts.encoding!=="utf8"&&opts.encoding!=="binary"){abort(`Invalid encoding type "${opts.encoding}"`)}var stream=FS.open(path,opts.flags);var stat=FS.stat(path);var length=stat.size;var buf=new Uint8Array(length);FS.read(stream,buf,0,length,0);if(opts.encoding==="utf8"){buf=UTF8ArrayToString(buf)}FS.close(stream);return buf},writeFile(path,data,opts={}){opts.flags=opts.flags||577;var stream=FS.open(path,opts.flags,opts.mode);data=FS_fileDataToTypedArray(data);FS.write(stream,data,0,data.byteLength,undefined,opts.canOwn);FS.close(stream)},cwd:()=>FS.currentPath,chdir(path){var lookup=FS.lookupPath(path,{follow:true});if(lookup.node===null){throw new FS.ErrnoError(44)}if(!FS.isDir(lookup.node.mode)){throw new FS.ErrnoError(54)}var errCode=FS.nodePermissions(lookup.node,"x");if(errCode){throw new FS.ErrnoError(errCode)}FS.currentPath=lookup.path},createDefaultDirectories(){FS.mkdir("/tmp");FS.mkdir("/home");FS.mkdir("/home/web_user")},createDefaultDevices(){FS.mkdir("/dev");FS.registerDevice(FS.makedev(1,3),{read:()=>0,write:(stream,buffer,offset,length,pos)=>length,llseek:()=>0});FS.mkdev("/dev/null",FS.makedev(1,3));TTY.register(FS.makedev(5,0),TTY.default_tty_ops);TTY.register(FS.makedev(6,0),TTY.default_tty1_ops);FS.mkdev("/dev/tty",FS.makedev(5,0));FS.mkdev("/dev/tty1",FS.makedev(6,0));var randomBuffer=new Uint8Array(1024),randomLeft=0;var randomByte=()=>{if(randomLeft===0){randomFill(randomBuffer);randomLeft=randomBuffer.byteLength}return randomBuffer[--randomLeft]};FS.createDevice("/dev","random",randomByte);FS.createDevice("/dev","urandom",randomByte);FS.mkdir("/dev/shm");FS.mkdir("/dev/shm/tmp")},createSpecialDirectories(){FS.mkdir("/proc");var proc_self=FS.mkdir("/proc/self");FS.mkdir("/proc/self/fd");FS.mount({mount(){var node=FS.createNode(proc_self,"fd",16895,73);node.stream_ops={llseek:MEMFS.stream_ops.llseek};node.node_ops={lookup(parent,name){var fd=+name;var stream=FS.getStreamChecked(fd);var ret={parent:null,mount:{mountpoint:"fake"},node_ops:{readlink:()=>stream.path},id:fd+1};ret.parent=ret;return ret},readdir(){return Array.from(FS.streams.entries()).filter(([k,v])=>v).map(([k,v])=>k.toString())}};return node}},{},"/proc/self/fd")},createStandardStreams(input,output,error){if(input){FS.createDevice("/dev","stdin",input)}else{FS.symlink("/dev/tty","/dev/stdin")}if(output){FS.createDevice("/dev","stdout",null,output)}else{FS.symlink("/dev/tty","/dev/stdout")}if(error){FS.createDevice("/dev","stderr",null,error)}else{FS.symlink("/dev/tty1","/dev/stderr")}var stdin=FS.open("/dev/stdin",0);var stdout=FS.open("/dev/stdout",1);var stderr=FS.open("/dev/stderr",1)},staticInit(){FS.nameTable=new Array(4096);FS.mount(MEMFS,{},"/");FS.createDefaultDirectories();FS.createDefaultDevices();FS.createSpecialDirectories();FS.filesystems={MEMFS}},init(input,output,error){FS.initialized=true;input??=Module["stdin"];output??=Module["stdout"];error??=Module["stderr"];FS.createStandardStreams(input,output,error)},quit(){FS.initialized=false;for(var stream of FS.streams){if(stream){FS.close(stream)}}},findObject(path,dontResolveLastLink){var ret=FS.analyzePath(path,dontResolveLastLink);if(!ret.exists){return null}return ret.object},analyzePath(path,dontResolveLastLink){try{var lookup=FS.lookupPath(path,{follow:!dontResolveLastLink});path=lookup.path}catch(e){}var ret={isRoot:false,exists:false,error:0,name:null,path:null,object:null,parentExists:false,parentPath:null,parentObject:null};try{var lookup=FS.lookupPath(path,{parent:true});ret.parentExists=true;ret.parentPath=lookup.path;ret.parentObject=lookup.node;ret.name=PATH.basename(path);lookup=FS.lookupPath(path,{follow:!dontResolveLastLink});ret.exists=true;ret.path=lookup.path;ret.object=lookup.node;ret.name=lookup.node.name;ret.isRoot=lookup.path==="/"}catch(e){ret.error=e.errno}return ret},createPath(parent,path,canRead,canWrite){parent=typeof parent=="string"?parent:FS.getPath(parent);var parts=path.split("/").reverse();while(parts.length){var part=parts.pop();if(!part)continue;var current=PATH.join2(parent,part);try{FS.mkdir(current)}catch(e){if(e.errno!=20)throw e}parent=current}return current},createFile(parent,name,properties,canRead,canWrite){var path=PATH.join2(typeof parent=="string"?parent:FS.getPath(parent),name);var mode=FS_getMode(canRead,canWrite);return FS.create(path,mode)},createDataFile(parent,name,data,canRead,canWrite,canOwn){var path=name;if(parent){parent=typeof parent=="string"?parent:FS.getPath(parent);path=name?PATH.join2(parent,name):parent}var mode=FS_getMode(canRead,canWrite);var node=FS.create(path,mode);if(data){data=FS_fileDataToTypedArray(data);FS.chmod(node,mode|146);var stream=FS.open(node,577);FS.write(stream,data,0,data.length,0,canOwn);FS.close(stream);FS.chmod(node,mode)}},createDevice(parent,name,input,output){var path=PATH.join2(typeof parent=="string"?parent:FS.getPath(parent),name);var mode=FS_getMode(!!input,!!output);FS.createDevice.major??=64;var dev=FS.makedev(FS.createDevice.major++,0);FS.registerDevice(dev,{open(stream){stream.seekable=false},close(stream){if(output?.buffer?.length){output(10)}},read(stream,buffer,offset,length,pos){var bytesRead=0;for(var i=0;ithis.length-1||idx<0){return undefined}var chunkOffset=idx%this.chunkSize;var chunkNum=idx/this.chunkSize|0;return this.getter(chunkNum)[chunkOffset]}setDataGetter(getter){this.getter=getter}cacheLength(){var xhr=new XMLHttpRequest;xhr.open("HEAD",url,false);xhr.send(null);if(!(xhr.status>=200&&xhr.status<300||xhr.status===304))abort("Couldn't load "+url+". Status: "+xhr.status);var datalength=Number(xhr.getResponseHeader("Content-length"));var header;var hasByteServing=(header=xhr.getResponseHeader("Accept-Ranges"))&&header==="bytes";var usesGzip=(header=xhr.getResponseHeader("Content-Encoding"))&&header==="gzip";var chunkSize=1024*1024;if(!hasByteServing)chunkSize=datalength;var doXHR=(from,to)=>{if(from>to)abort("invalid range ("+from+", "+to+") or no bytes requested!");if(to>datalength-1)abort("only "+datalength+" bytes available! programmer error!");var xhr=new XMLHttpRequest;xhr.open("GET",url,false);if(datalength!==chunkSize)xhr.setRequestHeader("Range","bytes="+from+"-"+to);xhr.responseType="arraybuffer";if(xhr.overrideMimeType){xhr.overrideMimeType("text/plain; charset=x-user-defined")}xhr.send(null);if(!(xhr.status>=200&&xhr.status<300||xhr.status===304))abort("Couldn't load "+url+". Status: "+xhr.status);if(xhr.response!==undefined){return new Uint8Array(xhr.response||[])}return intArrayFromString(xhr.responseText||"",true)};var lazyArray=this;lazyArray.setDataGetter(chunkNum=>{var start=chunkNum*chunkSize;var end=(chunkNum+1)*chunkSize-1;end=Math.min(end,datalength-1);if(typeof lazyArray.chunks[chunkNum]=="undefined"){lazyArray.chunks[chunkNum]=doXHR(start,end)}if(typeof lazyArray.chunks[chunkNum]=="undefined")abort("doXHR failed!");return lazyArray.chunks[chunkNum]});if(usesGzip||!datalength){chunkSize=datalength=1;datalength=this.getter(0).length;chunkSize=datalength;out("LazyFiles on gzip forces download of the whole file when length is accessed")}this._length=datalength;this._chunkSize=chunkSize;this.lengthKnown=true}get length(){if(!this.lengthKnown){this.cacheLength()}return this._length}get chunkSize(){if(!this.lengthKnown){this.cacheLength()}return this._chunkSize}}if(globalThis.XMLHttpRequest){if(!ENVIRONMENT_IS_WORKER)abort("Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc");var lazyArray=new LazyUint8Array;var properties={isDevice:false,contents:lazyArray}}else{var properties={isDevice:false,url}}var node=FS.createFile(parent,name,properties,canRead,canWrite);if(properties.contents){node.contents=properties.contents}else if(properties.url){node.contents=null;node.url=properties.url}Object.defineProperties(node,{usedBytes:{get:function(){return this.contents.length}}});var stream_ops={};for(const[key,fn]of Object.entries(node.stream_ops)){stream_ops[key]=(...args)=>{FS.forceLoadFile(node);return fn(...args)}}function writeChunks(stream,buffer,offset,length,position){var contents=stream.node.contents;if(position>=contents.length)return 0;var size=Math.min(contents.length-position,length);if(contents.slice){for(var i=0;i{FS.forceLoadFile(node);return writeChunks(stream,buffer,offset,length,position)};stream_ops.mmap=(stream,length,position,prot,flags)=>{FS.forceLoadFile(node);var ptr=mmapAlloc(length);if(!ptr){throw new FS.ErrnoError(48)}writeChunks(stream,HEAP8,ptr,length,position);return{ptr,allocated:true}};node.stream_ops=stream_ops;return node}};var SYSCALLS={calculateAt(dirfd,path,allowEmpty){if(PATH.isAbs(path)){return path}var dir;if(dirfd===-100){dir=FS.cwd()}else{var dirstream=SYSCALLS.getStreamFromFD(dirfd);dir=dirstream.path}if(path.length==0){if(!allowEmpty){throw new FS.ErrnoError(44)}return dir}return dir+"/"+path},writeStat(buf,stat){HEAPU32[buf>>2]=stat.dev;HEAPU32[buf+4>>2]=stat.mode;HEAPU32[buf+8>>2]=stat.nlink;HEAPU32[buf+12>>2]=stat.uid;HEAPU32[buf+16>>2]=stat.gid;HEAPU32[buf+20>>2]=stat.rdev;HEAP64[buf+24>>3]=BigInt(stat.size);HEAP32[buf+32>>2]=4096;HEAP32[buf+36>>2]=stat.blocks;var atime=stat.atime.getTime();var mtime=stat.mtime.getTime();var ctime=stat.ctime.getTime();HEAP64[buf+40>>3]=BigInt(Math.floor(atime/1e3));HEAPU32[buf+48>>2]=atime%1e3*1e3*1e3;HEAP64[buf+56>>3]=BigInt(Math.floor(mtime/1e3));HEAPU32[buf+64>>2]=mtime%1e3*1e3*1e3;HEAP64[buf+72>>3]=BigInt(Math.floor(ctime/1e3));HEAPU32[buf+80>>2]=ctime%1e3*1e3*1e3;HEAP64[buf+88>>3]=BigInt(stat.ino);return 0},writeStatFs(buf,stats){HEAPU32[buf+4>>2]=stats.bsize;HEAPU32[buf+60>>2]=stats.bsize;HEAP64[buf+8>>3]=BigInt(stats.blocks);HEAP64[buf+16>>3]=BigInt(stats.bfree);HEAP64[buf+24>>3]=BigInt(stats.bavail);HEAP64[buf+32>>3]=BigInt(stats.files);HEAP64[buf+40>>3]=BigInt(stats.ffree);HEAPU32[buf+48>>2]=stats.fsid;HEAPU32[buf+64>>2]=stats.flags;HEAPU32[buf+56>>2]=stats.namelen},doMsync(addr,stream,len,flags,offset){if(!FS.isFile(stream.node.mode)){throw new FS.ErrnoError(43)}if(flags&2){return 0}var buffer=HEAPU8.slice(addr,addr+len);FS.msync(stream,buffer,offset,len,flags)},getStreamFromFD(fd){var stream=FS.getStreamChecked(fd);return stream},varargs:undefined,getStr(ptr){var ret=UTF8ToString(ptr);return ret}};function ___syscall_faccessat(dirfd,path,amode,flags){try{path=SYSCALLS.getStr(path);path=SYSCALLS.calculateAt(dirfd,path);if(amode&~7){return-28}var lookup=FS.lookupPath(path,{follow:true});var node=lookup.node;if(!node){return-44}var perms="";if(amode&4)perms+="r";if(amode&2)perms+="w";if(amode&1)perms+="x";if(perms&&FS.nodePermissions(node,perms)){return-2}return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}var syscallGetVarargI=()=>{var ret=HEAP32[+SYSCALLS.varargs>>2];SYSCALLS.varargs+=4;return ret};var syscallGetVarargP=syscallGetVarargI;function ___syscall_fcntl64(fd,cmd,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(fd);switch(cmd){case 0:{var arg=syscallGetVarargI();if(arg<0){return-28}while(FS.streams[arg]){arg++}var newStream;newStream=FS.dupStream(stream,arg);return newStream.fd}case 1:case 2:return 0;case 3:return stream.flags;case 4:{var arg=syscallGetVarargI();stream.flags|=arg;return 0}case 12:{var arg=syscallGetVarargP();var offset=0;HEAP16[arg+offset>>1]=2;return 0}case 13:case 14:return 0}return-28}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}function ___syscall_fstat64(fd,buf){try{return SYSCALLS.writeStat(buf,FS.fstat(fd))}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}var INT53_MAX=9007199254740992;var INT53_MIN=-9007199254740992;var bigintToI53Checked=num=>numINT53_MAX?NaN:Number(num);function ___syscall_ftruncate64(fd,length){length=bigintToI53Checked(length);try{if(isNaN(length))return-61;FS.ftruncate(fd,length);return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}var stringToUTF8=(str,outPtr,maxBytesToWrite)=>stringToUTF8Array(str,HEAPU8,outPtr,maxBytesToWrite);function ___syscall_getdents64(fd,dirp,count){try{var stream=SYSCALLS.getStreamFromFD(fd);stream.getdents||=FS.readdir(stream.path);var struct_size=280;var pos=0;var off=FS.llseek(stream,0,1);var startIdx=Math.floor(off/struct_size);var endIdx=Math.min(stream.getdents.length,startIdx+Math.floor(count/struct_size));for(var idx=startIdx;idx>3]=BigInt(id);HEAP64[dirp+pos+8>>3]=BigInt((idx+1)*struct_size);HEAP16[dirp+pos+16>>1]=280;HEAP8[dirp+pos+18]=type;stringToUTF8(name,dirp+pos+19,256);pos+=struct_size}FS.llseek(stream,idx*struct_size,0);return pos}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}function ___syscall_ioctl(fd,op,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(fd);switch(op){case 21509:{if(!stream.tty)return-59;return 0}case 21505:{if(!stream.tty)return-59;if(stream.tty.ops.ioctl_tcgets){var termios=stream.tty.ops.ioctl_tcgets(stream);var argp=syscallGetVarargP();HEAP32[argp>>2]=termios.c_iflag||0;HEAP32[argp+4>>2]=termios.c_oflag||0;HEAP32[argp+8>>2]=termios.c_cflag||0;HEAP32[argp+12>>2]=termios.c_lflag||0;for(var i=0;i<32;i++){HEAP8[argp+i+17]=termios.c_cc[i]||0}return 0}return 0}case 21510:case 21511:case 21512:{if(!stream.tty)return-59;return 0}case 21506:case 21507:case 21508:{if(!stream.tty)return-59;if(stream.tty.ops.ioctl_tcsets){var argp=syscallGetVarargP();var c_iflag=HEAP32[argp>>2];var c_oflag=HEAP32[argp+4>>2];var c_cflag=HEAP32[argp+8>>2];var c_lflag=HEAP32[argp+12>>2];var c_cc=[];for(var i=0;i<32;i++){c_cc.push(HEAP8[argp+i+17])}return stream.tty.ops.ioctl_tcsets(stream.tty,op,{c_iflag,c_oflag,c_cflag,c_lflag,c_cc})}return 0}case 21519:{if(!stream.tty)return-59;var argp=syscallGetVarargP();HEAP32[argp>>2]=0;return 0}case 21520:{if(!stream.tty)return-59;return-28}case 21537:case 21531:{var argp=syscallGetVarargP();return FS.ioctl(stream,op,argp)}case 21523:{if(!stream.tty)return-59;if(stream.tty.ops.ioctl_tiocgwinsz){var winsize=stream.tty.ops.ioctl_tiocgwinsz(stream.tty);var argp=syscallGetVarargP();HEAP16[argp>>1]=winsize[0];HEAP16[argp+2>>1]=winsize[1]}return 0}case 21524:{if(!stream.tty)return-59;return 0}case 21515:{if(!stream.tty)return-59;return 0}default:return-28}}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}function ___syscall_lstat64(path,buf){try{path=SYSCALLS.getStr(path);return SYSCALLS.writeStat(buf,FS.lstat(path))}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}function ___syscall_mkdirat(dirfd,path,mode){try{path=SYSCALLS.getStr(path);path=SYSCALLS.calculateAt(dirfd,path);FS.mkdir(path,mode,0);return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}function ___syscall_newfstatat(dirfd,path,buf,flags){try{path=SYSCALLS.getStr(path);var nofollow=flags&256;var allowEmpty=flags&4096;flags=flags&~6400;path=SYSCALLS.calculateAt(dirfd,path,allowEmpty);return SYSCALLS.writeStat(buf,nofollow?FS.lstat(path):FS.stat(path))}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}function ___syscall_openat(dirfd,path,flags,varargs){SYSCALLS.varargs=varargs;try{path=SYSCALLS.getStr(path);path=SYSCALLS.calculateAt(dirfd,path);var mode=varargs?syscallGetVarargI():0;return FS.open(path,flags,mode).fd}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}function ___syscall_rmdir(path){try{path=SYSCALLS.getStr(path);FS.rmdir(path);return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}function ___syscall_stat64(path,buf){try{path=SYSCALLS.getStr(path);return SYSCALLS.writeStat(buf,FS.stat(path))}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}function ___syscall_unlinkat(dirfd,path,flags){try{path=SYSCALLS.getStr(path);path=SYSCALLS.calculateAt(dirfd,path);if(!flags){FS.unlink(path)}else if(flags===512){FS.rmdir(path)}else{return-28}return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}var __abort_js=()=>abort("");var createNamedFunction=(name,func)=>Object.defineProperty(func,"name",{value:name});var emval_freelist=[];var emval_handles=[0,1,,1,null,1,true,1,false,1];var BindingError=class BindingError extends Error{constructor(message){super(message);this.name="BindingError"}};var throwBindingError=message=>{throw new BindingError(message)};var Emval={toValue:handle=>{if(!handle){throwBindingError(`Cannot use deleted val. handle = ${handle}`)}return emval_handles[handle]},toHandle:value=>{switch(value){case undefined:return 2;case null:return 4;case true:return 6;case false:return 8;default:{const handle=emval_freelist.pop()||emval_handles.length;emval_handles[handle]=value;emval_handles[handle+1]=1;return handle}}}};class PureVirtualError extends Error{}var AsciiToString=ptr=>{var str="";while(1){var ch=HEAPU8[ptr++];if(!ch)return str;str+=String.fromCharCode(ch)}};var registeredInstances={};var getBasestPointer=(class_,ptr)=>{if(ptr===undefined){throwBindingError("ptr should not be undefined")}while(class_.baseClass){ptr=class_.upcast(ptr);class_=class_.baseClass}return ptr};var registerInheritedInstance=(class_,ptr,instance)=>{ptr=getBasestPointer(class_,ptr);if(registeredInstances.hasOwnProperty(ptr)){throwBindingError(`Tried to register registered instance: ${ptr}`)}else{registeredInstances[ptr]=instance}};var registeredTypes={};var getTypeName=type=>{var ptr=___getTypeName(type);var rv=AsciiToString(ptr);_free(ptr);return rv};var requireRegisteredType=(rawType,humanName)=>{var impl=registeredTypes[rawType];if(undefined===impl){throwBindingError(`${humanName} has unknown type ${getTypeName(rawType)}`)}return impl};var unregisterInheritedInstance=(class_,ptr)=>{ptr=getBasestPointer(class_,ptr);if(registeredInstances.hasOwnProperty(ptr)){delete registeredInstances[ptr]}else{throwBindingError(`Tried to unregister unregistered instance: ${ptr}`)}};var detachFinalizer=handle=>{};var finalizationRegistry=false;var runDestructor=$$=>{if($$.smartPtr){$$.smartPtrType.rawDestructor($$.smartPtr)}else{$$.ptrType.registeredClass.rawDestructor($$.ptr)}};var releaseClassHandle=$$=>{$$.count.value-=1;var toDelete=0===$$.count.value;if(toDelete){runDestructor($$)}};var attachFinalizer=handle=>{if(!globalThis.FinalizationRegistry){attachFinalizer=handle=>handle;return handle}finalizationRegistry=new FinalizationRegistry(info=>{releaseClassHandle(info.$$)});attachFinalizer=handle=>{var $$=handle.$$;var hasSmartPtr=!!$$.smartPtr;if(hasSmartPtr){var info={$$};finalizationRegistry.register(handle,info,handle)}return handle};detachFinalizer=handle=>finalizationRegistry.unregister(handle);return attachFinalizer(handle)};var __embind_create_inheriting_constructor=(constructorName,wrapperType,properties)=>{constructorName=AsciiToString(constructorName);wrapperType=requireRegisteredType(wrapperType,"wrapper");properties=Emval.toValue(properties);var registeredClass=wrapperType.registeredClass;var wrapperPrototype=registeredClass.instancePrototype;var baseClass=registeredClass.baseClass;var baseClassPrototype=baseClass.instancePrototype;var baseConstructor=registeredClass.baseClass.constructor;var ctor=createNamedFunction(constructorName,function(...args){for(var name of registeredClass.baseClass.pureVirtualFunctions){if(this[name]===baseClassPrototype[name]){throw new PureVirtualError(`Pure virtual function ${name} must be implemented in JavaScript`)}}Object.defineProperty(this,"__parent",{value:wrapperPrototype});this["__construct"](...args)});wrapperPrototype["__construct"]=function __construct(...args){if(this===wrapperPrototype){throwBindingError("Pass correct 'this' to __construct")}var inner=baseConstructor["implement"](this,...args);detachFinalizer(inner);var $$=inner.$$;inner["notifyOnDestruction"]();$$.preservePointerOnDelete=true;Object.defineProperties(this,{$$:{value:$$}});attachFinalizer(this);registerInheritedInstance(registeredClass,$$.ptr,this)};wrapperPrototype["__destruct"]=function __destruct(){if(this===wrapperPrototype){throwBindingError("Pass correct 'this' to __destruct")}detachFinalizer(this);unregisterInheritedInstance(registeredClass,this.$$.ptr)};ctor.prototype=Object.create(wrapperPrototype);Object.assign(ctor.prototype,properties);return Emval.toHandle(ctor)};var structRegistrations={};var runDestructors=destructors=>{while(destructors.length){var ptr=destructors.pop();var del=destructors.pop();del(ptr)}};function readPointer(pointer){return this.fromWireType(HEAPU32[pointer>>2])}var awaitingDependencies={};var typeDependencies={};var InternalError=class InternalError extends Error{constructor(message){super(message);this.name="InternalError"}};var throwInternalError=message=>{throw new InternalError(message)};var whenDependentTypesAreResolved=(myTypes,dependentTypes,getTypeConverters)=>{myTypes.forEach(type=>typeDependencies[type]=dependentTypes);function onComplete(typeConverters){var myTypeConverters=getTypeConverters(typeConverters);if(myTypeConverters.length!==myTypes.length){throwInternalError("Mismatched type converter count")}for(var i=0;i{typeConverters[i]=registeredTypes[dt];++registered;if(registered===unregisteredTypes.length){onComplete(typeConverters)}})}}if(0===unregisteredTypes.length){onComplete(typeConverters)}};var __embind_finalize_value_object=structType=>{var reg=structRegistrations[structType];delete structRegistrations[structType];var rawConstructor=reg.rawConstructor;var rawDestructor=reg.rawDestructor;var fieldRecords=reg.fields;var fieldTypes=fieldRecords.map(field=>field.getterReturnType).concat(fieldRecords.map(field=>field.setterArgumentType));whenDependentTypesAreResolved([structType],fieldTypes,fieldTypes=>{var fields={};for(var[i,field]of fieldRecords.entries()){const getterReturnType=fieldTypes[i];const getter=field.getter;const getterContext=field.getterContext;const setterArgumentType=fieldTypes[i+fieldRecords.length];const setter=field.setter;const setterContext=field.setterContext;fields[field.fieldName]={read:ptr=>getterReturnType.fromWireType(getter(getterContext,ptr)),write:(ptr,o)=>{var destructors=[];setter(setterContext,ptr,setterArgumentType.toWireType(destructors,o));runDestructors(destructors)},optional:getterReturnType.optional}}return[{name:reg.name,fromWireType:ptr=>{var rv={};for(var i in fields){rv[i]=fields[i].read(ptr)}rawDestructor(ptr);return rv},toWireType:(destructors,o)=>{for(var fieldName in fields){if(!(fieldName in o)&&!fields[fieldName].optional){throw new TypeError(`Missing field: "${fieldName}"`)}}var ptr=rawConstructor();for(fieldName in fields){fields[fieldName].write(ptr,o[fieldName])}if(destructors!==null){destructors.push(rawDestructor,ptr)}return ptr},readValueFromPointer:readPointer,destructorFunction:rawDestructor}]})};function sharedRegisterType(rawType,registeredInstance,options={}){var name=registeredInstance.name;if(!rawType){throwBindingError(`type "${name}" must have a positive integer typeid pointer`)}if(registeredTypes.hasOwnProperty(rawType)){if(options.ignoreDuplicateRegistrations){return}else{throwBindingError(`Cannot register type '${name}' twice`)}}registeredTypes[rawType]=registeredInstance;delete typeDependencies[rawType];if(awaitingDependencies.hasOwnProperty(rawType)){var callbacks=awaitingDependencies[rawType];delete awaitingDependencies[rawType];callbacks.forEach(cb=>cb())}}function registerType(rawType,registeredInstance,options={}){return sharedRegisterType(rawType,registeredInstance,options)}var integerReadValueFromPointer=(name,width,signed)=>{switch(width){case 1:return signed?pointer=>HEAP8[pointer]:pointer=>HEAPU8[pointer];case 2:return signed?pointer=>HEAP16[pointer>>1]:pointer=>HEAPU16[pointer>>1];case 4:return signed?pointer=>HEAP32[pointer>>2]:pointer=>HEAPU32[pointer>>2];case 8:return signed?pointer=>HEAP64[pointer>>3]:pointer=>HEAPU64[pointer>>3];default:throw new TypeError(`invalid integer width (${width}): ${name}`)}};var __embind_register_bigint=(primitiveType,name,size,minRange,maxRange)=>{name=AsciiToString(name);const isUnsignedType=minRange===0n;let fromWireType=value=>value;if(isUnsignedType){const bitSize=size*8;fromWireType=value=>BigInt.asUintN(bitSize,value);maxRange=fromWireType(maxRange)}registerType(primitiveType,{name,fromWireType,toWireType:(destructors,value)=>{if(typeof value=="number"){value=BigInt(value)}return value},readValueFromPointer:integerReadValueFromPointer(name,size,!isUnsignedType),destructorFunction:null})};var __embind_register_bool=(rawType,name,trueValue,falseValue)=>{name=AsciiToString(name);registerType(rawType,{name,fromWireType:function(wt){return!!wt},toWireType:function(destructors,o){return o?trueValue:falseValue},readValueFromPointer:function(pointer){return this.fromWireType(HEAPU8[pointer])},destructorFunction:null})};var shallowCopyInternalPointer=o=>({count:o.count,deleteScheduled:o.deleteScheduled,preservePointerOnDelete:o.preservePointerOnDelete,ptr:o.ptr,ptrType:o.ptrType,smartPtr:o.smartPtr,smartPtrType:o.smartPtrType});var throwInstanceAlreadyDeleted=obj=>{function getInstanceTypeName(handle){return handle.$$.ptrType.registeredClass.name}throwBindingError(getInstanceTypeName(obj)+" instance already deleted")};var deletionQueue=[];var flushPendingDeletes=()=>{while(deletionQueue.length){var obj=deletionQueue.pop();obj.$$.deleteScheduled=false;obj["delete"]()}};var delayFunction;var init_ClassHandle=()=>{let proto=ClassHandle.prototype;Object.assign(proto,{isAliasOf(other){if(!(this instanceof ClassHandle)){return false}if(!(other instanceof ClassHandle)){return false}var leftClass=this.$$.ptrType.registeredClass;var left=this.$$.ptr;other.$$=other.$$;var rightClass=other.$$.ptrType.registeredClass;var right=other.$$.ptr;while(leftClass.baseClass){left=leftClass.upcast(left);leftClass=leftClass.baseClass}while(rightClass.baseClass){right=rightClass.upcast(right);rightClass=rightClass.baseClass}return leftClass===rightClass&&left===right},clone(){if(!this.$$.ptr){throwInstanceAlreadyDeleted(this)}if(this.$$.preservePointerOnDelete){this.$$.count.value+=1;return this}else{var clone=attachFinalizer(Object.create(Object.getPrototypeOf(this),{$$:{value:shallowCopyInternalPointer(this.$$)}}));clone.$$.count.value+=1;clone.$$.deleteScheduled=false;return clone}},delete(){if(!this.$$.ptr){throwInstanceAlreadyDeleted(this)}if(this.$$.deleteScheduled&&!this.$$.preservePointerOnDelete){throwBindingError("Object already scheduled for deletion")}detachFinalizer(this);releaseClassHandle(this.$$);if(!this.$$.preservePointerOnDelete){this.$$.smartPtr=undefined;this.$$.ptr=undefined}},isDeleted(){return!this.$$.ptr},deleteLater(){if(!this.$$.ptr){throwInstanceAlreadyDeleted(this)}if(this.$$.deleteScheduled&&!this.$$.preservePointerOnDelete){throwBindingError("Object already scheduled for deletion")}deletionQueue.push(this);if(deletionQueue.length===1&&delayFunction){delayFunction(flushPendingDeletes)}this.$$.deleteScheduled=true;return this}});const symbolDispose=Symbol.dispose;if(symbolDispose){proto[symbolDispose]=proto["delete"]}};function ClassHandle(){}var registeredPointers={};var ensureOverloadTable=(proto,methodName,humanName)=>{if(undefined===proto[methodName].overloadTable){var prevFunc=proto[methodName];proto[methodName]=function(...args){if(!proto[methodName].overloadTable.hasOwnProperty(args.length)){throwBindingError(`Function '${humanName}' called with an invalid number of arguments (${args.length}) - expects one of (${proto[methodName].overloadTable})!`)}return proto[methodName].overloadTable[args.length].apply(this,args)};proto[methodName].overloadTable=[];proto[methodName].overloadTable[prevFunc.argCount]=prevFunc}};var exposePublicSymbol=(name,value,numArguments)=>{if(Module.hasOwnProperty(name)){if(undefined===numArguments||undefined!==Module[name].overloadTable&&undefined!==Module[name].overloadTable[numArguments]){throwBindingError(`Cannot register public name '${name}' twice`)}ensureOverloadTable(Module,name,name);if(Module[name].overloadTable.hasOwnProperty(numArguments)){throwBindingError(`Cannot register multiple overloads of a function with the same number of arguments (${numArguments})!`)}Module[name].overloadTable[numArguments]=value}else{Module[name]=value;Module[name].argCount=numArguments}};var char_0=48;var char_9=57;var makeLegalFunctionName=name=>{name=name.replace(/[^a-zA-Z0-9_]/g,"$");var f=name.charCodeAt(0);if(f>=char_0&&f<=char_9){return`_${name}`}return name};function RegisteredClass(name,constructor,instancePrototype,rawDestructor,baseClass,getActualType,upcast,downcast){this.name=name;this.constructor=constructor;this.instancePrototype=instancePrototype;this.rawDestructor=rawDestructor;this.baseClass=baseClass;this.getActualType=getActualType;this.upcast=upcast;this.downcast=downcast;this.pureVirtualFunctions=[]}var upcastPointer=(ptr,ptrClass,desiredClass)=>{while(ptrClass!==desiredClass){if(!ptrClass.upcast){throwBindingError(`Expected null or instance of ${desiredClass.name}, got an instance of ${ptrClass.name}`)}ptr=ptrClass.upcast(ptr);ptrClass=ptrClass.baseClass}return ptr};var embindRepr=v=>{if(v===null){return"null"}var t=typeof v;if(t==="object"||t==="array"||t==="function"){return v.toString()}else{return""+v}};function constNoSmartPtrRawPointerToWireType(destructors,handle){if(handle===null){if(this.isReference){throwBindingError(`null is not a valid ${this.name}`)}return 0}if(!handle.$$){throwBindingError(`Cannot pass "${embindRepr(handle)}" as a ${this.name}`)}if(!handle.$$.ptr){throwBindingError(`Cannot pass deleted object as a pointer of type ${this.name}`)}var handleClass=handle.$$.ptrType.registeredClass;var ptr=upcastPointer(handle.$$.ptr,handleClass,this.registeredClass);return ptr}function genericPointerToWireType(destructors,handle){var ptr;if(handle===null){if(this.isReference){throwBindingError(`null is not a valid ${this.name}`)}if(this.isSmartPointer){ptr=this.rawConstructor();if(destructors!==null){destructors.push(this.rawDestructor,ptr)}return ptr}else{return 0}}if(!handle||!handle.$$){throwBindingError(`Cannot pass "${embindRepr(handle)}" as a ${this.name}`)}if(!handle.$$.ptr){throwBindingError(`Cannot pass deleted object as a pointer of type ${this.name}`)}if(!this.isConst&&handle.$$.ptrType.isConst){throwBindingError(`Cannot convert argument of type ${handle.$$.smartPtrType?handle.$$.smartPtrType.name:handle.$$.ptrType.name} to parameter type ${this.name}`)}var handleClass=handle.$$.ptrType.registeredClass;ptr=upcastPointer(handle.$$.ptr,handleClass,this.registeredClass);if(this.isSmartPointer){if(undefined===handle.$$.smartPtr){throwBindingError("Passing raw pointer to smart pointer is illegal")}switch(this.sharingPolicy){case 0:if(handle.$$.smartPtrType===this){ptr=handle.$$.smartPtr}else{throwBindingError(`Cannot convert argument of type ${handle.$$.smartPtrType?handle.$$.smartPtrType.name:handle.$$.ptrType.name} to parameter type ${this.name}`)}break;case 1:ptr=handle.$$.smartPtr;break;case 2:if(handle.$$.smartPtrType===this){ptr=handle.$$.smartPtr}else{var clonedHandle=handle["clone"]();ptr=this.rawShare(ptr,Emval.toHandle(()=>clonedHandle["delete"]()));if(destructors!==null){destructors.push(this.rawDestructor,ptr)}}break;default:throwBindingError("Unsupported sharing policy")}}return ptr}function nonConstNoSmartPtrRawPointerToWireType(destructors,handle){if(handle===null){if(this.isReference){throwBindingError(`null is not a valid ${this.name}`)}return 0}if(!handle.$$){throwBindingError(`Cannot pass "${embindRepr(handle)}" as a ${this.name}`)}if(!handle.$$.ptr){throwBindingError(`Cannot pass deleted object as a pointer of type ${this.name}`)}if(handle.$$.ptrType.isConst){throwBindingError(`Cannot convert argument of type ${handle.$$.ptrType.name} to parameter type ${this.name}`)}var handleClass=handle.$$.ptrType.registeredClass;var ptr=upcastPointer(handle.$$.ptr,handleClass,this.registeredClass);return ptr}var downcastPointer=(ptr,ptrClass,desiredClass)=>{if(ptrClass===desiredClass){return ptr}if(undefined===desiredClass.baseClass){return null}var rv=downcastPointer(ptr,ptrClass,desiredClass.baseClass);if(rv===null){return null}return desiredClass.downcast(rv)};var getInheritedInstance=(class_,ptr)=>{ptr=getBasestPointer(class_,ptr);return registeredInstances[ptr]};var makeClassHandle=(prototype,record)=>{if(!record.ptrType||!record.ptr){throwInternalError("makeClassHandle requires ptr and ptrType")}var hasSmartPtrType=!!record.smartPtrType;var hasSmartPtr=!!record.smartPtr;if(hasSmartPtrType!==hasSmartPtr){throwInternalError("Both smartPtrType and smartPtr must be specified")}record.count={value:1};return attachFinalizer(Object.create(prototype,{$$:{value:record,writable:true}}))};function RegisteredPointer_fromWireType(ptr){var rawPointer=this.getPointee(ptr);if(!rawPointer){this.destructor(ptr);return null}var registeredInstance=getInheritedInstance(this.registeredClass,rawPointer);if(undefined!==registeredInstance){if(0===registeredInstance.$$.count.value){registeredInstance.$$.ptr=rawPointer;registeredInstance.$$.smartPtr=ptr;return registeredInstance["clone"]()}else{var rv=registeredInstance["clone"]();this.destructor(ptr);return rv}}function makeDefaultHandle(){if(this.isSmartPointer){return makeClassHandle(this.registeredClass.instancePrototype,{ptrType:this.pointeeType,ptr:rawPointer,smartPtrType:this,smartPtr:ptr})}else{return makeClassHandle(this.registeredClass.instancePrototype,{ptrType:this,ptr})}}var actualType=this.registeredClass.getActualType(rawPointer);var registeredPointerRecord=registeredPointers[actualType];if(!registeredPointerRecord){return makeDefaultHandle.call(this)}var toType;if(this.isConst){toType=registeredPointerRecord.constPointerType}else{toType=registeredPointerRecord.pointerType}var dp=downcastPointer(rawPointer,this.registeredClass,toType.registeredClass);if(dp===null){return makeDefaultHandle.call(this)}if(this.isSmartPointer){return makeClassHandle(toType.registeredClass.instancePrototype,{ptrType:toType,ptr:dp,smartPtrType:this,smartPtr:ptr})}else{return makeClassHandle(toType.registeredClass.instancePrototype,{ptrType:toType,ptr:dp})}}var init_RegisteredPointer=()=>{Object.assign(RegisteredPointer.prototype,{getPointee(ptr){if(this.rawGetPointee){ptr=this.rawGetPointee(ptr)}return ptr},destructor(ptr){this.rawDestructor?.(ptr)},readValueFromPointer:readPointer,fromWireType:RegisteredPointer_fromWireType})};function RegisteredPointer(name,registeredClass,isReference,isConst,isSmartPointer,pointeeType,sharingPolicy,rawGetPointee,rawConstructor,rawShare,rawDestructor){this.name=name;this.registeredClass=registeredClass;this.isReference=isReference;this.isConst=isConst;this.isSmartPointer=isSmartPointer;this.pointeeType=pointeeType;this.sharingPolicy=sharingPolicy;this.rawGetPointee=rawGetPointee;this.rawConstructor=rawConstructor;this.rawShare=rawShare;this.rawDestructor=rawDestructor;if(!isSmartPointer&®isteredClass.baseClass===undefined){if(isConst){this.toWireType=constNoSmartPtrRawPointerToWireType;this.destructorFunction=null}else{this.toWireType=nonConstNoSmartPtrRawPointerToWireType;this.destructorFunction=null}}else{this.toWireType=genericPointerToWireType}}var replacePublicSymbol=(name,value,numArguments)=>{if(!Module.hasOwnProperty(name)){throwInternalError("Replacing nonexistent public symbol")}if(undefined!==Module[name].overloadTable&&undefined!==numArguments){Module[name].overloadTable[numArguments]=value}else{Module[name]=value;Module[name].argCount=numArguments}};var wasmTableMirror=[];var getWasmTableEntry=funcPtr=>{var func=wasmTableMirror[funcPtr];if(!func){wasmTableMirror[funcPtr]=func=wasmTable.get(funcPtr)}return func};var embind__requireFunction=(signature,rawFunction,isAsync=false)=>{signature=AsciiToString(signature);function makeDynCaller(){var rtn=getWasmTableEntry(rawFunction);return rtn}var fp=makeDynCaller();if(typeof fp!="function"){throwBindingError(`unknown function pointer with signature ${signature}: ${rawFunction}`)}return fp};class UnboundTypeError extends Error{}var throwUnboundTypeError=(message,types)=>{var unboundTypes=[];var seen={};function visit(type){if(seen[type]){return}if(registeredTypes[type]){return}if(typeDependencies[type]){typeDependencies[type].forEach(visit);return}unboundTypes.push(type);seen[type]=true}types.forEach(visit);throw new UnboundTypeError(`${message}: `+unboundTypes.map(getTypeName).join([", "]))};var __embind_register_class=(rawType,rawPointerType,rawConstPointerType,baseClassRawType,getActualTypeSignature,getActualType,upcastSignature,upcast,downcastSignature,downcast,name,destructorSignature,rawDestructor)=>{name=AsciiToString(name);getActualType=embind__requireFunction(getActualTypeSignature,getActualType);upcast&&=embind__requireFunction(upcastSignature,upcast);downcast&&=embind__requireFunction(downcastSignature,downcast);rawDestructor=embind__requireFunction(destructorSignature,rawDestructor);var legalFunctionName=makeLegalFunctionName(name);exposePublicSymbol(legalFunctionName,function(){throwUnboundTypeError(`Cannot construct ${name} due to unbound types`,[baseClassRawType])});whenDependentTypesAreResolved([rawType,rawPointerType,rawConstPointerType],baseClassRawType?[baseClassRawType]:[],base=>{base=base[0];var baseClass;var basePrototype;if(baseClassRawType){baseClass=base.registeredClass;basePrototype=baseClass.instancePrototype}else{basePrototype=ClassHandle.prototype}var constructor=createNamedFunction(name,function(...args){if(Object.getPrototypeOf(this)!==instancePrototype){throw new BindingError(`Use 'new' to construct ${name}`)}if(undefined===registeredClass.constructor_body){throw new BindingError(`${name} has no accessible constructor`)}var body=registeredClass.constructor_body[args.length];if(undefined===body){throw new BindingError(`Tried to invoke ctor of ${name} with invalid number of parameters (${args.length}) - expected (${Object.keys(registeredClass.constructor_body).toString()}) parameters instead!`)}return body.apply(this,args)});var instancePrototype=Object.create(basePrototype,{constructor:{value:constructor}});constructor.prototype=instancePrototype;var registeredClass=new RegisteredClass(name,constructor,instancePrototype,rawDestructor,baseClass,getActualType,upcast,downcast);if(registeredClass.baseClass){registeredClass.baseClass.__derivedClasses??=[];registeredClass.baseClass.__derivedClasses.push(registeredClass)}var referenceConverter=new RegisteredPointer(name,registeredClass,true,false,false);var pointerConverter=new RegisteredPointer(name+"*",registeredClass,false,false,false);var constPointerConverter=new RegisteredPointer(name+" const*",registeredClass,false,true,false);registeredPointers[rawType]={pointerType:pointerConverter,constPointerType:constPointerConverter};replacePublicSymbol(legalFunctionName,constructor);return[referenceConverter,pointerConverter,constPointerConverter]})};function usesDestructorStack(argTypes){for(var i=1;i{var array=[];for(var i=0;i>2])}return array};var getFunctionName=signature=>{signature=signature.trim();const argsIndex=signature.indexOf("(");if(argsIndex===-1)return signature;return signature.slice(0,argsIndex)};var __embind_register_class_class_function=(rawClassType,methodName,argCount,rawArgTypesAddr,invokerSignature,rawInvoker,fn,isAsync,isNonnullReturn)=>{var rawArgTypes=heap32VectorToArray(argCount,rawArgTypesAddr);methodName=AsciiToString(methodName);methodName=getFunctionName(methodName);rawInvoker=embind__requireFunction(invokerSignature,rawInvoker,isAsync);whenDependentTypesAreResolved([],[rawClassType],classType=>{classType=classType[0];var humanName=`${classType.name}.${methodName}`;function unboundTypesHandler(){throwUnboundTypeError(`Cannot call ${humanName} due to unbound types`,rawArgTypes)}if(methodName.startsWith("@@")){methodName=Symbol[methodName.substring(2)]}var proto=classType.registeredClass.constructor;if(undefined===proto[methodName]){unboundTypesHandler.argCount=argCount-1;proto[methodName]=unboundTypesHandler}else{ensureOverloadTable(proto,methodName,humanName);proto[methodName].overloadTable[argCount-1]=unboundTypesHandler}whenDependentTypesAreResolved([],rawArgTypes,argTypes=>{var invokerArgsArray=[argTypes[0],null].concat(argTypes.slice(1));var func=craftInvokerFunction(humanName,invokerArgsArray,null,rawInvoker,fn,isAsync);if(undefined===proto[methodName].overloadTable){func.argCount=argCount-1;proto[methodName]=func}else{proto[methodName].overloadTable[argCount-1]=func}if(classType.registeredClass.__derivedClasses){for(const derivedClass of classType.registeredClass.__derivedClasses){if(!derivedClass.constructor.hasOwnProperty(methodName)){derivedClass.constructor[methodName]=func}}}return[]});return[]})};var __embind_register_class_constructor=(rawClassType,argCount,rawArgTypesAddr,invokerSignature,invoker,rawConstructor)=>{var rawArgTypes=heap32VectorToArray(argCount,rawArgTypesAddr);invoker=embind__requireFunction(invokerSignature,invoker);whenDependentTypesAreResolved([],[rawClassType],classType=>{classType=classType[0];var humanName=`constructor ${classType.name}`;if(undefined===classType.registeredClass.constructor_body){classType.registeredClass.constructor_body=[]}if(undefined!==classType.registeredClass.constructor_body[argCount-1]){throw new BindingError(`Cannot register multiple constructors with identical number of parameters (${argCount-1}) for class '${classType.name}'! Overload resolution is currently only performed using the parameter count, not actual type info!`)}classType.registeredClass.constructor_body[argCount-1]=()=>{throwUnboundTypeError(`Cannot construct ${classType.name} due to unbound types`,rawArgTypes)};whenDependentTypesAreResolved([],rawArgTypes,argTypes=>{argTypes.splice(1,0,null);classType.registeredClass.constructor_body[argCount-1]=craftInvokerFunction(humanName,argTypes,null,invoker,rawConstructor);return[]});return[]})};var __embind_register_class_function=(rawClassType,methodName,argCount,rawArgTypesAddr,invokerSignature,rawInvoker,context,isPureVirtual,isAsync,isNonnullReturn)=>{var rawArgTypes=heap32VectorToArray(argCount,rawArgTypesAddr);methodName=AsciiToString(methodName);methodName=getFunctionName(methodName);rawInvoker=embind__requireFunction(invokerSignature,rawInvoker,isAsync);whenDependentTypesAreResolved([],[rawClassType],classType=>{classType=classType[0];var humanName=`${classType.name}.${methodName}`;if(methodName.startsWith("@@")){methodName=Symbol[methodName.substring(2)]}if(isPureVirtual){classType.registeredClass.pureVirtualFunctions.push(methodName)}function unboundTypesHandler(){throwUnboundTypeError(`Cannot call ${humanName} due to unbound types`,rawArgTypes)}var proto=classType.registeredClass.instancePrototype;var method=proto[methodName];if(undefined===method||undefined===method.overloadTable&&method.className!==classType.name&&method.argCount===argCount-2){unboundTypesHandler.argCount=argCount-2;unboundTypesHandler.className=classType.name;proto[methodName]=unboundTypesHandler}else{ensureOverloadTable(proto,methodName,humanName);proto[methodName].overloadTable[argCount-2]=unboundTypesHandler}whenDependentTypesAreResolved([],rawArgTypes,argTypes=>{var memberFunction=craftInvokerFunction(humanName,argTypes,classType,rawInvoker,context,isAsync);if(undefined===proto[methodName].overloadTable){memberFunction.argCount=argCount-2;proto[methodName]=memberFunction}else{proto[methodName].overloadTable[argCount-2]=memberFunction}return[]});return[]})};var __emval_decref=handle=>{if(handle>9&&0===--emval_handles[handle+1]){emval_handles[handle]=undefined;emval_freelist.push(handle)}};var EmValType={name:"emscripten::val",fromWireType:handle=>{var rv=Emval.toValue(handle);__emval_decref(handle);return rv},toWireType:(destructors,value)=>Emval.toHandle(value),readValueFromPointer:readPointer,destructorFunction:null};var __embind_register_emval=rawType=>registerType(rawType,EmValType);var floatReadValueFromPointer=(name,width)=>{switch(width){case 4:return function(pointer){return this.fromWireType(HEAPF32[pointer>>2])};case 8:return function(pointer){return this.fromWireType(HEAPF64[pointer>>3])};default:throw new TypeError(`invalid float width (${width}): ${name}`)}};var __embind_register_float=(rawType,name,size)=>{name=AsciiToString(name);registerType(rawType,{name,fromWireType:value=>value,toWireType:(destructors,value)=>value,readValueFromPointer:floatReadValueFromPointer(name,size),destructorFunction:null})};var __embind_register_integer=(primitiveType,name,size,minRange,maxRange)=>{name=AsciiToString(name);const isUnsignedType=minRange===0;let fromWireType=value=>value;if(isUnsignedType){var bitshift=32-8*size;fromWireType=value=>value<>>bitshift;maxRange=fromWireType(maxRange)}registerType(primitiveType,{name,fromWireType,toWireType:(destructors,value)=>value,readValueFromPointer:integerReadValueFromPointer(name,size,minRange!==0),destructorFunction:null})};var installIndexedIterator=(proto,sizeMethodName,getMethodName)=>{const makeIterator=(size,getValue)=>{let index=0;return{next(){if(index>=size){return{done:true}}const current=index;index++;const value=getValue(current);return{value,done:false}},[Symbol.iterator](){return this}}};if(!proto[Symbol.iterator]){proto[Symbol.iterator]=function(){const size=this[sizeMethodName]();return makeIterator(size,i=>this[getMethodName](i))}}};var __embind_register_iterable=(rawClassType,rawElementType,sizeMethodName,getMethodName)=>{sizeMethodName=AsciiToString(sizeMethodName);getMethodName=AsciiToString(getMethodName);whenDependentTypesAreResolved([],[rawClassType,rawElementType],types=>{const classType=types[0];installIndexedIterator(classType.registeredClass.instancePrototype,sizeMethodName,getMethodName);return[]})};var __embind_register_memory_view=(rawType,dataTypeIndex,name)=>{var typeMapping=[Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array,BigInt64Array,BigUint64Array];var TA=typeMapping[dataTypeIndex];function decodeMemoryView(handle){var size=HEAPU32[handle>>2];var data=HEAPU32[handle+4>>2];return new TA(HEAP8.buffer,data,size)}name=AsciiToString(name);registerType(rawType,{name,fromWireType:decodeMemoryView,readValueFromPointer:decodeMemoryView},{ignoreDuplicateRegistrations:true})};var EmValOptionalType=Object.assign({optional:true},EmValType);var __embind_register_optional=(rawOptionalType,rawType)=>{registerType(rawOptionalType,EmValOptionalType)};var __embind_register_std_string=(rawType,name)=>{name=AsciiToString(name);var stdStringIsUTF8=true;registerType(rawType,{name,fromWireType(value){var length=HEAPU32[value>>2];var payload=value+4;var str;if(stdStringIsUTF8){str=UTF8ToString(payload,length,true)}else{str="";for(var i=0;i>2]=length;if(valueIsOfTypeString){if(stdStringIsUTF8){stringToUTF8(value,ptr,length+1)}else{for(var i=0;i255){_free(base);throwBindingError("String has UTF-16 code units that do not fit in 8 bits")}HEAPU8[ptr+i]=charCode}}}else{HEAPU8.set(value,ptr)}if(destructors!==null){destructors.push(_free,base)}return base},readValueFromPointer:readPointer,destructorFunction(ptr){_free(ptr)}})};var UTF16Decoder=globalThis.TextDecoder?new TextDecoder("utf-16le"):undefined;var UTF16ToString=(ptr,maxBytesToRead,ignoreNul)=>{var idx=ptr>>1;var endIdx=findStringEnd(HEAPU16,idx,maxBytesToRead/2,ignoreNul);if(endIdx-idx>16&&UTF16Decoder)return UTF16Decoder.decode(HEAPU16.subarray(idx,endIdx));var str="";for(var i=idx;i{maxBytesToWrite??=2147483647;if(maxBytesToWrite<2)return 0;maxBytesToWrite-=2;var startPtr=outPtr;var numCharsToWrite=maxBytesToWrite>1]=codeUnit;outPtr+=2}HEAP16[outPtr>>1]=0;return outPtr-startPtr};var lengthBytesUTF16=str=>str.length*2;var UTF32ToString=(ptr,maxBytesToRead,ignoreNul)=>{var str="";var startIdx=ptr>>2;for(var i=0;!(i>=maxBytesToRead/4);i++){var utf32=HEAPU32[startIdx+i];if(!utf32&&!ignoreNul)break;str+=String.fromCodePoint(utf32)}return str};var stringToUTF32=(str,outPtr,maxBytesToWrite)=>{maxBytesToWrite??=2147483647;if(maxBytesToWrite<4)return 0;var startPtr=outPtr;var endPtr=startPtr+maxBytesToWrite-4;for(var i=0;i65535){i++}HEAP32[outPtr>>2]=codePoint;outPtr+=4;if(outPtr+4>endPtr)break}HEAP32[outPtr>>2]=0;return outPtr-startPtr};var lengthBytesUTF32=str=>{var len=0;for(var i=0;i65535){i++}len+=4}return len};var __embind_register_std_wstring=(rawType,charSize,name)=>{name=AsciiToString(name);var decodeString,encodeString,lengthBytesUTF;if(charSize===2){decodeString=UTF16ToString;encodeString=stringToUTF16;lengthBytesUTF=lengthBytesUTF16}else{decodeString=UTF32ToString;encodeString=stringToUTF32;lengthBytesUTF=lengthBytesUTF32}registerType(rawType,{name,fromWireType:value=>{var length=HEAPU32[value>>2];var str=decodeString(value+4,length*charSize,true);_free(value);return str},toWireType:(destructors,value)=>{if(!(typeof value=="string")){throwBindingError(`Cannot pass non-string to C++ string type ${name}`)}var length=lengthBytesUTF(value);var ptr=_malloc(4+length+charSize);HEAPU32[ptr>>2]=length/charSize;encodeString(value,ptr+4,length+charSize);if(destructors!==null){destructors.push(_free,ptr)}return ptr},readValueFromPointer:readPointer,destructorFunction(ptr){_free(ptr)}})};var __embind_register_value_object=(rawType,name,constructorSignature,rawConstructor,destructorSignature,rawDestructor)=>{structRegistrations[rawType]={name:AsciiToString(name),rawConstructor:embind__requireFunction(constructorSignature,rawConstructor),rawDestructor:embind__requireFunction(destructorSignature,rawDestructor),fields:[]}};var __embind_register_value_object_field=(structType,fieldName,getterReturnType,getterSignature,getter,getterContext,setterArgumentType,setterSignature,setter,setterContext)=>{structRegistrations[structType].fields.push({fieldName:AsciiToString(fieldName),getterReturnType,getter:embind__requireFunction(getterSignature,getter),getterContext,setterArgumentType,setter:embind__requireFunction(setterSignature,setter),setterContext})};var __embind_register_void=(rawType,name)=>{name=AsciiToString(name);registerType(rawType,{isVoid:true,name,fromWireType:()=>undefined,toWireType:(destructors,o)=>undefined})};var emval_methodCallers=[];var emval_addMethodCaller=caller=>{var id=emval_methodCallers.length;emval_methodCallers.push(caller);return id};var emval_lookupTypes=(argCount,argTypes)=>{var a=new Array(argCount);for(var i=0;i>2],`parameter ${i}`)}return a};var emval_returnValue=(toReturnWire,destructorsRef,handle)=>{var destructors=[];var result=toReturnWire(destructors,handle);if(destructors.length){HEAPU32[destructorsRef>>2]=Emval.toHandle(destructors)}return result};var emval_symbols={};var getStringOrSymbol=address=>{var symbol=emval_symbols[address];if(symbol===undefined){return AsciiToString(address)}return symbol};var __emval_create_invoker=(argCount,argTypesPtr,kind)=>{var GenericWireTypeSize=8;var[retType,...argTypes]=emval_lookupTypes(argCount,argTypesPtr);var toReturnWire=retType.toWireType.bind(retType);var argFromPtr=argTypes.map(type=>type.readValueFromPointer.bind(type));argCount--;var argN=new Array(argCount);var invokerFunction=(handle,methodName,destructorsRef,args)=>{var offset=0;for(var i=0;it.name)}) => ${retType.name}>`;return emval_addMethodCaller(createNamedFunction(functionName,invokerFunction))};var __emval_invoke=(caller,handle,methodName,destructorsRef,args)=>emval_methodCallers[caller](handle,methodName,destructorsRef,args);var __emval_run_destructors=handle=>{var destructors=Emval.toValue(handle);runDestructors(destructors);__emval_decref(handle)};function __mmap_js(len,prot,flags,fd,offset,allocated,addr){offset=bigintToI53Checked(offset);try{var stream=SYSCALLS.getStreamFromFD(fd);var res=FS.mmap(stream,len,offset,prot,flags);var ptr=res.ptr;HEAP32[allocated>>2]=res.allocated;HEAPU32[addr>>2]=ptr;return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}function __munmap_js(addr,len,prot,flags,fd,offset){offset=bigintToI53Checked(offset);try{var stream=SYSCALLS.getStreamFromFD(fd);if(prot&2){SYSCALLS.doMsync(addr,stream,len,flags,offset)}}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}var __tzset_js=(timezone,daylight,std_name,dst_name)=>{var currentYear=(new Date).getFullYear();var winter=new Date(currentYear,0,1);var summer=new Date(currentYear,6,1);var winterOffset=winter.getTimezoneOffset();var summerOffset=summer.getTimezoneOffset();var stdTimezoneOffset=Math.max(winterOffset,summerOffset);HEAPU32[timezone>>2]=stdTimezoneOffset*60;HEAP32[daylight>>2]=Number(winterOffset!=summerOffset);var extractZone=timezoneOffset=>{var sign=timezoneOffset>=0?"-":"+";var absOffset=Math.abs(timezoneOffset);var hours=String(Math.floor(absOffset/60)).padStart(2,"0");var minutes=String(absOffset%60).padStart(2,"0");return`UTC${sign}${hours}${minutes}`};var winterName=extractZone(winterOffset);var summerName=extractZone(summerOffset);if(summerOffsetperformance.now();var _emscripten_date_now=()=>Date.now();var nowIsMonotonic=1;var checkWasiClock=clock_id=>clock_id>=0&&clock_id<=3;function _clock_time_get(clk_id,ignored_precision,ptime){ignored_precision=bigintToI53Checked(ignored_precision);if(!checkWasiClock(clk_id)){return 28}var now;if(clk_id===0){now=_emscripten_date_now()}else if(nowIsMonotonic){now=_emscripten_get_now()}else{return 52}var nsec=Math.round(now*1e3*1e3);HEAP64[ptime>>3]=BigInt(nsec);return 0}var getHeapMax=()=>2147483648;var growMemory=size=>{var oldHeapSize=wasmMemory.buffer.byteLength;var pages=(size-oldHeapSize+65535)/65536|0;try{wasmMemory.grow(pages);updateMemoryViews();return 1}catch(e){}};var _emscripten_resize_heap=requestedSize=>{var oldSize=HEAPU8.length;requestedSize>>>=0;var maxHeapSize=getHeapMax();if(requestedSize>maxHeapSize){return false}for(var cutDown=1;cutDown<=4;cutDown*=2){var overGrownHeapSize=oldSize*(1+.2/cutDown);overGrownHeapSize=Math.min(overGrownHeapSize,requestedSize+100663296);var newSize=Math.min(maxHeapSize,alignMemory(Math.max(requestedSize,overGrownHeapSize),65536));var replacement=growMemory(newSize);if(replacement){return true}}return false};var ENV={};var getExecutableName=()=>thisProgram||"./this.program";var getEnvStrings=()=>{if(!getEnvStrings.strings){var lang=(globalThis.navigator?.language??"C").replace("-","_")+".UTF-8";var env={USER:"web_user",LOGNAME:"web_user",PATH:"/",PWD:"/",HOME:"/home/web_user",LANG:lang,_:getExecutableName()};for(var x in ENV){if(ENV[x]===undefined)delete env[x];else env[x]=ENV[x]}var strings=[];for(var x in env){strings.push(`${x}=${env[x]}`)}getEnvStrings.strings=strings}return getEnvStrings.strings};var _environ_get=(__environ,environ_buf)=>{var bufSize=0;var envp=0;for(var string of getEnvStrings()){var ptr=environ_buf+bufSize;HEAPU32[__environ+envp>>2]=ptr;bufSize+=stringToUTF8(string,ptr,Infinity)+1;envp+=4}return 0};var _environ_sizes_get=(penviron_count,penviron_buf_size)=>{var strings=getEnvStrings();HEAPU32[penviron_count>>2]=strings.length;var bufSize=0;for(var string of strings){bufSize+=lengthBytesUTF8(string)+1}HEAPU32[penviron_buf_size>>2]=bufSize;return 0};function _fd_close(fd){try{var stream=SYSCALLS.getStreamFromFD(fd);FS.close(stream);return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return e.errno}}var doReadv=(stream,iov,iovcnt,offset)=>{var ret=0;for(var i=0;i>2];var len=HEAPU32[iov+4>>2];iov+=8;var curr=FS.read(stream,HEAP8,ptr,len,offset);if(curr<0)return-1;ret+=curr;if(curr>2]=num;return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return e.errno}}function _fd_seek(fd,offset,whence,newOffset){offset=bigintToI53Checked(offset);try{if(isNaN(offset))return 61;var stream=SYSCALLS.getStreamFromFD(fd);FS.llseek(stream,offset,whence);HEAP64[newOffset>>3]=BigInt(stream.position);if(stream.getdents&&offset===0&&whence===0)stream.getdents=null;return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return e.errno}}var doWritev=(stream,iov,iovcnt,offset)=>{var ret=0;for(var i=0;i>2];var len=HEAPU32[iov+4>>2];iov+=8;var curr=FS.write(stream,HEAP8,ptr,len,offset);if(curr<0)return-1;ret+=curr;if(curr>2]=num;return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return e.errno}}var FS_createPath=(...args)=>FS.createPath(...args);var FS_unlink=(...args)=>FS.unlink(...args);var FS_createLazyFile=(...args)=>FS.createLazyFile(...args);var FS_createDevice=(...args)=>FS.createDevice(...args);FS.createPreloadedFile=FS_createPreloadedFile;FS.preloadFile=FS_preloadFile;FS.staticInit();init_ClassHandle();init_RegisteredPointer();{if(Module["noExitRuntime"])noExitRuntime=Module["noExitRuntime"];if(Module["preloadPlugins"])preloadPlugins=Module["preloadPlugins"];if(Module["print"])out=Module["print"];if(Module["printErr"])err=Module["printErr"];if(Module["wasmBinary"])wasmBinary=Module["wasmBinary"];if(Module["arguments"])arguments_=Module["arguments"];if(Module["thisProgram"])thisProgram=Module["thisProgram"];if(Module["preInit"]){if(typeof Module["preInit"]=="function")Module["preInit"]=[Module["preInit"]];while(Module["preInit"].length>0){Module["preInit"].shift()()}}}Module["addRunDependency"]=addRunDependency;Module["removeRunDependency"]=removeRunDependency;Module["FS_preloadFile"]=FS_preloadFile;Module["FS_unlink"]=FS_unlink;Module["FS_createPath"]=FS_createPath;Module["FS_createDevice"]=FS_createDevice;Module["FS"]=FS;Module["FS_createDataFile"]=FS_createDataFile;Module["FS_createLazyFile"]=FS_createLazyFile;var _malloc,_free,_emscripten_builtin_memalign,___getTypeName,___trap,memory,__indirect_function_table,wasmMemory,wasmTable;function assignWasmExports(wasmExports){_malloc=wasmExports["_"];_free=wasmExports["$"];_emscripten_builtin_memalign=wasmExports["aa"];___getTypeName=wasmExports["ba"];___trap=wasmExports["ca"];memory=wasmMemory=wasmExports["X"];__indirect_function_table=wasmTable=wasmExports["Z"]}var wasmImports={a:___assert_fail,C:___syscall_faccessat,l:___syscall_fcntl64,T:___syscall_fstat64,A:___syscall_ftruncate64,z:___syscall_getdents64,U:___syscall_ioctl,Q:___syscall_lstat64,M:___syscall_mkdirat,R:___syscall_newfstatat,v:___syscall_openat,x:___syscall_rmdir,S:___syscall_stat64,y:___syscall_unlinkat,V:__abort_js,W:__embind_create_inheriting_constructor,p:__embind_finalize_value_object,s:__embind_register_bigint,F:__embind_register_bool,f:__embind_register_class,w:__embind_register_class_class_function,m:__embind_register_class_constructor,c:__embind_register_class_function,D:__embind_register_emval,r:__embind_register_float,d:__embind_register_integer,n:__embind_register_iterable,b:__embind_register_memory_view,o:__embind_register_optional,E:__embind_register_std_string,k:__embind_register_std_wstring,L:__embind_register_value_object,q:__embind_register_value_object_field,G:__embind_register_void,g:__emval_create_invoker,h:__emval_decref,j:__emval_invoke,e:__emval_run_destructors,J:__mmap_js,K:__munmap_js,H:__tzset_js,B:_clock_time_get,I:_emscripten_resize_heap,O:_environ_get,P:_environ_sizes_get,i:_fd_close,t:_fd_read,N:_fd_seek,u:_fd_write};function run(){if(runDependencies>0){dependenciesFulfilled=run;return}preRun();if(runDependencies>0){dependenciesFulfilled=run;return}function doRun(){Module["calledRun"]=true;if(ABORT)return;initRuntime();readyPromiseResolve?.(Module);Module["onRuntimeInitialized"]?.();postRun()}if(Module["setStatus"]){Module["setStatus"]("Running...");setTimeout(()=>{setTimeout(()=>Module["setStatus"](""),1);doRun()},1)}else{doRun()}}var wasmExports;wasmExports=await (createWasm());run();if(runtimeInitialized){moduleRtn=Module}else{moduleRtn=new Promise((resolve,reject)=>{readyPromiseResolve=resolve;readyPromiseReject=reject})}
;return moduleRtn}export default Module;
diff --git a/src/third_party/libpresage/libpresage.wasm b/src/third_party/libpresage/libpresage.wasm
index f4d51200..04466ea9 100755
Binary files a/src/third_party/libpresage/libpresage.wasm and b/src/third_party/libpresage/libpresage.wasm differ